Index: ZJL_3X_OnlyBLE/format/app_mouse.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/app_mouse.format	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/app_mouse.format	(working copy)
@@ -174,7 +174,7 @@
 //-------------- patch variable ------------------
 2 mem_le_rx_window_inc
 1 mem_empty_count
-15 mem_rf_init_data_new
+13 mem_rf_init_data_new
 
 1 mem_mouse_clear_sensor_data_flag
 1 mem_mouse_null_enter_hibernate_flag
@@ -184,6 +184,7 @@
 33 mem_mouse_data_queue
 1 mem_mouse_data_queue_num
 
+2 mem_random_addr_increase_count
 1 mem_mouse_le_conn_param_reject
 1 mem_lpm_mult_init
 64 mem_mouse_le_uuid_sup
@@ -203,9 +204,6 @@
 646 mem_mouse_uuid_list
 1 mem_lmi_opcode_temp
 
-1 mem_mouse_button_select_device_timer_init
-1 mem_mouse_button_select_device_count
-
 1 mem_mouse_adc_last_low_voltage_flag
 1 mem_mouse_init_sensor_reset_flag
 
@@ -224,27 +222,29 @@
 2 mem_mouse_x_pre
 2 mem_mouse_y_pre
 
-20 mem_le_adv_swift_pair
+19 mem_le_adv_swift_pair
+
+1 mem_24g_sw_gpio
 
 1 mem_mouse_multi_led_blink_enable
 1 mem_mouse_multi_led_gpio
 1 mem_mouse_multi_led_state
 1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer
 1 mem_mouse_multi_led_on_timer_init
 1 mem_mouse_multi_led_blink_timer_init
 1 mem_mouse_multi_led_blink_timer
 1 mem_mouse_multi_led_blink_count
-1 mem_mouse_multi_led_on_timer
 1 mem_mouse_multi_led_blink_count_limited
 1 mem_mouse_multi_led_on_poweron2s_flag
-1 mem_mouse_multi_led_blink_poweron3s_flag
 
+1 mem_discovery_on_flag
+1 mem_bt_ui_button_timeout
+1 mem_bt_ui_button_count
 1 mem_mouse_priority_bb_event
 2 mem_mouse_le_parse_l2cap_ptr
 1 mem_low_power_no_data_off_led_time
-1 mem_low_power_check_count
 1 mem_low_power_led_blink_flag
-
 0 mem_mouse_3065xy_dpi_seting
 1 mem_3065xy_dpi_1
 1 mem_3065xy_dpi_2
@@ -255,17 +255,43 @@
 1 mem_le_att_pnp_id_len
 7 mem_le_att_pnp_id
 
-//no motion pin
-1 mem_mouse_long_mult_flag
-1 mem_mouse_le_current_mult_timer
-1 mem_24g_long_sleep_param_update_timer
-
 //flash
 1 mem_flash_ncs_gpio
 1 mem_select_ui_button_count
+
+1 mem_mouse_g24_led_timer
+1 mem_mouse_bt_ble_poweron_led_timer
+1 mem_mouse_bt_ble_led_timer
+1 mem_device_blink_led_state
+1 mem_24g_device_led_status
+
+1 mem_device_24g_led_gpio
+1 mem_device_bt_led_gpio
+
 4 mem_write_flash_head_temp
 1 mem_mouse_poweron_led_timer
-6 mem_mouse_24g_addr_init
+4 mem_mouse_24g_addr_init
+1 mem_mouse_bt_reconnect_flag
+1 mem_retry_count
+1 mem_24g_attempt_count
+1 mem_bt_125hz_cnt
+2 mem_mouse_no_data_led_timeout
+1 mem_mouse_dpi_blink_count
+1 mem_mouse_discovery_blink_count
+1 mem_mouse_24g_pair_timer
+
+2 mem_mouse_vdd_0v
+1 mem_select_device_button_press_flag
+1 mem_mouse_fast_conn_flag
+3 mem_le_adv_ind
+3 mem_le_adv_direct_ind
+
+1 mem_mouse_le_bb_connected_flag
+1 mem_mouse_le_fast_conn_enable_timer
+//no motion pin
+1 mem_mouse_long_mult_flag
+1 mem_mouse_current_mult_timer
+1 mem_24g_long_sleep_param_update_timer
 
 //zcode
 1 mem_zcode_current_number
@@ -273,53 +299,6 @@
 3 mem_flash_start_addr
 3 mem_flash_address
 4 mem_zcode_head
-
-1 mem_mouse_select_device_button_wakeup_flag
-1 mem_mouse_le_updata_not_accepted_flag
-
-
-//fast le conn
-6 mem_le_normal_lap
-1 mem_le_switch_adv_flag
-1 mem_le_switch_adv_timer
-1 mem_le_switch_adv_count
-1 mem_mouse_start_discovery_enable
-1 mem_mouse_le_adv_start
-
-1 mem_mouse_send_secutiry_request_timer
-1 mem_le_send_security_request_flag
-1 mem_mouse_le_bb_connected_flag
-
-
-//user flash data
-0 mem_mouse_flash_start_temp
-2 mem_random_addr_increase_count
-1 mem_mouse_long_button_select_device
-2 mem_eeprom_init_flag
-1 mem_mouse_fast_conn_flag
-1 mem_mouse_latest_mode
-0 mem_mouse_flash_end_temp
-
-1 mem_mouse_le_not_tx_disconn
-
-
-25 mem_sensor_8650_init
-13 mem_sensor_ka8_init
-9 mem_sensor_poweron_init
-
-2 mem_firmware_version
-2 mem_mouse_vdd_0v
-1 mem_select_device_button_press_flag
-
-1 mem_device_24g_led_gpio
-1 mem_device_bt_led_gpio
-1 mem_mouse_discovery_blink_count
-
-1 mem_24g_device_led_status
-1 mem_mouse_24g_pair_timer
-
-3 mem_le_lap_high_3B
-1 mem_mouse_le_fast_conn_enable_timer
 )
 
 (
@@ -352,8 +331,6 @@
 0x02 MODE_BT_DEVICE2
 0x03 MODE_BT_DEVICE3
 0x02 MODE_24G_DEVICE
-0xff MODE_DEFAULT_DEVICE
-
 //mouse  flag
 0X00 WRITE_REQ_ENABLE_FLAG
 0X01 LL_START_ENC_FLAG
@@ -418,7 +395,6 @@
 4 ENABLE_BT_BUTTON
 5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
 6 ENABLE_SELECT_DEVICE_BY_SWITCH
-7 ENABLE_SENSOR_MOTION_PIN
 
 0xFF GPIO_DISABLE
 
@@ -432,12 +408,10 @@
 0X00 MOUSE_INFO_EEPROM_OFFECT
 0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
 0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
-0x5F MOUSE_USER_DATA_OFFECT
 0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
 0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
 0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
-0X64 MOUSE_FAST_CONN_FLAG_OFFSET	//1byte
-0X65 MOUSE_LATEST_MODE_OFFSET	//1byte
+
 
 // Sensor id number
 0x30 P32XX_ID1
@@ -449,7 +423,6 @@
 0x54 PKA8_ID2
 0x70 P3065_XY_ID2
 0x5a MA8650_ID2
-0x5a P_MX8650
 
 
 //Sensor type
@@ -461,7 +434,7 @@
 0X05 P3610
 0X06 P3065_XY
 0X07 MA8650
-0x07 MX8650
+
 
 
 //p3610 smart enable flag
@@ -504,7 +477,7 @@
 )
 
 (
-6 TEST_GPIO
+4 TEST_GPIO
 )
 
 (
@@ -514,6 +487,10 @@
 12 LE_INTERVAL_15MS
 9 LE_INTERVAL_11_25MS//11.25ms
 7 LE_INTERVAL_8_75MS//8.75ms
+6 LE_INTERVAL_7_5MS//7.5ms
+12 CLASSIC_INTERVAL_7_5MS
+14 CLASSIC_INTERVAL_8_75MS
+18 CLASSIC_INTERVAL_11_25MS
 )
 
 (
@@ -534,21 +511,16 @@
 
 (
 0x017700 G24_LONG_SLEEP_STEP1	//8ms
-0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
-0x124f80 G24_LONG_SLEEP_STEP3	//100ms
+0x0ea600 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
 )
-
 (
-8 LOW_VOLTAGE_LED_COUNT
+//PB button state 
+0x00 PB_BUTTON_STATE_DOWN
+0x01 PB_BUTTON_STATE_UP
 )
 
 (
-0x0708 BLE_DIRECT_ADV_TIMEOUT
-0x0a BLE_POWERON_RECONN_TIMER
+0x02 MODE_G24_DEVICE
 )
 
-(
-//PB button state 
-0x00 PB_BUTTON_STATE_DOWN
-0x01 PB_BUTTON_STATE_UP
-)
\ No newline at end of file
Index: ZJL_3X_OnlyBLE/format/app_usb.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/app_usb.format	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/app_usb.format	(working copy)
@@ -184,9 +184,7 @@
 
 (
 0x01 BIND_ACKPAYLOAD
-0x08 BIND_ACKPAYLOAD_LENGTH
 0x02 USER_ACKPAYLOAD
-0x1F USER_ACKPAYLOAD_LENGTH
 
 0xcf CMD_OTA
 0xc0 CMD_OTA_START
Index: ZJL_3X_OnlyBLE/format/g24.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/g24.format	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/g24.format	(working copy)
@@ -126,19 +126,6 @@
 1 mem_24g_transmit_by_interrupt
 2 mem_24g_transmit_by_interrupt_exit_count
 2 mem_24g_transmit_by_interrupt_exit_count_init
-6 mem_24g_allpowerful_addr
-
-1 mem_24g_stop_g24_mode
-2 mem_24g_stop_g24_mode_timeout
-1 mem_24g_pair_current_ch_num
-1 mem_24g_powerful_current_ch_num
-
-1 mem_24g_search_dongle_action
-1 mem_24g_search_dongle_count
-1 mem_24g_search_dongle_ch
-1 mem_24g_search_dongle_wait
-
-1 mem_24g_conn_sm
 )
 
 (
@@ -311,12 +298,6 @@
 //6-7 channel offset
 )
 
-(
-0 STATE_24G_STOP
-0 STATE_24G_START
-1 STATE_24G_PAIR
-2 STATE_24G_RECONN
-)
 
 
 //mem_24g_pairing_sm
@@ -471,6 +452,7 @@
 (
 81000 G24_8125_INTERVAL_PARAM
 78000 G24_78125_INTERVAL_PARAM
+12210 G24_4MS_INTERVAL_PARAM
 )
 
 (
@@ -478,14 +460,3 @@
 0 G24_TX_TIMER_INT_DISABLE
 )
 
-(
-0 G24_DISCONN_STATE
-1 G24_CONN_STATE
-
-
-8 G24_CH_NUMBER
-16 G24_CH_POLL_COUNT
-0x0708 G24_DISCONN_NODATA_TIMER
-)
-
-
Index: ZJL_3X_OnlyBLE/format/utility.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/utility.format	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/format/utility.format	(working copy)
@@ -149,7 +149,6 @@
 2 mem_data_pre
 2 mem_data_current
 3 mem_data_sum
-1 mem_data_value
 
 //zcode
 1 mem_zcode_temp_param0	//zcode num
Index: ZJL_3X_OnlyBLE/output/bt_format.meta
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_format.meta	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_format.meta	(working copy)
@@ -1130,12 +1130,13 @@
 0x478c mem_le_rx_window_inc
 0x478e mem_empty_count
 0x478f mem_rf_init_data_new
-0x479e mem_mouse_clear_sensor_data_flag
-0x479f mem_mouse_null_enter_hibernate_flag
-0x47a0 mem_mouse_null_enter_hibernate_timer
-0x47a1 mem_mouse_le_reconnect_flag
-0x47a2 mem_mouse_data_queue
-0x47c3 mem_mouse_data_queue_num
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
 0x47c4 mem_mouse_le_conn_param_reject
 0x47c5 mem_lpm_mult_init
 0x47c6 mem_mouse_le_uuid_sup
@@ -1149,218 +1150,198 @@
 0x485b mem_le_tx_buffer3_omemalloc
 0x4876 mem_mouse_uuid_list
 0x4afc mem_lmi_opcode_temp
-0x4afd mem_mouse_button_select_device_timer_init
-0x4afe mem_mouse_button_select_device_count
-0x4aff mem_mouse_adc_last_low_voltage_flag
-0x4b00 mem_mouse_init_sensor_reset_flag
-0x4b01 mem_bt_rcvd_switch_req_accept
-0x4b02 mem_bt_send_max_slot_req_accept_after_switch
-0x4b03 mem_bt_send_lmp_setup_complete
-0x4b04 mem_l2cap_rcv
-0x4b05 mem_mouse_bt_boot_mode
-0x4b06 mem_mouse_bt_boot_data
-0x4b0b mem_mouse_bt_send_first_package_timer
-0x4b0c mem_mouse_bt_send_first_package_flag
-0x4b0d mem_mouse_asm_flag
-0x4b0e mem_mouse_x_pre
-0x4b10 mem_mouse_y_pre
-0x4b12 mem_le_adv_swift_pair
-0x4b26 mem_mouse_multi_led_blink_enable
-0x4b27 mem_mouse_multi_led_gpio
-0x4b28 mem_mouse_multi_led_state
-0x4b29 mem_mouse_multi_led_type
-0x4b2a mem_mouse_multi_led_on_timer_init
-0x4b2b mem_mouse_multi_led_blink_timer_init
-0x4b2c mem_mouse_multi_led_blink_timer
-0x4b2d mem_mouse_multi_led_blink_count
-0x4b2e mem_mouse_multi_led_on_timer
-0x4b2f mem_mouse_multi_led_blink_count_limited
-0x4b30 mem_mouse_multi_led_on_poweron2s_flag
-0x4b31 mem_mouse_multi_led_blink_poweron3s_flag
+0x4afd mem_mouse_adc_last_low_voltage_flag
+0x4afe mem_mouse_init_sensor_reset_flag
+0x4aff mem_bt_rcvd_switch_req_accept
+0x4b00 mem_bt_send_max_slot_req_accept_after_switch
+0x4b01 mem_bt_send_lmp_setup_complete
+0x4b02 mem_l2cap_rcv
+0x4b03 mem_mouse_bt_boot_mode
+0x4b04 mem_mouse_bt_boot_data
+0x4b09 mem_mouse_bt_send_first_package_timer
+0x4b0a mem_mouse_bt_send_first_package_flag
+0x4b0b mem_mouse_asm_flag
+0x4b0c mem_mouse_x_pre
+0x4b0e mem_mouse_y_pre
+0x4b10 mem_le_adv_swift_pair
+0x4b23 mem_24g_sw_gpio
+0x4b24 mem_mouse_multi_led_blink_enable
+0x4b25 mem_mouse_multi_led_gpio
+0x4b26 mem_mouse_multi_led_state
+0x4b27 mem_mouse_multi_led_type
+0x4b28 mem_mouse_multi_led_on_timer
+0x4b29 mem_mouse_multi_led_on_timer_init
+0x4b2a mem_mouse_multi_led_blink_timer_init
+0x4b2b mem_mouse_multi_led_blink_timer
+0x4b2c mem_mouse_multi_led_blink_count
+0x4b2d mem_mouse_multi_led_blink_count_limited
+0x4b2e mem_mouse_multi_led_on_poweron2s_flag
+0x4b2f mem_discovery_on_flag
+0x4b30 mem_bt_ui_button_timeout
+0x4b31 mem_bt_ui_button_count
 0x4b32 mem_mouse_priority_bb_event
 0x4b33 mem_mouse_le_parse_l2cap_ptr
 0x4b35 mem_low_power_no_data_off_led_time
-0x4b36 mem_low_power_check_count
-0x4b37 mem_low_power_led_blink_flag
-0x4b38 mem_mouse_3065xy_dpi_seting
-0x4b38 mem_3065xy_dpi_1
-0x4b39 mem_3065xy_dpi_2
-0x4b3a mem_3065xy_dpi_3
-0x4b3b mem_3065xy_dpi_4
-0x4b3c mem_le_att_pnp_id_len
-0x4b3d mem_le_att_pnp_id
-0x4b44 mem_mouse_long_mult_flag
-0x4b45 mem_mouse_le_current_mult_timer
-0x4b46 mem_24g_long_sleep_param_update_timer
-0x4b47 mem_flash_ncs_gpio
-0x4b48 mem_select_ui_button_count
-0x4b49 mem_write_flash_head_temp
-0x4b4d mem_mouse_poweron_led_timer
-0x4b4e mem_mouse_24g_addr_init
-0x4b54 mem_zcode_current_number
-0x4b55 mem_xip_flash_offset
-0x4b58 mem_flash_start_addr
-0x4b5b mem_flash_address
-0x4b5e mem_zcode_head
-0x4b62 mem_mouse_select_device_button_wakeup_flag
-0x4b63 mem_mouse_le_updata_not_accepted_flag
-0x4b64 mem_le_normal_lap
-0x4b6a mem_le_switch_adv_flag
-0x4b6b mem_le_switch_adv_timer
-0x4b6c mem_le_switch_adv_count
-0x4b6d mem_mouse_start_discovery_enable
-0x4b6e mem_mouse_le_adv_start
-0x4b6f mem_mouse_send_secutiry_request_timer
-0x4b70 mem_le_send_security_request_flag
-0x4b71 mem_mouse_le_bb_connected_flag
-0x4b72 mem_mouse_flash_start_temp
-0x4b72 mem_random_addr_increase_count
-0x4b74 mem_mouse_long_button_select_device
-0x4b75 mem_eeprom_init_flag
-0x4b77 mem_mouse_fast_conn_flag
-0x4b78 mem_mouse_latest_mode
-0x4b79 mem_mouse_flash_end_temp
-0x4b79 mem_mouse_le_not_tx_disconn
-0x4b7a mem_sensor_8650_init
-0x4b93 mem_sensor_ka8_init
-0x4ba0 mem_sensor_poweron_init
-0x4ba9 mem_firmware_version
-0x4bab mem_mouse_vdd_0v
-0x4bad mem_select_device_button_press_flag
-0x4bae mem_device_24g_led_gpio
-0x4baf mem_device_bt_led_gpio
-0x4bb0 mem_mouse_discovery_blink_count
-0x4bb1 mem_24g_device_led_status
-0x4bb2 mem_mouse_24g_pair_timer
-0x4bb3 mem_le_lap_high_3B
-0x4bb6 mem_mouse_le_fast_conn_enable_timer
-0x4bb7 mem_24g_rxbuf
-0x4bd9 mem_24g_txbuf
-0x4bf9 mem_24g_txpayload
-0x4c1b mem_24g_rxpayload
-0x4c3b mem_24g_rxdata_length
-0x4c3c mem_24g_pid
-0x4c3d mem_24g_datalen
-0x4c3e mem_24g_data_type
-0x4c3f mem_24g_txlen
-0x4c40 mem_24g_rx_window
-0x4c42 mem_24g_ensure
-0x4c43 mem_24g_txfail_cnt
-0x4c45 mem_24g_get_ack_fail
-0x4c46 mem_24g_retry
-0x4c47 mem_24g_ch
-0x4c48 mem_24g_current_ch_number
-0x4c49 mem_24g_paring_addr
-0x4c4d mem_24g_pairing_sm
-0x4c4e mem_24g_ch_map1
-0x4c52 mem_24g_ch_map2
-0x4c56 mem_24g_ch_map3
-0x4c5a mem_24g_ch_map4
-0x4c5e mem_24g_tx_btclk
-0x4c62 mem_24g_interval
-0x4c63 mem_24g_interval_min
-0x4c64 mem_24g_interval_max
-0x4c65 mem_24g_addr
-0x4c69 mem_24g_abort_pac
-0x4c6a mem_24g_check_dongle_times
-0x4c6c mem_24g_enter_hibernate
-0x4c74 mem_24g_device_addr
-0x4c78 mem_24g_pac_index
-0x4c79 mem_24g_no_ack
-0x4c7a mem_24g_sta_crc
-0x4c7d mem_24g_last_crc
-0x4c80 mem_24g_sta_pid
-0x4c81 mem_24g_last_pid
-0x4c82 mem_24g_max_retry
-0x4c83 mem_24g_mode
-0x4c84 mem_24g_rxdata_temp
-0x4ca6 mem_24g_rx_addr
-0x4caa mem_dongle_mode_init
-0x4cab mem_dongle_work_mode
-0x4cac mem_dongle_ms_bind_step
-0x4cad mem_dongle_kb_bind_step
-0x4cae mem_dongle_bind_device_status
-0x4caf mem_24g_bind_payload
-0x4cb7 mem_24g_abort_packet
-0x4cb8 mem_24g_rf_laststa
-0x4cb9 mem_24g_hop_btclk
-0x4cbd mem_24g_hop_interval
-0x4cbe mem_24g_mode_switch
-0x4cbf mem_24g_ackpayload_enable
-0x4cc0 mem_24g_hop_packet
-0x4cc1 mem_24g_pair_mode
-0x4cc2 mem_24g_nodata_timer_enable
-0x4cc3 mem_24g_time_slice
-0x4cc4 mem_24g_kb_data_sta_data
-0x4ccc mem_24g_kb_data_last_data
-0x4cd4 mem_24g_kb_multikey_sta_data
-0x4cd7 mem_24g_kb_multikey_last_data
-0x4cda mem_24g_kb_blank_data_enable
-0x4cdb mem_24g_kb_mul_blank_data_enable
-0x4cdc mem_24g_ms_blank_data_enable
-0x4cdd mem_24g_kb_addr
-0x4ce1 mem_24g_ms_addr
-0x4ce5 mem_24g_dg_last_ch
-0x4ce6 mem_24g_dg_ch_number
-0x4ce7 mem_24g_dg_config_ch_once
-0x4ce8 mem_24g_kb_last_ch
-0x4ce9 mem_24g_kb_ch_number
-0x4cea mem_24g_kb_config_ch_once
-0x4ceb mem_24g_ms_last_ch
-0x4cec mem_24g_ms_ch_number
-0x4ced mem_24g_ms_config_ch_once
-0x4cee mem_24g_syncword
-0x4cf0 mem_24g_syncword_crc8
-0x4cf1 mem_24g_get_syncword_crc8
-0x4cf2 mem_24g_ota_sta_pid
-0x4cf4 mem_tx_power_temp
-0x4cf5 mem_rssi_hex
-0x4cf6 mem_rssi_noise_avg
-0x4cf7 mem_rssi_noise_index
-0x4cf8 mem_rssi_signal_index
-0x4cf9 mem_rssi_noise_dg_avg
-0x4cfa mem_rssi_noise_kb_avg
-0x4cfb mem_rssi_noise_ms_avg
-0x4cfc mem_rssi_noise_dg_index
-0x4cfd mem_rssi_noise_kb_index
-0x4cfe mem_rssi_noise_ms_index
-0x4cff mem_rssi_signal_buf
-0x4d07 mem_queue_ele_num
-0x4d08 mem_queue_read
-0x4d0a mem_queue_write
-0x4d0c mem_queue_start
-0x4d0c mem_data_ele0
-0x4d2c mem_data_ele1
-0x4d4c mem_data_ele2
-0x4d6c mem_queue_end
-0x4d6c mem_queue_temp
-0x4d6e mem_cb_24g_data
-0x4d70 mem_24g_hop_fastly_cnt
-0x4d71 mem_24g_hop_pac_retry
-0x4d72 mem_24g_rf_hop_ch
-0x4d73 mem_24g_rf_last_sta
-0x4d74 mem_24g_rf_work_stage
-0x4d75 mem_24g_sync_cnt
-0x4d76 mem_power_ctrl_pac_succ_cnt
-0x4d77 mem_rssi_avg_received
-0x4d78 mem_rssi_hex_received
-0x4d79 mem_power_ctrl_level
-0x4d7a mem_seqi
-0x4d7b mem_24g_auto_paring_switch
-0x4d7c mem_24g_paccnt
-0x4d7d mem_24g_transmit_by_interrupt
-0x4d7e mem_24g_transmit_by_interrupt_exit_count
-0x4d80 mem_24g_transmit_by_interrupt_exit_count_init
-0x4d82 mem_24g_allpowerful_addr
-0x4d88 mem_24g_stop_g24_mode
-0x4d89 mem_24g_stop_g24_mode_timeout
-0x4d8b mem_24g_pair_current_ch_num
-0x4d8c mem_24g_powerful_current_ch_num
-0x4d8d mem_24g_search_dongle_action
-0x4d8e mem_24g_search_dongle_count
-0x4d8f mem_24g_search_dongle_ch
-0x4d90 mem_24g_search_dongle_wait
-0x4d91 mem_24g_conn_sm
+0x4b36 mem_low_power_led_blink_flag
+0x4b37 mem_mouse_3065xy_dpi_seting
+0x4b37 mem_3065xy_dpi_1
+0x4b38 mem_3065xy_dpi_2
+0x4b39 mem_3065xy_dpi_3
+0x4b3a mem_3065xy_dpi_4
+0x4b3b mem_le_att_pnp_id_len
+0x4b3c mem_le_att_pnp_id
+0x4b43 mem_flash_ncs_gpio
+0x4b44 mem_select_ui_button_count
+0x4b45 mem_mouse_g24_led_timer
+0x4b46 mem_mouse_bt_ble_poweron_led_timer
+0x4b47 mem_mouse_bt_ble_led_timer
+0x4b48 mem_device_blink_led_state
+0x4b49 mem_24g_device_led_status
+0x4b4a mem_device_24g_led_gpio
+0x4b4b mem_device_bt_led_gpio
+0x4b4c mem_write_flash_head_temp
+0x4b50 mem_mouse_poweron_led_timer
+0x4b51 mem_mouse_24g_addr_init
+0x4b55 mem_mouse_bt_reconnect_flag
+0x4b56 mem_retry_count
+0x4b57 mem_24g_attempt_count
+0x4b58 mem_bt_125hz_cnt
+0x4b59 mem_mouse_no_data_led_timeout
+0x4b5b mem_mouse_dpi_blink_count
+0x4b5c mem_mouse_discovery_blink_count
+0x4b5d mem_mouse_24g_pair_timer
+0x4b5e mem_mouse_vdd_0v
+0x4b60 mem_select_device_button_press_flag
+0x4b61 mem_mouse_fast_conn_flag
+0x4b62 mem_le_adv_ind
+0x4b65 mem_le_adv_direct_ind
+0x4b68 mem_mouse_le_bb_connected_flag
+0x4b69 mem_mouse_le_fast_conn_enable_timer
+0x4b6a mem_mouse_long_mult_flag
+0x4b6b mem_mouse_current_mult_timer
+0x4b6c mem_24g_long_sleep_param_update_timer
+0x4b6d mem_zcode_current_number
+0x4b6e mem_xip_flash_offset
+0x4b71 mem_flash_start_addr
+0x4b74 mem_flash_address
+0x4b77 mem_zcode_head
+0x4b7b mem_24g_rxbuf
+0x4b9d mem_24g_txbuf
+0x4bbd mem_24g_txpayload
+0x4bdf mem_24g_rxpayload
+0x4bff mem_24g_rxdata_length
+0x4c00 mem_24g_pid
+0x4c01 mem_24g_datalen
+0x4c02 mem_24g_data_type
+0x4c03 mem_24g_txlen
+0x4c04 mem_24g_rx_window
+0x4c06 mem_24g_ensure
+0x4c07 mem_24g_txfail_cnt
+0x4c09 mem_24g_get_ack_fail
+0x4c0a mem_24g_retry
+0x4c0b mem_24g_ch
+0x4c0c mem_24g_current_ch_number
+0x4c0d mem_24g_paring_addr
+0x4c11 mem_24g_pairing_sm
+0x4c12 mem_24g_ch_map1
+0x4c16 mem_24g_ch_map2
+0x4c1a mem_24g_ch_map3
+0x4c1e mem_24g_ch_map4
+0x4c22 mem_24g_tx_btclk
+0x4c26 mem_24g_interval
+0x4c27 mem_24g_interval_min
+0x4c28 mem_24g_interval_max
+0x4c29 mem_24g_addr
+0x4c2d mem_24g_abort_pac
+0x4c2e mem_24g_check_dongle_times
+0x4c30 mem_24g_enter_hibernate
+0x4c38 mem_24g_device_addr
+0x4c3c mem_24g_pac_index
+0x4c3d mem_24g_no_ack
+0x4c3e mem_24g_sta_crc
+0x4c41 mem_24g_last_crc
+0x4c44 mem_24g_sta_pid
+0x4c45 mem_24g_last_pid
+0x4c46 mem_24g_max_retry
+0x4c47 mem_24g_mode
+0x4c48 mem_24g_rxdata_temp
+0x4c6a mem_24g_rx_addr
+0x4c6e mem_dongle_mode_init
+0x4c6f mem_dongle_work_mode
+0x4c70 mem_dongle_ms_bind_step
+0x4c71 mem_dongle_kb_bind_step
+0x4c72 mem_dongle_bind_device_status
+0x4c73 mem_24g_bind_payload
+0x4c7b mem_24g_abort_packet
+0x4c7c mem_24g_rf_laststa
+0x4c7d mem_24g_hop_btclk
+0x4c81 mem_24g_hop_interval
+0x4c82 mem_24g_mode_switch
+0x4c83 mem_24g_ackpayload_enable
+0x4c84 mem_24g_hop_packet
+0x4c85 mem_24g_pair_mode
+0x4c86 mem_24g_nodata_timer_enable
+0x4c87 mem_24g_time_slice
+0x4c88 mem_24g_kb_data_sta_data
+0x4c90 mem_24g_kb_data_last_data
+0x4c98 mem_24g_kb_multikey_sta_data
+0x4c9b mem_24g_kb_multikey_last_data
+0x4c9e mem_24g_kb_blank_data_enable
+0x4c9f mem_24g_kb_mul_blank_data_enable
+0x4ca0 mem_24g_ms_blank_data_enable
+0x4ca1 mem_24g_kb_addr
+0x4ca5 mem_24g_ms_addr
+0x4ca9 mem_24g_dg_last_ch
+0x4caa mem_24g_dg_ch_number
+0x4cab mem_24g_dg_config_ch_once
+0x4cac mem_24g_kb_last_ch
+0x4cad mem_24g_kb_ch_number
+0x4cae mem_24g_kb_config_ch_once
+0x4caf mem_24g_ms_last_ch
+0x4cb0 mem_24g_ms_ch_number
+0x4cb1 mem_24g_ms_config_ch_once
+0x4cb2 mem_24g_syncword
+0x4cb4 mem_24g_syncword_crc8
+0x4cb5 mem_24g_get_syncword_crc8
+0x4cb6 mem_24g_ota_sta_pid
+0x4cb8 mem_tx_power_temp
+0x4cb9 mem_rssi_hex
+0x4cba mem_rssi_noise_avg
+0x4cbb mem_rssi_noise_index
+0x4cbc mem_rssi_signal_index
+0x4cbd mem_rssi_noise_dg_avg
+0x4cbe mem_rssi_noise_kb_avg
+0x4cbf mem_rssi_noise_ms_avg
+0x4cc0 mem_rssi_noise_dg_index
+0x4cc1 mem_rssi_noise_kb_index
+0x4cc2 mem_rssi_noise_ms_index
+0x4cc3 mem_rssi_signal_buf
+0x4ccb mem_queue_ele_num
+0x4ccc mem_queue_read
+0x4cce mem_queue_write
+0x4cd0 mem_queue_start
+0x4cd0 mem_data_ele0
+0x4cf0 mem_data_ele1
+0x4d10 mem_data_ele2
+0x4d30 mem_queue_end
+0x4d30 mem_queue_temp
+0x4d32 mem_cb_24g_data
+0x4d34 mem_24g_hop_fastly_cnt
+0x4d35 mem_24g_hop_pac_retry
+0x4d36 mem_24g_rf_hop_ch
+0x4d37 mem_24g_rf_last_sta
+0x4d38 mem_24g_rf_work_stage
+0x4d39 mem_24g_sync_cnt
+0x4d3a mem_power_ctrl_pac_succ_cnt
+0x4d3b mem_rssi_avg_received
+0x4d3c mem_rssi_hex_received
+0x4d3d mem_power_ctrl_level
+0x4d3e mem_seqi
+0x4d3f mem_24g_auto_paring_switch
+0x4d40 mem_24g_paccnt
+0x4d41 mem_24g_transmit_by_interrupt
+0x4d42 mem_24g_transmit_by_interrupt_exit_count
+0x4d44 mem_24g_transmit_by_interrupt_exit_count_init
 
 	width = 32
 	const length = 12000
@@ -2714,8 +2695,6 @@
 0x02 MODE_BT_DEVICE2
 0x03 MODE_BT_DEVICE3
 0x02 MODE_24G_DEVICE
-0xff MODE_DEFAULT_DEVICE
-
 //mouse  flag
 0X00 WRITE_REQ_ENABLE_FLAG
 0X01 LL_START_ENC_FLAG
@@ -2780,7 +2759,6 @@
 4 ENABLE_BT_BUTTON
 5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
 6 ENABLE_SELECT_DEVICE_BY_SWITCH
-7 ENABLE_SENSOR_MOTION_PIN
 
 0xFF GPIO_DISABLE
 
@@ -2794,12 +2772,10 @@
 0X00 MOUSE_INFO_EEPROM_OFFECT
 0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
 0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
-0x5F MOUSE_USER_DATA_OFFECT
 0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
 0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
 0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
-0X64 MOUSE_FAST_CONN_FLAG_OFFSET	//1byte
-0X65 MOUSE_LATEST_MODE_OFFSET	//1byte
+
 
 // Sensor id number
 0x30 P32XX_ID1
@@ -2811,7 +2787,6 @@
 0x54 PKA8_ID2
 0x70 P3065_XY_ID2
 0x5a MA8650_ID2
-0x5a P_MX8650
 
 
 //Sensor type
@@ -2823,7 +2798,7 @@
 0X05 P3610
 0X06 P3065_XY
 0X07 MA8650
-0x07 MX8650
+
 
 
 //p3610 smart enable flag
@@ -2866,7 +2841,7 @@
 )
 
 (
-6 TEST_GPIO
+4 TEST_GPIO
 )
 
 (
@@ -2876,6 +2851,10 @@
 12 LE_INTERVAL_15MS
 9 LE_INTERVAL_11_25MS//11.25ms
 7 LE_INTERVAL_8_75MS//8.75ms
+6 LE_INTERVAL_7_5MS//7.5ms
+12 CLASSIC_INTERVAL_7_5MS
+14 CLASSIC_INTERVAL_8_75MS
+18 CLASSIC_INTERVAL_11_25MS
 )
 
 (
@@ -2896,24 +2875,20 @@
 
 (
 0x017700 G24_LONG_SLEEP_STEP1	//8ms
-0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
-0x124f80 G24_LONG_SLEEP_STEP3	//100ms
+0x0ea600 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
 )
-
 (
-8 LOW_VOLTAGE_LED_COUNT
+//PB button state 
+0x00 PB_BUTTON_STATE_DOWN
+0x01 PB_BUTTON_STATE_UP
 )
 
 (
-0x0708 BLE_DIRECT_ADV_TIMEOUT
-0x0a BLE_POWERON_RECONN_TIMER
+0x02 MODE_G24_DEVICE
 )
 
-(
-//PB button state 
-0x00 PB_BUTTON_STATE_DOWN
-0x01 PB_BUTTON_STATE_UP
-)
+
 
 
 (
@@ -3231,9 +3206,7 @@
 
 (
 0x01 BIND_ACKPAYLOAD
-0x08 BIND_ACKPAYLOAD_LENGTH
 0x02 USER_ACKPAYLOAD
-0x1F USER_ACKPAYLOAD_LENGTH
 
 0xcf CMD_OTA
 0xc0 CMD_OTA_START
@@ -3422,12 +3395,6 @@
 //6-7 channel offset
 )
 
-(
-0 STATE_24G_STOP
-0 STATE_24G_START
-1 STATE_24G_PAIR
-2 STATE_24G_RECONN
-)
 
 
 //mem_24g_pairing_sm
@@ -3582,6 +3549,7 @@
 (
 81000 G24_8125_INTERVAL_PARAM
 78000 G24_78125_INTERVAL_PARAM
+12210 G24_4MS_INTERVAL_PARAM
 )
 
 (
@@ -3589,17 +3557,6 @@
 0 G24_TX_TIMER_INT_DISABLE
 )
 
-(
-0 G24_DISCONN_STATE
-1 G24_CONN_STATE
-
-
-8 G24_CH_NUMBER
-16 G24_CH_POLL_COUNT
-0x0708 G24_DISCONN_NODATA_TIMER
-)
-
-
 
 
 0x022d mem_h5rx_ackcnt
@@ -7399,10 +7356,9 @@
 0x11be mem_data_pre
 0x11c0 mem_data_current
 0x11c2 mem_data_sum
-0x11c5 mem_data_value
-0x11c6 mem_zcode_temp_param0//zcode num
-0x11c7 mem_zcode_temp_param1//patch ram func addr
-0x11c9 mem_zcode_temp_param2//patch ram func addr
+0x11c5 mem_zcode_temp_param0//zcode num
+0x11c6 mem_zcode_temp_param1//patch ram func addr
+0x11c8 mem_zcode_temp_param2//patch ram func addr
 
 
 (
Index: ZJL_3X_OnlyBLE/output/bt_program23.icode
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.icode	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.icode	(working copy)
@@ -1,26524 +1,27114 @@
- 00000000  0x00000044 branch  0x00000040 
- 00000001  0x0000004b call  0x0000019d 
- 00000002  0x0000004c fetch  0x00000001 , 0x000041de 
- 00000003  0x0000004d store  0x00000001 , 0x00004cf4 
- 00000004  0x0000004e call  0x00000560 
- 00000005  0x0000004f fetch  0x00000001 , 0x00004685 
- 00000006  0x00000050 store  0x00000001 , 0x00004b48 
- 00000007  0x00000051 call  0x00000290 
- 00000008  0x00000052 call  0x0000012d 
- 00000009  0x00000053 call  0x000005f1 
- 00000010  0x00000054 call  0x00000012 
- 00000011  0x00000055 call  0x00000023 
- 00000012  0x00000057 call  0x00005810 
- 00000013  0x00000058 call  0x00005839 
- 00000014  0x00000059 call  0x0000582c 
- 00000015  0x0000005a call  0x00005818 
- 00000016  0x0000005b call  0x00003e1e 
- 00000017  0x0000005c branch  0x00000102 
- 00000018  0x0000005f setarg  0x00000189 
- 00000019  0x00000060 store  0x00000002 , 0x000041ef 
- 00000020  0x00000061 setarg  0x0000049b 
- 00000021  0x00000062 store  0x00000002 , 0x000041f9 
- 00000022  0x00000063 setarg  0x000001bd 
- 00000023  0x00000064 store  0x00000002 , 0x000041f1 
- 00000024  0x00000065 setarg  0x000000bd 
- 00000025  0x00000066 store  0x00000002 , 0x000041ed 
- 00000026  0x00000067 setarg  0x000001f5 
- 00000027  0x00000068 store  0x00000002 , 0x000041f5 
- 00000028  0x00000069 setarg  0x000001e2 
- 00000029  0x0000006a store  0x00000002 , 0x000041f3 
- 00000030  0x0000006b setarg  0x00000228 
- 00000031  0x0000006c store  0x00000002 , 0x000041eb 
- 00000032  0x0000006d setarg  0x00000235 
- 00000033  0x0000006e store  0x00000002 , 0x000041fd 
- 00000034  0x0000006f rtn 
- 00000035  0x00000072 setarg  0x00000019 
- 00000036  0x00000073 store  0x00000002 , 0x00004d80 
- 00000037  0x00000074 ncall  0x0000002f , 0x0000002b 
- 00000038  0x00000075 call  0x000000e6 
- 00000039  0x00000076 call  0x0000022e 
- 00000040  0x00000078 fetch  0x00000001 , 0x0000471f 
- 00000041  0x00000079 store  0x00000001 , 0x0000471e 
- 00000042  0x0000007a fetch  0x00000006 , 0x000044a0 
- 00000043  0x0000007b store  0x00000006 , 0x00004b64 
- 00000044  0x0000007c fetch  0x00000001 , 0x00004241 
- 00000045  0x0000007d rtnbit1  0x00000002 
- 00000046  0x0000007f branch  0x00000373 
- 00000047  0x00000082 setarg  0x00000177 
- 00000048  0x00000083 store  0x00000002 , 0x00004d80 
- 00000049  0x00000084 rtn 
- 00000050  0x00000086 nop  0x00000001 
- 00000051  0x00000087 nop  0x00000001 
- 00000052  0x00000088 nop  0x00000001 
- 00000053  0x00000089 nop  0x00000001 
- 00000054  0x0000008a nop  0x00000001 
- 00000055  0x0000008b nop  0x00000001 
- 00000056  0x0000008c nop  0x00000001 
- 00000057  0x0000008d nop  0x00000001 
- 00000058  0x0000008e nop  0x00000001 
- 00000059  0x0000008f nop  0x00000001 
- 00000060  0x00000090 nop  0x00000001 
- 00000061  0x00000091 nop  0x00000001 
- 00000062  0x00000092 nop  0x00000001 
- 00000063  0x00000093 nop  0x00000001 
- 00000064  0x00000097 bbit1  0x00000008 , 0x00000059 
- 00000065  0x00000099 beq  0x00000001 , 0x00000076 
- 00000066  0x0000009a beq  0x00000002 , 0x0000007f 
- 00000067  0x0000009b beq  0x00000085 , 0x000005c2 
- 00000068  0x0000009c beq  0x00000089 , 0x00000595 
- 00000069  0x0000009d beq  0x0000008a , 0x000005c4 
- 00000070  0x0000009e beq  0x0000001b , 0x000004b0 
- 00000071  0x0000009f beq  0x00000026 , 0x000004b2 
- 00000072  0x000000a0 beq  0x00000048 , 0x000004ce 
- 00000073  0x000000a1 beq  0x0000004a , 0x000004d0 
- 00000074  0x000000a2 beq  0x00000051 , 0x000004d9 
- 00000075  0x000000a3 beq  0x00000059 , 0x000004cc 
- 00000076  0x000000a4 beq  0x000000a7 , 0x000004de 
- 00000077  0x000000a5 beq  0x000000ad , 0x000004f4 
- 00000078  0x000000a6 beq  0x000000cb , 0x000033e4 
- 00000079  0x000000a7 beq  0x000000e9 , 0x00000505 
- 00000080  0x000000a8 beq  0x000000a1 , 0x00000088 
- 00000081  0x000000a9 beq  0x000000b1 , 0x0000008d 
- 00000082  0x000000aa beq  0x000000c4 , 0x000000ca 
- 00000083  0x000000ab beq  0x000000e3 , 0x00000375 
- 00000084  0x000000ac beq  0x000000e6 , 0x0000039d 
- 00000085  0x000000ad beq  0x000000ea , 0x000003da 
- 00000086  0x000000ae beq  0x000000eb , 0x000003e1 
- 00000087  0x000000af beq  0x000000ec , 0x000003e7 
- 00000088  0x000000b0 branch  0x00002a8e 
- 00000089  0x000000b2 beq  0x00000039 , 0x000003ea 
- 00000090  0x000000b3 beq  0x00000043 , 0x000003f2 
- 00000091  0x000000b4 beq  0x0000004a , 0x000003f8 
- 00000092  0x000000b5 beq  0x00000057 , 0x000003fb 
- 00000093  0x000000b6 beq  0x00000059 , 0x000003fd 
- 00000094  0x000000b7 beq  0x00000063 , 0x000003ff 
- 00000095  0x000000b8 beq  0x00000066 , 0x0000042f 
- 00000096  0x000000b9 beq  0x00000067 , 0x0000044e 
- 00000097  0x000000ba beq  0x0000006a , 0x00000486 
- 00000098  0x000000bb beq  0x00000077 , 0x00000491 
- 00000099  0x000000bc beq  0x000000fa , 0x00000548 
- 00000100  0x000000bd beq  0x00000005 , 0x00000507 
- 00000101  0x000000be beq  0x00000080 , 0x00000509 
- 00000102  0x000000bf beq  0x00000082 , 0x00000513 
- 00000103  0x000000c0 beq  0x00000088 , 0x00000524 
- 00000104  0x000000c1 beq  0x0000008c , 0x0000049d 
- 00000105  0x000000c2 beq  0x0000008d , 0x000004a9 
- 00000106  0x000000c3 beq  0x000000a0 , 0x0000031a 
- 00000107  0x000000c4 branch  0x00002a8e 
- 00000108  0x000000c8 copy  0x0000003f , 0x00000011 
- 00000109  0x000000c9 fetcht  0x00000001 , 0x00004cf8 
- 00000110  0x000000ca setarg  0x00004cff 
- 00000111  0x000000cb iadd  0x00000002 , 0x00000005 
- 00000112  0x000000cc copy  0x00000011 , 0x0000003f 
- 00000113  0x000000cd istore  0x00000001 , 0x00000005 
- 00000114  0x000000ce increase  0x00000001 , 0x00000002 
- 00000115  0x000000cf and_into  0x00000007 , 0x00000002 
- 00000116  0x000000d0 storet  0x00000001 , 0x00004cf8 
- 00000117  0x000000d1 rtn 
- 00000118  0x000000d5 arg  0x000009ae , 0x00000005 
- 00000119  0x000000d6 arg  0x0000000c , 0x00000039 
- 00000120  0x000000d7 call  0x00007ed4 
- 00000121  0x000000d8 call  0x00000177 
- 00000122  0x000000d9 call  0x00006a03 
- 00000123  0x000000da call  0x00005cf6 
- 00000124  0x000000db ncall  0x00002c65 , 0x0000002b 
- 00000125  0x000000dc call  0x00007ccd 
- 00000126  0x000000dd branch  0x0000200c 
- 00000127  0x000000e0 call  0x000032e3 , 0x0000002b 
- 00000128  0x000000e1 call  0x0000756a 
- 00000129  0x000000e2 call  0x00002b41 , 0x0000002b 
- 00000130  0x000000e4 call  0x000076dc 
- 00000131  0x000000e5 fetch  0x00000001 , 0x0000465a 
- 00000132  0x000000e6 branch  0x00002012 , 0x00000034 
- 00000133  0x000000e7 fetch  0x00000001 , 0x000045b1 
- 00000134  0x000000e8 branch  0x00000082 , 0x00000034 
- 00000135  0x000000e9 branch  0x00002012 
- 00000136  0x000000ec setarg  0x00000a06 
- 00000137  0x000000ed store  0x00000003 , 0x00004510 
- 00000138  0x000000ee setarg  0x00001d87 
- 00000139  0x000000ef store  0x00000002 , 0x00004513 
- 00000140  0x000000f0 branch  0x00002aa2 
- 00000141  0x000000f3 rtnmark1  0x00000026 
- 00000142  0x000000f4 fetch  0x00000001 , 0x00004b28 
- 00000143  0x000000f5 nbranch  0x00007fef , 0x00000034 
- 00000144  0x000000f6 fetch  0x00000001 , 0x00004b2d 
- 00000145  0x000000f7 nbranch  0x00007fef , 0x00000034 
- 00000146  0x000000f8 fetch  0x00000001 , 0x0000479e 
- 00000147  0x000000f9 branch  0x00007fef , 0x00000034 
- 00000148  0x000000fa fetch  0x00000001 , 0x000047c4 
- 00000149  0x000000fb beq  0x00000001 , 0x00007fef 
- 00000150  0x000000fc fetch  0x00000002 , 0x00004248 
- 00000151  0x000000fd nbranch  0x00007fef , 0x00000034 
- 00000152  0x000000fe fetch  0x00000001 , 0x00004806 
- 00000153  0x000000ff nbranch  0x00007fef , 0x00000034 
- 00000154  0x00000100 branch  0x00007ff1 
- 00000155  0x00000105 arg  0x00000000 , 0x00000002 
- 00000156  0x00000106 arg  0x00000008 , 0x00000039 
- 00000157  0x00000107 copy  0x00000011 , 0x00000006 
- 00000158  0x00000109 ifetch  0x00000001 , 0x00000006 
- 00000159  0x0000010a iadd  0x00000002 , 0x00000002 
- 00000160  0x0000010b loop  0x0000009e 
- 00000161  0x0000010c rshift3  0x00000002 , 0x0000003f 
- 00000162  0x0000010d copy  0x0000003f , 0x00000002 
- 00000163  0x0000010e rtnmark0  0x00000026 
- 00000164  0x00000110 div  0x0000003f , 0x0000000a 
- 00000165  0x00000111 call  0x00007f86 
- 00000166  0x00000112 quotient  0x0000003f 
- 00000167  0x00000113 lshift4  0x0000003f , 0x0000003f 
- 00000168  0x00000114 remainder  0x00000002 
- 00000169  0x00000115 ior  0x00000002 , 0x00000002 
- 00000170  0x00000116 rtn 
- 00000171  0x00000117 rtn 
- 00000172  0x0000011a call  0x000000c7 
- 00000173  0x0000011b call  0x000000c4 
- 00000174  0x0000011d call  0x00003ebf 
- 00000175  0x0000011e fetcht  0x00000001 , 0x00004b47 
- 00000176  0x0000011f call  0x00006825 
- 00000177  0x00000121 hfetch  0x00000004 , 0x00008070 
- 00000178  0x00000122 hfetcht  0x00000004 , 0x00008078 
- 00000179  0x00000123 ior  0x00000002 , 0x00000002 
- 00000180  0x00000124 invert  0x00000002 , 0x00000002 
- 00000181  0x00000125 hstoret  0x00000004 , 0x0000807c 
- 00000182  0x00000126 hfetch  0x00000001 , 0x0000807d 
- 00000183  0x00000127 set0  0x00000002 , 0x0000003f 
- 00000184  0x00000128 hstore  0x00000001 , 0x0000807d 
- 00000185  0x00000129 hfetch  0x00000001 , 0x0000807e 
- 00000186  0x0000012a set0  0x00000006 , 0x0000003f 
- 00000187  0x0000012b hstore  0x00000001 , 0x0000807e 
- 00000188  0x0000012c rtn 
- 00000189  0x0000012f rtnmark1  0x00000026 
- 00000190  0x00000130 call  0x0000016d 
- 00000191  0x00000131 call  0x000000ac 
- 00000192  0x00000132 fetch  0x00000001 , 0x00004040 
- 00000193  0x00000133 bbit0  0x00000000 , 0x000000c4 
- 00000194  0x00000134 fetch  0x00000001 , 0x000000a0 
- 00000195  0x00000135 nrtn  0x00000034 
- 00000196  0x00000137 setarg  0x00000000 
- 00000197  0x00000138 store  0x00000008 , 0x000000a1 
- 00000198  0x00000139 rtn 
- 00000199  0x0000013c fetch  0x00000001 , 0x00004b00 
- 00000200  0x0000013d rtn  0x00000034 
- 00000201  0x0000013e branch  0x00000375 
- 00000202  0x00000141 call  0x0000296c 
- 00000203  0x00000142 call  0x00003416 
- 00000204  0x00000143 call  0x000074b9 
- 00000205  0x00000144 branch  0x0000012d , 0x0000002b 
- 00000206  0x00000146 fetch  0x00000003 , 0x000044a3 
- 00000207  0x00000147 store  0x00000003 , 0x00004bb3 
- 00000208  0x00000148 call  0x00000001 
- 00000209  0x00000151 call  0x000000d7 
- 00000210  0x00000152 call  0x000002fa 
- 00000211  0x00000153 fetch  0x00000001 , 0x00004210 
- 00000212  0x00000154 beq  0x00000033 , 0x000000da 
- 00000213  0x00000155 beq  0x00000034 , 0x000000dd 
- 00000214  0x00000156 rtn 
- 00000215  0x0000015c fetch  0x00000001 , 0x00004cf4 
- 00000216  0x0000015d store  0x00000001 , 0x000041de 
- 00000217  0x0000015e rtn 
- 00000218  0x00000166 fetch  0x00000006 , 0x000041d0 
- 00000219  0x00000167 branch  0x000033eb , 0x00000034 
- 00000220  0x00000168 branch  0x00004274 
- 00000221  0x0000016b jam  0x00000012 , 0x000011c6 
- 00000222  0x0000016c branch  0x000005c7 
- 00000223  0x0000016f arg  0x00004370 , 0x00000011 
- 00000224  0x00000171 ifetch  0x00000001 , 0x00000011 
- 00000225  0x00000172 rtn  0x00000034 
- 00000226  0x00000173 iadd  0x00000006 , 0x00000011 
- 00000227  0x00000174 ifetch  0x00000001 , 0x00000006 
- 00000228  0x00000175 rtneq  0x00000001 
- 00000229  0x00000176 branch  0x000000e0 
- 00000230  0x00000180 call  0x0000012d 
- 00000231  0x00000181 call  0x000040c0 
- 00000232  0x00000183 call  0x000040d9 
- 00000233  0x00000184 beq  0x00000030 , 0x000000ee 
- 00000234  0x00000185 beq  0x00000031 , 0x000000fd 
- 00000235  0x00000186 call  0x000040d1 
- 00000236  0x00000187 nop  0x000003e8 
- 00000237  0x00000188 branch  0x000000e8 
- 00000238  0x0000018b call  0x0000036d 
- 00000239  0x0000018c fetch  0x00000001 , 0x000046de 
- 00000240  0x0000018d beq  0x0000005a , 0x000000f3 
- 00000241  0x0000018e beq  0x00000054 , 0x000000fb 
- 00000242  0x0000018f branch  0x000040e0 
- 00000243  0x00000192 jam  0x00000007 , 0x000046e0 
- 00000244  0x00000193 arg  0x00004b7a , 0x00000013 
- 00000245  0x00000195 ifetch  0x00000002 , 0x00000013 
- 00000246  0x00000196 rtneq  0x000000ff 
- 00000247  0x00000197 call  0x00006413 
- 00000248  0x00000198 nop  0x00002ee0 
- 00000249  0x00000199 increase  0x00000002 , 0x00000013 
- 00000250  0x0000019a branch  0x000000f5 
- 00000251  0x0000019d jam  0x00000002 , 0x000046e0 
- 00000252  0x0000019e rtn 
- 00000253  0x000001a3 call  0x0000036d 
- 00000254  0x000001a4 fetch  0x00000001 , 0x000046de 
- 00000255  0x000001a5 beq  0x00000070 , 0x000040e8 
- 00000256  0x000001a6 jam  0x00000001 , 0x000046e0 
- 00000257  0x000001a7 rtn 
- 00000258  0x000001aa jam  0x00000080 , 0x000011c6 
- 00000259  0x000001ab branch  0x000005c7 
- 00000260  0x000001b3 jam  0x00000040 , 0x00008086 
- 00000261  0x000001b4 jam  0x00000000 , 0x00008087 
- 00000262  0x000001b5 hfetch  0x00000001 , 0x00008081 
- 00000263  0x000001b6 set0  0x00000000 , 0x0000003f 
- 00000264  0x000001b7 set0  0x00000001 , 0x0000003f 
- 00000265  0x000001b8 set1  0x00000003 , 0x0000003f 
- 00000266  0x000001b9 set0  0x00000004 , 0x0000003f 
- 00000267  0x000001ba hstore  0x00000001 , 0x00008081 
- 00000268  0x000001bb setarg  0x00000000 
- 00000269  0x000001bc store  0x00000004 , 0x000001f5 
- 00000270  0x000001bd hfetch  0x00000001 , 0x0000807f 
- 00000271  0x000001be set0  0x00000000 , 0x0000003f 
- 00000272  0x000001bf hstore  0x00000001 , 0x0000807f 
- 00000273  0x000001c0 rtn 
- 00000274  0x000001c3 call  0x0000015d 
- 00000275  0x000001c4 call  0x00004423 
- 00000276  0x000001c5 fetch  0x00000002 , 0x00004778 
- 00000277  0x000001c6 arg  0x0000aa55 , 0x00000002 
- 00000278  0x000001c7 isub  0x00000002 , 0x0000003e 
- 00000279  0x000001c8 branch  0x0000014f , 0x00000005 
- 00000280  0x000001c9 storet  0x00000002 , 0x00004778 
- 00000281  0x000001ca call  0x0000441c 
- 00000282  0x000001cb fetch  0x00000001 , 0x000046e1 
- 00000283  0x000001cc store  0x00000001 , 0x0000477a 
- 00000284  0x000001cd fetch  0x00000004 , 0x00004b4e 
- 00000285  0x000001ce store  0x00000004 , 0x0000477b 
- 00000286  0x000001cf store  0x00000004 , 0x00004c65 
- 00000287  0x000001d1 call  0x0000015d 
- 00000288  0x000001d2 call  0x0000012f 
- 00000289  0x000001d3 call  0x00000146 
- 00000290  0x000001d4 call  0x0000013b 
- 00000291  0x000001d5 call  0x00000132 
- 00000292  0x000001d8 call  0x00000104 
- 00000293  0x000001d9 arg  0x00000007 , 0x00000002 
- 00000294  0x000001da arg  0x00004b72 , 0x00000011 
- 00000295  0x000001db arg  0x0000005f , 0x00000012 
- 00000296  0x000001dc fetch  0x00000003 , 0x00004700 
- 00000297  0x000001dd iadd  0x00000012 , 0x0000003f 
- 00000298  0x000001de call  0x0000013b 
- 00000299  0x000001df call  0x00000132 
- 00000300  0x000001e0 call  0x00000155 
- 00000301  0x000001e2 jam  0x00000076 , 0x00004212 
- 00000302  0x000001e3 branch  0x00003d36 
- 00000303  0x000001e6 fetch  0x00000003 , 0x00004700 
- 00000304  0x000001e7 store  0x00000003 , 0x00004232 
- 00000305  0x000001e8 call  0x0000652a 
- 00000306  0x000001ea setarg  0x000186a0 
- 00000307  0x000001eb call  0x00002a8f 
- 00000308  0x000001ec call  0x0000650b 
- 00000309  0x000001ed setarg  0x000001fa 
- 00000310  0x000001ee hstore  0x00000002 , 0x0000808c 
- 00000311  0x000001ef setarg  0x00000005 
- 00000312  0x000001f0 call  0x000064f3 
- 00000313  0x000001f1 bbit1  0x00000000 , 0x00000132 
- 00000314  0x000001f2 rtn 
- 00000315  0x000001f5 copy  0x0000003f , 0x00000013 
- 00000316  0x000001f6 copy  0x00000011 , 0x0000003f 
- 00000317  0x000001f7 increase  0xfffffffc , 0x0000003f 
- 00000318  0x000001f8 copy  0x0000003f , 0x00000012 
- 00000319  0x000001f9 ifetch  0x00000004 , 0x00000012 
- 00000320  0x000001fa store  0x00000004 , 0x00004b49 
- 00000321  0x000001fb copy  0x00000013 , 0x0000003f 
- 00000322  0x000001fc call  0x00006552 
- 00000323  0x000001fd fetch  0x00000004 , 0x00004b49 
- 00000324  0x000001fe istore  0x00000004 , 0x00000012 
- 00000325  0x000001ff rtn 
- 00000326  0x00000202 setarg  0x0000477f 
- 00000327  0x00000203 arg  0x00004720 , 0x00000002 
- 00000328  0x00000204 isub  0x00000002 , 0x00000002 
- 00000329  0x00000205 fetch  0x00000003 , 0x00004700 
- 00000330  0x00000206 arg  0x00004720 , 0x00000011 
- 00000331  0x00000207 rtn 
- 00000332  0x0000020a call  0x0000015d 
- 00000333  0x0000020b call  0x00000146 
- 00000334  0x0000020c branch  0x00006562 
- 00000335  0x0000020f call  0x0000014c 
- 00000336  0x00000210 call  0x00000166 
- 00000337  0x00000213 call  0x0000431a 
- 00000338  0x00000214 fetch  0x00000004 , 0x0000477b 
- 00000339  0x00000215 store  0x00000004 , 0x00004c65 
- 00000340  0x00000216 rtn 
- 00000341  0x00000219 jam  0x000000b9 , 0x00000aa2 
- 00000342  0x0000021b call  0x00000104 
- 00000343  0x0000021c call  0x000069ac 
- 00000344  0x0000021d call  0x0000650b 
- 00000345  0x0000021e arg  0x00004b49 , 0x00000011 
- 00000346  0x0000021f fetcht  0x00000001 , 0x00000aa2 
- 00000347  0x00000220 call  0x00006556 
- 00000348  0x00000221 branch  0x000069ac 
- 00000349  0x00000224 jam  0x000000ab , 0x00000aa2 
- 00000350  0x00000225 branch  0x00000156 
- 00000351  0x00000228 jam  0x0000005a , 0x00004b77 
- 00000352  0x00000229 rtn 
- 00000353  0x0000022c jam  0x000000ff , 0x00004b77 
- 00000354  0x0000022d jam  0x00000034 , 0x00004210 
- 00000355  0x0000022e fetch  0x00000006 , 0x00004d82 
- 00000356  0x0000022f store  0x00000006 , 0x000044a0 
- 00000357  0x00000230 rtn 
- 00000358  0x00000234 call  0x0000015d 
- 00000359  0x00000235 arg  0x00000007 , 0x00000002 
- 00000360  0x00000236 arg  0x00004b72 , 0x00000011 
- 00000361  0x00000237 arg  0x0000005f , 0x00000012 
- 00000362  0x00000238 fetch  0x00000003 , 0x00004700 
- 00000363  0x00000239 iadd  0x00000012 , 0x0000003f 
- 00000364  0x0000023a branch  0x00006562 
- 00000365  0x0000025b arg  0x00001800 , 0x00000006 
- 00000366  0x0000025c arg  0x0000480a , 0x00000005 
- 00000367  0x0000025d call  0x00000175 
- 00000368  0x0000025e arg  0x00001900 , 0x00000006 
- 00000369  0x0000025f call  0x00000175 
- 00000370  0x00000260 arg  0x00001a00 , 0x00000006 
- 00000371  0x00000261 call  0x00000175 
- 00000372  0x00000262 arg  0x00001b00 , 0x00000006 
- 00000373  0x00000264 arg  0x0000001b , 0x00000039 
- 00000374  0x00000265 branch  0x00007f01 
- 00000375  0x00000268 arg  0x0000480a , 0x00000006 
- 00000376  0x00000269 arg  0x00001800 , 0x00000005 
- 00000377  0x0000026a call  0x00000175 
- 00000378  0x0000026b arg  0x00001900 , 0x00000005 
- 00000379  0x0000026c call  0x00000175 
- 00000380  0x0000026d arg  0x00001a00 , 0x00000005 
- 00000381  0x0000026e call  0x00000175 
- 00000382  0x0000026f arg  0x00001b00 , 0x00000005 
- 00000383  0x00000270 branch  0x00000175 
- 00000384  0x00000274 jam  0x00000000 , 0x00004172 
- 00000385  0x00000275 jam  0x0000001e , 0x00004b45 
- 00000386  0x00000276 rtn 
- 00000387  0x00000279 fetch  0x00000001 , 0x00004b44 
- 00000388  0x0000027a rtnne  0x00000001 
- 00000389  0x0000027b setarg  0x00000000 
- 00000390  0x0000027c store  0x00000001 , 0x00004b44 
- 00000391  0x0000027d store  0x00000004 , 0x0000469b 
- 00000392  0x0000027e branch  0x0000036d 
- 00000393  0x00000281 call  0x00005892 
- 00000394  0x00000282 nrtn  0x00000034 
- 00000395  0x00000283 fetch  0x00000001 , 0x00004b77 
- 00000396  0x00000284 beq  0x000000ff , 0x00000190 
- 00000397  0x00000285 fetch  0x00000001 , 0x000046c5 
- 00000398  0x00000286 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00000399  0x00000287 rtnne  0x00000003 
- 00000400  0x00000289 fetch  0x00000001 , 0x0000479e 
- 00000401  0x0000028a call  0x000001b8 , 0x00000034 
- 00000402  0x0000028b fetch  0x00000004 , 0x000046d3 
- 00000403  0x0000028c bbit1  0x00000005 , 0x00004179 
- 00000404  0x0000028d call  0x00003f97 
- 00000405  0x0000028e nrtn  0x00000028 
- 00000406  0x0000028f call  0x00000180 
- 00000407  0x00000290 call  0x00000183 
- 00000408  0x00000291 call  0x000001b3 
- 00000409  0x00000293 arg  0x0000469a , 0x00000011 
- 00000410  0x00000294 call  0x00007e3d 
- 00000411  0x00000295 call  0x000001a2 , 0x00000028 
- 00000412  0x00000297 rtn 
- 00000413  0x0000029a jam  0x00000007 , 0x000047a2 
- 00000414  0x0000029b jam  0x00000004 , 0x000047a3 
- 00000415  0x0000029c setarg  0x000047a2 
- 00000416  0x0000029d store  0x00000002 , 0x00004218 
- 00000417  0x0000029e branch  0x00007e38 
- 00000418  0x000002a1 fetch  0x00000001 , 0x000047c3 
- 00000419  0x000002a2 increase  0x00000001 , 0x0000003f 
- 00000420  0x000002a3 store  0x00000001 , 0x000047c3 
- 00000421  0x000002a4 rtn 
- 00000422  0x000002a7 arg  0x0000469a , 0x00000011 
- 00000423  0x000002a8 call  0x00007e54 
- 00000424  0x000002a9 branch  0x000001aa , 0x00000028 
- 00000425  0x000002aa rtn 
- 00000426  0x000002ad call  0x00005652 
- 00000427  0x000002ae fetch  0x00000001 , 0x000047c3 
- 00000428  0x000002af sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00000429  0x000002b0 ncall  0x00005650 , 0x00000002 
- 00000430  0x000002b1 fetch  0x00000001 , 0x000047c3 
- 00000431  0x000002b2 rtn  0x00000034 
- 00000432  0x000002b3 increase  0xffffffff , 0x0000003f 
- 00000433  0x000002b4 store  0x00000001 , 0x000047c3 
- 00000434  0x000002b5 branch  0x00003f90 
- 00000435  0x000002b9 fetch  0x00000002 , 0x0000469f 
- 00000436  0x000002ba rtn  0x00000034 
- 00000437  0x000002bb jam  0x00000001 , 0x00004806 
- 00000438  0x000002bc jam  0x0000000a , 0x00004807 
- 00000439  0x000002bd rtn 
- 00000440  0x000002c0 jam  0x00000001 , 0x0000479e 
- 00000441  0x000002c1 call  0x00005814 
- 00000442  0x000002c2 branch  0x0000036d 
- 00000443  0x000002c4 jam  0x00000001 , 0x00004b00 
- 00000444  0x000002c5 branch  0x000000e6 
- 00000445  0x000002c8 rtn  0x0000002e 
- 00000446  0x000002c9 fetch  0x00000001 , 0x000041e2 
- 00000447  0x000002ca rtn  0x00000034 
- 00000448  0x000002cb call  0x00005271 
- 00000449  0x000002cc nrtn  0x00000034 
- 00000450  0x000002cd fetch  0x00000001 , 0x0000479e 
- 00000451  0x000002ce call  0x000001b8 , 0x00000034 
- 00000452  0x000002cf fetch  0x00000004 , 0x000046d3 
- 00000453  0x000002d0 bbit1  0x00000005 , 0x00003f8a 
- 00000454  0x000002d1 bbit1  0x00000009 , 0x00003f8a 
- 00000455  0x000002d2 call  0x00003f97 
- 00000456  0x000002d3 nrtn  0x00000028 
- 00000457  0x000002d4 call  0x00000180 
- 00000458  0x000002d5 call  0x00000183 
- 00000459  0x000002d6 call  0x000001b3 
- 00000460  0x000002d7 fetch  0x00000001 , 0x00004b05 
- 00000461  0x000002d8 beq  0x00000001 , 0x000001d1 
- 00000462  0x000002d9 fetch  0x00000001 , 0x00004b0c 
- 00000463  0x000002da rtn  0x00000034 
- 00000464  0x000002db branch  0x00003f81 
- 00000465  0x000002de fetch  0x00000001 , 0x0000469a 
- 00000466  0x000002df store  0x00000001 , 0x00004b06 
- 00000467  0x000002e0 fetch  0x00000001 , 0x0000469b 
- 00000468  0x000002e1 istore  0x00000001 , 0x00000005 
- 00000469  0x000002e2 fetch  0x00000001 , 0x0000469d 
- 00000470  0x000002e3 istore  0x00000001 , 0x00000005 
- 00000471  0x000002e4 fetch  0x00000002 , 0x0000469f 
- 00000472  0x000002e5 istore  0x00000002 , 0x00000005 
- 00000473  0x000002e7 arg  0x00000007 , 0x00000011 
- 00000474  0x000002e8 call  0x00004d63 
- 00000475  0x000002e9 fetch  0x00000002 , 0x0000424e 
- 00000476  0x000002ea istore  0x00000002 , 0x00000005 
- 00000477  0x000002eb setarg  0x000002a1 
- 00000478  0x000002ec istore  0x00000002 , 0x00000005 
- 00000479  0x000002ed fetch  0x00000005 , 0x00004b06 
- 00000480  0x000002ee istore  0x00000005 , 0x00000005 
- 00000481  0x000002ef rtn 
- 00000482  0x000002f3 call  0x00007e34 
- 00000483  0x000002f4 call  0x000001e5 
- 00000484  0x000002f5 branch  0x00003ee0 
- 00000485  0x000002f8 fetcht  0x00000001 , 0x000046e7 
- 00000486  0x000002f9 call  0x000003cf 
- 00000487  0x000002fa fetcht  0x00000001 , 0x000046e7 
- 00000488  0x000002fb call  0x0000681d 
- 00000489  0x000002fc branch  0x000001f3 , 0x00000001 
- 00000490  0x000002fd call  0x000003ca 
- 00000491  0x000002ff fetch  0x00000001 , 0x000046b6 
- 00000492  0x00000300 rtneq  0x00000000 
- 00000493  0x00000301 jam  0x00000000 , 0x000046b6 
- 00000494  0x00000302 fetch  0x00000001 , 0x0000477a 
- 00000495  0x00000303 increase  0x00000001 , 0x0000003f 
- 00000496  0x00000304 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00000497  0x00000305 store  0x00000001 , 0x0000477a 
- 00000498  0x00000309 branch  0x00003d7e 
- 00000499  0x0000030b call  0x000003ca 
- 00000500  0x0000030c branch  0x00003d62 
- 00000501  0x00000310 copy  0x00000013 , 0x0000003f 
- 00000502  0x00000311 beq  0x00000014 , 0x00000203 
- 00000503  0x00000312 beq  0x00000015 , 0x0000020e 
- 00000504  0x00000313 beq  0x00000029 , 0x00000211 
- 00000505  0x00000314 beq  0x00000032 , 0x00000213 
- 00000506  0x00000315 beq  0x00000040 , 0x00000215 
- 00000507  0x00000316 beq  0x00000004 , 0x00000217 
- 00000508  0x00000317 beq  0x00000013 , 0x00000217 
- 00000509  0x00000318 beq  0x00000019 , 0x000033df 
- 00000510  0x00000319 beq  0x00000021 , 0x0000021b 
- 00000511  0x0000031a beq  0x00000001 , 0x0000021d 
- 00000512  0x0000031b beq  0x00000002 , 0x00000223 
- 00000513  0x0000031c beq  0x0000002b , 0x00000226 
- 00000514  0x0000031d branch  0x0000417d 
- 00000515  0x00000320 call  0x000001bb 
- 00000516  0x00000321 call  0x00003410 
- 00000517  0x00000322 jam  0x00000001 , 0x00004b71 
- 00000518  0x00000323 fetch  0x00000001 , 0x000047a1 
- 00000519  0x00000324 nbranch  0x00000209 , 0x00000034 
- 00000520  0x00000325 jam  0x00000014 , 0x00004b6f 
- 00000521  0x00000327 jam  0x00000000 , 0x00004b79 
- 00000522  0x00000328 jam  0x00000000 , 0x00004b6d 
- 00000523  0x00000329 call  0x000002ac 
- 00000524  0x0000032a call  0x0000019d 
- 00000525  0x0000032b branch  0x000041c3 
- 00000526  0x0000032e call  0x0000022b 
- 00000527  0x0000032f jam  0x000000a2 , 0x000011c6 
- 00000528  0x00000330 branch  0x000005c7 
- 00000529  0x00000334 jam  0x00000012 , 0x00000a99 
- 00000530  0x00000335 branch  0x00007d8f 
- 00000531  0x00000338 jam  0x000000b3 , 0x000011c6 
- 00000532  0x00000339 branch  0x000005c7 
- 00000533  0x0000033c jam  0x000000a1 , 0x000011c6 
- 00000534  0x0000033d branch  0x000005c7 
- 00000535  0x00000342 jam  0x000000a3 , 0x000011c6 
- 00000536  0x00000343 branch  0x000005c7 
- 00000537  0x00000346 jam  0x00000070 , 0x000011c6 
- 00000538  0x00000347 branch  0x000005c7 
- 00000539  0x0000034a jam  0x000000b1 , 0x000011c6 
- 00000540  0x0000034b branch  0x000005c7 
- 00000541  0x0000034e call  0x00000245 
- 00000542  0x0000034f call  0x000001bb 
- 00000543  0x00000350 call  0x000002ac 
- 00000544  0x00000351 call  0x000002e7 
- 00000545  0x00000352 jam  0x00000000 , 0x00004809 
- 00000546  0x00000353 branch  0x000042ca 
- 00000547  0x00000356 call  0x0000022b 
- 00000548  0x00000357 jam  0x000000b4 , 0x000011c6 
- 00000549  0x00000358 branch  0x000005c7 
- 00000550  0x0000035b jam  0x000000b2 , 0x000011c6 
- 00000551  0x0000035c branch  0x000005c7 
- 00000552  0x00000360 call  0x0000022b 
- 00000553  0x00000361 jam  0x000000a0 , 0x000011c6 
- 00000554  0x00000362 branch  0x000005c7 
- 00000555  0x00000365 fetch  0x00000001 , 0x00004b00 
- 00000556  0x00000366 rtn  0x00000034 
- 00000557  0x00000367 jam  0x00000000 , 0x00004b00 
- 00000558  0x00000369 call  0x000000e6 
- 00000559  0x0000036a setarg  0x00000006 
- 00000560  0x0000036b call  0x00006414 
- 00000561  0x0000036c or  0x0000003f , 0x00000008 , 0x0000003f 
- 00000562  0x0000036d lshift8  0x0000003f , 0x0000003f 
- 00000563  0x0000036e add  0x0000003f , 0x00000006 , 0x0000003f 
- 00000564  0x0000036f branch  0x00006413 
- 00000565  0x00000373 call  0x000002ff 
- 00000566  0x00000374 call  0x0000035d 
- 00000567  0x00000375 call  0x000002af 
- 00000568  0x00000376 call  0x0000028b 
- 00000569  0x00000377 call  0x000002a2 
- 00000570  0x00000379 call  0x00004234 
- 00000571  0x0000037a call  0x0000024b 
- 00000572  0x0000037c call  0x00004237 
- 00000573  0x0000037d call  0x00000271 
- 00000574  0x0000037e call  0x00000274 
- 00000575  0x0000037f call  0x0000027c 
- 00000576  0x00000380 call  0x00000283 
- 00000577  0x00000381 call  0x00000269 
- 00000578  0x00000382 call  0x00004231 
- 00000579  0x00000383 call  0x0000026c 
- 00000580  0x00000384 branch  0x0000423a 
- 00000581  0x00000387 arg  0x00000007 , 0x00000007 
- 00000582  0x00000388 branch  0x000043ce 
- 00000583  0x0000038d jam  0x00000001 , 0x00004bad 
- 00000584  0x0000038e rtn 
- 00000585  0x00000391 jam  0x00000000 , 0x00004bad 
- 00000586  0x00000392 rtn 
- 00000587  0x00000395 fetch  0x00000001 , 0x00004bad 
- 00000588  0x00000396 branch  0x00000257 , 0x00000034 
- 00000589  0x00000398 call  0x00000293 
- 00000590  0x00000399 fetch  0x00000001 , 0x000046d9 
- 00000591  0x0000039a rtneq  0x00000000 
- 00000592  0x0000039b fetch  0x00000002 , 0x000046a8 
- 00000593  0x0000039c store  0x00000002 , 0x000046ae 
- 00000594  0x0000039d force  0x00000003 , 0x00000007 
- 00000595  0x0000039e fetch  0x00000002 , 0x000040b9 
- 00000596  0x0000039f call  0x00007f08 
- 00000597  0x000003a0 jam  0x00000000 , 0x000046d9 
- 00000598  0x000003a1 rtn 
- 00000599  0x000003a5 fetch  0x00000001 , 0x000046d9 
- 00000600  0x000003a6 rtneq  0x00000001 
- 00000601  0x000003a7 fetch  0x00000001 , 0x00004b48 
- 00000602  0x000003a8 sub  0x0000003f , 0x00000014 , 0x0000003e 
- 00000603  0x000003a9 ncall  0x00000260 , 0x00000002 
- 00000604  0x000003ab fetch  0x00000001 , 0x00004685 
- 00000605  0x000003ac store  0x00000001 , 0x00004b48 
- 00000606  0x000003ad jam  0x00000001 , 0x000046d9 
- 00000607  0x000003ae rtn 
- 00000608  0x000003b1 fetcht  0x00000001 , 0x00004720 
- 00000609  0x000003b2 increase  0x00000001 , 0x00000002 
- 00000610  0x000003b3 fetch  0x00000001 , 0x000046d2 
- 00000611  0x000003b4 isub  0x00000002 , 0x0000003e 
- 00000612  0x000003b5 ncall  0x000043cc , 0x00000002 
- 00000613  0x000003b6 storet  0x00000001 , 0x00004720 
- 00000614  0x000003b7 jam  0x00000000 , 0x000041bd 
- 00000615  0x000003b8 call  0x0000011f 
- 00000616  0x000003be branch  0x00004378 
- 00000617  0x000003c2 arg  0x00004809 , 0x00000013 
- 00000618  0x000003c3 arg  0x0000637a , 0x00000012 
- 00000619  0x000003c4 branch  0x0000336d 
- 00000620  0x000003c7 arg  0x00004b0b , 0x00000013 
- 00000621  0x000003c8 arg  0x0000026f , 0x00000012 
- 00000622  0x000003c9 branch  0x0000336d 
- 00000623  0x000003cb jam  0x00000001 , 0x00004b0c 
- 00000624  0x000003cc rtn 
- 00000625  0x000003d0 arg  0x000046c6 , 0x00000013 
- 00000626  0x000003d1 arg  0x00003d60 , 0x00000012 
- 00000627  0x000003d2 branch  0x0000336d 
- 00000628  0x000003d5 fetch  0x00000001 , 0x00004b71 
- 00000629  0x000003d6 rtn  0x00000034 
- 00000630  0x000003d7 arg  0x00004b6f , 0x00000013 
- 00000631  0x000003d8 arg  0x00000279 , 0x00000012 
- 00000632  0x000003d9 branch  0x0000336d 
- 00000633  0x000003db fetch  0x00000001 , 0x00004b70 
- 00000634  0x000003dc nrtn  0x00000034 
- 00000635  0x000003dd branch  0x00005bf5 
- 00000636  0x000003e0 arg  0x00004b45 , 0x00000013 
- 00000637  0x000003e1 arg  0x0000027f , 0x00000012 
- 00000638  0x000003e2 branch  0x0000336d 
- 00000639  0x000003e4 fetch  0x00000001 , 0x000047c5 
- 00000640  0x000003e5 store  0x00000001 , 0x00004172 
- 00000641  0x000003e6 jam  0x00000001 , 0x00004b44 
- 00000642  0x000003e7 rtn 
- 00000643  0x000003e9 fetch  0x00000001 , 0x00004b77 
- 00000644  0x000003ea rtnne  0x000000ff 
- 00000645  0x000003eb fetch  0x00000001 , 0x00004b71 
- 00000646  0x000003ec nrtn  0x00000034 
- 00000647  0x000003ed arg  0x00004bb6 , 0x00000013 
- 00000648  0x000003ee arg  0x0000028a , 0x00000012 
- 00000649  0x000003ef branch  0x0000336d 
- 00000650  0x000003f2 branch  0x000003e1 
- 00000651  0x000003f5 arg  0x00004807 , 0x00000013 
- 00000652  0x000003f6 arg  0x0000028e , 0x00000012 
- 00000653  0x000003f7 branch  0x0000336d 
- 00000654  0x000003f9 jam  0x00000000 , 0x00004806 
- 00000655  0x000003fa rtn 
- 00000656  0x0000040b arg  0x00000009 , 0x00000007 
- 00000657  0x0000040c call  0x000043d2 
- 00000658  0x0000040d branch  0x000043ca 
- 00000659  0x00000414 arg  0x00004b48 , 0x00000013 
- 00000660  0x00000415 arg  0x00000296 , 0x00000012 
- 00000661  0x00000416 branch  0x0000336d 
- 00000662  0x00000418 fetch  0x00000001 , 0x00004720 
- 00000663  0x00000419 rtneq  0x00000002 
- 00000664  0x0000041a fetch  0x00000002 , 0x00004682 
- 00000665  0x0000041b isolate1  0x0000000b , 0x0000003f 
- 00000666  0x0000041c call  0x000042d4 , 0x00000001 
- 00000667  0x0000041d fetch  0x00000002 , 0x00004682 
- 00000668  0x0000041e isolate1  0x00000007 , 0x0000003f 
- 00000669  0x0000041f call  0x00004392 , 0x00000001 
- 00000670  0x00000420 branch  0x000043b8 
- 00000671  0x00000423 fetch  0x00000002 , 0x00004687 
- 00000672  0x00000424 store  0x00000002 , 0x000046ac 
- 00000673  0x00000425 rtn 
- 00000674  0x00000428 fetch  0x00000001 , 0x0000479f 
- 00000675  0x00000429 rtn  0x00000034 
- 00000676  0x0000042a arg  0x000047a0 , 0x00000013 
- 00000677  0x0000042b arg  0x000002a7 , 0x00000012 
- 00000678  0x0000042c branch  0x0000336d 
- 00000679  0x0000042e jam  0x00000000 , 0x0000479f 
- 00000680  0x0000042f branch  0x0000340a 
- 00000681  0x00000436 jam  0x00000001 , 0x0000479f 
- 00000682  0x00000437 jam  0x00000028 , 0x000047a0 
- 00000683  0x00000438 rtn 
- 00000684  0x0000043a jam  0x00000000 , 0x0000479f 
- 00000685  0x0000043b jam  0x00000000 , 0x000047a0 
- 00000686  0x0000043c rtn 
- 00000687  0x0000043f fetch  0x00000001 , 0x00004b26 
- 00000688  0x00000440 rtn  0x00000034 
- 00000689  0x00000441 fetch  0x00000001 , 0x00004b29 
- 00000690  0x00000442 beq  0x00000001 , 0x000002c4 
- 00000691  0x00000444 call  0x000002d1 
- 00000692  0x00000445 fetch  0x00000001 , 0x00004b2e 
- 00000693  0x00000446 increase  0x00000001 , 0x0000003f 
- 00000694  0x00000447 store  0x00000001 , 0x00004b2e 
- 00000695  0x00000448 fetcht  0x00000001 , 0x00004b2a 
- 00000696  0x00000449 isub  0x00000002 , 0x0000003e 
- 00000697  0x0000044a call  0x000002bb , 0x00000005 
- 00000698  0x0000044b rtn 
- 00000699  0x0000044d jam  0x00000000 , 0x00004b30 
- 00000700  0x0000044e branch  0x000002ed 
- 00000701  0x00000451 jam  0x00000005 , 0x00004b2b 
- 00000702  0x00000453 jam  0x00000000 , 0x00004b2f 
- 00000703  0x00000454 jam  0x00000001 , 0x00004b2d 
- 00000704  0x00000456 jam  0x00000005 , 0x00004b2c 
- 00000705  0x00000457 jam  0x00000001 , 0x00004b26 
- 00000706  0x00000458 jam  0x00000001 , 0x00004b29 
- 00000707  0x00000459 rtn 
- 00000708  0x00000460 arg  0x00004b2c , 0x00000013 
- 00000709  0x00000461 arg  0x000002c7 , 0x00000012 
- 00000710  0x00000462 branch  0x0000336d 
- 00000711  0x00000464 fetch  0x00000001 , 0x00004b2b 
- 00000712  0x00000465 store  0x00000001 , 0x00004b2c 
- 00000713  0x00000466 fetch  0x00000001 , 0x00004b2f 
- 00000714  0x00000467 branch  0x000002cf , 0x00000034 
- 00000715  0x00000468 fetch  0x00000001 , 0x00004b2d 
- 00000716  0x00000469 branch  0x000002eb , 0x00000034 
- 00000717  0x0000046a increase  0xffffffff , 0x0000003f 
- 00000718  0x0000046b store  0x00000001 , 0x00004b2d 
- 00000719  0x0000046d fetch  0x00000001 , 0x00004b28 
- 00000720  0x0000046e beq  0x00000001 , 0x000002ed 
- 00000721  0x00000470 jam  0x00000001 , 0x00004b28 
- 00000722  0x00000471 fetch  0x00000001 , 0x00004b2e 
- 00000723  0x00000472 nbranch  0x000002da , 0x00000034 
- 00000724  0x00000473 fetch  0x00000001 , 0x00004b30 
- 00000725  0x00000474 nbranch  0x000002da , 0x00000034 
- 00000726  0x00000475 fetch  0x00000001 , 0x00004b29 
- 00000727  0x00000476 nbranch  0x000002da , 0x00000034 
- 00000728  0x00000478 fetch  0x00000001 , 0x00004231 
- 00000729  0x00000479 bbit1  0x00000000 , 0x000002df 
- 00000730  0x0000047b fetcht  0x00000001 , 0x00004b27 
- 00000731  0x0000047c set1  0x00000007 , 0x00000002 
- 00000732  0x0000047d call  0x0000680e 
- 00000733  0x0000047e fetcht  0x00000001 , 0x00004b27 
- 00000734  0x0000047f branch  0x00006829 
- 00000735  0x00000481 jam  0x00000001 , 0x00004bb1 
- 00000736  0x00000482 hfetch  0x00000001 , 0x0000807c 
- 00000737  0x00000483 set0  0x00000005 , 0x0000003f 
- 00000738  0x00000484 hstore  0x00000001 , 0x0000807c 
- 00000739  0x00000485 fetcht  0x00000001 , 0x00004bae 
- 00000740  0x00000486 call  0x0000680e 
- 00000741  0x00000487 fetcht  0x00000001 , 0x00004bae 
- 00000742  0x00000488 branch  0x00006825 
- 00000743  0x0000048b fetch  0x00000001 , 0x00004b2e 
- 00000744  0x0000048c nrtn  0x00000034 
- 00000745  0x0000048d fetch  0x00000001 , 0x00004b30 
- 00000746  0x0000048e nrtn  0x00000034 
- 00000747  0x00000490 setarg  0x00000000 
- 00000748  0x00000491 store  0x00000003 , 0x00004b2c 
- 00000749  0x00000493 fetch  0x00000001 , 0x00004b2d 
- 00000750  0x00000494 nbranch  0x000002f1 , 0x00000034 
- 00000751  0x00000495 jam  0x00000000 , 0x00004b26 
- 00000752  0x00000496 jam  0x00000000 , 0x00004b29 
- 00000753  0x00000498 jam  0x00000000 , 0x00004b2e 
- 00000754  0x00000499 jam  0x00000000 , 0x00004b28 
- 00000755  0x0000049b fetch  0x00000001 , 0x00004b27 
- 00000756  0x0000049c rtneq  0x000000ff 
- 00000757  0x0000049d fetcht  0x00000001 , 0x00004b27 
- 00000758  0x0000049f call  0x000003ca 
- 00000759  0x000004a1 jam  0x00000000 , 0x00004bb1 
- 00000760  0x000004a2 fetcht  0x00000001 , 0x00004bae 
- 00000761  0x000004a3 branch  0x000003d5 
- 00000762  0x000004a8 jam  0x00000001 , 0x00004b30 
- 00000763  0x000004a9 jam  0x00000001 , 0x00004b26 
- 00000764  0x000004aa jam  0x00000000 , 0x00004b29 
- 00000765  0x000004ab jam  0x00000000 , 0x00004b2e 
- 00000766  0x000004ac rtn 
- 00000767  0x000004ba fetch  0x00000002 , 0x00004b2d 
- 00000768  0x000004bb nrtn  0x00000034 
- 00000769  0x000004bc fetch  0x00000001 , 0x000046ce 
- 00000770  0x000004bd increase  0x00000001 , 0x0000003f 
- 00000771  0x000004be store  0x00000001 , 0x000046ce 
- 00000772  0x000004bf sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00000773  0x000004c0 call  0x00000313 , 0x00000002 
- 00000774  0x000004c1 ncall  0x00000317 , 0x00000002 
- 00000775  0x000004c2 call  0x000068a8 
- 00000776  0x000004c3 call  0x00000333 
- 00000777  0x000004c4 call  0x00006908 
- 00000778  0x000004c5 store  0x00000002 , 0x0000470f 
- 00000779  0x000004c6 arg  0x00004709 , 0x00000011 
- 00000780  0x000004c7 call  0x0000033a 
- 00000781  0x000004c8 fetch  0x00000001 , 0x00004231 
- 00000782  0x000004c9 bbit1  0x00000002 , 0x00000247 
- 00000783  0x000004ca bbit1  0x00000001 , 0x0000340a 
- 00000784  0x000004cb bbit0  0x00000000 , 0x0000032e 
- 00000785  0x000004cc jam  0x00000001 , 0x00004aff 
- 00000786  0x000004cd branch  0x000043e7 
- 00000787  0x000004d0 fetch  0x00000001 , 0x00004bb1 
- 00000788  0x000004d1 nbranch  0x00000317 , 0x00000034 
- 00000789  0x000004d2 jam  0x00000002 , 0x0000422d 
- 00000790  0x000004d3 rtn 
- 00000791  0x000004d5 jam  0x00000000 , 0x000046ce 
- 00000792  0x000004d6 jam  0x00000000 , 0x0000422d 
- 00000793  0x000004d7 rtn 
- 00000794  0x000004da fetch  0x00000001 , 0x0000422d 
- 00000795  0x000004db beq  0x00000002 , 0x0000031d 
- 00000796  0x000004dc branch  0x0000690a 
- 00000797  0x000004df fetch  0x00000002 , 0x00004223 
- 00000798  0x000004e0 fetcht  0x00000002 , 0x0000421d 
- 00000799  0x000004e1 arg  0x00000032 , 0x00000013 
- 00000800  0x000004e2 branch  0x00000321 
- 00000801  0x000004e5 isub  0x00000002 , 0x00000011 
- 00000802  0x000004e6 fetch  0x00000002 , 0x0000422f 
- 00000803  0x000004e7 isub  0x00000002 , 0x0000003f 
- 00000804  0x000004e8 nbranch  0x00000326 , 0x00000002 
- 00000805  0x000004e9 branch  0x0000691e 
- 00000806  0x000004ec copy  0x00000002 , 0x0000003f 
- 00000807  0x000004ed fetcht  0x00000002 , 0x0000422f 
- 00000808  0x000004ee isub  0x00000002 , 0x0000003f 
- 00000809  0x000004ef isub  0x00000011 , 0x0000003e 
- 00000810  0x000004f0 call  0x0000032c , 0x00000002 
- 00000811  0x000004f1 branch  0x0000692a 
- 00000812  0x000004f5 copy  0x00000011 , 0x0000003f 
- 00000813  0x000004f6 rtn 
- 00000814  0x000004f9 call  0x000043e9 
- 00000815  0x000004fa fetch  0x00000001 , 0x00004aff 
- 00000816  0x000004fb rtn  0x00000034 
- 00000817  0x000004fc jam  0x00000000 , 0x00004aff 
- 00000818  0x000004fd branch  0x000002f7 
- 00000819  0x00000500 fetch  0x00000001 , 0x0000422d 
- 00000820  0x00000501 beq  0x00000002 , 0x00000336 
- 00000821  0x00000502 branch  0x000068ec 
- 00000822  0x00000504 hfetch  0x00000001 , 0x0000807c 
- 00000823  0x00000505 set0  0x00000005 , 0x0000003f 
- 00000824  0x00000506 hstore  0x00000001 , 0x0000807c 
- 00000825  0x00000507 branch  0x000068f4 
- 00000826  0x0000050a ifetch  0x00000008 , 0x00000011 
- 00000827  0x0000050b store  0x00000008 , 0x00000a9a 
- 00000828  0x0000050c fetch  0x00000001 , 0x0000422d 
- 00000829  0x0000050d beq  0x00000002 , 0x0000034b 
- 00000830  0x0000050e beq  0x00000000 , 0x0000033f 
- 00000831  0x00000510 fetch  0x00000002 , 0x00000aa0 
- 00000832  0x00000511 fetcht  0x00000002 , 0x00000a9c 
- 00000833  0x00000512 isub  0x00000002 , 0x0000003e 
- 00000834  0x00000513 nbranch  0x00006944 , 0x00000002 
- 00000835  0x00000514 call  0x00000351 
- 00000836  0x00000515 fetcht  0x00000002 , 0x00000a9e 
- 00000837  0x00000516 isub  0x00000002 , 0x0000003e 
- 00000838  0x00000517 nbranch  0x00006940 , 0x00000002 
- 00000839  0x00000519 fetch  0x00000001 , 0x00004231 
- 00000840  0x0000051a set0  0x00000000 , 0x0000003f 
- 00000841  0x0000051b store  0x00000001 , 0x00004231 
- 00000842  0x0000051c rtn 
- 00000843  0x0000051e fetcht  0x00000002 , 0x00004bab 
- 00000844  0x0000051f fetch  0x00000002 , 0x00000aa0 
- 00000845  0x00000520 isub  0x00000002 , 0x0000003e 
- 00000846  0x00000521 nbranch  0x00000355 , 0x00000002 
- 00000847  0x00000522 call  0x00000249 
- 00000848  0x00000523 branch  0x00000359 
- 00000849  0x00000526 fetcht  0x00000001 , 0x00004231 
- 00000850  0x00000527 set0  0x00000001 , 0x00000002 
- 00000851  0x00000528 storet  0x00000001 , 0x00004231 
- 00000852  0x00000529 rtn 
- 00000853  0x0000052b fetcht  0x00000001 , 0x00004231 
- 00000854  0x0000052c set1  0x00000002 , 0x00000002 
- 00000855  0x0000052d storet  0x00000001 , 0x00004231 
- 00000856  0x0000052e rtn 
- 00000857  0x00000531 fetcht  0x00000001 , 0x00004231 
- 00000858  0x00000532 set0  0x00000002 , 0x00000002 
- 00000859  0x00000533 storet  0x00000001 , 0x00004231 
- 00000860  0x00000534 rtn 
- 00000861  0x00000537 fetch  0x00000004 , 0x000046d3 
- 00000862  0x00000538 rtnbit0  0x00000004 
- 00000863  0x00000539 fetch  0x00000002 , 0x00004682 
- 00000864  0x0000053a rtnbit1  0x0000000b 
- 00000865  0x0000053b rtnbit1  0x00000006 
- 00000866  0x0000053c fetch  0x00000002 , 0x00004b2d 
- 00000867  0x0000053d nrtn  0x00000034 
- 00000868  0x0000053f fetch  0x00000001 , 0x000046cf 
- 00000869  0x00000540 pincrease  0x00000001 
- 00000870  0x00000541 store  0x00000001 , 0x000046cf 
- 00000871  0x00000542 beq  0x00000005 , 0x000002d1 
- 00000872  0x00000543 sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00000873  0x00000544 nbranch  0x0000036b , 0x00000002 
- 00000874  0x00000545 rtn 
- 00000875  0x00000547 jam  0x00000001 , 0x000046cf 
- 00000876  0x00000548 branch  0x000002ed 
- 00000877  0x0000054d call  0x0000012d 
- 00000878  0x00000550 setarg  0x00008006 
- 00000879  0x00000551 call  0x00006413 
- 00000880  0x00000552 nop  0x00002ee0 
- 00000881  0x00000554 fetch  0x00000001 , 0x0000477a 
- 00000882  0x00000555 bne  0x000000ff , 0x00000375 
- 00000883  0x00000557 fetch  0x00000001 , 0x000046e1 
- 00000884  0x00000558 store  0x00000001 , 0x0000477a 
- 00000885  0x00000561 fetch  0x00000001 , 0x0000477a 
- 00000886  0x00000562 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00000887  0x00000563 call  0x00000382 , 0x00000005 
- 00000888  0x00000564 fetch  0x00000001 , 0x0000477a 
- 00000889  0x00000565 beq  0x00000000 , 0x00000384 
- 00000890  0x00000566 beq  0x00000003 , 0x0000038a 
- 00000891  0x00000568 fetch  0x00000001 , 0x000046e0 
- 00000892  0x00000569 beq  0x00000006 , 0x00000390 
- 00000893  0x0000056a beq  0x00000007 , 0x00000390 
- 00000894  0x0000056b beq  0x00000002 , 0x00000396 
- 00000895  0x0000056d fetch  0x00000001 , 0x00004781 
- 00000896  0x0000056f store  0x00000001 , 0x000046b5 
- 00000897  0x00000570 branch  0x00003dc1 
- 00000898  0x00000572 jam  0x00000002 , 0x0000477a 
- 00000899  0x00000573 rtn 
- 00000900  0x00000576 fetch  0x00000001 , 0x000046e0 
- 00000901  0x00000577 beq  0x00000006 , 0x00000392 
- 00000902  0x00000578 beq  0x00000007 , 0x00000392 
- 00000903  0x00000579 beq  0x00000002 , 0x00000399 
- 00000904  0x0000057b fetch  0x00000001 , 0x0000477f 
- 00000905  0x0000057c branch  0x00000380 
- 00000906  0x0000057f fetch  0x00000001 , 0x000046e0 
- 00000907  0x00000580 beq  0x00000006 , 0x00000394 
- 00000908  0x00000581 beq  0x00000007 , 0x00000394 
- 00000909  0x00000582 beq  0x00000002 , 0x0000039b 
- 00000910  0x00000584 fetch  0x00000001 , 0x00004782 
- 00000911  0x00000585 branch  0x00000380 
- 00000912  0x00000588 fetch  0x00000001 , 0x00004b3a 
- 00000913  0x00000589 branch  0x00000380 
- 00000914  0x0000058b fetch  0x00000001 , 0x00004b38 
- 00000915  0x0000058c branch  0x00000380 
- 00000916  0x0000058e fetch  0x00000001 , 0x00004b3b 
- 00000917  0x0000058f branch  0x00000380 
- 00000918  0x00000592 fetch  0x00000001 , 0x00004b3a 
- 00000919  0x00000594 increase  0x00000003 , 0x0000003f 
- 00000920  0x00000595 branch  0x00000380 
- 00000921  0x00000597 fetch  0x00000001 , 0x00004b38 
- 00000922  0x00000598 branch  0x00000397 
- 00000923  0x0000059a fetch  0x00000001 , 0x00004b3b 
- 00000924  0x0000059b branch  0x00000397 
- 00000925  0x000005a8 disable  0x00000028 
- 00000926  0x000005a9 setarg  0x00000000 
- 00000927  0x000005aa store  0x00000006 , 0x0000469b 
- 00000928  0x000005ab call  0x000003d7 
- 00000929  0x000005ac call  0x00004079 
- 00000930  0x000005ad call  0x0000407e 
- 00000931  0x000005ae call  0x000003a7 
- 00000932  0x000005af nbranch  0x000005f1 , 0x00000028 
- 00000933  0x000005b0 call  0x000005e8 
- 00000934  0x000005b1 branch  0x00003fa0 
- 00000935  0x000005b4 call  0x000003a9 
- 00000936  0x000005b5 branch  0x0000409a 
- 00000937  0x000005b8 arg  0x00000000 , 0x00000011 
- 00000938  0x000005b9 call  0x000003af 
- 00000939  0x000005bc call  0x000003ad 
- 00000940  0x000005bd branch  0x0000408e 
- 00000941  0x000005c1 call  0x000003bf 
- 00000942  0x000005c2 branch  0x000003c5 
- 00000943  0x000005c5 fetcht  0x00000001 , 0x000046e2 
- 00000944  0x000005c6 call  0x000003ca 
- 00000945  0x000005c7 fetcht  0x00000001 , 0x000046e2 
- 00000946  0x000005c8 call  0x0000681d 
- 00000947  0x000005c9 setflag  0x00000001 , 0x00000000 , 0x00000011 
- 00000948  0x000005cc fetcht  0x00000001 , 0x000046e3 
- 00000949  0x000005cd call  0x000003ca 
- 00000950  0x000005ce fetcht  0x00000001 , 0x000046e3 
- 00000951  0x000005cf call  0x0000681d 
- 00000952  0x000005d0 setflag  0x00000001 , 0x00000001 , 0x00000011 
- 00000953  0x000005d3 fetcht  0x00000001 , 0x000046e4 
- 00000954  0x000005d4 call  0x000003ca 
- 00000955  0x000005d5 fetcht  0x00000001 , 0x000046e4 
- 00000956  0x000005d6 call  0x0000681d 
- 00000957  0x000005d7 setflag  0x00000001 , 0x00000002 , 0x00000011 
- 00000958  0x000005d8 rtn 
- 00000959  0x000005da fetcht  0x00000001 , 0x000046e5 
- 00000960  0x000005db call  0x000003cf 
- 00000961  0x000005dc fetcht  0x00000001 , 0x000046e5 
- 00000962  0x000005dd call  0x0000681d 
- 00000963  0x000005de nsetflag  0x00000001 , 0x00000003 , 0x00000011 
- 00000964  0x000005df branch  0x000003ca 
- 00000965  0x000005e1 fetcht  0x00000001 , 0x000046e6 
- 00000966  0x000005e2 call  0x000003cf 
- 00000967  0x000005e3 fetcht  0x00000001 , 0x000046e6 
- 00000968  0x000005e4 call  0x0000681d 
- 00000969  0x000005e5 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
- 00000970  0x000005e7 set1  0x00000007 , 0x00000002 
- 00000971  0x000005e8 arg  0x00008078 , 0x00000005 
- 00000972  0x000005e9 call  0x00006830 
- 00000973  0x000005ea set0  0x00000007 , 0x00000002 
- 00000974  0x000005eb branch  0x000003d3 
- 00000975  0x000005ee set0  0x00000007 , 0x00000002 
- 00000976  0x000005ef arg  0x00008078 , 0x00000005 
- 00000977  0x000005f0 call  0x00006830 
- 00000978  0x000005f1 set1  0x00000007 , 0x00000002 
- 00000979  0x000005f3 arg  0x0000807c , 0x00000005 
- 00000980  0x000005f4 branch  0x0000680a 
- 00000981  0x000005f7 set0  0x00000007 , 0x00000002 
- 00000982  0x000005f8 branch  0x00006806 
- 00000983  0x000005ff call  0x00003fc0 
- 00000984  0x00000600 disable  0x00000028 
- 00000985  0x00000601 branch  0x00003fe7 
- 00000986  0x00000607 call  0x000002ac 
- 00000987  0x00000608 jam  0x00000000 , 0x000046b4 
- 00000988  0x00000609 fetch  0x00000001 , 0x00004b79 
- 00000989  0x0000060a call  0x00004386 , 0x00000034 
- 00000990  0x0000060b setarg  0x00000000 
- 00000991  0x0000060c store  0x00000002 , 0x000046b0 
- 00000992  0x0000060d branch  0x0000426f 
- 00000993  0x00000610 jam  0x00000030 , 0x000011c6 
- 00000994  0x00000611 branch  0x000005c7 
- 00000995  0x00000614 arg  0x0000437b , 0x00000005 
- 00000996  0x00000615 arg  0x00000013 , 0x00000039 
- 00000997  0x00000616 call  0x00007f01 
- 00000998  0x00000617 branch  0x000057b8 
- 00000999  0x0000061a call  0x000002e7 
- 00001000  0x0000061b call  0x0000036d 
- 00001001  0x0000061c branch  0x000042cb 
- 00001002  0x0000061f fetch  0x00000001 , 0x0000450f 
- 00001003  0x00000620 pincrease  0x00000001 
- 00001004  0x00000621 store  0x00000001 , 0x0000450f 
- 00001005  0x00000622 beq  0x0000000c , 0x00005395 
- 00001006  0x00000623 call  0x000055aa 
- 00001007  0x00000624 call  0x0000561e 
- 00001008  0x00000625 call  0x00000569 
- 00001009  0x00000626 branch  0x0000538f 
- 00001010  0x00000629 fetch  0x00000001 , 0x00000016 
- 00001011  0x0000062a increase  0x00000001 , 0x0000003f 
- 00001012  0x0000062b store  0x00000001 , 0x00000016 
- 00001013  0x0000062c rtnne  0x00000028 
- 00001014  0x0000062d jam  0x00000025 , 0x00000016 
- 00001015  0x0000062e rtn 
- 00001016  0x00000632 call  0x000029bb 
- 00001017  0x00000633 call  0x0000006c 
- 00001018  0x00000634 branch  0x000054a3 
- 00001019  0x00000637 jam  0x00000020 , 0x000011c6 
- 00001020  0x00000638 branch  0x000005c7 
- 00001021  0x0000063b jam  0x00000021 , 0x000011c6 
- 00001022  0x0000063c branch  0x000005c7 
- 00001023  0x0000063f fetch  0x00000001 , 0x00000456 
- 00001024  0x00000640 bbit1  0x00000005 , 0x0000041f 
- 00001025  0x00000641 call  0x00000563 
- 00001026  0x00000642 fetch  0x00000001 , 0x0000478e 
- 00001027  0x00000643 nbranch  0x00000409 , 0x00000034 
- 00001028  0x00000644 fetch  0x00000001 , 0x0000043f 
- 00001029  0x00000645 bbit0  0x00000004 , 0x0000040d 
- 00001030  0x00000646 fetch  0x00000001 , 0x000002da 
- 00001031  0x00000647 branch  0x0000040d , 0x00000034 
- 00001032  0x00000648 branch  0x00005664 
- 00001033  0x0000064a fetch  0x00000001 , 0x0000478e 
- 00001034  0x0000064b increase  0xffffffff , 0x0000003f 
- 00001035  0x0000064c store  0x00000001 , 0x0000478e 
- 00001036  0x0000064d branch  0x00005664 
- 00001037  0x0000064f fetch  0x00000001 , 0x000044c4 
- 00001038  0x00000650 bne  0x00000005 , 0x00000410 
- 00001039  0x00000651 jam  0x00000003 , 0x0000478e 
- 00001040  0x00000653 call  0x00005892 
- 00001041  0x00000654 call  0x000001a6 , 0x00000034 
- 00001042  0x00000655 branch  0x00005622 
- 00001043  0x00000658 fetch  0x00000001 , 0x000046c5 
- 00001044  0x00000659 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00001045  0x0000065a rtnne  0x00000003 
- 00001046  0x0000065b fetch  0x00000001 , 0x000047c3 
- 00001047  0x0000065c rtn  0x00000034 
- 00001048  0x0000065d fetch  0x00000001 , 0x000043dd 
- 00001049  0x0000065e rtn  0x00000034 
- 00001050  0x0000065f fetch  0x00000001 , 0x000043dc 
- 00001051  0x00000660 set1  0x00000004 , 0x0000003f 
- 00001052  0x00000661 store  0x00000001 , 0x000043dc 
- 00001053  0x00000662 call  0x00005650 
- 00001054  0x00000663 rtn 
- 00001055  0x00000666 call  0x00000413 
- 00001056  0x00000669 fetch  0x00000001 , 0x00004d76 
- 00001057  0x0000066a sub  0x0000003f , 0x00000002 , 0x0000003e 
- 00001058  0x0000066b ncall  0x00000567 , 0x00000002 
- 00001059  0x0000066c fetch  0x00000001 , 0x00004d76 
- 00001060  0x0000066d rtneq  0x00000000 
- 00001061  0x0000066e increase  0xffffffff , 0x0000003f 
- 00001062  0x0000066f store  0x00000001 , 0x00004d76 
- 00001063  0x00000670 rtn 
- 00001064  0x00000673 fetch  0x00000001 , 0x000047a1 
- 00001065  0x00000674 rtn  0x00000034 
- 00001066  0x00000675 fetch  0x00000001 , 0x000046c5 
- 00001067  0x00000676 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00001068  0x00000677 rtneq  0x00000003 
- 00001069  0x00000678 jam  0x00000002 , 0x000046c6 
- 00001070  0x00000679 rtn 
- 00001071  0x0000067c rtnmark1  0x0000000f 
- 00001072  0x0000067d call  0x00005890 
- 00001073  0x0000067e nrtn  0x00000034 
- 00001074  0x0000067f fetch  0x00000001 , 0x000002d9 
- 00001075  0x00000680 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00001076  0x00000681 store  0x00000001 , 0x0000450c 
- 00001077  0x00000682 ifetch  0x00000001 , 0x00000006 
- 00001078  0x00000683 and  0x0000003f , 0x0000001f , 0x0000003f 
- 00001079  0x00000684 store  0x00000001 , 0x0000450b 
- 00001080  0x00000685 rtn  0x00000034 
- 00001081  0x00000686 copy  0x00000006 , 0x0000003f 
- 00001082  0x00000687 store  0x00000002 , 0x0000450d 
- 00001083  0x00000688 fetch  0x00000001 , 0x0000450c 
- 00001084  0x00000689 beq  0x00000003 , 0x0000043e 
- 00001085  0x0000068a branch  0x0000568d 
- 00001086  0x0000068c fetch  0x00000001 , 0x000002db 
- 00001087  0x0000068d beq  0x00000000 , 0x00000442 
- 00001088  0x0000068e beq  0x00000001 , 0x00000449 
- 00001089  0x0000068f branch  0x00005c65 
- 00001090  0x00000691 call  0x00005c7b 
- 00001091  0x00000692 fetch  0x00000001 , 0x00004b63 
- 00001092  0x00000693 rtn  0x00000034 
- 00001093  0x00000696 fetch  0x00000001 , 0x000043d8 
- 00001094  0x00000697 store  0x00000001 , 0x00004172 
- 00001095  0x00000698 store  0x00000001 , 0x000047c5 
- 00001096  0x00000699 rtn 
- 00001097  0x0000069b ifetch  0x00000005 , 0x00000006 
- 00001098  0x0000069c store  0x00000005 , 0x000043ce 
- 00001099  0x0000069d ifetch  0x00000002 , 0x00000006 
- 00001100  0x0000069e store  0x00000002 , 0x0000045f 
- 00001101  0x0000069f branch  0x00005c8a 
- 00001102  0x000006a2 ifetch  0x00000002 , 0x00000006 
- 00001103  0x000006a3 beq  0x00000004 , 0x00000452 
- 00001104  0x000006a4 beq  0x00000006 , 0x0000047e 
- 00001105  0x000006a5 branch  0x00005698 
- 00001106  0x000006a7 call  0x00007ea5 
- 00001107  0x000006a8 call  0x00000428 
- 00001108  0x000006a9 call  0x00007e9f 
- 00001109  0x000006aa ifetch  0x00000003 , 0x00000006 
- 00001110  0x000006ab store  0x00000003 , 0x00000477 
- 00001111  0x000006ac beq  0x00000010 , 0x00000461 
- 00001112  0x000006ad rshift8  0x0000003f , 0x00000002 
- 00001113  0x000006ae sub  0x00000002 , 0x00000024 , 0x0000003e 
- 00001114  0x000006af branch  0x0000046f , 0x00000002 
- 00001115  0x000006b0 arg  0x000047c6 , 0x00000002 
- 00001116  0x000006b1 storet  0x00000002 , 0x000044bc 
- 00001117  0x000006b2 call  0x000058ad 
- 00001118  0x000006b3 setarg  0x00008e7a 
- 00001119  0x000006b4 store  0x00000002 , 0x000044bc 
- 00001120  0x000006b5 rtn 
- 00001121  0x000006b8 call  0x000059fa 
- 00001122  0x000006b9 call  0x00005879 
- 00001123  0x000006ba increase  0x00000007 , 0x00000006 
- 00001124  0x000006bb ifetch  0x00000001 , 0x00000006 
- 00001125  0x000006bc rtnne  0x00000011 
- 00001126  0x000006bd increase  0x00000005 , 0x00000006 
- 00001127  0x000006be ifetch  0x00000002 , 0x00000006 
- 00001128  0x000006bf arg  0x00001812 , 0x00000002 
- 00001129  0x000006c0 isub  0x00000002 , 0x0000003e 
- 00001130  0x000006c1 nrtn  0x00000005 
- 00001131  0x000006c2 increase  0xfffffffc , 0x00000006 
- 00001132  0x000006c3 setarg  0x0000002b 
- 00001133  0x000006c4 istore  0x00000002 , 0x00000006 
- 00001134  0x000006c5 rtn 
- 00001135  0x000006c8 beq  0x0000000a , 0x00000471 
- 00001136  0x000006c9 branch  0x000058ad 
- 00001137  0x000006cb fetcht  0x00000002 , 0x00000478 
- 00001138  0x000006cc fetch  0x00000001 , 0x000044e9 
- 00001139  0x000006cd bbit1  0x00000003 , 0x00000478 
- 00001140  0x000006cf fetch  0x00000002 , 0x00000478 
- 00001141  0x000006d0 beq  0x00000013 , 0x00005a76 
- 00001142  0x000006d1 fetcht  0x00000002 , 0x00000478 
- 00001143  0x000006d2 branch  0x000059bf 
- 00001144  0x000006d4 fetch  0x00000002 , 0x000044fa 
- 00001145  0x000006d5 isub  0x00000002 , 0x0000003e 
- 00001146  0x000006d6 nbranch  0x00000474 , 0x00000005 
- 00001147  0x000006d7 call  0x00005a42 
- 00001148  0x000006d8 nbranch  0x00000474 , 0x00000028 
- 00001149  0x000006d9 branch  0x000059e2 
- 00001150  0x000006dc ifetch  0x00000001 , 0x00000006 
- 00001151  0x000006dd beq  0x00000001 , 0x00000482 
- 00001152  0x000006de beq  0x00000005 , 0x00000484 
- 00001153  0x000006df branch  0x00005af5 
- 00001154  0x000006e1 jam  0x00000001 , 0x00004b70 
- 00001155  0x000006e2 branch  0x00005b09 
- 00001156  0x000006e4 jam  0x00000082 , 0x000011c6 
- 00001157  0x000006e5 branch  0x000005c7 
- 00001158  0x000006e8 fetch  0x00000001 , 0x00000016 
- 00001159  0x000006e9 bne  0x00000027 , 0x000056f2 
- 00001160  0x000006ea call  0x0000048c 
- 00001161  0x000006eb arg  0x00000000 , 0x00000007 
- 00001162  0x000006ec fetch  0x00000002 , 0x00004482 
- 00001163  0x000006ed branch  0x00007f08 
- 00001164  0x000006ef random  0x0000003f 
- 00001165  0x000006f0 arg  0x000001ff , 0x00000002 
- 00001166  0x000006f1 iand  0x00000002 , 0x0000003f 
- 00001167  0x000006f2 add  0x0000003f , 0x000000fa , 0x0000003f 
- 00001168  0x000006f3 branch  0x00003cbe 
- 00001169  0x000006f6 disable  0x0000002b 
- 00001170  0x000006f7 branch  0x00000494 , 0x0000002e 
- 00001171  0x000006f8 nbranch  0x00005806 , 0x0000002d 
- 00001172  0x000006fa call  0x00002bcb 
- 00001173  0x000006fb fetch  0x00000002 , 0x000040c1 
- 00001174  0x000006fc store  0x00000002 , 0x0000044d 
- 00001175  0x000006fd fetch  0x00000001 , 0x000046c5 
- 00001176  0x000006fe compare  0x00000003 , 0x0000003f , 0x00000003 
- 00001177  0x000006ff nbranch  0x00002bde , 0x00000001 
- 00001178  0x00000700 branch  0x000057fb 
- 00001179  0x00000703 jam  0x00000022 , 0x000011c6 
- 00001180  0x00000704 branch  0x000005c7 
- 00001181  0x00000707 hfetch  0x00000001 , 0x00008077 
- 00001182  0x00000708 and_into  0x000000fd , 0x0000003f 
- 00001183  0x00000709 hstore  0x00000001 , 0x00008077 
- 00001184  0x0000070a hfetcht  0x00000001 , 0x00008073 
- 00001185  0x0000070b or_into  0x00000002 , 0x00000002 
- 00001186  0x0000070c hstoret  0x00000001 , 0x00008073 
- 00001187  0x0000070d call  0x000063ee 
- 00001188  0x0000070e and_into  0x000000fd , 0x00000002 
- 00001189  0x0000070f nop  0x0000000d 
- 00001190  0x00000710 call  0x000004aa 
- 00001191  0x00000711 hstoret  0x00000001 , 0x00008073 
- 00001192  0x00000712 rtn 
- 00001193  0x00000715 call  0x000064dd 
- 00001194  0x00000717 hfetch  0x00000001 , 0x00008081 
- 00001195  0x00000718 set1  0x00000000 , 0x0000003f 
- 00001196  0x00000719 set0  0x00000001 , 0x0000003f 
- 00001197  0x0000071a set0  0x00000003 , 0x0000003f 
- 00001198  0x0000071b hstore  0x00000001 , 0x00008081 
- 00001199  0x0000071c rtn 
- 00001200  0x00000720 jam  0x00000000 , 0x000011c6 
- 00001201  0x00000721 branch  0x000005c7 
- 00001202  0x00000724 call  0x000021c9 
- 00001203  0x00000725 nrtn  0x00000028 
- 00001204  0x00000727 disable  0x00000028 
- 00001205  0x00000728 jam  0x00000020 , 0x00000011 
- 00001206  0x00000729 set0  0x0000000b , 0x00000000 
- 00001207  0x0000072a set0  0x0000002d , 0x00000000 
- 00001208  0x0000072c call  0x00002a4f 
- 00001209  0x0000072d call  0x000022e6 
- 00001210  0x0000072e bmark1  0x0000000b , 0x000004bf 
- 00001211  0x0000072f call  0x00002455 
- 00001212  0x00000730 nbranch  0x000004b8 , 0x00000034 
- 00001213  0x00000731 bmark1  0x0000002d , 0x000004c8 
- 00001214  0x00000732 branch  0x000021ec 
- 00001215  0x00000735 call  0x00002a4d 
- 00001216  0x00000736 arg  0x00000010 , 0x00000001 
- 00001217  0x00000737 call  0x000022dc 
- 00001218  0x00000738 set1  0x0000002d , 0x00000000 
- 00001219  0x00000739 set0  0x0000000b , 0x00000000 
- 00001220  0x0000073a fetch  0x00000001 , 0x00000077 
- 00001221  0x0000073b iforce  0x00000004 
- 00001222  0x0000073c jam  0x00000002 , 0x00000011 
- 00001223  0x0000073d branch  0x000004b8 
- 00001224  0x00000740 fetch  0x00000004 , 0x00000165 
- 00001225  0x00000741 pincrease  0x00000008 
- 00001226  0x00000742 store  0x00000004 , 0x00000165 
- 00001227  0x00000743 branch  0x000021f8 
- 00001228  0x00000746 bmark1  0x0000002c , 0x0000264d 
- 00001229  0x00000747 branch  0x0000258f 
- 00001230  0x0000074a jam  0x00000023 , 0x000011c6 
- 00001231  0x0000074b branch  0x000005c7 
- 00001232  0x0000074e fetch  0x00000001 , 0x00000030 
- 00001233  0x0000074f isolate1  0x00000000 , 0x0000003f 
- 00001234  0x00000750 call  0x000004d4 , 0x00000001 
- 00001235  0x00000751 branch  0x0000248a 
- 00001236  0x00000753 fetch  0x00000001 , 0x00000047 
- 00001237  0x00000754 isolate1  0x00000003 , 0x0000003f 
- 00001238  0x00000755 call  0x00000420 , 0x00000001 
- 00001239  0x00000756 ncall  0x00000563 , 0x00000001 
- 00001240  0x00000757 branch  0x00000569 
- 00001241  0x0000075a call  0x000024f0 
- 00001242  0x0000075b nbranch  0x000028f9 , 0x00000018 
- 00001243  0x0000075c call  0x000029bb 
- 00001244  0x0000075d call  0x0000006c 
- 00001245  0x0000075e branch  0x00002518 
- 00001246  0x00000761 rtnmark1  0x00000026 
- 00001247  0x00000762 call  0x00002afa 
- 00001248  0x00000763 fetch  0x00000003 , 0x0000416f 
- 00001249  0x00000764 rtn  0x00000034 
- 00001250  0x00000765 fetch  0x00000001 , 0x00004091 
- 00001251  0x00000766 rtn  0x00000034 
- 00001252  0x00000767 fetch  0x00000001 , 0x0000465a 
- 00001253  0x00000768 branch  0x000004e8 , 0x00000034 
- 00001254  0x00000769 fetch  0x00000001 , 0x000045b1 
- 00001255  0x0000076a rtn  0x00000034 
- 00001256  0x0000076c fetch  0x00000001 , 0x000044c0 
- 00001257  0x0000076d nrtn  0x00000034 
- 00001258  0x0000076e call  0x00002c3a 
- 00001259  0x0000076f nrtn  0x00000034 
- 00001260  0x00000770 fetch  0x00000001 , 0x00004040 
- 00001261  0x00000771 compare  0x00000003 , 0x0000003f , 0x00000007 
- 00001262  0x00000772 nbranch  0x00002b9d , 0x00000001 
- 00001263  0x00000773 fetch  0x00000002 , 0x00004042 
- 00001264  0x00000774 arg  0x0000ffff , 0x00000002 
- 00001265  0x00000775 isub  0x00000002 , 0x0000003e 
- 00001266  0x00000776 rtn  0x00000005 
- 00001267  0x00000777 branch  0x00002b7d 
- 00001268  0x0000077a disable  0x0000002b 
- 00001269  0x0000077b fetch  0x00000001 , 0x00000030 
- 00001270  0x0000077c rtnbit0  0x00000001 
- 00001271  0x0000077d nbranch  0x00002bd0 , 0x0000002d 
- 00001272  0x0000077e call  0x00002bcb 
- 00001273  0x0000077f fetch  0x00000002 , 0x000040c1 
- 00001274  0x00000780 store  0x00000002 , 0x0000003e 
- 00001275  0x00000781 fetch  0x00000001 , 0x00000047 
- 00001276  0x00000782 bbit1  0x00000003 , 0x00002bde 
- 00001277  0x00000783 bmark0  0x0000000d , 0x00002bde 
- 00001278  0x00000784 call  0x00005274 
- 00001279  0x00000785 nbranch  0x00002bde , 0x00000034 
- 00001280  0x00000786 call  0x00000502 , 0x00000034 
- 00001281  0x00000787 branch  0x00002bbe 
- 00001282  0x00000789 jam  0x00000001 , 0x0000008a 
- 00001283  0x0000078a jam  0x00000000 , 0x0000008b 
- 00001284  0x0000078b rtn 
- 00001285  0x0000078e jam  0x00000001 , 0x000011c6 
- 00001286  0x0000078f branch  0x000005c7 
- 00001287  0x00000792 jam  0x00000002 , 0x000011c6 
- 00001288  0x00000793 branch  0x000005c7 
- 00001289  0x00000796 fetch  0x00000001 , 0x00000552 
- 00001290  0x00000797 store  0x00000001 , 0x000004c9 
- 00001291  0x00000798 beq  0x00000013 , 0x0000050d 
- 00001292  0x00000799 branch  0x00005db4 
- 00001293  0x0000079b call  0x00005dcf 
- 00001294  0x0000079c jam  0x00000001 , 0x00004b01 
- 00001295  0x0000079d fetch  0x00000001 , 0x00004b03 
- 00001296  0x0000079e rtn  0x00000034 
- 00001297  0x0000079f jam  0x00000002 , 0x00004b03 
- 00001298  0x000007a0 rtn 
- 00001299  0x000007a3 disable  0x00000028 
- 00001300  0x000007a4 call  0x000062c1 
- 00001301  0x000007a5 fetch  0x00000001 , 0x00000048 
- 00001302  0x000007a6 rtn  0x00000034 
- 00001303  0x000007a7 bbit1  0x00000007 , 0x0000051c 
- 00001304  0x000007a8 beq  0x00000003 , 0x0000051e 
- 00001305  0x000007a9 beq  0x00000031 , 0x00000520 
- 00001306  0x000007aa beq  0x00000017 , 0x00000522 
- 00001307  0x000007ab branch  0x00006010 
- 00001308  0x000007ae jam  0x00000010 , 0x000011c6 
- 00001309  0x000007af branch  0x000005c7 
- 00001310  0x000007b2 jam  0x00000011 , 0x000011c6 
- 00001311  0x000007b3 branch  0x000005c7 
- 00001312  0x000007b6 jam  0x00000001 , 0x00004b03 
- 00001313  0x000007b7 branch  0x000061c3 
- 00001314  0x000007ba jam  0x00000004 , 0x00004b0b 
- 00001315  0x000007bb branch  0x000061a4 
- 00001316  0x000007be call  0x000062bc 
- 00001317  0x000007bf nrtn  0x00000034 
- 00001318  0x000007c1 fetch  0x00000001 , 0x00000055 
- 00001319  0x000007c2 rtn  0x00000034 
- 00001320  0x000007c3 beq  0x00000004 , 0x00000546 
- 00001321  0x000007c4 beq  0x00000010 , 0x0000052b 
- 00001322  0x000007c5 branch  0x00006320 
- 00001323  0x000007c8 fetch  0x00000001 , 0x0000455b 
- 00001324  0x000007c9 rtneq  0x00000000 
- 00001325  0x000007ca beq  0x00000001 , 0x0000052f 
- 00001326  0x000007cb branch  0x0000635f 
- 00001327  0x000007cd rtn  0x00000029 
- 00001328  0x000007d0 fetch  0x00000001 , 0x0000016d 
- 00001329  0x000007d1 bbit1  0x00000000 , 0x00000533 
- 00001330  0x000007d2 branch  0x00006399 
- 00001331  0x000007d4 fetch  0x00000001 , 0x00004b03 
- 00001332  0x000007d5 beq  0x00000001 , 0x0000639d 
- 00001333  0x000007d7 fetch  0x00000001 , 0x000041bd 
- 00001334  0x000007d8 branch  0x000063a9 , 0x00000034 
- 00001335  0x000007d9 fetch  0x00000001 , 0x000004d1 
- 00001336  0x000007da rtnbit0  0x00000003 
- 00001337  0x000007db rtnbit0  0x00000002 
- 00001338  0x000007dc fetch  0x00000001 , 0x00004b02 
- 00001339  0x000007dd rtn  0x00000034 
- 00001340  0x000007de jam  0x00000000 , 0x00004b02 
- 00001341  0x000007df fetch  0x00000004 , 0x000004e9 
- 00001342  0x000007e0 arg  0x00000014 , 0x00000002 
- 00001343  0x000007e1 iadd  0x00000002 , 0x00000002 
- 00001344  0x000007e2 copy  0x00000022 , 0x0000003f 
- 00001345  0x000007e3 isub  0x00000002 , 0x0000003e 
- 00001346  0x000007e4 nbranch  0x00000544 , 0x00000002 
- 00001347  0x000007e5 branch  0x00006349 
- 00001348  0x000007e8 jam  0x00000001 , 0x00004b02 
- 00001349  0x000007e9 rtn 
- 00001350  0x000007ec jam  0x00000014 , 0x00004809 
- 00001351  0x000007ed branch  0x0000636f 
- 00001352  0x000007f4 call  0x000062bc 
- 00001353  0x000007f5 nbranch  0x00007ddb , 0x00000034 
- 00001354  0x000007f6 fetch  0x00000001 , 0x00000a99 
- 00001355  0x000007f7 bmark0  0x00000009 , 0x00007dd6 
- 00001356  0x000007f8 beq  0x0000001f , 0x00000550 
- 00001357  0x000007f9 beq  0x00000020 , 0x00000553 
- 00001358  0x000007fa beq  0x00000012 , 0x0000055d 
- 00001359  0x000007fb branch  0x00007dca 
- 00001360  0x000007fe jam  0x00000034 , 0x00000185 
- 00001361  0x000007ff fetch  0x00000006 , 0x0000044f 
- 00001362  0x00000800 branch  0x00000555 
- 00001363  0x00000802 jam  0x00000033 , 0x00000185 
- 00001364  0x00000803 fetch  0x00000006 , 0x00000040 
- 00001365  0x00000805 store  0x00000006 , 0x00000186 
- 00001366  0x00000807 fetch  0x00000004 , 0x000046d3 
- 00001367  0x00000808 rtnbit0  0x00000007 
- 00001368  0x00000809 arg  0x00000007 , 0x00000007 
- 00001369  0x0000080a call  0x000043d2 
- 00001370  0x0000080b call  0x000042e8 
- 00001371  0x0000080d call  0x000042fb 
- 00001372  0x0000080e branch  0x0000011f 
- 00001373  0x00000811 call  0x00005890 
- 00001374  0x00000812 nrtn  0x00000034 
- 00001375  0x00000813 branch  0x00005abf 
- 00001376  0x00000816 jam  0x00000001 , 0x00004d79 
- 00001377  0x00000817 jam  0x00000000 , 0x00004d76 
- 00001378  0x00000818 rtn 
- 00001379  0x0000081a fetch  0x00000001 , 0x00004d76 
- 00001380  0x0000081b increase  0x00000001 , 0x0000003f 
- 00001381  0x0000081c store  0x00000001 , 0x00004d76 
- 00001382  0x0000081d rtn 
- 00001383  0x00000820 jam  0x00000003 , 0x00004d76 
- 00001384  0x00000821 rtn 
- 00001385  0x00000824 fetch  0x00000002 , 0x00004682 
- 00001386  0x00000825 rtnbit1  0x0000000b 
- 00001387  0x00000826 rtnbit1  0x00000007 
- 00001388  0x00000827 rtnbit1  0x00000006 
- 00001389  0x00000829 arg  0x00004cff , 0x00000011 
- 00001390  0x0000082a call  0x0000009b 
- 00001391  0x0000082b storet  0x00000001 , 0x00004d77 
- 00001392  0x0000082d setarg  0x00000082 
- 00001393  0x0000082e bmark1  0x00000026 , 0x00000573 
- 00001394  0x0000082f setarg  0x00000080 
- 00001395  0x00000831 isub  0x00000002 , 0x0000003e 
- 00001396  0x00000832 nbranch  0x0000058b , 0x00000002 
- 00001397  0x00000834 fetch  0x00000001 , 0x00004d76 
- 00001398  0x00000835 sub  0x0000003f , 0x00000002 , 0x0000003e 
- 00001399  0x00000836 nbranch  0x0000057b , 0x00000002 
- 00001400  0x00000837 fetch  0x00000001 , 0x00004d76 
- 00001401  0x00000838 beq  0x00000000 , 0x0000058c 
- 00001402  0x00000839 rtn 
- 00001403  0x0000083c fetch  0x00000001 , 0x00004d76 
- 00001404  0x0000083d rtnne  0x00000032 
- 00001405  0x0000083e jam  0x00000000 , 0x00004d76 
- 00001406  0x00000840 fetcht  0x00000001 , 0x00004d77 
- 00001407  0x00000841 setarg  0x00000077 
- 00001408  0x00000842 bmark1  0x00000026 , 0x00000582 
- 00001409  0x00000843 setarg  0x00000075 
- 00001410  0x00000845 isub  0x00000002 , 0x0000003e 
- 00001411  0x00000846 nrtn  0x00000002 
- 00001412  0x00000847 fetch  0x00000001 , 0x00004d79 
- 00001413  0x00000848 beq  0x00000000 , 0x00000593 
- 00001414  0x00000849 increase  0xffffffff , 0x0000003f 
- 00001415  0x0000084a store  0x00000001 , 0x00004d79 
- 00001416  0x0000084b beq  0x00000000 , 0x00000593 
- 00001417  0x0000084e jam  0x00000000 , 0x000041de 
- 00001418  0x0000084f rtn 
- 00001419  0x00000852 jam  0x00000000 , 0x00004d76 
- 00001420  0x00000854 fetch  0x00000001 , 0x00004d79 
- 00001421  0x00000855 beq  0x00000002 , 0x00000591 
- 00001422  0x00000856 increase  0x00000001 , 0x0000003f 
- 00001423  0x00000857 store  0x00000001 , 0x00004d79 
- 00001424  0x00000858 beq  0x00000001 , 0x00000589 
- 00001425  0x0000085a jam  0x00000002 , 0x000041de 
- 00001426  0x0000085b rtn 
- 00001427  0x0000085e jam  0x00000004 , 0x000041de 
- 00001428  0x0000085f rtn 
- 00001429  0x00000863 storet  0x00000001 , 0x00000017 
- 00001430  0x00000864 add  0x00000002 , 0x00000000 , 0x00000011 
- 00001431  0x00000865 call  0x00002981 
- 00001432  0x00000866 setarg  0x00000500 
- 00001433  0x00000867 call  0x00002a8f 
- 00001434  0x00000869 jam  0x00000001 , 0x00008906 
- 00001435  0x0000086a jam  0x0000003c , 0x00008900 
- 00001436  0x0000086b jam  0x000000e0 , 0x00008901 
- 00001437  0x0000086c nop  0x0000000a 
- 00001438  0x0000086d jam  0x00000001 , 0x00008902 
- 00001439  0x0000086e jam  0x0000003d , 0x00008902 
- 00001440  0x0000086f nop  0x0000000a 
- 00001441  0x00000870 jam  0x000000b7 , 0x00008903 
- 00001442  0x00000871 nop  0x0000000a 
- 00001443  0x00000872 jam  0x0000007d , 0x00008902 
- 00001444  0x00000873 fetch  0x00000001 , 0x000041de 
- 00001445  0x00000876 beq  0x00000002 , 0x000005ad 
- 00001446  0x00000878 beq  0x00000004 , 0x000005b5 
- 00001447  0x00000879 beq  0x00000020 , 0x000005bf 
- 00001448  0x0000087c call  0x000005ba 
- 00001449  0x0000087e jam  0x000000d0 , 0x00008955 
- 00001450  0x0000087f jam  0x000000e0 , 0x00008956 
- 00001451  0x00000881 jam  0x0000006c , 0x00008958 
- 00001452  0x00000883 branch  0x0000294b 
- 00001453  0x00000891 jam  0x000000fb , 0x0000894c 
- 00001454  0x00000892 jam  0x000000ef , 0x0000894d 
- 00001455  0x00000893 jam  0x000000ec , 0x0000894e 
- 00001456  0x00000894 jam  0x0000005e , 0x0000894f 
- 00001457  0x00000897 jam  0x000000d0 , 0x00008955 
- 00001458  0x00000898 jam  0x000000e0 , 0x00008956 
- 00001459  0x0000089a jam  0x0000003c , 0x00008958 
- 00001460  0x0000089c branch  0x00002953 
- 00001461  0x000008a9 call  0x000005ba 
- 00001462  0x000008ab jam  0x000000d0 , 0x00008955 
- 00001463  0x000008ac jam  0x000000c0 , 0x00008956 
- 00001464  0x000008ae jam  0x0000006c , 0x00008958 
- 00001465  0x000008b0 branch  0x0000295b 
- 00001466  0x000008b3 jam  0x0000005b , 0x0000894c 
- 00001467  0x000008b4 jam  0x00000096 , 0x0000894d 
- 00001468  0x000008b5 jam  0x0000002c , 0x0000894e 
- 00001469  0x000008b6 jam  0x00000046 , 0x0000894f 
- 00001470  0x000008b7 rtn 
- 00001471  0x000008c2 jam  0x000000c2 , 0x00008956 
- 00001472  0x000008c3 jam  0x000000d0 , 0x00008955 
- 00001473  0x000008c4 rtn 
- 00001474  0x000008c7 force  0x00000008 , 0x00000015 
- 00001475  0x000008c8 branch  0x000028fa 
- 00001476  0x000008cb call  0x00002978 
- 00001477  0x000008cc jam  0x00000005 , 0x00008042 
- 00001478  0x000008cd rtn 
- 00001479  0x000008d1 fetcht  0x00000001 , 0x000011c6 
- 00001480  0x000008d2 rshift4  0x00000002 , 0x00000002 
- 00001481  0x000008d3 fetch  0x00000001 , 0x00004b54 
- 00001482  0x000008d4 isub  0x00000002 , 0x0000003e 
- 00001483  0x000008d5 branch  0x000005e6 , 0x00000005 
- 00001484  0x000008d6 storet  0x00000001 , 0x00004b54 
- 00001485  0x000008d7 increase  0x00000001 , 0x00000002 
- 00001486  0x000008d8 setarg  0x00000100 
- 00001487  0x000008d9 imul32  0x00000002 , 0x00000002 
- 00001488  0x000008da fetch  0x00000003 , 0x00004b55 
- 00001489  0x000008db isub  0x00000002 , 0x0000003f 
- 00001490  0x000008dd fetcht  0x00000003 , 0x00004b58 
- 00001491  0x000008de iadd  0x00000002 , 0x0000003f 
- 00001492  0x000008df increase  0xfffffffb , 0x0000003f 
- 00001493  0x000008e0 store  0x00000003 , 0x00004b5b 
- 00001494  0x000008e1 call  0x0000015d 
- 00001495  0x000008e3 fetch  0x00000003 , 0x00004b5b 
- 00001496  0x000008e4 arg  0x00000100 , 0x00000002 
- 00001497  0x000008e5 arg  0x00001f00 , 0x00000011 
- 00001498  0x000008e6 call  0x00006562 
- 00001499  0x000008e7 fetch  0x00000004 , 0x00001f00 
- 00001500  0x000008e8 fetcht  0x00000004 , 0x00004b5e 
- 00001501  0x000008e9 isub  0x00000002 , 0x0000003e 
- 00001502  0x000008ea nbranch  0x000005d7 , 0x00000005 
- 00001503  0x000008eb call  0x0000012d 
- 00001504  0x000008ed setarg  0x00001f00 
- 00001505  0x000008ee store  0x00000002 , 0x00004199 
- 00001506  0x000008ef jam  0x00000040 , 0x0000419b 
- 00001507  0x000008f0 call  0x000064ca 
- 00001508  0x000008f1 setarg  0x00000000 
- 00001509  0x000008f2 store  0x00000004 , 0x00004199 
- 00001510  0x000008f4 fetch  0x00000001 , 0x000011c6 
- 00001511  0x000008f5 branch  0x00000001 
- 00001512  0x000008fb fetch  0x00000004 , 0x0000469b 
- 00001513  0x000008fc rtn  0x00000034 
- 00001514  0x000008fd call  0x0000063b 
- 00001515  0x000008fe setarg  0x00000006 
- 00001516  0x000008ff call  0x0000062e 
- 00001517  0x00000900 setarg  0x00000003 
- 00001518  0x00000901 call  0x00000634 
- 00001519  0x00000902 fetch  0x00000001 , 0x00004b0d 
- 00001520  0x00000903 beq  0x00000001 , 0x000005f4 
- 00001521  0x00000905 arg  0x00000005 , 0x00000039 
- 00001522  0x00000906 arg  0x00004b0d , 0x00000005 
- 00001523  0x00000907 branch  0x00007ed4 
- 00001524  0x0000090a fetch  0x00000002 , 0x00004b0e 
- 00001525  0x0000090b store  0x00000002 , 0x000011be 
- 00001526  0x0000090c fetch  0x00000002 , 0x0000469b 
- 00001527  0x0000090d store  0x00000002 , 0x000011c0 
- 00001528  0x0000090e call  0x00000607 
- 00001529  0x0000090f fetch  0x00000002 , 0x000011be 
- 00001530  0x00000910 store  0x00000002 , 0x00004b0e 
- 00001531  0x00000911 fetch  0x00000002 , 0x000011c0 
- 00001532  0x00000912 store  0x00000002 , 0x0000469b 
- 00001533  0x00000914 fetch  0x00000002 , 0x00004b10 
- 00001534  0x00000915 store  0x00000002 , 0x000011be 
- 00001535  0x00000916 fetch  0x00000002 , 0x0000469d 
- 00001536  0x00000917 store  0x00000002 , 0x000011c0 
- 00001537  0x00000918 call  0x00000607 
- 00001538  0x00000919 fetch  0x00000002 , 0x000011be 
- 00001539  0x0000091a store  0x00000002 , 0x00004b10 
- 00001540  0x0000091b fetch  0x00000002 , 0x000011c0 
- 00001541  0x0000091c store  0x00000002 , 0x0000469d 
- 00001542  0x0000091d rtn 
- 00001543  0x00000924 fetch  0x00000002 , 0x000011be 
- 00001544  0x00000925 fetcht  0x00000002 , 0x000011c0 
- 00001545  0x00000926 iadd  0x00000002 , 0x0000003f 
- 00001546  0x00000927 store  0x00000003 , 0x000011c2 
- 00001547  0x00000928 isolate1  0x00000010 , 0x0000003f 
- 00001548  0x00000929 branch  0x00000614 , 0x00000001 
- 00001549  0x0000092a fetch  0x00000001 , 0x000011c3 
- 00001550  0x0000092b beq  0x000000ff , 0x0000061b 
- 00001551  0x0000092c fetch  0x00000001 , 0x000011c2 
- 00001552  0x0000092e rshift  0x0000003f , 0x0000003f 
- 00001553  0x0000092f store  0x00000002 , 0x000011be 
- 00001554  0x00000930 store  0x00000002 , 0x000011c0 
- 00001555  0x00000931 rtn 
- 00001556  0x00000933 fetch  0x00000001 , 0x000011c3 
- 00001557  0x00000934 beq  0x00000000 , 0x00000618 
- 00001558  0x00000935 fetch  0x00000003 , 0x000011c2 
- 00001559  0x00000936 branch  0x00000610 
- 00001560  0x00000938 jam  0x00000000 , 0x000011c4 
- 00001561  0x00000939 fetch  0x00000001 , 0x000011c2 
- 00001562  0x0000093a branch  0x00000610 
- 00001563  0x0000093d fetch  0x00000001 , 0x000011c2 
- 00001564  0x0000093e call  0x00000626 
- 00001565  0x0000093f store  0x00000001 , 0x000011be 
- 00001566  0x00000940 store  0x00000001 , 0x000011c0 
- 00001567  0x00000941 branch  0x00000624 , 0x00000034 
- 00001568  0x00000942 setarg  0x000000ff 
- 00001569  0x00000944 store  0x00000001 , 0x000011bf 
- 00001570  0x00000945 store  0x00000001 , 0x000011c1 
- 00001571  0x00000946 rtn 
- 00001572  0x00000948 setarg  0x00000000 
- 00001573  0x00000949 branch  0x00000621 
- 00001574  0x0000094c sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00001575  0x0000094d store  0x00000001 , 0x00000aae 
- 00001576  0x0000094e fetch  0x00000001 , 0x00000aae 
- 00001577  0x0000094f rshift  0x0000003f , 0x0000003f 
- 00001578  0x00000950 store  0x00000001 , 0x00000aae 
- 00001579  0x00000951 fetch  0x00000001 , 0x00000aae 
- 00001580  0x00000952 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00001581  0x00000953 rtn 
- 00001582  0x00000957 isub  0x00000011 , 0x0000003e 
- 00001583  0x00000958 nbranch  0x00000639 , 0x00000002 
- 00001584  0x00000959 isub  0x00000012 , 0x0000003e 
- 00001585  0x0000095a nbranch  0x00000639 , 0x00000002 
- 00001586  0x0000095c jam  0x00000000 , 0x00004b0d 
- 00001587  0x0000095d rtn 
- 00001588  0x0000095f isub  0x00000011 , 0x0000003e 
- 00001589  0x00000960 nrtn  0x00000002 
- 00001590  0x00000961 isub  0x00000012 , 0x0000003e 
- 00001591  0x00000962 nrtn  0x00000002 
- 00001592  0x00000963 branch  0x00000632 
- 00001593  0x00000965 jam  0x00000001 , 0x00004b0d 
- 00001594  0x00000966 rtn 
- 00001595  0x00000969 fetch  0x00000002 , 0x0000469b 
- 00001596  0x0000096a call  0x00000642 
- 00001597  0x0000096b copy  0x0000003f , 0x00000011 
- 00001598  0x0000096c fetch  0x00000002 , 0x0000469d 
- 00001599  0x0000096d call  0x00000642 
- 00001600  0x0000096e copy  0x0000003f , 0x00000012 
- 00001601  0x0000096f rtn 
- 00001602  0x00000976 store  0x00000002 , 0x000011c0 
- 00001603  0x00000977 fetch  0x00000001 , 0x000011c1 
- 00001604  0x00000978 beq  0x000000ff , 0x00000648 
- 00001605  0x00000979 fetch  0x00000001 , 0x000011c0 
- 00001606  0x0000097b and_into  0x000000ff , 0x0000003f 
- 00001607  0x0000097d rtn 
- 00001608  0x0000097f fetch  0x00000002 , 0x000011c0 
- 00001609  0x00000980 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00001610  0x00000981 branch  0x00000646 
- 00008192  0x0000098e call  0x00002abc 
- 00008193  0x00000991 bpatch  0x00000000 , 0x00004000 
- 00008194  0x00000992 clear_stack 
- 00008195  0x00000993 call  0x0000640d 
- 00008196  0x00000994 call  0x0000296c 
- 00008197  0x00000995 call  0x000065a3 
- 00008198  0x00000996 call  0x00002a96 
- 00008199  0x00000997 call  0x00004d6a 
- 00008200  0x00000998 bpatch  0x00000001 , 0x00004000 
- 00008201  0x00000999 call  0x00006a03 
- 00008202  0x0000099a call  0x00005cf6 
- 00008203  0x0000099b call  0x00007ccc 
- 00008204  0x0000099c call  0x000032d8 
- 00008205  0x0000099d ncall  0x0000689c , 0x0000002b 
- 00008206  0x0000099e bpatch  0x00000002 , 0x00004000 
- 00008207  0x0000099f call  0x000032e3 , 0x0000002b 
- 00008208  0x000009a0 call  0x0000756a 
- 00008209  0x000009a1 call  0x00002b41 , 0x0000002b 
- 00008210  0x000009a3 bpatch  0x00000003 , 0x00004000 
- 00008211  0x000009a4 call  0x000076dc 
- 00008212  0x000009a5 call  0x00007aaf 
- 00008213  0x000009a6 call  0x0000756d 
- 00008214  0x000009a7 call  0x0000535c 
- 00008215  0x000009a8 bpatch  0x00000004 , 0x00004000 
- 00008216  0x000009a9 call  0x00002038 
- 00008217  0x000009aa call  0x000032ed 
- 00008218  0x000009ab call  0x0000208f 
- 00008219  0x000009ac call  0x000022f8 
- 00008220  0x000009ad call  0x0000236a 
- 00008221  0x000009ae call  0x00002021 
- 00008222  0x000009af call  0x00002b6a 
- 00008223  0x000009b0 call  0x00002c72 
- 00008224  0x000009b1 branch  0x00002012 
- 00008225  0x000009b4 call  0x00002026 
- 00008226  0x000009b5 rtnmark0  0x00000009 
- 00008227  0x000009b6 set0  0x00000009 , 0x00000000 
- 00008228  0x000009b7 call  0x00002223 
- 00008229  0x000009b8 branch  0x000053ce 
- 00008230  0x000009bb bpatch  0x00000005 , 0x00004000 
- 00008231  0x000009bc call  0x0000225e 
- 00008232  0x000009bd nbranch  0x0000202f , 0x00000005 
- 00008233  0x000009be call  0x0000220a 
- 00008234  0x000009bf add  0x00000011 , 0x00000001 , 0x00000006 
- 00008235  0x000009c0 ifetch  0x00000001 , 0x00000006 
- 00008236  0x000009c1 bbit1  0x00000000 , 0x00005360 
- 00008237  0x000009c2 bbit1  0x00000001 , 0x00002166 
- 00008238  0x000009c3 branch  0x000023cf 
- 00008239  0x000009c5 call  0x0000222b 
- 00008240  0x000009c6 copy  0x00000039 , 0x0000003e 
- 00008241  0x000009c7 rtn  0x00000005 
- 00008242  0x000009c8 call  0x0000220a 
- 00008243  0x000009c9 fetch  0x00000001 , 0x00000030 
- 00008244  0x000009ca bbit1  0x00000003 , 0x000020d3 
- 00008245  0x000009cb fetch  0x00000001 , 0x00000031 
- 00008246  0x000009cc bbit1  0x00000001 , 0x00002166 
- 00008247  0x000009cd branch  0x000023cf 
- 00008248  0x000009d6 fetch  0x00000001 , 0x000041ce 
- 00008249  0x000009d7 rtn  0x00000034 
- 00008250  0x000009d8 beq  0x00000001 , 0x00002048 
- 00008251  0x000009d9 beq  0x00000002 , 0x0000204d 
- 00008252  0x000009da beq  0x00000003 , 0x00002050 
- 00008253  0x000009db beq  0x00000005 , 0x00002055 
- 00008254  0x000009dc beq  0x0000001b , 0x00002045 
- 00008255  0x000009dd call  0x00002257 
- 00008256  0x000009de rtn  0x00000005 
- 00008257  0x000009df call  0x0000225a 
- 00008258  0x000009e0 rtn  0x00000005 
- 00008259  0x000009e2 jam  0x00000000 , 0x000041ce 
- 00008260  0x000009e3 rtn 
- 00008261  0x000009e6 jam  0x0000001b , 0x0000049b 
- 00008262  0x000009e7 jam  0x00000000 , 0x000041ce 
- 00008263  0x000009e8 rtn 
- 00008264  0x000009eb set1  0x0000001c , 0x00000000 
- 00008265  0x000009ec set0  0x0000001e , 0x00000000 
- 00008266  0x000009ed jam  0x000000ff , 0x0000008f 
- 00008267  0x000009ee jam  0x0000001f , 0x0000008d 
- 00008268  0x000009ef branch  0x00002043 
- 00008269  0x000009f2 set0  0x0000001c , 0x00000000 
- 00008270  0x000009f3 force  0x00000000 , 0x0000001b 
- 00008271  0x000009f4 branch  0x00002043 
- 00008272  0x000009f7 call  0x0000225a 
- 00008273  0x000009f8 rtn  0x00000005 
- 00008274  0x000009f9 force  0x00000001 , 0x00000002 
- 00008275  0x000009fa jam  0x00000005 , 0x0000016e 
- 00008276  0x000009fb branch  0x0000205c 
- 00008277  0x000009fe bpatch  0x00000006 , 0x00004000 
- 00008278  0x00000a00 fetch  0x00000006 , 0x000041d0 
- 00008279  0x00000a01 branch  0x00002043 , 0x00000034 
- 00008280  0x00000a02 jam  0x00000001 , 0x00004681 
- 00008281  0x00000a04 jam  0x00000003 , 0x00000055 
- 00008282  0x00000a05 branch  0x0000205b 
- 00008283  0x00000a08 force  0x00000025 , 0x00000002 
- 00008284  0x00000a0a bpatch  0x00000007 , 0x00004000 
- 00008285  0x00000a0b fetch  0x00000001 , 0x000000f1 
- 00008286  0x00000a0c branch  0x00002062 , 0x00000034 
- 00008287  0x00000a0d lshift3  0x0000003f , 0x0000003f 
- 00008288  0x00000a0e lshift4  0x0000003f , 0x0000003f 
- 00008289  0x00000a0f increase  0xffffffff , 0x0000003f 
- 00008290  0x00000a11 store  0x00000001 , 0x000040a6 
- 00008291  0x00000a12 store  0x00000001 , 0x000000f0 
- 00008292  0x00000a13 jam  0x0000001f , 0x0000008e 
- 00008293  0x00000a14 set0  0x0000000c , 0x00000000 
- 00008294  0x00000a15 call  0x0000223b 
- 00008295  0x00000a16 nbranch  0x00002083 , 0x00000005 
- 00008296  0x00000a17 call  0x00002a6f 
- 00008297  0x00000a18 store  0x00000001 , 0x00000077 
- 00008298  0x00000a19 storet  0x00000001 , 0x0000007c 
- 00008299  0x00000a1a fetch  0x00000006 , 0x000041d0 
- 00008300  0x00000a1b store  0x00000006 , 0x00000040 
- 00008301  0x00000a1c bpatch  0x00000008 , 0x00004001 
- 00008302  0x00000a1d call  0x00007f15 
- 00008303  0x00000a1e force  0x00000000 , 0x0000003f 
- 00008304  0x00000a1f compare  0x00000001 , 0x00000002 , 0x000000ff 
- 00008305  0x00000a20 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
- 00008306  0x00000a21 set1  0x00000003 , 0x0000003f 
- 00008307  0x00000a22 store  0x00000001 , 0x00000030 
- 00008308  0x00000a23 jam  0x00000003 , 0x00000a99 
- 00008309  0x00000a24 call  0x00007d86 
- 00008310  0x00000a25 force  0x00000000 , 0x0000003f 
- 00008311  0x00000a26 setflag  0x00000001 , 0x00000004 , 0x0000003f 
- 00008312  0x00000a27 store  0x00000001 , 0x0000004c 
- 00008313  0x00000a28 setarg  0x00000000 
- 00008314  0x00000a29 set1  0x00000001 , 0x0000003f 
- 00008315  0x00000a2a store  0x00000001 , 0x00000031 
- 00008316  0x00000a2b enable  0x00000029 
- 00008317  0x00000a2c call  0x00002223 
- 00008318  0x00000a2d disable  0x00000029 
- 00008319  0x00000a2e force  0x00000003 , 0x00000007 
- 00008320  0x00000a2f fetch  0x00000002 , 0x000040b9 
- 00008321  0x00000a30 call  0x00007f08 
- 00008322  0x00000a31 branch  0x00002043 
- 00008323  0x00000a33 bpatch  0x00000009 , 0x00004001 
- 00008324  0x00000a34 fetch  0x00000006 , 0x000041d0 
- 00008325  0x00000a35 store  0x00000006 , 0x00000040 
- 00008326  0x00000a36 compare  0x00000001 , 0x00000002 , 0x000000ff 
- 00008327  0x00000a37 branch  0x00002089 , 0x00000001 
- 00008328  0x00000a38 branch  0x00002043 
- 00008329  0x00000a3a arg  0x00000101 , 0x00000005 
- 00008330  0x00000a3b arg  0x00000008 , 0x00000039 
- 00008331  0x00000a3c call  0x00007ec6 
- 00008332  0x00000a3d jam  0x00000004 , 0x00000a99 
- 00008333  0x00000a3e call  0x00007d86 
- 00008334  0x00000a3f branch  0x00002043 
- 00008335  0x00000a47 rtnmark0  0x0000001c 
- 00008336  0x00000a48 force  0x00000001 , 0x00000007 
- 00008337  0x00000a49 call  0x00007f16 
- 00008338  0x00000a4a nsetflag  0x00000034 , 0x0000001c , 0x00000000 
- 00008339  0x00000a4b nbranch  0x00002095 , 0x00000034 
- 00008340  0x00000a4c rtn 
- 00008341  0x00000a51 bpatch  0x0000000a , 0x00004001 
- 00008342  0x00000a52 fetcht  0x00000002 , 0x000040bb 
- 00008343  0x00000a53 force  0x00000004 , 0x00000007 
- 00008344  0x00000a54 call  0x0000271c 
- 00008345  0x00000a55 rtn  0x00000028 
- 00008346  0x00000a56 call  0x000028a4 
- 00008347  0x00000a57 force  0x00000000 , 0x00000024 
- 00008348  0x00000a59 rtn  0x00000003 
- 00008349  0x00000a5a set0  0x0000000b , 0x00000000 
- 00008350  0x00000a5b set0  0x00000000 , 0x00000000 
- 00008351  0x00000a5d add  0x00000022 , 0x00000001 , 0x00000021 
- 00008352  0x00000a5e isolate1  0x0000001e , 0x00000000 
- 00008353  0x00000a5f setflag  0x00000001 , 0x00000002 , 0x00000024 
- 00008354  0x00000a60 compare  0x00000000 , 0x00000021 , 0x00000002 
- 00008355  0x00000a61 nbranch  0x000020be , 0x00000001 
- 00008356  0x00000a64 bpatch  0x0000000b , 0x00004001 
- 00008357  0x00000a65 fetch  0x00000001 , 0x00000012 
- 00008358  0x00000a66 increase  0x00000001 , 0x0000003f 
- 00008359  0x00000a67 store  0x00000001 , 0x00000012 
- 00008360  0x00000a68 call  0x000028d8 
- 00008361  0x00000a69 call  0x000028d2 
- 00008362  0x00000a6a call  0x000028f2 
- 00008363  0x00000a6b call  0x00002a51 
- 00008364  0x00000a6c call  0x00002a56 
- 00008365  0x00000a6d call  0x00002a64 
- 00008366  0x00000a6e call  0x0000264d 
- 00008367  0x00000a6f call  0x000020b1 
- 00008368  0x00000a70 branch  0x0000209c 
- 00008369  0x00000a73 bpatch  0x0000000c , 0x00004001 
- 00008370  0x00000a74 fetch  0x00000001 , 0x0000008d 
- 00008371  0x00000a75 increase  0xffffffff , 0x0000003f 
- 00008372  0x00000a76 store  0x00000001 , 0x0000008d 
- 00008373  0x00000a77 rtn  0x00000002 
- 00008374  0x00000a78 jam  0x0000001f , 0x0000008d 
- 00008375  0x00000a79 fetch  0x00000001 , 0x0000008f 
- 00008376  0x00000a7a increase  0xffffffff , 0x0000003f 
- 00008377  0x00000a7b store  0x00000001 , 0x0000008f 
- 00008378  0x00000a7c rtn  0x00000002 
- 00008379  0x00000a7d setflip  0x0000001e , 0x00000000 
- 00008380  0x00000a7e jam  0x000000ff , 0x0000008f 
- 00008381  0x00000a7f rtn 
- 00008382  0x00000a82 bpatch  0x0000000d , 0x00004001 
- 00008383  0x00000a83 call  0x000028d8 
- 00008384  0x00000a84 call  0x000028cc 
- 00008385  0x00000a85 call  0x000028f2 
- 00008386  0x00000a86 call  0x00002a5b 
- 00008387  0x00000a87 call  0x000029eb 
- 00008388  0x00000a88 call  0x00002a0d 
- 00008389  0x00000a89 branch  0x000020c8 , 0x00000018 
- 00008390  0x00000a8a call  0x000020b1 
- 00008391  0x00000a8b branch  0x0000209f 
- 00008392  0x00000a8d bpatch  0x0000000e , 0x00004001 
- 00008393  0x00000a8e call  0x000029bb 
- 00008394  0x00000a8f call  0x00002a6b 
- 00008395  0x00000a90 call  0x0000251e 
- 00008396  0x00000a91 set0  0x00000001 , 0x00000000 
- 00008397  0x00000a92 rtnmark0  0x0000000b 
- 00008398  0x00000a94 bpatch  0x0000000f , 0x00004001 
- 00008399  0x00000a96 fetch  0x00000001 , 0x00000013 
- 00008400  0x00000a97 increase  0x00000001 , 0x0000003f 
- 00008401  0x00000a98 store  0x00000001 , 0x00000013 
- 00008402  0x00000a99 rtn 
- 00008403  0x00000aa2 bpatch  0x00000010 , 0x00004002 
- 00008404  0x00000aa3 enable  0x00000029 
- 00008405  0x00000aa4 enable  0x00000030 
- 00008406  0x00000aa5 fetch  0x00000002 , 0x000040b5 
- 00008407  0x00000aa6 branch  0x000020db , 0x00000034 
- 00008408  0x00000aa7 force  0x00000008 , 0x00000007 
- 00008409  0x00000aa8 call  0x00007f16 
- 00008410  0x00000aa9 nrtn  0x00000034 
- 00008411  0x00000aab bpatch  0x00000011 , 0x00004002 
- 00008412  0x00000aac fetcht  0x00000002 , 0x000040b7 
- 00008413  0x00000aad force  0x00000028 , 0x00000007 
- 00008414  0x00000aae call  0x0000271c 
- 00008415  0x00000aaf branch  0x00002114 , 0x00000028 
- 00008416  0x00000ab0 force  0x00000003 , 0x00000007 
- 00008417  0x00000ab1 call  0x00007f16 
- 00008418  0x00000ab2 nbranch  0x000020f0 , 0x00000034 
- 00008419  0x00000ab3 fetch  0x00000001 , 0x0000004c 
- 00008420  0x00000ab4 bbit1  0x00000004 , 0x000020e6 
- 00008421  0x00000ab5 branch  0x000020e9 
- 00008422  0x00000ab7 arg  0x00000101 , 0x00000005 
- 00008423  0x00000ab8 arg  0x00000008 , 0x00000039 
- 00008424  0x00000ab9 call  0x00007ec6 
- 00008425  0x00000abb bpatch  0x00000012 , 0x00004002 
- 00008426  0x00000abc jam  0x00000000 , 0x00000030 
- 00008427  0x00000abd call  0x00005cf7 
- 00008428  0x00000abe jam  0x00000000 , 0x00004681 
- 00008429  0x00000abf jam  0x00000013 , 0x00000a99 
- 00008430  0x00000ac0 call  0x00007d86 
- 00008431  0x00000ac1 branch  0x00002114 
- 00008432  0x00000ac4 bpatch  0x00000013 , 0x00004002 
- 00008433  0x00000ac5 force  0x00000000 , 0x0000000b 
- 00008434  0x00000ac6 until  0x00000023 , 0x00000026 
- 00008435  0x00000ac7 fetch  0x00000001 , 0x000000f2 
- 00008436  0x00000ac8 increase  0xffffffff , 0x0000003f 
- 00008437  0x00000ac9 ixor  0x00000022 , 0x0000003f 
- 00008438  0x00000aca compare  0x00000000 , 0x0000003f , 0x00000003 
- 00008439  0x00000acb nbranch  0x000020f0 , 0x00000001 
- 00008440  0x00000acc deposit  0x00000004 
- 00008441  0x00000acd store  0x00000001 , 0x00000181 
- 00008442  0x00000ace force  0x00000000 , 0x00000026 
- 00008443  0x00000acf force  0x00000000 , 0x00000024 
- 00008444  0x00000ad2 bpatch  0x00000014 , 0x00004002 
- 00008445  0x00000ad3 branch  0x00002114 , 0x00000003 
- 00008446  0x00000ad4 call  0x000028dc 
- 00008447  0x00000ad5 arg  0x00000600 , 0x0000000b 
- 00008448  0x00000ad6 until  0x00000023 , 0x00000026 
- 00008449  0x00000ad8 bpatch  0x00000015 , 0x00004002 
- 00008450  0x00000ad9 fetch  0x00000004 , 0x000000f2 
- 00008451  0x00000ada iforce  0x00000021 
- 00008452  0x00000adb increase  0x00000001 , 0x0000003f 
- 00008453  0x00000adc store  0x00000004 , 0x000000f2 
- 00008454  0x00000add isolate1  0x0000000c , 0x00000000 
- 00008455  0x00000ade setflag  0x00000001 , 0x00000002 , 0x00000024 
- 00008456  0x00000adf compare  0x00000000 , 0x00000021 , 0x00000002 
- 00008457  0x00000ae0 nbranch  0x00002128 , 0x00000001 
- 00008458  0x00000ae1 fetch  0x00000001 , 0x0000000c 
- 00008459  0x00000ae2 increase  0x00000001 , 0x0000003f 
- 00008460  0x00000ae3 store  0x00000001 , 0x0000000c 
- 00008461  0x00000ae4 call  0x000028d2 
- 00008462  0x00000ae5 call  0x00002a51 
- 00008463  0x00000ae6 call  0x00002a56 
- 00008464  0x00000ae7 call  0x00002a64 
- 00008465  0x00000ae8 call  0x0000264d 
- 00008466  0x00000ae9 call  0x0000211a 
- 00008467  0x00000aea branch  0x000020fc 
- 00008468  0x00000aec bpatch  0x00000016 , 0x00004002 
- 00008469  0x00000aed disable  0x00000029 
- 00008470  0x00000aee fetch  0x00000002 , 0x000040b5 
- 00008471  0x00000aef rtn  0x00000034 
- 00008472  0x00000af0 force  0x00000008 , 0x00000007 
- 00008473  0x00000af1 branch  0x00007f08 
- 00008474  0x00000af4 bpatch  0x00000017 , 0x00004002 
- 00008475  0x00000af5 fetch  0x00000001 , 0x0000008e 
- 00008476  0x00000af6 increase  0xffffffff , 0x0000003f 
- 00008477  0x00000af7 store  0x00000001 , 0x0000008e 
- 00008478  0x00000af8 rtn  0x00000002 
- 00008479  0x00000af9 jam  0x0000001f , 0x0000008e 
- 00008480  0x00000afa fetch  0x00000001 , 0x000000f0 
- 00008481  0x00000afb increase  0xffffffff , 0x0000003f 
- 00008482  0x00000afc store  0x00000001 , 0x000000f0 
- 00008483  0x00000afd rtn  0x00000002 
- 00008484  0x00000afe setflip  0x0000000c , 0x00000000 
- 00008485  0x00000aff fetch  0x00000001 , 0x000040a6 
- 00008486  0x00000b00 store  0x00000001 , 0x000000f0 
- 00008487  0x00000b01 rtn 
- 00008488  0x00000b04 bpatch  0x00000018 , 0x00004003 
- 00008489  0x00000b05 call  0x000028cc 
- 00008490  0x00000b06 call  0x00002a5b 
- 00008491  0x00000b07 call  0x000029eb 
- 00008492  0x00000b08 call  0x00002a0d 
- 00008493  0x00000b09 branch  0x00002130 , 0x00000018 
- 00008494  0x00000b0a call  0x0000211a 
- 00008495  0x00000b0b branch  0x00002101 
- 00008496  0x00000b0d call  0x0000264d 
- 00008497  0x00000b0e fetch  0x00000001 , 0x0000000d 
- 00008498  0x00000b0f increase  0x00000001 , 0x0000003f 
- 00008499  0x00000b10 store  0x00000001 , 0x0000000d 
- 00008500  0x00000b11 force  0x00000000 , 0x0000001b 
- 00008501  0x00000b12 fetch  0x00000004 , 0x000000f2 
- 00008502  0x00000b14 bpatch  0x00000019 , 0x00004003 
- 00008503  0x00000b15 call  0x00002a4f 
- 00008504  0x00000b16 call  0x000028dc 
- 00008505  0x00000b17 increase  0x00000001 , 0x00000026 
- 00008506  0x00000b19 and_into  0x000001fd , 0x00000021 
- 00008507  0x00000b1a and_into  0x000001fc , 0x00000024 
- 00008508  0x00000b1b call  0x000028d2 
- 00008509  0x00000b1c call  0x00002a51 
- 00008510  0x00000b1d call  0x00002a56 
- 00008511  0x00000b1e call  0x00002a64 
- 00008512  0x00000b1f deposit  0x00000022 
- 00008513  0x00000b20 store  0x00000004 , 0x00000161 
- 00008514  0x00000b21 force  0x00000000 , 0x00000004 
- 00008515  0x00000b22 force  0x00000002 , 0x00000001 
- 00008516  0x00000b23 call  0x00002a6b 
- 00008517  0x00000b24 call  0x00002766 
- 00008518  0x00000b26 bpatch  0x0000001a , 0x00004003 
- 00008519  0x00000b27 call  0x00002a4d 
- 00008520  0x00000b28 or_into  0x00000002 , 0x00000021 
- 00008521  0x00000b29 and_into  0x000001fc , 0x00000024 
- 00008522  0x00000b2a call  0x000028cc 
- 00008523  0x00000b2b call  0x00002a5b 
- 00008524  0x00000b2c call  0x000029eb 
- 00008525  0x00000b2d call  0x00002a0d 
- 00008526  0x00000b2e call  0x0000264d , 0x00000018 
- 00008527  0x00000b2f branch  0x00002155 , 0x00000018 
- 00008528  0x00000b30 fetch  0x00000001 , 0x00000010 
- 00008529  0x00000b31 branch  0x000020fc , 0x00000034 
- 00008530  0x00000b32 increase  0xffffffff , 0x0000003f 
- 00008531  0x00000b33 store  0x00000001 , 0x00000010 
- 00008532  0x00000b34 branch  0x00002136 
- 00008533  0x00000b37 bpatch  0x0000001b , 0x00004003 
- 00008534  0x00000b38 fetch  0x00000001 , 0x0000000e 
- 00008535  0x00000b39 increase  0x00000001 , 0x0000003f 
- 00008536  0x00000b3a store  0x00000001 , 0x0000000e 
- 00008537  0x00000b3b call  0x00002435 
- 00008538  0x00000b3d call  0x000022f2 
- 00008539  0x00000b3e branch  0x0000215f , 0x00000018 
- 00008540  0x00000b3f call  0x00002455 
- 00008541  0x00000b40 nbranch  0x0000215a , 0x00000034 
- 00008542  0x00000b41 branch  0x000020fc 
- 00008543  0x00000b44 bpatch  0x0000001c , 0x00004003 
- 00008544  0x00000b45 fetch  0x00000001 , 0x00000030 
- 00008545  0x00000b46 set0  0x00000003 , 0x0000003f 
- 00008546  0x00000b47 store  0x00000001 , 0x00000030 
- 00008547  0x00000b48 call  0x00002440 
- 00008548  0x00000b49 disable  0x00000029 
- 00008549  0x00000b4a rtn 
- 00008550  0x00000b4e bpatch  0x0000001d , 0x00004003 
- 00008551  0x00000b4f enable  0x00000029 
- 00008552  0x00000b50 enable  0x00000030 
- 00008553  0x00000b51 call  0x000021e1 
- 00008554  0x00000b52 rtn  0x00000028 
- 00008555  0x00000b53 call  0x00002c69 
- 00008556  0x00000b54 call  0x00002a4f 
- 00008557  0x00000b55 add  0x00000022 , 0x00000001 , 0x00000021 
- 00008558  0x00000b56 call  0x000028e2 
- 00008559  0x00000b57 force  0x00000003 , 0x00000024 
- 00008560  0x00000b58 call  0x00006cc2 
- 00008561  0x00000b59 call  0x00002489 
- 00008562  0x00000b5a call  0x000028d2 
- 00008563  0x00000b5b call  0x00002a51 
- 00008564  0x00000b5c call  0x00002a56 
- 00008565  0x00000b5d call  0x00002a64 
- 00008566  0x00000b5e call  0x00002762 
- 00008567  0x00000b60 bpatch  0x0000001e , 0x00004003 
- 00008568  0x00000b61 call  0x00005d08 
- 00008569  0x00000b62 call  0x000022e4 
- 00008570  0x00000b63 nbranch  0x00002180 , 0x0000002d 
- 00008571  0x00000b64 call  0x00002a88 
- 00008572  0x00000b65 call  0x00002728 
- 00008573  0x00000b66 fetch  0x00000001 , 0x0000000f 
- 00008574  0x00000b67 increase  0x00000001 , 0x0000003f 
- 00008575  0x00000b68 store  0x00000001 , 0x0000000f 
- 00008576  0x00000b6a bpatch  0x0000001f , 0x00004003 
- 00008577  0x00000b6b call  0x00006caa 
- 00008578  0x00000b6c call  0x0000218b 
- 00008579  0x00000b6d nrtn  0x00000029 
- 00008580  0x00000b6e call  0x000026f3 
- 00008581  0x00000b6f nbranch  0x00002188 , 0x00000034 
- 00008582  0x00000b71 disable  0x00000029 
- 00008583  0x00000b72 rtn 
- 00008584  0x00000b75 call  0x00002489 
- 00008585  0x00000b76 call  0x000022da 
- 00008586  0x00000b77 branch  0x00002177 
- 00008587  0x00000b7b branch  0x0000218e , 0x0000002d 
- 00008588  0x00000b7c call  0x00002a7f 
- 00008589  0x00000b7d branch  0x0000219c , 0x00000002 
- 00008590  0x00000b7f call  0x000021a7 
- 00008591  0x00000b80 nbranch  0x0000219c , 0x00000028 
- 00008592  0x00000b81 fetch  0x00000001 , 0x0000004c 
- 00008593  0x00000b82 rtnbit0  0x00000004 
- 00008594  0x00000b83 rtnbit1  0x00000003 
- 00008595  0x00000b84 fetch  0x00000001 , 0x0000004b 
- 00008596  0x00000b85 rtnbit1  0x00000003 
- 00008597  0x00000b86 call  0x000021ae 
- 00008598  0x00000b87 nrtn  0x00000034 
- 00008599  0x00000b88 fetch  0x00000001 , 0x0000016e 
- 00008600  0x00000b89 increase  0xffffffff , 0x0000003f 
- 00008601  0x00000b8a store  0x00000001 , 0x0000016e 
- 00008602  0x00000b8b nrtn  0x00000034 
- 00008603  0x00000b8c branch  0x00006006 
- 00008604  0x00000b8f bpatch  0x00000020 , 0x00004004 
- 00008605  0x00000b90 call  0x0000245d 
- 00008606  0x00000b91 disable  0x00000029 
- 00008607  0x00000b92 fetch  0x00000001 , 0x0000004c 
- 00008608  0x00000b93 bbit1  0x00000004 , 0x000021a2 
- 00008609  0x00000b94 rtn 
- 00008610  0x00000b97 fetch  0x00000001 , 0x0000004c 
- 00008611  0x00000b98 rtnbit1  0x00000003 
- 00008612  0x00000b9a arg  0x00000101 , 0x00000005 
- 00008613  0x00000b9b arg  0x00000008 , 0x00000039 
- 00008614  0x00000b9c branch  0x00007ec6 
- 00008615  0x00000b9f bpatch  0x00000021 , 0x00004004 
- 00008616  0x00000ba0 enable  0x00000028 
- 00008617  0x00000ba1 fetch  0x00000001 , 0x0000004b 
- 00008618  0x00000ba2 rtnbit0  0x00000003 
- 00008619  0x00000ba3 call  0x000021ae 
- 00008620  0x00000ba4 nrtn  0x00000034 
- 00008621  0x00000ba5 branch  0x00007fe9 
- 00008622  0x00000ba8 fetch  0x00000001 , 0x00000072 
- 00008623  0x00000ba9 increase  0xffffffff , 0x0000003f 
- 00008624  0x00000baa store  0x00000001 , 0x00000072 
- 00008625  0x00000bab rtn 
- 00008626  0x00000bae bpatch  0x00000022 , 0x00004004 
- 00008627  0x00000baf fetch  0x00000001 , 0x00000030 
- 00008628  0x00000bb0 bbit1  0x00000007 , 0x000021bb 
- 00008629  0x00000bb1 fetch  0x00000001 , 0x000009b5 
- 00008630  0x00000bb2 branch  0x000021bb , 0x00000034 
- 00008631  0x00000bb3 jam  0x00000000 , 0x000009b5 
- 00008632  0x00000bb4 jam  0x00000018 , 0x00000a99 
- 00008633  0x00000bb5 call  0x00007d86 
- 00008634  0x00000bb6 branch  0x000021bb 
- 00008635  0x00000bb8 bpatch  0x00000023 , 0x00004004 
- 00008636  0x00000bb9 call  0x00002254 
- 00008637  0x00000bba fetch  0x00000001 , 0x00000030 
- 00008638  0x00000bbb set1  0x00000007 , 0x0000003f 
- 00008639  0x00000bbc store  0x00000001 , 0x00000030 
- 00008640  0x00000bbd jam  0x00000001 , 0x000041bd 
- 00008641  0x00000bbe fetch  0x00000001 , 0x00000055 
- 00008642  0x00000bbf bne  0x00000016 , 0x000021c3 
- 00008643  0x00000bc1 rtn 
- 00008644  0x00000bc4 jam  0x00000001 , 0x000009b5 
- 00008645  0x00000bc6 fetch  0x00000001 , 0x00000030 
- 00008646  0x00000bc7 set0  0x00000007 , 0x0000003f 
- 00008647  0x00000bc8 store  0x00000001 , 0x00000030 
- 00008648  0x00000bc9 rtn 
- 00008649  0x00000bce bpatch  0x00000024 , 0x00004004 
- 00008650  0x00000bcf disable  0x00000028 
- 00008651  0x00000bd0 fetch  0x00000002 , 0x00000032 
- 00008652  0x00000bd1 arg  0x0000ffff , 0x00000002 
- 00008653  0x00000bd2 isub  0x00000002 , 0x0000003e 
- 00008654  0x00000bd3 nrtn  0x00000005 
- 00008655  0x00000bd4 fetch  0x00000004 , 0x00000034 
- 00008656  0x00000bd5 branch  0x000021d3 , 0x00000030 
- 00008657  0x00000bd6 isub  0x00000028 , 0x0000003f 
- 00008658  0x00000bd7 branch  0x000021d4 
- 00008659  0x00000bd9 isub  0x00000022 , 0x0000003f 
- 00008660  0x00000bdb sub  0x0000003f , 0x00000004 , 0x0000003e 
- 00008661  0x00000bdc nrtn  0x00000002 
- 00008662  0x00000bdd force  0x00000000 , 0x0000003f 
- 00008663  0x00000bde store  0x00000002 , 0x00000032 
- 00008664  0x00000bdf branch  0x00007fe7 
- 00008665  0x00000be4 copy  0x0000003f , 0x00000002 
- 00008666  0x00000be5 bpatch  0x00000025 , 0x00004004 
- 00008667  0x00000be6 storet  0x00000004 , 0x00000034 
- 00008668  0x00000be8 jam  0x00000001 , 0x0000455b 
- 00008669  0x00000be9 setarg  0x0000ffff 
- 00008670  0x00000bea store  0x00000002 , 0x00000032 
- 00008671  0x00000beb jam  0x00000001 , 0x00000073 
- 00008672  0x00000bec rtn 
- 00008673  0x00000bf0 bpatch  0x00000026 , 0x00004004 
- 00008674  0x00000bf1 call  0x000021c9 
- 00008675  0x00000bf2 nrtn  0x00000028 
- 00008676  0x00000bf3 disable  0x00000028 
- 00008677  0x00000bf4 jam  0x00000020 , 0x00000011 
- 00008678  0x00000bf5 set0  0x0000000b , 0x00000000 
- 00008679  0x00000bf7 call  0x00002a4f 
- 00008680  0x00000bf8 call  0x000022e6 
- 00008681  0x00000bf9 bmark1  0x0000000b , 0x000021f4 
- 00008682  0x00000bfa call  0x00002455 
- 00008683  0x00000bfb nbranch  0x000021e7 , 0x00000034 
- 00008684  0x00000bfd bpatch  0x00000027 , 0x00004004 
- 00008685  0x00000bfe disable  0x00000028 
- 00008686  0x00000bff deposit  0x00000022 
- 00008687  0x00000c00 store  0x00000004 , 0x000040ca 
- 00008688  0x00000c01 enable  0x00000030 
- 00008689  0x00000c02 enable  0x00000029 
- 00008690  0x00000c03 jam  0x0000002a , 0x00000a99 
- 00008691  0x00000c04 branch  0x00007d86 
- 00008692  0x00000c07 bpatch  0x00000028 , 0x00004005 
- 00008693  0x00000c08 call  0x00002a4d 
- 00008694  0x00000c09 arg  0x00000010 , 0x00000001 
- 00008695  0x00000c0a call  0x000022dc 
- 00008696  0x00000c0b disable  0x00000030 
- 00008697  0x00000c0c disable  0x00000029 
- 00008698  0x00000c0d call  0x00002818 
- 00008699  0x00000c0e call  0x00002435 
- 00008700  0x00000c10 bpatch  0x00000029 , 0x00004005 
- 00008701  0x00000c11 call  0x0000247c 
- 00008702  0x00000c12 branch  0x00002202 , 0x0000002d 
- 00008703  0x00000c13 call  0x00002455 
- 00008704  0x00000c14 nbranch  0x000021fc , 0x00000034 
- 00008705  0x00000c15 branch  0x000021ec 
- 00008706  0x00000c17 fetch  0x00000001 , 0x00000031 
- 00008707  0x00000c18 set0  0x00000001 , 0x0000003f 
- 00008708  0x00000c19 store  0x00000001 , 0x00000031 
- 00008709  0x00000c1a call  0x00002a88 
- 00008710  0x00000c1b call  0x00002841 
- 00008711  0x00000c1c enable  0x00000028 
- 00008712  0x00000c1d jam  0x0000002b , 0x00000a99 
- 00008713  0x00000c1e branch  0x00007d86 
- 00008714  0x00000c24 bpatch  0x0000002a , 0x00004005 
- 00008715  0x00000c25 set1  0x00000009 , 0x00000000 
- 00008716  0x00000c26 deposit  0x00000011 
- 00008717  0x00000c27 store  0x00000002 , 0x0000001e 
- 00008718  0x00000c28 force  0x00000050 , 0x00000039 
- 00008719  0x00000c29 arg  0x0000043f , 0x00000005 
- 00008720  0x00000c2a add  0x00000011 , 0x00000001 , 0x00000006 
- 00008721  0x00000c2b ifetch  0x00000001 , 0x00000006 
- 00008722  0x00000c2c copy  0x00000011 , 0x00000006 
- 00008723  0x00000c2d bbit1  0x00000000 , 0x00007f01 
- 00008724  0x00000c2e arg  0x00000030 , 0x00000005 
- 00008725  0x00000c2f call  0x00007f01 
- 00008726  0x00000c30 disable  0x0000002e 
- 00008727  0x00000c31 fetch  0x00000001 , 0x00000077 
- 00008728  0x00000c32 iforce  0x00000004 
- 00008729  0x00000c33 jam  0x00000001 , 0x0000008a 
- 00008730  0x00000c34 branch  0x0000221c , 0x00000029 
- 00008731  0x00000c35 jam  0x00000001 , 0x0000008a 
- 00008732  0x00000c37 fetch  0x00000001 , 0x00000030 
- 00008733  0x00000c38 rtnbit0  0x00000001 
- 00008734  0x00000c39 fetch  0x00000001 , 0x00000073 
- 00008735  0x00000c3a store  0x00000001 , 0x0000008a 
- 00008736  0x00000c3b fetch  0x00000001 , 0x00000074 
- 00008737  0x00000c3c store  0x00000001 , 0x0000008b 
- 00008738  0x00000c3d rtn 
- 00008739  0x00000c40 bpatch  0x0000002b , 0x00004005 
- 00008740  0x00000c41 fetch  0x00000002 , 0x0000001e 
- 00008741  0x00000c42 iforce  0x00000005 
- 00008742  0x00000c43 force  0x00000050 , 0x00000039 
- 00008743  0x00000c44 arg  0x0000043f , 0x00000006 
- 00008744  0x00000c45 branch  0x00007f01 , 0x00000036 
- 00008745  0x00000c46 arg  0x00000030 , 0x00000006 
- 00008746  0x00000c47 branch  0x00007f01 
- 00008747  0x00000c4c arg  0x00000001 , 0x00000039 
- 00008748  0x00000c4d fetcht  0x00000001 , 0x00000015 
- 00008749  0x00000c4f increase  0x00000001 , 0x00000002 
- 00008750  0x00000c50 compare  0x00000001 , 0x00000002 , 0x000000ff 
- 00008751  0x00000c51 nbranch  0x00002231 , 0x00000001 
- 00008752  0x00000c52 arg  0x00000000 , 0x00000002 
- 00008753  0x00000c54 storet  0x00000001 , 0x00000015 
- 00008754  0x00000c55 mul32  0x00000002 , 0x00000050 , 0x0000003f 
- 00008755  0x00000c56 arg  0x00004040 , 0x00000011 
- 00008756  0x00000c57 iadd  0x00000011 , 0x00000011 
- 00008757  0x00000c58 ifetch  0x00000001 , 0x00000011 
- 00008758  0x00000c59 bbit1  0x00000001 , 0x00002239 
- 00008759  0x00000c5a rtnbit1  0x00000000 
- 00008760  0x00000c5b rtnbit1  0x00000003 
- 00008761  0x00000c5d loop  0x0000222d 
- 00008762  0x00000c5e rtn 
- 00008763  0x00000c61 bpatch  0x0000002c , 0x00004005 
- 00008764  0x00000c62 arg  0x0000226a , 0x00000013 
- 00008765  0x00000c63 call  0x00002261 
- 00008766  0x00000c64 nrtn  0x00000005 
- 00008767  0x00000c65 deposit  0x00000011 
- 00008768  0x00000c66 store  0x00000002 , 0x0000001e 
- 00008769  0x00000c67 force  0x00000000 , 0x0000003e 
- 00008770  0x00000c68 rtn 
- 00008771  0x00000c6d call  0x00002725 
- 00008772  0x00000c6e branch  0x0000224b , 0x00000001 
- 00008773  0x00000c6f fetch  0x00000002 , 0x0000001e 
- 00008774  0x00000c70 add  0x0000003f , 0x00000017 , 0x00000005 
- 00008775  0x00000c71 fetch  0x00000001 , 0x00000047 
- 00008776  0x00000c72 istore  0x00000001 , 0x00000005 
- 00008777  0x00000c73 arg  0x000022aa , 0x00000013 
- 00008778  0x00000c74 branch  0x00002261 
- 00008779  0x00000c77 fetch  0x00000001 , 0x00000047 
- 00008780  0x00000c78 isolate1  0x00000003 , 0x0000003f 
- 00008781  0x00000c79 branch  0x00002250 , 0x00000001 
- 00008782  0x00000c7a force  0x00000001 , 0x0000003e 
- 00008783  0x00000c7b rtn 
- 00008784  0x00000c7d force  0x00000000 , 0x0000003e 
- 00008785  0x00000c7e rtn 
- 00008786  0x00000c82 arg  0x000022a7 , 0x00000013 
- 00008787  0x00000c83 branch  0x00002261 
- 00008788  0x00000c86 fetcht  0x00000002 , 0x0000001e 
- 00008789  0x00000c87 arg  0x000022cf , 0x00000013 
- 00008790  0x00000c88 branch  0x00002261 
- 00008791  0x00000c8d fetcht  0x00000001 , 0x000041cf 
- 00008792  0x00000c8f arg  0x00002275 , 0x00000013 
- 00008793  0x00000c90 branch  0x00002261 
- 00008794  0x00000c93 bpatch  0x0000002d , 0x00004005 
- 00008795  0x00000c94 fetcht  0x00000006 , 0x000041d0 
- 00008796  0x00000c96 arg  0x0000226e , 0x00000013 
- 00008797  0x00000c97 branch  0x00002261 
- 00008798  0x00000c9a arg  0x0000227b , 0x00000013 
- 00008799  0x00000c9b branch  0x00002261 
- 00008800  0x00000c9e arg  0x000022c6 , 0x00000013 
- 00008801  0x00000ca0 bpatch  0x0000002e , 0x00004005 
- 00008802  0x00000ca1 arg  0x00004040 , 0x00000011 
- 00008803  0x00000ca2 arg  0x00000001 , 0x00000039 
- 00008804  0x00000ca4 ifetch  0x00000001 , 0x00000011 
- 00008805  0x00000ca5 copy  0x00000013 , 0x0000003d 
- 00008806  0x00000ca7 increase  0x00000050 , 0x00000011 
- 00008807  0x00000ca8 loop  0x00002264 
- 00008808  0x00000ca9 force  0x00000001 , 0x0000003e 
- 00008809  0x00000caa rtn 
- 00008810  0x00000cad bbit1  0x00000000 , 0x00002266 
- 00008811  0x00000cae bbit1  0x00000003 , 0x00002266 
- 00008812  0x00000caf force  0x00000000 , 0x0000003e 
- 00008813  0x00000cb0 rtn 
- 00008814  0x00000cb3 bbit1  0x00000003 , 0x00002270 
- 00008815  0x00000cb4 bbit0  0x00000000 , 0x00002266 
- 00008816  0x00000cb6 add  0x00000011 , 0x00000010 , 0x00000006 
- 00008817  0x00000cb7 ifetch  0x00000006 , 0x00000006 
- 00008818  0x00000cb8 isub  0x00000002 , 0x0000003e 
- 00008819  0x00000cb9 rtn  0x00000005 
- 00008820  0x00000cba branch  0x00002266 
- 00008821  0x00000cbd bbit0  0x00000000 , 0x00002266 
- 00008822  0x00000cbe add  0x00000011 , 0x00000016 , 0x00000006 
- 00008823  0x00000cbf ifetch  0x00000001 , 0x00000006 
- 00008824  0x00000cc0 isub  0x00000002 , 0x0000003e 
- 00008825  0x00000cc1 rtn  0x00000005 
- 00008826  0x00000cc2 branch  0x00002266 
- 00008827  0x00000cc5 bbit0  0x00000001 , 0x00002266 
- 00008828  0x00000cc7 call  0x000022b3 
- 00008829  0x00000cc8 call  0x00002297 
- 00008830  0x00000cc9 isub  0x00000002 , 0x0000003f 
- 00008831  0x00000cca increase  0x00000001 , 0x0000003f 
- 00008832  0x00000ccb branch  0x00002291 , 0x00000002 
- 00008833  0x00000ccc copy  0x00000006 , 0x00000012 
- 00008834  0x00000ccd store  0x00000009 , 0x00000aa2 
- 00008835  0x00000cce fetch  0x00000001 , 0x000044c0 
- 00008836  0x00000ccf nbranch  0x00002289 , 0x00000034 
- 00008837  0x00000cd0 fetch  0x00000009 , 0x00000aa2 
- 00008838  0x00000cd1 copy  0x00000012 , 0x00000006 
- 00008839  0x00000cd2 increase  0x00000005 , 0x0000003f 
- 00008840  0x00000cd3 branch  0x0000228c 
- 00008841  0x00000cd5 fetch  0x00000009 , 0x00000aa2 
- 00008842  0x00000cd6 copy  0x00000012 , 0x00000006 
- 00008843  0x00000cd7 increase  0x00000014 , 0x0000003f 
- 00008844  0x00000cd9 nbranch  0x00002266 , 0x00000002 
- 00008845  0x00000cdb copy  0x00000002 , 0x00000021 
- 00008846  0x00000cdc call  0x000022bf 
- 00008847  0x00000cdd force  0x00000000 , 0x0000003e 
- 00008848  0x00000cde rtn 
- 00008849  0x00000ce2 iforce  0x00000012 
- 00008850  0x00000ce3 add  0x00000011 , 0x00000002 , 0x00000006 
- 00008851  0x00000ce4 ifetch  0x00000002 , 0x00000006 
- 00008852  0x00000ce5 branch  0x0000228d , 0x00000034 
- 00008853  0x00000ce6 call  0x000022bf 
- 00008854  0x00000ce7 branch  0x0000227c 
- 00008855  0x00000cea rshift16  0x0000003f , 0x0000000b 
- 00008856  0x00000ceb rshift8  0x0000000b , 0x0000000b 
- 00008857  0x00000cec branch  0x000022a1 , 0x00000005 
- 00008858  0x00000ced compare  0x0000000f , 0x0000000b , 0x0000000f 
- 00008859  0x00000cee nrtn  0x00000001 
- 00008860  0x00000cef rshift16  0x00000002 , 0x0000000b 
- 00008861  0x00000cf0 rshift8  0x0000000b , 0x0000000b 
- 00008862  0x00000cf1 nrtn  0x00000005 
- 00008863  0x00000cf2 set1  0x0000001c , 0x00000002 
- 00008864  0x00000cf3 rtn 
- 00008865  0x00000cf5 rshift16  0x00000002 , 0x0000000b 
- 00008866  0x00000cf6 rshift8  0x0000000b , 0x0000000b 
- 00008867  0x00000cf7 compare  0x0000000f , 0x0000000b , 0x0000000f 
- 00008868  0x00000cf8 nrtn  0x00000001 
- 00008869  0x00000cf9 set1  0x0000001c , 0x0000003f 
- 00008870  0x00000cfa rtn 
- 00008871  0x00000cfd bbit0  0x00000000 , 0x00002266 
- 00008872  0x00000cfe force  0x00000000 , 0x0000003e 
- 00008873  0x00000cff rtn 
- 00008874  0x00000d02 bbit0  0x00000000 , 0x00002266 
- 00008875  0x00000d03 add  0x00000011 , 0x00000001 , 0x00000006 
- 00008876  0x00000d04 ifetch  0x00000001 , 0x00000006 
- 00008877  0x00000d05 bbit1  0x00000000 , 0x00002266 
- 00008878  0x00000d06 add  0x00000011 , 0x00000017 , 0x00000006 
- 00008879  0x00000d07 ifetch  0x00000001 , 0x00000006 
- 00008880  0x00000d08 bbit0  0x00000003 , 0x00002266 
- 00008881  0x00000d09 force  0x00000000 , 0x0000003e 
- 00008882  0x00000d0a rtn 
- 00008883  0x00000d0d add  0x00000011 , 0x00000001 , 0x00000006 
- 00008884  0x00000d0e ifetcht  0x00000001 , 0x00000006 
- 00008885  0x00000d0f deposit  0x00000022 
- 00008886  0x00000d10 isolate1  0x00000001 , 0x00000002 
- 00008887  0x00000d11 add  0x00000011 , 0x00000004 , 0x00000006 
- 00008888  0x00000d12 ifetcht  0x00000004 , 0x00000006 
- 00008889  0x00000d13 rtn  0x00000001 
- 00008890  0x00000d14 add  0x00000011 , 0x00000008 , 0x00000006 
- 00008891  0x00000d15 ifetch  0x00000006 , 0x00000006 
- 00008892  0x00000d16 call  0x00002854 
- 00008893  0x00000d17 deposit  0x00000028 
- 00008894  0x00000d18 rtn 
- 00008895  0x00000d1b add  0x00000011 , 0x00000002 , 0x00000006 
- 00008896  0x00000d1c add  0x00000011 , 0x00000004 , 0x00000005 
- 00008897  0x00000d1d ifetch  0x00000002 , 0x00000006 
- 00008898  0x00000d1e iadd  0x00000002 , 0x0000000b 
- 00008899  0x00000d1f deposit  0x0000000b 
- 00008900  0x00000d20 istore  0x00000004 , 0x00000005 
- 00008901  0x00000d21 branch  0x00005449 
- 00008902  0x00000d25 bbit0  0x00000001 , 0x00002266 
- 00008903  0x00000d26 call  0x000022b3 
- 00008904  0x00000d27 iadd  0x0000001b , 0x0000003f 
- 00008905  0x00000d28 iadd  0x0000001b , 0x0000003f 
- 00008906  0x00000d29 iadd  0x00000007 , 0x0000003f 
- 00008907  0x00000d2a isub  0x00000002 , 0x0000003e 
- 00008908  0x00000d2b nbranch  0x00002266 , 0x00000002 
- 00008909  0x00000d2c force  0x00000000 , 0x0000003e 
- 00008910  0x00000d2d rtn 
- 00008911  0x00000d30 bbit0  0x00000000 , 0x00002266 
- 00008912  0x00000d31 deposit  0x00000002 
- 00008913  0x00000d32 isub  0x00000011 , 0x0000003e 
- 00008914  0x00000d33 branch  0x00002266 , 0x0000003e 
- 00008915  0x00000d34 add  0x00000011 , 0x00000001 , 0x00000006 
- 00008916  0x00000d35 ifetch  0x00000001 , 0x00000006 
- 00008917  0x00000d36 bbit1  0x00000000 , 0x00002266 
- 00008918  0x00000d37 ifetch  0x00000001 , 0x00000011 
- 00008919  0x00000d38 set0  0x00000007 , 0x0000003f 
- 00008920  0x00000d39 istore  0x00000001 , 0x00000011 
- 00008921  0x00000d3a branch  0x00002266 
- 00008922  0x00000d3e bpatch  0x0000002f , 0x00004005 
- 00008923  0x00000d3f call  0x00002a4f 
- 00008924  0x00000d41 add  0x00000022 , 0x00000001 , 0x00000021 
- 00008925  0x00000d42 call  0x000028e2 
- 00008926  0x00000d43 force  0x00000003 , 0x00000024 
- 00008927  0x00000d44 call  0x000028d2 
- 00008928  0x00000d45 call  0x00002a51 
- 00008929  0x00000d46 call  0x00002a56 
- 00008930  0x00000d47 call  0x00002a64 
- 00008931  0x00000d48 branch  0x00002762 
- 00008932  0x00000d4b bpatch  0x00000030 , 0x00004006 
- 00008933  0x00000d4c call  0x00002a4d 
- 00008934  0x00000d4e add  0x00000022 , 0x00000001 , 0x00000021 
- 00008935  0x00000d4f call  0x000028e2 
- 00008936  0x00000d50 force  0x00000003 , 0x00000024 
- 00008937  0x00000d51 call  0x000028cc 
- 00008938  0x00000d52 call  0x0000242a 
- 00008939  0x00000d53 call  0x000029f1 
- 00008940  0x00000d54 call  0x00002a5b 
- 00008941  0x00000d55 call  0x000029eb 
- 00008942  0x00000d57 call  0x00002a0d 
- 00008943  0x00000d58 nrtn  0x00000018 
- 00008944  0x00000d59 call  0x000029bb 
- 00008945  0x00000d5a branch  0x0000251c 
- 00008946  0x00000d5f bpatch  0x00000031 , 0x00004006 
- 00008947  0x00000d60 fetch  0x00000001 , 0x00000181 
- 00008948  0x00000d61 iforce  0x00000004 
- 00008949  0x00000d62 force  0x00000001 , 0x00000001 
- 00008950  0x00000d63 call  0x000022da 
- 00008951  0x00000d64 branch  0x000022e4 
- 00008952  0x00000d70 fetch  0x00000001 , 0x00004093 
- 00008953  0x00000d71 rtnbit0  0x00000000 
- 00008954  0x00000d72 force  0x00000004 , 0x00000007 
- 00008955  0x00000d73 call  0x00007f16 
- 00008956  0x00000d74 nrtn  0x00000034 
- 00008957  0x00000d75 fetcht  0x00000002 , 0x000040ad 
- 00008958  0x00000d76 force  0x00000004 , 0x00000007 
- 00008959  0x00000d77 call  0x0000271c 
- 00008960  0x00000d78 rtn  0x00000028 
- 00008961  0x00000d79 call  0x00002308 
- 00008962  0x00000d7a force  0x00000004 , 0x00000007 
- 00008963  0x00000d7b fetch  0x00000002 , 0x000040af 
- 00008964  0x00000d7c nbranch  0x00007f08 , 0x00000018 
- 00008965  0x00000d7d random  0x0000003f 
- 00008966  0x00000d7e iand  0x00000035 , 0x0000003f 
- 00008967  0x00000d7f branch  0x00007f08 
- 00008968  0x00000d83 bpatch  0x00000032 , 0x00004006 
- 00008969  0x00000d84 jam  0x00000000 , 0x00000181 
- 00008970  0x00000d85 disable  0x00000030 
- 00008971  0x00000d86 disable  0x0000002e 
- 00008972  0x00000d87 call  0x000028a4 
- 00008973  0x00000d88 and  0x00000022 , 0x000001fc , 0x00000021 
- 00008974  0x00000d89 force  0x00000001 , 0x00000024 
- 00008975  0x00000d8a call  0x000028d8 
- 00008976  0x00000d8b call  0x000028cc 
- 00008977  0x00000d8c setflip  0x0000001d , 0x00000000 
- 00008978  0x00000d8d fetch  0x00000001 , 0x00000006 
- 00008979  0x00000d8e increase  0x00000001 , 0x0000003f 
- 00008980  0x00000d8f store  0x00000001 , 0x00000006 
- 00008981  0x00000d90 call  0x000028f2 
- 00008982  0x00000d91 call  0x000029eb 
- 00008983  0x00000d92 call  0x00002a14 
- 00008984  0x00000d93 nrtn  0x00000018 
- 00008985  0x00000d94 bpatch  0x00000033 , 0x00004006 
- 00008986  0x00000d95 force  0x00000000 , 0x0000001b 
- 00008987  0x00000d96 call  0x000028f9 
- 00008988  0x00000d97 fetch  0x00000001 , 0x00000007 
- 00008989  0x00000d98 increase  0x00000001 , 0x0000003f 
- 00008990  0x00000d99 store  0x00000001 , 0x00000007 
- 00008991  0x00000d9a call  0x000028d8 
- 00008992  0x00000d9b call  0x00002a4d 
- 00008993  0x00000d9c or_into  0x00000002 , 0x00000021 
- 00008994  0x00000d9d force  0x00000001 , 0x00000024 
- 00008995  0x00000d9e call  0x000028d2 
- 00008996  0x00000d9f call  0x000028f2 
- 00008997  0x00000da0 call  0x00002a51 
- 00008998  0x00000da1 call  0x00002a5f 
- 00008999  0x00000da2 deposit  0x00000022 
- 00009000  0x00000da3 store  0x00000004 , 0x00000161 
- 00009001  0x00000da4 call  0x00002a64 
- 00009002  0x00000da5 force  0x00000002 , 0x00000001 
- 00009003  0x00000da6 force  0x00000000 , 0x00000004 
- 00009004  0x00000da7 call  0x00002a6b 
- 00009005  0x00000da8 call  0x00002766 
- 00009006  0x00000da9 call  0x00002332 
- 00009007  0x00000daa and_into  0x000001fd , 0x00000021 
- 00009008  0x00000dab increase  0x00000001 , 0x00000026 
- 00009009  0x00000dac rtn 
- 00009010  0x00000daf bpatch  0x00000034 , 0x00004006 
- 00009011  0x00000db0 fetch  0x00000001 , 0x000040d1 
- 00009012  0x00000db1 rtn  0x00000034 
- 00009013  0x00000db2 arg  0x0000018e , 0x00000005 
- 00009014  0x00000db3 fetch  0x00000001 , 0x00004515 
- 00009015  0x00000db4 copy  0x0000003f , 0x00000039 
- 00009016  0x00000db5 increase  0x00000001 , 0x0000003f 
- 00009017  0x00000db6 istore  0x00000001 , 0x00000005 
- 00009018  0x00000db7 copy  0x00000005 , 0x00000002 
- 00009019  0x00000db8 increase  0x00000001 , 0x0000003f 
- 00009020  0x00000db9 store  0x00000002 , 0x000041dc 
- 00009021  0x00000dba copy  0x00000002 , 0x00000005 
- 00009022  0x00000dbb setarg  0x00000009 
- 00009023  0x00000dbc istore  0x00000001 , 0x00000005 
- 00009024  0x00000dbd arg  0x00004516 , 0x00000006 
- 00009025  0x00000dbe call  0x00007f01 
- 00009026  0x00000dc0 arg  0x0000458d , 0x00000013 
- 00009027  0x00000dc1 arg  0x00000004 , 0x00000039 
- 00009028  0x00000dc2 call  0x00002354 
- 00009029  0x00000dc3 arg  0x00004577 , 0x00000013 
- 00009030  0x00000dc4 arg  0x00000001 , 0x00000039 
- 00009031  0x00000dc5 call  0x00002354 
- 00009032  0x00000dc7 force  0x0000000a , 0x00000001 
- 00009033  0x00000dc8 jam  0x00000002 , 0x000041db 
- 00009034  0x00000dc9 setarg  0x0000018e 
- 00009035  0x00000dca store  0x00000002 , 0x0000016f 
- 00009036  0x00000dcb call  0x00002a4d 
- 00009037  0x00000dcc call  0x000028d2 
- 00009038  0x00000dcd call  0x00002a51 
- 00009039  0x00000dce call  0x00002a5f 
- 00009040  0x00000dcf call  0x00002a64 
- 00009041  0x00000dd0 call  0x00002a6b 
- 00009042  0x00000dd1 call  0x00002766 
- 00009043  0x00000dd2 rtn 
- 00009044  0x00000dd6 copy  0x00000005 , 0x00000002 
- 00009045  0x00000dd7 copy  0x00000013 , 0x00000006 
- 00009046  0x00000dd8 ifetch  0x00000001 , 0x00000006 
- 00009047  0x00000dd9 rtn  0x00000034 
- 00009048  0x00000ddb lshift  0x0000003f , 0x0000003f 
- 00009049  0x00000ddc loop  0x00002358 
- 00009050  0x00000ddd copy  0x0000003f , 0x00000011 
- 00009051  0x00000dde increase  0x00000002 , 0x0000003f 
- 00009052  0x00000ddf copy  0x0000003f , 0x00000007 
- 00009053  0x00000de0 fetch  0x00000002 , 0x000041dc 
- 00009054  0x00000de1 iadd  0x00000007 , 0x0000003f 
- 00009055  0x00000de2 store  0x00000002 , 0x000041dc 
- 00009056  0x00000de3 copy  0x00000002 , 0x00000005 
- 00009057  0x00000de4 copy  0x00000011 , 0x0000003f 
- 00009058  0x00000de5 increase  0x00000001 , 0x0000003f 
- 00009059  0x00000de6 istore  0x00000001 , 0x00000005 
- 00009060  0x00000de7 copy  0x00000013 , 0x00000006 
- 00009061  0x00000de8 ifetch  0x00000001 , 0x00000006 
- 00009062  0x00000de9 ifetch  0x00000001 , 0x00000006 
- 00009063  0x00000dea istore  0x00000001 , 0x00000005 
- 00009064  0x00000deb copy  0x00000011 , 0x00000039 
- 00009065  0x00000dec branch  0x00007f01 
- 00009066  0x00000df3 fetch  0x00000001 , 0x00004093 
- 00009067  0x00000df4 rtnbit0  0x00000001 
- 00009068  0x00000df5 force  0x00000005 , 0x00000007 
- 00009069  0x00000df6 call  0x00007f16 
- 00009070  0x00000df7 nrtn  0x00000034 
- 00009071  0x00000df8 fetcht  0x00000002 , 0x000040b1 
- 00009072  0x00000df9 force  0x00000028 , 0x00000007 
- 00009073  0x00000dfa call  0x0000271c 
- 00009074  0x00000dfb rtn  0x00000028 
- 00009075  0x00000dfc force  0x00000000 , 0x00000004 
- 00009076  0x00000dfd jam  0x00000008 , 0x00000010 
- 00009077  0x00000dfe set0  0x0000000b , 0x00000000 
- 00009078  0x00000dff call  0x0000237a 
- 00009079  0x00000e00 force  0x00000005 , 0x00000007 
- 00009080  0x00000e01 fetch  0x00000002 , 0x000040b3 
- 00009081  0x00000e02 branch  0x00007f08 
- 00009082  0x00000e06 bpatch  0x00000035 , 0x00004006 
- 00009083  0x00000e07 disable  0x00000030 
- 00009084  0x00000e08 call  0x000028a4 
- 00009085  0x00000e09 fetch  0x00000001 , 0x00000008 
- 00009086  0x00000e0a increase  0x00000001 , 0x0000003f 
- 00009087  0x00000e0b store  0x00000001 , 0x00000008 
- 00009088  0x00000e0c force  0x00000000 , 0x00000026 
- 00009089  0x00000e0d call  0x000028e2 
- 00009090  0x00000e0e add  0x00000022 , 0x00000001 , 0x00000021 
- 00009091  0x00000e0f force  0x00000002 , 0x00000024 
- 00009092  0x00000e10 bpatch  0x00000036 , 0x00004006 
- 00009093  0x00000e11 call  0x000028cc 
- 00009094  0x00000e12 call  0x000029eb 
- 00009095  0x00000e13 call  0x00002a14 
- 00009096  0x00000e14 nrtn  0x00000018 
- 00009097  0x00000e15 call  0x000028f9 
- 00009098  0x00000e16 fetch  0x00000001 , 0x00000009 
- 00009099  0x00000e17 increase  0x00000001 , 0x0000003f 
- 00009100  0x00000e18 store  0x00000001 , 0x00000009 
- 00009101  0x00000e19 force  0x00000000 , 0x0000001b 
- 00009102  0x00000e1a call  0x00002a4d 
- 00009103  0x00000e1b or_into  0x00000002 , 0x00000021 
- 00009104  0x00000e1c force  0x00000001 , 0x00000024 
- 00009105  0x00000e1d call  0x000028d2 
- 00009106  0x00000e1e call  0x00002a51 
- 00009107  0x00000e1f call  0x00002a5f 
- 00009108  0x00000e20 call  0x00002a64 
- 00009109  0x00000e21 call  0x0000264d 
- 00009110  0x00000e22 force  0x00000000 , 0x00000004 
- 00009111  0x00000e23 arg  0x00000600 , 0x0000000b 
- 00009112  0x00000e24 until  0x00000029 , 0x00000026 
- 00009113  0x00000e25 or_into  0x00000003 , 0x00000028 
- 00009114  0x00000e26 and_into  0x000001fd , 0x00000021 
- 00009115  0x00000e28 bpatch  0x00000037 , 0x00004006 
- 00009116  0x00000e29 increase  0x00000001 , 0x00000026 
- 00009117  0x00000e2a call  0x000028cc 
- 00009118  0x00000e2b call  0x000029eb 
- 00009119  0x00000e2c call  0x00002a07 
- 00009120  0x00000e2d nbranch  0x000023a4 , 0x00000018 
- 00009121  0x00000e2e call  0x00002a6b 
- 00009122  0x00000e2f call  0x0000251e 
- 00009123  0x00000e30 bmark1  0x0000000b , 0x000023ab 
- 00009124  0x00000e32 bpatch  0x00000038 , 0x00004007 
- 00009125  0x00000e33 fetch  0x00000001 , 0x00000010 
- 00009126  0x00000e34 rtn  0x00000034 
- 00009127  0x00000e35 increase  0xffffffff , 0x0000003f 
- 00009128  0x00000e36 store  0x00000001 , 0x00000010 
- 00009129  0x00000e37 call  0x00002a4f 
- 00009130  0x00000e38 branch  0x0000239b 
- 00009131  0x00000e3c bpatch  0x00000039 , 0x00004007 
- 00009132  0x00000e3d set0  0x00000001 , 0x00000028 
- 00009133  0x00000e3e set1  0x00000000 , 0x00000028 
- 00009134  0x00000e3f fetch  0x00000001 , 0x0000000a 
- 00009135  0x00000e40 increase  0x00000001 , 0x0000003f 
- 00009136  0x00000e41 store  0x00000001 , 0x0000000a 
- 00009137  0x00000e42 call  0x00002a4d 
- 00009138  0x00000e43 or_into  0x00000002 , 0x00000021 
- 00009139  0x00000e44 call  0x000028d2 
- 00009140  0x00000e45 call  0x00002a51 
- 00009141  0x00000e46 call  0x00002a5f 
- 00009142  0x00000e47 call  0x00002a64 
- 00009143  0x00000e48 call  0x0000264d 
- 00009144  0x00000e4a compare  0x00000003 , 0x00000028 , 0x00000003 
- 00009145  0x00000e4b branch  0x000023bc , 0x00000001 
- 00009146  0x00000e4c until  0x0000003e , 0x00000017 
- 00009147  0x00000e4d branch  0x000023b8 
- 00009148  0x00000e4f fetch  0x00000004 , 0x00000165 
- 00009149  0x00000e50 or_into  0x00000003 , 0x0000003f 
- 00009150  0x00000e51 icopy  0x00000028 
- 00009151  0x00000e54 bpatch  0x0000003a , 0x00004007 
- 00009152  0x00000e55 fetch  0x00000006 , 0x00000178 
- 00009153  0x00000e56 store  0x00000006 , 0x00000040 
- 00009154  0x00000e57 call  0x00002435 
- 00009155  0x00000e59 call  0x0000247c 
- 00009156  0x00000e5a branch  0x000023c8 , 0x0000002d 
- 00009157  0x00000e5b call  0x00002455 
- 00009158  0x00000e5c nbranch  0x000023c3 , 0x00000034 
- 00009159  0x00000e5d rtn 
- 00009160  0x00000e61 bpatch  0x0000003b , 0x00004007 
- 00009161  0x00000e62 call  0x00002440 
- 00009162  0x00000e63 call  0x0000223b 
- 00009163  0x00000e64 nrtn  0x00000005 
- 00009164  0x00000e65 jam  0x00000000 , 0x00000031 
- 00009165  0x00000e66 call  0x00002841 
- 00009166  0x00000e67 branch  0x00002223 
- 00009167  0x00000e6d bpatch  0x0000003c , 0x00004007 
- 00009168  0x00000e6e call  0x00002850 
- 00009169  0x00000e6f call  0x000023f3 
- 00009170  0x00000e70 rtn  0x00000028 
- 00009171  0x00000e72 bpatch  0x0000003d , 0x00004007 
- 00009172  0x00000e73 call  0x00002c69 
- 00009173  0x00000e74 call  0x00006caa 
- 00009174  0x00000e75 call  0x00002514 
- 00009175  0x00000e76 nbranch  0x000023e2 , 0x0000002d 
- 00009176  0x00000e77 call  0x00002a88 
- 00009177  0x00000e78 call  0x00006cc2 
- 00009178  0x00000e79 call  0x00002489 
- 00009179  0x00000e7a call  0x00002757 
- 00009180  0x00000e7b call  0x00002728 
- 00009181  0x00000e7c call  0x00005d08 
- 00009182  0x00000e7d fetch  0x00000001 , 0x0000000b 
- 00009183  0x00000e7e increase  0x00000001 , 0x0000003f 
- 00009184  0x00000e7f store  0x00000001 , 0x0000000b 
- 00009185  0x00000e80 call  0x00002841 
- 00009186  0x00000e82 bpatch  0x0000003e , 0x00004007 
- 00009187  0x00000e83 call  0x00002bb1 
- 00009188  0x00000e84 call  0x00002a7f 
- 00009189  0x00000e85 branch  0x000023eb , 0x00000002 
- 00009190  0x00000e86 call  0x000021a7 
- 00009191  0x00000e87 nbranch  0x000023eb , 0x00000028 
- 00009192  0x00000e88 call  0x000026f3 
- 00009193  0x00000e89 nbranch  0x000023d3 , 0x00000034 
- 00009194  0x00000e8a rtn 
- 00009195  0x00000e8d bpatch  0x0000003f , 0x00004007 
- 00009196  0x00000e8e jam  0x00000000 , 0x00000151 
- 00009197  0x00000e8f jam  0x00000000 , 0x0000017f 
- 00009198  0x00000e90 call  0x0000245d 
- 00009199  0x00000e91 set0  0x00000011 , 0x00000000 
- 00009200  0x00000e92 call  0x00007fb0 
- 00009201  0x00000e93 fetch  0x00000001 , 0x00000030 
- 00009202  0x00000e94 rtn 
- 00009203  0x00000e98 bpatch  0x00000040 , 0x00004008 
- 00009204  0x00000e99 call  0x000021c9 
- 00009205  0x00000e9a nrtn  0x00000028 
- 00009206  0x00000e9b copy  0x00000004 , 0x00000002 
- 00009207  0x00000e9c call  0x00002a6f 
- 00009208  0x00000e9d store  0x00000001 , 0x00000181 
- 00009209  0x00000e9e copy  0x00000002 , 0x00000004 
- 00009210  0x00000e9f jam  0x00000020 , 0x00000011 
- 00009211  0x00000ea1 bpatch  0x00000041 , 0x00004008 
- 00009212  0x00000ea2 call  0x00002a4f 
- 00009213  0x00000ea3 force  0x00000002 , 0x00000001 
- 00009214  0x00000ea4 call  0x0000274f 
- 00009215  0x00000ea5 deposit  0x00000022 
- 00009216  0x00000ea6 store  0x00000004 , 0x00000161 
- 00009217  0x00000ea7 call  0x00002762 
- 00009218  0x00000ea8 call  0x00002a4d 
- 00009219  0x00000ea9 enable  0x0000002f 
- 00009220  0x00000eaa call  0x000024f6 
- 00009221  0x00000eab branch  0x0000240d , 0x00000018 
- 00009222  0x00000eac call  0x000028f9 
- 00009223  0x00000ead call  0x00002455 
- 00009224  0x00000eae nbranch  0x000023fb , 0x00000034 
- 00009225  0x00000eaf rtnmark0  0x00000004 
- 00009226  0x00000eb0 jam  0x00000034 , 0x0000007c 
- 00009227  0x00000eb1 set1  0x00000003 , 0x00000000 
- 00009228  0x00000eb2 rtn 
- 00009229  0x00000eb4 enable  0x00000030 
- 00009230  0x00000eb5 call  0x00002435 
- 00009231  0x00000eb6 call  0x000028a4 
- 00009232  0x00000eb8 bpatch  0x00000042 , 0x00004008 
- 00009233  0x00000eb9 call  0x000022f2 
- 00009234  0x00000eba branch  0x00002419 , 0x00000018 
- 00009235  0x00000ebb call  0x00002455 
- 00009236  0x00000ebc nbranch  0x00002410 , 0x00000034 
- 00009237  0x00000ebd disable  0x00000030 
- 00009238  0x00000ebe deposit  0x00000028 
- 00009239  0x00000ebf store  0x00000004 , 0x000040ca 
- 00009240  0x00000ec0 rtn 
- 00009241  0x00000ec2 enable  0x00000029 
- 00009242  0x00000ec3 bmark0  0x00000004 , 0x0000241f 
- 00009243  0x00000ec4 set0  0x00000004 , 0x00000000 
- 00009244  0x00000ec5 jam  0x00000003 , 0x0000007c 
- 00009245  0x00000ec6 jam  0x00000033 , 0x0000007d 
- 00009246  0x00000ec7 call  0x000062f8 
- 00009247  0x00000ec9 deposit  0x00000004 
- 00009248  0x00000eca store  0x00000001 , 0x00000077 
- 00009249  0x00000ecb force  0x00000000 , 0x0000003f 
- 00009250  0x00000ecc store  0x00000006 , 0x00000038 
- 00009251  0x00000ecd fetch  0x00000001 , 0x00000031 
- 00009252  0x00000ece set1  0x00000001 , 0x0000003f 
- 00009253  0x00000ecf store  0x00000001 , 0x00000031 
- 00009254  0x00000ed0 call  0x00002a88 
- 00009255  0x00000ed1 disable  0x00000029 
- 00009256  0x00000ed2 enable  0x00000028 
- 00009257  0x00000ed3 rtn 
- 00009258  0x00000ed8 bpatch  0x00000043 , 0x00004008 
- 00009259  0x00000ed9 disable  0x0000002d 
- 00009260  0x00000eda set0  0x00000005 , 0x00000000 
- 00009261  0x00000edb set0  0x0000000a , 0x00000000 
- 00009262  0x00000edc set0  0x00000010 , 0x00000000 
- 00009263  0x00000edd set0  0x0000000f , 0x00000000 
- 00009264  0x00000ede fetch  0x00000001 , 0x00000047 
- 00009265  0x00000edf set0  0x00000005 , 0x0000003f 
- 00009266  0x00000ee0 set1  0x00000004 , 0x0000003f 
- 00009267  0x00000ee1 store  0x00000001 , 0x00000047 
- 00009268  0x00000ee2 rtn 
- 00009269  0x00000ee5 bpatch  0x00000044 , 0x00004008 
- 00009270  0x00000ee6 jam  0x00000020 , 0x00000011 
- 00009271  0x00000ee7 jam  0x00000050 , 0x00000047 
- 00009272  0x00000ee8 fetch  0x00000002 , 0x000040bf 
- 00009273  0x00000ee9 store  0x00000002 , 0x0000003e 
- 00009274  0x00000eea deposit  0x00000022 
- 00009275  0x00000eeb store  0x00000004 , 0x000040ca 
- 00009276  0x00000eec rtn  0x00000030 
- 00009277  0x00000eed deposit  0x00000028 
- 00009278  0x00000eee store  0x00000004 , 0x000040ca 
- 00009279  0x00000eef rtn 
- 00009280  0x00000ef2 bpatch  0x00000045 , 0x00004008 
- 00009281  0x00000ef3 call  0x00005d04 
- 00009282  0x00000ef4 call  0x00002459 
- 00009283  0x00000ef5 store  0x00000001 , 0x00000046 
- 00009284  0x00000ef6 setarg  0x00000000 
- 00009285  0x00000ef7 store  0x00000002 , 0x0000025d 
- 00009286  0x00000ef8 setarg  0x00001c80 
- 00009287  0x00000ef9 store  0x00000002 , 0x00000051 
- 00009288  0x00000efa fetch  0x00000001 , 0x00000030 
- 00009289  0x00000efb set1  0x00000000 , 0x0000003f 
- 00009290  0x00000efc store  0x00000001 , 0x00000030 
- 00009291  0x00000efd jam  0x00000000 , 0x0000004b 
- 00009292  0x00000efe jam  0x00000000 , 0x0000004c 
- 00009293  0x00000eff jam  0x00000000 , 0x000000a0 
- 00009294  0x00000f00 branch  0x00002a88 
- 00009295  0x00000f04 bpatch  0x00000046 , 0x00004008 
- 00009296  0x00000f05 force  0x00000000 , 0x0000003f 
- 00009297  0x00000f06 store  0x00000008 , 0x000041be 
- 00009298  0x00000f07 istore  0x00000008 , 0x00000005 
- 00009299  0x00000f08 call  0x000021c5 
- 00009300  0x00000f09 branch  0x00002254 
- 00009301  0x00000f0c fetch  0x00000001 , 0x00000011 
- 00009302  0x00000f0d increase  0xffffffff , 0x0000003f 
- 00009303  0x00000f0e store  0x00000001 , 0x00000011 
- 00009304  0x00000f0f rtn 
- 00009305  0x00000f12 fetch  0x00000001 , 0x000040cf 
- 00009306  0x00000f13 increase  0x00000001 , 0x0000003f 
- 00009307  0x00000f14 store  0x00000001 , 0x000040cf 
- 00009308  0x00000f15 rtn 
- 00009309  0x00000f19 bpatch  0x00000047 , 0x00004008 
- 00009310  0x00000f1a fetch  0x00000001 , 0x000041ce 
- 00009311  0x00000f1b beq  0x00000003 , 0x00002462 
- 00009312  0x00000f1c fetch  0x00000001 , 0x00000048 
- 00009313  0x00000f1d bne  0x00000001 , 0x00002466 
- 00009314  0x00000f1f call  0x00004d06 
- 00009315  0x00000f20 nbranch  0x00002466 , 0x00000005 
- 00009316  0x00000f21 call  0x000021a4 
- 00009317  0x00000f22 jam  0x00000000 , 0x000041ce 
- 00009318  0x00000f24 bpatch  0x00000048 , 0x00004009 
- 00009319  0x00000f25 call  0x000033af 
- 00009320  0x00000f26 call  0x000026e9 
- 00009321  0x00000f27 jam  0x00000002 , 0x00000a99 
- 00009322  0x00000f28 call  0x00007d86 
- 00009323  0x00000f29 call  0x00005cf7 
- 00009324  0x00000f2a call  0x00004d6b 
- 00009325  0x00000f2b call  0x0000757d 
- 00009326  0x00000f2c fetch  0x00000001 , 0x00000030 
- 00009327  0x00000f2d set0  0x00000000 
- 00009328  0x00000f2e store  0x00000001 , 0x00000030 
- 00009329  0x00000f2f jam  0x00000000 , 0x00004681 
- 00009330  0x00000f31 fetch  0x00000001 , 0x0000004c 
- 00009331  0x00000f32 compare  0x00000000 , 0x0000003f , 0x000000c0 
- 00009332  0x00000f33 branch  0x00002476 , 0x00000001 
- 00009333  0x00000f34 set0  0x00000001 , 0x00000000 
- 00009334  0x00000f36 fetch  0x00000001 , 0x00000047 
- 00009335  0x00000f37 bbit0  0x00000003 , 0x00002478 
- 00009336  0x00000f39 fetch  0x00000001 , 0x0000004b 
- 00009337  0x00000f3a rtnbit0  0x00000006 
- 00009338  0x00000f3b set0  0x00000002 , 0x00000000 
- 00009339  0x00000f3c rtn 
- 00009340  0x00000f3f bpatch  0x00000049 , 0x00004009 
- 00009341  0x00000f40 fetch  0x00000001 , 0x00000174 
- 00009342  0x00000f41 rtn  0x00000034 
- 00009343  0x00000f42 icopy  0x00000004 
- 00009344  0x00000f43 call  0x00002514 
- 00009345  0x00000f44 nrtn  0x0000002d 
- 00009346  0x00000f45 force  0x00000000 , 0x00000001 
- 00009347  0x00000f46 call  0x00002757 
- 00009348  0x00000f47 deposit  0x00000004 
- 00009349  0x00000f48 store  0x00000001 , 0x00000077 
- 00009350  0x00000f49 force  0x00000000 , 0x0000003f 
- 00009351  0x00000f4a store  0x00000001 , 0x00000174 
- 00009352  0x00000f4b rtn 
- 00009353  0x00000f52 bpatch  0x0000004a , 0x00004009 
- 00009354  0x00000f53 fetch  0x00000001 , 0x00000030 
- 00009355  0x00000f54 bbit0  0x00000002 , 0x00002496 
- 00009356  0x00000f55 force  0x00000007 , 0x00000001 
- 00009357  0x00000f56 bmark0  0x00000007 , 0x00002495 
- 00009358  0x00000f57 call  0x00002725 
- 00009359  0x00000f58 nbranch  0x00002496 , 0x00000001 
- 00009360  0x00000f59 branch  0x00002496 , 0x0000002e 
- 00009361  0x00000f5a call  0x000024c1 
- 00009362  0x00000f5b setarg  0x00000002 
- 00009363  0x00000f5c store  0x00000002 , 0x000040c8 
- 00009364  0x00000f5d rtn 
- 00009365  0x00000f5f nrtn  0x0000002e 
- 00009366  0x00000f61 bpatch  0x0000004b , 0x00004009 
- 00009367  0x00000f62 call  0x00002243 
- 00009368  0x00000f63 nbranch  0x000024a7 , 0x00000005 
- 00009369  0x00000f64 fetch  0x00000001 , 0x00000047 
- 00009370  0x00000f65 bbit0  0x00000003 , 0x000024b0 
- 00009371  0x00000f67 bmark1  0x00000005 , 0x000024b4 
- 00009372  0x00000f68 fetch  0x00000001 , 0x0000017f 
- 00009373  0x00000f69 bbit1  0x00000006 , 0x000024ba 
- 00009374  0x00000f6a fetch  0x00000002 , 0x000040c8 
- 00009375  0x00000f6b increase  0xffffffff , 0x0000003f 
- 00009376  0x00000f6c store  0x00000002 , 0x000040c8 
- 00009377  0x00000f6d branch  0x000024a5 , 0x00000034 
- 00009378  0x00000f6e fetch  0x00000001 , 0x000040c5 
- 00009379  0x00000f6f iforce  0x00000001 
- 00009380  0x00000f70 rtn 
- 00009381  0x00000f73 bpatch  0x0000004c , 0x00004009 
- 00009382  0x00000f74 call  0x00002687 
- 00009383  0x00000f76 call  0x00002725 
- 00009384  0x00000f77 branch  0x000024b0 , 0x00000001 
- 00009385  0x00000f78 call  0x0000600a 
- 00009386  0x00000f79 branch  0x000024be , 0x00000028 
- 00009387  0x00000f7a fetch  0x00000001 , 0x0000004b 
- 00009388  0x00000f7b bbit1  0x00000006 , 0x000024c0 
- 00009389  0x00000f7c bmark1  0x00000005 , 0x000024b4 
- 00009390  0x00000f7d fetch  0x00000001 , 0x0000017f 
- 00009391  0x00000f7e bbit1  0x00000006 , 0x000024ba 
- 00009392  0x00000f80 force  0x00000001 , 0x00000001 
- 00009393  0x00000f81 rtn  0x00000029 
- 00009394  0x00000f82 force  0x00000000 , 0x00000001 
- 00009395  0x00000f83 rtn 
- 00009396  0x00000f85 bpatch  0x0000004d , 0x00004009 
- 00009397  0x00000f86 fetch  0x00000001 , 0x00000019 
- 00009398  0x00000f87 iforce  0x00000001 
- 00009399  0x00000f88 rtnne  0x00000001 
- 00009400  0x00000f89 force  0x00000000 , 0x00000001 
- 00009401  0x00000f8a rtn 
- 00009402  0x00000f8c fetch  0x00000001 , 0x00000158 
- 00009403  0x00000f8d and  0x0000003f , 0x0000000f , 0x00000001 
- 00009404  0x00000f8e set1  0x00000005 , 0x00000000 
- 00009405  0x00000f8f rtn 
- 00009406  0x00000f91 force  0x00000013 , 0x00000001 
- 00009407  0x00000f92 branch  0x000024c1 
- 00009408  0x00000f94 call  0x000024ca 
- 00009409  0x00000f97 bpatch  0x0000004e , 0x00004009 
- 00009410  0x00000f98 fetcht  0x00000001 , 0x00000047 
- 00009411  0x00000f99 set1  0x00000003 , 0x00000002 
- 00009412  0x00000f9a storet  0x00000001 , 0x00000047 
- 00009413  0x00000f9b deposit  0x00000001 
- 00009414  0x00000f9c store  0x00000001 , 0x000040c5 
- 00009415  0x00000f9d setarg  0x0000ffff 
- 00009416  0x00000f9e store  0x00000002 , 0x000040c8 
- 00009417  0x00000f9f rtn 
- 00009418  0x00000fa2 bpatch  0x0000004f , 0x00004009 
- 00009419  0x00000fa3 fetch  0x00000001 , 0x0000004c 
- 00009420  0x00000fa4 isolate1  0x00000005 , 0x0000003f 
- 00009421  0x00000fa5 fetch  0x00000002 , 0x000041dc 
- 00009422  0x00000fa6 branch  0x000024e0 , 0x00000001 
- 00009423  0x00000fa7 force  0x00000003 , 0x00000001 
- 00009424  0x00000fa8 sub  0x0000003f , 0x00000011 , 0x0000003e 
- 00009425  0x00000fa9 rtn  0x00000002 
- 00009426  0x00000faa force  0x00000004 , 0x00000001 
- 00009427  0x00000fab sub  0x0000003f , 0x0000001b , 0x0000003e 
- 00009428  0x00000fac rtn  0x00000002 
- 00009429  0x00000fad force  0x0000000a , 0x00000001 
- 00009430  0x00000fae sub  0x0000003f , 0x00000079 , 0x0000003e 
- 00009431  0x00000faf rtn  0x00000002 
- 00009432  0x00000fb0 force  0x0000000b , 0x00000001 
- 00009433  0x00000fb1 sub  0x0000003f , 0x000000b7 , 0x0000003e 
- 00009434  0x00000fb2 rtn  0x00000002 
- 00009435  0x00000fb3 force  0x0000000e , 0x00000001 
- 00009436  0x00000fb4 sub  0x0000003f , 0x000000e0 , 0x0000003e 
- 00009437  0x00000fb5 rtn  0x00000002 
- 00009438  0x00000fb6 force  0x0000000f , 0x00000001 
- 00009439  0x00000fb7 rtn 
- 00009440  0x00000fb9 force  0x00000003 , 0x00000001 
- 00009441  0x00000fba sub  0x0000003f , 0x00000011 , 0x0000003e 
- 00009442  0x00000fbb rtn  0x00000002 
- 00009443  0x00000fbc force  0x00000004 , 0x00000001 
- 00009444  0x00000fbd sub  0x0000003f , 0x00000036 , 0x0000003e 
- 00009445  0x00000fbe rtn  0x00000002 
- 00009446  0x00000fbf force  0x0000000a , 0x00000001 
- 00009447  0x00000fc0 arg  0x0000016f , 0x00000002 
- 00009448  0x00000fc1 isub  0x00000002 , 0x0000003e 
- 00009449  0x00000fc2 nrtn  0x00000002 
- 00009450  0x00000fc3 force  0x0000000e , 0x00000001 
- 00009451  0x00000fc4 arg  0x000002a7 , 0x00000002 
- 00009452  0x00000fc5 isub  0x00000002 , 0x0000003e 
- 00009453  0x00000fc6 nrtn  0x00000002 
- 00009454  0x00000fc7 force  0x0000000f , 0x00000001 
- 00009455  0x00000fc8 rtn 
- 00009456  0x00000fd2 fetch  0x00000001 , 0x00000030 
- 00009457  0x00000fd3 bbit0  0x00000001 , 0x000024f5 
- 00009458  0x00000fd4 fetch  0x00000002 , 0x00000032 
- 00009459  0x00000fd5 branch  0x000024f5 , 0x00000034 
- 00009460  0x00000fd6 nbranch  0x000024f7 , 0x0000002e 
- 00009461  0x00000fd8 call  0x00002a4f 
- 00009462  0x00000fda add  0x00000028 , 0x00000001 , 0x00000021 
- 00009463  0x00000fdc enable  0x00000010 
- 00009464  0x00000fdd fetch  0x00000002 , 0x0000003e 
- 00009465  0x00000fde rshift  0x0000003f , 0x0000003f 
- 00009466  0x00000fdf arg  0x00000500 , 0x00000002 
- 00009467  0x00000fe0 iadd  0x00000002 , 0x0000003f 
- 00009468  0x00000fe1 call  0x00002a24 
- 00009469  0x00000fe2 call  0x000028ea 
- 00009470  0x00000fe3 force  0x00000003 , 0x00000024 
- 00009471  0x00000fe4 call  0x000028cc 
- 00009472  0x00000fe5 call  0x0000242a 
- 00009473  0x00000fe6 call  0x000029f1 
- 00009474  0x00000fe7 bpatch  0x00000050 , 0x0000400a 
- 00009475  0x00000fe8 fetch  0x00000002 , 0x0000003e 
- 00009476  0x00000fe9 rshift  0x0000003f , 0x0000003f 
- 00009477  0x00000fea call  0x00002a24 
- 00009478  0x00000feb call  0x000029eb 
- 00009479  0x00000fec enable  0x0000000d 
- 00009480  0x00000fed fetch  0x00000002 , 0x0000003e 
- 00009481  0x00000fee arg  0x000003bb , 0x00000002 
- 00009482  0x00000fef iadd  0x00000002 , 0x0000001b 
- 00009483  0x00000ff0 correlate  0x0000003e , 0x00000003 
- 00009484  0x00000ff1 copy  0x0000001a , 0x00000002 
- 00009485  0x00000ff2 storet  0x00000006 , 0x0000009a 
- 00009486  0x00000ff3 disable  0x0000000d 
- 00009487  0x00000ff4 nrtn  0x00000018 
- 00009488  0x00000ff5 arg  0x000003bb , 0x00000029 
- 00009489  0x00000ff6 copy  0x00000021 , 0x00000028 
- 00009490  0x00000ff7 branch  0x00002b05 , 0x0000002b 
- 00009491  0x00000ff8 rtn 
- 00009492  0x00000ffc bpatch  0x00000051 , 0x0000400a 
- 00009493  0x00000ffd call  0x000024f0 
- 00009494  0x00000ffe nbranch  0x000028f9 , 0x00000018 
- 00009495  0x00000fff call  0x000029bb 
- 00009496  0x00001000 bmark0  0x00000011 , 0x0000251c 
- 00009497  0x00001001 fetch  0x00000002 , 0x000000f6 
- 00009498  0x00001002 increase  0x00000001 , 0x0000003f 
- 00009499  0x00001003 store  0x00000002 , 0x000000f6 
- 00009500  0x00001005 rshift  0x00000021 , 0x00000002 
- 00009501  0x00001006 or  0x00000002 , 0x00000040 , 0x0000000e 
- 00009502  0x00001008 bpatch  0x00000052 , 0x0000400a 
- 00009503  0x00001009 enable  0x00000007 
- 00009504  0x0000100a enable  0x0000000a 
- 00009505  0x0000100b enable  0x0000000b 
- 00009506  0x0000100c parse  0x00000003 , 0x00000000 , 0x00000003 
- 00009507  0x0000100d rshift8  0x0000000c , 0x0000003f 
- 00009508  0x0000100e store  0x00000001 , 0x0000015d 
- 00009509  0x0000100f parse  0x00000003 , 0x00000000 , 0x00000004 
- 00009510  0x00001010 inject  0x00000000 , 0x00000007 
- 00009511  0x00001011 copy  0x0000000c , 0x0000003f 
- 00009512  0x00001012 store  0x00000001 , 0x00000019 
- 00009513  0x00001013 parse  0x00000003 , 0x00000000 , 0x00000003 
- 00009514  0x00001014 rshift8  0x0000000c , 0x0000003f 
- 00009515  0x00001015 store  0x00000001 , 0x0000015e 
- 00009516  0x00001016 fetch  0x00000001 , 0x00000019 
- 00009517  0x00001017 sub  0x0000003f , 0x00000003 , 0x0000003e 
- 00009518  0x00001018 branch  0x00002533 , 0x00000002 
- 00009519  0x00001019 beq  0x00000007 , 0x00002533 
- 00009520  0x0000101a fetch  0x00000001 , 0x0000004c 
- 00009521  0x0000101b isolate1  0x00000005 , 0x0000003f 
- 00009522  0x0000101c setflag  0x00000001 , 0x00000001 , 0x00000015 
- 00009523  0x0000101e bpatch  0x00000053 , 0x0000400a 
- 00009524  0x0000101f parse  0x00000003 , 0x00000000 , 0x00000008 
- 00009525  0x00001020 disable  0x0000000b 
- 00009526  0x00001021 disable  0x0000000a 
- 00009527  0x00001022 branch  0x00002631 , 0x00000006 
- 00009528  0x00001023 bmark0  0x00000011 , 0x0000253c 
- 00009529  0x00001024 fetch  0x00000002 , 0x000000f8 
- 00009530  0x00001025 increase  0x00000001 , 0x0000003f 
- 00009531  0x00001026 store  0x00000002 , 0x000000f8 
- 00009532  0x00001028 bpatch  0x00000054 , 0x0000400a 
- 00009533  0x00001029 fetch  0x00000001 , 0x0000015d 
- 00009534  0x0000102a compare  0x00000000 , 0x0000003f , 0x00000007 
- 00009535  0x0000102b setflag  0x00000001 , 0x0000000a , 0x00000000 
- 00009536  0x0000102c branch  0x0000254c , 0x00000001 
- 00009537  0x0000102d icompare  0x00000007 , 0x00000004 
- 00009538  0x0000102e branch  0x0000254b , 0x00000001 
- 00009539  0x0000102f bmark0  0x00000007 , 0x0000264d 
- 00009540  0x00001030 fetcht  0x00000001 , 0x000000b0 
- 00009541  0x00001031 icompare  0x00000007 , 0x00000002 
- 00009542  0x00001032 nbranch  0x0000264d , 0x00000001 
- 00009543  0x00001033 fetch  0x00000001 , 0x00000047 
- 00009544  0x00001034 set0  0x00000005 , 0x0000003f 
- 00009545  0x00001035 set1  0x00000004 , 0x0000003f 
- 00009546  0x00001036 store  0x00000001 , 0x00000047 
- 00009547  0x00001038 enable  0x0000002d 
- 00009548  0x0000103a bpatch  0x00000055 , 0x0000400a 
- 00009549  0x0000103b fetch  0x00000001 , 0x00000019 
- 00009550  0x0000103c icopy  0x00000001 
- 00009551  0x0000103d bmark1  0x0000000a , 0x0000255b 
- 00009552  0x0000103e fetcht  0x00000001 , 0x0000015e 
- 00009553  0x0000103f fetch  0x00000001 , 0x00000047 
- 00009554  0x00001040 set0  0x00000000 , 0x0000003f 
- 00009555  0x00001041 isolate1  0x00000000 , 0x00000002 
- 00009556  0x00001042 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00009557  0x00001043 isolate1  0x00000001 , 0x00000002 
- 00009558  0x00001044 setflag  0x00000001 , 0x00000001 , 0x0000003f 
- 00009559  0x00001045 store  0x00000001 , 0x00000047 
- 00009560  0x00001046 isolate0  0x00000001 , 0x00000002 
- 00009561  0x00001047 branch  0x0000255b , 0x00000001 
- 00009562  0x00001048 call  0x00002687 
- 00009563  0x0000104a bpatch  0x00000056 , 0x0000400a 
- 00009564  0x0000104b arg  0x00000000 , 0x00000002 
- 00009565  0x0000104c call  0x00002a1c 
- 00009566  0x0000104d and  0x00000001 , 0x0000000f , 0x0000003f 
- 00009567  0x0000104e beq  0x00000001 , 0x00002587 
- 00009568  0x0000104f beq  0x00000000 , 0x0000264d 
- 00009569  0x00001050 beq  0x00000002 , 0x00002659 
- 00009570  0x00001051 fetcht  0x00000001 , 0x0000015e 
- 00009571  0x00001052 fetch  0x00000001 , 0x00000047 
- 00009572  0x00001053 icompare  0x00000004 , 0x00000002 
- 00009573  0x00001054 nbranch  0x00002569 , 0x00000001 
- 00009574  0x00001055 bmark0  0x0000000a , 0x00002568 
- 00009575  0x00001056 bbit0  0x00000007 , 0x00002569 
- 00009576  0x00001058 set1  0x0000000f , 0x00000000 
- 00009577  0x0000105a bpatch  0x00000057 , 0x0000400a 
- 00009578  0x0000105b deposit  0x00000001 
- 00009579  0x0000105c beq  0x00000003 , 0x00002589 
- 00009580  0x0000105d beq  0x00000004 , 0x0000258d 
- 00009581  0x0000105e beq  0x00000007 , 0x00002578 
- 00009582  0x0000105f beq  0x00000008 , 0x0000258c 
- 00009583  0x00001060 arg  0x00000004 , 0x00000002 
- 00009584  0x00001061 call  0x00002a1c 
- 00009585  0x00001062 beq  0x0000000a , 0x00002588 
- 00009586  0x00001063 beq  0x0000000b , 0x0000258b 
- 00009587  0x00001064 arg  0x00000008 , 0x00000002 
- 00009588  0x00001065 call  0x00002a1c 
- 00009589  0x00001066 beq  0x0000000e , 0x00002588 
- 00009590  0x00001067 beq  0x0000000f , 0x0000258b 
- 00009591  0x00001068 rtn 
- 00009592  0x0000106c bpatch  0x00000058 , 0x0000400b 
- 00009593  0x0000106d enable  0x0000000d 
- 00009594  0x0000106e enable  0x00000009 
- 00009595  0x0000106f enable  0x0000000e 
- 00009596  0x00001070 arg  0x000000d1 , 0x00000005 
- 00009597  0x00001071 force  0x0000001e , 0x00000039 
- 00009598  0x00001073 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00009599  0x00001074 rshift3  0x0000000c , 0x0000003f 
- 00009600  0x00001075 istore  0x00000001 , 0x00000005 
- 00009601  0x00001076 loop  0x0000257e 
- 00009602  0x00001077 bmark0  0x00000007 , 0x0000264d 
- 00009603  0x00001078 parse  0x00000003 , 0x00000000 , 0x00000010 
- 00009604  0x00001079 nsetflag  0x00000006 , 0x00000008 , 0x00000000 
- 00009605  0x0000107a branch  0x0000263d , 0x00000006 
- 00009606  0x0000107b branch  0x00002620 
- 00009607  0x0000107f branch  0x0000264d 
- 00009608  0x00001083 set1  0x00000010 , 0x00000000 
- 00009609  0x00001085 enable  0x0000000c 
- 00009610  0x00001086 branch  0x0000258e 
- 00009611  0x0000108a set1  0x00000010 , 0x00000000 
- 00009612  0x0000108c set1  0x00000002 , 0x00000015 
- 00009613  0x0000108e enable  0x0000000d 
- 00009614  0x00001090 bpatch  0x00000059 , 0x0000400b 
- 00009615  0x00001091 bmark1  0x00000001 , 0x0000264d 
- 00009616  0x00001092 isolate0  0x00000001 , 0x00000015 
- 00009617  0x00001093 branch  0x0000259a , 0x00000001 
- 00009618  0x00001094 disable  0x00000007 
- 00009619  0x00001095 enable  0x0000000d 
- 00009620  0x00001096 disable  0x0000000c 
- 00009621  0x00001097 add  0x00000022 , 0x00000002 , 0x0000000b 
- 00009622  0x00001098 correlate  0x00000022 , 0x00000026 
- 00009623  0x00001099 nbranch  0x0000263d , 0x00000018 
- 00009624  0x0000109a set1  0x00000010 , 0x00000000 
- 00009625  0x0000109b enable  0x00000007 
- 00009626  0x0000109d bpatch  0x0000005a , 0x0000400b 
- 00009627  0x0000109e enable  0x0000000e 
- 00009628  0x0000109f enable  0x00000009 
- 00009629  0x000010a0 parse  0x00000003 , 0x00000000 , 0x00000003 
- 00009630  0x000010a1 rshift8  0x0000000c , 0x0000003f 
- 00009631  0x000010a2 store  0x00000001 , 0x00000180 
- 00009632  0x000010a3 parse  0x00000003 , 0x00000000 , 0x00000005 
- 00009633  0x000010a4 bmark1  0x00000010 , 0x000025a5 
- 00009634  0x000010a5 rshift3  0x0000000c , 0x00000039 
- 00009635  0x000010a6 rshift3  0x00000039 , 0x00000039 
- 00009636  0x000010a7 branch  0x000025a8 
- 00009637  0x000010a9 parse  0x00000003 , 0x00000000 , 0x00000005 
- 00009638  0x000010aa rshift  0x0000000c , 0x00000039 
- 00009639  0x000010ab parse  0x00000003 , 0x00000000 , 0x00000003 
- 00009640  0x000010ad bpatch  0x0000005b , 0x0000400b 
- 00009641  0x000010ae deposit  0x00000039 
- 00009642  0x000010af store  0x00000002 , 0x0000015f 
- 00009643  0x000010b0 branch  0x000025e8 , 0x00000034 
- 00009644  0x000010b1 isub  0x00000035 , 0x0000003e 
- 00009645  0x000010b2 branch  0x0000263d , 0x00000002 
- 00009646  0x000010b3 bpatch  0x0000005c , 0x0000400b 
- 00009647  0x000010b4 set0  0x00000000 , 0x00000000 
- 00009648  0x000010b5 fetch  0x00000001 , 0x00000180 
- 00009649  0x000010b6 and_into  0x00000003 , 0x0000003f 
- 00009650  0x000010b7 arg  0x00000551 , 0x00000005 
- 00009651  0x000010b8 beq  0x00000003 , 0x000025ba 
- 00009652  0x000010b9 bmark1  0x00000011 , 0x000025e4 
- 00009653  0x000010bb fetch  0x00000001 , 0x00000180 
- 00009654  0x000010bc and_into  0x00000003 , 0x0000003f 
- 00009655  0x000010bd beq  0x00000002 , 0x000025bf 
- 00009656  0x000010be beq  0x00000001 , 0x000025d3 
- 00009657  0x000010bf branch  0x0000263d 
- 00009658  0x000010c2 fetch  0x00000002 , 0x0000015f 
- 00009659  0x000010c3 sub  0x0000003f , 0x00000070 , 0x0000003e 
- 00009660  0x000010c4 nbranch  0x0000263d , 0x00000002 
- 00009661  0x000010c5 bmark1  0x0000000f , 0x00002620 
- 00009662  0x000010c6 branch  0x000025e4 
- 00009663  0x000010ca bpatch  0x0000005d , 0x0000400b 
- 00009664  0x000010cb bmark1  0x0000000f , 0x00002620 
- 00009665  0x000010cc fetch  0x00000002 , 0x0000015f 
- 00009666  0x000010cd arg  0x000002e0 , 0x00000002 
- 00009667  0x000010ce isub  0x00000002 , 0x0000003e 
- 00009668  0x000010cf branch  0x0000263d , 0x00000002 
- 00009669  0x000010d0 fetch  0x00000001 , 0x00000263 
- 00009670  0x000010d1 bbit0  0x00000000 , 0x000025c9 
- 00009671  0x000010d2 bbit0  0x00000001 , 0x000025ce 
- 00009672  0x000010d3 branch  0x0000264d 
- 00009673  0x000010d5 jam  0x00000001 , 0x00000261 
- 00009674  0x000010d6 fetch  0x00000002 , 0x0000025d 
- 00009675  0x000010d7 bne  0x00000000 , 0x0000264d 
- 00009676  0x000010d8 arg  0x00001000 , 0x00000005 
- 00009677  0x000010d9 branch  0x000025e4 
- 00009678  0x000010db jam  0x00000002 , 0x00000261 
- 00009679  0x000010dc fetch  0x00000002 , 0x0000025f 
- 00009680  0x000010dd bne  0x00000000 , 0x0000264d 
- 00009681  0x000010de arg  0x00001400 , 0x00000005 
- 00009682  0x000010df branch  0x000025e4 
- 00009683  0x000010e2 bpatch  0x0000005e , 0x0000400b 
- 00009684  0x000010e3 bmark1  0x0000000f , 0x00002620 
- 00009685  0x000010e4 fetch  0x00000002 , 0x0000015f 
- 00009686  0x000010e5 arg  0x000002e0 , 0x00000002 
- 00009687  0x000010e6 isub  0x00000002 , 0x0000003e 
- 00009688  0x000010e7 branch  0x0000263d , 0x00000002 
- 00009689  0x000010e8 fetch  0x00000001 , 0x00000261 
- 00009690  0x000010e9 beq  0x00000001 , 0x000025dd 
- 00009691  0x000010ea beq  0x00000002 , 0x000025e1 
- 00009692  0x000010eb branch  0x0000264d 
- 00009693  0x000010ed arg  0x00001000 , 0x00000005 
- 00009694  0x000010ee fetch  0x00000002 , 0x0000025d 
- 00009695  0x000010ef iadd  0x00000005 , 0x00000005 
- 00009696  0x000010f0 branch  0x000025e4 
- 00009697  0x000010f2 arg  0x00001400 , 0x00000005 
- 00009698  0x000010f3 fetch  0x00000002 , 0x0000025f 
- 00009699  0x000010f4 iadd  0x00000005 , 0x00000005 
- 00009700  0x000010f6 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00009701  0x000010f7 rshift3  0x0000000c , 0x0000003f 
- 00009702  0x000010f8 istore  0x00000001 , 0x00000005 
- 00009703  0x000010f9 loop  0x000025e4 
- 00009704  0x000010fb bpatch  0x0000005f , 0x0000400b 
- 00009705  0x000010fc parse  0x00000003 , 0x00000000 , 0x00000010 
- 00009706  0x000010fd branch  0x00002637 , 0x00000006 
- 00009707  0x000010fe fetch  0x00000001 , 0x00004363 
- 00009708  0x000010ff beq  0x00000001 , 0x0000264d 
- 00009709  0x00001100 bmark1  0x00000011 , 0x0000260d 
- 00009710  0x00001101 bmark1  0x0000000f , 0x0000264a 
- 00009711  0x00001102 fetch  0x00000001 , 0x00000180 
- 00009712  0x00001103 compare  0x00000003 , 0x0000003f , 0x00000003 
- 00009713  0x00001104 branch  0x0000260d , 0x00000001 
- 00009714  0x00001105 fetch  0x00000002 , 0x0000015f 
- 00009715  0x00001106 branch  0x0000260d , 0x00000034 
- 00009716  0x00001107 bpatch  0x00000060 , 0x0000400c 
- 00009717  0x00001108 fetch  0x00000001 , 0x00000261 
- 00009718  0x00001109 beq  0x00000001 , 0x000025f9 
- 00009719  0x0000110a beq  0x00000002 , 0x00002603 
- 00009720  0x0000110b branch  0x00002a8c 
- 00009721  0x0000110d fetch  0x00000002 , 0x0000025d 
- 00009722  0x0000110e fetcht  0x00000002 , 0x0000015f 
- 00009723  0x0000110f iadd  0x00000002 , 0x0000003f 
- 00009724  0x00001110 store  0x00000002 , 0x0000025d 
- 00009725  0x00001111 beq  0x00000000 , 0x00002a8c 
- 00009726  0x00001112 fetcht  0x00000002 , 0x00001000 
- 00009727  0x00001113 increase  0x00000004 , 0x00000002 
- 00009728  0x00001114 isub  0x00000002 , 0x0000003e 
- 00009729  0x00001115 call  0x00002747 , 0x00000005 
- 00009730  0x00001116 branch  0x0000260d 
- 00009731  0x00001118 fetch  0x00000002 , 0x0000025f 
- 00009732  0x00001119 fetcht  0x00000002 , 0x0000015f 
- 00009733  0x0000111a iadd  0x00000002 , 0x0000003f 
- 00009734  0x0000111b store  0x00000002 , 0x0000025f 
- 00009735  0x0000111c beq  0x00000000 , 0x00002a8c 
- 00009736  0x0000111d fetcht  0x00000002 , 0x00001400 
- 00009737  0x0000111e add  0x00000002 , 0x00000004 , 0x00000002 
- 00009738  0x0000111f isub  0x00000002 , 0x0000003e 
- 00009739  0x00001120 call  0x0000274b , 0x00000005 
- 00009740  0x00001121 branch  0x0000260d 
- 00009741  0x00001123 bpatch  0x00000061 , 0x0000400c 
- 00009742  0x00001124 fetcht  0x00000001 , 0x0000004c 
- 00009743  0x00001125 fetch  0x00000001 , 0x00000180 
- 00009744  0x00001126 compare  0x00000003 , 0x0000003f , 0x00000003 
- 00009745  0x00001127 setflag  0x00000001 , 0x00000006 , 0x00000002 
- 00009746  0x00001128 nsetflag  0x00000001 , 0x00000007 , 0x00000002 
- 00009747  0x00001129 storet  0x00000001 , 0x0000004c 
- 00009748  0x0000112a nbranch  0x00002616 , 0x00000001 
- 00009749  0x0000112b set1  0x00000001 , 0x00000000 
- 00009750  0x0000112d bmark0  0x00000011 , 0x00002620 
- 00009751  0x0000112e isolate1  0x00000006 , 0x00000002 
- 00009752  0x0000112f branch  0x00002620 , 0x00000001 
- 00009753  0x00001130 fetch  0x00000002 , 0x000000fa 
- 00009754  0x00001131 increase  0x00000001 , 0x0000003f 
- 00009755  0x00001132 store  0x00000002 , 0x000000fa 
- 00009756  0x00001133 set1  0x00000005 , 0x00000000 
- 00009757  0x00001134 set0  0x00000007 , 0x00000002 
- 00009758  0x00001135 set0  0x00000001 , 0x00000000 
- 00009759  0x00001136 storet  0x00000001 , 0x0000004c 
- 00009760  0x00001138 bpatch  0x00000062 , 0x0000400c 
- 00009761  0x00001139 fetcht  0x00000001 , 0x0000015e 
- 00009762  0x0000113a fetch  0x00000001 , 0x00000047 
- 00009763  0x0000113b set1  0x00000005 , 0x0000003f 
- 00009764  0x0000113c isolate1  0x00000002 , 0x00000002 
- 00009765  0x0000113d setflag  0x00000001 , 0x00000002 , 0x0000003f 
- 00009766  0x0000113e isolate1  0x0000000a , 0x00000000 
- 00009767  0x0000113f setflag  0x00000001 , 0x00000007 , 0x0000003f 
- 00009768  0x00001140 store  0x00000001 , 0x00000047 
- 00009769  0x00001141 fetch  0x00000002 , 0x0000015f 
- 00009770  0x00001142 nbranch  0x0000264d , 0x00000034 
- 00009771  0x00001143 fetch  0x00000001 , 0x0000004c 
- 00009772  0x00001144 set0  0x00000007 , 0x0000003f 
- 00009773  0x00001145 store  0x00000001 , 0x0000004c 
- 00009774  0x00001146 fetch  0x00000001 , 0x00000180 
- 00009775  0x00001147 compare  0x00000001 , 0x0000003f , 0x00000007 
- 00009776  0x00001149 branch  0x0000264d 
- 00009777  0x0000114c bpatch  0x00000063 , 0x0000400c 
- 00009778  0x0000114d disable  0x0000002d 
- 00009779  0x0000114e fetch  0x00000002 , 0x0000001a 
- 00009780  0x0000114f increase  0x00000001 , 0x0000003f 
- 00009781  0x00001150 store  0x00000002 , 0x0000001a 
- 00009782  0x00001151 branch  0x0000264d 
- 00009783  0x00001153 fetch  0x00000002 , 0x0000001c 
- 00009784  0x00001154 increase  0x00000001 , 0x0000003f 
- 00009785  0x00001155 store  0x00000002 , 0x0000001c 
- 00009786  0x00001156 call  0x0000263e 
- 00009787  0x00001157 bmark0  0x00000011 , 0x0000263d 
- 00009788  0x00001158 set1  0x00000005 , 0x00000000 
- 00009789  0x0000115a branch  0x0000264d 
- 00009790  0x0000115d bpatch  0x00000064 , 0x0000400c 
- 00009791  0x0000115e fetch  0x00000001 , 0x00000180 
- 00009792  0x0000115f compare  0x00000003 , 0x0000003f , 0x00000003 
- 00009793  0x00001160 nbranch  0x00002646 , 0x00000001 
- 00009794  0x00001162 fetcht  0x00000001 , 0x0000004c 
- 00009795  0x00001163 set0  0x00000006 , 0x00000002 
- 00009796  0x00001164 storet  0x00000001 , 0x0000004c 
- 00009797  0x00001165 rtn 
- 00009798  0x00001169 fetcht  0x00000001 , 0x0000004c 
- 00009799  0x0000116a set0  0x00000007 , 0x00000002 
- 00009800  0x0000116b storet  0x00000001 , 0x0000004c 
- 00009801  0x0000116c branch  0x00004c0b 
- 00009802  0x0000116f fetch  0x00000001 , 0x00000047 
- 00009803  0x00001170 set1  0x00000005 , 0x0000003f 
- 00009804  0x00001171 store  0x00000001 , 0x00000047 
- 00009805  0x00001173 bpatch  0x00000065 , 0x0000400c 
- 00009806  0x00001174 disable  0x0000001d 
- 00009807  0x00001175 disable  0x0000001c 
- 00009808  0x00001176 disable  0x0000000d 
- 00009809  0x00001177 disable  0x0000000c 
- 00009810  0x00001178 disable  0x00000009 
- 00009811  0x00001179 disable  0x0000000e 
- 00009812  0x0000117a disable  0x00000007 
- 00009813  0x0000117b branch  0x000028f9 , 0x00000021 
- 00009814  0x0000117c until  0x0000003e , 0x00000027 
- 00009815  0x0000117d nop  0x00000064 
- 00009816  0x0000117e branch  0x000028f9 
- 00009817  0x00001181 bpatch  0x00000066 , 0x0000400c 
- 00009818  0x00001182 enable  0x00000009 
- 00009819  0x00001183 enable  0x0000000c 
- 00009820  0x00001184 parse  0x00000003 , 0x00000000 , 0x00000048 
- 00009821  0x00001185 isolate1  0x0000003a , 0x0000003f 
- 00009822  0x00001186 setflag  0x00000001 , 0x00000000 , 0x00000000 
- 00009823  0x00001187 copy  0x00000020 , 0x00000002 
- 00009824  0x00001188 ialigned  0x00000020 
- 00009825  0x00001189 ialigned  0x0000001e 
- 00009826  0x0000118a pulse  0x00000015 
- 00009827  0x0000118b setsect  0x00000002 , 0x000fffff 
- 00009828  0x0000118c setsect  0x00000003 , 0x0000ffff 
- 00009829  0x0000118d nop  0x00000020 
- 00009830  0x0000118e iverify  0x0000000d 
- 00009831  0x0000118f deposit  0x0000002c 
- 00009832  0x00001190 store  0x00000003 , 0x00000178 
- 00009833  0x00001191 deposit  0x0000002d 
- 00009834  0x00001192 store  0x00000001 , 0x0000017b 
- 00009835  0x00001193 copy  0x00000002 , 0x00000020 
- 00009836  0x00001194 branch  0x0000266e , 0x00000001 
- 00009837  0x00001195 branch  0x0000263d 
- 00009838  0x00001197 bpatch  0x00000067 , 0x0000400c 
- 00009839  0x00001198 parse  0x00000003 , 0x00000000 , 0x00000048 
- 00009840  0x00001199 ialigned  0x0000001f 
- 00009841  0x0000119a ialigned  0x00000004 
- 00009842  0x0000119b ialigned  0x0000002e 
- 00009843  0x0000119c ialigned  0x00000012 
- 00009844  0x0000119d force  0x00000000 , 0x0000003f 
- 00009845  0x0000119e parse  0x00000003 , 0x00000000 , 0x00000010 
- 00009846  0x0000119f branch  0x0000263d , 0x00000006 
- 00009847  0x000011a0 setarg  0x0ffffffc 
- 00009848  0x000011a1 iand  0x00000012 , 0x0000003f 
- 00009849  0x000011a2 store  0x00000004 , 0x00000165 
- 00009850  0x000011a3 deposit  0x0000001d 
- 00009851  0x000011a4 store  0x00000003 , 0x00000175 
- 00009852  0x000011a5 deposit  0x0000001c 
- 00009853  0x000011a6 store  0x00000001 , 0x00000173 
- 00009854  0x000011a7 deposit  0x00000004 
- 00009855  0x000011a8 store  0x00000001 , 0x00000174 
- 00009856  0x000011a9 deposit  0x0000002e 
- 00009857  0x000011aa store  0x00000002 , 0x0000017c 
- 00009858  0x000011ab deposit  0x00000021 
- 00009859  0x000011ac inject  0x00000001 , 0x00000020 
- 00009860  0x000011ad compare  0x00000002 , 0x00000001 , 0x0000000f 
- 00009861  0x000011ae setflag  0x00000001 , 0x0000000b , 0x00000000 
- 00009862  0x000011af branch  0x0000264d 
- 00009863  0x000011b2 bpatch  0x00000068 , 0x0000400d 
- 00009864  0x000011b3 fetch  0x00000001 , 0x00000047 
- 00009865  0x000011b4 rtnbit0  0x00000003 
- 00009866  0x000011b5 set0  0x00000003 , 0x0000003f 
- 00009867  0x000011b6 setflip  0x00000006 , 0x0000003f 
- 00009868  0x000011b7 store  0x00000001 , 0x00000047 
- 00009869  0x000011b8 fetch  0x00000001 , 0x000040c5 
- 00009870  0x000011b9 beq  0x00000013 , 0x0000269c 
- 00009871  0x000011ba rtneq  0x00000007 
- 00009872  0x000011bb fetch  0x00000001 , 0x0000004b 
- 00009873  0x000011bc rtnbit0  0x00000006 , 0x0000003f 
- 00009874  0x000011bd set0  0x00000006 , 0x0000003f 
- 00009875  0x000011be set1  0x00000007 , 0x0000003f 
- 00009876  0x000011bf store  0x00000001 , 0x0000004b 
- 00009877  0x000011c0 set0  0x00000002 , 0x00000000 
- 00009878  0x000011c1 fetch  0x00000002 , 0x00004246 
- 00009879  0x000011c2 nrtn  0x00000034 
- 00009880  0x000011c3 fetch  0x00000001 , 0x0000004b 
- 00009881  0x000011c4 set0  0x00000007 , 0x0000003f 
- 00009882  0x000011c5 store  0x00000001 , 0x0000004b 
- 00009883  0x000011c6 branch  0x0000525d 
- 00009884  0x000011c9 bpatch  0x00000069 , 0x0000400d 
- 00009885  0x000011ca fetch  0x00000001 , 0x000004b7 
- 00009886  0x000011cb rshift  0x0000003f , 0x0000003f 
- 00009887  0x000011cc beq  0x00000011 , 0x000026b8 
- 00009888  0x000011cd beq  0x00000012 , 0x000026c0 
- 00009889  0x000011ce beq  0x00000018 , 0x000026e9 
- 00009890  0x000011cf beq  0x0000007f , 0x000026a8 
- 00009891  0x000011d0 rtnne  0x00000003 
- 00009892  0x000011d1 fetch  0x00000001 , 0x000004b8 
- 00009893  0x000011d2 beq  0x0000002b , 0x000026b0 
- 00009894  0x000011d3 beq  0x00000011 , 0x000026ab 
- 00009895  0x000011d4 rtn 
- 00009896  0x000011d7 fetch  0x00000001 , 0x000004b8 
- 00009897  0x000011d8 set1  0x00000007 , 0x0000003f 
- 00009898  0x000011d9 rtn 
- 00009899  0x000011db rtn  0x00000029 
- 00009900  0x000011dc fetch  0x00000001 , 0x00000030 
- 00009901  0x000011dd rtnbit1  0x00000004 
- 00009902  0x000011de jam  0x00000031 , 0x0000007c 
- 00009903  0x000011df rtn 
- 00009904  0x000011e3 rtn  0x00000029 
- 00009905  0x000011e4 fetch  0x00000001 , 0x00000031 
- 00009906  0x000011e5 isolate1  0x00000004 , 0x0000003f 
- 00009907  0x000011e6 branch  0x000026b5 , 0x00000001 
- 00009908  0x000011e8 rtn 
- 00009909  0x000011ea set0  0x00000004 , 0x0000003f 
- 00009910  0x000011eb store  0x00000001 , 0x00000031 
- 00009911  0x000011ec rtn 
- 00009912  0x000011ef bpatch  0x0000006a , 0x0000400d 
- 00009913  0x000011f0 fetch  0x00000001 , 0x0000004c 
- 00009914  0x000011f1 set1  0x00000002 , 0x0000003f 
- 00009915  0x000011f2 store  0x00000001 , 0x0000004c 
- 00009916  0x000011f3 jam  0x00000001 , 0x00008011 
- 00009917  0x000011f4 fetch  0x00000001 , 0x00000030 
- 00009918  0x000011f5 isolate1  0x00000004 , 0x0000003f 
- 00009919  0x000011f6 rtn 
- 00009920  0x000011f9 bpatch  0x0000006b , 0x0000400d 
- 00009921  0x000011fa fetch  0x00000001 , 0x0000004c 
- 00009922  0x000011fb set0  0x00000002 , 0x0000003f 
- 00009923  0x000011fc store  0x00000001 , 0x0000004c 
- 00009924  0x000011fd jam  0x00000000 , 0x00008011 
- 00009925  0x000011fe rtn 
- 00009926  0x00001202 bpatch  0x0000006c , 0x0000400d 
- 00009927  0x00001203 copy  0x00000022 , 0x0000003f 
- 00009928  0x00001204 store  0x00000004 , 0x0000420c 
- 00009929  0x00001205 add  0x00000022 , 0x00000003 , 0x00000011 
- 00009930  0x00001206 branch  0x000026cc , 0x00000029 
- 00009931  0x00001207 add  0x00000028 , 0x00000003 , 0x00000011 
- 00009932  0x00001209 fetcht  0x00000002 , 0x00000032 
- 00009933  0x0000120a deposit  0x00000011 
- 00009934  0x0000120b set0  0x0000001b , 0x0000003f 
- 00009935  0x0000120c idiv  0x00000002 
- 00009936  0x0000120d fetch  0x00000002 , 0x00000075 
- 00009937  0x0000120e call  0x00007f86 
- 00009938  0x0000120f remainder  0x00000013 
- 00009939  0x00001210 isub  0x00000013 , 0x0000003f 
- 00009940  0x00001211 branch  0x000026d6 , 0x00000002 
- 00009941  0x00001212 iadd  0x00000002 , 0x0000003f 
- 00009942  0x00001214 iadd  0x00000011 , 0x0000003f 
- 00009943  0x00001215 store  0x00000004 , 0x00000034 
- 00009944  0x00001216 jam  0x00000000 , 0x0000455b 
- 00009945  0x00001217 fetch  0x00000001 , 0x00000030 
- 00009946  0x00001218 set1  0x00000001 , 0x0000003f 
- 00009947  0x00001219 store  0x00000001 , 0x00000030 
- 00009948  0x0000121a fetch  0x00000001 , 0x00000073 
- 00009949  0x0000121b store  0x00000001 , 0x0000008a 
- 00009950  0x0000121c setarg  0x00000000 
- 00009951  0x0000121d store  0x00000003 , 0x00004169 
- 00009952  0x0000121e store  0x00000003 , 0x0000416c 
- 00009953  0x0000121f store  0x00000001 , 0x00004159 
- 00009954  0x00001220 jam  0x0000000b , 0x00000a99 
- 00009955  0x00001221 call  0x00007d86 
- 00009956  0x00001222 fetch  0x00000002 , 0x000040c1 
- 00009957  0x00001223 store  0x00000002 , 0x0000003e 
- 00009958  0x00001224 nrtn  0x00000029 
- 00009959  0x00001225 add  0x00000004 , 0xffffffff , 0x00000007 
- 00009960  0x00001226 rtn 
- 00009961  0x00001229 bpatch  0x0000006d , 0x0000400d 
- 00009962  0x0000122a fetch  0x00000001 , 0x00000030 
- 00009963  0x0000122b rtnbit0  0x00000001 
- 00009964  0x0000122c set0  0x00000001 , 0x0000003f 
- 00009965  0x0000122d store  0x00000001 , 0x00000030 
- 00009966  0x0000122e fetch  0x00000002 , 0x000040bf 
- 00009967  0x0000122f store  0x00000002 , 0x0000003e 
- 00009968  0x00001230 disable  0x0000002b 
- 00009969  0x00001231 jam  0x0000000c , 0x00000a99 
- 00009970  0x00001232 branch  0x00007d86 
- 00009971  0x00001236 bpatch  0x0000006e , 0x0000400d 
- 00009972  0x00001237 enable  0x0000002e 
- 00009973  0x00001238 fetch  0x00000001 , 0x00000030 
- 00009974  0x00001239 bbit1  0x00000001 , 0x00002700 
- 00009975  0x0000123a rtnmark1  0x00000011 
- 00009976  0x0000123b fetch  0x00000001 , 0x00000047 
- 00009977  0x0000123c rtnbit1  0x00000003 
- 00009978  0x0000123d fetch  0x00000001 , 0x00000048 
- 00009979  0x0000123e nrtn  0x00000034 
- 00009980  0x0000123f fetch  0x00000001 , 0x0000004b 
- 00009981  0x00001240 rtnbit1  0x00000006 
- 00009982  0x00001242 force  0x00000000 , 0x0000003f 
- 00009983  0x00001243 rtn 
- 00009984  0x00001246 bbit0  0x00000002 , 0x0000270f 
- 00009985  0x00001247 fetch  0x00000001 , 0x0000008a 
- 00009986  0x00001248 beq  0x00000002 , 0x00002706 
- 00009987  0x00001249 fetch  0x00000001 , 0x00000047 
- 00009988  0x0000124a bbit1  0x00000003 , 0x00002718 
- 00009989  0x0000124b bmark0  0x00000008 , 0x00002718 
- 00009990  0x0000124d nbranch  0x00002718 , 0x00000029 
- 00009991  0x0000124e fetch  0x00000001 , 0x00000048 
- 00009992  0x0000124f nbranch  0x00002718 , 0x00000034 
- 00009993  0x00001251 fetch  0x00000001 , 0x000000ef 
- 00009994  0x00001252 increase  0xffffffff , 0x0000003f 
- 00009995  0x00001253 store  0x00000001 , 0x000000ef 
- 00009996  0x00001254 nbranch  0x000026fe , 0x00000034 
- 00009997  0x00001255 jam  0x00000010 , 0x000000ef 
- 00009998  0x00001256 branch  0x00002718 
- 00009999  0x0000125e fetch  0x00000001 , 0x0000008a 
- 00010000  0x0000125f bne  0x00000001 , 0x00002718 
- 00010001  0x00001260 fetch  0x00000001 , 0x0000008b 
- 00010002  0x00001261 branch  0x00002718 , 0x00000034 
- 00010003  0x00001262 increase  0xffffffff , 0x0000003f 
- 00010004  0x00001263 store  0x00000001 , 0x0000008b 
- 00010005  0x00001264 fetch  0x00000001 , 0x00000047 
- 00010006  0x00001265 rtnbit1  0x00000003 
- 00010007  0x00001266 nrtn  0x0000002d 
- 00010008  0x00001268 fetch  0x00000001 , 0x0000008a 
- 00010009  0x00001269 increase  0xffffffff , 0x0000003f 
- 00010010  0x0000126a store  0x00000001 , 0x0000008a 
- 00010011  0x0000126b rtn 
- 00010012  0x00001277 bpatch  0x0000006f , 0x0000400d 
- 00010013  0x00001278 disable  0x00000010 
- 00010014  0x00001279 copy  0x00000002 , 0x0000001b 
- 00010015  0x0000127a call  0x00002260 
- 00010016  0x0000127b disable  0x00000028 
- 00010017  0x0000127c nrtn  0x00000005 
- 00010018  0x0000127d force  0x00000000 , 0x0000001b 
- 00010019  0x0000127e enable  0x00000028 
- 00010020  0x0000127f rtn 
- 00010021  0x00001283 fetch  0x00000001 , 0x00004158 
- 00010022  0x00001284 icompare  0x000000ff , 0x00000004 
- 00010023  0x00001285 rtn 
- 00010024  0x00001289 bpatch  0x00000070 , 0x0000400e 
- 00010025  0x0000128a set0  0x00000001 , 0x00000000 
- 00010026  0x0000128c jam  0x00000000 , 0x0000026a 
- 00010027  0x0000128d fetch  0x00000001 , 0x00000263 
- 00010028  0x0000128e rtn  0x00000034 
- 00010029  0x0000128f isolate1  0x00000000 , 0x0000003f 
- 00010030  0x00001290 arg  0x00001000 , 0x00000006 
- 00010031  0x00001291 call  0x00004d79 , 0x00000001 
- 00010032  0x00001292 bpatch  0x00000071 , 0x0000400e 
- 00010033  0x00001293 fetch  0x00000001 , 0x0000026a 
- 00010034  0x00001294 beq  0x00000001 , 0x0000273b 
- 00010035  0x00001296 jam  0x00000000 , 0x0000026a 
- 00010036  0x00001297 fetch  0x00000001 , 0x00000263 
- 00010037  0x00001298 rtnbit0  0x00000001 
- 00010038  0x00001299 arg  0x00001400 , 0x00000006 
- 00010039  0x0000129a call  0x00004d79 
- 00010040  0x0000129b fetch  0x00000001 , 0x0000026a 
- 00010041  0x0000129c beq  0x00000001 , 0x00002741 
- 00010042  0x0000129d rtn 
- 00010043  0x000012a0 fetch  0x00000001 , 0x00000263 
- 00010044  0x000012a1 set0  0x00000000 , 0x0000003f 
- 00010045  0x000012a2 store  0x00000001 , 0x00000263 
- 00010046  0x000012a3 setarg  0x00000000 
- 00010047  0x000012a4 store  0x00000002 , 0x0000025d 
- 00010048  0x000012a5 rtn 
- 00010049  0x000012a7 fetch  0x00000001 , 0x00000263 
- 00010050  0x000012a8 set0  0x00000001 , 0x0000003f 
- 00010051  0x000012a9 store  0x00000001 , 0x00000263 
- 00010052  0x000012aa setarg  0x00000000 
- 00010053  0x000012ab store  0x00000002 , 0x0000025f 
- 00010054  0x000012ac rtn 
- 00010055  0x000012af fetch  0x00000001 , 0x00000263 
- 00010056  0x000012b0 set1  0x00000000 , 0x0000003f 
- 00010057  0x000012b1 store  0x00000001 , 0x00000263 
- 00010058  0x000012b2 rtn 
- 00010059  0x000012b5 fetch  0x00000001 , 0x00000263 
- 00010060  0x000012b6 set1  0x00000001 , 0x0000003f 
- 00010061  0x000012b7 store  0x00000001 , 0x00000263 
- 00010062  0x000012b8 rtn 
- 00010063  0x000012bf bpatch  0x00000072 , 0x0000400e 
- 00010064  0x000012c0 add  0x00000028 , 0x00000001 , 0x00000021 
- 00010065  0x000012c1 call  0x000028ea 
- 00010066  0x000012c2 force  0x00000003 , 0x00000024 
- 00010067  0x000012c3 call  0x000028d2 
- 00010068  0x000012c4 call  0x00002a51 
- 00010069  0x000012c5 call  0x00002a5f 
- 00010070  0x000012c6 branch  0x00002a64 
- 00010071  0x000012ca bpatch  0x00000073 , 0x0000400e 
- 00010072  0x000012cb call  0x00002a4d 
- 00010073  0x000012cc deposit  0x00000028 
- 00010074  0x000012cd fetcht  0x00000004 , 0x000040ca 
- 00010075  0x000012ce isub  0x00000002 , 0x0000003f 
- 00010076  0x000012cf rtnne  0x00000001 
- 00010077  0x000012d0 compare  0x00000000 , 0x00000001 , 0x0000001f 
- 00010078  0x000012d1 nbranch  0x00002761 , 0x00000001 
- 00010079  0x000012d2 fetch  0x00000001 , 0x00000019 
- 00010080  0x000012d3 rtn  0x00000034 
- 00010081  0x000012d5 call  0x0000274f 
- 00010082  0x000012d7 compare  0x00000010 , 0x00000001 , 0x0000001f 
- 00010083  0x000012d8 branch  0x0000264d , 0x00000001 
- 00010084  0x000012d9 rshift  0x00000021 , 0x00000002 
- 00010085  0x000012da or  0x00000002 , 0x00000040 , 0x0000000e 
- 00010086  0x000012dc bpatch  0x00000074 , 0x0000400e 
- 00010087  0x000012dd enable  0x00000007 
- 00010088  0x000012de enable  0x0000000a 
- 00010089  0x000012df enable  0x0000001b 
- 00010090  0x000012e0 set0  0x00000010 , 0x00000000 
- 00010091  0x000012e1 deposit  0x00000004 
- 00010092  0x000012e2 inject  0x00000003 , 0x00000003 
- 00010093  0x000012e3 deposit  0x00000001 
- 00010094  0x000012e4 inject  0x00000003 , 0x00000004 
- 00010095  0x000012e5 fetch  0x00000001 , 0x00000047 
- 00010096  0x000012e6 inject  0x00000000 , 0x00000004 
- 00010097  0x000012e7 inject  0x00000003 , 0x00000003 
- 00010098  0x000012e8 enable  0x00000008 
- 00010099  0x000012e9 inject  0x00000003 , 0x00000008 
- 00010100  0x000012ea disable  0x0000001b 
- 00010101  0x000012eb disable  0x00000008 
- 00010102  0x000012ec disable  0x0000000a 
- 00010103  0x000012ed set0  0x00000002 , 0x00000015 
- 00010104  0x000012ee arg  0x00000000 , 0x00000002 
- 00010105  0x000012ef call  0x00002a1c 
- 00010106  0x000012f0 bpatch  0x00000075 , 0x0000400e 
- 00010107  0x000012f1 and  0x00000001 , 0x0000001f , 0x0000003f 
- 00010108  0x000012f2 beq  0x00000013 , 0x000027b4 
- 00010109  0x000012f3 beq  0x00000000 , 0x0000264d 
- 00010110  0x000012f4 beq  0x00000001 , 0x0000264d 
- 00010111  0x000012f5 beq  0x00000002 , 0x00002797 
- 00010112  0x000012f6 beq  0x00000003 , 0x000027c5 
- 00010113  0x000012f7 beq  0x00000004 , 0x000027cb 
- 00010114  0x000012f8 beq  0x00000007 , 0x0000278c 
- 00010115  0x000012f9 beq  0x00000008 , 0x000027ca 
- 00010116  0x000012fa arg  0x00000004 , 0x00000002 
- 00010117  0x000012fb call  0x00002a1c 
- 00010118  0x000012fc beq  0x0000000a , 0x000027c7 
- 00010119  0x000012fd beq  0x0000000b , 0x000027cd 
- 00010120  0x000012fe arg  0x00000008 , 0x00000002 
- 00010121  0x000012ff call  0x00002a1c 
- 00010122  0x00001300 beq  0x0000000f , 0x000027cd 
- 00010123  0x00001301 branch  0x000027c7 
- 00010124  0x00001305 bpatch  0x00000076 , 0x0000400e 
- 00010125  0x00001306 enable  0x0000001d 
- 00010126  0x00001307 enable  0x00000009 
- 00010127  0x00001308 enable  0x0000000e 
- 00010128  0x00001309 force  0x0000001e , 0x00000039 
- 00010129  0x0000130a arg  0x000000b3 , 0x00000006 
- 00010130  0x0000130c ifetch  0x00000001 , 0x00000006 
- 00010131  0x0000130d inject  0x00000003 , 0x00000008 
- 00010132  0x0000130e loop  0x00002792 
- 00010133  0x0000130f bmark1  0x00000007 , 0x000027f7 
- 00010134  0x00001310 branch  0x0000264d 
- 00010135  0x00001313 bpatch  0x00000077 , 0x0000400e 
- 00010136  0x00001314 fetch  0x00000001 , 0x00000181 
- 00010137  0x00001315 icopy  0x00000004 
- 00010138  0x00001316 fetch  0x00000001 , 0x00000090 
- 00010139  0x00001317 icopy  0x0000001c 
- 00010140  0x00001318 fetch  0x00000003 , 0x000040aa 
- 00010141  0x00001319 icopy  0x0000001d 
- 00010142  0x0000131a fetch  0x00000002 , 0x000040a4 
- 00010143  0x0000131b icopy  0x0000002e 
- 00010144  0x0000131c enable  0x00000009 
- 00010145  0x0000131d enable  0x0000001c 
- 00010146  0x0000131e copy  0x00000020 , 0x00000011 
- 00010147  0x0000131f call  0x000028e2 
- 00010148  0x00001320 pulse  0x00000015 
- 00010149  0x00001321 nop  0x00000020 
- 00010150  0x00001322 copy  0x00000021 , 0x0000000b 
- 00010151  0x00001323 fetch  0x00000004 , 0x00000161 
- 00010152  0x00001324 icopy  0x00000021 
- 00010153  0x00001325 preload  0x0000001e 
- 00010154  0x00001326 set1  0x0000003a , 0x0000003f 
- 00010155  0x00001327 inject  0x00000003 , 0x00000048 
- 00010156  0x00001328 preload  0x0000001f 
- 00010157  0x00001329 inject  0x00000003 , 0x00000048 
- 00010158  0x0000132a copy  0x0000000b , 0x00000021 
- 00010159  0x0000132b copy  0x00000011 , 0x00000020 
- 00010160  0x0000132c enable  0x00000008 
- 00010161  0x0000132d inject  0x00000003 , 0x00000010 
- 00010162  0x0000132e disable  0x00000008 
- 00010163  0x0000132f branch  0x0000264d 
- 00010164  0x00001332 bpatch  0x00000078 , 0x0000400f 
- 00010165  0x00001333 enable  0x0000000e 
- 00010166  0x00001334 enable  0x00000009 
- 00010167  0x00001335 enable  0x0000001c 
- 00010168  0x00001336 fetch  0x00000001 , 0x000004b6 
- 00010169  0x00001337 and  0x0000003f , 0x000001f8 , 0x00000002 
- 00010170  0x00001338 arg  0x000004b6 , 0x00000006 
- 00010171  0x00001339 increase  0x00000008 , 0x00000002 
- 00010172  0x0000133b add  0x00000002 , 0xffffffb8 , 0x00000013 
- 00010173  0x0000133c nbranch  0x000027c2 , 0x00000002 
- 00010174  0x0000133d ifetch  0x00000009 , 0x00000006 
- 00010175  0x0000133e inject  0x00000003 , 0x00000048 
- 00010176  0x0000133f copy  0x00000013 , 0x00000002 
- 00010177  0x00001340 branch  0x000027bc 
- 00010178  0x00001342 ifetch  0x00000009 , 0x00000006 
- 00010179  0x00001343 iinject  0x00000003 , 0x00000002 
- 00010180  0x00001344 branch  0x000027f7 
- 00010181  0x00001347 enable  0x0000001c 
- 00010182  0x00001348 branch  0x000027d0 
- 00010183  0x0000134b enable  0x0000001c 
- 00010184  0x0000134c set1  0x00000010 , 0x00000000 
- 00010185  0x0000134d branch  0x000027d0 
- 00010186  0x00001350 set1  0x00000002 , 0x00000015 
- 00010187  0x00001352 enable  0x0000001d 
- 00010188  0x00001353 branch  0x000027d0 
- 00010189  0x00001357 set1  0x00000002 , 0x00000015 
- 00010190  0x00001358 enable  0x0000001d 
- 00010191  0x00001359 set1  0x00000010 , 0x00000000 
- 00010192  0x0000135c bpatch  0x00000079 , 0x0000400f 
- 00010193  0x0000135d fetch  0x00000001 , 0x0000004c 
- 00010194  0x0000135e bbit0  0x00000005 , 0x000027e5 
- 00010195  0x0000135f sub  0x00000001 , 0x00000003 , 0x0000003e 
- 00010196  0x00001360 branch  0x000027e5 , 0x00000002 
- 00010197  0x00001361 disable  0x0000000e 
- 00010198  0x00001362 disable  0x0000001c 
- 00010199  0x00001363 enable  0x0000001d 
- 00010200  0x00001364 disable  0x00000007 
- 00010201  0x00001365 set1  0x00000001 , 0x00000015 
- 00010202  0x00001366 isolate1  0x00000002 , 0x00000015 
- 00010203  0x00001367 branch  0x000027df , 0x00000001 
- 00010204  0x00001368 setarg  0x000abeee 
- 00010205  0x00001369 inject  0x00000003 , 0x00000014 
- 00010206  0x0000136a branch  0x000027e3 
- 00010207  0x0000136c setarg  0x005faeba 
- 00010208  0x0000136d inject  0x00000003 , 0x00000018 
- 00010209  0x0000136e setarg  0x00000012 
- 00010210  0x0000136f inject  0x00000003 , 0x00000006 
- 00010211  0x00001371 enable  0x00000007 
- 00010212  0x00001372 set1  0x00000010 , 0x00000000 
- 00010213  0x00001374 enable  0x0000000e 
- 00010214  0x00001375 enable  0x00000009 
- 00010215  0x00001376 bmark1  0x00000005 , 0x00002800 
- 00010216  0x00001377 fetch  0x00000001 , 0x000041db 
- 00010217  0x00001378 inject  0x00000003 , 0x00000003 
- 00010218  0x00001379 fetch  0x00000002 , 0x000041dc 
- 00010219  0x0000137a iforce  0x00000039 
- 00010220  0x0000137b bmark1  0x00000010 , 0x000027ef 
- 00010221  0x0000137c inject  0x00000003 , 0x00000005 
- 00010222  0x0000137d branch  0x000027f0 
- 00010223  0x0000137f inject  0x00000003 , 0x0000000d 
- 00010224  0x00001381 deposit  0x00000039 
- 00010225  0x00001382 branch  0x000027f7 , 0x00000034 
- 00010226  0x00001383 fetch  0x00000002 , 0x0000016f 
- 00010227  0x00001384 iforce  0x00000006 
- 00010228  0x00001386 ifetch  0x00000001 , 0x00000006 
- 00010229  0x00001387 inject  0x00000003 , 0x00000008 
- 00010230  0x00001388 loop  0x000027f4 
- 00010231  0x0000138c enable  0x00000008 
- 00010232  0x0000138d inject  0x00000003 , 0x00000010 
- 00010233  0x0000138e disable  0x00000008 
- 00010234  0x0000138f call  0x000024c1 
- 00010235  0x00001390 fetch  0x00000001 , 0x0000004c 
- 00010236  0x00001391 bbit0  0x00000005 , 0x0000264d 
- 00010237  0x00001392 force  0x00000000 , 0x0000003f 
- 00010238  0x00001393 inject  0x00000003 , 0x00000006 
- 00010239  0x00001394 branch  0x0000264d 
- 00010240  0x00001398 bpatch  0x0000007a , 0x0000400f 
- 00010241  0x00001399 bmark1  0x00000010 , 0x00002808 
- 00010242  0x0000139b fetch  0x00000001 , 0x00000180 
- 00010243  0x0000139c inject  0x00000003 , 0x00000003 
- 00010244  0x0000139d fetch  0x00000001 , 0x0000015f 
- 00010245  0x0000139e iforce  0x00000013 
- 00010246  0x0000139f inject  0x00000003 , 0x00000005 
- 00010247  0x000013a0 branch  0x0000280d 
- 00010248  0x000013a2 fetch  0x00000001 , 0x00000180 
- 00010249  0x000013a3 inject  0x00000003 , 0x00000003 
- 00010250  0x000013a4 fetch  0x00000002 , 0x0000015f 
- 00010251  0x000013a5 iforce  0x00000013 
- 00010252  0x000013a6 inject  0x00000003 , 0x0000000d 
- 00010253  0x000013a8 arg  0x00000551 , 0x00000006 
- 00010254  0x000013aa copy  0x00000013 , 0x0000003e 
- 00010255  0x000013ab branch  0x00002814 , 0x00000005 
- 00010256  0x000013ac ifetch  0x00000001 , 0x00000006 
- 00010257  0x000013ad inject  0x00000003 , 0x00000008 
- 00010258  0x000013ae increase  0xffffffff , 0x00000013 
- 00010259  0x000013af branch  0x0000280e 
- 00010260  0x000013b1 fetch  0x00000002 , 0x000000fc 
- 00010261  0x000013b2 increase  0x00000001 , 0x0000003f 
- 00010262  0x000013b3 store  0x00000002 , 0x000000fc 
- 00010263  0x000013b4 branch  0x000027f7 
- 00010264  0x000013b8 fetch  0x00000004 , 0x00000165 
- 00010265  0x000013b9 add  0x0000003f , 0x00000007 , 0x00000011 
- 00010266  0x000013ba fetch  0x00000002 , 0x00000171 
- 00010267  0x000013bb nbranch  0x0000281e , 0x00000034 
- 00010268  0x000013bc increase  0xfffffffd , 0x00000011 
- 00010269  0x000013bd branch  0x00002826 
- 00010270  0x000013bf mul32  0x0000003f , 0x0000000c , 0x0000003f 
- 00010271  0x000013c0 hfetcht  0x00000002 , 0x00008040 
- 00010272  0x000013c1 increase  0x00000001 , 0x00000002 
- 00010273  0x000013c3 isub  0x00000002 , 0x0000003f 
- 00010274  0x000013c4 nbranch  0x00002825 , 0x00000002 
- 00010275  0x000013c5 increase  0xffffffff , 0x00000011 
- 00010276  0x000013c6 branch  0x00002821 
- 00010277  0x000013c8 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00010278  0x000013ca until  0x0000003e , 0x00000023 
- 00010279  0x000013cb compare  0x00000000 , 0x00000022 , 0x00000003 
- 00010280  0x000013cc nbranch  0x00002826 , 0x00000001 
- 00010281  0x000013cd iforce  0x00000029 
- 00010282  0x000013ce copy  0x00000011 , 0x00000028 
- 00010283  0x000013cf iforce  0x00000029 
- 00010284  0x000013d0 rtn 
- 00010285  0x000013d4 bpatch  0x0000007b , 0x0000400f 
- 00010286  0x000013d5 until  0x0000003e , 0x00000022 
- 00010287  0x000013d6 deposit  0x0000001a 
- 00010288  0x000013d7 iforce  0x00000006 
- 00010289  0x000013d8 rshift16 , 0x0000003f , 0x0000003f 
- 00010290  0x000013d9 isub  0x00000022 , 0x00000039 
- 00010291  0x000013da and_into  0x00000003 , 0x00000039 
- 00010292  0x000013db nbranch  0x00002837 , 0x00000005 
- 00010293  0x000013dc force  0x00000000 , 0x0000003f 
- 00010294  0x000013dd branch  0x0000283b 
- 00010295  0x000013df arg  0x00000ea6 , 0x00000002 
- 00010296  0x000013e0 force  0x00000000 , 0x0000003f 
- 00010297  0x000013e2 iadd  0x00000002 , 0x0000003f 
- 00010298  0x000013e3 loop  0x00002839 
- 00010299  0x000013e5 iadd  0x00000006 , 0x0000003f 
- 00010300  0x000013e6 div  0x0000003f , 0x0000000c 
- 00010301  0x000013e7 call  0x00007f86 
- 00010302  0x000013e8 quotient  0x0000003f 
- 00010303  0x000013e9 store  0x00000002 , 0x00000171 
- 00010304  0x000013ea rtn 
- 00010305  0x000013ed bpatch  0x0000007c , 0x0000400f 
- 00010306  0x000013ee deposit  0x0000001a 
- 00010307  0x000013ef copy  0x00000019 , 0x00000002 
- 00010308  0x000013f0 isub  0x00000002 , 0x0000003e 
- 00010309  0x000013f1 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
- 00010310  0x000013f2 isub  0x00000002 , 0x00000002 
- 00010311  0x000013f3 setarg  0x00000ea6 
- 00010312  0x000013f4 isolate0  0x0000000f , 0x00000002 
- 00010313  0x000013f5 branch  0x0000284c , 0x00000001 
- 00010314  0x000013f6 setarg  0xffff0ea6 
- 00010315  0x000013f7 iadd  0x00000002 , 0x00000002 
- 00010316  0x000013f9 storet  0x00000006 , 0x00000447 
- 00010317  0x000013fa rtn  0x00000036 
- 00010318  0x000013fb storet  0x00000006 , 0x00000038 
- 00010319  0x000013fc rtn 
- 00010320  0x000013ff disable  0x00000030 
- 00010321  0x00001400 fetch  0x00000006 , 0x00000447 
- 00010322  0x00001401 branch  0x00002854 , 0x00000036 
- 00010323  0x00001402 fetch  0x00000006 , 0x00000038 
- 00010324  0x00001404 iadd  0x00000019 , 0x00000030 
- 00010325  0x00001405 increase  0x0000000a , 0x00000030 
- 00010326  0x00001406 setarg  0x00000ea6 
- 00010327  0x00001407 isub  0x00000030 , 0x0000003f 
- 00010328  0x00001408 isolate0  0x0000000f , 0x0000003f 
- 00010329  0x00001409 branch  0x0000285e , 0x00000001 
- 00010330  0x0000140a setarg  0x0000f15a 
- 00010331  0x0000140b iadd  0x00000030 , 0x00000030 
- 00010332  0x0000140d copy  0x00000030 , 0x0000001a 
- 00010333  0x0000140e rtn 
- 00010334  0x00001410 force  0x00000000 , 0x0000003e 
- 00010335  0x00001411 branch  0x0000285c 
- 00010336  0x00001419 bpatch  0x0000007d , 0x0000400f 
- 00010337  0x0000141a call  0x00002918 
- 00010338  0x0000141b copy  0x00000021 , 0x0000003f 
- 00010339  0x0000141c and_into  0x00000180 , 0x0000003f 
- 00010340  0x0000141d compare  0x00000003 , 0x00000024 , 0x00000007 
- 00010341  0x0000141e nbranch  0x00002869 , 0x00000001 
- 00010342  0x0000141f rshift3  0x0000003f , 0x0000003f 
- 00010343  0x00001420 iadd  0x00000017 , 0x0000003f 
- 00010344  0x00001421 branch  0x0000286a 
- 00010345  0x00001423 copy  0x00000017 , 0x0000003f 
- 00010346  0x00001425 div  0x0000003f , 0x0000004f 
- 00010347  0x00001426 pulse  0x00000015 
- 00010348  0x00001427 call  0x00007f86 
- 00010349  0x00001428 remainder  0x00000011 
- 00010350  0x00001429 add  0x00000011 , 0xffffffd8 , 0x00000002 
- 00010351  0x0000142a branch  0x00002872 , 0x00000002 
- 00010352  0x0000142b lshift  0x00000011 , 0x00000002 
- 00010353  0x0000142c branch  0x00002874 
- 00010354  0x0000142e lshift  0x00000002 , 0x00000002 
- 00010355  0x0000142f increase  0x00000001 , 0x00000002 
- 00010356  0x00001431 bpatch  0x0000007e , 0x0000400f 
- 00010357  0x00001432 fetch  0x00000001 , 0x00000031 
- 00010358  0x00001433 bbit0  0x00000003 , 0x00002885 
- 00010359  0x00001435 fetch  0x00000004 , 0x000040d2 
- 00010360  0x00001436 isub  0x00000021 , 0x0000003e 
- 00010361  0x00001437 branch  0x00002885 , 0x00000002 
- 00010362  0x00001438 call  0x000028a4 
- 00010363  0x00001439 fetch  0x00000001 , 0x000040d9 
- 00010364  0x0000143a rtn  0x00000034 
- 00010365  0x0000143b fetch  0x00000001 , 0x00000031 
- 00010366  0x0000143c set1  0x00000002 , 0x0000003f 
- 00010367  0x0000143d store  0x00000001 , 0x00000031 
- 00010368  0x0000143e fetch  0x00000005 , 0x000040e7 
- 00010369  0x0000143f store  0x00000005 , 0x000040da 
- 00010370  0x00001440 ifetch  0x00000005 , 0x00000006 
- 00010371  0x00001441 store  0x00000005 , 0x000040df 
- 00010372  0x00001442 call  0x000028a9 
- 00010373  0x00001444 fetch  0x00000001 , 0x00000031 
- 00010374  0x00001445 rtnbit0  0x00000002 
- 00010375  0x00001446 isolate1  0x00000001 , 0x00000021 
- 00010376  0x00001447 branch  0x000028a1 , 0x00000001 
- 00010377  0x00001448 rshift3  0x00000002 , 0x00000011 
- 00010378  0x00001449 and  0x00000002 , 0x00000007 , 0x00000007 
- 00010379  0x0000144a setarg  0x000040da 
- 00010380  0x0000144b iadd  0x00000011 , 0x00000011 
- 00010381  0x0000144c ifetch  0x00000001 , 0x00000011 
- 00010382  0x0000144d qisolate0  0x0000003f 
- 00010383  0x0000144e branch  0x00002892 , 0x00000001 
- 00010384  0x0000144f deposit  0x00000002 
- 00010385  0x00001450 branch  0x0000289e 
- 00010386  0x00001452 fetch  0x00000001 , 0x000040e4 
- 00010387  0x00001453 iforce  0x00000012 
- 00010388  0x00001454 deposit  0x00000021 
- 00010389  0x00001455 and_into  0x00000180 , 0x0000003f 
- 00010390  0x00001456 rshift3  0x0000003f , 0x0000003f 
- 00010391  0x00001457 iadd  0x00000017 , 0x0000003f 
- 00010392  0x00001458 idiv  0x00000012 
- 00010393  0x00001459 setarg  0x000040f2 
- 00010394  0x0000145a call  0x00007f86 
- 00010395  0x0000145b remainder  0x00000011 
- 00010396  0x0000145c iadd  0x00000011 , 0x00000006 
- 00010397  0x0000145d ifetch  0x00000001 , 0x00000006 
- 00010398  0x0000145f store  0x00000001 , 0x000040e5 
- 00010399  0x00001460 iforce  0x00000002 
- 00010400  0x00001461 rtn 
- 00010401  0x00001464 fetch  0x00000001 , 0x000040e5 
- 00010402  0x00001465 iforce  0x00000002 
- 00010403  0x00001466 rtn 
- 00010404  0x00001469 fetch  0x00000001 , 0x00000031 
- 00010405  0x0000146a set0  0x00000002 , 0x0000003f 
- 00010406  0x0000146b set0  0x00000003 , 0x0000003f 
- 00010407  0x0000146c store  0x00000001 , 0x00000031 
- 00010408  0x0000146d rtn 
- 00010409  0x00001474 bpatch  0x0000007f , 0x0000400f 
- 00010410  0x00001475 arg  0x000040f2 , 0x00000005 
- 00010411  0x00001476 force  0x0000000a , 0x00000039 
- 00010412  0x00001477 call  0x00007ec6 
- 00010413  0x00001478 arg  0x000040f2 , 0x00000005 
- 00010414  0x00001479 force  0x00000000 , 0x00000013 
- 00010415  0x0000147a force  0x00000002 , 0x00000007 
- 00010416  0x0000147c fetch  0x00000005 , 0x000040da 
- 00010417  0x0000147d iforce  0x00000002 
- 00010418  0x0000147e compare  0x00000002 , 0x00000007 , 0x000000ff 
- 00010419  0x0000147f branch  0x000028b5 , 0x00000001 
- 00010420  0x00001480 rshift  0x00000002 , 0x00000002 
- 00010421  0x00001482 isolate0  0x00000000 , 0x00000002 
- 00010422  0x00001483 branch  0x000028b9 , 0x00000001 
- 00010423  0x00001484 deposit  0x00000013 
- 00010424  0x00001485 istore  0x00000001 , 0x00000005 
- 00010425  0x00001487 rshift2  0x00000002 , 0x00000002 
- 00010426  0x00001488 increase  0x00000002 , 0x00000013 
- 00010427  0x00001489 compare  0x00000028 , 0x00000013 , 0x000000fe 
- 00010428  0x0000148a nbranch  0x000028c2 , 0x00000001 
- 00010429  0x0000148b fetch  0x00000005 , 0x000040df 
- 00010430  0x0000148c iforce  0x00000002 
- 00010431  0x0000148d compare  0x00000002 , 0x00000007 , 0x000000ff 
- 00010432  0x0000148e branch  0x000028c2 , 0x00000001 
- 00010433  0x0000148f rshift  0x00000002 , 0x00000002 
- 00010434  0x00001491 sub  0x00000013 , 0x0000004e , 0x0000003e 
- 00010435  0x00001492 branch  0x000028b5 , 0x00000002 
- 00010436  0x00001493 force  0x00000001 , 0x00000013 
- 00010437  0x00001494 increase  0xffffffff , 0x00000007 
- 00010438  0x00001495 nbranch  0x000028b0 , 0x00000005 
- 00010439  0x00001496 arg  0x000040f2 , 0x00000011 
- 00010440  0x00001497 deposit  0x00000005 
- 00010441  0x00001498 isub  0x00000011 , 0x0000003f 
- 00010442  0x00001499 store  0x00000001 , 0x000040e4 
- 00010443  0x0000149a rtn 
- 00010444  0x0000149d bpatch  0x00000080 , 0x00004010 
- 00010445  0x0000149e call  0x00002860 
- 00010446  0x0000149f fetch  0x00000001 , 0x0000017f 
- 00010447  0x000014a0 bbit0  0x00000005 , 0x000028d1 
- 00010448  0x000014a1 fetcht  0x00000001 , 0x000004cc 
- 00010449  0x000014a3 branch  0x0000291f 
- 00010450  0x000014a7 bpatch  0x00000081 , 0x00004010 
- 00010451  0x000014a8 call  0x00002860 
- 00010452  0x000014a9 fetch  0x00000001 , 0x0000017f 
- 00010453  0x000014aa bbit0  0x00000004 , 0x000028d7 
- 00010454  0x000014ab fetcht  0x00000001 , 0x000004cb 
- 00010455  0x000014ad branch  0x00002933 
- 00010456  0x000014b1 force  0x00000000 , 0x0000002d 
- 00010457  0x000014b2 fetch  0x00000003 , 0x000040a7 
- 00010458  0x000014b3 iforce  0x0000002c 
- 00010459  0x000014b4 rtn 
- 00010460  0x000014b7 bpatch  0x00000082 , 0x00004010 
- 00010461  0x000014b8 fetch  0x00000001 , 0x000041d3 
- 00010462  0x000014b9 icopy  0x0000002d 
- 00010463  0x000014ba fetch  0x00000003 , 0x000041d0 
- 00010464  0x000014bb icopy  0x0000002c 
- 00010465  0x000014bc rtn 
- 00010466  0x000014bf bpatch  0x00000083 , 0x00004010 
- 00010467  0x000014c0 fetch  0x00000002 , 0x000040a4 
- 00010468  0x000014c1 icopy  0x0000002e 
- 00010469  0x000014c2 fetch  0x00000001 , 0x000040a3 
- 00010470  0x000014c3 icopy  0x0000002d 
- 00010471  0x000014c4 fetch  0x00000003 , 0x000040a0 
- 00010472  0x000014c5 icopy  0x0000002c 
- 00010473  0x000014c6 rtn 
- 00010474  0x000014c9 bpatch  0x00000084 , 0x00004010 
- 00010475  0x000014ca fetch  0x00000002 , 0x00000044 
- 00010476  0x000014cb icopy  0x0000002e 
- 00010477  0x000014cc fetch  0x00000001 , 0x00000043 
- 00010478  0x000014cd icopy  0x0000002d 
- 00010479  0x000014ce fetch  0x00000003 , 0x00000040 
- 00010480  0x000014cf icopy  0x0000002c 
- 00010481  0x000014d0 rtn 
- 00010482  0x000014d4 bmark1  0x00000020 , 0x000028f5 
- 00010483  0x000014d5 rtnmark0  0x0000001d 
- 00010484  0x000014d6 rtnmark0  0x0000001f 
- 00010485  0x000014d8 and_into  0xffffff00 , 0x0000002c 
- 00010486  0x000014d9 pulse  0x00000015 
- 00010487  0x000014da nop  0x00000020 
- 00010488  0x000014db rtn 
- 00010489  0x000014df bpatch  0x00000085 , 0x00004010 
- 00010490  0x000014e0 branch  0x0000290a , 0x00000021 
- 00010491  0x000014e1 jam  0x000000d4 , 0x00008955 
- 00010492  0x000014e2 nop  0x00000004 
- 00010493  0x000014e3 jam  0x000000d2 , 0x00008955 
- 00010494  0x000014e4 nop  0x00000004 
- 00010495  0x000014e5 jam  0x000000d1 , 0x00008955 
- 00010496  0x000014e6 nop  0x00000004 
- 00010497  0x000014e7 fetch  0x00000001 , 0x000041de 
- 00010498  0x000014e8 beq  0x00000000 , 0x00002908 
- 00010499  0x000014e9 beq  0x00000001 , 0x00002915 
- 00010500  0x000014ea beq  0x00000002 , 0x00002908 
- 00010501  0x000014eb beq  0x00000003 , 0x00002915 
- 00010502  0x000014ec beq  0x00000004 , 0x00002915 
- 00010503  0x000014ed beq  0x00000020 , 0x00002915 
- 00010504  0x000014f0 jam  0x000000d0 , 0x00008955 
- 00010505  0x000014f1 jam  0x000000e0 , 0x00008956 
- 00010506  0x000014f3 force  0x00000000 , 0x00000015 
- 00010507  0x000014f4 disable  0x00000021 
- 00010508  0x000014f5 disable  0x00000020 
- 00010509  0x000014f6 pulse  0x0000001e 
- 00010510  0x000014f7 jam  0x00000000 , 0x00008902 
- 00010511  0x000014f8 jam  0x00000000 , 0x00008901 
- 00010512  0x000014f9 jam  0x00000000 , 0x00008900 
- 00010513  0x000014fa jam  0x00000000 , 0x00008903 
- 00010514  0x000014fb jam  0x00000070 , 0x00008904 
- 00010515  0x000014fc jam  0x00000000 , 0x00008906 
- 00010516  0x000014fd rtn 
- 00010517  0x00001503 jam  0x000000d0 , 0x00008955 
- 00010518  0x00001504 jam  0x000000c0 , 0x00008956 
- 00010519  0x00001505 branch  0x0000290a 
- 00010520  0x00001508 bpatch  0x00000086 , 0x00004010 
- 00010521  0x00001509 jam  0x00000000 , 0x00008902 
- 00010522  0x0000150a jam  0x00000000 , 0x00008901 
- 00010523  0x0000150b jam  0x00000018 , 0x00008900 
- 00010524  0x0000150c jam  0x000000a7 , 0x00008903 
- 00010525  0x0000150d jam  0x0000007f , 0x00008904 
- 00010526  0x0000150e rtn 
- 00010527  0x00001511 bpatch  0x00000087 , 0x00004010 
- 00010528  0x00001513 storet  0x00000001 , 0x00000017 
- 00010529  0x00001514 add  0x00000002 , 0x00000004 , 0x00000011 
- 00010530  0x00001515 jam  0x00000007 , 0x0000896d 
- 00010531  0x00001516 branch  0x00002981 
- 00010532  0x00001518 bpatch  0x00000088 , 0x00004011 
- 00010533  0x00001519 jam  0x000000cf , 0x00008901 
- 00010534  0x0000151a nop  0x0000000a 
- 00010535  0x0000151b jam  0x000000ff , 0x00008900 
- 00010536  0x0000151c jam  0x000000af , 0x00008903 
- 00010537  0x0000151d jam  0x000000ff , 0x00008904 
- 00010538  0x0000151e nop  0x0000000a 
- 00010539  0x0000151f jam  0x000000a0 , 0x00008902 
- 00010540  0x00001520 rtn 
- 00010541  0x00001523 fetch  0x00000001 , 0x000041e0 
- 00010542  0x00001524 branch  0x00002931 , 0x00000034 
- 00010543  0x00001526 add  0x00000002 , 0x00000002 , 0x00000011 
- 00010544  0x00001527 rtn 
- 00010545  0x00001529 add  0x00000002 , 0x00000000 , 0x00000011 
- 00010546  0x0000152a rtn 
- 00010547  0x0000152d bpatch  0x00000089 , 0x00004011 
- 00010548  0x0000152e storet  0x00000001 , 0x00000017 
- 00010549  0x0000152f call  0x0000292d 
- 00010550  0x00001530 call  0x00002981 
- 00010551  0x00001531 setarg  0x00000500 
- 00010552  0x00001532 call  0x00002a8f 
- 00010553  0x00001534 jam  0x00000001 , 0x00008906 
- 00010554  0x00001535 jam  0x0000003c , 0x00008900 
- 00010555  0x00001536 jam  0x000000e0 , 0x00008901 
- 00010556  0x00001537 jam  0x00000012 , 0x0000896d 
- 00010557  0x00001538 nop  0x0000000a 
- 00010558  0x00001539 jam  0x00000001 , 0x00008902 
- 00010559  0x0000153a jam  0x0000003d , 0x00008902 
- 00010560  0x0000153b nop  0x0000000a 
- 00010561  0x0000153c jam  0x000000b7 , 0x00008903 
- 00010562  0x0000153d nop  0x0000000a 
- 00010563  0x0000153e jam  0x0000007f , 0x00008902 
- 00010564  0x00001540 fetch  0x00000001 , 0x000041de 
- 00010565  0x00001541 beq  0x00000000 , 0x0000294b 
- 00010566  0x00001542 beq  0x00000001 , 0x0000294f 
- 00010567  0x00001543 beq  0x00000002 , 0x00002953 
- 00010568  0x00001544 beq  0x00000003 , 0x00002957 
- 00010569  0x00001545 beq  0x00000004 , 0x0000295b 
- 00010570  0x00001546 beq  0x00000020 , 0x0000295f 
- 00010571  0x00001548 jam  0x000000f0 , 0x00008956 
- 00010572  0x00001549 call  0x00002965 
- 00010573  0x0000154a jam  0x000000d8 , 0x00008955 
- 00010574  0x0000154b rtn 
- 00010575  0x0000154e jam  0x000000df , 0x00008956 
- 00010576  0x0000154f call  0x00002965 
- 00010577  0x00001550 jam  0x000000df , 0x00008955 
- 00010578  0x00001551 rtn 
- 00010579  0x00001554 jam  0x000000ff , 0x00008956 
- 00010580  0x00001555 call  0x00002965 
- 00010581  0x00001556 jam  0x000000df , 0x00008955 
- 00010582  0x00001557 rtn 
- 00010583  0x00001559 jam  0x000000ce , 0x00008956 
- 00010584  0x0000155a call  0x00002965 
- 00010585  0x0000155b jam  0x000000d8 , 0x00008955 
- 00010586  0x0000155c rtn 
- 00010587  0x0000155f jam  0x000000cb , 0x00008956 
- 00010588  0x00001560 call  0x00002965 
- 00010589  0x00001561 jam  0x000000d8 , 0x00008955 
- 00010590  0x00001562 rtn 
- 00010591  0x00001565 jam  0x000000d0 , 0x00008955 
- 00010592  0x00001566 jam  0x000000c0 , 0x00008956 
- 00010593  0x00001567 jam  0x0000004c , 0x00008957 
- 00010594  0x00001568 jam  0x0000006c , 0x00008958 
- 00010595  0x00001569 jam  0x00000050 , 0x00008959 
- 00010596  0x0000156a rtn 
- 00010597  0x0000156d nop  0x00000004 
- 00010598  0x0000156e jam  0x000000d1 , 0x00008955 
- 00010599  0x0000156f nop  0x00000004 
- 00010600  0x00001570 jam  0x000000d2 , 0x00008955 
- 00010601  0x00001571 nop  0x00000004 
- 00010602  0x00001572 jam  0x000000d4 , 0x00008955 
- 00010603  0x00001573 rtn 
- 00010604  0x00001577 jam  0x00000006 , 0x00008042 
- 00010605  0x00001579 fetch  0x00000002 , 0x000040c3 
- 00010606  0x0000157a bbit0  0x0000000e , 0x0000296d 
- 00010607  0x0000157b iforce  0x00000006 
- 00010608  0x0000157c arg  0x00008900 , 0x00000002 
- 00010609  0x0000157e ifetch  0x00000001 , 0x00000006 
- 00010610  0x0000157f beq  0x000000ff , 0x00002977 
- 00010611  0x00001580 ior  0x00000002 , 0x00000005 
- 00010612  0x00001581 ifetch  0x00000001 , 0x00000006 
- 00010613  0x00001582 istore  0x00000001 , 0x00000005 
- 00010614  0x00001583 branch  0x00002971 
- 00010615  0x00001585 bpatch  0x0000008a , 0x00004011 
- 00010616  0x00001586 call  0x00002be5 
- 00010617  0x00001587 call  0x000029c9 
- 00010618  0x00001589 setarg  0x000007d0 
- 00010619  0x0000158a iadd  0x00000022 , 0x0000003f 
- 00010620  0x0000158b store  0x00000004 , 0x00000169 
- 00010621  0x0000158c set1  0x00000003 , 0x00000015 
- 00010622  0x0000158d force  0x00000000 , 0x00000015 
- 00010623  0x0000158e ncall  0x00002998 , 0x0000002b 
- 00010624  0x0000158f branch  0x000029ab 
- 00010625  0x00001593 bpatch  0x0000008b , 0x00004011 
- 00010626  0x00001594 setarg  0x00000960 
- 00010627  0x00001595 iadd  0x00000011 , 0x00000002 
- 00010628  0x00001596 fetch  0x00000001 , 0x000040bd 
- 00010629  0x00001597 jam  0x00000004 , 0x0000895f 
- 00010630  0x00001598 imul32  0x00000002 , 0x0000003f 
- 00010631  0x00001599 fetcht  0x00000001 , 0x000040be 
- 00010632  0x0000159a idiv  0x00000002 
- 00010633  0x0000159b call  0x00007f86 
- 00010634  0x0000159c quotient  0x00000011 
- 00010635  0x0000159d remainder  0x0000003f 
- 00010636  0x0000159e lshift16  0x0000003f , 0x0000003f 
- 00010637  0x0000159f lshift4  0x0000003f , 0x0000003f 
- 00010638  0x000015a0 idiv  0x00000002 
- 00010639  0x000015a1 call  0x00007f86 
- 00010640  0x000015a2 quotient  0x0000003f 
- 00010641  0x000015a3 lshift8  0x0000003f , 0x0000003f 
- 00010642  0x000015a4 lshift  0x0000003f , 0x0000003f 
- 00010643  0x000015a5 ior  0x00000011 , 0x0000003f 
- 00010644  0x000015a6 hstore  0x00000004 , 0x00008960 
- 00010645  0x000015a7 jam  0x00000044 , 0x0000895f 
- 00010646  0x000015a8 jam  0x000000c4 , 0x0000895f 
- 00010647  0x000015a9 rtn 
- 00010648  0x000015ad bpatch  0x0000008c , 0x00004011 
- 00010649  0x000015ae jam  0x00000002 , 0x00008906 
- 00010650  0x000015af setarg  0x0003d090 
- 00010651  0x000015b0 call  0x00002a8f 
- 00010652  0x000015b1 jam  0x0000007f , 0x00008900 
- 00010653  0x000015b2 nop  0x00000082 
- 00010654  0x000015b3 jam  0x00000030 , 0x00008952 
- 00010655  0x000015b4 jam  0x000000d0 , 0x00008901 
- 00010656  0x000015b5 jam  0x00000070 , 0x00008952 
- 00010657  0x000015b6 jam  0x000000f0 , 0x00008952 
- 00010658  0x000015b7 force  0x00000032 , 0x00000039 
- 00010659  0x000015b9 hfetch  0x00000001 , 0x00008980 
- 00010660  0x000015ba bbit1  0x00000005 , 0x000029a6 
- 00010661  0x000015bb loop  0x000029a3 
- 00010662  0x000015bd store  0x00000001 , 0x000040ce 
- 00010663  0x000015be jam  0x00000000 , 0x00008901 
- 00010664  0x000015bf jam  0x00000000 , 0x00008900 
- 00010665  0x000015c0 jam  0x00000000 , 0x00008906 
- 00010666  0x000015c1 rtn 
- 00010667  0x000015c4 bpatch  0x0000008d , 0x00004011 
- 00010668  0x000015c5 fetch  0x00000001 , 0x000040ce 
- 00010669  0x000015c6 set1  0x00000005 , 0x0000003f 
- 00010670  0x000015c7 hstore  0x00000001 , 0x00008952 
- 00010671  0x000015c8 hfetcht  0x00000001 , 0x00008950 
- 00010672  0x000015c9 and_into  0x00000007 , 0x00000002 
- 00010673  0x000015ca lshift3  0x0000003f , 0x0000003f 
- 00010674  0x000015cb ior  0x00000002 , 0x0000003f 
- 00010675  0x000015cc hstore  0x00000001 , 0x00008950 
- 00010676  0x000015cd hfetch  0x00000001 , 0x00008951 
- 00010677  0x000015ce set0  0x00000000 , 0x0000003f 
- 00010678  0x000015cf hstore  0x00000001 , 0x00008951 
- 00010679  0x000015d0 hfetch  0x00000001 , 0x00008952 
- 00010680  0x000015d1 set0  0x00000005 , 0x0000003f 
- 00010681  0x000015d2 hstore  0x00000001 , 0x00008952 
- 00010682  0x000015d3 rtn 
- 00010683  0x000015d6 bpatch  0x0000008e , 0x00004011 
- 00010684  0x000015d7 hfetch  0x00000002 , 0x00008981 
- 00010685  0x000015d8 rshift4  0x0000003f , 0x0000003f 
- 00010686  0x000015d9 rshift3  0x0000003f , 0x0000003f 
- 00010687  0x000015da sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00010688  0x000015dc and_into  0x000000ff , 0x0000003f 
- 00010689  0x000015dd div  0x0000003f , 0x0000000a 
- 00010690  0x000015de call  0x00007f86 
- 00010691  0x000015df quotient  0x0000003f 
- 00010692  0x000015e0 lshift4  0x0000003f , 0x0000003f 
- 00010693  0x000015e1 remainder  0x00000002 
- 00010694  0x000015e2 ior  0x00000002 , 0x0000003f 
- 00010695  0x000015e3 store  0x00000001 , 0x00000018 
- 00010696  0x000015e4 rtn 
- 00010697  0x000015e8 jam  0x00000006 , 0x00008042 
- 00010698  0x000015e9 hfetch  0x00000001 , 0x0000896b 
- 00010699  0x000015ea set0  0x00000004 , 0x0000003f 
- 00010700  0x000015eb set0  0x00000005 , 0x0000003f 
- 00010701  0x000015ec hstore  0x00000001 , 0x0000896b 
- 00010702  0x000015ed jam  0x00000000 , 0x00008905 
- 00010703  0x000015ee jam  0x00000000 , 0x00008904 
- 00010704  0x000015ef jam  0x00000070 , 0x00008904 
- 00010705  0x000015f0 jam  0x000000ff , 0x00008905 
- 00010706  0x000015f1 hfetch  0x00000001 , 0x0000896b 
- 00010707  0x000015f2 set1  0x00000004 , 0x0000003f 
- 00010708  0x000015f3 set1  0x00000005 , 0x0000003f 
- 00010709  0x000015f4 hstore  0x00000001 , 0x0000896b 
- 00010710  0x000015f5 call  0x000029e9 
- 00010711  0x000015f6 hfetch  0x00000001 , 0x00008968 
- 00010712  0x000015f7 set1  0x00000007 , 0x0000003f 
- 00010713  0x000015f8 hstore  0x00000001 , 0x00008968 
- 00010714  0x000015f9 set0  0x00000007 , 0x0000003f 
- 00010715  0x000015fa hstore  0x00000001 , 0x00008968 
- 00010716  0x000015fb set1  0x00000007 , 0x0000003f 
- 00010717  0x000015fc hstore  0x00000001 , 0x00008968 
- 00010718  0x000015fd jam  0x00000005 , 0x00008042 
- 00010719  0x000015fe nop  0x00000001 
- 00010720  0x000015ff jam  0x00000004 , 0x00008042 
- 00010721  0x00001600 hfetch  0x00000001 , 0x0000896b 
- 00010722  0x00001601 and_into  0x000000cf , 0x0000003f 
- 00010723  0x00001602 hstore  0x00000001 , 0x0000896b 
- 00010724  0x00001603 or_into  0x00000030 , 0x0000003f 
- 00010725  0x00001604 hstore  0x00000001 , 0x0000896b 
- 00010726  0x00001605 rtn 
- 00010727  0x00001609 setarg  0x00000f0f 
- 00010728  0x0000160a branch  0x00002c18 
- 00010729  0x0000160d setarg  0x0000080f 
- 00010730  0x0000160e branch  0x00002c18 
- 00010731  0x00001613 bpatch  0x0000008f , 0x00004011 
- 00010732  0x00001614 call  0x00002924 
- 00010733  0x00001615 disable  0x00000020 
- 00010734  0x00001616 enable  0x00000021 
- 00010735  0x00001617 pulse  0x00000016 
- 00010736  0x00001618 rtn 
- 00010737  0x0000161b bpatch  0x00000090 , 0x00004012 
- 00010738  0x0000161c fetch  0x00000001 , 0x0000004c 
- 00010739  0x0000161d isolate1  0x00000002 , 0x0000003f 
- 00010740  0x0000161e setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00010741  0x0000161f hstore  0x00000001 , 0x00008011 
- 00010742  0x00001620 arg  0x00000062 , 0x00000006 
- 00010743  0x00001621 ifetch  0x00000009 , 0x00000006 
- 00010744  0x00001622 iforce  0x00000032 
- 00010745  0x00001623 ifetch  0x00000007 , 0x00000006 
- 00010746  0x00001624 iforce  0x00000033 
- 00010747  0x00001625 fetch  0x00000001 , 0x00000054 
- 00010748  0x00001626 add  0x0000003f , 0xffffffff , 0x00000034 
- 00010749  0x00001627 pulse  0x0000001a 
- 00010750  0x00001628 rtn 
- 00010751  0x0000162b deposit  0x0000001a 
- 00010752  0x0000162c store  0x00000006 , 0x0000009a 
- 00010753  0x0000162d disable  0x0000000d 
- 00010754  0x0000162e nbranch  0x000028f9 , 0x00000018 
- 00010755  0x0000162f arg  0x000003bb , 0x00000029 
- 00010756  0x00001630 increase  0x00000001 , 0x00000028 
- 00010757  0x00001631 and_into  0x000001fc , 0x00000028 
- 00010758  0x00001632 rtn 
- 00010759  0x00001637 enable  0x0000000d 
- 00010760  0x00001639 correlate  0x0000003e , 0x00000017 
- 00010761  0x0000163a branch  0x000029ff , 0x00000018 
- 00010762  0x0000163b compare  0x00000002 , 0x00000028 , 0x00000002 
- 00010763  0x0000163c nbranch  0x00002a08 , 0x00000001 
- 00010764  0x0000163d branch  0x000029ff 
- 00010765  0x00001640 bpatch  0x00000091 , 0x00004012 
- 00010766  0x00001641 arg  0x00000600 , 0x0000000b 
- 00010767  0x00001642 enable  0x0000000d 
- 00010768  0x00001643 correlate  0x00000023 , 0x00000026 
- 00010769  0x00001644 disable  0x0000000d 
- 00010770  0x00001645 nbranch  0x000028f9 , 0x00000018 
- 00010771  0x00001646 rtn 
- 00010772  0x00001649 bpatch  0x00000092 , 0x00004012 
- 00010773  0x0000164a enable  0x0000000d 
- 00010774  0x0000164b correlate  0x0000003e , 0x00000003 
- 00010775  0x0000164c disable  0x0000000d 
- 00010776  0x0000164d nbranch  0x000028f9 , 0x00000018 
- 00010777  0x0000164e arg  0x000003bb , 0x00000029 
- 00010778  0x0000164f and_into  0x000001fc , 0x00000028 
- 00010779  0x00001650 rtn 
- 00010780  0x00001654 bpatch  0x00000093 , 0x00004012 
- 00010781  0x00001655 iforce  0x00000011 
- 00010782  0x00001656 deposit  0x00000021 
- 00010783  0x00001657 iadd  0x00000002 , 0x0000000b 
- 00010784  0x00001658 copy  0x0000000b , 0x0000003f 
- 00010785  0x00001659 store  0x00000004 , 0x000040ca 
- 00010786  0x0000165a deposit  0x00000011 
- 00010787  0x0000165b rtn 
- 00010788  0x0000165f copy  0x0000003f , 0x00000002 
- 00010789  0x00001660 bpatch  0x00000094 , 0x00004012 
- 00010790  0x00001661 copy  0x00000002 , 0x0000003f 
- 00010791  0x00001662 call  0x00007f50 
- 00010792  0x00001663 lshift16  0x00000021 , 0x0000003f 
- 00010793  0x00001664 set1  0x0000002c , 0x0000003f 
- 00010794  0x00001665 call  0x00007f39 
- 00010795  0x00001666 set0  0x0000002c , 0x0000003f 
- 00010796  0x00001667 call  0x00002a77 
- 00010797  0x00001668 call  0x00007f39 
- 00010798  0x00001669 rtn  0x00000028 
- 00010799  0x0000166a call  0x00007f43 
- 00010800  0x0000166b iforce  0x0000001b 
- 00010801  0x0000166c until  0x0000003e , 0x00000003 
- 00010802  0x0000166d rtn 
- 00010803  0x00001671 bpatch  0x00000095 , 0x00004012 
- 00010804  0x00001672 branch  0x00002a38 , 0x00000030 
- 00010805  0x00001673 until  0x00000029 , 0x00000026 
- 00010806  0x00001675 copy  0x00000028 , 0x00000002 
- 00010807  0x00001676 branch  0x00002a3b 
- 00010808  0x00001678 branch  0x00002a3a , 0x0000002e 
- 00010809  0x00001679 until  0x00000023 , 0x00000026 
- 00010810  0x0000167b copy  0x00000022 , 0x00000002 
- 00010811  0x0000167d branch  0x00002a47 , 0x00000028 
- 00010812  0x0000167e compare  0x00000001 , 0x00000002 , 0x00000003 
- 00010813  0x0000167f nbranch  0x00002a33 , 0x00000001 
- 00010814  0x00001681 bpatch  0x00000096 , 0x00004012 
- 00010815  0x00001682 fetch  0x00000001 , 0x00000030 
- 00010816  0x00001683 rtnbit0  0x00000000 
- 00010817  0x00001684 fetch  0x00000004 , 0x000040ca 
- 00010818  0x00001685 isub  0x00000002 , 0x0000003f 
- 00010819  0x00001686 nrtn  0x00000002 
- 00010820  0x00001687 sub  0x0000003f , 0x000000ff , 0x0000003e 
- 00010821  0x00001688 branch  0x00002a33 , 0x00000002 
- 00010822  0x00001689 rtn 
- 00010823  0x0000168b compare  0x00000003 , 0x00000002 , 0x00000003 
- 00010824  0x0000168c nbranch  0x00002a33 , 0x00000001 
- 00010825  0x0000168d branch  0x00002a3e 
- 00010826  0x00001690 bpatch  0x00000097 , 0x00004012 
- 00010827  0x00001691 arg  0x00000600 , 0x0000000b 
- 00010828  0x00001692 branch  0x00002a33 
- 00010829  0x00001695 disable  0x00000028 
- 00010830  0x00001696 branch  0x00002a4a 
- 00010831  0x00001699 enable  0x00000028 
- 00010832  0x0000169a branch  0x00002a4a 
- 00010833  0x0000169d bpatch  0x00000098 , 0x00004013 
- 00010834  0x0000169e call  0x000029f1 
- 00010835  0x0000169f disable  0x00000021 
- 00010836  0x000016a0 enable  0x00000020 
- 00010837  0x000016a1 rtn 
- 00010838  0x000016a6 bpatch  0x00000099 , 0x00004013 
- 00010839  0x000016a7 arg  0x00000e43 , 0x0000000b 
- 00010840  0x000016a8 until  0x00000023 , 0x00000026 
- 00010841  0x000016a9 pulse  0x00000016 
- 00010842  0x000016aa rtn 
- 00010843  0x000016ad bpatch  0x0000009a , 0x00004013 
- 00010844  0x000016ae arg  0x00000d00 , 0x0000000b 
- 00010845  0x000016af until  0x00000023 , 0x00000026 
- 00010846  0x000016b0 rtn 
- 00010847  0x000016b4 bpatch  0x0000009b , 0x00004013 
- 00010848  0x000016b5 arg  0x00000e43 , 0x0000000b 
- 00010849  0x000016b6 until  0x00000029 , 0x00000026 
- 00010850  0x000016b7 pulse  0x00000016 
- 00010851  0x000016b8 rtn 
- 00010852  0x000016bb bpatch  0x0000009c , 0x00004013 
- 00010853  0x000016bc preload  0x00000009 
- 00010854  0x000016bd enable  0x0000001d 
- 00010855  0x000016be set1  0x00000000 , 0x00000015 
- 00010856  0x000016bf inject  0x00000003 , 0x00000048 
- 00010857  0x000016c0 disable  0x0000001d 
- 00010858  0x000016c1 rtn 
- 00010859  0x000016c5 copy  0x00000025 , 0x00000002 
- 00010860  0x000016c6 or_into  0x00000060 , 0x00000002 
- 00010861  0x000016c7 copy  0x00000002 , 0x0000000e 
- 00010862  0x000016c8 rtn 
- 00010863  0x000016ce bpatch  0x0000009d , 0x00004013 
- 00010864  0x000016cf fetch  0x00000001 , 0x00004090 
- 00010865  0x000016d0 increase  0x00000001 , 0x0000003f 
- 00010866  0x000016d1 bne  0x00000007 , 0x00002a74 
- 00010867  0x000016d2 force  0x00000001 , 0x0000003f 
- 00010868  0x000016d4 store  0x00000001 , 0x00004090 
- 00010869  0x000016d5 iforce  0x00000004 
- 00010870  0x000016d6 rtn 
- 00010871  0x000016d9 copy  0x00000019 , 0x00000002 
- 00010872  0x000016da rtn  0x00000029 
- 00010873  0x000016db copy  0x0000001a , 0x00000002 
- 00010874  0x000016dc rtn 
- 00010875  0x000016df deposit  0x00000022 
- 00010876  0x000016e0 rtn  0x00000029 
- 00010877  0x000016e1 deposit  0x00000028 
- 00010878  0x000016e2 rtn 
- 00010879  0x000016e6 bpatch  0x0000009e , 0x00004013 
- 00010880  0x000016e7 fetcht  0x00000004 , 0x0000004d 
- 00010881  0x000016e8 call  0x00002a7b 
- 00010882  0x000016e9 isub  0x00000002 , 0x0000000b 
- 00010883  0x000016ea deposit  0x0000000b 
- 00010884  0x000016eb fetcht  0x00000002 , 0x00000051 
- 00010885  0x000016ec lshift  0x00000002 , 0x00000002 
- 00010886  0x000016ed isub  0x00000002 , 0x0000003f 
- 00010887  0x000016ee rtn 
- 00010888  0x000016f1 bpatch  0x0000009f , 0x00004013 
- 00010889  0x000016f2 call  0x00002a7b 
- 00010890  0x000016f3 store  0x00000004 , 0x0000004d 
- 00010891  0x000016f4 rtn 
- 00010892  0x000016f7 bpatch  0x000000a0 , 0x00004014 
- 00010893  0x000016f8 branch  0x00002a8c 
- 00010894  0x000016fb branch  0x00002a8e 
- 00010895  0x000016fe rtn  0x00000034 
- 00010896  0x00001700 rshift  0x0000003f , 0x0000003f 
- 00010897  0x00001701 increase  0xfffffffd , 0x0000003f 
- 00010898  0x00001703 increase  0xffffffff , 0x0000003f 
- 00010899  0x00001704 nbranch  0x00002a92 , 0x00000005 
- 00010900  0x00001705 force  0x00000000 , 0x0000003f 
- 00010901  0x00001706 rtn 
- 00010902  0x0000170c arg  0x00000010 , 0x00000039 
- 00010903  0x0000170d arg  0x00000000 , 0x00000005 
- 00010904  0x0000170e call  0x00007ec6 
- 00010905  0x0000170f arg  0x0000043f , 0x00000005 
- 00010906  0x00001710 arg  0x0000000a , 0x00000039 
- 00010907  0x00001711 call  0x00007ec6 
- 00010908  0x00001712 jam  0x00000000 , 0x000009b2 
- 00010909  0x00001713 jam  0x00000000 , 0x00000a99 
- 00010910  0x00001714 jam  0x00000000 , 0x0000048c 
- 00010911  0x00001715 jam  0x00000000 , 0x0000017f 
- 00010912  0x00001716 jam  0x00000000 , 0x000004d1 
- 00010913  0x00001717 bpatch  0x000000a1 , 0x00004014 
- 00010914  0x00001718 jam  0x00000000 , 0x0000016d 
- 00010915  0x00001719 jam  0x00000000 , 0x00000151 
- 00010916  0x0000171a jam  0x00000000 , 0x0000015c 
- 00010917  0x0000171b setarg  0x009e8b33 
- 00010918  0x0000171c store  0x00000003 , 0x000040a7 
- 00010919  0x0000171d setarg  0x00000153 
- 00010920  0x0000171e store  0x00000002 , 0x00000083 
- 00010921  0x0000171f jam  0x0000001e , 0x00000085 
- 00010922  0x00001720 jam  0x00000001 , 0x00000086 
- 00010923  0x00001721 jam  0x00000007 , 0x00000088 
- 00010924  0x00001722 setarg  0x0012e904 
- 00010925  0x00001723 store  0x00000003 , 0x00000080 
- 00010926  0x00001728 jam  0x00000060 , 0x00000090 
- 00010927  0x00001729 jam  0x00000005 , 0x000040d0 
- 00010928  0x0000172a jam  0x00000002 , 0x00000014 
- 00010929  0x0000172b fetch  0x00000001 , 0x0000465a 
- 00010930  0x0000172c ncall  0x000074c1 , 0x00000034 
- 00010931  0x0000172d fetch  0x00000001 , 0x000044be 
- 00010932  0x0000172e ncall  0x00007518 , 0x00000034 
- 00010933  0x0000172f bpatch  0x000000a2 , 0x00004014 
- 00010934  0x00001730 rtn  0x0000002b 
- 00010935  0x00001731 setarg  0x00000000 
- 00010936  0x00001732 store  0x00000002 , 0x000041dc 
- 00010937  0x00001733 rshift  0x00000022 , 0x0000003f 
- 00010938  0x00001734 store  0x00000004 , 0x00004094 
- 00010939  0x00001735 rtn 
- 00010940  0x0000173d setarg  0x0000ee21 
- 00010941  0x0000173e hstore  0x00000002 , 0x00008050 
- 00010942  0x0000173f hfetch  0x00000004 , 0x0000811c 
- 00010943  0x00001740 store  0x00000004 , 0x00000abe 
- 00010944  0x00001741 hfetch  0x00000001 , 0x0000813e 
- 00010945  0x00001742 store  0x00000001 , 0x00000abd 
- 00010946  0x00001743 bbit0  0x00000003 , 0x0000645b 
- 00010947  0x00001744 enable  0x0000002b 
- 00010948  0x00001745 bbit0  0x00000007 , 0x00002acc 
- 00010949  0x00001746 disable  0x0000002b 
- 00010950  0x00001747 deposit  0x00000027 
- 00010951  0x00001748 nbranch  0x00002acc , 0x00000034 
- 00010952  0x00001749 hfetch  0x00000001 , 0x0000813b 
- 00010953  0x0000174a bbit1  0x00000002 , 0x00002acc 
- 00010954  0x0000174b arg  0xffffffff , 0x00000002 
- 00010955  0x0000174c branch  0x00002b3c 
- 00010956  0x0000174e hfetch  0x00000003 , 0x0000813c 
- 00010957  0x0000174f hstore  0x00000003 , 0x0000804c 
- 00010958  0x00001750 ifetch  0x00000001 , 0x00000006 
- 00010959  0x00001751 or_into  0x000000ef , 0x0000003f 
- 00010960  0x00001752 istore  0x00000001 , 0x00000005 
- 00010961  0x00001753 call  0x00002c23 
- 00010962  0x00001754 hfetch  0x00000001 , 0x0000804f 
- 00010963  0x00001755 set1  0x00000004 , 0x0000003f 
- 00010964  0x00001756 hstore  0x00000001 , 0x0000804f 
- 00010965  0x00001757 call  0x00002c23 
- 00010966  0x00001758 call  0x00002adf , 0x0000002b 
- 00010967  0x00001759 hfetch  0x00000001 , 0x0000804e 
- 00010968  0x0000175a set0  0x00000003 , 0x0000003f 
- 00010969  0x0000175b hstore  0x00000001 , 0x0000804e 
- 00010970  0x0000175c call  0x00002c23 
- 00010971  0x0000175d nbranch  0x0000645b , 0x0000002b 
- 00010972  0x0000175e rtnmark0  0x0000002b 
- 00010973  0x0000175f jam  0x00000008 , 0x00008006 
- 00010974  0x00001760 rtn 
- 00010975  0x00001763 fetch  0x00000001 , 0x00004198 
- 00010976  0x00001764 hstore  0x00000001 , 0x00008086 
- 00010977  0x00001765 fetch  0x00000003 , 0x0000418d 
- 00010978  0x00001766 hstore  0x00000003 , 0x00008080 
- 00010979  0x00001767 fetch  0x00000004 , 0x00004181 
- 00010980  0x00001768 hstore  0x00000004 , 0x00008074 
- 00010981  0x00001769 fetch  0x00000004 , 0x0000417d 
- 00010982  0x0000176a hstore  0x00000004 , 0x00008070 
- 00010983  0x0000176b fetch  0x00000008 , 0x00004185 
- 00010984  0x0000176c hstore  0x00000008 , 0x00008078 
- 00010985  0x0000176d fetch  0x00000008 , 0x00004190 
- 00010986  0x0000176e iforce  0x00000000 
- 00010987  0x0000176f hfetch  0x00000008 , 0x00008140 
- 00010988  0x00001770 store  0x00000008 , 0x000000a1 
- 00010989  0x00001771 call  0x000064ca 
- 00010990  0x00001772 rtn 
- 00010991  0x00001775 deposit  0x00000000 
- 00010992  0x00001776 store  0x00000008 , 0x00004190 
- 00010993  0x00001777 hfetch  0x00000008 , 0x00008070 
- 00010994  0x00001778 store  0x00000008 , 0x0000417d 
- 00010995  0x00001779 ifetch  0x00000008 , 0x00000006 
- 00010996  0x0000177a istore  0x00000008 , 0x00000005 
- 00010997  0x0000177b hfetch  0x00000003 , 0x00008080 
- 00010998  0x0000177c store  0x00000003 , 0x0000418d 
- 00010999  0x0000177d hfetch  0x00000001 , 0x00008086 
- 00011000  0x0000177e store  0x00000001 , 0x00004198 
- 00011001  0x0000177f branch  0x00002c29 
- 00011002  0x00001782 hfetch  0x00000001 , 0x00008063 
- 00011003  0x00001783 nbranch  0x00002b00 , 0x00000034 
- 00011004  0x00001784 fetch  0x00000003 , 0x0000416f 
- 00011005  0x00001785 nrtn  0x00000034 
- 00011006  0x00001786 jam  0x000000c0 , 0x00008063 
- 00011007  0x00001787 jam  0x00000080 , 0x00008006 
- 00011008  0x00001789 hfetch  0x00000001 , 0x0000812d 
- 00011009  0x0000178a rtnbit0  0x00000001 
- 00011010  0x0000178b hfetch  0x00000003 , 0x00008149 
- 00011011  0x0000178c store  0x00000003 , 0x0000416f 
- 00011012  0x0000178d rtn 
- 00011013  0x00001792 bpatch  0x000000a3 , 0x00004014 
- 00011014  0x00001793 deposit  0x0000001a 
- 00011015  0x00001794 call  0x00007f37 
- 00011016  0x00001795 fetcht  0x00000004 , 0x0000415f 
- 00011017  0x00001796 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00011018  0x00001797 rtn  0x00000002 
- 00011019  0x00001798 lshift8  0x0000003f , 0x0000003f 
- 00011020  0x00001799 lshift4  0x0000003f , 0x0000003f 
- 00011021  0x0000179a idiv  0x00000002 
- 00011022  0x0000179b call  0x00007f86 
- 00011023  0x0000179c quotient  0x0000003f 
- 00011024  0x0000179d arg  0x000000c8 , 0x00000002 
- 00011025  0x0000179e call  0x00007f91 
- 00011026  0x0000179f store  0x00000001 , 0x00000099 
- 00011027  0x000017a0 nbranch  0x00002b15 , 0x00000028 
- 00011028  0x000017a1 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00011029  0x000017a3 fetcht  0x00000003 , 0x0000416f 
- 00011030  0x000017a4 iadd  0x00000002 , 0x0000003f 
- 00011031  0x000017a5 store  0x00000003 , 0x0000416f 
- 00011032  0x000017a7 setarg  0x00000000 
- 00011033  0x000017a8 store  0x00000004 , 0x0000415f 
- 00011034  0x000017a9 rtn 
- 00011035  0x000017ae fetch  0x00000001 , 0x00004177 
- 00011036  0x000017af set1  0x00000002 , 0x0000003f 
- 00011037  0x000017b0 store  0x00000001 , 0x00004177 
- 00011038  0x000017b1 branch  0x00002b23 
- 00011039  0x000017b6 arg  0xffffffff , 0x00000002 
- 00011040  0x000017b7 fetch  0x00000001 , 0x00004176 
- 00011041  0x000017b8 set0  0x00000007 , 0x0000003f 
- 00011042  0x000017b9 store  0x00000001 , 0x00004176 
- 00011043  0x000017bb bpatch  0x000000a4 , 0x00004014 
- 00011044  0x000017bc call  0x00002c29 
- 00011045  0x000017bd fetch  0x00000001 , 0x00004157 
- 00011046  0x000017be store  0x00000001 , 0x0000417c 
- 00011047  0x000017bf fetch  0x00000001 , 0x0000417a 
- 00011048  0x000017c0 set1  0x00000007 , 0x0000003f 
- 00011049  0x000017c1 store  0x00000001 , 0x0000417a 
- 00011050  0x000017c5 bpatch  0x000000a5 , 0x00004014 
- 00011051  0x000017c6 call  0x000029e7 
- 00011052  0x000017c7 fetch  0x00000004 , 0x0000415f 
- 00011053  0x000017c8 iadd  0x00000002 , 0x0000003f 
- 00011054  0x000017c9 store  0x00000004 , 0x0000415f 
- 00011055  0x000017ca call  0x00002aef 
- 00011056  0x000017cb fetch  0x00000005 , 0x00004178 
- 00011057  0x000017cc hstore  0x00000004 , 0x0000804c 
- 00011058  0x000017cd rshift32  0x0000003f , 0x00000011 
- 00011059  0x000017ce until  0x0000003e , 0x00000033 
- 00011060  0x000017cf deposit  0x00000019 
- 00011061  0x000017d0 store  0x00000006 , 0x00004163 
- 00011062  0x000017d1 jam  0x00000002 , 0x00008005 
- 00011063  0x000017d2 until  0x0000003e , 0x00000033 
- 00011064  0x000017d3 until  0x0000003e , 0x00000033 
- 00011065  0x000017d4 deposit  0x00000011 
- 00011066  0x000017d5 hstore  0x00000001 , 0x0000804f 
- 00011067  0x000017d6 jam  0x00000002 , 0x00008005 
- 00011068  0x000017d8 until  0x0000003e , 0x00000033 
- 00011069  0x000017d9 until  0x0000003e , 0x00000033 
- 00011070  0x000017da hstoret  0x00000004 , 0x0000804c 
- 00011071  0x000017db jam  0x00000010 , 0x00008005 
- 00011072  0x000017dc until  0x0000003e , 0x0000003f 
- 00011073  0x000017e2 bpatch  0x000000a6 , 0x00004014 
- 00011074  0x000017e3 setarg  0x00000000 
- 00011075  0x000017e4 copy  0x00000027 , 0x0000003e 
- 00011076  0x000017e5 branch  0x00002b4c , 0x00000005 
- 00011077  0x000017e6 hfetch  0x00000001 , 0x0000813c 
- 00011078  0x000017e7 hfetcht  0x00000001 , 0x0000813d 
- 00011079  0x000017e8 isub  0x00000002 , 0x0000003e 
- 00011080  0x000017e9 branch  0x00002b4a , 0x00000002 
- 00011081  0x000017ea deposit  0x00000002 
- 00011082  0x000017ec isub  0x00000027 , 0x0000003f 
- 00011083  0x000017ed increase  0x00000001 , 0x0000003f 
- 00011084  0x000017ef increase  0x00000008 , 0x0000003f 
- 00011085  0x000017f0 until  0x0000003e , 0x00000033 
- 00011086  0x000017f1 iadd  0x00000031 , 0x0000003f 
- 00011087  0x000017f2 fetcht  0x00000004 , 0x0000415b 
- 00011088  0x000017f3 iadd  0x00000002 , 0x0000003f 
- 00011089  0x000017f4 fetcht  0x00000003 , 0x0000416f 
- 00011090  0x000017f5 imul32  0x00000002 , 0x0000003f 
- 00011091  0x000017f6 rshift8  0x0000003f , 0x0000003f 
- 00011092  0x000017f7 rshift4  0x0000003f , 0x0000003f 
- 00011093  0x000017f8 increase  0x0000006e , 0x0000003f 
- 00011094  0x000017f9 arg  0x00000ea6 , 0x00000002 
- 00011095  0x000017fa idiv  0x00000002 
- 00011096  0x000017fb call  0x00007f86 
- 00011097  0x000017fc quotient  0x0000003f 
- 00011098  0x000017fd lshift16  0x0000003f , 0x0000003f 
- 00011099  0x000017fe remainder  0x00000002 
- 00011100  0x000017ff ior  0x00000002 , 0x0000003f 
- 00011101  0x00001800 fetcht  0x00000006 , 0x00004163 
- 00011102  0x00001801 call  0x00007f2c 
- 00011103  0x00001802 copy  0x00000002 , 0x00000019 
- 00011104  0x00001803 fetch  0x00000006 , 0x00004048 
- 00011105  0x00001804 call  0x00002854 
- 00011106  0x00001805 deposit  0x0000001a 
- 00011107  0x00001806 store  0x00000006 , 0x00000a9a 
- 00011108  0x00001807 deposit  0x00000027 
- 00011109  0x00001808 istore  0x00000001 , 0x00000005 
- 00011110  0x00001809 hfetch  0x00000001 , 0x0000811d 
- 00011111  0x0000180a or_into  0x000000f0 , 0x0000003f 
- 00011112  0x0000180b istore  0x00000001 , 0x00000005 
- 00011113  0x0000180c rtn 
- 00011114  0x0000180f bpatch  0x000000a7 , 0x00004014 
- 00011115  0x00001810 call  0x00002afa 
- 00011116  0x00001811 fetch  0x00000003 , 0x0000416f 
- 00011117  0x00001812 rtn  0x00000034 
- 00011118  0x00001813 fetch  0x00000001 , 0x00004091 
- 00011119  0x00001814 rtn  0x00000034 
- 00011120  0x00001815 fetch  0x00000001 , 0x0000465a 
- 00011121  0x00001816 branch  0x00002b74 , 0x00000034 
- 00011122  0x00001817 fetch  0x00000001 , 0x000045b1 
- 00011123  0x00001818 rtn  0x00000034 
- 00011124  0x0000181a fetch  0x00000001 , 0x000044c0 
- 00011125  0x0000181b nrtn  0x00000034 
- 00011126  0x0000181c call  0x00002c3a 
- 00011127  0x0000181d nrtn  0x00000034 
- 00011128  0x0000181e fetch  0x00000001 , 0x00004040 
- 00011129  0x0000181f compare  0x00000003 , 0x0000003f , 0x00000007 
- 00011130  0x00001820 nbranch  0x00002b9d , 0x00000001 
- 00011131  0x00001821 fetch  0x00000002 , 0x00004042 
- 00011132  0x00001822 rtn  0x00000034 
- 00011133  0x00001823 rtn  0x0000002b 
- 00011134  0x00001824 bpatch  0x000000a8 , 0x00004015 
- 00011135  0x00001826 fetcht  0x00000001 , 0x000000a0 
- 00011136  0x00001827 fetch  0x00000002 , 0x00004042 
- 00011137  0x00001828 imul32  0x00000002 , 0x0000003f 
- 00011138  0x00001829 rshift4  0x00000002 , 0x00000002 
- 00011139  0x0000182a rshift2  0x00000002 , 0x00000002 
- 00011140  0x0000182b isub  0x00000002 , 0x0000003f 
- 00011141  0x0000182c fetcht  0x00000004 , 0x00004044 
- 00011142  0x0000182d iadd  0x00000002 , 0x0000003f 
- 00011143  0x0000182e fetcht  0x00000001 , 0x00004156 
- 00011144  0x0000182f isub  0x00000002 , 0x0000003f 
- 00011145  0x00001830 lshift16  0x0000003f , 0x00000030 
- 00011146  0x00001831 bpatch  0x000000a9 , 0x00004015 
- 00011147  0x00001832 fetch  0x00000002 , 0x0000404e 
- 00011148  0x00001833 rshift  0x0000003f , 0x0000003f 
- 00011149  0x00001834 call  0x00007f50 
- 00011150  0x00001835 deposit  0x00000030 
- 00011151  0x00001836 call  0x00007f39 
- 00011152  0x00001837 copy  0x0000001a , 0x00000002 
- 00011153  0x00001838 call  0x00007f37 
- 00011154  0x00001839 rtn  0x00000028 
- 00011155  0x0000183b call  0x00007f49 
- 00011156  0x0000183d bpatch  0x000000aa , 0x00004015 
- 00011157  0x0000183e fetch  0x00000001 , 0x00004178 
- 00011158  0x0000183f isub  0x00000002 , 0x0000003e 
- 00011159  0x00001840 branch  0x00002b18 , 0x00000002 
- 00011160  0x00001841 storet  0x00000004 , 0x0000415b 
- 00011161  0x00001842 call  0x00003328 
- 00011162  0x00001843 call  0x000052fb 
- 00011163  0x00001844 fetcht  0x00000004 , 0x0000415b 
- 00011164  0x00001845 branch  0x00002b2a 
- 00011165  0x00001848 bpatch  0x000000ab , 0x00004015 
- 00011166  0x00001849 fetch  0x00000001 , 0x00004040 
- 00011167  0x0000184a rtnbit1  0x00000000 
- 00011168  0x0000184b rtnbit1  0x00000003 
- 00011169  0x0000184c fetch  0x00000001 , 0x0000465a 
- 00011170  0x0000184d branch  0x00002ba5 , 0x00000034 
- 00011171  0x0000184e fetch  0x00000001 , 0x000045b1 
- 00011172  0x0000184f rtn  0x00000034 
- 00011173  0x00001851 bpatch  0x000000ac , 0x00004015 
- 00011174  0x00001852 fetch  0x00000001 , 0x0000436e 
- 00011175  0x00001853 nbranch  0x00002baa , 0x00000034 
- 00011176  0x00001854 fetch  0x00000001 , 0x00004093 
- 00011177  0x00001855 rtn  0x00000034 
- 00011178  0x00001857 fetch  0x00000002 , 0x00004154 
- 00011179  0x00001858 rtn  0x00000034 
- 00011180  0x0000185a fetcht  0x00000001 , 0x00004156 
- 00011181  0x0000185b isub  0x00000002 , 0x0000003f 
- 00011182  0x0000185c arg  0x00001d4c , 0x00000002 
- 00011183  0x0000185d imul32  0x00000002 , 0x0000003f 
- 00011184  0x0000185e branch  0x00002b93 
- 00011185  0x00001861 bpatch  0x000000ad , 0x00004015 
- 00011186  0x00001862 disable  0x0000002b 
- 00011187  0x00001863 fetch  0x00000001 , 0x00000030 
- 00011188  0x00001864 rtnbit0  0x00000001 
- 00011189  0x00001865 nbranch  0x00002bd0 , 0x0000002d 
- 00011190  0x00001866 call  0x00002bcb 
- 00011191  0x00001867 fetch  0x00000002 , 0x000040c1 
- 00011192  0x00001868 store  0x00000002 , 0x0000003e 
- 00011193  0x00001869 fetch  0x00000001 , 0x00000047 
- 00011194  0x0000186a bbit1  0x00000003 , 0x00002bde 
- 00011195  0x0000186b bmark0  0x0000000d , 0x00002bde 
- 00011196  0x0000186c call  0x00005274 
- 00011197  0x0000186d nbranch  0x00002bde , 0x00000034 
- 00011198  0x0000186e fetch  0x00000001 , 0x0000455c 
- 00011199  0x0000186f bbit1  0x00000001 , 0x00002bde 
- 00011200  0x00001871 jam  0x00000000 , 0x000000a0 
- 00011201  0x00001872 bmark0  0x0000000d , 0x00002bde 
- 00011202  0x00001873 fetch  0x00000001 , 0x00004174 
- 00011203  0x00001874 branch  0x00002be2 , 0x00000034 
- 00011204  0x00001875 increase  0xffffffff , 0x0000003f 
- 00011205  0x00001876 store  0x00000001 , 0x00004174 
- 00011206  0x00001877 rtn 
- 00011207  0x0000187b arg  0x00000001 , 0x00000007 
- 00011208  0x0000187c branch  0x000060cd 
- 00011209  0x0000187f arg  0x00000001 , 0x00000007 
- 00011210  0x00001880 branch  0x000060d1 
- 00011211  0x00001885 jam  0x00000000 , 0x00004159 
- 00011212  0x00001886 fetch  0x00000003 , 0x00004169 
- 00011213  0x00001887 increase  0x00000001 , 0x0000003f 
- 00011214  0x00001888 store  0x00000003 , 0x00004169 
- 00011215  0x00001889 rtn 
- 00011216  0x0000188c bpatch  0x000000ae , 0x00004015 
- 00011217  0x0000188d fetcht  0x00000002 , 0x000040c1 
- 00011218  0x0000188e rshift  0x00000002 , 0x00000002 
- 00011219  0x0000188f fetch  0x00000002 , 0x0000003e 
- 00011220  0x00001890 iadd  0x00000002 , 0x0000003f 
- 00011221  0x00001891 store  0x00000002 , 0x0000003e 
- 00011222  0x00001893 jam  0x00000000 , 0x000000a0 
- 00011223  0x00001894 fetch  0x00000003 , 0x0000416c 
- 00011224  0x00001895 increase  0x00000001 , 0x0000003f 
- 00011225  0x00001896 store  0x00000003 , 0x0000416c 
- 00011226  0x00001897 fetch  0x00000001 , 0x00004159 
- 00011227  0x00001898 increase  0x00000001 , 0x0000003f 
- 00011228  0x00001899 store  0x00000001 , 0x00004159 
- 00011229  0x0000189a rtn 
- 00011230  0x0000189d jam  0x00000000 , 0x000000a0 
- 00011231  0x0000189e fetch  0x00000001 , 0x00004173 
- 00011232  0x0000189f store  0x00000001 , 0x00004174 
- 00011233  0x000018a0 rtn 
- 00011234  0x000018a3 fetcht  0x00000001 , 0x00004172 
- 00011235  0x000018a4 storet  0x00000001 , 0x000000a0 
- 00011236  0x000018a5 rtn 
- 00011237  0x000018a8 bpatch  0x000000af , 0x00004015 
- 00011238  0x000018a9 fetch  0x00000001 , 0x00004178 
- 00011239  0x000018aa nrtn  0x00000034 
- 00011240  0x000018ab jam  0x00000006 , 0x00008042 
- 00011241  0x000018ac setarg  0x00000f0c 
- 00011242  0x000018ad call  0x00002c18 
- 00011243  0x000018ae setarg  0x00030d40 
- 00011244  0x000018af call  0x00002a8f 
- 00011245  0x000018b0 until  0x0000003e , 0x00000033 
- 00011246  0x000018b1 copy  0x00000031 , 0x00000030 
- 00011247  0x000018b2 call  0x000029e7 
- 00011248  0x000018b3 jam  0x00000004 , 0x00008042 
- 00011249  0x000018b4 nop  0x0000000a 
- 00011250  0x000018b5 until  0x0000003e , 0x00000033 
- 00011251  0x000018b6 deposit  0x00000031 
- 00011252  0x000018b7 isub  0x00000030 , 0x0000003f 
- 00011253  0x000018b8 increase  0x00000030 , 0x0000003f 
- 00011254  0x000018b9 arg  0x000000ff , 0x00000002 
- 00011255  0x000018ba call  0x00007f91 
- 00011256  0x000018bb store  0x00000001 , 0x00004178 
- 00011257  0x000018bc nop  0x00007530 
- 00011258  0x000018bd nop  0x00007530 
- 00011259  0x000018be nop  0x00007530 
- 00011260  0x000018bf rtn 
- 00011261  0x000018c2 fetch  0x00000001 , 0x00004178 
- 00011262  0x000018c3 nrtn  0x00000034 
- 00011263  0x000018c4 jam  0x000000ff , 0x00008044 
- 00011264  0x000018c5 jam  0x00000006 , 0x00008042 
- 00011265  0x000018c6 call  0x000029e7 
- 00011266  0x000018c7 setarg  0x000003e8 
- 00011267  0x000018c8 iadd  0x00000031 , 0x00000030 
- 00011268  0x000018c9 snooze 
- 00011269  0x000018ca deposit  0x00000031 
- 00011270  0x000018cb nop  0x00002ee0 
- 00011271  0x000018cc nop  0x00002ee0 
- 00011272  0x000018cd nop  0x00002ee0 
- 00011273  0x000018ce nop  0x00002ee0 
- 00011274  0x000018cf nop  0x00002ee0 
- 00011275  0x000018d0 nop  0x00002ee0 
- 00011276  0x000018d1 nop  0x00002ee0 
- 00011277  0x000018d2 nop  0x00002ee0 
- 00011278  0x000018d3 nop  0x00002ee0 
- 00011279  0x000018d4 isub  0x00000030 , 0x0000003f 
- 00011280  0x000018d5 add  0x0000003f , 0x00000030 , 0x0000003f 
- 00011281  0x000018d6 arg  0x000000ff , 0x00000002 
- 00011282  0x000018d7 call  0x00007f91 
- 00011283  0x000018d8 store  0x00000001 , 0x00004178 
- 00011284  0x000018d9 nop  0x00007530 
- 00011285  0x000018da nop  0x00007530 
- 00011286  0x000018db nop  0x00007530 
- 00011287  0x000018dc rtn 
- 00011288  0x000018e2 arg  0x00000fff , 0x00000005 
- 00011289  0x000018e3 iand  0x00000005 , 0x00000005 
- 00011290  0x000018e4 fetch  0x00000001 , 0x00004175 
- 00011291  0x000018e5 and_into  0x000000f0 , 0x0000003f 
- 00011292  0x000018e6 lshift8  0x0000003f , 0x0000003f 
- 00011293  0x000018e7 ior  0x00000005 , 0x0000003f 
- 00011294  0x000018e8 hstore  0x00000002 , 0x0000804c 
- 00011295  0x000018e9 ifetch  0x00000002 , 0x00000006 
- 00011296  0x000018ea istore  0x00000002 , 0x00000005 
- 00011297  0x000018ed setarg  0x00000001 
- 00011298  0x000018ee branch  0x00002c24 
- 00011299  0x000018f1 setarg  0x00000002 
- 00011300  0x000018f3 until  0x0000003e , 0x00000033 
- 00011301  0x000018f4 hstore  0x00000001 , 0x00008005 
- 00011302  0x000018f5 until  0x0000003e , 0x00000033 
- 00011303  0x000018f6 until  0x0000003e , 0x00000033 
- 00011304  0x000018f7 rtn 
- 00011305  0x000018fb bpatch  0x000000b0 , 0x00004016 
- 00011306  0x000018fc fetch  0x00000004 , 0x000000a1 
- 00011307  0x000018fd hstore  0x00000004 , 0x0000804c 
- 00011308  0x000018fe setarg  0x00000004 
- 00011309  0x000018ff call  0x00002c24 
- 00011310  0x00001900 fetch  0x00000004 , 0x000000a5 
- 00011311  0x00001901 hstore  0x00000004 , 0x0000804c 
- 00011312  0x00001902 setarg  0x00000008 
- 00011313  0x00001903 branch  0x00002c24 
- 00011314  0x00001906 fetch  0x00000002 , 0x00004152 
- 00011315  0x00001907 qset1  0x0000003f 
- 00011316  0x00001908 store  0x00000002 , 0x00004152 
- 00011317  0x00001909 rtn 
- 00011318  0x0000190c fetch  0x00000002 , 0x00004152 
- 00011319  0x0000190d qset0  0x0000003f 
- 00011320  0x0000190e store  0x00000002 , 0x00004152 
- 00011321  0x0000190f rtn 
- 00011322  0x00001914 bpatch  0x000000b1 , 0x00004016 
- 00011323  0x00001915 call  0x00003326 
- 00011324  0x00001916 fetch  0x00000002 , 0x00004152 
- 00011325  0x00001917 copy  0x0000003f , 0x00000011 
- 00011326  0x00001918 fetch  0x00000001 , 0x0000004c 
- 00011327  0x00001919 isolate1  0x00000006 , 0x0000003f 
- 00011328  0x0000191a setflag  0x00000001 , 0x0000000b , 0x00000011 
- 00011329  0x0000191b fetch  0x00000001 , 0x00000078 
- 00011330  0x0000191c fetcht  0x00000001 , 0x0000007c 
- 00011331  0x0000191d iadd  0x00000002 , 0x0000003f 
- 00011332  0x0000191e fetcht  0x00000001 , 0x00000048 
- 00011333  0x0000191f iadd  0x00000002 , 0x0000003f 
- 00011334  0x00001920 nsetflag  0x00000034 , 0x0000000a , 0x00000011 
- 00011335  0x00001921 fetch  0x00000001 , 0x000044ff 
- 00011336  0x00001922 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
- 00011337  0x00001923 fetch  0x00000002 , 0x0000025d 
- 00011338  0x00001924 fetcht  0x00000002 , 0x0000025f 
- 00011339  0x00001925 iadd  0x00000002 , 0x0000003f 
- 00011340  0x00001926 nsetflag  0x00000034 , 0x0000000d , 0x00000011 
- 00011341  0x00001927 fetch  0x00000008 , 0x00004668 
- 00011342  0x00001928 nsetflag  0x00000034 , 0x0000000f , 0x00000011 
- 00011343  0x00001929 fetch  0x00000008 , 0x00004670 
- 00011344  0x0000192a nsetflag  0x00000034 , 0x0000000e , 0x00000011 
- 00011345  0x0000192b fetch  0x00000001 , 0x000041ce 
- 00011346  0x0000192c nsetflag  0x00000034 , 0x00000008 , 0x00000011 
- 00011347  0x0000192d fetch  0x00000001 , 0x00004092 
- 00011348  0x0000192e compare  0x0000000a , 0x0000003f , 0x000000ff 
- 00011349  0x0000192f call  0x00002c5b , 0x00000001 
- 00011350  0x00001930 setarg  0xfffffff8 
- 00011351  0x00001931 iand  0x00000011 , 0x00000011 
- 00011352  0x00001932 copy  0x00000011 , 0x0000003f 
- 00011353  0x00001933 store  0x00000002 , 0x00004152 
- 00011354  0x00001934 rtn 
- 00011355  0x00001937 hfetch  0x00000002 , 0x00008112 
- 00011356  0x00001938 nsetflag  0x00000034 , 0x00000006 , 0x00000011 
- 00011357  0x00001939 hfetch  0x00000002 , 0x0000810e 
- 00011358  0x0000193a nsetflag  0x00000034 , 0x00000005 , 0x00000011 
- 00011359  0x0000193b rtn 
- 00011360  0x0000193e hfetch  0x00000004 , 0x00008138 
- 00011361  0x0000193f set0  0x0000001b , 0x0000003f 
- 00011362  0x00001940 hstore  0x00000004 , 0x0000804c 
- 00011363  0x00001941 call  0x00002c21 
- 00011364  0x00001942 branch  0x00002a8c 
- 00011365  0x00001945 hfetch  0x00000004 , 0x0000813c 
- 00011366  0x00001946 set0  0x00000014 , 0x0000003f 
- 00011367  0x00001947 hstore  0x00000004 , 0x0000804c 
- 00011368  0x00001948 branch  0x00002c23 
- 00011369  0x0000194b fetch  0x00000002 , 0x00004150 
- 00011370  0x0000194c bbit1  0x00000000 , 0x00002a8c 
- 00011371  0x0000194d rtn 
- 00011372  0x0000194f fetch  0x00000002 , 0x00004150 
- 00011373  0x00001950 bbit1  0x00000001 , 0x00002a8c 
- 00011374  0x00001951 rtn 
- 00011375  0x00001953 fetch  0x00000002 , 0x00004150 
- 00011376  0x00001954 bbit1  0x00000002 , 0x00002a8c 
- 00011377  0x00001955 rtn 
- 00011378  0x00001993 bpatch  0x000000b2 , 0x00004016 
- 00011379  0x00001994 call  0x00002c7a 
- 00011380  0x00001995 add  0x00000013 , 0x000000cd , 0x00000012 
- 00011381  0x00001996 ifetch  0x00000001 , 0x00000012 
- 00011382  0x00001998 rtneq  0x00000000 
- 00011383  0x00001999 beq  0x00000001 , 0x00002d06 
- 00011384  0x0000199a beq  0x00000002 , 0x00002c7f 
- 00011385  0x0000199b rtn 
- 00011386  0x0000199e fetcht  0x00000002 , 0x00004241 
- 00011387  0x0000199f copy  0x00000002 , 0x00000013 
- 00011388  0x000019a0 rtn 
- 00011389  0x000019a3 call  0x00002f3d 
- 00011390  0x000019a4 branch  0x0000307d 
- 00011391  0x000019a7 call  0x00003084 
- 00011392  0x000019a8 call  0x0000305a 
- 00011393  0x000019a9 call  0x0000305e 
- 00011394  0x000019aa branch  0x000030a2 
- 00011395  0x000019b0 call  0x00003231 
- 00011396  0x000019b1 setarg  0x0000004e 
- 00011397  0x000019b2 call  0x0000322f 
- 00011398  0x000019b3 call  0x000032ba 
- 00011399  0x000019b6 add  0x00000013 , 0x00000092 , 0x00000011 
- 00011400  0x000019b7 ifetch  0x00000004 , 0x00000011 
- 00011401  0x000019b8 branch  0x0000322c 
- 00011402  0x000019bb call  0x00002c7a 
- 00011403  0x000019bc add  0x00000013 , 0x00000091 , 0x00000012 
- 00011404  0x000019bd ifetcht  0x00000001 , 0x00000012 
- 00011405  0x000019bf call  0x00002c90 
- 00011406  0x000019c0 add  0x00000013 , 0x00000091 , 0x00000005 
- 00011407  0x000019c2 branch  0x00002e56 
- 00011408  0x000019c5 call  0x00002c94 
- 00011409  0x000019c6 increase  0x00000001 , 0x00000002 
- 00011410  0x000019c7 and_into  0x00000003 , 0x00000002 
- 00011411  0x000019c8 rtn 
- 00011412  0x000019cb add  0x00000013 , 0x000000ae , 0x00000012 
- 00011413  0x000019cc ifetch  0x00000001 , 0x00000012 
- 00011414  0x000019ce and_into  0x00000003 , 0x0000003f 
- 00011415  0x000019cf mul32  0x0000003f , 0x00000004 , 0x00000011 
- 00011416  0x000019d0 add  0x00000013 , 0x00000097 , 0x0000003f 
- 00011417  0x000019d2 iadd  0x00000011 , 0x0000003f 
- 00011418  0x000019d3 iadd  0x00000002 , 0x00000006 
- 00011419  0x000019d4 ifetch  0x00000001 , 0x00000006 
- 00011420  0x000019d6 branch  0x0000322f 
- 00011421  0x000019d9 call  0x0000326c 
- 00011422  0x000019da call  0x0000666a 
- 00011423  0x000019db setarg  0x000007e2 
- 00011424  0x000019dc arg  0x00000aa2 , 0x00000011 
- 00011425  0x000019dd arg  0x00000004 , 0x00000002 
- 00011426  0x000019de call  0x000066b3 
- 00011427  0x000019df call  0x0000666d 
- 00011428  0x000019e0 fetch  0x00000004 , 0x00000aa2 
- 00011429  0x000019e1 call  0x00003227 
- 00011430  0x000019e3 nrtn  0x00000034 
- 00011431  0x000019e4 fetch  0x00000004 , 0x000040a0 
- 00011432  0x000019e6 branch  0x00003227 
- 00011433  0x000019e9 call  0x00003241 
- 00011434  0x000019eb setarg  0x00000000 
- 00011435  0x000019ec call  0x0000323f 
- 00011436  0x000019ef call  0x0000323a 
- 00011437  0x000019f1 and_into  0x00000007 , 0x0000003f 
- 00011438  0x000019f3 branch  0x0000323c 
- 00011439  0x000019f6 call  0x0000323a 
- 00011440  0x000019f8 set1  0x00000004 , 0x0000003f 
- 00011441  0x000019f9 call  0x0000323c 
- 00011442  0x000019fc branch  0x00003235 
- 00011443  0x000019ff call  0x0000325d 
- 00011444  0x00001a01 beq  0x00000001 , 0x00002cb7 
- 00011445  0x00001a02 beq  0x00000002 , 0x00002cbc 
- 00011446  0x00001a03 rtn 
- 00011447  0x00001a06 call  0x0000323e 
- 00011448  0x00001a09 add  0x00000013 , 0x000000d1 , 0x00000005 
- 00011449  0x00001a0a call  0x000032d6 
- 00011450  0x00001a0c call  0x00003242 
- 00011451  0x00001a0e branch  0x00002cac 
- 00011452  0x00001a11 call  0x0000325a 
- 00011453  0x00001a13 branch  0x00002cb8 
- 00011454  0x00001a16 add  0x00000013 , 0x0000008c , 0x00000011 
- 00011455  0x00001a17 ifetch  0x00000001 , 0x00000011 
- 00011456  0x00001a19 increase  0x00000001 , 0x0000003f 
- 00011457  0x00001a1a add  0x00000013 , 0x0000008c , 0x00000005 
- 00011458  0x00001a1b istore  0x00000001 , 0x00000005 
- 00011459  0x00001a1d beq  0x00000020 , 0x00002dd2 
- 00011460  0x00001a1e call  0x00003258 
- 00011461  0x00001a20 beq  0x00000001 , 0x00002cca 
- 00011462  0x00001a21 setarg  0x00000001 
- 00011463  0x00001a22 call  0x0000325b 
- 00011464  0x00001a25 call  0x00003258 
- 00011465  0x00001a27 bne  0x00000001 , 0x00002cac 
- 00011466  0x00001a29 add  0x00000013 , 0x000000d3 , 0x00000011 
- 00011467  0x00001a2a ifetch  0x00000001 , 0x00000011 
- 00011468  0x00001a2c increase  0x00000001 , 0x0000003f 
- 00011469  0x00001a2d call  0x00002cd5 
- 00011470  0x00001a2f beq  0x00000004 , 0x00002cd2 
- 00011471  0x00001a30 call  0x00002c8a 
- 00011472  0x00001a31 call  0x00002d04 
- 00011473  0x00001a33 branch  0x00002d8f 
- 00011474  0x00001a36 call  0x00002cd4 
- 00011475  0x00001a38 branch  0x00002cac 
- 00011476  0x00001a3b setarg  0x00000000 
- 00011477  0x00001a3d add  0x00000013 , 0x000000d3 , 0x00000005 
- 00011478  0x00001a3e branch  0x000032b4 
- 00011479  0x00001a41 call  0x0000323e 
- 00011480  0x00001a44 call  0x0000325a 
- 00011481  0x00001a46 call  0x00003241 
- 00011482  0x00001a48 branch  0x00002cac 
- 00011483  0x00001a4b call  0x0000325d 
- 00011484  0x00001a4d beq  0x00000003 , 0x00002cd8 
- 00011485  0x00001a4e call  0x0000323a 
- 00011486  0x00001a50 isolate0  0x00000004 , 0x0000003f 
- 00011487  0x00001a51 branch  0x00002ca9 , 0x00000001 
- 00011488  0x00001a52 call  0x0000325d 
- 00011489  0x00001a54 beq  0x00000001 , 0x00002cd7 
- 00011490  0x00001a55 beq  0x00000002 , 0x00002cd8 
- 00011491  0x00001a56 rtn 
- 00011492  0x00001a59 call  0x00003253 
- 00011493  0x00001a5b rtnne  0x000000ff 
- 00011494  0x00001a5c call  0x00002ce9 
- 00011495  0x00001a5d ncall  0x00002cf4 , 0x0000002c 
- 00011496  0x00001a5e rtn 
- 00011497  0x00001a61 disable  0x0000002c 
- 00011498  0x00001a62 add  0x00000013 , 0x000000ce , 0x00000011 
- 00011499  0x00001a63 ifetch  0x00000001 , 0x00000011 
- 00011500  0x00001a65 rtnne  0x00000001 
- 00011501  0x00001a66 add  0x00000013 , 0x000000d0 , 0x00000011 
- 00011502  0x00001a67 ifetch  0x00000001 , 0x00000011 
- 00011503  0x00001a69 rtnne  0x00000000 
- 00011504  0x00001a6a setarg  0x00000001 
- 00011505  0x00001a6b call  0x00002cfd 
- 00011506  0x00001a6d call  0x00003237 
- 00011507  0x00001a6f branch  0x00007feb 
- 00011508  0x00001a72 add  0x00000013 , 0x000000d0 , 0x00000011 
- 00011509  0x00001a73 ifetch  0x00000001 , 0x00000011 
- 00011510  0x00001a75 branch  0x00002cff , 0x00000034 
- 00011511  0x00001a76 increase  0xffffffff , 0x0000003f 
- 00011512  0x00001a77 call  0x0000323f 
- 00011513  0x00001a79 setarg  0x00000002 
- 00011514  0x00001a7a call  0x00002cfd 
- 00011515  0x00001a7c call  0x00002c8a 
- 00011516  0x00001a7e branch  0x00003237 
- 00011517  0x00001a81 add  0x00000013 , 0x000000d2 , 0x00000005 
- 00011518  0x00001a82 branch  0x000032b4 
- 00011519  0x00001a86 setarg  0x00000003 
- 00011520  0x00001a87 call  0x00002cfd 
- 00011521  0x00001a89 call  0x00003258 
- 00011522  0x00001a8b nbranch  0x00002cc8 , 0x00000034 
- 00011523  0x00001a8c call  0x00002c8a 
- 00011524  0x00001a8f setarg  0x00000002 
- 00011525  0x00001a90 branch  0x00003238 
- 00011526  0x00001a93 rtnmark0  0x00000026 
- 00011527  0x00001a94 set1  0x00000027 , 0x00000000 
- 00011528  0x00001a95 bpatch  0x000000b3 , 0x00004016 
- 00011529  0x00001a96 add  0x00000013 , 0x0000008e , 0x00000011 
- 00011530  0x00001a97 ifetch  0x00000001 , 0x00000011 
- 00011531  0x00001a99 beq  0x00000001 , 0x00002d0f 
- 00011532  0x00001a9a call  0x0000306a 
- 00011533  0x00001a9b nbranch  0x00002d16 , 0x00000028 
- 00011534  0x00001a9c call  0x00002d1b 
- 00011535  0x00001a9e add  0x00000013 , 0x0000008e , 0x00000005 
- 00011536  0x00001a9f call  0x000032d6 
- 00011537  0x00001aa1 call  0x00002d2c 
- 00011538  0x00001aa2 nbranch  0x00002d7d , 0x00000028 
- 00011539  0x00001aa3 call  0x00002ce4 
- 00011540  0x00001aa5 call  0x00002d8f 
- 00011541  0x00001aa6 call  0x00002e7a 
- 00011542  0x00001aa8 set0  0x00000027 , 0x00000000 
- 00011543  0x00001aa9 rtn 
- 00011544  0x00001aac rtn  0x00000005 
- 00011545  0x00001aad set1  0x0000001c , 0x0000003f 
- 00011546  0x00001aae rtn 
- 00011547  0x00001ab1 add  0x00000013 , 0x000000c2 , 0x00000011 
- 00011548  0x00001ab2 ifetch  0x00000001 , 0x00000011 
- 00011549  0x00001ab4 increase  0x00000001 , 0x0000003f 
- 00011550  0x00001ab5 add  0x00000013 , 0x000000c2 , 0x00000005 
- 00011551  0x00001ab6 istore  0x00000001 , 0x00000005 
- 00011552  0x00001ab8 beq  0x00000004 , 0x00002d23 
- 00011553  0x00001ab9 beq  0x00000005 , 0x00002d27 
- 00011554  0x00001aba rtn 
- 00011555  0x00001abc add  0x00000013 , 0x000000ad , 0x00000011 
- 00011556  0x00001abd ifetch  0x00000001 , 0x00000011 
- 00011557  0x00001ac1 add  0x00000013 , 0x000000ab , 0x00000005 
- 00011558  0x00001ac2 branch  0x000032b4 
- 00011559  0x00001ac5 add  0x00000013 , 0x000000c2 , 0x00000005 
- 00011560  0x00001ac6 call  0x000032d6 
- 00011561  0x00001ac8 add  0x00000013 , 0x000000ac , 0x00000011 
- 00011562  0x00001ac9 ifetch  0x00000001 , 0x00000011 
- 00011563  0x00001acb branch  0x00002d25 
- 00011564  0x00001ace call  0x00003253 
- 00011565  0x00001ad0 bne  0x000000ff , 0x00002eb1 
- 00011566  0x00001ad1 bpatch  0x000000b4 , 0x00004016 
- 00011567  0x00001ad2 call  0x00002d3a 
- 00011568  0x00001ad3 nbranch  0x00002d36 , 0x00000028 
- 00011569  0x00001ad4 call  0x00002d53 
- 00011570  0x00001ad5 call  0x00002e71 
- 00011571  0x00001ad8 setarg  0x00000001 
- 00011572  0x00001ada add  0x00000013 , 0x0000008b , 0x00000005 
- 00011573  0x00001adb branch  0x000032b4 
- 00011574  0x00001ade add  0x00000013 , 0x0000008b , 0x00000011 
- 00011575  0x00001adf ifetch  0x00000001 , 0x00000011 
- 00011576  0x00001ae1 beq  0x00000001 , 0x00007fe7 
- 00011577  0x00001ae2 rtn 
- 00011578  0x00001ae6 add  0x00000013 , 0x000000d8 , 0x00000002 
- 00011579  0x00001ae7 ifetch  0x00000002 , 0x00000002 
- 00011580  0x00001ae9 call  0x00007f9c 
- 00011581  0x00001aea nrtn  0x00000028 
- 00011582  0x00001aeb copy  0x00000011 , 0x0000003f 
- 00011583  0x00001aec store  0x00000001 , 0x00000aae 
- 00011584  0x00001aed add  0x00000013 , 0x000000b2 , 0x00000005 
- 00011585  0x00001aee call  0x000032d6 
- 00011586  0x00001af0 call  0x00002cac 
- 00011587  0x00001af1 store  0x00000001 , 0x0000119e 
- 00011588  0x00001af2 fetch  0x00000001 , 0x00000aae 
- 00011589  0x00001af3 copy  0x0000003f , 0x00000011 
- 00011590  0x00001af4 add  0x00000011 , 0x00000001 , 0x00000002 
- 00011591  0x00001af5 arg  0x0000119f , 0x00000005 
- 00011592  0x00001af6 copy  0x00000011 , 0x00000039 
- 00011593  0x00001af7 copy  0x00000012 , 0x00000006 
- 00011594  0x00001af8 call  0x00007f01 
- 00011595  0x00001af9 arg  0x0000119e , 0x00000011 
- 00011596  0x00001afb rtnmark0  0x00000027 
- 00011597  0x00001afc add  0x00000013 , 0x00000086 , 0x00000005 
- 00011598  0x00001afd istoret  0x00000001 , 0x00000005 
- 00011599  0x00001aff copy  0x00000002 , 0x00000039 
- 00011600  0x00001b00 add  0x00000013 , 0x00000022 , 0x00000005 
- 00011601  0x00001b02 copy  0x00000011 , 0x00000006 
- 00011602  0x00001b03 branch  0x00007f01 
- 00011603  0x00001b07 add  0x00000013 , 0x00000086 , 0x00000011 
- 00011604  0x00001b08 ifetch  0x00000001 , 0x00000011 
- 00011605  0x00001b0a increase  0x00000002 , 0x0000003f 
- 00011606  0x00001b0b add  0x00000013 , 0x00000088 , 0x00000005 
- 00011607  0x00001b0c istore  0x00000001 , 0x00000005 
- 00011608  0x00001b0f call  0x0000323a 
- 00011609  0x00001b11 call  0x00003235 
- 00011610  0x00001b14 add  0x00000013 , 0x00000086 , 0x00000011 
- 00011611  0x00001b15 ifetch  0x00000001 , 0x00000011 
- 00011612  0x00001b17 lshift3  0x0000003f , 0x0000003f 
- 00011613  0x00001b18 add  0x00000013 , 0x00000085 , 0x00000011 
- 00011614  0x00001b19 ifetcht  0x00000001 , 0x00000011 
- 00011615  0x00001b1b and  0x00000002 , 0x00000003 , 0x00000002 
- 00011616  0x00001b1c lshift  0x00000002 , 0x00000002 
- 00011617  0x00001b1d ior  0x00000002 , 0x0000003f 
- 00011618  0x00001b1e add  0x00000013 , 0x000000c3 , 0x00000011 
- 00011619  0x00001b1f ifetcht  0x00000001 , 0x00000011 
- 00011620  0x00001b21 iadd  0x00000002 , 0x0000003f 
- 00011621  0x00001b22 istore  0x00000001 , 0x00000005 
- 00011622  0x00001b24 add  0x00000013 , 0x00000086 , 0x00000011 
- 00011623  0x00001b25 ifetch  0x00000001 , 0x00000011 
- 00011624  0x00001b27 iforce  0x00000039 
- 00011625  0x00001b28 add  0x00000013 , 0x00000022 , 0x00000006 
- 00011626  0x00001b2a branch  0x00007f01 
- 00011627  0x00001b2d call  0x0000324f 
- 00011628  0x00001b2f call  0x0000325a 
- 00011629  0x00001b31 call  0x00002e6d 
- 00011630  0x00001b32 call  0x00002cac 
- 00011631  0x00001b33 store  0x00000001 , 0x0000119e 
- 00011632  0x00001b34 call  0x00002d77 
- 00011633  0x00001b35 call  0x0000323a 
- 00011634  0x00001b37 set1  0x00000003 , 0x0000003f 
- 00011635  0x00001b38 call  0x0000323c 
- 00011636  0x00001b3a call  0x00002d53 
- 00011637  0x00001b3b call  0x00002d33 
- 00011638  0x00001b3c branch  0x00002d14 
- 00011639  0x00001b3f store  0x00000001 , 0x0000119f 
- 00011640  0x00001b40 call  0x00003224 
- 00011641  0x00001b42 store  0x00000004 , 0x000011a0 
- 00011642  0x00001b43 arg  0x00000006 , 0x00000002 
- 00011643  0x00001b44 arg  0x0000119e , 0x00000011 
- 00011644  0x00001b45 branch  0x00002d4c 
- 00011645  0x00001b48 add  0x00000013 , 0x000000b2 , 0x00000011 
- 00011646  0x00001b49 ifetch  0x00000001 , 0x00000011 
- 00011647  0x00001b4b branch  0x00002d6b , 0x00000034 
- 00011648  0x00001b4e add  0x00000013 , 0x000000da , 0x00000011 
- 00011649  0x00001b4f ifetch  0x00000002 , 0x00000011 
- 00011650  0x00001b51 branch  0x00007f9c 
- 00011651  0x00001b54 call  0x00002c7a 
- 00011652  0x00001b56 call  0x00002afa 
- 00011653  0x00001b57 fetch  0x00000003 , 0x0000416f 
- 00011654  0x00001b58 rtn  0x00000034 
- 00011655  0x00001b59 add  0x00000013 , 0x000000dc , 0x00000002 
- 00011656  0x00001b5a ifetch  0x00000002 , 0x00000002 
- 00011657  0x00001b5c call  0x00007f9c 
- 00011658  0x00001b5d add  0x00000013 , 0x000000b6 , 0x00000002 
- 00011659  0x00001b5e ifetch  0x00000008 , 0x00000002 
- 00011660  0x00001b5f call  0x00007f49 
- 00011661  0x00001b60 storet  0x00000004 , 0x0000415b 
- 00011662  0x00001b61 branch  0x00002b2a 
- 00011663  0x00001b64 call  0x00002c7a 
- 00011664  0x00001b65 add  0x00000013 , 0x0000008f , 0x00000005 
- 00011665  0x00001b66 call  0x000032d6 
- 00011666  0x00001b69 call  0x00002da4 
- 00011667  0x00001b6a nbranch  0x00002dae , 0x00000018 
- 00011668  0x00001b6b nbranch  0x00002dae , 0x0000002f 
- 00011669  0x00001b6c call  0x00002dd6 
- 00011670  0x00001b6d call  0x00002e75 
- 00011671  0x00001b6f call  0x00002c7a 
- 00011672  0x00001b70 add  0x00000013 , 0x00000085 , 0x00000011 
- 00011673  0x00001b71 ifetch  0x00000001 , 0x00000011 
- 00011674  0x00001b73 increase  0x00000001 , 0x0000003f 
- 00011675  0x00001b74 call  0x00003232 
- 00011676  0x00001b76 call  0x00003253 
- 00011677  0x00001b78 bne  0x000000ff , 0x00002ed0 
- 00011678  0x00001b79 call  0x00002cdb 
- 00011679  0x00001b7b setarg  0x00000000 
- 00011680  0x00001b7c add  0x00000013 , 0x0000008c , 0x00000005 
- 00011681  0x00001b7d istore  0x00000002 , 0x00000005 
- 00011682  0x00001b81 setarg  0x00000000 
- 00011683  0x00001b82 branch  0x00002d34 
- 00011684  0x00001b86 disable  0x0000002f 
- 00011685  0x00001b87 call  0x00002df7 
- 00011686  0x00001b88 call  0x00002c7a 
- 00011687  0x00001b89 add  0x00000013 , 0x000000c3 , 0x00000011 
- 00011688  0x00001b8a ifetch  0x00000001 , 0x00000011 
- 00011689  0x00001b8c beq  0x00000001 , 0x00002dac 
- 00011690  0x00001b8d call  0x00002e11 
- 00011691  0x00001b8e branch  0x00002e45 
- 00011692  0x00001b90 call  0x00002e45 
- 00011693  0x00001b91 branch  0x00002d97 
- 00011694  0x00001b95 bpatch  0x000000b5 , 0x00004016 
- 00011695  0x00001b96 add  0x00000013 , 0x0000008d , 0x00000011 
- 00011696  0x00001b97 ifetch  0x00000001 , 0x00000011 
- 00011697  0x00001b99 increase  0x00000001 , 0x0000003f 
- 00011698  0x00001b9a add  0x00000013 , 0x0000008d , 0x00000005 
- 00011699  0x00001b9b istore  0x00000001 , 0x00000005 
- 00011700  0x00001b9d call  0x00003253 
- 00011701  0x00001b9f bne  0x000000ff , 0x00002dcc 
- 00011702  0x00001ba0 add  0x00000013 , 0x0000008f , 0x00000011 
- 00011703  0x00001ba1 ifetcht  0x00000001 , 0x00000011 
- 00011704  0x00001ba3 increase  0x00000001 , 0x00000002 
- 00011705  0x00001ba4 add  0x00000013 , 0x0000008f , 0x00000005 
- 00011706  0x00001ba5 istoret  0x00000001 , 0x00000005 
- 00011707  0x00001ba7 add  0x00000013 , 0x000000cc , 0x00000011 
- 00011708  0x00001ba8 ifetch  0x00000001 , 0x00000011 
- 00011709  0x00001baa isub  0x00000002 , 0x0000003f 
- 00011710  0x00001bab nbranch  0x00002d92 , 0x00000034 
- 00011711  0x00001bac bpatch  0x000000b6 , 0x00004016 
- 00011712  0x00001bad call  0x0000325d 
- 00011713  0x00001baf beq  0x00000003 , 0x00002cbe 
- 00011714  0x00001bb0 add  0x00000013 , 0x000000d1 , 0x00000011 
- 00011715  0x00001bb1 ifetch  0x00000001 , 0x00000011 
- 00011716  0x00001bb3 increase  0x00000001 , 0x0000003f 
- 00011717  0x00001bb4 add  0x00000013 , 0x000000d1 , 0x00000005 
- 00011718  0x00001bb5 istore  0x00000001 , 0x00000005 
- 00011719  0x00001bb7 beq  0x00000002 , 0x00002cb3 
- 00011720  0x00001bb8 call  0x00002caf 
- 00011721  0x00001bb9 setarg  0x00000001 
- 00011722  0x00001bba call  0x00003238 
- 00011723  0x00001bbc branch  0x00002d8f 
- 00011724  0x00001bbf add  0x00000013 , 0x0000008d , 0x00000011 
- 00011725  0x00001bc0 ifetch  0x00000001 , 0x00000011 
- 00011726  0x00001bc2 rtnne  0x000000ff 
- 00011727  0x00001bc3 add  0x00000013 , 0x0000008d , 0x00000005 
- 00011728  0x00001bc4 call  0x000032d6 
- 00011729  0x00001bc6 branch  0x00002dd4 
- 00011730  0x00001bc9 add  0x00000013 , 0x0000008c , 0x00000005 
- 00011731  0x00001bca call  0x000032d6 
- 00011732  0x00001bcd jam  0x0000003a , 0x00000a99 
- 00011733  0x00001bce branch  0x00007d86 
- 00011734  0x00001bd1 call  0x00002dde 
- 00011735  0x00001bd2 add  0x00000013 , 0x00000084 , 0x00000011 
- 00011736  0x00001bd3 ifetch  0x00000001 , 0x00000011 
- 00011737  0x00001bd5 rtn  0x00000034 
- 00011738  0x00001bd6 iforce  0x00000039 
- 00011739  0x00001bd7 add  0x00000013 , 0x00000002 , 0x00000006 
- 00011740  0x00001bd9 add  0x00000013 , 0x00000064 , 0x00000005 
- 00011741  0x00001bdb branch  0x00007f01 
- 00011742  0x00001be0 call  0x0000325f 
- 00011743  0x00001be2 rshift3  0x0000003f , 0x0000003f 
- 00011744  0x00001be3 add  0x00000013 , 0x00000084 , 0x00000005 
- 00011745  0x00001be4 istore  0x00000001 , 0x00000005 
- 00011746  0x00001be7 increase  0x00000001 , 0x0000003f 
- 00011747  0x00001be8 add  0x00000013 , 0x00000001 , 0x00000006 
- 00011748  0x00001bea iadd  0x00000006 , 0x00000006 
- 00011749  0x00001beb ifetch  0x00000003 , 0x00000006 
- 00011750  0x00001bec add  0x00000013 , 0x000000c4 , 0x00000005 
- 00011751  0x00001bed istore  0x00000003 , 0x00000005 
- 00011752  0x00001bf0 call  0x0000325f 
- 00011753  0x00001bf2 rshift  0x0000003f , 0x0000003f 
- 00011754  0x00001bf3 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00011755  0x00001bf4 add  0x00000013 , 0x000000ca , 0x00000005 
- 00011756  0x00001bf5 istore  0x00000001 , 0x00000005 
- 00011757  0x00001bf7 rtn 
- 00011758  0x00001bfa disable  0x00000009 
- 00011759  0x00001bfb disable  0x00000007 
- 00011760  0x00001bfc setarg  0x00555555 
- 00011761  0x00001bfd iforce  0x0000000f 
- 00011762  0x00001bfe rtn 
- 00011763  0x00001c01 call  0x00002918 
- 00011764  0x00001c02 add  0x00000013 , 0x00000090 , 0x00000011 
- 00011765  0x00001c03 ifetcht  0x00000001 , 0x00000011 
- 00011766  0x00001c05 branch  0x00002933 
- 00011767  0x00001c08 call  0x00002dee 
- 00011768  0x00001c09 call  0x00002df3 
- 00011769  0x00001c0a set1  0x00000000 , 0x00000015 
- 00011770  0x00001c0b enable  0x0000001d 
- 00011771  0x00001c0c enable  0x00000020 
- 00011772  0x00001c0d disable  0x00000021 
- 00011773  0x00001c0e call  0x000053c4 
- 00011774  0x00001c0f call  0x0000322a 
- 00011775  0x00001c11 iforce  0x00000009 
- 00011776  0x00001c12 inject  0x00000003 , 0x00000020 
- 00011777  0x00001c13 enable  0x00000009 
- 00011778  0x00001c14 add  0x00000013 , 0x00000088 , 0x00000011 
- 00011779  0x00001c15 ifetch  0x00000001 , 0x00000011 
- 00011780  0x00001c17 iforce  0x00000039 
- 00011781  0x00001c18 add  0x00000013 , 0x00000042 , 0x00000006 
- 00011782  0x00001c1b ifetch  0x00000001 , 0x00000006 
- 00011783  0x00001c1c inject  0x00000003 , 0x00000008 
- 00011784  0x00001c1d loop  0x00002e06 
- 00011785  0x00001c1e enable  0x00000008 
- 00011786  0x00001c1f inject  0x00000003 , 0x00000018 
- 00011787  0x00001c20 disable  0x00000008 
- 00011788  0x00001c21 until  0x0000003e , 0x00000027 
- 00011789  0x00001c22 bpatch  0x000000b7 , 0x00004016 
- 00011790  0x00001c23 nop  0x00000064 
- 00011791  0x00001c24 disable  0x0000001d 
- 00011792  0x00001c25 rtn 
- 00011793  0x00001c28 disable  0x0000002f 
- 00011794  0x00001c29 force  0x00000000 , 0x00000015 
- 00011795  0x00001c2a add  0x00000013 , 0x00000090 , 0x00000011 
- 00011796  0x00001c2b ifetcht  0x00000001 , 0x00000011 
- 00011797  0x00001c2d call  0x0000291f 
- 00011798  0x00001c2e call  0x00002924 
- 00011799  0x00001c30 call  0x00002dee 
- 00011800  0x00001c31 enable  0x0000000d 
- 00011801  0x00001c32 enable  0x00000021 
- 00011802  0x00001c33 disable  0x00000020 
- 00011803  0x00001c34 call  0x000053c4 
- 00011804  0x00001c35 call  0x0000322a 
- 00011805  0x00001c37 iforce  0x00000009 
- 00011806  0x00001c38 enable  0x00000010 
- 00011807  0x00001c39 add  0x00000013 , 0x00000089 , 0x00000011 
- 00011808  0x00001c3a ifetch  0x00000002 , 0x00000011 
- 00011809  0x00001c3c iforce  0x0000001b 
- 00011810  0x00001c3d correlate  0x0000003e , 0x00000003 
- 00011811  0x00001c3e nbranch  0x00002e4d , 0x00000018 
- 00011812  0x00001c3f enable  0x00000009 
- 00011813  0x00001c40 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00011814  0x00001c41 rshift3  0x0000000c , 0x0000003f 
- 00011815  0x00001c42 add  0x00000013 , 0x00000000 , 0x00000005 
- 00011816  0x00001c43 istore  0x00000001 , 0x00000005 
- 00011817  0x00001c45 add  0x00000013 , 0x000000cd , 0x00000011 
- 00011818  0x00001c46 ifetch  0x00000001 , 0x00000011 
- 00011819  0x00001c48 beq  0x00000002 , 0x00002e33 
- 00011820  0x00001c49 bpatch  0x000000b8 , 0x00004017 
- 00011821  0x00001c4a add  0x00000013 , 0x00000000 , 0x00000011 
- 00011822  0x00001c4b ifetch  0x00000001 , 0x00000011 
- 00011823  0x00001c4d add  0x00000013 , 0x00000087 , 0x00000011 
- 00011824  0x00001c4e ifetcht  0x00000001 , 0x00000011 
- 00011825  0x00001c50 icompare  0x00000007 , 0x00000002 
- 00011826  0x00001c51 nbranch  0x00002e45 , 0x00000001 
- 00011827  0x00001c53 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00011828  0x00001c54 rshift3  0x0000000c , 0x0000003f 
- 00011829  0x00001c55 istore  0x00000001 , 0x00000005 
- 00011830  0x00001c56 rshift3  0x0000003f , 0x0000003f 
- 00011831  0x00001c57 and  0x0000003f , 0x0000001f , 0x00000039 
- 00011832  0x00001c58 branch  0x00002e3d , 0x00000005 
- 00011833  0x00001c5a parse  0x00000003 , 0x00000000 , 0x00000008 
- 00011834  0x00001c5b rshift3  0x0000000c , 0x0000003f 
- 00011835  0x00001c5c istore  0x00000001 , 0x00000005 
- 00011836  0x00001c5d loop  0x00002e39 
- 00011837  0x00001c5f parse  0x00000003 , 0x00000000 , 0x00000018 
- 00011838  0x00001c60 rshift32  0x0000003f , 0x0000003f 
- 00011839  0x00001c61 rshift16  0x0000003f , 0x0000003f 
- 00011840  0x00001c62 istore  0x00000003 , 0x00000005 
- 00011841  0x00001c63 branch  0x00002e45 , 0x00000006 
- 00011842  0x00001c64 enable  0x0000002f 
- 00011843  0x00001c65 disable  0x0000000d 
- 00011844  0x00001c66 rtn 
- 00011845  0x00001c6a disable  0x0000001d 
- 00011846  0x00001c6b disable  0x0000000d 
- 00011847  0x00001c6c disable  0x00000009 
- 00011848  0x00001c6d disable  0x00000007 
- 00011849  0x00001c6e branch  0x000028f9 , 0x00000021 
- 00011850  0x00001c6f until  0x0000003e , 0x00000027 
- 00011851  0x00001c70 nop  0x00000064 
- 00011852  0x00001c71 branch  0x000028f9 
- 00011853  0x00001c74 call  0x00002e4f 
- 00011854  0x00001c75 branch  0x00002e45 
- 00011855  0x00001c78 call  0x000029bb 
- 00011856  0x00001c79 rtn  0x00000034 
- 00011857  0x00001c7a add  0x00000013 , 0x000000ea , 0x00000011 
- 00011858  0x00001c7b ifetcht  0x00000001 , 0x00000011 
- 00011859  0x00001c7d arg  0x00000d9e , 0x00000011 
- 00011860  0x00001c7f call  0x00002e58 
- 00011861  0x00001c80 add  0x00000013 , 0x000000ea , 0x00000005 
- 00011862  0x00001c83 istoret  0x00000001 , 0x00000005 
- 00011863  0x00001c84 rtn 
- 00011864  0x00001c87 arg  0x000000ff , 0x00000012 
- 00011865  0x00001c88 branch  0x00002e5a 
- 00011866  0x00001c9b copy  0x00000011 , 0x0000003f 
- 00011867  0x00001c9c iadd  0x00000002 , 0x00000005 
- 00011868  0x00001c9d fetch  0x00000001 , 0x00000018 
- 00011869  0x00001c9e istore  0x00000001 , 0x00000005 
- 00011870  0x00001c9f increase  0x00000001 , 0x00000002 
- 00011871  0x00001ca0 copy  0x00000012 , 0x0000003f 
- 00011872  0x00001ca1 iand_into  0x00000002 
- 00011873  0x00001ca2 rtn 
- 00011874  0x00001ca5 arg  0x00000000 , 0x00000002 
- 00011875  0x00001ca6 copy  0x00000011 , 0x00000006 
- 00011876  0x00001ca8 ifetch  0x00000001 , 0x00000006 
- 00011877  0x00001ca9 iadd  0x00000002 , 0x00000002 
- 00011878  0x00001caa loop  0x00002e64 
- 00011879  0x00001cab rshift8  0x00000002 , 0x00000002 
- 00011880  0x00001cac rtn 
- 00011881  0x00001caf call  0x00002c7a 
- 00011882  0x00001cb0 call  0x00002e9f 
- 00011883  0x00001cb1 setarg  0x00000001 
- 00011884  0x00001cb2 call  0x00003272 
- 00011885  0x00001cb5 setarg  0x00000000 
- 00011886  0x00001cb6 call  0x00002e73 
- 00011887  0x00001cb8 istore  0x00000001 , 0x00000005 
- 00011888  0x00001cba rtn 
- 00011889  0x00001cbd call  0x00003270 
- 00011890  0x00001cbf increase  0x00000001 , 0x0000003f 
- 00011891  0x00001cc2 add  0x00000013 , 0x000000fc , 0x00000005 
- 00011892  0x00001cc3 branch  0x000032b4 
- 00011893  0x00001cc8 add  0x00000013 , 0x000000fd , 0x00000011 
- 00011894  0x00001cc9 ifetch  0x00000001 , 0x00000011 
- 00011895  0x00001cca increase  0x00000001 , 0x0000003f 
- 00011896  0x00001ccb add  0x00000013 , 0x000000fd , 0x00000005 
- 00011897  0x00001ccc branch  0x000032b4 
- 00011898  0x00001ccf bpatch  0x000000b9 , 0x00004017 
- 00011899  0x00001cd0 call  0x00003270 
- 00011900  0x00001cd2 sub  0x0000003f , 0x0000007c , 0x0000003e 
- 00011901  0x00001cd3 rtn  0x00000002 
- 00011902  0x00001cd4 add  0x00000013 , 0x000000fd , 0x00000011 
- 00011903  0x00001cd5 ifetcht  0x00000001 , 0x00000011 
- 00011904  0x00001cd7 isub  0x00000002 , 0x00000002 
- 00011905  0x00001cd8 call  0x00002e6d 
- 00011906  0x00001cd9 setarg  0x00000102 
- 00011907  0x00001cda iadd  0x00000013 , 0x00000011 
- 00011908  0x00001cdb ifetch  0x00000001 , 0x00000011 
- 00011909  0x00001cdd isub  0x00000002 , 0x0000003e 
- 00011910  0x00001cde nbranch  0x00002e8d , 0x00000002 
- 00011911  0x00001cdf setarg  0x00000103 
- 00011912  0x00001ce0 iadd  0x00000013 , 0x00000011 
- 00011913  0x00001ce1 ifetch  0x00000001 , 0x00000011 
- 00011914  0x00001ce3 isub  0x00000002 , 0x0000003e 
- 00011915  0x00001ce4 branch  0x00002e99 , 0x00000002 
- 00011916  0x00001ce5 rtn 
- 00011917  0x00001ce8 add  0x00000013 , 0x000000fe , 0x00000011 
- 00011918  0x00001ce9 ifetch  0x00000001 , 0x00000011 
- 00011919  0x00001ceb beq  0x00000002 , 0x00002e93 
- 00011920  0x00001cec increase  0x00000001 , 0x0000003f 
- 00011921  0x00001ced call  0x00003272 
- 00011922  0x00001cef beq  0x00000001 , 0x00002e9f 
- 00011923  0x00001cf1 setarg  0x0000000a 
- 00011924  0x00001cf2 call  0x000032b0 
- 00011925  0x00001cf4 setarg  0x00000000 
- 00011926  0x00001cf5 call  0x000032b2 
- 00011927  0x00001cf8 add  0x00000013 , 0x000000ff , 0x00000011 
- 00011928  0x00001cfa branch  0x00002ea5 
- 00011929  0x00001cfd add  0x00000013 , 0x000000fe , 0x00000011 
- 00011930  0x00001cfe ifetch  0x00000001 , 0x00000011 
- 00011931  0x00001d00 beq  0x00000000 , 0x00002ea7 
- 00011932  0x00001d01 increase  0xffffffff , 0x0000003f 
- 00011933  0x00001d02 call  0x00003272 
- 00011934  0x00001d04 beq  0x00000000 , 0x00002ea7 
- 00011935  0x00001d09 setarg  0x00000005 
- 00011936  0x00001d0a call  0x000032b0 
- 00011937  0x00001d0c setarg  0x00000000 
- 00011938  0x00001d0d call  0x000032b2 
- 00011939  0x00001d10 setarg  0x00000100 
- 00011940  0x00001d12 iadd  0x00000013 , 0x00000011 
- 00011941  0x00001d14 ifetch  0x00000001 , 0x00000011 
- 00011942  0x00001d16 branch  0x0000326a 
- 00011943  0x00001d1b setarg  0x00000002 
- 00011944  0x00001d1c call  0x000032b0 
- 00011945  0x00001d1e setarg  0x00000000 
- 00011946  0x00001d1f call  0x000032b2 
- 00011947  0x00001d22 setarg  0x00000101 
- 00011948  0x00001d24 branch  0x00002ea4 
- 00011949  0x00001d33 set1  0x00000026 , 0x00000000 
- 00011950  0x00001d34 call  0x00002c83 
- 00011951  0x00001d37 setarg  0x00000001 
- 00011952  0x00001d38 branch  0x00003256 
- 00011953  0x00001d3b add  0x00000013 , 0x0000008b , 0x00000011 
- 00011954  0x00001d3c ifetch  0x00000001 , 0x00000011 
- 00011955  0x00001d3e beq  0x00000001 , 0x00007fe7 
- 00011956  0x00001d3f call  0x00003253 
- 00011957  0x00001d41 beq  0x00000001 , 0x00002eb9 
- 00011958  0x00001d42 beq  0x00000002 , 0x00002ebd 
- 00011959  0x00001d43 beq  0x00000003 , 0x00002ec1 
- 00011960  0x00001d44 branch  0x00002a8c 
- 00011961  0x00001d47 setarg  0x00000011 
- 00011962  0x00001d48 call  0x00003256 
- 00011963  0x00001d4a jam  0x000000aa , 0x0000119e 
- 00011964  0x00001d4b branch  0x00002ec4 
- 00011965  0x00001d4d setarg  0x00000012 
- 00011966  0x00001d4e call  0x00003256 
- 00011967  0x00001d50 jam  0x00000055 , 0x0000119e 
- 00011968  0x00001d51 branch  0x00002ec4 
- 00011969  0x00001d53 setarg  0x00000013 
- 00011970  0x00001d54 call  0x00003256 
- 00011971  0x00001d56 jam  0x00000022 , 0x0000119e 
- 00011972  0x00001d58 call  0x0000323a 
- 00011973  0x00001d5a and_into  0x00000007 , 0x0000003f 
- 00011974  0x00001d5b store  0x00000001 , 0x0000119f 
- 00011975  0x00001d5c call  0x00003224 
- 00011976  0x00001d5e store  0x00000004 , 0x000011a0 
- 00011977  0x00001d60 jam  0x00000000 , 0x000011a4 
- 00011978  0x00001d61 arg  0x0000119e , 0x00000011 
- 00011979  0x00001d62 arg  0x00000007 , 0x00000002 
- 00011980  0x00001d63 call  0x00002d4c 
- 00011981  0x00001d64 call  0x00002d53 
- 00011982  0x00001d65 call  0x00002d33 
- 00011983  0x00001d66 branch  0x00007fe7 
- 00011984  0x00001d69 call  0x00003253 
- 00011985  0x00001d6b rtneq  0x000000ff 
- 00011986  0x00001d6c beq  0x00000011 , 0x00002ed6 
- 00011987  0x00001d6d beq  0x00000012 , 0x00002ed9 
- 00011988  0x00001d6e beq  0x00000013 , 0x00002edc 
- 00011989  0x00001d6f rtn 
- 00011990  0x00001d72 setarg  0x00000002 
- 00011991  0x00001d73 call  0x00003256 
- 00011992  0x00001d75 branch  0x00002d9f 
- 00011993  0x00001d77 setarg  0x00000003 
- 00011994  0x00001d78 call  0x00003256 
- 00011995  0x00001d7a branch  0x00002d9f 
- 00011996  0x00001d7c setarg  0x000000ff 
- 00011997  0x00001d7d call  0x00003256 
- 00011998  0x00001d7f jam  0x00000039 , 0x00000a99 
- 00011999  0x00001d80 call  0x00007d86 
- 00012000  0x00001d81 add  0x00000013 , 0x00000066 , 0x00000011 
- 00012001  0x00001d82 ifetch  0x00000004 , 0x00000011 
- 00012002  0x00001d84 call  0x0000322c 
- 00012003  0x00001d86 branch  0x00002d9f 
- 00012004  0x00001d89 set0  0x00000026 , 0x00000000 
- 00012005  0x00001d8a call  0x00002f08 
- 00012006  0x00001d8b call  0x00002f22 
- 00012007  0x00001d8d call  0x00003263 
- 00012008  0x00001d8f nop  0x000007d0 
- 00012009  0x00001d90 call  0x00003261 
- 00012010  0x00001d91 beq  0x000000ff , 0x00002dd4 
- 00012011  0x00001d92 call  0x00002da4 
- 00012012  0x00001d93 nbranch  0x00002efa , 0x00000018 
- 00012013  0x00001d94 nbranch  0x00002efa , 0x0000002f 
- 00012014  0x00001d95 call  0x00002dd6 
- 00012015  0x00001d96 call  0x00002c7a 
- 00012016  0x00001d97 add  0x00000013 , 0x00000092 , 0x00000011 
- 00012017  0x00001d98 ifetcht  0x00000004 , 0x00000011 
- 00012018  0x00001d99 call  0x000030be 
- 00012019  0x00001d9a branch  0x00002ead , 0x00000005 
- 00012020  0x00001d9b call  0x00002c7a 
- 00012021  0x00001d9c add  0x00000013 , 0x00000066 , 0x00000011 
- 00012022  0x00001d9d ifetch  0x00000004 , 0x00000011 
- 00012023  0x00001d9e beq  0x00000000 , 0x00002ee7 
- 00012024  0x00001d9f call  0x0000322c 
- 00012025  0x00001da0 branch  0x00002f1c 
- 00012026  0x00001da3 call  0x00003261 
- 00012027  0x00001da4 increase  0x00000001 , 0x0000003f 
- 00012028  0x00001da5 call  0x00003264 
- 00012029  0x00001da7 call  0x00002f04 
- 00012030  0x00001da8 increase  0x00000001 , 0x0000003f 
- 00012031  0x00001da9 and_into  0x00000001 , 0x0000003f 
- 00012032  0x00001daa call  0x00002f06 
- 00012033  0x00001dab beq  0x00000000 , 0x00002f0c 
- 00012034  0x00001dac beq  0x00000001 , 0x00002f0e 
- 00012035  0x00001dad rtn 
- 00012036  0x00001db0 setarg  0x0000018b 
- 00012037  0x00001db1 branch  0x000032d0 
- 00012038  0x00001db3 arg  0x0000018b , 0x00000011 
- 00012039  0x00001db4 branch  0x000032b3 
- 00012040  0x00001db7 call  0x00003267 
- 00012041  0x00001db8 call  0x00003224 
- 00012042  0x00001db9 call  0x0000322c 
- 00012043  0x00001dba branch  0x00002c8a 
- 00012044  0x00001dbd call  0x00002f08 
- 00012045  0x00001dbe branch  0x00002ee8 
- 00012046  0x00001dc1 call  0x00002c83 
- 00012047  0x00001dc2 branch  0x00002ee8 
- 00012048  0x00001dc6 set0  0x00000026 , 0x00000000 
- 00012049  0x00001dc7 call  0x00002c8a 
- 00012050  0x00001dc8 call  0x00003253 
- 00012051  0x00001dca rtnne  0x000000ff 
- 00012052  0x00001dcb call  0x00002f22 
- 00012053  0x00001dcc call  0x00003263 
- 00012054  0x00001dcf nop  0x000007d0 
- 00012055  0x00001dd0 call  0x00003261 
- 00012056  0x00001dd2 beq  0x000000ff , 0x00002dd4 
- 00012057  0x00001dd3 call  0x00002da4 
- 00012058  0x00001dd4 nbranch  0x00002f27 , 0x00000018 
- 00012059  0x00001dd5 nbranch  0x00002f27 , 0x0000002f 
- 00012060  0x00001dd7 set1  0x00000026 , 0x00000000 
- 00012061  0x00001dd8 call  0x00003263 
- 00012062  0x00001dd9 setarg  0x000000ff 
- 00012063  0x00001dda call  0x00003256 
- 00012064  0x00001ddd jam  0x0000003c , 0x00000a99 
- 00012065  0x00001dde branch  0x00007d86 
- 00012066  0x00001de1 set1  0x00000027 , 0x00000000 
- 00012067  0x00001de2 jam  0x000000ff , 0x0000119e 
- 00012068  0x00001de3 call  0x0000323a 
- 00012069  0x00001de5 call  0x00002d77 
- 00012070  0x00001de6 branch  0x00002d53 
- 00012071  0x00001de9 call  0x00003261 
- 00012072  0x00001deb increase  0x00000001 , 0x0000003f 
- 00012073  0x00001dec call  0x00003264 
- 00012074  0x00001dee call  0x00002c8a 
- 00012075  0x00001def branch  0x00002f16 
- 00012076  0x00001df2 call  0x00003267 
- 00012077  0x00001df5 setarg  0x000000ff 
- 00012078  0x00001df6 call  0x00003256 
- 00012079  0x00001df8 branch  0x00002f10 
- 00012080  0x00001e02 bpatch  0x000000ba , 0x00004017 
- 00012081  0x00001e03 call  0x00002c7a 
- 00012082  0x00001e04 setarg  0x000031b0 
- 00012083  0x00001e05 add  0x00000013 , 0x000000de , 0x00000005 
- 00012084  0x00001e06 istore  0x00000002 , 0x00000005 
- 00012085  0x00001e08 call  0x00002f3d 
- 00012086  0x00001e09 call  0x000048ea 
- 00012087  0x00001e0a call  0x000032b6 
- 00012088  0x00001e0c bpatch  0x000000bb , 0x00004017 
- 00012089  0x00001e0d beq  0x00000000 , 0x00003055 
- 00012090  0x00001e0e beq  0x00000001 , 0x00002f45 
- 00012091  0x00001e0f beq  0x0000000f , 0x00002f41 
- 00012092  0x00001e10 branch  0x00002a8c 
- 00012093  0x00001e13 call  0x0000326c 
- 00012094  0x00001e14 arg  0x00000080 , 0x00000039 
- 00012095  0x00001e15 arg  0x00000d9e , 0x00000005 
- 00012096  0x00001e16 branch  0x00007ec6 
- 00012097  0x00001e19 call  0x00002f4c 
- 00012098  0x00001e1b call  0x00002f4f 
- 00012099  0x00001e1c call  0x000048d3 
- 00012100  0x00001e1d branch  0x00002f42 
- 00012101  0x00001e20 bpatch  0x000000bc , 0x00004017 
- 00012102  0x00001e21 call  0x00002f4c 
- 00012103  0x00001e23 call  0x00002f4f 
- 00012104  0x00001e24 call  0x00002fbd 
- 00012105  0x00001e25 call  0x000048d3 
- 00012106  0x00001e26 call  0x00003019 
- 00012107  0x00001e27 branch  0x00002f47 
- 00012108  0x00001e2d call  0x00003291 
- 00012109  0x00001e2e call  0x00003296 
- 00012110  0x00001e2f branch  0x00003299 
- 00012111  0x00001e32 call  0x0000328f 
- 00012112  0x00001e34 rtnne  0x00000000 
- 00012113  0x00001e36 call  0x00002f55 
- 00012114  0x00001e37 call  0x00002f65 
- 00012115  0x00001e38 call  0x0000316b 
- 00012116  0x00001e39 branch  0x00002f96 
- 00012117  0x00001e3c call  0x00003294 
- 00012118  0x00001e3e rtnbit1  0x00000000 
- 00012119  0x00001e3f set1  0x00000000 , 0x0000003f 
- 00012120  0x00001e40 call  0x00003297 
- 00012121  0x00001e42 call  0x00003267 
- 00012122  0x00001e45 call  0x00003299 
- 00012123  0x00001e47 jam  0x00000000 , 0x00000d38 
- 00012124  0x00001e48 call  0x0000324f 
- 00012125  0x00001e4a call  0x00002f61 
- 00012126  0x00001e4c add  0x00000013 , 0x00000000 , 0x00000005 
- 00012127  0x00001e4e arg  0x00000042 , 0x00000039 
- 00012128  0x00001e4f branch  0x00007ed4 
- 00012129  0x00001e52 call  0x00003231 
- 00012130  0x00001e54 call  0x0000327d 
- 00012131  0x00001e56 call  0x0000322c 
- 00012132  0x00001e58 branch  0x00002c8a 
- 00012133  0x00001e5b bpatch  0x000000bd , 0x00004017 
- 00012134  0x00001e5c call  0x0000324c 
- 00012135  0x00001e5e beq  0x00000001 , 0x00002f8d 
- 00012136  0x00001e5f call  0x00003245 
- 00012137  0x00001e61 beq  0x00000001 , 0x00002c8a 
- 00012138  0x00001e62 setarg  0x00000136 
- 00012139  0x00001e63 iadd  0x00000013 , 0x00000011 
- 00012140  0x00001e64 ifetcht  0x00000004 , 0x00000011 
- 00012141  0x00001e66 copy  0x00000022 , 0x0000003f 
- 00012142  0x00001e67 isub  0x00000002 , 0x0000003e 
- 00012143  0x00001e68 ncall  0x00002d18 , 0x00000002 
- 00012144  0x00001e69 copy  0x0000003f , 0x00000012 
- 00012145  0x00001e6a setarg  0x00000136 
- 00012146  0x00001e6b iadd  0x00000013 , 0x00000011 
- 00012147  0x00001e6c ifetch  0x00000004 , 0x00000011 
- 00012148  0x00001e6d copy  0x0000003f , 0x00000002 
- 00012149  0x00001e6f setarg  0x0000013a 
- 00012150  0x00001e70 iadd  0x00000013 , 0x00000011 
- 00012151  0x00001e71 copy  0x00000002 , 0x0000003f 
- 00012152  0x00001e72 ifetcht  0x00000001 , 0x00000011 
- 00012153  0x00001e74 iadd  0x00000002 , 0x00000002 
- 00012154  0x00001e75 copy  0x00000012 , 0x0000003f 
- 00012155  0x00001e76 isub  0x00000002 , 0x0000003e 
- 00012156  0x00001e77 nrtn  0x00000002 
- 00012157  0x00001e78 set0  0x0000001c , 0x0000003f 
- 00012158  0x00001e79 setarg  0x00000136 
- 00012159  0x00001e7a iadd  0x00000013 , 0x00000005 
- 00012160  0x00001e7b istore  0x00000004 , 0x00000005 
- 00012161  0x00001e7e call  0x00002c8a 
- 00012162  0x00001e7f call  0x00003278 
- 00012163  0x00001e81 increase  0x00000001 , 0x0000003f 
- 00012164  0x00001e82 call  0x0000327b 
- 00012165  0x00001e84 rtnne  0x00000002 
- 00012166  0x00001e85 call  0x0000327a 
- 00012167  0x00001e89 branch  0x0000324f 
- 00012168  0x00001e8c copy  0x00000022 , 0x0000003f 
- 00012169  0x00001e8d arg  0x00000136 , 0x00000011 
- 00012170  0x00001e8e call  0x000032bf 
- 00012171  0x00001e8f istore  0x00000004 , 0x00000005 
- 00012172  0x00001e93 branch  0x0000327a 
- 00012173  0x00001e96 arg  0x00000d9e , 0x00000011 
- 00012174  0x00001e97 call  0x00002f94 
- 00012175  0x00001e98 add  0x00000013 , 0x000000eb , 0x00000005 
- 00012176  0x00001e99 istoret  0x00000001 , 0x00000005 
- 00012177  0x00001e9b sub  0x00000002 , 0x00000050 , 0x0000003e 
- 00012178  0x00001e9c nrtn  0x00000002 
- 00012179  0x00001e9d branch  0x00002c8a 
- 00012180  0x00001ea0 arg  0x00000100 , 0x00000039 
- 00012181  0x00001ea1 branch  0x00002e62 
- 00012182  0x00001ea4 call  0x00002f99 
- 00012183  0x00001ea5 call  0x00002fa5 
- 00012184  0x00001ea6 branch  0x00002fb1 
- 00012185  0x00001ea9 setarg  0x00000180 
- 00012186  0x00001eaa call  0x000032d0 
- 00012187  0x00001eac rtn  0x00000034 
- 00012188  0x00001ead arg  0x0000000b , 0x00000007 
- 00012189  0x00001eae call  0x00007f16 
- 00012190  0x00001eaf nrtn  0x00000034 
- 00012191  0x00001eb0 call  0x000032a7 
- 00012192  0x00001eb3 setarg  0x00000001 
- 00012193  0x00001eb4 store  0x00000001 , 0x00000d54 
- 00012194  0x00001eb5 setarg  0x00000000 
- 00012195  0x00001eb6 istore  0x00000007 , 0x00000005 
- 00012196  0x00001eb7 branch  0x000031b8 
- 00012197  0x00001eba setarg  0x0000017e 
- 00012198  0x00001ebb call  0x000032d0 
- 00012199  0x00001ebd rtn  0x00000034 
- 00012200  0x00001ebe arg  0x0000000e , 0x00000007 
- 00012201  0x00001ebf call  0x00007f16 
- 00012202  0x00001ec0 nrtn  0x00000034 
- 00012203  0x00001ec1 call  0x000032aa 
- 00012204  0x00001ec4 arg  0x00000d64 , 0x00000005 
- 00012205  0x00001ec5 arg  0x00000002 , 0x00000039 
- 00012206  0x00001ec6 call  0x00007ec6 
- 00012207  0x00001ec7 jam  0x00000000 , 0x00000d64 
- 00012208  0x00001ec8 branch  0x000031ed 
- 00012209  0x00001ecb setarg  0x0000017f 
- 00012210  0x00001ecc call  0x000032d0 
- 00012211  0x00001ece rtn  0x00000034 
- 00012212  0x00001ecf arg  0x0000000c , 0x00000007 
- 00012213  0x00001ed0 call  0x00007f16 
- 00012214  0x00001ed1 nrtn  0x00000034 
- 00012215  0x00001ed2 call  0x000032ad 
- 00012216  0x00001ed5 arg  0x00000d74 , 0x00000005 
- 00012217  0x00001ed6 arg  0x00000002 , 0x00000039 
- 00012218  0x00001ed7 call  0x00007ec6 
- 00012219  0x00001ed8 jam  0x00000003 , 0x00000d74 
- 00012220  0x00001ed9 branch  0x00003207 
- 00012221  0x00001edc call  0x0000328f 
- 00012222  0x00001ede rtnne  0x00000001 
- 00012223  0x00001edf call  0x00002fc1 
- 00012224  0x00001ee0 branch  0x00002fcb 
- 00012225  0x00001ee3 call  0x00003294 
- 00012226  0x00001ee5 rtnbit1  0x00000001 
- 00012227  0x00001ee6 set1  0x00000001 , 0x0000003f 
- 00012228  0x00001ee7 call  0x00003297 
- 00012229  0x00001ee9 call  0x0000329c 
- 00012230  0x00001eeb call  0x00002c83 
- 00012231  0x00001eec setarg  0x00000000 
- 00012232  0x00001eed arg  0x00000106 , 0x00000011 
- 00012233  0x00001eee call  0x000032bf 
- 00012234  0x00001ef0 branch  0x000032c5 
- 00012235  0x00001ef3 call  0x0000316e 
- 00012236  0x00001ef4 nbranch  0x00002f5e , 0x0000002f 
- 00012237  0x00001ef5 add  0x00000013 , 0x00000000 , 0x00000006 
- 00012238  0x00001ef6 setarg  0x00000109 
- 00012239  0x00001ef7 iadd  0x00000013 , 0x00000005 
- 00012240  0x00001ef8 arg  0x00000008 , 0x00000039 
- 00012241  0x00001ef9 call  0x00007f01 
- 00012242  0x00001efa setarg  0x0000010b 
- 00012243  0x00001efb call  0x000032d0 
- 00012244  0x00001efc beq  0x000000aa , 0x00002fd9 
- 00012245  0x00001efd beq  0x00000055 , 0x00002fed 
- 00012246  0x00001efe beq  0x00000022 , 0x00003001 
- 00012247  0x00001eff beq  0x000000ff , 0x00003212 
- 00012248  0x00001f00 branch  0x00002f5e 
- 00012249  0x00001f03 call  0x000032bd 
- 00012250  0x00001f04 beq  0x00000001 , 0x00002fdd 
- 00012251  0x00001f05 beq  0x00000002 , 0x00002fe8 
- 00012252  0x00001f06 rtn 
- 00012253  0x00001f08 setarg  0x00000001 
- 00012254  0x00001f09 call  0x00002ff7 
- 00012255  0x00001f0c setarg  0x00000001 
- 00012256  0x00001f0d call  0x00003289 
- 00012257  0x00001f10 setarg  0x00000080 
- 00012258  0x00001f11 arg  0x00000130 , 0x00000011 
- 00012259  0x00001f12 call  0x000032b3 
- 00012260  0x00001f14 call  0x0000327d 
- 00012261  0x00001f16 arg  0x00000131 , 0x00000011 
- 00012262  0x00001f17 call  0x000032bf 
- 00012263  0x00001f19 branch  0x0000322d 
- 00012264  0x00001f1c setarg  0x00000001 
- 00012265  0x00001f1d call  0x00002fff 
- 00012266  0x00001f20 setarg  0x00000002 
- 00012267  0x00001f21 call  0x00003289 
- 00012268  0x00001f23 branch  0x00002fe1 
- 00012269  0x00001f26 call  0x000032bd 
- 00012270  0x00001f27 beq  0x00000001 , 0x00002ff1 
- 00012271  0x00001f28 beq  0x00000002 , 0x00002ff9 
- 00012272  0x00001f29 rtn 
- 00012273  0x00001f2b call  0x00002fdf 
- 00012274  0x00001f2c setarg  0x00000106 
- 00012275  0x00001f2d call  0x000032d0 
- 00012276  0x00001f2f beq  0x00000001 , 0x00002ff6 
- 00012277  0x00001f30 rtn 
- 00012278  0x00001f32 setarg  0x00000002 
- 00012279  0x00001f35 arg  0x00000106 , 0x00000011 
- 00012280  0x00001f36 branch  0x000032b3 
- 00012281  0x00001f39 call  0x00002fea 
- 00012282  0x00001f3a setarg  0x00000107 
- 00012283  0x00001f3b call  0x000032d0 
- 00012284  0x00001f3d beq  0x00000001 , 0x00002ffe 
- 00012285  0x00001f3e rtn 
- 00012286  0x00001f40 setarg  0x00000002 
- 00012287  0x00001f43 arg  0x00000107 , 0x00000011 
- 00012288  0x00001f44 branch  0x000032b3 
- 00012289  0x00001f47 call  0x000032bd 
- 00012290  0x00001f48 beq  0x00000001 , 0x00003005 
- 00012291  0x00001f49 beq  0x00000002 , 0x00003011 
- 00012292  0x00001f4a rtn 
- 00012293  0x00001f4c setarg  0x00000106 
- 00012294  0x00001f4d call  0x000032d0 
- 00012295  0x00001f4f beq  0x00000002 , 0x00003009 
- 00012296  0x00001f50 rtn 
- 00012297  0x00001f52 call  0x0000328b 
- 00012298  0x00001f54 or_into  0x00000001 , 0x0000003f 
- 00012299  0x00001f55 call  0x0000328d 
- 00012300  0x00001f58 setarg  0x00000000 
- 00012301  0x00001f59 setarg  0x00000106 
- 00012302  0x00001f5a iadd  0x00000013 , 0x00000005 
- 00012303  0x00001f5b istore  0x00000002 , 0x00000005 
- 00012304  0x00001f5c branch  0x00002f5e 
- 00012305  0x00001f5f setarg  0x00000107 
- 00012306  0x00001f60 call  0x000032d0 
- 00012307  0x00001f62 bne  0x00000000 , 0x00003015 
- 00012308  0x00001f63 rtn 
- 00012309  0x00001f65 call  0x0000328b 
- 00012310  0x00001f67 or_into  0x00000002 , 0x0000003f 
- 00012311  0x00001f68 call  0x0000328d 
- 00012312  0x00001f6a branch  0x0000300c 
- 00012313  0x00001f6e fetch  0x00000001 , 0x00000d50 
- 00012314  0x00001f6f rtn  0x00000034 
- 00012315  0x00001f70 jam  0x00000000 , 0x00000d50 
- 00012316  0x00001f71 fetch  0x00000002 , 0x00000d4e 
- 00012317  0x00001f72 arg  0x000002ba , 0x00000002 
- 00012318  0x00001f73 isub  0x00000002 , 0x0000003e 
- 00012319  0x00001f74 nrtn  0x00000005 
- 00012320  0x00001f76 fetch  0x00000001 , 0x00000cb6 
- 00012321  0x00001f77 rtnne  0x000000ba 
- 00012322  0x00001f78 fetch  0x00000001 , 0x00000cb7 
- 00012323  0x00001f79 bpatch  0x000000be , 0x00004017 
- 00012324  0x00001f7a beq  0x000000a0 , 0x0000303b 
- 00012325  0x00001f7b beq  0x000000a1 , 0x0000302c 
- 00012326  0x00001f7c beq  0x000000a6 , 0x00003041 
- 00012327  0x00001f7d beq  0x000000a7 , 0x00003043 
- 00012328  0x00001f7e beq  0x000000a9 , 0x00003049 
- 00012329  0x00001f7f beq  0x000000b0 , 0x0000304d 
- 00012330  0x00001f81 jam  0x00000000 , 0x00000d42 
- 00012331  0x00001f82 rtn 
- 00012332  0x00001f84 fetch  0x00000001 , 0x00000cb8 
- 00012333  0x00001f85 beq  0x00000001 , 0x00003031 
- 00012334  0x00001f86 beq  0x00000084 , 0x00003034 
- 00012335  0x00001f87 beq  0x000000a7 , 0x00003039 
- 00012336  0x00001f88 branch  0x0000302a 
- 00012337  0x00001f8a call  0x0000328b 
- 00012338  0x00001f8c store  0x00000001 , 0x00000cf7 
- 00012339  0x00001f8d branch  0x0000303f 
- 00012340  0x00001f8f call  0x00003291 
- 00012341  0x00001f91 call  0x00003296 
- 00012342  0x00001f93 call  0x0000328b 
- 00012343  0x00001f95 store  0x00000001 , 0x00000cf7 
- 00012344  0x00001f96 branch  0x0000303f 
- 00012345  0x00001f9a jam  0x000000a1 , 0x00000cf7 
- 00012346  0x00001f9b branch  0x0000303f 
- 00012347  0x00001f9e fetch  0x00000001 , 0x00000cb8 
- 00012348  0x00001f9f beq  0x00000081 , 0x0000303e 
- 00012349  0x00001fa1 branch  0x0000302a 
- 00012350  0x00001fa5 call  0x00003090 
- 00012351  0x00001fa7 jam  0x00000001 , 0x00000d42 
- 00012352  0x00001fa8 rtn 
- 00012353  0x00001fae jam  0x00000015 , 0x00000cf7 
- 00012354  0x00001faf branch  0x0000303f 
- 00012355  0x00001fb2 call  0x0000328f 
- 00012356  0x00001fb4 beq  0x00000000 , 0x00003047 
- 00012357  0x00001fb5 beq  0x00000001 , 0x00003039 
- 00012358  0x00001fb7 rtn 
- 00012359  0x00001fb9 jam  0x000000a0 , 0x00000cf7 
- 00012360  0x00001fba branch  0x0000303f 
- 00012361  0x00001fc0 jam  0x00000000 , 0x00000cf7 
- 00012362  0x00001fc1 jam  0x00000000 , 0x00000cf8 
- 00012363  0x00001fc2 jam  0x00000001 , 0x00000cf9 
- 00012364  0x00001fc3 branch  0x0000303f 
- 00012365  0x00001fc7 call  0x0000329c 
- 00012366  0x00001fc8 fetch  0x00000001 , 0x00000cb8 
- 00012367  0x00001fc9 increase  0x00000002 , 0x0000003f 
- 00012368  0x00001fca copy  0x0000003f , 0x00000039 
- 00012369  0x00001fcb arg  0x00000cb6 , 0x00000006 
- 00012370  0x00001fcc setarg  0x0000013c 
- 00012371  0x00001fcd iadd  0x00000013 , 0x00000005 
- 00012372  0x00001fce branch  0x00007f01 
- 00012373  0x00001fd2 bpatch  0x000000bf , 0x00004017 
- 00012374  0x00001fd3 call  0x0000307d 
- 00012375  0x00001fd5 call  0x00002c7f 
- 00012376  0x00001fd6 call  0x000048d3 
- 00012377  0x00001fd7 branch  0x00003057 
- 00012378  0x00001fda call  0x0000328f 
- 00012379  0x00001fdc rtnne  0x00000000 
- 00012380  0x00001fdd call  0x00002f51 
- 00012381  0x00001fde branch  0x00003098 
- 00012382  0x00001fe1 call  0x0000328f 
- 00012383  0x00001fe3 rtnne  0x00000001 
- 00012384  0x00001fe4 call  0x00002fc1 
- 00012385  0x00001fe5 call  0x00002fcb 
- 00012386  0x00001fe6 call  0x0000328b 
- 00012387  0x00001fe8 rtn  0x00000034 
- 00012388  0x00001fe9 call  0x00003286 
- 00012389  0x00001feb call  0x00002f4c 
- 00012390  0x00001fec call  0x00003093 
- 00012391  0x00001fee setarg  0x00000000 
- 00012392  0x00001fef add  0x00000013 , 0x000000a7 , 0x00000005 
- 00012393  0x00001ff1 branch  0x0000322d 
- 00012394  0x00001ff4 call  0x00007fe9 
- 00012395  0x00001ff5 add  0x00000013 , 0x000000a7 , 0x00000011 
- 00012396  0x00001ff6 ifetcht  0x00000004 , 0x00000011 
- 00012397  0x00001ff8 copy  0x00000022 , 0x0000003f 
- 00012398  0x00001ff9 isub  0x00000002 , 0x0000003e 
- 00012399  0x00001ffa ncall  0x00002d18 , 0x00000002 
- 00012400  0x00001ffb copy  0x0000003f , 0x00000012 
- 00012401  0x00001ffc add  0x00000013 , 0x000000a7 , 0x00000011 
- 00012402  0x00001ffd ifetch  0x00000004 , 0x00000011 
- 00012403  0x00001fff add  0x00000013 , 0x000000ab , 0x00000011 
- 00012404  0x00002000 ifetcht  0x00000001 , 0x00000011 
- 00012405  0x00002002 iadd  0x00000002 , 0x00000002 
- 00012406  0x00002003 copy  0x00000012 , 0x0000003f 
- 00012407  0x00002004 isub  0x00000002 , 0x0000003e 
- 00012408  0x00002005 nrtn  0x00000002 
- 00012409  0x00002006 set0  0x0000001c , 0x0000003f 
- 00012410  0x00002007 add  0x00000013 , 0x000000a7 , 0x00000005 
- 00012411  0x00002008 istore  0x00000004 , 0x00000005 
- 00012412  0x0000200a branch  0x00007fe7 
- 00012413  0x0000200d setarg  0x00000001 
- 00012414  0x0000200e call  0x00003287 
- 00012415  0x00002010 call  0x00003283 
- 00012416  0x00002012 setarg  0x000000ff 
- 00012417  0x00002013 add  0x00000013 , 0x000000ab , 0x00000005 
- 00012418  0x00002014 istore  0x00000001 , 0x00000005 
- 00012419  0x00002016 branch  0x00003067 
- 00012420  0x00002019 setarg  0x0000015c 
- 00012421  0x0000201a call  0x000032d0 
- 00012422  0x0000201c rtn  0x00000034 
- 00012423  0x0000201d call  0x0000306a 
- 00012424  0x0000201e nrtn  0x00000028 
- 00012425  0x0000201f call  0x00003281 
- 00012426  0x00002021 increase  0x00000001 , 0x0000003f 
- 00012427  0x00002022 and_into  0x00000001 , 0x0000003f 
- 00012428  0x00002023 call  0x00003284 
- 00012429  0x00002025 beq  0x00000000 , 0x00002f4c 
- 00012430  0x00002026 beq  0x00000001 , 0x00003090 
- 00012431  0x00002027 rtn 
- 00012432  0x0000202d setarg  0x00000001 
- 00012433  0x0000202e call  0x00003292 
- 00012434  0x0000202f branch  0x00003296 
- 00012435  0x00002032 setarg  0x00000001 
- 00012436  0x00002033 call  0x000032a5 
- 00012437  0x00002036 setarg  0x00000280 
- 00012438  0x00002037 arg  0x00000008 , 0x00000007 
- 00012439  0x00002038 branch  0x00007f08 
- 00012440  0x0000203b call  0x000032a2 
- 00012441  0x0000203d rtn  0x00000034 
- 00012442  0x0000203e arg  0x00000008 , 0x00000007 
- 00012443  0x0000203f call  0x00007f16 
- 00012444  0x00002040 nrtn  0x00000034 
- 00012445  0x00002041 call  0x000032a4 
- 00012446  0x00002044 setarg  0x00000007 
- 00012447  0x00002045 call  0x00003292 
- 00012448  0x00002047 call  0x00003296 
- 00012449  0x00002049 branch  0x00002f5e 
- 00012450  0x0000204c bpatch  0x000000c0 , 0x00004018 
- 00012451  0x0000204d call  0x0000328f 
- 00012452  0x0000204f rtnne  0x00000007 
- 00012453  0x00002050 call  0x000030cb 
- 00012454  0x00002051 call  0x000030e0 
- 00012455  0x00002052 call  0x0000316e 
- 00012456  0x00002053 nbranch  0x00002f5e , 0x0000002f 
- 00012457  0x00002055 call  0x000030bc 
- 00012458  0x00002056 call  0x00003172 , 0x00000005 
- 00012459  0x0000205a call  0x00002f4c 
- 00012460  0x0000205b call  0x00003294 
- 00012461  0x0000205d set1  0x00000000 , 0x0000003f 
- 00012462  0x0000205e call  0x00003297 
- 00012463  0x00002060 call  0x00002f5e 
- 00012464  0x00002061 call  0x00003093 
- 00012465  0x00002062 call  0x000030bc 
- 00012466  0x00002063 branch  0x000030c1 , 0x00000005 
- 00012467  0x00002064 setarg  0x00000164 
- 00012468  0x00002065 call  0x000032d3 
- 00012469  0x00002067 call  0x000030be 
- 00012470  0x00002068 branch  0x000030c5 , 0x00000005 
- 00012471  0x00002069 setarg  0x00000160 
- 00012472  0x0000206a call  0x000032d3 
- 00012473  0x0000206c call  0x000030be 
- 00012474  0x0000206d branch  0x000030c8 , 0x00000005 
- 00012475  0x0000206e rtn 
- 00012476  0x00002071 setarg  0x0000012b 
- 00012477  0x00002072 call  0x000032d3 
- 00012478  0x00002075 call  0x0000322a 
- 00012479  0x00002077 isub  0x00000002 , 0x0000003e 
- 00012480  0x00002078 rtn 
- 00012481  0x0000207b setarg  0x00000182 
- 00012482  0x0000207c call  0x000032d0 
- 00012483  0x00002080 add  0x00000013 , 0x00000091 , 0x00000005 
- 00012484  0x00002081 branch  0x000032b4 
- 00012485  0x00002084 setarg  0x00000185 
- 00012486  0x00002085 call  0x000032d0 
- 00012487  0x00002087 branch  0x000030c3 
- 00012488  0x00002089 setarg  0x00000188 
- 00012489  0x0000208a call  0x000032d0 
- 00012490  0x0000208c branch  0x000030c3 
- 00012491  0x0000208f call  0x00003294 
- 00012492  0x00002091 rtnbit1  0x00000007 
- 00012493  0x00002092 set1  0x00000007 , 0x0000003f 
- 00012494  0x00002093 call  0x00003297 
- 00012495  0x00002095 call  0x00003283 
- 00012496  0x00002097 call  0x0000329c 
- 00012497  0x00002099 setarg  0x00000000 
- 00012498  0x0000209a add  0x00000013 , 0x000000f5 , 0x00000005 
- 00012499  0x0000209b istore  0x00000003 , 0x00000005 
- 00012500  0x0000209d arg  0x00000183 , 0x00000011 
- 00012501  0x0000209e call  0x000032bf 
- 00012502  0x0000209f istore  0x00000007 , 0x00000005 
- 00012503  0x000020a2 call  0x000030bc 
- 00012504  0x000020a3 nrtn  0x00000005 
- 00012505  0x000020a4 add  0x00000013 , 0x00000091 , 0x00000011 
- 00012506  0x000020a5 ifetch  0x00000001 , 0x00000011 
- 00012507  0x000020a7 arg  0x00000182 , 0x00000011 
- 00012508  0x000020a8 call  0x000032b3 
- 00012509  0x000020aa add  0x00000013 , 0x00000090 , 0x00000011 
- 00012510  0x000020ab ifetch  0x00000001 , 0x00000011 
- 00012511  0x000020ae branch  0x0000314a 
- 00012512  0x000020b1 bpatch  0x000000c1 , 0x00004018 
- 00012513  0x000020b2 call  0x00003281 
- 00012514  0x000020b4 increase  0x00000001 , 0x0000003f 
- 00012515  0x000020b5 and_into  0x00000003 , 0x0000003f 
- 00012516  0x000020b6 call  0x00003284 
- 00012517  0x000020b9 beq  0x00000000 , 0x0000310e 
- 00012518  0x000020ba beq  0x00000001 , 0x00003132 
- 00012519  0x000020bb beq  0x00000002 , 0x000030ea 
- 00012520  0x000020bc beq  0x00000003 , 0x00003132 
- 00012521  0x000020bd rtn 
- 00012522  0x000020c0 call  0x00002fdf 
- 00012523  0x000020c1 setarg  0x00000160 
- 00012524  0x000020c2 call  0x0000327e 
- 00012525  0x000020c4 branch  0x000030e0 , 0x00000034 
- 00012526  0x000020c5 call  0x0000322c 
- 00012527  0x000020c7 setarg  0x00000189 
- 00012528  0x000020c8 call  0x000032d0 
- 00012529  0x000020ca call  0x00003108 , 0x00000034 
- 00012530  0x000020cb setarg  0x00000187 
- 00012531  0x000020cc call  0x000032d0 
- 00012532  0x000020ce call  0x0000322f 
- 00012533  0x000020d0 add  0x00000013 , 0x000000f7 , 0x00000011 
- 00012534  0x000020d1 ifetcht  0x00000001 , 0x00000011 
- 00012535  0x000020d3 arg  0x00000f9e , 0x00000011 
- 00012536  0x000020d4 call  0x00002e58 
- 00012537  0x000020d5 add  0x00000013 , 0x000000f7 , 0x00000005 
- 00012538  0x000020d6 istoret  0x00000001 , 0x00000005 
- 00012539  0x000020d8 call  0x00002f94 
- 00012540  0x000020d9 add  0x00000013 , 0x000000fa , 0x00000005 
- 00012541  0x000020da istoret  0x00000001 , 0x00000005 
- 00012542  0x000020dc sub  0x00000002 , 0x00000050 , 0x0000003e 
- 00012543  0x000020dd nrtn  0x00000002 
- 00012544  0x000020de setarg  0x00000188 
- 00012545  0x000020df call  0x00003275 
- 00012546  0x000020e1 call  0x00002c90 
- 00012547  0x000020e2 arg  0x00000188 , 0x00000011 
- 00012548  0x000020e3 call  0x000032c8 
- 00012549  0x000020e4 istoret  0x00000001 , 0x00000005 
- 00012550  0x000020e8 arg  0x00000187 , 0x00000011 
- 00012551  0x000020e9 branch  0x000032b3 
- 00012552  0x000020ec setarg  0x00000001 
- 00012553  0x000020ed arg  0x00000189 , 0x00000011 
- 00012554  0x000020ee call  0x000032b3 
- 00012555  0x000020f0 arg  0x00000000 , 0x00000002 
- 00012556  0x000020f1 call  0x00002c94 
- 00012557  0x000020f4 branch  0x00003106 
- 00012558  0x000020f7 call  0x00002fea 
- 00012559  0x000020f8 setarg  0x00000164 
- 00012560  0x000020f9 call  0x0000327e 
- 00012561  0x000020fb branch  0x000030e0 , 0x00000034 
- 00012562  0x000020fc call  0x0000322c 
- 00012563  0x000020fe setarg  0x00000186 
- 00012564  0x000020ff call  0x000032d0 
- 00012565  0x00002101 call  0x0000312c , 0x00000034 
- 00012566  0x00002102 setarg  0x00000184 
- 00012567  0x00002103 call  0x000032d0 
- 00012568  0x00002105 call  0x0000322f 
- 00012569  0x00002107 add  0x00000013 , 0x000000f6 , 0x00000011 
- 00012570  0x00002108 ifetcht  0x00000001 , 0x00000011 
- 00012571  0x0000210a arg  0x0000109e , 0x00000011 
- 00012572  0x0000210b call  0x00002e58 
- 00012573  0x0000210c add  0x00000013 , 0x000000f6 , 0x00000005 
- 00012574  0x0000210d istoret  0x00000001 , 0x00000005 
- 00012575  0x0000210f call  0x00002f94 
- 00012576  0x00002110 add  0x00000013 , 0x000000f9 , 0x00000005 
- 00012577  0x00002111 istoret  0x00000001 , 0x00000005 
- 00012578  0x00002113 sub  0x00000002 , 0x00000050 , 0x0000003e 
- 00012579  0x00002114 nrtn  0x00000002 
- 00012580  0x00002115 setarg  0x00000185 
- 00012581  0x00002116 call  0x00003275 
- 00012582  0x00002118 call  0x00002c90 
- 00012583  0x00002119 arg  0x00000185 , 0x00000011 
- 00012584  0x0000211a call  0x000032c8 
- 00012585  0x0000211b istoret  0x00000001 , 0x00000005 
- 00012586  0x0000211f arg  0x00000184 , 0x00000011 
- 00012587  0x00002120 branch  0x000032b3 
- 00012588  0x00002123 setarg  0x00000001 
- 00012589  0x00002124 arg  0x00000186 , 0x00000011 
- 00012590  0x00002125 call  0x000032b3 
- 00012591  0x00002127 arg  0x00000000 , 0x00000002 
- 00012592  0x00002128 call  0x00002c94 
- 00012593  0x0000212b branch  0x0000312a 
- 00012594  0x0000212e call  0x00002fdf 
- 00012595  0x0000212f call  0x0000327d 
- 00012596  0x00002131 call  0x0000322c 
- 00012597  0x00002133 setarg  0x00000183 
- 00012598  0x00002134 call  0x000032d0 
- 00012599  0x00002136 call  0x0000314c , 0x00000034 
- 00012600  0x00002137 call  0x0000314f 
- 00012601  0x00002138 add  0x00000013 , 0x000000f5 , 0x00000011 
- 00012602  0x00002139 ifetcht  0x00000001 , 0x00000011 
- 00012603  0x0000213b arg  0x00000e9e , 0x00000011 
- 00012604  0x0000213c call  0x00002e58 
- 00012605  0x0000213d add  0x00000013 , 0x000000f5 , 0x00000005 
- 00012606  0x0000213e istoret  0x00000001 , 0x00000005 
- 00012607  0x00002140 call  0x00002f94 
- 00012608  0x00002141 add  0x00000013 , 0x000000f8 , 0x00000005 
- 00012609  0x00002142 istoret  0x00000001 , 0x00000005 
- 00012610  0x00002144 sub  0x00000002 , 0x00000050 , 0x0000003e 
- 00012611  0x00002145 nrtn  0x00000002 
- 00012612  0x00002146 setarg  0x00000182 
- 00012613  0x00002147 call  0x00003275 
- 00012614  0x00002149 call  0x00002c90 
- 00012615  0x0000214a arg  0x00000182 , 0x00000011 
- 00012616  0x0000214b call  0x000032c8 
- 00012617  0x0000214c istoret  0x00000001 , 0x00000005 
- 00012618  0x00002151 arg  0x00000181 , 0x00000011 
- 00012619  0x00002152 branch  0x000032b3 
- 00012620  0x0000215a setarg  0x00000001 
- 00012621  0x0000215b arg  0x00000183 , 0x00000011 
- 00012622  0x0000215c call  0x000032b3 
- 00012623  0x0000215e setarg  0x00000181 
- 00012624  0x0000215f call  0x000032d0 
- 00012625  0x00002160 branch  0x0000322f 
- 00012626  0x00002165 add  0x00000013 , 0x00000000 , 0x00000011 
- 00012627  0x00002166 ifetch  0x00000001 , 0x00000011 
- 00012628  0x00002168 call  0x0000323c 
- 00012629  0x0000216b call  0x00002dde 
- 00012630  0x0000216d call  0x0000325f 
- 00012631  0x0000216f isolate1  0x00000000 , 0x0000003f 
- 00012632  0x00002170 branch  0x0000315c , 0x00000001 
- 00012633  0x00002172 call  0x0000315d 
- 00012634  0x00002173 call  0x00002d53 
- 00012635  0x00002174 call  0x00002df7 
- 00012636  0x00002176 branch  0x00002e45 
- 00012637  0x00002179 bpatch  0x000000c2 , 0x00004018 
- 00012638  0x0000217a add  0x00000013 , 0x00000086 , 0x00000005 
- 00012639  0x0000217b call  0x000032d6 
- 00012640  0x0000217d setarg  0x0000013b 
- 00012641  0x0000217e call  0x000032d0 
- 00012642  0x00002180 rtn  0x00000034 
- 00012643  0x00002181 setarg  0x00000006 
- 00012644  0x00002182 add  0x00000013 , 0x00000086 , 0x00000005 
- 00012645  0x00002183 istore  0x00000001 , 0x00000005 
- 00012646  0x00002185 arg  0x00000006 , 0x00000039 
- 00012647  0x00002186 setarg  0x0000012f 
- 00012648  0x00002187 iadd  0x00000013 , 0x00000006 
- 00012649  0x00002189 add  0x00000013 , 0x00000022 , 0x00000005 
- 00012650  0x0000218b branch  0x00007f01 
- 00012651  0x0000218f call  0x0000316e 
- 00012652  0x00002190 nbranch  0x00002f5e , 0x0000002f 
- 00012653  0x00002191 branch  0x00003172 
- 00012654  0x00002194 call  0x00002f5e 
- 00012655  0x00002195 call  0x00002e11 
- 00012656  0x00002196 nrtn  0x0000002f 
- 00012657  0x00002197 branch  0x00003152 
- 00012658  0x0000219a bpatch  0x000000c3 , 0x00004018 
- 00012659  0x0000219b call  0x00003188 
- 00012660  0x0000219c nbranch  0x00002f5e , 0x00000028 
- 00012661  0x0000219d add  0x00000013 , 0x00000084 , 0x00000011 
- 00012662  0x0000219e ifetch  0x00000001 , 0x00000011 
- 00012663  0x000021a0 branch  0x00002f5e , 0x00000034 
- 00012664  0x000021a1 increase  0x00000002 , 0x0000003f 
- 00012665  0x000021a2 iforce  0x00000039 
- 00012666  0x000021a3 add  0x00000013 , 0x00000000 , 0x00000006 
- 00012667  0x000021a5 setarg  0x00000109 
- 00012668  0x000021a6 iadd  0x00000013 , 0x00000005 
- 00012669  0x000021a8 call  0x00007f01 
- 00012670  0x000021a9 call  0x00003286 
- 00012671  0x000021ab call  0x000032b6 
- 00012672  0x000021ad call  0x00003093 , 0x00000034 
- 00012673  0x000021ae setarg  0x0000010b 
- 00012674  0x000021af call  0x000032d0 
- 00012675  0x000021b1 beq  0x00000001 , 0x0000319e 
- 00012676  0x000021b2 beq  0x00000002 , 0x000031c6 
- 00012677  0x000021b3 beq  0x00000003 , 0x000031f2 
- 00012678  0x000021b4 beq  0x000000ff , 0x00003212 
- 00012679  0x000021b5 branch  0x00002f5e 
- 00012680  0x000021b8 call  0x00002c7a 
- 00012681  0x000021b9 call  0x00007fe9 
- 00012682  0x000021ba add  0x00000013 , 0x000000ca , 0x00000011 
- 00012683  0x000021bb ifetch  0x00000001 , 0x00000011 
- 00012684  0x000021bd add  0x00000013 , 0x000000cb , 0x00000011 
- 00012685  0x000021be ifetcht  0x00000001 , 0x00000011 
- 00012686  0x000021c0 isub  0x00000002 , 0x0000003e 
- 00012687  0x000021c1 ncall  0x00007fe7 , 0x00000005 
- 00012688  0x000021c2 add  0x00000013 , 0x000000ca , 0x00000011 
- 00012689  0x000021c3 ifetch  0x00000001 , 0x00000011 
- 00012690  0x000021c5 add  0x00000013 , 0x000000cb , 0x00000005 
- 00012691  0x000021c6 istore  0x00000001 , 0x00000005 
- 00012692  0x000021c8 add  0x00000013 , 0x000000c4 , 0x00000011 
- 00012693  0x000021c9 ifetch  0x00000003 , 0x00000011 
- 00012694  0x000021cb add  0x00000013 , 0x000000c7 , 0x00000011 
- 00012695  0x000021cc ifetcht  0x00000003 , 0x00000011 
- 00012696  0x000021ce isub  0x00000002 , 0x0000003e 
- 00012697  0x000021cf ncall  0x00007fe7 , 0x00000005 
- 00012698  0x000021d0 add  0x00000013 , 0x000000c4 , 0x00000011 
- 00012699  0x000021d1 ifetch  0x00000003 , 0x00000011 
- 00012700  0x000021d3 add  0x00000013 , 0x000000c7 , 0x00000005 
- 00012701  0x000021d5 branch  0x000032c5 
- 00012702  0x000021d8 call  0x00002f88 
- 00012703  0x000021d9 call  0x0000324c 
- 00012704  0x000021da store  0x00000001 , 0x00000aa2 
- 00012705  0x000021dc call  0x00003274 
- 00012706  0x000021dd fetch  0x00000001 , 0x00000aa2 
- 00012707  0x000021df isolate1  0x00000003 , 0x00000002 
- 00012708  0x000021e0 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00012709  0x000021e1 add  0x00000013 , 0x000000b2 , 0x00000005 
- 00012710  0x000021e2 istore  0x00000001 , 0x00000005 
- 00012711  0x000021e4 beq  0x00000001 , 0x00003216 
- 00012712  0x000021e5 call  0x00003245 
- 00012713  0x000021e7 call  0x00003274 
- 00012714  0x000021e9 isolate1  0x00000004 , 0x00000002 
- 00012715  0x000021ea setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00012716  0x000021eb call  0x00003249 
- 00012717  0x000021ed add  0x00000013 , 0x000000de , 0x00000011 
- 00012718  0x000021ee ifetch  0x00000002 , 0x00000011 
- 00012719  0x000021f0 branch  0x00007f9c 
- 00012720  0x000021f3 setarg  0x00000001 
- 00012721  0x000021f4 store  0x00000001 , 0x00000d54 
- 00012722  0x000021f5 call  0x0000329e 
- 00012723  0x000021f7 istore  0x00000007 , 0x00000005 
- 00012724  0x000021f8 call  0x0000329e 
- 00012725  0x000021fa ncall  0x000031bd , 0x00000034 
- 00012726  0x000021fb call  0x0000329e 
- 00012727  0x000021fd call  0x000031c2 , 0x00000034 
- 00012728  0x000021ff jam  0x00000020 , 0x00000d52 
- 00012729  0x00002201 fetch  0x00000001 , 0x00000d38 
- 00012730  0x00002202 set1  0x00000002 , 0x0000003f 
- 00012731  0x00002203 store  0x00000001 , 0x00000d38 
- 00012732  0x00002204 rtn 
- 00012733  0x00002207 setarg  0x00000001 
- 00012734  0x00002208 call  0x000032a8 
- 00012735  0x0000220b setarg  0x00000140 
- 00012736  0x0000220c arg  0x0000000b , 0x00000007 
- 00012737  0x0000220d branch  0x00007f08 
- 00012738  0x0000220f call  0x000032a7 
- 00012739  0x00002212 setarg  0x00000000 
- 00012740  0x00002213 arg  0x0000000b , 0x00000007 
- 00012741  0x00002214 branch  0x00007f08 
- 00012742  0x00002217 call  0x00003274 
- 00012743  0x00002219 isolate1  0x00000003 , 0x00000002 
- 00012744  0x0000221a branch  0x0000321b , 0x00000001 
- 00012745  0x0000221b arg  0x00000d64 , 0x00000005 
- 00012746  0x0000221c call  0x000031e0 
- 00012747  0x0000221d fetch  0x00000008 , 0x00000d64 
- 00012748  0x0000221e ncall  0x000031e4 , 0x00000034 
- 00012749  0x0000221f fetch  0x00000008 , 0x00000d64 
- 00012750  0x00002220 call  0x000031e9 , 0x00000034 
- 00012751  0x00002221 call  0x00002c7a 
- 00012752  0x00002222 fetch  0x00000008 , 0x00000d64 
- 00012753  0x00002223 arg  0x00000168 , 0x00000011 
- 00012754  0x00002224 call  0x000032bf 
- 00012755  0x00002225 istore  0x00000008 , 0x00000005 
- 00012756  0x00002227 setarg  0x00000170 
- 00012757  0x00002228 iadd  0x00000013 , 0x00000011 
- 00012758  0x00002229 ifetcht  0x00000008 , 0x00000011 
- 00012759  0x0000222b isub  0x00000002 , 0x0000003e 
- 00012760  0x0000222c ncall  0x000031ed , 0x00000005 
- 00012761  0x0000222d setarg  0x00000168 
- 00012762  0x0000222e iadd  0x00000013 , 0x00000011 
- 00012763  0x0000222f ifetch  0x00000008 , 0x00000011 
- 00012764  0x00002231 arg  0x00000170 , 0x00000011 
- 00012765  0x00002232 call  0x000032bf 
- 00012766  0x00002233 istore  0x00000008 , 0x00000005 
- 00012767  0x00002235 branch  0x00002f5e 
- 00012768  0x00002238 setarg  0x0000010b 
- 00012769  0x00002239 iadd  0x00000013 , 0x00000006 
- 00012770  0x0000223b arg  0x00000009 , 0x00000039 
- 00012771  0x0000223c branch  0x00007ff3 
- 00012772  0x0000223f setarg  0x00000001 
- 00012773  0x00002240 call  0x000032ab 
- 00012774  0x00002243 setarg  0x00000140 
- 00012775  0x00002244 arg  0x0000000e , 0x00000007 
- 00012776  0x00002245 branch  0x00007f08 
- 00012777  0x00002248 call  0x000032aa 
- 00012778  0x0000224b setarg  0x00000000 
- 00012779  0x0000224c arg  0x0000000e , 0x00000007 
- 00012780  0x0000224d branch  0x00007f08 
- 00012781  0x00002251 jam  0x00000010 , 0x00000d51 
- 00012782  0x00002252 fetch  0x00000001 , 0x00000d38 
- 00012783  0x00002253 set1  0x00000001 , 0x0000003f 
- 00012784  0x00002254 store  0x00000001 , 0x00000d38 
- 00012785  0x00002255 rtn 
- 00012786  0x00002258 arg  0x00000d74 , 0x00000005 
- 00012787  0x00002259 call  0x000031e0 
- 00012788  0x0000225a fetch  0x00000002 , 0x00000d75 
- 00012789  0x0000225b ncall  0x00003209 , 0x00000034 
- 00012790  0x0000225c fetch  0x00000002 , 0x00000d75 
- 00012791  0x0000225d call  0x0000320e , 0x00000034 
- 00012792  0x0000225e call  0x00002c7a 
- 00012793  0x0000225f fetch  0x00000003 , 0x00000d74 
- 00012794  0x00002260 arg  0x00000178 , 0x00000011 
- 00012795  0x00002261 call  0x000032c4 
- 00012796  0x00002263 setarg  0x0000017b 
- 00012797  0x00002264 iadd  0x00000013 , 0x00000011 
- 00012798  0x00002265 ifetcht  0x00000003 , 0x00000011 
- 00012799  0x00002267 isub  0x00000002 , 0x0000003e 
- 00012800  0x00002268 ncall  0x00003207 , 0x00000005 
- 00012801  0x00002269 setarg  0x00000178 
- 00012802  0x0000226a iadd  0x00000013 , 0x00000011 
- 00012803  0x0000226b ifetch  0x00000003 , 0x00000011 
- 00012804  0x0000226d arg  0x0000017b , 0x00000011 
- 00012805  0x0000226e call  0x000032c4 
- 00012806  0x00002270 branch  0x00002f5e 
- 00012807  0x00002273 jam  0x00000021 , 0x00000d52 
- 00012808  0x00002274 branch  0x000031b9 
- 00012809  0x00002277 setarg  0x00000001 
- 00012810  0x00002278 call  0x000032ae 
- 00012811  0x0000227b setarg  0x00000140 
- 00012812  0x0000227c arg  0x0000000c , 0x00000007 
- 00012813  0x0000227d branch  0x00007f08 
- 00012814  0x00002280 call  0x000032ad 
- 00012815  0x00002283 setarg  0x00000000 
- 00012816  0x00002284 arg  0x0000000c , 0x00000007 
- 00012817  0x00002285 branch  0x00007f08 
- 00012818  0x00002288 call  0x000032bd 
- 00012819  0x0000228a beq  0x00000001 , 0x00003216 
- 00012820  0x0000228b beq  0x00000002 , 0x0000321b 
- 00012821  0x0000228c rtn 
- 00012822  0x0000228e setarg  0x0000010d 
- 00012823  0x0000228f call  0x0000327e 
- 00012824  0x00002290 arg  0x00000160 , 0x00000011 
- 00012825  0x00002291 call  0x000032bf 
- 00012826  0x00002294 branch  0x0000322d 
- 00012827  0x00002297 setarg  0x0000010d 
- 00012828  0x00002298 call  0x0000327e 
- 00012829  0x00002299 arg  0x00000164 , 0x00000011 
- 00012830  0x0000229a call  0x000032bf 
- 00012831  0x0000229d branch  0x0000322d 
- 00012832  0x000022a0 call  0x00002c7a 
- 00012833  0x000022a1 add  0x00000013 , 0x000000cd , 0x00000005 
- 00012834  0x000022a2 istore  0x00000001 , 0x00000005 
- 00012835  0x000022a3 rtn 
- 00012836  0x000022a6 call  0x00002c7a 
- 00012837  0x000022a7 add  0x00000013 , 0x000000be , 0x00000011 
- 00012838  0x000022a8 branch  0x0000327f 
- 00012839  0x000022aa call  0x00002c7a 
- 00012840  0x000022ab add  0x00000013 , 0x000000be , 0x00000005 
- 00012841  0x000022ac branch  0x0000322d 
- 00012842  0x000022af add  0x00000013 , 0x000000ae , 0x00000011 
- 00012843  0x000022b0 branch  0x0000327f 
- 00012844  0x000022b2 add  0x00000013 , 0x000000ae , 0x00000005 
- 00012845  0x000022b4 istore  0x00000004 , 0x00000005 
- 00012846  0x000022b5 rtn 
- 00012847  0x000022b8 add  0x00000013 , 0x00000090 , 0x00000005 
- 00012848  0x000022b9 branch  0x000032b4 
- 00012849  0x000022bc setarg  0x00000000 
- 00012850  0x000022be call  0x00002c7a 
- 00012851  0x000022bf add  0x00000013 , 0x00000085 , 0x00000005 
- 00012852  0x000022c0 branch  0x000032b4 
- 00012853  0x000022c3 add  0x00000013 , 0x00000042 , 0x00000005 
- 00012854  0x000022c4 branch  0x000032b4 
- 00012855  0x000022c7 setarg  0x00000004 
- 00012856  0x000022c9 add  0x00000013 , 0x000000cc , 0x00000005 
- 00012857  0x000022ca branch  0x000032b4 
- 00012858  0x000022cd add  0x00000013 , 0x00000087 , 0x00000011 
- 00012859  0x000022ce branch  0x000032d1 
- 00012860  0x000022d0 add  0x00000013 , 0x00000087 , 0x00000005 
- 00012861  0x000022d1 branch  0x000032b4 
- 00012862  0x000022d4 setarg  0x00000002 
- 00012863  0x000022d6 add  0x00000013 , 0x000000d0 , 0x00000005 
- 00012864  0x000022d7 branch  0x000032b4 
- 00012865  0x000022da setarg  0x00000001 
- 00012866  0x000022dc call  0x00002c7a 
- 00012867  0x000022dd add  0x00000013 , 0x000000ce , 0x00000005 
- 00012868  0x000022de branch  0x000032b4 
- 00012869  0x000022e1 call  0x00002c7a 
- 00012870  0x000022e2 add  0x00000013 , 0x000000b4 , 0x00000011 
- 00012871  0x000022e3 branch  0x000032d1 
- 00012872  0x000022e5 setarg  0x00000001 
- 00012873  0x000022e7 call  0x00002c7a 
- 00012874  0x000022e8 add  0x00000013 , 0x000000b4 , 0x00000005 
- 00012875  0x000022e9 branch  0x000032b4 
- 00012876  0x000022ec call  0x00002c7a 
- 00012877  0x000022ed add  0x00000013 , 0x000000b2 , 0x00000011 
- 00012878  0x000022ee branch  0x000032d1 
- 00012879  0x000022f0 setarg  0x00000001 
- 00012880  0x000022f2 call  0x00002c7a 
- 00012881  0x000022f3 add  0x00000013 , 0x000000b2 , 0x00000005 
- 00012882  0x000022f4 branch  0x000032b4 
- 00012883  0x000022f7 call  0x00002c7a 
- 00012884  0x000022f8 add  0x00000013 , 0x00000096 , 0x00000011 
- 00012885  0x000022f9 branch  0x000032d1 
- 00012886  0x000022fb add  0x00000013 , 0x00000096 , 0x00000005 
- 00012887  0x000022fc branch  0x000032b4 
- 00012888  0x000022ff add  0x00000013 , 0x000000cf , 0x00000011 
- 00012889  0x00002300 branch  0x000032d1 
- 00012890  0x00002302 setarg  0x00000000 
- 00012891  0x00002304 add  0x00000013 , 0x000000cf , 0x00000005 
- 00012892  0x00002305 branch  0x000032b4 
- 00012893  0x00002308 add  0x00000013 , 0x000000d2 , 0x00000011 
- 00012894  0x00002309 branch  0x000032d1 
- 00012895  0x0000230c add  0x00000013 , 0x00000001 , 0x00000011 
- 00012896  0x0000230d branch  0x000032d1 
- 00012897  0x00002310 add  0x00000013 , 0x000000b5 , 0x00000011 
- 00012898  0x00002311 branch  0x000032d1 
- 00012899  0x00002313 setarg  0x00000000 
- 00012900  0x00002315 call  0x00002c7a 
- 00012901  0x00002316 add  0x00000013 , 0x000000b5 , 0x00000005 
- 00012902  0x00002317 branch  0x000032b4 
- 00012903  0x0000231a call  0x00002c7a 
- 00012904  0x0000231b add  0x00000013 , 0x000000fb , 0x00000011 
- 00012905  0x0000231c ifetch  0x00000001 , 0x00000011 
- 00012906  0x0000231e store  0x00000001 , 0x000041de 
- 00012907  0x0000231f rtn 
- 00012908  0x00002322 call  0x00002c7a 
- 00012909  0x00002323 fetch  0x00000001 , 0x000041de 
- 00012910  0x00002325 add  0x00000013 , 0x000000fb , 0x00000005 
- 00012911  0x00002326 branch  0x000032b4 
- 00012912  0x00002329 add  0x00000013 , 0x000000fc , 0x00000011 
- 00012913  0x0000232a branch  0x000032d1 
- 00012914  0x0000232d add  0x00000013 , 0x000000fe , 0x00000005 
- 00012915  0x0000232e branch  0x000032b4 
- 00012916  0x00002331 setarg  0x00000109 
- 00012917  0x00002333 iadd  0x00000013 , 0x00000011 
- 00012918  0x00002334 ifetcht  0x00000001 , 0x00000011 
- 00012919  0x00002335 rtn 
- 00012920  0x00002338 setarg  0x00000135 
- 00012921  0x00002339 branch  0x000032d0 
- 00012922  0x0000233b setarg  0x00000000 
- 00012923  0x0000233d arg  0x00000135 , 0x00000011 
- 00012924  0x0000233e branch  0x000032b3 
- 00012925  0x00002341 setarg  0x0000012b 
- 00012926  0x00002343 call  0x000032cd 
- 00012927  0x00002345 ifetch  0x00000004 , 0x00000011 
- 00012928  0x00002346 rtn 
- 00012929  0x00002349 setarg  0x0000015f 
- 00012930  0x0000234a branch  0x000032d0 
- 00012931  0x0000234c setarg  0x00000000 
- 00012932  0x0000234e arg  0x0000015f , 0x00000011 
- 00012933  0x0000234f branch  0x000032b3 
- 00012934  0x00002352 setarg  0x00000000 
- 00012935  0x00002354 arg  0x0000015c , 0x00000011 
- 00012936  0x00002355 branch  0x000032b3 
- 00012937  0x00002358 arg  0x0000012f , 0x00000011 
- 00012938  0x00002359 branch  0x000032b3 
- 00012939  0x0000235c setarg  0x00000108 
- 00012940  0x0000235d branch  0x000032d0 
- 00012941  0x0000235f arg  0x00000108 , 0x00000011 
- 00012942  0x00002360 branch  0x000032b3 
- 00012943  0x00002363 setarg  0x00000105 
- 00012944  0x00002364 branch  0x000032d0 
- 00012945  0x00002366 setarg  0x00000000 
- 00012946  0x00002368 arg  0x00000105 , 0x00000011 
- 00012947  0x00002369 branch  0x000032b3 
- 00012948  0x0000236c setarg  0x00000104 
- 00012949  0x0000236d branch  0x000032d0 
- 00012950  0x0000236f setarg  0x00000000 
- 00012951  0x00002371 arg  0x00000104 , 0x00000011 
- 00012952  0x00002372 branch  0x000032b3 
- 00012953  0x00002375 setarg  0x00000000 
- 00012954  0x00002377 arg  0x0000013b , 0x00000011 
- 00012955  0x00002378 branch  0x000032b3 
- 00012956  0x0000237a setarg  0x00000001 
- 00012957  0x0000237b branch  0x0000329a 
- 00012958  0x0000237e setarg  0x0000010c 
- 00012959  0x0000237f call  0x000032cd 
- 00012960  0x00002380 ifetch  0x00000007 , 0x00000011 
- 00012961  0x00002381 rtn 
- 00012962  0x00002384 setarg  0x0000015e 
- 00012963  0x00002385 branch  0x000032d0 
- 00012964  0x00002387 setarg  0x00000000 
- 00012965  0x00002389 arg  0x0000015e , 0x00000011 
- 00012966  0x0000238a branch  0x000032b3 
- 00012967  0x0000238d setarg  0x00000000 
- 00012968  0x0000238f arg  0x00000180 , 0x00000011 
- 00012969  0x00002390 branch  0x000032b3 
- 00012970  0x00002393 setarg  0x00000000 
- 00012971  0x00002395 arg  0x0000017e , 0x00000011 
- 00012972  0x00002396 branch  0x000032b3 
- 00012973  0x00002399 setarg  0x00000000 
- 00012974  0x0000239b arg  0x0000017f , 0x00000011 
- 00012975  0x0000239c branch  0x000032b3 
- 00012976  0x0000239f arg  0x00000102 , 0x00000011 
- 00012977  0x000023a0 branch  0x000032b3 
- 00012978  0x000023a3 arg  0x00000103 , 0x00000011 
- 00012979  0x000023a5 call  0x000032c7 
- 00012980  0x000023a7 istore  0x00000001 , 0x00000005 
- 00012981  0x000023a8 rtn 
- 00012982  0x000023ab setarg  0x0000015d 
- 00012983  0x000023ac branch  0x000032d0 
- 00012984  0x000023af arg  0x0000015d , 0x00000011 
- 00012985  0x000023b0 branch  0x000032b3 
- 00012986  0x000023b3 setarg  0x0000018a 
- 00012987  0x000023b4 call  0x000032d0 
- 00012988  0x000023b5 branch  0x0000326a 
- 00012989  0x000023b8 setarg  0x0000010c 
- 00012990  0x000023b9 branch  0x000032d0 
- 00012991  0x000023bc copy  0x0000003f , 0x00000002 
- 00012992  0x000023bd copy  0x00000011 , 0x0000003f 
- 00012993  0x000023be iadd  0x00000013 , 0x00000005 
- 00012994  0x000023bf copy  0x00000002 , 0x0000003f 
- 00012995  0x000023c0 rtn 
- 00012996  0x000023c3 call  0x000032bf 
- 00012997  0x000023c5 istore  0x00000003 , 0x00000005 
- 00012998  0x000023c6 rtn 
- 00012999  0x000023c9 call  0x00002c7a 
- 00013000  0x000023cb copy  0x0000003f , 0x00000012 
- 00013001  0x000023cc copy  0x00000011 , 0x0000003f 
- 00013002  0x000023cd iadd  0x00000013 , 0x00000005 
- 00013003  0x000023ce copy  0x00000012 , 0x0000003f 
- 00013004  0x000023cf rtn 
- 00013005  0x000023d2 call  0x00002c7a 
- 00013006  0x000023d3 iadd  0x00000013 , 0x00000011 
- 00013007  0x000023d4 rtn 
- 00013008  0x000023d7 call  0x000032cd 
- 00013009  0x000023d9 ifetch  0x00000001 , 0x00000011 
- 00013010  0x000023da rtn 
- 00013011  0x000023dd call  0x000032cd 
- 00013012  0x000023de ifetcht  0x00000004 , 0x00000011 
- 00013013  0x000023df rtn 
- 00013014  0x000023e2 setarg  0x00000000 
- 00013015  0x000023e3 branch  0x000032b4 
- 00013016  0x000023e8 bpatch  0x000000c4 , 0x00004018 
- 00013017  0x000023e9 fetch  0x00000001 , 0x00004092 
- 00013018  0x000023ea branch  0x000032d8 , 0x00000034 
- 00013019  0x000023ec beq  0x00000004 , 0x00002f30 
- 00013020  0x000023ed beq  0x0000000f , 0x00003436 
- 00013021  0x000023ee beq  0x00000009 , 0x000045de 
- 00013022  0x000023ef beq  0x0000000a , 0x0000392a 
- 00013023  0x000023f0 beq  0x0000000e , 0x000035bf 
- 00013024  0x000023f1 beq  0x00000010 , 0x000044a4 
- 00013025  0x000023f2 bbit1  0x00000006 , 0x00003d00 
- 00013026  0x000023f3 rtn 
- 00013027  0x000023f6 bpatch  0x000000c5 , 0x00004018 
- 00013028  0x000023f7 jam  0x00000000 , 0x00000151 
- 00013029  0x000023f8 jam  0x00000000 , 0x0000017f 
- 00013030  0x000023f9 jam  0x00000000 , 0x00000180 
- 00013031  0x000023fa setarg  0x00000000 
- 00013032  0x000023fb store  0x00000005 , 0x000009ae 
- 00013033  0x000023fc fetch  0x00000001 , 0x00004092 
- 00013034  0x000023fd branch  0x000032e3 , 0x00000034 
- 00013035  0x000023fe beq  0x0000000a , 0x00003962 
- 00013036  0x00002400 rtn 
- 00013037  0x00002404 call  0x00007cd1 
- 00013038  0x00002405 call  0x00007d9c 
- 00013039  0x00002406 call  0x000032f6 
- 00013040  0x00002407 fetch  0x00000002 , 0x000041f3 
- 00013041  0x00002408 branch  0x00007f9c 
- 00013042  0x0000240b fetch  0x00000002 , 0x000041f1 
- 00013043  0x0000240c branch  0x00007f9c 
- 00013044  0x0000240f fetch  0x00000002 , 0x000041ef 
- 00013045  0x00002410 branch  0x00007f9c 
- 00013046  0x00002413 bpatch  0x000000c6 , 0x00004018 
- 00013047  0x00002415 arg  0x00004668 , 0x00000011 
- 00013048  0x00002416 call  0x00007fc4 
- 00013049  0x00002417 rtn  0x00000034 
- 00013050  0x00002419 copy  0x0000003f , 0x00000013 
- 00013051  0x0000241a call  0x000032ff 
- 00013052  0x0000241b branch  0x00003324 
- 00013053  0x0000241e arg  0x00000000 , 0x00000013 
- 00013054  0x0000241f rtn 
- 00013055  0x00002425 beq  0x00000001 , 0x00003311 
- 00013056  0x00002426 beq  0x00000010 , 0x00003357 
- 00013057  0x00002427 beq  0x00000005 , 0x00003335 
- 00013058  0x00002428 beq  0x00000012 , 0x0000333c 
- 00013059  0x00002429 beq  0x00000006 , 0x00003353 
- 00013060  0x0000242a beq  0x00000004 , 0x00003394 
- 00013061  0x0000242b beq  0x00000002 , 0x00003399 
- 00013062  0x0000242c beq  0x00000013 , 0x00003394 
- 00013063  0x0000242d beq  0x00000014 , 0x0000334b 
- 00013064  0x0000242e beq  0x00000015 , 0x0000334f 
- 00013065  0x0000242f beq  0x00000003 , 0x0000332e 
- 00013066  0x00002430 beq  0x0000000b , 0x00003340 
- 00013067  0x00002431 beq  0x0000000c , 0x00003347 
- 00013068  0x00002433 beq  0x00000016 , 0x0000335b 
- 00013069  0x00002434 beq  0x00000018 , 0x0000332a 
- 00013070  0x00002435 beq  0x0000002a , 0x0000331a 
- 00013071  0x00002436 beq  0x0000002b , 0x00003318 
- 00013072  0x00002437 rtn 
- 00013073  0x0000243b fetch  0x00000002 , 0x00004682 
- 00013074  0x0000243c set1  0x00000000 , 0x0000003f 
- 00013075  0x0000243d store  0x00000002 , 0x00004682 
- 00013076  0x0000243e fetch  0x00000002 , 0x0000420a 
- 00013077  0x0000243f set0  0x00000000 , 0x0000003f 
- 00013078  0x00002440 store  0x00000002 , 0x0000420a 
- 00013079  0x00002441 rtn 
- 00013080  0x00002444 jam  0x00000000 , 0x00000229 
- 00013081  0x00002445 rtn 
- 00013082  0x00002448 fetch  0x00000001 , 0x00000229 
- 00013083  0x00002449 increase  0x00000001 , 0x0000003f 
- 00013084  0x0000244a store  0x00000001 , 0x00000229 
- 00013085  0x0000244b sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00013086  0x0000244c branch  0x000033df , 0x00000002 
- 00013087  0x0000244d jam  0x00000000 , 0x00000229 
- 00013088  0x0000244e fetch  0x00000002 , 0x0000420a 
- 00013089  0x0000244f set1  0x00000009 , 0x0000003f 
- 00013090  0x00002450 store  0x00000002 , 0x0000420a 
- 00013091  0x00002451 branch  0x000033e9 
- 00013092  0x00002454 fetch  0x00000002 , 0x000041f5 
- 00013093  0x00002455 branch  0x00007f9c 
- 00013094  0x00002458 fetch  0x00000002 , 0x000041e9 
- 00013095  0x00002459 branch  0x00007f9c 
- 00013096  0x0000245c fetch  0x00000002 , 0x000041ed 
- 00013097  0x0000245d branch  0x00007f9c 
- 00013098  0x00002460 fetch  0x00000002 , 0x0000420a 
- 00013099  0x00002461 set1  0x00000001 , 0x0000003f 
- 00013100  0x00002462 store  0x00000002 , 0x0000420a 
- 00013101  0x00002463 branch  0x00003412 
- 00013102  0x00002466 fetch  0x00000002 , 0x00004682 
- 00013103  0x00002467 set1  0x00000007 , 0x0000003f 
- 00013104  0x00002468 store  0x00000002 , 0x00004682 
- 00013105  0x00002469 fetch  0x00000002 , 0x0000420a 
- 00013106  0x0000246a set1  0x00000002 , 0x0000003f 
- 00013107  0x0000246b store  0x00000002 , 0x0000420a 
- 00013108  0x0000246c rtn 
- 00013109  0x0000246f fetch  0x00000002 , 0x00004682 
- 00013110  0x00002470 set1  0x00000001 , 0x0000003f 
- 00013111  0x00002471 store  0x00000002 , 0x00004682 
- 00013112  0x00002472 fetch  0x00000002 , 0x0000420a 
- 00013113  0x00002473 set1  0x00000004 , 0x0000003f 
- 00013114  0x00002474 store  0x00000002 , 0x0000420a 
- 00013115  0x00002475 rtn 
- 00013116  0x00002478 fetch  0x00000002 , 0x00004682 
- 00013117  0x00002479 set1  0x00000003 , 0x0000003f 
- 00013118  0x0000247a store  0x00000002 , 0x00004682 
- 00013119  0x0000247b rtn 
- 00013120  0x0000247e fetch  0x00000002 , 0x00004682 
- 00013121  0x0000247f set1  0x00000005 , 0x0000003f 
- 00013122  0x00002480 store  0x00000002 , 0x00004682 
- 00013123  0x00002481 fetch  0x00000002 , 0x0000420a 
- 00013124  0x00002482 set1  0x00000003 , 0x0000003f 
- 00013125  0x00002483 store  0x00000002 , 0x0000420a 
- 00013126  0x00002484 rtn 
- 00013127  0x00002487 fetch  0x00000002 , 0x00004682 
- 00013128  0x00002488 set0  0x00000005 , 0x0000003f 
- 00013129  0x00002489 store  0x00000002 , 0x00004682 
- 00013130  0x0000248a rtn 
- 00013131  0x0000248d fetch  0x00000002 , 0x00004682 
- 00013132  0x0000248e set1  0x00000009 , 0x0000003f 
- 00013133  0x0000248f store  0x00000002 , 0x00004682 
- 00013134  0x00002490 rtn 
- 00013135  0x00002493 fetch  0x00000002 , 0x00004682 
- 00013136  0x00002494 set0  0x00000009 , 0x0000003f 
- 00013137  0x00002495 store  0x00000002 , 0x00004682 
- 00013138  0x00002496 branch  0x00003418 
- 00013139  0x00002499 fetch  0x00000002 , 0x00004682 
- 00013140  0x0000249a set1  0x00000002 , 0x0000003f 
- 00013141  0x0000249b store  0x00000002 , 0x00004682 
- 00013142  0x0000249c rtn 
- 00013143  0x0000249f fetch  0x00000002 , 0x0000420a 
- 00013144  0x000024a0 set1  0x00000000 , 0x0000003f 
- 00013145  0x000024a1 store  0x00000002 , 0x0000420a 
- 00013146  0x000024a2 rtn 
- 00013147  0x000024a5 fetch  0x00000002 , 0x0000420a 
- 00013148  0x000024a6 set1  0x00000008 , 0x0000003f 
- 00013149  0x000024a7 store  0x00000002 , 0x0000420a 
- 00013150  0x000024a8 branch  0x000033e9 
- 00013151  0x000024ac bpatch  0x000000c7 , 0x00004018 
- 00013152  0x000024ad store  0x00000001 , 0x0000022a 
- 00013153  0x000024af fetch  0x00000001 , 0x0000022a 
- 00013154  0x000024b0 rtn  0x00000034 
- 00013155  0x000024b1 increase  0xffffffff , 0x0000003f 
- 00013156  0x000024b2 store  0x00000001 , 0x0000022a 
- 00013157  0x000024b3 call  0x00007cdd 
- 00013158  0x000024b4 call  0x000033d6 
- 00013159  0x000024b5 call  0x00003387 
- 00013160  0x000024b6 call  0x0000338d 
- 00013161  0x000024b7 call  0x0000651b 
- 00013162  0x000024b8 fetch  0x00000002 , 0x000041fd 
- 00013163  0x000024b9 call  0x00007f9c 
- 00013164  0x000024ba branch  0x00003361 
- 00013165  0x000024c0 ifetch  0x00000001 , 0x00000013 
- 00013166  0x000024c1 rtn  0x00000034 
- 00013167  0x000024c2 pincrease  0xffffffff 
- 00013168  0x000024c3 istore  0x00000001 , 0x00000013 
- 00013169  0x000024c4 nrtn  0x00000034 
- 00013170  0x000024c5 copy  0x00000012 , 0x0000003f 
- 00013171  0x000024c6 branch  0x00007f9c 
- 00013172  0x000024cb ifetch  0x00000002 , 0x00000013 
- 00013173  0x000024cc rtn  0x00000034 
- 00013174  0x000024cd pincrease  0xffffffff 
- 00013175  0x000024ce istore  0x00000002 , 0x00000013 
- 00013176  0x000024cf nrtn  0x00000034 
- 00013177  0x000024d0 copy  0x00000012 , 0x0000003f 
- 00013178  0x000024d1 branch  0x00007f9c 
- 00013179  0x000024d4 fetcht  0x00000002 , 0x0000423f 
- 00013180  0x000024d5 add  0x00000002 , 0x00000001 , 0x00000013 
- 00013181  0x000024d6 arg  0x0000337f , 0x00000012 
- 00013182  0x000024d7 branch  0x0000336d 
- 00013183  0x000024da call  0x0000342d 
- 00013184  0x000024db beq  0x00000001 , 0x00003382 
- 00013185  0x000024dd branch  0x0000340a 
- 00013186  0x000024df setarg  0x00000002 
- 00013187  0x000024e0 istore  0x00000001 , 0x00000013 
- 00013188  0x000024e1 add  0x00000002 , 0x00000008 , 0x00000012 
- 00013189  0x000024e3 ifetch  0x00000002 , 0x00000012 
- 00013190  0x000024e4 branch  0x00007f9c 
- 00013191  0x000024e7 arg  0x00004205 , 0x00000013 
- 00013192  0x000024e8 arg  0x0000338a , 0x00000012 
- 00013193  0x000024e9 branch  0x0000336d 
- 00013194  0x000024ec call  0x00002252 
- 00013195  0x000024ed branch  0x0000340e , 0x00000005 
- 00013196  0x000024ee rtn 
- 00013197  0x000024f2 arg  0x0000467e , 0x00000013 
- 00013198  0x000024f3 arg  0x00003390 , 0x00000012 
- 00013199  0x000024f4 branch  0x00003374 
- 00013200  0x000024f7 call  0x000033f0 
- 00013201  0x000024f8 call  0x00003408 
- 00013202  0x000024f9 fetch  0x00000002 , 0x000041f7 
- 00013203  0x000024fa branch  0x00007f9c 
- 00013204  0x000024fe call  0x000033ac 
- 00013205  0x00002500 fetch  0x00000002 , 0x00004682 
- 00013206  0x00002501 set0  0x00000007 , 0x0000003f 
- 00013207  0x00002502 store  0x00000002 , 0x00004682 
- 00013208  0x00002503 rtn 
- 00013209  0x00002506 jam  0x00000000 , 0x00004205 
- 00013210  0x00002507 fetch  0x00000002 , 0x00004682 
- 00013211  0x00002508 bbit1  0x00000007 , 0x0000339e 
- 00013212  0x00002509 isolate0  0x00000001 , 0x0000003f 
- 00013213  0x0000250a call  0x000032fd , 0x00000001 
- 00013214  0x0000250c bpatch  0x000000c8 , 0x00004019 
- 00013215  0x0000250d fetch  0x00000002 , 0x00004682 
- 00013216  0x0000250e set0  0x00000000 , 0x0000003f 
- 00013217  0x0000250f set0  0x00000001 , 0x0000003f 
- 00013218  0x00002510 set0  0x00000002 , 0x0000003f 
- 00013219  0x00002511 set0  0x00000003 , 0x0000003f 
- 00013220  0x00002512 set0  0x00000007 , 0x0000003f 
- 00013221  0x00002513 store  0x00000002 , 0x00004682 
- 00013222  0x00002514 branch  0x00003418 
- 00013223  0x00002517 call  0x000033a9 
- 00013224  0x00002518 branch  0x0000340a 
- 00013225  0x0000251c setarg  0x00000000 
- 00013226  0x0000251d store  0x00000002 , 0x00004208 
- 00013227  0x0000251e rtn 
- 00013228  0x00002520 setarg  0x00000000 
- 00013229  0x00002521 store  0x00000002 , 0x0000420a 
- 00013230  0x00002522 rtn 
- 00013231  0x00002525 fetch  0x00000002 , 0x0000420a 
- 00013232  0x00002526 store  0x00000002 , 0x00004208 
- 00013233  0x00002527 setarg  0x00000000 
- 00013234  0x00002528 store  0x00000002 , 0x0000420a 
- 00013235  0x00002529 rtn 
- 00013236  0x0000252c fetch  0x00000002 , 0x0000420a 
- 00013237  0x0000252d set1  0x00000007 , 0x0000003f 
- 00013238  0x0000252e store  0x00000002 , 0x00004208 
- 00013239  0x0000252f setarg  0x00000000 
- 00013240  0x00002530 store  0x00000002 , 0x0000420a 
- 00013241  0x00002531 rtn 
- 00013242  0x0000253a fetch  0x00000001 , 0x00004682 
- 00013243  0x0000253b isolate1  0x00000005 , 0x0000003f 
- 00013244  0x0000253c rtn 
- 00013245  0x00002545 setarg  0x0000aa55 
- 00013246  0x00002547 store  0x00000002 , 0x00000aaa 
- 00013247  0x00002548 bpatch  0x000000c9 , 0x00004019 
- 00013248  0x00002549 arg  0x00000002 , 0x00000002 
- 00013249  0x0000254a arg  0x00000aaa , 0x00000011 
- 00013250  0x0000254b arg  0x000000c3 , 0x00000012 
- 00013251  0x0000254c branch  0x00006606 
- 00013252  0x00002550 bpatch  0x000000ca , 0x00004019 
- 00013253  0x00002551 arg  0x00000002 , 0x00000002 
- 00013254  0x00002552 arg  0x00000a9a , 0x00000011 
- 00013255  0x00002553 arg  0x000000c3 , 0x00000012 
- 00013256  0x00002554 call  0x000065df 
- 00013257  0x00002555 fetch  0x00000002 , 0x00000a9a 
- 00013258  0x00002556 arg  0x0000aa55 , 0x00000002 
- 00013259  0x00002557 isub  0x00000002 , 0x0000003e 
- 00013260  0x00002558 rtn 
- 00013261  0x0000255c fetch  0x00000001 , 0x0000455a 
- 00013262  0x0000255d store  0x00000001 , 0x00004205 
- 00013263  0x0000255e rtn 
- 00013264  0x00002561 arg  0x00000009 , 0x00000007 
- 00013265  0x00002562 branch  0x00002c32 
- 00013266  0x00002565 arg  0x00000009 , 0x00000007 
- 00013267  0x00002566 branch  0x00002c36 
- 00013268  0x00002569 jam  0x00000005 , 0x00004206 
- 00013269  0x0000256a branch  0x000033d0 
- 00013270  0x0000256d arg  0x00004206 , 0x00000013 
- 00013271  0x0000256e arg  0x000033d2 , 0x00000012 
- 00013272  0x0000256f branch  0x0000336d 
- 00013273  0x00002572 jam  0x00000001 , 0x00004363 
- 00013274  0x00002573 rtn 
- 00013275  0x00002576 jam  0x00000000 , 0x00004363 
- 00013276  0x00002577 rtn 
- 00013277  0x0000257a jam  0x0000000a , 0x00000a99 
- 00013278  0x0000257b branch  0x00007d8f 
- 00013279  0x0000257e jam  0x0000001d , 0x00000a99 
- 00013280  0x0000257f branch  0x00007d8f 
- 00013281  0x00002582 bpatch  0x000000cb , 0x00004019 
- 00013282  0x00002583 fetch  0x00000001 , 0x00004207 
- 00013283  0x00002584 store  0x00000001 , 0x0000016d 
- 00013284  0x00002585 jam  0x00000001 , 0x00000228 
- 00013285  0x00002586 jam  0x00000003 , 0x00000a99 
- 00013286  0x00002587 branch  0x00007d8f 
- 00013287  0x0000258a jam  0x0000001e , 0x00000a99 
- 00013288  0x0000258b branch  0x00007d8f 
- 00013289  0x0000258e jam  0x00000004 , 0x00000a99 
- 00013290  0x0000258f branch  0x00007d8f 
- 00013291  0x00002592 fetch  0x00000002 , 0x00004687 
- 00013292  0x00002593 store  0x00000002 , 0x0000467e 
- 00013293  0x00002595 call  0x00003404 
- 00013294  0x00002597 jam  0x00000001 , 0x00000a99 
- 00013295  0x00002598 branch  0x00007d8f 
- 00013296  0x0000259b setarg  0x00000000 
- 00013297  0x0000259c store  0x00000002 , 0x0000467e 
- 00013298  0x0000259d jam  0x00000002 , 0x00000a99 
- 00013299  0x0000259e branch  0x00007d8f 
- 00013300  0x000025a1 jam  0x0000000f , 0x00000a99 
- 00013301  0x000025a2 branch  0x00007d8f 
- 00013302  0x000025a5 jam  0x00000010 , 0x00000a99 
- 00013303  0x000025a6 branch  0x00007d8f 
- 00013304  0x000025a9 jam  0x0000000e , 0x00000a99 
- 00013305  0x000025aa branch  0x00007d8f 
- 00013306  0x000025ad jam  0x0000000d , 0x00000a99 
- 00013307  0x000025ae branch  0x00007d8f 
- 00013308  0x000025b1 jam  0x00000017 , 0x00000a99 
- 00013309  0x000025b2 branch  0x00007d8f 
- 00013310  0x000025b5 jam  0x00000018 , 0x00000a99 
- 00013311  0x000025b6 branch  0x00007d8f 
- 00013312  0x000025b9 jam  0x00000016 , 0x00000a99 
- 00013313  0x000025ba branch  0x00007d8f 
- 00013314  0x000025bd jam  0x00000011 , 0x00000a99 
- 00013315  0x000025be branch  0x00007d8f 
- 00013316  0x000025c1 jam  0x00000015 , 0x00000a99 
- 00013317  0x000025c2 branch  0x00007d8f 
- 00013318  0x000025c5 jam  0x00000014 , 0x00000a99 
- 00013319  0x000025c6 branch  0x00007d8f 
- 00013320  0x000025ca jam  0x00000013 , 0x00000a99 
- 00013321  0x000025cb branch  0x00007d8f 
- 00013322  0x000025ce jam  0x00000019 , 0x00000a99 
- 00013323  0x000025cf branch  0x00007d8f 
- 00013324  0x000025d2 jam  0x00000006 , 0x00000a99 
- 00013325  0x000025d3 branch  0x00007d8f 
- 00013326  0x000025d6 jam  0x00000005 , 0x00000a99 
- 00013327  0x000025d7 branch  0x00007d8f 
- 00013328  0x000025da jam  0x0000001f , 0x00000a99 
- 00013329  0x000025db branch  0x00007d8f 
- 00013330  0x000025de jam  0x00000020 , 0x00000a99 
- 00013331  0x000025df branch  0x00007d8f 
- 00013332  0x000025e2 jam  0x00000025 , 0x00000a99 
- 00013333  0x000025e3 branch  0x00007d8f 
- 00013334  0x000025e6 set1  0x0000000d , 0x00000000 
- 00013335  0x000025e7 rtn 
- 00013336  0x000025ea set0  0x0000000d , 0x00000000 
- 00013337  0x000025eb rtn 
- 00013338  0x00002600 call  0x0000342d 
- 00013339  0x00002601 beq  0x00000002 , 0x00003424 
- 00013340  0x00002603 setarg  0x00000001 
- 00013341  0x00002604 istore  0x00000001 , 0x00000013 
- 00013342  0x00002605 add  0x00000002 , 0x00000003 , 0x00000011 
- 00013343  0x00002606 add  0x00000002 , 0x00000006 , 0x00000012 
- 00013344  0x00002608 ifetcht  0x00000001 , 0x00000011 
- 00013345  0x00002609 increase  0x00000001 , 0x00000013 
- 00013346  0x0000260a istoret  0x00000001 , 0x00000013 
- 00013347  0x0000260b branch  0x00003385 
- 00013348  0x0000260e setarg  0x00000000 
- 00013349  0x0000260f istore  0x00000001 , 0x00000013 
- 00013350  0x00002610 fetch  0x00000002 , 0x00004682 
- 00013351  0x00002611 bbit0  0x00000009 , 0x00003429 
- 00013352  0x00002612 call  0x00003402 
- 00013353  0x00002614 fetcht  0x00000002 , 0x0000423f 
- 00013354  0x00002615 add  0x00000002 , 0x00000002 , 0x00000011 
- 00013355  0x00002616 add  0x00000002 , 0x00000004 , 0x00000012 
- 00013356  0x00002617 branch  0x00003420 
- 00013357  0x0000261a fetcht  0x00000002 , 0x0000423f 
- 00013358  0x0000261b add  0x00000002 , 0x00000000 , 0x00000013 
- 00013359  0x0000261c ifetch  0x00000001 , 0x00000013 
- 00013360  0x0000261d rtn 
- 00013361  0x00002620 call  0x0000342d 
- 00013362  0x00002621 bne  0x00000000 , 0x00003434 
- 00013363  0x00002622 branch  0x0000340a 
- 00013364  0x00002624 add  0x00000002 , 0x0000000a , 0x00000012 
- 00013365  0x00002625 branch  0x00003385 
- 00013366  0x00002628 rtn  0x0000002b 
- 00013367  0x00002629 jam  0x00000000 , 0x00008081 
- 00013368  0x0000262a setarg  0x00003463 
- 00013369  0x0000262b store  0x00000002 , 0x000041eb 
- 00013370  0x0000262c setarg  0x0000696c 
- 00013371  0x0000262d store  0x00000002 , 0x000041ed 
- 00013372  0x0000262e setarg  0x000034f5 
- 00013373  0x0000262f store  0x00000002 , 0x000041f3 
- 00013374  0x00002630 setarg  0x000034f4 
- 00013375  0x00002631 store  0x00000002 , 0x000041ef 
- 00013376  0x00002632 setarg  0x0000347e 
- 00013377  0x00002633 store  0x00000002 , 0x000041f5 
- 00013378  0x00002634 setarg  0x000034b2 
- 00013379  0x00002635 store  0x00000002 , 0x000041fd 
- 00013380  0x00002636 setarg  0x00003465 
- 00013381  0x00002637 store  0x00000002 , 0x000041fb 
- 00013382  0x00002638 setarg  0x00003470 
- 00013383  0x00002639 store  0x00000002 , 0x000041e9 
- 00013384  0x0000263a setarg  0x00003501 
- 00013385  0x0000263b store  0x00000002 , 0x000041f9 
- 00013386  0x0000263c bpatch  0x000000cc , 0x00004019 
- 00013387  0x0000263d call  0x0000359b 
- 00013388  0x0000263e call  0x00006948 
- 00013389  0x0000263f call  0x000035ad 
- 00013390  0x00002640 call  0x00007d08 
- 00013391  0x00002641 call  0x00007cd3 
- 00013392  0x00002642 setarg  0x0000350b 
- 00013393  0x00002643 store  0x00000002 , 0x00004766 
- 00013394  0x00002644 setarg  0x000034fc 
- 00013395  0x00002645 store  0x00000002 , 0x0000475d 
- 00013396  0x00002646 setarg  0x000034f8 
- 00013397  0x00002647 store  0x00000002 , 0x0000475f 
- 00013398  0x00002648 setarg  0x0000346c 
- 00013399  0x00002649 store  0x00000002 , 0x00004761 
- 00013400  0x0000264a setarg  0x000035a2 
- 00013401  0x0000264b store  0x00000002 , 0x000046a9 
- 00013402  0x0000264c setarg  0x000035a4 
- 00013403  0x0000264d store  0x00000002 , 0x000046ab 
- 00013404  0x0000264e setarg  0x000035a9 
- 00013405  0x0000264f store  0x00000002 , 0x000046b4 
- 00013406  0x00002650 setarg  0x000035a6 
- 00013407  0x00002651 store  0x00000002 , 0x000046b6 
- 00013408  0x00002652 fetch  0x00000002 , 0x00004682 
- 00013409  0x00002653 rtnbit1  0x0000000c 
- 00013410  0x00002654 branch  0x0000340a 
- 00013411  0x00002657 call  0x00003586 
- 00013412  0x00002658 branch  0x0000340a 
- 00013413  0x0000265b call  0x00005892 
- 00013414  0x0000265c nrtn  0x00000034 
- 00013415  0x0000265d arg  0x00000b06 , 0x00000011 
- 00013416  0x0000265e call  0x00007e54 
- 00013417  0x0000265f nrtn  0x00000028 
- 00013418  0x00002660 arg  0x00000b06 , 0x00000006 
- 00013419  0x00002661 branch  0x00004746 
- 00013420  0x00002664 fetch  0x00000002 , 0x00004797 
- 00013421  0x00002665 store  0x00000002 , 0x00004791 
- 00013422  0x00002666 jam  0x00000001 , 0x00004753 
- 00013423  0x00002667 branch  0x0000358f 
- 00013424  0x0000266a fetch  0x00000001 , 0x0000479d 
- 00013425  0x0000266b beq  0x00000001 , 0x00003479 
- 00013426  0x0000266c fetch  0x00000002 , 0x00004682 
- 00013427  0x0000266d bbit0  0x00000009 , 0x00003479 
- 00013428  0x0000266e fetch  0x00000001 , 0x0000479e 
- 00013429  0x0000266f beq  0x00000001 , 0x000033d0 
- 00013430  0x00002670 fetch  0x00000001 , 0x00004700 
- 00013431  0x00002671 nbranch  0x000033d0 , 0x00000034 
- 00013432  0x00002672 branch  0x000033d2 
- 00013433  0x00002675 fetch  0x00000001 , 0x0000479b 
- 00013434  0x00002676 fetcht  0x00000001 , 0x0000479c 
- 00013435  0x00002677 ior  0x00000002 , 0x0000003f 
- 00013436  0x00002678 beq  0x00000001 , 0x000033d0 
- 00013437  0x00002679 branch  0x000033d2 
- 00013438  0x0000267c copy  0x00000013 , 0x0000003f 
- 00013439  0x0000267d beq  0x0000002d , 0x00003431 
- 00013440  0x0000267e beq  0x00000010 , 0x0000341a 
- 00013441  0x0000267f beq  0x00000014 , 0x000034df 
- 00013442  0x00002680 beq  0x00000015 , 0x000034e8 
- 00013443  0x00002681 beq  0x00000040 , 0x00003485 
- 00013444  0x00002682 rtn 
- 00013445  0x00002684 fetch  0x00000002 , 0x00004509 
- 00013446  0x00002685 beq  0x00000001 , 0x0000348c 
- 00013447  0x00002687 fetch  0x00000002 , 0x000043d8 
- 00013448  0x00002688 branch  0x000034a2 , 0x00000034 
- 00013449  0x0000268a jam  0x00000002 , 0x0000478a 
- 00013450  0x0000268b jam  0x0000003c , 0x0000478f 
- 00013451  0x0000268c rtn 
- 00013452  0x0000268f fetch  0x00000002 , 0x0000449a 
- 00013453  0x00002690 branch  0x000034a0 , 0x00000034 
- 00013454  0x00002692 jam  0x00000001 , 0x0000478a 
- 00013455  0x00002693 fetcht  0x00000002 , 0x000047b4 
- 00013456  0x00002694 fetch  0x00000002 , 0x00004496 
- 00013457  0x00002695 iadd  0x00000002 , 0x0000003f 
- 00013458  0x00002696 store  0x00000002 , 0x00004496 
- 00013459  0x00002697 copy  0x0000003f , 0x00000011 
- 00013460  0x00002698 fetch  0x00000002 , 0x00004498 
- 00013461  0x00002699 iadd  0x00000002 , 0x0000003f 
- 00013462  0x0000269a store  0x00000002 , 0x00004498 
- 00013463  0x0000269b iadd  0x00000011 , 0x0000003f 
- 00013464  0x0000269c rshift  0x0000003f , 0x00000002 
- 00013465  0x0000269d fetch  0x00000002 , 0x000047c0 
- 00013466  0x0000269e idiv  0x00000002 
- 00013467  0x0000269f call  0x00007f86 
- 00013468  0x000026a0 quotient  0x0000003f 
- 00013469  0x000026a1 store  0x00000002 , 0x0000449a 
- 00013470  0x000026a2 jam  0x00000001 , 0x00004790 
- 00013471  0x000026a3 rtn 
- 00013472  0x000026a5 jam  0x00000003 , 0x0000478a 
- 00013473  0x000026a6 rtn 
- 00013474  0x000026a9 jam  0x00000000 , 0x00004172 
- 00013475  0x000026aa jam  0x00000000 , 0x00004790 
- 00013476  0x000026ab fetch  0x00000002 , 0x000043d6 
- 00013477  0x000026ac fetcht  0x00000002 , 0x000047be 
- 00013478  0x000026ad isub  0x00000002 , 0x0000003e 
- 00013479  0x000026ae setflag  0x00000002 , 0x00000000 , 0x00000011 
- 00013480  0x000026af fetch  0x00000002 , 0x000047c0 
- 00013481  0x000026b0 fetcht  0x00000002 , 0x000043d6 
- 00013482  0x000026b1 isub  0x00000002 , 0x0000003f 
- 00013483  0x000026b2 setflag  0x00000002 , 0x00000001 , 0x00000011 
- 00013484  0x000026b3 compare  0x00000003 , 0x00000011 , 0x00000003 
- 00013485  0x000026b4 rtn  0x00000001 
- 00013486  0x000026b5 fetch  0x00000008 , 0x000047be 
- 00013487  0x000026b6 store  0x00000008 , 0x00004496 
- 00013488  0x000026b7 jam  0x00000001 , 0x00004790 
- 00013489  0x000026b8 rtn 
- 00013490  0x000026bd call  0x0000337b 
- 00013491  0x000026be call  0x000034b9 
- 00013492  0x000026bf call  0x000034be 
- 00013493  0x000026c0 call  0x000034d5 
- 00013494  0x000026c1 call  0x000034ca 
- 00013495  0x000026c2 call  0x000034c4 
- 00013496  0x000026c3 branch  0x000034d9 
- 00013497  0x000026c7 arg  0x00004799 , 0x00000013 
- 00013498  0x000026c8 arg  0x000034bc , 0x00000012 
- 00013499  0x000026c9 branch  0x0000336d 
- 00013500  0x000026cb jam  0x00000000 , 0x0000479a 
- 00013501  0x000026cc rtn 
- 00013502  0x000026ce arg  0x00004793 , 0x00000013 
- 00013503  0x000026cf arg  0x000034c1 , 0x00000012 
- 00013504  0x000026d0 branch  0x00003374 
- 00013505  0x000026d2 arg  0x000046bf , 0x00000013 
- 00013506  0x000026d3 arg  0x0000469e , 0x00000012 
- 00013507  0x000026d4 branch  0x00003591 
- 00013508  0x000026d8 arg  0x0000478f , 0x00000013 
- 00013509  0x000026d9 arg  0x000034c7 , 0x00000012 
- 00013510  0x000026da branch  0x0000336d 
- 00013511  0x000026dd fetch  0x00000002 , 0x0000449a 
- 00013512  0x000026de store  0x00000001 , 0x00004172 
- 00013513  0x000026df rtn 
- 00013514  0x000026e1 arg  0x00004790 , 0x00000013 
- 00013515  0x000026e2 arg  0x000034cd , 0x00000012 
- 00013516  0x000026e3 branch  0x0000336d 
- 00013517  0x000026e5 fetch  0x00000001 , 0x0000043f 
- 00013518  0x000026e6 compare  0x00000000 , 0x0000003f , 0x00000060 
- 00013519  0x000026e7 nbranch  0x000034d3 , 0x00000001 
- 00013520  0x000026e8 jam  0x00000001 , 0x0000478a 
- 00013521  0x000026e9 call  0x00003416 
- 00013522  0x000026ea branch  0x00005abf 
- 00013523  0x000026ec jam  0x00000001 , 0x00004790 
- 00013524  0x000026ed rtn 
- 00013525  0x000026f0 arg  0x00004791 , 0x00000013 
- 00013526  0x000026f1 arg  0x000034d8 , 0x00000012 
- 00013527  0x000026f2 branch  0x00003374 
- 00013528  0x000026f6 branch  0x0000341a 
- 00013529  0x000026fb arg  0x0000478d , 0x00000013 
- 00013530  0x000026fc arg  0x000034dc , 0x00000012 
- 00013531  0x000026fd branch  0x00003374 
- 00013532  0x000026ff fetch  0x00000002 , 0x000047a7 
- 00013533  0x00002700 store  0x00000002 , 0x0000478d 
- 00013534  0x00002701 branch  0x000035af 
- 00013535  0x00002705 fetch  0x00000002 , 0x000047a7 
- 00013536  0x00002706 store  0x00000002 , 0x0000478d 
- 00013537  0x00002707 setarg  0x00000000 
- 00013538  0x00002708 store  0x00000002 , 0x00004793 
- 00013539  0x00002709 store  0x00000002 , 0x00004791 
- 00013540  0x0000270a call  0x0000355c 
- 00013541  0x0000270b call  0x00003586 
- 00013542  0x0000270c jam  0x00000000 , 0x00004172 
- 00013543  0x0000270d branch  0x000033f8 
- 00013544  0x00002713 setarg  0x00000000 
- 00013545  0x00002714 store  0x00000004 , 0x0000478d 
- 00013546  0x00002715 store  0x00000003 , 0x0000478a 
- 00013547  0x00002716 store  0x00000002 , 0x00004509 
- 00013548  0x00002718 jam  0x00000001 , 0x000047a0 
- 00013549  0x00002719 fetch  0x00000002 , 0x00004797 
- 00013550  0x0000271a store  0x00000002 , 0x00004791 
- 00013551  0x0000271b call  0x00007e38 
- 00013552  0x0000271c fetch  0x00000001 , 0x00004759 
- 00013553  0x0000271d rtneq  0x00000000 
- 00013554  0x0000271e call  0x0000358f 
- 00013555  0x0000271f branch  0x0000356e 
- 00013556  0x00002724 branch  0x00003508 
- 00013557  0x00002728 fetch  0x00000001 , 0x00004759 
- 00013558  0x00002729 rtnne  0x00000002 
- 00013559  0x0000272a branch  0x00003508 
- 00013560  0x00002730 arg  0x000046cd , 0x00000013 
- 00013561  0x00002731 call  0x00003582 
- 00013562  0x00002732 arg  0x000046c6 , 0x00000013 
- 00013563  0x00002734 branch  0x00003584 
- 00013564  0x00002737 jam  0x00000000 , 0x0000436e 
- 00013565  0x00002738 arg  0x000046db , 0x00000013 
- 00013566  0x00002739 call  0x00003582 
- 00013567  0x0000273a arg  0x000046d4 , 0x00000013 
- 00013568  0x0000273b branch  0x000034fb 
- 00013569  0x0000273e fetch  0x00000001 , 0x00000477 
- 00013570  0x0000273f beq  0x00000012 , 0x00003504 
- 00013571  0x00002740 rtn 
- 00013572  0x00002742 fetch  0x00000002 , 0x00000478 
- 00013573  0x00002744 beq  0x0000000d , 0x00003536 
- 00013574  0x00002745 beq  0x0000000b , 0x00003571 
- 00013575  0x00002746 rtn 
- 00013576  0x0000274c fetch  0x00000001 , 0x00004753 
- 00013577  0x0000274d rtn  0x00000034 
- 00013578  0x0000274e branch  0x00006978 
- 00013579  0x00002753 copy  0x00000011 , 0x0000003f 
- 00013580  0x00002754 branch  0x00003510 , 0x00000034 
- 00013581  0x00002756 copy  0x00000007 , 0x0000003f 
- 00013582  0x00002757 beq  0x00000000 , 0x00003513 
- 00013583  0x00002758 rtn 
- 00013584  0x0000275a copy  0x00000007 , 0x0000003f 
- 00013585  0x0000275b beq  0x00000000 , 0x0000351b 
- 00013586  0x0000275c rtn 
- 00013587  0x0000275f jam  0x00000001 , 0x0000479d 
- 00013588  0x00002760 arg  0x000046f7 , 0x00000013 
- 00013589  0x00002761 call  0x00003582 
- 00013590  0x00002762 arg  0x000046f0 , 0x00000013 
- 00013591  0x00002763 call  0x00003584 
- 00013592  0x00002764 fetch  0x00000002 , 0x00004682 
- 00013593  0x00002765 bbit0  0x00000009 , 0x00003532 
- 00013594  0x00002766 branch  0x00003521 
- 00013595  0x00002769 jam  0x00000000 , 0x0000479d 
- 00013596  0x0000276a branch  0x0000351d 
- 00013597  0x0000276f fetch  0x00000001 , 0x0000479a 
- 00013598  0x00002770 rtnne  0x00000001 
- 00013599  0x00002771 jam  0x00000005 , 0x00004799 
- 00013600  0x00002772 rtn 
- 00013601  0x00002775 fetch  0x00000001 , 0x0000479a 
- 00013602  0x00002776 pincrease  0x00000001 
- 00013603  0x00002777 store  0x00000001 , 0x0000479a 
- 00013604  0x00002778 beq  0x00000001 , 0x00003527 
- 00013605  0x00002779 beq  0x00000002 , 0x0000352b 
- 00013606  0x0000277a rtn 
- 00013607  0x0000277c call  0x0000355c 
- 00013608  0x0000277d jam  0x00000001 , 0x00004771 
- 00013609  0x0000277e arg  0x0000476c , 0x00000013 
- 00013610  0x0000277f branch  0x00003544 
- 00013611  0x00002781 jam  0x00000000 , 0x0000479a 
- 00013612  0x00002782 jam  0x00000002 , 0x00004771 
- 00013613  0x00002783 arg  0x0000476c , 0x00000013 
- 00013614  0x00002784 call  0x00003544 
- 00013615  0x00002785 fetch  0x00000001 , 0x0000479e 
- 00013616  0x00002786 beq  0x00000001 , 0x00003551 
- 00013617  0x00002787 rtn 
- 00013618  0x0000278a fetch  0x00000002 , 0x00004797 
- 00013619  0x0000278b store  0x00000002 , 0x00004791 
- 00013620  0x0000278c call  0x0000355c 
- 00013621  0x0000278d branch  0x0000358f 
- 00013622  0x00002791 bpatch  0x000000cd , 0x00004019 
- 00013623  0x00002792 call  0x000036fc 
- 00013624  0x00002793 ifetch  0x00000001 , 0x00000011 
- 00013625  0x00002794 beq  0x00000003 , 0x0000353c 
- 00013626  0x00002795 beq  0x00000007 , 0x00003540 
- 00013627  0x00002796 rtn 
- 00013628  0x00002799 fetch  0x00000001 , 0x0000479e 
- 00013629  0x0000279a beq  0x00000000 , 0x00003551 
- 00013630  0x0000279b beq  0x00000001 , 0x0000355c 
- 00013631  0x0000279c rtn 
- 00013632  0x0000279f ifetch  0x00000001 , 0x00000012 
- 00013633  0x000027a0 beq  0x00000001 , 0x00003564 
- 00013634  0x000027a1 beq  0x00000000 , 0x00003569 
- 00013635  0x000027a2 rtn 
- 00013636  0x000027aa bpatch  0x000000ce , 0x00004019 
- 00013637  0x000027ab fetch  0x00000001 , 0x0000478b 
- 00013638  0x000027ac isolate1  0x00000000 , 0x0000003f 
- 00013639  0x000027ad nrtn  0x00000001 
- 00013640  0x000027ae add  0x00000013 , 0x00000006 , 0x00000006 
- 00013641  0x000027af ifetch  0x00000002 , 0x00000006 
- 00013642  0x000027b0 byteswap  0x0000003f , 0x0000003f 
- 00013643  0x000027b1 add  0x0000003f , 0x00000005 , 0x00000039 
- 00013644  0x000027b2 add  0x00000013 , 0x00000003 , 0x00000006 
- 00013645  0x000027b3 call  0x000036f0 
- 00013646  0x000027b4 istore  0x00000001 , 0x00000006 
- 00013647  0x000027b5 copy  0x00000013 , 0x00000011 
- 00013648  0x000027b6 branch  0x00007e3d 
- 00013649  0x000027bd fetch  0x00000001 , 0x00004759 
- 00013650  0x000027be rtn  0x00000034 
- 00013651  0x000027bf jam  0x00000001 , 0x0000479e 
- 00013652  0x000027c0 arg  0x000046e9 , 0x00000013 
- 00013653  0x000027c1 call  0x00003582 
- 00013654  0x000027c2 arg  0x000046e2 , 0x00000013 
- 00013655  0x000027c3 call  0x00003584 
- 00013656  0x000027c4 jam  0x00000004 , 0x00004780 
- 00013657  0x000027c5 jam  0x00000001 , 0x00004783 
- 00013658  0x000027c6 arg  0x0000477b , 0x00000013 
- 00013659  0x000027c7 branch  0x00003544 
- 00013660  0x000027c9 fetch  0x00000001 , 0x0000479e 
- 00013661  0x000027ca rtn  0x00000034 
- 00013662  0x000027cb jam  0x00000000 , 0x0000479e 
- 00013663  0x000027cc call  0x00003586 
- 00013664  0x000027cd jam  0x00000004 , 0x00004780 
- 00013665  0x000027ce jam  0x00000000 , 0x00004783 
- 00013666  0x000027cf arg  0x0000477b , 0x00000013 
- 00013667  0x000027d0 branch  0x00003544 
- 00013668  0x000027d3 jam  0x00000001 , 0x0000479f 
- 00013669  0x000027d4 jam  0x00000007 , 0x00004780 
- 00013670  0x000027d5 jam  0x00000001 , 0x00004783 
- 00013671  0x000027d6 arg  0x0000477b , 0x00000013 
- 00013672  0x000027d7 branch  0x00003544 
- 00013673  0x000027d9 jam  0x00000000 , 0x0000479f 
- 00013674  0x000027da jam  0x00000007 , 0x00004780 
- 00013675  0x000027db jam  0x00000000 , 0x00004783 
- 00013676  0x000027dc arg  0x0000477b , 0x00000013 
- 00013677  0x000027dd branch  0x00003544 
- 00013678  0x000027df fetch  0x00000001 , 0x0000479f 
- 00013679  0x000027e0 rtn  0x00000034 
- 00013680  0x000027e1 branch  0x00003551 
- 00013681  0x000027e4 ifetch  0x00000002 , 0x00000011 
- 00013682  0x000027e5 store  0x00000002 , 0x0000478b 
- 00013683  0x000027e6 isolate1  0x00000000 , 0x0000003f 
- 00013684  0x000027e7 nrtn  0x00000001 
- 00013685  0x000027e8 fetch  0x00000001 , 0x000047a0 
- 00013686  0x000027e9 rtn  0x00000034 
- 00013687  0x000027ea jam  0x00000000 , 0x000047a0 
- 00013688  0x000027eb fetch  0x00000008 , 0x000047b6 
- 00013689  0x000027ec store  0x00000008 , 0x00004496 
- 00013690  0x000027ed jam  0x00000002 , 0x00004790 
- 00013691  0x000027ee call  0x000035af 
- 00013692  0x000027ef call  0x000035b9 
- 00013693  0x000027f0 jam  0x00000007 , 0x00004780 
- 00013694  0x000027f1 fetch  0x00000001 , 0x0000479f 
- 00013695  0x000027f2 store  0x00000001 , 0x00004783 
- 00013696  0x000027f3 arg  0x0000477b , 0x00000013 
- 00013697  0x000027f4 branch  0x00003544 
- 00013698  0x000027f9 arg  0x00000001 , 0x00000011 
- 00013699  0x000027fa branch  0x00003585 
- 00013700  0x000027fc arg  0x00000000 , 0x00000011 
- 00013701  0x000027fe branch  0x0000358c 
- 00013702  0x00002801 arg  0x00000000 , 0x00000011 
- 00013703  0x00002802 call  0x00007d19 
- 00013704  0x00002803 arg  0x00000001 , 0x00000011 
- 00013705  0x00002804 call  0x00007d19 
- 00013706  0x00002805 fetch  0x00000001 , 0x000047a1 
- 00013707  0x00002806 branch  0x000069d7 
- 00013708  0x00002809 call  0x00007d04 
- 00013709  0x0000280a arg  0x00000007 , 0x00000039 
- 00013710  0x0000280b branch  0x00007d26 
- 00013711  0x00002810 arg  0x000046b8 , 0x00000013 
- 00013712  0x00002811 arg  0x0000469a , 0x00000012 
- 00013713  0x00002813 call  0x00003596 
- 00013714  0x00002814 call  0x00003584 
- 00013715  0x00002815 fetch  0x00000002 , 0x00004795 
- 00013716  0x00002816 store  0x00000002 , 0x00004793 
- 00013717  0x00002817 branch  0x000033fa 
- 00013718  0x0000281a ifetch  0x00000002 , 0x00000012 
- 00013719  0x0000281b store  0x00000002 , 0x00004154 
- 00013720  0x0000281c ifetch  0x00000002 , 0x00000006 
- 00013721  0x0000281d store  0x00000002 , 0x00004482 
- 00013722  0x0000281e rtn 
- 00013723  0x00002821 arg  0x00000000 , 0x00000011 
- 00013724  0x00002822 call  0x000069a6 
- 00013725  0x00002823 fetch  0x00000006 , 0x000047a1 
- 00013726  0x00002824 store  0x00000006 , 0x00000a9a 
- 00013727  0x00002825 call  0x000069ae 
- 00013728  0x00002826 fetch  0x00000001 , 0x000047a1 
- 00013729  0x00002827 branch  0x000069d7 
- 00013730  0x0000282a jam  0x00000001 , 0x0000479b 
- 00013731  0x0000282b rtn 
- 00013732  0x0000282d jam  0x00000000 , 0x0000479b 
- 00013733  0x0000282e rtn 
- 00013734  0x00002833 jam  0x00000000 , 0x0000479c 
- 00013735  0x00002834 fetch  0x00000001 , 0x000047a1 
- 00013736  0x00002835 branch  0x000069d7 
- 00013737  0x00002838 jam  0x00000001 , 0x0000479c 
- 00013738  0x00002839 fetch  0x00000006 , 0x000047a1 
- 00013739  0x0000283a store  0x00000006 , 0x00000a9a 
- 00013740  0x0000283b branch  0x000069ae 
- 00013741  0x00002840 jam  0x00000000 , 0x0000422d 
- 00013742  0x00002841 branch  0x000068a8 
- 00013743  0x00002844 call  0x000068eb 
- 00013744  0x00002845 call  0x00006908 
- 00013745  0x00002846 store  0x00000002 , 0x000047b0 
- 00013746  0x00002847 arg  0x000047aa , 0x00000011 
- 00013747  0x00002848 call  0x00006930 
- 00013748  0x00002849 store  0x00000001 , 0x000047a9 
- 00013749  0x0000284a beq  0x00000000 , 0x000035be 
- 00013750  0x0000284b sub  0x0000003f , 0x00000064 , 0x0000003e 
- 00013751  0x0000284c nbranch  0x000035bc , 0x00000002 
- 00013752  0x0000284d store  0x00000001 , 0x00004783 
- 00013753  0x0000284f jam  0x00000005 , 0x00004780 
- 00013754  0x00002850 arg  0x0000477b , 0x00000013 
- 00013755  0x00002851 branch  0x00003544 
- 00013756  0x00002853 jam  0x00000064 , 0x00004783 
- 00013757  0x00002854 branch  0x000035b9 
- 00013758  0x00002857 branch  0x0000341a 
- 00013759  0x0000285c rtn  0x0000002b 
- 00013760  0x0000285d hfetch  0x00000001 , 0x00008081 
- 00013761  0x0000285e and_into  0x000000f0 , 0x0000003f 
- 00013762  0x0000285f hstore  0x00000001 , 0x00008081 
- 00013763  0x00002860 setarg  0x00003631 
- 00013764  0x00002861 store  0x00000002 , 0x000041eb 
- 00013765  0x00002863 setarg  0x00003633 
- 00013766  0x00002864 store  0x00000002 , 0x000041ed 
- 00013767  0x00002866 setarg  0x0000340a 
- 00013768  0x00002867 store  0x00000002 , 0x000041f7 
- 00013769  0x00002869 setarg  0x00003635 
- 00013770  0x0000286a store  0x00000002 , 0x000041f3 
- 00013771  0x0000286c setarg  0x0000364b 
- 00013772  0x0000286d store  0x00000002 , 0x000041f5 
- 00013773  0x0000286f setarg  0x000033d0 
- 00013774  0x00002870 store  0x00000002 , 0x000041e9 
- 00013775  0x00002872 setarg  0x000036f6 
- 00013776  0x00002873 store  0x00000002 , 0x000041f9 
- 00013777  0x00002875 setarg  0x0000367a 
- 00013778  0x00002876 store  0x00000002 , 0x000041fd 
- 00013779  0x00002878 call  0x00002c7a 
- 00013780  0x00002879 setarg  0x00003722 
- 00013781  0x0000287a add  0x00000013 , 0x000000de , 0x00000005 
- 00013782  0x0000287b istore  0x00000002 , 0x00000005 
- 00013783  0x0000287d setarg  0x000035ed 
- 00013784  0x0000287e store  0x00000002 , 0x0000475b 
- 00013785  0x00002880 setarg  0x000035ef 
- 00013786  0x00002881 store  0x00000002 , 0x0000475f 
- 00013787  0x00002883 bpatch  0x000000cf , 0x00004019 
- 00013788  0x00002884 call  0x00003628 
- 00013789  0x00002885 call  0x00007e38 
- 00013790  0x00002886 jam  0x00000002 , 0x00004172 
- 00013791  0x00002887 jam  0x00000000 , 0x000049f6 
- 00013792  0x00002888 fetch  0x00000001 , 0x000047cb 
- 00013793  0x00002889 store  0x00000001 , 0x0000469a 
- 00013794  0x0000288a beq  0x00000000 , 0x000035ee 
- 00013795  0x0000288b fetch  0x00000001 , 0x000047cc 
- 00013796  0x0000288c store  0x00000001 , 0x00004686 
- 00013797  0x0000288d jam  0x00000000 , 0x0000436e 
- 00013798  0x0000288f call  0x0000360f 
- 00013799  0x00002890 call  0x00007cd3 
- 00013800  0x00002891 call  0x00007cdd 
- 00013801  0x00002892 jam  0x00000001 , 0x000047f3 
- 00013802  0x00002893 fetch  0x00000002 , 0x00004682 
- 00013803  0x00002894 rtnbit1  0x0000000c 
- 00013804  0x00002895 branch  0x0000340a 
- 00013805  0x00002898 branch  0x0000360f 
- 00013806  0x0000289b jam  0x00000002 , 0x000047f3 
- 00013807  0x0000289d jam  0x00000001 , 0x0000436e 
- 00013808  0x0000289e call  0x0000360f 
- 00013809  0x0000289f arg  0x00000000 , 0x00000011 
- 00013810  0x000028a0 call  0x00007d1e 
- 00013811  0x000028a2 setarg  0x00000020 
- 00013812  0x000028a3 call  0x000046f0 
- 00013813  0x000028a5 arg  0x000043b7 , 0x00000005 
- 00013814  0x000028a6 fetch  0x00000001 , 0x000044a0 
- 00013815  0x000028a8 and  0x0000003f , 0x000000f0 , 0x00000002 
- 00013816  0x000028a9 rshift4  0x00000002 , 0x00000002 
- 00013817  0x000028aa call  0x00003609 
- 00013818  0x000028ab istoret  0x00000001 , 0x00000005 
- 00013819  0x000028ac and  0x0000003f , 0x0000000f , 0x00000002 
- 00013820  0x000028ad call  0x00003609 
- 00013821  0x000028ae istoret  0x00000001 , 0x00000005 
- 00013822  0x000028af call  0x000057a6 
- 00013823  0x000028b0 fetcht  0x00000001 , 0x000043af 
- 00013824  0x000028b1 copy  0x00000002 , 0x00000039 
- 00013825  0x000028b2 arg  0x00004372 , 0x00000005 
- 00013826  0x000028b3 arg  0x000043b0 , 0x00000006 
- 00013827  0x000028b4 call  0x00007f01 
- 00013828  0x000028b6 fetcht  0x00000001 , 0x000043af 
- 00013829  0x000028b7 copy  0x00000002 , 0x00000039 
- 00013830  0x000028b8 arg  0x00004392 , 0x00000005 
- 00013831  0x000028b9 arg  0x000043b0 , 0x00000006 
- 00013832  0x000028ba branch  0x00007f01 
- 00013833  0x000028bc sub  0x00000002 , 0x00000009 , 0x0000003e 
- 00013834  0x000028bd branch  0x0000360d , 0x00000002 
- 00013835  0x000028be add  0x00000002 , 0x00000037 , 0x00000002 
- 00013836  0x000028bf rtn 
- 00013837  0x000028c1 add  0x00000002 , 0x00000030 , 0x00000002 
- 00013838  0x000028c2 rtn 
- 00013839  0x000028c5 fetch  0x00000001 , 0x000047c0 
- 00013840  0x000028c6 bne  0x000000ff , 0x00003621 
- 00013841  0x000028c8 fetch  0x00000001 , 0x000047be 
- 00013842  0x000028c9 bne  0x000000ff , 0x00003624 
- 00013843  0x000028cb fetch  0x00000001 , 0x000047c9 
- 00013844  0x000028cc bne  0x000000ff , 0x00003626 
- 00013845  0x000028ce fetch  0x00000001 , 0x0000472c 
- 00013846  0x000028cf copy  0x0000003f , 0x00000039 
- 00013847  0x000028d0 setarg  0x0000472d 
- 00013848  0x000028d1 copy  0x0000003f , 0x00000011 
- 00013849  0x000028d3 copy  0x00000011 , 0x00000006 
- 00013850  0x000028d4 ifetch  0x00000001 , 0x00000006 
- 00013851  0x000028d5 copy  0x00000006 , 0x00000011 
- 00013852  0x000028d6 beq  0x000000ff , 0x0000361f 
- 00013853  0x000028d7 copy  0x0000003f , 0x00000002 
- 00013854  0x000028d8 call  0x0000680e 
- 00013855  0x000028da loop  0x00003619 
- 00013856  0x000028dc rtn 
- 00013857  0x000028de fetch  0x00000008 , 0x000047c0 
- 00013858  0x000028df store  0x00000008 , 0x0000472f 
- 00013859  0x000028e0 branch  0x00003611 
- 00013860  0x000028e2 store  0x00000001 , 0x0000472d 
- 00013861  0x000028e3 branch  0x00003613 
- 00013862  0x000028e5 store  0x00000001 , 0x0000472e 
- 00013863  0x000028e6 branch  0x00003615 
- 00013864  0x000028ea arg  0x00000000 , 0x00000011 
- 00013865  0x000028eb call  0x000069a6 
- 00013866  0x000028ec call  0x000037e4 
- 00013867  0x000028ed call  0x00002c7d 
- 00013868  0x000028ee branch  0x0000362d 
- 00013869  0x000028f1 jam  0x00000064 , 0x000047cf 
- 00013870  0x000028f2 fetch  0x00000001 , 0x000047c9 
- 00013871  0x000028f3 store  0x00000001 , 0x00004744 
- 00013872  0x000028f4 branch  0x000068a8 
- 00013873  0x000028f7 call  0x00006835 
- 00013874  0x000028f8 branch  0x0000696c 
- 00013875  0x000028fb branch  0x0000696c 
- 00013876  0x00002900 branch  0x00006978 
- 00013877  0x00002903 call  0x00003642 
- 00013878  0x00002904 call  0x000037ee 
- 00013879  0x00002905 call  0x00003639 
- 00013880  0x00002906 branch  0x00003634 
- 00013881  0x00002909 fetch  0x00000002 , 0x00004682 
- 00013882  0x0000290a rtnbit1  0x00000009 
- 00013883  0x0000290b fetch  0x00000001 , 0x000049f6 
- 00013884  0x0000290c beq  0x00000001 , 0x0000363e 
- 00013885  0x0000290d rtn 
- 00013886  0x0000290f fetch  0x00000001 , 0x000047ea 
- 00013887  0x00002910 rtneq  0x00000001 
- 00013888  0x00002911 jam  0x00000001 , 0x000047ea 
- 00013889  0x00002912 branch  0x00003654 
- 00013890  0x00002915 fetch  0x00000002 , 0x00004682 
- 00013891  0x00002916 rtnbit0  0x00000009 
- 00013892  0x00002917 call  0x00005892 
- 00013893  0x00002918 nrtn  0x00000034 
- 00013894  0x00002919 arg  0x00004718 , 0x00000011 
- 00013895  0x0000291a call  0x00007e54 
- 00013896  0x0000291b nrtn  0x00000028 
- 00013897  0x0000291c arg  0x00004718 , 0x00000006 
- 00013898  0x0000291d branch  0x00004746 
- 00013899  0x00002920 copy  0x00000013 , 0x0000003f 
- 00013900  0x00002921 beq  0x0000002d , 0x00003431 
- 00013901  0x00002922 beq  0x00000010 , 0x0000341a 
- 00013902  0x00002923 beq  0x00000014 , 0x00003651 
- 00013903  0x00002924 beq  0x00000015 , 0x00003660 
- 00013904  0x00002925 rtn 
- 00013905  0x00002928 setarg  0x00000000 
- 00013906  0x00002929 call  0x00003220 
- 00013907  0x0000292a branch  0x00003656 
- 00013908  0x0000292c fetch  0x00000002 , 0x000047eb 
- 00013909  0x0000292d store  0x00000002 , 0x000047ed 
- 00013910  0x0000292f jam  0x00000014 , 0x000047ce 
- 00013911  0x00002930 jam  0x00000000 , 0x00004091 
- 00013912  0x00002931 call  0x000033f8 
- 00013913  0x00002932 call  0x00003416 
- 00013914  0x00002933 fetch  0x00000001 , 0x000047bd 
- 00013915  0x00002934 beq  0x00000001 , 0x0000365e 
- 00013916  0x00002936 arg  0x00000000 , 0x00000011 
- 00013917  0x00002937 branch  0x00007d14 
- 00013918  0x00002939 arg  0x00000000 , 0x00000011 
- 00013919  0x0000293a branch  0x00007d19 
- 00013920  0x0000293d setarg  0x00000002 
- 00013921  0x0000293e call  0x00003220 
- 00013922  0x00002940 setarg  0x00000000 
- 00013923  0x00002941 store  0x00000005 , 0x0000479c 
- 00013924  0x00002942 setarg  0x00000004 
- 00013925  0x00002943 call  0x000069d7 
- 00013926  0x00002944 setarg  0x00000005 
- 00013927  0x00002945 call  0x000069d7 
- 00013928  0x00002946 setarg  0x00000014 
- 00013929  0x00002947 call  0x000069d7 
- 00013930  0x00002948 setarg  0x00000015 
- 00013931  0x00002949 call  0x000069d7 
- 00013932  0x0000294a setarg  0x00000016 
- 00013933  0x0000294b call  0x000069d7 
- 00013934  0x0000294c setarg  0x00000007 
- 00013935  0x0000294d call  0x000069d7 
- 00013936  0x0000294e call  0x00007e38 
- 00013937  0x0000294f jam  0x0000000a , 0x0000475e 
- 00013938  0x00002950 jam  0x0000000a , 0x00004760 
- 00013939  0x00002951 jam  0x0000000a , 0x00004762 
- 00013940  0x00002953 jam  0x00000002 , 0x00004172 
- 00013941  0x00002954 arg  0x00000000 , 0x00000011 
- 00013942  0x00002955 call  0x00007d1e 
- 00013943  0x00002957 setarg  0x00000020 
- 00013944  0x00002958 call  0x000046f0 
- 00013945  0x00002959 branch  0x000033fa 
- 00013946  0x0000295d call  0x0000373b 
- 00013947  0x0000295e call  0x0000373e 
- 00013948  0x0000295f call  0x00003741 
- 00013949  0x00002960 call  0x0000337b 
- 00013950  0x00002961 call  0x000036c8 
- 00013951  0x00002962 call  0x000036a1 
- 00013952  0x00002963 call  0x0000368a 
- 00013953  0x00002964 call  0x00003683 
- 00013954  0x00002965 branch  0x0000368f 
- 00013955  0x00002968 arg  0x0000479a , 0x00000013 
- 00013956  0x00002969 arg  0x00003686 , 0x00000012 
- 00013957  0x0000296a branch  0x0000336d 
- 00013958  0x0000296c call  0x00003847 
- 00013959  0x0000296d nrtn  0x00000001 
- 00013960  0x0000296e jam  0x00000001 , 0x0000479b 
- 00013961  0x0000296f rtn 
- 00013962  0x00002972 arg  0x000047ed , 0x00000013 
- 00013963  0x00002973 arg  0x0000368d , 0x00000012 
- 00013964  0x00002974 branch  0x00003374 
- 00013965  0x00002976 jam  0x00000002 , 0x000047ea 
- 00013966  0x00002977 branch  0x00003662 
- 00013967  0x0000297a arg  0x000047f1 , 0x00000013 
- 00013968  0x0000297b arg  0x00003692 , 0x00000012 
- 00013969  0x0000297c branch  0x0000336d 
- 00013970  0x0000297e fetch  0x00000001 , 0x000047f2 
- 00013971  0x0000297f branch  0x0000369e , 0x00000034 
- 00013972  0x00002980 jam  0x00000002 , 0x000047f1 
- 00013973  0x00002981 jam  0x00000000 , 0x000047f2 
- 00013974  0x00002982 setarg  0x00000a02 
- 00013975  0x00002983 store  0x00000002 , 0x00004752 
- 00013976  0x00002984 fetch  0x00000001 , 0x000047b9 
- 00013977  0x00002985 beq  0x00000003 , 0x0000369b 
- 00013978  0x00002987 branch  0x00003762 
- 00013979  0x00002989 setarg  0x00000a02 
- 00013980  0x0000298a store  0x00000002 , 0x00004754 
- 00013981  0x0000298b branch  0x00003762 
- 00013982  0x0000298d setarg  0x00000000 
- 00013983  0x0000298e store  0x00000004 , 0x00004752 
- 00013984  0x0000298f branch  0x00003762 
- 00013985  0x00002992 fetch  0x00000001 , 0x000047c8 
- 00013986  0x00002993 rtn  0x00000034 
- 00013987  0x00002994 fetch  0x00000002 , 0x00004682 
- 00013988  0x00002995 bbit0  0x00000009 , 0x000036c6 
- 00013989  0x00002996 arg  0x000047ce , 0x00000013 
- 00013990  0x00002997 arg  0x000036a8 , 0x00000012 
- 00013991  0x00002998 branch  0x0000336d 
- 00013992  0x0000299a fetch  0x00000001 , 0x000047cd 
- 00013993  0x0000299b store  0x00000001 , 0x000047ce 
- 00013994  0x0000299c fetch  0x00000001 , 0x000047d1 
- 00013995  0x0000299d nrtn  0x00000034 
- 00013996  0x0000299f call  0x000068eb 
- 00013997  0x000029a0 call  0x00006908 
- 00013998  0x000029a1 store  0x00000002 , 0x000047e8 
- 00013999  0x000029a2 arg  0x000047e2 , 0x00000011 
- 00014000  0x000029a3 call  0x00006930 
- 00014001  0x000029a4 fetcht  0x00000001 , 0x000047cf 
- 00014002  0x000029a5 isub  0x00000002 , 0x0000003e 
- 00014003  0x000029a6 branch  0x000036b6 , 0x00000002 
- 00014004  0x000029a7 store  0x00000001 , 0x000047cf 
- 00014005  0x000029a8 copy  0x0000003f , 0x00000002 
- 00014006  0x000029aa storet  0x00000001 , 0x000047d0 
- 00014007  0x000029ab fetch  0x00000001 , 0x000047ca 
- 00014008  0x000029ac isub  0x00000002 , 0x0000003e 
- 00014009  0x000029ad call  0x000036c1 , 0x00000002 
- 00014010  0x000029ae storet  0x00000001 , 0x000047db 
- 00014011  0x000029af arg  0x00000006 , 0x00000039 
- 00014012  0x000029b0 arg  0x000047d6 , 0x00000006 
- 00014013  0x000029b1 call  0x000036f0 
- 00014014  0x000029b2 store  0x00000001 , 0x000047dc 
- 00014015  0x000029b3 arg  0x000047d3 , 0x00000011 
- 00014016  0x000029b4 branch  0x00007e3d 
- 00014017  0x000029b6 fetch  0x00000001 , 0x000047d2 
- 00014018  0x000029b7 nrtn  0x00000034 
- 00014019  0x000029b8 jam  0x00000001 , 0x000047d2 
- 00014020  0x000029b9 arg  0x00000001 , 0x00000011 
- 00014021  0x000029ba branch  0x00007d1e 
- 00014022  0x000029bc arg  0x00000001 , 0x00000011 
- 00014023  0x000029bd branch  0x00007d19 
- 00014024  0x000029c0 arg  0x000047a4 , 0x00000013 
- 00014025  0x000029c1 arg  0x000036cb , 0x00000012 
- 00014026  0x000029c2 branch  0x0000336d 
- 00014027  0x000029c4 jam  0x00000005 , 0x000047a4 
- 00014028  0x000029c5 jam  0x00000000 , 0x000047a6 
- 00014029  0x000029c6 fetch  0x00000001 , 0x000047a5 
- 00014030  0x000029c7 beq  0x00000001 , 0x000036ee 
- 00014031  0x000029c8 beq  0x00000000 , 0x000036ec 
- 00014032  0x000029ca arg  0x0000479c , 0x00000006 
- 00014033  0x000029cb copy  0x00000006 , 0x00000011 
- 00014034  0x000029cc arg  0x00000008 , 0x00000039 
- 00014035  0x000029ce copy  0x00000011 , 0x00000006 
- 00014036  0x000029cf ifetch  0x00000001 , 0x00000006 
- 00014037  0x000029d0 copy  0x00000006 , 0x00000011 
- 00014038  0x000029d1 beq  0x00000000 , 0x000036e3 
- 00014039  0x000029d2 beq  0x00000001 , 0x000036e6 
- 00014040  0x000029d3 beq  0x00000002 , 0x000036e9 
- 00014041  0x000029d5 fetch  0x00000001 , 0x000047a6 
- 00014042  0x000029d6 increase  0x00000001 , 0x0000003f 
- 00014043  0x000029d7 store  0x00000001 , 0x000047a6 
- 00014044  0x000029d8 loop  0x000036d3 
- 00014045  0x000029d9 rtn 
- 00014046  0x000029db fetch  0x00000001 , 0x000047a6 
- 00014047  0x000029dc arg  0x000047c0 , 0x00000012 
- 00014048  0x000029dd iadd  0x00000012 , 0x00000012 
- 00014049  0x000029de ifetcht  0x00000001 , 0x00000012 
- 00014050  0x000029df rtn 
- 00014051  0x000029e1 call  0x000036de 
- 00014052  0x000029e2 call  0x00006825 
- 00014053  0x000029e3 branch  0x000036d9 
- 00014054  0x000029e5 call  0x000036de 
- 00014055  0x000029e6 call  0x00006829 
- 00014056  0x000029e7 branch  0x000036d9 
- 00014057  0x000029e9 fetch  0x00000001 , 0x000047a5 
- 00014058  0x000029ea beq  0x00000001 , 0x000036e3 
- 00014059  0x000029eb branch  0x000036e6 
- 00014060  0x000029ed jam  0x00000001 , 0x000047a5 
- 00014061  0x000029ee branch  0x000036d0 
- 00014062  0x000029f0 jam  0x00000000 , 0x000047a5 
- 00014063  0x000029f1 branch  0x000036d0 
- 00014064  0x000029f6 arg  0x00000000 , 0x00000011 
- 00014065  0x000029f8 ifetch  0x00000001 , 0x00000006 
- 00014066  0x000029f9 iadd  0x00000011 , 0x00000011 
- 00014067  0x000029fa loop  0x000036f1 
- 00014068  0x000029fc and  0x00000011 , 0x000000ff , 0x0000003f 
- 00014069  0x000029fd rtn 
- 00014070  0x00002a00 fetch  0x00000001 , 0x00000477 
- 00014071  0x00002a01 beq  0x00000012 , 0x000036f9 
- 00014072  0x00002a02 rtn 
- 00014073  0x00002a04 fetch  0x00000002 , 0x00000478 
- 00014074  0x00002a05 beq  0x00000014 , 0x00003710 
- 00014075  0x00002a06 rtn 
- 00014076  0x00002a13 bpatch  0x000000d0 , 0x0000401a 
- 00014077  0x00002a14 ifetch  0x00000005 , 0x00000011 
- 00014078  0x00002a15 store  0x00000005 , 0x00000b12 
- 00014079  0x00002a16 fetch  0x00000002 , 0x00000b12 
- 00014080  0x00002a17 arg  0x00006b5a , 0x00000002 
- 00014081  0x00002a18 isub  0x00000002 , 0x0000003e 
- 00014082  0x00002a19 nrtn  0x00000005 
- 00014083  0x00002a1a fetch  0x00000002 , 0x00000b15 
- 00014084  0x00002a1b byteswap  0x0000003f , 0x0000003f 
- 00014085  0x00002a1c store  0x00000002 , 0x00000b15 
- 00014086  0x00002a1d copy  0x0000003f , 0x00000039 
- 00014087  0x00002a1e increase  0x00000005 , 0x00000011 
- 00014088  0x00002a1f copy  0x00000011 , 0x00000006 
- 00014089  0x00002a20 arg  0x00000b17 , 0x00000005 
- 00014090  0x00002a21 call  0x00007f01 
- 00014091  0x00002a22 ifetch  0x00000001 , 0x00000006 
- 00014092  0x00002a23 store  0x00000001 , 0x00000b21 
- 00014093  0x00002a24 arg  0x00000b14 , 0x00000011 
- 00014094  0x00002a25 arg  0x00000b17 , 0x00000012 
- 00014095  0x00002a26 rtn 
- 00014096  0x00002a29 setarg  0x00000000 
- 00014097  0x00002a2a store  0x00000005 , 0x00004752 
- 00014098  0x00002a2b store  0x00000005 , 0x00004757 
- 00014099  0x00002a2c call  0x000036fc 
- 00014100  0x00002a2d copy  0x00000012 , 0x00000006 
- 00014101  0x00002a2e arg  0x00004752 , 0x00000005 
- 00014102  0x00002a2f arg  0x0000000a , 0x00000039 
- 00014103  0x00002a30 call  0x00007f01 
- 00014104  0x00002a32 bpatch  0x000000d1 , 0x0000401a 
- 00014105  0x00002a33 ifetch  0x00000001 , 0x00000011 
- 00014106  0x00002a34 beq  0x00000002 , 0x0000374a 
- 00014107  0x00002a35 beq  0x00000003 , 0x0000375c 
- 00014108  0x00002a36 beq  0x00000004 , 0x00003762 
- 00014109  0x00002a37 beq  0x00000005 , 0x00003762 
- 00014110  0x00002a38 beq  0x00000006 , 0x000037b1 
- 00014111  0x00002a39 beq  0x00000007 , 0x00003849 
- 00014112  0x00002a3a beq  0x00000008 , 0x0000384c 
- 00014113  0x00002a3b rtn 
- 00014114  0x00002a3e fetch  0x00000002 , 0x00004682 
- 00014115  0x00002a3f rtnbit1  0x00000009 
- 00014116  0x00002a41 fetch  0x00000002 , 0x000047eb 
- 00014117  0x00002a42 store  0x00000002 , 0x000047ed 
- 00014118  0x00002a44 jam  0x00000001 , 0x000049f6 
- 00014119  0x00002a46 setarg  0x0000010c 
- 00014120  0x00002a47 call  0x000032cd 
- 00014121  0x00002a48 call  0x00003710 
- 00014122  0x00002a4a fetch  0x00000001 , 0x00000b14 
- 00014123  0x00002a4b beq  0x00000004 , 0x0000372e 
- 00014124  0x00002a4c beq  0x00000005 , 0x0000372e 
- 00014125  0x00002a4d rtn 
- 00014126  0x00002a4f fetch  0x00000001 , 0x00004752 
- 00014127  0x00002a50 ncall  0x00003735 , 0x00000034 
- 00014128  0x00002a51 fetch  0x00000001 , 0x00004754 
- 00014129  0x00002a52 ncall  0x00003737 , 0x00000034 
- 00014130  0x00002a53 fetch  0x00000001 , 0x00004756 
- 00014131  0x00002a54 ncall  0x00003739 , 0x00000034 
- 00014132  0x00002a55 rtn 
- 00014133  0x00002a58 jam  0x00000005 , 0x000049f3 
- 00014134  0x00002a59 rtn 
- 00014135  0x00002a5b jam  0x00000005 , 0x000049f4 
- 00014136  0x00002a5c rtn 
- 00014137  0x00002a5e jam  0x00000005 , 0x000049f5 
- 00014138  0x00002a5f rtn 
- 00014139  0x00002a62 arg  0x000049f3 , 0x00000013 
- 00014140  0x00002a63 arg  0x00003744 , 0x00000012 
- 00014141  0x00002a64 branch  0x0000336d 
- 00014142  0x00002a66 arg  0x000049f4 , 0x00000013 
- 00014143  0x00002a67 arg  0x00003746 , 0x00000012 
- 00014144  0x00002a68 branch  0x0000336d 
- 00014145  0x00002a6a arg  0x000049f5 , 0x00000013 
- 00014146  0x00002a6b arg  0x00003748 , 0x00000012 
- 00014147  0x00002a6c branch  0x0000336d 
- 00014148  0x00002a6f jam  0x00000000 , 0x00004752 
- 00014149  0x00002a70 branch  0x00003762 
- 00014150  0x00002a72 jam  0x00000000 , 0x00004754 
- 00014151  0x00002a73 branch  0x00003762 
- 00014152  0x00002a75 jam  0x00000000 , 0x00004756 
- 00014153  0x00002a76 branch  0x00003762 
- 00014154  0x00002a7c call  0x0000374c 
- 00014155  0x00002a7d branch  0x0000374f 
- 00014156  0x00002a7f fetch  0x00000001 , 0x00004752 
- 00014157  0x00002a80 store  0x00000001 , 0x0000475f 
- 00014158  0x00002a81 branch  0x00003773 
- 00014159  0x00002a83 fetch  0x00000001 , 0x0000475e 
- 00014160  0x00002a84 call  0x00003754 
- 00014161  0x00002a85 fetch  0x00000001 , 0x00004753 
- 00014162  0x00002a86 store  0x00000001 , 0x0000475d 
- 00014163  0x00002a87 branch  0x00003770 
- 00014164  0x00002a89 beq  0x00000002 , 0x00003758 
- 00014165  0x00002a8a beq  0x00000003 , 0x0000375a 
- 00014166  0x00002a8b store  0x00000001 , 0x0000475e 
- 00014167  0x00002a8c rtn 
- 00014168  0x00002a8e jam  0x00000005 , 0x0000475e 
- 00014169  0x00002a8f rtn 
- 00014170  0x00002a91 jam  0x0000000a , 0x0000475e 
- 00014171  0x00002a92 rtn 
- 00014172  0x00002a94 fetch  0x00000001 , 0x00004752 
- 00014173  0x00002a95 call  0x00003754 
- 00014174  0x00002a96 fetch  0x00000001 , 0x0000475e 
- 00014175  0x00002a97 call  0x0000379e 
- 00014176  0x00002a98 call  0x000037a1 
- 00014177  0x00002a99 branch  0x000069c4 
- 00014178  0x00002a9c fetch  0x00000001 , 0x000047f0 
- 00014179  0x00002a9d nrtn  0x00000034 
- 00014180  0x00002a9e fetch  0x00000006 , 0x00004752 
- 00014181  0x00002a9f store  0x00000006 , 0x0000475d 
- 00014182  0x00002aa0 fetch  0x00000001 , 0x0000475e 
- 00014183  0x00002aa1 fetcht  0x00000001 , 0x00004760 
- 00014184  0x00002aa2 iand  0x00000002 , 0x0000003f 
- 00014185  0x00002aa3 fetcht  0x00000001 , 0x00004762 
- 00014186  0x00002aa4 iand  0x00000002 , 0x0000003f 
- 00014187  0x00002aa5 call  0x00003779 , 0x00000034 
- 00014188  0x00002aa6 bpatch  0x000000d2 , 0x0000401a 
- 00014189  0x00002aa7 call  0x00003770 
- 00014190  0x00002aa8 call  0x00003773 
- 00014191  0x00002aa9 branch  0x00003776 
- 00014192  0x00002aab arg  0x00004763 , 0x00000012 
- 00014193  0x00002aac arg  0x0000475d , 0x00000006 
- 00014194  0x00002aad branch  0x0000377b 
- 00014195  0x00002aaf arg  0x0000476b , 0x00000012 
- 00014196  0x00002ab0 arg  0x0000475f , 0x00000006 
- 00014197  0x00002ab1 branch  0x0000377b 
- 00014198  0x00002ab3 arg  0x00004773 , 0x00000012 
- 00014199  0x00002ab4 arg  0x00004761 , 0x00000006 
- 00014200  0x00002ab5 branch  0x0000377b 
- 00014201  0x00002ab7 jam  0x00000000 , 0x000047d1 
- 00014202  0x00002ab8 rtn 
- 00014203  0x00002abb ifetch  0x00000001 , 0x00000006 
- 00014204  0x00002abc beq  0x00000000 , 0x00003787 
- 00014205  0x00002abd beq  0x00000001 , 0x00003780 
- 00014206  0x00002abe beq  0x00000002 , 0x00003782 
- 00014207  0x00002abf rtn 
- 00014208  0x00002ac1 jam  0x00000000 , 0x0000477b 
- 00014209  0x00002ac2 branch  0x00003783 
- 00014210  0x00002ac4 jam  0x00000001 , 0x0000477b 
- 00014211  0x00002ac5 ifetch  0x00000001 , 0x00000006 
- 00014212  0x00002ac6 store  0x00000001 , 0x0000477d 
- 00014213  0x00002ac7 ifetch  0x00000008 , 0x00000012 
- 00014214  0x00002ac8 branch  0x0000378c 
- 00014215  0x00002acb ifetch  0x00000001 , 0x00000012 
- 00014216  0x00002acc call  0x000069d7 
- 00014217  0x00002acd increase  0x00000001 , 0x00000012 
- 00014218  0x00002ace ifetch  0x00000001 , 0x00000012 
- 00014219  0x00002acf branch  0x000069d7 
- 00014220  0x00002ad1 store  0x00000008 , 0x0000477e 
- 00014221  0x00002ad2 jam  0x00000001 , 0x000047d1 
- 00014222  0x00002ad3 fetch  0x00000001 , 0x0000477b 
- 00014223  0x00002ad4 beq  0x00000000 , 0x0000379a 
- 00014224  0x00002ad6 fetch  0x00000001 , 0x0000477f 
- 00014225  0x00002ad7 store  0x00000001 , 0x00004780 
- 00014226  0x00002ad8 fetch  0x00000001 , 0x0000477e 
- 00014227  0x00002ada call  0x000069d7 
- 00014228  0x00002adb fetch  0x00000001 , 0x0000477d 
- 00014229  0x00002adc call  0x0000379e 
- 00014230  0x00002add store  0x00000001 , 0x00004785 
- 00014231  0x00002ade fetch  0x00000006 , 0x00004780 
- 00014232  0x00002adf store  0x00000006 , 0x00000a9a 
- 00014233  0x00002ae0 branch  0x000069ae 
- 00014234  0x00002ae2 fetch  0x00000001 , 0x0000477e 
- 00014235  0x00002ae3 store  0x00000001 , 0x00004780 
- 00014236  0x00002ae4 fetch  0x00000001 , 0x0000477f 
- 00014237  0x00002ae5 branch  0x00003793 
- 00014238  0x00002ae8 mul32  0x0000003f , 0x00000005 , 0x0000003f 
- 00014239  0x00002ae9 add  0x0000003f , 0x00000032 , 0x0000003f 
- 00014240  0x00002aea rtn 
- 00014241  0x00002aec arg  0x00002ee0 , 0x00000002 
- 00014242  0x00002aed imul32  0x00000002 , 0x0000003f 
- 00014243  0x00002aee div  0x0000003f , 0x00000064 
- 00014244  0x00002aef call  0x00007f86 
- 00014245  0x00002af0 quotient  0x00000002 
- 00014246  0x00002af1 copy  0x00000002 , 0x00000011 
- 00014247  0x00002af2 setarg  0x00002ee0 
- 00014248  0x00002af3 isub  0x00000002 , 0x00000012 
- 00014249  0x00002af4 rtn 
- 00014250  0x00002af8 hfetch  0x00000001 , 0x00008082 
- 00014251  0x00002af9 set1  0x00000002 , 0x0000003f 
- 00014252  0x00002afa hstore  0x00000001 , 0x00008082 
- 00014253  0x00002afb setarg  0x0000009e 
- 00014254  0x00002afc hstore  0x00000002 , 0x00008068 
- 00014255  0x00002afd hstore  0x00000002 , 0x0000806a 
- 00014256  0x00002afe rtn 
- 00014257  0x00002b01 fetch  0x00000001 , 0x000047f0 
- 00014258  0x00002b02 nrtn  0x00000034 
- 00014259  0x00002b03 fetch  0x00000002 , 0x00004752 
- 00014260  0x00002b04 store  0x00000002 , 0x00004787 
- 00014261  0x00002b05 fetch  0x00000001 , 0x000047ea 
- 00014262  0x00002b06 bne  0x00000001 , 0x000037b9 
- 00014263  0x00002b07 fetch  0x00000002 , 0x000044a0 
- 00014264  0x00002b08 store  0x00000002 , 0x00004787 
- 00014265  0x00002b0a bpatch  0x000000d3 , 0x0000401a 
- 00014266  0x00002b0b call  0x000037aa 
- 00014267  0x00002b0c call  0x000037dc 
- 00014268  0x00002b0d setarg  0x0000bb80 
- 00014269  0x00002b0e call  0x00002a8f 
- 00014270  0x00002b0f call  0x000037e0 
- 00014271  0x00002b10 setarg  0x00001c20 
- 00014272  0x00002b11 call  0x00002a8f 
- 00014273  0x00002b12 arg  0x00000010 , 0x00000039 
- 00014274  0x00002b14 call  0x000037dc 
- 00014275  0x00002b15 fetch  0x00000002 , 0x00004787 
- 00014276  0x00002b16 bbit1  0x00000000 , 0x000037c9 
- 00014277  0x00002b17 setarg  0x00001c20 
- 00014278  0x00002b18 call  0x00002a8f 
- 00014279  0x00002b19 call  0x000037e0 
- 00014280  0x00002b1a branch  0x000037cc 
- 00014281  0x00002b1d setarg  0x00003840 
- 00014282  0x00002b1e call  0x00002a8f 
- 00014283  0x00002b1f call  0x000037e0 
- 00014284  0x00002b21 setarg  0x00001c20 
- 00014285  0x00002b22 call  0x00002a8f 
- 00014286  0x00002b23 fetch  0x00000002 , 0x00004787 
- 00014287  0x00002b24 rshift  0x0000003f , 0x0000003f 
- 00014288  0x00002b25 store  0x00000002 , 0x00004787 
- 00014289  0x00002b26 loop  0x000037c2 
- 00014290  0x00002b28 jam  0x00000002 , 0x000047f1 
- 00014291  0x00002b29 jam  0x00000001 , 0x000047f2 
- 00014292  0x00002b2a setarg  0x00000a01 
- 00014293  0x00002b2b store  0x00000002 , 0x00004752 
- 00014294  0x00002b2c fetch  0x00000001 , 0x000047b9 
- 00014295  0x00002b2d beq  0x00000003 , 0x000037d9 
- 00014296  0x00002b2f branch  0x00003762 
- 00014297  0x00002b31 setarg  0x00000a01 
- 00014298  0x00002b32 store  0x00000002 , 0x00004754 
- 00014299  0x00002b33 branch  0x00003762 
- 00014300  0x00002b36 hfetch  0x00000001 , 0x00008085 
- 00014301  0x00002b37 or_into  0x00000040 , 0x0000003f 
- 00014302  0x00002b38 hstore  0x00000001 , 0x00008085 
- 00014303  0x00002b39 rtn 
- 00014304  0x00002b3b hfetch  0x00000001 , 0x00008085 
- 00014305  0x00002b3c and_into  0x000000bf , 0x0000003f 
- 00014306  0x00002b3d hstore  0x00000001 , 0x00008085 
- 00014307  0x00002b3e rtn 
- 00014308  0x00002b41 fetch  0x00000001 , 0x000047bb 
- 00014309  0x00002b42 rtneq  0x00000000 
- 00014310  0x00002b43 call  0x00002c65 
- 00014311  0x00002b44 fetcht  0x00000001 , 0x000047bc 
- 00014312  0x00002b45 storet  0x00000001 , 0x00004786 
- 00014313  0x00002b46 call  0x000067fb 
- 00014314  0x00002b47 call  0x00003847 
- 00014315  0x00002b48 nrtn  0x00000001 
- 00014316  0x00002b49 jam  0x00000001 , 0x0000479a 
- 00014317  0x00002b4a rtn 
- 00014318  0x00002b4d fetch  0x00000001 , 0x000047bb 
- 00014319  0x00002b4e rtneq  0x00000000 
- 00014320  0x00002b4f fetch  0x00000001 , 0x0000479b 
- 00014321  0x00002b50 nrtn  0x00000034 
- 00014322  0x00002b51 fetch  0x00000002 , 0x00004682 
- 00014323  0x00002b52 bbit1  0x00000009 , 0x000037f6 
- 00014324  0x00002b53 fetch  0x00000001 , 0x000047ea 
- 00014325  0x00002b54 rtnne  0x00000001 
- 00014326  0x00002b56 bpatch  0x000000d4 , 0x0000401a 
- 00014327  0x00002b57 call  0x00003847 
- 00014328  0x00002b58 nrtn  0x00000001 
- 00014329  0x00002b59 setarg  0x00008ca0 
- 00014330  0x00002b5a call  0x00002a8f 
- 00014331  0x00002b5b call  0x00003847 
- 00014332  0x00002b5c nrtn  0x00000001 
- 00014333  0x00002b5d call  0x0000383f 
- 00014334  0x00002b5f call  0x00003842 
- 00014335  0x00002b60 nrtn  0x00000002 
- 00014336  0x00002b61 call  0x00003847 
- 00014337  0x00002b62 branch  0x000037fe , 0x00000001 
- 00014338  0x00002b63 arg  0x00000000 , 0x00000011 
- 00014339  0x00002b64 arg  0x00000010 , 0x00000039 
- 00014340  0x00002b65 call  0x0000383f 
- 00014341  0x00002b67 call  0x00003842 
- 00014342  0x00002b68 nrtn  0x00000002 
- 00014343  0x00002b69 call  0x00003847 
- 00014344  0x00002b6a nbranch  0x00003805 , 0x00000001 
- 00014345  0x00002b6b setarg  0x00002a30 
- 00014346  0x00002b6c call  0x00002a8f 
- 00014347  0x00002b6d call  0x00003847 
- 00014348  0x00002b6e branch  0x00003812 , 0x00000001 
- 00014349  0x00002b70 setarg  0x00000000 
- 00014350  0x00002b71 rshift  0x00000011 , 0x00000011 
- 00014351  0x00002b72 ior  0x00000011 , 0x00000011 
- 00014352  0x00002b73 loop  0x00003805 
- 00014353  0x00002b74 branch  0x0000381b 
- 00014354  0x00002b76 setarg  0x00008000 
- 00014355  0x00002b77 rshift  0x00000011 , 0x00000011 
- 00014356  0x00002b78 ior  0x00000011 , 0x00000011 
- 00014357  0x00002b79 call  0x0000383f 
- 00014358  0x00002b7b call  0x00003842 
- 00014359  0x00002b7c nrtn  0x00000002 
- 00014360  0x00002b7d call  0x00003847 
- 00014361  0x00002b7e branch  0x00003816 , 0x00000001 
- 00014362  0x00002b7f loop  0x00003805 
- 00014363  0x00002b81 bpatch  0x000000d5 , 0x0000401a 
- 00014364  0x00002b82 copy  0x00000011 , 0x0000003f 
- 00014365  0x00002b83 store  0x00000002 , 0x00004789 
- 00014366  0x00002b84 store  0x00000002 , 0x00004797 
- 00014367  0x00002b85 fetch  0x00000001 , 0x000047ea 
- 00014368  0x00002b86 beq  0x00000001 , 0x00003827 
- 00014369  0x00002b88 arg  0x00000007 , 0x00000039 
- 00014370  0x00002b89 arg  0x00004792 , 0x00000006 
- 00014371  0x00002b8a call  0x000036f0 
- 00014372  0x00002b8b store  0x00000001 , 0x00004799 
- 00014373  0x00002b8c arg  0x0000478f , 0x00000011 
- 00014374  0x00002b8d branch  0x00007e3d 
- 00014375  0x00002b90 fetch  0x00000001 , 0x000047ef 
- 00014376  0x00002b91 increase  0x00000001 , 0x0000003f 
- 00014377  0x00002b92 store  0x00000001 , 0x000047ef 
- 00014378  0x00002b93 div  0x0000003f , 0x00000002 
- 00014379  0x00002b94 call  0x00007f86 
- 00014380  0x00002b95 quotient  0x00000002 
- 00014381  0x00002b96 remainder  0x0000003f 
- 00014382  0x00002b97 nbranch  0x00003838 , 0x00000034 
- 00014383  0x00002b99 fetch  0x00000001 , 0x000047bf 
- 00014384  0x00002b9a isub  0x00000002 , 0x0000003e 
- 00014385  0x00002b9b call  0x0000383d , 0x00000005 
- 00014386  0x00002b9c arg  0x0000479c , 0x0000003f 
- 00014387  0x00002b9d increase  0xffffffff , 0x00000002 
- 00014388  0x00002b9e iadd  0x00000002 , 0x00000011 
- 00014389  0x00002b9f arg  0x00000000 , 0x0000003f 
- 00014390  0x00002ba0 istore  0x00000001 , 0x00000011 
- 00014391  0x00002ba1 rtn 
- 00014392  0x00002ba3 arg  0x0000479c , 0x0000003f 
- 00014393  0x00002ba4 iadd  0x00000002 , 0x00000011 
- 00014394  0x00002ba5 arg  0x00000002 , 0x0000003f 
- 00014395  0x00002ba6 istore  0x00000001 , 0x00000011 
- 00014396  0x00002ba7 rtn 
- 00014397  0x00002ba9 jam  0x00000001 , 0x000047f0 
- 00014398  0x00002baa rtn 
- 00014399  0x00002bac copy  0x00000022 , 0x0000003f 
- 00014400  0x00002bad store  0x00000004 , 0x0000478b 
- 00014401  0x00002bae rtn 
- 00014402  0x00002bb0 copy  0x00000022 , 0x0000003f 
- 00014403  0x00002bb1 fetcht  0x00000004 , 0x0000478b 
- 00014404  0x00002bb2 isub  0x00000002 , 0x0000003f 
- 00014405  0x00002bb3 sub  0x0000003f , 0x000000c8 , 0x0000003e 
- 00014406  0x00002bb4 rtn 
- 00014407  0x00002bb7 fetcht  0x00000001 , 0x00004786 
- 00014408  0x00002bb8 branch  0x0000681d 
- 00014409  0x00002bbb fetch  0x00000008 , 0x00004752 
- 00014410  0x00002bbc store  0x00000008 , 0x0000479c 
- 00014411  0x00002bbd rtn 
- 00014412  0x00002bc0 fetch  0x00000001 , 0x000047b9 
- 00014413  0x00002bc1 store  0x00000001 , 0x000047af 
- 00014414  0x00002bc2 fetch  0x00000001 , 0x000047ba 
- 00014415  0x00002bc3 store  0x00000001 , 0x000047b0 
- 00014416  0x00002bc4 fetch  0x00000001 , 0x000047bb 
- 00014417  0x00002bc5 store  0x00000001 , 0x000047b1 
- 00014418  0x00002bc6 arg  0x0000000d , 0x00000039 
- 00014419  0x00002bc7 arg  0x000047aa , 0x00000006 
- 00014420  0x00002bc8 call  0x000036f0 
- 00014421  0x00002bc9 store  0x00000001 , 0x000047b7 
- 00014422  0x00002bca arg  0x000047a7 , 0x00000011 
- 00014423  0x00002bcb branch  0x00007e3d 
- 00014424  0x00002bd2 call  0x000065c2 
- 00014425  0x00002bd3 jam  0x0000007a , 0x000046f6 
- 00014426  0x00002bd4 call  0x0000386d 
- 00014427  0x00002bd5 call  0x00003867 
- 00014428  0x00002bd6 setarg  0x00003860 
- 00014429  0x00002bd7 store  0x00000002 , 0x000041fd 
- 00014430  0x00002bd8 arg  0x00000000 , 0x00000011 
- 00014431  0x00002bd9 branch  0x000069a6 
- 00014432  0x00002bdc fetch  0x00000002 , 0x000046a1 
- 00014433  0x00002bdd rtn  0x00000034 
- 00014434  0x00002bde increase  0xffffffff , 0x0000003f 
- 00014435  0x00002bdf store  0x00000002 , 0x000046a1 
- 00014436  0x00002be0 rtnne  0x00000000 
- 00014437  0x00002be1 jam  0x00000000 , 0x000046a0 
- 00014438  0x00002be2 rtn 
- 00014439  0x00002be5 bpatch  0x000000d6 , 0x0000401a 
- 00014440  0x00002be6 fetch  0x00000001 , 0x000046a4 
- 00014441  0x00002be7 sub  0x0000003f , 0x00000028 , 0x0000003e 
- 00014442  0x00002be8 rtn  0x00000002 
- 00014443  0x00002be9 jam  0x00000000 , 0x000046a4 
- 00014444  0x00002bea rtn 
- 00014445  0x00002bed arg  0x000046a4 , 0x00000011 
- 00014446  0x00002bee arg  0x00000000 , 0x00000012 
- 00014447  0x00002bef arg  0x00000051 , 0x00000002 
- 00014448  0x00002bf0 branch  0x000065df 
- 00014449  0x00002bf4 disable  0x00000028 
- 00014450  0x00002bf5 fetch  0x00000001 , 0x000046a3 
- 00014451  0x00002bf6 copy  0x0000003f , 0x00000039 
- 00014452  0x00002bf8 arg  0x000046a5 , 0x00000011 
- 00014453  0x00002bf9 copy  0x00000013 , 0x00000012 
- 00014454  0x00002bfb bpatch  0x000000d7 , 0x0000401a 
- 00014455  0x00002bfc call  0x0000387c 
- 00014456  0x00002bfd branch  0x00007fe7 , 0x00000005 
- 00014457  0x00002bff increase  0x00000004 , 0x00000011 
- 00014458  0x00002c00 loop  0x00003876 
- 00014459  0x00002c01 rtn 
- 00014460  0x00002c05 bpatch  0x000000d8 , 0x0000401b 
- 00014461  0x00002c06 ifetch  0x00000003 , 0x00000011 
- 00014462  0x00002c07 ifetcht  0x00000003 , 0x00000012 
- 00014463  0x00002c08 isub  0x00000002 , 0x0000003e 
- 00014464  0x00002c09 rtn 
- 00014465  0x00002c0c bpatch  0x000000d9 , 0x0000401b 
- 00014466  0x00002c0d ifetch  0x00000003 , 0x00000011 
- 00014467  0x00002c0e ifetcht  0x00000003 , 0x00000012 
- 00014468  0x00002c0f isub  0x00000002 , 0x0000003e 
- 00014469  0x00002c10 nrtn  0x00000005 
- 00014470  0x00002c11 ifetch  0x00000001 , 0x00000006 
- 00014471  0x00002c12 sub  0x0000003f , 0x00000000 , 0x0000003e 
- 00014472  0x00002c13 rtn  0x00000005 
- 00014473  0x00002c14 add  0x00000011 , 0x00000003 , 0x00000006 
- 00014474  0x00002c15 ifetcht  0x00000001 , 0x00000006 
- 00014475  0x00002c16 isub  0x00000002 , 0x0000003e 
- 00014476  0x00002c17 rtn 
- 00014477  0x00002c1b bpatch  0x000000da , 0x0000401b 
- 00014478  0x00002c1c disable  0x00000028 
- 00014479  0x00002c1d fetch  0x00000001 , 0x000046a3 
- 00014480  0x00002c1e copy  0x0000003f , 0x00000039 
- 00014481  0x00002c20 arg  0x000046a5 , 0x00000011 
- 00014482  0x00002c21 copy  0x00000013 , 0x00000012 
- 00014483  0x00002c23 call  0x00003881 
- 00014484  0x00002c24 branch  0x00007fe7 , 0x00000005 
- 00014485  0x00002c25 increase  0x00000004 , 0x00000011 
- 00014486  0x00002c26 loop  0x00003893 
- 00014487  0x00002c27 rtn 
- 00014488  0x00002c2b fetch  0x00000001 , 0x00000004 
- 00014489  0x00002c2c increase  0x00000001 , 0x0000003f 
- 00014490  0x00002c2d store  0x00000001 , 0x00000004 
- 00014491  0x00002c2e arg  0x000002e5 , 0x00000013 
- 00014492  0x00002c31 ifetch  0x00000002 , 0x00000013 
- 00014493  0x00002c32 arg  0x000055aa , 0x00000002 
- 00014494  0x00002c33 isub  0x00000002 , 0x0000003e 
- 00014495  0x00002c34 nrtn  0x00000005 
- 00014496  0x00002c35 copy  0x00000006 , 0x00000013 
- 00014497  0x00002c36 ifetcht  0x00000003 , 0x00000013 
- 00014498  0x00002c37 setarg  0x00ffffff 
- 00014499  0x00002c38 isub  0x00000002 , 0x0000003e 
- 00014500  0x00002c39 branch  0x000038a8 , 0x00000005 
- 00014501  0x00002c3a call  0x0000388d 
- 00014502  0x00002c3b branch  0x000038a8 , 0x00000028 
- 00014503  0x00002c3c rtn 
- 00014504  0x00002c3f bpatch  0x000000db , 0x0000401b 
- 00014505  0x00002c40 increase  0x00000004 , 0x00000013 
- 00014506  0x00002c41 ifetch  0x00000001 , 0x00000013 
- 00014507  0x00002c42 fetcht  0x00000001 , 0x000046f6 
- 00014508  0x00002c43 isub  0x00000002 , 0x0000003e 
- 00014509  0x00002c44 rtn  0x00000005 
- 00014510  0x00002c45 store  0x00000001 , 0x000046f6 
- 00014511  0x00002c46 fetch  0x00000001 , 0x00000003 
- 00014512  0x00002c47 increase  0x00000001 , 0x0000003f 
- 00014513  0x00002c48 store  0x00000001 , 0x00000003 
- 00014514  0x00002c4a increase  0x00000001 , 0x00000013 
- 00014515  0x00002c4b ifetch  0x00000001 , 0x00000013 
- 00014516  0x00002c4c store  0x00000001 , 0x000046f5 
- 00014517  0x00002c4d copy  0x0000003f , 0x00000039 
- 00014518  0x00002c4e rtn  0x00000034 
- 00014519  0x00002c50 ifetch  0x00000001 , 0x00000006 
- 00014520  0x00002c51 beq  0x00000000 , 0x000038c2 
- 00014521  0x00002c52 beq  0x00000001 , 0x000038cf 
- 00014522  0x00002c53 beq  0x00000002 , 0x000038d4 
- 00014523  0x00002c54 beq  0x00000003 , 0x000038d9 
- 00014524  0x00002c55 beq  0x00000004 , 0x000038de 
- 00014525  0x00002c56 beq  0x00000005 , 0x000038e3 
- 00014526  0x00002c57 beq  0x00000006 , 0x000038e8 
- 00014527  0x00002c58 beq  0x000000ff , 0x000038ea 
- 00014528  0x00002c59 loop  0x000038b7 
- 00014529  0x00002c5a rtn 
- 00014530  0x00002c5d copy  0x00000006 , 0x00000013 
- 00014531  0x00002c5e fetch  0x00000001 , 0x0000469a 
- 00014532  0x00002c5f store  0x00000001 , 0x00000a9a 
- 00014533  0x00002c60 arg  0x00000000 , 0x00000002 
- 00014534  0x00002c62 storet  0x00000001 , 0x00000a9b 
- 00014535  0x00002c63 setarg  0x00002710 
- 00014536  0x00002c64 store  0x00000003 , 0x00000a9c 
- 00014537  0x00002c65 ifetch  0x00000001 , 0x00000013 
- 00014538  0x00002c66 store  0x00000001 , 0x00000a9f 
- 00014539  0x00002c67 call  0x000069ae 
- 00014540  0x00002c68 and  0x00000013 , 0x00000001 , 0x00000006 
- 00014541  0x00002c69 loop  0x000038b7 
- 00014542  0x00002c6a rtn 
- 00014543  0x00002c6c copy  0x00000013 , 0x00000006 
- 00014544  0x00002c6d fetch  0x00000001 , 0x0000469b 
- 00014545  0x00002c6e store  0x00000001 , 0x00000a9a 
- 00014546  0x00002c6f arg  0x00000001 , 0x00000002 
- 00014547  0x00002c70 branch  0x000038c6 
- 00014548  0x00002c72 copy  0x00000013 , 0x00000006 
- 00014549  0x00002c73 fetch  0x00000001 , 0x0000469c 
- 00014550  0x00002c74 store  0x00000001 , 0x00000a9a 
- 00014551  0x00002c75 arg  0x00000002 , 0x00000002 
- 00014552  0x00002c76 branch  0x000038c6 
- 00014553  0x00002c78 copy  0x00000013 , 0x00000006 
- 00014554  0x00002c79 fetch  0x00000001 , 0x0000469d 
- 00014555  0x00002c7a store  0x00000001 , 0x00000a9a 
- 00014556  0x00002c7b arg  0x00000003 , 0x00000002 
- 00014557  0x00002c7c branch  0x000038c6 
- 00014558  0x00002c7e copy  0x00000013 , 0x00000006 
- 00014559  0x00002c7f fetch  0x00000001 , 0x0000469e 
- 00014560  0x00002c80 store  0x00000001 , 0x00000a9a 
- 00014561  0x00002c81 arg  0x00000004 , 0x00000002 
- 00014562  0x00002c82 branch  0x000038c6 
- 00014563  0x00002c84 copy  0x00000013 , 0x00000006 
- 00014564  0x00002c85 fetch  0x00000001 , 0x0000469f 
- 00014565  0x00002c86 store  0x00000001 , 0x00000a9a 
- 00014566  0x00002c87 arg  0x00000005 , 0x00000002 
- 00014567  0x00002c88 branch  0x000038c6 
- 00014568  0x00002c8b ifetch  0x00000001 , 0x00000006 
- 00014569  0x00002c8c rtn 
- 00014570  0x00002c8f copy  0x00000006 , 0x00000013 
- 00014571  0x00002c90 fetch  0x00000001 , 0x000046a0 
- 00014572  0x00002c91 bne  0x00000001 , 0x000038ee 
- 00014573  0x00002c92 call  0x000038f0 
- 00014574  0x00002c94 and  0x00000013 , 0x00000004 , 0x00000006 
- 00014575  0x00002c95 rtn 
- 00014576  0x00002c97 bpatch  0x000000dc , 0x0000401b 
- 00014577  0x00002c98 call  0x00003871 
- 00014578  0x00002c99 branch  0x000038fe , 0x00000028 
- 00014579  0x00002c9a fetch  0x00000001 , 0x000046a4 
- 00014580  0x00002c9b copy  0x0000003f , 0x00000002 
- 00014581  0x00002c9c increase  0x00000001 , 0x0000003f 
- 00014582  0x00002c9d store  0x00000001 , 0x000046a4 
- 00014583  0x00002c9e call  0x00003867 
- 00014584  0x00002c9f lshift2  0x00000002 , 0x00000002 
- 00014585  0x00002ca0 setarg  0x000046a5 
- 00014586  0x00002ca1 iadd  0x00000002 , 0x00000005 
- 00014587  0x00002ca2 ifetch  0x00000004 , 0x00000013 
- 00014588  0x00002ca3 istore  0x00000004 , 0x00000005 
- 00014589  0x00002ca4 branch  0x00003903 
- 00014590  0x00002ca6 add  0x00000013 , 0x00000003 , 0x00000006 
- 00014591  0x00002ca7 ifetch  0x00000001 , 0x00000006 
- 00014592  0x00002ca8 rtn  0x00000034 
- 00014593  0x00002ca9 ifetch  0x00000004 , 0x00000013 
- 00014594  0x00002caa istore  0x00000004 , 0x00000011 
- 00014595  0x00002cac arg  0x000046a4 , 0x00000011 
- 00014596  0x00002cad arg  0x00000000 , 0x00000012 
- 00014597  0x00002cae arg  0x00000051 , 0x00000002 
- 00014598  0x00002caf branch  0x00006606 
- 00014599  0x00002cb7 fetcht  0x00000001 , 0x0000469a 
- 00014600  0x00002cb8 call  0x00006825 
- 00014601  0x00002cb9 rtn 
- 00014602  0x00002cbf fetcht  0x00000001 , 0x0000469a 
- 00014603  0x00002cc0 call  0x00006829 
- 00014604  0x00002cc3 fetcht  0x00000001 , 0x0000469a 
- 00014605  0x00002cc4 call  0x00006825 
- 00014606  0x00002cc7 call  0x0000391d 
- 00014607  0x00002cc9 fetch  0x00000001 , 0x000046a7 
- 00014608  0x00002cca nrtn  0x00000034 
- 00014609  0x00002ccc call  0x00002c29 
- 00014610  0x00002ccd hfetch  0x00000004 , 0x00008138 
- 00014611  0x00002cce set0  0x0000000f , 0x0000003f 
- 00014612  0x00002ccf hstore  0x00000004 , 0x0000804c 
- 00014613  0x00002cd0 call  0x00002c21 
- 00014614  0x00002cd1 arg  0xffffffff , 0x00000002 
- 00014615  0x00002cd2 branch  0x00002b2a 
- 00014616  0x00002cd5 fetch  0x00000001 , 0x000046a7 
- 00014617  0x00002cd6 branch  0x000056f9 , 0x00000034 
- 00014618  0x00002cd7 increase  0xffffffff , 0x0000003f 
- 00014619  0x00002cd8 store  0x00000001 , 0x000046a7 
- 00014620  0x00002cd9 branch  0x000056f9 
- 00014621  0x00002cdc mul32  0x0000003f , 0x00000014 , 0x0000003f 
- 00014622  0x00002cdd arg  0x000046a8 , 0x00000006 
- 00014623  0x00002cde iadd  0x00000006 , 0x00000006 
- 00014624  0x00002cdf ifetch  0x00000001 , 0x00000006 
- 00014625  0x00002ce0 rtn  0x00000034 
- 00014626  0x00002ce1 copy  0x0000003f , 0x00000011 
- 00014627  0x00002ce2 copy  0x00000011 , 0x00000039 
- 00014628  0x00002ce3 arg  0x00004372 , 0x00000005 
- 00014629  0x00002ce4 call  0x00007f01 
- 00014630  0x00002ce5 copy  0x00000011 , 0x0000003f 
- 00014631  0x00002ce6 increase  0x00000002 , 0x0000003f 
- 00014632  0x00002ce7 store  0x00000001 , 0x0000436f 
- 00014633  0x00002ce8 rtn 
- 00014634  0x00002cf1 rtn  0x0000002b 
- 00014635  0x00002cf2 call  0x000057a3 
- 00014636  0x00002cf3 call  0x000068a8 
- 00014637  0x00002cf4 setarg  0x00003982 
- 00014638  0x00002cf5 store  0x00000002 , 0x000041f3 
- 00014639  0x00002cf6 setarg  0x0000396e 
- 00014640  0x00002cf7 store  0x00000002 , 0x000041f1 
- 00014641  0x00002cf8 setarg  0x00003986 
- 00014642  0x00002cf9 store  0x00000002 , 0x000041f5 
- 00014643  0x00002cfa setarg  0x0000396d 
- 00014644  0x00002cfb store  0x00000002 , 0x000041ef 
- 00014645  0x00002cfc setarg  0x00003969 
- 00014646  0x00002cfd store  0x00000002 , 0x000041e9 
- 00014647  0x00002cfe setarg  0x00003ab7 
- 00014648  0x00002cff store  0x00000002 , 0x000041fb 
- 00014649  0x00002d00 setarg  0x00003c32 
- 00014650  0x00002d01 store  0x00000002 , 0x0000456f 
- 00014651  0x00002d02 setarg  0x00003cc2 
- 00014652  0x00002d03 store  0x00000002 , 0x000041f9 
- 00014653  0x00002d04 setarg  0x00003cd7 
- 00014654  0x00002d05 store  0x00000002 , 0x000041fd 
- 00014655  0x00002d07 call  0x0000397f 
- 00014656  0x00002d08 bpatch  0x000000dd , 0x0000401b 
- 00014657  0x00002d09 call  0x00003945 
- 00014658  0x00002d0a call  0x00003964 
- 00014659  0x00002d0b call  0x00002c6f 
- 00014660  0x00002d0c branch  0x00003c48 
- 00014661  0x00002d10 fetch  0x00000004 , 0x000046aa 
- 00014662  0x00002d11 hstore  0x00000004 , 0x00008054 
- 00014663  0x00002d13 fetch  0x00000004 , 0x000046ae 
- 00014664  0x00002d14 hstore  0x00000004 , 0x0000805a 
- 00014665  0x00002d16 hfetch  0x00000001 , 0x00008081 
- 00014666  0x00002d17 or_into  0x00000004 , 0x0000003f 
- 00014667  0x00002d18 and_into  0x000000fc , 0x0000003f 
- 00014668  0x00002d19 hstore  0x00000001 , 0x00008081 
- 00014669  0x00002d1a jam  0x00000000 , 0x00008062 
- 00014670  0x00002d1c fetch  0x00000002 , 0x000046aa 
- 00014671  0x00002d1d hstore  0x00000002 , 0x00008058 
- 00014672  0x00002d1e fetch  0x00000002 , 0x000046ae 
- 00014673  0x00002d1f hstore  0x00000002 , 0x0000805e 
- 00014674  0x00002d20 hstore  0x00000002 , 0x00008060 
- 00014675  0x00002d22 hfetch  0x00000004 , 0x00008078 
- 00014676  0x00002d23 set1  0x00000007 , 0x0000003f 
- 00014677  0x00002d24 hstore  0x00000004 , 0x00008078 
- 00014678  0x00002d26 hfetch  0x00000002 , 0x00008050 
- 00014679  0x00002d27 set0  0x0000000f , 0x0000003f 
- 00014680  0x00002d28 hstore  0x00000002 , 0x00008050 
- 00014681  0x00002d29 call  0x000066ce 
- 00014682  0x00002d2a jam  0x00000000 , 0x00008043 
- 00014683  0x00002d2b jam  0x00000081 , 0x00008062 
- 00014684  0x00002d2d fetch  0x00000001 , 0x000046bf 
- 00014685  0x00002d2e isolate1  0x00000000 , 0x0000003f 
- 00014686  0x00002d2f hfetcht  0x00000001 , 0x00008062 
- 00014687  0x00002d30 setflag  0x00000001 , 0x00000004 , 0x00000002 
- 00014688  0x00002d31 hstoret  0x00000001 , 0x00008062 
- 00014689  0x00002d32 rtn 
- 00014690  0x00002d37 call  0x0000397f 
- 00014691  0x00002d38 branch  0x00003945 
- 00014692  0x00002d40 fetcht  0x00000001 , 0x0000469e 
- 00014693  0x00002d41 call  0x0000680e 
- 00014694  0x00002d42 call  0x000039e6 
- 00014695  0x00002d44 fetcht  0x00000001 , 0x0000469c 
- 00014696  0x00002d45 branch  0x000067fb 
- 00014697  0x00002d48 fetcht  0x00000001 , 0x0000469c 
- 00014698  0x00002d49 call  0x0000681d 
- 00014699  0x00002d4a nbranch  0x000033d2 , 0x00000001 
- 00014700  0x00002d4b branch  0x000033d0 
- 00014701  0x00002d4f rtn 
- 00014702  0x00002d52 call  0x00003970 
- 00014703  0x00002d53 branch  0x00003ce9 
- 00014704  0x00002d56 fetch  0x00000001 , 0x00004682 
- 00014705  0x00002d57 bbit0  0x00000004 , 0x0000397f 
- 00014706  0x00002d58 bpatch  0x000000de , 0x0000401b 
- 00014707  0x00002d59 setarg  0x00003eff 
- 00014708  0x00002d5a fetcht  0x00000004 , 0x000046c5 
- 00014709  0x00002d5b iadd  0x00000002 , 0x00000002 
- 00014710  0x00002d5c copy  0x00000022 , 0x0000003f 
- 00014711  0x00002d5d isub  0x00000002 , 0x0000003e 
- 00014712  0x00002d5e nrtn  0x00000002 
- 00014713  0x00002d5f fetch  0x00000002 , 0x00004682 
- 00014714  0x00002d60 bbit1  0x00000005 , 0x0000397f 
- 00014715  0x00002d61 fetch  0x00000001 , 0x000046bf 
- 00014716  0x00002d62 rtnbit1  0x00000006 
- 00014717  0x00002d63 call  0x00003cec 
- 00014718  0x00002d64 call  0x0000340e 
- 00014719  0x00002d66 copy  0x00000022 , 0x0000003f 
- 00014720  0x00002d67 store  0x00000004 , 0x000046c5 
- 00014721  0x00002d68 rtn 
- 00014722  0x00002d6c call  0x00003ce9 
- 00014723  0x00002d6d call  0x0000526e 
- 00014724  0x00002d6e nrtn  0x00000034 
- 00014725  0x00002d6f branch  0x000039eb 
- 00014726  0x00002d73 copy  0x00000013 , 0x0000003f 
- 00014727  0x00002d74 beq  0x00000001 , 0x000039d4 
- 00014728  0x00002d75 beq  0x00000002 , 0x000039a3 
- 00014729  0x00002d76 beq  0x00000004 , 0x000039d7 
- 00014730  0x00002d77 beq  0x00000005 , 0x000039c4 
- 00014731  0x00002d78 beq  0x00000008 , 0x000039aa 
- 00014732  0x00002d79 beq  0x00000009 , 0x000039b1 
- 00014733  0x00002d7a beq  0x0000000a , 0x000039c9 
- 00014734  0x00002d7b beq  0x0000000b , 0x000039b6 
- 00014735  0x00002d7c beq  0x0000000c , 0x000039c2 
- 00014736  0x00002d7d beq  0x00000013 , 0x000039d7 
- 00014737  0x00002d7e beq  0x00000014 , 0x000039cf 
- 00014738  0x00002d7f beq  0x00000015 , 0x000039c6 
- 00014739  0x00002d80 beq  0x00000021 , 0x000039ca 
- 00014740  0x00002d81 beq  0x00000023 , 0x000039cb 
- 00014741  0x00002d82 beq  0x00000024 , 0x000039ce 
- 00014742  0x00002d83 beq  0x00000030 , 0x00003c8a 
- 00014743  0x00002d84 beq  0x00000031 , 0x00003c8c 
- 00014744  0x00002d85 beq  0x00000032 , 0x00003c9a 
- 00014745  0x00002d86 beq  0x00000033 , 0x00003c98 
- 00014746  0x00002d87 beq  0x00000034 , 0x00003c84 
- 00014747  0x00002d88 beq  0x00000035 , 0x00003c73 
- 00014748  0x00002d89 beq  0x00000036 , 0x00003c82 
- 00014749  0x00002d8a beq  0x00000037 , 0x00003c8e 
- 00014750  0x00002d8b beq  0x00000038 , 0x00003c90 
- 00014751  0x00002d8c beq  0x0000003b , 0x00003ca1 
- 00014752  0x00002d8d beq  0x0000003d , 0x00003c6a 
- 00014753  0x00002d8e beq  0x00000041 , 0x000039d9 
- 00014754  0x00002d8f rtn 
- 00014755  0x00002d93 call  0x0000397f 
- 00014756  0x00002d94 fetch  0x00000001 , 0x00004665 
- 00014757  0x00002d95 ncall  0x00003c8e , 0x00000034 
- 00014758  0x00002d96 call  0x000039d7 
- 00014759  0x00002d97 fetch  0x00000002 , 0x00004682 
- 00014760  0x00002d98 rtnbit0  0x00000004 
- 00014761  0x00002d99 branch  0x000039b1 
- 00014762  0x00002d9c fetch  0x00000002 , 0x00004682 
- 00014763  0x00002d9d set1  0x00000004 , 0x0000003f 
- 00014764  0x00002d9e store  0x00000002 , 0x00004682 
- 00014765  0x00002d9f fetch  0x00000001 , 0x000046a7 
- 00014766  0x00002da0 store  0x00000001 , 0x00004172 
- 00014767  0x00002da1 call  0x000039e6 
- 00014768  0x00002da2 branch  0x00003c1d 
- 00014769  0x00002da7 fetch  0x00000002 , 0x00004682 
- 00014770  0x00002da8 rtnbit0  0x00000004 
- 00014771  0x00002da9 set0  0x00000004 , 0x0000003f 
- 00014772  0x00002daa store  0x00000002 , 0x00004682 
- 00014773  0x00002dab branch  0x00003c21 
- 00014774  0x00002db1 call  0x0000397f 
- 00014775  0x00002db4 fetch  0x00000002 , 0x00004042 
- 00014776  0x00002db5 rshift  0x0000003f , 0x0000003f 
- 00014777  0x00002db6 fetcht  0x00000002 , 0x000041e3 
- 00014778  0x00002db7 isub  0x00000002 , 0x0000003e 
- 00014779  0x00002db8 nbranch  0x000039bd , 0x00000005 
- 00014780  0x00002db9 branch  0x00003416 
- 00014781  0x00002dbb fetch  0x00000001 , 0x000046bf 
- 00014782  0x00002dbc rtnbit1  0x00000005 
- 00014783  0x00002dbd hfetch  0x00000002 , 0x00008112 
- 00014784  0x00002dbe ncall  0x00003cf0 , 0x00000034 
- 00014785  0x00002dbf branch  0x0000340c 
- 00014786  0x00002dc2 call  0x00003cee 
- 00014787  0x00002dc3 branch  0x00003418 
- 00014788  0x00002dc6 call  0x0000397f 
- 00014789  0x00002dc7 branch  0x000039dd 
- 00014790  0x00002dca call  0x00005816 
- 00014791  0x00002dcb call  0x000039d7 
- 00014792  0x00002dcc branch  0x00003c23 
- 00014793  0x00002dcf branch  0x000033dd 
- 00014794  0x00002dd3 branch  0x00003cee 
- 00014795  0x00002dd7 fetch  0x00000001 , 0x000046bf 
- 00014796  0x00002dd8 bbit0  0x00000005 , 0x0000340e 
- 00014797  0x00002dd9 branch  0x00003cf2 
- 00014798  0x00002ddd branch  0x00003cf2 
- 00014799  0x00002de1 call  0x000058ba 
- 00014800  0x00002de2 call  0x000039dd 
- 00014801  0x00002de3 fetch  0x00000001 , 0x000046a8 
- 00014802  0x00002de4 store  0x00000001 , 0x00004172 
- 00014803  0x00002de5 branch  0x00003c1f 
- 00014804  0x00002de9 jam  0x00000000 , 0x00004661 
- 00014805  0x00002dea call  0x00003cee 
- 00014806  0x00002deb branch  0x00003cf2 
- 00014807  0x00002df0 call  0x00003a52 
- 00014808  0x00002df1 branch  0x000039db 
- 00014809  0x00002df5 call  0x00005cc9 
- 00014810  0x00002df6 branch  0x00005b02 
- 00014811  0x00002dfa fetcht  0x00000001 , 0x0000469e 
- 00014812  0x00002dfb branch  0x00006829 
- 00014813  0x00002dfe call  0x000039df 
- 00014814  0x00002dff branch  0x000039e6 
- 00014815  0x00002e02 fetch  0x00000001 , 0x000046a1 
- 00014816  0x00002e03 isolate1  0x00000000 , 0x0000003f 
- 00014817  0x00002e04 call  0x000033f0 , 0x00000001 
- 00014818  0x00002e05 fetch  0x00000001 , 0x000046a1 
- 00014819  0x00002e06 isolate1  0x00000001 , 0x0000003f 
- 00014820  0x00002e07 call  0x000033f8 , 0x00000001 
- 00014821  0x00002e08 rtn 
- 00014822  0x00002e0a fetcht  0x00000001 , 0x0000469e 
- 00014823  0x00002e0b branch  0x00006825 
- 00014824  0x00002e0e fetch  0x00000001 , 0x0000456b 
- 00014825  0x00002e0f rtneq  0x00000000 
- 00014826  0x00002e10 branch  0x00006c28 
- 00014827  0x00002e13 hfetch  0x00000001 , 0x0000810c 
- 00014828  0x00002e14 bbit1  0x00000003 , 0x000039e8 
- 00014829  0x00002e15 call  0x000066cb 
- 00014830  0x00002e16 ifetch  0x00000001 , 0x00000003 
- 00014831  0x00002e17 bne  0x00000001 , 0x00003a01 
- 00014832  0x00002e18 hfetch  0x00000002 , 0x00008112 
- 00014833  0x00002e19 sub  0x0000003f , 0x00000002 , 0x0000003e 
- 00014834  0x00002e1a rtn  0x00000002 
- 00014835  0x00002e1b ifetch  0x00000001 , 0x00000003 
- 00014836  0x00002e1c store  0x00000001 , 0x00000b03 
- 00014837  0x00002e1d ifetcht  0x00000001 , 0x00000003 
- 00014838  0x00002e1e copy  0x00000003 , 0x00000011 
- 00014839  0x00002e1f storet  0x00000001 , 0x00000b04 
- 00014840  0x00002e20 add  0x00000002 , 0x00000003 , 0x00000002 
- 00014841  0x00002e21 hfetch  0x00000002 , 0x00008112 
- 00014842  0x00002e22 isub  0x00000002 , 0x00000002 
- 00014843  0x00002e23 nrtn  0x00000002 
- 00014844  0x00002e24 jam  0x00000001 , 0x00000b05 
- 00014845  0x00002e25 call  0x00003a17 
- 00014846  0x00002e26 fetch  0x00000001 , 0x00000b05 
- 00014847  0x00002e27 rtneq  0x00000000 
- 00014848  0x00002e28 branch  0x00003a12 
- 00014849  0x00002e2b call  0x00007ec1 
- 00014850  0x00002e2c call  0x00003c79 
- 00014851  0x00002e2d branch  0x00003a04 
- 00014852  0x00002e31 bpatch  0x000000df , 0x0000401b 
- 00014853  0x00002e32 hfetch  0x00000002 , 0x00008112 
- 00014854  0x00002e33 rtn  0x00000034 
- 00014855  0x00002e34 call  0x000066cb 
- 00014856  0x00002e35 ifetch  0x00000001 , 0x00000003 
- 00014857  0x00002e36 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00014858  0x00002e37 ncall  0x00003a16 , 0x00000005 
- 00014859  0x00002e38 nbranch  0x00003a04 , 0x00000005 
- 00014860  0x00002e39 ifetch  0x00000001 , 0x00000003 
- 00014861  0x00002e3a rtneq  0x00000005 
- 00014862  0x00002e3b rtneq  0x00000029 
- 00014863  0x00002e3c increase  0xffffffff , 0x00000003 
- 00014864  0x00002e3d call  0x00003a16 
- 00014865  0x00002e3e branch  0x00003a04 
- 00014866  0x00002e41 call  0x000066cb 
- 00014867  0x00002e42 increase  0x00000002 , 0x00000003 
- 00014868  0x00002e43 ifetch  0x00000001 , 0x00000003 
- 00014869  0x00002e44 iadd  0x00000003 , 0x00000003 
- 00014870  0x00002e46 branch  0x000066c8 
- 00014871  0x00002e4a bpatch  0x000000e0 , 0x0000401c 
- 00014872  0x00002e4b fetch  0x00000001 , 0x00000b03 
- 00014873  0x00002e4c beq  0x00000000 , 0x00003a3f 
- 00014874  0x00002e4d beq  0x00000001 , 0x00003a44 
- 00014875  0x00002e4e beq  0x00000002 , 0x00003a49 
- 00014876  0x00002e4f beq  0x00000003 , 0x00003a5f 
- 00014877  0x00002e50 beq  0x00000004 , 0x00003a6b 
- 00014878  0x00002e51 beq  0x00000005 , 0x00003a75 
- 00014879  0x00002e52 beq  0x00000009 , 0x00003a9a 
- 00014880  0x00002e53 beq  0x0000000b , 0x00003ad7 
- 00014881  0x00002e54 beq  0x0000000c , 0x00003ad8 
- 00014882  0x00002e55 beq  0x0000000d , 0x00003aec 
- 00014883  0x00002e56 beq  0x0000000e , 0x00003af4 
- 00014884  0x00002e57 beq  0x0000000f , 0x00003afa 
- 00014885  0x00002e58 beq  0x00000010 , 0x00003b06 
- 00014886  0x00002e59 beq  0x00000011 , 0x00003b0e 
- 00014887  0x00002e5a beq  0x00000012 , 0x00003b12 
- 00014888  0x00002e5b beq  0x00000026 , 0x00003b16 
- 00014889  0x00002e5c beq  0x00000028 , 0x00003b1d 
- 00014890  0x00002e5d beq  0x00000029 , 0x00003b2d 
- 00014891  0x00002e5e beq  0x0000002a , 0x00003b36 
- 00014892  0x00002e5f beq  0x0000002b , 0x00003b69 
- 00014893  0x00002e60 beq  0x0000002c , 0x00003b6f 
- 00014894  0x00002e61 beq  0x00000030 , 0x00003b76 
- 00014895  0x00002e62 beq  0x00000031 , 0x00003b7c 
- 00014896  0x00002e63 beq  0x00000032 , 0x00003b90 
- 00014897  0x00002e64 beq  0x00000033 , 0x00003b98 
- 00014898  0x00002e65 beq  0x00000034 , 0x00003bbb 
- 00014899  0x00002e66 beq  0x00000035 , 0x00003bc4 
- 00014900  0x00002e67 beq  0x00000036 , 0x00003bcd 
- 00014901  0x00002e68 beq  0x00000037 , 0x00003bd7 
- 00014902  0x00002e69 beq  0x00000038 , 0x00003bda 
- 00014903  0x00002e6a beq  0x00000040 , 0x00003be2 
- 00014904  0x00002e6b beq  0x00000042 , 0x00003bec 
- 00014905  0x00002e6c beq  0x00000048 , 0x00003bf1 
- 00014906  0x00002e6d beq  0x00000049 , 0x00003bfc 
- 00014907  0x00002e6e beq  0x00000051 , 0x00003c02 
- 00014908  0x00002e6f beq  0x00000061 , 0x00003c06 
- 00014909  0x00002e70 beq  0x000000ff , 0x00003c15 
- 00014910  0x00002e71 branch  0x00003c17 
- 00014911  0x00002e77 fetch  0x00000001 , 0x00000b04 
- 00014912  0x00002e78 bne  0x00000006 , 0x00003c17 
- 00014913  0x00002e79 ifetch  0x00000006 , 0x00000003 
- 00014914  0x00002e7a store  0x00000006 , 0x000040a0 
- 00014915  0x00002e7b branch  0x00003c1a 
- 00014916  0x00002e7f fetch  0x00000001 , 0x00000b04 
- 00014917  0x00002e80 bne  0x00000006 , 0x00003c17 
- 00014918  0x00002e81 ifetch  0x00000006 , 0x00000003 
- 00014919  0x00002e82 store  0x00000006 , 0x000044a0 
- 00014920  0x00002e83 branch  0x00003c1a 
- 00014921  0x00002e88 fetch  0x00000001 , 0x00000b04 
- 00014922  0x00002e89 bne  0x00000001 , 0x00003c17 
- 00014923  0x00002e8a copy  0x00000011 , 0x00000003 
- 00014924  0x00002e8b call  0x00003c1a 
- 00014925  0x00002e8c ifetcht  0x00000001 , 0x00000003 
- 00014926  0x00002e8d storet  0x00000001 , 0x000046a9 
- 00014927  0x00002e8e fetch  0x00000002 , 0x00004682 
- 00014928  0x00002e8f rtnbit1  0x00000009 
- 00014929  0x00002e90 rtnbit1  0x00000000 
- 00014930  0x00002e92 fetch  0x00000001 , 0x000046a1 
- 00014931  0x00002e93 isolate1  0x00000000 , 0x0000003f 
- 00014932  0x00002e94 nbranch  0x00003a58 , 0x00000001 
- 00014933  0x00002e95 fetcht  0x00000001 , 0x000046a9 
- 00014934  0x00002e96 and  0x00000002 , 0x00000003 , 0x0000003f 
- 00014935  0x00002e97 store  0x00000001 , 0x00004093 
- 00014936  0x00002e99 fetch  0x00000001 , 0x000046a1 
- 00014937  0x00002e9a isolate1  0x00000001 , 0x0000003f 
- 00014938  0x00002e9b nrtn  0x00000001 
- 00014939  0x00002e9c fetcht  0x00000001 , 0x000046a9 
- 00014940  0x00002e9d isolate1  0x00000002 , 0x00000002 
- 00014941  0x00002e9e branch  0x000033fa , 0x00000001 
- 00014942  0x00002e9f branch  0x000033f8 
- 00014943  0x00002ea4 fetch  0x00000001 , 0x00000b04 
- 00014944  0x00002ea5 sub  0x0000003f , 0x00000043 , 0x0000003e 
- 00014945  0x00002ea6 nbranch  0x00003c17 , 0x00000002 
- 00014946  0x00002ea7 store  0x00000001 , 0x00004515 
- 00014947  0x00002ea8 arg  0x00000008 , 0x00000039 
- 00014948  0x00002ea9 call  0x00007ec6 
- 00014949  0x00002eaa fetch  0x00000001 , 0x00000b04 
- 00014950  0x00002eab copy  0x0000003f , 0x00000039 
- 00014951  0x00002eac copy  0x00000011 , 0x00000003 
- 00014952  0x00002ead arg  0x00004516 , 0x00000005 
- 00014953  0x00002eae call  0x000066ea 
- 00014954  0x00002eaf branch  0x00003c1a 
- 00014955  0x00002eb4 fetch  0x00000001 , 0x00000b04 
- 00014956  0x00002eb5 sub  0x0000003f , 0x0000001d , 0x0000003e 
- 00014957  0x00002eb6 nbranch  0x00003c17 , 0x00000002 
- 00014958  0x00002eb7 store  0x00000001 , 0x000043af 
- 00014959  0x00002eb8 copy  0x0000003f , 0x00000039 
- 00014960  0x00002eb9 copy  0x00000011 , 0x00000003 
- 00014961  0x00002eba arg  0x000043b0 , 0x00000005 
- 00014962  0x00002ebb call  0x000066ea 
- 00014963  0x00002ebc call  0x000057a3 
- 00014964  0x00002ebd branch  0x00003c1a 
- 00014965  0x00002ec2 fetch  0x00000001 , 0x00004682 
- 00014966  0x00002ec3 bbit0  0x00000004 , 0x00003c17 
- 00014967  0x00002ec4 call  0x000033ba 
- 00014968  0x00002ec5 branch  0x00003a86 , 0x00000001 
- 00014969  0x00002ec6 jam  0x00000000 , 0x00000b05 
- 00014970  0x00002ec8 call  0x0000397f 
- 00014971  0x00002ec9 fetch  0x00000001 , 0x00004568 
- 00014972  0x00002eca rtn  0x00000034 
- 00014973  0x00002ecb fetch  0x00000002 , 0x00004573 
- 00014974  0x00002ecc bne  0x00000000 , 0x00003a84 
- 00014975  0x00002ecd fetch  0x00000001 , 0x00000b04 
- 00014976  0x00002ece store  0x00000002 , 0x00004573 
- 00014977  0x00002ed0 copy  0x00000011 , 0x00000003 
- 00014978  0x00002ed3 copy  0x00000003 , 0x0000003f 
- 00014979  0x00002ed4 store  0x00000002 , 0x00004571 
- 00014980  0x00002ed6 call  0x00003a88 
- 00014981  0x00002ed7 branch  0x00006c4d 
- 00014982  0x00002eda jam  0x00000000 , 0x00000b05 
- 00014983  0x00002edb branch  0x00003cd1 
- 00014984  0x00002ede call  0x00003a8e 
- 00014985  0x00002edf fetch  0x00000002 , 0x00004573 
- 00014986  0x00002ee0 fetcht  0x00000002 , 0x0000469f 
- 00014987  0x00002ee1 isub  0x00000002 , 0x0000003f 
- 00014988  0x00002ee2 store  0x00000002 , 0x00004573 
- 00014989  0x00002ee3 rtn 
- 00014990  0x00002ee6 fetch  0x00000002 , 0x00004573 
- 00014991  0x00002ee7 arg  0x0000006e , 0x00000002 
- 00014992  0x00002ee8 call  0x00007fdd 
- 00014993  0x00002ee9 fetcht  0x00000002 , 0x0000456c 
- 00014994  0x00002eea call  0x00007fdd 
- 00014995  0x00002eeb fetcht  0x00000002 , 0x0000455e 
- 00014996  0x00002eec call  0x00007fdd 
- 00014997  0x00002eed store  0x00000002 , 0x0000469f 
- 00014998  0x00002eee rtn 
- 00014999  0x00002ef1 jam  0x00000001 , 0x00000b05 
- 00015000  0x00002ef2 jam  0x00000005 , 0x00000b03 
- 00015001  0x00002ef3 branch  0x00003c1a 
- 00015002  0x00002ef8 fetch  0x00000002 , 0x00004682 
- 00015003  0x00002ef9 bbit0  0x00000009 , 0x00003c17 
- 00015004  0x00002efa call  0x00003ad4 
- 00015005  0x00002efb branch  0x00003c17 , 0x00000028 
- 00015006  0x00002efc jam  0x00000000 , 0x00000b05 
- 00015007  0x00002efd fetch  0x00000001 , 0x000046bf 
- 00015008  0x00002efe bbit1  0x00000004 , 0x00003ab4 
- 00015009  0x00002eff fetch  0x00000001 , 0x000046c0 
- 00015010  0x00002f00 nrtn  0x00000034 
- 00015011  0x00002f01 jam  0x00000001 , 0x00000b05 
- 00015012  0x00002f02 ifetch  0x00000002 , 0x00000003 
- 00015013  0x00002f03 store  0x00000002 , 0x000046c1 
- 00015014  0x00002f04 copy  0x00000003 , 0x0000003f 
- 00015015  0x00002f05 store  0x00000002 , 0x000046c3 
- 00015016  0x00002f06 fetch  0x00000001 , 0x00000b04 
- 00015017  0x00002f07 pincrease  0xfffffffe 
- 00015018  0x00002f08 nbranch  0x00003c17 , 0x00000002 
- 00015019  0x00002f09 branch  0x00003c17 , 0x00000005 
- 00015020  0x00002f0a store  0x00000001 , 0x000046c0 
- 00015021  0x00002f0b jam  0x00000000 , 0x00000b05 
- 00015022  0x00002f0c call  0x00005814 
- 00015023  0x00002f0d call  0x00003ab7 
- 00015024  0x00002f0e call  0x00003ab7 
- 00015025  0x00002f0f call  0x00003ab7 
- 00015026  0x00002f10 fetch  0x00000001 , 0x000046bf 
- 00015027  0x00002f11 rtnbit0  0x00000004 
- 00015028  0x00002f13 jam  0x00000001 , 0x00000b05 
- 00015029  0x00002f14 call  0x00003cf6 
- 00015030  0x00002f15 branch  0x00003c1a 
- 00015031  0x00002f18 fetch  0x00000001 , 0x000046c0 
- 00015032  0x00002f19 rtn  0x00000034 
- 00015033  0x00002f1a call  0x00005892 
- 00015034  0x00002f1b nrtn  0x00000034 
- 00015035  0x00002f1c call  0x00003acf 
- 00015036  0x00002f1d bpatch  0x000000e1 , 0x0000401c 
- 00015037  0x00002f1e add  0x00000002 , 0xfffffffd , 0x0000003f 
- 00015038  0x00002f1f fetcht  0x00000001 , 0x000046c0 
- 00015039  0x00002f20 call  0x00007fdd 
- 00015040  0x00002f21 copy  0x0000003f , 0x00000011 
- 00015041  0x00002f22 copy  0x00000002 , 0x0000003f 
- 00015042  0x00002f23 isub  0x00000011 , 0x0000003f 
- 00015043  0x00002f24 store  0x00000001 , 0x000046c0 
- 00015044  0x00002f25 fetcht  0x00000002 , 0x000046c1 
- 00015045  0x00002f26 call  0x00005a64 
- 00015046  0x00002f27 fetch  0x00000002 , 0x000046c3 
- 00015047  0x00002f28 copy  0x0000003f , 0x00000003 
- 00015048  0x00002f29 copy  0x00000011 , 0x00000039 
- 00015049  0x00002f2a call  0x000066ea 
- 00015050  0x00002f2b copy  0x00000003 , 0x0000003f 
- 00015051  0x00002f2c store  0x00000002 , 0x000046c3 
- 00015052  0x00002f2d fetch  0x00000001 , 0x000046c0 
- 00015053  0x00002f2e nrtn  0x00000034 
- 00015054  0x00002f2f branch  0x00003cf4 
- 00015055  0x00002f34 arg  0x00000017 , 0x00000002 
- 00015056  0x00002f35 fetch  0x00000001 , 0x000046bf 
- 00015057  0x00002f36 rtnbit1  0x00000001 
- 00015058  0x00002f37 fetcht  0x00000002 , 0x000044a8 
- 00015059  0x00002f38 rtn 
- 00015060  0x00002f3b fetch  0x00000001 , 0x000046bf 
- 00015061  0x00002f3c bbit1  0x00000002 , 0x00005a42 
- 00015062  0x00002f3d branch  0x00007fe9 
- 00015063  0x00002f42 branch  0x00003c4c 
- 00015064  0x00002f47 copy  0x00000011 , 0x00000003 
- 00015065  0x00002f48 ifetch  0x00000001 , 0x00000003 
- 00015066  0x00002f49 beq  0x00000000 , 0x00003adf 
- 00015067  0x00002f4a beq  0x00000001 , 0x00003ae2 
- 00015068  0x00002f4b beq  0x00000002 , 0x00003ae8 
- 00015069  0x00002f4c beq  0x00000003 , 0x00003aea 
- 00015070  0x00002f4d branch  0x00003c17 
- 00015071  0x00002f4f call  0x0000612b 
- 00015072  0x00002f50 jam  0x00000000 , 0x0000465a 
- 00015073  0x00002f51 branch  0x00003c1a 
- 00015074  0x00002f53 setarg  0x00040003 
- 00015075  0x00002f55 store  0x00000003 , 0x0000465b 
- 00015076  0x00002f56 store  0x00000001 , 0x00004662 
- 00015077  0x00002f57 call  0x00006124 
- 00015078  0x00002f58 jam  0x00000001 , 0x0000465a 
- 00015079  0x00002f59 branch  0x00003c1a 
- 00015080  0x00002f5b setarg  0x00040002 
- 00015081  0x00002f5c branch  0x00003ae3 
- 00015082  0x00002f5f setarg  0x00040001 
- 00015083  0x00002f60 branch  0x00003ae3 
- 00015084  0x00002f64 fetch  0x00000001 , 0x00000b04 
- 00015085  0x00002f65 sub  0x0000003f , 0x00000010 , 0x0000003e 
- 00015086  0x00002f66 nbranch  0x00003c17 , 0x00000002 
- 00015087  0x00002f67 store  0x00000001 , 0x00004689 
- 00015088  0x00002f68 copy  0x0000003f , 0x00000039 
- 00015089  0x00002f69 arg  0x0000468a , 0x00000005 
- 00015090  0x00002f6a call  0x000066fd 
- 00015091  0x00002f6b branch  0x00003c1a 
- 00015092  0x00002f70 copy  0x00000011 , 0x00000003 
- 00015093  0x00002f71 ifetch  0x00000001 , 0x00000003 
- 00015094  0x00002f72 hfetcht  0x00000001 , 0x00008062 
- 00015095  0x00002f73 nsetflag  0x00000034 , 0x00000004 , 0x00000002 
- 00015096  0x00002f74 hstoret  0x00000001 , 0x00008062 
- 00015097  0x00002f75 branch  0x00003c1a 
- 00015098  0x00002f7a fetch  0x00000001 , 0x00000b04 
- 00015099  0x00002f7b copy  0x0000003f , 0x00000039 
- 00015100  0x00002f7c copy  0x00000011 , 0x00000003 
- 00015101  0x00002f7d call  0x00007f58 
- 00015102  0x00002f7e setarg  0x016e3600 
- 00015103  0x00002f7f idiv  0x00000002 
- 00015104  0x00002f80 call  0x00007f86 
- 00015105  0x00002f81 quotient  0x0000003f 
- 00015106  0x00002f83 store  0x00000002 , 0x00004243 
- 00015107  0x00002f84 call  0x00003c1a 
- 00015108  0x00002f85 call  0x00007f9e 
- 00015109  0x00002f86 branch  0x000066ce 
- 00015110  0x00002f8b arg  0x00000002 , 0x00000011 
- 00015111  0x00002f8c arg  0x0000469a , 0x00000012 
- 00015112  0x00002f8d arg  0x00000000 , 0x00000002 
- 00015113  0x00002f8e branch  0x00003c25 
- 00015114  0x00002f90 store  0x00000002 , 0x00000ac2 
- 00015115  0x00002f91 arg  0x00000ac2 , 0x00000012 
- 00015116  0x00002f92 arg  0x00000000 , 0x00000002 
- 00015117  0x00002f93 branch  0x00003c25 
- 00015118  0x00002f98 fetch  0x00000002 , 0x00004682 
- 00015119  0x00002f99 bbit0  0x00000000 , 0x00003c17 
- 00015120  0x00002f9b call  0x00003c1a 
- 00015121  0x00002f9c branch  0x000033e9 
- 00015122  0x00002fa1 fetch  0x00000002 , 0x00004682 
- 00015123  0x00002fa2 bbit0  0x00000009 , 0x00003c17 
- 00015124  0x00002fa4 call  0x00003c1a 
- 00015125  0x00002fa5 branch  0x00003402 
- 00015126  0x00002fac fetch  0x00000001 , 0x00000b04 
- 00015127  0x00002fad copy  0x0000003f , 0x00000039 
- 00015128  0x00002fae copy  0x00000011 , 0x00000003 
- 00015129  0x00002faf fetch  0x00000002 , 0x00004215 
- 00015130  0x00002fb0 icopy  0x00000005 
- 00015131  0x00002fb1 call  0x000066ea 
- 00015132  0x00002fb2 branch  0x00003c1a 
- 00015133  0x00002fb7 fetch  0x00000001 , 0x00004682 
- 00015134  0x00002fb8 bbit0  0x00000000 , 0x00003c17 
- 00015135  0x00002fb9 ifetch  0x00000001 , 0x00000003 
- 00015136  0x00002fba fetcht  0x00000001 , 0x00004661 
- 00015137  0x00002fbb setflag  0x00000034 , 0x00000000 , 0x00000002 
- 00015138  0x00002fbc set1  0x00000007 , 0x00000002 
- 00015139  0x00002fbd storet  0x00000001 , 0x00004661 
- 00015140  0x00002fbf call  0x00003c1a 
- 00015141  0x00002fc1 fetch  0x00000001 , 0x00004661 
- 00015142  0x00002fc2 bbit1  0x00000006 , 0x00003b2b 
- 00015143  0x00002fc3 rtn 
- 00015144  0x00002fc6 jam  0x00000000 , 0x00004661 
- 00015145  0x00002fc7 jam  0x00000021 , 0x00000a99 
- 00015146  0x00002fc8 branch  0x00007d8f 
- 00015147  0x00002fcc bbit1  0x00000000 , 0x00005f95 
- 00015148  0x00002fcd branch  0x00003b28 
- 00015149  0x00002fd2 fetch  0x00000001 , 0x00004682 
- 00015150  0x00002fd3 rtnbit0  0x00000004 
- 00015151  0x00002fd4 fetch  0x00000001 , 0x0000456b 
- 00015152  0x00002fd5 rtneq  0x00000000 
- 00015153  0x00002fd6 ifetch  0x00000001 , 0x00000003 
- 00015154  0x00002fd7 fetcht  0x00000001 , 0x00004569 
- 00015155  0x00002fd8 iadd  0x00000002 , 0x00000002 
- 00015156  0x00002fd9 storet  0x00000001 , 0x00004569 
- 00015157  0x00002fda rtn 
- 00015158  0x00002fdf arg  0x00000040 , 0x00000039 
- 00015159  0x00002fe0 arg  0x0000436f , 0x00000005 
- 00015160  0x00002fe1 call  0x00007ed4 
- 00015161  0x00002fe2 setarg  0x00000000 
- 00015162  0x00002fe3 store  0x00000001 , 0x00000ab2 
- 00015163  0x00002fe4 copy  0x00000011 , 0x00000003 
- 00015164  0x00002fe6 copy  0x00000003 , 0x0000003f 
- 00015165  0x00002fe7 store  0x00000002 , 0x00000ab6 
- 00015166  0x00002fe8 call  0x00003b64 
- 00015167  0x00002fea fetch  0x00000001 , 0x00000ab2 
- 00015168  0x00002feb fetcht  0x00000001 , 0x00000aa2 
- 00015169  0x00002fec increase  0x00000001 , 0x00000002 
- 00015170  0x00002fed iadd  0x00000002 , 0x0000003f 
- 00015171  0x00002fee store  0x00000001 , 0x00000ab2 
- 00015172  0x00002ff0 sub  0x0000003f , 0x0000001f , 0x0000003e 
- 00015173  0x00002ff1 nbranch  0x00003b50 , 0x00000002 
- 00015174  0x00002ff3 fetcht  0x00000001 , 0x0000436f 
- 00015175  0x00002ff4 setarg  0x00004370 
- 00015176  0x00002ff5 iadd  0x00000002 , 0x0000003f 
- 00015177  0x00002ff6 store  0x00000002 , 0x00000abb 
- 00015178  0x00002ff7 fetcht  0x00000001 , 0x00000aa2 
- 00015179  0x00002ff8 increase  0x00000001 , 0x00000002 
- 00015180  0x00002ff9 fetch  0x00000001 , 0x0000436f 
- 00015181  0x00002ffa iadd  0x00000002 , 0x0000003f 
- 00015182  0x00002ffb store  0x00000001 , 0x0000436f 
- 00015183  0x00002ffc branch  0x00003b59 
- 00015184  0x00002ffe fetcht  0x00000001 , 0x0000438f 
- 00015185  0x00002fff setarg  0x00004390 
- 00015186  0x00003000 iadd  0x00000002 , 0x0000003f 
- 00015187  0x00003001 store  0x00000002 , 0x00000abb 
- 00015188  0x00003002 fetcht  0x00000001 , 0x00000aa2 
- 00015189  0x00003003 increase  0x00000001 , 0x00000002 
- 00015190  0x00003004 fetch  0x00000001 , 0x0000438f 
- 00015191  0x00003005 iadd  0x00000002 , 0x0000003f 
- 00015192  0x00003006 store  0x00000001 , 0x0000438f 
- 00015193  0x00003008 fetch  0x00000002 , 0x00000abb 
- 00015194  0x00003009 copy  0x0000003f , 0x00000005 
- 00015195  0x0000300a fetch  0x00000002 , 0x00000ab6 
- 00015196  0x0000300b copy  0x0000003f , 0x00000003 
- 00015197  0x0000300d copy  0x00000002 , 0x00000039 
- 00015198  0x0000300e call  0x000066ea 
- 00015199  0x00003010 fetch  0x00000001 , 0x00000b04 
- 00015200  0x00003011 fetcht  0x00000001 , 0x00000ab2 
- 00015201  0x00003012 isub  0x00000002 , 0x0000003e 
- 00015202  0x00003013 nbranch  0x00003b3c , 0x00000005 
- 00015203  0x00003014 branch  0x00003c1a 
- 00015204  0x00003018 ifetch  0x00000001 , 0x00000003 
- 00015205  0x00003019 store  0x00000001 , 0x00000aa2 
- 00015206  0x0000301a ifetch  0x00000001 , 0x00000003 
- 00015207  0x0000301b store  0x00000001 , 0x00000aae 
- 00015208  0x0000301c rtn 
- 00015209  0x00003021 arg  0x00000000 , 0x00000002 
- 00015210  0x00003022 arg  0x00000002 , 0x00000011 
- 00015211  0x00003023 fetch  0x00000002 , 0x000046b4 
- 00015212  0x00003024 store  0x00000002 , 0x00000ac2 
- 00015213  0x00003025 arg  0x00000ac2 , 0x00000012 
- 00015214  0x00003026 branch  0x00003c25 
- 00015215  0x0000302b fetch  0x00000001 , 0x00000b04 
- 00015216  0x0000302c bne  0x00000001 , 0x00003c17 
- 00015217  0x0000302d ifetch  0x00000001 , 0x00000003 
- 00015218  0x0000302e store  0x00000001 , 0x000046b2 
- 00015219  0x0000302f setarg  0x00000000 
- 00015220  0x00003030 store  0x00000002 , 0x000046b4 
- 00015221  0x00003031 branch  0x00003c1a 
- 00015222  0x00003036 ifetch  0x00000004 , 0x00000003 
- 00015223  0x00003037 store  0x00000004 , 0x0000468a 
- 00015224  0x00003038 jam  0x00000004 , 0x00004689 
- 00015225  0x00003039 jam  0x00000000 , 0x00004663 
- 00015226  0x0000303a call  0x00003c1a 
- 00015227  0x0000303b branch  0x00005f31 
- 00015228  0x00003040 fetch  0x00000001 , 0x00000b04 
- 00015229  0x00003041 bne  0x00000003 , 0x00003c17 
- 00015230  0x00003042 ifetch  0x00000001 , 0x00000003 
- 00015231  0x00003043 beq  0x00000000 , 0x00003b82 
- 00015232  0x00003044 beq  0x00000001 , 0x00003b8a 
- 00015233  0x00003045 branch  0x00003c17 
- 00015234  0x00003048 ifetcht  0x00000001 , 0x00000003 
- 00015235  0x00003049 ifetch  0x00000001 , 0x00000003 
- 00015236  0x0000304a beq  0x00000002 , 0x00003b88 
- 00015237  0x0000304b nsetflag  0x00000034 , 0x00000007 , 0x00000002 
- 00015238  0x0000304c call  0x000067fb 
- 00015239  0x0000304d branch  0x00003c1a 
- 00015240  0x00003050 call  0x00006806 
- 00015241  0x00003051 branch  0x00003c1a 
- 00015242  0x00003054 ifetcht  0x00000001 , 0x00000003 
- 00015243  0x00003055 call  0x00006812 
- 00015244  0x00003056 ifetch  0x00000001 , 0x00000003 
- 00015245  0x00003057 isolate1  0x00000000 , 0x0000003f 
- 00015246  0x00003058 call  0x0000682c 
- 00015247  0x00003059 branch  0x00003c1a 
- 00015248  0x0000305e fetch  0x00000001 , 0x00000b04 
- 00015249  0x0000305f bne  0x00000001 , 0x00003c17 
- 00015250  0x00003060 ifetcht  0x00000001 , 0x00000003 
- 00015251  0x00003061 call  0x0000681d 
- 00015252  0x00003062 setarg  0x00000000 
- 00015253  0x00003063 nsetflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00015254  0x00003064 arg  0x00000001 , 0x00000011 
- 00015255  0x00003065 branch  0x00003b0a 
- 00015256  0x0000306a copy  0x00000011 , 0x00000003 
- 00015257  0x0000306b ifetch  0x00000001 , 0x00000003 
- 00015258  0x0000306c copy  0x0000003f , 0x00000002 
- 00015259  0x0000306d beq  0x00000081 , 0x00003ba3 
- 00015260  0x0000306e beq  0x00000082 , 0x00003ba8 
- 00015261  0x0000306f beq  0x00000083 , 0x00003bae 
- 00015262  0x00003070 store  0x00000001 , 0x000044c6 
- 00015263  0x00003071 beq  0x00000000 , 0x00003bb3 
- 00015264  0x00003072 beq  0x00000001 , 0x00003bb6 
- 00015265  0x00003073 beq  0x00000002 , 0x00003bb8 
- 00015266  0x00003074 branch  0x00003c17 
- 00015267  0x00003077 fetch  0x00000001 , 0x000044be 
- 00015268  0x00003078 branch  0x00003c17 , 0x00000034 
- 00015269  0x00003079 storet  0x00000001 , 0x000044c6 
- 00015270  0x0000307a jam  0x0000000d , 0x00004456 
- 00015271  0x0000307b branch  0x00003bb4 
- 00015272  0x0000307d fetch  0x00000001 , 0x000044be 
- 00015273  0x0000307e branch  0x00003c17 , 0x00000034 
- 00015274  0x0000307f storet  0x00000001 , 0x000044c6 
- 00015275  0x00003080 jam  0x0000000d , 0x00004456 
- 00015276  0x00003081 jam  0x00000001 , 0x00004454 
- 00015277  0x00003082 branch  0x00003c1a 
- 00015278  0x00003084 fetch  0x00000001 , 0x000044be 
- 00015279  0x00003085 branch  0x00003c17 , 0x00000034 
- 00015280  0x00003086 storet  0x00000001 , 0x000044c6 
- 00015281  0x00003087 jam  0x0000000d , 0x00004456 
- 00015282  0x00003088 branch  0x00003bb9 
- 00015283  0x0000308a jam  0x00000000 , 0x00004456 
- 00015284  0x0000308c jam  0x00000003 , 0x00004454 
- 00015285  0x0000308d branch  0x00003c1a 
- 00015286  0x0000308f jam  0x00000005 , 0x00004456 
- 00015287  0x00003090 branch  0x00003bb4 
- 00015288  0x00003092 jam  0x00000005 , 0x00004456 
- 00015289  0x00003094 jam  0x00000000 , 0x00004454 
- 00015290  0x00003095 branch  0x00003c1a 
- 00015291  0x0000309a fetch  0x00000001 , 0x00000b04 
- 00015292  0x0000309b sub  0x0000003f , 0x0000001f , 0x0000003e 
- 00015293  0x0000309c nbranch  0x00003c17 , 0x00000002 
- 00015294  0x0000309d store  0x00000001 , 0x0000436f 
- 00015295  0x0000309e copy  0x0000003f , 0x00000039 
- 00015296  0x0000309f copy  0x00000011 , 0x00000003 
- 00015297  0x000030a0 arg  0x00004370 , 0x00000005 
- 00015298  0x000030a1 call  0x000066ea 
- 00015299  0x000030a2 branch  0x00003c1a 
- 00015300  0x000030a7 fetch  0x00000001 , 0x00000b04 
- 00015301  0x000030a8 sub  0x0000003f , 0x0000001f , 0x0000003e 
- 00015302  0x000030a9 nbranch  0x00003c17 , 0x00000002 
- 00015303  0x000030aa store  0x00000001 , 0x0000438f 
- 00015304  0x000030ab copy  0x0000003f , 0x00000039 
- 00015305  0x000030ac copy  0x00000011 , 0x00000003 
- 00015306  0x000030ad arg  0x00004390 , 0x00000005 
- 00015307  0x000030ae call  0x000066ea 
- 00015308  0x000030af branch  0x00003c1a 
- 00015309  0x000030b4 fetch  0x00000002 , 0x00004682 
- 00015310  0x000030b5 bbit0  0x00000009 , 0x00003c17 
- 00015311  0x000030b6 fetch  0x00000001 , 0x00000b04 
- 00015312  0x000030b7 bne  0x00000008 , 0x00003c17 
- 00015313  0x000030b8 copy  0x00000011 , 0x00000003 
- 00015314  0x000030b9 ifetch  0x00000008 , 0x00000003 
- 00015315  0x000030ba store  0x00000008 , 0x00004496 
- 00015316  0x000030bb jam  0x00000012 , 0x00000a99 
- 00015317  0x000030bc call  0x00007d8f 
- 00015318  0x000030bd branch  0x00003c1a 
- 00015319  0x000030c2 ifetch  0x00000002 , 0x00000003 
- 00015320  0x000030c3 store  0x00000002 , 0x00004482 
- 00015321  0x000030c4 branch  0x00003c1a 
- 00015322  0x000030c9 fetch  0x00000001 , 0x000044c6 
- 00015323  0x000030ca branch  0x00003c17 , 0x00000034 
- 00015324  0x000030cb fetch  0x00000001 , 0x000044c4 
- 00015325  0x000030cc bne  0x00000000 , 0x00003c17 
- 00015326  0x000030cd fetch  0x00000001 , 0x000044c5 
- 00015327  0x000030ce bne  0x00000000 , 0x00003c17 
- 00015328  0x000030cf call  0x00007e25 
- 00015329  0x000030d0 branch  0x00003c1a 
- 00015330  0x000030d5 fetch  0x00000001 , 0x00000b04 
- 00015331  0x000030d6 bne  0x00000005 , 0x00003c17 
- 00015332  0x000030d7 ifetch  0x00000001 , 0x00000003 
- 00015333  0x000030d8 store  0x00000001 , 0x000046a2 
- 00015334  0x000030d9 ifetch  0x00000004 , 0x00000003 
- 00015335  0x000030da store  0x00000004 , 0x000046a3 
- 00015336  0x000030db fetcht  0x00000001 , 0x000046a2 
- 00015337  0x000030dc call  0x0000680e 
- 00015338  0x000030dd call  0x00003cbc 
- 00015339  0x000030de branch  0x00003c1a 
- 00015340  0x000030e3 fetch  0x00000001 , 0x00000b04 
- 00015341  0x000030e4 bne  0x00000001 , 0x00003c17 
- 00015342  0x000030e5 ifetch  0x00000001 , 0x00000003 
- 00015343  0x000030e6 store  0x00000001 , 0x000041de 
- 00015344  0x000030e7 branch  0x00003c1a 
- 00015345  0x000030ec ifetch  0x00000001 , 0x00000003 
- 00015346  0x000030ed beq  0x00000001 , 0x00003bfa 
- 00015347  0x000030ee fetch  0x00000001 , 0x000044c1 
- 00015348  0x000030ef beq  0x00000003 , 0x00003bf8 
- 00015349  0x000030f0 beq  0x00000006 , 0x00003bf8 
- 00015350  0x000030f1 beq  0x00000007 , 0x00003bf8 
- 00015351  0x000030f2 branch  0x00003c17 
- 00015352  0x000030f4 jam  0x00000001 , 0x000044c2 
- 00015353  0x000030f5 branch  0x00003c1a 
- 00015354  0x000030f8 call  0x00005b53 
- 00015355  0x000030f9 branch  0x00003c1a 
- 00015356  0x000030fe fetch  0x00000001 , 0x00000b04 
- 00015357  0x000030ff bne  0x00000001 , 0x00003c17 
- 00015358  0x00003100 call  0x00003c1a 
- 00015359  0x00003101 ifetch  0x00000001 , 0x00000003 
- 00015360  0x00003102 branch  0x000060cb , 0x00000034 
- 00015361  0x00003103 branch  0x000060c9 
- 00015362  0x00003108 call  0x00003c1a 
- 00015363  0x00003109 call  0x00007f9e 
- 00015364  0x0000310a jam  0x00000001 , 0x00008010 
- 00015365  0x0000310b branch  0x00002a8e 
- 00015366  0x00003110 fetch  0x00000001 , 0x00000b04 
- 00015367  0x00003111 beq  0x00000000 , 0x00003c17 
- 00015368  0x00003112 ifetch  0x00000001 , 0x00000003 
- 00015369  0x00003113 branch  0x00003c13 , 0x00000034 
- 00015370  0x00003114 fetch  0x00000001 , 0x00000b04 
- 00015371  0x00003115 bne  0x00000005 , 0x00003c17 
- 00015372  0x00003116 ifetch  0x00000004 , 0x00000003 
- 00015373  0x00003117 arg  0x000f4240 , 0x00000002 
- 00015374  0x00003118 isub  0x00000002 , 0x0000003e 
- 00015375  0x00003119 branch  0x00003c17 , 0x00000002 
- 00015376  0x0000311a store  0x00000004 , 0x000044c7 
- 00015377  0x0000311b call  0x0000580c 
- 00015378  0x0000311c branch  0x00003c1a 
- 00015379  0x0000311f call  0x0000580e 
- 00015380  0x00003120 branch  0x00003c1a 
- 00015381  0x00003125 jam  0x00000000 , 0x00004091 
- 00015382  0x00003126 branch  0x00003c1a 
- 00015383  0x0000312c arg  0x00000001 , 0x00000002 
- 00015384  0x0000312d arg  0x00000000 , 0x00000011 
- 00015385  0x0000312e branch  0x00003c25 
- 00015386  0x00003132 arg  0x00000000 , 0x00000002 
- 00015387  0x00003133 arg  0x00000000 , 0x00000011 
- 00015388  0x00003134 branch  0x00003c25 
- 00015389  0x00003139 jam  0x00000000 , 0x00000b03 
- 00015390  0x0000313a branch  0x00003c49 
- 00015391  0x0000313f jam  0x00000002 , 0x00000b03 
- 00015392  0x00003140 branch  0x00003c49 
- 00015393  0x00003145 jam  0x00000003 , 0x00000b03 
- 00015394  0x00003146 branch  0x00003c49 
- 00015395  0x0000314b jam  0x00000005 , 0x00000b03 
- 00015396  0x0000314c branch  0x00003c49 
- 00015397  0x00003155 fetch  0x00000001 , 0x00000b03 
- 00015398  0x00003156 copy  0x0000003f , 0x00000013 
- 00015399  0x00003157 jam  0x00000006 , 0x00000b03 
- 00015400  0x00003158 setarg  0x00000002 
- 00015401  0x00003159 iadd  0x00000011 , 0x0000003f 
- 00015402  0x0000315a call  0x00003ca7 
- 00015403  0x0000315b copy  0x00000013 , 0x0000003f 
- 00015404  0x0000315c istore  0x00000001 , 0x0000000a 
- 00015405  0x0000315d istoret  0x00000001 , 0x0000000a 
- 00015406  0x0000315e copy  0x00000011 , 0x00000039 
- 00015407  0x0000315f copy  0x00000012 , 0x00000006 
- 00015408  0x00003160 call  0x000066e4 
- 00015409  0x00003161 branch  0x000066c5 
- 00015410  0x00003167 call  0x0000397f 
- 00015411  0x00003168 jam  0x00000007 , 0x00000b03 
- 00015412  0x00003169 fetch  0x00000001 , 0x000004ff 
- 00015413  0x0000316a rtn  0x00000034 
- 00015414  0x0000316b call  0x00003ca7 
- 00015415  0x0000316c fetch  0x00000001 , 0x000004ff 
- 00015416  0x0000316d copy  0x0000003f , 0x00000039 
- 00015417  0x0000316e fetch  0x00000002 , 0x00000501 
- 00015418  0x0000316f copy  0x0000003f , 0x00000006 
- 00015419  0x00003170 call  0x000066d1 
- 00015420  0x00003171 branch  0x000066c5 
- 00015421  0x00003176 jam  0x00000008 , 0x00000b03 
- 00015422  0x00003177 fetch  0x00000001 , 0x000046b6 
- 00015423  0x00003178 icopy  0x00000039 
- 00015424  0x00003179 increase  0x00000002 , 0x0000003f 
- 00015425  0x0000317a call  0x00003ca7 
- 00015426  0x0000317b fetch  0x00000002 , 0x000046b9 
- 00015427  0x0000317c istore  0x00000002 , 0x0000000a 
- 00015428  0x0000317d fetch  0x00000002 , 0x000046b7 
- 00015429  0x0000317e icopy  0x00000006 
- 00015430  0x0000317f call  0x000066d1 
- 00015431  0x00003180 branch  0x000066c5 
- 00015432  0x00003185 jam  0x00000009 , 0x00000b03 
- 00015433  0x00003187 setarg  0x00000000 
- 00015434  0x00003188 call  0x00003ca7 
- 00015435  0x00003189 branch  0x000066c5 
- 00015436  0x0000318e jam  0x0000000a , 0x00000b03 
- 00015437  0x0000318f setarg  0x00000001 
- 00015438  0x00003190 call  0x00003ca7 
- 00015439  0x00003192 call  0x00003c5d 
- 00015440  0x00003194 fetch  0x00000002 , 0x00004682 
- 00015441  0x00003195 arg  0x00000002 , 0x00000007 
- 00015442  0x00003196 qisolate1  0x0000003f 
- 00015443  0x00003197 setflag  0x00000001 , 0x00000003 , 0x00000002 
- 00015444  0x00003199 arg  0x00000009 , 0x00000007 
- 00015445  0x0000319a qisolate1  0x0000003f 
- 00015446  0x0000319b setflag  0x00000001 , 0x00000005 , 0x00000002 
- 00015447  0x0000319d fetch  0x00000001 , 0x00004682 
- 00015448  0x0000319e arg  0x00000004 , 0x00000007 
- 00015449  0x0000319f qisolate1  0x0000003f 
- 00015450  0x000031a0 setflag  0x00000001 , 0x00000004 , 0x00000002 
- 00015451  0x000031a2 istoret  0x00000001 , 0x0000000a 
- 00015452  0x000031a3 branch  0x000066c5 
- 00015453  0x000031a8 arg  0x00000000 , 0x00000002 
- 00015454  0x000031a9 fetch  0x00000001 , 0x00004093 
- 00015455  0x000031aa arg  0x00000000 , 0x00000007 
- 00015456  0x000031ab qisolate1  0x0000003f 
- 00015457  0x000031ac setflag  0x00000001 , 0x00000000 , 0x00000002 
- 00015458  0x000031ad arg  0x00000001 , 0x00000007 
- 00015459  0x000031ae qisolate1  0x0000003f 
- 00015460  0x000031af setflag  0x00000001 , 0x00000001 , 0x00000002 
- 00015461  0x000031b1 fetch  0x00000001 , 0x0000436e 
- 00015462  0x000031b2 arg  0x00000000 , 0x00000007 
- 00015463  0x000031b3 qisolate1  0x0000003f 
- 00015464  0x000031b4 setflag  0x00000001 , 0x00000002 , 0x00000002 
- 00015465  0x000031b5 rtn 
- 00015466  0x000031ba jam  0x0000000d , 0x00000b03 
- 00015467  0x000031bb fetch  0x00000001 , 0x00004217 
- 00015468  0x000031bc mul32  0x0000003f , 0x00000022 , 0x0000003f 
- 00015469  0x000031bd icopy  0x00000039 
- 00015470  0x000031be call  0x00003ca7 
- 00015471  0x000031bf fetch  0x00000002 , 0x00004215 
- 00015472  0x000031c0 icopy  0x00000006 
- 00015473  0x000031c1 call  0x000066d1 
- 00015474  0x000031c2 branch  0x000066c5 
- 00015475  0x000031c7 jam  0x0000000e , 0x00000b03 
- 00015476  0x000031c8 setarg  0x00000004 
- 00015477  0x000031c9 call  0x00003ca7 
- 00015478  0x000031ca fetch  0x00000004 , 0x000009ba 
- 00015479  0x000031cb istore  0x00000004 , 0x0000000a 
- 00015480  0x000031cc branch  0x000066c5 
- 00015481  0x000031d1 jam  0x0000000f , 0x00000b03 
- 00015482  0x000031d2 hfetch  0x00000002 , 0x00008112 
- 00015483  0x000031d3 arg  0x000000ff , 0x00000002 
- 00015484  0x000031d4 call  0x00007fdd 
- 00015485  0x000031d5 copy  0x0000003f , 0x00000039 
- 00015486  0x000031d6 call  0x00003ca7 
- 00015487  0x000031d7 call  0x000066cb 
- 00015488  0x000031d8 call  0x00006703 
- 00015489  0x000031d9 branch  0x000066c5 
- 00015490  0x000031de jam  0x00000010 , 0x00000b03 
- 00015491  0x000031df branch  0x00003c49 
- 00015492  0x000031e4 jam  0x00000011 , 0x00000b03 
- 00015493  0x000031e5 setarg  0x00000004 
- 00015494  0x000031e6 call  0x00003ca7 
- 00015495  0x000031e7 fetch  0x00000004 , 0x000044c7 
- 00015496  0x000031e8 istore  0x00000004 , 0x0000000a 
- 00015497  0x000031e9 branch  0x000066c5 
- 00015498  0x000031ee arg  0x00000180 , 0x00000011 
- 00015499  0x000031ef branch  0x00003c91 
- 00015500  0x000031f2 arg  0x00000080 , 0x00000011 
- 00015501  0x000031f3 branch  0x00003c91 
- 00015502  0x000031f6 arg  0x00000101 , 0x00000011 
- 00015503  0x000031f7 branch  0x00003c91 
- 00015504  0x000031fa arg  0x00000001 , 0x00000011 
- 00015505  0x000031fd jam  0x00000000 , 0x00004661 
- 00015506  0x000031fe jam  0x00000014 , 0x00000b03 
- 00015507  0x000031ff setarg  0x00000002 
- 00015508  0x00003200 call  0x00003ca7 
- 00015509  0x00003201 copy  0x00000011 , 0x0000003f 
- 00015510  0x00003202 istore  0x00000002 , 0x0000000a 
- 00015511  0x00003203 branch  0x000066c5 
- 00015512  0x00003208 arg  0x00000000 , 0x00000013 
- 00015513  0x00003209 branch  0x00003c9b 
- 00015514  0x0000320c arg  0x00000001 , 0x00000013 
- 00015515  0x0000320f jam  0x00000015 , 0x00000b03 
- 00015516  0x00003210 setarg  0x00000001 
- 00015517  0x00003211 call  0x00003ca7 
- 00015518  0x00003212 copy  0x00000013 , 0x0000003f 
- 00015519  0x00003213 istore  0x00000001 , 0x0000000a 
- 00015520  0x00003214 branch  0x000066c5 
- 00015521  0x00003219 jam  0x0000001d , 0x00000b03 
- 00015522  0x0000321a setarg  0x00000004 
- 00015523  0x0000321b call  0x00003ca7 
- 00015524  0x0000321c fetch  0x00000004 , 0x000009ba 
- 00015525  0x0000321d istore  0x00000004 , 0x0000000a 
- 00015526  0x0000321e branch  0x000066c5 
- 00015527  0x0000322a jam  0x00000002 , 0x00000b02 
- 00015528  0x0000322b store  0x00000001 , 0x00000b04 
- 00015529  0x0000322c storet  0x00000008 , 0x00000aa2 
- 00015530  0x0000322d bpatch  0x000000e2 , 0x0000401c 
- 00015531  0x0000322e call  0x00003cb1 
- 00015532  0x0000322f fetcht  0x00000008 , 0x00000aa2 
- 00015533  0x00003230 call  0x000066c2 
- 00015534  0x00003231 fetch  0x00000003 , 0x00000b02 
- 00015535  0x00003232 istore  0x00000003 , 0x0000000a 
- 00015536  0x00003233 rtn 
- 00015537  0x00003237 call  0x00003cba 
- 00015538  0x00003238 rtn  0x00000001 
- 00015539  0x0000323a call  0x00003cb8 
- 00015540  0x0000323b fetch  0x00000004 , 0x000046a3 
- 00015541  0x0000323c rshift2  0x0000003f , 0x0000003f 
- 00015542  0x0000323d rtn  0x00000034 
- 00015543  0x0000323e branch  0x00003cbe 
- 00015544  0x00003242 fetcht  0x00000001 , 0x000046a2 
- 00015545  0x00003243 branch  0x00006829 
- 00015546  0x00003246 fetcht  0x00000001 , 0x000046a2 
- 00015547  0x00003247 branch  0x0000681b 
- 00015548  0x0000324a fetcht  0x00000001 , 0x000046a2 
- 00015549  0x0000324b branch  0x00006825 
- 00015550  0x0000324f increase  0xffffffff , 0x0000003f 
- 00015551  0x00003250 nop  0x00000026 
- 00015552  0x00003251 nbranch  0x00003cbe , 0x00000034 
- 00015553  0x00003252 rtn 
- 00015554  0x0000325c call  0x00003ad4 
- 00015555  0x0000325d rtn  0x00000028 
- 00015556  0x0000325e copy  0x00000011 , 0x0000003f 
- 00015557  0x0000325f store  0x00000002 , 0x000046b7 
- 00015558  0x00003260 copy  0x00000012 , 0x0000003f 
- 00015559  0x00003261 store  0x00000001 , 0x000046b6 
- 00015560  0x00003262 fetch  0x00000002 , 0x00000478 
- 00015561  0x00003263 fetcht  0x00000002 , 0x000046bb 
- 00015562  0x00003264 isub  0x00000002 , 0x0000003e 
- 00015563  0x00003265 branch  0x00003ccf , 0x00000005 
- 00015564  0x00003266 fetcht  0x00000002 , 0x000046bd 
- 00015565  0x00003267 isub  0x00000002 , 0x0000003e 
- 00015566  0x00003268 nrtn  0x00000005 
- 00015567  0x0000326a store  0x00000002 , 0x000046b9 
- 00015568  0x0000326b branch  0x00003c3d 
- 00015569  0x00003271 fetch  0x00000001 , 0x000046bf 
- 00015570  0x00003272 rtnbit1  0x00000005 
- 00015571  0x00003273 call  0x00003cf0 
- 00015572  0x00003274 branch  0x0000340c 
- 00015573  0x00003278 jam  0x00000002 , 0x00004172 
- 00015574  0x00003279 rtn 
- 00015575  0x0000327e branch  0x00003cd8 
- 00015576  0x00003281 fetch  0x00000001 , 0x000046b2 
- 00015577  0x00003282 rtn  0x00000034 
- 00015578  0x00003283 fetch  0x00000001 , 0x000046b3 
- 00015579  0x00003284 rtn  0x00000034 
- 00015580  0x00003285 increase  0xffffffff , 0x0000003f 
- 00015581  0x00003286 store  0x00000001 , 0x000046b3 
- 00015582  0x00003287 nrtn  0x00000034 
- 00015583  0x00003288 jam  0x0000000a , 0x000046b3 
- 00015584  0x00003289 call  0x000068eb 
- 00015585  0x0000328a call  0x00006908 
- 00015586  0x0000328b div  0x0000003f , 0x00000064 
- 00015587  0x0000328c call  0x00007f86 
- 00015588  0x0000328d quotient  0x0000003f 
- 00015589  0x0000328e remainder  0x00000002 
- 00015590  0x0000328f store  0x00000001 , 0x000046b4 
- 00015591  0x00003290 storet  0x00000001 , 0x000046b5 
- 00015592  0x00003291 rtn 
- 00015593  0x00003295 call  0x00007fb4 
- 00015594  0x00003296 branch  0x000033d9 , 0x00000002 
- 00015595  0x00003297 branch  0x000033db 
- 00015596  0x0000329c arg  0x00000006 , 0x00000007 
- 00015597  0x0000329d branch  0x00003cfc 
- 00015598  0x000032a0 arg  0x00000006 , 0x00000007 
- 00015599  0x000032a1 branch  0x00003cf8 
- 00015600  0x000032a4 arg  0x00000005 , 0x00000007 
- 00015601  0x000032a5 branch  0x00003cfc 
- 00015602  0x000032a8 arg  0x00000005 , 0x00000007 
- 00015603  0x000032a9 branch  0x00003cf8 
- 00015604  0x000032ac arg  0x00000004 , 0x00000007 
- 00015605  0x000032ad branch  0x00003cfc 
- 00015606  0x000032b0 arg  0x00000004 , 0x00000007 
- 00015607  0x000032b1 branch  0x00003cf8 
- 00015608  0x000032b4 fetch  0x00000001 , 0x000046bf 
- 00015609  0x000032b5 qset0  0x0000003f 
- 00015610  0x000032b6 store  0x00000001 , 0x000046bf 
- 00015611  0x000032b7 rtn 
- 00015612  0x000032ba fetch  0x00000001 , 0x000046bf 
- 00015613  0x000032bb qset1  0x0000003f 
- 00015614  0x000032bc store  0x00000001 , 0x000046bf 
- 00015615  0x000032bd rtn 
- 00015616  0x000032c8 call  0x00003d39 
- 00015617  0x000032c9 call  0x0000640f 
- 00015618  0x000032ca call  0x000040c6 
- 00015619  0x000032cb call  0x00003d66 
- 00015620  0x000032cc call  0x00006411 
- 00015621  0x000032cd rtn  0x0000002b 
- 00015622  0x000032ce call  0x00003d16 
- 00015623  0x000032cf call  0x00003d19 
- 00015624  0x000032d2 fetch  0x00000004 , 0x000046d3 
- 00015625  0x000032d3 rtnbit1  0x00000010 
- 00015626  0x000032d4 call  0x00003d4e 
- 00015627  0x000032d5 rtnmark1  0x00000026 
- 00015628  0x000032d6 fetch  0x00000002 , 0x00004682 
- 00015629  0x000032d7 bbit1  0x0000000c , 0x000042b0 
- 00015630  0x000032d8 branch  0x000042a2 
- 00015631  0x000032dc fetch  0x00000004 , 0x000046d3 
- 00015632  0x000032dd rtnbit0  0x0000001b 
- 00015633  0x000032de arg  0x00000014 , 0x00000039 
- 00015634  0x000032e0 setarg  0x00030d40 
- 00015635  0x000032e1 call  0x00002a8f 
- 00015636  0x000032e2 loop  0x00007ec1 
- 00015637  0x000032e3 rtn 
- 00015638  0x000032e7 fetch  0x00000004 , 0x000046d3 
- 00015639  0x000032e8 rtnbit0  0x00000010 
- 00015640  0x000032e9 branch  0x000048ea 
- 00015641  0x000032ed setarg  0x0000416d 
- 00015642  0x000032ee store  0x00000002 , 0x000041ef 
- 00015643  0x000032ef setarg  0x00003f77 
- 00015644  0x000032f0 store  0x00000002 , 0x000041f1 
- 00015645  0x000032f1 setarg  0x00003ebb 
- 00015646  0x000032f2 store  0x00000002 , 0x000041ed 
- 00015647  0x000032f3 setarg  0x0000417c 
- 00015648  0x000032f4 store  0x00000002 , 0x000041f5 
- 00015649  0x000032f5 setarg  0x00003de3 
- 00015650  0x000032f6 store  0x00000002 , 0x000041f3 
- 00015651  0x000032f7 setarg  0x00003eb3 
- 00015652  0x000032f8 store  0x00000002 , 0x000041eb 
- 00015653  0x000032f9 setarg  0x00003d5b 
- 00015654  0x000032fa store  0x00000002 , 0x000041f9 
- 00015655  0x000032fc call  0x00002c7a 
- 00015656  0x000032fd setarg  0x00004401 
- 00015657  0x000032fe add  0x00000013 , 0x000000d8 , 0x00000005 
- 00015658  0x000032ff istore  0x00000002 , 0x00000005 
- 00015659  0x00003300 setarg  0x00004406 
- 00015660  0x00003301 add  0x00000013 , 0x000000da , 0x00000005 
- 00015661  0x00003302 istore  0x00000002 , 0x00000005 
- 00015662  0x00003303 setarg  0x00003ebf 
- 00015663  0x00003304 add  0x00000013 , 0x000000dc , 0x00000005 
- 00015664  0x00003305 istore  0x00000002 , 0x00000005 
- 00015665  0x00003307 setarg  0x000041f9 
- 00015666  0x00003308 store  0x00000002 , 0x000041fd 
- 00015667  0x00003309 setarg  0x00003d36 
- 00015668  0x0000330a store  0x00000002 , 0x00004201 
- 00015669  0x0000330b rtn 
- 00015670  0x0000330e fetch  0x00000004 , 0x000046d3 
- 00015671  0x0000330f bbit0  0x00000012 , 0x000064d7 
- 00015672  0x00003310 branch  0x000064da 
- 00015673  0x00003313 rtn  0x0000002b 
- 00015674  0x00003314 call  0x00002c9d 
- 00015675  0x00003315 call  0x00003e6e 
- 00015676  0x00003316 call  0x00003e1e 
- 00015677  0x00003317 call  0x00003e54 
- 00015678  0x00003318 call  0x00005810 
- 00015679  0x00003319 call  0x00005839 
- 00015680  0x0000331a call  0x0000582c 
- 00015681  0x0000331b call  0x00005818 
- 00015682  0x0000331c fetch  0x00000004 , 0x000046d3 
- 00015683  0x0000331d bbit1  0x00000014 , 0x00003d46 
- 00015684  0x0000331e bbit1  0x00000013 , 0x00004414 
- 00015685  0x0000331f rtn 
- 00015686  0x00003322 call  0x0000659c 
- 00015687  0x00003323 fetch  0x00000004 , 0x000046d3 
- 00015688  0x00003324 isolate1  0x00000019 , 0x0000003f 
- 00015689  0x00003325 ncall  0x000065c2 , 0x00000001 
- 00015690  0x00003326 call  0x0000443f 
- 00015691  0x00003327 call  0x00003dc9 
- 00015692  0x00003328 call  0x000041aa 
- 00015693  0x00003329 branch  0x000065df 
- 00015694  0x0000332c fetch  0x00000004 , 0x000046d3 
- 00015695  0x0000332d bbit0  0x0000001e , 0x00003d53 
- 00015696  0x0000332e fetch  0x00000001 , 0x00000abd 
- 00015697  0x0000332f isolate0  0x00000003 , 0x0000003f 
- 00015698  0x00003330 nrtn  0x00000001 
- 00015699  0x00003332 fetch  0x00000001 , 0x0000471f 
- 00015700  0x00003333 store  0x00000001 , 0x0000471e 
- 00015701  0x00003334 fetch  0x00000001 , 0x000046f5 
- 00015702  0x00003335 rtnbit1  0x00000006 
- 00015703  0x00003337 fetch  0x00000004 , 0x000046d3 
- 00015704  0x00003338 rtnbit0  0x00000011 
- 00015705  0x00003339 bbit1  0x0000001d , 0x00002ee4 
- 00015706  0x0000333a branch  0x00002f2c 
- 00015707  0x0000333c fetch  0x00000001 , 0x00000478 
- 00015708  0x0000333d sub  0x0000003f , 0x0000001a , 0x0000003f 
- 00015709  0x0000333e nrtn  0x00000005 
- 00015710  0x0000333f jam  0x00000012 , 0x00000a99 
- 00015711  0x00003340 call  0x00007d8f 
- 00015712  0x00003342 arg  0x00000000 , 0x00000007 
- 00015713  0x00003343 branch  0x000041b9 
- 00015714  0x00003346 fetch  0x00000001 , 0x000046b6 
- 00015715  0x00003347 rtneq  0x00000001 
- 00015716  0x00003348 jam  0x00000001 , 0x000046b6 
- 00015717  0x00003349 rtn 
- 00015718  0x0000334b fetch  0x00000001 , 0x000046e1 
- 00015719  0x0000334c and  0x0000003f , 0x0000000f , 0x0000003f 
- 00015720  0x0000334d store  0x00000001 , 0x0000477a 
- 00015721  0x0000334e branch  0x00003d80 
- 00015722  0x00003352 fetcht  0x00000001 , 0x000046e7 
- 00015723  0x00003353 call  0x0000681d 
- 00015724  0x00003354 nbranch  0x00003d62 , 0x00000001 
- 00015725  0x00003356 fetch  0x00000001 , 0x000046b6 
- 00015726  0x00003357 rtneq  0x00000000 
- 00015727  0x00003358 jam  0x00000000 , 0x000046b6 
- 00015728  0x0000335a fetch  0x00000001 , 0x0000477a 
- 00015729  0x0000335b increase  0x00000001 , 0x0000003f 
- 00015730  0x0000335c and  0x0000003f , 0x00000003 , 0x0000003f 
- 00015731  0x0000335d store  0x00000001 , 0x0000477a 
- 00015732  0x0000335e call  0x00003d7e 
- 00015733  0x0000335f fetch  0x00000004 , 0x000046d3 
- 00015734  0x00003360 bbit1  0x00000014 , 0x0000443b 
- 00015735  0x00003361 bbit1  0x00000013 , 0x00003d79 
- 00015736  0x00003362 rtn 
- 00015737  0x00003364 arg  0x0000001e , 0x00000002 
- 00015738  0x00003365 call  0x0000680e 
- 00015739  0x00003366 arg  0x0000001f , 0x00000002 
- 00015740  0x00003367 call  0x0000680e 
- 00015741  0x00003368 branch  0x00004435 
- 00015742  0x0000336b bpatch  0x000000e3 , 0x0000401c 
- 00015743  0x0000336c call  0x0000424a 
- 00015744  0x0000336d fetch  0x00000001 , 0x000046e0 
- 00015745  0x0000336e beq  0x00000005 , 0x00003daa 
- 00015746  0x0000336f beq  0x00000004 , 0x00003d96 
- 00015747  0x00003370 fetch  0x00000001 , 0x0000477a 
- 00015748  0x00003371 beq  0x00000000 , 0x00003d8a 
- 00015749  0x00003372 beq  0x00000001 , 0x00003d88 
- 00015750  0x00003373 beq  0x00000002 , 0x00003d8c 
- 00015751  0x00003374 beq  0x00000003 , 0x00003d8e 
- 00015752  0x00003376 fetch  0x00000001 , 0x00004780 
- 00015753  0x00003377 branch  0x00003dbe 
- 00015754  0x00003379 fetch  0x00000001 , 0x0000477f 
- 00015755  0x0000337a branch  0x00003dbe 
- 00015756  0x0000337c fetch  0x00000001 , 0x00004781 
- 00015757  0x0000337d branch  0x00003dbe 
- 00015758  0x0000337f fetch  0x00000001 , 0x00004782 
- 00015759  0x00003380 branch  0x00003dbe 
- 00015760  0x00003382 fetch  0x00000001 , 0x000046e0 
- 00015761  0x00003383 rtneq  0x00000006 
- 00015762  0x00003384 fetch  0x00000001 , 0x000046b5 
- 00015763  0x00003385 increase  0x00000001 , 0x0000003f 
- 00015764  0x00003386 store  0x00000001 , 0x000046b5 
- 00015765  0x00003387 rtn 
- 00015766  0x0000338a fetch  0x00000001 , 0x0000477a 
- 00015767  0x0000338b beq  0x00000000 , 0x00003d9d 
- 00015768  0x0000338c beq  0x00000001 , 0x00003d9b 
- 00015769  0x0000338d beq  0x00000002 , 0x00003d9f 
- 00015770  0x0000338e beq  0x00000003 , 0x00003da1 
- 00015771  0x00003390 fetch  0x00000001 , 0x00004784 
- 00015772  0x00003391 branch  0x00003da2 
- 00015773  0x00003393 fetch  0x00000001 , 0x00004783 
- 00015774  0x00003394 branch  0x00003da2 
- 00015775  0x00003396 fetch  0x00000001 , 0x00004785 
- 00015776  0x00003397 branch  0x00003da2 
- 00015777  0x00003399 fetch  0x00000001 , 0x00004786 
- 00015778  0x0000339b store  0x00000001 , 0x000046b5 
- 00015779  0x0000339c lshift8  0x0000003f , 0x0000003f 
- 00015780  0x0000339d copy  0x0000003f , 0x00000011 
- 00015781  0x0000339e add  0x0000003f , 0x0000000d , 0x0000003f 
- 00015782  0x0000339f call  0x00006413 
- 00015783  0x000033a0 copy  0x00000011 , 0x0000003f 
- 00015784  0x000033a1 add  0x0000003f , 0x0000000e , 0x0000003f 
- 00015785  0x000033a2 branch  0x00006413 
- 00015786  0x000033a5 fetch  0x00000001 , 0x0000477a 
- 00015787  0x000033a6 beq  0x00000000 , 0x00003db1 
- 00015788  0x000033a7 beq  0x00000001 , 0x00003daf 
- 00015789  0x000033a8 beq  0x00000002 , 0x00003db3 
- 00015790  0x000033a9 beq  0x00000003 , 0x00003db5 
- 00015791  0x000033ab fetch  0x00000001 , 0x00004788 
- 00015792  0x000033ac branch  0x00003db6 
- 00015793  0x000033ae fetch  0x00000001 , 0x00004787 
- 00015794  0x000033af branch  0x00003db6 
- 00015795  0x000033b1 fetch  0x00000001 , 0x00004789 
- 00015796  0x000033b2 branch  0x00003db6 
- 00015797  0x000033b4 fetch  0x00000001 , 0x0000478a 
- 00015798  0x000033b6 store  0x00000001 , 0x000046b5 
- 00015799  0x000033b7 call  0x000040c0 
- 00015800  0x000033b8 fetch  0x00000001 , 0x000046b5 
- 00015801  0x000033ba add  0x0000003f , 0x00000080 , 0x0000003f 
- 00015802  0x000033bb lshift8  0x0000003f , 0x0000003f 
- 00015803  0x000033bc add  0x0000003f , 0x00000005 , 0x0000003f 
- 00015804  0x000033bd copy  0x0000003f , 0x00000011 
- 00015805  0x000033be branch  0x0000415a 
- 00015806  0x000033c1 store  0x00000001 , 0x000046b5 
- 00015807  0x000033c2 call  0x00003d90 
- 00015808  0x000033c3 fetch  0x00000001 , 0x000046b5 
- 00015809  0x000033c4 setarg  0x00000006 
- 00015810  0x000033c5 call  0x00006414 
- 00015811  0x000033c6 and  0x0000003f , 0x000000f8 , 0x00000002 
- 00015812  0x000033c7 fetch  0x00000001 , 0x000046b5 
- 00015813  0x000033c8 iadd  0x00000002 , 0x0000003f 
- 00015814  0x000033c9 lshift8  0x0000003f , 0x0000003f 
- 00015815  0x000033ca add  0x0000003f , 0x00000006 , 0x0000003f 
- 00015816  0x000033cb branch  0x00006413 
- 00015817  0x000033cf call  0x000033c4 
- 00015818  0x000033d0 branch  0x00004316 , 0x00000005 
- 00015819  0x000033d1 call  0x0000441c 
- 00015820  0x000033d2 call  0x000042e4 
- 00015821  0x000033d3 branch  0x000033bd 
- 00015822  0x000033d7 fetch  0x00000002 , 0x00004707 
- 00015823  0x000033d8 rtn  0x00000034 
- 00015824  0x000033d9 fetch  0x00000004 , 0x000046d3 
- 00015825  0x000033da rtnbit0  0x00000011 
- 00015826  0x000033db rtnbit1  0x00000003 
- 00015827  0x000033dc rtnmark1  0x00000026 
- 00015828  0x000033dd call  0x00004083 
- 00015829  0x000033de rtnne  0x00000007 
- 00015830  0x000033df call  0x00004482 
- 00015831  0x000033e0 arg  0x00000003 , 0x00000007 
- 00015832  0x000033e1 call  0x000043ce 
- 00015833  0x000033e2 setarg  0x00000000 
- 00015834  0x000033e3 store  0x00000002 , 0x000046ae 
- 00015835  0x000033e4 store  0x00000001 , 0x000046b4 
- 00015836  0x000033e5 call  0x00003263 
- 00015837  0x000033e7 fetch  0x00000002 , 0x00004682 
- 00015838  0x000033e8 bbit1  0x00000007 , 0x00004392 
- 00015839  0x000033e9 bbit1  0x00000009 , 0x00003402 
- 00015840  0x000033ea bbit1  0x00000000 , 0x000033e9 
- 00015841  0x000033eb call  0x000042ca 
- 00015842  0x000033ec branch  0x00002ead 
- 00015843  0x000033f0 call  0x00003dce 
- 00015844  0x000033f1 call  0x00007e34 
- 00015845  0x000033f2 call  0x00003d6a 
- 00015846  0x000033f3 call  0x00003de9 
- 00015847  0x000033f4 call  0x00003ee0 
- 00015848  0x000033f5 branch  0x00003df7 
- 00015849  0x000033f7 fetch  0x00000004 , 0x000046d3 
- 00015850  0x000033f8 rtnbit0  0x00000010 
- 00015851  0x000033f9 call  0x000048d3 
- 00015852  0x000033fa branch  0x000048fd 
- 00015853  0x000033fd hfetch  0x00000001 , 0x00008a04 
- 00015854  0x000033fe bbit0  0x00000007 , 0x00003df1 
- 00015855  0x000033ff bbit1  0x00000007 , 0x00003df4 
- 00015856  0x00003400 rtn 
- 00015857  0x00003402 fetch  0x00000001 , 0x000046ff 
- 00015858  0x00003403 rtnbit0  0x00000007 
- 00015859  0x00003404 branch  0x0000659a 
- 00015860  0x00003406 fetch  0x00000001 , 0x000046ff 
- 00015861  0x00003407 rtnbit1  0x00000007 
- 00015862  0x00003408 branch  0x00004381 
- 00015863  0x0000340b call  0x00003ded 
- 00015864  0x0000340c hfetch  0x00000001 , 0x00008a04 
- 00015865  0x0000340d store  0x00000001 , 0x000046ff 
- 00015866  0x0000340e rtnbit0  0x00000007 
- 00015867  0x0000340f call  0x00003e07 
- 00015868  0x00003410 fetch  0x00000004 , 0x000046f9 
- 00015869  0x00003411 fetcht  0x00000001 , 0x000046fd 
- 00015870  0x00003412 iadd  0x00000002 , 0x00000002 
- 00015871  0x00003413 copy  0x00000022 , 0x0000003f 
- 00015872  0x00003414 isub  0x00000002 , 0x0000003e 
- 00015873  0x00003415 nrtn  0x00000002 
- 00015874  0x00003416 store  0x00000004 , 0x000046f9 
- 00015875  0x00003417 call  0x00003f97 
- 00015876  0x00003418 nrtn  0x00000028 
- 00015877  0x00003419 jam  0x00000004 , 0x00000d38 
- 00015878  0x0000341a branch  0x00003e0f 
- 00015879  0x0000341d fetcht  0x00000004 , 0x000046f9 
- 00015880  0x0000341e copy  0x00000022 , 0x0000003f 
- 00015881  0x0000341f isub  0x00000002 , 0x0000003e 
- 00015882  0x00003420 ncall  0x00003e0c , 0x00000002 
- 00015883  0x00003421 rtn 
- 00015884  0x00003423 setarg  0x00000000 
- 00015885  0x00003424 store  0x00000004 , 0x000046f9 
- 00015886  0x00003425 rtn 
- 00015887  0x0000342a fetch  0x00000001 , 0x00000d38 
- 00015888  0x0000342b rtnbit0  0x00000002 
- 00015889  0x0000342c branch  0x00003e12 
- 00015890  0x0000342e hfetch  0x00000001 , 0x00008a04 
- 00015891  0x0000342f rtnbit0  0x00000007 
- 00015892  0x00003430 jam  0x00000020 , 0x00000d52 
- 00015893  0x00003431 setarg  0x00000001 
- 00015894  0x00003432 store  0x00000001 , 0x00000d54 
- 00015895  0x00003433 fetch  0x00000007 , 0x0000469a 
- 00015896  0x00003434 istore  0x00000007 , 0x00000005 
- 00015897  0x00003435 rtn 
- 00015898  0x00003439 hfetch  0x00000002 , 0x00008050 
- 00015899  0x0000343a set0  0x0000000b , 0x0000003f 
- 00015900  0x0000343b hstore  0x00000002 , 0x00008050 
- 00015901  0x0000343c rtn 
- 00015902  0x0000343f setarg  0x00008c00 
- 00015903  0x00003440 store  0x00000002 , 0x00004575 
- 00015904  0x00003441 setarg  0x00008e7a 
- 00015905  0x00003442 store  0x00000002 , 0x000044bc 
- 00015906  0x00003443 setarg  0x00002402 
- 00015907  0x00003444 store  0x00000002 , 0x000040bd 
- 00015908  0x00003445 setarg  0x00002580 
- 00015909  0x00003446 store  0x00000003 , 0x000040aa 
- 00015910  0x00003447 jam  0x00000003 , 0x00004173 
- 00015911  0x00003448 jam  0x00000008 , 0x00004156 
- 00015912  0x00003449 jam  0x00000001 , 0x000046d9 
- 00015913  0x0000344a setarg  0x00000200 
- 00015914  0x0000344b store  0x00000002 , 0x00004154 
- 00015915  0x0000344c jam  0x00000017 , 0x000044a6 
- 00015916  0x0000344d jam  0x00000017 , 0x000044a8 
- 00015917  0x0000344f setarg  0x00000a77 
- 00015918  0x00003450 store  0x00000002 , 0x00004212 
- 00015919  0x00003460 setsect  0x00000000 , 0x00000306 
- 00015920  0x00003461 setsect  0x00000001 , 0x00004440 
- 00015921  0x00003462 setsect  0x00000002 , 0x00010000 
- 00015922  0x00003463 setsect  0x00000003 , 0x00004408 
- 00015923  0x00003464 store  0x00000009 , 0x00004577 
- 00015924  0x00003465 setsect  0x00000000 , 0x00001224 
- 00015925  0x00003466 setsect  0x00000001 , 0x00004000 
- 00015926  0x00003467 setsect  0x00000002 , 0x00000000 
- 00015927  0x00003468 istore  0x00000005 , 0x00000005 
- 00015928  0x0000346a setsect  0x00000000 , 0x0003ffff 
- 00015929  0x0000346b setsect  0x00000001 , 0x0002fe23 
- 00015930  0x0000346c setsect  0x00000002 , 0x000199d9 
- 00015931  0x0000346d setsect  0x00000003 , 0x0000020d 
- 00015932  0x0000346e store  0x00000008 , 0x00004098 
- 00015933  0x00003470 setarg  0x0000012c 
- 00015934  0x00003471 store  0x00000002 , 0x00004707 
- 00015935  0x00003472 call  0x000057a3 
- 00015936  0x00003473 fetch  0x00000004 , 0x000046d3 
- 00015937  0x00003474 rtnbit0  0x0000001f 
- 00015938  0x00003475 call  0x00003e44 
- 00015939  0x00003476 branch  0x00003e4c 
- 00015940  0x00003479 fetcht  0x00000001 , 0x000046f7 
- 00015941  0x0000347a call  0x000067fb 
- 00015942  0x0000347b fetcht  0x00000001 , 0x000046f7 
- 00015943  0x0000347c call  0x0000681d 
- 00015944  0x0000347d jam  0x00000003 , 0x000046f6 
- 00015945  0x0000347e rtn  0x00000001 
- 00015946  0x0000347f jam  0x00000002 , 0x000046f6 
- 00015947  0x00003480 rtn 
- 00015948  0x00003483 fetcht  0x00000001 , 0x000046f8 
- 00015949  0x00003484 call  0x000067fb 
- 00015950  0x00003485 fetcht  0x00000001 , 0x000046f8 
- 00015951  0x00003486 call  0x0000681d 
- 00015952  0x00003487 jam  0x00000000 , 0x0000422d 
- 00015953  0x00003488 rtn  0x00000001 
- 00015954  0x00003489 jam  0x00000002 , 0x0000422d 
- 00015955  0x0000348a rtn 
- 00015956  0x0000348e fetch  0x00000001 , 0x0000422d 
- 00015957  0x0000348f beq  0x00000000 , 0x00003e59 
- 00015958  0x00003490 beq  0x00000001 , 0x00003e62 
- 00015959  0x00003491 beq  0x00000002 , 0x00003e6b 
- 00015960  0x00003492 branch  0x00003e59 
- 00015961  0x00003495 fetcht  0x00000002 , 0x00004221 
- 00015962  0x00003496 fetch  0x00000002 , 0x00004227 
- 00015963  0x00003497 isub  0x00000002 , 0x0000003f 
- 00015964  0x00003498 mul32  0x0000003f , 0x00000014 , 0x0000003f 
- 00015965  0x00003499 div  0x0000003f , 0x00000064 
- 00015966  0x0000349a call  0x00007f86 
- 00015967  0x0000349b quotient  0x0000003f 
- 00015968  0x0000349c store  0x00000002 , 0x000046d0 
- 00015969  0x0000349d rtn 
- 00015970  0x0000349f fetcht  0x00000002 , 0x0000421f 
- 00015971  0x000034a0 fetch  0x00000002 , 0x00004225 
- 00015972  0x000034a1 isub  0x00000002 , 0x0000003f 
- 00015973  0x000034a2 mul32  0x0000003f , 0x000000e6 , 0x0000003f 
- 00015974  0x000034a3 div  0x0000003f , 0x00000190 
- 00015975  0x000034a4 call  0x00007f86 
- 00015976  0x000034a5 quotient  0x0000003f 
- 00015977  0x000034a6 store  0x00000002 , 0x000046d0 
- 00015978  0x000034a7 rtn 
- 00015979  0x000034a9 fetch  0x00000002 , 0x00004223 
- 00015980  0x000034aa store  0x00000002 , 0x000046d0 
- 00015981  0x000034ab rtn 
- 00015982  0x000034ad fetcht  0x00000001 , 0x0000423a 
- 00015983  0x000034ae call  0x0000680e 
- 00015984  0x000034af call  0x000048fb 
- 00015985  0x000034b0 fetcht  0x00000001 , 0x000046e2 
- 00015986  0x000034b1 call  0x000067fb 
- 00015987  0x000034b2 fetcht  0x00000001 , 0x000046e3 
- 00015988  0x000034b3 call  0x000067fb 
- 00015989  0x000034b4 fetcht  0x00000001 , 0x000046e4 
- 00015990  0x000034b5 call  0x000067fb 
- 00015991  0x000034b6 fetcht  0x00000001 , 0x000046f3 
- 00015992  0x000034b7 call  0x000067fb 
- 00015993  0x000034b9 fetcht  0x00000001 , 0x000046dc 
- 00015994  0x000034ba call  0x0000680e 
- 00015995  0x000034bc fetcht  0x00000001 , 0x000046e8 
- 00015996  0x000034bd call  0x000067fb 
- 00015997  0x000034bf fetcht  0x00000001 , 0x000046e9 
- 00015998  0x000034c0 call  0x000067fb 
- 00015999  0x000034c2 fetcht  0x00000001 , 0x000046ea 
- 00016000  0x000034c3 call  0x000067fb 
- 00016001  0x000034c4 fetcht  0x00000001 , 0x000046eb 
- 00016002  0x000034c5 call  0x000067fb 
- 00016003  0x000034c7 fetcht  0x00000001 , 0x000046e5 
- 00016004  0x000034c8 call  0x000067fb 
- 00016005  0x000034c9 fetcht  0x00000001 , 0x000046e6 
- 00016006  0x000034ca call  0x000067fb 
- 00016007  0x000034cc fetcht  0x00000001 , 0x000046ef 
- 00016008  0x000034cd call  0x0000680e 
- 00016009  0x000034cf fetcht  0x00000001 , 0x000046f0 
- 00016010  0x000034d0 call  0x0000680e 
- 00016011  0x000034d2 fetcht  0x00000001 , 0x000046f1 
- 00016012  0x000034d3 call  0x0000680e 
- 00016013  0x000034d5 fetcht  0x00000001 , 0x000046f2 
- 00016014  0x000034d6 call  0x0000680e 
- 00016015  0x000034d8 fetcht  0x00000001 , 0x000046f4 
- 00016016  0x000034d9 call  0x0000680e 
- 00016017  0x000034db fetcht  0x00000001 , 0x000046ed 
- 00016018  0x000034dc call  0x000067fb 
- 00016019  0x000034de fetcht  0x00000001 , 0x000046ec 
- 00016020  0x000034df call  0x000067fb 
- 00016021  0x000034e1 fetcht  0x00000001 , 0x000046e7 
- 00016022  0x000034e2 branch  0x000067fb 
- 00016023  0x000034e5 fetcht  0x00000001 , 0x000046e8 
- 00016024  0x000034e6 call  0x000067dd 
- 00016025  0x000034e7 fetcht  0x00000001 , 0x000046e9 
- 00016026  0x000034e8 call  0x000067dd 
- 00016027  0x000034e9 fetcht  0x00000001 , 0x000046ea 
- 00016028  0x000034ea call  0x000067dd 
- 00016029  0x000034eb fetcht  0x00000001 , 0x000046eb 
- 00016030  0x000034ec branch  0x000067dd 
- 00016031  0x000034ef fetcht  0x00000001 , 0x000046e8 
- 00016032  0x000034f0 call  0x00003ea7 
- 00016033  0x000034f1 fetcht  0x00000001 , 0x000046e9 
- 00016034  0x000034f2 call  0x00003ea7 
- 00016035  0x000034f3 fetcht  0x00000001 , 0x000046ea 
- 00016036  0x000034f4 call  0x00003ea7 
- 00016037  0x000034f5 fetcht  0x00000001 , 0x000046eb 
- 00016038  0x000034f6 branch  0x00003ea7 
- 00016039  0x000034f9 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00016040  0x000034fa rtn  0x00000005 
- 00016041  0x000034fb and  0x00000002 , 0x0000007f , 0x00000007 
- 00016042  0x000034fc hfetch  0x00000004 , 0x0000811c 
- 00016043  0x000034fd qisolate1  0x0000003f 
- 00016044  0x000034fe hfetch  0x00000004 , 0x00008078 
- 00016045  0x000034ff qsetflag  0x00000001 , 0x0000003f 
- 00016046  0x00003500 hstore  0x00000004 , 0x00008078 
- 00016047  0x00003501 hfetch  0x00000004 , 0x0000807c 
- 00016048  0x00003502 nqsetflag  0x00000001 , 0x0000003f 
- 00016049  0x00003503 hstore  0x00000004 , 0x0000807c 
- 00016050  0x00003504 rtn 
- 00016051  0x00003507 enable  0x00000028 
- 00016052  0x00003508 hfetch  0x00000004 , 0x00008138 
- 00016053  0x00003509 setflag  0x00000028 , 0x0000001a , 0x0000003f 
- 00016054  0x0000350a hstore  0x00000004 , 0x0000804c 
- 00016055  0x0000350b call  0x00002c21 
- 00016056  0x0000350c call  0x00004482 
- 00016057  0x0000350d call  0x00003e9f 
- 00016058  0x0000350f branch  0x00003ebf 
- 00016059  0x00003514 call  0x00003ebf 
- 00016060  0x00003515 fetch  0x00000001 , 0x000000a0 
- 00016061  0x00003516 nrtn  0x00000034 
- 00016062  0x00003517 branch  0x000067ed 
- 00016063  0x0000351a call  0x00003ee0 
- 00016064  0x0000351b arg  0x00000019 , 0x00000002 
- 00016065  0x0000351c fetch  0x00000004 , 0x000046d3 
- 00016066  0x0000351d isolate1  0x00000012 , 0x0000003f 
- 00016067  0x0000351e call  0x00003ede , 0x00000001 
- 00016068  0x0000351f call  0x0000680e 
- 00016069  0x00003520 call  0x000063ee 
- 00016070  0x00003524 fetcht  0x00000001 , 0x000046e2 
- 00016071  0x00003525 call  0x000067dd 
- 00016072  0x00003526 fetcht  0x00000001 , 0x000046e3 
- 00016073  0x00003527 call  0x000067dd 
- 00016074  0x00003528 fetcht  0x00000001 , 0x000046e4 
- 00016075  0x00003529 call  0x000067dd 
- 00016076  0x0000352b fetcht  0x00000001 , 0x000046e5 
- 00016077  0x0000352c call  0x000067dd 
- 00016078  0x0000352d fetcht  0x00000001 , 0x000046e6 
- 00016079  0x0000352e call  0x000067dd 
- 00016080  0x0000352f fetcht  0x00000001 , 0x000046e7 
- 00016081  0x00003530 call  0x000067dd 
- 00016082  0x00003531 fetcht  0x00000001 , 0x000046ed 
- 00016083  0x00003532 call  0x000067dd 
- 00016084  0x00003533 fetcht  0x00000001 , 0x000046e8 
- 00016085  0x00003534 call  0x000067dd 
- 00016086  0x00003535 fetcht  0x00000001 , 0x000046e9 
- 00016087  0x00003536 call  0x000067dd 
- 00016088  0x00003537 fetcht  0x00000001 , 0x000046ea 
- 00016089  0x00003538 call  0x000067dd 
- 00016090  0x00003539 fetcht  0x00000001 , 0x000046eb 
- 00016091  0x0000353a call  0x000067dd 
- 00016092  0x0000353b fetcht  0x00000001 , 0x000046f3 
- 00016093  0x0000353c branch  0x000067e1 
- 00016094  0x00003541 arg  0x0000001e , 0x00000002 
- 00016095  0x00003542 rtn 
- 00016096  0x00003545 bpatch  0x000000e4 , 0x0000401c 
- 00016097  0x00003546 call  0x00003eee 
- 00016098  0x00003547 call  0x00003f36 
- 00016099  0x00003548 fetch  0x00000001 , 0x000046b8 
- 00016100  0x00003549 fetcht  0x00000001 , 0x000046b7 
- 00016101  0x0000354a store  0x00000001 , 0x000046b7 
- 00016102  0x0000354b isub  0x00000002 , 0x0000003e 
- 00016103  0x0000354c nbranch  0x000033d4 , 0x00000005 
- 00016104  0x0000354d fetch  0x00000001 , 0x000046be 
- 00016105  0x0000354e fetcht  0x00000001 , 0x000046bd 
- 00016106  0x0000354f store  0x00000001 , 0x000046bd 
- 00016107  0x00003550 isub  0x00000002 , 0x0000003e 
- 00016108  0x00003551 nbranch  0x000033d4 , 0x00000005 
- 00016109  0x00003552 rtn 
- 00016110  0x00003554 fetch  0x00000001 , 0x000046ea 
- 00016111  0x00003555 rtneq  0x000000ff 
- 00016112  0x00003556 arg  0x00000000 , 0x00000011 
- 00016113  0x00003557 fetcht  0x00000001 , 0x000046ea 
- 00016114  0x00003558 call  0x0000681d 
- 00016115  0x00003559 setflag  0x00000001 , 0x00000000 , 0x00000011 
- 00016116  0x0000355a fetcht  0x00000001 , 0x000046eb 
- 00016117  0x0000355b call  0x0000681d 
- 00016118  0x0000355c setflag  0x00000001 , 0x00000001 , 0x00000011 
- 00016119  0x0000355d copy  0x00000011 , 0x0000003f 
- 00016120  0x0000355e store  0x00000001 , 0x000046b8 
- 00016121  0x0000355f beq  0x00000001 , 0x00003efe 
- 00016122  0x00003560 beq  0x00000002 , 0x00003f02 
- 00016123  0x00003561 fetch  0x00000001 , 0x000046b9 
- 00016124  0x00003562 bbit1  0x00000007 , 0x00003f0e 
- 00016125  0x00003563 rtn 
- 00016126  0x00003566 fetch  0x00000001 , 0x000046b7 
- 00016127  0x00003567 beq  0x00000000 , 0x00003f06 
- 00016128  0x00003568 beq  0x00000003 , 0x00003f08 
- 00016129  0x00003569 rtn 
- 00016130  0x0000356b fetch  0x00000001 , 0x000046b7 
- 00016131  0x0000356c beq  0x00000000 , 0x00003f0a 
- 00016132  0x0000356d beq  0x00000003 , 0x00003f0c 
- 00016133  0x0000356e rtn 
- 00016134  0x00003570 jam  0x00000082 , 0x000046b9 
- 00016135  0x00003571 rtn 
- 00016136  0x00003573 jam  0x00000081 , 0x000046b9 
- 00016137  0x00003574 rtn 
- 00016138  0x00003576 jam  0x00000080 , 0x000046b9 
- 00016139  0x00003577 rtn 
- 00016140  0x00003579 jam  0x00000083 , 0x000046b9 
- 00016141  0x0000357a rtn 
- 00016142  0x0000357c fetch  0x00000001 , 0x000046b9 
- 00016143  0x0000357d set0  0x00000007 , 0x0000003f 
- 00016144  0x0000357e store  0x00000001 , 0x000046b9 
- 00016145  0x0000357f beq  0x00000000 , 0x00003f16 
- 00016146  0x00003580 beq  0x00000001 , 0x00003f19 
- 00016147  0x00003581 beq  0x00000002 , 0x00003f1c 
- 00016148  0x00003582 beq  0x00000003 , 0x00003f1f 
- 00016149  0x00003583 rtn 
- 00016150  0x00003585 fetch  0x00000001 , 0x000046b8 
- 00016151  0x00003586 beq  0x00000003 , 0x00003f22 
- 00016152  0x00003587 rtn 
- 00016153  0x00003589 fetch  0x00000001 , 0x000046b8 
- 00016154  0x0000358a beq  0x00000000 , 0x00003f22 
- 00016155  0x0000358b rtn 
- 00016156  0x0000358d fetch  0x00000001 , 0x000046b8 
- 00016157  0x0000358e beq  0x00000003 , 0x00003f2c 
- 00016158  0x0000358f rtn 
- 00016159  0x00003591 fetch  0x00000001 , 0x000046b8 
- 00016160  0x00003592 beq  0x00000000 , 0x00003f2c 
- 00016161  0x00003593 rtn 
- 00016162  0x00003595 fetch  0x00000001 , 0x000046bc 
- 00016163  0x00003596 increase  0x00000001 , 0x0000003f 
- 00016164  0x00003597 store  0x00000001 , 0x000046bc 
- 00016165  0x00003598 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00016166  0x00003599 rtn  0x00000002 
- 00016167  0x0000359a jam  0x00000000 , 0x000046bc 
- 00016168  0x0000359b fetch  0x00000001 , 0x000046ba 
- 00016169  0x0000359c increase  0x00000001 , 0x0000003f 
- 00016170  0x0000359d store  0x00000001 , 0x000046ba 
- 00016171  0x0000359e rtn 
- 00016172  0x000035a0 fetch  0x00000001 , 0x000046bb 
- 00016173  0x000035a1 increase  0x00000001 , 0x0000003f 
- 00016174  0x000035a2 store  0x00000001 , 0x000046bb 
- 00016175  0x000035a3 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00016176  0x000035a4 rtn  0x00000002 
- 00016177  0x000035a5 jam  0x00000000 , 0x000046bb 
- 00016178  0x000035a6 fetch  0x00000001 , 0x000046ba 
- 00016179  0x000035a7 increase  0xffffffff , 0x0000003f 
- 00016180  0x000035a8 store  0x00000001 , 0x000046ba 
- 00016181  0x000035a9 rtn 
- 00016182  0x000035ad fetch  0x00000001 , 0x000046e8 
- 00016183  0x000035ae rtneq  0x000000ff 
- 00016184  0x000035af arg  0x00000000 , 0x00000011 
- 00016185  0x000035b0 fetcht  0x00000001 , 0x000046e8 
- 00016186  0x000035b1 call  0x0000681d 
- 00016187  0x000035b2 setflag  0x00000001 , 0x00000000 , 0x00000011 
- 00016188  0x000035b3 fetcht  0x00000001 , 0x000046e9 
- 00016189  0x000035b4 call  0x0000681d 
- 00016190  0x000035b5 setflag  0x00000001 , 0x00000001 , 0x00000011 
- 00016191  0x000035b6 copy  0x00000011 , 0x0000003f 
- 00016192  0x000035b7 store  0x00000001 , 0x000046be 
- 00016193  0x000035b8 beq  0x00000001 , 0x00003f46 
- 00016194  0x000035b9 beq  0x00000002 , 0x00003f4a 
- 00016195  0x000035ba fetch  0x00000001 , 0x000046bf 
- 00016196  0x000035bb bbit1  0x00000007 , 0x00003f56 
- 00016197  0x000035bc rtn 
- 00016198  0x000035bf fetch  0x00000001 , 0x000046bd 
- 00016199  0x000035c0 beq  0x00000000 , 0x00003f4e 
- 00016200  0x000035c1 beq  0x00000003 , 0x00003f50 
- 00016201  0x000035c2 rtn 
- 00016202  0x000035c4 fetch  0x00000001 , 0x000046bd 
- 00016203  0x000035c5 beq  0x00000000 , 0x00003f52 
- 00016204  0x000035c6 beq  0x00000003 , 0x00003f54 
- 00016205  0x000035c7 rtn 
- 00016206  0x000035c9 jam  0x00000082 , 0x000046bf 
- 00016207  0x000035ca rtn 
- 00016208  0x000035cc jam  0x00000081 , 0x000046bf 
- 00016209  0x000035cd rtn 
- 00016210  0x000035cf jam  0x00000080 , 0x000046bf 
- 00016211  0x000035d0 rtn 
- 00016212  0x000035d2 jam  0x00000083 , 0x000046bf 
- 00016213  0x000035d3 rtn 
- 00016214  0x000035d5 fetch  0x00000001 , 0x000046bf 
- 00016215  0x000035d6 set0  0x00000007 , 0x0000003f 
- 00016216  0x000035d7 store  0x00000001 , 0x000046bf 
- 00016217  0x000035d8 beq  0x00000000 , 0x00003f5e 
- 00016218  0x000035d9 beq  0x00000001 , 0x00003f61 
- 00016219  0x000035da beq  0x00000002 , 0x00003f64 
- 00016220  0x000035db beq  0x00000003 , 0x00003f67 
- 00016221  0x000035dc rtn 
- 00016222  0x000035de fetch  0x00000001 , 0x000046be 
- 00016223  0x000035df beq  0x00000003 , 0x00003f6a 
- 00016224  0x000035e0 rtn 
- 00016225  0x000035e2 fetch  0x00000001 , 0x000046be 
- 00016226  0x000035e3 beq  0x00000000 , 0x00003f6a 
- 00016227  0x000035e4 rtn 
- 00016228  0x000035e6 fetch  0x00000001 , 0x000046be 
- 00016229  0x000035e7 beq  0x00000003 , 0x00003f6f 
- 00016230  0x000035e8 rtn 
- 00016231  0x000035ea fetch  0x00000001 , 0x000046be 
- 00016232  0x000035eb beq  0x00000000 , 0x00003f6f 
- 00016233  0x000035ec rtn 
- 00016234  0x000035ee jam  0x00000000 , 0x000046c2 
- 00016235  0x000035ef fetch  0x00000001 , 0x000046c0 
- 00016236  0x000035f0 increase  0x00000001 , 0x0000003f 
- 00016237  0x000035f1 store  0x00000001 , 0x000046c0 
- 00016238  0x000035f2 rtn 
- 00016239  0x000035f4 jam  0x00000000 , 0x000046c1 
- 00016240  0x000035f5 fetch  0x00000001 , 0x000046c0 
- 00016241  0x000035f6 increase  0xffffffff , 0x0000003f 
- 00016242  0x000035f7 store  0x00000001 , 0x000046c0 
- 00016243  0x000035f8 rtn 
- 00016244  0x000035fc setarg  0x00000002 
- 00016245  0x000035fd store  0x00000001 , 0x00004680 
- 00016246  0x000035fe rtn 
- 00016247  0x00003601 fetch  0x00000001 , 0x000041e2 
- 00016248  0x00003602 rtn  0x00000034 
- 00016249  0x00003603 call  0x00005271 
- 00016250  0x00003604 nrtn  0x00000034 
- 00016251  0x00003605 fetch  0x00000004 , 0x000046d3 
- 00016252  0x00003606 bbit1  0x00000003 , 0x00003f8a 
- 00016253  0x00003607 bbit1  0x00000000 , 0x00003f8a 
- 00016254  0x00003608 bbit1  0x00000005 , 0x00003f8a 
- 00016255  0x00003609 call  0x00003f97 
- 00016256  0x0000360a nrtn  0x00000028 
- 00016257  0x0000360c arg  0x00000009 , 0x00000011 
- 00016258  0x0000360d call  0x00004d63 
- 00016259  0x0000360e fetch  0x00000002 , 0x0000424e 
- 00016260  0x0000360f istore  0x00000002 , 0x00000005 
- 00016261  0x00003610 setarg  0x000002a1 
- 00016262  0x00003611 istore  0x00000002 , 0x00000005 
- 00016263  0x00003612 fetch  0x00000007 , 0x0000469a 
- 00016264  0x00003613 istore  0x00000007 , 0x00000005 
- 00016265  0x00003614 rtn 
- 00016266  0x00003618 setarg  0x00000000 
- 00016267  0x00003619 store  0x00000007 , 0x0000469a 
- 00016268  0x0000361a branch  0x00003f81 
- 00016269  0x0000361e fetch  0x00000002 , 0x000046aa 
- 00016270  0x0000361f store  0x00000002 , 0x000046b0 
- 00016271  0x00003620 rtn 
- 00016272  0x00003624 bpatch  0x000000e5 , 0x0000401c 
- 00016273  0x00003625 arg  0x00000007 , 0x00000011 
- 00016274  0x00003626 fetcht  0x00000002 , 0x0000446f 
- 00016275  0x00003627 call  0x00005a64 
- 00016276  0x00003628 fetch  0x00000007 , 0x0000469a 
- 00016277  0x00003629 istore  0x00000007 , 0x00000005 
- 00016278  0x0000362a rtn 
- 00016279  0x0000362d bpatch  0x000000e6 , 0x0000401c 
- 00016280  0x0000362e disable  0x00000028 
- 00016281  0x0000362f setarg  0x00000000 
- 00016282  0x00003630 store  0x00000006 , 0x0000469b 
- 00016283  0x00003631 call  0x00003fb5 
- 00016284  0x00003632 call  0x00004079 
- 00016285  0x00003633 call  0x0000407e 
- 00016286  0x00003634 call  0x00004099 
- 00016287  0x00003635 nrtn  0x00000028 
- 00016288  0x00003636 call  0x00003f8d 
- 00016289  0x00003637 arg  0x00000008 , 0x00000007 
- 00016290  0x00003638 branch  0x000043ce 
- 00016291  0x0000363b fetch  0x00000002 , 0x0000469b 
- 00016292  0x0000363c sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00016293  0x0000363d store  0x00000002 , 0x0000469b 
- 00016294  0x0000363e branch  0x00007fe7 
- 00016295  0x00003640 fetch  0x00000002 , 0x0000469d 
- 00016296  0x00003641 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00016297  0x00003642 store  0x00000002 , 0x0000469d 
- 00016298  0x00003643 branch  0x00007fe7 
- 00016299  0x00003645 fetch  0x00000002 , 0x0000469d 
- 00016300  0x00003646 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00016301  0x00003647 store  0x00000002 , 0x0000469d 
- 00016302  0x00003648 fetch  0x00000002 , 0x0000469b 
- 00016303  0x00003649 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00016304  0x0000364a store  0x00000002 , 0x0000469b 
- 00016305  0x0000364b call  0x00004002 
- 00016306  0x0000364c branch  0x00007fe7 
- 00016307  0x0000364e call  0x00004002 
- 00016308  0x0000364f branch  0x00007fe7 
- 00016309  0x00003651 fetch  0x00000001 , 0x00004239 
- 00016310  0x00003652 rtnne  0x00000000 
- 00016311  0x00003653 fetch  0x00000001 , 0x000046e0 
- 00016312  0x00003654 beq  0x00000000 , 0x00003fe2 
- 00016313  0x00003655 beq  0x00000001 , 0x00003fe2 
- 00016314  0x00003656 beq  0x00000002 , 0x00003fe2 
- 00016315  0x00003657 beq  0x00000003 , 0x00003fe2 
- 00016316  0x00003658 beq  0x00000004 , 0x00003fc4 
- 00016317  0x00003659 beq  0x00000005 , 0x00004010 
- 00016318  0x0000365a beq  0x00000006 , 0x00003fe2 
- 00016319  0x0000365b branch  0x00003fe2 
- 00016320  0x0000365e fetch  0x00000001 , 0x000046a7 
- 00016321  0x0000365f call  0x0000405d , 0x00000034 
- 00016322  0x00003660 jam  0x00000001 , 0x000046a7 
- 00016323  0x00003661 rtn 
- 00016324  0x00003665 call  0x00003fc0 
- 00016325  0x00003666 fetcht  0x00000001 , 0x000046f3 
- 00016326  0x00003667 call  0x0000681d 
- 00016327  0x00003668 nrtn  0x00000001 
- 00016328  0x0000366a setarg  0x00000000 
- 00016329  0x0000366b call  0x00006414 
- 00016330  0x0000366c bne  0x00000030 , 0x000040d1 
- 00016331  0x0000366d setarg  0x00000002 
- 00016332  0x0000366e call  0x00006414 
- 00016333  0x0000366f rtnbit0  0x00000007 
- 00016334  0x00003670 call  0x0000405d 
- 00016335  0x00003671 call  0x00003fde 
- 00016336  0x00003672 store  0x00000001 , 0x000046a1 
- 00016337  0x00003673 rshift4  0x0000003f , 0x0000003f 
- 00016338  0x00003674 call  0x00004169 
- 00016339  0x00003675 store  0x00000001 , 0x0000469c 
- 00016340  0x00003676 fetch  0x00000001 , 0x000046a1 
- 00016341  0x00003677 and  0x0000003f , 0x0000000f , 0x0000003f 
- 00016342  0x00003678 call  0x00004169 
- 00016343  0x00003679 store  0x00000001 , 0x0000469e 
- 00016344  0x0000367a fetch  0x00000001 , 0x000046f6 
- 00016345  0x0000367b beq  0x00000000 , 0x00003fa3 
- 00016346  0x0000367c beq  0x00000001 , 0x00003fab 
- 00016347  0x0000367d beq  0x00000002 , 0x00003fa7 
- 00016348  0x0000367e beq  0x00000003 , 0x00003fb3 
- 00016349  0x0000367f rtn 
- 00016350  0x00003682 setarg  0x00000012 
- 00016351  0x00003683 branch  0x00006414 
- 00016352  0x00003686 beq  0x00000031 , 0x00003fea 
- 00016353  0x00003687 branch  0x000040d1 
- 00016354  0x0000368a call  0x00003fc0 
- 00016355  0x0000368b disable  0x00000028 
- 00016356  0x0000368c fetcht  0x00000001 , 0x000046f3 
- 00016357  0x0000368d call  0x0000681d 
- 00016358  0x0000368e nrtn  0x00000001 
- 00016359  0x00003690 setarg  0x00000000 
- 00016360  0x00003691 call  0x00006414 
- 00016361  0x00003692 bne  0x00000030 , 0x00003fe0 
- 00016362  0x00003694 setarg  0x00000002 
- 00016363  0x00003695 call  0x00006414 
- 00016364  0x00003696 rtnbit0  0x00000007 
- 00016365  0x00003697 call  0x0000405d 
- 00016366  0x00003698 fetch  0x00000001 , 0x0000469b 
- 00016367  0x00003699 call  0x00004165 
- 00016368  0x0000369a store  0x00000002 , 0x0000469b 
- 00016369  0x0000369b fetch  0x00000001 , 0x0000469d 
- 00016370  0x0000369c call  0x00004165 
- 00016371  0x0000369d store  0x00000002 , 0x0000469d 
- 00016372  0x0000369e fetch  0x00000001 , 0x000046f6 
- 00016373  0x0000369f beq  0x00000000 , 0x00003ffa 
- 00016374  0x000036a0 beq  0x00000001 , 0x00003ffc 
- 00016375  0x000036a1 beq  0x00000002 , 0x00003ffe 
- 00016376  0x000036a2 beq  0x00000003 , 0x00004000 
- 00016377  0x000036a3 rtn 
- 00016378  0x000036a6 call  0x00003fa3 
- 00016379  0x000036a7 branch  0x000040b3 
- 00016380  0x000036a9 call  0x00003fab 
- 00016381  0x000036aa branch  0x000040b3 
- 00016382  0x000036ac call  0x00003fa7 
- 00016383  0x000036ad branch  0x000040b3 
- 00016384  0x000036af call  0x00003fb3 
- 00016385  0x000036b0 branch  0x000040b3 
- 00016386  0x000036b3 fetch  0x00000002 , 0x0000469d 
- 00016387  0x000036b4 fetcht  0x00000002 , 0x0000469b 
- 00016388  0x000036b5 store  0x00000002 , 0x0000469b 
- 00016389  0x000036b6 storet  0x00000002 , 0x0000469d 
- 00016390  0x000036b7 rtn 
- 00016391  0x000036ba call  0x0000640f 
- 00016392  0x000036bb nop  0x00000064 
- 00016393  0x000036bc copy  0x00000012 , 0x0000003f 
- 00016394  0x000036bd call  0x00006414 
- 00016395  0x000036be copy  0x0000003f , 0x00000012 
- 00016396  0x000036bf call  0x00006411 
- 00016397  0x000036c0 nop  0x00000064 
- 00016398  0x000036c1 copy  0x00000012 , 0x0000003f 
- 00016399  0x000036c2 rtn 
- 00016400  0x000036c4 disable  0x00000028 
- 00016401  0x000036c5 fetcht  0x00000001 , 0x000046f3 
- 00016402  0x000036c6 call  0x0000681d 
- 00016403  0x000036c7 nrtn  0x00000001 
- 00016404  0x000036c8 arg  0x00000002 , 0x00000012 
- 00016405  0x000036c9 call  0x00004007 
- 00016406  0x000036ca rtnbit0  0x00000007 
- 00016407  0x000036cb arg  0x00000000 , 0x00000012 
- 00016408  0x000036cc call  0x00004007 
- 00016409  0x000036cd store  0x00000001 , 0x000046dd 
- 00016410  0x000036ce bne  0x0000003e , 0x00004145 
- 00016411  0x000036cf fetch  0x00000001 , 0x000046a7 
- 00016412  0x000036d0 call  0x00004039 , 0x00000034 
- 00016413  0x000036d1 jam  0x00000001 , 0x000046a7 
- 00016414  0x000036d2 call  0x00004039 
- 00016415  0x000036d3 fetch  0x00000001 , 0x000046a1 
- 00016416  0x000036d4 rshift4  0x0000003f , 0x0000003f 
- 00016417  0x000036d5 call  0x00004169 
- 00016418  0x000036d6 store  0x00000001 , 0x0000469c 
- 00016419  0x000036d7 fetch  0x00000001 , 0x000046a1 
- 00016420  0x000036d8 and  0x0000003f , 0x0000000f , 0x0000003f 
- 00016421  0x000036d9 call  0x00004169 
- 00016422  0x000036da store  0x00000001 , 0x0000469e 
- 00016423  0x000036db fetch  0x00000001 , 0x000046f6 
- 00016424  0x000036dc beq  0x00000000 , 0x00004031 
- 00016425  0x000036dd beq  0x00000001 , 0x00004035 
- 00016426  0x000036de beq  0x00000002 , 0x00004033 
- 00016427  0x000036df beq  0x00000003 , 0x00004037 
- 00016428  0x000036e0 rtn 
- 00016429  0x000036e3 fetch  0x00000001 , 0x000046a4 
- 00016430  0x000036e4 beq  0x00000000 , 0x00004051 
- 00016431  0x000036e5 beq  0x00000001 , 0x00004045 
- 00016432  0x000036e6 rtn 
- 00016433  0x000036ea call  0x00003fa3 
- 00016434  0x000036eb branch  0x0000402d 
- 00016435  0x000036ee call  0x00003fa7 
- 00016436  0x000036ef branch  0x0000402d 
- 00016437  0x000036f2 call  0x00003fab 
- 00016438  0x000036f3 branch  0x0000402d 
- 00016439  0x000036f6 call  0x00003fb3 
- 00016440  0x000036f7 branch  0x0000402d 
- 00016441  0x000036fa call  0x0000640f 
- 00016442  0x000036fb call  0x0000405d 
- 00016443  0x000036fc arg  0x00000005 , 0x0000003f 
- 00016444  0x000036fd call  0x00006414 
- 00016445  0x000036fe store  0x00000001 , 0x000046a1 
- 00016446  0x000036ff arg  0x00000007 , 0x0000003f 
- 00016447  0x00003700 call  0x00006414 
- 00016448  0x00003701 store  0x00000001 , 0x000046a2 
- 00016449  0x00003702 arg  0x00000008 , 0x0000003f 
- 00016450  0x00003703 call  0x00006414 
- 00016451  0x00003704 store  0x00000001 , 0x000046a3 
- 00016452  0x00003705 branch  0x00006411 
- 00016453  0x00003709 fetch  0x00000001 , 0x000046a2 
- 00016454  0x0000370a rtnne  0x00000000 
- 00016455  0x0000370b fetch  0x00000001 , 0x000046a3 
- 00016456  0x0000370c sub  0x0000003f , 0x0000002d , 0x0000003e 
- 00016457  0x0000370d rtn  0x00000002 
- 00016458  0x0000370e jam  0x00000000 , 0x000046a4 
- 00016459  0x0000370f setarg  0x0000ba41 
- 00016460  0x00003710 call  0x00006405 
- 00016461  0x00003711 setarg  0x00000032 
- 00016462  0x00003712 call  0x00006405 
- 00016463  0x00003713 setarg  0x0000b541 
- 00016464  0x00003714 branch  0x00006405 
- 00016465  0x00003716 fetch  0x00000001 , 0x000046a2 
- 00016466  0x00003717 rtnne  0x00000000 
- 00016467  0x00003718 fetch  0x00000001 , 0x000046a3 
- 00016468  0x00003719 sub  0x0000003f , 0x0000002d , 0x0000003e 
- 00016469  0x0000371a nrtn  0x00000002 
- 00016470  0x0000371b jam  0x00000001 , 0x000046a4 
- 00016471  0x0000371c setarg  0x0000ba41 
- 00016472  0x0000371d call  0x00006405 
- 00016473  0x0000371e setarg  0x00008032 
- 00016474  0x0000371f call  0x00006405 
- 00016475  0x00003720 setarg  0x0000b541 
- 00016476  0x00003721 branch  0x00006405 
- 00016477  0x00003726 arg  0x00000003 , 0x0000003f 
- 00016478  0x00003727 call  0x00006414 
- 00016479  0x00003728 store  0x00000002 , 0x0000469b 
- 00016480  0x00003729 arg  0x00000004 , 0x0000003f 
- 00016481  0x0000372a call  0x00006414 
- 00016482  0x0000372b store  0x00000002 , 0x0000469d 
- 00016483  0x0000372c rtn 
- 00016484  0x0000372f arg  0x0000001b , 0x00000002 
- 00016485  0x00003730 call  0x000067fb 
- 00016486  0x00003731 arg  0x0000001b , 0x00000002 
- 00016487  0x00003732 call  0x0000681d 
- 00016488  0x00003733 rtn  0x00000001 
- 00016489  0x00003734 hfetch  0x00000001 , 0x00008109 
- 00016490  0x00003735 set1  0x00000004 , 0x0000003f 
- 00016491  0x00003736 hstore  0x00000001 , 0x00008109 
- 00016492  0x00003737 rtn 
- 00016493  0x0000373a fetcht  0x00000001 , 0x000046c0 
- 00016494  0x0000373b hfetch  0x00000001 , 0x00008109 
- 00016495  0x0000373c iadd  0x00000002 , 0x0000003f 
- 00016496  0x0000373d rtn  0x00000034 
- 00016497  0x0000373e store  0x00000001 , 0x0000469f 
- 00016498  0x0000373f jam  0x00000000 , 0x000046c0 
- 00016499  0x00003740 branch  0x00007fe7 
- 00016500  0x00003742 fetcht  0x00000001 , 0x000046c0 
- 00016501  0x00003743 hfetch  0x00000001 , 0x00008109 
- 00016502  0x00003744 iadd  0x00000002 , 0x0000003f 
- 00016503  0x00003745 store  0x00000001 , 0x000046c0 
- 00016504  0x00003746 rtn 
- 00016505  0x00003748 fetch  0x00000001 , 0x000046c0 
- 00016506  0x00003749 rtn  0x00000034 
- 00016507  0x0000374a store  0x00000001 , 0x0000469f 
- 00016508  0x0000374b jam  0x00000000 , 0x000046c0 
- 00016509  0x0000374c branch  0x00007fe7 
- 00016510  0x0000374f fetch  0x00000001 , 0x000046ba 
- 00016511  0x00003750 rtn  0x00000034 
- 00016512  0x00003751 store  0x00000001 , 0x000046a0 
- 00016513  0x00003752 jam  0x00000000 , 0x000046ba 
- 00016514  0x00003753 branch  0x00007fe7 
- 00016515  0x00003756 arg  0x00000000 , 0x00000011 
- 00016516  0x00003757 fetcht  0x00000001 , 0x000046e2 
- 00016517  0x00003758 call  0x0000681d 
- 00016518  0x00003759 setflag  0x00000001 , 0x00000000 , 0x00000011 
- 00016519  0x0000375a fetcht  0x00000001 , 0x000046e3 
- 00016520  0x0000375b call  0x0000681d 
- 00016521  0x0000375c setflag  0x00000001 , 0x00000001 , 0x00000011 
- 00016522  0x0000375d fetcht  0x00000001 , 0x000046e4 
- 00016523  0x0000375e call  0x0000681d 
- 00016524  0x0000375f setflag  0x00000001 , 0x00000002 , 0x00000011 
- 00016525  0x00003760 call  0x00004090 
- 00016526  0x00003762 copy  0x00000011 , 0x0000003f 
- 00016527  0x00003763 rtn 
- 00016528  0x00003765 fetch  0x00000001 , 0x000046e5 
- 00016529  0x00003766 rtneq  0x000000ff 
- 00016530  0x00003767 fetcht  0x00000001 , 0x000046e5 
- 00016531  0x00003768 call  0x0000681d 
- 00016532  0x00003769 setflag  0x00000001 , 0x00000003 , 0x00000011 
- 00016533  0x0000376a fetcht  0x00000001 , 0x000046e6 
- 00016534  0x0000376b call  0x0000681d 
- 00016535  0x0000376c setflag  0x00000001 , 0x00000004 , 0x00000011 
- 00016536  0x0000376d rtn 
- 00016537  0x00003770 call  0x00004083 
- 00016538  0x00003771 call  0x000040a8 
- 00016539  0x00003772 call  0x000040a3 
- 00016540  0x00003773 copy  0x00000011 , 0x0000003f 
- 00016541  0x00003774 fetcht  0x00000001 , 0x0000469a 
- 00016542  0x00003775 store  0x00000001 , 0x0000469a 
- 00016543  0x00003776 ixor  0x00000002 , 0x0000003f 
- 00016544  0x00003777 sub  0x0000003f , 0x00000000 , 0x0000003e 
- 00016545  0x00003778 rtn  0x00000005 
- 00016546  0x00003779 branch  0x00007fe7 
- 00016547  0x0000377c rtnmark0  0x00000026 
- 00016548  0x0000377d copy  0x00000011 , 0x0000003f 
- 00016549  0x0000377e rtn  0x00000034 
- 00016550  0x0000377f store  0x00000001 , 0x0000469a 
- 00016551  0x00003780 branch  0x00007fe7 
- 00016552  0x00003784 fetch  0x00000002 , 0x00004682 
- 00016553  0x00003785 bbit1  0x00000009 , 0x000040ad 
- 00016554  0x00003786 fetch  0x00000002 , 0x00004682 
- 00016555  0x00003787 bbit1  0x00000000 , 0x000040b0 
- 00016556  0x00003788 rtn 
- 00016557  0x0000378a copy  0x00000011 , 0x0000003f 
- 00016558  0x0000378b nbranch  0x00005820 , 0x00000034 
- 00016559  0x0000378c branch  0x00005822 
- 00016560  0x0000378e copy  0x00000011 , 0x0000003f 
- 00016561  0x0000378f nbranch  0x00002bc7 , 0x00000034 
- 00016562  0x00003790 branch  0x00002bc9 
- 00016563  0x00003794 bpatch  0x000000e7 , 0x0000401c 
- 00016564  0x00003795 arg  0x0000001a , 0x00000002 
- 00016565  0x00003796 fetch  0x00000004 , 0x000046d3 
- 00016566  0x00003797 isolate1  0x00000012 , 0x0000003f 
- 00016567  0x00003798 call  0x000040be , 0x00000001 
- 00016568  0x00003799 call  0x0000681d 
- 00016569  0x0000379a rtn  0x00000001 
- 00016570  0x0000379b setarg  0x0000000a 
- 00016571  0x0000379c call  0x00006414 
- 00016572  0x0000379d nop  0x000003e8 
- 00016573  0x0000379e branch  0x000040b3 
- 00016574  0x000037a0 arg  0x0000001f , 0x00000002 
- 00016575  0x000037a1 rtn 
- 00016576  0x000037a4 fetch  0x00000004 , 0x000046d3 
- 00016577  0x000037a5 bbit1  0x00000012 , 0x000040c4 
- 00016578  0x000037a7 arg  0x0000001a , 0x00000002 
- 00016579  0x000037a8 branch  0x000067fe 
- 00016580  0x000037aa arg  0x0000001f , 0x00000002 
- 00016581  0x000037ab branch  0x000067fe 
- 00016582  0x000037af call  0x00003d36 
- 00016583  0x000037b0 rtn  0x0000002b 
- 00016584  0x000037b1 call  0x000040c0 
- 00016585  0x000037b2 fetch  0x00000001 , 0x000046e0 
- 00016586  0x000037b3 beq  0x00000005 , 0x000040d5 
- 00016587  0x000037b5 call  0x000040d9 
- 00016588  0x000037b6 beq  0x00000030 , 0x000040e0 
- 00016589  0x000037b7 beq  0x00000031 , 0x000040ea 
- 00016590  0x000037b8 call  0x000040d1 
- 00016591  0x000037b9 nop  0x000003e8 
- 00016592  0x000037ba branch  0x000040cb 
- 00016593  0x000037bc bpatch  0x000000e8 , 0x0000401d 
- 00016594  0x000037bd fetch  0x00000004 , 0x000046d3 
- 00016595  0x000037be bbit1  0x00000012 , 0x000063e0 
- 00016596  0x000037bf branch  0x000063d1 
- 00016597  0x000037c2 call  0x000040d9 
- 00016598  0x000037c3 beq  0x0000003e , 0x0000414b 
- 00016599  0x000037c4 call  0x00004145 
- 00016600  0x000037c5 branch  0x000040d5 
- 00016601  0x000037c8 setarg  0x00000001 
- 00016602  0x000037c9 call  0x00006414 
- 00016603  0x000037ca store  0x00000001 , 0x000046de 
- 00016604  0x000037cb setarg  0x00000000 
- 00016605  0x000037cc call  0x00006414 
- 00016606  0x000037cd store  0x00000001 , 0x000046dd 
- 00016607  0x000037ce rtn 
- 00016608  0x000037d0 fetch  0x00000001 , 0x000046de 
- 00016609  0x000037d1 beq  0x000000d1 , 0x00004139 
- 00016610  0x000037d2 beq  0x000000d2 , 0x000040f8 
- 00016611  0x000037d3 beq  0x00000002 , 0x000040ee 
- 00016612  0x000037d4 beq  0x00000054 , 0x000040e6 
- 00016613  0x000037d5 rtn 
- 00016614  0x000037d7 jam  0x00000002 , 0x000046e0 
- 00016615  0x000037d8 rtn 
- 00016616  0x000037da jam  0x00000006 , 0x000046e0 
- 00016617  0x000037db rtn 
- 00016618  0x000037dd fetch  0x00000001 , 0x000046de 
- 00016619  0x000037de beq  0x00000070 , 0x000040e8 
- 00016620  0x000037df jam  0x00000001 , 0x000046e0 
- 00016621  0x000037e0 rtn 
- 00016622  0x000037e2 jam  0x00000004 , 0x000046e0 
- 00016623  0x000037e3 call  0x000040f6 
- 00016624  0x000037e4 setarg  0x00003426 
- 00016625  0x000037e5 call  0x00006413 
- 00016626  0x000037e6 setarg  0x00000419 
- 00016627  0x000037e7 call  0x00006413 
- 00016628  0x000037e9 setarg  0x00000009 
- 00016629  0x000037ea branch  0x00006413 
- 00016630  0x000037ec setarg  0x00005a09 
- 00016631  0x000037ed branch  0x00006413 
- 00016632  0x000037f0 jam  0x00000003 , 0x000046e0 
- 00016633  0x000037f1 call  0x000040f6 
- 00016634  0x000037f2 setarg  0x00000f0d 
- 00016635  0x000037f3 call  0x00006413 
- 00016636  0x000037f4 setarg  0x0000e31d 
- 00016637  0x000037f5 call  0x00006413 
- 00016638  0x000037f6 setarg  0x0000d27d 
- 00016639  0x000037f7 call  0x00006413 
- 00016640  0x000037f8 call  0x00004102 
- 00016641  0x000037f9 branch  0x0000411a 
- 00016642  0x000037fc setarg  0x0000351b 
- 00016643  0x000037fd call  0x00006413 
- 00016644  0x000037fe setarg  0x0000b428 
- 00016645  0x000037ff call  0x00006413 
- 00016646  0x00003800 setarg  0x00004629 
- 00016647  0x00003801 call  0x00006413 
- 00016648  0x00003802 setarg  0x0000962a 
- 00016649  0x00003803 call  0x00006413 
- 00016650  0x00003804 setarg  0x00008c2b 
- 00016651  0x00003805 call  0x00006413 
- 00016652  0x00003806 setarg  0x00006e2c 
- 00016653  0x00003807 call  0x00006413 
- 00016654  0x00003808 setarg  0x0000642d 
- 00016655  0x00003809 call  0x00006413 
- 00016656  0x0000380a setarg  0x00005f38 
- 00016657  0x0000380b call  0x00006413 
- 00016658  0x0000380c setarg  0x00000f39 
- 00016659  0x0000380d call  0x00006413 
- 00016660  0x0000380e setarg  0x0000323a 
- 00016661  0x0000380f call  0x00006413 
- 00016662  0x00003810 setarg  0x0000473b 
- 00016663  0x00003811 call  0x00006413 
- 00016664  0x00003812 setarg  0x00001042 
- 00016665  0x00003813 branch  0x00006413 
- 00016666  0x00003815 setarg  0x00002e54 
- 00016667  0x00003816 call  0x00006413 
- 00016668  0x00003817 setarg  0x0000f255 
- 00016669  0x00003818 call  0x00006413 
- 00016670  0x00003819 setarg  0x0000f461 
- 00016671  0x0000381a call  0x00006413 
- 00016672  0x0000381b setarg  0x00007063 
- 00016673  0x0000381c call  0x00006413 
- 00016674  0x0000381d setarg  0x00005275 
- 00016675  0x0000381e call  0x00006413 
- 00016676  0x0000381f setarg  0x00004176 
- 00016677  0x00003820 call  0x00006413 
- 00016678  0x00003821 setarg  0x0000ed77 
- 00016679  0x00003822 call  0x00006413 
- 00016680  0x00003823 setarg  0x00002378 
- 00016681  0x00003824 call  0x00006413 
- 00016682  0x00003825 setarg  0x00004679 
- 00016683  0x00003826 call  0x00006413 
- 00016684  0x00003827 setarg  0x0000e57a 
- 00016685  0x00003828 call  0x00006413 
- 00016686  0x00003829 setarg  0x0000487c 
- 00016687  0x0000382a call  0x00006413 
- 00016688  0x0000382b setarg  0x0000777e 
- 00016689  0x0000382c call  0x00006413 
- 00016690  0x0000382d setarg  0x0000017f 
- 00016691  0x0000382e call  0x00006413 
- 00016692  0x0000382f setarg  0x0000000b 
- 00016693  0x00003830 call  0x00006413 
- 00016694  0x00003831 setarg  0x0000007f 
- 00016695  0x00003832 call  0x00006413 
- 00016696  0x00003833 branch  0x000040f4 
- 00016697  0x00003837 jam  0x00000000 , 0x000046e0 
- 00016698  0x00003838 call  0x000040f6 
- 00016699  0x00003839 setarg  0x0000100d 
- 00016700  0x0000383a call  0x00006413 
- 00016701  0x0000383b setarg  0x0000ed1d 
- 00016702  0x0000383c call  0x00006413 
- 00016703  0x0000383d setarg  0x0000807d 
- 00016704  0x0000383e call  0x00006413 
- 00016705  0x0000383f call  0x00004102 
- 00016706  0x00003840 setarg  0x00000943 
- 00016707  0x00003841 call  0x00006413 
- 00016708  0x00003842 branch  0x0000411a 
- 00016709  0x00003846 fetcht  0x00000001 , 0x000046dc 
- 00016710  0x00003847 call  0x00006829 
- 00016711  0x00003848 call  0x00007ec1 
- 00016712  0x00003849 fetcht  0x00000001 , 0x000046dc 
- 00016713  0x0000384a call  0x00006825 
- 00016714  0x0000384b branch  0x00007ec1 
- 00016715  0x0000384e jam  0x00000005 , 0x000046e0 
- 00016716  0x0000384f setarg  0x0000ba41 
- 00016717  0x00003850 call  0x00006405 
- 00016718  0x00003851 setarg  0x00000d11 
- 00016719  0x00003852 call  0x00006405 
- 00016720  0x00003853 setarg  0x0000041b 
- 00016721  0x00003854 call  0x00006405 
- 00016722  0x00003855 setarg  0x0000041c 
- 00016723  0x00003856 call  0x00006405 
- 00016724  0x00003857 setarg  0x00000f1d 
- 00016725  0x00003858 call  0x00006405 
- 00016726  0x00003859 setarg  0x00000032 
- 00016727  0x0000385a call  0x00006405 
- 00016728  0x0000385b setarg  0x0000b541 
- 00016729  0x0000385c branch  0x00006405 
- 00016730  0x00003861 setarg  0x0000ba41 
- 00016731  0x00003862 call  0x00006405 
- 00016732  0x00003863 nop  0x00000fa0 
- 00016733  0x00003864 setarg  0x0000ff7f 
- 00016734  0x00003865 call  0x00006405 
- 00016735  0x00003866 copy  0x00000011 , 0x0000003f 
- 00016736  0x00003867 call  0x00006405 
- 00016737  0x00003868 setarg  0x0000007f 
- 00016738  0x00003869 call  0x00006405 
- 00016739  0x0000386a setarg  0x0000b541 
- 00016740  0x0000386b branch  0x00006405 
- 00016741  0x0000386e rtnbit0  0x00000007 
- 00016742  0x0000386f arg  0x0000ff00 , 0x00000002 
- 00016743  0x00003870 ior  0x00000002 , 0x0000003f 
- 00016744  0x00003871 rtn 
- 00016745  0x00003874 rtnbit0  0x00000003 
- 00016746  0x00003875 arg  0x000000f0 , 0x00000002 
- 00016747  0x00003876 ior  0x00000002 , 0x0000003f 
- 00016748  0x00003877 rtn 
- 00016749  0x0000387b call  0x00005892 
- 00016750  0x0000387c nrtn  0x00000034 
- 00016751  0x0000387d fetch  0x00000001 , 0x000046c5 
- 00016752  0x0000387e and  0x0000003f , 0x00000003 , 0x0000003f 
- 00016753  0x0000387f rtnne  0x00000003 
- 00016754  0x00003880 fetch  0x00000004 , 0x000046d3 
- 00016755  0x00003881 bbit1  0x00000003 , 0x00004179 
- 00016756  0x00003882 bbit1  0x00000000 , 0x00004179 
- 00016757  0x00003883 bbit1  0x00000005 , 0x00004179 
- 00016758  0x00003884 call  0x00003f97 
- 00016759  0x00003885 nrtn  0x00000028 
- 00016760  0x00003886 branch  0x00003f90 
- 00016761  0x00003889 setarg  0x00000000 
- 00016762  0x0000388a store  0x00000007 , 0x0000469a 
- 00016763  0x0000388b branch  0x00003f90 
- 00016764  0x0000388e copy  0x00000013 , 0x0000003f 
- 00016765  0x0000388f beq  0x00000014 , 0x000041c3 
- 00016766  0x00003890 beq  0x00000001 , 0x000042ca 
- 00016767  0x00003891 beq  0x00000015 , 0x000041d9 
- 00016768  0x00003892 beq  0x00000002 , 0x000041d9 
- 00016769  0x00003893 beq  0x00000005 , 0x000041d6 
- 00016770  0x00003894 beq  0x00000010 , 0x0000426c 
- 00016771  0x00003895 beq  0x00000012 , 0x0000429b 
- 00016772  0x00003896 beq  0x00000006 , 0x000041d5 
- 00016773  0x00003897 beq  0x00000004 , 0x000041cc 
- 00016774  0x00003898 beq  0x00000013 , 0x000041cc 
- 00016775  0x00003899 beq  0x0000000a , 0x000041ca 
- 00016776  0x0000389a beq  0x0000002e , 0x000033cd 
- 00016777  0x0000389b beq  0x00000031 , 0x000041b4 
- 00016778  0x0000389c beq  0x00000032 , 0x000041b6 
- 00016779  0x0000389d beq  0x0000003e , 0x00004191 
- 00016780  0x0000389e beq  0x00000027 , 0x0000438e 
- 00016781  0x0000389f beq  0x00000039 , 0x0000419c 
- 00016782  0x000038a0 beq  0x0000003a , 0x00004192 
- 00016783  0x000038a1 beq  0x0000003c , 0x0000419a 
- 00016784  0x000038a2 rtn 
- 00016785  0x000038a6 branch  0x00003410 
- 00016786  0x000038a9 jam  0x00000001 , 0x0000478b 
- 00016787  0x000038aa fetch  0x00000001 , 0x0000471e 
- 00016788  0x000038ab nbranch  0x00004492 , 0x00000034 
- 00016789  0x000038ac fetch  0x00000001 , 0x00004720 
- 00016790  0x000038ad fetcht  0x00000001 , 0x00004703 
- 00016791  0x000038ae isub  0x00000002 , 0x0000003e 
- 00016792  0x000038af branch  0x0000340a , 0x00000005 
- 00016793  0x000038b0 rtn 
- 00016794  0x000038b2 jam  0x00000001 , 0x0000478b 
- 00016795  0x000038b3 rtn 
- 00016796  0x000038b5 jam  0x00000001 , 0x0000478b 
- 00016797  0x000038b6 arg  0x00000003 , 0x00000007 
- 00016798  0x000038b7 call  0x000043d2 
- 00016799  0x000038b8 setarg  0x00000000 
- 00016800  0x000038b9 store  0x00000002 , 0x00004707 
- 00016801  0x000038ba jam  0x00000000 , 0x000046a7 
- 00016802  0x000038bc fetch  0x00000001 , 0x000046e0 
- 00016803  0x000038bd sub  0x0000003f , 0x00000005 , 0x0000003e 
- 00016804  0x000038be call  0x00004039 , 0x00000005 
- 00016805  0x000038bf ncall  0x0000405d , 0x00000005 
- 00016806  0x000038c1 fetch  0x00000001 , 0x00000004 , 0x000046d3 
- 00016807  0x000038c2 bbit1  0x00000013 , 0x000041af 
- 00016808  0x000038c3 call  0x000041aa 
- 00016809  0x000038c4 branch  0x000065d1 
- 00016810  0x000038c7 call  0x00002c7a 
- 00016811  0x000038c8 add  0x00000013 , 0x000000ae , 0x00000011 
- 00016812  0x000038c9 arg  0x0000005b , 0x00000012 
- 00016813  0x000038ca arg  0x00000004 , 0x00000002 
- 00016814  0x000038cb rtn 
- 00016815  0x000038ce call  0x00002c7a 
- 00016816  0x000038cf add  0x00000013 , 0x000000ae , 0x00000012 
- 00016817  0x000038d0 ifetch  0x00000001 , 0x00000012 
- 00016818  0x000038d1 store  0x00000001 , 0x0000477b 
- 00016819  0x000038d2 branch  0x00004435 
- 00016820  0x000038d6 arg  0x00000002 , 0x00000007 
- 00016821  0x000038d7 branch  0x000041b9 
- 00016822  0x000038d9 jam  0x00000002 , 0x000046c6 
- 00016823  0x000038da arg  0x00000001 , 0x00000007 
- 00016824  0x000038db branch  0x000041b9 
- 00016825  0x000038df fetch  0x00000001 , 0x000046c5 
- 00016826  0x000038e0 qset1  0x0000003f 
- 00016827  0x000038e1 store  0x00000001 , 0x000046c5 
- 00016828  0x000038e2 rtn 
- 00016829  0x000038e5 fetch  0x00000001 , 0x000046c5 
- 00016830  0x000038e6 qset0  0x0000003f 
- 00016831  0x000038e7 store  0x00000001 , 0x000046c5 
- 00016832  0x000038e8 rtn 
- 00016833  0x000038ea jam  0x00000000 , 0x000046c5 
- 00016834  0x000038eb rtn 
- 00016835  0x000038ee fetch  0x00000002 , 0x0000420a 
- 00016836  0x000038ef set0  0x00000000 , 0x0000003f 
- 00016837  0x000038f0 store  0x00000002 , 0x0000420a 
- 00016838  0x000038f1 setarg  0x00000000 
- 00016839  0x000038f2 store  0x00000002 , 0x000046ae 
- 00016840  0x000038f3 call  0x00003f8d 
- 00016841  0x000038f4 branch  0x000042ca 
- 00016842  0x000038f7 call  0x000063cb 
- 00016843  0x000038f8 branch  0x000033dd 
- 00016844  0x000038fb fetch  0x00000001 , 0x0000471e 
- 00016845  0x000038fc nbranch  0x00004492 , 0x00000034 
- 00016846  0x000038fd fetch  0x00000002 , 0x00004682 
- 00016847  0x000038fe bbit1  0x0000000c , 0x000042b0 
- 00016848  0x000038ff fetch  0x00000004 , 0x000046d3 
- 00016849  0x00003900 bbit1  0x00000000 , 0x000041d7 
- 00016850  0x00003901 bbit1  0x00000005 , 0x000042b0 
- 00016851  0x00003902 bbit1  0x00000003 , 0x00002ead 
- 00016852  0x00003903 branch  0x000033a7 
- 00016853  0x00003907 branch  0x00003f74 
- 00016854  0x0000390a rtn 
- 00016855  0x0000390d call  0x000043c0 
- 00016856  0x0000390e branch  0x0000659a 
- 00016857  0x00003911 bpatch  0x000000e9 , 0x0000401d 
- 00016858  0x00003912 call  0x000041e7 
- 00016859  0x00003913 fetch  0x00000004 , 0x000046d3 
- 00016860  0x00003914 bbit1  0x00000000 , 0x000041d7 
- 00016861  0x00003915 bbit1  0x00000003 , 0x00002ead 
- 00016862  0x00003916 fetch  0x00000001 , 0x0000471e 
- 00016863  0x00003917 nbranch  0x00004492 , 0x00000034 
- 00016864  0x00003918 fetch  0x00000002 , 0x00004208 
- 00016865  0x00003919 bbit1  0x00000007 , 0x000041f5 
- 00016866  0x0000391a bbit1  0x00000000 , 0x000033a9 
- 00016867  0x0000391b bbit1  0x00000001 , 0x000041ef 
- 00016868  0x0000391c bbit1  0x00000002 , 0x000041f2 
- 00016869  0x0000391d bbit1  0x00000003 , 0x000041f2 
- 00016870  0x0000391e branch  0x000042b0 
- 00016871  0x00003920 setarg  0x00000000 
- 00016872  0x00003921 store  0x00000008 , 0x000046b7 
- 00016873  0x00003922 istore  0x00000004 , 0x00000005 
- 00016874  0x00003923 jam  0x00000000 , 0x000046b4 
- 00016875  0x00003924 jam  0x00000000 , 0x000046a7 
- 00016876  0x00003925 jam  0x00000000 , 0x000041e2 
- 00016877  0x00003926 jam  0x00000000 , 0x00004429 
- 00016878  0x00003927 rtn 
- 00016879  0x0000392a bbit1  0x00000005 , 0x000041f2 
- 00016880  0x0000392b bbit1  0x00000003 , 0x000041f2 
- 00016881  0x0000392c branch  0x000042b0 
- 00016882  0x0000392e fetch  0x00000002 , 0x00004682 
- 00016883  0x0000392f bbit1  0x0000000c , 0x000042b0 
- 00016884  0x00003930 branch  0x000033a7 
- 00016885  0x00003933 call  0x000041c1 
- 00016886  0x00003934 fetch  0x00000002 , 0x00004208 
- 00016887  0x00003935 bbit1  0x00000000 , 0x000033a9 
- 00016888  0x00003936 branch  0x000033a7 
- 00016889  0x00003939 call  0x000043d6 
- 00016890  0x0000393a call  0x00004243 
- 00016891  0x0000393b call  0x00004246 
- 00016892  0x0000393c call  0x00004250 
- 00016893  0x0000393d call  0x0000445d 
- 00016894  0x0000393f call  0x00004443 
- 00016895  0x00003940 call  0x00004333 
- 00016896  0x00003941 call  0x000043a5 
- 00016897  0x00003942 call  0x000043eb 
- 00016898  0x00003943 call  0x00004209 
- 00016899  0x00003944 call  0x00004231 
- 00016900  0x00003945 call  0x00004234 
- 00016901  0x00003946 call  0x00004237 
- 00016902  0x00003947 call  0x0000423a 
- 00016903  0x00003948 call  0x0000423d 
- 00016904  0x00003949 branch  0x00004240 
- 00016905  0x0000394e fetch  0x00000001 , 0x00004711 
- 00016906  0x0000394f rtn  0x00000034 
- 00016907  0x00003950 increase  0xffffffff , 0x0000003f 
- 00016908  0x00003951 store  0x00000001 , 0x00004711 
- 00016909  0x00003952 nrtn  0x00000034 
- 00016910  0x00003953 branch  0x0000420f 
- 00016911  0x00003955 fetch  0x00000001 , 0x00004712 
- 00016912  0x00003956 rtneq  0x00000000 
- 00016913  0x00003957 beq  0x00000005 , 0x00004216 
- 00016914  0x00003959 call  0x00004225 
- 00016915  0x0000395a jam  0x00000005 , 0x00004712 
- 00016916  0x0000395b jam  0x00000005 , 0x00004711 
- 00016917  0x0000395c rtn 
- 00016918  0x0000395e call  0x0000422c 
- 00016919  0x0000395f jam  0x00000004 , 0x00004712 
- 00016920  0x00003960 jam  0x00000005 , 0x00004711 
- 00016921  0x00003961 rtn 
- 00016922  0x00003965 setarg  0x00008006 
- 00016923  0x00003966 call  0x00006413 
- 00016924  0x00003967 nop  0x000003e8 
- 00016925  0x00003968 jam  0x00000000 , 0x00004711 
- 00016926  0x00003969 jam  0x00000000 , 0x00004712 
- 00016927  0x0000396a branch  0x000040e0 
- 00016928  0x0000396d setarg  0x0000a006 
- 00016929  0x0000396e call  0x00006413 
- 00016930  0x0000396f setarg  0x0000a005 
- 00016931  0x00003970 branch  0x00006413 
- 00016932  0x00003972 jam  0x00000000 , 0x00004711 
- 00016933  0x00003974 fetch  0x00000001 , 0x000046e0 
- 00016934  0x00003975 beq  0x00000004 , 0x00004220 
- 00016935  0x00003976 setarg  0x00000106 
- 00016936  0x00003977 call  0x00006413 
- 00016937  0x00003978 setarg  0x0000a105 
- 00016938  0x00003979 branch  0x00006413 
- 00016939  0x0000397c jam  0x00000000 , 0x00004711 
- 00016940  0x0000397e setarg  0x00000906 
- 00016941  0x0000397f branch  0x00006413 
- 00016942  0x00003981 jam  0x00000005 , 0x00004711 
- 00016943  0x00003982 jam  0x00000001 , 0x00004712 
- 00016944  0x00003983 rtn 
- 00016945  0x00003986 arg  0x00004680 , 0x00000013 
- 00016946  0x00003987 arg  0x0000429b , 0x00000012 
- 00016947  0x00003988 branch  0x0000336d 
- 00016948  0x0000398b arg  0x000046ac , 0x00000013 
- 00016949  0x0000398c arg  0x00004264 , 0x00000012 
- 00016950  0x0000398d branch  0x00003374 
- 00016951  0x00003990 arg  0x000046ae , 0x00000013 
- 00016952  0x00003991 arg  0x00004266 , 0x00000012 
- 00016953  0x00003992 branch  0x00003374 
- 00016954  0x00003995 arg  0x000046b0 , 0x00000013 
- 00016955  0x00003996 arg  0x0000426a , 0x00000012 
- 00016956  0x00003997 branch  0x00003374 
- 00016957  0x0000399a arg  0x000046c4 , 0x00000013 
- 00016958  0x0000399b arg  0x00004478 , 0x00000012 
- 00016959  0x0000399c branch  0x0000336d 
- 00016960  0x000039a1 arg  0x000046c6 , 0x00000013 
- 00016961  0x000039a2 arg  0x0000425e , 0x00000012 
- 00016962  0x000039a3 branch  0x0000336d 
- 00016963  0x000039a6 arg  0x00004704 , 0x00000013 
- 00016964  0x000039a7 arg  0x00004249 , 0x00000012 
- 00016965  0x000039a8 branch  0x0000336d 
- 00016966  0x000039ab arg  0x00004707 , 0x00000013 
- 00016967  0x000039ac arg  0x00004249 , 0x00000012 
- 00016968  0x000039ad branch  0x00003374 
- 00016969  0x000039b0 rtn 
- 00016970  0x000039b4 fetch  0x00000004 , 0x000046d3 
- 00016971  0x000039b5 rtnbit0  0x00000017 
- 00016972  0x000039b6 jam  0x0000000a , 0x000046df 
- 00016973  0x000039b7 fetch  0x00000001 , 0x000046f4 
- 00016974  0x000039b8 store  0x00000001 , 0x00004715 
- 00016975  0x000039b9 rtn 
- 00016976  0x000039bd arg  0x000046df , 0x00000013 
- 00016977  0x000039be arg  0x00004253 , 0x00000012 
- 00016978  0x000039bf branch  0x0000336d 
- 00016979  0x000039c1 fetch  0x00000001 , 0x000046f4 
- 00016980  0x000039c2 store  0x00000001 , 0x00004715 
- 00016981  0x000039c3 setarg  0x00000190 
- 00016982  0x000039c4 store  0x00000002 , 0x00004716 
- 00016983  0x000039c5 store  0x00000002 , 0x00004718 
- 00016984  0x000039c6 arg  0x00000000 , 0x00000011 
- 00016985  0x000039c7 fetcht  0x00000001 , 0x0000477a 
- 00016986  0x000039c8 increase  0x00000001 , 0x00000002 
- 00016987  0x000039c9 storet  0x00000001 , 0x00004714 
- 00016988  0x000039ca jam  0x00000001 , 0x00004713 
- 00016989  0x000039cb rtn 
- 00016990  0x000039ce fetch  0x00000001 , 0x000046c5 
- 00016991  0x000039cf rtnbit1  0x00000002 
- 00016992  0x000039d0 jam  0x00000012 , 0x00000a99 
- 00016993  0x000039d1 call  0x00007d8f 
- 00016994  0x000039d2 arg  0x00000000 , 0x00000007 
- 00016995  0x000039d3 branch  0x000041b9 
- 00016996  0x000039d7 call  0x000042ca 
- 00016997  0x000039d8 branch  0x0000340a 
- 00016998  0x000039db call  0x000033f6 
- 00016999  0x000039dc fetch  0x00000001 , 0x0000471e 
- 00017000  0x000039dd nbranch  0x00004492 , 0x00000034 
- 00017001  0x000039de branch  0x0000340a 
- 00017002  0x000039e1 bmark1  0x00000026 , 0x00007e1d 
- 00017003  0x000039e2 branch  0x00004386 
- 00017004  0x000039e7 bpatch  0x000000ea , 0x0000401d 
- 00017005  0x000039e8 jam  0x00000000 , 0x000046b4 
- 00017006  0x000039e9 call  0x00004386 
- 00017007  0x000039ea call  0x000041c1 
- 00017008  0x000039eb branch  0x000042b0 
- 00017009  0x000039f0 fetch  0x00000006 , 0x000041d0 
- 00017010  0x000039f1 branch  0x000033eb , 0x00000034 
- 00017011  0x000039f2 call  0x0000427e 
- 00017012  0x000039f3 jam  0x00000017 , 0x0000016d 
- 00017013  0x000039f4 fetch  0x00000001 , 0x0000465a 
- 00017014  0x000039f5 nbranch  0x000033e1 , 0x00000034 
- 00017015  0x000039f6 jam  0x00000004 , 0x0000016d 
- 00017016  0x000039f7 branch  0x000033e1 
- 00017017  0x000039fa fetch  0x00000002 , 0x000046a8 
- 00017018  0x000039fb store  0x00000002 , 0x000046ae 
- 00017019  0x000039fc call  0x0000427e 
- 00017020  0x000039fd call  0x00003418 
- 00017021  0x000039fe branch  0x00007df4 
- 00017022  0x00003a01 setarg  0x000000c8 
- 00017023  0x00003a02 store  0x00000002 , 0x00004716 
- 00017024  0x00003a03 store  0x00000002 , 0x00004718 
- 00017025  0x00003a04 branch  0x00004285 
- 00017026  0x00003a07 setarg  0x000003e8 
- 00017027  0x00003a08 store  0x00000002 , 0x00004716 
- 00017028  0x00003a09 store  0x00000002 , 0x00004718 
- 00017029  0x00003a0b fetch  0x00000001 , 0x00004720 
- 00017030  0x00003a0c beq  0x00000001 , 0x0000428a 
- 00017031  0x00003a0d beq  0x00000002 , 0x0000428c 
- 00017032  0x00003a0e beq  0x00000003 , 0x0000428e 
- 00017033  0x00003a0f rtn 
- 00017034  0x00003a11 fetch  0x00000001 , 0x000046f0 
- 00017035  0x00003a12 branch  0x0000428f 
- 00017036  0x00003a14 fetch  0x00000001 , 0x000046f1 
- 00017037  0x00003a15 branch  0x0000428f 
- 00017038  0x00003a17 fetch  0x00000001 , 0x000046f2 
- 00017039  0x00003a19 store  0x00000001 , 0x00000aa2 
- 00017040  0x00003a1a call  0x00004482 
- 00017041  0x00003a1b fetch  0x00000001 , 0x00000aa2 
- 00017042  0x00003a1c store  0x00000001 , 0x00004715 
- 00017043  0x00003a1d arg  0x00000000 , 0x00000011 
- 00017044  0x00003a1e jam  0x00000001 , 0x00004713 
- 00017045  0x00003a1f branch  0x00007d1e 
- 00017046  0x00003a22 arg  0x00000000 , 0x00000011 
- 00017047  0x00003a23 branch  0x00007d19 
- 00017048  0x00003a25 arg  0x00000000 , 0x00000011 
- 00017049  0x00003a26 branch  0x00007d14 
- 00017050  0x00003a29 branch  0x000041c1 
- 00017051  0x00003a2c jam  0x00000001 , 0x000041e2 
- 00017052  0x00003a2d call  0x00003416 
- 00017053  0x00003a2e call  0x00003412 
- 00017054  0x00003a2f setarg  0x00000000 
- 00017055  0x00003a30 store  0x00000002 , 0x0000467e 
- 00017056  0x00003a31 store  0x00000001 , 0x00004680 
- 00017057  0x00003a32 branch  0x0000340e 
- 00017058  0x00003a35 call  0x0000435f 
- 00017059  0x00003a36 fetch  0x00000001 , 0x00004720 
- 00017060  0x00003a37 fetcht  0x00000001 , 0x00004703 
- 00017061  0x00003a38 isub  0x00000002 , 0x0000003e 
- 00017062  0x00003a39 branch  0x000042ab , 0x00000005 
- 00017063  0x00003a3a fetch  0x00000001 , 0x00004210 
- 00017064  0x00003a3b beq  0x00000033 , 0x00004271 
- 00017065  0x00003a3c beq  0x00000034 , 0x00004279 
- 00017066  0x00003a3d branch  0x000042b0 
- 00017067  0x00003a3f call  0x00003d57 
- 00017068  0x00003a40 rtnmark1  0x00000026 
- 00017069  0x00003a41 fetch  0x00000001 , 0x0000471e 
- 00017070  0x00003a42 nbranch  0x00004492 , 0x00000034 
- 00017071  0x00003a43 rtn 
- 00017072  0x00003a46 bpatch  0x000000eb , 0x0000401d 
- 00017073  0x00003a47 fetch  0x00000002 , 0x00004682 
- 00017074  0x00003a48 bbit1  0x0000000b , 0x000042b7 
- 00017075  0x00003a49 fetch  0x00000004 , 0x000046d3 
- 00017076  0x00003a4a bbit0  0x00000018 , 0x000042b7 
- 00017077  0x00003a4b random  0x0000003f 
- 00017078  0x00003a4c store  0x00000001 , 0x000044a1 
- 00017079  0x00003a4e call  0x00003418 
- 00017080  0x00003a4f fetch  0x00000002 , 0x00004687 
- 00017081  0x00003a50 store  0x00000002 , 0x000046ac 
- 00017082  0x00003a51 jam  0x00000006 , 0x0000016d 
- 00017083  0x00003a52 setarg  0x00000000 
- 00017084  0x00003a53 store  0x00000002 , 0x000046b0 
- 00017085  0x00003a54 store  0x00000002 , 0x000046ae 
- 00017086  0x00003a55 arg  0x00000007 , 0x00000007 
- 00017087  0x00003a56 call  0x000043ce 
- 00017088  0x00003a57 call  0x000043ca 
- 00017089  0x00003a58 fetch  0x00000001 , 0x00004092 
- 00017090  0x00003a59 isolate1  0x00000001 , 0x0000003f 
- 00017091  0x00003a5a call  0x00007df4 , 0x00000001 
- 00017092  0x00003a5b fetch  0x00000001 , 0x00004092 
- 00017093  0x00003a5c isolate1  0x00000000 , 0x0000003f 
- 00017094  0x00003a5d call  0x00007ddd , 0x00000001 
- 00017095  0x00003a5e fetch  0x00000004 , 0x000046d3 
- 00017096  0x00003a5f bbit1  0x0000001c , 0x0000422e 
- 00017097  0x00003a60 branch  0x00004282 
- 00017098  0x00003a63 bpatch  0x000000ec , 0x0000401d 
- 00017099  0x00003a64 fetch  0x00000001 , 0x00004092 
- 00017100  0x00003a65 isolate1  0x00000001 , 0x0000003f 
- 00017101  0x00003a66 call  0x000042d4 , 0x00000001 
- 00017102  0x00003a67 fetch  0x00000001 , 0x00004092 
- 00017103  0x00003a68 isolate1  0x00000000 , 0x0000003f 
- 00017104  0x00003a69 call  0x000042d7 , 0x00000001 
- 00017105  0x00003a6a fetch  0x00000004 , 0x000046d3 
- 00017106  0x00003a6b bbit1  0x0000001c , 0x0000421a 
- 00017107  0x00003a6c branch  0x00004482 
- 00017108  0x00003a6e setarg  0x00000000 
- 00017109  0x00003a6f store  0x00000002 , 0x000046ae 
- 00017110  0x00003a70 branch  0x00007dfa 
- 00017111  0x00003a72 setarg  0x00000000 
- 00017112  0x00003a73 store  0x00000002 , 0x000046ac 
- 00017113  0x00003a74 branch  0x00007de2 
- 00017114  0x00003a7b fetch  0x00000004 , 0x000046d3 
- 00017115  0x00003a7c rtnbit0  0x00000007 
- 00017116  0x00003a7d arg  0x00000007 , 0x00000007 
- 00017117  0x00003a7e call  0x000043d2 
- 00017118  0x00003a7f call  0x000042e8 
- 00017119  0x00003a81 call  0x000042fb 
- 00017120  0x00003a82 fetch  0x00000004 , 0x000046d3 
- 00017121  0x00003a83 bbit1  0x00000013 , 0x00004435 
- 00017122  0x00003a84 bbit1  0x00000014 , 0x000042e4 
- 00017123  0x00003a85 rtn 
- 00017124  0x00003a87 arg  0x00000058 , 0x00000002 
- 00017125  0x00003a88 arg  0x00004720 , 0x00000011 
- 00017126  0x00003a89 arg  0x00000000 , 0x00000012 
- 00017127  0x00003a8a branch  0x000065d1 
- 00017128  0x00003a8d fetch  0x00000001 , 0x00000185 
- 00017129  0x00003a8e beq  0x00000034 , 0x000042ec 
- 00017130  0x00003a8f beq  0x00000033 , 0x000042ef 
- 00017131  0x00003a90 rtn 
- 00017132  0x00003a92 store  0x00000001 , 0x000046c7 
- 00017133  0x00003a93 fetch  0x00000006 , 0x0000044f 
- 00017134  0x00003a94 branch  0x000042f1 
- 00017135  0x00003a96 store  0x00000001 , 0x000046c7 
- 00017136  0x00003a97 fetch  0x00000006 , 0x00000040 
- 00017137  0x00003a99 store  0x00000006 , 0x000046c8 
- 00017138  0x00003a9a fetch  0x00000007 , 0x000046c7 
- 00017139  0x00003a9b arg  0x00004721 , 0x00000006 
- 00017140  0x00003a9c arg  0x00000003 , 0x00000039 
- 00017141  0x00003a9e ifetcht  0x00000007 , 0x00000006 
- 00017142  0x00003a9f isub  0x00000002 , 0x0000003e 
- 00017143  0x00003aa0 branch  0x00004310 , 0x00000005 
- 00017144  0x00003aa1 increase  0x00000016 , 0x00000006 
- 00017145  0x00003aa2 loop  0x000042f5 
- 00017146  0x00003aa3 rtn 
- 00017147  0x00003aa5 arg  0x00004721 , 0x00000011 
- 00017148  0x00003aa6 fetch  0x00000001 , 0x00004720 
- 00017149  0x00003aa7 increase  0xffffffff , 0x0000003f 
- 00017150  0x00003aa8 mul32  0x0000003f , 0x0000001d , 0x0000003f 
- 00017151  0x00003aa9 iadd  0x00000011 , 0x00000011 
- 00017152  0x00003aaa fetch  0x00000001 , 0x00000185 
- 00017153  0x00003aab istore  0x00000001 , 0x00000011 
- 00017154  0x00003aac beq  0x00000034 , 0x00004305 
- 00017155  0x00003aad beq  0x00000033 , 0x0000430c 
- 00017156  0x00003aae rtn 
- 00017157  0x00003ab1 fetch  0x00000006 , 0x0000044f 
- 00017158  0x00003ab2 istore  0x00000006 , 0x00000005 
- 00017159  0x00003ab3 arg  0x00004419 , 0x00000006 
- 00017160  0x00003ab4 call  0x00007ebf 
- 00017161  0x00003ab5 fetch  0x00000006 , 0x000044a0 
- 00017162  0x00003ab6 istore  0x00000006 , 0x00000005 
- 00017163  0x00003ab7 rtn 
- 00017164  0x00003ab9 fetch  0x00000006 , 0x00000040 
- 00017165  0x00003aba istore  0x00000006 , 0x00000005 
- 00017166  0x00003abb arg  0x000041be , 0x00000006 
- 00017167  0x00003abc branch  0x00007ebf 
- 00017168  0x00003abf increase  0xfffffffa , 0x00000006 
- 00017169  0x00003ac0 copy  0x00000006 , 0x00000005 
- 00017170  0x00003ac1 fetcht  0x00000006 , 0x000046c8 
- 00017171  0x00003ac2 increase  0x00000003 , 0x00000002 
- 00017172  0x00003ac3 istoret  0x00000006 , 0x00000005 
- 00017173  0x00003ac4 rtn 
- 00017174  0x00003ac9 arg  0x00000058 , 0x00000002 
- 00017175  0x00003aca arg  0x00004720 , 0x00000011 
- 00017176  0x00003acb arg  0x00000000 , 0x00000012 
- 00017177  0x00003acc call  0x000065df 
- 00017178  0x00003ace arg  0x00004721 , 0x00000011 
- 00017179  0x00003acf fetch  0x00000001 , 0x00004720 
- 00017180  0x00003ad0 fetcht  0x00000001 , 0x00004703 
- 00017181  0x00003ad1 isub  0x00000002 , 0x0000003e 
- 00017182  0x00003ad2 rtn  0x00000005 
- 00017183  0x00003ad3 increase  0xffffffff , 0x0000003f 
- 00017184  0x00003ad4 mul32  0x0000003f , 0x0000001d , 0x0000003f 
- 00017185  0x00003ad5 iadd  0x00000011 , 0x00000011 
- 00017186  0x00003ad6 ifetch  0x00000001 , 0x00000011 
- 00017187  0x00003ad7 store  0x00000001 , 0x00004210 
- 00017188  0x00003ad8 beq  0x00000033 , 0x00004327 
- 00017189  0x00003ad9 beq  0x00000034 , 0x0000432c 
- 00017190  0x00003ada rtn 
- 00017191  0x00003add ifetch  0x00000006 , 0x00000006 
- 00017192  0x00003adf store  0x00000006 , 0x000041d0 
- 00017193  0x00003ae0 arg  0x000041be , 0x00000005 
- 00017194  0x00003ae1 call  0x00007ebf 
- 00017195  0x00003ae2 branch  0x000067d7 
- 00017196  0x00003ae5 ifetch  0x00000006 , 0x00000006 
- 00017197  0x00003ae7 store  0x00000006 , 0x000041d0 
- 00017198  0x00003ae8 arg  0x00004419 , 0x00000005 
- 00017199  0x00003ae9 call  0x00007ebf 
- 00017200  0x00003aea ifetch  0x00000006 , 0x00000006 
- 00017201  0x00003aeb store  0x00000006 , 0x000044a0 
- 00017202  0x00003aec rtn 
- 00017203  0x00003af0 fetch  0x00000001 , 0x000046f5 
- 00017204  0x00003af1 bbit1  0x00000005 , 0x00004349 
- 00017205  0x00003af2 bbit1  0x00000006 , 0x00004359 
- 00017206  0x00003af3 branch  0x00004337 
- 00017207  0x00003af6 call  0x00004083 
- 00017208  0x00003af7 beq  0x00000006 , 0x0000433e 
- 00017209  0x00003af9 jam  0x0000001e , 0x000046d8 
- 00017210  0x00003afa fetch  0x00000001 , 0x000046d9 
- 00017211  0x00003afb rtneq  0x00000001 
- 00017212  0x00003afc jam  0x00000001 , 0x000046d9 
- 00017213  0x00003afd rtn 
- 00017214  0x00003b00 call  0x00004343 
- 00017215  0x00003b01 fetch  0x00000001 , 0x000046d9 
- 00017216  0x00003b02 rtneq  0x00000000 
- 00017217  0x00003b03 jam  0x00000000 , 0x000046d9 
- 00017218  0x00003b04 branch  0x000043c0 
- 00017219  0x00003b07 fetch  0x00000001 , 0x000046d8 
- 00017220  0x00003b08 rtn  0x00000034 
- 00017221  0x00003b09 pincrease  0xffffffff 
- 00017222  0x00003b0a store  0x00000001 , 0x000046d8 
- 00017223  0x00003b0b nrtn  0x00000034 
- 00017224  0x00003b0c branch  0x00004370 
- 00017225  0x00003b0f fetch  0x00000001 , 0x000046ed 
- 00017226  0x00003b10 rtneq  0x000000ff 
- 00017227  0x00003b11 fetcht  0x00000001 , 0x000046ed 
- 00017228  0x00003b12 call  0x0000681d 
- 00017229  0x00003b13 branch  0x00004354 , 0x00000001 
- 00017230  0x00003b15 fetch  0x00000001 , 0x000046d9 
- 00017231  0x00003b16 rtneq  0x00000001 
- 00017232  0x00003b17 jam  0x00000001 , 0x000046d9 
- 00017233  0x00003b18 fetch  0x00000004 , 0x000046d3 
- 00017234  0x00003b19 rtnbit1  0x00000006 
- 00017235  0x00003b1a branch  0x00004370 
- 00017236  0x00003b1d fetch  0x00000001 , 0x000046d9 
- 00017237  0x00003b1e rtneq  0x00000000 
- 00017238  0x00003b1f jam  0x00000000 , 0x000046d9 
- 00017239  0x00003b20 arg  0x00000006 , 0x00000007 
- 00017240  0x00003b21 branch  0x000043d2 
- 00017241  0x00003b26 fetch  0x00000001 , 0x00000004 , 0x000046d3 
- 00017242  0x00003b27 rtnbit0  0x00000006 
- 00017243  0x00003b28 fetch  0x00000001 , 0x00004720 
- 00017244  0x00003b29 beq  0x00000001 , 0x00004369 
- 00017245  0x00003b2a beq  0x00000002 , 0x0000436c 
- 00017246  0x00003b2b rtn 
- 00017247  0x00003b2d fetch  0x00000001 , 0x00000004 , 0x000046d3 
- 00017248  0x00003b2e rtnbit0  0x00000006 
- 00017249  0x00003b2f fetcht  0x00000001 , 0x000046ed 
- 00017250  0x00003b30 call  0x0000681d 
- 00017251  0x00003b31 branch  0x00004366 , 0x00000001 
- 00017252  0x00003b33 jam  0x00000001 , 0x00004720 
- 00017253  0x00003b34 rtn 
- 00017254  0x00003b36 fetch  0x00000001 , 0x00004703 
- 00017255  0x00003b37 store  0x00000001 , 0x00004720 
- 00017256  0x00003b38 rtn 
- 00017257  0x00003b3a fetcht  0x00000001 , 0x000046ed 
- 00017258  0x00003b3b nbranch  0x00004370 , 0x00000001 
- 00017259  0x00003b3c rtn 
- 00017260  0x00003b3e fetcht  0x00000001 , 0x000046ed 
- 00017261  0x00003b3f call  0x0000681d 
- 00017262  0x00003b40 branch  0x00004354 , 0x00000001 
- 00017263  0x00003b41 rtn 
- 00017264  0x00003b47 fetcht  0x00000001 , 0x00004720 
- 00017265  0x00003b48 increase  0x00000001 , 0x00000002 
- 00017266  0x00003b49 fetch  0x00000001 , 0x000046d2 
- 00017267  0x00003b4a isub  0x00000002 , 0x0000003e 
- 00017268  0x00003b4b ncall  0x000043cc , 0x00000002 
- 00017269  0x00003b4c storet  0x00000001 , 0x00004720 
- 00017270  0x00003b4d jam  0x00000000 , 0x000041bd 
- 00017271  0x00003b4e call  0x0000437a 
- 00017272  0x00003b4f call  0x000043c0 
- 00017273  0x00003b51 branch  0x0000437e 
- 00017274  0x00003b54 arg  0x00000001 , 0x00000002 
- 00017275  0x00003b55 arg  0x00004720 , 0x00000011 
- 00017276  0x00003b56 arg  0x00000000 , 0x00000012 
- 00017277  0x00003b57 branch  0x00006606 
- 00017278  0x00003b5a call  0x00004381 
- 00017279  0x00003b5b call  0x000043c2 
- 00017280  0x00003b5c branch  0x000041d7 
- 00017281  0x00003b5e fetch  0x00000002 , 0x00004682 
- 00017282  0x00003b5f bbit1  0x00000007 , 0x00004392 
- 00017283  0x00003b60 bbit1  0x00000009 , 0x00003402 
- 00017284  0x00003b61 bbit1  0x00000000 , 0x000033e9 
- 00017285  0x00003b62 branch  0x000042ca 
- 00017286  0x00003b65 bpatch  0x000000ed , 0x0000401d 
- 00017287  0x00003b66 setarg  0x00000000 
- 00017288  0x00003b67 store  0x00000002 , 0x000046b0 
- 00017289  0x00003b68 fetch  0x00000002 , 0x00004682 
- 00017290  0x00003b69 bbit1  0x00000009 , 0x00003402 
- 00017291  0x00003b6a fetch  0x00000002 , 0x00004682 
- 00017292  0x00003b6b bbit1  0x00000000 , 0x000033e9 
- 00017293  0x00003b6c rtn 
- 00017294  0x00003b6f setarg  0x00000001 
- 00017295  0x00003b70 store  0x00000006 , 0x00000040 
- 00017296  0x00003b71 jam  0x00000033 , 0x00000185 
- 00017297  0x00003b72 branch  0x000042df 
- 00017298  0x00003b76 call  0x000043c4 
- 00017299  0x00003b77 branch  0x00007e2f 
- 00017300  0x00003b7a fetch  0x00000001 , 0x000046ec 
- 00017301  0x00003b7b rtneq  0x000000ff 
- 00017302  0x00003b7c fetcht  0x00000001 , 0x000046ec 
- 00017303  0x00003b7d call  0x0000681d 
- 00017304  0x00003b7e branch  0x0000439f , 0x00000001 
- 00017305  0x00003b80 fetch  0x00000001 , 0x00004685 
- 00017306  0x00003b81 store  0x00000001 , 0x000046da 
- 00017307  0x00003b82 fetch  0x00000001 , 0x000046db 
- 00017308  0x00003b83 rtneq  0x00000001 
- 00017309  0x00003b84 jam  0x00000001 , 0x000046db 
- 00017310  0x00003b85 branch  0x000043ca 
- 00017311  0x00003b87 call  0x000043b5 
- 00017312  0x00003b88 fetch  0x00000001 , 0x000046db 
- 00017313  0x00003b89 rtneq  0x00000000 
- 00017314  0x00003b8a jam  0x00000000 , 0x000046db 
- 00017315  0x00003b8b call  0x00007e2f 
- 00017316  0x00003b8c branch  0x000043c8 
- 00017317  0x00003b90 fetch  0x00000001 , 0x000046f5 
- 00017318  0x00003b91 bbit1  0x00000004 , 0x00004394 
- 00017319  0x00003b93 call  0x00004083 
- 00017320  0x00003b94 beq  0x00000007 , 0x000043af 
- 00017321  0x00003b96 fetch  0x00000001 , 0x00004685 
- 00017322  0x00003b97 store  0x00000001 , 0x000046da 
- 00017323  0x00003b98 fetch  0x00000001 , 0x000046db 
- 00017324  0x00003b99 rtneq  0x00000001 
- 00017325  0x00003b9a jam  0x00000001 , 0x000046db 
- 00017326  0x00003b9b branch  0x000043ca 
- 00017327  0x00003b9f call  0x000043b5 
- 00017328  0x00003ba0 fetch  0x00000001 , 0x000046db 
- 00017329  0x00003ba1 rtneq  0x00000000 
- 00017330  0x00003ba2 jam  0x00000000 , 0x000046db 
- 00017331  0x00003ba3 call  0x00007e2f 
- 00017332  0x00003ba4 branch  0x000043c8 
- 00017333  0x00003ba7 arg  0x000046da , 0x00000013 
- 00017334  0x00003ba8 arg  0x000043b8 , 0x00000012 
- 00017335  0x00003ba9 branch  0x0000336d 
- 00017336  0x00003bac arg  0x00000006 , 0x00000007 
- 00017337  0x00003bad call  0x000043ce 
- 00017338  0x00003bae call  0x00003357 
- 00017339  0x00003baf branch  0x0000426c 
- 00017340  0x00003bb3 arg  0x00000001 , 0x00000007 
- 00017341  0x00003bb4 branch  0x000043ce 
- 00017342  0x00003bb6 arg  0x00000001 , 0x00000007 
- 00017343  0x00003bb7 branch  0x000043d2 
- 00017344  0x00003bb9 arg  0x00000000 , 0x00000007 
- 00017345  0x00003bba branch  0x000043ce 
- 00017346  0x00003bbc arg  0x00000000 , 0x00000007 
- 00017347  0x00003bbd branch  0x000043d2 
- 00017348  0x00003bbf arg  0x00000002 , 0x00000007 
- 00017349  0x00003bc0 branch  0x000043ce 
- 00017350  0x00003bc2 arg  0x00000002 , 0x00000007 
- 00017351  0x00003bc3 branch  0x000043d2 
- 00017352  0x00003bc5 arg  0x00000005 , 0x00000007 
- 00017353  0x00003bc6 branch  0x000043ce 
- 00017354  0x00003bc8 arg  0x00000005 , 0x00000007 
- 00017355  0x00003bc9 branch  0x000043d2 
- 00017356  0x00003bce arg  0x00000001 , 0x00000002 
- 00017357  0x00003bcf rtn 
- 00017358  0x00003bd2 fetch  0x00000004 , 0x000046d3 
- 00017359  0x00003bd3 qset1  0x0000003f 
- 00017360  0x00003bd4 store  0x00000004 , 0x000046d3 
- 00017361  0x00003bd5 rtn 
- 00017362  0x00003bd8 fetch  0x00000004 , 0x000046d3 
- 00017363  0x00003bd9 qset0  0x0000003f 
- 00017364  0x00003bda store  0x00000004 , 0x000046d3 
- 00017365  0x00003bdb rtn 
- 00017366  0x00003bde fetch  0x00000004 , 0x000046d3 
- 00017367  0x00003bdf rtnbit0  0x0000001a 
- 00017368  0x00003be0 fetch  0x00000001 , 0x000046ce 
- 00017369  0x00003be1 increase  0x00000001 , 0x0000003f 
- 00017370  0x00003be2 store  0x00000001 , 0x000046ce 
- 00017371  0x00003be3 sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00017372  0x00003be4 rtn  0x00000002 
- 00017373  0x00003be5 jam  0x00000000 , 0x000046ce 
- 00017374  0x00003be6 call  0x000068eb 
- 00017375  0x00003be7 call  0x00006908 
- 00017376  0x00003be8 store  0x00000002 , 0x0000470f 
- 00017377  0x00003be9 arg  0x00004709 , 0x00000011 
- 00017378  0x00003bea call  0x00006930 
- 00017379  0x00003beb fetch  0x00000001 , 0x00004231 
- 00017380  0x00003bec bbit1  0x00000001 , 0x000044a0 
- 00017381  0x00003bed bbit0  0x00000000 , 0x000043e9 
- 00017382  0x00003bee branch  0x000043e7 
- 00017383  0x00003bf0 arg  0x00000004 , 0x00000007 
- 00017384  0x00003bf1 branch  0x000043ce 
- 00017385  0x00003bf3 arg  0x00000004 , 0x00000007 
- 00017386  0x00003bf4 branch  0x000043d2 
- 00017387  0x00003bf7 fetch  0x00000004 , 0x000046d3 
- 00017388  0x00003bf8 rtnbit0  0x00000004 
- 00017389  0x00003bf9 fetch  0x00000001 , 0x000046ef 
- 00017390  0x00003bfa store  0x00000001 , 0x00004715 
- 00017391  0x00003bfb fetch  0x00000001 , 0x000046cf 
- 00017392  0x00003bfc pincrease  0x00000001 
- 00017393  0x00003bfd store  0x00000001 , 0x000046cf 
- 00017394  0x00003bfe sub  0x0000003f , 0x00000014 , 0x0000003e 
- 00017395  0x00003bff ncall  0x000043f9 , 0x00000002 
- 00017396  0x00003c00 beq  0x00000002 , 0x000043fb 
- 00017397  0x00003c01 beq  0x00000004 , 0x000043fe 
- 00017398  0x00003c02 beq  0x00000006 , 0x000043fb 
- 00017399  0x00003c03 beq  0x00000008 , 0x000043fe 
- 00017400  0x00003c04 rtn 
- 00017401  0x00003c06 jam  0x00000001 , 0x000046cf 
- 00017402  0x00003c07 branch  0x000043fe 
- 00017403  0x00003c09 arg  0x00000000 , 0x00000011 
- 00017404  0x00003c0a jam  0x00000002 , 0x00004713 
- 00017405  0x00003c0b branch  0x00007d14 
- 00017406  0x00003c0d arg  0x00000000 , 0x00000011 
- 00017407  0x00003c0e jam  0x00000002 , 0x00004713 
- 00017408  0x00003c0f branch  0x00007d19 
- 00017409  0x00003c12 call  0x00003f97 
- 00017410  0x00003c13 nrtn  0x00000028 
- 00017411  0x00003c14 arg  0x00000007 , 0x00000011 
- 00017412  0x00003c15 arg  0x0000469a , 0x00000012 
- 00017413  0x00003c16 rtn 
- 00017414  0x00003c19 fetch  0x00000001 , 0x0000478b 
- 00017415  0x00003c1a rtn  0x00000034 
- 00017416  0x00003c1c fetcht  0x00000001 , 0x000046e7 
- 00017417  0x00003c1d call  0x0000681d 
- 00017418  0x00003c1e call  0x00004410 , 0x00000001 
- 00017419  0x00003c1f fetch  0x00000001 , 0x00004704 
- 00017420  0x00003c20 nrtn  0x00000034 
- 00017421  0x00003c21 call  0x00004083 
- 00017422  0x00003c22 nrtn  0x00000034 
- 00017423  0x00003c23 branch  0x00002d83 
- 00017424  0x00003c26 fetch  0x00000001 , 0x000046e7 
- 00017425  0x00003c27 rtneq  0x000000ff 
- 00017426  0x00003c28 jam  0x0000000a , 0x00004704 
- 00017427  0x00003c29 rtn 
- 00017428  0x00003c2d call  0x00004423 
- 00017429  0x00003c2e fetch  0x00000002 , 0x00004778 
- 00017430  0x00003c2f arg  0x0000aa55 , 0x00000002 
- 00017431  0x00003c30 isub  0x00000002 , 0x0000003e 
- 00017432  0x00003c31 branch  0x0000442b , 0x00000005 
- 00017433  0x00003c32 storet  0x00000002 , 0x00004778 
- 00017434  0x00003c33 call  0x0000441c 
- 00017435  0x00003c34 branch  0x00004435 
- 00017436  0x00003c36 fetch  0x00000006 , 0x000044a0 
- 00017437  0x00003c37 store  0x00000006 , 0x00004738 
- 00017438  0x00003c38 add  0x0000003f , 0x00000100 , 0x0000003f 
- 00017439  0x00003c39 store  0x00000006 , 0x00004755 
- 00017440  0x00003c3a add  0x0000003f , 0x00000100 , 0x0000003f 
- 00017441  0x00003c3b store  0x00000006 , 0x00004772 
- 00017442  0x00003c3c rtn 
- 00017443  0x00003c40 setarg  0x00004778 
- 00017444  0x00003c41 arg  0x00004720 , 0x00000002 
- 00017445  0x00003c42 isub  0x00000002 , 0x00000002 
- 00017446  0x00003c43 fetch  0x00000003 , 0x00004700 
- 00017447  0x00003c44 iadd  0x00000002 , 0x0000003f 
- 00017448  0x00003c45 arg  0x00000002 , 0x00000002 
- 00017449  0x00003c46 arg  0x00004778 , 0x00000011 
- 00017450  0x00003c47 branch  0x00006562 
- 00017451  0x00003c4b setarg  0x0000477f 
- 00017452  0x00003c4c arg  0x00004720 , 0x00000002 
- 00017453  0x00003c4d isub  0x00000002 , 0x00000002 
- 00017454  0x00003c4e fetch  0x00000003 , 0x00004700 
- 00017455  0x00003c4f arg  0x00004720 , 0x00000011 
- 00017456  0x00003c50 call  0x00006562 
- 00017457  0x00003c51 call  0x0000431a 
- 00017458  0x00003c52 fetch  0x00000004 , 0x0000477b 
- 00017459  0x00003c53 call  0x00002c7a 
- 00017460  0x00003c54 branch  0x0000322c 
- 00017461  0x00003c57 setarg  0x0000477f 
- 00017462  0x00003c58 arg  0x00004720 , 0x00000002 
- 00017463  0x00003c59 isub  0x00000002 , 0x00000002 
- 00017464  0x00003c5a arg  0x00004720 , 0x00000011 
- 00017465  0x00003c5b fetch  0x00000003 , 0x00004700 
- 00017466  0x00003c5c branch  0x00006514 
- 00017467  0x00003c5f arg  0x00000001 , 0x00000002 
- 00017468  0x00003c60 arg  0x0000477a , 0x00000011 
- 00017469  0x00003c61 arg  0x0000005a , 0x00000012 
- 00017470  0x00003c62 branch  0x000065d1 
- 00017471  0x00003c65 arg  0x00000001 , 0x00000002 
- 00017472  0x00003c66 arg  0x0000477a , 0x00000011 
- 00017473  0x00003c67 arg  0x0000005a , 0x00000012 
- 00017474  0x00003c68 branch  0x000065df 
- 00017475  0x00003c6b rtnmark1  0x00000026 
- 00017476  0x00003c6c fetch  0x00000004 , 0x000046d3 
- 00017477  0x00003c6d rtnbit0  0x00000016 
- 00017478  0x00003c6e fetch  0x00000001 , 0x00004705 
- 00017479  0x00003c6f pincrease  0x00000001 
- 00017480  0x00003c70 and  0x0000003f , 0x00000007 , 0x0000003f 
- 00017481  0x00003c71 store  0x00000001 , 0x00004705 
- 00017482  0x00003c72 rtnne  0x00000007 
- 00017483  0x00003c73 fetch  0x00000002 , 0x00004682 
- 00017484  0x00003c74 bbit1  0x00000000 , 0x0000444f 
- 00017485  0x00003c75 bbit1  0x00000009 , 0x0000444f 
- 00017486  0x00003c76 rtn 
- 00017487  0x00003c7c bpatch  0x000000ee , 0x0000401d 
- 00017488  0x00003c7d fetch  0x00000001 , 0x00004706 
- 00017489  0x00003c7e nrtn  0x00000034 
- 00017490  0x00003c7f fetch  0x00000004 , 0x000046d3 
- 00017491  0x00003c80 rtnbit0  0x00000008 
- 00017492  0x00003c81 fetch  0x00000001 , 0x000046a5 
- 00017493  0x00003c82 call  0x000063fb 
- 00017494  0x00003c83 store  0x00000001 , 0x000046a6 
- 00017495  0x00003c84 sub  0x0000003f , 0x00000010 , 0x0000003e 
- 00017496  0x00003c85 branch  0x0000445b , 0x00000002 
- 00017497  0x00003c86 jam  0x00000000 , 0x00004706 
- 00017498  0x00003c87 rtn 
- 00017499  0x00003c8a jam  0x0000001e , 0x00004706 
- 00017500  0x00003c8b rtn 
- 00017501  0x00003c8d arg  0x00004706 , 0x00000013 
- 00017502  0x00003c8e arg  0x00004460 , 0x00000012 
- 00017503  0x00003c8f branch  0x0000336d 
- 00017504  0x00003c92 fetch  0x00000001 , 0x000046a5 
- 00017505  0x00003c93 call  0x00006414 
- 00017506  0x00003c94 sub  0x0000003f , 0x00000010 , 0x0000003e 
- 00017507  0x00003c95 nrtn  0x00000002 
- 00017508  0x00003c96 fetch  0x00000004 , 0x000046d3 
- 00017509  0x00003c97 rtnbit0  0x00000008 
- 00017510  0x00003c98 arg  0x00000008 , 0x00000007 
- 00017511  0x00003c99 call  0x000043d2 
- 00017512  0x00003c9a jam  0x00000000 , 0x00004172 
- 00017513  0x00003c9b jam  0x0000001e , 0x000046c4 
- 00017514  0x00003c9c call  0x00004482 
- 00017515  0x00003c9d fetch  0x00000004 , 0x000046d3 
- 00017516  0x00003c9e bbit1  0x00000015 , 0x00004471 
- 00017517  0x00003ca0 fetch  0x00000001 , 0x00004720 
- 00017518  0x00003ca1 beq  0x00000001 , 0x00004489 
- 00017519  0x00003ca2 beq  0x00000002 , 0x00004476 
- 00017520  0x00003ca3 rtn 
- 00017521  0x00003ca5 fetch  0x00000001 , 0x00004720 
- 00017522  0x00003ca6 beq  0x00000001 , 0x00004489 
- 00017523  0x00003ca7 beq  0x00000002 , 0x0000448c 
- 00017524  0x00003ca8 beq  0x00000003 , 0x0000448f 
- 00017525  0x00003ca9 rtn 
- 00017526  0x00003cac fetch  0x00000001 , 0x000046f0 
- 00017527  0x00003cad branch  0x0000428f 
- 00017528  0x00003cb2 jam  0x00000020 , 0x00004172 
- 00017529  0x00003cb3 branch  0x00004482 
- 00017530  0x00003cb8 fetch  0x00000001 , 0x000046f0 
- 00017531  0x00003cb9 rtneq  0x000000ff 
- 00017532  0x00003cba store  0x00000001 , 0x00004715 
- 00017533  0x00003cbb branch  0x00004296 
- 00017534  0x00003cbe fetch  0x00000001 , 0x000046f1 
- 00017535  0x00003cbf rtneq  0x000000ff 
- 00017536  0x00003cc0 store  0x00000001 , 0x00004715 
- 00017537  0x00003cc1 branch  0x00004296 
- 00017538  0x00003cc4 call  0x00004296 
- 00017539  0x00003cc5 call  0x0000447a 
- 00017540  0x00003cc6 call  0x0000447e 
- 00017541  0x00003cc8 fetch  0x00000001 , 0x000046f2 
- 00017542  0x00003cc9 rtneq  0x000000ff 
- 00017543  0x00003cca store  0x00000001 , 0x00004715 
- 00017544  0x00003ccb branch  0x00004296 
- 00017545  0x00003cce fetch  0x00000001 , 0x000046f0 
- 00017546  0x00003ccf store  0x00000001 , 0x00004715 
- 00017547  0x00003cd0 branch  0x00004298 
- 00017548  0x00003cd2 fetch  0x00000001 , 0x000046f1 
- 00017549  0x00003cd3 store  0x00000001 , 0x00004715 
- 00017550  0x00003cd4 branch  0x00004298 
- 00017551  0x00003cd6 fetch  0x00000001 , 0x000046f2 
- 00017552  0x00003cd7 store  0x00000001 , 0x00004715 
- 00017553  0x00003cd8 branch  0x00004298 
- 00017554  0x00003cdd bpatch  0x000000ef , 0x0000401d 
- 00017555  0x00003cde fetch  0x00000001 , 0x0000471e 
- 00017556  0x00003cdf increase  0xffffffff , 0x0000003f 
- 00017557  0x00003ce0 store  0x00000001 , 0x0000471e 
- 00017558  0x00003ce1 fetcht  0x00000001 , 0x00004720 
- 00017559  0x00003ce2 increase  0x00000001 , 0x00000002 
- 00017560  0x00003ce3 fetch  0x00000001 , 0x000046d2 
- 00017561  0x00003ce4 isub  0x00000002 , 0x0000003e 
- 00017562  0x00003ce5 ncall  0x000043cc , 0x00000002 
- 00017563  0x00003ce6 storet  0x00000001 , 0x00004720 
- 00017564  0x00003ce7 jam  0x00000000 , 0x000041bd 
- 00017565  0x00003ce8 call  0x0000437a 
- 00017566  0x00003ce9 call  0x000042fb 
- 00017567  0x00003cea branch  0x000042a2 
- 00017568  0x00003ced call  0x00004482 
- 00017569  0x00003cee setarg  0x00000000 
- 00017570  0x00003cef store  0x00000008 , 0x000000a1 
- 00017571  0x00003cf0 branch  0x00002b1f 
- 00017572  0x00003cfc rtn  0x0000002b 
- 00017573  0x00003cfd hfetch  0x00000001 , 0x00008081 
- 00017574  0x00003cfe and_into  0x000000f0 , 0x0000003f 
- 00017575  0x00003cff hstore  0x00000001 , 0x00008081 
- 00017576  0x00003d00 call  0x00006948 
- 00017577  0x00003d01 setarg  0x000044e6 
- 00017578  0x00003d02 store  0x00000002 , 0x000041eb 
- 00017579  0x00003d04 setarg  0x000044e9 
- 00017580  0x00003d05 store  0x00000002 , 0x000041ed 
- 00017581  0x00003d07 setarg  0x000044ef 
- 00017582  0x00003d08 store  0x00000002 , 0x000041f3 
- 00017583  0x00003d0a setarg  0x000044f2 
- 00017584  0x00003d0b store  0x00000002 , 0x000041f5 
- 00017585  0x00003d0d setarg  0x000033d0 
- 00017586  0x00003d0e store  0x00000002 , 0x000041e9 
- 00017587  0x00003d10 call  0x00002c7a 
- 00017588  0x00003d11 setarg  0x000045c2 
- 00017589  0x00003d12 add  0x00000013 , 0x000000d8 , 0x00000005 
- 00017590  0x00003d13 istore  0x00000002 , 0x00000005 
- 00017591  0x00003d15 setarg  0x000044ea 
- 00017592  0x00003d16 add  0x00000013 , 0x000000da , 0x00000005 
- 00017593  0x00003d17 istore  0x00000002 , 0x00000005 
- 00017594  0x00003d19 setarg  0x000044e9 
- 00017595  0x00003d1a add  0x00000013 , 0x000000dc , 0x00000005 
- 00017596  0x00003d1b istore  0x00000002 , 0x00000005 
- 00017597  0x00003d1d setarg  0x0000450e 
- 00017598  0x00003d1e store  0x00000002 , 0x000041fd 
- 00017599  0x00003d20 setarg  0x000044da 
- 00017600  0x00003d21 store  0x00000002 , 0x0000475b 
- 00017601  0x00003d23 setarg  0x000044d6 
- 00017602  0x00003d24 store  0x00000002 , 0x0000475f 
- 00017603  0x00003d26 setarg  0x00004560 
- 00017604  0x00003d27 store  0x00000002 , 0x0000470f 
- 00017605  0x00003d29 bpatch  0x000000f0 , 0x0000401e 
- 00017606  0x00003d2a call  0x000044e2 
- 00017607  0x00003d2b call  0x00007e38 
- 00017608  0x00003d2c jam  0x00000002 , 0x00004172 
- 00017609  0x00003d2d fetch  0x00000001 , 0x0000472b 
- 00017610  0x00003d2e store  0x00000001 , 0x0000469a 
- 00017611  0x00003d2f beq  0x00000000 , 0x000044d5 
- 00017612  0x00003d30 fetch  0x00000001 , 0x0000472c 
- 00017613  0x00003d31 store  0x00000001 , 0x00004686 
- 00017614  0x00003d33 call  0x000044db 
- 00017615  0x00003d34 call  0x00007cd3 
- 00017616  0x00003d35 call  0x00007cdd 
- 00017617  0x00003d36 jam  0x00000001 , 0x00004757 
- 00017618  0x00003d37 fetch  0x00000002 , 0x00004682 
- 00017619  0x00003d38 rtnbit1  0x0000000c 
- 00017620  0x00003d39 branch  0x0000340a 
- 00017621  0x00003d3e jam  0x00000002 , 0x00004757 
- 00017622  0x00003d40 call  0x000044db 
- 00017623  0x00003d42 arg  0x00000000 , 0x00000011 
- 00017624  0x00003d43 call  0x00007d1e 
- 00017625  0x00003d45 branch  0x00002ee4 
- 00017626  0x00003d48 branch  0x000044db 
- 00017627  0x00003d4b bpatch  0x000000f1 , 0x0000401e 
- 00017628  0x00003d4c fetch  0x00000001 , 0x00004729 
- 00017629  0x00003d4d bne  0x000000ff , 0x000044e0 
- 00017630  0x00003d4f fetcht  0x00000001 , 0x00004706 
- 00017631  0x00003d50 branch  0x0000680e 
- 00017632  0x00003d52 store  0x00000001 , 0x00004706 
- 00017633  0x00003d53 branch  0x000044de 
- 00017634  0x00003d57 call  0x00002c9d 
- 00017635  0x00003d58 fetch  0x00000002 , 0x00004753 
- 00017636  0x00003d59 store  0x00000002 , 0x00004755 
- 00017637  0x00003d5a branch  0x00004515 
- 00017638  0x00003d62 call  0x00006835 
- 00017639  0x00003d63 call  0x000044e9 
- 00017640  0x00003d64 branch  0x0000340a 
- 00017641  0x00003d67 branch  0x0000696c 
- 00017642  0x00003d6a fetch  0x00000001 , 0x00004765 
- 00017643  0x00003d6b rtn  0x00000034 
- 00017644  0x00003d6d branch  0x00002d83 
- 00017645  0x00003d70 rtn 
- 00017646  0x00003d73 branch  0x00006978 
- 00017647  0x00003d76 call  0x00004544 
- 00017648  0x00003d77 call  0x00004503 
- 00017649  0x00003d78 branch  0x000044ee 
- 00017650  0x00003d7b copy  0x00000013 , 0x0000003f 
- 00017651  0x00003d7c beq  0x0000002d , 0x00003431 
- 00017652  0x00003d7d beq  0x00000010 , 0x0000341a 
- 00017653  0x00003d7e beq  0x00000039 , 0x000044fb 
- 00017654  0x00003d7f beq  0x0000003c , 0x000044ff 
- 00017655  0x00003d80 beq  0x0000003a , 0x000044f9 
- 00017656  0x00003d81 rtn 
- 00017657  0x00003d84 jam  0x00000001 , 0x00004765 
- 00017658  0x00003d85 rtn 
- 00017659  0x00003d88 jam  0x00000001 , 0x00004765 
- 00017660  0x00003d89 jam  0x00000001 , 0x00004763 
- 00017661  0x00003d8a jam  0x00000001 , 0x00004764 
- 00017662  0x00003d8b rtn 
- 00017663  0x00003d8e jam  0x00000001 , 0x00004765 
- 00017664  0x00003d8f jam  0x00000001 , 0x00004763 
- 00017665  0x00003d90 jam  0x00000001 , 0x00004764 
- 00017666  0x00003d91 rtn 
- 00017667  0x00003d94 fetch  0x00000001 , 0x00004763 
- 00017668  0x00003d95 rtneq  0x00000000 
- 00017669  0x00003d96 fetch  0x00000001 , 0x00004762 
- 00017670  0x00003d97 rtneq  0x00000001 
- 00017671  0x00003d98 jam  0x00000001 , 0x00004762 
- 00017672  0x00003d9a arg  0x00000000 , 0x00000011 
- 00017673  0x00003d9b branch  0x00007d19 
- 00017674  0x00003d9d arg  0x00000000 , 0x00000011 
- 00017675  0x00003d9e call  0x00007d19 
- 00017676  0x00003d9f call  0x000044db 
- 00017677  0x00003da0 branch  0x0000340a 
- 00017678  0x00003da3 call  0x0000337b 
- 00017679  0x00003da4 branch  0x00004510 
- 00017680  0x00003da7 fetch  0x00000001 , 0x0000472d 
- 00017681  0x00003da8 rtn  0x00000034 
- 00017682  0x00003da9 arg  0x00004755 , 0x00000013 
- 00017683  0x00003daa arg  0x0000450a , 0x00000012 
- 00017684  0x00003dab branch  0x00003374 
- 00017685  0x00003daf call  0x0000451a 
- 00017686  0x00003db0 storet  0x00000002 , 0x0000471a 
- 00017687  0x00003db1 call  0x0000451f 
- 00017688  0x00003db2 storet  0x00000002 , 0x0000471c 
- 00017689  0x00003db3 rtn 
- 00017690  0x00003db6 fetch  0x00000002 , 0x0000471a 
- 00017691  0x00003db7 store  0x00000002 , 0x0000471e 
- 00017692  0x00003db8 call  0x00004540 
- 00017693  0x00003db9 call  0x00004525 
- 00017694  0x00003dba store  0x00000001 , 0x00004724 
- 00017695  0x00003dbc fetch  0x00000002 , 0x0000471c 
- 00017696  0x00003dbd store  0x00000002 , 0x0000471e 
- 00017697  0x00003dbe call  0x00004542 
- 00017698  0x00003dbf call  0x00004525 
- 00017699  0x00003dc0 store  0x00000001 , 0x00004725 
- 00017700  0x00003dc1 rtn 
- 00017701  0x00003dc3 fetch  0x00000002 , 0x00004720 
- 00017702  0x00003dc4 copy  0x0000003f , 0x00000011 
- 00017703  0x00003dc5 fetch  0x00000002 , 0x0000471e 
- 00017704  0x00003dc6 call  0x0000452e 
- 00017705  0x00003dc7 fetch  0x00000001 , 0x00004719 
- 00017706  0x00003dc8 nbranch  0x00004537 , 0x00000034 
- 00017707  0x00003dc9 nrtn  0x00000002 
- 00017708  0x00003dca fetcht  0x00000002 , 0x0000471e 
- 00017709  0x00003dcb rtn 
- 00017710  0x00003dcd isub  0x00000002 , 0x0000003f 
- 00017711  0x00003dce branch  0x00004534 , 0x00000002 
- 00017712  0x00003dcf sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00017713  0x00003dd0 jam  0x00000001 , 0x00004718 
- 00017714  0x00003dd1 isub  0x00000011 , 0x0000003e 
- 00017715  0x00003dd2 rtn 
- 00017716  0x00003dd4 jam  0x00000000 , 0x00004718 
- 00017717  0x00003dd5 isub  0x00000011 , 0x0000003e 
- 00017718  0x00003dd6 rtn 
- 00017719  0x00003dd8 nbranch  0x0000453e , 0x00000002 
- 00017720  0x00003dd9 fetch  0x00000001 , 0x00004718 
- 00017721  0x00003dda nbranch  0x0000453c , 0x00000034 
- 00017722  0x00003ddc setarg  0x00000001 
- 00017723  0x00003ddd rtn 
- 00017724  0x00003ddf setarg  0x00000002 
- 00017725  0x00003de0 rtn 
- 00017726  0x00003de2 setarg  0x00000000 
- 00017727  0x00003de3 rtn 
- 00017728  0x00003de5 jam  0x00000033 , 0x0000422e 
- 00017729  0x00003de6 branch  0x000068eb 
- 00017730  0x00003de8 jam  0x00000034 , 0x0000422e 
- 00017731  0x00003de9 branch  0x000068eb 
- 00017732  0x00003ded fetch  0x00000001 , 0x0000472a 
- 00017733  0x00003dee rtnne  0x00000001 
- 00017734  0x00003df0 bpatch  0x000000f2 , 0x0000401e 
- 00017735  0x00003df1 jam  0x00000001 , 0x00004719 
- 00017736  0x00003df2 call  0x0000451a 
- 00017737  0x00003df3 fetch  0x00000002 , 0x00004724 
- 00017738  0x00003df4 fetcht  0x00000002 , 0x00004722 
- 00017739  0x00003df5 isub  0x00000002 , 0x0000003e 
- 00017740  0x00003df6 rtn  0x00000005 
- 00017741  0x00003df7 store  0x00000002 , 0x00004722 
- 00017742  0x00003df8 call  0x00004550 
- 00017743  0x00003df9 branch  0x00004554 
- 00017744  0x00003dfc fetch  0x00000001 , 0x00004724 
- 00017745  0x00003dfd branch  0x0000455a , 0x00000034 
- 00017746  0x00003dfe increase  0xffffffff , 0x0000003f 
- 00017747  0x00003dff branch  0x00004557 
- 00017748  0x00003e01 fetch  0x00000001 , 0x00004725 
- 00017749  0x00003e02 branch  0x0000455d , 0x00000034 
- 00017750  0x00003e03 increase  0x00000001 , 0x0000003f 
- 00017751  0x00003e05 copy  0x0000003f , 0x00000007 
- 00017752  0x00003e06 arg  0x00000001 , 0x00000011 
- 00017753  0x00003e07 branch  0x00004560 
- 00017754  0x00003e0a arg  0x00000000 , 0x00000007 
- 00017755  0x00003e0b arg  0x00000000 , 0x00000011 
- 00017756  0x00003e0c branch  0x00004560 
- 00017757  0x00003e0e arg  0x00000002 , 0x00000007 
- 00017758  0x00003e0f arg  0x00000000 , 0x00000011 
- 00017759  0x00003e10 branch  0x00004560 
- 00017760  0x00003e13 copy  0x00000011 , 0x0000003f 
- 00017761  0x00003e14 store  0x00000001 , 0x00004761 
- 00017762  0x00003e15 fetch  0x00000001 , 0x00004763 
- 00017763  0x00003e16 beq  0x00000000 , 0x00002ee4 
- 00017764  0x00003e17 fetch  0x00000002 , 0x00004753 
- 00017765  0x00003e18 store  0x00000002 , 0x00004755 
- 00017766  0x00003e19 fetch  0x00000001 , 0x00004761 
- 00017767  0x00003e1a branch  0x00004580 , 0x00000034 
- 00017768  0x00003e1c bpatch  0x000000f3 , 0x0000401e 
- 00017769  0x00003e1d arg  0x00000000 , 0x00000011 
- 00017770  0x00003e1e call  0x00007d14 
- 00017771  0x00003e20 copy  0x00000007 , 0x0000003f 
- 00017772  0x00003e21 beq  0x00000004 , 0x000045a3 
- 00017773  0x00003e22 beq  0x00000005 , 0x000045a5 
- 00017774  0x00003e23 beq  0x00000006 , 0x000045a7 
- 00017775  0x00003e27 call  0x0000458b 
- 00017776  0x00003e28 beq  0x00000000 , 0x00004574 
- 00017777  0x00003e29 beq  0x00000002 , 0x0000457a 
- 00017778  0x00003e2a beq  0x00000003 , 0x00004574 
- 00017779  0x00003e2b rtn 
- 00017780  0x00003e2e copy  0x00000007 , 0x0000003f 
- 00017781  0x00003e2f beq  0x00000000 , 0x0000458f 
- 00017782  0x00003e30 beq  0x00000001 , 0x00004591 
- 00017783  0x00003e31 beq  0x00000002 , 0x00004593 
- 00017784  0x00003e32 beq  0x00000003 , 0x00004595 
- 00017785  0x00003e33 rtn 
- 00017786  0x00003e36 copy  0x00000007 , 0x0000003f 
- 00017787  0x00003e37 beq  0x00000000 , 0x00004597 
- 00017788  0x00003e38 beq  0x00000001 , 0x0000459a 
- 00017789  0x00003e39 beq  0x00000002 , 0x0000459d 
- 00017790  0x00003e3a beq  0x00000003 , 0x000045a0 
- 00017791  0x00003e3b rtn 
- 00017792  0x00003e3e bpatch  0x000000f4 , 0x0000401e 
- 00017793  0x00003e3f arg  0x00000000 , 0x00000011 
- 00017794  0x00003e40 call  0x00007d19 
- 00017795  0x00003e42 copy  0x00000007 , 0x0000003f 
- 00017796  0x00003e43 beq  0x00000004 , 0x000045bc 
- 00017797  0x00003e44 beq  0x00000005 , 0x000045bc 
- 00017798  0x00003e48 call  0x0000458b 
- 00017799  0x00003e49 beq  0x00000000 , 0x000045a9 
- 00017800  0x00003e4a beq  0x00000002 , 0x000045af 
- 00017801  0x00003e4b beq  0x00000003 , 0x000045a9 
- 00017802  0x00003e4c rtn 
- 00017803  0x00003e4f fetch  0x00000001 , 0x00004728 
- 00017804  0x00003e50 fetcht  0x00000001 , 0x00004727 
- 00017805  0x00003e51 ior  0x00000002 , 0x0000003f 
- 00017806  0x00003e52 rtn 
- 00017807  0x00003e56 jam  0x00000001 , 0x00004734 
- 00017808  0x00003e57 branch  0x000045be 
- 00017809  0x00003e59 jam  0x00000002 , 0x00004734 
- 00017810  0x00003e5a branch  0x000045be 
- 00017811  0x00003e5c jam  0x00000001 , 0x00004736 
- 00017812  0x00003e5d branch  0x000045be 
- 00017813  0x00003e5f jam  0x00000002 , 0x00004736 
- 00017814  0x00003e60 branch  0x000045be 
- 00017815  0x00003e64 jam  0x00000001 , 0x00004734 
- 00017816  0x00003e65 jam  0x00000001 , 0x00004736 
- 00017817  0x00003e66 branch  0x000045be 
- 00017818  0x00003e68 jam  0x00000002 , 0x00004734 
- 00017819  0x00003e69 jam  0x00000002 , 0x00004736 
- 00017820  0x00003e6a branch  0x000045be 
- 00017821  0x00003e6c jam  0x00000002 , 0x00004734 
- 00017822  0x00003e6d jam  0x00000001 , 0x00004736 
- 00017823  0x00003e6e branch  0x000045be 
- 00017824  0x00003e70 jam  0x00000001 , 0x00004734 
- 00017825  0x00003e71 jam  0x00000002 , 0x00004736 
- 00017826  0x00003e72 branch  0x000045be 
- 00017827  0x00003e76 jam  0x00000001 , 0x00004738 
- 00017828  0x00003e77 branch  0x000045be 
- 00017829  0x00003e79 jam  0x00000002 , 0x00004738 
- 00017830  0x00003e7a branch  0x000045be 
- 00017831  0x00003e7d jam  0x00000001 , 0x00004741 
- 00017832  0x00003e7e branch  0x000045c0 
- 00017833  0x00003e81 copy  0x00000007 , 0x0000003f 
- 00017834  0x00003e82 beq  0x00000000 , 0x000045b5 
- 00017835  0x00003e83 beq  0x00000001 , 0x000045b5 
- 00017836  0x00003e84 beq  0x00000002 , 0x000045b7 
- 00017837  0x00003e85 beq  0x00000003 , 0x000045b7 
- 00017838  0x00003e86 rtn 
- 00017839  0x00003e89 copy  0x00000007 , 0x0000003f 
- 00017840  0x00003e8a beq  0x00000000 , 0x000045b9 
- 00017841  0x00003e8b beq  0x00000001 , 0x000045b9 
- 00017842  0x00003e8c beq  0x00000002 , 0x000045b9 
- 00017843  0x00003e8d beq  0x00000003 , 0x000045b9 
- 00017844  0x00003e8e rtn 
- 00017845  0x00003e92 jam  0x00000000 , 0x00004734 
- 00017846  0x00003e93 branch  0x000045be 
- 00017847  0x00003e96 jam  0x00000000 , 0x00004736 
- 00017848  0x00003e97 branch  0x000045be 
- 00017849  0x00003e9d jam  0x00000000 , 0x00004734 
- 00017850  0x00003e9e jam  0x00000000 , 0x00004736 
- 00017851  0x00003e9f branch  0x000045be 
- 00017852  0x00003ea3 jam  0x00000000 , 0x00004738 
- 00017853  0x00003ea4 branch  0x000045be 
- 00017854  0x00003ea7 arg  0x0000472e , 0x00000011 
- 00017855  0x00003ea8 branch  0x00007e3d 
- 00017856  0x00003eaa arg  0x0000473b , 0x00000011 
- 00017857  0x00003eab branch  0x00007e3d 
- 00017858  0x00003eae fetch  0x00000001 , 0x00004764 
- 00017859  0x00003eaf beq  0x00000001 , 0x000045cc 
- 00017860  0x00003eb0 arg  0x00004744 , 0x00000011 
- 00017861  0x00003eb1 call  0x00007e54 
- 00017862  0x00003eb2 nbranch  0x000045d1 , 0x00000028 
- 00017863  0x00003eb4 arg  0x00004744 , 0x00000006 
- 00017864  0x00003eb5 ifetch  0x00000001 , 0x00000006 
- 00017865  0x00003eb6 copy  0x0000003f , 0x00000011 
- 00017866  0x00003eb7 arg  0x00004745 , 0x00000012 
- 00017867  0x00003eba rtn 
- 00017868  0x00003ebd jam  0x00000000 , 0x00004764 
- 00017869  0x00003ebe enable  0x00000028 
- 00017870  0x00003ebf arg  0x00000001 , 0x00000011 
- 00017871  0x00003ec0 arg  0x00004766 , 0x00000012 
- 00017872  0x00003ec1 rtn 
- 00017873  0x00003ec4 fetch  0x00000001 , 0x00004747 
- 00017874  0x00003ec5 beq  0x00000004 , 0x000045d5 
- 00017875  0x00003ec6 beq  0x00000005 , 0x000045d5 
- 00017876  0x00003ec7 rtn 
- 00017877  0x00003ec9 fetch  0x00000001 , 0x0000474a 
- 00017878  0x00003eca nbranch  0x000045dc , 0x00000034 
- 00017879  0x00003ecb fetch  0x00000001 , 0x0000474c 
- 00017880  0x00003ecc nbranch  0x000045dc , 0x00000034 
- 00017881  0x00003ecd fetch  0x00000001 , 0x0000474e 
- 00017882  0x00003ece nbranch  0x000045dc , 0x00000034 
- 00017883  0x00003ecf rtn 
- 00017884  0x00003ed1 enable  0x00000028 
- 00017885  0x00003ed2 branch  0x000045c7 
- 00017886  0x00003edb rtn  0x0000002b 
- 00017887  0x00003edc hfetch  0x00000001 , 0x00008081 
- 00017888  0x00003edd and_into  0x000000fc , 0x0000003f 
- 00017889  0x00003ede hstore  0x00000001 , 0x00008081 
- 00017890  0x00003edf setarg  0x000046b4 
- 00017891  0x00003ee0 store  0x00000002 , 0x000041eb 
- 00017892  0x00003ee2 setarg  0x000046b3 
- 00017893  0x00003ee3 store  0x00000002 , 0x000041ed 
- 00017894  0x00003ee5 setarg  0x0000340a 
- 00017895  0x00003ee6 store  0x00000002 , 0x000041f7 
- 00017896  0x00003ee8 setarg  0x000046b1 
- 00017897  0x00003ee9 store  0x00000002 , 0x000041f3 
- 00017898  0x00003eeb setarg  0x00004612 
- 00017899  0x00003eec store  0x00000002 , 0x000041f5 
- 00017900  0x00003eee setarg  0x0000460c 
- 00017901  0x00003eef store  0x00000002 , 0x000041e9 
- 00017902  0x00003ef1 setarg  0x0000476a 
- 00017903  0x00003ef2 store  0x00000002 , 0x000041f9 
- 00017904  0x00003ef4 setarg  0x00004686 
- 00017905  0x00003ef5 store  0x00000002 , 0x000041fd 
- 00017906  0x00003ef7 setarg  0x00004729 
- 00017907  0x00003ef8 store  0x00000002 , 0x000046e7 
- 00017908  0x00003efa setarg  0x00004806 
- 00017909  0x00003efb store  0x00000002 , 0x000046e2 
- 00017910  0x00003efc setarg  0x00004807 
- 00017911  0x00003efd store  0x00000002 , 0x000046e4 
- 00017912  0x00003eff call  0x000057a3 
- 00017913  0x00003f00 call  0x000047da 
- 00017914  0x00003f01 call  0x00004788 
- 00017915  0x00003f02 call  0x0000476d 
- 00017916  0x00003f03 call  0x00006948 
- 00017917  0x00003f04 call  0x0000477a 
- 00017918  0x00003f05 call  0x00007e38 
- 00017919  0x00003f06 call  0x00007d08 
- 00017920  0x00003f07 call  0x00004793 
- 00017921  0x00003f08 call  0x000047c7 
- 00017922  0x00003f0a bpatch  0x000000f5 , 0x0000401e 
- 00017923  0x00003f0b call  0x0000464f 
- 00017924  0x00003f0c fetch  0x00000001 , 0x000046dd 
- 00017925  0x00003f0d beq  0x00000000 , 0x00004609 
- 00017926  0x00003f0e fetch  0x00000001 , 0x000046de 
- 00017927  0x00003f0f store  0x00000001 , 0x00004686 
- 00017928  0x00003f10 branch  0x0000480e 
- 00017929  0x00003f14 jam  0x000000ff , 0x00004686 
- 00017930  0x00003f15 jam  0x00000001 , 0x000046df 
- 00017931  0x00003f16 branch  0x000046d9 
- 00017932  0x00003f1b fetch  0x00000001 , 0x000046df 
- 00017933  0x00003f1c beq  0x00000002 , 0x000033d0 
- 00017934  0x00003f1d call  0x0000527e 
- 00017935  0x00003f1e fetch  0x00000001 , 0x00004256 
- 00017936  0x00003f1f nbranch  0x000033d0 , 0x00000034 
- 00017937  0x00003f20 branch  0x000033d2 
- 00017938  0x00003f25 copy  0x00000013 , 0x0000003f 
- 00017939  0x00003f27 beq  0x00000001 , 0x00004626 
- 00017940  0x00003f28 beq  0x00000002 , 0x00004629 
- 00017941  0x00003f29 beq  0x00000004 , 0x00004631 
- 00017942  0x00003f2a beq  0x00000005 , 0x00004633 
- 00017943  0x00003f2b beq  0x00000006 , 0x00004635 
- 00017944  0x00003f2c beq  0x00000007 , 0x00004638 
- 00017945  0x00003f2d beq  0x00000012 , 0x0000463c 
- 00017946  0x00003f2e beq  0x00000013 , 0x00004644 
- 00017947  0x00003f2f beq  0x00000027 , 0x00004645 
- 00017948  0x00003f30 beq  0x0000002e , 0x00004648 
- 00017949  0x00003f31 beq  0x0000003d , 0x00004649 
- 00017950  0x00003f33 beq  0x00000014 , 0x00004658 
- 00017951  0x00003f34 beq  0x00000015 , 0x0000465c 
- 00017952  0x00003f35 beq  0x0000003f , 0x0000465f 
- 00017953  0x00003f36 beq  0x00000040 , 0x00004665 
- 00017954  0x00003f38 beq  0x00000010 , 0x0000466b 
- 00017955  0x00003f39 beq  0x0000002c , 0x0000466c 
- 00017956  0x00003f3a beq  0x0000002d , 0x00004677 
- 00017957  0x00003f3b rtn 
- 00017958  0x00003f41 jam  0x00000000 , 0x000046ad 
- 00017959  0x00003f42 jam  0x00000000 , 0x000046ac 
- 00017960  0x00003f43 rtn 
- 00017961  0x00003f47 call  0x0000462b 
- 00017962  0x00003f48 branch  0x00004631 
- 00017963  0x00003f4b jam  0x00000000 , 0x000041e2 
- 00017964  0x00003f4c jam  0x00000000 , 0x00004680 
- 00017965  0x00003f4d jam  0x00000000 , 0x00004205 
- 00017966  0x00003f4e jam  0x00000000 , 0x000046ac 
- 00017967  0x00003f4f jam  0x00000000 , 0x000046ad 
- 00017968  0x00003f50 branch  0x00007e38 
- 00017969  0x00003f54 call  0x000033a9 
- 00017970  0x00003f55 branch  0x000046c2 
- 00017971  0x00003f59 call  0x000046b6 
- 00017972  0x00003f5a branch  0x00003408 
- 00017973  0x00003f5e setarg  0x00000002 
- 00017974  0x00003f5f store  0x00000001 , 0x00004680 
- 00017975  0x00003f60 rtn 
- 00017976  0x00003f64 jam  0x00000000 , 0x000046ac 
- 00017977  0x00003f65 setarg  0x00000001 
- 00017978  0x00003f66 store  0x00000001 , 0x000046ad 
- 00017979  0x00003f67 rtn 
- 00017980  0x00003f6b fetch  0x00000001 , 0x000041e2 
- 00017981  0x00003f6c rtneq  0x00000001 
- 00017982  0x00003f6d jam  0x00000001 , 0x000041e2 
- 00017983  0x00003f6e call  0x00003416 
- 00017984  0x00003f6f call  0x00003414 
- 00017985  0x00003f70 call  0x000046b6 
- 00017986  0x00003f71 call  0x00003408 
- 00017987  0x00003f72 branch  0x0000340e 
- 00017988  0x00003f76 branch  0x00004631 
- 00017989  0x00003f7a setarg  0x00000005 
- 00017990  0x00003f7b store  0x00000001 , 0x000046ac 
- 00017991  0x00003f7c rtn 
- 00017992  0x00003f80 branch  0x000033cd 
- 00017993  0x00003f85 arg  0x00000000 , 0x00000012 
- 00017994  0x00003f86 fetch  0x00000001 , 0x00004217 
- 00017995  0x00003f87 mul32  0x0000003f , 0x00000022 , 0x00000002 
- 00017996  0x00003f88 fetch  0x00000002 , 0x00004215 
- 00017997  0x00003f89 copy  0x0000003f , 0x00000011 
- 00017998  0x00003f8a branch  0x00006606 
- 00017999  0x00003f8d arg  0x00000000 , 0x00000012 
- 00018000  0x00003f8e fetch  0x00000001 , 0x0000469a 
- 00018001  0x00003f8f rtnbit0  0x00000001 
- 00018002  0x00003f90 fetch  0x00000001 , 0x00004217 
- 00018003  0x00003f91 rtn  0x00000034 
- 00018004  0x00003f92 mul32  0x0000003f , 0x00000022 , 0x00000002 
- 00018005  0x00003f93 fetch  0x00000002 , 0x00004215 
- 00018006  0x00003f94 copy  0x0000003f , 0x00000011 
- 00018007  0x00003f95 branch  0x000065df 
- 00018008  0x00003f9a call  0x000046b6 
- 00018009  0x00003f9b setarg  0x00000000 
- 00018010  0x00003f9c store  0x00000002 , 0x000046b7 
- 00018011  0x00003f9d branch  0x00003408 
- 00018012  0x00003fa1 call  0x00007e38 
- 00018013  0x00003fa2 jam  0x00000000 , 0x000046b0 
- 00018014  0x00003fa3 branch  0x000046d9 
- 00018015  0x00003fa7 call  0x00007e38 
- 00018016  0x00003fa8 jam  0x00000001 , 0x000046b0 
- 00018017  0x00003fa9 fetch  0x00000008 , 0x000046c1 
- 00018018  0x00003faa store  0x00000008 , 0x00004496 
- 00018019  0x00003fab call  0x00003416 
- 00018020  0x00003fac branch  0x00005abf 
- 00018021  0x00003fb0 fetch  0x00000002 , 0x00004509 
- 00018022  0x00003fb1 rtneq  0x00000000 
- 00018023  0x00003fb2 fetch  0x00000008 , 0x000046c9 
- 00018024  0x00003fb3 rtn  0x00000034 
- 00018025  0x00003fb4 store  0x00000008 , 0x00004496 
- 00018026  0x00003fb5 branch  0x00005abf 
- 00018027  0x00003fba branch  0x0000481f 
- 00018028  0x00003fbd fetch  0x00000001 , 0x000046dd 
- 00018029  0x00003fbe rtneq  0x00000000 
- 00018030  0x00003fbf fetch  0x00000001 , 0x000046df 
- 00018031  0x00003fc0 rtnne  0x00000001 
- 00018032  0x00003fc1 call  0x00004672 
- 00018033  0x00003fc2 branch  0x00003406 
- 00018034  0x00003fc5 jam  0x00000001 , 0x000048df 
- 00018035  0x00003fc6 arg  0x0000000b , 0x00000039 
- 00018036  0x00003fc7 arg  0x000048e0 , 0x00000005 
- 00018037  0x00003fc8 arg  0x000048c9 , 0x00000006 
- 00018038  0x00003fc9 branch  0x00007f01 
- 00018039  0x00003fcc fetch  0x00000001 , 0x000046dd 
- 00018040  0x00003fcd rtneq  0x00000000 
- 00018041  0x00003fce fetch  0x00000001 , 0x000046df 
- 00018042  0x00003fcf beq  0x00000001 , 0x0000467c 
- 00018043  0x00003fd0 branch  0x0000481b 
- 00018044  0x00003fd3 fetch  0x00000001 , 0x000048df 
- 00018045  0x00003fd4 rtnne  0x00000001 
- 00018046  0x00003fd5 jam  0x00000000 , 0x000048df 
- 00018047  0x00003fd6 fetch  0x00000002 , 0x00004682 
- 00018048  0x00003fd7 bbit1  0x00000000 , 0x00003408 
- 00018049  0x00003fd8 bbit1  0x00000009 , 0x00003408 
- 00018050  0x00003fd9 arg  0x0000000b , 0x00000039 
- 00018051  0x00003fda arg  0x000048e0 , 0x00000006 
- 00018052  0x00003fdb arg  0x000048c9 , 0x00000005 
- 00018053  0x00003fdc branch  0x00007f01 
- 00018054  0x00003fe3 call  0x0000468c 
- 00018055  0x00003fe6 call  0x00004693 
- 00018056  0x00003fe9 call  0x0000469e 
- 00018057  0x00003fea call  0x000046a6 
- 00018058  0x00003feb call  0x000046a9 
- 00018059  0x00003fee branch  0x000046ac 
- 00018060  0x00003ff3 arg  0x000046db , 0x00000013 
- 00018061  0x00003ff4 arg  0x0000468f , 0x00000012 
- 00018062  0x00003ff5 branch  0x00003374 
- 00018063  0x00003ff7 jam  0x00000002 , 0x000046df 
- 00018064  0x00003ff8 call  0x00003408 
- 00018065  0x00003ff9 call  0x000046f4 
- 00018066  0x00003ffa branch  0x0000480b 
- 00018067  0x00003ffe arg  0x000048ec , 0x00000013 
- 00018068  0x00003fff arg  0x00004696 , 0x00000012 
- 00018069  0x00004000 branch  0x0000336d 
- 00018070  0x00004003 fetch  0x00000002 , 0x00004682 
- 00018071  0x00004004 bbit1  0x00000009 , 0x0000480b 
- 00018072  0x00004005 bbit1  0x00000000 , 0x0000480b 
- 00018073  0x00004006 fetch  0x00000001 , 0x000048c9 
- 00018074  0x00004007 beq  0x00000001 , 0x0000480b 
- 00018075  0x00004008 beq  0x00000004 , 0x0000480b 
- 00018076  0x00004009 beq  0x00000005 , 0x0000480b 
- 00018077  0x0000400a branch  0x0000340a 
- 00018078  0x0000400f arg  0x000046ac , 0x00000013 
- 00018079  0x00004010 arg  0x000046a1 , 0x00000012 
- 00018080  0x00004011 branch  0x0000336d 
- 00018081  0x00004014 fetch  0x00000001 , 0x0000027f 
- 00018082  0x00004015 set1  0x00000000 , 0x0000003f 
- 00018083  0x00004016 set1  0x00000007 , 0x0000003f 
- 00018084  0x00004017 store  0x00000001 , 0x0000027f 
- 00018085  0x00004018 rtn 
- 00018086  0x0000401b arg  0x00004680 , 0x00000013 
- 00018087  0x0000401c arg  0x0000463c , 0x00000012 
- 00018088  0x0000401d branch  0x0000336d 
- 00018089  0x00004020 arg  0x000046ad , 0x00000013 
- 00018090  0x00004021 arg  0x000033e9 , 0x00000012 
- 00018091  0x00004022 branch  0x0000336d 
- 00018092  0x00004028 fetch  0x00000001 , 0x000046df 
- 00018093  0x00004029 rtnne  0x00000001 
- 00018094  0x0000402a arg  0x000046b7 , 0x00000013 
- 00018095  0x0000402b arg  0x000046c2 , 0x00000012 
- 00018096  0x0000402c branch  0x00003374 
- 00018097  0x00004030 call  0x0000473a 
- 00018098  0x00004031 branch  0x00006978 
- 00018099  0x00004035 branch  0x0000696c 
- 00018100  0x00004038 call  0x00006835 
- 00018101  0x00004039 branch  0x000046b3 
- 00018102  0x00004040 fetch  0x00000001 , 0x0000469a 
- 00018103  0x00004041 bbit1  0x00000001 , 0x000046be 
- 00018104  0x00004042 bbit1  0x00000000 , 0x000046ba 
- 00018105  0x00004043 rtn 
- 00018106  0x00004046 fetch  0x00000002 , 0x000046d7 
- 00018107  0x00004047 store  0x00000002 , 0x000046d9 
- 00018108  0x00004048 store  0x00000002 , 0x000046db 
- 00018109  0x00004049 branch  0x000033f8 
- 00018110  0x0000404c fetch  0x00000002 , 0x000046d3 
- 00018111  0x0000404d store  0x00000002 , 0x000046d9 
- 00018112  0x0000404e store  0x00000002 , 0x000046db 
- 00018113  0x0000404f branch  0x000033f0 
- 00018114  0x00004052 fetch  0x00000001 , 0x000046df 
- 00018115  0x00004053 rtnne  0x00000001 
- 00018116  0x00004054 fetch  0x00000001 , 0x0000469a 
- 00018117  0x00004055 bbit1  0x00000001 , 0x000046c8 
- 00018118  0x00004056 bbit1  0x00000000 , 0x000046cc 
- 00018119  0x00004057 rtn 
- 00018120  0x0000405a fetch  0x00000002 , 0x000046d1 ,
- 00018121  0x0000405b store  0x00000002 , 0x000046d9 
- 00018122  0x0000405c store  0x00000002 , 0x000046db 
- 00018123  0x0000405d branch  0x000033eb 
- 00018124  0x00004060 fetch  0x00000002 , 0x00004682 
- 00018125  0x00004061 rtnbit1  0x00000009 
- 00018126  0x00004062 fetch  0x00000002 , 0x000046d5 
- 00018127  0x00004063 store  0x00000002 , 0x000046d9 
- 00018128  0x00004064 store  0x00000002 , 0x000046db 
- 00018129  0x00004065 fetch  0x00000002 , 0x000046b3 
- 00018130  0x00004066 call  0x000046f0 
- 00018131  0x00004067 call  0x00003404 
- 00018132  0x00004068 fetch  0x00000004 , 0x000046bd 
- 00018133  0x00004069 store  0x00000004 , 0x000048cc 
- 00018134  0x0000406a fetch  0x00000002 , 0x00004682 
- 00018135  0x0000406b rtnbit1  0x0000000b 
- 00018136  0x0000406c branch  0x000033fa 
- 00018137  0x00004070 fetch  0x00000001 , 0x000046df 
- 00018138  0x00004071 rtnne  0x00000001 
- 00018139  0x00004072 fetch  0x00000001 , 0x0000469a 
- 00018140  0x00004073 bbit1  0x00000001 , 0x000046df 
- 00018141  0x00004074 bbit1  0x00000000 , 0x000046e4 
- 00018142  0x00004075 rtn 
- 00018143  0x00004078 call  0x000046f8 
- 00018144  0x00004079 branch  0x000046c2 , 0x00000034 
- 00018145  0x0000407a call  0x00003406 
- 00018146  0x0000407b call  0x000033f0 
- 00018147  0x0000407c branch  0x000033e1 
- 00018148  0x0000407f fetch  0x00000002 , 0x000046b7 
- 00018149  0x00004080 fetcht  0x00000002 , 0x000046b5 
- 00018150  0x00004081 storet  0x00000002 , 0x000046b7 
- 00018151  0x00004082 nrtn  0x00000034 
- 00018152  0x00004083 fetch  0x00000002 , 0x000046b1 
- 00018153  0x00004084 call  0x000046f0 
- 00018154  0x00004085 call  0x00003404 
- 00018155  0x00004086 fetch  0x00000004 , 0x000046b9 
- 00018156  0x00004087 store  0x00000004 , 0x000048cc 
- 00018157  0x00004088 fetch  0x00000002 , 0x00004682 
- 00018158  0x00004089 rtnbit1  0x0000000b 
- 00018159  0x0000408a branch  0x000033fa 
- 00018160  0x0000408e store  0x00000002 , 0x00004154 
- 00018161  0x0000408f increase  0xfffffffc , 0x0000003f 
- 00018162  0x00004090 store  0x00000002 , 0x00004482 
- 00018163  0x00004091 rtn 
- 00018164  0x00004095 fetch  0x00000002 , 0x00004682 
- 00018165  0x00004096 bbit1  0x00000009 , 0x00003402 
- 00018166  0x00004097 bbit1  0x00000000 , 0x000033e9 
- 00018167  0x00004098 branch  0x000046b6 
- 00018168  0x0000409d fetch  0x00000001 , 0x00004217 
- 00018169  0x0000409e copy  0x0000003f , 0x00000039 
- 00018170  0x0000409f fetch  0x00000002 , 0x00004215 
- 00018171  0x000040a0 copy  0x0000003f , 0x00000011 
- 00018172  0x000040a2 ifetch  0x00000002 , 0x00000011 
- 00018173  0x000040a3 beq  0x00000000 , 0x00004701 
- 00018174  0x000040a4 increase  0x00000022 , 0x00000011 
- 00018175  0x000040a5 loop  0x000046fc 
- 00018176  0x000040a6 branch  0x00007ff1 
- 00018177  0x000040a9 ifetch  0x00000006 , 0x00000006 
- 00018178  0x000040aa store  0x00000006 , 0x000041d0 
- 00018179  0x000040ab increase  0x0000000a , 0x00000006 
- 00018180  0x000040ac arg  0x000041be , 0x00000005 
- 00018181  0x000040ad call  0x00007ebf 
- 00018182  0x000040ae call  0x000067d7 
- 00018183  0x000040af branch  0x00007fef 
- 00018184  0x000040b6 call  0x00007fe9 
- 00018185  0x000040b7 fetch  0x00000002 , 0x00004682 
- 00018186  0x000040b8 bbit1  0x00000000 , 0x0000470d 
- 00018187  0x000040b9 bbit1  0x00000009 , 0x00004710 
- 00018188  0x000040ba rtn 
- 00018189  0x000040bd fetch  0x00000001 , 0x00004253 
- 00018190  0x000040be rtnne  0x0000003f 
- 00018191  0x000040bf branch  0x00007fe7 
- 00018192  0x000040c2 fetch  0x00000001 , 0x000046b0 
- 00018193  0x000040c3 rtn  0x00000034 
- 00018194  0x000040c4 branch  0x00007fe7 
- 00018195  0x000040ca call  0x00007fe9 
- 00018196  0x000040cb fetch  0x00000002 , 0x00004682 
- 00018197  0x000040cc rtnbit1  0x00000000 
- 00018198  0x000040cd rtnbit1  0x00000009 
- 00018199  0x000040ce branch  0x00007fe7 
- 00018200  0x000040d3 fetch  0x00000001 , 0x0000469a 
- 00018201  0x000040d4 bbit1  0x00000001 , 0x0000471c 
- 00018202  0x000040d5 bbit1  0x00000000 , 0x0000471f 
- 00018203  0x000040d6 rtn 
- 00018204  0x000040d9 fetch  0x00000001 , 0x00004093 
- 00018205  0x000040da rtnne  0x00000003 
- 00018206  0x000040db branch  0x000046d9 
- 00018207  0x000040de branch  0x000046d9 
- 00018208  0x000040e2 disable  0x0000002c 
- 00018209  0x000040e3 fetch  0x00000002 , 0x000046d9 
- 00018210  0x000040e4 store  0x00000002 , 0x000046db 
- 00018211  0x000040e6 call  0x00004713 
- 00018212  0x000040e7 branch  0x00004718 , 0x00000028 
- 00018213  0x000040e9 call  0x00004708 
- 00018214  0x000040ea nrtn  0x00000028 
- 00018215  0x000040eb enable  0x0000002c 
- 00018216  0x000040ec rtn 
- 00018217  0x000040f1 call  0x00004720 
- 00018218  0x000040f2 nrtn  0x0000002c 
- 00018219  0x000040f3 deposit  0x00000011 
- 00018220  0x000040f4 branch  0x00004730 , 0x00000034 
- 00018221  0x000040f6 call  0x00003406 
- 00018222  0x000040f7 arg  0x000046f1 , 0x00000013 
- 00018223  0x000040f8 branch  0x00004732 
- 00018224  0x000040fb call  0x00003408 
- 00018225  0x000040fc arg  0x00004719 , 0x00000013 
- 00018226  0x000040ff arg  0x00000005 , 0x0000003f 
- 00018227  0x00004100 imul32  0x00000007 , 0x0000003f 
- 00018228  0x00004101 iadd  0x00000013 , 0x00000013 
- 00018229  0x00004105 ifetch  0x00000001 , 0x00000013 
- 00018230  0x00004106 rtn  0x00000034 
- 00018231  0x00004107 call  0x00004762 
- 00018232  0x00004108 increase  0x00000001 , 0x00000013 
- 00018233  0x00004109 branch  0x00004735 
- 00018234  0x0000410d fetch  0x00000002 , 0x00004682 
- 00018235  0x0000410e bbit1  0x00000009 , 0x0000473e 
- 00018236  0x0000410f bbit1  0x00000000 , 0x0000474e 
- 00018237  0x00004110 rtn 
- 00018238  0x00004113 call  0x00005892 
- 00018239  0x00004114 nrtn  0x00000034 
- 00018240  0x00004115 call  0x00004765 
- 00018241  0x00004116 nrtn  0x00000028 
- 00018242  0x00004117 pincrease  0xffffffff 
- 00018243  0x00004118 mul32  0x0000003f , 0x00000005 , 0x0000003f 
- 00018244  0x00004119 arg  0x00004741 , 0x00000002 
- 00018245  0x0000411a iadd  0x00000002 , 0x00000006 
- 00018246  0x0000411c ifetch  0x00000001 , 0x00000006 
- 00018247  0x0000411d copy  0x0000003f , 0x00000011 
- 00018248  0x0000411e ifetcht  0x00000002 , 0x00000006 
- 00018249  0x0000411f call  0x00007ea5 
- 00018250  0x00004120 call  0x00005a64 
- 00018251  0x00004121 copy  0x00000011 , 0x00000039 
- 00018252  0x00004122 call  0x00007e9f 
- 00018253  0x00004123 branch  0x00007f01 
- 00018254  0x00004127 call  0x00005271 
- 00018255  0x00004128 nrtn  0x00000034 
- 00018256  0x00004129 call  0x00004765 
- 00018257  0x0000412a nrtn  0x00000028 
- 00018258  0x0000412b pincrease  0xffffffff 
- 00018259  0x0000412c mul32  0x0000003f , 0x00000005 , 0x0000003f 
- 00018260  0x0000412d arg  0x000047a0 , 0x00000002 
- 00018261  0x0000412e iadd  0x00000002 , 0x00000006 
- 00018262  0x0000412f ifetch  0x00000005 , 0x00000006 
- 00018263  0x00004130 store  0x00000005 , 0x0000479b 
- 00018264  0x00004132 fetch  0x00000001 , 0x0000479b 
- 00018265  0x00004133 copy  0x0000003f , 0x00000011 
- 00018266  0x00004134 call  0x00004d63 
- 00018267  0x00004135 fetch  0x00000002 , 0x0000424e 
- 00018268  0x00004136 istore  0x00000002 , 0x00000005 
- 00018269  0x00004137 setarg  0x000000a1 
- 00018270  0x00004138 istore  0x00000001 , 0x00000005 
- 00018271  0x00004139 fetch  0x00000004 , 0x0000479c 
- 00018272  0x0000413a istore  0x00000009 , 0x00000005 
- 00018273  0x0000413b rtn 
- 00018274  0x00004140 store  0x00000001 , 0x00000a9a 
- 00018275  0x00004141 arg  0x00000a9a , 0x00000011 
- 00018276  0x00004142 branch  0x00007e3d 
- 00018277  0x00004145 arg  0x00000a9a , 0x00000011 
- 00018278  0x00004146 call  0x00007e54 
- 00018279  0x00004147 nrtn  0x00000028 
- 00018280  0x00004148 fetch  0x00000001 , 0x00000a9a 
- 00018281  0x00004149 rtn 
- 00018282  0x0000414d fetch  0x00000002 , 0x00000478 
- 00018283  0x0000414e beq  0x00000018 , 0x0000465f 
- 00018284  0x0000414f rtn 
- 00018285  0x00004152 setarg  0x00000002 
- 00018286  0x00004153 store  0x00000001 , 0x000048eb 
- 00018287  0x00004155 setarg  0x00200008 
- 00018288  0x00004156 store  0x00000004 , 0x000046c1 
- 00018289  0x00004157 setarg  0x012c0005 
- 00018290  0x00004158 istore  0x00000004 , 0x00000005 
- 00018291  0x0000415b jam  0x00000017 , 0x000044a6 
- 00018292  0x0000415e setarg  0x0000001b 
- 00018293  0x0000415f store  0x00000002 , 0x000044fa 
- 00018294  0x00004160 call  0x00005810 
- 00018295  0x00004161 call  0x0000582c 
- 00018296  0x00004162 call  0x00005839 
- 00018297  0x00004163 branch  0x00005818 
- 00018298  0x00004168 arg  0x00000028 , 0x00000039 
- 00018299  0x00004169 arg  0x00004741 , 0x00000005 
- 00018300  0x0000416a arg  0x0000949f , 0x00000006 
- 00018301  0x0000416b call  0x00007ef4 
- 00018302  0x0000416c arg  0x00000028 , 0x00000039 
- 00018303  0x0000416d arg  0x000047a0 , 0x00000005 
- 00018304  0x0000416e arg  0x000094c7 , 0x00000006 
- 00018305  0x0000416f branch  0x00007ef4 
- 00018306  0x00004173 arg  0x0000017e , 0x00000039 
- 00018307  0x00004174 arg  0x0000913a , 0x00000006 
- 00018308  0x00004175 branch  0x00007ef4 
- 00018309  0x00004179 arg  0x000001e7 , 0x00000039 
- 00018310  0x0000417a arg  0x000092b8 , 0x00000006 
- 00018311  0x0000417b branch  0x00007ef4 
- 00018312  0x00004180 call  0x000047ae 
- 00018313  0x00004181 nrtn  0x00000028 
- 00018314  0x00004182 fetch  0x00000001 , 0x0000469f 
- 00018315  0x00004183 call  0x00004790 
- 00018316  0x00004184 fetch  0x00000001 , 0x000046a0 
- 00018317  0x00004185 call  0x00004790 
- 00018318  0x00004186 fetch  0x00000001 , 0x000046a1 
- 00018319  0x00004187 branch  0x00004790 
- 00018320  0x0000418a rtn  0x00000034 
- 00018321  0x0000418b or  0x0000003f , 0x00000080 , 0x00000002 
- 00018322  0x0000418c branch  0x000067f9 
- 00018323  0x00004190 call  0x000047ae 
- 00018324  0x00004191 nrtn  0x00000028 
- 00018325  0x00004192 call  0x00004797 
- 00018326  0x00004193 branch  0x000047b4 
- 00018327  0x00004196 arg  0x00000000 , 0x00000011 
- 00018328  0x00004197 fetch  0x00000001 , 0x0000469f 
- 00018329  0x00004198 call  0x000047a9 
- 00018330  0x00004199 nsetflag  0x00000034 , 0x00000000 , 0x00000011 
- 00018331  0x0000419a fetch  0x00000001 , 0x000046a0 
- 00018332  0x0000419b call  0x000047a9 
- 00018333  0x0000419c nsetflag  0x00000034 , 0x00000001 , 0x00000011 
- 00018334  0x0000419d fetch  0x00000001 , 0x000046a1 
- 00018335  0x0000419e call  0x000047a9 
- 00018336  0x0000419f nsetflag  0x00000034 , 0x00000002 , 0x00000011 
- 00018337  0x000041a0 copy  0x00000011 , 0x0000003f 
- 00018338  0x000041a1 store  0x00000001 , 0x000046a9 
- 00018339  0x000041a2 fetch  0x00000001 , 0x0000469e 
- 00018340  0x000041a3 imul32  0x00000011 , 0x0000003f 
- 00018341  0x000041a4 fetcht  0x00000002 , 0x0000469c 
- 00018342  0x000041a5 iadd  0x00000002 , 0x0000003f 
- 00018343  0x000041a6 store  0x00000002 , 0x000046aa 
- 00018344  0x000041a7 rtn 
- 00018345  0x000041aa rtn  0x00000034 
- 00018346  0x000041ab or  0x0000003f , 0x00000080 , 0x00000002 
- 00018347  0x000041ac call  0x0000681d 
- 00018348  0x000041ad nbranch  0x00007ff1 , 0x00000001 
- 00018349  0x000041ae branch  0x00007fef 
- 00018350  0x000041b2 call  0x00007fe9 
- 00018351  0x000041b3 fetch  0x00000001 , 0x000046a8 
- 00018352  0x000041b4 nrtn  0x00000034 
- 00018353  0x000041b5 fetch  0x00000001 , 0x0000469b 
- 00018354  0x000041b6 rtn  0x00000034 
- 00018355  0x000041b7 branch  0x00007fe7 
- 00018356  0x000041bb call  0x0000666a 
- 00018357  0x000041bc fetch  0x00000002 , 0x000046aa 
- 00018358  0x000041bd arg  0x00000ac2 , 0x00000011 
- 00018359  0x000041be fetcht  0x00000001 , 0x0000469e 
- 00018360  0x000041bf call  0x000066b3 
- 00018361  0x000041c0 call  0x0000666d 
- 00018362  0x000041c2 fetch  0x00000001 , 0x00000ac2 
- 00018363  0x000041c3 copy  0x0000003f , 0x00000039 
- 00018364  0x000041c4 store  0x00000001 , 0x000043af 
- 00018365  0x000041c5 call  0x00007ef4 
- 00018366  0x000041c6 fetch  0x00000001 , 0x00000ac2 
- 00018367  0x000041c7 copy  0x0000003f , 0x00000039 
- 00018368  0x000041c8 store  0x00000001 , 0x00004515 
- 00018369  0x000041c9 call  0x00007ef4 
- 00018370  0x000041ca ifetch  0x00000001 , 0x00000006 
- 00018371  0x000041cb store  0x00000001 , 0x000046e6 
- 00018372  0x000041cc ifetch  0x00000001 , 0x00000006 
- 00018373  0x000041cd store  0x00000001 , 0x000046dd 
- 00018374  0x000041ce rtn 
- 00018375  0x000041d2 fetch  0x00000001 , 0x0000469a 
- 00018376  0x000041d3 rtnbit0  0x00000001 
- 00018377  0x000041d4 arg  0x00000003 , 0x00000002 
- 00018378  0x000041d5 fetch  0x00000002 , 0x000046a4 
- 00018379  0x000041d6 copy  0x0000003f , 0x00000012 
- 00018380  0x000041d7 arg  0x000046a6 , 0x00000011 
- 00018381  0x000041d8 call  0x000065df 
- 00018382  0x000041d9 fetcht  0x00000002 , 0x000046a6 
- 00018383  0x000041da setarg  0x00001b3a 
- 00018384  0x000041db isub  0x00000002 , 0x0000003e 
- 00018385  0x000041dc nrtn  0x00000005 
- 00018386  0x000041dd fetch  0x00000001 , 0x000046a8 
- 00018387  0x000041de rtn  0x00000034 
- 00018388  0x000041df copy  0x0000003f , 0x00000002 
- 00018389  0x000041e0 fetch  0x00000002 , 0x000046a4 
- 00018390  0x000041e1 add  0x0000003f , 0x00000003 , 0x00000012 
- 00018391  0x000041e2 arg  0x00000ac2 , 0x00000011 
- 00018392  0x000041e3 call  0x000065df 
- 00018393  0x000041e4 branch  0x000047e8 
- 00018394  0x000041e7 fetch  0x00000002 , 0x000046a2 
- 00018395  0x000041e8 rtn  0x00000034 
- 00018396  0x000041e9 call  0x0000666a 
- 00018397  0x000041ea arg  0x00000001 , 0x00000002 
- 00018398  0x000041eb arg  0x000046a8 , 0x00000011 
- 00018399  0x000041ec call  0x000066b3 
- 00018400  0x000041ee fetch  0x00000001 , 0x000046a8 
- 00018401  0x000041ef rtn  0x00000034 
- 00018402  0x000041f1 fetch  0x00000002 , 0x000046a2 
- 00018403  0x000041f2 pincrease  0x00000001 
- 00018404  0x000041f3 arg  0x00000ac2 , 0x00000011 
- 00018405  0x000041f4 fetcht  0x00000001 , 0x000046a8 
- 00018406  0x000041f5 call  0x000066b3 
- 00018407  0x000041f6 call  0x0000666d 
- 00018408  0x000041f8 call  0x000047ba 
- 00018409  0x000041fa ifetch  0x00000002 , 0x00000006 
- 00018410  0x000041fb rtn  0x00000034 
- 00018411  0x000041fc copy  0x0000003f , 0x00000005 
- 00018412  0x000041fd ifetcht  0x00000001 , 0x00000006 
- 00018413  0x000041fe copy  0x00000002 , 0x00000039 
- 00018414  0x000041ff call  0x00007f01 
- 00018415  0x00004200 branch  0x000047e9 
- 00018416  0x00004205 fetch  0x00000001 , 0x0000469a 
- 00018417  0x00004206 rtnbit0  0x00000001 
- 00018418  0x00004207 fetch  0x00000002 , 0x000046ae 
- 00018419  0x00004208 copy  0x0000003f , 0x00000012 
- 00018420  0x00004209 arg  0x00000004 , 0x00000002 
- 00018421  0x0000420a arg  0x00000ac2 , 0x00000011 
- 00018422  0x0000420b call  0x000065df 
- 00018423  0x0000420c fetch  0x00000001 , 0x00000ac2 
- 00018424  0x0000420d bne  0x00000001 , 0x000047f9 
- 00018425  0x0000420f setarg  0x00000001 
- 00018426  0x00004210 store  0x00000001 , 0x00000ac2 
- 00018427  0x00004211 force  0x00000003 , 0x00000039 
- 00018428  0x00004212 call  0x0000630d 
- 00018429  0x00004213 fetch  0x00000002 , 0x000046ae 
- 00018430  0x00004214 copy  0x0000003f , 0x00000012 
- 00018431  0x00004215 arg  0x00000004 , 0x00000002 
- 00018432  0x00004216 arg  0x00000ac2 , 0x00000011 
- 00018433  0x00004217 call  0x00006606 
- 00018434  0x00004219 fetch  0x00000003 , 0x00000ac3 
- 00018435  0x0000421a store  0x00000003 , 0x000040a0 
- 00018436  0x0000421b store  0x00000003 , 0x000044a0 
- 00018437  0x0000421c rtn 
- 00018438  0x00004220 branch  0x000046d9 
- 00018439  0x00004224 arg  0x00000000 , 0x00000011 
- 00018440  0x00004225 arg  0x000048d4 , 0x00000013 
- 00018441  0x00004226 call  0x00007d24 
- 00018442  0x00004227 call  0x000046f4 
- 00018443  0x00004229 fetch  0x00000001 , 0x000048eb 
- 00018444  0x0000422a store  0x00000001 , 0x000048ec 
- 00018445  0x0000422b rtn 
- 00018446  0x00004230 setarg  0x00000000 
- 00018447  0x00004231 call  0x00004816 
- 00018448  0x00004232 jam  0x00000001 , 0x00004679 
- 00018449  0x00004233 call  0x00007cd3 
- 00018450  0x00004234 call  0x00007cdd 
- 00018451  0x00004235 fetch  0x00000002 , 0x00004682 
- 00018452  0x00004236 rtnbit1  0x0000000c 
- 00018453  0x00004237 branch  0x0000340a 
- 00018454  0x0000423a fetcht  0x00000002 , 0x0000423f 
- 00018455  0x0000423b istore  0x00000001 , 0x00000002 
- 00018456  0x0000423c ifetch  0x00000001 , 0x00000005 
- 00018457  0x0000423d store  0x00000001 , 0x00004685 
- 00018458  0x0000423e rtn 
- 00018459  0x00004242 fetch  0x00000002 , 0x0000423f 
- 00018460  0x00004243 ifetch  0x00000001 , 0x0000003f 
- 00018461  0x00004244 rtnne  0x00000000 
- 00018462  0x00004245 branch  0x0000340a 
- 00018463  0x00004249 fetcht  0x00000002 , 0x0000423f 
- 00018464  0x0000424a ifetch  0x00000001 , 0x00000002 
- 00018465  0x0000424b beq  0x00000001 , 0x0000482a 
- 00018466  0x0000424d setarg  0x00000001 
- 00018467  0x0000424e fetcht  0x00000002 , 0x0000423f 
- 00018468  0x0000424f istore  0x00000001 , 0x00000002 
- 00018469  0x00004250 add  0x00000002 , 0x00000002 , 0x00000006 
- 00018470  0x00004251 ifetch  0x00000001 , 0x00000006 
- 00018471  0x00004252 istore  0x00000001 , 0x00004685 
- 00018472  0x00004253 ifetch  0x00000002 , 0x00000006 
- 00018473  0x00004254 branch  0x00007f9c 
- 00018474  0x00004257 setarg  0x00000002 
- 00018475  0x00004258 call  0x00004816 
- 00018476  0x00004259 add  0x00000002 , 0x00000005 , 0x00000006 
- 00018477  0x0000425a ifetch  0x00000002 , 0x00000006 
- 00018478  0x0000425b branch  0x0000340a , 0x00000034 
- 00018479  0x0000425c branch  0x00007f9c 
- 00018480  0x00004263 store  0x00000006 , 0x00000101 
- 00018481  0x00004264 fetch  0x00000001 , 0x00000101 
- 00018482  0x00004265 store  0x00000001 , 0x0000010c 
- 00018483  0x00004266 ifetch  0x00000001 , 0x00000006 
- 00018484  0x00004267 store  0x00000001 , 0x0000010b 
- 00018485  0x00004268 ifetch  0x00000001 , 0x00000006 
- 00018486  0x00004269 store  0x00000001 , 0x0000010a 
- 00018487  0x0000426a ifetch  0x00000001 , 0x00000006 
- 00018488  0x0000426b store  0x00000001 , 0x00000109 
- 00018489  0x0000426c ifetch  0x00000001 , 0x00000006 
- 00018490  0x0000426d store  0x00000001 , 0x00000108 
- 00018491  0x0000426e ifetch  0x00000001 , 0x00000006 
- 00018492  0x0000426f store  0x00000001 , 0x00000107 
- 00018493  0x00004270 fetch  0x00000006 , 0x00000107 
- 00018494  0x00004271 rtn 
- 00018495  0x00004274 call  0x000068a2 
- 00018496  0x00004275 fetch  0x00000001 , 0x00004223 
- 00018497  0x00004276 store  0x00000001 , 0x000044a0 
- 00018498  0x00004277 fetch  0x00000001 , 0x00004225 
- 00018499  0x00004278 istore  0x00000001 , 0x00000005 
- 00018500  0x00004279 fetch  0x00000001 , 0x00004227 
- 00018501  0x0000427a istore  0x00000001 , 0x00000005 
- 00018502  0x0000427b fetch  0x00000003 , 0x000044a0 
- 00018503  0x0000427c store  0x00000003 , 0x000040a0 
- 00018504  0x0000427d rtn 
- 00018505  0x0000428a fetch  0x00000002 , 0x00004203 
- 00018506  0x0000428b iadd  0x00000012 , 0x0000003f 
- 00018507  0x0000428c byteswap  0x0000003f , 0x0000003f 
- 00018508  0x0000428d store  0x00000002 , 0x000001f7 
- 00018509  0x0000428e copy  0x00000002 , 0x00000012 
- 00018510  0x00004290 call  0x0000489b 
- 00018511  0x00004291 setarg  0x000000a0 
- 00018512  0x00004292 call  0x0000488d 
- 00018513  0x00004293 fetch  0x00000001 , 0x000001f7 
- 00018514  0x00004294 call  0x0000488d 
- 00018515  0x00004295 bmark1  0x00000028 , 0x00004856 
- 00018516  0x00004296 fetch  0x00000001 , 0x000001f8 
- 00018517  0x00004297 call  0x0000488d 
- 00018518  0x00004299 call  0x000048a1 
- 00018519  0x0000429b call  0x0000489b 
- 00018520  0x0000429c setarg  0x000000a1 
- 00018521  0x0000429d call  0x0000488d 
- 00018522  0x000042a0 call  0x0000487f 
- 00018523  0x000042a1 istore  0x00000001 , 0x00000011 
- 00018524  0x000042a2 increase  0x00000001 , 0x00000011 
- 00018525  0x000042a3 increase  0xffffffff , 0x00000012 
- 00018526  0x000042a4 nbranch  0x0000485a , 0x00000005 
- 00018527  0x000042a5 branch  0x000048a1 
- 00018528  0x000042b1 byteswap  0x00000012 , 0x0000003f 
- 00018529  0x000042b2 store  0x00000002 , 0x000001f7 
- 00018530  0x000042b3 copy  0x00000002 , 0x00000012 
- 00018531  0x000042b5 call  0x0000489b 
- 00018532  0x000042b6 setarg  0x000000a0 
- 00018533  0x000042b7 call  0x0000488d 
- 00018534  0x000042b9 fetch  0x00000001 , 0x000001f7 
- 00018535  0x000042ba call  0x0000488d 
- 00018536  0x000042bb bmark1  0x00000028 , 0x0000486b 
- 00018537  0x000042bc fetch  0x00000001 , 0x000001f8 
- 00018538  0x000042bd call  0x0000488d 
- 00018539  0x000042bf ifetch  0x00000001 , 0x00000011 
- 00018540  0x000042c0 call  0x0000488d 
- 00018541  0x000042c1 increase  0x00000001 , 0x00000011 
- 00018542  0x000042c2 increase  0xffffffff , 0x00000012 
- 00018543  0x000042c3 nbranch  0x0000486b , 0x00000005 
- 00018544  0x000042c4 branch  0x000048a1 
- 00018545  0x000042c9 arg  0x0000000a , 0x00000039 
- 00018546  0x000042ca call  0x000048be 
- 00018547  0x000042cb call  0x000048a6 
- 00018548  0x000042cc call  0x000048d2 
- 00018549  0x000042ce call  0x000048c7 
- 00018550  0x000042cf branch  0x000048a9 , 0x00000034 
- 00018551  0x000042d0 loop  0x00004875 
- 00018552  0x000042d1 branch  0x000048a9 
- 00018553  0x000042d6 call  0x000048a9 
- 00018554  0x000042d7 call  0x000048af 
- 00018555  0x000042d8 call  0x000048d2 
- 00018556  0x000042d9 call  0x000048a6 
- 00018557  0x000042da call  0x000048d2 
- 00018558  0x000042db branch  0x000048a9 
- 00018559  0x000042e1 arg  0x00000008 , 0x00000039 
- 00018560  0x000042e2 arg  0x00000000 , 0x00000013 
- 00018561  0x000042e3 call  0x000048be 
- 00018562  0x000042e5 call  0x000048a6 
- 00018563  0x000042e6 call  0x000048d2 
- 00018564  0x000042e7 lshift  0x00000013 , 0x00000013 
- 00018565  0x000042e8 call  0x000048c7 
- 00018566  0x000042e9 iadd  0x00000013 , 0x00000013 
- 00018567  0x000042ea call  0x000048d2 
- 00018568  0x000042eb call  0x000048a9 
- 00018569  0x000042ec loop  0x00004882 
- 00018570  0x000042ed call  0x00004879 
- 00018571  0x000042ee copy  0x00000013 , 0x0000003f 
- 00018572  0x000042ef rtn 
- 00018573  0x000042f4 arg  0x00000008 , 0x00000039 
- 00018574  0x000042f5 copy  0x0000003f , 0x00000013 
- 00018575  0x000042f6 call  0x000048a9 
- 00018576  0x000042f8 isolate1  0x00000007 , 0x00000013 
- 00018577  0x000042f9 call  0x000048ac , 0x00000001 
- 00018578  0x000042fa ncall  0x000048af , 0x00000001 
- 00018579  0x000042fb lshift  0x00000013 , 0x00000013 
- 00018580  0x000042fc call  0x000048d2 
- 00018581  0x000042fd call  0x000048a6 
- 00018582  0x000042fe call  0x000048d2 
- 00018583  0x000042ff call  0x000048a9 
- 00018584  0x00004300 call  0x000048d2 
- 00018585  0x00004301 loop  0x00004890 
- 00018586  0x00004302 branch  0x00004871 
- 00018587  0x00004307 call  0x000048ac 
- 00018588  0x00004308 call  0x000048a6 
- 00018589  0x00004309 call  0x000048d2 
- 00018590  0x0000430a call  0x000048af 
- 00018591  0x0000430b call  0x000048d2 
- 00018592  0x0000430c branch  0x000048a9 
- 00018593  0x00004311 call  0x000048af 
- 00018594  0x00004312 call  0x000048a6 
- 00018595  0x00004313 call  0x000048d2 
- 00018596  0x00004314 call  0x000048ac 
- 00018597  0x00004315 branch  0x000048d2 
- 00018598  0x0000431a enable  0x00000028 
- 00018599  0x0000431b fetch  0x00000001 , 0x00004ffe 
- 00018600  0x0000431c branch  0x000048b2 
- 00018601  0x00004320 disable  0x00000028 
- 00018602  0x00004321 fetch  0x00000001 , 0x00004ffe 
- 00018603  0x00004322 branch  0x000048b2 
- 00018604  0x00004326 enable  0x00000028 
- 00018605  0x00004327 fetch  0x00000001 , 0x00004fff 
- 00018606  0x00004328 branch  0x000048b2 
- 00018607  0x0000432c disable  0x00000028 
- 00018608  0x0000432d fetch  0x00000001 , 0x00004fff 
- 00018609  0x0000432e branch  0x000048b2 
- 00018610  0x00004334 and  0x0000003f , 0x00000007 , 0x00000007 
- 00018611  0x00004335 rshift3  0x0000003f , 0x0000003f 
- 00018612  0x00004336 arg  0x00008070 , 0x00000002 
- 00018613  0x00004337 iadd  0x00000002 , 0x00000002 
- 00018614  0x00004338 ifetch  0x00000001 , 0x00000002 
- 00018615  0x00004339 qset1  0x0000003f 
- 00018616  0x0000433a istore  0x00000001 , 0x00000002 
- 00018617  0x0000433b increase  0x00000004 , 0x00000002 
- 00018618  0x0000433c ifetch  0x00000001 , 0x00000002 
- 00018619  0x0000433d qsetflag  0x00000028 , 0x0000003f 
- 00018620  0x0000433e istore  0x00000001 , 0x00000002 
- 00018621  0x0000433f rtn 
- 00018622  0x00004343 fetch  0x00000001 , 0x00004fff 
- 00018623  0x00004344 and  0x0000003f , 0x00000007 , 0x00000007 
- 00018624  0x00004345 rshift3  0x0000003f , 0x0000003f 
- 00018625  0x00004346 arg  0x00008070 , 0x00000002 
- 00018626  0x00004347 iadd  0x00000002 , 0x00000002 
- 00018627  0x00004348 ifetch  0x00000001 , 0x00000002 
- 00018628  0x00004349 qset0  0x0000003f 
- 00018629  0x0000434a istore  0x00000001 , 0x00000002 
- 00018630  0x0000434b rtn 
- 00018631  0x00004351 nop  0x00000004 
- 00018632  0x00004352 fetch  0x00000001 , 0x00004fff 
- 00018633  0x00004353 and  0x0000003f , 0x00000007 , 0x00000007 
- 00018634  0x00004354 rshift3  0x0000003f , 0x0000003f 
- 00018635  0x00004355 arg  0x0000811c , 0x00000002 
- 00018636  0x00004356 iadd  0x00000002 , 0x00000002 
- 00018637  0x00004357 setarg  0x00000000 
- 00018638  0x00004358 ifetcht  0x00000001 , 0x00000002 
- 00018639  0x00004359 qisolate1  0x00000002 
- 00018640  0x0000435a setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00018641  0x0000435b rtn 
- 00018642  0x00004360 rtn 
- 00018643  0x00004367 bpatch  0x000000f6 , 0x0000401e 
- 00018644  0x00004368 hfetch  0x00000001 , 0x00008a26 
- 00018645  0x00004369 isolate1  0x00000007 , 0x0000003f 
- 00018646  0x0000436a call  0x000048ea , 0x00000001 
- 00018647  0x0000436b call  0x0000492e 
- 00018648  0x0000436c hfetch  0x00000001 , 0x00008a26 
- 00018649  0x0000436d store  0x00000001 , 0x00000b22 
- 00018650  0x0000436e hfetch  0x00000001 , 0x00008a27 
- 00018651  0x0000436f store  0x00000001 , 0x00000b23 
- 00018652  0x00004370 hstore  0x00000001 , 0x00008a27 
- 00018653  0x00004371 pinvert 
- 00018654  0x00004372 fetcht  0x00000001 , 0x00000d37 
- 00018655  0x00004373 iand  0x00000002 , 0x0000003f 
- 00018656  0x00004374 store  0x00000001 , 0x00000d37 
- 00018657  0x00004375 jam  0x000000e0 , 0x00008a26 
- 00018658  0x00004376 fetch  0x00000001 , 0x00000b23 
- 00018659  0x00004377 compare  0x00000001 , 0x0000003f , 0x00000001 
- 00018660  0x00004378 call  0x00004941 , 0x00000001 
- 00018661  0x00004379 fetch  0x00000001 , 0x00000b22 
- 00018662  0x0000437a compare  0x00000001 , 0x0000003f , 0x00000001 
- 00018663  0x0000437b call  0x0000494a , 0x00000001 
- 00018664  0x0000437c call  0x00004b61 
- 00018665  0x0000437d branch  0x00004903 
- 00018666  0x00004380 bpatch  0x000000f7 , 0x0000401e 
- 00018667  0x00004381 call  0x00004919 
- 00018668  0x00004382 jam  0x00000000 , 0x00008a00 
- 00018669  0x00004383 nop  0x00002710 
- 00018670  0x00004384 jam  0x000000c0 , 0x00008a10 
- 00018671  0x00004385 hfetch  0x00000002 , 0x00008050 
- 00018672  0x00004386 set0  0x0000000a , 0x0000003f 
- 00018673  0x00004387 hstore  0x00000002 , 0x00008050 
- 00018674  0x00004388 jam  0x0000003c , 0x00008a00 
- 00018675  0x00004389 jam  0x000000ff , 0x00008a26 
- 00018676  0x0000438a jam  0x000000ff , 0x00008a27 
- 00018677  0x0000438b jam  0x00000000 , 0x00008a04 
- 00018678  0x0000438c jam  0x00000002 , 0x00000c6b 
- 00018679  0x0000438d setarg  0x00000d9d 
- 00018680  0x0000438e arg  0x00000c6e , 0x00000005 
- 00018681  0x0000438f isub  0x00000005 , 0x00000039 
- 00018682  0x00004390 branch  0x00007ed4 
- 00018683  0x00004393 fetcht  0x00000001 , 0x00000c6c 
- 00018684  0x00004394 branch  0x000067fb 
- 00018685  0x00004396 fetch  0x00000001 , 0x00000d45 
- 00018686  0x00004397 rtn  0x00000034 
- 00018687  0x00004398 fetcht  0x00000001 , 0x00000c6c 
- 00018688  0x00004399 call  0x0000681d 
- 00018689  0x0000439a branch  0x000048ea , 0x00000001 
- 00018690  0x0000439b rtn 
- 00018691  0x0000439f arg  0x00000000 , 0x00000007 
- 00018692  0x000043a0 call  0x00007f16 
- 00018693  0x000043a1 nrtn  0x00000034 
- 00018694  0x000043a2 fetch  0x00000001 , 0x00000d46 
- 00018695  0x000043a3 nrtn  0x00000034 
- 00018696  0x000043a4 fetch  0x00000001 , 0x00000d45 
- 00018697  0x000043a5 ncall  0x00004bb7 , 0x00000034 
- 00018698  0x000043a6 rtn 
- 00018699  0x000043a9 arg  0x00000b68 , 0x00000005 
- 00018700  0x000043aa setsect  0x00000000 , 0x00011212 
- 00018701  0x000043ab setsect  0x00000001 , 0x00008000 
- 00018702  0x000043ac setsect  0x00000002 , 0x00000000 
- 00018703  0x000043ad setsect  0x00000003 , 0x00010000 
- 00018704  0x000043ae istore  0x00000009 , 0x00000005 
- 00018705  0x000043af setsect  0x00000000 , 0x00022412 
- 00018706  0x000043b0 setsect  0x00000001 , 0x00008604 
- 00018707  0x000043b1 setsect  0x00000002 , 0x00001000 
- 00018708  0x000043b2 setsect  0x00000003 , 0x00000008 
- 00018709  0x000043b3 istore  0x00000009 , 0x00000005 
- 00018710  0x000043b4 setsect  0x00000000 , 0x00000001 
- 00018711  0x000043b5 istore  0x00000001 , 0x00000005 
- 00018712  0x000043b6 rtn 
- 00018713  0x000043b9 jam  0x00000002 , 0x00000c6b 
- 00018714  0x000043ba setarg  0x00000000 
- 00018715  0x000043bb store  0x00000001 , 0x00000b67 
- 00018716  0x000043bc store  0x00000002 , 0x00000c65 
- 00018717  0x000043bd pincrease  0x00000001 
- 00018718  0x000043be store  0x00000002 , 0x00000c67 
- 00018719  0x000043bf pincrease  0x00000001 
- 00018720  0x000043c0 store  0x00000002 , 0x00000c69 
- 00018721  0x000043c1 setarg  0x00008ffa 
- 00018722  0x000043c2 store  0x00000002 , 0x00000b7c 
- 00018723  0x000043c3 setarg  0x0000903a 
- 00018724  0x000043c4 store  0x00000002 , 0x00000b7e 
- 00018725  0x000043c5 arg  0x00000b80 , 0x00000005 
- 00018726  0x000043c6 arg  0x000090fe , 0x00000006 
- 00018727  0x000043c7 call  0x00007eb3 
- 00018728  0x000043c8 fetch  0x00000001 , 0x00000c6d 
- 00018729  0x000043c9 ncall  0x0000492b , 0x00000034 
- 00018730  0x000043ca branch  0x0000490b 
- 00018731  0x000043cd store  0x00000001 , 0x00000ba2 
- 00018732  0x000043ce store  0x00000001 , 0x00000bbb 
- 00018733  0x000043cf rtn 
- 00018734  0x000043d1 hfetch  0x00000001 , 0x00008a26 
- 00018735  0x000043d2 bbit1  0x00000006 , 0x00004931 
- 00018736  0x000043d3 rtn 
- 00018737  0x000043d6 call  0x00004936 
- 00018738  0x000043d7 call  0x00007f15 
- 00018739  0x000043d8 setarg  0x00000280 
- 00018740  0x000043d9 arg  0x00000000 , 0x00000007 
- 00018741  0x000043da branch  0x00007f08 
- 00018742  0x000043dd fetch  0x00000001 , 0x00000d36 
- 00018743  0x000043de bne  0x00000002 , 0x0000493b 
- 00018744  0x000043df jam  0x00000000 , 0x00000d46 
- 00018745  0x000043e0 jam  0x00000000 , 0x00000d47 
- 00018746  0x000043e1 rtn 
- 00018747  0x000043e3 fetch  0x00000001 , 0x00000d53 
- 00018748  0x000043e4 rtn  0x00000034 
- 00018749  0x000043e5 jam  0x00000000 , 0x00000d53 
- 00018750  0x000043e6 jam  0x00000002 , 0x00000d36 
- 00018751  0x000043e7 jam  0x00000001 , 0x00000d45 
- 00018752  0x000043e8 rtn 
- 00018753  0x000043eb jam  0x00000001 , 0x00008a27 
- 00018754  0x000043ec branch  0x00004b37 
- 00018755  0x000043ef fetch  0x00000001 , 0x00000b22 
- 00018756  0x000043f0 bbit1  0x00000004 , 0x00004955 
- 00018757  0x000043f1 rtn 
- 00018758  0x000043f4 hfetch  0x00000001 , 0x00008a18 
- 00018759  0x000043f5 istore  0x00000001 , 0x00000005 
- 00018760  0x000043f6 loop  0x00004946 
- 00018761  0x000043f7 rtn 
- 00018762  0x000043fa bpatch  0x000000f8 , 0x0000401f 
- 00018763  0x000043fb jam  0x00000011 , 0x00008a26 
- 00018764  0x000043fc hfetch  0x00000001 , 0x00008a20 
- 00018765  0x000043fd store  0x00000001 , 0x00000b24 
- 00018766  0x000043fe copy  0x0000003f , 0x00000039 
- 00018767  0x000043ff branch  0x00004943 , 0x00000034 
- 00018768  0x00004400 arg  0x00000c6e , 0x00000005 
- 00018769  0x00004401 call  0x00004946 
- 00018770  0x00004402 fetch  0x00000001 , 0x00000b24 
- 00018771  0x00004403 sub  0x0000003f , 0x00000007 , 0x0000003e 
- 00018772  0x00004404 rtn  0x00000002 
- 00018773  0x00004406 fetch  0x00000001 , 0x00000c6e 
- 00018774  0x00004407 and_into  0x00000080 , 0x0000003f 
- 00018775  0x00004408 beq  0x00000080 , 0x0000495a 
- 00018776  0x00004409 beq  0x00000000 , 0x00004962 
- 00018777  0x0000440a branch  0x00002a8c 
- 00018778  0x0000440d fetch  0x00000001 , 0x00000c6e 
- 00018779  0x0000440e rshift4  0x0000003f , 0x0000003f 
- 00018780  0x0000440f rshift  0x0000003f , 0x0000003f 
- 00018781  0x00004410 and_into  0x00000003 , 0x0000003f 
- 00018782  0x00004411 beq  0x00000000 , 0x0000496a 
- 00018783  0x00004412 beq  0x00000001 , 0x00004970 
- 00018784  0x00004413 beq  0x00000002 , 0x00004975 
- 00018785  0x00004414 branch  0x00002a8c 
- 00018786  0x00004417 fetch  0x00000001 , 0x00000c6e 
- 00018787  0x00004418 rshift4  0x0000003f , 0x0000003f 
- 00018788  0x00004419 rshift  0x0000003f , 0x0000003f 
- 00018789  0x0000441a and_into  0x00000003 , 0x0000003f 
- 00018790  0x0000441b beq  0x00000000 , 0x00004976 
- 00018791  0x0000441c beq  0x00000001 , 0x0000497e 
- 00018792  0x0000441d beq  0x00000002 , 0x00004983 
- 00018793  0x0000441e branch  0x00002a8c 
- 00018794  0x00004421 fetch  0x00000001 , 0x00000c6f 
- 00018795  0x00004422 beq  0x00000008 , 0x0000498a 
- 00018796  0x00004423 beq  0x00000006 , 0x000049a0 
- 00018797  0x00004424 beq  0x0000000a , 0x000049ea 
- 00018798  0x00004425 beq  0x00000000 , 0x000049fc 
- 00018799  0x00004426 branch  0x00004984 
- 00018800  0x00004429 fetch  0x00000001 , 0x00000c6f 
- 00018801  0x0000442a beq  0x00000002 , 0x00004a2f 
- 00018802  0x0000442b beq  0x00000001 , 0x00004a33 
- 00018803  0x0000442c beq  0x00000003 , 0x00004a45 
- 00018804  0x0000442d branch  0x00004984 
- 00018805  0x00004430 branch  0x00004984 
- 00018806  0x00004433 fetch  0x00000001 , 0x00000c6f 
- 00018807  0x00004434 beq  0x00000001 , 0x00004a4f 
- 00018808  0x00004435 beq  0x00000003 , 0x00004a79 
- 00018809  0x00004436 beq  0x00000005 , 0x00004aa3 
- 00018810  0x00004437 beq  0x00000009 , 0x00004abc 
- 00018811  0x00004438 beq  0x0000000b , 0x00004ad7 
- 00018812  0x00004439 beq  0x00000007 , 0x00004984 
- 00018813  0x0000443a branch  0x00004984 
- 00018814  0x0000443d fetch  0x00000001 , 0x00000c6f 
- 00018815  0x0000443e beq  0x0000000a , 0x00004ae8 
- 00018816  0x0000443f beq  0x00000009 , 0x00004af9 
- 00018817  0x00004440 beq  0x0000000b , 0x00004b11 
- 00018818  0x00004441 branch  0x00004984 
- 00018819  0x00004444 branch  0x00004984 
- 00018820  0x00004447 hfetch  0x00000001 , 0x00008a11 
- 00018821  0x00004448 set1  0x00000000 , 0x0000003f 
- 00018822  0x00004449 hstore  0x00000001 , 0x00008a11 
- 00018823  0x0000444a branch  0x00004988 
- 00018824  0x0000444d jam  0x00000040 , 0x00008a12 
- 00018825  0x0000444e rtn 
- 00018826  0x00004451 fetch  0x00000001 , 0x00000c6e 
- 00018827  0x00004452 bne  0x00000080 , 0x00004984 
- 00018828  0x00004453 fetch  0x00000001 , 0x00000c72 
- 00018829  0x00004454 bne  0x00000000 , 0x00004984 
- 00018830  0x00004455 fetch  0x00000001 , 0x00000c73 
- 00018831  0x00004456 bne  0x00000000 , 0x00004984 
- 00018832  0x00004457 fetch  0x00000001 , 0x00000c74 
- 00018833  0x00004458 bne  0x00000001 , 0x00004984 
- 00018834  0x00004459 fetch  0x00000001 , 0x00000c75 
- 00018835  0x0000445a bne  0x00000000 , 0x00004984 
- 00018836  0x0000445b fetch  0x00000001 , 0x00000c70 
- 00018837  0x0000445c bne  0x00000000 , 0x00004984 
- 00018838  0x0000445d fetch  0x00000001 , 0x00000c71 
- 00018839  0x0000445e bne  0x00000000 , 0x00004984 
- 00018840  0x0000445f fetch  0x00000001 , 0x00000c6b 
- 00018841  0x00004460 beq  0x00000004 , 0x0000499c 
- 00018842  0x00004461 beq  0x00000003 , 0x0000499e 
- 00018843  0x00004462 branch  0x00004984 
- 00018844  0x00004465 arg  0x00000001 , 0x00000012 
- 00018845  0x00004466 branch  0x00004a14 
- 00018846  0x00004469 arg  0x00000001 , 0x00000012 
- 00018847  0x0000446a branch  0x00004a12 
- 00018848  0x0000446d bpatch  0x000000f9 , 0x0000401f 
- 00018849  0x0000446e set0  0x00000023 , 0x00000000 
- 00018850  0x0000446f fetch  0x00000001 , 0x00000c71 
- 00018851  0x00004470 beq  0x00000001 , 0x000049b6 
- 00018852  0x00004471 beq  0x00000002 , 0x000049cf 
- 00018853  0x00004472 beq  0x00000003 , 0x000049d2 
- 00018854  0x00004473 beq  0x00000021 , 0x000049a9 
- 00018855  0x00004474 beq  0x00000022 , 0x000049e0 
- 00018856  0x00004475 branch  0x00004984 
- 00018857  0x00004478 jam  0x00000000 , 0x00000d4b 
- 00018858  0x00004479 fetch  0x00000001 , 0x00000c72 
- 00018859  0x0000447a beq  0x00000000 , 0x000049ae 
- 00018860  0x0000447b beq  0x00000001 , 0x000049b2 
- 00018861  0x0000447c branch  0x00004984 
- 00018862  0x0000447f arg  0x00000b93 , 0x00000011 
- 00018863  0x00004480 ifetch  0x00000001 , 0x00000011 
- 00018864  0x00004481 iforce  0x00000012 
- 00018865  0x00004482 branch  0x00004b21 
- 00018866  0x00004485 arg  0x00000bac , 0x00000011 
- 00018867  0x00004486 ifetch  0x00000001 , 0x00000011 
- 00018868  0x00004487 iforce  0x00000012 
- 00018869  0x00004488 branch  0x00004b21 
- 00018870  0x0000448e fetch  0x00000001 , 0x00000d48 
- 00018871  0x0000448f ncall  0x000049c7 , 0x00000034 
- 00018872  0x00004490 setarg  0x00000b68 
- 00018873  0x00004491 fetcht  0x00000001 , 0x00000b68 
- 00018874  0x00004493 store  0x00000002 , 0x00000d3f 
- 00018875  0x00004494 storet  0x00000001 , 0x00000d41 
- 00018876  0x00004495 fetch  0x00000001 , 0x00000c74 
- 00018877  0x00004496 isub  0x00000002 , 0x0000003e 
- 00018878  0x00004497 nbranch  0x000049c5 , 0x00000002 
- 00018879  0x00004499 fetch  0x00000001 , 0x00000d41 
- 00018880  0x0000449b iforce  0x00000012 
- 00018881  0x0000449c fetch  0x00000002 , 0x00000d3f 
- 00018882  0x0000449d add  0x0000003f , 0x00000001 , 0x0000003f 
- 00018883  0x0000449e iforce  0x00000011 
- 00018884  0x0000449f branch  0x00004b21 
- 00018885  0x000044a1 fetch  0x00000001 , 0x00000c74 
- 00018886  0x000044a2 branch  0x000049c0 
- 00018887  0x000044a5 hfetch  0x00000001 , 0x00008a04 
- 00018888  0x000044a6 ncall  0x000049cb , 0x00000034 
- 00018889  0x000044a7 jam  0x00000000 , 0x00000d48 
- 00018890  0x000044a8 rtn 
- 00018891  0x000044aa hfetch  0x00000001 , 0x00008a04 
- 00018892  0x000044ab set1  0x00000007 , 0x0000003f 
- 00018893  0x000044ac hstore  0x00000001 , 0x00008a04 
- 00018894  0x000044ad rtn 
- 00018895  0x000044b0 setarg  0x00000b80 
- 00018896  0x000044b1 fetcht  0x00000001 , 0x00000b80 
- 00018897  0x000044b2 branch  0x000049ba 
- 00018898  0x000044b5 fetch  0x00000001 , 0x00000c70 
- 00018899  0x000044b6 sub  0x0000003f , 0x00000003 , 0x0000003e 
- 00018900  0x000044b7 nbranch  0x00004984 , 0x00000002 
- 00018901  0x000044b8 fetch  0x00000001 , 0x00000c70 
- 00018902  0x000044b9 arg  0x00000be4 , 0x00000011 
- 00018903  0x000044ba beq  0x00000000 , 0x00004b1e 
- 00018904  0x000044bb set1  0x00000023 , 0x00000000 
- 00018905  0x000044bc arg  0x00000be9 , 0x00000011 
- 00018906  0x000044bd beq  0x00000001 , 0x00004b1e 
- 00018907  0x000044be arg  0x00000c07 , 0x00000011 
- 00018908  0x000044bf beq  0x00000002 , 0x00004b1e 
- 00018909  0x000044c0 arg  0x00000c47 , 0x00000011 
- 00018910  0x000044c1 beq  0x00000003 , 0x00004b1e 
- 00018911  0x000044c2 rtn 
- 00018912  0x000044c5 fetch  0x00000002 , 0x00000c72 
- 00018913  0x000044c6 beq  0x00000001 , 0x000049e5 
- 00018914  0x000044c7 fetch  0x00000002 , 0x00000b7c 
- 00018915  0x000044c8 copy  0x0000003f , 0x00000011 
- 00018916  0x000044ca branch  0x00004b1e 
- 00018917  0x000044cc jam  0x00000001 , 0x00000d45 
- 00018918  0x000044cd jam  0x00000001 , 0x00000d36 
- 00018919  0x000044ce fetch  0x00000002 , 0x00000b7e 
- 00018920  0x000044cf copy  0x0000003f , 0x00000011 
- 00018921  0x000044d1 branch  0x00004b1e 
- 00018922  0x000044d5 fetch  0x00000001 , 0x00000c6b 
- 00018923  0x000044d6 bne  0x00000004 , 0x00004984 
- 00018924  0x000044d7 fetch  0x00000001 , 0x00000c6e 
- 00018925  0x000044d8 bne  0x00000081 , 0x00004984 
- 00018926  0x000044d9 fetch  0x00000001 , 0x00000c70 
- 00018927  0x000044da bne  0x00000000 , 0x00004984 
- 00018928  0x000044db fetch  0x00000001 , 0x00000c71 
- 00018929  0x000044dc bne  0x00000000 , 0x00004984 
- 00018930  0x000044dd fetch  0x00000001 , 0x00000c74 
- 00018931  0x000044de bne  0x00000001 , 0x00004984 
- 00018932  0x000044df fetch  0x00000001 , 0x00000c75 
- 00018933  0x000044e0 bne  0x00000000 , 0x00004984 
- 00018934  0x000044e1 fetch  0x00000001 , 0x00000c72 
- 00018935  0x000044e2 bne  0x00000000 , 0x00004984 
- 00018936  0x000044e3 fetch  0x00000001 , 0x00000c73 
- 00018937  0x000044e4 bne  0x00000000 , 0x00004984 
- 00018938  0x000044e5 arg  0x00000001 , 0x00000012 
- 00018939  0x000044e6 branch  0x00004a12 
- 00018940  0x000044ea fetch  0x00000001 , 0x00000c6b 
- 00018941  0x000044eb beq  0x00000002 , 0x00004984 
- 00018942  0x000044ec fetch  0x00000001 , 0x00000c70 
- 00018943  0x000044ed bne  0x00000000 , 0x00004984 
- 00018944  0x000044ee fetch  0x00000001 , 0x00000c71 
- 00018945  0x000044ef bne  0x00000000 , 0x00004984 
- 00018946  0x000044f0 fetch  0x00000001 , 0x00000c74 
- 00018947  0x000044f1 bne  0x00000002 , 0x00004984 
- 00018948  0x000044f2 fetch  0x00000001 , 0x00000c75 
- 00018949  0x000044f3 bne  0x00000000 , 0x00004984 
- 00018950  0x000044f4 fetch  0x00000001 , 0x00000c73 
- 00018951  0x000044f5 bne  0x00000000 , 0x00004984 
- 00018952  0x000044f6 fetch  0x00000001 , 0x00000c6e 
- 00018953  0x000044f7 beq  0x00000080 , 0x00004a0d 
- 00018954  0x000044f8 beq  0x00000081 , 0x00004a18 
- 00018955  0x000044f9 beq  0x00000082 , 0x00004a1c 
- 00018956  0x000044fa branch  0x00004984 
- 00018957  0x000044fd fetch  0x00000001 , 0x00000c72 
- 00018958  0x000044fe bne  0x00000000 , 0x00004984 
- 00018959  0x000044ff arg  0x00000002 , 0x00000012 
- 00018960  0x00004500 fetch  0x00000001 , 0x00000d39 
- 00018961  0x00004501 beq  0x00000001 , 0x00004a16 
- 00018962  0x00004504 arg  0x00000c65 , 0x00000011 
- 00018963  0x00004505 branch  0x00004b21 
- 00018964  0x00004507 arg  0x00000c67 , 0x00000011 
- 00018965  0x00004508 branch  0x00004b21 
- 00018966  0x0000450a arg  0x00000c69 , 0x00000011 
- 00018967  0x0000450b branch  0x00004b21 
- 00018968  0x0000450e fetch  0x00000001 , 0x00000c6b 
- 00018969  0x0000450f bne  0x00000004 , 0x00004984 
- 00018970  0x00004510 arg  0x00000002 , 0x00000012 
- 00018971  0x00004511 branch  0x00004a12 
- 00018972  0x00004514 fetch  0x00000001 , 0x00000c6b 
- 00018973  0x00004515 bne  0x00000004 , 0x00004984 
- 00018974  0x00004516 fetch  0x00000001 , 0x00000c72 
- 00018975  0x00004517 beq  0x00000081 , 0x00004a29 
- 00018976  0x00004518 beq  0x00000082 , 0x00004a2b 
- 00018977  0x00004519 beq  0x00000083 , 0x00004a2d 
- 00018978  0x0000451a and_into  0x0000007f , 0x0000003f 
- 00018979  0x0000451b beq  0x00000000 , 0x00004a25 
- 00018980  0x0000451c branch  0x00004984 
- 00018981  0x0000451f fetch  0x00000001 , 0x00000d3b 
- 00018982  0x00004521 arg  0x00000002 , 0x00000012 
- 00018983  0x00004522 beq  0x00000001 , 0x00004a14 
- 00018984  0x00004523 branch  0x00004a12 
- 00018985  0x00004525 fetch  0x00000001 , 0x00000d3c 
- 00018986  0x00004526 branch  0x00004a26 
- 00018987  0x00004528 fetch  0x00000001 , 0x00000d3d 
- 00018988  0x00004529 branch  0x00004a26 
- 00018989  0x0000452b fetch  0x00000001 , 0x00000d3e 
- 00018990  0x0000452c branch  0x00004a26 
- 00018991  0x0000452f jam  0x00000001 , 0x00000d4c 
- 00018992  0x00004530 arg  0x00000d4d , 0x00000011 
- 00018993  0x00004531 arg  0x00000001 , 0x00000012 
- 00018994  0x00004532 branch  0x00004b21 
- 00018995  0x00004535 fetch  0x00000002 , 0x00000c70 
- 00018996  0x00004536 arg  0x000001ba , 0x00000002 
- 00018997  0x00004537 isub  0x00000002 , 0x0000003e 
- 00018998  0x00004538 nbranch  0x00004984 , 0x00000005 
- 00018999  0x00004539 set0  0x00000023 , 0x00000000 
- 00019000  0x0000453b fetch  0x00000001 , 0x00000d42 
- 00019001  0x0000453c nbranch  0x00004a42 , 0x00000034 
- 00019002  0x0000453d jam  0x00000000 , 0x00000cf6 
- 00019003  0x0000453f fetch  0x00000001 , 0x00000c74 
- 00019004  0x00004540 iforce  0x00000012 
- 00019005  0x00004541 arg  0x00000cf6 , 0x00000011 
- 00019006  0x00004542 call  0x00004b21 
- 00019007  0x00004544 arg  0x00000cf6 , 0x00000005 
- 00019008  0x00004545 arg  0x00000008 , 0x00000039 
- 00019009  0x00004546 branch  0x00007ec6 
- 00019010  0x00004548 jam  0x00000000 , 0x00000d42 
- 00019011  0x00004549 jam  0x00000001 , 0x00000cf6 
- 00019012  0x0000454a branch  0x00004a3b 
- 00019013  0x0000454d fetch  0x00000001 , 0x00000c74 
- 00019014  0x0000454e bne  0x00000001 , 0x00004984 
- 00019015  0x0000454f jam  0x00000001 , 0x00000d4b 
- 00019016  0x00004550 arg  0x00000001 , 0x00000012 
- 00019017  0x00004551 fetch  0x00000001 , 0x00000d49 
- 00019018  0x00004552 beq  0x00000000 , 0x00004a4d 
- 00019019  0x00004553 beq  0x00000001 , 0x00004a4e 
- 00019020  0x00004554 branch  0x00004a12 
- 00019021  0x00004556 branch  0x00004a14 
- 00019022  0x00004558 branch  0x00004a12 
- 00019023  0x0000455e fetch  0x00000001 , 0x00000c6b 
- 00019024  0x0000455f bne  0x00000004 , 0x00004984 
- 00019025  0x00004560 fetch  0x00000001 , 0x00000c74 
- 00019026  0x00004561 bne  0x00000000 , 0x00004984 
- 00019027  0x00004562 fetch  0x00000001 , 0x00000c75 
- 00019028  0x00004563 bne  0x00000000 , 0x00004984 
- 00019029  0x00004564 fetch  0x00000001 , 0x00000c71 
- 00019030  0x00004565 bne  0x00000000 , 0x00004984 
- 00019031  0x00004566 fetch  0x00000001 , 0x00000c73 
- 00019032  0x00004567 bne  0x00000000 , 0x00004984 
- 00019033  0x00004568 fetch  0x00000001 , 0x00000c6e 
- 00019034  0x00004569 beq  0x00000000 , 0x00004a5e 
- 00019035  0x0000456a beq  0x00000001 , 0x00004a66 
- 00019036  0x0000456b beq  0x00000002 , 0x00004a67 
- 00019037  0x0000456c branch  0x00004984 
- 00019038  0x0000456f fetch  0x00000001 , 0x00000c70 
- 00019039  0x00004570 bne  0x00000001 , 0x00004984 
- 00019040  0x00004571 hfetch  0x00000001 , 0x00008a00 
- 00019041  0x00004572 set0  0x00000007 , 0x0000003f 
- 00019042  0x00004573 hstore  0x00000001 , 0x00008a00 
- 00019043  0x00004574 jam  0x00000000 , 0x00000d39 
- 00019044  0x00004575 jam  0x00000001 , 0x00000d3a 
- 00019045  0x00004576 branch  0x00004988 
- 00019046  0x00004579 branch  0x00004984 
- 00019047  0x0000457c fetch  0x00000001 , 0x00000c70 
- 00019048  0x0000457d bne  0x00000000 , 0x00004984 
- 00019049  0x0000457e fetch  0x00000001 , 0x00000c72 
- 00019050  0x0000457f beq  0x00000081 , 0x00004a72 
- 00019051  0x00004580 beq  0x00000082 , 0x00004a75 
- 00019052  0x00004581 beq  0x00000083 , 0x00004a77 
- 00019053  0x00004582 and_into  0x0000007f , 0x0000003f 
- 00019054  0x00004583 beq  0x00000000 , 0x00004a70 
- 00019055  0x00004584 branch  0x00004984 
- 00019056  0x00004587 jam  0x00000000 , 0x00000d3b 
- 00019057  0x00004588 branch  0x00004988 
- 00019058  0x0000458a jam  0x00000000 , 0x00000d3c 
- 00019059  0x0000458c jam  0x00000001 , 0x00000d53 
- 00019060  0x0000458d branch  0x00004988 
- 00019061  0x0000458f jam  0x00000000 , 0x00000d3d 
- 00019062  0x00004590 branch  0x00004a73 
- 00019063  0x00004592 jam  0x00000000 , 0x00000d3e 
- 00019064  0x00004593 branch  0x00004a73 
- 00019065  0x00004597 fetch  0x00000001 , 0x00000c74 
- 00019066  0x00004598 bne  0x00000000 , 0x00004984 
- 00019067  0x00004599 fetch  0x00000001 , 0x00000c75 
- 00019068  0x0000459a bne  0x00000000 , 0x00004984 
- 00019069  0x0000459b fetch  0x00000001 , 0x00000c6e 
- 00019070  0x0000459c beq  0x00000000 , 0x00004a82 
- 00019071  0x0000459d beq  0x00000001 , 0x00004a8f 
- 00019072  0x0000459e beq  0x00000002 , 0x00004a90 
- 00019073  0x0000459f branch  0x00004984 
- 00019074  0x000045a2 fetch  0x00000001 , 0x00000c70 
- 00019075  0x000045a3 bne  0x00000001 , 0x00004984 
- 00019076  0x000045a4 hfetch  0x00000001 , 0x00008a00 
- 00019077  0x000045a5 set1  0x00000007 , 0x0000003f 
- 00019078  0x000045a6 hstore  0x00000001 , 0x00008a00 
- 00019079  0x000045a7 jam  0x00000001 , 0x00000d39 
- 00019080  0x000045a8 jam  0x00000003 , 0x00000d36 
- 00019081  0x000045a9 jam  0x00000000 , 0x00000d43 
- 00019082  0x000045aa call  0x00004988 
- 00019083  0x000045ac call  0x00007f15 
- 00019084  0x000045ad setarg  0x00001388 
- 00019085  0x000045ae arg  0x0000000f , 0x00000007 
- 00019086  0x000045af branch  0x00007f08 
- 00019087  0x000045b2 branch  0x00004984 
- 00019088  0x000045b5 fetch  0x00000001 , 0x00000c70 
- 00019089  0x000045b6 bne  0x00000000 , 0x00004984 
- 00019090  0x000045b7 fetch  0x00000001 , 0x00000c71 
- 00019091  0x000045b8 bne  0x00000000 , 0x00004984 
- 00019092  0x000045b9 fetch  0x00000001 , 0x00000c72 
- 00019093  0x000045ba beq  0x00000081 , 0x00004a9d 
- 00019094  0x000045bb beq  0x00000082 , 0x00004a9f 
- 00019095  0x000045bc beq  0x00000083 , 0x00004aa1 
- 00019096  0x000045bd and_into  0x0000007f , 0x0000003f 
- 00019097  0x000045be beq  0x00000000 , 0x00004a9b 
- 00019098  0x000045bf branch  0x00004984 
- 00019099  0x000045c2 jam  0x00000001 , 0x00000d3b 
- 00019100  0x000045c3 branch  0x00004988 
- 00019101  0x000045c5 jam  0x00000001 , 0x00000d3c 
- 00019102  0x000045c6 branch  0x00004988 
- 00019103  0x000045c8 jam  0x00000001 , 0x00000d3d 
- 00019104  0x000045c9 branch  0x00004988 
- 00019105  0x000045cb jam  0x00000001 , 0x00000d3e 
- 00019106  0x000045cc branch  0x00004988 
- 00019107  0x000045d0 fetch  0x00000001 , 0x00000c6e 
- 00019108  0x000045d1 bne  0x00000000 , 0x00004984 
- 00019109  0x000045d2 fetch  0x00000001 , 0x00000c72 
- 00019110  0x000045d3 bne  0x00000000 , 0x00004984 
- 00019111  0x000045d4 fetch  0x00000001 , 0x00000c73 
- 00019112  0x000045d5 bne  0x00000000 , 0x00004984 
- 00019113  0x000045d6 fetch  0x00000001 , 0x00000c74 
- 00019114  0x000045d7 bne  0x00000000 , 0x00004984 
- 00019115  0x000045d8 fetch  0x00000001 , 0x00000c75 
- 00019116  0x000045d9 bne  0x00000000 , 0x00004984 
- 00019117  0x000045da fetch  0x00000001 , 0x00000c71 
- 00019118  0x000045db bne  0x00000000 , 0x00004984 
- 00019119  0x000045dc fetch  0x00000001 , 0x00000c70 
- 00019120  0x000045dd and_into  0x00000080 , 0x0000003f 
- 00019121  0x000045de bne  0x00000000 , 0x00004984 
- 00019122  0x000045df fetch  0x00000001 , 0x00000c70 
- 00019123  0x000045e0 bne  0x00000000 , 0x00004aba 
- 00019124  0x000045e2 jam  0x00000002 , 0x00000c6b 
- 00019125  0x000045e4 fetch  0x00000001 , 0x00000c70 
- 00019126  0x000045e5 hstore  0x00000001 , 0x00008a04 
- 00019127  0x000045e6 call  0x00004988 
- 00019128  0x000045e7 jam  0x00000001 , 0x00000d48 
- 00019129  0x000045e8 rtn 
- 00019130  0x000045ea jam  0x00000003 , 0x00000c6b 
- 00019131  0x000045eb branch  0x00004ab5 
- 00019132  0x000045ef fetch  0x00000001 , 0x00000c6b 
- 00019133  0x000045f0 beq  0x00000002 , 0x00004984 
- 00019134  0x000045f1 fetch  0x00000001 , 0x00000c6e 
- 00019135  0x000045f2 bne  0x00000000 , 0x00004984 
- 00019136  0x000045f3 fetch  0x00000001 , 0x00000c72 
- 00019137  0x000045f4 bne  0x00000000 , 0x00004984 
- 00019138  0x000045f5 fetch  0x00000001 , 0x00000c73 
- 00019139  0x000045f6 bne  0x00000000 , 0x00004984 
- 00019140  0x000045f7 fetch  0x00000001 , 0x00000c74 
- 00019141  0x000045f8 bne  0x00000000 , 0x00004984 
- 00019142  0x000045f9 fetch  0x00000001 , 0x00000c75 
- 00019143  0x000045fa bne  0x00000000 , 0x00004984 
- 00019144  0x000045fb fetch  0x00000001 , 0x00000c71 
- 00019145  0x000045fc bne  0x00000000 , 0x00004984 
- 00019146  0x000045fd fetch  0x00000001 , 0x00000c70 
- 00019147  0x000045fe sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00019148  0x000045ff nbranch  0x00004984 , 0x00000002 
- 00019149  0x00004600 fetch  0x00000001 , 0x00000c6b 
- 00019150  0x00004601 beq  0x00000003 , 0x00004ad1 
- 00019151  0x00004602 beq  0x00000004 , 0x00004ad1 
- 00019152  0x00004603 branch  0x00004984 
- 00019153  0x00004607 fetch  0x00000001 , 0x00000c70 
- 00019154  0x00004608 beq  0x00000000 , 0x00004ad5 
- 00019155  0x00004609 jam  0x00000004 , 0x00000c6b 
- 00019156  0x0000460a branch  0x00004988 
- 00019157  0x0000460c jam  0x00000003 , 0x00000c6b 
- 00019158  0x0000460d branch  0x00004988 
- 00019159  0x00004611 fetch  0x00000001 , 0x00000c6b 
- 00019160  0x00004612 bne  0x00000004 , 0x00004984 
- 00019161  0x00004613 fetch  0x00000001 , 0x00000c6e 
- 00019162  0x00004614 bne  0x00000001 , 0x00004984 
- 00019163  0x00004615 fetch  0x00000001 , 0x00000c70 
- 00019164  0x00004616 bne  0x00000000 , 0x00004984 
- 00019165  0x00004617 fetch  0x00000001 , 0x00000c71 
- 00019166  0x00004618 bne  0x00000000 , 0x00004984 
- 00019167  0x00004619 fetch  0x00000001 , 0x00000c74 
- 00019168  0x0000461a bne  0x00000000 , 0x00004984 
- 00019169  0x0000461b fetch  0x00000001 , 0x00000c75 
- 00019170  0x0000461c bne  0x00000000 , 0x00004984 
- 00019171  0x0000461d fetch  0x00000001 , 0x00000c72 
- 00019172  0x0000461e bne  0x00000000 , 0x00004984 
- 00019173  0x0000461f fetch  0x00000001 , 0x00000c73 
- 00019174  0x00004620 bne  0x00000000 , 0x00004984 
- 00019175  0x00004621 branch  0x00004988 
- 00019176  0x00004625 jam  0x00000001 , 0x00000d4c 
- 00019177  0x00004626 fetch  0x00000001 , 0x00000c71 
- 00019178  0x00004627 store  0x00000001 , 0x00000d4d 
- 00019179  0x00004628 fetch  0x00000001 , 0x00000c72 
- 00019180  0x00004629 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00019181  0x0000462a call  0x00004af5 , 0x00000005 
- 00019182  0x0000462b fetch  0x00000001 , 0x00000d36 
- 00019183  0x0000462c bne  0x00000004 , 0x00004988 
- 00019184  0x0000462d jam  0x00000002 , 0x00000d36 
- 00019185  0x0000462e call  0x00004988 
- 00019186  0x0000462f nop  0x00007530 
- 00019187  0x00004630 nop  0x00007530 
- 00019188  0x00004631 rtn 
- 00019189  0x00004633 jam  0x00000001 , 0x00000d45 
- 00019190  0x00004634 jam  0x00000000 , 0x00000d3a 
- 00019191  0x00004635 jam  0x00000004 , 0x00000d36 
- 00019192  0x00004636 rtn 
- 00019193  0x0000463a jam  0x00000001 , 0x00000d50 
- 00019194  0x0000463b call  0x00004b03 
- 00019195  0x0000463c fetch  0x00000002 , 0x00000c70 
- 00019196  0x0000463d store  0x00000002 , 0x00000d4e 
- 00019197  0x0000463e fetch  0x00000001 , 0x00000c74 
- 00019198  0x0000463f iforce  0x00000039 
- 00019199  0x00004640 arg  0x00000c76 , 0x00000006 
- 00019200  0x00004641 arg  0x00000cb6 , 0x00000005 
- 00019201  0x00004642 call  0x00007f01 
- 00019202  0x00004643 branch  0x00004988 
- 00019203  0x00004646 fetch  0x00000002 , 0x00000c70 
- 00019204  0x00004647 arg  0x00000200 , 0x00000002 
- 00019205  0x00004648 isub  0x00000002 , 0x0000003e 
- 00019206  0x00004649 nrtn  0x00000005 
- 00019207  0x0000464a fetch  0x00000002 , 0x00000c72 
- 00019208  0x0000464b arg  0x00000000 , 0x00000002 
- 00019209  0x0000464c isub  0x00000002 , 0x0000003e 
- 00019210  0x0000464d nrtn  0x00000005 
- 00019211  0x0000464e fetch  0x00000002 , 0x00000c74 
- 00019212  0x0000464f arg  0x00000001 , 0x00000002 
- 00019213  0x00004650 isub  0x00000002 , 0x0000003e 
- 00019214  0x00004651 nrtn  0x00000005 
- 00019215  0x00004652 jam  0x00000001 , 0x00000d43 
- 00019216  0x00004653 rtn 
- 00019217  0x00004657 fetch  0x00000001 , 0x00000c74 
- 00019218  0x00004658 bne  0x00000000 , 0x00004984 
- 00019219  0x00004659 fetch  0x00000001 , 0x00000c70 
- 00019220  0x0000465a beq  0x00000000 , 0x00004b17 
- 00019221  0x0000465b beq  0x00000001 , 0x00004b1a 
- 00019222  0x0000465c branch  0x00004984 
- 00019223  0x0000465e jam  0x00000000 , 0x00000d4a 
- 00019224  0x0000465f jam  0x00000001 , 0x00000d49 
- 00019225  0x00004660 branch  0x00004988 
- 00019226  0x00004662 jam  0x00000001 , 0x00000d44 
- 00019227  0x00004663 jam  0x00000001 , 0x00000d4a 
- 00019228  0x00004664 jam  0x00000000 , 0x00000d49 
- 00019229  0x00004665 branch  0x00004988 
- 00019230  0x00004669 ifetch  0x00000001 , 0x00000011 
- 00019231  0x0000466a iforce  0x00000012 
- 00019232  0x0000466b increase  0x00000001 , 0x00000011 
- 00019233  0x0000466e bpatch  0x000000fa , 0x0000401f 
- 00019234  0x0000466f bmark0  0x00000023 , 0x00004b2c 
- 00019235  0x00004670 add  0x00000012 , 0x00000001 , 0x0000003f 
- 00019236  0x00004671 lshift  0x0000003f , 0x0000003f 
- 00019237  0x00004672 hstore  0x00000001 , 0x00008a18 
- 00019238  0x00004673 jam  0x00000003 , 0x00008a18 
- 00019239  0x00004674 fetch  0x00000001 , 0x00000c74 
- 00019240  0x00004675 increase  0xfffffffe , 0x0000003f 
- 00019241  0x00004676 rshift  0x0000003f , 0x0000003f 
- 00019242  0x00004677 store  0x00000001 , 0x00000c74 
- 00019243  0x00004678 beq  0x00000000 , 0x00004b35 
- 00019244  0x0000467a fetch  0x00000002 , 0x00000c74 
- 00019245  0x0000467b isub  0x00000012 , 0x0000003e 
- 00019246  0x0000467c branch  0x00004b30 , 0x00000002 
- 00019247  0x0000467d copy  0x0000003f , 0x00000012 
- 00019248  0x0000467f deposit  0x00000011 
- 00019249  0x00004680 store  0x00000002 , 0x00000b65 
- 00019250  0x00004681 deposit  0x00000012 
- 00019251  0x00004682 store  0x00000001 , 0x00000b67 
- 00019252  0x00004683 branch  0x00004b37 
- 00019253  0x00004686 arg  0x00000000 , 0x00000007 
- 00019254  0x00004687 branch  0x00004b57 
- 00019255  0x0000468b bpatch  0x000000fb , 0x0000401f 
- 00019256  0x0000468c fetch  0x00000001 , 0x00000b67 
- 00019257  0x0000468d rtn  0x00000034 
- 00019258  0x0000468e copy  0x0000003f , 0x00000039 
- 00019259  0x0000468f sub  0x0000003f , 0x00000040 , 0x0000003e 
- 00019260  0x00004690 branch  0x00004b3e , 0x00000002 
- 00019261  0x00004691 arg  0x00000040 , 0x00000039 
- 00019262  0x00004693 fetch  0x00000001 , 0x00000b67 
- 00019263  0x00004694 isub  0x00000039 , 0x0000003f 
- 00019264  0x00004695 store  0x00000001 , 0x00000b67 
- 00019265  0x00004696 fetch  0x00000002 , 0x00000b65 
- 00019266  0x00004697 copy  0x0000003f , 0x00000006 
- 00019267  0x00004699 ifetch  0x00000001 , 0x00000006 
- 00019268  0x0000469a hstore  0x00000001 , 0x00008a18 
- 00019269  0x0000469b bmark0  0x00000023 , 0x00004b47 
- 00019270  0x0000469c jam  0x00000000 , 0x00008a18 
- 00019271  0x0000469e loop  0x00004b43 
- 00019272  0x0000469f copy  0x00000006 , 0x0000003f 
- 00019273  0x000046a0 store  0x00000002 , 0x00000b65 
- 00019274  0x000046a1 arg  0x00000000 , 0x00000007 
- 00019275  0x000046a2 call  0x00004b57 
- 00019276  0x000046a3 fetch  0x00000001 , 0x00000b67 
- 00019277  0x000046a4 nrtn  0x00000034 
- 00019278  0x000046a5 fetch  0x00000001 , 0x00000d36 
- 00019279  0x000046a6 rtnne  0x00000001 
- 00019280  0x000046a7 jam  0x00000002 , 0x00000d36 
- 00019281  0x000046a8 rtn 
- 00019282  0x000046ac arg  0x00008a19 , 0x00000011 
- 00019283  0x000046ad arg  0x00000001 , 0x00000007 
- 00019284  0x000046af ifetch  0x00000001 , 0x00000006 
- 00019285  0x000046b0 istore  0x00000001 , 0x00000011 
- 00019286  0x000046b1 loop  0x00004b54 
- 00019287  0x000046b3 setarg  0x00000000 
- 00019288  0x000046b4 qset1  0x0000003f 
- 00019289  0x000046b5 hstore  0x00000001 , 0x00008a10 
- 00019290  0x000046b6 fetcht  0x00000001 , 0x00000d37 
- 00019291  0x000046b7 ior  0x00000002 , 0x0000003f 
- 00019292  0x000046b8 store  0x00000001 , 0x00000d37 
- 00019293  0x000046b9 rtn 
- 00019294  0x000046bc arg  0x00000002 , 0x00000007 
- 00019295  0x000046bd arg  0x00008a1a , 0x00000011 
- 00019296  0x000046be branch  0x00004b54 
- 00019297  0x000046c1 bpatch  0x000000fc , 0x0000401f 
- 00019298  0x000046c2 fetch  0x00000001 , 0x00000d38 
- 00019299  0x000046c3 rtn  0x00000034 
- 00019300  0x000046c4 fetch  0x00000001 , 0x00000d37 
- 00019301  0x000046c5 nbranch  0x00004bac , 0x00000034 
- 00019302  0x000046c6 fetch  0x00000001 , 0x00000d45 
- 00019303  0x000046c7 branch  0x00004b86 , 0x00000034 
- 00019304  0x000046c8 fetch  0x00000001 , 0x00000d36 
- 00019305  0x000046c9 beq  0x00000003 , 0x00004bbf 
- 00019306  0x000046ca bne  0x00000002 , 0x00004b86 
- 00019307  0x000046cb fetch  0x00000001 , 0x00000d3a 
- 00019308  0x000046cc nbranch  0x00004b86 , 0x00000034 
- 00019309  0x000046cd call  0x00004b6f 
- 00019310  0x000046ce branch  0x00004b7a 
- 00019311  0x000046d1 fetch  0x00000001 , 0x00000d38 
- 00019312  0x000046d2 rtnbit0  0x00000001 
- 00019313  0x000046d3 fetch  0x00000001 , 0x00000d37 
- 00019314  0x000046d4 rtnbit1  0x00000001 
- 00019315  0x000046d5 fetch  0x00000001 , 0x00000d38 
- 00019316  0x000046d6 set0  0x00000001 , 0x0000003f 
- 00019317  0x000046d7 store  0x00000001 , 0x00000d38 
- 00019318  0x000046d8 fetch  0x00000001 , 0x00000d51 
- 00019319  0x000046d9 rtn  0x00000034 
- 00019320  0x000046da beq  0x00000010 , 0x00004ba8 
- 00019321  0x000046db branch  0x00002a8c 
- 00019322  0x000046de fetch  0x00000001 , 0x00000d38 
- 00019323  0x000046df rtnbit0  0x00000002 
- 00019324  0x000046e0 fetch  0x00000001 , 0x00000d37 
- 00019325  0x000046e1 rtnbit1  0x00000002 
- 00019326  0x000046e2 fetch  0x00000001 , 0x00000d38 
- 00019327  0x000046e3 set0  0x00000002 , 0x0000003f 
- 00019328  0x000046e4 store  0x00000001 , 0x00000d38 
- 00019329  0x000046e5 fetch  0x00000001 , 0x00000d52 
- 00019330  0x000046e6 rtn  0x00000034 
- 00019331  0x000046e7 beq  0x00000020 , 0x00004b89 
- 00019332  0x000046e8 beq  0x00000021 , 0x00004ba4 
- 00019333  0x000046e9 branch  0x00002a8c 
- 00019334  0x000046ed arg  0x00000d54 , 0x00000005 
- 00019335  0x000046ee arg  0x00000006 , 0x00000039 
- 00019336  0x000046ef branch  0x00007ec6 
- 00019337  0x000046f2 fetch  0x00000001 , 0x00000d4c 
- 00019338  0x000046f3 fetcht  0x00000001 , 0x00000d4b 
- 00019339  0x000046f4 iand  0x00000002 , 0x0000003f 
- 00019340  0x000046f5 branch  0x00004ba0 , 0x00000034 
- 00019341  0x000046f6 fetcht  0x00000001 , 0x00000d4a 
- 00019342  0x000046f7 iadd  0x00000002 , 0x0000003f 
- 00019343  0x000046f8 beq  0x00000001 , 0x00004b91 
- 00019344  0x000046f9 branch  0x00004ba0 
- 00019345  0x000046fc jam  0x00000000 , 0x00000d52 
- 00019346  0x000046fe fetch  0x00000001 , 0x00000d55 
- 00019347  0x000046ff beq  0x00000002 , 0x00004ba1 
- 00019348  0x00004700 beq  0x00000003 , 0x00004ba1 
- 00019349  0x00004701 fetch  0x00000001 , 0x00000d55 
- 00019350  0x00004702 store  0x00000001 , 0x00000d54 
- 00019351  0x00004703 fetch  0x00000001 , 0x00000d56 
- 00019352  0x00004704 istore  0x00000001 , 0x00000005 
- 00019353  0x00004705 fetch  0x00000001 , 0x00000d58 
- 00019354  0x00004706 istore  0x00000001 , 0x00000005 
- 00019355  0x00004707 fetch  0x00000001 , 0x00000d5a 
- 00019356  0x00004708 istore  0x00000001 , 0x00000005 
- 00019357  0x00004709 arg  0x00000004 , 0x00000039 
- 00019358  0x0000470a arg  0x00000d54 , 0x00000006 
- 00019359  0x0000470b branch  0x00004b5e 
- 00019360  0x0000470e jam  0x00000000 , 0x00000d52 
- 00019361  0x00004710 arg  0x00000008 , 0x00000039 
- 00019362  0x00004711 arg  0x00000d54 , 0x00000006 
- 00019363  0x00004712 branch  0x00004b5e 
- 00019364  0x00004715 jam  0x00000000 , 0x00000d52 
- 00019365  0x00004716 arg  0x00000003 , 0x00000039 
- 00019366  0x00004717 arg  0x00000d74 , 0x00000006 
- 00019367  0x00004718 branch  0x00004b5e 
- 00019368  0x0000471b jam  0x00000000 , 0x00000d51 
- 00019369  0x0000471c arg  0x00000008 , 0x00000039 
- 00019370  0x0000471d arg  0x00000d64 , 0x00000006 
- 00019371  0x0000471e branch  0x00004b52 
- 00019372  0x00004721 fetch  0x00000001 , 0x00000d36 
- 00019373  0x00004722 beq  0x00000003 , 0x00004bb0 
- 00019374  0x00004723 beq  0x00000002 , 0x00004bb2 
- 00019375  0x00004724 rtn 
- 00019376  0x00004726 jam  0x00000000 , 0x00000d37 
- 00019377  0x00004727 rtn 
- 00019378  0x00004729 hfetch  0x00000001 , 0x00008a00 
- 00019379  0x0000472a set1  0x00000007 , 0x0000003f 
- 00019380  0x0000472b hstore  0x00000001 , 0x00008a00 
- 00019381  0x0000472c jam  0x00000001 , 0x00000d47 
- 00019382  0x0000472d rtn 
- 00019383  0x00004730 fetch  0x00000001 , 0x00000d36 
- 00019384  0x00004731 rtneq  0x00000003 
- 00019385  0x00004732 beq  0x00000002 , 0x00004bbb 
- 00019386  0x00004733 rtn 
- 00019387  0x00004735 fetch  0x00000001 , 0x00000d47 
- 00019388  0x00004736 rtn  0x00000034 
- 00019389  0x00004737 jam  0x00000001 , 0x00000d46 
- 00019390  0x00004738 branch  0x00004bc2 
- 00019391  0x0000473b arg  0x0000000f , 0x00000007 
- 00019392  0x0000473c call  0x00007f16 
- 00019393  0x0000473d nrtn  0x00000034 
- 00019394  0x0000473f hfetch  0x00000001 , 0x00008a00 
- 00019395  0x00004740 rtnbit0  0x00000007 
- 00019396  0x00004741 jam  0x000000fc , 0x00008a00 
- 00019397  0x00004742 nop  0x00007530 
- 00019398  0x00004743 jam  0x0000003c , 0x00008a00 
- 00019399  0x00004744 rtn 
- 00019400  0x0000474c bpatch  0x000000fd , 0x0000401f 
- 00019401  0x0000474d fetch  0x00000001 , 0x000041ce 
- 00019402  0x0000474e nrtn  0x00000034 
- 00019403  0x00004750 call  0x00004bce 
- 00019404  0x00004751 ncall  0x00004be6 , 0x00000028 
- 00019405  0x00004752 rtn 
- 00019406  0x00004755 bpatch  0x000000fe , 0x0000401f 
- 00019407  0x00004756 copy  0x00000003 , 0x00000011 
- 00019408  0x00004757 arg  0x00000004 , 0x00000002 
- 00019409  0x00004758 ifetch  0x00000001 , 0x00000003 
- 00019410  0x00004759 beq  0x00000001 , 0x00004bd8 
- 00019411  0x0000475a increase  0x00000001 , 0x00000002 
- 00019412  0x0000475b beq  0x00000002 , 0x00004bd8 
- 00019413  0x0000475c copy  0x00000003 , 0x0000003f 
- 00019414  0x0000475d hstore  0x00000002 , 0x00008058 
- 00019415  0x0000475e rtn 
- 00019416  0x00004760 hfetch  0x00000002 , 0x00008112 
- 00019417  0x00004761 isub  0x00000002 , 0x0000003e 
- 00019418  0x00004762 nbranch  0x00004bd8 , 0x00000002 
- 00019419  0x00004764 disable  0x00000028 
- 00019420  0x00004765 copy  0x00000011 , 0x00000003 
- 00019421  0x00004766 call  0x00004bee 
- 00019422  0x00004767 iadd  0x00000002 , 0x00000002 
- 00019423  0x00004769 hfetch  0x00000002 , 0x00008112 
- 00019424  0x0000476a isub  0x00000002 , 0x0000003e 
- 00019425  0x0000476b nbranch  0x00004bdf , 0x00000002 
- 00019426  0x0000476c copy  0x00000011 , 0x00000003 
- 00019427  0x0000476d ifetch  0x00000001 , 0x00000003 
- 00019428  0x0000476e beq  0x00000001 , 0x00004c3f 
- 00019429  0x0000476f branch  0x00002a8c 
- 00019430  0x00004772 bpatch  0x000000ff , 0x0000401f 
- 00019431  0x00004773 hfetch  0x00000002 , 0x00008058 
- 00019432  0x00004774 iforce  0x00000003 
- 00019433  0x00004775 call  0x00004bee 
- 00019434  0x00004776 iadd  0x00000003 , 0x00000003 
- 00019435  0x00004777 deposit  0x00000003 
- 00019436  0x00004778 hstore  0x00000002 , 0x00008058 
- 00019437  0x00004779 rtn 
- 00019438  0x0000477f ifetch  0x00000001 , 0x00000003 
- 00019439  0x00004780 increase  0x00000002 , 0x00000003 
- 00019440  0x00004781 beq  0x00000002 , 0x00004bf3 
- 00019441  0x00004782 ifetch  0x00000001 , 0x00000003 
- 00019442  0x00004783 rtn 
- 00019443  0x00004785 ifetch  0x00000002 , 0x00000003 
- 00019444  0x00004786 rtn 
- 00019445  0x00004789 hfetch  0x00000002 , 0x0000805e 
- 00019446  0x0000478a increase  0xfffffffb , 0x0000000a 
- 00019447  0x0000478b iadd  0x0000000a , 0x0000000a 
- 00019448  0x0000478c rtn 
- 00019449  0x0000478f arg  0x00000004 , 0x00000002 
- 00019450  0x00004790 branch  0x00004bfc 
- 00019451  0x00004792 arg  0x00000002 , 0x00000002 
- 00019452  0x00004794 bpatchx  0x00000000 , 0x00004020 
- 00019453  0x00004795 increase  0x00000001 , 0x00000039 
- 00019454  0x00004796 hfetch  0x00000002 , 0x0000805e 
- 00019455  0x00004797 copy  0x0000003f , 0x0000000a 
- 00019456  0x00004798 copy  0x00000039 , 0x0000003f 
- 00019457  0x00004799 istoret  0x00000001 , 0x0000000a 
- 00019458  0x0000479a increase  0xffffffff , 0x0000003f 
- 00019459  0x0000479b iadd  0x0000000a , 0x0000000a 
- 00019460  0x0000479c copy  0x0000000a , 0x0000003f 
- 00019461  0x0000479d store  0x00000002 , 0x00000258 
- 00019462  0x0000479e copy  0x00000002 , 0x0000003f 
- 00019463  0x0000479f rtneq  0x00000002 
- 00019464  0x000047a0 fetch  0x00000002 , 0x00000258 
- 00019465  0x000047a1 hstore  0x00000002 , 0x0000805e 
- 00019466  0x000047a2 branch  0x00004c0b 
- 00019467  0x000047a6 setarg  0x00000000 
- 00019468  0x000047a7 store  0x00000002 , 0x00000258 
- 00019469  0x000047a8 rtn 
- 00019470  0x000047b0 rtn  0x0000002b 
- 00019471  0x000047b1 setarg  0x00004d28 
- 00019472  0x000047b2 store  0x00000002 , 0x000041f3 
- 00019473  0x000047b4 setarg  0x000001a0 
- 00019474  0x000047b5 store  0x00000002 , 0x00004243 
- 00019475  0x000047b7 setarg  0x00001800 
- 00019476  0x000047b8 hstore  0x00000002 , 0x00008054 
- 00019477  0x000047b9 setarg  0x00001bff 
- 00019478  0x000047ba hstore  0x00000002 , 0x00008056 
- 00019479  0x000047bb setarg  0x00001c00 
- 00019480  0x000047bc hstore  0x00000002 , 0x0000805a 
- 00019481  0x000047bd call  0x00004c28 
- 00019482  0x000047bf jam  0x00000000 , 0x00008062 
- 00019483  0x000047c0 setarg  0x00001c00 
- 00019484  0x000047c1 hstore  0x00000002 , 0x0000805e 
- 00019485  0x000047c2 hstore  0x00000002 , 0x00008060 
- 00019486  0x000047c3 setarg  0x00001800 
- 00019487  0x000047c4 hstore  0x00000002 , 0x00008058 
- 00019488  0x000047c5 store  0x00000002 , 0x00000244 
- 00019489  0x000047c7 hfetch  0x00000002 , 0x00008050 
- 00019490  0x000047c8 set0  0x0000000f , 0x0000003f 
- 00019491  0x000047c9 hstore  0x00000002 , 0x00008050 
- 00019492  0x000047ca call  0x000066ce 
- 00019493  0x000047cb jam  0x00000001 , 0x00008043 
- 00019494  0x000047cc jam  0x00000081 , 0x00008062 
- 00019495  0x000047cd rtn 
- 00019496  0x000047d0 setarg  0x00001fff 
- 00019497  0x000047d1 hstore  0x00000002 , 0x0000805c 
- 00019498  0x000047d2 hfetch  0x00000001 , 0x00008081 
- 00019499  0x000047d3 or_into  0x00000007 , 0x0000003f 
- 00019500  0x000047d4 hstore  0x00000001 , 0x00008081 
- 00019501  0x000047d5 rtn 
- 00019502  0x000047d9 bpatchx  0x00000001 , 0x00004020 
- 00019503  0x000047da hfetch  0x00000001 , 0x0000810c 
- 00019504  0x000047db iforce  0x00000012 
- 00019505  0x000047dc bbit0  0x00000003 , 0x00004c37 
- 00019506  0x000047dd hfetch  0x00000002 , 0x00008112 
- 00019507  0x000047de iforce  0x00000013 
- 00019508  0x000047df arg  0x0000044f , 0x00000002 
- 00019509  0x000047e0 isub  0x00000002 , 0x0000003e 
- 00019510  0x000047e1 nrtn  0x00000005 
- 00019511  0x000047e3 hfetch  0x00000002 , 0x00008058 
- 00019512  0x000047e4 iforce  0x00000003 
- 00019513  0x000047e5 branch  0x00004bc8 
- 00019514  0x000047e8 hfetcht  0x00000001 , 0x0000810c 
- 00019515  0x000047e9 isolate1  0x00000006 , 0x00000002 
- 00019516  0x000047ea branch  0x00004c3a , 0x00000001 
- 00019517  0x000047eb hstore  0x00000001 , 0x00008015 
- 00019518  0x000047ec rtn 
- 00019519  0x000047ef bpatchx  0x00000002 , 0x00004020 
- 00019520  0x000047f0 fetch  0x00000001 , 0x000041ce 
- 00019521  0x000047f1 branch  0x00004c44 , 0x00000034 
- 00019522  0x000047f2 enable  0x00000028 
- 00019523  0x000047f3 rtn 
- 00019524  0x000047f5 ifetch  0x00000002 , 0x00000003 
- 00019525  0x000047f6 iforce  0x00000030 
- 00019526  0x000047f7 iforce  0x00000007 
- 00019527  0x000047f8 ifetch  0x00000001 , 0x00000003 
- 00019528  0x000047f9 iforce  0x00000002 
- 00019529  0x000047fa rshift2  0x00000030 , 0x0000003f 
- 00019530  0x000047fb rshift8  0x0000003f , 0x0000003f 
- 00019531  0x000047fc beq  0x0000003f , 0x00004c4d 
- 00019532  0x000047fd rtn 
- 00019533  0x00004801 bpatchx  0x00000003 , 0x00004020 
- 00019534  0x00004802 deposit  0x00000007 
- 00019535  0x00004803 beq  0x00000000 , 0x00004cdc 
- 00019536  0x00004804 beq  0x00000001 , 0x00004c66 
- 00019537  0x00004805 beq  0x00000002 , 0x00004c6b 
- 00019538  0x00004806 beq  0x00000003 , 0x00004c7a 
- 00019539  0x00004807 beq  0x00000004 , 0x00004cb3 
- 00019540  0x00004808 beq  0x00000005 , 0x00004cdc 
- 00019541  0x00004809 beq  0x00000006 , 0x00004cc6 
- 00019542  0x0000480a beq  0x00000007 , 0x00004c5c 
- 00019543  0x0000480c beq  0x00000010 , 0x00004cc9 
- 00019544  0x0000480d beq  0x00000011 , 0x00004cd1 
- 00019545  0x0000480e beq  0x00000012 , 0x00004ca5 
- 00019546  0x0000480f beq  0x00000013 , 0x00004c85 
- 00019547  0x00004810 branch  0x00004cdc 
- 00019548  0x00004813 call  0x00004cdc 
- 00019549  0x00004814 call  0x00007f9e 
- 00019550  0x00004815 call  0x0000688c 
- 00019551  0x00004817 call  0x000033d2 
- 00019552  0x00004818 call  0x000033d9 
- 00019553  0x00004819 branch  0x0000688f 
- 00019554  0x0000481c jam  0x00000000 , 0x00004245 
- 00019555  0x0000481d call  0x000033d0 
- 00019556  0x0000481e call  0x00004c13 
- 00019557  0x0000481f branch  0x000033db 
- 00019558  0x00004822 call  0x00004cf2 
- 00019559  0x00004823 hfetch  0x00000002 , 0x00008000 
- 00019560  0x00004824 istore  0x00000002 , 0x0000000a 
- 00019561  0x00004825 force  0x00000006 , 0x00000039 
- 00019562  0x00004826 branch  0x00004cdd 
- 00019563  0x00004829 ifetch  0x00000002 , 0x00000003 
- 00019564  0x0000482a store  0x00000002 , 0x00004243 
- 00019565  0x0000482b hstore  0x00000002 , 0x00008052 
- 00019566  0x0000482c rtn 
- 00019567  0x00004831 ifetch  0x00000001 , 0x00000003 
- 00019568  0x00004832 copy  0x0000003f , 0x00000002 
- 00019569  0x00004833 hstore  0x00000001 , 0x00008024 
- 00019570  0x00004834 ifetch  0x00000001 , 0x00000003 
- 00019571  0x00004835 iadd  0x00000002 , 0x00000002 
- 00019572  0x00004836 set1  0x00000007 , 0x0000003f 
- 00019573  0x00004837 hstore  0x00000001 , 0x00008023 
- 00019574  0x00004838 ifetch  0x00000001 , 0x00000003 
- 00019575  0x00004839 iadd  0x00000002 , 0x00000002 
- 00019576  0x0000483a copy  0x0000003f , 0x00000039 
- 00019577  0x0000483b rtn 
- 00019578  0x0000483e bmark1  0x0000002b , 0x00004cc4 
- 00019579  0x0000483f call  0x00004c6f 
- 00019580  0x00004841 ifetch  0x00000001 , 0x00000003 
- 00019581  0x00004842 hstore  0x00000001 , 0x00008025 
- 00019582  0x00004843 iadd  0x00000002 , 0x00000002 
- 00019583  0x00004844 loop  0x00004c7c 
- 00019584  0x00004846 and  0x00000002 , 0x000000ff , 0x00000002 
- 00019585  0x00004847 ifetch  0x00000001 , 0x00000003 
- 00019586  0x00004848 isub  0x00000002 , 0x0000003e 
- 00019587  0x00004849 nbranch  0x00004cc4 , 0x00000005 
- 00019588  0x0000484a branch  0x00004cdc 
- 00019589  0x0000484e bmark0  0x0000002b , 0x00004cc4 
- 00019590  0x0000484f call  0x00004c6f 
- 00019591  0x00004850 store  0x00000008 , 0x00000a9a 
- 00019592  0x00004852 call  0x00007422 
- 00019593  0x00004853 arg  0x00000010 , 0x00000039 
- 00019594  0x00004854 arg  0x00000ac2 , 0x00000005 
- 00019595  0x00004855 call  0x00004ca0 
- 00019596  0x00004856 storet  0x00000008 , 0x00000aa2 
- 00019597  0x00004857 arg  0x00000ad2 , 0x00000005 
- 00019598  0x00004858 call  0x00007497 
- 00019599  0x00004859 arg  0x00000ad2 , 0x00000011 
- 00019600  0x0000485a arg  0x00000ac2 , 0x00000012 
- 00019601  0x0000485b arg  0x00000ae2 , 0x00000005 
- 00019602  0x0000485c call  0x00007352 
- 00019603  0x0000485d arg  0x00000010 , 0x00000039 
- 00019604  0x0000485e arg  0x00000ae2 , 0x00000006 
- 00019605  0x0000485f call  0x00004c9c 
- 00019606  0x00004860 fetcht  0x00000008 , 0x00000aa2 
- 00019607  0x00004861 fetch  0x00000008 , 0x00000a9a 
- 00019608  0x00004862 increase  0xfffffff0 , 0x0000003f 
- 00019609  0x00004863 store  0x00000008 , 0x00000a9a 
- 00019610  0x00004864 nbranch  0x00004c88 , 0x00000034 
- 00019611  0x00004865 branch  0x00004c80 
- 00019612  0x00004868 ifetch  0x00000001 , 0x00000006 
- 00019613  0x00004869 hstore  0x00000001 , 0x00008025 
- 00019614  0x0000486a loop  0x00004c9c 
- 00019615  0x0000486b rtn 
- 00019616  0x0000486e ifetch  0x00000001 , 0x00000003 
- 00019617  0x0000486f istore  0x00000001 , 0x00000005 
- 00019618  0x00004870 iadd  0x00000002 , 0x00000002 
- 00019619  0x00004871 loop  0x00004ca0 
- 00019620  0x00004872 rtn 
- 00019621  0x00004875 bmark0  0x0000002b , 0x00004cc4 
- 00019622  0x00004876 arg  0x00000000 , 0x00000002 
- 00019623  0x00004877 arg  0x00000010 , 0x00000039 
- 00019624  0x00004878 arg  0x00000ac2 , 0x00000005 
- 00019625  0x00004879 call  0x00004ca0 
- 00019626  0x0000487a hfetch  0x00000001 , 0x00008085 
- 00019627  0x0000487b and_into  0x000000fd , 0x0000003f 
- 00019628  0x0000487c hstore  0x00000001 , 0x00008085 
- 00019629  0x0000487d arg  0x00000ac2 , 0x00000006 
- 00019630  0x0000487e arg  0x00000010 , 0x00000039 
- 00019631  0x0000487f call  0x00007478 
- 00019632  0x00004880 call  0x00007428 
- 00019633  0x00004881 call  0x00007491 
- 00019634  0x00004882 branch  0x00004c80 
- 00019635  0x00004886 arg  0x00000020 , 0x00000039 
- 00019636  0x00004887 arg  0x00004000 , 0x00000005 
- 00019637  0x00004888 arg  0x00000000 , 0x00000002 
- 00019638  0x0000488a ifetch  0x00000001 , 0x00000003 
- 00019639  0x0000488b istore  0x00000001 , 0x00000005 
- 00019640  0x0000488c iadd  0x00000002 , 0x00000002 
- 00019641  0x0000488d loop  0x00004cb6 
- 00019642  0x0000488e and  0x00000002 , 0x000000ff , 0x00000002 
- 00019643  0x0000488f ifetch  0x00000001 , 0x00000003 
- 00019644  0x00004890 isub  0x00000002 , 0x0000003e 
- 00019645  0x00004891 nbranch  0x00004cc4 , 0x00000005 
- 00019646  0x00004892 jam  0x00000000 , 0x00008023 
- 00019647  0x00004893 call  0x00004cdc 
- 00019648  0x00004894 call  0x00004be6 
- 00019649  0x00004895 call  0x000064a3 
- 00019650  0x00004896 call  0x00007f9e 
- 00019651  0x00004897 branch  0x00002001 
- 00019652  0x0000489a jam  0x00000000 , 0x00008023 
- 00019653  0x0000489b branch  0x00002000 
- 00019654  0x0000489e ifetch  0x00000006 , 0x00000003 
- 00019655  0x0000489f store  0x00000006 , 0x000040a0 
- 00019656  0x000048a0 branch  0x00004cdc 
- 00019657  0x000048a4 ifetch  0x00000001 , 0x00000003 
- 00019658  0x000048a5 store  0x00000001 , 0x0000025a 
- 00019659  0x000048a6 copy  0x0000003f , 0x00000039 
- 00019660  0x000048a7 ifetch  0x00000002 , 0x00000003 
- 00019661  0x000048a8 store  0x00000002 , 0x0000025b 
- 00019662  0x000048a9 copy  0x0000003f , 0x00000005 
- 00019663  0x000048aa call  0x000066fd 
- 00019664  0x000048ab branch  0x00004cdc 
- 00019665  0x000048af ifetch  0x00000001 , 0x00000003 
- 00019666  0x000048b0 store  0x00000001 , 0x0000025a 
- 00019667  0x000048b1 copy  0x0000003f , 0x00000039 
- 00019668  0x000048b2 ifetch  0x00000002 , 0x00000003 
- 00019669  0x000048b3 store  0x00000002 , 0x0000025b 
- 00019670  0x000048b4 arg  0x00001000 , 0x00000005 
- 00019671  0x000048b5 call  0x000066fd 
- 00019672  0x000048b6 fetcht  0x00000001 , 0x0000025a 
- 00019673  0x000048b7 arg  0x00001000 , 0x00000011 
- 00019674  0x000048b8 fetch  0x00000002 , 0x0000025b 
- 00019675  0x000048b9 branch  0x00006608 
- 00019676  0x000048bf force  0x00000004 , 0x00000039 
- 00019677  0x000048c1 call  0x00004cf4 
- 00019678  0x000048c2 force  0x00000001 , 0x0000003f 
- 00019679  0x000048c3 istore  0x00000001 , 0x0000000a 
- 00019680  0x000048c4 deposit  0x00000030 
- 00019681  0x000048c5 istore  0x00000003 , 0x0000000a 
- 00019682  0x000048c6 force  0x0000000e , 0x00000007 
- 00019683  0x000048c8 bpatchx  0x00000004 , 0x00004020 
- 00019684  0x000048c9 call  0x00004cf6 
- 00019685  0x000048ca deposit  0x00000007 
- 00019686  0x000048cb istore  0x00000001 , 0x0000000a 
- 00019687  0x000048cc deposit  0x00000039 
- 00019688  0x000048cd istore  0x00000001 , 0x0000000a 
- 00019689  0x000048cf force  0x00000005 , 0x00000007 
- 00019690  0x000048d0 increase  0x00000002 , 0x00000039 
- 00019691  0x000048d2 branch  0x00004bf9 
- 00019692  0x000048d5 force  0x000000ff , 0x00000007 
- 00019693  0x000048d6 call  0x00004cf4 
- 00019694  0x000048d7 setarg  0x00000001 
- 00019695  0x000048d8 istore  0x00000001 , 0x0000000a 
- 00019696  0x000048d9 force  0x00000001 , 0x00000039 
- 00019697  0x000048da branch  0x00004ce3 
- 00019698  0x000048dd force  0x0000000c , 0x0000000a 
- 00019699  0x000048de branch  0x00004cf7 
- 00019700  0x000048e1 force  0x00000008 , 0x0000000a 
- 00019701  0x000048e2 branch  0x00004cf7 
- 00019702  0x000048e5 force  0x00000006 , 0x0000000a 
- 00019703  0x000048e7 branch  0x00004bf5 
- 00019704  0x000048ec pulse  0x0000000f 
- 00019705  0x000048ed enable  0x00000009 
- 00019706  0x000048ef ifetch  0x00000001 , 0x0000000a 
- 00019707  0x000048f0 inject  0x00000000 , 0x00000008 
- 00019708  0x000048f1 loop  0x00004cfa 
- 00019709  0x000048f2 enable  0x00000008 
- 00019710  0x000048f3 inject  0x00000000 , 0x00000010 
- 00019711  0x000048f4 disable  0x00000008 
- 00019712  0x000048f5 disable  0x00000009 
- 00019713  0x000048f6 disable  0x0000000f 
- 00019714  0x000048f7 byteswap  0x0000003f , 0x0000003f 
- 00019715  0x000048f8 rtn 
- 00019716  0x000048fd jam  0x00000000 , 0x000041ce 
- 00019717  0x000048fe rtn 
- 00019718  0x00004900 fetch  0x00000006 , 0x000041d0 
- 00019719  0x00004901 fetcht  0x00000006 , 0x00000040 
- 00019720  0x00004902 isub  0x00000002 , 0x0000003e 
- 00019721  0x00004903 rtn 
- 00019722  0x00004909 fetch  0x00000001 , 0x0000004b 
- 00019723  0x0000490a bbit1  0x00000002 , 0x00004d0f 
- 00019724  0x0000490b call  0x000062ef 
- 00019725  0x0000490c jam  0x00000008 , 0x0000007c 
- 00019726  0x0000490d branch  0x00004d04 
- 00019727  0x0000490f set0  0x00000002 , 0x0000003f 
- 00019728  0x00004910 store  0x00000001 , 0x0000004b 
- 00019729  0x00004911 call  0x00006001 
- 00019730  0x00004912 setarg  0x00000000 
- 00019731  0x00004913 setflag  0x00000029 , 0x00000001 , 0x0000003f 
- 00019732  0x00004914 store  0x00000001 , 0x0000007f 
- 00019733  0x00004915 branch  0x00004d04 
- 00019734  0x00004916 rtn 
- 00019735  0x00004918 jam  0x00000017 , 0x0000007c 
- 00019736  0x00004919 arg  0x000004d9 , 0x00000005 
- 00019737  0x0000491a setarg  0x00000000 
- 00019738  0x0000491b isolate1  0x0000001b , 0x00000028 
- 00019739  0x0000491c setflag  0x00000001 , 0x00000001 , 0x0000003f 
- 00019740  0x0000491d istore  0x00000001 , 0x00000005 
- 00019741  0x0000491e setarg  0x00000000 
- 00019742  0x0000491f istore  0x00000002 , 0x00000005 
- 00019743  0x00004920 fetch  0x00000002 , 0x000041e3 
- 00019744  0x00004921 istore  0x00000002 , 0x00000005 
- 00019745  0x00004922 fetch  0x00000001 , 0x000041e5 
- 00019746  0x00004923 istore  0x00000002 , 0x00000005 
- 00019747  0x00004924 fetch  0x00000001 , 0x000041e7 
- 00019748  0x00004925 istore  0x00000002 , 0x00000005 
- 00019749  0x00004926 branch  0x00004d04 
- 00019750  0x00004929 jam  0x00000018 , 0x0000007c 
- 00019751  0x0000492a branch  0x00004d04 
- 00019752  0x0000492d call  0x00006899 
- 00019753  0x0000492e rtn  0x00000001 
- 00019754  0x0000492f arg  0x00000007 , 0x00000002 
- 00019755  0x00004930 call  0x0000681d 
- 00019756  0x00004931 nbranch  0x00004d2f , 0x00000001 
- 00019757  0x00004932 jam  0x00000001 , 0x00004245 
- 00019758  0x00004933 rtn 
- 00019759  0x00004935 fetch  0x00000001 , 0x00004245 
- 00019760  0x00004936 rtnne  0x00000001 
- 00019761  0x00004937 call  0x00004c62 
- 00019762  0x00004938 branch  0x00004cec 
- 00019763  0x00004947 bpatchx  0x00000005 , 0x00004020 
- 00019764  0x00004948 fetch  0x00000002 , 0x00000264 
- 00019765  0x00004949 copy  0x0000003f , 0x00000006 
- 00019766  0x0000494a ifetch  0x00000001 , 0x00000006 
- 00019767  0x0000494b and  0x0000003f , 0x0000000f , 0x00000002 
- 00019768  0x0000494c rshift4  0x0000003f , 0x0000003f 
- 00019769  0x0000494d beq  0x00000009 , 0x00004d53 
- 00019770  0x0000494e beq  0x00000007 , 0x00004d53 
- 00019771  0x0000494f beq  0x0000000a , 0x00004d5f 
- 00019772  0x00004950 beq  0x00000005 , 0x00004d4b 
- 00019773  0x00004951 beq  0x00000001 , 0x00004d3f 
- 00019774  0x00004952 rtn 
- 00019775  0x00004955 copy  0x00000002 , 0x0000003f 
- 00019776  0x00004956 beq  0x00000005 , 0x00004d43 
- 00019777  0x00004957 beq  0x00000003 , 0x00004d4a 
- 00019778  0x00004958 rtn 
- 00019779  0x0000495b jam  0x00000027 , 0x00000a99 
- 00019780  0x0000495c call  0x00007d86 
- 00019781  0x0000495d fetch  0x00000001 , 0x00004092 
- 00019782  0x0000495e rtnbit0  0x00000006 
- 00019783  0x0000495f copy  0x00000002 , 0x0000003f 
- 00019784  0x00004960 beq  0x00000005 , 0x0000438e 
- 00019785  0x00004961 rtn 
- 00019786  0x00004963 rtn 
- 00019787  0x00004966 call  0x00004d5f 
- 00019788  0x00004967 arg  0x00000001 , 0x00000011 
- 00019789  0x00004968 call  0x00004d63 
- 00019790  0x00004969 fetch  0x00000002 , 0x0000424c 
- 00019791  0x0000496a istore  0x00000002 , 0x00000005 
- 00019792  0x0000496b setarg  0x00000000 
- 00019793  0x0000496c istore  0x00000001 , 0x00000005 
- 00019794  0x0000496d rtn 
- 00019795  0x00004970 arg  0x00000001 , 0x00000011 
- 00019796  0x00004971 call  0x00004d63 
- 00019797  0x00004972 fetch  0x00000002 , 0x0000424c 
- 00019798  0x00004973 istore  0x00000002 , 0x00000005 
- 00019799  0x00004974 setarg  0x00000000 
- 00019800  0x00004975 istore  0x00000001 , 0x00000005 
- 00019801  0x00004976 jam  0x00000001 , 0x00000a8e 
- 00019802  0x00004977 fetch  0x00000001 , 0x00004252 
- 00019803  0x00004978 set1  0x00000006 
- 00019804  0x00004979 store  0x00000001 , 0x00004252 
- 00019805  0x0000497a jam  0x00000012 , 0x00000a99 
- 00019806  0x0000497b branch  0x00007d86 
- 00019807  0x0000497e ifetch  0x00000001 , 0x00000006 
- 00019808  0x0000497f beq  0x00000001 , 0x00004d62 
- 00019809  0x00004980 rtn 
- 00019810  0x00004983 rtn 
- 00019811  0x00004987 call  0x00005240 
- 00019812  0x00004988 copy  0x00000011 , 0x00000002 
- 00019813  0x00004989 storet  0x00000001 , 0x00000a8e 
- 00019814  0x0000498a copy  0x0000003f , 0x00000005 
- 00019815  0x0000498b copy  0x00000011 , 0x0000003f 
- 00019816  0x0000498c istore  0x00000002 , 0x00000005 
- 00019817  0x0000498d rtn 
- 00019818  0x0000499f branch  0x00004d6f , 0x0000002b 
- 00019819  0x000049a1 setarg  0x00004365 
- 00019820  0x000049a2 arg  0x00004246 , 0x00000005 
- 00019821  0x000049a3 isub  0x00000005 , 0x00000039 
- 00019822  0x000049a4 call  0x00007ed4 
- 00019823  0x000049a6 bpatchx  0x00000006 , 0x00004020 
- 00019824  0x000049a7 setarg  0x00000551 
- 00019825  0x000049a8 arg  0x00000511 , 0x00000005 
- 00019826  0x000049a9 isub  0x00000005 , 0x00000039 
- 00019827  0x000049aa call  0x00007ed4 
- 00019828  0x000049ab setarg  0x000002c9 
- 00019829  0x000049ac arg  0x0000025d , 0x00000005 
- 00019830  0x000049ad isub  0x00000005 , 0x00000039 
- 00019831  0x000049ae call  0x00007ed4 
- 00019832  0x000049af branch  0x00005318 
- 00019833  0x000049b2 bpatchx  0x00000007 , 0x00004020 
- 00019834  0x000049b3 copy  0x00000006 , 0x00000002 
- 00019835  0x000049b6 copy  0x00000002 , 0x00000006 
- 00019836  0x000049b7 ifetch  0x00000002 , 0x00000006 
- 00019837  0x000049b8 store  0x00000002 , 0x00000266 
- 00019838  0x000049b9 ifetch  0x00000002 , 0x00000006 
- 00019839  0x000049ba store  0x00000002 , 0x00000268 
- 00019840  0x000049bb deposit  0x00000006 
- 00019841  0x000049bc store  0x00000002 , 0x00000264 
- 00019842  0x000049bd fetch  0x00000001 , 0x00004681 
- 00019843  0x000049be beq  0x00000000 , 0x00004d85 
- 00019844  0x000049bf branch  0x000050ef 
- 00019845  0x000049c2 fetch  0x00000002 , 0x00000266 
- 00019846  0x000049c3 branch  0x00004dfc , 0x00000034 
- 00019847  0x000049c4 bpatchx  0x00000008 , 0x00004021 
- 00019848  0x000049c5 fetch  0x00000001 , 0x00000268 
- 00019849  0x000049c6 beq  0x00000001 , 0x00004d9d 
- 00019850  0x000049c8 beq  0x00000050 , 0x00004de0 
- 00019851  0x000049c9 beq  0x00000051 , 0x00004df5 
- 00019852  0x000049ca beq  0x00000052 , 0x00004df3 
- 00019853  0x000049cb beq  0x00000053 , 0x00004df3 
- 00019854  0x000049cc branch  0x00004dfc 
- 00019855  0x000049d1 bpatchx  0x00000009 , 0x00004021 
- 00019856  0x000049d2 call  0x0000527e 
- 00019857  0x000049d3 fetch  0x00000001 , 0x00004256 
- 00019858  0x000049d4 beq  0x00000000 , 0x00004d9b 
- 00019859  0x000049d5 beq  0x00000001 , 0x00004d9b 
- 00019860  0x000049d6 beq  0x00000002 , 0x00004d9b 
- 00019861  0x000049d7 beq  0x00000003 , 0x00004d9b 
- 00019862  0x000049d8 beq  0x00000081 , 0x00004d9b 
- 00019863  0x000049d9 beq  0x000000c0 , 0x00004d9b 
- 00019864  0x000049da beq  0x00000080 , 0x00004d9b 
- 00019865  0x000049db beq  0x00000040 , 0x00004d9b 
- 00019866  0x000049dc rtn 
- 00019867  0x000049df setarg  0x00000000 
- 00019868  0x000049e0 rtn 
- 00019869  0x000049e4 call  0x00004d8f 
- 00019870  0x000049e5 nrtn  0x00000034 
- 00019871  0x000049e7 call  0x000052b8 
- 00019872  0x000049e8 call  0x00004e01 
- 00019873  0x000049e9 fetcht  0x00000002 , 0x0000026f 
- 00019874  0x000049ea branch  0x00004dfb , 0x00000034 
- 00019875  0x000049eb call  0x000052c1 
- 00019876  0x000049ec fetch  0x00000002 , 0x0000026f 
- 00019877  0x000049ed istore  0x00000002 , 0x00000005 
- 00019878  0x000049ee force  0x00000001 , 0x0000003f 
- 00019879  0x000049ef istore  0x00000002 , 0x00000005 
- 00019880  0x000049f0 branch  0x00004dfc 
- 00019881  0x000049f3 fetch  0x00000001 , 0x00004364 
- 00019882  0x000049f4 rtn  0x00000034 
- 00019883  0x000049f5 copy  0x0000003f , 0x00000011 
- 00019884  0x000049f6 bpatchx  0x0000000a , 0x00004021 
- 00019885  0x000049f7 fetch  0x00000004 , 0x000002d5 
- 00019886  0x000049f8 arg  0x00000100 , 0x00000002 
- 00019887  0x000049f9 iadd  0x00000002 , 0x00000002 
- 00019888  0x000049fa copy  0x00000022 , 0x0000003f 
- 00019889  0x000049fb isub  0x00000002 , 0x0000003e 
- 00019890  0x000049fc nrtn  0x00000002 
- 00019891  0x000049fd jam  0x00000000 , 0x00004364 
- 00019892  0x000049fe copy  0x00000011 , 0x0000003f 
- 00019893  0x000049ff beq  0x00000050 , 0x00004db7 
- 00019894  0x00004a00 branch  0x00002a8c 
- 00019895  0x00004a02 arg  0x00000000 , 0x00000008 
- 00019896  0x00004a03 call  0x000052b8 
- 00019897  0x00004a04 call  0x00004e7a 
- 00019898  0x00004a05 call  0x000052c3 
- 00019899  0x00004a06 call  0x00007ea8 
- 00019900  0x00004a07 call  0x00004ead 
- 00019901  0x00004a08 call  0x000052c1 
- 00019902  0x00004a0a setarg  0x0000000c 
- 00019903  0x00004a0b istore  0x00000002 , 0x00000005 
- 00019904  0x00004a0c force  0x00000001 , 0x0000003f 
- 00019905  0x00004a0d istore  0x00000002 , 0x00000005 
- 00019906  0x00004a0e branch  0x00004dfc 
- 00019907  0x00004a13 bpatchx  0x0000000b , 0x00004021 
- 00019908  0x00004a14 fetch  0x00000002 , 0x00000275 
- 00019909  0x00004a15 increase  0x00000004 , 0x0000003f 
- 00019910  0x00004a16 rshift4  0x0000003f , 0x0000003f 
- 00019911  0x00004a17 rshift3  0x0000003f , 0x0000003f 
- 00019912  0x00004a18 add  0x0000003f , 0x00000001 , 0x00000002 
- 00019913  0x00004a19 arg  0x00004260 , 0x00000006 
- 00019914  0x00004a1a ifetch  0x00000003 , 0x00000006 
- 00019915  0x00004a1b rtn  0x00000034 
- 00019916  0x00004a1c store  0x00000003 , 0x00000ac2 
- 00019917  0x00004a1d fetch  0x00000001 , 0x00000ac2 
- 00019918  0x00004a1e copy  0x0000003f , 0x00000011 
- 00019919  0x00004a1f call  0x00004dd3 
- 00019920  0x00004a20 copy  0x00000012 , 0x0000003f 
- 00019921  0x00004a21 store  0x00000001 , 0x00004260 
- 00019922  0x00004a22 rtn 
- 00019923  0x00004a25 arg  0x00000000 , 0x00000007 
- 00019924  0x00004a26 arg  0x00000000 , 0x00000012 
- 00019925  0x00004a29 sub  0x00000007 , 0x00000007 , 0x0000003e 
- 00019926  0x00004a2a nrtn  0x00000002 
- 00019927  0x00004a2b qisolate1  0x00000011 
- 00019928  0x00004a2c branch  0x00004dda , 0x00000001 
- 00019929  0x00004a2d branch  0x00004dde 
- 00019930  0x00004a30 copy  0x00000002 , 0x0000003f 
- 00019931  0x00004a31 branch  0x00004dde , 0x00000034 
- 00019932  0x00004a32 qset1  0x00000012 
- 00019933  0x00004a33 increase  0xffffffff , 0x00000002 
- 00019934  0x00004a36 increase  0x00000001 , 0x00000007 
- 00019935  0x00004a37 branch  0x00004dd5 
- 00019936  0x00004a3a call  0x00005274 
- 00019937  0x00004a3b nrtn  0x00000034 
- 00019938  0x00004a3c call  0x00004d8f 
- 00019939  0x00004a3d nrtn  0x00000034 
- 00019940  0x00004a3e call  0x000052c5 
- 00019941  0x00004a3f call  0x00006e11 
- 00019942  0x00004a40 call  0x00004dc3 
- 00019943  0x00004a41 branch  0x00004dec 
- 00019944  0x00004a45 call  0x00005274 
- 00019945  0x00004a46 nrtn  0x00000034 
- 00019946  0x00004a47 call  0x000052c5 
- 00019947  0x00004a48 call  0x00006e11 
- 00019948  0x00004a4a call  0x000052ce 
- 00019949  0x00004a4b fetch  0x00000002 , 0x00000275 
- 00019950  0x00004a4c branch  0x00004dfb , 0x00000034 
- 00019951  0x00004a4d istore  0x00000002 , 0x00000005 
- 00019952  0x00004a4e fetch  0x00000002 , 0x00004248 
- 00019953  0x00004a4f istore  0x00000002 , 0x00000005 
- 00019954  0x00004a50 branch  0x00004dfc 
- 00019955  0x00004a53 call  0x00004d33 
- 00019956  0x00004a54 branch  0x00004dfc 
- 00019957  0x00004a57 bpatchx  0x0000000c , 0x00004021 
- 00019958  0x00004a58 jam  0x00000000 , 0x00000284 
- 00019959  0x00004a59 call  0x00006a8a 
- 00019960  0x00004a5a fetch  0x00000001 , 0x00000284 
- 00019961  0x00004a5b rtneq  0x00000001 
- 00019962  0x00004a5c branch  0x00004dfc 
- 00019963  0x00004a5e call  0x00005264 
- 00019964  0x00004a61 setarg  0x00000000 
- 00019965  0x00004a62 store  0x00000002 , 0x00000266 
- 00019966  0x00004a63 store  0x00000002 , 0x00000268 
- 00019967  0x00004a64 jam  0x00000001 , 0x0000026a 
- 00019968  0x00004a65 rtn 
- 00019969  0x00004a68 bpatchx  0x0000000d , 0x00004021 
- 00019970  0x00004a69 call  0x000052c3 
- 00019971  0x00004a6a force  0x00000000 , 0x00000012 
- 00019972  0x00004a6b fetch  0x00000002 , 0x00000266 
- 00019973  0x00004a6c copy  0x0000003f , 0x00000013 
- 00019974  0x00004a6d fetch  0x00000002 , 0x00000264 
- 00019975  0x00004a6e iforce  0x00000006 
- 00019976  0x00004a70 call  0x00004e10 
- 00019977  0x00004a71 deposit  0x00000013 
- 00019978  0x00004a72 increase  0xfffffffc , 0x00000013 
- 00019979  0x00004a73 increase  0xfffffffc , 0x0000003f 
- 00019980  0x00004a74 nbranch  0x00004e08 , 0x00000034 
- 00019981  0x00004a75 copy  0x00000012 , 0x0000003f 
- 00019982  0x00004a76 store  0x00000002 , 0x0000026f 
- 00019983  0x00004a77 rtn 
- 00019984  0x00004a7a bpatchx  0x0000000e , 0x00004021 
- 00019985  0x00004a7b ifetch  0x00000001 , 0x00000006 
- 00019986  0x00004a7c beq  0x00000001 , 0x00004e49 
- 00019987  0x00004a7d beq  0x00000002 , 0x00004e51 
- 00019988  0x00004a7e beq  0x00000003 , 0x00004ed5 
- 00019989  0x00004a7f beq  0x00000004 , 0x00004f05 
- 00019990  0x00004a80 beq  0x00000005 , 0x00004fa2 
- 00019991  0x00004a81 beq  0x00000006 , 0x00004fcb 
- 00019992  0x00004a82 beq  0x00000007 , 0x0000501b 
- 00019993  0x00004a83 beq  0x00000008 , 0x00005050 
- 00019994  0x00004a84 beq  0x00000009 , 0x00005060 
- 00019995  0x00004a85 beq  0x0000000a , 0x00004e1f 
- 00019996  0x00004a86 beq  0x0000000b , 0x00005061 
- 00019997  0x00004a87 call  0x00005062 
- 00019998  0x00004a89 rtn 
- 00019999  0x00004a8c ifetch  0x00000001 , 0x00000006 
- 00020000  0x00004a8d copy  0x0000003f , 0x00000007 
- 00020001  0x00004a8e ifetch  0x00000002 , 0x00000006 
- 00020002  0x00004a8f copy  0x0000003f , 0x00000011 
- 00020003  0x00004a90 copy  0x00000013 , 0x0000003f 
- 00020004  0x00004a91 isub  0x00000011 , 0x00000013 
- 00020005  0x00004a92 setarg  0x0000000b 
- 00020006  0x00004a93 istore  0x00000001 , 0x00000005 
- 00020007  0x00004a94 copy  0x00000007 , 0x0000003f 
- 00020008  0x00004a95 istore  0x00000001 , 0x00000005 
- 00020009  0x00004a96 ifetch  0x00000002 , 0x00000006 
- 00020010  0x00004a98 beq  0x00000002 , 0x00004e2d 
- 00020011  0x00004a99 beq  0x00000003 , 0x00004e33 
- 00020012  0x00004a9a rtn 
- 00020013  0x00004a9c setarg  0x00020008 
- 00020014  0x00004a9d istore  0x00000006 , 0x00000005 
- 00020015  0x00004a9e setarg  0x00000280 
- 00020016  0x00004a9f istore  0x00000004 , 0x00000005 
- 00020017  0x00004aa0 force  0x0000000c , 0x0000003f 
- 00020018  0x00004aa1 branch  0x00004e38 
- 00020019  0x00004aa3 setarg  0x0003000c 
- 00020020  0x00004aa4 istore  0x00000006 , 0x00000005 
- 00020021  0x00004aa5 setarg  0x00000006 
- 00020022  0x00004aa6 istore  0x00000008 , 0x00000005 
- 00020023  0x00004aa7 force  0x00000010 , 0x0000003f 
- 00020024  0x00004aa9 iadd  0x00000012 , 0x00000012 
- 00020025  0x00004aaa branch  0x00004e1e 
- 00020026  0x00004aad ifetch  0x00000001 , 0x00000006 
- 00020027  0x00004aae copy  0x0000003f , 0x00000007 
- 00020028  0x00004aaf ifetch  0x00000002 , 0x00000006 
- 00020029  0x00004ab0 copy  0x0000003f , 0x00000011 
- 00020030  0x00004ab1 ifetch  0x00000002 , 0x00000006 
- 00020031  0x00004ab2 store  0x00000002 , 0x00000aa2 
- 00020032  0x00004ab3 copy  0x00000013 , 0x0000003f 
- 00020033  0x00004ab4 isub  0x00000011 , 0x00000013 
- 00020034  0x00004ab5 call  0x000052c3 
- 00020035  0x00004ab6 setarg  0x0000000b 
- 00020036  0x00004ab7 istore  0x00000001 , 0x00000005 
- 00020037  0x00004ab8 copy  0x00000007 , 0x0000003f 
- 00020038  0x00004ab9 istore  0x00000001 , 0x00000005 
- 00020039  0x00004aba fetch  0x00000002 , 0x00000aa2 
- 00020040  0x00004abb branch  0x00004e2a 
- 00020041  0x00004ac0 ifetch  0x00000001 , 0x00000006 
- 00020042  0x00004ac1 copy  0x0000003f , 0x00000007 
- 00020043  0x00004ac2 ifetch  0x00000002 , 0x00000006 
- 00020044  0x00004ac3 copy  0x0000003f , 0x00000011 
- 00020045  0x00004ac4 iadd  0x00000006 , 0x00000006 
- 00020046  0x00004ac5 copy  0x00000013 , 0x0000003f 
- 00020047  0x00004ac6 isub  0x00000011 , 0x00000013 
- 00020048  0x00004ac8 branch  0x00004e1e 
- 00020049  0x00004acb call  0x00007ea8 
- 00020050  0x00004ace call  0x00007ead 
- 00020051  0x00004acf arg  0x00000000 , 0x00000008 
- 00020052  0x00004ad0 ifetch  0x00000001 , 0x00000006 
- 00020053  0x00004ad1 copy  0x0000003f , 0x00000007 
- 00020054  0x00004ad2 ifetch  0x00000002 , 0x00000006 
- 00020055  0x00004ad3 copy  0x0000003f , 0x00000011 
- 00020056  0x00004ad4 ifetch  0x00000002 , 0x00000006 
- 00020057  0x00004ad5 copy  0x0000003f , 0x00000002 
- 00020058  0x00004ad6 ifetch  0x00000002 , 0x00000006 
- 00020059  0x00004ad7 copy  0x0000003f , 0x0000000b 
- 00020060  0x00004ad8 bpatchx  0x0000000f , 0x00004021 
- 00020061  0x00004ad9 copy  0x00000002 , 0x0000003f 
- 00020062  0x00004ada beq  0x00000001 , 0x00004e64 
- 00020063  0x00004adb beq  0x00000003 , 0x00004e86 
- 00020064  0x00004adc beq  0x00000011 , 0x00004e92 
- 00020065  0x00004add beq  0x00000013 , 0x00004e9d 
- 00020066  0x00004ade call  0x00005062 
- 00020067  0x00004adf branch  0x00004ed4 
- 00020068  0x00004ae2 call  0x00007ea8 
- 00020069  0x00004ae3 arg  0x00000050 , 0x00000002 
- 00020070  0x00004ae4 fetch  0x00000002 , 0x00004248 
- 00020071  0x00004ae5 nbranch  0x00004ece , 0x00000034 
- 00020072  0x00004ae6 copy  0x0000000b , 0x0000003f 
- 00020073  0x00004ae7 store  0x00000002 , 0x00004248 
- 00020074  0x00004ae8 copy  0x00000022 , 0x0000003f 
- 00020075  0x00004ae9 store  0x00000004 , 0x000002d5 
- 00020076  0x00004aea call  0x00004e6e 
- 00020077  0x00004aeb branch  0x00004ea9 
- 00020078  0x00004aee storet  0x00000002 , 0x000002d3 
- 00020079  0x00004aef deposit  0x0000000b 
- 00020080  0x00004af0 store  0x00000002 , 0x000002c9 
- 00020081  0x00004af1 deposit  0x00000011 
- 00020082  0x00004af2 store  0x00000002 , 0x000002cb 
- 00020083  0x00004af3 deposit  0x00000012 
- 00020084  0x00004af4 store  0x00000002 , 0x000002cd 
- 00020085  0x00004af5 deposit  0x00000013 
- 00020086  0x00004af6 store  0x00000002 , 0x000002cf 
- 00020087  0x00004af7 deposit  0x00000007 
- 00020088  0x00004af8 store  0x00000002 , 0x000002d1 
- 00020089  0x00004af9 rtn 
- 00020090  0x00004afc fetcht  0x00000002 , 0x000002d3 
- 00020091  0x00004afd fetch  0x00000002 , 0x000002c9 
- 00020092  0x00004afe copy  0x0000003f , 0x0000000b 
- 00020093  0x00004aff fetch  0x00000002 , 0x000002cb 
- 00020094  0x00004b00 copy  0x0000003f , 0x00000011 
- 00020095  0x00004b01 fetch  0x00000002 , 0x000002cd 
- 00020096  0x00004b02 copy  0x0000003f , 0x00000012 
- 00020097  0x00004b03 fetch  0x00000002 , 0x000002cf 
- 00020098  0x00004b04 copy  0x0000003f , 0x00000013 
- 00020099  0x00004b05 fetch  0x00000002 , 0x000002d1 
- 00020100  0x00004b06 copy  0x0000003f , 0x00000007 
- 00020101  0x00004b07 rtn 
- 00020102  0x00004b0a call  0x00007ea8 
- 00020103  0x00004b0b setarg  0x00000051 
- 00020104  0x00004b0c arg  0x00000051 , 0x00000002 
- 00020105  0x00004b0d fetch  0x00000002 , 0x0000424a 
- 00020106  0x00004b0e nbranch  0x00004ece , 0x00000034 
- 00020107  0x00004b0f copy  0x0000000b , 0x0000003f 
- 00020108  0x00004b10 store  0x00000002 , 0x0000424a 
- 00020109  0x00004b11 fetch  0x00000001 , 0x00004251 
- 00020110  0x00004b12 set1  0x00000000 , 0x0000003f 
- 00020111  0x00004b13 set1  0x00000001 , 0x0000003f 
- 00020112  0x00004b14 store  0x00000001 , 0x00004251 
- 00020113  0x00004b15 branch  0x00004eb1 
- 00020114  0x00004b17 call  0x00007ea8 
- 00020115  0x00004b18 arg  0x00000052 , 0x00000002 
- 00020116  0x00004b19 fetch  0x00000002 , 0x0000424c 
- 00020117  0x00004b1a nbranch  0x00004ece , 0x00000034 
- 00020118  0x00004b1b copy  0x0000000b , 0x0000003f 
- 00020119  0x00004b1c store  0x00000002 , 0x0000424c 
- 00020120  0x00004b1d fetch  0x00000001 , 0x00004252 
- 00020121  0x00004b1e set1  0x00000000 , 0x0000003f 
- 00020122  0x00004b1f set1  0x00000001 , 0x0000003f 
- 00020123  0x00004b20 store  0x00000001 , 0x00004252 
- 00020124  0x00004b21 branch  0x00004eb1 
- 00020125  0x00004b23 call  0x00007ea8 
- 00020126  0x00004b24 deposit  0x0000001a 
- 00020127  0x00004b25 arg  0x00000053 , 0x00000002 
- 00020128  0x00004b26 fetch  0x00000002 , 0x0000424e 
- 00020129  0x00004b27 nbranch  0x00004ece , 0x00000034 
- 00020130  0x00004b28 copy  0x0000000b , 0x0000003f 
- 00020131  0x00004b29 store  0x00000002 , 0x0000424e 
- 00020132  0x00004b2a fetch  0x00000001 , 0x00004253 
- 00020133  0x00004b2b set1  0x00000000 , 0x0000003f 
- 00020134  0x00004b2c set1  0x00000001 , 0x0000003f 
- 00020135  0x00004b2d store  0x00000001 , 0x00004253 
- 00020136  0x00004b2e branch  0x00004eb1 
- 00020137  0x00004b31 setarg  0x00000001 
- 00020138  0x00004b32 store  0x00000002 , 0x0000027d 
- 00020139  0x00004b33 jam  0x00000050 , 0x00004364 
- 00020140  0x00004b34 branch  0x00004eb3 
- 00020141  0x00004b36 fetch  0x00000001 , 0x00004250 
- 00020142  0x00004b37 set1  0x00000000 , 0x0000003f 
- 00020143  0x00004b38 set1  0x00000001 , 0x0000003f 
- 00020144  0x00004b39 store  0x00000001 , 0x00004250 
- 00020145  0x00004b3b setarg  0x00000000 
- 00020146  0x00004b3c store  0x00000002 , 0x0000027d 
- 00020147  0x00004b3e bpatchx  0x00000010 , 0x00004022 
- 00020148  0x00004b3f call  0x00007ead 
- 00020149  0x00004b40 setarg  0x00000003 
- 00020150  0x00004b41 istore  0x00000001 , 0x00000005 
- 00020151  0x00004b42 copy  0x00000007 , 0x0000003f 
- 00020152  0x00004b43 istore  0x00000001 , 0x00000005 
- 00020153  0x00004b44 setarg  0x00000008 
- 00020154  0x00004b45 istore  0x00000002 , 0x00000005 
- 00020155  0x00004b46 copy  0x00000002 , 0x0000003f 
- 00020156  0x00004b47 istore  0x00000002 , 0x00000005 
- 00020157  0x00004b48 copy  0x0000000b , 0x0000003f 
- 00020158  0x00004b49 istore  0x00000002 , 0x00000005 
- 00020159  0x00004b4a fetch  0x00000002 , 0x0000027d 
- 00020160  0x00004b4b beq  0x00000001 , 0x00004ec9 
- 00020161  0x00004b4c isolate0  0x00000000 , 0x00000008 
- 00020162  0x00004b4d branch  0x00004ec4 , 0x00000001 
- 00020163  0x00004b4e setarg  0x00000004 
- 00020164  0x00004b50 istore  0x00000002 , 0x00000005 
- 00020165  0x00004b51 force  0x00000000 , 0x0000003f 
- 00020166  0x00004b52 istore  0x00000002 , 0x00000005 
- 00020167  0x00004b53 setarg  0x0000000c 
- 00020168  0x00004b54 branch  0x00004ed0 
- 00020169  0x00004b56 istore  0x00000002 , 0x00000005 
- 00020170  0x00004b57 force  0x00000002 , 0x0000003f 
- 00020171  0x00004b58 istore  0x00000002 , 0x00000005 
- 00020172  0x00004b59 setarg  0x0000000c 
- 00020173  0x00004b5a branch  0x00004ed0 
- 00020174  0x00004b5d set1  0x00000000 , 0x00000008 
- 00020175  0x00004b5e branch  0x00004eb1 
- 00020176  0x00004b60 iadd  0x00000012 , 0x00000012 
- 00020177  0x00004b61 copy  0x00000013 , 0x0000003f 
- 00020178  0x00004b62 isub  0x00000011 , 0x00000013 
- 00020179  0x00004b63 branch  0x00004ed4 
- 00020180  0x00004b65 branch  0x00004e1e 
- 00020181  0x00004b68 ifetch  0x00000001 , 0x00000006 
- 00020182  0x00004b69 copy  0x0000003f , 0x00000007 
- 00020183  0x00004b6a ifetch  0x00000002 , 0x00000006 
- 00020184  0x00004b6b copy  0x0000003f , 0x00000011 
- 00020185  0x00004b6c copy  0x00000013 , 0x0000003f 
- 00020186  0x00004b6d isub  0x00000011 , 0x00000013 
- 00020187  0x00004b6e ifetch  0x00000002 , 0x00000006 
- 00020188  0x00004b6f copy  0x0000003f , 0x0000000b 
- 00020189  0x00004b70 ifetch  0x00000002 , 0x00000006 
- 00020190  0x00004b71 copy  0x0000003f , 0x00000002 
- 00020191  0x00004b72 bpatchx  0x00000011 , 0x00004022 
- 00020192  0x00004b73 setarg  0x00000050 
- 00020193  0x00004b74 isub  0x00000002 , 0x0000003e 
- 00020194  0x00004b75 branch  0x00004eed , 0x00000005 
- 00020195  0x00004b76 setarg  0x00000051 
- 00020196  0x00004b77 isub  0x00000002 , 0x0000003e 
- 00020197  0x00004b78 branch  0x00004ef3 , 0x00000005 
- 00020198  0x00004b79 setarg  0x00000052 
- 00020199  0x00004b7a isub  0x00000002 , 0x0000003e 
- 00020200  0x00004b7b branch  0x00004eff , 0x00000005 
- 00020201  0x00004b7c setarg  0x00000053 
- 00020202  0x00004b7d isub  0x00000002 , 0x0000003e 
- 00020203  0x00004b7e branch  0x00004ef9 , 0x00000005 
- 00020204  0x00004b7f rtn 
- 00020205  0x00004b82 copy  0x0000000b , 0x0000003f 
- 00020206  0x00004b83 store  0x00000002 , 0x00004248 
- 00020207  0x00004b84 fetch  0x00000001 , 0x00004250 
- 00020208  0x00004b85 set1  0x00000001 , 0x0000003f 
- 00020209  0x00004b86 store  0x00000001 , 0x00004250 
- 00020210  0x00004b87 branch  0x00004e1e 
- 00020211  0x00004b89 copy  0x0000000b , 0x0000003f 
- 00020212  0x00004b8a store  0x00000002 , 0x0000424a 
- 00020213  0x00004b8b fetch  0x00000001 , 0x00004251 
- 00020214  0x00004b8c set1  0x00000001 , 0x0000003f 
- 00020215  0x00004b8d store  0x00000001 , 0x00004251 
- 00020216  0x00004b8e rtn 
- 00020217  0x00004b90 copy  0x0000000b , 0x0000003f 
- 00020218  0x00004b91 store  0x00000002 , 0x0000424c 
- 00020219  0x00004b92 fetch  0x00000001 , 0x00004253 
- 00020220  0x00004b93 set1  0x00000001 , 0x0000003f 
- 00020221  0x00004b94 store  0x00000001 , 0x00004253 
- 00020222  0x00004b95 rtn 
- 00020223  0x00004b97 copy  0x0000000b , 0x0000003f 
- 00020224  0x00004b98 store  0x00000002 , 0x0000424e 
- 00020225  0x00004b99 fetch  0x00000001 , 0x00004252 
- 00020226  0x00004b9a set1  0x00000001 , 0x0000003f 
- 00020227  0x00004b9b store  0x00000001 , 0x00004252 
- 00020228  0x00004b9c rtn 
- 00020229  0x00004b9f ifetch  0x00000001 , 0x00000006 
- 00020230  0x00004ba0 copy  0x0000003f , 0x00000007 
- 00020231  0x00004ba1 ifetch  0x00000002 , 0x00000006 
- 00020232  0x00004ba2 copy  0x0000003f , 0x00000011 
- 00020233  0x00004ba3 copy  0x00000013 , 0x0000003f 
- 00020234  0x00004ba4 isub  0x00000011 , 0x00000013 
- 00020235  0x00004ba5 ifetch  0x00000002 , 0x00000006 
- 00020236  0x00004ba6 copy  0x0000003f , 0x00000002 
- 00020237  0x00004ba7 copy  0x00000002 , 0x00000011 
- 00020238  0x00004ba8 bpatchx  0x00000012 , 0x00004022 
- 00020239  0x00004ba9 setarg  0x00000050 
- 00020240  0x00004baa isub  0x00000002 , 0x0000003e 
- 00020241  0x00004bab branch  0x00004f1c , 0x00000005 
- 00020242  0x00004bac setarg  0x00000051 
- 00020243  0x00004bad isub  0x00000002 , 0x0000003e 
- 00020244  0x00004bae branch  0x00004f3a , 0x00000005 
- 00020245  0x00004baf setarg  0x00000052 
- 00020246  0x00004bb0 isub  0x00000002 , 0x0000003e 
- 00020247  0x00004bb1 branch  0x00004f26 , 0x00000005 
- 00020248  0x00004bb2 setarg  0x00000053 
- 00020249  0x00004bb3 isub  0x00000002 , 0x0000003e 
- 00020250  0x00004bb4 branch  0x00004f30 , 0x00000005 
- 00020251  0x00004bb5 branch  0x00005062 
- 00020252  0x00004bb8 copy  0x00000005 , 0x0000000b 
- 00020253  0x00004bb9 fetch  0x00000001 , 0x00004250 
- 00020254  0x00004bba set1  0x00000004 , 0x0000003f 
- 00020255  0x00004bbb set1  0x00000003 , 0x0000003f 
- 00020256  0x00004bbd store  0x00000001 , 0x00004250 
- 00020257  0x00004bbe copy  0x0000000b , 0x00000005 
- 00020258  0x00004bbf arg  0x00000050 , 0x0000000b 
- 00020259  0x00004bc0 fetch  0x00000002 , 0x00004248 
- 00020260  0x00004bc1 copy  0x0000003f , 0x00000002 
- 00020261  0x00004bc2 branch  0x00004f43 
- 00020262  0x00004bc4 copy  0x00000005 , 0x0000000b 
- 00020263  0x00004bc5 fetch  0x00000001 , 0x00004252 
- 00020264  0x00004bc6 set1  0x00000004 , 0x0000003f 
- 00020265  0x00004bc7 set1  0x00000003 , 0x0000003f 
- 00020266  0x00004bc9 store  0x00000001 , 0x00004252 
- 00020267  0x00004bca copy  0x0000000b , 0x00000005 
- 00020268  0x00004bcb arg  0x00000052 , 0x0000000b 
- 00020269  0x00004bcc fetch  0x00000002 , 0x0000424c 
- 00020270  0x00004bcd copy  0x0000003f , 0x00000002 
- 00020271  0x00004bce branch  0x00004f43 
- 00020272  0x00004bd0 copy  0x00000005 , 0x0000000b 
- 00020273  0x00004bd1 fetch  0x00000001 , 0x00004253 
- 00020274  0x00004bd2 set1  0x00000004 , 0x0000003f 
- 00020275  0x00004bd3 set1  0x00000003 , 0x0000003f 
- 00020276  0x00004bd5 store  0x00000001 , 0x00004253 
- 00020277  0x00004bd6 copy  0x0000000b , 0x00000005 
- 00020278  0x00004bd7 arg  0x00000053 , 0x0000000b 
- 00020279  0x00004bd8 fetch  0x00000002 , 0x0000424e 
- 00020280  0x00004bd9 copy  0x0000003f , 0x00000002 
- 00020281  0x00004bda branch  0x00004f43 
- 00020282  0x00004bdc copy  0x00000005 , 0x0000000b 
- 00020283  0x00004bdd fetch  0x00000001 , 0x00004251 
- 00020284  0x00004bde set1  0x00000004 , 0x0000003f 
- 00020285  0x00004bdf set1  0x00000003 , 0x0000003f 
- 00020286  0x00004be1 store  0x00000001 , 0x00004251 
- 00020287  0x00004be3 copy  0x0000000b , 0x00000005 
- 00020288  0x00004be4 arg  0x00000051 , 0x0000000b 
- 00020289  0x00004be5 fetch  0x00000002 , 0x0000424a 
- 00020290  0x00004be6 copy  0x0000003f , 0x00000002 
- 00020291  0x00004be8 bpatchx  0x00000013 , 0x00004022 
- 00020292  0x00004be9 setarg  0x00000005 
- 00020293  0x00004bea istore  0x00000001 , 0x00000005 
- 00020294  0x00004beb copy  0x00000007 , 0x0000003f 
- 00020295  0x00004bec istore  0x00000001 , 0x00000005 
- 00020296  0x00004bed setarg  0x00000006 
- 00020297  0x00004bee istore  0x00000002 , 0x00000005 
- 00020298  0x00004bef copy  0x00000002 , 0x0000003f 
- 00020299  0x00004bf0 istore  0x00000002 , 0x00000005 
- 00020300  0x00004bf1 force  0x00000000 , 0x0000003f 
- 00020301  0x00004bf2 istore  0x00000002 , 0x00000005 
- 00020302  0x00004bf3 force  0x00000000 , 0x0000003f 
- 00020303  0x00004bf4 istore  0x00000002 , 0x00000005 
- 00020304  0x00004bf5 force  0x0000000a , 0x0000003f 
- 00020305  0x00004bf6 iadd  0x00000012 , 0x00000012 
- 00020306  0x00004bf8 storet  0x00000002 , 0x00000282 
- 00020307  0x00004bf9 copy  0x00000007 , 0x0000003f 
- 00020308  0x00004bfa store  0x00000001 , 0x00000281 
- 00020309  0x00004bfb force  0x00000050 , 0x0000003f 
- 00020310  0x00004bfc icompare  0x000000ff , 0x0000000b 
- 00020311  0x00004bfd branch  0x00004f59 , 0x00000001 
- 00020312  0x00004bfe increase  0x00000001 , 0x0000003f 
- 00020313  0x00004c01 rtn 
- 00020314  0x00004c03 disable  0x00000028 
- 00020315  0x00004c04 rtnbit1  0x00000002 , 0x0000003f 
- 00020316  0x00004c05 rtnbit0  0x00000000 , 0x0000003f 
- 00020317  0x00004c06 rtnbit0  0x00000001 , 0x0000003f 
- 00020318  0x00004c07 set1  0x00000002 , 0x0000003f 
- 00020319  0x00004c08 copy  0x00000006 , 0x00000005 
- 00020320  0x00004c09 increase  0xffffffff , 0x00000005 
- 00020321  0x00004c0a istore  0x00000001 , 0x00000005 
- 00020322  0x00004c0b enable  0x00000028 
- 00020323  0x00004c0c rtn 
- 00020324  0x00004c0f fetch  0x00000001 , 0x00004250 
- 00020325  0x00004c10 call  0x00004f5a 
- 00020326  0x00004c11 nbranch  0x00004f6b , 0x00000028 
- 00020327  0x00004c12 jam  0x00000050 , 0x00000280 
- 00020328  0x00004c13 fetch  0x00000002 , 0x00004248 
- 00020329  0x00004c14 store  0x00000002 , 0x00000282 
- 00020330  0x00004c15 branch  0x00004f7f 
- 00020331  0x00004c17 fetch  0x00000001 , 0x00004251 
- 00020332  0x00004c18 call  0x00004f5a 
- 00020333  0x00004c19 nbranch  0x00004f72 , 0x00000028 
- 00020334  0x00004c1a jam  0x00000051 , 0x00000280 
- 00020335  0x00004c1b fetch  0x00000002 , 0x0000424a 
- 00020336  0x00004c1c store  0x00000002 , 0x00000282 
- 00020337  0x00004c1d branch  0x00004f7f 
- 00020338  0x00004c1f fetch  0x00000001 , 0x00004252 
- 00020339  0x00004c20 call  0x00004f5a 
- 00020340  0x00004c21 nbranch  0x00004f79 , 0x00000028 
- 00020341  0x00004c22 jam  0x00000052 , 0x00000280 
- 00020342  0x00004c23 fetch  0x00000002 , 0x0000424c 
- 00020343  0x00004c24 store  0x00000002 , 0x00000282 
- 00020344  0x00004c25 branch  0x00004f7f 
- 00020345  0x00004c27 fetch  0x00000001 , 0x00004253 
- 00020346  0x00004c28 call  0x00004f5a 
- 00020347  0x00004c29 nrtn  0x00000028 
- 00020348  0x00004c2a jam  0x00000053 , 0x00000280 
- 00020349  0x00004c2b fetch  0x00000002 , 0x0000424e 
- 00020350  0x00004c2c store  0x00000002 , 0x00000282 
- 00020351  0x00004c30 bpatchx  0x00000014 , 0x00004022 
- 00020352  0x00004c31 call  0x0000523a 
- 00020353  0x00004c32 call  0x000052b8 
- 00020354  0x00004c33 force  0x00000000 , 0x00000012 
- 00020355  0x00004c34 call  0x000052c3 
- 00020356  0x00004c35 force  0x00000004 , 0x0000003f 
- 00020357  0x00004c36 istore  0x00000001 , 0x00000005 
- 00020358  0x00004c37 fetch  0x00000001 , 0x00004255 
- 00020359  0x00004c38 istore  0x00000001 , 0x00000005 
- 00020360  0x00004c39 setarg  0x00000008 
- 00020361  0x00004c3a istore  0x00000002 , 0x00000005 
- 00020362  0x00004c3b fetch  0x00000002 , 0x00000282 
- 00020363  0x00004c3c istore  0x00000002 , 0x00000005 
- 00020364  0x00004c3d setarg  0x00000000 
- 00020365  0x00004c3e istore  0x00000002 , 0x00000005 
- 00020366  0x00004c3f force  0x00000001 , 0x0000003f 
- 00020367  0x00004c40 istore  0x00000001 , 0x00000005 
- 00020368  0x00004c41 force  0x00000002 , 0x0000003f 
- 00020369  0x00004c42 istore  0x00000001 , 0x00000005 
- 00020370  0x00004c43 fetch  0x00000001 , 0x00000280 
- 00020371  0x00004c44 beq  0x00000051 , 0x00004f97 
- 00020372  0x00004c45 setarg  0x00000030 
- 00020373  0x00004c46 istore  0x00000002 , 0x00000005 
- 00020374  0x00004c47 branch  0x00004f99 
- 00020375  0x00004c49 setarg  0x000003e3 
- 00020376  0x00004c4a istore  0x00000002 , 0x00000005 
- 00020377  0x00004c4c arg  0x0000000c , 0x00000002 
- 00020378  0x00004c4d storet  0x00000002 , 0x0000026f 
- 00020379  0x00004c4e call  0x000052c1 
- 00020380  0x00004c4f fetch  0x00000002 , 0x0000026f 
- 00020381  0x00004c50 istore  0x00000002 , 0x00000005 
- 00020382  0x00004c51 force  0x00000001 , 0x0000003f 
- 00020383  0x00004c52 istore  0x00000002 , 0x00000005 
- 00020384  0x00004c53 jam  0x00000000 , 0x00000280 
- 00020385  0x00004c55 branch  0x00004e1e 
- 00020386  0x00004c58 increase  0x00000001 , 0x00000006 
- 00020387  0x00004c59 ifetch  0x00000002 , 0x00000006 
- 00020388  0x00004c5a copy  0x0000003f , 0x00000011 
- 00020389  0x00004c5b copy  0x00000013 , 0x0000003f 
- 00020390  0x00004c5c isub  0x00000011 , 0x00000013 
- 00020391  0x00004c5d ifetch  0x00000002 , 0x00000006 
- 00020392  0x00004c5e copy  0x0000003f , 0x00000011 
- 00020393  0x00004c5f bpatchx  0x00000015 , 0x00004022 
- 00020394  0x00004c60 setarg  0x00000050 
- 00020395  0x00004c61 isub  0x00000011 , 0x0000003e 
- 00020396  0x00004c62 branch  0x00004fba , 0x00000005 
- 00020397  0x00004c63 setarg  0x00000051 
- 00020398  0x00004c64 isub  0x00000011 , 0x0000003e 
- 00020399  0x00004c65 branch  0x00004fbe , 0x00000005 
- 00020400  0x00004c66 setarg  0x00000052 
- 00020401  0x00004c67 isub  0x00000011 , 0x0000003e 
- 00020402  0x00004c68 branch  0x00004fc2 , 0x00000005 
- 00020403  0x00004c69 setarg  0x00000053 
- 00020404  0x00004c6a isub  0x00000011 , 0x0000003e 
- 00020405  0x00004c6b branch  0x00004fc6 , 0x00000005 
- 00020406  0x00004c6c increase  0x00000002 , 0x00000006 
- 00020407  0x00004c6d ifetch  0x00000002 , 0x00000006 
- 00020408  0x00004c6e iforce  0x0000003e 
- 00020409  0x00004c6f branch  0x00004e1e 
- 00020410  0x00004c71 fetch  0x00000001 , 0x00004250 
- 00020411  0x00004c72 set1  0x00000005 , 0x0000003f 
- 00020412  0x00004c73 store  0x00000001 , 0x00004250 
- 00020413  0x00004c74 branch  0x00004e1e 
- 00020414  0x00004c76 fetch  0x00000001 , 0x00004251 
- 00020415  0x00004c77 set1  0x00000005 , 0x0000003f 
- 00020416  0x00004c78 store  0x00000001 , 0x00004251 
- 00020417  0x00004c79 branch  0x00004e1e 
- 00020418  0x00004c7b fetch  0x00000001 , 0x00004252 
- 00020419  0x00004c7c set1  0x00000005 , 0x0000003f 
- 00020420  0x00004c7d store  0x00000001 , 0x00004252 
- 00020421  0x00004c7e branch  0x00004e1e 
- 00020422  0x00004c80 fetch  0x00000001 , 0x00004253 
- 00020423  0x00004c81 set1  0x00000005 , 0x0000003f 
- 00020424  0x00004c82 store  0x00000001 , 0x00004253 
- 00020425  0x00004c83 jam  0x00000006 , 0x00000a99 
- 00020426  0x00004c84 branch  0x00007d86 
- 00020427  0x00004c89 ifetch  0x00000001 , 0x00000006 
- 00020428  0x00004c8a copy  0x0000003f , 0x00000007 
- 00020429  0x00004c8b ifetch  0x00000002 , 0x00000006 
- 00020430  0x00004c8c copy  0x0000003f , 0x00000011 
- 00020431  0x00004c8d copy  0x00000013 , 0x0000003f 
- 00020432  0x00004c8e isub  0x00000011 , 0x00000013 
- 00020433  0x00004c8f ifetch  0x00000002 , 0x00000006 
- 00020434  0x00004c90 copy  0x0000003f , 0x00000011 
- 00020435  0x00004c91 ifetch  0x00000002 , 0x00000006 
- 00020436  0x00004c92 copy  0x0000003f , 0x0000000b 
- 00020437  0x00004c93 copy  0x00000011 , 0x00000002 
- 00020438  0x00004c94 call  0x00007ea8 
- 00020439  0x00004c95 bpatchx  0x00000016 , 0x00004022 
- 00020440  0x00004c96 setarg  0x00000050 
- 00020441  0x00004c97 isub  0x00000002 , 0x0000003e 
- 00020442  0x00004c98 branch  0x00004ff2 , 0x00000005 
- 00020443  0x00004c99 setarg  0x00000051 
- 00020444  0x00004c9a isub  0x00000002 , 0x0000003e 
- 00020445  0x00004c9b branch  0x00005002 , 0x00000005 
- 00020446  0x00004c9c setarg  0x00000052 
- 00020447  0x00004c9d isub  0x00000002 , 0x0000003e 
- 00020448  0x00004c9e branch  0x00004fe6 , 0x00000005 
- 00020449  0x00004c9f setarg  0x00000053 
- 00020450  0x00004ca0 isub  0x00000002 , 0x0000003e 
- 00020451  0x00004ca1 branch  0x00004fec , 0x00000005 
- 00020452  0x00004ca2 call  0x00005062 
- 00020453  0x00004ca3 branch  0x00005017 
- 00020454  0x00004ca5 copy  0x0000000b , 0x00000002 
- 00020455  0x00004ca6 fetch  0x00000002 , 0x0000424c 
- 00020456  0x00004ca7 isub  0x00000002 , 0x0000003e 
- 00020457  0x00004ca8 branch  0x00004ff8 , 0x00000005 
- 00020458  0x00004ca9 call  0x00005062 
- 00020459  0x00004caa branch  0x00005017 
- 00020460  0x00004cac copy  0x0000000b , 0x00000002 
- 00020461  0x00004cad fetch  0x00000002 , 0x0000424e 
- 00020462  0x00004cae isub  0x00000002 , 0x0000003e 
- 00020463  0x00004caf branch  0x00004ffa , 0x00000005 
- 00020464  0x00004cb0 call  0x00005062 
- 00020465  0x00004cb1 branch  0x00005017 
- 00020466  0x00004cb4 copy  0x0000000b , 0x00000002 
- 00020467  0x00004cb5 fetch  0x00000002 , 0x00004248 
- 00020468  0x00004cb6 isub  0x00000002 , 0x0000003e 
- 00020469  0x00004cb7 branch  0x00004ffe , 0x00000005 
- 00020470  0x00004cb8 call  0x00005062 
- 00020471  0x00004cb9 branch  0x00005017 
- 00020472  0x00004cbb call  0x00005079 
- 00020473  0x00004cbc branch  0x0000500a 
- 00020474  0x00004cbe call  0x0000507f 
- 00020475  0x00004cbf fetch  0x00000002 , 0x0000424c 
- 00020476  0x00004cc0 branch  0x0000500a , 0x00000034 
- 00020477  0x00004cc8 branch  0x0000500a 
- 00020478  0x00004ccb call  0x00005074 
- 00020479  0x00004ccc fetch  0x00000001 , 0x00000288 
- 00020480  0x00004ccd nbranch  0x0000500a , 0x00000034 
- 00020481  0x00004cd0 branch  0x0000500a 
- 00020482  0x00004cd2 copy  0x0000000b , 0x00000002 
- 00020483  0x00004cd3 fetch  0x00000002 , 0x0000424a 
- 00020484  0x00004cd4 isub  0x00000002 , 0x0000003e 
- 00020485  0x00004cd5 branch  0x00005008 , 0x00000005 
- 00020486  0x00004cd6 call  0x00005062 
- 00020487  0x00004cd7 branch  0x00005017 
- 00020488  0x00004cd9 call  0x0000506f 
- 00020489  0x00004cda branch  0x0000500a 
- 00020490  0x00004cdc call  0x00007ead 
- 00020491  0x00004cdd setarg  0x00000007 
- 00020492  0x00004cde istore  0x00000001 , 0x00000005 
- 00020493  0x00004cdf copy  0x00000007 , 0x0000003f 
- 00020494  0x00004ce0 istore  0x00000001 , 0x00000005 
- 00020495  0x00004ce1 setarg  0x00000004 
- 00020496  0x00004ce2 istore  0x00000002 , 0x00000005 
- 00020497  0x00004ce3 copy  0x00000011 , 0x0000003f 
- 00020498  0x00004ce4 istore  0x00000002 , 0x00000005 
- 00020499  0x00004ce5 copy  0x0000000b , 0x0000003f 
- 00020500  0x00004ce6 istore  0x00000002 , 0x00000005 
- 00020501  0x00004ce7 force  0x00000008 , 0x0000003f 
- 00020502  0x00004ce8 branch  0x00005019 
- 00020503  0x00004cea call  0x00007ead 
- 00020504  0x00004ceb branch  0x00005019 
- 00020505  0x00004ced iadd  0x00000012 , 0x00000012 
- 00020506  0x00004cee branch  0x00004e1e 
- 00020507  0x00004cf0 ifetch  0x00000001 , 0x00000006 
- 00020508  0x00004cf1 copy  0x0000003f , 0x00000007 
- 00020509  0x00004cf2 ifetch  0x00000002 , 0x00000006 
- 00020510  0x00004cf3 copy  0x0000003f , 0x00000011 
- 00020511  0x00004cf4 copy  0x00000013 , 0x0000003f 
- 00020512  0x00004cf5 isub  0x00000011 , 0x00000013 
- 00020513  0x00004cf6 ifetch  0x00000002 , 0x00000006 
- 00020514  0x00004cf7 copy  0x0000003f , 0x0000000b 
- 00020515  0x00004cf8 ifetch  0x00000002 , 0x00000006 
- 00020516  0x00004cf9 copy  0x0000003f , 0x00000002 
- 00020517  0x00004cfa call  0x00007ea8 
- 00020518  0x00004cfb bpatchx  0x00000017 , 0x00004022 
- 00020519  0x00004cfc setarg  0x00000050 
- 00020520  0x00004cfd isub  0x00000002 , 0x0000003e 
- 00020521  0x00004cfe branch  0x00005035 , 0x00000005 
- 00020522  0x00004cff setarg  0x00000051 
- 00020523  0x00004d00 isub  0x00000002 , 0x0000003e 
- 00020524  0x00004d01 branch  0x0000503b , 0x00000005 
- 00020525  0x00004d02 setarg  0x00000052 
- 00020526  0x00004d03 isub  0x00000002 , 0x0000003e 
- 00020527  0x00004d04 branch  0x00005041 , 0x00000005 
- 00020528  0x00004d05 setarg  0x00000053 
- 00020529  0x00004d06 isub  0x00000002 , 0x0000003e 
- 00020530  0x00004d07 branch  0x00005047 , 0x00000005 
- 00020531  0x00004d08 call  0x00005062 
- 00020532  0x00004d09 branch  0x0000504f 
- 00020533  0x00004d0b copy  0x00000002 , 0x00000011 
- 00020534  0x00004d0c copy  0x0000000b , 0x00000002 
- 00020535  0x00004d0d fetch  0x00000002 , 0x00004248 
- 00020536  0x00004d0e isub  0x00000002 , 0x0000003e 
- 00020537  0x00004d0f call  0x00005074 , 0x00000005 
- 00020538  0x00004d10 branch  0x0000504d 
- 00020539  0x00004d12 copy  0x00000002 , 0x00000011 
- 00020540  0x00004d13 copy  0x0000000b , 0x00000002 
- 00020541  0x00004d14 fetch  0x00000002 , 0x0000424a 
- 00020542  0x00004d15 isub  0x00000002 , 0x0000003e 
- 00020543  0x00004d16 call  0x0000506f , 0x00000005 
- 00020544  0x00004d17 branch  0x0000504d 
- 00020545  0x00004d19 copy  0x00000002 , 0x00000011 
- 00020546  0x00004d1a copy  0x0000000b , 0x00000002 
- 00020547  0x00004d1b fetch  0x00000002 , 0x0000424c 
- 00020548  0x00004d1c isub  0x00000002 , 0x0000003e 
- 00020549  0x00004d1d call  0x00005079 , 0x00000005 
- 00020550  0x00004d1e branch  0x0000504d 
- 00020551  0x00004d20 copy  0x00000002 , 0x00000011 
- 00020552  0x00004d21 copy  0x0000000b , 0x00000002 
- 00020553  0x00004d22 fetch  0x00000002 , 0x0000424e 
- 00020554  0x00004d23 isub  0x00000002 , 0x0000003e 
- 00020555  0x00004d24 call  0x0000507f , 0x00000005 
- 00020556  0x00004d25 branch  0x0000504d 
- 00020557  0x00004d27 call  0x00007ead 
- 00020558  0x00004d28 branch  0x00004e1e 
- 00020559  0x00004d2a branch  0x00004e1e 
- 00020560  0x00004d2e ifetch  0x00000001 , 0x00000006 
- 00020561  0x00004d2f copy  0x0000003f , 0x00000007 
- 00020562  0x00004d30 ifetch  0x00000002 , 0x00000006 
- 00020563  0x00004d31 copy  0x0000003f , 0x00000011 
- 00020564  0x00004d32 iadd  0x00000006 , 0x00000006 
- 00020565  0x00004d33 setarg  0x00000009 
- 00020566  0x00004d34 istore  0x00000001 , 0x00000005 
- 00020567  0x00004d35 copy  0x00000007 , 0x0000003f 
- 00020568  0x00004d36 istore  0x00000001 , 0x00000005 
- 00020569  0x00004d37 force  0x00000000 , 0x0000003f 
- 00020570  0x00004d38 istore  0x00000002 , 0x00000005 
- 00020571  0x00004d39 force  0x00000004 , 0x0000003f 
- 00020572  0x00004d3a iadd  0x00000012 , 0x00000012 
- 00020573  0x00004d3b copy  0x00000013 , 0x0000003f 
- 00020574  0x00004d3c isub  0x00000011 , 0x00000013 
- 00020575  0x00004d3d branch  0x00004e1e 
- 00020576  0x00004d3f branch  0x00004e1e 
- 00020577  0x00004d42 branch  0x00004e1e 
- 00020578  0x00004d44 force  0x00000000 , 0x00000012 
- 00020579  0x00004d45 call  0x000052c3 
- 00020580  0x00004d46 setarg  0x00000001 
- 00020581  0x00004d47 istore  0x00000001 , 0x00000005 
- 00020582  0x00004d48 copy  0x00000007 , 0x0000003f 
- 00020583  0x00004d49 istore  0x00000001 , 0x00000005 
- 00020584  0x00004d4a setarg  0x00000002 
- 00020585  0x00004d4b istore  0x00000002 , 0x00000005 
- 00020586  0x00004d4c setarg  0x00000000 
- 00020587  0x00004d4d istore  0x00000002 , 0x00000005 
- 00020588  0x00004d4e increase  0x00000006 , 0x00000012 
- 00020589  0x00004d4f arg  0x00000004 , 0x00000013 
- 00020590  0x00004d50 branch  0x00004e1e 
- 00020591  0x00004d55 setarg  0x00000000 
- 00020592  0x00004d56 store  0x00000002 , 0x0000027b 
- 00020593  0x00004d57 store  0x00000002 , 0x0000424a 
- 00020594  0x00004d58 jam  0x00000000 , 0x00004251 
- 00020595  0x00004d59 rtn 
- 00020596  0x00004d5b setarg  0x00000000 
- 00020597  0x00004d5c store  0x00000002 , 0x00000275 
- 00020598  0x00004d5d store  0x00000002 , 0x00004248 
- 00020599  0x00004d5e jam  0x00000000 , 0x00004250 
- 00020600  0x00004d5f rtn 
- 00020601  0x00004d61 setarg  0x00000000 
- 00020602  0x00004d62 store  0x00000002 , 0x0000424c 
- 00020603  0x00004d63 jam  0x00000000 , 0x00004252 
- 00020604  0x00004d64 fetch  0x00000001 , 0x00004253 
- 00020605  0x00004d65 beq  0x00000000 , 0x00005085 
- 00020606  0x00004d66 rtn 
- 00020607  0x00004d69 setarg  0x00000000 
- 00020608  0x00004d6a store  0x00000002 , 0x0000424e 
- 00020609  0x00004d6b jam  0x00000000 , 0x00004253 
- 00020610  0x00004d6c fetch  0x00000001 , 0x00004252 
- 00020611  0x00004d6d beq  0x00000000 , 0x00005085 
- 00020612  0x00004d6e rtn 
- 00020613  0x00004d71 jam  0x00000007 , 0x00000a99 
- 00020614  0x00004d72 branch  0x00007d86 
- 00020615  0x00004d75 fetch  0x00000001 , 0x0000027f 
- 00020616  0x00004d76 set0  0x00000000 , 0x0000003f 
- 00020617  0x00004d77 store  0x00000001 , 0x0000027f 
- 00020618  0x00004d78 fetch  0x00000002 , 0x0000424e 
- 00020619  0x00004d79 rtn  0x00000034 
- 00020620  0x00004d7a call  0x000052b8 
- 00020621  0x00004d7b fetch  0x00000002 , 0x0000424e 
- 00020622  0x00004d7c copy  0x0000003f , 0x00000011 
- 00020623  0x00004d7d force  0x00000053 , 0x00000012 
- 00020624  0x00004d7e branch  0x0000509a 
- 00020625  0x00004d80 fetch  0x00000001 , 0x0000027f 
- 00020626  0x00004d81 set0  0x00000007 , 0x0000003f 
- 00020627  0x00004d82 store  0x00000001 , 0x0000027f 
- 00020628  0x00004d83 fetch  0x00000002 , 0x0000424c 
- 00020629  0x00004d84 rtn  0x00000034 
- 00020630  0x00004d85 call  0x000052b8 
- 00020631  0x00004d86 fetch  0x00000002 , 0x0000424c 
- 00020632  0x00004d87 copy  0x0000003f , 0x00000011 
- 00020633  0x00004d88 force  0x00000052 , 0x00000012 
- 00020634  0x00004d8a call  0x0000523a 
- 00020635  0x00004d8b call  0x000052c3 
- 00020636  0x00004d8c force  0x00000006 , 0x0000003f 
- 00020637  0x00004d8d istore  0x00000001 , 0x00000005 
- 00020638  0x00004d8e fetch  0x00000001 , 0x00004255 
- 00020639  0x00004d8f istore  0x00000001 , 0x00000005 
- 00020640  0x00004d90 setarg  0x00000004 
- 00020641  0x00004d91 istore  0x00000002 , 0x00000005 
- 00020642  0x00004d92 copy  0x00000011 , 0x0000003f 
- 00020643  0x00004d93 istore  0x00000002 , 0x00000005 
- 00020644  0x00004d94 copy  0x00000012 , 0x0000003f 
- 00020645  0x00004d95 istore  0x00000002 , 0x00000005 
- 00020646  0x00004d96 force  0x00000008 , 0x00000002 
- 00020647  0x00004d97 branch  0x000050de 
- 00020648  0x00004d9a bpatchx  0x00000018 , 0x00004023 
- 00020649  0x00004d9b call  0x0000523a 
- 00020650  0x00004d9c call  0x000052c3 
- 00020651  0x00004d9d setarg  0x00000002 
- 00020652  0x00004d9e istore  0x00000001 , 0x00000005 
- 00020653  0x00004d9f fetch  0x00000001 , 0x00004255 
- 00020654  0x00004da0 istore  0x00000001 , 0x00000005 
- 00020655  0x00004da1 setarg  0x00000004 
- 00020656  0x00004da2 istore  0x00000002 , 0x00000005 
- 00020657  0x00004da3 copy  0x00000002 , 0x0000003f 
- 00020658  0x00004da4 istore  0x00000002 , 0x00000005 
- 00020659  0x00004da5 copy  0x0000000b , 0x0000003f 
- 00020660  0x00004da6 istore  0x00000002 , 0x00000005 
- 00020661  0x00004da7 arg  0x00000008 , 0x00000002 
- 00020662  0x00004da8 branch  0x000050de 
- 00020663  0x00004daa bpatchx  0x00000019 , 0x00004023 
- 00020664  0x00004dab call  0x0000523a 
- 00020665  0x00004dac call  0x000052c3 
- 00020666  0x00004dad setarg  0x00000004 
- 00020667  0x00004dae istore  0x00000001 , 0x00000005 
- 00020668  0x00004daf fetch  0x00000001 , 0x00004255 
- 00020669  0x00004db0 istore  0x00000001 , 0x00000005 
- 00020670  0x00004db1 setarg  0x00000008 
- 00020671  0x00004db2 istore  0x00000002 , 0x00000005 
- 00020672  0x00004db4 copy  0x00000002 , 0x0000003f 
- 00020673  0x00004db6 istore  0x00000002 , 0x00000005 
- 00020674  0x00004db7 setarg  0x00000000 
- 00020675  0x00004db8 istore  0x00000002 , 0x00000005 
- 00020676  0x00004db9 setarg  0x00000001 
- 00020677  0x00004dba istore  0x00000001 , 0x00000005 
- 00020678  0x00004dbb setarg  0x00000002 
- 00020679  0x00004dbc istore  0x00000001 , 0x00000005 
- 00020680  0x00004dbd setarg  0x000003e3 
- 00020681  0x00004dbe istore  0x00000002 , 0x00000005 
- 00020682  0x00004dbf arg  0x0000000c , 0x00000002 
- 00020683  0x00004dc0 branch  0x000050de 
- 00020684  0x00004dc2 bpatchx  0x0000001a , 0x00004023 
- 00020685  0x00004dc3 call  0x0000523a 
- 00020686  0x00004dc4 call  0x000052c3 
- 00020687  0x00004dc5 setarg  0x00000006 
- 00020688  0x00004dc6 istore  0x00000001 , 0x00000005 
- 00020689  0x00004dc7 fetch  0x00000001 , 0x00004255 
- 00020690  0x00004dc8 increase  0x00000001 , 0x0000003f 
- 00020691  0x00004dc9 copy  0x00000005 , 0x00000011 
- 00020692  0x00004dca store  0x00000001 , 0x00004255 
- 00020693  0x00004dcb copy  0x00000011 , 0x00000005 
- 00020694  0x00004dcc istore  0x00000001 , 0x00000005 
- 00020695  0x00004dcd setarg  0x00000004 
- 00020696  0x00004dce istore  0x00000002 , 0x00000005 
- 00020697  0x00004dcf copy  0x00000002 , 0x0000003f 
- 00020698  0x00004dd0 istore  0x00000002 , 0x00000005 
- 00020699  0x00004dd1 copy  0x0000000b , 0x0000003f 
- 00020700  0x00004dd2 istore  0x00000002 , 0x00000005 
- 00020701  0x00004dd3 arg  0x00000008 , 0x00000002 
- 00020702  0x00004dd7 storet  0x00000002 , 0x0000026f 
- 00020703  0x00004dd8 copy  0x00000002 , 0x0000003f 
- 00020704  0x00004dd9 branch  0x00005264 , 0x00000034 
- 00020705  0x00004dda call  0x000052c1 
- 00020706  0x00004ddb fetch  0x00000002 , 0x0000026f 
- 00020707  0x00004ddc istore  0x00000002 , 0x00000005 
- 00020708  0x00004ddd force  0x00000001 , 0x0000003f 
- 00020709  0x00004dde istore  0x00000002 , 0x00000005 
- 00020710  0x00004ddf rtn 
- 00020711  0x00004de2 fetch  0x00000002 , 0x00000275 
- 00020712  0x00004de3 branch  0x00002a8c , 0x00000034 
- 00020713  0x00004de4 call  0x000052ce 
- 00020714  0x00004de5 fetch  0x00000002 , 0x00000275 
- 00020715  0x00004de6 istore  0x00000002 , 0x00000005 
- 00020716  0x00004de7 fetch  0x00000002 , 0x00004248 
- 00020717  0x00004de8 istore  0x00000002 , 0x00000005 
- 00020718  0x00004de9 rtn 
- 00020719  0x00004deb fetch  0x00000002 , 0x00000266 
- 00020720  0x00004dec branch  0x00004dfc , 0x00000034 
- 00020721  0x00004ded bpatchx  0x0000001b , 0x00004023 
- 00020722  0x00004dee fetch  0x00000001 , 0x00000268 
- 00020723  0x00004def beq  0x00000001 , 0x000050f9 
- 00020724  0x00004df0 beq  0x00000050 , 0x00004de8 
- 00020725  0x00004df1 beq  0x00000051 , 0x00004df5 
- 00020726  0x00004df2 beq  0x00000052 , 0x00004df3 
- 00020727  0x00004df3 beq  0x00000053 , 0x00004df3 
- 00020728  0x00004df4 branch  0x00004dfc 
- 00020729  0x00004df7 bpatchx  0x0000001c , 0x00004023 
- 00020730  0x00004df8 call  0x000052b8 
- 00020731  0x00004df9 force  0x00000000 , 0x00000012 
- 00020732  0x00004dfa call  0x000052c3 
- 00020733  0x00004dfb copy  0x0000003f , 0x00000005 
- 00020734  0x00004dfc fetch  0x00000002 , 0x00000266 
- 00020735  0x00004dfd copy  0x0000003f , 0x00000013 
- 00020736  0x00004dfe fetch  0x00000002 , 0x00000264 
- 00020737  0x00004dff iforce  0x00000006 
- 00020738  0x00004e01 call  0x00005108 
- 00020739  0x00004e02 increase  0xfffffffc , 0x00000013 
- 00020740  0x00004e03 nbranch  0x00005102 , 0x00000005 
- 00020741  0x00004e04 copy  0x00000012 , 0x00000002 
- 00020742  0x00004e05 call  0x000050de 
- 00020743  0x00004e06 branch  0x00004dfc 
- 00020744  0x00004e09 ifetch  0x00000001 , 0x00000006 
- 00020745  0x00004e0a beq  0x00000002 , 0x00005113 
- 00020746  0x00004e0b beq  0x00000001 , 0x00005116 
- 00020747  0x00004e0c beq  0x00000003 , 0x00005120 
- 00020748  0x00004e0d beq  0x00000005 , 0x0000515c 
- 00020749  0x00004e0e beq  0x00000004 , 0x0000518e 
- 00020750  0x00004e0f beq  0x00000007 , 0x00005213 
- 00020751  0x00004e10 beq  0x00000006 , 0x000051e1 
- 00020752  0x00004e11 beq  0x00000008 , 0x00005050 
- 00020753  0x00004e12 beq  0x0000000a , 0x00004e3a 
- 00020754  0x00004e13 branch  0x0000522e 
- 00020755  0x00004e16 call  0x00007ea8 
- 00020756  0x00004e18 call  0x00007ead 
- 00020757  0x00004e19 branch  0x00004e51 
- 00020758  0x00004e1b ifetch  0x00000001 , 0x00000006 
- 00020759  0x00004e1c copy  0x0000003f , 0x00000007 
- 00020760  0x00004e1d ifetch  0x00000002 , 0x00000006 
- 00020761  0x00004e1e copy  0x0000003f , 0x00000011 
- 00020762  0x00004e1f copy  0x00000013 , 0x0000003f 
- 00020763  0x00004e20 isub  0x00000011 , 0x00000013 
- 00020764  0x00004e22 ifetch  0x00000001 , 0x00000006 
- 00020765  0x00004e23 increase  0xffffffff , 0x00000011 
- 00020766  0x00004e24 nbranch  0x0000511c , 0x00000005 
- 00020767  0x00004e25 rtn 
- 00020768  0x00004e27 ifetch  0x00000001 , 0x00000006 
- 00020769  0x00004e28 copy  0x0000003f , 0x00000007 
- 00020770  0x00004e29 ifetch  0x00000002 , 0x00000006 
- 00020771  0x00004e2a copy  0x0000003f , 0x00000011 
- 00020772  0x00004e2b ifetch  0x00000002 , 0x00000006 
- 00020773  0x00004e2c copy  0x0000003f , 0x0000000b 
- 00020774  0x00004e2d ifetch  0x00000002 , 0x00000006 
- 00020775  0x00004e2e copy  0x0000003f , 0x00000002 
- 00020776  0x00004e2f ifetch  0x00000002 , 0x00000006 
- 00020777  0x00004e30 sub  0x0000003f , 0x00000000 , 0x0000003e 
- 00020778  0x00004e31 branch  0x00005132 , 0x00000005 
- 00020779  0x00004e32 beq  0x00000002 , 0x0000512e 
- 00020780  0x00004e33 beq  0x00000004 , 0x0000512e 
- 00020781  0x00004e34 branch  0x00005130 
- 00020782  0x00004e36 jam  0x00000016 , 0x00000a99 
- 00020783  0x00004e37 call  0x00007d86 
- 00020784  0x00004e39 ifetch  0x00000002 , 0x00000006 
- 00020785  0x00004e3a branch  0x00005159 
- 00020786  0x00004e3c call  0x00007ea8 
- 00020787  0x00004e40 bpatchx  0x0000001d , 0x00004023 
- 00020788  0x00004e41 setarg  0x00000050 
- 00020789  0x00004e42 isub  0x00000002 , 0x0000003e 
- 00020790  0x00004e43 branch  0x00005141 , 0x00000005 
- 00020791  0x00004e44 setarg  0x00000051 
- 00020792  0x00004e45 isub  0x00000002 , 0x0000003e 
- 00020793  0x00004e46 branch  0x00005147 , 0x00000005 
- 00020794  0x00004e47 setarg  0x00000053 
- 00020795  0x00004e48 isub  0x00000002 , 0x0000003e 
- 00020796  0x00004e49 branch  0x00005153 , 0x00000005 
- 00020797  0x00004e4a setarg  0x00000052 
- 00020798  0x00004e4b isub  0x00000002 , 0x0000003e 
- 00020799  0x00004e4c branch  0x0000514d , 0x00000005 
- 00020800  0x00004e4d branch  0x00005159 
- 00020801  0x00004e4f copy  0x0000000b , 0x0000003f 
- 00020802  0x00004e50 store  0x00000002 , 0x00004248 
- 00020803  0x00004e51 fetch  0x00000001 , 0x00004250 
- 00020804  0x00004e52 set1  0x00000001 
- 00020805  0x00004e53 store  0x00000001 , 0x00004250 
- 00020806  0x00004e54 branch  0x00005158 
- 00020807  0x00004e56 copy  0x0000000b , 0x0000003f 
- 00020808  0x00004e57 store  0x00000002 , 0x0000424a 
- 00020809  0x00004e58 fetch  0x00000001 , 0x00004251 
- 00020810  0x00004e59 set1  0x00000001 
- 00020811  0x00004e5a store  0x00000001 , 0x00004251 
- 00020812  0x00004e5b branch  0x00005158 
- 00020813  0x00004e5d copy  0x0000000b , 0x0000003f 
- 00020814  0x00004e5e store  0x00000002 , 0x0000424c 
- 00020815  0x00004e5f fetch  0x00000001 , 0x00004252 
- 00020816  0x00004e60 set1  0x00000001 
- 00020817  0x00004e61 store  0x00000001 , 0x00004252 
- 00020818  0x00004e62 branch  0x00005158 
- 00020819  0x00004e64 copy  0x0000000b , 0x0000003f 
- 00020820  0x00004e65 store  0x00000002 , 0x0000424e 
- 00020821  0x00004e66 fetch  0x00000001 , 0x00004253 
- 00020822  0x00004e67 set1  0x00000001 
- 00020823  0x00004e68 store  0x00000001 , 0x00004253 
- 00020824  0x00004e6c call  0x00007ead 
- 00020825  0x00004e6e copy  0x00000013 , 0x0000003f 
- 00020826  0x00004e6f isub  0x00000011 , 0x00000013 
- 00020827  0x00004e70 rtn 
- 00020828  0x00004e73 ifetch  0x00000001 , 0x00000006 
- 00020829  0x00004e74 copy  0x0000003f , 0x00000007 
- 00020830  0x00004e75 ifetch  0x00000002 , 0x00000006 
- 00020831  0x00004e76 copy  0x0000003f , 0x00000011 
- 00020832  0x00004e77 copy  0x00000013 , 0x0000003f 
- 00020833  0x00004e78 isub  0x00000011 , 0x00000013 
- 00020834  0x00004e79 ifetch  0x00000002 , 0x00000006 
- 00020835  0x00004e7a copy  0x0000003f , 0x0000000b 
- 00020836  0x00004e7b ifetch  0x00000002 , 0x00000006 
- 00020837  0x00004e7c ifetch  0x00000002 , 0x00000006 
- 00020838  0x00004e7d nbranch  0x00005188 , 0x00000034 
- 00020839  0x00004e7e call  0x00007ea8 
- 00020840  0x00004e82 copy  0x0000000b , 0x00000002 
- 00020841  0x00004e83 bpatchx  0x0000001e , 0x00004023 
- 00020842  0x00004e84 setarg  0x00000050 
- 00020843  0x00004e85 isub  0x00000002 , 0x0000003e 
- 00020844  0x00004e86 branch  0x00005176 , 0x00000005 
- 00020845  0x00004e87 setarg  0x00000051 
- 00020846  0x00004e88 isub  0x00000002 , 0x0000003e 
- 00020847  0x00004e89 branch  0x0000517a , 0x00000005 
- 00020848  0x00004e8a setarg  0x00000052 
- 00020849  0x00004e8b isub  0x00000002 , 0x0000003e 
- 00020850  0x00004e8c branch  0x0000517e , 0x00000005 
- 00020851  0x00004e8d setarg  0x00000053 
- 00020852  0x00004e8e isub  0x00000002 , 0x0000003e 
- 00020853  0x00004e8f branch  0x00005182 , 0x00000005 
- 00020854  0x00004e91 fetch  0x00000001 , 0x00004250 
- 00020855  0x00004e92 set1  0x00000005 
- 00020856  0x00004e93 store  0x00000001 , 0x00004250 
- 00020857  0x00004e94 rtn 
- 00020858  0x00004e96 fetch  0x00000001 , 0x00004251 
- 00020859  0x00004e97 set1  0x00000005 
- 00020860  0x00004e98 store  0x00000001 , 0x00004251 
- 00020861  0x00004e99 rtn 
- 00020862  0x00004e9b fetch  0x00000001 , 0x00004252 
- 00020863  0x00004e9c set1  0x00000005 
- 00020864  0x00004e9d store  0x00000001 , 0x00004252 
- 00020865  0x00004e9e rtn 
- 00020866  0x00004ea0 fetch  0x00000001 , 0x00004253 
- 00020867  0x00004ea1 set1  0x00000005 
- 00020868  0x00004ea2 store  0x00000001 , 0x00004253 
- 00020869  0x00004ea3 jam  0x00000006 , 0x00000a99 
- 00020870  0x00004ea4 branch  0x00007d86 
- 00020871  0x00004ea8 call  0x00007ead 
- 00020872  0x00004eaa increase  0xfffffffa , 0x00000011 
- 00020873  0x00004eac branch  0x0000518d , 0x00000005 
- 00020874  0x00004ead increase  0x00000001 , 0x00000006 
- 00020875  0x00004eae increase  0xffffffff , 0x00000011 
- 00020876  0x00004eaf branch  0x00005189 
- 00020877  0x00004eb1 rtn 
- 00020878  0x00004eb3 ifetch  0x00000001 , 0x00000006 
- 00020879  0x00004eb4 copy  0x0000003f , 0x00000007 
- 00020880  0x00004eb5 ifetch  0x00000002 , 0x00000006 
- 00020881  0x00004eb6 copy  0x0000003f , 0x00000011 
- 00020882  0x00004eb7 copy  0x00000013 , 0x0000003f 
- 00020883  0x00004eb8 isub  0x00000011 , 0x00000013 
- 00020884  0x00004eb9 ifetch  0x00000002 , 0x00000006 
- 00020885  0x00004eba increase  0x00000002 , 0x00000006 
- 00020886  0x00004ebb copy  0x0000003f , 0x00000002 
- 00020887  0x00004ebc setarg  0x00000005 
- 00020888  0x00004ebd istore  0x00000001 , 0x00000005 
- 00020889  0x00004ebe copy  0x00000007 , 0x0000003f 
- 00020890  0x00004ebf istore  0x00000001 , 0x00000005 
- 00020891  0x00004ec0 increase  0x00000002 , 0x00000011 
- 00020892  0x00004ec1 copy  0x00000011 , 0x0000003f 
- 00020893  0x00004ec2 istore  0x00000002 , 0x00000005 
- 00020894  0x00004ec3 call  0x00007ea8 
- 00020895  0x00004ec4 bpatchx  0x0000001f , 0x00004023 
- 00020896  0x00004ec5 setarg  0x00000050 
- 00020897  0x00004ec6 isub  0x00000002 , 0x0000003e 
- 00020898  0x00004ec7 branch  0x000051ad , 0x00000005 
- 00020899  0x00004ec8 setarg  0x00000051 
- 00020900  0x00004ec9 isub  0x00000002 , 0x0000003e 
- 00020901  0x00004eca branch  0x000051be , 0x00000005 
- 00020902  0x00004ecb setarg  0x00000052 
- 00020903  0x00004ecc isub  0x00000002 , 0x0000003e 
- 00020904  0x00004ecd branch  0x000051c4 , 0x00000005 
- 00020905  0x00004ece setarg  0x00000053 
- 00020906  0x00004ecf isub  0x00000002 , 0x0000003e 
- 00020907  0x00004ed0 branch  0x000051ca , 0x00000005 
- 00020908  0x00004ed1 branch  0x000051cf 
- 00020909  0x00004ed3 fetch  0x00000001 , 0x00004250 
- 00020910  0x00004ed4 set1  0x00000004 , 0x0000003f 
- 00020911  0x00004ed5 set1  0x00000003 , 0x0000003f 
- 00020912  0x00004ed6 store  0x00000001 , 0x00004250 
- 00020913  0x00004ed7 bbit1  0x00000002 , 0x000051bb 
- 00020914  0x00004ed8 fetcht  0x00000001 , 0x0000027f 
- 00020915  0x00004ed9 set1  0x00000006 , 0x00000002 
- 00020916  0x00004eda storet  0x00000001 , 0x0000027f 
- 00020917  0x00004edb copy  0x00000007 , 0x0000003f 
- 00020918  0x00004edc increase  0x00000001 , 0x0000003f 
- 00020919  0x00004edd store  0x00000001 , 0x00000281 
- 00020920  0x00004ede fetch  0x00000001 , 0x00004250 
- 00020921  0x00004edf set1  0x00000002 , 0x0000003f 
- 00020922  0x00004ee0 store  0x00000001 , 0x00004250 
- 00020923  0x00004ee2 fetch  0x00000002 , 0x00004248 
- 00020924  0x00004ee3 store  0x00000002 , 0x00000282 
- 00020925  0x00004ee4 branch  0x000051cf 
- 00020926  0x00004ee6 fetch  0x00000001 , 0x00004251 
- 00020927  0x00004ee7 set1  0x00000004 , 0x0000003f 
- 00020928  0x00004ee8 set1  0x00000003 , 0x0000003f 
- 00020929  0x00004ee9 store  0x00000001 , 0x00004251 
- 00020930  0x00004eea fetch  0x00000002 , 0x0000424a 
- 00020931  0x00004eeb branch  0x000051cf 
- 00020932  0x00004eed fetch  0x00000001 , 0x00004252 
- 00020933  0x00004eee set1  0x00000004 , 0x0000003f 
- 00020934  0x00004eef set1  0x00000003 , 0x0000003f 
- 00020935  0x00004ef0 store  0x00000001 , 0x00004252 
- 00020936  0x00004ef1 fetch  0x00000002 , 0x0000424c 
- 00020937  0x00004ef2 branch  0x000051cf 
- 00020938  0x00004ef4 fetch  0x00000001 , 0x00004253 
- 00020939  0x00004ef5 set1  0x00000004 , 0x0000003f 
- 00020940  0x00004ef6 set1  0x00000003 , 0x0000003f 
- 00020941  0x00004ef7 store  0x00000001 , 0x00004253 
- 00020942  0x00004ef8 fetch  0x00000002 , 0x0000424e 
- 00020943  0x00004efc copy  0x0000003f , 0x0000000b 
- 00020944  0x00004efd call  0x00007ead 
- 00020945  0x00004eff copy  0x0000000b , 0x0000003f 
- 00020946  0x00004f01 istore  0x00000002 , 0x00000005 
- 00020947  0x00004f02 force  0x00000000 , 0x0000003f 
- 00020948  0x00004f03 istore  0x00000002 , 0x00000005 
- 00020949  0x00004f04 force  0x00000000 , 0x0000003f 
- 00020950  0x00004f05 istore  0x00000002 , 0x00000005 
- 00020951  0x00004f06 force  0x0000000a , 0x0000003f 
- 00020952  0x00004f07 iadd  0x00000012 , 0x00000012 
- 00020953  0x00004f08 increase  0xfffffffa , 0x00000011 
- 00020954  0x00004f0a branch  0x000051e0 , 0x00000005 
- 00020955  0x00004f0b ifetch  0x00000001 , 0x00000006 
- 00020956  0x00004f0c istore  0x00000001 , 0x00000005 
- 00020957  0x00004f0d increase  0x00000001 , 0x00000012 
- 00020958  0x00004f0e increase  0xffffffff , 0x00000011 
- 00020959  0x00004f0f branch  0x000051da 
- 00020960  0x00004f11 rtn 
- 00020961  0x00004f13 ifetch  0x00000001 , 0x00000006 
- 00020962  0x00004f14 copy  0x0000003f , 0x00000007 
- 00020963  0x00004f15 ifetch  0x00000002 , 0x00000006 
- 00020964  0x00004f16 copy  0x0000003f , 0x00000011 
- 00020965  0x00004f17 copy  0x00000013 , 0x0000003f 
- 00020966  0x00004f18 isub  0x00000011 , 0x00000013 
- 00020967  0x00004f1a ifetch  0x00000002 , 0x00000006 
- 00020968  0x00004f1b copy  0x0000003f , 0x00000011 
- 00020969  0x00004f1c ifetch  0x00000002 , 0x00000006 
- 00020970  0x00004f1d copy  0x0000003f , 0x0000000b 
- 00020971  0x00004f1e call  0x00007ea8 
- 00020972  0x00004f1f bpatchx  0x00000020 , 0x00004024 
- 00020973  0x00004f20 setarg  0x00000050 
- 00020974  0x00004f21 copy  0x00000011 , 0x00000002 
- 00020975  0x00004f22 isub  0x00000002 , 0x0000003e 
- 00020976  0x00004f23 branch  0x000051fa , 0x00000005 
- 00020977  0x00004f24 setarg  0x00000052 
- 00020978  0x00004f25 copy  0x00000011 , 0x00000002 
- 00020979  0x00004f26 isub  0x00000002 , 0x0000003e 
- 00020980  0x00004f27 branch  0x000051ff , 0x00000005 
- 00020981  0x00004f28 setarg  0x00000053 
- 00020982  0x00004f29 copy  0x00000011 , 0x00000002 
- 00020983  0x00004f2a isub  0x00000002 , 0x0000003e 
- 00020984  0x00004f2b branch  0x00005201 , 0x00000005 
- 00020985  0x00004f2c branch  0x00005203 
- 00020986  0x00004f2e setarg  0x00000000 
- 00020987  0x00004f2f store  0x00000002 , 0x00000275 
- 00020988  0x00004f30 store  0x00000002 , 0x00004248 
- 00020989  0x00004f31 store  0x00000001 , 0x00004250 
- 00020990  0x00004f32 branch  0x00005205 
- 00020991  0x00004f34 call  0x00005079 
- 00020992  0x00004f35 branch  0x00005205 
- 00020993  0x00004f37 call  0x0000507f 
- 00020994  0x00004f3d branch  0x00005205 
- 00020995  0x00004f3f setarg  0x00000000 
- 00020996  0x00004f40 store  0x00000002 , 0x0000027b 
- 00020997  0x00004f42 call  0x00007ead 
- 00020998  0x00004f43 setarg  0x00000007 
- 00020999  0x00004f44 istore  0x00000001 , 0x00000005 
- 00021000  0x00004f45 copy  0x00000007 , 0x0000003f 
- 00021001  0x00004f46 istore  0x00000001 , 0x00000005 
- 00021002  0x00004f47 setarg  0x00000004 
- 00021003  0x00004f48 istore  0x00000002 , 0x00000005 
- 00021004  0x00004f49 copy  0x00000011 , 0x0000003f 
- 00021005  0x00004f4a istore  0x00000002 , 0x00000005 
- 00021006  0x00004f4b copy  0x0000000b , 0x0000003f 
- 00021007  0x00004f4c istore  0x00000002 , 0x00000005 
- 00021008  0x00004f4d force  0x00000008 , 0x0000003f 
- 00021009  0x00004f4e iadd  0x00000012 , 0x00000012 
- 00021010  0x00004f4f rtn 
- 00021011  0x00004f52 ifetch  0x00000001 , 0x00000006 
- 00021012  0x00004f53 copy  0x0000003f , 0x00000007 
- 00021013  0x00004f54 ifetch  0x00000002 , 0x00000006 
- 00021014  0x00004f55 copy  0x0000003f , 0x00000011 
- 00021015  0x00004f56 ifetch  0x00000002 , 0x00000006 
- 00021016  0x00004f57 copy  0x0000003f , 0x0000000b 
- 00021017  0x00004f58 ifetch  0x00000002 , 0x00000006 
- 00021018  0x00004f59 copy  0x0000003f , 0x00000002 
- 00021019  0x00004f5a call  0x00007ea8 
- 00021020  0x00004f5b bpatchx  0x00000021 , 0x00004024 
- 00021021  0x00004f5c fetch  0x00000001 , 0x00004255 
- 00021022  0x00004f5d icompare  0x000000ff , 0x00000007 
- 00021023  0x00004f5e nbranch  0x0000522a , 0x00000001 
- 00021024  0x00004f5f setarg  0x00000050 
- 00021025  0x00004f60 isub  0x00000002 , 0x0000003e 
- 00021026  0x00004f61 branch  0x00005227 , 0x00000005 
- 00021027  0x00004f62 setarg  0x00000051 
- 00021028  0x00004f63 isub  0x00000002 , 0x0000003e 
- 00021029  0x00004f64 branch  0x0000522a , 0x00000005 
- 00021030  0x00004f65 branch  0x0000522a 
- 00021031  0x00004f67 jam  0x00000000 , 0x00004248 
- 00021032  0x00004f68 jam  0x00000000 , 0x00004250 
- 00021033  0x00004f69 branch  0x0000522a 
- 00021034  0x00004f6e call  0x00007ead 
- 00021035  0x00004f6f copy  0x00000013 , 0x0000003f 
- 00021036  0x00004f70 isub  0x00000011 , 0x00000013 
- 00021037  0x00004f71 rtn 
- 00021038  0x00004f74 setarg  0x00000001 
- 00021039  0x00004f75 istore  0x00000001 , 0x00000005 
- 00021040  0x00004f76 ifetch  0x00000001 , 0x00000006 
- 00021041  0x00004f77 istore  0x00000001 , 0x00000005 
- 00021042  0x00004f78 setarg  0x00000002 
- 00021043  0x00004f79 istore  0x00000002 , 0x00000005 
- 00021044  0x00004f7a setarg  0x00000000 
- 00021045  0x00004f7b istore  0x00000002 , 0x00000005 
- 00021046  0x00004f7c setarg  0x00000006 
- 00021047  0x00004f7d iadd  0x00000012 , 0x00000012 
- 00021048  0x00004f7e force  0x00000004 , 0x00000013 
- 00021049  0x00004f7f rtn 
- 00021050  0x00004f83 fetch  0x00000001 , 0x00004255 
- 00021051  0x00004f84 increase  0x00000001 , 0x0000003f 
- 00021052  0x00004f85 bne  0x00000000 , 0x0000523e 
- 00021053  0x00004f86 increase  0x00000001 , 0x0000003f 
- 00021054  0x00004f88 store  0x00000001 , 0x00004255 
- 00021055  0x00004f89 rtn 
- 00021056  0x00004f94 bpatchx  0x00000022 , 0x00004024 
- 00021057  0x00004f95 arg  0x00000000 , 0x00000012 
- 00021058  0x00004f96 call  0x0000526e 
- 00021059  0x00004f97 nbranch  0x00002a8c , 0x00000034 
- 00021060  0x00004f98 call  0x0000527e 
- 00021061  0x00004f99 arg  0x00001800 , 0x00000012 
- 00021062  0x00004f9a arg  0x00000000 , 0x00000007 
- 00021063  0x00004f9c fetcht  0x00000001 , 0x00004256 
- 00021064  0x00004f9d qisolate1  0x00000002 
- 00021065  0x00004f9e branch  0x0000524f , 0x00000001 
- 00021066  0x00004f9f call  0x000052a0 
- 00021067  0x00004fa0 sub  0x0000000b , 0x00000000 , 0x0000003e 
- 00021068  0x00004fa1 branch  0x0000524f , 0x00000002 
- 00021069  0x00004fa2 call  0x00005288 
- 00021070  0x00004fa3 branch  0x00005255 
- 00021071  0x00004fa5 increase  0x00000080 , 0x00000012 
- 00021072  0x00004fa6 increase  0x00000001 , 0x00000007 
- 00021073  0x00004fa7 setarg  0x00000008 
- 00021074  0x00004fa8 isub  0x00000007 , 0x0000003e 
- 00021075  0x00004fa9 branch  0x00005247 , 0x00000002 
- 00021076  0x00004faa arg  0x00000000 , 0x00000012 
- 00021077  0x00004fac copy  0x00000012 , 0x0000003f 
- 00021078  0x00004fad branch  0x00002a8c , 0x00000034 
- 00021079  0x00004fae rtn 
- 00021080  0x00004fb7 bpatchx  0x00000023 , 0x00004024 
- 00021081  0x00004fb8 call  0x00005277 
- 00021082  0x00004fb9 increase  0x00000001 , 0x00000006 
- 00021083  0x00004fba ifetch  0x00000002 , 0x00000006 
- 00021084  0x00004fbb rtn 
- 00021085  0x00004fc2 bpatchx  0x00000024 , 0x00004024 
- 00021086  0x00004fc3 call  0x00005277 
- 00021087  0x00004fc4 copy  0x00000006 , 0x00000005 
- 00021088  0x00004fc5 copy  0x00000006 , 0x00000002 
- 00021089  0x00004fc6 setarg  0x00000000 
- 00021090  0x00004fc7 istore  0x00000003 , 0x00000005 
- 00021091  0x00004fc8 rtn 
- 00021092  0x00004fce bpatchx  0x00000025 , 0x00004024 
- 00021093  0x00004fcf call  0x00005274 
- 00021094  0x00004fd0 branch  0x00002a8c , 0x00000034 
- 00021095  0x00004fd1 fetch  0x00000003 , 0x0000425d 
- 00021096  0x00004fd2 store  0x00000003 , 0x00004260 
- 00021097  0x00004fd3 fetch  0x00000003 , 0x0000425a 
- 00021098  0x00004fd4 store  0x00000003 , 0x0000425d 
- 00021099  0x00004fd5 fetch  0x00000003 , 0x00004257 
- 00021100  0x00004fd6 store  0x00000003 , 0x0000425a 
- 00021101  0x00004fd7 rtn 
- 00021102  0x00004fde bpatchx  0x00000026 , 0x00004024 
- 00021103  0x00004fdf fetch  0x00000003 , 0x00004257 
- 00021104  0x00004fe0 rtn 
- 00021105  0x00004fe7 bpatchx  0x00000027 , 0x00004024 
- 00021106  0x00004fe8 fetch  0x00000003 , 0x0000425a 
- 00021107  0x00004fe9 rtn 
- 00021108  0x00004ff0 bpatchx  0x00000028 , 0x00004025 
- 00021109  0x00004ff1 fetch  0x00000003 , 0x00004260 
- 00021110  0x00004ff2 rtn 
- 00021111  0x00004ff8 call  0x00005274 
- 00021112  0x00004ff9 branch  0x00002a8c , 0x00000034 
- 00021113  0x00004ffa arg  0x00004257 , 0x00000006 
- 00021114  0x00004ffc ifetch  0x00000003 , 0x00000006 
- 00021115  0x00004ffd branch  0x0000527a , 0x00000034 
- 00021116  0x00004ffe increase  0xfffffffd , 0x00000006 
- 00021117  0x00004fff rtn 
- 00021118  0x00005007 bpatchx  0x00000029 , 0x00004025 
- 00021119  0x00005008 arg  0x00000004 , 0x00000039 
- 00021120  0x00005009 arg  0x00004257 , 0x00000006 
- 00021121  0x0000500a arg  0x00000000 , 0x00000002 
- 00021122  0x0000500c ifetch  0x00000003 , 0x00000006 
- 00021123  0x0000500d and  0x0000003f , 0x000000ff , 0x0000003f 
- 00021124  0x0000500e ior  0x00000002 , 0x00000002 
- 00021125  0x0000500f loop  0x00005282 
- 00021126  0x00005010 storet  0x00000001 , 0x00004256 
- 00021127  0x00005011 rtn 
- 00021128  0x0000501a bpatchx  0x0000002a , 0x00004025 
- 00021129  0x0000501b call  0x0000526e 
- 00021130  0x0000501c nbranch  0x00002a8c , 0x00000034 
- 00021131  0x0000501d call  0x00005274 
- 00021132  0x0000501e branch  0x00005295 , 0x00000034 
- 00021133  0x0000501f fetch  0x00000003 , 0x0000425a 
- 00021134  0x00005020 store  0x00000003 , 0x00004257 
- 00021135  0x00005021 ifetch  0x00000003 , 0x00000006 
- 00021136  0x00005022 istore  0x00000003 , 0x00000005 
- 00021137  0x00005023 ifetch  0x00000003 , 0x00000006 
- 00021138  0x00005024 istore  0x00000003 , 0x00000005 
- 00021139  0x00005025 setarg  0x00000000 
- 00021140  0x00005026 istore  0x00000003 , 0x00000005 
- 00021141  0x00005028 arg  0x00000000 , 0x00000002 
- 00021142  0x00005029 copy  0x0000000b , 0x0000003f 
- 00021143  0x0000502a iadd  0x00000007 , 0x0000003f 
- 00021144  0x0000502c qset1  0x00000002 
- 00021145  0x0000502d increase  0x00000001 , 0x00000007 
- 00021146  0x0000502e isub  0x00000007 , 0x0000003e 
- 00021147  0x0000502f nbranch  0x00005298 , 0x00000005 
- 00021148  0x00005031 lshift8  0x00000012 , 0x0000003f 
- 00021149  0x00005032 ior  0x00000002 , 0x0000003f 
- 00021150  0x00005033 store  0x00000003 , 0x00004260 
- 00021151  0x00005034 rtn 
- 00021152  0x0000503f bpatchx  0x0000002b , 0x00004025 
- 00021153  0x00005040 call  0x0000527e 
- 00021154  0x00005041 copy  0x00000007 , 0x00000013 
- 00021155  0x00005042 arg  0x00000000 , 0x00000002 
- 00021156  0x00005043 arg  0x00000000 , 0x0000000b 
- 00021157  0x00005046 copy  0x00000007 , 0x0000003f 
- 00021158  0x00005047 beq  0x00000008 , 0x000052b0 
- 00021159  0x00005048 fetch  0x00000001 , 0x00004256 
- 00021160  0x00005049 qisolate1  0x0000003f 
- 00021161  0x0000504a branch  0x000052b0 , 0x00000001 
- 00021162  0x0000504b increase  0x00000080 , 0x00000002 
- 00021163  0x0000504c increase  0x00000001 , 0x00000007 
- 00021164  0x0000504d copy  0x00000011 , 0x0000003f 
- 00021165  0x0000504e isub  0x00000002 , 0x0000003e 
- 00021166  0x0000504f branch  0x000052b0 , 0x00000005 
- 00021167  0x00005050 branch  0x000052a5 , 0x00000002 
- 00021168  0x00005052 copy  0x00000002 , 0x0000003f 
- 00021169  0x00005053 isub  0x00000011 , 0x0000003e 
- 00021170  0x00005054 nbranch  0x000052b6 , 0x00000002 
- 00021171  0x00005055 copy  0x00000007 , 0x0000003f 
- 00021172  0x00005056 copy  0x00000013 , 0x00000002 
- 00021173  0x00005057 isub  0x00000002 , 0x0000000b 
- 00021174  0x00005059 copy  0x00000013 , 0x00000007 
- 00021175  0x0000505a rtn 
- 00021176  0x0000505e bpatchx  0x0000002c , 0x00004025 
- 00021177  0x0000505f arg  0x0000007f , 0x00000011 
- 00021178  0x00005060 call  0x00005240 
- 00021179  0x00005061 store  0x00000002 , 0x0000026b 
- 00021180  0x00005062 increase  0x00000004 , 0x0000003f 
- 00021181  0x00005063 store  0x00000002 , 0x0000026d 
- 00021182  0x00005064 setarg  0x00000000 
- 00021183  0x00005065 store  0x00000002 , 0x0000026f 
- 00021184  0x00005066 rtn 
- 00021185  0x00005069 fetch  0x00000002 , 0x0000026b 
- 00021186  0x0000506a branch  0x000052e2 
- 00021187  0x0000506d fetch  0x00000002 , 0x0000026d 
- 00021188  0x0000506e branch  0x000052e2 
- 00021189  0x00005072 bpatchx  0x0000002d , 0x00004025 
- 00021190  0x00005073 arg  0x000000fa , 0x00000011 
- 00021191  0x00005074 call  0x00005240 
- 00021192  0x00005075 store  0x00000002 , 0x00000271 
- 00021193  0x00005076 increase  0x00000004 , 0x0000003f 
- 00021194  0x00005077 store  0x00000002 , 0x00000273 
- 00021195  0x00005078 setarg  0x00000000 
- 00021196  0x00005079 store  0x00000002 , 0x00000275 
- 00021197  0x0000507a rtn 
- 00021198  0x0000507d fetch  0x00000002 , 0x00000271 
- 00021199  0x0000507e branch  0x000052e2 
- 00021200  0x00005081 fetch  0x00000002 , 0x00000273 
- 00021201  0x00005082 branch  0x000052e2 
- 00021202  0x00005086 bpatchx  0x0000002e , 0x00004025 
- 00021203  0x00005087 call  0x00007e7c 
- 00021204  0x00005088 jam  0x00000001 , 0x00000284 
- 00021205  0x00005089 call  0x0000526e 
- 00021206  0x0000508a nrtn  0x00000034 
- 00021207  0x0000508b arg  0x0000007f , 0x00000011 
- 00021208  0x0000508c call  0x00005240 
- 00021209  0x0000508d store  0x00000002 , 0x00000277 
- 00021210  0x0000508e increase  0x00000004 , 0x0000003f 
- 00021211  0x0000508f store  0x00000002 , 0x00000279 
- 00021212  0x00005090 setarg  0x00000000 
- 00021213  0x00005091 store  0x00000002 , 0x0000027b 
- 00021214  0x00005092 jam  0x00000000 , 0x00000284 
- 00021215  0x00005093 branch  0x00007e8c 
- 00021216  0x00005096 fetch  0x00000002 , 0x00000277 
- 00021217  0x00005097 branch  0x000052e2 
- 00021218  0x0000509a branch  0x00002a8c , 0x00000034 
- 00021219  0x0000509b copy  0x0000003f , 0x00000005 
- 00021220  0x0000509c rtn 
- 00021221  0x000050a0 bpatchx  0x0000002f , 0x00004025 
- 00021222  0x000050a1 arg  0x00000000 , 0x00000012 
- 00021223  0x000050a2 arg  0x00004257 , 0x00000011 
- 00021224  0x000050a3 increase  0xfffffffe , 0x00000011 
- 00021225  0x000050a5 increase  0x00000002 , 0x00000011 
- 00021226  0x000050a6 setarg  0x00004263 
- 00021227  0x000050a7 isub  0x00000011 , 0x0000003e 
- 00021228  0x000050a8 branch  0x000052f5 , 0x00000005 
- 00021229  0x000050a9 ifetch  0x00000001 , 0x00000011 
- 00021230  0x000050aa increase  0x00000001 , 0x00000011 
- 00021231  0x000050ab branch  0x000052e9 , 0x00000034 
- 00021232  0x000050ac ifetcht  0x00000002 , 0x00000011 
- 00021233  0x000050ad ifetch  0x00000002 , 0x00000002 
- 00021234  0x000050ae iadd  0x00000012 , 0x00000012 
- 00021235  0x000050af increase  0x00000004 , 0x00000012 
- 00021236  0x000050b0 branch  0x000052e9 
- 00021237  0x000050b2 copy  0x00000012 , 0x0000003f 
- 00021238  0x000050b3 rtn 
- 00021239  0x000050b7 arg  0x0000000c , 0x00000007 
- 00021240  0x000050b8 branch  0x00002c32 
- 00021241  0x000050bb arg  0x0000000c , 0x00000007 
- 00021242  0x000050bc branch  0x00002c36 
- 00021243  0x000050bf bpatchx  0x00000030 , 0x00004026 
- 00021244  0x000050c0 call  0x0000527e 
- 00021245  0x000050c1 fetch  0x00000001 , 0x00004256 
- 00021246  0x000050c2 rtn  0x00000034 
- 00021247  0x000050c3 call  0x000052e5 
- 00021248  0x000050c4 arg  0x00000100 , 0x00000002 
- 00021249  0x000050c5 isub  0x00000002 , 0x0000003e 
- 00021250  0x000050c6 branch  0x000052f7 , 0x00000002 
- 00021251  0x000050c7 call  0x000052f9 
- 00021252  0x000050c8 arg  0x00004263 , 0x00000005 
- 00021253  0x000050c9 arg  0x00004257 , 0x00000011 
- 00021254  0x000050cb setarg  0x00004263 
- 00021255  0x000050cc isub  0x00000011 , 0x0000003e 
- 00021256  0x000050cd rtn  0x00000005 
- 00021257  0x000050ce ifetch  0x00000001 , 0x00000011 
- 00021258  0x000050cf increase  0x00000001 , 0x00000011 
- 00021259  0x000050d0 nbranch  0x0000530f , 0x00000034 
- 00021260  0x000050d1 istore  0x00000002 , 0x00000005 
- 00021261  0x000050d2 increase  0x00000002 , 0x00000011 
- 00021262  0x000050d3 branch  0x00005306 
- 00021263  0x000050d5 ifetch  0x00000002 , 0x00000011 
- 00021264  0x000050d6 increase  0x00000002 , 0x00000011 
- 00021265  0x000050d7 copy  0x0000003f , 0x00000006 
- 00021266  0x000050d8 ifetch  0x00000002 , 0x00000006 
- 00021267  0x000050d9 istore  0x00000002 , 0x00000005 
- 00021268  0x000050da copy  0x0000003f , 0x00000039 
- 00021269  0x000050db increase  0x00000002 , 0x00000039 
- 00021270  0x000050dc call  0x00007f01 
- 00021271  0x000050dd branch  0x00005306 
- 00021272  0x000050e0 bpatchx  0x00000031 , 0x00004026 
- 00021273  0x000050e1 call  0x0000527e 
- 00021274  0x000050e2 fetch  0x00000001 , 0x00004256 
- 00021275  0x000050e3 rtn  0x00000034 
- 00021276  0x000050e4 arg  0x00004258 , 0x00000011 
- 00021277  0x000050e5 increase  0xfffffffd , 0x00000011 
- 00021278  0x000050e6 arg  0x00004263 , 0x00000006 
- 00021279  0x000050e8 increase  0x00000003 , 0x00000011 
- 00021280  0x000050e9 setarg  0x00004264 
- 00021281  0x000050ea isub  0x00000011 , 0x0000003e 
- 00021282  0x000050eb rtn  0x00000005 
- 00021283  0x000050ec ifetch  0x00000002 , 0x00000006 
- 00021284  0x000050ed branch  0x0000531f , 0x00000034 
- 00021285  0x000050ee increase  0x00000004 , 0x0000003f 
- 00021286  0x000050ef copy  0x0000003f , 0x00000039 
- 00021287  0x000050f0 copy  0x00000006 , 0x00000012 
- 00021288  0x000050f1 ifetch  0x00000002 , 0x00000011 
- 00021289  0x000050f2 copy  0x0000003f , 0x00000005 
- 00021290  0x000050f3 copy  0x00000012 , 0x00000006 
- 00021291  0x000050f4 increase  0xfffffffe , 0x00000006 
- 00021292  0x000050f5 call  0x00007f01 
- 00021293  0x000050f6 branch  0x0000531f 
- 00021294  0x00005101 bpatchx  0x00000032 , 0x00004026 
- 00021295  0x00005102 disable  0x0000002b 
- 00021296  0x00005103 jam  0x00000001 , 0x00000455 
- 00021297  0x00005104 jam  0x00000003 , 0x0000043f 
- 00021298  0x00005105 jam  0x00000001 , 0x00000456 
- 00021299  0x00005106 setarg  0xffffffff 
- 00021300  0x00005107 store  0x00000002 , 0x00000459 
- 00021301  0x00005108 force  0x00000000 , 0x0000003f 
- 00021302  0x00005109 store  0x00000001 , 0x00000457 
- 00021303  0x0000510a store  0x00000001 , 0x00000462 
- 00021304  0x0000510b store  0x00000003 , 0x00004169 
- 00021305  0x0000510c store  0x00000003 , 0x0000416c 
- 00021306  0x0000510d store  0x00000005 , 0x00004403 
- 00021307  0x0000510e set1  0x00000027 , 0x0000003f 
- 00021308  0x0000510f store  0x00000005 , 0x00004408 
- 00021309  0x00005110 jam  0x00000001 , 0x000043dc 
- 00021310  0x00005111 jam  0x00000000 , 0x000043dd 
- 00021311  0x00005112 branch  0x000056ed 
- 00021312  0x00005115 bpatchx  0x00000033 , 0x00004026 
- 00021313  0x00005116 enable  0x00000029 
- 00021314  0x00005117 jam  0x00000003 , 0x00000440 
- 00021315  0x00005118 jam  0x00000001 , 0x00000478 
- 00021316  0x00005119 jam  0x00000001 , 0x0000445a 
- 00021317  0x0000511a setarg  0x0000ffff 
- 00021318  0x0000511b store  0x00000002 , 0x0000445c 
- 00021319  0x0000511c force  0x00000000 , 0x0000003f 
- 00021320  0x0000511d store  0x00000005 , 0x00004408 
- 00021321  0x0000511e set1  0x00000027 , 0x0000003f 
- 00021322  0x0000511f store  0x00000005 , 0x00004403 
- 00021323  0x00005120 branch  0x0000532e 
- 00021324  0x00005124 bpatchx  0x00000034 , 0x00004026 
- 00021325  0x00005125 disable  0x00000029 
- 00021326  0x00005126 setarg  0x00000017 
- 00021327  0x00005127 store  0x00000002 , 0x000044a8 
- 00021328  0x00005128 jam  0x00000001 , 0x00000440 
- 00021329  0x00005129 jam  0x00000000 , 0x0000436e 
- 00021330  0x0000512a jam  0x00000000 , 0x000000a0 
- 00021331  0x0000512b jam  0x00000000 , 0x000044c4 
- 00021332  0x0000512c jam  0x00000000 , 0x000044c5 
- 00021333  0x0000512d fetch  0x00000002 , 0x0000046d 
- 00021334  0x0000512e store  0x00000002 , 0x000044ba 
- 00021335  0x0000512f fetch  0x00000002 , 0x00000441 
- 00021336  0x00005130 mul32  0x0000003f , 0x00000005 , 0x0000003f 
- 00021337  0x00005131 rshift4  0x0000003f , 0x0000003f 
- 00021338  0x00005132 store  0x00000002 , 0x0000046d 
- 00021339  0x00005133 branch  0x0000532e 
- 00021340  0x0000513a call  0x000053c4 
- 00021341  0x0000513b call  0x000055e8 
- 00021342  0x0000513c call  0x000056f0 
- 00021343  0x0000513d branch  0x000053ce 
- 00021344  0x00005140 bpatchx  0x00000035 , 0x00004026 
- 00021345  0x00005141 call  0x000053c4 
- 00021346  0x00005142 call  0x000032f4 
- 00021347  0x00005143 fetch  0x00000001 , 0x00000440 
- 00021348  0x00005144 beq  0x00000003 , 0x00005366 
- 00021349  0x00005145 branch  0x0000537a 
- 00021350  0x0000514c bpatchx  0x00000036 , 0x00004026 
- 00021351  0x0000514d enable  0x00000029 
- 00021352  0x0000514e call  0x000056e4 
- 00021353  0x0000514f branch  0x00005377 , 0x00000002 
- 00021354  0x00005150 call  0x00002c6c 
- 00021355  0x00005151 call  0x00005413 
- 00021356  0x00005152 call  0x0000561e 
- 00021357  0x00005153 disable  0x0000002d 
- 00021358  0x00005154 call  0x000054bf 
- 00021359  0x00005155 nrtn  0x0000002d 
- 00021360  0x00005156 bpatchx  0x00000037 , 0x00004026 
- 00021361  0x00005157 fetch  0x00000001 , 0x00000005 
- 00021362  0x00005158 increase  0x00000001 , 0x0000003f 
- 00021363  0x00005159 store  0x00000001 , 0x00000005 
- 00021364  0x0000515a call  0x000055aa 
- 00021365  0x0000515b disable  0x00000029 
- 00021366  0x0000515c rtn 
- 00021367  0x0000515f call  0x000053a9 
- 00021368  0x00005160 disable  0x00000029 
- 00021369  0x00005161 rtn 
- 00021370  0x00005167 bpatchx  0x00000038 , 0x00004027 
- 00021371  0x00005168 jam  0x00000000 , 0x0000450f 
- 00021372  0x00005169 call  0x00007aaf 
- 00021373  0x0000516a call  0x00005c18 
- 00021374  0x0000516b disable  0x0000002e 
- 00021375  0x0000516c call  0x000056e4 
- 00021376  0x0000516d branch  0x000053a9 , 0x00000002 
- 00021377  0x0000516e call  0x00002c6c 
- 00021378  0x0000516f call  0x00005413 
- 00021379  0x00005170 call  0x00005489 
- 00021380  0x00005171 nbranch  0x0000539b , 0x00000018 
- 00021381  0x00005172 call  0x000053b7 
- 00021382  0x00005173 branch  0x00005388 , 0x0000002d 
- 00021383  0x00005174 branch  0x00005395 
- 00021384  0x00005178 bpatchx  0x00000039 , 0x00004027 
- 00021385  0x00005179 fetch  0x00000001 , 0x0000450f 
- 00021386  0x0000517a pincrease  0x00000001 
- 00021387  0x0000517b store  0x00000001 , 0x0000450f 
- 00021388  0x0000517c beq  0x0000000c , 0x00005395 
- 00021389  0x0000517d call  0x000055aa 
- 00021390  0x0000517e call  0x0000561e 
- 00021391  0x0000517f call  0x000054c7 
- 00021392  0x00005180 call  0x0000567e 
- 00021393  0x00005181 fetch  0x00000002 , 0x000041fb 
- 00021394  0x00005182 call  0x00007f9c 
- 00021395  0x00005183 call  0x000053a0 
- 00021396  0x00005184 branch  0x000053a4 , 0x00000028 
- 00021397  0x00005186 bpatchx  0x0000003a , 0x00004027 
- 00021398  0x00005187 call  0x00005be4 
- 00021399  0x00005188 call  0x00005bdb 
- 00021400  0x00005189 call  0x00007d9c 
- 00021401  0x0000518a fetch  0x00000001 , 0x00000462 
- 00021402  0x0000518b bbit1  0x00000003 , 0x000053a9 
- 00021403  0x0000518d bpatchx  0x0000003b , 0x00004027 
- 00021404  0x0000518e call  0x000057f4 
- 00021405  0x0000518f call  0x0000559d 
- 00021406  0x00005190 call  0x00005575 
- 00021407  0x00005191 branch  0x00002841 
- 00021408  0x00005195 disable  0x00000028 
- 00021409  0x00005196 bmark1  0x0000002a , 0x00007fe7 
- 00021410  0x00005197 bmark1  0x00000029 , 0x00007fe7 
- 00021411  0x00005198 rtn 
- 00021412  0x0000519c bpatchx  0x0000003c , 0x00004027 
- 00021413  0x0000519d enable  0x0000002e 
- 00021414  0x0000519e call  0x000054c1 
- 00021415  0x0000519f branch  0x00005388 , 0x0000002d 
- 00021416  0x000051a0 branch  0x00005395 
- 00021417  0x000051a6 bpatchx  0x0000003d , 0x00004027 
- 00021418  0x000051a7 call  0x000053af 
- 00021419  0x000051a8 call  0x000033b4 
- 00021420  0x000051a9 call  0x00007a77 
- 00021421  0x000051aa jam  0x00000015 , 0x00000a99 
- 00021422  0x000051ab branch  0x00007d86 
- 00021423  0x000051ae setarg  0x00000000 
- 00021424  0x000051af store  0x00000009 , 0x000044ff 
- 00021425  0x000051b0 jam  0x00000000 , 0x00000455 
- 00021426  0x000051b1 jam  0x00000000 , 0x00000440 
- 00021427  0x000051b2 jam  0x00000000 , 0x0000043f 
- 00021428  0x000051b3 jam  0x00000000 , 0x000044c5 
- 00021429  0x000051b4 jam  0x00000000 , 0x000044c4 
- 00021430  0x000051b5 rtn 
- 00021431  0x000051b8 bpatchx  0x0000003e , 0x00004027 
- 00021432  0x000051b9 fetch  0x00000001 , 0x00000005 
- 00021433  0x000051ba increase  0x00000001 , 0x0000003f 
- 00021434  0x000051bb store  0x00000001 , 0x00000005 
- 00021435  0x000051bc fetch  0x00000001 , 0x0000043f 
- 00021436  0x000051bd rtnbit1  0x00000003 
- 00021437  0x000051be set1  0x00000003 
- 00021438  0x000051bf store  0x00000001 , 0x0000043f 
- 00021439  0x000051c0 fetch  0x00000002 , 0x000044ba 
- 00021440  0x000051c1 store  0x00000002 , 0x0000046d 
- 00021441  0x000051c2 setarg  0x00000000 
- 00021442  0x000051c3 store  0x00000004 , 0x000044e5 
- 00021443  0x000051c4 rtn 
- 00021444  0x000051c8 bpatchx  0x0000003f , 0x00004027 
- 00021445  0x000051c9 jam  0x00000036 , 0x0000890f 
- 00021446  0x000051ca jam  0x0000005f , 0x0000890b 
- 00021447  0x000051cb enable  0x00000036 
- 00021448  0x000051cc jam  0x00000007 , 0x00008914 
- 00021449  0x000051cd call  0x00002c6c 
- 00021450  0x000051ce fetch  0x00000001 , 0x000041e0 
- 00021451  0x000051cf rtn  0x00000034 
- 00021452  0x000051d0 jam  0x000000b8 , 0x0000890a 
- 00021453  0x000051d1 rtn 
- 00021454  0x000051d4 bpatchx  0x00000040 , 0x00004028 
- 00021455  0x000051d5 jam  0x0000002e , 0x0000890f 
- 00021456  0x000051d6 jam  0x000000ff , 0x0000890b 
- 00021457  0x000051d7 disable  0x00000036 
- 00021458  0x000051d8 jam  0x00000003 , 0x00008914 
- 00021459  0x000051d9 arg  0x00000000 , 0x0000001b 
- 00021460  0x000051da rtn 
- 00021461  0x000051dd disable  0x00000009 
- 00021462  0x000051de disable  0x00000007 
- 00021463  0x000051df fetch  0x00000003 , 0x00000467 
- 00021464  0x000051e0 iforce  0x0000000f 
- 00021465  0x000051e1 fetch  0x00000001 , 0x00000016 
- 00021466  0x000051e2 reverse  0x0000003f , 0x00000002 
- 00021467  0x000051e3 set1  0x00000001 , 0x00000002 
- 00021468  0x000051e4 rshift  0x00000002 , 0x0000000e 
- 00021469  0x000051e5 rtn 
- 00021470  0x000051e9 call  0x000053e6 
- 00021471  0x000051ea call  0x0000291f 
- 00021472  0x000051eb setarg  0x00000500 
- 00021473  0x000051ec call  0x00002a8f 
- 00021474  0x000051ed branch  0x00002924 
- 00021475  0x000051f0 branch  0x00002939 , 0x0000002d 
- 00021476  0x000051f2 call  0x000053e6 
- 00021477  0x000051f3 branch  0x00002933 
- 00021478  0x000051f5 bpatchx  0x00000041 , 0x00004028 
- 00021479  0x000051f6 call  0x00002918 
- 00021480  0x000051f7 fetch  0x00000001 , 0x0000048c 
- 00021481  0x000051f8 nbranch  0x000053f9 , 0x00000034 
- 00021482  0x000051f9 fetch  0x00000001 , 0x00000016 
- 00021483  0x000051fa sub  0x0000003f , 0x00000024 , 0x0000003e 
- 00021484  0x000051fb branch  0x000053f3 , 0x00000002 
- 00021485  0x000051fc force  0x00000000 , 0x00000002 
- 00021486  0x000051fd rtneq  0x00000025 
- 00021487  0x000051fe force  0x00000018 , 0x00000002 
- 00021488  0x000051ff rtneq  0x00000026 
- 00021489  0x00005200 force  0x0000004e , 0x00000002 
- 00021490  0x00005201 rtn 
- 00021491  0x00005204 sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00021492  0x00005205 branch  0x000053f6 , 0x00000002 
- 00021493  0x00005206 increase  0x00000001 , 0x0000003f 
- 00021494  0x00005209 lshift  0x0000003f , 0x0000003f 
- 00021495  0x0000520a add  0x0000003f , 0x00000002 , 0x00000002 
- 00021496  0x0000520b rtn 
- 00021497  0x0000520e fetch  0x00000001 , 0x00000016 
- 00021498  0x0000520f lshift  0x0000003f , 0x00000002 
- 00021499  0x00005210 rtn 
- 00021500  0x00005213 arg  0x000001f4 , 0x00000002 
- 00021501  0x00005214 rtn  0x00000034 
- 00021502  0x00005215 arg  0x000000fa , 0x00000002 
- 00021503  0x00005216 rtneq  0x00000001 
- 00021504  0x00005217 arg  0x00000096 , 0x00000002 
- 00021505  0x00005218 rtneq  0x00000002 
- 00021506  0x00005219 arg  0x00000064 , 0x00000002 
- 00021507  0x0000521a rtneq  0x00000003 
- 00021508  0x0000521b arg  0x0000004b , 0x00000002 
- 00021509  0x0000521c rtneq  0x00000004 
- 00021510  0x0000521d arg  0x00000032 , 0x00000002 
- 00021511  0x0000521e rtneq  0x00000005 
- 00021512  0x0000521f arg  0x00000028 , 0x00000002 
- 00021513  0x00005220 rtneq  0x00000006 
- 00021514  0x00005221 arg  0x00000014 , 0x00000002 
- 00021515  0x00005222 rtn 
- 00021516  0x00005227 setarg  0x008e89be 
- 00021517  0x00005228 lshift8  0x0000003f , 0x0000003f 
- 00021518  0x00005229 or_into  0x000000d6 , 0x0000003f 
- 00021519  0x0000522a iforce  0x00000009 
- 00021520  0x0000522b setarg  0x00555555 
- 00021521  0x0000522c store  0x00000003 , 0x00000467 
- 00021522  0x0000522d rtn 
- 00021523  0x00005230 bpatchx  0x00000042 , 0x00004028 
- 00021524  0x00005231 enable  0x00000010 
- 00021525  0x00005232 fetch  0x00000004 , 0x00000463 
- 00021526  0x00005233 iforce  0x00000009 
- 00021527  0x00005234 call  0x00005466 
- 00021528  0x00005235 setarg  0x00000200 
- 00021529  0x00005236 branch  0x0000541c , 0x00000029 
- 00021530  0x00005237 fetch  0x00000002 , 0x0000044d 
- 00021531  0x00005238 rshift  0x0000003f , 0x0000003f 
- 00021532  0x0000523a arg  0x00000500 , 0x00000002 
- 00021533  0x0000523b iadd  0x00000002 , 0x0000003f 
- 00021534  0x0000523c call  0x00002a24 
- 00021535  0x0000523d deposit  0x0000001a 
- 00021536  0x0000523e store  0x00000006 , 0x00000491 
- 00021537  0x0000523f rtn 
- 00021538  0x00005242 bpatchx  0x00000043 , 0x00004028 
- 00021539  0x00005243 fetch  0x00000001 , 0x00000016 
- 00021540  0x00005244 beq  0x00000025 , 0x00005428 
- 00021541  0x00005245 beq  0x00000026 , 0x0000542e 
- 00021542  0x00005246 beq  0x00000027 , 0x00005434 
- 00021543  0x00005247 branch  0x00005434 
- 00021544  0x0000524a fetcht  0x00000001 , 0x0000448d 
- 00021545  0x0000524b isolate1  0x00000001 , 0x00000002 
- 00021546  0x0000524c branch  0x0000543f , 0x00000001 
- 00021547  0x0000524d isolate1  0x00000002 , 0x00000002 
- 00021548  0x0000524e branch  0x00005444 , 0x00000001 
- 00021549  0x0000524f branch  0x0000543a 
- 00021550  0x00005253 fetcht  0x00000001 , 0x0000448d 
- 00021551  0x00005254 isolate1  0x00000002 , 0x00000002 
- 00021552  0x00005255 branch  0x00005444 , 0x00000001 
- 00021553  0x00005256 isolate1  0x00000000 , 0x00000002 
- 00021554  0x00005257 branch  0x0000543a , 0x00000001 
- 00021555  0x00005258 branch  0x0000543f 
- 00021556  0x0000525c fetcht  0x00000001 , 0x0000448d 
- 00021557  0x0000525d isolate1  0x00000000 , 0x00000002 
- 00021558  0x0000525e branch  0x0000543a , 0x00000001 
- 00021559  0x0000525f isolate1  0x00000001 , 0x00000002 
- 00021560  0x00005260 branch  0x0000543f , 0x00000001 
- 00021561  0x00005261 branch  0x00005444 
- 00021562  0x00005266 jam  0x00000025 , 0x00000016 
- 00021563  0x00005267 fetch  0x00000001 , 0x00000ac2 
- 00021564  0x00005268 set1  0x00000000 , 0x0000003f 
- 00021565  0x00005269 store  0x00000001 , 0x00000ac2 
- 00021566  0x0000526a rtn 
- 00021567  0x0000526d jam  0x00000026 , 0x00000016 
- 00021568  0x0000526e fetch  0x00000001 , 0x00000ac2 
- 00021569  0x0000526f set1  0x00000001 , 0x0000003f 
- 00021570  0x00005270 store  0x00000001 , 0x00000ac2 
- 00021571  0x00005271 rtn 
- 00021572  0x00005274 jam  0x00000027 , 0x00000016 
- 00021573  0x00005275 fetch  0x00000001 , 0x00000ac2 
- 00021574  0x00005276 set1  0x00000002 , 0x0000003f 
- 00021575  0x00005277 store  0x00000001 , 0x00000ac2 
- 00021576  0x00005278 rtn 
- 00021577  0x0000527d bpatchx  0x00000044 , 0x00004028 
- 00021578  0x0000527e add  0x00000011 , 0x00000001 , 0x00000006 
- 00021579  0x0000527f ifetch  0x00000001 , 0x00000006 
- 00021580  0x00005280 rtnbit0  0x00000000 
- 00021581  0x00005281 add  0x00000011 , 0x0000001a , 0x00000005 
- 00021582  0x00005282 ifetch  0x00000002 , 0x00000005 
- 00021583  0x00005283 increase  0x00000001 , 0x0000003f 
- 00021584  0x00005284 istore  0x00000002 , 0x00000005 
- 00021585  0x00005285 add  0x00000011 , 0x00000019 , 0x00000006 
- 00021586  0x00005286 ifetch  0x00000001 , 0x00000006 
- 00021587  0x00005287 add  0x00000011 , 0x00000018 , 0x00000005 
- 00021588  0x00005288 ifetcht  0x00000001 , 0x00000005 
- 00021589  0x00005289 iadd  0x00000002 , 0x0000003f 
- 00021590  0x0000528a sub  0x0000003f , 0x00000024 , 0x0000003e 
- 00021591  0x0000528b branch  0x00005459 , 0x00000002 
- 00021592  0x0000528c increase  0xffffffdb , 0x0000003f 
- 00021593  0x0000528e istore  0x00000001 , 0x00000005 
- 00021594  0x0000528f rtn 
- 00021595  0x00005293 bpatchx  0x00000045 , 0x00004028 
- 00021596  0x00005294 fetch  0x00000005 , 0x0000046f 
- 00021597  0x00005295 force  0x00000000 , 0x00000002 
- 00021598  0x00005296 force  0x00000025 , 0x00000039 
- 00021599  0x00005298 bbit0  0x00000000 , 0x00005461 
- 00021600  0x00005299 increase  0x00000001 , 0x00000002 
- 00021601  0x0000529b rshift  0x0000003f , 0x0000003f 
- 00021602  0x0000529c loop  0x0000545f 
- 00021603  0x0000529d add  0x00000002 , 0xffffffff , 0x0000003f 
- 00021604  0x0000529e store  0x00000001 , 0x00000461 
- 00021605  0x0000529f rtn 
- 00021606  0x000052a2 bpatchx  0x00000046 , 0x00004028 
- 00021607  0x000052a3 fetch  0x00000001 , 0x00000457 
- 00021608  0x000052a4 iforce  0x00000007 
- 00021609  0x000052a5 fetcht  0x00000005 , 0x0000046f 
- 00021610  0x000052a6 qisolate1  0x00000002 
- 00021611  0x000052a7 branch  0x0000547c , 0x00000001 
- 00021612  0x000052a9 bpatchx  0x00000047 , 0x00004028 
- 00021613  0x000052aa fetch  0x00000001 , 0x00000461 
- 00021614  0x000052ab isub  0x00000007 , 0x0000003f 
- 00021615  0x000052ac branch  0x00005472 , 0x00000002 
- 00021616  0x000052ad sub  0x0000003f , 0xffffffff , 0x00000007 
- 00021617  0x000052ae branch  0x0000546c 
- 00021618  0x000052b0 copy  0x00000007 , 0x00000039 
- 00021619  0x000052b1 force  0x00000000 , 0x00000007 
- 00021620  0x000052b3 qisolate1  0x00000002 
- 00021621  0x000052b4 branch  0x00005477 , 0x00000001 
- 00021622  0x000052b5 increase  0x00000001 , 0x00000039 
- 00021623  0x000052b7 deposit  0x00000039 
- 00021624  0x000052b8 branch  0x0000547c , 0x00000034 
- 00021625  0x000052b9 increase  0x00000001 , 0x00000007 
- 00021626  0x000052ba increase  0xffffffff , 0x00000039 
- 00021627  0x000052bb branch  0x00005474 
- 00021628  0x000052bd deposit  0x00000007 
- 00021629  0x000052be store  0x00000001 , 0x00000016 
- 00021630  0x000052bf rtn 
- 00021631  0x000052c3 branch  0x00005482 , 0x00000029 
- 00021632  0x000052c4 until  0x0000003e , 0x00000003 
- 00021633  0x000052c5 rtn 
- 00021634  0x000052c8 arg  0x00000ea0 , 0x0000000b 
- 00021635  0x000052c9 until  0x00000023 , 0x00000026 
- 00021636  0x000052ca rtn 
- 00021637  0x000052cd disable  0x00000010 
- 00021638  0x000052ce fetch  0x00000002 , 0x0000436c 
- 00021639  0x000052cf copy  0x0000003f , 0x0000000b 
- 00021640  0x000052d0 branch  0x0000548e 
- 00021641  0x000052d4 bpatchx  0x00000048 , 0x00004029 
- 00021642  0x000052d5 enable  0x00000010 
- 00021643  0x000052d6 fetch  0x00000002 , 0x0000044d 
- 00021644  0x000052d7 fetcht  0x00000004 , 0x000044e5 
- 00021645  0x000052d8 iadd  0x00000002 , 0x0000000b 
- 00021646  0x000052da call  0x000053de 
- 00021647  0x000052dc bpatchx  0x00000049 , 0x00004029 
- 00021648  0x000052dd call  0x000053d5 
- 00021649  0x000052de disable  0x0000002d 
- 00021650  0x000052df enable  0x0000000d 
- 00021651  0x000052e0 enable  0x00000021 
- 00021652  0x000052e1 disable  0x00000020 
- 00021653  0x000052e2 copy  0x0000000b , 0x0000001b 
- 00021654  0x000052e3 correlate  0x0000003e , 0x00000003 
- 00021655  0x000052e4 branch  0x0000549a , 0x0000002e 
- 00021656  0x000052e5 copy  0x0000001a , 0x00000002 
- 00021657  0x000052e6 storet  0x00000006 , 0x0000009a 
- 00021658  0x000052e8 nbranch  0x0000264d , 0x00000018 
- 00021659  0x000052e9 branch  0x000054a1 , 0x0000002e 
- 00021660  0x000052ea arg  0x000001e0 , 0x00000029 
- 00021661  0x000052eb copy  0x00000021 , 0x00000028 
- 00021662  0x000052ec fetch  0x00000001 , 0x0000043f 
- 00021663  0x000052ed bbit0  0x00000003 , 0x000054a1 
- 00021664  0x000052ee call  0x00002b05 , 0x0000002b 
- 00021665  0x000052f0 bpatchx  0x0000004a , 0x00004029 
- 00021666  0x000052f1 call  0x000029bb 
- 00021667  0x000052f2 enable  0x00000007 
- 00021668  0x000052f3 enable  0x00000009 
- 00021669  0x000052f4 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00021670  0x000052f5 rshift3  0x0000000c , 0x0000003f 
- 00021671  0x000052f6 store  0x00000001 , 0x000002d9 
- 00021672  0x000052f7 parse  0x00000003 , 0x00000000 , 0x00000008 
- 00021673  0x000052f8 rshift3  0x0000000c , 0x0000003f 
- 00021674  0x000052f9 istore  0x00000001 , 0x00000005 
- 00021675  0x000052fa and  0x0000003f , 0x0000003f , 0x00000039 
- 00021676  0x000052fb branch  0x000054b1 , 0x00000005 
- 00021677  0x000052fe parse  0x00000003 , 0x00000000 , 0x00000008 
- 00021678  0x000052ff rshift3  0x0000000c , 0x0000003f 
- 00021679  0x00005300 istore  0x00000001 , 0x00000005 
- 00021680  0x00005301 loop  0x000054ad 
- 00021681  0x00005304 bpatchx  0x0000004b , 0x00004029 
- 00021682  0x00005305 parse  0x00000003 , 0x00000000 , 0x00000018 
- 00021683  0x00005306 enable  0x00000010 
- 00021684  0x00005307 arg  0x00000664 , 0x0000001b 
- 00021685  0x00005308 rshift32  0x0000003f , 0x0000003f 
- 00021686  0x00005309 rshift16  0x0000003f , 0x0000003f 
- 00021687  0x0000530a istore  0x00000003 , 0x00000005 
- 00021688  0x0000530b branch  0x0000264d , 0x00000006 
- 00021689  0x0000530c enable  0x0000002d 
- 00021690  0x0000530d fetch  0x00000001 , 0x00000017 
- 00021691  0x0000530e add  0x0000003f , 0x00000000 , 0x00000011 
- 00021692  0x0000530f call  0x00002981 
- 00021693  0x00005310 disable  0x0000000d 
- 00021694  0x00005311 branch  0x00002918 
- 00021695  0x00005314 bpatchx  0x0000004c , 0x00004029 
- 00021696  0x00005315 call  0x000054c9 
- 00021697  0x00005317 fetcht  0x00000001 , 0x00000017 
- 00021698  0x00005318 call  0x0000291f 
- 00021699  0x00005319 call  0x00002924 
- 00021700  0x0000531a enable  0x00000010 
- 00021701  0x0000531b arg  0x0000157c , 0x0000000b 
- 00021702  0x0000531c branch  0x0000548f 
- 00021703  0x0000531f call  0x000054c9 
- 00021704  0x00005320 branch  0x0000264d 
- 00021705  0x00005323 bpatchx  0x0000004d , 0x00004029 
- 00021706  0x00005324 call  0x000053d5 
- 00021707  0x00005325 call  0x000053e3 
- 00021708  0x00005326 branch  0x000054cd 
- 00021709  0x00005329 set1  0x00000000 , 0x00000015 
- 00021710  0x0000532a enable  0x0000001d 
- 00021711  0x0000532b enable  0x00000020 
- 00021712  0x0000532c disable  0x00000021 
- 00021713  0x0000532d call  0x0000547f 
- 00021714  0x0000532e rshift16  0x00000009 , 0x0000003f 
- 00021715  0x0000532f rshift8  0x0000003f , 0x0000003f 
- 00021716  0x00005330 rshift4  0x0000003f , 0x0000003f 
- 00021717  0x00005331 inject  0x00000003 , 0x00000028 
- 00021718  0x00005332 enable  0x00000007 
- 00021719  0x00005333 enable  0x00000009 
- 00021720  0x00005334 bpatchx  0x0000004e , 0x00004029 
- 00021721  0x00005335 fetch  0x00000001 , 0x000043dc 
- 00021722  0x00005336 inject  0x00000003 , 0x00000008 
- 00021723  0x00005337 ifetch  0x00000001 , 0x00000006 
- 00021724  0x00005338 and  0x0000003f , 0x0000003f , 0x00000039 
- 00021725  0x00005339 inject  0x00000003 , 0x00000008 
- 00021726  0x0000533a branch  0x000054e2 , 0x00000005 
- 00021727  0x0000533c ifetch  0x00000001 , 0x00000006 
- 00021728  0x0000533d inject  0x00000003 , 0x00000008 
- 00021729  0x0000533e loop  0x000054df 
- 00021730  0x00005341 enable  0x00000008 
- 00021731  0x00005342 inject  0x00000003 , 0x00000018 
- 00021732  0x00005343 disable  0x00000008 
- 00021733  0x00005344 until  0x0000003e , 0x00000027 
- 00021734  0x00005345 nop  0x00000064 
- 00021735  0x00005346 disable  0x0000001d 
- 00021736  0x00005347 rtn 
- 00021737  0x0000534a bpatchx  0x0000004f , 0x00004029 
- 00021738  0x0000534b fetch  0x00000001 , 0x00004484 
- 00021739  0x0000534c beq  0x00000001 , 0x000054f9 
- 00021740  0x0000534d fetch  0x00000001 , 0x00004485 
- 00021741  0x0000534e lshift4  0x0000003f , 0x0000003f 
- 00021742  0x0000534f lshift2  0x0000003f , 0x0000003f 
- 00021743  0x00005350 store  0x00000001 , 0x000043dc 
- 00021744  0x00005351 fetcht  0x00000001 , 0x0000436f 
- 00021745  0x00005352 add  0x00000002 , 0x00000006 , 0x0000003f 
- 00021746  0x00005353 store  0x00000001 , 0x000043dd 
- 00021747  0x00005354 fetch  0x00000006 , 0x000044a0 
- 00021748  0x00005355 store  0x00000006 , 0x000043de 
- 00021749  0x00005356 copy  0x00000002 , 0x00000039 
- 00021750  0x00005357 arg  0x00004370 , 0x00000006 
- 00021751  0x00005358 call  0x00007ef4 
- 00021752  0x00005359 branch  0x00005504 
- 00021753  0x0000535b fetch  0x00000001 , 0x00004486 
- 00021754  0x0000535c lshift4  0x0000003f , 0x0000003f 
- 00021755  0x0000535d lshift2  0x0000003f , 0x0000003f 
- 00021756  0x0000535e increase  0x00000001 , 0x0000003f 
- 00021757  0x0000535f store  0x00000001 , 0x000043dc 
- 00021758  0x00005360 setarg  0x0000000c 
- 00021759  0x00005361 store  0x00000001 , 0x000043dd 
- 00021760  0x00005362 fetch  0x00000006 , 0x000044a0 
- 00021761  0x00005363 store  0x00000006 , 0x000043de 
- 00021762  0x00005364 fetch  0x00000006 , 0x000041d0 
- 00021763  0x00005365 istore  0x00000006 , 0x00000005 
- 00021764  0x00005367 bpatchx  0x00000050 , 0x0000402a 
- 00021765  0x00005368 fetch  0x00000001 , 0x00000000 
- 00021766  0x00005369 increase  0x00000001 , 0x0000003f 
- 00021767  0x0000536a store  0x00000001 , 0x00000000 
- 00021768  0x0000536b arg  0x00000708 , 0x0000001b 
- 00021769  0x0000536c disable  0x0000002d 
- 00021770  0x0000536d branch  0x000054bf 
- 00021771  0x00005370 bpatchx  0x00000051 , 0x0000402a 
- 00021772  0x00005371 fetch  0x00000001 , 0x0000449e 
- 00021773  0x00005372 rtnne  0x00000001 
- 00021774  0x00005373 fetch  0x00000001 , 0x00000000 
- 00021775  0x00005374 increase  0x00000001 , 0x0000003f 
- 00021776  0x00005375 store  0x00000001 , 0x00000000 
- 00021777  0x00005376 arg  0x00000c03 , 0x00000002 
- 00021778  0x00005377 fetch  0x00000001 , 0x0000449f 
- 00021779  0x00005378 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
- 00021780  0x00005379 copy  0x00000011 , 0x0000003f 
- 00021781  0x0000537a nsetflag  0x00000034 , 0x00000007 , 0x00000002 
- 00021782  0x0000537b storet  0x00000002 , 0x000043dc 
- 00021783  0x0000537c fetch  0x00000006 , 0x000044a0 
- 00021784  0x0000537d istore  0x00000006 , 0x00000005 
- 00021785  0x0000537e fetch  0x00000006 , 0x0000044f 
- 00021786  0x0000537f istore  0x00000006 , 0x00000005 
- 00021787  0x00005380 branch  0x000054bf 
- 00021788  0x00005384 bpatchx  0x00000052 , 0x0000402a 
- 00021789  0x00005385 arg  0x00000004 , 0x00000002 
- 00021790  0x00005386 fetch  0x00000001 , 0x00004485 
- 00021791  0x00005387 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
- 00021792  0x00005388 storet  0x00000001 , 0x000043dc 
- 00021793  0x00005389 fetcht  0x00000001 , 0x0000438f 
- 00021794  0x0000538a add  0x00000002 , 0x00000006 , 0x0000003f 
- 00021795  0x0000538b store  0x00000001 , 0x000043dd 
- 00021796  0x0000538c fetch  0x00000006 , 0x000044a0 
- 00021797  0x0000538d store  0x00000006 , 0x000043de 
- 00021798  0x0000538e arg  0x00004390 , 0x00000006 
- 00021799  0x0000538f copy  0x00000002 , 0x00000039 
- 00021800  0x00005390 call  0x00007ef4 
- 00021801  0x00005391 call  0x000054c7 
- 00021802  0x00005392 branch  0x00005706 
- 00021803  0x00005395 bpatchx  0x00000053 , 0x0000402a 
- 00021804  0x00005396 force  0xffffffff , 0x0000003f 
- 00021805  0x00005397 setsect  0x00000002 , 0x00000001 
- 00021806  0x00005398 store  0x00000005 , 0x0000046f 
- 00021807  0x00005399 call  0x0000545b 
- 00021808  0x0000539a force  0x00000004 , 0x00000039 
- 00021809  0x0000539b arg  0x00000463 , 0x00000005 
- 00021810  0x0000539c call  0x0000630d 
- 00021811  0x0000539d fetch  0x00000002 , 0x0000449c 
- 00021812  0x0000539e store  0x00000002 , 0x0000046d 
- 00021813  0x000053a0 random  0x0000003f 
- 00021814  0x000053a1 and_into  0x0000000f , 0x0000003f 
- 00021815  0x000053a2 sub  0x0000003f , 0x00000004 , 0x0000003e 
- 00021816  0x000053a3 branch  0x00005535 , 0x00000002 
- 00021817  0x000053a4 store  0x00000001 , 0x00000458 
- 00021818  0x000053a5 store  0x00000001 , 0x000006e6 
- 00021819  0x000053a6 bpatchx  0x00000054 , 0x0000402a 
- 00021820  0x000053a7 fetcht  0x00000002 , 0x00004367 
- 00021821  0x000053a8 storet  0x00000002 , 0x00000441 
- 00021822  0x000053a9 copy  0x00000002 , 0x00000013 
- 00021823  0x000053aa add  0x00000022 , 0x00000007 , 0x0000003f 
- 00021824  0x000053ab idiv  0x00000013 
- 00021825  0x000053ac call  0x00007f86 
- 00021826  0x000053ad remainder  0x00000011 
- 00021827  0x000053ae isub  0x00000011 , 0x0000003f 
- 00021828  0x000053af iadd  0x00000013 , 0x0000003f 
- 00021829  0x000053b0 fetcht  0x00000002 , 0x00004365 
- 00021830  0x000053b1 iadd  0x00000002 , 0x0000003f 
- 00021831  0x000053b2 store  0x00000004 , 0x00000443 
- 00021832  0x000053b3 isub  0x00000022 , 0x00000011 
- 00021833  0x000053b4 increase  0xfffffffa , 0x00000011 
- 00021834  0x000053b5 arg  0x00002205 , 0x00000012 
- 00021835  0x000053b6 fetch  0x00000001 , 0x00004495 
- 00021836  0x000053b7 nsetflag  0x00000034 , 0x00000006 , 0x00000012 
- 00021837  0x000053b8 fetch  0x00000001 , 0x0000448e 
- 00021838  0x000053b9 nsetflag  0x00000034 , 0x00000007 , 0x00000012 
- 00021839  0x000053ba copy  0x00000012 , 0x0000003f 
- 00021840  0x000053bb store  0x00000002 , 0x000043dc 
- 00021841  0x000053bc fetch  0x00000006 , 0x000044a0 
- 00021842  0x000053bd istore  0x00000006 , 0x00000005 
- 00021843  0x000053be fetch  0x00000006 , 0x0000044f 
- 00021844  0x000053bf istore  0x00000006 , 0x00000005 
- 00021845  0x000053c0 fetch  0x00000004 , 0x00000463 
- 00021846  0x000053c1 istore  0x00000004 , 0x00000005 
- 00021847  0x000053c2 random  0x0000003f 
- 00021848  0x000053c3 istore  0x00000002 , 0x00000005 
- 00021849  0x000053c4 random  0x0000003f 
- 00021850  0x000053c5 istore  0x00000001 , 0x00000005 
- 00021851  0x000053c6 force  0x00000002 , 0x0000003f 
- 00021852  0x000053c7 istore  0x00000001 , 0x00000005 
- 00021853  0x000053c8 rshift2  0x00000011 , 0x0000003f 
- 00021854  0x000053c9 istore  0x00000002 , 0x00000005 
- 00021855  0x000053ca rshift2  0x00000013 , 0x0000003f 
- 00021856  0x000053cb istore  0x00000002 , 0x00000005 
- 00021857  0x000053cc bpatchx  0x00000055 , 0x0000402a 
- 00021858  0x000053cd setarg  0x00000000 
- 00021859  0x000053ce istore  0x00000002 , 0x00000005 
- 00021860  0x000053cf fetch  0x00000002 , 0x0000449c 
- 00021861  0x000053d0 istore  0x00000002 , 0x00000005 
- 00021862  0x000053d1 fetch  0x00000005 , 0x0000046f 
- 00021863  0x000053d2 istore  0x00000005 , 0x00000005 
- 00021864  0x000053d3 fetch  0x00000001 , 0x00000458 
- 00021865  0x000053d4 arg  0x000000a0 , 0x00000002 
- 00021866  0x000053d5 ior  0x00000002 , 0x0000003f 
- 00021867  0x000053d6 istore  0x00000001 , 0x00000005 
- 00021868  0x000053d7 call  0x000054c7 
- 00021869  0x000053d8 setarg  0x000043dc 
- 00021870  0x000053d9 add  0x0000003f , 0x00000012 , 0x00000006 
- 00021871  0x000053da ifetch  0x00000003 , 0x00000006 
- 00021872  0x000053db store  0x00000003 , 0x00000467 
- 00021873  0x000053dc rtn 
- 00021874  0x000053df bpatchx  0x00000056 , 0x0000402a 
- 00021875  0x000053e0 disable  0x00000029 
- 00021876  0x000053e1 branch  0x0000540c 
- 00021877  0x000053e6 fetch  0x00000001 , 0x0000043f 
- 00021878  0x000053e7 rtnbit0  0x00000005 
- 00021879  0x000053e8 fetch  0x00000002 , 0x00000459 
- 00021880  0x000053e9 fetcht  0x00000002 , 0x0000045f 
- 00021881  0x000053ea isub  0x00000002 , 0x0000003f 
- 00021882  0x000053eb nrtn  0x00000002 
- 00021883  0x000053ec store  0x00000002 , 0x00000a9a 
- 00021884  0x000053ed bpatchx  0x00000057 , 0x0000402a 
- 00021885  0x000053ee fetch  0x00000001 , 0x0000043f 
- 00021886  0x000053ef set0  0x00000005 , 0x0000003f 
- 00021887  0x000053f0 set0  0x00000003 , 0x0000003f 
- 00021888  0x000053f1 store  0x00000001 , 0x0000043f 
- 00021889  0x000053f2 fetch  0x00000004 , 0x00000443 
- 00021890  0x000053f3 fetcht  0x00000002 , 0x00000441 
- 00021891  0x000053f4 storet  0x00000002 , 0x00000aa2 
- 00021892  0x000053f5 isub  0x00000002 , 0x00000011 
- 00021893  0x000053f6 bpatchx  0x00000058 , 0x0000402b 
- 00021894  0x000053f7 fetch  0x00000001 , 0x000043d3 
- 00021895  0x000053f8 store  0x00000001 , 0x0000046a 
- 00021896  0x000053f9 ifetcht  0x00000002 , 0x00000006 
- 00021897  0x000053fa ifetch  0x00000002 , 0x00000006 
- 00021898  0x000053fb lshift2  0x0000003f , 0x0000003f 
- 00021899  0x000053fc store  0x00000002 , 0x00000441 
- 00021900  0x000053fd lshift2  0x00000002 , 0x00000002 
- 00021901  0x000053fe iadd  0x00000002 , 0x0000003f 
- 00021902  0x000053ff ifetcht  0x00000004 , 0x00000006 
- 00021903  0x00005400 storet  0x00000004 , 0x0000046b 
- 00021904  0x00005401 iadd  0x00000011 , 0x0000003f 
- 00021905  0x00005402 copy  0x0000003f , 0x00000014 
- 00021906  0x00005403 fetch  0x00000002 , 0x00000441 
- 00021907  0x00005404 fetcht  0x00000002 , 0x00000aa2 
- 00021908  0x00005405 isub  0x00000002 , 0x0000003f 
- 00021909  0x00005406 fetcht  0x00000002 , 0x00000a9a 
- 00021910  0x00005407 imul32  0x00000002 , 0x0000003f 
- 00021911  0x00005408 iadd  0x00000014 , 0x0000003f 
- 00021912  0x00005409 store  0x00000004 , 0x00000443 
- 00021913  0x0000540a call  0x00005713 
- 00021914  0x0000540b fetch  0x00000002 , 0x0000046d 
- 00021915  0x0000540c store  0x00000002 , 0x000044ba 
- 00021916  0x0000540d rtn 
- 00021917  0x00005411 bpatchx  0x00000059 , 0x0000402b 
- 00021918  0x00005412 fetch  0x00000001 , 0x0000043f 
- 00021919  0x00005413 rtnbit0  0x00000006 
- 00021920  0x00005414 fetch  0x00000002 , 0x00000459 
- 00021921  0x00005415 fetcht  0x00000002 , 0x0000045f 
- 00021922  0x00005416 isub  0x00000002 , 0x0000003f 
- 00021923  0x00005417 nrtn  0x00000002 
- 00021924  0x00005418 fetch  0x00000001 , 0x0000043f 
- 00021925  0x00005419 set0  0x00000006 , 0x0000003f 
- 00021926  0x0000541a store  0x00000001 , 0x0000043f 
- 00021927  0x0000541b fetch  0x00000005 , 0x000043ce 
- 00021928  0x0000541c store  0x00000005 , 0x0000046f 
- 00021929  0x0000541d branch  0x0000545b 
- 00021930  0x00005421 bpatchx  0x0000005a , 0x0000402b 
- 00021931  0x00005422 call  0x000056ed 
- 00021932  0x00005423 call  0x000055c0 
- 00021933  0x00005424 fetch  0x00000001 , 0x000002d9 
- 00021934  0x00005425 isolate1  0x00000004 , 0x0000003f 
- 00021935  0x00005426 setflag  0x00000001 , 0x0000002a , 0x00000000 
- 00021936  0x00005427 rshift  0x0000003f , 0x0000003f 
- 00021937  0x00005428 ixor  0x00000002 , 0x0000003f 
- 00021938  0x00005429 isolate1  0x00000002 , 0x0000003f 
- 00021939  0x0000542a setflag  0x00000001 , 0x0000000f , 0x00000000 
- 00021940  0x0000542b rtnmark1  0x0000000f 
- 00021941  0x0000542c fetch  0x00000001 , 0x000002da 
- 00021942  0x0000542d branch  0x000055bc , 0x00000034 
- 00021943  0x0000542e fetch  0x00000001 , 0x0000043f 
- 00021944  0x0000542f bbit0  0x00000004 , 0x000055bc 
- 00021945  0x00005430 call  0x0000748d 
- 00021946  0x00005431 call  0x000073fb 
- 00021947  0x00005432 nrtn  0x00000034 
- 00021948  0x00005434 fetcht  0x00000001 , 0x00000456 
- 00021949  0x00005435 setflip  0x00000002 , 0x00000002 
- 00021950  0x00005436 storet  0x00000001 , 0x00000456 
- 00021951  0x00005437 rtn 
- 00021952  0x0000543b bpatchx  0x0000005b , 0x0000402b 
- 00021953  0x0000543c fetcht  0x00000001 , 0x00000456 
- 00021954  0x0000543d isolate0  0x00000005 , 0x00000002 
- 00021955  0x0000543e rtn  0x00000001 
- 00021956  0x0000543f fetch  0x00000001 , 0x000002d9 
- 00021957  0x00005440 lshift  0x0000003f , 0x0000003f 
- 00021958  0x00005441 ixor  0x00000002 , 0x0000003f 
- 00021959  0x00005442 rtnbit0  0x00000003 
- 00021960  0x00005443 set0  0x00000005 , 0x00000002 
- 00021961  0x00005444 setflip  0x00000003 , 0x00000002 
- 00021962  0x00005445 storet  0x00000001 , 0x00000456 
- 00021963  0x00005446 compare  0x00000003 , 0x00000002 , 0x00000003 
- 00021964  0x00005447 nrtn  0x00000001 
- 00021965  0x00005448 fetch  0x00000001 , 0x000043de 
- 00021966  0x00005449 beq  0x00000005 , 0x000055d2 
- 00021967  0x0000544a fetch  0x00000001 , 0x000044c5 
- 00021968  0x0000544b beq  0x00000002 , 0x000055d6 
- 00021969  0x0000544c rtn 
- 00021970  0x00005450 fetch  0x00000001 , 0x0000043f 
- 00021971  0x00005451 set1  0x00000004 , 0x0000003f 
- 00021972  0x00005452 store  0x00000001 , 0x0000043f 
- 00021973  0x00005453 rtn 
- 00021974  0x00005456 bpatchx  0x0000005c , 0x0000402b 
- 00021975  0x00005457 jam  0x00000000 , 0x000044c5 
- 00021976  0x00005458 arg  0x00000000 , 0x0000003f 
- 00021977  0x00005459 store  0x00000004 , 0x0000440d 
- 00021978  0x0000545a store  0x00000005 , 0x00004403 
- 00021979  0x0000545b set1  0x00000027 , 0x0000003f 
- 00021980  0x0000545c store  0x00000005 , 0x00004408 
- 00021981  0x0000545d fetch  0x00000001 , 0x0000043f 
- 00021982  0x0000545e set0  0x00000004 , 0x0000003f 
- 00021983  0x0000545f store  0x00000001 , 0x0000043f 
- 00021984  0x00005460 rtn 
- 00021985  0x00005464 bpatchx  0x0000005d , 0x0000402b 
- 00021986  0x00005465 call  0x00005422 
- 00021987  0x00005466 call  0x00005485 
- 00021988  0x00005467 fetch  0x00000001 , 0x00000001 
- 00021989  0x00005468 increase  0x00000001 , 0x0000003f 
- 00021990  0x00005469 store  0x00000001 , 0x00000001 
- 00021991  0x0000546a rtn 
- 00021992  0x0000546e bpatchx  0x0000005e , 0x0000402b 
- 00021993  0x0000546f fetch  0x00000001 , 0x00004369 
- 00021994  0x00005470 rtnne  0x00000001 
- 00021995  0x00005471 arg  0x00000002 , 0x00000007 
- 00021996  0x00005472 call  0x00007f16 
- 00021997  0x00005473 nrtn  0x00000034 
- 00021998  0x00005474 fetch  0x00000002 , 0x0000436a 
- 00021999  0x00005475 fetcht  0x00000002 , 0x0000436c 
- 00022000  0x00005476 isub  0x00000002 , 0x0000003f 
- 00022001  0x00005477 arg  0x00000002 , 0x00000007 
- 00022002  0x00005478 call  0x00007f08 
- 00022003  0x00005479 disable  0x00000029 
- 00022004  0x0000547a call  0x00005572 
- 00022005  0x0000547b call  0x000055e1 
- 00022006  0x0000547c nrtn  0x0000002d 
- 00022007  0x0000547d bpatchx  0x0000005f , 0x0000402b 
- 00022008  0x0000547e fetch  0x00000006 , 0x000002db 
- 00022009  0x0000547f store  0x00000006 , 0x0000044f 
- 00022010  0x00005482 fetch  0x00000001 , 0x00000002 
- 00022011  0x00005483 increase  0x00000001 , 0x0000003f 
- 00022012  0x00005484 store  0x00000001 , 0x00000002 
- 00022013  0x00005485 call  0x00005608 
- 00022014  0x00005486 rtn  0x00000029 
- 00022015  0x00005487 call  0x0000550b 
- 00022016  0x00005488 nrtn  0x0000002d 
- 00022017  0x00005489 bpatchx  0x00000060 , 0x0000402c 
- 00022018  0x0000548a fetch  0x00000001 , 0x00000004 
- 00022019  0x0000548b increase  0x00000001 , 0x0000003f 
- 00022020  0x0000548c store  0x00000001 , 0x00000004 
- 00022021  0x0000548d fetch  0x00000009 , 0x000002e1 
- 00022022  0x0000548e store  0x00000009 , 0x00000101 
- 00022023  0x0000548f rtn 
- 00022024  0x00005492 bpatchx  0x00000061 , 0x0000402c 
- 00022025  0x00005493 fetch  0x00000001 , 0x0000049b 
- 00022026  0x00005494 rtnne  0x0000001b 
- 00022027  0x00005495 fetch  0x00000006 , 0x0000044f 
- 00022028  0x00005496 fetcht  0x00000006 , 0x0000448f 
- 00022029  0x00005497 isub  0x00000002 , 0x0000003e 
- 00022030  0x00005498 nrtn  0x00000005 
- 00022031  0x00005499 call  0x0000223b 
- 00022032  0x0000549a nrtn  0x00000005 
- 00022033  0x0000549b call  0x0000552b 
- 00022034  0x0000549c call  0x00005340 
- 00022035  0x0000549d bpatchx  0x00000062 , 0x0000402c 
- 00022036  0x0000549e jam  0x00000000 , 0x000041ce 
- 00022037  0x0000549f jam  0x00000000 , 0x00000476 
- 00022038  0x000054a0 jam  0x00000000 , 0x00004369 
- 00022039  0x000054a1 jam  0x00000000 , 0x0000049b 
- 00022040  0x000054a2 branch  0x00002223 
- 00022041  0x000054a5 arg  0x00000001 , 0x00000011 
- 00022042  0x000054a6 fetch  0x00000001 , 0x000002d9 
- 00022043  0x000054a7 rtnbit1  0x00000006 
- 00022044  0x000054a8 arg  0x00000000 , 0x00000011 
- 00022045  0x000054a9 rtn 
- 00022046  0x000054ae bpatchx  0x00000063 , 0x0000402c 
- 00022047  0x000054af fetch  0x00000001 , 0x00000456 
- 00022048  0x000054b0 rtnbit1  0x00000005 
- 00022049  0x000054b1 call  0x00005642 
- 00022050  0x000054b2 call  0x00005873 
- 00022051  0x000054b3 branch  0x00005664 , 0x00000034 
- 00022052  0x000054b4 ifetch  0x00000001 , 0x00000006 
- 00022053  0x000054b5 ifetcht  0x00000001 , 0x00000006 
- 00022054  0x000054b6 copy  0x00000002 , 0x00000011 
- 00022055  0x000054b7 isub  0x00000011 , 0x0000003f 
- 00022056  0x000054b8 arg  0x0000001b , 0x00000002 
- 00022057  0x000054b9 call  0x00007fdd 
- 00022058  0x000054ba copy  0x0000003f , 0x00000002 
- 00022059  0x000054bb ifetch  0x00000001 , 0x00000006 
- 00022060  0x000054bc copy  0x0000003f , 0x00000001 
- 00022061  0x000054bd copy  0x00000011 , 0x0000003f 
- 00022062  0x000054be iadd  0x00000006 , 0x00000006 
- 00022063  0x000054bf arg  0x000043de , 0x00000005 
- 00022064  0x000054c0 copy  0x00000002 , 0x00000039 
- 00022065  0x000054c1 call  0x00007f01 
- 00022066  0x000054c2 call  0x00005654 
- 00022067  0x000054c3 call  0x00005666 
- 00022068  0x000054c5 call  0x00005873 
- 00022069  0x000054c6 ifetch  0x00000001 , 0x00000006 
- 00022070  0x000054c7 copy  0x0000003f , 0x00000011 
- 00022071  0x000054c8 copy  0x00000006 , 0x00000013 
- 00022072  0x000054c9 ifetcht  0x00000001 , 0x00000006 
- 00022073  0x000054ca copy  0x00000002 , 0x00000012 
- 00022074  0x000054cb isub  0x00000012 , 0x0000003f 
- 00022075  0x000054cc arg  0x0000001b , 0x00000002 
- 00022076  0x000054cd call  0x00007fdd 
- 00022077  0x000054ce iadd  0x00000012 , 0x0000003f 
- 00022078  0x000054cf istore  0x00000001 , 0x00000013 
- 00022079  0x000054d0 isub  0x00000011 , 0x0000003e 
- 00022080  0x000054d1 nrtn  0x00000005 
- 00022081  0x000054d2 branch  0x00005896 
- 00022082  0x000054d6 call  0x00005649 
- 00022083  0x000054d7 rtnmark1  0x00000029 
- 00022084  0x000054d8 fetch  0x00000001 , 0x000044e9 
- 00022085  0x000054d9 bbit0  0x00000002 , 0x00005652 
- 00022086  0x000054da call  0x00005876 
- 00022087  0x000054db branch  0x00005652 , 0x00000034 
- 00022088  0x000054dc branch  0x00005650 
- 00022089  0x000054e0 call  0x00005873 
- 00022090  0x000054e1 branch  0x00005652 , 0x00000034 
- 00022091  0x000054e2 ifetch  0x00000001 , 0x00000006 
- 00022092  0x000054e3 ifetcht  0x00000001 , 0x00000006 
- 00022093  0x000054e4 isub  0x00000002 , 0x0000003f 
- 00022094  0x000054e5 sub  0x0000003f , 0x0000001b , 0x0000003e 
- 00022095  0x000054e6 branch  0x00005652 , 0x00000002 
- 00022096  0x000054e8 set1  0x00000029 , 0x00000000 
- 00022097  0x000054e9 rtn 
- 00022098  0x000054ec set0  0x00000029 , 0x00000000 
- 00022099  0x000054ed rtn 
- 00022100  0x000054f0 copy  0x00000011 , 0x0000003f 
- 00022101  0x000054f1 rtn  0x00000034 
- 00022102  0x000054f2 arg  0x00000001 , 0x00000001 
- 00022103  0x000054f3 rtn 
- 00022104  0x000054f7 bpatchx  0x00000064 , 0x0000402c 
- 00022105  0x000054f8 increase  0x00000001 , 0x00000002 
- 00022106  0x000054f9 call  0x0000576a 
- 00022107  0x000054fa increase  0xfffffffe , 0x00000006 
- 00022108  0x000054fb ifetch  0x00000002 , 0x00000006 
- 00022109  0x000054fc arg  0x00002902 , 0x00000002 
- 00022110  0x000054fd isub  0x00000002 , 0x0000003e 
- 00022111  0x000054fe nrtn  0x00000005 
- 00022112  0x000054ff increase  0x00000001 , 0x00000006 
- 00022113  0x00005500 copy  0x00000006 , 0x00000011 
- 00022114  0x00005501 ifetch  0x00000001 , 0x00000006 
- 00022115  0x00005502 rtn 
- 00022116  0x00005506 force  0x00000000 , 0x00000002 
- 00022117  0x00005507 force  0x00000001 , 0x00000001 
- 00022118  0x0000550a bpatchx  0x00000065 , 0x0000402c 
- 00022119  0x0000550b storet  0x00000001 , 0x000043dd 
- 00022120  0x0000550c fetcht  0x00000001 , 0x00000456 
- 00022121  0x0000550d set1  0x00000005 , 0x00000002 
- 00022122  0x0000550e and  0x00000002 , 0x000000fc , 0x0000003f 
- 00022123  0x0000550f ior  0x00000001 , 0x0000003f 
- 00022124  0x00005510 store  0x00000001 , 0x00000456 
- 00022125  0x00005511 and_into  0x0000001f , 0x0000003f 
- 00022126  0x00005512 isolate1  0x00000029 , 0x00000000 
- 00022127  0x00005513 setflag  0x00000001 , 0x00000004 , 0x0000003f 
- 00022128  0x00005514 store  0x00000001 , 0x000043dc 
- 00022129  0x00005516 fetch  0x00000001 , 0x000043dc 
- 00022130  0x00005517 compare  0x00000001 , 0x00000001 , 0x00000003 
- 00022131  0x00005518 nbranch  0x00005676 , 0x00000001 
- 00022132  0x00005519 fetch  0x00000001 , 0x000043dd 
- 00022133  0x0000551a rtn  0x00000034 
- 00022134  0x0000551c fetch  0x00000001 , 0x0000043f 
- 00022135  0x0000551d rtnbit0  0x00000004 
- 00022136  0x0000551e call  0x0000748d 
- 00022137  0x0000551f branch  0x000073e3 
- 00022138  0x00005523 arg  0x00000000 , 0x00000007 
- 00022139  0x00005524 branch  0x00002c32 
- 00022140  0x00005527 arg  0x00000000 , 0x00000007 
- 00022141  0x00005528 branch  0x00002c36 
- 00022142  0x0000552c bpatchx  0x00000066 , 0x0000402c 
- 00022143  0x0000552d rtnmark1  0x0000000f 
- 00022144  0x0000552e call  0x00005890 
- 00022145  0x0000552f nrtn  0x00000034 
- 00022146  0x00005530 fetch  0x00000001 , 0x000002d9 
- 00022147  0x00005531 and  0x0000003f , 0x00000003 , 0x0000003f 
- 00022148  0x00005532 store  0x00000001 , 0x0000450c 
- 00022149  0x00005533 ifetch  0x00000001 , 0x00000006 
- 00022150  0x00005534 and  0x0000003f , 0x0000001f , 0x0000003f 
- 00022151  0x00005535 store  0x00000001 , 0x0000450b 
- 00022152  0x00005536 rtn  0x00000034 
- 00022153  0x00005537 copy  0x00000006 , 0x0000003f 
- 00022154  0x00005538 store  0x00000002 , 0x0000450d 
- 00022155  0x00005539 fetch  0x00000001 , 0x0000450c 
- 00022156  0x0000553a beq  0x00000003 , 0x00005c64 
- 00022157  0x0000553c call  0x0000569a 
- 00022158  0x0000553d nbranch  0x0000567a , 0x00000028 
- 00022159  0x0000553e call  0x0000567c 
- 00022160  0x0000553f fetch  0x00000002 , 0x0000450d 
- 00022161  0x00005540 copy  0x0000003f , 0x00000006 
- 00022162  0x00005541 ifetch  0x00000002 , 0x00000006 
- 00022163  0x00005542 store  0x00000002 , 0x000044fc 
- 00022164  0x00005543 bpatchx  0x00000067 , 0x0000402c 
- 00022165  0x00005544 ifetch  0x00000002 , 0x00000006 
- 00022166  0x00005545 beq  0x00000004 , 0x000058ab 
- 00022167  0x00005546 beq  0x00000006 , 0x00005af4 
- 00022168  0x00005547 beq  0x00000005 , 0x00005ab6 
- 00022169  0x00005548 rtn 
- 00022170  0x0000554c fetch  0x00000001 , 0x0000450c 
- 00022171  0x0000554d beq  0x00000002 , 0x000056a9 
- 00022172  0x0000554e beq  0x00000001 , 0x000056c1 
- 00022173  0x0000554f rtn 
- 00022174  0x00005555 call  0x00007fe7 
- 00022175  0x00005556 arg  0x00000004 , 0x00000002 
- 00022176  0x00005557 isub  0x0000003f , 0x0000003e 
- 00022177  0x00005558 rtn  0x00000005 
- 00022178  0x00005559 arg  0x00000005 , 0x00000002 
- 00022179  0x0000555a isub  0x0000003f , 0x0000003e 
- 00022180  0x0000555b rtn  0x00000005 
- 00022181  0x0000555c arg  0x00000006 , 0x00000002 
- 00022182  0x0000555d isub  0x0000003f , 0x0000003e 
- 00022183  0x0000555e rtn  0x00000005 
- 00022184  0x0000555f branch  0x00007fe9 
- 00022185  0x00005563 fetch  0x00000002 , 0x0000450d 
- 00022186  0x00005564 copy  0x0000003f , 0x00000006 
- 00022187  0x00005565 ifetch  0x00000002 , 0x00000006 
- 00022188  0x00005566 store  0x00000002 , 0x000044fc 
- 00022189  0x00005567 ifetch  0x00000002 , 0x00000006 
- 00022190  0x00005568 call  0x0000569e 
- 00022191  0x00005569 nrtn  0x00000028 
- 00022192  0x0000556a fetcht  0x00000001 , 0x0000450b 
- 00022193  0x0000556b storet  0x00000001 , 0x000044fe 
- 00022194  0x0000556c fetch  0x00000002 , 0x000044fc 
- 00022195  0x0000556d increase  0x00000004 , 0x0000003f 
- 00022196  0x0000556e isub  0x00000002 , 0x0000003e 
- 00022197  0x0000556f branch  0x00007fe7 , 0x00000005 
- 00022198  0x00005570 fetch  0x00000001 , 0x0000450b 
- 00022199  0x00005571 copy  0x0000003f , 0x00000039 
- 00022200  0x00005572 arg  0x00000311 , 0x00000005 
- 00022201  0x00005573 fetch  0x00000002 , 0x0000450d 
- 00022202  0x00005574 copy  0x0000003f , 0x00000006 
- 00022203  0x00005575 call  0x00007f01 
- 00022204  0x00005576 branch  0x00007fe9 
- 00022205  0x0000557c call  0x00007fe7 
- 00022206  0x0000557d fetch  0x00000001 , 0x000044fe 
- 00022207  0x0000557e nrtn  0x00000034 
- 00022208  0x0000557f branch  0x00007fe9 
- 00022209  0x00005582 call  0x000056bd 
- 00022210  0x00005583 nrtn  0x00000028 
- 00022211  0x00005584 fetch  0x00000001 , 0x000044fe 
- 00022212  0x00005585 arg  0x00000311 , 0x00000005 
- 00022213  0x00005586 iadd  0x00000005 , 0x00000011 
- 00022214  0x00005587 fetcht  0x00000001 , 0x0000450b 
- 00022215  0x00005588 iadd  0x00000002 , 0x0000003f 
- 00022216  0x00005589 store  0x00000001 , 0x000044fe 
- 00022217  0x0000558a fetch  0x00000001 , 0x0000450b 
- 00022218  0x0000558b copy  0x0000003f , 0x00000039 
- 00022219  0x0000558c copy  0x00000011 , 0x00000005 
- 00022220  0x0000558d fetch  0x00000002 , 0x0000450d 
- 00022221  0x0000558e copy  0x0000003f , 0x00000006 
- 00022222  0x0000558f call  0x00007ef4 
- 00022223  0x00005590 setarg  0x00000311 
- 00022224  0x00005591 store  0x00000002 , 0x0000450d 
- 00022225  0x00005592 fetch  0x00000002 , 0x000044fc 
- 00022226  0x00005593 increase  0x00000004 , 0x0000003f 
- 00022227  0x00005594 fetcht  0x00000001 , 0x000044fe 
- 00022228  0x00005595 isub  0x00000002 , 0x0000003e 
- 00022229  0x00005596 branch  0x00007fe7 , 0x00000005 
- 00022230  0x00005597 branch  0x00007fe9 
- 00022231  0x0000559e call  0x00007ea5 
- 00022232  0x0000559f arg  0x0000445e , 0x00000005 
- 00022233  0x000055a1 fetch  0x00000002 , 0x000044fc 
- 00022234  0x000055a2 increase  0xfffffffb , 0x0000003f 
- 00022235  0x000055a4 istore  0x00000001 , 0x00000005 
- 00022236  0x000055a5 copy  0x0000003f , 0x00000039 
- 00022237  0x000055a6 call  0x00007e9f 
- 00022238  0x000055a7 branch  0x00007ef4 
- 00022239  0x000055aa call  0x00007ea5 
- 00022240  0x000055ab arg  0x00004471 , 0x00000005 
- 00022241  0x000055ac branch  0x000056d9 
- 00022242  0x000055b1 fetch  0x00000002 , 0x000041f9 
- 00022243  0x000055b2 branch  0x00007f9c 
- 00022244  0x000055b5 fetcht  0x00000004 , 0x0000045b 
- 00022245  0x000055b6 call  0x00002a7b 
- 00022246  0x000055b7 isub  0x00000002 , 0x0000000b 
- 00022247  0x000055b8 deposit  0x0000000b 
- 00022248  0x000055b9 fetcht  0x00000002 , 0x0000046d 
- 00022249  0x000055ba lshift4  0x00000002 , 0x00000002 
- 00022250  0x000055bb lshift  0x00000002 , 0x00000002 
- 00022251  0x000055bc isub  0x00000002 , 0x0000003f 
- 00022252  0x000055bd rtn 
- 00022253  0x000055c0 call  0x00002a7b 
- 00022254  0x000055c1 store  0x00000004 , 0x0000045b 
- 00022255  0x000055c2 rtn 
- 00022256  0x000055c6 jam  0x00000024 , 0x00000016 
- 00022257  0x000055c7 jam  0x00000000 , 0x00000ac2 
- 00022258  0x000055c9 bpatchx  0x00000068 , 0x0000402d 
- 00022259  0x000055ca fetch  0x00000001 , 0x0000436e 
- 00022260  0x000055cb rtn  0x00000034 
- 00022261  0x000055cc arg  0x00000000 , 0x00000007 
- 00022262  0x000055cd call  0x00007f16 
- 00022263  0x000055ce nrtn  0x00000034 
- 00022264  0x000055cf bpatchx  0x00000069 , 0x0000402d 
- 00022265  0x000055d1 disable  0x00000029 
- 00022266  0x000055d2 enable  0x00000010 
- 00022267  0x000055d3 call  0x00005572 
- 00022268  0x000055d4 call  0x00005422 
- 00022269  0x000055d5 call  0x000054e9 
- 00022270  0x000055d6 nbranch  0x00005706 , 0x0000002d 
- 00022271  0x000055d7 fetch  0x00000001 , 0x00000003 
- 00022272  0x000055d8 increase  0x00000001 , 0x0000003f 
- 00022273  0x000055d9 store  0x00000001 , 0x00000003 
- 00022274  0x000055da fetch  0x00000001 , 0x000002d9 
- 00022275  0x000055db and  0x0000003f , 0x0000000f , 0x0000003f 
- 00022276  0x000055dc beq  0x00000003 , 0x0000551c 
- 00022277  0x000055dd beq  0x00000005 , 0x00005728 
- 00022278  0x000055df bpatchx  0x0000006a , 0x0000402d 
- 00022279  0x000055e0 random  0x0000003f 
- 00022280  0x000055e1 arg  0x000001ff , 0x00000002 
- 00022281  0x000055e2 iand  0x00000002 , 0x0000003f 
- 00022282  0x000055e3 add  0x0000003f , 0x000000fa , 0x0000003f 
- 00022283  0x000055e4 call  0x00003cbe 
- 00022284  0x000055e5 fetch  0x00000001 , 0x00000ac2 
- 00022285  0x000055e6 fetcht  0x00000001 , 0x0000448d 
- 00022286  0x000055e7 isub  0x00000002 , 0x0000003e 
- 00022287  0x000055e8 nbranch  0x000056f2 , 0x00000005 
- 00022288  0x000055e9 arg  0x00000000 , 0x00000007 
- 00022289  0x000055ea fetch  0x00000002 , 0x00004482 
- 00022290  0x000055eb branch  0x00007f08 
- 00022291  0x000055ef bpatchx  0x0000006b , 0x0000402d 
- 00022292  0x000055f0 fetch  0x00000001 , 0x00000476 
- 00022293  0x000055f1 call  0x000053fc 
- 00022294  0x000055f2 fetch  0x00000002 , 0x00000441 
- 00022295  0x000055f3 imul32  0x00000002 , 0x0000003f 
- 00022296  0x000055f4 arg  0x00000177 , 0x00000002 
- 00022297  0x000055f5 imul32  0x00000002 , 0x0000003f 
- 00022298  0x000055f6 arg  0x000186a0 , 0x00000002 
- 00022299  0x000055f7 idiv  0x00000002 
- 00022300  0x000055f8 fetch  0x00000001 , 0x0000046a 
- 00022301  0x000055f9 arg  0x00004e20 , 0x00000002 
- 00022302  0x000055fa imul32  0x00000002 , 0x0000003f 
- 00022303  0x000055fb iadd  0x00000002 , 0x0000003f 
- 00022304  0x000055fc store  0x00000004 , 0x000044e5 
- 00022305  0x000055fd bpatchx  0x0000006c , 0x0000402d 
- 00022306  0x000055fe fetch  0x00000002 , 0x000040c1 
- 00022307  0x000055ff call  0x00007f86 
- 00022308  0x00005600 quotient  0x00000002 
- 00022309  0x00005601 iadd  0x00000002 , 0x0000003f 
- 00022310  0x00005602 store  0x00000002 , 0x0000044d 
- 00022311  0x00005603 rtn 
- 00022312  0x00005606 bpatchx  0x0000006d , 0x0000402d 
- 00022313  0x00005607 fetch  0x00000006 , 0x000002e1 
- 00022314  0x00005608 fetcht  0x00000006 , 0x000044a0 
- 00022315  0x00005609 isub  0x00000002 , 0x0000003e 
- 00022316  0x0000560a nrtn  0x00000005 
- 00022317  0x0000560b call  0x00005619 
- 00022318  0x0000560c copy  0x00000011 , 0x0000003f 
- 00022319  0x0000560d store  0x00000001 , 0x0000448e 
- 00022320  0x0000560e fetch  0x00000007 , 0x000002ee 
- 00022321  0x0000560f store  0x00000007 , 0x00000101 
- 00022322  0x00005610 ifetch  0x00000008 , 0x00000006 
- 00022323  0x00005611 istore  0x00000008 , 0x00000005 
- 00022324  0x00005612 fetch  0x00000006 , 0x000002db 
- 00022325  0x00005613 store  0x00000006 , 0x0000044f 
- 00022326  0x00005614 increase  0x00000006 , 0x00000006 
- 00022327  0x00005615 ifetch  0x00000008 , 0x00000006 
- 00022328  0x00005616 store  0x00000008 , 0x00000463 
- 00022329  0x00005617 ifetcht  0x00000002 , 0x00000006 
- 00022330  0x00005618 bpatchx  0x0000006e , 0x0000402d 
- 00022331  0x00005619 lshift2  0x00000002 , 0x00000002 
- 00022332  0x0000561a ifetch  0x00000002 , 0x00000006 
- 00022333  0x0000561b lshift2  0x0000003f , 0x0000003f 
- 00022334  0x0000561c store  0x00000002 , 0x00000441 
- 00022335  0x0000561d store  0x00000004 , 0x00000443 
- 00022336  0x0000561e isub  0x00000002 , 0x0000003f 
- 00022337  0x0000561f add  0x0000003f , 0xfffffffe , 0x00000028 
- 00022338  0x00005620 ifetch  0x00000009 , 0x00000006 
- 00022339  0x00005621 store  0x00000009 , 0x0000046b 
- 00022340  0x00005622 bpatchx  0x0000006f , 0x0000402d 
- 00022341  0x00005623 ifetch  0x00000001 , 0x00000006 
- 00022342  0x00005624 rshift4  0x0000003f , 0x00000002 
- 00022343  0x00005625 rshift  0x00000002 , 0x00000002 
- 00022344  0x00005626 storet  0x00000001 , 0x00000476 
- 00022345  0x00005627 and_into  0x0000001f , 0x0000003f 
- 00022346  0x00005628 store  0x00000001 , 0x00000458 
- 00022347  0x00005629 call  0x00005713 
- 00022348  0x0000562a call  0x0000545b 
- 00022349  0x0000562b call  0x0000534c 
- 00022350  0x0000562c call  0x0000223b 
- 00022351  0x0000562d nrtn  0x00000005 
- 00022352  0x0000562e bpatchx  0x00000070 , 0x0000402e 
- 00022353  0x0000562f call  0x00002841 
- 00022354  0x00005630 call  0x00005ad3 
- 00022355  0x00005631 jam  0x00000014 , 0x00000a99 
- 00022356  0x00005632 call  0x00007d86 
- 00022357  0x00005633 branch  0x00002223 
- 00022358  0x00005637 bpatchx  0x00000071 , 0x0000402e 
- 00022359  0x00005638 fetch  0x00000002 , 0x0000445a 
- 00022360  0x00005639 iforce  0x00000012 
- 00022361  0x0000563a fetch  0x00000002 , 0x0000445c 
- 00022362  0x0000563b iforce  0x00000013 
- 00022363  0x0000563c fetch  0x00000002 , 0x000044bc 
- 00022364  0x0000563d iforce  0x00000006 
- 00022365  0x0000563e enable  0x00000028 
- 00022366  0x0000563f rtn 
- 00022367  0x00005643 ifetch  0x00000002 , 0x00000006 
- 00022368  0x00005644 rtn  0x00000034 
- 00022369  0x00005645 isub  0x00000012 , 0x0000003e 
- 00022370  0x00005646 nrtn  0x00000002 
- 00022371  0x00005647 isub  0x00000013 , 0x0000003e 
- 00022372  0x00005648 rtn  0x00000005 
- 00022373  0x00005649 branch  0x00005768 , 0x00000002 
- 00022374  0x0000564a force  0x00000001 , 0x0000003e 
- 00022375  0x0000564b rtn 
- 00022376  0x0000564d force  0x00000000 , 0x0000003f 
- 00022377  0x0000564e rtn 
- 00022378  0x00005653 call  0x0000576d 
- 00022379  0x00005654 branch  0x00005779 , 0x00000005 
- 00022380  0x00005655 rtn 
- 00022381  0x00005658 bpatchx  0x00000072 , 0x0000402e 
- 00022382  0x00005659 fetch  0x00000002 , 0x000044bc 
- 00022383  0x0000565a iforce  0x00000006 
- 00022384  0x0000565c ifetch  0x00000002 , 0x00000006 
- 00022385  0x0000565d rtn  0x00000034 
- 00022386  0x0000565e isub  0x00000002 , 0x0000003e 
- 00022387  0x0000565f rtn  0x00000005 
- 00022388  0x00005660 ifetch  0x00000001 , 0x00000006 
- 00022389  0x00005661 iadd  0x00000006 , 0x00000006 
- 00022390  0x00005662 ifetch  0x00000001 , 0x00000006 
- 00022391  0x00005663 iadd  0x00000006 , 0x00000006 
- 00022392  0x00005664 branch  0x00005770 
- 00022393  0x00005666 ifetch  0x00000001 , 0x00000006 
- 00022394  0x00005667 iadd  0x00000006 , 0x00000006 
- 00022395  0x00005668 rtn 
- 00022396  0x0000566d bpatchx  0x00000073 , 0x0000402e 
- 00022397  0x0000566e fetch  0x00000002 , 0x000044bc 
- 00022398  0x0000566f iforce  0x00000006 
- 00022399  0x00005671 ifetch  0x00000002 , 0x00000006 
- 00022400  0x00005672 rtn  0x00000034 
- 00022401  0x00005673 ifetch  0x00000001 , 0x00000006 
- 00022402  0x00005674 iadd  0x00000006 , 0x00000006 
- 00022403  0x00005675 increase  0xfffffffe , 0x00000006 
- 00022404  0x00005676 ifetch  0x00000002 , 0x00000006 
- 00022405  0x00005677 isub  0x00000002 , 0x0000003e 
- 00022406  0x00005678 rtn  0x00000005 
- 00022407  0x00005679 ifetch  0x00000001 , 0x00000006 
- 00022408  0x0000567a iadd  0x00000006 , 0x00000006 
- 00022409  0x0000567b branch  0x0000577f 
- 00022410  0x00005680 fetch  0x00000002 , 0x0000049c 
- 00022411  0x00005681 branch  0x0000578e 
- 00022412  0x00005684 bpatchx  0x00000074 , 0x0000402e 
- 00022413  0x00005685 fetch  0x00000002 , 0x000044bc 
- 00022414  0x00005687 iforce  0x00000006 
- 00022415  0x00005688 copy  0x00000002 , 0x00000011 
- 00022416  0x0000568a ifetch  0x00000002 , 0x00000006 
- 00022417  0x0000568b branch  0x00005799 , 0x00000034 
- 00022418  0x0000568c isub  0x00000011 , 0x0000003e 
- 00022419  0x0000568d branch  0x0000579a , 0x00000005 
- 00022420  0x0000568e ifetch  0x00000001 , 0x00000006 
- 00022421  0x0000568f iadd  0x00000006 , 0x00000006 
- 00022422  0x00005690 ifetch  0x00000001 , 0x00000006 
- 00022423  0x00005691 iadd  0x00000006 , 0x00000006 
- 00022424  0x00005692 branch  0x00005790 
- 00022425  0x00005694 branch  0x00007fef 
- 00022426  0x00005697 ifetch  0x00000001 , 0x00000006 
- 00022427  0x00005698 store  0x00000001 , 0x000004a2 
- 00022428  0x00005699 copy  0x0000003f , 0x00000039 
- 00022429  0x0000569a arg  0x000004a3 , 0x00000005 
- 00022430  0x0000569b call  0x00007ef4 
- 00022431  0x0000569c ifetch  0x00000001 , 0x00000006 
- 00022432  0x0000569d store  0x00000001 , 0x000004b3 
- 00022433  0x0000569e call  0x00007ea5 
- 00022434  0x0000569f branch  0x00007ff1 
- 00022435  0x000056a3 bpatchx  0x00000075 , 0x0000402e 
- 00022436  0x000056a4 call  0x000057a6 
- 00022437  0x000056a5 branch  0x000057b8 
- 00022438  0x000056a8 arg  0x00002a00 , 0x00000002 
- 00022439  0x000056a9 call  0x0000577c 
- 00022440  0x000056aa rtn  0x00000034 
- 00022441  0x000056ab ifetch  0x00000001 , 0x00000006 
- 00022442  0x000056ac copy  0x00000006 , 0x00000005 
- 00022443  0x000056ad fetcht  0x00000001 , 0x000043af 
- 00022444  0x000056ae copy  0x00000002 , 0x00000039 
- 00022445  0x000056af isub  0x00000002 , 0x0000003e 
- 00022446  0x000056b0 nbranch  0x000057b5 , 0x00000002 
- 00022447  0x000056b1 isub  0x00000002 , 0x00000002 
- 00022448  0x000056b2 arg  0x000043b0 , 0x00000006 
- 00022449  0x000056b3 call  0x00007f01 
- 00022450  0x000056b4 copy  0x00000002 , 0x00000039 
- 00022451  0x000056b5 ncall  0x000057f0 , 0x00000005 
- 00022452  0x000056b6 rtn 
- 00022453  0x000056b8 copy  0x0000003f , 0x00000039 
- 00022454  0x000056b9 arg  0x000043b0 , 0x00000006 
- 00022455  0x000056ba branch  0x00007ef4 
- 00022456  0x000056be arg  0x0000438f , 0x00000013 
- 00022457  0x000056bf arg  0x00004370 , 0x00000011 
- 00022458  0x000056c0 call  0x000057c5 
- 00022459  0x000056c1 setarg  0x00000000 
- 00022460  0x000056c2 setflag  0x00000028 , 0x00000000 , 0x0000003f 
- 00022461  0x000056c3 store  0x00000001 , 0x00000a9a 
- 00022462  0x000056c4 arg  0x000043af , 0x00000013 
- 00022463  0x000056c5 arg  0x00004390 , 0x00000011 
- 00022464  0x000056c6 call  0x000057c5 
- 00022465  0x000056c7 rtn  0x00000028 
- 00022466  0x000056c8 fetch  0x00000001 , 0x00000a9a 
- 00022467  0x000056c9 branch  0x00002a8c , 0x00000034 
- 00022468  0x000056ca rtn 
- 00022469  0x000056ce bpatchx  0x00000076 , 0x0000402e 
- 00022470  0x000056cf call  0x00007fe7 
- 00022471  0x000056d0 call  0x00007eda 
- 00022472  0x000056d1 arg  0x00000000 , 0x00000012 
- 00022473  0x000056d2 arg  0x00000ac3 , 0x00000005 
- 00022474  0x000056d3 call  0x000057df 
- 00022475  0x000056d4 fetch  0x00000001 , 0x000043af 
- 00022476  0x000056d5 add  0x0000003f , 0x00000001 , 0x00000002 
- 00022477  0x000056d6 iadd  0x00000012 , 0x00000011 
- 00022478  0x000056d7 increase  0x00000002 , 0x00000011 
- 00022479  0x000056d8 sub  0x00000011 , 0x0000001f , 0x0000003e 
- 00022480  0x000056d9 nbranch  0x000057dd , 0x00000002 
- 00022481  0x000056da istoret  0x00000001 , 0x00000005 
- 00022482  0x000056db arg  0x00000009 , 0x00000002 
- 00022483  0x000056dc istoret  0x00000001 , 0x00000005 
- 00022484  0x000056dd iforce  0x00000039 
- 00022485  0x000056de call  0x00007ef4 
- 00022486  0x000056df copy  0x00000011 , 0x00000012 
- 00022487  0x000056e1 deposit  0x00000012 
- 00022488  0x000056e2 store  0x00000001 , 0x00000ac2 
- 00022489  0x000056e3 arg  0x00000ac2 , 0x00000006 
- 00022490  0x000056e4 setarg  0xffffffe0 
- 00022491  0x000056e5 iadd  0x00000013 , 0x00000005 
- 00022492  0x000056e6 branch  0x00007ebd 
- 00022493  0x000056e9 call  0x00007fe9 
- 00022494  0x000056ea branch  0x000057d7 
- 00022495  0x000056ed ifetch  0x00000001 , 0x00000011 
- 00022496  0x000056ee rtn  0x00000034 
- 00022497  0x000056ef pincrease  0x00000001 
- 00022498  0x000056f0 ifetcht  0x00000001 , 0x00000006 
- 00022499  0x000056f1 sub  0x00000002 , 0x00000009 , 0x0000003e 
- 00022500  0x000056f2 branch  0x000057ee , 0x00000005 
- 00022501  0x000056f3 iadd  0x00000012 , 0x00000012 
- 00022502  0x000056f4 copy  0x00000011 , 0x00000006 
- 00022503  0x000056f5 iforce  0x00000039 
- 00022504  0x000056f6 call  0x00007ef4 
- 00022505  0x000056f7 copy  0x00000006 , 0x00000011 
- 00022506  0x000056f9 deposit  0x00000011 
- 00022507  0x000056fa isub  0x00000013 , 0x0000003e 
- 00022508  0x000056fb rtn  0x00000002 
- 00022509  0x000056fc branch  0x000057df 
- 00022510  0x000056ff iadd  0x00000011 , 0x00000011 
- 00022511  0x00005700 branch  0x000057ea 
- 00022512  0x00005704 setarg  0x00000020 
- 00022513  0x00005705 istore  0x00000001 , 0x00000005 
- 00022514  0x00005706 loop  0x000057f0 
- 00022515  0x00005707 rtn 
- 00022516  0x0000570b bpatchx  0x00000077 , 0x0000402e 
- 00022517  0x0000570c disable  0x0000002b 
- 00022518  0x0000570d branch  0x000057f8 , 0x0000002e 
- 00022519  0x0000570e nbranch  0x00005806 , 0x0000002d 
- 00022520  0x00005710 call  0x00002bcb 
- 00022521  0x00005711 fetch  0x00000002 , 0x000040c1 
- 00022522  0x00005712 store  0x00000002 , 0x0000044d 
- 00022523  0x00005714 nbranch  0x00002bde , 0x0000002d 
- 00022524  0x00005715 bmark1  0x0000000f , 0x00002bde 
- 00022525  0x00005717 fetch  0x00000001 , 0x0000450b 
- 00022526  0x00005718 nbranch  0x00002bde , 0x00000034 
- 00022527  0x00005719 fetch  0x00000001 , 0x000043dd 
- 00022528  0x0000571a nbranch  0x00002bde , 0x00000034 
- 00022529  0x0000571c fetch  0x00000001 , 0x000044e9 
- 00022530  0x0000571d bbit1  0x00000005 , 0x00002bde 
- 00022531  0x0000571f fetch  0x00000001 , 0x0000043f 
- 00022532  0x00005720 bbit1  0x00000005 , 0x00002bde 
- 00022533  0x00005721 branch  0x00002bc0 
- 00022534  0x00005724 fetcht  0x00000002 , 0x000040c1 
- 00022535  0x00005725 rshift  0x00000002 , 0x00000002 
- 00022536  0x00005726 fetch  0x00000002 , 0x0000044d 
- 00022537  0x00005727 iadd  0x00000002 , 0x0000003f 
- 00022538  0x00005728 store  0x00000002 , 0x0000044d 
- 00022539  0x00005729 branch  0x00002bd6 
- 00022540  0x0000572d arg  0x00000000 , 0x00000007 
- 00022541  0x0000572e branch  0x00005824 
- 00022542  0x00005731 arg  0x00000000 , 0x00000007 
- 00022543  0x00005732 branch  0x00005828 
- 00022544  0x00005735 arg  0x00000001 , 0x00000007 
- 00022545  0x00005736 branch  0x00005824 
- 00022546  0x00005739 arg  0x00000001 , 0x00000007 
- 00022547  0x0000573a branch  0x00005828 
- 00022548  0x0000573d arg  0x00000002 , 0x00000007 
- 00022549  0x0000573e branch  0x00005824 
- 00022550  0x00005741 arg  0x00000002 , 0x00000007 
- 00022551  0x00005742 branch  0x00005828 
- 00022552  0x00005745 arg  0x00000003 , 0x00000007 
- 00022553  0x00005746 branch  0x00005824 
- 00022554  0x00005749 arg  0x00000003 , 0x00000007 
- 00022555  0x0000574a branch  0x00005828 
- 00022556  0x0000574d arg  0x00000004 , 0x00000007 
- 00022557  0x0000574e branch  0x00005824 
- 00022558  0x00005751 arg  0x00000004 , 0x00000007 
- 00022559  0x00005752 branch  0x00005828 
- 00022560  0x00005755 arg  0x00000005 , 0x00000007 
- 00022561  0x00005756 branch  0x00005824 
- 00022562  0x00005759 arg  0x00000005 , 0x00000007 
- 00022563  0x0000575a branch  0x00005828 
- 00022564  0x0000575e fetch  0x00000001 , 0x000044e9 
- 00022565  0x0000575f qset1  0x0000003f 
- 00022566  0x00005760 store  0x00000001 , 0x000044e9 
- 00022567  0x00005761 rtn 
- 00022568  0x00005764 fetch  0x00000001 , 0x000044e9 
- 00022569  0x00005765 qset0  0x0000003f 
- 00022570  0x00005766 store  0x00000001 , 0x000044e9 
- 00022571  0x00005767 rtn 
- 00022572  0x0000576a setarg  0x00112233 
- 00022573  0x0000576b store  0x00000003 , 0x000044ea 
- 00022574  0x0000576c setarg  0x00445566 
- 00022575  0x0000576d istore  0x00000003 , 0x00000005 
- 00022576  0x0000576e setarg  0x00778899 
- 00022577  0x0000576f istore  0x00000003 , 0x00000005 
- 00022578  0x00005770 setarg  0x00001122 
- 00022579  0x00005771 istore  0x00000003 , 0x00000005 
- 00022580  0x00005772 setarg  0x00334455 
- 00022581  0x00005773 istore  0x00000003 , 0x00000005 
- 00022582  0x00005774 setarg  0x00000066 
- 00022583  0x00005775 istore  0x00000001 , 0x00000005 
- 00022584  0x00005776 rtn 
- 00022585  0x0000577a setarg  0x01000302 
- 00022586  0x0000577b store  0x00000004 , 0x00004453 
- 00022587  0x0000577c setarg  0x00010010 
- 00022588  0x0000577d store  0x00000003 , 0x00004457 
- 00022589  0x0000577e jam  0x00000001 , 0x000044c6 
- 00022590  0x0000577f rtn 
- 00022591  0x00005784 arg  0x00000000 , 0x00000011 
- 00022592  0x00005785 arg  0x00000001 , 0x00000001 
- 00022593  0x00005786 branch  0x00005850 
- 00022594  0x0000578b arg  0x00000003 , 0x00000001 
- 00022595  0x0000578c call  0x00005850 
- 00022596  0x0000578d copy  0x00000012 , 0x0000003f 
- 00022597  0x0000578e istore  0x00000001 , 0x00000005 
- 00022598  0x0000578f rtn 
- 00022599  0x00005794 force  0x00000002 , 0x00000001 
- 00022600  0x00005795 increase  0x00000004 , 0x00000011 
- 00022601  0x00005796 call  0x00005850 
- 00022602  0x00005797 increase  0xfffffffc , 0x00000011 
- 00022603  0x00005798 copy  0x00000011 , 0x0000003f 
- 00022604  0x00005799 istore  0x00000002 , 0x00000005 
- 00022605  0x0000579a copy  0x00000012 , 0x0000003f 
- 00022606  0x0000579b istore  0x00000002 , 0x00000005 
- 00022607  0x0000579c rtn 
- 00022608  0x000057a1 sub  0x00000011 , 0x000000f0 , 0x0000003e 
- 00022609  0x000057a2 nbranch  0x00002a8c , 0x00000002 
- 00022610  0x000057a3 fetch  0x00000001 , 0x000044ff 
- 00022611  0x000057a4 arg  0x00000001 , 0x00000002 
- 00022612  0x000057a5 arg  0x00000004 , 0x00000039 
- 00022613  0x000057a7 iand  0x00000002 , 0x0000003e 
- 00022614  0x000057a8 branch  0x0000585a , 0x00000005 
- 00022615  0x000057a9 lshift  0x00000002 , 0x00000002 
- 00022616  0x000057aa loop  0x00005855 
- 00022617  0x000057ab branch  0x00002a8c 
- 00022618  0x000057ad ixor  0x00000002 , 0x0000003f 
- 00022619  0x000057ae store  0x00000001 , 0x000044ff 
- 00022620  0x000057af sub  0x00000039 , 0x00000004 , 0x0000003f 
- 00022621  0x000057b0 lshift4  0x0000003f , 0x0000003f 
- 00022622  0x000057b1 lshift4  0x0000003f , 0x0000003f 
- 00022623  0x000057b2 arg  0x00001800 , 0x00000002 
- 00022624  0x000057b3 iadd  0x00000002 , 0x00000002 
- 00022625  0x000057b5 arg  0x00000000 , 0x00000039 
- 00022626  0x000057b6 arg  0x00004500 , 0x00000006 
- 00022627  0x000057b8 ifetch  0x00000002 , 0x00000006 
- 00022628  0x000057b9 branch  0x00005869 , 0x00000034 
- 00022629  0x000057ba copy  0x00000039 , 0x0000003f 
- 00022630  0x000057bb increase  0x00000001 , 0x00000039 
- 00022631  0x000057bc bne  0x00000004 , 0x00005863 
- 00022632  0x000057bd branch  0x00002a8c 
- 00022633  0x000057c1 increase  0xfffffffe , 0x00000006 
- 00022634  0x000057c2 istoret  0x00000002 , 0x00000006 
- 00022635  0x000057c3 copy  0x00000002 , 0x00000005 
- 00022636  0x000057c4 copy  0x00000011 , 0x0000003f 
- 00022637  0x000057c5 istore  0x00000001 , 0x00000005 
- 00022638  0x000057c6 setarg  0x00000000 
- 00022639  0x000057c7 istore  0x00000001 , 0x00000005 
- 00022640  0x000057c8 copy  0x00000001 , 0x0000003f 
- 00022641  0x000057c9 istore  0x00000001 , 0x00000005 
- 00022642  0x000057ca rtn 
- 00022643  0x000057cf fetch  0x00000002 , 0x00004500 
- 00022644  0x000057d0 copy  0x0000003f , 0x00000006 
- 00022645  0x000057d1 rtn 
- 00022646  0x000057d4 fetch  0x00000002 , 0x00004502 
- 00022647  0x000057d5 copy  0x0000003f , 0x00000006 
- 00022648  0x000057d6 rtn 
- 00022649  0x000057d9 call  0x0000587c 
- 00022650  0x000057da copy  0x0000003f , 0x00000006 
- 00022651  0x000057db rtn 
- 00022652  0x000057dd fetch  0x00000002 , 0x00004506 
- 00022653  0x000057de nrtn  0x00000034 
- 00022654  0x000057df fetch  0x00000002 , 0x00004504 
- 00022655  0x000057e0 nrtn  0x00000034 
- 00022656  0x000057e1 fetch  0x00000002 , 0x00004502 
- 00022657  0x000057e2 nrtn  0x00000034 
- 00022658  0x000057e3 fetch  0x00000002 , 0x00004500 
- 00022659  0x000057e4 rtn 
- 00022660  0x000057e7 call  0x00005873 
- 00022661  0x000057e8 increase  0x00000003 , 0x00000006 
- 00022662  0x000057e9 rtn 
- 00022663  0x000057ec call  0x00005873 
- 00022664  0x000057ed increase  0x00000007 , 0x00000006 
- 00022665  0x000057ee rtn 
- 00022666  0x000057f1 call  0x00005879 
- 00022667  0x000057f2 increase  0x00000007 , 0x00000006 
- 00022668  0x000057f3 rtn 
- 00022669  0x000057f6 call  0x00005879 
- 00022670  0x000057f7 increase  0x00000003 , 0x00000006 
- 00022671  0x000057f8 rtn 
- 00022672  0x000057fd fetch  0x00000002 , 0x00004506 
- 00022673  0x000057fe rtn 
- 00022674  0x00005802 fetch  0x00000002 , 0x00004504 
- 00022675  0x00005803 rtn 
- 00022676  0x00005807 fetch  0x00000002 , 0x00004500 
- 00022677  0x00005808 rtn 
- 00022678  0x0000580c fetch  0x00000002 , 0x00004500 
- 00022679  0x0000580d arg  0x00001800 , 0x00000002 
- 00022680  0x0000580e isub  0x00000002 , 0x0000003f 
- 00022681  0x0000580f rshift4  0x0000003f , 0x0000003f 
- 00022682  0x00005810 rshift4  0x0000003f , 0x00000007 
- 00022683  0x00005811 fetch  0x00000001 , 0x000044ff 
- 00022684  0x00005812 qset0  0x0000003f 
- 00022685  0x00005813 store  0x00000001 , 0x000044ff 
- 00022686  0x00005814 arg  0x00000000 , 0x00000039 
- 00022687  0x00005816 lshift  0x00000039 , 0x0000003f 
- 00022688  0x00005817 arg  0x00004502 , 0x00000002 
- 00022689  0x00005818 iadd  0x00000002 , 0x00000002 
- 00022690  0x00005819 ifetch  0x00000002 , 0x00000002 
- 00022691  0x0000581a increase  0xfffffffe , 0x00000002 
- 00022692  0x0000581b istore  0x00000002 , 0x00000002 
- 00022693  0x0000581c copy  0x00000039 , 0x0000003f 
- 00022694  0x0000581d increase  0x00000001 , 0x00000039 
- 00022695  0x0000581e bne  0x00000003 , 0x0000589f 
- 00022696  0x0000581f setarg  0x00000000 
- 00022697  0x00005820 istore  0x00000002 , 0x00000002 
- 00022698  0x00005821 rtn 
- 00022699  0x00005828 ifetch  0x00000003 , 0x00000006 
- 00022700  0x00005829 store  0x00000003 , 0x00000477 
- 00022701  0x0000582a beq  0x00000002 , 0x000058c1 
- 00022702  0x0000582b beq  0x00000003 , 0x000058c9 
- 00022703  0x0000582c beq  0x00000004 , 0x000058cc 
- 00022704  0x0000582d beq  0x00000006 , 0x000058f2 
- 00022705  0x0000582e beq  0x00000008 , 0x0000593f 
- 00022706  0x0000582f beq  0x0000000a , 0x000059bc 
- 00022707  0x00005830 beq  0x0000000c , 0x000059e4 
- 00022708  0x00005831 beq  0x00000010 , 0x000059fa 
- 00022709  0x00005832 beq  0x00000012 , 0x00005a2f 
- 00022710  0x00005833 beq  0x00000016 , 0x00005a48 
- 00022711  0x00005834 beq  0x00000018 , 0x00005a5b 
- 00022712  0x00005835 beq  0x00000052 , 0x00005a60 
- 00022713  0x00005836 rtn 
- 00022714  0x0000583a force  0x00000003 , 0x00000011 
- 00022715  0x0000583b call  0x00005a82 
- 00022716  0x0000583c setarg  0x00000002 
- 00022717  0x0000583d istore  0x00000001 , 0x00000005 
- 00022718  0x0000583e fetch  0x00000002 , 0x000044a6 
- 00022719  0x0000583f istore  0x00000002 , 0x00000005 
- 00022720  0x00005840 rtn 
- 00022721  0x00005844 call  0x000058c9 
- 00022722  0x00005846 force  0x00000003 , 0x00000011 
- 00022723  0x00005847 call  0x00005a82 
- 00022724  0x00005848 setarg  0x00000003 
- 00022725  0x00005849 istore  0x00000001 , 0x00000005 
- 00022726  0x0000584a fetch  0x00000002 , 0x000044a6 
- 00022727  0x0000584b istore  0x00000002 , 0x00000005 
- 00022728  0x0000584c rtn 
- 00022729  0x0000584f rshift8  0x0000003f , 0x0000003f 
- 00022730  0x00005850 store  0x00000002 , 0x000044a8 
- 00022731  0x00005851 rtn 
- 00022732  0x00005854 call  0x00005ab1 
- 00022733  0x00005855 call  0x00007fe7 
- 00022734  0x00005856 branch  0x000058cf 
- 00022735  0x00005859 arg  0x00000003 , 0x0000000b 
- 00022736  0x0000585a call  0x00005756 
- 00022737  0x0000585c call  0x0000575f 
- 00022738  0x0000585d branch  0x000058f0 , 0x00000034 
- 00022739  0x0000585e nbranch  0x000058ed , 0x00000002 
- 00022740  0x0000585f increase  0xfffffffe , 0x00000006 
- 00022741  0x00005860 call  0x00007ea5 
- 00022742  0x00005861 call  0x00007e9c 
- 00022743  0x00005862 nbranch  0x000058e1 , 0x00000028 
- 00022744  0x00005863 call  0x00007e85 
- 00022745  0x00005864 call  0x00007fe9 
- 00022746  0x00005865 force  0x00000014 , 0x00000011 
- 00022747  0x00005866 call  0x00005a82 
- 00022748  0x00005867 call  0x00007e95 
- 00022749  0x00005868 setarg  0x00000005 
- 00022750  0x00005869 istore  0x00000001 , 0x00000005 
- 00022751  0x0000586a setarg  0x00000001 
- 00022752  0x0000586b istore  0x00000001 , 0x00000005 
- 00022753  0x0000586d call  0x00007e9f 
- 00022754  0x0000586e ifetch  0x00000002 , 0x00000006 
- 00022755  0x0000586f istore  0x00000002 , 0x00000005 
- 00022756  0x00005870 ifetch  0x00000001 , 0x00000006 
- 00022757  0x00005871 copy  0x0000003f , 0x00000039 
- 00022758  0x00005872 call  0x00007f01 
- 00022759  0x00005873 call  0x00007ea2 
- 00022760  0x00005874 increase  0xffffffff , 0x0000000b 
- 00022761  0x00005875 branch  0x000058f0 , 0x00000005 
- 00022762  0x00005877 ifetch  0x00000001 , 0x00000006 
- 00022763  0x00005878 iadd  0x00000006 , 0x00000006 
- 00022764  0x00005879 branch  0x000058d1 
- 00022765  0x0000587b ifetch  0x00000001 , 0x00000006 
- 00022766  0x0000587c iadd  0x00000006 , 0x00000006 
- 00022767  0x0000587d branch  0x000058ea 
- 00022768  0x0000587f branch  0x00005a76 , 0x00000028 
- 00022769  0x00005880 branch  0x00005aa5 
- 00022770  0x00005884 call  0x00005ab1 
- 00022771  0x00005885 ifetch  0x00000002 , 0x00000006 
- 00022772  0x00005886 store  0x00000002 , 0x00004472 
- 00022773  0x00005887 call  0x00007ea5 
- 00022774  0x00005888 arg  0x0000445e , 0x00000005 
- 00022775  0x00005889 fetch  0x00000002 , 0x000044fc 
- 00022776  0x0000588a increase  0xfffffff9 , 0x0000003f 
- 00022777  0x0000588b call  0x000056db 
- 00022778  0x0000588c branch  0x00005905 
- 00022779  0x00005890 disable  0x00000028 
- 00022780  0x00005891 fetcht  0x00000002 , 0x0000445a 
- 00022781  0x00005892 fetch  0x00000002 , 0x0000445c 
- 00022782  0x00005893 isub  0x00000002 , 0x0000003e 
- 00022783  0x00005894 nbranch  0x00005902 , 0x00000002 
- 00022784  0x00005895 deposit  0x00000002 
- 00022785  0x00005896 rtnne  0x00000000 
- 00022786  0x00005898 enable  0x00000028 
- 00022787  0x00005899 jam  0x00000001 , 0x0000047a 
- 00022788  0x0000589a branch  0x00005a77 
- 00022789  0x0000589e call  0x000058fb 
- 00022790  0x0000589f rtn  0x00000028 
- 00022791  0x000058a0 fetcht  0x00000002 , 0x00004472 
- 00022792  0x000058a1 setarg  0x00002800 
- 00022793  0x000058a2 isub  0x00000002 , 0x0000003e 
- 00022794  0x000058a3 branch  0x0000590c , 0x00000005 
- 00022795  0x000058a4 branch  0x00005a76 
- 00022796  0x000058a8 jam  0x00000000 , 0x000004b4 
- 00022797  0x000058a9 fetcht  0x00000002 , 0x0000445a 
- 00022798  0x000058aa storet  0x00000002 , 0x00000aa2 
- 00022799  0x000058ab call  0x0000578c 
- 00022800  0x000058ac nbranch  0x00005a76 , 0x00000034 
- 00022801  0x000058ae fetcht  0x00000002 , 0x00000aa2 
- 00022802  0x000058af call  0x0000578c 
- 00022803  0x000058b0 nbranch  0x00005925 , 0x00000034 
- 00022804  0x000058b1 copy  0x00000006 , 0x00000011 
- 00022805  0x000058b2 fetch  0x00000001 , 0x000004b3 
- 00022806  0x000058b3 copy  0x0000003f , 0x00000039 
- 00022807  0x000058b4 fetcht  0x00000001 , 0x0000445e 
- 00022808  0x000058b5 isub  0x00000002 , 0x0000003e 
- 00022809  0x000058b6 nbranch  0x00005921 , 0x00000005 
- 00022810  0x000058b7 arg  0x0000445f , 0x00000012 
- 00022811  0x000058b8 call  0x00007f88 
- 00022812  0x000058ba branch  0x00005928 , 0x00000005 
- 00022813  0x000058bc fetch  0x00000002 , 0x000004a3 
- 00022814  0x000058bd fetcht  0x00000002 , 0x00004472 
- 00022815  0x000058be isub  0x00000002 , 0x0000003e 
- 00022816  0x000058bf branch  0x00005930 , 0x00000005 
- 00022817  0x000058c1 fetch  0x00000002 , 0x00000aa2 
- 00022818  0x000058c2 increase  0x00000001 , 0x0000003f 
- 00022819  0x000058c3 store  0x00000002 , 0x00000aa2 
- 00022820  0x000058c4 branch  0x00005911 
- 00022821  0x000058c7 fetch  0x00000001 , 0x000004b4 
- 00022822  0x000058c8 beq  0x00000001 , 0x00005930 
- 00022823  0x000058c9 branch  0x00005a76 
- 00022824  0x000058cd fetch  0x00000002 , 0x000004a3 
- 00022825  0x000058ce fetcht  0x00000002 , 0x00004472 
- 00022826  0x000058cf isub  0x00000002 , 0x0000003e 
- 00022827  0x000058d0 nbranch  0x00005921 , 0x00000005 
- 00022828  0x000058d1 jam  0x00000001 , 0x000004b4 
- 00022829  0x000058d3 fetcht  0x00000002 , 0x00000aa2 
- 00022830  0x000058d4 storet  0x00000002 , 0x0000049e 
- 00022831  0x000058d5 branch  0x00005921 
- 00022832  0x000058d8 fetch  0x00000001 , 0x000004b4 
- 00022833  0x000058d9 beq  0x00000000 , 0x00005921 
- 00022834  0x000058da jam  0x00000002 , 0x000004b4 
- 00022835  0x000058db fetcht  0x00000002 , 0x00000aa2 
- 00022836  0x000058dc increase  0xffffffff , 0x00000002 
- 00022837  0x000058dd storet  0x00000002 , 0x000004a0 
- 00022838  0x000058e0 arg  0x00000005 , 0x00000011 
- 00022839  0x000058e1 call  0x00005a82 
- 00022840  0x000058e2 setarg  0x00000007 
- 00022841  0x000058e3 istore  0x00000001 , 0x00000005 
- 00022842  0x000058e4 fetch  0x00000002 , 0x0000049e 
- 00022843  0x000058e5 istore  0x00000002 , 0x00000005 
- 00022844  0x000058e6 fetch  0x00000002 , 0x000004a0 
- 00022845  0x000058e7 istore  0x00000002 , 0x00000005 
- 00022846  0x000058e8 rtn 
- 00022847  0x000058ed call  0x00005ab1 
- 00022848  0x000058ee call  0x000056df 
- 00022849  0x000058ef branch  0x00005942 
- 00022850  0x000058f2 fetcht  0x00000002 , 0x0000445a 
- 00022851  0x000058f3 storet  0x00000002 , 0x00000aa2 
- 00022852  0x000058f4 call  0x00005756 
- 00022853  0x000058f5 call  0x0000576d 
- 00022854  0x000058f6 increase  0xfffffffe , 0x00000006 
- 00022855  0x000058f7 copy  0x00000006 , 0x0000003f 
- 00022856  0x000058f8 store  0x00000002 , 0x0000049c 
- 00022857  0x000058fa fetcht  0x00000002 , 0x00004472 
- 00022858  0x000058fb setarg  0x00002a00 
- 00022859  0x000058fc isub  0x00000002 , 0x0000003e 
- 00022860  0x000058fd branch  0x000059a8 , 0x00000005 
- 00022861  0x000058fe setarg  0x00002803 
- 00022862  0x000058ff isub  0x00000002 , 0x0000003e 
- 00022863  0x00005900 nbranch  0x00005990 , 0x00000005 
- 00022864  0x00005901 arg  0x00000002 , 0x0000000b 
- 00022865  0x00005903 call  0x00005a88 
- 00022866  0x00005904 nbranch  0x0000596d , 0x00000002 
- 00022867  0x00005905 fetcht  0x00000002 , 0x00000aa2 
- 00022868  0x00005906 call  0x0000578a 
- 00022869  0x00005907 beq  0x00000001 , 0x0000596d 
- 00022870  0x00005908 call  0x00005a94 
- 00022871  0x00005909 nbranch  0x0000596b , 0x00000005 
- 00022872  0x0000590a nbranch  0x0000596f , 0x00000028 
- 00022873  0x0000590b disable  0x00000028 
- 00022874  0x0000590c arg  0x00000014 , 0x00000011 
- 00022875  0x0000590d call  0x00005a82 
- 00022876  0x0000590e setarg  0x00000009 
- 00022877  0x0000590f istore  0x00000001 , 0x00000005 
- 00022878  0x00005910 copy  0x00000005 , 0x00000030 
- 00022879  0x00005911 increase  0x00000001 , 0x00000005 
- 00022880  0x00005913 call  0x0000597d 
- 00022881  0x00005914 call  0x00005a84 
- 00022882  0x00005915 call  0x0000578a 
- 00022883  0x00005916 call  0x00005984 
- 00022884  0x00005917 fetch  0x00000001 , 0x000004a2 
- 00022885  0x00005918 increase  0x00000005 , 0x0000003f 
- 00022886  0x00005919 istore  0x00000001 , 0x00000030 
- 00022887  0x0000591a fetch  0x00000001 , 0x000004a2 
- 00022888  0x0000591b beq  0x00000010 , 0x0000596d 
- 00022889  0x0000591c increase  0xffffffff , 0x0000000b 
- 00022890  0x0000591d branch  0x0000596d , 0x00000005 
- 00022891  0x0000591f call  0x00005a84 
- 00022892  0x00005920 branch  0x00005951 
- 00022893  0x00005922 branch  0x00005a76 , 0x00000028 
- 00022894  0x00005923 branch  0x00005aa5 
- 00022895  0x00005926 call  0x00005a97 
- 00022896  0x00005927 call  0x00005a84 
- 00022897  0x00005928 call  0x0000578a 
- 00022898  0x00005929 fetch  0x00000001 , 0x000004a2 
- 00022899  0x0000592a beq  0x00000010 , 0x0000596d 
- 00022900  0x0000592c call  0x00007e9c 
- 00022901  0x0000592d fetch  0x00000002 , 0x00000aa2 
- 00022902  0x0000592e increase  0xffffffff , 0x0000003f 
- 00022903  0x0000592f istore  0x00000002 , 0x00000005 
- 00022904  0x00005930 call  0x00005aa1 
- 00022905  0x00005931 call  0x00005984 
- 00022906  0x00005932 increase  0xffffffff , 0x0000000b 
- 00022907  0x00005933 branch  0x0000596d , 0x00000005 
- 00022908  0x00005934 branch  0x0000596b 
- 00022909  0x00005938 fetch  0x00000002 , 0x00000aa2 
- 00022910  0x00005939 istore  0x00000002 , 0x00000005 
- 00022911  0x0000593b fetch  0x00000001 , 0x000004b3 
- 00022912  0x0000593c copy  0x0000003f , 0x00000039 
- 00022913  0x0000593d call  0x00007e9f 
- 00022914  0x0000593e call  0x00007ef4 
- 00022915  0x0000593f branch  0x00007ea2 
- 00022916  0x00005941 call  0x00007e9c 
- 00022917  0x00005942 fetch  0x00000002 , 0x00000aa2 
- 00022918  0x00005943 istore  0x00000002 , 0x00000005 
- 00022919  0x00005944 call  0x00007ea2 
- 00022920  0x00005945 fetch  0x00000001 , 0x000004a2 
- 00022921  0x00005946 copy  0x0000003f , 0x00000039 
- 00022922  0x00005947 call  0x00007e9c 
- 00022923  0x00005948 call  0x00007e9f 
- 00022924  0x00005949 isub  0x00000039 , 0x00000006 
- 00022925  0x0000594a increase  0xffffffff , 0x00000006 
- 00022926  0x0000594b call  0x00007ef4 
- 00022927  0x0000594c branch  0x00007ea2 
- 00022928  0x00005951 fetcht  0x00000002 , 0x0000445a 
- 00022929  0x00005952 storet  0x00000002 , 0x00000aa2 
- 00022930  0x00005954 call  0x00005a88 
- 00022931  0x00005955 nbranch  0x00005a76 , 0x00000002 
- 00022932  0x00005956 call  0x0000578a 
- 00022933  0x00005957 beq  0x00000001 , 0x00005a76 
- 00022934  0x00005958 call  0x00005a94 
- 00022935  0x00005959 nbranch  0x000059a6 , 0x00000005 
- 00022936  0x0000595c arg  0x00000014 , 0x00000011 
- 00022937  0x0000595d call  0x00005a82 
- 00022938  0x0000595e setarg  0x00000009 
- 00022939  0x0000595f istore  0x00000001 , 0x00000005 
- 00022940  0x00005960 fetch  0x00000001 , 0x000004b3 
- 00022941  0x00005961 copy  0x0000003f , 0x00000039 
- 00022942  0x00005962 increase  0x00000002 , 0x0000003f 
- 00022943  0x00005963 istore  0x00000001 , 0x00000005 
- 00022944  0x00005964 fetch  0x00000002 , 0x00000aa2 
- 00022945  0x00005965 istore  0x00000002 , 0x00000005 
- 00022946  0x00005966 call  0x00007e9f 
- 00022947  0x00005967 call  0x00007ef4 
- 00022948  0x00005968 call  0x00007ea2 
- 00022949  0x00005969 branch  0x00005aa5 
- 00022950  0x0000596c call  0x00005a84 
- 00022951  0x0000596d branch  0x00005992 
- 00022952  0x00005971 arg  0x00002a00 , 0x00000002 
- 00022953  0x00005972 call  0x0000577c 
- 00022954  0x00005973 rtn  0x00000034 
- 00022955  0x00005974 increase  0xfffffffb , 0x00000006 
- 00022956  0x00005975 ifetch  0x00000002 , 0x00000006 
- 00022957  0x00005976 store  0x00000002 , 0x00000aa2 
- 00022958  0x00005977 arg  0x00000014 , 0x00000011 
- 00022959  0x00005978 call  0x00005a82 
- 00022960  0x00005979 setarg  0x00000009 
- 00022961  0x0000597a istore  0x00000001 , 0x00000005 
- 00022962  0x0000597b fetch  0x00000001 , 0x000043af 
- 00022963  0x0000597c copy  0x0000003f , 0x00000039 
- 00022964  0x0000597d increase  0x00000002 , 0x0000003f 
- 00022965  0x0000597e istore  0x00000001 , 0x00000005 
- 00022966  0x0000597f fetch  0x00000002 , 0x00000aa2 
- 00022967  0x00005980 istore  0x00000002 , 0x00000005 
- 00022968  0x00005981 arg  0x000043b0 , 0x00000006 
- 00022969  0x00005982 call  0x00007ef4 
- 00022970  0x00005983 call  0x00007ea2 
- 00022971  0x00005984 branch  0x00005aa5 
- 00022972  0x00005989 fetcht  0x00000002 , 0x00000478 
- 00022973  0x0000598a fetch  0x00000001 , 0x000044e9 
- 00022974  0x0000598b bbit1  0x00000003 , 0x000059dd 
- 00022975  0x0000598e call  0x0000576a 
- 00022976  0x0000598f branch  0x00005a76 , 0x00000034 
- 00022977  0x00005990 increase  0xfffffffe , 0x00000006 
- 00022978  0x00005991 ifetch  0x00000002 , 0x00000006 
- 00022979  0x00005992 arg  0x00002a00 , 0x00000002 
- 00022980  0x00005993 isub  0x00000002 , 0x0000003e 
- 00022981  0x00005994 branch  0x000059d3 , 0x00000005 
- 00022982  0x00005995 ifetch  0x00000001 , 0x00000006 
- 00022983  0x00005996 sub  0x0000003f , 0x00000016 , 0x0000003e 
- 00022984  0x00005997 branch  0x000059ca , 0x00000002 
- 00022985  0x00005998 force  0x00000016 , 0x0000003f 
- 00022986  0x0000599a copy  0x0000003f , 0x00000013 
- 00022987  0x0000599b call  0x00007ea5 
- 00022988  0x0000599c add  0x00000013 , 0x00000001 , 0x00000011 
- 00022989  0x0000599d call  0x00005a82 
- 00022990  0x0000599e setarg  0x0000000b 
- 00022991  0x0000599f istore  0x00000001 , 0x00000005 
- 00022992  0x000059a0 copy  0x00000013 , 0x00000039 
- 00022993  0x000059a1 call  0x00007e9f 
- 00022994  0x000059a2 branch  0x00007f01 
- 00022995  0x000059a5 call  0x00007ea5 
- 00022996  0x000059a6 fetch  0x00000001 , 0x000043af 
- 00022997  0x000059a7 add  0x0000003f , 0x00000001 , 0x00000011 
- 00022998  0x000059a8 call  0x00005a82 
- 00022999  0x000059a9 setarg  0x0000000b 
- 00023000  0x000059aa istore  0x00000001 , 0x00000005 
- 00023001  0x000059ab fetch  0x00000001 , 0x000043af 
- 00023002  0x000059ac copy  0x0000003f , 0x00000039 
- 00023003  0x000059ad arg  0x000043b0 , 0x00000006 
- 00023004  0x000059ae branch  0x00007f01 
- 00023005  0x000059b2 fetch  0x00000002 , 0x000044fa 
- 00023006  0x000059b3 isub  0x00000002 , 0x0000003e 
- 00023007  0x000059b4 nbranch  0x000059bf , 0x00000005 
- 00023008  0x000059b6 call  0x00005a42 
- 00023009  0x000059b7 nbranch  0x000059bf , 0x00000028 
- 00023010  0x000059b8 jam  0x00000005 , 0x0000047a 
- 00023011  0x000059b9 branch  0x00005a77 
- 00023012  0x000059bd ifetch  0x00000002 , 0x00000006 
- 00023013  0x000059be store  0x00000002 , 0x0000445e 
- 00023014  0x000059c0 arg  0x00000014 , 0x00000011 
- 00023015  0x000059c1 call  0x00005a82 
- 00023016  0x000059c2 setarg  0x0000000d 
- 00023017  0x000059c3 istore  0x00000001 , 0x00000005 
- 00023018  0x000059c4 fetch  0x00000002 , 0x0000445e 
- 00023019  0x000059c5 iforce  0x00000011 
- 00023020  0x000059c6 fetcht  0x00000002 , 0x00000478 
- 00023021  0x000059c7 call  0x0000576a 
- 00023022  0x000059c8 branch  0x00005a76 , 0x00000034 
- 00023023  0x000059c9 ifetch  0x00000001 , 0x00000006 
- 00023024  0x000059ca isub  0x00000011 , 0x00000039 
- 00023025  0x000059cb nbranch  0x00005a76 , 0x00000002 
- 00023026  0x000059cc sub  0x00000039 , 0x00000016 , 0x0000003e 
- 00023027  0x000059cd branch  0x000059f5 , 0x00000002 
- 00023028  0x000059ce force  0x00000016 , 0x00000039 
- 00023029  0x000059d0 deposit  0x00000011 
- 00023030  0x000059d1 iadd  0x00000006 , 0x00000006 
- 00023031  0x000059d2 call  0x00007ef4 
- 00023032  0x000059d3 call  0x00007ea2 
- 00023033  0x000059d4 branch  0x00005aa5 
- 00023034  0x000059d8 call  0x00005ab1 
- 00023035  0x000059d9 call  0x000056d7 
- 00023036  0x000059da branch  0x000059fd 
- 00023037  0x000059e0 arg  0x00000002 , 0x0000000b 
- 00023038  0x000059e1 fetcht  0x00000002 , 0x0000445a 
- 00023039  0x000059e5 storet  0x00000002 , 0x00000aa2 
- 00023040  0x000059e6 call  0x00005756 
- 00023041  0x000059e7 call  0x0000576d 
- 00023042  0x000059e8 increase  0xfffffffe , 0x00000006 
- 00023043  0x000059e9 copy  0x00000006 , 0x0000003f 
- 00023044  0x000059ea store  0x00000002 , 0x0000049c 
- 00023045  0x000059ec call  0x00005a88 
- 00023046  0x000059ed nbranch  0x00005a25 , 0x00000002 
- 00023047  0x000059ee fetcht  0x00000002 , 0x00000aa2 
- 00023048  0x000059ef call  0x0000578a 
- 00023049  0x000059f0 beq  0x00000001 , 0x00005a28 
- 00023050  0x000059f2 call  0x00005a8c 
- 00023051  0x000059f3 nbranch  0x00005a23 , 0x00000005 
- 00023052  0x000059f4 copy  0x0000000b , 0x0000003f 
- 00023053  0x000059f5 beq  0x00000000 , 0x00005a28 
- 00023054  0x000059f6 nbranch  0x00005a19 , 0x00000028 
- 00023055  0x000059f7 disable  0x00000028 
- 00023056  0x000059f9 arg  0x00000014 , 0x00000011 
- 00023057  0x000059fa call  0x00005a82 
- 00023058  0x000059fb setarg  0x00000011 
- 00023059  0x000059fc istore  0x00000001 , 0x00000005 
- 00023060  0x000059fd fetch  0x00000001 , 0x000004b3 
- 00023061  0x000059fe increase  0x00000004 , 0x0000003f 
- 00023062  0x000059ff istore  0x00000001 , 0x00000005 
- 00023063  0x00005a00 call  0x00007ea2 
- 00023064  0x00005a01 branch  0x00005a1f 
- 00023065  0x00005a03 fetch  0x00000001 , 0x000004b3 
- 00023066  0x00005a04 beq  0x00000010 , 0x00005a28 
- 00023067  0x00005a05 fetch  0x00000002 , 0x00000aa2 
- 00023068  0x00005a06 increase  0xffffffff , 0x0000003f 
- 00023069  0x00005a07 store  0x00000002 , 0x000004a0 
- 00023070  0x00005a08 call  0x00005a9c 
- 00023071  0x00005a0a fetch  0x00000002 , 0x00000aa2 
- 00023072  0x00005a0b store  0x00000002 , 0x0000049e 
- 00023073  0x00005a0c call  0x00005a97 
- 00023074  0x00005a0d increase  0xffffffff , 0x0000000b 
- 00023075  0x00005a10 call  0x00005a84 
- 00023076  0x00005a11 branch  0x00005a05 
- 00023077  0x00005a14 fetch  0x00000002 , 0x00000aa2 
- 00023078  0x00005a15 store  0x00000002 , 0x000004a0 
- 00023079  0x00005a16 branch  0x00005a2c 
- 00023080  0x00005a18 fetch  0x00000002 , 0x00000aa2 
- 00023081  0x00005a19 increase  0xffffffff , 0x0000003f 
- 00023082  0x00005a1a store  0x00000002 , 0x000004a0 
- 00023083  0x00005a1b branch  0x00005a2c 
- 00023084  0x00005a1d branch  0x00005a76 , 0x00000028 
- 00023085  0x00005a1e call  0x00005a9c 
- 00023086  0x00005a1f branch  0x00005aa5 
- 00023087  0x00005a25 copy  0x00000006 , 0x00000011 
- 00023088  0x00005a26 fetch  0x00000002 , 0x000044fc 
- 00023089  0x00005a27 add  0x0000003f , 0xfffffffd , 0x00000012 
- 00023090  0x00005a28 call  0x000056e2 
- 00023091  0x00005a2a fetch  0x00000001 , 0x000044e9 
- 00023092  0x00005a2b bbit0  0x00000004 , 0x00005a3d 
- 00023093  0x00005a2d fetcht  0x00000002 , 0x00000478 
- 00023094  0x00005a2e fetch  0x00000002 , 0x000044fa 
- 00023095  0x00005a2f isub  0x00000002 , 0x0000003e 
- 00023096  0x00005a30 nbranch  0x00005a3d , 0x00000005 
- 00023097  0x00005a31 call  0x00005a42 
- 00023098  0x00005a32 nbranch  0x00005a3d , 0x00000028 
- 00023099  0x00005a33 jam  0x00000005 , 0x0000047a 
- 00023100  0x00005a34 branch  0x00005a77 
- 00023101  0x00005a37 force  0x00000001 , 0x00000011 
- 00023102  0x00005a38 call  0x00005a82 
- 00023103  0x00005a39 setarg  0x00000013 
- 00023104  0x00005a3a istore  0x00000001 , 0x00000005 
- 00023105  0x00005a3b rtn 
- 00023106  0x00005a3e call  0x00007fe9 
- 00023107  0x00005a3f fetch  0x00000001 , 0x000044c6 
- 00023108  0x00005a40 rtneq  0x00000000 
- 00023109  0x00005a41 fetch  0x00000001 , 0x00004040 
- 00023110  0x00005a42 rtnbit1  0x00000004 
- 00023111  0x00005a43 branch  0x00007fe7 
- 00023112  0x00005a47 add  0x00000006 , 0x00000002 , 0x00000011 
- 00023113  0x00005a48 fetch  0x00000002 , 0x000044fc 
- 00023114  0x00005a49 add  0x0000003f , 0xfffffffb , 0x00000012 
- 00023115  0x00005a4a call  0x000056e2 
- 00023116  0x00005a4b branch  0x00005a4d 
- 00023117  0x00005a4f fetch  0x00000002 , 0x000044fc 
- 00023118  0x00005a50 copy  0x0000003f , 0x00000011 
- 00023119  0x00005a51 call  0x00005a82 
- 00023120  0x00005a52 setarg  0x00000017 
- 00023121  0x00005a53 istore  0x00000001 , 0x00000005 
- 00023122  0x00005a54 fetch  0x00000002 , 0x00000478 
- 00023123  0x00005a55 istore  0x00000002 , 0x00000005 
- 00023124  0x00005a56 fetch  0x00000002 , 0x000044fc 
- 00023125  0x00005a57 add  0x0000003f , 0xfffffffb , 0x00000039 
- 00023126  0x00005a58 fetch  0x00000002 , 0x0000450d 
- 00023127  0x00005a59 add  0x0000003f , 0x00000007 , 0x00000006 
- 00023128  0x00005a5a ifetch  0x00000002 , 0x00000006 
- 00023129  0x00005a5b istore  0x00000002 , 0x00000005 
- 00023130  0x00005a5c branch  0x00007ef4 
- 00023131  0x00005a63 force  0x00000001 , 0x00000011 
- 00023132  0x00005a64 call  0x00005a82 
- 00023133  0x00005a65 setarg  0x00000019 
- 00023134  0x00005a66 istore  0x00000001 , 0x00000005 
- 00023135  0x00005a67 rtn 
- 00023136  0x00005a6c copy  0x00000006 , 0x00000011 
- 00023137  0x00005a6d fetch  0x00000002 , 0x000044fc 
- 00023138  0x00005a6e add  0x0000003f , 0xfffffffd , 0x00000012 
- 00023139  0x00005a6f branch  0x000056e2 
- 00023140  0x00005a75 copy  0x00000002 , 0x00000013 
- 00023141  0x00005a76 increase  0x00000003 , 0x00000011 
- 00023142  0x00005a77 call  0x00005a82 
- 00023143  0x00005a78 increase  0xfffffffd , 0x00000011 
- 00023144  0x00005a79 setarg  0x0000001b 
- 00023145  0x00005a7a istore  0x00000001 , 0x00000005 
- 00023146  0x00005a7b copy  0x00000013 , 0x00000002 
- 00023147  0x00005a7c istoret  0x00000002 , 0x00000005 
- 00023148  0x00005a7d rtn 
- 00023149  0x00005a81 copy  0x00000002 , 0x00000013 
- 00023150  0x00005a82 increase  0x00000003 , 0x00000011 
- 00023151  0x00005a83 call  0x00005a82 
- 00023152  0x00005a84 increase  0xfffffffd , 0x00000011 
- 00023153  0x00005a85 setarg  0x0000001d 
- 00023154  0x00005a86 istore  0x00000001 , 0x00000005 
- 00023155  0x00005a87 copy  0x00000013 , 0x00000002 
- 00023156  0x00005a88 istoret  0x00000002 , 0x00000005 
- 00023157  0x00005a89 rtn 
- 00023158  0x00005a8f jam  0x0000000a , 0x0000047a 
- 00023159  0x00005a91 force  0x00000005 , 0x00000011 
- 00023160  0x00005a92 call  0x00005a82 
- 00023161  0x00005a93 setarg  0x00000001 
- 00023162  0x00005a94 istore  0x00000001 , 0x00000005 
- 00023163  0x00005a95 fetch  0x00000001 , 0x00000477 
- 00023164  0x00005a96 istore  0x00000001 , 0x00000005 
- 00023165  0x00005a97 fetch  0x00000002 , 0x00000478 
- 00023166  0x00005a98 istore  0x00000002 , 0x00000005 
- 00023167  0x00005a99 fetch  0x00000001 , 0x0000047a 
- 00023168  0x00005a9a istore  0x00000001 , 0x00000005 
- 00023169  0x00005a9b rtn 
- 00023170  0x00005a9f force  0x00000004 , 0x00000012 
- 00023171  0x00005aa0 branch  0x00005847 
- 00023172  0x00005aa4 fetcht  0x00000002 , 0x00000aa2 
- 00023173  0x00005aa5 increase  0x00000001 , 0x00000002 
- 00023174  0x00005aa6 storet  0x00000002 , 0x00000aa2 
- 00023175  0x00005aa7 rtn 
- 00023176  0x00005aaa fetcht  0x00000002 , 0x00000aa2 
- 00023177  0x00005aab fetch  0x00000002 , 0x0000445c 
- 00023178  0x00005aac isub  0x00000002 , 0x0000003e 
- 00023179  0x00005aad rtn 
- 00023180  0x00005ab1 fetcht  0x00000001 , 0x0000445e 
- 00023181  0x00005ab2 arg  0x0000445f , 0x00000011 
- 00023182  0x00005ab4 fetch  0x00000001 , 0x000004a2 
- 00023183  0x00005ab5 copy  0x0000003f , 0x00000039 
- 00023184  0x00005ab6 isub  0x00000002 , 0x0000003e 
- 00023185  0x00005ab7 nrtn  0x00000005 
- 00023186  0x00005ab8 arg  0x000004a3 , 0x00000012 
- 00023187  0x00005ab9 branch  0x00007f88 
- 00023188  0x00005abc fetcht  0x00000001 , 0x00004471 
- 00023189  0x00005abd arg  0x00004472 , 0x00000011 
- 00023190  0x00005abe branch  0x00005a8e 
- 00023191  0x00005ac2 fetch  0x00000001 , 0x000004b3 
- 00023192  0x00005ac3 store  0x00000001 , 0x00000101 
- 00023193  0x00005ac4 copy  0x0000003f , 0x00000039 
- 00023194  0x00005ac5 call  0x00007e9f 
- 00023195  0x00005ac6 branch  0x00007ef4 
- 00023196  0x00005aca call  0x00007e9c 
- 00023197  0x00005acb fetch  0x00000002 , 0x0000049e 
- 00023198  0x00005acc istore  0x00000002 , 0x00000005 
- 00023199  0x00005acd fetch  0x00000002 , 0x000004a0 
- 00023200  0x00005ace istore  0x00000002 , 0x00000005 
- 00023201  0x00005ad0 fetch  0x00000001 , 0x00000101 
- 00023202  0x00005ad1 copy  0x0000003f , 0x00000039 
- 00023203  0x00005ad2 call  0x00007ef4 
- 00023204  0x00005ad3 branch  0x00007ea2 
- 00023205  0x00005ad8 call  0x00007e9c 
- 00023206  0x00005ad9 call  0x0000588a 
- 00023207  0x00005ada copy  0x00000005 , 0x0000003f 
- 00023208  0x00005adb isub  0x00000006 , 0x00000011 
- 00023209  0x00005adc call  0x0000588d 
- 00023210  0x00005add copy  0x00000011 , 0x0000003f 
- 00023211  0x00005ade istore  0x00000002 , 0x00000006 
- 00023212  0x00005adf increase  0x00000004 , 0x00000011 
- 00023213  0x00005ae0 call  0x00005879 
- 00023214  0x00005ae1 copy  0x00000011 , 0x0000003f 
- 00023215  0x00005ae2 istore  0x00000001 , 0x00000006 
- 00023216  0x00005ae3 rtn 
- 00023217  0x00005ae7 rshift8  0x0000003f , 0x0000003f 
- 00023218  0x00005ae8 store  0x00000002 , 0x0000445a 
- 00023219  0x00005ae9 ifetch  0x00000002 , 0x00000006 
- 00023220  0x00005aea store  0x00000002 , 0x0000445c 
- 00023221  0x00005aeb rtn 
- 00023222  0x00005af1 ifetch  0x00000001 , 0x00000006 
- 00023223  0x00005af2 ifetcht  0x00000001 , 0x00000006 
- 00023224  0x00005af3 ifetcht  0x00000002 , 0x00000006 
- 00023225  0x00005af4 beq  0x00000013 , 0x00005abb 
- 00023226  0x00005af5 rtn 
- 00023227  0x00005af7 ifetch  0x00000002 , 0x00000006 
- 00023228  0x00005af8 store  0x00000002 , 0x00004509 
- 00023229  0x00005af9 jam  0x00000040 , 0x00000a99 
- 00023230  0x00005afa branch  0x00007d86 
- 00023231  0x00005b01 arg  0x0000000c , 0x00000011 
- 00023232  0x00005b02 arg  0x00000012 , 0x00000013 
- 00023233  0x00005b03 call  0x00005ac7 
- 00023234  0x00005b04 setarg  0x00000008 
- 00023235  0x00005b05 istore  0x00000002 , 0x00000005 
- 00023236  0x00005b06 fetch  0x00000008 , 0x00004496 
- 00023237  0x00005b07 istore  0x00000008 , 0x00000005 
- 00023238  0x00005b08 rtn 
- 00023239  0x00005b0d call  0x00005acf 
- 00023240  0x00005b0e arg  0x00000005 , 0x00000012 
- 00023241  0x00005b0f call  0x00005847 
- 00023242  0x00005b10 copy  0x00000013 , 0x0000003f 
- 00023243  0x00005b11 istore  0x00000001 , 0x00000005 
- 00023244  0x00005b12 fetch  0x00000001 , 0x00004508 
- 00023245  0x00005b13 istore  0x00000001 , 0x00000005 
- 00023246  0x00005b14 rtn 
- 00023247  0x00005b18 fetch  0x00000001 , 0x00004508 
- 00023248  0x00005b1a pincrease  0x00000001 
- 00023249  0x00005b1b store  0x00000001 , 0x00004508 
- 00023250  0x00005b1c rtnne  0x00000000 
- 00023251  0x00005b1f jam  0x00000001 , 0x00004508 
- 00023252  0x00005b20 rtn 
- 00023253  0x00005b26 fetch  0x00000001 , 0x000044c6 
- 00023254  0x00005b27 beq  0x00000000 , 0x00005ae4 
- 00023255  0x00005b28 beq  0x00000001 , 0x00005ae7 
- 00023256  0x00005b29 beq  0x00000002 , 0x00005ae9 
- 00023257  0x00005b2a beq  0x00000081 , 0x00005add 
- 00023258  0x00005b2b beq  0x00000082 , 0x00005adf 
- 00023259  0x00005b2c beq  0x00000083 , 0x00005ae2 
- 00023260  0x00005b2d rtn 
- 00023261  0x00005b30 jam  0x0000000d , 0x00004456 
- 00023262  0x00005b31 branch  0x00005ae5 
- 00023263  0x00005b33 jam  0x0000000d , 0x00004456 
- 00023264  0x00005b34 jam  0x00000001 , 0x00004454 
- 00023265  0x00005b35 rtn 
- 00023266  0x00005b37 jam  0x0000000d , 0x00004456 
- 00023267  0x00005b38 branch  0x00005aea 
- 00023268  0x00005b3a jam  0x00000000 , 0x00004456 
- 00023269  0x00005b3c jam  0x00000003 , 0x00004454 
- 00023270  0x00005b3d rtn 
- 00023271  0x00005b3f jam  0x00000005 , 0x00004456 
- 00023272  0x00005b40 branch  0x00005ae5 
- 00023273  0x00005b42 jam  0x00000005 , 0x00004456 
- 00023274  0x00005b44 jam  0x00000000 , 0x00004454 
- 00023275  0x00005b45 rtn 
- 00023276  0x00005b49 fetch  0x00000001 , 0x00004456 
- 00023277  0x00005b4a set1  0x00000003 , 0x0000003f 
- 00023278  0x00005b4b store  0x00000001 , 0x00004456 
- 00023279  0x00005b4c rtn 
- 00023280  0x00005b4e fetch  0x00000001 , 0x00004456 
- 00023281  0x00005b4f set0  0x00000003 , 0x0000003f 
- 00023282  0x00005b50 store  0x00000001 , 0x00004456 
- 00023283  0x00005b51 rtn 
- 00023284  0x00005b54 ifetch  0x00000001 , 0x00000006 
- 00023285  0x00005b55 beq  0x00000001 , 0x00005b09 
- 00023286  0x00005b57 beq  0x00000003 , 0x00005b30 
- 00023287  0x00005b58 beq  0x00000004 , 0x00005b4d 
- 00023288  0x00005b59 beq  0x00000005 , 0x00005b5a 
- 00023289  0x00005b5a beq  0x00000006 , 0x00005b80 
- 00023290  0x00005b5b beq  0x00000007 , 0x00005bc4 
- 00023291  0x00005b5c beq  0x00000008 , 0x00005baf 
- 00023292  0x00005b5d beq  0x00000009 , 0x00005bc0 
- 00023293  0x00005b5e beq  0x0000000a , 0x00005bc4 
- 00023294  0x00005b5f beq  0x0000000b , 0x00005bc4 
- 00023295  0x00005b60 beq  0x0000000c , 0x00005bc5 
- 00023296  0x00005b61 beq  0x0000000d , 0x00005bca 
- 00023297  0x00005b62 rtn 
- 00023298  0x00005b67 force  0x00000002 , 0x00000011 
- 00023299  0x00005b68 call  0x00005c62 
- 00023300  0x00005b69 setarg  0x0000000b 
- 00023301  0x00005b6a istore  0x00000001 , 0x00000005 
- 00023302  0x00005b6b fetch  0x00000001 , 0x00004456 
- 00023303  0x00005b6c istore  0x00000001 , 0x00000005 
- 00023304  0x00005b6d rtn 
- 00023305  0x00005b70 store  0x00000001 , 0x0000444c 
- 00023306  0x00005b71 ifetch  0x00000006 , 0x00000006 
- 00023307  0x00005b72 istore  0x00000006 , 0x00000005 
- 00023308  0x00005b73 fetch  0x00000001 , 0x000044c6 
- 00023309  0x00005b74 beq  0x00000000 , 0x00005b5f 
- 00023310  0x00005b75 call  0x00005b2b 
- 00023311  0x00005b76 call  0x00005b26 
- 00023312  0x00005b77 jam  0x00000003 , 0x000044c4 
- 00023313  0x00005b78 fetch  0x00000001 , 0x0000444d 
- 00023314  0x00005b79 beq  0x00000000 , 0x00005b18 
- 00023315  0x00005b7a beq  0x00000001 , 0x00005b18 
- 00023316  0x00005b7b beq  0x00000003 , 0x00005b18 
- 00023317  0x00005b7c fetch  0x00000001 , 0x000044c6 
- 00023318  0x00005b7d beq  0x00000002 , 0x00005b1b 
- 00023319  0x00005b7e rtneq  0x00000083 
- 00023320  0x00005b80 arg  0x00000000 , 0x0000003f 
- 00023321  0x00005b81 store  0x00000004 , 0x000044c7 
- 00023322  0x00005b82 rtn 
- 00023323  0x00005b85 fetch  0x00000001 , 0x000044e9 
- 00023324  0x00005b86 bbit1  0x00000000 , 0x00005b24 
- 00023325  0x00005b88 arg  0x000044c7 , 0x00000011 
- 00023326  0x00005b89 copy  0x00000011 , 0x00000005 
- 00023327  0x00005b8a arg  0x00000003 , 0x00000039 
- 00023328  0x00005b8b call  0x0000630d 
- 00023329  0x00005b8c fetch  0x00000002 , 0x000044c9 
- 00023330  0x00005b8d and_into  0x00000007 , 0x0000003f 
- 00023331  0x00005b8e store  0x00000002 , 0x000044c9 
- 00023332  0x00005b90 jam  0x00000034 , 0x00000a99 
- 00023333  0x00005b91 branch  0x00007d86 
- 00023334  0x00005b94 fetch  0x00000001 , 0x0000444f 
- 00023335  0x00005b95 rtnbit1  0x00000003 
- 00023336  0x00005b96 fetch  0x00000001 , 0x000044c6 
- 00023337  0x00005b97 rtnbit0  0x00000007 
- 00023338  0x00005b98 branch  0x00003402 
- 00023339  0x00005b9b force  0x00000007 , 0x00000011 
- 00023340  0x00005b9c call  0x00005c62 
- 00023341  0x00005b9d fetch  0x00000007 , 0x00004453 
- 00023342  0x00005b9e istore  0x00000007 , 0x00000005 
- 00023343  0x00005b9f rtn 
- 00023344  0x00005ba3 copy  0x00000006 , 0x00000011 
- 00023345  0x00005ba4 fetch  0x00000001 , 0x000044c6 
- 00023346  0x00005ba5 beq  0x00000083 , 0x00005b37 
- 00023347  0x00005ba6 copy  0x00000011 , 0x00000006 
- 00023348  0x00005ba7 arg  0x0000442a , 0x00000005 
- 00023349  0x00005ba8 call  0x00007ebf 
- 00023350  0x00005ba9 branch  0x00005b3d 
- 00023351  0x00005bab copy  0x00000011 , 0x00000006 
- 00023352  0x00005bac arg  0x0000442a , 0x00000005 
- 00023353  0x00005bad call  0x00007ebf 
- 00023354  0x00005bae jam  0x00000002 , 0x000044bf 
- 00023355  0x00005baf jam  0x00000008 , 0x000044c1 
- 00023356  0x00005bb0 rtn 
- 00023357  0x00005bb4 fetch  0x00000001 , 0x000044c6 
- 00023358  0x00005bb5 bbit1  0x00000007 , 0x00005b45 
- 00023359  0x00005bb6 call  0x0000739c 
- 00023360  0x00005bb7 force  0x00000011 , 0x00000011 
- 00023361  0x00005bb8 call  0x00005c62 
- 00023362  0x00005bb9 setarg  0x00000003 
- 00023363  0x00005bba istore  0x00000001 , 0x00000005 
- 00023364  0x00005bbb branch  0x00007497 
- 00023365  0x00005bbf arg  0x0000443a , 0x00000005 
- 00023366  0x00005bc0 call  0x0000630c 
- 00023367  0x00005bc1 call  0x000071c5 
- 00023368  0x00005bc2 force  0x00000011 , 0x00000011 
- 00023369  0x00005bc3 call  0x00005c62 
- 00023370  0x00005bc4 setarg  0x00000003 
- 00023371  0x00005bc5 istore  0x00000001 , 0x00000005 
- 00023372  0x00005bc6 branch  0x00007201 
- 00023373  0x00005bcb copy  0x00000006 , 0x00000011 
- 00023374  0x00005bcc fetch  0x00000001 , 0x000044c6 
- 00023375  0x00005bcd bbit1  0x00000007 , 0x00005b61 
- 00023376  0x00005bce copy  0x00000011 , 0x00000006 
- 00023377  0x00005bcf call  0x00007394 
- 00023378  0x00005bd0 branch  0x00005b75 , 0x00000005 
- 00023379  0x00005bd2 jam  0x00000004 , 0x0000047b 
- 00023380  0x00005bd4 force  0x00000002 , 0x00000011 
- 00023381  0x00005bd5 call  0x00005c62 
- 00023382  0x00005bd6 setarg  0x00000005 
- 00023383  0x00005bd7 istore  0x00000001 , 0x00000005 
- 00023384  0x00005bd8 fetch  0x00000001 , 0x0000047b 
- 00023385  0x00005bd9 istore  0x00000001 , 0x00000005 
- 00023386  0x00005bdb force  0x0000000a , 0x00000007 
- 00023387  0x00005bdc call  0x00007f07 
- 00023388  0x00005bdd jam  0x00000000 , 0x000044c4 
- 00023389  0x00005bde jam  0x00000030 , 0x00000a99 
- 00023390  0x00005bdf branch  0x00007d86 
- 00023391  0x00005be2 jam  0x00000005 , 0x0000047b 
- 00023392  0x00005be3 branch  0x00005b54 
- 00023393  0x00005be7 arg  0x0000042f , 0x00000005 
- 00023394  0x00005be8 copy  0x00000011 , 0x00000006 
- 00023395  0x00005be9 call  0x00007ebf 
- 00023396  0x00005bea fetch  0x00000001 , 0x000044c6 
- 00023397  0x00005beb beq  0x00000083 , 0x00005b6c 
- 00023398  0x00005bec call  0x0000714f 
- 00023399  0x00005bef call  0x00005b7a 
- 00023400  0x00005bf0 fetch  0x00000001 , 0x000044c6 
- 00023401  0x00005bf1 rtnne  0x00000082 
- 00023402  0x00005bf2 jam  0x0000003b , 0x00000a99 
- 00023403  0x00005bf3 branch  0x00007d86 
- 00023404  0x00005bf6 call  0x000071ba 
- 00023405  0x00005bf7 arg  0x00000af2 , 0x00000005 
- 00023406  0x00005bf8 call  0x00007201 
- 00023407  0x00005bf9 arg  0x00000af2 , 0x00000011 
- 00023408  0x00005bfa arg  0x0000442a , 0x00000012 
- 00023409  0x00005bfb arg  0x00000010 , 0x00000039 
- 00023410  0x00005bfc call  0x00007f88 
- 00023411  0x00005bfd nbranch  0x00005b53 , 0x00000005 
- 00023412  0x00005bfe branch  0x00005b7a 
- 00023413  0x00005c01 call  0x00007390 
- 00023414  0x00005c02 jam  0x00000031 , 0x00000a99 
- 00023415  0x00005c03 call  0x00007d86 
- 00023416  0x00005c04 jam  0x00000001 , 0x00004429 
- 00023417  0x00005c05 jam  0x00000005 , 0x000044c4 
- 00023418  0x00005c08 force  0x00000011 , 0x00000011 
- 00023419  0x00005c09 call  0x00005c62 
- 00023420  0x00005c0a setarg  0x00000004 
- 00023421  0x00005c0b istore  0x00000001 , 0x00000005 
- 00023422  0x00005c0c arg  0x0000443a , 0x00000006 
- 00023423  0x00005c0d branch  0x00007ebf 
- 00023424  0x00005c10 arg  0x0000041f , 0x00000005 
- 00023425  0x00005c11 branch  0x00007ebf 
- 00023426  0x00005c14 force  0x00000011 , 0x00000011 
- 00023427  0x00005c15 call  0x00005c62 
- 00023428  0x00005c16 setarg  0x00000006 
- 00023429  0x00005c17 istore  0x00000001 , 0x00000005 
- 00023430  0x00005c18 fetch  0x00000001 , 0x000044e9 
- 00023431  0x00005c19 bbit1  0x00000001 , 0x00005b8a 
- 00023432  0x00005c1a arg  0x00004419 , 0x00000006 
- 00023433  0x00005c1b branch  0x00007ebf 
- 00023434  0x00005c1e arg  0x000044ea , 0x00000006 
- 00023435  0x00005c1f branch  0x00007ebf 
- 00023436  0x00005c23 arg  0x000044cb , 0x00000005 
- 00023437  0x00005c24 force  0x0000000a , 0x00000039 
- 00023438  0x00005c25 call  0x0000630d 
- 00023439  0x00005c26 force  0x0000000b , 0x00000011 
- 00023440  0x00005c27 call  0x00005c62 
- 00023441  0x00005c28 setarg  0x00000007 
- 00023442  0x00005c29 istore  0x00000001 , 0x00000005 
- 00023443  0x00005c2a fetch  0x00000002 , 0x000044cb 
- 00023444  0x00005c2b istore  0x00000002 , 0x00000005 
- 00023445  0x00005c2c fetch  0x00000008 , 0x000044cd 
- 00023446  0x00005c2d istore  0x00000008 , 0x00000005 
- 00023447  0x00005c2e rtn 
- 00023448  0x00005c31 force  0x00000011 , 0x00000011 
- 00023449  0x00005c32 call  0x00005c62 
- 00023450  0x00005c33 setarg  0x00000008 
- 00023451  0x00005c34 istore  0x00000001 , 0x00000005 
- 00023452  0x00005c35 setarg  0x00000000 
- 00023453  0x00005c36 istore  0x00000008 , 0x00000005 
- 00023454  0x00005c37 istore  0x00000008 , 0x00000005 
- 00023455  0x00005c38 rtn 
- 00023456  0x00005c3c force  0x00000008 , 0x00000011 
- 00023457  0x00005c3d call  0x00005c62 
- 00023458  0x00005c3e setarg  0x00000009 
- 00023459  0x00005c3f istore  0x00000001 , 0x00000005 
- 00023460  0x00005c40 fetch  0x00000001 , 0x00004495 
- 00023461  0x00005c41 istore  0x00000001 , 0x00000005 
- 00023462  0x00005c42 fetch  0x00000006 , 0x000044a0 
- 00023463  0x00005c43 istore  0x00000006 , 0x00000005 
- 00023464  0x00005c44 rtn 
- 00023465  0x00005c48 jam  0x00000008 , 0x0000047b 
- 00023466  0x00005c49 branch  0x00005b54 
- 00023467  0x00005c4c fetch  0x00000001 , 0x00004458 
- 00023468  0x00005c4d fetcht  0x00000001 , 0x00004458 
- 00023469  0x00005c4e iand  0x00000002 , 0x0000003f 
- 00023470  0x00005c4f rtn 
- 00023471  0x00005c52 arg  0x000044d5 , 0x00000005 
- 00023472  0x00005c53 call  0x00007ebf 
- 00023473  0x00005c54 call  0x00005bab 
- 00023474  0x00005c55 isolate0  0x00000001 , 0x0000003f 
- 00023475  0x00005c56 branch  0x00005ba9 , 0x00000001 
- 00023476  0x00005c57 fetch  0x00000001 , 0x00004092 
- 00023477  0x00005c58 rtnne  0x0000000a 
- 00023478  0x00005c59 call  0x00005bb9 
- 00023479  0x00005c5a nrtn  0x00000028 
- 00023480  0x00005c5b branch  0x00003410 
- 00023481  0x00005c5f call  0x00007fe9 
- 00023482  0x00005c60 fetch  0x00000001 , 0x0000448e 
- 00023483  0x00005c61 rtneq  0x00000000 
- 00023484  0x00005c62 fetch  0x00000001 , 0x00000454 
- 00023485  0x00005c63 compare  0x000000c0 , 0x0000003f , 0x000000c0 
- 00023486  0x00005c64 rtn  0x00000001 
- 00023487  0x00005c65 branch  0x00007fe7 
- 00023488  0x00005c68 call  0x00005bab 
- 00023489  0x00005c69 isolate0  0x00000001 , 0x0000003f 
- 00023490  0x00005c6a branch  0x00005ba9 , 0x00000001 
- 00023491  0x00005c6b rtn 
- 00023492  0x00005c70 rtn 
- 00023493  0x00005c73 arg  0x000009be , 0x00000005 
- 00023494  0x00005c74 call  0x00007eb3 
- 00023495  0x00005c75 jam  0x00000002 , 0x000044bf 
- 00023496  0x00005c76 jam  0x00000001 , 0x000044c1 
- 00023497  0x00005c77 rtn 
- 00023498  0x00005c7a arg  0x00000a6e , 0x00000005 
- 00023499  0x00005c7b call  0x00007ebf 
- 00023500  0x00005c7c jam  0x00000006 , 0x000044c1 
- 00023501  0x00005c7d jam  0x00000002 , 0x000044bf 
- 00023502  0x00005c7e rtn 
- 00023503  0x00005c81 force  0x00000041 , 0x00000011 
- 00023504  0x00005c82 call  0x00005c62 
- 00023505  0x00005c83 setarg  0x0000000c 
- 00023506  0x00005c84 istore  0x00000001 , 0x00000005 
- 00023507  0x00005c85 arg  0x000045d2 , 0x00000006 
- 00023508  0x00005c86 branch  0x00007eb3 
- 00023509  0x00005c89 call  0x00007166 
- 00023510  0x00005c8a force  0x00000011 , 0x00000011 
- 00023511  0x00005c8b call  0x00005c62 
- 00023512  0x00005c8c setarg  0x0000000d 
- 00023513  0x00005c8d istore  0x00000001 , 0x00000005 
- 00023514  0x00005c8e branch  0x00007201 
- 00023515  0x00005c92 fetch  0x00000001 , 0x000044c4 
- 00023516  0x00005c93 rtneq  0x000000ff 
- 00023517  0x00005c94 arg  0x00000003 , 0x00000002 
- 00023518  0x00005c95 isub  0x00000002 , 0x0000003e 
- 00023519  0x00005c96 nrtn  0x00000002 
- 00023520  0x00005c97 arg  0x0000000a , 0x00000007 
- 00023521  0x00005c98 call  0x00007f16 
- 00023522  0x00005c99 nrtn  0x00000034 
- 00023523  0x00005c9a branch  0x00005ba9 
- 00023524  0x00005c9d bpatchx  0x00000078 , 0x0000402f 
- 00023525  0x00005c9e fetch  0x00000001 , 0x000044c4 
- 00023526  0x00005c9f beq  0x00000000 , 0x00005bef 
- 00023527  0x00005ca0 beq  0x00000001 , 0x00005bf5 
- 00023528  0x00005ca1 beq  0x00000002 , 0x00005bef 
- 00023529  0x00005ca2 beq  0x00000003 , 0x00005bf7 
- 00023530  0x00005ca3 beq  0x00000005 , 0x00005bfb 
- 00023531  0x00005ca4 beq  0x00000007 , 0x00005c07 
- 00023532  0x00005ca5 beq  0x00000008 , 0x00005c09 
- 00023533  0x00005ca6 beq  0x00000009 , 0x00005c10 
- 00023534  0x00005ca7 rtn 
- 00023535  0x00005cab fetch  0x00000001 , 0x000044c5 
- 00023536  0x00005cac rtnne  0x00000004 
- 00023537  0x00005cad jam  0x000000ff , 0x000044c5 
- 00023538  0x00005cae jam  0x000000ff , 0x000044c4 
- 00023539  0x00005caf jam  0x0000003f , 0x00000a99 
- 00023540  0x00005cb0 branch  0x00007d86 
- 00023541  0x00005cb4 jam  0x00000002 , 0x000044c4 
- 00023542  0x00005cb5 branch  0x00005b02 
- 00023543  0x00005cb8 jam  0x00000004 , 0x000044c4 
- 00023544  0x00005cb9 setarg  0x00017700 
- 00023545  0x00005cba arg  0x0000000a , 0x00000007 
- 00023546  0x00005cbb branch  0x00007f08 
- 00023547  0x00005cbe fetch  0x00000001 , 0x000044c5 
- 00023548  0x00005cbf beq  0x00000004 , 0x00005bfe 
- 00023549  0x00005cc0 rtn 
- 00023550  0x00005cc3 jam  0x00000007 , 0x000044c4 
- 00023551  0x00005cc4 jam  0x00000029 , 0x00000a99 
- 00023552  0x00005cc5 call  0x00007d86 
- 00023553  0x00005cc6 call  0x00005b82 
- 00023554  0x00005cc7 fetch  0x00000001 , 0x00004092 
- 00023555  0x00005cc8 rtnne  0x0000000a 
- 00023556  0x00005cc9 call  0x00005bb9 
- 00023557  0x00005cca rtn  0x00000028 
- 00023558  0x00005ccb branch  0x00003410 
- 00023559  0x00005ccf jam  0x00000008 , 0x000044c4 
- 00023560  0x00005cd0 branch  0x00005b8c 
- 00023561  0x00005cd3 fetch  0x00000001 , 0x00004452 
- 00023562  0x00005cd4 fetcht  0x00000001 , 0x00004459 
- 00023563  0x00005cd5 iand  0x00000002 , 0x0000003f 
- 00023564  0x00005cd6 isolate0  0x00000001 , 0x0000003f 
- 00023565  0x00005cd7 branch  0x00005c12 , 0x00000001 
- 00023566  0x00005cd8 jam  0x00000009 , 0x000044c4 
- 00023567  0x00005cd9 branch  0x00005b98 
- 00023568  0x00005cdc call  0x00005ba0 
- 00023569  0x00005cdd branch  0x00005c12 
- 00023570  0x00005ce1 force  0x0000000a , 0x00000007 
- 00023571  0x00005ce2 call  0x00007f07 
- 00023572  0x00005ce3 jam  0x000000ff , 0x000044c5 
- 00023573  0x00005ce4 jam  0x000000ff , 0x000044c4 
- 00023574  0x00005ce5 jam  0x0000003e , 0x00000a99 
- 00023575  0x00005ce6 branch  0x00007d86 
- 00023576  0x00005ceb bpatchx  0x00000079 , 0x0000402f 
- 00023577  0x00005cec fetch  0x00000001 , 0x000044c6 
- 00023578  0x00005ced rtnbit0  0x00000007 
- 00023579  0x00005cee fetch  0x00000001 , 0x000044bf 
- 00023580  0x00005cef rtnne  0x00000002 
- 00023581  0x00005cf0 jam  0x00000000 , 0x000044bf 
- 00023582  0x00005cf1 fetch  0x00000001 , 0x000044c1 
- 00023583  0x00005cf2 beq  0x00000001 , 0x00005c58 
- 00023584  0x00005cf3 beq  0x00000002 , 0x00005c5f 
- 00023585  0x00005cf4 beq  0x00000003 , 0x00005c52 
- 00023586  0x00005cf5 beq  0x00000006 , 0x00005c39 
- 00023587  0x00005cf6 beq  0x00000007 , 0x00005c30 
- 00023588  0x00005cf7 beq  0x00000008 , 0x00005c26 
- 00023589  0x00005cf8 rtn 
- 00023590  0x00005cfc fetch  0x00000001 , 0x00004663 
- 00023591  0x00005cfd copy  0x0000003f , 0x00000007 
- 00023592  0x00005cfe increase  0x00000001 , 0x0000003f 
- 00023593  0x00005cff store  0x00000001 , 0x00004663 
- 00023594  0x00005d00 fetch  0x00000004 , 0x000044c7 
- 00023595  0x00005d01 qisolate1  0x0000003f 
- 00023596  0x00005d02 setarg  0x00000080 
- 00023597  0x00005d03 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00023598  0x00005d04 store  0x00000001 , 0x00004664 
- 00023599  0x00005d05 branch  0x00005c55 
- 00023600  0x00005d08 fetch  0x00000001 , 0x000044c2 
- 00023601  0x00005d09 jam  0x00000000 , 0x000044c2 
- 00023602  0x00005d0a beq  0x00000001 , 0x00005c35 
- 00023603  0x00005d0b jam  0x00000002 , 0x000044bf 
- 00023604  0x00005d0c rtn 
- 00023605  0x00005d0f jam  0x00000031 , 0x00000a99 
- 00023606  0x00005d10 call  0x00007d86 
- 00023607  0x00005d11 jam  0x00000005 , 0x000044c4 
- 00023608  0x00005d12 branch  0x00005bd5 
- 00023609  0x00005d15 fetch  0x00000001 , 0x000009b9 
- 00023610  0x00005d16 beq  0x00000003 , 0x00005c3d 
- 00023611  0x00005d17 jam  0x00000002 , 0x000044bf 
- 00023612  0x00005d18 rtn 
- 00023613  0x00005d1b call  0x0000718d 
- 00023614  0x00005d1f fetch  0x00000001 , 0x000044c6 
- 00023615  0x00005d20 beq  0x00000083 , 0x00005c41 
- 00023616  0x00005d21 call  0x00005b18 
- 00023617  0x00005d23 call  0x0000717a 
- 00023618  0x00005d24 arg  0x00000af2 , 0x00000011 
- 00023619  0x00005d25 arg  0x00000a6e , 0x00000012 
- 00023620  0x00005d26 arg  0x00000010 , 0x00000039 
- 00023621  0x00005d27 call  0x00007f88 
- 00023622  0x00005d28 branch  0x00005c49 , 0x00000005 
- 00023623  0x00005d2a jam  0x0000000b , 0x0000047b 
- 00023624  0x00005d2b branch  0x00005b54 
- 00023625  0x00005d2f call  0x00007595 
- 00023626  0x00005d30 nbranch  0x00005c47 , 0x00000005 
- 00023627  0x00005d31 jam  0x00000001 , 0x00004429 
- 00023628  0x00005d32 fetch  0x00000001 , 0x000044c6 
- 00023629  0x00005d33 beq  0x00000081 , 0x00005c35 
- 00023630  0x00005d34 beq  0x00000083 , 0x00005c35 
- 00023631  0x00005d35 jam  0x00000002 , 0x000044bf 
- 00023632  0x00005d36 jam  0x00000007 , 0x000044c1 
- 00023633  0x00005d37 rtn 
- 00023634  0x00005d3a fetch  0x00000001 , 0x000044c6 
- 00023635  0x00005d3b beq  0x00000083 , 0x00005c56 
- 00023636  0x00005d3c jam  0x00000000 , 0x00004664 
- 00023637  0x00005d3e branch  0x00005b3d 
- 00023638  0x00005d44 jam  0x00000000 , 0x00004663 
- 00023639  0x00005d45 branch  0x00005b1b 
- 00023640  0x00005d49 jam  0x00000002 , 0x000044bf 
- 00023641  0x00005d4a fetch  0x00000001 , 0x000044c3 
- 00023642  0x00005d4b beq  0x00000003 , 0x00005c5c 
- 00023643  0x00005d4d rtn 
- 00023644  0x00005d50 jam  0x00000002 , 0x000044c1 
- 00023645  0x00005d51 jam  0x00000000 , 0x000009b9 
- 00023646  0x00005d52 branch  0x00007a99 
- 00023647  0x00005d55 jam  0x00000002 , 0x000044bf 
- 00023648  0x00005d56 jam  0x00000003 , 0x000044c1 
- 00023649  0x00005d57 branch  0x00005bcf 
- 00023650  0x00005d5c force  0x00000006 , 0x00000012 
- 00023651  0x00005d5d branch  0x00005847 
- 00023652  0x00005d62 fetch  0x00000001 , 0x000002db 
- 00023653  0x00005d63 beq  0x00000000 , 0x00005c7b 
- 00023654  0x00005d64 beq  0x00000001 , 0x00005c83 
- 00023655  0x00005d65 beq  0x00000002 , 0x00005c8e 
- 00023656  0x00005d66 beq  0x00000003 , 0x00005caa 
- 00023657  0x00005d67 beq  0x00000004 , 0x00005ce1 
- 00023658  0x00005d68 beq  0x00000005 , 0x00005ce6 
- 00023659  0x00005d69 beq  0x00000006 , 0x00005cea 
- 00023660  0x00005d6a beq  0x00000007 , 0x00005cf5 
- 00023661  0x00005d6b beq  0x00000008 , 0x00005c99 
- 00023662  0x00005d6c beq  0x00000009 , 0x00005cf5 
- 00023663  0x00005d6d beq  0x0000000a , 0x00005cef 
- 00023664  0x00005d6e beq  0x0000000b , 0x00005cf5 
- 00023665  0x00005d6f beq  0x0000000c , 0x00005c9f 
- 00023666  0x00005d70 beq  0x0000000d , 0x00005cf5 
- 00023667  0x00005d71 beq  0x00000012 , 0x00005ca6 
- 00023668  0x00005d72 beq  0x00000013 , 0x00005cf5 
- 00023669  0x00005d73 arg  0x00000002 , 0x00000011 
- 00023670  0x00005d74 arg  0x00000007 , 0x00000012 
- 00023671  0x00005d75 call  0x00005842 
- 00023672  0x00005d76 fetch  0x00000001 , 0x000002db 
- 00023673  0x00005d77 istore  0x00000001 , 0x00000005 
- 00023674  0x00005d78 rtn 
- 00023675  0x00005d7c ifetch  0x00000009 , 0x00000006 
- 00023676  0x00005d7d store  0x00000009 , 0x000043d3 
- 00023677  0x00005d7e ifetch  0x00000002 , 0x00000006 
- 00023678  0x00005d7f store  0x00000002 , 0x0000045f 
- 00023679  0x00005d80 fetch  0x00000001 , 0x0000043f 
- 00023680  0x00005d81 set1  0x00000005 , 0x0000003f 
- 00023681  0x00005d82 store  0x00000001 , 0x0000043f 
- 00023682  0x00005d83 rtn 
- 00023683  0x00005d86 ifetch  0x00000005 , 0x00000006 
- 00023684  0x00005d87 store  0x00000005 , 0x000043ce 
- 00023685  0x00005d88 ifetch  0x00000002 , 0x00000006 
- 00023686  0x00005d89 store  0x00000002 , 0x0000045f 
- 00023687  0x00005d8a fetcht  0x00000002 , 0x00000459 
- 00023688  0x00005d8b isub  0x00000002 , 0x0000003e 
- 00023689  0x00005d8c nbranch  0x00005c8e , 0x00000002 
- 00023690  0x00005d8d fetch  0x00000001 , 0x0000043f 
- 00023691  0x00005d8e set1  0x00000006 , 0x0000003f 
- 00023692  0x00005d8f store  0x00000001 , 0x0000043f 
- 00023693  0x00005d90 rtn 
- 00023694  0x00005d94 setarg  0x00000014 
- 00023695  0x00005d95 store  0x00000002 , 0x0000046d 
- 00023696  0x00005d96 store  0x00000002 , 0x000044ba 
- 00023697  0x00005d97 rtn 
- 00023698  0x00005d9a arg  0x00000013 , 0x00000013 
- 00023699  0x00005d9e arg  0x00000002 , 0x00000011 
- 00023700  0x00005d9f arg  0x00000002 , 0x00000012 
- 00023701  0x00005da0 call  0x00005842 
- 00023702  0x00005da1 copy  0x00000013 , 0x0000003f 
- 00023703  0x00005da2 istore  0x00000001 , 0x00000005 
- 00023704  0x00005da3 rtn 
- 00023705  0x00005da8 arg  0x00000009 , 0x00000011 
- 00023706  0x00005da9 arg  0x00000009 , 0x00000012 
- 00023707  0x00005daa call  0x00005842 
- 00023708  0x00005dab setarg  0x00000001 
- 00023709  0x00005dac istore  0x00000008 , 0x00000005 
- 00023710  0x00005dad rtn 
- 00023711  0x00005db1 rtn  0x00000029 
- 00023712  0x00005db3 arg  0x00000006 , 0x00000011 
- 00023713  0x00005db4 arg  0x0000000c , 0x00000012 
- 00023714  0x00005db5 call  0x00005842 
- 00023715  0x00005db6 fetch  0x00000005 , 0x00004510 
- 00023716  0x00005db7 istore  0x00000005 , 0x00000005 
- 00023717  0x00005db8 rtn 
- 00023718  0x00005dbc arg  0x00000013 , 0x00000012 
- 00023719  0x00005dbd branch  0x00005ca8 
- 00023720  0x00005dc1 arg  0x00000001 , 0x00000011 
- 00023721  0x00005dc2 branch  0x00005842 
- 00023722  0x00005dc6 ifetch  0x00000008 , 0x00000006 
- 00023723  0x00005dc7 store  0x00000008 , 0x000044cd 
- 00023724  0x00005dc8 ifetch  0x00000002 , 0x00000006 
- 00023725  0x00005dc9 store  0x00000002 , 0x000044cb 
- 00023726  0x00005dca ifetch  0x00000008 , 0x00000006 
- 00023727  0x00005dcb store  0x00000008 , 0x000044aa 
- 00023728  0x00005dcc ifetch  0x00000004 , 0x00000006 
- 00023729  0x00005dcd store  0x00000004 , 0x00004411 
- 00023730  0x00005dce call  0x00005ccf 
- 00023731  0x00005dcf bpatchx  0x0000007a , 0x0000402f 
- 00023732  0x00005dd0 fetch  0x00000001 , 0x000044c4 
- 00023733  0x00005dd1 beq  0x00000005 , 0x00005cbc 
- 00023734  0x00005dd2 fetch  0x00000001 , 0x000044e9 
- 00023735  0x00005dd3 bbit1  0x00000001 , 0x00005cbf 
- 00023736  0x00005dd4 fetch  0x00000001 , 0x00004217 
- 00023737  0x00005dd5 ncall  0x000067be , 0x00000034 
- 00023738  0x00005dd6 fetch  0x00000001 , 0x00004429 
- 00023739  0x00005dd7 beq  0x00000000 , 0x00005cc4 
- 00023740  0x00005dd9 jam  0x00000001 , 0x000044c5 
- 00023741  0x00005dda call  0x00005cdd 
- 00023742  0x00005ddb branch  0x000073a2 
- 00023743  0x00005dde jam  0x00000001 , 0x00004429 
- 00023744  0x00005ddf arg  0x000044ea , 0x00000006 
- 00023745  0x00005de0 arg  0x00004419 , 0x00000005 
- 00023746  0x00005de1 call  0x00007ebf 
- 00023747  0x00005de2 branch  0x00005cbc 
- 00023748  0x00005de6 bpatchx  0x0000007b , 0x0000402f 
- 00023749  0x00005de7 jam  0x00000000 , 0x000044c5 
- 00023750  0x00005de8 jam  0x00000000 , 0x000044c4 
- 00023751  0x00005de9 jam  0x00000041 , 0x00000a99 
- 00023752  0x00005dea branch  0x00007d86 
- 00023753  0x00005ded arg  0x00000002 , 0x00000011 
- 00023754  0x00005dee arg  0x0000000d , 0x00000012 
- 00023755  0x00005def call  0x00005842 
- 00023756  0x00005df0 setarg  0x00000006 
- 00023757  0x00005df1 istore  0x00000001 , 0x00000005 
- 00023758  0x00005df2 rtn 
- 00023759  0x00005df5 arg  0x000044b2 , 0x00000005 
- 00023760  0x00005df6 force  0x00000008 , 0x00000039 
- 00023761  0x00005df7 call  0x0000630d 
- 00023762  0x00005df8 arg  0x00004415 , 0x00000005 
- 00023763  0x00005df9 force  0x00000004 , 0x00000039 
- 00023764  0x00005dfa call  0x0000630d 
- 00023765  0x00005dfb arg  0x0000000d , 0x00000011 
- 00023766  0x00005dfc arg  0x00000004 , 0x00000012 
- 00023767  0x00005dfd call  0x00005842 
- 00023768  0x00005dfe fetch  0x00000008 , 0x000044b2 
- 00023769  0x00005dff istore  0x00000008 , 0x00000005 
- 00023770  0x00005e00 fetch  0x00000004 , 0x00004415 
- 00023771  0x00005e01 istore  0x00000004 , 0x00000005 
- 00023772  0x00005e02 rtn 
- 00023773  0x00005e05 arg  0x00000005 , 0x00000012 
- 00023774  0x00005e06 branch  0x00005ca8 
- 00023775  0x00005e09 arg  0x00000006 , 0x00000012 
- 00023776  0x00005e0a branch  0x00005ca8 
- 00023777  0x00005e0e ifetch  0x00000008 , 0x00000006 
- 00023778  0x00005e0f store  0x00000008 , 0x000044b2 
- 00023779  0x00005e10 ifetch  0x00000004 , 0x00000006 
- 00023780  0x00005e11 store  0x00000004 , 0x00004415 
- 00023781  0x00005e12 branch  0x000073a2 
- 00023782  0x00005e15 fetch  0x00000001 , 0x0000043f 
- 00023783  0x00005e16 set1  0x00000004 , 0x0000003f 
- 00023784  0x00005e17 store  0x00000001 , 0x0000043f 
- 00023785  0x00005e18 rtn 
- 00023786  0x00005e1b rtn  0x00000029 
- 00023787  0x00005e1c jam  0x00000032 , 0x00000a99 
- 00023788  0x00005e1d call  0x00007d86 
- 00023789  0x00005e1e jam  0x00000004 , 0x000044c5 
- 00023790  0x00005e1f branch  0x00005cdf 
- 00023791  0x00005e22 jam  0x00000002 , 0x000044c5 
- 00023792  0x00005e23 call  0x00005cf3 
- 00023793  0x00005e24 jam  0x00000033 , 0x00000a99 
- 00023794  0x00005e25 branch  0x00007d86 
- 00023795  0x00005e28 arg  0x0000000b , 0x00000012 
- 00023796  0x00005e29 branch  0x00005ca8 
- 00023797  0x00005e31 rtn 
- 00023798  0x00005e39 rtn  0x0000002b 
- 00023799  0x00005e3b bpatchx  0x0000007c , 0x0000402f 
- 00023800  0x00005e3c setarg  0x00000000 
- 00023801  0x00005e3d store  0x00000001 , 0x00000048 
- 00023802  0x00005e3e store  0x00000001 , 0x00000055 
- 00023803  0x00005e3f store  0x00000001 , 0x00000078 
- 00023804  0x00005e40 store  0x00000001 , 0x0000007c 
- 00023805  0x00005e41 store  0x00000001 , 0x00004158 
- 00023806  0x00005e42 store  0x00000001 , 0x000004d7 
- 00023807  0x00005e43 store  0x00000001 , 0x0000016d 
- 00023808  0x00005e44 store  0x00000001 , 0x000009b5 
- 00023809  0x00005e45 jam  0x00000000 , 0x0000455b 
- 00023810  0x00005e46 jam  0x00000000 , 0x00000229 
- 00023811  0x00005e47 jam  0x00000000 , 0x000004d8 
- 00023812  0x00005e49 jam  0x00000000 , 0x000009b5 
- 00023813  0x00005e4a jam  0x00000000 , 0x000009b4 
- 00023814  0x00005e4b jam  0x00000000 , 0x000004d1 
- 00023815  0x00005e4e rtn 
- 00023816  0x00005e51 bpatchx  0x0000007d , 0x0000402f 
- 00023817  0x00005e52 call  0x000062ff , 0x00000029 
- 00023818  0x00005e53 ncall  0x00006303 , 0x00000029 
- 00023819  0x00005e54 call  0x000062bc 
- 00023820  0x00005e55 nrtn  0x00000034 
- 00023821  0x00005e56 fetch  0x00000001 , 0x0000004c 
- 00023822  0x00005e57 rtnbit0  0x00000006 
- 00023823  0x00005e58 set0  0x00000006 , 0x0000003f 
- 00023824  0x00005e59 set0  0x00000001 , 0x00000000 
- 00023825  0x00005e5a store  0x00000001 , 0x0000004c 
- 00023826  0x00005e5b fetch  0x00000001 , 0x00000551 
- 00023827  0x00005e5c fetcht  0x00000001 , 0x0000004c 
- 00023828  0x00005e5d isolate1  0x00000000 , 0x0000003f 
- 00023829  0x00005e5e setflag  0x00000001 , 0x00000001 , 0x00000002 
- 00023830  0x00005e5f storet  0x00000001 , 0x0000004c 
- 00023831  0x00005e60 and_into  0x00000002 , 0x00000002 
- 00023832  0x00005e61 storet  0x00000001 , 0x0000007f 
- 00023833  0x00005e62 fetcht  0x00000001 , 0x0000004c 
- 00023834  0x00005e63 rshift  0x0000003f , 0x0000003f 
- 00023835  0x00005e64 store  0x00000001 , 0x0000007d 
- 00023836  0x00005e65 bpatchx  0x0000007e , 0x0000402f 
- 00023837  0x00005e66 fetch  0x00000001 , 0x0000007d 
- 00023838  0x00005e67 beq  0x0000007f , 0x00005d66 
- 00023839  0x00005e68 beq  0x00000003 , 0x00005db1 
- 00023840  0x00005e69 beq  0x00000004 , 0x00005dc2 
- 00023841  0x00005e6a beq  0x0000003c , 0x00005d59 
- 00023842  0x00005e6b beq  0x00000005 , 0x00005d55 
- 00023843  0x00005e6c beq  0x0000000f , 0x00005fa8 
- 00023844  0x00005e6d beq  0x00000010 , 0x00005e24 
- 00023845  0x00005e6e beq  0x00000023 , 0x00005e42 
- 00023846  0x00005e6f beq  0x00000039 , 0x00005fc1 
- 00023847  0x00005e70 beq  0x00000038 , 0x00005fbc 
- 00023848  0x00005e71 beq  0x00000031 , 0x00005e27 
- 00023849  0x00005e72 beq  0x00000037 , 0x00005eb0 
- 00023850  0x00005e73 beq  0x00000027 , 0x00005eac 
- 00023851  0x00005e74 beq  0x00000033 , 0x00005ea9 
- 00023852  0x00005e75 beq  0x00000025 , 0x00005eae 
- 00023853  0x00005e76 beq  0x00000026 , 0x00005e3e 
- 00023854  0x00005e77 beq  0x00000007 , 0x00005e36 
- 00023855  0x00005e78 beq  0x0000002d , 0x00005e2d 
- 00023856  0x00005e79 beq  0x0000002e , 0x00005e2e 
- 00023857  0x00005e7a beq  0x00000001 , 0x00005ea5 
- 00023858  0x00005e7b beq  0x00000002 , 0x00005e90 
- 00023859  0x00005e7c beq  0x00000028 , 0x00005fb3 
- 00023860  0x00005e7d beq  0x00000009 , 0x00005e86 
- 00023861  0x00005e7e beq  0x0000000b , 0x00005e5f 
- 00023862  0x00005e7f beq  0x00000008 , 0x00005e43 
- 00023863  0x00005e80 beq  0x0000000c , 0x00005e6a 
- 00023864  0x00005e81 beq  0x0000001f , 0x00005e3a 
- 00023865  0x00005e82 beq  0x00000020 , 0x00005e3c 
- 00023866  0x00005e83 beq  0x00000021 , 0x00005eca 
- 00023867  0x00005e84 beq  0x00000022 , 0x00005eca 
- 00023868  0x00005e85 beq  0x00000035 , 0x00005ecb 
- 00023869  0x00005e86 beq  0x00000036 , 0x00005ecc 
- 00023870  0x00005e87 beq  0x00000024 , 0x00005eca 
- 00023871  0x00005e88 beq  0x00000034 , 0x00005ecd 
- 00023872  0x00005e89 beq  0x00000017 , 0x00005ed6 
- 00023873  0x00005e8a beq  0x00000011 , 0x00005ef2 
- 00023874  0x00005e8b beq  0x00000012 , 0x00005ef6 
- 00023875  0x00005e8c beq  0x00000013 , 0x00005ef8 
- 00023876  0x00005e8d beq  0x0000000d , 0x00005f0a 
- 00023877  0x00005e8e beq  0x0000000e , 0x00005f0a 
- 00023878  0x00005e8f beq  0x0000002f , 0x00005eaa 
- 00023879  0x00005e90 beq  0x00000030 , 0x00005f0a 
- 00023880  0x00005e91 beq  0x0000000a , 0x00005f0a 
- 00023881  0x00005e92 beq  0x00000018 , 0x00005f0b 
- 00023882  0x00005e93 beq  0x00000032 , 0x00005f0a 
- 00023883  0x00005e94 beq  0x0000003d , 0x00005f10 
- 00023884  0x00005e95 beq  0x0000003e , 0x00005f51 
- 00023885  0x00005e96 beq  0x0000003f , 0x00005f4b 
- 00023886  0x00005e97 beq  0x00000040 , 0x00005f78 
- 00023887  0x00005e98 beq  0x00000041 , 0x00005f8a 
- 00023888  0x00005e99 beq  0x00000006 , 0x00005fa7 
- 00023889  0x00005e9a beq  0x0000003a , 0x00005d57 
- 00023890  0x00005e9e jam  0x00000019 , 0x0000007e 
- 00023891  0x00005ea0 jam  0x00000004 , 0x0000007c 
- 00023892  0x00005ea1 rtn 
- 00023893  0x00005ea4 jam  0x00000006 , 0x0000007c 
- 00023894  0x00005ea5 rtn 
- 00023895  0x00005ea8 jam  0x0000003b , 0x0000007c 
- 00023896  0x00005ea9 rtn 
- 00023897  0x00005eac fetch  0x00000004 , 0x00000552 
- 00023898  0x00005ead lshift  0x0000003f , 0x0000003f 
- 00023899  0x00005eae store  0x00000004 , 0x000040d2 
- 00023900  0x00005eaf fetch  0x00000001 , 0x00000556 
- 00023901  0x00005eb0 store  0x00000001 , 0x000040d9 
- 00023902  0x00005eb1 fetch  0x00000005 , 0x00000557 
- 00023903  0x00005eb2 store  0x00000005 , 0x000040e7 
- 00023904  0x00005eb3 fetch  0x00000005 , 0x0000055c 
- 00023905  0x00005eb4 istore  0x00000005 , 0x00000005 
- 00023906  0x00005eb5 fetch  0x00000001 , 0x00000031 
- 00023907  0x00005eb6 set1  0x00000003 , 0x0000003f 
- 00023908  0x00005eb7 store  0x00000001 , 0x00000031 
- 00023909  0x00005eb8 rtn 
- 00023910  0x00005eba bpatchx  0x0000007f , 0x0000402f 
- 00023911  0x00005ebb fetch  0x00000001 , 0x00000552 
- 00023912  0x00005ebc set1  0x00000007 , 0x0000003f 
- 00023913  0x00005ebd store  0x00000001 , 0x0000007d 
- 00023914  0x00005ebe beq  0x00000081 , 0x00005d88 
- 00023915  0x00005ebf beq  0x00000082 , 0x00005d8d 
- 00023916  0x00005ec0 beq  0x00000095 , 0x00005eb1 
- 00023917  0x00005ec1 beq  0x00000096 , 0x00005eca 
- 00023918  0x00005ec2 beq  0x0000008b , 0x00005ebf 
- 00023919  0x00005ec3 beq  0x00000083 , 0x00005da5 
- 00023920  0x00005ec4 beq  0x00000084 , 0x00005da7 
- 00023921  0x00005ec5 beq  0x00000090 , 0x00005d7a 
- 00023922  0x00005ec6 beq  0x00000097 , 0x00005d9e 
- 00023923  0x00005ec7 beq  0x00000098 , 0x00005da3 
- 00023924  0x00005ec8 beq  0x00000099 , 0x00005d7d 
- 00023925  0x00005ec9 beq  0x0000009a , 0x00005d80 
- 00023926  0x00005eca rtneq  0x00000084 
- 00023927  0x00005ece jam  0x00000082 , 0x0000007c 
- 00023928  0x00005ecf jam  0x00000019 , 0x0000007e 
- 00023929  0x00005ed1 rtn 
- 00023930  0x00005ed3 jam  0x00000082 , 0x0000007c 
- 00023931  0x00005ed4 jam  0x0000002e , 0x0000007e 
- 00023932  0x00005ed5 rtn 
- 00023933  0x00005ed8 call  0x00005d82 
- 00023934  0x00005ed9 jam  0x0000009a , 0x0000007c 
- 00023935  0x00005eda rtn 
- 00023936  0x00005edd call  0x00005d82 
- 00023937  0x00005ede branch  0x00005d86 
- 00023938  0x00005ee1 arg  0x0000465e , 0x00000005 
- 00023939  0x00005ee2 fetch  0x00000003 , 0x00000553 
- 00023940  0x00005ee3 istore  0x00000003 , 0x00000005 
- 00023941  0x00005ee4 rtn 
- 00023942  0x00005ee7 branch  0x000076d8 , 0x00000001 
- 00023943  0x00005ee8 rtn 
- 00023944  0x00005eea fetch  0x00000001 , 0x00000554 
- 00023945  0x00005eeb set1  0x00000007 , 0x0000003f 
- 00023946  0x00005eec store  0x00000001 , 0x000004c9 
- 00023947  0x00005eed beq  0x0000008b , 0x00005d92 
- 00023948  0x00005eee rtn 
- 00023949  0x00005ef2 fetch  0x00000001 , 0x00000554 
- 00023950  0x00005ef3 set1  0x00000007 , 0x0000003f 
- 00023951  0x00005ef4 store  0x00000001 , 0x000004c9 
- 00023952  0x00005ef5 beq  0x0000008b , 0x00005d96 
- 00023953  0x00005ef6 rtn 
- 00023954  0x00005ef9 fetch  0x00000001 , 0x0000415a 
- 00023955  0x00005efa fetcht  0x00000001 , 0x0000004c 
- 00023956  0x00005efb nsetflag  0x00000034 , 0x00000005 , 0x00000002 
- 00023957  0x00005efc storet  0x00000001 , 0x0000004c 
- 00023958  0x00005efe fetch  0x00000001 , 0x00000030 
- 00023959  0x00005eff rtnbit0  0x00000005 
- 00023960  0x00005f00 set0  0x00000005 , 0x0000003f 
- 00023961  0x00005f01 store  0x00000001 , 0x00000030 
- 00023962  0x00005f02 fetch  0x00000001 , 0x000004d7 
- 00023963  0x00005f03 nrtn  0x00000034 
- 00023964  0x00005f04 jam  0x00000031 , 0x0000007c 
- 00023965  0x00005f05 rtn 
- 00023966  0x00005f08 nbranch  0x00005da1 , 0x00000029 
- 00023967  0x00005f09 jam  0x00000012 , 0x0000007c 
- 00023968  0x00005f0a branch  0x000062eb 
- 00023969  0x00005f0d jam  0x00000097 , 0x0000007c 
- 00023970  0x00005f0e rtn 
- 00023971  0x00005f13 call  0x000062eb 
- 00023972  0x00005f14 branch  0x00005ffe 
- 00023973  0x00005f17 jam  0x00000084 , 0x0000007c 
- 00023974  0x00005f18 rtn 
- 00023975  0x00005f1b fetcht  0x00000001 , 0x00000555 
- 00023976  0x00005f1c and  0x00000002 , 0x00000001 , 0x00000002 
- 00023977  0x00005f1d storet  0x00000001 , 0x000004d0 
- 00023978  0x00005f1e fetch  0x00000001 , 0x000041ce 
- 00023979  0x00005f1f bne  0x00000051 , 0x00005dad 
- 00023980  0x00005f20 jam  0x00000000 , 0x000041ce 
- 00023981  0x00005f22 fetch  0x00000001 , 0x00000055 
- 00023982  0x00005f23 rtnne  0x00000015 
- 00023983  0x00005f24 jam  0x00000004 , 0x00000055 
- 00023984  0x00005f25 branch  0x0000631b 
- 00023985  0x00005f28 bpatchx  0x00000080 , 0x00004030 
- 00023986  0x00005f29 fetch  0x00000001 , 0x00000552 
- 00023987  0x00005f2a store  0x00000001 , 0x000004c9 
- 00023988  0x00005f2b beq  0x00000033 , 0x00005dd8 
- 00023989  0x00005f2c beq  0x00000008 , 0x00005de7 
- 00023990  0x00005f2d beq  0x0000000f , 0x00005dee 
- 00023991  0x00005f2e beq  0x00000010 , 0x00005df4 
- 00023992  0x00005f2f beq  0x00000011 , 0x00005df5 
- 00023993  0x00005f30 beq  0x00000012 , 0x00005dfd 
- 00023994  0x00005f31 beq  0x00000018 , 0x00005e13 
- 00023995  0x00005f32 beq  0x00000017 , 0x00005e16 
- 00023996  0x00005f33 beq  0x00000013 , 0x00005dcf 
- 00023997  0x00005f35 beq  0x0000003d , 0x00005f1e 
- 00023998  0x00005f36 beq  0x0000003e , 0x00005f6a 
- 00023999  0x00005f37 beq  0x00000040 , 0x00005f20 
- 00024000  0x00005f38 beq  0x00000041 , 0x00005f3d 
- 00024001  0x00005f39 rtn 
- 00024002  0x00005f3c bpatchx  0x00000081 , 0x00004030 
- 00024003  0x00005f3d fetch  0x00000001 , 0x00000552 
- 00024004  0x00005f3e store  0x00000001 , 0x000004c9 
- 00024005  0x00005f3f beq  0x00000001 , 0x00005e0a 
- 00024006  0x00005f40 beq  0x00000033 , 0x00005de2 
- 00024007  0x00005f41 beq  0x0000000b , 0x00005dfe 
- 00024008  0x00005f42 beq  0x00000008 , 0x00005e01 
- 00024009  0x00005f43 beq  0x00000013 , 0x00005dd2 
- 00024010  0x00005f45 beq  0x00000040 , 0x00005e0b 
- 00024011  0x00005f46 beq  0x00000041 , 0x00005e0e 
- 00024012  0x00005f47 beq  0x00000018 , 0x00005e11 
- 00024013  0x00005f48 beq  0x00000017 , 0x00005e22 
- 00024014  0x00005f49 rtn 
- 00024015  0x00005f4c jam  0x00000020 , 0x00000a99 
- 00024016  0x00005f4d call  0x00007d86 
- 00024017  0x00005f4e branch  0x000021dc 
- 00024018  0x00005f50 jam  0x00000019 , 0x00000a99 
- 00024019  0x00005f51 call  0x00007d86 
- 00024020  0x00005f52 jam  0x00000002 , 0x0000455b 
- 00024021  0x00005f53 setarg  0x00000050 
- 00024022  0x00005f54 arg  0x00000006 , 0x00000007 
- 00024023  0x00005f55 branch  0x00007f08 
- 00024024  0x00005f5b fetch  0x00000001 , 0x000004d1 
- 00024025  0x00005f5c set1  0x00000000 , 0x0000003f 
- 00024026  0x00005f5d store  0x00000001 , 0x000004d1 
- 00024027  0x00005f5e jam  0x00000001 , 0x00000a99 
- 00024028  0x00005f5f call  0x00007d86 
- 00024029  0x00005f60 jam  0x0000008b , 0x0000007c 
- 00024030  0x00005f64 fetch  0x00000001 , 0x00000055 
- 00024031  0x00005f65 bne  0x00000005 , 0x00005d07 
- 00024032  0x00005f68 jam  0x00000006 , 0x00000055 
- 00024033  0x00005f69 rtn 
- 00024034  0x00005f72 jam  0x0000000b , 0x000004ca 
- 00024035  0x00005f73 jam  0x00000007 , 0x0000007c 
- 00024036  0x00005f75 jam  0x00000000 , 0x00000055 
- 00024037  0x00005f77 branch  0x00005d07 , 0x00000001 
- 00024038  0x00005f78 rtn 
- 00024039  0x00005f7b fetch  0x00000001 , 0x000041bd 
- 00024040  0x00005f7c nrtn  0x00000034 
- 00024041  0x00005f7d call  0x0000244f 
- 00024042  0x00005f7e call  0x00005ffc 
- 00024043  0x00005f7f rtn  0x00000029 
- 00024044  0x00005f80 set1  0x00000021 , 0x00000000 
- 00024045  0x00005f81 rtn 
- 00024046  0x00005f84 nrtn  0x00000029 
- 00024047  0x00005f85 jam  0x00000010 , 0x0000007c 
- 00024048  0x00005f86 fetch  0x00000001 , 0x0000004c 
- 00024049  0x00005f87 rtnbit0  0x00000002 
- 00024050  0x00005f88 jam  0x00000012 , 0x0000007c 
- 00024051  0x00005f89 rtn 
- 00024052  0x00005f8c branch  0x00005ffe 
- 00024053  0x00005f8f call  0x00006059 
- 00024054  0x00005f90 fetch  0x00000001 , 0x00000030 
- 00024055  0x00005f91 rtnbit1  0x00000004 
- 00024056  0x00005f92 jam  0x00000031 , 0x0000007c 
- 00024057  0x00005f93 fetch  0x00000001 , 0x00000055 
- 00024058  0x00005f94 rtnne  0x0000000a 
- 00024059  0x00005f95 jam  0x0000000b , 0x00000055 
- 00024060  0x00005f96 rtn 
- 00024061  0x00005fa0 rtn 
- 00024062  0x00005fa4 jam  0x00000007 , 0x0000007c 
- 00024063  0x00005fa5 jam  0x00000013 , 0x000004ca 
- 00024064  0x00005fa6 rtn 
- 00024065  0x00005fa9 fetch  0x00000001 , 0x00000553 
- 00024066  0x00005faa beq  0x00000006 , 0x00005e07 
- 00024067  0x00005fab rtnne  0x00000018 
- 00024068  0x00005fac jam  0x00000018 , 0x000004ca 
- 00024069  0x00005fad jam  0x00000007 , 0x0000007c 
- 00024070  0x00005fae rtn 
- 00024071  0x00005fb0 jam  0x00000006 , 0x000004ca 
- 00024072  0x00005fb1 jam  0x00000007 , 0x0000007c 
- 00024073  0x00005fb2 rtn 
- 00024074  0x00005fb5 rtn 
- 00024075  0x00005fb8 jam  0x00000000 , 0x000009ae 
- 00024076  0x00005fb9 jam  0x00000007 , 0x0000007c 
- 00024077  0x00005fba branch  0x00005d07 
- 00024078  0x00005fbd jam  0x00000000 , 0x000009ae 
- 00024079  0x00005fbe jam  0x00000007 , 0x0000007c 
- 00024080  0x00005fbf branch  0x00005d07 
- 00024081  0x00005fc1 jam  0x00000024 , 0x00000a99 
- 00024082  0x00005fc2 branch  0x00007d86 
- 00024083  0x00005fc5 jam  0x00000023 , 0x00000a99 
- 00024084  0x00005fc6 call  0x00007d86 
- 00024085  0x00005fc7 branch  0x000026e9 
- 00024086  0x00005fca jam  0x00000022 , 0x00000a99 
- 00024087  0x00005fcb call  0x00007d86 
- 00024088  0x00005fcc setarg  0x00000000 
- 00024089  0x00005fcd store  0x00000002 , 0x00000075 
- 00024090  0x00005fce fetch  0x00000002 , 0x000041e3 
- 00024091  0x00005fcf lshift  0x0000003f , 0x0000003f 
- 00024092  0x00005fd0 store  0x00000002 , 0x00000032 
- 00024093  0x00005fd1 fetch  0x00000001 , 0x000041e5 
- 00024094  0x00005fd2 store  0x00000001 , 0x00000073 
- 00024095  0x00005fd3 fetch  0x00000001 , 0x000041e7 
- 00024096  0x00005fd4 store  0x00000001 , 0x00000074 
- 00024097  0x00005fd5 branch  0x000026c6 
- 00024098  0x00005fd8 jam  0x00000021 , 0x00000a99 
- 00024099  0x00005fd9 branch  0x00007d86 
- 00024100  0x00005fdc fetcht  0x00000001 , 0x00000552 
- 00024101  0x00005fdd storet  0x00000001 , 0x00000054 
- 00024102  0x00005fde branch  0x00005e38 
- 00024103  0x00005fe1 fetch  0x00000001 , 0x000004d1 
- 00024104  0x00005fe2 set1  0x00000002 , 0x0000003f 
- 00024105  0x00005fe3 store  0x00000001 , 0x000004d1 
- 00024106  0x00005fe4 rtnbit1  0x00000003 
- 00024107  0x00005fe5 jam  0x00000031 , 0x0000007c 
- 00024108  0x00005fe6 branch  0x00005d07 
- 00024109  0x00005feb rtn 
- 00024110  0x00005fee fetch  0x00000001 , 0x000040d0 
- 00024111  0x00005fef fetcht  0x00000001 , 0x00000552 
- 00024112  0x00005ff0 isub  0x00000002 , 0x0000003e 
- 00024113  0x00005ff2 branch  0x00005e38 , 0x00000002 
- 00024114  0x00005ff3 jam  0x00000004 , 0x0000007c 
- 00024115  0x00005ff4 jam  0x0000001f , 0x0000007e 
- 00024116  0x00005ff5 jam  0x0000002e , 0x0000007d 
- 00024117  0x00005ff6 rtn 
- 00024118  0x00005ff9 call  0x00006157 
- 00024119  0x00005ffa branch  0x00005e38 
- 00024120  0x00005ffd jam  0x00000003 , 0x0000007c 
- 00024121  0x00005ffe rtn 
- 00024122  0x00006001 jam  0x00000021 , 0x0000007c 
- 00024123  0x00006002 rtn 
- 00024124  0x00006005 jam  0x00000022 , 0x0000007c 
- 00024125  0x00006006 rtn 
- 00024126  0x00006009 fetch  0x00000001 , 0x00000055 
- 00024127  0x0000600a rtneq  0x00000013 
- 00024128  0x0000600c jam  0x00000002 , 0x00000055 
- 00024129  0x0000600e rtn 
- 00024130  0x00006012 rtn 
- 00024131  0x00006015 call  0x00005ff9 
- 00024132  0x00006016 jam  0x00000001 , 0x000004d4 
- 00024133  0x00006017 jam  0x0000000a , 0x00000a99 
- 00024134  0x00006018 call  0x00007d86 
- 00024135  0x0000601a call  0x000062f3 
- 00024136  0x0000601b nbranch  0x00006001 , 0x00000001 
- 00024137  0x0000601d nbranch  0x00005e4e , 0x00000029 
- 00024138  0x0000601e jam  0x00000004 , 0x0000007c 
- 00024139  0x0000601f jam  0x00000008 , 0x0000007d 
- 00024140  0x00006020 jam  0x00000023 , 0x0000007e 
- 00024141  0x00006021 rtn 
- 00024142  0x00006023 fetch  0x00000001 , 0x0000004b 
- 00024143  0x00006024 set1  0x00000002 , 0x0000003f 
- 00024144  0x00006025 store  0x00000001 , 0x0000004b 
- 00024145  0x00006026 rtn 
- 00024146  0x0000602a fetcht  0x00000001 , 0x0000004c 
- 00024147  0x0000602b nsetflag  0x00000034 , 0x00000001 , 0x00000002 
- 00024148  0x0000602c storet  0x00000001 , 0x0000004c 
- 00024149  0x0000602d rtn 
- 00024150  0x00006031 fetch  0x00000001 , 0x0000007f 
- 00024151  0x00006032 rshift  0x0000003f , 0x0000003f 
- 00024152  0x00006033 and_into  0x00000001 , 0x0000003f 
- 00024153  0x00006034 rtn 
- 00024154  0x00006037 fetch  0x00000001 , 0x00004217 
- 00024155  0x00006038 rtn  0x00000034 
- 00024156  0x00006039 fetch  0x00000001 , 0x000009b5 
- 00024157  0x0000603a call  0x000067b2 , 0x00000034 
- 00024158  0x0000603b rtn 
- 00024159  0x0000603e call  0x00005e5a 
- 00024160  0x0000603f call  0x00005e56 
- 00024161  0x00006040 store  0x00000001 , 0x000004d5 
- 00024162  0x00006041 call  0x00005ff9 
- 00024163  0x00006042 jam  0x0000000c , 0x0000007c 
- 00024164  0x00006043 fetch  0x00000001 , 0x000041bd 
- 00024165  0x00006044 nrtn  0x00000034 
- 00024166  0x00006045 fetch  0x00000001 , 0x00000030 
- 00024167  0x00006046 rtnbit1  0x00000006 
- 00024168  0x00006047 jam  0x00000006 , 0x0000007e 
- 00024169  0x00006048 branch  0x00005d53 
- 00024170  0x0000604b arg  0x00000040 , 0x00000011 
- 00024171  0x0000604c call  0x00007288 
- 00024172  0x0000604d fetch  0x00000004 , 0x00000552 
- 00024173  0x0000604e fetcht  0x00000004 , 0x00000592 
- 00024174  0x0000604f isub  0x00000002 , 0x0000003e 
- 00024175  0x00006050 branch  0x00005e73 , 0x00000005 
- 00024176  0x00006051 jam  0x00000007 , 0x0000007c 
- 00024177  0x00006052 jam  0x00000005 , 0x000004ca 
- 00024178  0x00006053 rtn 
- 00024179  0x00006055 call  0x00005e77 
- 00024180  0x00006056 fetch  0x00000001 , 0x0000465a 
- 00024181  0x00006057 branch  0x00005f3e , 0x00000034 
- 00024182  0x00006058 rtn 
- 00024183  0x0000605c call  0x00007386 
- 00024184  0x0000605d call  0x000021b2 
- 00024185  0x0000605e fetch  0x00000001 , 0x0000004b 
- 00024186  0x0000605f isolate1  0x00000001 , 0x0000003f 
- 00024187  0x00006060 set0  0x00000001 , 0x0000003f 
- 00024188  0x00006061 store  0x00000001 , 0x0000004b 
- 00024189  0x00006062 fetch  0x00000001 , 0x00000055 
- 00024190  0x00006063 beq  0x00000019 , 0x00005e81 
- 00024191  0x00006064 beq  0x00000018 , 0x00005e81 
- 00024192  0x00006065 rtn 
- 00024193  0x00006067 fetch  0x00000001 , 0x000009b5 
- 00024194  0x00006068 rtnne  0x00000000 
- 00024195  0x00006069 fetch  0x00000001 , 0x0000004c 
- 00024196  0x0000606a rtnbit1  0x00000002 
- 00024197  0x0000606b branch  0x000063b1 
- 00024198  0x0000606e arg  0x00000552 , 0x00000011 
- 00024199  0x0000606f arg  0x00000582 , 0x00000012 
- 00024200  0x00006070 arg  0x00000562 , 0x00000005 
- 00024201  0x00006071 call  0x00007352 
- 00024202  0x00006072 arg  0x00000040 , 0x00000011 
- 00024203  0x00006073 call  0x00006311 
- 00024204  0x00006074 jam  0x0000000b , 0x0000007c 
- 00024205  0x00006075 fetch  0x00000001 , 0x00000030 
- 00024206  0x00006076 bbit0  0x00000006 , 0x00005ffc 
- 00024207  0x00006077 rtn 
- 00024208  0x0000607a fetch  0x00000002 , 0x0000015f 
- 00024209  0x0000607b add  0x0000003f , 0xfffffffd , 0x00000039 
- 00024210  0x0000607c fetcht  0x00000001 , 0x00000552 
- 00024211  0x0000607d setarg  0x00000101 
- 00024212  0x0000607e iadd  0x00000002 , 0x00000005 
- 00024213  0x0000607f arg  0x00000554 , 0x00000006 
- 00024214  0x00006080 call  0x00007f01 
- 00024215  0x00006081 fetcht  0x00000001 , 0x00000053 
- 00024216  0x00006082 fetch  0x00000001 , 0x00000553 
- 00024217  0x00006083 isub  0x00000002 , 0x0000003f 
- 00024218  0x00006084 sub  0x0000003f , 0x0000000e , 0x0000003e 
- 00024219  0x00006085 branch  0x00005ea0 , 0x00000002 
- 00024220  0x00006086 add  0x00000002 , 0x0000000e , 0x0000003f 
- 00024221  0x00006087 store  0x00000001 , 0x00000053 
- 00024222  0x00006088 jam  0x00000001 , 0x0000007c 
- 00024223  0x00006089 rtn 
- 00024224  0x0000608b fetch  0x00000001 , 0x0000004c 
- 00024225  0x0000608c set1  0x00000003 , 0x0000003f 
- 00024226  0x0000608d store  0x00000001 , 0x0000004c 
- 00024227  0x0000608e bbit1  0x00000004 , 0x00006006 
- 00024228  0x0000608f rtn 
- 00024229  0x00006091 fetch  0x00000001 , 0x00000552 
- 00024230  0x00006092 store  0x00000001 , 0x0000007d 
- 00024231  0x00006093 jam  0x00000002 , 0x0000007c 
- 00024232  0x00006094 rtn 
- 00024233  0x00006097 branch  0x00005e38 
- 00024234  0x0000609a jam  0x00000030 , 0x0000007c 
- 00024235  0x0000609b rtn 
- 00024236  0x0000609e jam  0x00000028 , 0x0000007c 
- 00024237  0x0000609f rtn 
- 00024238  0x000060a2 jam  0x00000026 , 0x0000007c 
- 00024239  0x000060a3 rtn 
- 00024240  0x000060a8 rtn 
- 00024241  0x000060ad fetch  0x00000002 , 0x00000032 
- 00024242  0x000060ae iforce  0x00000002 
- 00024243  0x000060af fetch  0x00000001 , 0x00000553 
- 00024244  0x000060b0 store  0x00000001 , 0x00000095 
- 00024245  0x000060b1 imul32  0x00000002 , 0x00000002 
- 00024246  0x000060b2 fetch  0x00000002 , 0x00000554 
- 00024247  0x000060b3 lshift  0x0000003f , 0x0000003f 
- 00024248  0x000060b4 store  0x00000002 , 0x00000096 
- 00024249  0x000060b5 fetch  0x00000004 , 0x00000556 
- 00024250  0x000060b6 lshift  0x0000003f , 0x0000003f 
- 00024251  0x000060b7 store  0x00000004 , 0x00000091 
- 00024252  0x000060b9 deposit  0x00000002 
- 00024253  0x000060ba store  0x00000002 , 0x00000098 
- 00024254  0x000060bb rtn 
- 00024255  0x000060bd fetcht  0x00000001 , 0x0000415a 
- 00024256  0x000060be fetch  0x00000001 , 0x00000553 
- 00024257  0x000060bf ixor  0x00000002 , 0x0000003e 
- 00024258  0x000060c0 nbranch  0x00005d77 , 0x00000005 
- 00024259  0x000060c1 isolate1  0x00000000 , 0x0000003f 
- 00024260  0x000060c2 fetch  0x00000001 , 0x0000004c 
- 00024261  0x000060c3 setflag  0x00000001 , 0x00000005 , 0x0000003f 
- 00024262  0x000060c4 store  0x00000001 , 0x0000004c 
- 00024263  0x000060c5 jam  0x00000081 , 0x0000007c 
- 00024264  0x000060c6 jam  0x0000008b , 0x0000007d 
- 00024265  0x000060c7 rtn 
- 00024266  0x000060ce rtn 
- 00024267  0x000060d1 branch  0x00005e38 
- 00024268  0x000060d5 branch  0x00005e38 
- 00024269  0x000060da fetch  0x00000002 , 0x00000552 
- 00024270  0x000060db store  0x00000002 , 0x00000171 
- 00024271  0x000060dc rtn 
- 00024272  0x000060df fetch  0x00000002 , 0x00000555 
- 00024273  0x000060e0 fetcht  0x00000001 , 0x00004172 
- 00024274  0x000060e1 imul32  0x00000002 , 0x0000003f 
- 00024275  0x000060e2 arg  0x00000640 , 0x00000002 
- 00024276  0x000060e3 isub  0x00000002 , 0x0000003e 
- 00024277  0x000060e5 rtn 
- 00024278  0x000060e8 fetch  0x00000002 , 0x00000557 
- 00024279  0x000060e9 branch  0x00005ef0 , 0x00000034 
- 00024280  0x000060ea call  0x00005ed0 
- 00024281  0x000060eb branch  0x00005ef0 , 0x00000002 
- 00024282  0x000060ec fetch  0x00000001 , 0x00004092 
- 00024283  0x000060ed sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00024284  0x000060ee call  0x00003cd5 , 0x00000005 
- 00024285  0x000060ef fetch  0x00000001 , 0x00000030 
- 00024286  0x000060f0 bbit1  0x00000001 , 0x00005ef0 
- 00024287  0x000060f1 fetch  0x00000002 , 0x00000553 
- 00024288  0x000060f2 lshift  0x0000003f , 0x0000003f 
- 00024289  0x000060f3 store  0x00000002 , 0x00000075 
- 00024290  0x000060f4 fetch  0x00000002 , 0x00000555 
- 00024291  0x000060f5 lshift  0x0000003f , 0x0000003f 
- 00024292  0x000060f6 store  0x00000002 , 0x00000032 
- 00024293  0x000060f7 fetch  0x00000002 , 0x00000557 
- 00024294  0x000060f8 store  0x00000001 , 0x00000073 
- 00024295  0x000060f9 iforce  0x00000002 
- 00024296  0x000060fa fetch  0x00000002 , 0x00000559 
- 00024297  0x000060fb store  0x00000001 , 0x00000074 
- 00024298  0x000060fc isub  0x00000002 , 0x0000003e 
- 00024299  0x000060fd nbranch  0x00005eed , 0x00000002 
- 00024300  0x000060fe store  0x00000001 , 0x00000073 
- 00024301  0x00006101 jam  0x00000003 , 0x0000007c 
- 00024302  0x00006102 jam  0x00000017 , 0x0000007d 
- 00024303  0x00006103 rtn 
- 00024304  0x00006106 jam  0x00000024 , 0x0000007e 
- 00024305  0x00006107 branch  0x00005d53 
- 00024306  0x0000610a call  0x00005e38 
- 00024307  0x0000610b call  0x00005ff9 
- 00024308  0x0000610c call  0x0000728b 
- 00024309  0x0000610d branch  0x000026b8 
- 00024310  0x00006110 call  0x00005e38 
- 00024311  0x00006111 branch  0x000026c0 
- 00024312  0x00006115 fetch  0x00000004 , 0x00000552 
- 00024313  0x00006116 lshift  0x0000003f , 0x0000003f 
- 00024314  0x00006118 branch  0x00005f04 , 0x00000029 
- 00024315  0x00006119 fetcht  0x00000001 , 0x000041bd 
- 00024316  0x0000611a nbranch  0x00005f01 , 0x00000034 
- 00024317  0x0000611c jam  0x00000004 , 0x0000007c 
- 00024318  0x0000611d jam  0x00000013 , 0x0000007d 
- 00024319  0x0000611e jam  0x00000024 , 0x0000007e 
- 00024320  0x0000611f rtn 
- 00024321  0x00006121 jam  0x00000034 , 0x0000007c 
- 00024322  0x00006122 jam  0x00000000 , 0x00000055 
- 00024323  0x00006123 branch  0x000021d9 
- 00024324  0x00006126 call  0x000021d9 
- 00024325  0x00006127 set1  0x00000022 , 0x00000000 
- 00024326  0x00006128 fetch  0x00000001 , 0x0000016d 
- 00024327  0x00006129 set0  0x00000002 , 0x0000003f 
- 00024328  0x0000612a store  0x00000001 , 0x0000016d 
- 00024329  0x0000612b branch  0x00005e38 
- 00024330  0x00006134 rtn 
- 00024331  0x00006138 jam  0x00000003 , 0x0000007c 
- 00024332  0x00006139 jam  0x00000018 , 0x0000007d 
- 00024333  0x0000613a jam  0x0000002e , 0x00000a99 
- 00024334  0x0000613b call  0x00007d86 
- 00024335  0x0000613c branch  0x000026e9 
- 00024336  0x0000613f fetch  0x00000001 , 0x00000552 
- 00024337  0x00006140 bne  0x00000001 , 0x00005f1c 
- 00024338  0x00006141 fetch  0x00000001 , 0x00000553 
- 00024339  0x00006142 bne  0x00000001 , 0x00005f1c 
- 00024340  0x00006143 fetch  0x00000001 , 0x00000554 
- 00024341  0x00006144 bne  0x00000030 , 0x00005f1c 
- 00024342  0x00006145 call  0x000062fc 
- 00024343  0x00006146 branch  0x00005f19 , 0x00000001 
- 00024344  0x00006147 jam  0x00000001 , 0x000009ae 
- 00024345  0x00006149 jam  0x00000003 , 0x0000007c 
- 00024346  0x0000614a jam  0x0000003d , 0x0000007d 
- 00024347  0x0000614b branch  0x00005d07 
- 00024348  0x0000614e jam  0x00000024 , 0x0000007e 
- 00024349  0x0000614f branch  0x00005d53 
- 00024350  0x00006154 jam  0x0000003e , 0x0000007c 
- 00024351  0x00006156 rtn 
- 00024352  0x00006158 fetch  0x00000001 , 0x00004662 
- 00024353  0x00006159 beq  0x00000001 , 0x00005f27 
- 00024354  0x0000615a beq  0x00000002 , 0x00005f2b 
- 00024355  0x0000615c call  0x000062fc 
- 00024356  0x0000615d rtn  0x00000001 
- 00024357  0x0000615e jam  0x00000008 , 0x000009ae 
- 00024358  0x0000615f rtn 
- 00024359  0x00006162 call  0x00007962 
- 00024360  0x00006163 jam  0x00000035 , 0x00000a99 
- 00024361  0x00006164 call  0x00007d86 
- 00024362  0x00006165 branch  0x00005f23 
- 00024363  0x00006169 call  0x000062fc 
- 00024364  0x0000616a rtn  0x00000001 
- 00024365  0x0000616b fetch  0x00000001 , 0x00004663 
- 00024366  0x0000616c beq  0x00000013 , 0x00005f3b 
- 00024367  0x0000616d increase  0x00000001 , 0x0000003f 
- 00024368  0x0000616e store  0x00000001 , 0x00004663 
- 00024369  0x00006172 jam  0x00000001 , 0x000009b0 
- 00024370  0x00006173 jam  0x00000004 , 0x000009ae 
- 00024371  0x00006174 fetch  0x00000001 , 0x00004663 
- 00024372  0x00006175 copy  0x0000003f , 0x00000007 
- 00024373  0x00006176 fetch  0x00000006 , 0x0000468a 
- 00024374  0x00006177 qisolate1  0x0000003f 
- 00024375  0x00006178 setarg  0x00000080 
- 00024376  0x00006179 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00024377  0x0000617a store  0x00000001 , 0x00004664 
- 00024378  0x0000617b rtn 
- 00024379  0x0000617e jam  0x00000008 , 0x000009ae 
- 00024380  0x0000617f rtn 
- 00024381  0x00006182 call  0x00005f43 
- 00024382  0x00006184 fetch  0x00000001 , 0x00004665 
- 00024383  0x00006185 rtn  0x00000034 
- 00024384  0x00006186 jam  0x00000000 , 0x00004665 
- 00024385  0x00006187 jam  0x00000038 , 0x00000a99 
- 00024386  0x00006188 branch  0x00007d86 
- 00024387  0x0000618d call  0x000062fc 
- 00024388  0x0000618e ncall  0x00007965 , 0x00000001 
- 00024389  0x0000618f call  0x00007975 , 0x00000001 
- 00024390  0x00006190 call  0x000062fc 
- 00024391  0x00006191 rtn  0x00000001 
- 00024392  0x00006192 jam  0x0000000c , 0x000009ae 
- 00024393  0x00006193 jam  0x00000001 , 0x000009b0 
- 00024394  0x00006194 rtn 
- 00024395  0x00006197 arg  0x00000a6e , 0x00000005 
- 00024396  0x00006198 arg  0x00000552 , 0x00000006 
- 00024397  0x00006199 call  0x00007ebf 
- 00024398  0x0000619a fetch  0x00000001 , 0x00004662 
- 00024399  0x0000619b rtneq  0x00000002 
- 00024400  0x0000619c branch  0x000076d8 
- 00024401  0x0000619f fetch  0x00000001 , 0x000009af 
- 00024402  0x000061a0 beq  0x00000007 , 0x00005f55 
- 00024403  0x000061a1 fetch  0x00000001 , 0x000009ae 
- 00024404  0x000061a2 bne  0x00000001 , 0x00005f68 
- 00024405  0x000061a4 fetch  0x00000001 , 0x000009b7 
- 00024406  0x000061a5 sub  0x0000003f , 0x00000020 , 0x00000005 
- 00024407  0x000061a6 nbranch  0x00005f68 , 0x00000002 
- 00024408  0x000061a7 arg  0x000009c6 , 0x00000005 
- 00024409  0x000061a8 iadd  0x00000005 , 0x00000005 
- 00024410  0x000061a9 fetch  0x00000008 , 0x00000552 
- 00024411  0x000061aa istore  0x00000008 , 0x00000005 
- 00024412  0x000061ab fetch  0x00000008 , 0x0000055a 
- 00024413  0x000061ac istore  0x00000008 , 0x00000005 
- 00024414  0x000061ad fetch  0x00000001 , 0x000009b7 
- 00024415  0x000061ae increase  0x00000010 , 0x0000003f 
- 00024416  0x000061af store  0x00000001 , 0x000009b7 
- 00024417  0x000061b0 bne  0x00000030 , 0x00005e38 
- 00024418  0x000061b2 call  0x000062fc 
- 00024419  0x000061b3 branch  0x00005e38 , 0x00000001 
- 00024420  0x000061b4 jam  0x00000001 , 0x000009b8 
- 00024421  0x000061b5 jam  0x00000002 , 0x000009ae 
- 00024422  0x000061b6 jam  0x00000001 , 0x000009b0 
- 00024423  0x000061b7 branch  0x00005e38 
- 00024424  0x000061b9 jam  0x00000024 , 0x0000007e 
- 00024425  0x000061ba branch  0x00005d53 
- 00024426  0x000061bc fetch  0x00000001 , 0x000009b6 
- 00024427  0x000061bd beq  0x00000030 , 0x00005f6e 
- 00024428  0x000061be jam  0x0000003e , 0x0000007c 
- 00024429  0x000061bf branch  0x00005d07 
- 00024430  0x000061c2 call  0x000062fc 
- 00024431  0x000061c3 branch  0x00005f77 , 0x00000001 
- 00024432  0x000061c4 fetch  0x00000001 , 0x00004662 
- 00024433  0x000061c5 beq  0x00000002 , 0x00005f75 
- 00024434  0x000061c6 jam  0x00000001 , 0x000009b0 
- 00024435  0x000061c7 jam  0x00000004 , 0x000009ae 
- 00024436  0x000061c8 branch  0x00005d07 
- 00024437  0x000061cb jam  0x00000036 , 0x00000a99 
- 00024438  0x000061cc branch  0x00007d86 
- 00024439  0x000061d1 branch  0x00005d07 
- 00024440  0x000061d4 fetch  0x00000001 , 0x000009af 
- 00024441  0x000061d5 beq  0x00000007 , 0x00005f7c 
- 00024442  0x000061d6 fetch  0x00000001 , 0x000009ae 
- 00024443  0x000061d7 bne  0x00000006 , 0x00005f88 
- 00024444  0x000061d9 arg  0x00000a2e , 0x00000005 
- 00024445  0x000061da fetch  0x00000008 , 0x00000552 
- 00024446  0x000061db istore  0x00000008 , 0x00000005 
- 00024447  0x000061dc fetch  0x00000008 , 0x0000055a 
- 00024448  0x000061dd istore  0x00000008 , 0x00000005 
- 00024449  0x000061de call  0x000062fc 
- 00024450  0x000061df branch  0x00005f86 , 0x00000001 
- 00024451  0x000061e0 jam  0x00000007 , 0x000009ae 
- 00024452  0x000061e1 jam  0x00000001 , 0x000009b0 
- 00024453  0x000061e2 branch  0x00005e38 
- 00024454  0x000061e4 jam  0x00000004 , 0x000009af 
- 00024455  0x000061e5 branch  0x000076d8 
- 00024456  0x000061e9 jam  0x00000024 , 0x0000007e 
- 00024457  0x000061ea branch  0x00005d53 
- 00024458  0x000061ed fetch  0x00000001 , 0x000009af 
- 00024459  0x000061ee beq  0x0000000b , 0x00005f8e 
- 00024460  0x000061ef fetch  0x00000001 , 0x000009ae 
- 00024461  0x000061f0 bne  0x00000008 , 0x00005f9d 
- 00024462  0x000061f2 arg  0x00000a5e , 0x00000005 
- 00024463  0x000061f3 arg  0x00000552 , 0x00000006 
- 00024464  0x000061f4 call  0x00007ebf 
- 00024465  0x000061f5 call  0x000062fc 
- 00024466  0x000061f6 branch  0x00005f9a , 0x00000001 
- 00024467  0x000061f7 fetch  0x00000001 , 0x00004662 
- 00024468  0x000061f8 beq  0x00000001 , 0x00005f9f 
- 00024469  0x000061fa jam  0x00000000 , 0x00004661 
- 00024470  0x000061fb jam  0x00000009 , 0x000009ae 
- 00024471  0x000061fc jam  0x00000001 , 0x000009b0 
- 00024472  0x000061fd jam  0x00000041 , 0x0000007d 
- 00024473  0x000061fe branch  0x00005d07 
- 00024474  0x00006201 jam  0x00000009 , 0x000009af 
- 00024475  0x00006202 jam  0x00000001 , 0x000009b1 
- 00024476  0x00006203 branch  0x00005d07 
- 00024477  0x00006205 jam  0x00000024 , 0x0000007e 
- 00024478  0x00006206 branch  0x00005d53 
- 00024479  0x00006209 fetch  0x00000001 , 0x00004661 
- 00024480  0x0000620a bbit1  0x00000007 , 0x00005fa4 
- 00024481  0x0000620b set1  0x00000006 , 0x0000003f 
- 00024482  0x0000620c store  0x00000001 , 0x00004661 
- 00024483  0x0000620d rtn 
- 00024484  0x00006210 bbit1  0x00000000 , 0x00005f95 
- 00024485  0x00006211 jam  0x00000000 , 0x00004661 
- 00024486  0x00006212 branch  0x00005f9d 
- 00024487  0x00006216 branch  0x00005d07 
- 00024488  0x00006219 fetch  0x00000001 , 0x0000016d 
- 00024489  0x0000621a set0  0x00000001 
- 00024490  0x0000621b store  0x00000001 , 0x0000016d 
- 00024491  0x0000621c call  0x00005e38 
- 00024492  0x0000621d nrtn  0x00000029 
- 00024493  0x0000621e fetch  0x00000001 , 0x00000552 
- 00024494  0x0000621f fetcht  0x00000001 , 0x0000004b 
- 00024495  0x00006220 setflag  0x00000034 , 0x00000004 , 0x00000002 
- 00024496  0x00006221 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
- 00024497  0x00006222 storet  0x00000001 , 0x0000004b 
- 00024498  0x00006223 rtn 
- 00024499  0x00006226 fetcht  0x00000008 , 0x00000552 
- 00024500  0x00006228 fetch  0x00000001 , 0x00000055 
- 00024501  0x00006229 rtnne  0x00000003 
- 00024502  0x0000622b fetch  0x00000001 , 0x0000016d 
- 00024503  0x0000622c bbit0  0x00000004 , 0x00005fba 
- 00024504  0x0000622e jam  0x00000014 , 0x00000055 
- 00024505  0x0000622f rtn 
- 00024506  0x00006231 jam  0x00000004 , 0x00000055 
- 00024507  0x00006232 rtn 
- 00024508  0x00006234 fetch  0x00000001 , 0x0000017f 
- 00024509  0x00006235 store  0x00000001 , 0x0000015b 
- 00024510  0x00006236 jam  0x00000003 , 0x0000007c 
- 00024511  0x00006237 jam  0x00000038 , 0x0000007d 
- 00024512  0x00006238 rtn 
- 00024513  0x0000623c jam  0x00000003 , 0x0000007c 
- 00024514  0x0000623d jam  0x00000039 , 0x0000007d 
- 00024515  0x0000623e force  0x00000009 , 0x00000039 
- 00024516  0x0000623f arg  0x00000552 , 0x00000006 
- 00024517  0x00006240 arg  0x00000152 , 0x00000005 
- 00024518  0x00006242 ifetch  0x00000001 , 0x00000006 
- 00024519  0x00006243 xor_into  0x00000055 , 0x0000003f 
- 00024520  0x00006244 istore  0x00000001 , 0x00000005 
- 00024521  0x00006245 loop  0x00005fc6 
- 00024522  0x00006246 fetch  0x00000001 , 0x00000152 
- 00024523  0x00006247 fetcht  0x00000001 , 0x00000151 
- 00024524  0x00006248 set0  0x00000007 , 0x00000002 
- 00024525  0x00006249 set0  0x00000004 , 0x00000002 
- 00024526  0x0000624a beq  0x000000ff , 0x00005fda 
- 00024527  0x0000624b beq  0x00000000 , 0x00005ff3 
- 00024528  0x0000624c beq  0x00000005 , 0x00005fe7 
- 00024529  0x0000624d beq  0x00000007 , 0x00005fe6 
- 00024530  0x0000624e beq  0x00000006 , 0x00005fe7 
- 00024531  0x0000624f beq  0x00000008 , 0x00005fe6 
- 00024532  0x00006250 beq  0x00000001 , 0x00005fdf 
- 00024533  0x00006251 beq  0x00000002 , 0x00005fdf 
- 00024534  0x00006252 beq  0x00000003 , 0x00005fdf 
- 00024535  0x00006253 beq  0x00000009 , 0x00005fdf 
- 00024536  0x00006254 beq  0x00000004 , 0x00005fdf 
- 00024537  0x00006255 rtn 
- 00024538  0x00006258 fetch  0x00000001 , 0x00000151 
- 00024539  0x00006259 set1  0x00000003 , 0x0000003f 
- 00024540  0x0000625a set1  0x00000002 , 0x0000003f 
- 00024541  0x0000625b store  0x00000001 , 0x00000151 
- 00024542  0x0000625c rtn 
- 00024543  0x0000625e set1  0x00000004 , 0x00000002 
- 00024544  0x0000625f jam  0x00000005 , 0x00000180 
- 00024545  0x00006260 fetch  0x00000002 , 0x00000159 
- 00024546  0x00006261 iforce  0x00000039 
- 00024547  0x00006262 store  0x00000002 , 0x0000015f 
- 00024548  0x00006263 arg  0x00000551 , 0x00000005 
- 00024549  0x00006264 call  0x00007f73 
- 00024550  0x00006266 set1  0x00000007 , 0x00000002 
- 00024551  0x00006268 set1  0x00000002 , 0x00000002 
- 00024552  0x00006269 force  0x00000000 , 0x0000003f 
- 00024553  0x0000626a store  0x00000001 , 0x0000000b 
- 00024554  0x0000626b store  0x00000002 , 0x000000fa 
- 00024555  0x0000626c store  0x00000002 , 0x000000fc 
- 00024556  0x0000626d store  0x00000002 , 0x000000f8 
- 00024557  0x0000626e store  0x00000002 , 0x000000f6 
- 00024558  0x0000626f fetch  0x00000001 , 0x00000153 
- 00024559  0x00006270 compare  0x00000000 , 0x0000003f , 0x000000ff 
- 00024560  0x00006271 setflag  0x00000001 , 0x00000006 , 0x00000002 
- 00024561  0x00006272 storet  0x00000001 , 0x00000151 
- 00024562  0x00006273 rtn 
- 00024563  0x00006276 set0  0x00000011 , 0x00000000 
- 00024564  0x00006277 jam  0x00000000 , 0x00000151 
- 00024565  0x00006278 fetch  0x00000001 , 0x0000017f 
- 00024566  0x00006279 set0  0x00000006 , 0x0000003f 
- 00024567  0x0000627a store  0x00000001 , 0x0000017f 
- 00024568  0x0000627b rtn 
- 00024569  0x00006282 arg  0x00000552 , 0x00000006 
- 00024570  0x00006283 arg  0x00000562 , 0x00000005 
- 00024571  0x00006284 branch  0x00007ebf 
- 00024572  0x00006287 jam  0x00000009 , 0x0000007c 
- 00024573  0x00006288 rtn 
- 00024574  0x0000628b nrtn  0x00000029 
- 00024575  0x0000628c jam  0x00000011 , 0x0000007c 
- 00024576  0x0000628d rtn 
- 00024577  0x00006290 arg  0x000040a0 , 0x00000011 
- 00024578  0x00006291 call  0x00007255 
- 00024579  0x00006292 jam  0x00000003 , 0x0000007c 
- 00024580  0x00006293 jam  0x00000008 , 0x0000007d 
- 00024581  0x00006294 rtn 
- 00024582  0x00006297 jam  0x0000000a , 0x00000072 
- 00024583  0x00006298 jam  0x00000007 , 0x0000007c 
- 00024584  0x00006299 jam  0x00000016 , 0x000004ca 
- 00024585  0x0000629a rtn 
- 00024586  0x000062a1 bpatchx  0x00000082 , 0x00004030 
- 00024587  0x000062a2 disable  0x00000028 
- 00024588  0x000062a3 call  0x000062c1 
- 00024589  0x000062a4 fetch  0x00000001 , 0x00000048 
- 00024590  0x000062a5 rtn  0x00000034 
- 00024591  0x000062aa bbit1  0x00000007 , 0x0000603f 
- 00024592  0x000062ac beq  0x00000001 , 0x0000616f 
- 00024593  0x000062ad beq  0x00000002 , 0x000060e4 
- 00024594  0x000062ae beq  0x00000003 , 0x0000604a 
- 00024595  0x000062af beq  0x00000004 , 0x00006060 
- 00024596  0x000062b0 beq  0x00000027 , 0x000061db 
- 00024597  0x000062b1 beq  0x00000028 , 0x00006108 
- 00024598  0x000062b2 beq  0x00000030 , 0x000060f4 
- 00024599  0x000062b3 beq  0x00000025 , 0x000061d6 
- 00024600  0x000062b4 beq  0x00000026 , 0x00006103 
- 00024601  0x000062b5 beq  0x00000031 , 0x000061c3 
- 00024602  0x000062b6 beq  0x00000037 , 0x0000616a 
- 00024603  0x000062b7 beq  0x00000033 , 0x0000615c 
- 00024604  0x000062b8 beq  0x00000008 , 0x00006259 
- 00024605  0x000062b9 beq  0x00000009 , 0x0000624f 
- 00024606  0x000062ba beq  0x0000000b , 0x00006264 
- 00024607  0x000062bb beq  0x0000000c , 0x0000626d 
- 00024608  0x000062bc beq  0x0000000f , 0x00006162 
- 00024609  0x000062bd beq  0x00000010 , 0x00006292 
- 00024610  0x000062be beq  0x00000011 , 0x00006288 
- 00024611  0x000062bf beq  0x00000007 , 0x00006152 
- 00024612  0x000062c0 beq  0x0000002a , 0x0000617e 
- 00024613  0x000062c1 beq  0x0000000a , 0x0000617f 
- 00024614  0x000062c3 beq  0x0000001f , 0x000061bc 
- 00024615  0x000062c4 beq  0x00000006 , 0x000060f9 
- 00024616  0x000062c5 beq  0x00000021 , 0x0000615f 
- 00024617  0x000062c6 beq  0x0000002d , 0x000061b2 
- 00024618  0x000062c7 beq  0x0000002e , 0x000061b7 
- 00024619  0x000062c8 beq  0x00000022 , 0x0000615f 
- 00024620  0x000062c9 beq  0x00000034 , 0x00006180 
- 00024621  0x000062ca beq  0x00000013 , 0x00006195 
- 00024622  0x000062cb beq  0x00000017 , 0x000061a4 
- 00024623  0x000062cc beq  0x00000012 , 0x0000628f 
- 00024624  0x000062cd beq  0x0000002f , 0x000061aa 
- 00024625  0x000062ce beq  0x00000018 , 0x000061af 
- 00024626  0x000062cf beq  0x0000003d , 0x000061ff 
- 00024627  0x000062d0 beq  0x0000003e , 0x0000620b 
- 00024628  0x000062d1 beq  0x0000003f , 0x0000621d 
- 00024629  0x000062d2 beq  0x00000040 , 0x00006227 
- 00024630  0x000062d3 beq  0x00000041 , 0x0000623c 
- 00024631  0x000062d4 beq  0x00000023 , 0x0000624b 
- 00024632  0x000062d5 beq  0x0000003b , 0x00006246 
- 00024633  0x000062d7 beq  0x00000005 , 0x0000624c 
- 00024634  0x000062d8 beq  0x00000029 , 0x0000624d 
- 00024635  0x000062d9 beq  0x00000038 , 0x0000624e 
- 00024636  0x000062da beq  0x00000039 , 0x00006175 
- 00024637  0x000062dc branch  0x00002a8c 
- 00024638  0x000062dd rtn 
- 00024639  0x000062df beq  0x00000081 , 0x0000606d 
- 00024640  0x000062e0 beq  0x00000084 , 0x00006099 
- 00024641  0x000062e1 beq  0x00000082 , 0x00006076 
- 00024642  0x000062e2 beq  0x00000083 , 0x0000610d 
- 00024643  0x000062e3 beq  0x0000008b , 0x00006118 
- 00024644  0x000062e4 beq  0x00000097 , 0x0000614e 
- 00024645  0x000062e5 beq  0x00000099 , 0x000060d5 
- 00024646  0x000062e6 beq  0x0000009a , 0x000060a4 
- 00024647  0x000062e7 beq  0x00000095 , 0x000060da 
- 00024648  0x000062e8 beq  0x00000096 , 0x000060db 
- 00024649  0x000062e9 branch  0x00002a8c 
- 00024650  0x000062f0 force  0x00000002 , 0x0000003f 
- 00024651  0x000062f1 call  0x00006298 
- 00024652  0x000062f2 fetch  0x00000001 , 0x00000049 
- 00024653  0x000062f3 istore  0x00000001 , 0x00000005 
- 00024654  0x000062f4 call  0x000062a7 
- 00024655  0x000062f5 bpatchx  0x00000083 , 0x00004030 
- 00024656  0x000062f6 fetch  0x00000001 , 0x00000049 
- 00024657  0x000062f7 beq  0x00000008 , 0x00006080 
- 00024658  0x000062f8 beq  0x0000000f , 0x00006084 
- 00024659  0x000062f9 beq  0x00000010 , 0x0000608f 
- 00024660  0x000062fa beq  0x00000017 , 0x0000605f 
- 00024661  0x000062fb beq  0x00000033 , 0x00006092 
- 00024662  0x000062fc beq  0x00000041 , 0x00006098 
- 00024663  0x000062fd beq  0x00000011 , 0x00006059 
- 00024664  0x000062fe rtn 
- 00024665  0x00006301 fetch  0x00000001 , 0x00000055 
- 00024666  0x00006302 rtn  0x00000034 
- 00024667  0x00006303 jam  0x0000001b , 0x00000055 
- 00024668  0x00006304 setarg  0x0000000c 
- 00024669  0x00006305 arg  0x00000007 , 0x00000007 
- 00024670  0x00006306 branch  0x00007f08 
- 00024671  0x00006309 branch  0x000026c6 
- 00024672  0x0000630b force  0x00000003 , 0x0000003f 
- 00024673  0x0000630c call  0x00006298 
- 00024674  0x0000630d fetch  0x00000001 , 0x00000049 
- 00024675  0x0000630e beq  0x0000000b , 0x00006068 
- 00024676  0x0000630f istore  0x00000001 , 0x00000005 
- 00024677  0x00006310 fetch  0x00000001 , 0x0000004a 
- 00024678  0x00006311 istore  0x00000001 , 0x00000005 
- 00024679  0x00006312 branch  0x000062a7 
- 00024680  0x00006315 istore  0x00000001 , 0x00000005 
- 00024681  0x00006316 fetch  0x00000001 , 0x0000004a 
- 00024682  0x00006317 istore  0x00000001 , 0x00000005 
- 00024683  0x00006318 arg  0x000004d5 , 0x00000002 
- 00024684  0x00006319 branch  0x000062e2 
- 00024685  0x0000631c force  0x00000004 , 0x00000007 
- 00024686  0x0000631d call  0x000062a0 
- 00024687  0x0000631e setarg  0x0000007f 
- 00024688  0x0000631f istore  0x00000001 , 0x00000005 
- 00024689  0x00006320 fetch  0x00000001 , 0x00000049 
- 00024690  0x00006321 set0  0x00000007 , 0x0000003f 
- 00024691  0x00006322 istore  0x00000001 , 0x00000005 
- 00024692  0x00006323 fetch  0x00000001 , 0x00000049 
- 00024693  0x00006324 branch  0x000062a7 
- 00024694  0x00006327 force  0x00000005 , 0x00000007 
- 00024695  0x00006328 call  0x000062a0 
- 00024696  0x00006329 setarg  0x0000007f 
- 00024697  0x0000632a istore  0x00000001 , 0x00000005 
- 00024698  0x0000632b fetch  0x00000001 , 0x00000049 
- 00024699  0x0000632c set0  0x00000007 , 0x0000003f 
- 00024700  0x0000632d istore  0x00000001 , 0x00000005 
- 00024701  0x0000632e fetch  0x00000001 , 0x0000004a 
- 00024702  0x0000632f istore  0x00000001 , 0x00000005 
- 00024703  0x00006330 branch  0x000062a7 
- 00024704  0x00006334 call  0x0000244f 
- 00024705  0x00006335 call  0x000062f3 
- 00024706  0x00006336 rtn  0x00000001 
- 00024707  0x00006337 branch  0x00005ffc 
- 00024708  0x0000633a fetch  0x00000001 , 0x0000004b 
- 00024709  0x0000633b bbit1  0x00000005 , 0x0000608b 
- 00024710  0x0000633c rtnbit0  0x00000004 
- 00024711  0x0000633d jam  0x00000012 , 0x0000007c 
- 00024712  0x0000633e set0  0x00000004 , 0x0000003f 
- 00024713  0x0000633f call  0x000062eb 
- 00024714  0x00006340 branch  0x0000608d 
- 00024715  0x00006342 jam  0x00000010 , 0x0000007c 
- 00024716  0x00006343 set0  0x00000005 , 0x0000003f 
- 00024717  0x00006345 store  0x00000001 , 0x0000004b 
- 00024718  0x00006346 rtn 
- 00024719  0x00006349 call  0x000062fc 
- 00024720  0x0000634a branch  0x00005ffe , 0x00000001 
- 00024721  0x0000634b rtn 
- 00024722  0x0000634e jam  0x0000008b , 0x0000007c 
- 00024723  0x00006350 fetch  0x00000001 , 0x000004d1 
- 00024724  0x00006351 set1  0x00000000 , 0x0000003f 
- 00024725  0x00006352 store  0x00000001 , 0x000004d1 
- 00024726  0x00006353 jam  0x00000001 , 0x00000a99 
- 00024727  0x00006354 branch  0x00007d86 
- 00024728  0x00006358 rtn 
- 00024729  0x0000635d force  0x0000000c , 0x00000007 
- 00024730  0x0000635e call  0x000062a0 
- 00024731  0x0000635f setarg  0x00000001 
- 00024732  0x00006360 istore  0x00000001 , 0x00000005 
- 00024733  0x00006361 fetch  0x00000002 , 0x000004ce 
- 00024734  0x00006362 istore  0x00000002 , 0x00000005 
- 00024735  0x00006363 setarg  0x00000000 
- 00024736  0x00006364 istore  0x00000003 , 0x00000005 
- 00024737  0x00006365 setarg  0x00000000 
- 00024738  0x00006366 istore  0x00000004 , 0x00000005 
- 00024739  0x00006367 branch  0x000062b0 
- 00024740  0x00006369 force  0x00000005 , 0x00000007 
- 00024741  0x0000636a call  0x000062a0 
- 00024742  0x0000636b fetch  0x00000003 , 0x0000465b 
- 00024743  0x0000636c istore  0x00000003 , 0x00000005 
- 00024744  0x0000636d call  0x000062b0 
- 00024745  0x0000636e jam  0x00000001 , 0x00004665 
- 00024746  0x0000636f fetch  0x00000001 , 0x0000465b 
- 00024747  0x00006370 beq  0x00000001 , 0x000060b5 
- 00024748  0x00006371 beq  0x00000002 , 0x000060af 
- 00024749  0x00006372 beq  0x00000003 , 0x000060bb 
- 00024750  0x00006373 rtn 
- 00024751  0x00006376 fetch  0x00000001 , 0x0000465e 
- 00024752  0x00006377 beq  0x00000000 , 0x000060c7 
- 00024753  0x00006378 beq  0x00000001 , 0x000060c7 
- 00024754  0x00006379 beq  0x00000002 , 0x000060c7 
- 00024755  0x0000637a beq  0x00000003 , 0x000060c1 
- 00024756  0x0000637b rtn 
- 00024757  0x0000637f fetch  0x00000001 , 0x0000465e 
- 00024758  0x00006380 beq  0x00000000 , 0x000060c1 
- 00024759  0x00006381 beq  0x00000001 , 0x000060c5 
- 00024760  0x00006382 beq  0x00000002 , 0x000060c7 
- 00024761  0x00006383 beq  0x00000003 , 0x000060c1 
- 00024762  0x00006384 rtn 
- 00024763  0x00006388 fetch  0x00000001 , 0x0000465e 
- 00024764  0x00006389 beq  0x00000000 , 0x000060c1 
- 00024765  0x0000638a beq  0x00000001 , 0x000060c1 
- 00024766  0x0000638b beq  0x00000002 , 0x000060c1 
- 00024767  0x0000638c beq  0x00000003 , 0x000060c1 
- 00024768  0x0000638d rtn 
- 00024769  0x00006397 jam  0x00000003 , 0x00004662 
- 00024770  0x00006398 fetch  0x00000001 , 0x0000455c 
- 00024771  0x00006399 bbit1  0x00000000 , 0x000033e9 
- 00024772  0x0000639a rtn 
- 00024773  0x0000639e jam  0x00000001 , 0x00004662 
- 00024774  0x0000639f rtn 
- 00024775  0x000063a6 jam  0x00000002 , 0x00004662 
- 00024776  0x000063a7 rtn 
- 00024777  0x000063ab arg  0x00000000 , 0x00000007 
- 00024778  0x000063ac branch  0x000060cd 
- 00024779  0x000063af arg  0x00000000 , 0x00000007 
- 00024780  0x000063b0 branch  0x000060d1 
- 00024781  0x000063b3 fetch  0x00000001 , 0x0000455c 
- 00024782  0x000063b4 qset1  0x0000003f 
- 00024783  0x000063b5 store  0x00000001 , 0x0000455c 
- 00024784  0x000063b6 rtn 
- 00024785  0x000063b9 fetch  0x00000001 , 0x0000455c 
- 00024786  0x000063ba qset0  0x0000003f 
- 00024787  0x000063bb store  0x00000001 , 0x0000455c 
- 00024788  0x000063bc rtn 
- 00024789  0x000063c0 force  0x00000005 , 0x00000007 
- 00024790  0x000063c1 call  0x000062a0 
- 00024791  0x000063c2 fetch  0x00000003 , 0x0000465b 
- 00024792  0x000063c3 istore  0x00000003 , 0x00000005 
- 00024793  0x000063c4 branch  0x000062b2 
- 00024794  0x000063c9 rtn 
- 00024795  0x000063cb force  0x00000009 , 0x00000007 
- 00024796  0x000063cc call  0x000062a0 
- 00024797  0x000063cd fetch  0x00000001 , 0x00000095 
- 00024798  0x000063ce istore  0x00000001 , 0x00000005 
- 00024799  0x000063cf fetch  0x00000002 , 0x00000096 
- 00024800  0x000063d0 istore  0x00000002 , 0x00000005 
- 00024801  0x000063d1 fetch  0x00000004 , 0x00000091 
- 00024802  0x000063d2 istore  0x00000004 , 0x00000005 
- 00024803  0x000063d3 branch  0x000062b0 
- 00024804  0x000063d6 force  0x00000011 , 0x0000003f 
- 00024805  0x000063d7 call  0x00006298 
- 00024806  0x000063d8 fetch  0x00000001 , 0x00000049 
- 00024807  0x000063d9 copy  0x0000003f , 0x00000002 
- 00024808  0x000063da beq  0x00000000 , 0x000060ec 
- 00024809  0x000063db beq  0x0000000e , 0x000060ec 
- 00024810  0x000063dc beq  0x0000001c , 0x000060ec 
- 00024811  0x000063dd rtn 
- 00024812  0x000063df istore  0x00000001 , 0x00000005 
- 00024813  0x000063e0 fetch  0x00000001 , 0x00004515 
- 00024814  0x000063e1 istore  0x00000001 , 0x00000005 
- 00024815  0x000063e2 arg  0x0000000e , 0x00000039 
- 00024816  0x000063e3 setarg  0x00004516 
- 00024817  0x000063e4 iadd  0x00000002 , 0x00000006 
- 00024818  0x000063e5 call  0x00007f01 
- 00024819  0x000063e6 branch  0x000062b0 
- 00024820  0x000063ea force  0x00000003 , 0x0000003f 
- 00024821  0x000063eb call  0x00006298 
- 00024822  0x000063ec setarg  0x00000114 
- 00024823  0x000063ed istore  0x00000002 , 0x00000005 
- 00024824  0x000063ee branch  0x000062b0 
- 00024825  0x000063f2 force  0x00000003 , 0x0000003f 
- 00024826  0x000063f3 call  0x00006298 
- 00024827  0x000063f4 fetch  0x00000004 , 0x00000165 
- 00024828  0x000063f5 isub  0x00000022 , 0x0000003f 
- 00024829  0x000063f6 branch  0x000060ff , 0x00000029 
- 00024830  0x000063f7 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00024831  0x000063fa rshift2  0x0000003f , 0x0000003f 
- 00024832  0x000063fb set0  0x0000000f , 0x0000003f 
- 00024833  0x000063fc istore  0x00000002 , 0x00000005 
- 00024834  0x000063fd branch  0x000062b0 
- 00024835  0x00006400 force  0x00000006 , 0x0000003f 
- 00024836  0x00006401 call  0x00006298 
- 00024837  0x00006402 fetch  0x00000005 , 0x00004510 
- 00024838  0x00006403 istore  0x00000005 , 0x00000005 
- 00024839  0x00006404 branch  0x000062b0 
- 00024840  0x00006407 force  0x00000009 , 0x0000003f 
- 00024841  0x00006408 call  0x00006298 
- 00024842  0x00006409 fetch  0x00000008 , 0x00004098 
- 00024843  0x0000640a istore  0x00000008 , 0x00000005 
- 00024844  0x0000640b branch  0x000062b0 
- 00024845  0x00006413 force  0x0000000c , 0x00000007 
- 00024846  0x00006414 call  0x000062a0 
- 00024847  0x00006415 setarg  0x00000001 
- 00024848  0x00006416 istore  0x00000001 , 0x00000005 
- 00024849  0x00006417 fetch  0x00000002 , 0x000004ce 
- 00024850  0x00006418 istore  0x00000002 , 0x00000005 
- 00024851  0x00006419 setarg  0x00000000 
- 00024852  0x0000641a istore  0x00000003 , 0x00000005 
- 00024853  0x0000641b setarg  0x00000000 
- 00024854  0x0000641c istore  0x00000004 , 0x00000005 
- 00024855  0x0000641d branch  0x000062b2 
- 00024856  0x00006420 force  0x00000003 , 0x00000007 
- 00024857  0x00006421 call  0x000062a0 
- 00024858  0x00006422 fetch  0x00000001 , 0x0000415a 
- 00024859  0x00006423 istore  0x00000001 , 0x00000005 
- 00024860  0x00006424 disable  0x00000028 
- 00024861  0x00006425 call  0x000062b2 
- 00024862  0x00006426 nrtn  0x00000028 
- 00024863  0x00006427 nrtn  0x00000029 
- 00024864  0x00006428 fetch  0x00000001 , 0x000040d8 
- 00024865  0x00006429 rtnbit0  0x00000000 
- 00024866  0x0000642a call  0x00006132 
- 00024867  0x0000642b branch  0x0000613c 
- 00024868  0x0000642f bpatchx  0x00000084 , 0x00004030 
- 00024869  0x00006430 fetch  0x00000001 , 0x0000409e 
- 00024870  0x00006431 set1  0x00000003 , 0x0000003f 
- 00024871  0x00006432 store  0x00000001 , 0x0000409e 
- 00024872  0x00006433 setarg  0x00000101 
- 00024873  0x00006434 store  0x00000002 , 0x000004ce 
- 00024874  0x00006435 rtn 
- 00024875  0x00006438 bpatchx  0x00000085 , 0x00004030 
- 00024876  0x00006439 fetch  0x00000001 , 0x0000409e 
- 00024877  0x0000643a set0  0x00000003 , 0x0000003f 
- 00024878  0x0000643b store  0x00000001 , 0x0000409e 
- 00024879  0x0000643c setarg  0x00000000 
- 00024880  0x0000643d store  0x00000002 , 0x000004ce 
- 00024881  0x0000643e rtn 
- 00024882  0x00006441 jam  0x00000003 , 0x000040d8 
- 00024883  0x00006442 setarg  0x00000000 
- 00024884  0x00006443 store  0x00000004 , 0x00004142 
- 00024885  0x00006444 arg  0x000040da , 0x00000005 
- 00024886  0x00006445 call  0x00006140 
- 00024887  0x00006446 arg  0x000040e7 , 0x00000005 
- 00024888  0x00006447 call  0x00006140 
- 00024889  0x00006448 arg  0x00004146 , 0x00000005 
- 00024890  0x00006449 call  0x00006140 
- 00024891  0x0000644a branch  0x00006147 
- 00024892  0x0000644c arg  0x000040e7 , 0x00000005 
- 00024893  0x0000644d call  0x00006140 
- 00024894  0x0000644e call  0x00006147 
- 00024895  0x0000644f branch  0x0000614a 
- 00024896  0x00006453 setarg  0x00ffffff 
- 00024897  0x00006454 istore  0x00000003 , 0x00000005 
- 00024898  0x00006455 istore  0x00000003 , 0x00000005 
- 00024899  0x00006456 istore  0x00000003 , 0x00000005 
- 00024900  0x00006457 setarg  0x0000007f 
- 00024901  0x00006458 istore  0x00000001 , 0x00000005 
- 00024902  0x00006459 rtn 
- 00024903  0x0000645b setarg  0x00000000 
- 00024904  0x0000645c store  0x00000002 , 0x000040d6 
- 00024905  0x0000645d rtn 
- 00024906  0x0000645f fetch  0x00000001 , 0x000040d8 
- 00024907  0x00006460 set1  0x00000002 , 0x0000003f 
- 00024908  0x00006461 store  0x00000001 , 0x000040d8 
- 00024909  0x00006462 rtn 
- 00024910  0x00006466 force  0x00000002 , 0x00000007 
- 00024911  0x00006467 call  0x000062a0 
- 00024912  0x00006468 nbranch  0x000062b0 , 0x00000029 
- 00024913  0x0000646a branch  0x000062b2 
- 00024914  0x0000646f force  0x00000002 , 0x0000003f 
- 00024915  0x00006470 call  0x00006298 
- 00024916  0x00006471 fetch  0x00000001 , 0x000004ca 
- 00024917  0x00006472 istore  0x00000001 , 0x00000005 
- 00024918  0x00006473 call  0x000062b2 
- 00024919  0x00006475 fetch  0x00000001 , 0x0000004b 
- 00024920  0x00006476 set1  0x00000003 , 0x0000003f 
- 00024921  0x00006477 store  0x00000001 , 0x0000004b 
- 00024922  0x00006478 jam  0x00000032 , 0x00000072 
- 00024923  0x00006479 rtn 
- 00024924  0x0000647d force  0x00000001 , 0x0000003f 
- 00024925  0x0000647e call  0x00006298 
- 00024926  0x0000647f branch  0x000062b2 
- 00024927  0x00006481 force  0x00000001 , 0x0000003f 
- 00024928  0x00006482 call  0x00006298 
- 00024929  0x00006483 branch  0x000062b0 
- 00024930  0x00006487 force  0x00000002 , 0x0000003f 
- 00024931  0x00006488 call  0x00006298 
- 00024932  0x00006489 fetch  0x00000001 , 0x0000004c 
- 00024933  0x0000648a isolate0  0x00000002 , 0x0000003f 
- 00024934  0x0000648b setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00024935  0x0000648c and_into  0x00000001 , 0x0000003f 
- 00024936  0x0000648d istore  0x00000001 , 0x00000005 
- 00024937  0x0000648e branch  0x000062b2 
- 00024938  0x00006492 force  0x00000003 , 0x0000003f 
- 00024939  0x00006493 call  0x00006298 
- 00024940  0x00006494 fetch  0x00000002 , 0x00000051 
- 00024941  0x00006495 istore  0x00000002 , 0x00000005 
- 00024942  0x00006496 branch  0x000062b2 
- 00024943  0x00006499 jam  0x000000fa , 0x00000072 
- 00024944  0x0000649a force  0x00000002 , 0x0000003f 
- 00024945  0x0000649b call  0x00006298 
- 00024946  0x0000649c fetch  0x00000001 , 0x00000053 
- 00024947  0x0000649d istore  0x00000001 , 0x00000005 
- 00024948  0x0000649e branch  0x000062b2 
- 00024949  0x000064a1 force  0x0000000a , 0x0000003f 
- 00024950  0x000064a2 call  0x00006298 
- 00024951  0x000064a3 arg  0x00000152 , 0x00000006 
- 00024952  0x000064a4 force  0x00000009 , 0x00000039 
- 00024953  0x000064a6 ifetch  0x00000001 , 0x00000006 
- 00024954  0x000064a7 xor_into  0x00000055 , 0x0000003f 
- 00024955  0x000064a8 istore  0x00000001 , 0x00000005 
- 00024956  0x000064a9 loop  0x00006179 
- 00024957  0x000064aa branch  0x000062b2 
- 00024958  0x000064ad branch  0x000062b2 
- 00024959  0x000064af branch  0x000062b2 
- 00024960  0x000064b2 rtn  0x00000029 
- 00024961  0x000064b3 call  0x0000282d 
- 00024962  0x000064b4 force  0x00000009 , 0x0000003f 
- 00024963  0x000064b5 call  0x00006298 
- 00024964  0x000064b6 fetch  0x00000002 , 0x00000171 
- 00024965  0x000064b7 istore  0x00000002 , 0x00000005 
- 00024966  0x000064b8 fetch  0x00000003 , 0x000040a0 
- 00024967  0x000064b9 istore  0x00000003 , 0x00000005 
- 00024968  0x000064ba fetch  0x00000001 , 0x000040a3 
- 00024969  0x000064bb istore  0x00000001 , 0x00000005 
- 00024970  0x000064bc fetch  0x00000002 , 0x000040a4 
- 00024971  0x000064bd istore  0x00000002 , 0x00000005 
- 00024972  0x000064be bmark0  0x00000003 , 0x00006191 
- 00024973  0x000064bf set0  0x00000003 , 0x00000000 
- 00024974  0x000064c0 call  0x000062b2 
- 00024975  0x000064c1 jam  0x00000013 , 0x0000007c 
- 00024976  0x000064c2 rtn 
- 00024977  0x000064c4 call  0x000062b0 
- 00024978  0x000064c5 jam  0x00000003 , 0x0000007c 
- 00024979  0x000064c6 jam  0x00000013 , 0x0000007d 
- 00024980  0x000064c7 rtn 
- 00024981  0x000064ca arg  0x00000200 , 0x00000002 
- 00024982  0x000064cb branch  0x00006199 , 0x00000029 
- 00024983  0x000064cc deposit  0x00000028 
- 00024984  0x000064cd branch  0x0000619a 
- 00024985  0x000064cf deposit  0x00000022 
- 00024986  0x000064d1 deposit  0x00000021 
- 00024987  0x000064d2 iadd  0x00000002 , 0x0000003f 
- 00024988  0x000064d3 and_into  0x000001fc , 0x0000003f 
- 00024989  0x000064d4 store  0x00000004 , 0x00000034 
- 00024990  0x000064d5 force  0x00000005 , 0x0000003f 
- 00024991  0x000064d6 call  0x00006298 
- 00024992  0x000064d7 fetch  0x00000004 , 0x00000034 
- 00024993  0x000064d8 rshift  0x0000003f , 0x0000003f 
- 00024994  0x000064d9 istore  0x00000004 , 0x00000005 
- 00024995  0x000064da branch  0x000062b2 
- 00024996  0x000064dd force  0x0000000a , 0x0000003f 
- 00024997  0x000064de call  0x00006298 
- 00024998  0x000064df arg  0x000004d9 , 0x00000006 
- 00024999  0x000064e0 ifetch  0x00000009 , 0x00000006 
- 00025000  0x000064e1 istore  0x00000009 , 0x00000005 
- 00025001  0x000064e2 branch  0x000062b2 
- 00025002  0x000064e7 force  0x00000003 , 0x0000003f 
- 00025003  0x000064e8 call  0x00006298 
- 00025004  0x000064e9 setarg  0x00000114 
- 00025005  0x000064ea istore  0x00000002 , 0x00000005 
- 00025006  0x000064eb branch  0x000062b2 
- 00025007  0x000064ef force  0x00000001 , 0x0000003f 
- 00025008  0x000064f0 call  0x00006298 
- 00025009  0x000064f9 branch  0x000062b2 
- 00025010  0x000064fd force  0x00000002 , 0x0000003f 
- 00025011  0x000064fe call  0x00006298 
- 00025012  0x000064ff fetch  0x00000001 , 0x000040d0 
- 00025013  0x00006500 istore  0x00000001 , 0x00000005 
- 00025014  0x00006501 branch  0x000062b2 
- 00025015  0x00006505 force  0x00000002 , 0x0000003f 
- 00025016  0x00006506 call  0x00006298 
- 00025017  0x00006507 setarg  0x00000005 
- 00025018  0x00006508 istore  0x00000001 , 0x00000005 
- 00025019  0x00006509 branch  0x000062b2 
- 00025020  0x0000650d force  0x00000002 , 0x0000003f 
- 00025021  0x0000650e call  0x00006298 
- 00025022  0x0000650f setarg  0x00000000 
- 00025023  0x00006510 istore  0x00000001 , 0x00000005 
- 00025024  0x00006511 branch  0x000062b2 
- 00025025  0x00006515 jam  0x0000002e , 0x0000007c 
- 00025026  0x00006516 rtn 
- 00025027  0x00006518 fetch  0x00000001 , 0x00004092 
- 00025028  0x00006519 sub  0x0000003f , 0x0000000a , 0x0000003e 
- 00025029  0x0000651a call  0x000061c1 , 0x00000005 
- 00025030  0x0000651b fetch  0x00000001 , 0x00000030 
- 00025031  0x0000651c set1  0x00000004 , 0x0000003f 
- 00025032  0x0000651d store  0x00000001 , 0x00000030 
- 00025033  0x0000651e copy  0x00000022 , 0x0000003f 
- 00025034  0x0000651f store  0x00000004 , 0x000004e9 
- 00025035  0x00006520 fetch  0x00000001 , 0x000004d1 
- 00025036  0x00006521 bbit1  0x00000003 , 0x000061d4 
- 00025037  0x00006522 set1  0x00000003 , 0x0000003f 
- 00025038  0x00006523 store  0x00000001 , 0x000004d1 
- 00025039  0x00006524 jam  0x00000005 , 0x00000a99 
- 00025040  0x00006525 call  0x00007d86 
- 00025041  0x00006526 force  0x00000001 , 0x0000003f 
- 00025042  0x00006527 call  0x00006298 
- 00025043  0x00006528 branch  0x000062b2 
- 00025044  0x0000652a jam  0x00000000 , 0x00000048 
- 00025045  0x0000652b rtn 
- 00025046  0x0000652e force  0x00000006 , 0x0000003f 
- 00025047  0x0000652f call  0x00006298 
- 00025048  0x00006530 fetch  0x00000005 , 0x00004510 
- 00025049  0x00006531 istore  0x00000005 , 0x00000005 
- 00025050  0x00006532 branch  0x000062b2 
- 00025051  0x00006535 force  0x00000009 , 0x0000003f 
- 00025052  0x00006536 call  0x00006298 
- 00025053  0x00006537 fetch  0x00000008 , 0x00004098 
- 00025054  0x00006538 istore  0x00000008 , 0x00000005 
- 00025055  0x00006539 branch  0x000062b2 
- 00025056  0x0000653c jam  0x00000001 , 0x000009b1 
- 00025057  0x0000653d fetch  0x00000001 , 0x000045b1 
- 00025058  0x0000653e rtnne  0x00000001 
- 00025059  0x0000653f jam  0x00000013 , 0x000009af 
- 00025060  0x00006540 rtn 
- 00025061  0x00006543 call  0x000062ef 
- 00025062  0x00006544 jam  0x00000099 , 0x0000007c 
- 00025063  0x00006545 jam  0x00000003 , 0x000009af 
- 00025064  0x00006546 rtn 
- 00025065  0x0000654a call  0x000062ef 
- 00025066  0x0000654b jam  0x0000003d , 0x0000007c 
- 00025067  0x0000654c jam  0x00000007 , 0x000009af 
- 00025068  0x0000654d rtn 
- 00025069  0x00006550 arg  0x00000a4e , 0x00000011 
- 00025070  0x00006551 arg  0x00000a6e , 0x00000012 
- 00025071  0x00006552 arg  0x00000010 , 0x00000039 
- 00025072  0x00006553 call  0x00007f88 
- 00025073  0x00006554 branch  0x000061f7 , 0x00000005 
- 00025074  0x00006555 jam  0x00000000 , 0x000009af 
- 00025075  0x00006556 call  0x000076da 
- 00025076  0x00006557 jam  0x00000024 , 0x0000007e 
- 00025077  0x00006558 jam  0x00000040 , 0x0000007d 
- 00025078  0x00006559 branch  0x00005d53 
- 00025079  0x0000655b jam  0x0000000a , 0x000009af 
- 00025080  0x0000655c call  0x000076d8 
- 00025081  0x0000655d jam  0x00000040 , 0x0000007d 
- 00025082  0x0000655e branch  0x00005e38 
- 00025083  0x00006563 jam  0x00000040 , 0x0000007c 
- 00025084  0x00006564 rtn 
- 00025085  0x0000656b jam  0x0000003d , 0x0000007c 
- 00025086  0x0000656d rtn 
- 00025087  0x00006574 jam  0x00000000 , 0x000009b6 
- 00025088  0x00006575 force  0x00000004 , 0x0000003f 
- 00025089  0x00006576 call  0x00006298 
- 00025090  0x00006577 force  0x00000001 , 0x0000003f 
- 00025091  0x00006578 istore  0x00000001 , 0x00000005 
- 00025092  0x00006579 force  0x00000001 , 0x0000003f 
- 00025093  0x0000657a istore  0x00000001 , 0x00000005 
- 00025094  0x0000657b force  0x00000030 , 0x0000003f 
- 00025095  0x0000657c istore  0x00000001 , 0x00000005 
- 00025096  0x0000657d call  0x000062fc 
- 00025097  0x0000657e branch  0x000062b2 , 0x00000001 
- 00025098  0x0000657f branch  0x000062b0 
- 00025099  0x00006583 force  0x00000011 , 0x0000003f 
- 00025100  0x00006584 call  0x00006298 
- 00025101  0x00006585 fetch  0x00000001 , 0x000009b6 
- 00025102  0x00006586 arg  0x0000462a , 0x00000006 
- 00025103  0x00006587 iadd  0x00000006 , 0x00000006 
- 00025104  0x00006588 ifetch  0x00000008 , 0x00000006 
- 00025105  0x00006589 istore  0x00000008 , 0x00000005 
- 00025106  0x0000658a ifetch  0x00000008 , 0x00000006 
- 00025107  0x0000658b istore  0x00000008 , 0x00000005 
- 00025108  0x0000658c fetch  0x00000001 , 0x000009b6 
- 00025109  0x0000658d increase  0x00000010 , 0x0000003f 
- 00025110  0x0000658e store  0x00000001 , 0x000009b6 
- 00025111  0x0000658f call  0x000062fc 
- 00025112  0x00006590 branch  0x000062b2 , 0x00000001 
- 00025113  0x00006591 branch  0x000062b0 
- 00025114  0x00006595 jam  0x00000006 , 0x000009ae 
- 00025115  0x00006596 jam  0x0000003f , 0x0000007c 
- 00025116  0x00006597 rtn 
- 00025117  0x0000659b force  0x00000011 , 0x0000003f 
- 00025118  0x0000659c call  0x00006298 
- 00025119  0x0000659d arg  0x00000a4e , 0x00000006 
- 00025120  0x0000659e ifetch  0x00000008 , 0x00000006 
- 00025121  0x0000659f istore  0x00000008 , 0x00000005 
- 00025122  0x000065a0 ifetch  0x00000008 , 0x00000006 
- 00025123  0x000065a1 istore  0x00000008 , 0x00000005 
- 00025124  0x000065a2 branch  0x000062b0 
- 00025125  0x000065a5 jam  0x00000040 , 0x0000007c 
- 00025126  0x000065a6 rtn 
- 00025127  0x000065aa call  0x000062fc 
- 00025128  0x000065ab call  0x00007612 , 0x00000001 
- 00025129  0x000065ac force  0x00000011 , 0x0000003f 
- 00025130  0x000065ad call  0x00006298 
- 00025131  0x000065ae arg  0x00000a1e , 0x00000006 
- 00025132  0x000065af ifetch  0x00000008 , 0x00000006 
- 00025133  0x000065b0 istore  0x00000008 , 0x00000005 
- 00025134  0x000065b1 ifetch  0x00000008 , 0x00000006 
- 00025135  0x000065b2 istore  0x00000008 , 0x00000005 
- 00025136  0x000065b3 call  0x000062fc 
- 00025137  0x000065b4 nbranch  0x000062b0 , 0x00000001 
- 00025138  0x000065b5 branch  0x000062b2 , 0x00000001 
- 00025139  0x000065b9 jam  0x0000000f , 0x000009af 
- 00025140  0x000065bb call  0x000062ef 
- 00025141  0x000065bc jam  0x0000000b , 0x0000007c 
- 00025142  0x000065bd call  0x00006307 
- 00025143  0x000065be branch  0x0000764e , 0x00000001 
- 00025144  0x000065bf branch  0x00007658 
- 00025145  0x000065c1 call  0x000062eb 
- 00025146  0x000065c3 jam  0x00000041 , 0x0000007c 
- 00025147  0x000065c4 rtn 
- 00025148  0x000065c7 force  0x00000011 , 0x0000003f 
- 00025149  0x000065c8 call  0x00006298 
- 00025150  0x000065c9 arg  0x00000a4e , 0x00000006 
- 00025151  0x000065ca ifetch  0x00000008 , 0x00000006 
- 00025152  0x000065cb istore  0x00000008 , 0x00000005 
- 00025153  0x000065cc ifetch  0x00000008 , 0x00000006 
- 00025154  0x000065cd istore  0x00000008 , 0x00000005 
- 00025155  0x000065ce call  0x000062fc 
- 00025156  0x000065cf nbranch  0x000062b0 , 0x00000001 
- 00025157  0x000065d0 branch  0x000062b2 , 0x00000001 
- 00025158  0x000065d3 force  0x00000003 , 0x0000003f 
- 00025159  0x000065d4 call  0x00006298 
- 00025160  0x000065d5 setarg  0x0000fffe 
- 00025161  0x000065d6 istore  0x00000002 , 0x00000005 
- 00025162  0x000065d7 branch  0x000062b0 
- 00025163  0x000065da branch  0x000062b2 
- 00025164  0x000065dc branch  0x000062b2 
- 00025165  0x000065de branch  0x000062b2 
- 00025166  0x000065e0 branch  0x000062b2 
- 00025167  0x000065e6 call  0x0000630b 
- 00025168  0x000065e7 arg  0x000040a0 , 0x00000011 
- 00025169  0x000065e8 call  0x00006311 
- 00025170  0x000065e9 force  0x00000011 , 0x0000003f 
- 00025171  0x000065ea call  0x00006298 
- 00025172  0x000065eb arg  0x00000582 , 0x00000011 
- 00025173  0x000065ec arg  0x00000562 , 0x00000012 
- 00025174  0x000065ed call  0x00007352 
- 00025175  0x000065ee nbranch  0x000062a7 , 0x00000029 
- 00025176  0x000065ef branch  0x000062ad 
- 00025177  0x000065f2 call  0x0000630b 
- 00025178  0x000065f3 arg  0x00000040 , 0x00000011 
- 00025179  0x000065f4 call  0x00007255 
- 00025180  0x000065f6 force  0x00000011 , 0x0000003f 
- 00025181  0x000065f7 call  0x00006298 
- 00025182  0x000065f8 arg  0x00000562 , 0x00000006 
- 00025183  0x000065f9 call  0x00007ebf 
- 00025184  0x000065fa fetch  0x00000001 , 0x00000055 
- 00025185  0x000065fb beq  0x00000019 , 0x000062b2 
- 00025186  0x000065fc beq  0x00000018 , 0x000062b2 
- 00025187  0x000065fd branch  0x000062ad 
- 00025188  0x00006600 fetch  0x00000001 , 0x000009b5 
- 00025189  0x00006601 branch  0x0000626a , 0x00000034 
- 00025190  0x00006602 call  0x000062fc 
- 00025191  0x00006603 call  0x000062ef , 0x00000001 
- 00025192  0x00006604 ncall  0x000062eb , 0x00000001 
- 00025193  0x00006605 branch  0x0000626b 
- 00025194  0x00006607 call  0x000062ef 
- 00025195  0x00006609 call  0x0000630b 
- 00025196  0x0000660a branch  0x0000625c 
- 00025197  0x0000660d arg  0x000040a0 , 0x00000011 
- 00025198  0x0000660e call  0x00007288 
- 00025199  0x0000660f force  0x00000005 , 0x0000003f 
- 00025200  0x00006610 call  0x00006298 
- 00025201  0x00006611 fetch  0x00000004 , 0x00000592 
- 00025202  0x00006612 istore  0x00000004 , 0x00000005 
- 00025203  0x00006613 arg  0x000004d5 , 0x00000002 
- 00025204  0x00006614 call  0x000062e2 
- 00025205  0x00006615 call  0x00007386 
- 00025206  0x00006616 call  0x000062fc 
- 00025207  0x00006617 branch  0x0000627c , 0x00000001 
- 00025208  0x00006618 jam  0x00000001 , 0x000004d8 
- 00025209  0x00006619 fetch  0x00000001 , 0x000009b5 
- 00025210  0x0000661a rtn  0x00000034 
- 00025211  0x0000661b jam  0x0000000b , 0x0000007c 
- 00025212  0x0000661d fetch  0x00000001 , 0x000041bd 
- 00025213  0x0000661e rtn  0x00000034 
- 00025214  0x00006620 call  0x000062fc 
- 00025215  0x00006621 nbranch  0x00006284 , 0x00000001 
- 00025216  0x00006622 fetch  0x00000001 , 0x000004d7 
- 00025217  0x00006623 rtn  0x00000034 
- 00025218  0x00006624 jam  0x0000000f , 0x0000007c 
- 00025219  0x00006625 rtn 
- 00025220  0x00006627 rtnmark0  0x00000021 
- 00025221  0x00006628 set0  0x00000021 , 0x00000000 
- 00025222  0x00006629 jam  0x0000000f , 0x0000007c 
- 00025223  0x0000662a rtn 
- 00025224  0x0000662f call  0x0000630b 
- 00025225  0x00006630 call  0x0000728b 
- 00025226  0x00006631 force  0x00000011 , 0x0000003f 
- 00025227  0x00006632 call  0x00006298 
- 00025228  0x00006633 arg  0x00000562 , 0x00000006 
- 00025229  0x00006634 call  0x00007ebf 
- 00025230  0x00006635 branch  0x000062ad 
- 00025231  0x00006638 force  0x00000001 , 0x0000003f 
- 00025232  0x00006639 call  0x00006298 
- 00025233  0x0000663a branch  0x000062ad 
- 00025234  0x0000663d force  0x00000002 , 0x0000003f 
- 00025235  0x0000663e call  0x00006298 
- 00025236  0x0000663f force  0x00000010 , 0x0000003f 
- 00025237  0x00006640 istore  0x00000001 , 0x00000005 
- 00025238  0x00006641 store  0x00000001 , 0x00000054 
- 00025239  0x00006642 branch  0x000062ad 
- 00025240  0x00006646 lshift3  0x0000003f , 0x0000003f 
- 00025241  0x00006647 or_into  0x00000007 , 0x0000003f 
- 00025242  0x00006648 store  0x00000001 , 0x000004b6 
- 00025243  0x00006649 arg  0x00000011 , 0x00000039 
- 00025244  0x0000664a arg  0x000004b8 , 0x00000005 
- 00025245  0x0000664b call  0x00007ed4 
- 00025246  0x0000664c arg  0x000004b8 , 0x00000005 
- 00025247  0x0000664d rtn 
- 00025248  0x00006650 and  0x0000003f , 0x0000007f , 0x00000011 
- 00025249  0x00006651 jam  0x0000007f , 0x00000048 
- 00025250  0x00006652 deposit  0x00000007 
- 00025251  0x00006653 call  0x00006298 
- 00025252  0x00006654 deposit  0x00000011 
- 00025253  0x00006655 istore  0x00000001 , 0x00000005 
- 00025254  0x00006656 rtn 
- 00025255  0x00006659 fetch  0x00000001 , 0x00000048 
- 00025256  0x0000665a lshift  0x0000003f , 0x0000003f 
- 00025257  0x0000665b fetcht  0x00000001 , 0x0000004c 
- 00025258  0x0000665c isolate1  0x00000001 , 0x00000002 
- 00025259  0x0000665d setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00025260  0x0000665e branch  0x000062b7 
- 00025261  0x00006662 fetcht  0x00000001 , 0x0000004c 
- 00025262  0x00006663 and_into  0x00000001 , 0x00000002 
- 00025263  0x00006664 branch  0x000062b3 
- 00025264  0x00006667 force  0x00000000 , 0x00000002 
- 00025265  0x00006668 branch  0x000062b3 
- 00025266  0x0000666b force  0x00000001 , 0x00000002 
- 00025267  0x0000666d fetch  0x00000001 , 0x00000048 
- 00025268  0x0000666e lshift  0x0000003f , 0x0000003f 
- 00025269  0x0000666f setflag  0x00000029 , 0x00000000 , 0x0000003f 
- 00025270  0x00006670 ixor  0x00000002 , 0x0000003f 
- 00025271  0x00006672 store  0x00000001 , 0x000004b7 
- 00025272  0x00006673 jam  0x00000000 , 0x00000048 
- 00025273  0x00006674 call  0x000062c7 
- 00025274  0x00006675 enable  0x00000028 
- 00025275  0x00006676 rtn 
- 00025276  0x0000667a fetch  0x00000001 , 0x0000007c 
- 00025277  0x0000667b rtn  0x00000034 
- 00025278  0x0000667c call  0x000062c1 
- 00025279  0x0000667d fetch  0x00000001 , 0x0000007c 
- 00025280  0x0000667e rtn 
- 00025281  0x00006681 bpatchx  0x00000086 , 0x00004030 
- 00025282  0x00006682 fetch  0x00000001 , 0x00000048 
- 00025283  0x00006683 branch  0x000062c7 , 0x00000034 
- 00025284  0x00006684 fetch  0x00000001 , 0x00000078 
- 00025285  0x00006685 nrtn  0x00000034 
- 00025286  0x00006686 branch  0x000062d1 
- 00025287  0x00006688 fetch  0x00000001 , 0x00000078 
- 00025288  0x00006689 branch  0x000062d7 , 0x00000034 
- 00025289  0x0000668a fetch  0x00000003 , 0x00000078 
- 00025290  0x0000668b store  0x00000003 , 0x00000048 
- 00025291  0x0000668c fetcht  0x00000001 , 0x0000007b 
- 00025292  0x0000668d fetch  0x00000001 , 0x0000004c 
- 00025293  0x0000668e set0  0x00000001 , 0x0000003f 
- 00025294  0x0000668f ior  0x00000002 , 0x0000003f 
- 00025295  0x00006690 store  0x00000001 , 0x0000004c 
- 00025296  0x00006691 jam  0x00000000 , 0x00000078 
- 00025297  0x00006693 fetch  0x00000001 , 0x0000007c 
- 00025298  0x00006694 rtn  0x00000034 
- 00025299  0x00006695 fetch  0x00000004 , 0x0000007c 
- 00025300  0x00006696 store  0x00000004 , 0x00000078 
- 00025301  0x00006697 jam  0x00000000 , 0x0000007c 
- 00025302  0x00006698 rtn 
- 00025303  0x0000669a fetch  0x00000001 , 0x0000007c 
- 00025304  0x0000669b rtn  0x00000034 
- 00025305  0x0000669c fetch  0x00000003 , 0x0000007c 
- 00025306  0x0000669d store  0x00000003 , 0x00000048 
- 00025307  0x0000669e fetcht  0x00000001 , 0x0000007f 
- 00025308  0x0000669f fetch  0x00000001 , 0x0000004c 
- 00025309  0x000066a0 set0  0x00000001 , 0x0000003f 
- 00025310  0x000066a1 ior  0x00000002 , 0x0000003f 
- 00025311  0x000066a2 store  0x00000001 , 0x0000004c 
- 00025312  0x000066a3 jam  0x00000000 , 0x0000007c 
- 00025313  0x000066a4 rtn 
- 00025314  0x000066a8 bpatchx  0x00000087 , 0x00004030 
- 00025315  0x000066a9 fetch  0x00000001 , 0x0000004c 
- 00025316  0x000066aa copy  0x0000003f , 0x00000013 
- 00025317  0x000066ab ifetch  0x00000001 , 0x00000002 
- 00025318  0x000066ac call  0x00005e52 
- 00025319  0x000066ad call  0x000062a7 
- 00025320  0x000066ae copy  0x00000013 , 0x0000003f 
- 00025321  0x000066af store  0x00000001 , 0x0000004c 
- 00025322  0x000066b0 rtn 
- 00025323  0x000066b3 fetcht  0x00000001 , 0x0000004c 
- 00025324  0x000066b4 set0  0x00000000 , 0x00000002 
- 00025325  0x000066b5 storet  0x00000001 , 0x0000004c 
- 00025326  0x000066b6 rtn 
- 00025327  0x000066b9 fetcht  0x00000001 , 0x0000004c 
- 00025328  0x000066ba set1  0x00000000 , 0x00000002 
- 00025329  0x000066bb storet  0x00000001 , 0x0000004c 
- 00025330  0x000066bc rtn 
- 00025331  0x000066c0 nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
- 00025332  0x000066c1 fetcht  0x00000001 , 0x0000004c 
- 00025333  0x000066c2 ixor  0x00000002 , 0x0000003f 
- 00025334  0x000066c3 isolate1  0x00000001 , 0x0000003f 
- 00025335  0x000066c4 rtn 
- 00025336  0x000066c8 fetch  0x00000001 , 0x0000004c 
- 00025337  0x000066c9 setflag  0x00000029 , 0x00000001 , 0x0000003f 
- 00025338  0x000066ca store  0x00000001 , 0x0000004c 
- 00025339  0x000066cb rtn 
- 00025340  0x000066cf fetch  0x00000001 , 0x000009b4 
- 00025341  0x000066d0 compare  0x00000001 , 0x0000003f , 0x0000007f 
- 00025342  0x000066d1 rtn 
- 00025343  0x000066d3 fetch  0x00000001 , 0x000009b4 
- 00025344  0x000066d4 set1  0x00000007 , 0x0000003f 
- 00025345  0x000066d5 store  0x00000001 , 0x000009b4 
- 00025346  0x000066d6 rtn 
- 00025347  0x000066d8 fetch  0x00000001 , 0x000009b4 
- 00025348  0x000066d9 set0  0x00000007 , 0x0000003f 
- 00025349  0x000066da store  0x00000001 , 0x000009b4 
- 00025350  0x000066db rtn 
- 00025351  0x000066dd fetch  0x00000001 , 0x000009b4 
- 00025352  0x000066de isolate1  0x00000007 , 0x0000003f 
- 00025353  0x000066df store  0x00000001 , 0x000009b4 
- 00025354  0x000066e0 rtn 
- 00025355  0x000066e4 arg  0x00000562 , 0x00000005 
- 00025356  0x000066e6 force  0x00000010 , 0x00000039 
- 00025357  0x000066e9 random  0x0000003f 
- 00025358  0x000066ea istore  0x00000001 , 0x00000005 
- 00025359  0x000066eb loop  0x0000630d 
- 00025360  0x000066ec rtn 
- 00025361  0x000066ef call  0x00007259 
- 00025362  0x000066f0 arg  0x000041be , 0x00000011 
- 00025363  0x000066f1 arg  0x00000592 , 0x00000012 
- 00025364  0x000066f2 ifetch  0x00000008 , 0x00000011 
- 00025365  0x000066f3 fetcht  0x00000001 , 0x00000030 
- 00025366  0x000066f4 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
- 00025367  0x000066f5 storet  0x00000001 , 0x00000030 
- 00025368  0x000066f6 copy  0x00000011 , 0x00000005 
- 00025369  0x000066f7 call  0x00007352 
- 00025370  0x000066f8 branch  0x000021c4 
- 00025371  0x00006700 bpatchx  0x00000088 , 0x00004031 
- 00025372  0x00006702 call  0x000062bc 
- 00025373  0x00006703 nrtn  0x00000034 
- 00025374  0x00006705 fetch  0x00000001 , 0x00000055 
- 00025375  0x00006706 rtn  0x00000034 
- 00025376  0x0000670a beq  0x00000004 , 0x0000636f 
- 00025377  0x0000670b beq  0x00000005 , 0x00006374 
- 00025378  0x0000670c beq  0x00000002 , 0x00006366 
- 00025379  0x0000670d beq  0x00000003 , 0x0000637c 
- 00025380  0x0000670e beq  0x0000000e , 0x00006369 
- 00025381  0x0000670f beq  0x00000006 , 0x00006398 
- 00025382  0x00006710 beq  0x00000007 , 0x000063b0 
- 00025383  0x00006711 beq  0x00000009 , 0x000063b1 
- 00025384  0x00006712 beq  0x0000000a , 0x000063ba 
- 00025385  0x00006713 beq  0x0000000b , 0x000063be 
- 00025386  0x00006714 beq  0x0000000c , 0x00006386 
- 00025387  0x00006715 beq  0x0000000d , 0x00006389 
- 00025388  0x00006716 beq  0x0000000f , 0x0000638f 
- 00025389  0x00006717 beq  0x00000012 , 0x00006359 
- 00025390  0x00006718 beq  0x00000013 , 0x0000637c 
- 00025391  0x00006719 beq  0x00000010 , 0x0000635c 
- 00025392  0x0000671a beq  0x00000014 , 0x00006356 
- 00025393  0x0000671b beq  0x00000015 , 0x0000637c 
- 00025394  0x0000671c beq  0x00000016 , 0x00006350 
- 00025395  0x0000671d beq  0x00000018 , 0x00006355 
- 00025396  0x0000671e beq  0x00000017 , 0x00006349 
- 00025397  0x0000671f beq  0x00000019 , 0x0000634f 
- 00025398  0x00006720 beq  0x0000001a , 0x0000633a 
- 00025399  0x00006721 beq  0x0000001b , 0x00006344 
- 00025400  0x00006722 jam  0x00000000 , 0x00000055 
- 00025401  0x00006724 rtn 
- 00025402  0x00006726 fetch  0x00000001 , 0x000004d1 
- 00025403  0x00006727 rtnbit0  0x00000002 
- 00025404  0x00006728 rtnbit0  0x00000003 
- 00025405  0x00006729 jam  0x00000000 , 0x00000055 
- 00025406  0x0000672a call  0x00006340 
- 00025407  0x0000672b branch  0x00006cef 
- 00025408  0x0000672e fetch  0x00000001 , 0x0000016d 
- 00025409  0x0000672f rtnbit0  0x00000001 
- 00025410  0x00006730 jam  0x0000000a , 0x00000055 
- 00025411  0x00006731 rtn 
- 00025412  0x00006734 arg  0x00000007 , 0x00000007 
- 00025413  0x00006735 call  0x00007f16 
- 00025414  0x00006736 nrtn  0x00000034 
- 00025415  0x00006737 jam  0x0000001a , 0x00000055 
- 00025416  0x00006738 rtn 
- 00025417  0x0000673b fetch  0x00000001 , 0x0000016d 
- 00025418  0x0000673c set0  0x00000000 , 0x0000003f 
- 00025419  0x0000673d store  0x00000001 , 0x0000016d 
- 00025420  0x0000673e jam  0x00000019 , 0x00000055 
- 00025421  0x0000673f jam  0x0000000b , 0x0000007c 
- 00025422  0x00006740 rtn 
- 00025423  0x00006742 rtn 
- 00025424  0x00006744 fetch  0x00000001 , 0x000004d4 
- 00025425  0x00006745 rtnne  0x00000002 
- 00025426  0x00006746 call  0x000063c0 
- 00025427  0x00006747 jam  0x00000018 , 0x00000055 
- 00025428  0x00006748 rtn 
- 00025429  0x0000674b rtn 
- 00025430  0x0000674d jam  0x00000015 , 0x00000055 
- 00025431  0x0000674e jam  0x00000083 , 0x0000007c 
- 00025432  0x0000674f rtn 
- 00025433  0x00006751 jam  0x00000013 , 0x00000055 
- 00025434  0x00006752 jam  0x00000025 , 0x0000007c 
- 00025435  0x00006753 rtn 
- 00025436  0x00006756 fetch  0x00000001 , 0x0000455b 
- 00025437  0x00006757 rtneq  0x00000000 
- 00025438  0x00006758 beq  0x00000001 , 0x00006364 
- 00025439  0x00006759 arg  0x00000006 , 0x00000007 
- 00025440  0x0000675a call  0x00007f16 
- 00025441  0x0000675b nrtn  0x00000034 
- 00025442  0x0000675c jam  0x00000000 , 0x0000455b 
- 00025443  0x0000675d branch  0x0000637d 
- 00025444  0x0000675f rtn  0x00000029 
- 00025445  0x00006760 branch  0x00006398 
- 00025446  0x00006763 jam  0x00000003 , 0x00000055 
- 00025447  0x00006764 jam  0x00000027 , 0x0000007c 
- 00025448  0x00006765 rtn 
- 00025449  0x00006767 jam  0x00000013 , 0x0000007c 
- 00025450  0x00006768 set1  0x00000003 , 0x00000000 
- 00025451  0x00006769 jam  0x00000005 , 0x00000055 
- 00025452  0x0000676a setarg  0x000001ff 
- 00025453  0x0000676b store  0x00000002 , 0x000004d2 
- 00025454  0x0000676c rtn 
- 00025455  0x0000676e jam  0x00000005 , 0x00000055 
- 00025456  0x0000676f jam  0x000000ff , 0x000004d2 
- 00025457  0x00006770 set0  0x00000022 , 0x00000000 
- 00025458  0x00006771 jam  0x00000033 , 0x0000007c 
- 00025459  0x00006772 branch  0x00005d04 
- 00025460  0x00006774 rtnmark1  0x00000022 
- 00025461  0x00006775 fetch  0x00000002 , 0x000004d2 
- 00025462  0x00006776 sub  0x0000003f , 0x00000001 , 0x0000003f 
- 00025463  0x00006777 branch  0x0000637a , 0x00000005 
- 00025464  0x00006778 store  0x00000002 , 0x000004d2 
- 00025465  0x00006779 rtn 
- 00025466  0x0000677b jam  0x0000000e , 0x00000055 
- 00025467  0x0000677c rtn 
- 00025468  0x0000677f rtn 
- 00025469  0x00006782 fetch  0x00000001 , 0x000004d1 
- 00025470  0x00006783 rtnbit0  0x00000003 
- 00025471  0x00006784 rtnbit0  0x00000002 
- 00025472  0x00006785 fetch  0x00000001 , 0x0000016d 
- 00025473  0x00006786 set0  0x00000002 , 0x0000003f 
- 00025474  0x00006787 store  0x00000001 , 0x0000016d 
- 00025475  0x00006788 jam  0x00000013 , 0x0000007c 
- 00025476  0x00006789 jam  0x00000010 , 0x00000055 
- 00025477  0x0000678a rtn 
- 00025478  0x0000678d jam  0x0000000d , 0x00000055 
- 00025479  0x0000678e jam  0x00000031 , 0x0000007c 
- 00025480  0x0000678f rtn 
- 00025481  0x00006792 fetch  0x00000001 , 0x000004d1 
- 00025482  0x00006793 rtnbit0  0x00000002 
- 00025483  0x00006794 jam  0x00000000 , 0x00000055 
- 00025484  0x00006796 rtn 
- 00025485  0x00006798 jam  0x00000006 , 0x00000055 
- 00025486  0x00006799 rtn 
- 00025487  0x0000679c fetch  0x00000001 , 0x000004d2 
- 00025488  0x0000679d increase  0xffffffff , 0x0000003f 
- 00025489  0x0000679e branch  0x00006394 , 0x00000034 
- 00025490  0x0000679f store  0x00000001 , 0x000004d2 
- 00025491  0x000067a0 rtn 
- 00025492  0x000067a2 jam  0x00000007 , 0x0000007c 
- 00025493  0x000067a3 jam  0x00000016 , 0x000004ca 
- 00025494  0x000067a4 jam  0x00000000 , 0x00000055 
- 00025495  0x000067a5 rtn 
- 00025496  0x000067a8 fetch  0x00000001 , 0x0000016d 
- 00025497  0x000067a9 bbit1  0x00000002 , 0x0000637d 
- 00025498  0x000067aa bbit1  0x00000000 , 0x0000639d 
- 00025499  0x000067ac jam  0x0000001a , 0x00000055 
- 00025500  0x000067ad rtn 
- 00025501  0x000067af fetch  0x00000001 , 0x000041bd 
- 00025502  0x000067b0 branch  0x000063a9 , 0x00000034 
- 00025503  0x000067b1 fetch  0x00000001 , 0x000004d1 
- 00025504  0x000067b2 rtnbit0  0x00000003 
- 00025505  0x000067b3 rtnbit0  0x00000002 
- 00025506  0x000067b4 fetch  0x00000004 , 0x000004e9 
- 00025507  0x000067b5 arg  0x00000064 , 0x00000002 
- 00025508  0x000067b6 iadd  0x00000002 , 0x00000002 
- 00025509  0x000067b7 copy  0x00000022 , 0x0000003f 
- 00025510  0x000067b8 isub  0x00000002 , 0x0000003e 
- 00025511  0x000067b9 nrtn  0x00000002 
- 00025512  0x000067ba branch  0x00006349 
- 00025513  0x000067bf jam  0x00000016 , 0x00000055 
- 00025514  0x000067c0 jam  0x00000004 , 0x00004689 
- 00025515  0x000067c1 setarg  0x00003030 
- 00025516  0x000067c2 store  0x00000002 , 0x0000468a 
- 00025517  0x000067c3 istore  0x00000002 , 0x00000005 
- 00025518  0x000067c4 jam  0x00000002 , 0x000004d4 
- 00025519  0x000067c5 branch  0x00006350 
- 00025520  0x000067c8 rtn 
- 00025521  0x000067ca fetch  0x00000001 , 0x0000016d 
- 00025522  0x000067cb bbit1  0x00000001 , 0x000063b5 
- 00025523  0x000067cc jam  0x0000001a , 0x00000055 
- 00025524  0x000067cd rtn 
- 00025525  0x000067d0 fetch  0x00000001 , 0x0000016d 
- 00025526  0x000067d1 set0  0x00000001 , 0x0000003f 
- 00025527  0x000067d2 store  0x00000001 , 0x0000016d 
- 00025528  0x000067d3 jam  0x0000000f , 0x0000007c 
- 00025529  0x000067d4 rtn 
- 00025530  0x000067d7 fetch  0x00000001 , 0x000004d8 
- 00025531  0x000067d8 rtn  0x00000034 
- 00025532  0x000067d9 jam  0x00000000 , 0x00000055 
- 00025533  0x000067da branch  0x000063b5 
- 00025534  0x000067dd jam  0x0000000c , 0x00000055 
- 00025535  0x000067de rtn 
- 00025536  0x000067e1 fetch  0x00000001 , 0x0000004b 
- 00025537  0x000067e2 bbit1  0x00000002 , 0x000063c5 
- 00025538  0x000067e3 call  0x000062ef 
- 00025539  0x000067e4 jam  0x00000008 , 0x0000007c 
- 00025540  0x000067e5 branch  0x00004d04 
- 00025541  0x000067e7 fetch  0x00000001 , 0x0000004b 
- 00025542  0x000067e8 set0  0x00000002 , 0x0000003f 
- 00025543  0x000067e9 store  0x00000001 , 0x0000004b 
- 00025544  0x000067ea call  0x00006001 
- 00025545  0x000067eb call  0x000062f8 
- 00025546  0x000067ec branch  0x00004d04 
- 00025547  0x000067ef setarg  0x00000004 
- 00025548  0x000067f0 store  0x00000001 , 0x00004689 
- 00025549  0x000067f1 setarg  0x00003030 
- 00025550  0x000067f2 istore  0x00000002 , 0x00000005 
- 00025551  0x000067f3 istore  0x00000002 , 0x00000005 
- 00025552  0x000067f4 rtn 
- 00025553  0x000067fb bpatchx  0x0000008c , 0x00004031 
- 00025554  0x000067fc hfetch  0x00000001 , 0x00008073 
- 00025555  0x000067fd arg  0x00000006 , 0x00000002 
- 00025556  0x000067fe ior  0x00000002 , 0x0000003f 
- 00025557  0x000067ff hstore  0x00000001 , 0x00008073 
- 00025558  0x00006800 hfetch  0x00000001 , 0x00008077 
- 00025559  0x00006801 ior  0x00000002 , 0x0000003f 
- 00025560  0x00006802 hstore  0x00000001 , 0x00008077 
- 00025561  0x00006803 call  0x000063ee 
- 00025562  0x00006804 hfetch  0x00000001 , 0x00008077 
- 00025563  0x00006805 set0  0x00000001 , 0x0000003f 
- 00025564  0x00006806 set0  0x00000002 , 0x0000003f 
- 00025565  0x00006807 hstore  0x00000001 , 0x00008077 
- 00025566  0x00006808 nop  0x0000001e 
- 00025567  0x00006809 branch  0x000063f2 
- 00025568  0x0000680c hfetch  0x00000001 , 0x00008073 
- 00025569  0x0000680d arg  0x000000c0 , 0x00000002 
- 00025570  0x0000680e ior  0x00000002 , 0x0000003f 
- 00025571  0x0000680f hstore  0x00000001 , 0x00008073 
- 00025572  0x00006810 hfetch  0x00000001 , 0x00008077 
- 00025573  0x00006811 ior  0x00000002 , 0x0000003f 
- 00025574  0x00006812 hstore  0x00000001 , 0x00008077 
- 00025575  0x00006813 call  0x000063ee 
- 00025576  0x00006814 hfetch  0x00000001 , 0x00008077 
- 00025577  0x00006815 set0  0x00000006 , 0x0000003f 
- 00025578  0x00006816 set0  0x00000007 , 0x0000003f 
- 00025579  0x00006817 hstore  0x00000001 , 0x00008077 
- 00025580  0x00006818 nop  0x0000001e 
- 00025581  0x00006819 branch  0x000063f6 
- 00025582  0x0000681c hfetch  0x00000001 , 0x00008081 
- 00025583  0x0000681d and  0x0000003f , 0x000000fc , 0x0000003f 
- 00025584  0x0000681e hstore  0x00000001 , 0x00008081 
- 00025585  0x0000681f rtn 
- 00025586  0x00006821 hfetch  0x00000001 , 0x00008081 
- 00025587  0x00006822 or  0x0000003f , 0x00000001 , 0x0000003f 
- 00025588  0x00006823 hstore  0x00000001 , 0x00008081 
- 00025589  0x00006824 rtn 
- 00025590  0x00006826 hfetch  0x00000001 , 0x00008081 
- 00025591  0x00006827 or  0x0000003f , 0x00000003 , 0x0000003f 
- 00025592  0x00006828 set0  0x00000004 , 0x0000003f 
- 00025593  0x00006829 hstore  0x00000001 , 0x00008081 
- 00025594  0x0000682a rtn 
- 00025595  0x0000682f copy  0x0000003f , 0x00000012 
- 00025596  0x00006830 call  0x0000640f 
- 00025597  0x00006831 nop  0x00000064 
- 00025598  0x00006832 copy  0x00000012 , 0x0000003f 
- 00025599  0x00006833 call  0x00006414 
- 00025600  0x00006834 copy  0x0000003f , 0x00000012 
- 00025601  0x00006835 call  0x00006411 
- 00025602  0x00006836 nop  0x00000064 
- 00025603  0x00006837 copy  0x00000012 , 0x0000003f 
- 00025604  0x00006838 rtn 
- 00025605  0x0000683b copy  0x0000003f , 0x00000012 
- 00025606  0x0000683c call  0x0000640f 
- 00025607  0x0000683d nop  0x00000064 
- 00025608  0x0000683e copy  0x00000012 , 0x0000003f 
- 00025609  0x0000683f call  0x00006413 
- 00025610  0x00006840 call  0x00006411 
- 00025611  0x00006841 nop  0x00000064 
- 00025612  0x00006842 rtn 
- 00025613  0x00006846 fetcht  0x00000001 , 0x00004214 
- 00025614  0x00006847 branch  0x0000680e 
- 00025615  0x0000684b fetcht  0x00000001 , 0x00004214 
- 00025616  0x0000684c branch  0x00006829 
- 00025617  0x00006850 fetcht  0x00000001 , 0x00004214 
- 00025618  0x00006851 branch  0x00006825 
- 00025619  0x00006855 branch  0x000064ec 
- 00025620  0x00006858 branch  0x000064f3 
- 00025621  0x00006860 nbranch  0x00006419 , 0x00000028 
- 00025622  0x00006861 hfetch  0x00000001 , 0x00008085 
- 00025623  0x00006862 or_into  0x00000002 , 0x0000003f 
- 00025624  0x00006863 hstore  0x00000001 , 0x00008085 
- 00025625  0x00006865 copy  0x00000002 , 0x0000003e 
- 00025626  0x00006866 branch  0x0000641c , 0x00000005 
- 00025627  0x00006867 copy  0x00000013 , 0x0000003d 
- 00025628  0x00006869 isolate0  0x00000000 , 0x0000003e 
- 00025629  0x0000686a branch  0x000064b9 
- 00025630  0x0000686e force  0x00000004 , 0x00000002 
- 00025631  0x00006870 arg  0x000001fe , 0x00000011 
- 00025632  0x00006871 hfetch  0x00000001 , 0x00008085 
- 00025633  0x00006872 and_into  0x000000fd , 0x0000003f 
- 00025634  0x00006873 hstore  0x00000001 , 0x00008085 
- 00025635  0x00006874 call  0x00006419 
- 00025636  0x00006875 arg  0x000055aa , 0x00000011 
- 00025637  0x00006876 fetch  0x00000002 , 0x000001fe 
- 00025638  0x00006877 ifetcht  0x00000002 , 0x00000006 
- 00025639  0x00006878 isub  0x00000011 , 0x0000003e 
- 00025640  0x00006879 rtn 
- 00025641  0x0000687c arg  0x00000002 , 0x00000002 
- 00025642  0x0000687d arg  0x00000204 , 0x00000011 
- 00025643  0x0000687e call  0x00006419 
- 00025644  0x0000687f fetch  0x00000002 , 0x00000204 
- 00025645  0x00006880 store  0x00000002 , 0x000001f7 
- 00025646  0x00006881 call  0x00006430 , 0x00000028 
- 00025647  0x00006882 rtn 
- 00025648  0x00006885 arg  0x00000010 , 0x00000002 
- 00025649  0x00006886 arg  0x00000206 , 0x00000011 
- 00025650  0x00006887 hfetch  0x00000001 , 0x00008085 
- 00025651  0x00006888 and_into  0x000000fd , 0x0000003f 
- 00025652  0x00006889 hstore  0x00000001 , 0x00008085 
- 00025653  0x0000688a call  0x00006419 
- 00025654  0x0000688b arg  0x00000206 , 0x00000006 
- 00025655  0x0000688c arg  0x00000010 , 0x00000039 
- 00025656  0x0000688d call  0x00007478 
- 00025657  0x0000688e call  0x00007428 
- 00025658  0x0000688f call  0x00007491 
- 00025659  0x00006890 branch  0x00007422 
- 00025660  0x00006893 disable  0x0000002d 
- 00025661  0x00006894 call  0x0000641e 
- 00025662  0x00006895 nrtn  0x00000005 
- 00025663  0x00006896 enable  0x0000002d 
- 00025664  0x00006897 jam  0x00000080 , 0x00008023 
- 00025665  0x00006898 jam  0x00000000 , 0x00008022 
- 00025666  0x00006899 jam  0x00000000 , 0x00008024 
- 00025667  0x0000689a arg  0x00008025 , 0x00000011 
- 00025668  0x0000689b call  0x00006415 
- 00025669  0x0000689c jam  0x00000000 , 0x00008023 
- 00025670  0x0000689e arg  0x00000006 , 0x00000002 
- 00025671  0x0000689f call  0x0000641f 
- 00025672  0x000068a0 nrtn  0x00000005 
- 00025673  0x000068a1 ifetch  0x00000002 , 0x00000006 
- 00025674  0x000068a2 iforce  0x00000011 
- 00025675  0x000068a3 call  0x00006419 
- 00025676  0x000068a4 branch  0x00006446 
- 00025677  0x000068a9 call  0x00007f99 
- 00025678  0x000068aa setarg  0x00001000 
- 00025679  0x000068ab store  0x00000002 , 0x000001f7 
- 00025680  0x000068ac arg  0x000065e5 , 0x00000013 
- 00025681  0x000068ad arg  0x00000002 , 0x00000039 
- 00025682  0x000068af call  0x0000641e 
- 00025683  0x000068b0 nrtn  0x00000005 
- 00025684  0x000068b1 fetch  0x00000002 , 0x000001f7 
- 00025685  0x000068b2 byteswap  0x0000003f , 0x0000003f 
- 00025686  0x000068b3 iadd  0x00000002 , 0x0000003f 
- 00025687  0x000068b4 byteswap  0x0000003f , 0x0000003f 
- 00025688  0x000068b5 store  0x00000002 , 0x000001f7 
- 00025689  0x000068b6 loop  0x00006452 
- 00025690  0x000068b7 branch  0x00006446 
- 00025691  0x000068ba call  0x00007f99 
- 00025692  0x000068bb disable  0x00000028 
- 00025693  0x000068bc call  0x0000666a 
- 00025694  0x000068bd setarg  0x00000000 
- 00025695  0x000068be arg  0x000001f3 , 0x00000011 
- 00025696  0x000068bf arg  0x00000002 , 0x00000002 
- 00025697  0x000068c0 call  0x000066b3 
- 00025698  0x000068c1 fetch  0x00000002 , 0x000001f3 
- 00025699  0x000068c2 bbit0  0x00000007 , 0x0000646e 
- 00025700  0x000068c3 jam  0x00000025 , 0x00008050 
- 00025701  0x000068c4 setarg  0x000007f0 
- 00025702  0x000068c5 arg  0x00000206 , 0x00000011 
- 00025703  0x000068c6 arg  0x00000010 , 0x00000002 
- 00025704  0x000068c7 call  0x000066b3 
- 00025705  0x000068c8 jam  0x00000008 , 0x00008006 
- 00025706  0x000068c9 set1  0x0000002b , 0x00000000 
- 00025707  0x000068ca arg  0x00000206 , 0x00000006 
- 00025708  0x000068cb call  0x00007484 
- 00025709  0x000068cc enable  0x00000028 
- 00025710  0x000068ce jam  0x00000000 , 0x000041da 
- 00025711  0x000068d0 call  0x000064b0 
- 00025712  0x000068d1 fetch  0x00000002 , 0x000001f3 
- 00025713  0x000068d2 byteswap  0x0000003f , 0x0000003f 
- 00025714  0x000068d3 arg  0x000007ff , 0x00000002 
- 00025715  0x000068d4 iand  0x00000002 , 0x0000003f 
- 00025716  0x000068d5 branch  0x0000647b , 0x00000005 
- 00025717  0x000068d6 call  0x0000666f 
- 00025718  0x000068d7 arg  0x000066b8 , 0x00000013 
- 00025719  0x000068d8 call  0x00006430 , 0x00000028 
- 00025720  0x000068d9 call  0x0000643c 
- 00025721  0x000068da fetch  0x00000001 , 0x000001f2 
- 00025722  0x000068db bbit0  0x00000000 , 0x0000646f 
- 00025723  0x000068de call  0x0000666d 
- 00025724  0x000068df jam  0x00000000 , 0x000041da 
- 00025725  0x000068e1 call  0x000064b0 
- 00025726  0x000068e2 call  0x000065c2 
- 00025727  0x000068e3 fetch  0x00000001 , 0x000001f3 
- 00025728  0x000068e4 bbit1  0x00000006 , 0x0000648e 
- 00025729  0x000068e5 call  0x000064aa 
- 00025730  0x000068e6 nbranch  0x00006486 , 0x0000002d 
- 00025731  0x000068e7 fetch  0x00000001 , 0x000001f2 
- 00025732  0x000068e8 bbit0  0x00000000 , 0x0000647d 
- 00025733  0x000068e9 branch  0x0000649b 
- 00025734  0x000068eb call  0x000065bf 
- 00025735  0x000068ec fetch  0x00000001 , 0x000001f3 
- 00025736  0x000068ed bbit1  0x00000006 , 0x0000648e 
- 00025737  0x000068ee call  0x000064aa 
- 00025738  0x000068ef nbranch  0x0000648e , 0x0000002d 
- 00025739  0x000068f0 fetch  0x00000001 , 0x000001f2 
- 00025740  0x000068f1 bbit0  0x00000000 , 0x0000647d 
- 00025741  0x000068f2 branch  0x0000649b 
- 00025742  0x000068f5 jam  0x00000000 , 0x000041da 
- 00025743  0x000068f7 call  0x000064b0 
- 00025744  0x000068f8 fetch  0x00000001 , 0x000001f3 
- 00025745  0x000068f9 bbit1  0x00000005 , 0x0000649b 
- 00025746  0x000068fa setarg  0x00000000 
- 00025747  0x000068fb store  0x00000003 , 0x000001f6 
- 00025748  0x000068fc call  0x00006502 
- 00025749  0x000068fd arg  0x00006578 , 0x00000013 
- 00025750  0x000068fe call  0x00006429 
- 00025751  0x000068ff call  0x0000643c 
- 00025752  0x00006900 nbranch  0x0000649b , 0x0000002d 
- 00025753  0x00006901 fetch  0x00000001 , 0x000001f2 
- 00025754  0x00006902 bbit0  0x00000000 , 0x0000648f 
- 00025755  0x00006905 bmark1  0x0000002b , 0x0000649d 
- 00025756  0x00006906 call  0x000064a3 
- 00025757  0x00006908 fetch  0x00000001 , 0x000001f3 
- 00025758  0x00006909 bbit0  0x00000004 , 0x000064a3 
- 00025759  0x0000690a jam  0x00000021 , 0x00008050 
- 00025760  0x0000690b call  0x00004c0e 
- 00025761  0x0000690d call  0x00004c2e 
- 00025762  0x0000690e branch  0x000064a1 
- 00025763  0x00006911 setarg  0x00000000 
- 00025764  0x00006912 store  0x00000008 , 0x00000206 
- 00025765  0x00006913 store  0x00000008 , 0x0000020e 
- 00025766  0x00006914 force  0x00000004 , 0x00000038 
- 00025767  0x00006915 call  0x00007492 
- 00025768  0x00006916 jam  0x00000021 , 0x00008050 
- 00025769  0x00006917 rtn 
- 00025770  0x0000691b setarg  0x00000000 
- 00025771  0x0000691c store  0x00000002 , 0x000001f7 
- 00025772  0x0000691d arg  0x000065e5 , 0x00000013 
- 00025773  0x0000691e call  0x000065a3 
- 00025774  0x0000691f call  0x00006429 
- 00025775  0x00006920 branch  0x0000643c 
- 00025776  0x00006924 fetch  0x00000001 , 0x000041da 
- 00025777  0x00006925 increase  0x00000001 , 0x0000003f 
- 00025778  0x00006926 sub  0x0000003f , 0x00000003 , 0x0000003e 
- 00025779  0x00006927 nbranch  0x000064b6 , 0x00000002 
- 00025780  0x00006928 store  0x00000001 , 0x000041da 
- 00025781  0x00006929 rtn 
- 00025782  0x0000692c call  0x000064a3 
- 00025783  0x0000692d call  0x00007fa1 
- 00025784  0x0000692e rtn 
- 00025785  0x00006933 fetch  0x00000001 , 0x000001f2 
- 00025786  0x00006934 lshift  0x0000003f , 0x0000003f 
- 00025787  0x00006935 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00025788  0x00006936 isolate0  0x0000000f , 0x00000011 
- 00025789  0x00006937 rtn  0x00000001 
- 00025790  0x00006938 store  0x00000001 , 0x000001f2 
- 00025791  0x00006939 rtn 
- 00025792  0x0000693d hfetch  0x00000001 , 0x00008085 
- 00025793  0x0000693e rtnbit0  0x00000001 
- 00025794  0x0000693f branch  0x000064c6 
- 00025795  0x00006941 hfetch  0x00000001 , 0x0000812c 
- 00025796  0x00006942 qisolate1  0x0000003f 
- 00025797  0x00006943 rtn  0x00000001 
- 00025798  0x00006945 hfetch  0x00000001 , 0x00008108 
- 00025799  0x00006946 bbit0  0x00000001 , 0x000064c3 
- 00025800  0x00006947 call  0x00007422 
- 00025801  0x00006948 branch  0x000064c3 
- 00025802  0x0000694d fetch  0x00000002 , 0x00004199 
- 00025803  0x0000694e rtn  0x00000034 
- 00025804  0x0000694f jam  0x00000080 , 0x00008023 
- 00025805  0x00006950 jam  0x00000000 , 0x00008022 
- 00025806  0x00006951 jam  0x00000000 , 0x00008024 
- 00025807  0x00006952 fetcht  0x00000002 , 0x0000419b 
- 00025808  0x00006953 lshift2  0x00000002 , 0x00000039 
- 00025809  0x00006954 iforce  0x00000006 
- 00025810  0x00006956 ifetch  0x00000001 , 0x00000006 
- 00025811  0x00006957 hstore  0x00000001 , 0x00008025 
- 00025812  0x00006958 loop  0x000064d2 
- 00025813  0x00006959 jam  0x00000000 , 0x00008023 
- 00025814  0x0000695a rtn 
- 00025815  0x00006960 bpatchx  0x0000008d , 0x00004031 
- 00025816  0x00006961 call  0x000064dd 
- 00025817  0x00006962 branch  0x000063f2 
- 00025818  0x00006965 call  0x000064dd 
- 00025819  0x00006966 call  0x000063ee 
- 00025820  0x00006967 branch  0x000063f6 
- 00025821  0x0000696a fetch  0x00000001 , 0x00004212 
- 00025822  0x0000696b hstore  0x00000001 , 0x00008086 
- 00025823  0x0000696c fetch  0x00000001 , 0x00004213 
- 00025824  0x0000696d hstore  0x00000001 , 0x00008087 
- 00025825  0x0000696e setarg  0x000001f5 
- 00025826  0x0000696f hstore  0x00000002 , 0x0000808a 
- 00025827  0x00006970 setarg  0x000001fa 
- 00025828  0x00006971 hstore  0x00000002 , 0x0000808c 
- 00025829  0x00006972 branch  0x000063ee 
- 00025830  0x00006975 hfetch  0x00000001 , 0x00008086 
- 00025831  0x00006976 set1  0x00000007 , 0x0000003f 
- 00025832  0x00006977 hstore  0x00000001 , 0x00008086 
- 00025833  0x00006978 set0  0x00000007 , 0x0000003f 
- 00025834  0x00006979 hstore  0x00000001 , 0x00008086 
- 00025835  0x0000697a rtn 
- 00025836  0x0000697f set1  0x00000007 , 0x0000003f 
- 00025837  0x00006980 store  0x00000002 , 0x000001f5 
- 00025838  0x00006981 bpatchx  0x0000008e , 0x00004031 
- 00025839  0x00006982 jam  0x00000002 , 0x00008088 
- 00025840  0x00006983 jam  0x00000000 , 0x0000808e 
- 00025841  0x00006984 jam  0x00000002 , 0x00008006 
- 00025842  0x00006985 branch  0x000064fc 
- 00025843  0x00006989 force  0x00000001 , 0x00000002 
- 00025844  0x0000698d store  0x00000001 , 0x000001f5 
- 00025845  0x0000698e bpatchx  0x0000008f , 0x00004031 
- 00025846  0x0000698f jam  0x00000001 , 0x00008088 
- 00025847  0x00006990 hstoret  0x00000002 , 0x0000808e 
- 00025848  0x00006991 jam  0x00000002 , 0x00008006 
- 00025849  0x00006992 call  0x000064fc 
- 00025850  0x00006993 fetch  0x00000001 , 0x000001fa 
- 00025851  0x00006994 rtn 
- 00025852  0x00006997 fetch  0x00000002 , 0x000040d6 
- 00025853  0x00006998 increase  0x00000001 , 0x0000003f 
- 00025854  0x00006999 store  0x00000002 , 0x000040d6 
- 00025855  0x0000699a hfetch  0x00000001 , 0x0000812c 
- 00025856  0x0000699b bbit0  0x00000003 , 0x000064fc 
- 00025857  0x0000699c rtn 
- 00025858  0x0000699f jam  0x00000040 , 0x00008086 
- 00025859  0x000069a0 jam  0x00000000 , 0x00008087 
- 00025860  0x000069a1 hfetch  0x00000001 , 0x00008081 
- 00025861  0x000069a2 set0  0x00000000 , 0x0000003f 
- 00025862  0x000069a3 set1  0x00000001 , 0x0000003f 
- 00025863  0x000069a4 hstore  0x00000001 , 0x00008081 
- 00025864  0x000069a5 setarg  0x00000000 
- 00025865  0x000069a6 store  0x00000004 , 0x000001f5 
- 00025866  0x000069a7 rtn 
- 00025867  0x000069ab setarg  0x00000000 
- 00025868  0x000069ac hstore  0x00000002 , 0x0000808e 
- 00025869  0x000069ad setarg  0x00000001 
- 00025870  0x000069ae hstore  0x00000002 , 0x00008088 
- 00025871  0x000069af setarg  0x000001f5 
- 00025872  0x000069b0 hstore  0x00000002 , 0x0000808a 
- 00025873  0x000069b1 jam  0x00000006 , 0x000001f5 
- 00025874  0x000069b2 jam  0x00000002 , 0x00008006 
- 00025875  0x000069b3 branch  0x000064fc 
- 00025876  0x000069c3 disable  0x00000028 
- 00025877  0x000069c4 copy  0x0000003f , 0x00000012 
- 00025878  0x000069c5 fetch  0x00000001 , 0x00004239 
- 00025879  0x000069c6 rtnne  0x00000000 
- 00025880  0x000069c7 enable  0x00000028 
- 00025881  0x000069c8 copy  0x00000012 , 0x0000003f 
- 00025882  0x000069c9 branch  0x00006522 
- 00025883  0x000069cd fetch  0x00000001 , 0x00004239 
- 00025884  0x000069ce beq  0x00000001 , 0x00006522 
- 00025885  0x000069cf beq  0x00000002 , 0x00006528 
- 00025886  0x000069d0 beq  0x00000003 , 0x00006530 
- 00025887  0x000069d1 beq  0x00000004 , 0x00006537 
- 00025888  0x000069d2 beq  0x00000005 , 0x0000653d 
- 00025889  0x000069d3 rtn 
- 00025890  0x000069d6 store  0x00000003 , 0x00004232 
- 00025891  0x000069d7 copy  0x00000011 , 0x0000003f 
- 00025892  0x000069d8 store  0x00000002 , 0x00004235 
- 00025893  0x000069d9 storet  0x00000002 , 0x00004237 
- 00025894  0x000069da jam  0x00000002 , 0x00004239 
- 00025895  0x000069db branch  0x00006502 
- 00025896  0x000069dd call  0x00006502 
- 00025897  0x000069de jam  0x00000003 , 0x00004239 
- 00025898  0x000069df call  0x0000650b 
- 00025899  0x000069e0 arg  0x000001f5 , 0x00000011 
- 00025900  0x000069e1 fetch  0x00000003 , 0x00004232 
- 00025901  0x000069e2 jam  0x00000004 , 0x00008088 
- 00025902  0x000069e3 arg  0x00000020 , 0x00000002 
- 00025903  0x000069e4 branch  0x00006556 
- 00025904  0x000069e7 call  0x00006502 
- 00025905  0x000069e8 call  0x0000650b 
- 00025906  0x000069e9 setarg  0x00000005 
- 00025907  0x000069ea call  0x000064f3 
- 00025908  0x000069eb rtnbit1  0x00000000 
- 00025909  0x000069ec jam  0x00000004 , 0x00004239 
- 00025910  0x000069ed rtn 
- 00025911  0x000069ef call  0x00006502 
- 00025912  0x000069f0 jam  0x00000005 , 0x00004239 
- 00025913  0x000069f1 call  0x0000650b 
- 00025914  0x000069f2 call  0x0000654a 
- 00025915  0x000069f3 call  0x00006552 
- 00025916  0x000069f4 branch  0x00006545 
- 00025917  0x000069f6 call  0x00006502 
- 00025918  0x000069f7 call  0x0000650b 
- 00025919  0x000069f8 setarg  0x00000005 
- 00025920  0x000069f9 call  0x000064f3 
- 00025921  0x000069fa rtnbit1  0x00000000 
- 00025922  0x000069fb jam  0x00000000 , 0x00004239 
- 00025923  0x000069fc fetch  0x00000002 , 0x00004201 
- 00025924  0x000069fd branch  0x00007f9c 
- 00025925  0x000069ff fetch  0x00000004 , 0x00000aa2 
- 00025926  0x00006a00 fetcht  0x00000002 , 0x00004235 
- 00025927  0x00006a01 increase  0xfffffffc , 0x00000002 
- 00025928  0x00006a02 istore  0x00000004 , 0x00000002 
- 00025929  0x00006a03 rtn 
- 00025930  0x00006a05 fetcht  0x00000002 , 0x00004235 
- 00025931  0x00006a06 copy  0x00000002 , 0x00000011 
- 00025932  0x00006a07 increase  0xfffffffc , 0x00000002 
- 00025933  0x00006a08 ifetch  0x00000004 , 0x00000002 
- 00025934  0x00006a09 store  0x00000004 , 0x00000aa2 
- 00025935  0x00006a0a fetcht  0x00000002 , 0x00004237 
- 00025936  0x00006a0b fetch  0x00000003 , 0x00004232 
- 00025937  0x00006a0c rtn 
- 00025938  0x00006a11 increase  0x00000004 , 0x00000002 
- 00025939  0x00006a12 hstoret  0x00000002 , 0x00008088 
- 00025940  0x00006a13 arg  0x00000002 , 0x00000002 
- 00025941  0x00006a14 increase  0xfffffffc , 0x00000011 
- 00025942  0x00006a17 istoret  0x00000001 , 0x00000011 
- 00025943  0x00006a18 rshift16  0x0000003f , 0x00000002 
- 00025944  0x00006a19 istoret  0x00000001 , 0x00000005 
- 00025945  0x00006a1a rshift8  0x0000003f , 0x00000002 
- 00025946  0x00006a1b istoret  0x00000001 , 0x00000005 
- 00025947  0x00006a1c istore  0x00000001 , 0x00000005 
- 00025948  0x00006a1d deposit  0x00000011 
- 00025949  0x00006a1e hstore  0x00000002 , 0x0000808a 
- 00025950  0x00006a1f setarg  0x00000000 
- 00025951  0x00006a20 hstore  0x00000002 , 0x0000808e 
- 00025952  0x00006a21 jam  0x00000002 , 0x00008006 
- 00025953  0x00006a22 branch  0x000064fc 
- 00025954  0x00006a27 hstoret  0x00000002 , 0x0000808e 
- 00025955  0x00006a28 rshift16  0x0000003f , 0x00000002 
- 00025956  0x00006a29 storet  0x00000001 , 0x000001f6 
- 00025957  0x00006a2a rshift8  0x0000003f , 0x00000002 
- 00025958  0x00006a2b storet  0x00000001 , 0x000001f7 
- 00025959  0x00006a2c store  0x00000001 , 0x000001f8 
- 00025960  0x00006a2d setarg  0x00000004 
- 00025961  0x00006a2e hstore  0x00000002 , 0x00008088 
- 00025962  0x00006a2f jam  0x00000003 , 0x000001f5 
- 00025963  0x00006a30 setarg  0x000001f5 
- 00025964  0x00006a31 hstore  0x00000002 , 0x0000808a 
- 00025965  0x00006a32 deposit  0x00000011 
- 00025966  0x00006a33 hstore  0x00000002 , 0x0000808c 
- 00025967  0x00006a34 hfetch  0x00000001 , 0x00008086 
- 00025968  0x00006a35 isolate0  0x0000000f , 0x00000011 
- 00025969  0x00006a36 setflag  0x00000001 , 0x00000006 , 0x0000003f 
- 00025970  0x00006a37 hstore  0x00000001 , 0x00008086 
- 00025971  0x00006a38 jam  0x00000002 , 0x00008006 
- 00025972  0x00006a3a hfetch  0x00000001 , 0x0000812c 
- 00025973  0x00006a3b bbit1  0x00000007 , 0x00006574 
- 00025974  0x00006a3c arg  0x00000003 , 0x00000007 
- 00025975  0x00006a3d branch  0x000064fc 
- 00025976  0x00006a42 hstoret  0x00000002 , 0x0000808e 
- 00025977  0x00006a43 setarg  0x00000004 
- 00025978  0x00006a44 hstore  0x00000002 , 0x00008088 
- 00025979  0x00006a45 jam  0x00000003 , 0x000001f5 
- 00025980  0x00006a46 setarg  0x000001f5 
- 00025981  0x00006a47 hstore  0x00000002 , 0x0000808a 
- 00025982  0x00006a48 deposit  0x00000011 
- 00025983  0x00006a49 hstore  0x00000002 , 0x0000808c 
- 00025984  0x00006a4a hfetch  0x00000001 , 0x00008086 
- 00025985  0x00006a4b isolate0  0x0000000f , 0x00000011 
- 00025986  0x00006a4c setflag  0x00000001 , 0x00000006 , 0x0000003f 
- 00025987  0x00006a4d hstore  0x00000001 , 0x00008086 
- 00025988  0x00006a4e jam  0x00000002 , 0x00008006 
- 00025989  0x00006a50 hfetch  0x00000001 , 0x0000812c 
- 00025990  0x00006a51 bbit1  0x00000007 , 0x00006585 
- 00025991  0x00006a52 arg  0x00000003 , 0x00000007 
- 00025992  0x00006a53 call  0x000064c0 
- 00025993  0x00006a54 call  0x000064fc 
- 00025994  0x00006a55 isolate1  0x00000002 , 0x0000003f 
- 00025995  0x00006a56 call  0x000064b9 
- 00025996  0x00006a57 fetch  0x00000001 , 0x000001f6 
- 00025997  0x00006a58 lshift16  0x0000003f , 0x00000012 
- 00025998  0x00006a59 fetch  0x00000001 , 0x000001f7 
- 00025999  0x00006a5a lshift8  0x0000003f , 0x0000003f 
- 00026000  0x00006a5b ior  0x00000012 , 0x00000012 
- 00026001  0x00006a5c fetch  0x00000001 , 0x000001f8 
- 00026002  0x00006a5d ior  0x00000012 , 0x0000003f 
- 00026003  0x00006a5e iadd  0x00000002 , 0x0000003f 
- 00026004  0x00006a5f store  0x00000001 , 0x000001f8 
- 00026005  0x00006a60 rshift8  0x0000003f , 0x0000003f 
- 00026006  0x00006a61 store  0x00000001 , 0x000001f7 
- 00026007  0x00006a62 rshift8  0x0000003f , 0x0000003f 
- 00026008  0x00006a63 store  0x00000001 , 0x000001f6 
- 00026009  0x00006a64 rtn 
- 00026010  0x00006a6a jam  0x00000001 , 0x00008010 
- 00026011  0x00006a6b rtn 
- 00026012  0x00006a72 jam  0x0000000c , 0x00008091 
- 00026013  0x00006a73 jam  0x0000000d , 0x00008092 
- 00026014  0x00006a74 jam  0x0000000d , 0x00008093 
- 00026015  0x00006a75 jam  0x0000000d , 0x00008094 
- 00026016  0x00006a76 jam  0x0000000d , 0x00008095 
- 00026017  0x00006a77 jam  0x0000000c , 0x00008096 
- 00026018  0x00006a78 branch  0x000065a9 
- 00026019  0x00006a7c jam  0x00000005 , 0x00008091 
- 00026020  0x00006a7d jam  0x00000007 , 0x00008092 
- 00026021  0x00006a7e jam  0x00000007 , 0x00008093 
- 00026022  0x00006a7f jam  0x00000007 , 0x00008094 
- 00026023  0x00006a80 jam  0x00000007 , 0x00008095 
- 00026024  0x00006a81 jam  0x00000005 , 0x00008096 
- 00026025  0x00006a83 hfetch  0x00000001 , 0x0000807b 
- 00026026  0x00006a84 or_into  0x000000c0 , 0x0000003f 
- 00026027  0x00006a85 hstore  0x00000001 , 0x0000807b 
- 00026028  0x00006a86 hfetch  0x00000001 , 0x00008081 
- 00026029  0x00006a87 or_into  0x00000010 , 0x0000003f 
- 00026030  0x00006a88 hstore  0x00000001 , 0x00008081 
- 00026031  0x00006a89 rtn 
- 00026032  0x00006a8e hfetch  0x00000001 , 0x0000812c 
- 00026033  0x00006a8f bbit0  0x00000005 , 0x000065b0 
- 00026034  0x00006a90 rtn 
- 00026035  0x00006a99 hstore  0x00000002 , 0x00008098 
- 00026036  0x00006a9a deposit  0x00000011 
- 00026037  0x00006a9b hstore  0x00000002 , 0x0000809a 
- 00026038  0x00006a9c deposit  0x00000012 
- 00026039  0x00006a9d hstore  0x00000002 , 0x0000809c 
- 00026040  0x00006a9e deposit  0x00000002 
- 00026041  0x00006a9f hstore  0x00000002 , 0x0000809e 
- 00026042  0x00006aa0 arg  0x00000001 , 0x00000002 
- 00026043  0x00006aa1 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
- 00026044  0x00006aa2 hstore  0x00000001 , 0x00008090 
- 00026045  0x00006aa3 jam  0x00000004 , 0x00008006 
- 00026046  0x00006aa4 branch  0x000065b0 
- 00026047  0x00006aa8 set1  0x00000028 , 0x00000000 
- 00026048  0x00006aa9 jam  0x00000008 , 0x00004211 
- 00026049  0x00006aaa rtn 
- 00026050  0x00006aad set0  0x00000028 , 0x00000000 
- 00026051  0x00006aae jam  0x00000020 , 0x00004211 
- 00026052  0x00006aaf rtn 
- 00026053  0x00006ab3 fetch  0x00000001 , 0x00004203 
- 00026054  0x00006ab4 iadd  0x00000012 , 0x0000003f 
- 00026055  0x00006ab5 store  0x00000001 , 0x000001f7 
- 00026056  0x00006ab6 branch  0x000065cc 
- 00026057  0x00006ab9 fetch  0x00000002 , 0x000001f7 
- 00026058  0x00006aba byteswap  0x0000003f , 0x0000003f 
- 00026059  0x00006abb store  0x00000001 , 0x000001f7 
- 00026060  0x00006ac1 setarg  0x00000003 
- 00026061  0x00006ac2 hstore  0x00000002 , 0x00008098 
- 00026062  0x00006ac3 jam  0x000000a0 , 0x000001f6 
- 00026063  0x00006ac4 jam  0x000000a1 , 0x000001f8 
- 00026064  0x00006ac5 branch  0x000065eb 
- 00026065  0x00006acc storet  0x00000002 , 0x00000aa2 
- 00026066  0x00006acd call  0x000065d6 
- 00026067  0x00006ace fetcht  0x00000002 , 0x00000aa2 
- 00026068  0x00006acf call  0x00006606 
- 00026069  0x00006ad0 branch  0x000065dd 
- 00026070  0x00006ad3 fetch  0x00000001 , 0x0000423a 
- 00026071  0x00006ad4 rtneq  0x000000ff 
- 00026072  0x00006ad5 bbit0  0x00000006 , 0x000065db 
- 00026073  0x00006ad6 setarg  0x000249f0 
- 00026074  0x00006ad7 call  0x00002a8f 
- 00026075  0x00006ad9 fetcht  0x00000001 , 0x0000423a 
- 00026076  0x00006ada branch  0x00006829 
- 00026077  0x00006add fetcht  0x00000001 , 0x0000423a 
- 00026078  0x00006ade branch  0x00006825 
- 00026079  0x00006ae4 bpatchx  0x00000090 , 0x00004032 
- 00026080  0x00006ae5 bmark1  0x00000028 , 0x000065c5 
- 00026081  0x00006ae6 fetch  0x00000002 , 0x00004203 
- 00026082  0x00006ae7 iadd  0x00000012 , 0x0000003f 
- 00026083  0x00006ae8 byteswap  0x0000003f , 0x0000003f 
- 00026084  0x00006ae9 store  0x00000002 , 0x000001f7 
- 00026085  0x00006aed bpatchx  0x00000091 , 0x00004032 
- 00026086  0x00006aee bmark1  0x00000028 , 0x000065c9 
- 00026087  0x00006aef setarg  0x00000004 
- 00026088  0x00006af0 hstore  0x00000002 , 0x00008098 
- 00026089  0x00006af1 jam  0x000000a0 , 0x000001f6 
- 00026090  0x00006af2 jam  0x000000a1 , 0x000001f9 
- 00026091  0x00006af4 setarg  0x000001f6 
- 00026092  0x00006af5 hstore  0x00000002 , 0x0000809a 
- 00026093  0x00006af6 hstoret  0x00000002 , 0x0000809e 
- 00026094  0x00006af7 deposit  0x00000011 
- 00026095  0x00006af8 hstore  0x00000002 , 0x0000809c 
- 00026096  0x00006af9 setarg  0x00000002 
- 00026097  0x00006afa isolate0  0x0000000f , 0x00000011 
- 00026098  0x00006afb setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00026099  0x00006afc hstore  0x00000001 , 0x00008090 
- 00026100  0x00006afd jam  0x00000004 , 0x00008006 
- 00026101  0x00006afe arg  0x00000005 , 0x00000007 
- 00026102  0x00006aff call  0x000064c0 
- 00026103  0x00006b00 call  0x000065b0 
- 00026104  0x00006b01 isolate1  0x00000004 , 0x0000003f 
- 00026105  0x00006b02 call  0x000064b9 
- 00026106  0x00006b03 bmark1  0x00000028 , 0x00006601 
- 00026107  0x00006b04 fetch  0x00000002 , 0x000001f7 
- 00026108  0x00006b05 byteswap  0x0000003f , 0x0000003f 
- 00026109  0x00006b06 iadd  0x00000002 , 0x0000003f 
- 00026110  0x00006b07 byteswap  0x0000003f , 0x0000003f 
- 00026111  0x00006b08 store  0x00000002 , 0x000001f7 
- 00026112  0x00006b09 rtn 
- 00026113  0x00006b0c fetch  0x00000001 , 0x000001f7 
- 00026114  0x00006b0d iadd  0x00000002 , 0x0000003f 
- 00026115  0x00006b0e byteswap  0x0000003f , 0x0000003f 
- 00026116  0x00006b0f store  0x00000002 , 0x000001f7 
- 00026117  0x00006b10 rtn 
- 00026118  0x00006b17 fetch  0x00000002 , 0x00004203 
- 00026119  0x00006b18 iadd  0x00000012 , 0x0000003f 
- 00026120  0x00006b1c store  0x00000002 , 0x00000a9a 
- 00026121  0x00006b1d bpatchx  0x00000092 , 0x00004032 
- 00026122  0x00006b1e storet  0x00000002 , 0x00000aa2 
- 00026123  0x00006b1f copy  0x00000011 , 0x0000003f 
- 00026124  0x00006b20 store  0x00000002 , 0x00000ab9 
- 00026125  0x00006b22 call  0x0000661d 
- 00026126  0x00006b24 fetcht  0x00000002 , 0x00000ab2 
- 00026127  0x00006b25 fetch  0x00000002 , 0x00000ab9 
- 00026128  0x00006b26 copy  0x0000003f , 0x00000011 
- 00026129  0x00006b27 fetch  0x00000002 , 0x00000a9a 
- 00026130  0x00006b29 call  0x0000663d 
- 00026131  0x00006b2b fetch  0x00000002 , 0x00000ab2 
- 00026132  0x00006b2c fetcht  0x00000002 , 0x00000ab9 
- 00026133  0x00006b2d iadd  0x00000002 , 0x00000002 
- 00026134  0x00006b2e storet  0x00000002 , 0x00000ab9 
- 00026135  0x00006b2f fetcht  0x00000002 , 0x00000a9a 
- 00026136  0x00006b30 iadd  0x00000002 , 0x00000002 
- 00026137  0x00006b31 storet  0x00000002 , 0x00000a9a 
- 00026138  0x00006b32 fetch  0x00000002 , 0x00000aa2 
- 00026139  0x00006b33 nbranch  0x0000660d , 0x00000034 
- 00026140  0x00006b34 rtn 
- 00026141  0x00006b3d bpatchx  0x00000093 , 0x00004032 
- 00026142  0x00006b3e fetch  0x00000001 , 0x00004211 
- 00026143  0x00006b3f increase  0xffffffff , 0x0000003f 
- 00026144  0x00006b40 fetcht  0x00000002 , 0x00000a9a 
- 00026145  0x00006b41 ior  0x00000002 , 0x0000003f 
- 00026146  0x00006b42 increase  0x00000001 , 0x0000003f 
- 00026147  0x00006b43 store  0x00000003 , 0x00000ab6 
- 00026148  0x00006b45 fetch  0x00000002 , 0x00000aa2 
- 00026149  0x00006b46 iadd  0x00000002 , 0x0000003f 
- 00026150  0x00006b48 fetcht  0x00000003 , 0x00000ab6 
- 00026151  0x00006b49 isub  0x00000002 , 0x0000003f 
- 00026152  0x00006b4a nbranch  0x0000662f , 0x00000002 
- 00026153  0x00006b4b store  0x00000002 , 0x00000aa2 
- 00026154  0x00006b4c fetch  0x00000003 , 0x00000ab6 
- 00026155  0x00006b4d fetcht  0x00000002 , 0x00000a9a 
- 00026156  0x00006b4e isub  0x00000002 , 0x0000003f 
- 00026157  0x00006b4f store  0x00000002 , 0x00000ab2 
- 00026158  0x00006b50 rtn 
- 00026159  0x00006b52 fetch  0x00000002 , 0x00000aa2 
- 00026160  0x00006b53 store  0x00000002 , 0x00000ab2 
- 00026161  0x00006b54 setarg  0x00000000 
- 00026162  0x00006b55 store  0x00000002 , 0x00000aa2 
- 00026163  0x00006b56 rtn 
- 00026164  0x00006b59 increase  0x00000002 , 0x00000002 
- 00026165  0x00006b5a hstoret  0x00000002 , 0x00008098 
- 00026166  0x00006b5b increase  0xfffffffe , 0x00000011 
- 00026167  0x00006b5c ifetcht  0x00000003 , 0x00000011 
- 00026168  0x00006b5d copy  0x00000002 , 0x00000012 
- 00026169  0x00006b5e arg  0x000000a0 , 0x00000002 
- 00026170  0x00006b5f istoret  0x00000001 , 0x00000011 
- 00026171  0x00006b61 istore  0x00000001 , 0x00000005 
- 00026172  0x00006b62 branch  0x0000664a 
- 00026173  0x00006b66 copy  0x0000003f , 0x00000012 
- 00026174  0x00006b67 bpatchx  0x00000094 , 0x00004032 
- 00026175  0x00006b68 bmark1  0x00000028 , 0x00006634 
- 00026176  0x00006b69 copy  0x00000012 , 0x0000003f 
- 00026177  0x00006b6a increase  0x00000003 , 0x00000002 
- 00026178  0x00006b6b hstoret  0x00000002 , 0x00008098 
- 00026179  0x00006b6c increase  0xfffffffd , 0x00000011 
- 00026180  0x00006b6d ifetcht  0x00000003 , 0x00000011 
- 00026181  0x00006b6e copy  0x00000002 , 0x00000012 
- 00026182  0x00006b6f arg  0x000000a0 , 0x00000002 
- 00026183  0x00006b70 istoret  0x00000001 , 0x00000011 
- 00026184  0x00006b71 byteswap  0x0000003f , 0x0000003f 
- 00026185  0x00006b72 istore  0x00000002 , 0x00000005 
- 00026186  0x00006b74 deposit  0x00000011 
- 00026187  0x00006b75 hstore  0x00000002 , 0x0000809a 
- 00026188  0x00006b76 setarg  0x00000000 
- 00026189  0x00006b77 hstore  0x00000002 , 0x0000809e 
- 00026190  0x00006b78 jam  0x00000001 , 0x00008090 
- 00026191  0x00006b79 jam  0x00000004 , 0x00008006 
- 00026192  0x00006b7a call  0x000065b0 
- 00026193  0x00006b7b copy  0x00000012 , 0x0000003f 
- 00026194  0x00006b7c istore  0x00000003 , 0x00000011 
- 00026195  0x00006b7f bpatchx  0x00000095 , 0x00004032 
- 00026196  0x00006b80 jam  0x00000000 , 0x000001f9 
- 00026197  0x00006b82 setarg  0x00000001 
- 00026198  0x00006b83 hstore  0x00000002 , 0x00008098 
- 00026199  0x00006b84 jam  0x000000a0 , 0x000001f6 
- 00026200  0x00006b85 setarg  0x000001f6 
- 00026201  0x00006b86 hstore  0x00000002 , 0x0000809a 
- 00026202  0x00006b87 setarg  0x00000000 
- 00026203  0x00006b88 hstore  0x00000002 , 0x0000809e 
- 00026204  0x00006b89 hstore  0x00000002 , 0x0000809c 
- 00026205  0x00006b8a setarg  0x00000003 
- 00026206  0x00006b8b hstore  0x00000001 , 0x00008090 
- 00026207  0x00006b8c jam  0x00000004 , 0x00008006 
- 00026208  0x00006b8d call  0x000065b0 
- 00026209  0x00006b8e hfetch  0x00000001 , 0x0000812c 
- 00026210  0x00006b8f rtnbit0  0x00000006 
- 00026211  0x00006b90 nop  0x000005dc 
- 00026212  0x00006b91 fetch  0x00000001 , 0x000001f9 
- 00026213  0x00006b92 increase  0x00000001 , 0x0000003f 
- 00026214  0x00006b93 store  0x00000001 , 0x000001f9 
- 00026215  0x00006b94 sub  0x0000003f , 0x00000028 , 0x0000003e 
- 00026216  0x00006b95 nrtn  0x00000002 
- 00026217  0x00006b96 branch  0x00006655 
- 00026218  0x00006b9b jam  0x00000070 , 0x00008973 
- 00026219  0x00006b9c nop  0x00000bb8 
- 00026220  0x00006b9d rtn 
- 00026221  0x00006ba0 jam  0x00000030 , 0x00008973 
- 00026222  0x00006ba1 rtn 
- 00026223  0x00006ba4 lshift3  0x0000003f , 0x0000003f 
- 00026224  0x00006ba5 hstore  0x00000002 , 0x00008045 
- 00026225  0x00006ba6 jam  0x00000000 , 0x0000804b 
- 00026226  0x00006ba7 rtn 
- 00026227  0x00006bab call  0x0000666f 
- 00026228  0x00006bac call  0x000066a0 
- 00026229  0x00006bae ifetcht  0x00000001 , 0x00000011 
- 00026230  0x00006baf increase  0x00000001 , 0x00000011 
- 00026231  0x00006bb0 force  0x00000000 , 0x00000007 
- 00026232  0x00006bb2 qisolate0  0x00000002 
- 00026233  0x00006bb3 branch  0x00006697 , 0x00000001 
- 00026234  0x00006bb4 hfetch  0x00000001 , 0x00008046 
- 00026235  0x00006bb5 set1  0x00000006 , 0x0000003f 
- 00026236  0x00006bb6 set1  0x00000007 , 0x0000003f 
- 00026237  0x00006bb7 hstore  0x00000001 , 0x00008046 
- 00026238  0x00006bb8 jam  0x00000002 , 0x00008047 
- 00026239  0x00006bb9 jam  0x00000082 , 0x00008047 
- 00026240  0x00006bba set0  0x00000007 , 0x0000003f 
- 00026241  0x00006bbb hstore  0x00000001 , 0x00008046 
- 00026242  0x00006bbc jam  0x0000008a , 0x00008047 
- 00026243  0x00006bbd nop  0x0000000b 
- 00026244  0x00006bbe jam  0x000000ca , 0x00008047 
- 00026245  0x00006bbf nop  0x00000021 
- 00026246  0x00006bc0 jam  0x0000004a , 0x00008047 
- 00026247  0x00006bc1 nop  0x0000002c 
- 00026248  0x00006bc2 jam  0x000000ca , 0x00008047 
- 00026249  0x00006bc3 nop  0x00000016 
- 00026250  0x00006bc4 jam  0x0000008a , 0x00008047 
- 00026251  0x00006bc5 nop  0x00000021 
- 00026252  0x00006bc6 jam  0x00000082 , 0x00008047 
- 00026253  0x00006bc7 nop  0x00000001 
- 00026254  0x00006bc8 jam  0x00000092 , 0x00008047 
- 00026255  0x00006bc9 nop  0x0000000a 
- 00026256  0x00006bca jam  0x000000b2 , 0x00008047 
- 00026257  0x00006bcb hfetch  0x00000001 , 0x00008007 
- 00026258  0x00006bcc jam  0x00000092 , 0x00008047 
- 00026259  0x00006bcd nop  0x00000001 
- 00026260  0x00006bce jam  0x00000082 , 0x00008047 
- 00026261  0x00006bcf qisolate0  0x0000003f 
- 00026262  0x00006bd0 branch  0x00006678 , 0x00000001 
- 00026263  0x00006bd2 hfetch  0x00000002 , 0x00008045 
- 00026264  0x00006bd3 increase  0x00000001 , 0x0000003f 
- 00026265  0x00006bd4 hstore  0x00000002 , 0x00008045 
- 00026266  0x00006bd5 increase  0x00000001 , 0x00000007 
- 00026267  0x00006bd6 compare  0x00000008 , 0x00000007 , 0x0000000f 
- 00026268  0x00006bd7 nbranch  0x00006678 , 0x00000001 
- 00026269  0x00006bd8 loop  0x00006675 
- 00026270  0x00006bd9 jam  0x00000083 , 0x00008047 
- 00026271  0x00006bda rtn 
- 00026272  0x00006bdd jam  0x00000082 , 0x00008047 
- 00026273  0x00006bde nop  0x0000000c 
- 00026274  0x00006bdf jam  0x00000080 , 0x00008047 
- 00026275  0x00006be0 jam  0x00000082 , 0x00008047 
- 00026276  0x00006be1 nop  0x00000096 
- 00026277  0x00006be2 rtn 
- 00026278  0x00006be6 call  0x000066a0 
- 00026279  0x00006be7 jam  0x000000a2 , 0x00008047 
- 00026280  0x00006be8 deposit  0x00000011 
- 00026281  0x00006be9 hstore  0x00000002 , 0x00008048 
- 00026282  0x00006bea set1  0x0000000b , 0x00000002 
- 00026283  0x00006beb isolate0  0x0000000f , 0x0000003f 
- 00026284  0x00006bec setflag  0x00000001 , 0x0000000f , 0x00000002 
- 00026285  0x00006bed hstoret  0x00000002 , 0x0000804a 
- 00026286  0x00006bee jam  0x00000001 , 0x00008006 
- 00026287  0x00006bef rtn 
- 00026288  0x00006bf2 hfetch  0x00000001 , 0x0000812c 
- 00026289  0x00006bf3 bbit0  0x00000001 , 0x000066b0 
- 00026290  0x00006bf4 rtn 
- 00026291  0x00006bf8 call  0x0000666f 
- 00026292  0x00006bf9 call  0x000066a6 
- 00026293  0x00006bfa call  0x000066b0 
- 00026294  0x00006bfb jam  0x00000083 , 0x00008047 
- 00026295  0x00006bfc rtn 
- 00026296  0x00006c02 hfetch  0x00000002 , 0x00008124 
- 00026297  0x00006c03 hstore  0x00000002 , 0x00008045 
- 00026298  0x00006c04 call  0x000066a6 
- 00026299  0x00006c05 arg  0x00000001 , 0x00000007 
- 00026300  0x00006c06 call  0x000064c0 
- 00026301  0x00006c07 call  0x000066b0 
- 00026302  0x00006c08 isolate1  0x00000000 , 0x0000003f 
- 00026303  0x00006c09 call  0x000064b9 
- 00026304  0x00006c0a jam  0x00000083 , 0x00008047 
- 00026305  0x00006c0b rtn 
- 00026306  0x00006c0f hfetch  0x00000002 , 0x0000805e 
- 00026307  0x00006c10 iforce  0x0000000a 
- 00026308  0x00006c11 rtn 
- 00026309  0x00006c14 deposit  0x0000000a 
- 00026310  0x00006c15 hstore  0x00000002 , 0x0000805e 
- 00026311  0x00006c16 rtn 
- 00026312  0x00006c19 deposit  0x00000003 
- 00026313  0x00006c1a hstore  0x00000002 , 0x00008058 
- 00026314  0x00006c1b rtn 
- 00026315  0x00006c1e hfetch  0x00000002 , 0x00008058 
- 00026316  0x00006c1f copy  0x0000003f , 0x00000003 
- 00026317  0x00006c20 rtn 
- 00026318  0x00006c23 fetch  0x00000002 , 0x00004243 
- 00026319  0x00006c24 hstore  0x00000002 , 0x00008052 
- 00026320  0x00006c25 rtn 
- 00026321  0x00006c28 deposit  0x00000039 
- 00026322  0x00006c29 rtn  0x00000034 
- 00026323  0x00006c2b increase  0xfffffff8 , 0x00000039 
- 00026324  0x00006c2c call  0x000066de , 0x00000002 
- 00026325  0x00006c2d rtn  0x00000005 
- 00026326  0x00006c2e branch  0x000066d3 , 0x00000002 
- 00026327  0x00006c2f increase  0x00000008 , 0x00000039 
- 00026328  0x00006c31 increase  0xfffffffc , 0x00000039 
- 00026329  0x00006c32 call  0x000066e1 , 0x00000002 
- 00026330  0x00006c33 rtn  0x00000005 
- 00026331  0x00006c34 branch  0x000066d8 , 0x00000002 
- 00026332  0x00006c35 increase  0x00000004 , 0x00000039 
- 00026333  0x00006c36 branch  0x000066e4 
- 00026334  0x00006c39 ifetch  0x00000008 , 0x00000006 
- 00026335  0x00006c3a istore  0x00000008 , 0x0000000a 
- 00026336  0x00006c3b rtn 
- 00026337  0x00006c3e ifetch  0x00000004 , 0x00000006 
- 00026338  0x00006c3f istore  0x00000004 , 0x0000000a 
- 00026339  0x00006c40 rtn 
- 00026340  0x00006c43 deposit  0x00000039 
- 00026341  0x00006c44 rtn  0x00000034 
- 00026342  0x00006c46 ifetch  0x00000001 , 0x00000006 
- 00026343  0x00006c47 istore  0x00000001 , 0x0000000a 
- 00026344  0x00006c48 loop  0x000066e6 
- 00026345  0x00006c49 rtn 
- 00026346  0x00006c4c deposit  0x00000039 
- 00026347  0x00006c4d rtn  0x00000034 
- 00026348  0x00006c4f increase  0xfffffff8 , 0x00000039 
- 00026349  0x00006c50 call  0x000066f7 , 0x00000002 
- 00026350  0x00006c51 rtn  0x00000005 
- 00026351  0x00006c52 branch  0x000066ec , 0x00000002 
- 00026352  0x00006c53 increase  0x00000008 , 0x00000039 
- 00026353  0x00006c55 increase  0xfffffffc , 0x00000039 
- 00026354  0x00006c56 call  0x000066fa , 0x00000002 
- 00026355  0x00006c57 rtn  0x00000005 
- 00026356  0x00006c58 branch  0x000066f1 , 0x00000002 
- 00026357  0x00006c59 increase  0x00000004 , 0x00000039 
- 00026358  0x00006c5a branch  0x000066fd 
- 00026359  0x00006c5d ifetch  0x00000008 , 0x00000003 
- 00026360  0x00006c5e istore  0x00000008 , 0x00000005 
- 00026361  0x00006c5f rtn 
- 00026362  0x00006c62 ifetch  0x00000004 , 0x00000003 
- 00026363  0x00006c63 istore  0x00000004 , 0x00000005 
- 00026364  0x00006c64 rtn 
- 00026365  0x00006c68 deposit  0x00000039 
- 00026366  0x00006c69 rtn  0x00000034 
- 00026367  0x00006c6b ifetch  0x00000001 , 0x00000003 
- 00026368  0x00006c6c istore  0x00000001 , 0x00000005 
- 00026369  0x00006c6d loop  0x000066ff 
- 00026370  0x00006c6e rtn 
- 00026371  0x00006c72 deposit  0x00000039 
- 00026372  0x00006c73 rtn  0x00000034 
- 00026373  0x00006c75 ifetch  0x00000001 , 0x00000003 
- 00026374  0x00006c76 istore  0x00000001 , 0x0000000a 
- 00026375  0x00006c77 loop  0x00006705 
- 00026376  0x00006c78 rtn 
- 00026377  0x00006c7e jam  0x0000003d , 0x00000a99 
- 00026378  0x00006c7f branch  0x00007d86 
- 00026379  0x00006c83 bpatchx  0x00000096 , 0x00004032 
- 00026380  0x00006c84 fetch  0x00000001 , 0x00004217 
- 00026381  0x00006c85 rtn  0x00000034 
- 00026382  0x00006c86 call  0x000067a3 
- 00026383  0x00006c87 call  0x000067a9 , 0x00000005 
- 00026384  0x00006c88 call  0x0000673e 
- 00026385  0x00006c8a fetch  0x00000001 , 0x00004217 
- 00026386  0x00006c8b icopy  0x00000013 
- 00026387  0x00006c8c fetcht  0x00000002 , 0x00004215 
- 00026388  0x00006c8d storet  0x00000002 , 0x0000018c 
- 00026389  0x00006c8f copy  0x00000013 , 0x0000003f 
- 00026390  0x00006c90 branch  0x00006709 , 0x00000034 
- 00026391  0x00006c91 increase  0xffffffff , 0x00000013 
- 00026392  0x00006c92 copy  0x00000002 , 0x00000011 
- 00026393  0x00006c93 ifetch  0x00000001 , 0x00000011 
- 00026394  0x00006c94 fetcht  0x00000001 , 0x00000184 
- 00026395  0x00006c95 isub  0x00000002 , 0x0000003e 
- 00026396  0x00006c96 call  0x00006725 , 0x00000005 
- 00026397  0x00006c97 branch  0x00006721 , 0x00000002 
- 00026398  0x00006c98 ifetch  0x00000001 , 0x00000011 
- 00026399  0x00006c99 increase  0x00000001 , 0x0000003f 
- 00026400  0x00006c9a istore  0x00000001 , 0x00000011 
- 00026401  0x00006c9c fetcht  0x00000002 , 0x0000018c 
- 00026402  0x00006c9d increase  0x00000022 , 0x00000002 
- 00026403  0x00006c9e storet  0x00000002 , 0x0000018c 
- 00026404  0x00006c9f branch  0x00006715 
- 00026405  0x00006ca2 setarg  0x00000000 
- 00026406  0x00006ca3 istore  0x00000001 , 0x00000011 
- 00026407  0x00006ca4 fetch  0x00000001 , 0x00000185 
- 00026408  0x00006ca5 istore  0x00000001 , 0x00000005 
- 00026409  0x00006ca6 bne  0x00000033 , 0x00006733 
- 00026410  0x00006ca7 arg  0x000041be , 0x00000012 
- 00026411  0x00006ca9 ifetch  0x00000006 , 0x00000006 
- 00026412  0x00006caa istore  0x00000008 , 0x00000005 
- 00026413  0x00006cab setarg  0x00000000 
- 00026414  0x00006cac istore  0x00000008 , 0x00000005 
- 00026415  0x00006cad copy  0x00000012 , 0x00000006 
- 00026416  0x00006caf call  0x00007ebf 
- 00026417  0x00006cb0 force  0x00000001 , 0x0000003e 
- 00026418  0x00006cb1 rtn 
- 00026419  0x00006cb4 beq  0x00000036 , 0x00006737 
- 00026420  0x00006cb5 beq  0x00000037 , 0x0000673b 
- 00026421  0x00006cb6 arg  0x00004419 , 0x00000012 
- 00026422  0x00006cb7 branch  0x0000672b 
- 00026423  0x00006cba arg  0x000044d5 , 0x00000006 
- 00026424  0x00006cbb call  0x00007ebf 
- 00026425  0x00006cbd arg  0x00004419 , 0x00000006 
- 00026426  0x00006cbe branch  0x00006730 
- 00026427  0x00006cc1 arg  0x000044cd , 0x00000006 
- 00026428  0x00006cc2 call  0x00007ebf 
- 00026429  0x00006cc3 branch  0x00006739 
- 00026430  0x00006cc7 call  0x00007fe9 
- 00026431  0x00006cc8 fetch  0x00000001 , 0x00004217 
- 00026432  0x00006cc9 rtn  0x00000034 
- 00026433  0x00006cca fetch  0x00000002 , 0x00004682 
- 00026434  0x00006ccb bbit1  0x00000000 , 0x00006754 
- 00026435  0x00006ccd bpatchx  0x00000097 , 0x00004032 
- 00026436  0x00006cce fetch  0x00000001 , 0x0000448e 
- 00026437  0x00006ccf beq  0x00000000 , 0x0000674d 
- 00026438  0x00006cd0 fetch  0x00000001 , 0x00000454 
- 00026439  0x00006cd1 compare  0x000000c0 , 0x0000003f , 0x000000c0 
- 00026440  0x00006cd2 branch  0x0000674d , 0x00000001 
- 00026441  0x00006cd3 compare  0x00000040 , 0x0000003f , 0x000000c0 
- 00026442  0x00006cd4 branch  0x00006752 , 0x00000001 
- 00026443  0x00006cd5 compare  0x00000000 , 0x0000003f , 0x000000c0 
- 00026444  0x00006cd6 branch  0x00006750 , 0x00000001 
- 00026445  0x00006cd8 jam  0x00000035 , 0x00000185 
- 00026446  0x00006cd9 fetch  0x00000006 , 0x0000044f 
- 00026447  0x00006cda branch  0x00006757 
- 00026448  0x00006cdd jam  0x00000037 , 0x00000185 
- 00026449  0x00006cde branch  0x00006757 
- 00026450  0x00006ce2 jam  0x00000036 , 0x00000185 
- 00026451  0x00006ce3 branch  0x00006757 
- 00026452  0x00006ce7 bpatchx  0x00000098 , 0x00004033 
- 00026453  0x00006ce8 jam  0x00000033 , 0x00000185 
- 00026454  0x00006ce9 fetch  0x00000006 , 0x00000040 
- 00026455  0x00006ceb store  0x00000006 , 0x00000186 
- 00026456  0x00006cec fetch  0x00000002 , 0x00004215 
- 00026457  0x00006ced ifetcht  0x00000001 , 0x0000003f 
- 00026458  0x00006cee pincrease  0x00000001 
- 00026459  0x00006cef store  0x00000002 , 0x0000018c 
- 00026460  0x00006cf0 storet  0x00000001 , 0x00000184 
- 00026461  0x00006cf1 fetch  0x00000001 , 0x00004217 
- 00026462  0x00006cf2 icopy  0x00000013 
- 00026463  0x00006cf4 fetch  0x00000002 , 0x0000018c 
- 00026464  0x00006cf5 copy  0x0000003f , 0x00000011 
- 00026465  0x00006cf6 call  0x0000676f 
- 00026466  0x00006cf7 rtn  0x00000028 
- 00026467  0x00006cf8 fetcht  0x00000002 , 0x0000018c 
- 00026468  0x00006cf9 increase  0x00000022 , 0x00000002 
- 00026469  0x00006cfa storet  0x00000002 , 0x0000018c 
- 00026470  0x00006cfb increase  0xffffffff , 0x00000002 
- 00026471  0x00006cfc ifetch  0x00000001 , 0x00000002 
- 00026472  0x00006cfd store  0x00000001 , 0x00000184 
- 00026473  0x00006cfe increase  0xffffffff , 0x00000013 
- 00026474  0x00006cff nbranch  0x0000675f , 0x00000005 
- 00026475  0x00006d00 fetch  0x00000001 , 0x00004217 
- 00026476  0x00006d01 pincrease  0xffffffff 
- 00026477  0x00006d02 store  0x00000001 , 0x00000184 
- 00026478  0x00006d03 rtn 
- 00026479  0x00006d05 fetch  0x00000001 , 0x00000185 
- 00026480  0x00006d06 bne  0x00000033 , 0x00006776 
- 00026481  0x00006d08 arg  0x00000185 , 0x00000012 
- 00026482  0x00006d09 arg  0x00000007 , 0x00000039 
- 00026483  0x00006d0a call  0x00007f88 
- 00026484  0x00006d0b branch  0x00007fe7 , 0x00000005 
- 00026485  0x00006d0c rtn 
- 00026486  0x00006d0f beq  0x00000036 , 0x00006779 
- 00026487  0x00006d10 beq  0x00000037 , 0x00006794 
- 00026488  0x00006d11 branch  0x00006771 
- 00026489  0x00006d14 ifetcht  0x00000001 , 0x00000011 
- 00026490  0x00006d15 isub  0x00000002 , 0x0000003e 
- 00026491  0x00006d16 nrtn  0x00000005 
- 00026492  0x00006d17 arg  0x00000ac2 , 0x00000005 
- 00026493  0x00006d18 arg  0x00000010 , 0x00000039 
- 00026494  0x00006d19 call  0x00007ed4 
- 00026495  0x00006d1a fetch  0x00000003 , 0x00000452 
- 00026496  0x00006d1b store  0x00000003 , 0x00000ac2 
- 00026497  0x00006d1c call  0x0000678b 
- 00026498  0x00006d1d fetch  0x00000002 , 0x00000adf 
- 00026499  0x00006d1e byteswap  0x0000003f , 0x0000003f 
- 00026500  0x00006d1f lshift8  0x0000003f , 0x00000002 
- 00026501  0x00006d20 ifetch  0x00000001 , 0x00000006 
- 00026502  0x00006d21 iadd  0x00000002 , 0x0000003f 
- 00026503  0x00006d22 fetcht  0x00000003 , 0x0000044f 
- 00026504  0x00006d23 isub  0x00000002 , 0x0000003e 
- 00026505  0x00006d24 branch  0x00007fe7 , 0x00000005 
- 00026506  0x00006d25 rtn 
- 00026507  0x00006d29 arg  0x00000ac2 , 0x00000006 
- 00026508  0x00006d2a call  0x00007486 
- 00026509  0x00006d2c ifetch  0x00000001 , 0x00000011 
- 00026510  0x00006d2d call  0x00007487 
- 00026511  0x00006d2e force  0x00000038 , 0x00000036 
- 00026512  0x00006d2f force  0x00000000 , 0x00000036 
- 00026513  0x00006d30 call  0x0000741d 
- 00026514  0x00006d31 arg  0x00000ad2 , 0x00000005 
- 00026515  0x00006d32 branch  0x00007497 
- 00026516  0x00006d35 ifetcht  0x00000001 , 0x00000011 
- 00026517  0x00006d36 isub  0x00000002 , 0x0000003e 
- 00026518  0x00006d37 nrtn  0x00000005 
- 00026519  0x00006d38 copy  0x00000006 , 0x00000011 
- 00026520  0x00006d39 add  0x00000006 , 0x00000008 , 0x00000013 
- 00026521  0x00006d3a arg  0x000044cd , 0x00000012 
- 00026522  0x00006d3b arg  0x00000008 , 0x00000039 
- 00026523  0x00006d3c call  0x00007f88 
- 00026524  0x00006d3d branch  0x00007fe7 , 0x00000005 
- 00026525  0x00006d3e copy  0x00000013 , 0x00000011 
- 00026526  0x00006d3f arg  0x000044d5 , 0x00000012 
- 00026527  0x00006d40 arg  0x00000008 , 0x00000039 
- 00026528  0x00006d41 call  0x00007f88 
- 00026529  0x00006d42 branch  0x00007fe7 , 0x00000005 
- 00026530  0x00006d43 rtn 
- 00026531  0x00006d46 fetch  0x00000002 , 0x00004215 
- 00026532  0x00006d47 ifetcht  0x00000001 , 0x0000003f 
- 00026533  0x00006d48 pincrease  0x00000022 
- 00026534  0x00006d49 ifetch  0x00000001 , 0x0000003f 
- 00026535  0x00006d4a isub  0x00000002 , 0x0000003e 
- 00026536  0x00006d4b rtn 
- 00026537  0x00006d4e fetch  0x00000001 , 0x00004217 
- 00026538  0x00006d4f icopy  0x00000039 
- 00026539  0x00006d50 fetcht  0x00000002 , 0x00004215 
- 00026540  0x00006d51 setarg  0x00000000 
- 00026541  0x00006d53 istore  0x00000001 , 0x00000002 
- 00026542  0x00006d54 increase  0x00000022 , 0x00000002 
- 00026543  0x00006d55 pincrease  0x00000001 
- 00026544  0x00006d56 loop  0x000067ad 
- 00026545  0x00006d57 rtn 
- 00026546  0x00006d5a bpatchx  0x00000099 , 0x00004033 
- 00026547  0x00006d5b call  0x0000673e 
- 00026548  0x00006d5c fetch  0x00000001 , 0x00000030 
- 00026549  0x00006d5d setflag  0x00000028 , 0x00000006 , 0x0000003f 
- 00026550  0x00006d5e store  0x00000001 , 0x00000030 
- 00026551  0x00006d5f nbranch  0x000067bc , 0x00000028 
- 00026552  0x00006d60 add  0x00000011 , 0x0000000a , 0x00000006 
- 00026553  0x00006d62 arg  0x000041be , 0x00000005 
- 00026554  0x00006d63 call  0x00007ebf 
- 00026555  0x00006d64 branch  0x000067d7 
- 00026556  0x00006d66 jam  0x00000000 , 0x000041bd 
- 00026557  0x00006d67 rtn 
- 00026558  0x00006d6a fetch  0x00000009 , 0x000044cb 
- 00026559  0x00006d6b branch  0x000067ca , 0x00000034 
- 00026560  0x00006d6c call  0x0000673e 
- 00026561  0x00006d6d nbranch  0x000067ca , 0x00000028 
- 00026562  0x00006d6e fetch  0x00000002 , 0x0000018c 
- 00026563  0x00006d6f add  0x0000003f , 0x00000001 , 0x00000006 
- 00026564  0x00006d70 arg  0x000044d5 , 0x00000005 
- 00026565  0x00006d71 call  0x00007ebf 
- 00026566  0x00006d72 arg  0x00004419 , 0x00000005 
- 00026567  0x00006d73 call  0x00007ebf 
- 00026568  0x00006d74 jam  0x00000001 , 0x00004429 
- 00026569  0x00006d75 rtn 
- 00026570  0x00006d78 jam  0x00000000 , 0x00004429 
- 00026571  0x00006d79 rtn 
- 00026572  0x00006d7d fetch  0x00000006 , 0x0000044f 
- 00026573  0x00006d7e store  0x00000006 , 0x00000186 
- 00026574  0x00006d7f jam  0x00000034 , 0x00000185 
- 00026575  0x00006d80 branch  0x000067d3 
- 00026576  0x00006d82 fetch  0x00000006 , 0x00000040 
- 00026577  0x00006d83 store  0x00000006 , 0x00000186 
- 00026578  0x00006d84 jam  0x00000033 , 0x00000185 
- 00026579  0x00006d86 fetch  0x00000001 , 0x00004092 
- 00026580  0x00006d87 beq  0x0000000a , 0x0000670b 
- 00026581  0x00006d88 bbit1  0x00000006 , 0x000042da 
- 00026582  0x00006d89 rtn 
- 00026583  0x00006d8d fetch  0x00000008 , 0x000041be 
- 00026584  0x00006d8e fetcht  0x00000008 , 0x000041c6 
- 00026585  0x00006d8f ior  0x00000002 , 0x0000003f 
- 00026586  0x00006d90 rtn  0x00000034 
- 00026587  0x00006d91 jam  0x00000001 , 0x000041bd 
- 00026588  0x00006d92 rtn 
- 00026589  0x00006d9a bpatchx  0x0000009a , 0x00004033 
- 00026590  0x00006d9b set1  0x00000007 , 0x00000002 
- 00026591  0x00006d9c call  0x0000681d 
- 00026592  0x00006d9d nsetflag  0x00000001 , 0x00000007 , 0x00000002 
- 00026593  0x00006da3 bpatchx  0x0000009b , 0x00004033 
- 00026594  0x00006da4 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026595  0x00006da5 rtn  0x00000005 
- 00026596  0x00006da6 isolate0  0x00000007 , 0x00000002 
- 00026597  0x00006da7 and  0x00000002 , 0x0000001f , 0x00000007 
- 00026598  0x00006da8 fetch  0x00000004 , 0x000000a1 
- 00026599  0x00006da9 qsetflag  0x00000001 , 0x0000003f 
- 00026600  0x00006daa store  0x00000004 , 0x000000a1 
- 00026601  0x00006dab fetch  0x00000004 , 0x000000a5 
- 00026602  0x00006dac nqsetflag  0x00000001 , 0x0000003f 
- 00026603  0x00006dad store  0x00000004 , 0x000000a5 
- 00026604  0x00006dae rtn 
- 00026605  0x00006db2 bpatchx  0x0000009c , 0x00004033 
- 00026606  0x00006db3 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026607  0x00006db4 rtn  0x00000005 
- 00026608  0x00006db5 isolate0  0x00000007 , 0x00000002 
- 00026609  0x00006db6 and  0x00000002 , 0x0000001f , 0x00000007 
- 00026610  0x00006db7 fetch  0x00000004 , 0x000000a1 
- 00026611  0x00006db8 qset0  0x0000003f 
- 00026612  0x00006db9 store  0x00000004 , 0x000000a1 
- 00026613  0x00006dba fetch  0x00000004 , 0x000000a5 
- 00026614  0x00006dbb qset0  0x0000003f 
- 00026615  0x00006dbc store  0x00000004 , 0x000000a5 
- 00026616  0x00006dbd rtn 
- 00026617  0x00006dc1 call  0x000067ed 
- 00026618  0x00006dc2 branch  0x000067fe 
- 00026619  0x00006dc6 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026620  0x00006dc7 rtn  0x00000005 
- 00026621  0x00006dc8 ncall  0x000067e1 , 0x0000002b 
- 00026622  0x00006dcb arg  0x0000807c , 0x00000005 
- 00026623  0x00006dcc call  0x00006830 
- 00026624  0x00006dcd setflip  0x00000007 , 0x00000002 
- 00026625  0x00006dce arg  0x00008078 , 0x00000005 
- 00026626  0x00006dcf call  0x00006830 
- 00026627  0x00006dd0 set0  0x00000007 , 0x00000002 
- 00026628  0x00006dd1 arg  0x00008070 , 0x00000005 
- 00026629  0x00006dd2 branch  0x00006830 
- 00026630  0x00006dd6 arg  0x0000807c , 0x00000005 
- 00026631  0x00006dd7 call  0x00006830 
- 00026632  0x00006dd8 set0  0x00000007 , 0x00000002 
- 00026633  0x00006dd9 arg  0x00008078 , 0x00000005 
- 00026634  0x00006dda call  0x00006830 
- 00026635  0x00006ddb set0  0x00000007 , 0x00000002 
- 00026636  0x00006ddc arg  0x00008070 , 0x00000005 
- 00026637  0x00006ddd branch  0x00006830 
- 00026638  0x00006de2 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026639  0x00006de3 rtn  0x00000005 
- 00026640  0x00006de4 setflip  0x00000007 , 0x00000002 
- 00026641  0x00006de5 call  0x0000682f 
- 00026642  0x00006de7 set1  0x00000007 , 0x00000002 
- 00026643  0x00006de8 arg  0x00008070 , 0x00000005 
- 00026644  0x00006de9 branch  0x00006830 
- 00026645  0x00006dec and  0x00000002 , 0x00000007 , 0x00000007 
- 00026646  0x00006ded rshift3  0x00000002 , 0x0000003f 
- 00026647  0x00006dee and_into  0x00000003 , 0x0000003f 
- 00026648  0x00006def iadd  0x00000005 , 0x00000005 
- 00026649  0x00006df0 ifetch  0x00000001 , 0x00000005 
- 00026650  0x00006df1 rtn 
- 00026651  0x00006df4 arg  0x00008074 , 0x00000005 
- 00026652  0x00006df5 branch  0x0000681e 
- 00026653  0x00006dfa arg  0x0000811c , 0x00000005 
- 00026654  0x00006dfc call  0x00006815 
- 00026655  0x00006dfd isolate1  0x00000007 , 0x00000002 
- 00026656  0x00006dfe branch  0x00006823 , 0x00000001 
- 00026657  0x00006dff qisolate0  0x0000003f 
- 00026658  0x00006e00 rtn 
- 00026659  0x00006e02 qisolate1  0x0000003f 
- 00026660  0x00006e03 rtn 
- 00026661  0x00006e06 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026662  0x00006e07 rtn  0x00000005 
- 00026663  0x00006e08 isolate1  0x00000007 , 0x0000003e 
- 00026664  0x00006e09 branch  0x0000682c 
- 00026665  0x00006e0c sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00026666  0x00006e0d rtn  0x00000005 
- 00026667  0x00006e0e isolate0  0x00000007 , 0x0000003e 
- 00026668  0x00006e12 setarg  0x00000000 
- 00026669  0x00006e13 nsetflag  0x00000001 , 0x00000007 , 0x0000003f 
- 00026670  0x00006e14 ixor  0x00000002 , 0x00000002 
- 00026671  0x00006e18 arg  0x00008074 , 0x00000005 
- 00026672  0x00006e1c call  0x00006815 
- 00026673  0x00006e1d isolate1  0x00000007 , 0x00000002 
- 00026674  0x00006e1e qsetflag  0x00000001 , 0x0000003f 
- 00026675  0x00006e1f istore  0x00000001 , 0x00000005 
- 00026676  0x00006e20 rtn 
- 00026677  0x00006e23 arg  0xffffffff , 0x00000011 
- 00026678  0x00006e24 hfetch  0x00000001 , 0x00008081 
- 00026679  0x00006e25 compare  0x00000002 , 0x0000003f , 0x00000003 
- 00026680  0x00006e26 call  0x00006878 , 0x00000001 
- 00026681  0x00006e28 compare  0x00000001 , 0x0000003f , 0x00000003 
- 00026682  0x00006e29 call  0x0000687a , 0x00000001 
- 00026683  0x00006e2b compare  0x00000003 , 0x0000003f , 0x00000003 
- 00026684  0x00006e2c call  0x0000687a , 0x00000001 
- 00026685  0x00006e2e isolate1  0x00000002 , 0x0000003f 
- 00026686  0x00006e2f call  0x00006874 , 0x00000001 
- 00026687  0x00006e31 isolate1  0x00000003 , 0x0000003f 
- 00026688  0x00006e32 call  0x00006876 , 0x00000001 
- 00026689  0x00006e34 isolate1  0x00000004 , 0x0000003f 
- 00026690  0x00006e35 call  0x0000687c , 0x00000001 
- 00026691  0x00006e37 isolate1  0x00000006 , 0x0000003f 
- 00026692  0x00006e38 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
- 00026693  0x00006e3a isolate1  0x00000007 , 0x0000003f 
- 00026694  0x00006e3b nsetflag  0x00000001 , 0x00000005 , 0x00000011 
- 00026695  0x00006e3d hfetch  0x00000001 , 0x00008082 
- 00026696  0x00006e3e isolate1  0x00000000 , 0x0000003f 
- 00026697  0x00006e3f nsetflag  0x00000001 , 0x0000001b , 0x00000011 
- 00026698  0x00006e40 isolate1  0x00000001 , 0x0000003f 
- 00026699  0x00006e41 nsetflag  0x00000001 , 0x0000001c , 0x00000011 
- 00026700  0x00006e42 isolate1  0x00000002 , 0x0000003f 
- 00026701  0x00006e43 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
- 00026702  0x00006e44 isolate1  0x00000003 , 0x0000003f 
- 00026703  0x00006e45 nsetflag  0x00000001 , 0x00000008 , 0x00000011 
- 00026704  0x00006e46 isolate1  0x00000004 , 0x0000003f 
- 00026705  0x00006e47 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
- 00026706  0x00006e48 isolate1  0x00000005 , 0x0000003f 
- 00026707  0x00006e49 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
- 00026708  0x00006e4a isolate1  0x00000006 , 0x0000003f 
- 00026709  0x00006e4b nsetflag  0x00000001 , 0x00000016 , 0x00000011 
- 00026710  0x00006e4c isolate1  0x00000007 , 0x0000003f 
- 00026711  0x00006e4d nsetflag  0x00000001 , 0x00000017 , 0x00000011 
- 00026712  0x00006e4f hfetch  0x00000001 , 0x00008080 
- 00026713  0x00006e50 isolate1  0x00000000 , 0x0000003f 
- 00026714  0x00006e51 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
- 00026715  0x00006e52 isolate1  0x00000001 , 0x0000003f 
- 00026716  0x00006e53 nsetflag  0x00000001 , 0x00000006 , 0x00000011 
- 00026717  0x00006e54 isolate1  0x00000002 , 0x0000003f 
- 00026718  0x00006e55 nsetflag  0x00000001 , 0x00000007 , 0x00000011 
- 00026719  0x00006e56 isolate1  0x00000003 , 0x0000003f 
- 00026720  0x00006e57 nsetflag  0x00000001 , 0x00000012 , 0x00000011 
- 00026721  0x00006e58 isolate1  0x00000004 , 0x0000003f 
- 00026722  0x00006e59 nsetflag  0x00000001 , 0x00000013 , 0x00000011 
- 00026723  0x00006e5a isolate1  0x00000005 , 0x0000003f 
- 00026724  0x00006e5b nsetflag  0x00000001 , 0x00000014 , 0x00000011 
- 00026725  0x00006e5c isolate1  0x00000006 , 0x0000003f 
- 00026726  0x00006e5d nsetflag  0x00000001 , 0x00000015 , 0x00000011 
- 00026727  0x00006e5e isolate1  0x00000007 , 0x0000003f 
- 00026728  0x00006e5f nsetflag  0x00000001 , 0x00000016 , 0x00000011 
- 00026729  0x00006e61 hfetch  0x00000001 , 0x00008062 
- 00026730  0x00006e62 isolate1  0x00000004 , 0x0000003f 
- 00026731  0x00006e63 call  0x0000687e , 0x00000001 
- 00026732  0x00006e64 bpatchx  0x0000009d , 0x00004033 
- 00026733  0x00006e66 hfetch  0x00000004 , 0x00008078 
- 00026734  0x00006e67 hfetcht  0x00000004 , 0x0000807c 
- 00026735  0x00006e68 ior  0x00000002 , 0x0000003f 
- 00026736  0x00006e69 invert  0x0000003f , 0x0000003f 
- 00026737  0x00006e6a iand  0x00000011 , 0x0000003f 
- 00026738  0x00006e6c hstore  0x00000004 , 0x00008070 
- 00026739  0x00006e6d rtn 
- 00026740  0x00006e71 arg  0x00000006 , 0x00000007 
- 00026741  0x00006e72 branch  0x00006884 
- 00026742  0x00006e74 arg  0x00000009 , 0x00000007 
- 00026743  0x00006e75 branch  0x00006882 
- 00026744  0x00006e77 arg  0x00000017 , 0x00000007 
- 00026745  0x00006e78 branch  0x00006882 
- 00026746  0x00006e7a arg  0x00000019 , 0x00000007 
- 00026747  0x00006e7b branch  0x00006884 
- 00026748  0x00006e7d arg  0x0000001e , 0x00000007 
- 00026749  0x00006e7e branch  0x00006884 
- 00026750  0x00006e80 arg  0x00000002 , 0x00000007 
- 00026751  0x00006e81 branch  0x00006884 
- 00026752  0x00006e83 arg  0x00000001 , 0x00000039 
- 00026753  0x00006e84 branch  0x00006885 
- 00026754  0x00006e86 arg  0x00000004 , 0x00000039 
- 00026755  0x00006e87 branch  0x00006885 
- 00026756  0x00006e89 arg  0x00000002 , 0x00000039 
- 00026757  0x00006e8b qset0  0x00000011 
- 00026758  0x00006e8c increase  0x00000001 , 0x00000007 
- 00026759  0x00006e8d loop  0x00006885 
- 00026760  0x00006e8e rtn 
- 00026761  0x00006e97 call  0x00006895 
- 00026762  0x00006e98 arg  0x00000006 , 0x00000002 
- 00026763  0x00006e99 branch  0x0000680e 
- 00026764  0x00006e9c call  0x00006889 
- 00026765  0x00006e9d arg  0x00000006 , 0x00000002 
- 00026766  0x00006e9e branch  0x00006825 
- 00026767  0x00006ea3 call  0x00006895 
- 00026768  0x00006ea4 hfetch  0x00000001 , 0x00008078 
- 00026769  0x00006ea5 set1  0x00000007 , 0x0000003f 
- 00026770  0x00006ea6 hstore  0x00000001 , 0x00008078 
- 00026771  0x00006ea7 arg  0x00000007 , 0x00000002 
- 00026772  0x00006ea8 branch  0x000067fb 
- 00026773  0x00006eab hfetch  0x00000001 , 0x00008081 
- 00026774  0x00006eac and_into  0x000000fb , 0x0000003f 
- 00026775  0x00006ead hstore  0x00000001 , 0x00008081 
- 00026776  0x00006eae rtn 
- 00026777  0x00006eb1 hfetch  0x00000001 , 0x00008081 
- 00026778  0x00006eb2 isolate1  0x00000002 , 0x0000003f 
- 00026779  0x00006eb3 rtn 
- 00026780  0x00006eb6 call  0x0000666a 
- 00026781  0x00006eb7 setarg  0x000007e0 
- 00026782  0x00006eb8 arg  0x00004150 , 0x00000011 
- 00026783  0x00006eb9 arg  0x00000002 , 0x00000002 
- 00026784  0x00006eba call  0x000066b3 
- 00026785  0x00006ebb branch  0x0000666d 
- 00026786  0x00006ebf call  0x0000666a 
- 00026787  0x00006ec0 setarg  0x000007e2 
- 00026788  0x00006ec1 arg  0x0000421d , 0x00000011 
- 00026789  0x00006ec2 arg  0x0000000e , 0x00000002 
- 00026790  0x00006ec3 call  0x000066b3 
- 00026791  0x00006ec4 branch  0x0000666d 
- 00026792  0x00006ec9 bpatchx  0x0000009e , 0x00004033 
- 00026793  0x00006ecb call  0x000068a2 
- 00026794  0x00006ecd fetch  0x00000001 , 0x0000422d 
- 00026795  0x00006ece beq  0x00000000 , 0x000068af 
- 00026796  0x00006ecf beq  0x00000001 , 0x000068c3 
- 00026797  0x00006ed0 beq  0x00000002 , 0x000068d7 
- 00026798  0x00006ed1 rtn 
- 00026799  0x00006ed4 fetcht  0x00000002 , 0x00004229 
- 00026800  0x00006ed5 setarg  0x0000aa55 
- 00026801  0x00006ed6 isub  0x00000002 , 0x0000003e 
- 00026802  0x00006ed7 branch  0x000068b8 , 0x00000005 
- 00026803  0x00006ed8 setarg  0x00004dfa 
- 00026804  0x00006ed9 store  0x00000002 , 0x00004227 
- 00026805  0x00006eda setarg  0x00004894 
- 00026806  0x00006edb store  0x00000002 , 0x00004221 
- 00026807  0x00006edc branch  0x000068c0 
- 00026808  0x00006edf fetch  0x00000002 , 0x00004227 
- 00026809  0x00006ee0 nbranch  0x000068bc , 0x00000034 
- 00026810  0x00006ee1 setarg  0x00004dfa 
- 00026811  0x00006ee2 store  0x00000002 , 0x00004227 
- 00026812  0x00006ee4 fetch  0x00000002 , 0x00004221 
- 00026813  0x00006ee5 nbranch  0x000068c0 , 0x00000034 
- 00026814  0x00006ee6 setarg  0x00004894 
- 00026815  0x00006ee7 store  0x00000002 , 0x00004221 
- 00026816  0x00006ee9 setarg  0x00000064 
- 00026817  0x00006eea store  0x00000002 , 0x0000422b 
- 00026818  0x00006eeb rtn 
- 00026819  0x00006eee fetcht  0x00000002 , 0x00004229 
- 00026820  0x00006eef setarg  0x0000aa55 
- 00026821  0x00006ef0 isub  0x00000002 , 0x0000003e 
- 00026822  0x00006ef1 branch  0x000068cc , 0x00000005 
- 00026823  0x00006ef2 setarg  0x00005932 
- 00026824  0x00006ef3 store  0x00000002 , 0x00004225 
- 00026825  0x00006ef4 setarg  0x00004323 
- 00026826  0x00006ef5 store  0x00000002 , 0x0000421f 
- 00026827  0x00006ef6 branch  0x000068d4 
- 00026828  0x00006ef9 fetch  0x00000002 , 0x00004225 
- 00026829  0x00006efa nbranch  0x000068d0 , 0x00000034 
- 00026830  0x00006efb setarg  0x00005932 
- 00026831  0x00006efc store  0x00000002 , 0x00004225 
- 00026832  0x00006efe fetch  0x00000002 , 0x0000421f 
- 00026833  0x00006eff nbranch  0x000068d4 , 0x00000034 
- 00026834  0x00006f00 setarg  0x00004323 
- 00026835  0x00006f01 store  0x00000002 , 0x0000421f 
- 00026836  0x00006f03 setarg  0x00000190 
- 00026837  0x00006f04 store  0x00000002 , 0x0000422b 
- 00026838  0x00006f05 rtn 
- 00026839  0x00006f08 fetcht  0x00000002 , 0x00004229 
- 00026840  0x00006f09 setarg  0x0000aa55 
- 00026841  0x00006f0a isub  0x00000002 , 0x0000003e 
- 00026842  0x00006f0b branch  0x000068e0 , 0x00000005 
- 00026843  0x00006f0c setarg  0x00006946 
- 00026844  0x00006f0d store  0x00000002 , 0x00004223 
- 00026845  0x00006f0e setarg  0x00005377 
- 00026846  0x00006f0f store  0x00000002 , 0x0000421d 
- 00026847  0x00006f10 branch  0x000068e8 
- 00026848  0x00006f13 fetch  0x00000002 , 0x00004223 
- 00026849  0x00006f14 nbranch  0x000068e4 , 0x00000034 
- 00026850  0x00006f15 setarg  0x00006946 
- 00026851  0x00006f16 store  0x00000002 , 0x00004223 
- 00026852  0x00006f18 fetch  0x00000002 , 0x0000421d 
- 00026853  0x00006f19 nbranch  0x000068e8 , 0x00000034 
- 00026854  0x00006f1a setarg  0x00005377 
- 00026855  0x00006f1b store  0x00000002 , 0x0000421d 
- 00026856  0x00006f1d setarg  0x00000032 
- 00026857  0x00006f1e store  0x00000002 , 0x0000422b 
- 00026858  0x00006f1f rtn 
- 00026859  0x00006f23 fetch  0x00000001 , 0x0000422d 
- 00026860  0x00006f24 beq  0x00000000 , 0x000068f0 
- 00026861  0x00006f25 beq  0x00000001 , 0x000068f2 
- 00026862  0x00006f26 beq  0x00000002 , 0x000068f4 
- 00026863  0x00006f27 rtn 
- 00026864  0x00006f29 jam  0x000000bf , 0x00008971 
- 00026865  0x00006f2a branch  0x000068f8 
- 00026866  0x00006f2c jam  0x000000af , 0x00008971 
- 00026867  0x00006f2d branch  0x000068f8 
- 00026868  0x00006f2f jam  0x0000008f , 0x00008971 
- 00026869  0x00006f30 fetch  0x00000001 , 0x0000422e 
- 00026870  0x00006f31 hstore  0x00000001 , 0x00008973 
- 00026871  0x00006f32 branch  0x000068f8 
- 00026872  0x00006f34 bpatchx  0x0000009f , 0x00004033 
- 00026873  0x00006f35 hfetch  0x00000001 , 0x00008053 
- 00026874  0x00006f36 set1  0x00000007 , 0x0000003f 
- 00026875  0x00006f37 hstore  0x00000001 , 0x00008053 
- 00026876  0x00006f38 hfetch  0x00000001 , 0x00008973 
- 00026877  0x00006f39 or_into  0x00000030 , 0x0000003f 
- 00026878  0x00006f3a hstore  0x00000001 , 0x00008973 
- 00026879  0x00006f3b jam  0x0000007c , 0x00008906 
- 00026880  0x00006f3c jam  0x000000aa , 0x00008972 
- 00026881  0x00006f3d nop  0x00001388 
- 00026882  0x00006f3e hfetcht  0x00000002 , 0x00008150 
- 00026883  0x00006f3f hfetch  0x00000001 , 0x00008053 
- 00026884  0x00006f40 set0  0x00000007 , 0x0000003f 
- 00026885  0x00006f41 hstore  0x00000001 , 0x00008053 
- 00026886  0x00006f42 storet  0x00000002 , 0x0000422f 
- 00026887  0x00006f43 rtn 
- 00026888  0x00006f46 bpatchx  0x000000a0 , 0x00004034 
- 00026889  0x00006f47 fetch  0x00000001 , 0x0000422d 
- 00026890  0x00006f48 beq  0x00000000 , 0x0000690e 
- 00026891  0x00006f49 beq  0x00000001 , 0x00006912 
- 00026892  0x00006f4a beq  0x00000002 , 0x00006916 
- 00026893  0x00006f4b rtn 
- 00026894  0x00006f4e fetch  0x00000002 , 0x00004227 
- 00026895  0x00006f4f fetcht  0x00000002 , 0x00004221 
- 00026896  0x00006f50 arg  0x000000c8 , 0x00000013 
- 00026897  0x00006f51 branch  0x0000691a 
- 00026898  0x00006f54 fetch  0x00000002 , 0x00004225 
- 00026899  0x00006f55 fetcht  0x00000002 , 0x0000421f 
- 00026900  0x00006f56 arg  0x00000064 , 0x00000013 
- 00026901  0x00006f57 branch  0x0000691a 
- 00026902  0x00006f5a fetch  0x00000002 , 0x00004223 
- 00026903  0x00006f5b fetcht  0x00000002 , 0x0000421d 
- 00026904  0x00006f5c arg  0x00000032 , 0x00000013 
- 00026905  0x00006f5d branch  0x0000691a 
- 00026906  0x00006f60 isub  0x00000002 , 0x00000011 
- 00026907  0x00006f61 fetch  0x00000002 , 0x0000422f 
- 00026908  0x00006f62 isub  0x00000002 , 0x0000003f 
- 00026909  0x00006f63 nbranch  0x00006927 , 0x00000002 
- 00026910  0x00006f64 fetcht  0x00000002 , 0x0000422b 
- 00026911  0x00006f65 imul32  0x00000002 , 0x00000012 
- 00026912  0x00006f66 copy  0x00000013 , 0x0000003f 
- 00026913  0x00006f67 imul32  0x00000011 , 0x0000003f 
- 00026914  0x00006f68 iadd  0x00000012 , 0x0000003f 
- 00026915  0x00006f6a idiv  0x00000011 
- 00026916  0x00006f6b call  0x00007f86 
- 00026917  0x00006f6c quotient  0x0000003f 
- 00026918  0x00006f6d rtn 
- 00026919  0x00006f70 copy  0x00000002 , 0x0000003f 
- 00026920  0x00006f71 fetcht  0x00000002 , 0x0000422f 
- 00026921  0x00006f72 isub  0x00000002 , 0x0000003f 
- 00026922  0x00006f73 fetcht  0x00000002 , 0x0000422b 
- 00026923  0x00006f74 imul32  0x00000002 , 0x00000012 
- 00026924  0x00006f75 copy  0x00000013 , 0x0000003f 
- 00026925  0x00006f76 imul32  0x00000011 , 0x0000003f 
- 00026926  0x00006f77 isub  0x00000012 , 0x0000003f 
- 00026927  0x00006f78 branch  0x00006923 
- 00026928  0x00006f84 ifetch  0x00000008 , 0x00000011 
- 00026929  0x00006f85 store  0x00000008 , 0x00000a9a 
- 00026930  0x00006f86 fetch  0x00000002 , 0x00000a9a 
- 00026931  0x00006f87 fetcht  0x00000002 , 0x00000a9c 
- 00026932  0x00006f88 isub  0x00000002 , 0x00000011 
- 00026933  0x00006f89 fetch  0x00000002 , 0x00000aa0 
- 00026934  0x00006f8a isub  0x00000002 , 0x00000012 
- 00026935  0x00006f8b fetcht  0x00000002 , 0x00000a9e 
- 00026936  0x00006f8c isub  0x00000002 , 0x0000003e 
- 00026937  0x00006f8d ncall  0x00006940 , 0x00000002 
- 00026938  0x00006f8e mul32  0x00000012 , 0x00000064 , 0x0000003f 
- 00026939  0x00006f8f idiv  0x00000011 
- 00026940  0x00006f90 call  0x00007f86 
- 00026941  0x00006f91 quotient  0x0000003f 
- 00026942  0x00006f92 call  0x00006944 , 0x00000034 
- 00026943  0x00006f93 rtn 
- 00026944  0x00006f95 fetch  0x00000001 , 0x00004231 
- 00026945  0x00006f96 set1  0x00000000 , 0x0000003f 
- 00026946  0x00006f97 store  0x00000001 , 0x00004231 
- 00026947  0x00006f98 rtn 
- 00026948  0x00006f9a fetcht  0x00000001 , 0x00004231 
- 00026949  0x00006f9b set1  0x00000001 , 0x00000002 
- 00026950  0x00006f9c storet  0x00000001 , 0x00004231 
- 00026951  0x00006f9d rtn 
- 00026952  0x00006fa3 fetch  0x00000002 , 0x0000423d 
- 00026953  0x00006fa4 ifetch  0x00000001 , 0x0000003f 
- 00026954  0x00006fa6 rtn  0x00000034 
- 00026955  0x00006fa7 copy  0x0000003f , 0x00000039 
- 00026956  0x00006fa9 fetch  0x00000002 , 0x0000423d 
- 00026957  0x00006faa increase  0x00000003 , 0x0000003f 
- 00026958  0x00006fab copy  0x0000003f , 0x00000011 
- 00026959  0x00006fad ifetcht  0x00000001 , 0x00000011 
- 00026960  0x00006fae call  0x000067fb 
- 00026961  0x00006faf increase  0x00000001 , 0x00000011 
- 00026962  0x00006fb0 loop  0x0000694f 
- 00026963  0x00006fb2 rtn 
- 00026964  0x00006fb5 fetch  0x00000002 , 0x0000423d 
- 00026965  0x00006fb6 increase  0x00000003 , 0x0000003f 
- 00026966  0x00006fb7 copy  0x0000003f , 0x00000011 
- 00026967  0x00006fb9 force  0x00000000 , 0x00000012 
- 00026968  0x00006fba jam  0x00000000 , 0x00000b12 
- 00026969  0x00006fbc ifetcht  0x00000001 , 0x00000011 
- 00026970  0x00006fbd call  0x0000681d 
- 00026971  0x00006fbe bpatchx  0x000000a1 , 0x00004034 
- 00026972  0x00006fbf fetch  0x00000002 , 0x00000b12 
- 00026973  0x00006fc0 copy  0x00000012 , 0x00000007 
- 00026974  0x00006fc1 qsetflag  0x00000001 , 0x0000003f 
- 00026975  0x00006fc2 store  0x00000002 , 0x00000b12 
- 00026976  0x00006fc3 increase  0x00000001 , 0x00000011 
- 00026977  0x00006fc4 increase  0x00000001 , 0x00000012 
- 00026978  0x00006fc5 fetch  0x00000002 , 0x0000423d 
- 00026979  0x00006fc6 ifetch  0x00000001 , 0x0000003f 
- 00026980  0x00006fc8 ixor  0x00000012 , 0x0000003e 
- 00026981  0x00006fc9 nbranch  0x00006959 , 0x00000005 
- 00026982  0x00006fca fetch  0x00000002 , 0x00000b12 
- 00026983  0x00006fcb fetcht  0x00000002 , 0x00000b14 
- 00026984  0x00006fcc ixor  0x00000002 , 0x0000003e 
- 00026985  0x00006fcd rtn  0x00000005 
- 00026986  0x00006fce enable  0x00000028 
- 00026987  0x00006fcf rtn 
- 00026988  0x00006fd2 fetch  0x00000002 , 0x0000423d 
- 00026989  0x00006fd3 ifetch  0x00000001 , 0x0000003f 
- 00026990  0x00006fd5 rtn  0x00000034 
- 00026991  0x00006fd6 copy  0x0000003f , 0x00000039 
- 00026992  0x00006fd7 fetch  0x00000002 , 0x0000423d 
- 00026993  0x00006fd8 increase  0x00000003 , 0x0000003f 
- 00026994  0x00006fd9 copy  0x0000003f , 0x00000011 
- 00026995  0x00006fdb ifetcht  0x00000001 , 0x00000011 
- 00026996  0x00006fdc call  0x000067dd 
- 00026997  0x00006fdd increase  0x00000001 , 0x00000011 
- 00026998  0x00006fde loop  0x00006973 
- 00026999  0x00006fe0 rtn 
- 00027000  0x00006fe3 arg  0x00000009 , 0x00000007 
- 00027001  0x00006fe4 call  0x00007f16 
- 00027002  0x00006fe5 nrtn  0x00000034 
- 00027003  0x00006fe6 setarg  0x00000020 
- 00027004  0x00006fe7 arg  0x00000009 , 0x00000007 
- 00027005  0x00006fe8 call  0x00007f08 
- 00027006  0x00006fe9 disable  0x00000028 
- 00027007  0x00006fea call  0x0000696c 
- 00027008  0x00006feb bpatchx  0x000000a2 , 0x00004034 
- 00027009  0x00006fec fetch  0x00000002 , 0x0000423d 
- 00027010  0x00006fed ifetch  0x00000001 , 0x0000003f 
- 00027011  0x00006fef rtn  0x00000034 
- 00027012  0x00006ff0 call  0x00006954 
- 00027013  0x00006ff1 nbranch  0x00007d02 , 0x00000028 
- 00027014  0x00006ff2 call  0x00007d00 
- 00027015  0x00006ff3 disable  0x00000028 
- 00027016  0x00006ff4 fetch  0x00000002 , 0x00000b12 
- 00027017  0x00006ff5 store  0x00000002 , 0x00000b19 
- 00027018  0x00006ff6 jam  0x00000000 , 0x00000b1b 
- 00027019  0x00006ff7 force  0x00000000 , 0x00000007 
- 00027020  0x00006ff9 fetch  0x00000002 , 0x00000b14 
- 00027021  0x00006ffa rshift  0x0000003f , 0x00000002 
- 00027022  0x00006ffb storet  0x00000002 , 0x00000b14 
- 00027023  0x00006ffc and  0x0000003f , 0x00000001 , 0x0000003f 
- 00027024  0x00006ffd fetcht  0x00000002 , 0x00000b19 
- 00027025  0x00006ffe and  0x00000002 , 0x00000001 , 0x00000011 
- 00027026  0x00006fff rshift  0x00000002 , 0x00000002 
- 00027027  0x00007000 storet  0x00000002 , 0x00000b19 
- 00027028  0x00007001 ixor  0x00000011 , 0x0000003e 
- 00027029  0x00007002 ncall  0x000069a1 , 0x00000005 
- 00027030  0x00007003 fetch  0x00000002 , 0x0000423d 
- 00027031  0x00007004 ifetch  0x00000001 , 0x0000003f 
- 00027032  0x00007006 fetcht  0x00000001 , 0x00000b1b 
- 00027033  0x00007007 increase  0x00000001 , 0x00000002 
- 00027034  0x00007008 storet  0x00000001 , 0x00000b1b 
- 00027035  0x00007009 copy  0x00000002 , 0x00000007 
- 00027036  0x0000700a ixor  0x00000007 , 0x0000003e 
- 00027037  0x0000700b nbranch  0x0000698c , 0x00000005 
- 00027038  0x0000700c fetch  0x00000002 , 0x00000b12 
- 00027039  0x0000700d store  0x00000002 , 0x00000b14 
- 00027040  0x0000700e rtn 
- 00027041  0x00007010 bpatchx  0x000000a3 , 0x00004034 
- 00027042  0x00007011 fetch  0x00000002 , 0x0000423d 
- 00027043  0x00007012 increase  0x00000001 , 0x0000003f 
- 00027044  0x00007013 ifetch  0x00000002 , 0x0000003f 
- 00027045  0x00007014 branch  0x00007f9c 
- 00027046  0x00007020 hfetch  0x00000001 , 0x00008042 
- 00027047  0x00007021 ior  0x00000011 , 0x0000003f 
- 00027048  0x00007022 hstore  0x00000001 , 0x00008042 
- 00027049  0x00007023 hfetch  0x00000002 , 0x00008050 
- 00027050  0x00007024 set0  0x0000000d , 0x0000003f 
- 00027051  0x00007025 hstore  0x00000002 , 0x00008050 
- 00027052  0x00007027 nop  0x00000064 
- 00027053  0x00007028 rtn 
- 00027054  0x00007034 fetcht  0x00000003 , 0x00000a9c 
- 00027055  0x00007035 setarg  0x00b71b00 
- 00027056  0x00007036 idiv  0x00000002 
- 00027057  0x00007037 call  0x00007f86 
- 00027058  0x00007038 quotient  0x00000002 
- 00027059  0x00007039 fetch  0x00000001 , 0x00000a9f 
- 00027060  0x0000703a imul32  0x00000002 , 0x0000003f 
- 00027061  0x0000703b div  0x0000003f , 0x00000064 
- 00027062  0x0000703c call  0x00007f86 
- 00027063  0x0000703d quotient  0x00000011 
- 00027064  0x0000703e copy  0x00000002 , 0x0000003f 
- 00027065  0x0000703f isub  0x00000011 , 0x00000012 
- 00027066  0x00007040 fetch  0x00000001 , 0x00000a9b 
- 00027067  0x00007041 call  0x000069be 
- 00027068  0x00007042 fetch  0x00000001 , 0x00000a9a 
- 00027069  0x00007043 branch  0x000069d5 
- 00027070  0x00007047 beq  0x00000000 , 0x000069c4 
- 00027071  0x00007048 beq  0x00000001 , 0x000069c6 
- 00027072  0x00007049 beq  0x00000002 , 0x000069c8 
- 00027073  0x0000704a beq  0x00000003 , 0x000069ca 
- 00027074  0x0000704b beq  0x00000004 , 0x000069cc 
- 00027075  0x0000704c beq  0x00000005 , 0x000069ce 
- 00027076  0x0000704e arg  0x000080a0 , 0x00000005 
- 00027077  0x0000704f branch  0x000069d0 
- 00027078  0x00007051 arg  0x000080a4 , 0x00000005 
- 00027079  0x00007052 branch  0x000069d0 
- 00027080  0x00007054 arg  0x000080a8 , 0x00000005 
- 00027081  0x00007055 branch  0x000069d0 
- 00027082  0x00007057 arg  0x00008064 , 0x00000005 
- 00027083  0x00007058 branch  0x000069d0 
- 00027084  0x0000705a arg  0x00008068 , 0x00000005 
- 00027085  0x0000705b branch  0x000069d0 
- 00027086  0x0000705d arg  0x0000806c , 0x00000005 
- 00027087  0x0000705e branch  0x000069d0 
- 00027088  0x00007060 copy  0x00000011 , 0x0000003f 
- 00027089  0x00007061 istore  0x00000002 , 0x00000005 
- 00027090  0x00007062 copy  0x00000012 , 0x0000003f 
- 00027091  0x00007063 istore  0x00000002 , 0x00000005 
- 00027092  0x00007064 rtn 
- 00027093  0x00007069 enable  0x00000028 
- 00027094  0x0000706a branch  0x000069d8 
- 00027095  0x0000706c disable  0x00000028 
- 00027096  0x0000706e beq  0x00000004 , 0x000069e3 
- 00027097  0x0000706f beq  0x00000005 , 0x000069e5 
- 00027098  0x00007070 beq  0x0000001b , 0x000069e7 
- 00027099  0x00007071 beq  0x0000001c , 0x000069e9 
- 00027100  0x00007072 beq  0x00000003 , 0x000069eb 
- 00027101  0x00007073 beq  0x00000008 , 0x000069ed 
- 00027102  0x00007074 beq  0x00000014 , 0x000069ef 
- 00027103  0x00007075 beq  0x00000015 , 0x000069f1 
- 00027104  0x00007076 beq  0x00000016 , 0x000069f3 
- 00027105  0x00007077 beq  0x00000017 , 0x000069f5 
- 00027106  0x00007078 rtn 
- 00027107  0x0000707c arg  0x00000006 , 0x00000007 
- 00027108  0x0000707d branch  0x000069ff 
- 00027109  0x0000707f arg  0x00000007 , 0x00000007 
- 00027110  0x00007080 branch  0x000069ff 
- 00027111  0x00007082 arg  0x00000008 , 0x00000007 
- 00027112  0x00007083 branch  0x000069ff 
- 00027113  0x00007085 arg  0x00000009 , 0x00000007 
- 00027114  0x00007086 branch  0x000069ff 
- 00027115  0x00007088 arg  0x0000000a , 0x00000007 
- 00027116  0x00007089 branch  0x000069ff 
- 00027117  0x0000708b arg  0x0000000b , 0x00000007 
- 00027118  0x0000708c branch  0x000069ff 
- 00027119  0x0000708e arg  0x0000000c , 0x00000007 
- 00027120  0x0000708f branch  0x00006a01 
- 00027121  0x00007091 arg  0x0000000d , 0x00000007 
- 00027122  0x00007092 branch  0x00006a01 
- 00027123  0x00007094 arg  0x0000000e , 0x00000007 
- 00027124  0x00007095 branch  0x00006a01 
- 00027125  0x00007097 arg  0x0000000f , 0x00000007 
- 00027126  0x00007098 branch  0x00006a01 
- 00027127  0x0000709b hfetch  0x00000002 , 0x00008081 
- 00027128  0x0000709c qsetflag  0x00000028 , 0x0000003f 
- 00027129  0x0000709d hstore  0x00000002 , 0x00008081 
- 00027130  0x0000709e copy  0x00000011 , 0x00000007 
- 00027131  0x0000709f hfetch  0x00000001 , 0x00008085 
- 00027132  0x000070a0 qsetflag  0x00000028 , 0x0000003f 
- 00027133  0x000070a1 hstore  0x00000001 , 0x00008085 
- 00027134  0x000070a2 rtn 
- 00027135  0x000070a5 add  0x00000007 , 0xfffffffc , 0x00000011 
- 00027136  0x000070a6 branch  0x000069f7 
- 00027137  0x000070a9 add  0x00000007 , 0xfffffff6 , 0x00000011 
- 00027138  0x000070aa branch  0x000069f7 
- 00027139  0x000070b0 rtn  0x0000002b 
- 00027140  0x000070b1 jam  0x00000000 , 0x00004567 
- 00027141  0x000070b2 jam  0x00000003 , 0x000004ed 
- 00027142  0x000070b3 jam  0x00000003 , 0x000004ee 
- 00027143  0x000070b4 jam  0x00000011 , 0x000004f2 
- 00027144  0x000070b5 jam  0x00000013 , 0x000004f3 
- 00027145  0x000070b6 setarg  0x00000000 
- 00027146  0x000070b7 store  0x00000003 , 0x000004ef 
- 00027147  0x000070b8 store  0x00000001 , 0x00004254 
- 00027148  0x000070b9 jam  0x00000000 , 0x00004681 
- 00027149  0x000070bc bpatchx  0x000000a4 , 0x00004034 
- 00027150  0x000070bd setarg  0x00000000 
- 00027151  0x000070be store  0x00000001 , 0x00004254 
- 00027152  0x000070bf store  0x00000001 , 0x00004564 
- 00027153  0x000070c0 store  0x00000001 , 0x0000455d 
- 00027154  0x000070c1 fetch  0x00000001 , 0x0000456b 
- 00027155  0x000070c2 beq  0x00000001 , 0x00006a16 
- 00027156  0x000070c3 jam  0x00000050 , 0x00004569 
- 00027157  0x000070c4 rtn 
- 00027158  0x000070c7 jam  0x00000000 , 0x00004569 
- 00027159  0x000070c8 rtn 
- 00027160  0x000070cb or_into  0x00000002 , 0x00000002 
- 00027161  0x000070cc rtn 
- 00027162  0x000070d9 copy  0x00000002 , 0x0000003f 
- 00027163  0x000070da reverse  0x0000003f , 0x0000003f 
- 00027164  0x000070db store  0x00000001 , 0x00004562 
- 00027165  0x000070dc force  0x0000003f , 0x0000003f 
- 00027166  0x000070dd reverse  0x0000003f , 0x0000003f 
- 00027167  0x000070de store  0x00000001 , 0x00004561 
- 00027168  0x000070df force  0x00000001 , 0x0000003f 
- 00027169  0x000070e0 reverse  0x0000003f , 0x0000003f 
- 00027170  0x000070e1 store  0x00000001 , 0x00004560 
- 00027171  0x000070e2 call  0x00006a50 
- 00027172  0x000070e3 copy  0x00000002 , 0x0000003f 
- 00027173  0x000070e4 rtn 
- 00027174  0x000070e6 reverse  0x0000003f , 0x0000003f 
- 00027175  0x000070e7 store  0x00000001 , 0x00004562 
- 00027176  0x000070e8 force  0x00000073 , 0x0000003f 
- 00027177  0x000070e9 reverse  0x0000003f , 0x0000003f 
- 00027178  0x000070ea store  0x00000001 , 0x00004561 
- 00027179  0x000070eb force  0x00000001 , 0x0000003f 
- 00027180  0x000070ec reverse  0x0000003f , 0x0000003f 
- 00027181  0x000070ed store  0x00000001 , 0x00004560 
- 00027182  0x000070ee branch  0x00006a50 
- 00027183  0x000070f1 fetch  0x00000001 , 0x00004563 
- 00027184  0x000070f2 branch  0x00006a33 , 0x00000034 
- 00027185  0x000070f3 setarg  0x00000070 
- 00027186  0x000070f4 rtn 
- 00027187  0x000070f6 setarg  0x000000aa 
- 00027188  0x000070f7 rtn 
- 00027189  0x000070fa reverse  0x0000003f , 0x0000003f 
- 00027190  0x000070fb store  0x00000001 , 0x00004562 
- 00027191  0x000070fc force  0x000000ef , 0x0000003f 
- 00027192  0x000070fd call  0x00006a44 
- 00027193  0x000070fe fetcht  0x00000002 , 0x000004f7 
- 00027194  0x000070ff copy  0x00000002 , 0x00000005 
- 00027195  0x00007100 istore  0x00000001 , 0x00000005 
- 00027196  0x00007101 copy  0x00000005 , 0x00000002 
- 00027197  0x00007102 storet  0x00000002 , 0x000004f7 
- 00027198  0x00007103 force  0x000000ff , 0x0000003f 
- 00027199  0x00007104 call  0x00006a44 
- 00027200  0x00007105 fetcht  0x00000002 , 0x000004f7 
- 00027201  0x00007106 copy  0x00000002 , 0x00000005 
- 00027202  0x00007107 istore  0x00000001 , 0x00000005 
- 00027203  0x00007108 rtn 
- 00027204  0x00007112 reverse  0x0000003f , 0x0000003f 
- 00027205  0x00007113 store  0x00000001 , 0x00004561 
- 00027206  0x00007114 fetch  0x00000002 , 0x00004561 
- 00027207  0x00007115 lshift8  0x0000003f , 0x0000003f 
- 00027208  0x00007116 store  0x00000003 , 0x000004f4 
- 00027209  0x00007117 arg  0x00000107 , 0x00000011 
- 00027210  0x00007118 arg  0x0000000f , 0x00000012 
- 00027211  0x00007119 call  0x00006a5d 
- 00027212  0x0000711a xor_into  0x000000d7 , 0x0000003f 
- 00027213  0x0000711b invert  0x0000003f , 0x0000003f 
- 00027214  0x0000711c reverse  0x0000003f , 0x0000003f 
- 00027215  0x0000711d rtn 
- 00027216  0x00007128 fetch  0x00000003 , 0x00004560 
- 00027217  0x00007129 store  0x00000003 , 0x000004f4 
- 00027218  0x0000712a arg  0x00000107 , 0x00000011 
- 00027219  0x0000712b arg  0x0000000f , 0x00000012 
- 00027220  0x0000712c call  0x00006a5d 
- 00027221  0x0000712d lshift8  0x0000003f , 0x0000003f 
- 00027222  0x0000712e arg  0x00000007 , 0x00000012 
- 00027223  0x0000712f call  0x00006a5d 
- 00027224  0x00007130 xor_into  0x0000002b , 0x0000003f 
- 00027225  0x00007131 invert  0x0000003f , 0x0000003f 
- 00027226  0x00007132 reverse  0x0000003f , 0x0000003f 
- 00027227  0x00007133 copy  0x0000003f , 0x00000002 
- 00027228  0x00007134 rtn 
- 00027229  0x00007137 arg  0x00000000 , 0x00000013 
- 00027230  0x00007138 copy  0x00000012 , 0x00000039 
- 00027231  0x00007139 call  0x00007e71 
- 00027232  0x0000713a icopy  0x00000002 
- 00027233  0x00007140 copy  0x00000002 , 0x0000003f 
- 00027234  0x00007141 lshift  0x00000013 , 0x00000013 
- 00027235  0x00007142 bbit0  0x00000008 , 0x00006a66 
- 00027236  0x00007143 ixor  0x00000011 , 0x00000002 
- 00027237  0x00007144 increase  0x00000001 , 0x00000013 
- 00027238  0x00007146 lshift  0x00000002 , 0x00000002 
- 00027239  0x00007147 fetch  0x00000003 , 0x000004f4 
- 00027240  0x00007148 increase  0xffffffff , 0x00000012 
- 00027241  0x00007149 compare  0x000000ff , 0x00000012 , 0x000000ff 
- 00027242  0x0000714a branch  0x00006a70 , 0x00000001 
- 00027243  0x0000714b copy  0x00000012 , 0x00000039 
- 00027244  0x0000714c call  0x00007e71 
- 00027245  0x0000714d isolate1  0x00000000 , 0x0000003f 
- 00027246  0x0000714e setflag  0x00000001 , 0x00000000 , 0x00000002 
- 00027247  0x0000714f branch  0x00006a61 
- 00027248  0x00007152 rshift  0x00000002 , 0x0000003f 
- 00027249  0x00007153 rtn 
- 00027250  0x00007156 fetcht  0x00000001 , 0x0000455d 
- 00027251  0x00007159 lshift2  0x00000002 , 0x00000002 
- 00027252  0x0000715a set1  0x00000000 , 0x00000002 
- 00027253  0x0000715b fetch  0x00000001 , 0x00004563 
- 00027254  0x0000715c ncall  0x00006a18 , 0x00000034 
- 00027255  0x0000715d storet  0x00000001 , 0x0000050d 
- 00027256  0x0000715e rtn 
- 00027257  0x00007162 lshift  0x00000002 , 0x00000002 
- 00027258  0x00007163 fetch  0x00000001 , 0x00004563 
- 00027259  0x00007164 setflag  0x00000034 , 0x00000000 , 0x00000002 
- 00027260  0x00007166 rtn 
- 00027261  0x00007168 fetcht  0x00000001 , 0x000004fc 
- 00027262  0x00007169 jam  0x000000d7 , 0x000004fe 
- 00027263  0x0000716a call  0x00006bb6 
- 00027264  0x0000716b fetch  0x00000001 , 0x00004251 
- 00027265  0x0000716c set1  0x00000006 , 0x0000003f 
- 00027266  0x0000716d set1  0x00000007 , 0x0000003f 
- 00027267  0x0000716e store  0x00000001 , 0x00004251 
- 00027268  0x0000716f jam  0x00000000 , 0x00004563 
- 00027269  0x00007170 branch  0x00006b97 
- 00027270  0x00007172 fetch  0x00000001 , 0x00004251 
- 00027271  0x00007173 set1  0x00000007 , 0x0000003f 
- 00027272  0x00007174 store  0x00000001 , 0x00004251 
- 00027273  0x00007175 branch  0x00006b97 
- 00027274  0x00007179 bpatchx  0x000000a5 , 0x00004034 
- 00027275  0x0000717a fetch  0x00000001 , 0x00004681 
- 00027276  0x0000717b beq  0x00000000 , 0x00006a8e 
- 00027277  0x0000717c branch  0x00006b4c 
- 00027278  0x0000717f fetch  0x00000002 , 0x00000264 
- 00027279  0x00007180 copy  0x0000003f , 0x00000006 
- 00027280  0x00007181 call  0x00006ab8 
- 00027281  0x00007182 fetch  0x00000001 , 0x000004fc 
- 00027282  0x00007183 beq  0x00000000 , 0x00006a94 
- 00027283  0x00007184 branch  0x00006b18 
- 00027284  0x00007186 bpatchx  0x000000a6 , 0x00004034 
- 00027285  0x00007187 fetch  0x00000001 , 0x000004fd 
- 00027286  0x00007188 beq  0x0000003f , 0x00006a7d 
- 00027287  0x00007189 beq  0x00000073 , 0x00006a86 
- 00027288  0x0000718a beq  0x000000ef , 0x00006a9b 
- 00027289  0x0000718b beq  0x00000053 , 0x00006b44 
- 00027290  0x0000718c rtn 
- 00027291  0x00007190 fetch  0x00000002 , 0x00000501 
- 00027292  0x00007191 copy  0x0000003f , 0x00000006 
- 00027293  0x00007192 call  0x00006ac3 
- 00027294  0x00007193 fetch  0x00000001 , 0x00000503 
- 00027295  0x00007194 beq  0x00000041 , 0x00006aa5 
- 00027296  0x00007195 beq  0x00000040 , 0x00006aad 
- 00027297  0x00007196 beq  0x00000071 , 0x00006ae6 
- 00027298  0x00007197 beq  0x00000070 , 0x00006af2 
- 00027299  0x00007198 beq  0x00000049 , 0x00006afd 
- 00027300  0x00007199 branch  0x00006b97 
- 00027301  0x0000719c call  0x00006aaf 
- 00027302  0x0000719e branch  0x00006aa7 
- 00027303  0x000071a1 fetch  0x00000001 , 0x00004254 
- 00027304  0x000071a2 set1  0x00000000 , 0x0000003f 
- 00027305  0x000071a3 set1  0x00000001 , 0x0000003f 
- 00027306  0x000071a4 store  0x00000001 , 0x00004254 
- 00027307  0x000071a5 call  0x00006be0 
- 00027308  0x000071a6 branch  0x00006b97 
- 00027309  0x000071a9 call  0x00006aaf 
- 00027310  0x000071aa branch  0x00006b97 
- 00027311  0x000071ad call  0x00006acb 
- 00027312  0x000071ae branch  0x00006ad7 
- 00027313  0x000071b1 call  0x00006acb 
- 00027314  0x000071b2 ifetch  0x00000001 , 0x00000006 
- 00027315  0x000071b3 rshift3  0x0000003f , 0x0000003f 
- 00027316  0x000071b4 store  0x00000001 , 0x0000456a 
- 00027317  0x000071b5 ifetch  0x00000001 , 0x00000006 
- 00027318  0x000071b6 store  0x00000001 , 0x00000508 
- 00027319  0x000071b7 rtn 
- 00027320  0x000071bb ifetch  0x00000001 , 0x00000006 
- 00027321  0x000071bc store  0x00000001 , 0x000004fb 
- 00027322  0x000071bd rshift3  0x0000003f , 0x0000003f 
- 00027323  0x000071be store  0x00000001 , 0x000004fc 
- 00027324  0x000071bf ifetch  0x00000001 , 0x00000006 
- 00027325  0x000071c0 store  0x00000001 , 0x000004fd 
- 00027326  0x000071c2 call  0x00006ace 
- 00027327  0x000071c3 storet  0x00000002 , 0x000004ff 
- 00027328  0x000071c4 copy  0x00000006 , 0x0000003f 
- 00027329  0x000071c5 store  0x00000002 , 0x00000501 
- 00027330  0x000071c6 rtn 
- 00027331  0x000071c9 ifetch  0x00000001 , 0x00000006 
- 00027332  0x000071ca rshift  0x0000003f , 0x0000003f 
- 00027333  0x000071cb store  0x00000001 , 0x00000503 
- 00027334  0x000071cc call  0x00006ace 
- 00027335  0x000071cd storet  0x00000002 , 0x00000504 
- 00027336  0x000071ce copy  0x00000006 , 0x0000003f 
- 00027337  0x000071cf store  0x00000002 , 0x00000506 
- 00027338  0x000071d0 rtn 
- 00027339  0x000071d4 fetch  0x00000002 , 0x00000506 
- 00027340  0x000071d5 copy  0x0000003f , 0x00000006 
- 00027341  0x000071d6 rtn 
- 00027342  0x000071d9 ifetch  0x00000001 , 0x00000006 
- 00027343  0x000071da copy  0x0000003f , 0x00000002 
- 00027344  0x000071db rshift  0x00000002 , 0x00000002 
- 00027345  0x000071dc rtnbit1  0x00000000 
- 00027346  0x000071dd ifetch  0x00000001 , 0x00000006 
- 00027347  0x000071de lshift3  0x0000003f , 0x0000003f 
- 00027348  0x000071df lshift4  0x0000003f , 0x0000003f 
- 00027349  0x000071e0 iadd  0x00000002 , 0x00000002 
- 00027350  0x000071e1 rtn 
- 00027351  0x000071e4 ifetch  0x00000001 , 0x00000006 
- 00027352  0x000071e5 store  0x00000001 , 0x0000455d 
- 00027353  0x000071e6 ifetch  0x00000001 , 0x00000006 
- 00027354  0x000071e7 store  0x00000001 , 0x00000509 
- 00027355  0x000071e8 ifetch  0x00000001 , 0x00000006 
- 00027356  0x000071e9 store  0x00000001 , 0x0000050a 
- 00027357  0x000071ea ifetch  0x00000001 , 0x00000006 
- 00027358  0x000071eb store  0x00000001 , 0x0000050b 
- 00027359  0x000071ec ifetch  0x00000002 , 0x00000006 
- 00027360  0x000071ed store  0x00000002 , 0x0000455e 
- 00027361  0x000071ee ifetch  0x00000001 , 0x00000006 
- 00027362  0x000071ef store  0x00000001 , 0x0000050c 
- 00027363  0x000071f0 ifetch  0x00000001 , 0x00000006 
- 00027364  0x000071f1 store  0x00000001 , 0x00004568 
- 00027365  0x000071f2 rtn 
- 00027366  0x000071f6 call  0x00006ab1 
- 00027367  0x000071f8 branch  0x00006ae8 
- 00027368  0x000071fb fetch  0x00000001 , 0x00004254 
- 00027369  0x000071fc set1  0x00000005 , 0x0000003f 
- 00027370  0x000071fd set1  0x00000006 , 0x0000003f 
- 00027371  0x000071fe store  0x00000001 , 0x00004254 
- 00027372  0x000071ff fetcht  0x00000001 , 0x0000455d 
- 00027373  0x00007200 lshift2  0x00000002 , 0x00000002 
- 00027374  0x00007201 or_into  0x00000003 , 0x00000002 
- 00027375  0x00007202 call  0x00006c11 
- 00027376  0x00007203 jam  0x00000003 , 0x00004567 
- 00027377  0x00007204 branch  0x00006b97 
- 00027378  0x00007207 jam  0x00000008 , 0x00000a99 
- 00027379  0x00007208 call  0x00007d86 
- 00027380  0x00007209 call  0x00006ab1 
- 00027381  0x0000720a fetch  0x00000001 , 0x0000456a 
- 00027382  0x0000720b sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00027383  0x0000720c branch  0x00006af9 , 0x00000005 
- 00027384  0x0000720d branch  0x00002a8c 
- 00027385  0x0000720f fetch  0x00000001 , 0x00004254 
- 00027386  0x00007210 set1  0x00000007 , 0x0000003f 
- 00027387  0x00007211 store  0x00000001 , 0x00004254 
- 00027388  0x00007212 branch  0x00006b97 
- 00027389  0x00007215 call  0x00006acb 
- 00027390  0x00007216 ifetch  0x00000001 , 0x00000006 
- 00027391  0x00007217 store  0x00000001 , 0x00000ac2 
- 00027392  0x00007218 call  0x000052d2 
- 00027393  0x00007219 call  0x000052e0 
- 00027394  0x0000721a setarg  0x0000000e 
- 00027395  0x0000721b istore  0x00000002 , 0x00000005 
- 00027396  0x0000721c fetch  0x00000002 , 0x0000424a 
- 00027397  0x0000721d istore  0x00000002 , 0x00000005 
- 00027398  0x0000721e fetch  0x00000001 , 0x00004563 
- 00027399  0x00007220 lshift  0x0000003f , 0x0000003f 
- 00027400  0x00007221 set1  0x00000000 , 0x0000003f 
- 00027401  0x00007222 istore  0x00000001 , 0x00000005 
- 00027402  0x00007223 bpatchx  0x000000a7 , 0x00004034 
- 00027403  0x00007224 setarg  0x000015ef 
- 00027404  0x00007225 istore  0x00000002 , 0x00000005 
- 00027405  0x00007226 setarg  0x00001191 
- 00027406  0x00007227 istore  0x00000002 , 0x00000005 
- 00027407  0x0000722a fetch  0x00000001 , 0x00000ac2 
- 00027408  0x0000722b istore  0x00000001 , 0x00000005 
- 00027409  0x0000722c setarg  0x00000007 
- 00027410  0x0000722d istore  0x00000005 , 0x00000005 
- 00027411  0x00007230 setarg  0x00000001 
- 00027412  0x00007231 istore  0x00000002 , 0x00000005 
- 00027413  0x00007234 call  0x00006a2f 
- 00027414  0x00007235 istore  0x00000001 , 0x00000005 
- 00027415  0x00007236 rtn 
- 00027416  0x0000723b branch  0x00006b19 
- 00027417  0x0000723e bpatchx  0x000000a8 , 0x00004035 
- 00027418  0x0000723f fetch  0x00000001 , 0x000004fd 
- 00027419  0x00007240 beq  0x00000073 , 0x00006b21 
- 00027420  0x00007241 beq  0x0000003f , 0x00006b25 
- 00027421  0x00007242 beq  0x000000ef , 0x00006b3f 
- 00027422  0x00007243 beq  0x000000ff , 0x00006b37 
- 00027423  0x00007244 beq  0x00000053 , 0x00006b46 
- 00027424  0x00007245 rtn 
- 00027425  0x00007247 fetch  0x00000001 , 0x00004254 
- 00027426  0x00007248 set1  0x00000003 , 0x0000003f 
- 00027427  0x00007249 store  0x00000001 , 0x00004254 
- 00027428  0x0000724a branch  0x00006b97 
- 00027429  0x0000724c fetch  0x00000001 , 0x00004254 
- 00027430  0x0000724d set1  0x00000003 , 0x0000003f 
- 00027431  0x0000724e set1  0x00000002 , 0x0000003f 
- 00027432  0x0000724f store  0x00000001 , 0x00004254 
- 00027433  0x00007250 fetch  0x00000001 , 0x000004fb 
- 00027434  0x00007251 call  0x00006a26 
- 00027435  0x00007252 store  0x00000001 , 0x000004fe 
- 00027436  0x00007253 call  0x00006bb6 
- 00027437  0x00007254 fetch  0x00000001 , 0x000004fb 
- 00027438  0x00007255 rshift2  0x0000003f , 0x0000003f 
- 00027439  0x00007256 store  0x00000001 , 0x0000455d 
- 00027440  0x00007257 lshift2  0x0000003f , 0x0000003f 
- 00027441  0x00007258 set0  0x00000001 , 0x0000003f 
- 00027442  0x00007259 set1  0x00000000 , 0x0000003f 
- 00027443  0x0000725a arg  0x00004565 , 0x00000002 
- 00027444  0x0000725b storet  0x00000002 , 0x000004f7 
- 00027445  0x0000725c call  0x00006a35 
- 00027446  0x0000725d branch  0x00006b97 
- 00027447  0x00007260 fetch  0x00000002 , 0x00000501 
- 00027448  0x00007261 copy  0x0000003f , 0x00000006 
- 00027449  0x00007262 increase  0x00000001 , 0x0000003f 
- 00027450  0x00007263 store  0x00000002 , 0x00000501 
- 00027451  0x00007264 ifetch  0x00000001 , 0x00000006 
- 00027452  0x00007265 fetcht  0x00000001 , 0x00004568 
- 00027453  0x00007266 iadd  0x00000002 , 0x0000003f 
- 00027454  0x00007267 store  0x00000001 , 0x00004568 
- 00027455  0x00007269 call  0x00006c42 
- 00027456  0x0000726b call  0x00006a72 
- 00027457  0x0000726c call  0x00006c28 
- 00027458  0x0000726d call  0x00006c4b 
- 00027459  0x0000726e branch  0x00006b97 
- 00027460  0x00007271 jam  0x00000009 , 0x00000a99 
- 00027461  0x00007272 call  0x00007d86 
- 00027462  0x00007274 call  0x00006a0d 
- 00027463  0x00007275 fetch  0x00000001 , 0x000004fb 
- 00027464  0x00007276 call  0x00006a26 
- 00027465  0x00007277 store  0x00000001 , 0x000004fe 
- 00027466  0x00007278 call  0x00006bb6 
- 00027467  0x00007279 branch  0x00006b97 
- 00027468  0x0000727f fetch  0x00000002 , 0x00000264 
- 00027469  0x00007280 copy  0x0000003f , 0x00000006 
- 00027470  0x00007281 call  0x00006ab8 
- 00027471  0x00007282 fetch  0x00000001 , 0x000004fc 
- 00027472  0x00007283 beq  0x00000000 , 0x00006b52 
- 00027473  0x00007284 branch  0x00006b86 
- 00027474  0x00007287 bpatchx  0x000000a9 , 0x00004035 
- 00027475  0x00007288 fetch  0x00000001 , 0x000004fd 
- 00027476  0x00007289 beq  0x0000003f , 0x00006a7d 
- 00027477  0x0000728a beq  0x00000073 , 0x00006a86 
- 00027478  0x0000728b beq  0x000000ef , 0x00006b58 
- 00027479  0x0000728c branch  0x00006b97 
- 00027480  0x0000728e fetch  0x00000002 , 0x00000501 
- 00027481  0x0000728f copy  0x0000003f , 0x00000006 
- 00027482  0x00007290 call  0x00006ac3 
- 00027483  0x00007291 fetch  0x00000001 , 0x00000503 
- 00027484  0x00007292 beq  0x00000041 , 0x00006b61 
- 00027485  0x00007293 beq  0x00000040 , 0x00006b61 
- 00027486  0x00007294 beq  0x00000071 , 0x00006b6c 
- 00027487  0x00007295 beq  0x00000070 , 0x00006b7c 
- 00027488  0x00007296 branch  0x00006b97 
- 00027489  0x00007299 call  0x00006aaf 
- 00027490  0x0000729a fetch  0x00000001 , 0x0000455d 
- 00027491  0x0000729b rshift  0x0000003f , 0x0000003f 
- 00027492  0x0000729c fetcht  0x00000001 , 0x00004564 
- 00027493  0x0000729d isub  0x00000002 , 0x0000003e 
- 00027494  0x0000729e branch  0x00006b68 , 0x00000005 
- 00027495  0x0000729f branch  0x00002a8c 
- 00027496  0x000072a1 fetch  0x00000001 , 0x00004254 
- 00027497  0x000072a2 set1  0x00000001 , 0x0000003f 
- 00027498  0x000072a3 store  0x00000001 , 0x00004254 
- 00027499  0x000072a4 branch  0x00006b97 
- 00027500  0x000072a7 call  0x00006ab1 
- 00027501  0x000072a8 fetch  0x00000001 , 0x0000456a 
- 00027502  0x000072a9 fetcht  0x00000001 , 0x00004564 
- 00027503  0x000072aa isub  0x00000002 , 0x0000003e 
- 00027504  0x000072ab branch  0x00006b73 , 0x00000005 
- 00027505  0x000072ac branch  0x00002a8c 
- 00027506  0x000072ad branch  0x00006b97 
- 00027507  0x000072af fetch  0x00000001 , 0x00004254 
- 00027508  0x000072b0 set1  0x00000005 , 0x0000003f 
- 00027509  0x000072b1 set1  0x00000006 , 0x0000003f 
- 00027510  0x000072b2 store  0x00000001 , 0x00004254 
- 00027511  0x000072b3 fetcht  0x00000001 , 0x0000455d 
- 00027512  0x000072b4 lshift2  0x00000002 , 0x00000002 
- 00027513  0x000072b5 or_into  0x00000003 , 0x00000002 
- 00027514  0x000072b6 call  0x00006c11 
- 00027515  0x000072b7 branch  0x00006b97 
- 00027516  0x000072ba call  0x00006ab1 
- 00027517  0x000072bb fetch  0x00000001 , 0x0000456a 
- 00027518  0x000072bc fetcht  0x00000001 , 0x00004564 
- 00027519  0x000072bd isub  0x00000002 , 0x0000003e 
- 00027520  0x000072be branch  0x00006b82 , 0x00000005 
- 00027521  0x000072bf branch  0x00002a8c 
- 00027522  0x000072c1 fetch  0x00000001 , 0x00004254 
- 00027523  0x000072c2 set1  0x00000007 , 0x0000003f 
- 00027524  0x000072c3 store  0x00000001 , 0x00004254 
- 00027525  0x000072c4 branch  0x00006b97 
- 00027526  0x000072c7 fetch  0x00000001 , 0x000004fc 
- 00027527  0x000072c8 fetcht  0x00000001 , 0x00004564 
- 00027528  0x000072c9 isub  0x00000002 , 0x0000003e 
- 00027529  0x000072ca branch  0x00006b8c , 0x00000005 
- 00027530  0x000072cb branch  0x00002a8c 
- 00027531  0x000072cc branch  0x00006b97 
- 00027532  0x000072cf fetch  0x00000001 , 0x000004fd 
- 00027533  0x000072d0 beq  0x00000073 , 0x00006b91 
- 00027534  0x000072d1 beq  0x000000ef , 0x00006b3f 
- 00027535  0x000072d2 beq  0x000000ff , 0x00006b37 
- 00027536  0x000072d3 beq  0x00000053 , 0x00006b96 
- 00027537  0x000072d5 fetch  0x00000001 , 0x00004254 
- 00027538  0x000072d6 set1  0x00000003 , 0x0000003f 
- 00027539  0x000072d7 store  0x00000001 , 0x00004254 
- 00027540  0x000072d8 branch  0x00006b97 
- 00027541  0x000072da branch  0x00006b95 
- 00027542  0x000072dc branch  0x00006b46 
- 00027543  0x000072de rtn 
- 00027544  0x000072e1 fetch  0x00000001 , 0x00004567 
- 00027545  0x000072e2 rtn  0x00000034 
- 00027546  0x000072e3 beq  0x00000003 , 0x00006b9c 
- 00027547  0x000072e4 branch  0x00002a8c 
- 00027548  0x000072e7 jam  0x00000000 , 0x00004567 
- 00027549  0x000072e8 call  0x000052d2 
- 00027550  0x000072e9 arg  0x00000001 , 0x00000002 
- 00027551  0x000072ea fetcht  0x00000001 , 0x0000455d 
- 00027552  0x000072eb lshift2  0x00000002 , 0x00000002 
- 00027553  0x000072ed or_into  0x00000003 , 0x00000002 
- 00027554  0x000072ee arg  0x000000aa , 0x00000011 
- 00027555  0x000072ef call  0x00006bfc 
- 00027556  0x000072f0 call  0x000052e0 
- 00027557  0x000072f1 copy  0x00000005 , 0x00000006 
- 00027558  0x000072f2 ifetch  0x00000002 , 0x00000006 
- 00027559  0x000072f3 branch  0x00002a8c , 0x00000034 
- 00027560  0x000072f4 rtn 
- 00027561  0x000072f7 call  0x000052e0 
- 00027562  0x000072f8 setarg  0x00000004 
- 00027563  0x000072f9 istore  0x00000002 , 0x00000005 
- 00027564  0x000072fa fetch  0x00000002 , 0x0000424a 
- 00027565  0x000072fb istore  0x00000002 , 0x00000005 
- 00027566  0x000072fc fetch  0x00000001 , 0x000004fb 
- 00027567  0x000072fd istore  0x00000001 , 0x00000005 
- 00027568  0x000072fe bpatchx  0x000000aa , 0x00004035 
- 00027569  0x000072ff setarg  0x0000013f 
- 00027570  0x00007300 istore  0x00000002 , 0x00000005 
- 00027571  0x00007301 fetch  0x00000001 , 0x000004fe 
- 00027572  0x00007302 istore  0x00000001 , 0x00000005 
- 00027573  0x00007303 rtn 
- 00027574  0x00007305 call  0x000052d2 
- 00027575  0x00007306 call  0x000052e0 
- 00027576  0x00007307 setarg  0x00000004 
- 00027577  0x00007308 istore  0x00000002 , 0x00000005 
- 00027578  0x00007309 fetch  0x00000002 , 0x0000424a 
- 00027579  0x0000730a istore  0x00000002 , 0x00000005 
- 00027580  0x0000730b fetch  0x00000001 , 0x000004fb 
- 00027581  0x0000730c istore  0x00000001 , 0x00000005 
- 00027582  0x0000730d bpatchx  0x000000ab , 0x00004035 
- 00027583  0x0000730e setarg  0x00000173 
- 00027584  0x0000730f istore  0x00000002 , 0x00000005 
- 00027585  0x00007310 fetch  0x00000001 , 0x000004fe 
- 00027586  0x00007311 istore  0x00000001 , 0x00000005 
- 00027587  0x00007312 rtn 
- 00027588  0x00007314 call  0x000052e0 
- 00027589  0x00007315 setarg  0x0000000e 
- 00027590  0x00007316 istore  0x00000002 , 0x00000005 
- 00027591  0x00007317 fetch  0x00000002 , 0x0000424a 
- 00027592  0x00007318 istore  0x00000002 , 0x00000005 
- 00027593  0x00007319 fetch  0x00000001 , 0x00004563 
- 00027594  0x0000731a lshift  0x0000003f , 0x0000003f 
- 00027595  0x0000731b set1  0x00000000 , 0x0000003f 
- 00027596  0x0000731c istore  0x00000001 , 0x00000005 
- 00027597  0x0000731d bpatchx  0x000000ac , 0x00004035 
- 00027598  0x0000731e setarg  0x000015ef 
- 00027599  0x0000731f istore  0x00000002 , 0x00000005 
- 00027600  0x00007320 setarg  0x00001183 
- 00027601  0x00007321 istore  0x00000002 , 0x00000005 
- 00027602  0x00007322 copy  0x00000002 , 0x0000003f 
- 00027603  0x00007323 istore  0x00000001 , 0x00000005 
- 00027604  0x00007324 setarg  0x000000f0 
- 00027605  0x00007325 istore  0x00000003 , 0x00000005 
- 00027606  0x00007326 setarg  0x0000007f 
- 00027607  0x00007327 istore  0x00000002 , 0x00000005 
- 00027608  0x00007328 setarg  0x00000000 
- 00027609  0x00007329 istore  0x00000001 , 0x00000005 
- 00027610  0x0000732a setarg  0x00000001 
- 00027611  0x0000732b istore  0x00000001 , 0x00000005 
- 00027612  0x0000732c call  0x00006a2f 
- 00027613  0x0000732d istore  0x00000001 , 0x00000005 
- 00027614  0x0000732e jam  0x00000010 , 0x00004569 
- 00027615  0x0000732f rtn 
- 00027616  0x00007331 call  0x000052d2 
- 00027617  0x00007332 call  0x000052e0 
- 00027618  0x00007333 setarg  0x0000000e 
- 00027619  0x00007334 istore  0x00000002 , 0x00000005 
- 00027620  0x00007335 fetch  0x00000002 , 0x0000424a 
- 00027621  0x00007336 istore  0x00000002 , 0x00000005 
- 00027622  0x00007337 fetch  0x00000001 , 0x00004563 
- 00027623  0x00007338 lshift  0x0000003f , 0x0000003f 
- 00027624  0x00007339 set1  0x00000000 , 0x0000003f 
- 00027625  0x0000733a istore  0x00000001 , 0x00000005 
- 00027626  0x0000733b bpatchx  0x000000ad , 0x00004035 
- 00027627  0x0000733c setarg  0x000015ef 
- 00027628  0x0000733d istore  0x00000002 , 0x00000005 
- 00027629  0x0000733e setarg  0x00001181 
- 00027630  0x0000733f istore  0x00000002 , 0x00000005 
- 00027631  0x00007340 fetch  0x00000001 , 0x0000455d 
- 00027632  0x00007341 istore  0x00000001 , 0x00000005 
- 00027633  0x00007342 setarg  0x000000e0 
- 00027634  0x00007343 istore  0x00000003 , 0x00000005 
- 00027635  0x00007344 fetch  0x00000002 , 0x0000456c 
- 00027636  0x00007345 istore  0x00000002 , 0x00000005 
- 00027637  0x00007346 setarg  0x00000000 
- 00027638  0x00007347 istore  0x00000001 , 0x00000005 
- 00027639  0x00007348 fetch  0x00000001 , 0x0000456e 
- 00027640  0x00007349 istore  0x00000001 , 0x00000005 
- 00027641  0x0000734a call  0x00006a2f 
- 00027642  0x0000734b istore  0x00000001 , 0x00000005 
- 00027643  0x0000734c rtn 
- 00027644  0x0000734e call  0x000052e0 
- 00027645  0x0000734f setarg  0x00000008 
- 00027646  0x00007350 istore  0x00000002 , 0x00000005 
- 00027647  0x00007351 fetch  0x00000002 , 0x0000424a 
- 00027648  0x00007352 istore  0x00000002 , 0x00000005 
- 00027649  0x00007353 fetch  0x00000001 , 0x00004563 
- 00027650  0x00007354 lshift  0x0000003f , 0x0000003f 
- 00027651  0x00007355 set1  0x00000000 , 0x0000003f 
- 00027652  0x00007356 istore  0x00000001 , 0x00000005 
- 00027653  0x00007357 bpatchx  0x000000ae , 0x00004035 
- 00027654  0x00007358 setarg  0x000009ef 
- 00027655  0x00007359 istore  0x00000002 , 0x00000005 
- 00027656  0x0000735a setarg  0x000005e3 
- 00027657  0x0000735b istore  0x00000002 , 0x00000005 
- 00027658  0x0000735c copy  0x00000002 , 0x0000003f 
- 00027659  0x0000735d istore  0x00000001 , 0x00000005 
- 00027660  0x0000735e setarg  0x0000008d 
- 00027661  0x0000735f istore  0x00000001 , 0x00000005 
- 00027662  0x00007360 call  0x00006a2f 
- 00027663  0x00007361 istore  0x00000001 , 0x00000005 
- 00027664  0x00007362 rtn 
- 00027665  0x00007365 call  0x000052d2 
- 00027666  0x00007366 call  0x000052e0 
- 00027667  0x00007367 setarg  0x00000008 
- 00027668  0x00007368 istore  0x00000002 , 0x00000005 
- 00027669  0x00007369 fetch  0x00000002 , 0x0000424a 
- 00027670  0x0000736a istore  0x00000002 , 0x00000005 
- 00027671  0x0000736b copy  0x00000002 , 0x0000000b 
- 00027672  0x0000736c fetch  0x00000001 , 0x00004563 
- 00027673  0x0000736d lshift  0x0000003f , 0x0000003f 
- 00027674  0x0000736e set1  0x00000000 , 0x0000003f 
- 00027675  0x0000736f istore  0x00000001 , 0x00000005 
- 00027676  0x00007370 bpatchx  0x000000af , 0x00004035 
- 00027677  0x00007371 setarg  0x000009ef 
- 00027678  0x00007372 istore  0x00000002 , 0x00000005 
- 00027679  0x00007373 setarg  0x000005e1 
- 00027680  0x00007374 istore  0x00000002 , 0x00000005 
- 00027681  0x00007375 copy  0x0000000b , 0x0000003f 
- 00027682  0x00007376 istore  0x00000001 , 0x00000005 
- 00027683  0x00007377 setarg  0x0000008d 
- 00027684  0x00007378 istore  0x00000001 , 0x00000005 
- 00027685  0x00007379 call  0x00006a2f 
- 00027686  0x0000737a istore  0x00000001 , 0x00000005 
- 00027687  0x0000737b rtn 
- 00027688  0x0000737e bpatchx  0x000000b0 , 0x00004036 
- 00027689  0x0000737f fetch  0x00000001 , 0x00004569 
- 00027690  0x00007380 rtn  0x00000034 
- 00027691  0x00007381 hfetch  0x00000002 , 0x00008112 
- 00027692  0x00007382 nrtn  0x00000034 
- 00027693  0x00007383 copy  0x00000011 , 0x0000003f 
- 00027694  0x00007384 store  0x00000001 , 0x00000a9b 
- 00027695  0x00007385 storet  0x00000001 , 0x00000a9a 
- 00027696  0x00007386 call  0x0000526e 
- 00027697  0x00007387 nrtn  0x00000034 
- 00027698  0x00007388 call  0x000052d2 
- 00027699  0x00007389 call  0x000052e0 
- 00027700  0x0000738a setarg  0x00000005 
- 00027701  0x0000738b istore  0x00000002 , 0x00000005 
- 00027702  0x0000738c fetch  0x00000002 , 0x0000424a 
- 00027703  0x0000738d istore  0x00000002 , 0x00000005 
- 00027704  0x0000738e fetch  0x00000001 , 0x0000050d 
- 00027705  0x0000738f istore  0x00000001 , 0x00000005 
- 00027706  0x00007390 setarg  0x000001ff 
- 00027707  0x00007391 istore  0x00000002 , 0x00000005 
- 00027708  0x00007392 fetch  0x00000001 , 0x00004569 
- 00027709  0x00007393 istore  0x00000001 , 0x00000005 
- 00027710  0x00007394 fetch  0x00000001 , 0x00004566 
- 00027711  0x00007395 istore  0x00000001 , 0x00000005 
- 00027712  0x00007396 jam  0x00000000 , 0x00004569 
- 00027713  0x00007397 rtn 
- 00027714  0x0000739a bpatchx  0x000000b1 , 0x00004036 
- 00027715  0x0000739b fetch  0x00000001 , 0x0000456b 
- 00027716  0x0000739c rtneq  0x00000001 
- 00027717  0x0000739d fetch  0x00000002 , 0x000004ff 
- 00027718  0x0000739e rtn  0x00000034 
- 00027719  0x0000739f fetch  0x00000001 , 0x00004569 
- 00027720  0x000073a0 increase  0x00000001 , 0x0000003f 
- 00027721  0x000073a1 store  0x00000001 , 0x00004569 
- 00027722  0x000073a2 rtn 
- 00027723  0x000073a5 fetch  0x00000002 , 0x0000456f 
- 00027724  0x000073a6 branch  0x00007f9c 
- 00027725  0x000073a9 bpatchx  0x000000b2 , 0x00004036 
- 00027726  0x000073ab fetch  0x00000001 , 0x00004568 
- 00027727  0x000073ac rtn  0x00000034 
- 00027728  0x000073ad increase  0xffffffff , 0x0000003f 
- 00027729  0x000073ae store  0x00000001 , 0x00004568 
- 00027730  0x000073af fetch  0x00000002 , 0x0000455e 
- 00027731  0x000073b0 fetcht  0x00000002 , 0x0000469f 
- 00027732  0x000073b1 isub  0x00000002 , 0x0000003e 
- 00027733  0x000073b2 branch  0x00006c57 , 0x00000002 
- 00027734  0x000073b3 store  0x00000002 , 0x0000469f 
- 00027735  0x000073b5 fetch  0x00000001 , 0x00004569 
- 00027736  0x000073b6 branch  0x00006c5f , 0x00000034 
- 00027737  0x000073b7 jam  0x00000001 , 0x00000510 
- 00027738  0x000073b8 fetch  0x00000001 , 0x00004566 
- 00027739  0x000073b9 store  0x00000001 , 0x0000050f 
- 00027740  0x000073ba setarg  0x000000ff 
- 00027741  0x000073bb store  0x00000001 , 0x0000050e 
- 00027742  0x000073bc branch  0x00006c64 
- 00027743  0x000073be jam  0x00000000 , 0x00000510 
- 00027744  0x000073bf fetch  0x00000001 , 0x00004565 
- 00027745  0x000073c0 store  0x00000001 , 0x0000050f 
- 00027746  0x000073c1 setarg  0x000000ef 
- 00027747  0x000073c2 store  0x00000001 , 0x0000050e 
- 00027748  0x000073c4 bpatchx  0x000000b3 , 0x00004036 
- 00027749  0x000073c5 fetch  0x00000002 , 0x0000469f 
- 00027750  0x000073c6 sub  0x0000003f , 0x0000007f , 0x0000003e 
- 00027751  0x000073c7 branch  0x00006c6b , 0x00000002 
- 00027752  0x000073c8 fetch  0x00000001 , 0x00000510 
- 00027753  0x000073c9 increase  0x00000001 , 0x0000003f 
- 00027754  0x000073ca store  0x00000001 , 0x00000510 
- 00027755  0x000073cc call  0x00006a72 
- 00027756  0x000073cd fetch  0x00000002 , 0x0000469f 
- 00027757  0x000073ce increase  0x00000008 , 0x0000003f 
- 00027758  0x000073cf fetcht  0x00000001 , 0x00000510 
- 00027759  0x000073d0 iadd  0x00000002 , 0x00000011 
- 00027760  0x000073d2 call  0x00005240 
- 00027761  0x000073d3 store  0x00000002 , 0x00000277 
- 00027762  0x000073d4 increase  0x00000004 , 0x0000003f 
- 00027763  0x000073d5 store  0x00000002 , 0x00000279 
- 00027764  0x000073d6 copy  0x0000003f , 0x00000005 
- 00027765  0x000073d7 fetch  0x00000001 , 0x0000050d 
- 00027766  0x000073d8 istore  0x00000001 , 0x00000005 
- 00027767  0x000073d9 fetch  0x00000001 , 0x0000050e 
- 00027768  0x000073da istore  0x00000001 , 0x00000005 
- 00027769  0x000073db call  0x00006c95 
- 00027770  0x000073dc call  0x00006ca6 
- 00027771  0x000073dd bpatchx  0x000000b4 , 0x00004036 
- 00027772  0x000073de fetch  0x00000002 , 0x00004571 
- 00027773  0x000073df copy  0x0000003f , 0x00000003 
- 00027774  0x000073e0 fetch  0x00000002 , 0x0000469f 
- 00027775  0x000073e1 copy  0x0000003f , 0x00000039 
- 00027776  0x000073e2 call  0x000066ea 
- 00027777  0x000073e3 copy  0x00000005 , 0x00000002 
- 00027778  0x000073e4 copy  0x00000003 , 0x0000003f 
- 00027779  0x000073e5 store  0x00000002 , 0x00004571 
- 00027780  0x000073e6 copy  0x00000002 , 0x00000005 
- 00027781  0x000073e7 fetch  0x00000001 , 0x0000050f 
- 00027782  0x000073e8 istore  0x00000001 , 0x00000005 
- 00027783  0x000073e9 fetch  0x00000002 , 0x00000277 
- 00027784  0x000073ea copy  0x0000003f , 0x00000005 
- 00027785  0x000073eb fetch  0x00000002 , 0x0000469f 
- 00027786  0x000073ec fetcht  0x00000001 , 0x00000510 
- 00027787  0x000073ed iadd  0x00000002 , 0x0000003f 
- 00027788  0x000073ee increase  0x00000004 , 0x0000003f 
- 00027789  0x000073ef istore  0x00000002 , 0x00000005 
- 00027790  0x000073f0 fetch  0x00000002 , 0x0000424a 
- 00027791  0x000073f1 istore  0x00000002 , 0x00000005 
- 00027792  0x000073f2 jam  0x00000000 , 0x00004569 
- 00027793  0x000073f3 fetch  0x00000002 , 0x00004573 
- 00027794  0x000073f4 beq  0x00000000 , 0x00003a97 
- 00027795  0x000073f5 jam  0x00000000 , 0x00000b05 
- 00027796  0x000073f6 rtn 
- 00027797  0x000073f9 bpatchx  0x000000b5 , 0x00004036 
- 00027798  0x000073fa fetch  0x00000002 , 0x0000469f 
- 00027799  0x000073fb sub  0x0000003f , 0x0000007f , 0x0000003e 
- 00027800  0x000073fc nbranch  0x00006c9d , 0x00000002 
- 00027801  0x000073fd lshift  0x0000003f , 0x0000003f 
- 00027802  0x000073fe set1  0x00000000 , 0x0000003f 
- 00027803  0x000073ff istore  0x00000001 , 0x00000005 
- 00027804  0x00007400 rtn 
- 00027805  0x00007402 fetch  0x00000002 , 0x0000469f 
- 00027806  0x00007403 rshift3  0x0000003f , 0x0000003f 
- 00027807  0x00007404 rshift4  0x0000003f , 0x00000002 
- 00027808  0x00007405 and_into  0x0000007f , 0x0000003f 
- 00027809  0x00007406 lshift  0x0000003f , 0x0000003f 
- 00027810  0x00007407 set0  0x00000000 , 0x0000003f 
- 00027811  0x00007408 istore  0x00000001 , 0x00000005 
- 00027812  0x00007409 istoret  0x00000001 , 0x00000005 
- 00027813  0x0000740a rtn 
- 00027814  0x0000740c fetch  0x00000001 , 0x00004569 
- 00027815  0x0000740d rtn  0x00000034 
- 00027816  0x0000740e istore  0x00000001 , 0x00000005 
- 00027817  0x0000740f rtn 
- 00027818  0x00007415 bpatchx  0x000000b6 , 0x00004036 
- 00027819  0x00007416 call  0x00007d9c 
- 00027820  0x00007417 call  0x000032f6 
- 00027821  0x00007418 call  0x0000631b 
- 00027822  0x0000741a bpatchx  0x000000b7 , 0x00004036 
- 00027823  0x0000741b call  0x000076dc 
- 00027824  0x0000741c call  0x000076b5 
- 00027825  0x0000741d call  0x000076c6 
- 00027826  0x00007420 call  0x0000526e 
- 00027827  0x00007421 nrtn  0x00000034 
- 00027828  0x00007423 call  0x00004da9 
- 00027829  0x00007424 call  0x0000526e 
- 00027830  0x00007425 nrtn  0x00000034 
- 00027831  0x00007426 bpatchx  0x000000b8 , 0x00004037 
- 00027832  0x00007428 call  0x00006cf5 
- 00027833  0x00007429 call  0x00004f64 
- 00027834  0x0000742a call  0x00006b98 
- 00027835  0x0000742c call  0x00006cbe 
- 00027836  0x0000742d bpatchx  0x000000b9 , 0x00004037 
- 00027837  0x00007430 branch  0x000032f2 
- 00027838  0x00007433 fetch  0x00000001 , 0x0000027f 
- 00027839  0x00007434 bbit1  0x00000000 , 0x00005087 
- 00027840  0x00007435 bbit1  0x00000007 , 0x00005091 
- 00027841  0x00007436 rtn 
- 00027842  0x00007439 bpatchx  0x000000ba , 0x00004037 
- 00027843  0x0000743a call  0x00005274 
- 00027844  0x0000743b rtn  0x00000034 
- 00027845  0x0000743c fetch  0x00000001 , 0x0000004b 
- 00027846  0x0000743d rtnbit1  0x00000006 
- 00027847  0x0000743e call  0x00005258 
- 00027848  0x0000743f store  0x00000002 , 0x0000016f 
- 00027849  0x00007440 copy  0x0000003f , 0x00000006 
- 00027850  0x00007441 ifetch  0x00000002 , 0x00000006 
- 00027851  0x00007442 increase  0x00000004 , 0x0000003f 
- 00027852  0x00007443 store  0x00000002 , 0x000041dc 
- 00027853  0x00007444 jam  0x00000006 , 0x000041db 
- 00027854  0x00007445 bpatchx  0x000000bb , 0x00004037 
- 00027855  0x00007446 fetch  0x00000002 , 0x00004246 
- 00027856  0x00007447 branch  0x00006cdd , 0x00000034 
- 00027857  0x00007448 fetch  0x00000001 , 0x0000004b 
- 00027858  0x00007449 rtnbit0  0x00000007 
- 00027859  0x0000744a set0  0x00000007 , 0x0000003f 
- 00027860  0x0000744b store  0x00000001 , 0x0000004b 
- 00027861  0x0000744c jam  0x00000005 , 0x000041db 
- 00027862  0x0000744d fetcht  0x00000002 , 0x00004246 
- 00027863  0x0000744e fetch  0x00000002 , 0x0000016f 
- 00027864  0x0000744f iadd  0x00000002 , 0x0000003f 
- 00027865  0x00007450 store  0x00000002 , 0x0000016f 
- 00027866  0x00007451 fetch  0x00000002 , 0x000041dc 
- 00027867  0x00007452 isub  0x00000002 , 0x0000003f 
- 00027868  0x00007453 store  0x00000002 , 0x000041dc 
- 00027869  0x00007455 bpatchx  0x000000bc , 0x00004037 
- 00027870  0x00007456 fetch  0x00000002 , 0x000041dc 
- 00027871  0x00007457 branch  0x00002a8c , 0x00000034 
- 00027872  0x00007458 arg  0x00000104 , 0x00000002 
- 00027873  0x00007459 isub  0x00000002 , 0x0000003f 
- 00027874  0x0000745a nbranch  0x00006ce9 , 0x00000002 
- 00027875  0x0000745b bpatchx  0x000000bd , 0x00004037 
- 00027876  0x0000745c storet  0x00000002 , 0x000041dc 
- 00027877  0x0000745d fetch  0x00000002 , 0x00004246 
- 00027878  0x0000745e iadd  0x00000002 , 0x0000003f 
- 00027879  0x0000745f store  0x00000002 , 0x00004246 
- 00027880  0x00007460 branch  0x00006ceb 
- 00027881  0x00007462 setarg  0x00000000 
- 00027882  0x00007463 store  0x00000002 , 0x00004246 
- 00027883  0x00007465 fetch  0x00000001 , 0x0000004b 
- 00027884  0x00007466 set1  0x00000006 , 0x0000003f 
- 00027885  0x00007467 store  0x00000001 , 0x0000004b 
- 00027886  0x00007468 rtn 
- 00027887  0x0000746b fetch  0x00000001 , 0x00004684 
- 00027888  0x0000746c bbit1  0x00000000 , 0x00006cf3 
- 00027889  0x0000746d jam  0x00000001 , 0x00000287 
- 00027890  0x0000746e rtn 
- 00027891  0x00007470 jam  0x0000000f , 0x00000287 
- 00027892  0x00007471 rtn 
- 00027893  0x00007474 fetch  0x00000001 , 0x00004681 
- 00027894  0x00007475 nbranch  0x00006cfb , 0x00000034 
- 00027895  0x00007477 fetch  0x00000001 , 0x00000286 
- 00027896  0x00007479 rtn  0x00000034 
- 00027897  0x0000747b jam  0x00000000 , 0x00000286 
- 00027898  0x0000747d rtn 
- 00027899  0x00007481 bpatchx  0x000000be , 0x00004037 
- 00027900  0x00007482 fetch  0x00000001 , 0x00000287 
- 00027901  0x00007483 rtn  0x00000034 
- 00027902  0x00007484 beq  0x00000001 , 0x00006d1b 
- 00027903  0x00007485 beq  0x00000002 , 0x00006d74 
- 00027904  0x00007486 beq  0x00000003 , 0x00006d21 
- 00027905  0x00007487 beq  0x00000004 , 0x00006d78 
- 00027906  0x00007488 beq  0x0000003b , 0x00006d2b 
- 00027907  0x00007489 beq  0x0000003c , 0x00006d7b 
- 00027908  0x0000748a beq  0x0000000d , 0x00006d30 
- 00027909  0x0000748b beq  0x0000000e , 0x00006d80 
- 00027910  0x0000748c beq  0x0000000f , 0x00006d33 
- 00027911  0x0000748d beq  0x00000010 , 0x00006d86 
- 00027912  0x0000748e beq  0x00000011 , 0x00006d39 
- 00027913  0x0000748f beq  0x00000012 , 0x00006d8a 
- 00027914  0x00007490 beq  0x00000013 , 0x00006d3f 
- 00027915  0x00007491 beq  0x00000014 , 0x00006d8e 
- 00027916  0x00007492 beq  0x00000015 , 0x00006d45 
- 00027917  0x00007493 beq  0x00000016 , 0x00006d92 
- 00027918  0x00007494 beq  0x00000017 , 0x00006d4b 
- 00027919  0x00007495 beq  0x00000018 , 0x00006d97 
- 00027920  0x00007496 beq  0x00000019 , 0x00006d51 
- 00027921  0x00007497 beq  0x0000001a , 0x00006d9b 
- 00027922  0x00007498 beq  0x0000001b , 0x00006d57 
- 00027923  0x00007499 beq  0x0000001c , 0x00006d9f 
- 00027924  0x0000749a beq  0x0000001d , 0x00006d5d 
- 00027925  0x0000749b beq  0x0000001e , 0x00006da4 
- 00027926  0x0000749c beq  0x0000001f , 0x00006d63 
- 00027927  0x0000749d beq  0x00000020 , 0x00006da8 
- 00027928  0x0000749e beq  0x00000021 , 0x00006d6e 
- 00027929  0x0000749f beq  0x00000022 , 0x00006dac 
- 00027930  0x000074a1 rtn 
- 00027931  0x000074a3 call  0x00006db7 
- 00027932  0x000074a4 jam  0x00000002 , 0x00000287 
- 00027933  0x000074a5 fetch  0x00000001 , 0x00004250 
- 00027934  0x000074a6 set1  0x00000000 , 0x0000003f 
- 00027935  0x000074a7 store  0x00000001 , 0x00004250 
- 00027936  0x000074a8 rtn 
- 00027937  0x000074aa jam  0x00000004 , 0x00000287 
- 00027938  0x000074ab fetch  0x00000001 , 0x00004250 
- 00027939  0x000074ac rtnbit1  0x00000002 
- 00027940  0x000074ad jam  0x00000003 , 0x00000287 
- 00027941  0x000074ae call  0x00006dbe 
- 00027942  0x000074af jam  0x00000004 , 0x00000287 
- 00027943  0x000074b0 fetch  0x00000001 , 0x00004250 
- 00027944  0x000074b1 set1  0x00000002 , 0x0000003f 
- 00027945  0x000074b2 store  0x00000001 , 0x00004250 
- 00027946  0x000074b3 rtn 
- 00027947  0x000074b5 call  0x00005274 
- 00027948  0x000074b6 nrtn  0x00000034 
- 00027949  0x000074b7 call  0x00006dcd 
- 00027950  0x000074b8 jam  0x0000003c , 0x00000287 
- 00027951  0x000074b9 rtn 
- 00027952  0x000074bb call  0x00006dc3 
- 00027953  0x000074bc jam  0x0000000e , 0x00000287 
- 00027954  0x000074bd rtn 
- 00027955  0x000074bf call  0x00006ddd 
- 00027956  0x000074c0 jam  0x00000010 , 0x00000287 
- 00027957  0x000074c1 fetch  0x00000001 , 0x00004252 
- 00027958  0x000074c2 set1  0x00000000 , 0x0000003f 
- 00027959  0x000074c3 store  0x00000001 , 0x00004252 
- 00027960  0x000074c4 rtn 
- 00027961  0x000074c6 call  0x00006de4 
- 00027962  0x000074c7 jam  0x00000012 , 0x00000287 
- 00027963  0x000074c8 fetch  0x00000001 , 0x00004252 
- 00027964  0x000074c9 set1  0x00000002 , 0x0000003f 
- 00027965  0x000074ca store  0x00000001 , 0x00004252 
- 00027966  0x000074cb rtn 
- 00027967  0x000074cd call  0x00006de9 
- 00027968  0x000074ce jam  0x00000014 , 0x00000287 
- 00027969  0x000074cf fetch  0x00000001 , 0x00004253 
- 00027970  0x000074d0 set1  0x00000000 , 0x0000003f 
- 00027971  0x000074d1 store  0x00000001 , 0x00004253 
- 00027972  0x000074d2 rtn 
- 00027973  0x000074d4 call  0x00006df0 
- 00027974  0x000074d5 jam  0x00000016 , 0x00000287 
- 00027975  0x000074d6 fetch  0x00000001 , 0x00004253 
- 00027976  0x000074d7 set1  0x00000002 , 0x0000003f 
- 00027977  0x000074d8 store  0x00000001 , 0x00004253 
- 00027978  0x000074d9 rtn 
- 00027979  0x000074db call  0x00006dd1 
- 00027980  0x000074dc jam  0x00000018 , 0x00000287 
- 00027981  0x000074dd fetch  0x00000001 , 0x00004251 
- 00027982  0x000074de set1  0x00000000 , 0x0000003f 
- 00027983  0x000074df store  0x00000001 , 0x00004251 
- 00027984  0x000074e0 rtn 
- 00027985  0x000074e2 call  0x00006dd8 
- 00027986  0x000074e3 jam  0x0000001a , 0x00000287 
- 00027987  0x000074e4 fetch  0x00000001 , 0x00004251 
- 00027988  0x000074e5 set1  0x00000002 , 0x0000003f 
- 00027989  0x000074e6 store  0x00000001 , 0x00004251 
- 00027990  0x000074e7 rtn 
- 00027991  0x000074e9 call  0x00006df5 
- 00027992  0x000074ea jam  0x0000001c , 0x00000287 
- 00027993  0x000074eb fetch  0x00000001 , 0x00004251 
- 00027994  0x000074ec set1  0x00000006 , 0x0000003f 
- 00027995  0x000074ed store  0x00000001 , 0x00004251 
- 00027996  0x000074ee rtn 
- 00027997  0x000074f0 call  0x00006dfc 
- 00027998  0x000074f1 fetch  0x00000001 , 0x00004254 
- 00027999  0x000074f2 set1  0x00000000 
- 00028000  0x000074f3 store  0x00000001 , 0x00004254 
- 00028001  0x000074f4 jam  0x0000001e , 0x00000287 
- 00028002  0x000074f5 rtn 
- 00028003  0x000074f7 call  0x00006e02 
- 00028004  0x000074f8 fetch  0x00000001 , 0x00004254 
- 00028005  0x000074f9 set1  0x00000002 
- 00028006  0x000074fa store  0x00000001 , 0x00004254 
- 00028007  0x000074fb jam  0x00000020 , 0x00000287 
- 00028008  0x000074fc fetch  0x00000001 , 0x00004564 
- 00028009  0x000074fd lshift3  0x0000003f , 0x0000003f 
- 00028010  0x000074fe or_into  0x00000003 , 0x0000003f 
- 00028011  0x000074ff arg  0x00004565 , 0x00000002 
- 00028012  0x00007500 storet  0x00000002 , 0x000004f7 
- 00028013  0x00007501 branch  0x00006a35 
- 00028014  0x00007503 call  0x00006e0c 
- 00028015  0x00007504 fetch  0x00000001 , 0x00004254 
- 00028016  0x00007505 set1  0x00000004 
- 00028017  0x00007506 store  0x00000001 , 0x00004254 
- 00028018  0x00007507 jam  0x00000022 , 0x00000287 
- 00028019  0x00007508 rtn 
- 00028020  0x0000750b fetch  0x00000001 , 0x00004250 
- 00028021  0x0000750c rtnbit0  0x00000001 
- 00028022  0x0000750d jam  0x00000003 , 0x00000287 
- 00028023  0x0000750e branch  0x00006cfb 
- 00028024  0x00007510 fetch  0x00000001 , 0x00004250 
- 00028025  0x00007511 rtnne  0x0000003f 
- 00028026  0x00007512 jam  0x0000003b , 0x00000287 
- 00028027  0x00007514 fetch  0x00000001 , 0x00000285 
- 00028028  0x00007515 rtnne  0x00000017 
- 00028029  0x00007516 jam  0x00000000 , 0x00000285 
- 00028030  0x00007517 jam  0x0000000d , 0x00000287 
- 00028031  0x00007518 branch  0x00006cfb 
- 00028032  0x0000751a fetch  0x00000001 , 0x00004250 
- 00028033  0x0000751b nrtn  0x00000034 
- 00028034  0x0000751c fetch  0x00000001 , 0x00004684 
- 00028035  0x0000751d bbit1  0x00000000 , 0x00006daf 
- 00028036  0x0000751e bbit1  0x00000006 , 0x00006db1 
- 00028037  0x0000751f branch  0x00006db5 
- 00028038  0x00007521 fetch  0x00000001 , 0x00004252 
- 00028039  0x00007522 rtnbit0  0x00000001 
- 00028040  0x00007523 jam  0x00000011 , 0x00000287 
- 00028041  0x00007524 branch  0x00006cfb 
- 00028042  0x00007526 fetch  0x00000001 , 0x00004252 
- 00028043  0x00007527 rtnne  0x0000003f 
- 00028044  0x00007528 jam  0x00000013 , 0x00000287 
- 00028045  0x00007529 branch  0x00006cfb 
- 00028046  0x0000752b fetch  0x00000001 , 0x00004253 
- 00028047  0x0000752c rtnbit0  0x00000001 
- 00028048  0x0000752d jam  0x00000015 , 0x00000287 
- 00028049  0x0000752e branch  0x00006cfb 
- 00028050  0x00007530 fetch  0x00000001 , 0x00004253 
- 00028051  0x00007531 rtnne  0x0000003f 
- 00028052  0x00007532 fetch  0x00000001 , 0x00004684 
- 00028053  0x00007533 bbit1  0x00000006 , 0x00006db1 
- 00028054  0x00007534 branch  0x00006db5 
- 00028055  0x00007536 fetch  0x00000001 , 0x00004251 
- 00028056  0x00007537 rtnbit0  0x00000001 
- 00028057  0x00007538 jam  0x00000019 , 0x00000287 
- 00028058  0x00007539 branch  0x00006cfb 
- 00028059  0x0000753b fetch  0x00000001 , 0x00004251 
- 00028060  0x0000753c rtnne  0x0000003f 
- 00028061  0x0000753d jam  0x0000001b , 0x00000287 
- 00028062  0x0000753e branch  0x00006cfb 
- 00028063  0x00007540 fetch  0x00000001 , 0x00004251 
- 00028064  0x00007541 rtnne  0x000000ff 
- 00028065  0x00007542 fetch  0x00000001 , 0x00004684 
- 00028066  0x00007543 bbit1  0x00000006 , 0x00006db3 
- 00028067  0x00007544 branch  0x00006db5 
- 00028068  0x00007546 fetch  0x00000001 , 0x00004254 
- 00028069  0x00007547 rtnbit0  0x00000001 
- 00028070  0x00007548 jam  0x0000001f , 0x00000287 
- 00028071  0x00007549 branch  0x00006cfb 
- 00028072  0x0000754b fetch  0x00000001 , 0x00004254 
- 00028073  0x0000754c rtnbit0  0x00000003 
- 00028074  0x0000754d jam  0x00000021 , 0x00000287 
- 00028075  0x0000754e branch  0x00006cfb 
- 00028076  0x00007550 fetch  0x00000001 , 0x00004254 
- 00028077  0x00007551 rtnne  0x000000ff 
- 00028078  0x00007552 branch  0x00006db5 
- 00028079  0x00007555 jam  0x0000000f , 0x00000287 
- 00028080  0x00007556 branch  0x00006cfb 
- 00028081  0x00007559 jam  0x00000017 , 0x00000287 
- 00028082  0x0000755a branch  0x00006cfb 
- 00028083  0x0000755c jam  0x0000001d , 0x00000287 
- 00028084  0x0000755d branch  0x00006cfb 
- 00028085  0x00007562 jam  0x00000000 , 0x00000287 
- 00028086  0x00007563 rtn 
- 00028087  0x00007565 bpatchx  0x000000bf , 0x00004037 
- 00028088  0x00007566 call  0x000052b8 
- 00028089  0x00007567 setarg  0x00000001 
- 00028090  0x00007568 copy  0x0000003f , 0x00000002 
- 00028091  0x00007569 setarg  0x00000050 
- 00028092  0x0000756a copy  0x0000003f , 0x0000000b 
- 00028093  0x0000756b branch  0x000050a8 
- 00028094  0x0000756e bpatchx  0x000000c0 , 0x00004038 
- 00028095  0x0000756f call  0x000052b8 
- 00028096  0x00007570 fetch  0x00000002 , 0x00004248 
- 00028097  0x00007571 copy  0x0000003f , 0x00000002 
- 00028098  0x00007572 branch  0x000050b7 
- 00028099  0x00007575 bpatchx  0x000000c1 , 0x00004038 
- 00028100  0x00007576 call  0x000052b8 
- 00028101  0x00007577 fetch  0x00000002 , 0x00004248 
- 00028102  0x00007578 copy  0x0000003f , 0x00000002 
- 00028103  0x00007579 arg  0x00000050 , 0x0000000b 
- 00028104  0x0000757a call  0x000050cc 
- 00028105  0x0000757b fetch  0x00000001 , 0x00004250 
- 00028106  0x0000757c set0  0x00000005 , 0x0000003f 
- 00028107  0x0000757d store  0x00000001 , 0x00004250 
- 00028108  0x0000757e rtn 
- 00028109  0x00007581 bpatchx  0x000000c2 , 0x00004038 
- 00028110  0x00007582 call  0x000052c5 
- 00028111  0x00007583 call  0x00007138 
- 00028112  0x00007584 branch  0x000050e7 
- 00028113  0x00007587 bpatchx  0x000000c3 , 0x00004038 
- 00028114  0x00007588 call  0x000052b8 
- 00028115  0x00007589 setarg  0x00000003 
- 00028116  0x0000758a copy  0x0000003f , 0x00000002 
- 00028117  0x0000758b setarg  0x00000051 
- 00028118  0x0000758c copy  0x0000003f , 0x0000000b 
- 00028119  0x0000758d branch  0x000050a8 
- 00028120  0x00007590 bpatchx  0x000000c4 , 0x00004038 
- 00028121  0x00007591 call  0x000052b8 
- 00028122  0x00007592 fetch  0x00000002 , 0x0000424a 
- 00028123  0x00007593 copy  0x0000003f , 0x00000002 
- 00028124  0x00007594 branch  0x000050b7 
- 00028125  0x00007597 bpatchx  0x000000c5 , 0x00004038 
- 00028126  0x00007598 call  0x000052b8 
- 00028127  0x00007599 setarg  0x00000011 
- 00028128  0x0000759a copy  0x0000003f , 0x00000002 
- 00028129  0x0000759b setarg  0x00000052 
- 00028130  0x0000759c copy  0x0000003f , 0x0000000b 
- 00028131  0x0000759d branch  0x000050a8 
- 00028132  0x000075a0 bpatchx  0x000000c6 , 0x00004038 
- 00028133  0x000075a1 call  0x000052b8 
- 00028134  0x000075a2 fetch  0x00000002 , 0x0000424c 
- 00028135  0x000075a3 copy  0x0000003f , 0x00000002 
- 00028136  0x000075a4 branch  0x000050b7 
- 00028137  0x000075a7 bpatchx  0x000000c7 , 0x00004038 
- 00028138  0x000075a8 call  0x000052b8 
- 00028139  0x000075a9 setarg  0x00000013 
- 00028140  0x000075aa copy  0x0000003f , 0x00000002 
- 00028141  0x000075ab setarg  0x00000053 
- 00028142  0x000075ac copy  0x0000003f , 0x0000000b 
- 00028143  0x000075ad branch  0x000050a8 
- 00028144  0x000075b0 bpatchx  0x000000c8 , 0x00004039 
- 00028145  0x000075b1 call  0x000052b8 
- 00028146  0x000075b2 fetch  0x00000002 , 0x0000424e 
- 00028147  0x000075b3 copy  0x0000003f , 0x00000002 
- 00028148  0x000075b4 branch  0x000050b7 
- 00028149  0x000075b7 bpatchx  0x000000c9 , 0x00004039 
- 00028150  0x000075b8 call  0x000052d2 
- 00028151  0x000075ba jam  0x00000003 , 0x000004fb 
- 00028152  0x000075bb jam  0x0000001c , 0x000004fe 
- 00028153  0x000075bc call  0x00006ba9 
- 00028154  0x000075bd jam  0x00000001 , 0x00004563 
- 00028155  0x000075be rtn 
- 00028156  0x000075c1 bpatchx  0x000000ca , 0x00004039 
- 00028157  0x000075c2 call  0x000052d2 
- 00028158  0x000075c3 fetcht  0x00000001 , 0x00004564 
- 00028159  0x000075c4 call  0x00006a79 
- 00028160  0x000075c5 storet  0x00000001 , 0x0000455d 
- 00028161  0x000075c6 branch  0x00006bc4 
- 00028162  0x000075c9 bpatchx  0x000000cb , 0x00004039 
- 00028163  0x000075ca call  0x000052d2 
- 00028164  0x000075cb fetcht  0x00000001 , 0x0000455d 
- 00028165  0x000075cc call  0x00006a73 
- 00028166  0x000075cd call  0x00006a1a 
- 00028167  0x000075ce store  0x00000001 , 0x000004fe 
- 00028168  0x000075cf fetcht  0x00000001 , 0x0000455d 
- 00028169  0x000075d0 call  0x00006a73 
- 00028170  0x000075d1 storet  0x00000001 , 0x000004fb 
- 00028171  0x000075d2 branch  0x00006ba9 
- 00028172  0x000075d5 bpatchx  0x000000cc , 0x00004039 
- 00028173  0x000075d6 call  0x000052d2 
- 00028174  0x000075d7 fetcht  0x00000001 , 0x0000455d 
- 00028175  0x000075d8 call  0x00006a73 
- 00028176  0x000075d9 branch  0x00006bfc 
- 00028177  0x000075e7 bpatchx  0x000000cd , 0x00004039 
- 00028178  0x000075e8 fetch  0x00000002 , 0x00000264 
- 00028179  0x000075e9 iforce  0x00000006 
- 00028180  0x000075ec ifetch  0x00000001 , 0x00000006 
- 00028181  0x000075ed copy  0x0000003f , 0x00000012 
- 00028182  0x000075ee store  0x00000001 , 0x0000051b 
- 00028183  0x000075ef ifetch  0x00000002 , 0x00000006 
- 00028184  0x000075f0 store  0x00000002 , 0x0000051c 
- 00028185  0x000075f1 ifetch  0x00000001 , 0x00000006 
- 00028186  0x000075f2 lshift8  0x0000003f , 0x0000000b 
- 00028187  0x000075f3 ifetch  0x00000001 , 0x00000006 
- 00028188  0x000075f4 iadd  0x0000000b , 0x0000000b 
- 00028189  0x000075f5 bpatchx  0x000000ce , 0x00004039 
- 00028190  0x000075f6 copy  0x00000006 , 0x00000002 
- 00028191  0x000075f7 arg  0x00000004 , 0x00000039 
- 00028192  0x000075f8 arg  0x0000052a , 0x00000005 
- 00028193  0x000075f9 call  0x00007ec6 
- 00028194  0x000075fa copy  0x00000002 , 0x00000006 
- 00028195  0x000075fb deposit  0x00000012 
- 00028196  0x000075fc beq  0x00000001 , 0x00006fba 
- 00028197  0x000075fd beq  0x00000002 , 0x00006e2c 
- 00028198  0x000075fe beq  0x00000003 , 0x00006fba 
- 00028199  0x000075ff beq  0x00000004 , 0x00006e54 
- 00028200  0x00007600 beq  0x00000005 , 0x00006fba 
- 00028201  0x00007601 beq  0x00000006 , 0x00006f02 
- 00028202  0x00007602 beq  0x00000007 , 0x00006fba 
- 00028203  0x00007603 branch  0x00006fc1 
- 00028204  0x0000760f bpatchx  0x000000cf , 0x00004039 
- 00028205  0x00007610 call  0x00006fd0 
- 00028206  0x00007611 compare  0x00000001 , 0x00000002 , 0x000000ff 
- 00028207  0x00007612 branch  0x00007040 , 0x00000001 
- 00028208  0x00007613 compare  0x000000ff , 0x00000002 , 0x000000ff 
- 00028209  0x00007614 branch  0x00006fc4 , 0x00000001 
- 00028210  0x00007616 ifetch  0x00000002 , 0x00000006 
- 00028211  0x00007617 store  0x00000002 , 0x00000522 
- 00028212  0x00007618 increase  0xfffffffe , 0x0000000b 
- 00028213  0x0000761a increase  0xffffffff , 0x0000000b 
- 00028214  0x0000761b nbranch  0x00006fbe , 0x00000005 
- 00028215  0x0000761c arg  0x00000511 , 0x0000000b 
- 00028216  0x0000761d ifetch  0x00000002 , 0x0000000b 
- 00028217  0x0000761e rtn  0x00000034 
- 00028218  0x0000761f call  0x00007082 
- 00028219  0x00007620 call  0x000052d0 
- 00028220  0x00007621 force  0x00000003 , 0x0000003f 
- 00028221  0x00007622 istore  0x00000001 , 0x00000005 
- 00028222  0x00007623 fetch  0x00000002 , 0x0000051c 
- 00028223  0x00007624 istore  0x00000002 , 0x00000005 
- 00028224  0x00007625 lshift2  0x00000007 , 0x0000003f 
- 00028225  0x00007626 add  0x0000003f , 0x00000005 , 0x0000003f 
- 00028226  0x00007627 add  0x0000003f , 0x00000005 , 0x00000013 
- 00028227  0x00007628 byteswap  0x0000003f , 0x0000003f 
- 00028228  0x00007629 istore  0x00000002 , 0x00000005 
- 00028229  0x0000762a deposit  0x00000007 
- 00028230  0x0000762b byteswap  0x0000003f , 0x0000003f 
- 00028231  0x0000762c istore  0x00000002 , 0x00000005 
- 00028232  0x0000762d istore  0x00000002 , 0x00000005 
- 00028233  0x0000762e arg  0x0000052a , 0x00000006 
- 00028234  0x0000762f copy  0x00000007 , 0x00000039 
- 00028235  0x00007630 branch  0x00006e4f , 0x00000005 
- 00028236  0x00007632 ifetch  0x00000004 , 0x00000006 
- 00028237  0x00007633 istore  0x00000004 , 0x00000005 
- 00028238  0x00007634 loop  0x00006e4c 
- 00028239  0x00007636 force  0x00000000 , 0x0000003f 
- 00028240  0x00007637 istore  0x00000001 , 0x00000005 
- 00028241  0x00007638 deposit  0x00000013 
- 00028242  0x00007639 store  0x00000002 , 0x00000275 
- 00028243  0x0000763b rtn 
- 00028244  0x00007647 bpatchx  0x000000d0 , 0x0000403a 
- 00028245  0x00007648 ifetch  0x00000004 , 0x00000006 
- 00028246  0x00007649 store  0x00000004 , 0x00000524 
- 00028247  0x0000764a increase  0xfffffffc , 0x0000000b 
- 00028248  0x0000764b call  0x00006f2e 
- 00028249  0x0000764c store  0x00000002 , 0x00000520 
- 00028250  0x0000764d increase  0xfffffffe , 0x0000000b 
- 00028251  0x0000764e call  0x00007028 
- 00028252  0x0000764f branch  0x00006fc4 , 0x00000005 
- 00028253  0x00007650 compare  0x00000005 , 0x00000011 , 0x000000ff 
- 00028254  0x00007652 branch  0x00006e62 , 0x00000001 
- 00028255  0x00007654 arg  0x0000052a , 0x00000005 
- 00028256  0x00007655 force  0x00000000 , 0x00000007 
- 00028257  0x00007656 branch  0x00006e71 
- 00028258  0x00007658 ifetch  0x00000001 , 0x00000006 
- 00028259  0x00007659 bne  0x0000000a , 0x00006fc4 
- 00028260  0x0000765a ifetch  0x00000002 , 0x00000006 
- 00028261  0x0000765b nbranch  0x00006e6f , 0x00000034 
- 00028262  0x0000765c ifetch  0x00000001 , 0x00000006 
- 00028263  0x0000765d bne  0x000000ff , 0x00006e6d 
- 00028264  0x0000765e ifetch  0x00000001 , 0x00000006 
- 00028265  0x0000765f bne  0x000000ff , 0x00006e6b 
- 00028266  0x00007660 branch  0x00006eb8 
- 00028267  0x00007662 increase  0xfffffffb , 0x00000006 
- 00028268  0x00007663 branch  0x00006e5f 
- 00028269  0x00007665 increase  0xfffffffc , 0x00000006 
- 00028270  0x00007666 branch  0x00006e5f 
- 00028271  0x00007668 increase  0xfffffffd , 0x00000006 
- 00028272  0x00007669 branch  0x00006e5f 
- 00028273  0x0000766b ifetch  0x00000001 , 0x00000006 
- 00028274  0x0000766c beq  0x00000009 , 0x00006e86 
- 00028275  0x0000766d beq  0x0000000a , 0x00006e74 
- 00028276  0x0000766f ifetch  0x00000002 , 0x00000006 
- 00028277  0x00007670 istore  0x00000002 , 0x00000005 
- 00028278  0x00007671 increase  0x00000001 , 0x00000007 
- 00028279  0x00007672 byteswap  0x0000003f , 0x00000012 
- 00028280  0x00007673 ifetch  0x00000002 , 0x00000006 
- 00028281  0x00007674 byteswap  0x0000003f , 0x0000003f 
- 00028282  0x00007676 increase  0x00000001 , 0x00000012 
- 00028283  0x00007677 isub  0x00000012 , 0x0000003e 
- 00028284  0x00007678 nbranch  0x00006e83 , 0x00000002 
- 00028285  0x00007679 copy  0x0000003f , 0x00000013 
- 00028286  0x0000767a byteswap  0x00000012 , 0x0000003f 
- 00028287  0x0000767b istore  0x00000002 , 0x00000005 
- 00028288  0x0000767c increase  0x00000001 , 0x00000007 
- 00028289  0x0000767d copy  0x00000013 , 0x0000003f 
- 00028290  0x0000767e branch  0x00006e7a 
- 00028291  0x00007680 increase  0xfffffffb , 0x0000000b 
- 00028292  0x00007681 increase  0xfffffffb , 0x00000011 
- 00028293  0x00007682 branch  0x00006e8b 
- 00028294  0x00007684 ifetch  0x00000002 , 0x00000006 
- 00028295  0x00007685 istore  0x00000002 , 0x00000005 
- 00028296  0x00007686 increase  0x00000001 , 0x00000007 
- 00028297  0x00007687 increase  0xfffffffd , 0x0000000b 
- 00028298  0x00007688 increase  0xfffffffd , 0x00000011 
- 00028299  0x0000768a nbranch  0x00006fc4 , 0x00000002 
- 00028300  0x0000768b nbranch  0x00006e71 , 0x00000005 
- 00028301  0x0000768c increase  0xffffffff , 0x0000000b 
- 00028302  0x0000768d nbranch  0x00006fc4 , 0x00000005 
- 00028303  0x0000768f call  0x000052d0 
- 00028304  0x00007690 increase  0x0000000a , 0x00000005 
- 00028305  0x00007691 arg  0x0000052a , 0x00000011 
- 00028306  0x00007693 copy  0x00000007 , 0x0000003f 
- 00028307  0x00007694 branch  0x00006ea5 , 0x00000034 
- 00028308  0x00007695 ifetch  0x00000002 , 0x00000011 
- 00028309  0x00007696 branch  0x00006ea5 , 0x00000034 
- 00028310  0x00007697 iforce  0x00000012 
- 00028311  0x00007698 fetch  0x00000004 , 0x00000524 
- 00028312  0x00007699 iforce  0x00000002 
- 00028313  0x0000769a call  0x000070e7 
- 00028314  0x0000769b copy  0x00000006 , 0x0000003f 
- 00028315  0x0000769c branch  0x00006ea2 , 0x00000034 
- 00028316  0x0000769d increase  0xfffffffd , 0x00000006 
- 00028317  0x0000769e ifetch  0x00000003 , 0x00000006 
- 00028318  0x0000769f istore  0x00000003 , 0x00000005 
- 00028319  0x000076a0 call  0x0000705b 
- 00028320  0x000076a1 iforce  0x00000039 
- 00028321  0x000076a2 call  0x00007f01 
- 00028322  0x000076a4 increase  0x00000002 , 0x00000011 
- 00028323  0x000076a5 increase  0xffffffff , 0x00000007 
- 00028324  0x000076a6 branch  0x00006e92 
- 00028325  0x000076a9 arg  0x00000005 , 0x00000011 
- 00028326  0x000076aa call  0x00006f84 
- 00028327  0x000076ab fetch  0x00000002 , 0x00000275 
- 00028328  0x000076ac beq  0x0000000b , 0x00007043 
- 00028329  0x000076ad branch  0x00006f9a 
- 00028330  0x000076b1 ifetch  0x00000001 , 0x00000006 
- 00028331  0x000076b2 beq  0x00000000 , 0x00006eae 
- 00028332  0x000076b3 beq  0x00000001 , 0x00006eb0 
- 00028333  0x000076b4 beq  0x00000002 , 0x00006eb3 
- 00028334  0x000076b6 increase  0xffffffff , 0x0000000b 
- 00028335  0x000076b7 branch  0x00006eb6 
- 00028336  0x000076b9 ifetch  0x00000001 , 0x00000006 
- 00028337  0x000076ba increase  0xfffffffe , 0x0000000b 
- 00028338  0x000076bb branch  0x00006eb6 
- 00028339  0x000076bd ifetch  0x00000002 , 0x00000006 
- 00028340  0x000076be byteswap  0x0000003f , 0x0000003f 
- 00028341  0x000076bf increase  0xfffffffd , 0x0000000b 
- 00028342  0x000076c1 store  0x00000002 , 0x00000519 
- 00028343  0x000076c2 rtn 
- 00028344  0x000076c5 increase  0xfffffffb , 0x0000000b 
- 00028345  0x000076c6 call  0x00006eaa 
- 00028346  0x000076c7 nbranch  0x00006fbe , 0x00000005 
- 00028347  0x000076c8 fetcht  0x00000004 , 0x00000524 
- 00028348  0x000076c9 call  0x000070b1 
- 00028349  0x000076ca nbranch  0x00006fbb , 0x00000005 
- 00028350  0x000076cb copy  0x00000006 , 0x00000011 
- 00028351  0x000076cc call  0x000052d0 
- 00028352  0x000076cd copy  0x00000011 , 0x00000006 
- 00028353  0x000076ce increase  0x00000003 , 0x00000005 
- 00028354  0x000076cf copy  0x00000006 , 0x0000000b 
- 00028355  0x000076d0 call  0x00007062 
- 00028356  0x000076d1 copy  0x0000003f , 0x00000011 
- 00028357  0x000076d3 fetch  0x00000002 , 0x00000519 
- 00028358  0x000076d4 copy  0x0000003f , 0x00000012 
- 00028359  0x000076d5 copy  0x00000011 , 0x0000003f 
- 00028360  0x000076d6 isub  0x00000012 , 0x00000012 
- 00028361  0x000076d7 fetch  0x00000002 , 0x00000520 
- 00028362  0x000076d8 isub  0x00000012 , 0x0000003e 
- 00028363  0x000076d9 nbranch  0x00006ee7 , 0x00000002 
- 00028364  0x000076db disable  0x00000028 
- 00028365  0x000076dc fetch  0x00000002 , 0x00000519 
- 00028366  0x000076dd branch  0x00006eda , 0x00000034 
- 00028367  0x000076de iadd  0x0000000b , 0x00000006 
- 00028368  0x000076df increase  0x00000003 , 0x00000012 
- 00028369  0x000076e0 copy  0x00000012 , 0x00000039 
- 00028370  0x000076e1 copy  0x00000039 , 0x0000003f 
- 00028371  0x000076e2 increase  0x00000003 , 0x0000003f 
- 00028372  0x000076e3 byteswap  0x0000003f , 0x0000003f 
- 00028373  0x000076e4 istore  0x00000002 , 0x00000005 
- 00028374  0x000076e5 copy  0x00000039 , 0x0000003f 
- 00028375  0x000076e6 byteswap  0x0000003f , 0x0000003f 
- 00028376  0x000076e7 istore  0x00000002 , 0x00000005 
- 00028377  0x000076e8 branch  0x00006ef5 
- 00028378  0x000076ea add  0x00000011 , 0x00000006 , 0x00000039 
- 00028379  0x000076eb branch  0x00006ede , 0x00000028 
- 00028380  0x000076ec byteswap  0x00000039 , 0x0000003f 
- 00028381  0x000076ed branch  0x00006ee1 
- 00028382  0x000076ef copy  0x00000039 , 0x0000003f 
- 00028383  0x000076f0 increase  0x00000002 , 0x0000003f 
- 00028384  0x000076f1 byteswap  0x0000003f , 0x0000003f 
- 00028385  0x000076f3 istore  0x00000002 , 0x00000005 
- 00028386  0x000076f4 increase  0xfffffffd , 0x00000039 
- 00028387  0x000076f5 byteswap  0x00000039 , 0x0000003f 
- 00028388  0x000076f6 istore  0x00000002 , 0x00000005 
- 00028389  0x000076f7 copy  0x0000000b , 0x00000006 
- 00028390  0x000076f8 branch  0x00006ef5 
- 00028391  0x000076fa enable  0x00000028 
- 00028392  0x000076fc fetch  0x00000002 , 0x00000520 
- 00028393  0x000076fd copy  0x0000003f , 0x00000011 
- 00028394  0x000076fe copy  0x00000011 , 0x00000039 
- 00028395  0x000076ff fetch  0x00000002 , 0x00000519 
- 00028396  0x00007700 branch  0x00006eda , 0x00000034 
- 00028397  0x00007701 iadd  0x0000000b , 0x00000006 
- 00028398  0x00007702 copy  0x00000011 , 0x0000003f 
- 00028399  0x00007703 increase  0x00000005 , 0x0000003f 
- 00028400  0x00007704 byteswap  0x0000003f , 0x0000003f 
- 00028401  0x00007705 istore  0x00000002 , 0x00000005 
- 00028402  0x00007706 copy  0x00000011 , 0x0000003f 
- 00028403  0x00007707 byteswap  0x0000003f , 0x0000003f 
- 00028404  0x00007708 istore  0x00000002 , 0x00000005 
- 00028405  0x0000770a call  0x00007f01 
- 00028406  0x0000770b nbranch  0x00006efe , 0x00000028 
- 00028407  0x0000770c force  0x00000002 , 0x0000003f 
- 00028408  0x0000770d istore  0x00000001 , 0x00000005 
- 00028409  0x0000770e copy  0x00000006 , 0x0000003f 
- 00028410  0x0000770f isub  0x0000000b , 0x0000003f 
- 00028411  0x00007710 byteswap  0x0000003f , 0x0000003f 
- 00028412  0x00007711 istore  0x00000002 , 0x00000005 
- 00028413  0x00007712 branch  0x00006f00 
- 00028414  0x00007714 force  0x00000000 , 0x0000003f 
- 00028415  0x00007715 istore  0x00000001 , 0x00000005 
- 00028416  0x00007717 arg  0x00000005 , 0x00000011 
- 00028417  0x00007718 branch  0x00006fb0 
- 00028418  0x00007724 bpatchx  0x000000d1 , 0x0000403a 
- 00028419  0x00007725 call  0x00006fd0 
- 00028420  0x00007726 compare  0x000000ff , 0x00000002 , 0x000000ff 
- 00028421  0x00007727 branch  0x00006fc4 , 0x00000001 
- 00028422  0x00007728 call  0x00006f2e 
- 00028423  0x00007729 store  0x00000002 , 0x00000520 
- 00028424  0x0000772a increase  0xfffffffe , 0x0000000b 
- 00028425  0x0000772b call  0x00007028 
- 00028426  0x0000772c arg  0x0000052a , 0x00000005 
- 00028427  0x0000772d force  0x00000000 , 0x00000007 
- 00028428  0x0000772f ifetch  0x00000001 , 0x00000006 
- 00028429  0x00007730 beq  0x0000000a , 0x00006f36 
- 00028430  0x00007731 ifetch  0x00000002 , 0x00000006 
- 00028431  0x00007732 istore  0x00000002 , 0x00000005 
- 00028432  0x00007733 increase  0x00000001 , 0x00000007 
- 00028433  0x00007734 increase  0xfffffffd , 0x0000000b 
- 00028434  0x00007735 increase  0xfffffffd , 0x00000011 
- 00028435  0x00007736 nbranch  0x00006fc4 , 0x00000002 
- 00028436  0x00007737 nbranch  0x00006f0c , 0x00000005 
- 00028437  0x00007738 increase  0xffffffff , 0x0000000b 
- 00028438  0x00007739 nbranch  0x00006fc4 , 0x00000005 
- 00028439  0x0000773a call  0x000052d0 
- 00028440  0x0000773b increase  0x0000000d , 0x00000005 
- 00028441  0x0000773c fetch  0x00000002 , 0x00000511 
- 00028442  0x0000773d iforce  0x00000013 
- 00028443  0x0000773e arg  0x0000052a , 0x00000011 
- 00028444  0x00007740 ifetch  0x00000002 , 0x00000011 
- 00028445  0x00007741 branch  0x00006f29 , 0x00000034 
- 00028446  0x00007742 iforce  0x00000012 
- 00028447  0x00007743 call  0x000070c6 
- 00028448  0x00007744 branch  0x00006f27 , 0x00000034 
- 00028449  0x00007745 increase  0xfffffffd , 0x00000006 
- 00028450  0x00007746 ifetch  0x00000003 , 0x00000006 
- 00028451  0x00007747 istore  0x00000003 , 0x00000005 
- 00028452  0x00007748 call  0x0000705b 
- 00028453  0x00007749 iforce  0x00000039 
- 00028454  0x0000774a call  0x00007f01 
- 00028455  0x0000774c increase  0x00000002 , 0x00000011 
- 00028456  0x0000774d branch  0x00006f1c 
- 00028457  0x00007750 call  0x00006f83 
- 00028458  0x00007751 fetch  0x00000002 , 0x00000275 
- 00028459  0x00007752 beq  0x0000000e , 0x00007046 
- 00028460  0x00007753 call  0x00006f9a 
- 00028461  0x00007754 branch  0x00006f9a 
- 00028462  0x00007758 ifetch  0x00000002 , 0x00000006 
- 00028463  0x00007759 byteswap  0x0000003f , 0x0000003f 
- 00028464  0x0000775a increase  0xfffffffd , 0x0000003f 
- 00028465  0x0000775b arg  0x000000c8 , 0x00000002 
- 00028466  0x0000775c isub  0x00000002 , 0x0000003e 
- 00028467  0x0000775d nrtn  0x00000002 
- 00028468  0x0000775e setarg  0x000000c8 
- 00028469  0x0000775f rtn 
- 00028470  0x00007763 increase  0x00000004 , 0x00000006 
- 00028471  0x00007764 increase  0xfffffffb , 0x0000000b 
- 00028472  0x00007765 increase  0xfffffffb , 0x00000011 
- 00028473  0x00007766 nbranch  0x00006fc4 , 0x00000005 
- 00028474  0x00007767 call  0x00006eaa 
- 00028475  0x00007768 nbranch  0x00006fbe , 0x00000005 
- 00028476  0x00007769 arg  0x00000511 , 0x0000000b 
- 00028477  0x0000776a call  0x00007082 
- 00028478  0x0000776b deposit  0x00000007 
- 00028479  0x0000776c branch  0x00007046 , 0x00000034 
- 00028480  0x0000776d store  0x00000001 , 0x0000054e 
- 00028481  0x0000776f copy  0x00000012 , 0x0000003f 
- 00028482  0x00007770 store  0x00000002 , 0x0000054c 
- 00028483  0x00007771 arg  0x00000000 , 0x00000007 
- 00028484  0x00007772 arg  0x00000000 , 0x00000011 
- 00028485  0x00007773 call  0x000052d0 
- 00028486  0x00007774 increase  0x0000000a , 0x00000005 
- 00028487  0x00007776 call  0x00006f6c 
- 00028488  0x00007777 nbranch  0x00002a8c , 0x00000028 
- 00028489  0x00007778 copy  0x00000006 , 0x0000000b 
- 00028490  0x00007779 copy  0x0000003f , 0x00000013 
- 00028491  0x0000777a iadd  0x00000011 , 0x00000011 
- 00028492  0x0000777d fetch  0x00000002 , 0x00000519 
- 00028493  0x0000777e copy  0x0000003f , 0x00000012 
- 00028494  0x0000777f branch  0x00006f75 , 0x00000034 
- 00028495  0x00007781 copy  0x00000011 , 0x0000003f 
- 00028496  0x00007782 isub  0x00000012 , 0x00000012 
- 00028497  0x00007783 branch  0x00006f67 , 0x00000005 
- 00028498  0x00007784 nbranch  0x00006f67 , 0x00000002 
- 00028499  0x00007785 fetch  0x00000002 , 0x00000520 
- 00028500  0x00007786 isub  0x00000012 , 0x0000003e 
- 00028501  0x00007787 branch  0x00006f5e , 0x00000005 
- 00028502  0x00007788 nbranch  0x00006f5e , 0x00000002 
- 00028503  0x0000778c copy  0x00000012 , 0x00000039 
- 00028504  0x0000778d call  0x00006f61 
- 00028505  0x0000778e fetch  0x00000001 , 0x0000054e 
- 00028506  0x0000778f increase  0x00000001 , 0x00000007 
- 00028507  0x00007790 isub  0x00000007 , 0x0000003e 
- 00028508  0x00007791 branch  0x00006f83 , 0x00000005 
- 00028509  0x00007792 branch  0x00006fa0 
- 00028510  0x00007795 copy  0x0000003f , 0x00000039 
- 00028511  0x00007796 call  0x00006f61 
- 00028512  0x00007797 branch  0x00006fa0 
- 00028513  0x0000779a increase  0xfffffffd , 0x00000005 
- 00028514  0x0000779b copy  0x00000039 , 0x00000002 
- 00028515  0x0000779c copy  0x00000013 , 0x0000003f 
- 00028516  0x0000779d isub  0x00000012 , 0x0000003f 
- 00028517  0x0000779e iadd  0x0000000b , 0x00000006 
- 00028518  0x0000779f branch  0x00007f01 
- 00028519  0x000077a2 fetch  0x00000001 , 0x0000054e 
- 00028520  0x000077a3 increase  0x00000001 , 0x00000007 
- 00028521  0x000077a4 isub  0x00000007 , 0x0000003e 
- 00028522  0x000077a5 rtn  0x00000005 
- 00028523  0x000077a6 branch  0x00006f47 
- 00028524  0x000077a9 call  0x00007fe9 
- 00028525  0x000077aa arg  0x0000052a , 0x00000006 
- 00028526  0x000077ab lshift2  0x00000007 , 0x0000003f 
- 00028527  0x000077ac iadd  0x00000006 , 0x00000006 
- 00028528  0x000077ad ifetcht  0x00000004 , 0x00000006 
- 00028529  0x000077ae call  0x000070b1 
- 00028530  0x000077af nrtn  0x00000005 
- 00028531  0x000077b0 call  0x0000705b 
- 00028532  0x000077b1 branch  0x00007fe7 
- 00028533  0x000077b4 fetch  0x00000002 , 0x00000520 
- 00028534  0x000077b5 isub  0x00000011 , 0x0000003e 
- 00028535  0x000077b6 nbranch  0x00006f8f , 0x00000002 
- 00028536  0x000077b7 copy  0x00000011 , 0x00000039 
- 00028537  0x000077b8 copy  0x00000039 , 0x00000002 
- 00028538  0x000077b9 copy  0x0000000b , 0x00000006 
- 00028539  0x000077ba call  0x00007f01 
- 00028540  0x000077bb fetch  0x00000002 , 0x0000054c 
- 00028541  0x000077bc isub  0x00000011 , 0x0000003e 
- 00028542  0x000077bd branch  0x00006f81 , 0x00000005 
- 00028543  0x000077bf call  0x00006fa0 
- 00028544  0x000077c0 branch  0x00006f94 
- 00028545  0x000077c3 call  0x00006f83 
- 00028546  0x000077c4 branch  0x00006f94 
- 00028547  0x000077c7 arg  0x00000007 , 0x00000011 
- 00028548  0x000077c9 force  0x00000000 , 0x0000003f 
- 00028549  0x000077ca istore  0x00000001 , 0x00000005 
- 00028550  0x000077cb call  0x00006fb0 
- 00028551  0x000077cc fetcht  0x00000002 , 0x00000275 
- 00028552  0x000077cd increase  0xfffffffb , 0x00000002 
- 00028553  0x000077ce byteswap  0x00000002 , 0x0000003f 
- 00028554  0x000077cf istore  0x00000002 , 0x00000005 
- 00028555  0x000077d0 increase  0xfffffffd , 0x00000002 
- 00028556  0x000077d1 byteswap  0x00000002 , 0x0000003f 
- 00028557  0x000077d2 istore  0x00000002 , 0x00000005 
- 00028558  0x000077d3 rtn 
- 00028559  0x000077d6 copy  0x0000003f , 0x00000039 
- 00028560  0x000077d7 copy  0x00000039 , 0x00000002 
- 00028561  0x000077d8 copy  0x0000000b , 0x00000006 
- 00028562  0x000077d9 call  0x00007f01 
- 00028563  0x000077da call  0x00006fa0 
- 00028564  0x000077dc setarg  0x00000036 
- 00028565  0x000077dd istore  0x00000001 , 0x00000005 
- 00028566  0x000077de fetch  0x00000002 , 0x0000054c 
- 00028567  0x000077df byteswap  0x0000003f , 0x0000003f 
- 00028568  0x000077e0 istore  0x00000002 , 0x00000005 
- 00028569  0x000077e1 rtn 
- 00028570  0x000077e4 setarg  0x00000036 
- 00028571  0x000077e5 istore  0x00000001 , 0x00000005 
- 00028572  0x000077e6 increase  0xfffffffd , 0x00000002 
- 00028573  0x000077e7 byteswap  0x00000002 , 0x0000003f 
- 00028574  0x000077e8 istore  0x00000002 , 0x00000005 
- 00028575  0x000077e9 rtn 
- 00028576  0x000077ec arg  0x00000007 , 0x00000011 
- 00028577  0x000077ed setarg  0x00000002 
- 00028578  0x000077ee istore  0x00000001 , 0x00000005 
- 00028579  0x000077ef fetch  0x00000002 , 0x00000519 
- 00028580  0x000077f0 iadd  0x00000002 , 0x00000002 
- 00028581  0x000077f1 byteswap  0x00000002 , 0x0000003f 
- 00028582  0x000077f2 istore  0x00000002 , 0x00000005 
- 00028583  0x000077f3 call  0x00006fb0 
- 00028584  0x000077f4 fetcht  0x00000002 , 0x00000275 
- 00028585  0x000077f5 increase  0xfffffffb , 0x00000002 
- 00028586  0x000077f6 byteswap  0x00000002 , 0x0000003f 
- 00028587  0x000077f7 istore  0x00000002 , 0x00000005 
- 00028588  0x000077f8 increase  0xfffffffb , 0x00000002 
- 00028589  0x000077f9 byteswap  0x00000002 , 0x0000003f 
- 00028590  0x000077fa istore  0x00000002 , 0x00000005 
- 00028591  0x000077fb rtn 
- 00028592  0x000077fe fetch  0x00000002 , 0x00000273 
- 00028593  0x000077ff isub  0x00000005 , 0x0000003f 
- 00028594  0x00007800 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00028595  0x00007801 store  0x00000002 , 0x00000275 
- 00028596  0x00007802 call  0x000052d0 
- 00028597  0x00007803 copy  0x00000011 , 0x0000003f 
- 00028598  0x00007804 istore  0x00000001 , 0x00000005 
- 00028599  0x00007805 fetch  0x00000002 , 0x0000051c 
- 00028600  0x00007806 istore  0x00000002 , 0x00000005 
- 00028601  0x00007807 rtn 
- 00028602  0x00007818 rtn 
- 00028603  0x0000783a setarg  0x00000200 
- 00028604  0x0000783b store  0x00000002 , 0x0000054a 
- 00028605  0x0000783c branch  0x00006fc6 
- 00028606  0x0000783e setarg  0x00000400 
- 00028607  0x0000783f store  0x00000002 , 0x0000054a 
- 00028608  0x00007840 branch  0x00006fc6 
- 00028609  0x00007842 setarg  0x00000600 
- 00028610  0x00007843 store  0x00000002 , 0x0000054a 
- 00028611  0x00007844 branch  0x00006fc6 
- 00028612  0x00007846 setarg  0x00000300 
- 00028613  0x00007847 store  0x00000002 , 0x0000054a 
- 00028614  0x00007849 call  0x000052d0 
- 00028615  0x0000784a istore  0x00000001 , 0x00000005 
- 00028616  0x0000784b fetch  0x00000002 , 0x0000051c 
- 00028617  0x0000784c istore  0x00000002 , 0x00000005 
- 00028618  0x0000784d setarg  0x00000200 
- 00028619  0x0000784e istore  0x00000002 , 0x00000005 
- 00028620  0x0000784f fetch  0x00000002 , 0x0000054a 
- 00028621  0x00007850 istore  0x00000002 , 0x00000005 
- 00028622  0x00007851 jam  0x00000007 , 0x00000275 
- 00028623  0x00007852 rtn 
- 00028624  0x00007858 arg  0x00000000 , 0x00000012 
- 00028625  0x00007859 force  0x00000000 , 0x00000002 
- 00028626  0x0000785a arg  0x00000511 , 0x00000005 
- 00028627  0x0000785b call  0x00007028 
- 00028628  0x0000785c branch  0x00007026 , 0x00000005 
- 00028629  0x0000785e increase  0x00000001 , 0x00000012 
- 00028630  0x0000785f ifetch  0x00000001 , 0x00000006 
- 00028631  0x00007860 increase  0xffffffff , 0x00000011 
- 00028632  0x00007861 increase  0xffffffff , 0x0000000b 
- 00028633  0x00007862 compare  0x00000018 , 0x0000003f , 0x000000f8 
- 00028634  0x00007863 nbranch  0x00007026 , 0x00000001 
- 00028635  0x00007864 compare  0x00000004 , 0x0000003f , 0x00000007 
- 00028636  0x00007865 nbranch  0x00006ff3 , 0x00000001 
- 00028637  0x00007866 force  0x00000001 , 0x00000002 
- 00028638  0x00007868 ifetch  0x00000001 , 0x00000006 
- 00028639  0x00007869 increase  0xffffffff , 0x00000011 
- 00028640  0x0000786a increase  0xffffffff , 0x0000000b 
- 00028641  0x0000786b bne  0x00000000 , 0x00006fe7 
- 00028642  0x0000786c ifetch  0x00000001 , 0x00000006 
- 00028643  0x0000786d increase  0xffffffff , 0x00000011 
- 00028644  0x0000786e increase  0xffffffff , 0x0000000b 
- 00028645  0x0000786f beq  0x00000000 , 0x00006ff8 
- 00028646  0x00007870 branch  0x00006fea 
- 00028647  0x00007872 increase  0x00000001 , 0x00000006 
- 00028648  0x00007873 increase  0xffffffff , 0x00000011 
- 00028649  0x00007874 increase  0xffffffff , 0x0000000b 
- 00028650  0x00007876 increase  0x00000002 , 0x00000006 
- 00028651  0x00007877 increase  0xfffffffe , 0x00000011 
- 00028652  0x00007878 increase  0xfffffffe , 0x0000000b 
- 00028653  0x00007879 compare  0x00000000 , 0x00000002 , 0x000000ff 
- 00028654  0x0000787a branch  0x00007020 , 0x00000001 
- 00028655  0x0000787b increase  0x0000000c , 0x00000006 
- 00028656  0x0000787c increase  0xfffffff4 , 0x00000011 
- 00028657  0x0000787d increase  0xfffffff4 , 0x0000000b 
- 00028658  0x0000787e branch  0x00007020 
- 00028659  0x00007880 compare  0x00000002 , 0x0000003f , 0x00000007 
- 00028660  0x00007881 nbranch  0x00006ff6 , 0x00000001 
- 00028661  0x00007882 branch  0x00006fde 
- 00028662  0x00007884 compare  0x00000001 , 0x0000003f , 0x00000007 
- 00028663  0x00007885 nbranch  0x00007026 , 0x00000001 
- 00028664  0x00007887 increase  0xfffffffe , 0x00000011 
- 00028665  0x00007888 increase  0xfffffffe , 0x0000000b 
- 00028666  0x00007889 ifetch  0x00000002 , 0x00000006 
- 00028667  0x0000788a sub  0x00000012 , 0x00000004 , 0x0000003e 
- 00028668  0x0000788b branch  0x00006ffe , 0x00000005 
- 00028669  0x0000788c istore  0x00000002 , 0x00000005 
- 00028670  0x0000788e compare  0x00000000 , 0x00000002 , 0x000000ff 
- 00028671  0x0000788f branch  0x00007020 , 0x00000001 
- 00028672  0x00007890 copy  0x00000006 , 0x00000002 
- 00028673  0x00007891 ifetch  0x00000001 , 0x00000006 
- 00028674  0x00007892 bne  0x00000000 , 0x00007019 
- 00028675  0x00007893 ifetch  0x00000001 , 0x00000006 
- 00028676  0x00007894 bne  0x00000000 , 0x00007019 
- 00028677  0x00007895 ifetch  0x00000001 , 0x00000006 
- 00028678  0x00007896 bne  0x00000010 , 0x00007019 
- 00028679  0x00007897 ifetch  0x00000001 , 0x00000006 
- 00028680  0x00007898 bne  0x00000000 , 0x00007019 
- 00028681  0x00007899 ifetch  0x00000001 , 0x00000006 
- 00028682  0x0000789a bne  0x00000080 , 0x00007019 
- 00028683  0x0000789b ifetch  0x00000001 , 0x00000006 
- 00028684  0x0000789c bne  0x00000000 , 0x00007019 
- 00028685  0x0000789d ifetch  0x00000001 , 0x00000006 
- 00028686  0x0000789e bne  0x00000000 , 0x00007019 
- 00028687  0x0000789f ifetch  0x00000001 , 0x00000006 
- 00028688  0x000078a0 bne  0x00000080 , 0x00007019 
- 00028689  0x000078a1 ifetch  0x00000001 , 0x00000006 
- 00028690  0x000078a2 bne  0x0000005f , 0x00007019 
- 00028691  0x000078a3 ifetch  0x00000001 , 0x00000006 
- 00028692  0x000078a4 bne  0x0000009b , 0x00007019 
- 00028693  0x000078a5 ifetch  0x00000001 , 0x00000006 
- 00028694  0x000078a6 bne  0x00000034 , 0x00007019 
- 00028695  0x000078a7 ifetch  0x00000001 , 0x00000006 
- 00028696  0x000078a8 beq  0x000000fb , 0x0000701e 
- 00028697  0x000078aa copy  0x00000002 , 0x00000006 
- 00028698  0x000078ac increase  0x0000000c , 0x00000006 
- 00028699  0x000078ad force  0x00000000 , 0x00000007 
- 00028700  0x000078ae force  0x00000000 , 0x00000002 
- 00028701  0x000078af branch  0x0000701e 
- 00028702  0x000078b2 increase  0xfffffff4 , 0x0000000b 
- 00028703  0x000078b3 increase  0xfffffff4 , 0x00000011 
- 00028704  0x000078b5 force  0x00000000 , 0x00000002 
- 00028705  0x000078b6 compare  0x00000000 , 0x00000011 , 0x000000ff 
- 00028706  0x000078b7 nbranch  0x00006fd5 , 0x00000001 
- 00028707  0x000078b8 force  0x00000000 , 0x0000003f 
- 00028708  0x000078b9 istore  0x00000002 , 0x00000005 
- 00028709  0x000078ba rtn 
- 00028710  0x000078bc arg  0x000000ff , 0x00000002 
- 00028711  0x000078bd rtn 
- 00028712  0x000078c8 bpatchx  0x000000d4 , 0x0000403a 
- 00028713  0x000078c9 ifetch  0x00000001 , 0x00000006 
- 00028714  0x000078ca increase  0xffffffff , 0x0000000b 
- 00028715  0x000078cb compare  0x00000030 , 0x0000003f , 0x000000f8 
- 00028716  0x000078cc nbranch  0x0000703e , 0x00000001 
- 00028717  0x000078cd compare  0x00000007 , 0x0000003f , 0x00000007 
- 00028718  0x000078ce branch  0x00007037 , 0x00000001 
- 00028719  0x000078cf compare  0x00000006 , 0x0000003f , 0x00000007 
- 00028720  0x000078d0 branch  0x00007039 , 0x00000001 
- 00028721  0x000078d1 compare  0x00000005 , 0x0000003f , 0x00000007 
- 00028722  0x000078d2 nbranch  0x0000703e , 0x00000001 
- 00028723  0x000078d4 ifetch  0x00000001 , 0x00000006 
- 00028724  0x000078d5 copy  0x0000003f , 0x00000011 
- 00028725  0x000078d6 increase  0xffffffff , 0x0000000b 
- 00028726  0x000078d7 branch  0x0000703c 
- 00028727  0x000078d9 increase  0x00000002 , 0x00000006 
- 00028728  0x000078da increase  0xfffffffe , 0x0000000b 
- 00028729  0x000078dc ifetch  0x00000002 , 0x00000006 
- 00028730  0x000078dd byteswap  0x0000003f , 0x00000011 
- 00028731  0x000078de increase  0xfffffffe , 0x0000000b 
- 00028732  0x000078e0 force  0x00000001 , 0x0000003f 
- 00028733  0x000078e1 rtn 
- 00028734  0x000078e3 force  0x00000000 , 0x0000003f 
- 00028735  0x000078e4 rtn 
- 00028736  0x000078ef setarg  0x00000003 
- 00028737  0x000078f0 store  0x00000001 , 0x0000051b 
- 00028738  0x000078f1 branch  0x00007048 
- 00028739  0x000078f3 setarg  0x00000005 
- 00028740  0x000078f4 store  0x00000001 , 0x0000051b 
- 00028741  0x000078f5 branch  0x00007048 
- 00028742  0x000078f7 setarg  0x00000007 
- 00028743  0x000078f8 store  0x00000001 , 0x0000051b 
- 00028744  0x000078fa call  0x000052d0 
- 00028745  0x000078fd fetch  0x00000001 , 0x0000051b 
- 00028746  0x000078fe copy  0x0000003f , 0x00000012 
- 00028747  0x000078ff istore  0x00000001 , 0x00000005 
- 00028748  0x00007900 fetch  0x00000002 , 0x0000051c 
- 00028749  0x00007901 istore  0x00000002 , 0x00000005 
- 00028750  0x00007902 setarg  0x00000500 
- 00028751  0x00007903 istore  0x00000002 , 0x00000005 
- 00028752  0x00007904 compare  0x00000005 , 0x00000012 , 0x000000ff 
- 00028753  0x00007905 branch  0x00007057 , 0x00000001 
- 00028754  0x00007906 compare  0x00000007 , 0x00000012 , 0x000000ff 
- 00028755  0x00007907 branch  0x00007057 , 0x00000001 
- 00028756  0x00007908 setarg  0x00000000 
- 00028757  0x00007909 istore  0x00000005 , 0x00000005 
- 00028758  0x0000790a branch  0x00007059 
- 00028759  0x0000790d setarg  0x00350200 
- 00028760  0x0000790e istore  0x00000005 , 0x00000005 
- 00028761  0x00007910 jam  0x0000000a , 0x00000275 
- 00028762  0x00007911 rtn 
- 00028763  0x00007915 call  0x00007ea2 
- 00028764  0x00007916 call  0x00007ea5 
- 00028765  0x00007917 call  0x00007062 
- 00028766  0x00007918 call  0x00007e9c 
- 00028767  0x00007919 call  0x00007e9f 
- 00028768  0x0000791a copy  0x00000002 , 0x0000003f 
- 00028769  0x0000791b rtn 
- 00028770  0x0000791f ifetch  0x00000001 , 0x00000006 
- 00028771  0x00007920 and  0x0000003f , 0x00000007 , 0x00000039 
- 00028772  0x00007921 rshift3  0x0000003f , 0x0000003f 
- 00028773  0x00007922 bne  0x00000000 , 0x0000706c 
- 00028774  0x00007924 force  0x00000001 , 0x0000003f 
- 00028775  0x00007925 force  0x00000001 , 0x00000002 
- 00028776  0x00007926 rtn 
- 00028777  0x00007929 call  0x00007e76 
- 00028778  0x0000792a add  0x0000003f , 0x00000001 , 0x00000002 
- 00028779  0x0000792b rtn 
- 00028780  0x0000792d deposit  0x00000039 
- 00028781  0x0000792e sub  0x0000003f , 0x00000004 , 0x0000003e 
- 00028782  0x0000792f branch  0x00007069 , 0x00000002 
- 00028783  0x00007930 beq  0x00000005 , 0x00007073 
- 00028784  0x00007931 beq  0x00000006 , 0x00007076 
- 00028785  0x00007932 beq  0x00000007 , 0x0000707a 
- 00028786  0x00007933 rtn 
- 00028787  0x00007936 ifetch  0x00000001 , 0x00000006 
- 00028788  0x00007937 add  0x0000003f , 0x00000002 , 0x00000002 
- 00028789  0x00007938 rtn 
- 00028790  0x0000793a ifetch  0x00000002 , 0x00000006 
- 00028791  0x0000793b byteswap  0x0000003f , 0x0000003f 
- 00028792  0x0000793c add  0x0000003f , 0x00000003 , 0x00000002 
- 00028793  0x0000793d rtn 
- 00028794  0x0000793f ifetch  0x00000002 , 0x00000006 
- 00028795  0x00007940 byteswap  0x0000003f , 0x0000003f 
- 00028796  0x00007941 ifetcht  0x00000002 , 0x00000006 
- 00028797  0x00007942 byteswap  0x00000002 , 0x00000002 
- 00028798  0x00007943 lshift16  0x00000002 , 0x00000002 
- 00028799  0x00007944 iadd  0x00000002 , 0x0000003f 
- 00028800  0x00007945 add  0x0000003f , 0x00000005 , 0x00000002 
- 00028801  0x00007946 rtn 
- 00028802  0x0000794d bpatchx  0x000000d5 , 0x0000403a 
- 00028803  0x0000794e force  0x00000000 , 0x00000007 
- 00028804  0x0000794f arg  0x00000000 , 0x00000012 
- 00028805  0x00007950 arg  0x0000052a , 0x00000005 
- 00028806  0x00007952 ifetch  0x00000002 , 0x0000000b 
- 00028807  0x00007953 rtn  0x00000034 
- 00028808  0x00007954 call  0x0000708d 
- 00028809  0x00007955 copy  0x00000007 , 0x0000003f 
- 00028810  0x00007956 rtneq  0x00000007 
- 00028811  0x00007957 increase  0x00000002 , 0x0000000b 
- 00028812  0x00007958 branch  0x00007086 
- 00028813  0x0000795c iforce  0x00000013 
- 00028814  0x0000795e fetch  0x00000002 , 0x00004575 
- 00028815  0x0000795f iforce  0x00000006 
- 00028816  0x00007961 copy  0x00000007 , 0x0000003f 
- 00028817  0x00007962 rtneq  0x00000007 
- 00028818  0x00007963 disable  0x00000028 
- 00028819  0x00007964 ifetch  0x00000001 , 0x00000006 
- 00028820  0x00007965 rtn  0x00000034 
- 00028821  0x00007966 iforce  0x00000039 
- 00028822  0x00007968 ifetch  0x00000002 , 0x00000006 
- 00028823  0x00007969 isub  0x00000013 , 0x0000003e 
- 00028824  0x0000796a nbranch  0x0000709a , 0x00000005 
- 00028825  0x0000796b enable  0x00000028 
- 00028826  0x0000796d loop  0x00007096 
- 00028827  0x0000796e ifetcht  0x00000004 , 0x00000006 
- 00028828  0x0000796f copy  0x00000006 , 0x00000011 
- 00028829  0x00007970 nbranch  0x000070ad , 0x00000028 
- 00028830  0x00007971 arg  0x0000052a , 0x00000006 
- 00028831  0x00007972 arg  0x00000007 , 0x00000039 
- 00028832  0x00007974 ifetch  0x00000004 , 0x00000006 
- 00028833  0x00007975 branch  0x000070a6 , 0x00000034 
- 00028834  0x00007976 isub  0x00000002 , 0x0000003e 
- 00028835  0x00007977 branch  0x000070ad , 0x00000005 
- 00028836  0x00007978 loop  0x000070a0 
- 00028837  0x00007979 rtn 
- 00028838  0x0000797b istoret  0x00000004 , 0x00000005 
- 00028839  0x0000797c increase  0x00000001 , 0x00000007 
- 00028840  0x0000797d copy  0x00000011 , 0x00000006 
- 00028841  0x0000797e call  0x0000705b 
- 00028842  0x0000797f iadd  0x00000012 , 0x00000012 
- 00028843  0x00007980 iadd  0x00000006 , 0x00000006 
- 00028844  0x00007981 branch  0x00007090 
- 00028845  0x00007983 copy  0x00000011 , 0x00000006 
- 00028846  0x00007984 call  0x00007062 
- 00028847  0x00007985 iadd  0x00000006 , 0x00000006 
- 00028848  0x00007986 branch  0x00007090 
- 00028849  0x0000798d bpatchx  0x000000d6 , 0x0000403a 
- 00028850  0x0000798e fetch  0x00000002 , 0x00004575 
- 00028851  0x0000798f iforce  0x00000006 
- 00028852  0x00007991 ifetch  0x00000001 , 0x00000006 
- 00028853  0x00007992 branch  0x00007fe3 , 0x00000034 
- 00028854  0x00007993 lshift  0x0000003f , 0x0000003f 
- 00028855  0x00007994 iadd  0x00000006 , 0x00000006 
- 00028856  0x00007995 ifetch  0x00000004 , 0x00000006 
- 00028857  0x00007996 isub  0x00000002 , 0x0000003e 
- 00028858  0x00007997 rtn  0x00000005 
- 00028859  0x00007998 deposit  0x00000005 
- 00028860  0x00007999 store  0x00000002 , 0x00000abb 
- 00028861  0x0000799a storet  0x00000008 , 0x00000aa2 
- 00028862  0x0000799b call  0x00007062 
- 00028863  0x0000799c iadd  0x00000006 , 0x00000006 
- 00028864  0x0000799d copy  0x00000006 , 0x0000003f 
- 00028865  0x0000799e fetcht  0x00000002 , 0x00000abb 
- 00028866  0x0000799f copy  0x00000002 , 0x00000005 
- 00028867  0x000079a0 fetcht  0x00000008 , 0x00000aa2 
- 00028868  0x000079a1 copy  0x0000003f , 0x00000006 
- 00028869  0x000079a2 branch  0x000070b4 
- 00028870  0x000079a9 bpatchx  0x000000d7 , 0x0000403a 
- 00028871  0x000079aa fetch  0x00000002 , 0x00004575 
- 00028872  0x000079ab iforce  0x00000006 
- 00028873  0x000079ad ifetch  0x00000001 , 0x00000006 
- 00028874  0x000079ae branch  0x000070e4 , 0x00000034 
- 00028875  0x000079af iforce  0x00000039 
- 00028876  0x000079b1 ifetch  0x00000002 , 0x00000006 
- 00028877  0x000079b2 isub  0x00000013 , 0x0000003e 
- 00028878  0x000079b3 branch  0x000070d4 , 0x00000005 
- 00028879  0x000079b4 loop  0x000070cc 
- 00028880  0x000079b5 increase  0x00000004 , 0x00000006 
- 00028881  0x000079b6 call  0x00007062 
- 00028882  0x000079b7 iadd  0x00000006 , 0x00000006 
- 00028883  0x000079b8 branch  0x000070c9 
- 00028884  0x000079ba increase  0xffffffff , 0x00000039 
- 00028885  0x000079bb lshift  0x00000039 , 0x0000003f 
- 00028886  0x000079bc iadd  0x00000006 , 0x00000006 
- 00028887  0x000079bd increase  0x00000004 , 0x00000006 
- 00028888  0x000079be call  0x00007062 
- 00028889  0x000079bf iadd  0x00000006 , 0x0000000b 
- 00028890  0x000079c1 increase  0x00000001 , 0x00000006 
- 00028891  0x000079c2 ifetch  0x00000002 , 0x00000006 
- 00028892  0x000079c3 isub  0x00000012 , 0x0000003e 
- 00028893  0x000079c7 branch  0x00007fef , 0x00000005 
- 00028894  0x000079c8 call  0x0000705b 
- 00028895  0x000079c9 iadd  0x00000006 , 0x00000006 
- 00028896  0x000079ca deposit  0x0000000b 
- 00028897  0x000079cb isub  0x00000006 , 0x0000003e 
- 00028898  0x000079cc branch  0x000070e4 , 0x00000005 
- 00028899  0x000079cd branch  0x000070da 
- 00028900  0x000079cf force  0x00000000 , 0x00000006 
- 00028901  0x000079d0 force  0x00000000 , 0x0000003f 
- 00028902  0x000079d1 rtn 
- 00028903  0x000079d8 bpatchx  0x000000d8 , 0x0000403b 
- 00028904  0x000079d9 fetch  0x00000002 , 0x00004575 
- 00028905  0x000079da iforce  0x00000006 
- 00028906  0x000079dc ifetch  0x00000001 , 0x00000006 
- 00028907  0x000079dd branch  0x00007100 , 0x00000034 
- 00028908  0x000079de lshift  0x0000003f , 0x0000003f 
- 00028909  0x000079df iadd  0x00000006 , 0x00000006 
- 00028910  0x000079e0 ifetch  0x00000004 , 0x00000006 
- 00028911  0x000079e1 isub  0x00000002 , 0x0000003e 
- 00028912  0x000079e2 branch  0x000070f4 , 0x00000005 
- 00028913  0x000079e3 call  0x00007062 
- 00028914  0x000079e4 iadd  0x00000006 , 0x00000006 
- 00028915  0x000079e5 branch  0x000070ea 
- 00028916  0x000079e7 call  0x00007062 
- 00028917  0x000079e8 iadd  0x00000006 , 0x0000000b 
- 00028918  0x000079ea increase  0x00000001 , 0x00000006 
- 00028919  0x000079eb ifetch  0x00000002 , 0x00000006 
- 00028920  0x000079ec isub  0x00000012 , 0x0000003e 
- 00028921  0x000079ed rtn  0x00000005 
- 00028922  0x000079ee call  0x0000705b 
- 00028923  0x000079ef iadd  0x00000006 , 0x00000006 
- 00028924  0x000079f0 deposit  0x0000000b 
- 00028925  0x000079f1 isub  0x00000006 , 0x0000003e 
- 00028926  0x000079f2 branch  0x00007100 , 0x00000005 
- 00028927  0x000079f3 branch  0x000070f6 
- 00028928  0x000079f5 force  0x00000000 , 0x00000006 
- 00028929  0x000079f6 rtn 
- 00028930  0x000079fb arg  0x00000400 , 0x00000012 
- 00028931  0x000079fc call  0x000070f4 
- 00028932  0x000079fd arg  0x00000300 , 0x00000012 
- 00028933  0x000079fe call  0x0000710d 
- 00028934  0x000079ff nrtn  0x00000028 
- 00028935  0x00007a00 sub  0x00000011 , 0x00000003 , 0x0000003e 
- 00028936  0x00007a01 branch  0x00007fe9 , 0x00000002 
- 00028937  0x00007a02 ifetch  0x00000001 , 0x00000006 
- 00028938  0x00007a03 bne  0x00000008 , 0x00007fe9 
- 00028939  0x00007a04 ifetch  0x00000001 , 0x00000006 
- 00028940  0x00007a05 rtn 
- 00028941  0x00007a0b bpatchx  0x000000d9 , 0x0000403b 
- 00028942  0x00007a0c call  0x00007062 
- 00028943  0x00007a0d copy  0x0000003f , 0x00000011 
- 00028944  0x00007a0f ifetch  0x00000001 , 0x00000006 
- 00028945  0x00007a10 and  0x0000003f , 0x00000007 , 0x00000039 
- 00028946  0x00007a11 rshift3  0x0000003f , 0x0000003f 
- 00028947  0x00007a12 sub  0x0000003f , 0x00000003 , 0x0000003e 
- 00028948  0x00007a13 branch  0x00007129 , 0x00000005 
- 00028949  0x00007a14 copy  0x00000039 , 0x0000003f 
- 00028950  0x00007a15 beq  0x00000005 , 0x00007120 
- 00028951  0x00007a16 beq  0x00000006 , 0x00007123 
- 00028952  0x00007a17 beq  0x00000007 , 0x00007126 
- 00028953  0x00007a18 increase  0xffffffff , 0x00000006 
- 00028954  0x00007a19 call  0x00007062 
- 00028955  0x00007a1a iadd  0x00000006 , 0x00000006 
- 00028956  0x00007a1b copy  0x00000011 , 0x0000003f 
- 00028957  0x00007a1c isub  0x00000002 , 0x00000011 
- 00028958  0x00007a1d branch  0x00007fe9 , 0x00000005 
- 00028959  0x00007a1e branch  0x00007110 
- 00028960  0x00007a21 increase  0xfffffffe , 0x00000011 
- 00028961  0x00007a22 increase  0x00000001 , 0x00000006 
- 00028962  0x00007a23 branch  0x00007110 
- 00028963  0x00007a25 increase  0xfffffffd , 0x00000011 
- 00028964  0x00007a26 increase  0x00000002 , 0x00000006 
- 00028965  0x00007a27 branch  0x00007110 
- 00028966  0x00007a29 increase  0xfffffffb , 0x00000011 
- 00028967  0x00007a2a increase  0x00000004 , 0x00000006 
- 00028968  0x00007a2b branch  0x00007110 
- 00028969  0x00007a2e increase  0xffffffff , 0x00000011 
- 00028970  0x00007a2f copy  0x00000039 , 0x0000003f 
- 00028971  0x00007a30 beq  0x00000001 , 0x00007132 
- 00028972  0x00007a31 beq  0x00000002 , 0x00007130 
- 00028973  0x00007a32 beq  0x00000004 , 0x0000712f 
- 00028974  0x00007a33 branch  0x00007fe9 
- 00028975  0x00007a35 increase  0xfffffff4 , 0x00000011 
- 00028976  0x00007a37 ifetch  0x00000002 , 0x00000006 
- 00028977  0x00007a38 increase  0xfffffffe , 0x00000011 
- 00028978  0x00007a3a ifetch  0x00000002 , 0x00000006 
- 00028979  0x00007a3b isub  0x00000012 , 0x0000003e 
- 00028980  0x00007a3c branch  0x00007fe7 , 0x00000005 
- 00028981  0x00007a3d increase  0xfffffffe , 0x00000011 
- 00028982  0x00007a3e branch  0x00007fe9 , 0x00000005 
- 00028983  0x00007a3f branch  0x00007110 
- 00028984  0x00007a7b call  0x000052d0 
- 00028985  0x00007a7c copy  0x0000003f , 0x00000005 
- 00028986  0x00007a7d setarg  0x00000006 
- 00028987  0x00007a7e istore  0x00000001 , 0x00000005 
- 00028988  0x00007a7f setarg  0x0000006e 
- 00028989  0x00007a80 istore  0x00000002 , 0x00000005 
- 00028990  0x00007a81 setarg  0x00000f00 
- 00028991  0x00007a82 istore  0x00000002 , 0x00000005 
- 00028992  0x00007a83 setarg  0x001a0535 
- 00028993  0x00007a84 istore  0x00000003 , 0x00000005 
- 00028994  0x00007a85 setarg  0x00000111 
- 00028995  0x00007a86 lshift16  0x0000003f , 0x0000003f 
- 00028996  0x00007a87 istore  0x00000004 , 0x00000005 
- 00028997  0x00007a88 setarg  0x00002600 
- 00028998  0x00007a89 istore  0x00000002 , 0x00000005 
- 00028999  0x00007a8a setarg  0x00000335 
- 00029000  0x00007a8b istore  0x00000002 , 0x00000005 
- 00029001  0x00007a8c setarg  0x00000009 
- 00029002  0x00007a8d istore  0x00000002 , 0x00000005 
- 00029003  0x00007a8e setarg  0x00000004 
- 00029004  0x00007a8f istore  0x00000002 , 0x00000005 
- 00029005  0x00007a90 jam  0x00000014 , 0x00000275 
- 00029006  0x00007a91 rtn 
- 00029007  0x00007a96 bpatchx  0x000000da , 0x0000403b 
- 00029008  0x00007a97 jam  0x00000050 , 0x000005e5 
- 00029009  0x00007a98 arg  0x000005e6 , 0x00000005 
- 00029010  0x00007a99 arg  0x0000443a , 0x00000006 
- 00029011  0x00007a9a call  0x00007ebf 
- 00029012  0x00007a9b arg  0x000045d2 , 0x00000006 
- 00029013  0x00007a9c call  0x00007ebd 
- 00029014  0x00007a9d arg  0x000009be , 0x00000006 
- 00029015  0x00007a9e call  0x00007ebd 
- 00029016  0x00007a9f call  0x0000720a 
- 00029017  0x00007aa0 arg  0x0000042f , 0x00000006 
- 00029018  0x00007aa1 call  0x00007205 
- 00029019  0x00007aa2 call  0x000071d0 
- 00029020  0x00007aa4 arg  0x00000af2 , 0x00000005 
- 00029021  0x00007aa5 call  0x00007201 
- 00029022  0x00007aa6 setarg  0x000f4240 
- 00029023  0x00007aa7 copy  0x0000003f , 0x00000011 
- 00029024  0x00007aa8 fetch  0x00000004 , 0x00000af2 
- 00029025  0x00007aa9 idiv  0x00000011 
- 00029026  0x00007aaa call  0x00007f86 
- 00029027  0x00007aab remainder  0x0000003f 
- 00029028  0x00007aac store  0x00000004 , 0x000009ba 
- 00029029  0x00007aae rtn 
- 00029030  0x00007ab1 jam  0x00000041 , 0x000005e5 
- 00029031  0x00007ab2 arg  0x000005e6 , 0x00000005 
- 00029032  0x00007ab3 call  0x000071b5 
- 00029033  0x00007ab4 call  0x000071b0 
- 00029034  0x00007ab5 fetch  0x00000003 , 0x00004454 
- 00029035  0x00007ab6 istore  0x00000003 , 0x00000005 
- 00029036  0x00007ab9 call  0x00007176 
- 00029037  0x00007abb arg  0x0000042f , 0x00000006 
- 00029038  0x00007abc call  0x00007ebf 
- 00029039  0x00007abd arg  0x0000443a , 0x00000006 
- 00029040  0x00007abe call  0x00007ebf 
- 00029041  0x00007abf call  0x0000720a 
- 00029042  0x00007ac0 arg  0x00000b12 , 0x00000006 
- 00029043  0x00007ac1 arg  0x00000ac2 , 0x00000005 
- 00029044  0x00007ac2 call  0x00007ebf 
- 00029045  0x00007ac4 branch  0x000071d0 
- 00029046  0x00007ac9 fetch  0x00000004 , 0x000044c7 
- 00029047  0x00007aca istore  0x00000004 , 0x00000005 
- 00029048  0x00007acb call  0x00007ecd 
- 00029049  0x00007acc branch  0x00007eca 
- 00029050  0x00007acf bpatchx  0x000000db , 0x0000403b 
- 00029051  0x00007ad0 jam  0x00000041 , 0x000005e5 
- 00029052  0x00007ad1 arg  0x000005e6 , 0x00000005 
- 00029053  0x00007ad2 call  0x000071b0 
- 00029054  0x00007ad3 call  0x000071b5 
- 00029055  0x00007ad4 fetch  0x00000003 , 0x0000444d 
- 00029056  0x00007ad5 istore  0x00000003 , 0x00000005 
- 00029057  0x00007ad8 call  0x00007176 
- 00029058  0x00007ad9 arg  0x0000443a , 0x00000006 
- 00029059  0x00007ada call  0x00007ebf 
- 00029060  0x00007adb arg  0x0000042f , 0x00000006 
- 00029061  0x00007adc call  0x00007ebf 
- 00029062  0x00007add call  0x0000720a 
- 00029063  0x00007ade arg  0x00000b12 , 0x00000006 
- 00029064  0x00007adf arg  0x00000ac2 , 0x00000005 
- 00029065  0x00007ae0 call  0x00007ebf 
- 00029066  0x00007ae2 call  0x000071d0 
- 00029067  0x00007ae3 arg  0x00000af2 , 0x00000005 
- 00029068  0x00007ae4 branch  0x00007201 
- 00029069  0x00007ae7 jam  0x00000020 , 0x000005e5 
- 00029070  0x00007ae8 arg  0x000009fe , 0x00000006 
- 00029071  0x00007ae9 arg  0x000005e6 , 0x00000005 
- 00029072  0x00007aea call  0x00007ebd 
- 00029073  0x00007aeb call  0x0000720a 
- 00029074  0x00007aec arg  0x0000099e , 0x00000006 
- 00029075  0x00007aed call  0x00007205 
- 00029076  0x00007aee call  0x000071d0 
- 00029077  0x00007aef arg  0x00000ac2 , 0x00000005 
- 00029078  0x00007af0 call  0x00007497 
- 00029079  0x00007af1 arg  0x00000001 , 0x00000002 
- 00029080  0x00007af2 call  0x0000719f 
- 00029081  0x00007af3 arg  0x00004419 , 0x00000005 
- 00029082  0x00007af4 call  0x00007201 
- 00029083  0x00007af5 arg  0x00000000 , 0x00000002 
- 00029084  0x00007af6 call  0x0000719f 
- 00029085  0x00007af7 arg  0x00000b12 , 0x00000005 
- 00029086  0x00007af9 branch  0x00007497 
- 00029087  0x00007afd bpatchx  0x000000dc , 0x0000403b 
- 00029088  0x00007afe jam  0x00000035 , 0x000005e5 
- 00029089  0x00007aff setarg  0x00000100 
- 00029090  0x00007b00 store  0x00000002 , 0x000005e6 
- 00029091  0x00007b01 call  0x000071b0 
- 00029092  0x00007b02 call  0x000071b5 
- 00029093  0x00007b03 arg  0x0000443a , 0x00000006 
- 00029094  0x00007b04 call  0x00007ebf 
- 00029095  0x00007b05 arg  0x0000042f , 0x00000006 
- 00029096  0x00007b06 call  0x00007ebf 
- 00029097  0x00007b08 setarg  0x00006c65 
- 00029098  0x00007b09 istore  0x00000002 , 0x00000005 
- 00029099  0x00007b0a setarg  0x00006274 
- 00029100  0x00007b0b istore  0x00000002 , 0x00000005 
- 00029101  0x00007b0c istoret  0x00000001 , 0x00000005 
- 00029102  0x00007b0d call  0x0000720a 
- 00029103  0x00007b0e branch  0x000071d0 
- 00029104  0x00007b11 fetch  0x00000006 , 0x000044a0 
- 00029105  0x00007b12 istore  0x00000006 , 0x00000005 
- 00029106  0x00007b13 fetch  0x00000001 , 0x00004495 
- 00029107  0x00007b14 istore  0x00000001 , 0x00000005 
- 00029108  0x00007b15 rtn 
- 00029109  0x00007b18 fetch  0x00000006 , 0x0000044f 
- 00029110  0x00007b19 istore  0x00000006 , 0x00000005 
- 00029111  0x00007b1e fetch  0x00000001 , 0x0000448e 
- 00029112  0x00007b1f istore  0x00000001 , 0x00000005 
- 00029113  0x00007b20 rtn 
- 00029114  0x00007b23 jam  0x00000041 , 0x000005e5 
- 00029115  0x00007b24 fetch  0x00000001 , 0x00004664 
- 00029116  0x00007b25 store  0x00000001 , 0x000005e6 
- 00029117  0x00007b26 arg  0x000045d2 , 0x00000006 
- 00029118  0x00007b27 call  0x00007ebd 
- 00029119  0x00007b28 arg  0x000009be , 0x00000006 
- 00029120  0x00007b29 call  0x00007ebd 
- 00029121  0x00007b2a call  0x0000720a 
- 00029122  0x00007b2b arg  0x0000042f , 0x00000006 
- 00029123  0x00007b2c call  0x00007205 
- 00029124  0x00007b2d branch  0x000071d0 
- 00029125  0x00007b31 jam  0x00000041 , 0x000005e5 
- 00029126  0x00007b32 fetch  0x00000001 , 0x00004664 
- 00029127  0x00007b33 store  0x00000001 , 0x000005e6 
- 00029128  0x00007b34 arg  0x000009be , 0x00000006 
- 00029129  0x00007b35 call  0x00007ebd 
- 00029130  0x00007b36 arg  0x000045d2 , 0x00000006 
- 00029131  0x00007b37 call  0x00007ebd 
- 00029132  0x00007b38 call  0x0000720a 
- 00029133  0x00007b39 arg  0x0000443a , 0x00000006 
- 00029134  0x00007b3a call  0x00007205 
- 00029135  0x00007b3b branch  0x000071d0 
- 00029136  0x00007b3e bpatchx  0x000000dd , 0x0000403b 
- 00029137  0x00007b3f call  0x0000721f 
- 00029138  0x00007b43 fetch  0x00000001 , 0x000005e5 
- 00029139  0x00007b44 copy  0x0000003f , 0x00000002 
- 00029140  0x00007b46 increase  0x0000000f , 0x0000003f 
- 00029141  0x00007b47 rshift4  0x0000003f , 0x0000003f 
- 00029142  0x00007b48 copy  0x0000003f , 0x00000012 
- 00029143  0x00007b49 branch  0x000071e2 , 0x00000034 
- 00029144  0x00007b4a and  0x00000002 , 0x0000000f , 0x0000003f 
- 00029145  0x00007b4b nbranch  0x000071e5 , 0x00000034 
- 00029146  0x00007b4d arg  0x00000ad2 , 0x00000013 
- 00029147  0x00007b4e arg  0x000005e6 , 0x0000003f 
- 00029148  0x00007b4f increase  0xfffffff0 , 0x0000003f 
- 00029149  0x00007b52 iadd  0x00000002 , 0x00000011 
- 00029150  0x00007b53 arg  0x00000b02 , 0x00000005 
- 00029151  0x00007b54 arg  0x00000004 , 0x00000039 
- 00029152  0x00007b55 call  0x00007edd 
- 00029153  0x00007b59 branch  0x000071f0 
- 00029154  0x00007b5c arg  0x00000001 , 0x00000012 
- 00029155  0x00007b5d arg  0x00000000 , 0x00000011 
- 00029156  0x00007b5f branch  0x000071e6 
- 00029157  0x00007b64 and  0x00000002 , 0x0000000f , 0x00000011 
- 00029158  0x00007b66 arg  0x000005e6 , 0x0000003f 
- 00029159  0x00007b67 iadd  0x00000002 , 0x0000003f 
- 00029160  0x00007b68 isub  0x00000011 , 0x00000006 
- 00029161  0x00007b6a arg  0x00000af2 , 0x00000005 
- 00029162  0x00007b6b call  0x00007245 
- 00029163  0x00007b6d arg  0x00000ae2 , 0x00000013 
- 00029164  0x00007b6e arg  0x00000af2 , 0x00000011 
- 00029165  0x00007b6f arg  0x00000b02 , 0x00000005 
- 00029166  0x00007b70 arg  0x00000004 , 0x00000039 
- 00029167  0x00007b71 call  0x00007edd 
- 00029168  0x00007b7d call  0x00007491 
- 00029169  0x00007b7e call  0x00007428 
- 00029170  0x00007b81 arg  0x000005e6 , 0x00000006 
- 00029171  0x00007b84 increase  0xffffffff , 0x00000012 
- 00029172  0x00007b85 deposit  0x00000012 
- 00029173  0x00007b86 branch  0x000071f9 , 0x00000034 
- 00029174  0x00007b87 call  0x00007486 
- 00029175  0x00007b88 call  0x00007422 
- 00029176  0x00007b89 branch  0x000071f3 
- 00029177  0x00007b8c arg  0x00000af2 , 0x00000005 
- 00029178  0x00007b8d call  0x00007497 
- 00029179  0x00007b8e arg  0x00000b02 , 0x00000006 
- 00029180  0x00007b8f call  0x00007486 
- 00029181  0x00007b90 call  0x00007428 
- 00029182  0x00007b91 arg  0x00000af2 , 0x00000006 
- 00029183  0x00007b92 call  0x00007486 
- 00029184  0x00007b93 branch  0x00007422 
- 00029185  0x00007b99 copy  0x00000005 , 0x00000011 
- 00029186  0x00007b9a call  0x00007497 
- 00029187  0x00007b9c arg  0x00000010 , 0x00000039 
- 00029188  0x00007b9d branch  0x00007ee5 
- 00029189  0x00007ba0 arg  0x00000ac2 , 0x00000005 
- 00029190  0x00007ba1 call  0x00007ebf 
- 00029191  0x00007ba3 arg  0x00000010 , 0x00000039 
- 00029192  0x00007ba4 arg  0x00000ac2 , 0x00000011 
- 00029193  0x00007ba5 branch  0x00007ee5 
- 00029194  0x00007ba8 fetch  0x00000001 , 0x000005e5 
- 00029195  0x00007ba9 copy  0x0000003f , 0x00000039 
- 00029196  0x00007baa arg  0x000005e6 , 0x00000011 
- 00029197  0x00007bab branch  0x00007ee5 
- 00029198  0x00007bae ifetch  0x00000001 , 0x00000011 
- 00029199  0x00007baf lshift  0x0000003f , 0x0000003f 
- 00029200  0x00007bb0 isolate1  0x00000000 , 0x00000013 
- 00029201  0x00007bb1 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00029202  0x00007bb2 isolate1  0x00000008 , 0x0000003f 
- 00029203  0x00007bb3 setflag  0x00000001 , 0x00000000 , 0x00000013 
- 00029204  0x00007bb4 istore  0x00000001 , 0x00000011 
- 00029205  0x00007bb5 increase  0xffffffff , 0x00000011 
- 00029206  0x00007bb6 loop  0x0000720e 
- 00029207  0x00007bb7 rtn 
- 00029208  0x00007bba arg  0x00000ad2 , 0x00000011 
- 00029209  0x00007bbc increase  0x0000000f , 0x00000011 
- 00029210  0x00007bbd force  0x00000010 , 0x00000039 
- 00029211  0x00007bbe force  0x00000000 , 0x00000013 
- 00029212  0x00007bbf branch  0x0000720e 
- 00029213  0x00007bc2 arg  0x00000ae2 , 0x00000011 
- 00029214  0x00007bc3 branch  0x00007219 
- 00029215  0x00007bc7 arg  0x00000ac2 , 0x00000006 
- 00029216  0x00007bc8 call  0x00007484 
- 00029217  0x00007bcb force  0x00000008 , 0x00000038 
- 00029218  0x00007bcc call  0x00007492 
- 00029219  0x00007bcd call  0x00007491 
- 00029220  0x00007bce call  0x0000741f 
- 00029221  0x00007bd3 arg  0x00000ad2 , 0x00000005 
- 00029222  0x00007bd4 call  0x00007497 
- 00029223  0x00007bd6 bpatchx  0x000000de , 0x0000403b 
- 00029224  0x00007bd7 fetch  0x00000001 , 0x00000ad2 
- 00029225  0x00007bd8 isolate1  0x00000007 , 0x0000003f 
- 00029226  0x00007bd9 nbranch  0x00007230 , 0x00000001 
- 00029227  0x00007bda call  0x00007218 
- 00029228  0x00007bdd arg  0x00000ad2 , 0x00000013 
- 00029229  0x00007bdf arg  0x00000ad2 , 0x00000005 
- 00029230  0x00007be2 call  0x0000723a 
- 00029231  0x00007be3 branch  0x00007231 
- 00029232  0x00007be5 call  0x00007218 
- 00029233  0x00007be8 arg  0x00000ad2 , 0x00000006 
- 00029234  0x00007be9 arg  0x00000ae2 , 0x00000005 
- 00029235  0x00007bea call  0x00007ebf 
- 00029236  0x00007beb fetch  0x00000001 , 0x00000ae2 
- 00029237  0x00007bec isolate1  0x00000007 , 0x0000003f 
- 00029238  0x00007bed nbranch  0x0000721d , 0x00000001 
- 00029239  0x00007bee call  0x0000721d 
- 00029240  0x00007bf0 arg  0x00000ae2 , 0x00000013 
- 00029241  0x00007bf2 arg  0x00000ae2 , 0x00000005 
- 00029242  0x00007bf9 arg  0x00000003 , 0x00000039 
- 00029243  0x00007bfb arg  0x00000000 , 0x00000002 
- 00029244  0x00007bfc call  0x00007241 
- 00029245  0x00007bfd increase  0x00000004 , 0x00000013 
- 00029246  0x00007bfe loop  0x0000723b 
- 00029247  0x00007bff arg  0x00008700 , 0x00000002 
- 00029248  0x00007c00 lshift16  0x00000002 , 0x00000002 
- 00029249  0x00007c02 ifetch  0x00000004 , 0x00000013 
- 00029250  0x00007c03 ixor  0x00000002 , 0x0000003f 
- 00029251  0x00007c04 istore  0x00000004 , 0x00000005 
- 00029252  0x00007c05 rtn 
- 00029253  0x00007c0c bpatchx  0x000000df , 0x0000403b 
- 00029254  0x00007c0d arg  0x00000010 , 0x00000039 
- 00029255  0x00007c0e arg  0x00000000 , 0x0000003f 
- 00029256  0x00007c10 isub  0x00000011 , 0x0000003e 
- 00029257  0x00007c11 branch  0x00007250 , 0x00000005 
- 00029258  0x00007c12 branch  0x00007253 , 0x00000002 
- 00029259  0x00007c13 ifetcht  0x00000001 , 0x00000006 
- 00029260  0x00007c14 istoret  0x00000001 , 0x00000005 
- 00029261  0x00007c16 increase  0x00000001 , 0x0000003f 
- 00029262  0x00007c17 loop  0x00007248 
- 00029263  0x00007c18 rtn 
- 00029264  0x00007c1a arg  0x00000080 , 0x00000002 
- 00029265  0x00007c1c istoret  0x00000001 , 0x00000005 
- 00029266  0x00007c1d branch  0x0000724d 
- 00029267  0x00007c20 arg  0x00000000 , 0x00000002 
- 00029268  0x00007c21 branch  0x00007251 
- 00029269  0x00007c25 call  0x00007268 
- 00029270  0x00007c26 arg  0x00000592 , 0x00000006 
- 00029271  0x00007c27 arg  0x00000582 , 0x00000005 
- 00029272  0x00007c28 branch  0x00007ebf 
- 00029273  0x00007c2c disable  0x00000028 
- 00029274  0x00007c2d call  0x0000735f 
- 00029275  0x00007c2e arg  0x00000562 , 0x00000006 
- 00029276  0x00007c2f arg  0x000005a2 , 0x00000005 
- 00029277  0x00007c30 force  0x0000000f , 0x00000039 
- 00029278  0x00007c31 call  0x00007f01 
- 00029279  0x00007c32 ifetch  0x00000001 , 0x00000006 
- 00029280  0x00007c33 xor_into  0x00000006 , 0x0000003f 
- 00029281  0x00007c34 istore  0x00000001 , 0x00000005 
- 00029282  0x00007c35 setarg  0x000005b2 
- 00029283  0x00007c36 store  0x00000002 , 0x000005d6 
- 00029284  0x00007c37 setarg  0x000005a2 
- 00029285  0x00007c38 store  0x00000002 , 0x000005d4 
- 00029286  0x00007c39 set1  0x00000012 , 0x00000000 
- 00029287  0x00007c3a branch  0x000072a8 
- 00029288  0x00007c3f fetcht  0x00000001 , 0x00004689 
- 00029289  0x00007c40 force  0x00000010 , 0x00000012 
- 00029290  0x00007c41 add  0x00000002 , 0x00000006 , 0x00000013 
- 00029291  0x00007c42 sub  0x00000013 , 0x00000010 , 0x0000003e 
- 00029292  0x00007c43 branch  0x0000726e , 0x00000002 
- 00029293  0x00007c44 force  0x00000010 , 0x00000013 
- 00029294  0x00007c46 arg  0x000005a2 , 0x00000005 
- 00029295  0x00007c48 arg  0x0000468a , 0x00000006 
- 00029296  0x00007c49 copy  0x00000002 , 0x00000039 
- 00029297  0x00007c4a disable  0x00000028 
- 00029298  0x00007c4c ifetch  0x00000001 , 0x00000006 
- 00029299  0x00007c4d istore  0x00000001 , 0x00000005 
- 00029300  0x00007c4e increase  0xffffffff , 0x00000012 
- 00029301  0x00007c4f branch  0x0000727c , 0x00000005 
- 00029302  0x00007c50 loop  0x00007272 
- 00029303  0x00007c51 branch  0x0000726f , 0x00000028 
- 00029304  0x00007c52 enable  0x00000028 
- 00029305  0x00007c53 force  0x00000006 , 0x00000039 
- 00029306  0x00007c54 copy  0x00000011 , 0x00000006 
- 00029307  0x00007c55 branch  0x00007272 
- 00029308  0x00007c57 arg  0x00000562 , 0x00000006 
- 00029309  0x00007c58 arg  0x000005b2 , 0x00000005 
- 00029310  0x00007c59 call  0x00007ebf 
- 00029311  0x00007c5a fetch  0x00000001 , 0x000005c1 
- 00029312  0x00007c5b ixor  0x00000013 , 0x0000003f 
- 00029313  0x00007c5c store  0x00000001 , 0x000005c1 
- 00029314  0x00007c5d setarg  0x000005b2 
- 00029315  0x00007c5e store  0x00000002 , 0x000005d6 
- 00029316  0x00007c5f setarg  0x000005a2 
- 00029317  0x00007c60 store  0x00000002 , 0x000005d4 
- 00029318  0x00007c61 set1  0x00000012 , 0x00000000 
- 00029319  0x00007c62 branch  0x000072a8 
- 00029320  0x00007c68 disable  0x00000028 
- 00029321  0x00007c69 call  0x0000735f 
- 00029322  0x00007c6a branch  0x00007292 
- 00029323  0x00007c6d arg  0x00000056 , 0x00000011 
- 00029324  0x00007c6e enable  0x00000028 
- 00029325  0x00007c6f call  0x0000735f 
- 00029326  0x00007c70 call  0x00007292 
- 00029327  0x00007c71 arg  0x00000592 , 0x00000006 
- 00029328  0x00007c72 arg  0x00000062 , 0x00000005 
- 00029329  0x00007c73 branch  0x00007ebf 
- 00029330  0x00007c77 setarg  0x00000562 
- 00029331  0x00007c78 store  0x00000002 , 0x000005d6 
- 00029332  0x00007c79 setarg  0x000041be 
- 00029333  0x00007c7a store  0x00000002 , 0x000005d4 
- 00029334  0x00007c7b set0  0x00000012 , 0x00000000 
- 00029335  0x00007c7c call  0x000072a8 
- 00029336  0x00007c7d arg  0x00000592 , 0x00000011 
- 00029337  0x00007c7e arg  0x00000562 , 0x00000012 
- 00029338  0x00007c7f arg  0x000005a2 , 0x00000005 
- 00029339  0x00007c80 call  0x00007352 
- 00029340  0x00007c81 arg  0x000005a2 , 0x00000011 
- 00029341  0x00007c82 arg  0x000005b2 , 0x00000012 
- 00029342  0x00007c83 copy  0x00000012 , 0x00000005 
- 00029343  0x00007c84 enable  0x00000028 
- 00029344  0x00007c85 call  0x00007350 
- 00029345  0x00007c86 call  0x0000736a 
- 00029346  0x00007c87 setarg  0x000005b2 
- 00029347  0x00007c88 store  0x00000002 , 0x000005d6 
- 00029348  0x00007c89 setarg  0x000005a2 
- 00029349  0x00007c8a store  0x00000002 , 0x000005d4 
- 00029350  0x00007c8b set1  0x00000012 , 0x00000000 
- 00029351  0x00007c8c branch  0x000072a8 
- 00029352  0x00007c91 jam  0x00000000 , 0x000005d8 
- 00029353  0x00007c92 fetch  0x00000002 , 0x000005d4 
- 00029354  0x00007c93 iforce  0x00000006 
- 00029355  0x00007c94 arg  0x000005c2 , 0x00000005 
- 00029356  0x00007c95 call  0x00007ebf 
- 00029357  0x00007c96 fetch  0x00000002 , 0x000005d6 
- 00029358  0x00007c97 iforce  0x00000006 
- 00029359  0x00007c98 arg  0x00000592 , 0x00000005 
- 00029360  0x00007c99 call  0x00007ebf 
- 00029361  0x00007c9c call  0x000072cf 
- 00029362  0x00007c9d disable  0x00000028 
- 00029363  0x00007c9e bmark0  0x00000012 , 0x000072b9 
- 00029364  0x00007c9f fetch  0x00000001 , 0x000005d8 
- 00029365  0x00007ca0 bne  0x00000004 , 0x000072b9 
- 00029366  0x00007ca1 fetch  0x00000002 , 0x000005d6 
- 00029367  0x00007ca2 iforce  0x00000012 
- 00029368  0x00007ca3 call  0x00007301 
- 00029369  0x00007ca5 call  0x00007300 
- 00029370  0x00007ca6 call  0x00007313 
- 00029371  0x00007ca7 fetch  0x00000001 , 0x000005d8 
- 00029372  0x00007ca8 increase  0x00000001 , 0x0000003f 
- 00029373  0x00007ca9 store  0x00000001 , 0x000005d8 
- 00029374  0x00007cab call  0x000072cf 
- 00029375  0x00007cac enable  0x00000028 
- 00029376  0x00007cad call  0x00007300 
- 00029377  0x00007cae call  0x00007322 
- 00029378  0x00007caf call  0x00007331 
- 00029379  0x00007cb0 call  0x00007322 
- 00029380  0x00007cb1 call  0x00007331 
- 00029381  0x00007cb2 call  0x00007322 
- 00029382  0x00007cb3 call  0x00007331 
- 00029383  0x00007cb4 call  0x00007322 
- 00029384  0x00007cb5 fetch  0x00000001 , 0x000005d8 
- 00029385  0x00007cb6 increase  0x00000001 , 0x0000003f 
- 00029386  0x00007cb7 store  0x00000001 , 0x000005d8 
- 00029387  0x00007cb8 bne  0x00000010 , 0x000072b1 
- 00029388  0x00007cb9 call  0x000072cf 
- 00029389  0x00007cba disable  0x00000028 
- 00029390  0x00007cbb branch  0x00007300 
- 00029391  0x00007cc0 fetch  0x00000001 , 0x000005d8 
- 00029392  0x00007cc1 arg  0x000005c2 , 0x00000006 
- 00029393  0x00007cc2 branch  0x000072f6 , 0x00000034 
- 00029394  0x00007cc3 iforce  0x00000012 
- 00029395  0x00007cc4 force  0x00000011 , 0x00000039 
- 00029396  0x00007cc5 copy  0x00000006 , 0x00000005 
- 00029397  0x00007cc7 ifetch  0x00000001 , 0x00000006 
- 00029398  0x00007cc8 lshift3  0x0000003f , 0x00000002 
- 00029399  0x00007cc9 rshift2  0x0000003f , 0x0000003f 
- 00029400  0x00007cca rshift3  0x0000003f , 0x0000003f 
- 00029401  0x00007ccb ior  0x00000002 , 0x0000003f 
- 00029402  0x00007ccc istore  0x00000001 , 0x00000005 
- 00029403  0x00007ccd loop  0x000072d5 
- 00029404  0x00007cce setarg  0x000005c2 
- 00029405  0x00007ccf iadd  0x00000012 , 0x00000006 
- 00029406  0x00007cd0 force  0x00000010 , 0x00000039 
- 00029407  0x00007cd1 arg  0x00000572 , 0x00000005 
- 00029408  0x00007cd3 ifetch  0x00000001 , 0x00000006 
- 00029409  0x00007cd4 istore  0x00000001 , 0x00000005 
- 00029410  0x00007cd5 compare  0x000005d3 , 0x00000006 , 0x000000ff 
- 00029411  0x00007cd6 nbranch  0x000072e5 , 0x00000001 
- 00029412  0x00007cd7 increase  0xffffffef , 0x00000006 
- 00029413  0x00007cd9 loop  0x000072e0 
- 00029414  0x00007cda force  0x00000000 , 0x00000011 
- 00029415  0x00007cdb add  0x00000012 , 0xffffffff , 0x00000013 
- 00029416  0x00007cdc lshift2  0x00000013 , 0x00000013 
- 00029417  0x00007cdd lshift2  0x00000013 , 0x00000013 
- 00029418  0x00007cde call  0x000074b9 
- 00029419  0x00007cdf setarg  0x00008400 
- 00029420  0x00007ce0 iadd  0x00000013 , 0x00000013 
- 00029421  0x00007ce1 arg  0x00000572 , 0x00000005 
- 00029422  0x00007ce2 force  0x00000010 , 0x00000039 
- 00029423  0x00007ce4 ifetcht  0x00000001 , 0x00000013 
- 00029424  0x00007ce5 ifetch  0x00000001 , 0x00000005 
- 00029425  0x00007ce6 iadd  0x00000002 , 0x0000003f 
- 00029426  0x00007ce7 istore  0x00000001 , 0x00000005 
- 00029427  0x00007ce8 increase  0x00000001 , 0x00000013 
- 00029428  0x00007ce9 loop  0x000072ef 
- 00029429  0x00007cea branch  0x000074bd 
- 00029430  0x00007ced force  0x00000010 , 0x00000039 
- 00029431  0x00007cee force  0x00000000 , 0x00000002 
- 00029432  0x00007cf0 ifetch  0x00000001 , 0x00000006 
- 00029433  0x00007cf1 ixor  0x00000002 , 0x00000002 
- 00029434  0x00007cf2 loop  0x000072f8 
- 00029435  0x00007cf3 deposit  0x00000002 
- 00029436  0x00007cf4 istore  0x00000001 , 0x00000006 
- 00029437  0x00007cf5 arg  0x000005c2 , 0x00000006 
- 00029438  0x00007cf6 arg  0x00000572 , 0x00000005 
- 00029439  0x00007cf7 branch  0x00007ebf 
- 00029440  0x00007cfa arg  0x00000572 , 0x00000012 
- 00029441  0x00007cfc force  0x00000010 , 0x00000039 
- 00029442  0x00007cfd arg  0x00000592 , 0x00000011 
- 00029443  0x00007cfe copy  0x00000011 , 0x00000005 
- 00029444  0x00007d00 ifetcht  0x00000001 , 0x00000011 
- 00029445  0x00007d01 ifetch  0x00000001 , 0x00000012 
- 00029446  0x00007d02 ixor  0x00000002 , 0x00000030 
- 00029447  0x00007d03 and  0x00000039 , 0x00000003 , 0x00000013 
- 00029448  0x00007d04 nbranch  0x0000730a , 0x00000028 
- 00029449  0x00007d05 xor_into  0x00000003 , 0x00000013 
- 00029450  0x00007d07 sub  0x00000013 , 0x00000001 , 0x00000013 
- 00029451  0x00007d08 branch  0x0000730d , 0x00000002 
- 00029452  0x00007d09 iadd  0x00000002 , 0x00000030 
- 00029453  0x00007d0b deposit  0x00000030 
- 00029454  0x00007d0c istore  0x00000001 , 0x00000005 
- 00029455  0x00007d0d increase  0x00000001 , 0x00000011 
- 00029456  0x00007d0e increase  0x00000001 , 0x00000012 
- 00029457  0x00007d0f loop  0x00007304 
- 00029458  0x00007d10 rtn 
- 00029459  0x00007d13 call  0x000074b9 
- 00029460  0x00007d14 force  0x00000010 , 0x00000039 
- 00029461  0x00007d15 arg  0x00000592 , 0x00000011 
- 00029462  0x00007d17 ifetch  0x00000001 , 0x00000011 
- 00029463  0x00007d18 arg  0x00008500 , 0x00000006 
- 00029464  0x00007d19 and  0x00000039 , 0x00000003 , 0x00000013 
- 00029465  0x00007d1a sub  0x00000013 , 0x00000001 , 0x0000003e 
- 00029466  0x00007d1b branch  0x0000731c , 0x00000002 
- 00029467  0x00007d1c arg  0x00008600 , 0x00000006 
- 00029468  0x00007d1e iadd  0x00000006 , 0x00000006 
- 00029469  0x00007d1f ifetch  0x00000001 , 0x00000006 
- 00029470  0x00007d20 istore  0x00000001 , 0x00000011 
- 00029471  0x00007d21 increase  0x00000001 , 0x00000011 
- 00029472  0x00007d22 loop  0x00007316 
- 00029473  0x00007d23 branch  0x000074bd 
- 00029474  0x00007d26 force  0x00000008 , 0x00000039 
- 00029475  0x00007d27 arg  0x00000592 , 0x00000006 
- 00029476  0x00007d28 copy  0x00000006 , 0x00000005 
- 00029477  0x00007d2a ifetch  0x00000001 , 0x00000006 
- 00029478  0x00007d2b iforce  0x00000011 
- 00029479  0x00007d2c ifetch  0x00000001 , 0x00000006 
- 00029480  0x00007d2d iforce  0x00000012 
- 00029481  0x00007d2e lshift  0x00000011 , 0x0000003f 
- 00029482  0x00007d2f iadd  0x00000012 , 0x0000003f 
- 00029483  0x00007d30 istore  0x00000001 , 0x00000005 
- 00029484  0x00007d31 deposit  0x00000011 
- 00029485  0x00007d32 iadd  0x00000012 , 0x0000003f 
- 00029486  0x00007d33 istore  0x00000001 , 0x00000005 
- 00029487  0x00007d34 loop  0x00007325 
- 00029488  0x00007d35 rtn 
- 00029489  0x00007d39 setarg  0x008ae42c 
- 00029490  0x00007d3a iforce  0x00000002 
- 00029491  0x00007d3b force  0x00000007 , 0x00000039 
- 00029492  0x00007d3c call  0x00007340 
- 00029493  0x00007d3d setarg  0x000d751b 
- 00029494  0x00007d3e iforce  0x00000002 
- 00029495  0x00007d3f force  0x00000005 , 0x00000039 
- 00029496  0x00007d40 call  0x00007340 
- 00029497  0x00007d41 fetch  0x00000001 , 0x000005a1 
- 00029498  0x00007d42 iforce  0x00000011 
- 00029499  0x00007d43 fetch  0x00000001 , 0x00000595 
- 00029500  0x00007d44 store  0x00000001 , 0x000005a1 
- 00029501  0x00007d45 deposit  0x00000011 
- 00029502  0x00007d46 store  0x00000001 , 0x00000595 
- 00029503  0x00007d47 rtn 
- 00029504  0x00007d4a and  0x00000002 , 0x0000000f , 0x00000012 
- 00029505  0x00007d4c and  0x00000002 , 0x0000000f , 0x0000003f 
- 00029506  0x00007d4d arg  0x00000592 , 0x00000005 
- 00029507  0x00007d4e iadd  0x00000005 , 0x00000005 
- 00029508  0x00007d4f ifetch  0x00000001 , 0x00000005 
- 00029509  0x00007d50 iforce  0x00000013 
- 00029510  0x00007d51 deposit  0x00000011 
- 00029511  0x00007d52 istore  0x00000001 , 0x00000005 
- 00029512  0x00007d53 copy  0x00000013 , 0x00000011 
- 00029513  0x00007d54 rshift4  0x00000002 , 0x00000002 
- 00029514  0x00007d55 loop  0x00007341 
- 00029515  0x00007d56 setarg  0x00000592 
- 00029516  0x00007d57 iadd  0x00000012 , 0x00000005 
- 00029517  0x00007d58 deposit  0x00000011 
- 00029518  0x00007d59 istore  0x00000001 , 0x00000005 
- 00029519  0x00007d5a rtn 
- 00029520  0x00007d5d enable  0x00000028 
- 00029521  0x00007d5e branch  0x00007353 
- 00029522  0x00007d61 disable  0x00000028 
- 00029523  0x00007d63 force  0x00000010 , 0x00000039 
- 00029524  0x00007d65 ifetcht  0x00000001 , 0x00000011 
- 00029525  0x00007d66 ifetch  0x00000001 , 0x00000012 
- 00029526  0x00007d67 branch  0x00007359 , 0x00000028 
- 00029527  0x00007d68 ixor  0x00000002 , 0x0000003f 
- 00029528  0x00007d69 branch  0x0000735a 
- 00029529  0x00007d6b iadd  0x00000002 , 0x0000003f 
- 00029530  0x00007d6d istore  0x00000001 , 0x00000005 
- 00029531  0x00007d6e increase  0x00000001 , 0x00000011 
- 00029532  0x00007d6f increase  0x00000001 , 0x00000012 
- 00029533  0x00007d70 loop  0x00007354 
- 00029534  0x00007d71 rtn 
- 00029535  0x00007d75 arg  0x000005b2 , 0x00000005 
- 00029536  0x00007d76 ifetch  0x00000006 , 0x00000011 
- 00029537  0x00007d77 istore  0x00000006 , 0x00000005 
- 00029538  0x00007d78 branch  0x00007365 , 0x00000028 
- 00029539  0x00007d79 ifetch  0x00000006 , 0x00000011 
- 00029540  0x00007d7a branch  0x00007366 
- 00029541  0x00007d7c ifetch  0x00000006 , 0x00000006 
- 00029542  0x00007d7e istore  0x00000006 , 0x00000005 
- 00029543  0x00007d7f ifetch  0x00000004 , 0x00000011 
- 00029544  0x00007d80 istore  0x00000004 , 0x00000005 
- 00029545  0x00007d81 rtn 
- 00029546  0x00007d84 arg  0x000041be , 0x00000006 
- 00029547  0x00007d85 arg  0x000005a2 , 0x00000005 
- 00029548  0x00007d86 arg  0x00000000 , 0x00000002 
- 00029549  0x00007d87 setarg  0x008395a7 
- 00029550  0x00007d88 call  0x0000738b 
- 00029551  0x00007d89 setarg  0x00b3c1df 
- 00029552  0x00007d8a call  0x0000738b 
- 00029553  0x00007d8b setarg  0x0000e5e9 
- 00029554  0x00007d8c call  0x0000738c 
- 00029555  0x00007d8d copy  0x00000002 , 0x00000014 
- 00029556  0x00007d8e disable  0x00000028 
- 00029557  0x00007d8f call  0x00007379 
- 00029558  0x00007d90 copy  0x00000014 , 0x00000002 
- 00029559  0x00007d91 enable  0x00000028 
- 00029560  0x00007d92 branch  0x00007379 
- 00029561  0x00007d95 force  0x00000008 , 0x00000039 
- 00029562  0x00007d97 ifetch  0x00000001 , 0x00000006 
- 00029563  0x00007d98 compare  0x00000001 , 0x00000039 , 0x00000001 
- 00029564  0x00007d99 branch  0x00007380 , 0x00000028 
- 00029565  0x00007d9a branch  0x00007381 , 0x00000001 
- 00029566  0x00007d9c iadd  0x00000002 , 0x0000003f 
- 00029567  0x00007d9d branch  0x00007382 
- 00029568  0x00007d9f branch  0x0000737e , 0x00000001 
- 00029569  0x00007da1 ixor  0x00000002 , 0x0000003f 
- 00029570  0x00007da3 istore  0x00000001 , 0x00000005 
- 00029571  0x00007da4 rshift8  0x00000002 , 0x00000002 
- 00029572  0x00007da5 loop  0x0000737a 
- 00029573  0x00007da6 rtn 
- 00029574  0x00007da9 fetch  0x00000006 , 0x00000596 
- 00029575  0x00007daa store  0x00000006 , 0x00000056 
- 00029576  0x00007dab ifetch  0x00000006 , 0x00000006 
- 00029577  0x00007dac istore  0x00000006 , 0x00000005 
- 00029578  0x00007dad rtn 
- 00029579  0x00007db0 lshift8  0x00000002 , 0x00000002 
- 00029580  0x00007db2 lshift16  0x00000002 , 0x00000002 
- 00029581  0x00007db3 ior  0x00000002 , 0x00000002 
- 00029582  0x00007db4 rtn 
- 00029583  0x00007db9 branch  0x0000738f 
- 00029584  0x00007dbe bpatchx  0x000000e0 , 0x0000403c 
- 00029585  0x00007dbf call  0x0000742b 
- 00029586  0x00007dc0 arg  0x00004419 , 0x00000005 
- 00029587  0x00007dc1 branch  0x00007497 
- 00029588  0x00007dc5 arg  0x0000443a , 0x00000005 
- 00029589  0x00007dc6 branch  0x00007397 , 0x00000029 
- 00029590  0x00007dc7 arg  0x0000042f , 0x00000005 
- 00029591  0x00007dc9 copy  0x00000006 , 0x00000011 
- 00029592  0x00007dca call  0x00007ebf 
- 00029593  0x00007dcb call  0x00007440 
- 00029594  0x00007dcc arg  0x0000442a , 0x00000006 
- 00029595  0x00007dcd branch  0x000074b0 
- 00029596  0x00007dd0 arg  0x0000042f , 0x00000011 
- 00029597  0x00007dd1 branch  0x0000739f , 0x00000029 
- 00029598  0x00007dd2 arg  0x0000443a , 0x00000011 
- 00029599  0x00007dd4 copy  0x00000011 , 0x00000005 
- 00029600  0x00007dd5 call  0x0000630c 
- 00029601  0x00007dd6 branch  0x00007440 
- 00029602  0x00007dd9 arg  0x000044aa , 0x00000006 
- 00029603  0x00007dda call  0x00007486 
- 00029604  0x00007ddb arg  0x00004419 , 0x00000006 
- 00029605  0x00007ddc call  0x00007487 
- 00029606  0x00007ddd force  0x00000038 , 0x00000036 
- 00029607  0x00007dde force  0x00000000 , 0x00000036 
- 00029608  0x00007ddf call  0x0000741d 
- 00029609  0x00007de0 arg  0x0000047c , 0x00000005 
- 00029610  0x00007de1 branch  0x00007497 
- 00029611  0x00007de5 force  0x00000049 , 0x0000003f 
- 00029612  0x00007de6 branch  0x000073ae 
- 00029613  0x00007de8 force  0x00000001 , 0x0000003f 
- 00029614  0x00007dea force  0x00000000 , 0x00000038 
- 00029615  0x00007deb lshift8  0x00000002 , 0x0000002f 
- 00029616  0x00007dec ior  0x0000002f , 0x0000002f 
- 00029617  0x00007ded increase  0x00000001 , 0x00000038 
- 00029618  0x00007dee rshift8  0x00000002 , 0x0000002f 
- 00029619  0x00007def rshift16  0x0000002f , 0x0000002f 
- 00029620  0x00007df0 fetch  0x00000002 , 0x00004411 
- 00029621  0x00007df1 lshift16 , 0x0000003f , 0x0000003f 
- 00029622  0x00007df2 ior  0x0000002f , 0x0000002f 
- 00029623  0x00007df3 increase  0x00000001 , 0x00000038 
- 00029624  0x00007df4 ifetch  0x00000004 , 0x00000006 
- 00029625  0x00007df5 iforce  0x0000002f 
- 00029626  0x00007df6 increase  0x00000001 , 0x00000038 
- 00029627  0x00007df7 ifetch  0x00000002 , 0x00000006 
- 00029628  0x00007df8 byteswap  0x00000011 , 0x0000002f 
- 00029629  0x00007df9 lshift16  0x0000002f , 0x0000002f 
- 00029630  0x00007dfa ior  0x0000002f , 0x0000002f 
- 00029631  0x00007dfb increase  0x00000001 , 0x00000038 
- 00029632  0x00007dfc rtn 
- 00029633  0x00007e01 add  0x00000013 , 0x00000001 , 0x00000006 
- 00029634  0x00007e02 ifetch  0x00000001 , 0x00000006 
- 00029635  0x00007e03 iforce  0x00000011 
- 00029636  0x00007e04 call  0x000073ab 
- 00029637  0x00007e05 call  0x0000741f 
- 00029638  0x00007e07 force  0x00000000 , 0x00000038 
- 00029639  0x00007e08 ifetch  0x00000001 , 0x00000013 
- 00029640  0x00007e09 and_into  0x00000003 , 0x0000003f 
- 00029641  0x00007e0a lshift16  0x0000003f , 0x0000002f 
- 00029642  0x00007e0b set1  0x00000008 , 0x0000002f 
- 00029643  0x00007e0c call  0x0000748f 
- 00029644  0x00007e0d call  0x00007422 
- 00029645  0x00007e0f copy  0x00000011 , 0x00000039 
- 00029646  0x00007e10 add  0x00000013 , 0x00000002 , 0x00000006 
- 00029647  0x00007e11 call  0x0000746e 
- 00029648  0x00007e13 call  0x00007478 
- 00029649  0x00007e14 call  0x00007422 
- 00029650  0x00007e15 deposit  0x00000039 
- 00029651  0x00007e16 branch  0x000073d5 , 0x00000034 
- 00029652  0x00007e17 branch  0x000073d0 
- 00029653  0x00007e19 force  0x0000000c , 0x00000038 
- 00029654  0x00007e1a deposit  0x0000002f 
- 00029655  0x00007e1b store  0x00000004 , 0x00000417 
- 00029656  0x00007e1c rtn 
- 00029657  0x00007e1f increase  0x00000001 , 0x00000011 
- 00029658  0x00007e20 call  0x000073ad 
- 00029659  0x00007e21 copy  0x00000013 , 0x00000006 
- 00029660  0x00007e22 call  0x00007482 
- 00029661  0x00007e23 call  0x00007425 
- 00029662  0x00007e24 call  0x0000749e 
- 00029663  0x00007e25 increase  0x00000010 , 0x00000013 
- 00029664  0x00007e26 increase  0xfffffff0 , 0x00000012 
- 00029665  0x00007e27 branch  0x000073d9 , 0x00000002 
- 00029666  0x00007e28 rtn 
- 00029667  0x00007e2b bpatchx  0x000000e1 , 0x0000403c 
- 00029668  0x00007e2c arg  0x000043dc , 0x00000013 
- 00029669  0x00007e2d fetcht  0x00000005 , 0x00004403 
- 00029670  0x00007e2e call  0x000073c1 
- 00029671  0x00007e2f force  0x00000008 , 0x00000038 
- 00029672  0x00007e30 iforce  0x0000002f 
- 00029673  0x00007e31 force  0x00000000 , 0x00000011 
- 00029674  0x00007e32 call  0x000073ad 
- 00029675  0x00007e33 call  0x00007425 
- 00029676  0x00007e34 arg  0x000043de , 0x00000013 
- 00029677  0x00007e35 fetch  0x00000001 , 0x000043dd 
- 00029678  0x00007e36 add  0x0000003f , 0xffffffff , 0x00000012 
- 00029679  0x00007e37 iadd  0x00000013 , 0x00000005 
- 00029680  0x00007e38 force  0x0000000c , 0x00000038 
- 00029681  0x00007e39 deposit  0x0000002f 
- 00029682  0x00007e3a istore  0x00000004 , 0x00000005 
- 00029683  0x00007e3b call  0x000073d9 
- 00029684  0x00007e3c fetch  0x00000001 , 0x000043dd 
- 00029685  0x00007e3d increase  0x00000004 , 0x0000003f 
- 00029686  0x00007e3e store  0x00000001 , 0x000043dd 
- 00029687  0x00007e3f fetcht  0x00000005 , 0x00004403 
- 00029688  0x00007e40 increase  0x00000001 , 0x00000002 
- 00029689  0x00007e41 storet  0x00000005 , 0x00004403 
- 00029690  0x00007e42 rtn 
- 00029691  0x00007e45 bpatchx  0x000000e2 , 0x0000403c 
- 00029692  0x00007e46 fetch  0x00000001 , 0x000002da 
- 00029693  0x00007e47 sub  0x0000003f , 0x00000014 , 0x0000003e 
- 00029694  0x00007e48 branch  0x000073ff , 0x00000002 
- 00029695  0x00007e4a arg  0x000002db , 0x00000013 
- 00029696  0x00007e4b add  0x0000003f , 0xffffffff , 0x00000012 
- 00029697  0x00007e4c increase  0xfffffffc , 0x0000003f 
- 00029698  0x00007e4d store  0x00000001 , 0x000002da 
- 00029699  0x00007e4e iadd  0x00000013 , 0x00000006 
- 00029700  0x00007e4f ifetch  0x00000004 , 0x00000006 
- 00029701  0x00007e50 force  0x00000008 , 0x00000038 
- 00029702  0x00007e51 iforce  0x0000002f 
- 00029703  0x00007e52 force  0x00000000 , 0x00000011 
- 00029704  0x00007e53 fetcht  0x00000005 , 0x00004408 
- 00029705  0x00007e54 call  0x000073ad 
- 00029706  0x00007e55 call  0x00007425 
- 00029707  0x00007e56 force  0x0000000c , 0x00000038 
- 00029708  0x00007e57 deposit  0x0000002f 
- 00029709  0x00007e58 store  0x00000004 , 0x0000041b 
- 00029710  0x00007e59 call  0x000073d9 
- 00029711  0x00007e5a arg  0x000002d9 , 0x00000013 
- 00029712  0x00007e5b call  0x000073c1 
- 00029713  0x00007e5c fetcht  0x00000004 , 0x0000041b 
- 00029714  0x00007e5d isub  0x00000002 , 0x0000003f 
- 00029715  0x00007e5e nrtn  0x00000034 
- 00029716  0x00007e5f fetch  0x00000004 , 0x0000440d 
- 00029717  0x00007e60 isub  0x00000002 , 0x0000003f 
- 00029718  0x00007e61 rtn  0x00000034 
- 00029719  0x00007e62 storet  0x00000004 , 0x0000440d 
- 00029720  0x00007e63 fetch  0x00000005 , 0x00004408 
- 00029721  0x00007e64 increase  0x00000001 , 0x0000003f 
- 00029722  0x00007e65 store  0x00000005 , 0x00004408 
- 00029723  0x00007e66 force  0x00000000 , 0x0000003f 
- 00029724  0x00007e67 rtn 
- 00029725  0x00007e6a nbranch  0x0000741d , 0x00000037 
- 00029726  0x00007e6b rtn 
- 00029727  0x00007e6e force  0x00000030 , 0x00000036 
- 00029728  0x00007e6f force  0x00000000 , 0x00000036 
- 00029729  0x00007e70 branch  0x0000741d 
- 00029730  0x00007e73 force  0x00000032 , 0x00000036 
- 00029731  0x00007e74 force  0x00000002 , 0x00000036 
- 00029732  0x00007e75 branch  0x0000741d 
- 00029733  0x00007e78 force  0x00000034 , 0x00000036 
- 00029734  0x00007e79 force  0x00000004 , 0x00000036 
- 00029735  0x00007e7a branch  0x0000741d 
- 00029736  0x00007e7e force  0x00000001 , 0x00000036 
- 00029737  0x00007e7f force  0x00000000 , 0x00000036 
- 00029738  0x00007e80 rtn 
- 00029739  0x00007e82 force  0x00000000 , 0x00000038 
- 00029740  0x00007e83 fetch  0x00000004 , 0x0000042f 
- 00029741  0x00007e84 iforce  0x0000002f 
- 00029742  0x00007e85 increase  0x00000001 , 0x00000038 
- 00029743  0x00007e86 ifetch  0x00000004 , 0x00000006 
- 00029744  0x00007e87 iforce  0x0000002f 
- 00029745  0x00007e88 increase  0x00000001 , 0x00000038 
- 00029746  0x00007e89 fetch  0x00000004 , 0x0000443a 
- 00029747  0x00007e8a iforce  0x0000002f 
- 00029748  0x00007e8b increase  0x00000001 , 0x00000038 
- 00029749  0x00007e8c ifetch  0x00000004 , 0x00000006 
- 00029750  0x00007e8d iforce  0x0000002f 
- 00029751  0x00007e8e increase  0x00000001 , 0x00000038 
- 00029752  0x00007e8f call  0x00007492 
- 00029753  0x00007e90 increase  0xfffffffc , 0x00000038 
- 00029754  0x00007e91 fetch  0x00000004 , 0x000044c7 
- 00029755  0x00007e92 copy  0x0000003f , 0x0000002f 
- 00029756  0x00007e93 increase  0x00000004 , 0x00000038 
- 00029757  0x00007e94 force  0x00000038 , 0x00000036 
- 00029758  0x00007e95 force  0x00000008 , 0x00000036 
- 00029759  0x00007e96 branch  0x0000741d 
- 00029760  0x00007e9a bpatchx  0x000000e3 , 0x0000403c 
- 00029761  0x00007e9b fetch  0x00000006 , 0x000044a0 
- 00029762  0x00007e9c fetcht  0x00000006 , 0x0000044f 
- 00029763  0x00007e9d branch  0x00007446 , 0x00000029 
- 00029764  0x00007e9e fetch  0x00000006 , 0x0000044f 
- 00029765  0x00007e9f fetcht  0x00000006 , 0x000044a0 
- 00029766  0x00007ea1 force  0x00000008 , 0x00000038 
- 00029767  0x00007ea2 copy  0x00000002 , 0x0000002f 
- 00029768  0x00007ea3 increase  0x00000001 , 0x00000038 
- 00029769  0x00007ea4 rshift32  0x00000002 , 0x0000002f 
- 00029770  0x00007ea5 lshift16  0x0000003f , 0x0000003f 
- 00029771  0x00007ea6 ior  0x0000002f , 0x0000002f 
- 00029772  0x00007ea7 increase  0x00000001 , 0x00000038 
- 00029773  0x00007ea8 rshift32  0x0000003f , 0x0000002f 
- 00029774  0x00007ea9 increase  0x00000001 , 0x00000038 
- 00029775  0x00007eaa force  0x00000000 , 0x0000002f 
- 00029776  0x00007eab force  0x00000000 , 0x0000003f 
- 00029777  0x00007eac fetch  0x00000001 , 0x0000448e 
- 00029778  0x00007ead fetcht  0x00000001 , 0x00004485 
- 00029779  0x00007eae nbranch  0x00007456 , 0x00000029 
- 00029780  0x00007eb0 fetch  0x00000001 , 0x00004495 
- 00029781  0x00007eb1 fetcht  0x00000001 , 0x0000448e 
- 00029782  0x00007eb3 store  0x00000001 , 0x0000444a 
- 00029783  0x00007eb4 storet  0x00000001 , 0x0000444b 
- 00029784  0x00007eb5 force  0x00000000 , 0x00000038 
- 00029785  0x00007eb6 arg  0x0000444a , 0x00000012 
- 00029786  0x00007eb7 force  0x00000004 , 0x00000039 
- 00029787  0x00007eb9 ifetch  0x00000004 , 0x00000011 
- 00029788  0x00007eba ifetcht  0x00000004 , 0x00000012 
- 00029789  0x00007ebb ixor  0x00000002 , 0x0000002f 
- 00029790  0x00007ebc increase  0x00000001 , 0x00000038 
- 00029791  0x00007ebd increase  0x00000004 , 0x00000011 
- 00029792  0x00007ebe increase  0x00000004 , 0x00000012 
- 00029793  0x00007ebf loop  0x0000745b 
- 00029794  0x00007ec0 call  0x00007492 
- 00029795  0x00007ec1 increase  0xfffffffc , 0x00000038 
- 00029796  0x00007ec2 fetch  0x00000004 , 0x000044c7 
- 00029797  0x00007ec3 copy  0x0000003f , 0x0000002f 
- 00029798  0x00007ec4 increase  0x00000004 , 0x00000038 
- 00029799  0x00007ec5 force  0x00000038 , 0x00000036 
- 00029800  0x00007ec6 force  0x0000000c , 0x00000036 
- 00029801  0x00007ec7 call  0x0000741d 
- 00029802  0x00007ec9 call  0x00007491 
- 00029803  0x00007eca force  0x0000003a , 0x00000036 
- 00029804  0x00007ecb force  0x00000008 , 0x00000036 
- 00029805  0x00007ecc branch  0x0000741d 
- 00029806  0x00007ecf compare  0x00000000 , 0x00000039 , 0x00000003 
- 00029807  0x00007ed0 rtn  0x00000001 
- 00029808  0x00007ed1 deposit  0x00000006 
- 00029809  0x00007ed2 iadd  0x00000039 , 0x00000005 
- 00029810  0x00007ed3 force  0x00000000 , 0x0000003f 
- 00029811  0x00007ed5 istore  0x00000001 , 0x00000005 
- 00029812  0x00007ed6 increase  0x00000001 , 0x00000039 
- 00029813  0x00007ed7 compare  0x00000000 , 0x00000039 , 0x00000003 
- 00029814  0x00007ed8 rtn  0x00000001 
- 00029815  0x00007ed9 branch  0x00007473 
- 00029816  0x00007edc force  0x00000000 , 0x00000038 
- 00029817  0x00007ede deposit  0x00000039 
- 00029818  0x00007edf branch  0x0000747d , 0x00000034 
- 00029819  0x00007ee0 ifetch  0x00000004 , 0x00000006 
- 00029820  0x00007ee1 increase  0xfffffffc , 0x00000039 
- 00029821  0x00007ee3 iforce  0x0000002f 
- 00029822  0x00007ee4 increase  0x00000001 , 0x00000038 
- 00029823  0x00007ee5 compare  0x00000004 , 0x00000038 , 0x0000000f 
- 00029824  0x00007ee6 rtn  0x00000001 
- 00029825  0x00007ee7 branch  0x00007479 
- 00029826  0x00007eea force  0x00000008 , 0x00000038 
- 00029827  0x00007eeb branch  0x00007487 
- 00029828  0x00007eed force  0x00000004 , 0x00000038 
- 00029829  0x00007eee branch  0x00007487 
- 00029830  0x00007ef0 force  0x00000000 , 0x00000038 
- 00029831  0x00007ef2 force  0x00000004 , 0x00000039 
- 00029832  0x00007ef4 ifetch  0x00000004 , 0x00000006 
- 00029833  0x00007ef5 iforce  0x0000002f 
- 00029834  0x00007ef6 increase  0x00000001 , 0x00000038 
- 00029835  0x00007ef7 loop  0x00007488 
- 00029836  0x00007ef8 rtn 
- 00029837  0x00007efb arg  0x0000047c , 0x00000006 
- 00029838  0x00007efc branch  0x00007484 
- 00029839  0x00007eff force  0x00000004 , 0x00000039 
- 00029840  0x00007f00 branch  0x00007494 
- 00029841  0x00007f03 force  0x00000000 , 0x00000038 
- 00029842  0x00007f05 force  0x00000004 , 0x00000039 
- 00029843  0x00007f07 force  0x00000000 , 0x0000002f 
- 00029844  0x00007f09 increase  0x00000001 , 0x00000038 
- 00029845  0x00007f0a loop  0x00007493 
- 00029846  0x00007f0b rtn 
- 00029847  0x00007f0e force  0x0000000c , 0x00000038 
- 00029848  0x00007f0f force  0x00000004 , 0x00000039 
- 00029849  0x00007f11 deposit  0x0000002f 
- 00029850  0x00007f12 istore  0x00000004 , 0x00000005 
- 00029851  0x00007f13 increase  0x00000001 , 0x00000038 
- 00029852  0x00007f14 loop  0x00007499 
- 00029853  0x00007f15 rtn 
- 00029854  0x00007f18 force  0x0000000c , 0x00000038 
- 00029855  0x00007f19 copy  0x00000013 , 0x00000005 
- 00029856  0x00007f1a add  0x00000012 , 0x00000001 , 0x00000039 
- 00029857  0x00007f1b sub  0x00000039 , 0x0000000f , 0x0000003e 
- 00029858  0x00007f1c branch  0x000074a4 , 0x00000002 
- 00029859  0x00007f1d force  0x00000010 , 0x00000039 
- 00029860  0x00007f1f deposit  0x0000002f 
- 00029861  0x00007f20 sub  0x00000039 , 0x00000003 , 0x0000003e 
- 00029862  0x00007f21 branch  0x000074ac , 0x00000002 
- 00029863  0x00007f22 istore  0x00000004 , 0x00000005 
- 00029864  0x00007f23 increase  0xfffffffc , 0x00000039 
- 00029865  0x00007f24 rtn  0x00000005 
- 00029866  0x00007f25 increase  0x00000001 , 0x00000038 
- 00029867  0x00007f26 branch  0x000074a4 
- 00029868  0x00007f28 istore  0x00000001 , 0x00000005 
- 00029869  0x00007f29 rshift8  0x0000003f , 0x0000003f 
- 00029870  0x00007f2a loop  0x000074ac 
- 00029871  0x00007f2b rtn 
- 00029872  0x00007f2f force  0x0000000c , 0x00000038 
- 00029873  0x00007f30 force  0x00000004 , 0x00000039 
- 00029874  0x00007f32 ifetch  0x00000004 , 0x00000006 
- 00029875  0x00007f33 isub  0x0000002f , 0x0000003e 
- 00029876  0x00007f34 nrtn  0x00000005 
- 00029877  0x00007f35 increase  0x00000001 , 0x00000038 
- 00029878  0x00007f36 loop  0x000074b2 
- 00029879  0x00007f37 force  0x00000000 , 0x0000003e 
- 00029880  0x00007f38 rtn 
- 00029881  0x00007f3b hfetch  0x00000001 , 0x00008050 
- 00029882  0x00007f3c set0  0x00000000 , 0x0000003f 
- 00029883  0x00007f3d hstore  0x00000001 , 0x00008050 
- 00029884  0x00007f3e rtn 
- 00029885  0x00007f41 hfetch  0x00000001 , 0x00008050 
- 00029886  0x00007f42 set1  0x00000000 , 0x0000003f 
- 00029887  0x00007f43 hstore  0x00000001 , 0x00008050 
- 00029888  0x00007f44 rtn 
- 00029889  0x00007f47 arg  0x00000886 , 0x00000005 
- 00029890  0x00007f48 setsect  0x00000000 , 0x0003ffff 
- 00029891  0x00007f49 setsect  0x00000001 , 0x0003ffff 
- 00029892  0x00007f4a setsect  0x00000002 , 0x0003ffff 
- 00029893  0x00007f4b setsect  0x00000003 , 0x0003fbff 
- 00029894  0x00007f4c istore  0x00000009 , 0x00000005 
- 00029895  0x00007f4d setsect  0x00000000 , 0x0003ffff 
- 00029896  0x00007f4e setsect  0x00000001 , 0x0003ffff 
- 00029897  0x00007f4f setsect  0x00000002 , 0x0003ffff 
- 00029898  0x00007f50 setsect  0x00000003 , 0x0003ffff 
- 00029899  0x00007f51 istore  0x00000009 , 0x00000005 
- 00029900  0x00007f52 setsect  0x00000000 , 0x0003ffff 
- 00029901  0x00007f53 setsect  0x00000001 , 0x0003ffff 
- 00029902  0x00007f54 setsect  0x00000002 , 0x0003cfff 
- 00029903  0x00007f55 setsect  0x00000003 , 0x0003ffff 
- 00029904  0x00007f56 istore  0x00000009 , 0x00000005 
- 00029905  0x00007f57 setsect  0x00000000 , 0x0003ffff 
- 00029906  0x00007f58 setsect  0x00000001 , 0x0003ffff 
- 00029907  0x00007f59 setsect  0x00000002 , 0x0003ffef 
- 00029908  0x00007f5a setsect  0x00000003 , 0x0003ffff 
- 00029909  0x00007f5b istore  0x00000009 , 0x00000005 
- 00029910  0x00007f5c setsect  0x00000000 , 0x0003ffff 
- 00029911  0x00007f5d setsect  0x00000001 , 0x0003ffff 
- 00029912  0x00007f5e setsect  0x00000002 , 0x0003ffff 
- 00029913  0x00007f5f setsect  0x00000003 , 0x0003ffff 
- 00029914  0x00007f60 istore  0x00000009 , 0x00000005 
- 00029915  0x00007f61 setsect  0x00000000 , 0x0003ffff 
- 00029916  0x00007f62 setsect  0x00000001 , 0x00026c7f 
- 00029917  0x00007f63 setsect  0x00000002 , 0x0000146b 
- 00029918  0x00007f64 setsect  0x00000003 , 0x00037bb3 
- 00029919  0x00007f65 istore  0x00000009 , 0x00000005 
- 00029920  0x00007f66 setsect  0x00000000 , 0x0001feb8 
- 00029921  0x00007f67 setsect  0x00000001 , 0x00010c12 
- 00029922  0x00007f68 setsect  0x00000002 , 0x0002b722 
- 00029923  0x00007f69 setsect  0x00000003 , 0x00029fa6 
- 00029924  0x00007f6a istore  0x00000009 , 0x00000005 
- 00029925  0x00007f6b setsect  0x00000000 , 0x0000e70f 
- 00029926  0x00007f6c setsect  0x00000001 , 0x00016720 
- 00029927  0x00007f6d setsect  0x00000002 , 0x0000519e 
- 00029928  0x00007f6e setsect  0x00000003 , 0x00019084 
- 00029929  0x00007f6f istore  0x00000009 , 0x00000005 
- 00029930  0x00007f70 setsect  0x00000000 , 0x00031012 
- 00029931  0x00007f71 setsect  0x00000001 , 0x000360bf 
- 00029932  0x00007f72 setsect  0x00000002 , 0x0003f0af 
- 00029933  0x00007f73 setsect  0x00000003 , 0x000003d3 
- 00029934  0x00007f74 istore  0x00000009 , 0x00000005 
- 00029935  0x00007f75 setsect  0x00000000 , 0x0003a188 
- 00029936  0x00007f76 setsect  0x00000001 , 0x00003ad0 
- 00029937  0x00007f77 setsect  0x00000002 , 0x0003cbf2 
- 00029938  0x00007f78 setsect  0x00000003 , 0x000243d9 
- 00029939  0x00007f79 istore  0x00000009 , 0x00000005 
- 00029940  0x00007f7a setsect  0x00000000 , 0x0002b030 
- 00029941  0x00007f7b setsect  0x00000001 , 0x00036a03 
- 00029942  0x00007f7c setsect  0x00000002 , 0x00011188 
- 00029943  0x00007f7d setsect  0x00000003 , 0x0001e520 
- 00029944  0x00007f7e istore  0x00000009 , 0x00000005 
- 00029945  0x00007f7f setsect  0x00000000 , 0x0003a11e 
- 00029946  0x00007f80 setsect  0x00000001 , 0x0000fe5d 
- 00029947  0x00007f81 setsect  0x00000002 , 0x0000dd57 
- 00029948  0x00007f82 setsect  0x00000003 , 0x0001ac93 
- 00029949  0x00007f83 istore  0x00000009 , 0x00000005 
- 00029950  0x00007f84 setsect  0x00000000 , 0x000011ed 
- 00029951  0x00007f85 setsect  0x00000001 , 0x000218c4 
- 00029952  0x00007f86 setsect  0x00000002 , 0x00008da7 
- 00029953  0x00007f87 setsect  0x00000003 , 0x000257ff 
- 00029954  0x00007f88 istore  0x00000009 , 0x00000005 
- 00029955  0x00007f89 setsect  0x00000000 , 0x0003192b 
- 00029956  0x00007f8a setsect  0x00000001 , 0x00034641 
- 00029957  0x00007f8b setsect  0x00000002 , 0x0001be0c 
- 00029958  0x00007f8c setsect  0x00000003 , 0x000366ad 
- 00029959  0x00007f8d istore  0x00000009 , 0x00000005 
- 00029960  0x00007f8e setsect  0x00000000 , 0x00001f83 
- 00029961  0x00007f8f setsect  0x00000001 , 0x00015a23 
- 00029962  0x00007f90 setsect  0x00000002 , 0x0003f9b0 
- 00029963  0x00007f91 setsect  0x00000003 , 0x00003949 
- 00029964  0x00007f92 istore  0x00000009 , 0x00000005 
- 00029965  0x00007f93 setsect  0x00000000 , 0x00013a51 
- 00029966  0x00007f94 setsect  0x00000001 , 0x000153fd 
- 00029967  0x00007f95 setsect  0x00000002 , 0x0003372a 
- 00029968  0x00007f96 setsect  0x00000003 , 0x0000f1bb 
- 00029969  0x00007f97 istore  0x00000009 , 0x00000005 
- 00029970  0x00007f98 setsect  0x00000000 , 0x0003ae85 
- 00029971  0x00007f99 setsect  0x00000001 , 0x0001eed9 
- 00029972  0x00007f9a setsect  0x00000002 , 0x00009e66 
- 00029973  0x00007f9b setsect  0x00000003 , 0x000001a8 
- 00029974  0x00007f9c istore  0x00000008 , 0x00000005 
- 00029975  0x00007f9d rtn 
- 00029976  0x00007fa2 arg  0x0000091e , 0x00000005 
- 00029977  0x00007fa3 setsect  0x00000000 , 0x0003ffff 
- 00029978  0x00007fa4 setsect  0x00000001 , 0x0003ffff 
- 00029979  0x00007fa5 setsect  0x00000002 , 0x0003ffff 
- 00029980  0x00007fa6 setsect  0x00000003 , 0x0003ffff 
- 00029981  0x00007fa7 istore  0x00000009 , 0x00000005 
- 00029982  0x00007fa8 setsect  0x00000000 , 0x0003ffff 
- 00029983  0x00007fa9 setsect  0x00000001 , 0x0000003f 
- 00029984  0x00007faa setsect  0x00000002 , 0x00000000 
- 00029985  0x00007fab setsect  0x00000003 , 0x00000000 
- 00029986  0x00007fac istore  0x00000009 , 0x00000005 
- 00029987  0x00007fad setsect  0x00000000 , 0x00000000 
- 00029988  0x00007fae setsect  0x00000001 , 0x00000000 
- 00029989  0x00007faf setsect  0x00000002 , 0x00001000 
- 00029990  0x00007fb0 setsect  0x00000003 , 0x00000000 
- 00029991  0x00007fb1 istore  0x00000009 , 0x00000005 
- 00029992  0x00007fb2 setsect  0x00000000 , 0x0003ff00 
- 00029993  0x00007fb3 setsect  0x00000001 , 0x0003ffff 
- 00029994  0x00007fb4 setsect  0x00000002 , 0x0003ffcf 
- 00029995  0x00007fb5 setsect  0x00000003 , 0x0003ffff 
- 00029996  0x00007fb6 istore  0x00000009 , 0x00000005 
- 00029997  0x00007fb7 setsect  0x00000000 , 0x0003ffff 
- 00029998  0x00007fb8 setsect  0x00000001 , 0x0003ffff 
- 00029999  0x00007fb9 setsect  0x00000002 , 0x0003ffff 
- 00030000  0x00007fba setsect  0x00000003 , 0x000003ff 
- 00030001  0x00007fbb istore  0x00000009 , 0x00000005 
- 00030002  0x00007fbc setsect  0x00000000 , 0x00000000 
- 00030003  0x00007fbd setsect  0x00000001 , 0x00000000 
- 00030004  0x00007fbe setsect  0x00000002 , 0x00000000 
- 00030005  0x00007fbf setsect  0x00000003 , 0x00000000 
- 00030006  0x00007fc0 istore  0x00000009 , 0x00000005 
- 00030007  0x00007fc1 setsect  0x00000000 , 0x00010000 
- 00030008  0x00007fc2 setsect  0x00000001 , 0x00000000 
- 00030009  0x00007fc3 setsect  0x00000002 , 0x0003f000 
- 00030010  0x00007fc4 setsect  0x00000003 , 0x0003ffff 
- 00030011  0x00007fc5 istore  0x00000009 , 0x00000005 
- 00030012  0x00007fc6 setsect  0x00000000 , 0x000296ff 
- 00030013  0x00007fc7 setsect  0x00000001 , 0x00022630 
- 00030014  0x00007fc8 setsect  0x00000002 , 0x0003945d 
- 00030015  0x00007fc9 setsect  0x00000003 , 0x0003d284 
- 00030016  0x00007fca istore  0x00000009 , 0x00000005 
- 00030017  0x00007fcb setsect  0x00000000 , 0x000333a0 
- 00030018  0x00007fcc setsect  0x00000001 , 0x00004b7a 
- 00030019  0x00007fcd setsect  0x00000002 , 0x000037d8 
- 00030020  0x00007fce setsect  0x00000003 , 0x0003c9dc 
- 00030021  0x00007fcf istore  0x00000009 , 0x00000005 
- 00030022  0x00007fd0 setsect  0x00000000 , 0x0003a440 
- 00030023  0x00007fd1 setsect  0x00000001 , 0x0001b958 
- 00030024  0x00007fd2 setsect  0x00000002 , 0x00038bce 
- 00030025  0x00007fd3 setsect  0x00000003 , 0x0001091f 
- 00030026  0x00007fd4 istore  0x00000009 , 0x00000005 
- 00030027  0x00007fd5 setsect  0x00000000 , 0x0002e12c 
- 00030028  0x00007fd6 setsect  0x00000001 , 0x0001f47c 
- 00030029  0x00007fd7 setsect  0x00000002 , 0x000356b1 
- 00030030  0x00007fd8 setsect  0x00000003 , 0x0002fd47 
- 00030031  0x00007fd9 istore  0x00000009 , 0x00000005 
- 00030032  0x00007fda setsect  0x00000000 , 0x00006837 
- 00030033  0x00007fdb setsect  0x00000001 , 0x0002ed90 
- 00030034  0x00007fdc setsect  0x00000002 , 0x0001ecec 
- 00030035  0x00007fdd setsect  0x00000003 , 0x0001acc5 
- 00030036  0x00007fde istore  0x00000009 , 0x00000005 
- 00030037  0x00007fdf setsect  0x00000000 , 0x00023357 
- 00030038  0x00007fe0 setsect  0x00000001 , 0x00018af3 
- 00030039  0x00007fe1 setsect  0x00000002 , 0x0000f9e1 
- 00030040  0x00007fe2 setsect  0x00000003 , 0x000129f0 
- 00030041  0x00007fe3 istore  0x00000009 , 0x00000005 
- 00030042  0x00007fe4 setsect  0x00000000 , 0x0002e7eb 
- 00030043  0x00007fe5 setsect  0x00000001 , 0x0003e6e3 
- 00030044  0x00007fe6 setsect  0x00000002 , 0x0003e1a7 
- 00030045  0x00007fe7 setsect  0x00000003 , 0x00010b8b 
- 00030046  0x00007fe8 istore  0x00000009 , 0x00000005 
- 00030047  0x00007fe9 setsect  0x00000000 , 0x00024fe3 
- 00030048  0x00007fea setsect  0x00000001 , 0x000020ef 
- 00030049  0x00007feb setsect  0x00000002 , 0x0001b5a6 
- 00030050  0x00007fec setsect  0x00000003 , 0x0000dc2f 
- 00030051  0x00007fed istore  0x00000009 , 0x00000005 
- 00030052  0x00007fee setsect  0x00000000 , 0x00013860 
- 00030053  0x00007fef setsect  0x00000001 , 0x0002bd69 
- 00030054  0x00007ff0 setsect  0x00000002 , 0x0000391a 
- 00030055  0x00007ff1 setsect  0x00000003 , 0x0001b222 
- 00030056  0x00007ff2 istore  0x00000009 , 0x00000005 
- 00030057  0x00007ff3 rtn 
- 00030058  0x00007ff7 fetch  0x00000001 , 0x0000465a 
- 00030059  0x00007ff8 nbranch  0x0000757d , 0x00000034 
- 00030060  0x00007ff9 branch  0x00007a77 
- 00030061  0x00007ffc bpatchx  0x000000e4 , 0x0000403c 
- 00030062  0x00007ffd fetch  0x00000001 , 0x0000465a 
- 00030063  0x00007ffe rtn  0x00000034 
- 00030064  0x00007fff fetch  0x00000001 , 0x000045b1 
- 00030065  0x00008000 rtnne  0x00000001 
- 00030066  0x00008001 fetch  0x00000001 , 0x000044be 
- 00030067  0x00008002 rtn  0x00000034 
- 00030068  0x00008003 fetch  0x00000001 , 0x000044c3 
- 00030069  0x00008004 rtneq  0x00000003 
- 00030070  0x00008005 fetch  0x00000002 , 0x00004682 
- 00030071  0x00008006 bbit1  0x00000000 , 0x0000757b 
- 00030072  0x00008007 fetch  0x00000001 , 0x000044c0 
- 00030073  0x00008008 beq  0x00000000 , 0x00007a77 
- 00030074  0x00008009 rtn 
- 00030075  0x0000800b jam  0x00000000 , 0x000044c0 
- 00030076  0x0000800c rtn 
- 00030077  0x00008010 bpatchx  0x000000e5 , 0x0000403c 
- 00030078  0x00008011 fetch  0x00000001 , 0x0000465a 
- 00030079  0x00008012 branch  0x0000612b , 0x00000034 
- 00030080  0x00008013 call  0x00006124 
- 00030081  0x00008014 call  0x00007583 
- 00030082  0x00008015 branch  0x0000766d 
- 00030083  0x00008018 setarg  0x00000000 
- 00030084  0x00008019 store  0x00000008 , 0x000009ae 
- 00030085  0x0000801a store  0x00000004 , 0x000009b6 
- 00030086  0x0000801b store  0x00000007 , 0x0000465e 
- 00030087  0x0000801c rtn 
- 00030088  0x0000801f jam  0x00000001 , 0x000009b0 
- 00030089  0x00008020 branch  0x0000758d 
- 00030090  0x00008022 fetch  0x00000001 , 0x000045b1 
- 00030091  0x00008023 beq  0x00000001 , 0x0000768a 
- 00030092  0x00008024 branch  0x00002a8c 
- 00030093  0x00008026 fetch  0x00000001 , 0x000045b1 
- 00030094  0x00008027 beq  0x00000001 , 0x00007590 
- 00030095  0x00008028 branch  0x0000766d 
- 00030096  0x0000802b call  0x0000768a 
- 00030097  0x0000802c fetch  0x00000001 , 0x000009af 
- 00030098  0x0000802d nrtn  0x00000034 
- 00030099  0x0000802e jam  0x00000003 , 0x000009ae 
- 00030100  0x0000802f rtn 
- 00030101  0x00008033 call  0x000075b0 
- 00030102  0x00008034 arg  0x000009de , 0x00000011 
- 00030103  0x00008035 arg  0x00000866 , 0x00000005 
- 00030104  0x00008036 call  0x00007c79 
- 00030105  0x00008037 arg  0x000009be , 0x00000011 
- 00030106  0x00008038 arg  0x00000826 , 0x00000005 
- 00030107  0x00008039 call  0x00007c79 
- 00030108  0x0000803a arg  0x00000826 , 0x00000011 
- 00030109  0x0000803b arg  0x000009be , 0x00000012 
- 00030110  0x0000803c arg  0x00000826 , 0x00000005 
- 00030111  0x0000803d call  0x00007be1 
- 00030112  0x0000803e arg  0x0000093e , 0x00000011 
- 00030113  0x0000803f arg  0x000009be , 0x00000012 
- 00030114  0x00008040 arg  0x00000846 , 0x00000005 
- 00030115  0x00008041 call  0x00007be1 
- 00030116  0x00008042 arg  0x00000846 , 0x00000011 
- 00030117  0x00008043 arg  0x00000826 , 0x00000012 
- 00030118  0x00008044 arg  0x00000826 , 0x00000005 
- 00030119  0x00008045 call  0x00007c7d 
- 00030120  0x00008046 arg  0x00000806 , 0x00000011 
- 00030121  0x00008047 arg  0x00000826 , 0x00000012 
- 00030122  0x00008048 arg  0x00000806 , 0x00000005 
- 00030123  0x00008049 call  0x00007c7d 
- 00030124  0x0000804a arg  0x00000020 , 0x00000039 
- 00030125  0x0000804b arg  0x00000866 , 0x00000011 
- 00030126  0x0000804c arg  0x00000806 , 0x00000012 
- 00030127  0x0000804d branch  0x00007f88 
- 00030128  0x00008050 arg  0x0000097e , 0x00000011 
- 00030129  0x00008051 arg  0x00000806 , 0x00000005 
- 00030130  0x00008052 call  0x00007c79 
- 00030131  0x00008053 arg  0x0000095e , 0x00000011 
- 00030132  0x00008054 arg  0x00000826 , 0x00000005 
- 00030133  0x00008055 call  0x00007c79 
- 00030134  0x00008056 arg  0x00000826 , 0x00000011 
- 00030135  0x00008057 arg  0x0000095e , 0x00000012 
- 00030136  0x00008058 arg  0x00000826 , 0x00000005 
- 00030137  0x00008059 call  0x00007be1 
- 00030138  0x0000805a arg  0x0000093e , 0x00000011 
- 00030139  0x0000805b arg  0x0000095e , 0x00000012 
- 00030140  0x0000805c arg  0x00000846 , 0x00000005 
- 00030141  0x0000805d call  0x00007be1 
- 00030142  0x0000805e arg  0x00000846 , 0x00000011 
- 00030143  0x0000805f arg  0x00000826 , 0x00000012 
- 00030144  0x00008060 arg  0x00000826 , 0x00000005 
- 00030145  0x00008061 call  0x00007c7d 
- 00030146  0x00008062 arg  0x00000806 , 0x00000011 
- 00030147  0x00008063 arg  0x00000826 , 0x00000012 
- 00030148  0x00008064 arg  0x00000806 , 0x00000005 
- 00030149  0x00008065 branch  0x00007c96 
- 00030150  0x00008068 call  0x000075e1 
- 00030151  0x00008069 arg  0x000009e6 , 0x00000011 
- 00030152  0x0000806a arg  0x00000866 , 0x00000005 
- 00030153  0x0000806b call  0x000077a8 
- 00030154  0x0000806c arg  0x000009c6 , 0x00000011 
- 00030155  0x0000806d arg  0x00000826 , 0x00000005 
- 00030156  0x0000806e call  0x000077a8 
- 00030157  0x0000806f arg  0x00000826 , 0x00000011 
- 00030158  0x00008070 arg  0x000009c6 , 0x00000012 
- 00030159  0x00008071 arg  0x00000826 , 0x00000005 
- 00030160  0x00008072 call  0x00007786 
- 00030161  0x00008073 arg  0x0000089e , 0x00000011 
- 00030162  0x00008074 arg  0x000009c6 , 0x00000012 
- 00030163  0x00008075 arg  0x00000846 , 0x00000005 
- 00030164  0x00008076 call  0x00007786 
- 00030165  0x00008077 arg  0x00000846 , 0x00000011 
- 00030166  0x00008078 arg  0x00000826 , 0x00000012 
- 00030167  0x00008079 arg  0x00000826 , 0x00000005 
- 00030168  0x0000807a call  0x00007755 
- 00030169  0x0000807b arg  0x00000806 , 0x00000011 
- 00030170  0x0000807c arg  0x00000826 , 0x00000012 
- 00030171  0x0000807d arg  0x00000806 , 0x00000005 
- 00030172  0x0000807e call  0x00007755 
- 00030173  0x0000807f arg  0x00000018 , 0x00000039 
- 00030174  0x00008080 arg  0x00000866 , 0x00000011 
- 00030175  0x00008081 arg  0x00000806 , 0x00000012 
- 00030176  0x00008082 branch  0x00007f88 
- 00030177  0x00008085 arg  0x000008e6 , 0x00000011 
- 00030178  0x00008086 arg  0x00000806 , 0x00000005 
- 00030179  0x00008087 call  0x000077a8 
- 00030180  0x00008088 arg  0x000008ce , 0x00000011 
- 00030181  0x00008089 arg  0x00000826 , 0x00000005 
- 00030182  0x0000808a call  0x000077a8 
- 00030183  0x0000808b arg  0x00000826 , 0x00000011 
- 00030184  0x0000808c arg  0x000008ce , 0x00000012 
- 00030185  0x0000808d arg  0x00000826 , 0x00000005 
- 00030186  0x0000808e call  0x00007786 
- 00030187  0x0000808f arg  0x0000089e , 0x00000011 
- 00030188  0x00008090 arg  0x000008ce , 0x00000012 
- 00030189  0x00008091 arg  0x00000846 , 0x00000005 
- 00030190  0x00008092 call  0x00007786 
- 00030191  0x00008093 arg  0x00000846 , 0x00000011 
- 00030192  0x00008094 arg  0x00000826 , 0x00000012 
- 00030193  0x00008095 arg  0x00000826 , 0x00000005 
- 00030194  0x00008096 call  0x00007755 
- 00030195  0x00008097 arg  0x00000806 , 0x00000011 
- 00030196  0x00008098 arg  0x00000826 , 0x00000012 
- 00030197  0x00008099 arg  0x00000806 , 0x00000005 
- 00030198  0x0000809a branch  0x00007758 
- 00030199  0x0000809e fetch  0x00000001 , 0x000009b2 
- 00030200  0x0000809f bne  0x00000000 , 0x00007615 
- 00030201  0x000080a0 call  0x00007612 
- 00030202  0x000080a1 arg  0x00000a7e , 0x00000005 
- 00030203  0x000080a2 setarg  0x00000a2e 
- 00030204  0x000080a3 istore  0x00000002 , 0x00000005 
- 00030205  0x000080a4 setarg  0x00004642 
- 00030206  0x000080a5 istore  0x00000002 , 0x00000005 
- 00030207  0x000080a6 setarg  0x000009de 
- 00030208  0x000080a7 istore  0x00000002 , 0x00000005 
- 00030209  0x000080a8 branch  0x00007609 
- 00030210  0x000080aa arg  0x00000a7e , 0x00000005 
- 00030211  0x000080ab setarg  0x00000a3e 
- 00030212  0x000080ac istore  0x00000002 , 0x00000005 
- 00030213  0x000080ad setarg  0x000009de 
- 00030214  0x000080ae istore  0x00000002 , 0x00000005 
- 00030215  0x000080af setarg  0x00004642 
- 00030216  0x000080b0 istore  0x00000002 , 0x00000005 
- 00030217  0x000080b2 call  0x000079a0 
- 00030218  0x000080b3 fetch  0x00000001 , 0x000009af 
- 00030219  0x000080b4 beq  0x00000004 , 0x0000760f 
- 00030220  0x000080b5 jam  0x00000001 , 0x000009b0 
- 00030221  0x000080b6 jam  0x00000005 , 0x000009ae 
- 00030222  0x000080b7 rtn 
- 00030223  0x000080b9 jam  0x00000014 , 0x000009af 
- 00030224  0x000080ba call  0x0000758a 
- 00030225  0x000080bb branch  0x000076d8 
- 00030226  0x000080be arg  0x00000a1e , 0x00000005 
- 00030227  0x000080bf force  0x00000008 , 0x00000007 
- 00030228  0x000080c0 branch  0x000076a2 
- 00030229  0x000080c3 jam  0x00000001 , 0x000009b0 
- 00030230  0x000080c4 rtn 
- 00030231  0x000080c8 bpatchx  0x000000e6 , 0x0000403c 
- 00030232  0x000080c9 arg  0x00000727 , 0x00000005 
- 00030233  0x000080ca fetch  0x00000006 , 0x000040a0 
- 00030234  0x000080cb istore  0x00000006 , 0x00000005 
- 00030235  0x000080cc fetch  0x00000006 , 0x00000040 
- 00030236  0x000080cd istore  0x00000006 , 0x00000005 
- 00030237  0x000080ce fetch  0x00000003 , 0x0000465e 
- 00030238  0x000080cf istore  0x00000003 , 0x00000005 
- 00030239  0x000080d1 call  0x00007a0d 
- 00030240  0x000080d3 arg  0x00000a4e , 0x00000011 
- 00030241  0x000080d4 arg  0x00000a5e , 0x00000012 
- 00030242  0x000080d5 force  0x00000004 , 0x00000007 
- 00030243  0x000080d6 call  0x000076a7 
- 00030244  0x000080d7 nbranch  0x00007631 , 0x00000001 
- 00030245  0x000080d9 call  0x00007628 
- 00030246  0x000080da jam  0x00000041 , 0x0000007d 
- 00030247  0x000080db branch  0x000062f8 
- 00030248  0x000080de fetch  0x00000001 , 0x000009af 
- 00030249  0x000080df beq  0x00000009 , 0x0000762e 
- 00030250  0x000080e0 jam  0x0000000a , 0x000009ae 
- 00030251  0x000080e1 jam  0x00000001 , 0x000009b0 
- 00030252  0x000080e2 jam  0x00000003 , 0x0000007c 
- 00030253  0x000080e3 rtn 
- 00030254  0x000080e5 jam  0x00000003 , 0x0000007c 
- 00030255  0x000080e6 jam  0x00000015 , 0x000009af 
- 00030256  0x000080e7 branch  0x000076d8 
- 00030257  0x000080eb fetch  0x00000001 , 0x000009af 
- 00030258  0x000080ec beq  0x00000009 , 0x00007637 
- 00030259  0x000080ed jam  0x00000000 , 0x000009ae 
- 00030260  0x000080ee jam  0x00000004 , 0x0000007c 
- 00030261  0x000080f0 jam  0x00000005 , 0x0000007e 
- 00030262  0x000080f1 rtn 
- 00030263  0x000080f3 jam  0x00000004 , 0x0000007c 
- 00030264  0x000080f4 jam  0x00000000 , 0x000009af 
- 00030265  0x000080f5 rtn 
- 00030266  0x000080f8 fetch  0x00000001 , 0x000009b3 
- 00030267  0x000080f9 beq  0x00000001 , 0x0000763e 
- 00030268  0x000080fa jam  0x0000000a , 0x000009af 
- 00030269  0x000080fb branch  0x000076d8 
- 00030270  0x000080fd arg  0x00000727 , 0x00000005 
- 00030271  0x000080fe fetch  0x00000006 , 0x00000040 
- 00030272  0x000080ff istore  0x00000006 , 0x00000005 
- 00030273  0x00008100 fetch  0x00000006 , 0x000040a0 
- 00030274  0x00008101 istore  0x00000006 , 0x00000005 
- 00030275  0x00008102 fetch  0x00000003 , 0x0000465b 
- 00030276  0x00008103 istore  0x00000003 , 0x00000005 
- 00030277  0x00008105 call  0x00007a24 
- 00030278  0x00008106 fetch  0x00000001 , 0x000009af 
- 00030279  0x00008107 beq  0x0000000a , 0x0000764b 
- 00030280  0x00008108 jam  0x0000000b , 0x000009ae 
- 00030281  0x00008109 jam  0x00000001 , 0x000009b0 
- 00030282  0x0000810a rtn 
- 00030283  0x0000810c jam  0x0000000b , 0x000009af 
- 00030284  0x0000810d jam  0x00000001 , 0x000009b1 
- 00030285  0x0000810e rtn 
- 00030286  0x00008111 arg  0x00000a7e , 0x00000005 
- 00030287  0x00008112 fetch  0x00000006 , 0x00000040 
- 00030288  0x00008113 istore  0x00000006 , 0x00000005 
- 00030289  0x00008114 fetch  0x00000006 , 0x000040a0 
- 00030290  0x00008115 istore  0x00000006 , 0x00000005 
- 00030291  0x00008116 setarg  0x00000a2e 
- 00030292  0x00008117 istore  0x00000002 , 0x00000005 
- 00030293  0x00008118 setarg  0x00000a3e 
- 00030294  0x00008119 istore  0x00000002 , 0x00000005 
- 00030295  0x0000811a branch  0x00007662 
- 00030296  0x0000811c jam  0x0000000f , 0x000009ae 
- 00030297  0x0000811d arg  0x00000a7e , 0x00000005 
- 00030298  0x0000811e fetch  0x00000006 , 0x000040a0 
- 00030299  0x0000811f istore  0x00000006 , 0x00000005 
- 00030300  0x00008120 fetch  0x00000006 , 0x00000040 
- 00030301  0x00008121 istore  0x00000006 , 0x00000005 
- 00030302  0x00008122 setarg  0x00000a3e 
- 00030303  0x00008123 istore  0x00000002 , 0x00000005 
- 00030304  0x00008124 setarg  0x00000a2e 
- 00030305  0x00008125 istore  0x00000002 , 0x00000005 
- 00030306  0x00008128 arg  0x00000727 , 0x00000005 
- 00030307  0x00008129 fetch  0x00000006 , 0x00000a7e 
- 00030308  0x0000812a istore  0x00000006 , 0x00000005 
- 00030309  0x0000812b fetch  0x00000006 , 0x00000a84 
- 00030310  0x0000812c istore  0x00000006 , 0x00000005 
- 00030311  0x0000812e call  0x000079d7 
- 00030312  0x00008131 jam  0x00000001 , 0x000041bd 
- 00030313  0x00008132 arg  0x000041be , 0x00000005 
- 00030314  0x00008133 arg  0x00000a4e , 0x00000006 
- 00030315  0x00008134 call  0x00007ebf 
- 00030316  0x00008135 branch  0x000021c4 
- 00030317  0x00008139 bpatchx  0x000000e7 , 0x0000403c 
- 00030318  0x0000813a fetch  0x00000001 , 0x000045b1 
- 00030319  0x0000813b rtnne  0x00000000 
- 00030320  0x0000813c fetch  0x00000001 , 0x000009b2 
- 00030321  0x0000813d rtnne  0x00000000 
- 00030322  0x0000813e arg  0x00004612 , 0x00000005 
- 00030323  0x0000813f force  0x0000000b , 0x00000007 
- 00030324  0x00008140 call  0x000076a2 
- 00030325  0x00008141 random  0x0000003f 
- 00030326  0x00008142 rshift  0x0000003f , 0x0000003f 
- 00030327  0x00008143 istore  0x00000002 , 0x00000005 
- 00030328  0x00008145 arg  0x000006be , 0x00000005 
- 00030329  0x00008146 arg  0x00004612 , 0x00000006 
- 00030330  0x00008147 call  0x00007ebe 
- 00030331  0x00008149 arg  0x000005e6 , 0x00000005 
- 00030332  0x0000814a arg  0x000008ce , 0x00000006 
- 00030333  0x0000814b call  0x00007ebc 
- 00030334  0x0000814d arg  0x00000616 , 0x00000005 
- 00030335  0x0000814e call  0x00007ec5 
- 00030336  0x0000814f jam  0x00000001 , 0x00000616 
- 00030337  0x00008151 call  0x00007a5d 
- 00030338  0x00008152 jam  0x00000001 , 0x000009b2 
- 00030339  0x00008153 rtn 
- 00030340  0x00008156 arg  0x0000462a , 0x00000005 
- 00030341  0x00008157 arg  0x0000062e , 0x00000006 
- 00030342  0x00008158 call  0x00007ebc 
- 00030343  0x00008159 jam  0x00000001 , 0x000045b1 
- 00030344  0x0000815a jam  0x00000000 , 0x000009b2 
- 00030345  0x0000815b rtn 
- 00030346  0x0000815e bpatchx  0x000000e8 , 0x0000403d 
- 00030347  0x0000815f fetch  0x00000001 , 0x000009b9 
- 00030348  0x00008160 rtnne  0x00000000 
- 00030349  0x00008161 fetch  0x00000001 , 0x000009b2 
- 00030350  0x00008162 rtnne  0x00000000 
- 00030351  0x00008164 arg  0x000006be , 0x00000005 
- 00030352  0x00008165 arg  0x00004612 , 0x00000006 
- 00030353  0x00008166 call  0x00007ebe 
- 00030354  0x00008168 arg  0x000005e6 , 0x00000005 
- 00030355  0x00008169 arg  0x000009c6 , 0x00000006 
- 00030356  0x0000816a call  0x00007ebc 
- 00030357  0x0000816c arg  0x00000616 , 0x00000005 
- 00030358  0x0000816d call  0x00007ec5 
- 00030359  0x0000816e jam  0x00000001 , 0x00000616 
- 00030360  0x00008170 call  0x00007a5d 
- 00030361  0x00008171 jam  0x00000002 , 0x000009b2 
- 00030362  0x00008172 rtn 
- 00030363  0x00008175 jam  0x00000001 , 0x000009b3 
- 00030364  0x00008176 arg  0x00000a06 , 0x00000005 
- 00030365  0x00008177 arg  0x0000062e , 0x00000006 
- 00030366  0x00008178 call  0x00007ebe 
- 00030367  0x00008179 jam  0x00000001 , 0x000009b9 
- 00030368  0x0000817a jam  0x00000000 , 0x000009b2 
- 00030369  0x0000817b rtn 
- 00030370  0x0000817e increase  0xffffffff , 0x00000007 
- 00030371  0x0000817f nrtn  0x00000002 
- 00030372  0x00008180 random  0x0000003f 
- 00030373  0x00008181 istore  0x00000002 , 0x00000005 
- 00030374  0x00008182 branch  0x000076a2 
- 00030375  0x00008184 increase  0xffffffff , 0x00000007 
- 00030376  0x00008185 nbranch  0x000076b3 , 0x00000002 
- 00030377  0x00008186 ifetch  0x00000004 , 0x00000011 
- 00030378  0x00008187 copy  0x0000003f , 0x00000002 
- 00030379  0x00008188 ifetch  0x00000004 , 0x00000012 
- 00030380  0x00008189 iflip  0x00000002 , 0x0000003f 
- 00030381  0x0000818a nbranch  0x000076b1 , 0x00000005 
- 00030382  0x0000818b increase  0x00000004 , 0x00000011 
- 00030383  0x0000818c increase  0x00000004 , 0x00000012 
- 00030384  0x0000818d branch  0x000076a7 
- 00030385  0x0000818f disable  0x00000001 
- 00030386  0x00008190 rtn 
- 00030387  0x00008192 enable  0x00000001 
- 00030388  0x00008193 rtn 
- 00030389  0x0000819b bpatchx  0x000000e9 , 0x0000403d 
- 00030390  0x0000819c fetch  0x00000001 , 0x000009b0 
- 00030391  0x0000819d rtn  0x00000034 
- 00030392  0x0000819e call  0x000062bc 
- 00030393  0x0000819f nrtn  0x00000034 
- 00030394  0x000081a0 jam  0x00000000 , 0x000009b0 
- 00030395  0x000081a1 fetch  0x00000001 , 0x000009ae 
- 00030396  0x000081a2 beq  0x00000003 , 0x000061fd 
- 00030397  0x000081a3 beq  0x00000005 , 0x0000621a 
- 00030398  0x000081a4 beq  0x00000007 , 0x00006225 
- 00030399  0x000081a5 beq  0x0000000b , 0x0000623a 
- 00030400  0x000081a6 beq  0x00000002 , 0x00007588 
- 00030401  0x000081a7 beq  0x00000004 , 0x000075f7 
- 00030402  0x000081a8 beq  0x00000009 , 0x00007617 
- 00030403  0x000081a9 beq  0x0000000a , 0x0000763a 
- 00030404  0x000081aa beq  0x0000000c , 0x00007658 
- 00030405  0x000081ac rtn 
- 00030406  0x000081af bpatchx  0x000000ea , 0x0000403d 
- 00030407  0x000081b0 fetch  0x00000001 , 0x000009b1 
- 00030408  0x000081b1 rtn  0x00000034 
- 00030409  0x000081b2 call  0x000062bc 
- 00030410  0x000081b3 nrtn  0x00000034 
- 00030411  0x000081b4 jam  0x00000000 , 0x000009b1 
- 00030412  0x000081b5 fetch  0x00000001 , 0x000009af 
- 00030413  0x000081b6 beq  0x00000012 , 0x000061e0 
- 00030414  0x000081b7 beq  0x00000013 , 0x000061e5 
- 00030415  0x000081b8 beq  0x00000003 , 0x000061e9 
- 00030416  0x000081b9 beq  0x00000004 , 0x00007602 
- 00030417  0x000081ba beq  0x00000014 , 0x000061ed 
- 00030418  0x000081bb beq  0x00000007 , 0x000061fb 
- 00030419  0x000081bc beq  0x0000000a , 0x0000763a 
- 00030420  0x000081bd beq  0x0000000b , 0x00006239 
- 00030421  0x000081be beq  0x00000009 , 0x00007617 
- 00030422  0x000081bf beq  0x00000015 , 0x00006233 
- 00030423  0x000081c0 rtn 
- 00030424  0x000081c3 jam  0x00000001 , 0x000009b1 
- 00030425  0x000081c4 rtn 
- 00030426  0x000081c7 jam  0x00000000 , 0x000009b1 
- 00030427  0x000081c8 rtn 
- 00030428  0x000081ca bpatchx  0x000000eb , 0x0000403d 
- 00030429  0x000081cb fetch  0x00000001 , 0x0000465a 
- 00030430  0x000081cc rtn  0x00000034 
- 00030431  0x000081cd fetch  0x00000001 , 0x000009b2 
- 00030432  0x000081ce rtn  0x00000034 
- 00030433  0x000081cf increase  0x00000080 , 0x0000003f 
- 00030434  0x000081d0 store  0x00000001 , 0x000009b2 
- 00030435  0x000081d1 rtnbit1  0x00000007 
- 00030436  0x000081d2 fetch  0x00000001 , 0x000005e3 
- 00030437  0x000081d3 branch  0x000076e7 , 0x00000034 
- 00030438  0x000081d4 branch  0x00007a68 
- 00030439  0x000081d7 call  0x000078d3 
- 00030440  0x000081d8 fetch  0x00000001 , 0x000009b2 
- 00030441  0x000081d9 beq  0x00000001 , 0x00007684 
- 00030442  0x000081da beq  0x00000002 , 0x0000769b 
- 00030443  0x000081db rtn 
- 00030444  0x000081df and  0x0000003f , 0x00000007 , 0x00000007 
- 00030445  0x000081e0 rshift3  0x0000003f , 0x0000003f 
- 00030446  0x000081e1 iadd  0x00000006 , 0x00000006 
- 00030447  0x000081e2 ifetch  0x00000001 , 0x00000006 
- 00030448  0x000081e3 qisolate0  0x0000003f 
- 00030449  0x000081e4 rtn 
- 00030450  0x000081e8 call  0x00007ebe 
- 00030451  0x000081e9 call  0x00007ebe 
- 00030452  0x000081ea branch  0x00007ebe 
- 00030453  0x000081ee ifetch  0x00000008 , 0x00000006 
- 00030454  0x000081ef nrtn  0x00000034 
- 00030455  0x000081f0 ifetch  0x00000008 , 0x00000006 
- 00030456  0x000081f1 nrtn  0x00000034 
- 00030457  0x000081f2 ifetch  0x00000008 , 0x00000006 
- 00030458  0x000081f3 rtn 
- 00030459  0x000081f9 ifetch  0x00000004 , 0x00000011 
- 00030460  0x000081fa iforce  0x00000002 
- 00030461  0x000081fb ifetch  0x00000004 , 0x00000012 
- 00030462  0x000081fc isub  0x00000002 , 0x0000003e 
- 00030463  0x000081fd nrtn  0x00000005 
- 00030464  0x000081fe increase  0x00000004 , 0x00000011 
- 00030465  0x000081ff increase  0x00000004 , 0x00000012 
- 00030466  0x00008200 loop  0x000076fb 
- 00030467  0x00008201 rtn 
- 00030468  0x00008205 force  0x00000006 , 0x00000039 
- 00030469  0x00008206 increase  0x00000014 , 0x00000011 
- 00030470  0x00008207 increase  0x00000014 , 0x00000012 
- 00030471  0x00008209 ifetch  0x00000004 , 0x00000012 
- 00030472  0x0000820a iforce  0x00000002 
- 00030473  0x0000820b ifetch  0x00000004 , 0x00000011 
- 00030474  0x0000820c isub  0x00000002 , 0x0000003f 
- 00030475  0x0000820d nrtn  0x00000002 
- 00030476  0x0000820e nrtn  0x00000034 
- 00030477  0x0000820f increase  0xfffffffc , 0x00000011 
- 00030478  0x00008210 increase  0xfffffffc , 0x00000012 
- 00030479  0x00008211 loop  0x00007707 
- 00030480  0x00008212 rtn 
- 00030481  0x00008215 force  0x00000006 , 0x00000039 
- 00030482  0x00008216 force  0x00000000 , 0x00000013 
- 00030483  0x00008218 ifetch  0x00000004 , 0x00000011 
- 00030484  0x00008219 iforce  0x00000002 
- 00030485  0x0000821a ifetch  0x00000004 , 0x00000012 
- 00030486  0x0000821b iadd  0x00000002 , 0x0000003f 
- 00030487  0x0000821c iadd  0x00000013 , 0x0000003f 
- 00030488  0x0000821d istore  0x00000004 , 0x00000005 
- 00030489  0x0000821e isolate1  0x00000020 , 0x0000003f 
- 00030490  0x0000821f setflag  0x00000001 , 0x00000000 , 0x00000013 
- 00030491  0x00008220 increase  0x00000004 , 0x00000011 
- 00030492  0x00008221 increase  0x00000004 , 0x00000012 
- 00030493  0x00008222 loop  0x00007713 
- 00030494  0x00008223 rtn 
- 00030495  0x00008226 force  0x00000006 , 0x00000039 
- 00030496  0x00008227 force  0x00000000 , 0x00000013 
- 00030497  0x00008229 ifetch  0x00000004 , 0x00000012 
- 00030498  0x0000822a iforce  0x00000002 
- 00030499  0x0000822b ifetch  0x00000004 , 0x00000011 
- 00030500  0x0000822c isub  0x00000002 , 0x0000003f 
- 00030501  0x0000822d isub  0x00000013 , 0x0000003f 
- 00030502  0x0000822e istore  0x00000004 , 0x00000005 
- 00030503  0x0000822f isolate1  0x00000020 , 0x0000003f 
- 00030504  0x00008230 setflag  0x00000001 , 0x00000000 , 0x00000013 
- 00030505  0x00008231 increase  0x00000004 , 0x00000011 
- 00030506  0x00008232 increase  0x00000004 , 0x00000012 
- 00030507  0x00008233 loop  0x00007721 
- 00030508  0x00008234 rtn 
- 00030509  0x00008237 force  0x00000006 , 0x00000039 
- 00030510  0x00008238 increase  0x00000014 , 0x00000011 
- 00030511  0x0000823a force  0x00000000 , 0x00000013 
- 00030512  0x0000823c ifetch  0x00000004 , 0x00000011 
- 00030513  0x0000823d isolate1  0x00000000 , 0x0000003f 
- 00030514  0x0000823e setflag  0x00000001 , 0x00000001 , 0x00000013 
- 00030515  0x0000823f rshift  0x0000003f , 0x0000003f 
- 00030516  0x00008240 isolate1  0x00000000 , 0x00000013 
- 00030517  0x00008241 setflag  0x00000001 , 0x0000001f , 0x0000003f 
- 00030518  0x00008242 istore  0x00000004 , 0x00000011 
- 00030519  0x00008243 increase  0xfffffffc , 0x00000011 
- 00030520  0x00008244 rshift  0x00000013 , 0x00000013 
- 00030521  0x00008245 loop  0x00007730 
- 00030522  0x00008246 rtn 
- 00030523  0x00008249 force  0x00000006 , 0x00000039 
- 00030524  0x0000824a force  0x00000000 , 0x00000013 
- 00030525  0x0000824c ifetch  0x00000004 , 0x00000011 
- 00030526  0x0000824d isolate1  0x0000001f , 0x0000003f 
- 00030527  0x0000824e setflag  0x00000001 , 0x00000001 , 0x00000013 
- 00030528  0x0000824f lshift  0x0000003f , 0x0000003f 
- 00030529  0x00008250 isolate1  0x00000000 , 0x00000013 
- 00030530  0x00008251 setflag  0x00000001 , 0x00000000 , 0x0000003f 
- 00030531  0x00008252 istore  0x00000004 , 0x00000011 
- 00030532  0x00008253 increase  0x00000004 , 0x00000011 
- 00030533  0x00008254 rshift  0x00000013 , 0x00000013 
- 00030534  0x00008255 loop  0x0000773d 
- 00030535  0x00008256 rtn 
- 00030536  0x00008259 call  0x0000773b 
- 00030537  0x0000825b isolate1  0x00000000 , 0x00000013 
- 00030538  0x0000825c branch  0x00007751 , 0x00000001 
- 00030539  0x0000825d arg  0x00000886 , 0x00000012 
- 00030540  0x0000825e copy  0x00000011 , 0x00000013 
- 00030541  0x0000825f increase  0xffffffe8 , 0x00000011 
- 00030542  0x00008260 call  0x00007704 
- 00030543  0x00008261 nrtn  0x00000002 
- 00030544  0x00008262 copy  0x00000013 , 0x00000011 
- 00030545  0x00008264 increase  0xffffffe8 , 0x00000011 
- 00030546  0x00008265 arg  0x00000886 , 0x00000012 
- 00030547  0x00008266 copy  0x00000011 , 0x00000005 
- 00030548  0x00008267 branch  0x0000771f 
- 00030549  0x0000826b call  0x00007711 
- 00030550  0x0000826c copy  0x00000005 , 0x00000011 
- 00030551  0x0000826d branch  0x00007749 
- 00030552  0x00008270 call  0x0000771f 
- 00030553  0x00008271 isolate0  0x00000000 , 0x00000013 
- 00030554  0x00008272 rtn  0x00000001 
- 00030555  0x00008273 arg  0x00000886 , 0x00000012 
- 00030556  0x00008274 add  0x00000005 , 0xffffffe8 , 0x00000011 
- 00030557  0x00008275 copy  0x00000011 , 0x00000005 
- 00030558  0x00008276 branch  0x00007711 
- 00030559  0x0000827a copy  0x00000005 , 0x0000000b 
- 00030560  0x0000827b copy  0x00000011 , 0x00000030 
- 00030561  0x0000827c arg  0x00000716 , 0x00000012 
- 00030562  0x0000827d copy  0x00000012 , 0x00000005 
- 00030563  0x0000827e add  0x00000011 , 0x00000018 , 0x00000006 
- 00030564  0x0000827f ifetch  0x00000008 , 0x00000006 
- 00030565  0x00008280 istore  0x00000008 , 0x00000005 
- 00030566  0x00008281 istore  0x00000008 , 0x00000005 
- 00030567  0x00008282 force  0x00000000 , 0x0000003f 
- 00030568  0x00008283 istore  0x00000008 , 0x00000005 
- 00030569  0x00008284 copy  0x0000000b , 0x00000005 
- 00030570  0x00008285 call  0x00007755 
- 00030571  0x00008286 arg  0x00000716 , 0x00000012 
- 00030572  0x00008287 copy  0x00000012 , 0x00000005 
- 00030573  0x00008288 force  0x00000000 , 0x0000003f 
- 00030574  0x00008289 istore  0x00000008 , 0x00000005 
- 00030575  0x0000828a add  0x00000030 , 0x00000020 , 0x00000006 
- 00030576  0x0000828b ifetch  0x00000008 , 0x00000006 
- 00030577  0x0000828c istore  0x00000008 , 0x00000005 
- 00030578  0x0000828d istore  0x00000008 , 0x00000005 
- 00030579  0x0000828e copy  0x0000000b , 0x00000011 
- 00030580  0x0000828f copy  0x00000011 , 0x00000005 
- 00030581  0x00008290 call  0x00007755 
- 00030582  0x00008291 arg  0x00000716 , 0x00000012 
- 00030583  0x00008292 copy  0x00000012 , 0x00000005 
- 00030584  0x00008293 add  0x00000030 , 0x00000028 , 0x00000006 
- 00030585  0x00008294 ifetch  0x00000008 , 0x00000006 
- 00030586  0x00008295 istore  0x00000008 , 0x00000005 
- 00030587  0x00008296 istore  0x00000008 , 0x00000005 
- 00030588  0x00008297 istore  0x00000008 , 0x00000005 
- 00030589  0x00008298 copy  0x0000000b , 0x00000011 
- 00030590  0x00008299 copy  0x00000011 , 0x00000005 
- 00030591  0x0000829a branch  0x00007755 
- 00030592  0x0000829e force  0x00000006 , 0x00000039 
- 00030593  0x000082a0 ifetch  0x00000004 , 0x00000006 
- 00030594  0x000082a1 iforce  0x0000002f 
- 00030595  0x000082a2 increase  0x00000001 , 0x00000038 
- 00030596  0x000082a3 loop  0x00007781 
- 00030597  0x000082a4 rtn 
- 00030598  0x000082a9 copy  0x00000005 , 0x0000000b 
- 00030599  0x000082aa arg  0x000006e6 , 0x00000005 
- 00030600  0x000082ab call  0x00007ec5 
- 00030601  0x000082ac arg  0x000006e6 , 0x00000005 
- 00030602  0x000082ad copy  0x00000011 , 0x00000006 
- 00030603  0x000082ae force  0x00000000 , 0x00000038 
- 00030604  0x000082af call  0x00007780 
- 00030605  0x000082b0 copy  0x00000012 , 0x00000006 
- 00030606  0x000082b1 call  0x00007780 
- 00030607  0x000082b2 force  0x00000000 , 0x00000012 
- 00030608  0x000082b4 force  0x00000000 , 0x00000002 
- 00030609  0x000082b5 force  0x00000006 , 0x00000013 
- 00030610  0x000082b7 ifetch  0x00000004 , 0x00000005 
- 00030611  0x000082b8 iforce  0x00000011 
- 00030612  0x000082b9 copy  0x00000012 , 0x00000038 
- 00030613  0x000082ba deposit  0x0000002f 
- 00030614  0x000082bb copy  0x00000013 , 0x00000038 
- 00030615  0x000082bc imul32  0x0000002f , 0x0000003f 
- 00030616  0x000082bd iadd  0x00000011 , 0x0000003f 
- 00030617  0x000082be iadd  0x00000002 , 0x0000003f 
- 00030618  0x000082bf istore  0x00000004 , 0x00000005 
- 00030619  0x000082c0 rshift32  0x0000003f , 0x00000002 
- 00030620  0x000082c1 increase  0x00000001 , 0x00000013 
- 00030621  0x000082c2 compare  0x0000000c , 0x00000013 , 0x000000ff 
- 00030622  0x000082c3 nbranch  0x00007792 , 0x00000001 
- 00030623  0x000082c4 deposit  0x00000002 
- 00030624  0x000082c5 istore  0x00000004 , 0x00000005 
- 00030625  0x000082c6 increase  0xffffffe8 , 0x00000005 
- 00030626  0x000082c7 increase  0x00000001 , 0x00000012 
- 00030627  0x000082c8 compare  0x00000006 , 0x00000012 , 0x000000ff 
- 00030628  0x000082c9 nbranch  0x00007790 , 0x00000001 
- 00030629  0x000082ca arg  0x000006e6 , 0x00000011 
- 00030630  0x000082cb copy  0x0000000b , 0x00000005 
- 00030631  0x000082cc branch  0x0000775f 
- 00030632  0x000082d0 copy  0x00000011 , 0x00000012 
- 00030633  0x000082d1 branch  0x00007786 
- 00030634  0x000082d4 copy  0x00000011 , 0x00000030 
- 00030635  0x000082d6 copy  0x00000030 , 0x00000011 
- 00030636  0x000082d7 ifetch  0x00000001 , 0x00000011 
- 00030637  0x000082d8 isolate1  0x00000000 , 0x0000003f 
- 00030638  0x000082d9 rtn  0x00000001 
- 00030639  0x000082da call  0x0000772d 
- 00030640  0x000082db ifetch  0x00000001 , 0x00000012 
- 00030641  0x000082dc isolate0  0x00000000 , 0x0000003f 
- 00030642  0x000082dd branch  0x000077ba , 0x00000001 
- 00030643  0x000082de arg  0x00000886 , 0x00000011 
- 00030644  0x000082df copy  0x00000012 , 0x00000005 
- 00030645  0x000082e0 call  0x00007711 
- 00030646  0x000082e1 ifetch  0x00000001 , 0x00000012 
- 00030647  0x000082e2 iadd  0x00000013 , 0x0000003f 
- 00030648  0x000082e3 istore  0x00000001 , 0x00000012 
- 00030649  0x000082e4 increase  0xffffffe8 , 0x00000012 
- 00030650  0x000082e6 add  0x00000012 , 0x00000018 , 0x00000011 
- 00030651  0x000082e7 force  0x00000007 , 0x00000039 
- 00030652  0x000082e8 call  0x0000772f 
- 00030653  0x000082e9 branch  0x000077ab 
- 00030654  0x000082ed copy  0x00000005 , 0x0000000b 
- 00030655  0x000082ee arg  0x00000746 , 0x00000005 
- 00030656  0x000082ef call  0x00007ec5 
- 00030657  0x000082f0 force  0x00000000 , 0x0000003f 
- 00030658  0x000082f1 store  0x00000004 , 0x000006fe 
- 00030659  0x000082f2 store  0x00000004 , 0x0000075e 
- 00030660  0x000082f3 jam  0x00000001 , 0x00000746 
- 00030661  0x000082f4 arg  0x000006e6 , 0x00000005 
- 00030662  0x000082f5 call  0x00007ec5 
- 00030663  0x000082f6 arg  0x00000886 , 0x00000006 
- 00030664  0x000082f7 arg  0x00000716 , 0x00000005 
- 00030665  0x000082f8 call  0x00007ebe 
- 00030666  0x000082f9 copy  0x00000011 , 0x00000006 
- 00030667  0x000082fa arg  0x0000072e , 0x00000005 
- 00030668  0x000082fb call  0x00007ebe 
- 00030669  0x000082fd arg  0x0000072e , 0x00000006 
- 00030670  0x000082fe call  0x000076f5 
- 00030671  0x000082ff branch  0x000077f6 , 0x00000034 
- 00030672  0x00008300 arg  0x0000072e , 0x00000011 
- 00030673  0x00008301 arg  0x00000746 , 0x00000012 
- 00030674  0x00008302 call  0x000077aa 
- 00030675  0x00008304 arg  0x00000716 , 0x00000011 
- 00030676  0x00008305 arg  0x000006e6 , 0x00000012 
- 00030677  0x00008306 call  0x000077aa 
- 00030678  0x00008307 arg  0x0000072e , 0x00000011 
- 00030679  0x00008308 arg  0x00000716 , 0x00000012 
- 00030680  0x00008309 call  0x00007704 
- 00030681  0x0000830a branch  0x000077e8 , 0x00000002 
- 00030682  0x0000830b arg  0x00000716 , 0x00000011 
- 00030683  0x0000830c arg  0x0000072e , 0x00000012 
- 00030684  0x0000830d copy  0x00000011 , 0x00000005 
- 00030685  0x0000830e call  0x0000771f 
- 00030686  0x0000830f arg  0x00000746 , 0x00000011 
- 00030687  0x00008310 arg  0x000006e6 , 0x00000012 
- 00030688  0x00008311 copy  0x00000012 , 0x00000005 
- 00030689  0x00008312 call  0x00007711 
- 00030690  0x00008313 ifetch  0x00000001 , 0x00000011 
- 00030691  0x00008314 iadd  0x00000013 , 0x00000013 
- 00030692  0x00008315 ifetch  0x00000001 , 0x00000012 
- 00030693  0x00008316 iadd  0x00000013 , 0x0000003f 
- 00030694  0x00008317 istore  0x00000001 , 0x00000012 
- 00030695  0x00008318 branch  0x000077cd 
- 00030696  0x0000831a arg  0x0000072e , 0x00000011 
- 00030697  0x0000831b arg  0x00000716 , 0x00000012 
- 00030698  0x0000831c copy  0x00000011 , 0x00000005 
- 00030699  0x0000831d call  0x0000771f 
- 00030700  0x0000831e arg  0x000006e6 , 0x00000011 
- 00030701  0x0000831f arg  0x00000746 , 0x00000012 
- 00030702  0x00008320 copy  0x00000012 , 0x00000005 
- 00030703  0x00008321 call  0x00007711 
- 00030704  0x00008322 ifetch  0x00000001 , 0x00000011 
- 00030705  0x00008323 iadd  0x00000013 , 0x00000013 
- 00030706  0x00008324 ifetch  0x00000001 , 0x00000012 
- 00030707  0x00008325 iadd  0x00000013 , 0x0000003f 
- 00030708  0x00008326 istore  0x00000001 , 0x00000012 
- 00030709  0x00008327 branch  0x000077cd 
- 00030710  0x00008329 arg  0x00000746 , 0x00000005 
- 00030711  0x0000832a call  0x00007ec5 
- 00030712  0x0000832b fetch  0x00000001 , 0x000006fe 
- 00030713  0x0000832c store  0x00000001 , 0x00000746 
- 00030714  0x0000832d store  0x00000001 , 0x0000074e 
- 00030715  0x0000832e arg  0x00000746 , 0x00000011 
- 00030716  0x0000832f arg  0x000006e6 , 0x00000012 
- 00030717  0x00008330 copy  0x00000012 , 0x00000005 
- 00030718  0x00008331 call  0x00007755 
- 00030719  0x00008332 arg  0x00000886 , 0x00000011 
- 00030720  0x00008333 arg  0x000006e6 , 0x00000012 
- 00030721  0x00008334 copy  0x0000000b , 0x00000005 
- 00030722  0x00008335 branch  0x00007758 
- 00030723  0x0000833b arg  0x000006a6 , 0x00000011 
- 00030724  0x0000833c arg  0x0000075e , 0x00000005 
- 00030725  0x0000833d call  0x000077a8 
- 00030726  0x0000833e arg  0x0000075e , 0x00000011 
- 00030727  0x0000833f arg  0x00000776 , 0x00000005 
- 00030728  0x00008340 call  0x000077a8 
- 00030729  0x00008341 arg  0x0000089e , 0x00000011 
- 00030730  0x00008342 arg  0x00000776 , 0x00000012 
- 00030731  0x00008343 arg  0x00000776 , 0x00000005 
- 00030732  0x00008344 call  0x00007786 
- 00030733  0x00008345 arg  0x00000676 , 0x00000011 
- 00030734  0x00008346 arg  0x0000075e , 0x00000005 
- 00030735  0x00008347 call  0x000077a8 
- 00030736  0x00008348 arg  0x0000075e , 0x00000006 
- 00030737  0x00008349 arg  0x0000072e , 0x00000005 
- 00030738  0x0000834a call  0x00007ebe 
- 00030739  0x0000834b arg  0x0000072e , 0x00000011 
- 00030740  0x0000834c call  0x00007748 
- 00030741  0x0000834d arg  0x0000075e , 0x00000011 
- 00030742  0x0000834e arg  0x0000072e , 0x00000012 
- 00030743  0x0000834f arg  0x0000075e , 0x00000005 
- 00030744  0x00008350 call  0x00007755 
- 00030745  0x00008351 arg  0x0000075e , 0x00000011 
- 00030746  0x00008352 arg  0x00000776 , 0x00000012 
- 00030747  0x00008353 arg  0x0000075e , 0x00000005 
- 00030748  0x00008354 call  0x00007755 
- 00030749  0x00008355 arg  0x00000676 , 0x00000006 
- 00030750  0x00008356 arg  0x0000072e , 0x00000005 
- 00030751  0x00008357 call  0x00007ebe 
- 00030752  0x00008358 arg  0x0000068e , 0x00000011 
- 00030753  0x00008359 arg  0x00000776 , 0x00000005 
- 00030754  0x0000835a call  0x000077a8 
- 00030755  0x0000835b arg  0x0000072e , 0x00000011 
- 00030756  0x0000835c call  0x00007748 
- 00030757  0x0000835d arg  0x0000072e , 0x00000011 
- 00030758  0x0000835e call  0x00007748 
- 00030759  0x0000835f arg  0x0000072e , 0x00000011 
- 00030760  0x00008360 arg  0x00000776 , 0x00000012 
- 00030761  0x00008361 arg  0x0000072e , 0x00000005 
- 00030762  0x00008362 call  0x00007786 
- 00030763  0x00008363 arg  0x00000776 , 0x00000011 
- 00030764  0x00008364 arg  0x00000746 , 0x00000005 
- 00030765  0x00008365 call  0x000077a8 
- 00030766  0x00008366 arg  0x00000746 , 0x00000011 
- 00030767  0x00008367 call  0x00007748 
- 00030768  0x00008368 arg  0x00000746 , 0x00000011 
- 00030769  0x00008369 call  0x00007748 
- 00030770  0x0000836a arg  0x00000746 , 0x00000011 
- 00030771  0x0000836b call  0x00007748 
- 00030772  0x0000836c arg  0x0000068e , 0x00000006 
- 00030773  0x0000836d arg  0x00000776 , 0x00000005 
- 00030774  0x0000836e call  0x00007ebe 
- 00030775  0x0000836f arg  0x00000776 , 0x00000011 
- 00030776  0x00008370 call  0x00007748 
- 00030777  0x00008371 arg  0x00000776 , 0x00000011 
- 00030778  0x00008372 arg  0x000006a6 , 0x00000012 
- 00030779  0x00008373 arg  0x000006a6 , 0x00000005 
- 00030780  0x00008374 call  0x00007786 
- 00030781  0x00008375 arg  0x0000075e , 0x00000011 
- 00030782  0x00008376 arg  0x00000776 , 0x00000005 
- 00030783  0x00008377 call  0x000077a8 
- 00030784  0x00008378 arg  0x00000776 , 0x00000011 
- 00030785  0x00008379 arg  0x0000072e , 0x00000012 
- 00030786  0x0000837a arg  0x00000776 , 0x00000005 
- 00030787  0x0000837b call  0x00007758 
- 00030788  0x0000837c arg  0x00000776 , 0x00000011 
- 00030789  0x0000837d arg  0x0000072e , 0x00000012 
- 00030790  0x0000837e arg  0x00000676 , 0x00000005 
- 00030791  0x0000837f call  0x00007758 
- 00030792  0x00008380 arg  0x0000072e , 0x00000011 
- 00030793  0x00008381 arg  0x00000676 , 0x00000012 
- 00030794  0x00008382 arg  0x00000776 , 0x00000005 
- 00030795  0x00008383 call  0x00007758 
- 00030796  0x00008384 arg  0x00000776 , 0x00000011 
- 00030797  0x00008385 arg  0x0000075e , 0x00000012 
- 00030798  0x00008386 arg  0x00000776 , 0x00000005 
- 00030799  0x00008387 call  0x00007786 
- 00030800  0x00008388 arg  0x00000776 , 0x00000011 
- 00030801  0x00008389 arg  0x00000746 , 0x00000012 
- 00030802  0x0000838a arg  0x0000068e , 0x00000005 
- 00030803  0x0000838b branch  0x00007758 
- 00030804  0x00008390 arg  0x00000616 , 0x00000011 
- 00030805  0x00008391 arg  0x0000078e , 0x00000005 
- 00030806  0x00008392 call  0x000077a8 
- 00030807  0x00008393 arg  0x00000676 , 0x00000011 
- 00030808  0x00008394 arg  0x0000078e , 0x00000012 
- 00030809  0x00008395 arg  0x00000746 , 0x00000005 
- 00030810  0x00008396 call  0x00007786 
- 00030811  0x00008397 arg  0x00000616 , 0x00000011 
- 00030812  0x00008398 arg  0x0000078e , 0x00000012 
- 00030813  0x00008399 arg  0x0000078e , 0x00000005 
- 00030814  0x0000839a call  0x00007786 
- 00030815  0x0000839b arg  0x0000068e , 0x00000011 
- 00030816  0x0000839c arg  0x0000078e , 0x00000012 
- 00030817  0x0000839d arg  0x0000072e , 0x00000005 
- 00030818  0x0000839e call  0x00007786 
- 00030819  0x0000839f arg  0x000006a6 , 0x00000011 
- 00030820  0x000083a0 arg  0x0000078e , 0x00000005 
- 00030821  0x000083a1 call  0x000077a8 
- 00030822  0x000083a2 arg  0x000005e6 , 0x00000011 
- 00030823  0x000083a3 arg  0x0000078e , 0x00000012 
- 00030824  0x000083a4 arg  0x0000075e , 0x00000005 
- 00030825  0x000083a5 call  0x00007786 
- 00030826  0x000083a6 arg  0x000006a6 , 0x00000011 
- 00030827  0x000083a7 arg  0x0000078e , 0x00000012 
- 00030828  0x000083a8 arg  0x0000078e , 0x00000005 
- 00030829  0x000083a9 call  0x00007786 
- 00030830  0x000083aa arg  0x000005fe , 0x00000011 
- 00030831  0x000083ab arg  0x0000078e , 0x00000012 
- 00030832  0x000083ac arg  0x00000776 , 0x00000005 
- 00030833  0x000083ad call  0x00007786 
- 00030834  0x000083ae arg  0x00000746 , 0x00000011 
- 00030835  0x000083af arg  0x0000075e , 0x00000012 
- 00030836  0x000083b0 arg  0x0000078e , 0x00000005 
- 00030837  0x000083b1 call  0x00007758 
- 00030838  0x000083b2 arg  0x00000746 , 0x00000011 
- 00030839  0x000083b3 arg  0x0000075e , 0x00000012 
- 00030840  0x000083b4 arg  0x00000746 , 0x00000005 
- 00030841  0x000083b5 call  0x00007755 
- 00030842  0x000083b6 arg  0x0000072e , 0x00000011 
- 00030843  0x000083b7 arg  0x00000776 , 0x00000012 
- 00030844  0x000083b8 arg  0x0000075e , 0x00000005 
- 00030845  0x000083b9 call  0x00007758 
- 00030846  0x000083ba arg  0x0000072e , 0x00000011 
- 00030847  0x000083bb arg  0x00000776 , 0x00000012 
- 00030848  0x000083bc arg  0x0000072e , 0x00000005 
- 00030849  0x000083bd call  0x00007755 
- 00030850  0x000083be arg  0x0000072e , 0x00000011 
- 00030851  0x000083bf arg  0x0000078e , 0x00000012 
- 00030852  0x000083c0 arg  0x0000072e , 0x00000005 
- 00030853  0x000083c1 call  0x00007786 
- 00030854  0x000083c2 arg  0x000006a6 , 0x00000011 
- 00030855  0x000083c3 arg  0x00000616 , 0x00000012 
- 00030856  0x000083c4 arg  0x00000776 , 0x00000005 
- 00030857  0x000083c5 call  0x00007786 
- 00030858  0x000083c6 arg  0x00000776 , 0x00000011 
- 00030859  0x000083c7 arg  0x0000078e , 0x00000012 
- 00030860  0x000083c8 arg  0x000006a6 , 0x00000005 
- 00030861  0x000083c9 call  0x00007786 
- 00030862  0x000083ca arg  0x0000078e , 0x00000011 
- 00030863  0x000083cb arg  0x0000078e , 0x00000005 
- 00030864  0x000083cc call  0x000077a8 
- 00030865  0x000083cd arg  0x0000078e , 0x00000011 
- 00030866  0x000083ce arg  0x00000746 , 0x00000012 
- 00030867  0x000083cf arg  0x00000776 , 0x00000005 
- 00030868  0x000083d0 call  0x00007786 
- 00030869  0x000083d1 arg  0x0000078e , 0x00000011 
- 00030870  0x000083d2 arg  0x0000072e , 0x00000012 
- 00030871  0x000083d3 arg  0x0000072e , 0x00000005 
- 00030872  0x000083d4 call  0x00007786 
- 00030873  0x000083d5 arg  0x0000075e , 0x00000011 
- 00030874  0x000083d6 arg  0x00000676 , 0x00000005 
- 00030875  0x000083d7 call  0x000077a8 
- 00030876  0x000083d8 arg  0x00000676 , 0x00000011 
- 00030877  0x000083d9 arg  0x00000776 , 0x00000012 
- 00030878  0x000083da arg  0x00000676 , 0x00000005 
- 00030879  0x000083db call  0x00007758 
- 00030880  0x000083dc arg  0x00000676 , 0x00000006 
- 00030881  0x000083dd arg  0x0000078e , 0x00000005 
- 00030882  0x000083de call  0x00007ebe 
- 00030883  0x000083df arg  0x0000078e , 0x00000011 
- 00030884  0x000083e0 call  0x00007748 
- 00030885  0x000083e1 arg  0x00000776 , 0x00000011 
- 00030886  0x000083e2 arg  0x0000078e , 0x00000012 
- 00030887  0x000083e3 arg  0x00000776 , 0x00000005 
- 00030888  0x000083e4 call  0x00007758 
- 00030889  0x000083e5 arg  0x00000776 , 0x00000011 
- 00030890  0x000083e6 arg  0x0000075e , 0x00000012 
- 00030891  0x000083e7 arg  0x0000075e , 0x00000005 
- 00030892  0x000083e8 call  0x00007786 
- 00030893  0x000083e9 arg  0x0000075e , 0x00000011 
- 00030894  0x000083ea arg  0x0000072e , 0x00000012 
- 00030895  0x000083eb arg  0x0000068e , 0x00000005 
- 00030896  0x000083ec call  0x00007758 
- 00030897  0x000083ed arg  0x0000068e , 0x00000011 
- 00030898  0x000083ee arg  0x00000886 , 0x00000012 
- 00030899  0x000083ef arg  0x0000068e , 0x00000005 
- 00030900  0x000083f0 force  0x00000000 , 0x00000013 
- 00030901  0x000083f1 fetch  0x00000001 , 0x0000068e 
- 00030902  0x000083f2 isolate1  0x00000000 , 0x0000003f 
- 00030903  0x000083f3 call  0x00007711 , 0x00000001 
- 00030904  0x000083f4 copy  0x00000013 , 0x00000030 
- 00030905  0x000083f5 arg  0x0000068e , 0x00000011 
- 00030906  0x000083f6 call  0x0000772d 
- 00030907  0x000083f7 fetch  0x00000001 , 0x000006a5 
- 00030908  0x000083f8 isolate1  0x00000000 , 0x00000030 
- 00030909  0x000083f9 setflag  0x00000001 , 0x00000007 , 0x0000003f 
- 00030910  0x000083fa store  0x00000001 , 0x000006a5 
- 00030911  0x000083fb rtn 
- 00030912  0x00008400 fetch  0x00000001 , 0x000005e3 
- 00030913  0x00008401 increase  0xffffffff , 0x0000003f 
- 00030914  0x00008402 nrtn  0x00000002 
- 00030915  0x00008403 store  0x00000001 , 0x000005e3 
- 00030916  0x00008404 fetch  0x00000001 , 0x000005e2 
- 00030917  0x00008405 call  0x00007803 , 0x00000034 
- 00030918  0x00008406 fetch  0x00000001 , 0x000005e3 
- 00030919  0x00008407 arg  0x000006be , 0x00000006 
- 00030920  0x00008408 call  0x000076ec 
- 00030921  0x00008409 branch  0x000078c0 , 0x00000001 
- 00030922  0x0000840a fetch  0x00000001 , 0x000005e2 
- 00030923  0x0000840b nbranch  0x000078ce , 0x00000034 
- 00030924  0x0000840c call  0x00007854 
- 00030925  0x0000840d branch  0x000078c0 
- 00030926  0x0000840f jam  0x00000000 , 0x000005e2 
- 00030927  0x00008410 arg  0x000005e6 , 0x00000006 
- 00030928  0x00008411 arg  0x00000676 , 0x00000005 
- 00030929  0x00008412 call  0x000076f2 
- 00030930  0x00008413 branch  0x000078c0 
- 00030931  0x00008417 arg  0x000006a6 , 0x00000011 
- 00030932  0x00008418 arg  0x00000776 , 0x00000005 
- 00030933  0x00008419 call  0x000077be 
- 00030934  0x0000841a arg  0x00000776 , 0x00000011 
- 00030935  0x0000841b arg  0x0000072e , 0x00000005 
- 00030936  0x0000841c call  0x000077a8 
- 00030937  0x0000841d arg  0x00000676 , 0x00000011 
- 00030938  0x0000841e arg  0x0000072e , 0x00000012 
- 00030939  0x0000841f arg  0x0000062e , 0x00000005 
- 00030940  0x00008420 call  0x00007786 
- 00030941  0x00008421 arg  0x00000776 , 0x00000011 
- 00030942  0x00008422 arg  0x0000072e , 0x00000012 
- 00030943  0x00008423 arg  0x0000075e , 0x00000005 
- 00030944  0x00008424 call  0x00007786 
- 00030945  0x00008425 arg  0x0000068e , 0x00000011 
- 00030946  0x00008426 arg  0x0000075e , 0x00000012 
- 00030947  0x00008427 arg  0x00000646 , 0x00000005 
- 00030948  0x00008428 branch  0x00007786 
- 00030949  0x0000842d ifetch  0x00000004 , 0x00000006 
- 00030950  0x0000842e force  0x00000004 , 0x00000011 
- 00030951  0x0000842f increase  0x00000003 , 0x00000005 
- 00030952  0x00008431 istore  0x00000001 , 0x00000005 
- 00030953  0x00008432 rshift8  0x0000003f , 0x0000003f 
- 00030954  0x00008433 increase  0xfffffffe , 0x00000005 
- 00030955  0x00008434 increase  0xffffffff , 0x00000011 
- 00030956  0x00008435 nbranch  0x000078e8 , 0x00000005 
- 00030957  0x00008436 increase  0x00000005 , 0x00000005 
- 00030958  0x00008437 loop  0x000078e5 
- 00030959  0x00008438 rtn 
- 00030960  0x0000843c lshift2  0x00000007 , 0x0000003f 
- 00030961  0x0000843d iadd  0x0000000b , 0x00000006 
- 00030962  0x0000843e ifetch  0x00000004 , 0x00000006 
- 00030963  0x0000843f rtn 
- 00030964  0x00008442 force  0x00000010 , 0x00000030 
- 00030965  0x00008443 arg  0x000005e6 , 0x0000000b 
- 00030966  0x00008445 add  0x00000030 , 0xfffffff9 , 0x00000007 
- 00030967  0x00008446 call  0x000078f0 
- 00030968  0x00008447 iforce  0x00000002 
- 00030969  0x00008448 add  0x00000030 , 0xfffffff0 , 0x00000007 
- 00030970  0x00008449 call  0x000078f0 
- 00030971  0x0000844a iadd  0x00000002 , 0x00000002 
- 00030972  0x0000844b add  0x00000030 , 0xfffffffe , 0x00000007 
- 00030973  0x0000844c call  0x000078f0 
- 00030974  0x0000844d shasx  0x0000003f , 0x00000001 , 0x0000003f 
- 00030975  0x0000844e iadd  0x00000002 , 0x00000002 
- 00030976  0x0000844f add  0x00000030 , 0xfffffff1 , 0x00000007 
- 00030977  0x00008450 call  0x000078f0 
- 00030978  0x00008451 shasx  0x0000003f , 0x00000000 , 0x0000003f 
- 00030979  0x00008452 iadd  0x00000002 , 0x00000002 
- 00030980  0x00008453 lshift2  0x00000030 , 0x0000003f 
- 00030981  0x00008454 iadd  0x0000000b , 0x00000005 
- 00030982  0x00008455 istoret  0x00000004 , 0x00000005 
- 00030983  0x00008456 increase  0x00000001 , 0x00000030 
- 00030984  0x00008457 compare  0x00000040 , 0x00000030 , 0x000000ff 
- 00030985  0x00008458 nbranch  0x000078f6 , 0x00000001 
- 00030986  0x00008459 rtn 
- 00030987  0x0000845d arg  0x000008fe , 0x00000006 
- 00030988  0x0000845e force  0x00000007 , 0x00000038 
- 00030989  0x00008460 ifetch  0x00000004 , 0x00000006 
- 00030990  0x00008461 iforce  0x0000002f 
- 00030991  0x00008462 increase  0xffffffff , 0x00000038 
- 00030992  0x00008463 branch  0x0000790d , 0x00000002 
- 00030993  0x00008464 rtn 
- 00030994  0x00008467 bpatchx  0x000000ec , 0x0000403d 
- 00030995  0x00008468 call  0x000078f4 
- 00030996  0x00008469 arg  0x000006e6 , 0x00000005 
- 00030997  0x0000846a force  0x00000000 , 0x00000038 
- 00030998  0x0000846c deposit  0x0000002f 
- 00030999  0x0000846d istore  0x00000004 , 0x00000005 
- 00031000  0x0000846e increase  0x00000001 , 0x00000038 
- 00031001  0x0000846f compare  0x00000008 , 0x00000038 , 0x000000ff 
- 00031002  0x00008470 nbranch  0x00007916 , 0x00000001 
- 00031003  0x00008471 call  0x000074b9 
- 00031004  0x00008472 arg  0x00008700 , 0x0000000b 
- 00031005  0x00008473 arg  0x000005e6 , 0x00000030 
- 00031006  0x00008474 force  0x00000040 , 0x00000039 
- 00031007  0x00008476 ifetcht  0x00000004 , 0x00000030 
- 00031008  0x00008477 ifetch  0x00000004 , 0x0000000b 
- 00031009  0x00008478 increase  0x00000004 , 0x0000000b 
- 00031010  0x00008479 increase  0x00000004 , 0x00000030 
- 00031011  0x0000847a iadd  0x00000002 , 0x0000003f 
- 00031012  0x0000847b force  0x00000007 , 0x00000038 
- 00031013  0x0000847c iadd  0x0000002f , 0x00000002 
- 00031014  0x0000847d force  0x00000004 , 0x00000038 
- 00031015  0x0000847e shasx  0x0000002f , 0x00000003 , 0x0000003f 
- 00031016  0x0000847f iadd  0x00000002 , 0x00000002 
- 00031017  0x00008480 force  0x00000005 , 0x00000038 
- 00031018  0x00008481 deposit  0x0000002f 
- 00031019  0x00008482 force  0x00000006 , 0x00000038 
- 00031020  0x00008483 ixor  0x0000002f , 0x0000003f 
- 00031021  0x00008484 force  0x00000004 , 0x00000038 
- 00031022  0x00008485 iand  0x0000002f , 0x0000003f 
- 00031023  0x00008486 force  0x00000006 , 0x00000038 
- 00031024  0x00008487 ixor  0x0000002f , 0x0000003f 
- 00031025  0x00008488 iadd  0x00000002 , 0x00000002 
- 00031026  0x00008489 force  0x00000007 , 0x00000038 
- 00031027  0x0000848a copy  0x00000002 , 0x0000002f 
- 00031028  0x0000848b force  0x00000003 , 0x00000038 
- 00031029  0x0000848c deposit  0x0000002f 
- 00031030  0x0000848d iadd  0x00000002 , 0x0000002f 
- 00031031  0x0000848e force  0x00000000 , 0x00000038 
- 00031032  0x0000848f deposit  0x0000002f 
- 00031033  0x00008490 force  0x00000001 , 0x00000038 
- 00031034  0x00008491 iand  0x0000002f , 0x00000002 
- 00031035  0x00008492 ior  0x0000002f , 0x0000003f 
- 00031036  0x00008493 force  0x00000002 , 0x00000038 
- 00031037  0x00008494 iand  0x0000002f , 0x0000003f 
- 00031038  0x00008495 ior  0x00000002 , 0x00000002 
- 00031039  0x00008496 force  0x00000000 , 0x00000038 
- 00031040  0x00008497 shasx  0x0000002f , 0x00000002 , 0x0000003f 
- 00031041  0x00008498 iadd  0x00000002 , 0x0000003f 
- 00031042  0x00008499 force  0x00000007 , 0x00000038 
- 00031043  0x0000849a iadd  0x0000002f , 0x0000002f 
- 00031044  0x0000849b regexrot 
- 00031045  0x0000849c loop  0x0000791f 
- 00031046  0x0000849d arg  0x000006e6 , 0x00000006 
- 00031047  0x0000849e force  0x00000000 , 0x00000038 
- 00031048  0x000084a0 ifetch  0x00000004 , 0x00000006 
- 00031049  0x000084a1 iadd  0x0000002f , 0x0000002f 
- 00031050  0x000084a2 increase  0x00000001 , 0x00000038 
- 00031051  0x000084a3 compare  0x00000008 , 0x00000038 , 0x000000ff 
- 00031052  0x000084a4 nbranch  0x00007948 , 0x00000001 
- 00031053  0x000084a5 branch  0x000074bd 
- 00031054  0x000084a9 arg  0x00000a3e , 0x00000005 
- 00031055  0x000084aa force  0x00000007 , 0x00000038 
- 00031056  0x000084ac deposit  0x0000002f 
- 00031057  0x000084ad istore  0x00000004 , 0x00000005 
- 00031058  0x000084ae increase  0xffffffff , 0x00000038 
- 00031059  0x000084af branch  0x00007950 , 0x00000002 
- 00031060  0x000084b0 rtn 
- 00031061  0x000084b4 arg  0x000005e6 , 0x00000005 
- 00031062  0x000084b5 increase  0xfffffffc , 0x00000006 
- 00031063  0x000084b6 sub  0x00000039 , 0x00000010 , 0x00000011 
- 00031064  0x000084b8 ifetch  0x00000004 , 0x00000006 
- 00031065  0x000084b9 ixor  0x00000002 , 0x0000003f 
- 00031066  0x000084ba istore  0x00000004 , 0x00000005 
- 00031067  0x000084bb increase  0xfffffff8 , 0x00000006 
- 00031068  0x000084bc loop  0x00007958 
- 00031069  0x000084bd copy  0x00000011 , 0x00000039 
- 00031070  0x000084be deposit  0x00000002 
- 00031071  0x000084c0 istore  0x00000004 , 0x00000005 
- 00031072  0x000084c1 loop  0x0000795f 
- 00031073  0x000084c2 rtn 
- 00031074  0x000084c5 call  0x00007967 
- 00031075  0x000084c6 call  0x0000794e 
- 00031076  0x000084c7 branch  0x0000798d 
- 00031077  0x000084ca call  0x00007967 
- 00031078  0x000084cb branch  0x0000798d 
- 00031079  0x000084ce arg  0x000009de , 0x00000006 
- 00031080  0x000084cf arg  0x000005e6 , 0x00000005 
- 00031081  0x000084d0 force  0x00000006 , 0x00000039 
- 00031082  0x000084d1 call  0x00007a71 
- 00031083  0x000084d2 arg  0x00004642 , 0x00000006 
- 00031084  0x000084d3 force  0x00000006 , 0x00000039 
- 00031085  0x000084d4 call  0x00007a71 
- 00031086  0x000084d5 arg  0x00000a3e , 0x00000006 
- 00031087  0x000084d6 call  0x00007a70 
- 00031088  0x000084d7 call  0x0000790b 
- 00031089  0x000084d8 call  0x00007912 
- 00031090  0x000084d9 arg  0x00000a2e , 0x00000006 
- 00031091  0x000084da arg  0x000005e6 , 0x00000005 
- 00031092  0x000084db branch  0x00007984 
- 00031093  0x000084de arg  0x00004642 , 0x00000006 
- 00031094  0x000084df arg  0x000005e6 , 0x00000005 
- 00031095  0x000084e0 force  0x00000006 , 0x00000039 
- 00031096  0x000084e1 call  0x00007a71 
- 00031097  0x000084e2 arg  0x000009de , 0x00000006 
- 00031098  0x000084e3 force  0x00000006 , 0x00000039 
- 00031099  0x000084e4 call  0x00007a71 
- 00031100  0x000084e5 arg  0x00000a2e , 0x00000006 
- 00031101  0x000084e6 call  0x00007a70 
- 00031102  0x000084e7 call  0x0000790b 
- 00031103  0x000084e8 call  0x00007912 
- 00031104  0x000084e9 arg  0x00000a3e , 0x00000006 
- 00031105  0x000084ea arg  0x000005e6 , 0x00000005 
- 00031106  0x000084eb call  0x00007984 
- 00031107  0x000084ec branch  0x0000798d 
- 00031108  0x000084ef call  0x00007a70 
- 00031109  0x000084f0 setarg  0x00800000 
- 00031110  0x000084f1 lshift8  0x0000003f , 0x0000003f 
- 00031111  0x000084f2 istore  0x00000004 , 0x00000005 
- 00031112  0x000084f3 force  0x00000005 , 0x00000039 
- 00031113  0x000084f4 call  0x00007ec6 
- 00031114  0x000084f5 setarg  0x00000280 
- 00031115  0x000084f6 istore  0x00000004 , 0x00000005 
- 00031116  0x000084f7 branch  0x00007912 
- 00031117  0x000084f9 fetch  0x00000004 , 0x00000a3e 
- 00031118  0x000084fb arg  0x000003e8 , 0x00000011 
- 00031119  0x000084fc idiv  0x00000011 
- 00031120  0x000084fd call  0x00007f86 
- 00031121  0x000084fe remainder  0x0000003f 
- 00031122  0x000084ff store  0x00000004 , 0x000009ba 
- 00031123  0x00008500 quotient  0x0000003f 
- 00031124  0x00008501 arg  0x000003e8 , 0x00000011 
- 00031125  0x00008502 idiv  0x00000011 
- 00031126  0x00008503 call  0x00007f86 
- 00031127  0x00008504 remainder  0x0000003f 
- 00031128  0x00008505 arg  0x000003e8 , 0x00000011 
- 00031129  0x00008506 imul32  0x00000011 , 0x0000003f 
- 00031130  0x00008507 fetcht  0x00000004 , 0x000009ba 
- 00031131  0x00008508 iadd  0x00000002 , 0x0000003f 
- 00031132  0x00008509 store  0x00000004 , 0x000009ba 
- 00031133  0x0000850a rtn 
- 00031134  0x0000850d jam  0x00000000 , 0x00004664 
- 00031135  0x0000850e branch  0x000079a2 
- 00031136  0x00008511 fetch  0x00000001 , 0x00004662 
- 00031137  0x00008512 bne  0x00000002 , 0x0000799e 
- 00031138  0x00008514 bpatchx  0x000000ed , 0x0000403d 
- 00031139  0x00008515 setarg  0x00363636 
- 00031140  0x00008516 lshift8  0x0000003f , 0x00000002 
- 00031141  0x00008517 or_into  0x00000036 , 0x00000002 
- 00031142  0x00008518 fetch  0x00000002 , 0x00000a7e 
- 00031143  0x00008519 copy  0x0000003f , 0x00000006 
- 00031144  0x0000851a force  0x00000004 , 0x00000039 
- 00031145  0x0000851b call  0x00007955 
- 00031146  0x0000851c call  0x0000790b 
- 00031147  0x0000851d call  0x00007912 
- 00031148  0x0000851e fetch  0x00000002 , 0x00000a80 
- 00031149  0x0000851f copy  0x0000003f , 0x00000006 
- 00031150  0x00008520 arg  0x000005e6 , 0x00000005 
- 00031151  0x00008521 force  0x00000006 , 0x00000039 
- 00031152  0x00008522 call  0x00007a71 
- 00031153  0x00008523 fetch  0x00000002 , 0x00000a82 
- 00031154  0x00008524 copy  0x0000003f , 0x00000006 
- 00031155  0x00008525 force  0x00000006 , 0x00000039 
- 00031156  0x00008526 call  0x00007a71 
- 00031157  0x00008527 setarg  0x00800000 
- 00031158  0x00008528 istore  0x00000003 , 0x00000005 
- 00031159  0x0000852a fetch  0x00000001 , 0x00004664 
- 00031160  0x0000852c istore  0x00000001 , 0x00000005 
- 00031161  0x0000852d force  0x00000000 , 0x0000003f 
- 00031162  0x0000852e istore  0x00000008 , 0x00000005 
- 00031163  0x0000852f setarg  0x00000388 
- 00031164  0x00008530 istore  0x00000004 , 0x00000005 
- 00031165  0x00008531 call  0x00007912 
- 00031166  0x00008532 call  0x0000794e 
- 00031167  0x00008533 arg  0x00000a3e , 0x00000006 
- 00031168  0x00008534 arg  0x00000706 , 0x00000005 
- 00031169  0x00008535 call  0x00007ebd 
- 00031170  0x00008537 setarg  0x005c5c5c 
- 00031171  0x00008538 lshift8  0x0000003f , 0x00000002 
- 00031172  0x00008539 or_into  0x0000005c , 0x00000002 
- 00031173  0x0000853a fetch  0x00000002 , 0x00000a7e 
- 00031174  0x0000853b copy  0x0000003f , 0x00000006 
- 00031175  0x0000853c force  0x00000004 , 0x00000039 
- 00031176  0x0000853d call  0x00007955 
- 00031177  0x0000853e call  0x0000790b 
- 00031178  0x0000853f call  0x00007912 
- 00031179  0x00008540 arg  0x00000726 , 0x00000006 
- 00031180  0x00008541 arg  0x000005e6 , 0x00000005 
- 00031181  0x00008542 force  0x00000008 , 0x00000039 
- 00031182  0x00008543 call  0x00007a71 
- 00031183  0x00008544 setarg  0x00800000 
- 00031184  0x00008545 lshift8  0x0000003f , 0x0000003f 
- 00031185  0x00008546 istore  0x00000004 , 0x00000005 
- 00031186  0x00008547 call  0x00007ec5 
- 00031187  0x00008548 setarg  0x00000300 
- 00031188  0x00008549 istore  0x00000004 , 0x00000005 
- 00031189  0x0000854a call  0x00007912 
- 00031190  0x0000854b branch  0x0000794e 
- 00031191  0x0000854f setarg  0x00363636 
- 00031192  0x00008550 lshift8  0x0000003f , 0x00000002 
- 00031193  0x00008551 or_into  0x00000036 , 0x00000002 
- 00031194  0x00008552 arg  0x00000a1e , 0x00000006 
- 00031195  0x00008553 force  0x00000006 , 0x00000039 
- 00031196  0x00008554 call  0x00007955 
- 00031197  0x00008555 call  0x0000790b 
- 00031198  0x00008556 call  0x00007912 
- 00031199  0x00008557 fetch  0x00000002 , 0x00000a8a 
- 00031200  0x00008558 copy  0x0000003f , 0x00000006 
- 00031201  0x00008559 arg  0x000005e6 , 0x00000005 
- 00031202  0x0000855a call  0x00007a70 
- 00031203  0x0000855b fetch  0x00000002 , 0x00000a8c 
- 00031204  0x0000855c copy  0x0000003f , 0x00000006 
- 00031205  0x0000855d call  0x00007a70 
- 00031206  0x0000855f setarg  0x0062746c 
- 00031207  0x00008560 lshift8  0x0000003f , 0x0000003f 
- 00031208  0x00008561 or_into  0x0000006b , 0x0000003f 
- 00031209  0x00008562 istore  0x00000004 , 0x00000005 
- 00031210  0x00008563 arg  0x00000733 , 0x00000006 
- 00031211  0x00008564 force  0x00000003 , 0x00000039 
- 00031212  0x00008565 call  0x00007a71 
- 00031213  0x00008567 setarg  0x00800000 
- 00031214  0x00008568 lshift8  0x0000003f , 0x0000003f 
- 00031215  0x00008569 istore  0x00000004 , 0x00000005 
- 00031216  0x0000856a force  0x00000000 , 0x0000003f 
- 00031217  0x0000856b istore  0x00000008 , 0x00000005 
- 00031218  0x0000856c setarg  0x00000380 
- 00031219  0x0000856d istore  0x00000004 , 0x00000005 
- 00031220  0x0000856e call  0x00007912 
- 00031221  0x00008570 call  0x0000794e 
- 00031222  0x00008571 arg  0x00000a3e , 0x00000006 
- 00031223  0x00008572 arg  0x00000706 , 0x00000005 
- 00031224  0x00008573 call  0x00007ebd 
- 00031225  0x00008575 setarg  0x005c5c5c 
- 00031226  0x00008576 lshift8  0x0000003f , 0x00000002 
- 00031227  0x00008577 or_into  0x0000005c , 0x00000002 
- 00031228  0x00008578 arg  0x00000a1e , 0x00000006 
- 00031229  0x00008579 force  0x00000006 , 0x00000039 
- 00031230  0x0000857a call  0x00007955 
- 00031231  0x0000857b call  0x0000790b 
- 00031232  0x0000857c call  0x00007912 
- 00031233  0x0000857d arg  0x00000726 , 0x00000006 
- 00031234  0x0000857e arg  0x000005e6 , 0x00000005 
- 00031235  0x0000857f force  0x00000008 , 0x00000039 
- 00031236  0x00008580 call  0x00007a71 
- 00031237  0x00008581 setarg  0x00800000 
- 00031238  0x00008582 lshift8  0x0000003f , 0x0000003f 
- 00031239  0x00008583 istore  0x00000004 , 0x00000005 
- 00031240  0x00008584 call  0x00007ec5 
- 00031241  0x00008585 setarg  0x00000300 
- 00031242  0x00008586 istore  0x00000004 , 0x00000005 
- 00031243  0x00008587 call  0x00007912 
- 00031244  0x00008588 branch  0x0000794e 
- 00031245  0x0000858c fetch  0x00000001 , 0x00004662 
- 00031246  0x0000858d bne  0x00000002 , 0x00007a1e 
- 00031247  0x0000858f bpatchx  0x000000ee , 0x0000403d 
- 00031248  0x00008590 setarg  0x00363636 
- 00031249  0x00008591 lshift8  0x0000003f , 0x00000002 
- 00031250  0x00008592 or_into  0x00000036 , 0x00000002 
- 00031251  0x00008593 arg  0x00000a1e , 0x00000006 
- 00031252  0x00008594 force  0x00000006 , 0x00000039 
- 00031253  0x00008595 call  0x00007955 
- 00031254  0x00008596 call  0x0000790b 
- 00031255  0x00008597 call  0x00007912 
- 00031256  0x00008598 arg  0x00000a3e , 0x00000006 
- 00031257  0x00008599 arg  0x000005e6 , 0x00000005 
- 00031258  0x0000859a call  0x00007a70 
- 00031259  0x0000859b arg  0x00000a2e , 0x00000006 
- 00031260  0x0000859c call  0x00007a70 
- 00031261  0x0000859d branch  0x00007a33 
- 00031262  0x000085a0 setarg  0x00000000 
- 00031263  0x000085a1 store  0x00000004 , 0x0000468a 
- 00031264  0x000085a2 branch  0x00007a0f 
- 00031265  0x000085a5 setarg  0x00000000 
- 00031266  0x000085a6 store  0x00000004 , 0x0000468a 
- 00031267  0x000085a7 branch  0x00007a26 
- 00031268  0x000085ab fetch  0x00000001 , 0x00004662 
- 00031269  0x000085ac bne  0x00000002 , 0x00007a21 
- 00031270  0x000085ae setarg  0x00363636 
- 00031271  0x000085af lshift8  0x0000003f , 0x00000002 
- 00031272  0x000085b0 or_into  0x00000036 , 0x00000002 
- 00031273  0x000085b1 arg  0x00000a1e , 0x00000006 
- 00031274  0x000085b2 force  0x00000006 , 0x00000039 
- 00031275  0x000085b3 call  0x00007955 
- 00031276  0x000085b4 call  0x0000790b 
- 00031277  0x000085b5 call  0x00007912 
- 00031278  0x000085b7 arg  0x00000a2e , 0x00000006 
- 00031279  0x000085b8 arg  0x000005e6 , 0x00000005 
- 00031280  0x000085b9 call  0x00007a70 
- 00031281  0x000085ba arg  0x00000a3e , 0x00000006 
- 00031282  0x000085bb call  0x00007a70 
- 00031283  0x000085bd setarg  0x00000000 
- 00031284  0x000085be istore  0x00000008 , 0x00000005 
- 00031285  0x000085bf istore  0x00000004 , 0x00000005 
- 00031286  0x000085c0 fetch  0x00000004 , 0x0000468a 
- 00031287  0x000085c1 istore  0x00000004 , 0x00000005 
- 00031288  0x000085c3 copy  0x00000005 , 0x00000002 
- 00031289  0x000085c4 jam  0x00000080 , 0x00000726 
- 00031290  0x000085c5 copy  0x00000002 , 0x00000005 
- 00031291  0x000085c6 arg  0x00000736 , 0x00000006 
- 00031292  0x000085c7 call  0x00007a70 
- 00031293  0x000085c9 call  0x00007912 
- 00031294  0x000085cb arg  0x000005e6 , 0x00000005 
- 00031295  0x000085cc force  0x00000007 , 0x00000039 
- 00031296  0x000085cd call  0x00007ec6 
- 00031297  0x000085ce istore  0x00000004 , 0x00000005 
- 00031298  0x000085cf setarg  0x000003f8 
- 00031299  0x000085d0 istore  0x00000004 , 0x00000005 
- 00031300  0x000085d1 call  0x00007912 
- 00031301  0x000085d2 call  0x0000794e 
- 00031302  0x000085d4 arg  0x00000a3e , 0x00000006 
- 00031303  0x000085d5 arg  0x00000706 , 0x00000005 
- 00031304  0x000085d6 call  0x00007ebd 
- 00031305  0x000085d8 setarg  0x005c5c5c 
- 00031306  0x000085d9 lshift8  0x0000003f , 0x00000002 
- 00031307  0x000085da or_into  0x0000005c , 0x00000002 
- 00031308  0x000085db arg  0x00000a1e , 0x00000006 
- 00031309  0x000085dc force  0x00000006 , 0x00000039 
- 00031310  0x000085dd call  0x00007955 
- 00031311  0x000085de call  0x0000790b 
- 00031312  0x000085df call  0x00007912 
- 00031313  0x000085e0 arg  0x00000726 , 0x00000006 
- 00031314  0x000085e1 arg  0x000005e6 , 0x00000005 
- 00031315  0x000085e2 force  0x00000008 , 0x00000039 
- 00031316  0x000085e3 call  0x00007a71 
- 00031317  0x000085e4 setarg  0x00800000 
- 00031318  0x000085e5 lshift8  0x0000003f , 0x0000003f 
- 00031319  0x000085e6 istore  0x00000004 , 0x00000005 
- 00031320  0x000085e7 call  0x00007ec5 
- 00031321  0x000085e8 setarg  0x00000300 
- 00031322  0x000085e9 istore  0x00000004 , 0x00000005 
- 00031323  0x000085ea call  0x00007912 
- 00031324  0x000085eb branch  0x0000794e 
- 00031325  0x000085f3 jam  0x000000c0 , 0x000005e3 
- 00031326  0x000085f5 fetch  0x00000001 , 0x000005e3 
- 00031327  0x000085f6 rtn  0x00000034 
- 00031328  0x000085f7 increase  0xffffffff , 0x0000003f 
- 00031329  0x000085f8 store  0x00000001 , 0x000005e3 
- 00031330  0x000085f9 arg  0x000006be , 0x00000006 
- 00031331  0x000085fa call  0x000076ec 
- 00031332  0x000085fb branch  0x00007a5e , 0x00000001 
- 00031333  0x000085fc arg  0x000005e6 , 0x00000006 
- 00031334  0x000085fd arg  0x00000676 , 0x00000005 
- 00031335  0x000085fe branch  0x000076f2 
- 00031336  0x00008601 call  0x00007803 
- 00031337  0x00008602 fetch  0x00000001 , 0x000005e3 
- 00031338  0x00008603 increase  0xffffffff , 0x0000003f 
- 00031339  0x00008604 store  0x00000001 , 0x000005e3 
- 00031340  0x00008605 arg  0x000006be , 0x00000006 
- 00031341  0x00008606 call  0x000076ec 
- 00031342  0x00008607 rtn  0x00000001 
- 00031343  0x00008608 branch  0x00007854 
- 00031344  0x0000860b force  0x00000004 , 0x00000039 
- 00031345  0x0000860d increase  0xfffffffc , 0x00000006 
- 00031346  0x0000860f ifetch  0x00000004 , 0x00000006 
- 00031347  0x00008610 istore  0x00000004 , 0x00000005 
- 00031348  0x00008611 increase  0xfffffff8 , 0x00000006 
- 00031349  0x00008612 loop  0x00007a72 
- 00031350  0x00008613 rtn 
- 00031351  0x00008619 bpatchx  0x000000ef , 0x0000403d 
- 00031352  0x0000861a fetch  0x00000001 , 0x000044be 
- 00031353  0x0000861b branch  0x00005af0 , 0x00000034 
- 00031354  0x0000861c call  0x00005aec 
- 00031355  0x0000861d call  0x00007583 
- 00031356  0x0000861f branch  0x00007a7d 
- 00031357  0x00008625 fetch  0x00000001 , 0x000044c3 
- 00031358  0x00008626 rtnne  0x00000000 
- 00031359  0x00008627 fetch  0x00000001 , 0x000044c0 
- 00031360  0x00008628 rtnne  0x00000000 
- 00031361  0x0000862a arg  0x000045b2 , 0x00000005 
- 00031362  0x0000862b force  0x0000000f , 0x00000007 
- 00031363  0x0000862c call  0x000076a2 
- 00031364  0x0000862d random  0x0000003f 
- 00031365  0x0000862e rshift  0x0000003f , 0x0000003f 
- 00031366  0x0000862f istore  0x00000002 , 0x00000005 
- 00031367  0x00008631 arg  0x00000766 , 0x00000005 
- 00031368  0x00008632 arg  0x000045b2 , 0x00000006 
- 00031369  0x00008633 call  0x00007ebd 
- 00031370  0x00008635 arg  0x00000646 , 0x00000005 
- 00031371  0x00008636 arg  0x0000095e , 0x00000006 
- 00031372  0x00008637 call  0x00007eb3 
- 00031373  0x00008639 arg  0x00000686 , 0x00000005 
- 00031374  0x0000863a call  0x00007ed0 
- 00031375  0x0000863b jam  0x00000001 , 0x00000686 
- 00031376  0x0000863d call  0x00007ac7 
- 00031377  0x0000863e jam  0x00000003 , 0x000044c0 
- 00031378  0x0000863f rtn 
- 00031379  0x00008642 arg  0x000045d2 , 0x00000005 
- 00031380  0x00008643 arg  0x000006a6 , 0x00000006 
- 00031381  0x00008644 call  0x00007eb3 
- 00031382  0x00008645 jam  0x00000003 , 0x000044c3 
- 00031383  0x00008646 jam  0x00000000 , 0x000044c0 
- 00031384  0x00008647 rtn 
- 00031385  0x0000864c fetch  0x00000001 , 0x000009b9 
- 00031386  0x0000864d rtnne  0x00000000 
- 00031387  0x0000864e fetch  0x00000001 , 0x000044c0 
- 00031388  0x0000864f rtnne  0x00000000 
- 00031389  0x00008651 arg  0x00000766 , 0x00000005 
- 00031390  0x00008652 arg  0x000045b2 , 0x00000006 
- 00031391  0x00008653 call  0x00007ebd 
- 00031392  0x00008655 arg  0x00000646 , 0x00000005 
- 00031393  0x00008656 arg  0x000009be , 0x00000006 
- 00031394  0x00008657 call  0x00007eb3 
- 00031395  0x00008659 arg  0x00000686 , 0x00000005 
- 00031396  0x0000865a call  0x00007ed0 
- 00031397  0x0000865b jam  0x00000001 , 0x00000686 
- 00031398  0x0000865d call  0x00007ac7 
- 00031399  0x0000865e jam  0x00000004 , 0x000044c0 
- 00031400  0x0000865f rtn 
- 00031401  0x00008664 arg  0x000009fe , 0x00000005 
- 00031402  0x00008665 arg  0x000006a6 , 0x00000006 
- 00031403  0x00008666 call  0x00007ebd 
- 00031404  0x00008667 jam  0x00000003 , 0x000009b9 
- 00031405  0x00008668 jam  0x00000000 , 0x000044c0 
- 00031406  0x00008669 rtn 
- 00031407  0x0000866e fetch  0x00000001 , 0x000044be 
- 00031408  0x0000866f rtn  0x00000034 
- 00031409  0x00008670 fetch  0x00000001 , 0x000044c0 
- 00031410  0x00008671 rtn  0x00000034 
- 00031411  0x00008672 increase  0x00000080 , 0x0000003f 
- 00031412  0x00008673 store  0x00000001 , 0x000044c0 
- 00031413  0x00008674 rtnbit1  0x00000007 
- 00031414  0x00008675 fetch  0x00000002 , 0x000005e3 
- 00031415  0x00008676 branch  0x00007ab9 , 0x00000034 
- 00031416  0x00008677 branch  0x00007abf 
- 00031417  0x0000867a bpatchx  0x000000f0 , 0x0000403e 
- 00031418  0x0000867b call  0x00007ad4 
- 00031419  0x0000867c fetch  0x00000001 , 0x000044c0 
- 00031420  0x0000867d beq  0x00000003 , 0x00007a93 
- 00031421  0x0000867e beq  0x00000004 , 0x00007aa9 
- 00031422  0x0000867f rtn 
- 00031423  0x00008683 call  0x00007ae6 
- 00031424  0x00008684 fetch  0x00000002 , 0x000005e3 
- 00031425  0x00008685 increase  0xffffffff , 0x0000003f 
- 00031426  0x00008686 store  0x00000002 , 0x000005e3 
- 00031427  0x00008687 arg  0x00000766 , 0x00000006 
- 00031428  0x00008688 call  0x000076ec 
- 00031429  0x00008689 rtn  0x00000001 
- 00031430  0x0000868a branch  0x00007b37 
- 00031431  0x0000868d bpatchx  0x000000f1 , 0x0000403e 
- 00031432  0x0000868e setarg  0x00000100 , 0x0000003f 
- 00031433  0x0000868f store  0x00000002 , 0x000005e3 
- 00031434  0x00008691 fetch  0x00000002 , 0x000005e3 
- 00031435  0x00008692 rtn  0x00000034 
- 00031436  0x00008693 increase  0xffffffff , 0x0000003f 
- 00031437  0x00008694 store  0x00000002 , 0x000005e3 
- 00031438  0x00008695 arg  0x00000766 , 0x00000006 
- 00031439  0x00008696 call  0x000076ec 
- 00031440  0x00008697 branch  0x00007aca , 0x00000001 
- 00031441  0x00008698 arg  0x00000646 , 0x00000006 
- 00031442  0x00008699 arg  0x00000706 , 0x00000005 
- 00031443  0x0000869a branch  0x00007eb2 
- 00031444  0x0000869e arg  0x00000746 , 0x00000011 
- 00031445  0x0000869f arg  0x00000846 , 0x00000005 
- 00031446  0x000086a0 call  0x00007ba3 
- 00031447  0x000086a1 arg  0x00000846 , 0x00000011 
- 00031448  0x000086a2 arg  0x000007e6 , 0x00000005 
- 00031449  0x000086a3 call  0x00007c79 
- 00031450  0x000086a4 arg  0x00000706 , 0x00000011 
- 00031451  0x000086a5 arg  0x000007e6 , 0x00000012 
- 00031452  0x000086a6 arg  0x000006a6 , 0x00000005 
- 00031453  0x000086a7 call  0x00007be1 
- 00031454  0x000086a8 arg  0x00000846 , 0x00000011 
- 00031455  0x000086a9 arg  0x000007e6 , 0x00000012 
- 00031456  0x000086aa arg  0x00000826 , 0x00000005 
- 00031457  0x000086ab call  0x00007be1 
- 00031458  0x000086ac arg  0x00000726 , 0x00000011 
- 00031459  0x000086ad arg  0x00000826 , 0x00000012 
- 00031460  0x000086ae arg  0x000006c6 , 0x00000005 
- 00031461  0x000086af branch  0x00007be1 
- 00031462  0x000086b2 arg  0x00000746 , 0x00000011 
- 00031463  0x000086b3 arg  0x00000826 , 0x00000005 
- 00031464  0x000086b4 call  0x00007c79 
- 00031465  0x000086b5 arg  0x00000826 , 0x00000011 
- 00031466  0x000086b6 arg  0x00000846 , 0x00000005 
- 00031467  0x000086b7 call  0x00007c79 
- 00031468  0x000086b9 arg  0x0000093e , 0x00000011 
- 00031469  0x000086ba arg  0x00000846 , 0x00000012 
- 00031470  0x000086bb arg  0x00000846 , 0x00000005 
- 00031471  0x000086bc call  0x00007be1 
- 00031472  0x000086bd arg  0x00000706 , 0x00000011 
- 00031473  0x000086be arg  0x00000826 , 0x00000005 
- 00031474  0x000086bf call  0x00007c79 
- 00031475  0x000086c1 arg  0x00000826 , 0x00000006 
- 00031476  0x000086c2 arg  0x000007e6 , 0x00000005 
- 00031477  0x000086c3 call  0x00007ebd 
- 00031478  0x000086c4 arg  0x000007e6 , 0x00000011 
- 00031479  0x000086c5 call  0x00007c80 
- 00031480  0x000086c6 arg  0x00000826 , 0x00000011 
- 00031481  0x000086c7 arg  0x000007e6 , 0x00000012 
- 00031482  0x000086c8 arg  0x00000826 , 0x00000005 
- 00031483  0x000086c9 call  0x00007c7d 
- 00031484  0x000086cb arg  0x00000826 , 0x00000011 
- 00031485  0x000086cc arg  0x00000846 , 0x00000012 
- 00031486  0x000086cd arg  0x00000826 , 0x00000005 
- 00031487  0x000086ce call  0x00007c7d 
- 00031488  0x000086d0 arg  0x00000706 , 0x00000006 
- 00031489  0x000086d1 arg  0x000007e6 , 0x00000005 
- 00031490  0x000086d2 call  0x00007ebd 
- 00031491  0x000086d3 arg  0x00000726 , 0x00000011 
- 00031492  0x000086d4 arg  0x00000846 , 0x00000005 
- 00031493  0x000086d5 call  0x00007c79 
- 00031494  0x000086d6 arg  0x000007e6 , 0x00000011 
- 00031495  0x000086d7 call  0x00007c80 
- 00031496  0x000086d8 arg  0x000007e6 , 0x00000011 
- 00031497  0x000086d9 call  0x00007c80 
- 00031498  0x000086da arg  0x000007e6 , 0x00000011 
- 00031499  0x000086db arg  0x00000846 , 0x00000012 
- 00031500  0x000086dc arg  0x000007e6 , 0x00000005 
- 00031501  0x000086dd call  0x00007be1 
- 00031502  0x000086de arg  0x00000846 , 0x00000011 
- 00031503  0x000086df arg  0x00000806 , 0x00000005 
- 00031504  0x000086e0 call  0x00007c79 
- 00031505  0x000086e1 arg  0x00000806 , 0x00000011 
- 00031506  0x000086e2 call  0x00007c80 
- 00031507  0x000086e3 arg  0x00000806 , 0x00000011 
- 00031508  0x000086e4 call  0x00007c80 
- 00031509  0x000086e5 arg  0x00000806 , 0x00000011 
- 00031510  0x000086e6 call  0x00007c80 
- 00031511  0x000086e7 arg  0x00000726 , 0x00000006 
- 00031512  0x000086e8 arg  0x00000846 , 0x00000005 
- 00031513  0x000086e9 call  0x00007ebd 
- 00031514  0x000086ea arg  0x00000846 , 0x00000011 
- 00031515  0x000086eb call  0x00007c80 
- 00031516  0x000086ec arg  0x00000846 , 0x00000011 
- 00031517  0x000086ed arg  0x00000746 , 0x00000012 
- 00031518  0x000086ee arg  0x00000746 , 0x00000005 
- 00031519  0x000086ef call  0x00007be1 
- 00031520  0x000086f2 arg  0x00000826 , 0x00000011 
- 00031521  0x000086f3 arg  0x00000846 , 0x00000005 
- 00031522  0x000086f4 call  0x00007c79 
- 00031523  0x000086f6 arg  0x00000846 , 0x00000011 
- 00031524  0x000086f7 arg  0x000007e6 , 0x00000012 
- 00031525  0x000086f8 arg  0x00000846 , 0x00000005 
- 00031526  0x000086f9 call  0x00007c96 
- 00031527  0x000086fa arg  0x00000846 , 0x00000011 
- 00031528  0x000086fb arg  0x000007e6 , 0x00000012 
- 00031529  0x000086fc arg  0x00000706 , 0x00000005 
- 00031530  0x000086fd call  0x00007c96 
- 00031531  0x000086fe arg  0x000007e6 , 0x00000011 
- 00031532  0x000086ff arg  0x00000706 , 0x00000012 
- 00031533  0x00008700 arg  0x00000846 , 0x00000005 
- 00031534  0x00008701 call  0x00007c96 
- 00031535  0x00008702 arg  0x00000846 , 0x00000011 
- 00031536  0x00008703 arg  0x00000826 , 0x00000012 
- 00031537  0x00008704 arg  0x00000846 , 0x00000005 
- 00031538  0x00008705 call  0x00007be1 
- 00031539  0x00008706 arg  0x00000846 , 0x00000011 
- 00031540  0x00008707 arg  0x00000806 , 0x00000012 
- 00031541  0x00008708 arg  0x00000726 , 0x00000005 
- 00031542  0x00008709 branch  0x00007c96 
- 00031543  0x0000870d arg  0x00000686 , 0x00000011 
- 00031544  0x0000870e arg  0x00000866 , 0x00000005 
- 00031545  0x0000870f call  0x00007c79 
- 00031546  0x00008710 arg  0x00000706 , 0x00000011 
- 00031547  0x00008711 arg  0x00000866 , 0x00000012 
- 00031548  0x00008712 arg  0x00000806 , 0x00000005 
- 00031549  0x00008713 call  0x00007be1 
- 00031550  0x00008716 arg  0x00000686 , 0x00000011 
- 00031551  0x00008717 arg  0x00000866 , 0x00000012 
- 00031552  0x00008718 arg  0x00000866 , 0x00000005 
- 00031553  0x00008719 call  0x00007be1 
- 00031554  0x0000871a arg  0x00000726 , 0x00000011 
- 00031555  0x0000871b arg  0x00000866 , 0x00000012 
- 00031556  0x0000871c arg  0x000007e6 , 0x00000005 
- 00031557  0x0000871d call  0x00007be1 
- 00031558  0x00008720 arg  0x00000746 , 0x00000011 
- 00031559  0x00008721 arg  0x00000866 , 0x00000005 
- 00031560  0x00008722 call  0x00007c79 
- 00031561  0x00008723 arg  0x00000646 , 0x00000011 
- 00031562  0x00008724 arg  0x00000866 , 0x00000012 
- 00031563  0x00008725 arg  0x00000826 , 0x00000005 
- 00031564  0x00008726 call  0x00007be1 
- 00031565  0x00008728 arg  0x00000746 , 0x00000011 
- 00031566  0x00008729 arg  0x00000866 , 0x00000012 
- 00031567  0x0000872a arg  0x00000866 , 0x00000005 
- 00031568  0x0000872b call  0x00007be1 
- 00031569  0x0000872c arg  0x00000666 , 0x00000011 
- 00031570  0x0000872d arg  0x00000866 , 0x00000012 
- 00031571  0x0000872e arg  0x00000846 , 0x00000005 
- 00031572  0x0000872f call  0x00007be1 
- 00031573  0x00008734 arg  0x00000806 , 0x00000012 
- 00031574  0x00008735 arg  0x00000826 , 0x00000011 
- 00031575  0x00008736 arg  0x00000866 , 0x00000005 
- 00031576  0x00008737 call  0x00007c96 
- 00031577  0x00008738 arg  0x00000806 , 0x00000011 
- 00031578  0x00008739 arg  0x00000826 , 0x00000012 
- 00031579  0x0000873a arg  0x00000806 , 0x00000005 
- 00031580  0x0000873b call  0x00007c7d 
- 00031581  0x0000873e arg  0x000007e6 , 0x00000012 
- 00031582  0x0000873f arg  0x00000846 , 0x00000011 
- 00031583  0x00008740 arg  0x00000826 , 0x00000005 
- 00031584  0x00008741 call  0x00007c96 
- 00031585  0x00008742 arg  0x000007e6 , 0x00000011 
- 00031586  0x00008743 arg  0x00000846 , 0x00000012 
- 00031587  0x00008744 arg  0x000007e6 , 0x00000005 
- 00031588  0x00008745 call  0x00007c7d 
- 00031589  0x00008746 arg  0x000007e6 , 0x00000011 
- 00031590  0x00008747 arg  0x00000866 , 0x00000012 
- 00031591  0x00008748 arg  0x000007e6 , 0x00000005 
- 00031592  0x00008749 call  0x00007be1 
- 00031593  0x0000874a arg  0x00000746 , 0x00000011 
- 00031594  0x0000874b arg  0x00000686 , 0x00000012 
- 00031595  0x0000874c arg  0x00000846 , 0x00000005 
- 00031596  0x0000874d call  0x00007be1 
- 00031597  0x0000874e arg  0x00000846 , 0x00000011 
- 00031598  0x0000874f arg  0x00000866 , 0x00000012 
- 00031599  0x00008750 arg  0x00000746 , 0x00000005 
- 00031600  0x00008751 call  0x00007be1 
- 00031601  0x00008753 arg  0x00000866 , 0x00000011 
- 00031602  0x00008754 arg  0x00000866 , 0x00000005 
- 00031603  0x00008755 call  0x00007c79 
- 00031604  0x00008756 arg  0x00000866 , 0x00000011 
- 00031605  0x00008757 arg  0x00000806 , 0x00000012 
- 00031606  0x00008758 arg  0x00000846 , 0x00000005 
- 00031607  0x00008759 call  0x00007be1 
- 00031608  0x0000875a arg  0x00000866 , 0x00000011 
- 00031609  0x0000875b arg  0x000007e6 , 0x00000012 
- 00031610  0x0000875c arg  0x000007e6 , 0x00000005 
- 00031611  0x0000875d call  0x00007be1 
- 00031612  0x0000875e arg  0x00000826 , 0x00000011 
- 00031613  0x0000875f arg  0x00000706 , 0x00000005 
- 00031614  0x00008760 call  0x00007c79 
- 00031615  0x00008761 arg  0x00000706 , 0x00000011 
- 00031616  0x00008762 arg  0x00000846 , 0x00000012 
- 00031617  0x00008763 arg  0x00000706 , 0x00000005 
- 00031618  0x00008764 call  0x00007c96 
- 00031619  0x00008765 arg  0x00000706 , 0x00000006 
- 00031620  0x00008766 arg  0x00000866 , 0x00000005 
- 00031621  0x00008767 call  0x00007ebd 
- 00031622  0x00008768 arg  0x00000866 , 0x00000011 
- 00031623  0x00008769 call  0x00007c80 
- 00031624  0x0000876a arg  0x00000846 , 0x00000011 
- 00031625  0x0000876b arg  0x00000866 , 0x00000012 
- 00031626  0x0000876c arg  0x00000846 , 0x00000005 
- 00031627  0x0000876d call  0x00007c96 
- 00031628  0x0000876e arg  0x00000846 , 0x00000011 
- 00031629  0x0000876f arg  0x00000826 , 0x00000012 
- 00031630  0x00008770 arg  0x00000826 , 0x00000005 
- 00031631  0x00008771 call  0x00007be1 
- 00031632  0x00008772 arg  0x00000826 , 0x00000011 
- 00031633  0x00008773 arg  0x000007e6 , 0x00000012 
- 00031634  0x00008774 arg  0x00000726 , 0x00000005 
- 00031635  0x00008775 call  0x00007c96 
- 00031636  0x00008776 arg  0x00000726 , 0x00000011 
- 00031637  0x00008777 arg  0x0000091e , 0x00000012 
- 00031638  0x00008778 arg  0x00000726 , 0x00000005 
- 00031639  0x00008779 force  0x00000000 , 0x00000013 
- 00031640  0x0000877a fetch  0x00000001 , 0x00000726 
- 00031641  0x0000877b isolate1  0x00000000 , 0x0000003f 
- 00031642  0x0000877c call  0x00007c7b , 0x00000001 
- 00031643  0x0000877d copy  0x00000013 , 0x00000030 
- 00031644  0x0000877e arg  0x00000726 , 0x00000011 
- 00031645  0x0000877f call  0x00007cab 
- 00031646  0x00008780 fetch  0x00000001 , 0x00000745 
- 00031647  0x00008781 isolate1  0x00000000 , 0x00000030 
- 00031648  0x00008782 setflag  0x00000001 , 0x00000007 , 0x0000003f 
- 00031649  0x00008783 store  0x00000001 , 0x00000745 
- 00031650  0x00008784 rtn 
- 00031651  0x00008787 copy  0x00000005 , 0x0000000b 
- 00031652  0x00008788 arg  0x00000806 , 0x00000005 
- 00031653  0x00008789 call  0x00007ed0 
- 00031654  0x0000878a force  0x00000000 , 0x0000003f 
- 00031655  0x0000878c store  0x00000004 , 0x00000826 
- 00031656  0x0000878d jam  0x00000001 , 0x00000806 
- 00031657  0x0000878e arg  0x00000786 , 0x00000005 
- 00031658  0x0000878f call  0x00007ed2 
- 00031659  0x00008790 arg  0x0000091e , 0x00000006 
- 00031660  0x00008791 arg  0x000007c6 , 0x00000005 
- 00031661  0x00008792 call  0x00007ebd 
- 00031662  0x00008793 copy  0x00000011 , 0x00000006 
- 00031663  0x00008794 arg  0x000007e6 , 0x00000005 
- 00031664  0x00008795 call  0x00007ebd 
- 00031665  0x0000879c arg  0x000007e6 , 0x00000006 
- 00031666  0x0000879d call  0x00007cb5 
- 00031667  0x0000879e branch  0x00007bda , 0x00000034 
- 00031668  0x000087a3 arg  0x000007e6 , 0x00000011 
- 00031669  0x000087a4 arg  0x00000806 , 0x00000012 
- 00031670  0x000087a5 call  0x00007cb8 
- 00031671  0x000087a6 arg  0x000007c6 , 0x00000011 
- 00031672  0x000087a7 arg  0x00000786 , 0x00000012 
- 00031673  0x000087a8 call  0x00007cb8 
- 00031674  0x000087aa arg  0x000007e6 , 0x00000011 
- 00031675  0x000087ab arg  0x000007c6 , 0x00000012 
- 00031676  0x000087ac call  0x00007cb1 
- 00031677  0x000087ad branch  0x00007bcc , 0x00000002 
- 00031678  0x000087ae arg  0x000007c6 , 0x00000011 
- 00031679  0x000087af arg  0x000007e6 , 0x00000012 
- 00031680  0x000087b0 copy  0x00000011 , 0x00000005 
- 00031681  0x000087b1 call  0x00007ca9 
- 00031682  0x000087b2 arg  0x00000806 , 0x00000011 
- 00031683  0x000087b3 arg  0x00000786 , 0x00000012 
- 00031684  0x000087b4 copy  0x00000012 , 0x00000005 
- 00031685  0x000087b5 call  0x00007c7b 
- 00031686  0x000087b6 ifetch  0x00000001 , 0x00000011 
- 00031687  0x000087b7 iadd  0x00000013 , 0x00000013 
- 00031688  0x000087b8 ifetch  0x00000001 , 0x00000012 
- 00031689  0x000087b9 iadd  0x00000013 , 0x0000003f 
- 00031690  0x000087ba istore  0x00000001 , 0x00000012 
- 00031691  0x000087bb branch  0x00007bb1 
- 00031692  0x000087bd arg  0x000007e6 , 0x00000011 
- 00031693  0x000087be arg  0x000007c6 , 0x00000012 
- 00031694  0x000087bf copy  0x00000011 , 0x00000005 
- 00031695  0x000087c0 call  0x00007ca9 
- 00031696  0x000087c1 arg  0x00000786 , 0x00000011 
- 00031697  0x000087c2 arg  0x00000806 , 0x00000012 
- 00031698  0x000087c3 copy  0x00000012 , 0x00000005 
- 00031699  0x000087c4 call  0x00007c7b 
- 00031700  0x000087c5 ifetch  0x00000001 , 0x00000011 
- 00031701  0x000087c6 iadd  0x00000013 , 0x00000013 
- 00031702  0x000087c7 ifetch  0x00000001 , 0x00000012 
- 00031703  0x000087c8 iadd  0x00000013 , 0x0000003f 
- 00031704  0x000087c9 istore  0x00000001 , 0x00000012 
- 00031705  0x000087ca branch  0x00007bb1 
- 00031706  0x000087cd arg  0x00000786 , 0x00000011 
- 00031707  0x000087ce copy  0x0000000b , 0x00000005 
- 00031708  0x000087cf call  0x00007c0a 
- 00031709  0x000087d1 arg  0x0000091e , 0x00000011 
- 00031710  0x000087d2 copy  0x0000000b , 0x00000012 
- 00031711  0x000087d3 copy  0x0000000b , 0x00000005 
- 00031712  0x000087d4 branch  0x00007c96 
- 00031713  0x000087d8 copy  0x00000005 , 0x0000000b 
- 00031714  0x000087da force  0x00000000 , 0x00000038 
- 00031715  0x000087dc arg  0x00000786 , 0x00000005 
- 00031716  0x000087dd call  0x00007ed2 
- 00031717  0x000087de arg  0x00000ad2 , 0x00000005 
- 00031718  0x000087df call  0x00007ed2 
- 00031719  0x000087e3 copy  0x00000011 , 0x00000006 
- 00031720  0x000087e5 jam  0x00000000 , 0x00000ad2 
- 00031721  0x000087e6 setarg  0x00000000 
- 00031722  0x000087e7 call  0x00007c73 
- 00031723  0x000087e8 copy  0x00000012 , 0x00000006 
- 00031724  0x000087e9 call  0x00007c77 
- 00031725  0x000087ec force  0x00000000 , 0x00000007 
- 00031726  0x000087ed arg  0x00000786 , 0x00000005 
- 00031727  0x000087f1 arg  0x00000ad2 , 0x00000002 
- 00031728  0x000087f2 copy  0x00000007 , 0x00000012 
- 00031729  0x000087f3 lshift2  0x00000012 , 0x0000003f 
- 00031730  0x000087f5 iadd  0x00000002 , 0x00000012 
- 00031731  0x000087f6 force  0x00000000 , 0x00000002 
- 00031732  0x000087f7 force  0x00000000 , 0x00000013 
- 00031733  0x000087fd ifetch  0x00000004 , 0x00000005 
- 00031734  0x000087fe iforce  0x00000011 
- 00031735  0x00008801 ifetch  0x00000004 , 0x00000012 
- 00031736  0x00008802 copy  0x00000013 , 0x00000038 
- 00031737  0x00008803 imul32  0x0000002f , 0x0000003f 
- 00031738  0x00008804 iadd  0x00000011 , 0x0000003f 
- 00031739  0x00008805 iadd  0x00000002 , 0x0000003f 
- 00031740  0x00008806 istore  0x00000004 , 0x00000005 
- 00031741  0x00008807 rshift32  0x0000003f , 0x00000002 
- 00031742  0x00008808 increase  0x00000001 , 0x00000013 
- 00031743  0x00008809 compare  0x00000008 , 0x00000013 , 0x000000ff 
- 00031744  0x0000880a nbranch  0x00007bf5 , 0x00000001 
- 00031745  0x0000880c deposit  0x00000002 
- 00031746  0x0000880d istore  0x00000004 , 0x00000005 
- 00031747  0x0000880e increase  0xffffffe0 , 0x00000005 
- 00031748  0x00008811 increase  0x00000001 , 0x00000007 
- 00031749  0x00008812 compare  0x00000008 , 0x00000007 , 0x000000ff 
- 00031750  0x00008813 nbranch  0x00007bef , 0x00000001 
- 00031751  0x00008814 arg  0x00000786 , 0x00000011 
- 00031752  0x00008815 copy  0x0000000b , 0x00000005 
- 00031753  0x00008816 branch  0x00007c0a 
- 00031754  0x00008819 bpatchx  0x000000f2 , 0x0000403e 
- 00031755  0x0000881a copy  0x00000005 , 0x0000000b 
- 00031756  0x0000881b copy  0x00000011 , 0x00000030 
- 00031757  0x0000881c arg  0x000007c6 , 0x00000012 
- 00031758  0x0000881d copy  0x00000012 , 0x00000005 
- 00031759  0x0000881e call  0x00007ecd 
- 00031760  0x0000881f istore  0x00000008 , 0x00000005 
- 00031761  0x00008820 add  0x00000011 , 0x0000002c , 0x00000006 
- 00031762  0x00008821 call  0x00007eb9 
- 00031763  0x00008822 call  0x00007eb5 
- 00031764  0x00008823 copy  0x00000012 , 0x00000011 
- 00031765  0x00008824 call  0x00007c80 
- 00031766  0x00008825 arg  0x000007c6 , 0x00000012 
- 00031767  0x00008826 copy  0x00000030 , 0x00000011 
- 00031768  0x00008827 copy  0x0000000b , 0x00000005 
- 00031769  0x00008828 call  0x00007c7d 
- 00031770  0x0000882a arg  0x000007c6 , 0x00000012 
- 00031771  0x0000882b copy  0x00000012 , 0x00000005 
- 00031772  0x0000882c call  0x00007ecd 
- 00031773  0x0000882d istore  0x00000008 , 0x00000005 
- 00031774  0x0000882e add  0x00000030 , 0x00000030 , 0x00000006 
- 00031775  0x0000882f call  0x00007ebf 
- 00031776  0x00008830 call  0x00007ecd 
- 00031777  0x00008831 copy  0x00000012 , 0x00000011 
- 00031778  0x00008832 call  0x00007c80 
- 00031779  0x00008836 arg  0x000007c6 , 0x00000012 
- 00031780  0x00008837 copy  0x0000000b , 0x00000011 
- 00031781  0x00008838 copy  0x00000011 , 0x00000005 
- 00031782  0x00008839 call  0x00007c7d 
- 00031783  0x0000883d arg  0x000007c6 , 0x00000012 
- 00031784  0x0000883e copy  0x00000012 , 0x00000005 
- 00031785  0x0000883f add  0x00000030 , 0x00000020 , 0x00000006 
- 00031786  0x00008840 call  0x00007eb5 
- 00031787  0x00008841 call  0x00007ecd 
- 00031788  0x00008842 istore  0x00000008 , 0x00000005 
- 00031789  0x00008843 add  0x00000030 , 0x00000038 , 0x00000006 
- 00031790  0x00008844 call  0x00007eb9 
- 00031791  0x00008845 copy  0x0000000b , 0x00000011 
- 00031792  0x00008846 copy  0x00000011 , 0x00000005 
- 00031793  0x00008847 call  0x00007c7d 
- 00031794  0x0000884b arg  0x000007c6 , 0x00000012 
- 00031795  0x0000884c copy  0x00000012 , 0x00000005 
- 00031796  0x0000884d add  0x00000030 , 0x00000024 , 0x00000006 
- 00031797  0x0000884e call  0x00007eb5 
- 00031798  0x0000884f add  0x00000030 , 0x00000034 , 0x00000006 
- 00031799  0x00008850 call  0x00007eb5 
- 00031800  0x00008851 add  0x00000030 , 0x00000034 , 0x00000006 
- 00031801  0x00008852 call  0x00007eb6 
- 00031802  0x00008853 add  0x00000030 , 0x00000020 , 0x00000006 
- 00031803  0x00008854 call  0x00007eb6 
- 00031804  0x00008855 copy  0x0000000b , 0x00000011 
- 00031805  0x00008856 copy  0x00000011 , 0x00000005 
- 00031806  0x00008857 call  0x00007c7d 
- 00031807  0x0000885a arg  0x000007c6 , 0x00000012 
- 00031808  0x0000885b copy  0x00000012 , 0x00000005 
- 00031809  0x0000885c add  0x00000030 , 0x0000002c , 0x00000006 
- 00031810  0x0000885d call  0x00007eb5 
- 00031811  0x0000885e call  0x00007ecd 
- 00031812  0x0000885f istore  0x00000008 , 0x00000005 
- 00031813  0x00008860 add  0x00000030 , 0x00000020 , 0x00000006 
- 00031814  0x00008861 call  0x00007eb6 
- 00031815  0x00008862 add  0x00000030 , 0x00000028 , 0x00000006 
- 00031816  0x00008863 call  0x00007eb6 
- 00031817  0x00008864 copy  0x0000000b , 0x00000011 
- 00031818  0x00008865 copy  0x00000011 , 0x00000005 
- 00031819  0x00008866 call  0x00007c96 
- 00031820  0x00008869 arg  0x000007c6 , 0x00000012 
- 00031821  0x0000886a copy  0x00000012 , 0x00000005 
- 00031822  0x0000886b add  0x00000030 , 0x00000030 , 0x00000006 
- 00031823  0x0000886c call  0x00007eb9 
- 00031824  0x0000886d call  0x00007eb9 
- 00031825  0x0000886e force  0x00000000 , 0x0000003f 
- 00031826  0x0000886f istore  0x00000008 , 0x00000005 
- 00031827  0x00008870 add  0x00000030 , 0x00000024 , 0x00000006 
- 00031828  0x00008871 call  0x00007eb6 
- 00031829  0x00008872 add  0x00000030 , 0x0000002c , 0x00000006 
- 00031830  0x00008873 call  0x00007eb6 
- 00031831  0x00008874 copy  0x0000000b , 0x00000011 
- 00031832  0x00008875 copy  0x00000011 , 0x00000005 
- 00031833  0x00008876 call  0x00007c96 
- 00031834  0x00008879 arg  0x000007c6 , 0x00000012 
- 00031835  0x0000887a copy  0x00000012 , 0x00000005 
- 00031836  0x0000887b add  0x00000030 , 0x00000034 , 0x00000006 
- 00031837  0x0000887c call  0x00007eb5 
- 00031838  0x0000887d add  0x00000030 , 0x00000020 , 0x00000006 
- 00031839  0x0000887e call  0x00007eb5 
- 00031840  0x0000887f call  0x00007ecd 
- 00031841  0x00008880 add  0x00000030 , 0x00000030 , 0x00000006 
- 00031842  0x00008881 call  0x00007eb6 
- 00031843  0x00008882 copy  0x0000000b , 0x00000011 
- 00031844  0x00008883 copy  0x00000011 , 0x00000005 
- 00031845  0x00008884 call  0x00007c96 
- 00031846  0x00008887 arg  0x000007c6 , 0x00000012 
- 00031847  0x00008888 copy  0x00000012 , 0x00000005 
- 00031848  0x00008889 add  0x00000030 , 0x00000038 , 0x00000006 
- 00031849  0x0000888a call  0x00007eb9 
- 00031850  0x0000888b call  0x00007ecd 
- 00031851  0x0000888c add  0x00000030 , 0x00000024 , 0x00000006 
- 00031852  0x0000888d call  0x00007eb5 
- 00031853  0x0000888e call  0x00007ecd 
- 00031854  0x0000888f add  0x00000030 , 0x00000034 , 0x00000006 
- 00031855  0x00008890 call  0x00007eb6 
- 00031856  0x00008891 copy  0x0000000b , 0x00000011 
- 00031857  0x00008892 copy  0x00000011 , 0x00000005 
- 00031858  0x00008893 branch  0x00007c96 
- 00031859  0x00008897 force  0x00000020 , 0x00000039 
- 00031860  0x00008898 arg  0x00000ad2 , 0x00000005 
- 00031861  0x00008899 iadd  0x00000005 , 0x00000005 
- 00031862  0x0000889a branch  0x00007f01 
- 00031863  0x0000889d force  0x00000008 , 0x00000039 
- 00031864  0x0000889e branch  0x00007781 
- 00031865  0x000088a1 copy  0x00000011 , 0x00000012 
- 00031866  0x000088a2 branch  0x00007be1 
- 00031867  0x000088a5 force  0x00000008 , 0x00000039 
- 00031868  0x000088a6 branch  0x00007712 
- 00031869  0x000088a9 call  0x00007c7b 
- 00031870  0x000088aa copy  0x00000005 , 0x00000011 
- 00031871  0x000088ab branch  0x00007c81 
- 00031872  0x000088ae call  0x00007cae 
- 00031873  0x000088b0 isolate1  0x00000000 , 0x00000013 
- 00031874  0x000088b1 branch  0x00007c8a , 0x00000001 
- 00031875  0x000088b2 arg  0x0000091e , 0x00000012 
- 00031876  0x000088b3 copy  0x00000011 , 0x00000013 
- 00031877  0x000088b4 increase  0xffffffe0 , 0x00000011 
- 00031878  0x000088b5 call  0x00007cb1 
- 00031879  0x000088b6 nrtn  0x00000002 
- 00031880  0x000088b7 copy  0x00000013 , 0x00000011 
- 00031881  0x000088b8 branch  0x00007c92 
- 00031882  0x000088bb call  0x00007c92 
- 00031883  0x000088bd copy  0x00000011 , 0x00000013 
- 00031884  0x000088be increase  0xffffffe0 , 0x00000011 
- 00031885  0x000088bf arg  0x0000091e , 0x00000012 
- 00031886  0x000088c0 call  0x00007cb1 
- 00031887  0x000088c1 nrtn  0x00000002 
- 00031888  0x000088c2 copy  0x00000013 , 0x00000011 
- 00031889  0x000088c3 branch  0x00007c92 
- 00031890  0x000088c7 increase  0xffffffe0 , 0x00000011 
- 00031891  0x000088c8 arg  0x0000091e , 0x00000012 
- 00031892  0x000088c9 copy  0x00000011 , 0x00000005 
- 00031893  0x000088ca branch  0x00007ca9 
- 00031894  0x000088d0 call  0x00007ca9 
- 00031895  0x000088d2 branch  0x00007ca0 , 0x00000001 
- 00031896  0x000088d5 add  0x00000005 , 0xffffffe0 , 0x00000011 
- 00031897  0x000088d6 arg  0x0000091e , 0x00000012 
- 00031898  0x000088d7 call  0x00007cb1 
- 00031899  0x000088d8 nrtn  0x00000002 
- 00031900  0x000088d9 arg  0x0000091e , 0x00000012 
- 00031901  0x000088da add  0x00000005 , 0xffffffe0 , 0x00000011 
- 00031902  0x000088dc copy  0x00000011 , 0x00000005 
- 00031903  0x000088dd branch  0x00007ca9 
- 00031904  0x000088df add  0x00000005 , 0xffffffe0 , 0x00000011 
- 00031905  0x000088e0 arg  0x0000091e , 0x00000012 
- 00031906  0x000088e1 copy  0x00000011 , 0x00000005 
- 00031907  0x000088e2 call  0x00007c7b 
- 00031908  0x000088e4 rtn  0x00000001 
- 00031909  0x000088e5 add  0x00000005 , 0xffffffe0 , 0x00000011 
- 00031910  0x000088e6 arg  0x0000091e , 0x00000012 
- 00031911  0x000088e7 copy  0x00000011 , 0x00000005 
- 00031912  0x000088e8 branch  0x00007c7b 
- 00031913  0x000088ed force  0x00000008 , 0x00000039 
- 00031914  0x000088ee branch  0x00007720 
- 00031915  0x000088f1 force  0x00000008 , 0x00000039 
- 00031916  0x000088f2 increase  0x0000001c , 0x00000011 
- 00031917  0x000088f3 branch  0x0000772f 
- 00031918  0x000088f6 force  0x00000008 , 0x00000039 
- 00031919  0x000088f7 force  0x00000000 , 0x00000013 
- 00031920  0x000088f8 branch  0x0000773d 
- 00031921  0x000088fb force  0x00000008 , 0x00000039 
- 00031922  0x000088fc increase  0x0000001c , 0x00000011 
- 00031923  0x000088fd increase  0x0000001c , 0x00000012 
- 00031924  0x000088fe branch  0x00007707 
- 00031925  0x00008902 ifetch  0x00000008 , 0x00000006 
- 00031926  0x00008903 nrtn  0x00000034 
- 00031927  0x00008904 branch  0x000076f5 
- 00031928  0x0000890a copy  0x00000011 , 0x00000030 
- 00031929  0x0000890c copy  0x00000030 , 0x00000011 
- 00031930  0x0000890d ifetch  0x00000001 , 0x00000011 
- 00031931  0x0000890e isolate1  0x00000000 , 0x0000003f 
- 00031932  0x0000890f rtn  0x00000001 
- 00031933  0x00008910 call  0x00007cab 
- 00031934  0x00008911 ifetch  0x00000001 , 0x00000012 
- 00031935  0x00008912 isolate0  0x00000000 , 0x0000003f 
- 00031936  0x00008913 branch  0x00007cc8 , 0x00000001 
- 00031937  0x00008914 arg  0x0000091e , 0x00000011 
- 00031938  0x00008915 copy  0x00000012 , 0x00000005 
- 00031939  0x00008916 call  0x00007c7b 
- 00031940  0x00008917 ifetch  0x00000001 , 0x00000012 
- 00031941  0x00008918 iadd  0x00000013 , 0x0000003f 
- 00031942  0x00008919 istore  0x00000001 , 0x00000012 
- 00031943  0x0000891a increase  0xffffffe0 , 0x00000012 
- 00031944  0x0000891c add  0x00000012 , 0x00000020 , 0x00000011 
- 00031945  0x0000891d force  0x00000009 , 0x00000039 
- 00031946  0x0000891e call  0x0000772f 
- 00031947  0x0000891f branch  0x00007cb9 
- 00031948  0x00008924 call  0x00002c65 
- 00031949  0x00008925 rtn  0x0000002b 
- 00031950  0x00008926 call  0x00007cd3 
- 00031951  0x00008927 call  0x00007d75 
- 00031952  0x00008928 branch  0x00007d08 
- 00031953  0x0000892b call  0x00007d29 
- 00031954  0x0000892d branch  0x00007d64 
- 00031955  0x00008930 fetch  0x00000001 , 0x00004686 
- 00031956  0x00008931 rtneq  0x000000ff 
- 00031957  0x00008932 iforce  0x00000002 
- 00031958  0x00008933 call  0x0000680e 
- 00031959  0x00008934 fetcht  0x00000001 , 0x00004686 
- 00031960  0x00008935 call  0x00006825 
- 00031961  0x00008936 nop  0x00000064 
- 00031962  0x00008937 fetcht  0x00000001 , 0x00004686 
- 00031963  0x00008938 call  0x000067fb 
- 00031964  0x00008939 branch  0x00007cdd 
- 00031965  0x0000893e bpatchx  0x000000f3 , 0x0000403e 
- 00031966  0x0000893f fetch  0x00000001 , 0x00004686 
- 00031967  0x00008940 rtneq  0x000000ff 
- 00031968  0x00008941 copy  0x0000003f , 0x00000002 
- 00031969  0x00008942 call  0x0000681d 
- 00031970  0x00008943 nbranch  0x00007cef , 0x00000001 
- 00031971  0x00008946 call  0x00007cf9 
- 00031972  0x00008947 fetch  0x00000002 , 0x00004682 
- 00031973  0x00008948 set1  0x0000000c 
- 00031974  0x00008949 store  0x00000002 , 0x00004682 
- 00031975  0x0000894a fetch  0x00000001 , 0x00004679 
- 00031976  0x0000894b rtneq  0x00000000 
- 00031977  0x0000894c jam  0x00000000 , 0x00004679 
- 00031978  0x0000894e fetch  0x00000001 , 0x00004685 
- 00031979  0x0000894f store  0x00000001 , 0x00004678 
- 00031980  0x00008950 call  0x00007d00 
- 00031981  0x00008951 jam  0x0000002c , 0x00000a99 
- 00031982  0x00008952 branch  0x00007d86 
- 00031983  0x00008954 fetch  0x00000002 , 0x00004682 
- 00031984  0x00008955 set0  0x0000000c 
- 00031985  0x00008956 store  0x00000002 , 0x00004682 
- 00031986  0x00008957 fetch  0x00000001 , 0x00004679 
- 00031987  0x00008958 rtneq  0x00000001 
- 00031988  0x00008959 jam  0x00000001 , 0x00004679 
- 00031989  0x0000895b jam  0x00000000 , 0x00004678 
- 00031990  0x0000895c call  0x00007d02 
- 00031991  0x0000895d jam  0x0000002d , 0x00000a99 
- 00031992  0x0000895e branch  0x00007d86 
- 00031993  0x00008961 fetch  0x00000001 , 0x00004678 
- 00031994  0x00008962 rtn  0x00000034 
- 00031995  0x00008963 increase  0xffffffff , 0x0000003f 
- 00031996  0x00008964 store  0x00000001 , 0x00004678 
- 00031997  0x00008965 nrtn  0x00000034 
- 00031998  0x00008967 jam  0x00000010 , 0x00000a99 
- 00031999  0x00008968 branch  0x00007d86 
- 00032000  0x0000896b arg  0x00000007 , 0x00000007 
- 00032001  0x0000896c branch  0x00002c32 
- 00032002  0x0000896f arg  0x00000007 , 0x00000007 
- 00032003  0x00008970 branch  0x00002c36 
- 00032004  0x00008987 fetch  0x00000002 , 0x0000421b 
- 00032005  0x00008988 mul32  0x00000011 , 0x0000000b , 0x00000012 
- 00032006  0x00008989 iadd  0x00000012 , 0x00000012 
- 00032007  0x0000898a rtn 
- 00032008  0x0000898e fetch  0x00000001 , 0x0000421a 
- 00032009  0x0000898f rtn  0x00000034 
- 00032010  0x00008990 copy  0x0000003f , 0x00000039 
- 00032011  0x00008991 fetch  0x00000002 , 0x0000421b 
- 00032012  0x00008992 copy  0x0000003f , 0x00000012 
- 00032013  0x00008994 add  0x00000012 , 0x00000002 , 0x00000013 
- 00032014  0x00008995 ifetcht  0x00000001 , 0x00000013 
- 00032015  0x00008996 call  0x0000680e 
- 00032016  0x00008997 call  0x00007d32 
- 00032017  0x00008998 increase  0x0000000b , 0x00000012 
- 00032018  0x00008999 loop  0x00007d0d 
- 00032019  0x0000899a rtn 
- 00032020  0x0000899f call  0x00007d04 
- 00032021  0x000089a0 setarg  0x00000002 
- 00032022  0x000089a1 istore  0x00000001 , 0x00000012 
- 00032023  0x000089a2 call  0x00007d5e 
- 00032024  0x000089a3 branch  0x00007d35 
- 00032025  0x000089a9 call  0x00007d04 
- 00032026  0x000089aa setarg  0x00000003 
- 00032027  0x000089ab istore  0x00000001 , 0x00000012 
- 00032028  0x000089ac call  0x00007d5e 
- 00032029  0x000089ad branch  0x00007d32 
- 00032030  0x000089b2 call  0x00007d04 
- 00032031  0x000089b3 setarg  0x00000001 
- 00032032  0x000089b4 istore  0x00000001 , 0x00000012 
- 00032033  0x000089b5 setarg  0x000000ff 
- 00032034  0x000089b6 istore  0x00000001 , 0x00000005 
- 00032035  0x000089b7 branch  0x00007d32 
- 00032036  0x000089bd call  0x00007d04 
- 00032037  0x000089be arg  0x0000000b , 0x00000039 
- 00032038  0x000089bf copy  0x00000013 , 0x00000006 
- 00032039  0x000089c0 copy  0x00000012 , 0x00000005 
- 00032040  0x000089c1 branch  0x00007ef4 
- 00032041  0x000089c6 fetch  0x00000001 , 0x0000421a 
- 00032042  0x000089c7 rtn  0x00000034 
- 00032043  0x000089c8 arg  0x00000000 , 0x00000011 
- 00032044  0x000089ca call  0x00007d38 
- 00032045  0x000089cb increase  0x00000001 , 0x00000011 
- 00032046  0x000089cc fetch  0x00000001 , 0x0000421a 
- 00032047  0x000089cd isub  0x00000011 , 0x0000003e 
- 00032048  0x000089ce rtn  0x00000005 
- 00032049  0x000089cf branch  0x00007d2c 
- 00032050  0x000089d3 add  0x00000012 , 0x00000002 , 0x00000013 
- 00032051  0x000089d4 ifetcht  0x00000001 , 0x00000013 
- 00032052  0x000089d5 branch  0x00006825 
- 00032053  0x000089d9 add  0x00000012 , 0x00000002 , 0x00000013 
- 00032054  0x000089da ifetcht  0x00000001 , 0x00000013 
- 00032055  0x000089db branch  0x00006829 
- 00032056  0x000089e0 add  0x00000011 , 0x0000000b , 0x00000007 
- 00032057  0x000089e1 call  0x00007f16 
- 00032058  0x000089e2 nrtn  0x00000034 
- 00032059  0x000089e4 call  0x00007d04 
- 00032060  0x000089e6 ifetch  0x00000001 , 0x00000012 
- 00032061  0x000089e8 beq  0x00000002 , 0x00007d35 
- 00032062  0x000089e9 beq  0x00000003 , 0x00007d32 
- 00032063  0x000089ea beq  0x00000000 , 0x00007d32 
- 00032064  0x000089eb beq  0x00000005 , 0x00007d4c 
- 00032065  0x000089ed call  0x00007d35 
- 00032066  0x000089ee add  0x00000012 , 0x00000007 , 0x00000013 
- 00032067  0x000089ef call  0x00007e7c 
- 00032068  0x000089f0 ifetch  0x00000002 , 0x00000013 
- 00032069  0x000089f1 call  0x00007f9c 
- 00032070  0x000089f2 call  0x00007e8c 
- 00032071  0x000089f3 setarg  0x00000005 
- 00032072  0x000089f4 istore  0x00000001 , 0x00000012 
- 00032073  0x000089f5 add  0x00000012 , 0x00000003 , 0x00000013 
- 00032074  0x000089f6 ifetch  0x00000002 , 0x00000013 
- 00032075  0x000089f7 branch  0x00007d5c 
- 00032076  0x000089fb call  0x00007d32 
- 00032077  0x000089fc add  0x00000012 , 0x00000009 , 0x00000013 
- 00032078  0x000089fd call  0x00007e7c 
- 00032079  0x000089fe ifetch  0x00000002 , 0x00000013 
- 00032080  0x000089ff call  0x00007f9c 
- 00032081  0x00008a00 call  0x00007e8c 
- 00032082  0x00008a02 add  0x00000012 , 0x00000001 , 0x00000013 
- 00032083  0x00008a03 ifetch  0x00000001 , 0x00000013 
- 00032084  0x00008a04 beq  0x000000ff , 0x00007d58 
- 00032085  0x00008a05 increase  0xffffffff , 0x0000003f 
- 00032086  0x00008a06 istore  0x00000001 , 0x00000013 
- 00032087  0x00008a07 branch  0x00007d19 , 0x00000034 
- 00032088  0x00008a09 setarg  0x00000004 
- 00032089  0x00008a0a istore  0x00000001 , 0x00000012 
- 00032090  0x00008a0b add  0x00000012 , 0x00000005 , 0x00000013 
- 00032091  0x00008a0c ifetch  0x00000002 , 0x00000013 
- 00032092  0x00008a0e add  0x00000011 , 0x0000000b , 0x00000007 
- 00032093  0x00008a0f branch  0x00007f08 
- 00032094  0x00008a12 setarg  0x00000000 
- 00032095  0x00008a13 branch  0x00007d5c 
- 00032096  0x00008a1a setarg  0x00001000 
- 00032097  0x00008a1b lshift16  0x0000003f , 0x0000003f 
- 00032098  0x00008a1c iadd  0x00000012 , 0x00000012 
- 00032099  0x00008a1d rtn 
- 00032100  0x00008a20 bpatchx  0x000000f4 , 0x0000403e 
- 00032101  0x00008a21 arg  0x00000000 , 0x00000011 
- 00032102  0x00008a22 fetcht  0x00000004 , 0x0000467a 
- 00032103  0x00008a23 copy  0x00000022 , 0x00000012 
- 00032104  0x00008a24 copy  0x00000012 , 0x0000003f 
- 00032105  0x00008a25 isub  0x00000002 , 0x0000003e 
- 00032106  0x00008a26 ncall  0x00007d60 , 0x00000002 
- 00032107  0x00008a29 copy  0x00000012 , 0x0000003f 
- 00032108  0x00008a2a increase  0x000000a0 , 0x00000002 
- 00032109  0x00008a2b increase  0x000000a0 , 0x00000002 
- 00032110  0x00008a2c isub  0x00000002 , 0x0000003e 
- 00032111  0x00008a2d nbranch  0x00007d78 , 0x00000002 
- 00032112  0x00008a2e increase  0x00000001 , 0x00000011 
- 00032113  0x00008a2f and  0x00000011 , 0x0000000f , 0x0000003f 
- 00032114  0x00008a30 nbranch  0x00007d6b , 0x00000034 
- 00032115  0x00008a31 arg  0x00000000 , 0x00000011 
- 00032116  0x00008a32 call  0x00007d7f 
- 00032117  0x00008a34 copy  0x00000022 , 0x0000003f 
- 00032118  0x00008a35 store  0x00000004 , 0x0000467a 
- 00032119  0x00008a36 rtn 
- 00032120  0x00008a38 bpatchx  0x000000f5 , 0x0000403e 
- 00032121  0x00008a39 copy  0x00000011 , 0x0000003f 
- 00032122  0x00008a3a rtn  0x00000034 
- 00032123  0x00008a3b increase  0xffffff60 , 0x00000002 
- 00032124  0x00008a3c increase  0xffffff60 , 0x00000002 
- 00032125  0x00008a3d set0  0x0000001c , 0x00000002 
- 00032126  0x00008a3e storet  0x00000004 , 0x0000467a 
- 00032127  0x00008a40 branch  0x0000335f 
- 00032128  0x00008a48 jam  0x00000001 , 0x00004666 
- 00032129  0x00008a4a fetch  0x00000001 , 0x00004667 
- 00032130  0x00008a4b nbranch  0x00007d81 , 0x00000034 
- 00032131  0x00008a4c rtn 
- 00032132  0x00008a4f jam  0x00000000 , 0x00004666 
- 00032133  0x00008a50 rtn 
- 00032134  0x00008a55 bpatchx  0x000000f6 , 0x0000403e 
- 00032135  0x00008a56 call  0x00007d80 
- 00032136  0x00008a57 copy  0x00000011 , 0x0000003f 
- 00032137  0x00008a58 store  0x00000004 , 0x00000a91 
- 00032138  0x00008a59 arg  0x00004668 , 0x00000011 
- 00032139  0x00008a5a call  0x00007fb8 
- 00032140  0x00008a5b fetch  0x00000004 , 0x00000a91 
- 00032141  0x00008a5c copy  0x0000003f , 0x00000011 
- 00032142  0x00008a5d branch  0x00007d84 
- 00032143  0x00008a60 bpatchx  0x000000f7 , 0x0000403e 
- 00032144  0x00008a61 call  0x00007d80 
- 00032145  0x00008a62 copy  0x00000011 , 0x0000003f 
- 00032146  0x00008a63 store  0x00000004 , 0x00000a91 
- 00032147  0x00008a64 arg  0x00004670 , 0x00000011 
- 00032148  0x00008a65 call  0x00007fb8 
- 00032149  0x00008a66 fetch  0x00000004 , 0x00000a91 
- 00032150  0x00008a67 copy  0x0000003f , 0x00000011 
- 00032151  0x00008a68 branch  0x00007d84 
- 00032152  0x00008a6b setarg  0x00000000 
- 00032153  0x00008a6c store  0x00000008 , 0x00004670 
- 00032154  0x00008a6d store  0x00000008 , 0x00004668 
- 00032155  0x00008a6e rtn 
- 00032156  0x00008a71 bpatchx  0x000000f8 , 0x0000403f 
- 00032157  0x00008a72 fetch  0x00000001 , 0x000041ce 
- 00032158  0x00008a73 nrtn  0x00000034 
- 00032159  0x00008a74 arg  0x00004670 , 0x00000011 
- 00032160  0x00008a75 call  0x00007fd0 
- 00032161  0x00008a76 rtn  0x00000034 
- 00032162  0x00008a77 jam  0x00000000 , 0x00000a90 
- 00032163  0x00008a78 call  0x00007da7 
- 00032164  0x00008a79 fetch  0x00000001 , 0x00000a90 
- 00032165  0x00008a7a branch  0x00007d9c , 0x00000034 
- 00032166  0x00008a7b rtn 
- 00032167  0x00008a7e call  0x00007d80 
- 00032168  0x00008a7f arg  0x00004670 , 0x00000011 
- 00032169  0x00008a80 call  0x00007fc4 
- 00032170  0x00008a81 copy  0x0000003f , 0x00000002 
- 00032171  0x00008a82 call  0x00007d84 
- 00032172  0x00008a83 bpatchx  0x000000f9 , 0x0000403f 
- 00032173  0x00008a84 copy  0x00000002 , 0x0000003f 
- 00032174  0x00008a85 rtn  0x00000034 
- 00032175  0x00008a86 beq  0x00000001 , 0x00007ddd 
- 00032176  0x00008a87 beq  0x00000002 , 0x00007de2 
- 00032177  0x00008a88 beq  0x00000003 , 0x00007de8 
- 00032178  0x00008a89 beq  0x00000007 , 0x00007ded 
- 00032179  0x00008a8a beq  0x00000008 , 0x00007dee 
- 00032180  0x00008a8b beq  0x00000009 , 0x00007def 
- 00032181  0x00008a8c beq  0x0000000b , 0x00007df2 
- 00032182  0x00008a8d beq  0x0000000c , 0x00007df3 
- 00032183  0x00008a8e beq  0x0000000d , 0x00007df4 
- 00032184  0x00008a8f beq  0x0000000e , 0x00007dfa 
- 00032185  0x00008a90 beq  0x0000000f , 0x00007dff 
- 00032186  0x00008a91 beq  0x00000010 , 0x00007e05 
- 00032187  0x00008a92 beq  0x00000013 , 0x00007e0f 
- 00032188  0x00008a93 beq  0x00000014 , 0x00007e11 
- 00032189  0x00008a94 beq  0x00000015 , 0x00007e13 
- 00032190  0x00008a95 beq  0x00000016 , 0x00007e15 
- 00032191  0x00008a96 beq  0x00000017 , 0x00007e18 
- 00032192  0x00008a97 beq  0x00000018 , 0x00007e1a 
- 00032193  0x00008a98 beq  0x00000019 , 0x00007e1d 
- 00032194  0x00008a99 beq  0x0000001b , 0x00007e25 
- 00032195  0x00008a9a beq  0x0000001e , 0x00007e2f 
- 00032196  0x00008a9c store  0x00000001 , 0x00000a99 
- 00032197  0x00008a9d bpatchx  0x000000fa , 0x0000403f 
- 00032198  0x00008a9e call  0x000062bc 
- 00032199  0x00008a9f nbranch  0x00007ddb , 0x00000034 
- 00032200  0x00008aa1 fetch  0x00000001 , 0x00000a99 
- 00032201  0x00008aa2 bmark0  0x00000009 , 0x00007dd6 
- 00032202  0x00008aa3 beq  0x00000004 , 0x00007dea 
- 00032203  0x00008aa4 beq  0x00000005 , 0x00004d17 
- 00032204  0x00008aa5 beq  0x00000006 , 0x00004d26 
- 00032205  0x00008aa6 beq  0x0000000a , 0x00007df0 
- 00032206  0x00008aa7 beq  0x00000011 , 0x00007e0a 
- 00032207  0x00008aa8 beq  0x00000012 , 0x00007e0e 
- 00032208  0x00008aa9 beq  0x0000001d , 0x00007e26 
- 00032209  0x00008aaa beq  0x0000001f , 0x000067cc 
- 00032210  0x00008aab beq  0x00000020 , 0x000067d0 
- 00032211  0x00008aac beq  0x00000021 , 0x00007e31 
- 00032212  0x00008aad beq  0x00000025 , 0x0000670b 
- 00032213  0x00008aae rtn 
- 00032214  0x00008ab1 store  0x00000001 , 0x00000a99 
- 00032215  0x00008ab2 call  0x00002252 
- 00032216  0x00008ab3 branch  0x00007ddb , 0x00000005 
- 00032217  0x00008ab4 call  0x0000225a 
- 00032218  0x00008ab5 nrtn  0x00000005 
- 00032219  0x00008ab7 jam  0x00000001 , 0x00000a90 
- 00032220  0x00008ab8 branch  0x00007d8f 
- 00032221  0x00008abe fetch  0x00000002 , 0x00004682 
- 00032222  0x00008abf set1  0x00000006 
- 00032223  0x00008ac0 store  0x00000002 , 0x00004682 
- 00032224  0x00008ac1 jam  0x00000003 , 0x00004093 
- 00032225  0x00008ac2 rtn 
- 00032226  0x00008ac7 jam  0x00000000 , 0x00004680 
- 00032227  0x00008ac8 jam  0x00000000 , 0x00004093 
- 00032228  0x00008ac9 fetch  0x00000002 , 0x00004682 
- 00032229  0x00008aca set0  0x00000006 
- 00032230  0x00008acb store  0x00000002 , 0x00004682 
- 00032231  0x00008acc rtn 
- 00032232  0x00008ad1 jam  0x00000005 , 0x000041ce 
- 00032233  0x00008ad2 rtn 
- 00032234  0x00008ad7 jam  0x00000007 , 0x0000007c 
- 00032235  0x00008ad8 jam  0x00000013 , 0x000004ca 
- 00032236  0x00008ad9 rtn 
- 00032237  0x00008ade rtn 
- 00032238  0x00008ae3 rtn 
- 00032239  0x00008ae8 rtn 
- 00032240  0x00008aed jam  0x00000002 , 0x000004d4 
- 00032241  0x00008aee branch  0x00004d0a 
- 00032242  0x00008af3 rtn 
- 00032243  0x00008af8 rtn 
- 00032244  0x00008afd jam  0x00000001 , 0x0000436e 
- 00032245  0x00008afe jam  0x00000000 , 0x00004484 
- 00032246  0x00008aff fetch  0x00000002 , 0x00004682 
- 00032247  0x00008b00 set1  0x0000000b , 0x0000003f 
- 00032248  0x00008b01 store  0x00000002 , 0x00004682 
- 00032249  0x00008b02 rtn 
- 00032250  0x00008b07 fetch  0x00000002 , 0x00004682 
- 00032251  0x00008b08 set0  0x0000000b , 0x0000003f 
- 00032252  0x00008b09 store  0x00000002 , 0x00004682 
- 00032253  0x00008b0a jam  0x00000000 , 0x0000436e 
- 00032254  0x00008b0b rtn 
- 00032255  0x00008b10 jam  0x00000001 , 0x0000436e 
- 00032256  0x00008b11 jam  0x00000001 , 0x00004484 
- 00032257  0x00008b12 fetch  0x00000002 , 0x00004682 
- 00032258  0x00008b13 set1  0x0000000b , 0x0000003f 
- 00032259  0x00008b14 store  0x00000002 , 0x00004682 
- 00032260  0x00008b15 rtn 
- 00032261  0x00008b1a fetch  0x00000002 , 0x00004682 
- 00032262  0x00008b1b set0  0x0000000b , 0x0000003f 
- 00032263  0x00008b1c store  0x00000002 , 0x00004682 
- 00032264  0x00008b1d jam  0x00000000 , 0x0000436e 
- 00032265  0x00008b1e rtn 
- 00032266  0x00008b23 setarg  0x00000014 
- 00032267  0x00008b24 store  0x00000002 , 0x0000046d 
- 00032268  0x00008b25 store  0x00000002 , 0x000044ba 
- 00032269  0x00008b26 branch  0x00005c92 
- 00032270  0x00008b2b branch  0x00005abf 
- 00032271  0x00008b30 arg  0x00000000 , 0x00000011 
- 00032272  0x00008b31 branch  0x00007d19 
- 00032273  0x00008b36 arg  0x00000000 , 0x00000011 
- 00032274  0x00008b37 branch  0x00007d14 
- 00032275  0x00008b3c arg  0x00000000 , 0x00000011 
- 00032276  0x00008b3d branch  0x00007d1e 
- 00032277  0x00008b42 jam  0x00000001 , 0x00004369 
- 00032278  0x00008b43 jam  0x0000001b , 0x000041ce 
- 00032279  0x00008b46 rtn 
- 00032280  0x00008b4b jam  0x00000001 , 0x00004369 
- 00032281  0x00008b4c rtn 
- 00032282  0x00008b51 jam  0x00000000 , 0x00004369 
- 00032283  0x00008b52 jam  0x00000000 , 0x000041ce 
- 00032284  0x00008b53 rtn 
- 00032285  0x00008b58 fetch  0x00000002 , 0x000041eb 
- 00032286  0x00008b59 call  0x00007f9c 
- 00032287  0x00008b5a fetch  0x00000001 , 0x00004686 
- 00032288  0x00008b5b beq  0x000000ff , 0x00007e23 
- 00032289  0x00008b5c copy  0x0000003f , 0x00000002 
- 00032290  0x00008b5d call  0x000067fb 
- 00032291  0x00008b5f call  0x00007d98 
- 00032292  0x00008b60 branch  0x00002b1f 
- 00032293  0x00008b65 branch  0x00005b02 
- 00032294  0x00008b6a jam  0x00000034 , 0x0000007c 
- 00032295  0x00008b6b set1  0x00000003 , 0x00000000 
- 00032296  0x00008b6c nrtn  0x00000029 
- 00032297  0x00008b6d jam  0x00000000 , 0x0000455b 
- 00032298  0x00008b6e jam  0x00000013 , 0x0000007c 
- 00032299  0x00008b6f fetch  0x00000001 , 0x0000016d 
- 00032300  0x00008b70 set0  0x00000002 , 0x0000003f 
- 00032301  0x00008b71 store  0x00000001 , 0x0000016d 
- 00032302  0x00008b72 rtn 
- 00032303  0x00008b77 force  0x00000003 , 0x00000007 
- 00032304  0x00008b78 branch  0x00007f07 
- 00032305  0x00008b7d call  0x000062f8 
- 00032306  0x00008b7e jam  0x00000041 , 0x0000007d 
- 00032307  0x00008b7f branch  0x00005f9d 
- 00032308  0x00008b83 fetch  0x00000001 , 0x00004682 
- 00032309  0x00008b84 rtnbit0  0x0000000c 
- 00032310  0x00008b85 rtnbit0  0x00000007 
- 00032311  0x00008b86 branch  0x00007e2f 
- 00032312  0x00008b8c fetch  0x00000002 , 0x00004218 
- 00032313  0x00008b8d add  0x0000003f , 0x00000002 , 0x00000005 
- 00032314  0x00008b8e setarg  0x00000000 
- 00032315  0x00008b8f istore  0x00000003 , 0x00000005 
- 00032316  0x00008b90 rtn 
- 00032317  0x00008b95 call  0x00007fe9 
- 00032318  0x00008b96 call  0x00007e69 
- 00032319  0x00008b97 rtn  0x00000034 
- 00032320  0x00008b98 fetch  0x00000002 , 0x00004218 
- 00032321  0x00008b99 add  0x0000003f , 0x00000002 , 0x00000012 
- 00032322  0x00008b9a ifetcht  0x00000001 , 0x00000012 
- 00032323  0x00008b9b increase  0x00000001 , 0x00000002 
- 00032324  0x00008b9c istoret  0x00000001 , 0x00000012 
- 00032325  0x00008b9e ifetcht  0x00000001 , 0x0000003f 
- 00032326  0x00008b9f copy  0x00000002 , 0x00000039 
- 00032327  0x00008ba0 add  0x0000003f , 0x00000004 , 0x00000012 
- 00032328  0x00008ba1 ifetch  0x00000001 , 0x00000012 
- 00032329  0x00008ba2 imul32  0x00000002 , 0x0000003f 
- 00032330  0x00008ba3 iadd  0x00000006 , 0x00000005 
- 00032331  0x00008ba4 copy  0x00000011 , 0x00000006 
- 00032332  0x00008ba6 call  0x00007f01 
- 00032333  0x00008ba7 call  0x00007e6d 
- 00032334  0x00008ba8 pincrease  0xffffffff 
- 00032335  0x00008ba9 ifetcht  0x00000001 , 0x00000012 
- 00032336  0x00008baa increase  0x00000001 , 0x00000002 
- 00032337  0x00008bab iand  0x00000002 , 0x00000002 
- 00032338  0x00008bac istoret  0x00000001 , 0x00000012 
- 00032339  0x00008bad branch  0x00007fe7 
- 00032340  0x00008bb3 call  0x00007fe9 
- 00032341  0x00008bb4 call  0x00007e65 
- 00032342  0x00008bb5 rtn  0x00000034 
- 00032343  0x00008bb6 fetch  0x00000002 , 0x00004218 
- 00032344  0x00008bb7 add  0x0000003f , 0x00000002 , 0x00000012 
- 00032345  0x00008bb8 ifetcht  0x00000001 , 0x00000012 
- 00032346  0x00008bb9 increase  0xffffffff , 0x00000002 
- 00032347  0x00008bba istoret  0x00000001 , 0x00000012 
- 00032348  0x00008bbb ifetcht  0x00000001 , 0x0000003f 
- 00032349  0x00008bbc copy  0x00000002 , 0x00000039 
- 00032350  0x00008bbd add  0x0000003f , 0x00000003 , 0x00000012 
- 00032351  0x00008bbe ifetch  0x00000001 , 0x00000012 
- 00032352  0x00008bbf imul32  0x00000002 , 0x0000003f 
- 00032353  0x00008bc0 iadd  0x00000006 , 0x00000006 
- 00032354  0x00008bc1 increase  0x00000001 , 0x00000006 
- 00032355  0x00008bc2 copy  0x00000011 , 0x00000005 
- 00032356  0x00008bc3 branch  0x00007e4c 
- 00032357  0x00008bc8 fetch  0x00000002 , 0x00004218 
- 00032358  0x00008bc9 add  0x0000003f , 0x00000002 , 0x00000006 
- 00032359  0x00008bca ifetch  0x00000001 , 0x00000006 
- 00032360  0x00008bcb rtn 
- 00032361  0x00008bcf call  0x00007e6d 
- 00032362  0x00008bd0 ifetcht  0x00000001 , 0x00000006 
- 00032363  0x00008bd1 isub  0x00000002 , 0x0000003f 
- 00032364  0x00008bd2 rtn 
- 00032365  0x00008bd6 fetch  0x00000002 , 0x00004218 
- 00032366  0x00008bd7 add  0x0000003f , 0x00000001 , 0x00000006 
- 00032367  0x00008bd8 ifetch  0x00000001 , 0x00000006 
- 00032368  0x00008bd9 rtn 
- 00032369  0x00008be2 sub  0x00000039 , 0x00000000 , 0x0000003e 
- 00032370  0x00008be3 rtn  0x00000005 
- 00032371  0x00008be5 rshift  0x0000003f , 0x0000003f 
- 00032372  0x00008be6 loop  0x00007e73 
- 00032373  0x00008be7 rtn 
- 00032374  0x00008beb force  0x00000001 , 0x0000003f 
- 00032375  0x00008bec sub  0x00000039 , 0x00000000 , 0x0000003e 
- 00032376  0x00008bed rtn  0x00000005 
- 00032377  0x00008bef lshift  0x0000003f , 0x0000003f 
- 00032378  0x00008bf0 loop  0x00007e79 
- 00032379  0x00008bf1 rtn 
- 00032380  0x00008bf3 deposit  0x00000005 
- 00032381  0x00008bf4 store  0x00000002 , 0x00000abb 
- 00032382  0x00008bf5 storet  0x00000008 , 0x00000aa2 
- 00032383  0x00008bf6 deposit  0x0000000b 
- 00032384  0x00008bf7 store  0x00000004 , 0x00000aaa 
- 00032385  0x00008bf8 call  0x00007e85 
- 00032386  0x00008bf9 deposit  0x00000006 
- 00032387  0x00008bfa store  0x00000002 , 0x00000ab9 
- 00032388  0x00008bfb rtn 
- 00032389  0x00008bfe deposit  0x00000011 
- 00032390  0x00008bff store  0x00000004 , 0x00000aae 
- 00032391  0x00008c00 deposit  0x00000012 
- 00032392  0x00008c01 store  0x00000004 , 0x00000ab2 
- 00032393  0x00008c02 deposit  0x00000013 
- 00032394  0x00008c03 store  0x00000003 , 0x00000ab6 
- 00032395  0x00008c04 rtn 
- 00032396  0x00008c07 fetcht  0x00000008 , 0x00000aa2 
- 00032397  0x00008c08 fetch  0x00000004 , 0x00000aaa 
- 00032398  0x00008c09 iforce  0x0000000b 
- 00032399  0x00008c0a call  0x00007e95 
- 00032400  0x00008c0b fetch  0x00000002 , 0x00000abb 
- 00032401  0x00008c0c iforce  0x00000005 
- 00032402  0x00008c0d fetch  0x00000002 , 0x00000ab9 
- 00032403  0x00008c0e iforce  0x00000006 
- 00032404  0x00008c0f rtn 
- 00032405  0x00008c12 fetch  0x00000004 , 0x00000aae 
- 00032406  0x00008c13 iforce  0x00000011 
- 00032407  0x00008c14 fetch  0x00000004 , 0x00000ab2 
- 00032408  0x00008c15 iforce  0x00000012 
- 00032409  0x00008c16 fetch  0x00000003 , 0x00000ab6 
- 00032410  0x00008c17 iforce  0x00000013 
- 00032411  0x00008c18 rtn 
- 00032412  0x00008c1b fetch  0x00000002 , 0x00000abb 
- 00032413  0x00008c1c copy  0x0000003f , 0x00000005 
- 00032414  0x00008c1d rtn 
- 00032415  0x00008c1f fetch  0x00000002 , 0x00000ab9 
- 00032416  0x00008c20 copy  0x0000003f , 0x00000006 
- 00032417  0x00008c21 rtn 
- 00032418  0x00008c23 copy  0x00000005 , 0x0000003f 
- 00032419  0x00008c24 store  0x00000002 , 0x00000abb 
- 00032420  0x00008c25 rtn 
- 00032421  0x00008c27 copy  0x00000006 , 0x0000003f 
- 00032422  0x00008c28 store  0x00000002 , 0x00000ab9 
- 00032423  0x00008c29 rtn 
- 00032424  0x00008c2e copy  0x00000005 , 0x0000003f 
- 00032425  0x00008c2f store  0x00000002 , 0x00000a97 
- 00032426  0x00008c30 copy  0x00000006 , 0x0000003f 
- 00032427  0x00008c31 store  0x00000002 , 0x00000a95 
- 00032428  0x00008c32 rtn 
- 00032429  0x00008c34 fetch  0x00000002 , 0x00000a97 
- 00032430  0x00008c35 copy  0x0000003f , 0x00000005 
- 00032431  0x00008c36 fetch  0x00000002 , 0x00000a95 
- 00032432  0x00008c37 copy  0x0000003f , 0x00000006 
- 00032433  0x00008c38 rtn 
- 00032434  0x00008c3b call  0x00007ebd 
- 00032435  0x00008c3d call  0x00007ebd 
- 00032436  0x00008c3e branch  0x00007ebd 
- 00032437  0x00008c40 call  0x00007eb9 
- 00032438  0x00008c42 ifetch  0x00000004 , 0x00000006 
- 00032439  0x00008c43 istore  0x00000004 , 0x00000005 
- 00032440  0x00008c44 rtn 
- 00032441  0x00008c46 ifetch  0x00000008 , 0x00000006 
- 00032442  0x00008c47 istore  0x00000008 , 0x00000005 
- 00032443  0x00008c48 rtn 
- 00032444  0x00008c4b call  0x00007ebf 
- 00032445  0x00008c4d call  0x00007eb9 
- 00032446  0x00008c4f call  0x00007eb9 
- 00032447  0x00008c51 call  0x00007eb9 
- 00032448  0x00008c52 branch  0x00007eb9 
- 00032449  0x00008c57 arg  0x0000000a , 0x00000039 
- 00032450  0x00008c59 nop  0x00002ee0 
- 00032451  0x00008c5a loop  0x00007ec2 
- 00032452  0x00008c5b rtn 
- 00032453  0x00008c5e force  0x00000003 , 0x00000039 
- 00032454  0x00008c60 force  0x00000000 , 0x0000003f 
- 00032455  0x00008c62 istore  0x00000008 , 0x00000005 
- 00032456  0x00008c63 loop  0x00007ec7 
- 00032457  0x00008c64 rtn 
- 00032458  0x00008c67 force  0x00000000 , 0x0000003f 
- 00032459  0x00008c68 istore  0x00000008 , 0x00000005 
- 00032460  0x00008c69 rtn 
- 00032461  0x00008c6b force  0x00000000 , 0x0000003f 
- 00032462  0x00008c6c istore  0x00000004 , 0x00000005 
- 00032463  0x00008c6d rtn 
- 00032464  0x00008c70 force  0x00000004 , 0x00000039 
- 00032465  0x00008c71 branch  0x00007ec6 
- 00032466  0x00008c73 force  0x00000008 , 0x00000039 
- 00032467  0x00008c74 branch  0x00007ec6 
- 00032468  0x00008c77 deposit  0x00000039 
- 00032469  0x00008c78 rtn  0x00000034 
- 00032470  0x00008c79 setarg  0x00000000 
- 00032471  0x00008c7b istore  0x00000001 , 0x00000005 
- 00032472  0x00008c7c loop  0x00007ed7 
- 00032473  0x00008c7d rtn 
- 00032474  0x00008c81 arg  0x00000020 , 0x00000039 
- 00032475  0x00008c82 arg  0x00000ac2 , 0x00000005 
- 00032476  0x00008c83 branch  0x00007ed4 
- 00032477  0x00008c86 ifetch  0x00000004 , 0x00000013 
- 00032478  0x00008c87 ifetcht  0x00000004 , 0x00000011 
- 00032479  0x00008c88 ixor  0x00000002 , 0x0000003f 
- 00032480  0x00008c89 istore  0x00000004 , 0x00000005 
- 00032481  0x00008c8a increase  0x00000004 , 0x00000011 
- 00032482  0x00008c8b increase  0x00000004 , 0x00000013 
- 00032483  0x00008c8c loop  0x00007edd 
- 00032484  0x00008c8d rtn 
- 00032485  0x00008c92 bpatchx  0x000000fb , 0x0000403f 
- 00032486  0x00008c93 copy  0x00000039 , 0x0000003f 
- 00032487  0x00008c94 sub  0x0000003f , 0x00000001 , 0x0000003e 
- 00032488  0x00008c95 rtn  0x00000002 
- 00032489  0x00008c96 iadd  0x00000011 , 0x00000012 
- 00032490  0x00008c97 increase  0xffffffff , 0x00000012 
- 00032491  0x00008c98 rshift  0x00000039 , 0x00000039 
- 00032492  0x00008c9a ifetcht  0x00000001 , 0x00000011 
- 00032493  0x00008c9b ifetch  0x00000001 , 0x00000012 
- 00032494  0x00008c9c istore  0x00000001 , 0x00000011 
- 00032495  0x00008c9d istoret  0x00000001 , 0x00000012 
- 00032496  0x00008c9e increase  0xffffffff , 0x00000012 
- 00032497  0x00008c9f increase  0x00000001 , 0x00000011 
- 00032498  0x00008ca0 loop  0x00007eec 
- 00032499  0x00008ca1 rtn 
- 00032500  0x00008ca5 deposit  0x00000039 
- 00032501  0x00008ca6 rtn  0x00000034 
- 00032502  0x00008ca8 increase  0xfffffff8 , 0x00000039 
- 00032503  0x00008ca9 call  0x00007eb9 , 0x00000002 
- 00032504  0x00008caa rtn  0x00000005 
- 00032505  0x00008cab branch  0x00007ef6 , 0x00000002 
- 00032506  0x00008cac increase  0x00000008 , 0x00000039 
- 00032507  0x00008cae increase  0xfffffffc , 0x00000039 
- 00032508  0x00008caf call  0x00007eb6 , 0x00000002 
- 00032509  0x00008cb0 rtn  0x00000005 
- 00032510  0x00008cb1 branch  0x00007efb , 0x00000002 
- 00032511  0x00008cb2 increase  0x00000004 , 0x00000039 
- 00032512  0x00008cb3 branch  0x00007f01 
- 00032513  0x00008cb6 deposit  0x00000039 
- 00032514  0x00008cb7 rtn  0x00000034 
- 00032515  0x00008cb9 ifetch  0x00000001 , 0x00000006 
- 00032516  0x00008cba istore  0x00000001 , 0x00000005 
- 00032517  0x00008cbb loop  0x00007f03 
- 00032518  0x00008cbc rtn 
- 00032519  0x00008cbf setarg  0x00000000 
- 00032520  0x00008cc1 rshift  0x00000022 , 0x00000002 
- 00032521  0x00008cc2 storet  0x00000004 , 0x00004094 
- 00032522  0x00008cc3 arg  0x0000419d , 0x00000005 
- 00032523  0x00008cc4 iforce  0x00000002 
- 00032524  0x00008cc5 lshift  0x00000007 , 0x0000003f 
- 00032525  0x00008cc6 iadd  0x00000005 , 0x00000005 
- 00032526  0x00008cc7 istoret  0x00000002 , 0x00000005 
- 00032527  0x00008cc8 bpatchx  0x000000fc , 0x0000403f 
- 00032528  0x00008cc9 rtn 
- 00032529  0x00008ccc arg  0x00000800 , 0x0000000b 
- 00032530  0x00008ccd lshift16  0x0000000b , 0x0000000b 
- 00032531  0x00008cce iadd  0x0000000b , 0x0000003f 
- 00032532  0x00008ccf rtn 
- 00032533  0x00008cd3 arg  0x00000000 , 0x00000007 
- 00032534  0x00008cd5 bpatchx  0x000000fd , 0x0000403f 
- 00032535  0x00008cd6 fetcht  0x00000004 , 0x00004094 
- 00032536  0x00008cd7 rshift  0x00000022 , 0x0000003f 
- 00032537  0x00008cd8 store  0x00000004 , 0x00004094 
- 00032538  0x00008cd9 isub  0x00000002 , 0x0000003e 
- 00032539  0x00008cda ncall  0x00007f11 , 0x00000002 
- 00032540  0x00008cdb isub  0x00000002 , 0x0000000b 
- 00032541  0x00008cdc copy  0x0000000b , 0x00000002 
- 00032542  0x00008cdd arg  0x0000419d , 0x00000006 
- 00032543  0x00008cde copy  0x00000006 , 0x00000005 
- 00032544  0x00008cdf arg  0x00000010 , 0x00000039 
- 00032545  0x00008ce1 ifetch  0x00000002 , 0x00000006 
- 00032546  0x00008ce2 isub  0x00000002 , 0x0000003f 
- 00032547  0x00008ce3 branch  0x00007f25 , 0x00000002 
- 00032548  0x00008ce4 force  0x00000000 , 0x0000003f 
- 00032549  0x00008ce6 istore  0x00000002 , 0x00000005 
- 00032550  0x00008ce7 loop  0x00007f21 
- 00032551  0x00008ce8 arg  0x0000419d , 0x00000006 
- 00032552  0x00008ce9 lshift  0x00000007 , 0x0000003f 
- 00032553  0x00008cea iadd  0x00000006 , 0x00000006 
- 00032554  0x00008ceb ifetch  0x00000002 , 0x00000006 
- 00032555  0x00008cec rtn 
- 00032556  0x00008cf2 iadd  0x00000002 , 0x00000002 
- 00032557  0x00008cf3 copy  0x00000002 , 0x00000039 
- 00032558  0x00008cf4 setarg  0x00000ea6 
- 00032559  0x00008cf5 isub  0x00000039 , 0x0000003f 
- 00032560  0x00008cf6 rtn  0x00000002 
- 00032561  0x00008cf7 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00032562  0x00008cf8 rshift16  0x00000002 , 0x00000002 
- 00032563  0x00008cf9 increase  0x00000001 , 0x00000002 
- 00032564  0x00008cfa lshift16  0x00000002 , 0x00000002 
- 00032565  0x00008cfb ior  0x00000002 , 0x00000002 
- 00032566  0x00008cfc rtn 
- 00032567  0x00008cff call  0x00007f39 
- 00032568  0x00008d00 branch  0x00007f43 
- 00032569  0x00008d04 disable  0x00000028 
- 00032570  0x00008d05 isub  0x00000002 , 0x0000003f 
- 00032571  0x00008d06 branch  0x00007f3e , 0x00000002 
- 00032572  0x00008d07 enable  0x00000028 
- 00032573  0x00008d08 sub  0x0000003f , 0x00000000 , 0x0000003f 
- 00032574  0x00008d0a rtnbit0  0x0000000f 
- 00032575  0x00008d0b arg  0xffff0ea6 , 0x00000002 
- 00032576  0x00008d0c iadd  0x00000002 , 0x0000003f 
- 00032577  0x00008d0d set0  0x00000040 , 0x0000003f 
- 00032578  0x00008d0e rtn 
- 00032579  0x00008d11 iforce  0x00000006 
- 00032580  0x00008d12 rshift16  0x0000003f , 0x0000003f 
- 00032581  0x00008d13 arg  0x00000ea6 , 0x00000002 
- 00032582  0x00008d14 imul32  0x00000002 , 0x0000003f 
- 00032583  0x00008d15 iadd  0x00000006 , 0x0000003f 
- 00032584  0x00008d16 rtn 
- 00032585  0x00008d1a lshift8  0x0000003f , 0x0000003f 
- 00032586  0x00008d1b lshift4  0x0000003f , 0x0000003f 
- 00032587  0x00008d1c fetcht  0x00000003 , 0x0000416f 
- 00032588  0x00008d1d idiv  0x00000002 
- 00032589  0x00008d1e call  0x00007f86 
- 00032590  0x00008d1f quotient  0x00000002 
- 00032591  0x00008d20 rtn 
- 00032592  0x00008d24 arg  0x00000ea6 , 0x00000002 
- 00032593  0x00008d25 idiv  0x00000002 
- 00032594  0x00008d26 call  0x00007f86 
- 00032595  0x00008d27 quotient  0x0000003f 
- 00032596  0x00008d28 lshift16  0x0000003f , 0x0000003f 
- 00032597  0x00008d29 remainder  0x00000002 
- 00032598  0x00008d2a ior  0x00000002 , 0x00000002 
- 00032599  0x00008d2b rtn 
- 00032600  0x00008d33 arg  0x00000000 , 0x00000002 
- 00032601  0x00008d35 copy  0x00000002 , 0x00000013 
- 00032602  0x00008d36 ifetch  0x00000001 , 0x00000003 
- 00032603  0x00008d37 call  0x00007f64 
- 00032604  0x00008d38 copy  0x00000013 , 0x00000002 
- 00032605  0x00008d39 call  0x00007f95 
- 00032606  0x00008d3a arg  0x0000000a , 0x00000012 
- 00032607  0x00008d3b imul32  0x00000012 , 0x0000003f 
- 00032608  0x00008d3c iadd  0x00000002 , 0x0000003f 
- 00032609  0x00008d3d copy  0x0000003f , 0x00000002 
- 00032610  0x00008d3e loop  0x00007f59 
- 00032611  0x00008d3f rtn 
- 00032612  0x00008d44 arg  0x0000003a , 0x00000002 
- 00032613  0x00008d45 isub  0x00000002 , 0x0000003e 
- 00032614  0x00008d46 nbranch  0x00007f6d , 0x00000002 
- 00032615  0x00008d47 arg  0x00000061 , 0x00000002 
- 00032616  0x00008d48 isub  0x00000002 , 0x0000003e 
- 00032617  0x00008d49 branch  0x00007f70 , 0x00000002 
- 00032618  0x00008d4a arg  0x00000037 , 0x00000002 
- 00032619  0x00008d4b isub  0x00000002 , 0x0000003f 
- 00032620  0x00008d4c rtn 
- 00032621  0x00008d4e arg  0x00000030 , 0x00000002 
- 00032622  0x00008d4f isub  0x00000002 , 0x0000003f 
- 00032623  0x00008d50 rtn 
- 00032624  0x00008d52 arg  0x00000057 , 0x00000002 
- 00032625  0x00008d53 isub  0x00000002 , 0x0000003f 
- 00032626  0x00008d54 rtn 
- 00032627  0x00008d57 copy  0x00000002 , 0x00000030 
- 00032628  0x00008d58 setarg  0x000001ff 
- 00032629  0x00008d59 force  0x00000000 , 0x00000012 
- 00032630  0x00008d5b rshift3  0x0000003f , 0x00000011 
- 00032631  0x00008d5c rshift  0x00000011 , 0x00000011 
- 00032632  0x00008d5d ixor  0x00000011 , 0x00000011 
- 00032633  0x00008d5e isolate1  0x00000000 , 0x00000011 
- 00032634  0x00008d5f setflag  0x00000001 , 0x00000009 , 0x0000003f 
- 00032635  0x00008d60 rshift  0x00000002 , 0x00000002 
- 00032636  0x00008d61 isolate1  0x00000000 , 0x0000003f 
- 00032637  0x00008d62 setflag  0x00000001 , 0x00000007 , 0x00000002 
- 00032638  0x00008d63 rshift  0x0000003f , 0x0000003f 
- 00032639  0x00008d64 increase  0x00000001 , 0x00000012 
- 00032640  0x00008d65 compare  0x00000000 , 0x00000012 , 0x00000007 
- 00032641  0x00008d66 nbranch  0x00007f76 , 0x00000001 
- 00032642  0x00008d67 istoret  0x00000001 , 0x00000005 
- 00032643  0x00008d68 loop  0x00007f76 
- 00032644  0x00008d69 copy  0x00000030 , 0x00000002 
- 00032645  0x00008d6a rtn 
- 00032646  0x00008d6e rtn  0x00000035 
- 00032647  0x00008d6f branch  0x00007f86 
- 00032648  0x00008d7b ifetch  0x00000001 , 0x00000011 
- 00032649  0x00008d7c ifetcht  0x00000001 , 0x00000012 
- 00032650  0x00008d7d isub  0x00000002 , 0x0000003e 
- 00032651  0x00008d7e nrtn  0x00000005 
- 00032652  0x00008d7f increase  0x00000001 , 0x00000011 
- 00032653  0x00008d80 increase  0x00000001 , 0x00000012 
- 00032654  0x00008d81 loop  0x00007f88 
- 00032655  0x00008d82 force  0x00000000 , 0x0000003e 
- 00032656  0x00008d83 rtn 
- 00032657  0x00008d87 isub  0x00000002 , 0x0000003e 
- 00032658  0x00008d88 nrtn  0x00000002 
- 00032659  0x00008d89 deposit  0x00000002 
- 00032660  0x00008d8a rtn 
- 00032661  0x00008d8d iadd  0x00000002 , 0x0000003f 
- 00032662  0x00008d8e isub  0x00000002 , 0x00000002 
- 00032663  0x00008d8f isub  0x00000002 , 0x0000003f 
- 00032664  0x00008d90 rtn 
- 00032665  0x00008d93 arg  0x00000200 , 0x00000039 
- 00032666  0x00008d94 arg  0x00004000 , 0x00000005 
- 00032667  0x00008d95 branch  0x00007ec6 
- 00032668  0x00008d99 rtn  0x00000034 
- 00032669  0x00008d9a copy  0x0000003f , 0x0000003d 
- 00032670  0x00008d9e hfetch  0x00000002 , 0x0000810e 
- 00032671  0x00008d9f nbranch  0x00007f9e , 0x00000034 
- 00032672  0x00008da0 rtn 
- 00032673  0x00008da3 jam  0x00000001 , 0x00008203 
- 00032674  0x00008da4 rtn 
- 00032675  0x00008da7 hstore  0x00000002 , 0x00008205 
- 00032676  0x00008da8 hfetch  0x00000001 , 0x00008203 
- 00032677  0x00008da9 set1  0x00000004 , 0x0000003f 
- 00032678  0x00008daa hstore  0x00000001 , 0x00008203 
- 00032679  0x00008dab rtn 
- 00032680  0x00008dad hstore  0x00000002 , 0x00008207 
- 00032681  0x00008dae hfetch  0x00000001 , 0x00008203 
- 00032682  0x00008daf set1  0x00000006 , 0x0000003f 
- 00032683  0x00008db0 hstore  0x00000001 , 0x00008203 
- 00032684  0x00008db1 rtn 
- 00032685  0x00008db4 hstore  0x00000002 , 0x00008205 
- 00032686  0x00008db5 jam  0x00000030 , 0x00008203 
- 00032687  0x00008db6 rtn 
- 00032688  0x00008dbb hfetch  0x00000001 , 0x00008043 
- 00032689  0x00008dbc set0  0x00000004 , 0x0000003f 
- 00032690  0x00008dbd hstore  0x00000001 , 0x00008043 
- 00032691  0x00008dbe rtn 
- 00032692  0x00008dc1 hfetch  0x00000002 , 0x0000810e 
- 00032693  0x00008dc2 arg  0x00000200 , 0x00000002 
- 00032694  0x00008dc4 isub  0x00000002 , 0x0000003e 
- 00032695  0x00008dc5 rtn 
- 00032696  0x00008dcc bpatchx  0x000000fe , 0x0000403f 
- 00032697  0x00008dcd ifetcht  0x00000008 , 0x00000011 
- 00032698  0x00008dce and  0x00000002 , 0x000000ff , 0x0000003f 
- 00032699  0x00008dcf nbranch  0x00007fbe , 0x00000034 
- 00032700  0x00008dd0 rshift8  0x00000002 , 0x0000003f 
- 00032701  0x00008dd1 istore  0x00000008 , 0x00000011 
- 00032702  0x00008dd3 increase  0x00000007 , 0x00000011 
- 00032703  0x00008dd4 ifetch  0x00000001 , 0x00000011 
- 00032704  0x00008dd5 nbranch  0x00002a8c , 0x00000034 
- 00032705  0x00008dd6 fetch  0x00000001 , 0x00000a99 
- 00032706  0x00008dd7 istore  0x00000001 , 0x00000011 
- 00032707  0x00008dd8 rtn 
- 00032708  0x00008dde bpatchx  0x000000ff , 0x0000403f 
- 00032709  0x00008ddf arg  0x00000008 , 0x00000039 
- 00032710  0x00008de0 ifetch  0x00000008 , 0x00000011 
- 00032711  0x00008de1 rtn  0x00000034 
- 00032712  0x00008de3 ifetch  0x00000001 , 0x00000011 
- 00032713  0x00008de4 nbranch  0x00007fcd , 0x00000034 
- 00032714  0x00008de5 increase  0x00000001 , 0x00000011 
- 00032715  0x00008de6 loop  0x00007fc8 
- 00032716  0x00008de7 branch  0x00002a8c 
- 00032717  0x00008de9 arg  0x00000000 , 0x00000002 
- 00032718  0x00008dea istoret  0x00000001 , 0x00000011 
- 00032719  0x00008deb rtn 
- 00032720  0x00008df1 ifetch  0x00000008 , 0x00000011 
- 00032721  0x00008df2 rtn 
- 00032722  0x00008df8 ifetch  0x00000001 , 0x00000011 
- 00032723  0x00008df9 rtn 
- 00032724  0x00008dfd ifetch  0x00000002 , 0x00000011 
- 00032725  0x00008dfe rtn 
- 00032726  0x00008e03 arg  0x00000000 , 0x00000002 
- 00032727  0x00008e05 fetch  0x00000001 , 0x00000006 
- 00032728  0x00008e06 loop  0x00007fd7 , 0x00000034 
- 00032729  0x00008e07 increase  0x00000001 , 0x00000002 
- 00032730  0x00008e08 loop  0x00007fd7 
- 00032731  0x00008e09 copy  0x00000002 , 0x0000003f 
- 00032732  0x00008e0a rtn 
- 00032733  0x00008e0d isub  0x00000002 , 0x0000003e 
- 00032734  0x00008e0e nrtn  0x00000002 
- 00032735  0x00008e0f copy  0x00000002 , 0x0000003f 
- 00032736  0x00008e10 rtn 
- 00032737  0x00008e14 force  0xffffffff , 0x0000003e 
- 00032738  0x00008e15 rtn 
- 00032739  0x00008e18 force  0x00000001 , 0x0000003e 
- 00032740  0x00008e19 rtn 
- 00032741  0x00008e1b force  0x00000000 , 0x0000003e 
- 00032742  0x00008e1c rtn 
- 00032743  0x00008e1f enable  0x00000028 
- 00032744  0x00008e20 rtn 
- 00032745  0x00008e23 disable  0x00000028 
- 00032746  0x00008e24 rtn 
- 00032747  0x00008e27 enable  0x0000002c 
- 00032748  0x00008e28 rtn 
- 00032749  0x00008e2b disable  0x0000002c 
- 00032750  0x00008e2c rtn 
- 00032751  0x00008e2f setarg  0x00000001 
- 00032752  0x00008e30 rtn 
- 00032753  0x00008e33 setarg  0x00000000 
- 00032754  0x00008e34 rtn 
- 00032755  0x00008e38 copy  0x00000039 , 0x0000003f 
- 00032756  0x00008e39 rtn  0x00000034 
- 00032757  0x00008e3a copy  0x00000006 , 0x0000003f 
- 00032758  0x00008e3b iadd  0x00000039 , 0x0000003f 
- 00032759  0x00008e3c increase  0xffffffff , 0x0000003f 
- 00032760  0x00008e3d copy  0x0000003f , 0x00000006 
- 00032761  0x00008e3f ifetch  0x00000001 , 0x00000006 
- 00032762  0x00008e40 increase  0xfffffffe , 0x00000006 
- 00032763  0x00008e41 istore  0x00000001 , 0x00000005 
- 00032764  0x00008e42 loop  0x00007ff9 
- 00032765  0x00008e43 rtn 
- 00065537  0x00008e49 beq  0x00000001 , 0x00010005 
- 00065538  0x00008e4a beq  0x00000000 , 0x0001001d 
- 00065539  0x00008e4b beq  0x00000002 , 0x0001002a 
- 00065540  0x00008e4c rtn 
- 00065541  0x00008e4f jam  0x00000000 , 0x00004808 
- 00065542  0x00008e50 jam  0x0000000e , 0x000041e3 
- 00065543  0x00008e51 call  0x000041e7 
- 00065544  0x00008e52 fetch  0x00000002 , 0x00004208 
- 00065545  0x00008e53 bbit1  0x00000007 , 0x000041f5 
- 00065546  0x00008e54 bbit1  0x00000000 , 0x000033a9 
- 00065547  0x00008e55 bbit1  0x00000001 , 0x0001000f 
- 00065548  0x00008e56 bbit1  0x00000002 , 0x00010012 
- 00065549  0x00008e57 bbit1  0x00000003 , 0x00010012 
- 00065550  0x00008e58 branch  0x000042b0 
- 00065551  0x00008e5b bbit1  0x00000005 , 0x00010012 
- 00065552  0x00008e5c bbit1  0x00000003 , 0x00010012 
- 00065553  0x00008e5d branch  0x000042b0 
- 00065554  0x00008e5f fetch  0x00000002 , 0x00004682 
- 00065555  0x00008e60 bbit1  0x0000000c , 0x000042b0 
- 00065556  0x00008e61 call  0x000033a9 
- 00065557  0x00008e62 call  0x000003a9 
- 00065558  0x00008e63 beq  0x00000007 , 0x0001001a 
- 00065559  0x00008e64 fetch  0x00000001 , 0x000046b6 
- 00065560  0x00008e65 branch  0x0001001a , 0x00000034 
- 00065561  0x00008e66 branch  0x000033a7 
- 00065562  0x00008e69 jam  0x00000001 , 0x0000479f 
- 00065563  0x00008e6a jam  0x00000028 , 0x000047a0 
- 00065564  0x00008e6b rtn 
- 00065565  0x00008e6e fetch  0x00000001 , 0x0000000e 
- 00065566  0x00008e6f increase  0x00000001 , 0x0000003f 
- 00065567  0x00008e70 store  0x00000001 , 0x0000000e 
- 00065568  0x00008e71 call  0x00002435 
- 00065569  0x00008e73 set1  0x0000002c , 0x00000000 
- 00065570  0x00008e74 call  0x000022f2 
- 00065571  0x00008e75 branch  0x00010028 , 0x00000018 
- 00065572  0x00008e76 set0  0x0000002c , 0x00000000 
- 00065573  0x00008e77 call  0x00002455 
- 00065574  0x00008e78 nbranch  0x00010021 , 0x00000034 
- 00065575  0x00008e79 branch  0x000020fc 
- 00065576  0x00008e7b set0  0x0000002c , 0x00000000 
- 00065577  0x00008e7c branch  0x0000215f 
- 00065578  0x00008e7f fetch  0x00000002 , 0x00000264 
- 00065579  0x00008e80 copy  0x0000003f , 0x00000006 
- 00065580  0x00008e81 ifetch  0x00000001 , 0x00000006 
- 00065581  0x00008e82 store  0x00000001 , 0x00004b04 
- 00065582  0x00008e83 and  0x0000003f , 0x0000000f , 0x00000002 
- 00065583  0x00008e84 rshift4  0x0000003f , 0x0000003f 
- 00065584  0x00008e85 beq  0x00000007 , 0x00010033 
- 00065585  0x00008e86 beq  0x00000001 , 0x0001003a 
- 00065586  0x00008e87 branch  0x00004d39 
- 00065587  0x00008e89 call  0x00004d53 
- 00065588  0x00008e8a jam  0x00000000 , 0x00004b05 
- 00065589  0x00008e8b fetch  0x00000001 , 0x00004b04 
- 00065590  0x00008e8c isolate1  0x00000000 , 0x0000003f 
- 00065591  0x00008e8d rtn  0x00000001 
- 00065592  0x00008e8e jam  0x00000001 , 0x00004b05 
- 00065593  0x00008e8f rtn 
- 00065594  0x00008e92 copy  0x00000002 , 0x0000003f 
- 00065595  0x00008e93 beq  0x00000005 , 0x00000219 
- 00065596  0x00008e94 branch  0x00004d41 
- 00131073  0x00008e99 beq  0x00000010 , 0x00020015 
- 00131074  0x00008e9a beq  0x00000011 , 0x00020022 
- 00131075  0x00008e9b beq  0x00000012 , 0x00020005 
- 00131076  0x00008e9c rtn 
- 00131077  0x00008e9f jam  0x00000001 , 0x00004b70 
- 00131078  0x00008ea0 jam  0x00000001 , 0x000047a1 
- 00131079  0x00008ea1 fetch  0x00000002 , 0x000046a8 
- 00131080  0x00008ea2 fetcht  0x00000001 , 0x00004b77 
- 00131081  0x00008ea3 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00131082  0x00008ea4 nbranch  0x0002000c , 0x00000005 
- 00131083  0x00008ea5 setarg  0x00000258 
- 00131084  0x00008ea7 store  0x00000002 , 0x000046ae 
- 00131085  0x00008ea8 call  0x00000245 
- 00131086  0x00008ea9 call  0x00003418 
- 00131087  0x00008eaa call  0x000000df 
- 00131088  0x00008eab setarg  0x00000004 
- 00131089  0x00008eac istore  0x00000001 , 0x00000006 
- 00131090  0x00008ead arg  0x00004390 , 0x00000006 
- 00131091  0x00008eae call  0x000003e3 
- 00131092  0x00008eaf branch  0x00007df4 
- 00131093  0x00008eb2 fetch  0x00000001 , 0x00000048 
- 00131094  0x00008eb3 beq  0x00000084 , 0x00020019 
- 00131095  0x00008eb4 beq  0x00000083 , 0x0002001c 
- 00131096  0x00008eb5 branch  0x0000603f 
- 00131097  0x00008eb7 call  0x0002001f 
- 00131098  0x00008eb8 fetch  0x00000001 , 0x00000048 
- 00131099  0x00008eb9 branch  0x00006099 
- 00131100  0x00008ebb call  0x0002001f 
- 00131101  0x00008ebc fetch  0x00000001 , 0x00000048 
- 00131102  0x00008ebd branch  0x0000610d 
- 00131103  0x00008ebf fetch  0x00000001 , 0x0000465a 
- 00131104  0x00008ec0 branch  0x0000612b , 0x00000034 
- 00131105  0x00008ec1 branch  0x00006124 
- 00131106  0x00008ec4 force  0x00000002 , 0x0000003f 
- 00131107  0x00008ec5 call  0x00006298 
- 00131108  0x00008ec6 fetch  0x00000001 , 0x00000049 
- 00131109  0x00008ec7 istore  0x00000001 , 0x00000005 
- 00131110  0x00008ec8 store  0x00000001 , 0x00004afc 
- 00131111  0x00008ec9 call  0x000062a7 
- 00131112  0x00008eca fetch  0x00000001 , 0x00004afc 
- 00131113  0x00008ecb beq  0x0000002e , 0x0002002b 
- 00131114  0x00008ecc branch  0x00006051 
- 00131115  0x00008ecf fetch  0x00000001 , 0x00004b01 
- 00131116  0x00008ed0 rtn  0x00000034 
- 00131117  0x00008ed1 jam  0x00000000 , 0x00004b01 
- 00131118  0x00008ed2 fetch  0x00000001 , 0x00004b03 
- 00131119  0x00008ed3 rtnne  0x00000002 
- 00131120  0x00008ed4 jam  0x00000001 , 0x00004b02 
- 00131121  0x00008ed5 copy  0x00000022 , 0x0000003f 
- 00131122  0x00008ed6 store  0x00000004 , 0x000004e9 
- 00131123  0x00008ed7 rtn 
- 00196609  0x00008edc beq  0x00000020 , 0x00030006 
- 00196610  0x00008edd beq  0x00000021 , 0x00030018 
- 00196611  0x00008ede beq  0x00000022 , 0x00030025 
- 00196612  0x00008edf beq  0x00000023 , 0x0003002c 
- 00196613  0x00008ee0 rtn 
- 00196614  0x00008ee3 call  0x0003000e 
- 00196615  0x00008ee4 branch  0x0000557d 
- 00196616  0x00008ee6 fetch  0x00000001 , 0x000047c5 
- 00196617  0x00008ee7 store  0x00000001 , 0x00004172 
- 00196618  0x00008ee9 jam  0x00000000 , 0x000047c4 
- 00196619  0x00008eea rtn 
- 00196620  0x00008eec jam  0x00000001 , 0x000047c4 
- 00196621  0x00008eed rtn 
- 00196622  0x00008eef fetch  0x00000001 , 0x000043d6 
- 00196623  0x00008ef0 sub  0x0000003f , 0x0000000c , 0x0000003e 
- 00196624  0x00008ef1 nbranch  0x0003000c , 0x00000002 
- 00196625  0x00008ef2 fetch  0x00000001 , 0x000043d8 
- 00196626  0x00008ef3 fetcht  0x00000001 , 0x000047c5 
- 00196627  0x00008ef4 isub  0x00000002 , 0x0000003e 
- 00196628  0x00008ef5 branch  0x00030008 , 0x00000002 
- 00196629  0x00008ef6 fetch  0x00000001 , 0x000043d8 
- 00196630  0x00008ef7 store  0x00000001 , 0x00004172 
- 00196631  0x00008ef8 branch  0x0003000a 
- 00196632  0x00008efb fetch  0x00000001 , 0x0000043f 
- 00196633  0x00008efc rtnbit0  0x00000006 
- 00196634  0x00008efd call  0x0003001d 
- 00196635  0x00008efe nrtn  0x00000028 
- 00196636  0x00008eff branch  0x000055a0 
- 00196637  0x00008f01 enable  0x00000028 
- 00196638  0x00008f02 fetch  0x00000001 , 0x0000045a 
- 00196639  0x00008f03 rshift4  0x0000003f , 0x0000003f 
- 00196640  0x00008f04 rtnne  0x0000000f 
- 00196641  0x00008f05 fetch  0x00000001 , 0x00000460 
- 00196642  0x00008f06 rshift4  0x0000003f , 0x0000003f 
- 00196643  0x00008f07 rtnne  0x00000000 
- 00196644  0x00008f08 branch  0x00007fe9 
- 00196645  0x00008f0b fetch  0x00000001 , 0x000047a1 
- 00196646  0x00008f0c nrtn  0x00000034 
- 00196647  0x00008f0d fetch  0x00000001 , 0x00000478 
- 00196648  0x00008f0e sub  0x0000003f , 0x0000001a , 0x0000003f 
- 00196649  0x00008f0f nrtn  0x00000005 
- 00196650  0x00008f10 jam  0x00000000 , 0x000046c6 
- 00196651  0x00008f11 branch  0x00003d60 
- 00196652  0x00008f14 call  0x000033af 
- 00196653  0x00008f15 call  0x000026e9 
- 00196654  0x00008f16 jam  0x00000002 , 0x00000a99 
- 00196655  0x00008f17 call  0x00007d86 
- 00196656  0x00008f18 call  0x00005cf7 
- 00196657  0x00008f19 call  0x00004d6b 
- 00196658  0x00008f1a branch  0x0000246e 
- 00262145  0x00008f1f beq  0x00000030 , 0x00040003 
- 00262146  0x00008f20 rtn 
- 00262147  0x00008f23 call  0x000000d7 
- 00262148  0x00008f24 jam  0x00000000 , 0x00004b70 
- 00262149  0x00008f25 jam  0x00000001 , 0x00004b6d 
- 00262150  0x00008f26 jam  0x00000001 , 0x00004720 
- 00262151  0x00008f27 jam  0x00000000 , 0x0000479e 
- 00262152  0x00008f28 call  0x00040021 
- 00262153  0x00008f2a fetch  0x00000003 , 0x00004bb3 
- 00262154  0x00008f2b store  0x00000003 , 0x000044a3 
- 00262155  0x00008f2c call  0x0000015f 
- 00262156  0x00008f2d call  0x00003418 
- 00262157  0x00008f2e fetch  0x00000002 , 0x00004687 
- 00262158  0x00008f2f store  0x00000002 , 0x000046ac 
- 00262159  0x00008f30 jam  0x00000006 , 0x0000016d 
- 00262160  0x00008f31 setarg  0x00000000 
- 00262161  0x00008f32 store  0x00000002 , 0x000046b0 
- 00262162  0x00008f33 store  0x00000002 , 0x000046ae 
- 00262163  0x00008f34 call  0x00000245 
- 00262164  0x00008f35 call  0x000043ca 
- 00262165  0x00008f36 fetch  0x00000001 , 0x00004092 
- 00262166  0x00008f37 isolate1  0x00000001 , 0x0000003f 
- 00262167  0x00008f38 call  0x0004001a , 0x00000001 
- 00262168  0x00008f39 call  0x000042c4 
- 00262169  0x00008f3a branch  0x000002bd 
- 00262170  0x00008f3d jam  0x00000000 , 0x000047a1 
- 00262171  0x00008f3e call  0x000000df 
- 00262172  0x00008f3f setarg  0x00000005 
- 00262173  0x00008f40 istore  0x00000001 , 0x00000006 
- 00262174  0x00008f41 arg  0x00004b12 , 0x00000006 
- 00262175  0x00008f42 call  0x000003e3 
- 00262176  0x00008f43 branch  0x00007df4 
- 00262177  0x00008f46 call  0x00000166 
- 00262178  0x00008f47 fetcht  0x00000002 , 0x00004b72 
- 00262179  0x00008f48 increase  0x00000001 , 0x00000002 
- 00262180  0x00008f49 storet  0x00000002 , 0x00004b72 
- 00262181  0x00008f4a storet  0x00000002 , 0x000044a1 
- 00262182  0x00008f4b call  0x00000124 
- 00262183  0x00008f4c random  0x0000003f 
- 00262184  0x00008f4d store  0x00000001 , 0x000044a0 
- 00262185  0x00008f4e rtn 
- 00327681  0x00008f53 rtn 
- 00393217  0x00008f59 rtn 
- 00524289  0x00008f64 beq  0x00000070 , 0x00080003 
- 00524290  0x00008f65 rtn 
- 00524291  0x00008f68 setarg  0xffffffff 
- 00524292  0x00008f69 store  0x00000006 , 0x00000040 
- 00524293  0x00008f6a jam  0x00000033 , 0x00000185 
- 00524294  0x00008f6b jam  0x000000ff , 0x00004b77 
- 00524295  0x00008f6c call  0x000042fb 
- 00524296  0x00008f6d jam  0x000000ff , 0x00004721 
- 00524297  0x00008f6e branch  0x0000011f 
- 00589825  0x00008f74 beq  0x00000080 , 0x00090003 
- 00589826  0x00008f75 rtn 
- 00589827  0x00008f78 call  0x00003e6e 
- 00589828  0x00008f7a fetcht  0x00000001 , 0x00004b47 
- 00589829  0x00008f7b call  0x0000680e 
- 00589830  0x00008f7d call  0x00090012 
- 00589831  0x00008f7e setarg  0x00000000 
- 00589832  0x00008f7f store  0x00000002 , 0x00004154 
- 00589833  0x00008f80 call  0x000068a2 
- 00589834  0x00008f81 call  0x00003e54 
- 00589835  0x00008f83 call  0x00000112 
- 00589836  0x00008f84 fetch  0x00000006 , 0x00004b4e 
- 00589837  0x00008f85 fetcht  0x00000006 , 0x00004722 
- 00589838  0x00008f86 isub  0x00000002 , 0x0000003e 
- 00589839  0x00008f87 nbranch  0x0000015f , 0x00000005 
- 00589840  0x00008f88 call  0x00000161 
- 00589841  0x00008f89 rtn 
- 00589842  0x00008f8c call  0x000074b9 
- 00589843  0x00008f8d arg  0x00008c00 , 0x00000006 
- 00589844  0x00008f8e arg  0x00004876 , 0x00000005 
- 00589845  0x00008f8f arg  0x00000171 , 0x00000039 
- 00589846  0x00008f90 call  0x00007f01 
- 00589847  0x00008f92 setarg  0x000f0209 
- 00589848  0x00008f93 istore  0x00000003 , 0x00000005 
- 00589849  0x00008f94 setarg  0x00120009 
- 00589850  0x00008f95 istore  0x00000003 , 0x00000005 
- 00589851  0x00008f97 setarg  0x00100209 
- 00589852  0x00008f98 istore  0x00000003 , 0x00000005 
- 00589853  0x00008f99 setarg  0x00000009 
- 00589854  0x00008f9a istore  0x00000003 , 0x00000005 
- 00589855  0x00008f9b arg  0x00008d71 , 0x00000006 
- 00589856  0x00008f9c arg  0x00000109 , 0x00000039 
- 00589857  0x00008f9d call  0x00007f01 
- 00589858  0x00008f9f jam  0x00000000 , 0x0000488d 
- 00589859  0x00008fa0 jam  0x0000006d , 0x00004885 
- 00589860  0x00008fa1 setarg  0x0000401f 
- 00589861  0x00008fa2 store  0x00000002 , 0x000049db 
- 00589862  0x00008fa3 setarg  0x00006d04 
- 00589863  0x00008fa4 store  0x00000002 , 0x00004a44 
- 00589864  0x00008fa5 setarg  0x000016b0 
- 00589865  0x00008fa6 store  0x00000002 , 0x00004a4a 
- 00589866  0x00008fa8 setarg  0x00004876 
- 00589867  0x00008fa9 store  0x00000002 , 0x00004575 
- 00589868  0x00008faa rtn 
- 00655361  0x00008fb1 rtn 
- 00720897  0x00008fb7 beq  0x000000a0 , 0x000b0024 
- 00720898  0x00008fb8 beq  0x000000a1 , 0x000b000b 
- 00720899  0x00008fb9 beq  0x000000a2 , 0x000b0019 
- 00720900  0x00008fbe fetch  0x00000002 , 0x00004682 
- 00720901  0x00008fbf rtnbit1  0x0000000c 
- 00720902  0x00008fc0 rtnbit1  0x00000006 
- 00720903  0x00008fc1 rtnbit1  0x0000000b 
- 00720904  0x00008fc2 fetch  0x00000004 , 0x000046d3 
- 00720905  0x00008fc3 rtnbit1  0x00000005 
- 00720906  0x00008fc4 branch  0x000033a7 
- 00720907  0x00008fc7 fetch  0x00000002 , 0x00004509 
- 00720908  0x00008fc8 rtneq  0x00000000 
- 00720909  0x00008fc9 fetch  0x00000001 , 0x00000441 
- 00720910  0x00008fca rshift2  0x0000003f , 0x0000003f 
- 00720911  0x00008fcb sub  0x0000003f , 0x0000000c , 0x0000003e 
- 00720912  0x00008fcc branch  0x000b0017 , 0x00000002 
- 00720913  0x00008fcd setarg  0x00000009 
- 00720914  0x00008fce store  0x00000002 , 0x00004496 
- 00720915  0x00008fcf store  0x00000002 , 0x00004498 
- 00720916  0x00008fd0 call  0x00000211 
- 00720917  0x00008fd1 jam  0x00000001 , 0x000047c4 
- 00720918  0x00008fd2 rtn 
- 00720919  0x00008fd5 jam  0x00000001 , 0x00004b63 
- 00720920  0x00008fd6 branch  0x00000445 
- 00720921  0x00008fd9 jam  0x00000000 , 0x00004b71 
- 00720922  0x00008fda setarg  0x00000007 
- 00720923  0x00008fdb store  0x00000002 , 0x00004496 
- 00720924  0x00008fdc store  0x00000002 , 0x00004498 
- 00720925  0x00008fdd jam  0x00000000 , 0x000047c4 
- 00720926  0x00008fde jam  0x00000000 , 0x0000479e 
- 00720927  0x00008fdf call  0x0000019d 
- 00720928  0x00008fe0 call  0x00005816 
- 00720929  0x00008fe1 call  0x000041d9 
- 00720930  0x00008fe2 call  0x0000011f 
- 00720931  0x00008fe3 branch  0x000041d9 
- 00720932  0x00008fe6 hfetch  0x00000004 , 0x00008138 
- 00720933  0x00008fe7 set1  0x0000001a , 0x0000003f 
- 00720934  0x00008fe8 hstore  0x00000004 , 0x0000804c 
- 00720935  0x00008fe9 call  0x00002c21 
- 00720936  0x00008fea call  0x000074bd 
- 00720937  0x00008feb call  0x000002ed 
- 00720938  0x00008fec call  0x0000011f 
- 00720939  0x00008fed call  0x00003e9f 
- 00720940  0x00008fee call  0x000000ae 
- 00720941  0x00008fef call  0x00000155 
- 00720942  0x00008ff0 hfetch  0x00000001 , 0x00008081 
- 00720943  0x00008ff1 and  0x0000003f , 0x000000f7 , 0x0000003f 
- 00720944  0x00008ff2 hstore  0x00000001 , 0x00008081 
- 00720945  0x00008ff3 hfetch  0x00000001 , 0x0000807f 
- 00720946  0x00008ff4 set1  0x00000000 , 0x0000003f 
- 00720947  0x00008ff5 hstore  0x00000001 , 0x0000807f 
- 00720948  0x00008ff6 rtn 
- 00786433  0x00008ffc beq  0x000000b1 , 0x000c0006 
- 00786434  0x00008ffd beq  0x000000b2 , 0x000c000c 
- 00786435  0x00008ffe beq  0x000000b3 , 0x000c0011 
- 00786436  0x00008fff beq  0x000000b4 , 0x000c0019 
- 00786437  0x00009000 rtn 
- 00786438  0x00009003 fetch  0x00000001 , 0x00004808 
- 00786439  0x00009004 rtneq  0x00000002 
- 00786440  0x00009005 increase  0x00000001 , 0x0000003f 
- 00786441  0x00009006 store  0x00000001 , 0x00004808 
- 00786442  0x00009007 jam  0x00000012 , 0x000041e3 
- 00786443  0x00009008 branch  0x0000340e 
- 00786444  0x0000900b fetch  0x00000001 , 0x00004808 
- 00786445  0x0000900c rtnne  0x00000002 
- 00786446  0x0000900d jam  0x00000000 , 0x00004808 
- 00786447  0x0000900e jam  0x0000000e , 0x000041e3 
- 00786448  0x0000900f branch  0x0000340e 
- 00786449  0x00009012 fetch  0x00000001 , 0x000047a1 
- 00786450  0x00009013 beq  0x00000001 , 0x000c0015 
- 00786451  0x00009014 jam  0x00000014 , 0x000046c6 
- 00786452  0x00009015 branch  0x000c0017 
- 00786453  0x00009017 call  0x00000211 
- 00786454  0x00009018 jam  0x0000000a , 0x000046c6 
- 00786455  0x0000901a arg  0x00000001 , 0x00000007 
- 00786456  0x0000901b branch  0x000041b9 
- 00786457  0x0000901e jam  0x00000000 , 0x00004b01 
- 00786458  0x0000901f jam  0x00000000 , 0x00004b03 
- 00786459  0x00009020 jam  0x00000000 , 0x00004b0c 
- 00786460  0x00009021 call  0x0000011f 
- 00786461  0x00009022 branch  0x000041d9 
+ 00000000  0x00000048 branch  0x00000040 
+ 00000001  0x0000004f call  0x00000419 
+ 00000002  0x00000050 fetch  0x00000001 , 0x000041de 
+ 00000003  0x00000051 store  0x00000001 , 0x00004cb8 
+ 00000004  0x00000052 call  0x00000745 
+ 00000005  0x00000053 fetch  0x00000001 , 0x00004685 
+ 00000006  0x00000054 store  0x00000001 , 0x00004b44 
+ 00000007  0x00000055 fetch  0x00000001 , 0x00004b30 
+ 00000008  0x00000056 store  0x00000001 , 0x00004b31 
+ 00000009  0x00000057 call  0x000043ca 
+ 00000010  0x00000058 call  0x00000314 
+ 00000011  0x00000059 call  0x0000000e 
+ 00000012  0x0000005a call  0x00000021 
+ 00000013  0x0000005b branch  0x00000338 
+ 00000014  0x0000005e setarg  0x000003eb 
+ 00000015  0x0000005f store  0x00000002 , 0x00004d32 
+ 00000016  0x00000060 setarg  0x00000405 
+ 00000017  0x00000061 store  0x00000002 , 0x000041ef 
+ 00000018  0x00000062 setarg  0x00000684 
+ 00000019  0x00000063 store  0x00000002 , 0x000041f9 
+ 00000020  0x00000064 setarg  0x00000434 
+ 00000021  0x00000065 store  0x00000002 , 0x000041f1 
+ 00000022  0x00000066 setarg  0x000002b9 
+ 00000023  0x00000067 store  0x00000002 , 0x000041ed 
+ 00000024  0x00000068 setarg  0x00000471 
+ 00000025  0x00000069 store  0x00000002 , 0x000041f5 
+ 00000026  0x0000006a setarg  0x0000045c 
+ 00000027  0x0000006b store  0x00000002 , 0x000041f3 
+ 00000028  0x0000006c setarg  0x000004a6 
+ 00000029  0x0000006d store  0x00000002 , 0x000041eb 
+ 00000030  0x0000006e setarg  0x000004ad 
+ 00000031  0x0000006f store  0x00000002 , 0x000041fd 
+ 00000032  0x00000070 rtn 
+ 00000033  0x00000073 setarg  0x00000019 
+ 00000034  0x00000074 store  0x00000002 , 0x00004d44 
+ 00000035  0x00000075 ncall  0x00000029 , 0x0000002b 
+ 00000036  0x00000076 call  0x00000316 
+ 00000037  0x00000077 call  0x00000335 
+ 00000038  0x00000079 fetch  0x00000001 , 0x0000471f 
+ 00000039  0x0000007a store  0x00000001 , 0x0000471e 
+ 00000040  0x0000007b rtn 
+ 00000041  0x0000007d setarg  0x00000177 
+ 00000042  0x0000007e store  0x00000002 , 0x00004d44 
+ 00000043  0x0000007f rtn 
+ 00000044  0x00000081 nop  0x00000001 
+ 00000045  0x00000082 nop  0x00000001 
+ 00000046  0x00000083 nop  0x00000001 
+ 00000047  0x00000084 nop  0x00000001 
+ 00000048  0x00000085 nop  0x00000001 
+ 00000049  0x00000086 nop  0x00000001 
+ 00000050  0x00000087 nop  0x00000001 
+ 00000051  0x00000088 nop  0x00000001 
+ 00000052  0x00000089 nop  0x00000001 
+ 00000053  0x0000008a nop  0x00000001 
+ 00000054  0x0000008b nop  0x00000001 
+ 00000055  0x0000008c nop  0x00000001 
+ 00000056  0x0000008d nop  0x00000001 
+ 00000057  0x0000008e nop  0x00000001 
+ 00000058  0x0000008f nop  0x00000001 
+ 00000059  0x00000090 nop  0x00000001 
+ 00000060  0x00000091 nop  0x00000001 
+ 00000061  0x00000092 nop  0x00000001 
+ 00000062  0x00000093 nop  0x00000001 
+ 00000063  0x00000094 nop  0x00000001 
+ 00000064  0x00000096 bbit1  0x00000008 , 0x00000058 
+ 00000065  0x00000098 beq  0x00000001 , 0x00000075 
+ 00000066  0x00000099 beq  0x00000002 , 0x0000007e 
+ 00000067  0x0000009a beq  0x00000085 , 0x000007b1 
+ 00000068  0x0000009b beq  0x00000089 , 0x00000782 
+ 00000069  0x0000009c beq  0x0000001b , 0x0000069d 
+ 00000070  0x0000009d beq  0x00000026 , 0x0000069f 
+ 00000071  0x0000009e beq  0x00000048 , 0x000006ba 
+ 00000072  0x0000009f beq  0x0000004a , 0x000006c1 
+ 00000073  0x000000a0 beq  0x00000051 , 0x000006ca 
+ 00000074  0x000000a1 beq  0x00000059 , 0x000006b8 
+ 00000075  0x000000a2 beq  0x000000a7 , 0x000006cf 
+ 00000076  0x000000a3 beq  0x000000ad , 0x000006e8 
+ 00000077  0x000000a4 beq  0x000000cb , 0x000033e4 
+ 00000078  0x000000a5 beq  0x000000e9 , 0x000006f9 
+ 00000079  0x000000a6 beq  0x000000a1 , 0x00000087 
+ 00000080  0x000000a7 beq  0x000000b1 , 0x0000008c 
+ 00000081  0x000000a8 beq  0x000000b2 , 0x00000096 
+ 00000082  0x000000a9 beq  0x000000c4 , 0x000002dc 
+ 00000083  0x000000aa beq  0x000000e6 , 0x0000058a 
+ 00000084  0x000000ab beq  0x000000ea , 0x000005cd 
+ 00000085  0x000000ac beq  0x000000eb , 0x000005d3 
+ 00000086  0x000000ad beq  0x000000ec , 0x000005da 
+ 00000087  0x000000ae branch  0x00002a8e 
+ 00000088  0x000000b0 beq  0x00000039 , 0x000005e3 
+ 00000089  0x000000b1 beq  0x00000043 , 0x000005eb 
+ 00000090  0x000000b2 beq  0x0000004a , 0x000005f1 
+ 00000091  0x000000b3 beq  0x00000057 , 0x000005f4 
+ 00000092  0x000000b4 beq  0x00000059 , 0x000005f6 
+ 00000093  0x000000b5 beq  0x00000063 , 0x000005f8 
+ 00000094  0x000000b6 beq  0x00000066 , 0x00000622 
+ 00000095  0x000000b7 beq  0x00000067 , 0x00000639 
+ 00000096  0x000000b8 beq  0x0000006a , 0x0000066f 
+ 00000097  0x000000b9 beq  0x00000077 , 0x0000067a 
+ 00000098  0x000000ba beq  0x00000005 , 0x000006fb 
+ 00000099  0x000000bb beq  0x00000080 , 0x000006fd 
+ 00000100  0x000000bc beq  0x00000082 , 0x00000707 
+ 00000101  0x000000bd beq  0x00000088 , 0x00000709 
+ 00000102  0x000000be beq  0x0000008c , 0x0000068a 
+ 00000103  0x000000bf beq  0x0000008d , 0x00000696 
+ 00000104  0x000000c0 beq  0x000000a0 , 0x00000528 
+ 00000105  0x000000c1 beq  0x000000fa , 0x0000072d 
+ 00000106  0x000000c2 branch  0x00002a8e 
+ 00000107  0x000000c6 copy  0x0000003f , 0x00000011 
+ 00000108  0x000000c7 fetcht  0x00000001 , 0x00004cbc 
+ 00000109  0x000000c8 setarg  0x00004cc3 
+ 00000110  0x000000c9 iadd  0x00000002 , 0x00000005 
+ 00000111  0x000000ca copy  0x00000011 , 0x0000003f 
+ 00000112  0x000000cb istore  0x00000001 , 0x00000005 
+ 00000113  0x000000cc increase  0x00000001 , 0x00000002 
+ 00000114  0x000000cd and_into  0x00000007 , 0x00000002 
+ 00000115  0x000000ce storet  0x00000001 , 0x00004cbc 
+ 00000116  0x000000cf rtn 
+ 00000117  0x000000d2 arg  0x000009ae , 0x00000005 
+ 00000118  0x000000d3 arg  0x0000000c , 0x00000039 
+ 00000119  0x000000d4 call  0x00007ed4 
+ 00000120  0x000000d5 call  0x000003fc 
+ 00000121  0x000000d6 call  0x00006a03 
+ 00000122  0x000000d7 call  0x00005cf6 
+ 00000123  0x000000d8 ncall  0x00002c65 , 0x0000002b 
+ 00000124  0x000000d9 call  0x00007ccd 
+ 00000125  0x000000da branch  0x0000200c 
+ 00000126  0x000000dd call  0x000032e3 , 0x0000002b 
+ 00000127  0x000000de call  0x0000756a 
+ 00000128  0x000000df call  0x00002b41 , 0x0000002b 
+ 00000129  0x000000e1 call  0x000076dc 
+ 00000130  0x000000e2 fetch  0x00000001 , 0x0000465a 
+ 00000131  0x000000e3 branch  0x00002012 , 0x00000034 
+ 00000132  0x000000e4 fetch  0x00000001 , 0x000045b1 
+ 00000133  0x000000e5 branch  0x00000081 , 0x00000034 
+ 00000134  0x000000e6 branch  0x00002012 
+ 00000135  0x000000e9 setarg  0x00000a06 
+ 00000136  0x000000ea store  0x00000003 , 0x00004510 
+ 00000137  0x000000eb setarg  0x00001d87 
+ 00000138  0x000000ec store  0x00000002 , 0x00004513 
+ 00000139  0x000000ed branch  0x00002aa2 
+ 00000140  0x000000f0 rtnmark1  0x00000026 
+ 00000141  0x000000f1 fetch  0x00000001 , 0x0000479c 
+ 00000142  0x000000f2 beq  0x00000000 , 0x00007fef 
+ 00000143  0x000000f3 fetch  0x00000001 , 0x000047c4 
+ 00000144  0x000000f4 beq  0x00000001 , 0x00007fef 
+ 00000145  0x000000f5 fetch  0x00000002 , 0x00004248 
+ 00000146  0x000000f6 nbranch  0x00007fef , 0x00000034 
+ 00000147  0x000000f7 fetch  0x00000001 , 0x00004806 
+ 00000148  0x000000f8 nbranch  0x00007fef , 0x00000034 
+ 00000149  0x000000f9 branch  0x00007ff1 
+ 00000150  0x000000fd rtnmark0  0x00000026 
+ 00000151  0x000000fe fetch  0x00000001 , 0x00004d41 
+ 00000152  0x000000ff beq  0x00000001 , 0x000000ae 
+ 00000153  0x00000101 call  0x00000145 
+ 00000154  0x00000102 nbranch  0x000000ca , 0x00000028 
+ 00000155  0x00000103 call  0x0000012c 
+ 00000156  0x00000105 call  0x00000169 
+ 00000157  0x00000106 fetch  0x00000001 , 0x00004c11 
+ 00000158  0x00000107 rtnne  0x000000ff 
+ 00000159  0x00000108 call  0x00000756 
+ 00000160  0x00000109 call  0x000000aa 
+ 00000161  0x0000010a fetch  0x00000001 , 0x00004b26 
+ 00000162  0x0000010b beq  0x00000001 , 0x000003ee 
+ 00000163  0x0000010d call  0x000000d5 
+ 00000164  0x0000010e nrtn  0x00000028 
+ 00000165  0x0000010f call  0x000002c0 
+ 00000166  0x00000110 setarg  0x0000ec54 
+ 00000167  0x00000112 call  0x00007f49 
+ 00000168  0x00000113 storet  0x00000004 , 0x0000415b 
+ 00000169  0x00000114 branch  0x00002b2a 
+ 00000170  0x00000119 setarg  0x00017700 
+ 00000171  0x0000011a store  0x00000003 , 0x00004c30 
+ 00000172  0x0000011b jam  0x00000014 , 0x00004b6c 
+ 00000173  0x0000011c rtn 
+ 00000174  0x00000121 call  0x0000028b 
+ 00000175  0x00000122 nrtn  0x00000028 
+ 00000176  0x00000123 call  0x000000c4 
+ 00000177  0x00000124 fetch  0x00000002 , 0x00004d42 
+ 00000178  0x00000125 increase  0x00000001 , 0x0000003f 
+ 00000179  0x00000126 store  0x00000002 , 0x00004d42 
+ 00000180  0x00000127 fetcht  0x00000002 , 0x00004d44 
+ 00000181  0x00000128 isub  0x00000002 , 0x0000003e 
+ 00000182  0x00000129 call  0x000000b8 , 0x00000005 
+ 00000183  0x0000012a branch  0x00000099 
+ 00000184  0x0000012c jam  0x00000000 , 0x00004d41 
+ 00000185  0x0000012d setarg  0x00000000 
+ 00000186  0x0000012e store  0x00000002 , 0x00004d42 
+ 00000187  0x0000012f setarg  0x00000064 
+ 00000188  0x00000130 store  0x00000002 , 0x00004d44 
+ 00000189  0x00000132 jam  0x00000000 , 0x00004c3c 
+ 00000190  0x00000133 fetch  0x00000001 , 0x00004c27 
+ 00000191  0x00000134 store  0x00000001 , 0x00004c26 
+ 00000192  0x00000135 rtn 
+ 00000193  0x00000137 fetch  0x00000001 , 0x00004c28 
+ 00000194  0x00000138 store  0x00000001 , 0x00004c26 
+ 00000195  0x00000139 rtn 
+ 00000196  0x0000013b fetch  0x00000001 , 0x00004c3c 
+ 00000197  0x0000013c increase  0x00000001 , 0x0000003f 
+ 00000198  0x0000013d store  0x00000001 , 0x00004c3c 
+ 00000199  0x0000013e beq  0x00000004 , 0x000000c1 
+ 00000200  0x0000013f beq  0x00000005 , 0x000000bd 
+ 00000201  0x00000140 rtn 
+ 00000202  0x00000143 fetch  0x00000001 , 0x00004c2d 
+ 00000203  0x00000144 call  0x000000de , 0x00000034 
+ 00000204  0x00000146 fetch  0x00000001 , 0x000046cf 
+ 00000205  0x00000147 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00000206  0x00000148 rtn  0x00000002 
+ 00000207  0x00000149 call  0x000000d5 
+ 00000208  0x0000014a nrtn  0x00000028 
+ 00000209  0x0000014b fetch  0x00000003 , 0x00004c30 
+ 00000210  0x0000014c call  0x00007f49 
+ 00000211  0x0000014d storet  0x00000004 , 0x0000415b 
+ 00000212  0x0000014e branch  0x00002b2a 
+ 00000213  0x00000151 enable  0x00000028 
+ 00000214  0x00000152 call  0x00002afa 
+ 00000215  0x00000153 fetch  0x00000003 , 0x0000416f 
+ 00000216  0x00000154 branch  0x00007fe9 , 0x00000034 
+ 00000217  0x00000155 fetch  0x00000001 , 0x00004091 
+ 00000218  0x00000156 branch  0x00007fe9 , 0x00000034 
+ 00000219  0x00000157 fetch  0x00000001 , 0x00004d41 
+ 00000220  0x00000158 beq  0x00000001 , 0x00007fe9 
+ 00000221  0x00000159 branch  0x000002c3 
+ 00000222  0x0000015c jam  0x00000001 , 0x00004c2d 
+ 00000223  0x0000015d jam  0x00000000 , 0x00004d36 
+ 00000224  0x0000015e call  0x000000f1 
+ 00000225  0x0000015f store  0x00000001 , 0x00004b9d 
+ 00000226  0x00000160 setarg  0x00000000 
+ 00000227  0x00000161 store  0x00000007 , 0x00004b9e 
+ 00000228  0x00000162 fetch  0x00000004 , 0x00004c38 
+ 00000229  0x00000163 store  0x00000004 , 0x00004ba5 
+ 00000230  0x00000164 jam  0x0000000c , 0x00004c01 
+ 00000231  0x00000165 fetch  0x00000001 , 0x00004c02 
+ 00000232  0x00000166 set1  0x00000003 , 0x0000003f 
+ 00000233  0x00000167 store  0x00000001 , 0x00004c02 
+ 00000234  0x00000168 call  0x00000148 
+ 00000235  0x00000169 branch  0x0000009c 
+ 00000236  0x0000016c fetch  0x00000004 , 0x000040a0 
+ 00000237  0x0000016d store  0x00000004 , 0x00004c38 
+ 00000238  0x0000016e rtn 
+ 00000239  0x00000171 jam  0x00000001 , 0x00004d37 
+ 00000240  0x00000172 jam  0x00000000 , 0x00004d39 
+ 00000241  0x00000174 fetch  0x00000001 , 0x00004c02 
+ 00000242  0x00000175 and_into  0x00000007 , 0x0000003f 
+ 00000243  0x00000176 store  0x00000001 , 0x00004c02 
+ 00000244  0x00000177 rtn 
+ 00000245  0x0000017a fetch  0x00000001 , 0x00004c02 
+ 00000246  0x0000017b set1  0x00000004 , 0x0000003f 
+ 00000247  0x0000017c store  0x00000001 , 0x00004c02 
+ 00000248  0x0000017e store  0x00000001 , 0x00004bbd 
+ 00000249  0x0000017f rtn 
+ 00000250  0x00000181 fetch  0x00000001 , 0x00004c02 
+ 00000251  0x00000182 set0  0x00000004 , 0x0000003f 
+ 00000252  0x00000183 store  0x00000001 , 0x00004c02 
+ 00000253  0x00000184 store  0x00000001 , 0x00004bbd 
+ 00000254  0x00000185 call  0x0000074c 
+ 00000255  0x00000186 call  0x00000203 
+ 00000256  0x00000187 rtn 
+ 00000257  0x0000018a call  0x0000074c 
+ 00000258  0x0000018b fetch  0x00000001 , 0x00004d38 
+ 00000259  0x0000018c beq  0x00000001 , 0x00000106 
+ 00000260  0x0000018d beq  0x00000002 , 0x0000010a 
+ 00000261  0x0000018e rtn 
+ 00000262  0x00000190 jam  0x00000002 , 0x00004d39 
+ 00000263  0x00000192 jam  0x00000000 , 0x00004d35 
+ 00000264  0x00000193 jam  0x00000000 , 0x00004d37 
+ 00000265  0x00000194 branch  0x000000f1 
+ 00000266  0x00000197 jam  0x00000000 , 0x00004d36 
+ 00000267  0x00000198 branch  0x00000107 
+ 00000268  0x0000019c fetch  0x00000002 , 0x00004c07 
+ 00000269  0x0000019d increase  0x00000001 , 0x0000003f 
+ 00000270  0x0000019e store  0x00000002 , 0x00004c07 
+ 00000271  0x0000019f bbit1  0x0000000a , 0x000001b1 
+ 00000272  0x000001a0 fetch  0x00000001 , 0x00004d36 
+ 00000273  0x000001a1 beq  0x00000001 , 0x00000115 
+ 00000274  0x000001a2 jam  0x00000001 , 0x00004d36 
+ 00000275  0x000001a4 fetch  0x00000001 , 0x00004d36 
+ 00000276  0x000001a5 bne  0x00000001 , 0x000000f1 
+ 00000277  0x000001a7 fetch  0x00000001 , 0x00004d34 
+ 00000278  0x000001a8 increase  0x00000001 , 0x0000003f 
+ 00000279  0x000001a9 store  0x00000001 , 0x00004d34 
+ 00000280  0x000001aa beq  0x00000004 , 0x0000011c 
+ 00000281  0x000001ab call  0x00000203 
+ 00000282  0x000001ac jam  0x00000002 , 0x00004c46 
+ 00000283  0x000001ad branch  0x00000169 
+ 00000284  0x000001b0 call  0x0000074c 
+ 00000285  0x000001b1 jam  0x00000000 , 0x00004d34 
+ 00000286  0x000001b2 branch  0x000000f1 
+ 00000287  0x000001b5 jam  0x00000002 , 0x00004d39 
+ 00000288  0x000001b7 jam  0x00000001 , 0x00004d37 
+ 00000289  0x000001b8 jam  0x00000000 , 0x00004d36 
+ 00000290  0x000001b9 branch  0x000000f1 
+ 00000291  0x000001bc fetch  0x00000001 , 0x00004d38 
+ 00000292  0x000001bd beq  0x00000003 , 0x00000120 
+ 00000293  0x000001be fetch  0x00000001 , 0x00004c02 
+ 00000294  0x000001bf isolate0  0x00000004 , 0x0000003f 
+ 00000295  0x000001c0 branch  0x000000ef , 0x00000001 
+ 00000296  0x000001c1 fetch  0x00000001 , 0x00004d38 
+ 00000297  0x000001c2 beq  0x00000001 , 0x0000011f 
+ 00000298  0x000001c3 beq  0x00000002 , 0x00000120 
+ 00000299  0x000001c4 rtn 
+ 00000300  0x000001c7 fetch  0x00000001 , 0x00004c11 
+ 00000301  0x000001c8 rtnne  0x000000ff 
+ 00000302  0x000001c9 call  0x00000131 
+ 00000303  0x000001ca ncall  0x00000139 , 0x0000002c 
+ 00000304  0x000001cb rtn 
+ 00000305  0x000001ce disable  0x0000002c 
+ 00000306  0x000001cf fetch  0x00000001 , 0x00004d37 
+ 00000307  0x000001d0 rtnne  0x00000001 
+ 00000308  0x000001d1 fetch  0x00000001 , 0x00004d39 
+ 00000309  0x000001d2 rtnne  0x00000000 
+ 00000310  0x000001d3 jam  0x00000001 , 0x00004d38 
+ 00000311  0x000001d4 jam  0x00000004 , 0x00004c46 
+ 00000312  0x000001d5 branch  0x00007feb 
+ 00000313  0x000001d8 fetch  0x00000001 , 0x00004d39 
+ 00000314  0x000001d9 branch  0x00000140 , 0x00000034 
+ 00000315  0x000001da increase  0xffffffff , 0x0000003f 
+ 00000316  0x000001db store  0x00000001 , 0x00004d39 
+ 00000317  0x000001dc jam  0x00000002 , 0x00004d38 
+ 00000318  0x000001dd jam  0x00000004 , 0x00004c46 
+ 00000319  0x000001de branch  0x00000203 
+ 00000320  0x000001e1 jam  0x00000003 , 0x00004d38 
+ 00000321  0x000001e2 fetch  0x00000001 , 0x00004d36 
+ 00000322  0x000001e3 nbranch  0x00000113 , 0x00000034 
+ 00000323  0x000001e4 jam  0x00000002 , 0x00004c46 
+ 00000324  0x000001e5 branch  0x00000203 
+ 00000325  0x000001e8 fetch  0x00000001 , 0x00004c11 
+ 00000326  0x000001e9 bne  0x000000ff , 0x000001bc 
+ 00000327  0x000001eb call  0x0000014b 
+ 00000328  0x000001ed call  0x000001f1 
+ 00000329  0x000001ee jam  0x00000001 , 0x00004c06 
+ 00000330  0x000001ef rtn 
+ 00000331  0x000001f2 fetch  0x00000002 , 0x00004d32 
+ 00000332  0x000001f3 call  0x00007f9c 
+ 00000333  0x000001f4 branch  0x00000151 , 0x00000028 
+ 00000334  0x000001f5 fetch  0x00000007 , 0x00004b9e 
+ 00000335  0x000001f6 rtn  0x00000034 
+ 00000336  0x000001f7 branch  0x00007fe7 
+ 00000337  0x000001f9 call  0x000004a5 
+ 00000338  0x000001fa call  0x00000329 
+ 00000339  0x000001fb jam  0x00000000 , 0x00004c2d 
+ 00000340  0x000001fc add  0x00000011 , 0x00000001 , 0x0000003f 
+ 00000341  0x000001fd store  0x00000001 , 0x00004c01 
+ 00000342  0x000001fe call  0x000000f1 
+ 00000343  0x000001ff store  0x00000001 , 0x00004b9d 
+ 00000344  0x00000200 ifetcht  0x00000001 , 0x00000005 
+ 00000345  0x00000201 ifetch  0x00000001 , 0x00000012 
+ 00000346  0x00000202 ior  0x00000002 , 0x0000003f 
+ 00000347  0x00000203 istore  0x00000001 , 0x00000005 
+ 00000348  0x00000204 increase  0x00000001 , 0x00000012 
+ 00000349  0x00000205 ifetch  0x00000004 , 0x00000012 
+ 00000350  0x00000206 istore  0x00000004 , 0x00000005 
+ 00000351  0x00000207 increase  0x00000004 , 0x00000012 
+ 00000352  0x00000208 arg  0x00004ba3 , 0x00000005 
+ 00000353  0x00000209 arg  0x00000002 , 0x00000039 
+ 00000354  0x0000020b ifetch  0x00000001 , 0x00000012 
+ 00000355  0x0000020c ifetcht  0x00000001 , 0x00000005 
+ 00000356  0x0000020d iadd  0x00000002 , 0x0000003f 
+ 00000357  0x0000020e istore  0x00000001 , 0x00000005 
+ 00000358  0x0000020f increase  0x00000001 , 0x00000012 
+ 00000359  0x00000210 loop  0x00000162 
+ 00000360  0x00000211 rtn 
+ 00000361  0x00000214 jam  0x00000000 , 0x00004c0a 
+ 00000362  0x00000216 arg  0x00000d00 , 0x0000000b 
+ 00000363  0x00000217 until  0x00000023 , 0x00000026 
+ 00000364  0x00000218 call  0x0000018b 
+ 00000365  0x00000219 fetch  0x00000001 , 0x00004c3d 
+ 00000366  0x0000021a rtneq  0x00000001 
+ 00000367  0x0000021b nbranch  0x0000019a , 0x00000018 
+ 00000368  0x0000021c nbranch  0x0000019a , 0x0000002f 
+ 00000369  0x0000021d call  0x00000183 
+ 00000370  0x0000021e call  0x000001b5 
+ 00000371  0x0000021f call  0x00000748 
+ 00000372  0x00000221 jam  0x00000000 , 0x00004b56 
+ 00000373  0x00000222 fetch  0x00000001 , 0x00004c00 
+ 00000374  0x00000223 increase  0x00000001 , 0x0000003f 
+ 00000375  0x00000224 store  0x00000001 , 0x00004c00 
+ 00000376  0x00000225 call  0x00000186 
+ 00000377  0x00000226 fetch  0x00000001 , 0x00004c11 
+ 00000378  0x00000227 bne  0x000000ff , 0x00000189 
+ 00000379  0x00000228 call  0x00000123 
+ 00000380  0x0000022a setarg  0x00000000 
+ 00000381  0x0000022b store  0x00000002 , 0x00004c07 
+ 00000382  0x0000022c store  0x00000001 , 0x00004c09 
+ 00000383  0x0000022d store  0x00000001 , 0x00004d35 
+ 00000384  0x0000022e store  0x00000001 , 0x00004b5d 
+ 00000385  0x0000022f jam  0x00000000 , 0x00004c06 
+ 00000386  0x00000230 rtn 
+ 00000387  0x00000233 arg  0x00000004 , 0x00000039 
+ 00000388  0x00000234 arg  0x00004b9d , 0x00000005 
+ 00000389  0x00000235 branch  0x00007ec6 
+ 00000390  0x00000238 fetch  0x00000001 , 0x00004c02 
+ 00000391  0x00000239 bbit1  0x00000004 , 0x000000fa 
+ 00000392  0x0000023a rtn 
+ 00000393  0x0000023e call  0x00000745 
+ 00000394  0x0000023f branch  0x000001be 
+ 00000395  0x00000242 disable  0x0000002f 
+ 00000396  0x00000243 call  0x0000026a 
+ 00000397  0x00000246 fetch  0x00000001 , 0x00004c3d 
+ 00000398  0x00000247 beq  0x00000001 , 0x00000198 
+ 00000399  0x00000248 force  0x00000000 , 0x00000015 
+ 00000400  0x00000249 fetch  0x00000004 , 0x00004c29 
+ 00000401  0x0000024a iforce  0x00000009 
+ 00000402  0x0000024b fetcht  0x00000001 , 0x00000017 
+ 00000403  0x0000024c call  0x0000291f 
+ 00000404  0x0000024d call  0x00002924 
+ 00000405  0x0000024e call  0x00000226 
+ 00000406  0x0000024f call  0x00000262 , 0x0000002f 
+ 00000407  0x00000250 rtn 
+ 00000408  0x00000252 call  0x00000262 
+ 00000409  0x00000253 branch  0x00000174 
+ 00000410  0x00000256 fetch  0x00000001 , 0x00004c09 
+ 00000411  0x00000257 increase  0x00000001 , 0x0000003f 
+ 00000412  0x00000258 store  0x00000001 , 0x00004c09 
+ 00000413  0x00000259 fetch  0x00000001 , 0x00004c11 
+ 00000414  0x0000025a bne  0x000000ff , 0x000001ae 
+ 00000415  0x0000025b fetcht  0x00000001 , 0x00004c0a 
+ 00000416  0x0000025c increase  0x00000001 , 0x00000002 
+ 00000417  0x0000025d storet  0x00000001 , 0x00004c0a 
+ 00000418  0x0000025e fetch  0x00000001 , 0x00004c46 
+ 00000419  0x0000025f isub  0x00000002 , 0x0000003f 
+ 00000420  0x00000260 nbranch  0x0000016a , 0x00000034 
+ 00000421  0x00000261 fetch  0x00000001 , 0x00004d38 
+ 00000422  0x00000262 beq  0x00000003 , 0x0000010c 
+ 00000423  0x00000263 fetch  0x00000001 , 0x00004d35 
+ 00000424  0x00000264 increase  0x00000001 , 0x0000003f 
+ 00000425  0x00000265 store  0x00000001 , 0x00004d35 
+ 00000426  0x00000266 beq  0x00000002 , 0x00000101 
+ 00000427  0x00000267 call  0x000000f5 
+ 00000428  0x00000268 jam  0x00000001 , 0x00004c46 
+ 00000429  0x00000269 branch  0x00000169 
+ 00000430  0x0000026c fetch  0x00000001 , 0x00004c09 
+ 00000431  0x0000026d rtnne  0x000000ff 
+ 00000432  0x0000026e jam  0x00000000 , 0x00004c09 
+ 00000433  0x00000270 setarg  0x00000000 
+ 00000434  0x00000271 store  0x00000002 , 0x00004c07 
+ 00000435  0x00000273 jam  0x0000003a , 0x00000a99 
+ 00000436  0x00000274 branch  0x00007d86 
+ 00000437  0x00000278 call  0x000001d6 
+ 00000438  0x00000279 fetch  0x00000001 , 0x00004bff 
+ 00000439  0x0000027a rtn  0x00000034 
+ 00000440  0x0000027b iforce  0x00000039 
+ 00000441  0x0000027c arg  0x00004b7d , 0x00000006 
+ 00000442  0x0000027d arg  0x00004bdf , 0x00000005 
+ 00000443  0x0000027e branch  0x00007f01 
+ 00000444  0x00000281 jam  0x00000090 , 0x000011c5 
+ 00000445  0x00000282 branch  0x000007b3 
+ 00000446  0x00000285 jam  0x00000091 , 0x000011c5 
+ 00000447  0x00000286 branch  0x000007b3 
+ 00000448  0x00000289 jam  0x00000060 , 0x000011c5 
+ 00000449  0x0000028a branch  0x000007b3 
+ 00000450  0x0000028d jam  0x00000070 , 0x000011c5 
+ 00000451  0x0000028e branch  0x000007b3 
+ 00000452  0x00000292 jam  0x000000ff , 0x0000119e 
+ 00000453  0x00000293 fetch  0x00000001 , 0x00004c02 
+ 00000454  0x00000294 store  0x00000001 , 0x0000119f 
+ 00000455  0x00000295 fetch  0x00000004 , 0x00004c38 
+ 00000456  0x00000296 store  0x00000004 , 0x000011a0 
+ 00000457  0x00000297 arg  0x00000006 , 0x00000002 
+ 00000458  0x00000298 arg  0x0000119e , 0x00000011 
+ 00000459  0x00000299 call  0x000001d1 
+ 00000460  0x0000029a branch  0x000001f1 
+ 00000461  0x0000029e set0  0x00000026 , 0x00000000 
+ 00000462  0x0000029f call  0x000053ce 
+ 00000463  0x000002a1 arg  0x00000003 , 0x00000007 
+ 00000464  0x000002a2 branch  0x000043d2 
+ 00000465  0x000002a5 storet  0x00000001 , 0x00004c01 
+ 00000466  0x000002a6 copy  0x00000002 , 0x00000039 
+ 00000467  0x000002a7 arg  0x00004b9d , 0x00000005 
+ 00000468  0x000002a8 copy  0x00000011 , 0x00000006 
+ 00000469  0x000002a9 branch  0x00007f01 
+ 00000470  0x000002ad fetch  0x00000001 , 0x00004b7c 
+ 00000471  0x000002ae rshift3  0x0000003f , 0x0000003f 
+ 00000472  0x000002af store  0x00000001 , 0x00004bff 
+ 00000473  0x000002b1 increase  0x00000001 , 0x0000003f 
+ 00000474  0x000002b2 arg  0x00004b7c , 0x00000006 
+ 00000475  0x000002b3 iadd  0x00000006 , 0x00000006 
+ 00000476  0x000002b4 ifetch  0x00000003 , 0x00000006 
+ 00000477  0x000002b5 store  0x00000003 , 0x00004c3e 
+ 00000478  0x000002b7 fetch  0x00000001 , 0x00004b7c 
+ 00000479  0x000002b8 rshift  0x0000003f , 0x0000003f 
+ 00000480  0x000002b9 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000481  0x000002ba store  0x00000001 , 0x00004c44 
+ 00000482  0x000002bb rtn 
+ 00000483  0x000002be store  0x00000004 , 0x00004c29 
+ 00000484  0x000002c1 arg  0x00000000 , 0x00000011 
+ 00000485  0x000002c2 arg  0x00000004 , 0x00000039 
+ 00000486  0x000002c3 arg  0x00004c29 , 0x00000006 
+ 00000487  0x000002c5 ifetch  0x00000001 , 0x00000006 
+ 00000488  0x000002c6 iadd  0x00000011 , 0x00000011 
+ 00000489  0x000002c7 loop  0x000001e7 
+ 00000490  0x000002c8 copy  0x00000011 , 0x0000003f 
+ 00000491  0x000002c9 store  0x00000002 , 0x00004cb2 
+ 00000492  0x000002ca fetch  0x00000001 , 0x00004cb2 
+ 00000493  0x000002cb fetcht  0x00000001 , 0x00004cb3 
+ 00000494  0x000002cc iadd  0x00000002 , 0x0000003f 
+ 00000495  0x000002cd store  0x00000001 , 0x00004cb4 
+ 00000496  0x000002ce rtn 
+ 00000497  0x000002d3 fetch  0x00000001 , 0x00004c01 
+ 00000498  0x000002d4 increase  0x00000002 , 0x0000003f 
+ 00000499  0x000002d5 store  0x00000001 , 0x00004c03 
+ 00000500  0x000002d7 fetch  0x00000001 , 0x00004c02 
+ 00000501  0x000002d8 store  0x00000001 , 0x00004bbd 
+ 00000502  0x000002da fetch  0x00000001 , 0x00004c01 
+ 00000503  0x000002db lshift3  0x0000003f , 0x0000003f 
+ 00000504  0x000002dc fetcht  0x00000001 , 0x00004c00 
+ 00000505  0x000002dd and  0x00000002 , 0x00000003 , 0x00000002 
+ 00000506  0x000002de lshift  0x00000002 , 0x00000002 
+ 00000507  0x000002df ior  0x00000002 , 0x0000003f 
+ 00000508  0x000002e0 fetcht  0x00000001 , 0x00004c3d 
+ 00000509  0x000002e1 iadd  0x00000002 , 0x0000003f 
+ 00000510  0x000002e2 istore  0x00000001 , 0x00000005 
+ 00000511  0x000002e4 fetch  0x00000001 , 0x00004c01 
+ 00000512  0x000002e5 iforce  0x00000039 
+ 00000513  0x000002e6 arg  0x00004b9d , 0x00000006 
+ 00000514  0x000002e7 branch  0x00007f01 
+ 00000515  0x000002ea fetcht  0x00000001 , 0x00004c0c 
+ 00000516  0x000002eb call  0x00000207 
+ 00000517  0x000002ec storet  0x00000001 , 0x00004c0c 
+ 00000518  0x000002ed rtn 
+ 00000519  0x000002f0 call  0x0000020b 
+ 00000520  0x000002f1 increase  0x00000001 , 0x00000002 
+ 00000521  0x000002f2 and_into  0x00000003 , 0x00000002 
+ 00000522  0x000002f3 rtn 
+ 00000523  0x000002f6 fetch  0x00000001 , 0x00004c29 
+ 00000524  0x000002f7 and_into  0x00000003 , 0x0000003f 
+ 00000525  0x000002f8 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00000526  0x000002f9 setarg  0x00004c12 
+ 00000527  0x000002fa iadd  0x00000011 , 0x0000003f 
+ 00000528  0x000002fb iadd  0x00000002 , 0x00000006 
+ 00000529  0x000002fc ifetch  0x00000001 , 0x00000006 
+ 00000530  0x000002fd store  0x00000001 , 0x00004c0b 
+ 00000531  0x000002fe rtn 
+ 00000532  0x00000301 disable  0x00000009 
+ 00000533  0x00000302 disable  0x00000007 
+ 00000534  0x00000303 setarg  0x00555555 
+ 00000535  0x00000304 iforce  0x0000000f 
+ 00000536  0x00000305 fetch  0x00000001 , 0x00004c0b 
+ 00000537  0x00000306 reverse  0x0000003f , 0x00000002 
+ 00000538  0x00000307 set1  0x00000001 , 0x00000002 
+ 00000539  0x00000308 rshift  0x00000002 , 0x0000000e 
+ 00000540  0x00000309 rtn 
+ 00000541  0x0000030c call  0x000053c4 
+ 00000542  0x0000030d fetch  0x00000004 , 0x00004c29 
+ 00000543  0x0000030e iforce  0x00000009 
+ 00000544  0x0000030f call  0x00002918 
+ 00000545  0x00000310 fetcht  0x00000001 , 0x00004c0b 
+ 00000546  0x00000311 call  0x0000291f 
+ 00000547  0x00000312 setarg  0x00000500 
+ 00000548  0x00000313 call  0x00002a8f 
+ 00000549  0x00000314 call  0x00002924 
+ 00000550  0x00000318 call  0x00000214 
+ 00000551  0x00000319 disable  0x0000002f 
+ 00000552  0x0000031a enable  0x0000000d 
+ 00000553  0x0000031b enable  0x00000021 
+ 00000554  0x0000031c disable  0x00000020 
+ 00000555  0x0000031d enable  0x00000010 
+ 00000556  0x0000031e fetch  0x00000002 , 0x00004c04 
+ 00000557  0x0000031f iforce  0x0000001b 
+ 00000558  0x00000320 correlate  0x0000003e , 0x00000003 
+ 00000559  0x00000321 nbranch  0x00000266 , 0x00000018 
+ 00000560  0x00000324 disable  0x0000000d 
+ 00000561  0x00000325 enable  0x0000000b 
+ 00000562  0x00000326 enable  0x00000007 
+ 00000563  0x00000327 enable  0x00000009 
+ 00000564  0x00000328 call  0x0000025f 
+ 00000565  0x00000329 store  0x00000001 , 0x00004cb5 
+ 00000566  0x0000032a fetcht  0x00000001 , 0x00004cb4 
+ 00000567  0x0000032b isub  0x00000002 , 0x0000003e 
+ 00000568  0x0000032c nbranch  0x00000262 , 0x00000005 
+ 00000569  0x0000032d call  0x0000025f 
+ 00000570  0x0000032e store  0x00000001 , 0x00004b7b 
+ 00000571  0x0000032f fetch  0x00000001 , 0x00004c47 
+ 00000572  0x00000330 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00000573  0x00000331 branch  0x00000242 , 0x00000005 
+ 00000574  0x00000332 fetch  0x00000001 , 0x00004b7b 
+ 00000575  0x00000333 fetcht  0x00000001 , 0x00004c02 
+ 00000576  0x00000334 icompare  0x00000007 , 0x00000002 
+ 00000577  0x00000335 nbranch  0x00000262 , 0x00000001 
+ 00000578  0x00000337 call  0x0000025f 
+ 00000579  0x00000338 istore  0x00000001 , 0x00000005 
+ 00000580  0x00000339 rshift3  0x0000003f , 0x0000003f 
+ 00000581  0x0000033a and  0x0000003f , 0x0000001f , 0x00000039 
+ 00000582  0x0000033b branch  0x0000024a , 0x00000005 
+ 00000583  0x0000033d call  0x0000025f 
+ 00000584  0x0000033e istore  0x00000001 , 0x00000005 
+ 00000585  0x0000033f loop  0x00000247 
+ 00000586  0x00000342 copy  0x00000005 , 0x00000011 
+ 00000587  0x00000343 call  0x0000025f 
+ 00000588  0x00000344 store  0x00000001 , 0x00004d3c 
+ 00000589  0x00000345 copy  0x00000011 , 0x00000005 
+ 00000590  0x00000346 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00000591  0x00000347 enable  0x00000010 
+ 00000592  0x00000348 arg  0x00000664 , 0x0000001b 
+ 00000593  0x00000349 rshift32  0x0000003f , 0x0000003f 
+ 00000594  0x0000034a rshift16  0x0000003f , 0x0000003f 
+ 00000595  0x0000034b istore  0x00000003 , 0x00000005 
+ 00000596  0x0000034c disable  0x0000000b 
+ 00000597  0x0000034d branch  0x00000262 , 0x00000006 
+ 00000598  0x00000350 enable  0x0000002f 
+ 00000599  0x00000351 fetch  0x00000001 , 0x00000017 
+ 00000600  0x00000352 add  0x0000003f , 0x00000000 , 0x00000011 
+ 00000601  0x00000353 call  0x00002981 
+ 00000602  0x00000354 disable  0x0000000d 
+ 00000603  0x00000355 call  0x00002918 
+ 00000604  0x00000356 fetch  0x00000001 , 0x00004d3c 
+ 00000605  0x00000357 call  0x0000006b 
+ 00000606  0x00000358 rtn 
+ 00000607  0x0000035b parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000608  0x0000035c rshift3  0x0000000c , 0x0000003f 
+ 00000609  0x0000035d rtn 
+ 00000610  0x00000360 disable  0x0000001b 
+ 00000611  0x00000361 disable  0x0000000b 
+ 00000612  0x00000362 call  0x0000264d 
+ 00000613  0x00000363 rtn 
+ 00000614  0x00000366 branch  0x00000262 
+ 00000615  0x00000369 call  0x00002918 
+ 00000616  0x0000036a fetcht  0x00000001 , 0x00004c0b 
+ 00000617  0x0000036b branch  0x00002933 
+ 00000618  0x0000036e call  0x000053c4 
+ 00000619  0x0000036f fetch  0x00000004 , 0x00004c29 
+ 00000620  0x00000370 iforce  0x00000009 
+ 00000621  0x00000371 call  0x00000214 
+ 00000622  0x00000372 call  0x00000267 
+ 00000623  0x00000373 set1  0x00000000 , 0x00000015 
+ 00000624  0x00000374 enable  0x0000001d 
+ 00000625  0x00000375 enable  0x00000020 
+ 00000626  0x00000376 disable  0x00000021 
+ 00000627  0x00000379 rshift16  0x00000009 , 0x0000003f 
+ 00000628  0x0000037a rshift8  0x0000003f , 0x0000003f 
+ 00000629  0x0000037b rshift4  0x0000003f , 0x0000003f 
+ 00000630  0x0000037c inject  0x00000003 , 0x00000028 
+ 00000631  0x0000037d disable  0x0000001d 
+ 00000632  0x0000037e enable  0x0000001b 
+ 00000633  0x0000037f enable  0x00000007 
+ 00000634  0x00000380 enable  0x00000009 
+ 00000635  0x00000381 fetch  0x00000001 , 0x00004cb4 
+ 00000636  0x00000382 inject  0x00000003 , 0x00000008 
+ 00000637  0x00000383 fetch  0x00000001 , 0x00004c03 
+ 00000638  0x00000384 iforce  0x00000039 
+ 00000639  0x00000385 arg  0x00004bbd , 0x00000006 
+ 00000640  0x00000387 ifetch  0x00000001 , 0x00000006 
+ 00000641  0x00000388 inject  0x00000003 , 0x00000008 
+ 00000642  0x00000389 loop  0x00000280 
+ 00000643  0x0000038c enable  0x00000008 
+ 00000644  0x0000038d inject  0x00000003 , 0x00000018 
+ 00000645  0x0000038e disable  0x00000008 
+ 00000646  0x0000038f until  0x0000003e , 0x00000027 
+ 00000647  0x00000390 nop  0x00000064 
+ 00000648  0x00000391 disable  0x0000001d 
+ 00000649  0x00000392 disable  0x0000001b 
+ 00000650  0x00000393 rtn 
+ 00000651  0x00000396 call  0x00007fe9 
+ 00000652  0x00000397 fetcht  0x00000004 , 0x00004c22 
+ 00000653  0x00000398 copy  0x00000022 , 0x0000003f 
+ 00000654  0x00000399 isub  0x00000002 , 0x0000003e 
+ 00000655  0x0000039a ncall  0x00002d18 , 0x00000002 
+ 00000656  0x0000039b copy  0x0000003f , 0x00000012 
+ 00000657  0x0000039c fetch  0x00000004 , 0x00004c22 
+ 00000658  0x0000039d fetcht  0x00000001 , 0x00004c26 
+ 00000659  0x0000039e iadd  0x00000002 , 0x00000002 
+ 00000660  0x0000039f copy  0x00000012 , 0x0000003f 
+ 00000661  0x000003a0 isub  0x00000002 , 0x0000003e 
+ 00000662  0x000003a1 nrtn  0x00000002 
+ 00000663  0x000003a2 set0  0x0000001c , 0x0000003f 
+ 00000664  0x000003a3 store  0x00000004 , 0x00004c22 
+ 00000665  0x000003a4 branch  0x00007fe7 
+ 00000666  0x000003a7 call  0x000029bb 
+ 00000667  0x000003a8 rtn  0x00000034 
+ 00000668  0x000003a9 fetcht  0x00000001 , 0x00004cbb 
+ 00000669  0x000003aa arg  0x00000d9e , 0x00000011 
+ 00000670  0x000003ab call  0x000002a1 
+ 00000671  0x000003ac storet  0x00000001 , 0x00004cbb 
+ 00000672  0x000003ad rtn 
+ 00000673  0x000003b0 copy  0x00000011 , 0x0000003f 
+ 00000674  0x000003b1 iadd  0x00000002 , 0x00000005 
+ 00000675  0x000003b2 fetch  0x00000001 , 0x00000018 
+ 00000676  0x000003b3 istore  0x00000001 , 0x00000005 
+ 00000677  0x000003b4 increase  0x00000001 , 0x00000002 
+ 00000678  0x000003b5 and_into  0x00000007 , 0x00000002 
+ 00000679  0x000003b6 rtn 
+ 00000680  0x000003b8 arg  0x00000000 , 0x00000002 
+ 00000681  0x000003b9 arg  0x00000008 , 0x00000039 
+ 00000682  0x000003ba copy  0x00000011 , 0x00000006 
+ 00000683  0x000003bc ifetch  0x00000001 , 0x00000006 
+ 00000684  0x000003bd iadd  0x00000002 , 0x00000002 
+ 00000685  0x000003be loop  0x000002ab 
+ 00000686  0x000003bf rshift3  0x00000002 , 0x0000003f 
+ 00000687  0x000003c0 copy  0x0000003f , 0x00000002 
+ 00000688  0x000003c1 rtnmark0  0x00000026 
+ 00000689  0x000003c3 div  0x0000003f , 0x0000000a 
+ 00000690  0x000003c4 call  0x00007f86 
+ 00000691  0x000003c5 quotient  0x0000003f 
+ 00000692  0x000003c6 lshift4  0x0000003f , 0x0000003f 
+ 00000693  0x000003c7 remainder  0x00000002 
+ 00000694  0x000003c8 ior  0x00000002 , 0x00000002 
+ 00000695  0x000003c9 rtn 
+ 00000696  0x000003ca rtn 
+ 00000697  0x000003ce rtnmark1  0x00000026 
+ 00000698  0x000003cf call  0x000003f2 
+ 00000699  0x000003d0 call  0x000002c3 
+ 00000700  0x000003d1 fetch  0x00000001 , 0x00004040 
+ 00000701  0x000003d2 bbit0  0x00000000 , 0x000002c0 
+ 00000702  0x000003d3 fetch  0x00000001 , 0x000000a0 
+ 00000703  0x000003d4 nrtn  0x00000034 
+ 00000704  0x000003d6 setarg  0x00000000 
+ 00000705  0x000003d7 store  0x00000008 , 0x000000a1 
+ 00000706  0x000003d8 rtn 
+ 00000707  0x000003db call  0x000002d9 
+ 00000708  0x000003dc call  0x000002c0 
+ 00000709  0x000003de call  0x00003ebf 
+ 00000710  0x000003df call  0x0000033a 
+ 00000711  0x000003e0 hfetch  0x00000004 , 0x00008070 
+ 00000712  0x000003e1 hfetcht  0x00000004 , 0x00008078 
+ 00000713  0x000003e2 ior  0x00000002 , 0x00000002 
+ 00000714  0x000003e3 invert  0x00000002 , 0x00000002 
+ 00000715  0x000003e4 hstoret  0x00000004 , 0x0000807c 
+ 00000716  0x000003e5 hfetch  0x00000001 , 0x0000807c 
+ 00000717  0x000003e6 set0  0x00000006 , 0x0000003f 
+ 00000718  0x000003e7 hstore  0x00000001 , 0x0000807c 
+ 00000719  0x000003e8 hfetch  0x00000001 , 0x0000807c 
+ 00000720  0x000003e9 set1  0x00000005 , 0x0000003f 
+ 00000721  0x000003ea hstore  0x00000001 , 0x0000807c 
+ 00000722  0x000003eb hfetch  0x00000001 , 0x0000807d 
+ 00000723  0x000003ec set0  0x00000002 , 0x0000003f 
+ 00000724  0x000003ed hstore  0x00000001 , 0x0000807d 
+ 00000725  0x000003ee hfetch  0x00000001 , 0x0000807e 
+ 00000726  0x000003ef set0  0x00000006 , 0x0000003f 
+ 00000727  0x000003f0 hstore  0x00000001 , 0x0000807e 
+ 00000728  0x000003f1 rtn 
+ 00000729  0x000003f4 fetch  0x00000001 , 0x00004afe 
+ 00000730  0x000003f5 rtn  0x00000034 
+ 00000731  0x000003f6 branch  0x00003d80 
+ 00000732  0x000003f9 call  0x0000296c 
+ 00000733  0x000003fa call  0x00003416 
+ 00000734  0x000003fb call  0x000074b9 
+ 00000735  0x000003fc branch  0x000002f1 , 0x0000002b 
+ 00000736  0x000003fe call  0x00000001 
+ 00000737  0x000003ff arg  0x00000258 , 0x00000002 
+ 00000738  0x00000400 fetch  0x00000002 , 0x000046aa 
+ 00000739  0x00000401 isub  0x00000002 , 0x00000002 
+ 00000740  0x00000402 storet  0x00000002 , 0x00004b59 
+ 00000741  0x0000040c call  0x000002f2 
+ 00000742  0x0000040d jam  0x00000019 , 0x00004b50 
+ 00000743  0x0000040e call  0x0000053c 
+ 00000744  0x0000040f arg  0x00004721 , 0x00000011 
+ 00000745  0x00000410 fetch  0x00000001 , 0x00004720 
+ 00000746  0x00000411 fetcht  0x00000001 , 0x00004703 
+ 00000747  0x00000412 isub  0x00000002 , 0x0000003e 
+ 00000748  0x00000413 branch  0x000003b3 , 0x00000005 
+ 00000749  0x00000414 fetch  0x00000001 , 0x00004210 
+ 00000750  0x00000415 beq  0x00000033 , 0x000002f5 
+ 00000751  0x00000416 beq  0x00000034 , 0x000002f9 
+ 00000752  0x00000418 rtn 
+ 00000753  0x0000041c branch  0x00000314 
+ 00000754  0x0000041f fetch  0x00000001 , 0x00004cb8 
+ 00000755  0x00000420 store  0x00000001 , 0x000041de 
+ 00000756  0x00000421 rtn 
+ 00000757  0x00000424 jam  0x00000001 , 0x00004b55 
+ 00000758  0x00000425 fetch  0x00000006 , 0x000041d0 
+ 00000759  0x00000426 branch  0x000033eb , 0x00000034 
+ 00000760  0x00000427 branch  0x00004274 
+ 00000761  0x0000042a jam  0x00000001 , 0x0000479f 
+ 00000762  0x0000042b fetch  0x00000002 , 0x000046a8 
+ 00000763  0x0000042c fetcht  0x00000001 , 0x00004b61 
+ 00000764  0x0000042d sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00000765  0x0000042e nbranch  0x000002ff , 0x00000005 
+ 00000766  0x0000042f setarg  0x00000258 
+ 00000767  0x00000431 jam  0x00000001 , 0x0000479f 
+ 00000768  0x00000432 fetch  0x00000002 , 0x000046a8 
+ 00000769  0x00000433 store  0x00000002 , 0x000046ae 
+ 00000770  0x00000434 call  0x00003418 
+ 00000771  0x00000435 fetch  0x00000003 , 0x00004b65 
+ 00000772  0x00000436 store  0x00000003 , 0x00004374 
+ 00000773  0x00000438 call  0x0000030b 
+ 00000774  0x00000439 setarg  0x00000004 
+ 00000775  0x0000043a istore  0x00000001 , 0x00000006 
+ 00000776  0x0000043c arg  0x00004390 , 0x00000006 
+ 00000777  0x0000043d call  0x000005d6 
+ 00000778  0x0000043f branch  0x00007df4 
+ 00000779  0x00000442 arg  0x00004370 , 0x00000011 
+ 00000780  0x00000444 ifetch  0x00000001 , 0x00000011 
+ 00000781  0x00000445 rtn  0x00000034 
+ 00000782  0x00000446 iadd  0x00000006 , 0x00000011 
+ 00000783  0x00000447 ifetch  0x00000001 , 0x00000006 
+ 00000784  0x00000448 rtneq  0x00000001 
+ 00000785  0x00000449 branch  0x0000030c 
+ 00000786  0x0000044c jam  0x00000061 , 0x000011c5 
+ 00000787  0x0000044d branch  0x000007b3 
+ 00000788  0x00000451 jam  0x00000076 , 0x00004212 
+ 00000789  0x00000452 branch  0x00003d36 
+ 00000790  0x00000455 call  0x00000314 
+ 00000791  0x00000456 call  0x000040c0 
+ 00000792  0x0000045a call  0x000040d9 
+ 00000793  0x0000045b beq  0x00000031 , 0x00000321 
+ 00000794  0x0000045c call  0x000040d1 
+ 00000795  0x0000045d nop  0x000003e8 
+ 00000796  0x0000045e branch  0x00000318 
+ 00000797  0x00000461 jam  0x00000001 , 0x00004afe 
+ 00000798  0x00000462 call  0x0000640f 
+ 00000799  0x00000463 call  0x00000316 
+ 00000800  0x00000464 branch  0x00006411 
+ 00000801  0x00000469 call  0x0000032e 
+ 00000802  0x0000046a fetch  0x00000001 , 0x000046de 
+ 00000803  0x0000046b beq  0x00000070 , 0x000040e8 
+ 00000804  0x0000046c jam  0x00000001 , 0x000046e0 
+ 00000805  0x0000046d rtn 
+ 00000806  0x00000473 jam  0x00000000 , 0x00004172 
+ 00000807  0x00000474 jam  0x0000001e , 0x00004b6b 
+ 00000808  0x00000475 rtn 
+ 00000809  0x0000047a fetch  0x00000001 , 0x00004b6a 
+ 00000810  0x0000047b rtnne  0x00000001 
+ 00000811  0x0000047c setarg  0x00000000 
+ 00000812  0x0000047d store  0x00000001 , 0x00004b6a 
+ 00000813  0x0000047e store  0x00000004 , 0x0000469b 
+ 00000814  0x00000480 call  0x00000314 
+ 00000815  0x00000481 setarg  0x00008006 
+ 00000816  0x00000482 call  0x00006413 
+ 00000817  0x00000483 nop  0x00002ee0 
+ 00000818  0x00000485 fetch  0x00000001 , 0x0000477a 
+ 00000819  0x00000486 beq  0x000000ff , 0x00003d66 
+ 00000820  0x00000487 branch  0x00003d80 
+ 00000821  0x0000048a call  0x00000314 
+ 00000822  0x0000048b setarg  0x00000806 
+ 00000823  0x00000490 branch  0x00006413 
+ 00000824  0x00000493 jam  0x00000080 , 0x000011c5 
+ 00000825  0x00000494 branch  0x000007b3 
+ 00000826  0x00000498 fetcht  0x00000001 , 0x00004b43 
+ 00000827  0x00000499 branch  0x00006825 
+ 00000828  0x0000049c jam  0x00000040 , 0x00008086 
+ 00000829  0x0000049d jam  0x00000000 , 0x00008087 
+ 00000830  0x0000049e hfetch  0x00000001 , 0x00008081 
+ 00000831  0x0000049f set0  0x00000000 , 0x0000003f 
+ 00000832  0x000004a0 set0  0x00000001 , 0x0000003f 
+ 00000833  0x000004a1 set1  0x00000003 , 0x0000003f 
+ 00000834  0x000004a2 set0  0x00000004 , 0x0000003f 
+ 00000835  0x000004a3 hstore  0x00000001 , 0x00008081 
+ 00000836  0x000004a4 setarg  0x00000000 
+ 00000837  0x000004a5 store  0x00000004 , 0x000001f5 
+ 00000838  0x000004a7 hfetch  0x00000001 , 0x0000807f 
+ 00000839  0x000004a8 set0  0x00000000 , 0x0000003f 
+ 00000840  0x000004a9 hstore  0x00000001 , 0x0000807f 
+ 00000841  0x000004ab rtn 
+ 00000842  0x000004ae call  0x000003aa 
+ 00000843  0x000004af call  0x00004423 
+ 00000844  0x000004b0 fetch  0x00000002 , 0x00004778 
+ 00000845  0x000004b1 arg  0x0000aa55 , 0x00000002 
+ 00000846  0x000004b2 isub  0x00000002 , 0x0000003e 
+ 00000847  0x000004b3 branch  0x00000387 , 0x00000005 
+ 00000848  0x000004b4 storet  0x00000002 , 0x00004778 
+ 00000849  0x000004b5 call  0x0000441c 
+ 00000850  0x000004b6 fetch  0x00000001 , 0x000046e1 
+ 00000851  0x000004b7 store  0x00000001 , 0x0000477a 
+ 00000852  0x000004b8 fetch  0x00000004 , 0x00004b51 
+ 00000853  0x000004b9 store  0x00000004 , 0x0000477b 
+ 00000854  0x000004ba store  0x00000004 , 0x00004c29 
+ 00000855  0x000004bb call  0x0000039b 
+ 00000856  0x000004bd call  0x000003aa 
+ 00000857  0x000004be call  0x00000366 
+ 00000858  0x000004bf call  0x0000037e 
+ 00000859  0x000004c0 call  0x0000036a 
+ 00000860  0x000004c1 call  0x00000375 
+ 00000861  0x000004c3 arg  0x00000002 , 0x00000002 
+ 00000862  0x000004c4 arg  0x000047c2 , 0x00000011 
+ 00000863  0x000004c5 arg  0x0000005f , 0x00000012 
+ 00000864  0x000004c6 fetch  0x00000003 , 0x00004700 
+ 00000865  0x000004c7 iadd  0x00000012 , 0x0000003f 
+ 00000866  0x000004c8 call  0x0000036a 
+ 00000867  0x000004c9 call  0x00000375 
+ 00000868  0x000004ca call  0x000003a1 
+ 00000869  0x000004cb branch  0x00000314 
+ 00000870  0x000004ce fetch  0x00000003 , 0x00004700 
+ 00000871  0x000004cf store  0x00000003 , 0x00004232 
+ 00000872  0x000004d0 call  0x0000652a 
+ 00000873  0x000004d1 branch  0x00000375 
+ 00000874  0x000004d4 copy  0x0000003f , 0x00000013 
+ 00000875  0x000004d5 copy  0x00000011 , 0x0000003f 
+ 00000876  0x000004d6 increase  0xfffffffc , 0x0000003f 
+ 00000877  0x000004d7 copy  0x0000003f , 0x00000012 
+ 00000878  0x000004d8 ifetch  0x00000004 , 0x00000012 
+ 00000879  0x000004d9 store  0x00000004 , 0x00004b4c 
+ 00000880  0x000004da copy  0x00000013 , 0x0000003f 
+ 00000881  0x000004db call  0x00006552 
+ 00000882  0x000004dc fetch  0x00000004 , 0x00004b4c 
+ 00000883  0x000004dd istore  0x00000004 , 0x00000012 
+ 00000884  0x000004de rtn 
+ 00000885  0x000004e1 setarg  0x000186a0 
+ 00000886  0x000004e2 call  0x00002a8f 
+ 00000887  0x000004e3 call  0x0000650b 
+ 00000888  0x000004e4 setarg  0x000001fa 
+ 00000889  0x000004e5 hstore  0x00000002 , 0x0000808c 
+ 00000890  0x000004e6 setarg  0x00000005 
+ 00000891  0x000004e7 call  0x000064f3 
+ 00000892  0x000004e8 bbit1  0x00000000 , 0x00000375 
+ 00000893  0x000004e9 rtn 
+ 00000894  0x000004ec setarg  0x0000477f 
+ 00000895  0x000004ed arg  0x00004720 , 0x00000002 
+ 00000896  0x000004ee isub  0x00000002 , 0x00000002 
+ 00000897  0x000004ef fetch  0x00000003 , 0x00004700 
+ 00000898  0x000004f0 arg  0x00004720 , 0x00000011 
+ 00000899  0x000004f1 rtn 
+ 00000900  0x000004f4 call  0x000003aa 
+ 00000901  0x000004f5 call  0x0000037e 
+ 00000902  0x000004f6 branch  0x00006562 
+ 00000903  0x000004f9 call  0x00000384 
+ 00000904  0x000004fa call  0x000003ac 
+ 00000905  0x000004fb call  0x0000431a 
+ 00000906  0x000004fc fetch  0x00000004 , 0x0000477b 
+ 00000907  0x000004fd store  0x00000004 , 0x00004c29 
+ 00000908  0x000004fe arg  0x00000003 , 0x00000039 
+ 00000909  0x000004ff arg  0x00004722 , 0x00000006 
+ 00000910  0x00000500 call  0x00000392 
+ 00000911  0x00000501 nbranch  0x00000399 , 0x00000028 
+ 00000912  0x00000506 call  0x0000039b 
+ 00000913  0x00000507 rtn 
+ 00000914  0x0000050b call  0x00007fe7 
+ 00000915  0x0000050c setarg  0x0000ffff 
+ 00000916  0x0000050e ifetcht  0x00000002 , 0x00000006 
+ 00000917  0x0000050f isub  0x00000002 , 0x0000003e 
+ 00000918  0x00000510 ncall  0x00007fe9 , 0x00000005 
+ 00000919  0x00000511 loop  0x00000394 
+ 00000920  0x00000512 rtn 
+ 00000921  0x00000515 jam  0x0000005a , 0x00004b61 
+ 00000922  0x00000516 rtn 
+ 00000923  0x00000519 jam  0x000000ff , 0x00004b61 
+ 00000924  0x0000051a jam  0x00000034 , 0x00004210 
+ 00000925  0x0000051b setarg  0x000f0f0f 
+ 00000926  0x0000051c store  0x00000003 , 0x000044a0 
+ 00000927  0x0000051d store  0x00000003 , 0x000044a3 
+ 00000928  0x0000051e rtn 
+ 00000929  0x00000524 jam  0x000000b9 , 0x00000aa2 
+ 00000930  0x00000526 call  0x0000033c 
+ 00000931  0x00000527 nop  0x00000064 
+ 00000932  0x00000528 call  0x0000650b 
+ 00000933  0x00000529 arg  0x00004b4c , 0x00000011 
+ 00000934  0x0000052a fetcht  0x00000001 , 0x00000aa2 
+ 00000935  0x0000052b call  0x00006556 
+ 00000936  0x0000052c nop  0x00000064 
+ 00000937  0x0000052d rtn 
+ 00000938  0x00000530 jam  0x000000ab , 0x00000aa2 
+ 00000939  0x00000531 branch  0x000003a2 
+ 00000940  0x00000535 call  0x000003aa 
+ 00000941  0x00000536 arg  0x00000002 , 0x00000002 
+ 00000942  0x00000537 arg  0x000047c2 , 0x00000011 
+ 00000943  0x00000538 arg  0x0000005f , 0x00000012 
+ 00000944  0x00000539 fetch  0x00000003 , 0x00004700 
+ 00000945  0x0000053a iadd  0x00000012 , 0x0000003f 
+ 00000946  0x0000053b branch  0x00006562 
+ 00000947  0x0000053f setarg  0x00000000 
+ 00000948  0x00000540 store  0x00000002 , 0x00004c2e 
+ 00000949  0x00000541 branch  0x000001c0 
+ 00000950  0x00000545 fetch  0x00000001 , 0x00004720 
+ 00000951  0x00000546 rtnne  0x00000002 
+ 00000952  0x00000547 fetch  0x00000001 , 0x00004b5d 
+ 00000953  0x00000548 rtn  0x00000034 
+ 00000954  0x00000549 increase  0xffffffff , 0x0000003f 
+ 00000955  0x0000054a store  0x00000001 , 0x00004b5d 
+ 00000956  0x0000054b branch  0x0000340a , 0x00000034 
+ 00000957  0x0000054c and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00000958  0x0000054d beq  0x00000005 , 0x000003d8 
+ 00000959  0x0000054e beq  0x0000000a , 0x000003d5 
+ 00000960  0x0000054f rtn 
+ 00000961  0x00000552 fetch  0x00000001 , 0x000046ac 
+ 00000962  0x00000553 rtn  0x00000034 
+ 00000963  0x00000554 fetch  0x00000001 , 0x00004b5c 
+ 00000964  0x00000555 increase  0x00000001 , 0x0000003f 
+ 00000965  0x00000556 store  0x00000001 , 0x00004b5c 
+ 00000966  0x00000557 beq  0x00000005 , 0x000003e5 
+ 00000967  0x00000558 beq  0x0000000a , 0x000003e0 
+ 00000968  0x00000559 rtn 
+ 00000969  0x0000055d fetch  0x00000001 , 0x00004b50 
+ 00000970  0x0000055e rtn  0x00000034 
+ 00000971  0x0000055f increase  0xffffffff , 0x0000003f 
+ 00000972  0x00000560 store  0x00000001 , 0x00004b50 
+ 00000973  0x00000561 fetch  0x00000001 , 0x00004720 
+ 00000974  0x00000562 beq  0x00000002 , 0x000003d2 
+ 00000975  0x00000563 fetch  0x00000001 , 0x00004b50 
+ 00000976  0x00000564 bbit1  0x00000001 , 0x000003e1 
+ 00000977  0x00000565 branch  0x000003e5 
+ 00000978  0x00000568 fetch  0x00000001 , 0x00004b50 
+ 00000979  0x00000569 bbit1  0x00000001 , 0x000003d8 
+ 00000980  0x0000056a branch  0x000003d5 
+ 00000981  0x0000056f jam  0x00000000 , 0x00004b49 
+ 00000982  0x00000570 fetcht  0x00000001 , 0x00004b4a 
+ 00000983  0x00000571 branch  0x000005bd 
+ 00000984  0x00000574 jam  0x00000001 , 0x00004b49 
+ 00000985  0x00000575 hfetch  0x00000001 , 0x0000807c 
+ 00000986  0x00000576 set0  0x00000005 , 0x0000003f 
+ 00000987  0x00000577 hstore  0x00000001 , 0x0000807c 
+ 00000988  0x00000578 fetcht  0x00000001 , 0x00004b4a 
+ 00000989  0x00000579 call  0x0000680e 
+ 00000990  0x0000057a fetcht  0x00000001 , 0x00004b4a 
+ 00000991  0x0000057b branch  0x00006825 
+ 00000992  0x0000057e jam  0x00000000 , 0x00004b5c 
+ 00000993  0x00000580 fetcht  0x00000001 , 0x00004b4b 
+ 00000994  0x00000581 call  0x0000680e 
+ 00000995  0x00000582 fetcht  0x00000001 , 0x00004b4b 
+ 00000996  0x00000583 branch  0x00006829 
+ 00000997  0x00000586 fetcht  0x00000001 , 0x00004b4b 
+ 00000998  0x00000587 branch  0x000005c8 
+ 00000999  0x0000058b call  0x000003e5 
+ 00001000  0x0000058c branch  0x000003d5 
+ 00001001  0x00000590 jam  0x00000000 , 0x00004b50 
+ 00001002  0x00000591 rtn 
+ 00001003  0x000005a4 call  0x00004401 
+ 00001004  0x000005a5 fetch  0x00000002 , 0x0000469f 
+ 00001005  0x000005a6 rtn  0x00000034 
+ 00001006  0x000005a8 jam  0x00000001 , 0x00004d41 
+ 00001007  0x000005a9 setarg  0x00000000 
+ 00001008  0x000005aa store  0x00000002 , 0x00004d42 
+ 00001009  0x000005ab rtn 
+ 00001010  0x000005ae arg  0x00001800 , 0x00000006 
+ 00001011  0x000005af arg  0x0000480a , 0x00000005 
+ 00001012  0x000005b0 call  0x000003fa 
+ 00001013  0x000005b1 arg  0x00001900 , 0x00000006 
+ 00001014  0x000005b2 call  0x000003fa 
+ 00001015  0x000005b3 arg  0x00001a00 , 0x00000006 
+ 00001016  0x000005b4 call  0x000003fa 
+ 00001017  0x000005b5 arg  0x00001b00 , 0x00000006 
+ 00001018  0x000005b7 arg  0x0000001b , 0x00000039 
+ 00001019  0x000005b8 branch  0x00007f01 
+ 00001020  0x000005bb arg  0x0000480a , 0x00000006 
+ 00001021  0x000005bc arg  0x00001800 , 0x00000005 
+ 00001022  0x000005bd call  0x000003fa 
+ 00001023  0x000005be arg  0x00001900 , 0x00000005 
+ 00001024  0x000005bf call  0x000003fa 
+ 00001025  0x000005c0 arg  0x00001a00 , 0x00000005 
+ 00001026  0x000005c1 call  0x000003fa 
+ 00001027  0x000005c2 arg  0x00001b00 , 0x00000005 
+ 00001028  0x000005c3 branch  0x000003fa 
+ 00001029  0x000005c6 call  0x00005892 
+ 00001030  0x000005c7 nrtn  0x00000034 
+ 00001031  0x000005c8 fetch  0x00000001 , 0x00004b61 
+ 00001032  0x000005c9 beq  0x000000ff , 0x0000040c 
+ 00001033  0x000005ca fetch  0x00000001 , 0x000046c5 
+ 00001034  0x000005cb and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001035  0x000005cc rtnne  0x00000003 
+ 00001036  0x000005ce fetch  0x00000001 , 0x0000479c 
+ 00001037  0x000005cf call  0x00000459 , 0x00000034 
+ 00001038  0x000005d0 fetch  0x00000004 , 0x000046d3 
+ 00001039  0x000005d1 bbit1  0x00000005 , 0x00004179 
+ 00001040  0x000005d2 call  0x00003f97 
+ 00001041  0x000005d3 nrtn  0x00000028 
+ 00001042  0x000005d4 call  0x00000326 
+ 00001043  0x000005d5 call  0x00000329 
+ 00001044  0x000005d6 call  0x0000042f 
+ 00001045  0x000005d8 arg  0x0000469a , 0x00000011 
+ 00001046  0x000005d9 call  0x00007e3d 
+ 00001047  0x000005da call  0x0000041e , 0x00000028 
+ 00001048  0x000005db rtn 
+ 00001049  0x000005de jam  0x00000007 , 0x000047a0 
+ 00001050  0x000005df jam  0x00000004 , 0x000047a1 
+ 00001051  0x000005e0 setarg  0x000047a0 
+ 00001052  0x000005e1 store  0x00000002 , 0x00004218 
+ 00001053  0x000005e2 branch  0x00007e38 
+ 00001054  0x000005e5 fetch  0x00000001 , 0x000047c1 
+ 00001055  0x000005e6 increase  0x00000001 , 0x0000003f 
+ 00001056  0x000005e7 store  0x00000001 , 0x000047c1 
+ 00001057  0x000005e8 rtn 
+ 00001058  0x000005eb arg  0x0000469a , 0x00000011 
+ 00001059  0x000005ec call  0x00007e54 
+ 00001060  0x000005ed branch  0x00000426 , 0x00000028 
+ 00001061  0x000005ee rtn 
+ 00001062  0x000005f1 call  0x00005652 
+ 00001063  0x000005f2 fetch  0x00000001 , 0x000047c1 
+ 00001064  0x000005f3 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00001065  0x000005f4 ncall  0x00005650 , 0x00000002 
+ 00001066  0x000005f5 fetch  0x00000001 , 0x000047c1 
+ 00001067  0x000005f6 rtn  0x00000034 
+ 00001068  0x000005f7 increase  0xffffffff , 0x0000003f 
+ 00001069  0x000005f8 store  0x00000001 , 0x000047c1 
+ 00001070  0x000005f9 branch  0x00003f90 
+ 00001071  0x00000600 fetch  0x00000002 , 0x0000469f 
+ 00001072  0x00000601 rtn  0x00000034 
+ 00001073  0x00000602 jam  0x00000001 , 0x00004806 
+ 00001074  0x00000603 jam  0x00000002 , 0x00004807 
+ 00001075  0x00000604 rtn 
+ 00001076  0x00000607 rtn  0x0000002e 
+ 00001077  0x00000608 fetch  0x00000001 , 0x000041e2 
+ 00001078  0x00000609 rtn  0x00000034 
+ 00001079  0x0000060a call  0x00005271 
+ 00001080  0x0000060b nrtn  0x00000034 
+ 00001081  0x0000060c fetch  0x00000001 , 0x0000479c 
+ 00001082  0x0000060d call  0x00000459 , 0x00000034 
+ 00001083  0x0000060e fetch  0x00000004 , 0x000046d3 
+ 00001084  0x0000060f bbit1  0x00000005 , 0x00003f8a 
+ 00001085  0x00000610 bbit1  0x00000009 , 0x00003f8a 
+ 00001086  0x00000611 call  0x00003f97 
+ 00001087  0x00000612 nrtn  0x00000028 
+ 00001088  0x00000613 call  0x00000326 
+ 00001089  0x00000614 call  0x00000329 
+ 00001090  0x00000615 call  0x0000042f 
+ 00001091  0x00000616 fetch  0x00000001 , 0x00004b03 
+ 00001092  0x00000617 beq  0x00000001 , 0x00000448 
+ 00001093  0x00000618 fetch  0x00000001 , 0x00004b0a 
+ 00001094  0x00000619 rtn  0x00000034 
+ 00001095  0x0000061a branch  0x00003f81 
+ 00001096  0x0000061d fetch  0x00000001 , 0x0000469a 
+ 00001097  0x0000061e store  0x00000001 , 0x00004b04 
+ 00001098  0x0000061f fetch  0x00000001 , 0x0000469b 
+ 00001099  0x00000620 istore  0x00000001 , 0x00000005 
+ 00001100  0x00000621 fetch  0x00000001 , 0x0000469d 
+ 00001101  0x00000622 istore  0x00000001 , 0x00000005 
+ 00001102  0x00000623 fetch  0x00000002 , 0x0000469f 
+ 00001103  0x00000624 istore  0x00000002 , 0x00000005 
+ 00001104  0x00000626 arg  0x00000007 , 0x00000011 
+ 00001105  0x00000627 call  0x00004d63 
+ 00001106  0x00000628 fetch  0x00000002 , 0x0000424e 
+ 00001107  0x00000629 istore  0x00000002 , 0x00000005 
+ 00001108  0x0000062a setarg  0x000002a1 
+ 00001109  0x0000062b istore  0x00000002 , 0x00000005 
+ 00001110  0x0000062c fetch  0x00000005 , 0x00004b04 
+ 00001111  0x0000062d istore  0x00000005 , 0x00000005 
+ 00001112  0x0000062e rtn 
+ 00001113  0x00000631 jam  0x00000001 , 0x0000479c 
+ 00001114  0x00000632 call  0x00005814 
+ 00001115  0x00000633 branch  0x0000031d 
+ 00001116  0x0000063b call  0x00007e34 
+ 00001117  0x0000063c call  0x0000045f 
+ 00001118  0x0000063d branch  0x00003ee0 
+ 00001119  0x00000641 fetcht  0x00000001 , 0x000046e7 
+ 00001120  0x00000642 call  0x000005bf 
+ 00001121  0x00000643 call  0x00000464 
+ 00001122  0x00000644 fetcht  0x00000001 , 0x000046e7 
+ 00001123  0x00000645 branch  0x000005c8 
+ 00001124  0x00000648 fetcht  0x00000001 , 0x000046e7 
+ 00001125  0x00000649 call  0x0000681d 
+ 00001126  0x0000064a branch  0x00003d62 , 0x00000001 
+ 00001127  0x0000064c fetch  0x00000001 , 0x000046b6 
+ 00001128  0x0000064d rtneq  0x00000000 
+ 00001129  0x0000064e jam  0x00000000 , 0x000046b6 
+ 00001130  0x0000064f fetch  0x00000001 , 0x0000477a 
+ 00001131  0x00000650 increase  0x00000001 , 0x0000003f 
+ 00001132  0x00000651 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00001133  0x00000652 ncall  0x00007fef , 0x00000002 
+ 00001134  0x00000654 store  0x00000001 , 0x0000477a 
+ 00001135  0x00000655 call  0x00003d7e 
+ 00001136  0x0000065f branch  0x00000358 
+ 00001137  0x00000662 copy  0x00000013 , 0x0000003f 
+ 00001138  0x00000663 beq  0x00000014 , 0x00000482 
+ 00001139  0x00000664 beq  0x00000015 , 0x00000485 
+ 00001140  0x00000665 beq  0x00000029 , 0x00000489 
+ 00001141  0x00000666 beq  0x00000032 , 0x0000048b 
+ 00001142  0x00000667 beq  0x00000040 , 0x0000048d 
+ 00001143  0x00000668 beq  0x00000004 , 0x0000048f 
+ 00001144  0x00000669 beq  0x00000013 , 0x0000048f 
+ 00001145  0x0000066b beq  0x00000019 , 0x000033df 
+ 00001146  0x0000066c beq  0x00000021 , 0x00000493 
+ 00001147  0x0000066d beq  0x00000001 , 0x00000495 
+ 00001148  0x0000066e beq  0x00000002 , 0x00000498 
+ 00001149  0x0000066f beq  0x0000002b , 0x0000049b 
+ 00001150  0x00000670 beq  0x00000039 , 0x0000049d 
+ 00001151  0x00000671 beq  0x0000003a , 0x000004a0 
+ 00001152  0x00000672 beq  0x0000003c , 0x000004a4 
+ 00001153  0x00000673 branch  0x0000417d 
+ 00001154  0x00000676 call  0x0000031d 
+ 00001155  0x00000677 jam  0x000000b0 , 0x000011c5 
+ 00001156  0x00000678 branch  0x000007b3 
+ 00001157  0x0000067b jam  0x00000000 , 0x00004b68 
+ 00001158  0x0000067c call  0x000004a9 
+ 00001159  0x0000067d jam  0x000000a2 , 0x000011c5 
+ 00001160  0x0000067e branch  0x000007b3 
+ 00001161  0x00000682 jam  0x00000012 , 0x00000a99 
+ 00001162  0x00000683 branch  0x00007d8f 
+ 00001163  0x00000686 jam  0x000000b3 , 0x000011c5 
+ 00001164  0x00000687 branch  0x000007b3 
+ 00001165  0x0000068a jam  0x000000a1 , 0x000011c5 
+ 00001166  0x0000068b branch  0x000007b3 
+ 00001167  0x00000690 jam  0x000000a3 , 0x000011c5 
+ 00001168  0x00000691 branch  0x000007b3 
+ 00001169  0x00000694 call  0x0000438e 
+ 00001170  0x00000695 branch  0x000033a7 
+ 00001171  0x00000698 jam  0x000000b1 , 0x000011c5 
+ 00001172  0x00000699 branch  0x000007b3 
+ 00001173  0x0000069c jam  0x00000000 , 0x00004809 
+ 00001174  0x0000069d call  0x0000031d 
+ 00001175  0x0000069e branch  0x000042ca 
+ 00001176  0x000006a1 call  0x000004a9 
+ 00001177  0x000006a2 jam  0x000000b4 , 0x000011c5 
+ 00001178  0x000006a3 branch  0x000007b3 
+ 00001179  0x000006a6 jam  0x000000b2 , 0x000011c5 
+ 00001180  0x000006a7 branch  0x000007b3 
+ 00001181  0x000006aa call  0x0000031d 
+ 00001182  0x000006ab jam  0x00000092 , 0x000011c5 
+ 00001183  0x000006ac branch  0x000007b3 
+ 00001184  0x000006af call  0x000004a9 
+ 00001185  0x000006b0 jam  0x00000000 , 0x00004b56 
+ 00001186  0x000006b1 jam  0x00000051 , 0x000011c5 
+ 00001187  0x000006b2 branch  0x000007b3 
+ 00001188  0x000006b6 call  0x0000031d 
+ 00001189  0x000006b8 branch  0x00003f8d 
+ 00001190  0x000006bb call  0x000004a9 
+ 00001191  0x000006bc jam  0x000000a4 , 0x000011c5 
+ 00001192  0x000006bd branch  0x000007b3 
+ 00001193  0x000006c0 fetch  0x00000001 , 0x00004afe 
+ 00001194  0x000006c1 rtn  0x00000034 
+ 00001195  0x000006c2 jam  0x00000000 , 0x00004afe 
+ 00001196  0x000006c3 branch  0x00000335 
+ 00001197  0x000006c7 call  0x0000053c 
+ 00001198  0x000006c8 call  0x000004be 
+ 00001199  0x000006c9 call  0x000004e5 
+ 00001200  0x000006cb call  0x00000509 
+ 00001201  0x000006cc call  0x00004234 
+ 00001202  0x000006cd call  0x0000423a 
+ 00001203  0x000006ce call  0x000004ea 
+ 00001204  0x000006cf call  0x000004f0 
+ 00001205  0x000006d0 call  0x00004237 
+ 00001206  0x000006d1 call  0x000004da 
+ 00001207  0x000006d2 call  0x000004dd 
+ 00001208  0x000006d3 call  0x000004d2 
+ 00001209  0x000006d4 call  0x00004231 
+ 00001210  0x000006d5 call  0x000004d5 
+ 00001211  0x000006d6 call  0x000003c1 
+ 00001212  0x000006d7 call  0x000003b6 
+ 00001213  0x000006d8 branch  0x000003c9 
+ 00001214  0x000006db fetch  0x00000004 , 0x000046d3 
+ 00001215  0x000006dc rtnbit0  0x00000004 
+ 00001216  0x000006dd fetch  0x00000001 , 0x000046ae 
+ 00001217  0x000006de nbranch  0x000003d5 , 0x00000034 
+ 00001218  0x000006df fetch  0x00000001 , 0x000046ac 
+ 00001219  0x000006e0 nbranch  0x000003d5 , 0x00000034 
+ 00001220  0x000006e1 fetch  0x00000001 , 0x00004b50 
+ 00001221  0x000006e2 nbranch  0x000003d5 , 0x00000034 
+ 00001222  0x000006e3 fetch  0x00000001 , 0x000046cf 
+ 00001223  0x000006e4 pincrease  0x00000001 
+ 00001224  0x000006e5 store  0x00000001 , 0x000046cf 
+ 00001225  0x000006e6 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00001226  0x000006e7 ncall  0x000004d0 , 0x00000002 
+ 00001227  0x000006e8 beq  0x00000002 , 0x000003d8 
+ 00001228  0x000006e9 beq  0x00000004 , 0x000003d5 
+ 00001229  0x000006ea beq  0x00000006 , 0x000003d8 
+ 00001230  0x000006eb beq  0x00000008 , 0x000003d5 
+ 00001231  0x000006ec rtn 
+ 00001232  0x000006ee jam  0x00000001 , 0x000046cf 
+ 00001233  0x000006ef branch  0x000003d5 
+ 00001234  0x000006f2 arg  0x00004809 , 0x00000013 
+ 00001235  0x000006f3 arg  0x0000637a , 0x00000012 
+ 00001236  0x000006f4 branch  0x0000336d 
+ 00001237  0x000006f7 arg  0x00004b09 , 0x00000013 
+ 00001238  0x000006f8 arg  0x000004d8 , 0x00000012 
+ 00001239  0x000006f9 branch  0x0000336d 
+ 00001240  0x000006fb jam  0x00000001 , 0x00004b0a 
+ 00001241  0x000006fc rtn 
+ 00001242  0x00000700 arg  0x000046c6 , 0x00000013 
+ 00001243  0x00000701 arg  0x00003d60 , 0x00000012 
+ 00001244  0x00000702 branch  0x0000336d 
+ 00001245  0x00000704 fetch  0x00000001 , 0x00004b61 
+ 00001246  0x00000705 rtnne  0x000000ff 
+ 00001247  0x00000706 fetch  0x00000001 , 0x00004b68 
+ 00001248  0x00000707 nrtn  0x00000034 
+ 00001249  0x00000708 arg  0x00004b69 , 0x00000013 
+ 00001250  0x00000709 arg  0x000004e4 , 0x00000012 
+ 00001251  0x0000070a branch  0x0000336d 
+ 00001252  0x0000070d branch  0x000005d3 
+ 00001253  0x00000710 arg  0x00004807 , 0x00000013 
+ 00001254  0x00000711 arg  0x000004e8 , 0x00000012 
+ 00001255  0x00000712 branch  0x0000336d 
+ 00001256  0x00000714 jam  0x00000000 , 0x00004806 
+ 00001257  0x00000715 rtn 
+ 00001258  0x00000718 arg  0x00004b6b , 0x00000013 
+ 00001259  0x00000719 arg  0x000004ed , 0x00000012 
+ 00001260  0x0000071a branch  0x0000336d 
+ 00001261  0x0000071c fetch  0x00000001 , 0x000047c5 
+ 00001262  0x0000071d store  0x00000001 , 0x00004172 
+ 00001263  0x0000071e branch  0x000004f5 
+ 00001264  0x00000721 arg  0x00004b6c , 0x00000013 
+ 00001265  0x00000722 arg  0x000004f3 , 0x00000012 
+ 00001266  0x00000723 branch  0x0000336d 
+ 00001267  0x00000725 setarg  0x000ea600 
+ 00001268  0x00000726 store  0x00000003 , 0x00004c30 
+ 00001269  0x00000728 jam  0x00000001 , 0x00004b6a 
+ 00001270  0x00000729 rtn 
+ 00001271  0x00000740 arg  0x00004b44 , 0x00000013 
+ 00001272  0x00000741 arg  0x000004fa , 0x00000012 
+ 00001273  0x00000742 branch  0x0000336d 
+ 00001274  0x00000744 fetcht  0x00000001 , 0x00004720 
+ 00001275  0x00000745 fetch  0x00000001 , 0x00004703 
+ 00001276  0x00000746 isub  0x00000002 , 0x0000003e 
+ 00001277  0x00000747 rtn  0x00000005 
+ 00001278  0x00000748 fetch  0x00000002 , 0x00004682 
+ 00001279  0x00000749 isolate1  0x0000000b , 0x0000003f 
+ 00001280  0x0000074a call  0x000042d4 , 0x00000001 
+ 00001281  0x0000074b fetch  0x00000002 , 0x00004682 
+ 00001282  0x0000074c isolate1  0x00000007 , 0x0000003f 
+ 00001283  0x0000074d call  0x00004392 , 0x00000001 
+ 00001284  0x0000074e branch  0x000043b8 
+ 00001285  0x00000752 jam  0x00000001 , 0x00004b60 
+ 00001286  0x00000753 rtn 
+ 00001287  0x00000756 jam  0x00000000 , 0x00004b60 
+ 00001288  0x00000757 rtn 
+ 00001289  0x0000075b fetch  0x00000001 , 0x00004b60 
+ 00001290  0x0000075c branch  0x00000515 , 0x00000034 
+ 00001291  0x0000075e call  0x000004f7 
+ 00001292  0x0000075f fetch  0x00000001 , 0x000046d9 
+ 00001293  0x00000760 rtneq  0x00000000 
+ 00001294  0x00000761 fetch  0x00000002 , 0x000046a8 
+ 00001295  0x00000762 store  0x00000002 , 0x000046ae 
+ 00001296  0x00000763 force  0x00000003 , 0x00000007 
+ 00001297  0x00000764 fetch  0x00000002 , 0x000040b9 
+ 00001298  0x00000765 call  0x00007f08 
+ 00001299  0x00000766 jam  0x00000000 , 0x000046d9 
+ 00001300  0x00000767 rtn 
+ 00001301  0x0000076c fetch  0x00000001 , 0x000046d9 
+ 00001302  0x0000076d rtneq  0x00000001 
+ 00001303  0x0000076e fetch  0x00000001 , 0x00004b44 
+ 00001304  0x0000076f sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00001305  0x00000772 fetch  0x00000001 , 0x00004685 
+ 00001306  0x00000773 store  0x00000001 , 0x00004b44 
+ 00001307  0x00000774 jam  0x00000001 , 0x000046d9 
+ 00001308  0x00000776 rtn 
+ 00001309  0x00000779 fetcht  0x00000001 , 0x00004720 
+ 00001310  0x0000077a increase  0x00000001 , 0x00000002 
+ 00001311  0x0000077b fetch  0x00000001 , 0x000046d2 
+ 00001312  0x0000077c isub  0x00000002 , 0x0000003e 
+ 00001313  0x0000077d ncall  0x000043cc , 0x00000002 
+ 00001314  0x0000077e storet  0x00000001 , 0x00004720 
+ 00001315  0x0000077f jam  0x00000000 , 0x000041bd 
+ 00001316  0x00000780 call  0x00000358 
+ 00001317  0x00000783 fetch  0x00000004 , 0x000046d3 
+ 00001318  0x00000784 rtneq  0x00000009 
+ 00001319  0x00000785 branch  0x0000437e 
+ 00001320  0x000007a6 fetch  0x00000001 , 0x0000422d 
+ 00001321  0x000007a7 beq  0x00000002 , 0x0000052b 
+ 00001322  0x000007a8 branch  0x0000690a 
+ 00001323  0x000007ab fetch  0x00000002 , 0x00004223 
+ 00001324  0x000007ac fetcht  0x00000002 , 0x0000421d 
+ 00001325  0x000007ad arg  0x00000032 , 0x00000013 
+ 00001326  0x000007ae branch  0x0000052f 
+ 00001327  0x000007b1 isub  0x00000002 , 0x00000011 
+ 00001328  0x000007b2 fetch  0x00000002 , 0x0000422f 
+ 00001329  0x000007b3 isub  0x00000002 , 0x0000003f 
+ 00001330  0x000007b4 nbranch  0x00000534 , 0x00000002 
+ 00001331  0x000007b5 branch  0x0000691e 
+ 00001332  0x000007b8 copy  0x00000002 , 0x0000003f 
+ 00001333  0x000007b9 fetcht  0x00000002 , 0x0000422f 
+ 00001334  0x000007ba isub  0x00000002 , 0x0000003f 
+ 00001335  0x000007bb isub  0x00000011 , 0x0000003e 
+ 00001336  0x000007bc call  0x0000053a , 0x00000002 
+ 00001337  0x000007bd branch  0x0000692a 
+ 00001338  0x000007c0 copy  0x00000011 , 0x0000003f 
+ 00001339  0x000007c1 rtn 
+ 00001340  0x000007c4 fetch  0x00000001 , 0x000046ce 
+ 00001341  0x000007c5 increase  0x00000001 , 0x0000003f 
+ 00001342  0x000007c6 store  0x00000001 , 0x000046ce 
+ 00001343  0x000007c7 sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00001344  0x000007c8 nop  0x00000064 
+ 00001345  0x000007c9 call  0x0000054e , 0x00000002 
+ 00001346  0x000007ca ncall  0x00000552 , 0x00000002 
+ 00001347  0x000007cb call  0x000068a8 
+ 00001348  0x000007cc call  0x0000055d 
+ 00001349  0x000007cd call  0x00000528 
+ 00001350  0x000007ce store  0x00000002 , 0x0000470f 
+ 00001351  0x000007cf arg  0x00004709 , 0x00000011 
+ 00001352  0x000007d0 call  0x00000567 
+ 00001353  0x000007d1 fetch  0x00000001 , 0x00004231 
+ 00001354  0x000007d2 bbit1  0x00000002 , 0x00000505 
+ 00001355  0x000007d4 bbit0  0x00000000 , 0x00000555 
+ 00001356  0x000007d5 jam  0x00000001 , 0x00004afd 
+ 00001357  0x000007d6 branch  0x000043e7 
+ 00001358  0x000007d9 fetch  0x00000001 , 0x00004b49 
+ 00001359  0x000007da nbranch  0x00000552 , 0x00000034 
+ 00001360  0x000007db jam  0x00000002 , 0x0000422d 
+ 00001361  0x000007dc rtn 
+ 00001362  0x000007de jam  0x00000000 , 0x000046ce 
+ 00001363  0x000007df jam  0x00000000 , 0x0000422d 
+ 00001364  0x000007e0 rtn 
+ 00001365  0x000007e5 call  0x000043e9 
+ 00001366  0x000007e6 jam  0x0000000c , 0x000046cf 
+ 00001367  0x000007e7 fetch  0x00000001 , 0x00004afd 
+ 00001368  0x000007e8 rtn  0x00000034 
+ 00001369  0x000007e9 jam  0x00000000 , 0x00004afd 
+ 00001370  0x000007ea fetch  0x00000001 , 0x000046ef 
+ 00001371  0x000007eb store  0x00000001 , 0x00004715 
+ 00001372  0x000007ec branch  0x00004296 
+ 00001373  0x000007f0 fetch  0x00000001 , 0x0000422d 
+ 00001374  0x000007f1 beq  0x00000002 , 0x00000560 
+ 00001375  0x000007f2 branch  0x000068ec 
+ 00001376  0x000007f4 hfetch  0x00000001 , 0x0000807c 
+ 00001377  0x000007f5 set0  0x00000005 , 0x0000003f 
+ 00001378  0x000007f6 hstore  0x00000001 , 0x0000807c 
+ 00001379  0x000007f7 jam  0x0000008f , 0x00008971 
+ 00001380  0x000007f8 fetch  0x00000001 , 0x0000422e 
+ 00001381  0x000007f9 hstore  0x00000001 , 0x00008973 
+ 00001382  0x000007fa branch  0x000068f8 
+ 00001383  0x000007fe ifetch  0x00000008 , 0x00000011 
+ 00001384  0x000007ff store  0x00000008 , 0x00000a9a 
+ 00001385  0x00000800 fetch  0x00000001 , 0x0000422d 
+ 00001386  0x00000801 beq  0x00000002 , 0x00000578 
+ 00001387  0x00000802 beq  0x00000000 , 0x0000056c 
+ 00001388  0x00000804 fetch  0x00000002 , 0x00000aa0 
+ 00001389  0x00000805 fetcht  0x00000002 , 0x00000a9c 
+ 00001390  0x00000806 isub  0x00000002 , 0x0000003e 
+ 00001391  0x00000807 nbranch  0x00006944 , 0x00000002 
+ 00001392  0x00000808 call  0x0000057e 
+ 00001393  0x00000809 fetcht  0x00000002 , 0x00000a9e 
+ 00001394  0x0000080a isub  0x00000002 , 0x0000003e 
+ 00001395  0x0000080b nbranch  0x00006940 , 0x00000002 
+ 00001396  0x0000080d fetch  0x00000001 , 0x00004231 
+ 00001397  0x0000080e set0  0x00000000 , 0x0000003f 
+ 00001398  0x0000080f store  0x00000001 , 0x00004231 
+ 00001399  0x00000810 rtn 
+ 00001400  0x00000812 fetcht  0x00000002 , 0x00004b5e 
+ 00001401  0x00000813 fetch  0x00000002 , 0x00000aa0 
+ 00001402  0x00000814 isub  0x00000002 , 0x0000003e 
+ 00001403  0x00000815 nbranch  0x00000582 , 0x00000002 
+ 00001404  0x00000816 call  0x00000507 
+ 00001405  0x00000817 branch  0x00000586 
+ 00001406  0x0000081b fetcht  0x00000001 , 0x00004231 
+ 00001407  0x0000081c set0  0x00000001 , 0x00000002 
+ 00001408  0x0000081d storet  0x00000001 , 0x00004231 
+ 00001409  0x0000081e rtn 
+ 00001410  0x00000820 fetcht  0x00000001 , 0x00004231 
+ 00001411  0x00000821 set1  0x00000002 , 0x00000002 
+ 00001412  0x00000822 storet  0x00000001 , 0x00004231 
+ 00001413  0x00000823 rtn 
+ 00001414  0x00000826 fetcht  0x00000001 , 0x00004231 
+ 00001415  0x00000827 set0  0x00000002 , 0x00000002 
+ 00001416  0x00000828 storet  0x00000001 , 0x00004231 
+ 00001417  0x00000829 rtn 
+ 00001418  0x0000082d disable  0x00000028 
+ 00001419  0x0000082e setarg  0x00000000 
+ 00001420  0x0000082f store  0x00000006 , 0x0000469b 
+ 00001421  0x00000830 call  0x00003fb5 
+ 00001422  0x00000831 call  0x00004079 
+ 00001423  0x00000832 call  0x0000407e 
+ 00001424  0x00000833 call  0x00000593 
+ 00001425  0x00000836 nrtn  0x00000028 
+ 00001426  0x00000837 branch  0x00003fa0 
+ 00001427  0x0000083b call  0x00000595 
+ 00001428  0x0000083c branch  0x0000409a 
+ 00001429  0x0000083f arg  0x00000000 , 0x00000011 
+ 00001430  0x00000840 call  0x0000059f 
+ 00001431  0x00000841 call  0x000005a5 
+ 00001432  0x00000842 call  0x000005ab 
+ 00001433  0x00000843 call  0x0000059b 
+ 00001434  0x00000844 branch  0x0000408e 
+ 00001435  0x00000846 fetch  0x00000001 , 0x000046e5 
+ 00001436  0x00000847 rtneq  0x000000ff 
+ 00001437  0x00000848 call  0x000005b1 
+ 00001438  0x00000849 branch  0x000005b7 
+ 00001439  0x0000084c fetcht  0x00000001 , 0x000046e2 
+ 00001440  0x0000084d call  0x000005c8 
+ 00001441  0x0000084e fetcht  0x00000001 , 0x000046e2 
+ 00001442  0x0000084f call  0x0000681d 
+ 00001443  0x00000850 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00001444  0x00000851 rtn 
+ 00001445  0x00000853 fetcht  0x00000001 , 0x000046e3 
+ 00001446  0x00000854 call  0x000005c8 
+ 00001447  0x00000855 fetcht  0x00000001 , 0x000046e3 
+ 00001448  0x00000856 call  0x0000681d 
+ 00001449  0x00000857 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00001450  0x00000858 rtn 
+ 00001451  0x0000085a fetcht  0x00000001 , 0x000046e4 
+ 00001452  0x0000085b call  0x000005c8 
+ 00001453  0x0000085c fetcht  0x00000001 , 0x000046e4 
+ 00001454  0x0000085d call  0x0000681d 
+ 00001455  0x0000085e setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00001456  0x0000085f rtn 
+ 00001457  0x00000861 fetcht  0x00000001 , 0x000046e5 
+ 00001458  0x00000862 call  0x000005bf 
+ 00001459  0x00000863 fetcht  0x00000001 , 0x000046e5 
+ 00001460  0x00000864 call  0x0000681d 
+ 00001461  0x00000865 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00001462  0x00000866 branch  0x000005c8 
+ 00001463  0x00000868 fetcht  0x00000001 , 0x000046e6 
+ 00001464  0x00000869 call  0x000005bf 
+ 00001465  0x0000086a fetcht  0x00000001 , 0x000046e6 
+ 00001466  0x0000086b call  0x0000681d 
+ 00001467  0x0000086c nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00001468  0x0000086d branch  0x000005c8 
+ 00001469  0x00000871 set0  0x00000007 , 0x00000002 
+ 00001470  0x00000872 branch  0x00006806 
+ 00001471  0x00000875 set0  0x00000007 , 0x00000002 
+ 00001472  0x00000876 arg  0x00008078 , 0x00000005 
+ 00001473  0x00000877 call  0x00006830 
+ 00001474  0x00000878 set1  0x00000007 , 0x00000002 
+ 00001475  0x0000087a arg  0x0000807c , 0x00000005 
+ 00001476  0x0000087b call  0x00006830 
+ 00001477  0x0000087c set0  0x00000007 , 0x00000002 
+ 00001478  0x0000087d arg  0x00008070 , 0x00000005 
+ 00001479  0x0000087e branch  0x00006830 
+ 00001480  0x00000881 set1  0x00000007 , 0x00000002 
+ 00001481  0x00000883 arg  0x00008078 , 0x00000005 
+ 00001482  0x00000884 call  0x00006830 
+ 00001483  0x00000885 set0  0x00000007 , 0x00000002 
+ 00001484  0x00000886 branch  0x000005c3 
+ 00001485  0x0000088a jam  0x00000000 , 0x00004b50 
+ 00001486  0x0000088b isolate1  0x00000026 , 0x00000000 
+ 00001487  0x0000088c call  0x000001cd , 0x00000001 
+ 00001488  0x0000088d branch  0x0000426d 
+ 00001489  0x00000890 jam  0x00000081 , 0x000011c5 
+ 00001490  0x00000891 branch  0x000007b3 
+ 00001491  0x00000894 jam  0x00000000 , 0x00004b5c 
+ 00001492  0x00000895 jam  0x00000050 , 0x000011c5 
+ 00001493  0x00000896 branch  0x000007b3 
+ 00001494  0x0000089b arg  0x0000437b , 0x00000005 
+ 00001495  0x0000089c arg  0x00000013 , 0x00000039 
+ 00001496  0x0000089d call  0x00007f01 
+ 00001497  0x0000089e branch  0x000057b8 
+ 00001498  0x000008a1 setarg  0x00000000 
+ 00001499  0x000008a2 store  0x00000002 , 0x000046ac 
+ 00001500  0x000008a3 store  0x00000001 , 0x00004b5b 
+ 00001501  0x000008a4 store  0x00000001 , 0x00004714 
+ 00001502  0x000008a5 store  0x00000001 , 0x00004b5c 
+ 00001503  0x000008a6 jam  0x00000005 , 0x00004b47 
+ 00001504  0x000008a7 call  0x000003e5 
+ 00001505  0x000008a8 call  0x0000032e 
+ 00001506  0x000008a9 branch  0x000042cb 
+ 00001507  0x000008ac fetch  0x00000001 , 0x0000450f 
+ 00001508  0x000008ad pincrease  0x00000001 
+ 00001509  0x000008ae store  0x00000001 , 0x0000450f 
+ 00001510  0x000008af beq  0x0000000c , 0x00005395 
+ 00001511  0x000008b0 call  0x000055aa 
+ 00001512  0x000008b1 call  0x0000561e 
+ 00001513  0x000008b2 call  0x00000756 
+ 00001514  0x000008b3 branch  0x0000538f 
+ 00001515  0x000008b6 fetch  0x00000001 , 0x00000016 
+ 00001516  0x000008b7 increase  0x00000001 , 0x0000003f 
+ 00001517  0x000008b8 store  0x00000001 , 0x00000016 
+ 00001518  0x000008b9 rtnne  0x00000028 
+ 00001519  0x000008ba jam  0x00000025 , 0x00000016 
+ 00001520  0x000008bb rtn 
+ 00001521  0x000008be call  0x000029bb 
+ 00001522  0x000008bf call  0x0000006b 
+ 00001523  0x000008c0 branch  0x000054a3 
+ 00001524  0x000008c3 jam  0x00000040 , 0x000011c5 
+ 00001525  0x000008c4 branch  0x000007b3 
+ 00001526  0x000008c7 jam  0x00000041 , 0x000011c5 
+ 00001527  0x000008c8 branch  0x000007b3 
+ 00001528  0x000008cb fetch  0x00000001 , 0x00000456 
+ 00001529  0x000008cc bbit1  0x00000005 , 0x0000060c 
+ 00001530  0x000008cd call  0x00000748 
+ 00001531  0x000008ce fetch  0x00000001 , 0x0000478e 
+ 00001532  0x000008cf nbranch  0x00000602 , 0x00000034 
+ 00001533  0x000008d0 fetch  0x00000001 , 0x0000043f 
+ 00001534  0x000008d1 bbit0  0x00000004 , 0x00000606 
+ 00001535  0x000008d2 fetch  0x00000001 , 0x000002da 
+ 00001536  0x000008d3 branch  0x00000606 , 0x00000034 
+ 00001537  0x000008d4 branch  0x00005664 
+ 00001538  0x000008d6 fetch  0x00000001 , 0x0000478e 
+ 00001539  0x000008d7 increase  0xffffffff , 0x0000003f 
+ 00001540  0x000008d8 store  0x00000001 , 0x0000478e 
+ 00001541  0x000008d9 branch  0x00005664 
+ 00001542  0x000008db fetch  0x00000001 , 0x000044c4 
+ 00001543  0x000008dc bne  0x00000005 , 0x00000609 
+ 00001544  0x000008dd jam  0x00000003 , 0x0000478e 
+ 00001545  0x000008df call  0x00005892 
+ 00001546  0x000008e0 call  0x00000422 , 0x00000034 
+ 00001547  0x000008e1 branch  0x00005622 
+ 00001548  0x000008e4 call  0x0000060e 
+ 00001549  0x000008e5 branch  0x0000061a 
+ 00001550  0x000008e8 fetch  0x00000001 , 0x000046c5 
+ 00001551  0x000008e9 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001552  0x000008ea rtnne  0x00000003 
+ 00001553  0x000008eb fetch  0x00000001 , 0x000047c1 
+ 00001554  0x000008ec rtn  0x00000034 
+ 00001555  0x000008ed fetch  0x00000001 , 0x000043dd 
+ 00001556  0x000008ee rtn  0x00000034 
+ 00001557  0x000008ef fetch  0x00000001 , 0x000043dc 
+ 00001558  0x000008f0 set1  0x00000004 , 0x0000003f 
+ 00001559  0x000008f1 store  0x00000001 , 0x000043dc 
+ 00001560  0x000008f2 call  0x00005650 
+ 00001561  0x000008f3 rtn 
+ 00001562  0x000008f8 branch  0x0000074c 
+ 00001563  0x000008fb fetch  0x00000001 , 0x0000479f 
+ 00001564  0x000008fc rtn  0x00000034 
+ 00001565  0x000008fd fetch  0x00000001 , 0x000046c5 
+ 00001566  0x000008fe and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001567  0x000008ff rtneq  0x00000003 
+ 00001568  0x00000900 jam  0x00000001 , 0x000046c6 
+ 00001569  0x00000901 rtn 
+ 00001570  0x00000904 rtnmark1  0x0000000f 
+ 00001571  0x00000905 call  0x00005890 
+ 00001572  0x00000906 nrtn  0x00000034 
+ 00001573  0x00000907 fetch  0x00000001 , 0x000002d9 
+ 00001574  0x00000908 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001575  0x00000909 store  0x00000001 , 0x0000450c 
+ 00001576  0x0000090a ifetch  0x00000001 , 0x00000006 
+ 00001577  0x0000090b and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00001578  0x0000090c store  0x00000001 , 0x0000450b 
+ 00001579  0x0000090d rtn  0x00000034 
+ 00001580  0x0000090e copy  0x00000006 , 0x0000003f 
+ 00001581  0x0000090f store  0x00000002 , 0x0000450d 
+ 00001582  0x00000910 fetch  0x00000001 , 0x0000450c 
+ 00001583  0x00000911 beq  0x00000003 , 0x00000631 
+ 00001584  0x00000912 branch  0x0000568d 
+ 00001585  0x00000914 fetch  0x00000001 , 0x000002db 
+ 00001586  0x00000915 beq  0x00000001 , 0x00000634 
+ 00001587  0x00000916 branch  0x00005c65 
+ 00001588  0x00000918 ifetch  0x00000005 , 0x00000006 
+ 00001589  0x00000919 store  0x00000005 , 0x000043ce 
+ 00001590  0x0000091a ifetch  0x00000002 , 0x00000006 
+ 00001591  0x0000091b store  0x00000002 , 0x0000045f 
+ 00001592  0x0000091c branch  0x00005c8a 
+ 00001593  0x0000091f ifetch  0x00000002 , 0x00000006 
+ 00001594  0x00000920 beq  0x00000004 , 0x0000063d 
+ 00001595  0x00000921 beq  0x00000006 , 0x0000066a 
+ 00001596  0x00000922 branch  0x00005698 
+ 00001597  0x00000924 call  0x00007ea5 
+ 00001598  0x00000925 call  0x0000061b 
+ 00001599  0x00000926 call  0x00007e9f 
+ 00001600  0x00000927 ifetch  0x00000003 , 0x00000006 
+ 00001601  0x00000928 store  0x00000003 , 0x00000477 
+ 00001602  0x00000929 beq  0x00000010 , 0x0000064c 
+ 00001603  0x0000092a rshift8  0x0000003f , 0x00000002 
+ 00001604  0x0000092b sub  0x00000002 , 0x00000024 , 0x0000003e 
+ 00001605  0x0000092c branch  0x0000065a , 0x00000002 
+ 00001606  0x0000092d arg  0x000047c6 , 0x00000002 
+ 00001607  0x0000092e storet  0x00000002 , 0x000044bc 
+ 00001608  0x0000092f call  0x000058ad 
+ 00001609  0x00000930 setarg  0x00008e7a 
+ 00001610  0x00000931 store  0x00000002 , 0x000044bc 
+ 00001611  0x00000932 rtn 
+ 00001612  0x00000935 call  0x000059fa 
+ 00001613  0x00000936 call  0x00005879 
+ 00001614  0x00000937 increase  0x00000007 , 0x00000006 
+ 00001615  0x00000938 ifetch  0x00000001 , 0x00000006 
+ 00001616  0x00000939 rtnne  0x00000011 
+ 00001617  0x0000093a increase  0x00000005 , 0x00000006 
+ 00001618  0x0000093b ifetch  0x00000002 , 0x00000006 
+ 00001619  0x0000093c arg  0x00001812 , 0x00000002 
+ 00001620  0x0000093d isub  0x00000002 , 0x0000003e 
+ 00001621  0x0000093e nrtn  0x00000005 
+ 00001622  0x0000093f increase  0xfffffffc , 0x00000006 
+ 00001623  0x00000940 setarg  0x0000002b 
+ 00001624  0x00000941 istore  0x00000002 , 0x00000006 
+ 00001625  0x00000942 rtn 
+ 00001626  0x00000946 beq  0x0000000a , 0x0000065c 
+ 00001627  0x00000947 branch  0x000058ad 
+ 00001628  0x00000949 fetcht  0x00000002 , 0x00000478 
+ 00001629  0x0000094a fetch  0x00000001 , 0x000044e9 
+ 00001630  0x0000094b bbit1  0x00000003 , 0x00000663 
+ 00001631  0x00000955 fetch  0x00000002 , 0x00000478 
+ 00001632  0x00000956 beq  0x00000013 , 0x00005a76 
+ 00001633  0x00000958 fetcht  0x00000002 , 0x00000478 
+ 00001634  0x00000959 branch  0x000059bf 
+ 00001635  0x00000968 fetch  0x00000002 , 0x000044fa 
+ 00001636  0x00000969 isub  0x00000002 , 0x0000003e 
+ 00001637  0x0000096a nbranch  0x0000065f , 0x00000005 
+ 00001638  0x0000096b call  0x00005a42 
+ 00001639  0x0000096c nbranch  0x0000065f , 0x00000028 
+ 00001640  0x0000096d jam  0x00000005 , 0x0000047a 
+ 00001641  0x0000096e branch  0x00005a77 
+ 00001642  0x00000973 ifetch  0x00000001 , 0x00000006 
+ 00001643  0x00000974 beq  0x00000005 , 0x0000066d 
+ 00001644  0x00000975 branch  0x00005af5 
+ 00001645  0x00000977 jam  0x00000082 , 0x000011c5 
+ 00001646  0x00000978 branch  0x000007b3 
+ 00001647  0x0000097b fetch  0x00000001 , 0x00000016 
+ 00001648  0x0000097c bne  0x00000027 , 0x000056f2 
+ 00001649  0x0000097d call  0x00000675 
+ 00001650  0x0000097e arg  0x00000000 , 0x00000007 
+ 00001651  0x0000097f fetch  0x00000002 , 0x00004482 
+ 00001652  0x00000980 branch  0x00007f08 
+ 00001653  0x00000982 random  0x0000003f 
+ 00001654  0x00000983 arg  0x000001ff , 0x00000002 
+ 00001655  0x00000984 iand  0x00000002 , 0x0000003f 
+ 00001656  0x00000985 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00001657  0x00000986 branch  0x00003cbe 
+ 00001658  0x00000989 disable  0x0000002b 
+ 00001659  0x0000098a branch  0x0000067d , 0x0000002e 
+ 00001660  0x0000098b nbranch  0x00005806 , 0x0000002d 
+ 00001661  0x0000098d call  0x00002bcb 
+ 00001662  0x0000098e fetch  0x00000002 , 0x000040c1 
+ 00001663  0x0000098f store  0x00000002 , 0x0000044d 
+ 00001664  0x00000990 fetch  0x00000001 , 0x000046c5 
+ 00001665  0x00000991 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00001666  0x00000992 nbranch  0x00002bde , 0x00000001 
+ 00001667  0x00000993 branch  0x000057fb 
+ 00001668  0x00000996 fetch  0x00000001 , 0x0000479f 
+ 00001669  0x00000997 nrtn  0x00000034 
+ 00001670  0x00000998 fetch  0x00000001 , 0x00000478 
+ 00001671  0x00000999 sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00001672  0x0000099a nrtn  0x00000005 
+ 00001673  0x0000099b branch  0x00003d60 
+ 00001674  0x0000099e hfetch  0x00000001 , 0x00008077 
+ 00001675  0x0000099f and_into  0x000000fd , 0x0000003f 
+ 00001676  0x000009a0 hstore  0x00000001 , 0x00008077 
+ 00001677  0x000009a1 hfetcht  0x00000001 , 0x00008073 
+ 00001678  0x000009a2 or_into  0x00000002 , 0x00000002 
+ 00001679  0x000009a3 hstoret  0x00000001 , 0x00008073 
+ 00001680  0x000009a4 call  0x000063ee 
+ 00001681  0x000009a5 and_into  0x000000fd , 0x00000002 
+ 00001682  0x000009a6 nop  0x0000000d 
+ 00001683  0x000009a7 call  0x00000697 
+ 00001684  0x000009a8 hstoret  0x00000001 , 0x00008073 
+ 00001685  0x000009a9 rtn 
+ 00001686  0x000009ac call  0x000064dd 
+ 00001687  0x000009ae hfetch  0x00000001 , 0x00008081 
+ 00001688  0x000009af set1  0x00000000 , 0x0000003f 
+ 00001689  0x000009b0 set0  0x00000001 , 0x0000003f 
+ 00001690  0x000009b1 set0  0x00000003 , 0x0000003f 
+ 00001691  0x000009b2 hstore  0x00000001 , 0x00008081 
+ 00001692  0x000009b3 rtn 
+ 00001693  0x000009b7 jam  0x00000000 , 0x000011c5 
+ 00001694  0x000009b8 branch  0x000007b3 
+ 00001695  0x000009bb call  0x000021c9 
+ 00001696  0x000009bc nrtn  0x00000028 
+ 00001697  0x000009be disable  0x00000028 
+ 00001698  0x000009bf jam  0x00000020 , 0x00000011 
+ 00001699  0x000009c0 set0  0x0000000b , 0x00000000 
+ 00001700  0x000009c1 set0  0x0000002d , 0x00000000 
+ 00001701  0x000009c3 call  0x00002a4f 
+ 00001702  0x000009c4 call  0x000022e6 
+ 00001703  0x000009c5 bmark1  0x0000000b , 0x000006ac 
+ 00001704  0x000009c6 call  0x00002455 
+ 00001705  0x000009c7 nbranch  0x000006a5 , 0x00000034 
+ 00001706  0x000009c8 bmark1  0x0000002d , 0x000006b4 
+ 00001707  0x000009c9 branch  0x000021ec 
+ 00001708  0x000009cc call  0x00002a4d 
+ 00001709  0x000009cd arg  0x00000010 , 0x00000001 
+ 00001710  0x000009ce call  0x000022dc 
+ 00001711  0x000009cf set1  0x0000002d , 0x00000000 
+ 00001712  0x000009d0 set0  0x0000000b , 0x00000000 
+ 00001713  0x000009d1 force  0x00000001 , 0x00000004 
+ 00001714  0x000009d2 jam  0x00000002 , 0x00000011 
+ 00001715  0x000009d3 branch  0x000006a5 
+ 00001716  0x000009d6 fetch  0x00000004 , 0x00000165 
+ 00001717  0x000009d7 pincrease  0x00000008 
+ 00001718  0x000009d8 store  0x00000004 , 0x00000165 
+ 00001719  0x000009d9 branch  0x000021f8 
+ 00001720  0x000009dc bmark1  0x0000002c , 0x0000264d 
+ 00001721  0x000009dd branch  0x0000258f 
+ 00001722  0x000009e0 call  0x000033af 
+ 00001723  0x000009e1 call  0x000026e9 
+ 00001724  0x000009e2 jam  0x00000002 , 0x00000a99 
+ 00001725  0x000009e3 call  0x00007d86 
+ 00001726  0x000009e4 call  0x00005cf7 
+ 00001727  0x000009e5 call  0x00004d6b 
+ 00001728  0x000009e6 branch  0x0000246e 
+ 00001729  0x000009e9 fetch  0x00000001 , 0x00000030 
+ 00001730  0x000009ea isolate1  0x00000000 , 0x0000003f 
+ 00001731  0x000009eb call  0x000006c5 , 0x00000001 
+ 00001732  0x000009ec branch  0x0000248a 
+ 00001733  0x000009ee fetch  0x00000001 , 0x00000047 
+ 00001734  0x000009ef isolate1  0x00000003 , 0x0000003f 
+ 00001735  0x000009f0 call  0x0000074c , 0x00000001 
+ 00001736  0x000009f1 ncall  0x00000748 , 0x00000001 
+ 00001737  0x000009f2 branch  0x00000756 
+ 00001738  0x000009f5 call  0x000024f0 
+ 00001739  0x000009f6 nbranch  0x000028f9 , 0x00000018 
+ 00001740  0x000009f7 call  0x000029bb 
+ 00001741  0x000009f8 call  0x0000006b 
+ 00001742  0x000009f9 branch  0x00002518 
+ 00001743  0x000009fc rtnmark1  0x00000026 
+ 00001744  0x000009fd call  0x00002afa 
+ 00001745  0x000009fe fetch  0x00000003 , 0x0000416f 
+ 00001746  0x000009ff rtn  0x00000034 
+ 00001747  0x00000a00 fetch  0x00000001 , 0x00004091 
+ 00001748  0x00000a01 rtn  0x00000034 
+ 00001749  0x00000a02 fetch  0x00000001 , 0x000046cf 
+ 00001750  0x00000a03 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00001751  0x00000a04 rtn  0x00000002 
+ 00001752  0x00000a05 fetch  0x00000001 , 0x0000465a 
+ 00001753  0x00000a06 branch  0x000006dc , 0x00000034 
+ 00001754  0x00000a07 fetch  0x00000001 , 0x000045b1 
+ 00001755  0x00000a08 rtn  0x00000034 
+ 00001756  0x00000a0a fetch  0x00000001 , 0x000044c0 
+ 00001757  0x00000a0b nrtn  0x00000034 
+ 00001758  0x00000a0c call  0x00002c3a 
+ 00001759  0x00000a0d nrtn  0x00000034 
+ 00001760  0x00000a0e fetch  0x00000001 , 0x00004040 
+ 00001761  0x00000a0f compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00001762  0x00000a10 nbranch  0x00002b9d , 0x00000001 
+ 00001763  0x00000a11 fetch  0x00000002 , 0x00004042 
+ 00001764  0x00000a12 arg  0x0000ffff , 0x00000002 
+ 00001765  0x00000a13 isub  0x00000002 , 0x0000003e 
+ 00001766  0x00000a14 rtn  0x00000005 
+ 00001767  0x00000a15 branch  0x00002b7d 
+ 00001768  0x00000a18 disable  0x0000002b 
+ 00001769  0x00000a19 fetch  0x00000001 , 0x00000030 
+ 00001770  0x00000a1a rtnbit0  0x00000001 
+ 00001771  0x00000a1b nbranch  0x00002bd0 , 0x0000002d 
+ 00001772  0x00000a1c call  0x00002bcb 
+ 00001773  0x00000a1d fetch  0x00000002 , 0x000040c1 
+ 00001774  0x00000a1e store  0x00000002 , 0x0000003e 
+ 00001775  0x00000a1f fetch  0x00000001 , 0x00000047 
+ 00001776  0x00000a20 bbit1  0x00000003 , 0x00002bde 
+ 00001777  0x00000a21 bmark0  0x0000000d , 0x00002bde 
+ 00001778  0x00000a22 call  0x00005274 
+ 00001779  0x00000a23 nbranch  0x00002bde , 0x00000034 
+ 00001780  0x00000a24 call  0x000006f6 , 0x00000034 
+ 00001781  0x00000a25 branch  0x00002bbe 
+ 00001782  0x00000a27 jam  0x00000001 , 0x0000008a 
+ 00001783  0x00000a28 jam  0x00000000 , 0x0000008b 
+ 00001784  0x00000a29 rtn 
+ 00001785  0x00000a2c jam  0x00000010 , 0x000011c5 
+ 00001786  0x00000a2d branch  0x000007b3 
+ 00001787  0x00000a30 jam  0x00000011 , 0x000011c5 
+ 00001788  0x00000a31 branch  0x000007b3 
+ 00001789  0x00000a34 fetch  0x00000001 , 0x00000552 
+ 00001790  0x00000a35 store  0x00000001 , 0x000004c9 
+ 00001791  0x00000a36 beq  0x00000013 , 0x00000701 
+ 00001792  0x00000a37 branch  0x00005db4 
+ 00001793  0x00000a39 call  0x00005dcf 
+ 00001794  0x00000a3a jam  0x00000001 , 0x00004aff 
+ 00001795  0x00000a3b fetch  0x00000001 , 0x00004b01 
+ 00001796  0x00000a3c rtn  0x00000034 
+ 00001797  0x00000a3d jam  0x00000002 , 0x00004b01 
+ 00001798  0x00000a3e rtn 
+ 00001799  0x00000a41 jam  0x00000020 , 0x000011c5 
+ 00001800  0x00000a42 branch  0x000007b3 
+ 00001801  0x00000a45 call  0x000062bc 
+ 00001802  0x00000a46 nrtn  0x00000034 
+ 00001803  0x00000a48 fetch  0x00000001 , 0x00000055 
+ 00001804  0x00000a49 rtn  0x00000034 
+ 00001805  0x00000a4a beq  0x00000004 , 0x0000072b 
+ 00001806  0x00000a4b beq  0x00000010 , 0x00000710 
+ 00001807  0x00000a4c branch  0x00006320 
+ 00001808  0x00000a4f fetch  0x00000001 , 0x0000455b 
+ 00001809  0x00000a50 rtneq  0x00000000 
+ 00001810  0x00000a51 beq  0x00000001 , 0x00000714 
+ 00001811  0x00000a52 branch  0x0000635f 
+ 00001812  0x00000a54 rtn  0x00000029 
+ 00001813  0x00000a57 fetch  0x00000001 , 0x0000016d 
+ 00001814  0x00000a58 bbit1  0x00000000 , 0x00000718 
+ 00001815  0x00000a59 branch  0x00006399 
+ 00001816  0x00000a5b fetch  0x00000001 , 0x00004b01 
+ 00001817  0x00000a5c beq  0x00000001 , 0x0000639d 
+ 00001818  0x00000a5e fetch  0x00000001 , 0x000041bd 
+ 00001819  0x00000a5f branch  0x000063a9 , 0x00000034 
+ 00001820  0x00000a60 fetch  0x00000001 , 0x000004d1 
+ 00001821  0x00000a61 rtnbit0  0x00000003 
+ 00001822  0x00000a62 rtnbit0  0x00000002 
+ 00001823  0x00000a63 fetch  0x00000001 , 0x00004b00 
+ 00001824  0x00000a64 rtn  0x00000034 
+ 00001825  0x00000a65 jam  0x00000000 , 0x00004b00 
+ 00001826  0x00000a66 fetch  0x00000004 , 0x000004e9 
+ 00001827  0x00000a67 arg  0x00000014 , 0x00000002 
+ 00001828  0x00000a68 iadd  0x00000002 , 0x00000002 
+ 00001829  0x00000a69 copy  0x00000022 , 0x0000003f 
+ 00001830  0x00000a6a isub  0x00000002 , 0x0000003e 
+ 00001831  0x00000a6b nbranch  0x00000729 , 0x00000002 
+ 00001832  0x00000a6c branch  0x00006349 
+ 00001833  0x00000a6f jam  0x00000001 , 0x00004b00 
+ 00001834  0x00000a70 rtn 
+ 00001835  0x00000a73 jam  0x00000014 , 0x00004809 
+ 00001836  0x00000a74 branch  0x0000636f 
+ 00001837  0x00000a7b call  0x000062bc 
+ 00001838  0x00000a7c nbranch  0x00007ddb , 0x00000034 
+ 00001839  0x00000a7d fetch  0x00000001 , 0x00000a99 
+ 00001840  0x00000a7e bmark0  0x00000009 , 0x00007dd6 
+ 00001841  0x00000a7f beq  0x0000001f , 0x00000738 
+ 00001842  0x00000a80 beq  0x00000020 , 0x0000073b 
+ 00001843  0x00000a81 beq  0x00000012 , 0x00000735 
+ 00001844  0x00000a82 branch  0x00007dca 
+ 00001845  0x00000a85 call  0x00005890 
+ 00001846  0x00000a86 nrtn  0x00000034 
+ 00001847  0x00000a87 branch  0x00005abf 
+ 00001848  0x00000a8a jam  0x00000034 , 0x00000185 
+ 00001849  0x00000a8b fetch  0x00000006 , 0x0000044f 
+ 00001850  0x00000a8c branch  0x0000073d 
+ 00001851  0x00000a8e jam  0x00000033 , 0x00000185 
+ 00001852  0x00000a8f fetch  0x00000006 , 0x00000040 
+ 00001853  0x00000a91 store  0x00000006 , 0x00000186 
+ 00001854  0x00000a93 fetch  0x00000004 , 0x000046d3 
+ 00001855  0x00000a94 rtnbit0  0x00000007 
+ 00001856  0x00000a95 arg  0x00000007 , 0x00000007 
+ 00001857  0x00000a96 call  0x000043d2 
+ 00001858  0x00000a97 call  0x000042e8 
+ 00001859  0x00000a99 call  0x000042fb 
+ 00001860  0x00000a9a branch  0x00000358 
+ 00001861  0x00000aa0 jam  0x00000001 , 0x00004d3d 
+ 00001862  0x00000aa1 jam  0x00000000 , 0x00004d3a 
+ 00001863  0x00000aa2 rtn 
+ 00001864  0x00000aa4 fetch  0x00000001 , 0x00004d3a 
+ 00001865  0x00000aa5 increase  0x00000001 , 0x0000003f 
+ 00001866  0x00000aa6 store  0x00000001 , 0x00004d3a 
+ 00001867  0x00000aa7 rtn 
+ 00001868  0x00000aa9 fetch  0x00000001 , 0x00004d3a 
+ 00001869  0x00000aaa sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001870  0x00000aab ncall  0x00000754 , 0x00000002 
+ 00001871  0x00000aac fetch  0x00000001 , 0x00004d3a 
+ 00001872  0x00000aad rtneq  0x00000000 
+ 00001873  0x00000aae increase  0xffffffff , 0x0000003f 
+ 00001874  0x00000aaf store  0x00000001 , 0x00004d3a 
+ 00001875  0x00000ab0 rtn 
+ 00001876  0x00000ab2 jam  0x00000003 , 0x00004d3a 
+ 00001877  0x00000ab3 rtn 
+ 00001878  0x00000ab6 fetch  0x00000002 , 0x00004682 
+ 00001879  0x00000ab7 rtnbit1  0x0000000b 
+ 00001880  0x00000ab8 rtnbit1  0x00000007 
+ 00001881  0x00000ab9 rtnbit1  0x00000006 
+ 00001882  0x00000abb arg  0x00004cc3 , 0x00000011 
+ 00001883  0x00000abc call  0x000002a8 
+ 00001884  0x00000abd storet  0x00000001 , 0x00004d3b 
+ 00001885  0x00000abf setarg  0x00000082 
+ 00001886  0x00000ac0 bmark1  0x00000026 , 0x00000760 
+ 00001887  0x00000ac1 setarg  0x00000080 
+ 00001888  0x00000ac3 isub  0x00000002 , 0x0000003e 
+ 00001889  0x00000ac4 nbranch  0x00000778 , 0x00000002 
+ 00001890  0x00000ac6 fetch  0x00000001 , 0x00004d3a 
+ 00001891  0x00000ac7 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001892  0x00000ac8 nbranch  0x00000768 , 0x00000002 
+ 00001893  0x00000ac9 fetch  0x00000001 , 0x00004d3a 
+ 00001894  0x00000aca beq  0x00000000 , 0x00000779 
+ 00001895  0x00000acb rtn 
+ 00001896  0x00000ace fetch  0x00000001 , 0x00004d3a 
+ 00001897  0x00000acf rtnne  0x00000020 
+ 00001898  0x00000ad0 jam  0x00000000 , 0x00004d3a 
+ 00001899  0x00000ad2 fetcht  0x00000001 , 0x00004d3b 
+ 00001900  0x00000ad3 setarg  0x00000077 
+ 00001901  0x00000ad4 bmark1  0x00000026 , 0x0000076f 
+ 00001902  0x00000ad5 setarg  0x00000075 
+ 00001903  0x00000ad7 isub  0x00000002 , 0x0000003e 
+ 00001904  0x00000ad8 nrtn  0x00000002 
+ 00001905  0x00000ad9 fetch  0x00000001 , 0x00004d3d 
+ 00001906  0x00000ada beq  0x00000000 , 0x00000780 
+ 00001907  0x00000adb increase  0xffffffff , 0x0000003f 
+ 00001908  0x00000adc store  0x00000001 , 0x00004d3d 
+ 00001909  0x00000add beq  0x00000000 , 0x00000780 
+ 00001910  0x00000ae0 jam  0x00000000 , 0x000041de 
+ 00001911  0x00000ae1 rtn 
+ 00001912  0x00000ae4 jam  0x00000000 , 0x00004d3a 
+ 00001913  0x00000ae6 fetch  0x00000001 , 0x00004d3d 
+ 00001914  0x00000ae7 beq  0x00000002 , 0x0000077e 
+ 00001915  0x00000ae8 increase  0x00000001 , 0x0000003f 
+ 00001916  0x00000ae9 store  0x00000001 , 0x00004d3d 
+ 00001917  0x00000aea beq  0x00000001 , 0x00000776 
+ 00001918  0x00000aec jam  0x00000002 , 0x000041de 
+ 00001919  0x00000aed rtn 
+ 00001920  0x00000af0 jam  0x00000004 , 0x000041de 
+ 00001921  0x00000af1 rtn 
+ 00001922  0x00000af5 storet  0x00000001 , 0x00000017 
+ 00001923  0x00000af6 add  0x00000002 , 0x00000000 , 0x00000011 
+ 00001924  0x00000af7 call  0x00002981 
+ 00001925  0x00000af8 setarg  0x00000500 
+ 00001926  0x00000af9 call  0x00002a8f 
+ 00001927  0x00000afb jam  0x00000001 , 0x00008906 
+ 00001928  0x00000afc jam  0x0000003c , 0x00008900 
+ 00001929  0x00000afd jam  0x000000e0 , 0x00008901 
+ 00001930  0x00000afe nop  0x0000000a 
+ 00001931  0x00000aff jam  0x00000001 , 0x00008902 
+ 00001932  0x00000b00 jam  0x0000003d , 0x00008902 
+ 00001933  0x00000b01 nop  0x0000000a 
+ 00001934  0x00000b02 jam  0x000000b7 , 0x00008903 
+ 00001935  0x00000b03 nop  0x0000000a 
+ 00001936  0x00000b04 jam  0x0000007d , 0x00008902 
+ 00001937  0x00000b05 fetch  0x00000001 , 0x000041de 
+ 00001938  0x00000b08 beq  0x00000002 , 0x0000079a 
+ 00001939  0x00000b0a beq  0x00000004 , 0x0000079f 
+ 00001940  0x00000b0b beq  0x00000020 , 0x000007ae 
+ 00001941  0x00000b0e call  0x000007a4 
+ 00001942  0x00000b10 jam  0x000000d0 , 0x00008955 
+ 00001943  0x00000b11 jam  0x000000e0 , 0x00008956 
+ 00001944  0x00000b13 jam  0x0000006c , 0x00008958 
+ 00001945  0x00000b15 branch  0x0000294b 
+ 00001946  0x00000b22 call  0x000007a9 
+ 00001947  0x00000b24 jam  0x000000d0 , 0x00008955 
+ 00001948  0x00000b25 jam  0x000000e0 , 0x00008956 
+ 00001949  0x00000b27 jam  0x0000003c , 0x00008958 
+ 00001950  0x00000b29 branch  0x00002953 
+ 00001951  0x00000b36 call  0x000007a4 
+ 00001952  0x00000b38 jam  0x000000d0 , 0x00008955 
+ 00001953  0x00000b39 jam  0x000000c0 , 0x00008956 
+ 00001954  0x00000b3b jam  0x0000006c , 0x00008958 
+ 00001955  0x00000b3d branch  0x0000295b 
+ 00001956  0x00000b40 jam  0x0000005b , 0x0000894c 
+ 00001957  0x00000b41 jam  0x00000096 , 0x0000894d 
+ 00001958  0x00000b42 jam  0x0000002c , 0x0000894e 
+ 00001959  0x00000b43 jam  0x00000046 , 0x0000894f 
+ 00001960  0x00000b44 rtn 
+ 00001961  0x00000b47 jam  0x000000fb , 0x0000894c 
+ 00001962  0x00000b48 jam  0x000000ef , 0x0000894d 
+ 00001963  0x00000b49 jam  0x000000ec , 0x0000894e 
+ 00001964  0x00000b4a jam  0x0000005e , 0x0000894f 
+ 00001965  0x00000b4b rtn 
+ 00001966  0x00000b4f jam  0x000000c2 , 0x00008956 
+ 00001967  0x00000b50 jam  0x000000d0 , 0x00008955 
+ 00001968  0x00000b51 rtn 
+ 00001969  0x00000b54 force  0x00000008 , 0x00000015 
+ 00001970  0x00000b55 branch  0x000028fa 
+ 00001971  0x00000b5a fetcht  0x00000001 , 0x000011c5 
+ 00001972  0x00000b5b rshift4  0x00000002 , 0x00000002 
+ 00001973  0x00000b5c fetch  0x00000001 , 0x00004b6d 
+ 00001974  0x00000b5d isub  0x00000002 , 0x0000003e 
+ 00001975  0x00000b5e branch  0x000007d2 , 0x00000005 
+ 00001976  0x00000b5f storet  0x00000001 , 0x00004b6d 
+ 00001977  0x00000b60 increase  0x00000001 , 0x00000002 
+ 00001978  0x00000b61 setarg  0x00000100 
+ 00001979  0x00000b62 imul32  0x00000002 , 0x00000002 
+ 00001980  0x00000b63 fetch  0x00000003 , 0x00004b6e 
+ 00001981  0x00000b64 isub  0x00000002 , 0x0000003f 
+ 00001982  0x00000b66 fetcht  0x00000003 , 0x00004b71 
+ 00001983  0x00000b67 iadd  0x00000002 , 0x0000003f 
+ 00001984  0x00000b68 increase  0xfffffffb , 0x0000003f 
+ 00001985  0x00000b69 store  0x00000003 , 0x00004b74 
+ 00001986  0x00000b6b call  0x000003aa 
+ 00001987  0x00000b6d fetch  0x00000003 , 0x00004b74 
+ 00001988  0x00000b6e arg  0x00000100 , 0x00000002 
+ 00001989  0x00000b6f arg  0x00001f00 , 0x00000011 
+ 00001990  0x00000b70 call  0x00006562 
+ 00001991  0x00000b71 fetch  0x00000004 , 0x00001f00 
+ 00001992  0x00000b72 fetcht  0x00000004 , 0x00004b77 
+ 00001993  0x00000b73 isub  0x00000002 , 0x0000003e 
+ 00001994  0x00000b74 nbranch  0x000007c3 , 0x00000005 
+ 00001995  0x00000b75 call  0x00000314 
+ 00001996  0x00000b77 setarg  0x00001f00 
+ 00001997  0x00000b78 store  0x00000002 , 0x00004199 
+ 00001998  0x00000b79 jam  0x00000040 , 0x0000419b 
+ 00001999  0x00000b7a call  0x000064ca 
+ 00002000  0x00000b7b setarg  0x00000000 
+ 00002001  0x00000b7c store  0x00000004 , 0x00004199 
+ 00002002  0x00000b7e fetch  0x00000001 , 0x000011c5 
+ 00002003  0x00000b7f branch  0x00000001 
+ 00008192  0x00000b90 call  0x00002abc 
+ 00008193  0x00000b93 bpatch  0x00000000 , 0x00004000 
+ 00008194  0x00000b94 clear_stack 
+ 00008195  0x00000b95 call  0x0000640d 
+ 00008196  0x00000b96 call  0x0000296c 
+ 00008197  0x00000b97 call  0x000065a3 
+ 00008198  0x00000b98 call  0x00002a96 
+ 00008199  0x00000b99 call  0x00004d6a 
+ 00008200  0x00000b9a bpatch  0x00000001 , 0x00004000 
+ 00008201  0x00000b9b call  0x00006a03 
+ 00008202  0x00000b9c call  0x00005cf6 
+ 00008203  0x00000b9d call  0x00007ccc 
+ 00008204  0x00000b9e call  0x000032d8 
+ 00008205  0x00000b9f ncall  0x0000689c , 0x0000002b 
+ 00008206  0x00000ba0 bpatch  0x00000002 , 0x00004000 
+ 00008207  0x00000ba1 call  0x000032e3 , 0x0000002b 
+ 00008208  0x00000ba2 call  0x0000756a 
+ 00008209  0x00000ba3 call  0x00002b41 , 0x0000002b 
+ 00008210  0x00000ba5 bpatch  0x00000003 , 0x00004000 
+ 00008211  0x00000ba6 call  0x000076dc 
+ 00008212  0x00000ba7 call  0x00007aaf 
+ 00008213  0x00000ba8 call  0x0000756d 
+ 00008214  0x00000ba9 call  0x0000535c 
+ 00008215  0x00000baa bpatch  0x00000004 , 0x00004000 
+ 00008216  0x00000bab call  0x00002038 
+ 00008217  0x00000bac call  0x000032ed 
+ 00008218  0x00000bad call  0x0000208f 
+ 00008219  0x00000bae call  0x000022f8 
+ 00008220  0x00000baf call  0x0000236a 
+ 00008221  0x00000bb0 call  0x00002021 
+ 00008222  0x00000bb1 call  0x00002b6a 
+ 00008223  0x00000bb2 call  0x00002c72 
+ 00008224  0x00000bb3 branch  0x00002012 
+ 00008225  0x00000bb6 call  0x00002026 
+ 00008226  0x00000bb7 rtnmark0  0x00000009 
+ 00008227  0x00000bb8 set0  0x00000009 , 0x00000000 
+ 00008228  0x00000bb9 call  0x00002223 
+ 00008229  0x00000bba branch  0x000053ce 
+ 00008230  0x00000bbd bpatch  0x00000005 , 0x00004000 
+ 00008231  0x00000bbe call  0x0000225e 
+ 00008232  0x00000bbf nbranch  0x0000202f , 0x00000005 
+ 00008233  0x00000bc0 call  0x0000220a 
+ 00008234  0x00000bc1 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008235  0x00000bc2 ifetch  0x00000001 , 0x00000006 
+ 00008236  0x00000bc3 bbit1  0x00000000 , 0x00005360 
+ 00008237  0x00000bc4 bbit1  0x00000001 , 0x00002166 
+ 00008238  0x00000bc5 branch  0x000023cf 
+ 00008239  0x00000bc7 call  0x0000222b 
+ 00008240  0x00000bc8 copy  0x00000039 , 0x0000003e 
+ 00008241  0x00000bc9 rtn  0x00000005 
+ 00008242  0x00000bca call  0x0000220a 
+ 00008243  0x00000bcb fetch  0x00000001 , 0x00000030 
+ 00008244  0x00000bcc bbit1  0x00000003 , 0x000020d3 
+ 00008245  0x00000bcd fetch  0x00000001 , 0x00000031 
+ 00008246  0x00000bce bbit1  0x00000001 , 0x00002166 
+ 00008247  0x00000bcf branch  0x000023cf 
+ 00008248  0x00000bd8 fetch  0x00000001 , 0x000041ce 
+ 00008249  0x00000bd9 rtn  0x00000034 
+ 00008250  0x00000bda beq  0x00000001 , 0x00002048 
+ 00008251  0x00000bdb beq  0x00000002 , 0x0000204d 
+ 00008252  0x00000bdc beq  0x00000003 , 0x00002050 
+ 00008253  0x00000bdd beq  0x00000005 , 0x00002055 
+ 00008254  0x00000bde beq  0x0000001b , 0x00002045 
+ 00008255  0x00000bdf call  0x00002257 
+ 00008256  0x00000be0 rtn  0x00000005 
+ 00008257  0x00000be1 call  0x0000225a 
+ 00008258  0x00000be2 rtn  0x00000005 
+ 00008259  0x00000be4 jam  0x00000000 , 0x000041ce 
+ 00008260  0x00000be5 rtn 
+ 00008261  0x00000be8 jam  0x0000001b , 0x0000049b 
+ 00008262  0x00000be9 jam  0x00000000 , 0x000041ce 
+ 00008263  0x00000bea rtn 
+ 00008264  0x00000bed set1  0x0000001c , 0x00000000 
+ 00008265  0x00000bee set0  0x0000001e , 0x00000000 
+ 00008266  0x00000bef jam  0x000000ff , 0x0000008f 
+ 00008267  0x00000bf0 jam  0x0000001f , 0x0000008d 
+ 00008268  0x00000bf1 branch  0x00002043 
+ 00008269  0x00000bf4 set0  0x0000001c , 0x00000000 
+ 00008270  0x00000bf5 force  0x00000000 , 0x0000001b 
+ 00008271  0x00000bf6 branch  0x00002043 
+ 00008272  0x00000bf9 call  0x0000225a 
+ 00008273  0x00000bfa rtn  0x00000005 
+ 00008274  0x00000bfb force  0x00000001 , 0x00000002 
+ 00008275  0x00000bfc jam  0x00000005 , 0x0000016e 
+ 00008276  0x00000bfd branch  0x0000205c 
+ 00008277  0x00000c00 bpatch  0x00000006 , 0x00004000 
+ 00008278  0x00000c02 fetch  0x00000006 , 0x000041d0 
+ 00008279  0x00000c03 branch  0x00002043 , 0x00000034 
+ 00008280  0x00000c04 jam  0x00000001 , 0x00004681 
+ 00008281  0x00000c06 jam  0x00000003 , 0x00000055 
+ 00008282  0x00000c07 branch  0x0000205b 
+ 00008283  0x00000c0a force  0x00000025 , 0x00000002 
+ 00008284  0x00000c0c bpatch  0x00000007 , 0x00004000 
+ 00008285  0x00000c0d fetch  0x00000001 , 0x000000f1 
+ 00008286  0x00000c0e branch  0x00002062 , 0x00000034 
+ 00008287  0x00000c0f lshift3  0x0000003f , 0x0000003f 
+ 00008288  0x00000c10 lshift4  0x0000003f , 0x0000003f 
+ 00008289  0x00000c11 increase  0xffffffff , 0x0000003f 
+ 00008290  0x00000c13 store  0x00000001 , 0x000040a6 
+ 00008291  0x00000c14 store  0x00000001 , 0x000000f0 
+ 00008292  0x00000c15 jam  0x0000001f , 0x0000008e 
+ 00008293  0x00000c16 set0  0x0000000c , 0x00000000 
+ 00008294  0x00000c17 call  0x0000223b 
+ 00008295  0x00000c18 nbranch  0x00002083 , 0x00000005 
+ 00008296  0x00000c19 call  0x00002a6f 
+ 00008297  0x00000c1a store  0x00000001 , 0x00000077 
+ 00008298  0x00000c1b storet  0x00000001 , 0x0000007c 
+ 00008299  0x00000c1c fetch  0x00000006 , 0x000041d0 
+ 00008300  0x00000c1d store  0x00000006 , 0x00000040 
+ 00008301  0x00000c1e bpatch  0x00000008 , 0x00004001 
+ 00008302  0x00000c1f call  0x00007f15 
+ 00008303  0x00000c20 force  0x00000000 , 0x0000003f 
+ 00008304  0x00000c21 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008305  0x00000c22 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00008306  0x00000c23 set1  0x00000003 , 0x0000003f 
+ 00008307  0x00000c24 store  0x00000001 , 0x00000030 
+ 00008308  0x00000c25 jam  0x00000003 , 0x00000a99 
+ 00008309  0x00000c26 call  0x00007d86 
+ 00008310  0x00000c27 force  0x00000000 , 0x0000003f 
+ 00008311  0x00000c28 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00008312  0x00000c29 store  0x00000001 , 0x0000004c 
+ 00008313  0x00000c2a setarg  0x00000000 
+ 00008314  0x00000c2b set1  0x00000001 , 0x0000003f 
+ 00008315  0x00000c2c store  0x00000001 , 0x00000031 
+ 00008316  0x00000c2d enable  0x00000029 
+ 00008317  0x00000c2e call  0x00002223 
+ 00008318  0x00000c2f disable  0x00000029 
+ 00008319  0x00000c30 force  0x00000003 , 0x00000007 
+ 00008320  0x00000c31 fetch  0x00000002 , 0x000040b9 
+ 00008321  0x00000c32 call  0x00007f08 
+ 00008322  0x00000c33 branch  0x00002043 
+ 00008323  0x00000c35 bpatch  0x00000009 , 0x00004001 
+ 00008324  0x00000c36 fetch  0x00000006 , 0x000041d0 
+ 00008325  0x00000c37 store  0x00000006 , 0x00000040 
+ 00008326  0x00000c38 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008327  0x00000c39 branch  0x00002089 , 0x00000001 
+ 00008328  0x00000c3a branch  0x00002043 
+ 00008329  0x00000c3c arg  0x00000101 , 0x00000005 
+ 00008330  0x00000c3d arg  0x00000008 , 0x00000039 
+ 00008331  0x00000c3e call  0x00007ec6 
+ 00008332  0x00000c3f jam  0x00000004 , 0x00000a99 
+ 00008333  0x00000c40 call  0x00007d86 
+ 00008334  0x00000c41 branch  0x00002043 
+ 00008335  0x00000c49 rtnmark0  0x0000001c 
+ 00008336  0x00000c4a force  0x00000001 , 0x00000007 
+ 00008337  0x00000c4b call  0x00007f16 
+ 00008338  0x00000c4c nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00008339  0x00000c4d nbranch  0x00002095 , 0x00000034 
+ 00008340  0x00000c4e rtn 
+ 00008341  0x00000c53 bpatch  0x0000000a , 0x00004001 
+ 00008342  0x00000c54 fetcht  0x00000002 , 0x000040bb 
+ 00008343  0x00000c55 force  0x00000004 , 0x00000007 
+ 00008344  0x00000c56 call  0x0000271c 
+ 00008345  0x00000c57 rtn  0x00000028 
+ 00008346  0x00000c58 call  0x000028a4 
+ 00008347  0x00000c59 force  0x00000000 , 0x00000024 
+ 00008348  0x00000c5b rtn  0x00000003 
+ 00008349  0x00000c5c set0  0x0000000b , 0x00000000 
+ 00008350  0x00000c5d set0  0x00000000 , 0x00000000 
+ 00008351  0x00000c5f add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008352  0x00000c60 isolate1  0x0000001e , 0x00000000 
+ 00008353  0x00000c61 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008354  0x00000c62 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008355  0x00000c63 nbranch  0x000020be , 0x00000001 
+ 00008356  0x00000c66 bpatch  0x0000000b , 0x00004001 
+ 00008357  0x00000c67 fetch  0x00000001 , 0x00000012 
+ 00008358  0x00000c68 increase  0x00000001 , 0x0000003f 
+ 00008359  0x00000c69 store  0x00000001 , 0x00000012 
+ 00008360  0x00000c6a call  0x000028d8 
+ 00008361  0x00000c6b call  0x000028d2 
+ 00008362  0x00000c6c call  0x000028f2 
+ 00008363  0x00000c6d call  0x00002a51 
+ 00008364  0x00000c6e call  0x00002a56 
+ 00008365  0x00000c6f call  0x00002a64 
+ 00008366  0x00000c70 call  0x0000264d 
+ 00008367  0x00000c71 call  0x000020b1 
+ 00008368  0x00000c72 branch  0x0000209c 
+ 00008369  0x00000c75 bpatch  0x0000000c , 0x00004001 
+ 00008370  0x00000c76 fetch  0x00000001 , 0x0000008d 
+ 00008371  0x00000c77 increase  0xffffffff , 0x0000003f 
+ 00008372  0x00000c78 store  0x00000001 , 0x0000008d 
+ 00008373  0x00000c79 rtn  0x00000002 
+ 00008374  0x00000c7a jam  0x0000001f , 0x0000008d 
+ 00008375  0x00000c7b fetch  0x00000001 , 0x0000008f 
+ 00008376  0x00000c7c increase  0xffffffff , 0x0000003f 
+ 00008377  0x00000c7d store  0x00000001 , 0x0000008f 
+ 00008378  0x00000c7e rtn  0x00000002 
+ 00008379  0x00000c7f setflip  0x0000001e , 0x00000000 
+ 00008380  0x00000c80 jam  0x000000ff , 0x0000008f 
+ 00008381  0x00000c81 rtn 
+ 00008382  0x00000c84 bpatch  0x0000000d , 0x00004001 
+ 00008383  0x00000c85 call  0x000028d8 
+ 00008384  0x00000c86 call  0x000028cc 
+ 00008385  0x00000c87 call  0x000028f2 
+ 00008386  0x00000c88 call  0x00002a5b 
+ 00008387  0x00000c89 call  0x000029eb 
+ 00008388  0x00000c8a call  0x00002a0d 
+ 00008389  0x00000c8b branch  0x000020c8 , 0x00000018 
+ 00008390  0x00000c8c call  0x000020b1 
+ 00008391  0x00000c8d branch  0x0000209f 
+ 00008392  0x00000c8f bpatch  0x0000000e , 0x00004001 
+ 00008393  0x00000c90 call  0x000029bb 
+ 00008394  0x00000c91 call  0x00002a6b 
+ 00008395  0x00000c92 call  0x0000251e 
+ 00008396  0x00000c93 set0  0x00000001 , 0x00000000 
+ 00008397  0x00000c94 rtnmark0  0x0000000b 
+ 00008398  0x00000c96 bpatch  0x0000000f , 0x00004001 
+ 00008399  0x00000c98 fetch  0x00000001 , 0x00000013 
+ 00008400  0x00000c99 increase  0x00000001 , 0x0000003f 
+ 00008401  0x00000c9a store  0x00000001 , 0x00000013 
+ 00008402  0x00000c9b rtn 
+ 00008403  0x00000ca4 bpatch  0x00000010 , 0x00004002 
+ 00008404  0x00000ca5 enable  0x00000029 
+ 00008405  0x00000ca6 enable  0x00000030 
+ 00008406  0x00000ca7 fetch  0x00000002 , 0x000040b5 
+ 00008407  0x00000ca8 branch  0x000020db , 0x00000034 
+ 00008408  0x00000ca9 force  0x00000008 , 0x00000007 
+ 00008409  0x00000caa call  0x00007f16 
+ 00008410  0x00000cab nrtn  0x00000034 
+ 00008411  0x00000cad bpatch  0x00000011 , 0x00004002 
+ 00008412  0x00000cae fetcht  0x00000002 , 0x000040b7 
+ 00008413  0x00000caf force  0x00000028 , 0x00000007 
+ 00008414  0x00000cb0 call  0x0000271c 
+ 00008415  0x00000cb1 branch  0x00002114 , 0x00000028 
+ 00008416  0x00000cb2 force  0x00000003 , 0x00000007 
+ 00008417  0x00000cb3 call  0x00007f16 
+ 00008418  0x00000cb4 nbranch  0x000020f0 , 0x00000034 
+ 00008419  0x00000cb5 fetch  0x00000001 , 0x0000004c 
+ 00008420  0x00000cb6 bbit1  0x00000004 , 0x000020e6 
+ 00008421  0x00000cb7 branch  0x000020e9 
+ 00008422  0x00000cb9 arg  0x00000101 , 0x00000005 
+ 00008423  0x00000cba arg  0x00000008 , 0x00000039 
+ 00008424  0x00000cbb call  0x00007ec6 
+ 00008425  0x00000cbd bpatch  0x00000012 , 0x00004002 
+ 00008426  0x00000cbe jam  0x00000000 , 0x00000030 
+ 00008427  0x00000cbf call  0x00005cf7 
+ 00008428  0x00000cc0 jam  0x00000000 , 0x00004681 
+ 00008429  0x00000cc1 jam  0x00000013 , 0x00000a99 
+ 00008430  0x00000cc2 call  0x00007d86 
+ 00008431  0x00000cc3 branch  0x00002114 
+ 00008432  0x00000cc6 bpatch  0x00000013 , 0x00004002 
+ 00008433  0x00000cc7 force  0x00000000 , 0x0000000b 
+ 00008434  0x00000cc8 until  0x00000023 , 0x00000026 
+ 00008435  0x00000cc9 fetch  0x00000001 , 0x000000f2 
+ 00008436  0x00000cca increase  0xffffffff , 0x0000003f 
+ 00008437  0x00000ccb ixor  0x00000022 , 0x0000003f 
+ 00008438  0x00000ccc compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00008439  0x00000ccd nbranch  0x000020f0 , 0x00000001 
+ 00008440  0x00000cce deposit  0x00000004 
+ 00008441  0x00000ccf store  0x00000001 , 0x00000181 
+ 00008442  0x00000cd0 force  0x00000000 , 0x00000026 
+ 00008443  0x00000cd1 force  0x00000000 , 0x00000024 
+ 00008444  0x00000cd4 bpatch  0x00000014 , 0x00004002 
+ 00008445  0x00000cd5 branch  0x00002114 , 0x00000003 
+ 00008446  0x00000cd6 call  0x000028dc 
+ 00008447  0x00000cd7 arg  0x00000600 , 0x0000000b 
+ 00008448  0x00000cd8 until  0x00000023 , 0x00000026 
+ 00008449  0x00000cda bpatch  0x00000015 , 0x00004002 
+ 00008450  0x00000cdb fetch  0x00000004 , 0x000000f2 
+ 00008451  0x00000cdc iforce  0x00000021 
+ 00008452  0x00000cdd increase  0x00000001 , 0x0000003f 
+ 00008453  0x00000cde store  0x00000004 , 0x000000f2 
+ 00008454  0x00000cdf isolate1  0x0000000c , 0x00000000 
+ 00008455  0x00000ce0 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008456  0x00000ce1 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008457  0x00000ce2 nbranch  0x00002128 , 0x00000001 
+ 00008458  0x00000ce3 fetch  0x00000001 , 0x0000000c 
+ 00008459  0x00000ce4 increase  0x00000001 , 0x0000003f 
+ 00008460  0x00000ce5 store  0x00000001 , 0x0000000c 
+ 00008461  0x00000ce6 call  0x000028d2 
+ 00008462  0x00000ce7 call  0x00002a51 
+ 00008463  0x00000ce8 call  0x00002a56 
+ 00008464  0x00000ce9 call  0x00002a64 
+ 00008465  0x00000cea call  0x0000264d 
+ 00008466  0x00000ceb call  0x0000211a 
+ 00008467  0x00000cec branch  0x000020fc 
+ 00008468  0x00000cee bpatch  0x00000016 , 0x00004002 
+ 00008469  0x00000cef disable  0x00000029 
+ 00008470  0x00000cf0 fetch  0x00000002 , 0x000040b5 
+ 00008471  0x00000cf1 rtn  0x00000034 
+ 00008472  0x00000cf2 force  0x00000008 , 0x00000007 
+ 00008473  0x00000cf3 branch  0x00007f08 
+ 00008474  0x00000cf6 bpatch  0x00000017 , 0x00004002 
+ 00008475  0x00000cf7 fetch  0x00000001 , 0x0000008e 
+ 00008476  0x00000cf8 increase  0xffffffff , 0x0000003f 
+ 00008477  0x00000cf9 store  0x00000001 , 0x0000008e 
+ 00008478  0x00000cfa rtn  0x00000002 
+ 00008479  0x00000cfb jam  0x0000001f , 0x0000008e 
+ 00008480  0x00000cfc fetch  0x00000001 , 0x000000f0 
+ 00008481  0x00000cfd increase  0xffffffff , 0x0000003f 
+ 00008482  0x00000cfe store  0x00000001 , 0x000000f0 
+ 00008483  0x00000cff rtn  0x00000002 
+ 00008484  0x00000d00 setflip  0x0000000c , 0x00000000 
+ 00008485  0x00000d01 fetch  0x00000001 , 0x000040a6 
+ 00008486  0x00000d02 store  0x00000001 , 0x000000f0 
+ 00008487  0x00000d03 rtn 
+ 00008488  0x00000d06 bpatch  0x00000018 , 0x00004003 
+ 00008489  0x00000d07 call  0x000028cc 
+ 00008490  0x00000d08 call  0x00002a5b 
+ 00008491  0x00000d09 call  0x000029eb 
+ 00008492  0x00000d0a call  0x00002a0d 
+ 00008493  0x00000d0b branch  0x00002130 , 0x00000018 
+ 00008494  0x00000d0c call  0x0000211a 
+ 00008495  0x00000d0d branch  0x00002101 
+ 00008496  0x00000d0f call  0x0000264d 
+ 00008497  0x00000d10 fetch  0x00000001 , 0x0000000d 
+ 00008498  0x00000d11 increase  0x00000001 , 0x0000003f 
+ 00008499  0x00000d12 store  0x00000001 , 0x0000000d 
+ 00008500  0x00000d13 force  0x00000000 , 0x0000001b 
+ 00008501  0x00000d14 fetch  0x00000004 , 0x000000f2 
+ 00008502  0x00000d16 bpatch  0x00000019 , 0x00004003 
+ 00008503  0x00000d17 call  0x00002a4f 
+ 00008504  0x00000d18 call  0x000028dc 
+ 00008505  0x00000d19 increase  0x00000001 , 0x00000026 
+ 00008506  0x00000d1b and_into  0x000001fd , 0x00000021 
+ 00008507  0x00000d1c and_into  0x000001fc , 0x00000024 
+ 00008508  0x00000d1d call  0x000028d2 
+ 00008509  0x00000d1e call  0x00002a51 
+ 00008510  0x00000d1f call  0x00002a56 
+ 00008511  0x00000d20 call  0x00002a64 
+ 00008512  0x00000d21 deposit  0x00000022 
+ 00008513  0x00000d22 store  0x00000004 , 0x00000161 
+ 00008514  0x00000d23 force  0x00000000 , 0x00000004 
+ 00008515  0x00000d24 force  0x00000002 , 0x00000001 
+ 00008516  0x00000d25 call  0x00002a6b 
+ 00008517  0x00000d26 call  0x00002766 
+ 00008518  0x00000d28 bpatch  0x0000001a , 0x00004003 
+ 00008519  0x00000d29 call  0x00002a4d 
+ 00008520  0x00000d2a or_into  0x00000002 , 0x00000021 
+ 00008521  0x00000d2b and_into  0x000001fc , 0x00000024 
+ 00008522  0x00000d2c call  0x000028cc 
+ 00008523  0x00000d2d call  0x00002a5b 
+ 00008524  0x00000d2e call  0x000029eb 
+ 00008525  0x00000d2f call  0x00002a0d 
+ 00008526  0x00000d30 call  0x0000264d , 0x00000018 
+ 00008527  0x00000d31 branch  0x00002155 , 0x00000018 
+ 00008528  0x00000d32 fetch  0x00000001 , 0x00000010 
+ 00008529  0x00000d33 branch  0x000020fc , 0x00000034 
+ 00008530  0x00000d34 increase  0xffffffff , 0x0000003f 
+ 00008531  0x00000d35 store  0x00000001 , 0x00000010 
+ 00008532  0x00000d36 branch  0x00002136 
+ 00008533  0x00000d39 bpatch  0x0000001b , 0x00004003 
+ 00008534  0x00000d3a fetch  0x00000001 , 0x0000000e 
+ 00008535  0x00000d3b increase  0x00000001 , 0x0000003f 
+ 00008536  0x00000d3c store  0x00000001 , 0x0000000e 
+ 00008537  0x00000d3d call  0x00002435 
+ 00008538  0x00000d3f call  0x000022f2 
+ 00008539  0x00000d40 branch  0x0000215f , 0x00000018 
+ 00008540  0x00000d41 call  0x00002455 
+ 00008541  0x00000d42 nbranch  0x0000215a , 0x00000034 
+ 00008542  0x00000d43 branch  0x000020fc 
+ 00008543  0x00000d46 bpatch  0x0000001c , 0x00004003 
+ 00008544  0x00000d47 fetch  0x00000001 , 0x00000030 
+ 00008545  0x00000d48 set0  0x00000003 , 0x0000003f 
+ 00008546  0x00000d49 store  0x00000001 , 0x00000030 
+ 00008547  0x00000d4a call  0x00002440 
+ 00008548  0x00000d4b disable  0x00000029 
+ 00008549  0x00000d4c rtn 
+ 00008550  0x00000d50 bpatch  0x0000001d , 0x00004003 
+ 00008551  0x00000d51 enable  0x00000029 
+ 00008552  0x00000d52 enable  0x00000030 
+ 00008553  0x00000d53 call  0x000021e1 
+ 00008554  0x00000d54 rtn  0x00000028 
+ 00008555  0x00000d55 call  0x00002c69 
+ 00008556  0x00000d56 call  0x00002a4f 
+ 00008557  0x00000d57 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008558  0x00000d58 call  0x000028e2 
+ 00008559  0x00000d59 force  0x00000003 , 0x00000024 
+ 00008560  0x00000d5a call  0x00006cc2 
+ 00008561  0x00000d5b call  0x00002489 
+ 00008562  0x00000d5c call  0x000028d2 
+ 00008563  0x00000d5d call  0x00002a51 
+ 00008564  0x00000d5e call  0x00002a56 
+ 00008565  0x00000d5f call  0x00002a64 
+ 00008566  0x00000d60 call  0x00002762 
+ 00008567  0x00000d62 bpatch  0x0000001e , 0x00004003 
+ 00008568  0x00000d63 call  0x00005d08 
+ 00008569  0x00000d64 call  0x000022e4 
+ 00008570  0x00000d65 nbranch  0x00002180 , 0x0000002d 
+ 00008571  0x00000d66 call  0x00002a88 
+ 00008572  0x00000d67 call  0x00002728 
+ 00008573  0x00000d68 fetch  0x00000001 , 0x0000000f 
+ 00008574  0x00000d69 increase  0x00000001 , 0x0000003f 
+ 00008575  0x00000d6a store  0x00000001 , 0x0000000f 
+ 00008576  0x00000d6c bpatch  0x0000001f , 0x00004003 
+ 00008577  0x00000d6d call  0x00006caa 
+ 00008578  0x00000d6e call  0x0000218b 
+ 00008579  0x00000d6f nrtn  0x00000029 
+ 00008580  0x00000d70 call  0x000026f3 
+ 00008581  0x00000d71 nbranch  0x00002188 , 0x00000034 
+ 00008582  0x00000d73 disable  0x00000029 
+ 00008583  0x00000d74 rtn 
+ 00008584  0x00000d77 call  0x00002489 
+ 00008585  0x00000d78 call  0x000022da 
+ 00008586  0x00000d79 branch  0x00002177 
+ 00008587  0x00000d7d branch  0x0000218e , 0x0000002d 
+ 00008588  0x00000d7e call  0x00002a7f 
+ 00008589  0x00000d7f branch  0x0000219c , 0x00000002 
+ 00008590  0x00000d81 call  0x000021a7 
+ 00008591  0x00000d82 nbranch  0x0000219c , 0x00000028 
+ 00008592  0x00000d83 fetch  0x00000001 , 0x0000004c 
+ 00008593  0x00000d84 rtnbit0  0x00000004 
+ 00008594  0x00000d85 rtnbit1  0x00000003 
+ 00008595  0x00000d86 fetch  0x00000001 , 0x0000004b 
+ 00008596  0x00000d87 rtnbit1  0x00000003 
+ 00008597  0x00000d88 call  0x000021ae 
+ 00008598  0x00000d89 nrtn  0x00000034 
+ 00008599  0x00000d8a fetch  0x00000001 , 0x0000016e 
+ 00008600  0x00000d8b increase  0xffffffff , 0x0000003f 
+ 00008601  0x00000d8c store  0x00000001 , 0x0000016e 
+ 00008602  0x00000d8d nrtn  0x00000034 
+ 00008603  0x00000d8e branch  0x00006006 
+ 00008604  0x00000d91 bpatch  0x00000020 , 0x00004004 
+ 00008605  0x00000d92 call  0x0000245d 
+ 00008606  0x00000d93 disable  0x00000029 
+ 00008607  0x00000d94 fetch  0x00000001 , 0x0000004c 
+ 00008608  0x00000d95 bbit1  0x00000004 , 0x000021a2 
+ 00008609  0x00000d96 rtn 
+ 00008610  0x00000d99 fetch  0x00000001 , 0x0000004c 
+ 00008611  0x00000d9a rtnbit1  0x00000003 
+ 00008612  0x00000d9c arg  0x00000101 , 0x00000005 
+ 00008613  0x00000d9d arg  0x00000008 , 0x00000039 
+ 00008614  0x00000d9e branch  0x00007ec6 
+ 00008615  0x00000da1 bpatch  0x00000021 , 0x00004004 
+ 00008616  0x00000da2 enable  0x00000028 
+ 00008617  0x00000da3 fetch  0x00000001 , 0x0000004b 
+ 00008618  0x00000da4 rtnbit0  0x00000003 
+ 00008619  0x00000da5 call  0x000021ae 
+ 00008620  0x00000da6 nrtn  0x00000034 
+ 00008621  0x00000da7 branch  0x00007fe9 
+ 00008622  0x00000daa fetch  0x00000001 , 0x00000072 
+ 00008623  0x00000dab increase  0xffffffff , 0x0000003f 
+ 00008624  0x00000dac store  0x00000001 , 0x00000072 
+ 00008625  0x00000dad rtn 
+ 00008626  0x00000db0 bpatch  0x00000022 , 0x00004004 
+ 00008627  0x00000db1 fetch  0x00000001 , 0x00000030 
+ 00008628  0x00000db2 bbit1  0x00000007 , 0x000021bb 
+ 00008629  0x00000db3 fetch  0x00000001 , 0x000009b5 
+ 00008630  0x00000db4 branch  0x000021bb , 0x00000034 
+ 00008631  0x00000db5 jam  0x00000000 , 0x000009b5 
+ 00008632  0x00000db6 jam  0x00000018 , 0x00000a99 
+ 00008633  0x00000db7 call  0x00007d86 
+ 00008634  0x00000db8 branch  0x000021bb 
+ 00008635  0x00000dba bpatch  0x00000023 , 0x00004004 
+ 00008636  0x00000dbb call  0x00002254 
+ 00008637  0x00000dbc fetch  0x00000001 , 0x00000030 
+ 00008638  0x00000dbd set1  0x00000007 , 0x0000003f 
+ 00008639  0x00000dbe store  0x00000001 , 0x00000030 
+ 00008640  0x00000dbf jam  0x00000001 , 0x000041bd 
+ 00008641  0x00000dc0 fetch  0x00000001 , 0x00000055 
+ 00008642  0x00000dc1 bne  0x00000016 , 0x000021c3 
+ 00008643  0x00000dc3 rtn 
+ 00008644  0x00000dc6 jam  0x00000001 , 0x000009b5 
+ 00008645  0x00000dc8 fetch  0x00000001 , 0x00000030 
+ 00008646  0x00000dc9 set0  0x00000007 , 0x0000003f 
+ 00008647  0x00000dca store  0x00000001 , 0x00000030 
+ 00008648  0x00000dcb rtn 
+ 00008649  0x00000dd0 bpatch  0x00000024 , 0x00004004 
+ 00008650  0x00000dd1 disable  0x00000028 
+ 00008651  0x00000dd2 fetch  0x00000002 , 0x00000032 
+ 00008652  0x00000dd3 arg  0x0000ffff , 0x00000002 
+ 00008653  0x00000dd4 isub  0x00000002 , 0x0000003e 
+ 00008654  0x00000dd5 nrtn  0x00000005 
+ 00008655  0x00000dd6 fetch  0x00000004 , 0x00000034 
+ 00008656  0x00000dd7 branch  0x000021d3 , 0x00000030 
+ 00008657  0x00000dd8 isub  0x00000028 , 0x0000003f 
+ 00008658  0x00000dd9 branch  0x000021d4 
+ 00008659  0x00000ddb isub  0x00000022 , 0x0000003f 
+ 00008660  0x00000ddd sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00008661  0x00000dde nrtn  0x00000002 
+ 00008662  0x00000ddf force  0x00000000 , 0x0000003f 
+ 00008663  0x00000de0 store  0x00000002 , 0x00000032 
+ 00008664  0x00000de1 branch  0x00007fe7 
+ 00008665  0x00000de6 copy  0x0000003f , 0x00000002 
+ 00008666  0x00000de7 bpatch  0x00000025 , 0x00004004 
+ 00008667  0x00000de8 storet  0x00000004 , 0x00000034 
+ 00008668  0x00000dea jam  0x00000001 , 0x0000455b 
+ 00008669  0x00000deb setarg  0x0000ffff 
+ 00008670  0x00000dec store  0x00000002 , 0x00000032 
+ 00008671  0x00000ded jam  0x00000001 , 0x00000073 
+ 00008672  0x00000dee rtn 
+ 00008673  0x00000df2 bpatch  0x00000026 , 0x00004004 
+ 00008674  0x00000df3 call  0x000021c9 
+ 00008675  0x00000df4 nrtn  0x00000028 
+ 00008676  0x00000df5 disable  0x00000028 
+ 00008677  0x00000df6 jam  0x00000020 , 0x00000011 
+ 00008678  0x00000df7 set0  0x0000000b , 0x00000000 
+ 00008679  0x00000df9 call  0x00002a4f 
+ 00008680  0x00000dfa call  0x000022e6 
+ 00008681  0x00000dfb bmark1  0x0000000b , 0x000021f4 
+ 00008682  0x00000dfc call  0x00002455 
+ 00008683  0x00000dfd nbranch  0x000021e7 , 0x00000034 
+ 00008684  0x00000dff bpatch  0x00000027 , 0x00004004 
+ 00008685  0x00000e00 disable  0x00000028 
+ 00008686  0x00000e01 deposit  0x00000022 
+ 00008687  0x00000e02 store  0x00000004 , 0x000040ca 
+ 00008688  0x00000e03 enable  0x00000030 
+ 00008689  0x00000e04 enable  0x00000029 
+ 00008690  0x00000e05 jam  0x0000002a , 0x00000a99 
+ 00008691  0x00000e06 branch  0x00007d86 
+ 00008692  0x00000e09 bpatch  0x00000028 , 0x00004005 
+ 00008693  0x00000e0a call  0x00002a4d 
+ 00008694  0x00000e0b arg  0x00000010 , 0x00000001 
+ 00008695  0x00000e0c call  0x000022dc 
+ 00008696  0x00000e0d disable  0x00000030 
+ 00008697  0x00000e0e disable  0x00000029 
+ 00008698  0x00000e0f call  0x00002818 
+ 00008699  0x00000e10 call  0x00002435 
+ 00008700  0x00000e12 bpatch  0x00000029 , 0x00004005 
+ 00008701  0x00000e13 call  0x0000247c 
+ 00008702  0x00000e14 branch  0x00002202 , 0x0000002d 
+ 00008703  0x00000e15 call  0x00002455 
+ 00008704  0x00000e16 nbranch  0x000021fc , 0x00000034 
+ 00008705  0x00000e17 branch  0x000021ec 
+ 00008706  0x00000e19 fetch  0x00000001 , 0x00000031 
+ 00008707  0x00000e1a set0  0x00000001 , 0x0000003f 
+ 00008708  0x00000e1b store  0x00000001 , 0x00000031 
+ 00008709  0x00000e1c call  0x00002a88 
+ 00008710  0x00000e1d call  0x00002841 
+ 00008711  0x00000e1e enable  0x00000028 
+ 00008712  0x00000e1f jam  0x0000002b , 0x00000a99 
+ 00008713  0x00000e20 branch  0x00007d86 
+ 00008714  0x00000e26 bpatch  0x0000002a , 0x00004005 
+ 00008715  0x00000e27 set1  0x00000009 , 0x00000000 
+ 00008716  0x00000e28 deposit  0x00000011 
+ 00008717  0x00000e29 store  0x00000002 , 0x0000001e 
+ 00008718  0x00000e2a force  0x00000050 , 0x00000039 
+ 00008719  0x00000e2b arg  0x0000043f , 0x00000005 
+ 00008720  0x00000e2c add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008721  0x00000e2d ifetch  0x00000001 , 0x00000006 
+ 00008722  0x00000e2e copy  0x00000011 , 0x00000006 
+ 00008723  0x00000e2f bbit1  0x00000000 , 0x00007f01 
+ 00008724  0x00000e30 arg  0x00000030 , 0x00000005 
+ 00008725  0x00000e31 call  0x00007f01 
+ 00008726  0x00000e32 disable  0x0000002e 
+ 00008727  0x00000e33 fetch  0x00000001 , 0x00000077 
+ 00008728  0x00000e34 iforce  0x00000004 
+ 00008729  0x00000e35 jam  0x00000001 , 0x0000008a 
+ 00008730  0x00000e36 branch  0x0000221c , 0x00000029 
+ 00008731  0x00000e37 jam  0x00000001 , 0x0000008a 
+ 00008732  0x00000e39 fetch  0x00000001 , 0x00000030 
+ 00008733  0x00000e3a rtnbit0  0x00000001 
+ 00008734  0x00000e3b fetch  0x00000001 , 0x00000073 
+ 00008735  0x00000e3c store  0x00000001 , 0x0000008a 
+ 00008736  0x00000e3d fetch  0x00000001 , 0x00000074 
+ 00008737  0x00000e3e store  0x00000001 , 0x0000008b 
+ 00008738  0x00000e3f rtn 
+ 00008739  0x00000e42 bpatch  0x0000002b , 0x00004005 
+ 00008740  0x00000e43 fetch  0x00000002 , 0x0000001e 
+ 00008741  0x00000e44 iforce  0x00000005 
+ 00008742  0x00000e45 force  0x00000050 , 0x00000039 
+ 00008743  0x00000e46 arg  0x0000043f , 0x00000006 
+ 00008744  0x00000e47 branch  0x00007f01 , 0x00000036 
+ 00008745  0x00000e48 arg  0x00000030 , 0x00000006 
+ 00008746  0x00000e49 branch  0x00007f01 
+ 00008747  0x00000e4e arg  0x00000001 , 0x00000039 
+ 00008748  0x00000e4f fetcht  0x00000001 , 0x00000015 
+ 00008749  0x00000e51 increase  0x00000001 , 0x00000002 
+ 00008750  0x00000e52 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008751  0x00000e53 nbranch  0x00002231 , 0x00000001 
+ 00008752  0x00000e54 arg  0x00000000 , 0x00000002 
+ 00008753  0x00000e56 storet  0x00000001 , 0x00000015 
+ 00008754  0x00000e57 mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00008755  0x00000e58 arg  0x00004040 , 0x00000011 
+ 00008756  0x00000e59 iadd  0x00000011 , 0x00000011 
+ 00008757  0x00000e5a ifetch  0x00000001 , 0x00000011 
+ 00008758  0x00000e5b bbit1  0x00000001 , 0x00002239 
+ 00008759  0x00000e5c rtnbit1  0x00000000 
+ 00008760  0x00000e5d rtnbit1  0x00000003 
+ 00008761  0x00000e5f loop  0x0000222d 
+ 00008762  0x00000e60 rtn 
+ 00008763  0x00000e63 bpatch  0x0000002c , 0x00004005 
+ 00008764  0x00000e64 arg  0x0000226a , 0x00000013 
+ 00008765  0x00000e65 call  0x00002261 
+ 00008766  0x00000e66 nrtn  0x00000005 
+ 00008767  0x00000e67 deposit  0x00000011 
+ 00008768  0x00000e68 store  0x00000002 , 0x0000001e 
+ 00008769  0x00000e69 force  0x00000000 , 0x0000003e 
+ 00008770  0x00000e6a rtn 
+ 00008771  0x00000e6f call  0x00002725 
+ 00008772  0x00000e70 branch  0x0000224b , 0x00000001 
+ 00008773  0x00000e71 fetch  0x00000002 , 0x0000001e 
+ 00008774  0x00000e72 add  0x0000003f , 0x00000017 , 0x00000005 
+ 00008775  0x00000e73 fetch  0x00000001 , 0x00000047 
+ 00008776  0x00000e74 istore  0x00000001 , 0x00000005 
+ 00008777  0x00000e75 arg  0x000022aa , 0x00000013 
+ 00008778  0x00000e76 branch  0x00002261 
+ 00008779  0x00000e79 fetch  0x00000001 , 0x00000047 
+ 00008780  0x00000e7a isolate1  0x00000003 , 0x0000003f 
+ 00008781  0x00000e7b branch  0x00002250 , 0x00000001 
+ 00008782  0x00000e7c force  0x00000001 , 0x0000003e 
+ 00008783  0x00000e7d rtn 
+ 00008784  0x00000e7f force  0x00000000 , 0x0000003e 
+ 00008785  0x00000e80 rtn 
+ 00008786  0x00000e84 arg  0x000022a7 , 0x00000013 
+ 00008787  0x00000e85 branch  0x00002261 
+ 00008788  0x00000e88 fetcht  0x00000002 , 0x0000001e 
+ 00008789  0x00000e89 arg  0x000022cf , 0x00000013 
+ 00008790  0x00000e8a branch  0x00002261 
+ 00008791  0x00000e8f fetcht  0x00000001 , 0x000041cf 
+ 00008792  0x00000e91 arg  0x00002275 , 0x00000013 
+ 00008793  0x00000e92 branch  0x00002261 
+ 00008794  0x00000e95 bpatch  0x0000002d , 0x00004005 
+ 00008795  0x00000e96 fetcht  0x00000006 , 0x000041d0 
+ 00008796  0x00000e98 arg  0x0000226e , 0x00000013 
+ 00008797  0x00000e99 branch  0x00002261 
+ 00008798  0x00000e9c arg  0x0000227b , 0x00000013 
+ 00008799  0x00000e9d branch  0x00002261 
+ 00008800  0x00000ea0 arg  0x000022c6 , 0x00000013 
+ 00008801  0x00000ea2 bpatch  0x0000002e , 0x00004005 
+ 00008802  0x00000ea3 arg  0x00004040 , 0x00000011 
+ 00008803  0x00000ea4 arg  0x00000001 , 0x00000039 
+ 00008804  0x00000ea6 ifetch  0x00000001 , 0x00000011 
+ 00008805  0x00000ea7 copy  0x00000013 , 0x0000003d 
+ 00008806  0x00000ea9 increase  0x00000050 , 0x00000011 
+ 00008807  0x00000eaa loop  0x00002264 
+ 00008808  0x00000eab force  0x00000001 , 0x0000003e 
+ 00008809  0x00000eac rtn 
+ 00008810  0x00000eaf bbit1  0x00000000 , 0x00002266 
+ 00008811  0x00000eb0 bbit1  0x00000003 , 0x00002266 
+ 00008812  0x00000eb1 force  0x00000000 , 0x0000003e 
+ 00008813  0x00000eb2 rtn 
+ 00008814  0x00000eb5 bbit1  0x00000003 , 0x00002270 
+ 00008815  0x00000eb6 bbit0  0x00000000 , 0x00002266 
+ 00008816  0x00000eb8 add  0x00000011 , 0x00000010 , 0x00000006 
+ 00008817  0x00000eb9 ifetch  0x00000006 , 0x00000006 
+ 00008818  0x00000eba isub  0x00000002 , 0x0000003e 
+ 00008819  0x00000ebb rtn  0x00000005 
+ 00008820  0x00000ebc branch  0x00002266 
+ 00008821  0x00000ebf bbit0  0x00000000 , 0x00002266 
+ 00008822  0x00000ec0 add  0x00000011 , 0x00000016 , 0x00000006 
+ 00008823  0x00000ec1 ifetch  0x00000001 , 0x00000006 
+ 00008824  0x00000ec2 isub  0x00000002 , 0x0000003e 
+ 00008825  0x00000ec3 rtn  0x00000005 
+ 00008826  0x00000ec4 branch  0x00002266 
+ 00008827  0x00000ec7 bbit0  0x00000001 , 0x00002266 
+ 00008828  0x00000ec9 call  0x000022b3 
+ 00008829  0x00000eca call  0x00002297 
+ 00008830  0x00000ecb isub  0x00000002 , 0x0000003f 
+ 00008831  0x00000ecc increase  0x00000001 , 0x0000003f 
+ 00008832  0x00000ecd branch  0x00002291 , 0x00000002 
+ 00008833  0x00000ece copy  0x00000006 , 0x00000012 
+ 00008834  0x00000ecf store  0x00000009 , 0x00000aa2 
+ 00008835  0x00000ed0 fetch  0x00000001 , 0x000044c0 
+ 00008836  0x00000ed1 nbranch  0x00002289 , 0x00000034 
+ 00008837  0x00000ed2 fetch  0x00000009 , 0x00000aa2 
+ 00008838  0x00000ed3 copy  0x00000012 , 0x00000006 
+ 00008839  0x00000ed4 increase  0x00000005 , 0x0000003f 
+ 00008840  0x00000ed5 branch  0x0000228c 
+ 00008841  0x00000ed7 fetch  0x00000009 , 0x00000aa2 
+ 00008842  0x00000ed8 copy  0x00000012 , 0x00000006 
+ 00008843  0x00000ed9 increase  0x00000014 , 0x0000003f 
+ 00008844  0x00000edb nbranch  0x00002266 , 0x00000002 
+ 00008845  0x00000edd copy  0x00000002 , 0x00000021 
+ 00008846  0x00000ede call  0x000022bf 
+ 00008847  0x00000edf force  0x00000000 , 0x0000003e 
+ 00008848  0x00000ee0 rtn 
+ 00008849  0x00000ee4 iforce  0x00000012 
+ 00008850  0x00000ee5 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008851  0x00000ee6 ifetch  0x00000002 , 0x00000006 
+ 00008852  0x00000ee7 branch  0x0000228d , 0x00000034 
+ 00008853  0x00000ee8 call  0x000022bf 
+ 00008854  0x00000ee9 branch  0x0000227c 
+ 00008855  0x00000eec rshift16  0x0000003f , 0x0000000b 
+ 00008856  0x00000eed rshift8  0x0000000b , 0x0000000b 
+ 00008857  0x00000eee branch  0x000022a1 , 0x00000005 
+ 00008858  0x00000eef compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008859  0x00000ef0 nrtn  0x00000001 
+ 00008860  0x00000ef1 rshift16  0x00000002 , 0x0000000b 
+ 00008861  0x00000ef2 rshift8  0x0000000b , 0x0000000b 
+ 00008862  0x00000ef3 nrtn  0x00000005 
+ 00008863  0x00000ef4 set1  0x0000001c , 0x00000002 
+ 00008864  0x00000ef5 rtn 
+ 00008865  0x00000ef7 rshift16  0x00000002 , 0x0000000b 
+ 00008866  0x00000ef8 rshift8  0x0000000b , 0x0000000b 
+ 00008867  0x00000ef9 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008868  0x00000efa nrtn  0x00000001 
+ 00008869  0x00000efb set1  0x0000001c , 0x0000003f 
+ 00008870  0x00000efc rtn 
+ 00008871  0x00000eff bbit0  0x00000000 , 0x00002266 
+ 00008872  0x00000f00 force  0x00000000 , 0x0000003e 
+ 00008873  0x00000f01 rtn 
+ 00008874  0x00000f04 bbit0  0x00000000 , 0x00002266 
+ 00008875  0x00000f05 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008876  0x00000f06 ifetch  0x00000001 , 0x00000006 
+ 00008877  0x00000f07 bbit1  0x00000000 , 0x00002266 
+ 00008878  0x00000f08 add  0x00000011 , 0x00000017 , 0x00000006 
+ 00008879  0x00000f09 ifetch  0x00000001 , 0x00000006 
+ 00008880  0x00000f0a bbit0  0x00000003 , 0x00002266 
+ 00008881  0x00000f0b force  0x00000000 , 0x0000003e 
+ 00008882  0x00000f0c rtn 
+ 00008883  0x00000f0f add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008884  0x00000f10 ifetcht  0x00000001 , 0x00000006 
+ 00008885  0x00000f11 deposit  0x00000022 
+ 00008886  0x00000f12 isolate1  0x00000001 , 0x00000002 
+ 00008887  0x00000f13 add  0x00000011 , 0x00000004 , 0x00000006 
+ 00008888  0x00000f14 ifetcht  0x00000004 , 0x00000006 
+ 00008889  0x00000f15 rtn  0x00000001 
+ 00008890  0x00000f16 add  0x00000011 , 0x00000008 , 0x00000006 
+ 00008891  0x00000f17 ifetch  0x00000006 , 0x00000006 
+ 00008892  0x00000f18 call  0x00002854 
+ 00008893  0x00000f19 deposit  0x00000028 
+ 00008894  0x00000f1a rtn 
+ 00008895  0x00000f1d add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008896  0x00000f1e add  0x00000011 , 0x00000004 , 0x00000005 
+ 00008897  0x00000f1f ifetch  0x00000002 , 0x00000006 
+ 00008898  0x00000f20 iadd  0x00000002 , 0x0000000b 
+ 00008899  0x00000f21 deposit  0x0000000b 
+ 00008900  0x00000f22 istore  0x00000004 , 0x00000005 
+ 00008901  0x00000f23 branch  0x00005449 
+ 00008902  0x00000f27 bbit0  0x00000001 , 0x00002266 
+ 00008903  0x00000f28 call  0x000022b3 
+ 00008904  0x00000f29 iadd  0x0000001b , 0x0000003f 
+ 00008905  0x00000f2a iadd  0x0000001b , 0x0000003f 
+ 00008906  0x00000f2b iadd  0x00000007 , 0x0000003f 
+ 00008907  0x00000f2c isub  0x00000002 , 0x0000003e 
+ 00008908  0x00000f2d nbranch  0x00002266 , 0x00000002 
+ 00008909  0x00000f2e force  0x00000000 , 0x0000003e 
+ 00008910  0x00000f2f rtn 
+ 00008911  0x00000f32 bbit0  0x00000000 , 0x00002266 
+ 00008912  0x00000f33 deposit  0x00000002 
+ 00008913  0x00000f34 isub  0x00000011 , 0x0000003e 
+ 00008914  0x00000f35 branch  0x00002266 , 0x0000003e 
+ 00008915  0x00000f36 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008916  0x00000f37 ifetch  0x00000001 , 0x00000006 
+ 00008917  0x00000f38 bbit1  0x00000000 , 0x00002266 
+ 00008918  0x00000f39 ifetch  0x00000001 , 0x00000011 
+ 00008919  0x00000f3a set0  0x00000007 , 0x0000003f 
+ 00008920  0x00000f3b istore  0x00000001 , 0x00000011 
+ 00008921  0x00000f3c branch  0x00002266 
+ 00008922  0x00000f40 bpatch  0x0000002f , 0x00004005 
+ 00008923  0x00000f41 call  0x00002a4f 
+ 00008924  0x00000f43 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008925  0x00000f44 call  0x000028e2 
+ 00008926  0x00000f45 force  0x00000003 , 0x00000024 
+ 00008927  0x00000f46 call  0x000028d2 
+ 00008928  0x00000f47 call  0x00002a51 
+ 00008929  0x00000f48 call  0x00002a56 
+ 00008930  0x00000f49 call  0x00002a64 
+ 00008931  0x00000f4a branch  0x00002762 
+ 00008932  0x00000f4d bpatch  0x00000030 , 0x00004006 
+ 00008933  0x00000f4e call  0x00002a4d 
+ 00008934  0x00000f50 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008935  0x00000f51 call  0x000028e2 
+ 00008936  0x00000f52 force  0x00000003 , 0x00000024 
+ 00008937  0x00000f53 call  0x000028cc 
+ 00008938  0x00000f54 call  0x0000242a 
+ 00008939  0x00000f55 call  0x000029f1 
+ 00008940  0x00000f56 call  0x00002a5b 
+ 00008941  0x00000f57 call  0x000029eb 
+ 00008942  0x00000f59 call  0x00002a0d 
+ 00008943  0x00000f5a nrtn  0x00000018 
+ 00008944  0x00000f5b call  0x000029bb 
+ 00008945  0x00000f5c branch  0x0000251c 
+ 00008946  0x00000f61 bpatch  0x00000031 , 0x00004006 
+ 00008947  0x00000f62 fetch  0x00000001 , 0x00000181 
+ 00008948  0x00000f63 iforce  0x00000004 
+ 00008949  0x00000f64 force  0x00000001 , 0x00000001 
+ 00008950  0x00000f65 call  0x000022da 
+ 00008951  0x00000f66 branch  0x000022e4 
+ 00008952  0x00000f72 fetch  0x00000001 , 0x00004093 
+ 00008953  0x00000f73 rtnbit0  0x00000000 
+ 00008954  0x00000f74 force  0x00000004 , 0x00000007 
+ 00008955  0x00000f75 call  0x00007f16 
+ 00008956  0x00000f76 nrtn  0x00000034 
+ 00008957  0x00000f77 fetcht  0x00000002 , 0x000040ad 
+ 00008958  0x00000f78 force  0x00000004 , 0x00000007 
+ 00008959  0x00000f79 call  0x0000271c 
+ 00008960  0x00000f7a rtn  0x00000028 
+ 00008961  0x00000f7b call  0x00002308 
+ 00008962  0x00000f7c force  0x00000004 , 0x00000007 
+ 00008963  0x00000f7d fetch  0x00000002 , 0x000040af 
+ 00008964  0x00000f7e nbranch  0x00007f08 , 0x00000018 
+ 00008965  0x00000f7f random  0x0000003f 
+ 00008966  0x00000f80 iand  0x00000035 , 0x0000003f 
+ 00008967  0x00000f81 branch  0x00007f08 
+ 00008968  0x00000f85 bpatch  0x00000032 , 0x00004006 
+ 00008969  0x00000f86 jam  0x00000000 , 0x00000181 
+ 00008970  0x00000f87 disable  0x00000030 
+ 00008971  0x00000f88 disable  0x0000002e 
+ 00008972  0x00000f89 call  0x000028a4 
+ 00008973  0x00000f8a and  0x00000022 , 0x000001fc , 0x00000021 
+ 00008974  0x00000f8b force  0x00000001 , 0x00000024 
+ 00008975  0x00000f8c call  0x000028d8 
+ 00008976  0x00000f8d call  0x000028cc 
+ 00008977  0x00000f8e setflip  0x0000001d , 0x00000000 
+ 00008978  0x00000f8f fetch  0x00000001 , 0x00000006 
+ 00008979  0x00000f90 increase  0x00000001 , 0x0000003f 
+ 00008980  0x00000f91 store  0x00000001 , 0x00000006 
+ 00008981  0x00000f92 call  0x000028f2 
+ 00008982  0x00000f93 call  0x000029eb 
+ 00008983  0x00000f94 call  0x00002a14 
+ 00008984  0x00000f95 nrtn  0x00000018 
+ 00008985  0x00000f96 bpatch  0x00000033 , 0x00004006 
+ 00008986  0x00000f97 force  0x00000000 , 0x0000001b 
+ 00008987  0x00000f98 call  0x000028f9 
+ 00008988  0x00000f99 fetch  0x00000001 , 0x00000007 
+ 00008989  0x00000f9a increase  0x00000001 , 0x0000003f 
+ 00008990  0x00000f9b store  0x00000001 , 0x00000007 
+ 00008991  0x00000f9c call  0x000028d8 
+ 00008992  0x00000f9d call  0x00002a4d 
+ 00008993  0x00000f9e or_into  0x00000002 , 0x00000021 
+ 00008994  0x00000f9f force  0x00000001 , 0x00000024 
+ 00008995  0x00000fa0 call  0x000028d2 
+ 00008996  0x00000fa1 call  0x000028f2 
+ 00008997  0x00000fa2 call  0x00002a51 
+ 00008998  0x00000fa3 call  0x00002a5f 
+ 00008999  0x00000fa4 deposit  0x00000022 
+ 00009000  0x00000fa5 store  0x00000004 , 0x00000161 
+ 00009001  0x00000fa6 call  0x00002a64 
+ 00009002  0x00000fa7 force  0x00000002 , 0x00000001 
+ 00009003  0x00000fa8 force  0x00000000 , 0x00000004 
+ 00009004  0x00000fa9 call  0x00002a6b 
+ 00009005  0x00000faa call  0x00002766 
+ 00009006  0x00000fab call  0x00002332 
+ 00009007  0x00000fac and_into  0x000001fd , 0x00000021 
+ 00009008  0x00000fad increase  0x00000001 , 0x00000026 
+ 00009009  0x00000fae rtn 
+ 00009010  0x00000fb1 bpatch  0x00000034 , 0x00004006 
+ 00009011  0x00000fb2 fetch  0x00000001 , 0x000040d1 
+ 00009012  0x00000fb3 rtn  0x00000034 
+ 00009013  0x00000fb4 arg  0x0000018e , 0x00000005 
+ 00009014  0x00000fb5 fetch  0x00000001 , 0x00004515 
+ 00009015  0x00000fb6 copy  0x0000003f , 0x00000039 
+ 00009016  0x00000fb7 increase  0x00000001 , 0x0000003f 
+ 00009017  0x00000fb8 istore  0x00000001 , 0x00000005 
+ 00009018  0x00000fb9 copy  0x00000005 , 0x00000002 
+ 00009019  0x00000fba increase  0x00000001 , 0x0000003f 
+ 00009020  0x00000fbb store  0x00000002 , 0x000041dc 
+ 00009021  0x00000fbc copy  0x00000002 , 0x00000005 
+ 00009022  0x00000fbd setarg  0x00000009 
+ 00009023  0x00000fbe istore  0x00000001 , 0x00000005 
+ 00009024  0x00000fbf arg  0x00004516 , 0x00000006 
+ 00009025  0x00000fc0 call  0x00007f01 
+ 00009026  0x00000fc2 arg  0x0000458d , 0x00000013 
+ 00009027  0x00000fc3 arg  0x00000004 , 0x00000039 
+ 00009028  0x00000fc4 call  0x00002354 
+ 00009029  0x00000fc5 arg  0x00004577 , 0x00000013 
+ 00009030  0x00000fc6 arg  0x00000001 , 0x00000039 
+ 00009031  0x00000fc7 call  0x00002354 
+ 00009032  0x00000fc9 force  0x0000000a , 0x00000001 
+ 00009033  0x00000fca jam  0x00000002 , 0x000041db 
+ 00009034  0x00000fcb setarg  0x0000018e 
+ 00009035  0x00000fcc store  0x00000002 , 0x0000016f 
+ 00009036  0x00000fcd call  0x00002a4d 
+ 00009037  0x00000fce call  0x000028d2 
+ 00009038  0x00000fcf call  0x00002a51 
+ 00009039  0x00000fd0 call  0x00002a5f 
+ 00009040  0x00000fd1 call  0x00002a64 
+ 00009041  0x00000fd2 call  0x00002a6b 
+ 00009042  0x00000fd3 call  0x00002766 
+ 00009043  0x00000fd4 rtn 
+ 00009044  0x00000fd8 copy  0x00000005 , 0x00000002 
+ 00009045  0x00000fd9 copy  0x00000013 , 0x00000006 
+ 00009046  0x00000fda ifetch  0x00000001 , 0x00000006 
+ 00009047  0x00000fdb rtn  0x00000034 
+ 00009048  0x00000fdd lshift  0x0000003f , 0x0000003f 
+ 00009049  0x00000fde loop  0x00002358 
+ 00009050  0x00000fdf copy  0x0000003f , 0x00000011 
+ 00009051  0x00000fe0 increase  0x00000002 , 0x0000003f 
+ 00009052  0x00000fe1 copy  0x0000003f , 0x00000007 
+ 00009053  0x00000fe2 fetch  0x00000002 , 0x000041dc 
+ 00009054  0x00000fe3 iadd  0x00000007 , 0x0000003f 
+ 00009055  0x00000fe4 store  0x00000002 , 0x000041dc 
+ 00009056  0x00000fe5 copy  0x00000002 , 0x00000005 
+ 00009057  0x00000fe6 copy  0x00000011 , 0x0000003f 
+ 00009058  0x00000fe7 increase  0x00000001 , 0x0000003f 
+ 00009059  0x00000fe8 istore  0x00000001 , 0x00000005 
+ 00009060  0x00000fe9 copy  0x00000013 , 0x00000006 
+ 00009061  0x00000fea ifetch  0x00000001 , 0x00000006 
+ 00009062  0x00000feb ifetch  0x00000001 , 0x00000006 
+ 00009063  0x00000fec istore  0x00000001 , 0x00000005 
+ 00009064  0x00000fed copy  0x00000011 , 0x00000039 
+ 00009065  0x00000fee branch  0x00007f01 
+ 00009066  0x00000ff5 fetch  0x00000001 , 0x00004093 
+ 00009067  0x00000ff6 rtnbit0  0x00000001 
+ 00009068  0x00000ff7 force  0x00000005 , 0x00000007 
+ 00009069  0x00000ff8 call  0x00007f16 
+ 00009070  0x00000ff9 nrtn  0x00000034 
+ 00009071  0x00000ffa fetcht  0x00000002 , 0x000040b1 
+ 00009072  0x00000ffb force  0x00000028 , 0x00000007 
+ 00009073  0x00000ffc call  0x0000271c 
+ 00009074  0x00000ffd rtn  0x00000028 
+ 00009075  0x00000ffe force  0x00000000 , 0x00000004 
+ 00009076  0x00000fff jam  0x00000008 , 0x00000010 
+ 00009077  0x00001000 set0  0x0000000b , 0x00000000 
+ 00009078  0x00001001 call  0x0000237a 
+ 00009079  0x00001002 force  0x00000005 , 0x00000007 
+ 00009080  0x00001003 fetch  0x00000002 , 0x000040b3 
+ 00009081  0x00001004 branch  0x00007f08 
+ 00009082  0x00001008 bpatch  0x00000035 , 0x00004006 
+ 00009083  0x00001009 disable  0x00000030 
+ 00009084  0x0000100a call  0x000028a4 
+ 00009085  0x0000100b fetch  0x00000001 , 0x00000008 
+ 00009086  0x0000100c increase  0x00000001 , 0x0000003f 
+ 00009087  0x0000100d store  0x00000001 , 0x00000008 
+ 00009088  0x0000100e force  0x00000000 , 0x00000026 
+ 00009089  0x0000100f call  0x000028e2 
+ 00009090  0x00001010 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00009091  0x00001011 force  0x00000002 , 0x00000024 
+ 00009092  0x00001012 bpatch  0x00000036 , 0x00004006 
+ 00009093  0x00001013 call  0x000028cc 
+ 00009094  0x00001014 call  0x000029eb 
+ 00009095  0x00001015 call  0x00002a14 
+ 00009096  0x00001016 nrtn  0x00000018 
+ 00009097  0x00001017 call  0x000028f9 
+ 00009098  0x00001018 fetch  0x00000001 , 0x00000009 
+ 00009099  0x00001019 increase  0x00000001 , 0x0000003f 
+ 00009100  0x0000101a store  0x00000001 , 0x00000009 
+ 00009101  0x0000101b force  0x00000000 , 0x0000001b 
+ 00009102  0x0000101c call  0x00002a4d 
+ 00009103  0x0000101d or_into  0x00000002 , 0x00000021 
+ 00009104  0x0000101e force  0x00000001 , 0x00000024 
+ 00009105  0x0000101f call  0x000028d2 
+ 00009106  0x00001020 call  0x00002a51 
+ 00009107  0x00001021 call  0x00002a5f 
+ 00009108  0x00001022 call  0x00002a64 
+ 00009109  0x00001023 call  0x0000264d 
+ 00009110  0x00001024 force  0x00000000 , 0x00000004 
+ 00009111  0x00001025 arg  0x00000600 , 0x0000000b 
+ 00009112  0x00001026 until  0x00000029 , 0x00000026 
+ 00009113  0x00001027 or_into  0x00000003 , 0x00000028 
+ 00009114  0x00001028 and_into  0x000001fd , 0x00000021 
+ 00009115  0x0000102a bpatch  0x00000037 , 0x00004006 
+ 00009116  0x0000102b increase  0x00000001 , 0x00000026 
+ 00009117  0x0000102c call  0x000028cc 
+ 00009118  0x0000102d call  0x000029eb 
+ 00009119  0x0000102e call  0x00002a07 
+ 00009120  0x0000102f nbranch  0x000023a4 , 0x00000018 
+ 00009121  0x00001030 call  0x00002a6b 
+ 00009122  0x00001031 call  0x0000251e 
+ 00009123  0x00001032 bmark1  0x0000000b , 0x000023ab 
+ 00009124  0x00001034 bpatch  0x00000038 , 0x00004007 
+ 00009125  0x00001035 fetch  0x00000001 , 0x00000010 
+ 00009126  0x00001036 rtn  0x00000034 
+ 00009127  0x00001037 increase  0xffffffff , 0x0000003f 
+ 00009128  0x00001038 store  0x00000001 , 0x00000010 
+ 00009129  0x00001039 call  0x00002a4f 
+ 00009130  0x0000103a branch  0x0000239b 
+ 00009131  0x0000103e bpatch  0x00000039 , 0x00004007 
+ 00009132  0x0000103f set0  0x00000001 , 0x00000028 
+ 00009133  0x00001040 set1  0x00000000 , 0x00000028 
+ 00009134  0x00001041 fetch  0x00000001 , 0x0000000a 
+ 00009135  0x00001042 increase  0x00000001 , 0x0000003f 
+ 00009136  0x00001043 store  0x00000001 , 0x0000000a 
+ 00009137  0x00001044 call  0x00002a4d 
+ 00009138  0x00001045 or_into  0x00000002 , 0x00000021 
+ 00009139  0x00001046 call  0x000028d2 
+ 00009140  0x00001047 call  0x00002a51 
+ 00009141  0x00001048 call  0x00002a5f 
+ 00009142  0x00001049 call  0x00002a64 
+ 00009143  0x0000104a call  0x0000264d 
+ 00009144  0x0000104c compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00009145  0x0000104d branch  0x000023bc , 0x00000001 
+ 00009146  0x0000104e until  0x0000003e , 0x00000017 
+ 00009147  0x0000104f branch  0x000023b8 
+ 00009148  0x00001051 fetch  0x00000004 , 0x00000165 
+ 00009149  0x00001052 or_into  0x00000003 , 0x0000003f 
+ 00009150  0x00001053 icopy  0x00000028 
+ 00009151  0x00001056 bpatch  0x0000003a , 0x00004007 
+ 00009152  0x00001057 fetch  0x00000006 , 0x00000178 
+ 00009153  0x00001058 store  0x00000006 , 0x00000040 
+ 00009154  0x00001059 call  0x00002435 
+ 00009155  0x0000105b call  0x0000247c 
+ 00009156  0x0000105c branch  0x000023c8 , 0x0000002d 
+ 00009157  0x0000105d call  0x00002455 
+ 00009158  0x0000105e nbranch  0x000023c3 , 0x00000034 
+ 00009159  0x0000105f rtn 
+ 00009160  0x00001063 bpatch  0x0000003b , 0x00004007 
+ 00009161  0x00001064 call  0x00002440 
+ 00009162  0x00001065 call  0x0000223b 
+ 00009163  0x00001066 nrtn  0x00000005 
+ 00009164  0x00001067 jam  0x00000000 , 0x00000031 
+ 00009165  0x00001068 call  0x00002841 
+ 00009166  0x00001069 branch  0x00002223 
+ 00009167  0x0000106f bpatch  0x0000003c , 0x00004007 
+ 00009168  0x00001070 call  0x00002850 
+ 00009169  0x00001071 call  0x000023f3 
+ 00009170  0x00001072 rtn  0x00000028 
+ 00009171  0x00001074 bpatch  0x0000003d , 0x00004007 
+ 00009172  0x00001075 call  0x00002c69 
+ 00009173  0x00001076 call  0x00006caa 
+ 00009174  0x00001077 call  0x00002514 
+ 00009175  0x00001078 nbranch  0x000023e2 , 0x0000002d 
+ 00009176  0x00001079 call  0x00002a88 
+ 00009177  0x0000107a call  0x00006cc2 
+ 00009178  0x0000107b call  0x00002489 
+ 00009179  0x0000107c call  0x00002757 
+ 00009180  0x0000107d call  0x00002728 
+ 00009181  0x0000107e call  0x00005d08 
+ 00009182  0x0000107f fetch  0x00000001 , 0x0000000b 
+ 00009183  0x00001080 increase  0x00000001 , 0x0000003f 
+ 00009184  0x00001081 store  0x00000001 , 0x0000000b 
+ 00009185  0x00001082 call  0x00002841 
+ 00009186  0x00001084 bpatch  0x0000003e , 0x00004007 
+ 00009187  0x00001085 call  0x00002bb1 
+ 00009188  0x00001086 call  0x00002a7f 
+ 00009189  0x00001087 branch  0x000023eb , 0x00000002 
+ 00009190  0x00001088 call  0x000021a7 
+ 00009191  0x00001089 nbranch  0x000023eb , 0x00000028 
+ 00009192  0x0000108a call  0x000026f3 
+ 00009193  0x0000108b nbranch  0x000023d3 , 0x00000034 
+ 00009194  0x0000108c rtn 
+ 00009195  0x0000108f bpatch  0x0000003f , 0x00004007 
+ 00009196  0x00001090 jam  0x00000000 , 0x00000151 
+ 00009197  0x00001091 jam  0x00000000 , 0x0000017f 
+ 00009198  0x00001092 call  0x0000245d 
+ 00009199  0x00001093 set0  0x00000011 , 0x00000000 
+ 00009200  0x00001094 call  0x00007fb0 
+ 00009201  0x00001095 fetch  0x00000001 , 0x00000030 
+ 00009202  0x00001096 rtn 
+ 00009203  0x0000109a bpatch  0x00000040 , 0x00004008 
+ 00009204  0x0000109b call  0x000021c9 
+ 00009205  0x0000109c nrtn  0x00000028 
+ 00009206  0x0000109d copy  0x00000004 , 0x00000002 
+ 00009207  0x0000109e call  0x00002a6f 
+ 00009208  0x0000109f store  0x00000001 , 0x00000181 
+ 00009209  0x000010a0 copy  0x00000002 , 0x00000004 
+ 00009210  0x000010a1 jam  0x00000020 , 0x00000011 
+ 00009211  0x000010a3 bpatch  0x00000041 , 0x00004008 
+ 00009212  0x000010a4 call  0x00002a4f 
+ 00009213  0x000010a5 force  0x00000002 , 0x00000001 
+ 00009214  0x000010a6 call  0x0000274f 
+ 00009215  0x000010a7 deposit  0x00000022 
+ 00009216  0x000010a8 store  0x00000004 , 0x00000161 
+ 00009217  0x000010a9 call  0x00002762 
+ 00009218  0x000010aa call  0x00002a4d 
+ 00009219  0x000010ab enable  0x0000002f 
+ 00009220  0x000010ac call  0x000024f6 
+ 00009221  0x000010ad branch  0x0000240d , 0x00000018 
+ 00009222  0x000010ae call  0x000028f9 
+ 00009223  0x000010af call  0x00002455 
+ 00009224  0x000010b0 nbranch  0x000023fb , 0x00000034 
+ 00009225  0x000010b1 rtnmark0  0x00000004 
+ 00009226  0x000010b2 jam  0x00000034 , 0x0000007c 
+ 00009227  0x000010b3 set1  0x00000003 , 0x00000000 
+ 00009228  0x000010b4 rtn 
+ 00009229  0x000010b6 enable  0x00000030 
+ 00009230  0x000010b7 call  0x00002435 
+ 00009231  0x000010b8 call  0x000028a4 
+ 00009232  0x000010ba bpatch  0x00000042 , 0x00004008 
+ 00009233  0x000010bb call  0x000022f2 
+ 00009234  0x000010bc branch  0x00002419 , 0x00000018 
+ 00009235  0x000010bd call  0x00002455 
+ 00009236  0x000010be nbranch  0x00002410 , 0x00000034 
+ 00009237  0x000010bf disable  0x00000030 
+ 00009238  0x000010c0 deposit  0x00000028 
+ 00009239  0x000010c1 store  0x00000004 , 0x000040ca 
+ 00009240  0x000010c2 rtn 
+ 00009241  0x000010c4 enable  0x00000029 
+ 00009242  0x000010c5 bmark0  0x00000004 , 0x0000241f 
+ 00009243  0x000010c6 set0  0x00000004 , 0x00000000 
+ 00009244  0x000010c7 jam  0x00000003 , 0x0000007c 
+ 00009245  0x000010c8 jam  0x00000033 , 0x0000007d 
+ 00009246  0x000010c9 call  0x000062f8 
+ 00009247  0x000010cb deposit  0x00000004 
+ 00009248  0x000010cc store  0x00000001 , 0x00000077 
+ 00009249  0x000010cd force  0x00000000 , 0x0000003f 
+ 00009250  0x000010ce store  0x00000006 , 0x00000038 
+ 00009251  0x000010cf fetch  0x00000001 , 0x00000031 
+ 00009252  0x000010d0 set1  0x00000001 , 0x0000003f 
+ 00009253  0x000010d1 store  0x00000001 , 0x00000031 
+ 00009254  0x000010d2 call  0x00002a88 
+ 00009255  0x000010d3 disable  0x00000029 
+ 00009256  0x000010d4 enable  0x00000028 
+ 00009257  0x000010d5 rtn 
+ 00009258  0x000010da bpatch  0x00000043 , 0x00004008 
+ 00009259  0x000010db disable  0x0000002d 
+ 00009260  0x000010dc set0  0x00000005 , 0x00000000 
+ 00009261  0x000010dd set0  0x0000000a , 0x00000000 
+ 00009262  0x000010de set0  0x00000010 , 0x00000000 
+ 00009263  0x000010df set0  0x0000000f , 0x00000000 
+ 00009264  0x000010e0 fetch  0x00000001 , 0x00000047 
+ 00009265  0x000010e1 set0  0x00000005 , 0x0000003f 
+ 00009266  0x000010e2 set1  0x00000004 , 0x0000003f 
+ 00009267  0x000010e3 store  0x00000001 , 0x00000047 
+ 00009268  0x000010e4 rtn 
+ 00009269  0x000010e7 bpatch  0x00000044 , 0x00004008 
+ 00009270  0x000010e8 jam  0x00000020 , 0x00000011 
+ 00009271  0x000010e9 jam  0x00000050 , 0x00000047 
+ 00009272  0x000010ea fetch  0x00000002 , 0x000040bf 
+ 00009273  0x000010eb store  0x00000002 , 0x0000003e 
+ 00009274  0x000010ec deposit  0x00000022 
+ 00009275  0x000010ed store  0x00000004 , 0x000040ca 
+ 00009276  0x000010ee rtn  0x00000030 
+ 00009277  0x000010ef deposit  0x00000028 
+ 00009278  0x000010f0 store  0x00000004 , 0x000040ca 
+ 00009279  0x000010f1 rtn 
+ 00009280  0x000010f4 bpatch  0x00000045 , 0x00004008 
+ 00009281  0x000010f5 call  0x00005d04 
+ 00009282  0x000010f6 call  0x00002459 
+ 00009283  0x000010f7 store  0x00000001 , 0x00000046 
+ 00009284  0x000010f8 setarg  0x00000000 
+ 00009285  0x000010f9 store  0x00000002 , 0x0000025d 
+ 00009286  0x000010fa setarg  0x00001c80 
+ 00009287  0x000010fb store  0x00000002 , 0x00000051 
+ 00009288  0x000010fc fetch  0x00000001 , 0x00000030 
+ 00009289  0x000010fd set1  0x00000000 , 0x0000003f 
+ 00009290  0x000010fe store  0x00000001 , 0x00000030 
+ 00009291  0x000010ff jam  0x00000000 , 0x0000004b 
+ 00009292  0x00001100 jam  0x00000000 , 0x0000004c 
+ 00009293  0x00001101 jam  0x00000000 , 0x000000a0 
+ 00009294  0x00001102 branch  0x00002a88 
+ 00009295  0x00001106 bpatch  0x00000046 , 0x00004008 
+ 00009296  0x00001107 force  0x00000000 , 0x0000003f 
+ 00009297  0x00001108 store  0x00000008 , 0x000041be 
+ 00009298  0x00001109 istore  0x00000008 , 0x00000005 
+ 00009299  0x0000110a call  0x000021c5 
+ 00009300  0x0000110b branch  0x00002254 
+ 00009301  0x0000110e fetch  0x00000001 , 0x00000011 
+ 00009302  0x0000110f increase  0xffffffff , 0x0000003f 
+ 00009303  0x00001110 store  0x00000001 , 0x00000011 
+ 00009304  0x00001111 rtn 
+ 00009305  0x00001114 fetch  0x00000001 , 0x000040cf 
+ 00009306  0x00001115 increase  0x00000001 , 0x0000003f 
+ 00009307  0x00001116 store  0x00000001 , 0x000040cf 
+ 00009308  0x00001117 rtn 
+ 00009309  0x0000111b bpatch  0x00000047 , 0x00004008 
+ 00009310  0x0000111c fetch  0x00000001 , 0x000041ce 
+ 00009311  0x0000111d beq  0x00000003 , 0x00002462 
+ 00009312  0x0000111e fetch  0x00000001 , 0x00000048 
+ 00009313  0x0000111f bne  0x00000001 , 0x00002466 
+ 00009314  0x00001121 call  0x00004d06 
+ 00009315  0x00001122 nbranch  0x00002466 , 0x00000005 
+ 00009316  0x00001123 call  0x000021a4 
+ 00009317  0x00001124 jam  0x00000000 , 0x000041ce 
+ 00009318  0x00001126 bpatch  0x00000048 , 0x00004009 
+ 00009319  0x00001127 call  0x000033af 
+ 00009320  0x00001128 call  0x000026e9 
+ 00009321  0x00001129 jam  0x00000002 , 0x00000a99 
+ 00009322  0x0000112a call  0x00007d86 
+ 00009323  0x0000112b call  0x00005cf7 
+ 00009324  0x0000112c call  0x00004d6b 
+ 00009325  0x0000112d call  0x0000757d 
+ 00009326  0x0000112e fetch  0x00000001 , 0x00000030 
+ 00009327  0x0000112f set0  0x00000000 
+ 00009328  0x00001130 store  0x00000001 , 0x00000030 
+ 00009329  0x00001131 jam  0x00000000 , 0x00004681 
+ 00009330  0x00001133 fetch  0x00000001 , 0x0000004c 
+ 00009331  0x00001134 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00009332  0x00001135 branch  0x00002476 , 0x00000001 
+ 00009333  0x00001136 set0  0x00000001 , 0x00000000 
+ 00009334  0x00001138 fetch  0x00000001 , 0x00000047 
+ 00009335  0x00001139 bbit0  0x00000003 , 0x00002478 
+ 00009336  0x0000113b fetch  0x00000001 , 0x0000004b 
+ 00009337  0x0000113c rtnbit0  0x00000006 
+ 00009338  0x0000113d set0  0x00000002 , 0x00000000 
+ 00009339  0x0000113e rtn 
+ 00009340  0x00001141 bpatch  0x00000049 , 0x00004009 
+ 00009341  0x00001142 fetch  0x00000001 , 0x00000174 
+ 00009342  0x00001143 rtn  0x00000034 
+ 00009343  0x00001144 icopy  0x00000004 
+ 00009344  0x00001145 call  0x00002514 
+ 00009345  0x00001146 nrtn  0x0000002d 
+ 00009346  0x00001147 force  0x00000000 , 0x00000001 
+ 00009347  0x00001148 call  0x00002757 
+ 00009348  0x00001149 deposit  0x00000004 
+ 00009349  0x0000114a store  0x00000001 , 0x00000077 
+ 00009350  0x0000114b force  0x00000000 , 0x0000003f 
+ 00009351  0x0000114c store  0x00000001 , 0x00000174 
+ 00009352  0x0000114d rtn 
+ 00009353  0x00001154 bpatch  0x0000004a , 0x00004009 
+ 00009354  0x00001155 fetch  0x00000001 , 0x00000030 
+ 00009355  0x00001156 bbit0  0x00000002 , 0x00002496 
+ 00009356  0x00001157 force  0x00000007 , 0x00000001 
+ 00009357  0x00001158 bmark0  0x00000007 , 0x00002495 
+ 00009358  0x00001159 call  0x00002725 
+ 00009359  0x0000115a nbranch  0x00002496 , 0x00000001 
+ 00009360  0x0000115b branch  0x00002496 , 0x0000002e 
+ 00009361  0x0000115c call  0x000024c1 
+ 00009362  0x0000115d setarg  0x00000002 
+ 00009363  0x0000115e store  0x00000002 , 0x000040c8 
+ 00009364  0x0000115f rtn 
+ 00009365  0x00001161 nrtn  0x0000002e 
+ 00009366  0x00001163 bpatch  0x0000004b , 0x00004009 
+ 00009367  0x00001164 call  0x00002243 
+ 00009368  0x00001165 nbranch  0x000024a7 , 0x00000005 
+ 00009369  0x00001166 fetch  0x00000001 , 0x00000047 
+ 00009370  0x00001167 bbit0  0x00000003 , 0x000024b0 
+ 00009371  0x00001169 bmark1  0x00000005 , 0x000024b4 
+ 00009372  0x0000116a fetch  0x00000001 , 0x0000017f 
+ 00009373  0x0000116b bbit1  0x00000006 , 0x000024ba 
+ 00009374  0x0000116c fetch  0x00000002 , 0x000040c8 
+ 00009375  0x0000116d increase  0xffffffff , 0x0000003f 
+ 00009376  0x0000116e store  0x00000002 , 0x000040c8 
+ 00009377  0x0000116f branch  0x000024a5 , 0x00000034 
+ 00009378  0x00001170 fetch  0x00000001 , 0x000040c5 
+ 00009379  0x00001171 iforce  0x00000001 
+ 00009380  0x00001172 rtn 
+ 00009381  0x00001175 bpatch  0x0000004c , 0x00004009 
+ 00009382  0x00001176 call  0x00002687 
+ 00009383  0x00001178 call  0x00002725 
+ 00009384  0x00001179 branch  0x000024b0 , 0x00000001 
+ 00009385  0x0000117a call  0x0000600a 
+ 00009386  0x0000117b branch  0x000024be , 0x00000028 
+ 00009387  0x0000117c fetch  0x00000001 , 0x0000004b 
+ 00009388  0x0000117d bbit1  0x00000006 , 0x000024c0 
+ 00009389  0x0000117e bmark1  0x00000005 , 0x000024b4 
+ 00009390  0x0000117f fetch  0x00000001 , 0x0000017f 
+ 00009391  0x00001180 bbit1  0x00000006 , 0x000024ba 
+ 00009392  0x00001182 force  0x00000001 , 0x00000001 
+ 00009393  0x00001183 rtn  0x00000029 
+ 00009394  0x00001184 force  0x00000000 , 0x00000001 
+ 00009395  0x00001185 rtn 
+ 00009396  0x00001187 bpatch  0x0000004d , 0x00004009 
+ 00009397  0x00001188 fetch  0x00000001 , 0x00000019 
+ 00009398  0x00001189 iforce  0x00000001 
+ 00009399  0x0000118a rtnne  0x00000001 
+ 00009400  0x0000118b force  0x00000000 , 0x00000001 
+ 00009401  0x0000118c rtn 
+ 00009402  0x0000118e fetch  0x00000001 , 0x00000158 
+ 00009403  0x0000118f and  0x0000003f , 0x0000000f , 0x00000001 
+ 00009404  0x00001190 set1  0x00000005 , 0x00000000 
+ 00009405  0x00001191 rtn 
+ 00009406  0x00001193 force  0x00000013 , 0x00000001 
+ 00009407  0x00001194 branch  0x000024c1 
+ 00009408  0x00001196 call  0x000024ca 
+ 00009409  0x00001199 bpatch  0x0000004e , 0x00004009 
+ 00009410  0x0000119a fetcht  0x00000001 , 0x00000047 
+ 00009411  0x0000119b set1  0x00000003 , 0x00000002 
+ 00009412  0x0000119c storet  0x00000001 , 0x00000047 
+ 00009413  0x0000119d deposit  0x00000001 
+ 00009414  0x0000119e store  0x00000001 , 0x000040c5 
+ 00009415  0x0000119f setarg  0x0000ffff 
+ 00009416  0x000011a0 store  0x00000002 , 0x000040c8 
+ 00009417  0x000011a1 rtn 
+ 00009418  0x000011a4 bpatch  0x0000004f , 0x00004009 
+ 00009419  0x000011a5 fetch  0x00000001 , 0x0000004c 
+ 00009420  0x000011a6 isolate1  0x00000005 , 0x0000003f 
+ 00009421  0x000011a7 fetch  0x00000002 , 0x000041dc 
+ 00009422  0x000011a8 branch  0x000024e0 , 0x00000001 
+ 00009423  0x000011a9 force  0x00000003 , 0x00000001 
+ 00009424  0x000011aa sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009425  0x000011ab rtn  0x00000002 
+ 00009426  0x000011ac force  0x00000004 , 0x00000001 
+ 00009427  0x000011ad sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00009428  0x000011ae rtn  0x00000002 
+ 00009429  0x000011af force  0x0000000a , 0x00000001 
+ 00009430  0x000011b0 sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00009431  0x000011b1 rtn  0x00000002 
+ 00009432  0x000011b2 force  0x0000000b , 0x00000001 
+ 00009433  0x000011b3 sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00009434  0x000011b4 rtn  0x00000002 
+ 00009435  0x000011b5 force  0x0000000e , 0x00000001 
+ 00009436  0x000011b6 sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00009437  0x000011b7 rtn  0x00000002 
+ 00009438  0x000011b8 force  0x0000000f , 0x00000001 
+ 00009439  0x000011b9 rtn 
+ 00009440  0x000011bb force  0x00000003 , 0x00000001 
+ 00009441  0x000011bc sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009442  0x000011bd rtn  0x00000002 
+ 00009443  0x000011be force  0x00000004 , 0x00000001 
+ 00009444  0x000011bf sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00009445  0x000011c0 rtn  0x00000002 
+ 00009446  0x000011c1 force  0x0000000a , 0x00000001 
+ 00009447  0x000011c2 arg  0x0000016f , 0x00000002 
+ 00009448  0x000011c3 isub  0x00000002 , 0x0000003e 
+ 00009449  0x000011c4 nrtn  0x00000002 
+ 00009450  0x000011c5 force  0x0000000e , 0x00000001 
+ 00009451  0x000011c6 arg  0x000002a7 , 0x00000002 
+ 00009452  0x000011c7 isub  0x00000002 , 0x0000003e 
+ 00009453  0x000011c8 nrtn  0x00000002 
+ 00009454  0x000011c9 force  0x0000000f , 0x00000001 
+ 00009455  0x000011ca rtn 
+ 00009456  0x000011d4 fetch  0x00000001 , 0x00000030 
+ 00009457  0x000011d5 bbit0  0x00000001 , 0x000024f5 
+ 00009458  0x000011d6 fetch  0x00000002 , 0x00000032 
+ 00009459  0x000011d7 branch  0x000024f5 , 0x00000034 
+ 00009460  0x000011d8 nbranch  0x000024f7 , 0x0000002e 
+ 00009461  0x000011da call  0x00002a4f 
+ 00009462  0x000011dc add  0x00000028 , 0x00000001 , 0x00000021 
+ 00009463  0x000011de enable  0x00000010 
+ 00009464  0x000011df fetch  0x00000002 , 0x0000003e 
+ 00009465  0x000011e0 rshift  0x0000003f , 0x0000003f 
+ 00009466  0x000011e1 arg  0x00000500 , 0x00000002 
+ 00009467  0x000011e2 iadd  0x00000002 , 0x0000003f 
+ 00009468  0x000011e3 call  0x00002a24 
+ 00009469  0x000011e4 call  0x000028ea 
+ 00009470  0x000011e5 force  0x00000003 , 0x00000024 
+ 00009471  0x000011e6 call  0x000028cc 
+ 00009472  0x000011e7 call  0x0000242a 
+ 00009473  0x000011e8 call  0x000029f1 
+ 00009474  0x000011e9 bpatch  0x00000050 , 0x0000400a 
+ 00009475  0x000011ea fetch  0x00000002 , 0x0000003e 
+ 00009476  0x000011eb rshift  0x0000003f , 0x0000003f 
+ 00009477  0x000011ec call  0x00002a24 
+ 00009478  0x000011ed call  0x000029eb 
+ 00009479  0x000011ee enable  0x0000000d 
+ 00009480  0x000011ef fetch  0x00000002 , 0x0000003e 
+ 00009481  0x000011f0 arg  0x000003bb , 0x00000002 
+ 00009482  0x000011f1 iadd  0x00000002 , 0x0000001b 
+ 00009483  0x000011f2 correlate  0x0000003e , 0x00000003 
+ 00009484  0x000011f3 copy  0x0000001a , 0x00000002 
+ 00009485  0x000011f4 storet  0x00000006 , 0x0000009a 
+ 00009486  0x000011f5 disable  0x0000000d 
+ 00009487  0x000011f6 nrtn  0x00000018 
+ 00009488  0x000011f7 arg  0x000003bb , 0x00000029 
+ 00009489  0x000011f8 copy  0x00000021 , 0x00000028 
+ 00009490  0x000011f9 branch  0x00002b05 , 0x0000002b 
+ 00009491  0x000011fa rtn 
+ 00009492  0x000011fe bpatch  0x00000051 , 0x0000400a 
+ 00009493  0x000011ff call  0x000024f0 
+ 00009494  0x00001200 nbranch  0x000028f9 , 0x00000018 
+ 00009495  0x00001201 call  0x000029bb 
+ 00009496  0x00001202 bmark0  0x00000011 , 0x0000251c 
+ 00009497  0x00001203 fetch  0x00000002 , 0x000000f6 
+ 00009498  0x00001204 increase  0x00000001 , 0x0000003f 
+ 00009499  0x00001205 store  0x00000002 , 0x000000f6 
+ 00009500  0x00001207 rshift  0x00000021 , 0x00000002 
+ 00009501  0x00001208 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00009502  0x0000120a bpatch  0x00000052 , 0x0000400a 
+ 00009503  0x0000120b enable  0x00000007 
+ 00009504  0x0000120c enable  0x0000000a 
+ 00009505  0x0000120d enable  0x0000000b 
+ 00009506  0x0000120e parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009507  0x0000120f rshift8  0x0000000c , 0x0000003f 
+ 00009508  0x00001210 store  0x00000001 , 0x0000015d 
+ 00009509  0x00001211 parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00009510  0x00001212 inject  0x00000000 , 0x00000007 
+ 00009511  0x00001213 copy  0x0000000c , 0x0000003f 
+ 00009512  0x00001214 store  0x00000001 , 0x00000019 
+ 00009513  0x00001215 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009514  0x00001216 rshift8  0x0000000c , 0x0000003f 
+ 00009515  0x00001217 store  0x00000001 , 0x0000015e 
+ 00009516  0x00001218 fetch  0x00000001 , 0x00000019 
+ 00009517  0x00001219 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00009518  0x0000121a branch  0x00002533 , 0x00000002 
+ 00009519  0x0000121b beq  0x00000007 , 0x00002533 
+ 00009520  0x0000121c fetch  0x00000001 , 0x0000004c 
+ 00009521  0x0000121d isolate1  0x00000005 , 0x0000003f 
+ 00009522  0x0000121e setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00009523  0x00001220 bpatch  0x00000053 , 0x0000400a 
+ 00009524  0x00001221 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009525  0x00001222 disable  0x0000000b 
+ 00009526  0x00001223 disable  0x0000000a 
+ 00009527  0x00001224 branch  0x00002631 , 0x00000006 
+ 00009528  0x00001225 bmark0  0x00000011 , 0x0000253c 
+ 00009529  0x00001226 fetch  0x00000002 , 0x000000f8 
+ 00009530  0x00001227 increase  0x00000001 , 0x0000003f 
+ 00009531  0x00001228 store  0x00000002 , 0x000000f8 
+ 00009532  0x0000122a bpatch  0x00000054 , 0x0000400a 
+ 00009533  0x0000122b fetch  0x00000001 , 0x0000015d 
+ 00009534  0x0000122c compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00009535  0x0000122d setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00009536  0x0000122e branch  0x0000254c , 0x00000001 
+ 00009537  0x0000122f icompare  0x00000007 , 0x00000004 
+ 00009538  0x00001230 branch  0x0000254b , 0x00000001 
+ 00009539  0x00001231 bmark0  0x00000007 , 0x0000264d 
+ 00009540  0x00001232 fetcht  0x00000001 , 0x000000b0 
+ 00009541  0x00001233 icompare  0x00000007 , 0x00000002 
+ 00009542  0x00001234 nbranch  0x0000264d , 0x00000001 
+ 00009543  0x00001235 fetch  0x00000001 , 0x00000047 
+ 00009544  0x00001236 set0  0x00000005 , 0x0000003f 
+ 00009545  0x00001237 set1  0x00000004 , 0x0000003f 
+ 00009546  0x00001238 store  0x00000001 , 0x00000047 
+ 00009547  0x0000123a enable  0x0000002d 
+ 00009548  0x0000123c bpatch  0x00000055 , 0x0000400a 
+ 00009549  0x0000123d fetch  0x00000001 , 0x00000019 
+ 00009550  0x0000123e icopy  0x00000001 
+ 00009551  0x0000123f bmark1  0x0000000a , 0x0000255b 
+ 00009552  0x00001240 fetcht  0x00000001 , 0x0000015e 
+ 00009553  0x00001241 fetch  0x00000001 , 0x00000047 
+ 00009554  0x00001242 set0  0x00000000 , 0x0000003f 
+ 00009555  0x00001243 isolate1  0x00000000 , 0x00000002 
+ 00009556  0x00001244 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00009557  0x00001245 isolate1  0x00000001 , 0x00000002 
+ 00009558  0x00001246 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00009559  0x00001247 store  0x00000001 , 0x00000047 
+ 00009560  0x00001248 isolate0  0x00000001 , 0x00000002 
+ 00009561  0x00001249 branch  0x0000255b , 0x00000001 
+ 00009562  0x0000124a call  0x00002687 
+ 00009563  0x0000124c bpatch  0x00000056 , 0x0000400a 
+ 00009564  0x0000124d arg  0x00000000 , 0x00000002 
+ 00009565  0x0000124e call  0x00002a1c 
+ 00009566  0x0000124f and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00009567  0x00001250 beq  0x00000001 , 0x00002587 
+ 00009568  0x00001251 beq  0x00000000 , 0x0000264d 
+ 00009569  0x00001252 beq  0x00000002 , 0x00002659 
+ 00009570  0x00001253 fetcht  0x00000001 , 0x0000015e 
+ 00009571  0x00001254 fetch  0x00000001 , 0x00000047 
+ 00009572  0x00001255 icompare  0x00000004 , 0x00000002 
+ 00009573  0x00001256 nbranch  0x00002569 , 0x00000001 
+ 00009574  0x00001257 bmark0  0x0000000a , 0x00002568 
+ 00009575  0x00001258 bbit0  0x00000007 , 0x00002569 
+ 00009576  0x0000125a set1  0x0000000f , 0x00000000 
+ 00009577  0x0000125c bpatch  0x00000057 , 0x0000400a 
+ 00009578  0x0000125d deposit  0x00000001 
+ 00009579  0x0000125e beq  0x00000003 , 0x00002589 
+ 00009580  0x0000125f beq  0x00000004 , 0x0000258d 
+ 00009581  0x00001260 beq  0x00000007 , 0x00002578 
+ 00009582  0x00001261 beq  0x00000008 , 0x0000258c 
+ 00009583  0x00001262 arg  0x00000004 , 0x00000002 
+ 00009584  0x00001263 call  0x00002a1c 
+ 00009585  0x00001264 beq  0x0000000a , 0x00002588 
+ 00009586  0x00001265 beq  0x0000000b , 0x0000258b 
+ 00009587  0x00001266 arg  0x00000008 , 0x00000002 
+ 00009588  0x00001267 call  0x00002a1c 
+ 00009589  0x00001268 beq  0x0000000e , 0x00002588 
+ 00009590  0x00001269 beq  0x0000000f , 0x0000258b 
+ 00009591  0x0000126a rtn 
+ 00009592  0x0000126e bpatch  0x00000058 , 0x0000400b 
+ 00009593  0x0000126f enable  0x0000000d 
+ 00009594  0x00001270 enable  0x00000009 
+ 00009595  0x00001271 enable  0x0000000e 
+ 00009596  0x00001272 arg  0x000000d1 , 0x00000005 
+ 00009597  0x00001273 force  0x0000001e , 0x00000039 
+ 00009598  0x00001275 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009599  0x00001276 rshift3  0x0000000c , 0x0000003f 
+ 00009600  0x00001277 istore  0x00000001 , 0x00000005 
+ 00009601  0x00001278 loop  0x0000257e 
+ 00009602  0x00001279 bmark0  0x00000007 , 0x0000264d 
+ 00009603  0x0000127a parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009604  0x0000127b nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00009605  0x0000127c branch  0x0000263d , 0x00000006 
+ 00009606  0x0000127d branch  0x00002620 
+ 00009607  0x00001281 branch  0x0000264d 
+ 00009608  0x00001285 set1  0x00000010 , 0x00000000 
+ 00009609  0x00001287 enable  0x0000000c 
+ 00009610  0x00001288 branch  0x0000258e 
+ 00009611  0x0000128c set1  0x00000010 , 0x00000000 
+ 00009612  0x0000128e set1  0x00000002 , 0x00000015 
+ 00009613  0x00001290 enable  0x0000000d 
+ 00009614  0x00001292 bpatch  0x00000059 , 0x0000400b 
+ 00009615  0x00001293 bmark1  0x00000001 , 0x0000264d 
+ 00009616  0x00001294 isolate0  0x00000001 , 0x00000015 
+ 00009617  0x00001295 branch  0x0000259a , 0x00000001 
+ 00009618  0x00001296 disable  0x00000007 
+ 00009619  0x00001297 enable  0x0000000d 
+ 00009620  0x00001298 disable  0x0000000c 
+ 00009621  0x00001299 add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00009622  0x0000129a correlate  0x00000022 , 0x00000026 
+ 00009623  0x0000129b nbranch  0x0000263d , 0x00000018 
+ 00009624  0x0000129c set1  0x00000010 , 0x00000000 
+ 00009625  0x0000129d enable  0x00000007 
+ 00009626  0x0000129f bpatch  0x0000005a , 0x0000400b 
+ 00009627  0x000012a0 enable  0x0000000e 
+ 00009628  0x000012a1 enable  0x00000009 
+ 00009629  0x000012a2 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009630  0x000012a3 rshift8  0x0000000c , 0x0000003f 
+ 00009631  0x000012a4 store  0x00000001 , 0x00000180 
+ 00009632  0x000012a5 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009633  0x000012a6 bmark1  0x00000010 , 0x000025a5 
+ 00009634  0x000012a7 rshift3  0x0000000c , 0x00000039 
+ 00009635  0x000012a8 rshift3  0x00000039 , 0x00000039 
+ 00009636  0x000012a9 branch  0x000025a8 
+ 00009637  0x000012ab parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009638  0x000012ac rshift  0x0000000c , 0x00000039 
+ 00009639  0x000012ad parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009640  0x000012af bpatch  0x0000005b , 0x0000400b 
+ 00009641  0x000012b0 deposit  0x00000039 
+ 00009642  0x000012b1 store  0x00000002 , 0x0000015f 
+ 00009643  0x000012b2 branch  0x000025e8 , 0x00000034 
+ 00009644  0x000012b3 isub  0x00000035 , 0x0000003e 
+ 00009645  0x000012b4 branch  0x0000263d , 0x00000002 
+ 00009646  0x000012b5 bpatch  0x0000005c , 0x0000400b 
+ 00009647  0x000012b6 set0  0x00000000 , 0x00000000 
+ 00009648  0x000012b7 fetch  0x00000001 , 0x00000180 
+ 00009649  0x000012b8 and_into  0x00000003 , 0x0000003f 
+ 00009650  0x000012b9 arg  0x00000551 , 0x00000005 
+ 00009651  0x000012ba beq  0x00000003 , 0x000025ba 
+ 00009652  0x000012bb bmark1  0x00000011 , 0x000025e4 
+ 00009653  0x000012bd fetch  0x00000001 , 0x00000180 
+ 00009654  0x000012be and_into  0x00000003 , 0x0000003f 
+ 00009655  0x000012bf beq  0x00000002 , 0x000025bf 
+ 00009656  0x000012c0 beq  0x00000001 , 0x000025d3 
+ 00009657  0x000012c1 branch  0x0000263d 
+ 00009658  0x000012c4 fetch  0x00000002 , 0x0000015f 
+ 00009659  0x000012c5 sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00009660  0x000012c6 nbranch  0x0000263d , 0x00000002 
+ 00009661  0x000012c7 bmark1  0x0000000f , 0x00002620 
+ 00009662  0x000012c8 branch  0x000025e4 
+ 00009663  0x000012cc bpatch  0x0000005d , 0x0000400b 
+ 00009664  0x000012cd bmark1  0x0000000f , 0x00002620 
+ 00009665  0x000012ce fetch  0x00000002 , 0x0000015f 
+ 00009666  0x000012cf arg  0x000002e0 , 0x00000002 
+ 00009667  0x000012d0 isub  0x00000002 , 0x0000003e 
+ 00009668  0x000012d1 branch  0x0000263d , 0x00000002 
+ 00009669  0x000012d2 fetch  0x00000001 , 0x00000263 
+ 00009670  0x000012d3 bbit0  0x00000000 , 0x000025c9 
+ 00009671  0x000012d4 bbit0  0x00000001 , 0x000025ce 
+ 00009672  0x000012d5 branch  0x0000264d 
+ 00009673  0x000012d7 jam  0x00000001 , 0x00000261 
+ 00009674  0x000012d8 fetch  0x00000002 , 0x0000025d 
+ 00009675  0x000012d9 bne  0x00000000 , 0x0000264d 
+ 00009676  0x000012da arg  0x00001000 , 0x00000005 
+ 00009677  0x000012db branch  0x000025e4 
+ 00009678  0x000012dd jam  0x00000002 , 0x00000261 
+ 00009679  0x000012de fetch  0x00000002 , 0x0000025f 
+ 00009680  0x000012df bne  0x00000000 , 0x0000264d 
+ 00009681  0x000012e0 arg  0x00001400 , 0x00000005 
+ 00009682  0x000012e1 branch  0x000025e4 
+ 00009683  0x000012e4 bpatch  0x0000005e , 0x0000400b 
+ 00009684  0x000012e5 bmark1  0x0000000f , 0x00002620 
+ 00009685  0x000012e6 fetch  0x00000002 , 0x0000015f 
+ 00009686  0x000012e7 arg  0x000002e0 , 0x00000002 
+ 00009687  0x000012e8 isub  0x00000002 , 0x0000003e 
+ 00009688  0x000012e9 branch  0x0000263d , 0x00000002 
+ 00009689  0x000012ea fetch  0x00000001 , 0x00000261 
+ 00009690  0x000012eb beq  0x00000001 , 0x000025dd 
+ 00009691  0x000012ec beq  0x00000002 , 0x000025e1 
+ 00009692  0x000012ed branch  0x0000264d 
+ 00009693  0x000012ef arg  0x00001000 , 0x00000005 
+ 00009694  0x000012f0 fetch  0x00000002 , 0x0000025d 
+ 00009695  0x000012f1 iadd  0x00000005 , 0x00000005 
+ 00009696  0x000012f2 branch  0x000025e4 
+ 00009697  0x000012f4 arg  0x00001400 , 0x00000005 
+ 00009698  0x000012f5 fetch  0x00000002 , 0x0000025f 
+ 00009699  0x000012f6 iadd  0x00000005 , 0x00000005 
+ 00009700  0x000012f8 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009701  0x000012f9 rshift3  0x0000000c , 0x0000003f 
+ 00009702  0x000012fa istore  0x00000001 , 0x00000005 
+ 00009703  0x000012fb loop  0x000025e4 
+ 00009704  0x000012fd bpatch  0x0000005f , 0x0000400b 
+ 00009705  0x000012fe parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009706  0x000012ff branch  0x00002637 , 0x00000006 
+ 00009707  0x00001300 fetch  0x00000001 , 0x00004363 
+ 00009708  0x00001301 beq  0x00000001 , 0x0000264d 
+ 00009709  0x00001302 bmark1  0x00000011 , 0x0000260d 
+ 00009710  0x00001303 bmark1  0x0000000f , 0x0000264a 
+ 00009711  0x00001304 fetch  0x00000001 , 0x00000180 
+ 00009712  0x00001305 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009713  0x00001306 branch  0x0000260d , 0x00000001 
+ 00009714  0x00001307 fetch  0x00000002 , 0x0000015f 
+ 00009715  0x00001308 branch  0x0000260d , 0x00000034 
+ 00009716  0x00001309 bpatch  0x00000060 , 0x0000400c 
+ 00009717  0x0000130a fetch  0x00000001 , 0x00000261 
+ 00009718  0x0000130b beq  0x00000001 , 0x000025f9 
+ 00009719  0x0000130c beq  0x00000002 , 0x00002603 
+ 00009720  0x0000130d branch  0x00002a8c 
+ 00009721  0x0000130f fetch  0x00000002 , 0x0000025d 
+ 00009722  0x00001310 fetcht  0x00000002 , 0x0000015f 
+ 00009723  0x00001311 iadd  0x00000002 , 0x0000003f 
+ 00009724  0x00001312 store  0x00000002 , 0x0000025d 
+ 00009725  0x00001313 beq  0x00000000 , 0x00002a8c 
+ 00009726  0x00001314 fetcht  0x00000002 , 0x00001000 
+ 00009727  0x00001315 increase  0x00000004 , 0x00000002 
+ 00009728  0x00001316 isub  0x00000002 , 0x0000003e 
+ 00009729  0x00001317 call  0x00002747 , 0x00000005 
+ 00009730  0x00001318 branch  0x0000260d 
+ 00009731  0x0000131a fetch  0x00000002 , 0x0000025f 
+ 00009732  0x0000131b fetcht  0x00000002 , 0x0000015f 
+ 00009733  0x0000131c iadd  0x00000002 , 0x0000003f 
+ 00009734  0x0000131d store  0x00000002 , 0x0000025f 
+ 00009735  0x0000131e beq  0x00000000 , 0x00002a8c 
+ 00009736  0x0000131f fetcht  0x00000002 , 0x00001400 
+ 00009737  0x00001320 add  0x00000002 , 0x00000004 , 0x00000002 
+ 00009738  0x00001321 isub  0x00000002 , 0x0000003e 
+ 00009739  0x00001322 call  0x0000274b , 0x00000005 
+ 00009740  0x00001323 branch  0x0000260d 
+ 00009741  0x00001325 bpatch  0x00000061 , 0x0000400c 
+ 00009742  0x00001326 fetcht  0x00000001 , 0x0000004c 
+ 00009743  0x00001327 fetch  0x00000001 , 0x00000180 
+ 00009744  0x00001328 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009745  0x00001329 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00009746  0x0000132a nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00009747  0x0000132b storet  0x00000001 , 0x0000004c 
+ 00009748  0x0000132c nbranch  0x00002616 , 0x00000001 
+ 00009749  0x0000132d set1  0x00000001 , 0x00000000 
+ 00009750  0x0000132f bmark0  0x00000011 , 0x00002620 
+ 00009751  0x00001330 isolate1  0x00000006 , 0x00000002 
+ 00009752  0x00001331 branch  0x00002620 , 0x00000001 
+ 00009753  0x00001332 fetch  0x00000002 , 0x000000fa 
+ 00009754  0x00001333 increase  0x00000001 , 0x0000003f 
+ 00009755  0x00001334 store  0x00000002 , 0x000000fa 
+ 00009756  0x00001335 set1  0x00000005 , 0x00000000 
+ 00009757  0x00001336 set0  0x00000007 , 0x00000002 
+ 00009758  0x00001337 set0  0x00000001 , 0x00000000 
+ 00009759  0x00001338 storet  0x00000001 , 0x0000004c 
+ 00009760  0x0000133a bpatch  0x00000062 , 0x0000400c 
+ 00009761  0x0000133b fetcht  0x00000001 , 0x0000015e 
+ 00009762  0x0000133c fetch  0x00000001 , 0x00000047 
+ 00009763  0x0000133d set1  0x00000005 , 0x0000003f 
+ 00009764  0x0000133e isolate1  0x00000002 , 0x00000002 
+ 00009765  0x0000133f setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00009766  0x00001340 isolate1  0x0000000a , 0x00000000 
+ 00009767  0x00001341 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00009768  0x00001342 store  0x00000001 , 0x00000047 
+ 00009769  0x00001343 fetch  0x00000002 , 0x0000015f 
+ 00009770  0x00001344 nbranch  0x0000264d , 0x00000034 
+ 00009771  0x00001345 fetch  0x00000001 , 0x0000004c 
+ 00009772  0x00001346 set0  0x00000007 , 0x0000003f 
+ 00009773  0x00001347 store  0x00000001 , 0x0000004c 
+ 00009774  0x00001348 fetch  0x00000001 , 0x00000180 
+ 00009775  0x00001349 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00009776  0x0000134b branch  0x0000264d 
+ 00009777  0x0000134e bpatch  0x00000063 , 0x0000400c 
+ 00009778  0x0000134f disable  0x0000002d 
+ 00009779  0x00001350 fetch  0x00000002 , 0x0000001a 
+ 00009780  0x00001351 increase  0x00000001 , 0x0000003f 
+ 00009781  0x00001352 store  0x00000002 , 0x0000001a 
+ 00009782  0x00001353 branch  0x0000264d 
+ 00009783  0x00001355 fetch  0x00000002 , 0x0000001c 
+ 00009784  0x00001356 increase  0x00000001 , 0x0000003f 
+ 00009785  0x00001357 store  0x00000002 , 0x0000001c 
+ 00009786  0x00001358 call  0x0000263e 
+ 00009787  0x00001359 bmark0  0x00000011 , 0x0000263d 
+ 00009788  0x0000135a set1  0x00000005 , 0x00000000 
+ 00009789  0x0000135c branch  0x0000264d 
+ 00009790  0x0000135f bpatch  0x00000064 , 0x0000400c 
+ 00009791  0x00001360 fetch  0x00000001 , 0x00000180 
+ 00009792  0x00001361 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009793  0x00001362 nbranch  0x00002646 , 0x00000001 
+ 00009794  0x00001364 fetcht  0x00000001 , 0x0000004c 
+ 00009795  0x00001365 set0  0x00000006 , 0x00000002 
+ 00009796  0x00001366 storet  0x00000001 , 0x0000004c 
+ 00009797  0x00001367 rtn 
+ 00009798  0x0000136b fetcht  0x00000001 , 0x0000004c 
+ 00009799  0x0000136c set0  0x00000007 , 0x00000002 
+ 00009800  0x0000136d storet  0x00000001 , 0x0000004c 
+ 00009801  0x0000136e branch  0x00004c0b 
+ 00009802  0x00001371 fetch  0x00000001 , 0x00000047 
+ 00009803  0x00001372 set1  0x00000005 , 0x0000003f 
+ 00009804  0x00001373 store  0x00000001 , 0x00000047 
+ 00009805  0x00001375 bpatch  0x00000065 , 0x0000400c 
+ 00009806  0x00001376 disable  0x0000001d 
+ 00009807  0x00001377 disable  0x0000001c 
+ 00009808  0x00001378 disable  0x0000000d 
+ 00009809  0x00001379 disable  0x0000000c 
+ 00009810  0x0000137a disable  0x00000009 
+ 00009811  0x0000137b disable  0x0000000e 
+ 00009812  0x0000137c disable  0x00000007 
+ 00009813  0x0000137d branch  0x000028f9 , 0x00000021 
+ 00009814  0x0000137e until  0x0000003e , 0x00000027 
+ 00009815  0x0000137f nop  0x00000064 
+ 00009816  0x00001380 branch  0x000028f9 
+ 00009817  0x00001383 bpatch  0x00000066 , 0x0000400c 
+ 00009818  0x00001384 enable  0x00000009 
+ 00009819  0x00001385 enable  0x0000000c 
+ 00009820  0x00001386 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009821  0x00001387 isolate1  0x0000003a , 0x0000003f 
+ 00009822  0x00001388 setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00009823  0x00001389 copy  0x00000020 , 0x00000002 
+ 00009824  0x0000138a ialigned  0x00000020 
+ 00009825  0x0000138b ialigned  0x0000001e 
+ 00009826  0x0000138c pulse  0x00000015 
+ 00009827  0x0000138d setsect  0x00000002 , 0x000fffff 
+ 00009828  0x0000138e setsect  0x00000003 , 0x0000ffff 
+ 00009829  0x0000138f nop  0x00000020 
+ 00009830  0x00001390 iverify  0x0000000d 
+ 00009831  0x00001391 deposit  0x0000002c 
+ 00009832  0x00001392 store  0x00000003 , 0x00000178 
+ 00009833  0x00001393 deposit  0x0000002d 
+ 00009834  0x00001394 store  0x00000001 , 0x0000017b 
+ 00009835  0x00001395 copy  0x00000002 , 0x00000020 
+ 00009836  0x00001396 branch  0x0000266e , 0x00000001 
+ 00009837  0x00001397 branch  0x0000263d 
+ 00009838  0x00001399 bpatch  0x00000067 , 0x0000400c 
+ 00009839  0x0000139a parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009840  0x0000139b ialigned  0x0000001f 
+ 00009841  0x0000139c ialigned  0x00000004 
+ 00009842  0x0000139d ialigned  0x0000002e 
+ 00009843  0x0000139e ialigned  0x00000012 
+ 00009844  0x0000139f force  0x00000000 , 0x0000003f 
+ 00009845  0x000013a0 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009846  0x000013a1 branch  0x0000263d , 0x00000006 
+ 00009847  0x000013a2 setarg  0x0ffffffc 
+ 00009848  0x000013a3 iand  0x00000012 , 0x0000003f 
+ 00009849  0x000013a4 store  0x00000004 , 0x00000165 
+ 00009850  0x000013a5 deposit  0x0000001d 
+ 00009851  0x000013a6 store  0x00000003 , 0x00000175 
+ 00009852  0x000013a7 deposit  0x0000001c 
+ 00009853  0x000013a8 store  0x00000001 , 0x00000173 
+ 00009854  0x000013a9 deposit  0x00000004 
+ 00009855  0x000013aa store  0x00000001 , 0x00000174 
+ 00009856  0x000013ab deposit  0x0000002e 
+ 00009857  0x000013ac store  0x00000002 , 0x0000017c 
+ 00009858  0x000013ad deposit  0x00000021 
+ 00009859  0x000013ae inject  0x00000001 , 0x00000020 
+ 00009860  0x000013af compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00009861  0x000013b0 setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00009862  0x000013b1 branch  0x0000264d 
+ 00009863  0x000013b4 bpatch  0x00000068 , 0x0000400d 
+ 00009864  0x000013b5 fetch  0x00000001 , 0x00000047 
+ 00009865  0x000013b6 rtnbit0  0x00000003 
+ 00009866  0x000013b7 set0  0x00000003 , 0x0000003f 
+ 00009867  0x000013b8 setflip  0x00000006 , 0x0000003f 
+ 00009868  0x000013b9 store  0x00000001 , 0x00000047 
+ 00009869  0x000013ba fetch  0x00000001 , 0x000040c5 
+ 00009870  0x000013bb beq  0x00000013 , 0x0000269c 
+ 00009871  0x000013bc rtneq  0x00000007 
+ 00009872  0x000013bd fetch  0x00000001 , 0x0000004b 
+ 00009873  0x000013be rtnbit0  0x00000006 , 0x0000003f 
+ 00009874  0x000013bf set0  0x00000006 , 0x0000003f 
+ 00009875  0x000013c0 set1  0x00000007 , 0x0000003f 
+ 00009876  0x000013c1 store  0x00000001 , 0x0000004b 
+ 00009877  0x000013c2 set0  0x00000002 , 0x00000000 
+ 00009878  0x000013c3 fetch  0x00000002 , 0x00004246 
+ 00009879  0x000013c4 nrtn  0x00000034 
+ 00009880  0x000013c5 fetch  0x00000001 , 0x0000004b 
+ 00009881  0x000013c6 set0  0x00000007 , 0x0000003f 
+ 00009882  0x000013c7 store  0x00000001 , 0x0000004b 
+ 00009883  0x000013c8 branch  0x0000525d 
+ 00009884  0x000013cb bpatch  0x00000069 , 0x0000400d 
+ 00009885  0x000013cc fetch  0x00000001 , 0x000004b7 
+ 00009886  0x000013cd rshift  0x0000003f , 0x0000003f 
+ 00009887  0x000013ce beq  0x00000011 , 0x000026b8 
+ 00009888  0x000013cf beq  0x00000012 , 0x000026c0 
+ 00009889  0x000013d0 beq  0x00000018 , 0x000026e9 
+ 00009890  0x000013d1 beq  0x0000007f , 0x000026a8 
+ 00009891  0x000013d2 rtnne  0x00000003 
+ 00009892  0x000013d3 fetch  0x00000001 , 0x000004b8 
+ 00009893  0x000013d4 beq  0x0000002b , 0x000026b0 
+ 00009894  0x000013d5 beq  0x00000011 , 0x000026ab 
+ 00009895  0x000013d6 rtn 
+ 00009896  0x000013d9 fetch  0x00000001 , 0x000004b8 
+ 00009897  0x000013da set1  0x00000007 , 0x0000003f 
+ 00009898  0x000013db rtn 
+ 00009899  0x000013dd rtn  0x00000029 
+ 00009900  0x000013de fetch  0x00000001 , 0x00000030 
+ 00009901  0x000013df rtnbit1  0x00000004 
+ 00009902  0x000013e0 jam  0x00000031 , 0x0000007c 
+ 00009903  0x000013e1 rtn 
+ 00009904  0x000013e5 rtn  0x00000029 
+ 00009905  0x000013e6 fetch  0x00000001 , 0x00000031 
+ 00009906  0x000013e7 isolate1  0x00000004 , 0x0000003f 
+ 00009907  0x000013e8 branch  0x000026b5 , 0x00000001 
+ 00009908  0x000013ea rtn 
+ 00009909  0x000013ec set0  0x00000004 , 0x0000003f 
+ 00009910  0x000013ed store  0x00000001 , 0x00000031 
+ 00009911  0x000013ee rtn 
+ 00009912  0x000013f1 bpatch  0x0000006a , 0x0000400d 
+ 00009913  0x000013f2 fetch  0x00000001 , 0x0000004c 
+ 00009914  0x000013f3 set1  0x00000002 , 0x0000003f 
+ 00009915  0x000013f4 store  0x00000001 , 0x0000004c 
+ 00009916  0x000013f5 jam  0x00000001 , 0x00008011 
+ 00009917  0x000013f6 fetch  0x00000001 , 0x00000030 
+ 00009918  0x000013f7 isolate1  0x00000004 , 0x0000003f 
+ 00009919  0x000013f8 rtn 
+ 00009920  0x000013fb bpatch  0x0000006b , 0x0000400d 
+ 00009921  0x000013fc fetch  0x00000001 , 0x0000004c 
+ 00009922  0x000013fd set0  0x00000002 , 0x0000003f 
+ 00009923  0x000013fe store  0x00000001 , 0x0000004c 
+ 00009924  0x000013ff jam  0x00000000 , 0x00008011 
+ 00009925  0x00001400 rtn 
+ 00009926  0x00001404 bpatch  0x0000006c , 0x0000400d 
+ 00009927  0x00001405 copy  0x00000022 , 0x0000003f 
+ 00009928  0x00001406 store  0x00000004 , 0x0000420c 
+ 00009929  0x00001407 add  0x00000022 , 0x00000003 , 0x00000011 
+ 00009930  0x00001408 branch  0x000026cc , 0x00000029 
+ 00009931  0x00001409 add  0x00000028 , 0x00000003 , 0x00000011 
+ 00009932  0x0000140b fetcht  0x00000002 , 0x00000032 
+ 00009933  0x0000140c deposit  0x00000011 
+ 00009934  0x0000140d set0  0x0000001b , 0x0000003f 
+ 00009935  0x0000140e idiv  0x00000002 
+ 00009936  0x0000140f fetch  0x00000002 , 0x00000075 
+ 00009937  0x00001410 call  0x00007f86 
+ 00009938  0x00001411 remainder  0x00000013 
+ 00009939  0x00001412 isub  0x00000013 , 0x0000003f 
+ 00009940  0x00001413 branch  0x000026d6 , 0x00000002 
+ 00009941  0x00001414 iadd  0x00000002 , 0x0000003f 
+ 00009942  0x00001416 iadd  0x00000011 , 0x0000003f 
+ 00009943  0x00001417 store  0x00000004 , 0x00000034 
+ 00009944  0x00001418 jam  0x00000000 , 0x0000455b 
+ 00009945  0x00001419 fetch  0x00000001 , 0x00000030 
+ 00009946  0x0000141a set1  0x00000001 , 0x0000003f 
+ 00009947  0x0000141b store  0x00000001 , 0x00000030 
+ 00009948  0x0000141c fetch  0x00000001 , 0x00000073 
+ 00009949  0x0000141d store  0x00000001 , 0x0000008a 
+ 00009950  0x0000141e setarg  0x00000000 
+ 00009951  0x0000141f store  0x00000003 , 0x00004169 
+ 00009952  0x00001420 store  0x00000003 , 0x0000416c 
+ 00009953  0x00001421 store  0x00000001 , 0x00004159 
+ 00009954  0x00001422 jam  0x0000000b , 0x00000a99 
+ 00009955  0x00001423 call  0x00007d86 
+ 00009956  0x00001424 fetch  0x00000002 , 0x000040c1 
+ 00009957  0x00001425 store  0x00000002 , 0x0000003e 
+ 00009958  0x00001426 nrtn  0x00000029 
+ 00009959  0x00001427 add  0x00000004 , 0xffffffff , 0x00000007 
+ 00009960  0x00001428 rtn 
+ 00009961  0x0000142b bpatch  0x0000006d , 0x0000400d 
+ 00009962  0x0000142c fetch  0x00000001 , 0x00000030 
+ 00009963  0x0000142d rtnbit0  0x00000001 
+ 00009964  0x0000142e set0  0x00000001 , 0x0000003f 
+ 00009965  0x0000142f store  0x00000001 , 0x00000030 
+ 00009966  0x00001430 fetch  0x00000002 , 0x000040bf 
+ 00009967  0x00001431 store  0x00000002 , 0x0000003e 
+ 00009968  0x00001432 disable  0x0000002b 
+ 00009969  0x00001433 jam  0x0000000c , 0x00000a99 
+ 00009970  0x00001434 branch  0x00007d86 
+ 00009971  0x00001438 bpatch  0x0000006e , 0x0000400d 
+ 00009972  0x00001439 enable  0x0000002e 
+ 00009973  0x0000143a fetch  0x00000001 , 0x00000030 
+ 00009974  0x0000143b bbit1  0x00000001 , 0x00002700 
+ 00009975  0x0000143c rtnmark1  0x00000011 
+ 00009976  0x0000143d fetch  0x00000001 , 0x00000047 
+ 00009977  0x0000143e rtnbit1  0x00000003 
+ 00009978  0x0000143f fetch  0x00000001 , 0x00000048 
+ 00009979  0x00001440 nrtn  0x00000034 
+ 00009980  0x00001441 fetch  0x00000001 , 0x0000004b 
+ 00009981  0x00001442 rtnbit1  0x00000006 
+ 00009982  0x00001444 force  0x00000000 , 0x0000003f 
+ 00009983  0x00001445 rtn 
+ 00009984  0x00001448 bbit0  0x00000002 , 0x0000270f 
+ 00009985  0x00001449 fetch  0x00000001 , 0x0000008a 
+ 00009986  0x0000144a beq  0x00000002 , 0x00002706 
+ 00009987  0x0000144b fetch  0x00000001 , 0x00000047 
+ 00009988  0x0000144c bbit1  0x00000003 , 0x00002718 
+ 00009989  0x0000144d bmark0  0x00000008 , 0x00002718 
+ 00009990  0x0000144f nbranch  0x00002718 , 0x00000029 
+ 00009991  0x00001450 fetch  0x00000001 , 0x00000048 
+ 00009992  0x00001451 nbranch  0x00002718 , 0x00000034 
+ 00009993  0x00001453 fetch  0x00000001 , 0x000000ef 
+ 00009994  0x00001454 increase  0xffffffff , 0x0000003f 
+ 00009995  0x00001455 store  0x00000001 , 0x000000ef 
+ 00009996  0x00001456 nbranch  0x000026fe , 0x00000034 
+ 00009997  0x00001457 jam  0x00000010 , 0x000000ef 
+ 00009998  0x00001458 branch  0x00002718 
+ 00009999  0x00001460 fetch  0x00000001 , 0x0000008a 
+ 00010000  0x00001461 bne  0x00000001 , 0x00002718 
+ 00010001  0x00001462 fetch  0x00000001 , 0x0000008b 
+ 00010002  0x00001463 branch  0x00002718 , 0x00000034 
+ 00010003  0x00001464 increase  0xffffffff , 0x0000003f 
+ 00010004  0x00001465 store  0x00000001 , 0x0000008b 
+ 00010005  0x00001466 fetch  0x00000001 , 0x00000047 
+ 00010006  0x00001467 rtnbit1  0x00000003 
+ 00010007  0x00001468 nrtn  0x0000002d 
+ 00010008  0x0000146a fetch  0x00000001 , 0x0000008a 
+ 00010009  0x0000146b increase  0xffffffff , 0x0000003f 
+ 00010010  0x0000146c store  0x00000001 , 0x0000008a 
+ 00010011  0x0000146d rtn 
+ 00010012  0x00001479 bpatch  0x0000006f , 0x0000400d 
+ 00010013  0x0000147a disable  0x00000010 
+ 00010014  0x0000147b copy  0x00000002 , 0x0000001b 
+ 00010015  0x0000147c call  0x00002260 
+ 00010016  0x0000147d disable  0x00000028 
+ 00010017  0x0000147e nrtn  0x00000005 
+ 00010018  0x0000147f force  0x00000000 , 0x0000001b 
+ 00010019  0x00001480 enable  0x00000028 
+ 00010020  0x00001481 rtn 
+ 00010021  0x00001485 fetch  0x00000001 , 0x00004158 
+ 00010022  0x00001486 icompare  0x000000ff , 0x00000004 
+ 00010023  0x00001487 rtn 
+ 00010024  0x0000148b bpatch  0x00000070 , 0x0000400e 
+ 00010025  0x0000148c set0  0x00000001 , 0x00000000 
+ 00010026  0x0000148e jam  0x00000000 , 0x0000026a 
+ 00010027  0x0000148f fetch  0x00000001 , 0x00000263 
+ 00010028  0x00001490 rtn  0x00000034 
+ 00010029  0x00001491 isolate1  0x00000000 , 0x0000003f 
+ 00010030  0x00001492 arg  0x00001000 , 0x00000006 
+ 00010031  0x00001493 call  0x00004d79 , 0x00000001 
+ 00010032  0x00001494 bpatch  0x00000071 , 0x0000400e 
+ 00010033  0x00001495 fetch  0x00000001 , 0x0000026a 
+ 00010034  0x00001496 beq  0x00000001 , 0x0000273b 
+ 00010035  0x00001498 jam  0x00000000 , 0x0000026a 
+ 00010036  0x00001499 fetch  0x00000001 , 0x00000263 
+ 00010037  0x0000149a rtnbit0  0x00000001 
+ 00010038  0x0000149b arg  0x00001400 , 0x00000006 
+ 00010039  0x0000149c call  0x00004d79 
+ 00010040  0x0000149d fetch  0x00000001 , 0x0000026a 
+ 00010041  0x0000149e beq  0x00000001 , 0x00002741 
+ 00010042  0x0000149f rtn 
+ 00010043  0x000014a2 fetch  0x00000001 , 0x00000263 
+ 00010044  0x000014a3 set0  0x00000000 , 0x0000003f 
+ 00010045  0x000014a4 store  0x00000001 , 0x00000263 
+ 00010046  0x000014a5 setarg  0x00000000 
+ 00010047  0x000014a6 store  0x00000002 , 0x0000025d 
+ 00010048  0x000014a7 rtn 
+ 00010049  0x000014a9 fetch  0x00000001 , 0x00000263 
+ 00010050  0x000014aa set0  0x00000001 , 0x0000003f 
+ 00010051  0x000014ab store  0x00000001 , 0x00000263 
+ 00010052  0x000014ac setarg  0x00000000 
+ 00010053  0x000014ad store  0x00000002 , 0x0000025f 
+ 00010054  0x000014ae rtn 
+ 00010055  0x000014b1 fetch  0x00000001 , 0x00000263 
+ 00010056  0x000014b2 set1  0x00000000 , 0x0000003f 
+ 00010057  0x000014b3 store  0x00000001 , 0x00000263 
+ 00010058  0x000014b4 rtn 
+ 00010059  0x000014b7 fetch  0x00000001 , 0x00000263 
+ 00010060  0x000014b8 set1  0x00000001 , 0x0000003f 
+ 00010061  0x000014b9 store  0x00000001 , 0x00000263 
+ 00010062  0x000014ba rtn 
+ 00010063  0x000014c1 bpatch  0x00000072 , 0x0000400e 
+ 00010064  0x000014c2 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00010065  0x000014c3 call  0x000028ea 
+ 00010066  0x000014c4 force  0x00000003 , 0x00000024 
+ 00010067  0x000014c5 call  0x000028d2 
+ 00010068  0x000014c6 call  0x00002a51 
+ 00010069  0x000014c7 call  0x00002a5f 
+ 00010070  0x000014c8 branch  0x00002a64 
+ 00010071  0x000014cc bpatch  0x00000073 , 0x0000400e 
+ 00010072  0x000014cd call  0x00002a4d 
+ 00010073  0x000014ce deposit  0x00000028 
+ 00010074  0x000014cf fetcht  0x00000004 , 0x000040ca 
+ 00010075  0x000014d0 isub  0x00000002 , 0x0000003f 
+ 00010076  0x000014d1 rtnne  0x00000001 
+ 00010077  0x000014d2 compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00010078  0x000014d3 nbranch  0x00002761 , 0x00000001 
+ 00010079  0x000014d4 fetch  0x00000001 , 0x00000019 
+ 00010080  0x000014d5 rtn  0x00000034 
+ 00010081  0x000014d7 call  0x0000274f 
+ 00010082  0x000014d9 compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00010083  0x000014da branch  0x0000264d , 0x00000001 
+ 00010084  0x000014db rshift  0x00000021 , 0x00000002 
+ 00010085  0x000014dc or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00010086  0x000014de bpatch  0x00000074 , 0x0000400e 
+ 00010087  0x000014df enable  0x00000007 
+ 00010088  0x000014e0 enable  0x0000000a 
+ 00010089  0x000014e1 enable  0x0000001b 
+ 00010090  0x000014e2 set0  0x00000010 , 0x00000000 
+ 00010091  0x000014e3 deposit  0x00000004 
+ 00010092  0x000014e4 inject  0x00000003 , 0x00000003 
+ 00010093  0x000014e5 deposit  0x00000001 
+ 00010094  0x000014e6 inject  0x00000003 , 0x00000004 
+ 00010095  0x000014e7 fetch  0x00000001 , 0x00000047 
+ 00010096  0x000014e8 inject  0x00000000 , 0x00000004 
+ 00010097  0x000014e9 inject  0x00000003 , 0x00000003 
+ 00010098  0x000014ea enable  0x00000008 
+ 00010099  0x000014eb inject  0x00000003 , 0x00000008 
+ 00010100  0x000014ec disable  0x0000001b 
+ 00010101  0x000014ed disable  0x00000008 
+ 00010102  0x000014ee disable  0x0000000a 
+ 00010103  0x000014ef set0  0x00000002 , 0x00000015 
+ 00010104  0x000014f0 arg  0x00000000 , 0x00000002 
+ 00010105  0x000014f1 call  0x00002a1c 
+ 00010106  0x000014f2 bpatch  0x00000075 , 0x0000400e 
+ 00010107  0x000014f3 and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00010108  0x000014f4 beq  0x00000013 , 0x000027b4 
+ 00010109  0x000014f5 beq  0x00000000 , 0x0000264d 
+ 00010110  0x000014f6 beq  0x00000001 , 0x0000264d 
+ 00010111  0x000014f7 beq  0x00000002 , 0x00002797 
+ 00010112  0x000014f8 beq  0x00000003 , 0x000027c5 
+ 00010113  0x000014f9 beq  0x00000004 , 0x000027cb 
+ 00010114  0x000014fa beq  0x00000007 , 0x0000278c 
+ 00010115  0x000014fb beq  0x00000008 , 0x000027ca 
+ 00010116  0x000014fc arg  0x00000004 , 0x00000002 
+ 00010117  0x000014fd call  0x00002a1c 
+ 00010118  0x000014fe beq  0x0000000a , 0x000027c7 
+ 00010119  0x000014ff beq  0x0000000b , 0x000027cd 
+ 00010120  0x00001500 arg  0x00000008 , 0x00000002 
+ 00010121  0x00001501 call  0x00002a1c 
+ 00010122  0x00001502 beq  0x0000000f , 0x000027cd 
+ 00010123  0x00001503 branch  0x000027c7 
+ 00010124  0x00001507 bpatch  0x00000076 , 0x0000400e 
+ 00010125  0x00001508 enable  0x0000001d 
+ 00010126  0x00001509 enable  0x00000009 
+ 00010127  0x0000150a enable  0x0000000e 
+ 00010128  0x0000150b force  0x0000001e , 0x00000039 
+ 00010129  0x0000150c arg  0x000000b3 , 0x00000006 
+ 00010130  0x0000150e ifetch  0x00000001 , 0x00000006 
+ 00010131  0x0000150f inject  0x00000003 , 0x00000008 
+ 00010132  0x00001510 loop  0x00002792 
+ 00010133  0x00001511 bmark1  0x00000007 , 0x000027f7 
+ 00010134  0x00001512 branch  0x0000264d 
+ 00010135  0x00001515 bpatch  0x00000077 , 0x0000400e 
+ 00010136  0x00001516 fetch  0x00000001 , 0x00000181 
+ 00010137  0x00001517 icopy  0x00000004 
+ 00010138  0x00001518 fetch  0x00000001 , 0x00000090 
+ 00010139  0x00001519 icopy  0x0000001c 
+ 00010140  0x0000151a fetch  0x00000003 , 0x000040aa 
+ 00010141  0x0000151b icopy  0x0000001d 
+ 00010142  0x0000151c fetch  0x00000002 , 0x000040a4 
+ 00010143  0x0000151d icopy  0x0000002e 
+ 00010144  0x0000151e enable  0x00000009 
+ 00010145  0x0000151f enable  0x0000001c 
+ 00010146  0x00001520 copy  0x00000020 , 0x00000011 
+ 00010147  0x00001521 call  0x000028e2 
+ 00010148  0x00001522 pulse  0x00000015 
+ 00010149  0x00001523 nop  0x00000020 
+ 00010150  0x00001524 copy  0x00000021 , 0x0000000b 
+ 00010151  0x00001525 fetch  0x00000004 , 0x00000161 
+ 00010152  0x00001526 icopy  0x00000021 
+ 00010153  0x00001527 preload  0x0000001e 
+ 00010154  0x00001528 set1  0x0000003a , 0x0000003f 
+ 00010155  0x00001529 inject  0x00000003 , 0x00000048 
+ 00010156  0x0000152a preload  0x0000001f 
+ 00010157  0x0000152b inject  0x00000003 , 0x00000048 
+ 00010158  0x0000152c copy  0x0000000b , 0x00000021 
+ 00010159  0x0000152d copy  0x00000011 , 0x00000020 
+ 00010160  0x0000152e enable  0x00000008 
+ 00010161  0x0000152f inject  0x00000003 , 0x00000010 
+ 00010162  0x00001530 disable  0x00000008 
+ 00010163  0x00001531 branch  0x0000264d 
+ 00010164  0x00001534 bpatch  0x00000078 , 0x0000400f 
+ 00010165  0x00001535 enable  0x0000000e 
+ 00010166  0x00001536 enable  0x00000009 
+ 00010167  0x00001537 enable  0x0000001c 
+ 00010168  0x00001538 fetch  0x00000001 , 0x000004b6 
+ 00010169  0x00001539 and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00010170  0x0000153a arg  0x000004b6 , 0x00000006 
+ 00010171  0x0000153b increase  0x00000008 , 0x00000002 
+ 00010172  0x0000153d add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00010173  0x0000153e nbranch  0x000027c2 , 0x00000002 
+ 00010174  0x0000153f ifetch  0x00000009 , 0x00000006 
+ 00010175  0x00001540 inject  0x00000003 , 0x00000048 
+ 00010176  0x00001541 copy  0x00000013 , 0x00000002 
+ 00010177  0x00001542 branch  0x000027bc 
+ 00010178  0x00001544 ifetch  0x00000009 , 0x00000006 
+ 00010179  0x00001545 iinject  0x00000003 , 0x00000002 
+ 00010180  0x00001546 branch  0x000027f7 
+ 00010181  0x00001549 enable  0x0000001c 
+ 00010182  0x0000154a branch  0x000027d0 
+ 00010183  0x0000154d enable  0x0000001c 
+ 00010184  0x0000154e set1  0x00000010 , 0x00000000 
+ 00010185  0x0000154f branch  0x000027d0 
+ 00010186  0x00001552 set1  0x00000002 , 0x00000015 
+ 00010187  0x00001554 enable  0x0000001d 
+ 00010188  0x00001555 branch  0x000027d0 
+ 00010189  0x00001559 set1  0x00000002 , 0x00000015 
+ 00010190  0x0000155a enable  0x0000001d 
+ 00010191  0x0000155b set1  0x00000010 , 0x00000000 
+ 00010192  0x0000155e bpatch  0x00000079 , 0x0000400f 
+ 00010193  0x0000155f fetch  0x00000001 , 0x0000004c 
+ 00010194  0x00001560 bbit0  0x00000005 , 0x000027e5 
+ 00010195  0x00001561 sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00010196  0x00001562 branch  0x000027e5 , 0x00000002 
+ 00010197  0x00001563 disable  0x0000000e 
+ 00010198  0x00001564 disable  0x0000001c 
+ 00010199  0x00001565 enable  0x0000001d 
+ 00010200  0x00001566 disable  0x00000007 
+ 00010201  0x00001567 set1  0x00000001 , 0x00000015 
+ 00010202  0x00001568 isolate1  0x00000002 , 0x00000015 
+ 00010203  0x00001569 branch  0x000027df , 0x00000001 
+ 00010204  0x0000156a setarg  0x000abeee 
+ 00010205  0x0000156b inject  0x00000003 , 0x00000014 
+ 00010206  0x0000156c branch  0x000027e3 
+ 00010207  0x0000156e setarg  0x005faeba 
+ 00010208  0x0000156f inject  0x00000003 , 0x00000018 
+ 00010209  0x00001570 setarg  0x00000012 
+ 00010210  0x00001571 inject  0x00000003 , 0x00000006 
+ 00010211  0x00001573 enable  0x00000007 
+ 00010212  0x00001574 set1  0x00000010 , 0x00000000 
+ 00010213  0x00001576 enable  0x0000000e 
+ 00010214  0x00001577 enable  0x00000009 
+ 00010215  0x00001578 bmark1  0x00000005 , 0x00002800 
+ 00010216  0x00001579 fetch  0x00000001 , 0x000041db 
+ 00010217  0x0000157a inject  0x00000003 , 0x00000003 
+ 00010218  0x0000157b fetch  0x00000002 , 0x000041dc 
+ 00010219  0x0000157c iforce  0x00000039 
+ 00010220  0x0000157d bmark1  0x00000010 , 0x000027ef 
+ 00010221  0x0000157e inject  0x00000003 , 0x00000005 
+ 00010222  0x0000157f branch  0x000027f0 
+ 00010223  0x00001581 inject  0x00000003 , 0x0000000d 
+ 00010224  0x00001583 deposit  0x00000039 
+ 00010225  0x00001584 branch  0x000027f7 , 0x00000034 
+ 00010226  0x00001585 fetch  0x00000002 , 0x0000016f 
+ 00010227  0x00001586 iforce  0x00000006 
+ 00010228  0x00001588 ifetch  0x00000001 , 0x00000006 
+ 00010229  0x00001589 inject  0x00000003 , 0x00000008 
+ 00010230  0x0000158a loop  0x000027f4 
+ 00010231  0x0000158e enable  0x00000008 
+ 00010232  0x0000158f inject  0x00000003 , 0x00000010 
+ 00010233  0x00001590 disable  0x00000008 
+ 00010234  0x00001591 call  0x000024c1 
+ 00010235  0x00001592 fetch  0x00000001 , 0x0000004c 
+ 00010236  0x00001593 bbit0  0x00000005 , 0x0000264d 
+ 00010237  0x00001594 force  0x00000000 , 0x0000003f 
+ 00010238  0x00001595 inject  0x00000003 , 0x00000006 
+ 00010239  0x00001596 branch  0x0000264d 
+ 00010240  0x0000159a bpatch  0x0000007a , 0x0000400f 
+ 00010241  0x0000159b bmark1  0x00000010 , 0x00002808 
+ 00010242  0x0000159d fetch  0x00000001 , 0x00000180 
+ 00010243  0x0000159e inject  0x00000003 , 0x00000003 
+ 00010244  0x0000159f fetch  0x00000001 , 0x0000015f 
+ 00010245  0x000015a0 iforce  0x00000013 
+ 00010246  0x000015a1 inject  0x00000003 , 0x00000005 
+ 00010247  0x000015a2 branch  0x0000280d 
+ 00010248  0x000015a4 fetch  0x00000001 , 0x00000180 
+ 00010249  0x000015a5 inject  0x00000003 , 0x00000003 
+ 00010250  0x000015a6 fetch  0x00000002 , 0x0000015f 
+ 00010251  0x000015a7 iforce  0x00000013 
+ 00010252  0x000015a8 inject  0x00000003 , 0x0000000d 
+ 00010253  0x000015aa arg  0x00000551 , 0x00000006 
+ 00010254  0x000015ac copy  0x00000013 , 0x0000003e 
+ 00010255  0x000015ad branch  0x00002814 , 0x00000005 
+ 00010256  0x000015ae ifetch  0x00000001 , 0x00000006 
+ 00010257  0x000015af inject  0x00000003 , 0x00000008 
+ 00010258  0x000015b0 increase  0xffffffff , 0x00000013 
+ 00010259  0x000015b1 branch  0x0000280e 
+ 00010260  0x000015b3 fetch  0x00000002 , 0x000000fc 
+ 00010261  0x000015b4 increase  0x00000001 , 0x0000003f 
+ 00010262  0x000015b5 store  0x00000002 , 0x000000fc 
+ 00010263  0x000015b6 branch  0x000027f7 
+ 00010264  0x000015ba fetch  0x00000004 , 0x00000165 
+ 00010265  0x000015bb add  0x0000003f , 0x00000007 , 0x00000011 
+ 00010266  0x000015bc fetch  0x00000002 , 0x00000171 
+ 00010267  0x000015bd nbranch  0x0000281e , 0x00000034 
+ 00010268  0x000015be increase  0xfffffffd , 0x00000011 
+ 00010269  0x000015bf branch  0x00002826 
+ 00010270  0x000015c1 mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00010271  0x000015c2 hfetcht  0x00000002 , 0x00008040 
+ 00010272  0x000015c3 increase  0x00000001 , 0x00000002 
+ 00010273  0x000015c5 isub  0x00000002 , 0x0000003f 
+ 00010274  0x000015c6 nbranch  0x00002825 , 0x00000002 
+ 00010275  0x000015c7 increase  0xffffffff , 0x00000011 
+ 00010276  0x000015c8 branch  0x00002821 
+ 00010277  0x000015ca sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010278  0x000015cc until  0x0000003e , 0x00000023 
+ 00010279  0x000015cd compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00010280  0x000015ce nbranch  0x00002826 , 0x00000001 
+ 00010281  0x000015cf iforce  0x00000029 
+ 00010282  0x000015d0 copy  0x00000011 , 0x00000028 
+ 00010283  0x000015d1 iforce  0x00000029 
+ 00010284  0x000015d2 rtn 
+ 00010285  0x000015d6 bpatch  0x0000007b , 0x0000400f 
+ 00010286  0x000015d7 until  0x0000003e , 0x00000022 
+ 00010287  0x000015d8 deposit  0x0000001a 
+ 00010288  0x000015d9 iforce  0x00000006 
+ 00010289  0x000015da rshift16 , 0x0000003f , 0x0000003f 
+ 00010290  0x000015db isub  0x00000022 , 0x00000039 
+ 00010291  0x000015dc and_into  0x00000003 , 0x00000039 
+ 00010292  0x000015dd nbranch  0x00002837 , 0x00000005 
+ 00010293  0x000015de force  0x00000000 , 0x0000003f 
+ 00010294  0x000015df branch  0x0000283b 
+ 00010295  0x000015e1 arg  0x00000ea6 , 0x00000002 
+ 00010296  0x000015e2 force  0x00000000 , 0x0000003f 
+ 00010297  0x000015e4 iadd  0x00000002 , 0x0000003f 
+ 00010298  0x000015e5 loop  0x00002839 
+ 00010299  0x000015e7 iadd  0x00000006 , 0x0000003f 
+ 00010300  0x000015e8 div  0x0000003f , 0x0000000c 
+ 00010301  0x000015e9 call  0x00007f86 
+ 00010302  0x000015ea quotient  0x0000003f 
+ 00010303  0x000015eb store  0x00000002 , 0x00000171 
+ 00010304  0x000015ec rtn 
+ 00010305  0x000015ef bpatch  0x0000007c , 0x0000400f 
+ 00010306  0x000015f0 deposit  0x0000001a 
+ 00010307  0x000015f1 copy  0x00000019 , 0x00000002 
+ 00010308  0x000015f2 isub  0x00000002 , 0x0000003e 
+ 00010309  0x000015f3 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00010310  0x000015f4 isub  0x00000002 , 0x00000002 
+ 00010311  0x000015f5 setarg  0x00000ea6 
+ 00010312  0x000015f6 isolate0  0x0000000f , 0x00000002 
+ 00010313  0x000015f7 branch  0x0000284c , 0x00000001 
+ 00010314  0x000015f8 setarg  0xffff0ea6 
+ 00010315  0x000015f9 iadd  0x00000002 , 0x00000002 
+ 00010316  0x000015fb storet  0x00000006 , 0x00000447 
+ 00010317  0x000015fc rtn  0x00000036 
+ 00010318  0x000015fd storet  0x00000006 , 0x00000038 
+ 00010319  0x000015fe rtn 
+ 00010320  0x00001601 disable  0x00000030 
+ 00010321  0x00001602 fetch  0x00000006 , 0x00000447 
+ 00010322  0x00001603 branch  0x00002854 , 0x00000036 
+ 00010323  0x00001604 fetch  0x00000006 , 0x00000038 
+ 00010324  0x00001606 iadd  0x00000019 , 0x00000030 
+ 00010325  0x00001607 increase  0x0000000a , 0x00000030 
+ 00010326  0x00001608 setarg  0x00000ea6 
+ 00010327  0x00001609 isub  0x00000030 , 0x0000003f 
+ 00010328  0x0000160a isolate0  0x0000000f , 0x0000003f 
+ 00010329  0x0000160b branch  0x0000285e , 0x00000001 
+ 00010330  0x0000160c setarg  0x0000f15a 
+ 00010331  0x0000160d iadd  0x00000030 , 0x00000030 
+ 00010332  0x0000160f copy  0x00000030 , 0x0000001a 
+ 00010333  0x00001610 rtn 
+ 00010334  0x00001612 force  0x00000000 , 0x0000003e 
+ 00010335  0x00001613 branch  0x0000285c 
+ 00010336  0x0000161b bpatch  0x0000007d , 0x0000400f 
+ 00010337  0x0000161c call  0x00002918 
+ 00010338  0x0000161d copy  0x00000021 , 0x0000003f 
+ 00010339  0x0000161e and_into  0x00000180 , 0x0000003f 
+ 00010340  0x0000161f compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00010341  0x00001620 nbranch  0x00002869 , 0x00000001 
+ 00010342  0x00001621 rshift3  0x0000003f , 0x0000003f 
+ 00010343  0x00001622 iadd  0x00000017 , 0x0000003f 
+ 00010344  0x00001623 branch  0x0000286a 
+ 00010345  0x00001625 copy  0x00000017 , 0x0000003f 
+ 00010346  0x00001627 div  0x0000003f , 0x0000004f 
+ 00010347  0x00001628 pulse  0x00000015 
+ 00010348  0x00001629 call  0x00007f86 
+ 00010349  0x0000162a remainder  0x00000011 
+ 00010350  0x0000162b add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00010351  0x0000162c branch  0x00002872 , 0x00000002 
+ 00010352  0x0000162d lshift  0x00000011 , 0x00000002 
+ 00010353  0x0000162e branch  0x00002874 
+ 00010354  0x00001630 lshift  0x00000002 , 0x00000002 
+ 00010355  0x00001631 increase  0x00000001 , 0x00000002 
+ 00010356  0x00001633 bpatch  0x0000007e , 0x0000400f 
+ 00010357  0x00001634 fetch  0x00000001 , 0x00000031 
+ 00010358  0x00001635 bbit0  0x00000003 , 0x00002885 
+ 00010359  0x00001637 fetch  0x00000004 , 0x000040d2 
+ 00010360  0x00001638 isub  0x00000021 , 0x0000003e 
+ 00010361  0x00001639 branch  0x00002885 , 0x00000002 
+ 00010362  0x0000163a call  0x000028a4 
+ 00010363  0x0000163b fetch  0x00000001 , 0x000040d9 
+ 00010364  0x0000163c rtn  0x00000034 
+ 00010365  0x0000163d fetch  0x00000001 , 0x00000031 
+ 00010366  0x0000163e set1  0x00000002 , 0x0000003f 
+ 00010367  0x0000163f store  0x00000001 , 0x00000031 
+ 00010368  0x00001640 fetch  0x00000005 , 0x000040e7 
+ 00010369  0x00001641 store  0x00000005 , 0x000040da 
+ 00010370  0x00001642 ifetch  0x00000005 , 0x00000006 
+ 00010371  0x00001643 store  0x00000005 , 0x000040df 
+ 00010372  0x00001644 call  0x000028a9 
+ 00010373  0x00001646 fetch  0x00000001 , 0x00000031 
+ 00010374  0x00001647 rtnbit0  0x00000002 
+ 00010375  0x00001648 isolate1  0x00000001 , 0x00000021 
+ 00010376  0x00001649 branch  0x000028a1 , 0x00000001 
+ 00010377  0x0000164a rshift3  0x00000002 , 0x00000011 
+ 00010378  0x0000164b and  0x00000002 , 0x00000007 , 0x00000007 
+ 00010379  0x0000164c setarg  0x000040da 
+ 00010380  0x0000164d iadd  0x00000011 , 0x00000011 
+ 00010381  0x0000164e ifetch  0x00000001 , 0x00000011 
+ 00010382  0x0000164f qisolate0  0x0000003f 
+ 00010383  0x00001650 branch  0x00002892 , 0x00000001 
+ 00010384  0x00001651 deposit  0x00000002 
+ 00010385  0x00001652 branch  0x0000289e 
+ 00010386  0x00001654 fetch  0x00000001 , 0x000040e4 
+ 00010387  0x00001655 iforce  0x00000012 
+ 00010388  0x00001656 deposit  0x00000021 
+ 00010389  0x00001657 and_into  0x00000180 , 0x0000003f 
+ 00010390  0x00001658 rshift3  0x0000003f , 0x0000003f 
+ 00010391  0x00001659 iadd  0x00000017 , 0x0000003f 
+ 00010392  0x0000165a idiv  0x00000012 
+ 00010393  0x0000165b setarg  0x000040f2 
+ 00010394  0x0000165c call  0x00007f86 
+ 00010395  0x0000165d remainder  0x00000011 
+ 00010396  0x0000165e iadd  0x00000011 , 0x00000006 
+ 00010397  0x0000165f ifetch  0x00000001 , 0x00000006 
+ 00010398  0x00001661 store  0x00000001 , 0x000040e5 
+ 00010399  0x00001662 iforce  0x00000002 
+ 00010400  0x00001663 rtn 
+ 00010401  0x00001666 fetch  0x00000001 , 0x000040e5 
+ 00010402  0x00001667 iforce  0x00000002 
+ 00010403  0x00001668 rtn 
+ 00010404  0x0000166b fetch  0x00000001 , 0x00000031 
+ 00010405  0x0000166c set0  0x00000002 , 0x0000003f 
+ 00010406  0x0000166d set0  0x00000003 , 0x0000003f 
+ 00010407  0x0000166e store  0x00000001 , 0x00000031 
+ 00010408  0x0000166f rtn 
+ 00010409  0x00001676 bpatch  0x0000007f , 0x0000400f 
+ 00010410  0x00001677 arg  0x000040f2 , 0x00000005 
+ 00010411  0x00001678 force  0x0000000a , 0x00000039 
+ 00010412  0x00001679 call  0x00007ec6 
+ 00010413  0x0000167a arg  0x000040f2 , 0x00000005 
+ 00010414  0x0000167b force  0x00000000 , 0x00000013 
+ 00010415  0x0000167c force  0x00000002 , 0x00000007 
+ 00010416  0x0000167e fetch  0x00000005 , 0x000040da 
+ 00010417  0x0000167f iforce  0x00000002 
+ 00010418  0x00001680 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010419  0x00001681 branch  0x000028b5 , 0x00000001 
+ 00010420  0x00001682 rshift  0x00000002 , 0x00000002 
+ 00010421  0x00001684 isolate0  0x00000000 , 0x00000002 
+ 00010422  0x00001685 branch  0x000028b9 , 0x00000001 
+ 00010423  0x00001686 deposit  0x00000013 
+ 00010424  0x00001687 istore  0x00000001 , 0x00000005 
+ 00010425  0x00001689 rshift2  0x00000002 , 0x00000002 
+ 00010426  0x0000168a increase  0x00000002 , 0x00000013 
+ 00010427  0x0000168b compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00010428  0x0000168c nbranch  0x000028c2 , 0x00000001 
+ 00010429  0x0000168d fetch  0x00000005 , 0x000040df 
+ 00010430  0x0000168e iforce  0x00000002 
+ 00010431  0x0000168f compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010432  0x00001690 branch  0x000028c2 , 0x00000001 
+ 00010433  0x00001691 rshift  0x00000002 , 0x00000002 
+ 00010434  0x00001693 sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00010435  0x00001694 branch  0x000028b5 , 0x00000002 
+ 00010436  0x00001695 force  0x00000001 , 0x00000013 
+ 00010437  0x00001696 increase  0xffffffff , 0x00000007 
+ 00010438  0x00001697 nbranch  0x000028b0 , 0x00000005 
+ 00010439  0x00001698 arg  0x000040f2 , 0x00000011 
+ 00010440  0x00001699 deposit  0x00000005 
+ 00010441  0x0000169a isub  0x00000011 , 0x0000003f 
+ 00010442  0x0000169b store  0x00000001 , 0x000040e4 
+ 00010443  0x0000169c rtn 
+ 00010444  0x0000169f bpatch  0x00000080 , 0x00004010 
+ 00010445  0x000016a0 call  0x00002860 
+ 00010446  0x000016a1 fetch  0x00000001 , 0x0000017f 
+ 00010447  0x000016a2 bbit0  0x00000005 , 0x000028d1 
+ 00010448  0x000016a3 fetcht  0x00000001 , 0x000004cc 
+ 00010449  0x000016a5 branch  0x0000291f 
+ 00010450  0x000016a9 bpatch  0x00000081 , 0x00004010 
+ 00010451  0x000016aa call  0x00002860 
+ 00010452  0x000016ab fetch  0x00000001 , 0x0000017f 
+ 00010453  0x000016ac bbit0  0x00000004 , 0x000028d7 
+ 00010454  0x000016ad fetcht  0x00000001 , 0x000004cb 
+ 00010455  0x000016af branch  0x00002933 
+ 00010456  0x000016b3 force  0x00000000 , 0x0000002d 
+ 00010457  0x000016b4 fetch  0x00000003 , 0x000040a7 
+ 00010458  0x000016b5 iforce  0x0000002c 
+ 00010459  0x000016b6 rtn 
+ 00010460  0x000016b9 bpatch  0x00000082 , 0x00004010 
+ 00010461  0x000016ba fetch  0x00000001 , 0x000041d3 
+ 00010462  0x000016bb icopy  0x0000002d 
+ 00010463  0x000016bc fetch  0x00000003 , 0x000041d0 
+ 00010464  0x000016bd icopy  0x0000002c 
+ 00010465  0x000016be rtn 
+ 00010466  0x000016c1 bpatch  0x00000083 , 0x00004010 
+ 00010467  0x000016c2 fetch  0x00000002 , 0x000040a4 
+ 00010468  0x000016c3 icopy  0x0000002e 
+ 00010469  0x000016c4 fetch  0x00000001 , 0x000040a3 
+ 00010470  0x000016c5 icopy  0x0000002d 
+ 00010471  0x000016c6 fetch  0x00000003 , 0x000040a0 
+ 00010472  0x000016c7 icopy  0x0000002c 
+ 00010473  0x000016c8 rtn 
+ 00010474  0x000016cb bpatch  0x00000084 , 0x00004010 
+ 00010475  0x000016cc fetch  0x00000002 , 0x00000044 
+ 00010476  0x000016cd icopy  0x0000002e 
+ 00010477  0x000016ce fetch  0x00000001 , 0x00000043 
+ 00010478  0x000016cf icopy  0x0000002d 
+ 00010479  0x000016d0 fetch  0x00000003 , 0x00000040 
+ 00010480  0x000016d1 icopy  0x0000002c 
+ 00010481  0x000016d2 rtn 
+ 00010482  0x000016d6 bmark1  0x00000020 , 0x000028f5 
+ 00010483  0x000016d7 rtnmark0  0x0000001d 
+ 00010484  0x000016d8 rtnmark0  0x0000001f 
+ 00010485  0x000016da and_into  0xffffff00 , 0x0000002c 
+ 00010486  0x000016db pulse  0x00000015 
+ 00010487  0x000016dc nop  0x00000020 
+ 00010488  0x000016dd rtn 
+ 00010489  0x000016e1 bpatch  0x00000085 , 0x00004010 
+ 00010490  0x000016e2 branch  0x0000290a , 0x00000021 
+ 00010491  0x000016e3 jam  0x000000d4 , 0x00008955 
+ 00010492  0x000016e4 nop  0x00000004 
+ 00010493  0x000016e5 jam  0x000000d2 , 0x00008955 
+ 00010494  0x000016e6 nop  0x00000004 
+ 00010495  0x000016e7 jam  0x000000d1 , 0x00008955 
+ 00010496  0x000016e8 nop  0x00000004 
+ 00010497  0x000016e9 fetch  0x00000001 , 0x000041de 
+ 00010498  0x000016ea beq  0x00000000 , 0x00002908 
+ 00010499  0x000016eb beq  0x00000001 , 0x00002915 
+ 00010500  0x000016ec beq  0x00000002 , 0x00002908 
+ 00010501  0x000016ed beq  0x00000003 , 0x00002915 
+ 00010502  0x000016ee beq  0x00000004 , 0x00002915 
+ 00010503  0x000016ef beq  0x00000020 , 0x00002915 
+ 00010504  0x000016f2 jam  0x000000d0 , 0x00008955 
+ 00010505  0x000016f3 jam  0x000000e0 , 0x00008956 
+ 00010506  0x000016f5 force  0x00000000 , 0x00000015 
+ 00010507  0x000016f6 disable  0x00000021 
+ 00010508  0x000016f7 disable  0x00000020 
+ 00010509  0x000016f8 pulse  0x0000001e 
+ 00010510  0x000016f9 jam  0x00000000 , 0x00008902 
+ 00010511  0x000016fa jam  0x00000000 , 0x00008901 
+ 00010512  0x000016fb jam  0x00000000 , 0x00008900 
+ 00010513  0x000016fc jam  0x00000000 , 0x00008903 
+ 00010514  0x000016fd jam  0x00000070 , 0x00008904 
+ 00010515  0x000016fe jam  0x00000000 , 0x00008906 
+ 00010516  0x000016ff rtn 
+ 00010517  0x00001705 jam  0x000000d0 , 0x00008955 
+ 00010518  0x00001706 jam  0x000000c0 , 0x00008956 
+ 00010519  0x00001707 branch  0x0000290a 
+ 00010520  0x0000170a bpatch  0x00000086 , 0x00004010 
+ 00010521  0x0000170b jam  0x00000000 , 0x00008902 
+ 00010522  0x0000170c jam  0x00000000 , 0x00008901 
+ 00010523  0x0000170d jam  0x00000018 , 0x00008900 
+ 00010524  0x0000170e jam  0x000000a7 , 0x00008903 
+ 00010525  0x0000170f jam  0x0000007f , 0x00008904 
+ 00010526  0x00001710 rtn 
+ 00010527  0x00001713 bpatch  0x00000087 , 0x00004010 
+ 00010528  0x00001715 storet  0x00000001 , 0x00000017 
+ 00010529  0x00001716 add  0x00000002 , 0x00000004 , 0x00000011 
+ 00010530  0x00001717 jam  0x00000007 , 0x0000896d 
+ 00010531  0x00001718 branch  0x00002981 
+ 00010532  0x0000171a bpatch  0x00000088 , 0x00004011 
+ 00010533  0x0000171b jam  0x000000cf , 0x00008901 
+ 00010534  0x0000171c nop  0x0000000a 
+ 00010535  0x0000171d jam  0x000000ff , 0x00008900 
+ 00010536  0x0000171e jam  0x000000af , 0x00008903 
+ 00010537  0x0000171f jam  0x000000ff , 0x00008904 
+ 00010538  0x00001720 nop  0x0000000a 
+ 00010539  0x00001721 jam  0x000000a0 , 0x00008902 
+ 00010540  0x00001722 rtn 
+ 00010541  0x00001725 fetch  0x00000001 , 0x000041e0 
+ 00010542  0x00001726 branch  0x00002931 , 0x00000034 
+ 00010543  0x00001728 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00010544  0x00001729 rtn 
+ 00010545  0x0000172b add  0x00000002 , 0x00000000 , 0x00000011 
+ 00010546  0x0000172c rtn 
+ 00010547  0x0000172f bpatch  0x00000089 , 0x00004011 
+ 00010548  0x00001730 storet  0x00000001 , 0x00000017 
+ 00010549  0x00001731 call  0x0000292d 
+ 00010550  0x00001732 call  0x00002981 
+ 00010551  0x00001733 setarg  0x00000500 
+ 00010552  0x00001734 call  0x00002a8f 
+ 00010553  0x00001736 jam  0x00000001 , 0x00008906 
+ 00010554  0x00001737 jam  0x0000003c , 0x00008900 
+ 00010555  0x00001738 jam  0x000000e0 , 0x00008901 
+ 00010556  0x00001739 jam  0x00000012 , 0x0000896d 
+ 00010557  0x0000173a nop  0x0000000a 
+ 00010558  0x0000173b jam  0x00000001 , 0x00008902 
+ 00010559  0x0000173c jam  0x0000003d , 0x00008902 
+ 00010560  0x0000173d nop  0x0000000a 
+ 00010561  0x0000173e jam  0x000000b7 , 0x00008903 
+ 00010562  0x0000173f nop  0x0000000a 
+ 00010563  0x00001740 jam  0x0000007f , 0x00008902 
+ 00010564  0x00001742 fetch  0x00000001 , 0x000041de 
+ 00010565  0x00001743 beq  0x00000000 , 0x0000294b 
+ 00010566  0x00001744 beq  0x00000001 , 0x0000294f 
+ 00010567  0x00001745 beq  0x00000002 , 0x00002953 
+ 00010568  0x00001746 beq  0x00000003 , 0x00002957 
+ 00010569  0x00001747 beq  0x00000004 , 0x0000295b 
+ 00010570  0x00001748 beq  0x00000020 , 0x0000295f 
+ 00010571  0x0000174a jam  0x000000f0 , 0x00008956 
+ 00010572  0x0000174b call  0x00002965 
+ 00010573  0x0000174c jam  0x000000d8 , 0x00008955 
+ 00010574  0x0000174d rtn 
+ 00010575  0x00001750 jam  0x000000df , 0x00008956 
+ 00010576  0x00001751 call  0x00002965 
+ 00010577  0x00001752 jam  0x000000df , 0x00008955 
+ 00010578  0x00001753 rtn 
+ 00010579  0x00001756 jam  0x000000ff , 0x00008956 
+ 00010580  0x00001757 call  0x00002965 
+ 00010581  0x00001758 jam  0x000000df , 0x00008955 
+ 00010582  0x00001759 rtn 
+ 00010583  0x0000175b jam  0x000000ce , 0x00008956 
+ 00010584  0x0000175c call  0x00002965 
+ 00010585  0x0000175d jam  0x000000d8 , 0x00008955 
+ 00010586  0x0000175e rtn 
+ 00010587  0x00001761 jam  0x000000cb , 0x00008956 
+ 00010588  0x00001762 call  0x00002965 
+ 00010589  0x00001763 jam  0x000000d8 , 0x00008955 
+ 00010590  0x00001764 rtn 
+ 00010591  0x00001767 jam  0x000000d0 , 0x00008955 
+ 00010592  0x00001768 jam  0x000000c0 , 0x00008956 
+ 00010593  0x00001769 jam  0x0000004c , 0x00008957 
+ 00010594  0x0000176a jam  0x0000006c , 0x00008958 
+ 00010595  0x0000176b jam  0x00000050 , 0x00008959 
+ 00010596  0x0000176c rtn 
+ 00010597  0x0000176f nop  0x00000004 
+ 00010598  0x00001770 jam  0x000000d1 , 0x00008955 
+ 00010599  0x00001771 nop  0x00000004 
+ 00010600  0x00001772 jam  0x000000d2 , 0x00008955 
+ 00010601  0x00001773 nop  0x00000004 
+ 00010602  0x00001774 jam  0x000000d4 , 0x00008955 
+ 00010603  0x00001775 rtn 
+ 00010604  0x00001779 jam  0x00000006 , 0x00008042 
+ 00010605  0x0000177b fetch  0x00000002 , 0x000040c3 
+ 00010606  0x0000177c bbit0  0x0000000e , 0x0000296d 
+ 00010607  0x0000177d iforce  0x00000006 
+ 00010608  0x0000177e arg  0x00008900 , 0x00000002 
+ 00010609  0x00001780 ifetch  0x00000001 , 0x00000006 
+ 00010610  0x00001781 beq  0x000000ff , 0x00002977 
+ 00010611  0x00001782 ior  0x00000002 , 0x00000005 
+ 00010612  0x00001783 ifetch  0x00000001 , 0x00000006 
+ 00010613  0x00001784 istore  0x00000001 , 0x00000005 
+ 00010614  0x00001785 branch  0x00002971 
+ 00010615  0x00001787 bpatch  0x0000008a , 0x00004011 
+ 00010616  0x00001788 call  0x00002be5 
+ 00010617  0x00001789 call  0x000029c9 
+ 00010618  0x0000178b setarg  0x000007d0 
+ 00010619  0x0000178c iadd  0x00000022 , 0x0000003f 
+ 00010620  0x0000178d store  0x00000004 , 0x00000169 
+ 00010621  0x0000178e set1  0x00000003 , 0x00000015 
+ 00010622  0x0000178f force  0x00000000 , 0x00000015 
+ 00010623  0x00001790 ncall  0x00002998 , 0x0000002b 
+ 00010624  0x00001791 branch  0x000029ab 
+ 00010625  0x00001795 bpatch  0x0000008b , 0x00004011 
+ 00010626  0x00001796 setarg  0x00000960 
+ 00010627  0x00001797 iadd  0x00000011 , 0x00000002 
+ 00010628  0x00001798 fetch  0x00000001 , 0x000040bd 
+ 00010629  0x00001799 jam  0x00000004 , 0x0000895f 
+ 00010630  0x0000179a imul32  0x00000002 , 0x0000003f 
+ 00010631  0x0000179b fetcht  0x00000001 , 0x000040be 
+ 00010632  0x0000179c idiv  0x00000002 
+ 00010633  0x0000179d call  0x00007f86 
+ 00010634  0x0000179e quotient  0x00000011 
+ 00010635  0x0000179f remainder  0x0000003f 
+ 00010636  0x000017a0 lshift16  0x0000003f , 0x0000003f 
+ 00010637  0x000017a1 lshift4  0x0000003f , 0x0000003f 
+ 00010638  0x000017a2 idiv  0x00000002 
+ 00010639  0x000017a3 call  0x00007f86 
+ 00010640  0x000017a4 quotient  0x0000003f 
+ 00010641  0x000017a5 lshift8  0x0000003f , 0x0000003f 
+ 00010642  0x000017a6 lshift  0x0000003f , 0x0000003f 
+ 00010643  0x000017a7 ior  0x00000011 , 0x0000003f 
+ 00010644  0x000017a8 hstore  0x00000004 , 0x00008960 
+ 00010645  0x000017a9 jam  0x00000044 , 0x0000895f 
+ 00010646  0x000017aa jam  0x000000c4 , 0x0000895f 
+ 00010647  0x000017ab rtn 
+ 00010648  0x000017af bpatch  0x0000008c , 0x00004011 
+ 00010649  0x000017b0 jam  0x00000002 , 0x00008906 
+ 00010650  0x000017b1 setarg  0x0003d090 
+ 00010651  0x000017b2 call  0x00002a8f 
+ 00010652  0x000017b3 jam  0x0000007f , 0x00008900 
+ 00010653  0x000017b4 nop  0x00000082 
+ 00010654  0x000017b5 jam  0x00000030 , 0x00008952 
+ 00010655  0x000017b6 jam  0x000000d0 , 0x00008901 
+ 00010656  0x000017b7 jam  0x00000070 , 0x00008952 
+ 00010657  0x000017b8 jam  0x000000f0 , 0x00008952 
+ 00010658  0x000017b9 force  0x00000032 , 0x00000039 
+ 00010659  0x000017bb hfetch  0x00000001 , 0x00008980 
+ 00010660  0x000017bc bbit1  0x00000005 , 0x000029a6 
+ 00010661  0x000017bd loop  0x000029a3 
+ 00010662  0x000017bf store  0x00000001 , 0x000040ce 
+ 00010663  0x000017c0 jam  0x00000000 , 0x00008901 
+ 00010664  0x000017c1 jam  0x00000000 , 0x00008900 
+ 00010665  0x000017c2 jam  0x00000000 , 0x00008906 
+ 00010666  0x000017c3 rtn 
+ 00010667  0x000017c6 bpatch  0x0000008d , 0x00004011 
+ 00010668  0x000017c7 fetch  0x00000001 , 0x000040ce 
+ 00010669  0x000017c8 set1  0x00000005 , 0x0000003f 
+ 00010670  0x000017c9 hstore  0x00000001 , 0x00008952 
+ 00010671  0x000017ca hfetcht  0x00000001 , 0x00008950 
+ 00010672  0x000017cb and_into  0x00000007 , 0x00000002 
+ 00010673  0x000017cc lshift3  0x0000003f , 0x0000003f 
+ 00010674  0x000017cd ior  0x00000002 , 0x0000003f 
+ 00010675  0x000017ce hstore  0x00000001 , 0x00008950 
+ 00010676  0x000017cf hfetch  0x00000001 , 0x00008951 
+ 00010677  0x000017d0 set0  0x00000000 , 0x0000003f 
+ 00010678  0x000017d1 hstore  0x00000001 , 0x00008951 
+ 00010679  0x000017d2 hfetch  0x00000001 , 0x00008952 
+ 00010680  0x000017d3 set0  0x00000005 , 0x0000003f 
+ 00010681  0x000017d4 hstore  0x00000001 , 0x00008952 
+ 00010682  0x000017d5 rtn 
+ 00010683  0x000017d8 bpatch  0x0000008e , 0x00004011 
+ 00010684  0x000017d9 hfetch  0x00000002 , 0x00008981 
+ 00010685  0x000017da rshift4  0x0000003f , 0x0000003f 
+ 00010686  0x000017db rshift3  0x0000003f , 0x0000003f 
+ 00010687  0x000017dc sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010688  0x000017de and_into  0x000000ff , 0x0000003f 
+ 00010689  0x000017df div  0x0000003f , 0x0000000a 
+ 00010690  0x000017e0 call  0x00007f86 
+ 00010691  0x000017e1 quotient  0x0000003f 
+ 00010692  0x000017e2 lshift4  0x0000003f , 0x0000003f 
+ 00010693  0x000017e3 remainder  0x00000002 
+ 00010694  0x000017e4 ior  0x00000002 , 0x0000003f 
+ 00010695  0x000017e5 store  0x00000001 , 0x00000018 
+ 00010696  0x000017e6 rtn 
+ 00010697  0x000017ea jam  0x00000006 , 0x00008042 
+ 00010698  0x000017eb hfetch  0x00000001 , 0x0000896b 
+ 00010699  0x000017ec set0  0x00000004 , 0x0000003f 
+ 00010700  0x000017ed set0  0x00000005 , 0x0000003f 
+ 00010701  0x000017ee hstore  0x00000001 , 0x0000896b 
+ 00010702  0x000017ef jam  0x00000000 , 0x00008905 
+ 00010703  0x000017f0 jam  0x00000000 , 0x00008904 
+ 00010704  0x000017f1 jam  0x00000070 , 0x00008904 
+ 00010705  0x000017f2 jam  0x000000ff , 0x00008905 
+ 00010706  0x000017f3 hfetch  0x00000001 , 0x0000896b 
+ 00010707  0x000017f4 set1  0x00000004 , 0x0000003f 
+ 00010708  0x000017f5 set1  0x00000005 , 0x0000003f 
+ 00010709  0x000017f6 hstore  0x00000001 , 0x0000896b 
+ 00010710  0x000017f7 call  0x000029e9 
+ 00010711  0x000017f8 hfetch  0x00000001 , 0x00008968 
+ 00010712  0x000017f9 set1  0x00000007 , 0x0000003f 
+ 00010713  0x000017fa hstore  0x00000001 , 0x00008968 
+ 00010714  0x000017fb set0  0x00000007 , 0x0000003f 
+ 00010715  0x000017fc hstore  0x00000001 , 0x00008968 
+ 00010716  0x000017fd set1  0x00000007 , 0x0000003f 
+ 00010717  0x000017fe hstore  0x00000001 , 0x00008968 
+ 00010718  0x000017ff jam  0x00000005 , 0x00008042 
+ 00010719  0x00001800 nop  0x00000001 
+ 00010720  0x00001801 jam  0x00000004 , 0x00008042 
+ 00010721  0x00001802 hfetch  0x00000001 , 0x0000896b 
+ 00010722  0x00001803 and_into  0x000000cf , 0x0000003f 
+ 00010723  0x00001804 hstore  0x00000001 , 0x0000896b 
+ 00010724  0x00001805 or_into  0x00000030 , 0x0000003f 
+ 00010725  0x00001806 hstore  0x00000001 , 0x0000896b 
+ 00010726  0x00001807 rtn 
+ 00010727  0x0000180b setarg  0x00000f0f 
+ 00010728  0x0000180c branch  0x00002c18 
+ 00010729  0x0000180f setarg  0x0000080f 
+ 00010730  0x00001810 branch  0x00002c18 
+ 00010731  0x00001815 bpatch  0x0000008f , 0x00004011 
+ 00010732  0x00001816 call  0x00002924 
+ 00010733  0x00001817 disable  0x00000020 
+ 00010734  0x00001818 enable  0x00000021 
+ 00010735  0x00001819 pulse  0x00000016 
+ 00010736  0x0000181a rtn 
+ 00010737  0x0000181d bpatch  0x00000090 , 0x00004012 
+ 00010738  0x0000181e fetch  0x00000001 , 0x0000004c 
+ 00010739  0x0000181f isolate1  0x00000002 , 0x0000003f 
+ 00010740  0x00001820 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00010741  0x00001821 hstore  0x00000001 , 0x00008011 
+ 00010742  0x00001822 arg  0x00000062 , 0x00000006 
+ 00010743  0x00001823 ifetch  0x00000009 , 0x00000006 
+ 00010744  0x00001824 iforce  0x00000032 
+ 00010745  0x00001825 ifetch  0x00000007 , 0x00000006 
+ 00010746  0x00001826 iforce  0x00000033 
+ 00010747  0x00001827 fetch  0x00000001 , 0x00000054 
+ 00010748  0x00001828 add  0x0000003f , 0xffffffff , 0x00000034 
+ 00010749  0x00001829 pulse  0x0000001a 
+ 00010750  0x0000182a rtn 
+ 00010751  0x0000182d deposit  0x0000001a 
+ 00010752  0x0000182e store  0x00000006 , 0x0000009a 
+ 00010753  0x0000182f disable  0x0000000d 
+ 00010754  0x00001830 nbranch  0x000028f9 , 0x00000018 
+ 00010755  0x00001831 arg  0x000003bb , 0x00000029 
+ 00010756  0x00001832 increase  0x00000001 , 0x00000028 
+ 00010757  0x00001833 and_into  0x000001fc , 0x00000028 
+ 00010758  0x00001834 rtn 
+ 00010759  0x00001839 enable  0x0000000d 
+ 00010760  0x0000183b correlate  0x0000003e , 0x00000017 
+ 00010761  0x0000183c branch  0x000029ff , 0x00000018 
+ 00010762  0x0000183d compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00010763  0x0000183e nbranch  0x00002a08 , 0x00000001 
+ 00010764  0x0000183f branch  0x000029ff 
+ 00010765  0x00001842 bpatch  0x00000091 , 0x00004012 
+ 00010766  0x00001843 arg  0x00000600 , 0x0000000b 
+ 00010767  0x00001844 enable  0x0000000d 
+ 00010768  0x00001845 correlate  0x00000023 , 0x00000026 
+ 00010769  0x00001846 disable  0x0000000d 
+ 00010770  0x00001847 nbranch  0x000028f9 , 0x00000018 
+ 00010771  0x00001848 rtn 
+ 00010772  0x0000184b bpatch  0x00000092 , 0x00004012 
+ 00010773  0x0000184c enable  0x0000000d 
+ 00010774  0x0000184d correlate  0x0000003e , 0x00000003 
+ 00010775  0x0000184e disable  0x0000000d 
+ 00010776  0x0000184f nbranch  0x000028f9 , 0x00000018 
+ 00010777  0x00001850 arg  0x000003bb , 0x00000029 
+ 00010778  0x00001851 and_into  0x000001fc , 0x00000028 
+ 00010779  0x00001852 rtn 
+ 00010780  0x00001856 bpatch  0x00000093 , 0x00004012 
+ 00010781  0x00001857 iforce  0x00000011 
+ 00010782  0x00001858 deposit  0x00000021 
+ 00010783  0x00001859 iadd  0x00000002 , 0x0000000b 
+ 00010784  0x0000185a copy  0x0000000b , 0x0000003f 
+ 00010785  0x0000185b store  0x00000004 , 0x000040ca 
+ 00010786  0x0000185c deposit  0x00000011 
+ 00010787  0x0000185d rtn 
+ 00010788  0x00001861 copy  0x0000003f , 0x00000002 
+ 00010789  0x00001862 bpatch  0x00000094 , 0x00004012 
+ 00010790  0x00001863 copy  0x00000002 , 0x0000003f 
+ 00010791  0x00001864 call  0x00007f50 
+ 00010792  0x00001865 lshift16  0x00000021 , 0x0000003f 
+ 00010793  0x00001866 set1  0x0000002c , 0x0000003f 
+ 00010794  0x00001867 call  0x00007f39 
+ 00010795  0x00001868 set0  0x0000002c , 0x0000003f 
+ 00010796  0x00001869 call  0x00002a77 
+ 00010797  0x0000186a call  0x00007f39 
+ 00010798  0x0000186b rtn  0x00000028 
+ 00010799  0x0000186c call  0x00007f43 
+ 00010800  0x0000186d iforce  0x0000001b 
+ 00010801  0x0000186e until  0x0000003e , 0x00000003 
+ 00010802  0x0000186f rtn 
+ 00010803  0x00001873 bpatch  0x00000095 , 0x00004012 
+ 00010804  0x00001874 branch  0x00002a38 , 0x00000030 
+ 00010805  0x00001875 until  0x00000029 , 0x00000026 
+ 00010806  0x00001877 copy  0x00000028 , 0x00000002 
+ 00010807  0x00001878 branch  0x00002a3b 
+ 00010808  0x0000187a branch  0x00002a3a , 0x0000002e 
+ 00010809  0x0000187b until  0x00000023 , 0x00000026 
+ 00010810  0x0000187d copy  0x00000022 , 0x00000002 
+ 00010811  0x0000187f branch  0x00002a47 , 0x00000028 
+ 00010812  0x00001880 compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00010813  0x00001881 nbranch  0x00002a33 , 0x00000001 
+ 00010814  0x00001883 bpatch  0x00000096 , 0x00004012 
+ 00010815  0x00001884 fetch  0x00000001 , 0x00000030 
+ 00010816  0x00001885 rtnbit0  0x00000000 
+ 00010817  0x00001886 fetch  0x00000004 , 0x000040ca 
+ 00010818  0x00001887 isub  0x00000002 , 0x0000003f 
+ 00010819  0x00001888 nrtn  0x00000002 
+ 00010820  0x00001889 sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00010821  0x0000188a branch  0x00002a33 , 0x00000002 
+ 00010822  0x0000188b rtn 
+ 00010823  0x0000188d compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00010824  0x0000188e nbranch  0x00002a33 , 0x00000001 
+ 00010825  0x0000188f branch  0x00002a3e 
+ 00010826  0x00001892 bpatch  0x00000097 , 0x00004012 
+ 00010827  0x00001893 arg  0x00000600 , 0x0000000b 
+ 00010828  0x00001894 branch  0x00002a33 
+ 00010829  0x00001897 disable  0x00000028 
+ 00010830  0x00001898 branch  0x00002a4a 
+ 00010831  0x0000189b enable  0x00000028 
+ 00010832  0x0000189c branch  0x00002a4a 
+ 00010833  0x0000189f bpatch  0x00000098 , 0x00004013 
+ 00010834  0x000018a0 call  0x000029f1 
+ 00010835  0x000018a1 disable  0x00000021 
+ 00010836  0x000018a2 enable  0x00000020 
+ 00010837  0x000018a3 rtn 
+ 00010838  0x000018a8 bpatch  0x00000099 , 0x00004013 
+ 00010839  0x000018a9 arg  0x00000e43 , 0x0000000b 
+ 00010840  0x000018aa until  0x00000023 , 0x00000026 
+ 00010841  0x000018ab pulse  0x00000016 
+ 00010842  0x000018ac rtn 
+ 00010843  0x000018af bpatch  0x0000009a , 0x00004013 
+ 00010844  0x000018b0 arg  0x00000d00 , 0x0000000b 
+ 00010845  0x000018b1 until  0x00000023 , 0x00000026 
+ 00010846  0x000018b2 rtn 
+ 00010847  0x000018b6 bpatch  0x0000009b , 0x00004013 
+ 00010848  0x000018b7 arg  0x00000e43 , 0x0000000b 
+ 00010849  0x000018b8 until  0x00000029 , 0x00000026 
+ 00010850  0x000018b9 pulse  0x00000016 
+ 00010851  0x000018ba rtn 
+ 00010852  0x000018bd bpatch  0x0000009c , 0x00004013 
+ 00010853  0x000018be preload  0x00000009 
+ 00010854  0x000018bf enable  0x0000001d 
+ 00010855  0x000018c0 set1  0x00000000 , 0x00000015 
+ 00010856  0x000018c1 inject  0x00000003 , 0x00000048 
+ 00010857  0x000018c2 disable  0x0000001d 
+ 00010858  0x000018c3 rtn 
+ 00010859  0x000018c7 copy  0x00000025 , 0x00000002 
+ 00010860  0x000018c8 or_into  0x00000060 , 0x00000002 
+ 00010861  0x000018c9 copy  0x00000002 , 0x0000000e 
+ 00010862  0x000018ca rtn 
+ 00010863  0x000018d0 bpatch  0x0000009d , 0x00004013 
+ 00010864  0x000018d1 fetch  0x00000001 , 0x00004090 
+ 00010865  0x000018d2 increase  0x00000001 , 0x0000003f 
+ 00010866  0x000018d3 bne  0x00000007 , 0x00002a74 
+ 00010867  0x000018d4 force  0x00000001 , 0x0000003f 
+ 00010868  0x000018d6 store  0x00000001 , 0x00004090 
+ 00010869  0x000018d7 iforce  0x00000004 
+ 00010870  0x000018d8 rtn 
+ 00010871  0x000018db copy  0x00000019 , 0x00000002 
+ 00010872  0x000018dc rtn  0x00000029 
+ 00010873  0x000018dd copy  0x0000001a , 0x00000002 
+ 00010874  0x000018de rtn 
+ 00010875  0x000018e1 deposit  0x00000022 
+ 00010876  0x000018e2 rtn  0x00000029 
+ 00010877  0x000018e3 deposit  0x00000028 
+ 00010878  0x000018e4 rtn 
+ 00010879  0x000018e8 bpatch  0x0000009e , 0x00004013 
+ 00010880  0x000018e9 fetcht  0x00000004 , 0x0000004d 
+ 00010881  0x000018ea call  0x00002a7b 
+ 00010882  0x000018eb isub  0x00000002 , 0x0000000b 
+ 00010883  0x000018ec deposit  0x0000000b 
+ 00010884  0x000018ed fetcht  0x00000002 , 0x00000051 
+ 00010885  0x000018ee lshift  0x00000002 , 0x00000002 
+ 00010886  0x000018ef isub  0x00000002 , 0x0000003f 
+ 00010887  0x000018f0 rtn 
+ 00010888  0x000018f3 bpatch  0x0000009f , 0x00004013 
+ 00010889  0x000018f4 call  0x00002a7b 
+ 00010890  0x000018f5 store  0x00000004 , 0x0000004d 
+ 00010891  0x000018f6 rtn 
+ 00010892  0x000018f9 bpatch  0x000000a0 , 0x00004014 
+ 00010893  0x000018fa branch  0x00002a8c 
+ 00010894  0x000018fd branch  0x00002a8e 
+ 00010895  0x00001900 rtn  0x00000034 
+ 00010896  0x00001902 rshift  0x0000003f , 0x0000003f 
+ 00010897  0x00001903 increase  0xfffffffd , 0x0000003f 
+ 00010898  0x00001905 increase  0xffffffff , 0x0000003f 
+ 00010899  0x00001906 nbranch  0x00002a92 , 0x00000005 
+ 00010900  0x00001907 force  0x00000000 , 0x0000003f 
+ 00010901  0x00001908 rtn 
+ 00010902  0x0000190e arg  0x00000010 , 0x00000039 
+ 00010903  0x0000190f arg  0x00000000 , 0x00000005 
+ 00010904  0x00001910 call  0x00007ec6 
+ 00010905  0x00001911 arg  0x0000043f , 0x00000005 
+ 00010906  0x00001912 arg  0x0000000a , 0x00000039 
+ 00010907  0x00001913 call  0x00007ec6 
+ 00010908  0x00001914 jam  0x00000000 , 0x000009b2 
+ 00010909  0x00001915 jam  0x00000000 , 0x00000a99 
+ 00010910  0x00001916 jam  0x00000000 , 0x0000048c 
+ 00010911  0x00001917 jam  0x00000000 , 0x0000017f 
+ 00010912  0x00001918 jam  0x00000000 , 0x000004d1 
+ 00010913  0x00001919 bpatch  0x000000a1 , 0x00004014 
+ 00010914  0x0000191a jam  0x00000000 , 0x0000016d 
+ 00010915  0x0000191b jam  0x00000000 , 0x00000151 
+ 00010916  0x0000191c jam  0x00000000 , 0x0000015c 
+ 00010917  0x0000191d setarg  0x009e8b33 
+ 00010918  0x0000191e store  0x00000003 , 0x000040a7 
+ 00010919  0x0000191f setarg  0x00000153 
+ 00010920  0x00001920 store  0x00000002 , 0x00000083 
+ 00010921  0x00001921 jam  0x0000001e , 0x00000085 
+ 00010922  0x00001922 jam  0x00000001 , 0x00000086 
+ 00010923  0x00001923 jam  0x00000007 , 0x00000088 
+ 00010924  0x00001924 setarg  0x0012e904 
+ 00010925  0x00001925 store  0x00000003 , 0x00000080 
+ 00010926  0x0000192a jam  0x00000060 , 0x00000090 
+ 00010927  0x0000192b jam  0x00000005 , 0x000040d0 
+ 00010928  0x0000192c jam  0x00000002 , 0x00000014 
+ 00010929  0x0000192d fetch  0x00000001 , 0x0000465a 
+ 00010930  0x0000192e ncall  0x000074c1 , 0x00000034 
+ 00010931  0x0000192f fetch  0x00000001 , 0x000044be 
+ 00010932  0x00001930 ncall  0x00007518 , 0x00000034 
+ 00010933  0x00001931 bpatch  0x000000a2 , 0x00004014 
+ 00010934  0x00001932 rtn  0x0000002b 
+ 00010935  0x00001933 setarg  0x00000000 
+ 00010936  0x00001934 store  0x00000002 , 0x000041dc 
+ 00010937  0x00001935 rshift  0x00000022 , 0x0000003f 
+ 00010938  0x00001936 store  0x00000004 , 0x00004094 
+ 00010939  0x00001937 rtn 
+ 00010940  0x0000193f setarg  0x0000ee21 
+ 00010941  0x00001940 hstore  0x00000002 , 0x00008050 
+ 00010942  0x00001941 hfetch  0x00000004 , 0x0000811c 
+ 00010943  0x00001942 store  0x00000004 , 0x00000abe 
+ 00010944  0x00001943 hfetch  0x00000001 , 0x0000813e 
+ 00010945  0x00001944 store  0x00000001 , 0x00000abd 
+ 00010946  0x00001945 bbit0  0x00000003 , 0x0000645b 
+ 00010947  0x00001946 enable  0x0000002b 
+ 00010948  0x00001947 bbit0  0x00000007 , 0x00002acc 
+ 00010949  0x00001948 disable  0x0000002b 
+ 00010950  0x00001949 deposit  0x00000027 
+ 00010951  0x0000194a nbranch  0x00002acc , 0x00000034 
+ 00010952  0x0000194b hfetch  0x00000001 , 0x0000813b 
+ 00010953  0x0000194c bbit1  0x00000002 , 0x00002acc 
+ 00010954  0x0000194d arg  0xffffffff , 0x00000002 
+ 00010955  0x0000194e branch  0x00002b3c 
+ 00010956  0x00001950 hfetch  0x00000003 , 0x0000813c 
+ 00010957  0x00001951 hstore  0x00000003 , 0x0000804c 
+ 00010958  0x00001952 ifetch  0x00000001 , 0x00000006 
+ 00010959  0x00001953 or_into  0x000000ef , 0x0000003f 
+ 00010960  0x00001954 istore  0x00000001 , 0x00000005 
+ 00010961  0x00001955 call  0x00002c23 
+ 00010962  0x00001956 hfetch  0x00000001 , 0x0000804f 
+ 00010963  0x00001957 set1  0x00000004 , 0x0000003f 
+ 00010964  0x00001958 hstore  0x00000001 , 0x0000804f 
+ 00010965  0x00001959 call  0x00002c23 
+ 00010966  0x0000195a call  0x00002adf , 0x0000002b 
+ 00010967  0x0000195b hfetch  0x00000001 , 0x0000804e 
+ 00010968  0x0000195c set0  0x00000003 , 0x0000003f 
+ 00010969  0x0000195d hstore  0x00000001 , 0x0000804e 
+ 00010970  0x0000195e call  0x00002c23 
+ 00010971  0x0000195f nbranch  0x0000645b , 0x0000002b 
+ 00010972  0x00001960 rtnmark0  0x0000002b 
+ 00010973  0x00001961 jam  0x00000008 , 0x00008006 
+ 00010974  0x00001962 rtn 
+ 00010975  0x00001965 fetch  0x00000001 , 0x00004198 
+ 00010976  0x00001966 hstore  0x00000001 , 0x00008086 
+ 00010977  0x00001967 fetch  0x00000003 , 0x0000418d 
+ 00010978  0x00001968 hstore  0x00000003 , 0x00008080 
+ 00010979  0x00001969 fetch  0x00000004 , 0x00004181 
+ 00010980  0x0000196a hstore  0x00000004 , 0x00008074 
+ 00010981  0x0000196b fetch  0x00000004 , 0x0000417d 
+ 00010982  0x0000196c hstore  0x00000004 , 0x00008070 
+ 00010983  0x0000196d fetch  0x00000008 , 0x00004185 
+ 00010984  0x0000196e hstore  0x00000008 , 0x00008078 
+ 00010985  0x0000196f fetch  0x00000008 , 0x00004190 
+ 00010986  0x00001970 iforce  0x00000000 
+ 00010987  0x00001971 hfetch  0x00000008 , 0x00008140 
+ 00010988  0x00001972 store  0x00000008 , 0x000000a1 
+ 00010989  0x00001973 call  0x000064ca 
+ 00010990  0x00001974 rtn 
+ 00010991  0x00001977 deposit  0x00000000 
+ 00010992  0x00001978 store  0x00000008 , 0x00004190 
+ 00010993  0x00001979 hfetch  0x00000008 , 0x00008070 
+ 00010994  0x0000197a store  0x00000008 , 0x0000417d 
+ 00010995  0x0000197b ifetch  0x00000008 , 0x00000006 
+ 00010996  0x0000197c istore  0x00000008 , 0x00000005 
+ 00010997  0x0000197d hfetch  0x00000003 , 0x00008080 
+ 00010998  0x0000197e store  0x00000003 , 0x0000418d 
+ 00010999  0x0000197f hfetch  0x00000001 , 0x00008086 
+ 00011000  0x00001980 store  0x00000001 , 0x00004198 
+ 00011001  0x00001981 branch  0x00002c29 
+ 00011002  0x00001984 hfetch  0x00000001 , 0x00008063 
+ 00011003  0x00001985 nbranch  0x00002b00 , 0x00000034 
+ 00011004  0x00001986 fetch  0x00000003 , 0x0000416f 
+ 00011005  0x00001987 nrtn  0x00000034 
+ 00011006  0x00001988 jam  0x000000c0 , 0x00008063 
+ 00011007  0x00001989 jam  0x00000080 , 0x00008006 
+ 00011008  0x0000198b hfetch  0x00000001 , 0x0000812d 
+ 00011009  0x0000198c rtnbit0  0x00000001 
+ 00011010  0x0000198d hfetch  0x00000003 , 0x00008149 
+ 00011011  0x0000198e store  0x00000003 , 0x0000416f 
+ 00011012  0x0000198f rtn 
+ 00011013  0x00001994 bpatch  0x000000a3 , 0x00004014 
+ 00011014  0x00001995 deposit  0x0000001a 
+ 00011015  0x00001996 call  0x00007f37 
+ 00011016  0x00001997 fetcht  0x00000004 , 0x0000415f 
+ 00011017  0x00001998 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00011018  0x00001999 rtn  0x00000002 
+ 00011019  0x0000199a lshift8  0x0000003f , 0x0000003f 
+ 00011020  0x0000199b lshift4  0x0000003f , 0x0000003f 
+ 00011021  0x0000199c idiv  0x00000002 
+ 00011022  0x0000199d call  0x00007f86 
+ 00011023  0x0000199e quotient  0x0000003f 
+ 00011024  0x0000199f arg  0x000000c8 , 0x00000002 
+ 00011025  0x000019a0 call  0x00007f91 
+ 00011026  0x000019a1 store  0x00000001 , 0x00000099 
+ 00011027  0x000019a2 nbranch  0x00002b15 , 0x00000028 
+ 00011028  0x000019a3 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00011029  0x000019a5 fetcht  0x00000003 , 0x0000416f 
+ 00011030  0x000019a6 iadd  0x00000002 , 0x0000003f 
+ 00011031  0x000019a7 store  0x00000003 , 0x0000416f 
+ 00011032  0x000019a9 setarg  0x00000000 
+ 00011033  0x000019aa store  0x00000004 , 0x0000415f 
+ 00011034  0x000019ab rtn 
+ 00011035  0x000019b0 fetch  0x00000001 , 0x00004177 
+ 00011036  0x000019b1 set1  0x00000002 , 0x0000003f 
+ 00011037  0x000019b2 store  0x00000001 , 0x00004177 
+ 00011038  0x000019b3 branch  0x00002b23 
+ 00011039  0x000019b8 arg  0xffffffff , 0x00000002 
+ 00011040  0x000019b9 fetch  0x00000001 , 0x00004176 
+ 00011041  0x000019ba set0  0x00000007 , 0x0000003f 
+ 00011042  0x000019bb store  0x00000001 , 0x00004176 
+ 00011043  0x000019bd bpatch  0x000000a4 , 0x00004014 
+ 00011044  0x000019be call  0x00002c29 
+ 00011045  0x000019bf fetch  0x00000001 , 0x00004157 
+ 00011046  0x000019c0 store  0x00000001 , 0x0000417c 
+ 00011047  0x000019c1 fetch  0x00000001 , 0x0000417a 
+ 00011048  0x000019c2 set1  0x00000007 , 0x0000003f 
+ 00011049  0x000019c3 store  0x00000001 , 0x0000417a 
+ 00011050  0x000019c7 bpatch  0x000000a5 , 0x00004014 
+ 00011051  0x000019c8 call  0x000029e7 
+ 00011052  0x000019c9 fetch  0x00000004 , 0x0000415f 
+ 00011053  0x000019ca iadd  0x00000002 , 0x0000003f 
+ 00011054  0x000019cb store  0x00000004 , 0x0000415f 
+ 00011055  0x000019cc call  0x00002aef 
+ 00011056  0x000019cd fetch  0x00000005 , 0x00004178 
+ 00011057  0x000019ce hstore  0x00000004 , 0x0000804c 
+ 00011058  0x000019cf rshift32  0x0000003f , 0x00000011 
+ 00011059  0x000019d0 until  0x0000003e , 0x00000033 
+ 00011060  0x000019d1 deposit  0x00000019 
+ 00011061  0x000019d2 store  0x00000006 , 0x00004163 
+ 00011062  0x000019d3 jam  0x00000002 , 0x00008005 
+ 00011063  0x000019d4 until  0x0000003e , 0x00000033 
+ 00011064  0x000019d5 until  0x0000003e , 0x00000033 
+ 00011065  0x000019d6 deposit  0x00000011 
+ 00011066  0x000019d7 hstore  0x00000001 , 0x0000804f 
+ 00011067  0x000019d8 jam  0x00000002 , 0x00008005 
+ 00011068  0x000019da until  0x0000003e , 0x00000033 
+ 00011069  0x000019db until  0x0000003e , 0x00000033 
+ 00011070  0x000019dc hstoret  0x00000004 , 0x0000804c 
+ 00011071  0x000019dd jam  0x00000010 , 0x00008005 
+ 00011072  0x000019de until  0x0000003e , 0x0000003f 
+ 00011073  0x000019e4 bpatch  0x000000a6 , 0x00004014 
+ 00011074  0x000019e5 setarg  0x00000000 
+ 00011075  0x000019e6 copy  0x00000027 , 0x0000003e 
+ 00011076  0x000019e7 branch  0x00002b4c , 0x00000005 
+ 00011077  0x000019e8 hfetch  0x00000001 , 0x0000813c 
+ 00011078  0x000019e9 hfetcht  0x00000001 , 0x0000813d 
+ 00011079  0x000019ea isub  0x00000002 , 0x0000003e 
+ 00011080  0x000019eb branch  0x00002b4a , 0x00000002 
+ 00011081  0x000019ec deposit  0x00000002 
+ 00011082  0x000019ee isub  0x00000027 , 0x0000003f 
+ 00011083  0x000019ef increase  0x00000001 , 0x0000003f 
+ 00011084  0x000019f1 increase  0x00000008 , 0x0000003f 
+ 00011085  0x000019f2 until  0x0000003e , 0x00000033 
+ 00011086  0x000019f3 iadd  0x00000031 , 0x0000003f 
+ 00011087  0x000019f4 fetcht  0x00000004 , 0x0000415b 
+ 00011088  0x000019f5 iadd  0x00000002 , 0x0000003f 
+ 00011089  0x000019f6 fetcht  0x00000003 , 0x0000416f 
+ 00011090  0x000019f7 imul32  0x00000002 , 0x0000003f 
+ 00011091  0x000019f8 rshift8  0x0000003f , 0x0000003f 
+ 00011092  0x000019f9 rshift4  0x0000003f , 0x0000003f 
+ 00011093  0x000019fa increase  0x0000006e , 0x0000003f 
+ 00011094  0x000019fb arg  0x00000ea6 , 0x00000002 
+ 00011095  0x000019fc idiv  0x00000002 
+ 00011096  0x000019fd call  0x00007f86 
+ 00011097  0x000019fe quotient  0x0000003f 
+ 00011098  0x000019ff lshift16  0x0000003f , 0x0000003f 
+ 00011099  0x00001a00 remainder  0x00000002 
+ 00011100  0x00001a01 ior  0x00000002 , 0x0000003f 
+ 00011101  0x00001a02 fetcht  0x00000006 , 0x00004163 
+ 00011102  0x00001a03 call  0x00007f2c 
+ 00011103  0x00001a04 copy  0x00000002 , 0x00000019 
+ 00011104  0x00001a05 fetch  0x00000006 , 0x00004048 
+ 00011105  0x00001a06 call  0x00002854 
+ 00011106  0x00001a07 deposit  0x0000001a 
+ 00011107  0x00001a08 store  0x00000006 , 0x00000a9a 
+ 00011108  0x00001a09 deposit  0x00000027 
+ 00011109  0x00001a0a istore  0x00000001 , 0x00000005 
+ 00011110  0x00001a0b hfetch  0x00000001 , 0x0000811d 
+ 00011111  0x00001a0c or_into  0x000000f0 , 0x0000003f 
+ 00011112  0x00001a0d istore  0x00000001 , 0x00000005 
+ 00011113  0x00001a0e rtn 
+ 00011114  0x00001a11 bpatch  0x000000a7 , 0x00004014 
+ 00011115  0x00001a12 call  0x00002afa 
+ 00011116  0x00001a13 fetch  0x00000003 , 0x0000416f 
+ 00011117  0x00001a14 rtn  0x00000034 
+ 00011118  0x00001a15 fetch  0x00000001 , 0x00004091 
+ 00011119  0x00001a16 rtn  0x00000034 
+ 00011120  0x00001a17 fetch  0x00000001 , 0x0000465a 
+ 00011121  0x00001a18 branch  0x00002b74 , 0x00000034 
+ 00011122  0x00001a19 fetch  0x00000001 , 0x000045b1 
+ 00011123  0x00001a1a rtn  0x00000034 
+ 00011124  0x00001a1c fetch  0x00000001 , 0x000044c0 
+ 00011125  0x00001a1d nrtn  0x00000034 
+ 00011126  0x00001a1e call  0x00002c3a 
+ 00011127  0x00001a1f nrtn  0x00000034 
+ 00011128  0x00001a20 fetch  0x00000001 , 0x00004040 
+ 00011129  0x00001a21 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00011130  0x00001a22 nbranch  0x00002b9d , 0x00000001 
+ 00011131  0x00001a23 fetch  0x00000002 , 0x00004042 
+ 00011132  0x00001a24 rtn  0x00000034 
+ 00011133  0x00001a25 rtn  0x0000002b 
+ 00011134  0x00001a26 bpatch  0x000000a8 , 0x00004015 
+ 00011135  0x00001a28 fetcht  0x00000001 , 0x000000a0 
+ 00011136  0x00001a29 fetch  0x00000002 , 0x00004042 
+ 00011137  0x00001a2a imul32  0x00000002 , 0x0000003f 
+ 00011138  0x00001a2b rshift4  0x00000002 , 0x00000002 
+ 00011139  0x00001a2c rshift2  0x00000002 , 0x00000002 
+ 00011140  0x00001a2d isub  0x00000002 , 0x0000003f 
+ 00011141  0x00001a2e fetcht  0x00000004 , 0x00004044 
+ 00011142  0x00001a2f iadd  0x00000002 , 0x0000003f 
+ 00011143  0x00001a30 fetcht  0x00000001 , 0x00004156 
+ 00011144  0x00001a31 isub  0x00000002 , 0x0000003f 
+ 00011145  0x00001a32 lshift16  0x0000003f , 0x00000030 
+ 00011146  0x00001a33 bpatch  0x000000a9 , 0x00004015 
+ 00011147  0x00001a34 fetch  0x00000002 , 0x0000404e 
+ 00011148  0x00001a35 rshift  0x0000003f , 0x0000003f 
+ 00011149  0x00001a36 call  0x00007f50 
+ 00011150  0x00001a37 deposit  0x00000030 
+ 00011151  0x00001a38 call  0x00007f39 
+ 00011152  0x00001a39 copy  0x0000001a , 0x00000002 
+ 00011153  0x00001a3a call  0x00007f37 
+ 00011154  0x00001a3b rtn  0x00000028 
+ 00011155  0x00001a3d call  0x00007f49 
+ 00011156  0x00001a3f bpatch  0x000000aa , 0x00004015 
+ 00011157  0x00001a40 fetch  0x00000001 , 0x00004178 
+ 00011158  0x00001a41 isub  0x00000002 , 0x0000003e 
+ 00011159  0x00001a42 branch  0x00002b18 , 0x00000002 
+ 00011160  0x00001a43 storet  0x00000004 , 0x0000415b 
+ 00011161  0x00001a44 call  0x00003328 
+ 00011162  0x00001a45 call  0x000052fb 
+ 00011163  0x00001a46 fetcht  0x00000004 , 0x0000415b 
+ 00011164  0x00001a47 branch  0x00002b2a 
+ 00011165  0x00001a4a bpatch  0x000000ab , 0x00004015 
+ 00011166  0x00001a4b fetch  0x00000001 , 0x00004040 
+ 00011167  0x00001a4c rtnbit1  0x00000000 
+ 00011168  0x00001a4d rtnbit1  0x00000003 
+ 00011169  0x00001a4e fetch  0x00000001 , 0x0000465a 
+ 00011170  0x00001a4f branch  0x00002ba5 , 0x00000034 
+ 00011171  0x00001a50 fetch  0x00000001 , 0x000045b1 
+ 00011172  0x00001a51 rtn  0x00000034 
+ 00011173  0x00001a53 bpatch  0x000000ac , 0x00004015 
+ 00011174  0x00001a54 fetch  0x00000001 , 0x0000436e 
+ 00011175  0x00001a55 nbranch  0x00002baa , 0x00000034 
+ 00011176  0x00001a56 fetch  0x00000001 , 0x00004093 
+ 00011177  0x00001a57 rtn  0x00000034 
+ 00011178  0x00001a59 fetch  0x00000002 , 0x00004154 
+ 00011179  0x00001a5a rtn  0x00000034 
+ 00011180  0x00001a5c fetcht  0x00000001 , 0x00004156 
+ 00011181  0x00001a5d isub  0x00000002 , 0x0000003f 
+ 00011182  0x00001a5e arg  0x00001d4c , 0x00000002 
+ 00011183  0x00001a5f imul32  0x00000002 , 0x0000003f 
+ 00011184  0x00001a60 branch  0x00002b93 
+ 00011185  0x00001a63 bpatch  0x000000ad , 0x00004015 
+ 00011186  0x00001a64 disable  0x0000002b 
+ 00011187  0x00001a65 fetch  0x00000001 , 0x00000030 
+ 00011188  0x00001a66 rtnbit0  0x00000001 
+ 00011189  0x00001a67 nbranch  0x00002bd0 , 0x0000002d 
+ 00011190  0x00001a68 call  0x00002bcb 
+ 00011191  0x00001a69 fetch  0x00000002 , 0x000040c1 
+ 00011192  0x00001a6a store  0x00000002 , 0x0000003e 
+ 00011193  0x00001a6b fetch  0x00000001 , 0x00000047 
+ 00011194  0x00001a6c bbit1  0x00000003 , 0x00002bde 
+ 00011195  0x00001a6d bmark0  0x0000000d , 0x00002bde 
+ 00011196  0x00001a6e call  0x00005274 
+ 00011197  0x00001a6f nbranch  0x00002bde , 0x00000034 
+ 00011198  0x00001a70 fetch  0x00000001 , 0x0000455c 
+ 00011199  0x00001a71 bbit1  0x00000001 , 0x00002bde 
+ 00011200  0x00001a73 jam  0x00000000 , 0x000000a0 
+ 00011201  0x00001a74 bmark0  0x0000000d , 0x00002bde 
+ 00011202  0x00001a75 fetch  0x00000001 , 0x00004174 
+ 00011203  0x00001a76 branch  0x00002be2 , 0x00000034 
+ 00011204  0x00001a77 increase  0xffffffff , 0x0000003f 
+ 00011205  0x00001a78 store  0x00000001 , 0x00004174 
+ 00011206  0x00001a79 rtn 
+ 00011207  0x00001a7d arg  0x00000001 , 0x00000007 
+ 00011208  0x00001a7e branch  0x000060cd 
+ 00011209  0x00001a81 arg  0x00000001 , 0x00000007 
+ 00011210  0x00001a82 branch  0x000060d1 
+ 00011211  0x00001a87 jam  0x00000000 , 0x00004159 
+ 00011212  0x00001a88 fetch  0x00000003 , 0x00004169 
+ 00011213  0x00001a89 increase  0x00000001 , 0x0000003f 
+ 00011214  0x00001a8a store  0x00000003 , 0x00004169 
+ 00011215  0x00001a8b rtn 
+ 00011216  0x00001a8e bpatch  0x000000ae , 0x00004015 
+ 00011217  0x00001a8f fetcht  0x00000002 , 0x000040c1 
+ 00011218  0x00001a90 rshift  0x00000002 , 0x00000002 
+ 00011219  0x00001a91 fetch  0x00000002 , 0x0000003e 
+ 00011220  0x00001a92 iadd  0x00000002 , 0x0000003f 
+ 00011221  0x00001a93 store  0x00000002 , 0x0000003e 
+ 00011222  0x00001a95 jam  0x00000000 , 0x000000a0 
+ 00011223  0x00001a96 fetch  0x00000003 , 0x0000416c 
+ 00011224  0x00001a97 increase  0x00000001 , 0x0000003f 
+ 00011225  0x00001a98 store  0x00000003 , 0x0000416c 
+ 00011226  0x00001a99 fetch  0x00000001 , 0x00004159 
+ 00011227  0x00001a9a increase  0x00000001 , 0x0000003f 
+ 00011228  0x00001a9b store  0x00000001 , 0x00004159 
+ 00011229  0x00001a9c rtn 
+ 00011230  0x00001a9f jam  0x00000000 , 0x000000a0 
+ 00011231  0x00001aa0 fetch  0x00000001 , 0x00004173 
+ 00011232  0x00001aa1 store  0x00000001 , 0x00004174 
+ 00011233  0x00001aa2 rtn 
+ 00011234  0x00001aa5 fetcht  0x00000001 , 0x00004172 
+ 00011235  0x00001aa6 storet  0x00000001 , 0x000000a0 
+ 00011236  0x00001aa7 rtn 
+ 00011237  0x00001aaa bpatch  0x000000af , 0x00004015 
+ 00011238  0x00001aab fetch  0x00000001 , 0x00004178 
+ 00011239  0x00001aac nrtn  0x00000034 
+ 00011240  0x00001aad jam  0x00000006 , 0x00008042 
+ 00011241  0x00001aae setarg  0x00000f0c 
+ 00011242  0x00001aaf call  0x00002c18 
+ 00011243  0x00001ab0 setarg  0x00030d40 
+ 00011244  0x00001ab1 call  0x00002a8f 
+ 00011245  0x00001ab2 until  0x0000003e , 0x00000033 
+ 00011246  0x00001ab3 copy  0x00000031 , 0x00000030 
+ 00011247  0x00001ab4 call  0x000029e7 
+ 00011248  0x00001ab5 jam  0x00000004 , 0x00008042 
+ 00011249  0x00001ab6 nop  0x0000000a 
+ 00011250  0x00001ab7 until  0x0000003e , 0x00000033 
+ 00011251  0x00001ab8 deposit  0x00000031 
+ 00011252  0x00001ab9 isub  0x00000030 , 0x0000003f 
+ 00011253  0x00001aba increase  0x00000030 , 0x0000003f 
+ 00011254  0x00001abb arg  0x000000ff , 0x00000002 
+ 00011255  0x00001abc call  0x00007f91 
+ 00011256  0x00001abd store  0x00000001 , 0x00004178 
+ 00011257  0x00001abe nop  0x00007530 
+ 00011258  0x00001abf nop  0x00007530 
+ 00011259  0x00001ac0 nop  0x00007530 
+ 00011260  0x00001ac1 rtn 
+ 00011261  0x00001ac4 fetch  0x00000001 , 0x00004178 
+ 00011262  0x00001ac5 nrtn  0x00000034 
+ 00011263  0x00001ac6 jam  0x000000ff , 0x00008044 
+ 00011264  0x00001ac7 jam  0x00000006 , 0x00008042 
+ 00011265  0x00001ac8 call  0x000029e7 
+ 00011266  0x00001ac9 setarg  0x000003e8 
+ 00011267  0x00001aca iadd  0x00000031 , 0x00000030 
+ 00011268  0x00001acb snooze 
+ 00011269  0x00001acc deposit  0x00000031 
+ 00011270  0x00001acd nop  0x00002ee0 
+ 00011271  0x00001ace nop  0x00002ee0 
+ 00011272  0x00001acf nop  0x00002ee0 
+ 00011273  0x00001ad0 nop  0x00002ee0 
+ 00011274  0x00001ad1 nop  0x00002ee0 
+ 00011275  0x00001ad2 nop  0x00002ee0 
+ 00011276  0x00001ad3 nop  0x00002ee0 
+ 00011277  0x00001ad4 nop  0x00002ee0 
+ 00011278  0x00001ad5 nop  0x00002ee0 
+ 00011279  0x00001ad6 isub  0x00000030 , 0x0000003f 
+ 00011280  0x00001ad7 add  0x0000003f , 0x00000030 , 0x0000003f 
+ 00011281  0x00001ad8 arg  0x000000ff , 0x00000002 
+ 00011282  0x00001ad9 call  0x00007f91 
+ 00011283  0x00001ada store  0x00000001 , 0x00004178 
+ 00011284  0x00001adb nop  0x00007530 
+ 00011285  0x00001adc nop  0x00007530 
+ 00011286  0x00001add nop  0x00007530 
+ 00011287  0x00001ade rtn 
+ 00011288  0x00001ae4 arg  0x00000fff , 0x00000005 
+ 00011289  0x00001ae5 iand  0x00000005 , 0x00000005 
+ 00011290  0x00001ae6 fetch  0x00000001 , 0x00004175 
+ 00011291  0x00001ae7 and_into  0x000000f0 , 0x0000003f 
+ 00011292  0x00001ae8 lshift8  0x0000003f , 0x0000003f 
+ 00011293  0x00001ae9 ior  0x00000005 , 0x0000003f 
+ 00011294  0x00001aea hstore  0x00000002 , 0x0000804c 
+ 00011295  0x00001aeb ifetch  0x00000002 , 0x00000006 
+ 00011296  0x00001aec istore  0x00000002 , 0x00000005 
+ 00011297  0x00001aef setarg  0x00000001 
+ 00011298  0x00001af0 branch  0x00002c24 
+ 00011299  0x00001af3 setarg  0x00000002 
+ 00011300  0x00001af5 until  0x0000003e , 0x00000033 
+ 00011301  0x00001af6 hstore  0x00000001 , 0x00008005 
+ 00011302  0x00001af7 until  0x0000003e , 0x00000033 
+ 00011303  0x00001af8 until  0x0000003e , 0x00000033 
+ 00011304  0x00001af9 rtn 
+ 00011305  0x00001afd bpatch  0x000000b0 , 0x00004016 
+ 00011306  0x00001afe fetch  0x00000004 , 0x000000a1 
+ 00011307  0x00001aff hstore  0x00000004 , 0x0000804c 
+ 00011308  0x00001b00 setarg  0x00000004 
+ 00011309  0x00001b01 call  0x00002c24 
+ 00011310  0x00001b02 fetch  0x00000004 , 0x000000a5 
+ 00011311  0x00001b03 hstore  0x00000004 , 0x0000804c 
+ 00011312  0x00001b04 setarg  0x00000008 
+ 00011313  0x00001b05 branch  0x00002c24 
+ 00011314  0x00001b08 fetch  0x00000002 , 0x00004152 
+ 00011315  0x00001b09 qset1  0x0000003f 
+ 00011316  0x00001b0a store  0x00000002 , 0x00004152 
+ 00011317  0x00001b0b rtn 
+ 00011318  0x00001b0e fetch  0x00000002 , 0x00004152 
+ 00011319  0x00001b0f qset0  0x0000003f 
+ 00011320  0x00001b10 store  0x00000002 , 0x00004152 
+ 00011321  0x00001b11 rtn 
+ 00011322  0x00001b16 bpatch  0x000000b1 , 0x00004016 
+ 00011323  0x00001b17 call  0x00003326 
+ 00011324  0x00001b18 fetch  0x00000002 , 0x00004152 
+ 00011325  0x00001b19 copy  0x0000003f , 0x00000011 
+ 00011326  0x00001b1a fetch  0x00000001 , 0x0000004c 
+ 00011327  0x00001b1b isolate1  0x00000006 , 0x0000003f 
+ 00011328  0x00001b1c setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00011329  0x00001b1d fetch  0x00000001 , 0x00000078 
+ 00011330  0x00001b1e fetcht  0x00000001 , 0x0000007c 
+ 00011331  0x00001b1f iadd  0x00000002 , 0x0000003f 
+ 00011332  0x00001b20 fetcht  0x00000001 , 0x00000048 
+ 00011333  0x00001b21 iadd  0x00000002 , 0x0000003f 
+ 00011334  0x00001b22 nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00011335  0x00001b23 fetch  0x00000001 , 0x000044ff 
+ 00011336  0x00001b24 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00011337  0x00001b25 fetch  0x00000002 , 0x0000025d 
+ 00011338  0x00001b26 fetcht  0x00000002 , 0x0000025f 
+ 00011339  0x00001b27 iadd  0x00000002 , 0x0000003f 
+ 00011340  0x00001b28 nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00011341  0x00001b29 fetch  0x00000008 , 0x00004668 
+ 00011342  0x00001b2a nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00011343  0x00001b2b fetch  0x00000008 , 0x00004670 
+ 00011344  0x00001b2c nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00011345  0x00001b2d fetch  0x00000001 , 0x000041ce 
+ 00011346  0x00001b2e nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00011347  0x00001b2f fetch  0x00000001 , 0x00004092 
+ 00011348  0x00001b30 compare  0x0000000a , 0x0000003f , 0x000000ff 
+ 00011349  0x00001b31 call  0x00002c5b , 0x00000001 
+ 00011350  0x00001b32 setarg  0xfffffff8 
+ 00011351  0x00001b33 iand  0x00000011 , 0x00000011 
+ 00011352  0x00001b34 copy  0x00000011 , 0x0000003f 
+ 00011353  0x00001b35 store  0x00000002 , 0x00004152 
+ 00011354  0x00001b36 rtn 
+ 00011355  0x00001b39 hfetch  0x00000002 , 0x00008112 
+ 00011356  0x00001b3a nsetflag  0x00000034 , 0x00000006 , 0x00000011 
+ 00011357  0x00001b3b hfetch  0x00000002 , 0x0000810e 
+ 00011358  0x00001b3c nsetflag  0x00000034 , 0x00000005 , 0x00000011 
+ 00011359  0x00001b3d rtn 
+ 00011360  0x00001b40 hfetch  0x00000004 , 0x00008138 
+ 00011361  0x00001b41 set0  0x0000001b , 0x0000003f 
+ 00011362  0x00001b42 hstore  0x00000004 , 0x0000804c 
+ 00011363  0x00001b43 call  0x00002c21 
+ 00011364  0x00001b44 branch  0x00002a8c 
+ 00011365  0x00001b47 hfetch  0x00000004 , 0x0000813c 
+ 00011366  0x00001b48 set0  0x00000014 , 0x0000003f 
+ 00011367  0x00001b49 hstore  0x00000004 , 0x0000804c 
+ 00011368  0x00001b4a branch  0x00002c23 
+ 00011369  0x00001b4d fetch  0x00000002 , 0x00004150 
+ 00011370  0x00001b4e bbit1  0x00000000 , 0x00002a8c 
+ 00011371  0x00001b4f rtn 
+ 00011372  0x00001b51 fetch  0x00000002 , 0x00004150 
+ 00011373  0x00001b52 bbit1  0x00000001 , 0x00002a8c 
+ 00011374  0x00001b53 rtn 
+ 00011375  0x00001b55 fetch  0x00000002 , 0x00004150 
+ 00011376  0x00001b56 bbit1  0x00000002 , 0x00002a8c 
+ 00011377  0x00001b57 rtn 
+ 00011378  0x00001b95 bpatch  0x000000b2 , 0x00004016 
+ 00011379  0x00001b96 call  0x00002c7a 
+ 00011380  0x00001b97 add  0x00000013 , 0x000000cd , 0x00000012 
+ 00011381  0x00001b98 ifetch  0x00000001 , 0x00000012 
+ 00011382  0x00001b9a rtneq  0x00000000 
+ 00011383  0x00001b9b beq  0x00000001 , 0x00002d06 
+ 00011384  0x00001b9c beq  0x00000002 , 0x00002c7f 
+ 00011385  0x00001b9d rtn 
+ 00011386  0x00001ba0 fetcht  0x00000002 , 0x00004241 
+ 00011387  0x00001ba1 copy  0x00000002 , 0x00000013 
+ 00011388  0x00001ba2 rtn 
+ 00011389  0x00001ba5 call  0x00002f3d 
+ 00011390  0x00001ba6 branch  0x0000307d 
+ 00011391  0x00001ba9 call  0x00003084 
+ 00011392  0x00001baa call  0x0000305a 
+ 00011393  0x00001bab call  0x0000305e 
+ 00011394  0x00001bac branch  0x000030a2 
+ 00011395  0x00001bb2 call  0x00003231 
+ 00011396  0x00001bb3 setarg  0x0000004e 
+ 00011397  0x00001bb4 call  0x0000322f 
+ 00011398  0x00001bb5 call  0x000032ba 
+ 00011399  0x00001bb8 add  0x00000013 , 0x00000092 , 0x00000011 
+ 00011400  0x00001bb9 ifetch  0x00000004 , 0x00000011 
+ 00011401  0x00001bba branch  0x0000322c 
+ 00011402  0x00001bbd call  0x00002c7a 
+ 00011403  0x00001bbe add  0x00000013 , 0x00000091 , 0x00000012 
+ 00011404  0x00001bbf ifetcht  0x00000001 , 0x00000012 
+ 00011405  0x00001bc1 call  0x00002c90 
+ 00011406  0x00001bc2 add  0x00000013 , 0x00000091 , 0x00000005 
+ 00011407  0x00001bc4 branch  0x00002e56 
+ 00011408  0x00001bc7 call  0x00002c94 
+ 00011409  0x00001bc8 increase  0x00000001 , 0x00000002 
+ 00011410  0x00001bc9 and_into  0x00000003 , 0x00000002 
+ 00011411  0x00001bca rtn 
+ 00011412  0x00001bcd add  0x00000013 , 0x000000ae , 0x00000012 
+ 00011413  0x00001bce ifetch  0x00000001 , 0x00000012 
+ 00011414  0x00001bd0 and_into  0x00000003 , 0x0000003f 
+ 00011415  0x00001bd1 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00011416  0x00001bd2 add  0x00000013 , 0x00000097 , 0x0000003f 
+ 00011417  0x00001bd4 iadd  0x00000011 , 0x0000003f 
+ 00011418  0x00001bd5 iadd  0x00000002 , 0x00000006 
+ 00011419  0x00001bd6 ifetch  0x00000001 , 0x00000006 
+ 00011420  0x00001bd8 branch  0x0000322f 
+ 00011421  0x00001bdb call  0x0000326c 
+ 00011422  0x00001bdc call  0x0000666a 
+ 00011423  0x00001bdd setarg  0x000007e2 
+ 00011424  0x00001bde arg  0x00000aa2 , 0x00000011 
+ 00011425  0x00001bdf arg  0x00000004 , 0x00000002 
+ 00011426  0x00001be0 call  0x000066b3 
+ 00011427  0x00001be1 call  0x0000666d 
+ 00011428  0x00001be2 fetch  0x00000004 , 0x00000aa2 
+ 00011429  0x00001be3 call  0x00003227 
+ 00011430  0x00001be5 nrtn  0x00000034 
+ 00011431  0x00001be6 fetch  0x00000004 , 0x000040a0 
+ 00011432  0x00001be8 branch  0x00003227 
+ 00011433  0x00001beb call  0x00003241 
+ 00011434  0x00001bed setarg  0x00000000 
+ 00011435  0x00001bee call  0x0000323f 
+ 00011436  0x00001bf1 call  0x0000323a 
+ 00011437  0x00001bf3 and_into  0x00000007 , 0x0000003f 
+ 00011438  0x00001bf5 branch  0x0000323c 
+ 00011439  0x00001bf8 call  0x0000323a 
+ 00011440  0x00001bfa set1  0x00000004 , 0x0000003f 
+ 00011441  0x00001bfb call  0x0000323c 
+ 00011442  0x00001bfe branch  0x00003235 
+ 00011443  0x00001c01 call  0x0000325d 
+ 00011444  0x00001c03 beq  0x00000001 , 0x00002cb7 
+ 00011445  0x00001c04 beq  0x00000002 , 0x00002cbc 
+ 00011446  0x00001c05 rtn 
+ 00011447  0x00001c08 call  0x0000323e 
+ 00011448  0x00001c0b add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011449  0x00001c0c call  0x000032d6 
+ 00011450  0x00001c0e call  0x00003242 
+ 00011451  0x00001c10 branch  0x00002cac 
+ 00011452  0x00001c13 call  0x0000325a 
+ 00011453  0x00001c15 branch  0x00002cb8 
+ 00011454  0x00001c18 add  0x00000013 , 0x0000008c , 0x00000011 
+ 00011455  0x00001c19 ifetch  0x00000001 , 0x00000011 
+ 00011456  0x00001c1b increase  0x00000001 , 0x0000003f 
+ 00011457  0x00001c1c add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011458  0x00001c1d istore  0x00000001 , 0x00000005 
+ 00011459  0x00001c1f beq  0x00000020 , 0x00002dd2 
+ 00011460  0x00001c20 call  0x00003258 
+ 00011461  0x00001c22 beq  0x00000001 , 0x00002cca 
+ 00011462  0x00001c23 setarg  0x00000001 
+ 00011463  0x00001c24 call  0x0000325b 
+ 00011464  0x00001c27 call  0x00003258 
+ 00011465  0x00001c29 bne  0x00000001 , 0x00002cac 
+ 00011466  0x00001c2b add  0x00000013 , 0x000000d3 , 0x00000011 
+ 00011467  0x00001c2c ifetch  0x00000001 , 0x00000011 
+ 00011468  0x00001c2e increase  0x00000001 , 0x0000003f 
+ 00011469  0x00001c2f call  0x00002cd5 
+ 00011470  0x00001c31 beq  0x00000004 , 0x00002cd2 
+ 00011471  0x00001c32 call  0x00002c8a 
+ 00011472  0x00001c33 call  0x00002d04 
+ 00011473  0x00001c35 branch  0x00002d8f 
+ 00011474  0x00001c38 call  0x00002cd4 
+ 00011475  0x00001c3a branch  0x00002cac 
+ 00011476  0x00001c3d setarg  0x00000000 
+ 00011477  0x00001c3f add  0x00000013 , 0x000000d3 , 0x00000005 
+ 00011478  0x00001c40 branch  0x000032b4 
+ 00011479  0x00001c43 call  0x0000323e 
+ 00011480  0x00001c46 call  0x0000325a 
+ 00011481  0x00001c48 call  0x00003241 
+ 00011482  0x00001c4a branch  0x00002cac 
+ 00011483  0x00001c4d call  0x0000325d 
+ 00011484  0x00001c4f beq  0x00000003 , 0x00002cd8 
+ 00011485  0x00001c50 call  0x0000323a 
+ 00011486  0x00001c52 isolate0  0x00000004 , 0x0000003f 
+ 00011487  0x00001c53 branch  0x00002ca9 , 0x00000001 
+ 00011488  0x00001c54 call  0x0000325d 
+ 00011489  0x00001c56 beq  0x00000001 , 0x00002cd7 
+ 00011490  0x00001c57 beq  0x00000002 , 0x00002cd8 
+ 00011491  0x00001c58 rtn 
+ 00011492  0x00001c5b call  0x00003253 
+ 00011493  0x00001c5d rtnne  0x000000ff 
+ 00011494  0x00001c5e call  0x00002ce9 
+ 00011495  0x00001c5f ncall  0x00002cf4 , 0x0000002c 
+ 00011496  0x00001c60 rtn 
+ 00011497  0x00001c63 disable  0x0000002c 
+ 00011498  0x00001c64 add  0x00000013 , 0x000000ce , 0x00000011 
+ 00011499  0x00001c65 ifetch  0x00000001 , 0x00000011 
+ 00011500  0x00001c67 rtnne  0x00000001 
+ 00011501  0x00001c68 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011502  0x00001c69 ifetch  0x00000001 , 0x00000011 
+ 00011503  0x00001c6b rtnne  0x00000000 
+ 00011504  0x00001c6c setarg  0x00000001 
+ 00011505  0x00001c6d call  0x00002cfd 
+ 00011506  0x00001c6f call  0x00003237 
+ 00011507  0x00001c71 branch  0x00007feb 
+ 00011508  0x00001c74 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011509  0x00001c75 ifetch  0x00000001 , 0x00000011 
+ 00011510  0x00001c77 branch  0x00002cff , 0x00000034 
+ 00011511  0x00001c78 increase  0xffffffff , 0x0000003f 
+ 00011512  0x00001c79 call  0x0000323f 
+ 00011513  0x00001c7b setarg  0x00000002 
+ 00011514  0x00001c7c call  0x00002cfd 
+ 00011515  0x00001c7e call  0x00002c8a 
+ 00011516  0x00001c80 branch  0x00003237 
+ 00011517  0x00001c83 add  0x00000013 , 0x000000d2 , 0x00000005 
+ 00011518  0x00001c84 branch  0x000032b4 
+ 00011519  0x00001c88 setarg  0x00000003 
+ 00011520  0x00001c89 call  0x00002cfd 
+ 00011521  0x00001c8b call  0x00003258 
+ 00011522  0x00001c8d nbranch  0x00002cc8 , 0x00000034 
+ 00011523  0x00001c8e call  0x00002c8a 
+ 00011524  0x00001c91 setarg  0x00000002 
+ 00011525  0x00001c92 branch  0x00003238 
+ 00011526  0x00001c95 rtnmark0  0x00000026 
+ 00011527  0x00001c96 set1  0x00000027 , 0x00000000 
+ 00011528  0x00001c97 bpatch  0x000000b3 , 0x00004016 
+ 00011529  0x00001c98 add  0x00000013 , 0x0000008e , 0x00000011 
+ 00011530  0x00001c99 ifetch  0x00000001 , 0x00000011 
+ 00011531  0x00001c9b beq  0x00000001 , 0x00002d0f 
+ 00011532  0x00001c9c call  0x0000306a 
+ 00011533  0x00001c9d nbranch  0x00002d16 , 0x00000028 
+ 00011534  0x00001c9e call  0x00002d1b 
+ 00011535  0x00001ca0 add  0x00000013 , 0x0000008e , 0x00000005 
+ 00011536  0x00001ca1 call  0x000032d6 
+ 00011537  0x00001ca3 call  0x00002d2c 
+ 00011538  0x00001ca4 nbranch  0x00002d7d , 0x00000028 
+ 00011539  0x00001ca5 call  0x00002ce4 
+ 00011540  0x00001ca7 call  0x00002d8f 
+ 00011541  0x00001ca8 call  0x00002e7a 
+ 00011542  0x00001caa set0  0x00000027 , 0x00000000 
+ 00011543  0x00001cab rtn 
+ 00011544  0x00001cae rtn  0x00000005 
+ 00011545  0x00001caf set1  0x0000001c , 0x0000003f 
+ 00011546  0x00001cb0 rtn 
+ 00011547  0x00001cb3 add  0x00000013 , 0x000000c2 , 0x00000011 
+ 00011548  0x00001cb4 ifetch  0x00000001 , 0x00000011 
+ 00011549  0x00001cb6 increase  0x00000001 , 0x0000003f 
+ 00011550  0x00001cb7 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011551  0x00001cb8 istore  0x00000001 , 0x00000005 
+ 00011552  0x00001cba beq  0x00000004 , 0x00002d23 
+ 00011553  0x00001cbb beq  0x00000005 , 0x00002d27 
+ 00011554  0x00001cbc rtn 
+ 00011555  0x00001cbe add  0x00000013 , 0x000000ad , 0x00000011 
+ 00011556  0x00001cbf ifetch  0x00000001 , 0x00000011 
+ 00011557  0x00001cc3 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00011558  0x00001cc4 branch  0x000032b4 
+ 00011559  0x00001cc7 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011560  0x00001cc8 call  0x000032d6 
+ 00011561  0x00001cca add  0x00000013 , 0x000000ac , 0x00000011 
+ 00011562  0x00001ccb ifetch  0x00000001 , 0x00000011 
+ 00011563  0x00001ccd branch  0x00002d25 
+ 00011564  0x00001cd0 call  0x00003253 
+ 00011565  0x00001cd2 bne  0x000000ff , 0x00002eb1 
+ 00011566  0x00001cd3 bpatch  0x000000b4 , 0x00004016 
+ 00011567  0x00001cd4 call  0x00002d3a 
+ 00011568  0x00001cd5 nbranch  0x00002d36 , 0x00000028 
+ 00011569  0x00001cd6 call  0x00002d53 
+ 00011570  0x00001cd7 call  0x00002e71 
+ 00011571  0x00001cda setarg  0x00000001 
+ 00011572  0x00001cdc add  0x00000013 , 0x0000008b , 0x00000005 
+ 00011573  0x00001cdd branch  0x000032b4 
+ 00011574  0x00001ce0 add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011575  0x00001ce1 ifetch  0x00000001 , 0x00000011 
+ 00011576  0x00001ce3 beq  0x00000001 , 0x00007fe7 
+ 00011577  0x00001ce4 rtn 
+ 00011578  0x00001ce8 add  0x00000013 , 0x000000d8 , 0x00000002 
+ 00011579  0x00001ce9 ifetch  0x00000002 , 0x00000002 
+ 00011580  0x00001ceb call  0x00007f9c 
+ 00011581  0x00001cec nrtn  0x00000028 
+ 00011582  0x00001ced copy  0x00000011 , 0x0000003f 
+ 00011583  0x00001cee store  0x00000001 , 0x00000aae 
+ 00011584  0x00001cef add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00011585  0x00001cf0 call  0x000032d6 
+ 00011586  0x00001cf2 call  0x00002cac 
+ 00011587  0x00001cf3 store  0x00000001 , 0x0000119e 
+ 00011588  0x00001cf4 fetch  0x00000001 , 0x00000aae 
+ 00011589  0x00001cf5 copy  0x0000003f , 0x00000011 
+ 00011590  0x00001cf6 add  0x00000011 , 0x00000001 , 0x00000002 
+ 00011591  0x00001cf7 arg  0x0000119f , 0x00000005 
+ 00011592  0x00001cf8 copy  0x00000011 , 0x00000039 
+ 00011593  0x00001cf9 copy  0x00000012 , 0x00000006 
+ 00011594  0x00001cfa call  0x00007f01 
+ 00011595  0x00001cfb arg  0x0000119e , 0x00000011 
+ 00011596  0x00001cfd rtnmark0  0x00000027 
+ 00011597  0x00001cfe add  0x00000013 , 0x00000086 , 0x00000005 
+ 00011598  0x00001cff istoret  0x00000001 , 0x00000005 
+ 00011599  0x00001d01 copy  0x00000002 , 0x00000039 
+ 00011600  0x00001d02 add  0x00000013 , 0x00000022 , 0x00000005 
+ 00011601  0x00001d04 copy  0x00000011 , 0x00000006 
+ 00011602  0x00001d05 branch  0x00007f01 
+ 00011603  0x00001d09 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011604  0x00001d0a ifetch  0x00000001 , 0x00000011 
+ 00011605  0x00001d0c increase  0x00000002 , 0x0000003f 
+ 00011606  0x00001d0d add  0x00000013 , 0x00000088 , 0x00000005 
+ 00011607  0x00001d0e istore  0x00000001 , 0x00000005 
+ 00011608  0x00001d11 call  0x0000323a 
+ 00011609  0x00001d13 call  0x00003235 
+ 00011610  0x00001d16 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011611  0x00001d17 ifetch  0x00000001 , 0x00000011 
+ 00011612  0x00001d19 lshift3  0x0000003f , 0x0000003f 
+ 00011613  0x00001d1a add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011614  0x00001d1b ifetcht  0x00000001 , 0x00000011 
+ 00011615  0x00001d1d and  0x00000002 , 0x00000003 , 0x00000002 
+ 00011616  0x00001d1e lshift  0x00000002 , 0x00000002 
+ 00011617  0x00001d1f ior  0x00000002 , 0x0000003f 
+ 00011618  0x00001d20 add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011619  0x00001d21 ifetcht  0x00000001 , 0x00000011 
+ 00011620  0x00001d23 iadd  0x00000002 , 0x0000003f 
+ 00011621  0x00001d24 istore  0x00000001 , 0x00000005 
+ 00011622  0x00001d26 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011623  0x00001d27 ifetch  0x00000001 , 0x00000011 
+ 00011624  0x00001d29 iforce  0x00000039 
+ 00011625  0x00001d2a add  0x00000013 , 0x00000022 , 0x00000006 
+ 00011626  0x00001d2c branch  0x00007f01 
+ 00011627  0x00001d2f call  0x0000324f 
+ 00011628  0x00001d31 call  0x0000325a 
+ 00011629  0x00001d33 call  0x00002e6d 
+ 00011630  0x00001d34 call  0x00002cac 
+ 00011631  0x00001d35 store  0x00000001 , 0x0000119e 
+ 00011632  0x00001d36 call  0x00002d77 
+ 00011633  0x00001d37 call  0x0000323a 
+ 00011634  0x00001d39 set1  0x00000003 , 0x0000003f 
+ 00011635  0x00001d3a call  0x0000323c 
+ 00011636  0x00001d3c call  0x00002d53 
+ 00011637  0x00001d3d call  0x00002d33 
+ 00011638  0x00001d3e branch  0x00002d14 
+ 00011639  0x00001d41 store  0x00000001 , 0x0000119f 
+ 00011640  0x00001d42 call  0x00003224 
+ 00011641  0x00001d44 store  0x00000004 , 0x000011a0 
+ 00011642  0x00001d45 arg  0x00000006 , 0x00000002 
+ 00011643  0x00001d46 arg  0x0000119e , 0x00000011 
+ 00011644  0x00001d47 branch  0x00002d4c 
+ 00011645  0x00001d4a add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00011646  0x00001d4b ifetch  0x00000001 , 0x00000011 
+ 00011647  0x00001d4d branch  0x00002d6b , 0x00000034 
+ 00011648  0x00001d50 add  0x00000013 , 0x000000da , 0x00000011 
+ 00011649  0x00001d51 ifetch  0x00000002 , 0x00000011 
+ 00011650  0x00001d53 branch  0x00007f9c 
+ 00011651  0x00001d56 call  0x00002c7a 
+ 00011652  0x00001d58 call  0x00002afa 
+ 00011653  0x00001d59 fetch  0x00000003 , 0x0000416f 
+ 00011654  0x00001d5a rtn  0x00000034 
+ 00011655  0x00001d5b add  0x00000013 , 0x000000dc , 0x00000002 
+ 00011656  0x00001d5c ifetch  0x00000002 , 0x00000002 
+ 00011657  0x00001d5e call  0x00007f9c 
+ 00011658  0x00001d5f add  0x00000013 , 0x000000b6 , 0x00000002 
+ 00011659  0x00001d60 ifetch  0x00000008 , 0x00000002 
+ 00011660  0x00001d61 call  0x00007f49 
+ 00011661  0x00001d62 storet  0x00000004 , 0x0000415b 
+ 00011662  0x00001d63 branch  0x00002b2a 
+ 00011663  0x00001d66 call  0x00002c7a 
+ 00011664  0x00001d67 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011665  0x00001d68 call  0x000032d6 
+ 00011666  0x00001d6b call  0x00002da4 
+ 00011667  0x00001d6c nbranch  0x00002dae , 0x00000018 
+ 00011668  0x00001d6d nbranch  0x00002dae , 0x0000002f 
+ 00011669  0x00001d6e call  0x00002dd6 
+ 00011670  0x00001d6f call  0x00002e75 
+ 00011671  0x00001d71 call  0x00002c7a 
+ 00011672  0x00001d72 add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011673  0x00001d73 ifetch  0x00000001 , 0x00000011 
+ 00011674  0x00001d75 increase  0x00000001 , 0x0000003f 
+ 00011675  0x00001d76 call  0x00003232 
+ 00011676  0x00001d78 call  0x00003253 
+ 00011677  0x00001d7a bne  0x000000ff , 0x00002ed0 
+ 00011678  0x00001d7b call  0x00002cdb 
+ 00011679  0x00001d7d setarg  0x00000000 
+ 00011680  0x00001d7e add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011681  0x00001d7f istore  0x00000002 , 0x00000005 
+ 00011682  0x00001d83 setarg  0x00000000 
+ 00011683  0x00001d84 branch  0x00002d34 
+ 00011684  0x00001d88 disable  0x0000002f 
+ 00011685  0x00001d89 call  0x00002df7 
+ 00011686  0x00001d8a call  0x00002c7a 
+ 00011687  0x00001d8b add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011688  0x00001d8c ifetch  0x00000001 , 0x00000011 
+ 00011689  0x00001d8e beq  0x00000001 , 0x00002dac 
+ 00011690  0x00001d8f call  0x00002e11 
+ 00011691  0x00001d90 branch  0x00002e45 
+ 00011692  0x00001d92 call  0x00002e45 
+ 00011693  0x00001d93 branch  0x00002d97 
+ 00011694  0x00001d97 bpatch  0x000000b5 , 0x00004016 
+ 00011695  0x00001d98 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011696  0x00001d99 ifetch  0x00000001 , 0x00000011 
+ 00011697  0x00001d9b increase  0x00000001 , 0x0000003f 
+ 00011698  0x00001d9c add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011699  0x00001d9d istore  0x00000001 , 0x00000005 
+ 00011700  0x00001d9f call  0x00003253 
+ 00011701  0x00001da1 bne  0x000000ff , 0x00002dcc 
+ 00011702  0x00001da2 add  0x00000013 , 0x0000008f , 0x00000011 
+ 00011703  0x00001da3 ifetcht  0x00000001 , 0x00000011 
+ 00011704  0x00001da5 increase  0x00000001 , 0x00000002 
+ 00011705  0x00001da6 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011706  0x00001da7 istoret  0x00000001 , 0x00000005 
+ 00011707  0x00001da9 add  0x00000013 , 0x000000cc , 0x00000011 
+ 00011708  0x00001daa ifetch  0x00000001 , 0x00000011 
+ 00011709  0x00001dac isub  0x00000002 , 0x0000003f 
+ 00011710  0x00001dad nbranch  0x00002d92 , 0x00000034 
+ 00011711  0x00001dae bpatch  0x000000b6 , 0x00004016 
+ 00011712  0x00001daf call  0x0000325d 
+ 00011713  0x00001db1 beq  0x00000003 , 0x00002cbe 
+ 00011714  0x00001db2 add  0x00000013 , 0x000000d1 , 0x00000011 
+ 00011715  0x00001db3 ifetch  0x00000001 , 0x00000011 
+ 00011716  0x00001db5 increase  0x00000001 , 0x0000003f 
+ 00011717  0x00001db6 add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011718  0x00001db7 istore  0x00000001 , 0x00000005 
+ 00011719  0x00001db9 beq  0x00000002 , 0x00002cb3 
+ 00011720  0x00001dba call  0x00002caf 
+ 00011721  0x00001dbb setarg  0x00000001 
+ 00011722  0x00001dbc call  0x00003238 
+ 00011723  0x00001dbe branch  0x00002d8f 
+ 00011724  0x00001dc1 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011725  0x00001dc2 ifetch  0x00000001 , 0x00000011 
+ 00011726  0x00001dc4 rtnne  0x000000ff 
+ 00011727  0x00001dc5 add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011728  0x00001dc6 call  0x000032d6 
+ 00011729  0x00001dc8 branch  0x00002dd4 
+ 00011730  0x00001dcb add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011731  0x00001dcc call  0x000032d6 
+ 00011732  0x00001dcf jam  0x0000003a , 0x00000a99 
+ 00011733  0x00001dd0 branch  0x00007d86 
+ 00011734  0x00001dd3 call  0x00002dde 
+ 00011735  0x00001dd4 add  0x00000013 , 0x00000084 , 0x00000011 
+ 00011736  0x00001dd5 ifetch  0x00000001 , 0x00000011 
+ 00011737  0x00001dd7 rtn  0x00000034 
+ 00011738  0x00001dd8 iforce  0x00000039 
+ 00011739  0x00001dd9 add  0x00000013 , 0x00000002 , 0x00000006 
+ 00011740  0x00001ddb add  0x00000013 , 0x00000064 , 0x00000005 
+ 00011741  0x00001ddd branch  0x00007f01 
+ 00011742  0x00001de2 call  0x0000325f 
+ 00011743  0x00001de4 rshift3  0x0000003f , 0x0000003f 
+ 00011744  0x00001de5 add  0x00000013 , 0x00000084 , 0x00000005 
+ 00011745  0x00001de6 istore  0x00000001 , 0x00000005 
+ 00011746  0x00001de9 increase  0x00000001 , 0x0000003f 
+ 00011747  0x00001dea add  0x00000013 , 0x00000001 , 0x00000006 
+ 00011748  0x00001dec iadd  0x00000006 , 0x00000006 
+ 00011749  0x00001ded ifetch  0x00000003 , 0x00000006 
+ 00011750  0x00001dee add  0x00000013 , 0x000000c4 , 0x00000005 
+ 00011751  0x00001def istore  0x00000003 , 0x00000005 
+ 00011752  0x00001df2 call  0x0000325f 
+ 00011753  0x00001df4 rshift  0x0000003f , 0x0000003f 
+ 00011754  0x00001df5 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00011755  0x00001df6 add  0x00000013 , 0x000000ca , 0x00000005 
+ 00011756  0x00001df7 istore  0x00000001 , 0x00000005 
+ 00011757  0x00001df9 rtn 
+ 00011758  0x00001dfc disable  0x00000009 
+ 00011759  0x00001dfd disable  0x00000007 
+ 00011760  0x00001dfe setarg  0x00555555 
+ 00011761  0x00001dff iforce  0x0000000f 
+ 00011762  0x00001e00 rtn 
+ 00011763  0x00001e03 call  0x00002918 
+ 00011764  0x00001e04 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011765  0x00001e05 ifetcht  0x00000001 , 0x00000011 
+ 00011766  0x00001e07 branch  0x00002933 
+ 00011767  0x00001e0a call  0x00002dee 
+ 00011768  0x00001e0b call  0x00002df3 
+ 00011769  0x00001e0c set1  0x00000000 , 0x00000015 
+ 00011770  0x00001e0d enable  0x0000001d 
+ 00011771  0x00001e0e enable  0x00000020 
+ 00011772  0x00001e0f disable  0x00000021 
+ 00011773  0x00001e10 call  0x000053c4 
+ 00011774  0x00001e11 call  0x0000322a 
+ 00011775  0x00001e13 iforce  0x00000009 
+ 00011776  0x00001e14 inject  0x00000003 , 0x00000020 
+ 00011777  0x00001e15 enable  0x00000009 
+ 00011778  0x00001e16 add  0x00000013 , 0x00000088 , 0x00000011 
+ 00011779  0x00001e17 ifetch  0x00000001 , 0x00000011 
+ 00011780  0x00001e19 iforce  0x00000039 
+ 00011781  0x00001e1a add  0x00000013 , 0x00000042 , 0x00000006 
+ 00011782  0x00001e1d ifetch  0x00000001 , 0x00000006 
+ 00011783  0x00001e1e inject  0x00000003 , 0x00000008 
+ 00011784  0x00001e1f loop  0x00002e06 
+ 00011785  0x00001e20 enable  0x00000008 
+ 00011786  0x00001e21 inject  0x00000003 , 0x00000018 
+ 00011787  0x00001e22 disable  0x00000008 
+ 00011788  0x00001e23 until  0x0000003e , 0x00000027 
+ 00011789  0x00001e24 bpatch  0x000000b7 , 0x00004016 
+ 00011790  0x00001e25 nop  0x00000064 
+ 00011791  0x00001e26 disable  0x0000001d 
+ 00011792  0x00001e27 rtn 
+ 00011793  0x00001e2a disable  0x0000002f 
+ 00011794  0x00001e2b force  0x00000000 , 0x00000015 
+ 00011795  0x00001e2c add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011796  0x00001e2d ifetcht  0x00000001 , 0x00000011 
+ 00011797  0x00001e2f call  0x0000291f 
+ 00011798  0x00001e30 call  0x00002924 
+ 00011799  0x00001e32 call  0x00002dee 
+ 00011800  0x00001e33 enable  0x0000000d 
+ 00011801  0x00001e34 enable  0x00000021 
+ 00011802  0x00001e35 disable  0x00000020 
+ 00011803  0x00001e36 call  0x000053c4 
+ 00011804  0x00001e37 call  0x0000322a 
+ 00011805  0x00001e39 iforce  0x00000009 
+ 00011806  0x00001e3a enable  0x00000010 
+ 00011807  0x00001e3b add  0x00000013 , 0x00000089 , 0x00000011 
+ 00011808  0x00001e3c ifetch  0x00000002 , 0x00000011 
+ 00011809  0x00001e3e iforce  0x0000001b 
+ 00011810  0x00001e3f correlate  0x0000003e , 0x00000003 
+ 00011811  0x00001e40 nbranch  0x00002e4d , 0x00000018 
+ 00011812  0x00001e41 enable  0x00000009 
+ 00011813  0x00001e42 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011814  0x00001e43 rshift3  0x0000000c , 0x0000003f 
+ 00011815  0x00001e44 add  0x00000013 , 0x00000000 , 0x00000005 
+ 00011816  0x00001e45 istore  0x00000001 , 0x00000005 
+ 00011817  0x00001e47 add  0x00000013 , 0x000000cd , 0x00000011 
+ 00011818  0x00001e48 ifetch  0x00000001 , 0x00000011 
+ 00011819  0x00001e4a beq  0x00000002 , 0x00002e33 
+ 00011820  0x00001e4b bpatch  0x000000b8 , 0x00004017 
+ 00011821  0x00001e4c add  0x00000013 , 0x00000000 , 0x00000011 
+ 00011822  0x00001e4d ifetch  0x00000001 , 0x00000011 
+ 00011823  0x00001e4f add  0x00000013 , 0x00000087 , 0x00000011 
+ 00011824  0x00001e50 ifetcht  0x00000001 , 0x00000011 
+ 00011825  0x00001e52 icompare  0x00000007 , 0x00000002 
+ 00011826  0x00001e53 nbranch  0x00002e45 , 0x00000001 
+ 00011827  0x00001e55 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011828  0x00001e56 rshift3  0x0000000c , 0x0000003f 
+ 00011829  0x00001e57 istore  0x00000001 , 0x00000005 
+ 00011830  0x00001e58 rshift3  0x0000003f , 0x0000003f 
+ 00011831  0x00001e59 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00011832  0x00001e5a branch  0x00002e3d , 0x00000005 
+ 00011833  0x00001e5c parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011834  0x00001e5d rshift3  0x0000000c , 0x0000003f 
+ 00011835  0x00001e5e istore  0x00000001 , 0x00000005 
+ 00011836  0x00001e5f loop  0x00002e39 
+ 00011837  0x00001e61 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00011838  0x00001e62 rshift32  0x0000003f , 0x0000003f 
+ 00011839  0x00001e63 rshift16  0x0000003f , 0x0000003f 
+ 00011840  0x00001e64 istore  0x00000003 , 0x00000005 
+ 00011841  0x00001e65 branch  0x00002e45 , 0x00000006 
+ 00011842  0x00001e66 enable  0x0000002f 
+ 00011843  0x00001e67 disable  0x0000000d 
+ 00011844  0x00001e68 rtn 
+ 00011845  0x00001e6c disable  0x0000001d 
+ 00011846  0x00001e6d disable  0x0000000d 
+ 00011847  0x00001e6e disable  0x00000009 
+ 00011848  0x00001e6f disable  0x00000007 
+ 00011849  0x00001e70 branch  0x000028f9 , 0x00000021 
+ 00011850  0x00001e71 until  0x0000003e , 0x00000027 
+ 00011851  0x00001e72 nop  0x00000064 
+ 00011852  0x00001e73 branch  0x000028f9 
+ 00011853  0x00001e76 call  0x00002e4f 
+ 00011854  0x00001e77 branch  0x00002e45 
+ 00011855  0x00001e7a call  0x000029bb 
+ 00011856  0x00001e7b rtn  0x00000034 
+ 00011857  0x00001e7c add  0x00000013 , 0x000000ea , 0x00000011 
+ 00011858  0x00001e7d ifetcht  0x00000001 , 0x00000011 
+ 00011859  0x00001e7f arg  0x00000d9e , 0x00000011 
+ 00011860  0x00001e81 call  0x00002e58 
+ 00011861  0x00001e82 add  0x00000013 , 0x000000ea , 0x00000005 
+ 00011862  0x00001e85 istoret  0x00000001 , 0x00000005 
+ 00011863  0x00001e86 rtn 
+ 00011864  0x00001e89 arg  0x000000ff , 0x00000012 
+ 00011865  0x00001e8a branch  0x00002e5a 
+ 00011866  0x00001e9d copy  0x00000011 , 0x0000003f 
+ 00011867  0x00001e9e iadd  0x00000002 , 0x00000005 
+ 00011868  0x00001e9f fetch  0x00000001 , 0x00000018 
+ 00011869  0x00001ea0 istore  0x00000001 , 0x00000005 
+ 00011870  0x00001ea1 increase  0x00000001 , 0x00000002 
+ 00011871  0x00001ea2 copy  0x00000012 , 0x0000003f 
+ 00011872  0x00001ea3 iand_into  0x00000002 
+ 00011873  0x00001ea4 rtn 
+ 00011874  0x00001ea7 arg  0x00000000 , 0x00000002 
+ 00011875  0x00001ea8 copy  0x00000011 , 0x00000006 
+ 00011876  0x00001eaa ifetch  0x00000001 , 0x00000006 
+ 00011877  0x00001eab iadd  0x00000002 , 0x00000002 
+ 00011878  0x00001eac loop  0x00002e64 
+ 00011879  0x00001ead rshift8  0x00000002 , 0x00000002 
+ 00011880  0x00001eae rtn 
+ 00011881  0x00001eb1 call  0x00002c7a 
+ 00011882  0x00001eb2 call  0x00002e9f 
+ 00011883  0x00001eb3 setarg  0x00000001 
+ 00011884  0x00001eb4 call  0x00003272 
+ 00011885  0x00001eb7 setarg  0x00000000 
+ 00011886  0x00001eb8 call  0x00002e73 
+ 00011887  0x00001eba istore  0x00000001 , 0x00000005 
+ 00011888  0x00001ebc rtn 
+ 00011889  0x00001ebf call  0x00003270 
+ 00011890  0x00001ec1 increase  0x00000001 , 0x0000003f 
+ 00011891  0x00001ec4 add  0x00000013 , 0x000000fc , 0x00000005 
+ 00011892  0x00001ec5 branch  0x000032b4 
+ 00011893  0x00001eca add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011894  0x00001ecb ifetch  0x00000001 , 0x00000011 
+ 00011895  0x00001ecc increase  0x00000001 , 0x0000003f 
+ 00011896  0x00001ecd add  0x00000013 , 0x000000fd , 0x00000005 
+ 00011897  0x00001ece branch  0x000032b4 
+ 00011898  0x00001ed1 bpatch  0x000000b9 , 0x00004017 
+ 00011899  0x00001ed2 call  0x00003270 
+ 00011900  0x00001ed4 sub  0x0000003f , 0x0000007c , 0x0000003e 
+ 00011901  0x00001ed5 rtn  0x00000002 
+ 00011902  0x00001ed6 add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011903  0x00001ed7 ifetcht  0x00000001 , 0x00000011 
+ 00011904  0x00001ed9 isub  0x00000002 , 0x00000002 
+ 00011905  0x00001eda call  0x00002e6d 
+ 00011906  0x00001edb setarg  0x00000102 
+ 00011907  0x00001edc iadd  0x00000013 , 0x00000011 
+ 00011908  0x00001edd ifetch  0x00000001 , 0x00000011 
+ 00011909  0x00001edf isub  0x00000002 , 0x0000003e 
+ 00011910  0x00001ee0 nbranch  0x00002e8d , 0x00000002 
+ 00011911  0x00001ee1 setarg  0x00000103 
+ 00011912  0x00001ee2 iadd  0x00000013 , 0x00000011 
+ 00011913  0x00001ee3 ifetch  0x00000001 , 0x00000011 
+ 00011914  0x00001ee5 isub  0x00000002 , 0x0000003e 
+ 00011915  0x00001ee6 branch  0x00002e99 , 0x00000002 
+ 00011916  0x00001ee7 rtn 
+ 00011917  0x00001eea add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011918  0x00001eeb ifetch  0x00000001 , 0x00000011 
+ 00011919  0x00001eed beq  0x00000002 , 0x00002e93 
+ 00011920  0x00001eee increase  0x00000001 , 0x0000003f 
+ 00011921  0x00001eef call  0x00003272 
+ 00011922  0x00001ef1 beq  0x00000001 , 0x00002e9f 
+ 00011923  0x00001ef3 setarg  0x0000000a 
+ 00011924  0x00001ef4 call  0x000032b0 
+ 00011925  0x00001ef6 setarg  0x00000000 
+ 00011926  0x00001ef7 call  0x000032b2 
+ 00011927  0x00001efa add  0x00000013 , 0x000000ff , 0x00000011 
+ 00011928  0x00001efc branch  0x00002ea5 
+ 00011929  0x00001eff add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011930  0x00001f00 ifetch  0x00000001 , 0x00000011 
+ 00011931  0x00001f02 beq  0x00000000 , 0x00002ea7 
+ 00011932  0x00001f03 increase  0xffffffff , 0x0000003f 
+ 00011933  0x00001f04 call  0x00003272 
+ 00011934  0x00001f06 beq  0x00000000 , 0x00002ea7 
+ 00011935  0x00001f0b setarg  0x00000005 
+ 00011936  0x00001f0c call  0x000032b0 
+ 00011937  0x00001f0e setarg  0x00000000 
+ 00011938  0x00001f0f call  0x000032b2 
+ 00011939  0x00001f12 setarg  0x00000100 
+ 00011940  0x00001f14 iadd  0x00000013 , 0x00000011 
+ 00011941  0x00001f16 ifetch  0x00000001 , 0x00000011 
+ 00011942  0x00001f18 branch  0x0000326a 
+ 00011943  0x00001f1d setarg  0x00000002 
+ 00011944  0x00001f1e call  0x000032b0 
+ 00011945  0x00001f20 setarg  0x00000000 
+ 00011946  0x00001f21 call  0x000032b2 
+ 00011947  0x00001f24 setarg  0x00000101 
+ 00011948  0x00001f26 branch  0x00002ea4 
+ 00011949  0x00001f35 set1  0x00000026 , 0x00000000 
+ 00011950  0x00001f36 call  0x00002c83 
+ 00011951  0x00001f39 setarg  0x00000001 
+ 00011952  0x00001f3a branch  0x00003256 
+ 00011953  0x00001f3d add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011954  0x00001f3e ifetch  0x00000001 , 0x00000011 
+ 00011955  0x00001f40 beq  0x00000001 , 0x00007fe7 
+ 00011956  0x00001f41 call  0x00003253 
+ 00011957  0x00001f43 beq  0x00000001 , 0x00002eb9 
+ 00011958  0x00001f44 beq  0x00000002 , 0x00002ebd 
+ 00011959  0x00001f45 beq  0x00000003 , 0x00002ec1 
+ 00011960  0x00001f46 branch  0x00002a8c 
+ 00011961  0x00001f49 setarg  0x00000011 
+ 00011962  0x00001f4a call  0x00003256 
+ 00011963  0x00001f4c jam  0x000000aa , 0x0000119e 
+ 00011964  0x00001f4d branch  0x00002ec4 
+ 00011965  0x00001f4f setarg  0x00000012 
+ 00011966  0x00001f50 call  0x00003256 
+ 00011967  0x00001f52 jam  0x00000055 , 0x0000119e 
+ 00011968  0x00001f53 branch  0x00002ec4 
+ 00011969  0x00001f55 setarg  0x00000013 
+ 00011970  0x00001f56 call  0x00003256 
+ 00011971  0x00001f58 jam  0x00000022 , 0x0000119e 
+ 00011972  0x00001f5a call  0x0000323a 
+ 00011973  0x00001f5c and_into  0x00000007 , 0x0000003f 
+ 00011974  0x00001f5d store  0x00000001 , 0x0000119f 
+ 00011975  0x00001f5e call  0x00003224 
+ 00011976  0x00001f60 store  0x00000004 , 0x000011a0 
+ 00011977  0x00001f62 jam  0x00000000 , 0x000011a4 
+ 00011978  0x00001f63 arg  0x0000119e , 0x00000011 
+ 00011979  0x00001f64 arg  0x00000007 , 0x00000002 
+ 00011980  0x00001f65 call  0x00002d4c 
+ 00011981  0x00001f66 call  0x00002d53 
+ 00011982  0x00001f67 call  0x00002d33 
+ 00011983  0x00001f68 branch  0x00007fe7 
+ 00011984  0x00001f6b call  0x00003253 
+ 00011985  0x00001f6d rtneq  0x000000ff 
+ 00011986  0x00001f6e beq  0x00000011 , 0x00002ed6 
+ 00011987  0x00001f6f beq  0x00000012 , 0x00002ed9 
+ 00011988  0x00001f70 beq  0x00000013 , 0x00002edc 
+ 00011989  0x00001f71 rtn 
+ 00011990  0x00001f74 setarg  0x00000002 
+ 00011991  0x00001f75 call  0x00003256 
+ 00011992  0x00001f77 branch  0x00002d9f 
+ 00011993  0x00001f79 setarg  0x00000003 
+ 00011994  0x00001f7a call  0x00003256 
+ 00011995  0x00001f7c branch  0x00002d9f 
+ 00011996  0x00001f7e setarg  0x000000ff 
+ 00011997  0x00001f7f call  0x00003256 
+ 00011998  0x00001f81 jam  0x00000039 , 0x00000a99 
+ 00011999  0x00001f82 call  0x00007d86 
+ 00012000  0x00001f83 add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012001  0x00001f84 ifetch  0x00000004 , 0x00000011 
+ 00012002  0x00001f86 call  0x0000322c 
+ 00012003  0x00001f88 branch  0x00002d9f 
+ 00012004  0x00001f8b set0  0x00000026 , 0x00000000 
+ 00012005  0x00001f8c call  0x00002f08 
+ 00012006  0x00001f8d call  0x00002f22 
+ 00012007  0x00001f8f call  0x00003263 
+ 00012008  0x00001f91 nop  0x000007d0 
+ 00012009  0x00001f92 call  0x00003261 
+ 00012010  0x00001f93 beq  0x000000ff , 0x00002dd4 
+ 00012011  0x00001f94 call  0x00002da4 
+ 00012012  0x00001f95 nbranch  0x00002efa , 0x00000018 
+ 00012013  0x00001f96 nbranch  0x00002efa , 0x0000002f 
+ 00012014  0x00001f97 call  0x00002dd6 
+ 00012015  0x00001f98 call  0x00002c7a 
+ 00012016  0x00001f99 add  0x00000013 , 0x00000092 , 0x00000011 
+ 00012017  0x00001f9a ifetcht  0x00000004 , 0x00000011 
+ 00012018  0x00001f9b call  0x000030be 
+ 00012019  0x00001f9c branch  0x00002ead , 0x00000005 
+ 00012020  0x00001f9d call  0x00002c7a 
+ 00012021  0x00001f9e add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012022  0x00001f9f ifetch  0x00000004 , 0x00000011 
+ 00012023  0x00001fa0 beq  0x00000000 , 0x00002ee7 
+ 00012024  0x00001fa1 call  0x0000322c 
+ 00012025  0x00001fa2 branch  0x00002f1c 
+ 00012026  0x00001fa5 call  0x00003261 
+ 00012027  0x00001fa6 increase  0x00000001 , 0x0000003f 
+ 00012028  0x00001fa7 call  0x00003264 
+ 00012029  0x00001fa9 call  0x00002f04 
+ 00012030  0x00001faa increase  0x00000001 , 0x0000003f 
+ 00012031  0x00001fab and_into  0x00000001 , 0x0000003f 
+ 00012032  0x00001fac call  0x00002f06 
+ 00012033  0x00001fad beq  0x00000000 , 0x00002f0c 
+ 00012034  0x00001fae beq  0x00000001 , 0x00002f0e 
+ 00012035  0x00001faf rtn 
+ 00012036  0x00001fb2 setarg  0x0000018b 
+ 00012037  0x00001fb3 branch  0x000032d0 
+ 00012038  0x00001fb5 arg  0x0000018b , 0x00000011 
+ 00012039  0x00001fb6 branch  0x000032b3 
+ 00012040  0x00001fb9 call  0x00003267 
+ 00012041  0x00001fba call  0x00003224 
+ 00012042  0x00001fbb call  0x0000322c 
+ 00012043  0x00001fbc branch  0x00002c8a 
+ 00012044  0x00001fbf call  0x00002f08 
+ 00012045  0x00001fc0 branch  0x00002ee8 
+ 00012046  0x00001fc3 call  0x00002c83 
+ 00012047  0x00001fc4 branch  0x00002ee8 
+ 00012048  0x00001fc8 set0  0x00000026 , 0x00000000 
+ 00012049  0x00001fc9 call  0x00002c8a 
+ 00012050  0x00001fca call  0x00003253 
+ 00012051  0x00001fcc rtnne  0x000000ff 
+ 00012052  0x00001fcd call  0x00002f22 
+ 00012053  0x00001fce call  0x00003263 
+ 00012054  0x00001fd1 nop  0x000007d0 
+ 00012055  0x00001fd2 call  0x00003261 
+ 00012056  0x00001fd4 beq  0x000000ff , 0x00002dd4 
+ 00012057  0x00001fd5 call  0x00002da4 
+ 00012058  0x00001fd6 nbranch  0x00002f27 , 0x00000018 
+ 00012059  0x00001fd7 nbranch  0x00002f27 , 0x0000002f 
+ 00012060  0x00001fd9 set1  0x00000026 , 0x00000000 
+ 00012061  0x00001fda call  0x00003263 
+ 00012062  0x00001fdb setarg  0x000000ff 
+ 00012063  0x00001fdc call  0x00003256 
+ 00012064  0x00001fde jam  0x0000003c , 0x00000a99 
+ 00012065  0x00001fdf branch  0x00007d86 
+ 00012066  0x00001fe2 set1  0x00000027 , 0x00000000 
+ 00012067  0x00001fe3 jam  0x000000ff , 0x0000119e 
+ 00012068  0x00001fe4 call  0x0000323a 
+ 00012069  0x00001fe6 call  0x00002d77 
+ 00012070  0x00001fe7 branch  0x00002d53 
+ 00012071  0x00001fea call  0x00003261 
+ 00012072  0x00001fec increase  0x00000001 , 0x0000003f 
+ 00012073  0x00001fed call  0x00003264 
+ 00012074  0x00001fef call  0x00002c8a 
+ 00012075  0x00001ff0 branch  0x00002f16 
+ 00012076  0x00001ff3 call  0x00003267 
+ 00012077  0x00001ff6 setarg  0x000000ff 
+ 00012078  0x00001ff7 call  0x00003256 
+ 00012079  0x00001ff9 branch  0x00002f10 
+ 00012080  0x00002003 bpatch  0x000000ba , 0x00004017 
+ 00012081  0x00002004 call  0x00002c7a 
+ 00012082  0x00002005 setarg  0x000031b0 
+ 00012083  0x00002006 add  0x00000013 , 0x000000de , 0x00000005 
+ 00012084  0x00002007 istore  0x00000002 , 0x00000005 
+ 00012085  0x00002009 call  0x00002f3d 
+ 00012086  0x0000200a call  0x000048ea 
+ 00012087  0x0000200b call  0x000032b6 
+ 00012088  0x0000200d bpatch  0x000000bb , 0x00004017 
+ 00012089  0x0000200e beq  0x00000000 , 0x00003055 
+ 00012090  0x0000200f beq  0x00000001 , 0x00002f45 
+ 00012091  0x00002010 beq  0x0000000f , 0x00002f41 
+ 00012092  0x00002011 branch  0x00002a8c 
+ 00012093  0x00002014 call  0x0000326c 
+ 00012094  0x00002015 arg  0x00000080 , 0x00000039 
+ 00012095  0x00002016 arg  0x00000d9e , 0x00000005 
+ 00012096  0x00002017 branch  0x00007ec6 
+ 00012097  0x0000201a call  0x00002f4c 
+ 00012098  0x0000201c call  0x00002f4f 
+ 00012099  0x0000201d call  0x000048d3 
+ 00012100  0x0000201e branch  0x00002f42 
+ 00012101  0x00002021 bpatch  0x000000bc , 0x00004017 
+ 00012102  0x00002022 call  0x00002f4c 
+ 00012103  0x00002024 call  0x00002f4f 
+ 00012104  0x00002025 call  0x00002fbd 
+ 00012105  0x00002026 call  0x000048d3 
+ 00012106  0x00002027 call  0x00003019 
+ 00012107  0x00002028 branch  0x00002f47 
+ 00012108  0x0000202e call  0x00003291 
+ 00012109  0x0000202f call  0x00003296 
+ 00012110  0x00002030 branch  0x00003299 
+ 00012111  0x00002033 call  0x0000328f 
+ 00012112  0x00002035 rtnne  0x00000000 
+ 00012113  0x00002037 call  0x00002f55 
+ 00012114  0x00002038 call  0x00002f65 
+ 00012115  0x00002039 call  0x0000316b 
+ 00012116  0x0000203a branch  0x00002f96 
+ 00012117  0x0000203d call  0x00003294 
+ 00012118  0x0000203f rtnbit1  0x00000000 
+ 00012119  0x00002040 set1  0x00000000 , 0x0000003f 
+ 00012120  0x00002041 call  0x00003297 
+ 00012121  0x00002043 call  0x00003267 
+ 00012122  0x00002046 call  0x00003299 
+ 00012123  0x00002048 jam  0x00000000 , 0x00000d38 
+ 00012124  0x00002049 call  0x0000324f 
+ 00012125  0x0000204b call  0x00002f61 
+ 00012126  0x0000204d add  0x00000013 , 0x00000000 , 0x00000005 
+ 00012127  0x0000204f arg  0x00000042 , 0x00000039 
+ 00012128  0x00002050 branch  0x00007ed4 
+ 00012129  0x00002053 call  0x00003231 
+ 00012130  0x00002055 call  0x0000327d 
+ 00012131  0x00002057 call  0x0000322c 
+ 00012132  0x00002059 branch  0x00002c8a 
+ 00012133  0x0000205c bpatch  0x000000bd , 0x00004017 
+ 00012134  0x0000205d call  0x0000324c 
+ 00012135  0x0000205f beq  0x00000001 , 0x00002f8d 
+ 00012136  0x00002060 call  0x00003245 
+ 00012137  0x00002062 beq  0x00000001 , 0x00002c8a 
+ 00012138  0x00002063 setarg  0x00000136 
+ 00012139  0x00002064 iadd  0x00000013 , 0x00000011 
+ 00012140  0x00002065 ifetcht  0x00000004 , 0x00000011 
+ 00012141  0x00002067 copy  0x00000022 , 0x0000003f 
+ 00012142  0x00002068 isub  0x00000002 , 0x0000003e 
+ 00012143  0x00002069 ncall  0x00002d18 , 0x00000002 
+ 00012144  0x0000206a copy  0x0000003f , 0x00000012 
+ 00012145  0x0000206b setarg  0x00000136 
+ 00012146  0x0000206c iadd  0x00000013 , 0x00000011 
+ 00012147  0x0000206d ifetch  0x00000004 , 0x00000011 
+ 00012148  0x0000206e copy  0x0000003f , 0x00000002 
+ 00012149  0x00002070 setarg  0x0000013a 
+ 00012150  0x00002071 iadd  0x00000013 , 0x00000011 
+ 00012151  0x00002072 copy  0x00000002 , 0x0000003f 
+ 00012152  0x00002073 ifetcht  0x00000001 , 0x00000011 
+ 00012153  0x00002075 iadd  0x00000002 , 0x00000002 
+ 00012154  0x00002076 copy  0x00000012 , 0x0000003f 
+ 00012155  0x00002077 isub  0x00000002 , 0x0000003e 
+ 00012156  0x00002078 nrtn  0x00000002 
+ 00012157  0x00002079 set0  0x0000001c , 0x0000003f 
+ 00012158  0x0000207a setarg  0x00000136 
+ 00012159  0x0000207b iadd  0x00000013 , 0x00000005 
+ 00012160  0x0000207c istore  0x00000004 , 0x00000005 
+ 00012161  0x0000207f call  0x00002c8a 
+ 00012162  0x00002080 call  0x00003278 
+ 00012163  0x00002082 increase  0x00000001 , 0x0000003f 
+ 00012164  0x00002083 call  0x0000327b 
+ 00012165  0x00002085 rtnne  0x00000002 
+ 00012166  0x00002086 call  0x0000327a 
+ 00012167  0x0000208a branch  0x0000324f 
+ 00012168  0x0000208d copy  0x00000022 , 0x0000003f 
+ 00012169  0x0000208e arg  0x00000136 , 0x00000011 
+ 00012170  0x0000208f call  0x000032bf 
+ 00012171  0x00002090 istore  0x00000004 , 0x00000005 
+ 00012172  0x00002094 branch  0x0000327a 
+ 00012173  0x00002097 arg  0x00000d9e , 0x00000011 
+ 00012174  0x00002098 call  0x00002f94 
+ 00012175  0x00002099 add  0x00000013 , 0x000000eb , 0x00000005 
+ 00012176  0x0000209a istoret  0x00000001 , 0x00000005 
+ 00012177  0x0000209c sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012178  0x0000209d nrtn  0x00000002 
+ 00012179  0x0000209e branch  0x00002c8a 
+ 00012180  0x000020a1 arg  0x00000100 , 0x00000039 
+ 00012181  0x000020a2 branch  0x00002e62 
+ 00012182  0x000020a5 call  0x00002f99 
+ 00012183  0x000020a6 call  0x00002fa5 
+ 00012184  0x000020a7 branch  0x00002fb1 
+ 00012185  0x000020aa setarg  0x00000180 
+ 00012186  0x000020ab call  0x000032d0 
+ 00012187  0x000020ad rtn  0x00000034 
+ 00012188  0x000020ae arg  0x0000000b , 0x00000007 
+ 00012189  0x000020af call  0x00007f16 
+ 00012190  0x000020b0 nrtn  0x00000034 
+ 00012191  0x000020b1 call  0x000032a7 
+ 00012192  0x000020b4 setarg  0x00000001 
+ 00012193  0x000020b5 store  0x00000001 , 0x00000d54 
+ 00012194  0x000020b6 setarg  0x00000000 
+ 00012195  0x000020b7 istore  0x00000007 , 0x00000005 
+ 00012196  0x000020b8 branch  0x000031b8 
+ 00012197  0x000020bb setarg  0x0000017e 
+ 00012198  0x000020bc call  0x000032d0 
+ 00012199  0x000020be rtn  0x00000034 
+ 00012200  0x000020bf arg  0x0000000e , 0x00000007 
+ 00012201  0x000020c0 call  0x00007f16 
+ 00012202  0x000020c1 nrtn  0x00000034 
+ 00012203  0x000020c2 call  0x000032aa 
+ 00012204  0x000020c5 arg  0x00000d64 , 0x00000005 
+ 00012205  0x000020c6 arg  0x00000002 , 0x00000039 
+ 00012206  0x000020c7 call  0x00007ec6 
+ 00012207  0x000020c8 jam  0x00000000 , 0x00000d64 
+ 00012208  0x000020c9 branch  0x000031ed 
+ 00012209  0x000020cc setarg  0x0000017f 
+ 00012210  0x000020cd call  0x000032d0 
+ 00012211  0x000020cf rtn  0x00000034 
+ 00012212  0x000020d0 arg  0x0000000c , 0x00000007 
+ 00012213  0x000020d1 call  0x00007f16 
+ 00012214  0x000020d2 nrtn  0x00000034 
+ 00012215  0x000020d3 call  0x000032ad 
+ 00012216  0x000020d6 arg  0x00000d74 , 0x00000005 
+ 00012217  0x000020d7 arg  0x00000002 , 0x00000039 
+ 00012218  0x000020d8 call  0x00007ec6 
+ 00012219  0x000020d9 jam  0x00000003 , 0x00000d74 
+ 00012220  0x000020da branch  0x00003207 
+ 00012221  0x000020dd call  0x0000328f 
+ 00012222  0x000020df rtnne  0x00000001 
+ 00012223  0x000020e0 call  0x00002fc1 
+ 00012224  0x000020e1 branch  0x00002fcb 
+ 00012225  0x000020e4 call  0x00003294 
+ 00012226  0x000020e6 rtnbit1  0x00000001 
+ 00012227  0x000020e7 set1  0x00000001 , 0x0000003f 
+ 00012228  0x000020e8 call  0x00003297 
+ 00012229  0x000020ea call  0x0000329c 
+ 00012230  0x000020ec call  0x00002c83 
+ 00012231  0x000020ed setarg  0x00000000 
+ 00012232  0x000020ee arg  0x00000106 , 0x00000011 
+ 00012233  0x000020ef call  0x000032bf 
+ 00012234  0x000020f1 branch  0x000032c5 
+ 00012235  0x000020f4 call  0x0000316e 
+ 00012236  0x000020f5 nbranch  0x00002f5e , 0x0000002f 
+ 00012237  0x000020f6 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012238  0x000020f7 setarg  0x00000109 
+ 00012239  0x000020f8 iadd  0x00000013 , 0x00000005 
+ 00012240  0x000020f9 arg  0x00000008 , 0x00000039 
+ 00012241  0x000020fa call  0x00007f01 
+ 00012242  0x000020fb setarg  0x0000010b 
+ 00012243  0x000020fc call  0x000032d0 
+ 00012244  0x000020fd beq  0x000000aa , 0x00002fd9 
+ 00012245  0x000020fe beq  0x00000055 , 0x00002fed 
+ 00012246  0x000020ff beq  0x00000022 , 0x00003001 
+ 00012247  0x00002100 beq  0x000000ff , 0x00003212 
+ 00012248  0x00002101 branch  0x00002f5e 
+ 00012249  0x00002104 call  0x000032bd 
+ 00012250  0x00002105 beq  0x00000001 , 0x00002fdd 
+ 00012251  0x00002106 beq  0x00000002 , 0x00002fe8 
+ 00012252  0x00002107 rtn 
+ 00012253  0x00002109 setarg  0x00000001 
+ 00012254  0x0000210a call  0x00002ff7 
+ 00012255  0x0000210d setarg  0x00000001 
+ 00012256  0x0000210e call  0x00003289 
+ 00012257  0x00002111 setarg  0x00000080 
+ 00012258  0x00002112 arg  0x00000130 , 0x00000011 
+ 00012259  0x00002113 call  0x000032b3 
+ 00012260  0x00002115 call  0x0000327d 
+ 00012261  0x00002117 arg  0x00000131 , 0x00000011 
+ 00012262  0x00002118 call  0x000032bf 
+ 00012263  0x0000211a branch  0x0000322d 
+ 00012264  0x0000211d setarg  0x00000001 
+ 00012265  0x0000211e call  0x00002fff 
+ 00012266  0x00002121 setarg  0x00000002 
+ 00012267  0x00002122 call  0x00003289 
+ 00012268  0x00002124 branch  0x00002fe1 
+ 00012269  0x00002127 call  0x000032bd 
+ 00012270  0x00002128 beq  0x00000001 , 0x00002ff1 
+ 00012271  0x00002129 beq  0x00000002 , 0x00002ff9 
+ 00012272  0x0000212a rtn 
+ 00012273  0x0000212c call  0x00002fdf 
+ 00012274  0x0000212d setarg  0x00000106 
+ 00012275  0x0000212e call  0x000032d0 
+ 00012276  0x00002130 beq  0x00000001 , 0x00002ff6 
+ 00012277  0x00002131 rtn 
+ 00012278  0x00002133 setarg  0x00000002 
+ 00012279  0x00002136 arg  0x00000106 , 0x00000011 
+ 00012280  0x00002137 branch  0x000032b3 
+ 00012281  0x0000213a call  0x00002fea 
+ 00012282  0x0000213b setarg  0x00000107 
+ 00012283  0x0000213c call  0x000032d0 
+ 00012284  0x0000213e beq  0x00000001 , 0x00002ffe 
+ 00012285  0x0000213f rtn 
+ 00012286  0x00002141 setarg  0x00000002 
+ 00012287  0x00002144 arg  0x00000107 , 0x00000011 
+ 00012288  0x00002145 branch  0x000032b3 
+ 00012289  0x00002148 call  0x000032bd 
+ 00012290  0x00002149 beq  0x00000001 , 0x00003005 
+ 00012291  0x0000214a beq  0x00000002 , 0x00003011 
+ 00012292  0x0000214b rtn 
+ 00012293  0x0000214d setarg  0x00000106 
+ 00012294  0x0000214e call  0x000032d0 
+ 00012295  0x00002150 beq  0x00000002 , 0x00003009 
+ 00012296  0x00002151 rtn 
+ 00012297  0x00002153 call  0x0000328b 
+ 00012298  0x00002155 or_into  0x00000001 , 0x0000003f 
+ 00012299  0x00002156 call  0x0000328d 
+ 00012300  0x00002159 setarg  0x00000000 
+ 00012301  0x0000215a setarg  0x00000106 
+ 00012302  0x0000215b iadd  0x00000013 , 0x00000005 
+ 00012303  0x0000215c istore  0x00000002 , 0x00000005 
+ 00012304  0x0000215d branch  0x00002f5e 
+ 00012305  0x00002160 setarg  0x00000107 
+ 00012306  0x00002161 call  0x000032d0 
+ 00012307  0x00002163 bne  0x00000000 , 0x00003015 
+ 00012308  0x00002164 rtn 
+ 00012309  0x00002166 call  0x0000328b 
+ 00012310  0x00002168 or_into  0x00000002 , 0x0000003f 
+ 00012311  0x00002169 call  0x0000328d 
+ 00012312  0x0000216b branch  0x0000300c 
+ 00012313  0x0000216f fetch  0x00000001 , 0x00000d50 
+ 00012314  0x00002170 rtn  0x00000034 
+ 00012315  0x00002171 jam  0x00000000 , 0x00000d50 
+ 00012316  0x00002172 fetch  0x00000002 , 0x00000d4e 
+ 00012317  0x00002173 arg  0x000002ba , 0x00000002 
+ 00012318  0x00002174 isub  0x00000002 , 0x0000003e 
+ 00012319  0x00002175 nrtn  0x00000005 
+ 00012320  0x00002177 fetch  0x00000001 , 0x00000cb6 
+ 00012321  0x00002178 rtnne  0x000000ba 
+ 00012322  0x00002179 fetch  0x00000001 , 0x00000cb7 
+ 00012323  0x0000217a bpatch  0x000000be , 0x00004017 
+ 00012324  0x0000217b beq  0x000000a0 , 0x0000303b 
+ 00012325  0x0000217c beq  0x000000a1 , 0x0000302c 
+ 00012326  0x0000217d beq  0x000000a6 , 0x00003041 
+ 00012327  0x0000217e beq  0x000000a7 , 0x00003043 
+ 00012328  0x0000217f beq  0x000000a9 , 0x00003049 
+ 00012329  0x00002180 beq  0x000000b0 , 0x0000304d 
+ 00012330  0x00002182 jam  0x00000000 , 0x00000d42 
+ 00012331  0x00002183 rtn 
+ 00012332  0x00002185 fetch  0x00000001 , 0x00000cb8 
+ 00012333  0x00002186 beq  0x00000001 , 0x00003031 
+ 00012334  0x00002187 beq  0x00000084 , 0x00003034 
+ 00012335  0x00002188 beq  0x000000a7 , 0x00003039 
+ 00012336  0x00002189 branch  0x0000302a 
+ 00012337  0x0000218b call  0x0000328b 
+ 00012338  0x0000218d store  0x00000001 , 0x00000cf7 
+ 00012339  0x0000218e branch  0x0000303f 
+ 00012340  0x00002190 call  0x00003291 
+ 00012341  0x00002192 call  0x00003296 
+ 00012342  0x00002194 call  0x0000328b 
+ 00012343  0x00002196 store  0x00000001 , 0x00000cf7 
+ 00012344  0x00002197 branch  0x0000303f 
+ 00012345  0x0000219b jam  0x000000a1 , 0x00000cf7 
+ 00012346  0x0000219c branch  0x0000303f 
+ 00012347  0x0000219f fetch  0x00000001 , 0x00000cb8 
+ 00012348  0x000021a0 beq  0x00000081 , 0x0000303e 
+ 00012349  0x000021a2 branch  0x0000302a 
+ 00012350  0x000021a6 call  0x00003090 
+ 00012351  0x000021a8 jam  0x00000001 , 0x00000d42 
+ 00012352  0x000021a9 rtn 
+ 00012353  0x000021af jam  0x00000015 , 0x00000cf7 
+ 00012354  0x000021b0 branch  0x0000303f 
+ 00012355  0x000021b3 call  0x0000328f 
+ 00012356  0x000021b5 beq  0x00000000 , 0x00003047 
+ 00012357  0x000021b6 beq  0x00000001 , 0x00003039 
+ 00012358  0x000021b8 rtn 
+ 00012359  0x000021ba jam  0x000000a0 , 0x00000cf7 
+ 00012360  0x000021bb branch  0x0000303f 
+ 00012361  0x000021c1 jam  0x00000000 , 0x00000cf7 
+ 00012362  0x000021c2 jam  0x00000000 , 0x00000cf8 
+ 00012363  0x000021c3 jam  0x00000001 , 0x00000cf9 
+ 00012364  0x000021c4 branch  0x0000303f 
+ 00012365  0x000021c8 call  0x0000329c 
+ 00012366  0x000021c9 fetch  0x00000001 , 0x00000cb8 
+ 00012367  0x000021ca increase  0x00000002 , 0x0000003f 
+ 00012368  0x000021cb copy  0x0000003f , 0x00000039 
+ 00012369  0x000021cc arg  0x00000cb6 , 0x00000006 
+ 00012370  0x000021cd setarg  0x0000013c 
+ 00012371  0x000021ce iadd  0x00000013 , 0x00000005 
+ 00012372  0x000021cf branch  0x00007f01 
+ 00012373  0x000021d3 bpatch  0x000000bf , 0x00004017 
+ 00012374  0x000021d4 call  0x0000307d 
+ 00012375  0x000021d6 call  0x00002c7f 
+ 00012376  0x000021d7 call  0x000048d3 
+ 00012377  0x000021d8 branch  0x00003057 
+ 00012378  0x000021db call  0x0000328f 
+ 00012379  0x000021dd rtnne  0x00000000 
+ 00012380  0x000021de call  0x00002f51 
+ 00012381  0x000021df branch  0x00003098 
+ 00012382  0x000021e2 call  0x0000328f 
+ 00012383  0x000021e4 rtnne  0x00000001 
+ 00012384  0x000021e5 call  0x00002fc1 
+ 00012385  0x000021e6 call  0x00002fcb 
+ 00012386  0x000021e7 call  0x0000328b 
+ 00012387  0x000021e9 rtn  0x00000034 
+ 00012388  0x000021ea call  0x00003286 
+ 00012389  0x000021ec call  0x00002f4c 
+ 00012390  0x000021ed call  0x00003093 
+ 00012391  0x000021ef setarg  0x00000000 
+ 00012392  0x000021f0 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012393  0x000021f2 branch  0x0000322d 
+ 00012394  0x000021f5 call  0x00007fe9 
+ 00012395  0x000021f6 add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012396  0x000021f7 ifetcht  0x00000004 , 0x00000011 
+ 00012397  0x000021f9 copy  0x00000022 , 0x0000003f 
+ 00012398  0x000021fa isub  0x00000002 , 0x0000003e 
+ 00012399  0x000021fb ncall  0x00002d18 , 0x00000002 
+ 00012400  0x000021fc copy  0x0000003f , 0x00000012 
+ 00012401  0x000021fd add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012402  0x000021fe ifetch  0x00000004 , 0x00000011 
+ 00012403  0x00002200 add  0x00000013 , 0x000000ab , 0x00000011 
+ 00012404  0x00002201 ifetcht  0x00000001 , 0x00000011 
+ 00012405  0x00002203 iadd  0x00000002 , 0x00000002 
+ 00012406  0x00002204 copy  0x00000012 , 0x0000003f 
+ 00012407  0x00002205 isub  0x00000002 , 0x0000003e 
+ 00012408  0x00002206 nrtn  0x00000002 
+ 00012409  0x00002207 set0  0x0000001c , 0x0000003f 
+ 00012410  0x00002208 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012411  0x00002209 istore  0x00000004 , 0x00000005 
+ 00012412  0x0000220b branch  0x00007fe7 
+ 00012413  0x0000220e setarg  0x00000001 
+ 00012414  0x0000220f call  0x00003287 
+ 00012415  0x00002211 call  0x00003283 
+ 00012416  0x00002213 setarg  0x000000ff 
+ 00012417  0x00002214 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00012418  0x00002215 istore  0x00000001 , 0x00000005 
+ 00012419  0x00002217 branch  0x00003067 
+ 00012420  0x0000221a setarg  0x0000015c 
+ 00012421  0x0000221b call  0x000032d0 
+ 00012422  0x0000221d rtn  0x00000034 
+ 00012423  0x0000221e call  0x0000306a 
+ 00012424  0x0000221f nrtn  0x00000028 
+ 00012425  0x00002220 call  0x00003281 
+ 00012426  0x00002222 increase  0x00000001 , 0x0000003f 
+ 00012427  0x00002223 and_into  0x00000001 , 0x0000003f 
+ 00012428  0x00002224 call  0x00003284 
+ 00012429  0x00002226 beq  0x00000000 , 0x00002f4c 
+ 00012430  0x00002227 beq  0x00000001 , 0x00003090 
+ 00012431  0x00002228 rtn 
+ 00012432  0x0000222e setarg  0x00000001 
+ 00012433  0x0000222f call  0x00003292 
+ 00012434  0x00002230 branch  0x00003296 
+ 00012435  0x00002233 setarg  0x00000001 
+ 00012436  0x00002234 call  0x000032a5 
+ 00012437  0x00002237 setarg  0x00000280 
+ 00012438  0x00002238 arg  0x00000008 , 0x00000007 
+ 00012439  0x00002239 branch  0x00007f08 
+ 00012440  0x0000223c call  0x000032a2 
+ 00012441  0x0000223e rtn  0x00000034 
+ 00012442  0x0000223f arg  0x00000008 , 0x00000007 
+ 00012443  0x00002240 call  0x00007f16 
+ 00012444  0x00002241 nrtn  0x00000034 
+ 00012445  0x00002242 call  0x000032a4 
+ 00012446  0x00002245 setarg  0x00000007 
+ 00012447  0x00002246 call  0x00003292 
+ 00012448  0x00002248 call  0x00003296 
+ 00012449  0x0000224a branch  0x00002f5e 
+ 00012450  0x0000224d bpatch  0x000000c0 , 0x00004018 
+ 00012451  0x0000224e call  0x0000328f 
+ 00012452  0x00002250 rtnne  0x00000007 
+ 00012453  0x00002251 call  0x000030cb 
+ 00012454  0x00002252 call  0x000030e0 
+ 00012455  0x00002253 call  0x0000316e 
+ 00012456  0x00002254 nbranch  0x00002f5e , 0x0000002f 
+ 00012457  0x00002256 call  0x000030bc 
+ 00012458  0x00002257 call  0x00003172 , 0x00000005 
+ 00012459  0x0000225b call  0x00002f4c 
+ 00012460  0x0000225c call  0x00003294 
+ 00012461  0x0000225e set1  0x00000000 , 0x0000003f 
+ 00012462  0x0000225f call  0x00003297 
+ 00012463  0x00002261 call  0x00002f5e 
+ 00012464  0x00002262 call  0x00003093 
+ 00012465  0x00002263 call  0x000030bc 
+ 00012466  0x00002264 branch  0x000030c1 , 0x00000005 
+ 00012467  0x00002265 setarg  0x00000164 
+ 00012468  0x00002266 call  0x000032d3 
+ 00012469  0x00002268 call  0x000030be 
+ 00012470  0x00002269 branch  0x000030c5 , 0x00000005 
+ 00012471  0x0000226a setarg  0x00000160 
+ 00012472  0x0000226b call  0x000032d3 
+ 00012473  0x0000226d call  0x000030be 
+ 00012474  0x0000226e branch  0x000030c8 , 0x00000005 
+ 00012475  0x0000226f rtn 
+ 00012476  0x00002272 setarg  0x0000012b 
+ 00012477  0x00002273 call  0x000032d3 
+ 00012478  0x00002276 call  0x0000322a 
+ 00012479  0x00002278 isub  0x00000002 , 0x0000003e 
+ 00012480  0x00002279 rtn 
+ 00012481  0x0000227c setarg  0x00000182 
+ 00012482  0x0000227d call  0x000032d0 
+ 00012483  0x00002281 add  0x00000013 , 0x00000091 , 0x00000005 
+ 00012484  0x00002282 branch  0x000032b4 
+ 00012485  0x00002285 setarg  0x00000185 
+ 00012486  0x00002286 call  0x000032d0 
+ 00012487  0x00002288 branch  0x000030c3 
+ 00012488  0x0000228a setarg  0x00000188 
+ 00012489  0x0000228b call  0x000032d0 
+ 00012490  0x0000228d branch  0x000030c3 
+ 00012491  0x00002290 call  0x00003294 
+ 00012492  0x00002292 rtnbit1  0x00000007 
+ 00012493  0x00002293 set1  0x00000007 , 0x0000003f 
+ 00012494  0x00002294 call  0x00003297 
+ 00012495  0x00002296 call  0x00003283 
+ 00012496  0x00002298 call  0x0000329c 
+ 00012497  0x0000229a setarg  0x00000000 
+ 00012498  0x0000229b add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012499  0x0000229c istore  0x00000003 , 0x00000005 
+ 00012500  0x0000229e arg  0x00000183 , 0x00000011 
+ 00012501  0x0000229f call  0x000032bf 
+ 00012502  0x000022a0 istore  0x00000007 , 0x00000005 
+ 00012503  0x000022a3 call  0x000030bc 
+ 00012504  0x000022a4 nrtn  0x00000005 
+ 00012505  0x000022a5 add  0x00000013 , 0x00000091 , 0x00000011 
+ 00012506  0x000022a6 ifetch  0x00000001 , 0x00000011 
+ 00012507  0x000022a8 arg  0x00000182 , 0x00000011 
+ 00012508  0x000022a9 call  0x000032b3 
+ 00012509  0x000022ab add  0x00000013 , 0x00000090 , 0x00000011 
+ 00012510  0x000022ac ifetch  0x00000001 , 0x00000011 
+ 00012511  0x000022af branch  0x0000314a 
+ 00012512  0x000022b2 bpatch  0x000000c1 , 0x00004018 
+ 00012513  0x000022b3 call  0x00003281 
+ 00012514  0x000022b5 increase  0x00000001 , 0x0000003f 
+ 00012515  0x000022b6 and_into  0x00000003 , 0x0000003f 
+ 00012516  0x000022b7 call  0x00003284 
+ 00012517  0x000022ba beq  0x00000000 , 0x0000310e 
+ 00012518  0x000022bb beq  0x00000001 , 0x00003132 
+ 00012519  0x000022bc beq  0x00000002 , 0x000030ea 
+ 00012520  0x000022bd beq  0x00000003 , 0x00003132 
+ 00012521  0x000022be rtn 
+ 00012522  0x000022c1 call  0x00002fdf 
+ 00012523  0x000022c2 setarg  0x00000160 
+ 00012524  0x000022c3 call  0x0000327e 
+ 00012525  0x000022c5 branch  0x000030e0 , 0x00000034 
+ 00012526  0x000022c6 call  0x0000322c 
+ 00012527  0x000022c8 setarg  0x00000189 
+ 00012528  0x000022c9 call  0x000032d0 
+ 00012529  0x000022cb call  0x00003108 , 0x00000034 
+ 00012530  0x000022cc setarg  0x00000187 
+ 00012531  0x000022cd call  0x000032d0 
+ 00012532  0x000022cf call  0x0000322f 
+ 00012533  0x000022d1 add  0x00000013 , 0x000000f7 , 0x00000011 
+ 00012534  0x000022d2 ifetcht  0x00000001 , 0x00000011 
+ 00012535  0x000022d4 arg  0x00000f9e , 0x00000011 
+ 00012536  0x000022d5 call  0x00002e58 
+ 00012537  0x000022d6 add  0x00000013 , 0x000000f7 , 0x00000005 
+ 00012538  0x000022d7 istoret  0x00000001 , 0x00000005 
+ 00012539  0x000022d9 call  0x00002f94 
+ 00012540  0x000022da add  0x00000013 , 0x000000fa , 0x00000005 
+ 00012541  0x000022db istoret  0x00000001 , 0x00000005 
+ 00012542  0x000022dd sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012543  0x000022de nrtn  0x00000002 
+ 00012544  0x000022df setarg  0x00000188 
+ 00012545  0x000022e0 call  0x00003275 
+ 00012546  0x000022e2 call  0x00002c90 
+ 00012547  0x000022e3 arg  0x00000188 , 0x00000011 
+ 00012548  0x000022e4 call  0x000032c8 
+ 00012549  0x000022e5 istoret  0x00000001 , 0x00000005 
+ 00012550  0x000022e9 arg  0x00000187 , 0x00000011 
+ 00012551  0x000022ea branch  0x000032b3 
+ 00012552  0x000022ed setarg  0x00000001 
+ 00012553  0x000022ee arg  0x00000189 , 0x00000011 
+ 00012554  0x000022ef call  0x000032b3 
+ 00012555  0x000022f1 arg  0x00000000 , 0x00000002 
+ 00012556  0x000022f2 call  0x00002c94 
+ 00012557  0x000022f5 branch  0x00003106 
+ 00012558  0x000022f8 call  0x00002fea 
+ 00012559  0x000022f9 setarg  0x00000164 
+ 00012560  0x000022fa call  0x0000327e 
+ 00012561  0x000022fc branch  0x000030e0 , 0x00000034 
+ 00012562  0x000022fd call  0x0000322c 
+ 00012563  0x000022ff setarg  0x00000186 
+ 00012564  0x00002300 call  0x000032d0 
+ 00012565  0x00002302 call  0x0000312c , 0x00000034 
+ 00012566  0x00002303 setarg  0x00000184 
+ 00012567  0x00002304 call  0x000032d0 
+ 00012568  0x00002306 call  0x0000322f 
+ 00012569  0x00002308 add  0x00000013 , 0x000000f6 , 0x00000011 
+ 00012570  0x00002309 ifetcht  0x00000001 , 0x00000011 
+ 00012571  0x0000230b arg  0x0000109e , 0x00000011 
+ 00012572  0x0000230c call  0x00002e58 
+ 00012573  0x0000230d add  0x00000013 , 0x000000f6 , 0x00000005 
+ 00012574  0x0000230e istoret  0x00000001 , 0x00000005 
+ 00012575  0x00002310 call  0x00002f94 
+ 00012576  0x00002311 add  0x00000013 , 0x000000f9 , 0x00000005 
+ 00012577  0x00002312 istoret  0x00000001 , 0x00000005 
+ 00012578  0x00002314 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012579  0x00002315 nrtn  0x00000002 
+ 00012580  0x00002316 setarg  0x00000185 
+ 00012581  0x00002317 call  0x00003275 
+ 00012582  0x00002319 call  0x00002c90 
+ 00012583  0x0000231a arg  0x00000185 , 0x00000011 
+ 00012584  0x0000231b call  0x000032c8 
+ 00012585  0x0000231c istoret  0x00000001 , 0x00000005 
+ 00012586  0x00002320 arg  0x00000184 , 0x00000011 
+ 00012587  0x00002321 branch  0x000032b3 
+ 00012588  0x00002324 setarg  0x00000001 
+ 00012589  0x00002325 arg  0x00000186 , 0x00000011 
+ 00012590  0x00002326 call  0x000032b3 
+ 00012591  0x00002328 arg  0x00000000 , 0x00000002 
+ 00012592  0x00002329 call  0x00002c94 
+ 00012593  0x0000232c branch  0x0000312a 
+ 00012594  0x0000232f call  0x00002fdf 
+ 00012595  0x00002330 call  0x0000327d 
+ 00012596  0x00002332 call  0x0000322c 
+ 00012597  0x00002334 setarg  0x00000183 
+ 00012598  0x00002335 call  0x000032d0 
+ 00012599  0x00002337 call  0x0000314c , 0x00000034 
+ 00012600  0x00002338 call  0x0000314f 
+ 00012601  0x00002339 add  0x00000013 , 0x000000f5 , 0x00000011 
+ 00012602  0x0000233a ifetcht  0x00000001 , 0x00000011 
+ 00012603  0x0000233c arg  0x00000e9e , 0x00000011 
+ 00012604  0x0000233d call  0x00002e58 
+ 00012605  0x0000233e add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012606  0x0000233f istoret  0x00000001 , 0x00000005 
+ 00012607  0x00002341 call  0x00002f94 
+ 00012608  0x00002342 add  0x00000013 , 0x000000f8 , 0x00000005 
+ 00012609  0x00002343 istoret  0x00000001 , 0x00000005 
+ 00012610  0x00002345 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012611  0x00002346 nrtn  0x00000002 
+ 00012612  0x00002347 setarg  0x00000182 
+ 00012613  0x00002348 call  0x00003275 
+ 00012614  0x0000234a call  0x00002c90 
+ 00012615  0x0000234b arg  0x00000182 , 0x00000011 
+ 00012616  0x0000234c call  0x000032c8 
+ 00012617  0x0000234d istoret  0x00000001 , 0x00000005 
+ 00012618  0x00002352 arg  0x00000181 , 0x00000011 
+ 00012619  0x00002353 branch  0x000032b3 
+ 00012620  0x0000235b setarg  0x00000001 
+ 00012621  0x0000235c arg  0x00000183 , 0x00000011 
+ 00012622  0x0000235d call  0x000032b3 
+ 00012623  0x0000235f setarg  0x00000181 
+ 00012624  0x00002360 call  0x000032d0 
+ 00012625  0x00002361 branch  0x0000322f 
+ 00012626  0x00002366 add  0x00000013 , 0x00000000 , 0x00000011 
+ 00012627  0x00002367 ifetch  0x00000001 , 0x00000011 
+ 00012628  0x00002369 call  0x0000323c 
+ 00012629  0x0000236c call  0x00002dde 
+ 00012630  0x0000236e call  0x0000325f 
+ 00012631  0x00002370 isolate1  0x00000000 , 0x0000003f 
+ 00012632  0x00002371 branch  0x0000315c , 0x00000001 
+ 00012633  0x00002373 call  0x0000315d 
+ 00012634  0x00002374 call  0x00002d53 
+ 00012635  0x00002375 call  0x00002df7 
+ 00012636  0x00002377 branch  0x00002e45 
+ 00012637  0x0000237a bpatch  0x000000c2 , 0x00004018 
+ 00012638  0x0000237b add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012639  0x0000237c call  0x000032d6 
+ 00012640  0x0000237e setarg  0x0000013b 
+ 00012641  0x0000237f call  0x000032d0 
+ 00012642  0x00002381 rtn  0x00000034 
+ 00012643  0x00002382 setarg  0x00000006 
+ 00012644  0x00002383 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012645  0x00002384 istore  0x00000001 , 0x00000005 
+ 00012646  0x00002386 arg  0x00000006 , 0x00000039 
+ 00012647  0x00002387 setarg  0x0000012f 
+ 00012648  0x00002388 iadd  0x00000013 , 0x00000006 
+ 00012649  0x0000238a add  0x00000013 , 0x00000022 , 0x00000005 
+ 00012650  0x0000238c branch  0x00007f01 
+ 00012651  0x00002390 call  0x0000316e 
+ 00012652  0x00002391 nbranch  0x00002f5e , 0x0000002f 
+ 00012653  0x00002392 branch  0x00003172 
+ 00012654  0x00002395 call  0x00002f5e 
+ 00012655  0x00002396 call  0x00002e11 
+ 00012656  0x00002397 nrtn  0x0000002f 
+ 00012657  0x00002398 branch  0x00003152 
+ 00012658  0x0000239b bpatch  0x000000c3 , 0x00004018 
+ 00012659  0x0000239c call  0x00003188 
+ 00012660  0x0000239d nbranch  0x00002f5e , 0x00000028 
+ 00012661  0x0000239e add  0x00000013 , 0x00000084 , 0x00000011 
+ 00012662  0x0000239f ifetch  0x00000001 , 0x00000011 
+ 00012663  0x000023a1 branch  0x00002f5e , 0x00000034 
+ 00012664  0x000023a2 increase  0x00000002 , 0x0000003f 
+ 00012665  0x000023a3 iforce  0x00000039 
+ 00012666  0x000023a4 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012667  0x000023a6 setarg  0x00000109 
+ 00012668  0x000023a7 iadd  0x00000013 , 0x00000005 
+ 00012669  0x000023a9 call  0x00007f01 
+ 00012670  0x000023aa call  0x00003286 
+ 00012671  0x000023ac call  0x000032b6 
+ 00012672  0x000023ae call  0x00003093 , 0x00000034 
+ 00012673  0x000023af setarg  0x0000010b 
+ 00012674  0x000023b0 call  0x000032d0 
+ 00012675  0x000023b2 beq  0x00000001 , 0x0000319e 
+ 00012676  0x000023b3 beq  0x00000002 , 0x000031c6 
+ 00012677  0x000023b4 beq  0x00000003 , 0x000031f2 
+ 00012678  0x000023b5 beq  0x000000ff , 0x00003212 
+ 00012679  0x000023b6 branch  0x00002f5e 
+ 00012680  0x000023b9 call  0x00002c7a 
+ 00012681  0x000023ba call  0x00007fe9 
+ 00012682  0x000023bb add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012683  0x000023bc ifetch  0x00000001 , 0x00000011 
+ 00012684  0x000023be add  0x00000013 , 0x000000cb , 0x00000011 
+ 00012685  0x000023bf ifetcht  0x00000001 , 0x00000011 
+ 00012686  0x000023c1 isub  0x00000002 , 0x0000003e 
+ 00012687  0x000023c2 ncall  0x00007fe7 , 0x00000005 
+ 00012688  0x000023c3 add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012689  0x000023c4 ifetch  0x00000001 , 0x00000011 
+ 00012690  0x000023c6 add  0x00000013 , 0x000000cb , 0x00000005 
+ 00012691  0x000023c7 istore  0x00000001 , 0x00000005 
+ 00012692  0x000023c9 add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012693  0x000023ca ifetch  0x00000003 , 0x00000011 
+ 00012694  0x000023cc add  0x00000013 , 0x000000c7 , 0x00000011 
+ 00012695  0x000023cd ifetcht  0x00000003 , 0x00000011 
+ 00012696  0x000023cf isub  0x00000002 , 0x0000003e 
+ 00012697  0x000023d0 ncall  0x00007fe7 , 0x00000005 
+ 00012698  0x000023d1 add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012699  0x000023d2 ifetch  0x00000003 , 0x00000011 
+ 00012700  0x000023d4 add  0x00000013 , 0x000000c7 , 0x00000005 
+ 00012701  0x000023d6 branch  0x000032c5 
+ 00012702  0x000023d9 call  0x00002f88 
+ 00012703  0x000023da call  0x0000324c 
+ 00012704  0x000023db store  0x00000001 , 0x00000aa2 
+ 00012705  0x000023dd call  0x00003274 
+ 00012706  0x000023de fetch  0x00000001 , 0x00000aa2 
+ 00012707  0x000023e0 isolate1  0x00000003 , 0x00000002 
+ 00012708  0x000023e1 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012709  0x000023e2 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012710  0x000023e3 istore  0x00000001 , 0x00000005 
+ 00012711  0x000023e5 beq  0x00000001 , 0x00003216 
+ 00012712  0x000023e6 call  0x00003245 
+ 00012713  0x000023e8 call  0x00003274 
+ 00012714  0x000023ea isolate1  0x00000004 , 0x00000002 
+ 00012715  0x000023eb setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012716  0x000023ec call  0x00003249 
+ 00012717  0x000023ee add  0x00000013 , 0x000000de , 0x00000011 
+ 00012718  0x000023ef ifetch  0x00000002 , 0x00000011 
+ 00012719  0x000023f1 branch  0x00007f9c 
+ 00012720  0x000023f4 setarg  0x00000001 
+ 00012721  0x000023f5 store  0x00000001 , 0x00000d54 
+ 00012722  0x000023f6 call  0x0000329e 
+ 00012723  0x000023f8 istore  0x00000007 , 0x00000005 
+ 00012724  0x000023f9 call  0x0000329e 
+ 00012725  0x000023fb ncall  0x000031bd , 0x00000034 
+ 00012726  0x000023fc call  0x0000329e 
+ 00012727  0x000023fe call  0x000031c2 , 0x00000034 
+ 00012728  0x00002400 jam  0x00000020 , 0x00000d52 
+ 00012729  0x00002402 fetch  0x00000001 , 0x00000d38 
+ 00012730  0x00002403 set1  0x00000002 , 0x0000003f 
+ 00012731  0x00002404 store  0x00000001 , 0x00000d38 
+ 00012732  0x00002405 rtn 
+ 00012733  0x00002408 setarg  0x00000001 
+ 00012734  0x00002409 call  0x000032a8 
+ 00012735  0x0000240c setarg  0x00000140 
+ 00012736  0x0000240d arg  0x0000000b , 0x00000007 
+ 00012737  0x0000240e branch  0x00007f08 
+ 00012738  0x00002410 call  0x000032a7 
+ 00012739  0x00002413 setarg  0x00000000 
+ 00012740  0x00002414 arg  0x0000000b , 0x00000007 
+ 00012741  0x00002415 branch  0x00007f08 
+ 00012742  0x00002418 call  0x00003274 
+ 00012743  0x0000241a isolate1  0x00000003 , 0x00000002 
+ 00012744  0x0000241b branch  0x0000321b , 0x00000001 
+ 00012745  0x0000241c arg  0x00000d64 , 0x00000005 
+ 00012746  0x0000241d call  0x000031e0 
+ 00012747  0x0000241e fetch  0x00000008 , 0x00000d64 
+ 00012748  0x0000241f ncall  0x000031e4 , 0x00000034 
+ 00012749  0x00002420 fetch  0x00000008 , 0x00000d64 
+ 00012750  0x00002421 call  0x000031e9 , 0x00000034 
+ 00012751  0x00002422 call  0x00002c7a 
+ 00012752  0x00002423 fetch  0x00000008 , 0x00000d64 
+ 00012753  0x00002424 arg  0x00000168 , 0x00000011 
+ 00012754  0x00002425 call  0x000032bf 
+ 00012755  0x00002426 istore  0x00000008 , 0x00000005 
+ 00012756  0x00002428 setarg  0x00000170 
+ 00012757  0x00002429 iadd  0x00000013 , 0x00000011 
+ 00012758  0x0000242a ifetcht  0x00000008 , 0x00000011 
+ 00012759  0x0000242c isub  0x00000002 , 0x0000003e 
+ 00012760  0x0000242d ncall  0x000031ed , 0x00000005 
+ 00012761  0x0000242e setarg  0x00000168 
+ 00012762  0x0000242f iadd  0x00000013 , 0x00000011 
+ 00012763  0x00002430 ifetch  0x00000008 , 0x00000011 
+ 00012764  0x00002432 arg  0x00000170 , 0x00000011 
+ 00012765  0x00002433 call  0x000032bf 
+ 00012766  0x00002434 istore  0x00000008 , 0x00000005 
+ 00012767  0x00002436 branch  0x00002f5e 
+ 00012768  0x00002439 setarg  0x0000010b 
+ 00012769  0x0000243a iadd  0x00000013 , 0x00000006 
+ 00012770  0x0000243c arg  0x00000009 , 0x00000039 
+ 00012771  0x0000243d branch  0x00007ff3 
+ 00012772  0x00002440 setarg  0x00000001 
+ 00012773  0x00002441 call  0x000032ab 
+ 00012774  0x00002444 setarg  0x00000140 
+ 00012775  0x00002445 arg  0x0000000e , 0x00000007 
+ 00012776  0x00002446 branch  0x00007f08 
+ 00012777  0x00002449 call  0x000032aa 
+ 00012778  0x0000244c setarg  0x00000000 
+ 00012779  0x0000244d arg  0x0000000e , 0x00000007 
+ 00012780  0x0000244e branch  0x00007f08 
+ 00012781  0x00002452 jam  0x00000010 , 0x00000d51 
+ 00012782  0x00002453 fetch  0x00000001 , 0x00000d38 
+ 00012783  0x00002454 set1  0x00000001 , 0x0000003f 
+ 00012784  0x00002455 store  0x00000001 , 0x00000d38 
+ 00012785  0x00002456 rtn 
+ 00012786  0x00002459 arg  0x00000d74 , 0x00000005 
+ 00012787  0x0000245a call  0x000031e0 
+ 00012788  0x0000245b fetch  0x00000002 , 0x00000d75 
+ 00012789  0x0000245c ncall  0x00003209 , 0x00000034 
+ 00012790  0x0000245d fetch  0x00000002 , 0x00000d75 
+ 00012791  0x0000245e call  0x0000320e , 0x00000034 
+ 00012792  0x0000245f call  0x00002c7a 
+ 00012793  0x00002460 fetch  0x00000003 , 0x00000d74 
+ 00012794  0x00002461 arg  0x00000178 , 0x00000011 
+ 00012795  0x00002462 call  0x000032c4 
+ 00012796  0x00002464 setarg  0x0000017b 
+ 00012797  0x00002465 iadd  0x00000013 , 0x00000011 
+ 00012798  0x00002466 ifetcht  0x00000003 , 0x00000011 
+ 00012799  0x00002468 isub  0x00000002 , 0x0000003e 
+ 00012800  0x00002469 ncall  0x00003207 , 0x00000005 
+ 00012801  0x0000246a setarg  0x00000178 
+ 00012802  0x0000246b iadd  0x00000013 , 0x00000011 
+ 00012803  0x0000246c ifetch  0x00000003 , 0x00000011 
+ 00012804  0x0000246e arg  0x0000017b , 0x00000011 
+ 00012805  0x0000246f call  0x000032c4 
+ 00012806  0x00002471 branch  0x00002f5e 
+ 00012807  0x00002474 jam  0x00000021 , 0x00000d52 
+ 00012808  0x00002475 branch  0x000031b9 
+ 00012809  0x00002478 setarg  0x00000001 
+ 00012810  0x00002479 call  0x000032ae 
+ 00012811  0x0000247c setarg  0x00000140 
+ 00012812  0x0000247d arg  0x0000000c , 0x00000007 
+ 00012813  0x0000247e branch  0x00007f08 
+ 00012814  0x00002481 call  0x000032ad 
+ 00012815  0x00002484 setarg  0x00000000 
+ 00012816  0x00002485 arg  0x0000000c , 0x00000007 
+ 00012817  0x00002486 branch  0x00007f08 
+ 00012818  0x00002489 call  0x000032bd 
+ 00012819  0x0000248b beq  0x00000001 , 0x00003216 
+ 00012820  0x0000248c beq  0x00000002 , 0x0000321b 
+ 00012821  0x0000248d rtn 
+ 00012822  0x0000248f setarg  0x0000010d 
+ 00012823  0x00002490 call  0x0000327e 
+ 00012824  0x00002491 arg  0x00000160 , 0x00000011 
+ 00012825  0x00002492 call  0x000032bf 
+ 00012826  0x00002495 branch  0x0000322d 
+ 00012827  0x00002498 setarg  0x0000010d 
+ 00012828  0x00002499 call  0x0000327e 
+ 00012829  0x0000249a arg  0x00000164 , 0x00000011 
+ 00012830  0x0000249b call  0x000032bf 
+ 00012831  0x0000249e branch  0x0000322d 
+ 00012832  0x000024a1 call  0x00002c7a 
+ 00012833  0x000024a2 add  0x00000013 , 0x000000cd , 0x00000005 
+ 00012834  0x000024a3 istore  0x00000001 , 0x00000005 
+ 00012835  0x000024a4 rtn 
+ 00012836  0x000024a7 call  0x00002c7a 
+ 00012837  0x000024a8 add  0x00000013 , 0x000000be , 0x00000011 
+ 00012838  0x000024a9 branch  0x0000327f 
+ 00012839  0x000024ab call  0x00002c7a 
+ 00012840  0x000024ac add  0x00000013 , 0x000000be , 0x00000005 
+ 00012841  0x000024ad branch  0x0000322d 
+ 00012842  0x000024b0 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00012843  0x000024b1 branch  0x0000327f 
+ 00012844  0x000024b3 add  0x00000013 , 0x000000ae , 0x00000005 
+ 00012845  0x000024b5 istore  0x00000004 , 0x00000005 
+ 00012846  0x000024b6 rtn 
+ 00012847  0x000024b9 add  0x00000013 , 0x00000090 , 0x00000005 
+ 00012848  0x000024ba branch  0x000032b4 
+ 00012849  0x000024bd setarg  0x00000000 
+ 00012850  0x000024bf call  0x00002c7a 
+ 00012851  0x000024c0 add  0x00000013 , 0x00000085 , 0x00000005 
+ 00012852  0x000024c1 branch  0x000032b4 
+ 00012853  0x000024c4 add  0x00000013 , 0x00000042 , 0x00000005 
+ 00012854  0x000024c5 branch  0x000032b4 
+ 00012855  0x000024c8 setarg  0x00000004 
+ 00012856  0x000024ca add  0x00000013 , 0x000000cc , 0x00000005 
+ 00012857  0x000024cb branch  0x000032b4 
+ 00012858  0x000024ce add  0x00000013 , 0x00000087 , 0x00000011 
+ 00012859  0x000024cf branch  0x000032d1 
+ 00012860  0x000024d1 add  0x00000013 , 0x00000087 , 0x00000005 
+ 00012861  0x000024d2 branch  0x000032b4 
+ 00012862  0x000024d5 setarg  0x00000002 
+ 00012863  0x000024d7 add  0x00000013 , 0x000000d0 , 0x00000005 
+ 00012864  0x000024d8 branch  0x000032b4 
+ 00012865  0x000024db setarg  0x00000001 
+ 00012866  0x000024dd call  0x00002c7a 
+ 00012867  0x000024de add  0x00000013 , 0x000000ce , 0x00000005 
+ 00012868  0x000024df branch  0x000032b4 
+ 00012869  0x000024e2 call  0x00002c7a 
+ 00012870  0x000024e3 add  0x00000013 , 0x000000b4 , 0x00000011 
+ 00012871  0x000024e4 branch  0x000032d1 
+ 00012872  0x000024e6 setarg  0x00000001 
+ 00012873  0x000024e8 call  0x00002c7a 
+ 00012874  0x000024e9 add  0x00000013 , 0x000000b4 , 0x00000005 
+ 00012875  0x000024ea branch  0x000032b4 
+ 00012876  0x000024ed call  0x00002c7a 
+ 00012877  0x000024ee add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00012878  0x000024ef branch  0x000032d1 
+ 00012879  0x000024f1 setarg  0x00000001 
+ 00012880  0x000024f3 call  0x00002c7a 
+ 00012881  0x000024f4 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012882  0x000024f5 branch  0x000032b4 
+ 00012883  0x000024f8 call  0x00002c7a 
+ 00012884  0x000024f9 add  0x00000013 , 0x00000096 , 0x00000011 
+ 00012885  0x000024fa branch  0x000032d1 
+ 00012886  0x000024fc add  0x00000013 , 0x00000096 , 0x00000005 
+ 00012887  0x000024fd branch  0x000032b4 
+ 00012888  0x00002500 add  0x00000013 , 0x000000cf , 0x00000011 
+ 00012889  0x00002501 branch  0x000032d1 
+ 00012890  0x00002503 setarg  0x00000000 
+ 00012891  0x00002505 add  0x00000013 , 0x000000cf , 0x00000005 
+ 00012892  0x00002506 branch  0x000032b4 
+ 00012893  0x00002509 add  0x00000013 , 0x000000d2 , 0x00000011 
+ 00012894  0x0000250a branch  0x000032d1 
+ 00012895  0x0000250d add  0x00000013 , 0x00000001 , 0x00000011 
+ 00012896  0x0000250e branch  0x000032d1 
+ 00012897  0x00002511 add  0x00000013 , 0x000000b5 , 0x00000011 
+ 00012898  0x00002512 branch  0x000032d1 
+ 00012899  0x00002514 setarg  0x00000000 
+ 00012900  0x00002516 call  0x00002c7a 
+ 00012901  0x00002517 add  0x00000013 , 0x000000b5 , 0x00000005 
+ 00012902  0x00002518 branch  0x000032b4 
+ 00012903  0x0000251b call  0x00002c7a 
+ 00012904  0x0000251c add  0x00000013 , 0x000000fb , 0x00000011 
+ 00012905  0x0000251d ifetch  0x00000001 , 0x00000011 
+ 00012906  0x0000251f store  0x00000001 , 0x000041de 
+ 00012907  0x00002520 rtn 
+ 00012908  0x00002523 call  0x00002c7a 
+ 00012909  0x00002524 fetch  0x00000001 , 0x000041de 
+ 00012910  0x00002526 add  0x00000013 , 0x000000fb , 0x00000005 
+ 00012911  0x00002527 branch  0x000032b4 
+ 00012912  0x0000252a add  0x00000013 , 0x000000fc , 0x00000011 
+ 00012913  0x0000252b branch  0x000032d1 
+ 00012914  0x0000252e add  0x00000013 , 0x000000fe , 0x00000005 
+ 00012915  0x0000252f branch  0x000032b4 
+ 00012916  0x00002532 setarg  0x00000109 
+ 00012917  0x00002534 iadd  0x00000013 , 0x00000011 
+ 00012918  0x00002535 ifetcht  0x00000001 , 0x00000011 
+ 00012919  0x00002536 rtn 
+ 00012920  0x00002539 setarg  0x00000135 
+ 00012921  0x0000253a branch  0x000032d0 
+ 00012922  0x0000253c setarg  0x00000000 
+ 00012923  0x0000253e arg  0x00000135 , 0x00000011 
+ 00012924  0x0000253f branch  0x000032b3 
+ 00012925  0x00002542 setarg  0x0000012b 
+ 00012926  0x00002544 call  0x000032cd 
+ 00012927  0x00002546 ifetch  0x00000004 , 0x00000011 
+ 00012928  0x00002547 rtn 
+ 00012929  0x0000254a setarg  0x0000015f 
+ 00012930  0x0000254b branch  0x000032d0 
+ 00012931  0x0000254d setarg  0x00000000 
+ 00012932  0x0000254f arg  0x0000015f , 0x00000011 
+ 00012933  0x00002550 branch  0x000032b3 
+ 00012934  0x00002553 setarg  0x00000000 
+ 00012935  0x00002555 arg  0x0000015c , 0x00000011 
+ 00012936  0x00002556 branch  0x000032b3 
+ 00012937  0x00002559 arg  0x0000012f , 0x00000011 
+ 00012938  0x0000255a branch  0x000032b3 
+ 00012939  0x0000255d setarg  0x00000108 
+ 00012940  0x0000255e branch  0x000032d0 
+ 00012941  0x00002560 arg  0x00000108 , 0x00000011 
+ 00012942  0x00002561 branch  0x000032b3 
+ 00012943  0x00002564 setarg  0x00000105 
+ 00012944  0x00002565 branch  0x000032d0 
+ 00012945  0x00002567 setarg  0x00000000 
+ 00012946  0x00002569 arg  0x00000105 , 0x00000011 
+ 00012947  0x0000256a branch  0x000032b3 
+ 00012948  0x0000256d setarg  0x00000104 
+ 00012949  0x0000256e branch  0x000032d0 
+ 00012950  0x00002570 setarg  0x00000000 
+ 00012951  0x00002572 arg  0x00000104 , 0x00000011 
+ 00012952  0x00002573 branch  0x000032b3 
+ 00012953  0x00002576 setarg  0x00000000 
+ 00012954  0x00002578 arg  0x0000013b , 0x00000011 
+ 00012955  0x00002579 branch  0x000032b3 
+ 00012956  0x0000257b setarg  0x00000001 
+ 00012957  0x0000257c branch  0x0000329a 
+ 00012958  0x0000257f setarg  0x0000010c 
+ 00012959  0x00002580 call  0x000032cd 
+ 00012960  0x00002581 ifetch  0x00000007 , 0x00000011 
+ 00012961  0x00002582 rtn 
+ 00012962  0x00002585 setarg  0x0000015e 
+ 00012963  0x00002586 branch  0x000032d0 
+ 00012964  0x00002588 setarg  0x00000000 
+ 00012965  0x0000258a arg  0x0000015e , 0x00000011 
+ 00012966  0x0000258b branch  0x000032b3 
+ 00012967  0x0000258e setarg  0x00000000 
+ 00012968  0x00002590 arg  0x00000180 , 0x00000011 
+ 00012969  0x00002591 branch  0x000032b3 
+ 00012970  0x00002594 setarg  0x00000000 
+ 00012971  0x00002596 arg  0x0000017e , 0x00000011 
+ 00012972  0x00002597 branch  0x000032b3 
+ 00012973  0x0000259a setarg  0x00000000 
+ 00012974  0x0000259c arg  0x0000017f , 0x00000011 
+ 00012975  0x0000259d branch  0x000032b3 
+ 00012976  0x000025a0 arg  0x00000102 , 0x00000011 
+ 00012977  0x000025a1 branch  0x000032b3 
+ 00012978  0x000025a4 arg  0x00000103 , 0x00000011 
+ 00012979  0x000025a6 call  0x000032c7 
+ 00012980  0x000025a8 istore  0x00000001 , 0x00000005 
+ 00012981  0x000025a9 rtn 
+ 00012982  0x000025ac setarg  0x0000015d 
+ 00012983  0x000025ad branch  0x000032d0 
+ 00012984  0x000025b0 arg  0x0000015d , 0x00000011 
+ 00012985  0x000025b1 branch  0x000032b3 
+ 00012986  0x000025b4 setarg  0x0000018a 
+ 00012987  0x000025b5 call  0x000032d0 
+ 00012988  0x000025b6 branch  0x0000326a 
+ 00012989  0x000025b9 setarg  0x0000010c 
+ 00012990  0x000025ba branch  0x000032d0 
+ 00012991  0x000025bd copy  0x0000003f , 0x00000002 
+ 00012992  0x000025be copy  0x00000011 , 0x0000003f 
+ 00012993  0x000025bf iadd  0x00000013 , 0x00000005 
+ 00012994  0x000025c0 copy  0x00000002 , 0x0000003f 
+ 00012995  0x000025c1 rtn 
+ 00012996  0x000025c4 call  0x000032bf 
+ 00012997  0x000025c6 istore  0x00000003 , 0x00000005 
+ 00012998  0x000025c7 rtn 
+ 00012999  0x000025ca call  0x00002c7a 
+ 00013000  0x000025cc copy  0x0000003f , 0x00000012 
+ 00013001  0x000025cd copy  0x00000011 , 0x0000003f 
+ 00013002  0x000025ce iadd  0x00000013 , 0x00000005 
+ 00013003  0x000025cf copy  0x00000012 , 0x0000003f 
+ 00013004  0x000025d0 rtn 
+ 00013005  0x000025d3 call  0x00002c7a 
+ 00013006  0x000025d4 iadd  0x00000013 , 0x00000011 
+ 00013007  0x000025d5 rtn 
+ 00013008  0x000025d8 call  0x000032cd 
+ 00013009  0x000025da ifetch  0x00000001 , 0x00000011 
+ 00013010  0x000025db rtn 
+ 00013011  0x000025de call  0x000032cd 
+ 00013012  0x000025df ifetcht  0x00000004 , 0x00000011 
+ 00013013  0x000025e0 rtn 
+ 00013014  0x000025e3 setarg  0x00000000 
+ 00013015  0x000025e4 branch  0x000032b4 
+ 00013016  0x000025e9 bpatch  0x000000c4 , 0x00004018 
+ 00013017  0x000025ea fetch  0x00000001 , 0x00004092 
+ 00013018  0x000025eb branch  0x000032d8 , 0x00000034 
+ 00013019  0x000025ed beq  0x00000004 , 0x00002f30 
+ 00013020  0x000025ee beq  0x0000000f , 0x00003436 
+ 00013021  0x000025ef beq  0x00000009 , 0x000045de 
+ 00013022  0x000025f0 beq  0x0000000a , 0x0000392a 
+ 00013023  0x000025f1 beq  0x0000000e , 0x000035bf 
+ 00013024  0x000025f2 beq  0x00000010 , 0x000044a4 
+ 00013025  0x000025f3 bbit1  0x00000006 , 0x00003d00 
+ 00013026  0x000025f4 rtn 
+ 00013027  0x000025f7 bpatch  0x000000c5 , 0x00004018 
+ 00013028  0x000025f8 jam  0x00000000 , 0x00000151 
+ 00013029  0x000025f9 jam  0x00000000 , 0x0000017f 
+ 00013030  0x000025fa jam  0x00000000 , 0x00000180 
+ 00013031  0x000025fb setarg  0x00000000 
+ 00013032  0x000025fc store  0x00000005 , 0x000009ae 
+ 00013033  0x000025fd fetch  0x00000001 , 0x00004092 
+ 00013034  0x000025fe branch  0x000032e3 , 0x00000034 
+ 00013035  0x000025ff beq  0x0000000a , 0x00003962 
+ 00013036  0x00002601 rtn 
+ 00013037  0x00002605 call  0x00007cd1 
+ 00013038  0x00002606 call  0x00007d9c 
+ 00013039  0x00002607 call  0x000032f6 
+ 00013040  0x00002608 fetch  0x00000002 , 0x000041f3 
+ 00013041  0x00002609 branch  0x00007f9c 
+ 00013042  0x0000260c fetch  0x00000002 , 0x000041f1 
+ 00013043  0x0000260d branch  0x00007f9c 
+ 00013044  0x00002610 fetch  0x00000002 , 0x000041ef 
+ 00013045  0x00002611 branch  0x00007f9c 
+ 00013046  0x00002614 bpatch  0x000000c6 , 0x00004018 
+ 00013047  0x00002616 arg  0x00004668 , 0x00000011 
+ 00013048  0x00002617 call  0x00007fc4 
+ 00013049  0x00002618 rtn  0x00000034 
+ 00013050  0x0000261a copy  0x0000003f , 0x00000013 
+ 00013051  0x0000261b call  0x000032ff 
+ 00013052  0x0000261c branch  0x00003324 
+ 00013053  0x0000261f arg  0x00000000 , 0x00000013 
+ 00013054  0x00002620 rtn 
+ 00013055  0x00002626 beq  0x00000001 , 0x00003311 
+ 00013056  0x00002627 beq  0x00000010 , 0x00003357 
+ 00013057  0x00002628 beq  0x00000005 , 0x00003335 
+ 00013058  0x00002629 beq  0x00000012 , 0x0000333c 
+ 00013059  0x0000262a beq  0x00000006 , 0x00003353 
+ 00013060  0x0000262b beq  0x00000004 , 0x00003394 
+ 00013061  0x0000262c beq  0x00000002 , 0x00003399 
+ 00013062  0x0000262d beq  0x00000013 , 0x00003394 
+ 00013063  0x0000262e beq  0x00000014 , 0x0000334b 
+ 00013064  0x0000262f beq  0x00000015 , 0x0000334f 
+ 00013065  0x00002630 beq  0x00000003 , 0x0000332e 
+ 00013066  0x00002631 beq  0x0000000b , 0x00003340 
+ 00013067  0x00002632 beq  0x0000000c , 0x00003347 
+ 00013068  0x00002634 beq  0x00000016 , 0x0000335b 
+ 00013069  0x00002635 beq  0x00000018 , 0x0000332a 
+ 00013070  0x00002636 beq  0x0000002a , 0x0000331a 
+ 00013071  0x00002637 beq  0x0000002b , 0x00003318 
+ 00013072  0x00002638 rtn 
+ 00013073  0x0000263c fetch  0x00000002 , 0x00004682 
+ 00013074  0x0000263d set1  0x00000000 , 0x0000003f 
+ 00013075  0x0000263e store  0x00000002 , 0x00004682 
+ 00013076  0x0000263f fetch  0x00000002 , 0x0000420a 
+ 00013077  0x00002640 set0  0x00000000 , 0x0000003f 
+ 00013078  0x00002641 store  0x00000002 , 0x0000420a 
+ 00013079  0x00002642 rtn 
+ 00013080  0x00002645 jam  0x00000000 , 0x00000229 
+ 00013081  0x00002646 rtn 
+ 00013082  0x00002649 fetch  0x00000001 , 0x00000229 
+ 00013083  0x0000264a increase  0x00000001 , 0x0000003f 
+ 00013084  0x0000264b store  0x00000001 , 0x00000229 
+ 00013085  0x0000264c sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00013086  0x0000264d branch  0x000033df , 0x00000002 
+ 00013087  0x0000264e jam  0x00000000 , 0x00000229 
+ 00013088  0x0000264f fetch  0x00000002 , 0x0000420a 
+ 00013089  0x00002650 set1  0x00000009 , 0x0000003f 
+ 00013090  0x00002651 store  0x00000002 , 0x0000420a 
+ 00013091  0x00002652 branch  0x000033e9 
+ 00013092  0x00002655 fetch  0x00000002 , 0x000041f5 
+ 00013093  0x00002656 branch  0x00007f9c 
+ 00013094  0x00002659 fetch  0x00000002 , 0x000041e9 
+ 00013095  0x0000265a branch  0x00007f9c 
+ 00013096  0x0000265d fetch  0x00000002 , 0x000041ed 
+ 00013097  0x0000265e branch  0x00007f9c 
+ 00013098  0x00002661 fetch  0x00000002 , 0x0000420a 
+ 00013099  0x00002662 set1  0x00000001 , 0x0000003f 
+ 00013100  0x00002663 store  0x00000002 , 0x0000420a 
+ 00013101  0x00002664 branch  0x00003412 
+ 00013102  0x00002667 fetch  0x00000002 , 0x00004682 
+ 00013103  0x00002668 set1  0x00000007 , 0x0000003f 
+ 00013104  0x00002669 store  0x00000002 , 0x00004682 
+ 00013105  0x0000266a fetch  0x00000002 , 0x0000420a 
+ 00013106  0x0000266b set1  0x00000002 , 0x0000003f 
+ 00013107  0x0000266c store  0x00000002 , 0x0000420a 
+ 00013108  0x0000266d rtn 
+ 00013109  0x00002670 fetch  0x00000002 , 0x00004682 
+ 00013110  0x00002671 set1  0x00000001 , 0x0000003f 
+ 00013111  0x00002672 store  0x00000002 , 0x00004682 
+ 00013112  0x00002673 fetch  0x00000002 , 0x0000420a 
+ 00013113  0x00002674 set1  0x00000004 , 0x0000003f 
+ 00013114  0x00002675 store  0x00000002 , 0x0000420a 
+ 00013115  0x00002676 rtn 
+ 00013116  0x00002679 fetch  0x00000002 , 0x00004682 
+ 00013117  0x0000267a set1  0x00000003 , 0x0000003f 
+ 00013118  0x0000267b store  0x00000002 , 0x00004682 
+ 00013119  0x0000267c rtn 
+ 00013120  0x0000267f fetch  0x00000002 , 0x00004682 
+ 00013121  0x00002680 set1  0x00000005 , 0x0000003f 
+ 00013122  0x00002681 store  0x00000002 , 0x00004682 
+ 00013123  0x00002682 fetch  0x00000002 , 0x0000420a 
+ 00013124  0x00002683 set1  0x00000003 , 0x0000003f 
+ 00013125  0x00002684 store  0x00000002 , 0x0000420a 
+ 00013126  0x00002685 rtn 
+ 00013127  0x00002688 fetch  0x00000002 , 0x00004682 
+ 00013128  0x00002689 set0  0x00000005 , 0x0000003f 
+ 00013129  0x0000268a store  0x00000002 , 0x00004682 
+ 00013130  0x0000268b rtn 
+ 00013131  0x0000268e fetch  0x00000002 , 0x00004682 
+ 00013132  0x0000268f set1  0x00000009 , 0x0000003f 
+ 00013133  0x00002690 store  0x00000002 , 0x00004682 
+ 00013134  0x00002691 rtn 
+ 00013135  0x00002694 fetch  0x00000002 , 0x00004682 
+ 00013136  0x00002695 set0  0x00000009 , 0x0000003f 
+ 00013137  0x00002696 store  0x00000002 , 0x00004682 
+ 00013138  0x00002697 branch  0x00003418 
+ 00013139  0x0000269a fetch  0x00000002 , 0x00004682 
+ 00013140  0x0000269b set1  0x00000002 , 0x0000003f 
+ 00013141  0x0000269c store  0x00000002 , 0x00004682 
+ 00013142  0x0000269d rtn 
+ 00013143  0x000026a0 fetch  0x00000002 , 0x0000420a 
+ 00013144  0x000026a1 set1  0x00000000 , 0x0000003f 
+ 00013145  0x000026a2 store  0x00000002 , 0x0000420a 
+ 00013146  0x000026a3 rtn 
+ 00013147  0x000026a6 fetch  0x00000002 , 0x0000420a 
+ 00013148  0x000026a7 set1  0x00000008 , 0x0000003f 
+ 00013149  0x000026a8 store  0x00000002 , 0x0000420a 
+ 00013150  0x000026a9 branch  0x000033e9 
+ 00013151  0x000026ad bpatch  0x000000c7 , 0x00004018 
+ 00013152  0x000026ae store  0x00000001 , 0x0000022a 
+ 00013153  0x000026b0 fetch  0x00000001 , 0x0000022a 
+ 00013154  0x000026b1 rtn  0x00000034 
+ 00013155  0x000026b2 increase  0xffffffff , 0x0000003f 
+ 00013156  0x000026b3 store  0x00000001 , 0x0000022a 
+ 00013157  0x000026b4 call  0x00007cdd 
+ 00013158  0x000026b5 call  0x000033d6 
+ 00013159  0x000026b6 call  0x00003387 
+ 00013160  0x000026b7 call  0x0000338d 
+ 00013161  0x000026b8 call  0x0000651b 
+ 00013162  0x000026b9 fetch  0x00000002 , 0x000041fd 
+ 00013163  0x000026ba call  0x00007f9c 
+ 00013164  0x000026bb branch  0x00003361 
+ 00013165  0x000026c1 ifetch  0x00000001 , 0x00000013 
+ 00013166  0x000026c2 rtn  0x00000034 
+ 00013167  0x000026c3 pincrease  0xffffffff 
+ 00013168  0x000026c4 istore  0x00000001 , 0x00000013 
+ 00013169  0x000026c5 nrtn  0x00000034 
+ 00013170  0x000026c6 copy  0x00000012 , 0x0000003f 
+ 00013171  0x000026c7 branch  0x00007f9c 
+ 00013172  0x000026cc ifetch  0x00000002 , 0x00000013 
+ 00013173  0x000026cd rtn  0x00000034 
+ 00013174  0x000026ce pincrease  0xffffffff 
+ 00013175  0x000026cf istore  0x00000002 , 0x00000013 
+ 00013176  0x000026d0 nrtn  0x00000034 
+ 00013177  0x000026d1 copy  0x00000012 , 0x0000003f 
+ 00013178  0x000026d2 branch  0x00007f9c 
+ 00013179  0x000026d5 fetcht  0x00000002 , 0x0000423f 
+ 00013180  0x000026d6 add  0x00000002 , 0x00000001 , 0x00000013 
+ 00013181  0x000026d7 arg  0x0000337f , 0x00000012 
+ 00013182  0x000026d8 branch  0x0000336d 
+ 00013183  0x000026db call  0x0000342d 
+ 00013184  0x000026dc beq  0x00000001 , 0x00003382 
+ 00013185  0x000026de branch  0x0000340a 
+ 00013186  0x000026e0 setarg  0x00000002 
+ 00013187  0x000026e1 istore  0x00000001 , 0x00000013 
+ 00013188  0x000026e2 add  0x00000002 , 0x00000008 , 0x00000012 
+ 00013189  0x000026e4 ifetch  0x00000002 , 0x00000012 
+ 00013190  0x000026e5 branch  0x00007f9c 
+ 00013191  0x000026e8 arg  0x00004205 , 0x00000013 
+ 00013192  0x000026e9 arg  0x0000338a , 0x00000012 
+ 00013193  0x000026ea branch  0x0000336d 
+ 00013194  0x000026ed call  0x00002252 
+ 00013195  0x000026ee branch  0x0000340e , 0x00000005 
+ 00013196  0x000026ef rtn 
+ 00013197  0x000026f3 arg  0x0000467e , 0x00000013 
+ 00013198  0x000026f4 arg  0x00003390 , 0x00000012 
+ 00013199  0x000026f5 branch  0x00003374 
+ 00013200  0x000026f8 call  0x000033f0 
+ 00013201  0x000026f9 call  0x00003408 
+ 00013202  0x000026fa fetch  0x00000002 , 0x000041f7 
+ 00013203  0x000026fb branch  0x00007f9c 
+ 00013204  0x000026ff call  0x000033ac 
+ 00013205  0x00002701 fetch  0x00000002 , 0x00004682 
+ 00013206  0x00002702 set0  0x00000007 , 0x0000003f 
+ 00013207  0x00002703 store  0x00000002 , 0x00004682 
+ 00013208  0x00002704 rtn 
+ 00013209  0x00002707 jam  0x00000000 , 0x00004205 
+ 00013210  0x00002708 fetch  0x00000002 , 0x00004682 
+ 00013211  0x00002709 bbit1  0x00000007 , 0x0000339e 
+ 00013212  0x0000270a isolate0  0x00000001 , 0x0000003f 
+ 00013213  0x0000270b call  0x000032fd , 0x00000001 
+ 00013214  0x0000270d bpatch  0x000000c8 , 0x00004019 
+ 00013215  0x0000270e fetch  0x00000002 , 0x00004682 
+ 00013216  0x0000270f set0  0x00000000 , 0x0000003f 
+ 00013217  0x00002710 set0  0x00000001 , 0x0000003f 
+ 00013218  0x00002711 set0  0x00000002 , 0x0000003f 
+ 00013219  0x00002712 set0  0x00000003 , 0x0000003f 
+ 00013220  0x00002713 set0  0x00000007 , 0x0000003f 
+ 00013221  0x00002714 store  0x00000002 , 0x00004682 
+ 00013222  0x00002715 branch  0x00003418 
+ 00013223  0x00002718 call  0x000033a9 
+ 00013224  0x00002719 branch  0x0000340a 
+ 00013225  0x0000271d setarg  0x00000000 
+ 00013226  0x0000271e store  0x00000002 , 0x00004208 
+ 00013227  0x0000271f rtn 
+ 00013228  0x00002721 setarg  0x00000000 
+ 00013229  0x00002722 store  0x00000002 , 0x0000420a 
+ 00013230  0x00002723 rtn 
+ 00013231  0x00002726 fetch  0x00000002 , 0x0000420a 
+ 00013232  0x00002727 store  0x00000002 , 0x00004208 
+ 00013233  0x00002728 setarg  0x00000000 
+ 00013234  0x00002729 store  0x00000002 , 0x0000420a 
+ 00013235  0x0000272a rtn 
+ 00013236  0x0000272d fetch  0x00000002 , 0x0000420a 
+ 00013237  0x0000272e set1  0x00000007 , 0x0000003f 
+ 00013238  0x0000272f store  0x00000002 , 0x00004208 
+ 00013239  0x00002730 setarg  0x00000000 
+ 00013240  0x00002731 store  0x00000002 , 0x0000420a 
+ 00013241  0x00002732 rtn 
+ 00013242  0x0000273b fetch  0x00000001 , 0x00004682 
+ 00013243  0x0000273c isolate1  0x00000005 , 0x0000003f 
+ 00013244  0x0000273d rtn 
+ 00013245  0x00002746 setarg  0x0000aa55 
+ 00013246  0x00002748 store  0x00000002 , 0x00000aaa 
+ 00013247  0x00002749 bpatch  0x000000c9 , 0x00004019 
+ 00013248  0x0000274a arg  0x00000002 , 0x00000002 
+ 00013249  0x0000274b arg  0x00000aaa , 0x00000011 
+ 00013250  0x0000274c arg  0x000000c3 , 0x00000012 
+ 00013251  0x0000274d branch  0x00006606 
+ 00013252  0x00002751 bpatch  0x000000ca , 0x00004019 
+ 00013253  0x00002752 arg  0x00000002 , 0x00000002 
+ 00013254  0x00002753 arg  0x00000a9a , 0x00000011 
+ 00013255  0x00002754 arg  0x000000c3 , 0x00000012 
+ 00013256  0x00002755 call  0x000065df 
+ 00013257  0x00002756 fetch  0x00000002 , 0x00000a9a 
+ 00013258  0x00002757 arg  0x0000aa55 , 0x00000002 
+ 00013259  0x00002758 isub  0x00000002 , 0x0000003e 
+ 00013260  0x00002759 rtn 
+ 00013261  0x0000275d fetch  0x00000001 , 0x0000455a 
+ 00013262  0x0000275e store  0x00000001 , 0x00004205 
+ 00013263  0x0000275f rtn 
+ 00013264  0x00002762 arg  0x00000009 , 0x00000007 
+ 00013265  0x00002763 branch  0x00002c32 
+ 00013266  0x00002766 arg  0x00000009 , 0x00000007 
+ 00013267  0x00002767 branch  0x00002c36 
+ 00013268  0x0000276a jam  0x00000005 , 0x00004206 
+ 00013269  0x0000276b branch  0x000033d0 
+ 00013270  0x0000276e arg  0x00004206 , 0x00000013 
+ 00013271  0x0000276f arg  0x000033d2 , 0x00000012 
+ 00013272  0x00002770 branch  0x0000336d 
+ 00013273  0x00002773 jam  0x00000001 , 0x00004363 
+ 00013274  0x00002774 rtn 
+ 00013275  0x00002777 jam  0x00000000 , 0x00004363 
+ 00013276  0x00002778 rtn 
+ 00013277  0x0000277b jam  0x0000000a , 0x00000a99 
+ 00013278  0x0000277c branch  0x00007d8f 
+ 00013279  0x0000277f jam  0x0000001d , 0x00000a99 
+ 00013280  0x00002780 branch  0x00007d8f 
+ 00013281  0x00002783 bpatch  0x000000cb , 0x00004019 
+ 00013282  0x00002784 fetch  0x00000001 , 0x00004207 
+ 00013283  0x00002785 store  0x00000001 , 0x0000016d 
+ 00013284  0x00002786 jam  0x00000001 , 0x00000228 
+ 00013285  0x00002787 jam  0x00000003 , 0x00000a99 
+ 00013286  0x00002788 branch  0x00007d8f 
+ 00013287  0x0000278b jam  0x0000001e , 0x00000a99 
+ 00013288  0x0000278c branch  0x00007d8f 
+ 00013289  0x0000278f jam  0x00000004 , 0x00000a99 
+ 00013290  0x00002790 branch  0x00007d8f 
+ 00013291  0x00002793 fetch  0x00000002 , 0x00004687 
+ 00013292  0x00002794 store  0x00000002 , 0x0000467e 
+ 00013293  0x00002796 call  0x00003404 
+ 00013294  0x00002798 jam  0x00000001 , 0x00000a99 
+ 00013295  0x00002799 branch  0x00007d8f 
+ 00013296  0x0000279c setarg  0x00000000 
+ 00013297  0x0000279d store  0x00000002 , 0x0000467e 
+ 00013298  0x0000279e jam  0x00000002 , 0x00000a99 
+ 00013299  0x0000279f branch  0x00007d8f 
+ 00013300  0x000027a2 jam  0x0000000f , 0x00000a99 
+ 00013301  0x000027a3 branch  0x00007d8f 
+ 00013302  0x000027a6 jam  0x00000010 , 0x00000a99 
+ 00013303  0x000027a7 branch  0x00007d8f 
+ 00013304  0x000027aa jam  0x0000000e , 0x00000a99 
+ 00013305  0x000027ab branch  0x00007d8f 
+ 00013306  0x000027ae jam  0x0000000d , 0x00000a99 
+ 00013307  0x000027af branch  0x00007d8f 
+ 00013308  0x000027b2 jam  0x00000017 , 0x00000a99 
+ 00013309  0x000027b3 branch  0x00007d8f 
+ 00013310  0x000027b6 jam  0x00000018 , 0x00000a99 
+ 00013311  0x000027b7 branch  0x00007d8f 
+ 00013312  0x000027ba jam  0x00000016 , 0x00000a99 
+ 00013313  0x000027bb branch  0x00007d8f 
+ 00013314  0x000027be jam  0x00000011 , 0x00000a99 
+ 00013315  0x000027bf branch  0x00007d8f 
+ 00013316  0x000027c2 jam  0x00000015 , 0x00000a99 
+ 00013317  0x000027c3 branch  0x00007d8f 
+ 00013318  0x000027c6 jam  0x00000014 , 0x00000a99 
+ 00013319  0x000027c7 branch  0x00007d8f 
+ 00013320  0x000027cb jam  0x00000013 , 0x00000a99 
+ 00013321  0x000027cc branch  0x00007d8f 
+ 00013322  0x000027cf jam  0x00000019 , 0x00000a99 
+ 00013323  0x000027d0 branch  0x00007d8f 
+ 00013324  0x000027d3 jam  0x00000006 , 0x00000a99 
+ 00013325  0x000027d4 branch  0x00007d8f 
+ 00013326  0x000027d7 jam  0x00000005 , 0x00000a99 
+ 00013327  0x000027d8 branch  0x00007d8f 
+ 00013328  0x000027db jam  0x0000001f , 0x00000a99 
+ 00013329  0x000027dc branch  0x00007d8f 
+ 00013330  0x000027df jam  0x00000020 , 0x00000a99 
+ 00013331  0x000027e0 branch  0x00007d8f 
+ 00013332  0x000027e3 jam  0x00000025 , 0x00000a99 
+ 00013333  0x000027e4 branch  0x00007d8f 
+ 00013334  0x000027e7 set1  0x0000000d , 0x00000000 
+ 00013335  0x000027e8 rtn 
+ 00013336  0x000027eb set0  0x0000000d , 0x00000000 
+ 00013337  0x000027ec rtn 
+ 00013338  0x00002801 call  0x0000342d 
+ 00013339  0x00002802 beq  0x00000002 , 0x00003424 
+ 00013340  0x00002804 setarg  0x00000001 
+ 00013341  0x00002805 istore  0x00000001 , 0x00000013 
+ 00013342  0x00002806 add  0x00000002 , 0x00000003 , 0x00000011 
+ 00013343  0x00002807 add  0x00000002 , 0x00000006 , 0x00000012 
+ 00013344  0x00002809 ifetcht  0x00000001 , 0x00000011 
+ 00013345  0x0000280a increase  0x00000001 , 0x00000013 
+ 00013346  0x0000280b istoret  0x00000001 , 0x00000013 
+ 00013347  0x0000280c branch  0x00003385 
+ 00013348  0x0000280f setarg  0x00000000 
+ 00013349  0x00002810 istore  0x00000001 , 0x00000013 
+ 00013350  0x00002811 fetch  0x00000002 , 0x00004682 
+ 00013351  0x00002812 bbit0  0x00000009 , 0x00003429 
+ 00013352  0x00002813 call  0x00003402 
+ 00013353  0x00002815 fetcht  0x00000002 , 0x0000423f 
+ 00013354  0x00002816 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00013355  0x00002817 add  0x00000002 , 0x00000004 , 0x00000012 
+ 00013356  0x00002818 branch  0x00003420 
+ 00013357  0x0000281b fetcht  0x00000002 , 0x0000423f 
+ 00013358  0x0000281c add  0x00000002 , 0x00000000 , 0x00000013 
+ 00013359  0x0000281d ifetch  0x00000001 , 0x00000013 
+ 00013360  0x0000281e rtn 
+ 00013361  0x00002821 call  0x0000342d 
+ 00013362  0x00002822 bne  0x00000000 , 0x00003434 
+ 00013363  0x00002823 branch  0x0000340a 
+ 00013364  0x00002825 add  0x00000002 , 0x0000000a , 0x00000012 
+ 00013365  0x00002826 branch  0x00003385 
+ 00013366  0x00002829 rtn  0x0000002b 
+ 00013367  0x0000282a jam  0x00000000 , 0x00008081 
+ 00013368  0x0000282b setarg  0x00003463 
+ 00013369  0x0000282c store  0x00000002 , 0x000041eb 
+ 00013370  0x0000282d setarg  0x0000696c 
+ 00013371  0x0000282e store  0x00000002 , 0x000041ed 
+ 00013372  0x0000282f setarg  0x000034f5 
+ 00013373  0x00002830 store  0x00000002 , 0x000041f3 
+ 00013374  0x00002831 setarg  0x000034f4 
+ 00013375  0x00002832 store  0x00000002 , 0x000041ef 
+ 00013376  0x00002833 setarg  0x0000347e 
+ 00013377  0x00002834 store  0x00000002 , 0x000041f5 
+ 00013378  0x00002835 setarg  0x000034b2 
+ 00013379  0x00002836 store  0x00000002 , 0x000041fd 
+ 00013380  0x00002837 setarg  0x00003465 
+ 00013381  0x00002838 store  0x00000002 , 0x000041fb 
+ 00013382  0x00002839 setarg  0x00003470 
+ 00013383  0x0000283a store  0x00000002 , 0x000041e9 
+ 00013384  0x0000283b setarg  0x00003501 
+ 00013385  0x0000283c store  0x00000002 , 0x000041f9 
+ 00013386  0x0000283d bpatch  0x000000cc , 0x00004019 
+ 00013387  0x0000283e call  0x0000359b 
+ 00013388  0x0000283f call  0x00006948 
+ 00013389  0x00002840 call  0x000035ad 
+ 00013390  0x00002841 call  0x00007d08 
+ 00013391  0x00002842 call  0x00007cd3 
+ 00013392  0x00002843 setarg  0x0000350b 
+ 00013393  0x00002844 store  0x00000002 , 0x00004766 
+ 00013394  0x00002845 setarg  0x000034fc 
+ 00013395  0x00002846 store  0x00000002 , 0x0000475d 
+ 00013396  0x00002847 setarg  0x000034f8 
+ 00013397  0x00002848 store  0x00000002 , 0x0000475f 
+ 00013398  0x00002849 setarg  0x0000346c 
+ 00013399  0x0000284a store  0x00000002 , 0x00004761 
+ 00013400  0x0000284b setarg  0x000035a2 
+ 00013401  0x0000284c store  0x00000002 , 0x000046a9 
+ 00013402  0x0000284d setarg  0x000035a4 
+ 00013403  0x0000284e store  0x00000002 , 0x000046ab 
+ 00013404  0x0000284f setarg  0x000035a9 
+ 00013405  0x00002850 store  0x00000002 , 0x000046b4 
+ 00013406  0x00002851 setarg  0x000035a6 
+ 00013407  0x00002852 store  0x00000002 , 0x000046b6 
+ 00013408  0x00002853 fetch  0x00000002 , 0x00004682 
+ 00013409  0x00002854 rtnbit1  0x0000000c 
+ 00013410  0x00002855 branch  0x0000340a 
+ 00013411  0x00002858 call  0x00003586 
+ 00013412  0x00002859 branch  0x0000340a 
+ 00013413  0x0000285c call  0x00005892 
+ 00013414  0x0000285d nrtn  0x00000034 
+ 00013415  0x0000285e arg  0x00000b06 , 0x00000011 
+ 00013416  0x0000285f call  0x00007e54 
+ 00013417  0x00002860 nrtn  0x00000028 
+ 00013418  0x00002861 arg  0x00000b06 , 0x00000006 
+ 00013419  0x00002862 branch  0x00004746 
+ 00013420  0x00002865 fetch  0x00000002 , 0x00004797 
+ 00013421  0x00002866 store  0x00000002 , 0x00004791 
+ 00013422  0x00002867 jam  0x00000001 , 0x00004753 
+ 00013423  0x00002868 branch  0x0000358f 
+ 00013424  0x0000286b fetch  0x00000001 , 0x0000479d 
+ 00013425  0x0000286c beq  0x00000001 , 0x00003479 
+ 00013426  0x0000286d fetch  0x00000002 , 0x00004682 
+ 00013427  0x0000286e bbit0  0x00000009 , 0x00003479 
+ 00013428  0x0000286f fetch  0x00000001 , 0x0000479e 
+ 00013429  0x00002870 beq  0x00000001 , 0x000033d0 
+ 00013430  0x00002871 fetch  0x00000001 , 0x00004700 
+ 00013431  0x00002872 nbranch  0x000033d0 , 0x00000034 
+ 00013432  0x00002873 branch  0x000033d2 
+ 00013433  0x00002876 fetch  0x00000001 , 0x0000479b 
+ 00013434  0x00002877 fetcht  0x00000001 , 0x0000479c 
+ 00013435  0x00002878 ior  0x00000002 , 0x0000003f 
+ 00013436  0x00002879 beq  0x00000001 , 0x000033d0 
+ 00013437  0x0000287a branch  0x000033d2 
+ 00013438  0x0000287d copy  0x00000013 , 0x0000003f 
+ 00013439  0x0000287e beq  0x0000002d , 0x00003431 
+ 00013440  0x0000287f beq  0x00000010 , 0x0000341a 
+ 00013441  0x00002880 beq  0x00000014 , 0x000034df 
+ 00013442  0x00002881 beq  0x00000015 , 0x000034e8 
+ 00013443  0x00002882 beq  0x00000040 , 0x00003485 
+ 00013444  0x00002883 rtn 
+ 00013445  0x00002885 fetch  0x00000002 , 0x00004509 
+ 00013446  0x00002886 beq  0x00000001 , 0x0000348c 
+ 00013447  0x00002888 fetch  0x00000002 , 0x000043d8 
+ 00013448  0x00002889 branch  0x000034a2 , 0x00000034 
+ 00013449  0x0000288b jam  0x00000002 , 0x0000478a 
+ 00013450  0x0000288c jam  0x0000003c , 0x0000478f 
+ 00013451  0x0000288d rtn 
+ 00013452  0x00002890 fetch  0x00000002 , 0x0000449a 
+ 00013453  0x00002891 branch  0x000034a0 , 0x00000034 
+ 00013454  0x00002893 jam  0x00000001 , 0x0000478a 
+ 00013455  0x00002894 fetcht  0x00000002 , 0x000047b4 
+ 00013456  0x00002895 fetch  0x00000002 , 0x00004496 
+ 00013457  0x00002896 iadd  0x00000002 , 0x0000003f 
+ 00013458  0x00002897 store  0x00000002 , 0x00004496 
+ 00013459  0x00002898 copy  0x0000003f , 0x00000011 
+ 00013460  0x00002899 fetch  0x00000002 , 0x00004498 
+ 00013461  0x0000289a iadd  0x00000002 , 0x0000003f 
+ 00013462  0x0000289b store  0x00000002 , 0x00004498 
+ 00013463  0x0000289c iadd  0x00000011 , 0x0000003f 
+ 00013464  0x0000289d rshift  0x0000003f , 0x00000002 
+ 00013465  0x0000289e fetch  0x00000002 , 0x000047c0 
+ 00013466  0x0000289f idiv  0x00000002 
+ 00013467  0x000028a0 call  0x00007f86 
+ 00013468  0x000028a1 quotient  0x0000003f 
+ 00013469  0x000028a2 store  0x00000002 , 0x0000449a 
+ 00013470  0x000028a3 jam  0x00000001 , 0x00004790 
+ 00013471  0x000028a4 rtn 
+ 00013472  0x000028a6 jam  0x00000003 , 0x0000478a 
+ 00013473  0x000028a7 rtn 
+ 00013474  0x000028aa jam  0x00000000 , 0x00004172 
+ 00013475  0x000028ab jam  0x00000000 , 0x00004790 
+ 00013476  0x000028ac fetch  0x00000002 , 0x000043d6 
+ 00013477  0x000028ad fetcht  0x00000002 , 0x000047be 
+ 00013478  0x000028ae isub  0x00000002 , 0x0000003e 
+ 00013479  0x000028af setflag  0x00000002 , 0x00000000 , 0x00000011 
+ 00013480  0x000028b0 fetch  0x00000002 , 0x000047c0 
+ 00013481  0x000028b1 fetcht  0x00000002 , 0x000043d6 
+ 00013482  0x000028b2 isub  0x00000002 , 0x0000003f 
+ 00013483  0x000028b3 setflag  0x00000002 , 0x00000001 , 0x00000011 
+ 00013484  0x000028b4 compare  0x00000003 , 0x00000011 , 0x00000003 
+ 00013485  0x000028b5 rtn  0x00000001 
+ 00013486  0x000028b6 fetch  0x00000008 , 0x000047be 
+ 00013487  0x000028b7 store  0x00000008 , 0x00004496 
+ 00013488  0x000028b8 jam  0x00000001 , 0x00004790 
+ 00013489  0x000028b9 rtn 
+ 00013490  0x000028be call  0x0000337b 
+ 00013491  0x000028bf call  0x000034b9 
+ 00013492  0x000028c0 call  0x000034be 
+ 00013493  0x000028c1 call  0x000034d5 
+ 00013494  0x000028c2 call  0x000034ca 
+ 00013495  0x000028c3 call  0x000034c4 
+ 00013496  0x000028c4 branch  0x000034d9 
+ 00013497  0x000028c8 arg  0x00004799 , 0x00000013 
+ 00013498  0x000028c9 arg  0x000034bc , 0x00000012 
+ 00013499  0x000028ca branch  0x0000336d 
+ 00013500  0x000028cc jam  0x00000000 , 0x0000479a 
+ 00013501  0x000028cd rtn 
+ 00013502  0x000028cf arg  0x00004793 , 0x00000013 
+ 00013503  0x000028d0 arg  0x000034c1 , 0x00000012 
+ 00013504  0x000028d1 branch  0x00003374 
+ 00013505  0x000028d3 arg  0x000046bf , 0x00000013 
+ 00013506  0x000028d4 arg  0x0000469e , 0x00000012 
+ 00013507  0x000028d5 branch  0x00003591 
+ 00013508  0x000028d9 arg  0x0000478f , 0x00000013 
+ 00013509  0x000028da arg  0x000034c7 , 0x00000012 
+ 00013510  0x000028db branch  0x0000336d 
+ 00013511  0x000028de fetch  0x00000002 , 0x0000449a 
+ 00013512  0x000028df store  0x00000001 , 0x00004172 
+ 00013513  0x000028e0 rtn 
+ 00013514  0x000028e2 arg  0x00004790 , 0x00000013 
+ 00013515  0x000028e3 arg  0x000034cd , 0x00000012 
+ 00013516  0x000028e4 branch  0x0000336d 
+ 00013517  0x000028e6 fetch  0x00000001 , 0x0000043f 
+ 00013518  0x000028e7 compare  0x00000000 , 0x0000003f , 0x00000060 
+ 00013519  0x000028e8 nbranch  0x000034d3 , 0x00000001 
+ 00013520  0x000028e9 jam  0x00000001 , 0x0000478a 
+ 00013521  0x000028ea call  0x00003416 
+ 00013522  0x000028eb branch  0x00005abf 
+ 00013523  0x000028ed jam  0x00000001 , 0x00004790 
+ 00013524  0x000028ee rtn 
+ 00013525  0x000028f1 arg  0x00004791 , 0x00000013 
+ 00013526  0x000028f2 arg  0x000034d8 , 0x00000012 
+ 00013527  0x000028f3 branch  0x00003374 
+ 00013528  0x000028f7 branch  0x0000341a 
+ 00013529  0x000028fc arg  0x0000478d , 0x00000013 
+ 00013530  0x000028fd arg  0x000034dc , 0x00000012 
+ 00013531  0x000028fe branch  0x00003374 
+ 00013532  0x00002900 fetch  0x00000002 , 0x000047a7 
+ 00013533  0x00002901 store  0x00000002 , 0x0000478d 
+ 00013534  0x00002902 branch  0x000035af 
+ 00013535  0x00002906 fetch  0x00000002 , 0x000047a7 
+ 00013536  0x00002907 store  0x00000002 , 0x0000478d 
+ 00013537  0x00002908 setarg  0x00000000 
+ 00013538  0x00002909 store  0x00000002 , 0x00004793 
+ 00013539  0x0000290a store  0x00000002 , 0x00004791 
+ 00013540  0x0000290b call  0x0000355c 
+ 00013541  0x0000290c call  0x00003586 
+ 00013542  0x0000290d jam  0x00000000 , 0x00004172 
+ 00013543  0x0000290e branch  0x000033f8 
+ 00013544  0x00002914 setarg  0x00000000 
+ 00013545  0x00002915 store  0x00000004 , 0x0000478d 
+ 00013546  0x00002916 store  0x00000003 , 0x0000478a 
+ 00013547  0x00002917 store  0x00000002 , 0x00004509 
+ 00013548  0x00002919 jam  0x00000001 , 0x000047a0 
+ 00013549  0x0000291a fetch  0x00000002 , 0x00004797 
+ 00013550  0x0000291b store  0x00000002 , 0x00004791 
+ 00013551  0x0000291c call  0x00007e38 
+ 00013552  0x0000291d fetch  0x00000001 , 0x00004759 
+ 00013553  0x0000291e rtneq  0x00000000 
+ 00013554  0x0000291f call  0x0000358f 
+ 00013555  0x00002920 branch  0x0000356e 
+ 00013556  0x00002925 branch  0x00003508 
+ 00013557  0x00002929 fetch  0x00000001 , 0x00004759 
+ 00013558  0x0000292a rtnne  0x00000002 
+ 00013559  0x0000292b branch  0x00003508 
+ 00013560  0x00002931 arg  0x000046cd , 0x00000013 
+ 00013561  0x00002932 call  0x00003582 
+ 00013562  0x00002933 arg  0x000046c6 , 0x00000013 
+ 00013563  0x00002935 branch  0x00003584 
+ 00013564  0x00002938 jam  0x00000000 , 0x0000436e 
+ 00013565  0x00002939 arg  0x000046db , 0x00000013 
+ 00013566  0x0000293a call  0x00003582 
+ 00013567  0x0000293b arg  0x000046d4 , 0x00000013 
+ 00013568  0x0000293c branch  0x000034fb 
+ 00013569  0x0000293f fetch  0x00000001 , 0x00000477 
+ 00013570  0x00002940 beq  0x00000012 , 0x00003504 
+ 00013571  0x00002941 rtn 
+ 00013572  0x00002943 fetch  0x00000002 , 0x00000478 
+ 00013573  0x00002945 beq  0x0000000d , 0x00003536 
+ 00013574  0x00002946 beq  0x0000000b , 0x00003571 
+ 00013575  0x00002947 rtn 
+ 00013576  0x0000294d fetch  0x00000001 , 0x00004753 
+ 00013577  0x0000294e rtn  0x00000034 
+ 00013578  0x0000294f branch  0x00006978 
+ 00013579  0x00002954 copy  0x00000011 , 0x0000003f 
+ 00013580  0x00002955 branch  0x00003510 , 0x00000034 
+ 00013581  0x00002957 copy  0x00000007 , 0x0000003f 
+ 00013582  0x00002958 beq  0x00000000 , 0x00003513 
+ 00013583  0x00002959 rtn 
+ 00013584  0x0000295b copy  0x00000007 , 0x0000003f 
+ 00013585  0x0000295c beq  0x00000000 , 0x0000351b 
+ 00013586  0x0000295d rtn 
+ 00013587  0x00002960 jam  0x00000001 , 0x0000479d 
+ 00013588  0x00002961 arg  0x000046f7 , 0x00000013 
+ 00013589  0x00002962 call  0x00003582 
+ 00013590  0x00002963 arg  0x000046f0 , 0x00000013 
+ 00013591  0x00002964 call  0x00003584 
+ 00013592  0x00002965 fetch  0x00000002 , 0x00004682 
+ 00013593  0x00002966 bbit0  0x00000009 , 0x00003532 
+ 00013594  0x00002967 branch  0x00003521 
+ 00013595  0x0000296a jam  0x00000000 , 0x0000479d 
+ 00013596  0x0000296b branch  0x0000351d 
+ 00013597  0x00002970 fetch  0x00000001 , 0x0000479a 
+ 00013598  0x00002971 rtnne  0x00000001 
+ 00013599  0x00002972 jam  0x00000005 , 0x00004799 
+ 00013600  0x00002973 rtn 
+ 00013601  0x00002976 fetch  0x00000001 , 0x0000479a 
+ 00013602  0x00002977 pincrease  0x00000001 
+ 00013603  0x00002978 store  0x00000001 , 0x0000479a 
+ 00013604  0x00002979 beq  0x00000001 , 0x00003527 
+ 00013605  0x0000297a beq  0x00000002 , 0x0000352b 
+ 00013606  0x0000297b rtn 
+ 00013607  0x0000297d call  0x0000355c 
+ 00013608  0x0000297e jam  0x00000001 , 0x00004771 
+ 00013609  0x0000297f arg  0x0000476c , 0x00000013 
+ 00013610  0x00002980 branch  0x00003544 
+ 00013611  0x00002982 jam  0x00000000 , 0x0000479a 
+ 00013612  0x00002983 jam  0x00000002 , 0x00004771 
+ 00013613  0x00002984 arg  0x0000476c , 0x00000013 
+ 00013614  0x00002985 call  0x00003544 
+ 00013615  0x00002986 fetch  0x00000001 , 0x0000479e 
+ 00013616  0x00002987 beq  0x00000001 , 0x00003551 
+ 00013617  0x00002988 rtn 
+ 00013618  0x0000298b fetch  0x00000002 , 0x00004797 
+ 00013619  0x0000298c store  0x00000002 , 0x00004791 
+ 00013620  0x0000298d call  0x0000355c 
+ 00013621  0x0000298e branch  0x0000358f 
+ 00013622  0x00002992 bpatch  0x000000cd , 0x00004019 
+ 00013623  0x00002993 call  0x000036fc 
+ 00013624  0x00002994 ifetch  0x00000001 , 0x00000011 
+ 00013625  0x00002995 beq  0x00000003 , 0x0000353c 
+ 00013626  0x00002996 beq  0x00000007 , 0x00003540 
+ 00013627  0x00002997 rtn 
+ 00013628  0x0000299a fetch  0x00000001 , 0x0000479e 
+ 00013629  0x0000299b beq  0x00000000 , 0x00003551 
+ 00013630  0x0000299c beq  0x00000001 , 0x0000355c 
+ 00013631  0x0000299d rtn 
+ 00013632  0x000029a0 ifetch  0x00000001 , 0x00000012 
+ 00013633  0x000029a1 beq  0x00000001 , 0x00003564 
+ 00013634  0x000029a2 beq  0x00000000 , 0x00003569 
+ 00013635  0x000029a3 rtn 
+ 00013636  0x000029ab bpatch  0x000000ce , 0x00004019 
+ 00013637  0x000029ac fetch  0x00000001 , 0x0000478b 
+ 00013638  0x000029ad isolate1  0x00000000 , 0x0000003f 
+ 00013639  0x000029ae nrtn  0x00000001 
+ 00013640  0x000029af add  0x00000013 , 0x00000006 , 0x00000006 
+ 00013641  0x000029b0 ifetch  0x00000002 , 0x00000006 
+ 00013642  0x000029b1 byteswap  0x0000003f , 0x0000003f 
+ 00013643  0x000029b2 add  0x0000003f , 0x00000005 , 0x00000039 
+ 00013644  0x000029b3 add  0x00000013 , 0x00000003 , 0x00000006 
+ 00013645  0x000029b4 call  0x000036f0 
+ 00013646  0x000029b5 istore  0x00000001 , 0x00000006 
+ 00013647  0x000029b6 copy  0x00000013 , 0x00000011 
+ 00013648  0x000029b7 branch  0x00007e3d 
+ 00013649  0x000029be fetch  0x00000001 , 0x00004759 
+ 00013650  0x000029bf rtn  0x00000034 
+ 00013651  0x000029c0 jam  0x00000001 , 0x0000479e 
+ 00013652  0x000029c1 arg  0x000046e9 , 0x00000013 
+ 00013653  0x000029c2 call  0x00003582 
+ 00013654  0x000029c3 arg  0x000046e2 , 0x00000013 
+ 00013655  0x000029c4 call  0x00003584 
+ 00013656  0x000029c5 jam  0x00000004 , 0x00004780 
+ 00013657  0x000029c6 jam  0x00000001 , 0x00004783 
+ 00013658  0x000029c7 arg  0x0000477b , 0x00000013 
+ 00013659  0x000029c8 branch  0x00003544 
+ 00013660  0x000029ca fetch  0x00000001 , 0x0000479e 
+ 00013661  0x000029cb rtn  0x00000034 
+ 00013662  0x000029cc jam  0x00000000 , 0x0000479e 
+ 00013663  0x000029cd call  0x00003586 
+ 00013664  0x000029ce jam  0x00000004 , 0x00004780 
+ 00013665  0x000029cf jam  0x00000000 , 0x00004783 
+ 00013666  0x000029d0 arg  0x0000477b , 0x00000013 
+ 00013667  0x000029d1 branch  0x00003544 
+ 00013668  0x000029d4 jam  0x00000001 , 0x0000479f 
+ 00013669  0x000029d5 jam  0x00000007 , 0x00004780 
+ 00013670  0x000029d6 jam  0x00000001 , 0x00004783 
+ 00013671  0x000029d7 arg  0x0000477b , 0x00000013 
+ 00013672  0x000029d8 branch  0x00003544 
+ 00013673  0x000029da jam  0x00000000 , 0x0000479f 
+ 00013674  0x000029db jam  0x00000007 , 0x00004780 
+ 00013675  0x000029dc jam  0x00000000 , 0x00004783 
+ 00013676  0x000029dd arg  0x0000477b , 0x00000013 
+ 00013677  0x000029de branch  0x00003544 
+ 00013678  0x000029e0 fetch  0x00000001 , 0x0000479f 
+ 00013679  0x000029e1 rtn  0x00000034 
+ 00013680  0x000029e2 branch  0x00003551 
+ 00013681  0x000029e5 ifetch  0x00000002 , 0x00000011 
+ 00013682  0x000029e6 store  0x00000002 , 0x0000478b 
+ 00013683  0x000029e7 isolate1  0x00000000 , 0x0000003f 
+ 00013684  0x000029e8 nrtn  0x00000001 
+ 00013685  0x000029e9 fetch  0x00000001 , 0x000047a0 
+ 00013686  0x000029ea rtn  0x00000034 
+ 00013687  0x000029eb jam  0x00000000 , 0x000047a0 
+ 00013688  0x000029ec fetch  0x00000008 , 0x000047b6 
+ 00013689  0x000029ed store  0x00000008 , 0x00004496 
+ 00013690  0x000029ee jam  0x00000002 , 0x00004790 
+ 00013691  0x000029ef call  0x000035af 
+ 00013692  0x000029f0 call  0x000035b9 
+ 00013693  0x000029f1 jam  0x00000007 , 0x00004780 
+ 00013694  0x000029f2 fetch  0x00000001 , 0x0000479f 
+ 00013695  0x000029f3 store  0x00000001 , 0x00004783 
+ 00013696  0x000029f4 arg  0x0000477b , 0x00000013 
+ 00013697  0x000029f5 branch  0x00003544 
+ 00013698  0x000029fa arg  0x00000001 , 0x00000011 
+ 00013699  0x000029fb branch  0x00003585 
+ 00013700  0x000029fd arg  0x00000000 , 0x00000011 
+ 00013701  0x000029ff branch  0x0000358c 
+ 00013702  0x00002a02 arg  0x00000000 , 0x00000011 
+ 00013703  0x00002a03 call  0x00007d19 
+ 00013704  0x00002a04 arg  0x00000001 , 0x00000011 
+ 00013705  0x00002a05 call  0x00007d19 
+ 00013706  0x00002a06 fetch  0x00000001 , 0x000047a1 
+ 00013707  0x00002a07 branch  0x000069d7 
+ 00013708  0x00002a0a call  0x00007d04 
+ 00013709  0x00002a0b arg  0x00000007 , 0x00000039 
+ 00013710  0x00002a0c branch  0x00007d26 
+ 00013711  0x00002a11 arg  0x000046b8 , 0x00000013 
+ 00013712  0x00002a12 arg  0x0000469a , 0x00000012 
+ 00013713  0x00002a14 call  0x00003596 
+ 00013714  0x00002a15 call  0x00003584 
+ 00013715  0x00002a16 fetch  0x00000002 , 0x00004795 
+ 00013716  0x00002a17 store  0x00000002 , 0x00004793 
+ 00013717  0x00002a18 branch  0x000033fa 
+ 00013718  0x00002a1b ifetch  0x00000002 , 0x00000012 
+ 00013719  0x00002a1c store  0x00000002 , 0x00004154 
+ 00013720  0x00002a1d ifetch  0x00000002 , 0x00000006 
+ 00013721  0x00002a1e store  0x00000002 , 0x00004482 
+ 00013722  0x00002a1f rtn 
+ 00013723  0x00002a22 arg  0x00000000 , 0x00000011 
+ 00013724  0x00002a23 call  0x000069a6 
+ 00013725  0x00002a24 fetch  0x00000006 , 0x000047a1 
+ 00013726  0x00002a25 store  0x00000006 , 0x00000a9a 
+ 00013727  0x00002a26 call  0x000069ae 
+ 00013728  0x00002a27 fetch  0x00000001 , 0x000047a1 
+ 00013729  0x00002a28 branch  0x000069d7 
+ 00013730  0x00002a2b jam  0x00000001 , 0x0000479b 
+ 00013731  0x00002a2c rtn 
+ 00013732  0x00002a2e jam  0x00000000 , 0x0000479b 
+ 00013733  0x00002a2f rtn 
+ 00013734  0x00002a34 jam  0x00000000 , 0x0000479c 
+ 00013735  0x00002a35 fetch  0x00000001 , 0x000047a1 
+ 00013736  0x00002a36 branch  0x000069d7 
+ 00013737  0x00002a39 jam  0x00000001 , 0x0000479c 
+ 00013738  0x00002a3a fetch  0x00000006 , 0x000047a1 
+ 00013739  0x00002a3b store  0x00000006 , 0x00000a9a 
+ 00013740  0x00002a3c branch  0x000069ae 
+ 00013741  0x00002a41 jam  0x00000000 , 0x0000422d 
+ 00013742  0x00002a42 branch  0x000068a8 
+ 00013743  0x00002a45 call  0x000068eb 
+ 00013744  0x00002a46 call  0x00006908 
+ 00013745  0x00002a47 store  0x00000002 , 0x000047b0 
+ 00013746  0x00002a48 arg  0x000047aa , 0x00000011 
+ 00013747  0x00002a49 call  0x00006930 
+ 00013748  0x00002a4a store  0x00000001 , 0x000047a9 
+ 00013749  0x00002a4b beq  0x00000000 , 0x000035be 
+ 00013750  0x00002a4c sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00013751  0x00002a4d nbranch  0x000035bc , 0x00000002 
+ 00013752  0x00002a4e store  0x00000001 , 0x00004783 
+ 00013753  0x00002a50 jam  0x00000005 , 0x00004780 
+ 00013754  0x00002a51 arg  0x0000477b , 0x00000013 
+ 00013755  0x00002a52 branch  0x00003544 
+ 00013756  0x00002a54 jam  0x00000064 , 0x00004783 
+ 00013757  0x00002a55 branch  0x000035b9 
+ 00013758  0x00002a58 branch  0x0000341a 
+ 00013759  0x00002a5d rtn  0x0000002b 
+ 00013760  0x00002a5e hfetch  0x00000001 , 0x00008081 
+ 00013761  0x00002a5f and_into  0x000000f0 , 0x0000003f 
+ 00013762  0x00002a60 hstore  0x00000001 , 0x00008081 
+ 00013763  0x00002a61 setarg  0x00003631 
+ 00013764  0x00002a62 store  0x00000002 , 0x000041eb 
+ 00013765  0x00002a64 setarg  0x00003633 
+ 00013766  0x00002a65 store  0x00000002 , 0x000041ed 
+ 00013767  0x00002a67 setarg  0x0000340a 
+ 00013768  0x00002a68 store  0x00000002 , 0x000041f7 
+ 00013769  0x00002a6a setarg  0x00003635 
+ 00013770  0x00002a6b store  0x00000002 , 0x000041f3 
+ 00013771  0x00002a6d setarg  0x0000364b 
+ 00013772  0x00002a6e store  0x00000002 , 0x000041f5 
+ 00013773  0x00002a70 setarg  0x000033d0 
+ 00013774  0x00002a71 store  0x00000002 , 0x000041e9 
+ 00013775  0x00002a73 setarg  0x000036f6 
+ 00013776  0x00002a74 store  0x00000002 , 0x000041f9 
+ 00013777  0x00002a76 setarg  0x0000367a 
+ 00013778  0x00002a77 store  0x00000002 , 0x000041fd 
+ 00013779  0x00002a79 call  0x00002c7a 
+ 00013780  0x00002a7a setarg  0x00003722 
+ 00013781  0x00002a7b add  0x00000013 , 0x000000de , 0x00000005 
+ 00013782  0x00002a7c istore  0x00000002 , 0x00000005 
+ 00013783  0x00002a7e setarg  0x000035ed 
+ 00013784  0x00002a7f store  0x00000002 , 0x0000475b 
+ 00013785  0x00002a81 setarg  0x000035ef 
+ 00013786  0x00002a82 store  0x00000002 , 0x0000475f 
+ 00013787  0x00002a84 bpatch  0x000000cf , 0x00004019 
+ 00013788  0x00002a85 call  0x00003628 
+ 00013789  0x00002a86 call  0x00007e38 
+ 00013790  0x00002a87 jam  0x00000002 , 0x00004172 
+ 00013791  0x00002a88 jam  0x00000000 , 0x000049f6 
+ 00013792  0x00002a89 fetch  0x00000001 , 0x000047cb 
+ 00013793  0x00002a8a store  0x00000001 , 0x0000469a 
+ 00013794  0x00002a8b beq  0x00000000 , 0x000035ee 
+ 00013795  0x00002a8c fetch  0x00000001 , 0x000047cc 
+ 00013796  0x00002a8d store  0x00000001 , 0x00004686 
+ 00013797  0x00002a8e jam  0x00000000 , 0x0000436e 
+ 00013798  0x00002a90 call  0x0000360f 
+ 00013799  0x00002a91 call  0x00007cd3 
+ 00013800  0x00002a92 call  0x00007cdd 
+ 00013801  0x00002a93 jam  0x00000001 , 0x000047f3 
+ 00013802  0x00002a94 fetch  0x00000002 , 0x00004682 
+ 00013803  0x00002a95 rtnbit1  0x0000000c 
+ 00013804  0x00002a96 branch  0x0000340a 
+ 00013805  0x00002a99 branch  0x0000360f 
+ 00013806  0x00002a9c jam  0x00000002 , 0x000047f3 
+ 00013807  0x00002a9e jam  0x00000001 , 0x0000436e 
+ 00013808  0x00002a9f call  0x0000360f 
+ 00013809  0x00002aa0 arg  0x00000000 , 0x00000011 
+ 00013810  0x00002aa1 call  0x00007d1e 
+ 00013811  0x00002aa3 setarg  0x00000020 
+ 00013812  0x00002aa4 call  0x000046f0 
+ 00013813  0x00002aa6 arg  0x000043b7 , 0x00000005 
+ 00013814  0x00002aa7 fetch  0x00000001 , 0x000044a0 
+ 00013815  0x00002aa9 and  0x0000003f , 0x000000f0 , 0x00000002 
+ 00013816  0x00002aaa rshift4  0x00000002 , 0x00000002 
+ 00013817  0x00002aab call  0x00003609 
+ 00013818  0x00002aac istoret  0x00000001 , 0x00000005 
+ 00013819  0x00002aad and  0x0000003f , 0x0000000f , 0x00000002 
+ 00013820  0x00002aae call  0x00003609 
+ 00013821  0x00002aaf istoret  0x00000001 , 0x00000005 
+ 00013822  0x00002ab0 call  0x000057a6 
+ 00013823  0x00002ab1 fetcht  0x00000001 , 0x000043af 
+ 00013824  0x00002ab2 copy  0x00000002 , 0x00000039 
+ 00013825  0x00002ab3 arg  0x00004372 , 0x00000005 
+ 00013826  0x00002ab4 arg  0x000043b0 , 0x00000006 
+ 00013827  0x00002ab5 call  0x00007f01 
+ 00013828  0x00002ab7 fetcht  0x00000001 , 0x000043af 
+ 00013829  0x00002ab8 copy  0x00000002 , 0x00000039 
+ 00013830  0x00002ab9 arg  0x00004392 , 0x00000005 
+ 00013831  0x00002aba arg  0x000043b0 , 0x00000006 
+ 00013832  0x00002abb branch  0x00007f01 
+ 00013833  0x00002abd sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00013834  0x00002abe branch  0x0000360d , 0x00000002 
+ 00013835  0x00002abf add  0x00000002 , 0x00000037 , 0x00000002 
+ 00013836  0x00002ac0 rtn 
+ 00013837  0x00002ac2 add  0x00000002 , 0x00000030 , 0x00000002 
+ 00013838  0x00002ac3 rtn 
+ 00013839  0x00002ac6 fetch  0x00000001 , 0x000047c0 
+ 00013840  0x00002ac7 bne  0x000000ff , 0x00003621 
+ 00013841  0x00002ac9 fetch  0x00000001 , 0x000047be 
+ 00013842  0x00002aca bne  0x000000ff , 0x00003624 
+ 00013843  0x00002acc fetch  0x00000001 , 0x000047c9 
+ 00013844  0x00002acd bne  0x000000ff , 0x00003626 
+ 00013845  0x00002acf fetch  0x00000001 , 0x0000472c 
+ 00013846  0x00002ad0 copy  0x0000003f , 0x00000039 
+ 00013847  0x00002ad1 setarg  0x0000472d 
+ 00013848  0x00002ad2 copy  0x0000003f , 0x00000011 
+ 00013849  0x00002ad4 copy  0x00000011 , 0x00000006 
+ 00013850  0x00002ad5 ifetch  0x00000001 , 0x00000006 
+ 00013851  0x00002ad6 copy  0x00000006 , 0x00000011 
+ 00013852  0x00002ad7 beq  0x000000ff , 0x0000361f 
+ 00013853  0x00002ad8 copy  0x0000003f , 0x00000002 
+ 00013854  0x00002ad9 call  0x0000680e 
+ 00013855  0x00002adb loop  0x00003619 
+ 00013856  0x00002add rtn 
+ 00013857  0x00002adf fetch  0x00000008 , 0x000047c0 
+ 00013858  0x00002ae0 store  0x00000008 , 0x0000472f 
+ 00013859  0x00002ae1 branch  0x00003611 
+ 00013860  0x00002ae3 store  0x00000001 , 0x0000472d 
+ 00013861  0x00002ae4 branch  0x00003613 
+ 00013862  0x00002ae6 store  0x00000001 , 0x0000472e 
+ 00013863  0x00002ae7 branch  0x00003615 
+ 00013864  0x00002aeb arg  0x00000000 , 0x00000011 
+ 00013865  0x00002aec call  0x000069a6 
+ 00013866  0x00002aed call  0x000037e4 
+ 00013867  0x00002aee call  0x00002c7d 
+ 00013868  0x00002aef branch  0x0000362d 
+ 00013869  0x00002af2 jam  0x00000064 , 0x000047cf 
+ 00013870  0x00002af3 fetch  0x00000001 , 0x000047c9 
+ 00013871  0x00002af4 store  0x00000001 , 0x00004744 
+ 00013872  0x00002af5 branch  0x000068a8 
+ 00013873  0x00002af8 call  0x00006835 
+ 00013874  0x00002af9 branch  0x0000696c 
+ 00013875  0x00002afc branch  0x0000696c 
+ 00013876  0x00002b01 branch  0x00006978 
+ 00013877  0x00002b04 call  0x00003642 
+ 00013878  0x00002b05 call  0x000037ee 
+ 00013879  0x00002b06 call  0x00003639 
+ 00013880  0x00002b07 branch  0x00003634 
+ 00013881  0x00002b0a fetch  0x00000002 , 0x00004682 
+ 00013882  0x00002b0b rtnbit1  0x00000009 
+ 00013883  0x00002b0c fetch  0x00000001 , 0x000049f6 
+ 00013884  0x00002b0d beq  0x00000001 , 0x0000363e 
+ 00013885  0x00002b0e rtn 
+ 00013886  0x00002b10 fetch  0x00000001 , 0x000047ea 
+ 00013887  0x00002b11 rtneq  0x00000001 
+ 00013888  0x00002b12 jam  0x00000001 , 0x000047ea 
+ 00013889  0x00002b13 branch  0x00003654 
+ 00013890  0x00002b16 fetch  0x00000002 , 0x00004682 
+ 00013891  0x00002b17 rtnbit0  0x00000009 
+ 00013892  0x00002b18 call  0x00005892 
+ 00013893  0x00002b19 nrtn  0x00000034 
+ 00013894  0x00002b1a arg  0x00004718 , 0x00000011 
+ 00013895  0x00002b1b call  0x00007e54 
+ 00013896  0x00002b1c nrtn  0x00000028 
+ 00013897  0x00002b1d arg  0x00004718 , 0x00000006 
+ 00013898  0x00002b1e branch  0x00004746 
+ 00013899  0x00002b21 copy  0x00000013 , 0x0000003f 
+ 00013900  0x00002b22 beq  0x0000002d , 0x00003431 
+ 00013901  0x00002b23 beq  0x00000010 , 0x0000341a 
+ 00013902  0x00002b24 beq  0x00000014 , 0x00003651 
+ 00013903  0x00002b25 beq  0x00000015 , 0x00003660 
+ 00013904  0x00002b26 rtn 
+ 00013905  0x00002b29 setarg  0x00000000 
+ 00013906  0x00002b2a call  0x00003220 
+ 00013907  0x00002b2b branch  0x00003656 
+ 00013908  0x00002b2d fetch  0x00000002 , 0x000047eb 
+ 00013909  0x00002b2e store  0x00000002 , 0x000047ed 
+ 00013910  0x00002b30 jam  0x00000014 , 0x000047ce 
+ 00013911  0x00002b31 jam  0x00000000 , 0x00004091 
+ 00013912  0x00002b32 call  0x000033f8 
+ 00013913  0x00002b33 call  0x00003416 
+ 00013914  0x00002b34 fetch  0x00000001 , 0x000047bd 
+ 00013915  0x00002b35 beq  0x00000001 , 0x0000365e 
+ 00013916  0x00002b37 arg  0x00000000 , 0x00000011 
+ 00013917  0x00002b38 branch  0x00007d14 
+ 00013918  0x00002b3a arg  0x00000000 , 0x00000011 
+ 00013919  0x00002b3b branch  0x00007d19 
+ 00013920  0x00002b3e setarg  0x00000002 
+ 00013921  0x00002b3f call  0x00003220 
+ 00013922  0x00002b41 setarg  0x00000000 
+ 00013923  0x00002b42 store  0x00000005 , 0x0000479c 
+ 00013924  0x00002b43 setarg  0x00000004 
+ 00013925  0x00002b44 call  0x000069d7 
+ 00013926  0x00002b45 setarg  0x00000005 
+ 00013927  0x00002b46 call  0x000069d7 
+ 00013928  0x00002b47 setarg  0x00000014 
+ 00013929  0x00002b48 call  0x000069d7 
+ 00013930  0x00002b49 setarg  0x00000015 
+ 00013931  0x00002b4a call  0x000069d7 
+ 00013932  0x00002b4b setarg  0x00000016 
+ 00013933  0x00002b4c call  0x000069d7 
+ 00013934  0x00002b4d setarg  0x00000007 
+ 00013935  0x00002b4e call  0x000069d7 
+ 00013936  0x00002b4f call  0x00007e38 
+ 00013937  0x00002b50 jam  0x0000000a , 0x0000475e 
+ 00013938  0x00002b51 jam  0x0000000a , 0x00004760 
+ 00013939  0x00002b52 jam  0x0000000a , 0x00004762 
+ 00013940  0x00002b54 jam  0x00000002 , 0x00004172 
+ 00013941  0x00002b55 arg  0x00000000 , 0x00000011 
+ 00013942  0x00002b56 call  0x00007d1e 
+ 00013943  0x00002b58 setarg  0x00000020 
+ 00013944  0x00002b59 call  0x000046f0 
+ 00013945  0x00002b5a branch  0x000033fa 
+ 00013946  0x00002b5e call  0x0000373b 
+ 00013947  0x00002b5f call  0x0000373e 
+ 00013948  0x00002b60 call  0x00003741 
+ 00013949  0x00002b61 call  0x0000337b 
+ 00013950  0x00002b62 call  0x000036c8 
+ 00013951  0x00002b63 call  0x000036a1 
+ 00013952  0x00002b64 call  0x0000368a 
+ 00013953  0x00002b65 call  0x00003683 
+ 00013954  0x00002b66 branch  0x0000368f 
+ 00013955  0x00002b69 arg  0x0000479a , 0x00000013 
+ 00013956  0x00002b6a arg  0x00003686 , 0x00000012 
+ 00013957  0x00002b6b branch  0x0000336d 
+ 00013958  0x00002b6d call  0x00003847 
+ 00013959  0x00002b6e nrtn  0x00000001 
+ 00013960  0x00002b6f jam  0x00000001 , 0x0000479b 
+ 00013961  0x00002b70 rtn 
+ 00013962  0x00002b73 arg  0x000047ed , 0x00000013 
+ 00013963  0x00002b74 arg  0x0000368d , 0x00000012 
+ 00013964  0x00002b75 branch  0x00003374 
+ 00013965  0x00002b77 jam  0x00000002 , 0x000047ea 
+ 00013966  0x00002b78 branch  0x00003662 
+ 00013967  0x00002b7b arg  0x000047f1 , 0x00000013 
+ 00013968  0x00002b7c arg  0x00003692 , 0x00000012 
+ 00013969  0x00002b7d branch  0x0000336d 
+ 00013970  0x00002b7f fetch  0x00000001 , 0x000047f2 
+ 00013971  0x00002b80 branch  0x0000369e , 0x00000034 
+ 00013972  0x00002b81 jam  0x00000002 , 0x000047f1 
+ 00013973  0x00002b82 jam  0x00000000 , 0x000047f2 
+ 00013974  0x00002b83 setarg  0x00000a02 
+ 00013975  0x00002b84 store  0x00000002 , 0x00004752 
+ 00013976  0x00002b85 fetch  0x00000001 , 0x000047b9 
+ 00013977  0x00002b86 beq  0x00000003 , 0x0000369b 
+ 00013978  0x00002b88 branch  0x00003762 
+ 00013979  0x00002b8a setarg  0x00000a02 
+ 00013980  0x00002b8b store  0x00000002 , 0x00004754 
+ 00013981  0x00002b8c branch  0x00003762 
+ 00013982  0x00002b8e setarg  0x00000000 
+ 00013983  0x00002b8f store  0x00000004 , 0x00004752 
+ 00013984  0x00002b90 branch  0x00003762 
+ 00013985  0x00002b93 fetch  0x00000001 , 0x000047c8 
+ 00013986  0x00002b94 rtn  0x00000034 
+ 00013987  0x00002b95 fetch  0x00000002 , 0x00004682 
+ 00013988  0x00002b96 bbit0  0x00000009 , 0x000036c6 
+ 00013989  0x00002b97 arg  0x000047ce , 0x00000013 
+ 00013990  0x00002b98 arg  0x000036a8 , 0x00000012 
+ 00013991  0x00002b99 branch  0x0000336d 
+ 00013992  0x00002b9b fetch  0x00000001 , 0x000047cd 
+ 00013993  0x00002b9c store  0x00000001 , 0x000047ce 
+ 00013994  0x00002b9d fetch  0x00000001 , 0x000047d1 
+ 00013995  0x00002b9e nrtn  0x00000034 
+ 00013996  0x00002ba0 call  0x000068eb 
+ 00013997  0x00002ba1 call  0x00006908 
+ 00013998  0x00002ba2 store  0x00000002 , 0x000047e8 
+ 00013999  0x00002ba3 arg  0x000047e2 , 0x00000011 
+ 00014000  0x00002ba4 call  0x00006930 
+ 00014001  0x00002ba5 fetcht  0x00000001 , 0x000047cf 
+ 00014002  0x00002ba6 isub  0x00000002 , 0x0000003e 
+ 00014003  0x00002ba7 branch  0x000036b6 , 0x00000002 
+ 00014004  0x00002ba8 store  0x00000001 , 0x000047cf 
+ 00014005  0x00002ba9 copy  0x0000003f , 0x00000002 
+ 00014006  0x00002bab storet  0x00000001 , 0x000047d0 
+ 00014007  0x00002bac fetch  0x00000001 , 0x000047ca 
+ 00014008  0x00002bad isub  0x00000002 , 0x0000003e 
+ 00014009  0x00002bae call  0x000036c1 , 0x00000002 
+ 00014010  0x00002baf storet  0x00000001 , 0x000047db 
+ 00014011  0x00002bb0 arg  0x00000006 , 0x00000039 
+ 00014012  0x00002bb1 arg  0x000047d6 , 0x00000006 
+ 00014013  0x00002bb2 call  0x000036f0 
+ 00014014  0x00002bb3 store  0x00000001 , 0x000047dc 
+ 00014015  0x00002bb4 arg  0x000047d3 , 0x00000011 
+ 00014016  0x00002bb5 branch  0x00007e3d 
+ 00014017  0x00002bb7 fetch  0x00000001 , 0x000047d2 
+ 00014018  0x00002bb8 nrtn  0x00000034 
+ 00014019  0x00002bb9 jam  0x00000001 , 0x000047d2 
+ 00014020  0x00002bba arg  0x00000001 , 0x00000011 
+ 00014021  0x00002bbb branch  0x00007d1e 
+ 00014022  0x00002bbd arg  0x00000001 , 0x00000011 
+ 00014023  0x00002bbe branch  0x00007d19 
+ 00014024  0x00002bc1 arg  0x000047a4 , 0x00000013 
+ 00014025  0x00002bc2 arg  0x000036cb , 0x00000012 
+ 00014026  0x00002bc3 branch  0x0000336d 
+ 00014027  0x00002bc5 jam  0x00000005 , 0x000047a4 
+ 00014028  0x00002bc6 jam  0x00000000 , 0x000047a6 
+ 00014029  0x00002bc7 fetch  0x00000001 , 0x000047a5 
+ 00014030  0x00002bc8 beq  0x00000001 , 0x000036ee 
+ 00014031  0x00002bc9 beq  0x00000000 , 0x000036ec 
+ 00014032  0x00002bcb arg  0x0000479c , 0x00000006 
+ 00014033  0x00002bcc copy  0x00000006 , 0x00000011 
+ 00014034  0x00002bcd arg  0x00000008 , 0x00000039 
+ 00014035  0x00002bcf copy  0x00000011 , 0x00000006 
+ 00014036  0x00002bd0 ifetch  0x00000001 , 0x00000006 
+ 00014037  0x00002bd1 copy  0x00000006 , 0x00000011 
+ 00014038  0x00002bd2 beq  0x00000000 , 0x000036e3 
+ 00014039  0x00002bd3 beq  0x00000001 , 0x000036e6 
+ 00014040  0x00002bd4 beq  0x00000002 , 0x000036e9 
+ 00014041  0x00002bd6 fetch  0x00000001 , 0x000047a6 
+ 00014042  0x00002bd7 increase  0x00000001 , 0x0000003f 
+ 00014043  0x00002bd8 store  0x00000001 , 0x000047a6 
+ 00014044  0x00002bd9 loop  0x000036d3 
+ 00014045  0x00002bda rtn 
+ 00014046  0x00002bdc fetch  0x00000001 , 0x000047a6 
+ 00014047  0x00002bdd arg  0x000047c0 , 0x00000012 
+ 00014048  0x00002bde iadd  0x00000012 , 0x00000012 
+ 00014049  0x00002bdf ifetcht  0x00000001 , 0x00000012 
+ 00014050  0x00002be0 rtn 
+ 00014051  0x00002be2 call  0x000036de 
+ 00014052  0x00002be3 call  0x00006825 
+ 00014053  0x00002be4 branch  0x000036d9 
+ 00014054  0x00002be6 call  0x000036de 
+ 00014055  0x00002be7 call  0x00006829 
+ 00014056  0x00002be8 branch  0x000036d9 
+ 00014057  0x00002bea fetch  0x00000001 , 0x000047a5 
+ 00014058  0x00002beb beq  0x00000001 , 0x000036e3 
+ 00014059  0x00002bec branch  0x000036e6 
+ 00014060  0x00002bee jam  0x00000001 , 0x000047a5 
+ 00014061  0x00002bef branch  0x000036d0 
+ 00014062  0x00002bf1 jam  0x00000000 , 0x000047a5 
+ 00014063  0x00002bf2 branch  0x000036d0 
+ 00014064  0x00002bf7 arg  0x00000000 , 0x00000011 
+ 00014065  0x00002bf9 ifetch  0x00000001 , 0x00000006 
+ 00014066  0x00002bfa iadd  0x00000011 , 0x00000011 
+ 00014067  0x00002bfb loop  0x000036f1 
+ 00014068  0x00002bfd and  0x00000011 , 0x000000ff , 0x0000003f 
+ 00014069  0x00002bfe rtn 
+ 00014070  0x00002c01 fetch  0x00000001 , 0x00000477 
+ 00014071  0x00002c02 beq  0x00000012 , 0x000036f9 
+ 00014072  0x00002c03 rtn 
+ 00014073  0x00002c05 fetch  0x00000002 , 0x00000478 
+ 00014074  0x00002c06 beq  0x00000014 , 0x00003710 
+ 00014075  0x00002c07 rtn 
+ 00014076  0x00002c14 bpatch  0x000000d0 , 0x0000401a 
+ 00014077  0x00002c15 ifetch  0x00000005 , 0x00000011 
+ 00014078  0x00002c16 store  0x00000005 , 0x00000b12 
+ 00014079  0x00002c17 fetch  0x00000002 , 0x00000b12 
+ 00014080  0x00002c18 arg  0x00006b5a , 0x00000002 
+ 00014081  0x00002c19 isub  0x00000002 , 0x0000003e 
+ 00014082  0x00002c1a nrtn  0x00000005 
+ 00014083  0x00002c1b fetch  0x00000002 , 0x00000b15 
+ 00014084  0x00002c1c byteswap  0x0000003f , 0x0000003f 
+ 00014085  0x00002c1d store  0x00000002 , 0x00000b15 
+ 00014086  0x00002c1e copy  0x0000003f , 0x00000039 
+ 00014087  0x00002c1f increase  0x00000005 , 0x00000011 
+ 00014088  0x00002c20 copy  0x00000011 , 0x00000006 
+ 00014089  0x00002c21 arg  0x00000b17 , 0x00000005 
+ 00014090  0x00002c22 call  0x00007f01 
+ 00014091  0x00002c23 ifetch  0x00000001 , 0x00000006 
+ 00014092  0x00002c24 store  0x00000001 , 0x00000b21 
+ 00014093  0x00002c25 arg  0x00000b14 , 0x00000011 
+ 00014094  0x00002c26 arg  0x00000b17 , 0x00000012 
+ 00014095  0x00002c27 rtn 
+ 00014096  0x00002c2a setarg  0x00000000 
+ 00014097  0x00002c2b store  0x00000005 , 0x00004752 
+ 00014098  0x00002c2c store  0x00000005 , 0x00004757 
+ 00014099  0x00002c2d call  0x000036fc 
+ 00014100  0x00002c2e copy  0x00000012 , 0x00000006 
+ 00014101  0x00002c2f arg  0x00004752 , 0x00000005 
+ 00014102  0x00002c30 arg  0x0000000a , 0x00000039 
+ 00014103  0x00002c31 call  0x00007f01 
+ 00014104  0x00002c33 bpatch  0x000000d1 , 0x0000401a 
+ 00014105  0x00002c34 ifetch  0x00000001 , 0x00000011 
+ 00014106  0x00002c35 beq  0x00000002 , 0x0000374a 
+ 00014107  0x00002c36 beq  0x00000003 , 0x0000375c 
+ 00014108  0x00002c37 beq  0x00000004 , 0x00003762 
+ 00014109  0x00002c38 beq  0x00000005 , 0x00003762 
+ 00014110  0x00002c39 beq  0x00000006 , 0x000037b1 
+ 00014111  0x00002c3a beq  0x00000007 , 0x00003849 
+ 00014112  0x00002c3b beq  0x00000008 , 0x0000384c 
+ 00014113  0x00002c3c rtn 
+ 00014114  0x00002c3f fetch  0x00000002 , 0x00004682 
+ 00014115  0x00002c40 rtnbit1  0x00000009 
+ 00014116  0x00002c42 fetch  0x00000002 , 0x000047eb 
+ 00014117  0x00002c43 store  0x00000002 , 0x000047ed 
+ 00014118  0x00002c45 jam  0x00000001 , 0x000049f6 
+ 00014119  0x00002c47 setarg  0x0000010c 
+ 00014120  0x00002c48 call  0x000032cd 
+ 00014121  0x00002c49 call  0x00003710 
+ 00014122  0x00002c4b fetch  0x00000001 , 0x00000b14 
+ 00014123  0x00002c4c beq  0x00000004 , 0x0000372e 
+ 00014124  0x00002c4d beq  0x00000005 , 0x0000372e 
+ 00014125  0x00002c4e rtn 
+ 00014126  0x00002c50 fetch  0x00000001 , 0x00004752 
+ 00014127  0x00002c51 ncall  0x00003735 , 0x00000034 
+ 00014128  0x00002c52 fetch  0x00000001 , 0x00004754 
+ 00014129  0x00002c53 ncall  0x00003737 , 0x00000034 
+ 00014130  0x00002c54 fetch  0x00000001 , 0x00004756 
+ 00014131  0x00002c55 ncall  0x00003739 , 0x00000034 
+ 00014132  0x00002c56 rtn 
+ 00014133  0x00002c59 jam  0x00000005 , 0x000049f3 
+ 00014134  0x00002c5a rtn 
+ 00014135  0x00002c5c jam  0x00000005 , 0x000049f4 
+ 00014136  0x00002c5d rtn 
+ 00014137  0x00002c5f jam  0x00000005 , 0x000049f5 
+ 00014138  0x00002c60 rtn 
+ 00014139  0x00002c63 arg  0x000049f3 , 0x00000013 
+ 00014140  0x00002c64 arg  0x00003744 , 0x00000012 
+ 00014141  0x00002c65 branch  0x0000336d 
+ 00014142  0x00002c67 arg  0x000049f4 , 0x00000013 
+ 00014143  0x00002c68 arg  0x00003746 , 0x00000012 
+ 00014144  0x00002c69 branch  0x0000336d 
+ 00014145  0x00002c6b arg  0x000049f5 , 0x00000013 
+ 00014146  0x00002c6c arg  0x00003748 , 0x00000012 
+ 00014147  0x00002c6d branch  0x0000336d 
+ 00014148  0x00002c70 jam  0x00000000 , 0x00004752 
+ 00014149  0x00002c71 branch  0x00003762 
+ 00014150  0x00002c73 jam  0x00000000 , 0x00004754 
+ 00014151  0x00002c74 branch  0x00003762 
+ 00014152  0x00002c76 jam  0x00000000 , 0x00004756 
+ 00014153  0x00002c77 branch  0x00003762 
+ 00014154  0x00002c7d call  0x0000374c 
+ 00014155  0x00002c7e branch  0x0000374f 
+ 00014156  0x00002c80 fetch  0x00000001 , 0x00004752 
+ 00014157  0x00002c81 store  0x00000001 , 0x0000475f 
+ 00014158  0x00002c82 branch  0x00003773 
+ 00014159  0x00002c84 fetch  0x00000001 , 0x0000475e 
+ 00014160  0x00002c85 call  0x00003754 
+ 00014161  0x00002c86 fetch  0x00000001 , 0x00004753 
+ 00014162  0x00002c87 store  0x00000001 , 0x0000475d 
+ 00014163  0x00002c88 branch  0x00003770 
+ 00014164  0x00002c8a beq  0x00000002 , 0x00003758 
+ 00014165  0x00002c8b beq  0x00000003 , 0x0000375a 
+ 00014166  0x00002c8c store  0x00000001 , 0x0000475e 
+ 00014167  0x00002c8d rtn 
+ 00014168  0x00002c8f jam  0x00000005 , 0x0000475e 
+ 00014169  0x00002c90 rtn 
+ 00014170  0x00002c92 jam  0x0000000a , 0x0000475e 
+ 00014171  0x00002c93 rtn 
+ 00014172  0x00002c95 fetch  0x00000001 , 0x00004752 
+ 00014173  0x00002c96 call  0x00003754 
+ 00014174  0x00002c97 fetch  0x00000001 , 0x0000475e 
+ 00014175  0x00002c98 call  0x0000379e 
+ 00014176  0x00002c99 call  0x000037a1 
+ 00014177  0x00002c9a branch  0x000069c4 
+ 00014178  0x00002c9d fetch  0x00000001 , 0x000047f0 
+ 00014179  0x00002c9e nrtn  0x00000034 
+ 00014180  0x00002c9f fetch  0x00000006 , 0x00004752 
+ 00014181  0x00002ca0 store  0x00000006 , 0x0000475d 
+ 00014182  0x00002ca1 fetch  0x00000001 , 0x0000475e 
+ 00014183  0x00002ca2 fetcht  0x00000001 , 0x00004760 
+ 00014184  0x00002ca3 iand  0x00000002 , 0x0000003f 
+ 00014185  0x00002ca4 fetcht  0x00000001 , 0x00004762 
+ 00014186  0x00002ca5 iand  0x00000002 , 0x0000003f 
+ 00014187  0x00002ca6 call  0x00003779 , 0x00000034 
+ 00014188  0x00002ca7 bpatch  0x000000d2 , 0x0000401a 
+ 00014189  0x00002ca8 call  0x00003770 
+ 00014190  0x00002ca9 call  0x00003773 
+ 00014191  0x00002caa branch  0x00003776 
+ 00014192  0x00002cac arg  0x00004763 , 0x00000012 
+ 00014193  0x00002cad arg  0x0000475d , 0x00000006 
+ 00014194  0x00002cae branch  0x0000377b 
+ 00014195  0x00002cb0 arg  0x0000476b , 0x00000012 
+ 00014196  0x00002cb1 arg  0x0000475f , 0x00000006 
+ 00014197  0x00002cb2 branch  0x0000377b 
+ 00014198  0x00002cb4 arg  0x00004773 , 0x00000012 
+ 00014199  0x00002cb5 arg  0x00004761 , 0x00000006 
+ 00014200  0x00002cb6 branch  0x0000377b 
+ 00014201  0x00002cb8 jam  0x00000000 , 0x000047d1 
+ 00014202  0x00002cb9 rtn 
+ 00014203  0x00002cbc ifetch  0x00000001 , 0x00000006 
+ 00014204  0x00002cbd beq  0x00000000 , 0x00003787 
+ 00014205  0x00002cbe beq  0x00000001 , 0x00003780 
+ 00014206  0x00002cbf beq  0x00000002 , 0x00003782 
+ 00014207  0x00002cc0 rtn 
+ 00014208  0x00002cc2 jam  0x00000000 , 0x0000477b 
+ 00014209  0x00002cc3 branch  0x00003783 
+ 00014210  0x00002cc5 jam  0x00000001 , 0x0000477b 
+ 00014211  0x00002cc6 ifetch  0x00000001 , 0x00000006 
+ 00014212  0x00002cc7 store  0x00000001 , 0x0000477d 
+ 00014213  0x00002cc8 ifetch  0x00000008 , 0x00000012 
+ 00014214  0x00002cc9 branch  0x0000378c 
+ 00014215  0x00002ccc ifetch  0x00000001 , 0x00000012 
+ 00014216  0x00002ccd call  0x000069d7 
+ 00014217  0x00002cce increase  0x00000001 , 0x00000012 
+ 00014218  0x00002ccf ifetch  0x00000001 , 0x00000012 
+ 00014219  0x00002cd0 branch  0x000069d7 
+ 00014220  0x00002cd2 store  0x00000008 , 0x0000477e 
+ 00014221  0x00002cd3 jam  0x00000001 , 0x000047d1 
+ 00014222  0x00002cd4 fetch  0x00000001 , 0x0000477b 
+ 00014223  0x00002cd5 beq  0x00000000 , 0x0000379a 
+ 00014224  0x00002cd7 fetch  0x00000001 , 0x0000477f 
+ 00014225  0x00002cd8 store  0x00000001 , 0x00004780 
+ 00014226  0x00002cd9 fetch  0x00000001 , 0x0000477e 
+ 00014227  0x00002cdb call  0x000069d7 
+ 00014228  0x00002cdc fetch  0x00000001 , 0x0000477d 
+ 00014229  0x00002cdd call  0x0000379e 
+ 00014230  0x00002cde store  0x00000001 , 0x00004785 
+ 00014231  0x00002cdf fetch  0x00000006 , 0x00004780 
+ 00014232  0x00002ce0 store  0x00000006 , 0x00000a9a 
+ 00014233  0x00002ce1 branch  0x000069ae 
+ 00014234  0x00002ce3 fetch  0x00000001 , 0x0000477e 
+ 00014235  0x00002ce4 store  0x00000001 , 0x00004780 
+ 00014236  0x00002ce5 fetch  0x00000001 , 0x0000477f 
+ 00014237  0x00002ce6 branch  0x00003793 
+ 00014238  0x00002ce9 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00014239  0x00002cea add  0x0000003f , 0x00000032 , 0x0000003f 
+ 00014240  0x00002ceb rtn 
+ 00014241  0x00002ced arg  0x00002ee0 , 0x00000002 
+ 00014242  0x00002cee imul32  0x00000002 , 0x0000003f 
+ 00014243  0x00002cef div  0x0000003f , 0x00000064 
+ 00014244  0x00002cf0 call  0x00007f86 
+ 00014245  0x00002cf1 quotient  0x00000002 
+ 00014246  0x00002cf2 copy  0x00000002 , 0x00000011 
+ 00014247  0x00002cf3 setarg  0x00002ee0 
+ 00014248  0x00002cf4 isub  0x00000002 , 0x00000012 
+ 00014249  0x00002cf5 rtn 
+ 00014250  0x00002cf9 hfetch  0x00000001 , 0x00008082 
+ 00014251  0x00002cfa set1  0x00000002 , 0x0000003f 
+ 00014252  0x00002cfb hstore  0x00000001 , 0x00008082 
+ 00014253  0x00002cfc setarg  0x0000009e 
+ 00014254  0x00002cfd hstore  0x00000002 , 0x00008068 
+ 00014255  0x00002cfe hstore  0x00000002 , 0x0000806a 
+ 00014256  0x00002cff rtn 
+ 00014257  0x00002d02 fetch  0x00000001 , 0x000047f0 
+ 00014258  0x00002d03 nrtn  0x00000034 
+ 00014259  0x00002d04 fetch  0x00000002 , 0x00004752 
+ 00014260  0x00002d05 store  0x00000002 , 0x00004787 
+ 00014261  0x00002d06 fetch  0x00000001 , 0x000047ea 
+ 00014262  0x00002d07 bne  0x00000001 , 0x000037b9 
+ 00014263  0x00002d08 fetch  0x00000002 , 0x000044a0 
+ 00014264  0x00002d09 store  0x00000002 , 0x00004787 
+ 00014265  0x00002d0b bpatch  0x000000d3 , 0x0000401a 
+ 00014266  0x00002d0c call  0x000037aa 
+ 00014267  0x00002d0d call  0x000037dc 
+ 00014268  0x00002d0e setarg  0x0000bb80 
+ 00014269  0x00002d0f call  0x00002a8f 
+ 00014270  0x00002d10 call  0x000037e0 
+ 00014271  0x00002d11 setarg  0x00001c20 
+ 00014272  0x00002d12 call  0x00002a8f 
+ 00014273  0x00002d13 arg  0x00000010 , 0x00000039 
+ 00014274  0x00002d15 call  0x000037dc 
+ 00014275  0x00002d16 fetch  0x00000002 , 0x00004787 
+ 00014276  0x00002d17 bbit1  0x00000000 , 0x000037c9 
+ 00014277  0x00002d18 setarg  0x00001c20 
+ 00014278  0x00002d19 call  0x00002a8f 
+ 00014279  0x00002d1a call  0x000037e0 
+ 00014280  0x00002d1b branch  0x000037cc 
+ 00014281  0x00002d1e setarg  0x00003840 
+ 00014282  0x00002d1f call  0x00002a8f 
+ 00014283  0x00002d20 call  0x000037e0 
+ 00014284  0x00002d22 setarg  0x00001c20 
+ 00014285  0x00002d23 call  0x00002a8f 
+ 00014286  0x00002d24 fetch  0x00000002 , 0x00004787 
+ 00014287  0x00002d25 rshift  0x0000003f , 0x0000003f 
+ 00014288  0x00002d26 store  0x00000002 , 0x00004787 
+ 00014289  0x00002d27 loop  0x000037c2 
+ 00014290  0x00002d29 jam  0x00000002 , 0x000047f1 
+ 00014291  0x00002d2a jam  0x00000001 , 0x000047f2 
+ 00014292  0x00002d2b setarg  0x00000a01 
+ 00014293  0x00002d2c store  0x00000002 , 0x00004752 
+ 00014294  0x00002d2d fetch  0x00000001 , 0x000047b9 
+ 00014295  0x00002d2e beq  0x00000003 , 0x000037d9 
+ 00014296  0x00002d30 branch  0x00003762 
+ 00014297  0x00002d32 setarg  0x00000a01 
+ 00014298  0x00002d33 store  0x00000002 , 0x00004754 
+ 00014299  0x00002d34 branch  0x00003762 
+ 00014300  0x00002d37 hfetch  0x00000001 , 0x00008085 
+ 00014301  0x00002d38 or_into  0x00000040 , 0x0000003f 
+ 00014302  0x00002d39 hstore  0x00000001 , 0x00008085 
+ 00014303  0x00002d3a rtn 
+ 00014304  0x00002d3c hfetch  0x00000001 , 0x00008085 
+ 00014305  0x00002d3d and_into  0x000000bf , 0x0000003f 
+ 00014306  0x00002d3e hstore  0x00000001 , 0x00008085 
+ 00014307  0x00002d3f rtn 
+ 00014308  0x00002d42 fetch  0x00000001 , 0x000047bb 
+ 00014309  0x00002d43 rtneq  0x00000000 
+ 00014310  0x00002d44 call  0x00002c65 
+ 00014311  0x00002d45 fetcht  0x00000001 , 0x000047bc 
+ 00014312  0x00002d46 storet  0x00000001 , 0x00004786 
+ 00014313  0x00002d47 call  0x000067fb 
+ 00014314  0x00002d48 call  0x00003847 
+ 00014315  0x00002d49 nrtn  0x00000001 
+ 00014316  0x00002d4a jam  0x00000001 , 0x0000479a 
+ 00014317  0x00002d4b rtn 
+ 00014318  0x00002d4e fetch  0x00000001 , 0x000047bb 
+ 00014319  0x00002d4f rtneq  0x00000000 
+ 00014320  0x00002d50 fetch  0x00000001 , 0x0000479b 
+ 00014321  0x00002d51 nrtn  0x00000034 
+ 00014322  0x00002d52 fetch  0x00000002 , 0x00004682 
+ 00014323  0x00002d53 bbit1  0x00000009 , 0x000037f6 
+ 00014324  0x00002d54 fetch  0x00000001 , 0x000047ea 
+ 00014325  0x00002d55 rtnne  0x00000001 
+ 00014326  0x00002d57 bpatch  0x000000d4 , 0x0000401a 
+ 00014327  0x00002d58 call  0x00003847 
+ 00014328  0x00002d59 nrtn  0x00000001 
+ 00014329  0x00002d5a setarg  0x00008ca0 
+ 00014330  0x00002d5b call  0x00002a8f 
+ 00014331  0x00002d5c call  0x00003847 
+ 00014332  0x00002d5d nrtn  0x00000001 
+ 00014333  0x00002d5e call  0x0000383f 
+ 00014334  0x00002d60 call  0x00003842 
+ 00014335  0x00002d61 nrtn  0x00000002 
+ 00014336  0x00002d62 call  0x00003847 
+ 00014337  0x00002d63 branch  0x000037fe , 0x00000001 
+ 00014338  0x00002d64 arg  0x00000000 , 0x00000011 
+ 00014339  0x00002d65 arg  0x00000010 , 0x00000039 
+ 00014340  0x00002d66 call  0x0000383f 
+ 00014341  0x00002d68 call  0x00003842 
+ 00014342  0x00002d69 nrtn  0x00000002 
+ 00014343  0x00002d6a call  0x00003847 
+ 00014344  0x00002d6b nbranch  0x00003805 , 0x00000001 
+ 00014345  0x00002d6c setarg  0x00002a30 
+ 00014346  0x00002d6d call  0x00002a8f 
+ 00014347  0x00002d6e call  0x00003847 
+ 00014348  0x00002d6f branch  0x00003812 , 0x00000001 
+ 00014349  0x00002d71 setarg  0x00000000 
+ 00014350  0x00002d72 rshift  0x00000011 , 0x00000011 
+ 00014351  0x00002d73 ior  0x00000011 , 0x00000011 
+ 00014352  0x00002d74 loop  0x00003805 
+ 00014353  0x00002d75 branch  0x0000381b 
+ 00014354  0x00002d77 setarg  0x00008000 
+ 00014355  0x00002d78 rshift  0x00000011 , 0x00000011 
+ 00014356  0x00002d79 ior  0x00000011 , 0x00000011 
+ 00014357  0x00002d7a call  0x0000383f 
+ 00014358  0x00002d7c call  0x00003842 
+ 00014359  0x00002d7d nrtn  0x00000002 
+ 00014360  0x00002d7e call  0x00003847 
+ 00014361  0x00002d7f branch  0x00003816 , 0x00000001 
+ 00014362  0x00002d80 loop  0x00003805 
+ 00014363  0x00002d82 bpatch  0x000000d5 , 0x0000401a 
+ 00014364  0x00002d83 copy  0x00000011 , 0x0000003f 
+ 00014365  0x00002d84 store  0x00000002 , 0x00004789 
+ 00014366  0x00002d85 store  0x00000002 , 0x00004797 
+ 00014367  0x00002d86 fetch  0x00000001 , 0x000047ea 
+ 00014368  0x00002d87 beq  0x00000001 , 0x00003827 
+ 00014369  0x00002d89 arg  0x00000007 , 0x00000039 
+ 00014370  0x00002d8a arg  0x00004792 , 0x00000006 
+ 00014371  0x00002d8b call  0x000036f0 
+ 00014372  0x00002d8c store  0x00000001 , 0x00004799 
+ 00014373  0x00002d8d arg  0x0000478f , 0x00000011 
+ 00014374  0x00002d8e branch  0x00007e3d 
+ 00014375  0x00002d91 fetch  0x00000001 , 0x000047ef 
+ 00014376  0x00002d92 increase  0x00000001 , 0x0000003f 
+ 00014377  0x00002d93 store  0x00000001 , 0x000047ef 
+ 00014378  0x00002d94 div  0x0000003f , 0x00000002 
+ 00014379  0x00002d95 call  0x00007f86 
+ 00014380  0x00002d96 quotient  0x00000002 
+ 00014381  0x00002d97 remainder  0x0000003f 
+ 00014382  0x00002d98 nbranch  0x00003838 , 0x00000034 
+ 00014383  0x00002d9a fetch  0x00000001 , 0x000047bf 
+ 00014384  0x00002d9b isub  0x00000002 , 0x0000003e 
+ 00014385  0x00002d9c call  0x0000383d , 0x00000005 
+ 00014386  0x00002d9d arg  0x0000479c , 0x0000003f 
+ 00014387  0x00002d9e increase  0xffffffff , 0x00000002 
+ 00014388  0x00002d9f iadd  0x00000002 , 0x00000011 
+ 00014389  0x00002da0 arg  0x00000000 , 0x0000003f 
+ 00014390  0x00002da1 istore  0x00000001 , 0x00000011 
+ 00014391  0x00002da2 rtn 
+ 00014392  0x00002da4 arg  0x0000479c , 0x0000003f 
+ 00014393  0x00002da5 iadd  0x00000002 , 0x00000011 
+ 00014394  0x00002da6 arg  0x00000002 , 0x0000003f 
+ 00014395  0x00002da7 istore  0x00000001 , 0x00000011 
+ 00014396  0x00002da8 rtn 
+ 00014397  0x00002daa jam  0x00000001 , 0x000047f0 
+ 00014398  0x00002dab rtn 
+ 00014399  0x00002dad copy  0x00000022 , 0x0000003f 
+ 00014400  0x00002dae store  0x00000004 , 0x0000478b 
+ 00014401  0x00002daf rtn 
+ 00014402  0x00002db1 copy  0x00000022 , 0x0000003f 
+ 00014403  0x00002db2 fetcht  0x00000004 , 0x0000478b 
+ 00014404  0x00002db3 isub  0x00000002 , 0x0000003f 
+ 00014405  0x00002db4 sub  0x0000003f , 0x000000c8 , 0x0000003e 
+ 00014406  0x00002db5 rtn 
+ 00014407  0x00002db8 fetcht  0x00000001 , 0x00004786 
+ 00014408  0x00002db9 branch  0x0000681d 
+ 00014409  0x00002dbc fetch  0x00000008 , 0x00004752 
+ 00014410  0x00002dbd store  0x00000008 , 0x0000479c 
+ 00014411  0x00002dbe rtn 
+ 00014412  0x00002dc1 fetch  0x00000001 , 0x000047b9 
+ 00014413  0x00002dc2 store  0x00000001 , 0x000047af 
+ 00014414  0x00002dc3 fetch  0x00000001 , 0x000047ba 
+ 00014415  0x00002dc4 store  0x00000001 , 0x000047b0 
+ 00014416  0x00002dc5 fetch  0x00000001 , 0x000047bb 
+ 00014417  0x00002dc6 store  0x00000001 , 0x000047b1 
+ 00014418  0x00002dc7 arg  0x0000000d , 0x00000039 
+ 00014419  0x00002dc8 arg  0x000047aa , 0x00000006 
+ 00014420  0x00002dc9 call  0x000036f0 
+ 00014421  0x00002dca store  0x00000001 , 0x000047b7 
+ 00014422  0x00002dcb arg  0x000047a7 , 0x00000011 
+ 00014423  0x00002dcc branch  0x00007e3d 
+ 00014424  0x00002dd3 call  0x000065c2 
+ 00014425  0x00002dd4 jam  0x0000007a , 0x000046f6 
+ 00014426  0x00002dd5 call  0x0000386d 
+ 00014427  0x00002dd6 call  0x00003867 
+ 00014428  0x00002dd7 setarg  0x00003860 
+ 00014429  0x00002dd8 store  0x00000002 , 0x000041fd 
+ 00014430  0x00002dd9 arg  0x00000000 , 0x00000011 
+ 00014431  0x00002dda branch  0x000069a6 
+ 00014432  0x00002ddd fetch  0x00000002 , 0x000046a1 
+ 00014433  0x00002dde rtn  0x00000034 
+ 00014434  0x00002ddf increase  0xffffffff , 0x0000003f 
+ 00014435  0x00002de0 store  0x00000002 , 0x000046a1 
+ 00014436  0x00002de1 rtnne  0x00000000 
+ 00014437  0x00002de2 jam  0x00000000 , 0x000046a0 
+ 00014438  0x00002de3 rtn 
+ 00014439  0x00002de6 bpatch  0x000000d6 , 0x0000401a 
+ 00014440  0x00002de7 fetch  0x00000001 , 0x000046a4 
+ 00014441  0x00002de8 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00014442  0x00002de9 rtn  0x00000002 
+ 00014443  0x00002dea jam  0x00000000 , 0x000046a4 
+ 00014444  0x00002deb rtn 
+ 00014445  0x00002dee arg  0x000046a4 , 0x00000011 
+ 00014446  0x00002def arg  0x00000000 , 0x00000012 
+ 00014447  0x00002df0 arg  0x00000051 , 0x00000002 
+ 00014448  0x00002df1 branch  0x000065df 
+ 00014449  0x00002df5 disable  0x00000028 
+ 00014450  0x00002df6 fetch  0x00000001 , 0x000046a3 
+ 00014451  0x00002df7 copy  0x0000003f , 0x00000039 
+ 00014452  0x00002df9 arg  0x000046a5 , 0x00000011 
+ 00014453  0x00002dfa copy  0x00000013 , 0x00000012 
+ 00014454  0x00002dfc bpatch  0x000000d7 , 0x0000401a 
+ 00014455  0x00002dfd call  0x0000387c 
+ 00014456  0x00002dfe branch  0x00007fe7 , 0x00000005 
+ 00014457  0x00002e00 increase  0x00000004 , 0x00000011 
+ 00014458  0x00002e01 loop  0x00003876 
+ 00014459  0x00002e02 rtn 
+ 00014460  0x00002e06 bpatch  0x000000d8 , 0x0000401b 
+ 00014461  0x00002e07 ifetch  0x00000003 , 0x00000011 
+ 00014462  0x00002e08 ifetcht  0x00000003 , 0x00000012 
+ 00014463  0x00002e09 isub  0x00000002 , 0x0000003e 
+ 00014464  0x00002e0a rtn 
+ 00014465  0x00002e0d bpatch  0x000000d9 , 0x0000401b 
+ 00014466  0x00002e0e ifetch  0x00000003 , 0x00000011 
+ 00014467  0x00002e0f ifetcht  0x00000003 , 0x00000012 
+ 00014468  0x00002e10 isub  0x00000002 , 0x0000003e 
+ 00014469  0x00002e11 nrtn  0x00000005 
+ 00014470  0x00002e12 ifetch  0x00000001 , 0x00000006 
+ 00014471  0x00002e13 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00014472  0x00002e14 rtn  0x00000005 
+ 00014473  0x00002e15 add  0x00000011 , 0x00000003 , 0x00000006 
+ 00014474  0x00002e16 ifetcht  0x00000001 , 0x00000006 
+ 00014475  0x00002e17 isub  0x00000002 , 0x0000003e 
+ 00014476  0x00002e18 rtn 
+ 00014477  0x00002e1c bpatch  0x000000da , 0x0000401b 
+ 00014478  0x00002e1d disable  0x00000028 
+ 00014479  0x00002e1e fetch  0x00000001 , 0x000046a3 
+ 00014480  0x00002e1f copy  0x0000003f , 0x00000039 
+ 00014481  0x00002e21 arg  0x000046a5 , 0x00000011 
+ 00014482  0x00002e22 copy  0x00000013 , 0x00000012 
+ 00014483  0x00002e24 call  0x00003881 
+ 00014484  0x00002e25 branch  0x00007fe7 , 0x00000005 
+ 00014485  0x00002e26 increase  0x00000004 , 0x00000011 
+ 00014486  0x00002e27 loop  0x00003893 
+ 00014487  0x00002e28 rtn 
+ 00014488  0x00002e2c fetch  0x00000001 , 0x00000004 
+ 00014489  0x00002e2d increase  0x00000001 , 0x0000003f 
+ 00014490  0x00002e2e store  0x00000001 , 0x00000004 
+ 00014491  0x00002e2f arg  0x000002e5 , 0x00000013 
+ 00014492  0x00002e32 ifetch  0x00000002 , 0x00000013 
+ 00014493  0x00002e33 arg  0x000055aa , 0x00000002 
+ 00014494  0x00002e34 isub  0x00000002 , 0x0000003e 
+ 00014495  0x00002e35 nrtn  0x00000005 
+ 00014496  0x00002e36 copy  0x00000006 , 0x00000013 
+ 00014497  0x00002e37 ifetcht  0x00000003 , 0x00000013 
+ 00014498  0x00002e38 setarg  0x00ffffff 
+ 00014499  0x00002e39 isub  0x00000002 , 0x0000003e 
+ 00014500  0x00002e3a branch  0x000038a8 , 0x00000005 
+ 00014501  0x00002e3b call  0x0000388d 
+ 00014502  0x00002e3c branch  0x000038a8 , 0x00000028 
+ 00014503  0x00002e3d rtn 
+ 00014504  0x00002e40 bpatch  0x000000db , 0x0000401b 
+ 00014505  0x00002e41 increase  0x00000004 , 0x00000013 
+ 00014506  0x00002e42 ifetch  0x00000001 , 0x00000013 
+ 00014507  0x00002e43 fetcht  0x00000001 , 0x000046f6 
+ 00014508  0x00002e44 isub  0x00000002 , 0x0000003e 
+ 00014509  0x00002e45 rtn  0x00000005 
+ 00014510  0x00002e46 store  0x00000001 , 0x000046f6 
+ 00014511  0x00002e47 fetch  0x00000001 , 0x00000003 
+ 00014512  0x00002e48 increase  0x00000001 , 0x0000003f 
+ 00014513  0x00002e49 store  0x00000001 , 0x00000003 
+ 00014514  0x00002e4b increase  0x00000001 , 0x00000013 
+ 00014515  0x00002e4c ifetch  0x00000001 , 0x00000013 
+ 00014516  0x00002e4d store  0x00000001 , 0x000046f5 
+ 00014517  0x00002e4e copy  0x0000003f , 0x00000039 
+ 00014518  0x00002e4f rtn  0x00000034 
+ 00014519  0x00002e51 ifetch  0x00000001 , 0x00000006 
+ 00014520  0x00002e52 beq  0x00000000 , 0x000038c2 
+ 00014521  0x00002e53 beq  0x00000001 , 0x000038cf 
+ 00014522  0x00002e54 beq  0x00000002 , 0x000038d4 
+ 00014523  0x00002e55 beq  0x00000003 , 0x000038d9 
+ 00014524  0x00002e56 beq  0x00000004 , 0x000038de 
+ 00014525  0x00002e57 beq  0x00000005 , 0x000038e3 
+ 00014526  0x00002e58 beq  0x00000006 , 0x000038e8 
+ 00014527  0x00002e59 beq  0x000000ff , 0x000038ea 
+ 00014528  0x00002e5a loop  0x000038b7 
+ 00014529  0x00002e5b rtn 
+ 00014530  0x00002e5e copy  0x00000006 , 0x00000013 
+ 00014531  0x00002e5f fetch  0x00000001 , 0x0000469a 
+ 00014532  0x00002e60 store  0x00000001 , 0x00000a9a 
+ 00014533  0x00002e61 arg  0x00000000 , 0x00000002 
+ 00014534  0x00002e63 storet  0x00000001 , 0x00000a9b 
+ 00014535  0x00002e64 setarg  0x00002710 
+ 00014536  0x00002e65 store  0x00000003 , 0x00000a9c 
+ 00014537  0x00002e66 ifetch  0x00000001 , 0x00000013 
+ 00014538  0x00002e67 store  0x00000001 , 0x00000a9f 
+ 00014539  0x00002e68 call  0x000069ae 
+ 00014540  0x00002e69 and  0x00000013 , 0x00000001 , 0x00000006 
+ 00014541  0x00002e6a loop  0x000038b7 
+ 00014542  0x00002e6b rtn 
+ 00014543  0x00002e6d copy  0x00000013 , 0x00000006 
+ 00014544  0x00002e6e fetch  0x00000001 , 0x0000469b 
+ 00014545  0x00002e6f store  0x00000001 , 0x00000a9a 
+ 00014546  0x00002e70 arg  0x00000001 , 0x00000002 
+ 00014547  0x00002e71 branch  0x000038c6 
+ 00014548  0x00002e73 copy  0x00000013 , 0x00000006 
+ 00014549  0x00002e74 fetch  0x00000001 , 0x0000469c 
+ 00014550  0x00002e75 store  0x00000001 , 0x00000a9a 
+ 00014551  0x00002e76 arg  0x00000002 , 0x00000002 
+ 00014552  0x00002e77 branch  0x000038c6 
+ 00014553  0x00002e79 copy  0x00000013 , 0x00000006 
+ 00014554  0x00002e7a fetch  0x00000001 , 0x0000469d 
+ 00014555  0x00002e7b store  0x00000001 , 0x00000a9a 
+ 00014556  0x00002e7c arg  0x00000003 , 0x00000002 
+ 00014557  0x00002e7d branch  0x000038c6 
+ 00014558  0x00002e7f copy  0x00000013 , 0x00000006 
+ 00014559  0x00002e80 fetch  0x00000001 , 0x0000469e 
+ 00014560  0x00002e81 store  0x00000001 , 0x00000a9a 
+ 00014561  0x00002e82 arg  0x00000004 , 0x00000002 
+ 00014562  0x00002e83 branch  0x000038c6 
+ 00014563  0x00002e85 copy  0x00000013 , 0x00000006 
+ 00014564  0x00002e86 fetch  0x00000001 , 0x0000469f 
+ 00014565  0x00002e87 store  0x00000001 , 0x00000a9a 
+ 00014566  0x00002e88 arg  0x00000005 , 0x00000002 
+ 00014567  0x00002e89 branch  0x000038c6 
+ 00014568  0x00002e8c ifetch  0x00000001 , 0x00000006 
+ 00014569  0x00002e8d rtn 
+ 00014570  0x00002e90 copy  0x00000006 , 0x00000013 
+ 00014571  0x00002e91 fetch  0x00000001 , 0x000046a0 
+ 00014572  0x00002e92 bne  0x00000001 , 0x000038ee 
+ 00014573  0x00002e93 call  0x000038f0 
+ 00014574  0x00002e95 and  0x00000013 , 0x00000004 , 0x00000006 
+ 00014575  0x00002e96 rtn 
+ 00014576  0x00002e98 bpatch  0x000000dc , 0x0000401b 
+ 00014577  0x00002e99 call  0x00003871 
+ 00014578  0x00002e9a branch  0x000038fe , 0x00000028 
+ 00014579  0x00002e9b fetch  0x00000001 , 0x000046a4 
+ 00014580  0x00002e9c copy  0x0000003f , 0x00000002 
+ 00014581  0x00002e9d increase  0x00000001 , 0x0000003f 
+ 00014582  0x00002e9e store  0x00000001 , 0x000046a4 
+ 00014583  0x00002e9f call  0x00003867 
+ 00014584  0x00002ea0 lshift2  0x00000002 , 0x00000002 
+ 00014585  0x00002ea1 setarg  0x000046a5 
+ 00014586  0x00002ea2 iadd  0x00000002 , 0x00000005 
+ 00014587  0x00002ea3 ifetch  0x00000004 , 0x00000013 
+ 00014588  0x00002ea4 istore  0x00000004 , 0x00000005 
+ 00014589  0x00002ea5 branch  0x00003903 
+ 00014590  0x00002ea7 add  0x00000013 , 0x00000003 , 0x00000006 
+ 00014591  0x00002ea8 ifetch  0x00000001 , 0x00000006 
+ 00014592  0x00002ea9 rtn  0x00000034 
+ 00014593  0x00002eaa ifetch  0x00000004 , 0x00000013 
+ 00014594  0x00002eab istore  0x00000004 , 0x00000011 
+ 00014595  0x00002ead arg  0x000046a4 , 0x00000011 
+ 00014596  0x00002eae arg  0x00000000 , 0x00000012 
+ 00014597  0x00002eaf arg  0x00000051 , 0x00000002 
+ 00014598  0x00002eb0 branch  0x00006606 
+ 00014599  0x00002eb8 fetcht  0x00000001 , 0x0000469a 
+ 00014600  0x00002eb9 call  0x00006825 
+ 00014601  0x00002eba rtn 
+ 00014602  0x00002ec0 fetcht  0x00000001 , 0x0000469a 
+ 00014603  0x00002ec1 call  0x00006829 
+ 00014604  0x00002ec4 fetcht  0x00000001 , 0x0000469a 
+ 00014605  0x00002ec5 call  0x00006825 
+ 00014606  0x00002ec8 call  0x0000391d 
+ 00014607  0x00002eca fetch  0x00000001 , 0x000046a7 
+ 00014608  0x00002ecb nrtn  0x00000034 
+ 00014609  0x00002ecd call  0x00002c29 
+ 00014610  0x00002ece hfetch  0x00000004 , 0x00008138 
+ 00014611  0x00002ecf set0  0x0000000f , 0x0000003f 
+ 00014612  0x00002ed0 hstore  0x00000004 , 0x0000804c 
+ 00014613  0x00002ed1 call  0x00002c21 
+ 00014614  0x00002ed2 arg  0xffffffff , 0x00000002 
+ 00014615  0x00002ed3 branch  0x00002b2a 
+ 00014616  0x00002ed6 fetch  0x00000001 , 0x000046a7 
+ 00014617  0x00002ed7 branch  0x000056f9 , 0x00000034 
+ 00014618  0x00002ed8 increase  0xffffffff , 0x0000003f 
+ 00014619  0x00002ed9 store  0x00000001 , 0x000046a7 
+ 00014620  0x00002eda branch  0x000056f9 
+ 00014621  0x00002edd mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00014622  0x00002ede arg  0x000046a8 , 0x00000006 
+ 00014623  0x00002edf iadd  0x00000006 , 0x00000006 
+ 00014624  0x00002ee0 ifetch  0x00000001 , 0x00000006 
+ 00014625  0x00002ee1 rtn  0x00000034 
+ 00014626  0x00002ee2 copy  0x0000003f , 0x00000011 
+ 00014627  0x00002ee3 copy  0x00000011 , 0x00000039 
+ 00014628  0x00002ee4 arg  0x00004372 , 0x00000005 
+ 00014629  0x00002ee5 call  0x00007f01 
+ 00014630  0x00002ee6 copy  0x00000011 , 0x0000003f 
+ 00014631  0x00002ee7 increase  0x00000002 , 0x0000003f 
+ 00014632  0x00002ee8 store  0x00000001 , 0x0000436f 
+ 00014633  0x00002ee9 rtn 
+ 00014634  0x00002ef2 rtn  0x0000002b 
+ 00014635  0x00002ef3 call  0x000057a3 
+ 00014636  0x00002ef4 call  0x000068a8 
+ 00014637  0x00002ef5 setarg  0x00003982 
+ 00014638  0x00002ef6 store  0x00000002 , 0x000041f3 
+ 00014639  0x00002ef7 setarg  0x0000396e 
+ 00014640  0x00002ef8 store  0x00000002 , 0x000041f1 
+ 00014641  0x00002ef9 setarg  0x00003986 
+ 00014642  0x00002efa store  0x00000002 , 0x000041f5 
+ 00014643  0x00002efb setarg  0x0000396d 
+ 00014644  0x00002efc store  0x00000002 , 0x000041ef 
+ 00014645  0x00002efd setarg  0x00003969 
+ 00014646  0x00002efe store  0x00000002 , 0x000041e9 
+ 00014647  0x00002eff setarg  0x00003ab7 
+ 00014648  0x00002f00 store  0x00000002 , 0x000041fb 
+ 00014649  0x00002f01 setarg  0x00003c32 
+ 00014650  0x00002f02 store  0x00000002 , 0x0000456f 
+ 00014651  0x00002f03 setarg  0x00003cc2 
+ 00014652  0x00002f04 store  0x00000002 , 0x000041f9 
+ 00014653  0x00002f05 setarg  0x00003cd7 
+ 00014654  0x00002f06 store  0x00000002 , 0x000041fd 
+ 00014655  0x00002f08 call  0x0000397f 
+ 00014656  0x00002f09 bpatch  0x000000dd , 0x0000401b 
+ 00014657  0x00002f0a call  0x00003945 
+ 00014658  0x00002f0b call  0x00003964 
+ 00014659  0x00002f0c call  0x00002c6f 
+ 00014660  0x00002f0d branch  0x00003c48 
+ 00014661  0x00002f11 fetch  0x00000004 , 0x000046aa 
+ 00014662  0x00002f12 hstore  0x00000004 , 0x00008054 
+ 00014663  0x00002f14 fetch  0x00000004 , 0x000046ae 
+ 00014664  0x00002f15 hstore  0x00000004 , 0x0000805a 
+ 00014665  0x00002f17 hfetch  0x00000001 , 0x00008081 
+ 00014666  0x00002f18 or_into  0x00000004 , 0x0000003f 
+ 00014667  0x00002f19 and_into  0x000000fc , 0x0000003f 
+ 00014668  0x00002f1a hstore  0x00000001 , 0x00008081 
+ 00014669  0x00002f1b jam  0x00000000 , 0x00008062 
+ 00014670  0x00002f1d fetch  0x00000002 , 0x000046aa 
+ 00014671  0x00002f1e hstore  0x00000002 , 0x00008058 
+ 00014672  0x00002f1f fetch  0x00000002 , 0x000046ae 
+ 00014673  0x00002f20 hstore  0x00000002 , 0x0000805e 
+ 00014674  0x00002f21 hstore  0x00000002 , 0x00008060 
+ 00014675  0x00002f23 hfetch  0x00000004 , 0x00008078 
+ 00014676  0x00002f24 set1  0x00000007 , 0x0000003f 
+ 00014677  0x00002f25 hstore  0x00000004 , 0x00008078 
+ 00014678  0x00002f27 hfetch  0x00000002 , 0x00008050 
+ 00014679  0x00002f28 set0  0x0000000f , 0x0000003f 
+ 00014680  0x00002f29 hstore  0x00000002 , 0x00008050 
+ 00014681  0x00002f2a call  0x000066ce 
+ 00014682  0x00002f2b jam  0x00000000 , 0x00008043 
+ 00014683  0x00002f2c jam  0x00000081 , 0x00008062 
+ 00014684  0x00002f2e fetch  0x00000001 , 0x000046bf 
+ 00014685  0x00002f2f isolate1  0x00000000 , 0x0000003f 
+ 00014686  0x00002f30 hfetcht  0x00000001 , 0x00008062 
+ 00014687  0x00002f31 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00014688  0x00002f32 hstoret  0x00000001 , 0x00008062 
+ 00014689  0x00002f33 rtn 
+ 00014690  0x00002f38 call  0x0000397f 
+ 00014691  0x00002f39 branch  0x00003945 
+ 00014692  0x00002f41 fetcht  0x00000001 , 0x0000469e 
+ 00014693  0x00002f42 call  0x0000680e 
+ 00014694  0x00002f43 call  0x000039e6 
+ 00014695  0x00002f45 fetcht  0x00000001 , 0x0000469c 
+ 00014696  0x00002f46 branch  0x000067fb 
+ 00014697  0x00002f49 fetcht  0x00000001 , 0x0000469c 
+ 00014698  0x00002f4a call  0x0000681d 
+ 00014699  0x00002f4b nbranch  0x000033d2 , 0x00000001 
+ 00014700  0x00002f4c branch  0x000033d0 
+ 00014701  0x00002f50 rtn 
+ 00014702  0x00002f53 call  0x00003970 
+ 00014703  0x00002f54 branch  0x00003ce9 
+ 00014704  0x00002f57 fetch  0x00000001 , 0x00004682 
+ 00014705  0x00002f58 bbit0  0x00000004 , 0x0000397f 
+ 00014706  0x00002f59 bpatch  0x000000de , 0x0000401b 
+ 00014707  0x00002f5a setarg  0x00003eff 
+ 00014708  0x00002f5b fetcht  0x00000004 , 0x000046c5 
+ 00014709  0x00002f5c iadd  0x00000002 , 0x00000002 
+ 00014710  0x00002f5d copy  0x00000022 , 0x0000003f 
+ 00014711  0x00002f5e isub  0x00000002 , 0x0000003e 
+ 00014712  0x00002f5f nrtn  0x00000002 
+ 00014713  0x00002f60 fetch  0x00000002 , 0x00004682 
+ 00014714  0x00002f61 bbit1  0x00000005 , 0x0000397f 
+ 00014715  0x00002f62 fetch  0x00000001 , 0x000046bf 
+ 00014716  0x00002f63 rtnbit1  0x00000006 
+ 00014717  0x00002f64 call  0x00003cec 
+ 00014718  0x00002f65 call  0x0000340e 
+ 00014719  0x00002f67 copy  0x00000022 , 0x0000003f 
+ 00014720  0x00002f68 store  0x00000004 , 0x000046c5 
+ 00014721  0x00002f69 rtn 
+ 00014722  0x00002f6d call  0x00003ce9 
+ 00014723  0x00002f6e call  0x0000526e 
+ 00014724  0x00002f6f nrtn  0x00000034 
+ 00014725  0x00002f70 branch  0x000039eb 
+ 00014726  0x00002f74 copy  0x00000013 , 0x0000003f 
+ 00014727  0x00002f75 beq  0x00000001 , 0x000039d4 
+ 00014728  0x00002f76 beq  0x00000002 , 0x000039a3 
+ 00014729  0x00002f77 beq  0x00000004 , 0x000039d7 
+ 00014730  0x00002f78 beq  0x00000005 , 0x000039c4 
+ 00014731  0x00002f79 beq  0x00000008 , 0x000039aa 
+ 00014732  0x00002f7a beq  0x00000009 , 0x000039b1 
+ 00014733  0x00002f7b beq  0x0000000a , 0x000039c9 
+ 00014734  0x00002f7c beq  0x0000000b , 0x000039b6 
+ 00014735  0x00002f7d beq  0x0000000c , 0x000039c2 
+ 00014736  0x00002f7e beq  0x00000013 , 0x000039d7 
+ 00014737  0x00002f7f beq  0x00000014 , 0x000039cf 
+ 00014738  0x00002f80 beq  0x00000015 , 0x000039c6 
+ 00014739  0x00002f81 beq  0x00000021 , 0x000039ca 
+ 00014740  0x00002f82 beq  0x00000023 , 0x000039cb 
+ 00014741  0x00002f83 beq  0x00000024 , 0x000039ce 
+ 00014742  0x00002f84 beq  0x00000030 , 0x00003c8a 
+ 00014743  0x00002f85 beq  0x00000031 , 0x00003c8c 
+ 00014744  0x00002f86 beq  0x00000032 , 0x00003c9a 
+ 00014745  0x00002f87 beq  0x00000033 , 0x00003c98 
+ 00014746  0x00002f88 beq  0x00000034 , 0x00003c84 
+ 00014747  0x00002f89 beq  0x00000035 , 0x00003c73 
+ 00014748  0x00002f8a beq  0x00000036 , 0x00003c82 
+ 00014749  0x00002f8b beq  0x00000037 , 0x00003c8e 
+ 00014750  0x00002f8c beq  0x00000038 , 0x00003c90 
+ 00014751  0x00002f8d beq  0x0000003b , 0x00003ca1 
+ 00014752  0x00002f8e beq  0x0000003d , 0x00003c6a 
+ 00014753  0x00002f8f beq  0x00000041 , 0x000039d9 
+ 00014754  0x00002f90 rtn 
+ 00014755  0x00002f94 call  0x0000397f 
+ 00014756  0x00002f95 fetch  0x00000001 , 0x00004665 
+ 00014757  0x00002f96 ncall  0x00003c8e , 0x00000034 
+ 00014758  0x00002f97 call  0x000039d7 
+ 00014759  0x00002f98 fetch  0x00000002 , 0x00004682 
+ 00014760  0x00002f99 rtnbit0  0x00000004 
+ 00014761  0x00002f9a branch  0x000039b1 
+ 00014762  0x00002f9d fetch  0x00000002 , 0x00004682 
+ 00014763  0x00002f9e set1  0x00000004 , 0x0000003f 
+ 00014764  0x00002f9f store  0x00000002 , 0x00004682 
+ 00014765  0x00002fa0 fetch  0x00000001 , 0x000046a7 
+ 00014766  0x00002fa1 store  0x00000001 , 0x00004172 
+ 00014767  0x00002fa2 call  0x000039e6 
+ 00014768  0x00002fa3 branch  0x00003c1d 
+ 00014769  0x00002fa8 fetch  0x00000002 , 0x00004682 
+ 00014770  0x00002fa9 rtnbit0  0x00000004 
+ 00014771  0x00002faa set0  0x00000004 , 0x0000003f 
+ 00014772  0x00002fab store  0x00000002 , 0x00004682 
+ 00014773  0x00002fac branch  0x00003c21 
+ 00014774  0x00002fb2 call  0x0000397f 
+ 00014775  0x00002fb5 fetch  0x00000002 , 0x00004042 
+ 00014776  0x00002fb6 rshift  0x0000003f , 0x0000003f 
+ 00014777  0x00002fb7 fetcht  0x00000002 , 0x000041e3 
+ 00014778  0x00002fb8 isub  0x00000002 , 0x0000003e 
+ 00014779  0x00002fb9 nbranch  0x000039bd , 0x00000005 
+ 00014780  0x00002fba branch  0x00003416 
+ 00014781  0x00002fbc fetch  0x00000001 , 0x000046bf 
+ 00014782  0x00002fbd rtnbit1  0x00000005 
+ 00014783  0x00002fbe hfetch  0x00000002 , 0x00008112 
+ 00014784  0x00002fbf ncall  0x00003cf0 , 0x00000034 
+ 00014785  0x00002fc0 branch  0x0000340c 
+ 00014786  0x00002fc3 call  0x00003cee 
+ 00014787  0x00002fc4 branch  0x00003418 
+ 00014788  0x00002fc7 call  0x0000397f 
+ 00014789  0x00002fc8 branch  0x000039dd 
+ 00014790  0x00002fcb call  0x00005816 
+ 00014791  0x00002fcc call  0x000039d7 
+ 00014792  0x00002fcd branch  0x00003c23 
+ 00014793  0x00002fd0 branch  0x000033dd 
+ 00014794  0x00002fd4 branch  0x00003cee 
+ 00014795  0x00002fd8 fetch  0x00000001 , 0x000046bf 
+ 00014796  0x00002fd9 bbit0  0x00000005 , 0x0000340e 
+ 00014797  0x00002fda branch  0x00003cf2 
+ 00014798  0x00002fde branch  0x00003cf2 
+ 00014799  0x00002fe2 call  0x000058ba 
+ 00014800  0x00002fe3 call  0x000039dd 
+ 00014801  0x00002fe4 fetch  0x00000001 , 0x000046a8 
+ 00014802  0x00002fe5 store  0x00000001 , 0x00004172 
+ 00014803  0x00002fe6 branch  0x00003c1f 
+ 00014804  0x00002fea jam  0x00000000 , 0x00004661 
+ 00014805  0x00002feb call  0x00003cee 
+ 00014806  0x00002fec branch  0x00003cf2 
+ 00014807  0x00002ff1 call  0x00003a52 
+ 00014808  0x00002ff2 branch  0x000039db 
+ 00014809  0x00002ff6 call  0x00005cc9 
+ 00014810  0x00002ff7 branch  0x00005b02 
+ 00014811  0x00002ffb fetcht  0x00000001 , 0x0000469e 
+ 00014812  0x00002ffc branch  0x00006829 
+ 00014813  0x00002fff call  0x000039df 
+ 00014814  0x00003000 branch  0x000039e6 
+ 00014815  0x00003003 fetch  0x00000001 , 0x000046a1 
+ 00014816  0x00003004 isolate1  0x00000000 , 0x0000003f 
+ 00014817  0x00003005 call  0x000033f0 , 0x00000001 
+ 00014818  0x00003006 fetch  0x00000001 , 0x000046a1 
+ 00014819  0x00003007 isolate1  0x00000001 , 0x0000003f 
+ 00014820  0x00003008 call  0x000033f8 , 0x00000001 
+ 00014821  0x00003009 rtn 
+ 00014822  0x0000300b fetcht  0x00000001 , 0x0000469e 
+ 00014823  0x0000300c branch  0x00006825 
+ 00014824  0x0000300f fetch  0x00000001 , 0x0000456b 
+ 00014825  0x00003010 rtneq  0x00000000 
+ 00014826  0x00003011 branch  0x00006c28 
+ 00014827  0x00003014 hfetch  0x00000001 , 0x0000810c 
+ 00014828  0x00003015 bbit1  0x00000003 , 0x000039e8 
+ 00014829  0x00003016 call  0x000066cb 
+ 00014830  0x00003017 ifetch  0x00000001 , 0x00000003 
+ 00014831  0x00003018 bne  0x00000001 , 0x00003a01 
+ 00014832  0x00003019 hfetch  0x00000002 , 0x00008112 
+ 00014833  0x0000301a sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00014834  0x0000301b rtn  0x00000002 
+ 00014835  0x0000301c ifetch  0x00000001 , 0x00000003 
+ 00014836  0x0000301d store  0x00000001 , 0x00000b03 
+ 00014837  0x0000301e ifetcht  0x00000001 , 0x00000003 
+ 00014838  0x0000301f copy  0x00000003 , 0x00000011 
+ 00014839  0x00003020 storet  0x00000001 , 0x00000b04 
+ 00014840  0x00003021 add  0x00000002 , 0x00000003 , 0x00000002 
+ 00014841  0x00003022 hfetch  0x00000002 , 0x00008112 
+ 00014842  0x00003023 isub  0x00000002 , 0x00000002 
+ 00014843  0x00003024 nrtn  0x00000002 
+ 00014844  0x00003025 jam  0x00000001 , 0x00000b05 
+ 00014845  0x00003026 call  0x00003a17 
+ 00014846  0x00003027 fetch  0x00000001 , 0x00000b05 
+ 00014847  0x00003028 rtneq  0x00000000 
+ 00014848  0x00003029 branch  0x00003a12 
+ 00014849  0x0000302c call  0x00007ec1 
+ 00014850  0x0000302d call  0x00003c79 
+ 00014851  0x0000302e branch  0x00003a04 
+ 00014852  0x00003032 bpatch  0x000000df , 0x0000401b 
+ 00014853  0x00003033 hfetch  0x00000002 , 0x00008112 
+ 00014854  0x00003034 rtn  0x00000034 
+ 00014855  0x00003035 call  0x000066cb 
+ 00014856  0x00003036 ifetch  0x00000001 , 0x00000003 
+ 00014857  0x00003037 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00014858  0x00003038 ncall  0x00003a16 , 0x00000005 
+ 00014859  0x00003039 nbranch  0x00003a04 , 0x00000005 
+ 00014860  0x0000303a ifetch  0x00000001 , 0x00000003 
+ 00014861  0x0000303b rtneq  0x00000005 
+ 00014862  0x0000303c rtneq  0x00000029 
+ 00014863  0x0000303d increase  0xffffffff , 0x00000003 
+ 00014864  0x0000303e call  0x00003a16 
+ 00014865  0x0000303f branch  0x00003a04 
+ 00014866  0x00003042 call  0x000066cb 
+ 00014867  0x00003043 increase  0x00000002 , 0x00000003 
+ 00014868  0x00003044 ifetch  0x00000001 , 0x00000003 
+ 00014869  0x00003045 iadd  0x00000003 , 0x00000003 
+ 00014870  0x00003047 branch  0x000066c8 
+ 00014871  0x0000304b bpatch  0x000000e0 , 0x0000401c 
+ 00014872  0x0000304c fetch  0x00000001 , 0x00000b03 
+ 00014873  0x0000304d beq  0x00000000 , 0x00003a3f 
+ 00014874  0x0000304e beq  0x00000001 , 0x00003a44 
+ 00014875  0x0000304f beq  0x00000002 , 0x00003a49 
+ 00014876  0x00003050 beq  0x00000003 , 0x00003a5f 
+ 00014877  0x00003051 beq  0x00000004 , 0x00003a6b 
+ 00014878  0x00003052 beq  0x00000005 , 0x00003a75 
+ 00014879  0x00003053 beq  0x00000009 , 0x00003a9a 
+ 00014880  0x00003054 beq  0x0000000b , 0x00003ad7 
+ 00014881  0x00003055 beq  0x0000000c , 0x00003ad8 
+ 00014882  0x00003056 beq  0x0000000d , 0x00003aec 
+ 00014883  0x00003057 beq  0x0000000e , 0x00003af4 
+ 00014884  0x00003058 beq  0x0000000f , 0x00003afa 
+ 00014885  0x00003059 beq  0x00000010 , 0x00003b06 
+ 00014886  0x0000305a beq  0x00000011 , 0x00003b0e 
+ 00014887  0x0000305b beq  0x00000012 , 0x00003b12 
+ 00014888  0x0000305c beq  0x00000026 , 0x00003b16 
+ 00014889  0x0000305d beq  0x00000028 , 0x00003b1d 
+ 00014890  0x0000305e beq  0x00000029 , 0x00003b2d 
+ 00014891  0x0000305f beq  0x0000002a , 0x00003b36 
+ 00014892  0x00003060 beq  0x0000002b , 0x00003b69 
+ 00014893  0x00003061 beq  0x0000002c , 0x00003b6f 
+ 00014894  0x00003062 beq  0x00000030 , 0x00003b76 
+ 00014895  0x00003063 beq  0x00000031 , 0x00003b7c 
+ 00014896  0x00003064 beq  0x00000032 , 0x00003b90 
+ 00014897  0x00003065 beq  0x00000033 , 0x00003b98 
+ 00014898  0x00003066 beq  0x00000034 , 0x00003bbb 
+ 00014899  0x00003067 beq  0x00000035 , 0x00003bc4 
+ 00014900  0x00003068 beq  0x00000036 , 0x00003bcd 
+ 00014901  0x00003069 beq  0x00000037 , 0x00003bd7 
+ 00014902  0x0000306a beq  0x00000038 , 0x00003bda 
+ 00014903  0x0000306b beq  0x00000040 , 0x00003be2 
+ 00014904  0x0000306c beq  0x00000042 , 0x00003bec 
+ 00014905  0x0000306d beq  0x00000048 , 0x00003bf1 
+ 00014906  0x0000306e beq  0x00000049 , 0x00003bfc 
+ 00014907  0x0000306f beq  0x00000051 , 0x00003c02 
+ 00014908  0x00003070 beq  0x00000061 , 0x00003c06 
+ 00014909  0x00003071 beq  0x000000ff , 0x00003c15 
+ 00014910  0x00003072 branch  0x00003c17 
+ 00014911  0x00003078 fetch  0x00000001 , 0x00000b04 
+ 00014912  0x00003079 bne  0x00000006 , 0x00003c17 
+ 00014913  0x0000307a ifetch  0x00000006 , 0x00000003 
+ 00014914  0x0000307b store  0x00000006 , 0x000040a0 
+ 00014915  0x0000307c branch  0x00003c1a 
+ 00014916  0x00003080 fetch  0x00000001 , 0x00000b04 
+ 00014917  0x00003081 bne  0x00000006 , 0x00003c17 
+ 00014918  0x00003082 ifetch  0x00000006 , 0x00000003 
+ 00014919  0x00003083 store  0x00000006 , 0x000044a0 
+ 00014920  0x00003084 branch  0x00003c1a 
+ 00014921  0x00003089 fetch  0x00000001 , 0x00000b04 
+ 00014922  0x0000308a bne  0x00000001 , 0x00003c17 
+ 00014923  0x0000308b copy  0x00000011 , 0x00000003 
+ 00014924  0x0000308c call  0x00003c1a 
+ 00014925  0x0000308d ifetcht  0x00000001 , 0x00000003 
+ 00014926  0x0000308e storet  0x00000001 , 0x000046a9 
+ 00014927  0x0000308f fetch  0x00000002 , 0x00004682 
+ 00014928  0x00003090 rtnbit1  0x00000009 
+ 00014929  0x00003091 rtnbit1  0x00000000 
+ 00014930  0x00003093 fetch  0x00000001 , 0x000046a1 
+ 00014931  0x00003094 isolate1  0x00000000 , 0x0000003f 
+ 00014932  0x00003095 nbranch  0x00003a58 , 0x00000001 
+ 00014933  0x00003096 fetcht  0x00000001 , 0x000046a9 
+ 00014934  0x00003097 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00014935  0x00003098 store  0x00000001 , 0x00004093 
+ 00014936  0x0000309a fetch  0x00000001 , 0x000046a1 
+ 00014937  0x0000309b isolate1  0x00000001 , 0x0000003f 
+ 00014938  0x0000309c nrtn  0x00000001 
+ 00014939  0x0000309d fetcht  0x00000001 , 0x000046a9 
+ 00014940  0x0000309e isolate1  0x00000002 , 0x00000002 
+ 00014941  0x0000309f branch  0x000033fa , 0x00000001 
+ 00014942  0x000030a0 branch  0x000033f8 
+ 00014943  0x000030a5 fetch  0x00000001 , 0x00000b04 
+ 00014944  0x000030a6 sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00014945  0x000030a7 nbranch  0x00003c17 , 0x00000002 
+ 00014946  0x000030a8 store  0x00000001 , 0x00004515 
+ 00014947  0x000030a9 arg  0x00000008 , 0x00000039 
+ 00014948  0x000030aa call  0x00007ec6 
+ 00014949  0x000030ab fetch  0x00000001 , 0x00000b04 
+ 00014950  0x000030ac copy  0x0000003f , 0x00000039 
+ 00014951  0x000030ad copy  0x00000011 , 0x00000003 
+ 00014952  0x000030ae arg  0x00004516 , 0x00000005 
+ 00014953  0x000030af call  0x000066ea 
+ 00014954  0x000030b0 branch  0x00003c1a 
+ 00014955  0x000030b5 fetch  0x00000001 , 0x00000b04 
+ 00014956  0x000030b6 sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00014957  0x000030b7 nbranch  0x00003c17 , 0x00000002 
+ 00014958  0x000030b8 store  0x00000001 , 0x000043af 
+ 00014959  0x000030b9 copy  0x0000003f , 0x00000039 
+ 00014960  0x000030ba copy  0x00000011 , 0x00000003 
+ 00014961  0x000030bb arg  0x000043b0 , 0x00000005 
+ 00014962  0x000030bc call  0x000066ea 
+ 00014963  0x000030bd call  0x000057a3 
+ 00014964  0x000030be branch  0x00003c1a 
+ 00014965  0x000030c3 fetch  0x00000001 , 0x00004682 
+ 00014966  0x000030c4 bbit0  0x00000004 , 0x00003c17 
+ 00014967  0x000030c5 call  0x000033ba 
+ 00014968  0x000030c6 branch  0x00003a86 , 0x00000001 
+ 00014969  0x000030c7 jam  0x00000000 , 0x00000b05 
+ 00014970  0x000030c9 call  0x0000397f 
+ 00014971  0x000030ca fetch  0x00000001 , 0x00004568 
+ 00014972  0x000030cb rtn  0x00000034 
+ 00014973  0x000030cc fetch  0x00000002 , 0x00004573 
+ 00014974  0x000030cd bne  0x00000000 , 0x00003a84 
+ 00014975  0x000030ce fetch  0x00000001 , 0x00000b04 
+ 00014976  0x000030cf store  0x00000002 , 0x00004573 
+ 00014977  0x000030d1 copy  0x00000011 , 0x00000003 
+ 00014978  0x000030d4 copy  0x00000003 , 0x0000003f 
+ 00014979  0x000030d5 store  0x00000002 , 0x00004571 
+ 00014980  0x000030d7 call  0x00003a88 
+ 00014981  0x000030d8 branch  0x00006c4d 
+ 00014982  0x000030db jam  0x00000000 , 0x00000b05 
+ 00014983  0x000030dc branch  0x00003cd1 
+ 00014984  0x000030df call  0x00003a8e 
+ 00014985  0x000030e0 fetch  0x00000002 , 0x00004573 
+ 00014986  0x000030e1 fetcht  0x00000002 , 0x0000469f 
+ 00014987  0x000030e2 isub  0x00000002 , 0x0000003f 
+ 00014988  0x000030e3 store  0x00000002 , 0x00004573 
+ 00014989  0x000030e4 rtn 
+ 00014990  0x000030e7 fetch  0x00000002 , 0x00004573 
+ 00014991  0x000030e8 arg  0x0000006e , 0x00000002 
+ 00014992  0x000030e9 call  0x00007fdd 
+ 00014993  0x000030ea fetcht  0x00000002 , 0x0000456c 
+ 00014994  0x000030eb call  0x00007fdd 
+ 00014995  0x000030ec fetcht  0x00000002 , 0x0000455e 
+ 00014996  0x000030ed call  0x00007fdd 
+ 00014997  0x000030ee store  0x00000002 , 0x0000469f 
+ 00014998  0x000030ef rtn 
+ 00014999  0x000030f2 jam  0x00000001 , 0x00000b05 
+ 00015000  0x000030f3 jam  0x00000005 , 0x00000b03 
+ 00015001  0x000030f4 branch  0x00003c1a 
+ 00015002  0x000030f9 fetch  0x00000002 , 0x00004682 
+ 00015003  0x000030fa bbit0  0x00000009 , 0x00003c17 
+ 00015004  0x000030fb call  0x00003ad4 
+ 00015005  0x000030fc branch  0x00003c17 , 0x00000028 
+ 00015006  0x000030fd jam  0x00000000 , 0x00000b05 
+ 00015007  0x000030fe fetch  0x00000001 , 0x000046bf 
+ 00015008  0x000030ff bbit1  0x00000004 , 0x00003ab4 
+ 00015009  0x00003100 fetch  0x00000001 , 0x000046c0 
+ 00015010  0x00003101 nrtn  0x00000034 
+ 00015011  0x00003102 jam  0x00000001 , 0x00000b05 
+ 00015012  0x00003103 ifetch  0x00000002 , 0x00000003 
+ 00015013  0x00003104 store  0x00000002 , 0x000046c1 
+ 00015014  0x00003105 copy  0x00000003 , 0x0000003f 
+ 00015015  0x00003106 store  0x00000002 , 0x000046c3 
+ 00015016  0x00003107 fetch  0x00000001 , 0x00000b04 
+ 00015017  0x00003108 pincrease  0xfffffffe 
+ 00015018  0x00003109 nbranch  0x00003c17 , 0x00000002 
+ 00015019  0x0000310a branch  0x00003c17 , 0x00000005 
+ 00015020  0x0000310b store  0x00000001 , 0x000046c0 
+ 00015021  0x0000310c jam  0x00000000 , 0x00000b05 
+ 00015022  0x0000310d call  0x00005814 
+ 00015023  0x0000310e call  0x00003ab7 
+ 00015024  0x0000310f call  0x00003ab7 
+ 00015025  0x00003110 call  0x00003ab7 
+ 00015026  0x00003111 fetch  0x00000001 , 0x000046bf 
+ 00015027  0x00003112 rtnbit0  0x00000004 
+ 00015028  0x00003114 jam  0x00000001 , 0x00000b05 
+ 00015029  0x00003115 call  0x00003cf6 
+ 00015030  0x00003116 branch  0x00003c1a 
+ 00015031  0x00003119 fetch  0x00000001 , 0x000046c0 
+ 00015032  0x0000311a rtn  0x00000034 
+ 00015033  0x0000311b call  0x00005892 
+ 00015034  0x0000311c nrtn  0x00000034 
+ 00015035  0x0000311d call  0x00003acf 
+ 00015036  0x0000311e bpatch  0x000000e1 , 0x0000401c 
+ 00015037  0x0000311f add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00015038  0x00003120 fetcht  0x00000001 , 0x000046c0 
+ 00015039  0x00003121 call  0x00007fdd 
+ 00015040  0x00003122 copy  0x0000003f , 0x00000011 
+ 00015041  0x00003123 copy  0x00000002 , 0x0000003f 
+ 00015042  0x00003124 isub  0x00000011 , 0x0000003f 
+ 00015043  0x00003125 store  0x00000001 , 0x000046c0 
+ 00015044  0x00003126 fetcht  0x00000002 , 0x000046c1 
+ 00015045  0x00003127 call  0x00005a64 
+ 00015046  0x00003128 fetch  0x00000002 , 0x000046c3 
+ 00015047  0x00003129 copy  0x0000003f , 0x00000003 
+ 00015048  0x0000312a copy  0x00000011 , 0x00000039 
+ 00015049  0x0000312b call  0x000066ea 
+ 00015050  0x0000312c copy  0x00000003 , 0x0000003f 
+ 00015051  0x0000312d store  0x00000002 , 0x000046c3 
+ 00015052  0x0000312e fetch  0x00000001 , 0x000046c0 
+ 00015053  0x0000312f nrtn  0x00000034 
+ 00015054  0x00003130 branch  0x00003cf4 
+ 00015055  0x00003135 arg  0x00000017 , 0x00000002 
+ 00015056  0x00003136 fetch  0x00000001 , 0x000046bf 
+ 00015057  0x00003137 rtnbit1  0x00000001 
+ 00015058  0x00003138 fetcht  0x00000002 , 0x000044a8 
+ 00015059  0x00003139 rtn 
+ 00015060  0x0000313c fetch  0x00000001 , 0x000046bf 
+ 00015061  0x0000313d bbit1  0x00000002 , 0x00005a42 
+ 00015062  0x0000313e branch  0x00007fe9 
+ 00015063  0x00003143 branch  0x00003c4c 
+ 00015064  0x00003148 copy  0x00000011 , 0x00000003 
+ 00015065  0x00003149 ifetch  0x00000001 , 0x00000003 
+ 00015066  0x0000314a beq  0x00000000 , 0x00003adf 
+ 00015067  0x0000314b beq  0x00000001 , 0x00003ae2 
+ 00015068  0x0000314c beq  0x00000002 , 0x00003ae8 
+ 00015069  0x0000314d beq  0x00000003 , 0x00003aea 
+ 00015070  0x0000314e branch  0x00003c17 
+ 00015071  0x00003150 call  0x0000612b 
+ 00015072  0x00003151 jam  0x00000000 , 0x0000465a 
+ 00015073  0x00003152 branch  0x00003c1a 
+ 00015074  0x00003154 setarg  0x00040003 
+ 00015075  0x00003156 store  0x00000003 , 0x0000465b 
+ 00015076  0x00003157 store  0x00000001 , 0x00004662 
+ 00015077  0x00003158 call  0x00006124 
+ 00015078  0x00003159 jam  0x00000001 , 0x0000465a 
+ 00015079  0x0000315a branch  0x00003c1a 
+ 00015080  0x0000315c setarg  0x00040002 
+ 00015081  0x0000315d branch  0x00003ae3 
+ 00015082  0x00003160 setarg  0x00040001 
+ 00015083  0x00003161 branch  0x00003ae3 
+ 00015084  0x00003165 fetch  0x00000001 , 0x00000b04 
+ 00015085  0x00003166 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00015086  0x00003167 nbranch  0x00003c17 , 0x00000002 
+ 00015087  0x00003168 store  0x00000001 , 0x00004689 
+ 00015088  0x00003169 copy  0x0000003f , 0x00000039 
+ 00015089  0x0000316a arg  0x0000468a , 0x00000005 
+ 00015090  0x0000316b call  0x000066fd 
+ 00015091  0x0000316c branch  0x00003c1a 
+ 00015092  0x00003171 copy  0x00000011 , 0x00000003 
+ 00015093  0x00003172 ifetch  0x00000001 , 0x00000003 
+ 00015094  0x00003173 hfetcht  0x00000001 , 0x00008062 
+ 00015095  0x00003174 nsetflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00015096  0x00003175 hstoret  0x00000001 , 0x00008062 
+ 00015097  0x00003176 branch  0x00003c1a 
+ 00015098  0x0000317b fetch  0x00000001 , 0x00000b04 
+ 00015099  0x0000317c copy  0x0000003f , 0x00000039 
+ 00015100  0x0000317d copy  0x00000011 , 0x00000003 
+ 00015101  0x0000317e call  0x00007f58 
+ 00015102  0x0000317f setarg  0x016e3600 
+ 00015103  0x00003180 idiv  0x00000002 
+ 00015104  0x00003181 call  0x00007f86 
+ 00015105  0x00003182 quotient  0x0000003f 
+ 00015106  0x00003184 store  0x00000002 , 0x00004243 
+ 00015107  0x00003185 call  0x00003c1a 
+ 00015108  0x00003186 call  0x00007f9e 
+ 00015109  0x00003187 branch  0x000066ce 
+ 00015110  0x0000318c arg  0x00000002 , 0x00000011 
+ 00015111  0x0000318d arg  0x0000469a , 0x00000012 
+ 00015112  0x0000318e arg  0x00000000 , 0x00000002 
+ 00015113  0x0000318f branch  0x00003c25 
+ 00015114  0x00003191 store  0x00000002 , 0x00000ac2 
+ 00015115  0x00003192 arg  0x00000ac2 , 0x00000012 
+ 00015116  0x00003193 arg  0x00000000 , 0x00000002 
+ 00015117  0x00003194 branch  0x00003c25 
+ 00015118  0x00003199 fetch  0x00000002 , 0x00004682 
+ 00015119  0x0000319a bbit0  0x00000000 , 0x00003c17 
+ 00015120  0x0000319c call  0x00003c1a 
+ 00015121  0x0000319d branch  0x000033e9 
+ 00015122  0x000031a2 fetch  0x00000002 , 0x00004682 
+ 00015123  0x000031a3 bbit0  0x00000009 , 0x00003c17 
+ 00015124  0x000031a5 call  0x00003c1a 
+ 00015125  0x000031a6 branch  0x00003402 
+ 00015126  0x000031ad fetch  0x00000001 , 0x00000b04 
+ 00015127  0x000031ae copy  0x0000003f , 0x00000039 
+ 00015128  0x000031af copy  0x00000011 , 0x00000003 
+ 00015129  0x000031b0 fetch  0x00000002 , 0x00004215 
+ 00015130  0x000031b1 icopy  0x00000005 
+ 00015131  0x000031b2 call  0x000066ea 
+ 00015132  0x000031b3 branch  0x00003c1a 
+ 00015133  0x000031b8 fetch  0x00000001 , 0x00004682 
+ 00015134  0x000031b9 bbit0  0x00000000 , 0x00003c17 
+ 00015135  0x000031ba ifetch  0x00000001 , 0x00000003 
+ 00015136  0x000031bb fetcht  0x00000001 , 0x00004661 
+ 00015137  0x000031bc setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00015138  0x000031bd set1  0x00000007 , 0x00000002 
+ 00015139  0x000031be storet  0x00000001 , 0x00004661 
+ 00015140  0x000031c0 call  0x00003c1a 
+ 00015141  0x000031c2 fetch  0x00000001 , 0x00004661 
+ 00015142  0x000031c3 bbit1  0x00000006 , 0x00003b2b 
+ 00015143  0x000031c4 rtn 
+ 00015144  0x000031c7 jam  0x00000000 , 0x00004661 
+ 00015145  0x000031c8 jam  0x00000021 , 0x00000a99 
+ 00015146  0x000031c9 branch  0x00007d8f 
+ 00015147  0x000031cd bbit1  0x00000000 , 0x00005f95 
+ 00015148  0x000031ce branch  0x00003b28 
+ 00015149  0x000031d3 fetch  0x00000001 , 0x00004682 
+ 00015150  0x000031d4 rtnbit0  0x00000004 
+ 00015151  0x000031d5 fetch  0x00000001 , 0x0000456b 
+ 00015152  0x000031d6 rtneq  0x00000000 
+ 00015153  0x000031d7 ifetch  0x00000001 , 0x00000003 
+ 00015154  0x000031d8 fetcht  0x00000001 , 0x00004569 
+ 00015155  0x000031d9 iadd  0x00000002 , 0x00000002 
+ 00015156  0x000031da storet  0x00000001 , 0x00004569 
+ 00015157  0x000031db rtn 
+ 00015158  0x000031e0 arg  0x00000040 , 0x00000039 
+ 00015159  0x000031e1 arg  0x0000436f , 0x00000005 
+ 00015160  0x000031e2 call  0x00007ed4 
+ 00015161  0x000031e3 setarg  0x00000000 
+ 00015162  0x000031e4 store  0x00000001 , 0x00000ab2 
+ 00015163  0x000031e5 copy  0x00000011 , 0x00000003 
+ 00015164  0x000031e7 copy  0x00000003 , 0x0000003f 
+ 00015165  0x000031e8 store  0x00000002 , 0x00000ab6 
+ 00015166  0x000031e9 call  0x00003b64 
+ 00015167  0x000031eb fetch  0x00000001 , 0x00000ab2 
+ 00015168  0x000031ec fetcht  0x00000001 , 0x00000aa2 
+ 00015169  0x000031ed increase  0x00000001 , 0x00000002 
+ 00015170  0x000031ee iadd  0x00000002 , 0x0000003f 
+ 00015171  0x000031ef store  0x00000001 , 0x00000ab2 
+ 00015172  0x000031f1 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015173  0x000031f2 nbranch  0x00003b50 , 0x00000002 
+ 00015174  0x000031f4 fetcht  0x00000001 , 0x0000436f 
+ 00015175  0x000031f5 setarg  0x00004370 
+ 00015176  0x000031f6 iadd  0x00000002 , 0x0000003f 
+ 00015177  0x000031f7 store  0x00000002 , 0x00000abb 
+ 00015178  0x000031f8 fetcht  0x00000001 , 0x00000aa2 
+ 00015179  0x000031f9 increase  0x00000001 , 0x00000002 
+ 00015180  0x000031fa fetch  0x00000001 , 0x0000436f 
+ 00015181  0x000031fb iadd  0x00000002 , 0x0000003f 
+ 00015182  0x000031fc store  0x00000001 , 0x0000436f 
+ 00015183  0x000031fd branch  0x00003b59 
+ 00015184  0x000031ff fetcht  0x00000001 , 0x0000438f 
+ 00015185  0x00003200 setarg  0x00004390 
+ 00015186  0x00003201 iadd  0x00000002 , 0x0000003f 
+ 00015187  0x00003202 store  0x00000002 , 0x00000abb 
+ 00015188  0x00003203 fetcht  0x00000001 , 0x00000aa2 
+ 00015189  0x00003204 increase  0x00000001 , 0x00000002 
+ 00015190  0x00003205 fetch  0x00000001 , 0x0000438f 
+ 00015191  0x00003206 iadd  0x00000002 , 0x0000003f 
+ 00015192  0x00003207 store  0x00000001 , 0x0000438f 
+ 00015193  0x00003209 fetch  0x00000002 , 0x00000abb 
+ 00015194  0x0000320a copy  0x0000003f , 0x00000005 
+ 00015195  0x0000320b fetch  0x00000002 , 0x00000ab6 
+ 00015196  0x0000320c copy  0x0000003f , 0x00000003 
+ 00015197  0x0000320e copy  0x00000002 , 0x00000039 
+ 00015198  0x0000320f call  0x000066ea 
+ 00015199  0x00003211 fetch  0x00000001 , 0x00000b04 
+ 00015200  0x00003212 fetcht  0x00000001 , 0x00000ab2 
+ 00015201  0x00003213 isub  0x00000002 , 0x0000003e 
+ 00015202  0x00003214 nbranch  0x00003b3c , 0x00000005 
+ 00015203  0x00003215 branch  0x00003c1a 
+ 00015204  0x00003219 ifetch  0x00000001 , 0x00000003 
+ 00015205  0x0000321a store  0x00000001 , 0x00000aa2 
+ 00015206  0x0000321b ifetch  0x00000001 , 0x00000003 
+ 00015207  0x0000321c store  0x00000001 , 0x00000aae 
+ 00015208  0x0000321d rtn 
+ 00015209  0x00003222 arg  0x00000000 , 0x00000002 
+ 00015210  0x00003223 arg  0x00000002 , 0x00000011 
+ 00015211  0x00003224 fetch  0x00000002 , 0x000046b4 
+ 00015212  0x00003225 store  0x00000002 , 0x00000ac2 
+ 00015213  0x00003226 arg  0x00000ac2 , 0x00000012 
+ 00015214  0x00003227 branch  0x00003c25 
+ 00015215  0x0000322c fetch  0x00000001 , 0x00000b04 
+ 00015216  0x0000322d bne  0x00000001 , 0x00003c17 
+ 00015217  0x0000322e ifetch  0x00000001 , 0x00000003 
+ 00015218  0x0000322f store  0x00000001 , 0x000046b2 
+ 00015219  0x00003230 setarg  0x00000000 
+ 00015220  0x00003231 store  0x00000002 , 0x000046b4 
+ 00015221  0x00003232 branch  0x00003c1a 
+ 00015222  0x00003237 ifetch  0x00000004 , 0x00000003 
+ 00015223  0x00003238 store  0x00000004 , 0x0000468a 
+ 00015224  0x00003239 jam  0x00000004 , 0x00004689 
+ 00015225  0x0000323a jam  0x00000000 , 0x00004663 
+ 00015226  0x0000323b call  0x00003c1a 
+ 00015227  0x0000323c branch  0x00005f31 
+ 00015228  0x00003241 fetch  0x00000001 , 0x00000b04 
+ 00015229  0x00003242 bne  0x00000003 , 0x00003c17 
+ 00015230  0x00003243 ifetch  0x00000001 , 0x00000003 
+ 00015231  0x00003244 beq  0x00000000 , 0x00003b82 
+ 00015232  0x00003245 beq  0x00000001 , 0x00003b8a 
+ 00015233  0x00003246 branch  0x00003c17 
+ 00015234  0x00003249 ifetcht  0x00000001 , 0x00000003 
+ 00015235  0x0000324a ifetch  0x00000001 , 0x00000003 
+ 00015236  0x0000324b beq  0x00000002 , 0x00003b88 
+ 00015237  0x0000324c nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00015238  0x0000324d call  0x000067fb 
+ 00015239  0x0000324e branch  0x00003c1a 
+ 00015240  0x00003251 call  0x00006806 
+ 00015241  0x00003252 branch  0x00003c1a 
+ 00015242  0x00003255 ifetcht  0x00000001 , 0x00000003 
+ 00015243  0x00003256 call  0x00006812 
+ 00015244  0x00003257 ifetch  0x00000001 , 0x00000003 
+ 00015245  0x00003258 isolate1  0x00000000 , 0x0000003f 
+ 00015246  0x00003259 call  0x0000682c 
+ 00015247  0x0000325a branch  0x00003c1a 
+ 00015248  0x0000325f fetch  0x00000001 , 0x00000b04 
+ 00015249  0x00003260 bne  0x00000001 , 0x00003c17 
+ 00015250  0x00003261 ifetcht  0x00000001 , 0x00000003 
+ 00015251  0x00003262 call  0x0000681d 
+ 00015252  0x00003263 setarg  0x00000000 
+ 00015253  0x00003264 nsetflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00015254  0x00003265 arg  0x00000001 , 0x00000011 
+ 00015255  0x00003266 branch  0x00003b0a 
+ 00015256  0x0000326b copy  0x00000011 , 0x00000003 
+ 00015257  0x0000326c ifetch  0x00000001 , 0x00000003 
+ 00015258  0x0000326d copy  0x0000003f , 0x00000002 
+ 00015259  0x0000326e beq  0x00000081 , 0x00003ba3 
+ 00015260  0x0000326f beq  0x00000082 , 0x00003ba8 
+ 00015261  0x00003270 beq  0x00000083 , 0x00003bae 
+ 00015262  0x00003271 store  0x00000001 , 0x000044c6 
+ 00015263  0x00003272 beq  0x00000000 , 0x00003bb3 
+ 00015264  0x00003273 beq  0x00000001 , 0x00003bb6 
+ 00015265  0x00003274 beq  0x00000002 , 0x00003bb8 
+ 00015266  0x00003275 branch  0x00003c17 
+ 00015267  0x00003278 fetch  0x00000001 , 0x000044be 
+ 00015268  0x00003279 branch  0x00003c17 , 0x00000034 
+ 00015269  0x0000327a storet  0x00000001 , 0x000044c6 
+ 00015270  0x0000327b jam  0x0000000d , 0x00004456 
+ 00015271  0x0000327c branch  0x00003bb4 
+ 00015272  0x0000327e fetch  0x00000001 , 0x000044be 
+ 00015273  0x0000327f branch  0x00003c17 , 0x00000034 
+ 00015274  0x00003280 storet  0x00000001 , 0x000044c6 
+ 00015275  0x00003281 jam  0x0000000d , 0x00004456 
+ 00015276  0x00003282 jam  0x00000001 , 0x00004454 
+ 00015277  0x00003283 branch  0x00003c1a 
+ 00015278  0x00003285 fetch  0x00000001 , 0x000044be 
+ 00015279  0x00003286 branch  0x00003c17 , 0x00000034 
+ 00015280  0x00003287 storet  0x00000001 , 0x000044c6 
+ 00015281  0x00003288 jam  0x0000000d , 0x00004456 
+ 00015282  0x00003289 branch  0x00003bb9 
+ 00015283  0x0000328b jam  0x00000000 , 0x00004456 
+ 00015284  0x0000328d jam  0x00000003 , 0x00004454 
+ 00015285  0x0000328e branch  0x00003c1a 
+ 00015286  0x00003290 jam  0x00000005 , 0x00004456 
+ 00015287  0x00003291 branch  0x00003bb4 
+ 00015288  0x00003293 jam  0x00000005 , 0x00004456 
+ 00015289  0x00003295 jam  0x00000000 , 0x00004454 
+ 00015290  0x00003296 branch  0x00003c1a 
+ 00015291  0x0000329b fetch  0x00000001 , 0x00000b04 
+ 00015292  0x0000329c sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015293  0x0000329d nbranch  0x00003c17 , 0x00000002 
+ 00015294  0x0000329e store  0x00000001 , 0x0000436f 
+ 00015295  0x0000329f copy  0x0000003f , 0x00000039 
+ 00015296  0x000032a0 copy  0x00000011 , 0x00000003 
+ 00015297  0x000032a1 arg  0x00004370 , 0x00000005 
+ 00015298  0x000032a2 call  0x000066ea 
+ 00015299  0x000032a3 branch  0x00003c1a 
+ 00015300  0x000032a8 fetch  0x00000001 , 0x00000b04 
+ 00015301  0x000032a9 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015302  0x000032aa nbranch  0x00003c17 , 0x00000002 
+ 00015303  0x000032ab store  0x00000001 , 0x0000438f 
+ 00015304  0x000032ac copy  0x0000003f , 0x00000039 
+ 00015305  0x000032ad copy  0x00000011 , 0x00000003 
+ 00015306  0x000032ae arg  0x00004390 , 0x00000005 
+ 00015307  0x000032af call  0x000066ea 
+ 00015308  0x000032b0 branch  0x00003c1a 
+ 00015309  0x000032b5 fetch  0x00000002 , 0x00004682 
+ 00015310  0x000032b6 bbit0  0x00000009 , 0x00003c17 
+ 00015311  0x000032b7 fetch  0x00000001 , 0x00000b04 
+ 00015312  0x000032b8 bne  0x00000008 , 0x00003c17 
+ 00015313  0x000032b9 copy  0x00000011 , 0x00000003 
+ 00015314  0x000032ba ifetch  0x00000008 , 0x00000003 
+ 00015315  0x000032bb store  0x00000008 , 0x00004496 
+ 00015316  0x000032bc jam  0x00000012 , 0x00000a99 
+ 00015317  0x000032bd call  0x00007d8f 
+ 00015318  0x000032be branch  0x00003c1a 
+ 00015319  0x000032c3 ifetch  0x00000002 , 0x00000003 
+ 00015320  0x000032c4 store  0x00000002 , 0x00004482 
+ 00015321  0x000032c5 branch  0x00003c1a 
+ 00015322  0x000032ca fetch  0x00000001 , 0x000044c6 
+ 00015323  0x000032cb branch  0x00003c17 , 0x00000034 
+ 00015324  0x000032cc fetch  0x00000001 , 0x000044c4 
+ 00015325  0x000032cd bne  0x00000000 , 0x00003c17 
+ 00015326  0x000032ce fetch  0x00000001 , 0x000044c5 
+ 00015327  0x000032cf bne  0x00000000 , 0x00003c17 
+ 00015328  0x000032d0 call  0x00007e25 
+ 00015329  0x000032d1 branch  0x00003c1a 
+ 00015330  0x000032d6 fetch  0x00000001 , 0x00000b04 
+ 00015331  0x000032d7 bne  0x00000005 , 0x00003c17 
+ 00015332  0x000032d8 ifetch  0x00000001 , 0x00000003 
+ 00015333  0x000032d9 store  0x00000001 , 0x000046a2 
+ 00015334  0x000032da ifetch  0x00000004 , 0x00000003 
+ 00015335  0x000032db store  0x00000004 , 0x000046a3 
+ 00015336  0x000032dc fetcht  0x00000001 , 0x000046a2 
+ 00015337  0x000032dd call  0x0000680e 
+ 00015338  0x000032de call  0x00003cbc 
+ 00015339  0x000032df branch  0x00003c1a 
+ 00015340  0x000032e4 fetch  0x00000001 , 0x00000b04 
+ 00015341  0x000032e5 bne  0x00000001 , 0x00003c17 
+ 00015342  0x000032e6 ifetch  0x00000001 , 0x00000003 
+ 00015343  0x000032e7 store  0x00000001 , 0x000041de 
+ 00015344  0x000032e8 branch  0x00003c1a 
+ 00015345  0x000032ed ifetch  0x00000001 , 0x00000003 
+ 00015346  0x000032ee beq  0x00000001 , 0x00003bfa 
+ 00015347  0x000032ef fetch  0x00000001 , 0x000044c1 
+ 00015348  0x000032f0 beq  0x00000003 , 0x00003bf8 
+ 00015349  0x000032f1 beq  0x00000006 , 0x00003bf8 
+ 00015350  0x000032f2 beq  0x00000007 , 0x00003bf8 
+ 00015351  0x000032f3 branch  0x00003c17 
+ 00015352  0x000032f5 jam  0x00000001 , 0x000044c2 
+ 00015353  0x000032f6 branch  0x00003c1a 
+ 00015354  0x000032f9 call  0x00005b53 
+ 00015355  0x000032fa branch  0x00003c1a 
+ 00015356  0x000032ff fetch  0x00000001 , 0x00000b04 
+ 00015357  0x00003300 bne  0x00000001 , 0x00003c17 
+ 00015358  0x00003301 call  0x00003c1a 
+ 00015359  0x00003302 ifetch  0x00000001 , 0x00000003 
+ 00015360  0x00003303 branch  0x000060cb , 0x00000034 
+ 00015361  0x00003304 branch  0x000060c9 
+ 00015362  0x00003309 call  0x00003c1a 
+ 00015363  0x0000330a call  0x00007f9e 
+ 00015364  0x0000330b jam  0x00000001 , 0x00008010 
+ 00015365  0x0000330c branch  0x00002a8e 
+ 00015366  0x00003311 fetch  0x00000001 , 0x00000b04 
+ 00015367  0x00003312 beq  0x00000000 , 0x00003c17 
+ 00015368  0x00003313 ifetch  0x00000001 , 0x00000003 
+ 00015369  0x00003314 branch  0x00003c13 , 0x00000034 
+ 00015370  0x00003315 fetch  0x00000001 , 0x00000b04 
+ 00015371  0x00003316 bne  0x00000005 , 0x00003c17 
+ 00015372  0x00003317 ifetch  0x00000004 , 0x00000003 
+ 00015373  0x00003318 arg  0x000f4240 , 0x00000002 
+ 00015374  0x00003319 isub  0x00000002 , 0x0000003e 
+ 00015375  0x0000331a branch  0x00003c17 , 0x00000002 
+ 00015376  0x0000331b store  0x00000004 , 0x000044c7 
+ 00015377  0x0000331c call  0x0000580c 
+ 00015378  0x0000331d branch  0x00003c1a 
+ 00015379  0x00003320 call  0x0000580e 
+ 00015380  0x00003321 branch  0x00003c1a 
+ 00015381  0x00003326 jam  0x00000000 , 0x00004091 
+ 00015382  0x00003327 branch  0x00003c1a 
+ 00015383  0x0000332d arg  0x00000001 , 0x00000002 
+ 00015384  0x0000332e arg  0x00000000 , 0x00000011 
+ 00015385  0x0000332f branch  0x00003c25 
+ 00015386  0x00003333 arg  0x00000000 , 0x00000002 
+ 00015387  0x00003334 arg  0x00000000 , 0x00000011 
+ 00015388  0x00003335 branch  0x00003c25 
+ 00015389  0x0000333a jam  0x00000000 , 0x00000b03 
+ 00015390  0x0000333b branch  0x00003c49 
+ 00015391  0x00003340 jam  0x00000002 , 0x00000b03 
+ 00015392  0x00003341 branch  0x00003c49 
+ 00015393  0x00003346 jam  0x00000003 , 0x00000b03 
+ 00015394  0x00003347 branch  0x00003c49 
+ 00015395  0x0000334c jam  0x00000005 , 0x00000b03 
+ 00015396  0x0000334d branch  0x00003c49 
+ 00015397  0x00003356 fetch  0x00000001 , 0x00000b03 
+ 00015398  0x00003357 copy  0x0000003f , 0x00000013 
+ 00015399  0x00003358 jam  0x00000006 , 0x00000b03 
+ 00015400  0x00003359 setarg  0x00000002 
+ 00015401  0x0000335a iadd  0x00000011 , 0x0000003f 
+ 00015402  0x0000335b call  0x00003ca7 
+ 00015403  0x0000335c copy  0x00000013 , 0x0000003f 
+ 00015404  0x0000335d istore  0x00000001 , 0x0000000a 
+ 00015405  0x0000335e istoret  0x00000001 , 0x0000000a 
+ 00015406  0x0000335f copy  0x00000011 , 0x00000039 
+ 00015407  0x00003360 copy  0x00000012 , 0x00000006 
+ 00015408  0x00003361 call  0x000066e4 
+ 00015409  0x00003362 branch  0x000066c5 
+ 00015410  0x00003368 call  0x0000397f 
+ 00015411  0x00003369 jam  0x00000007 , 0x00000b03 
+ 00015412  0x0000336a fetch  0x00000001 , 0x000004ff 
+ 00015413  0x0000336b rtn  0x00000034 
+ 00015414  0x0000336c call  0x00003ca7 
+ 00015415  0x0000336d fetch  0x00000001 , 0x000004ff 
+ 00015416  0x0000336e copy  0x0000003f , 0x00000039 
+ 00015417  0x0000336f fetch  0x00000002 , 0x00000501 
+ 00015418  0x00003370 copy  0x0000003f , 0x00000006 
+ 00015419  0x00003371 call  0x000066d1 
+ 00015420  0x00003372 branch  0x000066c5 
+ 00015421  0x00003377 jam  0x00000008 , 0x00000b03 
+ 00015422  0x00003378 fetch  0x00000001 , 0x000046b6 
+ 00015423  0x00003379 icopy  0x00000039 
+ 00015424  0x0000337a increase  0x00000002 , 0x0000003f 
+ 00015425  0x0000337b call  0x00003ca7 
+ 00015426  0x0000337c fetch  0x00000002 , 0x000046b9 
+ 00015427  0x0000337d istore  0x00000002 , 0x0000000a 
+ 00015428  0x0000337e fetch  0x00000002 , 0x000046b7 
+ 00015429  0x0000337f icopy  0x00000006 
+ 00015430  0x00003380 call  0x000066d1 
+ 00015431  0x00003381 branch  0x000066c5 
+ 00015432  0x00003386 jam  0x00000009 , 0x00000b03 
+ 00015433  0x00003388 setarg  0x00000000 
+ 00015434  0x00003389 call  0x00003ca7 
+ 00015435  0x0000338a branch  0x000066c5 
+ 00015436  0x0000338f jam  0x0000000a , 0x00000b03 
+ 00015437  0x00003390 setarg  0x00000001 
+ 00015438  0x00003391 call  0x00003ca7 
+ 00015439  0x00003393 call  0x00003c5d 
+ 00015440  0x00003395 fetch  0x00000002 , 0x00004682 
+ 00015441  0x00003396 arg  0x00000002 , 0x00000007 
+ 00015442  0x00003397 qisolate1  0x0000003f 
+ 00015443  0x00003398 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00015444  0x0000339a arg  0x00000009 , 0x00000007 
+ 00015445  0x0000339b qisolate1  0x0000003f 
+ 00015446  0x0000339c setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00015447  0x0000339e fetch  0x00000001 , 0x00004682 
+ 00015448  0x0000339f arg  0x00000004 , 0x00000007 
+ 00015449  0x000033a0 qisolate1  0x0000003f 
+ 00015450  0x000033a1 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00015451  0x000033a3 istoret  0x00000001 , 0x0000000a 
+ 00015452  0x000033a4 branch  0x000066c5 
+ 00015453  0x000033a9 arg  0x00000000 , 0x00000002 
+ 00015454  0x000033aa fetch  0x00000001 , 0x00004093 
+ 00015455  0x000033ab arg  0x00000000 , 0x00000007 
+ 00015456  0x000033ac qisolate1  0x0000003f 
+ 00015457  0x000033ad setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00015458  0x000033ae arg  0x00000001 , 0x00000007 
+ 00015459  0x000033af qisolate1  0x0000003f 
+ 00015460  0x000033b0 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00015461  0x000033b2 fetch  0x00000001 , 0x0000436e 
+ 00015462  0x000033b3 arg  0x00000000 , 0x00000007 
+ 00015463  0x000033b4 qisolate1  0x0000003f 
+ 00015464  0x000033b5 setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00015465  0x000033b6 rtn 
+ 00015466  0x000033bb jam  0x0000000d , 0x00000b03 
+ 00015467  0x000033bc fetch  0x00000001 , 0x00004217 
+ 00015468  0x000033bd mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00015469  0x000033be icopy  0x00000039 
+ 00015470  0x000033bf call  0x00003ca7 
+ 00015471  0x000033c0 fetch  0x00000002 , 0x00004215 
+ 00015472  0x000033c1 icopy  0x00000006 
+ 00015473  0x000033c2 call  0x000066d1 
+ 00015474  0x000033c3 branch  0x000066c5 
+ 00015475  0x000033c8 jam  0x0000000e , 0x00000b03 
+ 00015476  0x000033c9 setarg  0x00000004 
+ 00015477  0x000033ca call  0x00003ca7 
+ 00015478  0x000033cb fetch  0x00000004 , 0x000009ba 
+ 00015479  0x000033cc istore  0x00000004 , 0x0000000a 
+ 00015480  0x000033cd branch  0x000066c5 
+ 00015481  0x000033d2 jam  0x0000000f , 0x00000b03 
+ 00015482  0x000033d3 hfetch  0x00000002 , 0x00008112 
+ 00015483  0x000033d4 arg  0x000000ff , 0x00000002 
+ 00015484  0x000033d5 call  0x00007fdd 
+ 00015485  0x000033d6 copy  0x0000003f , 0x00000039 
+ 00015486  0x000033d7 call  0x00003ca7 
+ 00015487  0x000033d8 call  0x000066cb 
+ 00015488  0x000033d9 call  0x00006703 
+ 00015489  0x000033da branch  0x000066c5 
+ 00015490  0x000033df jam  0x00000010 , 0x00000b03 
+ 00015491  0x000033e0 branch  0x00003c49 
+ 00015492  0x000033e5 jam  0x00000011 , 0x00000b03 
+ 00015493  0x000033e6 setarg  0x00000004 
+ 00015494  0x000033e7 call  0x00003ca7 
+ 00015495  0x000033e8 fetch  0x00000004 , 0x000044c7 
+ 00015496  0x000033e9 istore  0x00000004 , 0x0000000a 
+ 00015497  0x000033ea branch  0x000066c5 
+ 00015498  0x000033ef arg  0x00000180 , 0x00000011 
+ 00015499  0x000033f0 branch  0x00003c91 
+ 00015500  0x000033f3 arg  0x00000080 , 0x00000011 
+ 00015501  0x000033f4 branch  0x00003c91 
+ 00015502  0x000033f7 arg  0x00000101 , 0x00000011 
+ 00015503  0x000033f8 branch  0x00003c91 
+ 00015504  0x000033fb arg  0x00000001 , 0x00000011 
+ 00015505  0x000033fe jam  0x00000000 , 0x00004661 
+ 00015506  0x000033ff jam  0x00000014 , 0x00000b03 
+ 00015507  0x00003400 setarg  0x00000002 
+ 00015508  0x00003401 call  0x00003ca7 
+ 00015509  0x00003402 copy  0x00000011 , 0x0000003f 
+ 00015510  0x00003403 istore  0x00000002 , 0x0000000a 
+ 00015511  0x00003404 branch  0x000066c5 
+ 00015512  0x00003409 arg  0x00000000 , 0x00000013 
+ 00015513  0x0000340a branch  0x00003c9b 
+ 00015514  0x0000340d arg  0x00000001 , 0x00000013 
+ 00015515  0x00003410 jam  0x00000015 , 0x00000b03 
+ 00015516  0x00003411 setarg  0x00000001 
+ 00015517  0x00003412 call  0x00003ca7 
+ 00015518  0x00003413 copy  0x00000013 , 0x0000003f 
+ 00015519  0x00003414 istore  0x00000001 , 0x0000000a 
+ 00015520  0x00003415 branch  0x000066c5 
+ 00015521  0x0000341a jam  0x0000001d , 0x00000b03 
+ 00015522  0x0000341b setarg  0x00000004 
+ 00015523  0x0000341c call  0x00003ca7 
+ 00015524  0x0000341d fetch  0x00000004 , 0x000009ba 
+ 00015525  0x0000341e istore  0x00000004 , 0x0000000a 
+ 00015526  0x0000341f branch  0x000066c5 
+ 00015527  0x0000342b jam  0x00000002 , 0x00000b02 
+ 00015528  0x0000342c store  0x00000001 , 0x00000b04 
+ 00015529  0x0000342d storet  0x00000008 , 0x00000aa2 
+ 00015530  0x0000342e bpatch  0x000000e2 , 0x0000401c 
+ 00015531  0x0000342f call  0x00003cb1 
+ 00015532  0x00003430 fetcht  0x00000008 , 0x00000aa2 
+ 00015533  0x00003431 call  0x000066c2 
+ 00015534  0x00003432 fetch  0x00000003 , 0x00000b02 
+ 00015535  0x00003433 istore  0x00000003 , 0x0000000a 
+ 00015536  0x00003434 rtn 
+ 00015537  0x00003438 call  0x00003cba 
+ 00015538  0x00003439 rtn  0x00000001 
+ 00015539  0x0000343b call  0x00003cb8 
+ 00015540  0x0000343c fetch  0x00000004 , 0x000046a3 
+ 00015541  0x0000343d rshift2  0x0000003f , 0x0000003f 
+ 00015542  0x0000343e rtn  0x00000034 
+ 00015543  0x0000343f branch  0x00003cbe 
+ 00015544  0x00003443 fetcht  0x00000001 , 0x000046a2 
+ 00015545  0x00003444 branch  0x00006829 
+ 00015546  0x00003447 fetcht  0x00000001 , 0x000046a2 
+ 00015547  0x00003448 branch  0x0000681b 
+ 00015548  0x0000344b fetcht  0x00000001 , 0x000046a2 
+ 00015549  0x0000344c branch  0x00006825 
+ 00015550  0x00003450 increase  0xffffffff , 0x0000003f 
+ 00015551  0x00003451 nop  0x00000026 
+ 00015552  0x00003452 nbranch  0x00003cbe , 0x00000034 
+ 00015553  0x00003453 rtn 
+ 00015554  0x0000345d call  0x00003ad4 
+ 00015555  0x0000345e rtn  0x00000028 
+ 00015556  0x0000345f copy  0x00000011 , 0x0000003f 
+ 00015557  0x00003460 store  0x00000002 , 0x000046b7 
+ 00015558  0x00003461 copy  0x00000012 , 0x0000003f 
+ 00015559  0x00003462 store  0x00000001 , 0x000046b6 
+ 00015560  0x00003463 fetch  0x00000002 , 0x00000478 
+ 00015561  0x00003464 fetcht  0x00000002 , 0x000046bb 
+ 00015562  0x00003465 isub  0x00000002 , 0x0000003e 
+ 00015563  0x00003466 branch  0x00003ccf , 0x00000005 
+ 00015564  0x00003467 fetcht  0x00000002 , 0x000046bd 
+ 00015565  0x00003468 isub  0x00000002 , 0x0000003e 
+ 00015566  0x00003469 nrtn  0x00000005 
+ 00015567  0x0000346b store  0x00000002 , 0x000046b9 
+ 00015568  0x0000346c branch  0x00003c3d 
+ 00015569  0x00003472 fetch  0x00000001 , 0x000046bf 
+ 00015570  0x00003473 rtnbit1  0x00000005 
+ 00015571  0x00003474 call  0x00003cf0 
+ 00015572  0x00003475 branch  0x0000340c 
+ 00015573  0x00003479 jam  0x00000002 , 0x00004172 
+ 00015574  0x0000347a rtn 
+ 00015575  0x0000347f branch  0x00003cd8 
+ 00015576  0x00003482 fetch  0x00000001 , 0x000046b2 
+ 00015577  0x00003483 rtn  0x00000034 
+ 00015578  0x00003484 fetch  0x00000001 , 0x000046b3 
+ 00015579  0x00003485 rtn  0x00000034 
+ 00015580  0x00003486 increase  0xffffffff , 0x0000003f 
+ 00015581  0x00003487 store  0x00000001 , 0x000046b3 
+ 00015582  0x00003488 nrtn  0x00000034 
+ 00015583  0x00003489 jam  0x0000000a , 0x000046b3 
+ 00015584  0x0000348a call  0x000068eb 
+ 00015585  0x0000348b call  0x00006908 
+ 00015586  0x0000348c div  0x0000003f , 0x00000064 
+ 00015587  0x0000348d call  0x00007f86 
+ 00015588  0x0000348e quotient  0x0000003f 
+ 00015589  0x0000348f remainder  0x00000002 
+ 00015590  0x00003490 store  0x00000001 , 0x000046b4 
+ 00015591  0x00003491 storet  0x00000001 , 0x000046b5 
+ 00015592  0x00003492 rtn 
+ 00015593  0x00003496 call  0x00007fb4 
+ 00015594  0x00003497 branch  0x000033d9 , 0x00000002 
+ 00015595  0x00003498 branch  0x000033db 
+ 00015596  0x0000349d arg  0x00000006 , 0x00000007 
+ 00015597  0x0000349e branch  0x00003cfc 
+ 00015598  0x000034a1 arg  0x00000006 , 0x00000007 
+ 00015599  0x000034a2 branch  0x00003cf8 
+ 00015600  0x000034a5 arg  0x00000005 , 0x00000007 
+ 00015601  0x000034a6 branch  0x00003cfc 
+ 00015602  0x000034a9 arg  0x00000005 , 0x00000007 
+ 00015603  0x000034aa branch  0x00003cf8 
+ 00015604  0x000034ad arg  0x00000004 , 0x00000007 
+ 00015605  0x000034ae branch  0x00003cfc 
+ 00015606  0x000034b1 arg  0x00000004 , 0x00000007 
+ 00015607  0x000034b2 branch  0x00003cf8 
+ 00015608  0x000034b5 fetch  0x00000001 , 0x000046bf 
+ 00015609  0x000034b6 qset0  0x0000003f 
+ 00015610  0x000034b7 store  0x00000001 , 0x000046bf 
+ 00015611  0x000034b8 rtn 
+ 00015612  0x000034bb fetch  0x00000001 , 0x000046bf 
+ 00015613  0x000034bc qset1  0x0000003f 
+ 00015614  0x000034bd store  0x00000001 , 0x000046bf 
+ 00015615  0x000034be rtn 
+ 00015616  0x000034c9 call  0x00003d39 
+ 00015617  0x000034ca call  0x0000640f 
+ 00015618  0x000034cb call  0x000040c6 
+ 00015619  0x000034cc call  0x00003d66 
+ 00015620  0x000034cd call  0x00006411 
+ 00015621  0x000034ce rtn  0x0000002b 
+ 00015622  0x000034cf call  0x00003d16 
+ 00015623  0x000034d0 call  0x00003d19 
+ 00015624  0x000034d3 fetch  0x00000004 , 0x000046d3 
+ 00015625  0x000034d4 rtnbit1  0x00000010 
+ 00015626  0x000034d5 call  0x00003d4e 
+ 00015627  0x000034d6 rtnmark1  0x00000026 
+ 00015628  0x000034d7 fetch  0x00000002 , 0x00004682 
+ 00015629  0x000034d8 bbit1  0x0000000c , 0x000042b0 
+ 00015630  0x000034d9 branch  0x000042a2 
+ 00015631  0x000034dd fetch  0x00000004 , 0x000046d3 
+ 00015632  0x000034de rtnbit0  0x0000001b 
+ 00015633  0x000034df arg  0x00000014 , 0x00000039 
+ 00015634  0x000034e1 setarg  0x00030d40 
+ 00015635  0x000034e2 call  0x00002a8f 
+ 00015636  0x000034e3 loop  0x00007ec1 
+ 00015637  0x000034e4 rtn 
+ 00015638  0x000034e8 fetch  0x00000004 , 0x000046d3 
+ 00015639  0x000034e9 rtnbit0  0x00000010 
+ 00015640  0x000034ea branch  0x000048ea 
+ 00015641  0x000034ee setarg  0x0000416d 
+ 00015642  0x000034ef store  0x00000002 , 0x000041ef 
+ 00015643  0x000034f0 setarg  0x00003f77 
+ 00015644  0x000034f1 store  0x00000002 , 0x000041f1 
+ 00015645  0x000034f2 setarg  0x00003ebb 
+ 00015646  0x000034f3 store  0x00000002 , 0x000041ed 
+ 00015647  0x000034f4 setarg  0x0000417c 
+ 00015648  0x000034f5 store  0x00000002 , 0x000041f5 
+ 00015649  0x000034f6 setarg  0x00003de3 
+ 00015650  0x000034f7 store  0x00000002 , 0x000041f3 
+ 00015651  0x000034f8 setarg  0x00003eb3 
+ 00015652  0x000034f9 store  0x00000002 , 0x000041eb 
+ 00015653  0x000034fa setarg  0x00003d5b 
+ 00015654  0x000034fb store  0x00000002 , 0x000041f9 
+ 00015655  0x000034fd call  0x00002c7a 
+ 00015656  0x000034fe setarg  0x00004401 
+ 00015657  0x000034ff add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00015658  0x00003500 istore  0x00000002 , 0x00000005 
+ 00015659  0x00003501 setarg  0x00004406 
+ 00015660  0x00003502 add  0x00000013 , 0x000000da , 0x00000005 
+ 00015661  0x00003503 istore  0x00000002 , 0x00000005 
+ 00015662  0x00003504 setarg  0x00003ebf 
+ 00015663  0x00003505 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00015664  0x00003506 istore  0x00000002 , 0x00000005 
+ 00015665  0x00003508 setarg  0x000041f9 
+ 00015666  0x00003509 store  0x00000002 , 0x000041fd 
+ 00015667  0x0000350a setarg  0x00003d36 
+ 00015668  0x0000350b store  0x00000002 , 0x00004201 
+ 00015669  0x0000350c rtn 
+ 00015670  0x0000350f fetch  0x00000004 , 0x000046d3 
+ 00015671  0x00003510 bbit0  0x00000012 , 0x000064d7 
+ 00015672  0x00003511 branch  0x000064da 
+ 00015673  0x00003514 rtn  0x0000002b 
+ 00015674  0x00003515 call  0x00002c9d 
+ 00015675  0x00003516 call  0x00003e6e 
+ 00015676  0x00003517 call  0x00003e1e 
+ 00015677  0x00003518 call  0x00003e54 
+ 00015678  0x00003519 call  0x00005810 
+ 00015679  0x0000351a call  0x00005839 
+ 00015680  0x0000351b call  0x0000582c 
+ 00015681  0x0000351c call  0x00005818 
+ 00015682  0x0000351d fetch  0x00000004 , 0x000046d3 
+ 00015683  0x0000351e bbit1  0x00000014 , 0x00003d46 
+ 00015684  0x0000351f bbit1  0x00000013 , 0x00004414 
+ 00015685  0x00003520 rtn 
+ 00015686  0x00003523 call  0x0000659c 
+ 00015687  0x00003524 fetch  0x00000004 , 0x000046d3 
+ 00015688  0x00003525 isolate1  0x00000019 , 0x0000003f 
+ 00015689  0x00003526 ncall  0x000065c2 , 0x00000001 
+ 00015690  0x00003527 call  0x0000443f 
+ 00015691  0x00003528 call  0x00003dc9 
+ 00015692  0x00003529 call  0x000041aa 
+ 00015693  0x0000352a branch  0x000065df 
+ 00015694  0x0000352d fetch  0x00000004 , 0x000046d3 
+ 00015695  0x0000352e bbit0  0x0000001e , 0x00003d53 
+ 00015696  0x0000352f fetch  0x00000001 , 0x00000abd 
+ 00015697  0x00003530 isolate0  0x00000003 , 0x0000003f 
+ 00015698  0x00003531 nrtn  0x00000001 
+ 00015699  0x00003533 fetch  0x00000001 , 0x0000471f 
+ 00015700  0x00003534 store  0x00000001 , 0x0000471e 
+ 00015701  0x00003535 fetch  0x00000001 , 0x000046f5 
+ 00015702  0x00003536 rtnbit1  0x00000006 
+ 00015703  0x00003538 fetch  0x00000004 , 0x000046d3 
+ 00015704  0x00003539 rtnbit0  0x00000011 
+ 00015705  0x0000353a bbit1  0x0000001d , 0x00002ee4 
+ 00015706  0x0000353b branch  0x00002f2c 
+ 00015707  0x0000353d fetch  0x00000001 , 0x00000478 
+ 00015708  0x0000353e sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00015709  0x0000353f nrtn  0x00000005 
+ 00015710  0x00003540 jam  0x00000012 , 0x00000a99 
+ 00015711  0x00003541 call  0x00007d8f 
+ 00015712  0x00003543 arg  0x00000000 , 0x00000007 
+ 00015713  0x00003544 branch  0x000041b9 
+ 00015714  0x00003547 fetch  0x00000001 , 0x000046b6 
+ 00015715  0x00003548 rtneq  0x00000001 
+ 00015716  0x00003549 jam  0x00000001 , 0x000046b6 
+ 00015717  0x0000354a rtn 
+ 00015718  0x0000354c fetch  0x00000001 , 0x000046e1 
+ 00015719  0x0000354d and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00015720  0x0000354e store  0x00000001 , 0x0000477a 
+ 00015721  0x0000354f branch  0x00003d80 
+ 00015722  0x00003553 fetcht  0x00000001 , 0x000046e7 
+ 00015723  0x00003554 call  0x0000681d 
+ 00015724  0x00003555 nbranch  0x00003d62 , 0x00000001 
+ 00015725  0x00003557 fetch  0x00000001 , 0x000046b6 
+ 00015726  0x00003558 rtneq  0x00000000 
+ 00015727  0x00003559 jam  0x00000000 , 0x000046b6 
+ 00015728  0x0000355a fetch  0x00000001 , 0x0000477a 
+ 00015729  0x0000355b increase  0x00000001 , 0x0000003f 
+ 00015730  0x0000355c and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00015731  0x0000355d store  0x00000001 , 0x0000477a 
+ 00015732  0x0000355e call  0x00003d7e 
+ 00015733  0x0000355f fetch  0x00000004 , 0x000046d3 
+ 00015734  0x00003560 bbit1  0x00000014 , 0x0000443b 
+ 00015735  0x00003561 bbit1  0x00000013 , 0x00003d79 
+ 00015736  0x00003562 rtn 
+ 00015737  0x00003564 arg  0x0000001e , 0x00000002 
+ 00015738  0x00003565 call  0x0000680e 
+ 00015739  0x00003566 arg  0x0000001f , 0x00000002 
+ 00015740  0x00003567 call  0x0000680e 
+ 00015741  0x00003568 branch  0x00004435 
+ 00015742  0x0000356b bpatch  0x000000e3 , 0x0000401c 
+ 00015743  0x0000356c call  0x0000424a 
+ 00015744  0x0000356d fetch  0x00000001 , 0x000046e0 
+ 00015745  0x0000356e beq  0x00000005 , 0x00003daa 
+ 00015746  0x0000356f beq  0x00000004 , 0x00003d96 
+ 00015747  0x00003570 fetch  0x00000001 , 0x0000477a 
+ 00015748  0x00003571 beq  0x00000000 , 0x00003d8a 
+ 00015749  0x00003572 beq  0x00000001 , 0x00003d88 
+ 00015750  0x00003573 beq  0x00000002 , 0x00003d8c 
+ 00015751  0x00003574 beq  0x00000003 , 0x00003d8e 
+ 00015752  0x00003576 fetch  0x00000001 , 0x00004780 
+ 00015753  0x00003577 branch  0x00003dbe 
+ 00015754  0x00003579 fetch  0x00000001 , 0x0000477f 
+ 00015755  0x0000357a branch  0x00003dbe 
+ 00015756  0x0000357c fetch  0x00000001 , 0x00004781 
+ 00015757  0x0000357d branch  0x00003dbe 
+ 00015758  0x0000357f fetch  0x00000001 , 0x00004782 
+ 00015759  0x00003580 branch  0x00003dbe 
+ 00015760  0x00003582 fetch  0x00000001 , 0x000046e0 
+ 00015761  0x00003583 rtneq  0x00000006 
+ 00015762  0x00003584 fetch  0x00000001 , 0x000046b5 
+ 00015763  0x00003585 increase  0x00000001 , 0x0000003f 
+ 00015764  0x00003586 store  0x00000001 , 0x000046b5 
+ 00015765  0x00003587 rtn 
+ 00015766  0x0000358a fetch  0x00000001 , 0x0000477a 
+ 00015767  0x0000358b beq  0x00000000 , 0x00003d9d 
+ 00015768  0x0000358c beq  0x00000001 , 0x00003d9b 
+ 00015769  0x0000358d beq  0x00000002 , 0x00003d9f 
+ 00015770  0x0000358e beq  0x00000003 , 0x00003da1 
+ 00015771  0x00003590 fetch  0x00000001 , 0x00004784 
+ 00015772  0x00003591 branch  0x00003da2 
+ 00015773  0x00003593 fetch  0x00000001 , 0x00004783 
+ 00015774  0x00003594 branch  0x00003da2 
+ 00015775  0x00003596 fetch  0x00000001 , 0x00004785 
+ 00015776  0x00003597 branch  0x00003da2 
+ 00015777  0x00003599 fetch  0x00000001 , 0x00004786 
+ 00015778  0x0000359b store  0x00000001 , 0x000046b5 
+ 00015779  0x0000359c lshift8  0x0000003f , 0x0000003f 
+ 00015780  0x0000359d copy  0x0000003f , 0x00000011 
+ 00015781  0x0000359e add  0x0000003f , 0x0000000d , 0x0000003f 
+ 00015782  0x0000359f call  0x00006413 
+ 00015783  0x000035a0 copy  0x00000011 , 0x0000003f 
+ 00015784  0x000035a1 add  0x0000003f , 0x0000000e , 0x0000003f 
+ 00015785  0x000035a2 branch  0x00006413 
+ 00015786  0x000035a5 fetch  0x00000001 , 0x0000477a 
+ 00015787  0x000035a6 beq  0x00000000 , 0x00003db1 
+ 00015788  0x000035a7 beq  0x00000001 , 0x00003daf 
+ 00015789  0x000035a8 beq  0x00000002 , 0x00003db3 
+ 00015790  0x000035a9 beq  0x00000003 , 0x00003db5 
+ 00015791  0x000035ab fetch  0x00000001 , 0x00004788 
+ 00015792  0x000035ac branch  0x00003db6 
+ 00015793  0x000035ae fetch  0x00000001 , 0x00004787 
+ 00015794  0x000035af branch  0x00003db6 
+ 00015795  0x000035b1 fetch  0x00000001 , 0x00004789 
+ 00015796  0x000035b2 branch  0x00003db6 
+ 00015797  0x000035b4 fetch  0x00000001 , 0x0000478a 
+ 00015798  0x000035b6 store  0x00000001 , 0x000046b5 
+ 00015799  0x000035b7 call  0x000040c0 
+ 00015800  0x000035b8 fetch  0x00000001 , 0x000046b5 
+ 00015801  0x000035ba add  0x0000003f , 0x00000080 , 0x0000003f 
+ 00015802  0x000035bb lshift8  0x0000003f , 0x0000003f 
+ 00015803  0x000035bc add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00015804  0x000035bd copy  0x0000003f , 0x00000011 
+ 00015805  0x000035be branch  0x0000415a 
+ 00015806  0x000035c1 store  0x00000001 , 0x000046b5 
+ 00015807  0x000035c2 call  0x00003d90 
+ 00015808  0x000035c3 fetch  0x00000001 , 0x000046b5 
+ 00015809  0x000035c4 setarg  0x00000006 
+ 00015810  0x000035c5 call  0x00006414 
+ 00015811  0x000035c6 and  0x0000003f , 0x000000f8 , 0x00000002 
+ 00015812  0x000035c7 fetch  0x00000001 , 0x000046b5 
+ 00015813  0x000035c8 iadd  0x00000002 , 0x0000003f 
+ 00015814  0x000035c9 lshift8  0x0000003f , 0x0000003f 
+ 00015815  0x000035ca add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00015816  0x000035cb branch  0x00006413 
+ 00015817  0x000035cf call  0x000033c4 
+ 00015818  0x000035d0 branch  0x00004316 , 0x00000005 
+ 00015819  0x000035d1 call  0x0000441c 
+ 00015820  0x000035d2 call  0x000042e4 
+ 00015821  0x000035d3 branch  0x000033bd 
+ 00015822  0x000035d7 fetch  0x00000002 , 0x00004707 
+ 00015823  0x000035d8 rtn  0x00000034 
+ 00015824  0x000035d9 fetch  0x00000004 , 0x000046d3 
+ 00015825  0x000035da rtnbit0  0x00000011 
+ 00015826  0x000035db rtnbit1  0x00000003 
+ 00015827  0x000035dc rtnmark1  0x00000026 
+ 00015828  0x000035dd call  0x00004083 
+ 00015829  0x000035de rtnne  0x00000007 
+ 00015830  0x000035df call  0x00004482 
+ 00015831  0x000035e0 arg  0x00000003 , 0x00000007 
+ 00015832  0x000035e1 call  0x000043ce 
+ 00015833  0x000035e2 setarg  0x00000000 
+ 00015834  0x000035e3 store  0x00000002 , 0x000046ae 
+ 00015835  0x000035e4 store  0x00000001 , 0x000046b4 
+ 00015836  0x000035e5 call  0x00003263 
+ 00015837  0x000035e7 fetch  0x00000002 , 0x00004682 
+ 00015838  0x000035e8 bbit1  0x00000007 , 0x00004392 
+ 00015839  0x000035e9 bbit1  0x00000009 , 0x00003402 
+ 00015840  0x000035ea bbit1  0x00000000 , 0x000033e9 
+ 00015841  0x000035eb call  0x000042ca 
+ 00015842  0x000035ec branch  0x00002ead 
+ 00015843  0x000035f0 call  0x00003dce 
+ 00015844  0x000035f1 call  0x00007e34 
+ 00015845  0x000035f2 call  0x00003d6a 
+ 00015846  0x000035f3 call  0x00003de9 
+ 00015847  0x000035f4 call  0x00003ee0 
+ 00015848  0x000035f5 branch  0x00003df7 
+ 00015849  0x000035f7 fetch  0x00000004 , 0x000046d3 
+ 00015850  0x000035f8 rtnbit0  0x00000010 
+ 00015851  0x000035f9 call  0x000048d3 
+ 00015852  0x000035fa branch  0x000048fd 
+ 00015853  0x000035fd hfetch  0x00000001 , 0x00008a04 
+ 00015854  0x000035fe bbit0  0x00000007 , 0x00003df1 
+ 00015855  0x000035ff bbit1  0x00000007 , 0x00003df4 
+ 00015856  0x00003600 rtn 
+ 00015857  0x00003602 fetch  0x00000001 , 0x000046ff 
+ 00015858  0x00003603 rtnbit0  0x00000007 
+ 00015859  0x00003604 branch  0x0000659a 
+ 00015860  0x00003606 fetch  0x00000001 , 0x000046ff 
+ 00015861  0x00003607 rtnbit1  0x00000007 
+ 00015862  0x00003608 branch  0x00004381 
+ 00015863  0x0000360b call  0x00003ded 
+ 00015864  0x0000360c hfetch  0x00000001 , 0x00008a04 
+ 00015865  0x0000360d store  0x00000001 , 0x000046ff 
+ 00015866  0x0000360e rtnbit0  0x00000007 
+ 00015867  0x0000360f call  0x00003e07 
+ 00015868  0x00003610 fetch  0x00000004 , 0x000046f9 
+ 00015869  0x00003611 fetcht  0x00000001 , 0x000046fd 
+ 00015870  0x00003612 iadd  0x00000002 , 0x00000002 
+ 00015871  0x00003613 copy  0x00000022 , 0x0000003f 
+ 00015872  0x00003614 isub  0x00000002 , 0x0000003e 
+ 00015873  0x00003615 nrtn  0x00000002 
+ 00015874  0x00003616 store  0x00000004 , 0x000046f9 
+ 00015875  0x00003617 call  0x00003f97 
+ 00015876  0x00003618 nrtn  0x00000028 
+ 00015877  0x00003619 jam  0x00000004 , 0x00000d38 
+ 00015878  0x0000361a branch  0x00003e0f 
+ 00015879  0x0000361d fetcht  0x00000004 , 0x000046f9 
+ 00015880  0x0000361e copy  0x00000022 , 0x0000003f 
+ 00015881  0x0000361f isub  0x00000002 , 0x0000003e 
+ 00015882  0x00003620 ncall  0x00003e0c , 0x00000002 
+ 00015883  0x00003621 rtn 
+ 00015884  0x00003623 setarg  0x00000000 
+ 00015885  0x00003624 store  0x00000004 , 0x000046f9 
+ 00015886  0x00003625 rtn 
+ 00015887  0x0000362a fetch  0x00000001 , 0x00000d38 
+ 00015888  0x0000362b rtnbit0  0x00000002 
+ 00015889  0x0000362c branch  0x00003e12 
+ 00015890  0x0000362e hfetch  0x00000001 , 0x00008a04 
+ 00015891  0x0000362f rtnbit0  0x00000007 
+ 00015892  0x00003630 jam  0x00000020 , 0x00000d52 
+ 00015893  0x00003631 setarg  0x00000001 
+ 00015894  0x00003632 store  0x00000001 , 0x00000d54 
+ 00015895  0x00003633 fetch  0x00000007 , 0x0000469a 
+ 00015896  0x00003634 istore  0x00000007 , 0x00000005 
+ 00015897  0x00003635 rtn 
+ 00015898  0x00003639 hfetch  0x00000002 , 0x00008050 
+ 00015899  0x0000363a set0  0x0000000b , 0x0000003f 
+ 00015900  0x0000363b hstore  0x00000002 , 0x00008050 
+ 00015901  0x0000363c rtn 
+ 00015902  0x0000363f setarg  0x00008c00 
+ 00015903  0x00003640 store  0x00000002 , 0x00004575 
+ 00015904  0x00003641 setarg  0x00008e7a 
+ 00015905  0x00003642 store  0x00000002 , 0x000044bc 
+ 00015906  0x00003643 setarg  0x00002402 
+ 00015907  0x00003644 store  0x00000002 , 0x000040bd 
+ 00015908  0x00003645 setarg  0x00002580 
+ 00015909  0x00003646 store  0x00000003 , 0x000040aa 
+ 00015910  0x00003647 jam  0x00000003 , 0x00004173 
+ 00015911  0x00003648 jam  0x00000008 , 0x00004156 
+ 00015912  0x00003649 jam  0x00000001 , 0x000046d9 
+ 00015913  0x0000364a setarg  0x00000200 
+ 00015914  0x0000364b store  0x00000002 , 0x00004154 
+ 00015915  0x0000364c jam  0x00000017 , 0x000044a6 
+ 00015916  0x0000364d jam  0x00000017 , 0x000044a8 
+ 00015917  0x0000364f setarg  0x00000a77 
+ 00015918  0x00003650 store  0x00000002 , 0x00004212 
+ 00015919  0x00003660 setsect  0x00000000 , 0x00000306 
+ 00015920  0x00003661 setsect  0x00000001 , 0x00004440 
+ 00015921  0x00003662 setsect  0x00000002 , 0x00010000 
+ 00015922  0x00003663 setsect  0x00000003 , 0x00004408 
+ 00015923  0x00003664 store  0x00000009 , 0x00004577 
+ 00015924  0x00003665 setsect  0x00000000 , 0x00001224 
+ 00015925  0x00003666 setsect  0x00000001 , 0x00004000 
+ 00015926  0x00003667 setsect  0x00000002 , 0x00000000 
+ 00015927  0x00003668 istore  0x00000005 , 0x00000005 
+ 00015928  0x0000366a setsect  0x00000000 , 0x0003ffff 
+ 00015929  0x0000366b setsect  0x00000001 , 0x0002fe23 
+ 00015930  0x0000366c setsect  0x00000002 , 0x000199d9 
+ 00015931  0x0000366d setsect  0x00000003 , 0x0000020d 
+ 00015932  0x0000366e store  0x00000008 , 0x00004098 
+ 00015933  0x00003670 setarg  0x0000012c 
+ 00015934  0x00003671 store  0x00000002 , 0x00004707 
+ 00015935  0x00003672 call  0x000057a3 
+ 00015936  0x00003673 fetch  0x00000004 , 0x000046d3 
+ 00015937  0x00003674 rtnbit0  0x0000001f 
+ 00015938  0x00003675 call  0x00003e44 
+ 00015939  0x00003676 branch  0x00003e4c 
+ 00015940  0x00003679 fetcht  0x00000001 , 0x000046f7 
+ 00015941  0x0000367a call  0x000067fb 
+ 00015942  0x0000367b fetcht  0x00000001 , 0x000046f7 
+ 00015943  0x0000367c call  0x0000681d 
+ 00015944  0x0000367d jam  0x00000003 , 0x000046f6 
+ 00015945  0x0000367e rtn  0x00000001 
+ 00015946  0x0000367f jam  0x00000002 , 0x000046f6 
+ 00015947  0x00003680 rtn 
+ 00015948  0x00003683 fetcht  0x00000001 , 0x000046f8 
+ 00015949  0x00003684 call  0x000067fb 
+ 00015950  0x00003685 fetcht  0x00000001 , 0x000046f8 
+ 00015951  0x00003686 call  0x0000681d 
+ 00015952  0x00003687 jam  0x00000000 , 0x0000422d 
+ 00015953  0x00003688 rtn  0x00000001 
+ 00015954  0x00003689 jam  0x00000002 , 0x0000422d 
+ 00015955  0x0000368a rtn 
+ 00015956  0x0000368e fetch  0x00000001 , 0x0000422d 
+ 00015957  0x0000368f beq  0x00000000 , 0x00003e59 
+ 00015958  0x00003690 beq  0x00000001 , 0x00003e62 
+ 00015959  0x00003691 beq  0x00000002 , 0x00003e6b 
+ 00015960  0x00003692 branch  0x00003e59 
+ 00015961  0x00003695 fetcht  0x00000002 , 0x00004221 
+ 00015962  0x00003696 fetch  0x00000002 , 0x00004227 
+ 00015963  0x00003697 isub  0x00000002 , 0x0000003f 
+ 00015964  0x00003698 mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00015965  0x00003699 div  0x0000003f , 0x00000064 
+ 00015966  0x0000369a call  0x00007f86 
+ 00015967  0x0000369b quotient  0x0000003f 
+ 00015968  0x0000369c store  0x00000002 , 0x000046d0 
+ 00015969  0x0000369d rtn 
+ 00015970  0x0000369f fetcht  0x00000002 , 0x0000421f 
+ 00015971  0x000036a0 fetch  0x00000002 , 0x00004225 
+ 00015972  0x000036a1 isub  0x00000002 , 0x0000003f 
+ 00015973  0x000036a2 mul32  0x0000003f , 0x000000e6 , 0x0000003f 
+ 00015974  0x000036a3 div  0x0000003f , 0x00000190 
+ 00015975  0x000036a4 call  0x00007f86 
+ 00015976  0x000036a5 quotient  0x0000003f 
+ 00015977  0x000036a6 store  0x00000002 , 0x000046d0 
+ 00015978  0x000036a7 rtn 
+ 00015979  0x000036a9 fetch  0x00000002 , 0x00004223 
+ 00015980  0x000036aa store  0x00000002 , 0x000046d0 
+ 00015981  0x000036ab rtn 
+ 00015982  0x000036ad fetcht  0x00000001 , 0x0000423a 
+ 00015983  0x000036ae call  0x0000680e 
+ 00015984  0x000036af call  0x000048fb 
+ 00015985  0x000036b0 fetcht  0x00000001 , 0x000046e2 
+ 00015986  0x000036b1 call  0x000067fb 
+ 00015987  0x000036b2 fetcht  0x00000001 , 0x000046e3 
+ 00015988  0x000036b3 call  0x000067fb 
+ 00015989  0x000036b4 fetcht  0x00000001 , 0x000046e4 
+ 00015990  0x000036b5 call  0x000067fb 
+ 00015991  0x000036b6 fetcht  0x00000001 , 0x000046f3 
+ 00015992  0x000036b7 call  0x000067fb 
+ 00015993  0x000036b9 fetcht  0x00000001 , 0x000046dc 
+ 00015994  0x000036ba call  0x0000680e 
+ 00015995  0x000036bc fetcht  0x00000001 , 0x000046e8 
+ 00015996  0x000036bd call  0x000067fb 
+ 00015997  0x000036bf fetcht  0x00000001 , 0x000046e9 
+ 00015998  0x000036c0 call  0x000067fb 
+ 00015999  0x000036c2 fetcht  0x00000001 , 0x000046ea 
+ 00016000  0x000036c3 call  0x000067fb 
+ 00016001  0x000036c4 fetcht  0x00000001 , 0x000046eb 
+ 00016002  0x000036c5 call  0x000067fb 
+ 00016003  0x000036c7 fetcht  0x00000001 , 0x000046e5 
+ 00016004  0x000036c8 call  0x000067fb 
+ 00016005  0x000036c9 fetcht  0x00000001 , 0x000046e6 
+ 00016006  0x000036ca call  0x000067fb 
+ 00016007  0x000036cc fetcht  0x00000001 , 0x000046ef 
+ 00016008  0x000036cd call  0x0000680e 
+ 00016009  0x000036cf fetcht  0x00000001 , 0x000046f0 
+ 00016010  0x000036d0 call  0x0000680e 
+ 00016011  0x000036d2 fetcht  0x00000001 , 0x000046f1 
+ 00016012  0x000036d3 call  0x0000680e 
+ 00016013  0x000036d5 fetcht  0x00000001 , 0x000046f2 
+ 00016014  0x000036d6 call  0x0000680e 
+ 00016015  0x000036d8 fetcht  0x00000001 , 0x000046f4 
+ 00016016  0x000036d9 call  0x0000680e 
+ 00016017  0x000036db fetcht  0x00000001 , 0x000046ed 
+ 00016018  0x000036dc call  0x000067fb 
+ 00016019  0x000036de fetcht  0x00000001 , 0x000046ec 
+ 00016020  0x000036df call  0x000067fb 
+ 00016021  0x000036e1 fetcht  0x00000001 , 0x000046e7 
+ 00016022  0x000036e2 branch  0x000067fb 
+ 00016023  0x000036e5 fetcht  0x00000001 , 0x000046e8 
+ 00016024  0x000036e6 call  0x000067dd 
+ 00016025  0x000036e7 fetcht  0x00000001 , 0x000046e9 
+ 00016026  0x000036e8 call  0x000067dd 
+ 00016027  0x000036e9 fetcht  0x00000001 , 0x000046ea 
+ 00016028  0x000036ea call  0x000067dd 
+ 00016029  0x000036eb fetcht  0x00000001 , 0x000046eb 
+ 00016030  0x000036ec branch  0x000067dd 
+ 00016031  0x000036ef fetcht  0x00000001 , 0x000046e8 
+ 00016032  0x000036f0 call  0x00003ea7 
+ 00016033  0x000036f1 fetcht  0x00000001 , 0x000046e9 
+ 00016034  0x000036f2 call  0x00003ea7 
+ 00016035  0x000036f3 fetcht  0x00000001 , 0x000046ea 
+ 00016036  0x000036f4 call  0x00003ea7 
+ 00016037  0x000036f5 fetcht  0x00000001 , 0x000046eb 
+ 00016038  0x000036f6 branch  0x00003ea7 
+ 00016039  0x000036f9 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00016040  0x000036fa rtn  0x00000005 
+ 00016041  0x000036fb and  0x00000002 , 0x0000007f , 0x00000007 
+ 00016042  0x000036fc hfetch  0x00000004 , 0x0000811c 
+ 00016043  0x000036fd qisolate1  0x0000003f 
+ 00016044  0x000036fe hfetch  0x00000004 , 0x00008078 
+ 00016045  0x000036ff qsetflag  0x00000001 , 0x0000003f 
+ 00016046  0x00003700 hstore  0x00000004 , 0x00008078 
+ 00016047  0x00003701 hfetch  0x00000004 , 0x0000807c 
+ 00016048  0x00003702 nqsetflag  0x00000001 , 0x0000003f 
+ 00016049  0x00003703 hstore  0x00000004 , 0x0000807c 
+ 00016050  0x00003704 rtn 
+ 00016051  0x00003707 enable  0x00000028 
+ 00016052  0x00003708 hfetch  0x00000004 , 0x00008138 
+ 00016053  0x00003709 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00016054  0x0000370a hstore  0x00000004 , 0x0000804c 
+ 00016055  0x0000370b call  0x00002c21 
+ 00016056  0x0000370c call  0x00004482 
+ 00016057  0x0000370d call  0x00003e9f 
+ 00016058  0x0000370f branch  0x00003ebf 
+ 00016059  0x00003714 call  0x00003ebf 
+ 00016060  0x00003715 fetch  0x00000001 , 0x000000a0 
+ 00016061  0x00003716 nrtn  0x00000034 
+ 00016062  0x00003717 branch  0x000067ed 
+ 00016063  0x0000371a call  0x00003ee0 
+ 00016064  0x0000371b arg  0x00000019 , 0x00000002 
+ 00016065  0x0000371c fetch  0x00000004 , 0x000046d3 
+ 00016066  0x0000371d isolate1  0x00000012 , 0x0000003f 
+ 00016067  0x0000371e call  0x00003ede , 0x00000001 
+ 00016068  0x0000371f call  0x0000680e 
+ 00016069  0x00003720 call  0x000063ee 
+ 00016070  0x00003724 fetcht  0x00000001 , 0x000046e2 
+ 00016071  0x00003725 call  0x000067dd 
+ 00016072  0x00003726 fetcht  0x00000001 , 0x000046e3 
+ 00016073  0x00003727 call  0x000067dd 
+ 00016074  0x00003728 fetcht  0x00000001 , 0x000046e4 
+ 00016075  0x00003729 call  0x000067dd 
+ 00016076  0x0000372b fetcht  0x00000001 , 0x000046e5 
+ 00016077  0x0000372c call  0x000067dd 
+ 00016078  0x0000372d fetcht  0x00000001 , 0x000046e6 
+ 00016079  0x0000372e call  0x000067dd 
+ 00016080  0x0000372f fetcht  0x00000001 , 0x000046e7 
+ 00016081  0x00003730 call  0x000067dd 
+ 00016082  0x00003731 fetcht  0x00000001 , 0x000046ed 
+ 00016083  0x00003732 call  0x000067dd 
+ 00016084  0x00003733 fetcht  0x00000001 , 0x000046e8 
+ 00016085  0x00003734 call  0x000067dd 
+ 00016086  0x00003735 fetcht  0x00000001 , 0x000046e9 
+ 00016087  0x00003736 call  0x000067dd 
+ 00016088  0x00003737 fetcht  0x00000001 , 0x000046ea 
+ 00016089  0x00003738 call  0x000067dd 
+ 00016090  0x00003739 fetcht  0x00000001 , 0x000046eb 
+ 00016091  0x0000373a call  0x000067dd 
+ 00016092  0x0000373b fetcht  0x00000001 , 0x000046f3 
+ 00016093  0x0000373c branch  0x000067e1 
+ 00016094  0x00003741 arg  0x0000001e , 0x00000002 
+ 00016095  0x00003742 rtn 
+ 00016096  0x00003745 bpatch  0x000000e4 , 0x0000401c 
+ 00016097  0x00003746 call  0x00003eee 
+ 00016098  0x00003747 call  0x00003f36 
+ 00016099  0x00003748 fetch  0x00000001 , 0x000046b8 
+ 00016100  0x00003749 fetcht  0x00000001 , 0x000046b7 
+ 00016101  0x0000374a store  0x00000001 , 0x000046b7 
+ 00016102  0x0000374b isub  0x00000002 , 0x0000003e 
+ 00016103  0x0000374c nbranch  0x000033d4 , 0x00000005 
+ 00016104  0x0000374d fetch  0x00000001 , 0x000046be 
+ 00016105  0x0000374e fetcht  0x00000001 , 0x000046bd 
+ 00016106  0x0000374f store  0x00000001 , 0x000046bd 
+ 00016107  0x00003750 isub  0x00000002 , 0x0000003e 
+ 00016108  0x00003751 nbranch  0x000033d4 , 0x00000005 
+ 00016109  0x00003752 rtn 
+ 00016110  0x00003754 fetch  0x00000001 , 0x000046ea 
+ 00016111  0x00003755 rtneq  0x000000ff 
+ 00016112  0x00003756 arg  0x00000000 , 0x00000011 
+ 00016113  0x00003757 fetcht  0x00000001 , 0x000046ea 
+ 00016114  0x00003758 call  0x0000681d 
+ 00016115  0x00003759 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016116  0x0000375a fetcht  0x00000001 , 0x000046eb 
+ 00016117  0x0000375b call  0x0000681d 
+ 00016118  0x0000375c setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016119  0x0000375d copy  0x00000011 , 0x0000003f 
+ 00016120  0x0000375e store  0x00000001 , 0x000046b8 
+ 00016121  0x0000375f beq  0x00000001 , 0x00003efe 
+ 00016122  0x00003760 beq  0x00000002 , 0x00003f02 
+ 00016123  0x00003761 fetch  0x00000001 , 0x000046b9 
+ 00016124  0x00003762 bbit1  0x00000007 , 0x00003f0e 
+ 00016125  0x00003763 rtn 
+ 00016126  0x00003766 fetch  0x00000001 , 0x000046b7 
+ 00016127  0x00003767 beq  0x00000000 , 0x00003f06 
+ 00016128  0x00003768 beq  0x00000003 , 0x00003f08 
+ 00016129  0x00003769 rtn 
+ 00016130  0x0000376b fetch  0x00000001 , 0x000046b7 
+ 00016131  0x0000376c beq  0x00000000 , 0x00003f0a 
+ 00016132  0x0000376d beq  0x00000003 , 0x00003f0c 
+ 00016133  0x0000376e rtn 
+ 00016134  0x00003770 jam  0x00000082 , 0x000046b9 
+ 00016135  0x00003771 rtn 
+ 00016136  0x00003773 jam  0x00000081 , 0x000046b9 
+ 00016137  0x00003774 rtn 
+ 00016138  0x00003776 jam  0x00000080 , 0x000046b9 
+ 00016139  0x00003777 rtn 
+ 00016140  0x00003779 jam  0x00000083 , 0x000046b9 
+ 00016141  0x0000377a rtn 
+ 00016142  0x0000377c fetch  0x00000001 , 0x000046b9 
+ 00016143  0x0000377d set0  0x00000007 , 0x0000003f 
+ 00016144  0x0000377e store  0x00000001 , 0x000046b9 
+ 00016145  0x0000377f beq  0x00000000 , 0x00003f16 
+ 00016146  0x00003780 beq  0x00000001 , 0x00003f19 
+ 00016147  0x00003781 beq  0x00000002 , 0x00003f1c 
+ 00016148  0x00003782 beq  0x00000003 , 0x00003f1f 
+ 00016149  0x00003783 rtn 
+ 00016150  0x00003785 fetch  0x00000001 , 0x000046b8 
+ 00016151  0x00003786 beq  0x00000003 , 0x00003f22 
+ 00016152  0x00003787 rtn 
+ 00016153  0x00003789 fetch  0x00000001 , 0x000046b8 
+ 00016154  0x0000378a beq  0x00000000 , 0x00003f22 
+ 00016155  0x0000378b rtn 
+ 00016156  0x0000378d fetch  0x00000001 , 0x000046b8 
+ 00016157  0x0000378e beq  0x00000003 , 0x00003f2c 
+ 00016158  0x0000378f rtn 
+ 00016159  0x00003791 fetch  0x00000001 , 0x000046b8 
+ 00016160  0x00003792 beq  0x00000000 , 0x00003f2c 
+ 00016161  0x00003793 rtn 
+ 00016162  0x00003795 fetch  0x00000001 , 0x000046bc 
+ 00016163  0x00003796 increase  0x00000001 , 0x0000003f 
+ 00016164  0x00003797 store  0x00000001 , 0x000046bc 
+ 00016165  0x00003798 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016166  0x00003799 rtn  0x00000002 
+ 00016167  0x0000379a jam  0x00000000 , 0x000046bc 
+ 00016168  0x0000379b fetch  0x00000001 , 0x000046ba 
+ 00016169  0x0000379c increase  0x00000001 , 0x0000003f 
+ 00016170  0x0000379d store  0x00000001 , 0x000046ba 
+ 00016171  0x0000379e rtn 
+ 00016172  0x000037a0 fetch  0x00000001 , 0x000046bb 
+ 00016173  0x000037a1 increase  0x00000001 , 0x0000003f 
+ 00016174  0x000037a2 store  0x00000001 , 0x000046bb 
+ 00016175  0x000037a3 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016176  0x000037a4 rtn  0x00000002 
+ 00016177  0x000037a5 jam  0x00000000 , 0x000046bb 
+ 00016178  0x000037a6 fetch  0x00000001 , 0x000046ba 
+ 00016179  0x000037a7 increase  0xffffffff , 0x0000003f 
+ 00016180  0x000037a8 store  0x00000001 , 0x000046ba 
+ 00016181  0x000037a9 rtn 
+ 00016182  0x000037ad fetch  0x00000001 , 0x000046e8 
+ 00016183  0x000037ae rtneq  0x000000ff 
+ 00016184  0x000037af arg  0x00000000 , 0x00000011 
+ 00016185  0x000037b0 fetcht  0x00000001 , 0x000046e8 
+ 00016186  0x000037b1 call  0x0000681d 
+ 00016187  0x000037b2 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016188  0x000037b3 fetcht  0x00000001 , 0x000046e9 
+ 00016189  0x000037b4 call  0x0000681d 
+ 00016190  0x000037b5 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016191  0x000037b6 copy  0x00000011 , 0x0000003f 
+ 00016192  0x000037b7 store  0x00000001 , 0x000046be 
+ 00016193  0x000037b8 beq  0x00000001 , 0x00003f46 
+ 00016194  0x000037b9 beq  0x00000002 , 0x00003f4a 
+ 00016195  0x000037ba fetch  0x00000001 , 0x000046bf 
+ 00016196  0x000037bb bbit1  0x00000007 , 0x00003f56 
+ 00016197  0x000037bc rtn 
+ 00016198  0x000037bf fetch  0x00000001 , 0x000046bd 
+ 00016199  0x000037c0 beq  0x00000000 , 0x00003f4e 
+ 00016200  0x000037c1 beq  0x00000003 , 0x00003f50 
+ 00016201  0x000037c2 rtn 
+ 00016202  0x000037c4 fetch  0x00000001 , 0x000046bd 
+ 00016203  0x000037c5 beq  0x00000000 , 0x00003f52 
+ 00016204  0x000037c6 beq  0x00000003 , 0x00003f54 
+ 00016205  0x000037c7 rtn 
+ 00016206  0x000037c9 jam  0x00000082 , 0x000046bf 
+ 00016207  0x000037ca rtn 
+ 00016208  0x000037cc jam  0x00000081 , 0x000046bf 
+ 00016209  0x000037cd rtn 
+ 00016210  0x000037cf jam  0x00000080 , 0x000046bf 
+ 00016211  0x000037d0 rtn 
+ 00016212  0x000037d2 jam  0x00000083 , 0x000046bf 
+ 00016213  0x000037d3 rtn 
+ 00016214  0x000037d5 fetch  0x00000001 , 0x000046bf 
+ 00016215  0x000037d6 set0  0x00000007 , 0x0000003f 
+ 00016216  0x000037d7 store  0x00000001 , 0x000046bf 
+ 00016217  0x000037d8 beq  0x00000000 , 0x00003f5e 
+ 00016218  0x000037d9 beq  0x00000001 , 0x00003f61 
+ 00016219  0x000037da beq  0x00000002 , 0x00003f64 
+ 00016220  0x000037db beq  0x00000003 , 0x00003f67 
+ 00016221  0x000037dc rtn 
+ 00016222  0x000037de fetch  0x00000001 , 0x000046be 
+ 00016223  0x000037df beq  0x00000003 , 0x00003f6a 
+ 00016224  0x000037e0 rtn 
+ 00016225  0x000037e2 fetch  0x00000001 , 0x000046be 
+ 00016226  0x000037e3 beq  0x00000000 , 0x00003f6a 
+ 00016227  0x000037e4 rtn 
+ 00016228  0x000037e6 fetch  0x00000001 , 0x000046be 
+ 00016229  0x000037e7 beq  0x00000003 , 0x00003f6f 
+ 00016230  0x000037e8 rtn 
+ 00016231  0x000037ea fetch  0x00000001 , 0x000046be 
+ 00016232  0x000037eb beq  0x00000000 , 0x00003f6f 
+ 00016233  0x000037ec rtn 
+ 00016234  0x000037ee jam  0x00000000 , 0x000046c2 
+ 00016235  0x000037ef fetch  0x00000001 , 0x000046c0 
+ 00016236  0x000037f0 increase  0x00000001 , 0x0000003f 
+ 00016237  0x000037f1 store  0x00000001 , 0x000046c0 
+ 00016238  0x000037f2 rtn 
+ 00016239  0x000037f4 jam  0x00000000 , 0x000046c1 
+ 00016240  0x000037f5 fetch  0x00000001 , 0x000046c0 
+ 00016241  0x000037f6 increase  0xffffffff , 0x0000003f 
+ 00016242  0x000037f7 store  0x00000001 , 0x000046c0 
+ 00016243  0x000037f8 rtn 
+ 00016244  0x000037fc setarg  0x00000002 
+ 00016245  0x000037fd store  0x00000001 , 0x00004680 
+ 00016246  0x000037fe rtn 
+ 00016247  0x00003801 fetch  0x00000001 , 0x000041e2 
+ 00016248  0x00003802 rtn  0x00000034 
+ 00016249  0x00003803 call  0x00005271 
+ 00016250  0x00003804 nrtn  0x00000034 
+ 00016251  0x00003805 fetch  0x00000004 , 0x000046d3 
+ 00016252  0x00003806 bbit1  0x00000003 , 0x00003f8a 
+ 00016253  0x00003807 bbit1  0x00000000 , 0x00003f8a 
+ 00016254  0x00003808 bbit1  0x00000005 , 0x00003f8a 
+ 00016255  0x00003809 call  0x00003f97 
+ 00016256  0x0000380a nrtn  0x00000028 
+ 00016257  0x0000380c arg  0x00000009 , 0x00000011 
+ 00016258  0x0000380d call  0x00004d63 
+ 00016259  0x0000380e fetch  0x00000002 , 0x0000424e 
+ 00016260  0x0000380f istore  0x00000002 , 0x00000005 
+ 00016261  0x00003810 setarg  0x000002a1 
+ 00016262  0x00003811 istore  0x00000002 , 0x00000005 
+ 00016263  0x00003812 fetch  0x00000007 , 0x0000469a 
+ 00016264  0x00003813 istore  0x00000007 , 0x00000005 
+ 00016265  0x00003814 rtn 
+ 00016266  0x00003818 setarg  0x00000000 
+ 00016267  0x00003819 store  0x00000007 , 0x0000469a 
+ 00016268  0x0000381a branch  0x00003f81 
+ 00016269  0x0000381e fetch  0x00000002 , 0x000046aa 
+ 00016270  0x0000381f store  0x00000002 , 0x000046b0 
+ 00016271  0x00003820 rtn 
+ 00016272  0x00003824 bpatch  0x000000e5 , 0x0000401c 
+ 00016273  0x00003825 arg  0x00000007 , 0x00000011 
+ 00016274  0x00003826 fetcht  0x00000002 , 0x0000446f 
+ 00016275  0x00003827 call  0x00005a64 
+ 00016276  0x00003828 fetch  0x00000007 , 0x0000469a 
+ 00016277  0x00003829 istore  0x00000007 , 0x00000005 
+ 00016278  0x0000382a rtn 
+ 00016279  0x0000382d bpatch  0x000000e6 , 0x0000401c 
+ 00016280  0x0000382e disable  0x00000028 
+ 00016281  0x0000382f setarg  0x00000000 
+ 00016282  0x00003830 store  0x00000006 , 0x0000469b 
+ 00016283  0x00003831 call  0x00003fb5 
+ 00016284  0x00003832 call  0x00004079 
+ 00016285  0x00003833 call  0x0000407e 
+ 00016286  0x00003834 call  0x00004099 
+ 00016287  0x00003835 nrtn  0x00000028 
+ 00016288  0x00003836 call  0x00003f8d 
+ 00016289  0x00003837 arg  0x00000008 , 0x00000007 
+ 00016290  0x00003838 branch  0x000043ce 
+ 00016291  0x0000383b fetch  0x00000002 , 0x0000469b 
+ 00016292  0x0000383c sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016293  0x0000383d store  0x00000002 , 0x0000469b 
+ 00016294  0x0000383e branch  0x00007fe7 
+ 00016295  0x00003840 fetch  0x00000002 , 0x0000469d 
+ 00016296  0x00003841 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016297  0x00003842 store  0x00000002 , 0x0000469d 
+ 00016298  0x00003843 branch  0x00007fe7 
+ 00016299  0x00003845 fetch  0x00000002 , 0x0000469d 
+ 00016300  0x00003846 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016301  0x00003847 store  0x00000002 , 0x0000469d 
+ 00016302  0x00003848 fetch  0x00000002 , 0x0000469b 
+ 00016303  0x00003849 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016304  0x0000384a store  0x00000002 , 0x0000469b 
+ 00016305  0x0000384b call  0x00004002 
+ 00016306  0x0000384c branch  0x00007fe7 
+ 00016307  0x0000384e call  0x00004002 
+ 00016308  0x0000384f branch  0x00007fe7 
+ 00016309  0x00003851 fetch  0x00000001 , 0x00004239 
+ 00016310  0x00003852 rtnne  0x00000000 
+ 00016311  0x00003853 fetch  0x00000001 , 0x000046e0 
+ 00016312  0x00003854 beq  0x00000000 , 0x00003fe2 
+ 00016313  0x00003855 beq  0x00000001 , 0x00003fe2 
+ 00016314  0x00003856 beq  0x00000002 , 0x00003fe2 
+ 00016315  0x00003857 beq  0x00000003 , 0x00003fe2 
+ 00016316  0x00003858 beq  0x00000004 , 0x00003fc4 
+ 00016317  0x00003859 beq  0x00000005 , 0x00004010 
+ 00016318  0x0000385a beq  0x00000006 , 0x00003fe2 
+ 00016319  0x0000385b branch  0x00003fe2 
+ 00016320  0x0000385e fetch  0x00000001 , 0x000046a7 
+ 00016321  0x0000385f call  0x0000405d , 0x00000034 
+ 00016322  0x00003860 jam  0x00000001 , 0x000046a7 
+ 00016323  0x00003861 rtn 
+ 00016324  0x00003865 call  0x00003fc0 
+ 00016325  0x00003866 fetcht  0x00000001 , 0x000046f3 
+ 00016326  0x00003867 call  0x0000681d 
+ 00016327  0x00003868 nrtn  0x00000001 
+ 00016328  0x00003869 setarg  0x00000000 
+ 00016329  0x0000386a call  0x00006414 
+ 00016330  0x0000386b bne  0x00000030 , 0x000040d1 
+ 00016331  0x0000386c setarg  0x00000002 
+ 00016332  0x0000386d call  0x00006414 
+ 00016333  0x0000386e rtnbit0  0x00000007 
+ 00016334  0x0000386f call  0x0000405d 
+ 00016335  0x00003870 call  0x00003fde 
+ 00016336  0x00003871 store  0x00000001 , 0x000046a1 
+ 00016337  0x00003872 rshift4  0x0000003f , 0x0000003f 
+ 00016338  0x00003873 call  0x00004169 
+ 00016339  0x00003874 store  0x00000001 , 0x0000469c 
+ 00016340  0x00003875 fetch  0x00000001 , 0x000046a1 
+ 00016341  0x00003876 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016342  0x00003877 call  0x00004169 
+ 00016343  0x00003878 store  0x00000001 , 0x0000469e 
+ 00016344  0x00003879 fetch  0x00000001 , 0x000046f6 
+ 00016345  0x0000387a beq  0x00000000 , 0x00003fa3 
+ 00016346  0x0000387b beq  0x00000001 , 0x00003fab 
+ 00016347  0x0000387c beq  0x00000002 , 0x00003fa7 
+ 00016348  0x0000387d beq  0x00000003 , 0x00003fb3 
+ 00016349  0x0000387e rtn 
+ 00016350  0x00003881 setarg  0x00000012 
+ 00016351  0x00003882 branch  0x00006414 
+ 00016352  0x00003885 beq  0x00000031 , 0x00003fea 
+ 00016353  0x00003886 branch  0x000040d1 
+ 00016354  0x00003889 call  0x00003fc0 
+ 00016355  0x0000388a disable  0x00000028 
+ 00016356  0x0000388b fetcht  0x00000001 , 0x000046f3 
+ 00016357  0x0000388c call  0x0000681d 
+ 00016358  0x0000388d nrtn  0x00000001 
+ 00016359  0x0000388e setarg  0x00000000 
+ 00016360  0x0000388f call  0x00006414 
+ 00016361  0x00003890 bne  0x00000030 , 0x00003fe0 
+ 00016362  0x00003892 setarg  0x00000002 
+ 00016363  0x00003893 call  0x00006414 
+ 00016364  0x00003894 rtnbit0  0x00000007 
+ 00016365  0x00003895 call  0x0000405d 
+ 00016366  0x00003896 fetch  0x00000001 , 0x0000469b 
+ 00016367  0x00003897 call  0x00004165 
+ 00016368  0x00003898 store  0x00000002 , 0x0000469b 
+ 00016369  0x00003899 fetch  0x00000001 , 0x0000469d 
+ 00016370  0x0000389a call  0x00004165 
+ 00016371  0x0000389b store  0x00000002 , 0x0000469d 
+ 00016372  0x0000389c fetch  0x00000001 , 0x000046f6 
+ 00016373  0x0000389d beq  0x00000000 , 0x00003ffa 
+ 00016374  0x0000389e beq  0x00000001 , 0x00003ffc 
+ 00016375  0x0000389f beq  0x00000002 , 0x00003ffe 
+ 00016376  0x000038a0 beq  0x00000003 , 0x00004000 
+ 00016377  0x000038a1 rtn 
+ 00016378  0x000038a4 call  0x00003fa3 
+ 00016379  0x000038a5 branch  0x000040b3 
+ 00016380  0x000038a7 call  0x00003fab 
+ 00016381  0x000038a8 branch  0x000040b3 
+ 00016382  0x000038aa call  0x00003fa7 
+ 00016383  0x000038ab branch  0x000040b3 
+ 00016384  0x000038ad call  0x00003fb3 
+ 00016385  0x000038ae branch  0x000040b3 
+ 00016386  0x000038b1 fetch  0x00000002 , 0x0000469d 
+ 00016387  0x000038b2 fetcht  0x00000002 , 0x0000469b 
+ 00016388  0x000038b3 store  0x00000002 , 0x0000469b 
+ 00016389  0x000038b4 storet  0x00000002 , 0x0000469d 
+ 00016390  0x000038b5 rtn 
+ 00016391  0x000038b8 call  0x0000640f 
+ 00016392  0x000038b9 nop  0x00000064 
+ 00016393  0x000038ba copy  0x00000012 , 0x0000003f 
+ 00016394  0x000038bb call  0x00006414 
+ 00016395  0x000038bc copy  0x0000003f , 0x00000012 
+ 00016396  0x000038bd call  0x00006411 
+ 00016397  0x000038be nop  0x00000064 
+ 00016398  0x000038bf copy  0x00000012 , 0x0000003f 
+ 00016399  0x000038c0 rtn 
+ 00016400  0x000038c2 disable  0x00000028 
+ 00016401  0x000038c3 fetcht  0x00000001 , 0x000046f3 
+ 00016402  0x000038c4 call  0x0000681d 
+ 00016403  0x000038c5 nrtn  0x00000001 
+ 00016404  0x000038c6 arg  0x00000002 , 0x00000012 
+ 00016405  0x000038c7 call  0x00004007 
+ 00016406  0x000038c8 rtnbit0  0x00000007 
+ 00016407  0x000038c9 arg  0x00000000 , 0x00000012 
+ 00016408  0x000038ca call  0x00004007 
+ 00016409  0x000038cb store  0x00000001 , 0x000046dd 
+ 00016410  0x000038cc bne  0x0000003e , 0x00004145 
+ 00016411  0x000038cd fetch  0x00000001 , 0x000046a7 
+ 00016412  0x000038ce call  0x00004039 , 0x00000034 
+ 00016413  0x000038cf jam  0x00000001 , 0x000046a7 
+ 00016414  0x000038d0 call  0x00004039 
+ 00016415  0x000038d1 fetch  0x00000001 , 0x000046a1 
+ 00016416  0x000038d2 rshift4  0x0000003f , 0x0000003f 
+ 00016417  0x000038d3 call  0x00004169 
+ 00016418  0x000038d4 store  0x00000001 , 0x0000469c 
+ 00016419  0x000038d5 fetch  0x00000001 , 0x000046a1 
+ 00016420  0x000038d6 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016421  0x000038d7 call  0x00004169 
+ 00016422  0x000038d8 store  0x00000001 , 0x0000469e 
+ 00016423  0x000038d9 fetch  0x00000001 , 0x000046f6 
+ 00016424  0x000038da beq  0x00000000 , 0x00004031 
+ 00016425  0x000038db beq  0x00000001 , 0x00004035 
+ 00016426  0x000038dc beq  0x00000002 , 0x00004033 
+ 00016427  0x000038dd beq  0x00000003 , 0x00004037 
+ 00016428  0x000038de rtn 
+ 00016429  0x000038e1 fetch  0x00000001 , 0x000046a4 
+ 00016430  0x000038e2 beq  0x00000000 , 0x00004051 
+ 00016431  0x000038e3 beq  0x00000001 , 0x00004045 
+ 00016432  0x000038e4 rtn 
+ 00016433  0x000038e8 call  0x00003fa3 
+ 00016434  0x000038e9 branch  0x0000402d 
+ 00016435  0x000038ec call  0x00003fa7 
+ 00016436  0x000038ed branch  0x0000402d 
+ 00016437  0x000038f0 call  0x00003fab 
+ 00016438  0x000038f1 branch  0x0000402d 
+ 00016439  0x000038f4 call  0x00003fb3 
+ 00016440  0x000038f5 branch  0x0000402d 
+ 00016441  0x000038f8 call  0x0000640f 
+ 00016442  0x000038f9 call  0x0000405d 
+ 00016443  0x000038fa arg  0x00000005 , 0x0000003f 
+ 00016444  0x000038fb call  0x00006414 
+ 00016445  0x000038fc store  0x00000001 , 0x000046a1 
+ 00016446  0x000038fd arg  0x00000007 , 0x0000003f 
+ 00016447  0x000038fe call  0x00006414 
+ 00016448  0x000038ff store  0x00000001 , 0x000046a2 
+ 00016449  0x00003900 arg  0x00000008 , 0x0000003f 
+ 00016450  0x00003901 call  0x00006414 
+ 00016451  0x00003902 store  0x00000001 , 0x000046a3 
+ 00016452  0x00003903 branch  0x00006411 
+ 00016453  0x00003907 fetch  0x00000001 , 0x000046a2 
+ 00016454  0x00003908 rtnne  0x00000000 
+ 00016455  0x00003909 fetch  0x00000001 , 0x000046a3 
+ 00016456  0x0000390a sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016457  0x0000390b rtn  0x00000002 
+ 00016458  0x0000390c jam  0x00000000 , 0x000046a4 
+ 00016459  0x0000390d setarg  0x0000ba41 
+ 00016460  0x0000390e call  0x00006405 
+ 00016461  0x0000390f setarg  0x00000032 
+ 00016462  0x00003910 call  0x00006405 
+ 00016463  0x00003911 setarg  0x0000b541 
+ 00016464  0x00003912 branch  0x00006405 
+ 00016465  0x00003914 fetch  0x00000001 , 0x000046a2 
+ 00016466  0x00003915 rtnne  0x00000000 
+ 00016467  0x00003916 fetch  0x00000001 , 0x000046a3 
+ 00016468  0x00003917 sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016469  0x00003918 nrtn  0x00000002 
+ 00016470  0x00003919 jam  0x00000001 , 0x000046a4 
+ 00016471  0x0000391a setarg  0x0000ba41 
+ 00016472  0x0000391b call  0x00006405 
+ 00016473  0x0000391c setarg  0x00008032 
+ 00016474  0x0000391d call  0x00006405 
+ 00016475  0x0000391e setarg  0x0000b541 
+ 00016476  0x0000391f branch  0x00006405 
+ 00016477  0x00003924 arg  0x00000003 , 0x0000003f 
+ 00016478  0x00003925 call  0x00006414 
+ 00016479  0x00003926 store  0x00000002 , 0x0000469b 
+ 00016480  0x00003927 arg  0x00000004 , 0x0000003f 
+ 00016481  0x00003928 call  0x00006414 
+ 00016482  0x00003929 store  0x00000002 , 0x0000469d 
+ 00016483  0x0000392a rtn 
+ 00016484  0x0000392d arg  0x0000001b , 0x00000002 
+ 00016485  0x0000392e call  0x000067fb 
+ 00016486  0x0000392f arg  0x0000001b , 0x00000002 
+ 00016487  0x00003930 call  0x0000681d 
+ 00016488  0x00003931 rtn  0x00000001 
+ 00016489  0x00003932 hfetch  0x00000001 , 0x00008109 
+ 00016490  0x00003933 set1  0x00000004 , 0x0000003f 
+ 00016491  0x00003934 hstore  0x00000001 , 0x00008109 
+ 00016492  0x00003935 rtn 
+ 00016493  0x00003938 fetcht  0x00000001 , 0x000046c0 
+ 00016494  0x00003939 hfetch  0x00000001 , 0x00008109 
+ 00016495  0x0000393a iadd  0x00000002 , 0x0000003f 
+ 00016496  0x0000393b rtn  0x00000034 
+ 00016497  0x0000393c store  0x00000001 , 0x0000469f 
+ 00016498  0x0000393d jam  0x00000000 , 0x000046c0 
+ 00016499  0x0000393e branch  0x00007fe7 
+ 00016500  0x00003940 fetcht  0x00000001 , 0x000046c0 
+ 00016501  0x00003941 hfetch  0x00000001 , 0x00008109 
+ 00016502  0x00003942 iadd  0x00000002 , 0x0000003f 
+ 00016503  0x00003943 store  0x00000001 , 0x000046c0 
+ 00016504  0x00003944 rtn 
+ 00016505  0x00003946 fetch  0x00000001 , 0x000046c0 
+ 00016506  0x00003947 rtn  0x00000034 
+ 00016507  0x00003948 store  0x00000001 , 0x0000469f 
+ 00016508  0x00003949 jam  0x00000000 , 0x000046c0 
+ 00016509  0x0000394a branch  0x00007fe7 
+ 00016510  0x0000394d fetch  0x00000001 , 0x000046ba 
+ 00016511  0x0000394e rtn  0x00000034 
+ 00016512  0x0000394f store  0x00000001 , 0x000046a0 
+ 00016513  0x00003950 jam  0x00000000 , 0x000046ba 
+ 00016514  0x00003951 branch  0x00007fe7 
+ 00016515  0x00003954 arg  0x00000000 , 0x00000011 
+ 00016516  0x00003955 fetcht  0x00000001 , 0x000046e2 
+ 00016517  0x00003956 call  0x0000681d 
+ 00016518  0x00003957 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016519  0x00003958 fetcht  0x00000001 , 0x000046e3 
+ 00016520  0x00003959 call  0x0000681d 
+ 00016521  0x0000395a setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016522  0x0000395b fetcht  0x00000001 , 0x000046e4 
+ 00016523  0x0000395c call  0x0000681d 
+ 00016524  0x0000395d setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00016525  0x0000395e call  0x00004090 
+ 00016526  0x00003960 copy  0x00000011 , 0x0000003f 
+ 00016527  0x00003961 rtn 
+ 00016528  0x00003963 fetch  0x00000001 , 0x000046e5 
+ 00016529  0x00003964 rtneq  0x000000ff 
+ 00016530  0x00003965 fetcht  0x00000001 , 0x000046e5 
+ 00016531  0x00003966 call  0x0000681d 
+ 00016532  0x00003967 setflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00016533  0x00003968 fetcht  0x00000001 , 0x000046e6 
+ 00016534  0x00003969 call  0x0000681d 
+ 00016535  0x0000396a setflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00016536  0x0000396b rtn 
+ 00016537  0x0000396e call  0x00004083 
+ 00016538  0x0000396f call  0x000040a8 
+ 00016539  0x00003970 call  0x000040a3 
+ 00016540  0x00003971 copy  0x00000011 , 0x0000003f 
+ 00016541  0x00003972 fetcht  0x00000001 , 0x0000469a 
+ 00016542  0x00003973 store  0x00000001 , 0x0000469a 
+ 00016543  0x00003974 ixor  0x00000002 , 0x0000003f 
+ 00016544  0x00003975 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00016545  0x00003976 rtn  0x00000005 
+ 00016546  0x00003977 branch  0x00007fe7 
+ 00016547  0x0000397a rtnmark0  0x00000026 
+ 00016548  0x0000397b copy  0x00000011 , 0x0000003f 
+ 00016549  0x0000397c rtn  0x00000034 
+ 00016550  0x0000397d store  0x00000001 , 0x0000469a 
+ 00016551  0x0000397e branch  0x00007fe7 
+ 00016552  0x00003982 fetch  0x00000002 , 0x00004682 
+ 00016553  0x00003983 bbit1  0x00000009 , 0x000040ad 
+ 00016554  0x00003984 fetch  0x00000002 , 0x00004682 
+ 00016555  0x00003985 bbit1  0x00000000 , 0x000040b0 
+ 00016556  0x00003986 rtn 
+ 00016557  0x00003988 copy  0x00000011 , 0x0000003f 
+ 00016558  0x00003989 nbranch  0x00005820 , 0x00000034 
+ 00016559  0x0000398a branch  0x00005822 
+ 00016560  0x0000398c copy  0x00000011 , 0x0000003f 
+ 00016561  0x0000398d nbranch  0x00002bc7 , 0x00000034 
+ 00016562  0x0000398e branch  0x00002bc9 
+ 00016563  0x00003992 bpatch  0x000000e7 , 0x0000401c 
+ 00016564  0x00003993 arg  0x0000001a , 0x00000002 
+ 00016565  0x00003994 fetch  0x00000004 , 0x000046d3 
+ 00016566  0x00003995 isolate1  0x00000012 , 0x0000003f 
+ 00016567  0x00003996 call  0x000040be , 0x00000001 
+ 00016568  0x00003997 call  0x0000681d 
+ 00016569  0x00003998 rtn  0x00000001 
+ 00016570  0x00003999 setarg  0x0000000a 
+ 00016571  0x0000399a call  0x00006414 
+ 00016572  0x0000399b nop  0x000003e8 
+ 00016573  0x0000399c branch  0x000040b3 
+ 00016574  0x0000399e arg  0x0000001f , 0x00000002 
+ 00016575  0x0000399f rtn 
+ 00016576  0x000039a2 fetch  0x00000004 , 0x000046d3 
+ 00016577  0x000039a3 bbit1  0x00000012 , 0x000040c4 
+ 00016578  0x000039a5 arg  0x0000001a , 0x00000002 
+ 00016579  0x000039a6 branch  0x000067fe 
+ 00016580  0x000039a8 arg  0x0000001f , 0x00000002 
+ 00016581  0x000039a9 branch  0x000067fe 
+ 00016582  0x000039ad call  0x00003d36 
+ 00016583  0x000039ae rtn  0x0000002b 
+ 00016584  0x000039af call  0x000040c0 
+ 00016585  0x000039b0 fetch  0x00000001 , 0x000046e0 
+ 00016586  0x000039b1 beq  0x00000005 , 0x000040d5 
+ 00016587  0x000039b3 call  0x000040d9 
+ 00016588  0x000039b4 beq  0x00000030 , 0x000040e0 
+ 00016589  0x000039b5 beq  0x00000031 , 0x000040ea 
+ 00016590  0x000039b6 call  0x000040d1 
+ 00016591  0x000039b7 nop  0x000003e8 
+ 00016592  0x000039b8 branch  0x000040cb 
+ 00016593  0x000039ba bpatch  0x000000e8 , 0x0000401d 
+ 00016594  0x000039bb fetch  0x00000004 , 0x000046d3 
+ 00016595  0x000039bc bbit1  0x00000012 , 0x000063e0 
+ 00016596  0x000039bd branch  0x000063d1 
+ 00016597  0x000039c0 call  0x000040d9 
+ 00016598  0x000039c1 beq  0x0000003e , 0x0000414b 
+ 00016599  0x000039c2 call  0x00004145 
+ 00016600  0x000039c3 branch  0x000040d5 
+ 00016601  0x000039c6 setarg  0x00000001 
+ 00016602  0x000039c7 call  0x00006414 
+ 00016603  0x000039c8 store  0x00000001 , 0x000046de 
+ 00016604  0x000039c9 setarg  0x00000000 
+ 00016605  0x000039ca call  0x00006414 
+ 00016606  0x000039cb store  0x00000001 , 0x000046dd 
+ 00016607  0x000039cc rtn 
+ 00016608  0x000039ce fetch  0x00000001 , 0x000046de 
+ 00016609  0x000039cf beq  0x000000d1 , 0x00004139 
+ 00016610  0x000039d0 beq  0x000000d2 , 0x000040f8 
+ 00016611  0x000039d1 beq  0x00000002 , 0x000040ee 
+ 00016612  0x000039d2 beq  0x00000054 , 0x000040e6 
+ 00016613  0x000039d3 rtn 
+ 00016614  0x000039d5 jam  0x00000002 , 0x000046e0 
+ 00016615  0x000039d6 rtn 
+ 00016616  0x000039d8 jam  0x00000006 , 0x000046e0 
+ 00016617  0x000039d9 rtn 
+ 00016618  0x000039db fetch  0x00000001 , 0x000046de 
+ 00016619  0x000039dc beq  0x00000070 , 0x000040e8 
+ 00016620  0x000039dd jam  0x00000001 , 0x000046e0 
+ 00016621  0x000039de rtn 
+ 00016622  0x000039e0 jam  0x00000004 , 0x000046e0 
+ 00016623  0x000039e1 call  0x000040f6 
+ 00016624  0x000039e2 setarg  0x00003426 
+ 00016625  0x000039e3 call  0x00006413 
+ 00016626  0x000039e4 setarg  0x00000419 
+ 00016627  0x000039e5 call  0x00006413 
+ 00016628  0x000039e7 setarg  0x00000009 
+ 00016629  0x000039e8 branch  0x00006413 
+ 00016630  0x000039ea setarg  0x00005a09 
+ 00016631  0x000039eb branch  0x00006413 
+ 00016632  0x000039ee jam  0x00000003 , 0x000046e0 
+ 00016633  0x000039ef call  0x000040f6 
+ 00016634  0x000039f0 setarg  0x00000f0d 
+ 00016635  0x000039f1 call  0x00006413 
+ 00016636  0x000039f2 setarg  0x0000e31d 
+ 00016637  0x000039f3 call  0x00006413 
+ 00016638  0x000039f4 setarg  0x0000d27d 
+ 00016639  0x000039f5 call  0x00006413 
+ 00016640  0x000039f6 call  0x00004102 
+ 00016641  0x000039f7 branch  0x0000411a 
+ 00016642  0x000039fa setarg  0x0000351b 
+ 00016643  0x000039fb call  0x00006413 
+ 00016644  0x000039fc setarg  0x0000b428 
+ 00016645  0x000039fd call  0x00006413 
+ 00016646  0x000039fe setarg  0x00004629 
+ 00016647  0x000039ff call  0x00006413 
+ 00016648  0x00003a00 setarg  0x0000962a 
+ 00016649  0x00003a01 call  0x00006413 
+ 00016650  0x00003a02 setarg  0x00008c2b 
+ 00016651  0x00003a03 call  0x00006413 
+ 00016652  0x00003a04 setarg  0x00006e2c 
+ 00016653  0x00003a05 call  0x00006413 
+ 00016654  0x00003a06 setarg  0x0000642d 
+ 00016655  0x00003a07 call  0x00006413 
+ 00016656  0x00003a08 setarg  0x00005f38 
+ 00016657  0x00003a09 call  0x00006413 
+ 00016658  0x00003a0a setarg  0x00000f39 
+ 00016659  0x00003a0b call  0x00006413 
+ 00016660  0x00003a0c setarg  0x0000323a 
+ 00016661  0x00003a0d call  0x00006413 
+ 00016662  0x00003a0e setarg  0x0000473b 
+ 00016663  0x00003a0f call  0x00006413 
+ 00016664  0x00003a10 setarg  0x00001042 
+ 00016665  0x00003a11 branch  0x00006413 
+ 00016666  0x00003a13 setarg  0x00002e54 
+ 00016667  0x00003a14 call  0x00006413 
+ 00016668  0x00003a15 setarg  0x0000f255 
+ 00016669  0x00003a16 call  0x00006413 
+ 00016670  0x00003a17 setarg  0x0000f461 
+ 00016671  0x00003a18 call  0x00006413 
+ 00016672  0x00003a19 setarg  0x00007063 
+ 00016673  0x00003a1a call  0x00006413 
+ 00016674  0x00003a1b setarg  0x00005275 
+ 00016675  0x00003a1c call  0x00006413 
+ 00016676  0x00003a1d setarg  0x00004176 
+ 00016677  0x00003a1e call  0x00006413 
+ 00016678  0x00003a1f setarg  0x0000ed77 
+ 00016679  0x00003a20 call  0x00006413 
+ 00016680  0x00003a21 setarg  0x00002378 
+ 00016681  0x00003a22 call  0x00006413 
+ 00016682  0x00003a23 setarg  0x00004679 
+ 00016683  0x00003a24 call  0x00006413 
+ 00016684  0x00003a25 setarg  0x0000e57a 
+ 00016685  0x00003a26 call  0x00006413 
+ 00016686  0x00003a27 setarg  0x0000487c 
+ 00016687  0x00003a28 call  0x00006413 
+ 00016688  0x00003a29 setarg  0x0000777e 
+ 00016689  0x00003a2a call  0x00006413 
+ 00016690  0x00003a2b setarg  0x0000017f 
+ 00016691  0x00003a2c call  0x00006413 
+ 00016692  0x00003a2d setarg  0x0000000b 
+ 00016693  0x00003a2e call  0x00006413 
+ 00016694  0x00003a2f setarg  0x0000007f 
+ 00016695  0x00003a30 call  0x00006413 
+ 00016696  0x00003a31 branch  0x000040f4 
+ 00016697  0x00003a35 jam  0x00000000 , 0x000046e0 
+ 00016698  0x00003a36 call  0x000040f6 
+ 00016699  0x00003a37 setarg  0x0000100d 
+ 00016700  0x00003a38 call  0x00006413 
+ 00016701  0x00003a39 setarg  0x0000ed1d 
+ 00016702  0x00003a3a call  0x00006413 
+ 00016703  0x00003a3b setarg  0x0000807d 
+ 00016704  0x00003a3c call  0x00006413 
+ 00016705  0x00003a3d call  0x00004102 
+ 00016706  0x00003a3e setarg  0x00000943 
+ 00016707  0x00003a3f call  0x00006413 
+ 00016708  0x00003a40 branch  0x0000411a 
+ 00016709  0x00003a44 fetcht  0x00000001 , 0x000046dc 
+ 00016710  0x00003a45 call  0x00006829 
+ 00016711  0x00003a46 call  0x00007ec1 
+ 00016712  0x00003a47 fetcht  0x00000001 , 0x000046dc 
+ 00016713  0x00003a48 call  0x00006825 
+ 00016714  0x00003a49 branch  0x00007ec1 
+ 00016715  0x00003a4c jam  0x00000005 , 0x000046e0 
+ 00016716  0x00003a4d setarg  0x0000ba41 
+ 00016717  0x00003a4e call  0x00006405 
+ 00016718  0x00003a4f setarg  0x00000d11 
+ 00016719  0x00003a50 call  0x00006405 
+ 00016720  0x00003a51 setarg  0x0000041b 
+ 00016721  0x00003a52 call  0x00006405 
+ 00016722  0x00003a53 setarg  0x0000041c 
+ 00016723  0x00003a54 call  0x00006405 
+ 00016724  0x00003a55 setarg  0x00000f1d 
+ 00016725  0x00003a56 call  0x00006405 
+ 00016726  0x00003a57 setarg  0x00000032 
+ 00016727  0x00003a58 call  0x00006405 
+ 00016728  0x00003a59 setarg  0x0000b541 
+ 00016729  0x00003a5a branch  0x00006405 
+ 00016730  0x00003a5f setarg  0x0000ba41 
+ 00016731  0x00003a60 call  0x00006405 
+ 00016732  0x00003a61 nop  0x00000fa0 
+ 00016733  0x00003a62 setarg  0x0000ff7f 
+ 00016734  0x00003a63 call  0x00006405 
+ 00016735  0x00003a64 copy  0x00000011 , 0x0000003f 
+ 00016736  0x00003a65 call  0x00006405 
+ 00016737  0x00003a66 setarg  0x0000007f 
+ 00016738  0x00003a67 call  0x00006405 
+ 00016739  0x00003a68 setarg  0x0000b541 
+ 00016740  0x00003a69 branch  0x00006405 
+ 00016741  0x00003a6c rtnbit0  0x00000007 
+ 00016742  0x00003a6d arg  0x0000ff00 , 0x00000002 
+ 00016743  0x00003a6e ior  0x00000002 , 0x0000003f 
+ 00016744  0x00003a6f rtn 
+ 00016745  0x00003a72 rtnbit0  0x00000003 
+ 00016746  0x00003a73 arg  0x000000f0 , 0x00000002 
+ 00016747  0x00003a74 ior  0x00000002 , 0x0000003f 
+ 00016748  0x00003a75 rtn 
+ 00016749  0x00003a79 call  0x00005892 
+ 00016750  0x00003a7a nrtn  0x00000034 
+ 00016751  0x00003a7b fetch  0x00000001 , 0x000046c5 
+ 00016752  0x00003a7c and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00016753  0x00003a7d rtnne  0x00000003 
+ 00016754  0x00003a7e fetch  0x00000004 , 0x000046d3 
+ 00016755  0x00003a7f bbit1  0x00000003 , 0x00004179 
+ 00016756  0x00003a80 bbit1  0x00000000 , 0x00004179 
+ 00016757  0x00003a81 bbit1  0x00000005 , 0x00004179 
+ 00016758  0x00003a82 call  0x00003f97 
+ 00016759  0x00003a83 nrtn  0x00000028 
+ 00016760  0x00003a84 branch  0x00003f90 
+ 00016761  0x00003a87 setarg  0x00000000 
+ 00016762  0x00003a88 store  0x00000007 , 0x0000469a 
+ 00016763  0x00003a89 branch  0x00003f90 
+ 00016764  0x00003a8c copy  0x00000013 , 0x0000003f 
+ 00016765  0x00003a8d beq  0x00000014 , 0x000041c3 
+ 00016766  0x00003a8e beq  0x00000001 , 0x000042ca 
+ 00016767  0x00003a8f beq  0x00000015 , 0x000041d9 
+ 00016768  0x00003a90 beq  0x00000002 , 0x000041d9 
+ 00016769  0x00003a91 beq  0x00000005 , 0x000041d6 
+ 00016770  0x00003a92 beq  0x00000010 , 0x0000426c 
+ 00016771  0x00003a93 beq  0x00000012 , 0x0000429b 
+ 00016772  0x00003a94 beq  0x00000006 , 0x000041d5 
+ 00016773  0x00003a95 beq  0x00000004 , 0x000041cc 
+ 00016774  0x00003a96 beq  0x00000013 , 0x000041cc 
+ 00016775  0x00003a97 beq  0x0000000a , 0x000041ca 
+ 00016776  0x00003a98 beq  0x0000002e , 0x000033cd 
+ 00016777  0x00003a99 beq  0x00000031 , 0x000041b4 
+ 00016778  0x00003a9a beq  0x00000032 , 0x000041b6 
+ 00016779  0x00003a9b beq  0x0000003e , 0x00004191 
+ 00016780  0x00003a9c beq  0x00000027 , 0x0000438e 
+ 00016781  0x00003a9d beq  0x00000039 , 0x0000419c 
+ 00016782  0x00003a9e beq  0x0000003a , 0x00004192 
+ 00016783  0x00003a9f beq  0x0000003c , 0x0000419a 
+ 00016784  0x00003aa0 rtn 
+ 00016785  0x00003aa4 branch  0x00003410 
+ 00016786  0x00003aa7 jam  0x00000001 , 0x0000478b 
+ 00016787  0x00003aa8 fetch  0x00000001 , 0x0000471e 
+ 00016788  0x00003aa9 nbranch  0x00004492 , 0x00000034 
+ 00016789  0x00003aaa fetch  0x00000001 , 0x00004720 
+ 00016790  0x00003aab fetcht  0x00000001 , 0x00004703 
+ 00016791  0x00003aac isub  0x00000002 , 0x0000003e 
+ 00016792  0x00003aad branch  0x0000340a , 0x00000005 
+ 00016793  0x00003aae rtn 
+ 00016794  0x00003ab0 jam  0x00000001 , 0x0000478b 
+ 00016795  0x00003ab1 rtn 
+ 00016796  0x00003ab3 jam  0x00000001 , 0x0000478b 
+ 00016797  0x00003ab4 arg  0x00000003 , 0x00000007 
+ 00016798  0x00003ab5 call  0x000043d2 
+ 00016799  0x00003ab6 setarg  0x00000000 
+ 00016800  0x00003ab7 store  0x00000002 , 0x00004707 
+ 00016801  0x00003ab8 jam  0x00000000 , 0x000046a7 
+ 00016802  0x00003aba fetch  0x00000001 , 0x000046e0 
+ 00016803  0x00003abb sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00016804  0x00003abc call  0x00004039 , 0x00000005 
+ 00016805  0x00003abd ncall  0x0000405d , 0x00000005 
+ 00016806  0x00003abf fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00016807  0x00003ac0 bbit1  0x00000013 , 0x000041af 
+ 00016808  0x00003ac1 call  0x000041aa 
+ 00016809  0x00003ac2 branch  0x000065d1 
+ 00016810  0x00003ac5 call  0x00002c7a 
+ 00016811  0x00003ac6 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00016812  0x00003ac7 arg  0x0000005b , 0x00000012 
+ 00016813  0x00003ac8 arg  0x00000004 , 0x00000002 
+ 00016814  0x00003ac9 rtn 
+ 00016815  0x00003acc call  0x00002c7a 
+ 00016816  0x00003acd add  0x00000013 , 0x000000ae , 0x00000012 
+ 00016817  0x00003ace ifetch  0x00000001 , 0x00000012 
+ 00016818  0x00003acf store  0x00000001 , 0x0000477b 
+ 00016819  0x00003ad0 branch  0x00004435 
+ 00016820  0x00003ad4 arg  0x00000002 , 0x00000007 
+ 00016821  0x00003ad5 branch  0x000041b9 
+ 00016822  0x00003ad7 jam  0x00000002 , 0x000046c6 
+ 00016823  0x00003ad8 arg  0x00000001 , 0x00000007 
+ 00016824  0x00003ad9 branch  0x000041b9 
+ 00016825  0x00003add fetch  0x00000001 , 0x000046c5 
+ 00016826  0x00003ade qset1  0x0000003f 
+ 00016827  0x00003adf store  0x00000001 , 0x000046c5 
+ 00016828  0x00003ae0 rtn 
+ 00016829  0x00003ae3 fetch  0x00000001 , 0x000046c5 
+ 00016830  0x00003ae4 qset0  0x0000003f 
+ 00016831  0x00003ae5 store  0x00000001 , 0x000046c5 
+ 00016832  0x00003ae6 rtn 
+ 00016833  0x00003ae8 jam  0x00000000 , 0x000046c5 
+ 00016834  0x00003ae9 rtn 
+ 00016835  0x00003aec fetch  0x00000002 , 0x0000420a 
+ 00016836  0x00003aed set0  0x00000000 , 0x0000003f 
+ 00016837  0x00003aee store  0x00000002 , 0x0000420a 
+ 00016838  0x00003aef setarg  0x00000000 
+ 00016839  0x00003af0 store  0x00000002 , 0x000046ae 
+ 00016840  0x00003af1 call  0x00003f8d 
+ 00016841  0x00003af2 branch  0x000042ca 
+ 00016842  0x00003af5 call  0x000063cb 
+ 00016843  0x00003af6 branch  0x000033dd 
+ 00016844  0x00003af9 fetch  0x00000001 , 0x0000471e 
+ 00016845  0x00003afa nbranch  0x00004492 , 0x00000034 
+ 00016846  0x00003afb fetch  0x00000002 , 0x00004682 
+ 00016847  0x00003afc bbit1  0x0000000c , 0x000042b0 
+ 00016848  0x00003afd fetch  0x00000004 , 0x000046d3 
+ 00016849  0x00003afe bbit1  0x00000000 , 0x000041d7 
+ 00016850  0x00003aff bbit1  0x00000005 , 0x000042b0 
+ 00016851  0x00003b00 bbit1  0x00000003 , 0x00002ead 
+ 00016852  0x00003b01 branch  0x000033a7 
+ 00016853  0x00003b05 branch  0x00003f74 
+ 00016854  0x00003b08 rtn 
+ 00016855  0x00003b0b call  0x000043c0 
+ 00016856  0x00003b0c branch  0x0000659a 
+ 00016857  0x00003b0f bpatch  0x000000e9 , 0x0000401d 
+ 00016858  0x00003b10 call  0x000041e7 
+ 00016859  0x00003b11 fetch  0x00000004 , 0x000046d3 
+ 00016860  0x00003b12 bbit1  0x00000000 , 0x000041d7 
+ 00016861  0x00003b13 bbit1  0x00000003 , 0x00002ead 
+ 00016862  0x00003b14 fetch  0x00000001 , 0x0000471e 
+ 00016863  0x00003b15 nbranch  0x00004492 , 0x00000034 
+ 00016864  0x00003b16 fetch  0x00000002 , 0x00004208 
+ 00016865  0x00003b17 bbit1  0x00000007 , 0x000041f5 
+ 00016866  0x00003b18 bbit1  0x00000000 , 0x000033a9 
+ 00016867  0x00003b19 bbit1  0x00000001 , 0x000041ef 
+ 00016868  0x00003b1a bbit1  0x00000002 , 0x000041f2 
+ 00016869  0x00003b1b bbit1  0x00000003 , 0x000041f2 
+ 00016870  0x00003b1c branch  0x000042b0 
+ 00016871  0x00003b1e setarg  0x00000000 
+ 00016872  0x00003b1f store  0x00000008 , 0x000046b7 
+ 00016873  0x00003b20 istore  0x00000004 , 0x00000005 
+ 00016874  0x00003b21 jam  0x00000000 , 0x000046b4 
+ 00016875  0x00003b22 jam  0x00000000 , 0x000046a7 
+ 00016876  0x00003b23 jam  0x00000000 , 0x000041e2 
+ 00016877  0x00003b24 jam  0x00000000 , 0x00004429 
+ 00016878  0x00003b25 rtn 
+ 00016879  0x00003b28 bbit1  0x00000005 , 0x000041f2 
+ 00016880  0x00003b29 bbit1  0x00000003 , 0x000041f2 
+ 00016881  0x00003b2a branch  0x000042b0 
+ 00016882  0x00003b2c fetch  0x00000002 , 0x00004682 
+ 00016883  0x00003b2d bbit1  0x0000000c , 0x000042b0 
+ 00016884  0x00003b2e branch  0x000033a7 
+ 00016885  0x00003b31 call  0x000041c1 
+ 00016886  0x00003b32 fetch  0x00000002 , 0x00004208 
+ 00016887  0x00003b33 bbit1  0x00000000 , 0x000033a9 
+ 00016888  0x00003b34 branch  0x000033a7 
+ 00016889  0x00003b37 call  0x000043d6 
+ 00016890  0x00003b38 call  0x00004243 
+ 00016891  0x00003b39 call  0x00004246 
+ 00016892  0x00003b3a call  0x00004250 
+ 00016893  0x00003b3b call  0x0000445d 
+ 00016894  0x00003b3d call  0x00004443 
+ 00016895  0x00003b3e call  0x00004333 
+ 00016896  0x00003b3f call  0x000043a5 
+ 00016897  0x00003b40 call  0x000043eb 
+ 00016898  0x00003b41 call  0x00004209 
+ 00016899  0x00003b42 call  0x00004231 
+ 00016900  0x00003b43 call  0x00004234 
+ 00016901  0x00003b44 call  0x00004237 
+ 00016902  0x00003b45 call  0x0000423a 
+ 00016903  0x00003b46 call  0x0000423d 
+ 00016904  0x00003b47 branch  0x00004240 
+ 00016905  0x00003b4c fetch  0x00000001 , 0x00004711 
+ 00016906  0x00003b4d rtn  0x00000034 
+ 00016907  0x00003b4e increase  0xffffffff , 0x0000003f 
+ 00016908  0x00003b4f store  0x00000001 , 0x00004711 
+ 00016909  0x00003b50 nrtn  0x00000034 
+ 00016910  0x00003b51 branch  0x0000420f 
+ 00016911  0x00003b53 fetch  0x00000001 , 0x00004712 
+ 00016912  0x00003b54 rtneq  0x00000000 
+ 00016913  0x00003b55 beq  0x00000005 , 0x00004216 
+ 00016914  0x00003b57 call  0x00004225 
+ 00016915  0x00003b58 jam  0x00000005 , 0x00004712 
+ 00016916  0x00003b59 jam  0x00000005 , 0x00004711 
+ 00016917  0x00003b5a rtn 
+ 00016918  0x00003b5c call  0x0000422c 
+ 00016919  0x00003b5d jam  0x00000004 , 0x00004712 
+ 00016920  0x00003b5e jam  0x00000005 , 0x00004711 
+ 00016921  0x00003b5f rtn 
+ 00016922  0x00003b63 setarg  0x00008006 
+ 00016923  0x00003b64 call  0x00006413 
+ 00016924  0x00003b65 nop  0x000003e8 
+ 00016925  0x00003b66 jam  0x00000000 , 0x00004711 
+ 00016926  0x00003b67 jam  0x00000000 , 0x00004712 
+ 00016927  0x00003b68 branch  0x000040e0 
+ 00016928  0x00003b6b setarg  0x0000a006 
+ 00016929  0x00003b6c call  0x00006413 
+ 00016930  0x00003b6d setarg  0x0000a005 
+ 00016931  0x00003b6e branch  0x00006413 
+ 00016932  0x00003b70 jam  0x00000000 , 0x00004711 
+ 00016933  0x00003b72 fetch  0x00000001 , 0x000046e0 
+ 00016934  0x00003b73 beq  0x00000004 , 0x00004220 
+ 00016935  0x00003b74 setarg  0x00000106 
+ 00016936  0x00003b75 call  0x00006413 
+ 00016937  0x00003b76 setarg  0x0000a105 
+ 00016938  0x00003b77 branch  0x00006413 
+ 00016939  0x00003b7a jam  0x00000000 , 0x00004711 
+ 00016940  0x00003b7c setarg  0x00000906 
+ 00016941  0x00003b7d branch  0x00006413 
+ 00016942  0x00003b7f jam  0x00000005 , 0x00004711 
+ 00016943  0x00003b80 jam  0x00000001 , 0x00004712 
+ 00016944  0x00003b81 rtn 
+ 00016945  0x00003b84 arg  0x00004680 , 0x00000013 
+ 00016946  0x00003b85 arg  0x0000429b , 0x00000012 
+ 00016947  0x00003b86 branch  0x0000336d 
+ 00016948  0x00003b89 arg  0x000046ac , 0x00000013 
+ 00016949  0x00003b8a arg  0x00004264 , 0x00000012 
+ 00016950  0x00003b8b branch  0x00003374 
+ 00016951  0x00003b8e arg  0x000046ae , 0x00000013 
+ 00016952  0x00003b8f arg  0x00004266 , 0x00000012 
+ 00016953  0x00003b90 branch  0x00003374 
+ 00016954  0x00003b93 arg  0x000046b0 , 0x00000013 
+ 00016955  0x00003b94 arg  0x0000426a , 0x00000012 
+ 00016956  0x00003b95 branch  0x00003374 
+ 00016957  0x00003b98 arg  0x000046c4 , 0x00000013 
+ 00016958  0x00003b99 arg  0x00004478 , 0x00000012 
+ 00016959  0x00003b9a branch  0x0000336d 
+ 00016960  0x00003b9f arg  0x000046c6 , 0x00000013 
+ 00016961  0x00003ba0 arg  0x0000425e , 0x00000012 
+ 00016962  0x00003ba1 branch  0x0000336d 
+ 00016963  0x00003ba4 arg  0x00004704 , 0x00000013 
+ 00016964  0x00003ba5 arg  0x00004249 , 0x00000012 
+ 00016965  0x00003ba6 branch  0x0000336d 
+ 00016966  0x00003ba9 arg  0x00004707 , 0x00000013 
+ 00016967  0x00003baa arg  0x00004249 , 0x00000012 
+ 00016968  0x00003bab branch  0x00003374 
+ 00016969  0x00003bae rtn 
+ 00016970  0x00003bb2 fetch  0x00000004 , 0x000046d3 
+ 00016971  0x00003bb3 rtnbit0  0x00000017 
+ 00016972  0x00003bb4 jam  0x0000000a , 0x000046df 
+ 00016973  0x00003bb5 fetch  0x00000001 , 0x000046f4 
+ 00016974  0x00003bb6 store  0x00000001 , 0x00004715 
+ 00016975  0x00003bb7 rtn 
+ 00016976  0x00003bbb arg  0x000046df , 0x00000013 
+ 00016977  0x00003bbc arg  0x00004253 , 0x00000012 
+ 00016978  0x00003bbd branch  0x0000336d 
+ 00016979  0x00003bbf fetch  0x00000001 , 0x000046f4 
+ 00016980  0x00003bc0 store  0x00000001 , 0x00004715 
+ 00016981  0x00003bc1 setarg  0x00000190 
+ 00016982  0x00003bc2 store  0x00000002 , 0x00004716 
+ 00016983  0x00003bc3 store  0x00000002 , 0x00004718 
+ 00016984  0x00003bc4 arg  0x00000000 , 0x00000011 
+ 00016985  0x00003bc5 fetcht  0x00000001 , 0x0000477a 
+ 00016986  0x00003bc6 increase  0x00000001 , 0x00000002 
+ 00016987  0x00003bc7 storet  0x00000001 , 0x00004714 
+ 00016988  0x00003bc8 jam  0x00000001 , 0x00004713 
+ 00016989  0x00003bc9 rtn 
+ 00016990  0x00003bcc fetch  0x00000001 , 0x000046c5 
+ 00016991  0x00003bcd rtnbit1  0x00000002 
+ 00016992  0x00003bce jam  0x00000012 , 0x00000a99 
+ 00016993  0x00003bcf call  0x00007d8f 
+ 00016994  0x00003bd0 arg  0x00000000 , 0x00000007 
+ 00016995  0x00003bd1 branch  0x000041b9 
+ 00016996  0x00003bd5 call  0x000042ca 
+ 00016997  0x00003bd6 branch  0x0000340a 
+ 00016998  0x00003bd9 call  0x000033f6 
+ 00016999  0x00003bda fetch  0x00000001 , 0x0000471e 
+ 00017000  0x00003bdb nbranch  0x00004492 , 0x00000034 
+ 00017001  0x00003bdc branch  0x0000340a 
+ 00017002  0x00003bdf bmark1  0x00000026 , 0x00007e1d 
+ 00017003  0x00003be0 branch  0x00004386 
+ 00017004  0x00003be5 bpatch  0x000000ea , 0x0000401d 
+ 00017005  0x00003be6 jam  0x00000000 , 0x000046b4 
+ 00017006  0x00003be7 call  0x00004386 
+ 00017007  0x00003be8 call  0x000041c1 
+ 00017008  0x00003be9 branch  0x000042b0 
+ 00017009  0x00003bee fetch  0x00000006 , 0x000041d0 
+ 00017010  0x00003bef branch  0x000033eb , 0x00000034 
+ 00017011  0x00003bf0 call  0x0000427e 
+ 00017012  0x00003bf1 jam  0x00000017 , 0x0000016d 
+ 00017013  0x00003bf2 fetch  0x00000001 , 0x0000465a 
+ 00017014  0x00003bf3 nbranch  0x000033e1 , 0x00000034 
+ 00017015  0x00003bf4 jam  0x00000004 , 0x0000016d 
+ 00017016  0x00003bf5 branch  0x000033e1 
+ 00017017  0x00003bf8 fetch  0x00000002 , 0x000046a8 
+ 00017018  0x00003bf9 store  0x00000002 , 0x000046ae 
+ 00017019  0x00003bfa call  0x0000427e 
+ 00017020  0x00003bfb call  0x00003418 
+ 00017021  0x00003bfc branch  0x00007df4 
+ 00017022  0x00003bff setarg  0x000000c8 
+ 00017023  0x00003c00 store  0x00000002 , 0x00004716 
+ 00017024  0x00003c01 store  0x00000002 , 0x00004718 
+ 00017025  0x00003c02 branch  0x00004285 
+ 00017026  0x00003c05 setarg  0x000003e8 
+ 00017027  0x00003c06 store  0x00000002 , 0x00004716 
+ 00017028  0x00003c07 store  0x00000002 , 0x00004718 
+ 00017029  0x00003c09 fetch  0x00000001 , 0x00004720 
+ 00017030  0x00003c0a beq  0x00000001 , 0x0000428a 
+ 00017031  0x00003c0b beq  0x00000002 , 0x0000428c 
+ 00017032  0x00003c0c beq  0x00000003 , 0x0000428e 
+ 00017033  0x00003c0d rtn 
+ 00017034  0x00003c0f fetch  0x00000001 , 0x000046f0 
+ 00017035  0x00003c10 branch  0x0000428f 
+ 00017036  0x00003c12 fetch  0x00000001 , 0x000046f1 
+ 00017037  0x00003c13 branch  0x0000428f 
+ 00017038  0x00003c15 fetch  0x00000001 , 0x000046f2 
+ 00017039  0x00003c17 store  0x00000001 , 0x00000aa2 
+ 00017040  0x00003c18 call  0x00004482 
+ 00017041  0x00003c19 fetch  0x00000001 , 0x00000aa2 
+ 00017042  0x00003c1a store  0x00000001 , 0x00004715 
+ 00017043  0x00003c1b arg  0x00000000 , 0x00000011 
+ 00017044  0x00003c1c jam  0x00000001 , 0x00004713 
+ 00017045  0x00003c1d branch  0x00007d1e 
+ 00017046  0x00003c20 arg  0x00000000 , 0x00000011 
+ 00017047  0x00003c21 branch  0x00007d19 
+ 00017048  0x00003c23 arg  0x00000000 , 0x00000011 
+ 00017049  0x00003c24 branch  0x00007d14 
+ 00017050  0x00003c27 branch  0x000041c1 
+ 00017051  0x00003c2a jam  0x00000001 , 0x000041e2 
+ 00017052  0x00003c2b call  0x00003416 
+ 00017053  0x00003c2c call  0x00003412 
+ 00017054  0x00003c2d setarg  0x00000000 
+ 00017055  0x00003c2e store  0x00000002 , 0x0000467e 
+ 00017056  0x00003c2f store  0x00000001 , 0x00004680 
+ 00017057  0x00003c30 branch  0x0000340e 
+ 00017058  0x00003c33 call  0x0000435f 
+ 00017059  0x00003c34 fetch  0x00000001 , 0x00004720 
+ 00017060  0x00003c35 fetcht  0x00000001 , 0x00004703 
+ 00017061  0x00003c36 isub  0x00000002 , 0x0000003e 
+ 00017062  0x00003c37 branch  0x000042ab , 0x00000005 
+ 00017063  0x00003c38 fetch  0x00000001 , 0x00004210 
+ 00017064  0x00003c39 beq  0x00000033 , 0x00004271 
+ 00017065  0x00003c3a beq  0x00000034 , 0x00004279 
+ 00017066  0x00003c3b branch  0x000042b0 
+ 00017067  0x00003c3d call  0x00003d57 
+ 00017068  0x00003c3e rtnmark1  0x00000026 
+ 00017069  0x00003c3f fetch  0x00000001 , 0x0000471e 
+ 00017070  0x00003c40 nbranch  0x00004492 , 0x00000034 
+ 00017071  0x00003c41 rtn 
+ 00017072  0x00003c44 bpatch  0x000000eb , 0x0000401d 
+ 00017073  0x00003c45 fetch  0x00000002 , 0x00004682 
+ 00017074  0x00003c46 bbit1  0x0000000b , 0x000042b7 
+ 00017075  0x00003c47 fetch  0x00000004 , 0x000046d3 
+ 00017076  0x00003c48 bbit0  0x00000018 , 0x000042b7 
+ 00017077  0x00003c49 random  0x0000003f 
+ 00017078  0x00003c4a store  0x00000001 , 0x000044a1 
+ 00017079  0x00003c4c call  0x00003418 
+ 00017080  0x00003c4d fetch  0x00000002 , 0x00004687 
+ 00017081  0x00003c4e store  0x00000002 , 0x000046ac 
+ 00017082  0x00003c4f jam  0x00000006 , 0x0000016d 
+ 00017083  0x00003c50 setarg  0x00000000 
+ 00017084  0x00003c51 store  0x00000002 , 0x000046b0 
+ 00017085  0x00003c52 store  0x00000002 , 0x000046ae 
+ 00017086  0x00003c53 arg  0x00000007 , 0x00000007 
+ 00017087  0x00003c54 call  0x000043ce 
+ 00017088  0x00003c55 call  0x000043ca 
+ 00017089  0x00003c56 fetch  0x00000001 , 0x00004092 
+ 00017090  0x00003c57 isolate1  0x00000001 , 0x0000003f 
+ 00017091  0x00003c58 call  0x00007df4 , 0x00000001 
+ 00017092  0x00003c59 fetch  0x00000001 , 0x00004092 
+ 00017093  0x00003c5a isolate1  0x00000000 , 0x0000003f 
+ 00017094  0x00003c5b call  0x00007ddd , 0x00000001 
+ 00017095  0x00003c5c fetch  0x00000004 , 0x000046d3 
+ 00017096  0x00003c5d bbit1  0x0000001c , 0x0000422e 
+ 00017097  0x00003c5e branch  0x00004282 
+ 00017098  0x00003c61 bpatch  0x000000ec , 0x0000401d 
+ 00017099  0x00003c62 fetch  0x00000001 , 0x00004092 
+ 00017100  0x00003c63 isolate1  0x00000001 , 0x0000003f 
+ 00017101  0x00003c64 call  0x000042d4 , 0x00000001 
+ 00017102  0x00003c65 fetch  0x00000001 , 0x00004092 
+ 00017103  0x00003c66 isolate1  0x00000000 , 0x0000003f 
+ 00017104  0x00003c67 call  0x000042d7 , 0x00000001 
+ 00017105  0x00003c68 fetch  0x00000004 , 0x000046d3 
+ 00017106  0x00003c69 bbit1  0x0000001c , 0x0000421a 
+ 00017107  0x00003c6a branch  0x00004482 
+ 00017108  0x00003c6c setarg  0x00000000 
+ 00017109  0x00003c6d store  0x00000002 , 0x000046ae 
+ 00017110  0x00003c6e branch  0x00007dfa 
+ 00017111  0x00003c70 setarg  0x00000000 
+ 00017112  0x00003c71 store  0x00000002 , 0x000046ac 
+ 00017113  0x00003c72 branch  0x00007de2 
+ 00017114  0x00003c79 fetch  0x00000004 , 0x000046d3 
+ 00017115  0x00003c7a rtnbit0  0x00000007 
+ 00017116  0x00003c7b arg  0x00000007 , 0x00000007 
+ 00017117  0x00003c7c call  0x000043d2 
+ 00017118  0x00003c7d call  0x000042e8 
+ 00017119  0x00003c7f call  0x000042fb 
+ 00017120  0x00003c80 fetch  0x00000004 , 0x000046d3 
+ 00017121  0x00003c81 bbit1  0x00000013 , 0x00004435 
+ 00017122  0x00003c82 bbit1  0x00000014 , 0x000042e4 
+ 00017123  0x00003c83 rtn 
+ 00017124  0x00003c85 arg  0x00000058 , 0x00000002 
+ 00017125  0x00003c86 arg  0x00004720 , 0x00000011 
+ 00017126  0x00003c87 arg  0x00000000 , 0x00000012 
+ 00017127  0x00003c88 branch  0x000065d1 
+ 00017128  0x00003c8b fetch  0x00000001 , 0x00000185 
+ 00017129  0x00003c8c beq  0x00000034 , 0x000042ec 
+ 00017130  0x00003c8d beq  0x00000033 , 0x000042ef 
+ 00017131  0x00003c8e rtn 
+ 00017132  0x00003c90 store  0x00000001 , 0x000046c7 
+ 00017133  0x00003c91 fetch  0x00000006 , 0x0000044f 
+ 00017134  0x00003c92 branch  0x000042f1 
+ 00017135  0x00003c94 store  0x00000001 , 0x000046c7 
+ 00017136  0x00003c95 fetch  0x00000006 , 0x00000040 
+ 00017137  0x00003c97 store  0x00000006 , 0x000046c8 
+ 00017138  0x00003c98 fetch  0x00000007 , 0x000046c7 
+ 00017139  0x00003c99 arg  0x00004721 , 0x00000006 
+ 00017140  0x00003c9a arg  0x00000003 , 0x00000039 
+ 00017141  0x00003c9c ifetcht  0x00000007 , 0x00000006 
+ 00017142  0x00003c9d isub  0x00000002 , 0x0000003e 
+ 00017143  0x00003c9e branch  0x00004310 , 0x00000005 
+ 00017144  0x00003c9f increase  0x00000016 , 0x00000006 
+ 00017145  0x00003ca0 loop  0x000042f5 
+ 00017146  0x00003ca1 rtn 
+ 00017147  0x00003ca3 arg  0x00004721 , 0x00000011 
+ 00017148  0x00003ca4 fetch  0x00000001 , 0x00004720 
+ 00017149  0x00003ca5 increase  0xffffffff , 0x0000003f 
+ 00017150  0x00003ca6 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017151  0x00003ca7 iadd  0x00000011 , 0x00000011 
+ 00017152  0x00003ca8 fetch  0x00000001 , 0x00000185 
+ 00017153  0x00003ca9 istore  0x00000001 , 0x00000011 
+ 00017154  0x00003caa beq  0x00000034 , 0x00004305 
+ 00017155  0x00003cab beq  0x00000033 , 0x0000430c 
+ 00017156  0x00003cac rtn 
+ 00017157  0x00003caf fetch  0x00000006 , 0x0000044f 
+ 00017158  0x00003cb0 istore  0x00000006 , 0x00000005 
+ 00017159  0x00003cb1 arg  0x00004419 , 0x00000006 
+ 00017160  0x00003cb2 call  0x00007ebf 
+ 00017161  0x00003cb3 fetch  0x00000006 , 0x000044a0 
+ 00017162  0x00003cb4 istore  0x00000006 , 0x00000005 
+ 00017163  0x00003cb5 rtn 
+ 00017164  0x00003cb7 fetch  0x00000006 , 0x00000040 
+ 00017165  0x00003cb8 istore  0x00000006 , 0x00000005 
+ 00017166  0x00003cb9 arg  0x000041be , 0x00000006 
+ 00017167  0x00003cba branch  0x00007ebf 
+ 00017168  0x00003cbd increase  0xfffffffa , 0x00000006 
+ 00017169  0x00003cbe copy  0x00000006 , 0x00000005 
+ 00017170  0x00003cbf fetcht  0x00000006 , 0x000046c8 
+ 00017171  0x00003cc0 increase  0x00000003 , 0x00000002 
+ 00017172  0x00003cc1 istoret  0x00000006 , 0x00000005 
+ 00017173  0x00003cc2 rtn 
+ 00017174  0x00003cc7 arg  0x00000058 , 0x00000002 
+ 00017175  0x00003cc8 arg  0x00004720 , 0x00000011 
+ 00017176  0x00003cc9 arg  0x00000000 , 0x00000012 
+ 00017177  0x00003cca call  0x000065df 
+ 00017178  0x00003ccc arg  0x00004721 , 0x00000011 
+ 00017179  0x00003ccd fetch  0x00000001 , 0x00004720 
+ 00017180  0x00003cce fetcht  0x00000001 , 0x00004703 
+ 00017181  0x00003ccf isub  0x00000002 , 0x0000003e 
+ 00017182  0x00003cd0 rtn  0x00000005 
+ 00017183  0x00003cd1 increase  0xffffffff , 0x0000003f 
+ 00017184  0x00003cd2 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017185  0x00003cd3 iadd  0x00000011 , 0x00000011 
+ 00017186  0x00003cd4 ifetch  0x00000001 , 0x00000011 
+ 00017187  0x00003cd5 store  0x00000001 , 0x00004210 
+ 00017188  0x00003cd6 beq  0x00000033 , 0x00004327 
+ 00017189  0x00003cd7 beq  0x00000034 , 0x0000432c 
+ 00017190  0x00003cd8 rtn 
+ 00017191  0x00003cdb ifetch  0x00000006 , 0x00000006 
+ 00017192  0x00003cdd store  0x00000006 , 0x000041d0 
+ 00017193  0x00003cde arg  0x000041be , 0x00000005 
+ 00017194  0x00003cdf call  0x00007ebf 
+ 00017195  0x00003ce0 branch  0x000067d7 
+ 00017196  0x00003ce3 ifetch  0x00000006 , 0x00000006 
+ 00017197  0x00003ce5 store  0x00000006 , 0x000041d0 
+ 00017198  0x00003ce6 arg  0x00004419 , 0x00000005 
+ 00017199  0x00003ce7 call  0x00007ebf 
+ 00017200  0x00003ce8 ifetch  0x00000006 , 0x00000006 
+ 00017201  0x00003ce9 store  0x00000006 , 0x000044a0 
+ 00017202  0x00003cea rtn 
+ 00017203  0x00003cee fetch  0x00000001 , 0x000046f5 
+ 00017204  0x00003cef bbit1  0x00000005 , 0x00004349 
+ 00017205  0x00003cf0 bbit1  0x00000006 , 0x00004359 
+ 00017206  0x00003cf1 branch  0x00004337 
+ 00017207  0x00003cf4 call  0x00004083 
+ 00017208  0x00003cf5 beq  0x00000006 , 0x0000433e 
+ 00017209  0x00003cf7 jam  0x0000001e , 0x000046d8 
+ 00017210  0x00003cf8 fetch  0x00000001 , 0x000046d9 
+ 00017211  0x00003cf9 rtneq  0x00000001 
+ 00017212  0x00003cfa jam  0x00000001 , 0x000046d9 
+ 00017213  0x00003cfb rtn 
+ 00017214  0x00003cfe call  0x00004343 
+ 00017215  0x00003cff fetch  0x00000001 , 0x000046d9 
+ 00017216  0x00003d00 rtneq  0x00000000 
+ 00017217  0x00003d01 jam  0x00000000 , 0x000046d9 
+ 00017218  0x00003d02 branch  0x000043c0 
+ 00017219  0x00003d05 fetch  0x00000001 , 0x000046d8 
+ 00017220  0x00003d06 rtn  0x00000034 
+ 00017221  0x00003d07 pincrease  0xffffffff 
+ 00017222  0x00003d08 store  0x00000001 , 0x000046d8 
+ 00017223  0x00003d09 nrtn  0x00000034 
+ 00017224  0x00003d0a branch  0x00004370 
+ 00017225  0x00003d0d fetch  0x00000001 , 0x000046ed 
+ 00017226  0x00003d0e rtneq  0x000000ff 
+ 00017227  0x00003d0f fetcht  0x00000001 , 0x000046ed 
+ 00017228  0x00003d10 call  0x0000681d 
+ 00017229  0x00003d11 branch  0x00004354 , 0x00000001 
+ 00017230  0x00003d13 fetch  0x00000001 , 0x000046d9 
+ 00017231  0x00003d14 rtneq  0x00000001 
+ 00017232  0x00003d15 jam  0x00000001 , 0x000046d9 
+ 00017233  0x00003d16 fetch  0x00000004 , 0x000046d3 
+ 00017234  0x00003d17 rtnbit1  0x00000006 
+ 00017235  0x00003d18 branch  0x00004370 
+ 00017236  0x00003d1b fetch  0x00000001 , 0x000046d9 
+ 00017237  0x00003d1c rtneq  0x00000000 
+ 00017238  0x00003d1d jam  0x00000000 , 0x000046d9 
+ 00017239  0x00003d1e arg  0x00000006 , 0x00000007 
+ 00017240  0x00003d1f branch  0x000043d2 
+ 00017241  0x00003d24 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017242  0x00003d25 rtnbit0  0x00000006 
+ 00017243  0x00003d26 fetch  0x00000001 , 0x00004720 
+ 00017244  0x00003d27 beq  0x00000001 , 0x00004369 
+ 00017245  0x00003d28 beq  0x00000002 , 0x0000436c 
+ 00017246  0x00003d29 rtn 
+ 00017247  0x00003d2b fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017248  0x00003d2c rtnbit0  0x00000006 
+ 00017249  0x00003d2d fetcht  0x00000001 , 0x000046ed 
+ 00017250  0x00003d2e call  0x0000681d 
+ 00017251  0x00003d2f branch  0x00004366 , 0x00000001 
+ 00017252  0x00003d31 jam  0x00000001 , 0x00004720 
+ 00017253  0x00003d32 rtn 
+ 00017254  0x00003d34 fetch  0x00000001 , 0x00004703 
+ 00017255  0x00003d35 store  0x00000001 , 0x00004720 
+ 00017256  0x00003d36 rtn 
+ 00017257  0x00003d38 fetcht  0x00000001 , 0x000046ed 
+ 00017258  0x00003d39 nbranch  0x00004370 , 0x00000001 
+ 00017259  0x00003d3a rtn 
+ 00017260  0x00003d3c fetcht  0x00000001 , 0x000046ed 
+ 00017261  0x00003d3d call  0x0000681d 
+ 00017262  0x00003d3e branch  0x00004354 , 0x00000001 
+ 00017263  0x00003d3f rtn 
+ 00017264  0x00003d45 fetcht  0x00000001 , 0x00004720 
+ 00017265  0x00003d46 increase  0x00000001 , 0x00000002 
+ 00017266  0x00003d47 fetch  0x00000001 , 0x000046d2 
+ 00017267  0x00003d48 isub  0x00000002 , 0x0000003e 
+ 00017268  0x00003d49 ncall  0x000043cc , 0x00000002 
+ 00017269  0x00003d4a storet  0x00000001 , 0x00004720 
+ 00017270  0x00003d4b jam  0x00000000 , 0x000041bd 
+ 00017271  0x00003d4c call  0x0000437a 
+ 00017272  0x00003d4d call  0x000043c0 
+ 00017273  0x00003d4f branch  0x0000437e 
+ 00017274  0x00003d52 arg  0x00000001 , 0x00000002 
+ 00017275  0x00003d53 arg  0x00004720 , 0x00000011 
+ 00017276  0x00003d54 arg  0x00000000 , 0x00000012 
+ 00017277  0x00003d55 branch  0x00006606 
+ 00017278  0x00003d58 call  0x00004381 
+ 00017279  0x00003d59 call  0x000043c2 
+ 00017280  0x00003d5a branch  0x000041d7 
+ 00017281  0x00003d5c fetch  0x00000002 , 0x00004682 
+ 00017282  0x00003d5d bbit1  0x00000007 , 0x00004392 
+ 00017283  0x00003d5e bbit1  0x00000009 , 0x00003402 
+ 00017284  0x00003d5f bbit1  0x00000000 , 0x000033e9 
+ 00017285  0x00003d60 branch  0x000042ca 
+ 00017286  0x00003d63 bpatch  0x000000ed , 0x0000401d 
+ 00017287  0x00003d64 setarg  0x00000000 
+ 00017288  0x00003d65 store  0x00000002 , 0x000046b0 
+ 00017289  0x00003d66 fetch  0x00000002 , 0x00004682 
+ 00017290  0x00003d67 bbit1  0x00000009 , 0x00003402 
+ 00017291  0x00003d68 fetch  0x00000002 , 0x00004682 
+ 00017292  0x00003d69 bbit1  0x00000000 , 0x000033e9 
+ 00017293  0x00003d6a rtn 
+ 00017294  0x00003d6d setarg  0x00000001 
+ 00017295  0x00003d6e store  0x00000006 , 0x00000040 
+ 00017296  0x00003d6f jam  0x00000033 , 0x00000185 
+ 00017297  0x00003d70 branch  0x000042df 
+ 00017298  0x00003d74 call  0x000043c4 
+ 00017299  0x00003d75 branch  0x00007e2f 
+ 00017300  0x00003d78 fetch  0x00000001 , 0x000046ec 
+ 00017301  0x00003d79 rtneq  0x000000ff 
+ 00017302  0x00003d7a fetcht  0x00000001 , 0x000046ec 
+ 00017303  0x00003d7b call  0x0000681d 
+ 00017304  0x00003d7c branch  0x0000439f , 0x00000001 
+ 00017305  0x00003d7e fetch  0x00000001 , 0x00004685 
+ 00017306  0x00003d7f store  0x00000001 , 0x000046da 
+ 00017307  0x00003d80 fetch  0x00000001 , 0x000046db 
+ 00017308  0x00003d81 rtneq  0x00000001 
+ 00017309  0x00003d82 jam  0x00000001 , 0x000046db 
+ 00017310  0x00003d83 branch  0x000043ca 
+ 00017311  0x00003d85 call  0x000043b5 
+ 00017312  0x00003d86 fetch  0x00000001 , 0x000046db 
+ 00017313  0x00003d87 rtneq  0x00000000 
+ 00017314  0x00003d88 jam  0x00000000 , 0x000046db 
+ 00017315  0x00003d89 call  0x00007e2f 
+ 00017316  0x00003d8a branch  0x000043c8 
+ 00017317  0x00003d8e fetch  0x00000001 , 0x000046f5 
+ 00017318  0x00003d8f bbit1  0x00000004 , 0x00004394 
+ 00017319  0x00003d91 call  0x00004083 
+ 00017320  0x00003d92 beq  0x00000007 , 0x000043af 
+ 00017321  0x00003d94 fetch  0x00000001 , 0x00004685 
+ 00017322  0x00003d95 store  0x00000001 , 0x000046da 
+ 00017323  0x00003d96 fetch  0x00000001 , 0x000046db 
+ 00017324  0x00003d97 rtneq  0x00000001 
+ 00017325  0x00003d98 jam  0x00000001 , 0x000046db 
+ 00017326  0x00003d99 branch  0x000043ca 
+ 00017327  0x00003d9d call  0x000043b5 
+ 00017328  0x00003d9e fetch  0x00000001 , 0x000046db 
+ 00017329  0x00003d9f rtneq  0x00000000 
+ 00017330  0x00003da0 jam  0x00000000 , 0x000046db 
+ 00017331  0x00003da1 call  0x00007e2f 
+ 00017332  0x00003da2 branch  0x000043c8 
+ 00017333  0x00003da5 arg  0x000046da , 0x00000013 
+ 00017334  0x00003da6 arg  0x000043b8 , 0x00000012 
+ 00017335  0x00003da7 branch  0x0000336d 
+ 00017336  0x00003daa arg  0x00000006 , 0x00000007 
+ 00017337  0x00003dab call  0x000043ce 
+ 00017338  0x00003dac call  0x00003357 
+ 00017339  0x00003dad branch  0x0000426c 
+ 00017340  0x00003db1 arg  0x00000001 , 0x00000007 
+ 00017341  0x00003db2 branch  0x000043ce 
+ 00017342  0x00003db4 arg  0x00000001 , 0x00000007 
+ 00017343  0x00003db5 branch  0x000043d2 
+ 00017344  0x00003db7 arg  0x00000000 , 0x00000007 
+ 00017345  0x00003db8 branch  0x000043ce 
+ 00017346  0x00003dba arg  0x00000000 , 0x00000007 
+ 00017347  0x00003dbb branch  0x000043d2 
+ 00017348  0x00003dbd arg  0x00000002 , 0x00000007 
+ 00017349  0x00003dbe branch  0x000043ce 
+ 00017350  0x00003dc0 arg  0x00000002 , 0x00000007 
+ 00017351  0x00003dc1 branch  0x000043d2 
+ 00017352  0x00003dc3 arg  0x00000005 , 0x00000007 
+ 00017353  0x00003dc4 branch  0x000043ce 
+ 00017354  0x00003dc6 arg  0x00000005 , 0x00000007 
+ 00017355  0x00003dc7 branch  0x000043d2 
+ 00017356  0x00003dcc arg  0x00000001 , 0x00000002 
+ 00017357  0x00003dcd rtn 
+ 00017358  0x00003dd0 fetch  0x00000004 , 0x000046d3 
+ 00017359  0x00003dd1 qset1  0x0000003f 
+ 00017360  0x00003dd2 store  0x00000004 , 0x000046d3 
+ 00017361  0x00003dd3 rtn 
+ 00017362  0x00003dd6 fetch  0x00000004 , 0x000046d3 
+ 00017363  0x00003dd7 qset0  0x0000003f 
+ 00017364  0x00003dd8 store  0x00000004 , 0x000046d3 
+ 00017365  0x00003dd9 rtn 
+ 00017366  0x00003ddc fetch  0x00000004 , 0x000046d3 
+ 00017367  0x00003ddd rtnbit0  0x0000001a 
+ 00017368  0x00003dde fetch  0x00000001 , 0x000046ce 
+ 00017369  0x00003ddf increase  0x00000001 , 0x0000003f 
+ 00017370  0x00003de0 store  0x00000001 , 0x000046ce 
+ 00017371  0x00003de1 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00017372  0x00003de2 rtn  0x00000002 
+ 00017373  0x00003de3 jam  0x00000000 , 0x000046ce 
+ 00017374  0x00003de4 call  0x000068eb 
+ 00017375  0x00003de5 call  0x00006908 
+ 00017376  0x00003de6 store  0x00000002 , 0x0000470f 
+ 00017377  0x00003de7 arg  0x00004709 , 0x00000011 
+ 00017378  0x00003de8 call  0x00006930 
+ 00017379  0x00003de9 fetch  0x00000001 , 0x00004231 
+ 00017380  0x00003dea bbit1  0x00000001 , 0x000044a0 
+ 00017381  0x00003deb bbit0  0x00000000 , 0x000043e9 
+ 00017382  0x00003dec branch  0x000043e7 
+ 00017383  0x00003dee arg  0x00000004 , 0x00000007 
+ 00017384  0x00003def branch  0x000043ce 
+ 00017385  0x00003df1 arg  0x00000004 , 0x00000007 
+ 00017386  0x00003df2 branch  0x000043d2 
+ 00017387  0x00003df5 fetch  0x00000004 , 0x000046d3 
+ 00017388  0x00003df6 rtnbit0  0x00000004 
+ 00017389  0x00003df7 fetch  0x00000001 , 0x000046ef 
+ 00017390  0x00003df8 store  0x00000001 , 0x00004715 
+ 00017391  0x00003df9 fetch  0x00000001 , 0x000046cf 
+ 00017392  0x00003dfa pincrease  0x00000001 
+ 00017393  0x00003dfb store  0x00000001 , 0x000046cf 
+ 00017394  0x00003dfc sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00017395  0x00003dfd ncall  0x000043f9 , 0x00000002 
+ 00017396  0x00003dfe beq  0x00000002 , 0x000043fb 
+ 00017397  0x00003dff beq  0x00000004 , 0x000043fe 
+ 00017398  0x00003e00 beq  0x00000006 , 0x000043fb 
+ 00017399  0x00003e01 beq  0x00000008 , 0x000043fe 
+ 00017400  0x00003e02 rtn 
+ 00017401  0x00003e04 jam  0x00000001 , 0x000046cf 
+ 00017402  0x00003e05 branch  0x000043fe 
+ 00017403  0x00003e07 arg  0x00000000 , 0x00000011 
+ 00017404  0x00003e08 jam  0x00000002 , 0x00004713 
+ 00017405  0x00003e09 branch  0x00007d14 
+ 00017406  0x00003e0b arg  0x00000000 , 0x00000011 
+ 00017407  0x00003e0c jam  0x00000002 , 0x00004713 
+ 00017408  0x00003e0d branch  0x00007d19 
+ 00017409  0x00003e10 call  0x00003f97 
+ 00017410  0x00003e11 nrtn  0x00000028 
+ 00017411  0x00003e12 arg  0x00000007 , 0x00000011 
+ 00017412  0x00003e13 arg  0x0000469a , 0x00000012 
+ 00017413  0x00003e14 rtn 
+ 00017414  0x00003e17 fetch  0x00000001 , 0x0000478b 
+ 00017415  0x00003e18 rtn  0x00000034 
+ 00017416  0x00003e1a fetcht  0x00000001 , 0x000046e7 
+ 00017417  0x00003e1b call  0x0000681d 
+ 00017418  0x00003e1c call  0x00004410 , 0x00000001 
+ 00017419  0x00003e1d fetch  0x00000001 , 0x00004704 
+ 00017420  0x00003e1e nrtn  0x00000034 
+ 00017421  0x00003e1f call  0x00004083 
+ 00017422  0x00003e20 nrtn  0x00000034 
+ 00017423  0x00003e21 branch  0x00002d83 
+ 00017424  0x00003e24 fetch  0x00000001 , 0x000046e7 
+ 00017425  0x00003e25 rtneq  0x000000ff 
+ 00017426  0x00003e26 jam  0x0000000a , 0x00004704 
+ 00017427  0x00003e27 rtn 
+ 00017428  0x00003e2b call  0x00004423 
+ 00017429  0x00003e2c fetch  0x00000002 , 0x00004778 
+ 00017430  0x00003e2d arg  0x0000aa55 , 0x00000002 
+ 00017431  0x00003e2e isub  0x00000002 , 0x0000003e 
+ 00017432  0x00003e2f branch  0x0000442b , 0x00000005 
+ 00017433  0x00003e30 storet  0x00000002 , 0x00004778 
+ 00017434  0x00003e31 call  0x0000441c 
+ 00017435  0x00003e32 branch  0x00004435 
+ 00017436  0x00003e34 fetch  0x00000006 , 0x000044a0 
+ 00017437  0x00003e35 store  0x00000006 , 0x00004738 
+ 00017438  0x00003e36 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017439  0x00003e37 store  0x00000006 , 0x00004755 
+ 00017440  0x00003e38 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017441  0x00003e39 store  0x00000006 , 0x00004772 
+ 00017442  0x00003e3a rtn 
+ 00017443  0x00003e3e setarg  0x00004778 
+ 00017444  0x00003e3f arg  0x00004720 , 0x00000002 
+ 00017445  0x00003e40 isub  0x00000002 , 0x00000002 
+ 00017446  0x00003e41 fetch  0x00000003 , 0x00004700 
+ 00017447  0x00003e42 iadd  0x00000002 , 0x0000003f 
+ 00017448  0x00003e43 arg  0x00000002 , 0x00000002 
+ 00017449  0x00003e44 arg  0x00004778 , 0x00000011 
+ 00017450  0x00003e45 branch  0x00006562 
+ 00017451  0x00003e49 setarg  0x0000477f 
+ 00017452  0x00003e4a arg  0x00004720 , 0x00000002 
+ 00017453  0x00003e4b isub  0x00000002 , 0x00000002 
+ 00017454  0x00003e4c fetch  0x00000003 , 0x00004700 
+ 00017455  0x00003e4d arg  0x00004720 , 0x00000011 
+ 00017456  0x00003e4e call  0x00006562 
+ 00017457  0x00003e4f call  0x0000431a 
+ 00017458  0x00003e50 fetch  0x00000004 , 0x0000477b 
+ 00017459  0x00003e51 call  0x00002c7a 
+ 00017460  0x00003e52 branch  0x0000322c 
+ 00017461  0x00003e55 setarg  0x0000477f 
+ 00017462  0x00003e56 arg  0x00004720 , 0x00000002 
+ 00017463  0x00003e57 isub  0x00000002 , 0x00000002 
+ 00017464  0x00003e58 arg  0x00004720 , 0x00000011 
+ 00017465  0x00003e59 fetch  0x00000003 , 0x00004700 
+ 00017466  0x00003e5a branch  0x00006514 
+ 00017467  0x00003e5d arg  0x00000001 , 0x00000002 
+ 00017468  0x00003e5e arg  0x0000477a , 0x00000011 
+ 00017469  0x00003e5f arg  0x0000005a , 0x00000012 
+ 00017470  0x00003e60 branch  0x000065d1 
+ 00017471  0x00003e63 arg  0x00000001 , 0x00000002 
+ 00017472  0x00003e64 arg  0x0000477a , 0x00000011 
+ 00017473  0x00003e65 arg  0x0000005a , 0x00000012 
+ 00017474  0x00003e66 branch  0x000065df 
+ 00017475  0x00003e69 rtnmark1  0x00000026 
+ 00017476  0x00003e6a fetch  0x00000004 , 0x000046d3 
+ 00017477  0x00003e6b rtnbit0  0x00000016 
+ 00017478  0x00003e6c fetch  0x00000001 , 0x00004705 
+ 00017479  0x00003e6d pincrease  0x00000001 
+ 00017480  0x00003e6e and  0x0000003f , 0x00000007 , 0x0000003f 
+ 00017481  0x00003e6f store  0x00000001 , 0x00004705 
+ 00017482  0x00003e70 rtnne  0x00000007 
+ 00017483  0x00003e71 fetch  0x00000002 , 0x00004682 
+ 00017484  0x00003e72 bbit1  0x00000000 , 0x0000444f 
+ 00017485  0x00003e73 bbit1  0x00000009 , 0x0000444f 
+ 00017486  0x00003e74 rtn 
+ 00017487  0x00003e7a bpatch  0x000000ee , 0x0000401d 
+ 00017488  0x00003e7b fetch  0x00000001 , 0x00004706 
+ 00017489  0x00003e7c nrtn  0x00000034 
+ 00017490  0x00003e7d fetch  0x00000004 , 0x000046d3 
+ 00017491  0x00003e7e rtnbit0  0x00000008 
+ 00017492  0x00003e7f fetch  0x00000001 , 0x000046a5 
+ 00017493  0x00003e80 call  0x000063fb 
+ 00017494  0x00003e81 store  0x00000001 , 0x000046a6 
+ 00017495  0x00003e82 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017496  0x00003e83 branch  0x0000445b , 0x00000002 
+ 00017497  0x00003e84 jam  0x00000000 , 0x00004706 
+ 00017498  0x00003e85 rtn 
+ 00017499  0x00003e88 jam  0x0000001e , 0x00004706 
+ 00017500  0x00003e89 rtn 
+ 00017501  0x00003e8b arg  0x00004706 , 0x00000013 
+ 00017502  0x00003e8c arg  0x00004460 , 0x00000012 
+ 00017503  0x00003e8d branch  0x0000336d 
+ 00017504  0x00003e90 fetch  0x00000001 , 0x000046a5 
+ 00017505  0x00003e91 call  0x00006414 
+ 00017506  0x00003e92 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017507  0x00003e93 nrtn  0x00000002 
+ 00017508  0x00003e94 fetch  0x00000004 , 0x000046d3 
+ 00017509  0x00003e95 rtnbit0  0x00000008 
+ 00017510  0x00003e96 arg  0x00000008 , 0x00000007 
+ 00017511  0x00003e97 call  0x000043d2 
+ 00017512  0x00003e98 jam  0x00000000 , 0x00004172 
+ 00017513  0x00003e99 jam  0x0000001e , 0x000046c4 
+ 00017514  0x00003e9a call  0x00004482 
+ 00017515  0x00003e9b fetch  0x00000004 , 0x000046d3 
+ 00017516  0x00003e9c bbit1  0x00000015 , 0x00004471 
+ 00017517  0x00003e9e fetch  0x00000001 , 0x00004720 
+ 00017518  0x00003e9f beq  0x00000001 , 0x00004489 
+ 00017519  0x00003ea0 beq  0x00000002 , 0x00004476 
+ 00017520  0x00003ea1 rtn 
+ 00017521  0x00003ea3 fetch  0x00000001 , 0x00004720 
+ 00017522  0x00003ea4 beq  0x00000001 , 0x00004489 
+ 00017523  0x00003ea5 beq  0x00000002 , 0x0000448c 
+ 00017524  0x00003ea6 beq  0x00000003 , 0x0000448f 
+ 00017525  0x00003ea7 rtn 
+ 00017526  0x00003eaa fetch  0x00000001 , 0x000046f0 
+ 00017527  0x00003eab branch  0x0000428f 
+ 00017528  0x00003eb0 jam  0x00000020 , 0x00004172 
+ 00017529  0x00003eb1 branch  0x00004482 
+ 00017530  0x00003eb6 fetch  0x00000001 , 0x000046f0 
+ 00017531  0x00003eb7 rtneq  0x000000ff 
+ 00017532  0x00003eb8 store  0x00000001 , 0x00004715 
+ 00017533  0x00003eb9 branch  0x00004296 
+ 00017534  0x00003ebc fetch  0x00000001 , 0x000046f1 
+ 00017535  0x00003ebd rtneq  0x000000ff 
+ 00017536  0x00003ebe store  0x00000001 , 0x00004715 
+ 00017537  0x00003ebf branch  0x00004296 
+ 00017538  0x00003ec2 call  0x00004296 
+ 00017539  0x00003ec3 call  0x0000447a 
+ 00017540  0x00003ec4 call  0x0000447e 
+ 00017541  0x00003ec6 fetch  0x00000001 , 0x000046f2 
+ 00017542  0x00003ec7 rtneq  0x000000ff 
+ 00017543  0x00003ec8 store  0x00000001 , 0x00004715 
+ 00017544  0x00003ec9 branch  0x00004296 
+ 00017545  0x00003ecc fetch  0x00000001 , 0x000046f0 
+ 00017546  0x00003ecd store  0x00000001 , 0x00004715 
+ 00017547  0x00003ece branch  0x00004298 
+ 00017548  0x00003ed0 fetch  0x00000001 , 0x000046f1 
+ 00017549  0x00003ed1 store  0x00000001 , 0x00004715 
+ 00017550  0x00003ed2 branch  0x00004298 
+ 00017551  0x00003ed4 fetch  0x00000001 , 0x000046f2 
+ 00017552  0x00003ed5 store  0x00000001 , 0x00004715 
+ 00017553  0x00003ed6 branch  0x00004298 
+ 00017554  0x00003edb bpatch  0x000000ef , 0x0000401d 
+ 00017555  0x00003edc fetch  0x00000001 , 0x0000471e 
+ 00017556  0x00003edd increase  0xffffffff , 0x0000003f 
+ 00017557  0x00003ede store  0x00000001 , 0x0000471e 
+ 00017558  0x00003edf fetcht  0x00000001 , 0x00004720 
+ 00017559  0x00003ee0 increase  0x00000001 , 0x00000002 
+ 00017560  0x00003ee1 fetch  0x00000001 , 0x000046d2 
+ 00017561  0x00003ee2 isub  0x00000002 , 0x0000003e 
+ 00017562  0x00003ee3 ncall  0x000043cc , 0x00000002 
+ 00017563  0x00003ee4 storet  0x00000001 , 0x00004720 
+ 00017564  0x00003ee5 jam  0x00000000 , 0x000041bd 
+ 00017565  0x00003ee6 call  0x0000437a 
+ 00017566  0x00003ee7 call  0x000042fb 
+ 00017567  0x00003ee8 branch  0x000042a2 
+ 00017568  0x00003eeb call  0x00004482 
+ 00017569  0x00003eec setarg  0x00000000 
+ 00017570  0x00003eed store  0x00000008 , 0x000000a1 
+ 00017571  0x00003eee branch  0x00002b1f 
+ 00017572  0x00003efa rtn  0x0000002b 
+ 00017573  0x00003efb hfetch  0x00000001 , 0x00008081 
+ 00017574  0x00003efc and_into  0x000000f0 , 0x0000003f 
+ 00017575  0x00003efd hstore  0x00000001 , 0x00008081 
+ 00017576  0x00003efe call  0x00006948 
+ 00017577  0x00003eff setarg  0x000044e6 
+ 00017578  0x00003f00 store  0x00000002 , 0x000041eb 
+ 00017579  0x00003f02 setarg  0x000044e9 
+ 00017580  0x00003f03 store  0x00000002 , 0x000041ed 
+ 00017581  0x00003f05 setarg  0x000044ef 
+ 00017582  0x00003f06 store  0x00000002 , 0x000041f3 
+ 00017583  0x00003f08 setarg  0x000044f2 
+ 00017584  0x00003f09 store  0x00000002 , 0x000041f5 
+ 00017585  0x00003f0b setarg  0x000033d0 
+ 00017586  0x00003f0c store  0x00000002 , 0x000041e9 
+ 00017587  0x00003f0e call  0x00002c7a 
+ 00017588  0x00003f0f setarg  0x000045c2 
+ 00017589  0x00003f10 add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00017590  0x00003f11 istore  0x00000002 , 0x00000005 
+ 00017591  0x00003f13 setarg  0x000044ea 
+ 00017592  0x00003f14 add  0x00000013 , 0x000000da , 0x00000005 
+ 00017593  0x00003f15 istore  0x00000002 , 0x00000005 
+ 00017594  0x00003f17 setarg  0x000044e9 
+ 00017595  0x00003f18 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00017596  0x00003f19 istore  0x00000002 , 0x00000005 
+ 00017597  0x00003f1b setarg  0x0000450e 
+ 00017598  0x00003f1c store  0x00000002 , 0x000041fd 
+ 00017599  0x00003f1e setarg  0x000044da 
+ 00017600  0x00003f1f store  0x00000002 , 0x0000475b 
+ 00017601  0x00003f21 setarg  0x000044d6 
+ 00017602  0x00003f22 store  0x00000002 , 0x0000475f 
+ 00017603  0x00003f24 setarg  0x00004560 
+ 00017604  0x00003f25 store  0x00000002 , 0x0000470f 
+ 00017605  0x00003f27 bpatch  0x000000f0 , 0x0000401e 
+ 00017606  0x00003f28 call  0x000044e2 
+ 00017607  0x00003f29 call  0x00007e38 
+ 00017608  0x00003f2a jam  0x00000002 , 0x00004172 
+ 00017609  0x00003f2b fetch  0x00000001 , 0x0000472b 
+ 00017610  0x00003f2c store  0x00000001 , 0x0000469a 
+ 00017611  0x00003f2d beq  0x00000000 , 0x000044d5 
+ 00017612  0x00003f2e fetch  0x00000001 , 0x0000472c 
+ 00017613  0x00003f2f store  0x00000001 , 0x00004686 
+ 00017614  0x00003f31 call  0x000044db 
+ 00017615  0x00003f32 call  0x00007cd3 
+ 00017616  0x00003f33 call  0x00007cdd 
+ 00017617  0x00003f34 jam  0x00000001 , 0x00004757 
+ 00017618  0x00003f35 fetch  0x00000002 , 0x00004682 
+ 00017619  0x00003f36 rtnbit1  0x0000000c 
+ 00017620  0x00003f37 branch  0x0000340a 
+ 00017621  0x00003f3c jam  0x00000002 , 0x00004757 
+ 00017622  0x00003f3e call  0x000044db 
+ 00017623  0x00003f40 arg  0x00000000 , 0x00000011 
+ 00017624  0x00003f41 call  0x00007d1e 
+ 00017625  0x00003f43 branch  0x00002ee4 
+ 00017626  0x00003f46 branch  0x000044db 
+ 00017627  0x00003f49 bpatch  0x000000f1 , 0x0000401e 
+ 00017628  0x00003f4a fetch  0x00000001 , 0x00004729 
+ 00017629  0x00003f4b bne  0x000000ff , 0x000044e0 
+ 00017630  0x00003f4d fetcht  0x00000001 , 0x00004706 
+ 00017631  0x00003f4e branch  0x0000680e 
+ 00017632  0x00003f50 store  0x00000001 , 0x00004706 
+ 00017633  0x00003f51 branch  0x000044de 
+ 00017634  0x00003f55 call  0x00002c9d 
+ 00017635  0x00003f56 fetch  0x00000002 , 0x00004753 
+ 00017636  0x00003f57 store  0x00000002 , 0x00004755 
+ 00017637  0x00003f58 branch  0x00004515 
+ 00017638  0x00003f60 call  0x00006835 
+ 00017639  0x00003f61 call  0x000044e9 
+ 00017640  0x00003f62 branch  0x0000340a 
+ 00017641  0x00003f65 branch  0x0000696c 
+ 00017642  0x00003f68 fetch  0x00000001 , 0x00004765 
+ 00017643  0x00003f69 rtn  0x00000034 
+ 00017644  0x00003f6b branch  0x00002d83 
+ 00017645  0x00003f6e rtn 
+ 00017646  0x00003f71 branch  0x00006978 
+ 00017647  0x00003f74 call  0x00004544 
+ 00017648  0x00003f75 call  0x00004503 
+ 00017649  0x00003f76 branch  0x000044ee 
+ 00017650  0x00003f79 copy  0x00000013 , 0x0000003f 
+ 00017651  0x00003f7a beq  0x0000002d , 0x00003431 
+ 00017652  0x00003f7b beq  0x00000010 , 0x0000341a 
+ 00017653  0x00003f7c beq  0x00000039 , 0x000044fb 
+ 00017654  0x00003f7d beq  0x0000003c , 0x000044ff 
+ 00017655  0x00003f7e beq  0x0000003a , 0x000044f9 
+ 00017656  0x00003f7f rtn 
+ 00017657  0x00003f82 jam  0x00000001 , 0x00004765 
+ 00017658  0x00003f83 rtn 
+ 00017659  0x00003f86 jam  0x00000001 , 0x00004765 
+ 00017660  0x00003f87 jam  0x00000001 , 0x00004763 
+ 00017661  0x00003f88 jam  0x00000001 , 0x00004764 
+ 00017662  0x00003f89 rtn 
+ 00017663  0x00003f8c jam  0x00000001 , 0x00004765 
+ 00017664  0x00003f8d jam  0x00000001 , 0x00004763 
+ 00017665  0x00003f8e jam  0x00000001 , 0x00004764 
+ 00017666  0x00003f8f rtn 
+ 00017667  0x00003f92 fetch  0x00000001 , 0x00004763 
+ 00017668  0x00003f93 rtneq  0x00000000 
+ 00017669  0x00003f94 fetch  0x00000001 , 0x00004762 
+ 00017670  0x00003f95 rtneq  0x00000001 
+ 00017671  0x00003f96 jam  0x00000001 , 0x00004762 
+ 00017672  0x00003f98 arg  0x00000000 , 0x00000011 
+ 00017673  0x00003f99 branch  0x00007d19 
+ 00017674  0x00003f9b arg  0x00000000 , 0x00000011 
+ 00017675  0x00003f9c call  0x00007d19 
+ 00017676  0x00003f9d call  0x000044db 
+ 00017677  0x00003f9e branch  0x0000340a 
+ 00017678  0x00003fa1 call  0x0000337b 
+ 00017679  0x00003fa2 branch  0x00004510 
+ 00017680  0x00003fa5 fetch  0x00000001 , 0x0000472d 
+ 00017681  0x00003fa6 rtn  0x00000034 
+ 00017682  0x00003fa7 arg  0x00004755 , 0x00000013 
+ 00017683  0x00003fa8 arg  0x0000450a , 0x00000012 
+ 00017684  0x00003fa9 branch  0x00003374 
+ 00017685  0x00003fad call  0x0000451a 
+ 00017686  0x00003fae storet  0x00000002 , 0x0000471a 
+ 00017687  0x00003faf call  0x0000451f 
+ 00017688  0x00003fb0 storet  0x00000002 , 0x0000471c 
+ 00017689  0x00003fb1 rtn 
+ 00017690  0x00003fb4 fetch  0x00000002 , 0x0000471a 
+ 00017691  0x00003fb5 store  0x00000002 , 0x0000471e 
+ 00017692  0x00003fb6 call  0x00004540 
+ 00017693  0x00003fb7 call  0x00004525 
+ 00017694  0x00003fb8 store  0x00000001 , 0x00004724 
+ 00017695  0x00003fba fetch  0x00000002 , 0x0000471c 
+ 00017696  0x00003fbb store  0x00000002 , 0x0000471e 
+ 00017697  0x00003fbc call  0x00004542 
+ 00017698  0x00003fbd call  0x00004525 
+ 00017699  0x00003fbe store  0x00000001 , 0x00004725 
+ 00017700  0x00003fbf rtn 
+ 00017701  0x00003fc1 fetch  0x00000002 , 0x00004720 
+ 00017702  0x00003fc2 copy  0x0000003f , 0x00000011 
+ 00017703  0x00003fc3 fetch  0x00000002 , 0x0000471e 
+ 00017704  0x00003fc4 call  0x0000452e 
+ 00017705  0x00003fc5 fetch  0x00000001 , 0x00004719 
+ 00017706  0x00003fc6 nbranch  0x00004537 , 0x00000034 
+ 00017707  0x00003fc7 nrtn  0x00000002 
+ 00017708  0x00003fc8 fetcht  0x00000002 , 0x0000471e 
+ 00017709  0x00003fc9 rtn 
+ 00017710  0x00003fcb isub  0x00000002 , 0x0000003f 
+ 00017711  0x00003fcc branch  0x00004534 , 0x00000002 
+ 00017712  0x00003fcd sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00017713  0x00003fce jam  0x00000001 , 0x00004718 
+ 00017714  0x00003fcf isub  0x00000011 , 0x0000003e 
+ 00017715  0x00003fd0 rtn 
+ 00017716  0x00003fd2 jam  0x00000000 , 0x00004718 
+ 00017717  0x00003fd3 isub  0x00000011 , 0x0000003e 
+ 00017718  0x00003fd4 rtn 
+ 00017719  0x00003fd6 nbranch  0x0000453e , 0x00000002 
+ 00017720  0x00003fd7 fetch  0x00000001 , 0x00004718 
+ 00017721  0x00003fd8 nbranch  0x0000453c , 0x00000034 
+ 00017722  0x00003fda setarg  0x00000001 
+ 00017723  0x00003fdb rtn 
+ 00017724  0x00003fdd setarg  0x00000002 
+ 00017725  0x00003fde rtn 
+ 00017726  0x00003fe0 setarg  0x00000000 
+ 00017727  0x00003fe1 rtn 
+ 00017728  0x00003fe3 jam  0x00000033 , 0x0000422e 
+ 00017729  0x00003fe4 branch  0x000068eb 
+ 00017730  0x00003fe6 jam  0x00000034 , 0x0000422e 
+ 00017731  0x00003fe7 branch  0x000068eb 
+ 00017732  0x00003feb fetch  0x00000001 , 0x0000472a 
+ 00017733  0x00003fec rtnne  0x00000001 
+ 00017734  0x00003fee bpatch  0x000000f2 , 0x0000401e 
+ 00017735  0x00003fef jam  0x00000001 , 0x00004719 
+ 00017736  0x00003ff0 call  0x0000451a 
+ 00017737  0x00003ff1 fetch  0x00000002 , 0x00004724 
+ 00017738  0x00003ff2 fetcht  0x00000002 , 0x00004722 
+ 00017739  0x00003ff3 isub  0x00000002 , 0x0000003e 
+ 00017740  0x00003ff4 rtn  0x00000005 
+ 00017741  0x00003ff5 store  0x00000002 , 0x00004722 
+ 00017742  0x00003ff6 call  0x00004550 
+ 00017743  0x00003ff7 branch  0x00004554 
+ 00017744  0x00003ffa fetch  0x00000001 , 0x00004724 
+ 00017745  0x00003ffb branch  0x0000455a , 0x00000034 
+ 00017746  0x00003ffc increase  0xffffffff , 0x0000003f 
+ 00017747  0x00003ffd branch  0x00004557 
+ 00017748  0x00003fff fetch  0x00000001 , 0x00004725 
+ 00017749  0x00004000 branch  0x0000455d , 0x00000034 
+ 00017750  0x00004001 increase  0x00000001 , 0x0000003f 
+ 00017751  0x00004003 copy  0x0000003f , 0x00000007 
+ 00017752  0x00004004 arg  0x00000001 , 0x00000011 
+ 00017753  0x00004005 branch  0x00004560 
+ 00017754  0x00004008 arg  0x00000000 , 0x00000007 
+ 00017755  0x00004009 arg  0x00000000 , 0x00000011 
+ 00017756  0x0000400a branch  0x00004560 
+ 00017757  0x0000400c arg  0x00000002 , 0x00000007 
+ 00017758  0x0000400d arg  0x00000000 , 0x00000011 
+ 00017759  0x0000400e branch  0x00004560 
+ 00017760  0x00004011 copy  0x00000011 , 0x0000003f 
+ 00017761  0x00004012 store  0x00000001 , 0x00004761 
+ 00017762  0x00004013 fetch  0x00000001 , 0x00004763 
+ 00017763  0x00004014 beq  0x00000000 , 0x00002ee4 
+ 00017764  0x00004015 fetch  0x00000002 , 0x00004753 
+ 00017765  0x00004016 store  0x00000002 , 0x00004755 
+ 00017766  0x00004017 fetch  0x00000001 , 0x00004761 
+ 00017767  0x00004018 branch  0x00004580 , 0x00000034 
+ 00017768  0x0000401a bpatch  0x000000f3 , 0x0000401e 
+ 00017769  0x0000401b arg  0x00000000 , 0x00000011 
+ 00017770  0x0000401c call  0x00007d14 
+ 00017771  0x0000401e copy  0x00000007 , 0x0000003f 
+ 00017772  0x0000401f beq  0x00000004 , 0x000045a3 
+ 00017773  0x00004020 beq  0x00000005 , 0x000045a5 
+ 00017774  0x00004021 beq  0x00000006 , 0x000045a7 
+ 00017775  0x00004025 call  0x0000458b 
+ 00017776  0x00004026 beq  0x00000000 , 0x00004574 
+ 00017777  0x00004027 beq  0x00000002 , 0x0000457a 
+ 00017778  0x00004028 beq  0x00000003 , 0x00004574 
+ 00017779  0x00004029 rtn 
+ 00017780  0x0000402c copy  0x00000007 , 0x0000003f 
+ 00017781  0x0000402d beq  0x00000000 , 0x0000458f 
+ 00017782  0x0000402e beq  0x00000001 , 0x00004591 
+ 00017783  0x0000402f beq  0x00000002 , 0x00004593 
+ 00017784  0x00004030 beq  0x00000003 , 0x00004595 
+ 00017785  0x00004031 rtn 
+ 00017786  0x00004034 copy  0x00000007 , 0x0000003f 
+ 00017787  0x00004035 beq  0x00000000 , 0x00004597 
+ 00017788  0x00004036 beq  0x00000001 , 0x0000459a 
+ 00017789  0x00004037 beq  0x00000002 , 0x0000459d 
+ 00017790  0x00004038 beq  0x00000003 , 0x000045a0 
+ 00017791  0x00004039 rtn 
+ 00017792  0x0000403c bpatch  0x000000f4 , 0x0000401e 
+ 00017793  0x0000403d arg  0x00000000 , 0x00000011 
+ 00017794  0x0000403e call  0x00007d19 
+ 00017795  0x00004040 copy  0x00000007 , 0x0000003f 
+ 00017796  0x00004041 beq  0x00000004 , 0x000045bc 
+ 00017797  0x00004042 beq  0x00000005 , 0x000045bc 
+ 00017798  0x00004046 call  0x0000458b 
+ 00017799  0x00004047 beq  0x00000000 , 0x000045a9 
+ 00017800  0x00004048 beq  0x00000002 , 0x000045af 
+ 00017801  0x00004049 beq  0x00000003 , 0x000045a9 
+ 00017802  0x0000404a rtn 
+ 00017803  0x0000404d fetch  0x00000001 , 0x00004728 
+ 00017804  0x0000404e fetcht  0x00000001 , 0x00004727 
+ 00017805  0x0000404f ior  0x00000002 , 0x0000003f 
+ 00017806  0x00004050 rtn 
+ 00017807  0x00004054 jam  0x00000001 , 0x00004734 
+ 00017808  0x00004055 branch  0x000045be 
+ 00017809  0x00004057 jam  0x00000002 , 0x00004734 
+ 00017810  0x00004058 branch  0x000045be 
+ 00017811  0x0000405a jam  0x00000001 , 0x00004736 
+ 00017812  0x0000405b branch  0x000045be 
+ 00017813  0x0000405d jam  0x00000002 , 0x00004736 
+ 00017814  0x0000405e branch  0x000045be 
+ 00017815  0x00004062 jam  0x00000001 , 0x00004734 
+ 00017816  0x00004063 jam  0x00000001 , 0x00004736 
+ 00017817  0x00004064 branch  0x000045be 
+ 00017818  0x00004066 jam  0x00000002 , 0x00004734 
+ 00017819  0x00004067 jam  0x00000002 , 0x00004736 
+ 00017820  0x00004068 branch  0x000045be 
+ 00017821  0x0000406a jam  0x00000002 , 0x00004734 
+ 00017822  0x0000406b jam  0x00000001 , 0x00004736 
+ 00017823  0x0000406c branch  0x000045be 
+ 00017824  0x0000406e jam  0x00000001 , 0x00004734 
+ 00017825  0x0000406f jam  0x00000002 , 0x00004736 
+ 00017826  0x00004070 branch  0x000045be 
+ 00017827  0x00004074 jam  0x00000001 , 0x00004738 
+ 00017828  0x00004075 branch  0x000045be 
+ 00017829  0x00004077 jam  0x00000002 , 0x00004738 
+ 00017830  0x00004078 branch  0x000045be 
+ 00017831  0x0000407b jam  0x00000001 , 0x00004741 
+ 00017832  0x0000407c branch  0x000045c0 
+ 00017833  0x0000407f copy  0x00000007 , 0x0000003f 
+ 00017834  0x00004080 beq  0x00000000 , 0x000045b5 
+ 00017835  0x00004081 beq  0x00000001 , 0x000045b5 
+ 00017836  0x00004082 beq  0x00000002 , 0x000045b7 
+ 00017837  0x00004083 beq  0x00000003 , 0x000045b7 
+ 00017838  0x00004084 rtn 
+ 00017839  0x00004087 copy  0x00000007 , 0x0000003f 
+ 00017840  0x00004088 beq  0x00000000 , 0x000045b9 
+ 00017841  0x00004089 beq  0x00000001 , 0x000045b9 
+ 00017842  0x0000408a beq  0x00000002 , 0x000045b9 
+ 00017843  0x0000408b beq  0x00000003 , 0x000045b9 
+ 00017844  0x0000408c rtn 
+ 00017845  0x00004090 jam  0x00000000 , 0x00004734 
+ 00017846  0x00004091 branch  0x000045be 
+ 00017847  0x00004094 jam  0x00000000 , 0x00004736 
+ 00017848  0x00004095 branch  0x000045be 
+ 00017849  0x0000409b jam  0x00000000 , 0x00004734 
+ 00017850  0x0000409c jam  0x00000000 , 0x00004736 
+ 00017851  0x0000409d branch  0x000045be 
+ 00017852  0x000040a1 jam  0x00000000 , 0x00004738 
+ 00017853  0x000040a2 branch  0x000045be 
+ 00017854  0x000040a5 arg  0x0000472e , 0x00000011 
+ 00017855  0x000040a6 branch  0x00007e3d 
+ 00017856  0x000040a8 arg  0x0000473b , 0x00000011 
+ 00017857  0x000040a9 branch  0x00007e3d 
+ 00017858  0x000040ac fetch  0x00000001 , 0x00004764 
+ 00017859  0x000040ad beq  0x00000001 , 0x000045cc 
+ 00017860  0x000040ae arg  0x00004744 , 0x00000011 
+ 00017861  0x000040af call  0x00007e54 
+ 00017862  0x000040b0 nbranch  0x000045d1 , 0x00000028 
+ 00017863  0x000040b2 arg  0x00004744 , 0x00000006 
+ 00017864  0x000040b3 ifetch  0x00000001 , 0x00000006 
+ 00017865  0x000040b4 copy  0x0000003f , 0x00000011 
+ 00017866  0x000040b5 arg  0x00004745 , 0x00000012 
+ 00017867  0x000040b8 rtn 
+ 00017868  0x000040bb jam  0x00000000 , 0x00004764 
+ 00017869  0x000040bc enable  0x00000028 
+ 00017870  0x000040bd arg  0x00000001 , 0x00000011 
+ 00017871  0x000040be arg  0x00004766 , 0x00000012 
+ 00017872  0x000040bf rtn 
+ 00017873  0x000040c2 fetch  0x00000001 , 0x00004747 
+ 00017874  0x000040c3 beq  0x00000004 , 0x000045d5 
+ 00017875  0x000040c4 beq  0x00000005 , 0x000045d5 
+ 00017876  0x000040c5 rtn 
+ 00017877  0x000040c7 fetch  0x00000001 , 0x0000474a 
+ 00017878  0x000040c8 nbranch  0x000045dc , 0x00000034 
+ 00017879  0x000040c9 fetch  0x00000001 , 0x0000474c 
+ 00017880  0x000040ca nbranch  0x000045dc , 0x00000034 
+ 00017881  0x000040cb fetch  0x00000001 , 0x0000474e 
+ 00017882  0x000040cc nbranch  0x000045dc , 0x00000034 
+ 00017883  0x000040cd rtn 
+ 00017884  0x000040cf enable  0x00000028 
+ 00017885  0x000040d0 branch  0x000045c7 
+ 00017886  0x000040d9 rtn  0x0000002b 
+ 00017887  0x000040da hfetch  0x00000001 , 0x00008081 
+ 00017888  0x000040db and_into  0x000000fc , 0x0000003f 
+ 00017889  0x000040dc hstore  0x00000001 , 0x00008081 
+ 00017890  0x000040dd setarg  0x000046b4 
+ 00017891  0x000040de store  0x00000002 , 0x000041eb 
+ 00017892  0x000040e0 setarg  0x000046b3 
+ 00017893  0x000040e1 store  0x00000002 , 0x000041ed 
+ 00017894  0x000040e3 setarg  0x0000340a 
+ 00017895  0x000040e4 store  0x00000002 , 0x000041f7 
+ 00017896  0x000040e6 setarg  0x000046b1 
+ 00017897  0x000040e7 store  0x00000002 , 0x000041f3 
+ 00017898  0x000040e9 setarg  0x00004612 
+ 00017899  0x000040ea store  0x00000002 , 0x000041f5 
+ 00017900  0x000040ec setarg  0x0000460c 
+ 00017901  0x000040ed store  0x00000002 , 0x000041e9 
+ 00017902  0x000040ef setarg  0x0000476a 
+ 00017903  0x000040f0 store  0x00000002 , 0x000041f9 
+ 00017904  0x000040f2 setarg  0x00004686 
+ 00017905  0x000040f3 store  0x00000002 , 0x000041fd 
+ 00017906  0x000040f5 setarg  0x00004729 
+ 00017907  0x000040f6 store  0x00000002 , 0x000046e7 
+ 00017908  0x000040f8 setarg  0x00004806 
+ 00017909  0x000040f9 store  0x00000002 , 0x000046e2 
+ 00017910  0x000040fa setarg  0x00004807 
+ 00017911  0x000040fb store  0x00000002 , 0x000046e4 
+ 00017912  0x000040fd call  0x000057a3 
+ 00017913  0x000040fe call  0x000047da 
+ 00017914  0x000040ff call  0x00004788 
+ 00017915  0x00004100 call  0x0000476d 
+ 00017916  0x00004101 call  0x00006948 
+ 00017917  0x00004102 call  0x0000477a 
+ 00017918  0x00004103 call  0x00007e38 
+ 00017919  0x00004104 call  0x00007d08 
+ 00017920  0x00004105 call  0x00004793 
+ 00017921  0x00004106 call  0x000047c7 
+ 00017922  0x00004108 bpatch  0x000000f5 , 0x0000401e 
+ 00017923  0x00004109 call  0x0000464f 
+ 00017924  0x0000410a fetch  0x00000001 , 0x000046dd 
+ 00017925  0x0000410b beq  0x00000000 , 0x00004609 
+ 00017926  0x0000410c fetch  0x00000001 , 0x000046de 
+ 00017927  0x0000410d store  0x00000001 , 0x00004686 
+ 00017928  0x0000410e branch  0x0000480e 
+ 00017929  0x00004112 jam  0x000000ff , 0x00004686 
+ 00017930  0x00004113 jam  0x00000001 , 0x000046df 
+ 00017931  0x00004114 branch  0x000046d9 
+ 00017932  0x00004119 fetch  0x00000001 , 0x000046df 
+ 00017933  0x0000411a beq  0x00000002 , 0x000033d0 
+ 00017934  0x0000411b call  0x0000527e 
+ 00017935  0x0000411c fetch  0x00000001 , 0x00004256 
+ 00017936  0x0000411d nbranch  0x000033d0 , 0x00000034 
+ 00017937  0x0000411e branch  0x000033d2 
+ 00017938  0x00004123 copy  0x00000013 , 0x0000003f 
+ 00017939  0x00004125 beq  0x00000001 , 0x00004626 
+ 00017940  0x00004126 beq  0x00000002 , 0x00004629 
+ 00017941  0x00004127 beq  0x00000004 , 0x00004631 
+ 00017942  0x00004128 beq  0x00000005 , 0x00004633 
+ 00017943  0x00004129 beq  0x00000006 , 0x00004635 
+ 00017944  0x0000412a beq  0x00000007 , 0x00004638 
+ 00017945  0x0000412b beq  0x00000012 , 0x0000463c 
+ 00017946  0x0000412c beq  0x00000013 , 0x00004644 
+ 00017947  0x0000412d beq  0x00000027 , 0x00004645 
+ 00017948  0x0000412e beq  0x0000002e , 0x00004648 
+ 00017949  0x0000412f beq  0x0000003d , 0x00004649 
+ 00017950  0x00004131 beq  0x00000014 , 0x00004658 
+ 00017951  0x00004132 beq  0x00000015 , 0x0000465c 
+ 00017952  0x00004133 beq  0x0000003f , 0x0000465f 
+ 00017953  0x00004134 beq  0x00000040 , 0x00004665 
+ 00017954  0x00004136 beq  0x00000010 , 0x0000466b 
+ 00017955  0x00004137 beq  0x0000002c , 0x0000466c 
+ 00017956  0x00004138 beq  0x0000002d , 0x00004677 
+ 00017957  0x00004139 rtn 
+ 00017958  0x0000413f jam  0x00000000 , 0x000046ad 
+ 00017959  0x00004140 jam  0x00000000 , 0x000046ac 
+ 00017960  0x00004141 rtn 
+ 00017961  0x00004145 call  0x0000462b 
+ 00017962  0x00004146 branch  0x00004631 
+ 00017963  0x00004149 jam  0x00000000 , 0x000041e2 
+ 00017964  0x0000414a jam  0x00000000 , 0x00004680 
+ 00017965  0x0000414b jam  0x00000000 , 0x00004205 
+ 00017966  0x0000414c jam  0x00000000 , 0x000046ac 
+ 00017967  0x0000414d jam  0x00000000 , 0x000046ad 
+ 00017968  0x0000414e branch  0x00007e38 
+ 00017969  0x00004152 call  0x000033a9 
+ 00017970  0x00004153 branch  0x000046c2 
+ 00017971  0x00004157 call  0x000046b6 
+ 00017972  0x00004158 branch  0x00003408 
+ 00017973  0x0000415c setarg  0x00000002 
+ 00017974  0x0000415d store  0x00000001 , 0x00004680 
+ 00017975  0x0000415e rtn 
+ 00017976  0x00004162 jam  0x00000000 , 0x000046ac 
+ 00017977  0x00004163 setarg  0x00000001 
+ 00017978  0x00004164 store  0x00000001 , 0x000046ad 
+ 00017979  0x00004165 rtn 
+ 00017980  0x00004169 fetch  0x00000001 , 0x000041e2 
+ 00017981  0x0000416a rtneq  0x00000001 
+ 00017982  0x0000416b jam  0x00000001 , 0x000041e2 
+ 00017983  0x0000416c call  0x00003416 
+ 00017984  0x0000416d call  0x00003414 
+ 00017985  0x0000416e call  0x000046b6 
+ 00017986  0x0000416f call  0x00003408 
+ 00017987  0x00004170 branch  0x0000340e 
+ 00017988  0x00004174 branch  0x00004631 
+ 00017989  0x00004178 setarg  0x00000005 
+ 00017990  0x00004179 store  0x00000001 , 0x000046ac 
+ 00017991  0x0000417a rtn 
+ 00017992  0x0000417e branch  0x000033cd 
+ 00017993  0x00004183 arg  0x00000000 , 0x00000012 
+ 00017994  0x00004184 fetch  0x00000001 , 0x00004217 
+ 00017995  0x00004185 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00017996  0x00004186 fetch  0x00000002 , 0x00004215 
+ 00017997  0x00004187 copy  0x0000003f , 0x00000011 
+ 00017998  0x00004188 branch  0x00006606 
+ 00017999  0x0000418b arg  0x00000000 , 0x00000012 
+ 00018000  0x0000418c fetch  0x00000001 , 0x0000469a 
+ 00018001  0x0000418d rtnbit0  0x00000001 
+ 00018002  0x0000418e fetch  0x00000001 , 0x00004217 
+ 00018003  0x0000418f rtn  0x00000034 
+ 00018004  0x00004190 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00018005  0x00004191 fetch  0x00000002 , 0x00004215 
+ 00018006  0x00004192 copy  0x0000003f , 0x00000011 
+ 00018007  0x00004193 branch  0x000065df 
+ 00018008  0x00004198 call  0x000046b6 
+ 00018009  0x00004199 setarg  0x00000000 
+ 00018010  0x0000419a store  0x00000002 , 0x000046b7 
+ 00018011  0x0000419b branch  0x00003408 
+ 00018012  0x0000419f call  0x00007e38 
+ 00018013  0x000041a0 jam  0x00000000 , 0x000046b0 
+ 00018014  0x000041a1 branch  0x000046d9 
+ 00018015  0x000041a5 call  0x00007e38 
+ 00018016  0x000041a6 jam  0x00000001 , 0x000046b0 
+ 00018017  0x000041a7 fetch  0x00000008 , 0x000046c1 
+ 00018018  0x000041a8 store  0x00000008 , 0x00004496 
+ 00018019  0x000041a9 call  0x00003416 
+ 00018020  0x000041aa branch  0x00005abf 
+ 00018021  0x000041ae fetch  0x00000002 , 0x00004509 
+ 00018022  0x000041af rtneq  0x00000000 
+ 00018023  0x000041b0 fetch  0x00000008 , 0x000046c9 
+ 00018024  0x000041b1 rtn  0x00000034 
+ 00018025  0x000041b2 store  0x00000008 , 0x00004496 
+ 00018026  0x000041b3 branch  0x00005abf 
+ 00018027  0x000041b8 branch  0x0000481f 
+ 00018028  0x000041bb fetch  0x00000001 , 0x000046dd 
+ 00018029  0x000041bc rtneq  0x00000000 
+ 00018030  0x000041bd fetch  0x00000001 , 0x000046df 
+ 00018031  0x000041be rtnne  0x00000001 
+ 00018032  0x000041bf call  0x00004672 
+ 00018033  0x000041c0 branch  0x00003406 
+ 00018034  0x000041c3 jam  0x00000001 , 0x000048df 
+ 00018035  0x000041c4 arg  0x0000000b , 0x00000039 
+ 00018036  0x000041c5 arg  0x000048e0 , 0x00000005 
+ 00018037  0x000041c6 arg  0x000048c9 , 0x00000006 
+ 00018038  0x000041c7 branch  0x00007f01 
+ 00018039  0x000041ca fetch  0x00000001 , 0x000046dd 
+ 00018040  0x000041cb rtneq  0x00000000 
+ 00018041  0x000041cc fetch  0x00000001 , 0x000046df 
+ 00018042  0x000041cd beq  0x00000001 , 0x0000467c 
+ 00018043  0x000041ce branch  0x0000481b 
+ 00018044  0x000041d1 fetch  0x00000001 , 0x000048df 
+ 00018045  0x000041d2 rtnne  0x00000001 
+ 00018046  0x000041d3 jam  0x00000000 , 0x000048df 
+ 00018047  0x000041d4 fetch  0x00000002 , 0x00004682 
+ 00018048  0x000041d5 bbit1  0x00000000 , 0x00003408 
+ 00018049  0x000041d6 bbit1  0x00000009 , 0x00003408 
+ 00018050  0x000041d7 arg  0x0000000b , 0x00000039 
+ 00018051  0x000041d8 arg  0x000048e0 , 0x00000006 
+ 00018052  0x000041d9 arg  0x000048c9 , 0x00000005 
+ 00018053  0x000041da branch  0x00007f01 
+ 00018054  0x000041e1 call  0x0000468c 
+ 00018055  0x000041e4 call  0x00004693 
+ 00018056  0x000041e7 call  0x0000469e 
+ 00018057  0x000041e8 call  0x000046a6 
+ 00018058  0x000041e9 call  0x000046a9 
+ 00018059  0x000041ec branch  0x000046ac 
+ 00018060  0x000041f1 arg  0x000046db , 0x00000013 
+ 00018061  0x000041f2 arg  0x0000468f , 0x00000012 
+ 00018062  0x000041f3 branch  0x00003374 
+ 00018063  0x000041f5 jam  0x00000002 , 0x000046df 
+ 00018064  0x000041f6 call  0x00003408 
+ 00018065  0x000041f7 call  0x000046f4 
+ 00018066  0x000041f8 branch  0x0000480b 
+ 00018067  0x000041fc arg  0x000048ec , 0x00000013 
+ 00018068  0x000041fd arg  0x00004696 , 0x00000012 
+ 00018069  0x000041fe branch  0x0000336d 
+ 00018070  0x00004201 fetch  0x00000002 , 0x00004682 
+ 00018071  0x00004202 bbit1  0x00000009 , 0x0000480b 
+ 00018072  0x00004203 bbit1  0x00000000 , 0x0000480b 
+ 00018073  0x00004204 fetch  0x00000001 , 0x000048c9 
+ 00018074  0x00004205 beq  0x00000001 , 0x0000480b 
+ 00018075  0x00004206 beq  0x00000004 , 0x0000480b 
+ 00018076  0x00004207 beq  0x00000005 , 0x0000480b 
+ 00018077  0x00004208 branch  0x0000340a 
+ 00018078  0x0000420d arg  0x000046ac , 0x00000013 
+ 00018079  0x0000420e arg  0x000046a1 , 0x00000012 
+ 00018080  0x0000420f branch  0x0000336d 
+ 00018081  0x00004212 fetch  0x00000001 , 0x0000027f 
+ 00018082  0x00004213 set1  0x00000000 , 0x0000003f 
+ 00018083  0x00004214 set1  0x00000007 , 0x0000003f 
+ 00018084  0x00004215 store  0x00000001 , 0x0000027f 
+ 00018085  0x00004216 rtn 
+ 00018086  0x00004219 arg  0x00004680 , 0x00000013 
+ 00018087  0x0000421a arg  0x0000463c , 0x00000012 
+ 00018088  0x0000421b branch  0x0000336d 
+ 00018089  0x0000421e arg  0x000046ad , 0x00000013 
+ 00018090  0x0000421f arg  0x000033e9 , 0x00000012 
+ 00018091  0x00004220 branch  0x0000336d 
+ 00018092  0x00004226 fetch  0x00000001 , 0x000046df 
+ 00018093  0x00004227 rtnne  0x00000001 
+ 00018094  0x00004228 arg  0x000046b7 , 0x00000013 
+ 00018095  0x00004229 arg  0x000046c2 , 0x00000012 
+ 00018096  0x0000422a branch  0x00003374 
+ 00018097  0x0000422e call  0x0000473a 
+ 00018098  0x0000422f branch  0x00006978 
+ 00018099  0x00004233 branch  0x0000696c 
+ 00018100  0x00004236 call  0x00006835 
+ 00018101  0x00004237 branch  0x000046b3 
+ 00018102  0x0000423e fetch  0x00000001 , 0x0000469a 
+ 00018103  0x0000423f bbit1  0x00000001 , 0x000046be 
+ 00018104  0x00004240 bbit1  0x00000000 , 0x000046ba 
+ 00018105  0x00004241 rtn 
+ 00018106  0x00004244 fetch  0x00000002 , 0x000046d7 
+ 00018107  0x00004245 store  0x00000002 , 0x000046d9 
+ 00018108  0x00004246 store  0x00000002 , 0x000046db 
+ 00018109  0x00004247 branch  0x000033f8 
+ 00018110  0x0000424a fetch  0x00000002 , 0x000046d3 
+ 00018111  0x0000424b store  0x00000002 , 0x000046d9 
+ 00018112  0x0000424c store  0x00000002 , 0x000046db 
+ 00018113  0x0000424d branch  0x000033f0 
+ 00018114  0x00004250 fetch  0x00000001 , 0x000046df 
+ 00018115  0x00004251 rtnne  0x00000001 
+ 00018116  0x00004252 fetch  0x00000001 , 0x0000469a 
+ 00018117  0x00004253 bbit1  0x00000001 , 0x000046c8 
+ 00018118  0x00004254 bbit1  0x00000000 , 0x000046cc 
+ 00018119  0x00004255 rtn 
+ 00018120  0x00004258 fetch  0x00000002 , 0x000046d1 ,
+ 00018121  0x00004259 store  0x00000002 , 0x000046d9 
+ 00018122  0x0000425a store  0x00000002 , 0x000046db 
+ 00018123  0x0000425b branch  0x000033eb 
+ 00018124  0x0000425e fetch  0x00000002 , 0x00004682 
+ 00018125  0x0000425f rtnbit1  0x00000009 
+ 00018126  0x00004260 fetch  0x00000002 , 0x000046d5 
+ 00018127  0x00004261 store  0x00000002 , 0x000046d9 
+ 00018128  0x00004262 store  0x00000002 , 0x000046db 
+ 00018129  0x00004263 fetch  0x00000002 , 0x000046b3 
+ 00018130  0x00004264 call  0x000046f0 
+ 00018131  0x00004265 call  0x00003404 
+ 00018132  0x00004266 fetch  0x00000004 , 0x000046bd 
+ 00018133  0x00004267 store  0x00000004 , 0x000048cc 
+ 00018134  0x00004268 fetch  0x00000002 , 0x00004682 
+ 00018135  0x00004269 rtnbit1  0x0000000b 
+ 00018136  0x0000426a branch  0x000033fa 
+ 00018137  0x0000426e fetch  0x00000001 , 0x000046df 
+ 00018138  0x0000426f rtnne  0x00000001 
+ 00018139  0x00004270 fetch  0x00000001 , 0x0000469a 
+ 00018140  0x00004271 bbit1  0x00000001 , 0x000046df 
+ 00018141  0x00004272 bbit1  0x00000000 , 0x000046e4 
+ 00018142  0x00004273 rtn 
+ 00018143  0x00004276 call  0x000046f8 
+ 00018144  0x00004277 branch  0x000046c2 , 0x00000034 
+ 00018145  0x00004278 call  0x00003406 
+ 00018146  0x00004279 call  0x000033f0 
+ 00018147  0x0000427a branch  0x000033e1 
+ 00018148  0x0000427d fetch  0x00000002 , 0x000046b7 
+ 00018149  0x0000427e fetcht  0x00000002 , 0x000046b5 
+ 00018150  0x0000427f storet  0x00000002 , 0x000046b7 
+ 00018151  0x00004280 nrtn  0x00000034 
+ 00018152  0x00004281 fetch  0x00000002 , 0x000046b1 
+ 00018153  0x00004282 call  0x000046f0 
+ 00018154  0x00004283 call  0x00003404 
+ 00018155  0x00004284 fetch  0x00000004 , 0x000046b9 
+ 00018156  0x00004285 store  0x00000004 , 0x000048cc 
+ 00018157  0x00004286 fetch  0x00000002 , 0x00004682 
+ 00018158  0x00004287 rtnbit1  0x0000000b 
+ 00018159  0x00004288 branch  0x000033fa 
+ 00018160  0x0000428c store  0x00000002 , 0x00004154 
+ 00018161  0x0000428d increase  0xfffffffc , 0x0000003f 
+ 00018162  0x0000428e store  0x00000002 , 0x00004482 
+ 00018163  0x0000428f rtn 
+ 00018164  0x00004293 fetch  0x00000002 , 0x00004682 
+ 00018165  0x00004294 bbit1  0x00000009 , 0x00003402 
+ 00018166  0x00004295 bbit1  0x00000000 , 0x000033e9 
+ 00018167  0x00004296 branch  0x000046b6 
+ 00018168  0x0000429b fetch  0x00000001 , 0x00004217 
+ 00018169  0x0000429c copy  0x0000003f , 0x00000039 
+ 00018170  0x0000429d fetch  0x00000002 , 0x00004215 
+ 00018171  0x0000429e copy  0x0000003f , 0x00000011 
+ 00018172  0x000042a0 ifetch  0x00000002 , 0x00000011 
+ 00018173  0x000042a1 beq  0x00000000 , 0x00004701 
+ 00018174  0x000042a2 increase  0x00000022 , 0x00000011 
+ 00018175  0x000042a3 loop  0x000046fc 
+ 00018176  0x000042a4 branch  0x00007ff1 
+ 00018177  0x000042a7 ifetch  0x00000006 , 0x00000006 
+ 00018178  0x000042a8 store  0x00000006 , 0x000041d0 
+ 00018179  0x000042a9 increase  0x0000000a , 0x00000006 
+ 00018180  0x000042aa arg  0x000041be , 0x00000005 
+ 00018181  0x000042ab call  0x00007ebf 
+ 00018182  0x000042ac call  0x000067d7 
+ 00018183  0x000042ad branch  0x00007fef 
+ 00018184  0x000042b4 call  0x00007fe9 
+ 00018185  0x000042b5 fetch  0x00000002 , 0x00004682 
+ 00018186  0x000042b6 bbit1  0x00000000 , 0x0000470d 
+ 00018187  0x000042b7 bbit1  0x00000009 , 0x00004710 
+ 00018188  0x000042b8 rtn 
+ 00018189  0x000042bb fetch  0x00000001 , 0x00004253 
+ 00018190  0x000042bc rtnne  0x0000003f 
+ 00018191  0x000042bd branch  0x00007fe7 
+ 00018192  0x000042c0 fetch  0x00000001 , 0x000046b0 
+ 00018193  0x000042c1 rtn  0x00000034 
+ 00018194  0x000042c2 branch  0x00007fe7 
+ 00018195  0x000042c8 call  0x00007fe9 
+ 00018196  0x000042c9 fetch  0x00000002 , 0x00004682 
+ 00018197  0x000042ca rtnbit1  0x00000000 
+ 00018198  0x000042cb rtnbit1  0x00000009 
+ 00018199  0x000042cc branch  0x00007fe7 
+ 00018200  0x000042d1 fetch  0x00000001 , 0x0000469a 
+ 00018201  0x000042d2 bbit1  0x00000001 , 0x0000471c 
+ 00018202  0x000042d3 bbit1  0x00000000 , 0x0000471f 
+ 00018203  0x000042d4 rtn 
+ 00018204  0x000042d7 fetch  0x00000001 , 0x00004093 
+ 00018205  0x000042d8 rtnne  0x00000003 
+ 00018206  0x000042d9 branch  0x000046d9 
+ 00018207  0x000042dc branch  0x000046d9 
+ 00018208  0x000042e0 disable  0x0000002c 
+ 00018209  0x000042e1 fetch  0x00000002 , 0x000046d9 
+ 00018210  0x000042e2 store  0x00000002 , 0x000046db 
+ 00018211  0x000042e4 call  0x00004713 
+ 00018212  0x000042e5 branch  0x00004718 , 0x00000028 
+ 00018213  0x000042e7 call  0x00004708 
+ 00018214  0x000042e8 nrtn  0x00000028 
+ 00018215  0x000042e9 enable  0x0000002c 
+ 00018216  0x000042ea rtn 
+ 00018217  0x000042ef call  0x00004720 
+ 00018218  0x000042f0 nrtn  0x0000002c 
+ 00018219  0x000042f1 deposit  0x00000011 
+ 00018220  0x000042f2 branch  0x00004730 , 0x00000034 
+ 00018221  0x000042f4 call  0x00003406 
+ 00018222  0x000042f5 arg  0x000046f1 , 0x00000013 
+ 00018223  0x000042f6 branch  0x00004732 
+ 00018224  0x000042f9 call  0x00003408 
+ 00018225  0x000042fa arg  0x00004719 , 0x00000013 
+ 00018226  0x000042fd arg  0x00000005 , 0x0000003f 
+ 00018227  0x000042fe imul32  0x00000007 , 0x0000003f 
+ 00018228  0x000042ff iadd  0x00000013 , 0x00000013 
+ 00018229  0x00004303 ifetch  0x00000001 , 0x00000013 
+ 00018230  0x00004304 rtn  0x00000034 
+ 00018231  0x00004305 call  0x00004762 
+ 00018232  0x00004306 increase  0x00000001 , 0x00000013 
+ 00018233  0x00004307 branch  0x00004735 
+ 00018234  0x0000430b fetch  0x00000002 , 0x00004682 
+ 00018235  0x0000430c bbit1  0x00000009 , 0x0000473e 
+ 00018236  0x0000430d bbit1  0x00000000 , 0x0000474e 
+ 00018237  0x0000430e rtn 
+ 00018238  0x00004311 call  0x00005892 
+ 00018239  0x00004312 nrtn  0x00000034 
+ 00018240  0x00004313 call  0x00004765 
+ 00018241  0x00004314 nrtn  0x00000028 
+ 00018242  0x00004315 pincrease  0xffffffff 
+ 00018243  0x00004316 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018244  0x00004317 arg  0x00004741 , 0x00000002 
+ 00018245  0x00004318 iadd  0x00000002 , 0x00000006 
+ 00018246  0x0000431a ifetch  0x00000001 , 0x00000006 
+ 00018247  0x0000431b copy  0x0000003f , 0x00000011 
+ 00018248  0x0000431c ifetcht  0x00000002 , 0x00000006 
+ 00018249  0x0000431d call  0x00007ea5 
+ 00018250  0x0000431e call  0x00005a64 
+ 00018251  0x0000431f copy  0x00000011 , 0x00000039 
+ 00018252  0x00004320 call  0x00007e9f 
+ 00018253  0x00004321 branch  0x00007f01 
+ 00018254  0x00004325 call  0x00005271 
+ 00018255  0x00004326 nrtn  0x00000034 
+ 00018256  0x00004327 call  0x00004765 
+ 00018257  0x00004328 nrtn  0x00000028 
+ 00018258  0x00004329 pincrease  0xffffffff 
+ 00018259  0x0000432a mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018260  0x0000432b arg  0x000047a0 , 0x00000002 
+ 00018261  0x0000432c iadd  0x00000002 , 0x00000006 
+ 00018262  0x0000432d ifetch  0x00000005 , 0x00000006 
+ 00018263  0x0000432e store  0x00000005 , 0x0000479b 
+ 00018264  0x00004330 fetch  0x00000001 , 0x0000479b 
+ 00018265  0x00004331 copy  0x0000003f , 0x00000011 
+ 00018266  0x00004332 call  0x00004d63 
+ 00018267  0x00004333 fetch  0x00000002 , 0x0000424e 
+ 00018268  0x00004334 istore  0x00000002 , 0x00000005 
+ 00018269  0x00004335 setarg  0x000000a1 
+ 00018270  0x00004336 istore  0x00000001 , 0x00000005 
+ 00018271  0x00004337 fetch  0x00000004 , 0x0000479c 
+ 00018272  0x00004338 istore  0x00000009 , 0x00000005 
+ 00018273  0x00004339 rtn 
+ 00018274  0x0000433e store  0x00000001 , 0x00000a9a 
+ 00018275  0x0000433f arg  0x00000a9a , 0x00000011 
+ 00018276  0x00004340 branch  0x00007e3d 
+ 00018277  0x00004343 arg  0x00000a9a , 0x00000011 
+ 00018278  0x00004344 call  0x00007e54 
+ 00018279  0x00004345 nrtn  0x00000028 
+ 00018280  0x00004346 fetch  0x00000001 , 0x00000a9a 
+ 00018281  0x00004347 rtn 
+ 00018282  0x0000434b fetch  0x00000002 , 0x00000478 
+ 00018283  0x0000434c beq  0x00000018 , 0x0000465f 
+ 00018284  0x0000434d rtn 
+ 00018285  0x00004350 setarg  0x00000002 
+ 00018286  0x00004351 store  0x00000001 , 0x000048eb 
+ 00018287  0x00004353 setarg  0x00200008 
+ 00018288  0x00004354 store  0x00000004 , 0x000046c1 
+ 00018289  0x00004355 setarg  0x012c0005 
+ 00018290  0x00004356 istore  0x00000004 , 0x00000005 
+ 00018291  0x00004359 jam  0x00000017 , 0x000044a6 
+ 00018292  0x0000435c setarg  0x0000001b 
+ 00018293  0x0000435d store  0x00000002 , 0x000044fa 
+ 00018294  0x0000435e call  0x00005810 
+ 00018295  0x0000435f call  0x0000582c 
+ 00018296  0x00004360 call  0x00005839 
+ 00018297  0x00004361 branch  0x00005818 
+ 00018298  0x00004366 arg  0x00000028 , 0x00000039 
+ 00018299  0x00004367 arg  0x00004741 , 0x00000005 
+ 00018300  0x00004368 arg  0x0000949f , 0x00000006 
+ 00018301  0x00004369 call  0x00007ef4 
+ 00018302  0x0000436a arg  0x00000028 , 0x00000039 
+ 00018303  0x0000436b arg  0x000047a0 , 0x00000005 
+ 00018304  0x0000436c arg  0x000094c7 , 0x00000006 
+ 00018305  0x0000436d branch  0x00007ef4 
+ 00018306  0x00004371 arg  0x0000017e , 0x00000039 
+ 00018307  0x00004372 arg  0x0000913a , 0x00000006 
+ 00018308  0x00004373 branch  0x00007ef4 
+ 00018309  0x00004377 arg  0x000001e7 , 0x00000039 
+ 00018310  0x00004378 arg  0x000092b8 , 0x00000006 
+ 00018311  0x00004379 branch  0x00007ef4 
+ 00018312  0x0000437e call  0x000047ae 
+ 00018313  0x0000437f nrtn  0x00000028 
+ 00018314  0x00004380 fetch  0x00000001 , 0x0000469f 
+ 00018315  0x00004381 call  0x00004790 
+ 00018316  0x00004382 fetch  0x00000001 , 0x000046a0 
+ 00018317  0x00004383 call  0x00004790 
+ 00018318  0x00004384 fetch  0x00000001 , 0x000046a1 
+ 00018319  0x00004385 branch  0x00004790 
+ 00018320  0x00004388 rtn  0x00000034 
+ 00018321  0x00004389 or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018322  0x0000438a branch  0x000067f9 
+ 00018323  0x0000438e call  0x000047ae 
+ 00018324  0x0000438f nrtn  0x00000028 
+ 00018325  0x00004390 call  0x00004797 
+ 00018326  0x00004391 branch  0x000047b4 
+ 00018327  0x00004394 arg  0x00000000 , 0x00000011 
+ 00018328  0x00004395 fetch  0x00000001 , 0x0000469f 
+ 00018329  0x00004396 call  0x000047a9 
+ 00018330  0x00004397 nsetflag  0x00000034 , 0x00000000 , 0x00000011 
+ 00018331  0x00004398 fetch  0x00000001 , 0x000046a0 
+ 00018332  0x00004399 call  0x000047a9 
+ 00018333  0x0000439a nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00018334  0x0000439b fetch  0x00000001 , 0x000046a1 
+ 00018335  0x0000439c call  0x000047a9 
+ 00018336  0x0000439d nsetflag  0x00000034 , 0x00000002 , 0x00000011 
+ 00018337  0x0000439e copy  0x00000011 , 0x0000003f 
+ 00018338  0x0000439f store  0x00000001 , 0x000046a9 
+ 00018339  0x000043a0 fetch  0x00000001 , 0x0000469e 
+ 00018340  0x000043a1 imul32  0x00000011 , 0x0000003f 
+ 00018341  0x000043a2 fetcht  0x00000002 , 0x0000469c 
+ 00018342  0x000043a3 iadd  0x00000002 , 0x0000003f 
+ 00018343  0x000043a4 store  0x00000002 , 0x000046aa 
+ 00018344  0x000043a5 rtn 
+ 00018345  0x000043a8 rtn  0x00000034 
+ 00018346  0x000043a9 or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018347  0x000043aa call  0x0000681d 
+ 00018348  0x000043ab nbranch  0x00007ff1 , 0x00000001 
+ 00018349  0x000043ac branch  0x00007fef 
+ 00018350  0x000043b0 call  0x00007fe9 
+ 00018351  0x000043b1 fetch  0x00000001 , 0x000046a8 
+ 00018352  0x000043b2 nrtn  0x00000034 
+ 00018353  0x000043b3 fetch  0x00000001 , 0x0000469b 
+ 00018354  0x000043b4 rtn  0x00000034 
+ 00018355  0x000043b5 branch  0x00007fe7 
+ 00018356  0x000043b9 call  0x0000666a 
+ 00018357  0x000043ba fetch  0x00000002 , 0x000046aa 
+ 00018358  0x000043bb arg  0x00000ac2 , 0x00000011 
+ 00018359  0x000043bc fetcht  0x00000001 , 0x0000469e 
+ 00018360  0x000043bd call  0x000066b3 
+ 00018361  0x000043be call  0x0000666d 
+ 00018362  0x000043c0 fetch  0x00000001 , 0x00000ac2 
+ 00018363  0x000043c1 copy  0x0000003f , 0x00000039 
+ 00018364  0x000043c2 store  0x00000001 , 0x000043af 
+ 00018365  0x000043c3 call  0x00007ef4 
+ 00018366  0x000043c4 fetch  0x00000001 , 0x00000ac2 
+ 00018367  0x000043c5 copy  0x0000003f , 0x00000039 
+ 00018368  0x000043c6 store  0x00000001 , 0x00004515 
+ 00018369  0x000043c7 call  0x00007ef4 
+ 00018370  0x000043c8 ifetch  0x00000001 , 0x00000006 
+ 00018371  0x000043c9 store  0x00000001 , 0x000046e6 
+ 00018372  0x000043ca ifetch  0x00000001 , 0x00000006 
+ 00018373  0x000043cb store  0x00000001 , 0x000046dd 
+ 00018374  0x000043cc rtn 
+ 00018375  0x000043d0 fetch  0x00000001 , 0x0000469a 
+ 00018376  0x000043d1 rtnbit0  0x00000001 
+ 00018377  0x000043d2 arg  0x00000003 , 0x00000002 
+ 00018378  0x000043d3 fetch  0x00000002 , 0x000046a4 
+ 00018379  0x000043d4 copy  0x0000003f , 0x00000012 
+ 00018380  0x000043d5 arg  0x000046a6 , 0x00000011 
+ 00018381  0x000043d6 call  0x000065df 
+ 00018382  0x000043d7 fetcht  0x00000002 , 0x000046a6 
+ 00018383  0x000043d8 setarg  0x00001b3a 
+ 00018384  0x000043d9 isub  0x00000002 , 0x0000003e 
+ 00018385  0x000043da nrtn  0x00000005 
+ 00018386  0x000043db fetch  0x00000001 , 0x000046a8 
+ 00018387  0x000043dc rtn  0x00000034 
+ 00018388  0x000043dd copy  0x0000003f , 0x00000002 
+ 00018389  0x000043de fetch  0x00000002 , 0x000046a4 
+ 00018390  0x000043df add  0x0000003f , 0x00000003 , 0x00000012 
+ 00018391  0x000043e0 arg  0x00000ac2 , 0x00000011 
+ 00018392  0x000043e1 call  0x000065df 
+ 00018393  0x000043e2 branch  0x000047e8 
+ 00018394  0x000043e5 fetch  0x00000002 , 0x000046a2 
+ 00018395  0x000043e6 rtn  0x00000034 
+ 00018396  0x000043e7 call  0x0000666a 
+ 00018397  0x000043e8 arg  0x00000001 , 0x00000002 
+ 00018398  0x000043e9 arg  0x000046a8 , 0x00000011 
+ 00018399  0x000043ea call  0x000066b3 
+ 00018400  0x000043ec fetch  0x00000001 , 0x000046a8 
+ 00018401  0x000043ed rtn  0x00000034 
+ 00018402  0x000043ef fetch  0x00000002 , 0x000046a2 
+ 00018403  0x000043f0 pincrease  0x00000001 
+ 00018404  0x000043f1 arg  0x00000ac2 , 0x00000011 
+ 00018405  0x000043f2 fetcht  0x00000001 , 0x000046a8 
+ 00018406  0x000043f3 call  0x000066b3 
+ 00018407  0x000043f4 call  0x0000666d 
+ 00018408  0x000043f6 call  0x000047ba 
+ 00018409  0x000043f8 ifetch  0x00000002 , 0x00000006 
+ 00018410  0x000043f9 rtn  0x00000034 
+ 00018411  0x000043fa copy  0x0000003f , 0x00000005 
+ 00018412  0x000043fb ifetcht  0x00000001 , 0x00000006 
+ 00018413  0x000043fc copy  0x00000002 , 0x00000039 
+ 00018414  0x000043fd call  0x00007f01 
+ 00018415  0x000043fe branch  0x000047e9 
+ 00018416  0x00004403 fetch  0x00000001 , 0x0000469a 
+ 00018417  0x00004404 rtnbit0  0x00000001 
+ 00018418  0x00004405 fetch  0x00000002 , 0x000046ae 
+ 00018419  0x00004406 copy  0x0000003f , 0x00000012 
+ 00018420  0x00004407 arg  0x00000004 , 0x00000002 
+ 00018421  0x00004408 arg  0x00000ac2 , 0x00000011 
+ 00018422  0x00004409 call  0x000065df 
+ 00018423  0x0000440a fetch  0x00000001 , 0x00000ac2 
+ 00018424  0x0000440b bne  0x00000001 , 0x000047f9 
+ 00018425  0x0000440d setarg  0x00000001 
+ 00018426  0x0000440e store  0x00000001 , 0x00000ac2 
+ 00018427  0x0000440f force  0x00000003 , 0x00000039 
+ 00018428  0x00004410 call  0x0000630d 
+ 00018429  0x00004411 fetch  0x00000002 , 0x000046ae 
+ 00018430  0x00004412 copy  0x0000003f , 0x00000012 
+ 00018431  0x00004413 arg  0x00000004 , 0x00000002 
+ 00018432  0x00004414 arg  0x00000ac2 , 0x00000011 
+ 00018433  0x00004415 call  0x00006606 
+ 00018434  0x00004417 fetch  0x00000003 , 0x00000ac3 
+ 00018435  0x00004418 store  0x00000003 , 0x000040a0 
+ 00018436  0x00004419 store  0x00000003 , 0x000044a0 
+ 00018437  0x0000441a rtn 
+ 00018438  0x0000441e branch  0x000046d9 
+ 00018439  0x00004422 arg  0x00000000 , 0x00000011 
+ 00018440  0x00004423 arg  0x000048d4 , 0x00000013 
+ 00018441  0x00004424 call  0x00007d24 
+ 00018442  0x00004425 call  0x000046f4 
+ 00018443  0x00004427 fetch  0x00000001 , 0x000048eb 
+ 00018444  0x00004428 store  0x00000001 , 0x000048ec 
+ 00018445  0x00004429 rtn 
+ 00018446  0x0000442e setarg  0x00000000 
+ 00018447  0x0000442f call  0x00004816 
+ 00018448  0x00004430 jam  0x00000001 , 0x00004679 
+ 00018449  0x00004431 call  0x00007cd3 
+ 00018450  0x00004432 call  0x00007cdd 
+ 00018451  0x00004433 fetch  0x00000002 , 0x00004682 
+ 00018452  0x00004434 rtnbit1  0x0000000c 
+ 00018453  0x00004435 branch  0x0000340a 
+ 00018454  0x00004438 fetcht  0x00000002 , 0x0000423f 
+ 00018455  0x00004439 istore  0x00000001 , 0x00000002 
+ 00018456  0x0000443a ifetch  0x00000001 , 0x00000005 
+ 00018457  0x0000443b store  0x00000001 , 0x00004685 
+ 00018458  0x0000443c rtn 
+ 00018459  0x00004440 fetch  0x00000002 , 0x0000423f 
+ 00018460  0x00004441 ifetch  0x00000001 , 0x0000003f 
+ 00018461  0x00004442 rtnne  0x00000000 
+ 00018462  0x00004443 branch  0x0000340a 
+ 00018463  0x00004447 fetcht  0x00000002 , 0x0000423f 
+ 00018464  0x00004448 ifetch  0x00000001 , 0x00000002 
+ 00018465  0x00004449 beq  0x00000001 , 0x0000482a 
+ 00018466  0x0000444b setarg  0x00000001 
+ 00018467  0x0000444c fetcht  0x00000002 , 0x0000423f 
+ 00018468  0x0000444d istore  0x00000001 , 0x00000002 
+ 00018469  0x0000444e add  0x00000002 , 0x00000002 , 0x00000006 
+ 00018470  0x0000444f ifetch  0x00000001 , 0x00000006 
+ 00018471  0x00004450 istore  0x00000001 , 0x00004685 
+ 00018472  0x00004451 ifetch  0x00000002 , 0x00000006 
+ 00018473  0x00004452 branch  0x00007f9c 
+ 00018474  0x00004455 setarg  0x00000002 
+ 00018475  0x00004456 call  0x00004816 
+ 00018476  0x00004457 add  0x00000002 , 0x00000005 , 0x00000006 
+ 00018477  0x00004458 ifetch  0x00000002 , 0x00000006 
+ 00018478  0x00004459 branch  0x0000340a , 0x00000034 
+ 00018479  0x0000445a branch  0x00007f9c 
+ 00018480  0x00004461 store  0x00000006 , 0x00000101 
+ 00018481  0x00004462 fetch  0x00000001 , 0x00000101 
+ 00018482  0x00004463 store  0x00000001 , 0x0000010c 
+ 00018483  0x00004464 ifetch  0x00000001 , 0x00000006 
+ 00018484  0x00004465 store  0x00000001 , 0x0000010b 
+ 00018485  0x00004466 ifetch  0x00000001 , 0x00000006 
+ 00018486  0x00004467 store  0x00000001 , 0x0000010a 
+ 00018487  0x00004468 ifetch  0x00000001 , 0x00000006 
+ 00018488  0x00004469 store  0x00000001 , 0x00000109 
+ 00018489  0x0000446a ifetch  0x00000001 , 0x00000006 
+ 00018490  0x0000446b store  0x00000001 , 0x00000108 
+ 00018491  0x0000446c ifetch  0x00000001 , 0x00000006 
+ 00018492  0x0000446d store  0x00000001 , 0x00000107 
+ 00018493  0x0000446e fetch  0x00000006 , 0x00000107 
+ 00018494  0x0000446f rtn 
+ 00018495  0x00004472 call  0x000068a2 
+ 00018496  0x00004473 fetch  0x00000001 , 0x00004223 
+ 00018497  0x00004474 store  0x00000001 , 0x000044a0 
+ 00018498  0x00004475 fetch  0x00000001 , 0x00004225 
+ 00018499  0x00004476 istore  0x00000001 , 0x00000005 
+ 00018500  0x00004477 fetch  0x00000001 , 0x00004227 
+ 00018501  0x00004478 istore  0x00000001 , 0x00000005 
+ 00018502  0x00004479 fetch  0x00000003 , 0x000044a0 
+ 00018503  0x0000447a store  0x00000003 , 0x000040a0 
+ 00018504  0x0000447b rtn 
+ 00018505  0x00004488 fetch  0x00000002 , 0x00004203 
+ 00018506  0x00004489 iadd  0x00000012 , 0x0000003f 
+ 00018507  0x0000448a byteswap  0x0000003f , 0x0000003f 
+ 00018508  0x0000448b store  0x00000002 , 0x000001f7 
+ 00018509  0x0000448c copy  0x00000002 , 0x00000012 
+ 00018510  0x0000448e call  0x0000489b 
+ 00018511  0x0000448f setarg  0x000000a0 
+ 00018512  0x00004490 call  0x0000488d 
+ 00018513  0x00004491 fetch  0x00000001 , 0x000001f7 
+ 00018514  0x00004492 call  0x0000488d 
+ 00018515  0x00004493 bmark1  0x00000028 , 0x00004856 
+ 00018516  0x00004494 fetch  0x00000001 , 0x000001f8 
+ 00018517  0x00004495 call  0x0000488d 
+ 00018518  0x00004497 call  0x000048a1 
+ 00018519  0x00004499 call  0x0000489b 
+ 00018520  0x0000449a setarg  0x000000a1 
+ 00018521  0x0000449b call  0x0000488d 
+ 00018522  0x0000449e call  0x0000487f 
+ 00018523  0x0000449f istore  0x00000001 , 0x00000011 
+ 00018524  0x000044a0 increase  0x00000001 , 0x00000011 
+ 00018525  0x000044a1 increase  0xffffffff , 0x00000012 
+ 00018526  0x000044a2 nbranch  0x0000485a , 0x00000005 
+ 00018527  0x000044a3 branch  0x000048a1 
+ 00018528  0x000044af byteswap  0x00000012 , 0x0000003f 
+ 00018529  0x000044b0 store  0x00000002 , 0x000001f7 
+ 00018530  0x000044b1 copy  0x00000002 , 0x00000012 
+ 00018531  0x000044b3 call  0x0000489b 
+ 00018532  0x000044b4 setarg  0x000000a0 
+ 00018533  0x000044b5 call  0x0000488d 
+ 00018534  0x000044b7 fetch  0x00000001 , 0x000001f7 
+ 00018535  0x000044b8 call  0x0000488d 
+ 00018536  0x000044b9 bmark1  0x00000028 , 0x0000486b 
+ 00018537  0x000044ba fetch  0x00000001 , 0x000001f8 
+ 00018538  0x000044bb call  0x0000488d 
+ 00018539  0x000044bd ifetch  0x00000001 , 0x00000011 
+ 00018540  0x000044be call  0x0000488d 
+ 00018541  0x000044bf increase  0x00000001 , 0x00000011 
+ 00018542  0x000044c0 increase  0xffffffff , 0x00000012 
+ 00018543  0x000044c1 nbranch  0x0000486b , 0x00000005 
+ 00018544  0x000044c2 branch  0x000048a1 
+ 00018545  0x000044c7 arg  0x0000000a , 0x00000039 
+ 00018546  0x000044c8 call  0x000048be 
+ 00018547  0x000044c9 call  0x000048a6 
+ 00018548  0x000044ca call  0x000048d2 
+ 00018549  0x000044cc call  0x000048c7 
+ 00018550  0x000044cd branch  0x000048a9 , 0x00000034 
+ 00018551  0x000044ce loop  0x00004875 
+ 00018552  0x000044cf branch  0x000048a9 
+ 00018553  0x000044d4 call  0x000048a9 
+ 00018554  0x000044d5 call  0x000048af 
+ 00018555  0x000044d6 call  0x000048d2 
+ 00018556  0x000044d7 call  0x000048a6 
+ 00018557  0x000044d8 call  0x000048d2 
+ 00018558  0x000044d9 branch  0x000048a9 
+ 00018559  0x000044df arg  0x00000008 , 0x00000039 
+ 00018560  0x000044e0 arg  0x00000000 , 0x00000013 
+ 00018561  0x000044e1 call  0x000048be 
+ 00018562  0x000044e3 call  0x000048a6 
+ 00018563  0x000044e4 call  0x000048d2 
+ 00018564  0x000044e5 lshift  0x00000013 , 0x00000013 
+ 00018565  0x000044e6 call  0x000048c7 
+ 00018566  0x000044e7 iadd  0x00000013 , 0x00000013 
+ 00018567  0x000044e8 call  0x000048d2 
+ 00018568  0x000044e9 call  0x000048a9 
+ 00018569  0x000044ea loop  0x00004882 
+ 00018570  0x000044eb call  0x00004879 
+ 00018571  0x000044ec copy  0x00000013 , 0x0000003f 
+ 00018572  0x000044ed rtn 
+ 00018573  0x000044f2 arg  0x00000008 , 0x00000039 
+ 00018574  0x000044f3 copy  0x0000003f , 0x00000013 
+ 00018575  0x000044f4 call  0x000048a9 
+ 00018576  0x000044f6 isolate1  0x00000007 , 0x00000013 
+ 00018577  0x000044f7 call  0x000048ac , 0x00000001 
+ 00018578  0x000044f8 ncall  0x000048af , 0x00000001 
+ 00018579  0x000044f9 lshift  0x00000013 , 0x00000013 
+ 00018580  0x000044fa call  0x000048d2 
+ 00018581  0x000044fb call  0x000048a6 
+ 00018582  0x000044fc call  0x000048d2 
+ 00018583  0x000044fd call  0x000048a9 
+ 00018584  0x000044fe call  0x000048d2 
+ 00018585  0x000044ff loop  0x00004890 
+ 00018586  0x00004500 branch  0x00004871 
+ 00018587  0x00004505 call  0x000048ac 
+ 00018588  0x00004506 call  0x000048a6 
+ 00018589  0x00004507 call  0x000048d2 
+ 00018590  0x00004508 call  0x000048af 
+ 00018591  0x00004509 call  0x000048d2 
+ 00018592  0x0000450a branch  0x000048a9 
+ 00018593  0x0000450f call  0x000048af 
+ 00018594  0x00004510 call  0x000048a6 
+ 00018595  0x00004511 call  0x000048d2 
+ 00018596  0x00004512 call  0x000048ac 
+ 00018597  0x00004513 branch  0x000048d2 
+ 00018598  0x00004518 enable  0x00000028 
+ 00018599  0x00004519 fetch  0x00000001 , 0x00004ffe 
+ 00018600  0x0000451a branch  0x000048b2 
+ 00018601  0x0000451e disable  0x00000028 
+ 00018602  0x0000451f fetch  0x00000001 , 0x00004ffe 
+ 00018603  0x00004520 branch  0x000048b2 
+ 00018604  0x00004524 enable  0x00000028 
+ 00018605  0x00004525 fetch  0x00000001 , 0x00004fff 
+ 00018606  0x00004526 branch  0x000048b2 
+ 00018607  0x0000452a disable  0x00000028 
+ 00018608  0x0000452b fetch  0x00000001 , 0x00004fff 
+ 00018609  0x0000452c branch  0x000048b2 
+ 00018610  0x00004532 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018611  0x00004533 rshift3  0x0000003f , 0x0000003f 
+ 00018612  0x00004534 arg  0x00008070 , 0x00000002 
+ 00018613  0x00004535 iadd  0x00000002 , 0x00000002 
+ 00018614  0x00004536 ifetch  0x00000001 , 0x00000002 
+ 00018615  0x00004537 qset1  0x0000003f 
+ 00018616  0x00004538 istore  0x00000001 , 0x00000002 
+ 00018617  0x00004539 increase  0x00000004 , 0x00000002 
+ 00018618  0x0000453a ifetch  0x00000001 , 0x00000002 
+ 00018619  0x0000453b qsetflag  0x00000028 , 0x0000003f 
+ 00018620  0x0000453c istore  0x00000001 , 0x00000002 
+ 00018621  0x0000453d rtn 
+ 00018622  0x00004541 fetch  0x00000001 , 0x00004fff 
+ 00018623  0x00004542 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018624  0x00004543 rshift3  0x0000003f , 0x0000003f 
+ 00018625  0x00004544 arg  0x00008070 , 0x00000002 
+ 00018626  0x00004545 iadd  0x00000002 , 0x00000002 
+ 00018627  0x00004546 ifetch  0x00000001 , 0x00000002 
+ 00018628  0x00004547 qset0  0x0000003f 
+ 00018629  0x00004548 istore  0x00000001 , 0x00000002 
+ 00018630  0x00004549 rtn 
+ 00018631  0x0000454f nop  0x00000004 
+ 00018632  0x00004550 fetch  0x00000001 , 0x00004fff 
+ 00018633  0x00004551 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018634  0x00004552 rshift3  0x0000003f , 0x0000003f 
+ 00018635  0x00004553 arg  0x0000811c , 0x00000002 
+ 00018636  0x00004554 iadd  0x00000002 , 0x00000002 
+ 00018637  0x00004555 setarg  0x00000000 
+ 00018638  0x00004556 ifetcht  0x00000001 , 0x00000002 
+ 00018639  0x00004557 qisolate1  0x00000002 
+ 00018640  0x00004558 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018641  0x00004559 rtn 
+ 00018642  0x0000455e rtn 
+ 00018643  0x00004565 bpatch  0x000000f6 , 0x0000401e 
+ 00018644  0x00004566 hfetch  0x00000001 , 0x00008a26 
+ 00018645  0x00004567 isolate1  0x00000007 , 0x0000003f 
+ 00018646  0x00004568 call  0x000048ea , 0x00000001 
+ 00018647  0x00004569 call  0x0000492e 
+ 00018648  0x0000456a hfetch  0x00000001 , 0x00008a26 
+ 00018649  0x0000456b store  0x00000001 , 0x00000b22 
+ 00018650  0x0000456c hfetch  0x00000001 , 0x00008a27 
+ 00018651  0x0000456d store  0x00000001 , 0x00000b23 
+ 00018652  0x0000456e hstore  0x00000001 , 0x00008a27 
+ 00018653  0x0000456f pinvert 
+ 00018654  0x00004570 fetcht  0x00000001 , 0x00000d37 
+ 00018655  0x00004571 iand  0x00000002 , 0x0000003f 
+ 00018656  0x00004572 store  0x00000001 , 0x00000d37 
+ 00018657  0x00004573 jam  0x000000e0 , 0x00008a26 
+ 00018658  0x00004574 fetch  0x00000001 , 0x00000b23 
+ 00018659  0x00004575 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018660  0x00004576 call  0x00004941 , 0x00000001 
+ 00018661  0x00004577 fetch  0x00000001 , 0x00000b22 
+ 00018662  0x00004578 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018663  0x00004579 call  0x0000494a , 0x00000001 
+ 00018664  0x0000457a call  0x00004b61 
+ 00018665  0x0000457b branch  0x00004903 
+ 00018666  0x0000457e bpatch  0x000000f7 , 0x0000401e 
+ 00018667  0x0000457f call  0x00004919 
+ 00018668  0x00004580 jam  0x00000000 , 0x00008a00 
+ 00018669  0x00004581 nop  0x00002710 
+ 00018670  0x00004582 jam  0x000000c0 , 0x00008a10 
+ 00018671  0x00004583 hfetch  0x00000002 , 0x00008050 
+ 00018672  0x00004584 set0  0x0000000a , 0x0000003f 
+ 00018673  0x00004585 hstore  0x00000002 , 0x00008050 
+ 00018674  0x00004586 jam  0x0000003c , 0x00008a00 
+ 00018675  0x00004587 jam  0x000000ff , 0x00008a26 
+ 00018676  0x00004588 jam  0x000000ff , 0x00008a27 
+ 00018677  0x00004589 jam  0x00000000 , 0x00008a04 
+ 00018678  0x0000458a jam  0x00000002 , 0x00000c6b 
+ 00018679  0x0000458b setarg  0x00000d9d 
+ 00018680  0x0000458c arg  0x00000c6e , 0x00000005 
+ 00018681  0x0000458d isub  0x00000005 , 0x00000039 
+ 00018682  0x0000458e branch  0x00007ed4 
+ 00018683  0x00004591 fetcht  0x00000001 , 0x00000c6c 
+ 00018684  0x00004592 branch  0x000067fb 
+ 00018685  0x00004594 fetch  0x00000001 , 0x00000d45 
+ 00018686  0x00004595 rtn  0x00000034 
+ 00018687  0x00004596 fetcht  0x00000001 , 0x00000c6c 
+ 00018688  0x00004597 call  0x0000681d 
+ 00018689  0x00004598 branch  0x000048ea , 0x00000001 
+ 00018690  0x00004599 rtn 
+ 00018691  0x0000459d arg  0x00000000 , 0x00000007 
+ 00018692  0x0000459e call  0x00007f16 
+ 00018693  0x0000459f nrtn  0x00000034 
+ 00018694  0x000045a0 fetch  0x00000001 , 0x00000d46 
+ 00018695  0x000045a1 nrtn  0x00000034 
+ 00018696  0x000045a2 fetch  0x00000001 , 0x00000d45 
+ 00018697  0x000045a3 ncall  0x00004bb7 , 0x00000034 
+ 00018698  0x000045a4 rtn 
+ 00018699  0x000045a7 arg  0x00000b68 , 0x00000005 
+ 00018700  0x000045a8 setsect  0x00000000 , 0x00011212 
+ 00018701  0x000045a9 setsect  0x00000001 , 0x00008000 
+ 00018702  0x000045aa setsect  0x00000002 , 0x00000000 
+ 00018703  0x000045ab setsect  0x00000003 , 0x00010000 
+ 00018704  0x000045ac istore  0x00000009 , 0x00000005 
+ 00018705  0x000045ad setsect  0x00000000 , 0x00022412 
+ 00018706  0x000045ae setsect  0x00000001 , 0x00008604 
+ 00018707  0x000045af setsect  0x00000002 , 0x00001000 
+ 00018708  0x000045b0 setsect  0x00000003 , 0x00000008 
+ 00018709  0x000045b1 istore  0x00000009 , 0x00000005 
+ 00018710  0x000045b2 setsect  0x00000000 , 0x00000001 
+ 00018711  0x000045b3 istore  0x00000001 , 0x00000005 
+ 00018712  0x000045b4 rtn 
+ 00018713  0x000045b7 jam  0x00000002 , 0x00000c6b 
+ 00018714  0x000045b8 setarg  0x00000000 
+ 00018715  0x000045b9 store  0x00000001 , 0x00000b67 
+ 00018716  0x000045ba store  0x00000002 , 0x00000c65 
+ 00018717  0x000045bb pincrease  0x00000001 
+ 00018718  0x000045bc store  0x00000002 , 0x00000c67 
+ 00018719  0x000045bd pincrease  0x00000001 
+ 00018720  0x000045be store  0x00000002 , 0x00000c69 
+ 00018721  0x000045bf setarg  0x00008ffa 
+ 00018722  0x000045c0 store  0x00000002 , 0x00000b7c 
+ 00018723  0x000045c1 setarg  0x0000903a 
+ 00018724  0x000045c2 store  0x00000002 , 0x00000b7e 
+ 00018725  0x000045c3 arg  0x00000b80 , 0x00000005 
+ 00018726  0x000045c4 arg  0x000090fe , 0x00000006 
+ 00018727  0x000045c5 call  0x00007eb3 
+ 00018728  0x000045c6 fetch  0x00000001 , 0x00000c6d 
+ 00018729  0x000045c7 ncall  0x0000492b , 0x00000034 
+ 00018730  0x000045c8 branch  0x0000490b 
+ 00018731  0x000045cb store  0x00000001 , 0x00000ba2 
+ 00018732  0x000045cc store  0x00000001 , 0x00000bbb 
+ 00018733  0x000045cd rtn 
+ 00018734  0x000045cf hfetch  0x00000001 , 0x00008a26 
+ 00018735  0x000045d0 bbit1  0x00000006 , 0x00004931 
+ 00018736  0x000045d1 rtn 
+ 00018737  0x000045d4 call  0x00004936 
+ 00018738  0x000045d5 call  0x00007f15 
+ 00018739  0x000045d6 setarg  0x00000280 
+ 00018740  0x000045d7 arg  0x00000000 , 0x00000007 
+ 00018741  0x000045d8 branch  0x00007f08 
+ 00018742  0x000045db fetch  0x00000001 , 0x00000d36 
+ 00018743  0x000045dc bne  0x00000002 , 0x0000493b 
+ 00018744  0x000045dd jam  0x00000000 , 0x00000d46 
+ 00018745  0x000045de jam  0x00000000 , 0x00000d47 
+ 00018746  0x000045df rtn 
+ 00018747  0x000045e1 fetch  0x00000001 , 0x00000d53 
+ 00018748  0x000045e2 rtn  0x00000034 
+ 00018749  0x000045e3 jam  0x00000000 , 0x00000d53 
+ 00018750  0x000045e4 jam  0x00000002 , 0x00000d36 
+ 00018751  0x000045e5 jam  0x00000001 , 0x00000d45 
+ 00018752  0x000045e6 rtn 
+ 00018753  0x000045e9 jam  0x00000001 , 0x00008a27 
+ 00018754  0x000045ea branch  0x00004b37 
+ 00018755  0x000045ed fetch  0x00000001 , 0x00000b22 
+ 00018756  0x000045ee bbit1  0x00000004 , 0x00004955 
+ 00018757  0x000045ef rtn 
+ 00018758  0x000045f2 hfetch  0x00000001 , 0x00008a18 
+ 00018759  0x000045f3 istore  0x00000001 , 0x00000005 
+ 00018760  0x000045f4 loop  0x00004946 
+ 00018761  0x000045f5 rtn 
+ 00018762  0x000045f8 bpatch  0x000000f8 , 0x0000401f 
+ 00018763  0x000045f9 jam  0x00000011 , 0x00008a26 
+ 00018764  0x000045fa hfetch  0x00000001 , 0x00008a20 
+ 00018765  0x000045fb store  0x00000001 , 0x00000b24 
+ 00018766  0x000045fc copy  0x0000003f , 0x00000039 
+ 00018767  0x000045fd branch  0x00004943 , 0x00000034 
+ 00018768  0x000045fe arg  0x00000c6e , 0x00000005 
+ 00018769  0x000045ff call  0x00004946 
+ 00018770  0x00004600 fetch  0x00000001 , 0x00000b24 
+ 00018771  0x00004601 sub  0x0000003f , 0x00000007 , 0x0000003e 
+ 00018772  0x00004602 rtn  0x00000002 
+ 00018773  0x00004604 fetch  0x00000001 , 0x00000c6e 
+ 00018774  0x00004605 and_into  0x00000080 , 0x0000003f 
+ 00018775  0x00004606 beq  0x00000080 , 0x0000495a 
+ 00018776  0x00004607 beq  0x00000000 , 0x00004962 
+ 00018777  0x00004608 branch  0x00002a8c 
+ 00018778  0x0000460b fetch  0x00000001 , 0x00000c6e 
+ 00018779  0x0000460c rshift4  0x0000003f , 0x0000003f 
+ 00018780  0x0000460d rshift  0x0000003f , 0x0000003f 
+ 00018781  0x0000460e and_into  0x00000003 , 0x0000003f 
+ 00018782  0x0000460f beq  0x00000000 , 0x0000496a 
+ 00018783  0x00004610 beq  0x00000001 , 0x00004970 
+ 00018784  0x00004611 beq  0x00000002 , 0x00004975 
+ 00018785  0x00004612 branch  0x00002a8c 
+ 00018786  0x00004615 fetch  0x00000001 , 0x00000c6e 
+ 00018787  0x00004616 rshift4  0x0000003f , 0x0000003f 
+ 00018788  0x00004617 rshift  0x0000003f , 0x0000003f 
+ 00018789  0x00004618 and_into  0x00000003 , 0x0000003f 
+ 00018790  0x00004619 beq  0x00000000 , 0x00004976 
+ 00018791  0x0000461a beq  0x00000001 , 0x0000497e 
+ 00018792  0x0000461b beq  0x00000002 , 0x00004983 
+ 00018793  0x0000461c branch  0x00002a8c 
+ 00018794  0x0000461f fetch  0x00000001 , 0x00000c6f 
+ 00018795  0x00004620 beq  0x00000008 , 0x0000498a 
+ 00018796  0x00004621 beq  0x00000006 , 0x000049a0 
+ 00018797  0x00004622 beq  0x0000000a , 0x000049ea 
+ 00018798  0x00004623 beq  0x00000000 , 0x000049fc 
+ 00018799  0x00004624 branch  0x00004984 
+ 00018800  0x00004627 fetch  0x00000001 , 0x00000c6f 
+ 00018801  0x00004628 beq  0x00000002 , 0x00004a2f 
+ 00018802  0x00004629 beq  0x00000001 , 0x00004a33 
+ 00018803  0x0000462a beq  0x00000003 , 0x00004a45 
+ 00018804  0x0000462b branch  0x00004984 
+ 00018805  0x0000462e branch  0x00004984 
+ 00018806  0x00004631 fetch  0x00000001 , 0x00000c6f 
+ 00018807  0x00004632 beq  0x00000001 , 0x00004a4f 
+ 00018808  0x00004633 beq  0x00000003 , 0x00004a79 
+ 00018809  0x00004634 beq  0x00000005 , 0x00004aa3 
+ 00018810  0x00004635 beq  0x00000009 , 0x00004abc 
+ 00018811  0x00004636 beq  0x0000000b , 0x00004ad7 
+ 00018812  0x00004637 beq  0x00000007 , 0x00004984 
+ 00018813  0x00004638 branch  0x00004984 
+ 00018814  0x0000463b fetch  0x00000001 , 0x00000c6f 
+ 00018815  0x0000463c beq  0x0000000a , 0x00004ae8 
+ 00018816  0x0000463d beq  0x00000009 , 0x00004af9 
+ 00018817  0x0000463e beq  0x0000000b , 0x00004b11 
+ 00018818  0x0000463f branch  0x00004984 
+ 00018819  0x00004642 branch  0x00004984 
+ 00018820  0x00004645 hfetch  0x00000001 , 0x00008a11 
+ 00018821  0x00004646 set1  0x00000000 , 0x0000003f 
+ 00018822  0x00004647 hstore  0x00000001 , 0x00008a11 
+ 00018823  0x00004648 branch  0x00004988 
+ 00018824  0x0000464b jam  0x00000040 , 0x00008a12 
+ 00018825  0x0000464c rtn 
+ 00018826  0x0000464f fetch  0x00000001 , 0x00000c6e 
+ 00018827  0x00004650 bne  0x00000080 , 0x00004984 
+ 00018828  0x00004651 fetch  0x00000001 , 0x00000c72 
+ 00018829  0x00004652 bne  0x00000000 , 0x00004984 
+ 00018830  0x00004653 fetch  0x00000001 , 0x00000c73 
+ 00018831  0x00004654 bne  0x00000000 , 0x00004984 
+ 00018832  0x00004655 fetch  0x00000001 , 0x00000c74 
+ 00018833  0x00004656 bne  0x00000001 , 0x00004984 
+ 00018834  0x00004657 fetch  0x00000001 , 0x00000c75 
+ 00018835  0x00004658 bne  0x00000000 , 0x00004984 
+ 00018836  0x00004659 fetch  0x00000001 , 0x00000c70 
+ 00018837  0x0000465a bne  0x00000000 , 0x00004984 
+ 00018838  0x0000465b fetch  0x00000001 , 0x00000c71 
+ 00018839  0x0000465c bne  0x00000000 , 0x00004984 
+ 00018840  0x0000465d fetch  0x00000001 , 0x00000c6b 
+ 00018841  0x0000465e beq  0x00000004 , 0x0000499c 
+ 00018842  0x0000465f beq  0x00000003 , 0x0000499e 
+ 00018843  0x00004660 branch  0x00004984 
+ 00018844  0x00004663 arg  0x00000001 , 0x00000012 
+ 00018845  0x00004664 branch  0x00004a14 
+ 00018846  0x00004667 arg  0x00000001 , 0x00000012 
+ 00018847  0x00004668 branch  0x00004a12 
+ 00018848  0x0000466b bpatch  0x000000f9 , 0x0000401f 
+ 00018849  0x0000466c set0  0x00000023 , 0x00000000 
+ 00018850  0x0000466d fetch  0x00000001 , 0x00000c71 
+ 00018851  0x0000466e beq  0x00000001 , 0x000049b6 
+ 00018852  0x0000466f beq  0x00000002 , 0x000049cf 
+ 00018853  0x00004670 beq  0x00000003 , 0x000049d2 
+ 00018854  0x00004671 beq  0x00000021 , 0x000049a9 
+ 00018855  0x00004672 beq  0x00000022 , 0x000049e0 
+ 00018856  0x00004673 branch  0x00004984 
+ 00018857  0x00004676 jam  0x00000000 , 0x00000d4b 
+ 00018858  0x00004677 fetch  0x00000001 , 0x00000c72 
+ 00018859  0x00004678 beq  0x00000000 , 0x000049ae 
+ 00018860  0x00004679 beq  0x00000001 , 0x000049b2 
+ 00018861  0x0000467a branch  0x00004984 
+ 00018862  0x0000467d arg  0x00000b93 , 0x00000011 
+ 00018863  0x0000467e ifetch  0x00000001 , 0x00000011 
+ 00018864  0x0000467f iforce  0x00000012 
+ 00018865  0x00004680 branch  0x00004b21 
+ 00018866  0x00004683 arg  0x00000bac , 0x00000011 
+ 00018867  0x00004684 ifetch  0x00000001 , 0x00000011 
+ 00018868  0x00004685 iforce  0x00000012 
+ 00018869  0x00004686 branch  0x00004b21 
+ 00018870  0x0000468c fetch  0x00000001 , 0x00000d48 
+ 00018871  0x0000468d ncall  0x000049c7 , 0x00000034 
+ 00018872  0x0000468e setarg  0x00000b68 
+ 00018873  0x0000468f fetcht  0x00000001 , 0x00000b68 
+ 00018874  0x00004691 store  0x00000002 , 0x00000d3f 
+ 00018875  0x00004692 storet  0x00000001 , 0x00000d41 
+ 00018876  0x00004693 fetch  0x00000001 , 0x00000c74 
+ 00018877  0x00004694 isub  0x00000002 , 0x0000003e 
+ 00018878  0x00004695 nbranch  0x000049c5 , 0x00000002 
+ 00018879  0x00004697 fetch  0x00000001 , 0x00000d41 
+ 00018880  0x00004699 iforce  0x00000012 
+ 00018881  0x0000469a fetch  0x00000002 , 0x00000d3f 
+ 00018882  0x0000469b add  0x0000003f , 0x00000001 , 0x0000003f 
+ 00018883  0x0000469c iforce  0x00000011 
+ 00018884  0x0000469d branch  0x00004b21 
+ 00018885  0x0000469f fetch  0x00000001 , 0x00000c74 
+ 00018886  0x000046a0 branch  0x000049c0 
+ 00018887  0x000046a3 hfetch  0x00000001 , 0x00008a04 
+ 00018888  0x000046a4 ncall  0x000049cb , 0x00000034 
+ 00018889  0x000046a5 jam  0x00000000 , 0x00000d48 
+ 00018890  0x000046a6 rtn 
+ 00018891  0x000046a8 hfetch  0x00000001 , 0x00008a04 
+ 00018892  0x000046a9 set1  0x00000007 , 0x0000003f 
+ 00018893  0x000046aa hstore  0x00000001 , 0x00008a04 
+ 00018894  0x000046ab rtn 
+ 00018895  0x000046ae setarg  0x00000b80 
+ 00018896  0x000046af fetcht  0x00000001 , 0x00000b80 
+ 00018897  0x000046b0 branch  0x000049ba 
+ 00018898  0x000046b3 fetch  0x00000001 , 0x00000c70 
+ 00018899  0x000046b4 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00018900  0x000046b5 nbranch  0x00004984 , 0x00000002 
+ 00018901  0x000046b6 fetch  0x00000001 , 0x00000c70 
+ 00018902  0x000046b7 arg  0x00000be4 , 0x00000011 
+ 00018903  0x000046b8 beq  0x00000000 , 0x00004b1e 
+ 00018904  0x000046b9 set1  0x00000023 , 0x00000000 
+ 00018905  0x000046ba arg  0x00000be9 , 0x00000011 
+ 00018906  0x000046bb beq  0x00000001 , 0x00004b1e 
+ 00018907  0x000046bc arg  0x00000c07 , 0x00000011 
+ 00018908  0x000046bd beq  0x00000002 , 0x00004b1e 
+ 00018909  0x000046be arg  0x00000c47 , 0x00000011 
+ 00018910  0x000046bf beq  0x00000003 , 0x00004b1e 
+ 00018911  0x000046c0 rtn 
+ 00018912  0x000046c3 fetch  0x00000002 , 0x00000c72 
+ 00018913  0x000046c4 beq  0x00000001 , 0x000049e5 
+ 00018914  0x000046c5 fetch  0x00000002 , 0x00000b7c 
+ 00018915  0x000046c6 copy  0x0000003f , 0x00000011 
+ 00018916  0x000046c8 branch  0x00004b1e 
+ 00018917  0x000046ca jam  0x00000001 , 0x00000d45 
+ 00018918  0x000046cb jam  0x00000001 , 0x00000d36 
+ 00018919  0x000046cc fetch  0x00000002 , 0x00000b7e 
+ 00018920  0x000046cd copy  0x0000003f , 0x00000011 
+ 00018921  0x000046cf branch  0x00004b1e 
+ 00018922  0x000046d3 fetch  0x00000001 , 0x00000c6b 
+ 00018923  0x000046d4 bne  0x00000004 , 0x00004984 
+ 00018924  0x000046d5 fetch  0x00000001 , 0x00000c6e 
+ 00018925  0x000046d6 bne  0x00000081 , 0x00004984 
+ 00018926  0x000046d7 fetch  0x00000001 , 0x00000c70 
+ 00018927  0x000046d8 bne  0x00000000 , 0x00004984 
+ 00018928  0x000046d9 fetch  0x00000001 , 0x00000c71 
+ 00018929  0x000046da bne  0x00000000 , 0x00004984 
+ 00018930  0x000046db fetch  0x00000001 , 0x00000c74 
+ 00018931  0x000046dc bne  0x00000001 , 0x00004984 
+ 00018932  0x000046dd fetch  0x00000001 , 0x00000c75 
+ 00018933  0x000046de bne  0x00000000 , 0x00004984 
+ 00018934  0x000046df fetch  0x00000001 , 0x00000c72 
+ 00018935  0x000046e0 bne  0x00000000 , 0x00004984 
+ 00018936  0x000046e1 fetch  0x00000001 , 0x00000c73 
+ 00018937  0x000046e2 bne  0x00000000 , 0x00004984 
+ 00018938  0x000046e3 arg  0x00000001 , 0x00000012 
+ 00018939  0x000046e4 branch  0x00004a12 
+ 00018940  0x000046e8 fetch  0x00000001 , 0x00000c6b 
+ 00018941  0x000046e9 beq  0x00000002 , 0x00004984 
+ 00018942  0x000046ea fetch  0x00000001 , 0x00000c70 
+ 00018943  0x000046eb bne  0x00000000 , 0x00004984 
+ 00018944  0x000046ec fetch  0x00000001 , 0x00000c71 
+ 00018945  0x000046ed bne  0x00000000 , 0x00004984 
+ 00018946  0x000046ee fetch  0x00000001 , 0x00000c74 
+ 00018947  0x000046ef bne  0x00000002 , 0x00004984 
+ 00018948  0x000046f0 fetch  0x00000001 , 0x00000c75 
+ 00018949  0x000046f1 bne  0x00000000 , 0x00004984 
+ 00018950  0x000046f2 fetch  0x00000001 , 0x00000c73 
+ 00018951  0x000046f3 bne  0x00000000 , 0x00004984 
+ 00018952  0x000046f4 fetch  0x00000001 , 0x00000c6e 
+ 00018953  0x000046f5 beq  0x00000080 , 0x00004a0d 
+ 00018954  0x000046f6 beq  0x00000081 , 0x00004a18 
+ 00018955  0x000046f7 beq  0x00000082 , 0x00004a1c 
+ 00018956  0x000046f8 branch  0x00004984 
+ 00018957  0x000046fb fetch  0x00000001 , 0x00000c72 
+ 00018958  0x000046fc bne  0x00000000 , 0x00004984 
+ 00018959  0x000046fd arg  0x00000002 , 0x00000012 
+ 00018960  0x000046fe fetch  0x00000001 , 0x00000d39 
+ 00018961  0x000046ff beq  0x00000001 , 0x00004a16 
+ 00018962  0x00004702 arg  0x00000c65 , 0x00000011 
+ 00018963  0x00004703 branch  0x00004b21 
+ 00018964  0x00004705 arg  0x00000c67 , 0x00000011 
+ 00018965  0x00004706 branch  0x00004b21 
+ 00018966  0x00004708 arg  0x00000c69 , 0x00000011 
+ 00018967  0x00004709 branch  0x00004b21 
+ 00018968  0x0000470c fetch  0x00000001 , 0x00000c6b 
+ 00018969  0x0000470d bne  0x00000004 , 0x00004984 
+ 00018970  0x0000470e arg  0x00000002 , 0x00000012 
+ 00018971  0x0000470f branch  0x00004a12 
+ 00018972  0x00004712 fetch  0x00000001 , 0x00000c6b 
+ 00018973  0x00004713 bne  0x00000004 , 0x00004984 
+ 00018974  0x00004714 fetch  0x00000001 , 0x00000c72 
+ 00018975  0x00004715 beq  0x00000081 , 0x00004a29 
+ 00018976  0x00004716 beq  0x00000082 , 0x00004a2b 
+ 00018977  0x00004717 beq  0x00000083 , 0x00004a2d 
+ 00018978  0x00004718 and_into  0x0000007f , 0x0000003f 
+ 00018979  0x00004719 beq  0x00000000 , 0x00004a25 
+ 00018980  0x0000471a branch  0x00004984 
+ 00018981  0x0000471d fetch  0x00000001 , 0x00000d3b 
+ 00018982  0x0000471f arg  0x00000002 , 0x00000012 
+ 00018983  0x00004720 beq  0x00000001 , 0x00004a14 
+ 00018984  0x00004721 branch  0x00004a12 
+ 00018985  0x00004723 fetch  0x00000001 , 0x00000d3c 
+ 00018986  0x00004724 branch  0x00004a26 
+ 00018987  0x00004726 fetch  0x00000001 , 0x00000d3d 
+ 00018988  0x00004727 branch  0x00004a26 
+ 00018989  0x00004729 fetch  0x00000001 , 0x00000d3e 
+ 00018990  0x0000472a branch  0x00004a26 
+ 00018991  0x0000472d jam  0x00000001 , 0x00000d4c 
+ 00018992  0x0000472e arg  0x00000d4d , 0x00000011 
+ 00018993  0x0000472f arg  0x00000001 , 0x00000012 
+ 00018994  0x00004730 branch  0x00004b21 
+ 00018995  0x00004733 fetch  0x00000002 , 0x00000c70 
+ 00018996  0x00004734 arg  0x000001ba , 0x00000002 
+ 00018997  0x00004735 isub  0x00000002 , 0x0000003e 
+ 00018998  0x00004736 nbranch  0x00004984 , 0x00000005 
+ 00018999  0x00004737 set0  0x00000023 , 0x00000000 
+ 00019000  0x00004739 fetch  0x00000001 , 0x00000d42 
+ 00019001  0x0000473a nbranch  0x00004a42 , 0x00000034 
+ 00019002  0x0000473b jam  0x00000000 , 0x00000cf6 
+ 00019003  0x0000473d fetch  0x00000001 , 0x00000c74 
+ 00019004  0x0000473e iforce  0x00000012 
+ 00019005  0x0000473f arg  0x00000cf6 , 0x00000011 
+ 00019006  0x00004740 call  0x00004b21 
+ 00019007  0x00004742 arg  0x00000cf6 , 0x00000005 
+ 00019008  0x00004743 arg  0x00000008 , 0x00000039 
+ 00019009  0x00004744 branch  0x00007ec6 
+ 00019010  0x00004746 jam  0x00000000 , 0x00000d42 
+ 00019011  0x00004747 jam  0x00000001 , 0x00000cf6 
+ 00019012  0x00004748 branch  0x00004a3b 
+ 00019013  0x0000474b fetch  0x00000001 , 0x00000c74 
+ 00019014  0x0000474c bne  0x00000001 , 0x00004984 
+ 00019015  0x0000474d jam  0x00000001 , 0x00000d4b 
+ 00019016  0x0000474e arg  0x00000001 , 0x00000012 
+ 00019017  0x0000474f fetch  0x00000001 , 0x00000d49 
+ 00019018  0x00004750 beq  0x00000000 , 0x00004a4d 
+ 00019019  0x00004751 beq  0x00000001 , 0x00004a4e 
+ 00019020  0x00004752 branch  0x00004a12 
+ 00019021  0x00004754 branch  0x00004a14 
+ 00019022  0x00004756 branch  0x00004a12 
+ 00019023  0x0000475c fetch  0x00000001 , 0x00000c6b 
+ 00019024  0x0000475d bne  0x00000004 , 0x00004984 
+ 00019025  0x0000475e fetch  0x00000001 , 0x00000c74 
+ 00019026  0x0000475f bne  0x00000000 , 0x00004984 
+ 00019027  0x00004760 fetch  0x00000001 , 0x00000c75 
+ 00019028  0x00004761 bne  0x00000000 , 0x00004984 
+ 00019029  0x00004762 fetch  0x00000001 , 0x00000c71 
+ 00019030  0x00004763 bne  0x00000000 , 0x00004984 
+ 00019031  0x00004764 fetch  0x00000001 , 0x00000c73 
+ 00019032  0x00004765 bne  0x00000000 , 0x00004984 
+ 00019033  0x00004766 fetch  0x00000001 , 0x00000c6e 
+ 00019034  0x00004767 beq  0x00000000 , 0x00004a5e 
+ 00019035  0x00004768 beq  0x00000001 , 0x00004a66 
+ 00019036  0x00004769 beq  0x00000002 , 0x00004a67 
+ 00019037  0x0000476a branch  0x00004984 
+ 00019038  0x0000476d fetch  0x00000001 , 0x00000c70 
+ 00019039  0x0000476e bne  0x00000001 , 0x00004984 
+ 00019040  0x0000476f hfetch  0x00000001 , 0x00008a00 
+ 00019041  0x00004770 set0  0x00000007 , 0x0000003f 
+ 00019042  0x00004771 hstore  0x00000001 , 0x00008a00 
+ 00019043  0x00004772 jam  0x00000000 , 0x00000d39 
+ 00019044  0x00004773 jam  0x00000001 , 0x00000d3a 
+ 00019045  0x00004774 branch  0x00004988 
+ 00019046  0x00004777 branch  0x00004984 
+ 00019047  0x0000477a fetch  0x00000001 , 0x00000c70 
+ 00019048  0x0000477b bne  0x00000000 , 0x00004984 
+ 00019049  0x0000477c fetch  0x00000001 , 0x00000c72 
+ 00019050  0x0000477d beq  0x00000081 , 0x00004a72 
+ 00019051  0x0000477e beq  0x00000082 , 0x00004a75 
+ 00019052  0x0000477f beq  0x00000083 , 0x00004a77 
+ 00019053  0x00004780 and_into  0x0000007f , 0x0000003f 
+ 00019054  0x00004781 beq  0x00000000 , 0x00004a70 
+ 00019055  0x00004782 branch  0x00004984 
+ 00019056  0x00004785 jam  0x00000000 , 0x00000d3b 
+ 00019057  0x00004786 branch  0x00004988 
+ 00019058  0x00004788 jam  0x00000000 , 0x00000d3c 
+ 00019059  0x0000478a jam  0x00000001 , 0x00000d53 
+ 00019060  0x0000478b branch  0x00004988 
+ 00019061  0x0000478d jam  0x00000000 , 0x00000d3d 
+ 00019062  0x0000478e branch  0x00004a73 
+ 00019063  0x00004790 jam  0x00000000 , 0x00000d3e 
+ 00019064  0x00004791 branch  0x00004a73 
+ 00019065  0x00004795 fetch  0x00000001 , 0x00000c74 
+ 00019066  0x00004796 bne  0x00000000 , 0x00004984 
+ 00019067  0x00004797 fetch  0x00000001 , 0x00000c75 
+ 00019068  0x00004798 bne  0x00000000 , 0x00004984 
+ 00019069  0x00004799 fetch  0x00000001 , 0x00000c6e 
+ 00019070  0x0000479a beq  0x00000000 , 0x00004a82 
+ 00019071  0x0000479b beq  0x00000001 , 0x00004a8f 
+ 00019072  0x0000479c beq  0x00000002 , 0x00004a90 
+ 00019073  0x0000479d branch  0x00004984 
+ 00019074  0x000047a0 fetch  0x00000001 , 0x00000c70 
+ 00019075  0x000047a1 bne  0x00000001 , 0x00004984 
+ 00019076  0x000047a2 hfetch  0x00000001 , 0x00008a00 
+ 00019077  0x000047a3 set1  0x00000007 , 0x0000003f 
+ 00019078  0x000047a4 hstore  0x00000001 , 0x00008a00 
+ 00019079  0x000047a5 jam  0x00000001 , 0x00000d39 
+ 00019080  0x000047a6 jam  0x00000003 , 0x00000d36 
+ 00019081  0x000047a7 jam  0x00000000 , 0x00000d43 
+ 00019082  0x000047a8 call  0x00004988 
+ 00019083  0x000047aa call  0x00007f15 
+ 00019084  0x000047ab setarg  0x00001388 
+ 00019085  0x000047ac arg  0x0000000f , 0x00000007 
+ 00019086  0x000047ad branch  0x00007f08 
+ 00019087  0x000047b0 branch  0x00004984 
+ 00019088  0x000047b3 fetch  0x00000001 , 0x00000c70 
+ 00019089  0x000047b4 bne  0x00000000 , 0x00004984 
+ 00019090  0x000047b5 fetch  0x00000001 , 0x00000c71 
+ 00019091  0x000047b6 bne  0x00000000 , 0x00004984 
+ 00019092  0x000047b7 fetch  0x00000001 , 0x00000c72 
+ 00019093  0x000047b8 beq  0x00000081 , 0x00004a9d 
+ 00019094  0x000047b9 beq  0x00000082 , 0x00004a9f 
+ 00019095  0x000047ba beq  0x00000083 , 0x00004aa1 
+ 00019096  0x000047bb and_into  0x0000007f , 0x0000003f 
+ 00019097  0x000047bc beq  0x00000000 , 0x00004a9b 
+ 00019098  0x000047bd branch  0x00004984 
+ 00019099  0x000047c0 jam  0x00000001 , 0x00000d3b 
+ 00019100  0x000047c1 branch  0x00004988 
+ 00019101  0x000047c3 jam  0x00000001 , 0x00000d3c 
+ 00019102  0x000047c4 branch  0x00004988 
+ 00019103  0x000047c6 jam  0x00000001 , 0x00000d3d 
+ 00019104  0x000047c7 branch  0x00004988 
+ 00019105  0x000047c9 jam  0x00000001 , 0x00000d3e 
+ 00019106  0x000047ca branch  0x00004988 
+ 00019107  0x000047ce fetch  0x00000001 , 0x00000c6e 
+ 00019108  0x000047cf bne  0x00000000 , 0x00004984 
+ 00019109  0x000047d0 fetch  0x00000001 , 0x00000c72 
+ 00019110  0x000047d1 bne  0x00000000 , 0x00004984 
+ 00019111  0x000047d2 fetch  0x00000001 , 0x00000c73 
+ 00019112  0x000047d3 bne  0x00000000 , 0x00004984 
+ 00019113  0x000047d4 fetch  0x00000001 , 0x00000c74 
+ 00019114  0x000047d5 bne  0x00000000 , 0x00004984 
+ 00019115  0x000047d6 fetch  0x00000001 , 0x00000c75 
+ 00019116  0x000047d7 bne  0x00000000 , 0x00004984 
+ 00019117  0x000047d8 fetch  0x00000001 , 0x00000c71 
+ 00019118  0x000047d9 bne  0x00000000 , 0x00004984 
+ 00019119  0x000047da fetch  0x00000001 , 0x00000c70 
+ 00019120  0x000047db and_into  0x00000080 , 0x0000003f 
+ 00019121  0x000047dc bne  0x00000000 , 0x00004984 
+ 00019122  0x000047dd fetch  0x00000001 , 0x00000c70 
+ 00019123  0x000047de bne  0x00000000 , 0x00004aba 
+ 00019124  0x000047e0 jam  0x00000002 , 0x00000c6b 
+ 00019125  0x000047e2 fetch  0x00000001 , 0x00000c70 
+ 00019126  0x000047e3 hstore  0x00000001 , 0x00008a04 
+ 00019127  0x000047e4 call  0x00004988 
+ 00019128  0x000047e5 jam  0x00000001 , 0x00000d48 
+ 00019129  0x000047e6 rtn 
+ 00019130  0x000047e8 jam  0x00000003 , 0x00000c6b 
+ 00019131  0x000047e9 branch  0x00004ab5 
+ 00019132  0x000047ed fetch  0x00000001 , 0x00000c6b 
+ 00019133  0x000047ee beq  0x00000002 , 0x00004984 
+ 00019134  0x000047ef fetch  0x00000001 , 0x00000c6e 
+ 00019135  0x000047f0 bne  0x00000000 , 0x00004984 
+ 00019136  0x000047f1 fetch  0x00000001 , 0x00000c72 
+ 00019137  0x000047f2 bne  0x00000000 , 0x00004984 
+ 00019138  0x000047f3 fetch  0x00000001 , 0x00000c73 
+ 00019139  0x000047f4 bne  0x00000000 , 0x00004984 
+ 00019140  0x000047f5 fetch  0x00000001 , 0x00000c74 
+ 00019141  0x000047f6 bne  0x00000000 , 0x00004984 
+ 00019142  0x000047f7 fetch  0x00000001 , 0x00000c75 
+ 00019143  0x000047f8 bne  0x00000000 , 0x00004984 
+ 00019144  0x000047f9 fetch  0x00000001 , 0x00000c71 
+ 00019145  0x000047fa bne  0x00000000 , 0x00004984 
+ 00019146  0x000047fb fetch  0x00000001 , 0x00000c70 
+ 00019147  0x000047fc sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019148  0x000047fd nbranch  0x00004984 , 0x00000002 
+ 00019149  0x000047fe fetch  0x00000001 , 0x00000c6b 
+ 00019150  0x000047ff beq  0x00000003 , 0x00004ad1 
+ 00019151  0x00004800 beq  0x00000004 , 0x00004ad1 
+ 00019152  0x00004801 branch  0x00004984 
+ 00019153  0x00004805 fetch  0x00000001 , 0x00000c70 
+ 00019154  0x00004806 beq  0x00000000 , 0x00004ad5 
+ 00019155  0x00004807 jam  0x00000004 , 0x00000c6b 
+ 00019156  0x00004808 branch  0x00004988 
+ 00019157  0x0000480a jam  0x00000003 , 0x00000c6b 
+ 00019158  0x0000480b branch  0x00004988 
+ 00019159  0x0000480f fetch  0x00000001 , 0x00000c6b 
+ 00019160  0x00004810 bne  0x00000004 , 0x00004984 
+ 00019161  0x00004811 fetch  0x00000001 , 0x00000c6e 
+ 00019162  0x00004812 bne  0x00000001 , 0x00004984 
+ 00019163  0x00004813 fetch  0x00000001 , 0x00000c70 
+ 00019164  0x00004814 bne  0x00000000 , 0x00004984 
+ 00019165  0x00004815 fetch  0x00000001 , 0x00000c71 
+ 00019166  0x00004816 bne  0x00000000 , 0x00004984 
+ 00019167  0x00004817 fetch  0x00000001 , 0x00000c74 
+ 00019168  0x00004818 bne  0x00000000 , 0x00004984 
+ 00019169  0x00004819 fetch  0x00000001 , 0x00000c75 
+ 00019170  0x0000481a bne  0x00000000 , 0x00004984 
+ 00019171  0x0000481b fetch  0x00000001 , 0x00000c72 
+ 00019172  0x0000481c bne  0x00000000 , 0x00004984 
+ 00019173  0x0000481d fetch  0x00000001 , 0x00000c73 
+ 00019174  0x0000481e bne  0x00000000 , 0x00004984 
+ 00019175  0x0000481f branch  0x00004988 
+ 00019176  0x00004823 jam  0x00000001 , 0x00000d4c 
+ 00019177  0x00004824 fetch  0x00000001 , 0x00000c71 
+ 00019178  0x00004825 store  0x00000001 , 0x00000d4d 
+ 00019179  0x00004826 fetch  0x00000001 , 0x00000c72 
+ 00019180  0x00004827 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019181  0x00004828 call  0x00004af5 , 0x00000005 
+ 00019182  0x00004829 fetch  0x00000001 , 0x00000d36 
+ 00019183  0x0000482a bne  0x00000004 , 0x00004988 
+ 00019184  0x0000482b jam  0x00000002 , 0x00000d36 
+ 00019185  0x0000482c call  0x00004988 
+ 00019186  0x0000482d nop  0x00007530 
+ 00019187  0x0000482e nop  0x00007530 
+ 00019188  0x0000482f rtn 
+ 00019189  0x00004831 jam  0x00000001 , 0x00000d45 
+ 00019190  0x00004832 jam  0x00000000 , 0x00000d3a 
+ 00019191  0x00004833 jam  0x00000004 , 0x00000d36 
+ 00019192  0x00004834 rtn 
+ 00019193  0x00004838 jam  0x00000001 , 0x00000d50 
+ 00019194  0x00004839 call  0x00004b03 
+ 00019195  0x0000483a fetch  0x00000002 , 0x00000c70 
+ 00019196  0x0000483b store  0x00000002 , 0x00000d4e 
+ 00019197  0x0000483c fetch  0x00000001 , 0x00000c74 
+ 00019198  0x0000483d iforce  0x00000039 
+ 00019199  0x0000483e arg  0x00000c76 , 0x00000006 
+ 00019200  0x0000483f arg  0x00000cb6 , 0x00000005 
+ 00019201  0x00004840 call  0x00007f01 
+ 00019202  0x00004841 branch  0x00004988 
+ 00019203  0x00004844 fetch  0x00000002 , 0x00000c70 
+ 00019204  0x00004845 arg  0x00000200 , 0x00000002 
+ 00019205  0x00004846 isub  0x00000002 , 0x0000003e 
+ 00019206  0x00004847 nrtn  0x00000005 
+ 00019207  0x00004848 fetch  0x00000002 , 0x00000c72 
+ 00019208  0x00004849 arg  0x00000000 , 0x00000002 
+ 00019209  0x0000484a isub  0x00000002 , 0x0000003e 
+ 00019210  0x0000484b nrtn  0x00000005 
+ 00019211  0x0000484c fetch  0x00000002 , 0x00000c74 
+ 00019212  0x0000484d arg  0x00000001 , 0x00000002 
+ 00019213  0x0000484e isub  0x00000002 , 0x0000003e 
+ 00019214  0x0000484f nrtn  0x00000005 
+ 00019215  0x00004850 jam  0x00000001 , 0x00000d43 
+ 00019216  0x00004851 rtn 
+ 00019217  0x00004855 fetch  0x00000001 , 0x00000c74 
+ 00019218  0x00004856 bne  0x00000000 , 0x00004984 
+ 00019219  0x00004857 fetch  0x00000001 , 0x00000c70 
+ 00019220  0x00004858 beq  0x00000000 , 0x00004b17 
+ 00019221  0x00004859 beq  0x00000001 , 0x00004b1a 
+ 00019222  0x0000485a branch  0x00004984 
+ 00019223  0x0000485c jam  0x00000000 , 0x00000d4a 
+ 00019224  0x0000485d jam  0x00000001 , 0x00000d49 
+ 00019225  0x0000485e branch  0x00004988 
+ 00019226  0x00004860 jam  0x00000001 , 0x00000d44 
+ 00019227  0x00004861 jam  0x00000001 , 0x00000d4a 
+ 00019228  0x00004862 jam  0x00000000 , 0x00000d49 
+ 00019229  0x00004863 branch  0x00004988 
+ 00019230  0x00004867 ifetch  0x00000001 , 0x00000011 
+ 00019231  0x00004868 iforce  0x00000012 
+ 00019232  0x00004869 increase  0x00000001 , 0x00000011 
+ 00019233  0x0000486c bpatch  0x000000fa , 0x0000401f 
+ 00019234  0x0000486d bmark0  0x00000023 , 0x00004b2c 
+ 00019235  0x0000486e add  0x00000012 , 0x00000001 , 0x0000003f 
+ 00019236  0x0000486f lshift  0x0000003f , 0x0000003f 
+ 00019237  0x00004870 hstore  0x00000001 , 0x00008a18 
+ 00019238  0x00004871 jam  0x00000003 , 0x00008a18 
+ 00019239  0x00004872 fetch  0x00000001 , 0x00000c74 
+ 00019240  0x00004873 increase  0xfffffffe , 0x0000003f 
+ 00019241  0x00004874 rshift  0x0000003f , 0x0000003f 
+ 00019242  0x00004875 store  0x00000001 , 0x00000c74 
+ 00019243  0x00004876 beq  0x00000000 , 0x00004b35 
+ 00019244  0x00004878 fetch  0x00000002 , 0x00000c74 
+ 00019245  0x00004879 isub  0x00000012 , 0x0000003e 
+ 00019246  0x0000487a branch  0x00004b30 , 0x00000002 
+ 00019247  0x0000487b copy  0x0000003f , 0x00000012 
+ 00019248  0x0000487d deposit  0x00000011 
+ 00019249  0x0000487e store  0x00000002 , 0x00000b65 
+ 00019250  0x0000487f deposit  0x00000012 
+ 00019251  0x00004880 store  0x00000001 , 0x00000b67 
+ 00019252  0x00004881 branch  0x00004b37 
+ 00019253  0x00004884 arg  0x00000000 , 0x00000007 
+ 00019254  0x00004885 branch  0x00004b57 
+ 00019255  0x00004889 bpatch  0x000000fb , 0x0000401f 
+ 00019256  0x0000488a fetch  0x00000001 , 0x00000b67 
+ 00019257  0x0000488b rtn  0x00000034 
+ 00019258  0x0000488c copy  0x0000003f , 0x00000039 
+ 00019259  0x0000488d sub  0x0000003f , 0x00000040 , 0x0000003e 
+ 00019260  0x0000488e branch  0x00004b3e , 0x00000002 
+ 00019261  0x0000488f arg  0x00000040 , 0x00000039 
+ 00019262  0x00004891 fetch  0x00000001 , 0x00000b67 
+ 00019263  0x00004892 isub  0x00000039 , 0x0000003f 
+ 00019264  0x00004893 store  0x00000001 , 0x00000b67 
+ 00019265  0x00004894 fetch  0x00000002 , 0x00000b65 
+ 00019266  0x00004895 copy  0x0000003f , 0x00000006 
+ 00019267  0x00004897 ifetch  0x00000001 , 0x00000006 
+ 00019268  0x00004898 hstore  0x00000001 , 0x00008a18 
+ 00019269  0x00004899 bmark0  0x00000023 , 0x00004b47 
+ 00019270  0x0000489a jam  0x00000000 , 0x00008a18 
+ 00019271  0x0000489c loop  0x00004b43 
+ 00019272  0x0000489d copy  0x00000006 , 0x0000003f 
+ 00019273  0x0000489e store  0x00000002 , 0x00000b65 
+ 00019274  0x0000489f arg  0x00000000 , 0x00000007 
+ 00019275  0x000048a0 call  0x00004b57 
+ 00019276  0x000048a1 fetch  0x00000001 , 0x00000b67 
+ 00019277  0x000048a2 nrtn  0x00000034 
+ 00019278  0x000048a3 fetch  0x00000001 , 0x00000d36 
+ 00019279  0x000048a4 rtnne  0x00000001 
+ 00019280  0x000048a5 jam  0x00000002 , 0x00000d36 
+ 00019281  0x000048a6 rtn 
+ 00019282  0x000048aa arg  0x00008a19 , 0x00000011 
+ 00019283  0x000048ab arg  0x00000001 , 0x00000007 
+ 00019284  0x000048ad ifetch  0x00000001 , 0x00000006 
+ 00019285  0x000048ae istore  0x00000001 , 0x00000011 
+ 00019286  0x000048af loop  0x00004b54 
+ 00019287  0x000048b1 setarg  0x00000000 
+ 00019288  0x000048b2 qset1  0x0000003f 
+ 00019289  0x000048b3 hstore  0x00000001 , 0x00008a10 
+ 00019290  0x000048b4 fetcht  0x00000001 , 0x00000d37 
+ 00019291  0x000048b5 ior  0x00000002 , 0x0000003f 
+ 00019292  0x000048b6 store  0x00000001 , 0x00000d37 
+ 00019293  0x000048b7 rtn 
+ 00019294  0x000048ba arg  0x00000002 , 0x00000007 
+ 00019295  0x000048bb arg  0x00008a1a , 0x00000011 
+ 00019296  0x000048bc branch  0x00004b54 
+ 00019297  0x000048bf bpatch  0x000000fc , 0x0000401f 
+ 00019298  0x000048c0 fetch  0x00000001 , 0x00000d38 
+ 00019299  0x000048c1 rtn  0x00000034 
+ 00019300  0x000048c2 fetch  0x00000001 , 0x00000d37 
+ 00019301  0x000048c3 nbranch  0x00004bac , 0x00000034 
+ 00019302  0x000048c4 fetch  0x00000001 , 0x00000d45 
+ 00019303  0x000048c5 branch  0x00004b86 , 0x00000034 
+ 00019304  0x000048c6 fetch  0x00000001 , 0x00000d36 
+ 00019305  0x000048c7 beq  0x00000003 , 0x00004bbf 
+ 00019306  0x000048c8 bne  0x00000002 , 0x00004b86 
+ 00019307  0x000048c9 fetch  0x00000001 , 0x00000d3a 
+ 00019308  0x000048ca nbranch  0x00004b86 , 0x00000034 
+ 00019309  0x000048cb call  0x00004b6f 
+ 00019310  0x000048cc branch  0x00004b7a 
+ 00019311  0x000048cf fetch  0x00000001 , 0x00000d38 
+ 00019312  0x000048d0 rtnbit0  0x00000001 
+ 00019313  0x000048d1 fetch  0x00000001 , 0x00000d37 
+ 00019314  0x000048d2 rtnbit1  0x00000001 
+ 00019315  0x000048d3 fetch  0x00000001 , 0x00000d38 
+ 00019316  0x000048d4 set0  0x00000001 , 0x0000003f 
+ 00019317  0x000048d5 store  0x00000001 , 0x00000d38 
+ 00019318  0x000048d6 fetch  0x00000001 , 0x00000d51 
+ 00019319  0x000048d7 rtn  0x00000034 
+ 00019320  0x000048d8 beq  0x00000010 , 0x00004ba8 
+ 00019321  0x000048d9 branch  0x00002a8c 
+ 00019322  0x000048dc fetch  0x00000001 , 0x00000d38 
+ 00019323  0x000048dd rtnbit0  0x00000002 
+ 00019324  0x000048de fetch  0x00000001 , 0x00000d37 
+ 00019325  0x000048df rtnbit1  0x00000002 
+ 00019326  0x000048e0 fetch  0x00000001 , 0x00000d38 
+ 00019327  0x000048e1 set0  0x00000002 , 0x0000003f 
+ 00019328  0x000048e2 store  0x00000001 , 0x00000d38 
+ 00019329  0x000048e3 fetch  0x00000001 , 0x00000d52 
+ 00019330  0x000048e4 rtn  0x00000034 
+ 00019331  0x000048e5 beq  0x00000020 , 0x00004b89 
+ 00019332  0x000048e6 beq  0x00000021 , 0x00004ba4 
+ 00019333  0x000048e7 branch  0x00002a8c 
+ 00019334  0x000048eb arg  0x00000d54 , 0x00000005 
+ 00019335  0x000048ec arg  0x00000006 , 0x00000039 
+ 00019336  0x000048ed branch  0x00007ec6 
+ 00019337  0x000048f0 fetch  0x00000001 , 0x00000d4c 
+ 00019338  0x000048f1 fetcht  0x00000001 , 0x00000d4b 
+ 00019339  0x000048f2 iand  0x00000002 , 0x0000003f 
+ 00019340  0x000048f3 branch  0x00004ba0 , 0x00000034 
+ 00019341  0x000048f4 fetcht  0x00000001 , 0x00000d4a 
+ 00019342  0x000048f5 iadd  0x00000002 , 0x0000003f 
+ 00019343  0x000048f6 beq  0x00000001 , 0x00004b91 
+ 00019344  0x000048f7 branch  0x00004ba0 
+ 00019345  0x000048fa jam  0x00000000 , 0x00000d52 
+ 00019346  0x000048fc fetch  0x00000001 , 0x00000d55 
+ 00019347  0x000048fd beq  0x00000002 , 0x00004ba1 
+ 00019348  0x000048fe beq  0x00000003 , 0x00004ba1 
+ 00019349  0x000048ff fetch  0x00000001 , 0x00000d55 
+ 00019350  0x00004900 store  0x00000001 , 0x00000d54 
+ 00019351  0x00004901 fetch  0x00000001 , 0x00000d56 
+ 00019352  0x00004902 istore  0x00000001 , 0x00000005 
+ 00019353  0x00004903 fetch  0x00000001 , 0x00000d58 
+ 00019354  0x00004904 istore  0x00000001 , 0x00000005 
+ 00019355  0x00004905 fetch  0x00000001 , 0x00000d5a 
+ 00019356  0x00004906 istore  0x00000001 , 0x00000005 
+ 00019357  0x00004907 arg  0x00000004 , 0x00000039 
+ 00019358  0x00004908 arg  0x00000d54 , 0x00000006 
+ 00019359  0x00004909 branch  0x00004b5e 
+ 00019360  0x0000490c jam  0x00000000 , 0x00000d52 
+ 00019361  0x0000490e arg  0x00000008 , 0x00000039 
+ 00019362  0x0000490f arg  0x00000d54 , 0x00000006 
+ 00019363  0x00004910 branch  0x00004b5e 
+ 00019364  0x00004913 jam  0x00000000 , 0x00000d52 
+ 00019365  0x00004914 arg  0x00000003 , 0x00000039 
+ 00019366  0x00004915 arg  0x00000d74 , 0x00000006 
+ 00019367  0x00004916 branch  0x00004b5e 
+ 00019368  0x00004919 jam  0x00000000 , 0x00000d51 
+ 00019369  0x0000491a arg  0x00000008 , 0x00000039 
+ 00019370  0x0000491b arg  0x00000d64 , 0x00000006 
+ 00019371  0x0000491c branch  0x00004b52 
+ 00019372  0x0000491f fetch  0x00000001 , 0x00000d36 
+ 00019373  0x00004920 beq  0x00000003 , 0x00004bb0 
+ 00019374  0x00004921 beq  0x00000002 , 0x00004bb2 
+ 00019375  0x00004922 rtn 
+ 00019376  0x00004924 jam  0x00000000 , 0x00000d37 
+ 00019377  0x00004925 rtn 
+ 00019378  0x00004927 hfetch  0x00000001 , 0x00008a00 
+ 00019379  0x00004928 set1  0x00000007 , 0x0000003f 
+ 00019380  0x00004929 hstore  0x00000001 , 0x00008a00 
+ 00019381  0x0000492a jam  0x00000001 , 0x00000d47 
+ 00019382  0x0000492b rtn 
+ 00019383  0x0000492e fetch  0x00000001 , 0x00000d36 
+ 00019384  0x0000492f rtneq  0x00000003 
+ 00019385  0x00004930 beq  0x00000002 , 0x00004bbb 
+ 00019386  0x00004931 rtn 
+ 00019387  0x00004933 fetch  0x00000001 , 0x00000d47 
+ 00019388  0x00004934 rtn  0x00000034 
+ 00019389  0x00004935 jam  0x00000001 , 0x00000d46 
+ 00019390  0x00004936 branch  0x00004bc2 
+ 00019391  0x00004939 arg  0x0000000f , 0x00000007 
+ 00019392  0x0000493a call  0x00007f16 
+ 00019393  0x0000493b nrtn  0x00000034 
+ 00019394  0x0000493d hfetch  0x00000001 , 0x00008a00 
+ 00019395  0x0000493e rtnbit0  0x00000007 
+ 00019396  0x0000493f jam  0x000000fc , 0x00008a00 
+ 00019397  0x00004940 nop  0x00007530 
+ 00019398  0x00004941 jam  0x0000003c , 0x00008a00 
+ 00019399  0x00004942 rtn 
+ 00019400  0x0000494a bpatch  0x000000fd , 0x0000401f 
+ 00019401  0x0000494b fetch  0x00000001 , 0x000041ce 
+ 00019402  0x0000494c nrtn  0x00000034 
+ 00019403  0x0000494e call  0x00004bce 
+ 00019404  0x0000494f ncall  0x00004be6 , 0x00000028 
+ 00019405  0x00004950 rtn 
+ 00019406  0x00004953 bpatch  0x000000fe , 0x0000401f 
+ 00019407  0x00004954 copy  0x00000003 , 0x00000011 
+ 00019408  0x00004955 arg  0x00000004 , 0x00000002 
+ 00019409  0x00004956 ifetch  0x00000001 , 0x00000003 
+ 00019410  0x00004957 beq  0x00000001 , 0x00004bd8 
+ 00019411  0x00004958 increase  0x00000001 , 0x00000002 
+ 00019412  0x00004959 beq  0x00000002 , 0x00004bd8 
+ 00019413  0x0000495a copy  0x00000003 , 0x0000003f 
+ 00019414  0x0000495b hstore  0x00000002 , 0x00008058 
+ 00019415  0x0000495c rtn 
+ 00019416  0x0000495e hfetch  0x00000002 , 0x00008112 
+ 00019417  0x0000495f isub  0x00000002 , 0x0000003e 
+ 00019418  0x00004960 nbranch  0x00004bd8 , 0x00000002 
+ 00019419  0x00004962 disable  0x00000028 
+ 00019420  0x00004963 copy  0x00000011 , 0x00000003 
+ 00019421  0x00004964 call  0x00004bee 
+ 00019422  0x00004965 iadd  0x00000002 , 0x00000002 
+ 00019423  0x00004967 hfetch  0x00000002 , 0x00008112 
+ 00019424  0x00004968 isub  0x00000002 , 0x0000003e 
+ 00019425  0x00004969 nbranch  0x00004bdf , 0x00000002 
+ 00019426  0x0000496a copy  0x00000011 , 0x00000003 
+ 00019427  0x0000496b ifetch  0x00000001 , 0x00000003 
+ 00019428  0x0000496c beq  0x00000001 , 0x00004c3f 
+ 00019429  0x0000496d branch  0x00002a8c 
+ 00019430  0x00004970 bpatch  0x000000ff , 0x0000401f 
+ 00019431  0x00004971 hfetch  0x00000002 , 0x00008058 
+ 00019432  0x00004972 iforce  0x00000003 
+ 00019433  0x00004973 call  0x00004bee 
+ 00019434  0x00004974 iadd  0x00000003 , 0x00000003 
+ 00019435  0x00004975 deposit  0x00000003 
+ 00019436  0x00004976 hstore  0x00000002 , 0x00008058 
+ 00019437  0x00004977 rtn 
+ 00019438  0x0000497d ifetch  0x00000001 , 0x00000003 
+ 00019439  0x0000497e increase  0x00000002 , 0x00000003 
+ 00019440  0x0000497f beq  0x00000002 , 0x00004bf3 
+ 00019441  0x00004980 ifetch  0x00000001 , 0x00000003 
+ 00019442  0x00004981 rtn 
+ 00019443  0x00004983 ifetch  0x00000002 , 0x00000003 
+ 00019444  0x00004984 rtn 
+ 00019445  0x00004987 hfetch  0x00000002 , 0x0000805e 
+ 00019446  0x00004988 increase  0xfffffffb , 0x0000000a 
+ 00019447  0x00004989 iadd  0x0000000a , 0x0000000a 
+ 00019448  0x0000498a rtn 
+ 00019449  0x0000498d arg  0x00000004 , 0x00000002 
+ 00019450  0x0000498e branch  0x00004bfc 
+ 00019451  0x00004990 arg  0x00000002 , 0x00000002 
+ 00019452  0x00004992 bpatchx  0x00000000 , 0x00004020 
+ 00019453  0x00004993 increase  0x00000001 , 0x00000039 
+ 00019454  0x00004994 hfetch  0x00000002 , 0x0000805e 
+ 00019455  0x00004995 copy  0x0000003f , 0x0000000a 
+ 00019456  0x00004996 copy  0x00000039 , 0x0000003f 
+ 00019457  0x00004997 istoret  0x00000001 , 0x0000000a 
+ 00019458  0x00004998 increase  0xffffffff , 0x0000003f 
+ 00019459  0x00004999 iadd  0x0000000a , 0x0000000a 
+ 00019460  0x0000499a copy  0x0000000a , 0x0000003f 
+ 00019461  0x0000499b store  0x00000002 , 0x00000258 
+ 00019462  0x0000499c copy  0x00000002 , 0x0000003f 
+ 00019463  0x0000499d rtneq  0x00000002 
+ 00019464  0x0000499e fetch  0x00000002 , 0x00000258 
+ 00019465  0x0000499f hstore  0x00000002 , 0x0000805e 
+ 00019466  0x000049a0 branch  0x00004c0b 
+ 00019467  0x000049a4 setarg  0x00000000 
+ 00019468  0x000049a5 store  0x00000002 , 0x00000258 
+ 00019469  0x000049a6 rtn 
+ 00019470  0x000049ae rtn  0x0000002b 
+ 00019471  0x000049af setarg  0x00004d28 
+ 00019472  0x000049b0 store  0x00000002 , 0x000041f3 
+ 00019473  0x000049b2 setarg  0x000001a0 
+ 00019474  0x000049b3 store  0x00000002 , 0x00004243 
+ 00019475  0x000049b5 setarg  0x00001800 
+ 00019476  0x000049b6 hstore  0x00000002 , 0x00008054 
+ 00019477  0x000049b7 setarg  0x00001bff 
+ 00019478  0x000049b8 hstore  0x00000002 , 0x00008056 
+ 00019479  0x000049b9 setarg  0x00001c00 
+ 00019480  0x000049ba hstore  0x00000002 , 0x0000805a 
+ 00019481  0x000049bb call  0x00004c28 
+ 00019482  0x000049bd jam  0x00000000 , 0x00008062 
+ 00019483  0x000049be setarg  0x00001c00 
+ 00019484  0x000049bf hstore  0x00000002 , 0x0000805e 
+ 00019485  0x000049c0 hstore  0x00000002 , 0x00008060 
+ 00019486  0x000049c1 setarg  0x00001800 
+ 00019487  0x000049c2 hstore  0x00000002 , 0x00008058 
+ 00019488  0x000049c3 store  0x00000002 , 0x00000244 
+ 00019489  0x000049c5 hfetch  0x00000002 , 0x00008050 
+ 00019490  0x000049c6 set0  0x0000000f , 0x0000003f 
+ 00019491  0x000049c7 hstore  0x00000002 , 0x00008050 
+ 00019492  0x000049c8 call  0x000066ce 
+ 00019493  0x000049c9 jam  0x00000001 , 0x00008043 
+ 00019494  0x000049ca jam  0x00000081 , 0x00008062 
+ 00019495  0x000049cb rtn 
+ 00019496  0x000049ce setarg  0x00001fff 
+ 00019497  0x000049cf hstore  0x00000002 , 0x0000805c 
+ 00019498  0x000049d0 hfetch  0x00000001 , 0x00008081 
+ 00019499  0x000049d1 or_into  0x00000007 , 0x0000003f 
+ 00019500  0x000049d2 hstore  0x00000001 , 0x00008081 
+ 00019501  0x000049d3 rtn 
+ 00019502  0x000049d7 bpatchx  0x00000001 , 0x00004020 
+ 00019503  0x000049d8 hfetch  0x00000001 , 0x0000810c 
+ 00019504  0x000049d9 iforce  0x00000012 
+ 00019505  0x000049da bbit0  0x00000003 , 0x00004c37 
+ 00019506  0x000049db hfetch  0x00000002 , 0x00008112 
+ 00019507  0x000049dc iforce  0x00000013 
+ 00019508  0x000049dd arg  0x0000044f , 0x00000002 
+ 00019509  0x000049de isub  0x00000002 , 0x0000003e 
+ 00019510  0x000049df nrtn  0x00000005 
+ 00019511  0x000049e1 hfetch  0x00000002 , 0x00008058 
+ 00019512  0x000049e2 iforce  0x00000003 
+ 00019513  0x000049e3 branch  0x00004bc8 
+ 00019514  0x000049e6 hfetcht  0x00000001 , 0x0000810c 
+ 00019515  0x000049e7 isolate1  0x00000006 , 0x00000002 
+ 00019516  0x000049e8 branch  0x00004c3a , 0x00000001 
+ 00019517  0x000049e9 hstore  0x00000001 , 0x00008015 
+ 00019518  0x000049ea rtn 
+ 00019519  0x000049ed bpatchx  0x00000002 , 0x00004020 
+ 00019520  0x000049ee fetch  0x00000001 , 0x000041ce 
+ 00019521  0x000049ef branch  0x00004c44 , 0x00000034 
+ 00019522  0x000049f0 enable  0x00000028 
+ 00019523  0x000049f1 rtn 
+ 00019524  0x000049f3 ifetch  0x00000002 , 0x00000003 
+ 00019525  0x000049f4 iforce  0x00000030 
+ 00019526  0x000049f5 iforce  0x00000007 
+ 00019527  0x000049f6 ifetch  0x00000001 , 0x00000003 
+ 00019528  0x000049f7 iforce  0x00000002 
+ 00019529  0x000049f8 rshift2  0x00000030 , 0x0000003f 
+ 00019530  0x000049f9 rshift8  0x0000003f , 0x0000003f 
+ 00019531  0x000049fa beq  0x0000003f , 0x00004c4d 
+ 00019532  0x000049fb rtn 
+ 00019533  0x000049ff bpatchx  0x00000003 , 0x00004020 
+ 00019534  0x00004a00 deposit  0x00000007 
+ 00019535  0x00004a01 beq  0x00000000 , 0x00004cdc 
+ 00019536  0x00004a02 beq  0x00000001 , 0x00004c66 
+ 00019537  0x00004a03 beq  0x00000002 , 0x00004c6b 
+ 00019538  0x00004a04 beq  0x00000003 , 0x00004c7a 
+ 00019539  0x00004a05 beq  0x00000004 , 0x00004cb3 
+ 00019540  0x00004a06 beq  0x00000005 , 0x00004cdc 
+ 00019541  0x00004a07 beq  0x00000006 , 0x00004cc6 
+ 00019542  0x00004a08 beq  0x00000007 , 0x00004c5c 
+ 00019543  0x00004a0a beq  0x00000010 , 0x00004cc9 
+ 00019544  0x00004a0b beq  0x00000011 , 0x00004cd1 
+ 00019545  0x00004a0c beq  0x00000012 , 0x00004ca5 
+ 00019546  0x00004a0d beq  0x00000013 , 0x00004c85 
+ 00019547  0x00004a0e branch  0x00004cdc 
+ 00019548  0x00004a11 call  0x00004cdc 
+ 00019549  0x00004a12 call  0x00007f9e 
+ 00019550  0x00004a13 call  0x0000688c 
+ 00019551  0x00004a15 call  0x000033d2 
+ 00019552  0x00004a16 call  0x000033d9 
+ 00019553  0x00004a17 branch  0x0000688f 
+ 00019554  0x00004a1a jam  0x00000000 , 0x00004245 
+ 00019555  0x00004a1b call  0x000033d0 
+ 00019556  0x00004a1c call  0x00004c13 
+ 00019557  0x00004a1d branch  0x000033db 
+ 00019558  0x00004a20 call  0x00004cf2 
+ 00019559  0x00004a21 hfetch  0x00000002 , 0x00008000 
+ 00019560  0x00004a22 istore  0x00000002 , 0x0000000a 
+ 00019561  0x00004a23 force  0x00000006 , 0x00000039 
+ 00019562  0x00004a24 branch  0x00004cdd 
+ 00019563  0x00004a27 ifetch  0x00000002 , 0x00000003 
+ 00019564  0x00004a28 store  0x00000002 , 0x00004243 
+ 00019565  0x00004a29 hstore  0x00000002 , 0x00008052 
+ 00019566  0x00004a2a rtn 
+ 00019567  0x00004a2f ifetch  0x00000001 , 0x00000003 
+ 00019568  0x00004a30 copy  0x0000003f , 0x00000002 
+ 00019569  0x00004a31 hstore  0x00000001 , 0x00008024 
+ 00019570  0x00004a32 ifetch  0x00000001 , 0x00000003 
+ 00019571  0x00004a33 iadd  0x00000002 , 0x00000002 
+ 00019572  0x00004a34 set1  0x00000007 , 0x0000003f 
+ 00019573  0x00004a35 hstore  0x00000001 , 0x00008023 
+ 00019574  0x00004a36 ifetch  0x00000001 , 0x00000003 
+ 00019575  0x00004a37 iadd  0x00000002 , 0x00000002 
+ 00019576  0x00004a38 copy  0x0000003f , 0x00000039 
+ 00019577  0x00004a39 rtn 
+ 00019578  0x00004a3c bmark1  0x0000002b , 0x00004cc4 
+ 00019579  0x00004a3d call  0x00004c6f 
+ 00019580  0x00004a3f ifetch  0x00000001 , 0x00000003 
+ 00019581  0x00004a40 hstore  0x00000001 , 0x00008025 
+ 00019582  0x00004a41 iadd  0x00000002 , 0x00000002 
+ 00019583  0x00004a42 loop  0x00004c7c 
+ 00019584  0x00004a44 and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019585  0x00004a45 ifetch  0x00000001 , 0x00000003 
+ 00019586  0x00004a46 isub  0x00000002 , 0x0000003e 
+ 00019587  0x00004a47 nbranch  0x00004cc4 , 0x00000005 
+ 00019588  0x00004a48 branch  0x00004cdc 
+ 00019589  0x00004a4c bmark0  0x0000002b , 0x00004cc4 
+ 00019590  0x00004a4d call  0x00004c6f 
+ 00019591  0x00004a4e store  0x00000008 , 0x00000a9a 
+ 00019592  0x00004a50 call  0x00007422 
+ 00019593  0x00004a51 arg  0x00000010 , 0x00000039 
+ 00019594  0x00004a52 arg  0x00000ac2 , 0x00000005 
+ 00019595  0x00004a53 call  0x00004ca0 
+ 00019596  0x00004a54 storet  0x00000008 , 0x00000aa2 
+ 00019597  0x00004a55 arg  0x00000ad2 , 0x00000005 
+ 00019598  0x00004a56 call  0x00007497 
+ 00019599  0x00004a57 arg  0x00000ad2 , 0x00000011 
+ 00019600  0x00004a58 arg  0x00000ac2 , 0x00000012 
+ 00019601  0x00004a59 arg  0x00000ae2 , 0x00000005 
+ 00019602  0x00004a5a call  0x00007352 
+ 00019603  0x00004a5b arg  0x00000010 , 0x00000039 
+ 00019604  0x00004a5c arg  0x00000ae2 , 0x00000006 
+ 00019605  0x00004a5d call  0x00004c9c 
+ 00019606  0x00004a5e fetcht  0x00000008 , 0x00000aa2 
+ 00019607  0x00004a5f fetch  0x00000008 , 0x00000a9a 
+ 00019608  0x00004a60 increase  0xfffffff0 , 0x0000003f 
+ 00019609  0x00004a61 store  0x00000008 , 0x00000a9a 
+ 00019610  0x00004a62 nbranch  0x00004c88 , 0x00000034 
+ 00019611  0x00004a63 branch  0x00004c80 
+ 00019612  0x00004a66 ifetch  0x00000001 , 0x00000006 
+ 00019613  0x00004a67 hstore  0x00000001 , 0x00008025 
+ 00019614  0x00004a68 loop  0x00004c9c 
+ 00019615  0x00004a69 rtn 
+ 00019616  0x00004a6c ifetch  0x00000001 , 0x00000003 
+ 00019617  0x00004a6d istore  0x00000001 , 0x00000005 
+ 00019618  0x00004a6e iadd  0x00000002 , 0x00000002 
+ 00019619  0x00004a6f loop  0x00004ca0 
+ 00019620  0x00004a70 rtn 
+ 00019621  0x00004a73 bmark0  0x0000002b , 0x00004cc4 
+ 00019622  0x00004a74 arg  0x00000000 , 0x00000002 
+ 00019623  0x00004a75 arg  0x00000010 , 0x00000039 
+ 00019624  0x00004a76 arg  0x00000ac2 , 0x00000005 
+ 00019625  0x00004a77 call  0x00004ca0 
+ 00019626  0x00004a78 hfetch  0x00000001 , 0x00008085 
+ 00019627  0x00004a79 and_into  0x000000fd , 0x0000003f 
+ 00019628  0x00004a7a hstore  0x00000001 , 0x00008085 
+ 00019629  0x00004a7b arg  0x00000ac2 , 0x00000006 
+ 00019630  0x00004a7c arg  0x00000010 , 0x00000039 
+ 00019631  0x00004a7d call  0x00007478 
+ 00019632  0x00004a7e call  0x00007428 
+ 00019633  0x00004a7f call  0x00007491 
+ 00019634  0x00004a80 branch  0x00004c80 
+ 00019635  0x00004a84 arg  0x00000020 , 0x00000039 
+ 00019636  0x00004a85 arg  0x00004000 , 0x00000005 
+ 00019637  0x00004a86 arg  0x00000000 , 0x00000002 
+ 00019638  0x00004a88 ifetch  0x00000001 , 0x00000003 
+ 00019639  0x00004a89 istore  0x00000001 , 0x00000005 
+ 00019640  0x00004a8a iadd  0x00000002 , 0x00000002 
+ 00019641  0x00004a8b loop  0x00004cb6 
+ 00019642  0x00004a8c and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019643  0x00004a8d ifetch  0x00000001 , 0x00000003 
+ 00019644  0x00004a8e isub  0x00000002 , 0x0000003e 
+ 00019645  0x00004a8f nbranch  0x00004cc4 , 0x00000005 
+ 00019646  0x00004a90 jam  0x00000000 , 0x00008023 
+ 00019647  0x00004a91 call  0x00004cdc 
+ 00019648  0x00004a92 call  0x00004be6 
+ 00019649  0x00004a93 call  0x000064a3 
+ 00019650  0x00004a94 call  0x00007f9e 
+ 00019651  0x00004a95 branch  0x00002001 
+ 00019652  0x00004a98 jam  0x00000000 , 0x00008023 
+ 00019653  0x00004a99 branch  0x00002000 
+ 00019654  0x00004a9c ifetch  0x00000006 , 0x00000003 
+ 00019655  0x00004a9d store  0x00000006 , 0x000040a0 
+ 00019656  0x00004a9e branch  0x00004cdc 
+ 00019657  0x00004aa2 ifetch  0x00000001 , 0x00000003 
+ 00019658  0x00004aa3 store  0x00000001 , 0x0000025a 
+ 00019659  0x00004aa4 copy  0x0000003f , 0x00000039 
+ 00019660  0x00004aa5 ifetch  0x00000002 , 0x00000003 
+ 00019661  0x00004aa6 store  0x00000002 , 0x0000025b 
+ 00019662  0x00004aa7 copy  0x0000003f , 0x00000005 
+ 00019663  0x00004aa8 call  0x000066fd 
+ 00019664  0x00004aa9 branch  0x00004cdc 
+ 00019665  0x00004aad ifetch  0x00000001 , 0x00000003 
+ 00019666  0x00004aae store  0x00000001 , 0x0000025a 
+ 00019667  0x00004aaf copy  0x0000003f , 0x00000039 
+ 00019668  0x00004ab0 ifetch  0x00000002 , 0x00000003 
+ 00019669  0x00004ab1 store  0x00000002 , 0x0000025b 
+ 00019670  0x00004ab2 arg  0x00001000 , 0x00000005 
+ 00019671  0x00004ab3 call  0x000066fd 
+ 00019672  0x00004ab4 fetcht  0x00000001 , 0x0000025a 
+ 00019673  0x00004ab5 arg  0x00001000 , 0x00000011 
+ 00019674  0x00004ab6 fetch  0x00000002 , 0x0000025b 
+ 00019675  0x00004ab7 branch  0x00006608 
+ 00019676  0x00004abd force  0x00000004 , 0x00000039 
+ 00019677  0x00004abf call  0x00004cf4 
+ 00019678  0x00004ac0 force  0x00000001 , 0x0000003f 
+ 00019679  0x00004ac1 istore  0x00000001 , 0x0000000a 
+ 00019680  0x00004ac2 deposit  0x00000030 
+ 00019681  0x00004ac3 istore  0x00000003 , 0x0000000a 
+ 00019682  0x00004ac4 force  0x0000000e , 0x00000007 
+ 00019683  0x00004ac6 bpatchx  0x00000004 , 0x00004020 
+ 00019684  0x00004ac7 call  0x00004cf6 
+ 00019685  0x00004ac8 deposit  0x00000007 
+ 00019686  0x00004ac9 istore  0x00000001 , 0x0000000a 
+ 00019687  0x00004aca deposit  0x00000039 
+ 00019688  0x00004acb istore  0x00000001 , 0x0000000a 
+ 00019689  0x00004acd force  0x00000005 , 0x00000007 
+ 00019690  0x00004ace increase  0x00000002 , 0x00000039 
+ 00019691  0x00004ad0 branch  0x00004bf9 
+ 00019692  0x00004ad3 force  0x000000ff , 0x00000007 
+ 00019693  0x00004ad4 call  0x00004cf4 
+ 00019694  0x00004ad5 setarg  0x00000001 
+ 00019695  0x00004ad6 istore  0x00000001 , 0x0000000a 
+ 00019696  0x00004ad7 force  0x00000001 , 0x00000039 
+ 00019697  0x00004ad8 branch  0x00004ce3 
+ 00019698  0x00004adb force  0x0000000c , 0x0000000a 
+ 00019699  0x00004adc branch  0x00004cf7 
+ 00019700  0x00004adf force  0x00000008 , 0x0000000a 
+ 00019701  0x00004ae0 branch  0x00004cf7 
+ 00019702  0x00004ae3 force  0x00000006 , 0x0000000a 
+ 00019703  0x00004ae5 branch  0x00004bf5 
+ 00019704  0x00004aea pulse  0x0000000f 
+ 00019705  0x00004aeb enable  0x00000009 
+ 00019706  0x00004aed ifetch  0x00000001 , 0x0000000a 
+ 00019707  0x00004aee inject  0x00000000 , 0x00000008 
+ 00019708  0x00004aef loop  0x00004cfa 
+ 00019709  0x00004af0 enable  0x00000008 
+ 00019710  0x00004af1 inject  0x00000000 , 0x00000010 
+ 00019711  0x00004af2 disable  0x00000008 
+ 00019712  0x00004af3 disable  0x00000009 
+ 00019713  0x00004af4 disable  0x0000000f 
+ 00019714  0x00004af5 byteswap  0x0000003f , 0x0000003f 
+ 00019715  0x00004af6 rtn 
+ 00019716  0x00004afb jam  0x00000000 , 0x000041ce 
+ 00019717  0x00004afc rtn 
+ 00019718  0x00004afe fetch  0x00000006 , 0x000041d0 
+ 00019719  0x00004aff fetcht  0x00000006 , 0x00000040 
+ 00019720  0x00004b00 isub  0x00000002 , 0x0000003e 
+ 00019721  0x00004b01 rtn 
+ 00019722  0x00004b07 fetch  0x00000001 , 0x0000004b 
+ 00019723  0x00004b08 bbit1  0x00000002 , 0x00004d0f 
+ 00019724  0x00004b09 call  0x000062ef 
+ 00019725  0x00004b0a jam  0x00000008 , 0x0000007c 
+ 00019726  0x00004b0b branch  0x00004d04 
+ 00019727  0x00004b0d set0  0x00000002 , 0x0000003f 
+ 00019728  0x00004b0e store  0x00000001 , 0x0000004b 
+ 00019729  0x00004b0f call  0x00006001 
+ 00019730  0x00004b10 setarg  0x00000000 
+ 00019731  0x00004b11 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00019732  0x00004b12 store  0x00000001 , 0x0000007f 
+ 00019733  0x00004b13 branch  0x00004d04 
+ 00019734  0x00004b14 rtn 
+ 00019735  0x00004b16 jam  0x00000017 , 0x0000007c 
+ 00019736  0x00004b17 arg  0x000004d9 , 0x00000005 
+ 00019737  0x00004b18 setarg  0x00000000 
+ 00019738  0x00004b19 isolate1  0x0000001b , 0x00000028 
+ 00019739  0x00004b1a setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00019740  0x00004b1b istore  0x00000001 , 0x00000005 
+ 00019741  0x00004b1c setarg  0x00000000 
+ 00019742  0x00004b1d istore  0x00000002 , 0x00000005 
+ 00019743  0x00004b1e fetch  0x00000002 , 0x000041e3 
+ 00019744  0x00004b1f istore  0x00000002 , 0x00000005 
+ 00019745  0x00004b20 fetch  0x00000001 , 0x000041e5 
+ 00019746  0x00004b21 istore  0x00000002 , 0x00000005 
+ 00019747  0x00004b22 fetch  0x00000001 , 0x000041e7 
+ 00019748  0x00004b23 istore  0x00000002 , 0x00000005 
+ 00019749  0x00004b24 branch  0x00004d04 
+ 00019750  0x00004b27 jam  0x00000018 , 0x0000007c 
+ 00019751  0x00004b28 branch  0x00004d04 
+ 00019752  0x00004b2b call  0x00006899 
+ 00019753  0x00004b2c rtn  0x00000001 
+ 00019754  0x00004b2d arg  0x00000007 , 0x00000002 
+ 00019755  0x00004b2e call  0x0000681d 
+ 00019756  0x00004b2f nbranch  0x00004d2f , 0x00000001 
+ 00019757  0x00004b30 jam  0x00000001 , 0x00004245 
+ 00019758  0x00004b31 rtn 
+ 00019759  0x00004b33 fetch  0x00000001 , 0x00004245 
+ 00019760  0x00004b34 rtnne  0x00000001 
+ 00019761  0x00004b35 call  0x00004c62 
+ 00019762  0x00004b36 branch  0x00004cec 
+ 00019763  0x00004b45 bpatchx  0x00000005 , 0x00004020 
+ 00019764  0x00004b46 fetch  0x00000002 , 0x00000264 
+ 00019765  0x00004b47 copy  0x0000003f , 0x00000006 
+ 00019766  0x00004b48 ifetch  0x00000001 , 0x00000006 
+ 00019767  0x00004b49 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00019768  0x00004b4a rshift4  0x0000003f , 0x0000003f 
+ 00019769  0x00004b4b beq  0x00000009 , 0x00004d53 
+ 00019770  0x00004b4c beq  0x00000007 , 0x00004d53 
+ 00019771  0x00004b4d beq  0x0000000a , 0x00004d5f 
+ 00019772  0x00004b4e beq  0x00000005 , 0x00004d4b 
+ 00019773  0x00004b4f beq  0x00000001 , 0x00004d3f 
+ 00019774  0x00004b50 rtn 
+ 00019775  0x00004b53 copy  0x00000002 , 0x0000003f 
+ 00019776  0x00004b54 beq  0x00000005 , 0x00004d43 
+ 00019777  0x00004b55 beq  0x00000003 , 0x00004d4a 
+ 00019778  0x00004b56 rtn 
+ 00019779  0x00004b59 jam  0x00000027 , 0x00000a99 
+ 00019780  0x00004b5a call  0x00007d86 
+ 00019781  0x00004b5b fetch  0x00000001 , 0x00004092 
+ 00019782  0x00004b5c rtnbit0  0x00000006 
+ 00019783  0x00004b5d copy  0x00000002 , 0x0000003f 
+ 00019784  0x00004b5e beq  0x00000005 , 0x0000438e 
+ 00019785  0x00004b5f rtn 
+ 00019786  0x00004b61 rtn 
+ 00019787  0x00004b64 call  0x00004d5f 
+ 00019788  0x00004b65 arg  0x00000001 , 0x00000011 
+ 00019789  0x00004b66 call  0x00004d63 
+ 00019790  0x00004b67 fetch  0x00000002 , 0x0000424c 
+ 00019791  0x00004b68 istore  0x00000002 , 0x00000005 
+ 00019792  0x00004b69 setarg  0x00000000 
+ 00019793  0x00004b6a istore  0x00000001 , 0x00000005 
+ 00019794  0x00004b6b rtn 
+ 00019795  0x00004b6e arg  0x00000001 , 0x00000011 
+ 00019796  0x00004b6f call  0x00004d63 
+ 00019797  0x00004b70 fetch  0x00000002 , 0x0000424c 
+ 00019798  0x00004b71 istore  0x00000002 , 0x00000005 
+ 00019799  0x00004b72 setarg  0x00000000 
+ 00019800  0x00004b73 istore  0x00000001 , 0x00000005 
+ 00019801  0x00004b74 jam  0x00000001 , 0x00000a8e 
+ 00019802  0x00004b75 fetch  0x00000001 , 0x00004252 
+ 00019803  0x00004b76 set1  0x00000006 
+ 00019804  0x00004b77 store  0x00000001 , 0x00004252 
+ 00019805  0x00004b78 jam  0x00000012 , 0x00000a99 
+ 00019806  0x00004b79 branch  0x00007d86 
+ 00019807  0x00004b7c ifetch  0x00000001 , 0x00000006 
+ 00019808  0x00004b7d beq  0x00000001 , 0x00004d62 
+ 00019809  0x00004b7e rtn 
+ 00019810  0x00004b81 rtn 
+ 00019811  0x00004b85 call  0x00005240 
+ 00019812  0x00004b86 copy  0x00000011 , 0x00000002 
+ 00019813  0x00004b87 storet  0x00000001 , 0x00000a8e 
+ 00019814  0x00004b88 copy  0x0000003f , 0x00000005 
+ 00019815  0x00004b89 copy  0x00000011 , 0x0000003f 
+ 00019816  0x00004b8a istore  0x00000002 , 0x00000005 
+ 00019817  0x00004b8b rtn 
+ 00019818  0x00004b9d branch  0x00004d6f , 0x0000002b 
+ 00019819  0x00004b9f setarg  0x00004365 
+ 00019820  0x00004ba0 arg  0x00004246 , 0x00000005 
+ 00019821  0x00004ba1 isub  0x00000005 , 0x00000039 
+ 00019822  0x00004ba2 call  0x00007ed4 
+ 00019823  0x00004ba4 bpatchx  0x00000006 , 0x00004020 
+ 00019824  0x00004ba5 setarg  0x00000551 
+ 00019825  0x00004ba6 arg  0x00000511 , 0x00000005 
+ 00019826  0x00004ba7 isub  0x00000005 , 0x00000039 
+ 00019827  0x00004ba8 call  0x00007ed4 
+ 00019828  0x00004ba9 setarg  0x000002c9 
+ 00019829  0x00004baa arg  0x0000025d , 0x00000005 
+ 00019830  0x00004bab isub  0x00000005 , 0x00000039 
+ 00019831  0x00004bac call  0x00007ed4 
+ 00019832  0x00004bad branch  0x00005318 
+ 00019833  0x00004bb0 bpatchx  0x00000007 , 0x00004020 
+ 00019834  0x00004bb1 copy  0x00000006 , 0x00000002 
+ 00019835  0x00004bb4 copy  0x00000002 , 0x00000006 
+ 00019836  0x00004bb5 ifetch  0x00000002 , 0x00000006 
+ 00019837  0x00004bb6 store  0x00000002 , 0x00000266 
+ 00019838  0x00004bb7 ifetch  0x00000002 , 0x00000006 
+ 00019839  0x00004bb8 store  0x00000002 , 0x00000268 
+ 00019840  0x00004bb9 deposit  0x00000006 
+ 00019841  0x00004bba store  0x00000002 , 0x00000264 
+ 00019842  0x00004bbb fetch  0x00000001 , 0x00004681 
+ 00019843  0x00004bbc beq  0x00000000 , 0x00004d85 
+ 00019844  0x00004bbd branch  0x000050ef 
+ 00019845  0x00004bc0 fetch  0x00000002 , 0x00000266 
+ 00019846  0x00004bc1 branch  0x00004dfc , 0x00000034 
+ 00019847  0x00004bc2 bpatchx  0x00000008 , 0x00004021 
+ 00019848  0x00004bc3 fetch  0x00000001 , 0x00000268 
+ 00019849  0x00004bc4 beq  0x00000001 , 0x00004d9d 
+ 00019850  0x00004bc6 beq  0x00000050 , 0x00004de0 
+ 00019851  0x00004bc7 beq  0x00000051 , 0x00004df5 
+ 00019852  0x00004bc8 beq  0x00000052 , 0x00004df3 
+ 00019853  0x00004bc9 beq  0x00000053 , 0x00004df3 
+ 00019854  0x00004bca branch  0x00004dfc 
+ 00019855  0x00004bcf bpatchx  0x00000009 , 0x00004021 
+ 00019856  0x00004bd0 call  0x0000527e 
+ 00019857  0x00004bd1 fetch  0x00000001 , 0x00004256 
+ 00019858  0x00004bd2 beq  0x00000000 , 0x00004d9b 
+ 00019859  0x00004bd3 beq  0x00000001 , 0x00004d9b 
+ 00019860  0x00004bd4 beq  0x00000002 , 0x00004d9b 
+ 00019861  0x00004bd5 beq  0x00000003 , 0x00004d9b 
+ 00019862  0x00004bd6 beq  0x00000081 , 0x00004d9b 
+ 00019863  0x00004bd7 beq  0x000000c0 , 0x00004d9b 
+ 00019864  0x00004bd8 beq  0x00000080 , 0x00004d9b 
+ 00019865  0x00004bd9 beq  0x00000040 , 0x00004d9b 
+ 00019866  0x00004bda rtn 
+ 00019867  0x00004bdd setarg  0x00000000 
+ 00019868  0x00004bde rtn 
+ 00019869  0x00004be2 call  0x00004d8f 
+ 00019870  0x00004be3 nrtn  0x00000034 
+ 00019871  0x00004be5 call  0x000052b8 
+ 00019872  0x00004be6 call  0x00004e01 
+ 00019873  0x00004be7 fetcht  0x00000002 , 0x0000026f 
+ 00019874  0x00004be8 branch  0x00004dfb , 0x00000034 
+ 00019875  0x00004be9 call  0x000052c1 
+ 00019876  0x00004bea fetch  0x00000002 , 0x0000026f 
+ 00019877  0x00004beb istore  0x00000002 , 0x00000005 
+ 00019878  0x00004bec force  0x00000001 , 0x0000003f 
+ 00019879  0x00004bed istore  0x00000002 , 0x00000005 
+ 00019880  0x00004bee branch  0x00004dfc 
+ 00019881  0x00004bf1 fetch  0x00000001 , 0x00004364 
+ 00019882  0x00004bf2 rtn  0x00000034 
+ 00019883  0x00004bf3 copy  0x0000003f , 0x00000011 
+ 00019884  0x00004bf4 bpatchx  0x0000000a , 0x00004021 
+ 00019885  0x00004bf5 fetch  0x00000004 , 0x000002d5 
+ 00019886  0x00004bf6 arg  0x00000100 , 0x00000002 
+ 00019887  0x00004bf7 iadd  0x00000002 , 0x00000002 
+ 00019888  0x00004bf8 copy  0x00000022 , 0x0000003f 
+ 00019889  0x00004bf9 isub  0x00000002 , 0x0000003e 
+ 00019890  0x00004bfa nrtn  0x00000002 
+ 00019891  0x00004bfb jam  0x00000000 , 0x00004364 
+ 00019892  0x00004bfc copy  0x00000011 , 0x0000003f 
+ 00019893  0x00004bfd beq  0x00000050 , 0x00004db7 
+ 00019894  0x00004bfe branch  0x00002a8c 
+ 00019895  0x00004c00 arg  0x00000000 , 0x00000008 
+ 00019896  0x00004c01 call  0x000052b8 
+ 00019897  0x00004c02 call  0x00004e7a 
+ 00019898  0x00004c03 call  0x000052c3 
+ 00019899  0x00004c04 call  0x00007ea8 
+ 00019900  0x00004c05 call  0x00004ead 
+ 00019901  0x00004c06 call  0x000052c1 
+ 00019902  0x00004c08 setarg  0x0000000c 
+ 00019903  0x00004c09 istore  0x00000002 , 0x00000005 
+ 00019904  0x00004c0a force  0x00000001 , 0x0000003f 
+ 00019905  0x00004c0b istore  0x00000002 , 0x00000005 
+ 00019906  0x00004c0c branch  0x00004dfc 
+ 00019907  0x00004c11 bpatchx  0x0000000b , 0x00004021 
+ 00019908  0x00004c12 fetch  0x00000002 , 0x00000275 
+ 00019909  0x00004c13 increase  0x00000004 , 0x0000003f 
+ 00019910  0x00004c14 rshift4  0x0000003f , 0x0000003f 
+ 00019911  0x00004c15 rshift3  0x0000003f , 0x0000003f 
+ 00019912  0x00004c16 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00019913  0x00004c17 arg  0x00004260 , 0x00000006 
+ 00019914  0x00004c18 ifetch  0x00000003 , 0x00000006 
+ 00019915  0x00004c19 rtn  0x00000034 
+ 00019916  0x00004c1a store  0x00000003 , 0x00000ac2 
+ 00019917  0x00004c1b fetch  0x00000001 , 0x00000ac2 
+ 00019918  0x00004c1c copy  0x0000003f , 0x00000011 
+ 00019919  0x00004c1d call  0x00004dd3 
+ 00019920  0x00004c1e copy  0x00000012 , 0x0000003f 
+ 00019921  0x00004c1f store  0x00000001 , 0x00004260 
+ 00019922  0x00004c20 rtn 
+ 00019923  0x00004c23 arg  0x00000000 , 0x00000007 
+ 00019924  0x00004c24 arg  0x00000000 , 0x00000012 
+ 00019925  0x00004c27 sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00019926  0x00004c28 nrtn  0x00000002 
+ 00019927  0x00004c29 qisolate1  0x00000011 
+ 00019928  0x00004c2a branch  0x00004dda , 0x00000001 
+ 00019929  0x00004c2b branch  0x00004dde 
+ 00019930  0x00004c2e copy  0x00000002 , 0x0000003f 
+ 00019931  0x00004c2f branch  0x00004dde , 0x00000034 
+ 00019932  0x00004c30 qset1  0x00000012 
+ 00019933  0x00004c31 increase  0xffffffff , 0x00000002 
+ 00019934  0x00004c34 increase  0x00000001 , 0x00000007 
+ 00019935  0x00004c35 branch  0x00004dd5 
+ 00019936  0x00004c38 call  0x00005274 
+ 00019937  0x00004c39 nrtn  0x00000034 
+ 00019938  0x00004c3a call  0x00004d8f 
+ 00019939  0x00004c3b nrtn  0x00000034 
+ 00019940  0x00004c3c call  0x000052c5 
+ 00019941  0x00004c3d call  0x00006e11 
+ 00019942  0x00004c3e call  0x00004dc3 
+ 00019943  0x00004c3f branch  0x00004dec 
+ 00019944  0x00004c43 call  0x00005274 
+ 00019945  0x00004c44 nrtn  0x00000034 
+ 00019946  0x00004c45 call  0x000052c5 
+ 00019947  0x00004c46 call  0x00006e11 
+ 00019948  0x00004c48 call  0x000052ce 
+ 00019949  0x00004c49 fetch  0x00000002 , 0x00000275 
+ 00019950  0x00004c4a branch  0x00004dfb , 0x00000034 
+ 00019951  0x00004c4b istore  0x00000002 , 0x00000005 
+ 00019952  0x00004c4c fetch  0x00000002 , 0x00004248 
+ 00019953  0x00004c4d istore  0x00000002 , 0x00000005 
+ 00019954  0x00004c4e branch  0x00004dfc 
+ 00019955  0x00004c51 call  0x00004d33 
+ 00019956  0x00004c52 branch  0x00004dfc 
+ 00019957  0x00004c55 bpatchx  0x0000000c , 0x00004021 
+ 00019958  0x00004c56 jam  0x00000000 , 0x00000284 
+ 00019959  0x00004c57 call  0x00006a8a 
+ 00019960  0x00004c58 fetch  0x00000001 , 0x00000284 
+ 00019961  0x00004c59 rtneq  0x00000001 
+ 00019962  0x00004c5a branch  0x00004dfc 
+ 00019963  0x00004c5c call  0x00005264 
+ 00019964  0x00004c5f setarg  0x00000000 
+ 00019965  0x00004c60 store  0x00000002 , 0x00000266 
+ 00019966  0x00004c61 store  0x00000002 , 0x00000268 
+ 00019967  0x00004c62 jam  0x00000001 , 0x0000026a 
+ 00019968  0x00004c63 rtn 
+ 00019969  0x00004c66 bpatchx  0x0000000d , 0x00004021 
+ 00019970  0x00004c67 call  0x000052c3 
+ 00019971  0x00004c68 force  0x00000000 , 0x00000012 
+ 00019972  0x00004c69 fetch  0x00000002 , 0x00000266 
+ 00019973  0x00004c6a copy  0x0000003f , 0x00000013 
+ 00019974  0x00004c6b fetch  0x00000002 , 0x00000264 
+ 00019975  0x00004c6c iforce  0x00000006 
+ 00019976  0x00004c6e call  0x00004e10 
+ 00019977  0x00004c6f deposit  0x00000013 
+ 00019978  0x00004c70 increase  0xfffffffc , 0x00000013 
+ 00019979  0x00004c71 increase  0xfffffffc , 0x0000003f 
+ 00019980  0x00004c72 nbranch  0x00004e08 , 0x00000034 
+ 00019981  0x00004c73 copy  0x00000012 , 0x0000003f 
+ 00019982  0x00004c74 store  0x00000002 , 0x0000026f 
+ 00019983  0x00004c75 rtn 
+ 00019984  0x00004c78 bpatchx  0x0000000e , 0x00004021 
+ 00019985  0x00004c79 ifetch  0x00000001 , 0x00000006 
+ 00019986  0x00004c7a beq  0x00000001 , 0x00004e49 
+ 00019987  0x00004c7b beq  0x00000002 , 0x00004e51 
+ 00019988  0x00004c7c beq  0x00000003 , 0x00004ed5 
+ 00019989  0x00004c7d beq  0x00000004 , 0x00004f05 
+ 00019990  0x00004c7e beq  0x00000005 , 0x00004fa2 
+ 00019991  0x00004c7f beq  0x00000006 , 0x00004fcb 
+ 00019992  0x00004c80 beq  0x00000007 , 0x0000501b 
+ 00019993  0x00004c81 beq  0x00000008 , 0x00005050 
+ 00019994  0x00004c82 beq  0x00000009 , 0x00005060 
+ 00019995  0x00004c83 beq  0x0000000a , 0x00004e1f 
+ 00019996  0x00004c84 beq  0x0000000b , 0x00005061 
+ 00019997  0x00004c85 call  0x00005062 
+ 00019998  0x00004c87 rtn 
+ 00019999  0x00004c8a ifetch  0x00000001 , 0x00000006 
+ 00020000  0x00004c8b copy  0x0000003f , 0x00000007 
+ 00020001  0x00004c8c ifetch  0x00000002 , 0x00000006 
+ 00020002  0x00004c8d copy  0x0000003f , 0x00000011 
+ 00020003  0x00004c8e copy  0x00000013 , 0x0000003f 
+ 00020004  0x00004c8f isub  0x00000011 , 0x00000013 
+ 00020005  0x00004c90 setarg  0x0000000b 
+ 00020006  0x00004c91 istore  0x00000001 , 0x00000005 
+ 00020007  0x00004c92 copy  0x00000007 , 0x0000003f 
+ 00020008  0x00004c93 istore  0x00000001 , 0x00000005 
+ 00020009  0x00004c94 ifetch  0x00000002 , 0x00000006 
+ 00020010  0x00004c96 beq  0x00000002 , 0x00004e2d 
+ 00020011  0x00004c97 beq  0x00000003 , 0x00004e33 
+ 00020012  0x00004c98 rtn 
+ 00020013  0x00004c9a setarg  0x00020008 
+ 00020014  0x00004c9b istore  0x00000006 , 0x00000005 
+ 00020015  0x00004c9c setarg  0x00000280 
+ 00020016  0x00004c9d istore  0x00000004 , 0x00000005 
+ 00020017  0x00004c9e force  0x0000000c , 0x0000003f 
+ 00020018  0x00004c9f branch  0x00004e38 
+ 00020019  0x00004ca1 setarg  0x0003000c 
+ 00020020  0x00004ca2 istore  0x00000006 , 0x00000005 
+ 00020021  0x00004ca3 setarg  0x00000006 
+ 00020022  0x00004ca4 istore  0x00000008 , 0x00000005 
+ 00020023  0x00004ca5 force  0x00000010 , 0x0000003f 
+ 00020024  0x00004ca7 iadd  0x00000012 , 0x00000012 
+ 00020025  0x00004ca8 branch  0x00004e1e 
+ 00020026  0x00004cab ifetch  0x00000001 , 0x00000006 
+ 00020027  0x00004cac copy  0x0000003f , 0x00000007 
+ 00020028  0x00004cad ifetch  0x00000002 , 0x00000006 
+ 00020029  0x00004cae copy  0x0000003f , 0x00000011 
+ 00020030  0x00004caf ifetch  0x00000002 , 0x00000006 
+ 00020031  0x00004cb0 store  0x00000002 , 0x00000aa2 
+ 00020032  0x00004cb1 copy  0x00000013 , 0x0000003f 
+ 00020033  0x00004cb2 isub  0x00000011 , 0x00000013 
+ 00020034  0x00004cb3 call  0x000052c3 
+ 00020035  0x00004cb4 setarg  0x0000000b 
+ 00020036  0x00004cb5 istore  0x00000001 , 0x00000005 
+ 00020037  0x00004cb6 copy  0x00000007 , 0x0000003f 
+ 00020038  0x00004cb7 istore  0x00000001 , 0x00000005 
+ 00020039  0x00004cb8 fetch  0x00000002 , 0x00000aa2 
+ 00020040  0x00004cb9 branch  0x00004e2a 
+ 00020041  0x00004cbe ifetch  0x00000001 , 0x00000006 
+ 00020042  0x00004cbf copy  0x0000003f , 0x00000007 
+ 00020043  0x00004cc0 ifetch  0x00000002 , 0x00000006 
+ 00020044  0x00004cc1 copy  0x0000003f , 0x00000011 
+ 00020045  0x00004cc2 iadd  0x00000006 , 0x00000006 
+ 00020046  0x00004cc3 copy  0x00000013 , 0x0000003f 
+ 00020047  0x00004cc4 isub  0x00000011 , 0x00000013 
+ 00020048  0x00004cc6 branch  0x00004e1e 
+ 00020049  0x00004cc9 call  0x00007ea8 
+ 00020050  0x00004ccc call  0x00007ead 
+ 00020051  0x00004ccd arg  0x00000000 , 0x00000008 
+ 00020052  0x00004cce ifetch  0x00000001 , 0x00000006 
+ 00020053  0x00004ccf copy  0x0000003f , 0x00000007 
+ 00020054  0x00004cd0 ifetch  0x00000002 , 0x00000006 
+ 00020055  0x00004cd1 copy  0x0000003f , 0x00000011 
+ 00020056  0x00004cd2 ifetch  0x00000002 , 0x00000006 
+ 00020057  0x00004cd3 copy  0x0000003f , 0x00000002 
+ 00020058  0x00004cd4 ifetch  0x00000002 , 0x00000006 
+ 00020059  0x00004cd5 copy  0x0000003f , 0x0000000b 
+ 00020060  0x00004cd6 bpatchx  0x0000000f , 0x00004021 
+ 00020061  0x00004cd7 copy  0x00000002 , 0x0000003f 
+ 00020062  0x00004cd8 beq  0x00000001 , 0x00004e64 
+ 00020063  0x00004cd9 beq  0x00000003 , 0x00004e86 
+ 00020064  0x00004cda beq  0x00000011 , 0x00004e92 
+ 00020065  0x00004cdb beq  0x00000013 , 0x00004e9d 
+ 00020066  0x00004cdc call  0x00005062 
+ 00020067  0x00004cdd branch  0x00004ed4 
+ 00020068  0x00004ce0 call  0x00007ea8 
+ 00020069  0x00004ce1 arg  0x00000050 , 0x00000002 
+ 00020070  0x00004ce2 fetch  0x00000002 , 0x00004248 
+ 00020071  0x00004ce3 nbranch  0x00004ece , 0x00000034 
+ 00020072  0x00004ce4 copy  0x0000000b , 0x0000003f 
+ 00020073  0x00004ce5 store  0x00000002 , 0x00004248 
+ 00020074  0x00004ce6 copy  0x00000022 , 0x0000003f 
+ 00020075  0x00004ce7 store  0x00000004 , 0x000002d5 
+ 00020076  0x00004ce8 call  0x00004e6e 
+ 00020077  0x00004ce9 branch  0x00004ea9 
+ 00020078  0x00004cec storet  0x00000002 , 0x000002d3 
+ 00020079  0x00004ced deposit  0x0000000b 
+ 00020080  0x00004cee store  0x00000002 , 0x000002c9 
+ 00020081  0x00004cef deposit  0x00000011 
+ 00020082  0x00004cf0 store  0x00000002 , 0x000002cb 
+ 00020083  0x00004cf1 deposit  0x00000012 
+ 00020084  0x00004cf2 store  0x00000002 , 0x000002cd 
+ 00020085  0x00004cf3 deposit  0x00000013 
+ 00020086  0x00004cf4 store  0x00000002 , 0x000002cf 
+ 00020087  0x00004cf5 deposit  0x00000007 
+ 00020088  0x00004cf6 store  0x00000002 , 0x000002d1 
+ 00020089  0x00004cf7 rtn 
+ 00020090  0x00004cfa fetcht  0x00000002 , 0x000002d3 
+ 00020091  0x00004cfb fetch  0x00000002 , 0x000002c9 
+ 00020092  0x00004cfc copy  0x0000003f , 0x0000000b 
+ 00020093  0x00004cfd fetch  0x00000002 , 0x000002cb 
+ 00020094  0x00004cfe copy  0x0000003f , 0x00000011 
+ 00020095  0x00004cff fetch  0x00000002 , 0x000002cd 
+ 00020096  0x00004d00 copy  0x0000003f , 0x00000012 
+ 00020097  0x00004d01 fetch  0x00000002 , 0x000002cf 
+ 00020098  0x00004d02 copy  0x0000003f , 0x00000013 
+ 00020099  0x00004d03 fetch  0x00000002 , 0x000002d1 
+ 00020100  0x00004d04 copy  0x0000003f , 0x00000007 
+ 00020101  0x00004d05 rtn 
+ 00020102  0x00004d08 call  0x00007ea8 
+ 00020103  0x00004d09 setarg  0x00000051 
+ 00020104  0x00004d0a arg  0x00000051 , 0x00000002 
+ 00020105  0x00004d0b fetch  0x00000002 , 0x0000424a 
+ 00020106  0x00004d0c nbranch  0x00004ece , 0x00000034 
+ 00020107  0x00004d0d copy  0x0000000b , 0x0000003f 
+ 00020108  0x00004d0e store  0x00000002 , 0x0000424a 
+ 00020109  0x00004d0f fetch  0x00000001 , 0x00004251 
+ 00020110  0x00004d10 set1  0x00000000 , 0x0000003f 
+ 00020111  0x00004d11 set1  0x00000001 , 0x0000003f 
+ 00020112  0x00004d12 store  0x00000001 , 0x00004251 
+ 00020113  0x00004d13 branch  0x00004eb1 
+ 00020114  0x00004d15 call  0x00007ea8 
+ 00020115  0x00004d16 arg  0x00000052 , 0x00000002 
+ 00020116  0x00004d17 fetch  0x00000002 , 0x0000424c 
+ 00020117  0x00004d18 nbranch  0x00004ece , 0x00000034 
+ 00020118  0x00004d19 copy  0x0000000b , 0x0000003f 
+ 00020119  0x00004d1a store  0x00000002 , 0x0000424c 
+ 00020120  0x00004d1b fetch  0x00000001 , 0x00004252 
+ 00020121  0x00004d1c set1  0x00000000 , 0x0000003f 
+ 00020122  0x00004d1d set1  0x00000001 , 0x0000003f 
+ 00020123  0x00004d1e store  0x00000001 , 0x00004252 
+ 00020124  0x00004d1f branch  0x00004eb1 
+ 00020125  0x00004d21 call  0x00007ea8 
+ 00020126  0x00004d22 deposit  0x0000001a 
+ 00020127  0x00004d23 arg  0x00000053 , 0x00000002 
+ 00020128  0x00004d24 fetch  0x00000002 , 0x0000424e 
+ 00020129  0x00004d25 nbranch  0x00004ece , 0x00000034 
+ 00020130  0x00004d26 copy  0x0000000b , 0x0000003f 
+ 00020131  0x00004d27 store  0x00000002 , 0x0000424e 
+ 00020132  0x00004d28 fetch  0x00000001 , 0x00004253 
+ 00020133  0x00004d29 set1  0x00000000 , 0x0000003f 
+ 00020134  0x00004d2a set1  0x00000001 , 0x0000003f 
+ 00020135  0x00004d2b store  0x00000001 , 0x00004253 
+ 00020136  0x00004d2c branch  0x00004eb1 
+ 00020137  0x00004d2f setarg  0x00000001 
+ 00020138  0x00004d30 store  0x00000002 , 0x0000027d 
+ 00020139  0x00004d31 jam  0x00000050 , 0x00004364 
+ 00020140  0x00004d32 branch  0x00004eb3 
+ 00020141  0x00004d34 fetch  0x00000001 , 0x00004250 
+ 00020142  0x00004d35 set1  0x00000000 , 0x0000003f 
+ 00020143  0x00004d36 set1  0x00000001 , 0x0000003f 
+ 00020144  0x00004d37 store  0x00000001 , 0x00004250 
+ 00020145  0x00004d39 setarg  0x00000000 
+ 00020146  0x00004d3a store  0x00000002 , 0x0000027d 
+ 00020147  0x00004d3c bpatchx  0x00000010 , 0x00004022 
+ 00020148  0x00004d3d call  0x00007ead 
+ 00020149  0x00004d3e setarg  0x00000003 
+ 00020150  0x00004d3f istore  0x00000001 , 0x00000005 
+ 00020151  0x00004d40 copy  0x00000007 , 0x0000003f 
+ 00020152  0x00004d41 istore  0x00000001 , 0x00000005 
+ 00020153  0x00004d42 setarg  0x00000008 
+ 00020154  0x00004d43 istore  0x00000002 , 0x00000005 
+ 00020155  0x00004d44 copy  0x00000002 , 0x0000003f 
+ 00020156  0x00004d45 istore  0x00000002 , 0x00000005 
+ 00020157  0x00004d46 copy  0x0000000b , 0x0000003f 
+ 00020158  0x00004d47 istore  0x00000002 , 0x00000005 
+ 00020159  0x00004d48 fetch  0x00000002 , 0x0000027d 
+ 00020160  0x00004d49 beq  0x00000001 , 0x00004ec9 
+ 00020161  0x00004d4a isolate0  0x00000000 , 0x00000008 
+ 00020162  0x00004d4b branch  0x00004ec4 , 0x00000001 
+ 00020163  0x00004d4c setarg  0x00000004 
+ 00020164  0x00004d4e istore  0x00000002 , 0x00000005 
+ 00020165  0x00004d4f force  0x00000000 , 0x0000003f 
+ 00020166  0x00004d50 istore  0x00000002 , 0x00000005 
+ 00020167  0x00004d51 setarg  0x0000000c 
+ 00020168  0x00004d52 branch  0x00004ed0 
+ 00020169  0x00004d54 istore  0x00000002 , 0x00000005 
+ 00020170  0x00004d55 force  0x00000002 , 0x0000003f 
+ 00020171  0x00004d56 istore  0x00000002 , 0x00000005 
+ 00020172  0x00004d57 setarg  0x0000000c 
+ 00020173  0x00004d58 branch  0x00004ed0 
+ 00020174  0x00004d5b set1  0x00000000 , 0x00000008 
+ 00020175  0x00004d5c branch  0x00004eb1 
+ 00020176  0x00004d5e iadd  0x00000012 , 0x00000012 
+ 00020177  0x00004d5f copy  0x00000013 , 0x0000003f 
+ 00020178  0x00004d60 isub  0x00000011 , 0x00000013 
+ 00020179  0x00004d61 branch  0x00004ed4 
+ 00020180  0x00004d63 branch  0x00004e1e 
+ 00020181  0x00004d66 ifetch  0x00000001 , 0x00000006 
+ 00020182  0x00004d67 copy  0x0000003f , 0x00000007 
+ 00020183  0x00004d68 ifetch  0x00000002 , 0x00000006 
+ 00020184  0x00004d69 copy  0x0000003f , 0x00000011 
+ 00020185  0x00004d6a copy  0x00000013 , 0x0000003f 
+ 00020186  0x00004d6b isub  0x00000011 , 0x00000013 
+ 00020187  0x00004d6c ifetch  0x00000002 , 0x00000006 
+ 00020188  0x00004d6d copy  0x0000003f , 0x0000000b 
+ 00020189  0x00004d6e ifetch  0x00000002 , 0x00000006 
+ 00020190  0x00004d6f copy  0x0000003f , 0x00000002 
+ 00020191  0x00004d70 bpatchx  0x00000011 , 0x00004022 
+ 00020192  0x00004d71 setarg  0x00000050 
+ 00020193  0x00004d72 isub  0x00000002 , 0x0000003e 
+ 00020194  0x00004d73 branch  0x00004eed , 0x00000005 
+ 00020195  0x00004d74 setarg  0x00000051 
+ 00020196  0x00004d75 isub  0x00000002 , 0x0000003e 
+ 00020197  0x00004d76 branch  0x00004ef3 , 0x00000005 
+ 00020198  0x00004d77 setarg  0x00000052 
+ 00020199  0x00004d78 isub  0x00000002 , 0x0000003e 
+ 00020200  0x00004d79 branch  0x00004eff , 0x00000005 
+ 00020201  0x00004d7a setarg  0x00000053 
+ 00020202  0x00004d7b isub  0x00000002 , 0x0000003e 
+ 00020203  0x00004d7c branch  0x00004ef9 , 0x00000005 
+ 00020204  0x00004d7d rtn 
+ 00020205  0x00004d80 copy  0x0000000b , 0x0000003f 
+ 00020206  0x00004d81 store  0x00000002 , 0x00004248 
+ 00020207  0x00004d82 fetch  0x00000001 , 0x00004250 
+ 00020208  0x00004d83 set1  0x00000001 , 0x0000003f 
+ 00020209  0x00004d84 store  0x00000001 , 0x00004250 
+ 00020210  0x00004d85 branch  0x00004e1e 
+ 00020211  0x00004d87 copy  0x0000000b , 0x0000003f 
+ 00020212  0x00004d88 store  0x00000002 , 0x0000424a 
+ 00020213  0x00004d89 fetch  0x00000001 , 0x00004251 
+ 00020214  0x00004d8a set1  0x00000001 , 0x0000003f 
+ 00020215  0x00004d8b store  0x00000001 , 0x00004251 
+ 00020216  0x00004d8c rtn 
+ 00020217  0x00004d8e copy  0x0000000b , 0x0000003f 
+ 00020218  0x00004d8f store  0x00000002 , 0x0000424c 
+ 00020219  0x00004d90 fetch  0x00000001 , 0x00004253 
+ 00020220  0x00004d91 set1  0x00000001 , 0x0000003f 
+ 00020221  0x00004d92 store  0x00000001 , 0x00004253 
+ 00020222  0x00004d93 rtn 
+ 00020223  0x00004d95 copy  0x0000000b , 0x0000003f 
+ 00020224  0x00004d96 store  0x00000002 , 0x0000424e 
+ 00020225  0x00004d97 fetch  0x00000001 , 0x00004252 
+ 00020226  0x00004d98 set1  0x00000001 , 0x0000003f 
+ 00020227  0x00004d99 store  0x00000001 , 0x00004252 
+ 00020228  0x00004d9a rtn 
+ 00020229  0x00004d9d ifetch  0x00000001 , 0x00000006 
+ 00020230  0x00004d9e copy  0x0000003f , 0x00000007 
+ 00020231  0x00004d9f ifetch  0x00000002 , 0x00000006 
+ 00020232  0x00004da0 copy  0x0000003f , 0x00000011 
+ 00020233  0x00004da1 copy  0x00000013 , 0x0000003f 
+ 00020234  0x00004da2 isub  0x00000011 , 0x00000013 
+ 00020235  0x00004da3 ifetch  0x00000002 , 0x00000006 
+ 00020236  0x00004da4 copy  0x0000003f , 0x00000002 
+ 00020237  0x00004da5 copy  0x00000002 , 0x00000011 
+ 00020238  0x00004da6 bpatchx  0x00000012 , 0x00004022 
+ 00020239  0x00004da7 setarg  0x00000050 
+ 00020240  0x00004da8 isub  0x00000002 , 0x0000003e 
+ 00020241  0x00004da9 branch  0x00004f1c , 0x00000005 
+ 00020242  0x00004daa setarg  0x00000051 
+ 00020243  0x00004dab isub  0x00000002 , 0x0000003e 
+ 00020244  0x00004dac branch  0x00004f3a , 0x00000005 
+ 00020245  0x00004dad setarg  0x00000052 
+ 00020246  0x00004dae isub  0x00000002 , 0x0000003e 
+ 00020247  0x00004daf branch  0x00004f26 , 0x00000005 
+ 00020248  0x00004db0 setarg  0x00000053 
+ 00020249  0x00004db1 isub  0x00000002 , 0x0000003e 
+ 00020250  0x00004db2 branch  0x00004f30 , 0x00000005 
+ 00020251  0x00004db3 branch  0x00005062 
+ 00020252  0x00004db6 copy  0x00000005 , 0x0000000b 
+ 00020253  0x00004db7 fetch  0x00000001 , 0x00004250 
+ 00020254  0x00004db8 set1  0x00000004 , 0x0000003f 
+ 00020255  0x00004db9 set1  0x00000003 , 0x0000003f 
+ 00020256  0x00004dbb store  0x00000001 , 0x00004250 
+ 00020257  0x00004dbc copy  0x0000000b , 0x00000005 
+ 00020258  0x00004dbd arg  0x00000050 , 0x0000000b 
+ 00020259  0x00004dbe fetch  0x00000002 , 0x00004248 
+ 00020260  0x00004dbf copy  0x0000003f , 0x00000002 
+ 00020261  0x00004dc0 branch  0x00004f43 
+ 00020262  0x00004dc2 copy  0x00000005 , 0x0000000b 
+ 00020263  0x00004dc3 fetch  0x00000001 , 0x00004252 
+ 00020264  0x00004dc4 set1  0x00000004 , 0x0000003f 
+ 00020265  0x00004dc5 set1  0x00000003 , 0x0000003f 
+ 00020266  0x00004dc7 store  0x00000001 , 0x00004252 
+ 00020267  0x00004dc8 copy  0x0000000b , 0x00000005 
+ 00020268  0x00004dc9 arg  0x00000052 , 0x0000000b 
+ 00020269  0x00004dca fetch  0x00000002 , 0x0000424c 
+ 00020270  0x00004dcb copy  0x0000003f , 0x00000002 
+ 00020271  0x00004dcc branch  0x00004f43 
+ 00020272  0x00004dce copy  0x00000005 , 0x0000000b 
+ 00020273  0x00004dcf fetch  0x00000001 , 0x00004253 
+ 00020274  0x00004dd0 set1  0x00000004 , 0x0000003f 
+ 00020275  0x00004dd1 set1  0x00000003 , 0x0000003f 
+ 00020276  0x00004dd3 store  0x00000001 , 0x00004253 
+ 00020277  0x00004dd4 copy  0x0000000b , 0x00000005 
+ 00020278  0x00004dd5 arg  0x00000053 , 0x0000000b 
+ 00020279  0x00004dd6 fetch  0x00000002 , 0x0000424e 
+ 00020280  0x00004dd7 copy  0x0000003f , 0x00000002 
+ 00020281  0x00004dd8 branch  0x00004f43 
+ 00020282  0x00004dda copy  0x00000005 , 0x0000000b 
+ 00020283  0x00004ddb fetch  0x00000001 , 0x00004251 
+ 00020284  0x00004ddc set1  0x00000004 , 0x0000003f 
+ 00020285  0x00004ddd set1  0x00000003 , 0x0000003f 
+ 00020286  0x00004ddf store  0x00000001 , 0x00004251 
+ 00020287  0x00004de1 copy  0x0000000b , 0x00000005 
+ 00020288  0x00004de2 arg  0x00000051 , 0x0000000b 
+ 00020289  0x00004de3 fetch  0x00000002 , 0x0000424a 
+ 00020290  0x00004de4 copy  0x0000003f , 0x00000002 
+ 00020291  0x00004de6 bpatchx  0x00000013 , 0x00004022 
+ 00020292  0x00004de7 setarg  0x00000005 
+ 00020293  0x00004de8 istore  0x00000001 , 0x00000005 
+ 00020294  0x00004de9 copy  0x00000007 , 0x0000003f 
+ 00020295  0x00004dea istore  0x00000001 , 0x00000005 
+ 00020296  0x00004deb setarg  0x00000006 
+ 00020297  0x00004dec istore  0x00000002 , 0x00000005 
+ 00020298  0x00004ded copy  0x00000002 , 0x0000003f 
+ 00020299  0x00004dee istore  0x00000002 , 0x00000005 
+ 00020300  0x00004def force  0x00000000 , 0x0000003f 
+ 00020301  0x00004df0 istore  0x00000002 , 0x00000005 
+ 00020302  0x00004df1 force  0x00000000 , 0x0000003f 
+ 00020303  0x00004df2 istore  0x00000002 , 0x00000005 
+ 00020304  0x00004df3 force  0x0000000a , 0x0000003f 
+ 00020305  0x00004df4 iadd  0x00000012 , 0x00000012 
+ 00020306  0x00004df6 storet  0x00000002 , 0x00000282 
+ 00020307  0x00004df7 copy  0x00000007 , 0x0000003f 
+ 00020308  0x00004df8 store  0x00000001 , 0x00000281 
+ 00020309  0x00004df9 force  0x00000050 , 0x0000003f 
+ 00020310  0x00004dfa icompare  0x000000ff , 0x0000000b 
+ 00020311  0x00004dfb branch  0x00004f59 , 0x00000001 
+ 00020312  0x00004dfc increase  0x00000001 , 0x0000003f 
+ 00020313  0x00004dff rtn 
+ 00020314  0x00004e01 disable  0x00000028 
+ 00020315  0x00004e02 rtnbit1  0x00000002 , 0x0000003f 
+ 00020316  0x00004e03 rtnbit0  0x00000000 , 0x0000003f 
+ 00020317  0x00004e04 rtnbit0  0x00000001 , 0x0000003f 
+ 00020318  0x00004e05 set1  0x00000002 , 0x0000003f 
+ 00020319  0x00004e06 copy  0x00000006 , 0x00000005 
+ 00020320  0x00004e07 increase  0xffffffff , 0x00000005 
+ 00020321  0x00004e08 istore  0x00000001 , 0x00000005 
+ 00020322  0x00004e09 enable  0x00000028 
+ 00020323  0x00004e0a rtn 
+ 00020324  0x00004e0d fetch  0x00000001 , 0x00004250 
+ 00020325  0x00004e0e call  0x00004f5a 
+ 00020326  0x00004e0f nbranch  0x00004f6b , 0x00000028 
+ 00020327  0x00004e10 jam  0x00000050 , 0x00000280 
+ 00020328  0x00004e11 fetch  0x00000002 , 0x00004248 
+ 00020329  0x00004e12 store  0x00000002 , 0x00000282 
+ 00020330  0x00004e13 branch  0x00004f7f 
+ 00020331  0x00004e15 fetch  0x00000001 , 0x00004251 
+ 00020332  0x00004e16 call  0x00004f5a 
+ 00020333  0x00004e17 nbranch  0x00004f72 , 0x00000028 
+ 00020334  0x00004e18 jam  0x00000051 , 0x00000280 
+ 00020335  0x00004e19 fetch  0x00000002 , 0x0000424a 
+ 00020336  0x00004e1a store  0x00000002 , 0x00000282 
+ 00020337  0x00004e1b branch  0x00004f7f 
+ 00020338  0x00004e1d fetch  0x00000001 , 0x00004252 
+ 00020339  0x00004e1e call  0x00004f5a 
+ 00020340  0x00004e1f nbranch  0x00004f79 , 0x00000028 
+ 00020341  0x00004e20 jam  0x00000052 , 0x00000280 
+ 00020342  0x00004e21 fetch  0x00000002 , 0x0000424c 
+ 00020343  0x00004e22 store  0x00000002 , 0x00000282 
+ 00020344  0x00004e23 branch  0x00004f7f 
+ 00020345  0x00004e25 fetch  0x00000001 , 0x00004253 
+ 00020346  0x00004e26 call  0x00004f5a 
+ 00020347  0x00004e27 nrtn  0x00000028 
+ 00020348  0x00004e28 jam  0x00000053 , 0x00000280 
+ 00020349  0x00004e29 fetch  0x00000002 , 0x0000424e 
+ 00020350  0x00004e2a store  0x00000002 , 0x00000282 
+ 00020351  0x00004e2e bpatchx  0x00000014 , 0x00004022 
+ 00020352  0x00004e2f call  0x0000523a 
+ 00020353  0x00004e30 call  0x000052b8 
+ 00020354  0x00004e31 force  0x00000000 , 0x00000012 
+ 00020355  0x00004e32 call  0x000052c3 
+ 00020356  0x00004e33 force  0x00000004 , 0x0000003f 
+ 00020357  0x00004e34 istore  0x00000001 , 0x00000005 
+ 00020358  0x00004e35 fetch  0x00000001 , 0x00004255 
+ 00020359  0x00004e36 istore  0x00000001 , 0x00000005 
+ 00020360  0x00004e37 setarg  0x00000008 
+ 00020361  0x00004e38 istore  0x00000002 , 0x00000005 
+ 00020362  0x00004e39 fetch  0x00000002 , 0x00000282 
+ 00020363  0x00004e3a istore  0x00000002 , 0x00000005 
+ 00020364  0x00004e3b setarg  0x00000000 
+ 00020365  0x00004e3c istore  0x00000002 , 0x00000005 
+ 00020366  0x00004e3d force  0x00000001 , 0x0000003f 
+ 00020367  0x00004e3e istore  0x00000001 , 0x00000005 
+ 00020368  0x00004e3f force  0x00000002 , 0x0000003f 
+ 00020369  0x00004e40 istore  0x00000001 , 0x00000005 
+ 00020370  0x00004e41 fetch  0x00000001 , 0x00000280 
+ 00020371  0x00004e42 beq  0x00000051 , 0x00004f97 
+ 00020372  0x00004e43 setarg  0x00000030 
+ 00020373  0x00004e44 istore  0x00000002 , 0x00000005 
+ 00020374  0x00004e45 branch  0x00004f99 
+ 00020375  0x00004e47 setarg  0x000003e3 
+ 00020376  0x00004e48 istore  0x00000002 , 0x00000005 
+ 00020377  0x00004e4a arg  0x0000000c , 0x00000002 
+ 00020378  0x00004e4b storet  0x00000002 , 0x0000026f 
+ 00020379  0x00004e4c call  0x000052c1 
+ 00020380  0x00004e4d fetch  0x00000002 , 0x0000026f 
+ 00020381  0x00004e4e istore  0x00000002 , 0x00000005 
+ 00020382  0x00004e4f force  0x00000001 , 0x0000003f 
+ 00020383  0x00004e50 istore  0x00000002 , 0x00000005 
+ 00020384  0x00004e51 jam  0x00000000 , 0x00000280 
+ 00020385  0x00004e53 branch  0x00004e1e 
+ 00020386  0x00004e56 increase  0x00000001 , 0x00000006 
+ 00020387  0x00004e57 ifetch  0x00000002 , 0x00000006 
+ 00020388  0x00004e58 copy  0x0000003f , 0x00000011 
+ 00020389  0x00004e59 copy  0x00000013 , 0x0000003f 
+ 00020390  0x00004e5a isub  0x00000011 , 0x00000013 
+ 00020391  0x00004e5b ifetch  0x00000002 , 0x00000006 
+ 00020392  0x00004e5c copy  0x0000003f , 0x00000011 
+ 00020393  0x00004e5d bpatchx  0x00000015 , 0x00004022 
+ 00020394  0x00004e5e setarg  0x00000050 
+ 00020395  0x00004e5f isub  0x00000011 , 0x0000003e 
+ 00020396  0x00004e60 branch  0x00004fba , 0x00000005 
+ 00020397  0x00004e61 setarg  0x00000051 
+ 00020398  0x00004e62 isub  0x00000011 , 0x0000003e 
+ 00020399  0x00004e63 branch  0x00004fbe , 0x00000005 
+ 00020400  0x00004e64 setarg  0x00000052 
+ 00020401  0x00004e65 isub  0x00000011 , 0x0000003e 
+ 00020402  0x00004e66 branch  0x00004fc2 , 0x00000005 
+ 00020403  0x00004e67 setarg  0x00000053 
+ 00020404  0x00004e68 isub  0x00000011 , 0x0000003e 
+ 00020405  0x00004e69 branch  0x00004fc6 , 0x00000005 
+ 00020406  0x00004e6a increase  0x00000002 , 0x00000006 
+ 00020407  0x00004e6b ifetch  0x00000002 , 0x00000006 
+ 00020408  0x00004e6c iforce  0x0000003e 
+ 00020409  0x00004e6d branch  0x00004e1e 
+ 00020410  0x00004e6f fetch  0x00000001 , 0x00004250 
+ 00020411  0x00004e70 set1  0x00000005 , 0x0000003f 
+ 00020412  0x00004e71 store  0x00000001 , 0x00004250 
+ 00020413  0x00004e72 branch  0x00004e1e 
+ 00020414  0x00004e74 fetch  0x00000001 , 0x00004251 
+ 00020415  0x00004e75 set1  0x00000005 , 0x0000003f 
+ 00020416  0x00004e76 store  0x00000001 , 0x00004251 
+ 00020417  0x00004e77 branch  0x00004e1e 
+ 00020418  0x00004e79 fetch  0x00000001 , 0x00004252 
+ 00020419  0x00004e7a set1  0x00000005 , 0x0000003f 
+ 00020420  0x00004e7b store  0x00000001 , 0x00004252 
+ 00020421  0x00004e7c branch  0x00004e1e 
+ 00020422  0x00004e7e fetch  0x00000001 , 0x00004253 
+ 00020423  0x00004e7f set1  0x00000005 , 0x0000003f 
+ 00020424  0x00004e80 store  0x00000001 , 0x00004253 
+ 00020425  0x00004e81 jam  0x00000006 , 0x00000a99 
+ 00020426  0x00004e82 branch  0x00007d86 
+ 00020427  0x00004e87 ifetch  0x00000001 , 0x00000006 
+ 00020428  0x00004e88 copy  0x0000003f , 0x00000007 
+ 00020429  0x00004e89 ifetch  0x00000002 , 0x00000006 
+ 00020430  0x00004e8a copy  0x0000003f , 0x00000011 
+ 00020431  0x00004e8b copy  0x00000013 , 0x0000003f 
+ 00020432  0x00004e8c isub  0x00000011 , 0x00000013 
+ 00020433  0x00004e8d ifetch  0x00000002 , 0x00000006 
+ 00020434  0x00004e8e copy  0x0000003f , 0x00000011 
+ 00020435  0x00004e8f ifetch  0x00000002 , 0x00000006 
+ 00020436  0x00004e90 copy  0x0000003f , 0x0000000b 
+ 00020437  0x00004e91 copy  0x00000011 , 0x00000002 
+ 00020438  0x00004e92 call  0x00007ea8 
+ 00020439  0x00004e93 bpatchx  0x00000016 , 0x00004022 
+ 00020440  0x00004e94 setarg  0x00000050 
+ 00020441  0x00004e95 isub  0x00000002 , 0x0000003e 
+ 00020442  0x00004e96 branch  0x00004ff2 , 0x00000005 
+ 00020443  0x00004e97 setarg  0x00000051 
+ 00020444  0x00004e98 isub  0x00000002 , 0x0000003e 
+ 00020445  0x00004e99 branch  0x00005002 , 0x00000005 
+ 00020446  0x00004e9a setarg  0x00000052 
+ 00020447  0x00004e9b isub  0x00000002 , 0x0000003e 
+ 00020448  0x00004e9c branch  0x00004fe6 , 0x00000005 
+ 00020449  0x00004e9d setarg  0x00000053 
+ 00020450  0x00004e9e isub  0x00000002 , 0x0000003e 
+ 00020451  0x00004e9f branch  0x00004fec , 0x00000005 
+ 00020452  0x00004ea0 call  0x00005062 
+ 00020453  0x00004ea1 branch  0x00005017 
+ 00020454  0x00004ea3 copy  0x0000000b , 0x00000002 
+ 00020455  0x00004ea4 fetch  0x00000002 , 0x0000424c 
+ 00020456  0x00004ea5 isub  0x00000002 , 0x0000003e 
+ 00020457  0x00004ea6 branch  0x00004ff8 , 0x00000005 
+ 00020458  0x00004ea7 call  0x00005062 
+ 00020459  0x00004ea8 branch  0x00005017 
+ 00020460  0x00004eaa copy  0x0000000b , 0x00000002 
+ 00020461  0x00004eab fetch  0x00000002 , 0x0000424e 
+ 00020462  0x00004eac isub  0x00000002 , 0x0000003e 
+ 00020463  0x00004ead branch  0x00004ffa , 0x00000005 
+ 00020464  0x00004eae call  0x00005062 
+ 00020465  0x00004eaf branch  0x00005017 
+ 00020466  0x00004eb2 copy  0x0000000b , 0x00000002 
+ 00020467  0x00004eb3 fetch  0x00000002 , 0x00004248 
+ 00020468  0x00004eb4 isub  0x00000002 , 0x0000003e 
+ 00020469  0x00004eb5 branch  0x00004ffe , 0x00000005 
+ 00020470  0x00004eb6 call  0x00005062 
+ 00020471  0x00004eb7 branch  0x00005017 
+ 00020472  0x00004eb9 call  0x00005079 
+ 00020473  0x00004eba branch  0x0000500a 
+ 00020474  0x00004ebc call  0x0000507f 
+ 00020475  0x00004ebd fetch  0x00000002 , 0x0000424c 
+ 00020476  0x00004ebe branch  0x0000500a , 0x00000034 
+ 00020477  0x00004ec6 branch  0x0000500a 
+ 00020478  0x00004ec9 call  0x00005074 
+ 00020479  0x00004eca fetch  0x00000001 , 0x00000288 
+ 00020480  0x00004ecb nbranch  0x0000500a , 0x00000034 
+ 00020481  0x00004ece branch  0x0000500a 
+ 00020482  0x00004ed0 copy  0x0000000b , 0x00000002 
+ 00020483  0x00004ed1 fetch  0x00000002 , 0x0000424a 
+ 00020484  0x00004ed2 isub  0x00000002 , 0x0000003e 
+ 00020485  0x00004ed3 branch  0x00005008 , 0x00000005 
+ 00020486  0x00004ed4 call  0x00005062 
+ 00020487  0x00004ed5 branch  0x00005017 
+ 00020488  0x00004ed7 call  0x0000506f 
+ 00020489  0x00004ed8 branch  0x0000500a 
+ 00020490  0x00004eda call  0x00007ead 
+ 00020491  0x00004edb setarg  0x00000007 
+ 00020492  0x00004edc istore  0x00000001 , 0x00000005 
+ 00020493  0x00004edd copy  0x00000007 , 0x0000003f 
+ 00020494  0x00004ede istore  0x00000001 , 0x00000005 
+ 00020495  0x00004edf setarg  0x00000004 
+ 00020496  0x00004ee0 istore  0x00000002 , 0x00000005 
+ 00020497  0x00004ee1 copy  0x00000011 , 0x0000003f 
+ 00020498  0x00004ee2 istore  0x00000002 , 0x00000005 
+ 00020499  0x00004ee3 copy  0x0000000b , 0x0000003f 
+ 00020500  0x00004ee4 istore  0x00000002 , 0x00000005 
+ 00020501  0x00004ee5 force  0x00000008 , 0x0000003f 
+ 00020502  0x00004ee6 branch  0x00005019 
+ 00020503  0x00004ee8 call  0x00007ead 
+ 00020504  0x00004ee9 branch  0x00005019 
+ 00020505  0x00004eeb iadd  0x00000012 , 0x00000012 
+ 00020506  0x00004eec branch  0x00004e1e 
+ 00020507  0x00004eee ifetch  0x00000001 , 0x00000006 
+ 00020508  0x00004eef copy  0x0000003f , 0x00000007 
+ 00020509  0x00004ef0 ifetch  0x00000002 , 0x00000006 
+ 00020510  0x00004ef1 copy  0x0000003f , 0x00000011 
+ 00020511  0x00004ef2 copy  0x00000013 , 0x0000003f 
+ 00020512  0x00004ef3 isub  0x00000011 , 0x00000013 
+ 00020513  0x00004ef4 ifetch  0x00000002 , 0x00000006 
+ 00020514  0x00004ef5 copy  0x0000003f , 0x0000000b 
+ 00020515  0x00004ef6 ifetch  0x00000002 , 0x00000006 
+ 00020516  0x00004ef7 copy  0x0000003f , 0x00000002 
+ 00020517  0x00004ef8 call  0x00007ea8 
+ 00020518  0x00004ef9 bpatchx  0x00000017 , 0x00004022 
+ 00020519  0x00004efa setarg  0x00000050 
+ 00020520  0x00004efb isub  0x00000002 , 0x0000003e 
+ 00020521  0x00004efc branch  0x00005035 , 0x00000005 
+ 00020522  0x00004efd setarg  0x00000051 
+ 00020523  0x00004efe isub  0x00000002 , 0x0000003e 
+ 00020524  0x00004eff branch  0x0000503b , 0x00000005 
+ 00020525  0x00004f00 setarg  0x00000052 
+ 00020526  0x00004f01 isub  0x00000002 , 0x0000003e 
+ 00020527  0x00004f02 branch  0x00005041 , 0x00000005 
+ 00020528  0x00004f03 setarg  0x00000053 
+ 00020529  0x00004f04 isub  0x00000002 , 0x0000003e 
+ 00020530  0x00004f05 branch  0x00005047 , 0x00000005 
+ 00020531  0x00004f06 call  0x00005062 
+ 00020532  0x00004f07 branch  0x0000504f 
+ 00020533  0x00004f09 copy  0x00000002 , 0x00000011 
+ 00020534  0x00004f0a copy  0x0000000b , 0x00000002 
+ 00020535  0x00004f0b fetch  0x00000002 , 0x00004248 
+ 00020536  0x00004f0c isub  0x00000002 , 0x0000003e 
+ 00020537  0x00004f0d call  0x00005074 , 0x00000005 
+ 00020538  0x00004f0e branch  0x0000504d 
+ 00020539  0x00004f10 copy  0x00000002 , 0x00000011 
+ 00020540  0x00004f11 copy  0x0000000b , 0x00000002 
+ 00020541  0x00004f12 fetch  0x00000002 , 0x0000424a 
+ 00020542  0x00004f13 isub  0x00000002 , 0x0000003e 
+ 00020543  0x00004f14 call  0x0000506f , 0x00000005 
+ 00020544  0x00004f15 branch  0x0000504d 
+ 00020545  0x00004f17 copy  0x00000002 , 0x00000011 
+ 00020546  0x00004f18 copy  0x0000000b , 0x00000002 
+ 00020547  0x00004f19 fetch  0x00000002 , 0x0000424c 
+ 00020548  0x00004f1a isub  0x00000002 , 0x0000003e 
+ 00020549  0x00004f1b call  0x00005079 , 0x00000005 
+ 00020550  0x00004f1c branch  0x0000504d 
+ 00020551  0x00004f1e copy  0x00000002 , 0x00000011 
+ 00020552  0x00004f1f copy  0x0000000b , 0x00000002 
+ 00020553  0x00004f20 fetch  0x00000002 , 0x0000424e 
+ 00020554  0x00004f21 isub  0x00000002 , 0x0000003e 
+ 00020555  0x00004f22 call  0x0000507f , 0x00000005 
+ 00020556  0x00004f23 branch  0x0000504d 
+ 00020557  0x00004f25 call  0x00007ead 
+ 00020558  0x00004f26 branch  0x00004e1e 
+ 00020559  0x00004f28 branch  0x00004e1e 
+ 00020560  0x00004f2c ifetch  0x00000001 , 0x00000006 
+ 00020561  0x00004f2d copy  0x0000003f , 0x00000007 
+ 00020562  0x00004f2e ifetch  0x00000002 , 0x00000006 
+ 00020563  0x00004f2f copy  0x0000003f , 0x00000011 
+ 00020564  0x00004f30 iadd  0x00000006 , 0x00000006 
+ 00020565  0x00004f31 setarg  0x00000009 
+ 00020566  0x00004f32 istore  0x00000001 , 0x00000005 
+ 00020567  0x00004f33 copy  0x00000007 , 0x0000003f 
+ 00020568  0x00004f34 istore  0x00000001 , 0x00000005 
+ 00020569  0x00004f35 force  0x00000000 , 0x0000003f 
+ 00020570  0x00004f36 istore  0x00000002 , 0x00000005 
+ 00020571  0x00004f37 force  0x00000004 , 0x0000003f 
+ 00020572  0x00004f38 iadd  0x00000012 , 0x00000012 
+ 00020573  0x00004f39 copy  0x00000013 , 0x0000003f 
+ 00020574  0x00004f3a isub  0x00000011 , 0x00000013 
+ 00020575  0x00004f3b branch  0x00004e1e 
+ 00020576  0x00004f3d branch  0x00004e1e 
+ 00020577  0x00004f40 branch  0x00004e1e 
+ 00020578  0x00004f42 force  0x00000000 , 0x00000012 
+ 00020579  0x00004f43 call  0x000052c3 
+ 00020580  0x00004f44 setarg  0x00000001 
+ 00020581  0x00004f45 istore  0x00000001 , 0x00000005 
+ 00020582  0x00004f46 copy  0x00000007 , 0x0000003f 
+ 00020583  0x00004f47 istore  0x00000001 , 0x00000005 
+ 00020584  0x00004f48 setarg  0x00000002 
+ 00020585  0x00004f49 istore  0x00000002 , 0x00000005 
+ 00020586  0x00004f4a setarg  0x00000000 
+ 00020587  0x00004f4b istore  0x00000002 , 0x00000005 
+ 00020588  0x00004f4c increase  0x00000006 , 0x00000012 
+ 00020589  0x00004f4d arg  0x00000004 , 0x00000013 
+ 00020590  0x00004f4e branch  0x00004e1e 
+ 00020591  0x00004f53 setarg  0x00000000 
+ 00020592  0x00004f54 store  0x00000002 , 0x0000027b 
+ 00020593  0x00004f55 store  0x00000002 , 0x0000424a 
+ 00020594  0x00004f56 jam  0x00000000 , 0x00004251 
+ 00020595  0x00004f57 rtn 
+ 00020596  0x00004f59 setarg  0x00000000 
+ 00020597  0x00004f5a store  0x00000002 , 0x00000275 
+ 00020598  0x00004f5b store  0x00000002 , 0x00004248 
+ 00020599  0x00004f5c jam  0x00000000 , 0x00004250 
+ 00020600  0x00004f5d rtn 
+ 00020601  0x00004f5f setarg  0x00000000 
+ 00020602  0x00004f60 store  0x00000002 , 0x0000424c 
+ 00020603  0x00004f61 jam  0x00000000 , 0x00004252 
+ 00020604  0x00004f62 fetch  0x00000001 , 0x00004253 
+ 00020605  0x00004f63 beq  0x00000000 , 0x00005085 
+ 00020606  0x00004f64 rtn 
+ 00020607  0x00004f67 setarg  0x00000000 
+ 00020608  0x00004f68 store  0x00000002 , 0x0000424e 
+ 00020609  0x00004f69 jam  0x00000000 , 0x00004253 
+ 00020610  0x00004f6a fetch  0x00000001 , 0x00004252 
+ 00020611  0x00004f6b beq  0x00000000 , 0x00005085 
+ 00020612  0x00004f6c rtn 
+ 00020613  0x00004f6f jam  0x00000007 , 0x00000a99 
+ 00020614  0x00004f70 branch  0x00007d86 
+ 00020615  0x00004f73 fetch  0x00000001 , 0x0000027f 
+ 00020616  0x00004f74 set0  0x00000000 , 0x0000003f 
+ 00020617  0x00004f75 store  0x00000001 , 0x0000027f 
+ 00020618  0x00004f76 fetch  0x00000002 , 0x0000424e 
+ 00020619  0x00004f77 rtn  0x00000034 
+ 00020620  0x00004f78 call  0x000052b8 
+ 00020621  0x00004f79 fetch  0x00000002 , 0x0000424e 
+ 00020622  0x00004f7a copy  0x0000003f , 0x00000011 
+ 00020623  0x00004f7b force  0x00000053 , 0x00000012 
+ 00020624  0x00004f7c branch  0x0000509a 
+ 00020625  0x00004f7e fetch  0x00000001 , 0x0000027f 
+ 00020626  0x00004f7f set0  0x00000007 , 0x0000003f 
+ 00020627  0x00004f80 store  0x00000001 , 0x0000027f 
+ 00020628  0x00004f81 fetch  0x00000002 , 0x0000424c 
+ 00020629  0x00004f82 rtn  0x00000034 
+ 00020630  0x00004f83 call  0x000052b8 
+ 00020631  0x00004f84 fetch  0x00000002 , 0x0000424c 
+ 00020632  0x00004f85 copy  0x0000003f , 0x00000011 
+ 00020633  0x00004f86 force  0x00000052 , 0x00000012 
+ 00020634  0x00004f88 call  0x0000523a 
+ 00020635  0x00004f89 call  0x000052c3 
+ 00020636  0x00004f8a force  0x00000006 , 0x0000003f 
+ 00020637  0x00004f8b istore  0x00000001 , 0x00000005 
+ 00020638  0x00004f8c fetch  0x00000001 , 0x00004255 
+ 00020639  0x00004f8d istore  0x00000001 , 0x00000005 
+ 00020640  0x00004f8e setarg  0x00000004 
+ 00020641  0x00004f8f istore  0x00000002 , 0x00000005 
+ 00020642  0x00004f90 copy  0x00000011 , 0x0000003f 
+ 00020643  0x00004f91 istore  0x00000002 , 0x00000005 
+ 00020644  0x00004f92 copy  0x00000012 , 0x0000003f 
+ 00020645  0x00004f93 istore  0x00000002 , 0x00000005 
+ 00020646  0x00004f94 force  0x00000008 , 0x00000002 
+ 00020647  0x00004f95 branch  0x000050de 
+ 00020648  0x00004f98 bpatchx  0x00000018 , 0x00004023 
+ 00020649  0x00004f99 call  0x0000523a 
+ 00020650  0x00004f9a call  0x000052c3 
+ 00020651  0x00004f9b setarg  0x00000002 
+ 00020652  0x00004f9c istore  0x00000001 , 0x00000005 
+ 00020653  0x00004f9d fetch  0x00000001 , 0x00004255 
+ 00020654  0x00004f9e istore  0x00000001 , 0x00000005 
+ 00020655  0x00004f9f setarg  0x00000004 
+ 00020656  0x00004fa0 istore  0x00000002 , 0x00000005 
+ 00020657  0x00004fa1 copy  0x00000002 , 0x0000003f 
+ 00020658  0x00004fa2 istore  0x00000002 , 0x00000005 
+ 00020659  0x00004fa3 copy  0x0000000b , 0x0000003f 
+ 00020660  0x00004fa4 istore  0x00000002 , 0x00000005 
+ 00020661  0x00004fa5 arg  0x00000008 , 0x00000002 
+ 00020662  0x00004fa6 branch  0x000050de 
+ 00020663  0x00004fa8 bpatchx  0x00000019 , 0x00004023 
+ 00020664  0x00004fa9 call  0x0000523a 
+ 00020665  0x00004faa call  0x000052c3 
+ 00020666  0x00004fab setarg  0x00000004 
+ 00020667  0x00004fac istore  0x00000001 , 0x00000005 
+ 00020668  0x00004fad fetch  0x00000001 , 0x00004255 
+ 00020669  0x00004fae istore  0x00000001 , 0x00000005 
+ 00020670  0x00004faf setarg  0x00000008 
+ 00020671  0x00004fb0 istore  0x00000002 , 0x00000005 
+ 00020672  0x00004fb2 copy  0x00000002 , 0x0000003f 
+ 00020673  0x00004fb4 istore  0x00000002 , 0x00000005 
+ 00020674  0x00004fb5 setarg  0x00000000 
+ 00020675  0x00004fb6 istore  0x00000002 , 0x00000005 
+ 00020676  0x00004fb7 setarg  0x00000001 
+ 00020677  0x00004fb8 istore  0x00000001 , 0x00000005 
+ 00020678  0x00004fb9 setarg  0x00000002 
+ 00020679  0x00004fba istore  0x00000001 , 0x00000005 
+ 00020680  0x00004fbb setarg  0x000003e3 
+ 00020681  0x00004fbc istore  0x00000002 , 0x00000005 
+ 00020682  0x00004fbd arg  0x0000000c , 0x00000002 
+ 00020683  0x00004fbe branch  0x000050de 
+ 00020684  0x00004fc0 bpatchx  0x0000001a , 0x00004023 
+ 00020685  0x00004fc1 call  0x0000523a 
+ 00020686  0x00004fc2 call  0x000052c3 
+ 00020687  0x00004fc3 setarg  0x00000006 
+ 00020688  0x00004fc4 istore  0x00000001 , 0x00000005 
+ 00020689  0x00004fc5 fetch  0x00000001 , 0x00004255 
+ 00020690  0x00004fc6 increase  0x00000001 , 0x0000003f 
+ 00020691  0x00004fc7 copy  0x00000005 , 0x00000011 
+ 00020692  0x00004fc8 store  0x00000001 , 0x00004255 
+ 00020693  0x00004fc9 copy  0x00000011 , 0x00000005 
+ 00020694  0x00004fca istore  0x00000001 , 0x00000005 
+ 00020695  0x00004fcb setarg  0x00000004 
+ 00020696  0x00004fcc istore  0x00000002 , 0x00000005 
+ 00020697  0x00004fcd copy  0x00000002 , 0x0000003f 
+ 00020698  0x00004fce istore  0x00000002 , 0x00000005 
+ 00020699  0x00004fcf copy  0x0000000b , 0x0000003f 
+ 00020700  0x00004fd0 istore  0x00000002 , 0x00000005 
+ 00020701  0x00004fd1 arg  0x00000008 , 0x00000002 
+ 00020702  0x00004fd5 storet  0x00000002 , 0x0000026f 
+ 00020703  0x00004fd6 copy  0x00000002 , 0x0000003f 
+ 00020704  0x00004fd7 branch  0x00005264 , 0x00000034 
+ 00020705  0x00004fd8 call  0x000052c1 
+ 00020706  0x00004fd9 fetch  0x00000002 , 0x0000026f 
+ 00020707  0x00004fda istore  0x00000002 , 0x00000005 
+ 00020708  0x00004fdb force  0x00000001 , 0x0000003f 
+ 00020709  0x00004fdc istore  0x00000002 , 0x00000005 
+ 00020710  0x00004fdd rtn 
+ 00020711  0x00004fe0 fetch  0x00000002 , 0x00000275 
+ 00020712  0x00004fe1 branch  0x00002a8c , 0x00000034 
+ 00020713  0x00004fe2 call  0x000052ce 
+ 00020714  0x00004fe3 fetch  0x00000002 , 0x00000275 
+ 00020715  0x00004fe4 istore  0x00000002 , 0x00000005 
+ 00020716  0x00004fe5 fetch  0x00000002 , 0x00004248 
+ 00020717  0x00004fe6 istore  0x00000002 , 0x00000005 
+ 00020718  0x00004fe7 rtn 
+ 00020719  0x00004fe9 fetch  0x00000002 , 0x00000266 
+ 00020720  0x00004fea branch  0x00004dfc , 0x00000034 
+ 00020721  0x00004feb bpatchx  0x0000001b , 0x00004023 
+ 00020722  0x00004fec fetch  0x00000001 , 0x00000268 
+ 00020723  0x00004fed beq  0x00000001 , 0x000050f9 
+ 00020724  0x00004fee beq  0x00000050 , 0x00004de8 
+ 00020725  0x00004fef beq  0x00000051 , 0x00004df5 
+ 00020726  0x00004ff0 beq  0x00000052 , 0x00004df3 
+ 00020727  0x00004ff1 beq  0x00000053 , 0x00004df3 
+ 00020728  0x00004ff2 branch  0x00004dfc 
+ 00020729  0x00004ff5 bpatchx  0x0000001c , 0x00004023 
+ 00020730  0x00004ff6 call  0x000052b8 
+ 00020731  0x00004ff7 force  0x00000000 , 0x00000012 
+ 00020732  0x00004ff8 call  0x000052c3 
+ 00020733  0x00004ff9 copy  0x0000003f , 0x00000005 
+ 00020734  0x00004ffa fetch  0x00000002 , 0x00000266 
+ 00020735  0x00004ffb copy  0x0000003f , 0x00000013 
+ 00020736  0x00004ffc fetch  0x00000002 , 0x00000264 
+ 00020737  0x00004ffd iforce  0x00000006 
+ 00020738  0x00004fff call  0x00005108 
+ 00020739  0x00005000 increase  0xfffffffc , 0x00000013 
+ 00020740  0x00005001 nbranch  0x00005102 , 0x00000005 
+ 00020741  0x00005002 copy  0x00000012 , 0x00000002 
+ 00020742  0x00005003 call  0x000050de 
+ 00020743  0x00005004 branch  0x00004dfc 
+ 00020744  0x00005007 ifetch  0x00000001 , 0x00000006 
+ 00020745  0x00005008 beq  0x00000002 , 0x00005113 
+ 00020746  0x00005009 beq  0x00000001 , 0x00005116 
+ 00020747  0x0000500a beq  0x00000003 , 0x00005120 
+ 00020748  0x0000500b beq  0x00000005 , 0x0000515c 
+ 00020749  0x0000500c beq  0x00000004 , 0x0000518e 
+ 00020750  0x0000500d beq  0x00000007 , 0x00005213 
+ 00020751  0x0000500e beq  0x00000006 , 0x000051e1 
+ 00020752  0x0000500f beq  0x00000008 , 0x00005050 
+ 00020753  0x00005010 beq  0x0000000a , 0x00004e3a 
+ 00020754  0x00005011 branch  0x0000522e 
+ 00020755  0x00005014 call  0x00007ea8 
+ 00020756  0x00005016 call  0x00007ead 
+ 00020757  0x00005017 branch  0x00004e51 
+ 00020758  0x00005019 ifetch  0x00000001 , 0x00000006 
+ 00020759  0x0000501a copy  0x0000003f , 0x00000007 
+ 00020760  0x0000501b ifetch  0x00000002 , 0x00000006 
+ 00020761  0x0000501c copy  0x0000003f , 0x00000011 
+ 00020762  0x0000501d copy  0x00000013 , 0x0000003f 
+ 00020763  0x0000501e isub  0x00000011 , 0x00000013 
+ 00020764  0x00005020 ifetch  0x00000001 , 0x00000006 
+ 00020765  0x00005021 increase  0xffffffff , 0x00000011 
+ 00020766  0x00005022 nbranch  0x0000511c , 0x00000005 
+ 00020767  0x00005023 rtn 
+ 00020768  0x00005025 ifetch  0x00000001 , 0x00000006 
+ 00020769  0x00005026 copy  0x0000003f , 0x00000007 
+ 00020770  0x00005027 ifetch  0x00000002 , 0x00000006 
+ 00020771  0x00005028 copy  0x0000003f , 0x00000011 
+ 00020772  0x00005029 ifetch  0x00000002 , 0x00000006 
+ 00020773  0x0000502a copy  0x0000003f , 0x0000000b 
+ 00020774  0x0000502b ifetch  0x00000002 , 0x00000006 
+ 00020775  0x0000502c copy  0x0000003f , 0x00000002 
+ 00020776  0x0000502d ifetch  0x00000002 , 0x00000006 
+ 00020777  0x0000502e sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00020778  0x0000502f branch  0x00005132 , 0x00000005 
+ 00020779  0x00005030 beq  0x00000002 , 0x0000512e 
+ 00020780  0x00005031 beq  0x00000004 , 0x0000512e 
+ 00020781  0x00005032 branch  0x00005130 
+ 00020782  0x00005034 jam  0x00000016 , 0x00000a99 
+ 00020783  0x00005035 call  0x00007d86 
+ 00020784  0x00005037 ifetch  0x00000002 , 0x00000006 
+ 00020785  0x00005038 branch  0x00005159 
+ 00020786  0x0000503a call  0x00007ea8 
+ 00020787  0x0000503e bpatchx  0x0000001d , 0x00004023 
+ 00020788  0x0000503f setarg  0x00000050 
+ 00020789  0x00005040 isub  0x00000002 , 0x0000003e 
+ 00020790  0x00005041 branch  0x00005141 , 0x00000005 
+ 00020791  0x00005042 setarg  0x00000051 
+ 00020792  0x00005043 isub  0x00000002 , 0x0000003e 
+ 00020793  0x00005044 branch  0x00005147 , 0x00000005 
+ 00020794  0x00005045 setarg  0x00000053 
+ 00020795  0x00005046 isub  0x00000002 , 0x0000003e 
+ 00020796  0x00005047 branch  0x00005153 , 0x00000005 
+ 00020797  0x00005048 setarg  0x00000052 
+ 00020798  0x00005049 isub  0x00000002 , 0x0000003e 
+ 00020799  0x0000504a branch  0x0000514d , 0x00000005 
+ 00020800  0x0000504b branch  0x00005159 
+ 00020801  0x0000504d copy  0x0000000b , 0x0000003f 
+ 00020802  0x0000504e store  0x00000002 , 0x00004248 
+ 00020803  0x0000504f fetch  0x00000001 , 0x00004250 
+ 00020804  0x00005050 set1  0x00000001 
+ 00020805  0x00005051 store  0x00000001 , 0x00004250 
+ 00020806  0x00005052 branch  0x00005158 
+ 00020807  0x00005054 copy  0x0000000b , 0x0000003f 
+ 00020808  0x00005055 store  0x00000002 , 0x0000424a 
+ 00020809  0x00005056 fetch  0x00000001 , 0x00004251 
+ 00020810  0x00005057 set1  0x00000001 
+ 00020811  0x00005058 store  0x00000001 , 0x00004251 
+ 00020812  0x00005059 branch  0x00005158 
+ 00020813  0x0000505b copy  0x0000000b , 0x0000003f 
+ 00020814  0x0000505c store  0x00000002 , 0x0000424c 
+ 00020815  0x0000505d fetch  0x00000001 , 0x00004252 
+ 00020816  0x0000505e set1  0x00000001 
+ 00020817  0x0000505f store  0x00000001 , 0x00004252 
+ 00020818  0x00005060 branch  0x00005158 
+ 00020819  0x00005062 copy  0x0000000b , 0x0000003f 
+ 00020820  0x00005063 store  0x00000002 , 0x0000424e 
+ 00020821  0x00005064 fetch  0x00000001 , 0x00004253 
+ 00020822  0x00005065 set1  0x00000001 
+ 00020823  0x00005066 store  0x00000001 , 0x00004253 
+ 00020824  0x0000506a call  0x00007ead 
+ 00020825  0x0000506c copy  0x00000013 , 0x0000003f 
+ 00020826  0x0000506d isub  0x00000011 , 0x00000013 
+ 00020827  0x0000506e rtn 
+ 00020828  0x00005071 ifetch  0x00000001 , 0x00000006 
+ 00020829  0x00005072 copy  0x0000003f , 0x00000007 
+ 00020830  0x00005073 ifetch  0x00000002 , 0x00000006 
+ 00020831  0x00005074 copy  0x0000003f , 0x00000011 
+ 00020832  0x00005075 copy  0x00000013 , 0x0000003f 
+ 00020833  0x00005076 isub  0x00000011 , 0x00000013 
+ 00020834  0x00005077 ifetch  0x00000002 , 0x00000006 
+ 00020835  0x00005078 copy  0x0000003f , 0x0000000b 
+ 00020836  0x00005079 ifetch  0x00000002 , 0x00000006 
+ 00020837  0x0000507a ifetch  0x00000002 , 0x00000006 
+ 00020838  0x0000507b nbranch  0x00005188 , 0x00000034 
+ 00020839  0x0000507c call  0x00007ea8 
+ 00020840  0x00005080 copy  0x0000000b , 0x00000002 
+ 00020841  0x00005081 bpatchx  0x0000001e , 0x00004023 
+ 00020842  0x00005082 setarg  0x00000050 
+ 00020843  0x00005083 isub  0x00000002 , 0x0000003e 
+ 00020844  0x00005084 branch  0x00005176 , 0x00000005 
+ 00020845  0x00005085 setarg  0x00000051 
+ 00020846  0x00005086 isub  0x00000002 , 0x0000003e 
+ 00020847  0x00005087 branch  0x0000517a , 0x00000005 
+ 00020848  0x00005088 setarg  0x00000052 
+ 00020849  0x00005089 isub  0x00000002 , 0x0000003e 
+ 00020850  0x0000508a branch  0x0000517e , 0x00000005 
+ 00020851  0x0000508b setarg  0x00000053 
+ 00020852  0x0000508c isub  0x00000002 , 0x0000003e 
+ 00020853  0x0000508d branch  0x00005182 , 0x00000005 
+ 00020854  0x0000508f fetch  0x00000001 , 0x00004250 
+ 00020855  0x00005090 set1  0x00000005 
+ 00020856  0x00005091 store  0x00000001 , 0x00004250 
+ 00020857  0x00005092 rtn 
+ 00020858  0x00005094 fetch  0x00000001 , 0x00004251 
+ 00020859  0x00005095 set1  0x00000005 
+ 00020860  0x00005096 store  0x00000001 , 0x00004251 
+ 00020861  0x00005097 rtn 
+ 00020862  0x00005099 fetch  0x00000001 , 0x00004252 
+ 00020863  0x0000509a set1  0x00000005 
+ 00020864  0x0000509b store  0x00000001 , 0x00004252 
+ 00020865  0x0000509c rtn 
+ 00020866  0x0000509e fetch  0x00000001 , 0x00004253 
+ 00020867  0x0000509f set1  0x00000005 
+ 00020868  0x000050a0 store  0x00000001 , 0x00004253 
+ 00020869  0x000050a1 jam  0x00000006 , 0x00000a99 
+ 00020870  0x000050a2 branch  0x00007d86 
+ 00020871  0x000050a6 call  0x00007ead 
+ 00020872  0x000050a8 increase  0xfffffffa , 0x00000011 
+ 00020873  0x000050aa branch  0x0000518d , 0x00000005 
+ 00020874  0x000050ab increase  0x00000001 , 0x00000006 
+ 00020875  0x000050ac increase  0xffffffff , 0x00000011 
+ 00020876  0x000050ad branch  0x00005189 
+ 00020877  0x000050af rtn 
+ 00020878  0x000050b1 ifetch  0x00000001 , 0x00000006 
+ 00020879  0x000050b2 copy  0x0000003f , 0x00000007 
+ 00020880  0x000050b3 ifetch  0x00000002 , 0x00000006 
+ 00020881  0x000050b4 copy  0x0000003f , 0x00000011 
+ 00020882  0x000050b5 copy  0x00000013 , 0x0000003f 
+ 00020883  0x000050b6 isub  0x00000011 , 0x00000013 
+ 00020884  0x000050b7 ifetch  0x00000002 , 0x00000006 
+ 00020885  0x000050b8 increase  0x00000002 , 0x00000006 
+ 00020886  0x000050b9 copy  0x0000003f , 0x00000002 
+ 00020887  0x000050ba setarg  0x00000005 
+ 00020888  0x000050bb istore  0x00000001 , 0x00000005 
+ 00020889  0x000050bc copy  0x00000007 , 0x0000003f 
+ 00020890  0x000050bd istore  0x00000001 , 0x00000005 
+ 00020891  0x000050be increase  0x00000002 , 0x00000011 
+ 00020892  0x000050bf copy  0x00000011 , 0x0000003f 
+ 00020893  0x000050c0 istore  0x00000002 , 0x00000005 
+ 00020894  0x000050c1 call  0x00007ea8 
+ 00020895  0x000050c2 bpatchx  0x0000001f , 0x00004023 
+ 00020896  0x000050c3 setarg  0x00000050 
+ 00020897  0x000050c4 isub  0x00000002 , 0x0000003e 
+ 00020898  0x000050c5 branch  0x000051ad , 0x00000005 
+ 00020899  0x000050c6 setarg  0x00000051 
+ 00020900  0x000050c7 isub  0x00000002 , 0x0000003e 
+ 00020901  0x000050c8 branch  0x000051be , 0x00000005 
+ 00020902  0x000050c9 setarg  0x00000052 
+ 00020903  0x000050ca isub  0x00000002 , 0x0000003e 
+ 00020904  0x000050cb branch  0x000051c4 , 0x00000005 
+ 00020905  0x000050cc setarg  0x00000053 
+ 00020906  0x000050cd isub  0x00000002 , 0x0000003e 
+ 00020907  0x000050ce branch  0x000051ca , 0x00000005 
+ 00020908  0x000050cf branch  0x000051cf 
+ 00020909  0x000050d1 fetch  0x00000001 , 0x00004250 
+ 00020910  0x000050d2 set1  0x00000004 , 0x0000003f 
+ 00020911  0x000050d3 set1  0x00000003 , 0x0000003f 
+ 00020912  0x000050d4 store  0x00000001 , 0x00004250 
+ 00020913  0x000050d5 bbit1  0x00000002 , 0x000051bb 
+ 00020914  0x000050d6 fetcht  0x00000001 , 0x0000027f 
+ 00020915  0x000050d7 set1  0x00000006 , 0x00000002 
+ 00020916  0x000050d8 storet  0x00000001 , 0x0000027f 
+ 00020917  0x000050d9 copy  0x00000007 , 0x0000003f 
+ 00020918  0x000050da increase  0x00000001 , 0x0000003f 
+ 00020919  0x000050db store  0x00000001 , 0x00000281 
+ 00020920  0x000050dc fetch  0x00000001 , 0x00004250 
+ 00020921  0x000050dd set1  0x00000002 , 0x0000003f 
+ 00020922  0x000050de store  0x00000001 , 0x00004250 
+ 00020923  0x000050e0 fetch  0x00000002 , 0x00004248 
+ 00020924  0x000050e1 store  0x00000002 , 0x00000282 
+ 00020925  0x000050e2 branch  0x000051cf 
+ 00020926  0x000050e4 fetch  0x00000001 , 0x00004251 
+ 00020927  0x000050e5 set1  0x00000004 , 0x0000003f 
+ 00020928  0x000050e6 set1  0x00000003 , 0x0000003f 
+ 00020929  0x000050e7 store  0x00000001 , 0x00004251 
+ 00020930  0x000050e8 fetch  0x00000002 , 0x0000424a 
+ 00020931  0x000050e9 branch  0x000051cf 
+ 00020932  0x000050eb fetch  0x00000001 , 0x00004252 
+ 00020933  0x000050ec set1  0x00000004 , 0x0000003f 
+ 00020934  0x000050ed set1  0x00000003 , 0x0000003f 
+ 00020935  0x000050ee store  0x00000001 , 0x00004252 
+ 00020936  0x000050ef fetch  0x00000002 , 0x0000424c 
+ 00020937  0x000050f0 branch  0x000051cf 
+ 00020938  0x000050f2 fetch  0x00000001 , 0x00004253 
+ 00020939  0x000050f3 set1  0x00000004 , 0x0000003f 
+ 00020940  0x000050f4 set1  0x00000003 , 0x0000003f 
+ 00020941  0x000050f5 store  0x00000001 , 0x00004253 
+ 00020942  0x000050f6 fetch  0x00000002 , 0x0000424e 
+ 00020943  0x000050fa copy  0x0000003f , 0x0000000b 
+ 00020944  0x000050fb call  0x00007ead 
+ 00020945  0x000050fd copy  0x0000000b , 0x0000003f 
+ 00020946  0x000050ff istore  0x00000002 , 0x00000005 
+ 00020947  0x00005100 force  0x00000000 , 0x0000003f 
+ 00020948  0x00005101 istore  0x00000002 , 0x00000005 
+ 00020949  0x00005102 force  0x00000000 , 0x0000003f 
+ 00020950  0x00005103 istore  0x00000002 , 0x00000005 
+ 00020951  0x00005104 force  0x0000000a , 0x0000003f 
+ 00020952  0x00005105 iadd  0x00000012 , 0x00000012 
+ 00020953  0x00005106 increase  0xfffffffa , 0x00000011 
+ 00020954  0x00005108 branch  0x000051e0 , 0x00000005 
+ 00020955  0x00005109 ifetch  0x00000001 , 0x00000006 
+ 00020956  0x0000510a istore  0x00000001 , 0x00000005 
+ 00020957  0x0000510b increase  0x00000001 , 0x00000012 
+ 00020958  0x0000510c increase  0xffffffff , 0x00000011 
+ 00020959  0x0000510d branch  0x000051da 
+ 00020960  0x0000510f rtn 
+ 00020961  0x00005111 ifetch  0x00000001 , 0x00000006 
+ 00020962  0x00005112 copy  0x0000003f , 0x00000007 
+ 00020963  0x00005113 ifetch  0x00000002 , 0x00000006 
+ 00020964  0x00005114 copy  0x0000003f , 0x00000011 
+ 00020965  0x00005115 copy  0x00000013 , 0x0000003f 
+ 00020966  0x00005116 isub  0x00000011 , 0x00000013 
+ 00020967  0x00005118 ifetch  0x00000002 , 0x00000006 
+ 00020968  0x00005119 copy  0x0000003f , 0x00000011 
+ 00020969  0x0000511a ifetch  0x00000002 , 0x00000006 
+ 00020970  0x0000511b copy  0x0000003f , 0x0000000b 
+ 00020971  0x0000511c call  0x00007ea8 
+ 00020972  0x0000511d bpatchx  0x00000020 , 0x00004024 
+ 00020973  0x0000511e setarg  0x00000050 
+ 00020974  0x0000511f copy  0x00000011 , 0x00000002 
+ 00020975  0x00005120 isub  0x00000002 , 0x0000003e 
+ 00020976  0x00005121 branch  0x000051fa , 0x00000005 
+ 00020977  0x00005122 setarg  0x00000052 
+ 00020978  0x00005123 copy  0x00000011 , 0x00000002 
+ 00020979  0x00005124 isub  0x00000002 , 0x0000003e 
+ 00020980  0x00005125 branch  0x000051ff , 0x00000005 
+ 00020981  0x00005126 setarg  0x00000053 
+ 00020982  0x00005127 copy  0x00000011 , 0x00000002 
+ 00020983  0x00005128 isub  0x00000002 , 0x0000003e 
+ 00020984  0x00005129 branch  0x00005201 , 0x00000005 
+ 00020985  0x0000512a branch  0x00005203 
+ 00020986  0x0000512c setarg  0x00000000 
+ 00020987  0x0000512d store  0x00000002 , 0x00000275 
+ 00020988  0x0000512e store  0x00000002 , 0x00004248 
+ 00020989  0x0000512f store  0x00000001 , 0x00004250 
+ 00020990  0x00005130 branch  0x00005205 
+ 00020991  0x00005132 call  0x00005079 
+ 00020992  0x00005133 branch  0x00005205 
+ 00020993  0x00005135 call  0x0000507f 
+ 00020994  0x0000513b branch  0x00005205 
+ 00020995  0x0000513d setarg  0x00000000 
+ 00020996  0x0000513e store  0x00000002 , 0x0000027b 
+ 00020997  0x00005140 call  0x00007ead 
+ 00020998  0x00005141 setarg  0x00000007 
+ 00020999  0x00005142 istore  0x00000001 , 0x00000005 
+ 00021000  0x00005143 copy  0x00000007 , 0x0000003f 
+ 00021001  0x00005144 istore  0x00000001 , 0x00000005 
+ 00021002  0x00005145 setarg  0x00000004 
+ 00021003  0x00005146 istore  0x00000002 , 0x00000005 
+ 00021004  0x00005147 copy  0x00000011 , 0x0000003f 
+ 00021005  0x00005148 istore  0x00000002 , 0x00000005 
+ 00021006  0x00005149 copy  0x0000000b , 0x0000003f 
+ 00021007  0x0000514a istore  0x00000002 , 0x00000005 
+ 00021008  0x0000514b force  0x00000008 , 0x0000003f 
+ 00021009  0x0000514c iadd  0x00000012 , 0x00000012 
+ 00021010  0x0000514d rtn 
+ 00021011  0x00005150 ifetch  0x00000001 , 0x00000006 
+ 00021012  0x00005151 copy  0x0000003f , 0x00000007 
+ 00021013  0x00005152 ifetch  0x00000002 , 0x00000006 
+ 00021014  0x00005153 copy  0x0000003f , 0x00000011 
+ 00021015  0x00005154 ifetch  0x00000002 , 0x00000006 
+ 00021016  0x00005155 copy  0x0000003f , 0x0000000b 
+ 00021017  0x00005156 ifetch  0x00000002 , 0x00000006 
+ 00021018  0x00005157 copy  0x0000003f , 0x00000002 
+ 00021019  0x00005158 call  0x00007ea8 
+ 00021020  0x00005159 bpatchx  0x00000021 , 0x00004024 
+ 00021021  0x0000515a fetch  0x00000001 , 0x00004255 
+ 00021022  0x0000515b icompare  0x000000ff , 0x00000007 
+ 00021023  0x0000515c nbranch  0x0000522a , 0x00000001 
+ 00021024  0x0000515d setarg  0x00000050 
+ 00021025  0x0000515e isub  0x00000002 , 0x0000003e 
+ 00021026  0x0000515f branch  0x00005227 , 0x00000005 
+ 00021027  0x00005160 setarg  0x00000051 
+ 00021028  0x00005161 isub  0x00000002 , 0x0000003e 
+ 00021029  0x00005162 branch  0x0000522a , 0x00000005 
+ 00021030  0x00005163 branch  0x0000522a 
+ 00021031  0x00005165 jam  0x00000000 , 0x00004248 
+ 00021032  0x00005166 jam  0x00000000 , 0x00004250 
+ 00021033  0x00005167 branch  0x0000522a 
+ 00021034  0x0000516c call  0x00007ead 
+ 00021035  0x0000516d copy  0x00000013 , 0x0000003f 
+ 00021036  0x0000516e isub  0x00000011 , 0x00000013 
+ 00021037  0x0000516f rtn 
+ 00021038  0x00005172 setarg  0x00000001 
+ 00021039  0x00005173 istore  0x00000001 , 0x00000005 
+ 00021040  0x00005174 ifetch  0x00000001 , 0x00000006 
+ 00021041  0x00005175 istore  0x00000001 , 0x00000005 
+ 00021042  0x00005176 setarg  0x00000002 
+ 00021043  0x00005177 istore  0x00000002 , 0x00000005 
+ 00021044  0x00005178 setarg  0x00000000 
+ 00021045  0x00005179 istore  0x00000002 , 0x00000005 
+ 00021046  0x0000517a setarg  0x00000006 
+ 00021047  0x0000517b iadd  0x00000012 , 0x00000012 
+ 00021048  0x0000517c force  0x00000004 , 0x00000013 
+ 00021049  0x0000517d rtn 
+ 00021050  0x00005181 fetch  0x00000001 , 0x00004255 
+ 00021051  0x00005182 increase  0x00000001 , 0x0000003f 
+ 00021052  0x00005183 bne  0x00000000 , 0x0000523e 
+ 00021053  0x00005184 increase  0x00000001 , 0x0000003f 
+ 00021054  0x00005186 store  0x00000001 , 0x00004255 
+ 00021055  0x00005187 rtn 
+ 00021056  0x00005192 bpatchx  0x00000022 , 0x00004024 
+ 00021057  0x00005193 arg  0x00000000 , 0x00000012 
+ 00021058  0x00005194 call  0x0000526e 
+ 00021059  0x00005195 nbranch  0x00002a8c , 0x00000034 
+ 00021060  0x00005196 call  0x0000527e 
+ 00021061  0x00005197 arg  0x00001800 , 0x00000012 
+ 00021062  0x00005198 arg  0x00000000 , 0x00000007 
+ 00021063  0x0000519a fetcht  0x00000001 , 0x00004256 
+ 00021064  0x0000519b qisolate1  0x00000002 
+ 00021065  0x0000519c branch  0x0000524f , 0x00000001 
+ 00021066  0x0000519d call  0x000052a0 
+ 00021067  0x0000519e sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00021068  0x0000519f branch  0x0000524f , 0x00000002 
+ 00021069  0x000051a0 call  0x00005288 
+ 00021070  0x000051a1 branch  0x00005255 
+ 00021071  0x000051a3 increase  0x00000080 , 0x00000012 
+ 00021072  0x000051a4 increase  0x00000001 , 0x00000007 
+ 00021073  0x000051a5 setarg  0x00000008 
+ 00021074  0x000051a6 isub  0x00000007 , 0x0000003e 
+ 00021075  0x000051a7 branch  0x00005247 , 0x00000002 
+ 00021076  0x000051a8 arg  0x00000000 , 0x00000012 
+ 00021077  0x000051aa copy  0x00000012 , 0x0000003f 
+ 00021078  0x000051ab branch  0x00002a8c , 0x00000034 
+ 00021079  0x000051ac rtn 
+ 00021080  0x000051b5 bpatchx  0x00000023 , 0x00004024 
+ 00021081  0x000051b6 call  0x00005277 
+ 00021082  0x000051b7 increase  0x00000001 , 0x00000006 
+ 00021083  0x000051b8 ifetch  0x00000002 , 0x00000006 
+ 00021084  0x000051b9 rtn 
+ 00021085  0x000051c0 bpatchx  0x00000024 , 0x00004024 
+ 00021086  0x000051c1 call  0x00005277 
+ 00021087  0x000051c2 copy  0x00000006 , 0x00000005 
+ 00021088  0x000051c3 copy  0x00000006 , 0x00000002 
+ 00021089  0x000051c4 setarg  0x00000000 
+ 00021090  0x000051c5 istore  0x00000003 , 0x00000005 
+ 00021091  0x000051c6 rtn 
+ 00021092  0x000051cc bpatchx  0x00000025 , 0x00004024 
+ 00021093  0x000051cd call  0x00005274 
+ 00021094  0x000051ce branch  0x00002a8c , 0x00000034 
+ 00021095  0x000051cf fetch  0x00000003 , 0x0000425d 
+ 00021096  0x000051d0 store  0x00000003 , 0x00004260 
+ 00021097  0x000051d1 fetch  0x00000003 , 0x0000425a 
+ 00021098  0x000051d2 store  0x00000003 , 0x0000425d 
+ 00021099  0x000051d3 fetch  0x00000003 , 0x00004257 
+ 00021100  0x000051d4 store  0x00000003 , 0x0000425a 
+ 00021101  0x000051d5 rtn 
+ 00021102  0x000051dc bpatchx  0x00000026 , 0x00004024 
+ 00021103  0x000051dd fetch  0x00000003 , 0x00004257 
+ 00021104  0x000051de rtn 
+ 00021105  0x000051e5 bpatchx  0x00000027 , 0x00004024 
+ 00021106  0x000051e6 fetch  0x00000003 , 0x0000425a 
+ 00021107  0x000051e7 rtn 
+ 00021108  0x000051ee bpatchx  0x00000028 , 0x00004025 
+ 00021109  0x000051ef fetch  0x00000003 , 0x00004260 
+ 00021110  0x000051f0 rtn 
+ 00021111  0x000051f6 call  0x00005274 
+ 00021112  0x000051f7 branch  0x00002a8c , 0x00000034 
+ 00021113  0x000051f8 arg  0x00004257 , 0x00000006 
+ 00021114  0x000051fa ifetch  0x00000003 , 0x00000006 
+ 00021115  0x000051fb branch  0x0000527a , 0x00000034 
+ 00021116  0x000051fc increase  0xfffffffd , 0x00000006 
+ 00021117  0x000051fd rtn 
+ 00021118  0x00005205 bpatchx  0x00000029 , 0x00004025 
+ 00021119  0x00005206 arg  0x00000004 , 0x00000039 
+ 00021120  0x00005207 arg  0x00004257 , 0x00000006 
+ 00021121  0x00005208 arg  0x00000000 , 0x00000002 
+ 00021122  0x0000520a ifetch  0x00000003 , 0x00000006 
+ 00021123  0x0000520b and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00021124  0x0000520c ior  0x00000002 , 0x00000002 
+ 00021125  0x0000520d loop  0x00005282 
+ 00021126  0x0000520e storet  0x00000001 , 0x00004256 
+ 00021127  0x0000520f rtn 
+ 00021128  0x00005218 bpatchx  0x0000002a , 0x00004025 
+ 00021129  0x00005219 call  0x0000526e 
+ 00021130  0x0000521a nbranch  0x00002a8c , 0x00000034 
+ 00021131  0x0000521b call  0x00005274 
+ 00021132  0x0000521c branch  0x00005295 , 0x00000034 
+ 00021133  0x0000521d fetch  0x00000003 , 0x0000425a 
+ 00021134  0x0000521e store  0x00000003 , 0x00004257 
+ 00021135  0x0000521f ifetch  0x00000003 , 0x00000006 
+ 00021136  0x00005220 istore  0x00000003 , 0x00000005 
+ 00021137  0x00005221 ifetch  0x00000003 , 0x00000006 
+ 00021138  0x00005222 istore  0x00000003 , 0x00000005 
+ 00021139  0x00005223 setarg  0x00000000 
+ 00021140  0x00005224 istore  0x00000003 , 0x00000005 
+ 00021141  0x00005226 arg  0x00000000 , 0x00000002 
+ 00021142  0x00005227 copy  0x0000000b , 0x0000003f 
+ 00021143  0x00005228 iadd  0x00000007 , 0x0000003f 
+ 00021144  0x0000522a qset1  0x00000002 
+ 00021145  0x0000522b increase  0x00000001 , 0x00000007 
+ 00021146  0x0000522c isub  0x00000007 , 0x0000003e 
+ 00021147  0x0000522d nbranch  0x00005298 , 0x00000005 
+ 00021148  0x0000522f lshift8  0x00000012 , 0x0000003f 
+ 00021149  0x00005230 ior  0x00000002 , 0x0000003f 
+ 00021150  0x00005231 store  0x00000003 , 0x00004260 
+ 00021151  0x00005232 rtn 
+ 00021152  0x0000523d bpatchx  0x0000002b , 0x00004025 
+ 00021153  0x0000523e call  0x0000527e 
+ 00021154  0x0000523f copy  0x00000007 , 0x00000013 
+ 00021155  0x00005240 arg  0x00000000 , 0x00000002 
+ 00021156  0x00005241 arg  0x00000000 , 0x0000000b 
+ 00021157  0x00005244 copy  0x00000007 , 0x0000003f 
+ 00021158  0x00005245 beq  0x00000008 , 0x000052b0 
+ 00021159  0x00005246 fetch  0x00000001 , 0x00004256 
+ 00021160  0x00005247 qisolate1  0x0000003f 
+ 00021161  0x00005248 branch  0x000052b0 , 0x00000001 
+ 00021162  0x00005249 increase  0x00000080 , 0x00000002 
+ 00021163  0x0000524a increase  0x00000001 , 0x00000007 
+ 00021164  0x0000524b copy  0x00000011 , 0x0000003f 
+ 00021165  0x0000524c isub  0x00000002 , 0x0000003e 
+ 00021166  0x0000524d branch  0x000052b0 , 0x00000005 
+ 00021167  0x0000524e branch  0x000052a5 , 0x00000002 
+ 00021168  0x00005250 copy  0x00000002 , 0x0000003f 
+ 00021169  0x00005251 isub  0x00000011 , 0x0000003e 
+ 00021170  0x00005252 nbranch  0x000052b6 , 0x00000002 
+ 00021171  0x00005253 copy  0x00000007 , 0x0000003f 
+ 00021172  0x00005254 copy  0x00000013 , 0x00000002 
+ 00021173  0x00005255 isub  0x00000002 , 0x0000000b 
+ 00021174  0x00005257 copy  0x00000013 , 0x00000007 
+ 00021175  0x00005258 rtn 
+ 00021176  0x0000525c bpatchx  0x0000002c , 0x00004025 
+ 00021177  0x0000525d arg  0x0000007f , 0x00000011 
+ 00021178  0x0000525e call  0x00005240 
+ 00021179  0x0000525f store  0x00000002 , 0x0000026b 
+ 00021180  0x00005260 increase  0x00000004 , 0x0000003f 
+ 00021181  0x00005261 store  0x00000002 , 0x0000026d 
+ 00021182  0x00005262 setarg  0x00000000 
+ 00021183  0x00005263 store  0x00000002 , 0x0000026f 
+ 00021184  0x00005264 rtn 
+ 00021185  0x00005267 fetch  0x00000002 , 0x0000026b 
+ 00021186  0x00005268 branch  0x000052e2 
+ 00021187  0x0000526b fetch  0x00000002 , 0x0000026d 
+ 00021188  0x0000526c branch  0x000052e2 
+ 00021189  0x00005270 bpatchx  0x0000002d , 0x00004025 
+ 00021190  0x00005271 arg  0x000000fa , 0x00000011 
+ 00021191  0x00005272 call  0x00005240 
+ 00021192  0x00005273 store  0x00000002 , 0x00000271 
+ 00021193  0x00005274 increase  0x00000004 , 0x0000003f 
+ 00021194  0x00005275 store  0x00000002 , 0x00000273 
+ 00021195  0x00005276 setarg  0x00000000 
+ 00021196  0x00005277 store  0x00000002 , 0x00000275 
+ 00021197  0x00005278 rtn 
+ 00021198  0x0000527b fetch  0x00000002 , 0x00000271 
+ 00021199  0x0000527c branch  0x000052e2 
+ 00021200  0x0000527f fetch  0x00000002 , 0x00000273 
+ 00021201  0x00005280 branch  0x000052e2 
+ 00021202  0x00005284 bpatchx  0x0000002e , 0x00004025 
+ 00021203  0x00005285 call  0x00007e7c 
+ 00021204  0x00005286 jam  0x00000001 , 0x00000284 
+ 00021205  0x00005287 call  0x0000526e 
+ 00021206  0x00005288 nrtn  0x00000034 
+ 00021207  0x00005289 arg  0x0000007f , 0x00000011 
+ 00021208  0x0000528a call  0x00005240 
+ 00021209  0x0000528b store  0x00000002 , 0x00000277 
+ 00021210  0x0000528c increase  0x00000004 , 0x0000003f 
+ 00021211  0x0000528d store  0x00000002 , 0x00000279 
+ 00021212  0x0000528e setarg  0x00000000 
+ 00021213  0x0000528f store  0x00000002 , 0x0000027b 
+ 00021214  0x00005290 jam  0x00000000 , 0x00000284 
+ 00021215  0x00005291 branch  0x00007e8c 
+ 00021216  0x00005294 fetch  0x00000002 , 0x00000277 
+ 00021217  0x00005295 branch  0x000052e2 
+ 00021218  0x00005298 branch  0x00002a8c , 0x00000034 
+ 00021219  0x00005299 copy  0x0000003f , 0x00000005 
+ 00021220  0x0000529a rtn 
+ 00021221  0x0000529e bpatchx  0x0000002f , 0x00004025 
+ 00021222  0x0000529f arg  0x00000000 , 0x00000012 
+ 00021223  0x000052a0 arg  0x00004257 , 0x00000011 
+ 00021224  0x000052a1 increase  0xfffffffe , 0x00000011 
+ 00021225  0x000052a3 increase  0x00000002 , 0x00000011 
+ 00021226  0x000052a4 setarg  0x00004263 
+ 00021227  0x000052a5 isub  0x00000011 , 0x0000003e 
+ 00021228  0x000052a6 branch  0x000052f5 , 0x00000005 
+ 00021229  0x000052a7 ifetch  0x00000001 , 0x00000011 
+ 00021230  0x000052a8 increase  0x00000001 , 0x00000011 
+ 00021231  0x000052a9 branch  0x000052e9 , 0x00000034 
+ 00021232  0x000052aa ifetcht  0x00000002 , 0x00000011 
+ 00021233  0x000052ab ifetch  0x00000002 , 0x00000002 
+ 00021234  0x000052ac iadd  0x00000012 , 0x00000012 
+ 00021235  0x000052ad increase  0x00000004 , 0x00000012 
+ 00021236  0x000052ae branch  0x000052e9 
+ 00021237  0x000052b0 copy  0x00000012 , 0x0000003f 
+ 00021238  0x000052b1 rtn 
+ 00021239  0x000052b5 arg  0x0000000c , 0x00000007 
+ 00021240  0x000052b6 branch  0x00002c32 
+ 00021241  0x000052b9 arg  0x0000000c , 0x00000007 
+ 00021242  0x000052ba branch  0x00002c36 
+ 00021243  0x000052bd bpatchx  0x00000030 , 0x00004026 
+ 00021244  0x000052be call  0x0000527e 
+ 00021245  0x000052bf fetch  0x00000001 , 0x00004256 
+ 00021246  0x000052c0 rtn  0x00000034 
+ 00021247  0x000052c1 call  0x000052e5 
+ 00021248  0x000052c2 arg  0x00000100 , 0x00000002 
+ 00021249  0x000052c3 isub  0x00000002 , 0x0000003e 
+ 00021250  0x000052c4 branch  0x000052f7 , 0x00000002 
+ 00021251  0x000052c5 call  0x000052f9 
+ 00021252  0x000052c6 arg  0x00004263 , 0x00000005 
+ 00021253  0x000052c7 arg  0x00004257 , 0x00000011 
+ 00021254  0x000052c9 setarg  0x00004263 
+ 00021255  0x000052ca isub  0x00000011 , 0x0000003e 
+ 00021256  0x000052cb rtn  0x00000005 
+ 00021257  0x000052cc ifetch  0x00000001 , 0x00000011 
+ 00021258  0x000052cd increase  0x00000001 , 0x00000011 
+ 00021259  0x000052ce nbranch  0x0000530f , 0x00000034 
+ 00021260  0x000052cf istore  0x00000002 , 0x00000005 
+ 00021261  0x000052d0 increase  0x00000002 , 0x00000011 
+ 00021262  0x000052d1 branch  0x00005306 
+ 00021263  0x000052d3 ifetch  0x00000002 , 0x00000011 
+ 00021264  0x000052d4 increase  0x00000002 , 0x00000011 
+ 00021265  0x000052d5 copy  0x0000003f , 0x00000006 
+ 00021266  0x000052d6 ifetch  0x00000002 , 0x00000006 
+ 00021267  0x000052d7 istore  0x00000002 , 0x00000005 
+ 00021268  0x000052d8 copy  0x0000003f , 0x00000039 
+ 00021269  0x000052d9 increase  0x00000002 , 0x00000039 
+ 00021270  0x000052da call  0x00007f01 
+ 00021271  0x000052db branch  0x00005306 
+ 00021272  0x000052de bpatchx  0x00000031 , 0x00004026 
+ 00021273  0x000052df call  0x0000527e 
+ 00021274  0x000052e0 fetch  0x00000001 , 0x00004256 
+ 00021275  0x000052e1 rtn  0x00000034 
+ 00021276  0x000052e2 arg  0x00004258 , 0x00000011 
+ 00021277  0x000052e3 increase  0xfffffffd , 0x00000011 
+ 00021278  0x000052e4 arg  0x00004263 , 0x00000006 
+ 00021279  0x000052e6 increase  0x00000003 , 0x00000011 
+ 00021280  0x000052e7 setarg  0x00004264 
+ 00021281  0x000052e8 isub  0x00000011 , 0x0000003e 
+ 00021282  0x000052e9 rtn  0x00000005 
+ 00021283  0x000052ea ifetch  0x00000002 , 0x00000006 
+ 00021284  0x000052eb branch  0x0000531f , 0x00000034 
+ 00021285  0x000052ec increase  0x00000004 , 0x0000003f 
+ 00021286  0x000052ed copy  0x0000003f , 0x00000039 
+ 00021287  0x000052ee copy  0x00000006 , 0x00000012 
+ 00021288  0x000052ef ifetch  0x00000002 , 0x00000011 
+ 00021289  0x000052f0 copy  0x0000003f , 0x00000005 
+ 00021290  0x000052f1 copy  0x00000012 , 0x00000006 
+ 00021291  0x000052f2 increase  0xfffffffe , 0x00000006 
+ 00021292  0x000052f3 call  0x00007f01 
+ 00021293  0x000052f4 branch  0x0000531f 
+ 00021294  0x000052ff bpatchx  0x00000032 , 0x00004026 
+ 00021295  0x00005300 disable  0x0000002b 
+ 00021296  0x00005301 jam  0x00000001 , 0x00000455 
+ 00021297  0x00005302 jam  0x00000003 , 0x0000043f 
+ 00021298  0x00005303 jam  0x00000001 , 0x00000456 
+ 00021299  0x00005304 setarg  0xffffffff 
+ 00021300  0x00005305 store  0x00000002 , 0x00000459 
+ 00021301  0x00005306 force  0x00000000 , 0x0000003f 
+ 00021302  0x00005307 store  0x00000001 , 0x00000457 
+ 00021303  0x00005308 store  0x00000001 , 0x00000462 
+ 00021304  0x00005309 store  0x00000003 , 0x00004169 
+ 00021305  0x0000530a store  0x00000003 , 0x0000416c 
+ 00021306  0x0000530b store  0x00000005 , 0x00004403 
+ 00021307  0x0000530c set1  0x00000027 , 0x0000003f 
+ 00021308  0x0000530d store  0x00000005 , 0x00004408 
+ 00021309  0x0000530e jam  0x00000001 , 0x000043dc 
+ 00021310  0x0000530f jam  0x00000000 , 0x000043dd 
+ 00021311  0x00005310 branch  0x000056ed 
+ 00021312  0x00005313 bpatchx  0x00000033 , 0x00004026 
+ 00021313  0x00005314 enable  0x00000029 
+ 00021314  0x00005315 jam  0x00000003 , 0x00000440 
+ 00021315  0x00005316 jam  0x00000001 , 0x00000478 
+ 00021316  0x00005317 jam  0x00000001 , 0x0000445a 
+ 00021317  0x00005318 setarg  0x0000ffff 
+ 00021318  0x00005319 store  0x00000002 , 0x0000445c 
+ 00021319  0x0000531a force  0x00000000 , 0x0000003f 
+ 00021320  0x0000531b store  0x00000005 , 0x00004408 
+ 00021321  0x0000531c set1  0x00000027 , 0x0000003f 
+ 00021322  0x0000531d store  0x00000005 , 0x00004403 
+ 00021323  0x0000531e branch  0x0000532e 
+ 00021324  0x00005322 bpatchx  0x00000034 , 0x00004026 
+ 00021325  0x00005323 disable  0x00000029 
+ 00021326  0x00005324 setarg  0x00000017 
+ 00021327  0x00005325 store  0x00000002 , 0x000044a8 
+ 00021328  0x00005326 jam  0x00000001 , 0x00000440 
+ 00021329  0x00005327 jam  0x00000000 , 0x0000436e 
+ 00021330  0x00005328 jam  0x00000000 , 0x000000a0 
+ 00021331  0x00005329 jam  0x00000000 , 0x000044c4 
+ 00021332  0x0000532a jam  0x00000000 , 0x000044c5 
+ 00021333  0x0000532b fetch  0x00000002 , 0x0000046d 
+ 00021334  0x0000532c store  0x00000002 , 0x000044ba 
+ 00021335  0x0000532d fetch  0x00000002 , 0x00000441 
+ 00021336  0x0000532e mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00021337  0x0000532f rshift4  0x0000003f , 0x0000003f 
+ 00021338  0x00005330 store  0x00000002 , 0x0000046d 
+ 00021339  0x00005331 branch  0x0000532e 
+ 00021340  0x00005338 call  0x000053c4 
+ 00021341  0x00005339 call  0x000055e8 
+ 00021342  0x0000533a call  0x000056f0 
+ 00021343  0x0000533b branch  0x000053ce 
+ 00021344  0x0000533e bpatchx  0x00000035 , 0x00004026 
+ 00021345  0x0000533f call  0x000053c4 
+ 00021346  0x00005340 call  0x000032f4 
+ 00021347  0x00005341 fetch  0x00000001 , 0x00000440 
+ 00021348  0x00005342 beq  0x00000003 , 0x00005366 
+ 00021349  0x00005343 branch  0x0000537a 
+ 00021350  0x0000534a bpatchx  0x00000036 , 0x00004026 
+ 00021351  0x0000534b enable  0x00000029 
+ 00021352  0x0000534c call  0x000056e4 
+ 00021353  0x0000534d branch  0x00005377 , 0x00000002 
+ 00021354  0x0000534e call  0x00002c6c 
+ 00021355  0x0000534f call  0x00005413 
+ 00021356  0x00005350 call  0x0000561e 
+ 00021357  0x00005351 disable  0x0000002d 
+ 00021358  0x00005352 call  0x000054bf 
+ 00021359  0x00005353 nrtn  0x0000002d 
+ 00021360  0x00005354 bpatchx  0x00000037 , 0x00004026 
+ 00021361  0x00005355 fetch  0x00000001 , 0x00000005 
+ 00021362  0x00005356 increase  0x00000001 , 0x0000003f 
+ 00021363  0x00005357 store  0x00000001 , 0x00000005 
+ 00021364  0x00005358 call  0x000055aa 
+ 00021365  0x00005359 disable  0x00000029 
+ 00021366  0x0000535a rtn 
+ 00021367  0x0000535d call  0x000053a9 
+ 00021368  0x0000535e disable  0x00000029 
+ 00021369  0x0000535f rtn 
+ 00021370  0x00005365 bpatchx  0x00000038 , 0x00004027 
+ 00021371  0x00005366 jam  0x00000000 , 0x0000450f 
+ 00021372  0x00005367 call  0x00007aaf 
+ 00021373  0x00005368 call  0x00005c18 
+ 00021374  0x00005369 disable  0x0000002e 
+ 00021375  0x0000536a call  0x000056e4 
+ 00021376  0x0000536b branch  0x000053a9 , 0x00000002 
+ 00021377  0x0000536c call  0x00002c6c 
+ 00021378  0x0000536d call  0x00005413 
+ 00021379  0x0000536e call  0x00005489 
+ 00021380  0x0000536f nbranch  0x0000539b , 0x00000018 
+ 00021381  0x00005370 call  0x000053b7 
+ 00021382  0x00005371 branch  0x00005388 , 0x0000002d 
+ 00021383  0x00005372 branch  0x00005395 
+ 00021384  0x00005376 bpatchx  0x00000039 , 0x00004027 
+ 00021385  0x00005377 fetch  0x00000001 , 0x0000450f 
+ 00021386  0x00005378 pincrease  0x00000001 
+ 00021387  0x00005379 store  0x00000001 , 0x0000450f 
+ 00021388  0x0000537a beq  0x0000000c , 0x00005395 
+ 00021389  0x0000537b call  0x000055aa 
+ 00021390  0x0000537c call  0x0000561e 
+ 00021391  0x0000537d call  0x000054c7 
+ 00021392  0x0000537e call  0x0000567e 
+ 00021393  0x0000537f fetch  0x00000002 , 0x000041fb 
+ 00021394  0x00005380 call  0x00007f9c 
+ 00021395  0x00005381 call  0x000053a0 
+ 00021396  0x00005382 branch  0x000053a4 , 0x00000028 
+ 00021397  0x00005384 bpatchx  0x0000003a , 0x00004027 
+ 00021398  0x00005385 call  0x00005be4 
+ 00021399  0x00005386 call  0x00005bdb 
+ 00021400  0x00005387 call  0x00007d9c 
+ 00021401  0x00005388 fetch  0x00000001 , 0x00000462 
+ 00021402  0x00005389 bbit1  0x00000003 , 0x000053a9 
+ 00021403  0x0000538b bpatchx  0x0000003b , 0x00004027 
+ 00021404  0x0000538c call  0x000057f4 
+ 00021405  0x0000538d call  0x0000559d 
+ 00021406  0x0000538e call  0x00005575 
+ 00021407  0x0000538f branch  0x00002841 
+ 00021408  0x00005393 disable  0x00000028 
+ 00021409  0x00005394 bmark1  0x0000002a , 0x00007fe7 
+ 00021410  0x00005395 bmark1  0x00000029 , 0x00007fe7 
+ 00021411  0x00005396 rtn 
+ 00021412  0x0000539a bpatchx  0x0000003c , 0x00004027 
+ 00021413  0x0000539b enable  0x0000002e 
+ 00021414  0x0000539c call  0x000054c1 
+ 00021415  0x0000539d branch  0x00005388 , 0x0000002d 
+ 00021416  0x0000539e branch  0x00005395 
+ 00021417  0x000053a4 bpatchx  0x0000003d , 0x00004027 
+ 00021418  0x000053a5 call  0x000053af 
+ 00021419  0x000053a6 call  0x000033b4 
+ 00021420  0x000053a7 call  0x00007a77 
+ 00021421  0x000053a8 jam  0x00000015 , 0x00000a99 
+ 00021422  0x000053a9 branch  0x00007d86 
+ 00021423  0x000053ac setarg  0x00000000 
+ 00021424  0x000053ad store  0x00000009 , 0x000044ff 
+ 00021425  0x000053ae jam  0x00000000 , 0x00000455 
+ 00021426  0x000053af jam  0x00000000 , 0x00000440 
+ 00021427  0x000053b0 jam  0x00000000 , 0x0000043f 
+ 00021428  0x000053b1 jam  0x00000000 , 0x000044c5 
+ 00021429  0x000053b2 jam  0x00000000 , 0x000044c4 
+ 00021430  0x000053b3 rtn 
+ 00021431  0x000053b6 bpatchx  0x0000003e , 0x00004027 
+ 00021432  0x000053b7 fetch  0x00000001 , 0x00000005 
+ 00021433  0x000053b8 increase  0x00000001 , 0x0000003f 
+ 00021434  0x000053b9 store  0x00000001 , 0x00000005 
+ 00021435  0x000053ba fetch  0x00000001 , 0x0000043f 
+ 00021436  0x000053bb rtnbit1  0x00000003 
+ 00021437  0x000053bc set1  0x00000003 
+ 00021438  0x000053bd store  0x00000001 , 0x0000043f 
+ 00021439  0x000053be fetch  0x00000002 , 0x000044ba 
+ 00021440  0x000053bf store  0x00000002 , 0x0000046d 
+ 00021441  0x000053c0 setarg  0x00000000 
+ 00021442  0x000053c1 store  0x00000004 , 0x000044e5 
+ 00021443  0x000053c2 rtn 
+ 00021444  0x000053c6 bpatchx  0x0000003f , 0x00004027 
+ 00021445  0x000053c7 jam  0x00000036 , 0x0000890f 
+ 00021446  0x000053c8 jam  0x0000005f , 0x0000890b 
+ 00021447  0x000053c9 enable  0x00000036 
+ 00021448  0x000053ca jam  0x00000007 , 0x00008914 
+ 00021449  0x000053cb call  0x00002c6c 
+ 00021450  0x000053cc fetch  0x00000001 , 0x000041e0 
+ 00021451  0x000053cd rtn  0x00000034 
+ 00021452  0x000053ce jam  0x000000b8 , 0x0000890a 
+ 00021453  0x000053cf rtn 
+ 00021454  0x000053d2 bpatchx  0x00000040 , 0x00004028 
+ 00021455  0x000053d3 jam  0x0000002e , 0x0000890f 
+ 00021456  0x000053d4 jam  0x000000ff , 0x0000890b 
+ 00021457  0x000053d5 disable  0x00000036 
+ 00021458  0x000053d6 jam  0x00000003 , 0x00008914 
+ 00021459  0x000053d7 arg  0x00000000 , 0x0000001b 
+ 00021460  0x000053d8 rtn 
+ 00021461  0x000053db disable  0x00000009 
+ 00021462  0x000053dc disable  0x00000007 
+ 00021463  0x000053dd fetch  0x00000003 , 0x00000467 
+ 00021464  0x000053de iforce  0x0000000f 
+ 00021465  0x000053df fetch  0x00000001 , 0x00000016 
+ 00021466  0x000053e0 reverse  0x0000003f , 0x00000002 
+ 00021467  0x000053e1 set1  0x00000001 , 0x00000002 
+ 00021468  0x000053e2 rshift  0x00000002 , 0x0000000e 
+ 00021469  0x000053e3 rtn 
+ 00021470  0x000053e7 call  0x000053e6 
+ 00021471  0x000053e8 call  0x0000291f 
+ 00021472  0x000053e9 setarg  0x00000500 
+ 00021473  0x000053ea call  0x00002a8f 
+ 00021474  0x000053eb branch  0x00002924 
+ 00021475  0x000053ee branch  0x00002939 , 0x0000002d 
+ 00021476  0x000053f0 call  0x000053e6 
+ 00021477  0x000053f1 branch  0x00002933 
+ 00021478  0x000053f3 bpatchx  0x00000041 , 0x00004028 
+ 00021479  0x000053f4 call  0x00002918 
+ 00021480  0x000053f5 fetch  0x00000001 , 0x0000048c 
+ 00021481  0x000053f6 nbranch  0x000053f9 , 0x00000034 
+ 00021482  0x000053f7 fetch  0x00000001 , 0x00000016 
+ 00021483  0x000053f8 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021484  0x000053f9 branch  0x000053f3 , 0x00000002 
+ 00021485  0x000053fa force  0x00000000 , 0x00000002 
+ 00021486  0x000053fb rtneq  0x00000025 
+ 00021487  0x000053fc force  0x00000018 , 0x00000002 
+ 00021488  0x000053fd rtneq  0x00000026 
+ 00021489  0x000053fe force  0x0000004e , 0x00000002 
+ 00021490  0x000053ff rtn 
+ 00021491  0x00005402 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00021492  0x00005403 branch  0x000053f6 , 0x00000002 
+ 00021493  0x00005404 increase  0x00000001 , 0x0000003f 
+ 00021494  0x00005407 lshift  0x0000003f , 0x0000003f 
+ 00021495  0x00005408 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00021496  0x00005409 rtn 
+ 00021497  0x0000540c fetch  0x00000001 , 0x00000016 
+ 00021498  0x0000540d lshift  0x0000003f , 0x00000002 
+ 00021499  0x0000540e rtn 
+ 00021500  0x00005411 arg  0x000001f4 , 0x00000002 
+ 00021501  0x00005412 rtn  0x00000034 
+ 00021502  0x00005413 arg  0x000000fa , 0x00000002 
+ 00021503  0x00005414 rtneq  0x00000001 
+ 00021504  0x00005415 arg  0x00000096 , 0x00000002 
+ 00021505  0x00005416 rtneq  0x00000002 
+ 00021506  0x00005417 arg  0x00000064 , 0x00000002 
+ 00021507  0x00005418 rtneq  0x00000003 
+ 00021508  0x00005419 arg  0x0000004b , 0x00000002 
+ 00021509  0x0000541a rtneq  0x00000004 
+ 00021510  0x0000541b arg  0x00000032 , 0x00000002 
+ 00021511  0x0000541c rtneq  0x00000005 
+ 00021512  0x0000541d arg  0x00000028 , 0x00000002 
+ 00021513  0x0000541e rtneq  0x00000006 
+ 00021514  0x0000541f arg  0x00000014 , 0x00000002 
+ 00021515  0x00005420 rtn 
+ 00021516  0x00005425 setarg  0x008e89be 
+ 00021517  0x00005426 lshift8  0x0000003f , 0x0000003f 
+ 00021518  0x00005427 or_into  0x000000d6 , 0x0000003f 
+ 00021519  0x00005428 iforce  0x00000009 
+ 00021520  0x00005429 setarg  0x00555555 
+ 00021521  0x0000542a store  0x00000003 , 0x00000467 
+ 00021522  0x0000542b rtn 
+ 00021523  0x0000542e bpatchx  0x00000042 , 0x00004028 
+ 00021524  0x0000542f enable  0x00000010 
+ 00021525  0x00005430 fetch  0x00000004 , 0x00000463 
+ 00021526  0x00005431 iforce  0x00000009 
+ 00021527  0x00005432 call  0x00005466 
+ 00021528  0x00005433 setarg  0x00000200 
+ 00021529  0x00005434 branch  0x0000541c , 0x00000029 
+ 00021530  0x00005435 fetch  0x00000002 , 0x0000044d 
+ 00021531  0x00005436 rshift  0x0000003f , 0x0000003f 
+ 00021532  0x00005438 arg  0x00000500 , 0x00000002 
+ 00021533  0x00005439 iadd  0x00000002 , 0x0000003f 
+ 00021534  0x0000543a call  0x00002a24 
+ 00021535  0x0000543b deposit  0x0000001a 
+ 00021536  0x0000543c store  0x00000006 , 0x00000491 
+ 00021537  0x0000543d rtn 
+ 00021538  0x00005440 bpatchx  0x00000043 , 0x00004028 
+ 00021539  0x00005441 fetch  0x00000001 , 0x00000016 
+ 00021540  0x00005442 beq  0x00000025 , 0x00005428 
+ 00021541  0x00005443 beq  0x00000026 , 0x0000542e 
+ 00021542  0x00005444 beq  0x00000027 , 0x00005434 
+ 00021543  0x00005445 branch  0x00005434 
+ 00021544  0x00005448 fetcht  0x00000001 , 0x0000448d 
+ 00021545  0x00005449 isolate1  0x00000001 , 0x00000002 
+ 00021546  0x0000544a branch  0x0000543f , 0x00000001 
+ 00021547  0x0000544b isolate1  0x00000002 , 0x00000002 
+ 00021548  0x0000544c branch  0x00005444 , 0x00000001 
+ 00021549  0x0000544d branch  0x0000543a 
+ 00021550  0x00005451 fetcht  0x00000001 , 0x0000448d 
+ 00021551  0x00005452 isolate1  0x00000002 , 0x00000002 
+ 00021552  0x00005453 branch  0x00005444 , 0x00000001 
+ 00021553  0x00005454 isolate1  0x00000000 , 0x00000002 
+ 00021554  0x00005455 branch  0x0000543a , 0x00000001 
+ 00021555  0x00005456 branch  0x0000543f 
+ 00021556  0x0000545a fetcht  0x00000001 , 0x0000448d 
+ 00021557  0x0000545b isolate1  0x00000000 , 0x00000002 
+ 00021558  0x0000545c branch  0x0000543a , 0x00000001 
+ 00021559  0x0000545d isolate1  0x00000001 , 0x00000002 
+ 00021560  0x0000545e branch  0x0000543f , 0x00000001 
+ 00021561  0x0000545f branch  0x00005444 
+ 00021562  0x00005464 jam  0x00000025 , 0x00000016 
+ 00021563  0x00005465 fetch  0x00000001 , 0x00000ac2 
+ 00021564  0x00005466 set1  0x00000000 , 0x0000003f 
+ 00021565  0x00005467 store  0x00000001 , 0x00000ac2 
+ 00021566  0x00005468 rtn 
+ 00021567  0x0000546b jam  0x00000026 , 0x00000016 
+ 00021568  0x0000546c fetch  0x00000001 , 0x00000ac2 
+ 00021569  0x0000546d set1  0x00000001 , 0x0000003f 
+ 00021570  0x0000546e store  0x00000001 , 0x00000ac2 
+ 00021571  0x0000546f rtn 
+ 00021572  0x00005472 jam  0x00000027 , 0x00000016 
+ 00021573  0x00005473 fetch  0x00000001 , 0x00000ac2 
+ 00021574  0x00005474 set1  0x00000002 , 0x0000003f 
+ 00021575  0x00005475 store  0x00000001 , 0x00000ac2 
+ 00021576  0x00005476 rtn 
+ 00021577  0x0000547b bpatchx  0x00000044 , 0x00004028 
+ 00021578  0x0000547c add  0x00000011 , 0x00000001 , 0x00000006 
+ 00021579  0x0000547d ifetch  0x00000001 , 0x00000006 
+ 00021580  0x0000547e rtnbit0  0x00000000 
+ 00021581  0x0000547f add  0x00000011 , 0x0000001a , 0x00000005 
+ 00021582  0x00005480 ifetch  0x00000002 , 0x00000005 
+ 00021583  0x00005481 increase  0x00000001 , 0x0000003f 
+ 00021584  0x00005482 istore  0x00000002 , 0x00000005 
+ 00021585  0x00005483 add  0x00000011 , 0x00000019 , 0x00000006 
+ 00021586  0x00005484 ifetch  0x00000001 , 0x00000006 
+ 00021587  0x00005485 add  0x00000011 , 0x00000018 , 0x00000005 
+ 00021588  0x00005486 ifetcht  0x00000001 , 0x00000005 
+ 00021589  0x00005487 iadd  0x00000002 , 0x0000003f 
+ 00021590  0x00005488 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021591  0x00005489 branch  0x00005459 , 0x00000002 
+ 00021592  0x0000548a increase  0xffffffdb , 0x0000003f 
+ 00021593  0x0000548c istore  0x00000001 , 0x00000005 
+ 00021594  0x0000548d rtn 
+ 00021595  0x00005491 bpatchx  0x00000045 , 0x00004028 
+ 00021596  0x00005492 fetch  0x00000005 , 0x0000046f 
+ 00021597  0x00005493 force  0x00000000 , 0x00000002 
+ 00021598  0x00005494 force  0x00000025 , 0x00000039 
+ 00021599  0x00005496 bbit0  0x00000000 , 0x00005461 
+ 00021600  0x00005497 increase  0x00000001 , 0x00000002 
+ 00021601  0x00005499 rshift  0x0000003f , 0x0000003f 
+ 00021602  0x0000549a loop  0x0000545f 
+ 00021603  0x0000549b add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00021604  0x0000549c store  0x00000001 , 0x00000461 
+ 00021605  0x0000549d rtn 
+ 00021606  0x000054a0 bpatchx  0x00000046 , 0x00004028 
+ 00021607  0x000054a1 fetch  0x00000001 , 0x00000457 
+ 00021608  0x000054a2 iforce  0x00000007 
+ 00021609  0x000054a3 fetcht  0x00000005 , 0x0000046f 
+ 00021610  0x000054a4 qisolate1  0x00000002 
+ 00021611  0x000054a5 branch  0x0000547c , 0x00000001 
+ 00021612  0x000054a7 bpatchx  0x00000047 , 0x00004028 
+ 00021613  0x000054a8 fetch  0x00000001 , 0x00000461 
+ 00021614  0x000054a9 isub  0x00000007 , 0x0000003f 
+ 00021615  0x000054aa branch  0x00005472 , 0x00000002 
+ 00021616  0x000054ab sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00021617  0x000054ac branch  0x0000546c 
+ 00021618  0x000054ae copy  0x00000007 , 0x00000039 
+ 00021619  0x000054af force  0x00000000 , 0x00000007 
+ 00021620  0x000054b1 qisolate1  0x00000002 
+ 00021621  0x000054b2 branch  0x00005477 , 0x00000001 
+ 00021622  0x000054b3 increase  0x00000001 , 0x00000039 
+ 00021623  0x000054b5 deposit  0x00000039 
+ 00021624  0x000054b6 branch  0x0000547c , 0x00000034 
+ 00021625  0x000054b7 increase  0x00000001 , 0x00000007 
+ 00021626  0x000054b8 increase  0xffffffff , 0x00000039 
+ 00021627  0x000054b9 branch  0x00005474 
+ 00021628  0x000054bb deposit  0x00000007 
+ 00021629  0x000054bc store  0x00000001 , 0x00000016 
+ 00021630  0x000054bd rtn 
+ 00021631  0x000054c1 branch  0x00005482 , 0x00000029 
+ 00021632  0x000054c2 until  0x0000003e , 0x00000003 
+ 00021633  0x000054c3 rtn 
+ 00021634  0x000054c6 arg  0x00000ea0 , 0x0000000b 
+ 00021635  0x000054c7 until  0x00000023 , 0x00000026 
+ 00021636  0x000054c8 rtn 
+ 00021637  0x000054cb disable  0x00000010 
+ 00021638  0x000054cc fetch  0x00000002 , 0x0000436c 
+ 00021639  0x000054cd copy  0x0000003f , 0x0000000b 
+ 00021640  0x000054ce branch  0x0000548e 
+ 00021641  0x000054d2 bpatchx  0x00000048 , 0x00004029 
+ 00021642  0x000054d3 enable  0x00000010 
+ 00021643  0x000054d4 fetch  0x00000002 , 0x0000044d 
+ 00021644  0x000054d5 fetcht  0x00000004 , 0x000044e5 
+ 00021645  0x000054d6 iadd  0x00000002 , 0x0000000b 
+ 00021646  0x000054d8 call  0x000053de 
+ 00021647  0x000054da bpatchx  0x00000049 , 0x00004029 
+ 00021648  0x000054db call  0x000053d5 
+ 00021649  0x000054dc disable  0x0000002d 
+ 00021650  0x000054dd enable  0x0000000d 
+ 00021651  0x000054de enable  0x00000021 
+ 00021652  0x000054df disable  0x00000020 
+ 00021653  0x000054e0 copy  0x0000000b , 0x0000001b 
+ 00021654  0x000054e1 correlate  0x0000003e , 0x00000003 
+ 00021655  0x000054e2 branch  0x0000549a , 0x0000002e 
+ 00021656  0x000054e3 copy  0x0000001a , 0x00000002 
+ 00021657  0x000054e4 storet  0x00000006 , 0x0000009a 
+ 00021658  0x000054e6 nbranch  0x0000264d , 0x00000018 
+ 00021659  0x000054e7 branch  0x000054a1 , 0x0000002e 
+ 00021660  0x000054e8 arg  0x000001e0 , 0x00000029 
+ 00021661  0x000054e9 copy  0x00000021 , 0x00000028 
+ 00021662  0x000054ea fetch  0x00000001 , 0x0000043f 
+ 00021663  0x000054eb bbit0  0x00000003 , 0x000054a1 
+ 00021664  0x000054ec call  0x00002b05 , 0x0000002b 
+ 00021665  0x000054ee bpatchx  0x0000004a , 0x00004029 
+ 00021666  0x000054ef call  0x000029bb 
+ 00021667  0x000054f0 enable  0x00000007 
+ 00021668  0x000054f1 enable  0x00000009 
+ 00021669  0x000054f2 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021670  0x000054f3 rshift3  0x0000000c , 0x0000003f 
+ 00021671  0x000054f4 store  0x00000001 , 0x000002d9 
+ 00021672  0x000054f5 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021673  0x000054f6 rshift3  0x0000000c , 0x0000003f 
+ 00021674  0x000054f7 istore  0x00000001 , 0x00000005 
+ 00021675  0x000054f8 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021676  0x000054f9 branch  0x000054b1 , 0x00000005 
+ 00021677  0x000054fc parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021678  0x000054fd rshift3  0x0000000c , 0x0000003f 
+ 00021679  0x000054fe istore  0x00000001 , 0x00000005 
+ 00021680  0x000054ff loop  0x000054ad 
+ 00021681  0x00005502 bpatchx  0x0000004b , 0x00004029 
+ 00021682  0x00005503 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00021683  0x00005504 enable  0x00000010 
+ 00021684  0x00005505 arg  0x00000664 , 0x0000001b 
+ 00021685  0x00005506 rshift32  0x0000003f , 0x0000003f 
+ 00021686  0x00005507 rshift16  0x0000003f , 0x0000003f 
+ 00021687  0x00005508 istore  0x00000003 , 0x00000005 
+ 00021688  0x00005509 branch  0x0000264d , 0x00000006 
+ 00021689  0x0000550a enable  0x0000002d 
+ 00021690  0x0000550b fetch  0x00000001 , 0x00000017 
+ 00021691  0x0000550c add  0x0000003f , 0x00000000 , 0x00000011 
+ 00021692  0x0000550d call  0x00002981 
+ 00021693  0x0000550e disable  0x0000000d 
+ 00021694  0x0000550f branch  0x00002918 
+ 00021695  0x00005512 bpatchx  0x0000004c , 0x00004029 
+ 00021696  0x00005513 call  0x000054c9 
+ 00021697  0x00005515 fetcht  0x00000001 , 0x00000017 
+ 00021698  0x00005516 call  0x0000291f 
+ 00021699  0x00005517 call  0x00002924 
+ 00021700  0x00005518 enable  0x00000010 
+ 00021701  0x00005519 arg  0x0000157c , 0x0000000b 
+ 00021702  0x0000551a branch  0x0000548f 
+ 00021703  0x0000551d call  0x000054c9 
+ 00021704  0x0000551e branch  0x0000264d 
+ 00021705  0x00005521 bpatchx  0x0000004d , 0x00004029 
+ 00021706  0x00005522 call  0x000053d5 
+ 00021707  0x00005523 call  0x000053e3 
+ 00021708  0x00005524 branch  0x000054cd 
+ 00021709  0x00005527 set1  0x00000000 , 0x00000015 
+ 00021710  0x00005528 enable  0x0000001d 
+ 00021711  0x00005529 enable  0x00000020 
+ 00021712  0x0000552a disable  0x00000021 
+ 00021713  0x0000552b call  0x0000547f 
+ 00021714  0x0000552c rshift16  0x00000009 , 0x0000003f 
+ 00021715  0x0000552d rshift8  0x0000003f , 0x0000003f 
+ 00021716  0x0000552e rshift4  0x0000003f , 0x0000003f 
+ 00021717  0x0000552f inject  0x00000003 , 0x00000028 
+ 00021718  0x00005530 enable  0x00000007 
+ 00021719  0x00005531 enable  0x00000009 
+ 00021720  0x00005532 bpatchx  0x0000004e , 0x00004029 
+ 00021721  0x00005533 fetch  0x00000001 , 0x000043dc 
+ 00021722  0x00005534 inject  0x00000003 , 0x00000008 
+ 00021723  0x00005535 ifetch  0x00000001 , 0x00000006 
+ 00021724  0x00005536 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021725  0x00005537 inject  0x00000003 , 0x00000008 
+ 00021726  0x00005538 branch  0x000054e2 , 0x00000005 
+ 00021727  0x0000553a ifetch  0x00000001 , 0x00000006 
+ 00021728  0x0000553b inject  0x00000003 , 0x00000008 
+ 00021729  0x0000553c loop  0x000054df 
+ 00021730  0x0000553f enable  0x00000008 
+ 00021731  0x00005540 inject  0x00000003 , 0x00000018 
+ 00021732  0x00005541 disable  0x00000008 
+ 00021733  0x00005542 until  0x0000003e , 0x00000027 
+ 00021734  0x00005543 nop  0x00000064 
+ 00021735  0x00005544 disable  0x0000001d 
+ 00021736  0x00005545 rtn 
+ 00021737  0x00005548 bpatchx  0x0000004f , 0x00004029 
+ 00021738  0x00005549 fetch  0x00000001 , 0x00004484 
+ 00021739  0x0000554a beq  0x00000001 , 0x000054f9 
+ 00021740  0x0000554b fetch  0x00000001 , 0x00004485 
+ 00021741  0x0000554c lshift4  0x0000003f , 0x0000003f 
+ 00021742  0x0000554d lshift2  0x0000003f , 0x0000003f 
+ 00021743  0x0000554e store  0x00000001 , 0x000043dc 
+ 00021744  0x0000554f fetcht  0x00000001 , 0x0000436f 
+ 00021745  0x00005550 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021746  0x00005551 store  0x00000001 , 0x000043dd 
+ 00021747  0x00005552 fetch  0x00000006 , 0x000044a0 
+ 00021748  0x00005553 store  0x00000006 , 0x000043de 
+ 00021749  0x00005554 copy  0x00000002 , 0x00000039 
+ 00021750  0x00005555 arg  0x00004370 , 0x00000006 
+ 00021751  0x00005556 call  0x00007ef4 
+ 00021752  0x00005557 branch  0x00005504 
+ 00021753  0x00005559 fetch  0x00000001 , 0x00004486 
+ 00021754  0x0000555a lshift4  0x0000003f , 0x0000003f 
+ 00021755  0x0000555b lshift2  0x0000003f , 0x0000003f 
+ 00021756  0x0000555c increase  0x00000001 , 0x0000003f 
+ 00021757  0x0000555d store  0x00000001 , 0x000043dc 
+ 00021758  0x0000555e setarg  0x0000000c 
+ 00021759  0x0000555f store  0x00000001 , 0x000043dd 
+ 00021760  0x00005560 fetch  0x00000006 , 0x000044a0 
+ 00021761  0x00005561 store  0x00000006 , 0x000043de 
+ 00021762  0x00005562 fetch  0x00000006 , 0x000041d0 
+ 00021763  0x00005563 istore  0x00000006 , 0x00000005 
+ 00021764  0x00005565 bpatchx  0x00000050 , 0x0000402a 
+ 00021765  0x00005566 fetch  0x00000001 , 0x00000000 
+ 00021766  0x00005567 increase  0x00000001 , 0x0000003f 
+ 00021767  0x00005568 store  0x00000001 , 0x00000000 
+ 00021768  0x00005569 arg  0x00000708 , 0x0000001b 
+ 00021769  0x0000556a disable  0x0000002d 
+ 00021770  0x0000556b branch  0x000054bf 
+ 00021771  0x0000556e bpatchx  0x00000051 , 0x0000402a 
+ 00021772  0x0000556f fetch  0x00000001 , 0x0000449e 
+ 00021773  0x00005570 rtnne  0x00000001 
+ 00021774  0x00005571 fetch  0x00000001 , 0x00000000 
+ 00021775  0x00005572 increase  0x00000001 , 0x0000003f 
+ 00021776  0x00005573 store  0x00000001 , 0x00000000 
+ 00021777  0x00005574 arg  0x00000c03 , 0x00000002 
+ 00021778  0x00005575 fetch  0x00000001 , 0x0000449f 
+ 00021779  0x00005576 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021780  0x00005577 copy  0x00000011 , 0x0000003f 
+ 00021781  0x00005578 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00021782  0x00005579 storet  0x00000002 , 0x000043dc 
+ 00021783  0x0000557a fetch  0x00000006 , 0x000044a0 
+ 00021784  0x0000557b istore  0x00000006 , 0x00000005 
+ 00021785  0x0000557c fetch  0x00000006 , 0x0000044f 
+ 00021786  0x0000557d istore  0x00000006 , 0x00000005 
+ 00021787  0x0000557e branch  0x000054bf 
+ 00021788  0x00005582 bpatchx  0x00000052 , 0x0000402a 
+ 00021789  0x00005583 arg  0x00000004 , 0x00000002 
+ 00021790  0x00005584 fetch  0x00000001 , 0x00004485 
+ 00021791  0x00005585 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021792  0x00005586 storet  0x00000001 , 0x000043dc 
+ 00021793  0x00005587 fetcht  0x00000001 , 0x0000438f 
+ 00021794  0x00005588 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021795  0x00005589 store  0x00000001 , 0x000043dd 
+ 00021796  0x0000558a fetch  0x00000006 , 0x000044a0 
+ 00021797  0x0000558b store  0x00000006 , 0x000043de 
+ 00021798  0x0000558c arg  0x00004390 , 0x00000006 
+ 00021799  0x0000558d copy  0x00000002 , 0x00000039 
+ 00021800  0x0000558e call  0x00007ef4 
+ 00021801  0x0000558f call  0x000054c7 
+ 00021802  0x00005590 branch  0x00005706 
+ 00021803  0x00005593 bpatchx  0x00000053 , 0x0000402a 
+ 00021804  0x00005594 force  0xffffffff , 0x0000003f 
+ 00021805  0x00005595 setsect  0x00000002 , 0x00000001 
+ 00021806  0x00005596 store  0x00000005 , 0x0000046f 
+ 00021807  0x00005597 call  0x0000545b 
+ 00021808  0x00005598 force  0x00000004 , 0x00000039 
+ 00021809  0x00005599 arg  0x00000463 , 0x00000005 
+ 00021810  0x0000559a call  0x0000630d 
+ 00021811  0x0000559b fetch  0x00000002 , 0x0000449c 
+ 00021812  0x0000559c store  0x00000002 , 0x0000046d 
+ 00021813  0x0000559e random  0x0000003f 
+ 00021814  0x0000559f and_into  0x0000000f , 0x0000003f 
+ 00021815  0x000055a0 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00021816  0x000055a1 branch  0x00005535 , 0x00000002 
+ 00021817  0x000055a2 store  0x00000001 , 0x00000458 
+ 00021818  0x000055a3 store  0x00000001 , 0x000006e6 
+ 00021819  0x000055a4 bpatchx  0x00000054 , 0x0000402a 
+ 00021820  0x000055a5 fetcht  0x00000002 , 0x00004367 
+ 00021821  0x000055a6 storet  0x00000002 , 0x00000441 
+ 00021822  0x000055a7 copy  0x00000002 , 0x00000013 
+ 00021823  0x000055a8 add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00021824  0x000055a9 idiv  0x00000013 
+ 00021825  0x000055aa call  0x00007f86 
+ 00021826  0x000055ab remainder  0x00000011 
+ 00021827  0x000055ac isub  0x00000011 , 0x0000003f 
+ 00021828  0x000055ad iadd  0x00000013 , 0x0000003f 
+ 00021829  0x000055ae fetcht  0x00000002 , 0x00004365 
+ 00021830  0x000055af iadd  0x00000002 , 0x0000003f 
+ 00021831  0x000055b0 store  0x00000004 , 0x00000443 
+ 00021832  0x000055b1 isub  0x00000022 , 0x00000011 
+ 00021833  0x000055b2 increase  0xfffffffa , 0x00000011 
+ 00021834  0x000055b3 arg  0x00002205 , 0x00000012 
+ 00021835  0x000055b4 fetch  0x00000001 , 0x00004495 
+ 00021836  0x000055b5 nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00021837  0x000055b6 fetch  0x00000001 , 0x0000448e 
+ 00021838  0x000055b7 nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00021839  0x000055b8 copy  0x00000012 , 0x0000003f 
+ 00021840  0x000055b9 store  0x00000002 , 0x000043dc 
+ 00021841  0x000055ba fetch  0x00000006 , 0x000044a0 
+ 00021842  0x000055bb istore  0x00000006 , 0x00000005 
+ 00021843  0x000055bc fetch  0x00000006 , 0x0000044f 
+ 00021844  0x000055bd istore  0x00000006 , 0x00000005 
+ 00021845  0x000055be fetch  0x00000004 , 0x00000463 
+ 00021846  0x000055bf istore  0x00000004 , 0x00000005 
+ 00021847  0x000055c0 random  0x0000003f 
+ 00021848  0x000055c1 istore  0x00000002 , 0x00000005 
+ 00021849  0x000055c2 random  0x0000003f 
+ 00021850  0x000055c3 istore  0x00000001 , 0x00000005 
+ 00021851  0x000055c4 force  0x00000002 , 0x0000003f 
+ 00021852  0x000055c5 istore  0x00000001 , 0x00000005 
+ 00021853  0x000055c6 rshift2  0x00000011 , 0x0000003f 
+ 00021854  0x000055c7 istore  0x00000002 , 0x00000005 
+ 00021855  0x000055c8 rshift2  0x00000013 , 0x0000003f 
+ 00021856  0x000055c9 istore  0x00000002 , 0x00000005 
+ 00021857  0x000055ca bpatchx  0x00000055 , 0x0000402a 
+ 00021858  0x000055cb setarg  0x00000000 
+ 00021859  0x000055cc istore  0x00000002 , 0x00000005 
+ 00021860  0x000055cd fetch  0x00000002 , 0x0000449c 
+ 00021861  0x000055ce istore  0x00000002 , 0x00000005 
+ 00021862  0x000055cf fetch  0x00000005 , 0x0000046f 
+ 00021863  0x000055d0 istore  0x00000005 , 0x00000005 
+ 00021864  0x000055d1 fetch  0x00000001 , 0x00000458 
+ 00021865  0x000055d2 arg  0x000000a0 , 0x00000002 
+ 00021866  0x000055d3 ior  0x00000002 , 0x0000003f 
+ 00021867  0x000055d4 istore  0x00000001 , 0x00000005 
+ 00021868  0x000055d5 call  0x000054c7 
+ 00021869  0x000055d6 setarg  0x000043dc 
+ 00021870  0x000055d7 add  0x0000003f , 0x00000012 , 0x00000006 
+ 00021871  0x000055d8 ifetch  0x00000003 , 0x00000006 
+ 00021872  0x000055d9 store  0x00000003 , 0x00000467 
+ 00021873  0x000055da rtn 
+ 00021874  0x000055dd bpatchx  0x00000056 , 0x0000402a 
+ 00021875  0x000055de disable  0x00000029 
+ 00021876  0x000055df branch  0x0000540c 
+ 00021877  0x000055e4 fetch  0x00000001 , 0x0000043f 
+ 00021878  0x000055e5 rtnbit0  0x00000005 
+ 00021879  0x000055e6 fetch  0x00000002 , 0x00000459 
+ 00021880  0x000055e7 fetcht  0x00000002 , 0x0000045f 
+ 00021881  0x000055e8 isub  0x00000002 , 0x0000003f 
+ 00021882  0x000055e9 nrtn  0x00000002 
+ 00021883  0x000055ea store  0x00000002 , 0x00000a9a 
+ 00021884  0x000055eb bpatchx  0x00000057 , 0x0000402a 
+ 00021885  0x000055ec fetch  0x00000001 , 0x0000043f 
+ 00021886  0x000055ed set0  0x00000005 , 0x0000003f 
+ 00021887  0x000055ee set0  0x00000003 , 0x0000003f 
+ 00021888  0x000055ef store  0x00000001 , 0x0000043f 
+ 00021889  0x000055f0 fetch  0x00000004 , 0x00000443 
+ 00021890  0x000055f1 fetcht  0x00000002 , 0x00000441 
+ 00021891  0x000055f2 storet  0x00000002 , 0x00000aa2 
+ 00021892  0x000055f3 isub  0x00000002 , 0x00000011 
+ 00021893  0x000055f4 bpatchx  0x00000058 , 0x0000402b 
+ 00021894  0x000055f5 fetch  0x00000001 , 0x000043d3 
+ 00021895  0x000055f6 store  0x00000001 , 0x0000046a 
+ 00021896  0x000055f7 ifetcht  0x00000002 , 0x00000006 
+ 00021897  0x000055f8 ifetch  0x00000002 , 0x00000006 
+ 00021898  0x000055f9 lshift2  0x0000003f , 0x0000003f 
+ 00021899  0x000055fa store  0x00000002 , 0x00000441 
+ 00021900  0x000055fb lshift2  0x00000002 , 0x00000002 
+ 00021901  0x000055fc iadd  0x00000002 , 0x0000003f 
+ 00021902  0x000055fd ifetcht  0x00000004 , 0x00000006 
+ 00021903  0x000055fe storet  0x00000004 , 0x0000046b 
+ 00021904  0x000055ff iadd  0x00000011 , 0x0000003f 
+ 00021905  0x00005600 copy  0x0000003f , 0x00000014 
+ 00021906  0x00005601 fetch  0x00000002 , 0x00000441 
+ 00021907  0x00005602 fetcht  0x00000002 , 0x00000aa2 
+ 00021908  0x00005603 isub  0x00000002 , 0x0000003f 
+ 00021909  0x00005604 fetcht  0x00000002 , 0x00000a9a 
+ 00021910  0x00005605 imul32  0x00000002 , 0x0000003f 
+ 00021911  0x00005606 iadd  0x00000014 , 0x0000003f 
+ 00021912  0x00005607 store  0x00000004 , 0x00000443 
+ 00021913  0x00005608 call  0x00005713 
+ 00021914  0x00005609 fetch  0x00000002 , 0x0000046d 
+ 00021915  0x0000560a store  0x00000002 , 0x000044ba 
+ 00021916  0x0000560b rtn 
+ 00021917  0x0000560f bpatchx  0x00000059 , 0x0000402b 
+ 00021918  0x00005610 fetch  0x00000001 , 0x0000043f 
+ 00021919  0x00005611 rtnbit0  0x00000006 
+ 00021920  0x00005612 fetch  0x00000002 , 0x00000459 
+ 00021921  0x00005613 fetcht  0x00000002 , 0x0000045f 
+ 00021922  0x00005614 isub  0x00000002 , 0x0000003f 
+ 00021923  0x00005615 nrtn  0x00000002 
+ 00021924  0x00005616 fetch  0x00000001 , 0x0000043f 
+ 00021925  0x00005617 set0  0x00000006 , 0x0000003f 
+ 00021926  0x00005618 store  0x00000001 , 0x0000043f 
+ 00021927  0x00005619 fetch  0x00000005 , 0x000043ce 
+ 00021928  0x0000561a store  0x00000005 , 0x0000046f 
+ 00021929  0x0000561b branch  0x0000545b 
+ 00021930  0x0000561f bpatchx  0x0000005a , 0x0000402b 
+ 00021931  0x00005620 call  0x000056ed 
+ 00021932  0x00005621 call  0x000055c0 
+ 00021933  0x00005622 fetch  0x00000001 , 0x000002d9 
+ 00021934  0x00005623 isolate1  0x00000004 , 0x0000003f 
+ 00021935  0x00005624 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00021936  0x00005625 rshift  0x0000003f , 0x0000003f 
+ 00021937  0x00005626 ixor  0x00000002 , 0x0000003f 
+ 00021938  0x00005627 isolate1  0x00000002 , 0x0000003f 
+ 00021939  0x00005628 setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00021940  0x00005629 rtnmark1  0x0000000f 
+ 00021941  0x0000562a fetch  0x00000001 , 0x000002da 
+ 00021942  0x0000562b branch  0x000055bc , 0x00000034 
+ 00021943  0x0000562c fetch  0x00000001 , 0x0000043f 
+ 00021944  0x0000562d bbit0  0x00000004 , 0x000055bc 
+ 00021945  0x0000562e call  0x0000748d 
+ 00021946  0x0000562f call  0x000073fb 
+ 00021947  0x00005630 nrtn  0x00000034 
+ 00021948  0x00005632 fetcht  0x00000001 , 0x00000456 
+ 00021949  0x00005633 setflip  0x00000002 , 0x00000002 
+ 00021950  0x00005634 storet  0x00000001 , 0x00000456 
+ 00021951  0x00005635 rtn 
+ 00021952  0x00005639 bpatchx  0x0000005b , 0x0000402b 
+ 00021953  0x0000563a fetcht  0x00000001 , 0x00000456 
+ 00021954  0x0000563b isolate0  0x00000005 , 0x00000002 
+ 00021955  0x0000563c rtn  0x00000001 
+ 00021956  0x0000563d fetch  0x00000001 , 0x000002d9 
+ 00021957  0x0000563e lshift  0x0000003f , 0x0000003f 
+ 00021958  0x0000563f ixor  0x00000002 , 0x0000003f 
+ 00021959  0x00005640 rtnbit0  0x00000003 
+ 00021960  0x00005641 set0  0x00000005 , 0x00000002 
+ 00021961  0x00005642 setflip  0x00000003 , 0x00000002 
+ 00021962  0x00005643 storet  0x00000001 , 0x00000456 
+ 00021963  0x00005644 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00021964  0x00005645 nrtn  0x00000001 
+ 00021965  0x00005646 fetch  0x00000001 , 0x000043de 
+ 00021966  0x00005647 beq  0x00000005 , 0x000055d2 
+ 00021967  0x00005648 fetch  0x00000001 , 0x000044c5 
+ 00021968  0x00005649 beq  0x00000002 , 0x000055d6 
+ 00021969  0x0000564a rtn 
+ 00021970  0x0000564e fetch  0x00000001 , 0x0000043f 
+ 00021971  0x0000564f set1  0x00000004 , 0x0000003f 
+ 00021972  0x00005650 store  0x00000001 , 0x0000043f 
+ 00021973  0x00005651 rtn 
+ 00021974  0x00005654 bpatchx  0x0000005c , 0x0000402b 
+ 00021975  0x00005655 jam  0x00000000 , 0x000044c5 
+ 00021976  0x00005656 arg  0x00000000 , 0x0000003f 
+ 00021977  0x00005657 store  0x00000004 , 0x0000440d 
+ 00021978  0x00005658 store  0x00000005 , 0x00004403 
+ 00021979  0x00005659 set1  0x00000027 , 0x0000003f 
+ 00021980  0x0000565a store  0x00000005 , 0x00004408 
+ 00021981  0x0000565b fetch  0x00000001 , 0x0000043f 
+ 00021982  0x0000565c set0  0x00000004 , 0x0000003f 
+ 00021983  0x0000565d store  0x00000001 , 0x0000043f 
+ 00021984  0x0000565e rtn 
+ 00021985  0x00005662 bpatchx  0x0000005d , 0x0000402b 
+ 00021986  0x00005663 call  0x00005422 
+ 00021987  0x00005664 call  0x00005485 
+ 00021988  0x00005665 fetch  0x00000001 , 0x00000001 
+ 00021989  0x00005666 increase  0x00000001 , 0x0000003f 
+ 00021990  0x00005667 store  0x00000001 , 0x00000001 
+ 00021991  0x00005668 rtn 
+ 00021992  0x0000566c bpatchx  0x0000005e , 0x0000402b 
+ 00021993  0x0000566d fetch  0x00000001 , 0x00004369 
+ 00021994  0x0000566e rtnne  0x00000001 
+ 00021995  0x0000566f arg  0x00000002 , 0x00000007 
+ 00021996  0x00005670 call  0x00007f16 
+ 00021997  0x00005671 nrtn  0x00000034 
+ 00021998  0x00005672 fetch  0x00000002 , 0x0000436a 
+ 00021999  0x00005673 fetcht  0x00000002 , 0x0000436c 
+ 00022000  0x00005674 isub  0x00000002 , 0x0000003f 
+ 00022001  0x00005675 arg  0x00000002 , 0x00000007 
+ 00022002  0x00005676 call  0x00007f08 
+ 00022003  0x00005677 disable  0x00000029 
+ 00022004  0x00005678 call  0x00005572 
+ 00022005  0x00005679 call  0x000055e1 
+ 00022006  0x0000567a nrtn  0x0000002d 
+ 00022007  0x0000567b bpatchx  0x0000005f , 0x0000402b 
+ 00022008  0x0000567c fetch  0x00000006 , 0x000002db 
+ 00022009  0x0000567d store  0x00000006 , 0x0000044f 
+ 00022010  0x00005680 fetch  0x00000001 , 0x00000002 
+ 00022011  0x00005681 increase  0x00000001 , 0x0000003f 
+ 00022012  0x00005682 store  0x00000001 , 0x00000002 
+ 00022013  0x00005683 call  0x00005608 
+ 00022014  0x00005684 rtn  0x00000029 
+ 00022015  0x00005685 call  0x0000550b 
+ 00022016  0x00005686 nrtn  0x0000002d 
+ 00022017  0x00005687 bpatchx  0x00000060 , 0x0000402c 
+ 00022018  0x00005688 fetch  0x00000001 , 0x00000004 
+ 00022019  0x00005689 increase  0x00000001 , 0x0000003f 
+ 00022020  0x0000568a store  0x00000001 , 0x00000004 
+ 00022021  0x0000568b fetch  0x00000009 , 0x000002e1 
+ 00022022  0x0000568c store  0x00000009 , 0x00000101 
+ 00022023  0x0000568d rtn 
+ 00022024  0x00005690 bpatchx  0x00000061 , 0x0000402c 
+ 00022025  0x00005691 fetch  0x00000001 , 0x0000049b 
+ 00022026  0x00005692 rtnne  0x0000001b 
+ 00022027  0x00005693 fetch  0x00000006 , 0x0000044f 
+ 00022028  0x00005694 fetcht  0x00000006 , 0x0000448f 
+ 00022029  0x00005695 isub  0x00000002 , 0x0000003e 
+ 00022030  0x00005696 nrtn  0x00000005 
+ 00022031  0x00005697 call  0x0000223b 
+ 00022032  0x00005698 nrtn  0x00000005 
+ 00022033  0x00005699 call  0x0000552b 
+ 00022034  0x0000569a call  0x00005340 
+ 00022035  0x0000569b bpatchx  0x00000062 , 0x0000402c 
+ 00022036  0x0000569c jam  0x00000000 , 0x000041ce 
+ 00022037  0x0000569d jam  0x00000000 , 0x00000476 
+ 00022038  0x0000569e jam  0x00000000 , 0x00004369 
+ 00022039  0x0000569f jam  0x00000000 , 0x0000049b 
+ 00022040  0x000056a0 branch  0x00002223 
+ 00022041  0x000056a3 arg  0x00000001 , 0x00000011 
+ 00022042  0x000056a4 fetch  0x00000001 , 0x000002d9 
+ 00022043  0x000056a5 rtnbit1  0x00000006 
+ 00022044  0x000056a6 arg  0x00000000 , 0x00000011 
+ 00022045  0x000056a7 rtn 
+ 00022046  0x000056ac bpatchx  0x00000063 , 0x0000402c 
+ 00022047  0x000056ad fetch  0x00000001 , 0x00000456 
+ 00022048  0x000056ae rtnbit1  0x00000005 
+ 00022049  0x000056af call  0x00005642 
+ 00022050  0x000056b0 call  0x00005873 
+ 00022051  0x000056b1 branch  0x00005664 , 0x00000034 
+ 00022052  0x000056b2 ifetch  0x00000001 , 0x00000006 
+ 00022053  0x000056b3 ifetcht  0x00000001 , 0x00000006 
+ 00022054  0x000056b4 copy  0x00000002 , 0x00000011 
+ 00022055  0x000056b5 isub  0x00000011 , 0x0000003f 
+ 00022056  0x000056b6 arg  0x0000001b , 0x00000002 
+ 00022057  0x000056b7 call  0x00007fdd 
+ 00022058  0x000056b8 copy  0x0000003f , 0x00000002 
+ 00022059  0x000056b9 ifetch  0x00000001 , 0x00000006 
+ 00022060  0x000056ba copy  0x0000003f , 0x00000001 
+ 00022061  0x000056bb copy  0x00000011 , 0x0000003f 
+ 00022062  0x000056bc iadd  0x00000006 , 0x00000006 
+ 00022063  0x000056bd arg  0x000043de , 0x00000005 
+ 00022064  0x000056be copy  0x00000002 , 0x00000039 
+ 00022065  0x000056bf call  0x00007f01 
+ 00022066  0x000056c0 call  0x00005654 
+ 00022067  0x000056c1 call  0x00005666 
+ 00022068  0x000056c3 call  0x00005873 
+ 00022069  0x000056c4 ifetch  0x00000001 , 0x00000006 
+ 00022070  0x000056c5 copy  0x0000003f , 0x00000011 
+ 00022071  0x000056c6 copy  0x00000006 , 0x00000013 
+ 00022072  0x000056c7 ifetcht  0x00000001 , 0x00000006 
+ 00022073  0x000056c8 copy  0x00000002 , 0x00000012 
+ 00022074  0x000056c9 isub  0x00000012 , 0x0000003f 
+ 00022075  0x000056ca arg  0x0000001b , 0x00000002 
+ 00022076  0x000056cb call  0x00007fdd 
+ 00022077  0x000056cc iadd  0x00000012 , 0x0000003f 
+ 00022078  0x000056cd istore  0x00000001 , 0x00000013 
+ 00022079  0x000056ce isub  0x00000011 , 0x0000003e 
+ 00022080  0x000056cf nrtn  0x00000005 
+ 00022081  0x000056d0 branch  0x00005896 
+ 00022082  0x000056d4 call  0x00005649 
+ 00022083  0x000056d5 rtnmark1  0x00000029 
+ 00022084  0x000056d6 fetch  0x00000001 , 0x000044e9 
+ 00022085  0x000056d7 bbit0  0x00000002 , 0x00005652 
+ 00022086  0x000056d8 call  0x00005876 
+ 00022087  0x000056d9 branch  0x00005652 , 0x00000034 
+ 00022088  0x000056da branch  0x00005650 
+ 00022089  0x000056de call  0x00005873 
+ 00022090  0x000056df branch  0x00005652 , 0x00000034 
+ 00022091  0x000056e0 ifetch  0x00000001 , 0x00000006 
+ 00022092  0x000056e1 ifetcht  0x00000001 , 0x00000006 
+ 00022093  0x000056e2 isub  0x00000002 , 0x0000003f 
+ 00022094  0x000056e3 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00022095  0x000056e4 branch  0x00005652 , 0x00000002 
+ 00022096  0x000056e6 set1  0x00000029 , 0x00000000 
+ 00022097  0x000056e7 rtn 
+ 00022098  0x000056ea set0  0x00000029 , 0x00000000 
+ 00022099  0x000056eb rtn 
+ 00022100  0x000056ee copy  0x00000011 , 0x0000003f 
+ 00022101  0x000056ef rtn  0x00000034 
+ 00022102  0x000056f0 arg  0x00000001 , 0x00000001 
+ 00022103  0x000056f1 rtn 
+ 00022104  0x000056f5 bpatchx  0x00000064 , 0x0000402c 
+ 00022105  0x000056f6 increase  0x00000001 , 0x00000002 
+ 00022106  0x000056f7 call  0x0000576a 
+ 00022107  0x000056f8 increase  0xfffffffe , 0x00000006 
+ 00022108  0x000056f9 ifetch  0x00000002 , 0x00000006 
+ 00022109  0x000056fa arg  0x00002902 , 0x00000002 
+ 00022110  0x000056fb isub  0x00000002 , 0x0000003e 
+ 00022111  0x000056fc nrtn  0x00000005 
+ 00022112  0x000056fd increase  0x00000001 , 0x00000006 
+ 00022113  0x000056fe copy  0x00000006 , 0x00000011 
+ 00022114  0x000056ff ifetch  0x00000001 , 0x00000006 
+ 00022115  0x00005700 rtn 
+ 00022116  0x00005704 force  0x00000000 , 0x00000002 
+ 00022117  0x00005705 force  0x00000001 , 0x00000001 
+ 00022118  0x00005708 bpatchx  0x00000065 , 0x0000402c 
+ 00022119  0x00005709 storet  0x00000001 , 0x000043dd 
+ 00022120  0x0000570a fetcht  0x00000001 , 0x00000456 
+ 00022121  0x0000570b set1  0x00000005 , 0x00000002 
+ 00022122  0x0000570c and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00022123  0x0000570d ior  0x00000001 , 0x0000003f 
+ 00022124  0x0000570e store  0x00000001 , 0x00000456 
+ 00022125  0x0000570f and_into  0x0000001f , 0x0000003f 
+ 00022126  0x00005710 isolate1  0x00000029 , 0x00000000 
+ 00022127  0x00005711 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00022128  0x00005712 store  0x00000001 , 0x000043dc 
+ 00022129  0x00005714 fetch  0x00000001 , 0x000043dc 
+ 00022130  0x00005715 compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00022131  0x00005716 nbranch  0x00005676 , 0x00000001 
+ 00022132  0x00005717 fetch  0x00000001 , 0x000043dd 
+ 00022133  0x00005718 rtn  0x00000034 
+ 00022134  0x0000571a fetch  0x00000001 , 0x0000043f 
+ 00022135  0x0000571b rtnbit0  0x00000004 
+ 00022136  0x0000571c call  0x0000748d 
+ 00022137  0x0000571d branch  0x000073e3 
+ 00022138  0x00005721 arg  0x00000000 , 0x00000007 
+ 00022139  0x00005722 branch  0x00002c32 
+ 00022140  0x00005725 arg  0x00000000 , 0x00000007 
+ 00022141  0x00005726 branch  0x00002c36 
+ 00022142  0x0000572a bpatchx  0x00000066 , 0x0000402c 
+ 00022143  0x0000572b rtnmark1  0x0000000f 
+ 00022144  0x0000572c call  0x00005890 
+ 00022145  0x0000572d nrtn  0x00000034 
+ 00022146  0x0000572e fetch  0x00000001 , 0x000002d9 
+ 00022147  0x0000572f and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00022148  0x00005730 store  0x00000001 , 0x0000450c 
+ 00022149  0x00005731 ifetch  0x00000001 , 0x00000006 
+ 00022150  0x00005732 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00022151  0x00005733 store  0x00000001 , 0x0000450b 
+ 00022152  0x00005734 rtn  0x00000034 
+ 00022153  0x00005735 copy  0x00000006 , 0x0000003f 
+ 00022154  0x00005736 store  0x00000002 , 0x0000450d 
+ 00022155  0x00005737 fetch  0x00000001 , 0x0000450c 
+ 00022156  0x00005738 beq  0x00000003 , 0x00005c64 
+ 00022157  0x0000573a call  0x0000569a 
+ 00022158  0x0000573b nbranch  0x0000567a , 0x00000028 
+ 00022159  0x0000573c call  0x0000567c 
+ 00022160  0x0000573d fetch  0x00000002 , 0x0000450d 
+ 00022161  0x0000573e copy  0x0000003f , 0x00000006 
+ 00022162  0x0000573f ifetch  0x00000002 , 0x00000006 
+ 00022163  0x00005740 store  0x00000002 , 0x000044fc 
+ 00022164  0x00005741 bpatchx  0x00000067 , 0x0000402c 
+ 00022165  0x00005742 ifetch  0x00000002 , 0x00000006 
+ 00022166  0x00005743 beq  0x00000004 , 0x000058ab 
+ 00022167  0x00005744 beq  0x00000006 , 0x00005af4 
+ 00022168  0x00005745 beq  0x00000005 , 0x00005ab6 
+ 00022169  0x00005746 rtn 
+ 00022170  0x0000574a fetch  0x00000001 , 0x0000450c 
+ 00022171  0x0000574b beq  0x00000002 , 0x000056a9 
+ 00022172  0x0000574c beq  0x00000001 , 0x000056c1 
+ 00022173  0x0000574d rtn 
+ 00022174  0x00005753 call  0x00007fe7 
+ 00022175  0x00005754 arg  0x00000004 , 0x00000002 
+ 00022176  0x00005755 isub  0x0000003f , 0x0000003e 
+ 00022177  0x00005756 rtn  0x00000005 
+ 00022178  0x00005757 arg  0x00000005 , 0x00000002 
+ 00022179  0x00005758 isub  0x0000003f , 0x0000003e 
+ 00022180  0x00005759 rtn  0x00000005 
+ 00022181  0x0000575a arg  0x00000006 , 0x00000002 
+ 00022182  0x0000575b isub  0x0000003f , 0x0000003e 
+ 00022183  0x0000575c rtn  0x00000005 
+ 00022184  0x0000575d branch  0x00007fe9 
+ 00022185  0x00005761 fetch  0x00000002 , 0x0000450d 
+ 00022186  0x00005762 copy  0x0000003f , 0x00000006 
+ 00022187  0x00005763 ifetch  0x00000002 , 0x00000006 
+ 00022188  0x00005764 store  0x00000002 , 0x000044fc 
+ 00022189  0x00005765 ifetch  0x00000002 , 0x00000006 
+ 00022190  0x00005766 call  0x0000569e 
+ 00022191  0x00005767 nrtn  0x00000028 
+ 00022192  0x00005768 fetcht  0x00000001 , 0x0000450b 
+ 00022193  0x00005769 storet  0x00000001 , 0x000044fe 
+ 00022194  0x0000576a fetch  0x00000002 , 0x000044fc 
+ 00022195  0x0000576b increase  0x00000004 , 0x0000003f 
+ 00022196  0x0000576c isub  0x00000002 , 0x0000003e 
+ 00022197  0x0000576d branch  0x00007fe7 , 0x00000005 
+ 00022198  0x0000576e fetch  0x00000001 , 0x0000450b 
+ 00022199  0x0000576f copy  0x0000003f , 0x00000039 
+ 00022200  0x00005770 arg  0x00000311 , 0x00000005 
+ 00022201  0x00005771 fetch  0x00000002 , 0x0000450d 
+ 00022202  0x00005772 copy  0x0000003f , 0x00000006 
+ 00022203  0x00005773 call  0x00007f01 
+ 00022204  0x00005774 branch  0x00007fe9 
+ 00022205  0x0000577a call  0x00007fe7 
+ 00022206  0x0000577b fetch  0x00000001 , 0x000044fe 
+ 00022207  0x0000577c nrtn  0x00000034 
+ 00022208  0x0000577d branch  0x00007fe9 
+ 00022209  0x00005780 call  0x000056bd 
+ 00022210  0x00005781 nrtn  0x00000028 
+ 00022211  0x00005782 fetch  0x00000001 , 0x000044fe 
+ 00022212  0x00005783 arg  0x00000311 , 0x00000005 
+ 00022213  0x00005784 iadd  0x00000005 , 0x00000011 
+ 00022214  0x00005785 fetcht  0x00000001 , 0x0000450b 
+ 00022215  0x00005786 iadd  0x00000002 , 0x0000003f 
+ 00022216  0x00005787 store  0x00000001 , 0x000044fe 
+ 00022217  0x00005788 fetch  0x00000001 , 0x0000450b 
+ 00022218  0x00005789 copy  0x0000003f , 0x00000039 
+ 00022219  0x0000578a copy  0x00000011 , 0x00000005 
+ 00022220  0x0000578b fetch  0x00000002 , 0x0000450d 
+ 00022221  0x0000578c copy  0x0000003f , 0x00000006 
+ 00022222  0x0000578d call  0x00007ef4 
+ 00022223  0x0000578e setarg  0x00000311 
+ 00022224  0x0000578f store  0x00000002 , 0x0000450d 
+ 00022225  0x00005790 fetch  0x00000002 , 0x000044fc 
+ 00022226  0x00005791 increase  0x00000004 , 0x0000003f 
+ 00022227  0x00005792 fetcht  0x00000001 , 0x000044fe 
+ 00022228  0x00005793 isub  0x00000002 , 0x0000003e 
+ 00022229  0x00005794 branch  0x00007fe7 , 0x00000005 
+ 00022230  0x00005795 branch  0x00007fe9 
+ 00022231  0x0000579c call  0x00007ea5 
+ 00022232  0x0000579d arg  0x0000445e , 0x00000005 
+ 00022233  0x0000579f fetch  0x00000002 , 0x000044fc 
+ 00022234  0x000057a0 increase  0xfffffffb , 0x0000003f 
+ 00022235  0x000057a2 istore  0x00000001 , 0x00000005 
+ 00022236  0x000057a3 copy  0x0000003f , 0x00000039 
+ 00022237  0x000057a4 call  0x00007e9f 
+ 00022238  0x000057a5 branch  0x00007ef4 
+ 00022239  0x000057a8 call  0x00007ea5 
+ 00022240  0x000057a9 arg  0x00004471 , 0x00000005 
+ 00022241  0x000057aa branch  0x000056d9 
+ 00022242  0x000057af fetch  0x00000002 , 0x000041f9 
+ 00022243  0x000057b0 branch  0x00007f9c 
+ 00022244  0x000057b3 fetcht  0x00000004 , 0x0000045b 
+ 00022245  0x000057b4 call  0x00002a7b 
+ 00022246  0x000057b5 isub  0x00000002 , 0x0000000b 
+ 00022247  0x000057b6 deposit  0x0000000b 
+ 00022248  0x000057b7 fetcht  0x00000002 , 0x0000046d 
+ 00022249  0x000057b8 lshift4  0x00000002 , 0x00000002 
+ 00022250  0x000057b9 lshift  0x00000002 , 0x00000002 
+ 00022251  0x000057ba isub  0x00000002 , 0x0000003f 
+ 00022252  0x000057bb rtn 
+ 00022253  0x000057be call  0x00002a7b 
+ 00022254  0x000057bf store  0x00000004 , 0x0000045b 
+ 00022255  0x000057c0 rtn 
+ 00022256  0x000057c4 jam  0x00000024 , 0x00000016 
+ 00022257  0x000057c5 jam  0x00000000 , 0x00000ac2 
+ 00022258  0x000057c7 bpatchx  0x00000068 , 0x0000402d 
+ 00022259  0x000057c8 fetch  0x00000001 , 0x0000436e 
+ 00022260  0x000057c9 rtn  0x00000034 
+ 00022261  0x000057ca arg  0x00000000 , 0x00000007 
+ 00022262  0x000057cb call  0x00007f16 
+ 00022263  0x000057cc nrtn  0x00000034 
+ 00022264  0x000057cd bpatchx  0x00000069 , 0x0000402d 
+ 00022265  0x000057cf disable  0x00000029 
+ 00022266  0x000057d0 enable  0x00000010 
+ 00022267  0x000057d1 call  0x00005572 
+ 00022268  0x000057d2 call  0x00005422 
+ 00022269  0x000057d3 call  0x000054e9 
+ 00022270  0x000057d4 nbranch  0x00005706 , 0x0000002d 
+ 00022271  0x000057d5 fetch  0x00000001 , 0x00000003 
+ 00022272  0x000057d6 increase  0x00000001 , 0x0000003f 
+ 00022273  0x000057d7 store  0x00000001 , 0x00000003 
+ 00022274  0x000057d8 fetch  0x00000001 , 0x000002d9 
+ 00022275  0x000057d9 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00022276  0x000057da beq  0x00000003 , 0x0000551c 
+ 00022277  0x000057db beq  0x00000005 , 0x00005728 
+ 00022278  0x000057dd bpatchx  0x0000006a , 0x0000402d 
+ 00022279  0x000057de random  0x0000003f 
+ 00022280  0x000057df arg  0x000001ff , 0x00000002 
+ 00022281  0x000057e0 iand  0x00000002 , 0x0000003f 
+ 00022282  0x000057e1 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00022283  0x000057e2 call  0x00003cbe 
+ 00022284  0x000057e3 fetch  0x00000001 , 0x00000ac2 
+ 00022285  0x000057e4 fetcht  0x00000001 , 0x0000448d 
+ 00022286  0x000057e5 isub  0x00000002 , 0x0000003e 
+ 00022287  0x000057e6 nbranch  0x000056f2 , 0x00000005 
+ 00022288  0x000057e7 arg  0x00000000 , 0x00000007 
+ 00022289  0x000057e8 fetch  0x00000002 , 0x00004482 
+ 00022290  0x000057e9 branch  0x00007f08 
+ 00022291  0x000057ed bpatchx  0x0000006b , 0x0000402d 
+ 00022292  0x000057ee fetch  0x00000001 , 0x00000476 
+ 00022293  0x000057ef call  0x000053fc 
+ 00022294  0x000057f0 fetch  0x00000002 , 0x00000441 
+ 00022295  0x000057f1 imul32  0x00000002 , 0x0000003f 
+ 00022296  0x000057f2 arg  0x00000177 , 0x00000002 
+ 00022297  0x000057f3 imul32  0x00000002 , 0x0000003f 
+ 00022298  0x000057f4 arg  0x000186a0 , 0x00000002 
+ 00022299  0x000057f5 idiv  0x00000002 
+ 00022300  0x000057f6 fetch  0x00000001 , 0x0000046a 
+ 00022301  0x000057f7 arg  0x00004e20 , 0x00000002 
+ 00022302  0x000057f8 imul32  0x00000002 , 0x0000003f 
+ 00022303  0x000057f9 iadd  0x00000002 , 0x0000003f 
+ 00022304  0x000057fa store  0x00000004 , 0x000044e5 
+ 00022305  0x000057fb bpatchx  0x0000006c , 0x0000402d 
+ 00022306  0x000057fc fetch  0x00000002 , 0x000040c1 
+ 00022307  0x000057fd call  0x00007f86 
+ 00022308  0x000057fe quotient  0x00000002 
+ 00022309  0x000057ff iadd  0x00000002 , 0x0000003f 
+ 00022310  0x00005800 store  0x00000002 , 0x0000044d 
+ 00022311  0x00005801 rtn 
+ 00022312  0x00005804 bpatchx  0x0000006d , 0x0000402d 
+ 00022313  0x00005805 fetch  0x00000006 , 0x000002e1 
+ 00022314  0x00005806 fetcht  0x00000006 , 0x000044a0 
+ 00022315  0x00005807 isub  0x00000002 , 0x0000003e 
+ 00022316  0x00005808 nrtn  0x00000005 
+ 00022317  0x00005809 call  0x00005619 
+ 00022318  0x0000580a copy  0x00000011 , 0x0000003f 
+ 00022319  0x0000580b store  0x00000001 , 0x0000448e 
+ 00022320  0x0000580c fetch  0x00000007 , 0x000002ee 
+ 00022321  0x0000580d store  0x00000007 , 0x00000101 
+ 00022322  0x0000580e ifetch  0x00000008 , 0x00000006 
+ 00022323  0x0000580f istore  0x00000008 , 0x00000005 
+ 00022324  0x00005810 fetch  0x00000006 , 0x000002db 
+ 00022325  0x00005811 store  0x00000006 , 0x0000044f 
+ 00022326  0x00005812 increase  0x00000006 , 0x00000006 
+ 00022327  0x00005813 ifetch  0x00000008 , 0x00000006 
+ 00022328  0x00005814 store  0x00000008 , 0x00000463 
+ 00022329  0x00005815 ifetcht  0x00000002 , 0x00000006 
+ 00022330  0x00005816 bpatchx  0x0000006e , 0x0000402d 
+ 00022331  0x00005817 lshift2  0x00000002 , 0x00000002 
+ 00022332  0x00005818 ifetch  0x00000002 , 0x00000006 
+ 00022333  0x00005819 lshift2  0x0000003f , 0x0000003f 
+ 00022334  0x0000581a store  0x00000002 , 0x00000441 
+ 00022335  0x0000581b store  0x00000004 , 0x00000443 
+ 00022336  0x0000581c isub  0x00000002 , 0x0000003f 
+ 00022337  0x0000581d add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00022338  0x0000581e ifetch  0x00000009 , 0x00000006 
+ 00022339  0x0000581f store  0x00000009 , 0x0000046b 
+ 00022340  0x00005820 bpatchx  0x0000006f , 0x0000402d 
+ 00022341  0x00005821 ifetch  0x00000001 , 0x00000006 
+ 00022342  0x00005822 rshift4  0x0000003f , 0x00000002 
+ 00022343  0x00005823 rshift  0x00000002 , 0x00000002 
+ 00022344  0x00005824 storet  0x00000001 , 0x00000476 
+ 00022345  0x00005825 and_into  0x0000001f , 0x0000003f 
+ 00022346  0x00005826 store  0x00000001 , 0x00000458 
+ 00022347  0x00005827 call  0x00005713 
+ 00022348  0x00005828 call  0x0000545b 
+ 00022349  0x00005829 call  0x0000534c 
+ 00022350  0x0000582a call  0x0000223b 
+ 00022351  0x0000582b nrtn  0x00000005 
+ 00022352  0x0000582c bpatchx  0x00000070 , 0x0000402e 
+ 00022353  0x0000582d call  0x00002841 
+ 00022354  0x0000582e call  0x00005ad3 
+ 00022355  0x0000582f jam  0x00000014 , 0x00000a99 
+ 00022356  0x00005830 call  0x00007d86 
+ 00022357  0x00005831 branch  0x00002223 
+ 00022358  0x00005835 bpatchx  0x00000071 , 0x0000402e 
+ 00022359  0x00005836 fetch  0x00000002 , 0x0000445a 
+ 00022360  0x00005837 iforce  0x00000012 
+ 00022361  0x00005838 fetch  0x00000002 , 0x0000445c 
+ 00022362  0x00005839 iforce  0x00000013 
+ 00022363  0x0000583a fetch  0x00000002 , 0x000044bc 
+ 00022364  0x0000583b iforce  0x00000006 
+ 00022365  0x0000583c enable  0x00000028 
+ 00022366  0x0000583d rtn 
+ 00022367  0x00005841 ifetch  0x00000002 , 0x00000006 
+ 00022368  0x00005842 rtn  0x00000034 
+ 00022369  0x00005843 isub  0x00000012 , 0x0000003e 
+ 00022370  0x00005844 nrtn  0x00000002 
+ 00022371  0x00005845 isub  0x00000013 , 0x0000003e 
+ 00022372  0x00005846 rtn  0x00000005 
+ 00022373  0x00005847 branch  0x00005768 , 0x00000002 
+ 00022374  0x00005848 force  0x00000001 , 0x0000003e 
+ 00022375  0x00005849 rtn 
+ 00022376  0x0000584b force  0x00000000 , 0x0000003f 
+ 00022377  0x0000584c rtn 
+ 00022378  0x00005851 call  0x0000576d 
+ 00022379  0x00005852 branch  0x00005779 , 0x00000005 
+ 00022380  0x00005853 rtn 
+ 00022381  0x00005856 bpatchx  0x00000072 , 0x0000402e 
+ 00022382  0x00005857 fetch  0x00000002 , 0x000044bc 
+ 00022383  0x00005858 iforce  0x00000006 
+ 00022384  0x0000585a ifetch  0x00000002 , 0x00000006 
+ 00022385  0x0000585b rtn  0x00000034 
+ 00022386  0x0000585c isub  0x00000002 , 0x0000003e 
+ 00022387  0x0000585d rtn  0x00000005 
+ 00022388  0x0000585e ifetch  0x00000001 , 0x00000006 
+ 00022389  0x0000585f iadd  0x00000006 , 0x00000006 
+ 00022390  0x00005860 ifetch  0x00000001 , 0x00000006 
+ 00022391  0x00005861 iadd  0x00000006 , 0x00000006 
+ 00022392  0x00005862 branch  0x00005770 
+ 00022393  0x00005864 ifetch  0x00000001 , 0x00000006 
+ 00022394  0x00005865 iadd  0x00000006 , 0x00000006 
+ 00022395  0x00005866 rtn 
+ 00022396  0x0000586b bpatchx  0x00000073 , 0x0000402e 
+ 00022397  0x0000586c fetch  0x00000002 , 0x000044bc 
+ 00022398  0x0000586d iforce  0x00000006 
+ 00022399  0x0000586f ifetch  0x00000002 , 0x00000006 
+ 00022400  0x00005870 rtn  0x00000034 
+ 00022401  0x00005871 ifetch  0x00000001 , 0x00000006 
+ 00022402  0x00005872 iadd  0x00000006 , 0x00000006 
+ 00022403  0x00005873 increase  0xfffffffe , 0x00000006 
+ 00022404  0x00005874 ifetch  0x00000002 , 0x00000006 
+ 00022405  0x00005875 isub  0x00000002 , 0x0000003e 
+ 00022406  0x00005876 rtn  0x00000005 
+ 00022407  0x00005877 ifetch  0x00000001 , 0x00000006 
+ 00022408  0x00005878 iadd  0x00000006 , 0x00000006 
+ 00022409  0x00005879 branch  0x0000577f 
+ 00022410  0x0000587e fetch  0x00000002 , 0x0000049c 
+ 00022411  0x0000587f branch  0x0000578e 
+ 00022412  0x00005882 bpatchx  0x00000074 , 0x0000402e 
+ 00022413  0x00005883 fetch  0x00000002 , 0x000044bc 
+ 00022414  0x00005885 iforce  0x00000006 
+ 00022415  0x00005886 copy  0x00000002 , 0x00000011 
+ 00022416  0x00005888 ifetch  0x00000002 , 0x00000006 
+ 00022417  0x00005889 branch  0x00005799 , 0x00000034 
+ 00022418  0x0000588a isub  0x00000011 , 0x0000003e 
+ 00022419  0x0000588b branch  0x0000579a , 0x00000005 
+ 00022420  0x0000588c ifetch  0x00000001 , 0x00000006 
+ 00022421  0x0000588d iadd  0x00000006 , 0x00000006 
+ 00022422  0x0000588e ifetch  0x00000001 , 0x00000006 
+ 00022423  0x0000588f iadd  0x00000006 , 0x00000006 
+ 00022424  0x00005890 branch  0x00005790 
+ 00022425  0x00005892 branch  0x00007fef 
+ 00022426  0x00005895 ifetch  0x00000001 , 0x00000006 
+ 00022427  0x00005896 store  0x00000001 , 0x000004a2 
+ 00022428  0x00005897 copy  0x0000003f , 0x00000039 
+ 00022429  0x00005898 arg  0x000004a3 , 0x00000005 
+ 00022430  0x00005899 call  0x00007ef4 
+ 00022431  0x0000589a ifetch  0x00000001 , 0x00000006 
+ 00022432  0x0000589b store  0x00000001 , 0x000004b3 
+ 00022433  0x0000589c call  0x00007ea5 
+ 00022434  0x0000589d branch  0x00007ff1 
+ 00022435  0x000058a1 bpatchx  0x00000075 , 0x0000402e 
+ 00022436  0x000058a2 call  0x000057a6 
+ 00022437  0x000058a3 branch  0x000057b8 
+ 00022438  0x000058a6 arg  0x00002a00 , 0x00000002 
+ 00022439  0x000058a7 call  0x0000577c 
+ 00022440  0x000058a8 rtn  0x00000034 
+ 00022441  0x000058a9 ifetch  0x00000001 , 0x00000006 
+ 00022442  0x000058aa copy  0x00000006 , 0x00000005 
+ 00022443  0x000058ab fetcht  0x00000001 , 0x000043af 
+ 00022444  0x000058ac copy  0x00000002 , 0x00000039 
+ 00022445  0x000058ad isub  0x00000002 , 0x0000003e 
+ 00022446  0x000058ae nbranch  0x000057b5 , 0x00000002 
+ 00022447  0x000058af isub  0x00000002 , 0x00000002 
+ 00022448  0x000058b0 arg  0x000043b0 , 0x00000006 
+ 00022449  0x000058b1 call  0x00007f01 
+ 00022450  0x000058b2 copy  0x00000002 , 0x00000039 
+ 00022451  0x000058b3 ncall  0x000057f0 , 0x00000005 
+ 00022452  0x000058b4 rtn 
+ 00022453  0x000058b6 copy  0x0000003f , 0x00000039 
+ 00022454  0x000058b7 arg  0x000043b0 , 0x00000006 
+ 00022455  0x000058b8 branch  0x00007ef4 
+ 00022456  0x000058bc arg  0x0000438f , 0x00000013 
+ 00022457  0x000058bd arg  0x00004370 , 0x00000011 
+ 00022458  0x000058be call  0x000057c5 
+ 00022459  0x000058bf setarg  0x00000000 
+ 00022460  0x000058c0 setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00022461  0x000058c1 store  0x00000001 , 0x00000a9a 
+ 00022462  0x000058c2 arg  0x000043af , 0x00000013 
+ 00022463  0x000058c3 arg  0x00004390 , 0x00000011 
+ 00022464  0x000058c4 call  0x000057c5 
+ 00022465  0x000058c5 rtn  0x00000028 
+ 00022466  0x000058c6 fetch  0x00000001 , 0x00000a9a 
+ 00022467  0x000058c7 branch  0x00002a8c , 0x00000034 
+ 00022468  0x000058c8 rtn 
+ 00022469  0x000058cc bpatchx  0x00000076 , 0x0000402e 
+ 00022470  0x000058cd call  0x00007fe7 
+ 00022471  0x000058ce call  0x00007eda 
+ 00022472  0x000058cf arg  0x00000000 , 0x00000012 
+ 00022473  0x000058d0 arg  0x00000ac3 , 0x00000005 
+ 00022474  0x000058d1 call  0x000057df 
+ 00022475  0x000058d2 fetch  0x00000001 , 0x000043af 
+ 00022476  0x000058d3 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00022477  0x000058d4 iadd  0x00000012 , 0x00000011 
+ 00022478  0x000058d5 increase  0x00000002 , 0x00000011 
+ 00022479  0x000058d6 sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00022480  0x000058d7 nbranch  0x000057dd , 0x00000002 
+ 00022481  0x000058d8 istoret  0x00000001 , 0x00000005 
+ 00022482  0x000058d9 arg  0x00000009 , 0x00000002 
+ 00022483  0x000058da istoret  0x00000001 , 0x00000005 
+ 00022484  0x000058db iforce  0x00000039 
+ 00022485  0x000058dc call  0x00007ef4 
+ 00022486  0x000058dd copy  0x00000011 , 0x00000012 
+ 00022487  0x000058df deposit  0x00000012 
+ 00022488  0x000058e0 store  0x00000001 , 0x00000ac2 
+ 00022489  0x000058e1 arg  0x00000ac2 , 0x00000006 
+ 00022490  0x000058e2 setarg  0xffffffe0 
+ 00022491  0x000058e3 iadd  0x00000013 , 0x00000005 
+ 00022492  0x000058e4 branch  0x00007ebd 
+ 00022493  0x000058e7 call  0x00007fe9 
+ 00022494  0x000058e8 branch  0x000057d7 
+ 00022495  0x000058eb ifetch  0x00000001 , 0x00000011 
+ 00022496  0x000058ec rtn  0x00000034 
+ 00022497  0x000058ed pincrease  0x00000001 
+ 00022498  0x000058ee ifetcht  0x00000001 , 0x00000006 
+ 00022499  0x000058ef sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00022500  0x000058f0 branch  0x000057ee , 0x00000005 
+ 00022501  0x000058f1 iadd  0x00000012 , 0x00000012 
+ 00022502  0x000058f2 copy  0x00000011 , 0x00000006 
+ 00022503  0x000058f3 iforce  0x00000039 
+ 00022504  0x000058f4 call  0x00007ef4 
+ 00022505  0x000058f5 copy  0x00000006 , 0x00000011 
+ 00022506  0x000058f7 deposit  0x00000011 
+ 00022507  0x000058f8 isub  0x00000013 , 0x0000003e 
+ 00022508  0x000058f9 rtn  0x00000002 
+ 00022509  0x000058fa branch  0x000057df 
+ 00022510  0x000058fd iadd  0x00000011 , 0x00000011 
+ 00022511  0x000058fe branch  0x000057ea 
+ 00022512  0x00005902 setarg  0x00000020 
+ 00022513  0x00005903 istore  0x00000001 , 0x00000005 
+ 00022514  0x00005904 loop  0x000057f0 
+ 00022515  0x00005905 rtn 
+ 00022516  0x00005909 bpatchx  0x00000077 , 0x0000402e 
+ 00022517  0x0000590a disable  0x0000002b 
+ 00022518  0x0000590b branch  0x000057f8 , 0x0000002e 
+ 00022519  0x0000590c nbranch  0x00005806 , 0x0000002d 
+ 00022520  0x0000590e call  0x00002bcb 
+ 00022521  0x0000590f fetch  0x00000002 , 0x000040c1 
+ 00022522  0x00005910 store  0x00000002 , 0x0000044d 
+ 00022523  0x00005912 nbranch  0x00002bde , 0x0000002d 
+ 00022524  0x00005913 bmark1  0x0000000f , 0x00002bde 
+ 00022525  0x00005915 fetch  0x00000001 , 0x0000450b 
+ 00022526  0x00005916 nbranch  0x00002bde , 0x00000034 
+ 00022527  0x00005917 fetch  0x00000001 , 0x000043dd 
+ 00022528  0x00005918 nbranch  0x00002bde , 0x00000034 
+ 00022529  0x0000591a fetch  0x00000001 , 0x000044e9 
+ 00022530  0x0000591b bbit1  0x00000005 , 0x00002bde 
+ 00022531  0x0000591d fetch  0x00000001 , 0x0000043f 
+ 00022532  0x0000591e bbit1  0x00000005 , 0x00002bde 
+ 00022533  0x0000591f branch  0x00002bc0 
+ 00022534  0x00005922 fetcht  0x00000002 , 0x000040c1 
+ 00022535  0x00005923 rshift  0x00000002 , 0x00000002 
+ 00022536  0x00005924 fetch  0x00000002 , 0x0000044d 
+ 00022537  0x00005925 iadd  0x00000002 , 0x0000003f 
+ 00022538  0x00005926 store  0x00000002 , 0x0000044d 
+ 00022539  0x00005927 branch  0x00002bd6 
+ 00022540  0x0000592b arg  0x00000000 , 0x00000007 
+ 00022541  0x0000592c branch  0x00005824 
+ 00022542  0x0000592f arg  0x00000000 , 0x00000007 
+ 00022543  0x00005930 branch  0x00005828 
+ 00022544  0x00005933 arg  0x00000001 , 0x00000007 
+ 00022545  0x00005934 branch  0x00005824 
+ 00022546  0x00005937 arg  0x00000001 , 0x00000007 
+ 00022547  0x00005938 branch  0x00005828 
+ 00022548  0x0000593b arg  0x00000002 , 0x00000007 
+ 00022549  0x0000593c branch  0x00005824 
+ 00022550  0x0000593f arg  0x00000002 , 0x00000007 
+ 00022551  0x00005940 branch  0x00005828 
+ 00022552  0x00005943 arg  0x00000003 , 0x00000007 
+ 00022553  0x00005944 branch  0x00005824 
+ 00022554  0x00005947 arg  0x00000003 , 0x00000007 
+ 00022555  0x00005948 branch  0x00005828 
+ 00022556  0x0000594b arg  0x00000004 , 0x00000007 
+ 00022557  0x0000594c branch  0x00005824 
+ 00022558  0x0000594f arg  0x00000004 , 0x00000007 
+ 00022559  0x00005950 branch  0x00005828 
+ 00022560  0x00005953 arg  0x00000005 , 0x00000007 
+ 00022561  0x00005954 branch  0x00005824 
+ 00022562  0x00005957 arg  0x00000005 , 0x00000007 
+ 00022563  0x00005958 branch  0x00005828 
+ 00022564  0x0000595c fetch  0x00000001 , 0x000044e9 
+ 00022565  0x0000595d qset1  0x0000003f 
+ 00022566  0x0000595e store  0x00000001 , 0x000044e9 
+ 00022567  0x0000595f rtn 
+ 00022568  0x00005962 fetch  0x00000001 , 0x000044e9 
+ 00022569  0x00005963 qset0  0x0000003f 
+ 00022570  0x00005964 store  0x00000001 , 0x000044e9 
+ 00022571  0x00005965 rtn 
+ 00022572  0x00005968 setarg  0x00112233 
+ 00022573  0x00005969 store  0x00000003 , 0x000044ea 
+ 00022574  0x0000596a setarg  0x00445566 
+ 00022575  0x0000596b istore  0x00000003 , 0x00000005 
+ 00022576  0x0000596c setarg  0x00778899 
+ 00022577  0x0000596d istore  0x00000003 , 0x00000005 
+ 00022578  0x0000596e setarg  0x00001122 
+ 00022579  0x0000596f istore  0x00000003 , 0x00000005 
+ 00022580  0x00005970 setarg  0x00334455 
+ 00022581  0x00005971 istore  0x00000003 , 0x00000005 
+ 00022582  0x00005972 setarg  0x00000066 
+ 00022583  0x00005973 istore  0x00000001 , 0x00000005 
+ 00022584  0x00005974 rtn 
+ 00022585  0x00005978 setarg  0x01000302 
+ 00022586  0x00005979 store  0x00000004 , 0x00004453 
+ 00022587  0x0000597a setarg  0x00010010 
+ 00022588  0x0000597b store  0x00000003 , 0x00004457 
+ 00022589  0x0000597c jam  0x00000001 , 0x000044c6 
+ 00022590  0x0000597d rtn 
+ 00022591  0x00005982 arg  0x00000000 , 0x00000011 
+ 00022592  0x00005983 arg  0x00000001 , 0x00000001 
+ 00022593  0x00005984 branch  0x00005850 
+ 00022594  0x00005989 arg  0x00000003 , 0x00000001 
+ 00022595  0x0000598a call  0x00005850 
+ 00022596  0x0000598b copy  0x00000012 , 0x0000003f 
+ 00022597  0x0000598c istore  0x00000001 , 0x00000005 
+ 00022598  0x0000598d rtn 
+ 00022599  0x00005992 force  0x00000002 , 0x00000001 
+ 00022600  0x00005993 increase  0x00000004 , 0x00000011 
+ 00022601  0x00005994 call  0x00005850 
+ 00022602  0x00005995 increase  0xfffffffc , 0x00000011 
+ 00022603  0x00005996 copy  0x00000011 , 0x0000003f 
+ 00022604  0x00005997 istore  0x00000002 , 0x00000005 
+ 00022605  0x00005998 copy  0x00000012 , 0x0000003f 
+ 00022606  0x00005999 istore  0x00000002 , 0x00000005 
+ 00022607  0x0000599a rtn 
+ 00022608  0x0000599f sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00022609  0x000059a0 nbranch  0x00002a8c , 0x00000002 
+ 00022610  0x000059a1 fetch  0x00000001 , 0x000044ff 
+ 00022611  0x000059a2 arg  0x00000001 , 0x00000002 
+ 00022612  0x000059a3 arg  0x00000004 , 0x00000039 
+ 00022613  0x000059a5 iand  0x00000002 , 0x0000003e 
+ 00022614  0x000059a6 branch  0x0000585a , 0x00000005 
+ 00022615  0x000059a7 lshift  0x00000002 , 0x00000002 
+ 00022616  0x000059a8 loop  0x00005855 
+ 00022617  0x000059a9 branch  0x00002a8c 
+ 00022618  0x000059ab ixor  0x00000002 , 0x0000003f 
+ 00022619  0x000059ac store  0x00000001 , 0x000044ff 
+ 00022620  0x000059ad sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00022621  0x000059ae lshift4  0x0000003f , 0x0000003f 
+ 00022622  0x000059af lshift4  0x0000003f , 0x0000003f 
+ 00022623  0x000059b0 arg  0x00001800 , 0x00000002 
+ 00022624  0x000059b1 iadd  0x00000002 , 0x00000002 
+ 00022625  0x000059b3 arg  0x00000000 , 0x00000039 
+ 00022626  0x000059b4 arg  0x00004500 , 0x00000006 
+ 00022627  0x000059b6 ifetch  0x00000002 , 0x00000006 
+ 00022628  0x000059b7 branch  0x00005869 , 0x00000034 
+ 00022629  0x000059b8 copy  0x00000039 , 0x0000003f 
+ 00022630  0x000059b9 increase  0x00000001 , 0x00000039 
+ 00022631  0x000059ba bne  0x00000004 , 0x00005863 
+ 00022632  0x000059bb branch  0x00002a8c 
+ 00022633  0x000059bf increase  0xfffffffe , 0x00000006 
+ 00022634  0x000059c0 istoret  0x00000002 , 0x00000006 
+ 00022635  0x000059c1 copy  0x00000002 , 0x00000005 
+ 00022636  0x000059c2 copy  0x00000011 , 0x0000003f 
+ 00022637  0x000059c3 istore  0x00000001 , 0x00000005 
+ 00022638  0x000059c4 setarg  0x00000000 
+ 00022639  0x000059c5 istore  0x00000001 , 0x00000005 
+ 00022640  0x000059c6 copy  0x00000001 , 0x0000003f 
+ 00022641  0x000059c7 istore  0x00000001 , 0x00000005 
+ 00022642  0x000059c8 rtn 
+ 00022643  0x000059cd fetch  0x00000002 , 0x00004500 
+ 00022644  0x000059ce copy  0x0000003f , 0x00000006 
+ 00022645  0x000059cf rtn 
+ 00022646  0x000059d2 fetch  0x00000002 , 0x00004502 
+ 00022647  0x000059d3 copy  0x0000003f , 0x00000006 
+ 00022648  0x000059d4 rtn 
+ 00022649  0x000059d7 call  0x0000587c 
+ 00022650  0x000059d8 copy  0x0000003f , 0x00000006 
+ 00022651  0x000059d9 rtn 
+ 00022652  0x000059db fetch  0x00000002 , 0x00004506 
+ 00022653  0x000059dc nrtn  0x00000034 
+ 00022654  0x000059dd fetch  0x00000002 , 0x00004504 
+ 00022655  0x000059de nrtn  0x00000034 
+ 00022656  0x000059df fetch  0x00000002 , 0x00004502 
+ 00022657  0x000059e0 nrtn  0x00000034 
+ 00022658  0x000059e1 fetch  0x00000002 , 0x00004500 
+ 00022659  0x000059e2 rtn 
+ 00022660  0x000059e5 call  0x00005873 
+ 00022661  0x000059e6 increase  0x00000003 , 0x00000006 
+ 00022662  0x000059e7 rtn 
+ 00022663  0x000059ea call  0x00005873 
+ 00022664  0x000059eb increase  0x00000007 , 0x00000006 
+ 00022665  0x000059ec rtn 
+ 00022666  0x000059ef call  0x00005879 
+ 00022667  0x000059f0 increase  0x00000007 , 0x00000006 
+ 00022668  0x000059f1 rtn 
+ 00022669  0x000059f4 call  0x00005879 
+ 00022670  0x000059f5 increase  0x00000003 , 0x00000006 
+ 00022671  0x000059f6 rtn 
+ 00022672  0x000059fb fetch  0x00000002 , 0x00004506 
+ 00022673  0x000059fc rtn 
+ 00022674  0x00005a00 fetch  0x00000002 , 0x00004504 
+ 00022675  0x00005a01 rtn 
+ 00022676  0x00005a05 fetch  0x00000002 , 0x00004500 
+ 00022677  0x00005a06 rtn 
+ 00022678  0x00005a0a fetch  0x00000002 , 0x00004500 
+ 00022679  0x00005a0b arg  0x00001800 , 0x00000002 
+ 00022680  0x00005a0c isub  0x00000002 , 0x0000003f 
+ 00022681  0x00005a0d rshift4  0x0000003f , 0x0000003f 
+ 00022682  0x00005a0e rshift4  0x0000003f , 0x00000007 
+ 00022683  0x00005a0f fetch  0x00000001 , 0x000044ff 
+ 00022684  0x00005a10 qset0  0x0000003f 
+ 00022685  0x00005a11 store  0x00000001 , 0x000044ff 
+ 00022686  0x00005a12 arg  0x00000000 , 0x00000039 
+ 00022687  0x00005a14 lshift  0x00000039 , 0x0000003f 
+ 00022688  0x00005a15 arg  0x00004502 , 0x00000002 
+ 00022689  0x00005a16 iadd  0x00000002 , 0x00000002 
+ 00022690  0x00005a17 ifetch  0x00000002 , 0x00000002 
+ 00022691  0x00005a18 increase  0xfffffffe , 0x00000002 
+ 00022692  0x00005a19 istore  0x00000002 , 0x00000002 
+ 00022693  0x00005a1a copy  0x00000039 , 0x0000003f 
+ 00022694  0x00005a1b increase  0x00000001 , 0x00000039 
+ 00022695  0x00005a1c bne  0x00000003 , 0x0000589f 
+ 00022696  0x00005a1d setarg  0x00000000 
+ 00022697  0x00005a1e istore  0x00000002 , 0x00000002 
+ 00022698  0x00005a1f rtn 
+ 00022699  0x00005a26 ifetch  0x00000003 , 0x00000006 
+ 00022700  0x00005a27 store  0x00000003 , 0x00000477 
+ 00022701  0x00005a28 beq  0x00000002 , 0x000058c1 
+ 00022702  0x00005a29 beq  0x00000003 , 0x000058c9 
+ 00022703  0x00005a2a beq  0x00000004 , 0x000058cc 
+ 00022704  0x00005a2b beq  0x00000006 , 0x000058f2 
+ 00022705  0x00005a2c beq  0x00000008 , 0x0000593f 
+ 00022706  0x00005a2d beq  0x0000000a , 0x000059bc 
+ 00022707  0x00005a2e beq  0x0000000c , 0x000059e4 
+ 00022708  0x00005a2f beq  0x00000010 , 0x000059fa 
+ 00022709  0x00005a30 beq  0x00000012 , 0x00005a2f 
+ 00022710  0x00005a31 beq  0x00000016 , 0x00005a48 
+ 00022711  0x00005a32 beq  0x00000018 , 0x00005a5b 
+ 00022712  0x00005a33 beq  0x00000052 , 0x00005a60 
+ 00022713  0x00005a34 rtn 
+ 00022714  0x00005a38 force  0x00000003 , 0x00000011 
+ 00022715  0x00005a39 call  0x00005a82 
+ 00022716  0x00005a3a setarg  0x00000002 
+ 00022717  0x00005a3b istore  0x00000001 , 0x00000005 
+ 00022718  0x00005a3c fetch  0x00000002 , 0x000044a6 
+ 00022719  0x00005a3d istore  0x00000002 , 0x00000005 
+ 00022720  0x00005a3e rtn 
+ 00022721  0x00005a42 call  0x000058c9 
+ 00022722  0x00005a44 force  0x00000003 , 0x00000011 
+ 00022723  0x00005a45 call  0x00005a82 
+ 00022724  0x00005a46 setarg  0x00000003 
+ 00022725  0x00005a47 istore  0x00000001 , 0x00000005 
+ 00022726  0x00005a48 fetch  0x00000002 , 0x000044a6 
+ 00022727  0x00005a49 istore  0x00000002 , 0x00000005 
+ 00022728  0x00005a4a rtn 
+ 00022729  0x00005a4d rshift8  0x0000003f , 0x0000003f 
+ 00022730  0x00005a4e store  0x00000002 , 0x000044a8 
+ 00022731  0x00005a4f rtn 
+ 00022732  0x00005a52 call  0x00005ab1 
+ 00022733  0x00005a53 call  0x00007fe7 
+ 00022734  0x00005a54 branch  0x000058cf 
+ 00022735  0x00005a57 arg  0x00000003 , 0x0000000b 
+ 00022736  0x00005a58 call  0x00005756 
+ 00022737  0x00005a5a call  0x0000575f 
+ 00022738  0x00005a5b branch  0x000058f0 , 0x00000034 
+ 00022739  0x00005a5c nbranch  0x000058ed , 0x00000002 
+ 00022740  0x00005a5d increase  0xfffffffe , 0x00000006 
+ 00022741  0x00005a5e call  0x00007ea5 
+ 00022742  0x00005a5f call  0x00007e9c 
+ 00022743  0x00005a60 nbranch  0x000058e1 , 0x00000028 
+ 00022744  0x00005a61 call  0x00007e85 
+ 00022745  0x00005a62 call  0x00007fe9 
+ 00022746  0x00005a63 force  0x00000014 , 0x00000011 
+ 00022747  0x00005a64 call  0x00005a82 
+ 00022748  0x00005a65 call  0x00007e95 
+ 00022749  0x00005a66 setarg  0x00000005 
+ 00022750  0x00005a67 istore  0x00000001 , 0x00000005 
+ 00022751  0x00005a68 setarg  0x00000001 
+ 00022752  0x00005a69 istore  0x00000001 , 0x00000005 
+ 00022753  0x00005a6b call  0x00007e9f 
+ 00022754  0x00005a6c ifetch  0x00000002 , 0x00000006 
+ 00022755  0x00005a6d istore  0x00000002 , 0x00000005 
+ 00022756  0x00005a6e ifetch  0x00000001 , 0x00000006 
+ 00022757  0x00005a6f copy  0x0000003f , 0x00000039 
+ 00022758  0x00005a70 call  0x00007f01 
+ 00022759  0x00005a71 call  0x00007ea2 
+ 00022760  0x00005a72 increase  0xffffffff , 0x0000000b 
+ 00022761  0x00005a73 branch  0x000058f0 , 0x00000005 
+ 00022762  0x00005a75 ifetch  0x00000001 , 0x00000006 
+ 00022763  0x00005a76 iadd  0x00000006 , 0x00000006 
+ 00022764  0x00005a77 branch  0x000058d1 
+ 00022765  0x00005a79 ifetch  0x00000001 , 0x00000006 
+ 00022766  0x00005a7a iadd  0x00000006 , 0x00000006 
+ 00022767  0x00005a7b branch  0x000058ea 
+ 00022768  0x00005a7d branch  0x00005a76 , 0x00000028 
+ 00022769  0x00005a7e branch  0x00005aa5 
+ 00022770  0x00005a82 call  0x00005ab1 
+ 00022771  0x00005a83 ifetch  0x00000002 , 0x00000006 
+ 00022772  0x00005a84 store  0x00000002 , 0x00004472 
+ 00022773  0x00005a85 call  0x00007ea5 
+ 00022774  0x00005a86 arg  0x0000445e , 0x00000005 
+ 00022775  0x00005a87 fetch  0x00000002 , 0x000044fc 
+ 00022776  0x00005a88 increase  0xfffffff9 , 0x0000003f 
+ 00022777  0x00005a89 call  0x000056db 
+ 00022778  0x00005a8a branch  0x00005905 
+ 00022779  0x00005a8e disable  0x00000028 
+ 00022780  0x00005a8f fetcht  0x00000002 , 0x0000445a 
+ 00022781  0x00005a90 fetch  0x00000002 , 0x0000445c 
+ 00022782  0x00005a91 isub  0x00000002 , 0x0000003e 
+ 00022783  0x00005a92 nbranch  0x00005902 , 0x00000002 
+ 00022784  0x00005a93 deposit  0x00000002 
+ 00022785  0x00005a94 rtnne  0x00000000 
+ 00022786  0x00005a96 enable  0x00000028 
+ 00022787  0x00005a97 jam  0x00000001 , 0x0000047a 
+ 00022788  0x00005a98 branch  0x00005a77 
+ 00022789  0x00005a9c call  0x000058fb 
+ 00022790  0x00005a9d rtn  0x00000028 
+ 00022791  0x00005a9e fetcht  0x00000002 , 0x00004472 
+ 00022792  0x00005a9f setarg  0x00002800 
+ 00022793  0x00005aa0 isub  0x00000002 , 0x0000003e 
+ 00022794  0x00005aa1 branch  0x0000590c , 0x00000005 
+ 00022795  0x00005aa2 branch  0x00005a76 
+ 00022796  0x00005aa6 jam  0x00000000 , 0x000004b4 
+ 00022797  0x00005aa7 fetcht  0x00000002 , 0x0000445a 
+ 00022798  0x00005aa8 storet  0x00000002 , 0x00000aa2 
+ 00022799  0x00005aa9 call  0x0000578c 
+ 00022800  0x00005aaa nbranch  0x00005a76 , 0x00000034 
+ 00022801  0x00005aac fetcht  0x00000002 , 0x00000aa2 
+ 00022802  0x00005aad call  0x0000578c 
+ 00022803  0x00005aae nbranch  0x00005925 , 0x00000034 
+ 00022804  0x00005aaf copy  0x00000006 , 0x00000011 
+ 00022805  0x00005ab0 fetch  0x00000001 , 0x000004b3 
+ 00022806  0x00005ab1 copy  0x0000003f , 0x00000039 
+ 00022807  0x00005ab2 fetcht  0x00000001 , 0x0000445e 
+ 00022808  0x00005ab3 isub  0x00000002 , 0x0000003e 
+ 00022809  0x00005ab4 nbranch  0x00005921 , 0x00000005 
+ 00022810  0x00005ab5 arg  0x0000445f , 0x00000012 
+ 00022811  0x00005ab6 call  0x00007f88 
+ 00022812  0x00005ab8 branch  0x00005928 , 0x00000005 
+ 00022813  0x00005aba fetch  0x00000002 , 0x000004a3 
+ 00022814  0x00005abb fetcht  0x00000002 , 0x00004472 
+ 00022815  0x00005abc isub  0x00000002 , 0x0000003e 
+ 00022816  0x00005abd branch  0x00005930 , 0x00000005 
+ 00022817  0x00005abf fetch  0x00000002 , 0x00000aa2 
+ 00022818  0x00005ac0 increase  0x00000001 , 0x0000003f 
+ 00022819  0x00005ac1 store  0x00000002 , 0x00000aa2 
+ 00022820  0x00005ac2 branch  0x00005911 
+ 00022821  0x00005ac5 fetch  0x00000001 , 0x000004b4 
+ 00022822  0x00005ac6 beq  0x00000001 , 0x00005930 
+ 00022823  0x00005ac7 branch  0x00005a76 
+ 00022824  0x00005acb fetch  0x00000002 , 0x000004a3 
+ 00022825  0x00005acc fetcht  0x00000002 , 0x00004472 
+ 00022826  0x00005acd isub  0x00000002 , 0x0000003e 
+ 00022827  0x00005ace nbranch  0x00005921 , 0x00000005 
+ 00022828  0x00005acf jam  0x00000001 , 0x000004b4 
+ 00022829  0x00005ad1 fetcht  0x00000002 , 0x00000aa2 
+ 00022830  0x00005ad2 storet  0x00000002 , 0x0000049e 
+ 00022831  0x00005ad3 branch  0x00005921 
+ 00022832  0x00005ad6 fetch  0x00000001 , 0x000004b4 
+ 00022833  0x00005ad7 beq  0x00000000 , 0x00005921 
+ 00022834  0x00005ad8 jam  0x00000002 , 0x000004b4 
+ 00022835  0x00005ad9 fetcht  0x00000002 , 0x00000aa2 
+ 00022836  0x00005ada increase  0xffffffff , 0x00000002 
+ 00022837  0x00005adb storet  0x00000002 , 0x000004a0 
+ 00022838  0x00005ade arg  0x00000005 , 0x00000011 
+ 00022839  0x00005adf call  0x00005a82 
+ 00022840  0x00005ae0 setarg  0x00000007 
+ 00022841  0x00005ae1 istore  0x00000001 , 0x00000005 
+ 00022842  0x00005ae2 fetch  0x00000002 , 0x0000049e 
+ 00022843  0x00005ae3 istore  0x00000002 , 0x00000005 
+ 00022844  0x00005ae4 fetch  0x00000002 , 0x000004a0 
+ 00022845  0x00005ae5 istore  0x00000002 , 0x00000005 
+ 00022846  0x00005ae6 rtn 
+ 00022847  0x00005aeb call  0x00005ab1 
+ 00022848  0x00005aec call  0x000056df 
+ 00022849  0x00005aed branch  0x00005942 
+ 00022850  0x00005af0 fetcht  0x00000002 , 0x0000445a 
+ 00022851  0x00005af1 storet  0x00000002 , 0x00000aa2 
+ 00022852  0x00005af2 call  0x00005756 
+ 00022853  0x00005af3 call  0x0000576d 
+ 00022854  0x00005af4 increase  0xfffffffe , 0x00000006 
+ 00022855  0x00005af5 copy  0x00000006 , 0x0000003f 
+ 00022856  0x00005af6 store  0x00000002 , 0x0000049c 
+ 00022857  0x00005af8 fetcht  0x00000002 , 0x00004472 
+ 00022858  0x00005af9 setarg  0x00002a00 
+ 00022859  0x00005afa isub  0x00000002 , 0x0000003e 
+ 00022860  0x00005afb branch  0x000059a8 , 0x00000005 
+ 00022861  0x00005afc setarg  0x00002803 
+ 00022862  0x00005afd isub  0x00000002 , 0x0000003e 
+ 00022863  0x00005afe nbranch  0x00005990 , 0x00000005 
+ 00022864  0x00005aff arg  0x00000002 , 0x0000000b 
+ 00022865  0x00005b01 call  0x00005a88 
+ 00022866  0x00005b02 nbranch  0x0000596d , 0x00000002 
+ 00022867  0x00005b03 fetcht  0x00000002 , 0x00000aa2 
+ 00022868  0x00005b04 call  0x0000578a 
+ 00022869  0x00005b05 beq  0x00000001 , 0x0000596d 
+ 00022870  0x00005b06 call  0x00005a94 
+ 00022871  0x00005b07 nbranch  0x0000596b , 0x00000005 
+ 00022872  0x00005b08 nbranch  0x0000596f , 0x00000028 
+ 00022873  0x00005b09 disable  0x00000028 
+ 00022874  0x00005b0a arg  0x00000014 , 0x00000011 
+ 00022875  0x00005b0b call  0x00005a82 
+ 00022876  0x00005b0c setarg  0x00000009 
+ 00022877  0x00005b0d istore  0x00000001 , 0x00000005 
+ 00022878  0x00005b0e copy  0x00000005 , 0x00000030 
+ 00022879  0x00005b0f increase  0x00000001 , 0x00000005 
+ 00022880  0x00005b11 call  0x0000597d 
+ 00022881  0x00005b12 call  0x00005a84 
+ 00022882  0x00005b13 call  0x0000578a 
+ 00022883  0x00005b14 call  0x00005984 
+ 00022884  0x00005b15 fetch  0x00000001 , 0x000004a2 
+ 00022885  0x00005b16 increase  0x00000005 , 0x0000003f 
+ 00022886  0x00005b17 istore  0x00000001 , 0x00000030 
+ 00022887  0x00005b18 fetch  0x00000001 , 0x000004a2 
+ 00022888  0x00005b19 beq  0x00000010 , 0x0000596d 
+ 00022889  0x00005b1a increase  0xffffffff , 0x0000000b 
+ 00022890  0x00005b1b branch  0x0000596d , 0x00000005 
+ 00022891  0x00005b1d call  0x00005a84 
+ 00022892  0x00005b1e branch  0x00005951 
+ 00022893  0x00005b20 branch  0x00005a76 , 0x00000028 
+ 00022894  0x00005b21 branch  0x00005aa5 
+ 00022895  0x00005b24 call  0x00005a97 
+ 00022896  0x00005b25 call  0x00005a84 
+ 00022897  0x00005b26 call  0x0000578a 
+ 00022898  0x00005b27 fetch  0x00000001 , 0x000004a2 
+ 00022899  0x00005b28 beq  0x00000010 , 0x0000596d 
+ 00022900  0x00005b2a call  0x00007e9c 
+ 00022901  0x00005b2b fetch  0x00000002 , 0x00000aa2 
+ 00022902  0x00005b2c increase  0xffffffff , 0x0000003f 
+ 00022903  0x00005b2d istore  0x00000002 , 0x00000005 
+ 00022904  0x00005b2e call  0x00005aa1 
+ 00022905  0x00005b2f call  0x00005984 
+ 00022906  0x00005b30 increase  0xffffffff , 0x0000000b 
+ 00022907  0x00005b31 branch  0x0000596d , 0x00000005 
+ 00022908  0x00005b32 branch  0x0000596b 
+ 00022909  0x00005b36 fetch  0x00000002 , 0x00000aa2 
+ 00022910  0x00005b37 istore  0x00000002 , 0x00000005 
+ 00022911  0x00005b39 fetch  0x00000001 , 0x000004b3 
+ 00022912  0x00005b3a copy  0x0000003f , 0x00000039 
+ 00022913  0x00005b3b call  0x00007e9f 
+ 00022914  0x00005b3c call  0x00007ef4 
+ 00022915  0x00005b3d branch  0x00007ea2 
+ 00022916  0x00005b3f call  0x00007e9c 
+ 00022917  0x00005b40 fetch  0x00000002 , 0x00000aa2 
+ 00022918  0x00005b41 istore  0x00000002 , 0x00000005 
+ 00022919  0x00005b42 call  0x00007ea2 
+ 00022920  0x00005b43 fetch  0x00000001 , 0x000004a2 
+ 00022921  0x00005b44 copy  0x0000003f , 0x00000039 
+ 00022922  0x00005b45 call  0x00007e9c 
+ 00022923  0x00005b46 call  0x00007e9f 
+ 00022924  0x00005b47 isub  0x00000039 , 0x00000006 
+ 00022925  0x00005b48 increase  0xffffffff , 0x00000006 
+ 00022926  0x00005b49 call  0x00007ef4 
+ 00022927  0x00005b4a branch  0x00007ea2 
+ 00022928  0x00005b4f fetcht  0x00000002 , 0x0000445a 
+ 00022929  0x00005b50 storet  0x00000002 , 0x00000aa2 
+ 00022930  0x00005b52 call  0x00005a88 
+ 00022931  0x00005b53 nbranch  0x00005a76 , 0x00000002 
+ 00022932  0x00005b54 call  0x0000578a 
+ 00022933  0x00005b55 beq  0x00000001 , 0x00005a76 
+ 00022934  0x00005b56 call  0x00005a94 
+ 00022935  0x00005b57 nbranch  0x000059a6 , 0x00000005 
+ 00022936  0x00005b5a arg  0x00000014 , 0x00000011 
+ 00022937  0x00005b5b call  0x00005a82 
+ 00022938  0x00005b5c setarg  0x00000009 
+ 00022939  0x00005b5d istore  0x00000001 , 0x00000005 
+ 00022940  0x00005b5e fetch  0x00000001 , 0x000004b3 
+ 00022941  0x00005b5f copy  0x0000003f , 0x00000039 
+ 00022942  0x00005b60 increase  0x00000002 , 0x0000003f 
+ 00022943  0x00005b61 istore  0x00000001 , 0x00000005 
+ 00022944  0x00005b62 fetch  0x00000002 , 0x00000aa2 
+ 00022945  0x00005b63 istore  0x00000002 , 0x00000005 
+ 00022946  0x00005b64 call  0x00007e9f 
+ 00022947  0x00005b65 call  0x00007ef4 
+ 00022948  0x00005b66 call  0x00007ea2 
+ 00022949  0x00005b67 branch  0x00005aa5 
+ 00022950  0x00005b6a call  0x00005a84 
+ 00022951  0x00005b6b branch  0x00005992 
+ 00022952  0x00005b6f arg  0x00002a00 , 0x00000002 
+ 00022953  0x00005b70 call  0x0000577c 
+ 00022954  0x00005b71 rtn  0x00000034 
+ 00022955  0x00005b72 increase  0xfffffffb , 0x00000006 
+ 00022956  0x00005b73 ifetch  0x00000002 , 0x00000006 
+ 00022957  0x00005b74 store  0x00000002 , 0x00000aa2 
+ 00022958  0x00005b75 arg  0x00000014 , 0x00000011 
+ 00022959  0x00005b76 call  0x00005a82 
+ 00022960  0x00005b77 setarg  0x00000009 
+ 00022961  0x00005b78 istore  0x00000001 , 0x00000005 
+ 00022962  0x00005b79 fetch  0x00000001 , 0x000043af 
+ 00022963  0x00005b7a copy  0x0000003f , 0x00000039 
+ 00022964  0x00005b7b increase  0x00000002 , 0x0000003f 
+ 00022965  0x00005b7c istore  0x00000001 , 0x00000005 
+ 00022966  0x00005b7d fetch  0x00000002 , 0x00000aa2 
+ 00022967  0x00005b7e istore  0x00000002 , 0x00000005 
+ 00022968  0x00005b7f arg  0x000043b0 , 0x00000006 
+ 00022969  0x00005b80 call  0x00007ef4 
+ 00022970  0x00005b81 call  0x00007ea2 
+ 00022971  0x00005b82 branch  0x00005aa5 
+ 00022972  0x00005b87 fetcht  0x00000002 , 0x00000478 
+ 00022973  0x00005b88 fetch  0x00000001 , 0x000044e9 
+ 00022974  0x00005b89 bbit1  0x00000003 , 0x000059dd 
+ 00022975  0x00005b8c call  0x0000576a 
+ 00022976  0x00005b8d branch  0x00005a76 , 0x00000034 
+ 00022977  0x00005b8e increase  0xfffffffe , 0x00000006 
+ 00022978  0x00005b8f ifetch  0x00000002 , 0x00000006 
+ 00022979  0x00005b90 arg  0x00002a00 , 0x00000002 
+ 00022980  0x00005b91 isub  0x00000002 , 0x0000003e 
+ 00022981  0x00005b92 branch  0x000059d3 , 0x00000005 
+ 00022982  0x00005b93 ifetch  0x00000001 , 0x00000006 
+ 00022983  0x00005b94 sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00022984  0x00005b95 branch  0x000059ca , 0x00000002 
+ 00022985  0x00005b96 force  0x00000016 , 0x0000003f 
+ 00022986  0x00005b98 copy  0x0000003f , 0x00000013 
+ 00022987  0x00005b99 call  0x00007ea5 
+ 00022988  0x00005b9a add  0x00000013 , 0x00000001 , 0x00000011 
+ 00022989  0x00005b9b call  0x00005a82 
+ 00022990  0x00005b9c setarg  0x0000000b 
+ 00022991  0x00005b9d istore  0x00000001 , 0x00000005 
+ 00022992  0x00005b9e copy  0x00000013 , 0x00000039 
+ 00022993  0x00005b9f call  0x00007e9f 
+ 00022994  0x00005ba0 branch  0x00007f01 
+ 00022995  0x00005ba3 call  0x00007ea5 
+ 00022996  0x00005ba4 fetch  0x00000001 , 0x000043af 
+ 00022997  0x00005ba5 add  0x0000003f , 0x00000001 , 0x00000011 
+ 00022998  0x00005ba6 call  0x00005a82 
+ 00022999  0x00005ba7 setarg  0x0000000b 
+ 00023000  0x00005ba8 istore  0x00000001 , 0x00000005 
+ 00023001  0x00005ba9 fetch  0x00000001 , 0x000043af 
+ 00023002  0x00005baa copy  0x0000003f , 0x00000039 
+ 00023003  0x00005bab arg  0x000043b0 , 0x00000006 
+ 00023004  0x00005bac branch  0x00007f01 
+ 00023005  0x00005bb0 fetch  0x00000002 , 0x000044fa 
+ 00023006  0x00005bb1 isub  0x00000002 , 0x0000003e 
+ 00023007  0x00005bb2 nbranch  0x000059bf , 0x00000005 
+ 00023008  0x00005bb4 call  0x00005a42 
+ 00023009  0x00005bb5 nbranch  0x000059bf , 0x00000028 
+ 00023010  0x00005bb6 jam  0x00000005 , 0x0000047a 
+ 00023011  0x00005bb7 branch  0x00005a77 
+ 00023012  0x00005bbb ifetch  0x00000002 , 0x00000006 
+ 00023013  0x00005bbc store  0x00000002 , 0x0000445e 
+ 00023014  0x00005bbe arg  0x00000014 , 0x00000011 
+ 00023015  0x00005bbf call  0x00005a82 
+ 00023016  0x00005bc0 setarg  0x0000000d 
+ 00023017  0x00005bc1 istore  0x00000001 , 0x00000005 
+ 00023018  0x00005bc2 fetch  0x00000002 , 0x0000445e 
+ 00023019  0x00005bc3 iforce  0x00000011 
+ 00023020  0x00005bc4 fetcht  0x00000002 , 0x00000478 
+ 00023021  0x00005bc5 call  0x0000576a 
+ 00023022  0x00005bc6 branch  0x00005a76 , 0x00000034 
+ 00023023  0x00005bc7 ifetch  0x00000001 , 0x00000006 
+ 00023024  0x00005bc8 isub  0x00000011 , 0x00000039 
+ 00023025  0x00005bc9 nbranch  0x00005a76 , 0x00000002 
+ 00023026  0x00005bca sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00023027  0x00005bcb branch  0x000059f5 , 0x00000002 
+ 00023028  0x00005bcc force  0x00000016 , 0x00000039 
+ 00023029  0x00005bce deposit  0x00000011 
+ 00023030  0x00005bcf iadd  0x00000006 , 0x00000006 
+ 00023031  0x00005bd0 call  0x00007ef4 
+ 00023032  0x00005bd1 call  0x00007ea2 
+ 00023033  0x00005bd2 branch  0x00005aa5 
+ 00023034  0x00005bd6 call  0x00005ab1 
+ 00023035  0x00005bd7 call  0x000056d7 
+ 00023036  0x00005bd8 branch  0x000059fd 
+ 00023037  0x00005bde arg  0x00000002 , 0x0000000b 
+ 00023038  0x00005bdf fetcht  0x00000002 , 0x0000445a 
+ 00023039  0x00005be3 storet  0x00000002 , 0x00000aa2 
+ 00023040  0x00005be4 call  0x00005756 
+ 00023041  0x00005be5 call  0x0000576d 
+ 00023042  0x00005be6 increase  0xfffffffe , 0x00000006 
+ 00023043  0x00005be7 copy  0x00000006 , 0x0000003f 
+ 00023044  0x00005be8 store  0x00000002 , 0x0000049c 
+ 00023045  0x00005bea call  0x00005a88 
+ 00023046  0x00005beb nbranch  0x00005a25 , 0x00000002 
+ 00023047  0x00005bec fetcht  0x00000002 , 0x00000aa2 
+ 00023048  0x00005bed call  0x0000578a 
+ 00023049  0x00005bee beq  0x00000001 , 0x00005a28 
+ 00023050  0x00005bf0 call  0x00005a8c 
+ 00023051  0x00005bf1 nbranch  0x00005a23 , 0x00000005 
+ 00023052  0x00005bf2 copy  0x0000000b , 0x0000003f 
+ 00023053  0x00005bf3 beq  0x00000000 , 0x00005a28 
+ 00023054  0x00005bf4 nbranch  0x00005a19 , 0x00000028 
+ 00023055  0x00005bf5 disable  0x00000028 
+ 00023056  0x00005bf7 arg  0x00000014 , 0x00000011 
+ 00023057  0x00005bf8 call  0x00005a82 
+ 00023058  0x00005bf9 setarg  0x00000011 
+ 00023059  0x00005bfa istore  0x00000001 , 0x00000005 
+ 00023060  0x00005bfb fetch  0x00000001 , 0x000004b3 
+ 00023061  0x00005bfc increase  0x00000004 , 0x0000003f 
+ 00023062  0x00005bfd istore  0x00000001 , 0x00000005 
+ 00023063  0x00005bfe call  0x00007ea2 
+ 00023064  0x00005bff branch  0x00005a1f 
+ 00023065  0x00005c01 fetch  0x00000001 , 0x000004b3 
+ 00023066  0x00005c02 beq  0x00000010 , 0x00005a28 
+ 00023067  0x00005c03 fetch  0x00000002 , 0x00000aa2 
+ 00023068  0x00005c04 increase  0xffffffff , 0x0000003f 
+ 00023069  0x00005c05 store  0x00000002 , 0x000004a0 
+ 00023070  0x00005c06 call  0x00005a9c 
+ 00023071  0x00005c08 fetch  0x00000002 , 0x00000aa2 
+ 00023072  0x00005c09 store  0x00000002 , 0x0000049e 
+ 00023073  0x00005c0a call  0x00005a97 
+ 00023074  0x00005c0b increase  0xffffffff , 0x0000000b 
+ 00023075  0x00005c0e call  0x00005a84 
+ 00023076  0x00005c0f branch  0x00005a05 
+ 00023077  0x00005c12 fetch  0x00000002 , 0x00000aa2 
+ 00023078  0x00005c13 store  0x00000002 , 0x000004a0 
+ 00023079  0x00005c14 branch  0x00005a2c 
+ 00023080  0x00005c16 fetch  0x00000002 , 0x00000aa2 
+ 00023081  0x00005c17 increase  0xffffffff , 0x0000003f 
+ 00023082  0x00005c18 store  0x00000002 , 0x000004a0 
+ 00023083  0x00005c19 branch  0x00005a2c 
+ 00023084  0x00005c1b branch  0x00005a76 , 0x00000028 
+ 00023085  0x00005c1c call  0x00005a9c 
+ 00023086  0x00005c1d branch  0x00005aa5 
+ 00023087  0x00005c23 copy  0x00000006 , 0x00000011 
+ 00023088  0x00005c24 fetch  0x00000002 , 0x000044fc 
+ 00023089  0x00005c25 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023090  0x00005c26 call  0x000056e2 
+ 00023091  0x00005c28 fetch  0x00000001 , 0x000044e9 
+ 00023092  0x00005c29 bbit0  0x00000004 , 0x00005a3d 
+ 00023093  0x00005c2b fetcht  0x00000002 , 0x00000478 
+ 00023094  0x00005c2c fetch  0x00000002 , 0x000044fa 
+ 00023095  0x00005c2d isub  0x00000002 , 0x0000003e 
+ 00023096  0x00005c2e nbranch  0x00005a3d , 0x00000005 
+ 00023097  0x00005c2f call  0x00005a42 
+ 00023098  0x00005c30 nbranch  0x00005a3d , 0x00000028 
+ 00023099  0x00005c31 jam  0x00000005 , 0x0000047a 
+ 00023100  0x00005c32 branch  0x00005a77 
+ 00023101  0x00005c35 force  0x00000001 , 0x00000011 
+ 00023102  0x00005c36 call  0x00005a82 
+ 00023103  0x00005c37 setarg  0x00000013 
+ 00023104  0x00005c38 istore  0x00000001 , 0x00000005 
+ 00023105  0x00005c39 rtn 
+ 00023106  0x00005c3c call  0x00007fe9 
+ 00023107  0x00005c3d fetch  0x00000001 , 0x000044c6 
+ 00023108  0x00005c3e rtneq  0x00000000 
+ 00023109  0x00005c3f fetch  0x00000001 , 0x00004040 
+ 00023110  0x00005c40 rtnbit1  0x00000004 
+ 00023111  0x00005c41 branch  0x00007fe7 
+ 00023112  0x00005c45 add  0x00000006 , 0x00000002 , 0x00000011 
+ 00023113  0x00005c46 fetch  0x00000002 , 0x000044fc 
+ 00023114  0x00005c47 add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00023115  0x00005c48 call  0x000056e2 
+ 00023116  0x00005c49 branch  0x00005a4d 
+ 00023117  0x00005c4d fetch  0x00000002 , 0x000044fc 
+ 00023118  0x00005c4e copy  0x0000003f , 0x00000011 
+ 00023119  0x00005c4f call  0x00005a82 
+ 00023120  0x00005c50 setarg  0x00000017 
+ 00023121  0x00005c51 istore  0x00000001 , 0x00000005 
+ 00023122  0x00005c52 fetch  0x00000002 , 0x00000478 
+ 00023123  0x00005c53 istore  0x00000002 , 0x00000005 
+ 00023124  0x00005c54 fetch  0x00000002 , 0x000044fc 
+ 00023125  0x00005c55 add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00023126  0x00005c56 fetch  0x00000002 , 0x0000450d 
+ 00023127  0x00005c57 add  0x0000003f , 0x00000007 , 0x00000006 
+ 00023128  0x00005c58 ifetch  0x00000002 , 0x00000006 
+ 00023129  0x00005c59 istore  0x00000002 , 0x00000005 
+ 00023130  0x00005c5a branch  0x00007ef4 
+ 00023131  0x00005c61 force  0x00000001 , 0x00000011 
+ 00023132  0x00005c62 call  0x00005a82 
+ 00023133  0x00005c63 setarg  0x00000019 
+ 00023134  0x00005c64 istore  0x00000001 , 0x00000005 
+ 00023135  0x00005c65 rtn 
+ 00023136  0x00005c6a copy  0x00000006 , 0x00000011 
+ 00023137  0x00005c6b fetch  0x00000002 , 0x000044fc 
+ 00023138  0x00005c6c add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023139  0x00005c6d branch  0x000056e2 
+ 00023140  0x00005c73 copy  0x00000002 , 0x00000013 
+ 00023141  0x00005c74 increase  0x00000003 , 0x00000011 
+ 00023142  0x00005c75 call  0x00005a82 
+ 00023143  0x00005c76 increase  0xfffffffd , 0x00000011 
+ 00023144  0x00005c77 setarg  0x0000001b 
+ 00023145  0x00005c78 istore  0x00000001 , 0x00000005 
+ 00023146  0x00005c79 copy  0x00000013 , 0x00000002 
+ 00023147  0x00005c7a istoret  0x00000002 , 0x00000005 
+ 00023148  0x00005c7b rtn 
+ 00023149  0x00005c7f copy  0x00000002 , 0x00000013 
+ 00023150  0x00005c80 increase  0x00000003 , 0x00000011 
+ 00023151  0x00005c81 call  0x00005a82 
+ 00023152  0x00005c82 increase  0xfffffffd , 0x00000011 
+ 00023153  0x00005c83 setarg  0x0000001d 
+ 00023154  0x00005c84 istore  0x00000001 , 0x00000005 
+ 00023155  0x00005c85 copy  0x00000013 , 0x00000002 
+ 00023156  0x00005c86 istoret  0x00000002 , 0x00000005 
+ 00023157  0x00005c87 rtn 
+ 00023158  0x00005c8d jam  0x0000000a , 0x0000047a 
+ 00023159  0x00005c8f force  0x00000005 , 0x00000011 
+ 00023160  0x00005c90 call  0x00005a82 
+ 00023161  0x00005c91 setarg  0x00000001 
+ 00023162  0x00005c92 istore  0x00000001 , 0x00000005 
+ 00023163  0x00005c93 fetch  0x00000001 , 0x00000477 
+ 00023164  0x00005c94 istore  0x00000001 , 0x00000005 
+ 00023165  0x00005c95 fetch  0x00000002 , 0x00000478 
+ 00023166  0x00005c96 istore  0x00000002 , 0x00000005 
+ 00023167  0x00005c97 fetch  0x00000001 , 0x0000047a 
+ 00023168  0x00005c98 istore  0x00000001 , 0x00000005 
+ 00023169  0x00005c99 rtn 
+ 00023170  0x00005c9d force  0x00000004 , 0x00000012 
+ 00023171  0x00005c9e branch  0x00005847 
+ 00023172  0x00005ca2 fetcht  0x00000002 , 0x00000aa2 
+ 00023173  0x00005ca3 increase  0x00000001 , 0x00000002 
+ 00023174  0x00005ca4 storet  0x00000002 , 0x00000aa2 
+ 00023175  0x00005ca5 rtn 
+ 00023176  0x00005ca8 fetcht  0x00000002 , 0x00000aa2 
+ 00023177  0x00005ca9 fetch  0x00000002 , 0x0000445c 
+ 00023178  0x00005caa isub  0x00000002 , 0x0000003e 
+ 00023179  0x00005cab rtn 
+ 00023180  0x00005caf fetcht  0x00000001 , 0x0000445e 
+ 00023181  0x00005cb0 arg  0x0000445f , 0x00000011 
+ 00023182  0x00005cb2 fetch  0x00000001 , 0x000004a2 
+ 00023183  0x00005cb3 copy  0x0000003f , 0x00000039 
+ 00023184  0x00005cb4 isub  0x00000002 , 0x0000003e 
+ 00023185  0x00005cb5 nrtn  0x00000005 
+ 00023186  0x00005cb6 arg  0x000004a3 , 0x00000012 
+ 00023187  0x00005cb7 branch  0x00007f88 
+ 00023188  0x00005cba fetcht  0x00000001 , 0x00004471 
+ 00023189  0x00005cbb arg  0x00004472 , 0x00000011 
+ 00023190  0x00005cbc branch  0x00005a8e 
+ 00023191  0x00005cc0 fetch  0x00000001 , 0x000004b3 
+ 00023192  0x00005cc1 store  0x00000001 , 0x00000101 
+ 00023193  0x00005cc2 copy  0x0000003f , 0x00000039 
+ 00023194  0x00005cc3 call  0x00007e9f 
+ 00023195  0x00005cc4 branch  0x00007ef4 
+ 00023196  0x00005cc8 call  0x00007e9c 
+ 00023197  0x00005cc9 fetch  0x00000002 , 0x0000049e 
+ 00023198  0x00005cca istore  0x00000002 , 0x00000005 
+ 00023199  0x00005ccb fetch  0x00000002 , 0x000004a0 
+ 00023200  0x00005ccc istore  0x00000002 , 0x00000005 
+ 00023201  0x00005cce fetch  0x00000001 , 0x00000101 
+ 00023202  0x00005ccf copy  0x0000003f , 0x00000039 
+ 00023203  0x00005cd0 call  0x00007ef4 
+ 00023204  0x00005cd1 branch  0x00007ea2 
+ 00023205  0x00005cd6 call  0x00007e9c 
+ 00023206  0x00005cd7 call  0x0000588a 
+ 00023207  0x00005cd8 copy  0x00000005 , 0x0000003f 
+ 00023208  0x00005cd9 isub  0x00000006 , 0x00000011 
+ 00023209  0x00005cda call  0x0000588d 
+ 00023210  0x00005cdb copy  0x00000011 , 0x0000003f 
+ 00023211  0x00005cdc istore  0x00000002 , 0x00000006 
+ 00023212  0x00005cdd increase  0x00000004 , 0x00000011 
+ 00023213  0x00005cde call  0x00005879 
+ 00023214  0x00005cdf copy  0x00000011 , 0x0000003f 
+ 00023215  0x00005ce0 istore  0x00000001 , 0x00000006 
+ 00023216  0x00005ce1 rtn 
+ 00023217  0x00005ce5 rshift8  0x0000003f , 0x0000003f 
+ 00023218  0x00005ce6 store  0x00000002 , 0x0000445a 
+ 00023219  0x00005ce7 ifetch  0x00000002 , 0x00000006 
+ 00023220  0x00005ce8 store  0x00000002 , 0x0000445c 
+ 00023221  0x00005ce9 rtn 
+ 00023222  0x00005cef ifetch  0x00000001 , 0x00000006 
+ 00023223  0x00005cf0 ifetcht  0x00000001 , 0x00000006 
+ 00023224  0x00005cf1 ifetcht  0x00000002 , 0x00000006 
+ 00023225  0x00005cf2 beq  0x00000013 , 0x00005abb 
+ 00023226  0x00005cf3 rtn 
+ 00023227  0x00005cf5 ifetch  0x00000002 , 0x00000006 
+ 00023228  0x00005cf6 store  0x00000002 , 0x00004509 
+ 00023229  0x00005cf7 jam  0x00000040 , 0x00000a99 
+ 00023230  0x00005cf8 branch  0x00007d86 
+ 00023231  0x00005cff arg  0x0000000c , 0x00000011 
+ 00023232  0x00005d00 arg  0x00000012 , 0x00000013 
+ 00023233  0x00005d01 call  0x00005ac7 
+ 00023234  0x00005d02 setarg  0x00000008 
+ 00023235  0x00005d03 istore  0x00000002 , 0x00000005 
+ 00023236  0x00005d04 fetch  0x00000008 , 0x00004496 
+ 00023237  0x00005d05 istore  0x00000008 , 0x00000005 
+ 00023238  0x00005d06 rtn 
+ 00023239  0x00005d0b call  0x00005acf 
+ 00023240  0x00005d0c arg  0x00000005 , 0x00000012 
+ 00023241  0x00005d0d call  0x00005847 
+ 00023242  0x00005d0e copy  0x00000013 , 0x0000003f 
+ 00023243  0x00005d0f istore  0x00000001 , 0x00000005 
+ 00023244  0x00005d10 fetch  0x00000001 , 0x00004508 
+ 00023245  0x00005d11 istore  0x00000001 , 0x00000005 
+ 00023246  0x00005d12 rtn 
+ 00023247  0x00005d16 fetch  0x00000001 , 0x00004508 
+ 00023248  0x00005d18 pincrease  0x00000001 
+ 00023249  0x00005d19 store  0x00000001 , 0x00004508 
+ 00023250  0x00005d1a rtnne  0x00000000 
+ 00023251  0x00005d1d jam  0x00000001 , 0x00004508 
+ 00023252  0x00005d1e rtn 
+ 00023253  0x00005d24 fetch  0x00000001 , 0x000044c6 
+ 00023254  0x00005d25 beq  0x00000000 , 0x00005ae4 
+ 00023255  0x00005d26 beq  0x00000001 , 0x00005ae7 
+ 00023256  0x00005d27 beq  0x00000002 , 0x00005ae9 
+ 00023257  0x00005d28 beq  0x00000081 , 0x00005add 
+ 00023258  0x00005d29 beq  0x00000082 , 0x00005adf 
+ 00023259  0x00005d2a beq  0x00000083 , 0x00005ae2 
+ 00023260  0x00005d2b rtn 
+ 00023261  0x00005d2e jam  0x0000000d , 0x00004456 
+ 00023262  0x00005d2f branch  0x00005ae5 
+ 00023263  0x00005d31 jam  0x0000000d , 0x00004456 
+ 00023264  0x00005d32 jam  0x00000001 , 0x00004454 
+ 00023265  0x00005d33 rtn 
+ 00023266  0x00005d35 jam  0x0000000d , 0x00004456 
+ 00023267  0x00005d36 branch  0x00005aea 
+ 00023268  0x00005d38 jam  0x00000000 , 0x00004456 
+ 00023269  0x00005d3a jam  0x00000003 , 0x00004454 
+ 00023270  0x00005d3b rtn 
+ 00023271  0x00005d3d jam  0x00000005 , 0x00004456 
+ 00023272  0x00005d3e branch  0x00005ae5 
+ 00023273  0x00005d40 jam  0x00000005 , 0x00004456 
+ 00023274  0x00005d42 jam  0x00000000 , 0x00004454 
+ 00023275  0x00005d43 rtn 
+ 00023276  0x00005d47 fetch  0x00000001 , 0x00004456 
+ 00023277  0x00005d48 set1  0x00000003 , 0x0000003f 
+ 00023278  0x00005d49 store  0x00000001 , 0x00004456 
+ 00023279  0x00005d4a rtn 
+ 00023280  0x00005d4c fetch  0x00000001 , 0x00004456 
+ 00023281  0x00005d4d set0  0x00000003 , 0x0000003f 
+ 00023282  0x00005d4e store  0x00000001 , 0x00004456 
+ 00023283  0x00005d4f rtn 
+ 00023284  0x00005d52 ifetch  0x00000001 , 0x00000006 
+ 00023285  0x00005d53 beq  0x00000001 , 0x00005b09 
+ 00023286  0x00005d55 beq  0x00000003 , 0x00005b30 
+ 00023287  0x00005d56 beq  0x00000004 , 0x00005b4d 
+ 00023288  0x00005d57 beq  0x00000005 , 0x00005b5a 
+ 00023289  0x00005d58 beq  0x00000006 , 0x00005b80 
+ 00023290  0x00005d59 beq  0x00000007 , 0x00005bc4 
+ 00023291  0x00005d5a beq  0x00000008 , 0x00005baf 
+ 00023292  0x00005d5b beq  0x00000009 , 0x00005bc0 
+ 00023293  0x00005d5c beq  0x0000000a , 0x00005bc4 
+ 00023294  0x00005d5d beq  0x0000000b , 0x00005bc4 
+ 00023295  0x00005d5e beq  0x0000000c , 0x00005bc5 
+ 00023296  0x00005d5f beq  0x0000000d , 0x00005bca 
+ 00023297  0x00005d60 rtn 
+ 00023298  0x00005d65 force  0x00000002 , 0x00000011 
+ 00023299  0x00005d66 call  0x00005c62 
+ 00023300  0x00005d67 setarg  0x0000000b 
+ 00023301  0x00005d68 istore  0x00000001 , 0x00000005 
+ 00023302  0x00005d69 fetch  0x00000001 , 0x00004456 
+ 00023303  0x00005d6a istore  0x00000001 , 0x00000005 
+ 00023304  0x00005d6b rtn 
+ 00023305  0x00005d6e store  0x00000001 , 0x0000444c 
+ 00023306  0x00005d6f ifetch  0x00000006 , 0x00000006 
+ 00023307  0x00005d70 istore  0x00000006 , 0x00000005 
+ 00023308  0x00005d71 fetch  0x00000001 , 0x000044c6 
+ 00023309  0x00005d72 beq  0x00000000 , 0x00005b5f 
+ 00023310  0x00005d73 call  0x00005b2b 
+ 00023311  0x00005d74 call  0x00005b26 
+ 00023312  0x00005d75 jam  0x00000003 , 0x000044c4 
+ 00023313  0x00005d76 fetch  0x00000001 , 0x0000444d 
+ 00023314  0x00005d77 beq  0x00000000 , 0x00005b18 
+ 00023315  0x00005d78 beq  0x00000001 , 0x00005b18 
+ 00023316  0x00005d79 beq  0x00000003 , 0x00005b18 
+ 00023317  0x00005d7a fetch  0x00000001 , 0x000044c6 
+ 00023318  0x00005d7b beq  0x00000002 , 0x00005b1b 
+ 00023319  0x00005d7c rtneq  0x00000083 
+ 00023320  0x00005d7e arg  0x00000000 , 0x0000003f 
+ 00023321  0x00005d7f store  0x00000004 , 0x000044c7 
+ 00023322  0x00005d80 rtn 
+ 00023323  0x00005d83 fetch  0x00000001 , 0x000044e9 
+ 00023324  0x00005d84 bbit1  0x00000000 , 0x00005b24 
+ 00023325  0x00005d86 arg  0x000044c7 , 0x00000011 
+ 00023326  0x00005d87 copy  0x00000011 , 0x00000005 
+ 00023327  0x00005d88 arg  0x00000003 , 0x00000039 
+ 00023328  0x00005d89 call  0x0000630d 
+ 00023329  0x00005d8a fetch  0x00000002 , 0x000044c9 
+ 00023330  0x00005d8b and_into  0x00000007 , 0x0000003f 
+ 00023331  0x00005d8c store  0x00000002 , 0x000044c9 
+ 00023332  0x00005d8e jam  0x00000034 , 0x00000a99 
+ 00023333  0x00005d8f branch  0x00007d86 
+ 00023334  0x00005d92 fetch  0x00000001 , 0x0000444f 
+ 00023335  0x00005d93 rtnbit1  0x00000003 
+ 00023336  0x00005d94 fetch  0x00000001 , 0x000044c6 
+ 00023337  0x00005d95 rtnbit0  0x00000007 
+ 00023338  0x00005d96 branch  0x00003402 
+ 00023339  0x00005d99 force  0x00000007 , 0x00000011 
+ 00023340  0x00005d9a call  0x00005c62 
+ 00023341  0x00005d9b fetch  0x00000007 , 0x00004453 
+ 00023342  0x00005d9c istore  0x00000007 , 0x00000005 
+ 00023343  0x00005d9d rtn 
+ 00023344  0x00005da1 copy  0x00000006 , 0x00000011 
+ 00023345  0x00005da2 fetch  0x00000001 , 0x000044c6 
+ 00023346  0x00005da3 beq  0x00000083 , 0x00005b37 
+ 00023347  0x00005da4 copy  0x00000011 , 0x00000006 
+ 00023348  0x00005da5 arg  0x0000442a , 0x00000005 
+ 00023349  0x00005da6 call  0x00007ebf 
+ 00023350  0x00005da7 branch  0x00005b3d 
+ 00023351  0x00005da9 copy  0x00000011 , 0x00000006 
+ 00023352  0x00005daa arg  0x0000442a , 0x00000005 
+ 00023353  0x00005dab call  0x00007ebf 
+ 00023354  0x00005dac jam  0x00000002 , 0x000044bf 
+ 00023355  0x00005dad jam  0x00000008 , 0x000044c1 
+ 00023356  0x00005dae rtn 
+ 00023357  0x00005db2 fetch  0x00000001 , 0x000044c6 
+ 00023358  0x00005db3 bbit1  0x00000007 , 0x00005b45 
+ 00023359  0x00005db4 call  0x0000739c 
+ 00023360  0x00005db5 force  0x00000011 , 0x00000011 
+ 00023361  0x00005db6 call  0x00005c62 
+ 00023362  0x00005db7 setarg  0x00000003 
+ 00023363  0x00005db8 istore  0x00000001 , 0x00000005 
+ 00023364  0x00005db9 branch  0x00007497 
+ 00023365  0x00005dbd arg  0x0000443a , 0x00000005 
+ 00023366  0x00005dbe call  0x0000630c 
+ 00023367  0x00005dbf call  0x000071c5 
+ 00023368  0x00005dc0 force  0x00000011 , 0x00000011 
+ 00023369  0x00005dc1 call  0x00005c62 
+ 00023370  0x00005dc2 setarg  0x00000003 
+ 00023371  0x00005dc3 istore  0x00000001 , 0x00000005 
+ 00023372  0x00005dc4 branch  0x00007201 
+ 00023373  0x00005dc9 copy  0x00000006 , 0x00000011 
+ 00023374  0x00005dca fetch  0x00000001 , 0x000044c6 
+ 00023375  0x00005dcb bbit1  0x00000007 , 0x00005b61 
+ 00023376  0x00005dcc copy  0x00000011 , 0x00000006 
+ 00023377  0x00005dcd call  0x00007394 
+ 00023378  0x00005dce branch  0x00005b75 , 0x00000005 
+ 00023379  0x00005dd0 jam  0x00000004 , 0x0000047b 
+ 00023380  0x00005dd2 force  0x00000002 , 0x00000011 
+ 00023381  0x00005dd3 call  0x00005c62 
+ 00023382  0x00005dd4 setarg  0x00000005 
+ 00023383  0x00005dd5 istore  0x00000001 , 0x00000005 
+ 00023384  0x00005dd6 fetch  0x00000001 , 0x0000047b 
+ 00023385  0x00005dd7 istore  0x00000001 , 0x00000005 
+ 00023386  0x00005dd9 force  0x0000000a , 0x00000007 
+ 00023387  0x00005dda call  0x00007f07 
+ 00023388  0x00005ddb jam  0x00000000 , 0x000044c4 
+ 00023389  0x00005ddc jam  0x00000030 , 0x00000a99 
+ 00023390  0x00005ddd branch  0x00007d86 
+ 00023391  0x00005de0 jam  0x00000005 , 0x0000047b 
+ 00023392  0x00005de1 branch  0x00005b54 
+ 00023393  0x00005de5 arg  0x0000042f , 0x00000005 
+ 00023394  0x00005de6 copy  0x00000011 , 0x00000006 
+ 00023395  0x00005de7 call  0x00007ebf 
+ 00023396  0x00005de8 fetch  0x00000001 , 0x000044c6 
+ 00023397  0x00005de9 beq  0x00000083 , 0x00005b6c 
+ 00023398  0x00005dea call  0x0000714f 
+ 00023399  0x00005ded call  0x00005b7a 
+ 00023400  0x00005dee fetch  0x00000001 , 0x000044c6 
+ 00023401  0x00005def rtnne  0x00000082 
+ 00023402  0x00005df0 jam  0x0000003b , 0x00000a99 
+ 00023403  0x00005df1 branch  0x00007d86 
+ 00023404  0x00005df4 call  0x000071ba 
+ 00023405  0x00005df5 arg  0x00000af2 , 0x00000005 
+ 00023406  0x00005df6 call  0x00007201 
+ 00023407  0x00005df7 arg  0x00000af2 , 0x00000011 
+ 00023408  0x00005df8 arg  0x0000442a , 0x00000012 
+ 00023409  0x00005df9 arg  0x00000010 , 0x00000039 
+ 00023410  0x00005dfa call  0x00007f88 
+ 00023411  0x00005dfb nbranch  0x00005b53 , 0x00000005 
+ 00023412  0x00005dfc branch  0x00005b7a 
+ 00023413  0x00005dff call  0x00007390 
+ 00023414  0x00005e00 jam  0x00000031 , 0x00000a99 
+ 00023415  0x00005e01 call  0x00007d86 
+ 00023416  0x00005e02 jam  0x00000001 , 0x00004429 
+ 00023417  0x00005e03 jam  0x00000005 , 0x000044c4 
+ 00023418  0x00005e06 force  0x00000011 , 0x00000011 
+ 00023419  0x00005e07 call  0x00005c62 
+ 00023420  0x00005e08 setarg  0x00000004 
+ 00023421  0x00005e09 istore  0x00000001 , 0x00000005 
+ 00023422  0x00005e0a arg  0x0000443a , 0x00000006 
+ 00023423  0x00005e0b branch  0x00007ebf 
+ 00023424  0x00005e0e arg  0x0000041f , 0x00000005 
+ 00023425  0x00005e0f branch  0x00007ebf 
+ 00023426  0x00005e12 force  0x00000011 , 0x00000011 
+ 00023427  0x00005e13 call  0x00005c62 
+ 00023428  0x00005e14 setarg  0x00000006 
+ 00023429  0x00005e15 istore  0x00000001 , 0x00000005 
+ 00023430  0x00005e16 fetch  0x00000001 , 0x000044e9 
+ 00023431  0x00005e17 bbit1  0x00000001 , 0x00005b8a 
+ 00023432  0x00005e18 arg  0x00004419 , 0x00000006 
+ 00023433  0x00005e19 branch  0x00007ebf 
+ 00023434  0x00005e1c arg  0x000044ea , 0x00000006 
+ 00023435  0x00005e1d branch  0x00007ebf 
+ 00023436  0x00005e21 arg  0x000044cb , 0x00000005 
+ 00023437  0x00005e22 force  0x0000000a , 0x00000039 
+ 00023438  0x00005e23 call  0x0000630d 
+ 00023439  0x00005e24 force  0x0000000b , 0x00000011 
+ 00023440  0x00005e25 call  0x00005c62 
+ 00023441  0x00005e26 setarg  0x00000007 
+ 00023442  0x00005e27 istore  0x00000001 , 0x00000005 
+ 00023443  0x00005e28 fetch  0x00000002 , 0x000044cb 
+ 00023444  0x00005e29 istore  0x00000002 , 0x00000005 
+ 00023445  0x00005e2a fetch  0x00000008 , 0x000044cd 
+ 00023446  0x00005e2b istore  0x00000008 , 0x00000005 
+ 00023447  0x00005e2c rtn 
+ 00023448  0x00005e2f force  0x00000011 , 0x00000011 
+ 00023449  0x00005e30 call  0x00005c62 
+ 00023450  0x00005e31 setarg  0x00000008 
+ 00023451  0x00005e32 istore  0x00000001 , 0x00000005 
+ 00023452  0x00005e33 setarg  0x00000000 
+ 00023453  0x00005e34 istore  0x00000008 , 0x00000005 
+ 00023454  0x00005e35 istore  0x00000008 , 0x00000005 
+ 00023455  0x00005e36 rtn 
+ 00023456  0x00005e3a force  0x00000008 , 0x00000011 
+ 00023457  0x00005e3b call  0x00005c62 
+ 00023458  0x00005e3c setarg  0x00000009 
+ 00023459  0x00005e3d istore  0x00000001 , 0x00000005 
+ 00023460  0x00005e3e fetch  0x00000001 , 0x00004495 
+ 00023461  0x00005e3f istore  0x00000001 , 0x00000005 
+ 00023462  0x00005e40 fetch  0x00000006 , 0x000044a0 
+ 00023463  0x00005e41 istore  0x00000006 , 0x00000005 
+ 00023464  0x00005e42 rtn 
+ 00023465  0x00005e46 jam  0x00000008 , 0x0000047b 
+ 00023466  0x00005e47 branch  0x00005b54 
+ 00023467  0x00005e4a fetch  0x00000001 , 0x00004458 
+ 00023468  0x00005e4b fetcht  0x00000001 , 0x00004458 
+ 00023469  0x00005e4c iand  0x00000002 , 0x0000003f 
+ 00023470  0x00005e4d rtn 
+ 00023471  0x00005e50 arg  0x000044d5 , 0x00000005 
+ 00023472  0x00005e51 call  0x00007ebf 
+ 00023473  0x00005e52 call  0x00005bab 
+ 00023474  0x00005e53 isolate0  0x00000001 , 0x0000003f 
+ 00023475  0x00005e54 branch  0x00005ba9 , 0x00000001 
+ 00023476  0x00005e55 fetch  0x00000001 , 0x00004092 
+ 00023477  0x00005e56 rtnne  0x0000000a 
+ 00023478  0x00005e57 call  0x00005bb9 
+ 00023479  0x00005e58 nrtn  0x00000028 
+ 00023480  0x00005e59 branch  0x00003410 
+ 00023481  0x00005e5d call  0x00007fe9 
+ 00023482  0x00005e5e fetch  0x00000001 , 0x0000448e 
+ 00023483  0x00005e5f rtneq  0x00000000 
+ 00023484  0x00005e60 fetch  0x00000001 , 0x00000454 
+ 00023485  0x00005e61 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00023486  0x00005e62 rtn  0x00000001 
+ 00023487  0x00005e63 branch  0x00007fe7 
+ 00023488  0x00005e66 call  0x00005bab 
+ 00023489  0x00005e67 isolate0  0x00000001 , 0x0000003f 
+ 00023490  0x00005e68 branch  0x00005ba9 , 0x00000001 
+ 00023491  0x00005e69 rtn 
+ 00023492  0x00005e6e rtn 
+ 00023493  0x00005e71 arg  0x000009be , 0x00000005 
+ 00023494  0x00005e72 call  0x00007eb3 
+ 00023495  0x00005e73 jam  0x00000002 , 0x000044bf 
+ 00023496  0x00005e74 jam  0x00000001 , 0x000044c1 
+ 00023497  0x00005e75 rtn 
+ 00023498  0x00005e78 arg  0x00000a6e , 0x00000005 
+ 00023499  0x00005e79 call  0x00007ebf 
+ 00023500  0x00005e7a jam  0x00000006 , 0x000044c1 
+ 00023501  0x00005e7b jam  0x00000002 , 0x000044bf 
+ 00023502  0x00005e7c rtn 
+ 00023503  0x00005e7f force  0x00000041 , 0x00000011 
+ 00023504  0x00005e80 call  0x00005c62 
+ 00023505  0x00005e81 setarg  0x0000000c 
+ 00023506  0x00005e82 istore  0x00000001 , 0x00000005 
+ 00023507  0x00005e83 arg  0x000045d2 , 0x00000006 
+ 00023508  0x00005e84 branch  0x00007eb3 
+ 00023509  0x00005e87 call  0x00007166 
+ 00023510  0x00005e88 force  0x00000011 , 0x00000011 
+ 00023511  0x00005e89 call  0x00005c62 
+ 00023512  0x00005e8a setarg  0x0000000d 
+ 00023513  0x00005e8b istore  0x00000001 , 0x00000005 
+ 00023514  0x00005e8c branch  0x00007201 
+ 00023515  0x00005e90 fetch  0x00000001 , 0x000044c4 
+ 00023516  0x00005e91 rtneq  0x000000ff 
+ 00023517  0x00005e92 arg  0x00000003 , 0x00000002 
+ 00023518  0x00005e93 isub  0x00000002 , 0x0000003e 
+ 00023519  0x00005e94 nrtn  0x00000002 
+ 00023520  0x00005e95 arg  0x0000000a , 0x00000007 
+ 00023521  0x00005e96 call  0x00007f16 
+ 00023522  0x00005e97 nrtn  0x00000034 
+ 00023523  0x00005e98 branch  0x00005ba9 
+ 00023524  0x00005e9b bpatchx  0x00000078 , 0x0000402f 
+ 00023525  0x00005e9c fetch  0x00000001 , 0x000044c4 
+ 00023526  0x00005e9d beq  0x00000000 , 0x00005bef 
+ 00023527  0x00005e9e beq  0x00000001 , 0x00005bf5 
+ 00023528  0x00005e9f beq  0x00000002 , 0x00005bef 
+ 00023529  0x00005ea0 beq  0x00000003 , 0x00005bf7 
+ 00023530  0x00005ea1 beq  0x00000005 , 0x00005bfb 
+ 00023531  0x00005ea2 beq  0x00000007 , 0x00005c07 
+ 00023532  0x00005ea3 beq  0x00000008 , 0x00005c09 
+ 00023533  0x00005ea4 beq  0x00000009 , 0x00005c10 
+ 00023534  0x00005ea5 rtn 
+ 00023535  0x00005ea9 fetch  0x00000001 , 0x000044c5 
+ 00023536  0x00005eaa rtnne  0x00000004 
+ 00023537  0x00005eab jam  0x000000ff , 0x000044c5 
+ 00023538  0x00005eac jam  0x000000ff , 0x000044c4 
+ 00023539  0x00005ead jam  0x0000003f , 0x00000a99 
+ 00023540  0x00005eae branch  0x00007d86 
+ 00023541  0x00005eb2 jam  0x00000002 , 0x000044c4 
+ 00023542  0x00005eb3 branch  0x00005b02 
+ 00023543  0x00005eb6 jam  0x00000004 , 0x000044c4 
+ 00023544  0x00005eb7 setarg  0x00017700 
+ 00023545  0x00005eb8 arg  0x0000000a , 0x00000007 
+ 00023546  0x00005eb9 branch  0x00007f08 
+ 00023547  0x00005ebc fetch  0x00000001 , 0x000044c5 
+ 00023548  0x00005ebd beq  0x00000004 , 0x00005bfe 
+ 00023549  0x00005ebe rtn 
+ 00023550  0x00005ec1 jam  0x00000007 , 0x000044c4 
+ 00023551  0x00005ec2 jam  0x00000029 , 0x00000a99 
+ 00023552  0x00005ec3 call  0x00007d86 
+ 00023553  0x00005ec4 call  0x00005b82 
+ 00023554  0x00005ec5 fetch  0x00000001 , 0x00004092 
+ 00023555  0x00005ec6 rtnne  0x0000000a 
+ 00023556  0x00005ec7 call  0x00005bb9 
+ 00023557  0x00005ec8 rtn  0x00000028 
+ 00023558  0x00005ec9 branch  0x00003410 
+ 00023559  0x00005ecd jam  0x00000008 , 0x000044c4 
+ 00023560  0x00005ece branch  0x00005b8c 
+ 00023561  0x00005ed1 fetch  0x00000001 , 0x00004452 
+ 00023562  0x00005ed2 fetcht  0x00000001 , 0x00004459 
+ 00023563  0x00005ed3 iand  0x00000002 , 0x0000003f 
+ 00023564  0x00005ed4 isolate0  0x00000001 , 0x0000003f 
+ 00023565  0x00005ed5 branch  0x00005c12 , 0x00000001 
+ 00023566  0x00005ed6 jam  0x00000009 , 0x000044c4 
+ 00023567  0x00005ed7 branch  0x00005b98 
+ 00023568  0x00005eda call  0x00005ba0 
+ 00023569  0x00005edb branch  0x00005c12 
+ 00023570  0x00005edf force  0x0000000a , 0x00000007 
+ 00023571  0x00005ee0 call  0x00007f07 
+ 00023572  0x00005ee1 jam  0x000000ff , 0x000044c5 
+ 00023573  0x00005ee2 jam  0x000000ff , 0x000044c4 
+ 00023574  0x00005ee3 jam  0x0000003e , 0x00000a99 
+ 00023575  0x00005ee4 branch  0x00007d86 
+ 00023576  0x00005ee9 bpatchx  0x00000079 , 0x0000402f 
+ 00023577  0x00005eea fetch  0x00000001 , 0x000044c6 
+ 00023578  0x00005eeb rtnbit0  0x00000007 
+ 00023579  0x00005eec fetch  0x00000001 , 0x000044bf 
+ 00023580  0x00005eed rtnne  0x00000002 
+ 00023581  0x00005eee jam  0x00000000 , 0x000044bf 
+ 00023582  0x00005eef fetch  0x00000001 , 0x000044c1 
+ 00023583  0x00005ef0 beq  0x00000001 , 0x00005c58 
+ 00023584  0x00005ef1 beq  0x00000002 , 0x00005c5f 
+ 00023585  0x00005ef2 beq  0x00000003 , 0x00005c52 
+ 00023586  0x00005ef3 beq  0x00000006 , 0x00005c39 
+ 00023587  0x00005ef4 beq  0x00000007 , 0x00005c30 
+ 00023588  0x00005ef5 beq  0x00000008 , 0x00005c26 
+ 00023589  0x00005ef6 rtn 
+ 00023590  0x00005efa fetch  0x00000001 , 0x00004663 
+ 00023591  0x00005efb copy  0x0000003f , 0x00000007 
+ 00023592  0x00005efc increase  0x00000001 , 0x0000003f 
+ 00023593  0x00005efd store  0x00000001 , 0x00004663 
+ 00023594  0x00005efe fetch  0x00000004 , 0x000044c7 
+ 00023595  0x00005eff qisolate1  0x0000003f 
+ 00023596  0x00005f00 setarg  0x00000080 
+ 00023597  0x00005f01 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00023598  0x00005f02 store  0x00000001 , 0x00004664 
+ 00023599  0x00005f03 branch  0x00005c55 
+ 00023600  0x00005f06 fetch  0x00000001 , 0x000044c2 
+ 00023601  0x00005f07 jam  0x00000000 , 0x000044c2 
+ 00023602  0x00005f08 beq  0x00000001 , 0x00005c35 
+ 00023603  0x00005f09 jam  0x00000002 , 0x000044bf 
+ 00023604  0x00005f0a rtn 
+ 00023605  0x00005f0d jam  0x00000031 , 0x00000a99 
+ 00023606  0x00005f0e call  0x00007d86 
+ 00023607  0x00005f0f jam  0x00000005 , 0x000044c4 
+ 00023608  0x00005f10 branch  0x00005bd5 
+ 00023609  0x00005f13 fetch  0x00000001 , 0x000009b9 
+ 00023610  0x00005f14 beq  0x00000003 , 0x00005c3d 
+ 00023611  0x00005f15 jam  0x00000002 , 0x000044bf 
+ 00023612  0x00005f16 rtn 
+ 00023613  0x00005f19 call  0x0000718d 
+ 00023614  0x00005f1d fetch  0x00000001 , 0x000044c6 
+ 00023615  0x00005f1e beq  0x00000083 , 0x00005c41 
+ 00023616  0x00005f1f call  0x00005b18 
+ 00023617  0x00005f21 call  0x0000717a 
+ 00023618  0x00005f22 arg  0x00000af2 , 0x00000011 
+ 00023619  0x00005f23 arg  0x00000a6e , 0x00000012 
+ 00023620  0x00005f24 arg  0x00000010 , 0x00000039 
+ 00023621  0x00005f25 call  0x00007f88 
+ 00023622  0x00005f26 branch  0x00005c49 , 0x00000005 
+ 00023623  0x00005f28 jam  0x0000000b , 0x0000047b 
+ 00023624  0x00005f29 branch  0x00005b54 
+ 00023625  0x00005f2d call  0x00007595 
+ 00023626  0x00005f2e nbranch  0x00005c47 , 0x00000005 
+ 00023627  0x00005f2f jam  0x00000001 , 0x00004429 
+ 00023628  0x00005f30 fetch  0x00000001 , 0x000044c6 
+ 00023629  0x00005f31 beq  0x00000081 , 0x00005c35 
+ 00023630  0x00005f32 beq  0x00000083 , 0x00005c35 
+ 00023631  0x00005f33 jam  0x00000002 , 0x000044bf 
+ 00023632  0x00005f34 jam  0x00000007 , 0x000044c1 
+ 00023633  0x00005f35 rtn 
+ 00023634  0x00005f38 fetch  0x00000001 , 0x000044c6 
+ 00023635  0x00005f39 beq  0x00000083 , 0x00005c56 
+ 00023636  0x00005f3a jam  0x00000000 , 0x00004664 
+ 00023637  0x00005f3c branch  0x00005b3d 
+ 00023638  0x00005f42 jam  0x00000000 , 0x00004663 
+ 00023639  0x00005f43 branch  0x00005b1b 
+ 00023640  0x00005f47 jam  0x00000002 , 0x000044bf 
+ 00023641  0x00005f48 fetch  0x00000001 , 0x000044c3 
+ 00023642  0x00005f49 beq  0x00000003 , 0x00005c5c 
+ 00023643  0x00005f4b rtn 
+ 00023644  0x00005f4e jam  0x00000002 , 0x000044c1 
+ 00023645  0x00005f4f jam  0x00000000 , 0x000009b9 
+ 00023646  0x00005f50 branch  0x00007a99 
+ 00023647  0x00005f53 jam  0x00000002 , 0x000044bf 
+ 00023648  0x00005f54 jam  0x00000003 , 0x000044c1 
+ 00023649  0x00005f55 branch  0x00005bcf 
+ 00023650  0x00005f5a force  0x00000006 , 0x00000012 
+ 00023651  0x00005f5b branch  0x00005847 
+ 00023652  0x00005f60 fetch  0x00000001 , 0x000002db 
+ 00023653  0x00005f61 beq  0x00000000 , 0x00005c7b 
+ 00023654  0x00005f62 beq  0x00000001 , 0x00005c83 
+ 00023655  0x00005f63 beq  0x00000002 , 0x00005c8e 
+ 00023656  0x00005f64 beq  0x00000003 , 0x00005caa 
+ 00023657  0x00005f65 beq  0x00000004 , 0x00005ce1 
+ 00023658  0x00005f66 beq  0x00000005 , 0x00005ce6 
+ 00023659  0x00005f67 beq  0x00000006 , 0x00005cea 
+ 00023660  0x00005f68 beq  0x00000007 , 0x00005cf5 
+ 00023661  0x00005f69 beq  0x00000008 , 0x00005c99 
+ 00023662  0x00005f6a beq  0x00000009 , 0x00005cf5 
+ 00023663  0x00005f6b beq  0x0000000a , 0x00005cef 
+ 00023664  0x00005f6c beq  0x0000000b , 0x00005cf5 
+ 00023665  0x00005f6d beq  0x0000000c , 0x00005c9f 
+ 00023666  0x00005f6e beq  0x0000000d , 0x00005cf5 
+ 00023667  0x00005f6f beq  0x00000012 , 0x00005ca6 
+ 00023668  0x00005f70 beq  0x00000013 , 0x00005cf5 
+ 00023669  0x00005f71 arg  0x00000002 , 0x00000011 
+ 00023670  0x00005f72 arg  0x00000007 , 0x00000012 
+ 00023671  0x00005f73 call  0x00005842 
+ 00023672  0x00005f74 fetch  0x00000001 , 0x000002db 
+ 00023673  0x00005f75 istore  0x00000001 , 0x00000005 
+ 00023674  0x00005f76 rtn 
+ 00023675  0x00005f7a ifetch  0x00000009 , 0x00000006 
+ 00023676  0x00005f7b store  0x00000009 , 0x000043d3 
+ 00023677  0x00005f7c ifetch  0x00000002 , 0x00000006 
+ 00023678  0x00005f7d store  0x00000002 , 0x0000045f 
+ 00023679  0x00005f7e fetch  0x00000001 , 0x0000043f 
+ 00023680  0x00005f7f set1  0x00000005 , 0x0000003f 
+ 00023681  0x00005f80 store  0x00000001 , 0x0000043f 
+ 00023682  0x00005f81 rtn 
+ 00023683  0x00005f84 ifetch  0x00000005 , 0x00000006 
+ 00023684  0x00005f85 store  0x00000005 , 0x000043ce 
+ 00023685  0x00005f86 ifetch  0x00000002 , 0x00000006 
+ 00023686  0x00005f87 store  0x00000002 , 0x0000045f 
+ 00023687  0x00005f88 fetcht  0x00000002 , 0x00000459 
+ 00023688  0x00005f89 isub  0x00000002 , 0x0000003e 
+ 00023689  0x00005f8a nbranch  0x00005c8e , 0x00000002 
+ 00023690  0x00005f8b fetch  0x00000001 , 0x0000043f 
+ 00023691  0x00005f8c set1  0x00000006 , 0x0000003f 
+ 00023692  0x00005f8d store  0x00000001 , 0x0000043f 
+ 00023693  0x00005f8e rtn 
+ 00023694  0x00005f92 setarg  0x00000014 
+ 00023695  0x00005f93 store  0x00000002 , 0x0000046d 
+ 00023696  0x00005f94 store  0x00000002 , 0x000044ba 
+ 00023697  0x00005f95 rtn 
+ 00023698  0x00005f98 arg  0x00000013 , 0x00000013 
+ 00023699  0x00005f9c arg  0x00000002 , 0x00000011 
+ 00023700  0x00005f9d arg  0x00000002 , 0x00000012 
+ 00023701  0x00005f9e call  0x00005842 
+ 00023702  0x00005f9f copy  0x00000013 , 0x0000003f 
+ 00023703  0x00005fa0 istore  0x00000001 , 0x00000005 
+ 00023704  0x00005fa1 rtn 
+ 00023705  0x00005fa6 arg  0x00000009 , 0x00000011 
+ 00023706  0x00005fa7 arg  0x00000009 , 0x00000012 
+ 00023707  0x00005fa8 call  0x00005842 
+ 00023708  0x00005fa9 setarg  0x00000001 
+ 00023709  0x00005faa istore  0x00000008 , 0x00000005 
+ 00023710  0x00005fab rtn 
+ 00023711  0x00005faf rtn  0x00000029 
+ 00023712  0x00005fb1 arg  0x00000006 , 0x00000011 
+ 00023713  0x00005fb2 arg  0x0000000c , 0x00000012 
+ 00023714  0x00005fb3 call  0x00005842 
+ 00023715  0x00005fb4 fetch  0x00000005 , 0x00004510 
+ 00023716  0x00005fb5 istore  0x00000005 , 0x00000005 
+ 00023717  0x00005fb6 rtn 
+ 00023718  0x00005fba arg  0x00000013 , 0x00000012 
+ 00023719  0x00005fbb branch  0x00005ca8 
+ 00023720  0x00005fbf arg  0x00000001 , 0x00000011 
+ 00023721  0x00005fc0 branch  0x00005842 
+ 00023722  0x00005fc4 ifetch  0x00000008 , 0x00000006 
+ 00023723  0x00005fc5 store  0x00000008 , 0x000044cd 
+ 00023724  0x00005fc6 ifetch  0x00000002 , 0x00000006 
+ 00023725  0x00005fc7 store  0x00000002 , 0x000044cb 
+ 00023726  0x00005fc8 ifetch  0x00000008 , 0x00000006 
+ 00023727  0x00005fc9 store  0x00000008 , 0x000044aa 
+ 00023728  0x00005fca ifetch  0x00000004 , 0x00000006 
+ 00023729  0x00005fcb store  0x00000004 , 0x00004411 
+ 00023730  0x00005fcc call  0x00005ccf 
+ 00023731  0x00005fcd bpatchx  0x0000007a , 0x0000402f 
+ 00023732  0x00005fce fetch  0x00000001 , 0x000044c4 
+ 00023733  0x00005fcf beq  0x00000005 , 0x00005cbc 
+ 00023734  0x00005fd0 fetch  0x00000001 , 0x000044e9 
+ 00023735  0x00005fd1 bbit1  0x00000001 , 0x00005cbf 
+ 00023736  0x00005fd2 fetch  0x00000001 , 0x00004217 
+ 00023737  0x00005fd3 ncall  0x000067be , 0x00000034 
+ 00023738  0x00005fd4 fetch  0x00000001 , 0x00004429 
+ 00023739  0x00005fd5 beq  0x00000000 , 0x00005cc4 
+ 00023740  0x00005fd7 jam  0x00000001 , 0x000044c5 
+ 00023741  0x00005fd8 call  0x00005cdd 
+ 00023742  0x00005fd9 branch  0x000073a2 
+ 00023743  0x00005fdc jam  0x00000001 , 0x00004429 
+ 00023744  0x00005fdd arg  0x000044ea , 0x00000006 
+ 00023745  0x00005fde arg  0x00004419 , 0x00000005 
+ 00023746  0x00005fdf call  0x00007ebf 
+ 00023747  0x00005fe0 branch  0x00005cbc 
+ 00023748  0x00005fe4 bpatchx  0x0000007b , 0x0000402f 
+ 00023749  0x00005fe5 jam  0x00000000 , 0x000044c5 
+ 00023750  0x00005fe6 jam  0x00000000 , 0x000044c4 
+ 00023751  0x00005fe7 jam  0x00000041 , 0x00000a99 
+ 00023752  0x00005fe8 branch  0x00007d86 
+ 00023753  0x00005feb arg  0x00000002 , 0x00000011 
+ 00023754  0x00005fec arg  0x0000000d , 0x00000012 
+ 00023755  0x00005fed call  0x00005842 
+ 00023756  0x00005fee setarg  0x00000006 
+ 00023757  0x00005fef istore  0x00000001 , 0x00000005 
+ 00023758  0x00005ff0 rtn 
+ 00023759  0x00005ff3 arg  0x000044b2 , 0x00000005 
+ 00023760  0x00005ff4 force  0x00000008 , 0x00000039 
+ 00023761  0x00005ff5 call  0x0000630d 
+ 00023762  0x00005ff6 arg  0x00004415 , 0x00000005 
+ 00023763  0x00005ff7 force  0x00000004 , 0x00000039 
+ 00023764  0x00005ff8 call  0x0000630d 
+ 00023765  0x00005ff9 arg  0x0000000d , 0x00000011 
+ 00023766  0x00005ffa arg  0x00000004 , 0x00000012 
+ 00023767  0x00005ffb call  0x00005842 
+ 00023768  0x00005ffc fetch  0x00000008 , 0x000044b2 
+ 00023769  0x00005ffd istore  0x00000008 , 0x00000005 
+ 00023770  0x00005ffe fetch  0x00000004 , 0x00004415 
+ 00023771  0x00005fff istore  0x00000004 , 0x00000005 
+ 00023772  0x00006000 rtn 
+ 00023773  0x00006003 arg  0x00000005 , 0x00000012 
+ 00023774  0x00006004 branch  0x00005ca8 
+ 00023775  0x00006007 arg  0x00000006 , 0x00000012 
+ 00023776  0x00006008 branch  0x00005ca8 
+ 00023777  0x0000600c ifetch  0x00000008 , 0x00000006 
+ 00023778  0x0000600d store  0x00000008 , 0x000044b2 
+ 00023779  0x0000600e ifetch  0x00000004 , 0x00000006 
+ 00023780  0x0000600f store  0x00000004 , 0x00004415 
+ 00023781  0x00006010 branch  0x000073a2 
+ 00023782  0x00006013 fetch  0x00000001 , 0x0000043f 
+ 00023783  0x00006014 set1  0x00000004 , 0x0000003f 
+ 00023784  0x00006015 store  0x00000001 , 0x0000043f 
+ 00023785  0x00006016 rtn 
+ 00023786  0x00006019 rtn  0x00000029 
+ 00023787  0x0000601a jam  0x00000032 , 0x00000a99 
+ 00023788  0x0000601b call  0x00007d86 
+ 00023789  0x0000601c jam  0x00000004 , 0x000044c5 
+ 00023790  0x0000601d branch  0x00005cdf 
+ 00023791  0x00006020 jam  0x00000002 , 0x000044c5 
+ 00023792  0x00006021 call  0x00005cf3 
+ 00023793  0x00006022 jam  0x00000033 , 0x00000a99 
+ 00023794  0x00006023 branch  0x00007d86 
+ 00023795  0x00006026 arg  0x0000000b , 0x00000012 
+ 00023796  0x00006027 branch  0x00005ca8 
+ 00023797  0x0000602f rtn 
+ 00023798  0x00006037 rtn  0x0000002b 
+ 00023799  0x00006039 bpatchx  0x0000007c , 0x0000402f 
+ 00023800  0x0000603a setarg  0x00000000 
+ 00023801  0x0000603b store  0x00000001 , 0x00000048 
+ 00023802  0x0000603c store  0x00000001 , 0x00000055 
+ 00023803  0x0000603d store  0x00000001 , 0x00000078 
+ 00023804  0x0000603e store  0x00000001 , 0x0000007c 
+ 00023805  0x0000603f store  0x00000001 , 0x00004158 
+ 00023806  0x00006040 store  0x00000001 , 0x000004d7 
+ 00023807  0x00006041 store  0x00000001 , 0x0000016d 
+ 00023808  0x00006042 store  0x00000001 , 0x000009b5 
+ 00023809  0x00006043 jam  0x00000000 , 0x0000455b 
+ 00023810  0x00006044 jam  0x00000000 , 0x00000229 
+ 00023811  0x00006045 jam  0x00000000 , 0x000004d8 
+ 00023812  0x00006047 jam  0x00000000 , 0x000009b5 
+ 00023813  0x00006048 jam  0x00000000 , 0x000009b4 
+ 00023814  0x00006049 jam  0x00000000 , 0x000004d1 
+ 00023815  0x0000604c rtn 
+ 00023816  0x0000604f bpatchx  0x0000007d , 0x0000402f 
+ 00023817  0x00006050 call  0x000062ff , 0x00000029 
+ 00023818  0x00006051 ncall  0x00006303 , 0x00000029 
+ 00023819  0x00006052 call  0x000062bc 
+ 00023820  0x00006053 nrtn  0x00000034 
+ 00023821  0x00006054 fetch  0x00000001 , 0x0000004c 
+ 00023822  0x00006055 rtnbit0  0x00000006 
+ 00023823  0x00006056 set0  0x00000006 , 0x0000003f 
+ 00023824  0x00006057 set0  0x00000001 , 0x00000000 
+ 00023825  0x00006058 store  0x00000001 , 0x0000004c 
+ 00023826  0x00006059 fetch  0x00000001 , 0x00000551 
+ 00023827  0x0000605a fetcht  0x00000001 , 0x0000004c 
+ 00023828  0x0000605b isolate1  0x00000000 , 0x0000003f 
+ 00023829  0x0000605c setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00023830  0x0000605d storet  0x00000001 , 0x0000004c 
+ 00023831  0x0000605e and_into  0x00000002 , 0x00000002 
+ 00023832  0x0000605f storet  0x00000001 , 0x0000007f 
+ 00023833  0x00006060 fetcht  0x00000001 , 0x0000004c 
+ 00023834  0x00006061 rshift  0x0000003f , 0x0000003f 
+ 00023835  0x00006062 store  0x00000001 , 0x0000007d 
+ 00023836  0x00006063 bpatchx  0x0000007e , 0x0000402f 
+ 00023837  0x00006064 fetch  0x00000001 , 0x0000007d 
+ 00023838  0x00006065 beq  0x0000007f , 0x00005d66 
+ 00023839  0x00006066 beq  0x00000003 , 0x00005db1 
+ 00023840  0x00006067 beq  0x00000004 , 0x00005dc2 
+ 00023841  0x00006068 beq  0x0000003c , 0x00005d59 
+ 00023842  0x00006069 beq  0x00000005 , 0x00005d55 
+ 00023843  0x0000606a beq  0x0000000f , 0x00005fa8 
+ 00023844  0x0000606b beq  0x00000010 , 0x00005e24 
+ 00023845  0x0000606c beq  0x00000023 , 0x00005e42 
+ 00023846  0x0000606d beq  0x00000039 , 0x00005fc1 
+ 00023847  0x0000606e beq  0x00000038 , 0x00005fbc 
+ 00023848  0x0000606f beq  0x00000031 , 0x00005e27 
+ 00023849  0x00006070 beq  0x00000037 , 0x00005eb0 
+ 00023850  0x00006071 beq  0x00000027 , 0x00005eac 
+ 00023851  0x00006072 beq  0x00000033 , 0x00005ea9 
+ 00023852  0x00006073 beq  0x00000025 , 0x00005eae 
+ 00023853  0x00006074 beq  0x00000026 , 0x00005e3e 
+ 00023854  0x00006075 beq  0x00000007 , 0x00005e36 
+ 00023855  0x00006076 beq  0x0000002d , 0x00005e2d 
+ 00023856  0x00006077 beq  0x0000002e , 0x00005e2e 
+ 00023857  0x00006078 beq  0x00000001 , 0x00005ea5 
+ 00023858  0x00006079 beq  0x00000002 , 0x00005e90 
+ 00023859  0x0000607a beq  0x00000028 , 0x00005fb3 
+ 00023860  0x0000607b beq  0x00000009 , 0x00005e86 
+ 00023861  0x0000607c beq  0x0000000b , 0x00005e5f 
+ 00023862  0x0000607d beq  0x00000008 , 0x00005e43 
+ 00023863  0x0000607e beq  0x0000000c , 0x00005e6a 
+ 00023864  0x0000607f beq  0x0000001f , 0x00005e3a 
+ 00023865  0x00006080 beq  0x00000020 , 0x00005e3c 
+ 00023866  0x00006081 beq  0x00000021 , 0x00005eca 
+ 00023867  0x00006082 beq  0x00000022 , 0x00005eca 
+ 00023868  0x00006083 beq  0x00000035 , 0x00005ecb 
+ 00023869  0x00006084 beq  0x00000036 , 0x00005ecc 
+ 00023870  0x00006085 beq  0x00000024 , 0x00005eca 
+ 00023871  0x00006086 beq  0x00000034 , 0x00005ecd 
+ 00023872  0x00006087 beq  0x00000017 , 0x00005ed6 
+ 00023873  0x00006088 beq  0x00000011 , 0x00005ef2 
+ 00023874  0x00006089 beq  0x00000012 , 0x00005ef6 
+ 00023875  0x0000608a beq  0x00000013 , 0x00005ef8 
+ 00023876  0x0000608b beq  0x0000000d , 0x00005f0a 
+ 00023877  0x0000608c beq  0x0000000e , 0x00005f0a 
+ 00023878  0x0000608d beq  0x0000002f , 0x00005eaa 
+ 00023879  0x0000608e beq  0x00000030 , 0x00005f0a 
+ 00023880  0x0000608f beq  0x0000000a , 0x00005f0a 
+ 00023881  0x00006090 beq  0x00000018 , 0x00005f0b 
+ 00023882  0x00006091 beq  0x00000032 , 0x00005f0a 
+ 00023883  0x00006092 beq  0x0000003d , 0x00005f10 
+ 00023884  0x00006093 beq  0x0000003e , 0x00005f51 
+ 00023885  0x00006094 beq  0x0000003f , 0x00005f4b 
+ 00023886  0x00006095 beq  0x00000040 , 0x00005f78 
+ 00023887  0x00006096 beq  0x00000041 , 0x00005f8a 
+ 00023888  0x00006097 beq  0x00000006 , 0x00005fa7 
+ 00023889  0x00006098 beq  0x0000003a , 0x00005d57 
+ 00023890  0x0000609c jam  0x00000019 , 0x0000007e 
+ 00023891  0x0000609e jam  0x00000004 , 0x0000007c 
+ 00023892  0x0000609f rtn 
+ 00023893  0x000060a2 jam  0x00000006 , 0x0000007c 
+ 00023894  0x000060a3 rtn 
+ 00023895  0x000060a6 jam  0x0000003b , 0x0000007c 
+ 00023896  0x000060a7 rtn 
+ 00023897  0x000060aa fetch  0x00000004 , 0x00000552 
+ 00023898  0x000060ab lshift  0x0000003f , 0x0000003f 
+ 00023899  0x000060ac store  0x00000004 , 0x000040d2 
+ 00023900  0x000060ad fetch  0x00000001 , 0x00000556 
+ 00023901  0x000060ae store  0x00000001 , 0x000040d9 
+ 00023902  0x000060af fetch  0x00000005 , 0x00000557 
+ 00023903  0x000060b0 store  0x00000005 , 0x000040e7 
+ 00023904  0x000060b1 fetch  0x00000005 , 0x0000055c 
+ 00023905  0x000060b2 istore  0x00000005 , 0x00000005 
+ 00023906  0x000060b3 fetch  0x00000001 , 0x00000031 
+ 00023907  0x000060b4 set1  0x00000003 , 0x0000003f 
+ 00023908  0x000060b5 store  0x00000001 , 0x00000031 
+ 00023909  0x000060b6 rtn 
+ 00023910  0x000060b8 bpatchx  0x0000007f , 0x0000402f 
+ 00023911  0x000060b9 fetch  0x00000001 , 0x00000552 
+ 00023912  0x000060ba set1  0x00000007 , 0x0000003f 
+ 00023913  0x000060bb store  0x00000001 , 0x0000007d 
+ 00023914  0x000060bc beq  0x00000081 , 0x00005d88 
+ 00023915  0x000060bd beq  0x00000082 , 0x00005d8d 
+ 00023916  0x000060be beq  0x00000095 , 0x00005eb1 
+ 00023917  0x000060bf beq  0x00000096 , 0x00005eca 
+ 00023918  0x000060c0 beq  0x0000008b , 0x00005ebf 
+ 00023919  0x000060c1 beq  0x00000083 , 0x00005da5 
+ 00023920  0x000060c2 beq  0x00000084 , 0x00005da7 
+ 00023921  0x000060c3 beq  0x00000090 , 0x00005d7a 
+ 00023922  0x000060c4 beq  0x00000097 , 0x00005d9e 
+ 00023923  0x000060c5 beq  0x00000098 , 0x00005da3 
+ 00023924  0x000060c6 beq  0x00000099 , 0x00005d7d 
+ 00023925  0x000060c7 beq  0x0000009a , 0x00005d80 
+ 00023926  0x000060c8 rtneq  0x00000084 
+ 00023927  0x000060cc jam  0x00000082 , 0x0000007c 
+ 00023928  0x000060cd jam  0x00000019 , 0x0000007e 
+ 00023929  0x000060cf rtn 
+ 00023930  0x000060d1 jam  0x00000082 , 0x0000007c 
+ 00023931  0x000060d2 jam  0x0000002e , 0x0000007e 
+ 00023932  0x000060d3 rtn 
+ 00023933  0x000060d6 call  0x00005d82 
+ 00023934  0x000060d7 jam  0x0000009a , 0x0000007c 
+ 00023935  0x000060d8 rtn 
+ 00023936  0x000060db call  0x00005d82 
+ 00023937  0x000060dc branch  0x00005d86 
+ 00023938  0x000060df arg  0x0000465e , 0x00000005 
+ 00023939  0x000060e0 fetch  0x00000003 , 0x00000553 
+ 00023940  0x000060e1 istore  0x00000003 , 0x00000005 
+ 00023941  0x000060e2 rtn 
+ 00023942  0x000060e5 branch  0x000076d8 , 0x00000001 
+ 00023943  0x000060e6 rtn 
+ 00023944  0x000060e8 fetch  0x00000001 , 0x00000554 
+ 00023945  0x000060e9 set1  0x00000007 , 0x0000003f 
+ 00023946  0x000060ea store  0x00000001 , 0x000004c9 
+ 00023947  0x000060eb beq  0x0000008b , 0x00005d92 
+ 00023948  0x000060ec rtn 
+ 00023949  0x000060f0 fetch  0x00000001 , 0x00000554 
+ 00023950  0x000060f1 set1  0x00000007 , 0x0000003f 
+ 00023951  0x000060f2 store  0x00000001 , 0x000004c9 
+ 00023952  0x000060f3 beq  0x0000008b , 0x00005d96 
+ 00023953  0x000060f4 rtn 
+ 00023954  0x000060f7 fetch  0x00000001 , 0x0000415a 
+ 00023955  0x000060f8 fetcht  0x00000001 , 0x0000004c 
+ 00023956  0x000060f9 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00023957  0x000060fa storet  0x00000001 , 0x0000004c 
+ 00023958  0x000060fc fetch  0x00000001 , 0x00000030 
+ 00023959  0x000060fd rtnbit0  0x00000005 
+ 00023960  0x000060fe set0  0x00000005 , 0x0000003f 
+ 00023961  0x000060ff store  0x00000001 , 0x00000030 
+ 00023962  0x00006100 fetch  0x00000001 , 0x000004d7 
+ 00023963  0x00006101 nrtn  0x00000034 
+ 00023964  0x00006102 jam  0x00000031 , 0x0000007c 
+ 00023965  0x00006103 rtn 
+ 00023966  0x00006106 nbranch  0x00005da1 , 0x00000029 
+ 00023967  0x00006107 jam  0x00000012 , 0x0000007c 
+ 00023968  0x00006108 branch  0x000062eb 
+ 00023969  0x0000610b jam  0x00000097 , 0x0000007c 
+ 00023970  0x0000610c rtn 
+ 00023971  0x00006111 call  0x000062eb 
+ 00023972  0x00006112 branch  0x00005ffe 
+ 00023973  0x00006115 jam  0x00000084 , 0x0000007c 
+ 00023974  0x00006116 rtn 
+ 00023975  0x00006119 fetcht  0x00000001 , 0x00000555 
+ 00023976  0x0000611a and  0x00000002 , 0x00000001 , 0x00000002 
+ 00023977  0x0000611b storet  0x00000001 , 0x000004d0 
+ 00023978  0x0000611c fetch  0x00000001 , 0x000041ce 
+ 00023979  0x0000611d bne  0x00000051 , 0x00005dad 
+ 00023980  0x0000611e jam  0x00000000 , 0x000041ce 
+ 00023981  0x00006120 fetch  0x00000001 , 0x00000055 
+ 00023982  0x00006121 rtnne  0x00000015 
+ 00023983  0x00006122 jam  0x00000004 , 0x00000055 
+ 00023984  0x00006123 branch  0x0000631b 
+ 00023985  0x00006126 bpatchx  0x00000080 , 0x00004030 
+ 00023986  0x00006127 fetch  0x00000001 , 0x00000552 
+ 00023987  0x00006128 store  0x00000001 , 0x000004c9 
+ 00023988  0x00006129 beq  0x00000033 , 0x00005dd8 
+ 00023989  0x0000612a beq  0x00000008 , 0x00005de7 
+ 00023990  0x0000612b beq  0x0000000f , 0x00005dee 
+ 00023991  0x0000612c beq  0x00000010 , 0x00005df4 
+ 00023992  0x0000612d beq  0x00000011 , 0x00005df5 
+ 00023993  0x0000612e beq  0x00000012 , 0x00005dfd 
+ 00023994  0x0000612f beq  0x00000018 , 0x00005e13 
+ 00023995  0x00006130 beq  0x00000017 , 0x00005e16 
+ 00023996  0x00006131 beq  0x00000013 , 0x00005dcf 
+ 00023997  0x00006133 beq  0x0000003d , 0x00005f1e 
+ 00023998  0x00006134 beq  0x0000003e , 0x00005f6a 
+ 00023999  0x00006135 beq  0x00000040 , 0x00005f20 
+ 00024000  0x00006136 beq  0x00000041 , 0x00005f3d 
+ 00024001  0x00006137 rtn 
+ 00024002  0x0000613a bpatchx  0x00000081 , 0x00004030 
+ 00024003  0x0000613b fetch  0x00000001 , 0x00000552 
+ 00024004  0x0000613c store  0x00000001 , 0x000004c9 
+ 00024005  0x0000613d beq  0x00000001 , 0x00005e0a 
+ 00024006  0x0000613e beq  0x00000033 , 0x00005de2 
+ 00024007  0x0000613f beq  0x0000000b , 0x00005dfe 
+ 00024008  0x00006140 beq  0x00000008 , 0x00005e01 
+ 00024009  0x00006141 beq  0x00000013 , 0x00005dd2 
+ 00024010  0x00006143 beq  0x00000040 , 0x00005e0b 
+ 00024011  0x00006144 beq  0x00000041 , 0x00005e0e 
+ 00024012  0x00006145 beq  0x00000018 , 0x00005e11 
+ 00024013  0x00006146 beq  0x00000017 , 0x00005e22 
+ 00024014  0x00006147 rtn 
+ 00024015  0x0000614a jam  0x00000020 , 0x00000a99 
+ 00024016  0x0000614b call  0x00007d86 
+ 00024017  0x0000614c branch  0x000021dc 
+ 00024018  0x0000614e jam  0x00000019 , 0x00000a99 
+ 00024019  0x0000614f call  0x00007d86 
+ 00024020  0x00006150 jam  0x00000002 , 0x0000455b 
+ 00024021  0x00006151 setarg  0x00000050 
+ 00024022  0x00006152 arg  0x00000006 , 0x00000007 
+ 00024023  0x00006153 branch  0x00007f08 
+ 00024024  0x00006159 fetch  0x00000001 , 0x000004d1 
+ 00024025  0x0000615a set1  0x00000000 , 0x0000003f 
+ 00024026  0x0000615b store  0x00000001 , 0x000004d1 
+ 00024027  0x0000615c jam  0x00000001 , 0x00000a99 
+ 00024028  0x0000615d call  0x00007d86 
+ 00024029  0x0000615e jam  0x0000008b , 0x0000007c 
+ 00024030  0x00006162 fetch  0x00000001 , 0x00000055 
+ 00024031  0x00006163 bne  0x00000005 , 0x00005d07 
+ 00024032  0x00006166 jam  0x00000006 , 0x00000055 
+ 00024033  0x00006167 rtn 
+ 00024034  0x00006170 jam  0x0000000b , 0x000004ca 
+ 00024035  0x00006171 jam  0x00000007 , 0x0000007c 
+ 00024036  0x00006173 jam  0x00000000 , 0x00000055 
+ 00024037  0x00006175 branch  0x00005d07 , 0x00000001 
+ 00024038  0x00006176 rtn 
+ 00024039  0x00006179 fetch  0x00000001 , 0x000041bd 
+ 00024040  0x0000617a nrtn  0x00000034 
+ 00024041  0x0000617b call  0x0000244f 
+ 00024042  0x0000617c call  0x00005ffc 
+ 00024043  0x0000617d rtn  0x00000029 
+ 00024044  0x0000617e set1  0x00000021 , 0x00000000 
+ 00024045  0x0000617f rtn 
+ 00024046  0x00006182 nrtn  0x00000029 
+ 00024047  0x00006183 jam  0x00000010 , 0x0000007c 
+ 00024048  0x00006184 fetch  0x00000001 , 0x0000004c 
+ 00024049  0x00006185 rtnbit0  0x00000002 
+ 00024050  0x00006186 jam  0x00000012 , 0x0000007c 
+ 00024051  0x00006187 rtn 
+ 00024052  0x0000618a branch  0x00005ffe 
+ 00024053  0x0000618d call  0x00006059 
+ 00024054  0x0000618e fetch  0x00000001 , 0x00000030 
+ 00024055  0x0000618f rtnbit1  0x00000004 
+ 00024056  0x00006190 jam  0x00000031 , 0x0000007c 
+ 00024057  0x00006191 fetch  0x00000001 , 0x00000055 
+ 00024058  0x00006192 rtnne  0x0000000a 
+ 00024059  0x00006193 jam  0x0000000b , 0x00000055 
+ 00024060  0x00006194 rtn 
+ 00024061  0x0000619e rtn 
+ 00024062  0x000061a2 jam  0x00000007 , 0x0000007c 
+ 00024063  0x000061a3 jam  0x00000013 , 0x000004ca 
+ 00024064  0x000061a4 rtn 
+ 00024065  0x000061a7 fetch  0x00000001 , 0x00000553 
+ 00024066  0x000061a8 beq  0x00000006 , 0x00005e07 
+ 00024067  0x000061a9 rtnne  0x00000018 
+ 00024068  0x000061aa jam  0x00000018 , 0x000004ca 
+ 00024069  0x000061ab jam  0x00000007 , 0x0000007c 
+ 00024070  0x000061ac rtn 
+ 00024071  0x000061ae jam  0x00000006 , 0x000004ca 
+ 00024072  0x000061af jam  0x00000007 , 0x0000007c 
+ 00024073  0x000061b0 rtn 
+ 00024074  0x000061b3 rtn 
+ 00024075  0x000061b6 jam  0x00000000 , 0x000009ae 
+ 00024076  0x000061b7 jam  0x00000007 , 0x0000007c 
+ 00024077  0x000061b8 branch  0x00005d07 
+ 00024078  0x000061bb jam  0x00000000 , 0x000009ae 
+ 00024079  0x000061bc jam  0x00000007 , 0x0000007c 
+ 00024080  0x000061bd branch  0x00005d07 
+ 00024081  0x000061bf jam  0x00000024 , 0x00000a99 
+ 00024082  0x000061c0 branch  0x00007d86 
+ 00024083  0x000061c3 jam  0x00000023 , 0x00000a99 
+ 00024084  0x000061c4 call  0x00007d86 
+ 00024085  0x000061c5 branch  0x000026e9 
+ 00024086  0x000061c8 jam  0x00000022 , 0x00000a99 
+ 00024087  0x000061c9 call  0x00007d86 
+ 00024088  0x000061ca setarg  0x00000000 
+ 00024089  0x000061cb store  0x00000002 , 0x00000075 
+ 00024090  0x000061cc fetch  0x00000002 , 0x000041e3 
+ 00024091  0x000061cd lshift  0x0000003f , 0x0000003f 
+ 00024092  0x000061ce store  0x00000002 , 0x00000032 
+ 00024093  0x000061cf fetch  0x00000001 , 0x000041e5 
+ 00024094  0x000061d0 store  0x00000001 , 0x00000073 
+ 00024095  0x000061d1 fetch  0x00000001 , 0x000041e7 
+ 00024096  0x000061d2 store  0x00000001 , 0x00000074 
+ 00024097  0x000061d3 branch  0x000026c6 
+ 00024098  0x000061d6 jam  0x00000021 , 0x00000a99 
+ 00024099  0x000061d7 branch  0x00007d86 
+ 00024100  0x000061da fetcht  0x00000001 , 0x00000552 
+ 00024101  0x000061db storet  0x00000001 , 0x00000054 
+ 00024102  0x000061dc branch  0x00005e38 
+ 00024103  0x000061df fetch  0x00000001 , 0x000004d1 
+ 00024104  0x000061e0 set1  0x00000002 , 0x0000003f 
+ 00024105  0x000061e1 store  0x00000001 , 0x000004d1 
+ 00024106  0x000061e2 rtnbit1  0x00000003 
+ 00024107  0x000061e3 jam  0x00000031 , 0x0000007c 
+ 00024108  0x000061e4 branch  0x00005d07 
+ 00024109  0x000061e9 rtn 
+ 00024110  0x000061ec fetch  0x00000001 , 0x000040d0 
+ 00024111  0x000061ed fetcht  0x00000001 , 0x00000552 
+ 00024112  0x000061ee isub  0x00000002 , 0x0000003e 
+ 00024113  0x000061f0 branch  0x00005e38 , 0x00000002 
+ 00024114  0x000061f1 jam  0x00000004 , 0x0000007c 
+ 00024115  0x000061f2 jam  0x0000001f , 0x0000007e 
+ 00024116  0x000061f3 jam  0x0000002e , 0x0000007d 
+ 00024117  0x000061f4 rtn 
+ 00024118  0x000061f7 call  0x00006157 
+ 00024119  0x000061f8 branch  0x00005e38 
+ 00024120  0x000061fb jam  0x00000003 , 0x0000007c 
+ 00024121  0x000061fc rtn 
+ 00024122  0x000061ff jam  0x00000021 , 0x0000007c 
+ 00024123  0x00006200 rtn 
+ 00024124  0x00006203 jam  0x00000022 , 0x0000007c 
+ 00024125  0x00006204 rtn 
+ 00024126  0x00006207 fetch  0x00000001 , 0x00000055 
+ 00024127  0x00006208 rtneq  0x00000013 
+ 00024128  0x0000620a jam  0x00000002 , 0x00000055 
+ 00024129  0x0000620c rtn 
+ 00024130  0x00006210 rtn 
+ 00024131  0x00006213 call  0x00005ff9 
+ 00024132  0x00006214 jam  0x00000001 , 0x000004d4 
+ 00024133  0x00006215 jam  0x0000000a , 0x00000a99 
+ 00024134  0x00006216 call  0x00007d86 
+ 00024135  0x00006218 call  0x000062f3 
+ 00024136  0x00006219 nbranch  0x00006001 , 0x00000001 
+ 00024137  0x0000621b nbranch  0x00005e4e , 0x00000029 
+ 00024138  0x0000621c jam  0x00000004 , 0x0000007c 
+ 00024139  0x0000621d jam  0x00000008 , 0x0000007d 
+ 00024140  0x0000621e jam  0x00000023 , 0x0000007e 
+ 00024141  0x0000621f rtn 
+ 00024142  0x00006221 fetch  0x00000001 , 0x0000004b 
+ 00024143  0x00006222 set1  0x00000002 , 0x0000003f 
+ 00024144  0x00006223 store  0x00000001 , 0x0000004b 
+ 00024145  0x00006224 rtn 
+ 00024146  0x00006228 fetcht  0x00000001 , 0x0000004c 
+ 00024147  0x00006229 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00024148  0x0000622a storet  0x00000001 , 0x0000004c 
+ 00024149  0x0000622b rtn 
+ 00024150  0x0000622f fetch  0x00000001 , 0x0000007f 
+ 00024151  0x00006230 rshift  0x0000003f , 0x0000003f 
+ 00024152  0x00006231 and_into  0x00000001 , 0x0000003f 
+ 00024153  0x00006232 rtn 
+ 00024154  0x00006235 fetch  0x00000001 , 0x00004217 
+ 00024155  0x00006236 rtn  0x00000034 
+ 00024156  0x00006237 fetch  0x00000001 , 0x000009b5 
+ 00024157  0x00006238 call  0x000067b2 , 0x00000034 
+ 00024158  0x00006239 rtn 
+ 00024159  0x0000623c call  0x00005e5a 
+ 00024160  0x0000623d call  0x00005e56 
+ 00024161  0x0000623e store  0x00000001 , 0x000004d5 
+ 00024162  0x0000623f call  0x00005ff9 
+ 00024163  0x00006240 jam  0x0000000c , 0x0000007c 
+ 00024164  0x00006241 fetch  0x00000001 , 0x000041bd 
+ 00024165  0x00006242 nrtn  0x00000034 
+ 00024166  0x00006243 fetch  0x00000001 , 0x00000030 
+ 00024167  0x00006244 rtnbit1  0x00000006 
+ 00024168  0x00006245 jam  0x00000006 , 0x0000007e 
+ 00024169  0x00006246 branch  0x00005d53 
+ 00024170  0x00006249 arg  0x00000040 , 0x00000011 
+ 00024171  0x0000624a call  0x00007288 
+ 00024172  0x0000624b fetch  0x00000004 , 0x00000552 
+ 00024173  0x0000624c fetcht  0x00000004 , 0x00000592 
+ 00024174  0x0000624d isub  0x00000002 , 0x0000003e 
+ 00024175  0x0000624e branch  0x00005e73 , 0x00000005 
+ 00024176  0x0000624f jam  0x00000007 , 0x0000007c 
+ 00024177  0x00006250 jam  0x00000005 , 0x000004ca 
+ 00024178  0x00006251 rtn 
+ 00024179  0x00006253 call  0x00005e77 
+ 00024180  0x00006254 fetch  0x00000001 , 0x0000465a 
+ 00024181  0x00006255 branch  0x00005f3e , 0x00000034 
+ 00024182  0x00006256 rtn 
+ 00024183  0x0000625a call  0x00007386 
+ 00024184  0x0000625b call  0x000021b2 
+ 00024185  0x0000625c fetch  0x00000001 , 0x0000004b 
+ 00024186  0x0000625d isolate1  0x00000001 , 0x0000003f 
+ 00024187  0x0000625e set0  0x00000001 , 0x0000003f 
+ 00024188  0x0000625f store  0x00000001 , 0x0000004b 
+ 00024189  0x00006260 fetch  0x00000001 , 0x00000055 
+ 00024190  0x00006261 beq  0x00000019 , 0x00005e81 
+ 00024191  0x00006262 beq  0x00000018 , 0x00005e81 
+ 00024192  0x00006263 rtn 
+ 00024193  0x00006265 fetch  0x00000001 , 0x000009b5 
+ 00024194  0x00006266 rtnne  0x00000000 
+ 00024195  0x00006267 fetch  0x00000001 , 0x0000004c 
+ 00024196  0x00006268 rtnbit1  0x00000002 
+ 00024197  0x00006269 branch  0x000063b1 
+ 00024198  0x0000626c arg  0x00000552 , 0x00000011 
+ 00024199  0x0000626d arg  0x00000582 , 0x00000012 
+ 00024200  0x0000626e arg  0x00000562 , 0x00000005 
+ 00024201  0x0000626f call  0x00007352 
+ 00024202  0x00006270 arg  0x00000040 , 0x00000011 
+ 00024203  0x00006271 call  0x00006311 
+ 00024204  0x00006272 jam  0x0000000b , 0x0000007c 
+ 00024205  0x00006273 fetch  0x00000001 , 0x00000030 
+ 00024206  0x00006274 bbit0  0x00000006 , 0x00005ffc 
+ 00024207  0x00006275 rtn 
+ 00024208  0x00006278 fetch  0x00000002 , 0x0000015f 
+ 00024209  0x00006279 add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00024210  0x0000627a fetcht  0x00000001 , 0x00000552 
+ 00024211  0x0000627b setarg  0x00000101 
+ 00024212  0x0000627c iadd  0x00000002 , 0x00000005 
+ 00024213  0x0000627d arg  0x00000554 , 0x00000006 
+ 00024214  0x0000627e call  0x00007f01 
+ 00024215  0x0000627f fetcht  0x00000001 , 0x00000053 
+ 00024216  0x00006280 fetch  0x00000001 , 0x00000553 
+ 00024217  0x00006281 isub  0x00000002 , 0x0000003f 
+ 00024218  0x00006282 sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00024219  0x00006283 branch  0x00005ea0 , 0x00000002 
+ 00024220  0x00006284 add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00024221  0x00006285 store  0x00000001 , 0x00000053 
+ 00024222  0x00006286 jam  0x00000001 , 0x0000007c 
+ 00024223  0x00006287 rtn 
+ 00024224  0x00006289 fetch  0x00000001 , 0x0000004c 
+ 00024225  0x0000628a set1  0x00000003 , 0x0000003f 
+ 00024226  0x0000628b store  0x00000001 , 0x0000004c 
+ 00024227  0x0000628c bbit1  0x00000004 , 0x00006006 
+ 00024228  0x0000628d rtn 
+ 00024229  0x0000628f fetch  0x00000001 , 0x00000552 
+ 00024230  0x00006290 store  0x00000001 , 0x0000007d 
+ 00024231  0x00006291 jam  0x00000002 , 0x0000007c 
+ 00024232  0x00006292 rtn 
+ 00024233  0x00006295 branch  0x00005e38 
+ 00024234  0x00006298 jam  0x00000030 , 0x0000007c 
+ 00024235  0x00006299 rtn 
+ 00024236  0x0000629c jam  0x00000028 , 0x0000007c 
+ 00024237  0x0000629d rtn 
+ 00024238  0x000062a0 jam  0x00000026 , 0x0000007c 
+ 00024239  0x000062a1 rtn 
+ 00024240  0x000062a6 rtn 
+ 00024241  0x000062ab fetch  0x00000002 , 0x00000032 
+ 00024242  0x000062ac iforce  0x00000002 
+ 00024243  0x000062ad fetch  0x00000001 , 0x00000553 
+ 00024244  0x000062ae store  0x00000001 , 0x00000095 
+ 00024245  0x000062af imul32  0x00000002 , 0x00000002 
+ 00024246  0x000062b0 fetch  0x00000002 , 0x00000554 
+ 00024247  0x000062b1 lshift  0x0000003f , 0x0000003f 
+ 00024248  0x000062b2 store  0x00000002 , 0x00000096 
+ 00024249  0x000062b3 fetch  0x00000004 , 0x00000556 
+ 00024250  0x000062b4 lshift  0x0000003f , 0x0000003f 
+ 00024251  0x000062b5 store  0x00000004 , 0x00000091 
+ 00024252  0x000062b7 deposit  0x00000002 
+ 00024253  0x000062b8 store  0x00000002 , 0x00000098 
+ 00024254  0x000062b9 rtn 
+ 00024255  0x000062bb fetcht  0x00000001 , 0x0000415a 
+ 00024256  0x000062bc fetch  0x00000001 , 0x00000553 
+ 00024257  0x000062bd ixor  0x00000002 , 0x0000003e 
+ 00024258  0x000062be nbranch  0x00005d77 , 0x00000005 
+ 00024259  0x000062bf isolate1  0x00000000 , 0x0000003f 
+ 00024260  0x000062c0 fetch  0x00000001 , 0x0000004c 
+ 00024261  0x000062c1 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00024262  0x000062c2 store  0x00000001 , 0x0000004c 
+ 00024263  0x000062c3 jam  0x00000081 , 0x0000007c 
+ 00024264  0x000062c4 jam  0x0000008b , 0x0000007d 
+ 00024265  0x000062c5 rtn 
+ 00024266  0x000062cc rtn 
+ 00024267  0x000062cf branch  0x00005e38 
+ 00024268  0x000062d3 branch  0x00005e38 
+ 00024269  0x000062d8 fetch  0x00000002 , 0x00000552 
+ 00024270  0x000062d9 store  0x00000002 , 0x00000171 
+ 00024271  0x000062da rtn 
+ 00024272  0x000062dd fetch  0x00000002 , 0x00000555 
+ 00024273  0x000062de fetcht  0x00000001 , 0x00004172 
+ 00024274  0x000062df imul32  0x00000002 , 0x0000003f 
+ 00024275  0x000062e0 arg  0x00000640 , 0x00000002 
+ 00024276  0x000062e1 isub  0x00000002 , 0x0000003e 
+ 00024277  0x000062e3 rtn 
+ 00024278  0x000062e6 fetch  0x00000002 , 0x00000557 
+ 00024279  0x000062e7 branch  0x00005ef0 , 0x00000034 
+ 00024280  0x000062e8 call  0x00005ed0 
+ 00024281  0x000062e9 branch  0x00005ef0 , 0x00000002 
+ 00024282  0x000062ea fetch  0x00000001 , 0x00004092 
+ 00024283  0x000062eb sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00024284  0x000062ec call  0x00003cd5 , 0x00000005 
+ 00024285  0x000062ed fetch  0x00000001 , 0x00000030 
+ 00024286  0x000062ee bbit1  0x00000001 , 0x00005ef0 
+ 00024287  0x000062ef fetch  0x00000002 , 0x00000553 
+ 00024288  0x000062f0 lshift  0x0000003f , 0x0000003f 
+ 00024289  0x000062f1 store  0x00000002 , 0x00000075 
+ 00024290  0x000062f2 fetch  0x00000002 , 0x00000555 
+ 00024291  0x000062f3 lshift  0x0000003f , 0x0000003f 
+ 00024292  0x000062f4 store  0x00000002 , 0x00000032 
+ 00024293  0x000062f5 fetch  0x00000002 , 0x00000557 
+ 00024294  0x000062f6 store  0x00000001 , 0x00000073 
+ 00024295  0x000062f7 iforce  0x00000002 
+ 00024296  0x000062f8 fetch  0x00000002 , 0x00000559 
+ 00024297  0x000062f9 store  0x00000001 , 0x00000074 
+ 00024298  0x000062fa isub  0x00000002 , 0x0000003e 
+ 00024299  0x000062fb nbranch  0x00005eed , 0x00000002 
+ 00024300  0x000062fc store  0x00000001 , 0x00000073 
+ 00024301  0x000062ff jam  0x00000003 , 0x0000007c 
+ 00024302  0x00006300 jam  0x00000017 , 0x0000007d 
+ 00024303  0x00006301 rtn 
+ 00024304  0x00006304 jam  0x00000024 , 0x0000007e 
+ 00024305  0x00006305 branch  0x00005d53 
+ 00024306  0x00006308 call  0x00005e38 
+ 00024307  0x00006309 call  0x00005ff9 
+ 00024308  0x0000630a call  0x0000728b 
+ 00024309  0x0000630b branch  0x000026b8 
+ 00024310  0x0000630e call  0x00005e38 
+ 00024311  0x0000630f branch  0x000026c0 
+ 00024312  0x00006313 fetch  0x00000004 , 0x00000552 
+ 00024313  0x00006314 lshift  0x0000003f , 0x0000003f 
+ 00024314  0x00006316 branch  0x00005f04 , 0x00000029 
+ 00024315  0x00006317 fetcht  0x00000001 , 0x000041bd 
+ 00024316  0x00006318 nbranch  0x00005f01 , 0x00000034 
+ 00024317  0x0000631a jam  0x00000004 , 0x0000007c 
+ 00024318  0x0000631b jam  0x00000013 , 0x0000007d 
+ 00024319  0x0000631c jam  0x00000024 , 0x0000007e 
+ 00024320  0x0000631d rtn 
+ 00024321  0x0000631f jam  0x00000034 , 0x0000007c 
+ 00024322  0x00006320 jam  0x00000000 , 0x00000055 
+ 00024323  0x00006321 branch  0x000021d9 
+ 00024324  0x00006324 call  0x000021d9 
+ 00024325  0x00006325 set1  0x00000022 , 0x00000000 
+ 00024326  0x00006326 fetch  0x00000001 , 0x0000016d 
+ 00024327  0x00006327 set0  0x00000002 , 0x0000003f 
+ 00024328  0x00006328 store  0x00000001 , 0x0000016d 
+ 00024329  0x00006329 branch  0x00005e38 
+ 00024330  0x00006332 rtn 
+ 00024331  0x00006336 jam  0x00000003 , 0x0000007c 
+ 00024332  0x00006337 jam  0x00000018 , 0x0000007d 
+ 00024333  0x00006338 jam  0x0000002e , 0x00000a99 
+ 00024334  0x00006339 call  0x00007d86 
+ 00024335  0x0000633a branch  0x000026e9 
+ 00024336  0x0000633d fetch  0x00000001 , 0x00000552 
+ 00024337  0x0000633e bne  0x00000001 , 0x00005f1c 
+ 00024338  0x0000633f fetch  0x00000001 , 0x00000553 
+ 00024339  0x00006340 bne  0x00000001 , 0x00005f1c 
+ 00024340  0x00006341 fetch  0x00000001 , 0x00000554 
+ 00024341  0x00006342 bne  0x00000030 , 0x00005f1c 
+ 00024342  0x00006343 call  0x000062fc 
+ 00024343  0x00006344 branch  0x00005f19 , 0x00000001 
+ 00024344  0x00006345 jam  0x00000001 , 0x000009ae 
+ 00024345  0x00006347 jam  0x00000003 , 0x0000007c 
+ 00024346  0x00006348 jam  0x0000003d , 0x0000007d 
+ 00024347  0x00006349 branch  0x00005d07 
+ 00024348  0x0000634c jam  0x00000024 , 0x0000007e 
+ 00024349  0x0000634d branch  0x00005d53 
+ 00024350  0x00006352 jam  0x0000003e , 0x0000007c 
+ 00024351  0x00006354 rtn 
+ 00024352  0x00006356 fetch  0x00000001 , 0x00004662 
+ 00024353  0x00006357 beq  0x00000001 , 0x00005f27 
+ 00024354  0x00006358 beq  0x00000002 , 0x00005f2b 
+ 00024355  0x0000635a call  0x000062fc 
+ 00024356  0x0000635b rtn  0x00000001 
+ 00024357  0x0000635c jam  0x00000008 , 0x000009ae 
+ 00024358  0x0000635d rtn 
+ 00024359  0x00006360 call  0x00007962 
+ 00024360  0x00006361 jam  0x00000035 , 0x00000a99 
+ 00024361  0x00006362 call  0x00007d86 
+ 00024362  0x00006363 branch  0x00005f23 
+ 00024363  0x00006367 call  0x000062fc 
+ 00024364  0x00006368 rtn  0x00000001 
+ 00024365  0x00006369 fetch  0x00000001 , 0x00004663 
+ 00024366  0x0000636a beq  0x00000013 , 0x00005f3b 
+ 00024367  0x0000636b increase  0x00000001 , 0x0000003f 
+ 00024368  0x0000636c store  0x00000001 , 0x00004663 
+ 00024369  0x00006370 jam  0x00000001 , 0x000009b0 
+ 00024370  0x00006371 jam  0x00000004 , 0x000009ae 
+ 00024371  0x00006372 fetch  0x00000001 , 0x00004663 
+ 00024372  0x00006373 copy  0x0000003f , 0x00000007 
+ 00024373  0x00006374 fetch  0x00000006 , 0x0000468a 
+ 00024374  0x00006375 qisolate1  0x0000003f 
+ 00024375  0x00006376 setarg  0x00000080 
+ 00024376  0x00006377 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024377  0x00006378 store  0x00000001 , 0x00004664 
+ 00024378  0x00006379 rtn 
+ 00024379  0x0000637c jam  0x00000008 , 0x000009ae 
+ 00024380  0x0000637d rtn 
+ 00024381  0x00006380 call  0x00005f43 
+ 00024382  0x00006382 fetch  0x00000001 , 0x00004665 
+ 00024383  0x00006383 rtn  0x00000034 
+ 00024384  0x00006384 jam  0x00000000 , 0x00004665 
+ 00024385  0x00006385 jam  0x00000038 , 0x00000a99 
+ 00024386  0x00006386 branch  0x00007d86 
+ 00024387  0x0000638b call  0x000062fc 
+ 00024388  0x0000638c ncall  0x00007965 , 0x00000001 
+ 00024389  0x0000638d call  0x00007975 , 0x00000001 
+ 00024390  0x0000638e call  0x000062fc 
+ 00024391  0x0000638f rtn  0x00000001 
+ 00024392  0x00006390 jam  0x0000000c , 0x000009ae 
+ 00024393  0x00006391 jam  0x00000001 , 0x000009b0 
+ 00024394  0x00006392 rtn 
+ 00024395  0x00006395 arg  0x00000a6e , 0x00000005 
+ 00024396  0x00006396 arg  0x00000552 , 0x00000006 
+ 00024397  0x00006397 call  0x00007ebf 
+ 00024398  0x00006398 fetch  0x00000001 , 0x00004662 
+ 00024399  0x00006399 rtneq  0x00000002 
+ 00024400  0x0000639a branch  0x000076d8 
+ 00024401  0x0000639d fetch  0x00000001 , 0x000009af 
+ 00024402  0x0000639e beq  0x00000007 , 0x00005f55 
+ 00024403  0x0000639f fetch  0x00000001 , 0x000009ae 
+ 00024404  0x000063a0 bne  0x00000001 , 0x00005f68 
+ 00024405  0x000063a2 fetch  0x00000001 , 0x000009b7 
+ 00024406  0x000063a3 sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00024407  0x000063a4 nbranch  0x00005f68 , 0x00000002 
+ 00024408  0x000063a5 arg  0x000009c6 , 0x00000005 
+ 00024409  0x000063a6 iadd  0x00000005 , 0x00000005 
+ 00024410  0x000063a7 fetch  0x00000008 , 0x00000552 
+ 00024411  0x000063a8 istore  0x00000008 , 0x00000005 
+ 00024412  0x000063a9 fetch  0x00000008 , 0x0000055a 
+ 00024413  0x000063aa istore  0x00000008 , 0x00000005 
+ 00024414  0x000063ab fetch  0x00000001 , 0x000009b7 
+ 00024415  0x000063ac increase  0x00000010 , 0x0000003f 
+ 00024416  0x000063ad store  0x00000001 , 0x000009b7 
+ 00024417  0x000063ae bne  0x00000030 , 0x00005e38 
+ 00024418  0x000063b0 call  0x000062fc 
+ 00024419  0x000063b1 branch  0x00005e38 , 0x00000001 
+ 00024420  0x000063b2 jam  0x00000001 , 0x000009b8 
+ 00024421  0x000063b3 jam  0x00000002 , 0x000009ae 
+ 00024422  0x000063b4 jam  0x00000001 , 0x000009b0 
+ 00024423  0x000063b5 branch  0x00005e38 
+ 00024424  0x000063b7 jam  0x00000024 , 0x0000007e 
+ 00024425  0x000063b8 branch  0x00005d53 
+ 00024426  0x000063ba fetch  0x00000001 , 0x000009b6 
+ 00024427  0x000063bb beq  0x00000030 , 0x00005f6e 
+ 00024428  0x000063bc jam  0x0000003e , 0x0000007c 
+ 00024429  0x000063bd branch  0x00005d07 
+ 00024430  0x000063c0 call  0x000062fc 
+ 00024431  0x000063c1 branch  0x00005f77 , 0x00000001 
+ 00024432  0x000063c2 fetch  0x00000001 , 0x00004662 
+ 00024433  0x000063c3 beq  0x00000002 , 0x00005f75 
+ 00024434  0x000063c4 jam  0x00000001 , 0x000009b0 
+ 00024435  0x000063c5 jam  0x00000004 , 0x000009ae 
+ 00024436  0x000063c6 branch  0x00005d07 
+ 00024437  0x000063c9 jam  0x00000036 , 0x00000a99 
+ 00024438  0x000063ca branch  0x00007d86 
+ 00024439  0x000063cf branch  0x00005d07 
+ 00024440  0x000063d2 fetch  0x00000001 , 0x000009af 
+ 00024441  0x000063d3 beq  0x00000007 , 0x00005f7c 
+ 00024442  0x000063d4 fetch  0x00000001 , 0x000009ae 
+ 00024443  0x000063d5 bne  0x00000006 , 0x00005f88 
+ 00024444  0x000063d7 arg  0x00000a2e , 0x00000005 
+ 00024445  0x000063d8 fetch  0x00000008 , 0x00000552 
+ 00024446  0x000063d9 istore  0x00000008 , 0x00000005 
+ 00024447  0x000063da fetch  0x00000008 , 0x0000055a 
+ 00024448  0x000063db istore  0x00000008 , 0x00000005 
+ 00024449  0x000063dc call  0x000062fc 
+ 00024450  0x000063dd branch  0x00005f86 , 0x00000001 
+ 00024451  0x000063de jam  0x00000007 , 0x000009ae 
+ 00024452  0x000063df jam  0x00000001 , 0x000009b0 
+ 00024453  0x000063e0 branch  0x00005e38 
+ 00024454  0x000063e2 jam  0x00000004 , 0x000009af 
+ 00024455  0x000063e3 branch  0x000076d8 
+ 00024456  0x000063e7 jam  0x00000024 , 0x0000007e 
+ 00024457  0x000063e8 branch  0x00005d53 
+ 00024458  0x000063eb fetch  0x00000001 , 0x000009af 
+ 00024459  0x000063ec beq  0x0000000b , 0x00005f8e 
+ 00024460  0x000063ed fetch  0x00000001 , 0x000009ae 
+ 00024461  0x000063ee bne  0x00000008 , 0x00005f9d 
+ 00024462  0x000063f0 arg  0x00000a5e , 0x00000005 
+ 00024463  0x000063f1 arg  0x00000552 , 0x00000006 
+ 00024464  0x000063f2 call  0x00007ebf 
+ 00024465  0x000063f3 call  0x000062fc 
+ 00024466  0x000063f4 branch  0x00005f9a , 0x00000001 
+ 00024467  0x000063f5 fetch  0x00000001 , 0x00004662 
+ 00024468  0x000063f6 beq  0x00000001 , 0x00005f9f 
+ 00024469  0x000063f8 jam  0x00000000 , 0x00004661 
+ 00024470  0x000063f9 jam  0x00000009 , 0x000009ae 
+ 00024471  0x000063fa jam  0x00000001 , 0x000009b0 
+ 00024472  0x000063fb jam  0x00000041 , 0x0000007d 
+ 00024473  0x000063fc branch  0x00005d07 
+ 00024474  0x000063ff jam  0x00000009 , 0x000009af 
+ 00024475  0x00006400 jam  0x00000001 , 0x000009b1 
+ 00024476  0x00006401 branch  0x00005d07 
+ 00024477  0x00006403 jam  0x00000024 , 0x0000007e 
+ 00024478  0x00006404 branch  0x00005d53 
+ 00024479  0x00006407 fetch  0x00000001 , 0x00004661 
+ 00024480  0x00006408 bbit1  0x00000007 , 0x00005fa4 
+ 00024481  0x00006409 set1  0x00000006 , 0x0000003f 
+ 00024482  0x0000640a store  0x00000001 , 0x00004661 
+ 00024483  0x0000640b rtn 
+ 00024484  0x0000640e bbit1  0x00000000 , 0x00005f95 
+ 00024485  0x0000640f jam  0x00000000 , 0x00004661 
+ 00024486  0x00006410 branch  0x00005f9d 
+ 00024487  0x00006414 branch  0x00005d07 
+ 00024488  0x00006417 fetch  0x00000001 , 0x0000016d 
+ 00024489  0x00006418 set0  0x00000001 
+ 00024490  0x00006419 store  0x00000001 , 0x0000016d 
+ 00024491  0x0000641a call  0x00005e38 
+ 00024492  0x0000641b nrtn  0x00000029 
+ 00024493  0x0000641c fetch  0x00000001 , 0x00000552 
+ 00024494  0x0000641d fetcht  0x00000001 , 0x0000004b 
+ 00024495  0x0000641e setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00024496  0x0000641f nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024497  0x00006420 storet  0x00000001 , 0x0000004b 
+ 00024498  0x00006421 rtn 
+ 00024499  0x00006424 fetcht  0x00000008 , 0x00000552 
+ 00024500  0x00006426 fetch  0x00000001 , 0x00000055 
+ 00024501  0x00006427 rtnne  0x00000003 
+ 00024502  0x00006429 fetch  0x00000001 , 0x0000016d 
+ 00024503  0x0000642a bbit0  0x00000004 , 0x00005fba 
+ 00024504  0x0000642c jam  0x00000014 , 0x00000055 
+ 00024505  0x0000642d rtn 
+ 00024506  0x0000642f jam  0x00000004 , 0x00000055 
+ 00024507  0x00006430 rtn 
+ 00024508  0x00006432 fetch  0x00000001 , 0x0000017f 
+ 00024509  0x00006433 store  0x00000001 , 0x0000015b 
+ 00024510  0x00006434 jam  0x00000003 , 0x0000007c 
+ 00024511  0x00006435 jam  0x00000038 , 0x0000007d 
+ 00024512  0x00006436 rtn 
+ 00024513  0x0000643a jam  0x00000003 , 0x0000007c 
+ 00024514  0x0000643b jam  0x00000039 , 0x0000007d 
+ 00024515  0x0000643c force  0x00000009 , 0x00000039 
+ 00024516  0x0000643d arg  0x00000552 , 0x00000006 
+ 00024517  0x0000643e arg  0x00000152 , 0x00000005 
+ 00024518  0x00006440 ifetch  0x00000001 , 0x00000006 
+ 00024519  0x00006441 xor_into  0x00000055 , 0x0000003f 
+ 00024520  0x00006442 istore  0x00000001 , 0x00000005 
+ 00024521  0x00006443 loop  0x00005fc6 
+ 00024522  0x00006444 fetch  0x00000001 , 0x00000152 
+ 00024523  0x00006445 fetcht  0x00000001 , 0x00000151 
+ 00024524  0x00006446 set0  0x00000007 , 0x00000002 
+ 00024525  0x00006447 set0  0x00000004 , 0x00000002 
+ 00024526  0x00006448 beq  0x000000ff , 0x00005fda 
+ 00024527  0x00006449 beq  0x00000000 , 0x00005ff3 
+ 00024528  0x0000644a beq  0x00000005 , 0x00005fe7 
+ 00024529  0x0000644b beq  0x00000007 , 0x00005fe6 
+ 00024530  0x0000644c beq  0x00000006 , 0x00005fe7 
+ 00024531  0x0000644d beq  0x00000008 , 0x00005fe6 
+ 00024532  0x0000644e beq  0x00000001 , 0x00005fdf 
+ 00024533  0x0000644f beq  0x00000002 , 0x00005fdf 
+ 00024534  0x00006450 beq  0x00000003 , 0x00005fdf 
+ 00024535  0x00006451 beq  0x00000009 , 0x00005fdf 
+ 00024536  0x00006452 beq  0x00000004 , 0x00005fdf 
+ 00024537  0x00006453 rtn 
+ 00024538  0x00006456 fetch  0x00000001 , 0x00000151 
+ 00024539  0x00006457 set1  0x00000003 , 0x0000003f 
+ 00024540  0x00006458 set1  0x00000002 , 0x0000003f 
+ 00024541  0x00006459 store  0x00000001 , 0x00000151 
+ 00024542  0x0000645a rtn 
+ 00024543  0x0000645c set1  0x00000004 , 0x00000002 
+ 00024544  0x0000645d jam  0x00000005 , 0x00000180 
+ 00024545  0x0000645e fetch  0x00000002 , 0x00000159 
+ 00024546  0x0000645f iforce  0x00000039 
+ 00024547  0x00006460 store  0x00000002 , 0x0000015f 
+ 00024548  0x00006461 arg  0x00000551 , 0x00000005 
+ 00024549  0x00006462 call  0x00007f73 
+ 00024550  0x00006464 set1  0x00000007 , 0x00000002 
+ 00024551  0x00006466 set1  0x00000002 , 0x00000002 
+ 00024552  0x00006467 force  0x00000000 , 0x0000003f 
+ 00024553  0x00006468 store  0x00000001 , 0x0000000b 
+ 00024554  0x00006469 store  0x00000002 , 0x000000fa 
+ 00024555  0x0000646a store  0x00000002 , 0x000000fc 
+ 00024556  0x0000646b store  0x00000002 , 0x000000f8 
+ 00024557  0x0000646c store  0x00000002 , 0x000000f6 
+ 00024558  0x0000646d fetch  0x00000001 , 0x00000153 
+ 00024559  0x0000646e compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00024560  0x0000646f setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00024561  0x00006470 storet  0x00000001 , 0x00000151 
+ 00024562  0x00006471 rtn 
+ 00024563  0x00006474 set0  0x00000011 , 0x00000000 
+ 00024564  0x00006475 jam  0x00000000 , 0x00000151 
+ 00024565  0x00006476 fetch  0x00000001 , 0x0000017f 
+ 00024566  0x00006477 set0  0x00000006 , 0x0000003f 
+ 00024567  0x00006478 store  0x00000001 , 0x0000017f 
+ 00024568  0x00006479 rtn 
+ 00024569  0x00006480 arg  0x00000552 , 0x00000006 
+ 00024570  0x00006481 arg  0x00000562 , 0x00000005 
+ 00024571  0x00006482 branch  0x00007ebf 
+ 00024572  0x00006485 jam  0x00000009 , 0x0000007c 
+ 00024573  0x00006486 rtn 
+ 00024574  0x00006489 nrtn  0x00000029 
+ 00024575  0x0000648a jam  0x00000011 , 0x0000007c 
+ 00024576  0x0000648b rtn 
+ 00024577  0x0000648e arg  0x000040a0 , 0x00000011 
+ 00024578  0x0000648f call  0x00007255 
+ 00024579  0x00006490 jam  0x00000003 , 0x0000007c 
+ 00024580  0x00006491 jam  0x00000008 , 0x0000007d 
+ 00024581  0x00006492 rtn 
+ 00024582  0x00006495 jam  0x0000000a , 0x00000072 
+ 00024583  0x00006496 jam  0x00000007 , 0x0000007c 
+ 00024584  0x00006497 jam  0x00000016 , 0x000004ca 
+ 00024585  0x00006498 rtn 
+ 00024586  0x0000649f bpatchx  0x00000082 , 0x00004030 
+ 00024587  0x000064a0 disable  0x00000028 
+ 00024588  0x000064a1 call  0x000062c1 
+ 00024589  0x000064a2 fetch  0x00000001 , 0x00000048 
+ 00024590  0x000064a3 rtn  0x00000034 
+ 00024591  0x000064a8 bbit1  0x00000007 , 0x0000603f 
+ 00024592  0x000064aa beq  0x00000001 , 0x0000616f 
+ 00024593  0x000064ab beq  0x00000002 , 0x000060e4 
+ 00024594  0x000064ac beq  0x00000003 , 0x0000604a 
+ 00024595  0x000064ad beq  0x00000004 , 0x00006060 
+ 00024596  0x000064ae beq  0x00000027 , 0x000061db 
+ 00024597  0x000064af beq  0x00000028 , 0x00006108 
+ 00024598  0x000064b0 beq  0x00000030 , 0x000060f4 
+ 00024599  0x000064b1 beq  0x00000025 , 0x000061d6 
+ 00024600  0x000064b2 beq  0x00000026 , 0x00006103 
+ 00024601  0x000064b3 beq  0x00000031 , 0x000061c3 
+ 00024602  0x000064b4 beq  0x00000037 , 0x0000616a 
+ 00024603  0x000064b5 beq  0x00000033 , 0x0000615c 
+ 00024604  0x000064b6 beq  0x00000008 , 0x00006259 
+ 00024605  0x000064b7 beq  0x00000009 , 0x0000624f 
+ 00024606  0x000064b8 beq  0x0000000b , 0x00006264 
+ 00024607  0x000064b9 beq  0x0000000c , 0x0000626d 
+ 00024608  0x000064ba beq  0x0000000f , 0x00006162 
+ 00024609  0x000064bb beq  0x00000010 , 0x00006292 
+ 00024610  0x000064bc beq  0x00000011 , 0x00006288 
+ 00024611  0x000064bd beq  0x00000007 , 0x00006152 
+ 00024612  0x000064be beq  0x0000002a , 0x0000617e 
+ 00024613  0x000064bf beq  0x0000000a , 0x0000617f 
+ 00024614  0x000064c1 beq  0x0000001f , 0x000061bc 
+ 00024615  0x000064c2 beq  0x00000006 , 0x000060f9 
+ 00024616  0x000064c3 beq  0x00000021 , 0x0000615f 
+ 00024617  0x000064c4 beq  0x0000002d , 0x000061b2 
+ 00024618  0x000064c5 beq  0x0000002e , 0x000061b7 
+ 00024619  0x000064c6 beq  0x00000022 , 0x0000615f 
+ 00024620  0x000064c7 beq  0x00000034 , 0x00006180 
+ 00024621  0x000064c8 beq  0x00000013 , 0x00006195 
+ 00024622  0x000064c9 beq  0x00000017 , 0x000061a4 
+ 00024623  0x000064ca beq  0x00000012 , 0x0000628f 
+ 00024624  0x000064cb beq  0x0000002f , 0x000061aa 
+ 00024625  0x000064cc beq  0x00000018 , 0x000061af 
+ 00024626  0x000064cd beq  0x0000003d , 0x000061ff 
+ 00024627  0x000064ce beq  0x0000003e , 0x0000620b 
+ 00024628  0x000064cf beq  0x0000003f , 0x0000621d 
+ 00024629  0x000064d0 beq  0x00000040 , 0x00006227 
+ 00024630  0x000064d1 beq  0x00000041 , 0x0000623c 
+ 00024631  0x000064d2 beq  0x00000023 , 0x0000624b 
+ 00024632  0x000064d3 beq  0x0000003b , 0x00006246 
+ 00024633  0x000064d5 beq  0x00000005 , 0x0000624c 
+ 00024634  0x000064d6 beq  0x00000029 , 0x0000624d 
+ 00024635  0x000064d7 beq  0x00000038 , 0x0000624e 
+ 00024636  0x000064d8 beq  0x00000039 , 0x00006175 
+ 00024637  0x000064da branch  0x00002a8c 
+ 00024638  0x000064db rtn 
+ 00024639  0x000064dd beq  0x00000081 , 0x0000606d 
+ 00024640  0x000064de beq  0x00000084 , 0x00006099 
+ 00024641  0x000064df beq  0x00000082 , 0x00006076 
+ 00024642  0x000064e0 beq  0x00000083 , 0x0000610d 
+ 00024643  0x000064e1 beq  0x0000008b , 0x00006118 
+ 00024644  0x000064e2 beq  0x00000097 , 0x0000614e 
+ 00024645  0x000064e3 beq  0x00000099 , 0x000060d5 
+ 00024646  0x000064e4 beq  0x0000009a , 0x000060a4 
+ 00024647  0x000064e5 beq  0x00000095 , 0x000060da 
+ 00024648  0x000064e6 beq  0x00000096 , 0x000060db 
+ 00024649  0x000064e7 branch  0x00002a8c 
+ 00024650  0x000064ee force  0x00000002 , 0x0000003f 
+ 00024651  0x000064ef call  0x00006298 
+ 00024652  0x000064f0 fetch  0x00000001 , 0x00000049 
+ 00024653  0x000064f1 istore  0x00000001 , 0x00000005 
+ 00024654  0x000064f2 call  0x000062a7 
+ 00024655  0x000064f3 bpatchx  0x00000083 , 0x00004030 
+ 00024656  0x000064f4 fetch  0x00000001 , 0x00000049 
+ 00024657  0x000064f5 beq  0x00000008 , 0x00006080 
+ 00024658  0x000064f6 beq  0x0000000f , 0x00006084 
+ 00024659  0x000064f7 beq  0x00000010 , 0x0000608f 
+ 00024660  0x000064f8 beq  0x00000017 , 0x0000605f 
+ 00024661  0x000064f9 beq  0x00000033 , 0x00006092 
+ 00024662  0x000064fa beq  0x00000041 , 0x00006098 
+ 00024663  0x000064fb beq  0x00000011 , 0x00006059 
+ 00024664  0x000064fc rtn 
+ 00024665  0x000064ff fetch  0x00000001 , 0x00000055 
+ 00024666  0x00006500 rtn  0x00000034 
+ 00024667  0x00006501 jam  0x0000001b , 0x00000055 
+ 00024668  0x00006502 setarg  0x0000000c 
+ 00024669  0x00006503 arg  0x00000007 , 0x00000007 
+ 00024670  0x00006504 branch  0x00007f08 
+ 00024671  0x00006507 branch  0x000026c6 
+ 00024672  0x00006509 force  0x00000003 , 0x0000003f 
+ 00024673  0x0000650a call  0x00006298 
+ 00024674  0x0000650b fetch  0x00000001 , 0x00000049 
+ 00024675  0x0000650c beq  0x0000000b , 0x00006068 
+ 00024676  0x0000650d istore  0x00000001 , 0x00000005 
+ 00024677  0x0000650e fetch  0x00000001 , 0x0000004a 
+ 00024678  0x0000650f istore  0x00000001 , 0x00000005 
+ 00024679  0x00006510 branch  0x000062a7 
+ 00024680  0x00006513 istore  0x00000001 , 0x00000005 
+ 00024681  0x00006514 fetch  0x00000001 , 0x0000004a 
+ 00024682  0x00006515 istore  0x00000001 , 0x00000005 
+ 00024683  0x00006516 arg  0x000004d5 , 0x00000002 
+ 00024684  0x00006517 branch  0x000062e2 
+ 00024685  0x0000651a force  0x00000004 , 0x00000007 
+ 00024686  0x0000651b call  0x000062a0 
+ 00024687  0x0000651c setarg  0x0000007f 
+ 00024688  0x0000651d istore  0x00000001 , 0x00000005 
+ 00024689  0x0000651e fetch  0x00000001 , 0x00000049 
+ 00024690  0x0000651f set0  0x00000007 , 0x0000003f 
+ 00024691  0x00006520 istore  0x00000001 , 0x00000005 
+ 00024692  0x00006521 fetch  0x00000001 , 0x00000049 
+ 00024693  0x00006522 branch  0x000062a7 
+ 00024694  0x00006525 force  0x00000005 , 0x00000007 
+ 00024695  0x00006526 call  0x000062a0 
+ 00024696  0x00006527 setarg  0x0000007f 
+ 00024697  0x00006528 istore  0x00000001 , 0x00000005 
+ 00024698  0x00006529 fetch  0x00000001 , 0x00000049 
+ 00024699  0x0000652a set0  0x00000007 , 0x0000003f 
+ 00024700  0x0000652b istore  0x00000001 , 0x00000005 
+ 00024701  0x0000652c fetch  0x00000001 , 0x0000004a 
+ 00024702  0x0000652d istore  0x00000001 , 0x00000005 
+ 00024703  0x0000652e branch  0x000062a7 
+ 00024704  0x00006532 call  0x0000244f 
+ 00024705  0x00006533 call  0x000062f3 
+ 00024706  0x00006534 rtn  0x00000001 
+ 00024707  0x00006535 branch  0x00005ffc 
+ 00024708  0x00006538 fetch  0x00000001 , 0x0000004b 
+ 00024709  0x00006539 bbit1  0x00000005 , 0x0000608b 
+ 00024710  0x0000653a rtnbit0  0x00000004 
+ 00024711  0x0000653b jam  0x00000012 , 0x0000007c 
+ 00024712  0x0000653c set0  0x00000004 , 0x0000003f 
+ 00024713  0x0000653d call  0x000062eb 
+ 00024714  0x0000653e branch  0x0000608d 
+ 00024715  0x00006540 jam  0x00000010 , 0x0000007c 
+ 00024716  0x00006541 set0  0x00000005 , 0x0000003f 
+ 00024717  0x00006543 store  0x00000001 , 0x0000004b 
+ 00024718  0x00006544 rtn 
+ 00024719  0x00006547 call  0x000062fc 
+ 00024720  0x00006548 branch  0x00005ffe , 0x00000001 
+ 00024721  0x00006549 rtn 
+ 00024722  0x0000654c jam  0x0000008b , 0x0000007c 
+ 00024723  0x0000654e fetch  0x00000001 , 0x000004d1 
+ 00024724  0x0000654f set1  0x00000000 , 0x0000003f 
+ 00024725  0x00006550 store  0x00000001 , 0x000004d1 
+ 00024726  0x00006551 jam  0x00000001 , 0x00000a99 
+ 00024727  0x00006552 branch  0x00007d86 
+ 00024728  0x00006556 rtn 
+ 00024729  0x0000655b force  0x0000000c , 0x00000007 
+ 00024730  0x0000655c call  0x000062a0 
+ 00024731  0x0000655d setarg  0x00000001 
+ 00024732  0x0000655e istore  0x00000001 , 0x00000005 
+ 00024733  0x0000655f fetch  0x00000002 , 0x000004ce 
+ 00024734  0x00006560 istore  0x00000002 , 0x00000005 
+ 00024735  0x00006561 setarg  0x00000000 
+ 00024736  0x00006562 istore  0x00000003 , 0x00000005 
+ 00024737  0x00006563 setarg  0x00000000 
+ 00024738  0x00006564 istore  0x00000004 , 0x00000005 
+ 00024739  0x00006565 branch  0x000062b0 
+ 00024740  0x00006567 force  0x00000005 , 0x00000007 
+ 00024741  0x00006568 call  0x000062a0 
+ 00024742  0x00006569 fetch  0x00000003 , 0x0000465b 
+ 00024743  0x0000656a istore  0x00000003 , 0x00000005 
+ 00024744  0x0000656b call  0x000062b0 
+ 00024745  0x0000656c jam  0x00000001 , 0x00004665 
+ 00024746  0x0000656d fetch  0x00000001 , 0x0000465b 
+ 00024747  0x0000656e beq  0x00000001 , 0x000060b5 
+ 00024748  0x0000656f beq  0x00000002 , 0x000060af 
+ 00024749  0x00006570 beq  0x00000003 , 0x000060bb 
+ 00024750  0x00006571 rtn 
+ 00024751  0x00006574 fetch  0x00000001 , 0x0000465e 
+ 00024752  0x00006575 beq  0x00000000 , 0x000060c7 
+ 00024753  0x00006576 beq  0x00000001 , 0x000060c7 
+ 00024754  0x00006577 beq  0x00000002 , 0x000060c7 
+ 00024755  0x00006578 beq  0x00000003 , 0x000060c1 
+ 00024756  0x00006579 rtn 
+ 00024757  0x0000657d fetch  0x00000001 , 0x0000465e 
+ 00024758  0x0000657e beq  0x00000000 , 0x000060c1 
+ 00024759  0x0000657f beq  0x00000001 , 0x000060c5 
+ 00024760  0x00006580 beq  0x00000002 , 0x000060c7 
+ 00024761  0x00006581 beq  0x00000003 , 0x000060c1 
+ 00024762  0x00006582 rtn 
+ 00024763  0x00006586 fetch  0x00000001 , 0x0000465e 
+ 00024764  0x00006587 beq  0x00000000 , 0x000060c1 
+ 00024765  0x00006588 beq  0x00000001 , 0x000060c1 
+ 00024766  0x00006589 beq  0x00000002 , 0x000060c1 
+ 00024767  0x0000658a beq  0x00000003 , 0x000060c1 
+ 00024768  0x0000658b rtn 
+ 00024769  0x00006595 jam  0x00000003 , 0x00004662 
+ 00024770  0x00006596 fetch  0x00000001 , 0x0000455c 
+ 00024771  0x00006597 bbit1  0x00000000 , 0x000033e9 
+ 00024772  0x00006598 rtn 
+ 00024773  0x0000659c jam  0x00000001 , 0x00004662 
+ 00024774  0x0000659d rtn 
+ 00024775  0x000065a4 jam  0x00000002 , 0x00004662 
+ 00024776  0x000065a5 rtn 
+ 00024777  0x000065a9 arg  0x00000000 , 0x00000007 
+ 00024778  0x000065aa branch  0x000060cd 
+ 00024779  0x000065ad arg  0x00000000 , 0x00000007 
+ 00024780  0x000065ae branch  0x000060d1 
+ 00024781  0x000065b1 fetch  0x00000001 , 0x0000455c 
+ 00024782  0x000065b2 qset1  0x0000003f 
+ 00024783  0x000065b3 store  0x00000001 , 0x0000455c 
+ 00024784  0x000065b4 rtn 
+ 00024785  0x000065b7 fetch  0x00000001 , 0x0000455c 
+ 00024786  0x000065b8 qset0  0x0000003f 
+ 00024787  0x000065b9 store  0x00000001 , 0x0000455c 
+ 00024788  0x000065ba rtn 
+ 00024789  0x000065be force  0x00000005 , 0x00000007 
+ 00024790  0x000065bf call  0x000062a0 
+ 00024791  0x000065c0 fetch  0x00000003 , 0x0000465b 
+ 00024792  0x000065c1 istore  0x00000003 , 0x00000005 
+ 00024793  0x000065c2 branch  0x000062b2 
+ 00024794  0x000065c7 rtn 
+ 00024795  0x000065c9 force  0x00000009 , 0x00000007 
+ 00024796  0x000065ca call  0x000062a0 
+ 00024797  0x000065cb fetch  0x00000001 , 0x00000095 
+ 00024798  0x000065cc istore  0x00000001 , 0x00000005 
+ 00024799  0x000065cd fetch  0x00000002 , 0x00000096 
+ 00024800  0x000065ce istore  0x00000002 , 0x00000005 
+ 00024801  0x000065cf fetch  0x00000004 , 0x00000091 
+ 00024802  0x000065d0 istore  0x00000004 , 0x00000005 
+ 00024803  0x000065d1 branch  0x000062b0 
+ 00024804  0x000065d4 force  0x00000011 , 0x0000003f 
+ 00024805  0x000065d5 call  0x00006298 
+ 00024806  0x000065d6 fetch  0x00000001 , 0x00000049 
+ 00024807  0x000065d7 copy  0x0000003f , 0x00000002 
+ 00024808  0x000065d8 beq  0x00000000 , 0x000060ec 
+ 00024809  0x000065d9 beq  0x0000000e , 0x000060ec 
+ 00024810  0x000065da beq  0x0000001c , 0x000060ec 
+ 00024811  0x000065db rtn 
+ 00024812  0x000065dd istore  0x00000001 , 0x00000005 
+ 00024813  0x000065de fetch  0x00000001 , 0x00004515 
+ 00024814  0x000065df istore  0x00000001 , 0x00000005 
+ 00024815  0x000065e0 arg  0x0000000e , 0x00000039 
+ 00024816  0x000065e1 setarg  0x00004516 
+ 00024817  0x000065e2 iadd  0x00000002 , 0x00000006 
+ 00024818  0x000065e3 call  0x00007f01 
+ 00024819  0x000065e4 branch  0x000062b0 
+ 00024820  0x000065e8 force  0x00000003 , 0x0000003f 
+ 00024821  0x000065e9 call  0x00006298 
+ 00024822  0x000065ea setarg  0x00000114 
+ 00024823  0x000065eb istore  0x00000002 , 0x00000005 
+ 00024824  0x000065ec branch  0x000062b0 
+ 00024825  0x000065f0 force  0x00000003 , 0x0000003f 
+ 00024826  0x000065f1 call  0x00006298 
+ 00024827  0x000065f2 fetch  0x00000004 , 0x00000165 
+ 00024828  0x000065f3 isub  0x00000022 , 0x0000003f 
+ 00024829  0x000065f4 branch  0x000060ff , 0x00000029 
+ 00024830  0x000065f5 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00024831  0x000065f8 rshift2  0x0000003f , 0x0000003f 
+ 00024832  0x000065f9 set0  0x0000000f , 0x0000003f 
+ 00024833  0x000065fa istore  0x00000002 , 0x00000005 
+ 00024834  0x000065fb branch  0x000062b0 
+ 00024835  0x000065fe force  0x00000006 , 0x0000003f 
+ 00024836  0x000065ff call  0x00006298 
+ 00024837  0x00006600 fetch  0x00000005 , 0x00004510 
+ 00024838  0x00006601 istore  0x00000005 , 0x00000005 
+ 00024839  0x00006602 branch  0x000062b0 
+ 00024840  0x00006605 force  0x00000009 , 0x0000003f 
+ 00024841  0x00006606 call  0x00006298 
+ 00024842  0x00006607 fetch  0x00000008 , 0x00004098 
+ 00024843  0x00006608 istore  0x00000008 , 0x00000005 
+ 00024844  0x00006609 branch  0x000062b0 
+ 00024845  0x00006611 force  0x0000000c , 0x00000007 
+ 00024846  0x00006612 call  0x000062a0 
+ 00024847  0x00006613 setarg  0x00000001 
+ 00024848  0x00006614 istore  0x00000001 , 0x00000005 
+ 00024849  0x00006615 fetch  0x00000002 , 0x000004ce 
+ 00024850  0x00006616 istore  0x00000002 , 0x00000005 
+ 00024851  0x00006617 setarg  0x00000000 
+ 00024852  0x00006618 istore  0x00000003 , 0x00000005 
+ 00024853  0x00006619 setarg  0x00000000 
+ 00024854  0x0000661a istore  0x00000004 , 0x00000005 
+ 00024855  0x0000661b branch  0x000062b2 
+ 00024856  0x0000661e force  0x00000003 , 0x00000007 
+ 00024857  0x0000661f call  0x000062a0 
+ 00024858  0x00006620 fetch  0x00000001 , 0x0000415a 
+ 00024859  0x00006621 istore  0x00000001 , 0x00000005 
+ 00024860  0x00006622 disable  0x00000028 
+ 00024861  0x00006623 call  0x000062b2 
+ 00024862  0x00006624 nrtn  0x00000028 
+ 00024863  0x00006625 nrtn  0x00000029 
+ 00024864  0x00006626 fetch  0x00000001 , 0x000040d8 
+ 00024865  0x00006627 rtnbit0  0x00000000 
+ 00024866  0x00006628 call  0x00006132 
+ 00024867  0x00006629 branch  0x0000613c 
+ 00024868  0x0000662d bpatchx  0x00000084 , 0x00004030 
+ 00024869  0x0000662e fetch  0x00000001 , 0x0000409e 
+ 00024870  0x0000662f set1  0x00000003 , 0x0000003f 
+ 00024871  0x00006630 store  0x00000001 , 0x0000409e 
+ 00024872  0x00006631 setarg  0x00000101 
+ 00024873  0x00006632 store  0x00000002 , 0x000004ce 
+ 00024874  0x00006633 rtn 
+ 00024875  0x00006636 bpatchx  0x00000085 , 0x00004030 
+ 00024876  0x00006637 fetch  0x00000001 , 0x0000409e 
+ 00024877  0x00006638 set0  0x00000003 , 0x0000003f 
+ 00024878  0x00006639 store  0x00000001 , 0x0000409e 
+ 00024879  0x0000663a setarg  0x00000000 
+ 00024880  0x0000663b store  0x00000002 , 0x000004ce 
+ 00024881  0x0000663c rtn 
+ 00024882  0x0000663f jam  0x00000003 , 0x000040d8 
+ 00024883  0x00006640 setarg  0x00000000 
+ 00024884  0x00006641 store  0x00000004 , 0x00004142 
+ 00024885  0x00006642 arg  0x000040da , 0x00000005 
+ 00024886  0x00006643 call  0x00006140 
+ 00024887  0x00006644 arg  0x000040e7 , 0x00000005 
+ 00024888  0x00006645 call  0x00006140 
+ 00024889  0x00006646 arg  0x00004146 , 0x00000005 
+ 00024890  0x00006647 call  0x00006140 
+ 00024891  0x00006648 branch  0x00006147 
+ 00024892  0x0000664a arg  0x000040e7 , 0x00000005 
+ 00024893  0x0000664b call  0x00006140 
+ 00024894  0x0000664c call  0x00006147 
+ 00024895  0x0000664d branch  0x0000614a 
+ 00024896  0x00006651 setarg  0x00ffffff 
+ 00024897  0x00006652 istore  0x00000003 , 0x00000005 
+ 00024898  0x00006653 istore  0x00000003 , 0x00000005 
+ 00024899  0x00006654 istore  0x00000003 , 0x00000005 
+ 00024900  0x00006655 setarg  0x0000007f 
+ 00024901  0x00006656 istore  0x00000001 , 0x00000005 
+ 00024902  0x00006657 rtn 
+ 00024903  0x00006659 setarg  0x00000000 
+ 00024904  0x0000665a store  0x00000002 , 0x000040d6 
+ 00024905  0x0000665b rtn 
+ 00024906  0x0000665d fetch  0x00000001 , 0x000040d8 
+ 00024907  0x0000665e set1  0x00000002 , 0x0000003f 
+ 00024908  0x0000665f store  0x00000001 , 0x000040d8 
+ 00024909  0x00006660 rtn 
+ 00024910  0x00006664 force  0x00000002 , 0x00000007 
+ 00024911  0x00006665 call  0x000062a0 
+ 00024912  0x00006666 nbranch  0x000062b0 , 0x00000029 
+ 00024913  0x00006668 branch  0x000062b2 
+ 00024914  0x0000666d force  0x00000002 , 0x0000003f 
+ 00024915  0x0000666e call  0x00006298 
+ 00024916  0x0000666f fetch  0x00000001 , 0x000004ca 
+ 00024917  0x00006670 istore  0x00000001 , 0x00000005 
+ 00024918  0x00006671 call  0x000062b2 
+ 00024919  0x00006673 fetch  0x00000001 , 0x0000004b 
+ 00024920  0x00006674 set1  0x00000003 , 0x0000003f 
+ 00024921  0x00006675 store  0x00000001 , 0x0000004b 
+ 00024922  0x00006676 jam  0x00000032 , 0x00000072 
+ 00024923  0x00006677 rtn 
+ 00024924  0x0000667b force  0x00000001 , 0x0000003f 
+ 00024925  0x0000667c call  0x00006298 
+ 00024926  0x0000667d branch  0x000062b2 
+ 00024927  0x0000667f force  0x00000001 , 0x0000003f 
+ 00024928  0x00006680 call  0x00006298 
+ 00024929  0x00006681 branch  0x000062b0 
+ 00024930  0x00006685 force  0x00000002 , 0x0000003f 
+ 00024931  0x00006686 call  0x00006298 
+ 00024932  0x00006687 fetch  0x00000001 , 0x0000004c 
+ 00024933  0x00006688 isolate0  0x00000002 , 0x0000003f 
+ 00024934  0x00006689 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024935  0x0000668a and_into  0x00000001 , 0x0000003f 
+ 00024936  0x0000668b istore  0x00000001 , 0x00000005 
+ 00024937  0x0000668c branch  0x000062b2 
+ 00024938  0x00006690 force  0x00000003 , 0x0000003f 
+ 00024939  0x00006691 call  0x00006298 
+ 00024940  0x00006692 fetch  0x00000002 , 0x00000051 
+ 00024941  0x00006693 istore  0x00000002 , 0x00000005 
+ 00024942  0x00006694 branch  0x000062b2 
+ 00024943  0x00006697 jam  0x000000fa , 0x00000072 
+ 00024944  0x00006698 force  0x00000002 , 0x0000003f 
+ 00024945  0x00006699 call  0x00006298 
+ 00024946  0x0000669a fetch  0x00000001 , 0x00000053 
+ 00024947  0x0000669b istore  0x00000001 , 0x00000005 
+ 00024948  0x0000669c branch  0x000062b2 
+ 00024949  0x0000669f force  0x0000000a , 0x0000003f 
+ 00024950  0x000066a0 call  0x00006298 
+ 00024951  0x000066a1 arg  0x00000152 , 0x00000006 
+ 00024952  0x000066a2 force  0x00000009 , 0x00000039 
+ 00024953  0x000066a4 ifetch  0x00000001 , 0x00000006 
+ 00024954  0x000066a5 xor_into  0x00000055 , 0x0000003f 
+ 00024955  0x000066a6 istore  0x00000001 , 0x00000005 
+ 00024956  0x000066a7 loop  0x00006179 
+ 00024957  0x000066a8 branch  0x000062b2 
+ 00024958  0x000066ab branch  0x000062b2 
+ 00024959  0x000066ad branch  0x000062b2 
+ 00024960  0x000066b0 rtn  0x00000029 
+ 00024961  0x000066b1 call  0x0000282d 
+ 00024962  0x000066b2 force  0x00000009 , 0x0000003f 
+ 00024963  0x000066b3 call  0x00006298 
+ 00024964  0x000066b4 fetch  0x00000002 , 0x00000171 
+ 00024965  0x000066b5 istore  0x00000002 , 0x00000005 
+ 00024966  0x000066b6 fetch  0x00000003 , 0x000040a0 
+ 00024967  0x000066b7 istore  0x00000003 , 0x00000005 
+ 00024968  0x000066b8 fetch  0x00000001 , 0x000040a3 
+ 00024969  0x000066b9 istore  0x00000001 , 0x00000005 
+ 00024970  0x000066ba fetch  0x00000002 , 0x000040a4 
+ 00024971  0x000066bb istore  0x00000002 , 0x00000005 
+ 00024972  0x000066bc bmark0  0x00000003 , 0x00006191 
+ 00024973  0x000066bd set0  0x00000003 , 0x00000000 
+ 00024974  0x000066be call  0x000062b2 
+ 00024975  0x000066bf jam  0x00000013 , 0x0000007c 
+ 00024976  0x000066c0 rtn 
+ 00024977  0x000066c2 call  0x000062b0 
+ 00024978  0x000066c3 jam  0x00000003 , 0x0000007c 
+ 00024979  0x000066c4 jam  0x00000013 , 0x0000007d 
+ 00024980  0x000066c5 rtn 
+ 00024981  0x000066c8 arg  0x00000200 , 0x00000002 
+ 00024982  0x000066c9 branch  0x00006199 , 0x00000029 
+ 00024983  0x000066ca deposit  0x00000028 
+ 00024984  0x000066cb branch  0x0000619a 
+ 00024985  0x000066cd deposit  0x00000022 
+ 00024986  0x000066cf deposit  0x00000021 
+ 00024987  0x000066d0 iadd  0x00000002 , 0x0000003f 
+ 00024988  0x000066d1 and_into  0x000001fc , 0x0000003f 
+ 00024989  0x000066d2 store  0x00000004 , 0x00000034 
+ 00024990  0x000066d3 force  0x00000005 , 0x0000003f 
+ 00024991  0x000066d4 call  0x00006298 
+ 00024992  0x000066d5 fetch  0x00000004 , 0x00000034 
+ 00024993  0x000066d6 rshift  0x0000003f , 0x0000003f 
+ 00024994  0x000066d7 istore  0x00000004 , 0x00000005 
+ 00024995  0x000066d8 branch  0x000062b2 
+ 00024996  0x000066db force  0x0000000a , 0x0000003f 
+ 00024997  0x000066dc call  0x00006298 
+ 00024998  0x000066dd arg  0x000004d9 , 0x00000006 
+ 00024999  0x000066de ifetch  0x00000009 , 0x00000006 
+ 00025000  0x000066df istore  0x00000009 , 0x00000005 
+ 00025001  0x000066e0 branch  0x000062b2 
+ 00025002  0x000066e5 force  0x00000003 , 0x0000003f 
+ 00025003  0x000066e6 call  0x00006298 
+ 00025004  0x000066e7 setarg  0x00000114 
+ 00025005  0x000066e8 istore  0x00000002 , 0x00000005 
+ 00025006  0x000066e9 branch  0x000062b2 
+ 00025007  0x000066ed force  0x00000001 , 0x0000003f 
+ 00025008  0x000066ee call  0x00006298 
+ 00025009  0x000066f7 branch  0x000062b2 
+ 00025010  0x000066fb force  0x00000002 , 0x0000003f 
+ 00025011  0x000066fc call  0x00006298 
+ 00025012  0x000066fd fetch  0x00000001 , 0x000040d0 
+ 00025013  0x000066fe istore  0x00000001 , 0x00000005 
+ 00025014  0x000066ff branch  0x000062b2 
+ 00025015  0x00006703 force  0x00000002 , 0x0000003f 
+ 00025016  0x00006704 call  0x00006298 
+ 00025017  0x00006705 setarg  0x00000005 
+ 00025018  0x00006706 istore  0x00000001 , 0x00000005 
+ 00025019  0x00006707 branch  0x000062b2 
+ 00025020  0x0000670b force  0x00000002 , 0x0000003f 
+ 00025021  0x0000670c call  0x00006298 
+ 00025022  0x0000670d setarg  0x00000000 
+ 00025023  0x0000670e istore  0x00000001 , 0x00000005 
+ 00025024  0x0000670f branch  0x000062b2 
+ 00025025  0x00006713 jam  0x0000002e , 0x0000007c 
+ 00025026  0x00006714 rtn 
+ 00025027  0x00006716 fetch  0x00000001 , 0x00004092 
+ 00025028  0x00006717 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025029  0x00006718 call  0x000061c1 , 0x00000005 
+ 00025030  0x00006719 fetch  0x00000001 , 0x00000030 
+ 00025031  0x0000671a set1  0x00000004 , 0x0000003f 
+ 00025032  0x0000671b store  0x00000001 , 0x00000030 
+ 00025033  0x0000671c copy  0x00000022 , 0x0000003f 
+ 00025034  0x0000671d store  0x00000004 , 0x000004e9 
+ 00025035  0x0000671e fetch  0x00000001 , 0x000004d1 
+ 00025036  0x0000671f bbit1  0x00000003 , 0x000061d4 
+ 00025037  0x00006720 set1  0x00000003 , 0x0000003f 
+ 00025038  0x00006721 store  0x00000001 , 0x000004d1 
+ 00025039  0x00006722 jam  0x00000005 , 0x00000a99 
+ 00025040  0x00006723 call  0x00007d86 
+ 00025041  0x00006724 force  0x00000001 , 0x0000003f 
+ 00025042  0x00006725 call  0x00006298 
+ 00025043  0x00006726 branch  0x000062b2 
+ 00025044  0x00006728 jam  0x00000000 , 0x00000048 
+ 00025045  0x00006729 rtn 
+ 00025046  0x0000672c force  0x00000006 , 0x0000003f 
+ 00025047  0x0000672d call  0x00006298 
+ 00025048  0x0000672e fetch  0x00000005 , 0x00004510 
+ 00025049  0x0000672f istore  0x00000005 , 0x00000005 
+ 00025050  0x00006730 branch  0x000062b2 
+ 00025051  0x00006733 force  0x00000009 , 0x0000003f 
+ 00025052  0x00006734 call  0x00006298 
+ 00025053  0x00006735 fetch  0x00000008 , 0x00004098 
+ 00025054  0x00006736 istore  0x00000008 , 0x00000005 
+ 00025055  0x00006737 branch  0x000062b2 
+ 00025056  0x0000673a jam  0x00000001 , 0x000009b1 
+ 00025057  0x0000673b fetch  0x00000001 , 0x000045b1 
+ 00025058  0x0000673c rtnne  0x00000001 
+ 00025059  0x0000673d jam  0x00000013 , 0x000009af 
+ 00025060  0x0000673e rtn 
+ 00025061  0x00006741 call  0x000062ef 
+ 00025062  0x00006742 jam  0x00000099 , 0x0000007c 
+ 00025063  0x00006743 jam  0x00000003 , 0x000009af 
+ 00025064  0x00006744 rtn 
+ 00025065  0x00006748 call  0x000062ef 
+ 00025066  0x00006749 jam  0x0000003d , 0x0000007c 
+ 00025067  0x0000674a jam  0x00000007 , 0x000009af 
+ 00025068  0x0000674b rtn 
+ 00025069  0x0000674e arg  0x00000a4e , 0x00000011 
+ 00025070  0x0000674f arg  0x00000a6e , 0x00000012 
+ 00025071  0x00006750 arg  0x00000010 , 0x00000039 
+ 00025072  0x00006751 call  0x00007f88 
+ 00025073  0x00006752 branch  0x000061f7 , 0x00000005 
+ 00025074  0x00006753 jam  0x00000000 , 0x000009af 
+ 00025075  0x00006754 call  0x000076da 
+ 00025076  0x00006755 jam  0x00000024 , 0x0000007e 
+ 00025077  0x00006756 jam  0x00000040 , 0x0000007d 
+ 00025078  0x00006757 branch  0x00005d53 
+ 00025079  0x00006759 jam  0x0000000a , 0x000009af 
+ 00025080  0x0000675a call  0x000076d8 
+ 00025081  0x0000675b jam  0x00000040 , 0x0000007d 
+ 00025082  0x0000675c branch  0x00005e38 
+ 00025083  0x00006761 jam  0x00000040 , 0x0000007c 
+ 00025084  0x00006762 rtn 
+ 00025085  0x00006769 jam  0x0000003d , 0x0000007c 
+ 00025086  0x0000676b rtn 
+ 00025087  0x00006772 jam  0x00000000 , 0x000009b6 
+ 00025088  0x00006773 force  0x00000004 , 0x0000003f 
+ 00025089  0x00006774 call  0x00006298 
+ 00025090  0x00006775 force  0x00000001 , 0x0000003f 
+ 00025091  0x00006776 istore  0x00000001 , 0x00000005 
+ 00025092  0x00006777 force  0x00000001 , 0x0000003f 
+ 00025093  0x00006778 istore  0x00000001 , 0x00000005 
+ 00025094  0x00006779 force  0x00000030 , 0x0000003f 
+ 00025095  0x0000677a istore  0x00000001 , 0x00000005 
+ 00025096  0x0000677b call  0x000062fc 
+ 00025097  0x0000677c branch  0x000062b2 , 0x00000001 
+ 00025098  0x0000677d branch  0x000062b0 
+ 00025099  0x00006781 force  0x00000011 , 0x0000003f 
+ 00025100  0x00006782 call  0x00006298 
+ 00025101  0x00006783 fetch  0x00000001 , 0x000009b6 
+ 00025102  0x00006784 arg  0x0000462a , 0x00000006 
+ 00025103  0x00006785 iadd  0x00000006 , 0x00000006 
+ 00025104  0x00006786 ifetch  0x00000008 , 0x00000006 
+ 00025105  0x00006787 istore  0x00000008 , 0x00000005 
+ 00025106  0x00006788 ifetch  0x00000008 , 0x00000006 
+ 00025107  0x00006789 istore  0x00000008 , 0x00000005 
+ 00025108  0x0000678a fetch  0x00000001 , 0x000009b6 
+ 00025109  0x0000678b increase  0x00000010 , 0x0000003f 
+ 00025110  0x0000678c store  0x00000001 , 0x000009b6 
+ 00025111  0x0000678d call  0x000062fc 
+ 00025112  0x0000678e branch  0x000062b2 , 0x00000001 
+ 00025113  0x0000678f branch  0x000062b0 
+ 00025114  0x00006793 jam  0x00000006 , 0x000009ae 
+ 00025115  0x00006794 jam  0x0000003f , 0x0000007c 
+ 00025116  0x00006795 rtn 
+ 00025117  0x00006799 force  0x00000011 , 0x0000003f 
+ 00025118  0x0000679a call  0x00006298 
+ 00025119  0x0000679b arg  0x00000a4e , 0x00000006 
+ 00025120  0x0000679c ifetch  0x00000008 , 0x00000006 
+ 00025121  0x0000679d istore  0x00000008 , 0x00000005 
+ 00025122  0x0000679e ifetch  0x00000008 , 0x00000006 
+ 00025123  0x0000679f istore  0x00000008 , 0x00000005 
+ 00025124  0x000067a0 branch  0x000062b0 
+ 00025125  0x000067a3 jam  0x00000040 , 0x0000007c 
+ 00025126  0x000067a4 rtn 
+ 00025127  0x000067a8 call  0x000062fc 
+ 00025128  0x000067a9 call  0x00007612 , 0x00000001 
+ 00025129  0x000067aa force  0x00000011 , 0x0000003f 
+ 00025130  0x000067ab call  0x00006298 
+ 00025131  0x000067ac arg  0x00000a1e , 0x00000006 
+ 00025132  0x000067ad ifetch  0x00000008 , 0x00000006 
+ 00025133  0x000067ae istore  0x00000008 , 0x00000005 
+ 00025134  0x000067af ifetch  0x00000008 , 0x00000006 
+ 00025135  0x000067b0 istore  0x00000008 , 0x00000005 
+ 00025136  0x000067b1 call  0x000062fc 
+ 00025137  0x000067b2 nbranch  0x000062b0 , 0x00000001 
+ 00025138  0x000067b3 branch  0x000062b2 , 0x00000001 
+ 00025139  0x000067b7 jam  0x0000000f , 0x000009af 
+ 00025140  0x000067b9 call  0x000062ef 
+ 00025141  0x000067ba jam  0x0000000b , 0x0000007c 
+ 00025142  0x000067bb call  0x00006307 
+ 00025143  0x000067bc branch  0x0000764e , 0x00000001 
+ 00025144  0x000067bd branch  0x00007658 
+ 00025145  0x000067bf call  0x000062eb 
+ 00025146  0x000067c1 jam  0x00000041 , 0x0000007c 
+ 00025147  0x000067c2 rtn 
+ 00025148  0x000067c5 force  0x00000011 , 0x0000003f 
+ 00025149  0x000067c6 call  0x00006298 
+ 00025150  0x000067c7 arg  0x00000a4e , 0x00000006 
+ 00025151  0x000067c8 ifetch  0x00000008 , 0x00000006 
+ 00025152  0x000067c9 istore  0x00000008 , 0x00000005 
+ 00025153  0x000067ca ifetch  0x00000008 , 0x00000006 
+ 00025154  0x000067cb istore  0x00000008 , 0x00000005 
+ 00025155  0x000067cc call  0x000062fc 
+ 00025156  0x000067cd nbranch  0x000062b0 , 0x00000001 
+ 00025157  0x000067ce branch  0x000062b2 , 0x00000001 
+ 00025158  0x000067d1 force  0x00000003 , 0x0000003f 
+ 00025159  0x000067d2 call  0x00006298 
+ 00025160  0x000067d3 setarg  0x0000fffe 
+ 00025161  0x000067d4 istore  0x00000002 , 0x00000005 
+ 00025162  0x000067d5 branch  0x000062b0 
+ 00025163  0x000067d8 branch  0x000062b2 
+ 00025164  0x000067da branch  0x000062b2 
+ 00025165  0x000067dc branch  0x000062b2 
+ 00025166  0x000067de branch  0x000062b2 
+ 00025167  0x000067e4 call  0x0000630b 
+ 00025168  0x000067e5 arg  0x000040a0 , 0x00000011 
+ 00025169  0x000067e6 call  0x00006311 
+ 00025170  0x000067e7 force  0x00000011 , 0x0000003f 
+ 00025171  0x000067e8 call  0x00006298 
+ 00025172  0x000067e9 arg  0x00000582 , 0x00000011 
+ 00025173  0x000067ea arg  0x00000562 , 0x00000012 
+ 00025174  0x000067eb call  0x00007352 
+ 00025175  0x000067ec nbranch  0x000062a7 , 0x00000029 
+ 00025176  0x000067ed branch  0x000062ad 
+ 00025177  0x000067f0 call  0x0000630b 
+ 00025178  0x000067f1 arg  0x00000040 , 0x00000011 
+ 00025179  0x000067f2 call  0x00007255 
+ 00025180  0x000067f4 force  0x00000011 , 0x0000003f 
+ 00025181  0x000067f5 call  0x00006298 
+ 00025182  0x000067f6 arg  0x00000562 , 0x00000006 
+ 00025183  0x000067f7 call  0x00007ebf 
+ 00025184  0x000067f8 fetch  0x00000001 , 0x00000055 
+ 00025185  0x000067f9 beq  0x00000019 , 0x000062b2 
+ 00025186  0x000067fa beq  0x00000018 , 0x000062b2 
+ 00025187  0x000067fb branch  0x000062ad 
+ 00025188  0x000067fe fetch  0x00000001 , 0x000009b5 
+ 00025189  0x000067ff branch  0x0000626a , 0x00000034 
+ 00025190  0x00006800 call  0x000062fc 
+ 00025191  0x00006801 call  0x000062ef , 0x00000001 
+ 00025192  0x00006802 ncall  0x000062eb , 0x00000001 
+ 00025193  0x00006803 branch  0x0000626b 
+ 00025194  0x00006805 call  0x000062ef 
+ 00025195  0x00006807 call  0x0000630b 
+ 00025196  0x00006808 branch  0x0000625c 
+ 00025197  0x0000680b arg  0x000040a0 , 0x00000011 
+ 00025198  0x0000680c call  0x00007288 
+ 00025199  0x0000680d force  0x00000005 , 0x0000003f 
+ 00025200  0x0000680e call  0x00006298 
+ 00025201  0x0000680f fetch  0x00000004 , 0x00000592 
+ 00025202  0x00006810 istore  0x00000004 , 0x00000005 
+ 00025203  0x00006811 arg  0x000004d5 , 0x00000002 
+ 00025204  0x00006812 call  0x000062e2 
+ 00025205  0x00006813 call  0x00007386 
+ 00025206  0x00006814 call  0x000062fc 
+ 00025207  0x00006815 branch  0x0000627c , 0x00000001 
+ 00025208  0x00006816 jam  0x00000001 , 0x000004d8 
+ 00025209  0x00006817 fetch  0x00000001 , 0x000009b5 
+ 00025210  0x00006818 rtn  0x00000034 
+ 00025211  0x00006819 jam  0x0000000b , 0x0000007c 
+ 00025212  0x0000681b fetch  0x00000001 , 0x000041bd 
+ 00025213  0x0000681c rtn  0x00000034 
+ 00025214  0x0000681e call  0x000062fc 
+ 00025215  0x0000681f nbranch  0x00006284 , 0x00000001 
+ 00025216  0x00006820 fetch  0x00000001 , 0x000004d7 
+ 00025217  0x00006821 rtn  0x00000034 
+ 00025218  0x00006822 jam  0x0000000f , 0x0000007c 
+ 00025219  0x00006823 rtn 
+ 00025220  0x00006825 rtnmark0  0x00000021 
+ 00025221  0x00006826 set0  0x00000021 , 0x00000000 
+ 00025222  0x00006827 jam  0x0000000f , 0x0000007c 
+ 00025223  0x00006828 rtn 
+ 00025224  0x0000682d call  0x0000630b 
+ 00025225  0x0000682e call  0x0000728b 
+ 00025226  0x0000682f force  0x00000011 , 0x0000003f 
+ 00025227  0x00006830 call  0x00006298 
+ 00025228  0x00006831 arg  0x00000562 , 0x00000006 
+ 00025229  0x00006832 call  0x00007ebf 
+ 00025230  0x00006833 branch  0x000062ad 
+ 00025231  0x00006836 force  0x00000001 , 0x0000003f 
+ 00025232  0x00006837 call  0x00006298 
+ 00025233  0x00006838 branch  0x000062ad 
+ 00025234  0x0000683b force  0x00000002 , 0x0000003f 
+ 00025235  0x0000683c call  0x00006298 
+ 00025236  0x0000683d force  0x00000010 , 0x0000003f 
+ 00025237  0x0000683e istore  0x00000001 , 0x00000005 
+ 00025238  0x0000683f store  0x00000001 , 0x00000054 
+ 00025239  0x00006840 branch  0x000062ad 
+ 00025240  0x00006844 lshift3  0x0000003f , 0x0000003f 
+ 00025241  0x00006845 or_into  0x00000007 , 0x0000003f 
+ 00025242  0x00006846 store  0x00000001 , 0x000004b6 
+ 00025243  0x00006847 arg  0x00000011 , 0x00000039 
+ 00025244  0x00006848 arg  0x000004b8 , 0x00000005 
+ 00025245  0x00006849 call  0x00007ed4 
+ 00025246  0x0000684a arg  0x000004b8 , 0x00000005 
+ 00025247  0x0000684b rtn 
+ 00025248  0x0000684e and  0x0000003f , 0x0000007f , 0x00000011 
+ 00025249  0x0000684f jam  0x0000007f , 0x00000048 
+ 00025250  0x00006850 deposit  0x00000007 
+ 00025251  0x00006851 call  0x00006298 
+ 00025252  0x00006852 deposit  0x00000011 
+ 00025253  0x00006853 istore  0x00000001 , 0x00000005 
+ 00025254  0x00006854 rtn 
+ 00025255  0x00006857 fetch  0x00000001 , 0x00000048 
+ 00025256  0x00006858 lshift  0x0000003f , 0x0000003f 
+ 00025257  0x00006859 fetcht  0x00000001 , 0x0000004c 
+ 00025258  0x0000685a isolate1  0x00000001 , 0x00000002 
+ 00025259  0x0000685b setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025260  0x0000685c branch  0x000062b7 
+ 00025261  0x00006860 fetcht  0x00000001 , 0x0000004c 
+ 00025262  0x00006861 and_into  0x00000001 , 0x00000002 
+ 00025263  0x00006862 branch  0x000062b3 
+ 00025264  0x00006865 force  0x00000000 , 0x00000002 
+ 00025265  0x00006866 branch  0x000062b3 
+ 00025266  0x00006869 force  0x00000001 , 0x00000002 
+ 00025267  0x0000686b fetch  0x00000001 , 0x00000048 
+ 00025268  0x0000686c lshift  0x0000003f , 0x0000003f 
+ 00025269  0x0000686d setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00025270  0x0000686e ixor  0x00000002 , 0x0000003f 
+ 00025271  0x00006870 store  0x00000001 , 0x000004b7 
+ 00025272  0x00006871 jam  0x00000000 , 0x00000048 
+ 00025273  0x00006872 call  0x000062c7 
+ 00025274  0x00006873 enable  0x00000028 
+ 00025275  0x00006874 rtn 
+ 00025276  0x00006878 fetch  0x00000001 , 0x0000007c 
+ 00025277  0x00006879 rtn  0x00000034 
+ 00025278  0x0000687a call  0x000062c1 
+ 00025279  0x0000687b fetch  0x00000001 , 0x0000007c 
+ 00025280  0x0000687c rtn 
+ 00025281  0x0000687f bpatchx  0x00000086 , 0x00004030 
+ 00025282  0x00006880 fetch  0x00000001 , 0x00000048 
+ 00025283  0x00006881 branch  0x000062c7 , 0x00000034 
+ 00025284  0x00006882 fetch  0x00000001 , 0x00000078 
+ 00025285  0x00006883 nrtn  0x00000034 
+ 00025286  0x00006884 branch  0x000062d1 
+ 00025287  0x00006886 fetch  0x00000001 , 0x00000078 
+ 00025288  0x00006887 branch  0x000062d7 , 0x00000034 
+ 00025289  0x00006888 fetch  0x00000003 , 0x00000078 
+ 00025290  0x00006889 store  0x00000003 , 0x00000048 
+ 00025291  0x0000688a fetcht  0x00000001 , 0x0000007b 
+ 00025292  0x0000688b fetch  0x00000001 , 0x0000004c 
+ 00025293  0x0000688c set0  0x00000001 , 0x0000003f 
+ 00025294  0x0000688d ior  0x00000002 , 0x0000003f 
+ 00025295  0x0000688e store  0x00000001 , 0x0000004c 
+ 00025296  0x0000688f jam  0x00000000 , 0x00000078 
+ 00025297  0x00006891 fetch  0x00000001 , 0x0000007c 
+ 00025298  0x00006892 rtn  0x00000034 
+ 00025299  0x00006893 fetch  0x00000004 , 0x0000007c 
+ 00025300  0x00006894 store  0x00000004 , 0x00000078 
+ 00025301  0x00006895 jam  0x00000000 , 0x0000007c 
+ 00025302  0x00006896 rtn 
+ 00025303  0x00006898 fetch  0x00000001 , 0x0000007c 
+ 00025304  0x00006899 rtn  0x00000034 
+ 00025305  0x0000689a fetch  0x00000003 , 0x0000007c 
+ 00025306  0x0000689b store  0x00000003 , 0x00000048 
+ 00025307  0x0000689c fetcht  0x00000001 , 0x0000007f 
+ 00025308  0x0000689d fetch  0x00000001 , 0x0000004c 
+ 00025309  0x0000689e set0  0x00000001 , 0x0000003f 
+ 00025310  0x0000689f ior  0x00000002 , 0x0000003f 
+ 00025311  0x000068a0 store  0x00000001 , 0x0000004c 
+ 00025312  0x000068a1 jam  0x00000000 , 0x0000007c 
+ 00025313  0x000068a2 rtn 
+ 00025314  0x000068a6 bpatchx  0x00000087 , 0x00004030 
+ 00025315  0x000068a7 fetch  0x00000001 , 0x0000004c 
+ 00025316  0x000068a8 copy  0x0000003f , 0x00000013 
+ 00025317  0x000068a9 ifetch  0x00000001 , 0x00000002 
+ 00025318  0x000068aa call  0x00005e52 
+ 00025319  0x000068ab call  0x000062a7 
+ 00025320  0x000068ac copy  0x00000013 , 0x0000003f 
+ 00025321  0x000068ad store  0x00000001 , 0x0000004c 
+ 00025322  0x000068ae rtn 
+ 00025323  0x000068b1 fetcht  0x00000001 , 0x0000004c 
+ 00025324  0x000068b2 set0  0x00000000 , 0x00000002 
+ 00025325  0x000068b3 storet  0x00000001 , 0x0000004c 
+ 00025326  0x000068b4 rtn 
+ 00025327  0x000068b7 fetcht  0x00000001 , 0x0000004c 
+ 00025328  0x000068b8 set1  0x00000000 , 0x00000002 
+ 00025329  0x000068b9 storet  0x00000001 , 0x0000004c 
+ 00025330  0x000068ba rtn 
+ 00025331  0x000068be nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025332  0x000068bf fetcht  0x00000001 , 0x0000004c 
+ 00025333  0x000068c0 ixor  0x00000002 , 0x0000003f 
+ 00025334  0x000068c1 isolate1  0x00000001 , 0x0000003f 
+ 00025335  0x000068c2 rtn 
+ 00025336  0x000068c6 fetch  0x00000001 , 0x0000004c 
+ 00025337  0x000068c7 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025338  0x000068c8 store  0x00000001 , 0x0000004c 
+ 00025339  0x000068c9 rtn 
+ 00025340  0x000068cd fetch  0x00000001 , 0x000009b4 
+ 00025341  0x000068ce compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00025342  0x000068cf rtn 
+ 00025343  0x000068d1 fetch  0x00000001 , 0x000009b4 
+ 00025344  0x000068d2 set1  0x00000007 , 0x0000003f 
+ 00025345  0x000068d3 store  0x00000001 , 0x000009b4 
+ 00025346  0x000068d4 rtn 
+ 00025347  0x000068d6 fetch  0x00000001 , 0x000009b4 
+ 00025348  0x000068d7 set0  0x00000007 , 0x0000003f 
+ 00025349  0x000068d8 store  0x00000001 , 0x000009b4 
+ 00025350  0x000068d9 rtn 
+ 00025351  0x000068db fetch  0x00000001 , 0x000009b4 
+ 00025352  0x000068dc isolate1  0x00000007 , 0x0000003f 
+ 00025353  0x000068dd store  0x00000001 , 0x000009b4 
+ 00025354  0x000068de rtn 
+ 00025355  0x000068e2 arg  0x00000562 , 0x00000005 
+ 00025356  0x000068e4 force  0x00000010 , 0x00000039 
+ 00025357  0x000068e7 random  0x0000003f 
+ 00025358  0x000068e8 istore  0x00000001 , 0x00000005 
+ 00025359  0x000068e9 loop  0x0000630d 
+ 00025360  0x000068ea rtn 
+ 00025361  0x000068ed call  0x00007259 
+ 00025362  0x000068ee arg  0x000041be , 0x00000011 
+ 00025363  0x000068ef arg  0x00000592 , 0x00000012 
+ 00025364  0x000068f0 ifetch  0x00000008 , 0x00000011 
+ 00025365  0x000068f1 fetcht  0x00000001 , 0x00000030 
+ 00025366  0x000068f2 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00025367  0x000068f3 storet  0x00000001 , 0x00000030 
+ 00025368  0x000068f4 copy  0x00000011 , 0x00000005 
+ 00025369  0x000068f5 call  0x00007352 
+ 00025370  0x000068f6 branch  0x000021c4 
+ 00025371  0x000068fe bpatchx  0x00000088 , 0x00004031 
+ 00025372  0x00006900 call  0x000062bc 
+ 00025373  0x00006901 nrtn  0x00000034 
+ 00025374  0x00006903 fetch  0x00000001 , 0x00000055 
+ 00025375  0x00006904 rtn  0x00000034 
+ 00025376  0x00006908 beq  0x00000004 , 0x0000636f 
+ 00025377  0x00006909 beq  0x00000005 , 0x00006374 
+ 00025378  0x0000690a beq  0x00000002 , 0x00006366 
+ 00025379  0x0000690b beq  0x00000003 , 0x0000637c 
+ 00025380  0x0000690c beq  0x0000000e , 0x00006369 
+ 00025381  0x0000690d beq  0x00000006 , 0x00006398 
+ 00025382  0x0000690e beq  0x00000007 , 0x000063b0 
+ 00025383  0x0000690f beq  0x00000009 , 0x000063b1 
+ 00025384  0x00006910 beq  0x0000000a , 0x000063ba 
+ 00025385  0x00006911 beq  0x0000000b , 0x000063be 
+ 00025386  0x00006912 beq  0x0000000c , 0x00006386 
+ 00025387  0x00006913 beq  0x0000000d , 0x00006389 
+ 00025388  0x00006914 beq  0x0000000f , 0x0000638f 
+ 00025389  0x00006915 beq  0x00000012 , 0x00006359 
+ 00025390  0x00006916 beq  0x00000013 , 0x0000637c 
+ 00025391  0x00006917 beq  0x00000010 , 0x0000635c 
+ 00025392  0x00006918 beq  0x00000014 , 0x00006356 
+ 00025393  0x00006919 beq  0x00000015 , 0x0000637c 
+ 00025394  0x0000691a beq  0x00000016 , 0x00006350 
+ 00025395  0x0000691b beq  0x00000018 , 0x00006355 
+ 00025396  0x0000691c beq  0x00000017 , 0x00006349 
+ 00025397  0x0000691d beq  0x00000019 , 0x0000634f 
+ 00025398  0x0000691e beq  0x0000001a , 0x0000633a 
+ 00025399  0x0000691f beq  0x0000001b , 0x00006344 
+ 00025400  0x00006920 jam  0x00000000 , 0x00000055 
+ 00025401  0x00006922 rtn 
+ 00025402  0x00006924 fetch  0x00000001 , 0x000004d1 
+ 00025403  0x00006925 rtnbit0  0x00000002 
+ 00025404  0x00006926 rtnbit0  0x00000003 
+ 00025405  0x00006927 jam  0x00000000 , 0x00000055 
+ 00025406  0x00006928 call  0x00006340 
+ 00025407  0x00006929 branch  0x00006cef 
+ 00025408  0x0000692c fetch  0x00000001 , 0x0000016d 
+ 00025409  0x0000692d rtnbit0  0x00000001 
+ 00025410  0x0000692e jam  0x0000000a , 0x00000055 
+ 00025411  0x0000692f rtn 
+ 00025412  0x00006932 arg  0x00000007 , 0x00000007 
+ 00025413  0x00006933 call  0x00007f16 
+ 00025414  0x00006934 nrtn  0x00000034 
+ 00025415  0x00006935 jam  0x0000001a , 0x00000055 
+ 00025416  0x00006936 rtn 
+ 00025417  0x00006939 fetch  0x00000001 , 0x0000016d 
+ 00025418  0x0000693a set0  0x00000000 , 0x0000003f 
+ 00025419  0x0000693b store  0x00000001 , 0x0000016d 
+ 00025420  0x0000693c jam  0x00000019 , 0x00000055 
+ 00025421  0x0000693d jam  0x0000000b , 0x0000007c 
+ 00025422  0x0000693e rtn 
+ 00025423  0x00006940 rtn 
+ 00025424  0x00006942 fetch  0x00000001 , 0x000004d4 
+ 00025425  0x00006943 rtnne  0x00000002 
+ 00025426  0x00006944 call  0x000063c0 
+ 00025427  0x00006945 jam  0x00000018 , 0x00000055 
+ 00025428  0x00006946 rtn 
+ 00025429  0x00006949 rtn 
+ 00025430  0x0000694b jam  0x00000015 , 0x00000055 
+ 00025431  0x0000694c jam  0x00000083 , 0x0000007c 
+ 00025432  0x0000694d rtn 
+ 00025433  0x0000694f jam  0x00000013 , 0x00000055 
+ 00025434  0x00006950 jam  0x00000025 , 0x0000007c 
+ 00025435  0x00006951 rtn 
+ 00025436  0x00006954 fetch  0x00000001 , 0x0000455b 
+ 00025437  0x00006955 rtneq  0x00000000 
+ 00025438  0x00006956 beq  0x00000001 , 0x00006364 
+ 00025439  0x00006957 arg  0x00000006 , 0x00000007 
+ 00025440  0x00006958 call  0x00007f16 
+ 00025441  0x00006959 nrtn  0x00000034 
+ 00025442  0x0000695a jam  0x00000000 , 0x0000455b 
+ 00025443  0x0000695b branch  0x0000637d 
+ 00025444  0x0000695d rtn  0x00000029 
+ 00025445  0x0000695e branch  0x00006398 
+ 00025446  0x00006961 jam  0x00000003 , 0x00000055 
+ 00025447  0x00006962 jam  0x00000027 , 0x0000007c 
+ 00025448  0x00006963 rtn 
+ 00025449  0x00006965 jam  0x00000013 , 0x0000007c 
+ 00025450  0x00006966 set1  0x00000003 , 0x00000000 
+ 00025451  0x00006967 jam  0x00000005 , 0x00000055 
+ 00025452  0x00006968 setarg  0x000001ff 
+ 00025453  0x00006969 store  0x00000002 , 0x000004d2 
+ 00025454  0x0000696a rtn 
+ 00025455  0x0000696c jam  0x00000005 , 0x00000055 
+ 00025456  0x0000696d jam  0x000000ff , 0x000004d2 
+ 00025457  0x0000696e set0  0x00000022 , 0x00000000 
+ 00025458  0x0000696f jam  0x00000033 , 0x0000007c 
+ 00025459  0x00006970 branch  0x00005d04 
+ 00025460  0x00006972 rtnmark1  0x00000022 
+ 00025461  0x00006973 fetch  0x00000002 , 0x000004d2 
+ 00025462  0x00006974 sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025463  0x00006975 branch  0x0000637a , 0x00000005 
+ 00025464  0x00006976 store  0x00000002 , 0x000004d2 
+ 00025465  0x00006977 rtn 
+ 00025466  0x00006979 jam  0x0000000e , 0x00000055 
+ 00025467  0x0000697a rtn 
+ 00025468  0x0000697d rtn 
+ 00025469  0x00006980 fetch  0x00000001 , 0x000004d1 
+ 00025470  0x00006981 rtnbit0  0x00000003 
+ 00025471  0x00006982 rtnbit0  0x00000002 
+ 00025472  0x00006983 fetch  0x00000001 , 0x0000016d 
+ 00025473  0x00006984 set0  0x00000002 , 0x0000003f 
+ 00025474  0x00006985 store  0x00000001 , 0x0000016d 
+ 00025475  0x00006986 jam  0x00000013 , 0x0000007c 
+ 00025476  0x00006987 jam  0x00000010 , 0x00000055 
+ 00025477  0x00006988 rtn 
+ 00025478  0x0000698b jam  0x0000000d , 0x00000055 
+ 00025479  0x0000698c jam  0x00000031 , 0x0000007c 
+ 00025480  0x0000698d rtn 
+ 00025481  0x00006990 fetch  0x00000001 , 0x000004d1 
+ 00025482  0x00006991 rtnbit0  0x00000002 
+ 00025483  0x00006992 jam  0x00000000 , 0x00000055 
+ 00025484  0x00006994 rtn 
+ 00025485  0x00006996 jam  0x00000006 , 0x00000055 
+ 00025486  0x00006997 rtn 
+ 00025487  0x0000699a fetch  0x00000001 , 0x000004d2 
+ 00025488  0x0000699b increase  0xffffffff , 0x0000003f 
+ 00025489  0x0000699c branch  0x00006394 , 0x00000034 
+ 00025490  0x0000699d store  0x00000001 , 0x000004d2 
+ 00025491  0x0000699e rtn 
+ 00025492  0x000069a0 jam  0x00000007 , 0x0000007c 
+ 00025493  0x000069a1 jam  0x00000016 , 0x000004ca 
+ 00025494  0x000069a2 jam  0x00000000 , 0x00000055 
+ 00025495  0x000069a3 rtn 
+ 00025496  0x000069a6 fetch  0x00000001 , 0x0000016d 
+ 00025497  0x000069a7 bbit1  0x00000002 , 0x0000637d 
+ 00025498  0x000069a8 bbit1  0x00000000 , 0x0000639d 
+ 00025499  0x000069aa jam  0x0000001a , 0x00000055 
+ 00025500  0x000069ab rtn 
+ 00025501  0x000069ad fetch  0x00000001 , 0x000041bd 
+ 00025502  0x000069ae branch  0x000063a9 , 0x00000034 
+ 00025503  0x000069af fetch  0x00000001 , 0x000004d1 
+ 00025504  0x000069b0 rtnbit0  0x00000003 
+ 00025505  0x000069b1 rtnbit0  0x00000002 
+ 00025506  0x000069b2 fetch  0x00000004 , 0x000004e9 
+ 00025507  0x000069b3 arg  0x00000064 , 0x00000002 
+ 00025508  0x000069b4 iadd  0x00000002 , 0x00000002 
+ 00025509  0x000069b5 copy  0x00000022 , 0x0000003f 
+ 00025510  0x000069b6 isub  0x00000002 , 0x0000003e 
+ 00025511  0x000069b7 nrtn  0x00000002 
+ 00025512  0x000069b8 branch  0x00006349 
+ 00025513  0x000069bd jam  0x00000016 , 0x00000055 
+ 00025514  0x000069be jam  0x00000004 , 0x00004689 
+ 00025515  0x000069bf setarg  0x00003030 
+ 00025516  0x000069c0 store  0x00000002 , 0x0000468a 
+ 00025517  0x000069c1 istore  0x00000002 , 0x00000005 
+ 00025518  0x000069c2 jam  0x00000002 , 0x000004d4 
+ 00025519  0x000069c3 branch  0x00006350 
+ 00025520  0x000069c6 rtn 
+ 00025521  0x000069c8 fetch  0x00000001 , 0x0000016d 
+ 00025522  0x000069c9 bbit1  0x00000001 , 0x000063b5 
+ 00025523  0x000069ca jam  0x0000001a , 0x00000055 
+ 00025524  0x000069cb rtn 
+ 00025525  0x000069ce fetch  0x00000001 , 0x0000016d 
+ 00025526  0x000069cf set0  0x00000001 , 0x0000003f 
+ 00025527  0x000069d0 store  0x00000001 , 0x0000016d 
+ 00025528  0x000069d1 jam  0x0000000f , 0x0000007c 
+ 00025529  0x000069d2 rtn 
+ 00025530  0x000069d5 fetch  0x00000001 , 0x000004d8 
+ 00025531  0x000069d6 rtn  0x00000034 
+ 00025532  0x000069d7 jam  0x00000000 , 0x00000055 
+ 00025533  0x000069d8 branch  0x000063b5 
+ 00025534  0x000069db jam  0x0000000c , 0x00000055 
+ 00025535  0x000069dc rtn 
+ 00025536  0x000069df fetch  0x00000001 , 0x0000004b 
+ 00025537  0x000069e0 bbit1  0x00000002 , 0x000063c5 
+ 00025538  0x000069e1 call  0x000062ef 
+ 00025539  0x000069e2 jam  0x00000008 , 0x0000007c 
+ 00025540  0x000069e3 branch  0x00004d04 
+ 00025541  0x000069e5 fetch  0x00000001 , 0x0000004b 
+ 00025542  0x000069e6 set0  0x00000002 , 0x0000003f 
+ 00025543  0x000069e7 store  0x00000001 , 0x0000004b 
+ 00025544  0x000069e8 call  0x00006001 
+ 00025545  0x000069e9 call  0x000062f8 
+ 00025546  0x000069ea branch  0x00004d04 
+ 00025547  0x000069ed setarg  0x00000004 
+ 00025548  0x000069ee store  0x00000001 , 0x00004689 
+ 00025549  0x000069ef setarg  0x00003030 
+ 00025550  0x000069f0 istore  0x00000002 , 0x00000005 
+ 00025551  0x000069f1 istore  0x00000002 , 0x00000005 
+ 00025552  0x000069f2 rtn 
+ 00025553  0x000069f9 bpatchx  0x0000008c , 0x00004031 
+ 00025554  0x000069fa hfetch  0x00000001 , 0x00008073 
+ 00025555  0x000069fb arg  0x00000006 , 0x00000002 
+ 00025556  0x000069fc ior  0x00000002 , 0x0000003f 
+ 00025557  0x000069fd hstore  0x00000001 , 0x00008073 
+ 00025558  0x000069fe hfetch  0x00000001 , 0x00008077 
+ 00025559  0x000069ff ior  0x00000002 , 0x0000003f 
+ 00025560  0x00006a00 hstore  0x00000001 , 0x00008077 
+ 00025561  0x00006a01 call  0x000063ee 
+ 00025562  0x00006a02 hfetch  0x00000001 , 0x00008077 
+ 00025563  0x00006a03 set0  0x00000001 , 0x0000003f 
+ 00025564  0x00006a04 set0  0x00000002 , 0x0000003f 
+ 00025565  0x00006a05 hstore  0x00000001 , 0x00008077 
+ 00025566  0x00006a06 nop  0x0000001e 
+ 00025567  0x00006a07 branch  0x000063f2 
+ 00025568  0x00006a0a hfetch  0x00000001 , 0x00008073 
+ 00025569  0x00006a0b arg  0x000000c0 , 0x00000002 
+ 00025570  0x00006a0c ior  0x00000002 , 0x0000003f 
+ 00025571  0x00006a0d hstore  0x00000001 , 0x00008073 
+ 00025572  0x00006a0e hfetch  0x00000001 , 0x00008077 
+ 00025573  0x00006a0f ior  0x00000002 , 0x0000003f 
+ 00025574  0x00006a10 hstore  0x00000001 , 0x00008077 
+ 00025575  0x00006a11 call  0x000063ee 
+ 00025576  0x00006a12 hfetch  0x00000001 , 0x00008077 
+ 00025577  0x00006a13 set0  0x00000006 , 0x0000003f 
+ 00025578  0x00006a14 set0  0x00000007 , 0x0000003f 
+ 00025579  0x00006a15 hstore  0x00000001 , 0x00008077 
+ 00025580  0x00006a16 nop  0x0000001e 
+ 00025581  0x00006a17 branch  0x000063f6 
+ 00025582  0x00006a1a hfetch  0x00000001 , 0x00008081 
+ 00025583  0x00006a1b and  0x0000003f , 0x000000fc , 0x0000003f 
+ 00025584  0x00006a1c hstore  0x00000001 , 0x00008081 
+ 00025585  0x00006a1d rtn 
+ 00025586  0x00006a1f hfetch  0x00000001 , 0x00008081 
+ 00025587  0x00006a20 or  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025588  0x00006a21 hstore  0x00000001 , 0x00008081 
+ 00025589  0x00006a22 rtn 
+ 00025590  0x00006a24 hfetch  0x00000001 , 0x00008081 
+ 00025591  0x00006a25 or  0x0000003f , 0x00000003 , 0x0000003f 
+ 00025592  0x00006a26 set0  0x00000004 , 0x0000003f 
+ 00025593  0x00006a27 hstore  0x00000001 , 0x00008081 
+ 00025594  0x00006a28 rtn 
+ 00025595  0x00006a2d copy  0x0000003f , 0x00000012 
+ 00025596  0x00006a2e call  0x0000640f 
+ 00025597  0x00006a2f nop  0x00000064 
+ 00025598  0x00006a30 copy  0x00000012 , 0x0000003f 
+ 00025599  0x00006a31 call  0x00006414 
+ 00025600  0x00006a32 copy  0x0000003f , 0x00000012 
+ 00025601  0x00006a33 call  0x00006411 
+ 00025602  0x00006a34 nop  0x00000064 
+ 00025603  0x00006a35 copy  0x00000012 , 0x0000003f 
+ 00025604  0x00006a36 rtn 
+ 00025605  0x00006a39 copy  0x0000003f , 0x00000012 
+ 00025606  0x00006a3a call  0x0000640f 
+ 00025607  0x00006a3b nop  0x00000064 
+ 00025608  0x00006a3c copy  0x00000012 , 0x0000003f 
+ 00025609  0x00006a3d call  0x00006413 
+ 00025610  0x00006a3e call  0x00006411 
+ 00025611  0x00006a3f nop  0x00000064 
+ 00025612  0x00006a40 rtn 
+ 00025613  0x00006a44 fetcht  0x00000001 , 0x00004214 
+ 00025614  0x00006a45 branch  0x0000680e 
+ 00025615  0x00006a49 fetcht  0x00000001 , 0x00004214 
+ 00025616  0x00006a4a branch  0x00006829 
+ 00025617  0x00006a4e fetcht  0x00000001 , 0x00004214 
+ 00025618  0x00006a4f branch  0x00006825 
+ 00025619  0x00006a53 branch  0x000064ec 
+ 00025620  0x00006a56 branch  0x000064f3 
+ 00025621  0x00006a5e nbranch  0x00006419 , 0x00000028 
+ 00025622  0x00006a5f hfetch  0x00000001 , 0x00008085 
+ 00025623  0x00006a60 or_into  0x00000002 , 0x0000003f 
+ 00025624  0x00006a61 hstore  0x00000001 , 0x00008085 
+ 00025625  0x00006a63 copy  0x00000002 , 0x0000003e 
+ 00025626  0x00006a64 branch  0x0000641c , 0x00000005 
+ 00025627  0x00006a65 copy  0x00000013 , 0x0000003d 
+ 00025628  0x00006a67 isolate0  0x00000000 , 0x0000003e 
+ 00025629  0x00006a68 branch  0x000064b9 
+ 00025630  0x00006a6c force  0x00000004 , 0x00000002 
+ 00025631  0x00006a6e arg  0x000001fe , 0x00000011 
+ 00025632  0x00006a6f hfetch  0x00000001 , 0x00008085 
+ 00025633  0x00006a70 and_into  0x000000fd , 0x0000003f 
+ 00025634  0x00006a71 hstore  0x00000001 , 0x00008085 
+ 00025635  0x00006a72 call  0x00006419 
+ 00025636  0x00006a73 arg  0x000055aa , 0x00000011 
+ 00025637  0x00006a74 fetch  0x00000002 , 0x000001fe 
+ 00025638  0x00006a75 ifetcht  0x00000002 , 0x00000006 
+ 00025639  0x00006a76 isub  0x00000011 , 0x0000003e 
+ 00025640  0x00006a77 rtn 
+ 00025641  0x00006a7a arg  0x00000002 , 0x00000002 
+ 00025642  0x00006a7b arg  0x00000204 , 0x00000011 
+ 00025643  0x00006a7c call  0x00006419 
+ 00025644  0x00006a7d fetch  0x00000002 , 0x00000204 
+ 00025645  0x00006a7e store  0x00000002 , 0x000001f7 
+ 00025646  0x00006a7f call  0x00006430 , 0x00000028 
+ 00025647  0x00006a80 rtn 
+ 00025648  0x00006a83 arg  0x00000010 , 0x00000002 
+ 00025649  0x00006a84 arg  0x00000206 , 0x00000011 
+ 00025650  0x00006a85 hfetch  0x00000001 , 0x00008085 
+ 00025651  0x00006a86 and_into  0x000000fd , 0x0000003f 
+ 00025652  0x00006a87 hstore  0x00000001 , 0x00008085 
+ 00025653  0x00006a88 call  0x00006419 
+ 00025654  0x00006a89 arg  0x00000206 , 0x00000006 
+ 00025655  0x00006a8a arg  0x00000010 , 0x00000039 
+ 00025656  0x00006a8b call  0x00007478 
+ 00025657  0x00006a8c call  0x00007428 
+ 00025658  0x00006a8d call  0x00007491 
+ 00025659  0x00006a8e branch  0x00007422 
+ 00025660  0x00006a91 disable  0x0000002d 
+ 00025661  0x00006a92 call  0x0000641e 
+ 00025662  0x00006a93 nrtn  0x00000005 
+ 00025663  0x00006a94 enable  0x0000002d 
+ 00025664  0x00006a95 jam  0x00000080 , 0x00008023 
+ 00025665  0x00006a96 jam  0x00000000 , 0x00008022 
+ 00025666  0x00006a97 jam  0x00000000 , 0x00008024 
+ 00025667  0x00006a98 arg  0x00008025 , 0x00000011 
+ 00025668  0x00006a99 call  0x00006415 
+ 00025669  0x00006a9a jam  0x00000000 , 0x00008023 
+ 00025670  0x00006a9c arg  0x00000006 , 0x00000002 
+ 00025671  0x00006a9d call  0x0000641f 
+ 00025672  0x00006a9e nrtn  0x00000005 
+ 00025673  0x00006a9f ifetch  0x00000002 , 0x00000006 
+ 00025674  0x00006aa0 iforce  0x00000011 
+ 00025675  0x00006aa1 call  0x00006419 
+ 00025676  0x00006aa2 branch  0x00006446 
+ 00025677  0x00006aa7 call  0x00007f99 
+ 00025678  0x00006aa8 setarg  0x00001000 
+ 00025679  0x00006aa9 store  0x00000002 , 0x000001f7 
+ 00025680  0x00006aaa arg  0x000065e5 , 0x00000013 
+ 00025681  0x00006aab arg  0x00000002 , 0x00000039 
+ 00025682  0x00006aad call  0x0000641e 
+ 00025683  0x00006aae nrtn  0x00000005 
+ 00025684  0x00006aaf fetch  0x00000002 , 0x000001f7 
+ 00025685  0x00006ab0 byteswap  0x0000003f , 0x0000003f 
+ 00025686  0x00006ab1 iadd  0x00000002 , 0x0000003f 
+ 00025687  0x00006ab2 byteswap  0x0000003f , 0x0000003f 
+ 00025688  0x00006ab3 store  0x00000002 , 0x000001f7 
+ 00025689  0x00006ab4 loop  0x00006452 
+ 00025690  0x00006ab5 branch  0x00006446 
+ 00025691  0x00006ab8 call  0x00007f99 
+ 00025692  0x00006ab9 disable  0x00000028 
+ 00025693  0x00006aba call  0x0000666a 
+ 00025694  0x00006abb setarg  0x00000000 
+ 00025695  0x00006abc arg  0x000001f3 , 0x00000011 
+ 00025696  0x00006abd arg  0x00000002 , 0x00000002 
+ 00025697  0x00006abe call  0x000066b3 
+ 00025698  0x00006abf fetch  0x00000002 , 0x000001f3 
+ 00025699  0x00006ac0 bbit0  0x00000007 , 0x0000646e 
+ 00025700  0x00006ac1 jam  0x00000025 , 0x00008050 
+ 00025701  0x00006ac2 setarg  0x000007f0 
+ 00025702  0x00006ac3 arg  0x00000206 , 0x00000011 
+ 00025703  0x00006ac4 arg  0x00000010 , 0x00000002 
+ 00025704  0x00006ac5 call  0x000066b3 
+ 00025705  0x00006ac6 jam  0x00000008 , 0x00008006 
+ 00025706  0x00006ac7 set1  0x0000002b , 0x00000000 
+ 00025707  0x00006ac8 arg  0x00000206 , 0x00000006 
+ 00025708  0x00006ac9 call  0x00007484 
+ 00025709  0x00006aca enable  0x00000028 
+ 00025710  0x00006acc jam  0x00000000 , 0x000041da 
+ 00025711  0x00006ace call  0x000064b0 
+ 00025712  0x00006acf fetch  0x00000002 , 0x000001f3 
+ 00025713  0x00006ad0 byteswap  0x0000003f , 0x0000003f 
+ 00025714  0x00006ad1 arg  0x000007ff , 0x00000002 
+ 00025715  0x00006ad2 iand  0x00000002 , 0x0000003f 
+ 00025716  0x00006ad3 branch  0x0000647b , 0x00000005 
+ 00025717  0x00006ad4 call  0x0000666f 
+ 00025718  0x00006ad5 arg  0x000066b8 , 0x00000013 
+ 00025719  0x00006ad6 call  0x00006430 , 0x00000028 
+ 00025720  0x00006ad7 call  0x0000643c 
+ 00025721  0x00006ad8 fetch  0x00000001 , 0x000001f2 
+ 00025722  0x00006ad9 bbit0  0x00000000 , 0x0000646f 
+ 00025723  0x00006adc call  0x0000666d 
+ 00025724  0x00006add jam  0x00000000 , 0x000041da 
+ 00025725  0x00006adf call  0x000064b0 
+ 00025726  0x00006ae0 call  0x000065c2 
+ 00025727  0x00006ae1 fetch  0x00000001 , 0x000001f3 
+ 00025728  0x00006ae2 bbit1  0x00000006 , 0x0000648e 
+ 00025729  0x00006ae3 call  0x000064aa 
+ 00025730  0x00006ae4 nbranch  0x00006486 , 0x0000002d 
+ 00025731  0x00006ae5 fetch  0x00000001 , 0x000001f2 
+ 00025732  0x00006ae6 bbit0  0x00000000 , 0x0000647d 
+ 00025733  0x00006ae7 branch  0x0000649b 
+ 00025734  0x00006ae9 call  0x000065bf 
+ 00025735  0x00006aea fetch  0x00000001 , 0x000001f3 
+ 00025736  0x00006aeb bbit1  0x00000006 , 0x0000648e 
+ 00025737  0x00006aec call  0x000064aa 
+ 00025738  0x00006aed nbranch  0x0000648e , 0x0000002d 
+ 00025739  0x00006aee fetch  0x00000001 , 0x000001f2 
+ 00025740  0x00006aef bbit0  0x00000000 , 0x0000647d 
+ 00025741  0x00006af0 branch  0x0000649b 
+ 00025742  0x00006af3 jam  0x00000000 , 0x000041da 
+ 00025743  0x00006af5 call  0x000064b0 
+ 00025744  0x00006af6 fetch  0x00000001 , 0x000001f3 
+ 00025745  0x00006af7 bbit1  0x00000005 , 0x0000649b 
+ 00025746  0x00006af8 setarg  0x00000000 
+ 00025747  0x00006af9 store  0x00000003 , 0x000001f6 
+ 00025748  0x00006afa call  0x00006502 
+ 00025749  0x00006afb arg  0x00006578 , 0x00000013 
+ 00025750  0x00006afc call  0x00006429 
+ 00025751  0x00006afd call  0x0000643c 
+ 00025752  0x00006afe nbranch  0x0000649b , 0x0000002d 
+ 00025753  0x00006aff fetch  0x00000001 , 0x000001f2 
+ 00025754  0x00006b00 bbit0  0x00000000 , 0x0000648f 
+ 00025755  0x00006b03 bmark1  0x0000002b , 0x0000649d 
+ 00025756  0x00006b04 call  0x000064a3 
+ 00025757  0x00006b06 fetch  0x00000001 , 0x000001f3 
+ 00025758  0x00006b07 bbit0  0x00000004 , 0x000064a3 
+ 00025759  0x00006b08 jam  0x00000021 , 0x00008050 
+ 00025760  0x00006b09 call  0x00004c0e 
+ 00025761  0x00006b0b call  0x00004c2e 
+ 00025762  0x00006b0c branch  0x000064a1 
+ 00025763  0x00006b0f setarg  0x00000000 
+ 00025764  0x00006b10 store  0x00000008 , 0x00000206 
+ 00025765  0x00006b11 store  0x00000008 , 0x0000020e 
+ 00025766  0x00006b12 force  0x00000004 , 0x00000038 
+ 00025767  0x00006b13 call  0x00007492 
+ 00025768  0x00006b14 jam  0x00000021 , 0x00008050 
+ 00025769  0x00006b15 rtn 
+ 00025770  0x00006b19 setarg  0x00000000 
+ 00025771  0x00006b1a store  0x00000002 , 0x000001f7 
+ 00025772  0x00006b1b arg  0x000065e5 , 0x00000013 
+ 00025773  0x00006b1c call  0x000065a3 
+ 00025774  0x00006b1d call  0x00006429 
+ 00025775  0x00006b1e branch  0x0000643c 
+ 00025776  0x00006b22 fetch  0x00000001 , 0x000041da 
+ 00025777  0x00006b23 increase  0x00000001 , 0x0000003f 
+ 00025778  0x00006b24 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00025779  0x00006b25 nbranch  0x000064b6 , 0x00000002 
+ 00025780  0x00006b26 store  0x00000001 , 0x000041da 
+ 00025781  0x00006b27 rtn 
+ 00025782  0x00006b2a call  0x000064a3 
+ 00025783  0x00006b2b call  0x00007fa1 
+ 00025784  0x00006b2c rtn 
+ 00025785  0x00006b31 fetch  0x00000001 , 0x000001f2 
+ 00025786  0x00006b32 lshift  0x0000003f , 0x0000003f 
+ 00025787  0x00006b33 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025788  0x00006b34 isolate0  0x0000000f , 0x00000011 
+ 00025789  0x00006b35 rtn  0x00000001 
+ 00025790  0x00006b36 store  0x00000001 , 0x000001f2 
+ 00025791  0x00006b37 rtn 
+ 00025792  0x00006b3b hfetch  0x00000001 , 0x00008085 
+ 00025793  0x00006b3c rtnbit0  0x00000001 
+ 00025794  0x00006b3d branch  0x000064c6 
+ 00025795  0x00006b3f hfetch  0x00000001 , 0x0000812c 
+ 00025796  0x00006b40 qisolate1  0x0000003f 
+ 00025797  0x00006b41 rtn  0x00000001 
+ 00025798  0x00006b43 hfetch  0x00000001 , 0x00008108 
+ 00025799  0x00006b44 bbit0  0x00000001 , 0x000064c3 
+ 00025800  0x00006b45 call  0x00007422 
+ 00025801  0x00006b46 branch  0x000064c3 
+ 00025802  0x00006b4b fetch  0x00000002 , 0x00004199 
+ 00025803  0x00006b4c rtn  0x00000034 
+ 00025804  0x00006b4d jam  0x00000080 , 0x00008023 
+ 00025805  0x00006b4e jam  0x00000000 , 0x00008022 
+ 00025806  0x00006b4f jam  0x00000000 , 0x00008024 
+ 00025807  0x00006b50 fetcht  0x00000002 , 0x0000419b 
+ 00025808  0x00006b51 lshift2  0x00000002 , 0x00000039 
+ 00025809  0x00006b52 iforce  0x00000006 
+ 00025810  0x00006b54 ifetch  0x00000001 , 0x00000006 
+ 00025811  0x00006b55 hstore  0x00000001 , 0x00008025 
+ 00025812  0x00006b56 loop  0x000064d2 
+ 00025813  0x00006b57 jam  0x00000000 , 0x00008023 
+ 00025814  0x00006b58 rtn 
+ 00025815  0x00006b5e bpatchx  0x0000008d , 0x00004031 
+ 00025816  0x00006b5f call  0x000064dd 
+ 00025817  0x00006b60 branch  0x000063f2 
+ 00025818  0x00006b63 call  0x000064dd 
+ 00025819  0x00006b64 call  0x000063ee 
+ 00025820  0x00006b65 branch  0x000063f6 
+ 00025821  0x00006b68 fetch  0x00000001 , 0x00004212 
+ 00025822  0x00006b69 hstore  0x00000001 , 0x00008086 
+ 00025823  0x00006b6a fetch  0x00000001 , 0x00004213 
+ 00025824  0x00006b6b hstore  0x00000001 , 0x00008087 
+ 00025825  0x00006b6c setarg  0x000001f5 
+ 00025826  0x00006b6d hstore  0x00000002 , 0x0000808a 
+ 00025827  0x00006b6e setarg  0x000001fa 
+ 00025828  0x00006b6f hstore  0x00000002 , 0x0000808c 
+ 00025829  0x00006b70 branch  0x000063ee 
+ 00025830  0x00006b73 hfetch  0x00000001 , 0x00008086 
+ 00025831  0x00006b74 set1  0x00000007 , 0x0000003f 
+ 00025832  0x00006b75 hstore  0x00000001 , 0x00008086 
+ 00025833  0x00006b76 set0  0x00000007 , 0x0000003f 
+ 00025834  0x00006b77 hstore  0x00000001 , 0x00008086 
+ 00025835  0x00006b78 rtn 
+ 00025836  0x00006b7d set1  0x00000007 , 0x0000003f 
+ 00025837  0x00006b7e store  0x00000002 , 0x000001f5 
+ 00025838  0x00006b7f bpatchx  0x0000008e , 0x00004031 
+ 00025839  0x00006b80 jam  0x00000002 , 0x00008088 
+ 00025840  0x00006b81 jam  0x00000000 , 0x0000808e 
+ 00025841  0x00006b82 jam  0x00000002 , 0x00008006 
+ 00025842  0x00006b83 branch  0x000064fc 
+ 00025843  0x00006b87 force  0x00000001 , 0x00000002 
+ 00025844  0x00006b8b store  0x00000001 , 0x000001f5 
+ 00025845  0x00006b8c bpatchx  0x0000008f , 0x00004031 
+ 00025846  0x00006b8d jam  0x00000001 , 0x00008088 
+ 00025847  0x00006b8e hstoret  0x00000002 , 0x0000808e 
+ 00025848  0x00006b8f jam  0x00000002 , 0x00008006 
+ 00025849  0x00006b90 call  0x000064fc 
+ 00025850  0x00006b91 fetch  0x00000001 , 0x000001fa 
+ 00025851  0x00006b92 rtn 
+ 00025852  0x00006b95 fetch  0x00000002 , 0x000040d6 
+ 00025853  0x00006b96 increase  0x00000001 , 0x0000003f 
+ 00025854  0x00006b97 store  0x00000002 , 0x000040d6 
+ 00025855  0x00006b98 hfetch  0x00000001 , 0x0000812c 
+ 00025856  0x00006b99 bbit0  0x00000003 , 0x000064fc 
+ 00025857  0x00006b9a rtn 
+ 00025858  0x00006b9d jam  0x00000040 , 0x00008086 
+ 00025859  0x00006b9e jam  0x00000000 , 0x00008087 
+ 00025860  0x00006b9f hfetch  0x00000001 , 0x00008081 
+ 00025861  0x00006ba0 set0  0x00000000 , 0x0000003f 
+ 00025862  0x00006ba1 set1  0x00000001 , 0x0000003f 
+ 00025863  0x00006ba2 hstore  0x00000001 , 0x00008081 
+ 00025864  0x00006ba3 setarg  0x00000000 
+ 00025865  0x00006ba4 store  0x00000004 , 0x000001f5 
+ 00025866  0x00006ba5 rtn 
+ 00025867  0x00006ba9 setarg  0x00000000 
+ 00025868  0x00006baa hstore  0x00000002 , 0x0000808e 
+ 00025869  0x00006bab setarg  0x00000001 
+ 00025870  0x00006bac hstore  0x00000002 , 0x00008088 
+ 00025871  0x00006bad setarg  0x000001f5 
+ 00025872  0x00006bae hstore  0x00000002 , 0x0000808a 
+ 00025873  0x00006baf jam  0x00000006 , 0x000001f5 
+ 00025874  0x00006bb0 jam  0x00000002 , 0x00008006 
+ 00025875  0x00006bb1 branch  0x000064fc 
+ 00025876  0x00006bc1 disable  0x00000028 
+ 00025877  0x00006bc2 copy  0x0000003f , 0x00000012 
+ 00025878  0x00006bc3 fetch  0x00000001 , 0x00004239 
+ 00025879  0x00006bc4 rtnne  0x00000000 
+ 00025880  0x00006bc5 enable  0x00000028 
+ 00025881  0x00006bc6 copy  0x00000012 , 0x0000003f 
+ 00025882  0x00006bc7 branch  0x00006522 
+ 00025883  0x00006bcb fetch  0x00000001 , 0x00004239 
+ 00025884  0x00006bcc beq  0x00000001 , 0x00006522 
+ 00025885  0x00006bcd beq  0x00000002 , 0x00006528 
+ 00025886  0x00006bce beq  0x00000003 , 0x00006530 
+ 00025887  0x00006bcf beq  0x00000004 , 0x00006537 
+ 00025888  0x00006bd0 beq  0x00000005 , 0x0000653d 
+ 00025889  0x00006bd1 rtn 
+ 00025890  0x00006bd4 store  0x00000003 , 0x00004232 
+ 00025891  0x00006bd5 copy  0x00000011 , 0x0000003f 
+ 00025892  0x00006bd6 store  0x00000002 , 0x00004235 
+ 00025893  0x00006bd7 storet  0x00000002 , 0x00004237 
+ 00025894  0x00006bd8 jam  0x00000002 , 0x00004239 
+ 00025895  0x00006bd9 branch  0x00006502 
+ 00025896  0x00006bdb call  0x00006502 
+ 00025897  0x00006bdc jam  0x00000003 , 0x00004239 
+ 00025898  0x00006bdd call  0x0000650b 
+ 00025899  0x00006bde arg  0x000001f5 , 0x00000011 
+ 00025900  0x00006bdf fetch  0x00000003 , 0x00004232 
+ 00025901  0x00006be0 jam  0x00000004 , 0x00008088 
+ 00025902  0x00006be1 arg  0x00000020 , 0x00000002 
+ 00025903  0x00006be2 branch  0x00006556 
+ 00025904  0x00006be5 call  0x00006502 
+ 00025905  0x00006be6 call  0x0000650b 
+ 00025906  0x00006be7 setarg  0x00000005 
+ 00025907  0x00006be8 call  0x000064f3 
+ 00025908  0x00006be9 rtnbit1  0x00000000 
+ 00025909  0x00006bea jam  0x00000004 , 0x00004239 
+ 00025910  0x00006beb rtn 
+ 00025911  0x00006bed call  0x00006502 
+ 00025912  0x00006bee jam  0x00000005 , 0x00004239 
+ 00025913  0x00006bef call  0x0000650b 
+ 00025914  0x00006bf0 call  0x0000654a 
+ 00025915  0x00006bf1 call  0x00006552 
+ 00025916  0x00006bf2 branch  0x00006545 
+ 00025917  0x00006bf4 call  0x00006502 
+ 00025918  0x00006bf5 call  0x0000650b 
+ 00025919  0x00006bf6 setarg  0x00000005 
+ 00025920  0x00006bf7 call  0x000064f3 
+ 00025921  0x00006bf8 rtnbit1  0x00000000 
+ 00025922  0x00006bf9 jam  0x00000000 , 0x00004239 
+ 00025923  0x00006bfa fetch  0x00000002 , 0x00004201 
+ 00025924  0x00006bfb branch  0x00007f9c 
+ 00025925  0x00006bfd fetch  0x00000004 , 0x00000aa2 
+ 00025926  0x00006bfe fetcht  0x00000002 , 0x00004235 
+ 00025927  0x00006bff increase  0xfffffffc , 0x00000002 
+ 00025928  0x00006c00 istore  0x00000004 , 0x00000002 
+ 00025929  0x00006c01 rtn 
+ 00025930  0x00006c03 fetcht  0x00000002 , 0x00004235 
+ 00025931  0x00006c04 copy  0x00000002 , 0x00000011 
+ 00025932  0x00006c05 increase  0xfffffffc , 0x00000002 
+ 00025933  0x00006c06 ifetch  0x00000004 , 0x00000002 
+ 00025934  0x00006c07 store  0x00000004 , 0x00000aa2 
+ 00025935  0x00006c08 fetcht  0x00000002 , 0x00004237 
+ 00025936  0x00006c09 fetch  0x00000003 , 0x00004232 
+ 00025937  0x00006c0a rtn 
+ 00025938  0x00006c0f increase  0x00000004 , 0x00000002 
+ 00025939  0x00006c10 hstoret  0x00000002 , 0x00008088 
+ 00025940  0x00006c11 arg  0x00000002 , 0x00000002 
+ 00025941  0x00006c12 increase  0xfffffffc , 0x00000011 
+ 00025942  0x00006c15 istoret  0x00000001 , 0x00000011 
+ 00025943  0x00006c16 rshift16  0x0000003f , 0x00000002 
+ 00025944  0x00006c17 istoret  0x00000001 , 0x00000005 
+ 00025945  0x00006c18 rshift8  0x0000003f , 0x00000002 
+ 00025946  0x00006c19 istoret  0x00000001 , 0x00000005 
+ 00025947  0x00006c1a istore  0x00000001 , 0x00000005 
+ 00025948  0x00006c1b deposit  0x00000011 
+ 00025949  0x00006c1c hstore  0x00000002 , 0x0000808a 
+ 00025950  0x00006c1d setarg  0x00000000 
+ 00025951  0x00006c1e hstore  0x00000002 , 0x0000808e 
+ 00025952  0x00006c1f jam  0x00000002 , 0x00008006 
+ 00025953  0x00006c20 branch  0x000064fc 
+ 00025954  0x00006c25 hstoret  0x00000002 , 0x0000808e 
+ 00025955  0x00006c26 rshift16  0x0000003f , 0x00000002 
+ 00025956  0x00006c27 storet  0x00000001 , 0x000001f6 
+ 00025957  0x00006c28 rshift8  0x0000003f , 0x00000002 
+ 00025958  0x00006c29 storet  0x00000001 , 0x000001f7 
+ 00025959  0x00006c2a store  0x00000001 , 0x000001f8 
+ 00025960  0x00006c2b setarg  0x00000004 
+ 00025961  0x00006c2c hstore  0x00000002 , 0x00008088 
+ 00025962  0x00006c2d jam  0x00000003 , 0x000001f5 
+ 00025963  0x00006c2e setarg  0x000001f5 
+ 00025964  0x00006c2f hstore  0x00000002 , 0x0000808a 
+ 00025965  0x00006c30 deposit  0x00000011 
+ 00025966  0x00006c31 hstore  0x00000002 , 0x0000808c 
+ 00025967  0x00006c32 hfetch  0x00000001 , 0x00008086 
+ 00025968  0x00006c33 isolate0  0x0000000f , 0x00000011 
+ 00025969  0x00006c34 setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025970  0x00006c35 hstore  0x00000001 , 0x00008086 
+ 00025971  0x00006c36 jam  0x00000002 , 0x00008006 
+ 00025972  0x00006c38 hfetch  0x00000001 , 0x0000812c 
+ 00025973  0x00006c39 bbit1  0x00000007 , 0x00006574 
+ 00025974  0x00006c3a arg  0x00000003 , 0x00000007 
+ 00025975  0x00006c3b branch  0x000064fc 
+ 00025976  0x00006c40 hstoret  0x00000002 , 0x0000808e 
+ 00025977  0x00006c41 setarg  0x00000004 
+ 00025978  0x00006c42 hstore  0x00000002 , 0x00008088 
+ 00025979  0x00006c43 jam  0x00000003 , 0x000001f5 
+ 00025980  0x00006c44 setarg  0x000001f5 
+ 00025981  0x00006c45 hstore  0x00000002 , 0x0000808a 
+ 00025982  0x00006c46 deposit  0x00000011 
+ 00025983  0x00006c47 hstore  0x00000002 , 0x0000808c 
+ 00025984  0x00006c48 hfetch  0x00000001 , 0x00008086 
+ 00025985  0x00006c49 isolate0  0x0000000f , 0x00000011 
+ 00025986  0x00006c4a setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025987  0x00006c4b hstore  0x00000001 , 0x00008086 
+ 00025988  0x00006c4c jam  0x00000002 , 0x00008006 
+ 00025989  0x00006c4e hfetch  0x00000001 , 0x0000812c 
+ 00025990  0x00006c4f bbit1  0x00000007 , 0x00006585 
+ 00025991  0x00006c50 arg  0x00000003 , 0x00000007 
+ 00025992  0x00006c51 call  0x000064c0 
+ 00025993  0x00006c52 call  0x000064fc 
+ 00025994  0x00006c53 isolate1  0x00000002 , 0x0000003f 
+ 00025995  0x00006c54 call  0x000064b9 
+ 00025996  0x00006c55 fetch  0x00000001 , 0x000001f6 
+ 00025997  0x00006c56 lshift16  0x0000003f , 0x00000012 
+ 00025998  0x00006c57 fetch  0x00000001 , 0x000001f7 
+ 00025999  0x00006c58 lshift8  0x0000003f , 0x0000003f 
+ 00026000  0x00006c59 ior  0x00000012 , 0x00000012 
+ 00026001  0x00006c5a fetch  0x00000001 , 0x000001f8 
+ 00026002  0x00006c5b ior  0x00000012 , 0x0000003f 
+ 00026003  0x00006c5c iadd  0x00000002 , 0x0000003f 
+ 00026004  0x00006c5d store  0x00000001 , 0x000001f8 
+ 00026005  0x00006c5e rshift8  0x0000003f , 0x0000003f 
+ 00026006  0x00006c5f store  0x00000001 , 0x000001f7 
+ 00026007  0x00006c60 rshift8  0x0000003f , 0x0000003f 
+ 00026008  0x00006c61 store  0x00000001 , 0x000001f6 
+ 00026009  0x00006c62 rtn 
+ 00026010  0x00006c68 jam  0x00000001 , 0x00008010 
+ 00026011  0x00006c69 rtn 
+ 00026012  0x00006c70 jam  0x0000000c , 0x00008091 
+ 00026013  0x00006c71 jam  0x0000000d , 0x00008092 
+ 00026014  0x00006c72 jam  0x0000000d , 0x00008093 
+ 00026015  0x00006c73 jam  0x0000000d , 0x00008094 
+ 00026016  0x00006c74 jam  0x0000000d , 0x00008095 
+ 00026017  0x00006c75 jam  0x0000000c , 0x00008096 
+ 00026018  0x00006c76 branch  0x000065a9 
+ 00026019  0x00006c7a jam  0x00000005 , 0x00008091 
+ 00026020  0x00006c7b jam  0x00000007 , 0x00008092 
+ 00026021  0x00006c7c jam  0x00000007 , 0x00008093 
+ 00026022  0x00006c7d jam  0x00000007 , 0x00008094 
+ 00026023  0x00006c7e jam  0x00000007 , 0x00008095 
+ 00026024  0x00006c7f jam  0x00000005 , 0x00008096 
+ 00026025  0x00006c81 hfetch  0x00000001 , 0x0000807b 
+ 00026026  0x00006c82 or_into  0x000000c0 , 0x0000003f 
+ 00026027  0x00006c83 hstore  0x00000001 , 0x0000807b 
+ 00026028  0x00006c84 hfetch  0x00000001 , 0x00008081 
+ 00026029  0x00006c85 or_into  0x00000010 , 0x0000003f 
+ 00026030  0x00006c86 hstore  0x00000001 , 0x00008081 
+ 00026031  0x00006c87 rtn 
+ 00026032  0x00006c8c hfetch  0x00000001 , 0x0000812c 
+ 00026033  0x00006c8d bbit0  0x00000005 , 0x000065b0 
+ 00026034  0x00006c8e rtn 
+ 00026035  0x00006c97 hstore  0x00000002 , 0x00008098 
+ 00026036  0x00006c98 deposit  0x00000011 
+ 00026037  0x00006c99 hstore  0x00000002 , 0x0000809a 
+ 00026038  0x00006c9a deposit  0x00000012 
+ 00026039  0x00006c9b hstore  0x00000002 , 0x0000809c 
+ 00026040  0x00006c9c deposit  0x00000002 
+ 00026041  0x00006c9d hstore  0x00000002 , 0x0000809e 
+ 00026042  0x00006c9e arg  0x00000001 , 0x00000002 
+ 00026043  0x00006c9f nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00026044  0x00006ca0 hstore  0x00000001 , 0x00008090 
+ 00026045  0x00006ca1 jam  0x00000004 , 0x00008006 
+ 00026046  0x00006ca2 branch  0x000065b0 
+ 00026047  0x00006ca6 set1  0x00000028 , 0x00000000 
+ 00026048  0x00006ca7 jam  0x00000008 , 0x00004211 
+ 00026049  0x00006ca8 rtn 
+ 00026050  0x00006cab set0  0x00000028 , 0x00000000 
+ 00026051  0x00006cac jam  0x00000020 , 0x00004211 
+ 00026052  0x00006cad rtn 
+ 00026053  0x00006cb1 fetch  0x00000001 , 0x00004203 
+ 00026054  0x00006cb2 iadd  0x00000012 , 0x0000003f 
+ 00026055  0x00006cb3 store  0x00000001 , 0x000001f7 
+ 00026056  0x00006cb4 branch  0x000065cc 
+ 00026057  0x00006cb7 fetch  0x00000002 , 0x000001f7 
+ 00026058  0x00006cb8 byteswap  0x0000003f , 0x0000003f 
+ 00026059  0x00006cb9 store  0x00000001 , 0x000001f7 
+ 00026060  0x00006cbf setarg  0x00000003 
+ 00026061  0x00006cc0 hstore  0x00000002 , 0x00008098 
+ 00026062  0x00006cc1 jam  0x000000a0 , 0x000001f6 
+ 00026063  0x00006cc2 jam  0x000000a1 , 0x000001f8 
+ 00026064  0x00006cc3 branch  0x000065eb 
+ 00026065  0x00006cca storet  0x00000002 , 0x00000aa2 
+ 00026066  0x00006ccb call  0x000065d6 
+ 00026067  0x00006ccc fetcht  0x00000002 , 0x00000aa2 
+ 00026068  0x00006ccd call  0x00006606 
+ 00026069  0x00006cce branch  0x000065dd 
+ 00026070  0x00006cd1 fetch  0x00000001 , 0x0000423a 
+ 00026071  0x00006cd2 rtneq  0x000000ff 
+ 00026072  0x00006cd3 bbit0  0x00000006 , 0x000065db 
+ 00026073  0x00006cd4 setarg  0x000249f0 
+ 00026074  0x00006cd5 call  0x00002a8f 
+ 00026075  0x00006cd7 fetcht  0x00000001 , 0x0000423a 
+ 00026076  0x00006cd8 branch  0x00006829 
+ 00026077  0x00006cdb fetcht  0x00000001 , 0x0000423a 
+ 00026078  0x00006cdc branch  0x00006825 
+ 00026079  0x00006ce2 bpatchx  0x00000090 , 0x00004032 
+ 00026080  0x00006ce3 bmark1  0x00000028 , 0x000065c5 
+ 00026081  0x00006ce4 fetch  0x00000002 , 0x00004203 
+ 00026082  0x00006ce5 iadd  0x00000012 , 0x0000003f 
+ 00026083  0x00006ce6 byteswap  0x0000003f , 0x0000003f 
+ 00026084  0x00006ce7 store  0x00000002 , 0x000001f7 
+ 00026085  0x00006ceb bpatchx  0x00000091 , 0x00004032 
+ 00026086  0x00006cec bmark1  0x00000028 , 0x000065c9 
+ 00026087  0x00006ced setarg  0x00000004 
+ 00026088  0x00006cee hstore  0x00000002 , 0x00008098 
+ 00026089  0x00006cef jam  0x000000a0 , 0x000001f6 
+ 00026090  0x00006cf0 jam  0x000000a1 , 0x000001f9 
+ 00026091  0x00006cf2 setarg  0x000001f6 
+ 00026092  0x00006cf3 hstore  0x00000002 , 0x0000809a 
+ 00026093  0x00006cf4 hstoret  0x00000002 , 0x0000809e 
+ 00026094  0x00006cf5 deposit  0x00000011 
+ 00026095  0x00006cf6 hstore  0x00000002 , 0x0000809c 
+ 00026096  0x00006cf7 setarg  0x00000002 
+ 00026097  0x00006cf8 isolate0  0x0000000f , 0x00000011 
+ 00026098  0x00006cf9 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026099  0x00006cfa hstore  0x00000001 , 0x00008090 
+ 00026100  0x00006cfb jam  0x00000004 , 0x00008006 
+ 00026101  0x00006cfc arg  0x00000005 , 0x00000007 
+ 00026102  0x00006cfd call  0x000064c0 
+ 00026103  0x00006cfe call  0x000065b0 
+ 00026104  0x00006cff isolate1  0x00000004 , 0x0000003f 
+ 00026105  0x00006d00 call  0x000064b9 
+ 00026106  0x00006d01 bmark1  0x00000028 , 0x00006601 
+ 00026107  0x00006d02 fetch  0x00000002 , 0x000001f7 
+ 00026108  0x00006d03 byteswap  0x0000003f , 0x0000003f 
+ 00026109  0x00006d04 iadd  0x00000002 , 0x0000003f 
+ 00026110  0x00006d05 byteswap  0x0000003f , 0x0000003f 
+ 00026111  0x00006d06 store  0x00000002 , 0x000001f7 
+ 00026112  0x00006d07 rtn 
+ 00026113  0x00006d0a fetch  0x00000001 , 0x000001f7 
+ 00026114  0x00006d0b iadd  0x00000002 , 0x0000003f 
+ 00026115  0x00006d0c byteswap  0x0000003f , 0x0000003f 
+ 00026116  0x00006d0d store  0x00000002 , 0x000001f7 
+ 00026117  0x00006d0e rtn 
+ 00026118  0x00006d15 fetch  0x00000002 , 0x00004203 
+ 00026119  0x00006d16 iadd  0x00000012 , 0x0000003f 
+ 00026120  0x00006d1a store  0x00000002 , 0x00000a9a 
+ 00026121  0x00006d1b bpatchx  0x00000092 , 0x00004032 
+ 00026122  0x00006d1c storet  0x00000002 , 0x00000aa2 
+ 00026123  0x00006d1d copy  0x00000011 , 0x0000003f 
+ 00026124  0x00006d1e store  0x00000002 , 0x00000ab9 
+ 00026125  0x00006d20 call  0x0000661d 
+ 00026126  0x00006d22 fetcht  0x00000002 , 0x00000ab2 
+ 00026127  0x00006d23 fetch  0x00000002 , 0x00000ab9 
+ 00026128  0x00006d24 copy  0x0000003f , 0x00000011 
+ 00026129  0x00006d25 fetch  0x00000002 , 0x00000a9a 
+ 00026130  0x00006d27 call  0x0000663d 
+ 00026131  0x00006d29 fetch  0x00000002 , 0x00000ab2 
+ 00026132  0x00006d2a fetcht  0x00000002 , 0x00000ab9 
+ 00026133  0x00006d2b iadd  0x00000002 , 0x00000002 
+ 00026134  0x00006d2c storet  0x00000002 , 0x00000ab9 
+ 00026135  0x00006d2d fetcht  0x00000002 , 0x00000a9a 
+ 00026136  0x00006d2e iadd  0x00000002 , 0x00000002 
+ 00026137  0x00006d2f storet  0x00000002 , 0x00000a9a 
+ 00026138  0x00006d30 fetch  0x00000002 , 0x00000aa2 
+ 00026139  0x00006d31 nbranch  0x0000660d , 0x00000034 
+ 00026140  0x00006d32 rtn 
+ 00026141  0x00006d3b bpatchx  0x00000093 , 0x00004032 
+ 00026142  0x00006d3c fetch  0x00000001 , 0x00004211 
+ 00026143  0x00006d3d increase  0xffffffff , 0x0000003f 
+ 00026144  0x00006d3e fetcht  0x00000002 , 0x00000a9a 
+ 00026145  0x00006d3f ior  0x00000002 , 0x0000003f 
+ 00026146  0x00006d40 increase  0x00000001 , 0x0000003f 
+ 00026147  0x00006d41 store  0x00000003 , 0x00000ab6 
+ 00026148  0x00006d43 fetch  0x00000002 , 0x00000aa2 
+ 00026149  0x00006d44 iadd  0x00000002 , 0x0000003f 
+ 00026150  0x00006d46 fetcht  0x00000003 , 0x00000ab6 
+ 00026151  0x00006d47 isub  0x00000002 , 0x0000003f 
+ 00026152  0x00006d48 nbranch  0x0000662f , 0x00000002 
+ 00026153  0x00006d49 store  0x00000002 , 0x00000aa2 
+ 00026154  0x00006d4a fetch  0x00000003 , 0x00000ab6 
+ 00026155  0x00006d4b fetcht  0x00000002 , 0x00000a9a 
+ 00026156  0x00006d4c isub  0x00000002 , 0x0000003f 
+ 00026157  0x00006d4d store  0x00000002 , 0x00000ab2 
+ 00026158  0x00006d4e rtn 
+ 00026159  0x00006d50 fetch  0x00000002 , 0x00000aa2 
+ 00026160  0x00006d51 store  0x00000002 , 0x00000ab2 
+ 00026161  0x00006d52 setarg  0x00000000 
+ 00026162  0x00006d53 store  0x00000002 , 0x00000aa2 
+ 00026163  0x00006d54 rtn 
+ 00026164  0x00006d57 increase  0x00000002 , 0x00000002 
+ 00026165  0x00006d58 hstoret  0x00000002 , 0x00008098 
+ 00026166  0x00006d59 increase  0xfffffffe , 0x00000011 
+ 00026167  0x00006d5a ifetcht  0x00000003 , 0x00000011 
+ 00026168  0x00006d5b copy  0x00000002 , 0x00000012 
+ 00026169  0x00006d5c arg  0x000000a0 , 0x00000002 
+ 00026170  0x00006d5d istoret  0x00000001 , 0x00000011 
+ 00026171  0x00006d5f istore  0x00000001 , 0x00000005 
+ 00026172  0x00006d60 branch  0x0000664a 
+ 00026173  0x00006d64 copy  0x0000003f , 0x00000012 
+ 00026174  0x00006d65 bpatchx  0x00000094 , 0x00004032 
+ 00026175  0x00006d66 bmark1  0x00000028 , 0x00006634 
+ 00026176  0x00006d67 copy  0x00000012 , 0x0000003f 
+ 00026177  0x00006d68 increase  0x00000003 , 0x00000002 
+ 00026178  0x00006d69 hstoret  0x00000002 , 0x00008098 
+ 00026179  0x00006d6a increase  0xfffffffd , 0x00000011 
+ 00026180  0x00006d6b ifetcht  0x00000003 , 0x00000011 
+ 00026181  0x00006d6c copy  0x00000002 , 0x00000012 
+ 00026182  0x00006d6d arg  0x000000a0 , 0x00000002 
+ 00026183  0x00006d6e istoret  0x00000001 , 0x00000011 
+ 00026184  0x00006d6f byteswap  0x0000003f , 0x0000003f 
+ 00026185  0x00006d70 istore  0x00000002 , 0x00000005 
+ 00026186  0x00006d72 deposit  0x00000011 
+ 00026187  0x00006d73 hstore  0x00000002 , 0x0000809a 
+ 00026188  0x00006d74 setarg  0x00000000 
+ 00026189  0x00006d75 hstore  0x00000002 , 0x0000809e 
+ 00026190  0x00006d76 jam  0x00000001 , 0x00008090 
+ 00026191  0x00006d77 jam  0x00000004 , 0x00008006 
+ 00026192  0x00006d78 call  0x000065b0 
+ 00026193  0x00006d79 copy  0x00000012 , 0x0000003f 
+ 00026194  0x00006d7a istore  0x00000003 , 0x00000011 
+ 00026195  0x00006d7d bpatchx  0x00000095 , 0x00004032 
+ 00026196  0x00006d7e jam  0x00000000 , 0x000001f9 
+ 00026197  0x00006d80 setarg  0x00000001 
+ 00026198  0x00006d81 hstore  0x00000002 , 0x00008098 
+ 00026199  0x00006d82 jam  0x000000a0 , 0x000001f6 
+ 00026200  0x00006d83 setarg  0x000001f6 
+ 00026201  0x00006d84 hstore  0x00000002 , 0x0000809a 
+ 00026202  0x00006d85 setarg  0x00000000 
+ 00026203  0x00006d86 hstore  0x00000002 , 0x0000809e 
+ 00026204  0x00006d87 hstore  0x00000002 , 0x0000809c 
+ 00026205  0x00006d88 setarg  0x00000003 
+ 00026206  0x00006d89 hstore  0x00000001 , 0x00008090 
+ 00026207  0x00006d8a jam  0x00000004 , 0x00008006 
+ 00026208  0x00006d8b call  0x000065b0 
+ 00026209  0x00006d8c hfetch  0x00000001 , 0x0000812c 
+ 00026210  0x00006d8d rtnbit0  0x00000006 
+ 00026211  0x00006d8e nop  0x000005dc 
+ 00026212  0x00006d8f fetch  0x00000001 , 0x000001f9 
+ 00026213  0x00006d90 increase  0x00000001 , 0x0000003f 
+ 00026214  0x00006d91 store  0x00000001 , 0x000001f9 
+ 00026215  0x00006d92 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00026216  0x00006d93 nrtn  0x00000002 
+ 00026217  0x00006d94 branch  0x00006655 
+ 00026218  0x00006d99 jam  0x00000070 , 0x00008973 
+ 00026219  0x00006d9a nop  0x00000bb8 
+ 00026220  0x00006d9b rtn 
+ 00026221  0x00006d9e jam  0x00000030 , 0x00008973 
+ 00026222  0x00006d9f rtn 
+ 00026223  0x00006da2 lshift3  0x0000003f , 0x0000003f 
+ 00026224  0x00006da3 hstore  0x00000002 , 0x00008045 
+ 00026225  0x00006da4 jam  0x00000000 , 0x0000804b 
+ 00026226  0x00006da5 rtn 
+ 00026227  0x00006da9 call  0x0000666f 
+ 00026228  0x00006daa call  0x000066a0 
+ 00026229  0x00006dac ifetcht  0x00000001 , 0x00000011 
+ 00026230  0x00006dad increase  0x00000001 , 0x00000011 
+ 00026231  0x00006dae force  0x00000000 , 0x00000007 
+ 00026232  0x00006db0 qisolate0  0x00000002 
+ 00026233  0x00006db1 branch  0x00006697 , 0x00000001 
+ 00026234  0x00006db2 hfetch  0x00000001 , 0x00008046 
+ 00026235  0x00006db3 set1  0x00000006 , 0x0000003f 
+ 00026236  0x00006db4 set1  0x00000007 , 0x0000003f 
+ 00026237  0x00006db5 hstore  0x00000001 , 0x00008046 
+ 00026238  0x00006db6 jam  0x00000002 , 0x00008047 
+ 00026239  0x00006db7 jam  0x00000082 , 0x00008047 
+ 00026240  0x00006db8 set0  0x00000007 , 0x0000003f 
+ 00026241  0x00006db9 hstore  0x00000001 , 0x00008046 
+ 00026242  0x00006dba jam  0x0000008a , 0x00008047 
+ 00026243  0x00006dbb nop  0x0000000b 
+ 00026244  0x00006dbc jam  0x000000ca , 0x00008047 
+ 00026245  0x00006dbd nop  0x00000021 
+ 00026246  0x00006dbe jam  0x0000004a , 0x00008047 
+ 00026247  0x00006dbf nop  0x0000002c 
+ 00026248  0x00006dc0 jam  0x000000ca , 0x00008047 
+ 00026249  0x00006dc1 nop  0x00000016 
+ 00026250  0x00006dc2 jam  0x0000008a , 0x00008047 
+ 00026251  0x00006dc3 nop  0x00000021 
+ 00026252  0x00006dc4 jam  0x00000082 , 0x00008047 
+ 00026253  0x00006dc5 nop  0x00000001 
+ 00026254  0x00006dc6 jam  0x00000092 , 0x00008047 
+ 00026255  0x00006dc7 nop  0x0000000a 
+ 00026256  0x00006dc8 jam  0x000000b2 , 0x00008047 
+ 00026257  0x00006dc9 hfetch  0x00000001 , 0x00008007 
+ 00026258  0x00006dca jam  0x00000092 , 0x00008047 
+ 00026259  0x00006dcb nop  0x00000001 
+ 00026260  0x00006dcc jam  0x00000082 , 0x00008047 
+ 00026261  0x00006dcd qisolate0  0x0000003f 
+ 00026262  0x00006dce branch  0x00006678 , 0x00000001 
+ 00026263  0x00006dd0 hfetch  0x00000002 , 0x00008045 
+ 00026264  0x00006dd1 increase  0x00000001 , 0x0000003f 
+ 00026265  0x00006dd2 hstore  0x00000002 , 0x00008045 
+ 00026266  0x00006dd3 increase  0x00000001 , 0x00000007 
+ 00026267  0x00006dd4 compare  0x00000008 , 0x00000007 , 0x0000000f 
+ 00026268  0x00006dd5 nbranch  0x00006678 , 0x00000001 
+ 00026269  0x00006dd6 loop  0x00006675 
+ 00026270  0x00006dd7 jam  0x00000083 , 0x00008047 
+ 00026271  0x00006dd8 rtn 
+ 00026272  0x00006ddb jam  0x00000082 , 0x00008047 
+ 00026273  0x00006ddc nop  0x0000000c 
+ 00026274  0x00006ddd jam  0x00000080 , 0x00008047 
+ 00026275  0x00006dde jam  0x00000082 , 0x00008047 
+ 00026276  0x00006ddf nop  0x00000096 
+ 00026277  0x00006de0 rtn 
+ 00026278  0x00006de4 call  0x000066a0 
+ 00026279  0x00006de5 jam  0x000000a2 , 0x00008047 
+ 00026280  0x00006de6 deposit  0x00000011 
+ 00026281  0x00006de7 hstore  0x00000002 , 0x00008048 
+ 00026282  0x00006de8 set1  0x0000000b , 0x00000002 
+ 00026283  0x00006de9 isolate0  0x0000000f , 0x0000003f 
+ 00026284  0x00006dea setflag  0x00000001 , 0x0000000f , 0x00000002 
+ 00026285  0x00006deb hstoret  0x00000002 , 0x0000804a 
+ 00026286  0x00006dec jam  0x00000001 , 0x00008006 
+ 00026287  0x00006ded rtn 
+ 00026288  0x00006df0 hfetch  0x00000001 , 0x0000812c 
+ 00026289  0x00006df1 bbit0  0x00000001 , 0x000066b0 
+ 00026290  0x00006df2 rtn 
+ 00026291  0x00006df6 call  0x0000666f 
+ 00026292  0x00006df7 call  0x000066a6 
+ 00026293  0x00006df8 call  0x000066b0 
+ 00026294  0x00006df9 jam  0x00000083 , 0x00008047 
+ 00026295  0x00006dfa rtn 
+ 00026296  0x00006e00 hfetch  0x00000002 , 0x00008124 
+ 00026297  0x00006e01 hstore  0x00000002 , 0x00008045 
+ 00026298  0x00006e02 call  0x000066a6 
+ 00026299  0x00006e03 arg  0x00000001 , 0x00000007 
+ 00026300  0x00006e04 call  0x000064c0 
+ 00026301  0x00006e05 call  0x000066b0 
+ 00026302  0x00006e06 isolate1  0x00000000 , 0x0000003f 
+ 00026303  0x00006e07 call  0x000064b9 
+ 00026304  0x00006e08 jam  0x00000083 , 0x00008047 
+ 00026305  0x00006e09 rtn 
+ 00026306  0x00006e0d hfetch  0x00000002 , 0x0000805e 
+ 00026307  0x00006e0e iforce  0x0000000a 
+ 00026308  0x00006e0f rtn 
+ 00026309  0x00006e12 deposit  0x0000000a 
+ 00026310  0x00006e13 hstore  0x00000002 , 0x0000805e 
+ 00026311  0x00006e14 rtn 
+ 00026312  0x00006e17 deposit  0x00000003 
+ 00026313  0x00006e18 hstore  0x00000002 , 0x00008058 
+ 00026314  0x00006e19 rtn 
+ 00026315  0x00006e1c hfetch  0x00000002 , 0x00008058 
+ 00026316  0x00006e1d copy  0x0000003f , 0x00000003 
+ 00026317  0x00006e1e rtn 
+ 00026318  0x00006e21 fetch  0x00000002 , 0x00004243 
+ 00026319  0x00006e22 hstore  0x00000002 , 0x00008052 
+ 00026320  0x00006e23 rtn 
+ 00026321  0x00006e26 deposit  0x00000039 
+ 00026322  0x00006e27 rtn  0x00000034 
+ 00026323  0x00006e29 increase  0xfffffff8 , 0x00000039 
+ 00026324  0x00006e2a call  0x000066de , 0x00000002 
+ 00026325  0x00006e2b rtn  0x00000005 
+ 00026326  0x00006e2c branch  0x000066d3 , 0x00000002 
+ 00026327  0x00006e2d increase  0x00000008 , 0x00000039 
+ 00026328  0x00006e2f increase  0xfffffffc , 0x00000039 
+ 00026329  0x00006e30 call  0x000066e1 , 0x00000002 
+ 00026330  0x00006e31 rtn  0x00000005 
+ 00026331  0x00006e32 branch  0x000066d8 , 0x00000002 
+ 00026332  0x00006e33 increase  0x00000004 , 0x00000039 
+ 00026333  0x00006e34 branch  0x000066e4 
+ 00026334  0x00006e37 ifetch  0x00000008 , 0x00000006 
+ 00026335  0x00006e38 istore  0x00000008 , 0x0000000a 
+ 00026336  0x00006e39 rtn 
+ 00026337  0x00006e3c ifetch  0x00000004 , 0x00000006 
+ 00026338  0x00006e3d istore  0x00000004 , 0x0000000a 
+ 00026339  0x00006e3e rtn 
+ 00026340  0x00006e41 deposit  0x00000039 
+ 00026341  0x00006e42 rtn  0x00000034 
+ 00026342  0x00006e44 ifetch  0x00000001 , 0x00000006 
+ 00026343  0x00006e45 istore  0x00000001 , 0x0000000a 
+ 00026344  0x00006e46 loop  0x000066e6 
+ 00026345  0x00006e47 rtn 
+ 00026346  0x00006e4a deposit  0x00000039 
+ 00026347  0x00006e4b rtn  0x00000034 
+ 00026348  0x00006e4d increase  0xfffffff8 , 0x00000039 
+ 00026349  0x00006e4e call  0x000066f7 , 0x00000002 
+ 00026350  0x00006e4f rtn  0x00000005 
+ 00026351  0x00006e50 branch  0x000066ec , 0x00000002 
+ 00026352  0x00006e51 increase  0x00000008 , 0x00000039 
+ 00026353  0x00006e53 increase  0xfffffffc , 0x00000039 
+ 00026354  0x00006e54 call  0x000066fa , 0x00000002 
+ 00026355  0x00006e55 rtn  0x00000005 
+ 00026356  0x00006e56 branch  0x000066f1 , 0x00000002 
+ 00026357  0x00006e57 increase  0x00000004 , 0x00000039 
+ 00026358  0x00006e58 branch  0x000066fd 
+ 00026359  0x00006e5b ifetch  0x00000008 , 0x00000003 
+ 00026360  0x00006e5c istore  0x00000008 , 0x00000005 
+ 00026361  0x00006e5d rtn 
+ 00026362  0x00006e60 ifetch  0x00000004 , 0x00000003 
+ 00026363  0x00006e61 istore  0x00000004 , 0x00000005 
+ 00026364  0x00006e62 rtn 
+ 00026365  0x00006e66 deposit  0x00000039 
+ 00026366  0x00006e67 rtn  0x00000034 
+ 00026367  0x00006e69 ifetch  0x00000001 , 0x00000003 
+ 00026368  0x00006e6a istore  0x00000001 , 0x00000005 
+ 00026369  0x00006e6b loop  0x000066ff 
+ 00026370  0x00006e6c rtn 
+ 00026371  0x00006e70 deposit  0x00000039 
+ 00026372  0x00006e71 rtn  0x00000034 
+ 00026373  0x00006e73 ifetch  0x00000001 , 0x00000003 
+ 00026374  0x00006e74 istore  0x00000001 , 0x0000000a 
+ 00026375  0x00006e75 loop  0x00006705 
+ 00026376  0x00006e76 rtn 
+ 00026377  0x00006e7c jam  0x0000003d , 0x00000a99 
+ 00026378  0x00006e7d branch  0x00007d86 
+ 00026379  0x00006e81 bpatchx  0x00000096 , 0x00004032 
+ 00026380  0x00006e82 fetch  0x00000001 , 0x00004217 
+ 00026381  0x00006e83 rtn  0x00000034 
+ 00026382  0x00006e84 call  0x000067a3 
+ 00026383  0x00006e85 call  0x000067a9 , 0x00000005 
+ 00026384  0x00006e86 call  0x0000673e 
+ 00026385  0x00006e88 fetch  0x00000001 , 0x00004217 
+ 00026386  0x00006e89 icopy  0x00000013 
+ 00026387  0x00006e8a fetcht  0x00000002 , 0x00004215 
+ 00026388  0x00006e8b storet  0x00000002 , 0x0000018c 
+ 00026389  0x00006e8d copy  0x00000013 , 0x0000003f 
+ 00026390  0x00006e8e branch  0x00006709 , 0x00000034 
+ 00026391  0x00006e8f increase  0xffffffff , 0x00000013 
+ 00026392  0x00006e90 copy  0x00000002 , 0x00000011 
+ 00026393  0x00006e91 ifetch  0x00000001 , 0x00000011 
+ 00026394  0x00006e92 fetcht  0x00000001 , 0x00000184 
+ 00026395  0x00006e93 isub  0x00000002 , 0x0000003e 
+ 00026396  0x00006e94 call  0x00006725 , 0x00000005 
+ 00026397  0x00006e95 branch  0x00006721 , 0x00000002 
+ 00026398  0x00006e96 ifetch  0x00000001 , 0x00000011 
+ 00026399  0x00006e97 increase  0x00000001 , 0x0000003f 
+ 00026400  0x00006e98 istore  0x00000001 , 0x00000011 
+ 00026401  0x00006e9a fetcht  0x00000002 , 0x0000018c 
+ 00026402  0x00006e9b increase  0x00000022 , 0x00000002 
+ 00026403  0x00006e9c storet  0x00000002 , 0x0000018c 
+ 00026404  0x00006e9d branch  0x00006715 
+ 00026405  0x00006ea0 setarg  0x00000000 
+ 00026406  0x00006ea1 istore  0x00000001 , 0x00000011 
+ 00026407  0x00006ea2 fetch  0x00000001 , 0x00000185 
+ 00026408  0x00006ea3 istore  0x00000001 , 0x00000005 
+ 00026409  0x00006ea4 bne  0x00000033 , 0x00006733 
+ 00026410  0x00006ea5 arg  0x000041be , 0x00000012 
+ 00026411  0x00006ea7 ifetch  0x00000006 , 0x00000006 
+ 00026412  0x00006ea8 istore  0x00000008 , 0x00000005 
+ 00026413  0x00006ea9 setarg  0x00000000 
+ 00026414  0x00006eaa istore  0x00000008 , 0x00000005 
+ 00026415  0x00006eab copy  0x00000012 , 0x00000006 
+ 00026416  0x00006ead call  0x00007ebf 
+ 00026417  0x00006eae force  0x00000001 , 0x0000003e 
+ 00026418  0x00006eaf rtn 
+ 00026419  0x00006eb2 beq  0x00000036 , 0x00006737 
+ 00026420  0x00006eb3 beq  0x00000037 , 0x0000673b 
+ 00026421  0x00006eb4 arg  0x00004419 , 0x00000012 
+ 00026422  0x00006eb5 branch  0x0000672b 
+ 00026423  0x00006eb8 arg  0x000044d5 , 0x00000006 
+ 00026424  0x00006eb9 call  0x00007ebf 
+ 00026425  0x00006ebb arg  0x00004419 , 0x00000006 
+ 00026426  0x00006ebc branch  0x00006730 
+ 00026427  0x00006ebf arg  0x000044cd , 0x00000006 
+ 00026428  0x00006ec0 call  0x00007ebf 
+ 00026429  0x00006ec1 branch  0x00006739 
+ 00026430  0x00006ec5 call  0x00007fe9 
+ 00026431  0x00006ec6 fetch  0x00000001 , 0x00004217 
+ 00026432  0x00006ec7 rtn  0x00000034 
+ 00026433  0x00006ec8 fetch  0x00000002 , 0x00004682 
+ 00026434  0x00006ec9 bbit1  0x00000000 , 0x00006754 
+ 00026435  0x00006ecb bpatchx  0x00000097 , 0x00004032 
+ 00026436  0x00006ecc fetch  0x00000001 , 0x0000448e 
+ 00026437  0x00006ecd beq  0x00000000 , 0x0000674d 
+ 00026438  0x00006ece fetch  0x00000001 , 0x00000454 
+ 00026439  0x00006ecf compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026440  0x00006ed0 branch  0x0000674d , 0x00000001 
+ 00026441  0x00006ed1 compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026442  0x00006ed2 branch  0x00006752 , 0x00000001 
+ 00026443  0x00006ed3 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026444  0x00006ed4 branch  0x00006750 , 0x00000001 
+ 00026445  0x00006ed6 jam  0x00000035 , 0x00000185 
+ 00026446  0x00006ed7 fetch  0x00000006 , 0x0000044f 
+ 00026447  0x00006ed8 branch  0x00006757 
+ 00026448  0x00006edb jam  0x00000037 , 0x00000185 
+ 00026449  0x00006edc branch  0x00006757 
+ 00026450  0x00006ee0 jam  0x00000036 , 0x00000185 
+ 00026451  0x00006ee1 branch  0x00006757 
+ 00026452  0x00006ee5 bpatchx  0x00000098 , 0x00004033 
+ 00026453  0x00006ee6 jam  0x00000033 , 0x00000185 
+ 00026454  0x00006ee7 fetch  0x00000006 , 0x00000040 
+ 00026455  0x00006ee9 store  0x00000006 , 0x00000186 
+ 00026456  0x00006eea fetch  0x00000002 , 0x00004215 
+ 00026457  0x00006eeb ifetcht  0x00000001 , 0x0000003f 
+ 00026458  0x00006eec pincrease  0x00000001 
+ 00026459  0x00006eed store  0x00000002 , 0x0000018c 
+ 00026460  0x00006eee storet  0x00000001 , 0x00000184 
+ 00026461  0x00006eef fetch  0x00000001 , 0x00004217 
+ 00026462  0x00006ef0 icopy  0x00000013 
+ 00026463  0x00006ef2 fetch  0x00000002 , 0x0000018c 
+ 00026464  0x00006ef3 copy  0x0000003f , 0x00000011 
+ 00026465  0x00006ef4 call  0x0000676f 
+ 00026466  0x00006ef5 rtn  0x00000028 
+ 00026467  0x00006ef6 fetcht  0x00000002 , 0x0000018c 
+ 00026468  0x00006ef7 increase  0x00000022 , 0x00000002 
+ 00026469  0x00006ef8 storet  0x00000002 , 0x0000018c 
+ 00026470  0x00006ef9 increase  0xffffffff , 0x00000002 
+ 00026471  0x00006efa ifetch  0x00000001 , 0x00000002 
+ 00026472  0x00006efb store  0x00000001 , 0x00000184 
+ 00026473  0x00006efc increase  0xffffffff , 0x00000013 
+ 00026474  0x00006efd nbranch  0x0000675f , 0x00000005 
+ 00026475  0x00006efe fetch  0x00000001 , 0x00004217 
+ 00026476  0x00006eff pincrease  0xffffffff 
+ 00026477  0x00006f00 store  0x00000001 , 0x00000184 
+ 00026478  0x00006f01 rtn 
+ 00026479  0x00006f03 fetch  0x00000001 , 0x00000185 
+ 00026480  0x00006f04 bne  0x00000033 , 0x00006776 
+ 00026481  0x00006f06 arg  0x00000185 , 0x00000012 
+ 00026482  0x00006f07 arg  0x00000007 , 0x00000039 
+ 00026483  0x00006f08 call  0x00007f88 
+ 00026484  0x00006f09 branch  0x00007fe7 , 0x00000005 
+ 00026485  0x00006f0a rtn 
+ 00026486  0x00006f0d beq  0x00000036 , 0x00006779 
+ 00026487  0x00006f0e beq  0x00000037 , 0x00006794 
+ 00026488  0x00006f0f branch  0x00006771 
+ 00026489  0x00006f12 ifetcht  0x00000001 , 0x00000011 
+ 00026490  0x00006f13 isub  0x00000002 , 0x0000003e 
+ 00026491  0x00006f14 nrtn  0x00000005 
+ 00026492  0x00006f15 arg  0x00000ac2 , 0x00000005 
+ 00026493  0x00006f16 arg  0x00000010 , 0x00000039 
+ 00026494  0x00006f17 call  0x00007ed4 
+ 00026495  0x00006f18 fetch  0x00000003 , 0x00000452 
+ 00026496  0x00006f19 store  0x00000003 , 0x00000ac2 
+ 00026497  0x00006f1a call  0x0000678b 
+ 00026498  0x00006f1b fetch  0x00000002 , 0x00000adf 
+ 00026499  0x00006f1c byteswap  0x0000003f , 0x0000003f 
+ 00026500  0x00006f1d lshift8  0x0000003f , 0x00000002 
+ 00026501  0x00006f1e ifetch  0x00000001 , 0x00000006 
+ 00026502  0x00006f1f iadd  0x00000002 , 0x0000003f 
+ 00026503  0x00006f20 fetcht  0x00000003 , 0x0000044f 
+ 00026504  0x00006f21 isub  0x00000002 , 0x0000003e 
+ 00026505  0x00006f22 branch  0x00007fe7 , 0x00000005 
+ 00026506  0x00006f23 rtn 
+ 00026507  0x00006f27 arg  0x00000ac2 , 0x00000006 
+ 00026508  0x00006f28 call  0x00007486 
+ 00026509  0x00006f2a ifetch  0x00000001 , 0x00000011 
+ 00026510  0x00006f2b call  0x00007487 
+ 00026511  0x00006f2c force  0x00000038 , 0x00000036 
+ 00026512  0x00006f2d force  0x00000000 , 0x00000036 
+ 00026513  0x00006f2e call  0x0000741d 
+ 00026514  0x00006f2f arg  0x00000ad2 , 0x00000005 
+ 00026515  0x00006f30 branch  0x00007497 
+ 00026516  0x00006f33 ifetcht  0x00000001 , 0x00000011 
+ 00026517  0x00006f34 isub  0x00000002 , 0x0000003e 
+ 00026518  0x00006f35 nrtn  0x00000005 
+ 00026519  0x00006f36 copy  0x00000006 , 0x00000011 
+ 00026520  0x00006f37 add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026521  0x00006f38 arg  0x000044cd , 0x00000012 
+ 00026522  0x00006f39 arg  0x00000008 , 0x00000039 
+ 00026523  0x00006f3a call  0x00007f88 
+ 00026524  0x00006f3b branch  0x00007fe7 , 0x00000005 
+ 00026525  0x00006f3c copy  0x00000013 , 0x00000011 
+ 00026526  0x00006f3d arg  0x000044d5 , 0x00000012 
+ 00026527  0x00006f3e arg  0x00000008 , 0x00000039 
+ 00026528  0x00006f3f call  0x00007f88 
+ 00026529  0x00006f40 branch  0x00007fe7 , 0x00000005 
+ 00026530  0x00006f41 rtn 
+ 00026531  0x00006f44 fetch  0x00000002 , 0x00004215 
+ 00026532  0x00006f45 ifetcht  0x00000001 , 0x0000003f 
+ 00026533  0x00006f46 pincrease  0x00000022 
+ 00026534  0x00006f47 ifetch  0x00000001 , 0x0000003f 
+ 00026535  0x00006f48 isub  0x00000002 , 0x0000003e 
+ 00026536  0x00006f49 rtn 
+ 00026537  0x00006f4c fetch  0x00000001 , 0x00004217 
+ 00026538  0x00006f4d icopy  0x00000039 
+ 00026539  0x00006f4e fetcht  0x00000002 , 0x00004215 
+ 00026540  0x00006f4f setarg  0x00000000 
+ 00026541  0x00006f51 istore  0x00000001 , 0x00000002 
+ 00026542  0x00006f52 increase  0x00000022 , 0x00000002 
+ 00026543  0x00006f53 pincrease  0x00000001 
+ 00026544  0x00006f54 loop  0x000067ad 
+ 00026545  0x00006f55 rtn 
+ 00026546  0x00006f58 bpatchx  0x00000099 , 0x00004033 
+ 00026547  0x00006f59 call  0x0000673e 
+ 00026548  0x00006f5a fetch  0x00000001 , 0x00000030 
+ 00026549  0x00006f5b setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026550  0x00006f5c store  0x00000001 , 0x00000030 
+ 00026551  0x00006f5d nbranch  0x000067bc , 0x00000028 
+ 00026552  0x00006f5e add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026553  0x00006f60 arg  0x000041be , 0x00000005 
+ 00026554  0x00006f61 call  0x00007ebf 
+ 00026555  0x00006f62 branch  0x000067d7 
+ 00026556  0x00006f64 jam  0x00000000 , 0x000041bd 
+ 00026557  0x00006f65 rtn 
+ 00026558  0x00006f68 fetch  0x00000009 , 0x000044cb 
+ 00026559  0x00006f69 branch  0x000067ca , 0x00000034 
+ 00026560  0x00006f6a call  0x0000673e 
+ 00026561  0x00006f6b nbranch  0x000067ca , 0x00000028 
+ 00026562  0x00006f6c fetch  0x00000002 , 0x0000018c 
+ 00026563  0x00006f6d add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026564  0x00006f6e arg  0x000044d5 , 0x00000005 
+ 00026565  0x00006f6f call  0x00007ebf 
+ 00026566  0x00006f70 arg  0x00004419 , 0x00000005 
+ 00026567  0x00006f71 call  0x00007ebf 
+ 00026568  0x00006f72 jam  0x00000001 , 0x00004429 
+ 00026569  0x00006f73 rtn 
+ 00026570  0x00006f76 jam  0x00000000 , 0x00004429 
+ 00026571  0x00006f77 rtn 
+ 00026572  0x00006f7b fetch  0x00000006 , 0x0000044f 
+ 00026573  0x00006f7c store  0x00000006 , 0x00000186 
+ 00026574  0x00006f7d jam  0x00000034 , 0x00000185 
+ 00026575  0x00006f7e branch  0x000067d3 
+ 00026576  0x00006f80 fetch  0x00000006 , 0x00000040 
+ 00026577  0x00006f81 store  0x00000006 , 0x00000186 
+ 00026578  0x00006f82 jam  0x00000033 , 0x00000185 
+ 00026579  0x00006f84 fetch  0x00000001 , 0x00004092 
+ 00026580  0x00006f85 beq  0x0000000a , 0x0000670b 
+ 00026581  0x00006f86 bbit1  0x00000006 , 0x000042da 
+ 00026582  0x00006f87 rtn 
+ 00026583  0x00006f8b fetch  0x00000008 , 0x000041be 
+ 00026584  0x00006f8c fetcht  0x00000008 , 0x000041c6 
+ 00026585  0x00006f8d ior  0x00000002 , 0x0000003f 
+ 00026586  0x00006f8e rtn  0x00000034 
+ 00026587  0x00006f8f jam  0x00000001 , 0x000041bd 
+ 00026588  0x00006f90 rtn 
+ 00026589  0x00006f98 bpatchx  0x0000009a , 0x00004033 
+ 00026590  0x00006f99 set1  0x00000007 , 0x00000002 
+ 00026591  0x00006f9a call  0x0000681d 
+ 00026592  0x00006f9b nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00026593  0x00006fa1 bpatchx  0x0000009b , 0x00004033 
+ 00026594  0x00006fa2 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026595  0x00006fa3 rtn  0x00000005 
+ 00026596  0x00006fa4 isolate0  0x00000007 , 0x00000002 
+ 00026597  0x00006fa5 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026598  0x00006fa6 fetch  0x00000004 , 0x000000a1 
+ 00026599  0x00006fa7 qsetflag  0x00000001 , 0x0000003f 
+ 00026600  0x00006fa8 store  0x00000004 , 0x000000a1 
+ 00026601  0x00006fa9 fetch  0x00000004 , 0x000000a5 
+ 00026602  0x00006faa nqsetflag  0x00000001 , 0x0000003f 
+ 00026603  0x00006fab store  0x00000004 , 0x000000a5 
+ 00026604  0x00006fac rtn 
+ 00026605  0x00006fb0 bpatchx  0x0000009c , 0x00004033 
+ 00026606  0x00006fb1 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026607  0x00006fb2 rtn  0x00000005 
+ 00026608  0x00006fb3 isolate0  0x00000007 , 0x00000002 
+ 00026609  0x00006fb4 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026610  0x00006fb5 fetch  0x00000004 , 0x000000a1 
+ 00026611  0x00006fb6 qset0  0x0000003f 
+ 00026612  0x00006fb7 store  0x00000004 , 0x000000a1 
+ 00026613  0x00006fb8 fetch  0x00000004 , 0x000000a5 
+ 00026614  0x00006fb9 qset0  0x0000003f 
+ 00026615  0x00006fba store  0x00000004 , 0x000000a5 
+ 00026616  0x00006fbb rtn 
+ 00026617  0x00006fbf call  0x000067ed 
+ 00026618  0x00006fc0 branch  0x000067fe 
+ 00026619  0x00006fc4 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026620  0x00006fc5 rtn  0x00000005 
+ 00026621  0x00006fc6 ncall  0x000067e1 , 0x0000002b 
+ 00026622  0x00006fc9 arg  0x0000807c , 0x00000005 
+ 00026623  0x00006fca call  0x00006830 
+ 00026624  0x00006fcb setflip  0x00000007 , 0x00000002 
+ 00026625  0x00006fcc arg  0x00008078 , 0x00000005 
+ 00026626  0x00006fcd call  0x00006830 
+ 00026627  0x00006fce set0  0x00000007 , 0x00000002 
+ 00026628  0x00006fcf arg  0x00008070 , 0x00000005 
+ 00026629  0x00006fd0 branch  0x00006830 
+ 00026630  0x00006fd4 arg  0x0000807c , 0x00000005 
+ 00026631  0x00006fd5 call  0x00006830 
+ 00026632  0x00006fd6 set0  0x00000007 , 0x00000002 
+ 00026633  0x00006fd7 arg  0x00008078 , 0x00000005 
+ 00026634  0x00006fd8 call  0x00006830 
+ 00026635  0x00006fd9 set0  0x00000007 , 0x00000002 
+ 00026636  0x00006fda arg  0x00008070 , 0x00000005 
+ 00026637  0x00006fdb branch  0x00006830 
+ 00026638  0x00006fe0 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026639  0x00006fe1 rtn  0x00000005 
+ 00026640  0x00006fe2 setflip  0x00000007 , 0x00000002 
+ 00026641  0x00006fe3 call  0x0000682f 
+ 00026642  0x00006fe5 set1  0x00000007 , 0x00000002 
+ 00026643  0x00006fe6 arg  0x00008070 , 0x00000005 
+ 00026644  0x00006fe7 branch  0x00006830 
+ 00026645  0x00006fea and  0x00000002 , 0x00000007 , 0x00000007 
+ 00026646  0x00006feb rshift3  0x00000002 , 0x0000003f 
+ 00026647  0x00006fec and_into  0x00000003 , 0x0000003f 
+ 00026648  0x00006fed iadd  0x00000005 , 0x00000005 
+ 00026649  0x00006fee ifetch  0x00000001 , 0x00000005 
+ 00026650  0x00006fef rtn 
+ 00026651  0x00006ff2 arg  0x00008074 , 0x00000005 
+ 00026652  0x00006ff3 branch  0x0000681e 
+ 00026653  0x00006ff8 arg  0x0000811c , 0x00000005 
+ 00026654  0x00006ffa call  0x00006815 
+ 00026655  0x00006ffb isolate1  0x00000007 , 0x00000002 
+ 00026656  0x00006ffc branch  0x00006823 , 0x00000001 
+ 00026657  0x00006ffd qisolate0  0x0000003f 
+ 00026658  0x00006ffe rtn 
+ 00026659  0x00007000 qisolate1  0x0000003f 
+ 00026660  0x00007001 rtn 
+ 00026661  0x00007004 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026662  0x00007005 rtn  0x00000005 
+ 00026663  0x00007006 isolate1  0x00000007 , 0x0000003e 
+ 00026664  0x00007007 branch  0x0000682c 
+ 00026665  0x0000700a sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026666  0x0000700b rtn  0x00000005 
+ 00026667  0x0000700c isolate0  0x00000007 , 0x0000003e 
+ 00026668  0x00007010 setarg  0x00000000 
+ 00026669  0x00007011 nsetflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00026670  0x00007012 ixor  0x00000002 , 0x00000002 
+ 00026671  0x00007016 arg  0x00008074 , 0x00000005 
+ 00026672  0x0000701a call  0x00006815 
+ 00026673  0x0000701b isolate1  0x00000007 , 0x00000002 
+ 00026674  0x0000701c qsetflag  0x00000001 , 0x0000003f 
+ 00026675  0x0000701d istore  0x00000001 , 0x00000005 
+ 00026676  0x0000701e rtn 
+ 00026677  0x00007021 arg  0xffffffff , 0x00000011 
+ 00026678  0x00007022 hfetch  0x00000001 , 0x00008081 
+ 00026679  0x00007023 compare  0x00000002 , 0x0000003f , 0x00000003 
+ 00026680  0x00007024 call  0x00006878 , 0x00000001 
+ 00026681  0x00007026 compare  0x00000001 , 0x0000003f , 0x00000003 
+ 00026682  0x00007027 call  0x0000687a , 0x00000001 
+ 00026683  0x00007029 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00026684  0x0000702a call  0x0000687a , 0x00000001 
+ 00026685  0x0000702c isolate1  0x00000002 , 0x0000003f 
+ 00026686  0x0000702d call  0x00006874 , 0x00000001 
+ 00026687  0x0000702f isolate1  0x00000003 , 0x0000003f 
+ 00026688  0x00007030 call  0x00006876 , 0x00000001 
+ 00026689  0x00007032 isolate1  0x00000004 , 0x0000003f 
+ 00026690  0x00007033 call  0x0000687c , 0x00000001 
+ 00026691  0x00007035 isolate1  0x00000006 , 0x0000003f 
+ 00026692  0x00007036 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00026693  0x00007038 isolate1  0x00000007 , 0x0000003f 
+ 00026694  0x00007039 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026695  0x0000703b hfetch  0x00000001 , 0x00008082 
+ 00026696  0x0000703c isolate1  0x00000000 , 0x0000003f 
+ 00026697  0x0000703d nsetflag  0x00000001 , 0x0000001b , 0x00000011 
+ 00026698  0x0000703e isolate1  0x00000001 , 0x0000003f 
+ 00026699  0x0000703f nsetflag  0x00000001 , 0x0000001c , 0x00000011 
+ 00026700  0x00007040 isolate1  0x00000002 , 0x0000003f 
+ 00026701  0x00007041 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00026702  0x00007042 isolate1  0x00000003 , 0x0000003f 
+ 00026703  0x00007043 nsetflag  0x00000001 , 0x00000008 , 0x00000011 
+ 00026704  0x00007044 isolate1  0x00000004 , 0x0000003f 
+ 00026705  0x00007045 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026706  0x00007046 isolate1  0x00000005 , 0x0000003f 
+ 00026707  0x00007047 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026708  0x00007048 isolate1  0x00000006 , 0x0000003f 
+ 00026709  0x00007049 nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026710  0x0000704a isolate1  0x00000007 , 0x0000003f 
+ 00026711  0x0000704b nsetflag  0x00000001 , 0x00000017 , 0x00000011 
+ 00026712  0x0000704d hfetch  0x00000001 , 0x00008080 
+ 00026713  0x0000704e isolate1  0x00000000 , 0x0000003f 
+ 00026714  0x0000704f nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026715  0x00007050 isolate1  0x00000001 , 0x0000003f 
+ 00026716  0x00007051 nsetflag  0x00000001 , 0x00000006 , 0x00000011 
+ 00026717  0x00007052 isolate1  0x00000002 , 0x0000003f 
+ 00026718  0x00007053 nsetflag  0x00000001 , 0x00000007 , 0x00000011 
+ 00026719  0x00007054 isolate1  0x00000003 , 0x0000003f 
+ 00026720  0x00007055 nsetflag  0x00000001 , 0x00000012 , 0x00000011 
+ 00026721  0x00007056 isolate1  0x00000004 , 0x0000003f 
+ 00026722  0x00007057 nsetflag  0x00000001 , 0x00000013 , 0x00000011 
+ 00026723  0x00007058 isolate1  0x00000005 , 0x0000003f 
+ 00026724  0x00007059 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026725  0x0000705a isolate1  0x00000006 , 0x0000003f 
+ 00026726  0x0000705b nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026727  0x0000705c isolate1  0x00000007 , 0x0000003f 
+ 00026728  0x0000705d nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026729  0x0000705f hfetch  0x00000001 , 0x00008062 
+ 00026730  0x00007060 isolate1  0x00000004 , 0x0000003f 
+ 00026731  0x00007061 call  0x0000687e , 0x00000001 
+ 00026732  0x00007062 bpatchx  0x0000009d , 0x00004033 
+ 00026733  0x00007064 hfetch  0x00000004 , 0x00008078 
+ 00026734  0x00007065 hfetcht  0x00000004 , 0x0000807c 
+ 00026735  0x00007066 ior  0x00000002 , 0x0000003f 
+ 00026736  0x00007067 invert  0x0000003f , 0x0000003f 
+ 00026737  0x00007068 iand  0x00000011 , 0x0000003f 
+ 00026738  0x0000706a hstore  0x00000004 , 0x00008070 
+ 00026739  0x0000706b rtn 
+ 00026740  0x0000706f arg  0x00000006 , 0x00000007 
+ 00026741  0x00007070 branch  0x00006884 
+ 00026742  0x00007072 arg  0x00000009 , 0x00000007 
+ 00026743  0x00007073 branch  0x00006882 
+ 00026744  0x00007075 arg  0x00000017 , 0x00000007 
+ 00026745  0x00007076 branch  0x00006882 
+ 00026746  0x00007078 arg  0x00000019 , 0x00000007 
+ 00026747  0x00007079 branch  0x00006884 
+ 00026748  0x0000707b arg  0x0000001e , 0x00000007 
+ 00026749  0x0000707c branch  0x00006884 
+ 00026750  0x0000707e arg  0x00000002 , 0x00000007 
+ 00026751  0x0000707f branch  0x00006884 
+ 00026752  0x00007081 arg  0x00000001 , 0x00000039 
+ 00026753  0x00007082 branch  0x00006885 
+ 00026754  0x00007084 arg  0x00000004 , 0x00000039 
+ 00026755  0x00007085 branch  0x00006885 
+ 00026756  0x00007087 arg  0x00000002 , 0x00000039 
+ 00026757  0x00007089 qset0  0x00000011 
+ 00026758  0x0000708a increase  0x00000001 , 0x00000007 
+ 00026759  0x0000708b loop  0x00006885 
+ 00026760  0x0000708c rtn 
+ 00026761  0x00007095 call  0x00006895 
+ 00026762  0x00007096 arg  0x00000006 , 0x00000002 
+ 00026763  0x00007097 branch  0x0000680e 
+ 00026764  0x0000709a call  0x00006889 
+ 00026765  0x0000709b arg  0x00000006 , 0x00000002 
+ 00026766  0x0000709c branch  0x00006825 
+ 00026767  0x000070a1 call  0x00006895 
+ 00026768  0x000070a2 hfetch  0x00000001 , 0x00008078 
+ 00026769  0x000070a3 set1  0x00000007 , 0x0000003f 
+ 00026770  0x000070a4 hstore  0x00000001 , 0x00008078 
+ 00026771  0x000070a5 arg  0x00000007 , 0x00000002 
+ 00026772  0x000070a6 branch  0x000067fb 
+ 00026773  0x000070a9 hfetch  0x00000001 , 0x00008081 
+ 00026774  0x000070aa and_into  0x000000fb , 0x0000003f 
+ 00026775  0x000070ab hstore  0x00000001 , 0x00008081 
+ 00026776  0x000070ac rtn 
+ 00026777  0x000070af hfetch  0x00000001 , 0x00008081 
+ 00026778  0x000070b0 isolate1  0x00000002 , 0x0000003f 
+ 00026779  0x000070b1 rtn 
+ 00026780  0x000070b4 call  0x0000666a 
+ 00026781  0x000070b5 setarg  0x000007e0 
+ 00026782  0x000070b6 arg  0x00004150 , 0x00000011 
+ 00026783  0x000070b7 arg  0x00000002 , 0x00000002 
+ 00026784  0x000070b8 call  0x000066b3 
+ 00026785  0x000070b9 branch  0x0000666d 
+ 00026786  0x000070bd call  0x0000666a 
+ 00026787  0x000070be setarg  0x000007e2 
+ 00026788  0x000070bf arg  0x0000421d , 0x00000011 
+ 00026789  0x000070c0 arg  0x0000000e , 0x00000002 
+ 00026790  0x000070c1 call  0x000066b3 
+ 00026791  0x000070c2 branch  0x0000666d 
+ 00026792  0x000070c7 bpatchx  0x0000009e , 0x00004033 
+ 00026793  0x000070c9 call  0x000068a2 
+ 00026794  0x000070cb fetch  0x00000001 , 0x0000422d 
+ 00026795  0x000070cc beq  0x00000000 , 0x000068af 
+ 00026796  0x000070cd beq  0x00000001 , 0x000068c3 
+ 00026797  0x000070ce beq  0x00000002 , 0x000068d7 
+ 00026798  0x000070cf rtn 
+ 00026799  0x000070d2 fetcht  0x00000002 , 0x00004229 
+ 00026800  0x000070d3 setarg  0x0000aa55 
+ 00026801  0x000070d4 isub  0x00000002 , 0x0000003e 
+ 00026802  0x000070d5 branch  0x000068b8 , 0x00000005 
+ 00026803  0x000070d6 setarg  0x00004dfa 
+ 00026804  0x000070d7 store  0x00000002 , 0x00004227 
+ 00026805  0x000070d8 setarg  0x00004894 
+ 00026806  0x000070d9 store  0x00000002 , 0x00004221 
+ 00026807  0x000070da branch  0x000068c0 
+ 00026808  0x000070dd fetch  0x00000002 , 0x00004227 
+ 00026809  0x000070de nbranch  0x000068bc , 0x00000034 
+ 00026810  0x000070df setarg  0x00004dfa 
+ 00026811  0x000070e0 store  0x00000002 , 0x00004227 
+ 00026812  0x000070e2 fetch  0x00000002 , 0x00004221 
+ 00026813  0x000070e3 nbranch  0x000068c0 , 0x00000034 
+ 00026814  0x000070e4 setarg  0x00004894 
+ 00026815  0x000070e5 store  0x00000002 , 0x00004221 
+ 00026816  0x000070e7 setarg  0x00000064 
+ 00026817  0x000070e8 store  0x00000002 , 0x0000422b 
+ 00026818  0x000070e9 rtn 
+ 00026819  0x000070ec fetcht  0x00000002 , 0x00004229 
+ 00026820  0x000070ed setarg  0x0000aa55 
+ 00026821  0x000070ee isub  0x00000002 , 0x0000003e 
+ 00026822  0x000070ef branch  0x000068cc , 0x00000005 
+ 00026823  0x000070f0 setarg  0x00005932 
+ 00026824  0x000070f1 store  0x00000002 , 0x00004225 
+ 00026825  0x000070f2 setarg  0x00004323 
+ 00026826  0x000070f3 store  0x00000002 , 0x0000421f 
+ 00026827  0x000070f4 branch  0x000068d4 
+ 00026828  0x000070f7 fetch  0x00000002 , 0x00004225 
+ 00026829  0x000070f8 nbranch  0x000068d0 , 0x00000034 
+ 00026830  0x000070f9 setarg  0x00005932 
+ 00026831  0x000070fa store  0x00000002 , 0x00004225 
+ 00026832  0x000070fc fetch  0x00000002 , 0x0000421f 
+ 00026833  0x000070fd nbranch  0x000068d4 , 0x00000034 
+ 00026834  0x000070fe setarg  0x00004323 
+ 00026835  0x000070ff store  0x00000002 , 0x0000421f 
+ 00026836  0x00007101 setarg  0x00000190 
+ 00026837  0x00007102 store  0x00000002 , 0x0000422b 
+ 00026838  0x00007103 rtn 
+ 00026839  0x00007106 fetcht  0x00000002 , 0x00004229 
+ 00026840  0x00007107 setarg  0x0000aa55 
+ 00026841  0x00007108 isub  0x00000002 , 0x0000003e 
+ 00026842  0x00007109 branch  0x000068e0 , 0x00000005 
+ 00026843  0x0000710a setarg  0x00006946 
+ 00026844  0x0000710b store  0x00000002 , 0x00004223 
+ 00026845  0x0000710c setarg  0x00005377 
+ 00026846  0x0000710d store  0x00000002 , 0x0000421d 
+ 00026847  0x0000710e branch  0x000068e8 
+ 00026848  0x00007111 fetch  0x00000002 , 0x00004223 
+ 00026849  0x00007112 nbranch  0x000068e4 , 0x00000034 
+ 00026850  0x00007113 setarg  0x00006946 
+ 00026851  0x00007114 store  0x00000002 , 0x00004223 
+ 00026852  0x00007116 fetch  0x00000002 , 0x0000421d 
+ 00026853  0x00007117 nbranch  0x000068e8 , 0x00000034 
+ 00026854  0x00007118 setarg  0x00005377 
+ 00026855  0x00007119 store  0x00000002 , 0x0000421d 
+ 00026856  0x0000711b setarg  0x00000032 
+ 00026857  0x0000711c store  0x00000002 , 0x0000422b 
+ 00026858  0x0000711d rtn 
+ 00026859  0x00007121 fetch  0x00000001 , 0x0000422d 
+ 00026860  0x00007122 beq  0x00000000 , 0x000068f0 
+ 00026861  0x00007123 beq  0x00000001 , 0x000068f2 
+ 00026862  0x00007124 beq  0x00000002 , 0x000068f4 
+ 00026863  0x00007125 rtn 
+ 00026864  0x00007127 jam  0x000000bf , 0x00008971 
+ 00026865  0x00007128 branch  0x000068f8 
+ 00026866  0x0000712a jam  0x000000af , 0x00008971 
+ 00026867  0x0000712b branch  0x000068f8 
+ 00026868  0x0000712d jam  0x0000008f , 0x00008971 
+ 00026869  0x0000712e fetch  0x00000001 , 0x0000422e 
+ 00026870  0x0000712f hstore  0x00000001 , 0x00008973 
+ 00026871  0x00007130 branch  0x000068f8 
+ 00026872  0x00007132 bpatchx  0x0000009f , 0x00004033 
+ 00026873  0x00007133 hfetch  0x00000001 , 0x00008053 
+ 00026874  0x00007134 set1  0x00000007 , 0x0000003f 
+ 00026875  0x00007135 hstore  0x00000001 , 0x00008053 
+ 00026876  0x00007136 hfetch  0x00000001 , 0x00008973 
+ 00026877  0x00007137 or_into  0x00000030 , 0x0000003f 
+ 00026878  0x00007138 hstore  0x00000001 , 0x00008973 
+ 00026879  0x00007139 jam  0x0000007c , 0x00008906 
+ 00026880  0x0000713a jam  0x000000aa , 0x00008972 
+ 00026881  0x0000713b nop  0x00001388 
+ 00026882  0x0000713c hfetcht  0x00000002 , 0x00008150 
+ 00026883  0x0000713d hfetch  0x00000001 , 0x00008053 
+ 00026884  0x0000713e set0  0x00000007 , 0x0000003f 
+ 00026885  0x0000713f hstore  0x00000001 , 0x00008053 
+ 00026886  0x00007140 storet  0x00000002 , 0x0000422f 
+ 00026887  0x00007141 rtn 
+ 00026888  0x00007144 bpatchx  0x000000a0 , 0x00004034 
+ 00026889  0x00007145 fetch  0x00000001 , 0x0000422d 
+ 00026890  0x00007146 beq  0x00000000 , 0x0000690e 
+ 00026891  0x00007147 beq  0x00000001 , 0x00006912 
+ 00026892  0x00007148 beq  0x00000002 , 0x00006916 
+ 00026893  0x00007149 rtn 
+ 00026894  0x0000714c fetch  0x00000002 , 0x00004227 
+ 00026895  0x0000714d fetcht  0x00000002 , 0x00004221 
+ 00026896  0x0000714e arg  0x000000c8 , 0x00000013 
+ 00026897  0x0000714f branch  0x0000691a 
+ 00026898  0x00007152 fetch  0x00000002 , 0x00004225 
+ 00026899  0x00007153 fetcht  0x00000002 , 0x0000421f 
+ 00026900  0x00007154 arg  0x00000064 , 0x00000013 
+ 00026901  0x00007155 branch  0x0000691a 
+ 00026902  0x00007158 fetch  0x00000002 , 0x00004223 
+ 00026903  0x00007159 fetcht  0x00000002 , 0x0000421d 
+ 00026904  0x0000715a arg  0x00000032 , 0x00000013 
+ 00026905  0x0000715b branch  0x0000691a 
+ 00026906  0x0000715e isub  0x00000002 , 0x00000011 
+ 00026907  0x0000715f fetch  0x00000002 , 0x0000422f 
+ 00026908  0x00007160 isub  0x00000002 , 0x0000003f 
+ 00026909  0x00007161 nbranch  0x00006927 , 0x00000002 
+ 00026910  0x00007162 fetcht  0x00000002 , 0x0000422b 
+ 00026911  0x00007163 imul32  0x00000002 , 0x00000012 
+ 00026912  0x00007164 copy  0x00000013 , 0x0000003f 
+ 00026913  0x00007165 imul32  0x00000011 , 0x0000003f 
+ 00026914  0x00007166 iadd  0x00000012 , 0x0000003f 
+ 00026915  0x00007168 idiv  0x00000011 
+ 00026916  0x00007169 call  0x00007f86 
+ 00026917  0x0000716a quotient  0x0000003f 
+ 00026918  0x0000716b rtn 
+ 00026919  0x0000716e copy  0x00000002 , 0x0000003f 
+ 00026920  0x0000716f fetcht  0x00000002 , 0x0000422f 
+ 00026921  0x00007170 isub  0x00000002 , 0x0000003f 
+ 00026922  0x00007171 fetcht  0x00000002 , 0x0000422b 
+ 00026923  0x00007172 imul32  0x00000002 , 0x00000012 
+ 00026924  0x00007173 copy  0x00000013 , 0x0000003f 
+ 00026925  0x00007174 imul32  0x00000011 , 0x0000003f 
+ 00026926  0x00007175 isub  0x00000012 , 0x0000003f 
+ 00026927  0x00007176 branch  0x00006923 
+ 00026928  0x00007182 ifetch  0x00000008 , 0x00000011 
+ 00026929  0x00007183 store  0x00000008 , 0x00000a9a 
+ 00026930  0x00007184 fetch  0x00000002 , 0x00000a9a 
+ 00026931  0x00007185 fetcht  0x00000002 , 0x00000a9c 
+ 00026932  0x00007186 isub  0x00000002 , 0x00000011 
+ 00026933  0x00007187 fetch  0x00000002 , 0x00000aa0 
+ 00026934  0x00007188 isub  0x00000002 , 0x00000012 
+ 00026935  0x00007189 fetcht  0x00000002 , 0x00000a9e 
+ 00026936  0x0000718a isub  0x00000002 , 0x0000003e 
+ 00026937  0x0000718b ncall  0x00006940 , 0x00000002 
+ 00026938  0x0000718c mul32  0x00000012 , 0x00000064 , 0x0000003f 
+ 00026939  0x0000718d idiv  0x00000011 
+ 00026940  0x0000718e call  0x00007f86 
+ 00026941  0x0000718f quotient  0x0000003f 
+ 00026942  0x00007190 call  0x00006944 , 0x00000034 
+ 00026943  0x00007191 rtn 
+ 00026944  0x00007193 fetch  0x00000001 , 0x00004231 
+ 00026945  0x00007194 set1  0x00000000 , 0x0000003f 
+ 00026946  0x00007195 store  0x00000001 , 0x00004231 
+ 00026947  0x00007196 rtn 
+ 00026948  0x00007198 fetcht  0x00000001 , 0x00004231 
+ 00026949  0x00007199 set1  0x00000001 , 0x00000002 
+ 00026950  0x0000719a storet  0x00000001 , 0x00004231 
+ 00026951  0x0000719b rtn 
+ 00026952  0x000071a1 fetch  0x00000002 , 0x0000423d 
+ 00026953  0x000071a2 ifetch  0x00000001 , 0x0000003f 
+ 00026954  0x000071a4 rtn  0x00000034 
+ 00026955  0x000071a5 copy  0x0000003f , 0x00000039 
+ 00026956  0x000071a7 fetch  0x00000002 , 0x0000423d 
+ 00026957  0x000071a8 increase  0x00000003 , 0x0000003f 
+ 00026958  0x000071a9 copy  0x0000003f , 0x00000011 
+ 00026959  0x000071ab ifetcht  0x00000001 , 0x00000011 
+ 00026960  0x000071ac call  0x000067fb 
+ 00026961  0x000071ad increase  0x00000001 , 0x00000011 
+ 00026962  0x000071ae loop  0x0000694f 
+ 00026963  0x000071b0 rtn 
+ 00026964  0x000071b3 fetch  0x00000002 , 0x0000423d 
+ 00026965  0x000071b4 increase  0x00000003 , 0x0000003f 
+ 00026966  0x000071b5 copy  0x0000003f , 0x00000011 
+ 00026967  0x000071b7 force  0x00000000 , 0x00000012 
+ 00026968  0x000071b8 jam  0x00000000 , 0x00000b12 
+ 00026969  0x000071ba ifetcht  0x00000001 , 0x00000011 
+ 00026970  0x000071bb call  0x0000681d 
+ 00026971  0x000071bc bpatchx  0x000000a1 , 0x00004034 
+ 00026972  0x000071bd fetch  0x00000002 , 0x00000b12 
+ 00026973  0x000071be copy  0x00000012 , 0x00000007 
+ 00026974  0x000071bf qsetflag  0x00000001 , 0x0000003f 
+ 00026975  0x000071c0 store  0x00000002 , 0x00000b12 
+ 00026976  0x000071c1 increase  0x00000001 , 0x00000011 
+ 00026977  0x000071c2 increase  0x00000001 , 0x00000012 
+ 00026978  0x000071c3 fetch  0x00000002 , 0x0000423d 
+ 00026979  0x000071c4 ifetch  0x00000001 , 0x0000003f 
+ 00026980  0x000071c6 ixor  0x00000012 , 0x0000003e 
+ 00026981  0x000071c7 nbranch  0x00006959 , 0x00000005 
+ 00026982  0x000071c8 fetch  0x00000002 , 0x00000b12 
+ 00026983  0x000071c9 fetcht  0x00000002 , 0x00000b14 
+ 00026984  0x000071ca ixor  0x00000002 , 0x0000003e 
+ 00026985  0x000071cb rtn  0x00000005 
+ 00026986  0x000071cc enable  0x00000028 
+ 00026987  0x000071cd rtn 
+ 00026988  0x000071d0 fetch  0x00000002 , 0x0000423d 
+ 00026989  0x000071d1 ifetch  0x00000001 , 0x0000003f 
+ 00026990  0x000071d3 rtn  0x00000034 
+ 00026991  0x000071d4 copy  0x0000003f , 0x00000039 
+ 00026992  0x000071d5 fetch  0x00000002 , 0x0000423d 
+ 00026993  0x000071d6 increase  0x00000003 , 0x0000003f 
+ 00026994  0x000071d7 copy  0x0000003f , 0x00000011 
+ 00026995  0x000071d9 ifetcht  0x00000001 , 0x00000011 
+ 00026996  0x000071da call  0x000067dd 
+ 00026997  0x000071db increase  0x00000001 , 0x00000011 
+ 00026998  0x000071dc loop  0x00006973 
+ 00026999  0x000071de rtn 
+ 00027000  0x000071e1 arg  0x00000009 , 0x00000007 
+ 00027001  0x000071e2 call  0x00007f16 
+ 00027002  0x000071e3 nrtn  0x00000034 
+ 00027003  0x000071e4 setarg  0x00000020 
+ 00027004  0x000071e5 arg  0x00000009 , 0x00000007 
+ 00027005  0x000071e6 call  0x00007f08 
+ 00027006  0x000071e7 disable  0x00000028 
+ 00027007  0x000071e8 call  0x0000696c 
+ 00027008  0x000071e9 bpatchx  0x000000a2 , 0x00004034 
+ 00027009  0x000071ea fetch  0x00000002 , 0x0000423d 
+ 00027010  0x000071eb ifetch  0x00000001 , 0x0000003f 
+ 00027011  0x000071ed rtn  0x00000034 
+ 00027012  0x000071ee call  0x00006954 
+ 00027013  0x000071ef nbranch  0x00007d02 , 0x00000028 
+ 00027014  0x000071f0 call  0x00007d00 
+ 00027015  0x000071f1 disable  0x00000028 
+ 00027016  0x000071f2 fetch  0x00000002 , 0x00000b12 
+ 00027017  0x000071f3 store  0x00000002 , 0x00000b19 
+ 00027018  0x000071f4 jam  0x00000000 , 0x00000b1b 
+ 00027019  0x000071f5 force  0x00000000 , 0x00000007 
+ 00027020  0x000071f7 fetch  0x00000002 , 0x00000b14 
+ 00027021  0x000071f8 rshift  0x0000003f , 0x00000002 
+ 00027022  0x000071f9 storet  0x00000002 , 0x00000b14 
+ 00027023  0x000071fa and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00027024  0x000071fb fetcht  0x00000002 , 0x00000b19 
+ 00027025  0x000071fc and  0x00000002 , 0x00000001 , 0x00000011 
+ 00027026  0x000071fd rshift  0x00000002 , 0x00000002 
+ 00027027  0x000071fe storet  0x00000002 , 0x00000b19 
+ 00027028  0x000071ff ixor  0x00000011 , 0x0000003e 
+ 00027029  0x00007200 ncall  0x000069a1 , 0x00000005 
+ 00027030  0x00007201 fetch  0x00000002 , 0x0000423d 
+ 00027031  0x00007202 ifetch  0x00000001 , 0x0000003f 
+ 00027032  0x00007204 fetcht  0x00000001 , 0x00000b1b 
+ 00027033  0x00007205 increase  0x00000001 , 0x00000002 
+ 00027034  0x00007206 storet  0x00000001 , 0x00000b1b 
+ 00027035  0x00007207 copy  0x00000002 , 0x00000007 
+ 00027036  0x00007208 ixor  0x00000007 , 0x0000003e 
+ 00027037  0x00007209 nbranch  0x0000698c , 0x00000005 
+ 00027038  0x0000720a fetch  0x00000002 , 0x00000b12 
+ 00027039  0x0000720b store  0x00000002 , 0x00000b14 
+ 00027040  0x0000720c rtn 
+ 00027041  0x0000720e bpatchx  0x000000a3 , 0x00004034 
+ 00027042  0x0000720f fetch  0x00000002 , 0x0000423d 
+ 00027043  0x00007210 increase  0x00000001 , 0x0000003f 
+ 00027044  0x00007211 ifetch  0x00000002 , 0x0000003f 
+ 00027045  0x00007212 branch  0x00007f9c 
+ 00027046  0x0000721e hfetch  0x00000001 , 0x00008042 
+ 00027047  0x0000721f ior  0x00000011 , 0x0000003f 
+ 00027048  0x00007220 hstore  0x00000001 , 0x00008042 
+ 00027049  0x00007221 hfetch  0x00000002 , 0x00008050 
+ 00027050  0x00007222 set0  0x0000000d , 0x0000003f 
+ 00027051  0x00007223 hstore  0x00000002 , 0x00008050 
+ 00027052  0x00007224 nop  0x00000064 
+ 00027053  0x00007225 rtn 
+ 00027054  0x00007231 fetcht  0x00000003 , 0x00000a9c 
+ 00027055  0x00007232 setarg  0x00b71b00 
+ 00027056  0x00007233 idiv  0x00000002 
+ 00027057  0x00007234 call  0x00007f86 
+ 00027058  0x00007235 quotient  0x00000002 
+ 00027059  0x00007236 fetch  0x00000001 , 0x00000a9f 
+ 00027060  0x00007237 imul32  0x00000002 , 0x0000003f 
+ 00027061  0x00007238 div  0x0000003f , 0x00000064 
+ 00027062  0x00007239 call  0x00007f86 
+ 00027063  0x0000723a quotient  0x00000011 
+ 00027064  0x0000723b copy  0x00000002 , 0x0000003f 
+ 00027065  0x0000723c isub  0x00000011 , 0x00000012 
+ 00027066  0x0000723d fetch  0x00000001 , 0x00000a9b 
+ 00027067  0x0000723e call  0x000069be 
+ 00027068  0x0000723f fetch  0x00000001 , 0x00000a9a 
+ 00027069  0x00007240 branch  0x000069d5 
+ 00027070  0x00007244 beq  0x00000000 , 0x000069c4 
+ 00027071  0x00007245 beq  0x00000001 , 0x000069c6 
+ 00027072  0x00007246 beq  0x00000002 , 0x000069c8 
+ 00027073  0x00007247 beq  0x00000003 , 0x000069ca 
+ 00027074  0x00007248 beq  0x00000004 , 0x000069cc 
+ 00027075  0x00007249 beq  0x00000005 , 0x000069ce 
+ 00027076  0x0000724b arg  0x000080a0 , 0x00000005 
+ 00027077  0x0000724c branch  0x000069d0 
+ 00027078  0x0000724e arg  0x000080a4 , 0x00000005 
+ 00027079  0x0000724f branch  0x000069d0 
+ 00027080  0x00007251 arg  0x000080a8 , 0x00000005 
+ 00027081  0x00007252 branch  0x000069d0 
+ 00027082  0x00007254 arg  0x00008064 , 0x00000005 
+ 00027083  0x00007255 branch  0x000069d0 
+ 00027084  0x00007257 arg  0x00008068 , 0x00000005 
+ 00027085  0x00007258 branch  0x000069d0 
+ 00027086  0x0000725a arg  0x0000806c , 0x00000005 
+ 00027087  0x0000725b branch  0x000069d0 
+ 00027088  0x0000725d copy  0x00000011 , 0x0000003f 
+ 00027089  0x0000725e istore  0x00000002 , 0x00000005 
+ 00027090  0x0000725f copy  0x00000012 , 0x0000003f 
+ 00027091  0x00007260 istore  0x00000002 , 0x00000005 
+ 00027092  0x00007261 rtn 
+ 00027093  0x00007266 enable  0x00000028 
+ 00027094  0x00007267 branch  0x000069d8 
+ 00027095  0x00007269 disable  0x00000028 
+ 00027096  0x0000726b beq  0x00000004 , 0x000069e3 
+ 00027097  0x0000726c beq  0x00000005 , 0x000069e5 
+ 00027098  0x0000726d beq  0x0000001b , 0x000069e7 
+ 00027099  0x0000726e beq  0x0000001c , 0x000069e9 
+ 00027100  0x0000726f beq  0x00000003 , 0x000069eb 
+ 00027101  0x00007270 beq  0x00000008 , 0x000069ed 
+ 00027102  0x00007271 beq  0x00000014 , 0x000069ef 
+ 00027103  0x00007272 beq  0x00000015 , 0x000069f1 
+ 00027104  0x00007273 beq  0x00000016 , 0x000069f3 
+ 00027105  0x00007274 beq  0x00000017 , 0x000069f5 
+ 00027106  0x00007275 rtn 
+ 00027107  0x00007279 arg  0x00000006 , 0x00000007 
+ 00027108  0x0000727a branch  0x000069ff 
+ 00027109  0x0000727c arg  0x00000007 , 0x00000007 
+ 00027110  0x0000727d branch  0x000069ff 
+ 00027111  0x0000727f arg  0x00000008 , 0x00000007 
+ 00027112  0x00007280 branch  0x000069ff 
+ 00027113  0x00007282 arg  0x00000009 , 0x00000007 
+ 00027114  0x00007283 branch  0x000069ff 
+ 00027115  0x00007285 arg  0x0000000a , 0x00000007 
+ 00027116  0x00007286 branch  0x000069ff 
+ 00027117  0x00007288 arg  0x0000000b , 0x00000007 
+ 00027118  0x00007289 branch  0x000069ff 
+ 00027119  0x0000728b arg  0x0000000c , 0x00000007 
+ 00027120  0x0000728c branch  0x00006a01 
+ 00027121  0x0000728e arg  0x0000000d , 0x00000007 
+ 00027122  0x0000728f branch  0x00006a01 
+ 00027123  0x00007291 arg  0x0000000e , 0x00000007 
+ 00027124  0x00007292 branch  0x00006a01 
+ 00027125  0x00007294 arg  0x0000000f , 0x00000007 
+ 00027126  0x00007295 branch  0x00006a01 
+ 00027127  0x00007298 hfetch  0x00000002 , 0x00008081 
+ 00027128  0x00007299 qsetflag  0x00000028 , 0x0000003f 
+ 00027129  0x0000729a hstore  0x00000002 , 0x00008081 
+ 00027130  0x0000729b copy  0x00000011 , 0x00000007 
+ 00027131  0x0000729c hfetch  0x00000001 , 0x00008085 
+ 00027132  0x0000729d qsetflag  0x00000028 , 0x0000003f 
+ 00027133  0x0000729e hstore  0x00000001 , 0x00008085 
+ 00027134  0x0000729f rtn 
+ 00027135  0x000072a2 add  0x00000007 , 0xfffffffc , 0x00000011 
+ 00027136  0x000072a3 branch  0x000069f7 
+ 00027137  0x000072a6 add  0x00000007 , 0xfffffff6 , 0x00000011 
+ 00027138  0x000072a7 branch  0x000069f7 
+ 00027139  0x000072ad rtn  0x0000002b 
+ 00027140  0x000072ae jam  0x00000000 , 0x00004567 
+ 00027141  0x000072af jam  0x00000003 , 0x000004ed 
+ 00027142  0x000072b0 jam  0x00000003 , 0x000004ee 
+ 00027143  0x000072b1 jam  0x00000011 , 0x000004f2 
+ 00027144  0x000072b2 jam  0x00000013 , 0x000004f3 
+ 00027145  0x000072b3 setarg  0x00000000 
+ 00027146  0x000072b4 store  0x00000003 , 0x000004ef 
+ 00027147  0x000072b5 store  0x00000001 , 0x00004254 
+ 00027148  0x000072b6 jam  0x00000000 , 0x00004681 
+ 00027149  0x000072b9 bpatchx  0x000000a4 , 0x00004034 
+ 00027150  0x000072ba setarg  0x00000000 
+ 00027151  0x000072bb store  0x00000001 , 0x00004254 
+ 00027152  0x000072bc store  0x00000001 , 0x00004564 
+ 00027153  0x000072bd store  0x00000001 , 0x0000455d 
+ 00027154  0x000072be fetch  0x00000001 , 0x0000456b 
+ 00027155  0x000072bf beq  0x00000001 , 0x00006a16 
+ 00027156  0x000072c0 jam  0x00000050 , 0x00004569 
+ 00027157  0x000072c1 rtn 
+ 00027158  0x000072c4 jam  0x00000000 , 0x00004569 
+ 00027159  0x000072c5 rtn 
+ 00027160  0x000072c8 or_into  0x00000002 , 0x00000002 
+ 00027161  0x000072c9 rtn 
+ 00027162  0x000072d6 copy  0x00000002 , 0x0000003f 
+ 00027163  0x000072d7 reverse  0x0000003f , 0x0000003f 
+ 00027164  0x000072d8 store  0x00000001 , 0x00004562 
+ 00027165  0x000072d9 force  0x0000003f , 0x0000003f 
+ 00027166  0x000072da reverse  0x0000003f , 0x0000003f 
+ 00027167  0x000072db store  0x00000001 , 0x00004561 
+ 00027168  0x000072dc force  0x00000001 , 0x0000003f 
+ 00027169  0x000072dd reverse  0x0000003f , 0x0000003f 
+ 00027170  0x000072de store  0x00000001 , 0x00004560 
+ 00027171  0x000072df call  0x00006a50 
+ 00027172  0x000072e0 copy  0x00000002 , 0x0000003f 
+ 00027173  0x000072e1 rtn 
+ 00027174  0x000072e3 reverse  0x0000003f , 0x0000003f 
+ 00027175  0x000072e4 store  0x00000001 , 0x00004562 
+ 00027176  0x000072e5 force  0x00000073 , 0x0000003f 
+ 00027177  0x000072e6 reverse  0x0000003f , 0x0000003f 
+ 00027178  0x000072e7 store  0x00000001 , 0x00004561 
+ 00027179  0x000072e8 force  0x00000001 , 0x0000003f 
+ 00027180  0x000072e9 reverse  0x0000003f , 0x0000003f 
+ 00027181  0x000072ea store  0x00000001 , 0x00004560 
+ 00027182  0x000072eb branch  0x00006a50 
+ 00027183  0x000072ee fetch  0x00000001 , 0x00004563 
+ 00027184  0x000072ef branch  0x00006a33 , 0x00000034 
+ 00027185  0x000072f0 setarg  0x00000070 
+ 00027186  0x000072f1 rtn 
+ 00027187  0x000072f3 setarg  0x000000aa 
+ 00027188  0x000072f4 rtn 
+ 00027189  0x000072f7 reverse  0x0000003f , 0x0000003f 
+ 00027190  0x000072f8 store  0x00000001 , 0x00004562 
+ 00027191  0x000072f9 force  0x000000ef , 0x0000003f 
+ 00027192  0x000072fa call  0x00006a44 
+ 00027193  0x000072fb fetcht  0x00000002 , 0x000004f7 
+ 00027194  0x000072fc copy  0x00000002 , 0x00000005 
+ 00027195  0x000072fd istore  0x00000001 , 0x00000005 
+ 00027196  0x000072fe copy  0x00000005 , 0x00000002 
+ 00027197  0x000072ff storet  0x00000002 , 0x000004f7 
+ 00027198  0x00007300 force  0x000000ff , 0x0000003f 
+ 00027199  0x00007301 call  0x00006a44 
+ 00027200  0x00007302 fetcht  0x00000002 , 0x000004f7 
+ 00027201  0x00007303 copy  0x00000002 , 0x00000005 
+ 00027202  0x00007304 istore  0x00000001 , 0x00000005 
+ 00027203  0x00007305 rtn 
+ 00027204  0x0000730f reverse  0x0000003f , 0x0000003f 
+ 00027205  0x00007310 store  0x00000001 , 0x00004561 
+ 00027206  0x00007311 fetch  0x00000002 , 0x00004561 
+ 00027207  0x00007312 lshift8  0x0000003f , 0x0000003f 
+ 00027208  0x00007313 store  0x00000003 , 0x000004f4 
+ 00027209  0x00007314 arg  0x00000107 , 0x00000011 
+ 00027210  0x00007315 arg  0x0000000f , 0x00000012 
+ 00027211  0x00007316 call  0x00006a5d 
+ 00027212  0x00007317 xor_into  0x000000d7 , 0x0000003f 
+ 00027213  0x00007318 invert  0x0000003f , 0x0000003f 
+ 00027214  0x00007319 reverse  0x0000003f , 0x0000003f 
+ 00027215  0x0000731a rtn 
+ 00027216  0x00007325 fetch  0x00000003 , 0x00004560 
+ 00027217  0x00007326 store  0x00000003 , 0x000004f4 
+ 00027218  0x00007327 arg  0x00000107 , 0x00000011 
+ 00027219  0x00007328 arg  0x0000000f , 0x00000012 
+ 00027220  0x00007329 call  0x00006a5d 
+ 00027221  0x0000732a lshift8  0x0000003f , 0x0000003f 
+ 00027222  0x0000732b arg  0x00000007 , 0x00000012 
+ 00027223  0x0000732c call  0x00006a5d 
+ 00027224  0x0000732d xor_into  0x0000002b , 0x0000003f 
+ 00027225  0x0000732e invert  0x0000003f , 0x0000003f 
+ 00027226  0x0000732f reverse  0x0000003f , 0x0000003f 
+ 00027227  0x00007330 copy  0x0000003f , 0x00000002 
+ 00027228  0x00007331 rtn 
+ 00027229  0x00007334 arg  0x00000000 , 0x00000013 
+ 00027230  0x00007335 copy  0x00000012 , 0x00000039 
+ 00027231  0x00007336 call  0x00007e71 
+ 00027232  0x00007337 icopy  0x00000002 
+ 00027233  0x0000733d copy  0x00000002 , 0x0000003f 
+ 00027234  0x0000733e lshift  0x00000013 , 0x00000013 
+ 00027235  0x0000733f bbit0  0x00000008 , 0x00006a66 
+ 00027236  0x00007340 ixor  0x00000011 , 0x00000002 
+ 00027237  0x00007341 increase  0x00000001 , 0x00000013 
+ 00027238  0x00007343 lshift  0x00000002 , 0x00000002 
+ 00027239  0x00007344 fetch  0x00000003 , 0x000004f4 
+ 00027240  0x00007345 increase  0xffffffff , 0x00000012 
+ 00027241  0x00007346 compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00027242  0x00007347 branch  0x00006a70 , 0x00000001 
+ 00027243  0x00007348 copy  0x00000012 , 0x00000039 
+ 00027244  0x00007349 call  0x00007e71 
+ 00027245  0x0000734a isolate1  0x00000000 , 0x0000003f 
+ 00027246  0x0000734b setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00027247  0x0000734c branch  0x00006a61 
+ 00027248  0x0000734f rshift  0x00000002 , 0x0000003f 
+ 00027249  0x00007350 rtn 
+ 00027250  0x00007353 fetcht  0x00000001 , 0x0000455d 
+ 00027251  0x00007356 lshift2  0x00000002 , 0x00000002 
+ 00027252  0x00007357 set1  0x00000000 , 0x00000002 
+ 00027253  0x00007358 fetch  0x00000001 , 0x00004563 
+ 00027254  0x00007359 ncall  0x00006a18 , 0x00000034 
+ 00027255  0x0000735a storet  0x00000001 , 0x0000050d 
+ 00027256  0x0000735b rtn 
+ 00027257  0x0000735f lshift  0x00000002 , 0x00000002 
+ 00027258  0x00007360 fetch  0x00000001 , 0x00004563 
+ 00027259  0x00007361 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00027260  0x00007363 rtn 
+ 00027261  0x00007365 fetcht  0x00000001 , 0x000004fc 
+ 00027262  0x00007366 jam  0x000000d7 , 0x000004fe 
+ 00027263  0x00007367 call  0x00006bb6 
+ 00027264  0x00007368 fetch  0x00000001 , 0x00004251 
+ 00027265  0x00007369 set1  0x00000006 , 0x0000003f 
+ 00027266  0x0000736a set1  0x00000007 , 0x0000003f 
+ 00027267  0x0000736b store  0x00000001 , 0x00004251 
+ 00027268  0x0000736c jam  0x00000000 , 0x00004563 
+ 00027269  0x0000736d branch  0x00006b97 
+ 00027270  0x0000736f fetch  0x00000001 , 0x00004251 
+ 00027271  0x00007370 set1  0x00000007 , 0x0000003f 
+ 00027272  0x00007371 store  0x00000001 , 0x00004251 
+ 00027273  0x00007372 branch  0x00006b97 
+ 00027274  0x00007376 bpatchx  0x000000a5 , 0x00004034 
+ 00027275  0x00007377 fetch  0x00000001 , 0x00004681 
+ 00027276  0x00007378 beq  0x00000000 , 0x00006a8e 
+ 00027277  0x00007379 branch  0x00006b4c 
+ 00027278  0x0000737c fetch  0x00000002 , 0x00000264 
+ 00027279  0x0000737d copy  0x0000003f , 0x00000006 
+ 00027280  0x0000737e call  0x00006ab8 
+ 00027281  0x0000737f fetch  0x00000001 , 0x000004fc 
+ 00027282  0x00007380 beq  0x00000000 , 0x00006a94 
+ 00027283  0x00007381 branch  0x00006b18 
+ 00027284  0x00007383 bpatchx  0x000000a6 , 0x00004034 
+ 00027285  0x00007384 fetch  0x00000001 , 0x000004fd 
+ 00027286  0x00007385 beq  0x0000003f , 0x00006a7d 
+ 00027287  0x00007386 beq  0x00000073 , 0x00006a86 
+ 00027288  0x00007387 beq  0x000000ef , 0x00006a9b 
+ 00027289  0x00007388 beq  0x00000053 , 0x00006b44 
+ 00027290  0x00007389 rtn 
+ 00027291  0x0000738d fetch  0x00000002 , 0x00000501 
+ 00027292  0x0000738e copy  0x0000003f , 0x00000006 
+ 00027293  0x0000738f call  0x00006ac3 
+ 00027294  0x00007390 fetch  0x00000001 , 0x00000503 
+ 00027295  0x00007391 beq  0x00000041 , 0x00006aa5 
+ 00027296  0x00007392 beq  0x00000040 , 0x00006aad 
+ 00027297  0x00007393 beq  0x00000071 , 0x00006ae6 
+ 00027298  0x00007394 beq  0x00000070 , 0x00006af2 
+ 00027299  0x00007395 beq  0x00000049 , 0x00006afd 
+ 00027300  0x00007396 branch  0x00006b97 
+ 00027301  0x00007399 call  0x00006aaf 
+ 00027302  0x0000739b branch  0x00006aa7 
+ 00027303  0x0000739e fetch  0x00000001 , 0x00004254 
+ 00027304  0x0000739f set1  0x00000000 , 0x0000003f 
+ 00027305  0x000073a0 set1  0x00000001 , 0x0000003f 
+ 00027306  0x000073a1 store  0x00000001 , 0x00004254 
+ 00027307  0x000073a2 call  0x00006be0 
+ 00027308  0x000073a3 branch  0x00006b97 
+ 00027309  0x000073a6 call  0x00006aaf 
+ 00027310  0x000073a7 branch  0x00006b97 
+ 00027311  0x000073aa call  0x00006acb 
+ 00027312  0x000073ab branch  0x00006ad7 
+ 00027313  0x000073ae call  0x00006acb 
+ 00027314  0x000073af ifetch  0x00000001 , 0x00000006 
+ 00027315  0x000073b0 rshift3  0x0000003f , 0x0000003f 
+ 00027316  0x000073b1 store  0x00000001 , 0x0000456a 
+ 00027317  0x000073b2 ifetch  0x00000001 , 0x00000006 
+ 00027318  0x000073b3 store  0x00000001 , 0x00000508 
+ 00027319  0x000073b4 rtn 
+ 00027320  0x000073b8 ifetch  0x00000001 , 0x00000006 
+ 00027321  0x000073b9 store  0x00000001 , 0x000004fb 
+ 00027322  0x000073ba rshift3  0x0000003f , 0x0000003f 
+ 00027323  0x000073bb store  0x00000001 , 0x000004fc 
+ 00027324  0x000073bc ifetch  0x00000001 , 0x00000006 
+ 00027325  0x000073bd store  0x00000001 , 0x000004fd 
+ 00027326  0x000073bf call  0x00006ace 
+ 00027327  0x000073c0 storet  0x00000002 , 0x000004ff 
+ 00027328  0x000073c1 copy  0x00000006 , 0x0000003f 
+ 00027329  0x000073c2 store  0x00000002 , 0x00000501 
+ 00027330  0x000073c3 rtn 
+ 00027331  0x000073c6 ifetch  0x00000001 , 0x00000006 
+ 00027332  0x000073c7 rshift  0x0000003f , 0x0000003f 
+ 00027333  0x000073c8 store  0x00000001 , 0x00000503 
+ 00027334  0x000073c9 call  0x00006ace 
+ 00027335  0x000073ca storet  0x00000002 , 0x00000504 
+ 00027336  0x000073cb copy  0x00000006 , 0x0000003f 
+ 00027337  0x000073cc store  0x00000002 , 0x00000506 
+ 00027338  0x000073cd rtn 
+ 00027339  0x000073d1 fetch  0x00000002 , 0x00000506 
+ 00027340  0x000073d2 copy  0x0000003f , 0x00000006 
+ 00027341  0x000073d3 rtn 
+ 00027342  0x000073d6 ifetch  0x00000001 , 0x00000006 
+ 00027343  0x000073d7 copy  0x0000003f , 0x00000002 
+ 00027344  0x000073d8 rshift  0x00000002 , 0x00000002 
+ 00027345  0x000073d9 rtnbit1  0x00000000 
+ 00027346  0x000073da ifetch  0x00000001 , 0x00000006 
+ 00027347  0x000073db lshift3  0x0000003f , 0x0000003f 
+ 00027348  0x000073dc lshift4  0x0000003f , 0x0000003f 
+ 00027349  0x000073dd iadd  0x00000002 , 0x00000002 
+ 00027350  0x000073de rtn 
+ 00027351  0x000073e1 ifetch  0x00000001 , 0x00000006 
+ 00027352  0x000073e2 store  0x00000001 , 0x0000455d 
+ 00027353  0x000073e3 ifetch  0x00000001 , 0x00000006 
+ 00027354  0x000073e4 store  0x00000001 , 0x00000509 
+ 00027355  0x000073e5 ifetch  0x00000001 , 0x00000006 
+ 00027356  0x000073e6 store  0x00000001 , 0x0000050a 
+ 00027357  0x000073e7 ifetch  0x00000001 , 0x00000006 
+ 00027358  0x000073e8 store  0x00000001 , 0x0000050b 
+ 00027359  0x000073e9 ifetch  0x00000002 , 0x00000006 
+ 00027360  0x000073ea store  0x00000002 , 0x0000455e 
+ 00027361  0x000073eb ifetch  0x00000001 , 0x00000006 
+ 00027362  0x000073ec store  0x00000001 , 0x0000050c 
+ 00027363  0x000073ed ifetch  0x00000001 , 0x00000006 
+ 00027364  0x000073ee store  0x00000001 , 0x00004568 
+ 00027365  0x000073ef rtn 
+ 00027366  0x000073f3 call  0x00006ab1 
+ 00027367  0x000073f5 branch  0x00006ae8 
+ 00027368  0x000073f8 fetch  0x00000001 , 0x00004254 
+ 00027369  0x000073f9 set1  0x00000005 , 0x0000003f 
+ 00027370  0x000073fa set1  0x00000006 , 0x0000003f 
+ 00027371  0x000073fb store  0x00000001 , 0x00004254 
+ 00027372  0x000073fc fetcht  0x00000001 , 0x0000455d 
+ 00027373  0x000073fd lshift2  0x00000002 , 0x00000002 
+ 00027374  0x000073fe or_into  0x00000003 , 0x00000002 
+ 00027375  0x000073ff call  0x00006c11 
+ 00027376  0x00007400 jam  0x00000003 , 0x00004567 
+ 00027377  0x00007401 branch  0x00006b97 
+ 00027378  0x00007404 jam  0x00000008 , 0x00000a99 
+ 00027379  0x00007405 call  0x00007d86 
+ 00027380  0x00007406 call  0x00006ab1 
+ 00027381  0x00007407 fetch  0x00000001 , 0x0000456a 
+ 00027382  0x00007408 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027383  0x00007409 branch  0x00006af9 , 0x00000005 
+ 00027384  0x0000740a branch  0x00002a8c 
+ 00027385  0x0000740c fetch  0x00000001 , 0x00004254 
+ 00027386  0x0000740d set1  0x00000007 , 0x0000003f 
+ 00027387  0x0000740e store  0x00000001 , 0x00004254 
+ 00027388  0x0000740f branch  0x00006b97 
+ 00027389  0x00007412 call  0x00006acb 
+ 00027390  0x00007413 ifetch  0x00000001 , 0x00000006 
+ 00027391  0x00007414 store  0x00000001 , 0x00000ac2 
+ 00027392  0x00007415 call  0x000052d2 
+ 00027393  0x00007416 call  0x000052e0 
+ 00027394  0x00007417 setarg  0x0000000e 
+ 00027395  0x00007418 istore  0x00000002 , 0x00000005 
+ 00027396  0x00007419 fetch  0x00000002 , 0x0000424a 
+ 00027397  0x0000741a istore  0x00000002 , 0x00000005 
+ 00027398  0x0000741b fetch  0x00000001 , 0x00004563 
+ 00027399  0x0000741d lshift  0x0000003f , 0x0000003f 
+ 00027400  0x0000741e set1  0x00000000 , 0x0000003f 
+ 00027401  0x0000741f istore  0x00000001 , 0x00000005 
+ 00027402  0x00007420 bpatchx  0x000000a7 , 0x00004034 
+ 00027403  0x00007421 setarg  0x000015ef 
+ 00027404  0x00007422 istore  0x00000002 , 0x00000005 
+ 00027405  0x00007423 setarg  0x00001191 
+ 00027406  0x00007424 istore  0x00000002 , 0x00000005 
+ 00027407  0x00007427 fetch  0x00000001 , 0x00000ac2 
+ 00027408  0x00007428 istore  0x00000001 , 0x00000005 
+ 00027409  0x00007429 setarg  0x00000007 
+ 00027410  0x0000742a istore  0x00000005 , 0x00000005 
+ 00027411  0x0000742d setarg  0x00000001 
+ 00027412  0x0000742e istore  0x00000002 , 0x00000005 
+ 00027413  0x00007431 call  0x00006a2f 
+ 00027414  0x00007432 istore  0x00000001 , 0x00000005 
+ 00027415  0x00007433 rtn 
+ 00027416  0x00007438 branch  0x00006b19 
+ 00027417  0x0000743b bpatchx  0x000000a8 , 0x00004035 
+ 00027418  0x0000743c fetch  0x00000001 , 0x000004fd 
+ 00027419  0x0000743d beq  0x00000073 , 0x00006b21 
+ 00027420  0x0000743e beq  0x0000003f , 0x00006b25 
+ 00027421  0x0000743f beq  0x000000ef , 0x00006b3f 
+ 00027422  0x00007440 beq  0x000000ff , 0x00006b37 
+ 00027423  0x00007441 beq  0x00000053 , 0x00006b46 
+ 00027424  0x00007442 rtn 
+ 00027425  0x00007444 fetch  0x00000001 , 0x00004254 
+ 00027426  0x00007445 set1  0x00000003 , 0x0000003f 
+ 00027427  0x00007446 store  0x00000001 , 0x00004254 
+ 00027428  0x00007447 branch  0x00006b97 
+ 00027429  0x00007449 fetch  0x00000001 , 0x00004254 
+ 00027430  0x0000744a set1  0x00000003 , 0x0000003f 
+ 00027431  0x0000744b set1  0x00000002 , 0x0000003f 
+ 00027432  0x0000744c store  0x00000001 , 0x00004254 
+ 00027433  0x0000744d fetch  0x00000001 , 0x000004fb 
+ 00027434  0x0000744e call  0x00006a26 
+ 00027435  0x0000744f store  0x00000001 , 0x000004fe 
+ 00027436  0x00007450 call  0x00006bb6 
+ 00027437  0x00007451 fetch  0x00000001 , 0x000004fb 
+ 00027438  0x00007452 rshift2  0x0000003f , 0x0000003f 
+ 00027439  0x00007453 store  0x00000001 , 0x0000455d 
+ 00027440  0x00007454 lshift2  0x0000003f , 0x0000003f 
+ 00027441  0x00007455 set0  0x00000001 , 0x0000003f 
+ 00027442  0x00007456 set1  0x00000000 , 0x0000003f 
+ 00027443  0x00007457 arg  0x00004565 , 0x00000002 
+ 00027444  0x00007458 storet  0x00000002 , 0x000004f7 
+ 00027445  0x00007459 call  0x00006a35 
+ 00027446  0x0000745a branch  0x00006b97 
+ 00027447  0x0000745d fetch  0x00000002 , 0x00000501 
+ 00027448  0x0000745e copy  0x0000003f , 0x00000006 
+ 00027449  0x0000745f increase  0x00000001 , 0x0000003f 
+ 00027450  0x00007460 store  0x00000002 , 0x00000501 
+ 00027451  0x00007461 ifetch  0x00000001 , 0x00000006 
+ 00027452  0x00007462 fetcht  0x00000001 , 0x00004568 
+ 00027453  0x00007463 iadd  0x00000002 , 0x0000003f 
+ 00027454  0x00007464 store  0x00000001 , 0x00004568 
+ 00027455  0x00007466 call  0x00006c42 
+ 00027456  0x00007468 call  0x00006a72 
+ 00027457  0x00007469 call  0x00006c28 
+ 00027458  0x0000746a call  0x00006c4b 
+ 00027459  0x0000746b branch  0x00006b97 
+ 00027460  0x0000746e jam  0x00000009 , 0x00000a99 
+ 00027461  0x0000746f call  0x00007d86 
+ 00027462  0x00007471 call  0x00006a0d 
+ 00027463  0x00007472 fetch  0x00000001 , 0x000004fb 
+ 00027464  0x00007473 call  0x00006a26 
+ 00027465  0x00007474 store  0x00000001 , 0x000004fe 
+ 00027466  0x00007475 call  0x00006bb6 
+ 00027467  0x00007476 branch  0x00006b97 
+ 00027468  0x0000747c fetch  0x00000002 , 0x00000264 
+ 00027469  0x0000747d copy  0x0000003f , 0x00000006 
+ 00027470  0x0000747e call  0x00006ab8 
+ 00027471  0x0000747f fetch  0x00000001 , 0x000004fc 
+ 00027472  0x00007480 beq  0x00000000 , 0x00006b52 
+ 00027473  0x00007481 branch  0x00006b86 
+ 00027474  0x00007484 bpatchx  0x000000a9 , 0x00004035 
+ 00027475  0x00007485 fetch  0x00000001 , 0x000004fd 
+ 00027476  0x00007486 beq  0x0000003f , 0x00006a7d 
+ 00027477  0x00007487 beq  0x00000073 , 0x00006a86 
+ 00027478  0x00007488 beq  0x000000ef , 0x00006b58 
+ 00027479  0x00007489 branch  0x00006b97 
+ 00027480  0x0000748b fetch  0x00000002 , 0x00000501 
+ 00027481  0x0000748c copy  0x0000003f , 0x00000006 
+ 00027482  0x0000748d call  0x00006ac3 
+ 00027483  0x0000748e fetch  0x00000001 , 0x00000503 
+ 00027484  0x0000748f beq  0x00000041 , 0x00006b61 
+ 00027485  0x00007490 beq  0x00000040 , 0x00006b61 
+ 00027486  0x00007491 beq  0x00000071 , 0x00006b6c 
+ 00027487  0x00007492 beq  0x00000070 , 0x00006b7c 
+ 00027488  0x00007493 branch  0x00006b97 
+ 00027489  0x00007496 call  0x00006aaf 
+ 00027490  0x00007497 fetch  0x00000001 , 0x0000455d 
+ 00027491  0x00007498 rshift  0x0000003f , 0x0000003f 
+ 00027492  0x00007499 fetcht  0x00000001 , 0x00004564 
+ 00027493  0x0000749a isub  0x00000002 , 0x0000003e 
+ 00027494  0x0000749b branch  0x00006b68 , 0x00000005 
+ 00027495  0x0000749c branch  0x00002a8c 
+ 00027496  0x0000749e fetch  0x00000001 , 0x00004254 
+ 00027497  0x0000749f set1  0x00000001 , 0x0000003f 
+ 00027498  0x000074a0 store  0x00000001 , 0x00004254 
+ 00027499  0x000074a1 branch  0x00006b97 
+ 00027500  0x000074a4 call  0x00006ab1 
+ 00027501  0x000074a5 fetch  0x00000001 , 0x0000456a 
+ 00027502  0x000074a6 fetcht  0x00000001 , 0x00004564 
+ 00027503  0x000074a7 isub  0x00000002 , 0x0000003e 
+ 00027504  0x000074a8 branch  0x00006b73 , 0x00000005 
+ 00027505  0x000074a9 branch  0x00002a8c 
+ 00027506  0x000074aa branch  0x00006b97 
+ 00027507  0x000074ac fetch  0x00000001 , 0x00004254 
+ 00027508  0x000074ad set1  0x00000005 , 0x0000003f 
+ 00027509  0x000074ae set1  0x00000006 , 0x0000003f 
+ 00027510  0x000074af store  0x00000001 , 0x00004254 
+ 00027511  0x000074b0 fetcht  0x00000001 , 0x0000455d 
+ 00027512  0x000074b1 lshift2  0x00000002 , 0x00000002 
+ 00027513  0x000074b2 or_into  0x00000003 , 0x00000002 
+ 00027514  0x000074b3 call  0x00006c11 
+ 00027515  0x000074b4 branch  0x00006b97 
+ 00027516  0x000074b7 call  0x00006ab1 
+ 00027517  0x000074b8 fetch  0x00000001 , 0x0000456a 
+ 00027518  0x000074b9 fetcht  0x00000001 , 0x00004564 
+ 00027519  0x000074ba isub  0x00000002 , 0x0000003e 
+ 00027520  0x000074bb branch  0x00006b82 , 0x00000005 
+ 00027521  0x000074bc branch  0x00002a8c 
+ 00027522  0x000074be fetch  0x00000001 , 0x00004254 
+ 00027523  0x000074bf set1  0x00000007 , 0x0000003f 
+ 00027524  0x000074c0 store  0x00000001 , 0x00004254 
+ 00027525  0x000074c1 branch  0x00006b97 
+ 00027526  0x000074c4 fetch  0x00000001 , 0x000004fc 
+ 00027527  0x000074c5 fetcht  0x00000001 , 0x00004564 
+ 00027528  0x000074c6 isub  0x00000002 , 0x0000003e 
+ 00027529  0x000074c7 branch  0x00006b8c , 0x00000005 
+ 00027530  0x000074c8 branch  0x00002a8c 
+ 00027531  0x000074c9 branch  0x00006b97 
+ 00027532  0x000074cc fetch  0x00000001 , 0x000004fd 
+ 00027533  0x000074cd beq  0x00000073 , 0x00006b91 
+ 00027534  0x000074ce beq  0x000000ef , 0x00006b3f 
+ 00027535  0x000074cf beq  0x000000ff , 0x00006b37 
+ 00027536  0x000074d0 beq  0x00000053 , 0x00006b96 
+ 00027537  0x000074d2 fetch  0x00000001 , 0x00004254 
+ 00027538  0x000074d3 set1  0x00000003 , 0x0000003f 
+ 00027539  0x000074d4 store  0x00000001 , 0x00004254 
+ 00027540  0x000074d5 branch  0x00006b97 
+ 00027541  0x000074d7 branch  0x00006b95 
+ 00027542  0x000074d9 branch  0x00006b46 
+ 00027543  0x000074db rtn 
+ 00027544  0x000074de fetch  0x00000001 , 0x00004567 
+ 00027545  0x000074df rtn  0x00000034 
+ 00027546  0x000074e0 beq  0x00000003 , 0x00006b9c 
+ 00027547  0x000074e1 branch  0x00002a8c 
+ 00027548  0x000074e4 jam  0x00000000 , 0x00004567 
+ 00027549  0x000074e5 call  0x000052d2 
+ 00027550  0x000074e6 arg  0x00000001 , 0x00000002 
+ 00027551  0x000074e7 fetcht  0x00000001 , 0x0000455d 
+ 00027552  0x000074e8 lshift2  0x00000002 , 0x00000002 
+ 00027553  0x000074ea or_into  0x00000003 , 0x00000002 
+ 00027554  0x000074eb arg  0x000000aa , 0x00000011 
+ 00027555  0x000074ec call  0x00006bfc 
+ 00027556  0x000074ed call  0x000052e0 
+ 00027557  0x000074ee copy  0x00000005 , 0x00000006 
+ 00027558  0x000074ef ifetch  0x00000002 , 0x00000006 
+ 00027559  0x000074f0 branch  0x00002a8c , 0x00000034 
+ 00027560  0x000074f1 rtn 
+ 00027561  0x000074f4 call  0x000052e0 
+ 00027562  0x000074f5 setarg  0x00000004 
+ 00027563  0x000074f6 istore  0x00000002 , 0x00000005 
+ 00027564  0x000074f7 fetch  0x00000002 , 0x0000424a 
+ 00027565  0x000074f8 istore  0x00000002 , 0x00000005 
+ 00027566  0x000074f9 fetch  0x00000001 , 0x000004fb 
+ 00027567  0x000074fa istore  0x00000001 , 0x00000005 
+ 00027568  0x000074fb bpatchx  0x000000aa , 0x00004035 
+ 00027569  0x000074fc setarg  0x0000013f 
+ 00027570  0x000074fd istore  0x00000002 , 0x00000005 
+ 00027571  0x000074fe fetch  0x00000001 , 0x000004fe 
+ 00027572  0x000074ff istore  0x00000001 , 0x00000005 
+ 00027573  0x00007500 rtn 
+ 00027574  0x00007502 call  0x000052d2 
+ 00027575  0x00007503 call  0x000052e0 
+ 00027576  0x00007504 setarg  0x00000004 
+ 00027577  0x00007505 istore  0x00000002 , 0x00000005 
+ 00027578  0x00007506 fetch  0x00000002 , 0x0000424a 
+ 00027579  0x00007507 istore  0x00000002 , 0x00000005 
+ 00027580  0x00007508 fetch  0x00000001 , 0x000004fb 
+ 00027581  0x00007509 istore  0x00000001 , 0x00000005 
+ 00027582  0x0000750a bpatchx  0x000000ab , 0x00004035 
+ 00027583  0x0000750b setarg  0x00000173 
+ 00027584  0x0000750c istore  0x00000002 , 0x00000005 
+ 00027585  0x0000750d fetch  0x00000001 , 0x000004fe 
+ 00027586  0x0000750e istore  0x00000001 , 0x00000005 
+ 00027587  0x0000750f rtn 
+ 00027588  0x00007511 call  0x000052e0 
+ 00027589  0x00007512 setarg  0x0000000e 
+ 00027590  0x00007513 istore  0x00000002 , 0x00000005 
+ 00027591  0x00007514 fetch  0x00000002 , 0x0000424a 
+ 00027592  0x00007515 istore  0x00000002 , 0x00000005 
+ 00027593  0x00007516 fetch  0x00000001 , 0x00004563 
+ 00027594  0x00007517 lshift  0x0000003f , 0x0000003f 
+ 00027595  0x00007518 set1  0x00000000 , 0x0000003f 
+ 00027596  0x00007519 istore  0x00000001 , 0x00000005 
+ 00027597  0x0000751a bpatchx  0x000000ac , 0x00004035 
+ 00027598  0x0000751b setarg  0x000015ef 
+ 00027599  0x0000751c istore  0x00000002 , 0x00000005 
+ 00027600  0x0000751d setarg  0x00001183 
+ 00027601  0x0000751e istore  0x00000002 , 0x00000005 
+ 00027602  0x0000751f copy  0x00000002 , 0x0000003f 
+ 00027603  0x00007520 istore  0x00000001 , 0x00000005 
+ 00027604  0x00007521 setarg  0x000000f0 
+ 00027605  0x00007522 istore  0x00000003 , 0x00000005 
+ 00027606  0x00007523 setarg  0x0000007f 
+ 00027607  0x00007524 istore  0x00000002 , 0x00000005 
+ 00027608  0x00007525 setarg  0x00000000 
+ 00027609  0x00007526 istore  0x00000001 , 0x00000005 
+ 00027610  0x00007527 setarg  0x00000001 
+ 00027611  0x00007528 istore  0x00000001 , 0x00000005 
+ 00027612  0x00007529 call  0x00006a2f 
+ 00027613  0x0000752a istore  0x00000001 , 0x00000005 
+ 00027614  0x0000752b jam  0x00000010 , 0x00004569 
+ 00027615  0x0000752c rtn 
+ 00027616  0x0000752e call  0x000052d2 
+ 00027617  0x0000752f call  0x000052e0 
+ 00027618  0x00007530 setarg  0x0000000e 
+ 00027619  0x00007531 istore  0x00000002 , 0x00000005 
+ 00027620  0x00007532 fetch  0x00000002 , 0x0000424a 
+ 00027621  0x00007533 istore  0x00000002 , 0x00000005 
+ 00027622  0x00007534 fetch  0x00000001 , 0x00004563 
+ 00027623  0x00007535 lshift  0x0000003f , 0x0000003f 
+ 00027624  0x00007536 set1  0x00000000 , 0x0000003f 
+ 00027625  0x00007537 istore  0x00000001 , 0x00000005 
+ 00027626  0x00007538 bpatchx  0x000000ad , 0x00004035 
+ 00027627  0x00007539 setarg  0x000015ef 
+ 00027628  0x0000753a istore  0x00000002 , 0x00000005 
+ 00027629  0x0000753b setarg  0x00001181 
+ 00027630  0x0000753c istore  0x00000002 , 0x00000005 
+ 00027631  0x0000753d fetch  0x00000001 , 0x0000455d 
+ 00027632  0x0000753e istore  0x00000001 , 0x00000005 
+ 00027633  0x0000753f setarg  0x000000e0 
+ 00027634  0x00007540 istore  0x00000003 , 0x00000005 
+ 00027635  0x00007541 fetch  0x00000002 , 0x0000456c 
+ 00027636  0x00007542 istore  0x00000002 , 0x00000005 
+ 00027637  0x00007543 setarg  0x00000000 
+ 00027638  0x00007544 istore  0x00000001 , 0x00000005 
+ 00027639  0x00007545 fetch  0x00000001 , 0x0000456e 
+ 00027640  0x00007546 istore  0x00000001 , 0x00000005 
+ 00027641  0x00007547 call  0x00006a2f 
+ 00027642  0x00007548 istore  0x00000001 , 0x00000005 
+ 00027643  0x00007549 rtn 
+ 00027644  0x0000754b call  0x000052e0 
+ 00027645  0x0000754c setarg  0x00000008 
+ 00027646  0x0000754d istore  0x00000002 , 0x00000005 
+ 00027647  0x0000754e fetch  0x00000002 , 0x0000424a 
+ 00027648  0x0000754f istore  0x00000002 , 0x00000005 
+ 00027649  0x00007550 fetch  0x00000001 , 0x00004563 
+ 00027650  0x00007551 lshift  0x0000003f , 0x0000003f 
+ 00027651  0x00007552 set1  0x00000000 , 0x0000003f 
+ 00027652  0x00007553 istore  0x00000001 , 0x00000005 
+ 00027653  0x00007554 bpatchx  0x000000ae , 0x00004035 
+ 00027654  0x00007555 setarg  0x000009ef 
+ 00027655  0x00007556 istore  0x00000002 , 0x00000005 
+ 00027656  0x00007557 setarg  0x000005e3 
+ 00027657  0x00007558 istore  0x00000002 , 0x00000005 
+ 00027658  0x00007559 copy  0x00000002 , 0x0000003f 
+ 00027659  0x0000755a istore  0x00000001 , 0x00000005 
+ 00027660  0x0000755b setarg  0x0000008d 
+ 00027661  0x0000755c istore  0x00000001 , 0x00000005 
+ 00027662  0x0000755d call  0x00006a2f 
+ 00027663  0x0000755e istore  0x00000001 , 0x00000005 
+ 00027664  0x0000755f rtn 
+ 00027665  0x00007562 call  0x000052d2 
+ 00027666  0x00007563 call  0x000052e0 
+ 00027667  0x00007564 setarg  0x00000008 
+ 00027668  0x00007565 istore  0x00000002 , 0x00000005 
+ 00027669  0x00007566 fetch  0x00000002 , 0x0000424a 
+ 00027670  0x00007567 istore  0x00000002 , 0x00000005 
+ 00027671  0x00007568 copy  0x00000002 , 0x0000000b 
+ 00027672  0x00007569 fetch  0x00000001 , 0x00004563 
+ 00027673  0x0000756a lshift  0x0000003f , 0x0000003f 
+ 00027674  0x0000756b set1  0x00000000 , 0x0000003f 
+ 00027675  0x0000756c istore  0x00000001 , 0x00000005 
+ 00027676  0x0000756d bpatchx  0x000000af , 0x00004035 
+ 00027677  0x0000756e setarg  0x000009ef 
+ 00027678  0x0000756f istore  0x00000002 , 0x00000005 
+ 00027679  0x00007570 setarg  0x000005e1 
+ 00027680  0x00007571 istore  0x00000002 , 0x00000005 
+ 00027681  0x00007572 copy  0x0000000b , 0x0000003f 
+ 00027682  0x00007573 istore  0x00000001 , 0x00000005 
+ 00027683  0x00007574 setarg  0x0000008d 
+ 00027684  0x00007575 istore  0x00000001 , 0x00000005 
+ 00027685  0x00007576 call  0x00006a2f 
+ 00027686  0x00007577 istore  0x00000001 , 0x00000005 
+ 00027687  0x00007578 rtn 
+ 00027688  0x0000757b bpatchx  0x000000b0 , 0x00004036 
+ 00027689  0x0000757c fetch  0x00000001 , 0x00004569 
+ 00027690  0x0000757d rtn  0x00000034 
+ 00027691  0x0000757e hfetch  0x00000002 , 0x00008112 
+ 00027692  0x0000757f nrtn  0x00000034 
+ 00027693  0x00007580 copy  0x00000011 , 0x0000003f 
+ 00027694  0x00007581 store  0x00000001 , 0x00000a9b 
+ 00027695  0x00007582 storet  0x00000001 , 0x00000a9a 
+ 00027696  0x00007583 call  0x0000526e 
+ 00027697  0x00007584 nrtn  0x00000034 
+ 00027698  0x00007585 call  0x000052d2 
+ 00027699  0x00007586 call  0x000052e0 
+ 00027700  0x00007587 setarg  0x00000005 
+ 00027701  0x00007588 istore  0x00000002 , 0x00000005 
+ 00027702  0x00007589 fetch  0x00000002 , 0x0000424a 
+ 00027703  0x0000758a istore  0x00000002 , 0x00000005 
+ 00027704  0x0000758b fetch  0x00000001 , 0x0000050d 
+ 00027705  0x0000758c istore  0x00000001 , 0x00000005 
+ 00027706  0x0000758d setarg  0x000001ff 
+ 00027707  0x0000758e istore  0x00000002 , 0x00000005 
+ 00027708  0x0000758f fetch  0x00000001 , 0x00004569 
+ 00027709  0x00007590 istore  0x00000001 , 0x00000005 
+ 00027710  0x00007591 fetch  0x00000001 , 0x00004566 
+ 00027711  0x00007592 istore  0x00000001 , 0x00000005 
+ 00027712  0x00007593 jam  0x00000000 , 0x00004569 
+ 00027713  0x00007594 rtn 
+ 00027714  0x00007597 bpatchx  0x000000b1 , 0x00004036 
+ 00027715  0x00007598 fetch  0x00000001 , 0x0000456b 
+ 00027716  0x00007599 rtneq  0x00000001 
+ 00027717  0x0000759a fetch  0x00000002 , 0x000004ff 
+ 00027718  0x0000759b rtn  0x00000034 
+ 00027719  0x0000759c fetch  0x00000001 , 0x00004569 
+ 00027720  0x0000759d increase  0x00000001 , 0x0000003f 
+ 00027721  0x0000759e store  0x00000001 , 0x00004569 
+ 00027722  0x0000759f rtn 
+ 00027723  0x000075a2 fetch  0x00000002 , 0x0000456f 
+ 00027724  0x000075a3 branch  0x00007f9c 
+ 00027725  0x000075a6 bpatchx  0x000000b2 , 0x00004036 
+ 00027726  0x000075a8 fetch  0x00000001 , 0x00004568 
+ 00027727  0x000075a9 rtn  0x00000034 
+ 00027728  0x000075aa increase  0xffffffff , 0x0000003f 
+ 00027729  0x000075ab store  0x00000001 , 0x00004568 
+ 00027730  0x000075ac fetch  0x00000002 , 0x0000455e 
+ 00027731  0x000075ad fetcht  0x00000002 , 0x0000469f 
+ 00027732  0x000075ae isub  0x00000002 , 0x0000003e 
+ 00027733  0x000075af branch  0x00006c57 , 0x00000002 
+ 00027734  0x000075b0 store  0x00000002 , 0x0000469f 
+ 00027735  0x000075b2 fetch  0x00000001 , 0x00004569 
+ 00027736  0x000075b3 branch  0x00006c5f , 0x00000034 
+ 00027737  0x000075b4 jam  0x00000001 , 0x00000510 
+ 00027738  0x000075b5 fetch  0x00000001 , 0x00004566 
+ 00027739  0x000075b6 store  0x00000001 , 0x0000050f 
+ 00027740  0x000075b7 setarg  0x000000ff 
+ 00027741  0x000075b8 store  0x00000001 , 0x0000050e 
+ 00027742  0x000075b9 branch  0x00006c64 
+ 00027743  0x000075bb jam  0x00000000 , 0x00000510 
+ 00027744  0x000075bc fetch  0x00000001 , 0x00004565 
+ 00027745  0x000075bd store  0x00000001 , 0x0000050f 
+ 00027746  0x000075be setarg  0x000000ef 
+ 00027747  0x000075bf store  0x00000001 , 0x0000050e 
+ 00027748  0x000075c1 bpatchx  0x000000b3 , 0x00004036 
+ 00027749  0x000075c2 fetch  0x00000002 , 0x0000469f 
+ 00027750  0x000075c3 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027751  0x000075c4 branch  0x00006c6b , 0x00000002 
+ 00027752  0x000075c5 fetch  0x00000001 , 0x00000510 
+ 00027753  0x000075c6 increase  0x00000001 , 0x0000003f 
+ 00027754  0x000075c7 store  0x00000001 , 0x00000510 
+ 00027755  0x000075c9 call  0x00006a72 
+ 00027756  0x000075ca fetch  0x00000002 , 0x0000469f 
+ 00027757  0x000075cb increase  0x00000008 , 0x0000003f 
+ 00027758  0x000075cc fetcht  0x00000001 , 0x00000510 
+ 00027759  0x000075cd iadd  0x00000002 , 0x00000011 
+ 00027760  0x000075cf call  0x00005240 
+ 00027761  0x000075d0 store  0x00000002 , 0x00000277 
+ 00027762  0x000075d1 increase  0x00000004 , 0x0000003f 
+ 00027763  0x000075d2 store  0x00000002 , 0x00000279 
+ 00027764  0x000075d3 copy  0x0000003f , 0x00000005 
+ 00027765  0x000075d4 fetch  0x00000001 , 0x0000050d 
+ 00027766  0x000075d5 istore  0x00000001 , 0x00000005 
+ 00027767  0x000075d6 fetch  0x00000001 , 0x0000050e 
+ 00027768  0x000075d7 istore  0x00000001 , 0x00000005 
+ 00027769  0x000075d8 call  0x00006c95 
+ 00027770  0x000075d9 call  0x00006ca6 
+ 00027771  0x000075da bpatchx  0x000000b4 , 0x00004036 
+ 00027772  0x000075db fetch  0x00000002 , 0x00004571 
+ 00027773  0x000075dc copy  0x0000003f , 0x00000003 
+ 00027774  0x000075dd fetch  0x00000002 , 0x0000469f 
+ 00027775  0x000075de copy  0x0000003f , 0x00000039 
+ 00027776  0x000075df call  0x000066ea 
+ 00027777  0x000075e0 copy  0x00000005 , 0x00000002 
+ 00027778  0x000075e1 copy  0x00000003 , 0x0000003f 
+ 00027779  0x000075e2 store  0x00000002 , 0x00004571 
+ 00027780  0x000075e3 copy  0x00000002 , 0x00000005 
+ 00027781  0x000075e4 fetch  0x00000001 , 0x0000050f 
+ 00027782  0x000075e5 istore  0x00000001 , 0x00000005 
+ 00027783  0x000075e6 fetch  0x00000002 , 0x00000277 
+ 00027784  0x000075e7 copy  0x0000003f , 0x00000005 
+ 00027785  0x000075e8 fetch  0x00000002 , 0x0000469f 
+ 00027786  0x000075e9 fetcht  0x00000001 , 0x00000510 
+ 00027787  0x000075ea iadd  0x00000002 , 0x0000003f 
+ 00027788  0x000075eb increase  0x00000004 , 0x0000003f 
+ 00027789  0x000075ec istore  0x00000002 , 0x00000005 
+ 00027790  0x000075ed fetch  0x00000002 , 0x0000424a 
+ 00027791  0x000075ee istore  0x00000002 , 0x00000005 
+ 00027792  0x000075ef jam  0x00000000 , 0x00004569 
+ 00027793  0x000075f0 fetch  0x00000002 , 0x00004573 
+ 00027794  0x000075f1 beq  0x00000000 , 0x00003a97 
+ 00027795  0x000075f2 jam  0x00000000 , 0x00000b05 
+ 00027796  0x000075f3 rtn 
+ 00027797  0x000075f6 bpatchx  0x000000b5 , 0x00004036 
+ 00027798  0x000075f7 fetch  0x00000002 , 0x0000469f 
+ 00027799  0x000075f8 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027800  0x000075f9 nbranch  0x00006c9d , 0x00000002 
+ 00027801  0x000075fa lshift  0x0000003f , 0x0000003f 
+ 00027802  0x000075fb set1  0x00000000 , 0x0000003f 
+ 00027803  0x000075fc istore  0x00000001 , 0x00000005 
+ 00027804  0x000075fd rtn 
+ 00027805  0x000075ff fetch  0x00000002 , 0x0000469f 
+ 00027806  0x00007600 rshift3  0x0000003f , 0x0000003f 
+ 00027807  0x00007601 rshift4  0x0000003f , 0x00000002 
+ 00027808  0x00007602 and_into  0x0000007f , 0x0000003f 
+ 00027809  0x00007603 lshift  0x0000003f , 0x0000003f 
+ 00027810  0x00007604 set0  0x00000000 , 0x0000003f 
+ 00027811  0x00007605 istore  0x00000001 , 0x00000005 
+ 00027812  0x00007606 istoret  0x00000001 , 0x00000005 
+ 00027813  0x00007607 rtn 
+ 00027814  0x00007609 fetch  0x00000001 , 0x00004569 
+ 00027815  0x0000760a rtn  0x00000034 
+ 00027816  0x0000760b istore  0x00000001 , 0x00000005 
+ 00027817  0x0000760c rtn 
+ 00027818  0x00007612 bpatchx  0x000000b6 , 0x00004036 
+ 00027819  0x00007613 call  0x00007d9c 
+ 00027820  0x00007614 call  0x000032f6 
+ 00027821  0x00007615 call  0x0000631b 
+ 00027822  0x00007617 bpatchx  0x000000b7 , 0x00004036 
+ 00027823  0x00007618 call  0x000076dc 
+ 00027824  0x00007619 call  0x000076b5 
+ 00027825  0x0000761a call  0x000076c6 
+ 00027826  0x0000761d call  0x0000526e 
+ 00027827  0x0000761e nrtn  0x00000034 
+ 00027828  0x00007620 call  0x00004da9 
+ 00027829  0x00007621 call  0x0000526e 
+ 00027830  0x00007622 nrtn  0x00000034 
+ 00027831  0x00007623 bpatchx  0x000000b8 , 0x00004037 
+ 00027832  0x00007625 call  0x00006cf5 
+ 00027833  0x00007626 call  0x00004f64 
+ 00027834  0x00007627 call  0x00006b98 
+ 00027835  0x00007629 call  0x00006cbe 
+ 00027836  0x0000762a bpatchx  0x000000b9 , 0x00004037 
+ 00027837  0x0000762d branch  0x000032f2 
+ 00027838  0x00007630 fetch  0x00000001 , 0x0000027f 
+ 00027839  0x00007631 bbit1  0x00000000 , 0x00005087 
+ 00027840  0x00007632 bbit1  0x00000007 , 0x00005091 
+ 00027841  0x00007633 rtn 
+ 00027842  0x00007636 bpatchx  0x000000ba , 0x00004037 
+ 00027843  0x00007637 call  0x00005274 
+ 00027844  0x00007638 rtn  0x00000034 
+ 00027845  0x00007639 fetch  0x00000001 , 0x0000004b 
+ 00027846  0x0000763a rtnbit1  0x00000006 
+ 00027847  0x0000763b call  0x00005258 
+ 00027848  0x0000763c store  0x00000002 , 0x0000016f 
+ 00027849  0x0000763d copy  0x0000003f , 0x00000006 
+ 00027850  0x0000763e ifetch  0x00000002 , 0x00000006 
+ 00027851  0x0000763f increase  0x00000004 , 0x0000003f 
+ 00027852  0x00007640 store  0x00000002 , 0x000041dc 
+ 00027853  0x00007641 jam  0x00000006 , 0x000041db 
+ 00027854  0x00007642 bpatchx  0x000000bb , 0x00004037 
+ 00027855  0x00007643 fetch  0x00000002 , 0x00004246 
+ 00027856  0x00007644 branch  0x00006cdd , 0x00000034 
+ 00027857  0x00007645 fetch  0x00000001 , 0x0000004b 
+ 00027858  0x00007646 rtnbit0  0x00000007 
+ 00027859  0x00007647 set0  0x00000007 , 0x0000003f 
+ 00027860  0x00007648 store  0x00000001 , 0x0000004b 
+ 00027861  0x00007649 jam  0x00000005 , 0x000041db 
+ 00027862  0x0000764a fetcht  0x00000002 , 0x00004246 
+ 00027863  0x0000764b fetch  0x00000002 , 0x0000016f 
+ 00027864  0x0000764c iadd  0x00000002 , 0x0000003f 
+ 00027865  0x0000764d store  0x00000002 , 0x0000016f 
+ 00027866  0x0000764e fetch  0x00000002 , 0x000041dc 
+ 00027867  0x0000764f isub  0x00000002 , 0x0000003f 
+ 00027868  0x00007650 store  0x00000002 , 0x000041dc 
+ 00027869  0x00007652 bpatchx  0x000000bc , 0x00004037 
+ 00027870  0x00007653 fetch  0x00000002 , 0x000041dc 
+ 00027871  0x00007654 branch  0x00002a8c , 0x00000034 
+ 00027872  0x00007655 arg  0x00000104 , 0x00000002 
+ 00027873  0x00007656 isub  0x00000002 , 0x0000003f 
+ 00027874  0x00007657 nbranch  0x00006ce9 , 0x00000002 
+ 00027875  0x00007658 bpatchx  0x000000bd , 0x00004037 
+ 00027876  0x00007659 storet  0x00000002 , 0x000041dc 
+ 00027877  0x0000765a fetch  0x00000002 , 0x00004246 
+ 00027878  0x0000765b iadd  0x00000002 , 0x0000003f 
+ 00027879  0x0000765c store  0x00000002 , 0x00004246 
+ 00027880  0x0000765d branch  0x00006ceb 
+ 00027881  0x0000765f setarg  0x00000000 
+ 00027882  0x00007660 store  0x00000002 , 0x00004246 
+ 00027883  0x00007662 fetch  0x00000001 , 0x0000004b 
+ 00027884  0x00007663 set1  0x00000006 , 0x0000003f 
+ 00027885  0x00007664 store  0x00000001 , 0x0000004b 
+ 00027886  0x00007665 rtn 
+ 00027887  0x00007668 fetch  0x00000001 , 0x00004684 
+ 00027888  0x00007669 bbit1  0x00000000 , 0x00006cf3 
+ 00027889  0x0000766a jam  0x00000001 , 0x00000287 
+ 00027890  0x0000766b rtn 
+ 00027891  0x0000766d jam  0x0000000f , 0x00000287 
+ 00027892  0x0000766e rtn 
+ 00027893  0x00007671 fetch  0x00000001 , 0x00004681 
+ 00027894  0x00007672 nbranch  0x00006cfb , 0x00000034 
+ 00027895  0x00007674 fetch  0x00000001 , 0x00000286 
+ 00027896  0x00007676 rtn  0x00000034 
+ 00027897  0x00007678 jam  0x00000000 , 0x00000286 
+ 00027898  0x0000767a rtn 
+ 00027899  0x0000767e bpatchx  0x000000be , 0x00004037 
+ 00027900  0x0000767f fetch  0x00000001 , 0x00000287 
+ 00027901  0x00007680 rtn  0x00000034 
+ 00027902  0x00007681 beq  0x00000001 , 0x00006d1b 
+ 00027903  0x00007682 beq  0x00000002 , 0x00006d74 
+ 00027904  0x00007683 beq  0x00000003 , 0x00006d21 
+ 00027905  0x00007684 beq  0x00000004 , 0x00006d78 
+ 00027906  0x00007685 beq  0x0000003b , 0x00006d2b 
+ 00027907  0x00007686 beq  0x0000003c , 0x00006d7b 
+ 00027908  0x00007687 beq  0x0000000d , 0x00006d30 
+ 00027909  0x00007688 beq  0x0000000e , 0x00006d80 
+ 00027910  0x00007689 beq  0x0000000f , 0x00006d33 
+ 00027911  0x0000768a beq  0x00000010 , 0x00006d86 
+ 00027912  0x0000768b beq  0x00000011 , 0x00006d39 
+ 00027913  0x0000768c beq  0x00000012 , 0x00006d8a 
+ 00027914  0x0000768d beq  0x00000013 , 0x00006d3f 
+ 00027915  0x0000768e beq  0x00000014 , 0x00006d8e 
+ 00027916  0x0000768f beq  0x00000015 , 0x00006d45 
+ 00027917  0x00007690 beq  0x00000016 , 0x00006d92 
+ 00027918  0x00007691 beq  0x00000017 , 0x00006d4b 
+ 00027919  0x00007692 beq  0x00000018 , 0x00006d97 
+ 00027920  0x00007693 beq  0x00000019 , 0x00006d51 
+ 00027921  0x00007694 beq  0x0000001a , 0x00006d9b 
+ 00027922  0x00007695 beq  0x0000001b , 0x00006d57 
+ 00027923  0x00007696 beq  0x0000001c , 0x00006d9f 
+ 00027924  0x00007697 beq  0x0000001d , 0x00006d5d 
+ 00027925  0x00007698 beq  0x0000001e , 0x00006da4 
+ 00027926  0x00007699 beq  0x0000001f , 0x00006d63 
+ 00027927  0x0000769a beq  0x00000020 , 0x00006da8 
+ 00027928  0x0000769b beq  0x00000021 , 0x00006d6e 
+ 00027929  0x0000769c beq  0x00000022 , 0x00006dac 
+ 00027930  0x0000769e rtn 
+ 00027931  0x000076a0 call  0x00006db7 
+ 00027932  0x000076a1 jam  0x00000002 , 0x00000287 
+ 00027933  0x000076a2 fetch  0x00000001 , 0x00004250 
+ 00027934  0x000076a3 set1  0x00000000 , 0x0000003f 
+ 00027935  0x000076a4 store  0x00000001 , 0x00004250 
+ 00027936  0x000076a5 rtn 
+ 00027937  0x000076a7 jam  0x00000004 , 0x00000287 
+ 00027938  0x000076a8 fetch  0x00000001 , 0x00004250 
+ 00027939  0x000076a9 rtnbit1  0x00000002 
+ 00027940  0x000076aa jam  0x00000003 , 0x00000287 
+ 00027941  0x000076ab call  0x00006dbe 
+ 00027942  0x000076ac jam  0x00000004 , 0x00000287 
+ 00027943  0x000076ad fetch  0x00000001 , 0x00004250 
+ 00027944  0x000076ae set1  0x00000002 , 0x0000003f 
+ 00027945  0x000076af store  0x00000001 , 0x00004250 
+ 00027946  0x000076b0 rtn 
+ 00027947  0x000076b2 call  0x00005274 
+ 00027948  0x000076b3 nrtn  0x00000034 
+ 00027949  0x000076b4 call  0x00006dcd 
+ 00027950  0x000076b5 jam  0x0000003c , 0x00000287 
+ 00027951  0x000076b6 rtn 
+ 00027952  0x000076b8 call  0x00006dc3 
+ 00027953  0x000076b9 jam  0x0000000e , 0x00000287 
+ 00027954  0x000076ba rtn 
+ 00027955  0x000076bc call  0x00006ddd 
+ 00027956  0x000076bd jam  0x00000010 , 0x00000287 
+ 00027957  0x000076be fetch  0x00000001 , 0x00004252 
+ 00027958  0x000076bf set1  0x00000000 , 0x0000003f 
+ 00027959  0x000076c0 store  0x00000001 , 0x00004252 
+ 00027960  0x000076c1 rtn 
+ 00027961  0x000076c3 call  0x00006de4 
+ 00027962  0x000076c4 jam  0x00000012 , 0x00000287 
+ 00027963  0x000076c5 fetch  0x00000001 , 0x00004252 
+ 00027964  0x000076c6 set1  0x00000002 , 0x0000003f 
+ 00027965  0x000076c7 store  0x00000001 , 0x00004252 
+ 00027966  0x000076c8 rtn 
+ 00027967  0x000076ca call  0x00006de9 
+ 00027968  0x000076cb jam  0x00000014 , 0x00000287 
+ 00027969  0x000076cc fetch  0x00000001 , 0x00004253 
+ 00027970  0x000076cd set1  0x00000000 , 0x0000003f 
+ 00027971  0x000076ce store  0x00000001 , 0x00004253 
+ 00027972  0x000076cf rtn 
+ 00027973  0x000076d1 call  0x00006df0 
+ 00027974  0x000076d2 jam  0x00000016 , 0x00000287 
+ 00027975  0x000076d3 fetch  0x00000001 , 0x00004253 
+ 00027976  0x000076d4 set1  0x00000002 , 0x0000003f 
+ 00027977  0x000076d5 store  0x00000001 , 0x00004253 
+ 00027978  0x000076d6 rtn 
+ 00027979  0x000076d8 call  0x00006dd1 
+ 00027980  0x000076d9 jam  0x00000018 , 0x00000287 
+ 00027981  0x000076da fetch  0x00000001 , 0x00004251 
+ 00027982  0x000076db set1  0x00000000 , 0x0000003f 
+ 00027983  0x000076dc store  0x00000001 , 0x00004251 
+ 00027984  0x000076dd rtn 
+ 00027985  0x000076df call  0x00006dd8 
+ 00027986  0x000076e0 jam  0x0000001a , 0x00000287 
+ 00027987  0x000076e1 fetch  0x00000001 , 0x00004251 
+ 00027988  0x000076e2 set1  0x00000002 , 0x0000003f 
+ 00027989  0x000076e3 store  0x00000001 , 0x00004251 
+ 00027990  0x000076e4 rtn 
+ 00027991  0x000076e6 call  0x00006df5 
+ 00027992  0x000076e7 jam  0x0000001c , 0x00000287 
+ 00027993  0x000076e8 fetch  0x00000001 , 0x00004251 
+ 00027994  0x000076e9 set1  0x00000006 , 0x0000003f 
+ 00027995  0x000076ea store  0x00000001 , 0x00004251 
+ 00027996  0x000076eb rtn 
+ 00027997  0x000076ed call  0x00006dfc 
+ 00027998  0x000076ee fetch  0x00000001 , 0x00004254 
+ 00027999  0x000076ef set1  0x00000000 
+ 00028000  0x000076f0 store  0x00000001 , 0x00004254 
+ 00028001  0x000076f1 jam  0x0000001e , 0x00000287 
+ 00028002  0x000076f2 rtn 
+ 00028003  0x000076f4 call  0x00006e02 
+ 00028004  0x000076f5 fetch  0x00000001 , 0x00004254 
+ 00028005  0x000076f6 set1  0x00000002 
+ 00028006  0x000076f7 store  0x00000001 , 0x00004254 
+ 00028007  0x000076f8 jam  0x00000020 , 0x00000287 
+ 00028008  0x000076f9 fetch  0x00000001 , 0x00004564 
+ 00028009  0x000076fa lshift3  0x0000003f , 0x0000003f 
+ 00028010  0x000076fb or_into  0x00000003 , 0x0000003f 
+ 00028011  0x000076fc arg  0x00004565 , 0x00000002 
+ 00028012  0x000076fd storet  0x00000002 , 0x000004f7 
+ 00028013  0x000076fe branch  0x00006a35 
+ 00028014  0x00007700 call  0x00006e0c 
+ 00028015  0x00007701 fetch  0x00000001 , 0x00004254 
+ 00028016  0x00007702 set1  0x00000004 
+ 00028017  0x00007703 store  0x00000001 , 0x00004254 
+ 00028018  0x00007704 jam  0x00000022 , 0x00000287 
+ 00028019  0x00007705 rtn 
+ 00028020  0x00007708 fetch  0x00000001 , 0x00004250 
+ 00028021  0x00007709 rtnbit0  0x00000001 
+ 00028022  0x0000770a jam  0x00000003 , 0x00000287 
+ 00028023  0x0000770b branch  0x00006cfb 
+ 00028024  0x0000770d fetch  0x00000001 , 0x00004250 
+ 00028025  0x0000770e rtnne  0x0000003f 
+ 00028026  0x0000770f jam  0x0000003b , 0x00000287 
+ 00028027  0x00007711 fetch  0x00000001 , 0x00000285 
+ 00028028  0x00007712 rtnne  0x00000017 
+ 00028029  0x00007713 jam  0x00000000 , 0x00000285 
+ 00028030  0x00007714 jam  0x0000000d , 0x00000287 
+ 00028031  0x00007715 branch  0x00006cfb 
+ 00028032  0x00007717 fetch  0x00000001 , 0x00004250 
+ 00028033  0x00007718 nrtn  0x00000034 
+ 00028034  0x00007719 fetch  0x00000001 , 0x00004684 
+ 00028035  0x0000771a bbit1  0x00000000 , 0x00006daf 
+ 00028036  0x0000771b bbit1  0x00000006 , 0x00006db1 
+ 00028037  0x0000771c branch  0x00006db5 
+ 00028038  0x0000771e fetch  0x00000001 , 0x00004252 
+ 00028039  0x0000771f rtnbit0  0x00000001 
+ 00028040  0x00007720 jam  0x00000011 , 0x00000287 
+ 00028041  0x00007721 branch  0x00006cfb 
+ 00028042  0x00007723 fetch  0x00000001 , 0x00004252 
+ 00028043  0x00007724 rtnne  0x0000003f 
+ 00028044  0x00007725 jam  0x00000013 , 0x00000287 
+ 00028045  0x00007726 branch  0x00006cfb 
+ 00028046  0x00007728 fetch  0x00000001 , 0x00004253 
+ 00028047  0x00007729 rtnbit0  0x00000001 
+ 00028048  0x0000772a jam  0x00000015 , 0x00000287 
+ 00028049  0x0000772b branch  0x00006cfb 
+ 00028050  0x0000772d fetch  0x00000001 , 0x00004253 
+ 00028051  0x0000772e rtnne  0x0000003f 
+ 00028052  0x0000772f fetch  0x00000001 , 0x00004684 
+ 00028053  0x00007730 bbit1  0x00000006 , 0x00006db1 
+ 00028054  0x00007731 branch  0x00006db5 
+ 00028055  0x00007733 fetch  0x00000001 , 0x00004251 
+ 00028056  0x00007734 rtnbit0  0x00000001 
+ 00028057  0x00007735 jam  0x00000019 , 0x00000287 
+ 00028058  0x00007736 branch  0x00006cfb 
+ 00028059  0x00007738 fetch  0x00000001 , 0x00004251 
+ 00028060  0x00007739 rtnne  0x0000003f 
+ 00028061  0x0000773a jam  0x0000001b , 0x00000287 
+ 00028062  0x0000773b branch  0x00006cfb 
+ 00028063  0x0000773d fetch  0x00000001 , 0x00004251 
+ 00028064  0x0000773e rtnne  0x000000ff 
+ 00028065  0x0000773f fetch  0x00000001 , 0x00004684 
+ 00028066  0x00007740 bbit1  0x00000006 , 0x00006db3 
+ 00028067  0x00007741 branch  0x00006db5 
+ 00028068  0x00007743 fetch  0x00000001 , 0x00004254 
+ 00028069  0x00007744 rtnbit0  0x00000001 
+ 00028070  0x00007745 jam  0x0000001f , 0x00000287 
+ 00028071  0x00007746 branch  0x00006cfb 
+ 00028072  0x00007748 fetch  0x00000001 , 0x00004254 
+ 00028073  0x00007749 rtnbit0  0x00000003 
+ 00028074  0x0000774a jam  0x00000021 , 0x00000287 
+ 00028075  0x0000774b branch  0x00006cfb 
+ 00028076  0x0000774d fetch  0x00000001 , 0x00004254 
+ 00028077  0x0000774e rtnne  0x000000ff 
+ 00028078  0x0000774f branch  0x00006db5 
+ 00028079  0x00007752 jam  0x0000000f , 0x00000287 
+ 00028080  0x00007753 branch  0x00006cfb 
+ 00028081  0x00007756 jam  0x00000017 , 0x00000287 
+ 00028082  0x00007757 branch  0x00006cfb 
+ 00028083  0x00007759 jam  0x0000001d , 0x00000287 
+ 00028084  0x0000775a branch  0x00006cfb 
+ 00028085  0x0000775f jam  0x00000000 , 0x00000287 
+ 00028086  0x00007760 rtn 
+ 00028087  0x00007762 bpatchx  0x000000bf , 0x00004037 
+ 00028088  0x00007763 call  0x000052b8 
+ 00028089  0x00007764 setarg  0x00000001 
+ 00028090  0x00007765 copy  0x0000003f , 0x00000002 
+ 00028091  0x00007766 setarg  0x00000050 
+ 00028092  0x00007767 copy  0x0000003f , 0x0000000b 
+ 00028093  0x00007768 branch  0x000050a8 
+ 00028094  0x0000776b bpatchx  0x000000c0 , 0x00004038 
+ 00028095  0x0000776c call  0x000052b8 
+ 00028096  0x0000776d fetch  0x00000002 , 0x00004248 
+ 00028097  0x0000776e copy  0x0000003f , 0x00000002 
+ 00028098  0x0000776f branch  0x000050b7 
+ 00028099  0x00007772 bpatchx  0x000000c1 , 0x00004038 
+ 00028100  0x00007773 call  0x000052b8 
+ 00028101  0x00007774 fetch  0x00000002 , 0x00004248 
+ 00028102  0x00007775 copy  0x0000003f , 0x00000002 
+ 00028103  0x00007776 arg  0x00000050 , 0x0000000b 
+ 00028104  0x00007777 call  0x000050cc 
+ 00028105  0x00007778 fetch  0x00000001 , 0x00004250 
+ 00028106  0x00007779 set0  0x00000005 , 0x0000003f 
+ 00028107  0x0000777a store  0x00000001 , 0x00004250 
+ 00028108  0x0000777b rtn 
+ 00028109  0x0000777e bpatchx  0x000000c2 , 0x00004038 
+ 00028110  0x0000777f call  0x000052c5 
+ 00028111  0x00007780 call  0x00007138 
+ 00028112  0x00007781 branch  0x000050e7 
+ 00028113  0x00007784 bpatchx  0x000000c3 , 0x00004038 
+ 00028114  0x00007785 call  0x000052b8 
+ 00028115  0x00007786 setarg  0x00000003 
+ 00028116  0x00007787 copy  0x0000003f , 0x00000002 
+ 00028117  0x00007788 setarg  0x00000051 
+ 00028118  0x00007789 copy  0x0000003f , 0x0000000b 
+ 00028119  0x0000778a branch  0x000050a8 
+ 00028120  0x0000778d bpatchx  0x000000c4 , 0x00004038 
+ 00028121  0x0000778e call  0x000052b8 
+ 00028122  0x0000778f fetch  0x00000002 , 0x0000424a 
+ 00028123  0x00007790 copy  0x0000003f , 0x00000002 
+ 00028124  0x00007791 branch  0x000050b7 
+ 00028125  0x00007794 bpatchx  0x000000c5 , 0x00004038 
+ 00028126  0x00007795 call  0x000052b8 
+ 00028127  0x00007796 setarg  0x00000011 
+ 00028128  0x00007797 copy  0x0000003f , 0x00000002 
+ 00028129  0x00007798 setarg  0x00000052 
+ 00028130  0x00007799 copy  0x0000003f , 0x0000000b 
+ 00028131  0x0000779a branch  0x000050a8 
+ 00028132  0x0000779d bpatchx  0x000000c6 , 0x00004038 
+ 00028133  0x0000779e call  0x000052b8 
+ 00028134  0x0000779f fetch  0x00000002 , 0x0000424c 
+ 00028135  0x000077a0 copy  0x0000003f , 0x00000002 
+ 00028136  0x000077a1 branch  0x000050b7 
+ 00028137  0x000077a4 bpatchx  0x000000c7 , 0x00004038 
+ 00028138  0x000077a5 call  0x000052b8 
+ 00028139  0x000077a6 setarg  0x00000013 
+ 00028140  0x000077a7 copy  0x0000003f , 0x00000002 
+ 00028141  0x000077a8 setarg  0x00000053 
+ 00028142  0x000077a9 copy  0x0000003f , 0x0000000b 
+ 00028143  0x000077aa branch  0x000050a8 
+ 00028144  0x000077ad bpatchx  0x000000c8 , 0x00004039 
+ 00028145  0x000077ae call  0x000052b8 
+ 00028146  0x000077af fetch  0x00000002 , 0x0000424e 
+ 00028147  0x000077b0 copy  0x0000003f , 0x00000002 
+ 00028148  0x000077b1 branch  0x000050b7 
+ 00028149  0x000077b4 bpatchx  0x000000c9 , 0x00004039 
+ 00028150  0x000077b5 call  0x000052d2 
+ 00028151  0x000077b7 jam  0x00000003 , 0x000004fb 
+ 00028152  0x000077b8 jam  0x0000001c , 0x000004fe 
+ 00028153  0x000077b9 call  0x00006ba9 
+ 00028154  0x000077ba jam  0x00000001 , 0x00004563 
+ 00028155  0x000077bb rtn 
+ 00028156  0x000077be bpatchx  0x000000ca , 0x00004039 
+ 00028157  0x000077bf call  0x000052d2 
+ 00028158  0x000077c0 fetcht  0x00000001 , 0x00004564 
+ 00028159  0x000077c1 call  0x00006a79 
+ 00028160  0x000077c2 storet  0x00000001 , 0x0000455d 
+ 00028161  0x000077c3 branch  0x00006bc4 
+ 00028162  0x000077c6 bpatchx  0x000000cb , 0x00004039 
+ 00028163  0x000077c7 call  0x000052d2 
+ 00028164  0x000077c8 fetcht  0x00000001 , 0x0000455d 
+ 00028165  0x000077c9 call  0x00006a73 
+ 00028166  0x000077ca call  0x00006a1a 
+ 00028167  0x000077cb store  0x00000001 , 0x000004fe 
+ 00028168  0x000077cc fetcht  0x00000001 , 0x0000455d 
+ 00028169  0x000077cd call  0x00006a73 
+ 00028170  0x000077ce storet  0x00000001 , 0x000004fb 
+ 00028171  0x000077cf branch  0x00006ba9 
+ 00028172  0x000077d2 bpatchx  0x000000cc , 0x00004039 
+ 00028173  0x000077d3 call  0x000052d2 
+ 00028174  0x000077d4 fetcht  0x00000001 , 0x0000455d 
+ 00028175  0x000077d5 call  0x00006a73 
+ 00028176  0x000077d6 branch  0x00006bfc 
+ 00028177  0x000077e4 bpatchx  0x000000cd , 0x00004039 
+ 00028178  0x000077e5 fetch  0x00000002 , 0x00000264 
+ 00028179  0x000077e6 iforce  0x00000006 
+ 00028180  0x000077e9 ifetch  0x00000001 , 0x00000006 
+ 00028181  0x000077ea copy  0x0000003f , 0x00000012 
+ 00028182  0x000077eb store  0x00000001 , 0x0000051b 
+ 00028183  0x000077ec ifetch  0x00000002 , 0x00000006 
+ 00028184  0x000077ed store  0x00000002 , 0x0000051c 
+ 00028185  0x000077ee ifetch  0x00000001 , 0x00000006 
+ 00028186  0x000077ef lshift8  0x0000003f , 0x0000000b 
+ 00028187  0x000077f0 ifetch  0x00000001 , 0x00000006 
+ 00028188  0x000077f1 iadd  0x0000000b , 0x0000000b 
+ 00028189  0x000077f2 bpatchx  0x000000ce , 0x00004039 
+ 00028190  0x000077f3 copy  0x00000006 , 0x00000002 
+ 00028191  0x000077f4 arg  0x00000004 , 0x00000039 
+ 00028192  0x000077f5 arg  0x0000052a , 0x00000005 
+ 00028193  0x000077f6 call  0x00007ec6 
+ 00028194  0x000077f7 copy  0x00000002 , 0x00000006 
+ 00028195  0x000077f8 deposit  0x00000012 
+ 00028196  0x000077f9 beq  0x00000001 , 0x00006fba 
+ 00028197  0x000077fa beq  0x00000002 , 0x00006e2c 
+ 00028198  0x000077fb beq  0x00000003 , 0x00006fba 
+ 00028199  0x000077fc beq  0x00000004 , 0x00006e54 
+ 00028200  0x000077fd beq  0x00000005 , 0x00006fba 
+ 00028201  0x000077fe beq  0x00000006 , 0x00006f02 
+ 00028202  0x000077ff beq  0x00000007 , 0x00006fba 
+ 00028203  0x00007800 branch  0x00006fc1 
+ 00028204  0x0000780c bpatchx  0x000000cf , 0x00004039 
+ 00028205  0x0000780d call  0x00006fd0 
+ 00028206  0x0000780e compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00028207  0x0000780f branch  0x00007040 , 0x00000001 
+ 00028208  0x00007810 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028209  0x00007811 branch  0x00006fc4 , 0x00000001 
+ 00028210  0x00007813 ifetch  0x00000002 , 0x00000006 
+ 00028211  0x00007814 store  0x00000002 , 0x00000522 
+ 00028212  0x00007815 increase  0xfffffffe , 0x0000000b 
+ 00028213  0x00007817 increase  0xffffffff , 0x0000000b 
+ 00028214  0x00007818 nbranch  0x00006fbe , 0x00000005 
+ 00028215  0x00007819 arg  0x00000511 , 0x0000000b 
+ 00028216  0x0000781a ifetch  0x00000002 , 0x0000000b 
+ 00028217  0x0000781b rtn  0x00000034 
+ 00028218  0x0000781c call  0x00007082 
+ 00028219  0x0000781d call  0x000052d0 
+ 00028220  0x0000781e force  0x00000003 , 0x0000003f 
+ 00028221  0x0000781f istore  0x00000001 , 0x00000005 
+ 00028222  0x00007820 fetch  0x00000002 , 0x0000051c 
+ 00028223  0x00007821 istore  0x00000002 , 0x00000005 
+ 00028224  0x00007822 lshift2  0x00000007 , 0x0000003f 
+ 00028225  0x00007823 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00028226  0x00007824 add  0x0000003f , 0x00000005 , 0x00000013 
+ 00028227  0x00007825 byteswap  0x0000003f , 0x0000003f 
+ 00028228  0x00007826 istore  0x00000002 , 0x00000005 
+ 00028229  0x00007827 deposit  0x00000007 
+ 00028230  0x00007828 byteswap  0x0000003f , 0x0000003f 
+ 00028231  0x00007829 istore  0x00000002 , 0x00000005 
+ 00028232  0x0000782a istore  0x00000002 , 0x00000005 
+ 00028233  0x0000782b arg  0x0000052a , 0x00000006 
+ 00028234  0x0000782c copy  0x00000007 , 0x00000039 
+ 00028235  0x0000782d branch  0x00006e4f , 0x00000005 
+ 00028236  0x0000782f ifetch  0x00000004 , 0x00000006 
+ 00028237  0x00007830 istore  0x00000004 , 0x00000005 
+ 00028238  0x00007831 loop  0x00006e4c 
+ 00028239  0x00007833 force  0x00000000 , 0x0000003f 
+ 00028240  0x00007834 istore  0x00000001 , 0x00000005 
+ 00028241  0x00007835 deposit  0x00000013 
+ 00028242  0x00007836 store  0x00000002 , 0x00000275 
+ 00028243  0x00007838 rtn 
+ 00028244  0x00007844 bpatchx  0x000000d0 , 0x0000403a 
+ 00028245  0x00007845 ifetch  0x00000004 , 0x00000006 
+ 00028246  0x00007846 store  0x00000004 , 0x00000524 
+ 00028247  0x00007847 increase  0xfffffffc , 0x0000000b 
+ 00028248  0x00007848 call  0x00006f2e 
+ 00028249  0x00007849 store  0x00000002 , 0x00000520 
+ 00028250  0x0000784a increase  0xfffffffe , 0x0000000b 
+ 00028251  0x0000784b call  0x00007028 
+ 00028252  0x0000784c branch  0x00006fc4 , 0x00000005 
+ 00028253  0x0000784d compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00028254  0x0000784f branch  0x00006e62 , 0x00000001 
+ 00028255  0x00007851 arg  0x0000052a , 0x00000005 
+ 00028256  0x00007852 force  0x00000000 , 0x00000007 
+ 00028257  0x00007853 branch  0x00006e71 
+ 00028258  0x00007855 ifetch  0x00000001 , 0x00000006 
+ 00028259  0x00007856 bne  0x0000000a , 0x00006fc4 
+ 00028260  0x00007857 ifetch  0x00000002 , 0x00000006 
+ 00028261  0x00007858 nbranch  0x00006e6f , 0x00000034 
+ 00028262  0x00007859 ifetch  0x00000001 , 0x00000006 
+ 00028263  0x0000785a bne  0x000000ff , 0x00006e6d 
+ 00028264  0x0000785b ifetch  0x00000001 , 0x00000006 
+ 00028265  0x0000785c bne  0x000000ff , 0x00006e6b 
+ 00028266  0x0000785d branch  0x00006eb8 
+ 00028267  0x0000785f increase  0xfffffffb , 0x00000006 
+ 00028268  0x00007860 branch  0x00006e5f 
+ 00028269  0x00007862 increase  0xfffffffc , 0x00000006 
+ 00028270  0x00007863 branch  0x00006e5f 
+ 00028271  0x00007865 increase  0xfffffffd , 0x00000006 
+ 00028272  0x00007866 branch  0x00006e5f 
+ 00028273  0x00007868 ifetch  0x00000001 , 0x00000006 
+ 00028274  0x00007869 beq  0x00000009 , 0x00006e86 
+ 00028275  0x0000786a beq  0x0000000a , 0x00006e74 
+ 00028276  0x0000786c ifetch  0x00000002 , 0x00000006 
+ 00028277  0x0000786d istore  0x00000002 , 0x00000005 
+ 00028278  0x0000786e increase  0x00000001 , 0x00000007 
+ 00028279  0x0000786f byteswap  0x0000003f , 0x00000012 
+ 00028280  0x00007870 ifetch  0x00000002 , 0x00000006 
+ 00028281  0x00007871 byteswap  0x0000003f , 0x0000003f 
+ 00028282  0x00007873 increase  0x00000001 , 0x00000012 
+ 00028283  0x00007874 isub  0x00000012 , 0x0000003e 
+ 00028284  0x00007875 nbranch  0x00006e83 , 0x00000002 
+ 00028285  0x00007876 copy  0x0000003f , 0x00000013 
+ 00028286  0x00007877 byteswap  0x00000012 , 0x0000003f 
+ 00028287  0x00007878 istore  0x00000002 , 0x00000005 
+ 00028288  0x00007879 increase  0x00000001 , 0x00000007 
+ 00028289  0x0000787a copy  0x00000013 , 0x0000003f 
+ 00028290  0x0000787b branch  0x00006e7a 
+ 00028291  0x0000787d increase  0xfffffffb , 0x0000000b 
+ 00028292  0x0000787e increase  0xfffffffb , 0x00000011 
+ 00028293  0x0000787f branch  0x00006e8b 
+ 00028294  0x00007881 ifetch  0x00000002 , 0x00000006 
+ 00028295  0x00007882 istore  0x00000002 , 0x00000005 
+ 00028296  0x00007883 increase  0x00000001 , 0x00000007 
+ 00028297  0x00007884 increase  0xfffffffd , 0x0000000b 
+ 00028298  0x00007885 increase  0xfffffffd , 0x00000011 
+ 00028299  0x00007887 nbranch  0x00006fc4 , 0x00000002 
+ 00028300  0x00007888 nbranch  0x00006e71 , 0x00000005 
+ 00028301  0x00007889 increase  0xffffffff , 0x0000000b 
+ 00028302  0x0000788a nbranch  0x00006fc4 , 0x00000005 
+ 00028303  0x0000788c call  0x000052d0 
+ 00028304  0x0000788d increase  0x0000000a , 0x00000005 
+ 00028305  0x0000788e arg  0x0000052a , 0x00000011 
+ 00028306  0x00007890 copy  0x00000007 , 0x0000003f 
+ 00028307  0x00007891 branch  0x00006ea5 , 0x00000034 
+ 00028308  0x00007892 ifetch  0x00000002 , 0x00000011 
+ 00028309  0x00007893 branch  0x00006ea5 , 0x00000034 
+ 00028310  0x00007894 iforce  0x00000012 
+ 00028311  0x00007895 fetch  0x00000004 , 0x00000524 
+ 00028312  0x00007896 iforce  0x00000002 
+ 00028313  0x00007897 call  0x000070e7 
+ 00028314  0x00007898 copy  0x00000006 , 0x0000003f 
+ 00028315  0x00007899 branch  0x00006ea2 , 0x00000034 
+ 00028316  0x0000789a increase  0xfffffffd , 0x00000006 
+ 00028317  0x0000789b ifetch  0x00000003 , 0x00000006 
+ 00028318  0x0000789c istore  0x00000003 , 0x00000005 
+ 00028319  0x0000789d call  0x0000705b 
+ 00028320  0x0000789e iforce  0x00000039 
+ 00028321  0x0000789f call  0x00007f01 
+ 00028322  0x000078a1 increase  0x00000002 , 0x00000011 
+ 00028323  0x000078a2 increase  0xffffffff , 0x00000007 
+ 00028324  0x000078a3 branch  0x00006e92 
+ 00028325  0x000078a6 arg  0x00000005 , 0x00000011 
+ 00028326  0x000078a7 call  0x00006f84 
+ 00028327  0x000078a8 fetch  0x00000002 , 0x00000275 
+ 00028328  0x000078a9 beq  0x0000000b , 0x00007043 
+ 00028329  0x000078aa branch  0x00006f9a 
+ 00028330  0x000078ae ifetch  0x00000001 , 0x00000006 
+ 00028331  0x000078af beq  0x00000000 , 0x00006eae 
+ 00028332  0x000078b0 beq  0x00000001 , 0x00006eb0 
+ 00028333  0x000078b1 beq  0x00000002 , 0x00006eb3 
+ 00028334  0x000078b3 increase  0xffffffff , 0x0000000b 
+ 00028335  0x000078b4 branch  0x00006eb6 
+ 00028336  0x000078b6 ifetch  0x00000001 , 0x00000006 
+ 00028337  0x000078b7 increase  0xfffffffe , 0x0000000b 
+ 00028338  0x000078b8 branch  0x00006eb6 
+ 00028339  0x000078ba ifetch  0x00000002 , 0x00000006 
+ 00028340  0x000078bb byteswap  0x0000003f , 0x0000003f 
+ 00028341  0x000078bc increase  0xfffffffd , 0x0000000b 
+ 00028342  0x000078be store  0x00000002 , 0x00000519 
+ 00028343  0x000078bf rtn 
+ 00028344  0x000078c2 increase  0xfffffffb , 0x0000000b 
+ 00028345  0x000078c3 call  0x00006eaa 
+ 00028346  0x000078c4 nbranch  0x00006fbe , 0x00000005 
+ 00028347  0x000078c5 fetcht  0x00000004 , 0x00000524 
+ 00028348  0x000078c6 call  0x000070b1 
+ 00028349  0x000078c7 nbranch  0x00006fbb , 0x00000005 
+ 00028350  0x000078c8 copy  0x00000006 , 0x00000011 
+ 00028351  0x000078c9 call  0x000052d0 
+ 00028352  0x000078ca copy  0x00000011 , 0x00000006 
+ 00028353  0x000078cb increase  0x00000003 , 0x00000005 
+ 00028354  0x000078cc copy  0x00000006 , 0x0000000b 
+ 00028355  0x000078cd call  0x00007062 
+ 00028356  0x000078ce copy  0x0000003f , 0x00000011 
+ 00028357  0x000078d0 fetch  0x00000002 , 0x00000519 
+ 00028358  0x000078d1 copy  0x0000003f , 0x00000012 
+ 00028359  0x000078d2 copy  0x00000011 , 0x0000003f 
+ 00028360  0x000078d3 isub  0x00000012 , 0x00000012 
+ 00028361  0x000078d4 fetch  0x00000002 , 0x00000520 
+ 00028362  0x000078d5 isub  0x00000012 , 0x0000003e 
+ 00028363  0x000078d6 nbranch  0x00006ee7 , 0x00000002 
+ 00028364  0x000078d8 disable  0x00000028 
+ 00028365  0x000078d9 fetch  0x00000002 , 0x00000519 
+ 00028366  0x000078da branch  0x00006eda , 0x00000034 
+ 00028367  0x000078db iadd  0x0000000b , 0x00000006 
+ 00028368  0x000078dc increase  0x00000003 , 0x00000012 
+ 00028369  0x000078dd copy  0x00000012 , 0x00000039 
+ 00028370  0x000078de copy  0x00000039 , 0x0000003f 
+ 00028371  0x000078df increase  0x00000003 , 0x0000003f 
+ 00028372  0x000078e0 byteswap  0x0000003f , 0x0000003f 
+ 00028373  0x000078e1 istore  0x00000002 , 0x00000005 
+ 00028374  0x000078e2 copy  0x00000039 , 0x0000003f 
+ 00028375  0x000078e3 byteswap  0x0000003f , 0x0000003f 
+ 00028376  0x000078e4 istore  0x00000002 , 0x00000005 
+ 00028377  0x000078e5 branch  0x00006ef5 
+ 00028378  0x000078e7 add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028379  0x000078e8 branch  0x00006ede , 0x00000028 
+ 00028380  0x000078e9 byteswap  0x00000039 , 0x0000003f 
+ 00028381  0x000078ea branch  0x00006ee1 
+ 00028382  0x000078ec copy  0x00000039 , 0x0000003f 
+ 00028383  0x000078ed increase  0x00000002 , 0x0000003f 
+ 00028384  0x000078ee byteswap  0x0000003f , 0x0000003f 
+ 00028385  0x000078f0 istore  0x00000002 , 0x00000005 
+ 00028386  0x000078f1 increase  0xfffffffd , 0x00000039 
+ 00028387  0x000078f2 byteswap  0x00000039 , 0x0000003f 
+ 00028388  0x000078f3 istore  0x00000002 , 0x00000005 
+ 00028389  0x000078f4 copy  0x0000000b , 0x00000006 
+ 00028390  0x000078f5 branch  0x00006ef5 
+ 00028391  0x000078f7 enable  0x00000028 
+ 00028392  0x000078f9 fetch  0x00000002 , 0x00000520 
+ 00028393  0x000078fa copy  0x0000003f , 0x00000011 
+ 00028394  0x000078fb copy  0x00000011 , 0x00000039 
+ 00028395  0x000078fc fetch  0x00000002 , 0x00000519 
+ 00028396  0x000078fd branch  0x00006eda , 0x00000034 
+ 00028397  0x000078fe iadd  0x0000000b , 0x00000006 
+ 00028398  0x000078ff copy  0x00000011 , 0x0000003f 
+ 00028399  0x00007900 increase  0x00000005 , 0x0000003f 
+ 00028400  0x00007901 byteswap  0x0000003f , 0x0000003f 
+ 00028401  0x00007902 istore  0x00000002 , 0x00000005 
+ 00028402  0x00007903 copy  0x00000011 , 0x0000003f 
+ 00028403  0x00007904 byteswap  0x0000003f , 0x0000003f 
+ 00028404  0x00007905 istore  0x00000002 , 0x00000005 
+ 00028405  0x00007907 call  0x00007f01 
+ 00028406  0x00007908 nbranch  0x00006efe , 0x00000028 
+ 00028407  0x00007909 force  0x00000002 , 0x0000003f 
+ 00028408  0x0000790a istore  0x00000001 , 0x00000005 
+ 00028409  0x0000790b copy  0x00000006 , 0x0000003f 
+ 00028410  0x0000790c isub  0x0000000b , 0x0000003f 
+ 00028411  0x0000790d byteswap  0x0000003f , 0x0000003f 
+ 00028412  0x0000790e istore  0x00000002 , 0x00000005 
+ 00028413  0x0000790f branch  0x00006f00 
+ 00028414  0x00007911 force  0x00000000 , 0x0000003f 
+ 00028415  0x00007912 istore  0x00000001 , 0x00000005 
+ 00028416  0x00007914 arg  0x00000005 , 0x00000011 
+ 00028417  0x00007915 branch  0x00006fb0 
+ 00028418  0x00007921 bpatchx  0x000000d1 , 0x0000403a 
+ 00028419  0x00007922 call  0x00006fd0 
+ 00028420  0x00007923 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028421  0x00007924 branch  0x00006fc4 , 0x00000001 
+ 00028422  0x00007925 call  0x00006f2e 
+ 00028423  0x00007926 store  0x00000002 , 0x00000520 
+ 00028424  0x00007927 increase  0xfffffffe , 0x0000000b 
+ 00028425  0x00007928 call  0x00007028 
+ 00028426  0x00007929 arg  0x0000052a , 0x00000005 
+ 00028427  0x0000792a force  0x00000000 , 0x00000007 
+ 00028428  0x0000792c ifetch  0x00000001 , 0x00000006 
+ 00028429  0x0000792d beq  0x0000000a , 0x00006f36 
+ 00028430  0x0000792e ifetch  0x00000002 , 0x00000006 
+ 00028431  0x0000792f istore  0x00000002 , 0x00000005 
+ 00028432  0x00007930 increase  0x00000001 , 0x00000007 
+ 00028433  0x00007931 increase  0xfffffffd , 0x0000000b 
+ 00028434  0x00007932 increase  0xfffffffd , 0x00000011 
+ 00028435  0x00007933 nbranch  0x00006fc4 , 0x00000002 
+ 00028436  0x00007934 nbranch  0x00006f0c , 0x00000005 
+ 00028437  0x00007935 increase  0xffffffff , 0x0000000b 
+ 00028438  0x00007936 nbranch  0x00006fc4 , 0x00000005 
+ 00028439  0x00007937 call  0x000052d0 
+ 00028440  0x00007938 increase  0x0000000d , 0x00000005 
+ 00028441  0x00007939 fetch  0x00000002 , 0x00000511 
+ 00028442  0x0000793a iforce  0x00000013 
+ 00028443  0x0000793b arg  0x0000052a , 0x00000011 
+ 00028444  0x0000793d ifetch  0x00000002 , 0x00000011 
+ 00028445  0x0000793e branch  0x00006f29 , 0x00000034 
+ 00028446  0x0000793f iforce  0x00000012 
+ 00028447  0x00007940 call  0x000070c6 
+ 00028448  0x00007941 branch  0x00006f27 , 0x00000034 
+ 00028449  0x00007942 increase  0xfffffffd , 0x00000006 
+ 00028450  0x00007943 ifetch  0x00000003 , 0x00000006 
+ 00028451  0x00007944 istore  0x00000003 , 0x00000005 
+ 00028452  0x00007945 call  0x0000705b 
+ 00028453  0x00007946 iforce  0x00000039 
+ 00028454  0x00007947 call  0x00007f01 
+ 00028455  0x00007949 increase  0x00000002 , 0x00000011 
+ 00028456  0x0000794a branch  0x00006f1c 
+ 00028457  0x0000794d call  0x00006f83 
+ 00028458  0x0000794e fetch  0x00000002 , 0x00000275 
+ 00028459  0x0000794f beq  0x0000000e , 0x00007046 
+ 00028460  0x00007950 call  0x00006f9a 
+ 00028461  0x00007951 branch  0x00006f9a 
+ 00028462  0x00007955 ifetch  0x00000002 , 0x00000006 
+ 00028463  0x00007956 byteswap  0x0000003f , 0x0000003f 
+ 00028464  0x00007957 increase  0xfffffffd , 0x0000003f 
+ 00028465  0x00007958 arg  0x000000c8 , 0x00000002 
+ 00028466  0x00007959 isub  0x00000002 , 0x0000003e 
+ 00028467  0x0000795a nrtn  0x00000002 
+ 00028468  0x0000795b setarg  0x000000c8 
+ 00028469  0x0000795c rtn 
+ 00028470  0x00007960 increase  0x00000004 , 0x00000006 
+ 00028471  0x00007961 increase  0xfffffffb , 0x0000000b 
+ 00028472  0x00007962 increase  0xfffffffb , 0x00000011 
+ 00028473  0x00007963 nbranch  0x00006fc4 , 0x00000005 
+ 00028474  0x00007964 call  0x00006eaa 
+ 00028475  0x00007965 nbranch  0x00006fbe , 0x00000005 
+ 00028476  0x00007966 arg  0x00000511 , 0x0000000b 
+ 00028477  0x00007967 call  0x00007082 
+ 00028478  0x00007968 deposit  0x00000007 
+ 00028479  0x00007969 branch  0x00007046 , 0x00000034 
+ 00028480  0x0000796a store  0x00000001 , 0x0000054e 
+ 00028481  0x0000796c copy  0x00000012 , 0x0000003f 
+ 00028482  0x0000796d store  0x00000002 , 0x0000054c 
+ 00028483  0x0000796e arg  0x00000000 , 0x00000007 
+ 00028484  0x0000796f arg  0x00000000 , 0x00000011 
+ 00028485  0x00007970 call  0x000052d0 
+ 00028486  0x00007971 increase  0x0000000a , 0x00000005 
+ 00028487  0x00007973 call  0x00006f6c 
+ 00028488  0x00007974 nbranch  0x00002a8c , 0x00000028 
+ 00028489  0x00007975 copy  0x00000006 , 0x0000000b 
+ 00028490  0x00007976 copy  0x0000003f , 0x00000013 
+ 00028491  0x00007977 iadd  0x00000011 , 0x00000011 
+ 00028492  0x0000797a fetch  0x00000002 , 0x00000519 
+ 00028493  0x0000797b copy  0x0000003f , 0x00000012 
+ 00028494  0x0000797c branch  0x00006f75 , 0x00000034 
+ 00028495  0x0000797e copy  0x00000011 , 0x0000003f 
+ 00028496  0x0000797f isub  0x00000012 , 0x00000012 
+ 00028497  0x00007980 branch  0x00006f67 , 0x00000005 
+ 00028498  0x00007981 nbranch  0x00006f67 , 0x00000002 
+ 00028499  0x00007982 fetch  0x00000002 , 0x00000520 
+ 00028500  0x00007983 isub  0x00000012 , 0x0000003e 
+ 00028501  0x00007984 branch  0x00006f5e , 0x00000005 
+ 00028502  0x00007985 nbranch  0x00006f5e , 0x00000002 
+ 00028503  0x00007989 copy  0x00000012 , 0x00000039 
+ 00028504  0x0000798a call  0x00006f61 
+ 00028505  0x0000798b fetch  0x00000001 , 0x0000054e 
+ 00028506  0x0000798c increase  0x00000001 , 0x00000007 
+ 00028507  0x0000798d isub  0x00000007 , 0x0000003e 
+ 00028508  0x0000798e branch  0x00006f83 , 0x00000005 
+ 00028509  0x0000798f branch  0x00006fa0 
+ 00028510  0x00007992 copy  0x0000003f , 0x00000039 
+ 00028511  0x00007993 call  0x00006f61 
+ 00028512  0x00007994 branch  0x00006fa0 
+ 00028513  0x00007997 increase  0xfffffffd , 0x00000005 
+ 00028514  0x00007998 copy  0x00000039 , 0x00000002 
+ 00028515  0x00007999 copy  0x00000013 , 0x0000003f 
+ 00028516  0x0000799a isub  0x00000012 , 0x0000003f 
+ 00028517  0x0000799b iadd  0x0000000b , 0x00000006 
+ 00028518  0x0000799c branch  0x00007f01 
+ 00028519  0x0000799f fetch  0x00000001 , 0x0000054e 
+ 00028520  0x000079a0 increase  0x00000001 , 0x00000007 
+ 00028521  0x000079a1 isub  0x00000007 , 0x0000003e 
+ 00028522  0x000079a2 rtn  0x00000005 
+ 00028523  0x000079a3 branch  0x00006f47 
+ 00028524  0x000079a6 call  0x00007fe9 
+ 00028525  0x000079a7 arg  0x0000052a , 0x00000006 
+ 00028526  0x000079a8 lshift2  0x00000007 , 0x0000003f 
+ 00028527  0x000079a9 iadd  0x00000006 , 0x00000006 
+ 00028528  0x000079aa ifetcht  0x00000004 , 0x00000006 
+ 00028529  0x000079ab call  0x000070b1 
+ 00028530  0x000079ac nrtn  0x00000005 
+ 00028531  0x000079ad call  0x0000705b 
+ 00028532  0x000079ae branch  0x00007fe7 
+ 00028533  0x000079b1 fetch  0x00000002 , 0x00000520 
+ 00028534  0x000079b2 isub  0x00000011 , 0x0000003e 
+ 00028535  0x000079b3 nbranch  0x00006f8f , 0x00000002 
+ 00028536  0x000079b4 copy  0x00000011 , 0x00000039 
+ 00028537  0x000079b5 copy  0x00000039 , 0x00000002 
+ 00028538  0x000079b6 copy  0x0000000b , 0x00000006 
+ 00028539  0x000079b7 call  0x00007f01 
+ 00028540  0x000079b8 fetch  0x00000002 , 0x0000054c 
+ 00028541  0x000079b9 isub  0x00000011 , 0x0000003e 
+ 00028542  0x000079ba branch  0x00006f81 , 0x00000005 
+ 00028543  0x000079bc call  0x00006fa0 
+ 00028544  0x000079bd branch  0x00006f94 
+ 00028545  0x000079c0 call  0x00006f83 
+ 00028546  0x000079c1 branch  0x00006f94 
+ 00028547  0x000079c4 arg  0x00000007 , 0x00000011 
+ 00028548  0x000079c6 force  0x00000000 , 0x0000003f 
+ 00028549  0x000079c7 istore  0x00000001 , 0x00000005 
+ 00028550  0x000079c8 call  0x00006fb0 
+ 00028551  0x000079c9 fetcht  0x00000002 , 0x00000275 
+ 00028552  0x000079ca increase  0xfffffffb , 0x00000002 
+ 00028553  0x000079cb byteswap  0x00000002 , 0x0000003f 
+ 00028554  0x000079cc istore  0x00000002 , 0x00000005 
+ 00028555  0x000079cd increase  0xfffffffd , 0x00000002 
+ 00028556  0x000079ce byteswap  0x00000002 , 0x0000003f 
+ 00028557  0x000079cf istore  0x00000002 , 0x00000005 
+ 00028558  0x000079d0 rtn 
+ 00028559  0x000079d3 copy  0x0000003f , 0x00000039 
+ 00028560  0x000079d4 copy  0x00000039 , 0x00000002 
+ 00028561  0x000079d5 copy  0x0000000b , 0x00000006 
+ 00028562  0x000079d6 call  0x00007f01 
+ 00028563  0x000079d7 call  0x00006fa0 
+ 00028564  0x000079d9 setarg  0x00000036 
+ 00028565  0x000079da istore  0x00000001 , 0x00000005 
+ 00028566  0x000079db fetch  0x00000002 , 0x0000054c 
+ 00028567  0x000079dc byteswap  0x0000003f , 0x0000003f 
+ 00028568  0x000079dd istore  0x00000002 , 0x00000005 
+ 00028569  0x000079de rtn 
+ 00028570  0x000079e1 setarg  0x00000036 
+ 00028571  0x000079e2 istore  0x00000001 , 0x00000005 
+ 00028572  0x000079e3 increase  0xfffffffd , 0x00000002 
+ 00028573  0x000079e4 byteswap  0x00000002 , 0x0000003f 
+ 00028574  0x000079e5 istore  0x00000002 , 0x00000005 
+ 00028575  0x000079e6 rtn 
+ 00028576  0x000079e9 arg  0x00000007 , 0x00000011 
+ 00028577  0x000079ea setarg  0x00000002 
+ 00028578  0x000079eb istore  0x00000001 , 0x00000005 
+ 00028579  0x000079ec fetch  0x00000002 , 0x00000519 
+ 00028580  0x000079ed iadd  0x00000002 , 0x00000002 
+ 00028581  0x000079ee byteswap  0x00000002 , 0x0000003f 
+ 00028582  0x000079ef istore  0x00000002 , 0x00000005 
+ 00028583  0x000079f0 call  0x00006fb0 
+ 00028584  0x000079f1 fetcht  0x00000002 , 0x00000275 
+ 00028585  0x000079f2 increase  0xfffffffb , 0x00000002 
+ 00028586  0x000079f3 byteswap  0x00000002 , 0x0000003f 
+ 00028587  0x000079f4 istore  0x00000002 , 0x00000005 
+ 00028588  0x000079f5 increase  0xfffffffb , 0x00000002 
+ 00028589  0x000079f6 byteswap  0x00000002 , 0x0000003f 
+ 00028590  0x000079f7 istore  0x00000002 , 0x00000005 
+ 00028591  0x000079f8 rtn 
+ 00028592  0x000079fb fetch  0x00000002 , 0x00000273 
+ 00028593  0x000079fc isub  0x00000005 , 0x0000003f 
+ 00028594  0x000079fd sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028595  0x000079fe store  0x00000002 , 0x00000275 
+ 00028596  0x000079ff call  0x000052d0 
+ 00028597  0x00007a00 copy  0x00000011 , 0x0000003f 
+ 00028598  0x00007a01 istore  0x00000001 , 0x00000005 
+ 00028599  0x00007a02 fetch  0x00000002 , 0x0000051c 
+ 00028600  0x00007a03 istore  0x00000002 , 0x00000005 
+ 00028601  0x00007a04 rtn 
+ 00028602  0x00007a15 rtn 
+ 00028603  0x00007a37 setarg  0x00000200 
+ 00028604  0x00007a38 store  0x00000002 , 0x0000054a 
+ 00028605  0x00007a39 branch  0x00006fc6 
+ 00028606  0x00007a3b setarg  0x00000400 
+ 00028607  0x00007a3c store  0x00000002 , 0x0000054a 
+ 00028608  0x00007a3d branch  0x00006fc6 
+ 00028609  0x00007a3f setarg  0x00000600 
+ 00028610  0x00007a40 store  0x00000002 , 0x0000054a 
+ 00028611  0x00007a41 branch  0x00006fc6 
+ 00028612  0x00007a43 setarg  0x00000300 
+ 00028613  0x00007a44 store  0x00000002 , 0x0000054a 
+ 00028614  0x00007a46 call  0x000052d0 
+ 00028615  0x00007a47 istore  0x00000001 , 0x00000005 
+ 00028616  0x00007a48 fetch  0x00000002 , 0x0000051c 
+ 00028617  0x00007a49 istore  0x00000002 , 0x00000005 
+ 00028618  0x00007a4a setarg  0x00000200 
+ 00028619  0x00007a4b istore  0x00000002 , 0x00000005 
+ 00028620  0x00007a4c fetch  0x00000002 , 0x0000054a 
+ 00028621  0x00007a4d istore  0x00000002 , 0x00000005 
+ 00028622  0x00007a4e jam  0x00000007 , 0x00000275 
+ 00028623  0x00007a4f rtn 
+ 00028624  0x00007a55 arg  0x00000000 , 0x00000012 
+ 00028625  0x00007a56 force  0x00000000 , 0x00000002 
+ 00028626  0x00007a57 arg  0x00000511 , 0x00000005 
+ 00028627  0x00007a58 call  0x00007028 
+ 00028628  0x00007a59 branch  0x00007026 , 0x00000005 
+ 00028629  0x00007a5b increase  0x00000001 , 0x00000012 
+ 00028630  0x00007a5c ifetch  0x00000001 , 0x00000006 
+ 00028631  0x00007a5d increase  0xffffffff , 0x00000011 
+ 00028632  0x00007a5e increase  0xffffffff , 0x0000000b 
+ 00028633  0x00007a5f compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028634  0x00007a60 nbranch  0x00007026 , 0x00000001 
+ 00028635  0x00007a61 compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028636  0x00007a62 nbranch  0x00006ff3 , 0x00000001 
+ 00028637  0x00007a63 force  0x00000001 , 0x00000002 
+ 00028638  0x00007a65 ifetch  0x00000001 , 0x00000006 
+ 00028639  0x00007a66 increase  0xffffffff , 0x00000011 
+ 00028640  0x00007a67 increase  0xffffffff , 0x0000000b 
+ 00028641  0x00007a68 bne  0x00000000 , 0x00006fe7 
+ 00028642  0x00007a69 ifetch  0x00000001 , 0x00000006 
+ 00028643  0x00007a6a increase  0xffffffff , 0x00000011 
+ 00028644  0x00007a6b increase  0xffffffff , 0x0000000b 
+ 00028645  0x00007a6c beq  0x00000000 , 0x00006ff8 
+ 00028646  0x00007a6d branch  0x00006fea 
+ 00028647  0x00007a6f increase  0x00000001 , 0x00000006 
+ 00028648  0x00007a70 increase  0xffffffff , 0x00000011 
+ 00028649  0x00007a71 increase  0xffffffff , 0x0000000b 
+ 00028650  0x00007a73 increase  0x00000002 , 0x00000006 
+ 00028651  0x00007a74 increase  0xfffffffe , 0x00000011 
+ 00028652  0x00007a75 increase  0xfffffffe , 0x0000000b 
+ 00028653  0x00007a76 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028654  0x00007a77 branch  0x00007020 , 0x00000001 
+ 00028655  0x00007a78 increase  0x0000000c , 0x00000006 
+ 00028656  0x00007a79 increase  0xfffffff4 , 0x00000011 
+ 00028657  0x00007a7a increase  0xfffffff4 , 0x0000000b 
+ 00028658  0x00007a7b branch  0x00007020 
+ 00028659  0x00007a7d compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028660  0x00007a7e nbranch  0x00006ff6 , 0x00000001 
+ 00028661  0x00007a7f branch  0x00006fde 
+ 00028662  0x00007a81 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028663  0x00007a82 nbranch  0x00007026 , 0x00000001 
+ 00028664  0x00007a84 increase  0xfffffffe , 0x00000011 
+ 00028665  0x00007a85 increase  0xfffffffe , 0x0000000b 
+ 00028666  0x00007a86 ifetch  0x00000002 , 0x00000006 
+ 00028667  0x00007a87 sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028668  0x00007a88 branch  0x00006ffe , 0x00000005 
+ 00028669  0x00007a89 istore  0x00000002 , 0x00000005 
+ 00028670  0x00007a8b compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028671  0x00007a8c branch  0x00007020 , 0x00000001 
+ 00028672  0x00007a8d copy  0x00000006 , 0x00000002 
+ 00028673  0x00007a8e ifetch  0x00000001 , 0x00000006 
+ 00028674  0x00007a8f bne  0x00000000 , 0x00007019 
+ 00028675  0x00007a90 ifetch  0x00000001 , 0x00000006 
+ 00028676  0x00007a91 bne  0x00000000 , 0x00007019 
+ 00028677  0x00007a92 ifetch  0x00000001 , 0x00000006 
+ 00028678  0x00007a93 bne  0x00000010 , 0x00007019 
+ 00028679  0x00007a94 ifetch  0x00000001 , 0x00000006 
+ 00028680  0x00007a95 bne  0x00000000 , 0x00007019 
+ 00028681  0x00007a96 ifetch  0x00000001 , 0x00000006 
+ 00028682  0x00007a97 bne  0x00000080 , 0x00007019 
+ 00028683  0x00007a98 ifetch  0x00000001 , 0x00000006 
+ 00028684  0x00007a99 bne  0x00000000 , 0x00007019 
+ 00028685  0x00007a9a ifetch  0x00000001 , 0x00000006 
+ 00028686  0x00007a9b bne  0x00000000 , 0x00007019 
+ 00028687  0x00007a9c ifetch  0x00000001 , 0x00000006 
+ 00028688  0x00007a9d bne  0x00000080 , 0x00007019 
+ 00028689  0x00007a9e ifetch  0x00000001 , 0x00000006 
+ 00028690  0x00007a9f bne  0x0000005f , 0x00007019 
+ 00028691  0x00007aa0 ifetch  0x00000001 , 0x00000006 
+ 00028692  0x00007aa1 bne  0x0000009b , 0x00007019 
+ 00028693  0x00007aa2 ifetch  0x00000001 , 0x00000006 
+ 00028694  0x00007aa3 bne  0x00000034 , 0x00007019 
+ 00028695  0x00007aa4 ifetch  0x00000001 , 0x00000006 
+ 00028696  0x00007aa5 beq  0x000000fb , 0x0000701e 
+ 00028697  0x00007aa7 copy  0x00000002 , 0x00000006 
+ 00028698  0x00007aa9 increase  0x0000000c , 0x00000006 
+ 00028699  0x00007aaa force  0x00000000 , 0x00000007 
+ 00028700  0x00007aab force  0x00000000 , 0x00000002 
+ 00028701  0x00007aac branch  0x0000701e 
+ 00028702  0x00007aaf increase  0xfffffff4 , 0x0000000b 
+ 00028703  0x00007ab0 increase  0xfffffff4 , 0x00000011 
+ 00028704  0x00007ab2 force  0x00000000 , 0x00000002 
+ 00028705  0x00007ab3 compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028706  0x00007ab4 nbranch  0x00006fd5 , 0x00000001 
+ 00028707  0x00007ab5 force  0x00000000 , 0x0000003f 
+ 00028708  0x00007ab6 istore  0x00000002 , 0x00000005 
+ 00028709  0x00007ab7 rtn 
+ 00028710  0x00007ab9 arg  0x000000ff , 0x00000002 
+ 00028711  0x00007aba rtn 
+ 00028712  0x00007ac5 bpatchx  0x000000d4 , 0x0000403a 
+ 00028713  0x00007ac6 ifetch  0x00000001 , 0x00000006 
+ 00028714  0x00007ac7 increase  0xffffffff , 0x0000000b 
+ 00028715  0x00007ac8 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028716  0x00007ac9 nbranch  0x0000703e , 0x00000001 
+ 00028717  0x00007aca compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028718  0x00007acb branch  0x00007037 , 0x00000001 
+ 00028719  0x00007acc compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028720  0x00007acd branch  0x00007039 , 0x00000001 
+ 00028721  0x00007ace compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028722  0x00007acf nbranch  0x0000703e , 0x00000001 
+ 00028723  0x00007ad1 ifetch  0x00000001 , 0x00000006 
+ 00028724  0x00007ad2 copy  0x0000003f , 0x00000011 
+ 00028725  0x00007ad3 increase  0xffffffff , 0x0000000b 
+ 00028726  0x00007ad4 branch  0x0000703c 
+ 00028727  0x00007ad6 increase  0x00000002 , 0x00000006 
+ 00028728  0x00007ad7 increase  0xfffffffe , 0x0000000b 
+ 00028729  0x00007ad9 ifetch  0x00000002 , 0x00000006 
+ 00028730  0x00007ada byteswap  0x0000003f , 0x00000011 
+ 00028731  0x00007adb increase  0xfffffffe , 0x0000000b 
+ 00028732  0x00007add force  0x00000001 , 0x0000003f 
+ 00028733  0x00007ade rtn 
+ 00028734  0x00007ae0 force  0x00000000 , 0x0000003f 
+ 00028735  0x00007ae1 rtn 
+ 00028736  0x00007aec setarg  0x00000003 
+ 00028737  0x00007aed store  0x00000001 , 0x0000051b 
+ 00028738  0x00007aee branch  0x00007048 
+ 00028739  0x00007af0 setarg  0x00000005 
+ 00028740  0x00007af1 store  0x00000001 , 0x0000051b 
+ 00028741  0x00007af2 branch  0x00007048 
+ 00028742  0x00007af4 setarg  0x00000007 
+ 00028743  0x00007af5 store  0x00000001 , 0x0000051b 
+ 00028744  0x00007af7 call  0x000052d0 
+ 00028745  0x00007afa fetch  0x00000001 , 0x0000051b 
+ 00028746  0x00007afb copy  0x0000003f , 0x00000012 
+ 00028747  0x00007afc istore  0x00000001 , 0x00000005 
+ 00028748  0x00007afd fetch  0x00000002 , 0x0000051c 
+ 00028749  0x00007afe istore  0x00000002 , 0x00000005 
+ 00028750  0x00007aff setarg  0x00000500 
+ 00028751  0x00007b00 istore  0x00000002 , 0x00000005 
+ 00028752  0x00007b01 compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028753  0x00007b02 branch  0x00007057 , 0x00000001 
+ 00028754  0x00007b03 compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028755  0x00007b04 branch  0x00007057 , 0x00000001 
+ 00028756  0x00007b05 setarg  0x00000000 
+ 00028757  0x00007b06 istore  0x00000005 , 0x00000005 
+ 00028758  0x00007b07 branch  0x00007059 
+ 00028759  0x00007b0a setarg  0x00350200 
+ 00028760  0x00007b0b istore  0x00000005 , 0x00000005 
+ 00028761  0x00007b0d jam  0x0000000a , 0x00000275 
+ 00028762  0x00007b0e rtn 
+ 00028763  0x00007b12 call  0x00007ea2 
+ 00028764  0x00007b13 call  0x00007ea5 
+ 00028765  0x00007b14 call  0x00007062 
+ 00028766  0x00007b15 call  0x00007e9c 
+ 00028767  0x00007b16 call  0x00007e9f 
+ 00028768  0x00007b17 copy  0x00000002 , 0x0000003f 
+ 00028769  0x00007b18 rtn 
+ 00028770  0x00007b1c ifetch  0x00000001 , 0x00000006 
+ 00028771  0x00007b1d and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028772  0x00007b1e rshift3  0x0000003f , 0x0000003f 
+ 00028773  0x00007b1f bne  0x00000000 , 0x0000706c 
+ 00028774  0x00007b21 force  0x00000001 , 0x0000003f 
+ 00028775  0x00007b22 force  0x00000001 , 0x00000002 
+ 00028776  0x00007b23 rtn 
+ 00028777  0x00007b26 call  0x00007e76 
+ 00028778  0x00007b27 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028779  0x00007b28 rtn 
+ 00028780  0x00007b2a deposit  0x00000039 
+ 00028781  0x00007b2b sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028782  0x00007b2c branch  0x00007069 , 0x00000002 
+ 00028783  0x00007b2d beq  0x00000005 , 0x00007073 
+ 00028784  0x00007b2e beq  0x00000006 , 0x00007076 
+ 00028785  0x00007b2f beq  0x00000007 , 0x0000707a 
+ 00028786  0x00007b30 rtn 
+ 00028787  0x00007b33 ifetch  0x00000001 , 0x00000006 
+ 00028788  0x00007b34 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028789  0x00007b35 rtn 
+ 00028790  0x00007b37 ifetch  0x00000002 , 0x00000006 
+ 00028791  0x00007b38 byteswap  0x0000003f , 0x0000003f 
+ 00028792  0x00007b39 add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028793  0x00007b3a rtn 
+ 00028794  0x00007b3c ifetch  0x00000002 , 0x00000006 
+ 00028795  0x00007b3d byteswap  0x0000003f , 0x0000003f 
+ 00028796  0x00007b3e ifetcht  0x00000002 , 0x00000006 
+ 00028797  0x00007b3f byteswap  0x00000002 , 0x00000002 
+ 00028798  0x00007b40 lshift16  0x00000002 , 0x00000002 
+ 00028799  0x00007b41 iadd  0x00000002 , 0x0000003f 
+ 00028800  0x00007b42 add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028801  0x00007b43 rtn 
+ 00028802  0x00007b4a bpatchx  0x000000d5 , 0x0000403a 
+ 00028803  0x00007b4b force  0x00000000 , 0x00000007 
+ 00028804  0x00007b4c arg  0x00000000 , 0x00000012 
+ 00028805  0x00007b4d arg  0x0000052a , 0x00000005 
+ 00028806  0x00007b4f ifetch  0x00000002 , 0x0000000b 
+ 00028807  0x00007b50 rtn  0x00000034 
+ 00028808  0x00007b51 call  0x0000708d 
+ 00028809  0x00007b52 copy  0x00000007 , 0x0000003f 
+ 00028810  0x00007b53 rtneq  0x00000007 
+ 00028811  0x00007b54 increase  0x00000002 , 0x0000000b 
+ 00028812  0x00007b55 branch  0x00007086 
+ 00028813  0x00007b59 iforce  0x00000013 
+ 00028814  0x00007b5b fetch  0x00000002 , 0x00004575 
+ 00028815  0x00007b5c iforce  0x00000006 
+ 00028816  0x00007b5e copy  0x00000007 , 0x0000003f 
+ 00028817  0x00007b5f rtneq  0x00000007 
+ 00028818  0x00007b60 disable  0x00000028 
+ 00028819  0x00007b61 ifetch  0x00000001 , 0x00000006 
+ 00028820  0x00007b62 rtn  0x00000034 
+ 00028821  0x00007b63 iforce  0x00000039 
+ 00028822  0x00007b65 ifetch  0x00000002 , 0x00000006 
+ 00028823  0x00007b66 isub  0x00000013 , 0x0000003e 
+ 00028824  0x00007b67 nbranch  0x0000709a , 0x00000005 
+ 00028825  0x00007b68 enable  0x00000028 
+ 00028826  0x00007b6a loop  0x00007096 
+ 00028827  0x00007b6b ifetcht  0x00000004 , 0x00000006 
+ 00028828  0x00007b6c copy  0x00000006 , 0x00000011 
+ 00028829  0x00007b6d nbranch  0x000070ad , 0x00000028 
+ 00028830  0x00007b6e arg  0x0000052a , 0x00000006 
+ 00028831  0x00007b6f arg  0x00000007 , 0x00000039 
+ 00028832  0x00007b71 ifetch  0x00000004 , 0x00000006 
+ 00028833  0x00007b72 branch  0x000070a6 , 0x00000034 
+ 00028834  0x00007b73 isub  0x00000002 , 0x0000003e 
+ 00028835  0x00007b74 branch  0x000070ad , 0x00000005 
+ 00028836  0x00007b75 loop  0x000070a0 
+ 00028837  0x00007b76 rtn 
+ 00028838  0x00007b78 istoret  0x00000004 , 0x00000005 
+ 00028839  0x00007b79 increase  0x00000001 , 0x00000007 
+ 00028840  0x00007b7a copy  0x00000011 , 0x00000006 
+ 00028841  0x00007b7b call  0x0000705b 
+ 00028842  0x00007b7c iadd  0x00000012 , 0x00000012 
+ 00028843  0x00007b7d iadd  0x00000006 , 0x00000006 
+ 00028844  0x00007b7e branch  0x00007090 
+ 00028845  0x00007b80 copy  0x00000011 , 0x00000006 
+ 00028846  0x00007b81 call  0x00007062 
+ 00028847  0x00007b82 iadd  0x00000006 , 0x00000006 
+ 00028848  0x00007b83 branch  0x00007090 
+ 00028849  0x00007b8a bpatchx  0x000000d6 , 0x0000403a 
+ 00028850  0x00007b8b fetch  0x00000002 , 0x00004575 
+ 00028851  0x00007b8c iforce  0x00000006 
+ 00028852  0x00007b8e ifetch  0x00000001 , 0x00000006 
+ 00028853  0x00007b8f branch  0x00007fe3 , 0x00000034 
+ 00028854  0x00007b90 lshift  0x0000003f , 0x0000003f 
+ 00028855  0x00007b91 iadd  0x00000006 , 0x00000006 
+ 00028856  0x00007b92 ifetch  0x00000004 , 0x00000006 
+ 00028857  0x00007b93 isub  0x00000002 , 0x0000003e 
+ 00028858  0x00007b94 rtn  0x00000005 
+ 00028859  0x00007b95 deposit  0x00000005 
+ 00028860  0x00007b96 store  0x00000002 , 0x00000abb 
+ 00028861  0x00007b97 storet  0x00000008 , 0x00000aa2 
+ 00028862  0x00007b98 call  0x00007062 
+ 00028863  0x00007b99 iadd  0x00000006 , 0x00000006 
+ 00028864  0x00007b9a copy  0x00000006 , 0x0000003f 
+ 00028865  0x00007b9b fetcht  0x00000002 , 0x00000abb 
+ 00028866  0x00007b9c copy  0x00000002 , 0x00000005 
+ 00028867  0x00007b9d fetcht  0x00000008 , 0x00000aa2 
+ 00028868  0x00007b9e copy  0x0000003f , 0x00000006 
+ 00028869  0x00007b9f branch  0x000070b4 
+ 00028870  0x00007ba6 bpatchx  0x000000d7 , 0x0000403a 
+ 00028871  0x00007ba7 fetch  0x00000002 , 0x00004575 
+ 00028872  0x00007ba8 iforce  0x00000006 
+ 00028873  0x00007baa ifetch  0x00000001 , 0x00000006 
+ 00028874  0x00007bab branch  0x000070e4 , 0x00000034 
+ 00028875  0x00007bac iforce  0x00000039 
+ 00028876  0x00007bae ifetch  0x00000002 , 0x00000006 
+ 00028877  0x00007baf isub  0x00000013 , 0x0000003e 
+ 00028878  0x00007bb0 branch  0x000070d4 , 0x00000005 
+ 00028879  0x00007bb1 loop  0x000070cc 
+ 00028880  0x00007bb2 increase  0x00000004 , 0x00000006 
+ 00028881  0x00007bb3 call  0x00007062 
+ 00028882  0x00007bb4 iadd  0x00000006 , 0x00000006 
+ 00028883  0x00007bb5 branch  0x000070c9 
+ 00028884  0x00007bb7 increase  0xffffffff , 0x00000039 
+ 00028885  0x00007bb8 lshift  0x00000039 , 0x0000003f 
+ 00028886  0x00007bb9 iadd  0x00000006 , 0x00000006 
+ 00028887  0x00007bba increase  0x00000004 , 0x00000006 
+ 00028888  0x00007bbb call  0x00007062 
+ 00028889  0x00007bbc iadd  0x00000006 , 0x0000000b 
+ 00028890  0x00007bbe increase  0x00000001 , 0x00000006 
+ 00028891  0x00007bbf ifetch  0x00000002 , 0x00000006 
+ 00028892  0x00007bc0 isub  0x00000012 , 0x0000003e 
+ 00028893  0x00007bc4 branch  0x00007fef , 0x00000005 
+ 00028894  0x00007bc5 call  0x0000705b 
+ 00028895  0x00007bc6 iadd  0x00000006 , 0x00000006 
+ 00028896  0x00007bc7 deposit  0x0000000b 
+ 00028897  0x00007bc8 isub  0x00000006 , 0x0000003e 
+ 00028898  0x00007bc9 branch  0x000070e4 , 0x00000005 
+ 00028899  0x00007bca branch  0x000070da 
+ 00028900  0x00007bcc force  0x00000000 , 0x00000006 
+ 00028901  0x00007bcd force  0x00000000 , 0x0000003f 
+ 00028902  0x00007bce rtn 
+ 00028903  0x00007bd5 bpatchx  0x000000d8 , 0x0000403b 
+ 00028904  0x00007bd6 fetch  0x00000002 , 0x00004575 
+ 00028905  0x00007bd7 iforce  0x00000006 
+ 00028906  0x00007bd9 ifetch  0x00000001 , 0x00000006 
+ 00028907  0x00007bda branch  0x00007100 , 0x00000034 
+ 00028908  0x00007bdb lshift  0x0000003f , 0x0000003f 
+ 00028909  0x00007bdc iadd  0x00000006 , 0x00000006 
+ 00028910  0x00007bdd ifetch  0x00000004 , 0x00000006 
+ 00028911  0x00007bde isub  0x00000002 , 0x0000003e 
+ 00028912  0x00007bdf branch  0x000070f4 , 0x00000005 
+ 00028913  0x00007be0 call  0x00007062 
+ 00028914  0x00007be1 iadd  0x00000006 , 0x00000006 
+ 00028915  0x00007be2 branch  0x000070ea 
+ 00028916  0x00007be4 call  0x00007062 
+ 00028917  0x00007be5 iadd  0x00000006 , 0x0000000b 
+ 00028918  0x00007be7 increase  0x00000001 , 0x00000006 
+ 00028919  0x00007be8 ifetch  0x00000002 , 0x00000006 
+ 00028920  0x00007be9 isub  0x00000012 , 0x0000003e 
+ 00028921  0x00007bea rtn  0x00000005 
+ 00028922  0x00007beb call  0x0000705b 
+ 00028923  0x00007bec iadd  0x00000006 , 0x00000006 
+ 00028924  0x00007bed deposit  0x0000000b 
+ 00028925  0x00007bee isub  0x00000006 , 0x0000003e 
+ 00028926  0x00007bef branch  0x00007100 , 0x00000005 
+ 00028927  0x00007bf0 branch  0x000070f6 
+ 00028928  0x00007bf2 force  0x00000000 , 0x00000006 
+ 00028929  0x00007bf3 rtn 
+ 00028930  0x00007bf8 arg  0x00000400 , 0x00000012 
+ 00028931  0x00007bf9 call  0x000070f4 
+ 00028932  0x00007bfa arg  0x00000300 , 0x00000012 
+ 00028933  0x00007bfb call  0x0000710d 
+ 00028934  0x00007bfc nrtn  0x00000028 
+ 00028935  0x00007bfd sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028936  0x00007bfe branch  0x00007fe9 , 0x00000002 
+ 00028937  0x00007bff ifetch  0x00000001 , 0x00000006 
+ 00028938  0x00007c00 bne  0x00000008 , 0x00007fe9 
+ 00028939  0x00007c01 ifetch  0x00000001 , 0x00000006 
+ 00028940  0x00007c02 rtn 
+ 00028941  0x00007c08 bpatchx  0x000000d9 , 0x0000403b 
+ 00028942  0x00007c09 call  0x00007062 
+ 00028943  0x00007c0a copy  0x0000003f , 0x00000011 
+ 00028944  0x00007c0c ifetch  0x00000001 , 0x00000006 
+ 00028945  0x00007c0d and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028946  0x00007c0e rshift3  0x0000003f , 0x0000003f 
+ 00028947  0x00007c0f sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028948  0x00007c10 branch  0x00007129 , 0x00000005 
+ 00028949  0x00007c11 copy  0x00000039 , 0x0000003f 
+ 00028950  0x00007c12 beq  0x00000005 , 0x00007120 
+ 00028951  0x00007c13 beq  0x00000006 , 0x00007123 
+ 00028952  0x00007c14 beq  0x00000007 , 0x00007126 
+ 00028953  0x00007c15 increase  0xffffffff , 0x00000006 
+ 00028954  0x00007c16 call  0x00007062 
+ 00028955  0x00007c17 iadd  0x00000006 , 0x00000006 
+ 00028956  0x00007c18 copy  0x00000011 , 0x0000003f 
+ 00028957  0x00007c19 isub  0x00000002 , 0x00000011 
+ 00028958  0x00007c1a branch  0x00007fe9 , 0x00000005 
+ 00028959  0x00007c1b branch  0x00007110 
+ 00028960  0x00007c1e increase  0xfffffffe , 0x00000011 
+ 00028961  0x00007c1f increase  0x00000001 , 0x00000006 
+ 00028962  0x00007c20 branch  0x00007110 
+ 00028963  0x00007c22 increase  0xfffffffd , 0x00000011 
+ 00028964  0x00007c23 increase  0x00000002 , 0x00000006 
+ 00028965  0x00007c24 branch  0x00007110 
+ 00028966  0x00007c26 increase  0xfffffffb , 0x00000011 
+ 00028967  0x00007c27 increase  0x00000004 , 0x00000006 
+ 00028968  0x00007c28 branch  0x00007110 
+ 00028969  0x00007c2b increase  0xffffffff , 0x00000011 
+ 00028970  0x00007c2c copy  0x00000039 , 0x0000003f 
+ 00028971  0x00007c2d beq  0x00000001 , 0x00007132 
+ 00028972  0x00007c2e beq  0x00000002 , 0x00007130 
+ 00028973  0x00007c2f beq  0x00000004 , 0x0000712f 
+ 00028974  0x00007c30 branch  0x00007fe9 
+ 00028975  0x00007c32 increase  0xfffffff4 , 0x00000011 
+ 00028976  0x00007c34 ifetch  0x00000002 , 0x00000006 
+ 00028977  0x00007c35 increase  0xfffffffe , 0x00000011 
+ 00028978  0x00007c37 ifetch  0x00000002 , 0x00000006 
+ 00028979  0x00007c38 isub  0x00000012 , 0x0000003e 
+ 00028980  0x00007c39 branch  0x00007fe7 , 0x00000005 
+ 00028981  0x00007c3a increase  0xfffffffe , 0x00000011 
+ 00028982  0x00007c3b branch  0x00007fe9 , 0x00000005 
+ 00028983  0x00007c3c branch  0x00007110 
+ 00028984  0x00007c78 call  0x000052d0 
+ 00028985  0x00007c79 copy  0x0000003f , 0x00000005 
+ 00028986  0x00007c7a setarg  0x00000006 
+ 00028987  0x00007c7b istore  0x00000001 , 0x00000005 
+ 00028988  0x00007c7c setarg  0x0000006e 
+ 00028989  0x00007c7d istore  0x00000002 , 0x00000005 
+ 00028990  0x00007c7e setarg  0x00000f00 
+ 00028991  0x00007c7f istore  0x00000002 , 0x00000005 
+ 00028992  0x00007c80 setarg  0x001a0535 
+ 00028993  0x00007c81 istore  0x00000003 , 0x00000005 
+ 00028994  0x00007c82 setarg  0x00000111 
+ 00028995  0x00007c83 lshift16  0x0000003f , 0x0000003f 
+ 00028996  0x00007c84 istore  0x00000004 , 0x00000005 
+ 00028997  0x00007c85 setarg  0x00002600 
+ 00028998  0x00007c86 istore  0x00000002 , 0x00000005 
+ 00028999  0x00007c87 setarg  0x00000335 
+ 00029000  0x00007c88 istore  0x00000002 , 0x00000005 
+ 00029001  0x00007c89 setarg  0x00000009 
+ 00029002  0x00007c8a istore  0x00000002 , 0x00000005 
+ 00029003  0x00007c8b setarg  0x00000004 
+ 00029004  0x00007c8c istore  0x00000002 , 0x00000005 
+ 00029005  0x00007c8d jam  0x00000014 , 0x00000275 
+ 00029006  0x00007c8e rtn 
+ 00029007  0x00007c93 bpatchx  0x000000da , 0x0000403b 
+ 00029008  0x00007c94 jam  0x00000050 , 0x000005e5 
+ 00029009  0x00007c95 arg  0x000005e6 , 0x00000005 
+ 00029010  0x00007c96 arg  0x0000443a , 0x00000006 
+ 00029011  0x00007c97 call  0x00007ebf 
+ 00029012  0x00007c98 arg  0x000045d2 , 0x00000006 
+ 00029013  0x00007c99 call  0x00007ebd 
+ 00029014  0x00007c9a arg  0x000009be , 0x00000006 
+ 00029015  0x00007c9b call  0x00007ebd 
+ 00029016  0x00007c9c call  0x0000720a 
+ 00029017  0x00007c9d arg  0x0000042f , 0x00000006 
+ 00029018  0x00007c9e call  0x00007205 
+ 00029019  0x00007c9f call  0x000071d0 
+ 00029020  0x00007ca1 arg  0x00000af2 , 0x00000005 
+ 00029021  0x00007ca2 call  0x00007201 
+ 00029022  0x00007ca3 setarg  0x000f4240 
+ 00029023  0x00007ca4 copy  0x0000003f , 0x00000011 
+ 00029024  0x00007ca5 fetch  0x00000004 , 0x00000af2 
+ 00029025  0x00007ca6 idiv  0x00000011 
+ 00029026  0x00007ca7 call  0x00007f86 
+ 00029027  0x00007ca8 remainder  0x0000003f 
+ 00029028  0x00007ca9 store  0x00000004 , 0x000009ba 
+ 00029029  0x00007cab rtn 
+ 00029030  0x00007cae jam  0x00000041 , 0x000005e5 
+ 00029031  0x00007caf arg  0x000005e6 , 0x00000005 
+ 00029032  0x00007cb0 call  0x000071b5 
+ 00029033  0x00007cb1 call  0x000071b0 
+ 00029034  0x00007cb2 fetch  0x00000003 , 0x00004454 
+ 00029035  0x00007cb3 istore  0x00000003 , 0x00000005 
+ 00029036  0x00007cb6 call  0x00007176 
+ 00029037  0x00007cb8 arg  0x0000042f , 0x00000006 
+ 00029038  0x00007cb9 call  0x00007ebf 
+ 00029039  0x00007cba arg  0x0000443a , 0x00000006 
+ 00029040  0x00007cbb call  0x00007ebf 
+ 00029041  0x00007cbc call  0x0000720a 
+ 00029042  0x00007cbd arg  0x00000b12 , 0x00000006 
+ 00029043  0x00007cbe arg  0x00000ac2 , 0x00000005 
+ 00029044  0x00007cbf call  0x00007ebf 
+ 00029045  0x00007cc1 branch  0x000071d0 
+ 00029046  0x00007cc6 fetch  0x00000004 , 0x000044c7 
+ 00029047  0x00007cc7 istore  0x00000004 , 0x00000005 
+ 00029048  0x00007cc8 call  0x00007ecd 
+ 00029049  0x00007cc9 branch  0x00007eca 
+ 00029050  0x00007ccc bpatchx  0x000000db , 0x0000403b 
+ 00029051  0x00007ccd jam  0x00000041 , 0x000005e5 
+ 00029052  0x00007cce arg  0x000005e6 , 0x00000005 
+ 00029053  0x00007ccf call  0x000071b0 
+ 00029054  0x00007cd0 call  0x000071b5 
+ 00029055  0x00007cd1 fetch  0x00000003 , 0x0000444d 
+ 00029056  0x00007cd2 istore  0x00000003 , 0x00000005 
+ 00029057  0x00007cd5 call  0x00007176 
+ 00029058  0x00007cd6 arg  0x0000443a , 0x00000006 
+ 00029059  0x00007cd7 call  0x00007ebf 
+ 00029060  0x00007cd8 arg  0x0000042f , 0x00000006 
+ 00029061  0x00007cd9 call  0x00007ebf 
+ 00029062  0x00007cda call  0x0000720a 
+ 00029063  0x00007cdb arg  0x00000b12 , 0x00000006 
+ 00029064  0x00007cdc arg  0x00000ac2 , 0x00000005 
+ 00029065  0x00007cdd call  0x00007ebf 
+ 00029066  0x00007cdf call  0x000071d0 
+ 00029067  0x00007ce0 arg  0x00000af2 , 0x00000005 
+ 00029068  0x00007ce1 branch  0x00007201 
+ 00029069  0x00007ce4 jam  0x00000020 , 0x000005e5 
+ 00029070  0x00007ce5 arg  0x000009fe , 0x00000006 
+ 00029071  0x00007ce6 arg  0x000005e6 , 0x00000005 
+ 00029072  0x00007ce7 call  0x00007ebd 
+ 00029073  0x00007ce8 call  0x0000720a 
+ 00029074  0x00007ce9 arg  0x0000099e , 0x00000006 
+ 00029075  0x00007cea call  0x00007205 
+ 00029076  0x00007ceb call  0x000071d0 
+ 00029077  0x00007cec arg  0x00000ac2 , 0x00000005 
+ 00029078  0x00007ced call  0x00007497 
+ 00029079  0x00007cee arg  0x00000001 , 0x00000002 
+ 00029080  0x00007cef call  0x0000719f 
+ 00029081  0x00007cf0 arg  0x00004419 , 0x00000005 
+ 00029082  0x00007cf1 call  0x00007201 
+ 00029083  0x00007cf2 arg  0x00000000 , 0x00000002 
+ 00029084  0x00007cf3 call  0x0000719f 
+ 00029085  0x00007cf4 arg  0x00000b12 , 0x00000005 
+ 00029086  0x00007cf6 branch  0x00007497 
+ 00029087  0x00007cfa bpatchx  0x000000dc , 0x0000403b 
+ 00029088  0x00007cfb jam  0x00000035 , 0x000005e5 
+ 00029089  0x00007cfc setarg  0x00000100 
+ 00029090  0x00007cfd store  0x00000002 , 0x000005e6 
+ 00029091  0x00007cfe call  0x000071b0 
+ 00029092  0x00007cff call  0x000071b5 
+ 00029093  0x00007d00 arg  0x0000443a , 0x00000006 
+ 00029094  0x00007d01 call  0x00007ebf 
+ 00029095  0x00007d02 arg  0x0000042f , 0x00000006 
+ 00029096  0x00007d03 call  0x00007ebf 
+ 00029097  0x00007d05 setarg  0x00006c65 
+ 00029098  0x00007d06 istore  0x00000002 , 0x00000005 
+ 00029099  0x00007d07 setarg  0x00006274 
+ 00029100  0x00007d08 istore  0x00000002 , 0x00000005 
+ 00029101  0x00007d09 istoret  0x00000001 , 0x00000005 
+ 00029102  0x00007d0a call  0x0000720a 
+ 00029103  0x00007d0b branch  0x000071d0 
+ 00029104  0x00007d0e fetch  0x00000006 , 0x000044a0 
+ 00029105  0x00007d0f istore  0x00000006 , 0x00000005 
+ 00029106  0x00007d10 fetch  0x00000001 , 0x00004495 
+ 00029107  0x00007d11 istore  0x00000001 , 0x00000005 
+ 00029108  0x00007d12 rtn 
+ 00029109  0x00007d15 fetch  0x00000006 , 0x0000044f 
+ 00029110  0x00007d16 istore  0x00000006 , 0x00000005 
+ 00029111  0x00007d1b fetch  0x00000001 , 0x0000448e 
+ 00029112  0x00007d1c istore  0x00000001 , 0x00000005 
+ 00029113  0x00007d1d rtn 
+ 00029114  0x00007d20 jam  0x00000041 , 0x000005e5 
+ 00029115  0x00007d21 fetch  0x00000001 , 0x00004664 
+ 00029116  0x00007d22 store  0x00000001 , 0x000005e6 
+ 00029117  0x00007d23 arg  0x000045d2 , 0x00000006 
+ 00029118  0x00007d24 call  0x00007ebd 
+ 00029119  0x00007d25 arg  0x000009be , 0x00000006 
+ 00029120  0x00007d26 call  0x00007ebd 
+ 00029121  0x00007d27 call  0x0000720a 
+ 00029122  0x00007d28 arg  0x0000042f , 0x00000006 
+ 00029123  0x00007d29 call  0x00007205 
+ 00029124  0x00007d2a branch  0x000071d0 
+ 00029125  0x00007d2e jam  0x00000041 , 0x000005e5 
+ 00029126  0x00007d2f fetch  0x00000001 , 0x00004664 
+ 00029127  0x00007d30 store  0x00000001 , 0x000005e6 
+ 00029128  0x00007d31 arg  0x000009be , 0x00000006 
+ 00029129  0x00007d32 call  0x00007ebd 
+ 00029130  0x00007d33 arg  0x000045d2 , 0x00000006 
+ 00029131  0x00007d34 call  0x00007ebd 
+ 00029132  0x00007d35 call  0x0000720a 
+ 00029133  0x00007d36 arg  0x0000443a , 0x00000006 
+ 00029134  0x00007d37 call  0x00007205 
+ 00029135  0x00007d38 branch  0x000071d0 
+ 00029136  0x00007d3b bpatchx  0x000000dd , 0x0000403b 
+ 00029137  0x00007d3c call  0x0000721f 
+ 00029138  0x00007d40 fetch  0x00000001 , 0x000005e5 
+ 00029139  0x00007d41 copy  0x0000003f , 0x00000002 
+ 00029140  0x00007d43 increase  0x0000000f , 0x0000003f 
+ 00029141  0x00007d44 rshift4  0x0000003f , 0x0000003f 
+ 00029142  0x00007d45 copy  0x0000003f , 0x00000012 
+ 00029143  0x00007d46 branch  0x000071e2 , 0x00000034 
+ 00029144  0x00007d47 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029145  0x00007d48 nbranch  0x000071e5 , 0x00000034 
+ 00029146  0x00007d4a arg  0x00000ad2 , 0x00000013 
+ 00029147  0x00007d4b arg  0x000005e6 , 0x0000003f 
+ 00029148  0x00007d4c increase  0xfffffff0 , 0x0000003f 
+ 00029149  0x00007d4f iadd  0x00000002 , 0x00000011 
+ 00029150  0x00007d50 arg  0x00000b02 , 0x00000005 
+ 00029151  0x00007d51 arg  0x00000004 , 0x00000039 
+ 00029152  0x00007d52 call  0x00007edd 
+ 00029153  0x00007d56 branch  0x000071f0 
+ 00029154  0x00007d59 arg  0x00000001 , 0x00000012 
+ 00029155  0x00007d5a arg  0x00000000 , 0x00000011 
+ 00029156  0x00007d5c branch  0x000071e6 
+ 00029157  0x00007d61 and  0x00000002 , 0x0000000f , 0x00000011 
+ 00029158  0x00007d63 arg  0x000005e6 , 0x0000003f 
+ 00029159  0x00007d64 iadd  0x00000002 , 0x0000003f 
+ 00029160  0x00007d65 isub  0x00000011 , 0x00000006 
+ 00029161  0x00007d67 arg  0x00000af2 , 0x00000005 
+ 00029162  0x00007d68 call  0x00007245 
+ 00029163  0x00007d6a arg  0x00000ae2 , 0x00000013 
+ 00029164  0x00007d6b arg  0x00000af2 , 0x00000011 
+ 00029165  0x00007d6c arg  0x00000b02 , 0x00000005 
+ 00029166  0x00007d6d arg  0x00000004 , 0x00000039 
+ 00029167  0x00007d6e call  0x00007edd 
+ 00029168  0x00007d7a call  0x00007491 
+ 00029169  0x00007d7b call  0x00007428 
+ 00029170  0x00007d7e arg  0x000005e6 , 0x00000006 
+ 00029171  0x00007d81 increase  0xffffffff , 0x00000012 
+ 00029172  0x00007d82 deposit  0x00000012 
+ 00029173  0x00007d83 branch  0x000071f9 , 0x00000034 
+ 00029174  0x00007d84 call  0x00007486 
+ 00029175  0x00007d85 call  0x00007422 
+ 00029176  0x00007d86 branch  0x000071f3 
+ 00029177  0x00007d89 arg  0x00000af2 , 0x00000005 
+ 00029178  0x00007d8a call  0x00007497 
+ 00029179  0x00007d8b arg  0x00000b02 , 0x00000006 
+ 00029180  0x00007d8c call  0x00007486 
+ 00029181  0x00007d8d call  0x00007428 
+ 00029182  0x00007d8e arg  0x00000af2 , 0x00000006 
+ 00029183  0x00007d8f call  0x00007486 
+ 00029184  0x00007d90 branch  0x00007422 
+ 00029185  0x00007d96 copy  0x00000005 , 0x00000011 
+ 00029186  0x00007d97 call  0x00007497 
+ 00029187  0x00007d99 arg  0x00000010 , 0x00000039 
+ 00029188  0x00007d9a branch  0x00007ee5 
+ 00029189  0x00007d9d arg  0x00000ac2 , 0x00000005 
+ 00029190  0x00007d9e call  0x00007ebf 
+ 00029191  0x00007da0 arg  0x00000010 , 0x00000039 
+ 00029192  0x00007da1 arg  0x00000ac2 , 0x00000011 
+ 00029193  0x00007da2 branch  0x00007ee5 
+ 00029194  0x00007da5 fetch  0x00000001 , 0x000005e5 
+ 00029195  0x00007da6 copy  0x0000003f , 0x00000039 
+ 00029196  0x00007da7 arg  0x000005e6 , 0x00000011 
+ 00029197  0x00007da8 branch  0x00007ee5 
+ 00029198  0x00007dab ifetch  0x00000001 , 0x00000011 
+ 00029199  0x00007dac lshift  0x0000003f , 0x0000003f 
+ 00029200  0x00007dad isolate1  0x00000000 , 0x00000013 
+ 00029201  0x00007dae setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00029202  0x00007daf isolate1  0x00000008 , 0x0000003f 
+ 00029203  0x00007db0 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00029204  0x00007db1 istore  0x00000001 , 0x00000011 
+ 00029205  0x00007db2 increase  0xffffffff , 0x00000011 
+ 00029206  0x00007db3 loop  0x0000720e 
+ 00029207  0x00007db4 rtn 
+ 00029208  0x00007db7 arg  0x00000ad2 , 0x00000011 
+ 00029209  0x00007db9 increase  0x0000000f , 0x00000011 
+ 00029210  0x00007dba force  0x00000010 , 0x00000039 
+ 00029211  0x00007dbb force  0x00000000 , 0x00000013 
+ 00029212  0x00007dbc branch  0x0000720e 
+ 00029213  0x00007dbf arg  0x00000ae2 , 0x00000011 
+ 00029214  0x00007dc0 branch  0x00007219 
+ 00029215  0x00007dc4 arg  0x00000ac2 , 0x00000006 
+ 00029216  0x00007dc5 call  0x00007484 
+ 00029217  0x00007dc8 force  0x00000008 , 0x00000038 
+ 00029218  0x00007dc9 call  0x00007492 
+ 00029219  0x00007dca call  0x00007491 
+ 00029220  0x00007dcb call  0x0000741f 
+ 00029221  0x00007dd0 arg  0x00000ad2 , 0x00000005 
+ 00029222  0x00007dd1 call  0x00007497 
+ 00029223  0x00007dd3 bpatchx  0x000000de , 0x0000403b 
+ 00029224  0x00007dd4 fetch  0x00000001 , 0x00000ad2 
+ 00029225  0x00007dd5 isolate1  0x00000007 , 0x0000003f 
+ 00029226  0x00007dd6 nbranch  0x00007230 , 0x00000001 
+ 00029227  0x00007dd7 call  0x00007218 
+ 00029228  0x00007dda arg  0x00000ad2 , 0x00000013 
+ 00029229  0x00007ddc arg  0x00000ad2 , 0x00000005 
+ 00029230  0x00007ddf call  0x0000723a 
+ 00029231  0x00007de0 branch  0x00007231 
+ 00029232  0x00007de2 call  0x00007218 
+ 00029233  0x00007de5 arg  0x00000ad2 , 0x00000006 
+ 00029234  0x00007de6 arg  0x00000ae2 , 0x00000005 
+ 00029235  0x00007de7 call  0x00007ebf 
+ 00029236  0x00007de8 fetch  0x00000001 , 0x00000ae2 
+ 00029237  0x00007de9 isolate1  0x00000007 , 0x0000003f 
+ 00029238  0x00007dea nbranch  0x0000721d , 0x00000001 
+ 00029239  0x00007deb call  0x0000721d 
+ 00029240  0x00007ded arg  0x00000ae2 , 0x00000013 
+ 00029241  0x00007def arg  0x00000ae2 , 0x00000005 
+ 00029242  0x00007df6 arg  0x00000003 , 0x00000039 
+ 00029243  0x00007df8 arg  0x00000000 , 0x00000002 
+ 00029244  0x00007df9 call  0x00007241 
+ 00029245  0x00007dfa increase  0x00000004 , 0x00000013 
+ 00029246  0x00007dfb loop  0x0000723b 
+ 00029247  0x00007dfc arg  0x00008700 , 0x00000002 
+ 00029248  0x00007dfd lshift16  0x00000002 , 0x00000002 
+ 00029249  0x00007dff ifetch  0x00000004 , 0x00000013 
+ 00029250  0x00007e00 ixor  0x00000002 , 0x0000003f 
+ 00029251  0x00007e01 istore  0x00000004 , 0x00000005 
+ 00029252  0x00007e02 rtn 
+ 00029253  0x00007e09 bpatchx  0x000000df , 0x0000403b 
+ 00029254  0x00007e0a arg  0x00000010 , 0x00000039 
+ 00029255  0x00007e0b arg  0x00000000 , 0x0000003f 
+ 00029256  0x00007e0d isub  0x00000011 , 0x0000003e 
+ 00029257  0x00007e0e branch  0x00007250 , 0x00000005 
+ 00029258  0x00007e0f branch  0x00007253 , 0x00000002 
+ 00029259  0x00007e10 ifetcht  0x00000001 , 0x00000006 
+ 00029260  0x00007e11 istoret  0x00000001 , 0x00000005 
+ 00029261  0x00007e13 increase  0x00000001 , 0x0000003f 
+ 00029262  0x00007e14 loop  0x00007248 
+ 00029263  0x00007e15 rtn 
+ 00029264  0x00007e17 arg  0x00000080 , 0x00000002 
+ 00029265  0x00007e19 istoret  0x00000001 , 0x00000005 
+ 00029266  0x00007e1a branch  0x0000724d 
+ 00029267  0x00007e1d arg  0x00000000 , 0x00000002 
+ 00029268  0x00007e1e branch  0x00007251 
+ 00029269  0x00007e22 call  0x00007268 
+ 00029270  0x00007e23 arg  0x00000592 , 0x00000006 
+ 00029271  0x00007e24 arg  0x00000582 , 0x00000005 
+ 00029272  0x00007e25 branch  0x00007ebf 
+ 00029273  0x00007e29 disable  0x00000028 
+ 00029274  0x00007e2a call  0x0000735f 
+ 00029275  0x00007e2b arg  0x00000562 , 0x00000006 
+ 00029276  0x00007e2c arg  0x000005a2 , 0x00000005 
+ 00029277  0x00007e2d force  0x0000000f , 0x00000039 
+ 00029278  0x00007e2e call  0x00007f01 
+ 00029279  0x00007e2f ifetch  0x00000001 , 0x00000006 
+ 00029280  0x00007e30 xor_into  0x00000006 , 0x0000003f 
+ 00029281  0x00007e31 istore  0x00000001 , 0x00000005 
+ 00029282  0x00007e32 setarg  0x000005b2 
+ 00029283  0x00007e33 store  0x00000002 , 0x000005d6 
+ 00029284  0x00007e34 setarg  0x000005a2 
+ 00029285  0x00007e35 store  0x00000002 , 0x000005d4 
+ 00029286  0x00007e36 set1  0x00000012 , 0x00000000 
+ 00029287  0x00007e37 branch  0x000072a8 
+ 00029288  0x00007e3c fetcht  0x00000001 , 0x00004689 
+ 00029289  0x00007e3d force  0x00000010 , 0x00000012 
+ 00029290  0x00007e3e add  0x00000002 , 0x00000006 , 0x00000013 
+ 00029291  0x00007e3f sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00029292  0x00007e40 branch  0x0000726e , 0x00000002 
+ 00029293  0x00007e41 force  0x00000010 , 0x00000013 
+ 00029294  0x00007e43 arg  0x000005a2 , 0x00000005 
+ 00029295  0x00007e45 arg  0x0000468a , 0x00000006 
+ 00029296  0x00007e46 copy  0x00000002 , 0x00000039 
+ 00029297  0x00007e47 disable  0x00000028 
+ 00029298  0x00007e49 ifetch  0x00000001 , 0x00000006 
+ 00029299  0x00007e4a istore  0x00000001 , 0x00000005 
+ 00029300  0x00007e4b increase  0xffffffff , 0x00000012 
+ 00029301  0x00007e4c branch  0x0000727c , 0x00000005 
+ 00029302  0x00007e4d loop  0x00007272 
+ 00029303  0x00007e4e branch  0x0000726f , 0x00000028 
+ 00029304  0x00007e4f enable  0x00000028 
+ 00029305  0x00007e50 force  0x00000006 , 0x00000039 
+ 00029306  0x00007e51 copy  0x00000011 , 0x00000006 
+ 00029307  0x00007e52 branch  0x00007272 
+ 00029308  0x00007e54 arg  0x00000562 , 0x00000006 
+ 00029309  0x00007e55 arg  0x000005b2 , 0x00000005 
+ 00029310  0x00007e56 call  0x00007ebf 
+ 00029311  0x00007e57 fetch  0x00000001 , 0x000005c1 
+ 00029312  0x00007e58 ixor  0x00000013 , 0x0000003f 
+ 00029313  0x00007e59 store  0x00000001 , 0x000005c1 
+ 00029314  0x00007e5a setarg  0x000005b2 
+ 00029315  0x00007e5b store  0x00000002 , 0x000005d6 
+ 00029316  0x00007e5c setarg  0x000005a2 
+ 00029317  0x00007e5d store  0x00000002 , 0x000005d4 
+ 00029318  0x00007e5e set1  0x00000012 , 0x00000000 
+ 00029319  0x00007e5f branch  0x000072a8 
+ 00029320  0x00007e65 disable  0x00000028 
+ 00029321  0x00007e66 call  0x0000735f 
+ 00029322  0x00007e67 branch  0x00007292 
+ 00029323  0x00007e6a arg  0x00000056 , 0x00000011 
+ 00029324  0x00007e6b enable  0x00000028 
+ 00029325  0x00007e6c call  0x0000735f 
+ 00029326  0x00007e6d call  0x00007292 
+ 00029327  0x00007e6e arg  0x00000592 , 0x00000006 
+ 00029328  0x00007e6f arg  0x00000062 , 0x00000005 
+ 00029329  0x00007e70 branch  0x00007ebf 
+ 00029330  0x00007e74 setarg  0x00000562 
+ 00029331  0x00007e75 store  0x00000002 , 0x000005d6 
+ 00029332  0x00007e76 setarg  0x000041be 
+ 00029333  0x00007e77 store  0x00000002 , 0x000005d4 
+ 00029334  0x00007e78 set0  0x00000012 , 0x00000000 
+ 00029335  0x00007e79 call  0x000072a8 
+ 00029336  0x00007e7a arg  0x00000592 , 0x00000011 
+ 00029337  0x00007e7b arg  0x00000562 , 0x00000012 
+ 00029338  0x00007e7c arg  0x000005a2 , 0x00000005 
+ 00029339  0x00007e7d call  0x00007352 
+ 00029340  0x00007e7e arg  0x000005a2 , 0x00000011 
+ 00029341  0x00007e7f arg  0x000005b2 , 0x00000012 
+ 00029342  0x00007e80 copy  0x00000012 , 0x00000005 
+ 00029343  0x00007e81 enable  0x00000028 
+ 00029344  0x00007e82 call  0x00007350 
+ 00029345  0x00007e83 call  0x0000736a 
+ 00029346  0x00007e84 setarg  0x000005b2 
+ 00029347  0x00007e85 store  0x00000002 , 0x000005d6 
+ 00029348  0x00007e86 setarg  0x000005a2 
+ 00029349  0x00007e87 store  0x00000002 , 0x000005d4 
+ 00029350  0x00007e88 set1  0x00000012 , 0x00000000 
+ 00029351  0x00007e89 branch  0x000072a8 
+ 00029352  0x00007e8e jam  0x00000000 , 0x000005d8 
+ 00029353  0x00007e8f fetch  0x00000002 , 0x000005d4 
+ 00029354  0x00007e90 iforce  0x00000006 
+ 00029355  0x00007e91 arg  0x000005c2 , 0x00000005 
+ 00029356  0x00007e92 call  0x00007ebf 
+ 00029357  0x00007e93 fetch  0x00000002 , 0x000005d6 
+ 00029358  0x00007e94 iforce  0x00000006 
+ 00029359  0x00007e95 arg  0x00000592 , 0x00000005 
+ 00029360  0x00007e96 call  0x00007ebf 
+ 00029361  0x00007e99 call  0x000072cf 
+ 00029362  0x00007e9a disable  0x00000028 
+ 00029363  0x00007e9b bmark0  0x00000012 , 0x000072b9 
+ 00029364  0x00007e9c fetch  0x00000001 , 0x000005d8 
+ 00029365  0x00007e9d bne  0x00000004 , 0x000072b9 
+ 00029366  0x00007e9e fetch  0x00000002 , 0x000005d6 
+ 00029367  0x00007e9f iforce  0x00000012 
+ 00029368  0x00007ea0 call  0x00007301 
+ 00029369  0x00007ea2 call  0x00007300 
+ 00029370  0x00007ea3 call  0x00007313 
+ 00029371  0x00007ea4 fetch  0x00000001 , 0x000005d8 
+ 00029372  0x00007ea5 increase  0x00000001 , 0x0000003f 
+ 00029373  0x00007ea6 store  0x00000001 , 0x000005d8 
+ 00029374  0x00007ea8 call  0x000072cf 
+ 00029375  0x00007ea9 enable  0x00000028 
+ 00029376  0x00007eaa call  0x00007300 
+ 00029377  0x00007eab call  0x00007322 
+ 00029378  0x00007eac call  0x00007331 
+ 00029379  0x00007ead call  0x00007322 
+ 00029380  0x00007eae call  0x00007331 
+ 00029381  0x00007eaf call  0x00007322 
+ 00029382  0x00007eb0 call  0x00007331 
+ 00029383  0x00007eb1 call  0x00007322 
+ 00029384  0x00007eb2 fetch  0x00000001 , 0x000005d8 
+ 00029385  0x00007eb3 increase  0x00000001 , 0x0000003f 
+ 00029386  0x00007eb4 store  0x00000001 , 0x000005d8 
+ 00029387  0x00007eb5 bne  0x00000010 , 0x000072b1 
+ 00029388  0x00007eb6 call  0x000072cf 
+ 00029389  0x00007eb7 disable  0x00000028 
+ 00029390  0x00007eb8 branch  0x00007300 
+ 00029391  0x00007ebd fetch  0x00000001 , 0x000005d8 
+ 00029392  0x00007ebe arg  0x000005c2 , 0x00000006 
+ 00029393  0x00007ebf branch  0x000072f6 , 0x00000034 
+ 00029394  0x00007ec0 iforce  0x00000012 
+ 00029395  0x00007ec1 force  0x00000011 , 0x00000039 
+ 00029396  0x00007ec2 copy  0x00000006 , 0x00000005 
+ 00029397  0x00007ec4 ifetch  0x00000001 , 0x00000006 
+ 00029398  0x00007ec5 lshift3  0x0000003f , 0x00000002 
+ 00029399  0x00007ec6 rshift2  0x0000003f , 0x0000003f 
+ 00029400  0x00007ec7 rshift3  0x0000003f , 0x0000003f 
+ 00029401  0x00007ec8 ior  0x00000002 , 0x0000003f 
+ 00029402  0x00007ec9 istore  0x00000001 , 0x00000005 
+ 00029403  0x00007eca loop  0x000072d5 
+ 00029404  0x00007ecb setarg  0x000005c2 
+ 00029405  0x00007ecc iadd  0x00000012 , 0x00000006 
+ 00029406  0x00007ecd force  0x00000010 , 0x00000039 
+ 00029407  0x00007ece arg  0x00000572 , 0x00000005 
+ 00029408  0x00007ed0 ifetch  0x00000001 , 0x00000006 
+ 00029409  0x00007ed1 istore  0x00000001 , 0x00000005 
+ 00029410  0x00007ed2 compare  0x000005d3 , 0x00000006 , 0x000000ff 
+ 00029411  0x00007ed3 nbranch  0x000072e5 , 0x00000001 
+ 00029412  0x00007ed4 increase  0xffffffef , 0x00000006 
+ 00029413  0x00007ed6 loop  0x000072e0 
+ 00029414  0x00007ed7 force  0x00000000 , 0x00000011 
+ 00029415  0x00007ed8 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029416  0x00007ed9 lshift2  0x00000013 , 0x00000013 
+ 00029417  0x00007eda lshift2  0x00000013 , 0x00000013 
+ 00029418  0x00007edb call  0x000074b9 
+ 00029419  0x00007edc setarg  0x00008400 
+ 00029420  0x00007edd iadd  0x00000013 , 0x00000013 
+ 00029421  0x00007ede arg  0x00000572 , 0x00000005 
+ 00029422  0x00007edf force  0x00000010 , 0x00000039 
+ 00029423  0x00007ee1 ifetcht  0x00000001 , 0x00000013 
+ 00029424  0x00007ee2 ifetch  0x00000001 , 0x00000005 
+ 00029425  0x00007ee3 iadd  0x00000002 , 0x0000003f 
+ 00029426  0x00007ee4 istore  0x00000001 , 0x00000005 
+ 00029427  0x00007ee5 increase  0x00000001 , 0x00000013 
+ 00029428  0x00007ee6 loop  0x000072ef 
+ 00029429  0x00007ee7 branch  0x000074bd 
+ 00029430  0x00007eea force  0x00000010 , 0x00000039 
+ 00029431  0x00007eeb force  0x00000000 , 0x00000002 
+ 00029432  0x00007eed ifetch  0x00000001 , 0x00000006 
+ 00029433  0x00007eee ixor  0x00000002 , 0x00000002 
+ 00029434  0x00007eef loop  0x000072f8 
+ 00029435  0x00007ef0 deposit  0x00000002 
+ 00029436  0x00007ef1 istore  0x00000001 , 0x00000006 
+ 00029437  0x00007ef2 arg  0x000005c2 , 0x00000006 
+ 00029438  0x00007ef3 arg  0x00000572 , 0x00000005 
+ 00029439  0x00007ef4 branch  0x00007ebf 
+ 00029440  0x00007ef7 arg  0x00000572 , 0x00000012 
+ 00029441  0x00007ef9 force  0x00000010 , 0x00000039 
+ 00029442  0x00007efa arg  0x00000592 , 0x00000011 
+ 00029443  0x00007efb copy  0x00000011 , 0x00000005 
+ 00029444  0x00007efd ifetcht  0x00000001 , 0x00000011 
+ 00029445  0x00007efe ifetch  0x00000001 , 0x00000012 
+ 00029446  0x00007eff ixor  0x00000002 , 0x00000030 
+ 00029447  0x00007f00 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029448  0x00007f01 nbranch  0x0000730a , 0x00000028 
+ 00029449  0x00007f02 xor_into  0x00000003 , 0x00000013 
+ 00029450  0x00007f04 sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029451  0x00007f05 branch  0x0000730d , 0x00000002 
+ 00029452  0x00007f06 iadd  0x00000002 , 0x00000030 
+ 00029453  0x00007f08 deposit  0x00000030 
+ 00029454  0x00007f09 istore  0x00000001 , 0x00000005 
+ 00029455  0x00007f0a increase  0x00000001 , 0x00000011 
+ 00029456  0x00007f0b increase  0x00000001 , 0x00000012 
+ 00029457  0x00007f0c loop  0x00007304 
+ 00029458  0x00007f0d rtn 
+ 00029459  0x00007f10 call  0x000074b9 
+ 00029460  0x00007f11 force  0x00000010 , 0x00000039 
+ 00029461  0x00007f12 arg  0x00000592 , 0x00000011 
+ 00029462  0x00007f14 ifetch  0x00000001 , 0x00000011 
+ 00029463  0x00007f15 arg  0x00008500 , 0x00000006 
+ 00029464  0x00007f16 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029465  0x00007f17 sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029466  0x00007f18 branch  0x0000731c , 0x00000002 
+ 00029467  0x00007f19 arg  0x00008600 , 0x00000006 
+ 00029468  0x00007f1b iadd  0x00000006 , 0x00000006 
+ 00029469  0x00007f1c ifetch  0x00000001 , 0x00000006 
+ 00029470  0x00007f1d istore  0x00000001 , 0x00000011 
+ 00029471  0x00007f1e increase  0x00000001 , 0x00000011 
+ 00029472  0x00007f1f loop  0x00007316 
+ 00029473  0x00007f20 branch  0x000074bd 
+ 00029474  0x00007f23 force  0x00000008 , 0x00000039 
+ 00029475  0x00007f24 arg  0x00000592 , 0x00000006 
+ 00029476  0x00007f25 copy  0x00000006 , 0x00000005 
+ 00029477  0x00007f27 ifetch  0x00000001 , 0x00000006 
+ 00029478  0x00007f28 iforce  0x00000011 
+ 00029479  0x00007f29 ifetch  0x00000001 , 0x00000006 
+ 00029480  0x00007f2a iforce  0x00000012 
+ 00029481  0x00007f2b lshift  0x00000011 , 0x0000003f 
+ 00029482  0x00007f2c iadd  0x00000012 , 0x0000003f 
+ 00029483  0x00007f2d istore  0x00000001 , 0x00000005 
+ 00029484  0x00007f2e deposit  0x00000011 
+ 00029485  0x00007f2f iadd  0x00000012 , 0x0000003f 
+ 00029486  0x00007f30 istore  0x00000001 , 0x00000005 
+ 00029487  0x00007f31 loop  0x00007325 
+ 00029488  0x00007f32 rtn 
+ 00029489  0x00007f36 setarg  0x008ae42c 
+ 00029490  0x00007f37 iforce  0x00000002 
+ 00029491  0x00007f38 force  0x00000007 , 0x00000039 
+ 00029492  0x00007f39 call  0x00007340 
+ 00029493  0x00007f3a setarg  0x000d751b 
+ 00029494  0x00007f3b iforce  0x00000002 
+ 00029495  0x00007f3c force  0x00000005 , 0x00000039 
+ 00029496  0x00007f3d call  0x00007340 
+ 00029497  0x00007f3e fetch  0x00000001 , 0x000005a1 
+ 00029498  0x00007f3f iforce  0x00000011 
+ 00029499  0x00007f40 fetch  0x00000001 , 0x00000595 
+ 00029500  0x00007f41 store  0x00000001 , 0x000005a1 
+ 00029501  0x00007f42 deposit  0x00000011 
+ 00029502  0x00007f43 store  0x00000001 , 0x00000595 
+ 00029503  0x00007f44 rtn 
+ 00029504  0x00007f47 and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029505  0x00007f49 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029506  0x00007f4a arg  0x00000592 , 0x00000005 
+ 00029507  0x00007f4b iadd  0x00000005 , 0x00000005 
+ 00029508  0x00007f4c ifetch  0x00000001 , 0x00000005 
+ 00029509  0x00007f4d iforce  0x00000013 
+ 00029510  0x00007f4e deposit  0x00000011 
+ 00029511  0x00007f4f istore  0x00000001 , 0x00000005 
+ 00029512  0x00007f50 copy  0x00000013 , 0x00000011 
+ 00029513  0x00007f51 rshift4  0x00000002 , 0x00000002 
+ 00029514  0x00007f52 loop  0x00007341 
+ 00029515  0x00007f53 setarg  0x00000592 
+ 00029516  0x00007f54 iadd  0x00000012 , 0x00000005 
+ 00029517  0x00007f55 deposit  0x00000011 
+ 00029518  0x00007f56 istore  0x00000001 , 0x00000005 
+ 00029519  0x00007f57 rtn 
+ 00029520  0x00007f5a enable  0x00000028 
+ 00029521  0x00007f5b branch  0x00007353 
+ 00029522  0x00007f5e disable  0x00000028 
+ 00029523  0x00007f60 force  0x00000010 , 0x00000039 
+ 00029524  0x00007f62 ifetcht  0x00000001 , 0x00000011 
+ 00029525  0x00007f63 ifetch  0x00000001 , 0x00000012 
+ 00029526  0x00007f64 branch  0x00007359 , 0x00000028 
+ 00029527  0x00007f65 ixor  0x00000002 , 0x0000003f 
+ 00029528  0x00007f66 branch  0x0000735a 
+ 00029529  0x00007f68 iadd  0x00000002 , 0x0000003f 
+ 00029530  0x00007f6a istore  0x00000001 , 0x00000005 
+ 00029531  0x00007f6b increase  0x00000001 , 0x00000011 
+ 00029532  0x00007f6c increase  0x00000001 , 0x00000012 
+ 00029533  0x00007f6d loop  0x00007354 
+ 00029534  0x00007f6e rtn 
+ 00029535  0x00007f72 arg  0x000005b2 , 0x00000005 
+ 00029536  0x00007f73 ifetch  0x00000006 , 0x00000011 
+ 00029537  0x00007f74 istore  0x00000006 , 0x00000005 
+ 00029538  0x00007f75 branch  0x00007365 , 0x00000028 
+ 00029539  0x00007f76 ifetch  0x00000006 , 0x00000011 
+ 00029540  0x00007f77 branch  0x00007366 
+ 00029541  0x00007f79 ifetch  0x00000006 , 0x00000006 
+ 00029542  0x00007f7b istore  0x00000006 , 0x00000005 
+ 00029543  0x00007f7c ifetch  0x00000004 , 0x00000011 
+ 00029544  0x00007f7d istore  0x00000004 , 0x00000005 
+ 00029545  0x00007f7e rtn 
+ 00029546  0x00007f81 arg  0x000041be , 0x00000006 
+ 00029547  0x00007f82 arg  0x000005a2 , 0x00000005 
+ 00029548  0x00007f83 arg  0x00000000 , 0x00000002 
+ 00029549  0x00007f84 setarg  0x008395a7 
+ 00029550  0x00007f85 call  0x0000738b 
+ 00029551  0x00007f86 setarg  0x00b3c1df 
+ 00029552  0x00007f87 call  0x0000738b 
+ 00029553  0x00007f88 setarg  0x0000e5e9 
+ 00029554  0x00007f89 call  0x0000738c 
+ 00029555  0x00007f8a copy  0x00000002 , 0x00000014 
+ 00029556  0x00007f8b disable  0x00000028 
+ 00029557  0x00007f8c call  0x00007379 
+ 00029558  0x00007f8d copy  0x00000014 , 0x00000002 
+ 00029559  0x00007f8e enable  0x00000028 
+ 00029560  0x00007f8f branch  0x00007379 
+ 00029561  0x00007f92 force  0x00000008 , 0x00000039 
+ 00029562  0x00007f94 ifetch  0x00000001 , 0x00000006 
+ 00029563  0x00007f95 compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029564  0x00007f96 branch  0x00007380 , 0x00000028 
+ 00029565  0x00007f97 branch  0x00007381 , 0x00000001 
+ 00029566  0x00007f99 iadd  0x00000002 , 0x0000003f 
+ 00029567  0x00007f9a branch  0x00007382 
+ 00029568  0x00007f9c branch  0x0000737e , 0x00000001 
+ 00029569  0x00007f9e ixor  0x00000002 , 0x0000003f 
+ 00029570  0x00007fa0 istore  0x00000001 , 0x00000005 
+ 00029571  0x00007fa1 rshift8  0x00000002 , 0x00000002 
+ 00029572  0x00007fa2 loop  0x0000737a 
+ 00029573  0x00007fa3 rtn 
+ 00029574  0x00007fa6 fetch  0x00000006 , 0x00000596 
+ 00029575  0x00007fa7 store  0x00000006 , 0x00000056 
+ 00029576  0x00007fa8 ifetch  0x00000006 , 0x00000006 
+ 00029577  0x00007fa9 istore  0x00000006 , 0x00000005 
+ 00029578  0x00007faa rtn 
+ 00029579  0x00007fad lshift8  0x00000002 , 0x00000002 
+ 00029580  0x00007faf lshift16  0x00000002 , 0x00000002 
+ 00029581  0x00007fb0 ior  0x00000002 , 0x00000002 
+ 00029582  0x00007fb1 rtn 
+ 00029583  0x00007fb6 branch  0x0000738f 
+ 00029584  0x00007fbb bpatchx  0x000000e0 , 0x0000403c 
+ 00029585  0x00007fbc call  0x0000742b 
+ 00029586  0x00007fbd arg  0x00004419 , 0x00000005 
+ 00029587  0x00007fbe branch  0x00007497 
+ 00029588  0x00007fc2 arg  0x0000443a , 0x00000005 
+ 00029589  0x00007fc3 branch  0x00007397 , 0x00000029 
+ 00029590  0x00007fc4 arg  0x0000042f , 0x00000005 
+ 00029591  0x00007fc6 copy  0x00000006 , 0x00000011 
+ 00029592  0x00007fc7 call  0x00007ebf 
+ 00029593  0x00007fc8 call  0x00007440 
+ 00029594  0x00007fc9 arg  0x0000442a , 0x00000006 
+ 00029595  0x00007fca branch  0x000074b0 
+ 00029596  0x00007fcd arg  0x0000042f , 0x00000011 
+ 00029597  0x00007fce branch  0x0000739f , 0x00000029 
+ 00029598  0x00007fcf arg  0x0000443a , 0x00000011 
+ 00029599  0x00007fd1 copy  0x00000011 , 0x00000005 
+ 00029600  0x00007fd2 call  0x0000630c 
+ 00029601  0x00007fd3 branch  0x00007440 
+ 00029602  0x00007fd6 arg  0x000044aa , 0x00000006 
+ 00029603  0x00007fd7 call  0x00007486 
+ 00029604  0x00007fd8 arg  0x00004419 , 0x00000006 
+ 00029605  0x00007fd9 call  0x00007487 
+ 00029606  0x00007fda force  0x00000038 , 0x00000036 
+ 00029607  0x00007fdb force  0x00000000 , 0x00000036 
+ 00029608  0x00007fdc call  0x0000741d 
+ 00029609  0x00007fdd arg  0x0000047c , 0x00000005 
+ 00029610  0x00007fde branch  0x00007497 
+ 00029611  0x00007fe2 force  0x00000049 , 0x0000003f 
+ 00029612  0x00007fe3 branch  0x000073ae 
+ 00029613  0x00007fe5 force  0x00000001 , 0x0000003f 
+ 00029614  0x00007fe7 force  0x00000000 , 0x00000038 
+ 00029615  0x00007fe8 lshift8  0x00000002 , 0x0000002f 
+ 00029616  0x00007fe9 ior  0x0000002f , 0x0000002f 
+ 00029617  0x00007fea increase  0x00000001 , 0x00000038 
+ 00029618  0x00007feb rshift8  0x00000002 , 0x0000002f 
+ 00029619  0x00007fec rshift16  0x0000002f , 0x0000002f 
+ 00029620  0x00007fed fetch  0x00000002 , 0x00004411 
+ 00029621  0x00007fee lshift16 , 0x0000003f , 0x0000003f 
+ 00029622  0x00007fef ior  0x0000002f , 0x0000002f 
+ 00029623  0x00007ff0 increase  0x00000001 , 0x00000038 
+ 00029624  0x00007ff1 ifetch  0x00000004 , 0x00000006 
+ 00029625  0x00007ff2 iforce  0x0000002f 
+ 00029626  0x00007ff3 increase  0x00000001 , 0x00000038 
+ 00029627  0x00007ff4 ifetch  0x00000002 , 0x00000006 
+ 00029628  0x00007ff5 byteswap  0x00000011 , 0x0000002f 
+ 00029629  0x00007ff6 lshift16  0x0000002f , 0x0000002f 
+ 00029630  0x00007ff7 ior  0x0000002f , 0x0000002f 
+ 00029631  0x00007ff8 increase  0x00000001 , 0x00000038 
+ 00029632  0x00007ff9 rtn 
+ 00029633  0x00007ffe add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029634  0x00007fff ifetch  0x00000001 , 0x00000006 
+ 00029635  0x00008000 iforce  0x00000011 
+ 00029636  0x00008001 call  0x000073ab 
+ 00029637  0x00008002 call  0x0000741f 
+ 00029638  0x00008004 force  0x00000000 , 0x00000038 
+ 00029639  0x00008005 ifetch  0x00000001 , 0x00000013 
+ 00029640  0x00008006 and_into  0x00000003 , 0x0000003f 
+ 00029641  0x00008007 lshift16  0x0000003f , 0x0000002f 
+ 00029642  0x00008008 set1  0x00000008 , 0x0000002f 
+ 00029643  0x00008009 call  0x0000748f 
+ 00029644  0x0000800a call  0x00007422 
+ 00029645  0x0000800c copy  0x00000011 , 0x00000039 
+ 00029646  0x0000800d add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029647  0x0000800e call  0x0000746e 
+ 00029648  0x00008010 call  0x00007478 
+ 00029649  0x00008011 call  0x00007422 
+ 00029650  0x00008012 deposit  0x00000039 
+ 00029651  0x00008013 branch  0x000073d5 , 0x00000034 
+ 00029652  0x00008014 branch  0x000073d0 
+ 00029653  0x00008016 force  0x0000000c , 0x00000038 
+ 00029654  0x00008017 deposit  0x0000002f 
+ 00029655  0x00008018 store  0x00000004 , 0x00000417 
+ 00029656  0x00008019 rtn 
+ 00029657  0x0000801c increase  0x00000001 , 0x00000011 
+ 00029658  0x0000801d call  0x000073ad 
+ 00029659  0x0000801e copy  0x00000013 , 0x00000006 
+ 00029660  0x0000801f call  0x00007482 
+ 00029661  0x00008020 call  0x00007425 
+ 00029662  0x00008021 call  0x0000749e 
+ 00029663  0x00008022 increase  0x00000010 , 0x00000013 
+ 00029664  0x00008023 increase  0xfffffff0 , 0x00000012 
+ 00029665  0x00008024 branch  0x000073d9 , 0x00000002 
+ 00029666  0x00008025 rtn 
+ 00029667  0x00008028 bpatchx  0x000000e1 , 0x0000403c 
+ 00029668  0x00008029 arg  0x000043dc , 0x00000013 
+ 00029669  0x0000802a fetcht  0x00000005 , 0x00004403 
+ 00029670  0x0000802b call  0x000073c1 
+ 00029671  0x0000802c force  0x00000008 , 0x00000038 
+ 00029672  0x0000802d iforce  0x0000002f 
+ 00029673  0x0000802e force  0x00000000 , 0x00000011 
+ 00029674  0x0000802f call  0x000073ad 
+ 00029675  0x00008030 call  0x00007425 
+ 00029676  0x00008031 arg  0x000043de , 0x00000013 
+ 00029677  0x00008032 fetch  0x00000001 , 0x000043dd 
+ 00029678  0x00008033 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029679  0x00008034 iadd  0x00000013 , 0x00000005 
+ 00029680  0x00008035 force  0x0000000c , 0x00000038 
+ 00029681  0x00008036 deposit  0x0000002f 
+ 00029682  0x00008037 istore  0x00000004 , 0x00000005 
+ 00029683  0x00008038 call  0x000073d9 
+ 00029684  0x00008039 fetch  0x00000001 , 0x000043dd 
+ 00029685  0x0000803a increase  0x00000004 , 0x0000003f 
+ 00029686  0x0000803b store  0x00000001 , 0x000043dd 
+ 00029687  0x0000803c fetcht  0x00000005 , 0x00004403 
+ 00029688  0x0000803d increase  0x00000001 , 0x00000002 
+ 00029689  0x0000803e storet  0x00000005 , 0x00004403 
+ 00029690  0x0000803f rtn 
+ 00029691  0x00008042 bpatchx  0x000000e2 , 0x0000403c 
+ 00029692  0x00008043 fetch  0x00000001 , 0x000002da 
+ 00029693  0x00008044 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00029694  0x00008045 branch  0x000073ff , 0x00000002 
+ 00029695  0x00008047 arg  0x000002db , 0x00000013 
+ 00029696  0x00008048 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029697  0x00008049 increase  0xfffffffc , 0x0000003f 
+ 00029698  0x0000804a store  0x00000001 , 0x000002da 
+ 00029699  0x0000804b iadd  0x00000013 , 0x00000006 
+ 00029700  0x0000804c ifetch  0x00000004 , 0x00000006 
+ 00029701  0x0000804d force  0x00000008 , 0x00000038 
+ 00029702  0x0000804e iforce  0x0000002f 
+ 00029703  0x0000804f force  0x00000000 , 0x00000011 
+ 00029704  0x00008050 fetcht  0x00000005 , 0x00004408 
+ 00029705  0x00008051 call  0x000073ad 
+ 00029706  0x00008052 call  0x00007425 
+ 00029707  0x00008053 force  0x0000000c , 0x00000038 
+ 00029708  0x00008054 deposit  0x0000002f 
+ 00029709  0x00008055 store  0x00000004 , 0x0000041b 
+ 00029710  0x00008056 call  0x000073d9 
+ 00029711  0x00008057 arg  0x000002d9 , 0x00000013 
+ 00029712  0x00008058 call  0x000073c1 
+ 00029713  0x00008059 fetcht  0x00000004 , 0x0000041b 
+ 00029714  0x0000805a isub  0x00000002 , 0x0000003f 
+ 00029715  0x0000805b nrtn  0x00000034 
+ 00029716  0x0000805c fetch  0x00000004 , 0x0000440d 
+ 00029717  0x0000805d isub  0x00000002 , 0x0000003f 
+ 00029718  0x0000805e rtn  0x00000034 
+ 00029719  0x0000805f storet  0x00000004 , 0x0000440d 
+ 00029720  0x00008060 fetch  0x00000005 , 0x00004408 
+ 00029721  0x00008061 increase  0x00000001 , 0x0000003f 
+ 00029722  0x00008062 store  0x00000005 , 0x00004408 
+ 00029723  0x00008063 force  0x00000000 , 0x0000003f 
+ 00029724  0x00008064 rtn 
+ 00029725  0x00008067 nbranch  0x0000741d , 0x00000037 
+ 00029726  0x00008068 rtn 
+ 00029727  0x0000806b force  0x00000030 , 0x00000036 
+ 00029728  0x0000806c force  0x00000000 , 0x00000036 
+ 00029729  0x0000806d branch  0x0000741d 
+ 00029730  0x00008070 force  0x00000032 , 0x00000036 
+ 00029731  0x00008071 force  0x00000002 , 0x00000036 
+ 00029732  0x00008072 branch  0x0000741d 
+ 00029733  0x00008075 force  0x00000034 , 0x00000036 
+ 00029734  0x00008076 force  0x00000004 , 0x00000036 
+ 00029735  0x00008077 branch  0x0000741d 
+ 00029736  0x0000807b force  0x00000001 , 0x00000036 
+ 00029737  0x0000807c force  0x00000000 , 0x00000036 
+ 00029738  0x0000807d rtn 
+ 00029739  0x0000807f force  0x00000000 , 0x00000038 
+ 00029740  0x00008080 fetch  0x00000004 , 0x0000042f 
+ 00029741  0x00008081 iforce  0x0000002f 
+ 00029742  0x00008082 increase  0x00000001 , 0x00000038 
+ 00029743  0x00008083 ifetch  0x00000004 , 0x00000006 
+ 00029744  0x00008084 iforce  0x0000002f 
+ 00029745  0x00008085 increase  0x00000001 , 0x00000038 
+ 00029746  0x00008086 fetch  0x00000004 , 0x0000443a 
+ 00029747  0x00008087 iforce  0x0000002f 
+ 00029748  0x00008088 increase  0x00000001 , 0x00000038 
+ 00029749  0x00008089 ifetch  0x00000004 , 0x00000006 
+ 00029750  0x0000808a iforce  0x0000002f 
+ 00029751  0x0000808b increase  0x00000001 , 0x00000038 
+ 00029752  0x0000808c call  0x00007492 
+ 00029753  0x0000808d increase  0xfffffffc , 0x00000038 
+ 00029754  0x0000808e fetch  0x00000004 , 0x000044c7 
+ 00029755  0x0000808f copy  0x0000003f , 0x0000002f 
+ 00029756  0x00008090 increase  0x00000004 , 0x00000038 
+ 00029757  0x00008091 force  0x00000038 , 0x00000036 
+ 00029758  0x00008092 force  0x00000008 , 0x00000036 
+ 00029759  0x00008093 branch  0x0000741d 
+ 00029760  0x00008097 bpatchx  0x000000e3 , 0x0000403c 
+ 00029761  0x00008098 fetch  0x00000006 , 0x000044a0 
+ 00029762  0x00008099 fetcht  0x00000006 , 0x0000044f 
+ 00029763  0x0000809a branch  0x00007446 , 0x00000029 
+ 00029764  0x0000809b fetch  0x00000006 , 0x0000044f 
+ 00029765  0x0000809c fetcht  0x00000006 , 0x000044a0 
+ 00029766  0x0000809e force  0x00000008 , 0x00000038 
+ 00029767  0x0000809f copy  0x00000002 , 0x0000002f 
+ 00029768  0x000080a0 increase  0x00000001 , 0x00000038 
+ 00029769  0x000080a1 rshift32  0x00000002 , 0x0000002f 
+ 00029770  0x000080a2 lshift16  0x0000003f , 0x0000003f 
+ 00029771  0x000080a3 ior  0x0000002f , 0x0000002f 
+ 00029772  0x000080a4 increase  0x00000001 , 0x00000038 
+ 00029773  0x000080a5 rshift32  0x0000003f , 0x0000002f 
+ 00029774  0x000080a6 increase  0x00000001 , 0x00000038 
+ 00029775  0x000080a7 force  0x00000000 , 0x0000002f 
+ 00029776  0x000080a8 force  0x00000000 , 0x0000003f 
+ 00029777  0x000080a9 fetch  0x00000001 , 0x0000448e 
+ 00029778  0x000080aa fetcht  0x00000001 , 0x00004485 
+ 00029779  0x000080ab nbranch  0x00007456 , 0x00000029 
+ 00029780  0x000080ad fetch  0x00000001 , 0x00004495 
+ 00029781  0x000080ae fetcht  0x00000001 , 0x0000448e 
+ 00029782  0x000080b0 store  0x00000001 , 0x0000444a 
+ 00029783  0x000080b1 storet  0x00000001 , 0x0000444b 
+ 00029784  0x000080b2 force  0x00000000 , 0x00000038 
+ 00029785  0x000080b3 arg  0x0000444a , 0x00000012 
+ 00029786  0x000080b4 force  0x00000004 , 0x00000039 
+ 00029787  0x000080b6 ifetch  0x00000004 , 0x00000011 
+ 00029788  0x000080b7 ifetcht  0x00000004 , 0x00000012 
+ 00029789  0x000080b8 ixor  0x00000002 , 0x0000002f 
+ 00029790  0x000080b9 increase  0x00000001 , 0x00000038 
+ 00029791  0x000080ba increase  0x00000004 , 0x00000011 
+ 00029792  0x000080bb increase  0x00000004 , 0x00000012 
+ 00029793  0x000080bc loop  0x0000745b 
+ 00029794  0x000080bd call  0x00007492 
+ 00029795  0x000080be increase  0xfffffffc , 0x00000038 
+ 00029796  0x000080bf fetch  0x00000004 , 0x000044c7 
+ 00029797  0x000080c0 copy  0x0000003f , 0x0000002f 
+ 00029798  0x000080c1 increase  0x00000004 , 0x00000038 
+ 00029799  0x000080c2 force  0x00000038 , 0x00000036 
+ 00029800  0x000080c3 force  0x0000000c , 0x00000036 
+ 00029801  0x000080c4 call  0x0000741d 
+ 00029802  0x000080c6 call  0x00007491 
+ 00029803  0x000080c7 force  0x0000003a , 0x00000036 
+ 00029804  0x000080c8 force  0x00000008 , 0x00000036 
+ 00029805  0x000080c9 branch  0x0000741d 
+ 00029806  0x000080cc compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029807  0x000080cd rtn  0x00000001 
+ 00029808  0x000080ce deposit  0x00000006 
+ 00029809  0x000080cf iadd  0x00000039 , 0x00000005 
+ 00029810  0x000080d0 force  0x00000000 , 0x0000003f 
+ 00029811  0x000080d2 istore  0x00000001 , 0x00000005 
+ 00029812  0x000080d3 increase  0x00000001 , 0x00000039 
+ 00029813  0x000080d4 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029814  0x000080d5 rtn  0x00000001 
+ 00029815  0x000080d6 branch  0x00007473 
+ 00029816  0x000080d9 force  0x00000000 , 0x00000038 
+ 00029817  0x000080db deposit  0x00000039 
+ 00029818  0x000080dc branch  0x0000747d , 0x00000034 
+ 00029819  0x000080dd ifetch  0x00000004 , 0x00000006 
+ 00029820  0x000080de increase  0xfffffffc , 0x00000039 
+ 00029821  0x000080e0 iforce  0x0000002f 
+ 00029822  0x000080e1 increase  0x00000001 , 0x00000038 
+ 00029823  0x000080e2 compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029824  0x000080e3 rtn  0x00000001 
+ 00029825  0x000080e4 branch  0x00007479 
+ 00029826  0x000080e7 force  0x00000008 , 0x00000038 
+ 00029827  0x000080e8 branch  0x00007487 
+ 00029828  0x000080ea force  0x00000004 , 0x00000038 
+ 00029829  0x000080eb branch  0x00007487 
+ 00029830  0x000080ed force  0x00000000 , 0x00000038 
+ 00029831  0x000080ef force  0x00000004 , 0x00000039 
+ 00029832  0x000080f1 ifetch  0x00000004 , 0x00000006 
+ 00029833  0x000080f2 iforce  0x0000002f 
+ 00029834  0x000080f3 increase  0x00000001 , 0x00000038 
+ 00029835  0x000080f4 loop  0x00007488 
+ 00029836  0x000080f5 rtn 
+ 00029837  0x000080f8 arg  0x0000047c , 0x00000006 
+ 00029838  0x000080f9 branch  0x00007484 
+ 00029839  0x000080fc force  0x00000004 , 0x00000039 
+ 00029840  0x000080fd branch  0x00007494 
+ 00029841  0x00008100 force  0x00000000 , 0x00000038 
+ 00029842  0x00008102 force  0x00000004 , 0x00000039 
+ 00029843  0x00008104 force  0x00000000 , 0x0000002f 
+ 00029844  0x00008106 increase  0x00000001 , 0x00000038 
+ 00029845  0x00008107 loop  0x00007493 
+ 00029846  0x00008108 rtn 
+ 00029847  0x0000810b force  0x0000000c , 0x00000038 
+ 00029848  0x0000810c force  0x00000004 , 0x00000039 
+ 00029849  0x0000810e deposit  0x0000002f 
+ 00029850  0x0000810f istore  0x00000004 , 0x00000005 
+ 00029851  0x00008110 increase  0x00000001 , 0x00000038 
+ 00029852  0x00008111 loop  0x00007499 
+ 00029853  0x00008112 rtn 
+ 00029854  0x00008115 force  0x0000000c , 0x00000038 
+ 00029855  0x00008116 copy  0x00000013 , 0x00000005 
+ 00029856  0x00008117 add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029857  0x00008118 sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029858  0x00008119 branch  0x000074a4 , 0x00000002 
+ 00029859  0x0000811a force  0x00000010 , 0x00000039 
+ 00029860  0x0000811c deposit  0x0000002f 
+ 00029861  0x0000811d sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029862  0x0000811e branch  0x000074ac , 0x00000002 
+ 00029863  0x0000811f istore  0x00000004 , 0x00000005 
+ 00029864  0x00008120 increase  0xfffffffc , 0x00000039 
+ 00029865  0x00008121 rtn  0x00000005 
+ 00029866  0x00008122 increase  0x00000001 , 0x00000038 
+ 00029867  0x00008123 branch  0x000074a4 
+ 00029868  0x00008125 istore  0x00000001 , 0x00000005 
+ 00029869  0x00008126 rshift8  0x0000003f , 0x0000003f 
+ 00029870  0x00008127 loop  0x000074ac 
+ 00029871  0x00008128 rtn 
+ 00029872  0x0000812c force  0x0000000c , 0x00000038 
+ 00029873  0x0000812d force  0x00000004 , 0x00000039 
+ 00029874  0x0000812f ifetch  0x00000004 , 0x00000006 
+ 00029875  0x00008130 isub  0x0000002f , 0x0000003e 
+ 00029876  0x00008131 nrtn  0x00000005 
+ 00029877  0x00008132 increase  0x00000001 , 0x00000038 
+ 00029878  0x00008133 loop  0x000074b2 
+ 00029879  0x00008134 force  0x00000000 , 0x0000003e 
+ 00029880  0x00008135 rtn 
+ 00029881  0x00008138 hfetch  0x00000001 , 0x00008050 
+ 00029882  0x00008139 set0  0x00000000 , 0x0000003f 
+ 00029883  0x0000813a hstore  0x00000001 , 0x00008050 
+ 00029884  0x0000813b rtn 
+ 00029885  0x0000813e hfetch  0x00000001 , 0x00008050 
+ 00029886  0x0000813f set1  0x00000000 , 0x0000003f 
+ 00029887  0x00008140 hstore  0x00000001 , 0x00008050 
+ 00029888  0x00008141 rtn 
+ 00029889  0x00008144 arg  0x00000886 , 0x00000005 
+ 00029890  0x00008145 setsect  0x00000000 , 0x0003ffff 
+ 00029891  0x00008146 setsect  0x00000001 , 0x0003ffff 
+ 00029892  0x00008147 setsect  0x00000002 , 0x0003ffff 
+ 00029893  0x00008148 setsect  0x00000003 , 0x0003fbff 
+ 00029894  0x00008149 istore  0x00000009 , 0x00000005 
+ 00029895  0x0000814a setsect  0x00000000 , 0x0003ffff 
+ 00029896  0x0000814b setsect  0x00000001 , 0x0003ffff 
+ 00029897  0x0000814c setsect  0x00000002 , 0x0003ffff 
+ 00029898  0x0000814d setsect  0x00000003 , 0x0003ffff 
+ 00029899  0x0000814e istore  0x00000009 , 0x00000005 
+ 00029900  0x0000814f setsect  0x00000000 , 0x0003ffff 
+ 00029901  0x00008150 setsect  0x00000001 , 0x0003ffff 
+ 00029902  0x00008151 setsect  0x00000002 , 0x0003cfff 
+ 00029903  0x00008152 setsect  0x00000003 , 0x0003ffff 
+ 00029904  0x00008153 istore  0x00000009 , 0x00000005 
+ 00029905  0x00008154 setsect  0x00000000 , 0x0003ffff 
+ 00029906  0x00008155 setsect  0x00000001 , 0x0003ffff 
+ 00029907  0x00008156 setsect  0x00000002 , 0x0003ffef 
+ 00029908  0x00008157 setsect  0x00000003 , 0x0003ffff 
+ 00029909  0x00008158 istore  0x00000009 , 0x00000005 
+ 00029910  0x00008159 setsect  0x00000000 , 0x0003ffff 
+ 00029911  0x0000815a setsect  0x00000001 , 0x0003ffff 
+ 00029912  0x0000815b setsect  0x00000002 , 0x0003ffff 
+ 00029913  0x0000815c setsect  0x00000003 , 0x0003ffff 
+ 00029914  0x0000815d istore  0x00000009 , 0x00000005 
+ 00029915  0x0000815e setsect  0x00000000 , 0x0003ffff 
+ 00029916  0x0000815f setsect  0x00000001 , 0x00026c7f 
+ 00029917  0x00008160 setsect  0x00000002 , 0x0000146b 
+ 00029918  0x00008161 setsect  0x00000003 , 0x00037bb3 
+ 00029919  0x00008162 istore  0x00000009 , 0x00000005 
+ 00029920  0x00008163 setsect  0x00000000 , 0x0001feb8 
+ 00029921  0x00008164 setsect  0x00000001 , 0x00010c12 
+ 00029922  0x00008165 setsect  0x00000002 , 0x0002b722 
+ 00029923  0x00008166 setsect  0x00000003 , 0x00029fa6 
+ 00029924  0x00008167 istore  0x00000009 , 0x00000005 
+ 00029925  0x00008168 setsect  0x00000000 , 0x0000e70f 
+ 00029926  0x00008169 setsect  0x00000001 , 0x00016720 
+ 00029927  0x0000816a setsect  0x00000002 , 0x0000519e 
+ 00029928  0x0000816b setsect  0x00000003 , 0x00019084 
+ 00029929  0x0000816c istore  0x00000009 , 0x00000005 
+ 00029930  0x0000816d setsect  0x00000000 , 0x00031012 
+ 00029931  0x0000816e setsect  0x00000001 , 0x000360bf 
+ 00029932  0x0000816f setsect  0x00000002 , 0x0003f0af 
+ 00029933  0x00008170 setsect  0x00000003 , 0x000003d3 
+ 00029934  0x00008171 istore  0x00000009 , 0x00000005 
+ 00029935  0x00008172 setsect  0x00000000 , 0x0003a188 
+ 00029936  0x00008173 setsect  0x00000001 , 0x00003ad0 
+ 00029937  0x00008174 setsect  0x00000002 , 0x0003cbf2 
+ 00029938  0x00008175 setsect  0x00000003 , 0x000243d9 
+ 00029939  0x00008176 istore  0x00000009 , 0x00000005 
+ 00029940  0x00008177 setsect  0x00000000 , 0x0002b030 
+ 00029941  0x00008178 setsect  0x00000001 , 0x00036a03 
+ 00029942  0x00008179 setsect  0x00000002 , 0x00011188 
+ 00029943  0x0000817a setsect  0x00000003 , 0x0001e520 
+ 00029944  0x0000817b istore  0x00000009 , 0x00000005 
+ 00029945  0x0000817c setsect  0x00000000 , 0x0003a11e 
+ 00029946  0x0000817d setsect  0x00000001 , 0x0000fe5d 
+ 00029947  0x0000817e setsect  0x00000002 , 0x0000dd57 
+ 00029948  0x0000817f setsect  0x00000003 , 0x0001ac93 
+ 00029949  0x00008180 istore  0x00000009 , 0x00000005 
+ 00029950  0x00008181 setsect  0x00000000 , 0x000011ed 
+ 00029951  0x00008182 setsect  0x00000001 , 0x000218c4 
+ 00029952  0x00008183 setsect  0x00000002 , 0x00008da7 
+ 00029953  0x00008184 setsect  0x00000003 , 0x000257ff 
+ 00029954  0x00008185 istore  0x00000009 , 0x00000005 
+ 00029955  0x00008186 setsect  0x00000000 , 0x0003192b 
+ 00029956  0x00008187 setsect  0x00000001 , 0x00034641 
+ 00029957  0x00008188 setsect  0x00000002 , 0x0001be0c 
+ 00029958  0x00008189 setsect  0x00000003 , 0x000366ad 
+ 00029959  0x0000818a istore  0x00000009 , 0x00000005 
+ 00029960  0x0000818b setsect  0x00000000 , 0x00001f83 
+ 00029961  0x0000818c setsect  0x00000001 , 0x00015a23 
+ 00029962  0x0000818d setsect  0x00000002 , 0x0003f9b0 
+ 00029963  0x0000818e setsect  0x00000003 , 0x00003949 
+ 00029964  0x0000818f istore  0x00000009 , 0x00000005 
+ 00029965  0x00008190 setsect  0x00000000 , 0x00013a51 
+ 00029966  0x00008191 setsect  0x00000001 , 0x000153fd 
+ 00029967  0x00008192 setsect  0x00000002 , 0x0003372a 
+ 00029968  0x00008193 setsect  0x00000003 , 0x0000f1bb 
+ 00029969  0x00008194 istore  0x00000009 , 0x00000005 
+ 00029970  0x00008195 setsect  0x00000000 , 0x0003ae85 
+ 00029971  0x00008196 setsect  0x00000001 , 0x0001eed9 
+ 00029972  0x00008197 setsect  0x00000002 , 0x00009e66 
+ 00029973  0x00008198 setsect  0x00000003 , 0x000001a8 
+ 00029974  0x00008199 istore  0x00000008 , 0x00000005 
+ 00029975  0x0000819a rtn 
+ 00029976  0x0000819f arg  0x0000091e , 0x00000005 
+ 00029977  0x000081a0 setsect  0x00000000 , 0x0003ffff 
+ 00029978  0x000081a1 setsect  0x00000001 , 0x0003ffff 
+ 00029979  0x000081a2 setsect  0x00000002 , 0x0003ffff 
+ 00029980  0x000081a3 setsect  0x00000003 , 0x0003ffff 
+ 00029981  0x000081a4 istore  0x00000009 , 0x00000005 
+ 00029982  0x000081a5 setsect  0x00000000 , 0x0003ffff 
+ 00029983  0x000081a6 setsect  0x00000001 , 0x0000003f 
+ 00029984  0x000081a7 setsect  0x00000002 , 0x00000000 
+ 00029985  0x000081a8 setsect  0x00000003 , 0x00000000 
+ 00029986  0x000081a9 istore  0x00000009 , 0x00000005 
+ 00029987  0x000081aa setsect  0x00000000 , 0x00000000 
+ 00029988  0x000081ab setsect  0x00000001 , 0x00000000 
+ 00029989  0x000081ac setsect  0x00000002 , 0x00001000 
+ 00029990  0x000081ad setsect  0x00000003 , 0x00000000 
+ 00029991  0x000081ae istore  0x00000009 , 0x00000005 
+ 00029992  0x000081af setsect  0x00000000 , 0x0003ff00 
+ 00029993  0x000081b0 setsect  0x00000001 , 0x0003ffff 
+ 00029994  0x000081b1 setsect  0x00000002 , 0x0003ffcf 
+ 00029995  0x000081b2 setsect  0x00000003 , 0x0003ffff 
+ 00029996  0x000081b3 istore  0x00000009 , 0x00000005 
+ 00029997  0x000081b4 setsect  0x00000000 , 0x0003ffff 
+ 00029998  0x000081b5 setsect  0x00000001 , 0x0003ffff 
+ 00029999  0x000081b6 setsect  0x00000002 , 0x0003ffff 
+ 00030000  0x000081b7 setsect  0x00000003 , 0x000003ff 
+ 00030001  0x000081b8 istore  0x00000009 , 0x00000005 
+ 00030002  0x000081b9 setsect  0x00000000 , 0x00000000 
+ 00030003  0x000081ba setsect  0x00000001 , 0x00000000 
+ 00030004  0x000081bb setsect  0x00000002 , 0x00000000 
+ 00030005  0x000081bc setsect  0x00000003 , 0x00000000 
+ 00030006  0x000081bd istore  0x00000009 , 0x00000005 
+ 00030007  0x000081be setsect  0x00000000 , 0x00010000 
+ 00030008  0x000081bf setsect  0x00000001 , 0x00000000 
+ 00030009  0x000081c0 setsect  0x00000002 , 0x0003f000 
+ 00030010  0x000081c1 setsect  0x00000003 , 0x0003ffff 
+ 00030011  0x000081c2 istore  0x00000009 , 0x00000005 
+ 00030012  0x000081c3 setsect  0x00000000 , 0x000296ff 
+ 00030013  0x000081c4 setsect  0x00000001 , 0x00022630 
+ 00030014  0x000081c5 setsect  0x00000002 , 0x0003945d 
+ 00030015  0x000081c6 setsect  0x00000003 , 0x0003d284 
+ 00030016  0x000081c7 istore  0x00000009 , 0x00000005 
+ 00030017  0x000081c8 setsect  0x00000000 , 0x000333a0 
+ 00030018  0x000081c9 setsect  0x00000001 , 0x00004b7a 
+ 00030019  0x000081ca setsect  0x00000002 , 0x000037d8 
+ 00030020  0x000081cb setsect  0x00000003 , 0x0003c9dc 
+ 00030021  0x000081cc istore  0x00000009 , 0x00000005 
+ 00030022  0x000081cd setsect  0x00000000 , 0x0003a440 
+ 00030023  0x000081ce setsect  0x00000001 , 0x0001b958 
+ 00030024  0x000081cf setsect  0x00000002 , 0x00038bce 
+ 00030025  0x000081d0 setsect  0x00000003 , 0x0001091f 
+ 00030026  0x000081d1 istore  0x00000009 , 0x00000005 
+ 00030027  0x000081d2 setsect  0x00000000 , 0x0002e12c 
+ 00030028  0x000081d3 setsect  0x00000001 , 0x0001f47c 
+ 00030029  0x000081d4 setsect  0x00000002 , 0x000356b1 
+ 00030030  0x000081d5 setsect  0x00000003 , 0x0002fd47 
+ 00030031  0x000081d6 istore  0x00000009 , 0x00000005 
+ 00030032  0x000081d7 setsect  0x00000000 , 0x00006837 
+ 00030033  0x000081d8 setsect  0x00000001 , 0x0002ed90 
+ 00030034  0x000081d9 setsect  0x00000002 , 0x0001ecec 
+ 00030035  0x000081da setsect  0x00000003 , 0x0001acc5 
+ 00030036  0x000081db istore  0x00000009 , 0x00000005 
+ 00030037  0x000081dc setsect  0x00000000 , 0x00023357 
+ 00030038  0x000081dd setsect  0x00000001 , 0x00018af3 
+ 00030039  0x000081de setsect  0x00000002 , 0x0000f9e1 
+ 00030040  0x000081df setsect  0x00000003 , 0x000129f0 
+ 00030041  0x000081e0 istore  0x00000009 , 0x00000005 
+ 00030042  0x000081e1 setsect  0x00000000 , 0x0002e7eb 
+ 00030043  0x000081e2 setsect  0x00000001 , 0x0003e6e3 
+ 00030044  0x000081e3 setsect  0x00000002 , 0x0003e1a7 
+ 00030045  0x000081e4 setsect  0x00000003 , 0x00010b8b 
+ 00030046  0x000081e5 istore  0x00000009 , 0x00000005 
+ 00030047  0x000081e6 setsect  0x00000000 , 0x00024fe3 
+ 00030048  0x000081e7 setsect  0x00000001 , 0x000020ef 
+ 00030049  0x000081e8 setsect  0x00000002 , 0x0001b5a6 
+ 00030050  0x000081e9 setsect  0x00000003 , 0x0000dc2f 
+ 00030051  0x000081ea istore  0x00000009 , 0x00000005 
+ 00030052  0x000081eb setsect  0x00000000 , 0x00013860 
+ 00030053  0x000081ec setsect  0x00000001 , 0x0002bd69 
+ 00030054  0x000081ed setsect  0x00000002 , 0x0000391a 
+ 00030055  0x000081ee setsect  0x00000003 , 0x0001b222 
+ 00030056  0x000081ef istore  0x00000009 , 0x00000005 
+ 00030057  0x000081f0 rtn 
+ 00030058  0x000081f4 fetch  0x00000001 , 0x0000465a 
+ 00030059  0x000081f5 nbranch  0x0000757d , 0x00000034 
+ 00030060  0x000081f6 branch  0x00007a77 
+ 00030061  0x000081f9 bpatchx  0x000000e4 , 0x0000403c 
+ 00030062  0x000081fa fetch  0x00000001 , 0x0000465a 
+ 00030063  0x000081fb rtn  0x00000034 
+ 00030064  0x000081fc fetch  0x00000001 , 0x000045b1 
+ 00030065  0x000081fd rtnne  0x00000001 
+ 00030066  0x000081fe fetch  0x00000001 , 0x000044be 
+ 00030067  0x000081ff rtn  0x00000034 
+ 00030068  0x00008200 fetch  0x00000001 , 0x000044c3 
+ 00030069  0x00008201 rtneq  0x00000003 
+ 00030070  0x00008202 fetch  0x00000002 , 0x00004682 
+ 00030071  0x00008203 bbit1  0x00000000 , 0x0000757b 
+ 00030072  0x00008204 fetch  0x00000001 , 0x000044c0 
+ 00030073  0x00008205 beq  0x00000000 , 0x00007a77 
+ 00030074  0x00008206 rtn 
+ 00030075  0x00008208 jam  0x00000000 , 0x000044c0 
+ 00030076  0x00008209 rtn 
+ 00030077  0x0000820d bpatchx  0x000000e5 , 0x0000403c 
+ 00030078  0x0000820e fetch  0x00000001 , 0x0000465a 
+ 00030079  0x0000820f branch  0x0000612b , 0x00000034 
+ 00030080  0x00008210 call  0x00006124 
+ 00030081  0x00008211 call  0x00007583 
+ 00030082  0x00008212 branch  0x0000766d 
+ 00030083  0x00008215 setarg  0x00000000 
+ 00030084  0x00008216 store  0x00000008 , 0x000009ae 
+ 00030085  0x00008217 store  0x00000004 , 0x000009b6 
+ 00030086  0x00008218 store  0x00000007 , 0x0000465e 
+ 00030087  0x00008219 rtn 
+ 00030088  0x0000821c jam  0x00000001 , 0x000009b0 
+ 00030089  0x0000821d branch  0x0000758d 
+ 00030090  0x0000821f fetch  0x00000001 , 0x000045b1 
+ 00030091  0x00008220 beq  0x00000001 , 0x0000768a 
+ 00030092  0x00008221 branch  0x00002a8c 
+ 00030093  0x00008223 fetch  0x00000001 , 0x000045b1 
+ 00030094  0x00008224 beq  0x00000001 , 0x00007590 
+ 00030095  0x00008225 branch  0x0000766d 
+ 00030096  0x00008228 call  0x0000768a 
+ 00030097  0x00008229 fetch  0x00000001 , 0x000009af 
+ 00030098  0x0000822a nrtn  0x00000034 
+ 00030099  0x0000822b jam  0x00000003 , 0x000009ae 
+ 00030100  0x0000822c rtn 
+ 00030101  0x00008230 call  0x000075b0 
+ 00030102  0x00008231 arg  0x000009de , 0x00000011 
+ 00030103  0x00008232 arg  0x00000866 , 0x00000005 
+ 00030104  0x00008233 call  0x00007c79 
+ 00030105  0x00008234 arg  0x000009be , 0x00000011 
+ 00030106  0x00008235 arg  0x00000826 , 0x00000005 
+ 00030107  0x00008236 call  0x00007c79 
+ 00030108  0x00008237 arg  0x00000826 , 0x00000011 
+ 00030109  0x00008238 arg  0x000009be , 0x00000012 
+ 00030110  0x00008239 arg  0x00000826 , 0x00000005 
+ 00030111  0x0000823a call  0x00007be1 
+ 00030112  0x0000823b arg  0x0000093e , 0x00000011 
+ 00030113  0x0000823c arg  0x000009be , 0x00000012 
+ 00030114  0x0000823d arg  0x00000846 , 0x00000005 
+ 00030115  0x0000823e call  0x00007be1 
+ 00030116  0x0000823f arg  0x00000846 , 0x00000011 
+ 00030117  0x00008240 arg  0x00000826 , 0x00000012 
+ 00030118  0x00008241 arg  0x00000826 , 0x00000005 
+ 00030119  0x00008242 call  0x00007c7d 
+ 00030120  0x00008243 arg  0x00000806 , 0x00000011 
+ 00030121  0x00008244 arg  0x00000826 , 0x00000012 
+ 00030122  0x00008245 arg  0x00000806 , 0x00000005 
+ 00030123  0x00008246 call  0x00007c7d 
+ 00030124  0x00008247 arg  0x00000020 , 0x00000039 
+ 00030125  0x00008248 arg  0x00000866 , 0x00000011 
+ 00030126  0x00008249 arg  0x00000806 , 0x00000012 
+ 00030127  0x0000824a branch  0x00007f88 
+ 00030128  0x0000824d arg  0x0000097e , 0x00000011 
+ 00030129  0x0000824e arg  0x00000806 , 0x00000005 
+ 00030130  0x0000824f call  0x00007c79 
+ 00030131  0x00008250 arg  0x0000095e , 0x00000011 
+ 00030132  0x00008251 arg  0x00000826 , 0x00000005 
+ 00030133  0x00008252 call  0x00007c79 
+ 00030134  0x00008253 arg  0x00000826 , 0x00000011 
+ 00030135  0x00008254 arg  0x0000095e , 0x00000012 
+ 00030136  0x00008255 arg  0x00000826 , 0x00000005 
+ 00030137  0x00008256 call  0x00007be1 
+ 00030138  0x00008257 arg  0x0000093e , 0x00000011 
+ 00030139  0x00008258 arg  0x0000095e , 0x00000012 
+ 00030140  0x00008259 arg  0x00000846 , 0x00000005 
+ 00030141  0x0000825a call  0x00007be1 
+ 00030142  0x0000825b arg  0x00000846 , 0x00000011 
+ 00030143  0x0000825c arg  0x00000826 , 0x00000012 
+ 00030144  0x0000825d arg  0x00000826 , 0x00000005 
+ 00030145  0x0000825e call  0x00007c7d 
+ 00030146  0x0000825f arg  0x00000806 , 0x00000011 
+ 00030147  0x00008260 arg  0x00000826 , 0x00000012 
+ 00030148  0x00008261 arg  0x00000806 , 0x00000005 
+ 00030149  0x00008262 branch  0x00007c96 
+ 00030150  0x00008265 call  0x000075e1 
+ 00030151  0x00008266 arg  0x000009e6 , 0x00000011 
+ 00030152  0x00008267 arg  0x00000866 , 0x00000005 
+ 00030153  0x00008268 call  0x000077a8 
+ 00030154  0x00008269 arg  0x000009c6 , 0x00000011 
+ 00030155  0x0000826a arg  0x00000826 , 0x00000005 
+ 00030156  0x0000826b call  0x000077a8 
+ 00030157  0x0000826c arg  0x00000826 , 0x00000011 
+ 00030158  0x0000826d arg  0x000009c6 , 0x00000012 
+ 00030159  0x0000826e arg  0x00000826 , 0x00000005 
+ 00030160  0x0000826f call  0x00007786 
+ 00030161  0x00008270 arg  0x0000089e , 0x00000011 
+ 00030162  0x00008271 arg  0x000009c6 , 0x00000012 
+ 00030163  0x00008272 arg  0x00000846 , 0x00000005 
+ 00030164  0x00008273 call  0x00007786 
+ 00030165  0x00008274 arg  0x00000846 , 0x00000011 
+ 00030166  0x00008275 arg  0x00000826 , 0x00000012 
+ 00030167  0x00008276 arg  0x00000826 , 0x00000005 
+ 00030168  0x00008277 call  0x00007755 
+ 00030169  0x00008278 arg  0x00000806 , 0x00000011 
+ 00030170  0x00008279 arg  0x00000826 , 0x00000012 
+ 00030171  0x0000827a arg  0x00000806 , 0x00000005 
+ 00030172  0x0000827b call  0x00007755 
+ 00030173  0x0000827c arg  0x00000018 , 0x00000039 
+ 00030174  0x0000827d arg  0x00000866 , 0x00000011 
+ 00030175  0x0000827e arg  0x00000806 , 0x00000012 
+ 00030176  0x0000827f branch  0x00007f88 
+ 00030177  0x00008282 arg  0x000008e6 , 0x00000011 
+ 00030178  0x00008283 arg  0x00000806 , 0x00000005 
+ 00030179  0x00008284 call  0x000077a8 
+ 00030180  0x00008285 arg  0x000008ce , 0x00000011 
+ 00030181  0x00008286 arg  0x00000826 , 0x00000005 
+ 00030182  0x00008287 call  0x000077a8 
+ 00030183  0x00008288 arg  0x00000826 , 0x00000011 
+ 00030184  0x00008289 arg  0x000008ce , 0x00000012 
+ 00030185  0x0000828a arg  0x00000826 , 0x00000005 
+ 00030186  0x0000828b call  0x00007786 
+ 00030187  0x0000828c arg  0x0000089e , 0x00000011 
+ 00030188  0x0000828d arg  0x000008ce , 0x00000012 
+ 00030189  0x0000828e arg  0x00000846 , 0x00000005 
+ 00030190  0x0000828f call  0x00007786 
+ 00030191  0x00008290 arg  0x00000846 , 0x00000011 
+ 00030192  0x00008291 arg  0x00000826 , 0x00000012 
+ 00030193  0x00008292 arg  0x00000826 , 0x00000005 
+ 00030194  0x00008293 call  0x00007755 
+ 00030195  0x00008294 arg  0x00000806 , 0x00000011 
+ 00030196  0x00008295 arg  0x00000826 , 0x00000012 
+ 00030197  0x00008296 arg  0x00000806 , 0x00000005 
+ 00030198  0x00008297 branch  0x00007758 
+ 00030199  0x0000829b fetch  0x00000001 , 0x000009b2 
+ 00030200  0x0000829c bne  0x00000000 , 0x00007615 
+ 00030201  0x0000829d call  0x00007612 
+ 00030202  0x0000829e arg  0x00000a7e , 0x00000005 
+ 00030203  0x0000829f setarg  0x00000a2e 
+ 00030204  0x000082a0 istore  0x00000002 , 0x00000005 
+ 00030205  0x000082a1 setarg  0x00004642 
+ 00030206  0x000082a2 istore  0x00000002 , 0x00000005 
+ 00030207  0x000082a3 setarg  0x000009de 
+ 00030208  0x000082a4 istore  0x00000002 , 0x00000005 
+ 00030209  0x000082a5 branch  0x00007609 
+ 00030210  0x000082a7 arg  0x00000a7e , 0x00000005 
+ 00030211  0x000082a8 setarg  0x00000a3e 
+ 00030212  0x000082a9 istore  0x00000002 , 0x00000005 
+ 00030213  0x000082aa setarg  0x000009de 
+ 00030214  0x000082ab istore  0x00000002 , 0x00000005 
+ 00030215  0x000082ac setarg  0x00004642 
+ 00030216  0x000082ad istore  0x00000002 , 0x00000005 
+ 00030217  0x000082af call  0x000079a0 
+ 00030218  0x000082b0 fetch  0x00000001 , 0x000009af 
+ 00030219  0x000082b1 beq  0x00000004 , 0x0000760f 
+ 00030220  0x000082b2 jam  0x00000001 , 0x000009b0 
+ 00030221  0x000082b3 jam  0x00000005 , 0x000009ae 
+ 00030222  0x000082b4 rtn 
+ 00030223  0x000082b6 jam  0x00000014 , 0x000009af 
+ 00030224  0x000082b7 call  0x0000758a 
+ 00030225  0x000082b8 branch  0x000076d8 
+ 00030226  0x000082bb arg  0x00000a1e , 0x00000005 
+ 00030227  0x000082bc force  0x00000008 , 0x00000007 
+ 00030228  0x000082bd branch  0x000076a2 
+ 00030229  0x000082c0 jam  0x00000001 , 0x000009b0 
+ 00030230  0x000082c1 rtn 
+ 00030231  0x000082c5 bpatchx  0x000000e6 , 0x0000403c 
+ 00030232  0x000082c6 arg  0x00000727 , 0x00000005 
+ 00030233  0x000082c7 fetch  0x00000006 , 0x000040a0 
+ 00030234  0x000082c8 istore  0x00000006 , 0x00000005 
+ 00030235  0x000082c9 fetch  0x00000006 , 0x00000040 
+ 00030236  0x000082ca istore  0x00000006 , 0x00000005 
+ 00030237  0x000082cb fetch  0x00000003 , 0x0000465e 
+ 00030238  0x000082cc istore  0x00000003 , 0x00000005 
+ 00030239  0x000082ce call  0x00007a0d 
+ 00030240  0x000082d0 arg  0x00000a4e , 0x00000011 
+ 00030241  0x000082d1 arg  0x00000a5e , 0x00000012 
+ 00030242  0x000082d2 force  0x00000004 , 0x00000007 
+ 00030243  0x000082d3 call  0x000076a7 
+ 00030244  0x000082d4 nbranch  0x00007631 , 0x00000001 
+ 00030245  0x000082d6 call  0x00007628 
+ 00030246  0x000082d7 jam  0x00000041 , 0x0000007d 
+ 00030247  0x000082d8 branch  0x000062f8 
+ 00030248  0x000082db fetch  0x00000001 , 0x000009af 
+ 00030249  0x000082dc beq  0x00000009 , 0x0000762e 
+ 00030250  0x000082dd jam  0x0000000a , 0x000009ae 
+ 00030251  0x000082de jam  0x00000001 , 0x000009b0 
+ 00030252  0x000082df jam  0x00000003 , 0x0000007c 
+ 00030253  0x000082e0 rtn 
+ 00030254  0x000082e2 jam  0x00000003 , 0x0000007c 
+ 00030255  0x000082e3 jam  0x00000015 , 0x000009af 
+ 00030256  0x000082e4 branch  0x000076d8 
+ 00030257  0x000082e8 fetch  0x00000001 , 0x000009af 
+ 00030258  0x000082e9 beq  0x00000009 , 0x00007637 
+ 00030259  0x000082ea jam  0x00000000 , 0x000009ae 
+ 00030260  0x000082eb jam  0x00000004 , 0x0000007c 
+ 00030261  0x000082ed jam  0x00000005 , 0x0000007e 
+ 00030262  0x000082ee rtn 
+ 00030263  0x000082f0 jam  0x00000004 , 0x0000007c 
+ 00030264  0x000082f1 jam  0x00000000 , 0x000009af 
+ 00030265  0x000082f2 rtn 
+ 00030266  0x000082f5 fetch  0x00000001 , 0x000009b3 
+ 00030267  0x000082f6 beq  0x00000001 , 0x0000763e 
+ 00030268  0x000082f7 jam  0x0000000a , 0x000009af 
+ 00030269  0x000082f8 branch  0x000076d8 
+ 00030270  0x000082fa arg  0x00000727 , 0x00000005 
+ 00030271  0x000082fb fetch  0x00000006 , 0x00000040 
+ 00030272  0x000082fc istore  0x00000006 , 0x00000005 
+ 00030273  0x000082fd fetch  0x00000006 , 0x000040a0 
+ 00030274  0x000082fe istore  0x00000006 , 0x00000005 
+ 00030275  0x000082ff fetch  0x00000003 , 0x0000465b 
+ 00030276  0x00008300 istore  0x00000003 , 0x00000005 
+ 00030277  0x00008302 call  0x00007a24 
+ 00030278  0x00008303 fetch  0x00000001 , 0x000009af 
+ 00030279  0x00008304 beq  0x0000000a , 0x0000764b 
+ 00030280  0x00008305 jam  0x0000000b , 0x000009ae 
+ 00030281  0x00008306 jam  0x00000001 , 0x000009b0 
+ 00030282  0x00008307 rtn 
+ 00030283  0x00008309 jam  0x0000000b , 0x000009af 
+ 00030284  0x0000830a jam  0x00000001 , 0x000009b1 
+ 00030285  0x0000830b rtn 
+ 00030286  0x0000830e arg  0x00000a7e , 0x00000005 
+ 00030287  0x0000830f fetch  0x00000006 , 0x00000040 
+ 00030288  0x00008310 istore  0x00000006 , 0x00000005 
+ 00030289  0x00008311 fetch  0x00000006 , 0x000040a0 
+ 00030290  0x00008312 istore  0x00000006 , 0x00000005 
+ 00030291  0x00008313 setarg  0x00000a2e 
+ 00030292  0x00008314 istore  0x00000002 , 0x00000005 
+ 00030293  0x00008315 setarg  0x00000a3e 
+ 00030294  0x00008316 istore  0x00000002 , 0x00000005 
+ 00030295  0x00008317 branch  0x00007662 
+ 00030296  0x00008319 jam  0x0000000f , 0x000009ae 
+ 00030297  0x0000831a arg  0x00000a7e , 0x00000005 
+ 00030298  0x0000831b fetch  0x00000006 , 0x000040a0 
+ 00030299  0x0000831c istore  0x00000006 , 0x00000005 
+ 00030300  0x0000831d fetch  0x00000006 , 0x00000040 
+ 00030301  0x0000831e istore  0x00000006 , 0x00000005 
+ 00030302  0x0000831f setarg  0x00000a3e 
+ 00030303  0x00008320 istore  0x00000002 , 0x00000005 
+ 00030304  0x00008321 setarg  0x00000a2e 
+ 00030305  0x00008322 istore  0x00000002 , 0x00000005 
+ 00030306  0x00008325 arg  0x00000727 , 0x00000005 
+ 00030307  0x00008326 fetch  0x00000006 , 0x00000a7e 
+ 00030308  0x00008327 istore  0x00000006 , 0x00000005 
+ 00030309  0x00008328 fetch  0x00000006 , 0x00000a84 
+ 00030310  0x00008329 istore  0x00000006 , 0x00000005 
+ 00030311  0x0000832b call  0x000079d7 
+ 00030312  0x0000832e jam  0x00000001 , 0x000041bd 
+ 00030313  0x0000832f arg  0x000041be , 0x00000005 
+ 00030314  0x00008330 arg  0x00000a4e , 0x00000006 
+ 00030315  0x00008331 call  0x00007ebf 
+ 00030316  0x00008332 branch  0x000021c4 
+ 00030317  0x00008336 bpatchx  0x000000e7 , 0x0000403c 
+ 00030318  0x00008337 fetch  0x00000001 , 0x000045b1 
+ 00030319  0x00008338 rtnne  0x00000000 
+ 00030320  0x00008339 fetch  0x00000001 , 0x000009b2 
+ 00030321  0x0000833a rtnne  0x00000000 
+ 00030322  0x0000833b arg  0x00004612 , 0x00000005 
+ 00030323  0x0000833c force  0x0000000b , 0x00000007 
+ 00030324  0x0000833d call  0x000076a2 
+ 00030325  0x0000833e random  0x0000003f 
+ 00030326  0x0000833f rshift  0x0000003f , 0x0000003f 
+ 00030327  0x00008340 istore  0x00000002 , 0x00000005 
+ 00030328  0x00008342 arg  0x000006be , 0x00000005 
+ 00030329  0x00008343 arg  0x00004612 , 0x00000006 
+ 00030330  0x00008344 call  0x00007ebe 
+ 00030331  0x00008346 arg  0x000005e6 , 0x00000005 
+ 00030332  0x00008347 arg  0x000008ce , 0x00000006 
+ 00030333  0x00008348 call  0x00007ebc 
+ 00030334  0x0000834a arg  0x00000616 , 0x00000005 
+ 00030335  0x0000834b call  0x00007ec5 
+ 00030336  0x0000834c jam  0x00000001 , 0x00000616 
+ 00030337  0x0000834e call  0x00007a5d 
+ 00030338  0x0000834f jam  0x00000001 , 0x000009b2 
+ 00030339  0x00008350 rtn 
+ 00030340  0x00008353 arg  0x0000462a , 0x00000005 
+ 00030341  0x00008354 arg  0x0000062e , 0x00000006 
+ 00030342  0x00008355 call  0x00007ebc 
+ 00030343  0x00008356 jam  0x00000001 , 0x000045b1 
+ 00030344  0x00008357 jam  0x00000000 , 0x000009b2 
+ 00030345  0x00008358 rtn 
+ 00030346  0x0000835b bpatchx  0x000000e8 , 0x0000403d 
+ 00030347  0x0000835c fetch  0x00000001 , 0x000009b9 
+ 00030348  0x0000835d rtnne  0x00000000 
+ 00030349  0x0000835e fetch  0x00000001 , 0x000009b2 
+ 00030350  0x0000835f rtnne  0x00000000 
+ 00030351  0x00008361 arg  0x000006be , 0x00000005 
+ 00030352  0x00008362 arg  0x00004612 , 0x00000006 
+ 00030353  0x00008363 call  0x00007ebe 
+ 00030354  0x00008365 arg  0x000005e6 , 0x00000005 
+ 00030355  0x00008366 arg  0x000009c6 , 0x00000006 
+ 00030356  0x00008367 call  0x00007ebc 
+ 00030357  0x00008369 arg  0x00000616 , 0x00000005 
+ 00030358  0x0000836a call  0x00007ec5 
+ 00030359  0x0000836b jam  0x00000001 , 0x00000616 
+ 00030360  0x0000836d call  0x00007a5d 
+ 00030361  0x0000836e jam  0x00000002 , 0x000009b2 
+ 00030362  0x0000836f rtn 
+ 00030363  0x00008372 jam  0x00000001 , 0x000009b3 
+ 00030364  0x00008373 arg  0x00000a06 , 0x00000005 
+ 00030365  0x00008374 arg  0x0000062e , 0x00000006 
+ 00030366  0x00008375 call  0x00007ebe 
+ 00030367  0x00008376 jam  0x00000001 , 0x000009b9 
+ 00030368  0x00008377 jam  0x00000000 , 0x000009b2 
+ 00030369  0x00008378 rtn 
+ 00030370  0x0000837b increase  0xffffffff , 0x00000007 
+ 00030371  0x0000837c nrtn  0x00000002 
+ 00030372  0x0000837d random  0x0000003f 
+ 00030373  0x0000837e istore  0x00000002 , 0x00000005 
+ 00030374  0x0000837f branch  0x000076a2 
+ 00030375  0x00008381 increase  0xffffffff , 0x00000007 
+ 00030376  0x00008382 nbranch  0x000076b3 , 0x00000002 
+ 00030377  0x00008383 ifetch  0x00000004 , 0x00000011 
+ 00030378  0x00008384 copy  0x0000003f , 0x00000002 
+ 00030379  0x00008385 ifetch  0x00000004 , 0x00000012 
+ 00030380  0x00008386 iflip  0x00000002 , 0x0000003f 
+ 00030381  0x00008387 nbranch  0x000076b1 , 0x00000005 
+ 00030382  0x00008388 increase  0x00000004 , 0x00000011 
+ 00030383  0x00008389 increase  0x00000004 , 0x00000012 
+ 00030384  0x0000838a branch  0x000076a7 
+ 00030385  0x0000838c disable  0x00000001 
+ 00030386  0x0000838d rtn 
+ 00030387  0x0000838f enable  0x00000001 
+ 00030388  0x00008390 rtn 
+ 00030389  0x00008398 bpatchx  0x000000e9 , 0x0000403d 
+ 00030390  0x00008399 fetch  0x00000001 , 0x000009b0 
+ 00030391  0x0000839a rtn  0x00000034 
+ 00030392  0x0000839b call  0x000062bc 
+ 00030393  0x0000839c nrtn  0x00000034 
+ 00030394  0x0000839d jam  0x00000000 , 0x000009b0 
+ 00030395  0x0000839e fetch  0x00000001 , 0x000009ae 
+ 00030396  0x0000839f beq  0x00000003 , 0x000061fd 
+ 00030397  0x000083a0 beq  0x00000005 , 0x0000621a 
+ 00030398  0x000083a1 beq  0x00000007 , 0x00006225 
+ 00030399  0x000083a2 beq  0x0000000b , 0x0000623a 
+ 00030400  0x000083a3 beq  0x00000002 , 0x00007588 
+ 00030401  0x000083a4 beq  0x00000004 , 0x000075f7 
+ 00030402  0x000083a5 beq  0x00000009 , 0x00007617 
+ 00030403  0x000083a6 beq  0x0000000a , 0x0000763a 
+ 00030404  0x000083a7 beq  0x0000000c , 0x00007658 
+ 00030405  0x000083a9 rtn 
+ 00030406  0x000083ac bpatchx  0x000000ea , 0x0000403d 
+ 00030407  0x000083ad fetch  0x00000001 , 0x000009b1 
+ 00030408  0x000083ae rtn  0x00000034 
+ 00030409  0x000083af call  0x000062bc 
+ 00030410  0x000083b0 nrtn  0x00000034 
+ 00030411  0x000083b1 jam  0x00000000 , 0x000009b1 
+ 00030412  0x000083b2 fetch  0x00000001 , 0x000009af 
+ 00030413  0x000083b3 beq  0x00000012 , 0x000061e0 
+ 00030414  0x000083b4 beq  0x00000013 , 0x000061e5 
+ 00030415  0x000083b5 beq  0x00000003 , 0x000061e9 
+ 00030416  0x000083b6 beq  0x00000004 , 0x00007602 
+ 00030417  0x000083b7 beq  0x00000014 , 0x000061ed 
+ 00030418  0x000083b8 beq  0x00000007 , 0x000061fb 
+ 00030419  0x000083b9 beq  0x0000000a , 0x0000763a 
+ 00030420  0x000083ba beq  0x0000000b , 0x00006239 
+ 00030421  0x000083bb beq  0x00000009 , 0x00007617 
+ 00030422  0x000083bc beq  0x00000015 , 0x00006233 
+ 00030423  0x000083bd rtn 
+ 00030424  0x000083c0 jam  0x00000001 , 0x000009b1 
+ 00030425  0x000083c1 rtn 
+ 00030426  0x000083c4 jam  0x00000000 , 0x000009b1 
+ 00030427  0x000083c5 rtn 
+ 00030428  0x000083c7 bpatchx  0x000000eb , 0x0000403d 
+ 00030429  0x000083c8 fetch  0x00000001 , 0x0000465a 
+ 00030430  0x000083c9 rtn  0x00000034 
+ 00030431  0x000083ca fetch  0x00000001 , 0x000009b2 
+ 00030432  0x000083cb rtn  0x00000034 
+ 00030433  0x000083cc increase  0x00000080 , 0x0000003f 
+ 00030434  0x000083cd store  0x00000001 , 0x000009b2 
+ 00030435  0x000083ce rtnbit1  0x00000007 
+ 00030436  0x000083cf fetch  0x00000001 , 0x000005e3 
+ 00030437  0x000083d0 branch  0x000076e7 , 0x00000034 
+ 00030438  0x000083d1 branch  0x00007a68 
+ 00030439  0x000083d4 call  0x000078d3 
+ 00030440  0x000083d5 fetch  0x00000001 , 0x000009b2 
+ 00030441  0x000083d6 beq  0x00000001 , 0x00007684 
+ 00030442  0x000083d7 beq  0x00000002 , 0x0000769b 
+ 00030443  0x000083d8 rtn 
+ 00030444  0x000083dc and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030445  0x000083dd rshift3  0x0000003f , 0x0000003f 
+ 00030446  0x000083de iadd  0x00000006 , 0x00000006 
+ 00030447  0x000083df ifetch  0x00000001 , 0x00000006 
+ 00030448  0x000083e0 qisolate0  0x0000003f 
+ 00030449  0x000083e1 rtn 
+ 00030450  0x000083e5 call  0x00007ebe 
+ 00030451  0x000083e6 call  0x00007ebe 
+ 00030452  0x000083e7 branch  0x00007ebe 
+ 00030453  0x000083eb ifetch  0x00000008 , 0x00000006 
+ 00030454  0x000083ec nrtn  0x00000034 
+ 00030455  0x000083ed ifetch  0x00000008 , 0x00000006 
+ 00030456  0x000083ee nrtn  0x00000034 
+ 00030457  0x000083ef ifetch  0x00000008 , 0x00000006 
+ 00030458  0x000083f0 rtn 
+ 00030459  0x000083f6 ifetch  0x00000004 , 0x00000011 
+ 00030460  0x000083f7 iforce  0x00000002 
+ 00030461  0x000083f8 ifetch  0x00000004 , 0x00000012 
+ 00030462  0x000083f9 isub  0x00000002 , 0x0000003e 
+ 00030463  0x000083fa nrtn  0x00000005 
+ 00030464  0x000083fb increase  0x00000004 , 0x00000011 
+ 00030465  0x000083fc increase  0x00000004 , 0x00000012 
+ 00030466  0x000083fd loop  0x000076fb 
+ 00030467  0x000083fe rtn 
+ 00030468  0x00008402 force  0x00000006 , 0x00000039 
+ 00030469  0x00008403 increase  0x00000014 , 0x00000011 
+ 00030470  0x00008404 increase  0x00000014 , 0x00000012 
+ 00030471  0x00008406 ifetch  0x00000004 , 0x00000012 
+ 00030472  0x00008407 iforce  0x00000002 
+ 00030473  0x00008408 ifetch  0x00000004 , 0x00000011 
+ 00030474  0x00008409 isub  0x00000002 , 0x0000003f 
+ 00030475  0x0000840a nrtn  0x00000002 
+ 00030476  0x0000840b nrtn  0x00000034 
+ 00030477  0x0000840c increase  0xfffffffc , 0x00000011 
+ 00030478  0x0000840d increase  0xfffffffc , 0x00000012 
+ 00030479  0x0000840e loop  0x00007707 
+ 00030480  0x0000840f rtn 
+ 00030481  0x00008412 force  0x00000006 , 0x00000039 
+ 00030482  0x00008413 force  0x00000000 , 0x00000013 
+ 00030483  0x00008415 ifetch  0x00000004 , 0x00000011 
+ 00030484  0x00008416 iforce  0x00000002 
+ 00030485  0x00008417 ifetch  0x00000004 , 0x00000012 
+ 00030486  0x00008418 iadd  0x00000002 , 0x0000003f 
+ 00030487  0x00008419 iadd  0x00000013 , 0x0000003f 
+ 00030488  0x0000841a istore  0x00000004 , 0x00000005 
+ 00030489  0x0000841b isolate1  0x00000020 , 0x0000003f 
+ 00030490  0x0000841c setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030491  0x0000841d increase  0x00000004 , 0x00000011 
+ 00030492  0x0000841e increase  0x00000004 , 0x00000012 
+ 00030493  0x0000841f loop  0x00007713 
+ 00030494  0x00008420 rtn 
+ 00030495  0x00008423 force  0x00000006 , 0x00000039 
+ 00030496  0x00008424 force  0x00000000 , 0x00000013 
+ 00030497  0x00008426 ifetch  0x00000004 , 0x00000012 
+ 00030498  0x00008427 iforce  0x00000002 
+ 00030499  0x00008428 ifetch  0x00000004 , 0x00000011 
+ 00030500  0x00008429 isub  0x00000002 , 0x0000003f 
+ 00030501  0x0000842a isub  0x00000013 , 0x0000003f 
+ 00030502  0x0000842b istore  0x00000004 , 0x00000005 
+ 00030503  0x0000842c isolate1  0x00000020 , 0x0000003f 
+ 00030504  0x0000842d setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030505  0x0000842e increase  0x00000004 , 0x00000011 
+ 00030506  0x0000842f increase  0x00000004 , 0x00000012 
+ 00030507  0x00008430 loop  0x00007721 
+ 00030508  0x00008431 rtn 
+ 00030509  0x00008434 force  0x00000006 , 0x00000039 
+ 00030510  0x00008435 increase  0x00000014 , 0x00000011 
+ 00030511  0x00008437 force  0x00000000 , 0x00000013 
+ 00030512  0x00008439 ifetch  0x00000004 , 0x00000011 
+ 00030513  0x0000843a isolate1  0x00000000 , 0x0000003f 
+ 00030514  0x0000843b setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030515  0x0000843c rshift  0x0000003f , 0x0000003f 
+ 00030516  0x0000843d isolate1  0x00000000 , 0x00000013 
+ 00030517  0x0000843e setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030518  0x0000843f istore  0x00000004 , 0x00000011 
+ 00030519  0x00008440 increase  0xfffffffc , 0x00000011 
+ 00030520  0x00008441 rshift  0x00000013 , 0x00000013 
+ 00030521  0x00008442 loop  0x00007730 
+ 00030522  0x00008443 rtn 
+ 00030523  0x00008446 force  0x00000006 , 0x00000039 
+ 00030524  0x00008447 force  0x00000000 , 0x00000013 
+ 00030525  0x00008449 ifetch  0x00000004 , 0x00000011 
+ 00030526  0x0000844a isolate1  0x0000001f , 0x0000003f 
+ 00030527  0x0000844b setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030528  0x0000844c lshift  0x0000003f , 0x0000003f 
+ 00030529  0x0000844d isolate1  0x00000000 , 0x00000013 
+ 00030530  0x0000844e setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030531  0x0000844f istore  0x00000004 , 0x00000011 
+ 00030532  0x00008450 increase  0x00000004 , 0x00000011 
+ 00030533  0x00008451 rshift  0x00000013 , 0x00000013 
+ 00030534  0x00008452 loop  0x0000773d 
+ 00030535  0x00008453 rtn 
+ 00030536  0x00008456 call  0x0000773b 
+ 00030537  0x00008458 isolate1  0x00000000 , 0x00000013 
+ 00030538  0x00008459 branch  0x00007751 , 0x00000001 
+ 00030539  0x0000845a arg  0x00000886 , 0x00000012 
+ 00030540  0x0000845b copy  0x00000011 , 0x00000013 
+ 00030541  0x0000845c increase  0xffffffe8 , 0x00000011 
+ 00030542  0x0000845d call  0x00007704 
+ 00030543  0x0000845e nrtn  0x00000002 
+ 00030544  0x0000845f copy  0x00000013 , 0x00000011 
+ 00030545  0x00008461 increase  0xffffffe8 , 0x00000011 
+ 00030546  0x00008462 arg  0x00000886 , 0x00000012 
+ 00030547  0x00008463 copy  0x00000011 , 0x00000005 
+ 00030548  0x00008464 branch  0x0000771f 
+ 00030549  0x00008468 call  0x00007711 
+ 00030550  0x00008469 copy  0x00000005 , 0x00000011 
+ 00030551  0x0000846a branch  0x00007749 
+ 00030552  0x0000846d call  0x0000771f 
+ 00030553  0x0000846e isolate0  0x00000000 , 0x00000013 
+ 00030554  0x0000846f rtn  0x00000001 
+ 00030555  0x00008470 arg  0x00000886 , 0x00000012 
+ 00030556  0x00008471 add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030557  0x00008472 copy  0x00000011 , 0x00000005 
+ 00030558  0x00008473 branch  0x00007711 
+ 00030559  0x00008477 copy  0x00000005 , 0x0000000b 
+ 00030560  0x00008478 copy  0x00000011 , 0x00000030 
+ 00030561  0x00008479 arg  0x00000716 , 0x00000012 
+ 00030562  0x0000847a copy  0x00000012 , 0x00000005 
+ 00030563  0x0000847b add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030564  0x0000847c ifetch  0x00000008 , 0x00000006 
+ 00030565  0x0000847d istore  0x00000008 , 0x00000005 
+ 00030566  0x0000847e istore  0x00000008 , 0x00000005 
+ 00030567  0x0000847f force  0x00000000 , 0x0000003f 
+ 00030568  0x00008480 istore  0x00000008 , 0x00000005 
+ 00030569  0x00008481 copy  0x0000000b , 0x00000005 
+ 00030570  0x00008482 call  0x00007755 
+ 00030571  0x00008483 arg  0x00000716 , 0x00000012 
+ 00030572  0x00008484 copy  0x00000012 , 0x00000005 
+ 00030573  0x00008485 force  0x00000000 , 0x0000003f 
+ 00030574  0x00008486 istore  0x00000008 , 0x00000005 
+ 00030575  0x00008487 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030576  0x00008488 ifetch  0x00000008 , 0x00000006 
+ 00030577  0x00008489 istore  0x00000008 , 0x00000005 
+ 00030578  0x0000848a istore  0x00000008 , 0x00000005 
+ 00030579  0x0000848b copy  0x0000000b , 0x00000011 
+ 00030580  0x0000848c copy  0x00000011 , 0x00000005 
+ 00030581  0x0000848d call  0x00007755 
+ 00030582  0x0000848e arg  0x00000716 , 0x00000012 
+ 00030583  0x0000848f copy  0x00000012 , 0x00000005 
+ 00030584  0x00008490 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030585  0x00008491 ifetch  0x00000008 , 0x00000006 
+ 00030586  0x00008492 istore  0x00000008 , 0x00000005 
+ 00030587  0x00008493 istore  0x00000008 , 0x00000005 
+ 00030588  0x00008494 istore  0x00000008 , 0x00000005 
+ 00030589  0x00008495 copy  0x0000000b , 0x00000011 
+ 00030590  0x00008496 copy  0x00000011 , 0x00000005 
+ 00030591  0x00008497 branch  0x00007755 
+ 00030592  0x0000849b force  0x00000006 , 0x00000039 
+ 00030593  0x0000849d ifetch  0x00000004 , 0x00000006 
+ 00030594  0x0000849e iforce  0x0000002f 
+ 00030595  0x0000849f increase  0x00000001 , 0x00000038 
+ 00030596  0x000084a0 loop  0x00007781 
+ 00030597  0x000084a1 rtn 
+ 00030598  0x000084a6 copy  0x00000005 , 0x0000000b 
+ 00030599  0x000084a7 arg  0x000006e6 , 0x00000005 
+ 00030600  0x000084a8 call  0x00007ec5 
+ 00030601  0x000084a9 arg  0x000006e6 , 0x00000005 
+ 00030602  0x000084aa copy  0x00000011 , 0x00000006 
+ 00030603  0x000084ab force  0x00000000 , 0x00000038 
+ 00030604  0x000084ac call  0x00007780 
+ 00030605  0x000084ad copy  0x00000012 , 0x00000006 
+ 00030606  0x000084ae call  0x00007780 
+ 00030607  0x000084af force  0x00000000 , 0x00000012 
+ 00030608  0x000084b1 force  0x00000000 , 0x00000002 
+ 00030609  0x000084b2 force  0x00000006 , 0x00000013 
+ 00030610  0x000084b4 ifetch  0x00000004 , 0x00000005 
+ 00030611  0x000084b5 iforce  0x00000011 
+ 00030612  0x000084b6 copy  0x00000012 , 0x00000038 
+ 00030613  0x000084b7 deposit  0x0000002f 
+ 00030614  0x000084b8 copy  0x00000013 , 0x00000038 
+ 00030615  0x000084b9 imul32  0x0000002f , 0x0000003f 
+ 00030616  0x000084ba iadd  0x00000011 , 0x0000003f 
+ 00030617  0x000084bb iadd  0x00000002 , 0x0000003f 
+ 00030618  0x000084bc istore  0x00000004 , 0x00000005 
+ 00030619  0x000084bd rshift32  0x0000003f , 0x00000002 
+ 00030620  0x000084be increase  0x00000001 , 0x00000013 
+ 00030621  0x000084bf compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030622  0x000084c0 nbranch  0x00007792 , 0x00000001 
+ 00030623  0x000084c1 deposit  0x00000002 
+ 00030624  0x000084c2 istore  0x00000004 , 0x00000005 
+ 00030625  0x000084c3 increase  0xffffffe8 , 0x00000005 
+ 00030626  0x000084c4 increase  0x00000001 , 0x00000012 
+ 00030627  0x000084c5 compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030628  0x000084c6 nbranch  0x00007790 , 0x00000001 
+ 00030629  0x000084c7 arg  0x000006e6 , 0x00000011 
+ 00030630  0x000084c8 copy  0x0000000b , 0x00000005 
+ 00030631  0x000084c9 branch  0x0000775f 
+ 00030632  0x000084cd copy  0x00000011 , 0x00000012 
+ 00030633  0x000084ce branch  0x00007786 
+ 00030634  0x000084d1 copy  0x00000011 , 0x00000030 
+ 00030635  0x000084d3 copy  0x00000030 , 0x00000011 
+ 00030636  0x000084d4 ifetch  0x00000001 , 0x00000011 
+ 00030637  0x000084d5 isolate1  0x00000000 , 0x0000003f 
+ 00030638  0x000084d6 rtn  0x00000001 
+ 00030639  0x000084d7 call  0x0000772d 
+ 00030640  0x000084d8 ifetch  0x00000001 , 0x00000012 
+ 00030641  0x000084d9 isolate0  0x00000000 , 0x0000003f 
+ 00030642  0x000084da branch  0x000077ba , 0x00000001 
+ 00030643  0x000084db arg  0x00000886 , 0x00000011 
+ 00030644  0x000084dc copy  0x00000012 , 0x00000005 
+ 00030645  0x000084dd call  0x00007711 
+ 00030646  0x000084de ifetch  0x00000001 , 0x00000012 
+ 00030647  0x000084df iadd  0x00000013 , 0x0000003f 
+ 00030648  0x000084e0 istore  0x00000001 , 0x00000012 
+ 00030649  0x000084e1 increase  0xffffffe8 , 0x00000012 
+ 00030650  0x000084e3 add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030651  0x000084e4 force  0x00000007 , 0x00000039 
+ 00030652  0x000084e5 call  0x0000772f 
+ 00030653  0x000084e6 branch  0x000077ab 
+ 00030654  0x000084ea copy  0x00000005 , 0x0000000b 
+ 00030655  0x000084eb arg  0x00000746 , 0x00000005 
+ 00030656  0x000084ec call  0x00007ec5 
+ 00030657  0x000084ed force  0x00000000 , 0x0000003f 
+ 00030658  0x000084ee store  0x00000004 , 0x000006fe 
+ 00030659  0x000084ef store  0x00000004 , 0x0000075e 
+ 00030660  0x000084f0 jam  0x00000001 , 0x00000746 
+ 00030661  0x000084f1 arg  0x000006e6 , 0x00000005 
+ 00030662  0x000084f2 call  0x00007ec5 
+ 00030663  0x000084f3 arg  0x00000886 , 0x00000006 
+ 00030664  0x000084f4 arg  0x00000716 , 0x00000005 
+ 00030665  0x000084f5 call  0x00007ebe 
+ 00030666  0x000084f6 copy  0x00000011 , 0x00000006 
+ 00030667  0x000084f7 arg  0x0000072e , 0x00000005 
+ 00030668  0x000084f8 call  0x00007ebe 
+ 00030669  0x000084fa arg  0x0000072e , 0x00000006 
+ 00030670  0x000084fb call  0x000076f5 
+ 00030671  0x000084fc branch  0x000077f6 , 0x00000034 
+ 00030672  0x000084fd arg  0x0000072e , 0x00000011 
+ 00030673  0x000084fe arg  0x00000746 , 0x00000012 
+ 00030674  0x000084ff call  0x000077aa 
+ 00030675  0x00008501 arg  0x00000716 , 0x00000011 
+ 00030676  0x00008502 arg  0x000006e6 , 0x00000012 
+ 00030677  0x00008503 call  0x000077aa 
+ 00030678  0x00008504 arg  0x0000072e , 0x00000011 
+ 00030679  0x00008505 arg  0x00000716 , 0x00000012 
+ 00030680  0x00008506 call  0x00007704 
+ 00030681  0x00008507 branch  0x000077e8 , 0x00000002 
+ 00030682  0x00008508 arg  0x00000716 , 0x00000011 
+ 00030683  0x00008509 arg  0x0000072e , 0x00000012 
+ 00030684  0x0000850a copy  0x00000011 , 0x00000005 
+ 00030685  0x0000850b call  0x0000771f 
+ 00030686  0x0000850c arg  0x00000746 , 0x00000011 
+ 00030687  0x0000850d arg  0x000006e6 , 0x00000012 
+ 00030688  0x0000850e copy  0x00000012 , 0x00000005 
+ 00030689  0x0000850f call  0x00007711 
+ 00030690  0x00008510 ifetch  0x00000001 , 0x00000011 
+ 00030691  0x00008511 iadd  0x00000013 , 0x00000013 
+ 00030692  0x00008512 ifetch  0x00000001 , 0x00000012 
+ 00030693  0x00008513 iadd  0x00000013 , 0x0000003f 
+ 00030694  0x00008514 istore  0x00000001 , 0x00000012 
+ 00030695  0x00008515 branch  0x000077cd 
+ 00030696  0x00008517 arg  0x0000072e , 0x00000011 
+ 00030697  0x00008518 arg  0x00000716 , 0x00000012 
+ 00030698  0x00008519 copy  0x00000011 , 0x00000005 
+ 00030699  0x0000851a call  0x0000771f 
+ 00030700  0x0000851b arg  0x000006e6 , 0x00000011 
+ 00030701  0x0000851c arg  0x00000746 , 0x00000012 
+ 00030702  0x0000851d copy  0x00000012 , 0x00000005 
+ 00030703  0x0000851e call  0x00007711 
+ 00030704  0x0000851f ifetch  0x00000001 , 0x00000011 
+ 00030705  0x00008520 iadd  0x00000013 , 0x00000013 
+ 00030706  0x00008521 ifetch  0x00000001 , 0x00000012 
+ 00030707  0x00008522 iadd  0x00000013 , 0x0000003f 
+ 00030708  0x00008523 istore  0x00000001 , 0x00000012 
+ 00030709  0x00008524 branch  0x000077cd 
+ 00030710  0x00008526 arg  0x00000746 , 0x00000005 
+ 00030711  0x00008527 call  0x00007ec5 
+ 00030712  0x00008528 fetch  0x00000001 , 0x000006fe 
+ 00030713  0x00008529 store  0x00000001 , 0x00000746 
+ 00030714  0x0000852a store  0x00000001 , 0x0000074e 
+ 00030715  0x0000852b arg  0x00000746 , 0x00000011 
+ 00030716  0x0000852c arg  0x000006e6 , 0x00000012 
+ 00030717  0x0000852d copy  0x00000012 , 0x00000005 
+ 00030718  0x0000852e call  0x00007755 
+ 00030719  0x0000852f arg  0x00000886 , 0x00000011 
+ 00030720  0x00008530 arg  0x000006e6 , 0x00000012 
+ 00030721  0x00008531 copy  0x0000000b , 0x00000005 
+ 00030722  0x00008532 branch  0x00007758 
+ 00030723  0x00008538 arg  0x000006a6 , 0x00000011 
+ 00030724  0x00008539 arg  0x0000075e , 0x00000005 
+ 00030725  0x0000853a call  0x000077a8 
+ 00030726  0x0000853b arg  0x0000075e , 0x00000011 
+ 00030727  0x0000853c arg  0x00000776 , 0x00000005 
+ 00030728  0x0000853d call  0x000077a8 
+ 00030729  0x0000853e arg  0x0000089e , 0x00000011 
+ 00030730  0x0000853f arg  0x00000776 , 0x00000012 
+ 00030731  0x00008540 arg  0x00000776 , 0x00000005 
+ 00030732  0x00008541 call  0x00007786 
+ 00030733  0x00008542 arg  0x00000676 , 0x00000011 
+ 00030734  0x00008543 arg  0x0000075e , 0x00000005 
+ 00030735  0x00008544 call  0x000077a8 
+ 00030736  0x00008545 arg  0x0000075e , 0x00000006 
+ 00030737  0x00008546 arg  0x0000072e , 0x00000005 
+ 00030738  0x00008547 call  0x00007ebe 
+ 00030739  0x00008548 arg  0x0000072e , 0x00000011 
+ 00030740  0x00008549 call  0x00007748 
+ 00030741  0x0000854a arg  0x0000075e , 0x00000011 
+ 00030742  0x0000854b arg  0x0000072e , 0x00000012 
+ 00030743  0x0000854c arg  0x0000075e , 0x00000005 
+ 00030744  0x0000854d call  0x00007755 
+ 00030745  0x0000854e arg  0x0000075e , 0x00000011 
+ 00030746  0x0000854f arg  0x00000776 , 0x00000012 
+ 00030747  0x00008550 arg  0x0000075e , 0x00000005 
+ 00030748  0x00008551 call  0x00007755 
+ 00030749  0x00008552 arg  0x00000676 , 0x00000006 
+ 00030750  0x00008553 arg  0x0000072e , 0x00000005 
+ 00030751  0x00008554 call  0x00007ebe 
+ 00030752  0x00008555 arg  0x0000068e , 0x00000011 
+ 00030753  0x00008556 arg  0x00000776 , 0x00000005 
+ 00030754  0x00008557 call  0x000077a8 
+ 00030755  0x00008558 arg  0x0000072e , 0x00000011 
+ 00030756  0x00008559 call  0x00007748 
+ 00030757  0x0000855a arg  0x0000072e , 0x00000011 
+ 00030758  0x0000855b call  0x00007748 
+ 00030759  0x0000855c arg  0x0000072e , 0x00000011 
+ 00030760  0x0000855d arg  0x00000776 , 0x00000012 
+ 00030761  0x0000855e arg  0x0000072e , 0x00000005 
+ 00030762  0x0000855f call  0x00007786 
+ 00030763  0x00008560 arg  0x00000776 , 0x00000011 
+ 00030764  0x00008561 arg  0x00000746 , 0x00000005 
+ 00030765  0x00008562 call  0x000077a8 
+ 00030766  0x00008563 arg  0x00000746 , 0x00000011 
+ 00030767  0x00008564 call  0x00007748 
+ 00030768  0x00008565 arg  0x00000746 , 0x00000011 
+ 00030769  0x00008566 call  0x00007748 
+ 00030770  0x00008567 arg  0x00000746 , 0x00000011 
+ 00030771  0x00008568 call  0x00007748 
+ 00030772  0x00008569 arg  0x0000068e , 0x00000006 
+ 00030773  0x0000856a arg  0x00000776 , 0x00000005 
+ 00030774  0x0000856b call  0x00007ebe 
+ 00030775  0x0000856c arg  0x00000776 , 0x00000011 
+ 00030776  0x0000856d call  0x00007748 
+ 00030777  0x0000856e arg  0x00000776 , 0x00000011 
+ 00030778  0x0000856f arg  0x000006a6 , 0x00000012 
+ 00030779  0x00008570 arg  0x000006a6 , 0x00000005 
+ 00030780  0x00008571 call  0x00007786 
+ 00030781  0x00008572 arg  0x0000075e , 0x00000011 
+ 00030782  0x00008573 arg  0x00000776 , 0x00000005 
+ 00030783  0x00008574 call  0x000077a8 
+ 00030784  0x00008575 arg  0x00000776 , 0x00000011 
+ 00030785  0x00008576 arg  0x0000072e , 0x00000012 
+ 00030786  0x00008577 arg  0x00000776 , 0x00000005 
+ 00030787  0x00008578 call  0x00007758 
+ 00030788  0x00008579 arg  0x00000776 , 0x00000011 
+ 00030789  0x0000857a arg  0x0000072e , 0x00000012 
+ 00030790  0x0000857b arg  0x00000676 , 0x00000005 
+ 00030791  0x0000857c call  0x00007758 
+ 00030792  0x0000857d arg  0x0000072e , 0x00000011 
+ 00030793  0x0000857e arg  0x00000676 , 0x00000012 
+ 00030794  0x0000857f arg  0x00000776 , 0x00000005 
+ 00030795  0x00008580 call  0x00007758 
+ 00030796  0x00008581 arg  0x00000776 , 0x00000011 
+ 00030797  0x00008582 arg  0x0000075e , 0x00000012 
+ 00030798  0x00008583 arg  0x00000776 , 0x00000005 
+ 00030799  0x00008584 call  0x00007786 
+ 00030800  0x00008585 arg  0x00000776 , 0x00000011 
+ 00030801  0x00008586 arg  0x00000746 , 0x00000012 
+ 00030802  0x00008587 arg  0x0000068e , 0x00000005 
+ 00030803  0x00008588 branch  0x00007758 
+ 00030804  0x0000858d arg  0x00000616 , 0x00000011 
+ 00030805  0x0000858e arg  0x0000078e , 0x00000005 
+ 00030806  0x0000858f call  0x000077a8 
+ 00030807  0x00008590 arg  0x00000676 , 0x00000011 
+ 00030808  0x00008591 arg  0x0000078e , 0x00000012 
+ 00030809  0x00008592 arg  0x00000746 , 0x00000005 
+ 00030810  0x00008593 call  0x00007786 
+ 00030811  0x00008594 arg  0x00000616 , 0x00000011 
+ 00030812  0x00008595 arg  0x0000078e , 0x00000012 
+ 00030813  0x00008596 arg  0x0000078e , 0x00000005 
+ 00030814  0x00008597 call  0x00007786 
+ 00030815  0x00008598 arg  0x0000068e , 0x00000011 
+ 00030816  0x00008599 arg  0x0000078e , 0x00000012 
+ 00030817  0x0000859a arg  0x0000072e , 0x00000005 
+ 00030818  0x0000859b call  0x00007786 
+ 00030819  0x0000859c arg  0x000006a6 , 0x00000011 
+ 00030820  0x0000859d arg  0x0000078e , 0x00000005 
+ 00030821  0x0000859e call  0x000077a8 
+ 00030822  0x0000859f arg  0x000005e6 , 0x00000011 
+ 00030823  0x000085a0 arg  0x0000078e , 0x00000012 
+ 00030824  0x000085a1 arg  0x0000075e , 0x00000005 
+ 00030825  0x000085a2 call  0x00007786 
+ 00030826  0x000085a3 arg  0x000006a6 , 0x00000011 
+ 00030827  0x000085a4 arg  0x0000078e , 0x00000012 
+ 00030828  0x000085a5 arg  0x0000078e , 0x00000005 
+ 00030829  0x000085a6 call  0x00007786 
+ 00030830  0x000085a7 arg  0x000005fe , 0x00000011 
+ 00030831  0x000085a8 arg  0x0000078e , 0x00000012 
+ 00030832  0x000085a9 arg  0x00000776 , 0x00000005 
+ 00030833  0x000085aa call  0x00007786 
+ 00030834  0x000085ab arg  0x00000746 , 0x00000011 
+ 00030835  0x000085ac arg  0x0000075e , 0x00000012 
+ 00030836  0x000085ad arg  0x0000078e , 0x00000005 
+ 00030837  0x000085ae call  0x00007758 
+ 00030838  0x000085af arg  0x00000746 , 0x00000011 
+ 00030839  0x000085b0 arg  0x0000075e , 0x00000012 
+ 00030840  0x000085b1 arg  0x00000746 , 0x00000005 
+ 00030841  0x000085b2 call  0x00007755 
+ 00030842  0x000085b3 arg  0x0000072e , 0x00000011 
+ 00030843  0x000085b4 arg  0x00000776 , 0x00000012 
+ 00030844  0x000085b5 arg  0x0000075e , 0x00000005 
+ 00030845  0x000085b6 call  0x00007758 
+ 00030846  0x000085b7 arg  0x0000072e , 0x00000011 
+ 00030847  0x000085b8 arg  0x00000776 , 0x00000012 
+ 00030848  0x000085b9 arg  0x0000072e , 0x00000005 
+ 00030849  0x000085ba call  0x00007755 
+ 00030850  0x000085bb arg  0x0000072e , 0x00000011 
+ 00030851  0x000085bc arg  0x0000078e , 0x00000012 
+ 00030852  0x000085bd arg  0x0000072e , 0x00000005 
+ 00030853  0x000085be call  0x00007786 
+ 00030854  0x000085bf arg  0x000006a6 , 0x00000011 
+ 00030855  0x000085c0 arg  0x00000616 , 0x00000012 
+ 00030856  0x000085c1 arg  0x00000776 , 0x00000005 
+ 00030857  0x000085c2 call  0x00007786 
+ 00030858  0x000085c3 arg  0x00000776 , 0x00000011 
+ 00030859  0x000085c4 arg  0x0000078e , 0x00000012 
+ 00030860  0x000085c5 arg  0x000006a6 , 0x00000005 
+ 00030861  0x000085c6 call  0x00007786 
+ 00030862  0x000085c7 arg  0x0000078e , 0x00000011 
+ 00030863  0x000085c8 arg  0x0000078e , 0x00000005 
+ 00030864  0x000085c9 call  0x000077a8 
+ 00030865  0x000085ca arg  0x0000078e , 0x00000011 
+ 00030866  0x000085cb arg  0x00000746 , 0x00000012 
+ 00030867  0x000085cc arg  0x00000776 , 0x00000005 
+ 00030868  0x000085cd call  0x00007786 
+ 00030869  0x000085ce arg  0x0000078e , 0x00000011 
+ 00030870  0x000085cf arg  0x0000072e , 0x00000012 
+ 00030871  0x000085d0 arg  0x0000072e , 0x00000005 
+ 00030872  0x000085d1 call  0x00007786 
+ 00030873  0x000085d2 arg  0x0000075e , 0x00000011 
+ 00030874  0x000085d3 arg  0x00000676 , 0x00000005 
+ 00030875  0x000085d4 call  0x000077a8 
+ 00030876  0x000085d5 arg  0x00000676 , 0x00000011 
+ 00030877  0x000085d6 arg  0x00000776 , 0x00000012 
+ 00030878  0x000085d7 arg  0x00000676 , 0x00000005 
+ 00030879  0x000085d8 call  0x00007758 
+ 00030880  0x000085d9 arg  0x00000676 , 0x00000006 
+ 00030881  0x000085da arg  0x0000078e , 0x00000005 
+ 00030882  0x000085db call  0x00007ebe 
+ 00030883  0x000085dc arg  0x0000078e , 0x00000011 
+ 00030884  0x000085dd call  0x00007748 
+ 00030885  0x000085de arg  0x00000776 , 0x00000011 
+ 00030886  0x000085df arg  0x0000078e , 0x00000012 
+ 00030887  0x000085e0 arg  0x00000776 , 0x00000005 
+ 00030888  0x000085e1 call  0x00007758 
+ 00030889  0x000085e2 arg  0x00000776 , 0x00000011 
+ 00030890  0x000085e3 arg  0x0000075e , 0x00000012 
+ 00030891  0x000085e4 arg  0x0000075e , 0x00000005 
+ 00030892  0x000085e5 call  0x00007786 
+ 00030893  0x000085e6 arg  0x0000075e , 0x00000011 
+ 00030894  0x000085e7 arg  0x0000072e , 0x00000012 
+ 00030895  0x000085e8 arg  0x0000068e , 0x00000005 
+ 00030896  0x000085e9 call  0x00007758 
+ 00030897  0x000085ea arg  0x0000068e , 0x00000011 
+ 00030898  0x000085eb arg  0x00000886 , 0x00000012 
+ 00030899  0x000085ec arg  0x0000068e , 0x00000005 
+ 00030900  0x000085ed force  0x00000000 , 0x00000013 
+ 00030901  0x000085ee fetch  0x00000001 , 0x0000068e 
+ 00030902  0x000085ef isolate1  0x00000000 , 0x0000003f 
+ 00030903  0x000085f0 call  0x00007711 , 0x00000001 
+ 00030904  0x000085f1 copy  0x00000013 , 0x00000030 
+ 00030905  0x000085f2 arg  0x0000068e , 0x00000011 
+ 00030906  0x000085f3 call  0x0000772d 
+ 00030907  0x000085f4 fetch  0x00000001 , 0x000006a5 
+ 00030908  0x000085f5 isolate1  0x00000000 , 0x00000030 
+ 00030909  0x000085f6 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030910  0x000085f7 store  0x00000001 , 0x000006a5 
+ 00030911  0x000085f8 rtn 
+ 00030912  0x000085fd fetch  0x00000001 , 0x000005e3 
+ 00030913  0x000085fe increase  0xffffffff , 0x0000003f 
+ 00030914  0x000085ff nrtn  0x00000002 
+ 00030915  0x00008600 store  0x00000001 , 0x000005e3 
+ 00030916  0x00008601 fetch  0x00000001 , 0x000005e2 
+ 00030917  0x00008602 call  0x00007803 , 0x00000034 
+ 00030918  0x00008603 fetch  0x00000001 , 0x000005e3 
+ 00030919  0x00008604 arg  0x000006be , 0x00000006 
+ 00030920  0x00008605 call  0x000076ec 
+ 00030921  0x00008606 branch  0x000078c0 , 0x00000001 
+ 00030922  0x00008607 fetch  0x00000001 , 0x000005e2 
+ 00030923  0x00008608 nbranch  0x000078ce , 0x00000034 
+ 00030924  0x00008609 call  0x00007854 
+ 00030925  0x0000860a branch  0x000078c0 
+ 00030926  0x0000860c jam  0x00000000 , 0x000005e2 
+ 00030927  0x0000860d arg  0x000005e6 , 0x00000006 
+ 00030928  0x0000860e arg  0x00000676 , 0x00000005 
+ 00030929  0x0000860f call  0x000076f2 
+ 00030930  0x00008610 branch  0x000078c0 
+ 00030931  0x00008614 arg  0x000006a6 , 0x00000011 
+ 00030932  0x00008615 arg  0x00000776 , 0x00000005 
+ 00030933  0x00008616 call  0x000077be 
+ 00030934  0x00008617 arg  0x00000776 , 0x00000011 
+ 00030935  0x00008618 arg  0x0000072e , 0x00000005 
+ 00030936  0x00008619 call  0x000077a8 
+ 00030937  0x0000861a arg  0x00000676 , 0x00000011 
+ 00030938  0x0000861b arg  0x0000072e , 0x00000012 
+ 00030939  0x0000861c arg  0x0000062e , 0x00000005 
+ 00030940  0x0000861d call  0x00007786 
+ 00030941  0x0000861e arg  0x00000776 , 0x00000011 
+ 00030942  0x0000861f arg  0x0000072e , 0x00000012 
+ 00030943  0x00008620 arg  0x0000075e , 0x00000005 
+ 00030944  0x00008621 call  0x00007786 
+ 00030945  0x00008622 arg  0x0000068e , 0x00000011 
+ 00030946  0x00008623 arg  0x0000075e , 0x00000012 
+ 00030947  0x00008624 arg  0x00000646 , 0x00000005 
+ 00030948  0x00008625 branch  0x00007786 
+ 00030949  0x0000862a ifetch  0x00000004 , 0x00000006 
+ 00030950  0x0000862b force  0x00000004 , 0x00000011 
+ 00030951  0x0000862c increase  0x00000003 , 0x00000005 
+ 00030952  0x0000862e istore  0x00000001 , 0x00000005 
+ 00030953  0x0000862f rshift8  0x0000003f , 0x0000003f 
+ 00030954  0x00008630 increase  0xfffffffe , 0x00000005 
+ 00030955  0x00008631 increase  0xffffffff , 0x00000011 
+ 00030956  0x00008632 nbranch  0x000078e8 , 0x00000005 
+ 00030957  0x00008633 increase  0x00000005 , 0x00000005 
+ 00030958  0x00008634 loop  0x000078e5 
+ 00030959  0x00008635 rtn 
+ 00030960  0x00008639 lshift2  0x00000007 , 0x0000003f 
+ 00030961  0x0000863a iadd  0x0000000b , 0x00000006 
+ 00030962  0x0000863b ifetch  0x00000004 , 0x00000006 
+ 00030963  0x0000863c rtn 
+ 00030964  0x0000863f force  0x00000010 , 0x00000030 
+ 00030965  0x00008640 arg  0x000005e6 , 0x0000000b 
+ 00030966  0x00008642 add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030967  0x00008643 call  0x000078f0 
+ 00030968  0x00008644 iforce  0x00000002 
+ 00030969  0x00008645 add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030970  0x00008646 call  0x000078f0 
+ 00030971  0x00008647 iadd  0x00000002 , 0x00000002 
+ 00030972  0x00008648 add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030973  0x00008649 call  0x000078f0 
+ 00030974  0x0000864a shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030975  0x0000864b iadd  0x00000002 , 0x00000002 
+ 00030976  0x0000864c add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030977  0x0000864d call  0x000078f0 
+ 00030978  0x0000864e shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030979  0x0000864f iadd  0x00000002 , 0x00000002 
+ 00030980  0x00008650 lshift2  0x00000030 , 0x0000003f 
+ 00030981  0x00008651 iadd  0x0000000b , 0x00000005 
+ 00030982  0x00008652 istoret  0x00000004 , 0x00000005 
+ 00030983  0x00008653 increase  0x00000001 , 0x00000030 
+ 00030984  0x00008654 compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030985  0x00008655 nbranch  0x000078f6 , 0x00000001 
+ 00030986  0x00008656 rtn 
+ 00030987  0x0000865a arg  0x000008fe , 0x00000006 
+ 00030988  0x0000865b force  0x00000007 , 0x00000038 
+ 00030989  0x0000865d ifetch  0x00000004 , 0x00000006 
+ 00030990  0x0000865e iforce  0x0000002f 
+ 00030991  0x0000865f increase  0xffffffff , 0x00000038 
+ 00030992  0x00008660 branch  0x0000790d , 0x00000002 
+ 00030993  0x00008661 rtn 
+ 00030994  0x00008664 bpatchx  0x000000ec , 0x0000403d 
+ 00030995  0x00008665 call  0x000078f4 
+ 00030996  0x00008666 arg  0x000006e6 , 0x00000005 
+ 00030997  0x00008667 force  0x00000000 , 0x00000038 
+ 00030998  0x00008669 deposit  0x0000002f 
+ 00030999  0x0000866a istore  0x00000004 , 0x00000005 
+ 00031000  0x0000866b increase  0x00000001 , 0x00000038 
+ 00031001  0x0000866c compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031002  0x0000866d nbranch  0x00007916 , 0x00000001 
+ 00031003  0x0000866e call  0x000074b9 
+ 00031004  0x0000866f arg  0x00008700 , 0x0000000b 
+ 00031005  0x00008670 arg  0x000005e6 , 0x00000030 
+ 00031006  0x00008671 force  0x00000040 , 0x00000039 
+ 00031007  0x00008673 ifetcht  0x00000004 , 0x00000030 
+ 00031008  0x00008674 ifetch  0x00000004 , 0x0000000b 
+ 00031009  0x00008675 increase  0x00000004 , 0x0000000b 
+ 00031010  0x00008676 increase  0x00000004 , 0x00000030 
+ 00031011  0x00008677 iadd  0x00000002 , 0x0000003f 
+ 00031012  0x00008678 force  0x00000007 , 0x00000038 
+ 00031013  0x00008679 iadd  0x0000002f , 0x00000002 
+ 00031014  0x0000867a force  0x00000004 , 0x00000038 
+ 00031015  0x0000867b shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00031016  0x0000867c iadd  0x00000002 , 0x00000002 
+ 00031017  0x0000867d force  0x00000005 , 0x00000038 
+ 00031018  0x0000867e deposit  0x0000002f 
+ 00031019  0x0000867f force  0x00000006 , 0x00000038 
+ 00031020  0x00008680 ixor  0x0000002f , 0x0000003f 
+ 00031021  0x00008681 force  0x00000004 , 0x00000038 
+ 00031022  0x00008682 iand  0x0000002f , 0x0000003f 
+ 00031023  0x00008683 force  0x00000006 , 0x00000038 
+ 00031024  0x00008684 ixor  0x0000002f , 0x0000003f 
+ 00031025  0x00008685 iadd  0x00000002 , 0x00000002 
+ 00031026  0x00008686 force  0x00000007 , 0x00000038 
+ 00031027  0x00008687 copy  0x00000002 , 0x0000002f 
+ 00031028  0x00008688 force  0x00000003 , 0x00000038 
+ 00031029  0x00008689 deposit  0x0000002f 
+ 00031030  0x0000868a iadd  0x00000002 , 0x0000002f 
+ 00031031  0x0000868b force  0x00000000 , 0x00000038 
+ 00031032  0x0000868c deposit  0x0000002f 
+ 00031033  0x0000868d force  0x00000001 , 0x00000038 
+ 00031034  0x0000868e iand  0x0000002f , 0x00000002 
+ 00031035  0x0000868f ior  0x0000002f , 0x0000003f 
+ 00031036  0x00008690 force  0x00000002 , 0x00000038 
+ 00031037  0x00008691 iand  0x0000002f , 0x0000003f 
+ 00031038  0x00008692 ior  0x00000002 , 0x00000002 
+ 00031039  0x00008693 force  0x00000000 , 0x00000038 
+ 00031040  0x00008694 shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00031041  0x00008695 iadd  0x00000002 , 0x0000003f 
+ 00031042  0x00008696 force  0x00000007 , 0x00000038 
+ 00031043  0x00008697 iadd  0x0000002f , 0x0000002f 
+ 00031044  0x00008698 regexrot 
+ 00031045  0x00008699 loop  0x0000791f 
+ 00031046  0x0000869a arg  0x000006e6 , 0x00000006 
+ 00031047  0x0000869b force  0x00000000 , 0x00000038 
+ 00031048  0x0000869d ifetch  0x00000004 , 0x00000006 
+ 00031049  0x0000869e iadd  0x0000002f , 0x0000002f 
+ 00031050  0x0000869f increase  0x00000001 , 0x00000038 
+ 00031051  0x000086a0 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031052  0x000086a1 nbranch  0x00007948 , 0x00000001 
+ 00031053  0x000086a2 branch  0x000074bd 
+ 00031054  0x000086a6 arg  0x00000a3e , 0x00000005 
+ 00031055  0x000086a7 force  0x00000007 , 0x00000038 
+ 00031056  0x000086a9 deposit  0x0000002f 
+ 00031057  0x000086aa istore  0x00000004 , 0x00000005 
+ 00031058  0x000086ab increase  0xffffffff , 0x00000038 
+ 00031059  0x000086ac branch  0x00007950 , 0x00000002 
+ 00031060  0x000086ad rtn 
+ 00031061  0x000086b1 arg  0x000005e6 , 0x00000005 
+ 00031062  0x000086b2 increase  0xfffffffc , 0x00000006 
+ 00031063  0x000086b3 sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00031064  0x000086b5 ifetch  0x00000004 , 0x00000006 
+ 00031065  0x000086b6 ixor  0x00000002 , 0x0000003f 
+ 00031066  0x000086b7 istore  0x00000004 , 0x00000005 
+ 00031067  0x000086b8 increase  0xfffffff8 , 0x00000006 
+ 00031068  0x000086b9 loop  0x00007958 
+ 00031069  0x000086ba copy  0x00000011 , 0x00000039 
+ 00031070  0x000086bb deposit  0x00000002 
+ 00031071  0x000086bd istore  0x00000004 , 0x00000005 
+ 00031072  0x000086be loop  0x0000795f 
+ 00031073  0x000086bf rtn 
+ 00031074  0x000086c2 call  0x00007967 
+ 00031075  0x000086c3 call  0x0000794e 
+ 00031076  0x000086c4 branch  0x0000798d 
+ 00031077  0x000086c7 call  0x00007967 
+ 00031078  0x000086c8 branch  0x0000798d 
+ 00031079  0x000086cb arg  0x000009de , 0x00000006 
+ 00031080  0x000086cc arg  0x000005e6 , 0x00000005 
+ 00031081  0x000086cd force  0x00000006 , 0x00000039 
+ 00031082  0x000086ce call  0x00007a71 
+ 00031083  0x000086cf arg  0x00004642 , 0x00000006 
+ 00031084  0x000086d0 force  0x00000006 , 0x00000039 
+ 00031085  0x000086d1 call  0x00007a71 
+ 00031086  0x000086d2 arg  0x00000a3e , 0x00000006 
+ 00031087  0x000086d3 call  0x00007a70 
+ 00031088  0x000086d4 call  0x0000790b 
+ 00031089  0x000086d5 call  0x00007912 
+ 00031090  0x000086d6 arg  0x00000a2e , 0x00000006 
+ 00031091  0x000086d7 arg  0x000005e6 , 0x00000005 
+ 00031092  0x000086d8 branch  0x00007984 
+ 00031093  0x000086db arg  0x00004642 , 0x00000006 
+ 00031094  0x000086dc arg  0x000005e6 , 0x00000005 
+ 00031095  0x000086dd force  0x00000006 , 0x00000039 
+ 00031096  0x000086de call  0x00007a71 
+ 00031097  0x000086df arg  0x000009de , 0x00000006 
+ 00031098  0x000086e0 force  0x00000006 , 0x00000039 
+ 00031099  0x000086e1 call  0x00007a71 
+ 00031100  0x000086e2 arg  0x00000a2e , 0x00000006 
+ 00031101  0x000086e3 call  0x00007a70 
+ 00031102  0x000086e4 call  0x0000790b 
+ 00031103  0x000086e5 call  0x00007912 
+ 00031104  0x000086e6 arg  0x00000a3e , 0x00000006 
+ 00031105  0x000086e7 arg  0x000005e6 , 0x00000005 
+ 00031106  0x000086e8 call  0x00007984 
+ 00031107  0x000086e9 branch  0x0000798d 
+ 00031108  0x000086ec call  0x00007a70 
+ 00031109  0x000086ed setarg  0x00800000 
+ 00031110  0x000086ee lshift8  0x0000003f , 0x0000003f 
+ 00031111  0x000086ef istore  0x00000004 , 0x00000005 
+ 00031112  0x000086f0 force  0x00000005 , 0x00000039 
+ 00031113  0x000086f1 call  0x00007ec6 
+ 00031114  0x000086f2 setarg  0x00000280 
+ 00031115  0x000086f3 istore  0x00000004 , 0x00000005 
+ 00031116  0x000086f4 branch  0x00007912 
+ 00031117  0x000086f6 fetch  0x00000004 , 0x00000a3e 
+ 00031118  0x000086f8 arg  0x000003e8 , 0x00000011 
+ 00031119  0x000086f9 idiv  0x00000011 
+ 00031120  0x000086fa call  0x00007f86 
+ 00031121  0x000086fb remainder  0x0000003f 
+ 00031122  0x000086fc store  0x00000004 , 0x000009ba 
+ 00031123  0x000086fd quotient  0x0000003f 
+ 00031124  0x000086fe arg  0x000003e8 , 0x00000011 
+ 00031125  0x000086ff idiv  0x00000011 
+ 00031126  0x00008700 call  0x00007f86 
+ 00031127  0x00008701 remainder  0x0000003f 
+ 00031128  0x00008702 arg  0x000003e8 , 0x00000011 
+ 00031129  0x00008703 imul32  0x00000011 , 0x0000003f 
+ 00031130  0x00008704 fetcht  0x00000004 , 0x000009ba 
+ 00031131  0x00008705 iadd  0x00000002 , 0x0000003f 
+ 00031132  0x00008706 store  0x00000004 , 0x000009ba 
+ 00031133  0x00008707 rtn 
+ 00031134  0x0000870a jam  0x00000000 , 0x00004664 
+ 00031135  0x0000870b branch  0x000079a2 
+ 00031136  0x0000870e fetch  0x00000001 , 0x00004662 
+ 00031137  0x0000870f bne  0x00000002 , 0x0000799e 
+ 00031138  0x00008711 bpatchx  0x000000ed , 0x0000403d 
+ 00031139  0x00008712 setarg  0x00363636 
+ 00031140  0x00008713 lshift8  0x0000003f , 0x00000002 
+ 00031141  0x00008714 or_into  0x00000036 , 0x00000002 
+ 00031142  0x00008715 fetch  0x00000002 , 0x00000a7e 
+ 00031143  0x00008716 copy  0x0000003f , 0x00000006 
+ 00031144  0x00008717 force  0x00000004 , 0x00000039 
+ 00031145  0x00008718 call  0x00007955 
+ 00031146  0x00008719 call  0x0000790b 
+ 00031147  0x0000871a call  0x00007912 
+ 00031148  0x0000871b fetch  0x00000002 , 0x00000a80 
+ 00031149  0x0000871c copy  0x0000003f , 0x00000006 
+ 00031150  0x0000871d arg  0x000005e6 , 0x00000005 
+ 00031151  0x0000871e force  0x00000006 , 0x00000039 
+ 00031152  0x0000871f call  0x00007a71 
+ 00031153  0x00008720 fetch  0x00000002 , 0x00000a82 
+ 00031154  0x00008721 copy  0x0000003f , 0x00000006 
+ 00031155  0x00008722 force  0x00000006 , 0x00000039 
+ 00031156  0x00008723 call  0x00007a71 
+ 00031157  0x00008724 setarg  0x00800000 
+ 00031158  0x00008725 istore  0x00000003 , 0x00000005 
+ 00031159  0x00008727 fetch  0x00000001 , 0x00004664 
+ 00031160  0x00008729 istore  0x00000001 , 0x00000005 
+ 00031161  0x0000872a force  0x00000000 , 0x0000003f 
+ 00031162  0x0000872b istore  0x00000008 , 0x00000005 
+ 00031163  0x0000872c setarg  0x00000388 
+ 00031164  0x0000872d istore  0x00000004 , 0x00000005 
+ 00031165  0x0000872e call  0x00007912 
+ 00031166  0x0000872f call  0x0000794e 
+ 00031167  0x00008730 arg  0x00000a3e , 0x00000006 
+ 00031168  0x00008731 arg  0x00000706 , 0x00000005 
+ 00031169  0x00008732 call  0x00007ebd 
+ 00031170  0x00008734 setarg  0x005c5c5c 
+ 00031171  0x00008735 lshift8  0x0000003f , 0x00000002 
+ 00031172  0x00008736 or_into  0x0000005c , 0x00000002 
+ 00031173  0x00008737 fetch  0x00000002 , 0x00000a7e 
+ 00031174  0x00008738 copy  0x0000003f , 0x00000006 
+ 00031175  0x00008739 force  0x00000004 , 0x00000039 
+ 00031176  0x0000873a call  0x00007955 
+ 00031177  0x0000873b call  0x0000790b 
+ 00031178  0x0000873c call  0x00007912 
+ 00031179  0x0000873d arg  0x00000726 , 0x00000006 
+ 00031180  0x0000873e arg  0x000005e6 , 0x00000005 
+ 00031181  0x0000873f force  0x00000008 , 0x00000039 
+ 00031182  0x00008740 call  0x00007a71 
+ 00031183  0x00008741 setarg  0x00800000 
+ 00031184  0x00008742 lshift8  0x0000003f , 0x0000003f 
+ 00031185  0x00008743 istore  0x00000004 , 0x00000005 
+ 00031186  0x00008744 call  0x00007ec5 
+ 00031187  0x00008745 setarg  0x00000300 
+ 00031188  0x00008746 istore  0x00000004 , 0x00000005 
+ 00031189  0x00008747 call  0x00007912 
+ 00031190  0x00008748 branch  0x0000794e 
+ 00031191  0x0000874c setarg  0x00363636 
+ 00031192  0x0000874d lshift8  0x0000003f , 0x00000002 
+ 00031193  0x0000874e or_into  0x00000036 , 0x00000002 
+ 00031194  0x0000874f arg  0x00000a1e , 0x00000006 
+ 00031195  0x00008750 force  0x00000006 , 0x00000039 
+ 00031196  0x00008751 call  0x00007955 
+ 00031197  0x00008752 call  0x0000790b 
+ 00031198  0x00008753 call  0x00007912 
+ 00031199  0x00008754 fetch  0x00000002 , 0x00000a8a 
+ 00031200  0x00008755 copy  0x0000003f , 0x00000006 
+ 00031201  0x00008756 arg  0x000005e6 , 0x00000005 
+ 00031202  0x00008757 call  0x00007a70 
+ 00031203  0x00008758 fetch  0x00000002 , 0x00000a8c 
+ 00031204  0x00008759 copy  0x0000003f , 0x00000006 
+ 00031205  0x0000875a call  0x00007a70 
+ 00031206  0x0000875c setarg  0x0062746c 
+ 00031207  0x0000875d lshift8  0x0000003f , 0x0000003f 
+ 00031208  0x0000875e or_into  0x0000006b , 0x0000003f 
+ 00031209  0x0000875f istore  0x00000004 , 0x00000005 
+ 00031210  0x00008760 arg  0x00000733 , 0x00000006 
+ 00031211  0x00008761 force  0x00000003 , 0x00000039 
+ 00031212  0x00008762 call  0x00007a71 
+ 00031213  0x00008764 setarg  0x00800000 
+ 00031214  0x00008765 lshift8  0x0000003f , 0x0000003f 
+ 00031215  0x00008766 istore  0x00000004 , 0x00000005 
+ 00031216  0x00008767 force  0x00000000 , 0x0000003f 
+ 00031217  0x00008768 istore  0x00000008 , 0x00000005 
+ 00031218  0x00008769 setarg  0x00000380 
+ 00031219  0x0000876a istore  0x00000004 , 0x00000005 
+ 00031220  0x0000876b call  0x00007912 
+ 00031221  0x0000876d call  0x0000794e 
+ 00031222  0x0000876e arg  0x00000a3e , 0x00000006 
+ 00031223  0x0000876f arg  0x00000706 , 0x00000005 
+ 00031224  0x00008770 call  0x00007ebd 
+ 00031225  0x00008772 setarg  0x005c5c5c 
+ 00031226  0x00008773 lshift8  0x0000003f , 0x00000002 
+ 00031227  0x00008774 or_into  0x0000005c , 0x00000002 
+ 00031228  0x00008775 arg  0x00000a1e , 0x00000006 
+ 00031229  0x00008776 force  0x00000006 , 0x00000039 
+ 00031230  0x00008777 call  0x00007955 
+ 00031231  0x00008778 call  0x0000790b 
+ 00031232  0x00008779 call  0x00007912 
+ 00031233  0x0000877a arg  0x00000726 , 0x00000006 
+ 00031234  0x0000877b arg  0x000005e6 , 0x00000005 
+ 00031235  0x0000877c force  0x00000008 , 0x00000039 
+ 00031236  0x0000877d call  0x00007a71 
+ 00031237  0x0000877e setarg  0x00800000 
+ 00031238  0x0000877f lshift8  0x0000003f , 0x0000003f 
+ 00031239  0x00008780 istore  0x00000004 , 0x00000005 
+ 00031240  0x00008781 call  0x00007ec5 
+ 00031241  0x00008782 setarg  0x00000300 
+ 00031242  0x00008783 istore  0x00000004 , 0x00000005 
+ 00031243  0x00008784 call  0x00007912 
+ 00031244  0x00008785 branch  0x0000794e 
+ 00031245  0x00008789 fetch  0x00000001 , 0x00004662 
+ 00031246  0x0000878a bne  0x00000002 , 0x00007a1e 
+ 00031247  0x0000878c bpatchx  0x000000ee , 0x0000403d 
+ 00031248  0x0000878d setarg  0x00363636 
+ 00031249  0x0000878e lshift8  0x0000003f , 0x00000002 
+ 00031250  0x0000878f or_into  0x00000036 , 0x00000002 
+ 00031251  0x00008790 arg  0x00000a1e , 0x00000006 
+ 00031252  0x00008791 force  0x00000006 , 0x00000039 
+ 00031253  0x00008792 call  0x00007955 
+ 00031254  0x00008793 call  0x0000790b 
+ 00031255  0x00008794 call  0x00007912 
+ 00031256  0x00008795 arg  0x00000a3e , 0x00000006 
+ 00031257  0x00008796 arg  0x000005e6 , 0x00000005 
+ 00031258  0x00008797 call  0x00007a70 
+ 00031259  0x00008798 arg  0x00000a2e , 0x00000006 
+ 00031260  0x00008799 call  0x00007a70 
+ 00031261  0x0000879a branch  0x00007a33 
+ 00031262  0x0000879d setarg  0x00000000 
+ 00031263  0x0000879e store  0x00000004 , 0x0000468a 
+ 00031264  0x0000879f branch  0x00007a0f 
+ 00031265  0x000087a2 setarg  0x00000000 
+ 00031266  0x000087a3 store  0x00000004 , 0x0000468a 
+ 00031267  0x000087a4 branch  0x00007a26 
+ 00031268  0x000087a8 fetch  0x00000001 , 0x00004662 
+ 00031269  0x000087a9 bne  0x00000002 , 0x00007a21 
+ 00031270  0x000087ab setarg  0x00363636 
+ 00031271  0x000087ac lshift8  0x0000003f , 0x00000002 
+ 00031272  0x000087ad or_into  0x00000036 , 0x00000002 
+ 00031273  0x000087ae arg  0x00000a1e , 0x00000006 
+ 00031274  0x000087af force  0x00000006 , 0x00000039 
+ 00031275  0x000087b0 call  0x00007955 
+ 00031276  0x000087b1 call  0x0000790b 
+ 00031277  0x000087b2 call  0x00007912 
+ 00031278  0x000087b4 arg  0x00000a2e , 0x00000006 
+ 00031279  0x000087b5 arg  0x000005e6 , 0x00000005 
+ 00031280  0x000087b6 call  0x00007a70 
+ 00031281  0x000087b7 arg  0x00000a3e , 0x00000006 
+ 00031282  0x000087b8 call  0x00007a70 
+ 00031283  0x000087ba setarg  0x00000000 
+ 00031284  0x000087bb istore  0x00000008 , 0x00000005 
+ 00031285  0x000087bc istore  0x00000004 , 0x00000005 
+ 00031286  0x000087bd fetch  0x00000004 , 0x0000468a 
+ 00031287  0x000087be istore  0x00000004 , 0x00000005 
+ 00031288  0x000087c0 copy  0x00000005 , 0x00000002 
+ 00031289  0x000087c1 jam  0x00000080 , 0x00000726 
+ 00031290  0x000087c2 copy  0x00000002 , 0x00000005 
+ 00031291  0x000087c3 arg  0x00000736 , 0x00000006 
+ 00031292  0x000087c4 call  0x00007a70 
+ 00031293  0x000087c6 call  0x00007912 
+ 00031294  0x000087c8 arg  0x000005e6 , 0x00000005 
+ 00031295  0x000087c9 force  0x00000007 , 0x00000039 
+ 00031296  0x000087ca call  0x00007ec6 
+ 00031297  0x000087cb istore  0x00000004 , 0x00000005 
+ 00031298  0x000087cc setarg  0x000003f8 
+ 00031299  0x000087cd istore  0x00000004 , 0x00000005 
+ 00031300  0x000087ce call  0x00007912 
+ 00031301  0x000087cf call  0x0000794e 
+ 00031302  0x000087d1 arg  0x00000a3e , 0x00000006 
+ 00031303  0x000087d2 arg  0x00000706 , 0x00000005 
+ 00031304  0x000087d3 call  0x00007ebd 
+ 00031305  0x000087d5 setarg  0x005c5c5c 
+ 00031306  0x000087d6 lshift8  0x0000003f , 0x00000002 
+ 00031307  0x000087d7 or_into  0x0000005c , 0x00000002 
+ 00031308  0x000087d8 arg  0x00000a1e , 0x00000006 
+ 00031309  0x000087d9 force  0x00000006 , 0x00000039 
+ 00031310  0x000087da call  0x00007955 
+ 00031311  0x000087db call  0x0000790b 
+ 00031312  0x000087dc call  0x00007912 
+ 00031313  0x000087dd arg  0x00000726 , 0x00000006 
+ 00031314  0x000087de arg  0x000005e6 , 0x00000005 
+ 00031315  0x000087df force  0x00000008 , 0x00000039 
+ 00031316  0x000087e0 call  0x00007a71 
+ 00031317  0x000087e1 setarg  0x00800000 
+ 00031318  0x000087e2 lshift8  0x0000003f , 0x0000003f 
+ 00031319  0x000087e3 istore  0x00000004 , 0x00000005 
+ 00031320  0x000087e4 call  0x00007ec5 
+ 00031321  0x000087e5 setarg  0x00000300 
+ 00031322  0x000087e6 istore  0x00000004 , 0x00000005 
+ 00031323  0x000087e7 call  0x00007912 
+ 00031324  0x000087e8 branch  0x0000794e 
+ 00031325  0x000087f0 jam  0x000000c0 , 0x000005e3 
+ 00031326  0x000087f2 fetch  0x00000001 , 0x000005e3 
+ 00031327  0x000087f3 rtn  0x00000034 
+ 00031328  0x000087f4 increase  0xffffffff , 0x0000003f 
+ 00031329  0x000087f5 store  0x00000001 , 0x000005e3 
+ 00031330  0x000087f6 arg  0x000006be , 0x00000006 
+ 00031331  0x000087f7 call  0x000076ec 
+ 00031332  0x000087f8 branch  0x00007a5e , 0x00000001 
+ 00031333  0x000087f9 arg  0x000005e6 , 0x00000006 
+ 00031334  0x000087fa arg  0x00000676 , 0x00000005 
+ 00031335  0x000087fb branch  0x000076f2 
+ 00031336  0x000087fe call  0x00007803 
+ 00031337  0x000087ff fetch  0x00000001 , 0x000005e3 
+ 00031338  0x00008800 increase  0xffffffff , 0x0000003f 
+ 00031339  0x00008801 store  0x00000001 , 0x000005e3 
+ 00031340  0x00008802 arg  0x000006be , 0x00000006 
+ 00031341  0x00008803 call  0x000076ec 
+ 00031342  0x00008804 rtn  0x00000001 
+ 00031343  0x00008805 branch  0x00007854 
+ 00031344  0x00008808 force  0x00000004 , 0x00000039 
+ 00031345  0x0000880a increase  0xfffffffc , 0x00000006 
+ 00031346  0x0000880c ifetch  0x00000004 , 0x00000006 
+ 00031347  0x0000880d istore  0x00000004 , 0x00000005 
+ 00031348  0x0000880e increase  0xfffffff8 , 0x00000006 
+ 00031349  0x0000880f loop  0x00007a72 
+ 00031350  0x00008810 rtn 
+ 00031351  0x00008816 bpatchx  0x000000ef , 0x0000403d 
+ 00031352  0x00008817 fetch  0x00000001 , 0x000044be 
+ 00031353  0x00008818 branch  0x00005af0 , 0x00000034 
+ 00031354  0x00008819 call  0x00005aec 
+ 00031355  0x0000881a call  0x00007583 
+ 00031356  0x0000881c branch  0x00007a7d 
+ 00031357  0x00008822 fetch  0x00000001 , 0x000044c3 
+ 00031358  0x00008823 rtnne  0x00000000 
+ 00031359  0x00008824 fetch  0x00000001 , 0x000044c0 
+ 00031360  0x00008825 rtnne  0x00000000 
+ 00031361  0x00008827 arg  0x000045b2 , 0x00000005 
+ 00031362  0x00008828 force  0x0000000f , 0x00000007 
+ 00031363  0x00008829 call  0x000076a2 
+ 00031364  0x0000882a random  0x0000003f 
+ 00031365  0x0000882b rshift  0x0000003f , 0x0000003f 
+ 00031366  0x0000882c istore  0x00000002 , 0x00000005 
+ 00031367  0x0000882e arg  0x00000766 , 0x00000005 
+ 00031368  0x0000882f arg  0x000045b2 , 0x00000006 
+ 00031369  0x00008830 call  0x00007ebd 
+ 00031370  0x00008832 arg  0x00000646 , 0x00000005 
+ 00031371  0x00008833 arg  0x0000095e , 0x00000006 
+ 00031372  0x00008834 call  0x00007eb3 
+ 00031373  0x00008836 arg  0x00000686 , 0x00000005 
+ 00031374  0x00008837 call  0x00007ed0 
+ 00031375  0x00008838 jam  0x00000001 , 0x00000686 
+ 00031376  0x0000883a call  0x00007ac7 
+ 00031377  0x0000883b jam  0x00000003 , 0x000044c0 
+ 00031378  0x0000883c rtn 
+ 00031379  0x0000883f arg  0x000045d2 , 0x00000005 
+ 00031380  0x00008840 arg  0x000006a6 , 0x00000006 
+ 00031381  0x00008841 call  0x00007eb3 
+ 00031382  0x00008842 jam  0x00000003 , 0x000044c3 
+ 00031383  0x00008843 jam  0x00000000 , 0x000044c0 
+ 00031384  0x00008844 rtn 
+ 00031385  0x00008849 fetch  0x00000001 , 0x000009b9 
+ 00031386  0x0000884a rtnne  0x00000000 
+ 00031387  0x0000884b fetch  0x00000001 , 0x000044c0 
+ 00031388  0x0000884c rtnne  0x00000000 
+ 00031389  0x0000884e arg  0x00000766 , 0x00000005 
+ 00031390  0x0000884f arg  0x000045b2 , 0x00000006 
+ 00031391  0x00008850 call  0x00007ebd 
+ 00031392  0x00008852 arg  0x00000646 , 0x00000005 
+ 00031393  0x00008853 arg  0x000009be , 0x00000006 
+ 00031394  0x00008854 call  0x00007eb3 
+ 00031395  0x00008856 arg  0x00000686 , 0x00000005 
+ 00031396  0x00008857 call  0x00007ed0 
+ 00031397  0x00008858 jam  0x00000001 , 0x00000686 
+ 00031398  0x0000885a call  0x00007ac7 
+ 00031399  0x0000885b jam  0x00000004 , 0x000044c0 
+ 00031400  0x0000885c rtn 
+ 00031401  0x00008861 arg  0x000009fe , 0x00000005 
+ 00031402  0x00008862 arg  0x000006a6 , 0x00000006 
+ 00031403  0x00008863 call  0x00007ebd 
+ 00031404  0x00008864 jam  0x00000003 , 0x000009b9 
+ 00031405  0x00008865 jam  0x00000000 , 0x000044c0 
+ 00031406  0x00008866 rtn 
+ 00031407  0x0000886b fetch  0x00000001 , 0x000044be 
+ 00031408  0x0000886c rtn  0x00000034 
+ 00031409  0x0000886d fetch  0x00000001 , 0x000044c0 
+ 00031410  0x0000886e rtn  0x00000034 
+ 00031411  0x0000886f increase  0x00000080 , 0x0000003f 
+ 00031412  0x00008870 store  0x00000001 , 0x000044c0 
+ 00031413  0x00008871 rtnbit1  0x00000007 
+ 00031414  0x00008872 fetch  0x00000002 , 0x000005e3 
+ 00031415  0x00008873 branch  0x00007ab9 , 0x00000034 
+ 00031416  0x00008874 branch  0x00007abf 
+ 00031417  0x00008877 bpatchx  0x000000f0 , 0x0000403e 
+ 00031418  0x00008878 call  0x00007ad4 
+ 00031419  0x00008879 fetch  0x00000001 , 0x000044c0 
+ 00031420  0x0000887a beq  0x00000003 , 0x00007a93 
+ 00031421  0x0000887b beq  0x00000004 , 0x00007aa9 
+ 00031422  0x0000887c rtn 
+ 00031423  0x00008880 call  0x00007ae6 
+ 00031424  0x00008881 fetch  0x00000002 , 0x000005e3 
+ 00031425  0x00008882 increase  0xffffffff , 0x0000003f 
+ 00031426  0x00008883 store  0x00000002 , 0x000005e3 
+ 00031427  0x00008884 arg  0x00000766 , 0x00000006 
+ 00031428  0x00008885 call  0x000076ec 
+ 00031429  0x00008886 rtn  0x00000001 
+ 00031430  0x00008887 branch  0x00007b37 
+ 00031431  0x0000888a bpatchx  0x000000f1 , 0x0000403e 
+ 00031432  0x0000888b setarg  0x00000100 , 0x0000003f 
+ 00031433  0x0000888c store  0x00000002 , 0x000005e3 
+ 00031434  0x0000888e fetch  0x00000002 , 0x000005e3 
+ 00031435  0x0000888f rtn  0x00000034 
+ 00031436  0x00008890 increase  0xffffffff , 0x0000003f 
+ 00031437  0x00008891 store  0x00000002 , 0x000005e3 
+ 00031438  0x00008892 arg  0x00000766 , 0x00000006 
+ 00031439  0x00008893 call  0x000076ec 
+ 00031440  0x00008894 branch  0x00007aca , 0x00000001 
+ 00031441  0x00008895 arg  0x00000646 , 0x00000006 
+ 00031442  0x00008896 arg  0x00000706 , 0x00000005 
+ 00031443  0x00008897 branch  0x00007eb2 
+ 00031444  0x0000889b arg  0x00000746 , 0x00000011 
+ 00031445  0x0000889c arg  0x00000846 , 0x00000005 
+ 00031446  0x0000889d call  0x00007ba3 
+ 00031447  0x0000889e arg  0x00000846 , 0x00000011 
+ 00031448  0x0000889f arg  0x000007e6 , 0x00000005 
+ 00031449  0x000088a0 call  0x00007c79 
+ 00031450  0x000088a1 arg  0x00000706 , 0x00000011 
+ 00031451  0x000088a2 arg  0x000007e6 , 0x00000012 
+ 00031452  0x000088a3 arg  0x000006a6 , 0x00000005 
+ 00031453  0x000088a4 call  0x00007be1 
+ 00031454  0x000088a5 arg  0x00000846 , 0x00000011 
+ 00031455  0x000088a6 arg  0x000007e6 , 0x00000012 
+ 00031456  0x000088a7 arg  0x00000826 , 0x00000005 
+ 00031457  0x000088a8 call  0x00007be1 
+ 00031458  0x000088a9 arg  0x00000726 , 0x00000011 
+ 00031459  0x000088aa arg  0x00000826 , 0x00000012 
+ 00031460  0x000088ab arg  0x000006c6 , 0x00000005 
+ 00031461  0x000088ac branch  0x00007be1 
+ 00031462  0x000088af arg  0x00000746 , 0x00000011 
+ 00031463  0x000088b0 arg  0x00000826 , 0x00000005 
+ 00031464  0x000088b1 call  0x00007c79 
+ 00031465  0x000088b2 arg  0x00000826 , 0x00000011 
+ 00031466  0x000088b3 arg  0x00000846 , 0x00000005 
+ 00031467  0x000088b4 call  0x00007c79 
+ 00031468  0x000088b6 arg  0x0000093e , 0x00000011 
+ 00031469  0x000088b7 arg  0x00000846 , 0x00000012 
+ 00031470  0x000088b8 arg  0x00000846 , 0x00000005 
+ 00031471  0x000088b9 call  0x00007be1 
+ 00031472  0x000088ba arg  0x00000706 , 0x00000011 
+ 00031473  0x000088bb arg  0x00000826 , 0x00000005 
+ 00031474  0x000088bc call  0x00007c79 
+ 00031475  0x000088be arg  0x00000826 , 0x00000006 
+ 00031476  0x000088bf arg  0x000007e6 , 0x00000005 
+ 00031477  0x000088c0 call  0x00007ebd 
+ 00031478  0x000088c1 arg  0x000007e6 , 0x00000011 
+ 00031479  0x000088c2 call  0x00007c80 
+ 00031480  0x000088c3 arg  0x00000826 , 0x00000011 
+ 00031481  0x000088c4 arg  0x000007e6 , 0x00000012 
+ 00031482  0x000088c5 arg  0x00000826 , 0x00000005 
+ 00031483  0x000088c6 call  0x00007c7d 
+ 00031484  0x000088c8 arg  0x00000826 , 0x00000011 
+ 00031485  0x000088c9 arg  0x00000846 , 0x00000012 
+ 00031486  0x000088ca arg  0x00000826 , 0x00000005 
+ 00031487  0x000088cb call  0x00007c7d 
+ 00031488  0x000088cd arg  0x00000706 , 0x00000006 
+ 00031489  0x000088ce arg  0x000007e6 , 0x00000005 
+ 00031490  0x000088cf call  0x00007ebd 
+ 00031491  0x000088d0 arg  0x00000726 , 0x00000011 
+ 00031492  0x000088d1 arg  0x00000846 , 0x00000005 
+ 00031493  0x000088d2 call  0x00007c79 
+ 00031494  0x000088d3 arg  0x000007e6 , 0x00000011 
+ 00031495  0x000088d4 call  0x00007c80 
+ 00031496  0x000088d5 arg  0x000007e6 , 0x00000011 
+ 00031497  0x000088d6 call  0x00007c80 
+ 00031498  0x000088d7 arg  0x000007e6 , 0x00000011 
+ 00031499  0x000088d8 arg  0x00000846 , 0x00000012 
+ 00031500  0x000088d9 arg  0x000007e6 , 0x00000005 
+ 00031501  0x000088da call  0x00007be1 
+ 00031502  0x000088db arg  0x00000846 , 0x00000011 
+ 00031503  0x000088dc arg  0x00000806 , 0x00000005 
+ 00031504  0x000088dd call  0x00007c79 
+ 00031505  0x000088de arg  0x00000806 , 0x00000011 
+ 00031506  0x000088df call  0x00007c80 
+ 00031507  0x000088e0 arg  0x00000806 , 0x00000011 
+ 00031508  0x000088e1 call  0x00007c80 
+ 00031509  0x000088e2 arg  0x00000806 , 0x00000011 
+ 00031510  0x000088e3 call  0x00007c80 
+ 00031511  0x000088e4 arg  0x00000726 , 0x00000006 
+ 00031512  0x000088e5 arg  0x00000846 , 0x00000005 
+ 00031513  0x000088e6 call  0x00007ebd 
+ 00031514  0x000088e7 arg  0x00000846 , 0x00000011 
+ 00031515  0x000088e8 call  0x00007c80 
+ 00031516  0x000088e9 arg  0x00000846 , 0x00000011 
+ 00031517  0x000088ea arg  0x00000746 , 0x00000012 
+ 00031518  0x000088eb arg  0x00000746 , 0x00000005 
+ 00031519  0x000088ec call  0x00007be1 
+ 00031520  0x000088ef arg  0x00000826 , 0x00000011 
+ 00031521  0x000088f0 arg  0x00000846 , 0x00000005 
+ 00031522  0x000088f1 call  0x00007c79 
+ 00031523  0x000088f3 arg  0x00000846 , 0x00000011 
+ 00031524  0x000088f4 arg  0x000007e6 , 0x00000012 
+ 00031525  0x000088f5 arg  0x00000846 , 0x00000005 
+ 00031526  0x000088f6 call  0x00007c96 
+ 00031527  0x000088f7 arg  0x00000846 , 0x00000011 
+ 00031528  0x000088f8 arg  0x000007e6 , 0x00000012 
+ 00031529  0x000088f9 arg  0x00000706 , 0x00000005 
+ 00031530  0x000088fa call  0x00007c96 
+ 00031531  0x000088fb arg  0x000007e6 , 0x00000011 
+ 00031532  0x000088fc arg  0x00000706 , 0x00000012 
+ 00031533  0x000088fd arg  0x00000846 , 0x00000005 
+ 00031534  0x000088fe call  0x00007c96 
+ 00031535  0x000088ff arg  0x00000846 , 0x00000011 
+ 00031536  0x00008900 arg  0x00000826 , 0x00000012 
+ 00031537  0x00008901 arg  0x00000846 , 0x00000005 
+ 00031538  0x00008902 call  0x00007be1 
+ 00031539  0x00008903 arg  0x00000846 , 0x00000011 
+ 00031540  0x00008904 arg  0x00000806 , 0x00000012 
+ 00031541  0x00008905 arg  0x00000726 , 0x00000005 
+ 00031542  0x00008906 branch  0x00007c96 
+ 00031543  0x0000890a arg  0x00000686 , 0x00000011 
+ 00031544  0x0000890b arg  0x00000866 , 0x00000005 
+ 00031545  0x0000890c call  0x00007c79 
+ 00031546  0x0000890d arg  0x00000706 , 0x00000011 
+ 00031547  0x0000890e arg  0x00000866 , 0x00000012 
+ 00031548  0x0000890f arg  0x00000806 , 0x00000005 
+ 00031549  0x00008910 call  0x00007be1 
+ 00031550  0x00008913 arg  0x00000686 , 0x00000011 
+ 00031551  0x00008914 arg  0x00000866 , 0x00000012 
+ 00031552  0x00008915 arg  0x00000866 , 0x00000005 
+ 00031553  0x00008916 call  0x00007be1 
+ 00031554  0x00008917 arg  0x00000726 , 0x00000011 
+ 00031555  0x00008918 arg  0x00000866 , 0x00000012 
+ 00031556  0x00008919 arg  0x000007e6 , 0x00000005 
+ 00031557  0x0000891a call  0x00007be1 
+ 00031558  0x0000891d arg  0x00000746 , 0x00000011 
+ 00031559  0x0000891e arg  0x00000866 , 0x00000005 
+ 00031560  0x0000891f call  0x00007c79 
+ 00031561  0x00008920 arg  0x00000646 , 0x00000011 
+ 00031562  0x00008921 arg  0x00000866 , 0x00000012 
+ 00031563  0x00008922 arg  0x00000826 , 0x00000005 
+ 00031564  0x00008923 call  0x00007be1 
+ 00031565  0x00008925 arg  0x00000746 , 0x00000011 
+ 00031566  0x00008926 arg  0x00000866 , 0x00000012 
+ 00031567  0x00008927 arg  0x00000866 , 0x00000005 
+ 00031568  0x00008928 call  0x00007be1 
+ 00031569  0x00008929 arg  0x00000666 , 0x00000011 
+ 00031570  0x0000892a arg  0x00000866 , 0x00000012 
+ 00031571  0x0000892b arg  0x00000846 , 0x00000005 
+ 00031572  0x0000892c call  0x00007be1 
+ 00031573  0x00008931 arg  0x00000806 , 0x00000012 
+ 00031574  0x00008932 arg  0x00000826 , 0x00000011 
+ 00031575  0x00008933 arg  0x00000866 , 0x00000005 
+ 00031576  0x00008934 call  0x00007c96 
+ 00031577  0x00008935 arg  0x00000806 , 0x00000011 
+ 00031578  0x00008936 arg  0x00000826 , 0x00000012 
+ 00031579  0x00008937 arg  0x00000806 , 0x00000005 
+ 00031580  0x00008938 call  0x00007c7d 
+ 00031581  0x0000893b arg  0x000007e6 , 0x00000012 
+ 00031582  0x0000893c arg  0x00000846 , 0x00000011 
+ 00031583  0x0000893d arg  0x00000826 , 0x00000005 
+ 00031584  0x0000893e call  0x00007c96 
+ 00031585  0x0000893f arg  0x000007e6 , 0x00000011 
+ 00031586  0x00008940 arg  0x00000846 , 0x00000012 
+ 00031587  0x00008941 arg  0x000007e6 , 0x00000005 
+ 00031588  0x00008942 call  0x00007c7d 
+ 00031589  0x00008943 arg  0x000007e6 , 0x00000011 
+ 00031590  0x00008944 arg  0x00000866 , 0x00000012 
+ 00031591  0x00008945 arg  0x000007e6 , 0x00000005 
+ 00031592  0x00008946 call  0x00007be1 
+ 00031593  0x00008947 arg  0x00000746 , 0x00000011 
+ 00031594  0x00008948 arg  0x00000686 , 0x00000012 
+ 00031595  0x00008949 arg  0x00000846 , 0x00000005 
+ 00031596  0x0000894a call  0x00007be1 
+ 00031597  0x0000894b arg  0x00000846 , 0x00000011 
+ 00031598  0x0000894c arg  0x00000866 , 0x00000012 
+ 00031599  0x0000894d arg  0x00000746 , 0x00000005 
+ 00031600  0x0000894e call  0x00007be1 
+ 00031601  0x00008950 arg  0x00000866 , 0x00000011 
+ 00031602  0x00008951 arg  0x00000866 , 0x00000005 
+ 00031603  0x00008952 call  0x00007c79 
+ 00031604  0x00008953 arg  0x00000866 , 0x00000011 
+ 00031605  0x00008954 arg  0x00000806 , 0x00000012 
+ 00031606  0x00008955 arg  0x00000846 , 0x00000005 
+ 00031607  0x00008956 call  0x00007be1 
+ 00031608  0x00008957 arg  0x00000866 , 0x00000011 
+ 00031609  0x00008958 arg  0x000007e6 , 0x00000012 
+ 00031610  0x00008959 arg  0x000007e6 , 0x00000005 
+ 00031611  0x0000895a call  0x00007be1 
+ 00031612  0x0000895b arg  0x00000826 , 0x00000011 
+ 00031613  0x0000895c arg  0x00000706 , 0x00000005 
+ 00031614  0x0000895d call  0x00007c79 
+ 00031615  0x0000895e arg  0x00000706 , 0x00000011 
+ 00031616  0x0000895f arg  0x00000846 , 0x00000012 
+ 00031617  0x00008960 arg  0x00000706 , 0x00000005 
+ 00031618  0x00008961 call  0x00007c96 
+ 00031619  0x00008962 arg  0x00000706 , 0x00000006 
+ 00031620  0x00008963 arg  0x00000866 , 0x00000005 
+ 00031621  0x00008964 call  0x00007ebd 
+ 00031622  0x00008965 arg  0x00000866 , 0x00000011 
+ 00031623  0x00008966 call  0x00007c80 
+ 00031624  0x00008967 arg  0x00000846 , 0x00000011 
+ 00031625  0x00008968 arg  0x00000866 , 0x00000012 
+ 00031626  0x00008969 arg  0x00000846 , 0x00000005 
+ 00031627  0x0000896a call  0x00007c96 
+ 00031628  0x0000896b arg  0x00000846 , 0x00000011 
+ 00031629  0x0000896c arg  0x00000826 , 0x00000012 
+ 00031630  0x0000896d arg  0x00000826 , 0x00000005 
+ 00031631  0x0000896e call  0x00007be1 
+ 00031632  0x0000896f arg  0x00000826 , 0x00000011 
+ 00031633  0x00008970 arg  0x000007e6 , 0x00000012 
+ 00031634  0x00008971 arg  0x00000726 , 0x00000005 
+ 00031635  0x00008972 call  0x00007c96 
+ 00031636  0x00008973 arg  0x00000726 , 0x00000011 
+ 00031637  0x00008974 arg  0x0000091e , 0x00000012 
+ 00031638  0x00008975 arg  0x00000726 , 0x00000005 
+ 00031639  0x00008976 force  0x00000000 , 0x00000013 
+ 00031640  0x00008977 fetch  0x00000001 , 0x00000726 
+ 00031641  0x00008978 isolate1  0x00000000 , 0x0000003f 
+ 00031642  0x00008979 call  0x00007c7b , 0x00000001 
+ 00031643  0x0000897a copy  0x00000013 , 0x00000030 
+ 00031644  0x0000897b arg  0x00000726 , 0x00000011 
+ 00031645  0x0000897c call  0x00007cab 
+ 00031646  0x0000897d fetch  0x00000001 , 0x00000745 
+ 00031647  0x0000897e isolate1  0x00000000 , 0x00000030 
+ 00031648  0x0000897f setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031649  0x00008980 store  0x00000001 , 0x00000745 
+ 00031650  0x00008981 rtn 
+ 00031651  0x00008984 copy  0x00000005 , 0x0000000b 
+ 00031652  0x00008985 arg  0x00000806 , 0x00000005 
+ 00031653  0x00008986 call  0x00007ed0 
+ 00031654  0x00008987 force  0x00000000 , 0x0000003f 
+ 00031655  0x00008989 store  0x00000004 , 0x00000826 
+ 00031656  0x0000898a jam  0x00000001 , 0x00000806 
+ 00031657  0x0000898b arg  0x00000786 , 0x00000005 
+ 00031658  0x0000898c call  0x00007ed2 
+ 00031659  0x0000898d arg  0x0000091e , 0x00000006 
+ 00031660  0x0000898e arg  0x000007c6 , 0x00000005 
+ 00031661  0x0000898f call  0x00007ebd 
+ 00031662  0x00008990 copy  0x00000011 , 0x00000006 
+ 00031663  0x00008991 arg  0x000007e6 , 0x00000005 
+ 00031664  0x00008992 call  0x00007ebd 
+ 00031665  0x00008999 arg  0x000007e6 , 0x00000006 
+ 00031666  0x0000899a call  0x00007cb5 
+ 00031667  0x0000899b branch  0x00007bda , 0x00000034 
+ 00031668  0x000089a0 arg  0x000007e6 , 0x00000011 
+ 00031669  0x000089a1 arg  0x00000806 , 0x00000012 
+ 00031670  0x000089a2 call  0x00007cb8 
+ 00031671  0x000089a3 arg  0x000007c6 , 0x00000011 
+ 00031672  0x000089a4 arg  0x00000786 , 0x00000012 
+ 00031673  0x000089a5 call  0x00007cb8 
+ 00031674  0x000089a7 arg  0x000007e6 , 0x00000011 
+ 00031675  0x000089a8 arg  0x000007c6 , 0x00000012 
+ 00031676  0x000089a9 call  0x00007cb1 
+ 00031677  0x000089aa branch  0x00007bcc , 0x00000002 
+ 00031678  0x000089ab arg  0x000007c6 , 0x00000011 
+ 00031679  0x000089ac arg  0x000007e6 , 0x00000012 
+ 00031680  0x000089ad copy  0x00000011 , 0x00000005 
+ 00031681  0x000089ae call  0x00007ca9 
+ 00031682  0x000089af arg  0x00000806 , 0x00000011 
+ 00031683  0x000089b0 arg  0x00000786 , 0x00000012 
+ 00031684  0x000089b1 copy  0x00000012 , 0x00000005 
+ 00031685  0x000089b2 call  0x00007c7b 
+ 00031686  0x000089b3 ifetch  0x00000001 , 0x00000011 
+ 00031687  0x000089b4 iadd  0x00000013 , 0x00000013 
+ 00031688  0x000089b5 ifetch  0x00000001 , 0x00000012 
+ 00031689  0x000089b6 iadd  0x00000013 , 0x0000003f 
+ 00031690  0x000089b7 istore  0x00000001 , 0x00000012 
+ 00031691  0x000089b8 branch  0x00007bb1 
+ 00031692  0x000089ba arg  0x000007e6 , 0x00000011 
+ 00031693  0x000089bb arg  0x000007c6 , 0x00000012 
+ 00031694  0x000089bc copy  0x00000011 , 0x00000005 
+ 00031695  0x000089bd call  0x00007ca9 
+ 00031696  0x000089be arg  0x00000786 , 0x00000011 
+ 00031697  0x000089bf arg  0x00000806 , 0x00000012 
+ 00031698  0x000089c0 copy  0x00000012 , 0x00000005 
+ 00031699  0x000089c1 call  0x00007c7b 
+ 00031700  0x000089c2 ifetch  0x00000001 , 0x00000011 
+ 00031701  0x000089c3 iadd  0x00000013 , 0x00000013 
+ 00031702  0x000089c4 ifetch  0x00000001 , 0x00000012 
+ 00031703  0x000089c5 iadd  0x00000013 , 0x0000003f 
+ 00031704  0x000089c6 istore  0x00000001 , 0x00000012 
+ 00031705  0x000089c7 branch  0x00007bb1 
+ 00031706  0x000089ca arg  0x00000786 , 0x00000011 
+ 00031707  0x000089cb copy  0x0000000b , 0x00000005 
+ 00031708  0x000089cc call  0x00007c0a 
+ 00031709  0x000089ce arg  0x0000091e , 0x00000011 
+ 00031710  0x000089cf copy  0x0000000b , 0x00000012 
+ 00031711  0x000089d0 copy  0x0000000b , 0x00000005 
+ 00031712  0x000089d1 branch  0x00007c96 
+ 00031713  0x000089d5 copy  0x00000005 , 0x0000000b 
+ 00031714  0x000089d7 force  0x00000000 , 0x00000038 
+ 00031715  0x000089d9 arg  0x00000786 , 0x00000005 
+ 00031716  0x000089da call  0x00007ed2 
+ 00031717  0x000089db arg  0x00000ad2 , 0x00000005 
+ 00031718  0x000089dc call  0x00007ed2 
+ 00031719  0x000089e0 copy  0x00000011 , 0x00000006 
+ 00031720  0x000089e2 jam  0x00000000 , 0x00000ad2 
+ 00031721  0x000089e3 setarg  0x00000000 
+ 00031722  0x000089e4 call  0x00007c73 
+ 00031723  0x000089e5 copy  0x00000012 , 0x00000006 
+ 00031724  0x000089e6 call  0x00007c77 
+ 00031725  0x000089e9 force  0x00000000 , 0x00000007 
+ 00031726  0x000089ea arg  0x00000786 , 0x00000005 
+ 00031727  0x000089ee arg  0x00000ad2 , 0x00000002 
+ 00031728  0x000089ef copy  0x00000007 , 0x00000012 
+ 00031729  0x000089f0 lshift2  0x00000012 , 0x0000003f 
+ 00031730  0x000089f2 iadd  0x00000002 , 0x00000012 
+ 00031731  0x000089f3 force  0x00000000 , 0x00000002 
+ 00031732  0x000089f4 force  0x00000000 , 0x00000013 
+ 00031733  0x000089fa ifetch  0x00000004 , 0x00000005 
+ 00031734  0x000089fb iforce  0x00000011 
+ 00031735  0x000089fe ifetch  0x00000004 , 0x00000012 
+ 00031736  0x000089ff copy  0x00000013 , 0x00000038 
+ 00031737  0x00008a00 imul32  0x0000002f , 0x0000003f 
+ 00031738  0x00008a01 iadd  0x00000011 , 0x0000003f 
+ 00031739  0x00008a02 iadd  0x00000002 , 0x0000003f 
+ 00031740  0x00008a03 istore  0x00000004 , 0x00000005 
+ 00031741  0x00008a04 rshift32  0x0000003f , 0x00000002 
+ 00031742  0x00008a05 increase  0x00000001 , 0x00000013 
+ 00031743  0x00008a06 compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031744  0x00008a07 nbranch  0x00007bf5 , 0x00000001 
+ 00031745  0x00008a09 deposit  0x00000002 
+ 00031746  0x00008a0a istore  0x00000004 , 0x00000005 
+ 00031747  0x00008a0b increase  0xffffffe0 , 0x00000005 
+ 00031748  0x00008a0e increase  0x00000001 , 0x00000007 
+ 00031749  0x00008a0f compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031750  0x00008a10 nbranch  0x00007bef , 0x00000001 
+ 00031751  0x00008a11 arg  0x00000786 , 0x00000011 
+ 00031752  0x00008a12 copy  0x0000000b , 0x00000005 
+ 00031753  0x00008a13 branch  0x00007c0a 
+ 00031754  0x00008a16 bpatchx  0x000000f2 , 0x0000403e 
+ 00031755  0x00008a17 copy  0x00000005 , 0x0000000b 
+ 00031756  0x00008a18 copy  0x00000011 , 0x00000030 
+ 00031757  0x00008a19 arg  0x000007c6 , 0x00000012 
+ 00031758  0x00008a1a copy  0x00000012 , 0x00000005 
+ 00031759  0x00008a1b call  0x00007ecd 
+ 00031760  0x00008a1c istore  0x00000008 , 0x00000005 
+ 00031761  0x00008a1d add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031762  0x00008a1e call  0x00007eb9 
+ 00031763  0x00008a1f call  0x00007eb5 
+ 00031764  0x00008a20 copy  0x00000012 , 0x00000011 
+ 00031765  0x00008a21 call  0x00007c80 
+ 00031766  0x00008a22 arg  0x000007c6 , 0x00000012 
+ 00031767  0x00008a23 copy  0x00000030 , 0x00000011 
+ 00031768  0x00008a24 copy  0x0000000b , 0x00000005 
+ 00031769  0x00008a25 call  0x00007c7d 
+ 00031770  0x00008a27 arg  0x000007c6 , 0x00000012 
+ 00031771  0x00008a28 copy  0x00000012 , 0x00000005 
+ 00031772  0x00008a29 call  0x00007ecd 
+ 00031773  0x00008a2a istore  0x00000008 , 0x00000005 
+ 00031774  0x00008a2b add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031775  0x00008a2c call  0x00007ebf 
+ 00031776  0x00008a2d call  0x00007ecd 
+ 00031777  0x00008a2e copy  0x00000012 , 0x00000011 
+ 00031778  0x00008a2f call  0x00007c80 
+ 00031779  0x00008a33 arg  0x000007c6 , 0x00000012 
+ 00031780  0x00008a34 copy  0x0000000b , 0x00000011 
+ 00031781  0x00008a35 copy  0x00000011 , 0x00000005 
+ 00031782  0x00008a36 call  0x00007c7d 
+ 00031783  0x00008a3a arg  0x000007c6 , 0x00000012 
+ 00031784  0x00008a3b copy  0x00000012 , 0x00000005 
+ 00031785  0x00008a3c add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031786  0x00008a3d call  0x00007eb5 
+ 00031787  0x00008a3e call  0x00007ecd 
+ 00031788  0x00008a3f istore  0x00000008 , 0x00000005 
+ 00031789  0x00008a40 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031790  0x00008a41 call  0x00007eb9 
+ 00031791  0x00008a42 copy  0x0000000b , 0x00000011 
+ 00031792  0x00008a43 copy  0x00000011 , 0x00000005 
+ 00031793  0x00008a44 call  0x00007c7d 
+ 00031794  0x00008a48 arg  0x000007c6 , 0x00000012 
+ 00031795  0x00008a49 copy  0x00000012 , 0x00000005 
+ 00031796  0x00008a4a add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031797  0x00008a4b call  0x00007eb5 
+ 00031798  0x00008a4c add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031799  0x00008a4d call  0x00007eb5 
+ 00031800  0x00008a4e add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031801  0x00008a4f call  0x00007eb6 
+ 00031802  0x00008a50 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031803  0x00008a51 call  0x00007eb6 
+ 00031804  0x00008a52 copy  0x0000000b , 0x00000011 
+ 00031805  0x00008a53 copy  0x00000011 , 0x00000005 
+ 00031806  0x00008a54 call  0x00007c7d 
+ 00031807  0x00008a57 arg  0x000007c6 , 0x00000012 
+ 00031808  0x00008a58 copy  0x00000012 , 0x00000005 
+ 00031809  0x00008a59 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031810  0x00008a5a call  0x00007eb5 
+ 00031811  0x00008a5b call  0x00007ecd 
+ 00031812  0x00008a5c istore  0x00000008 , 0x00000005 
+ 00031813  0x00008a5d add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031814  0x00008a5e call  0x00007eb6 
+ 00031815  0x00008a5f add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031816  0x00008a60 call  0x00007eb6 
+ 00031817  0x00008a61 copy  0x0000000b , 0x00000011 
+ 00031818  0x00008a62 copy  0x00000011 , 0x00000005 
+ 00031819  0x00008a63 call  0x00007c96 
+ 00031820  0x00008a66 arg  0x000007c6 , 0x00000012 
+ 00031821  0x00008a67 copy  0x00000012 , 0x00000005 
+ 00031822  0x00008a68 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031823  0x00008a69 call  0x00007eb9 
+ 00031824  0x00008a6a call  0x00007eb9 
+ 00031825  0x00008a6b force  0x00000000 , 0x0000003f 
+ 00031826  0x00008a6c istore  0x00000008 , 0x00000005 
+ 00031827  0x00008a6d add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031828  0x00008a6e call  0x00007eb6 
+ 00031829  0x00008a6f add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031830  0x00008a70 call  0x00007eb6 
+ 00031831  0x00008a71 copy  0x0000000b , 0x00000011 
+ 00031832  0x00008a72 copy  0x00000011 , 0x00000005 
+ 00031833  0x00008a73 call  0x00007c96 
+ 00031834  0x00008a76 arg  0x000007c6 , 0x00000012 
+ 00031835  0x00008a77 copy  0x00000012 , 0x00000005 
+ 00031836  0x00008a78 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031837  0x00008a79 call  0x00007eb5 
+ 00031838  0x00008a7a add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031839  0x00008a7b call  0x00007eb5 
+ 00031840  0x00008a7c call  0x00007ecd 
+ 00031841  0x00008a7d add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031842  0x00008a7e call  0x00007eb6 
+ 00031843  0x00008a7f copy  0x0000000b , 0x00000011 
+ 00031844  0x00008a80 copy  0x00000011 , 0x00000005 
+ 00031845  0x00008a81 call  0x00007c96 
+ 00031846  0x00008a84 arg  0x000007c6 , 0x00000012 
+ 00031847  0x00008a85 copy  0x00000012 , 0x00000005 
+ 00031848  0x00008a86 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031849  0x00008a87 call  0x00007eb9 
+ 00031850  0x00008a88 call  0x00007ecd 
+ 00031851  0x00008a89 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031852  0x00008a8a call  0x00007eb5 
+ 00031853  0x00008a8b call  0x00007ecd 
+ 00031854  0x00008a8c add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031855  0x00008a8d call  0x00007eb6 
+ 00031856  0x00008a8e copy  0x0000000b , 0x00000011 
+ 00031857  0x00008a8f copy  0x00000011 , 0x00000005 
+ 00031858  0x00008a90 branch  0x00007c96 
+ 00031859  0x00008a94 force  0x00000020 , 0x00000039 
+ 00031860  0x00008a95 arg  0x00000ad2 , 0x00000005 
+ 00031861  0x00008a96 iadd  0x00000005 , 0x00000005 
+ 00031862  0x00008a97 branch  0x00007f01 
+ 00031863  0x00008a9a force  0x00000008 , 0x00000039 
+ 00031864  0x00008a9b branch  0x00007781 
+ 00031865  0x00008a9e copy  0x00000011 , 0x00000012 
+ 00031866  0x00008a9f branch  0x00007be1 
+ 00031867  0x00008aa2 force  0x00000008 , 0x00000039 
+ 00031868  0x00008aa3 branch  0x00007712 
+ 00031869  0x00008aa6 call  0x00007c7b 
+ 00031870  0x00008aa7 copy  0x00000005 , 0x00000011 
+ 00031871  0x00008aa8 branch  0x00007c81 
+ 00031872  0x00008aab call  0x00007cae 
+ 00031873  0x00008aad isolate1  0x00000000 , 0x00000013 
+ 00031874  0x00008aae branch  0x00007c8a , 0x00000001 
+ 00031875  0x00008aaf arg  0x0000091e , 0x00000012 
+ 00031876  0x00008ab0 copy  0x00000011 , 0x00000013 
+ 00031877  0x00008ab1 increase  0xffffffe0 , 0x00000011 
+ 00031878  0x00008ab2 call  0x00007cb1 
+ 00031879  0x00008ab3 nrtn  0x00000002 
+ 00031880  0x00008ab4 copy  0x00000013 , 0x00000011 
+ 00031881  0x00008ab5 branch  0x00007c92 
+ 00031882  0x00008ab8 call  0x00007c92 
+ 00031883  0x00008aba copy  0x00000011 , 0x00000013 
+ 00031884  0x00008abb increase  0xffffffe0 , 0x00000011 
+ 00031885  0x00008abc arg  0x0000091e , 0x00000012 
+ 00031886  0x00008abd call  0x00007cb1 
+ 00031887  0x00008abe nrtn  0x00000002 
+ 00031888  0x00008abf copy  0x00000013 , 0x00000011 
+ 00031889  0x00008ac0 branch  0x00007c92 
+ 00031890  0x00008ac4 increase  0xffffffe0 , 0x00000011 
+ 00031891  0x00008ac5 arg  0x0000091e , 0x00000012 
+ 00031892  0x00008ac6 copy  0x00000011 , 0x00000005 
+ 00031893  0x00008ac7 branch  0x00007ca9 
+ 00031894  0x00008acd call  0x00007ca9 
+ 00031895  0x00008acf branch  0x00007ca0 , 0x00000001 
+ 00031896  0x00008ad2 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031897  0x00008ad3 arg  0x0000091e , 0x00000012 
+ 00031898  0x00008ad4 call  0x00007cb1 
+ 00031899  0x00008ad5 nrtn  0x00000002 
+ 00031900  0x00008ad6 arg  0x0000091e , 0x00000012 
+ 00031901  0x00008ad7 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031902  0x00008ad9 copy  0x00000011 , 0x00000005 
+ 00031903  0x00008ada branch  0x00007ca9 
+ 00031904  0x00008adc add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031905  0x00008add arg  0x0000091e , 0x00000012 
+ 00031906  0x00008ade copy  0x00000011 , 0x00000005 
+ 00031907  0x00008adf call  0x00007c7b 
+ 00031908  0x00008ae1 rtn  0x00000001 
+ 00031909  0x00008ae2 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031910  0x00008ae3 arg  0x0000091e , 0x00000012 
+ 00031911  0x00008ae4 copy  0x00000011 , 0x00000005 
+ 00031912  0x00008ae5 branch  0x00007c7b 
+ 00031913  0x00008aea force  0x00000008 , 0x00000039 
+ 00031914  0x00008aeb branch  0x00007720 
+ 00031915  0x00008aee force  0x00000008 , 0x00000039 
+ 00031916  0x00008aef increase  0x0000001c , 0x00000011 
+ 00031917  0x00008af0 branch  0x0000772f 
+ 00031918  0x00008af3 force  0x00000008 , 0x00000039 
+ 00031919  0x00008af4 force  0x00000000 , 0x00000013 
+ 00031920  0x00008af5 branch  0x0000773d 
+ 00031921  0x00008af8 force  0x00000008 , 0x00000039 
+ 00031922  0x00008af9 increase  0x0000001c , 0x00000011 
+ 00031923  0x00008afa increase  0x0000001c , 0x00000012 
+ 00031924  0x00008afb branch  0x00007707 
+ 00031925  0x00008aff ifetch  0x00000008 , 0x00000006 
+ 00031926  0x00008b00 nrtn  0x00000034 
+ 00031927  0x00008b01 branch  0x000076f5 
+ 00031928  0x00008b07 copy  0x00000011 , 0x00000030 
+ 00031929  0x00008b09 copy  0x00000030 , 0x00000011 
+ 00031930  0x00008b0a ifetch  0x00000001 , 0x00000011 
+ 00031931  0x00008b0b isolate1  0x00000000 , 0x0000003f 
+ 00031932  0x00008b0c rtn  0x00000001 
+ 00031933  0x00008b0d call  0x00007cab 
+ 00031934  0x00008b0e ifetch  0x00000001 , 0x00000012 
+ 00031935  0x00008b0f isolate0  0x00000000 , 0x0000003f 
+ 00031936  0x00008b10 branch  0x00007cc8 , 0x00000001 
+ 00031937  0x00008b11 arg  0x0000091e , 0x00000011 
+ 00031938  0x00008b12 copy  0x00000012 , 0x00000005 
+ 00031939  0x00008b13 call  0x00007c7b 
+ 00031940  0x00008b14 ifetch  0x00000001 , 0x00000012 
+ 00031941  0x00008b15 iadd  0x00000013 , 0x0000003f 
+ 00031942  0x00008b16 istore  0x00000001 , 0x00000012 
+ 00031943  0x00008b17 increase  0xffffffe0 , 0x00000012 
+ 00031944  0x00008b19 add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031945  0x00008b1a force  0x00000009 , 0x00000039 
+ 00031946  0x00008b1b call  0x0000772f 
+ 00031947  0x00008b1c branch  0x00007cb9 
+ 00031948  0x00008b21 call  0x00002c65 
+ 00031949  0x00008b22 rtn  0x0000002b 
+ 00031950  0x00008b23 call  0x00007cd3 
+ 00031951  0x00008b24 call  0x00007d75 
+ 00031952  0x00008b25 branch  0x00007d08 
+ 00031953  0x00008b28 call  0x00007d29 
+ 00031954  0x00008b2a branch  0x00007d64 
+ 00031955  0x00008b2d fetch  0x00000001 , 0x00004686 
+ 00031956  0x00008b2e rtneq  0x000000ff 
+ 00031957  0x00008b2f iforce  0x00000002 
+ 00031958  0x00008b30 call  0x0000680e 
+ 00031959  0x00008b31 fetcht  0x00000001 , 0x00004686 
+ 00031960  0x00008b32 call  0x00006825 
+ 00031961  0x00008b33 nop  0x00000064 
+ 00031962  0x00008b34 fetcht  0x00000001 , 0x00004686 
+ 00031963  0x00008b35 call  0x000067fb 
+ 00031964  0x00008b36 branch  0x00007cdd 
+ 00031965  0x00008b3b bpatchx  0x000000f3 , 0x0000403e 
+ 00031966  0x00008b3c fetch  0x00000001 , 0x00004686 
+ 00031967  0x00008b3d rtneq  0x000000ff 
+ 00031968  0x00008b3e copy  0x0000003f , 0x00000002 
+ 00031969  0x00008b3f call  0x0000681d 
+ 00031970  0x00008b40 nbranch  0x00007cef , 0x00000001 
+ 00031971  0x00008b43 call  0x00007cf9 
+ 00031972  0x00008b44 fetch  0x00000002 , 0x00004682 
+ 00031973  0x00008b45 set1  0x0000000c 
+ 00031974  0x00008b46 store  0x00000002 , 0x00004682 
+ 00031975  0x00008b47 fetch  0x00000001 , 0x00004679 
+ 00031976  0x00008b48 rtneq  0x00000000 
+ 00031977  0x00008b49 jam  0x00000000 , 0x00004679 
+ 00031978  0x00008b4b fetch  0x00000001 , 0x00004685 
+ 00031979  0x00008b4c store  0x00000001 , 0x00004678 
+ 00031980  0x00008b4d call  0x00007d00 
+ 00031981  0x00008b4e jam  0x0000002c , 0x00000a99 
+ 00031982  0x00008b4f branch  0x00007d86 
+ 00031983  0x00008b51 fetch  0x00000002 , 0x00004682 
+ 00031984  0x00008b52 set0  0x0000000c 
+ 00031985  0x00008b53 store  0x00000002 , 0x00004682 
+ 00031986  0x00008b54 fetch  0x00000001 , 0x00004679 
+ 00031987  0x00008b55 rtneq  0x00000001 
+ 00031988  0x00008b56 jam  0x00000001 , 0x00004679 
+ 00031989  0x00008b58 jam  0x00000000 , 0x00004678 
+ 00031990  0x00008b59 call  0x00007d02 
+ 00031991  0x00008b5a jam  0x0000002d , 0x00000a99 
+ 00031992  0x00008b5b branch  0x00007d86 
+ 00031993  0x00008b5e fetch  0x00000001 , 0x00004678 
+ 00031994  0x00008b5f rtn  0x00000034 
+ 00031995  0x00008b60 increase  0xffffffff , 0x0000003f 
+ 00031996  0x00008b61 store  0x00000001 , 0x00004678 
+ 00031997  0x00008b62 nrtn  0x00000034 
+ 00031998  0x00008b64 jam  0x00000010 , 0x00000a99 
+ 00031999  0x00008b65 branch  0x00007d86 
+ 00032000  0x00008b68 arg  0x00000007 , 0x00000007 
+ 00032001  0x00008b69 branch  0x00002c32 
+ 00032002  0x00008b6c arg  0x00000007 , 0x00000007 
+ 00032003  0x00008b6d branch  0x00002c36 
+ 00032004  0x00008b84 fetch  0x00000002 , 0x0000421b 
+ 00032005  0x00008b85 mul32  0x00000011 , 0x0000000b , 0x00000012 
+ 00032006  0x00008b86 iadd  0x00000012 , 0x00000012 
+ 00032007  0x00008b87 rtn 
+ 00032008  0x00008b8b fetch  0x00000001 , 0x0000421a 
+ 00032009  0x00008b8c rtn  0x00000034 
+ 00032010  0x00008b8d copy  0x0000003f , 0x00000039 
+ 00032011  0x00008b8e fetch  0x00000002 , 0x0000421b 
+ 00032012  0x00008b8f copy  0x0000003f , 0x00000012 
+ 00032013  0x00008b91 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032014  0x00008b92 ifetcht  0x00000001 , 0x00000013 
+ 00032015  0x00008b93 call  0x0000680e 
+ 00032016  0x00008b94 call  0x00007d32 
+ 00032017  0x00008b95 increase  0x0000000b , 0x00000012 
+ 00032018  0x00008b96 loop  0x00007d0d 
+ 00032019  0x00008b97 rtn 
+ 00032020  0x00008b9c call  0x00007d04 
+ 00032021  0x00008b9d setarg  0x00000002 
+ 00032022  0x00008b9e istore  0x00000001 , 0x00000012 
+ 00032023  0x00008b9f call  0x00007d5e 
+ 00032024  0x00008ba0 branch  0x00007d35 
+ 00032025  0x00008ba6 call  0x00007d04 
+ 00032026  0x00008ba7 setarg  0x00000003 
+ 00032027  0x00008ba8 istore  0x00000001 , 0x00000012 
+ 00032028  0x00008ba9 call  0x00007d5e 
+ 00032029  0x00008baa branch  0x00007d32 
+ 00032030  0x00008baf call  0x00007d04 
+ 00032031  0x00008bb0 setarg  0x00000001 
+ 00032032  0x00008bb1 istore  0x00000001 , 0x00000012 
+ 00032033  0x00008bb2 setarg  0x000000ff 
+ 00032034  0x00008bb3 istore  0x00000001 , 0x00000005 
+ 00032035  0x00008bb4 branch  0x00007d32 
+ 00032036  0x00008bba call  0x00007d04 
+ 00032037  0x00008bbb arg  0x0000000b , 0x00000039 
+ 00032038  0x00008bbc copy  0x00000013 , 0x00000006 
+ 00032039  0x00008bbd copy  0x00000012 , 0x00000005 
+ 00032040  0x00008bbe branch  0x00007ef4 
+ 00032041  0x00008bc3 fetch  0x00000001 , 0x0000421a 
+ 00032042  0x00008bc4 rtn  0x00000034 
+ 00032043  0x00008bc5 arg  0x00000000 , 0x00000011 
+ 00032044  0x00008bc7 call  0x00007d38 
+ 00032045  0x00008bc8 increase  0x00000001 , 0x00000011 
+ 00032046  0x00008bc9 fetch  0x00000001 , 0x0000421a 
+ 00032047  0x00008bca isub  0x00000011 , 0x0000003e 
+ 00032048  0x00008bcb rtn  0x00000005 
+ 00032049  0x00008bcc branch  0x00007d2c 
+ 00032050  0x00008bd0 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032051  0x00008bd1 ifetcht  0x00000001 , 0x00000013 
+ 00032052  0x00008bd2 branch  0x00006825 
+ 00032053  0x00008bd6 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032054  0x00008bd7 ifetcht  0x00000001 , 0x00000013 
+ 00032055  0x00008bd8 branch  0x00006829 
+ 00032056  0x00008bdd add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032057  0x00008bde call  0x00007f16 
+ 00032058  0x00008bdf nrtn  0x00000034 
+ 00032059  0x00008be1 call  0x00007d04 
+ 00032060  0x00008be3 ifetch  0x00000001 , 0x00000012 
+ 00032061  0x00008be5 beq  0x00000002 , 0x00007d35 
+ 00032062  0x00008be6 beq  0x00000003 , 0x00007d32 
+ 00032063  0x00008be7 beq  0x00000000 , 0x00007d32 
+ 00032064  0x00008be8 beq  0x00000005 , 0x00007d4c 
+ 00032065  0x00008bea call  0x00007d35 
+ 00032066  0x00008beb add  0x00000012 , 0x00000007 , 0x00000013 
+ 00032067  0x00008bec call  0x00007e7c 
+ 00032068  0x00008bed ifetch  0x00000002 , 0x00000013 
+ 00032069  0x00008bee call  0x00007f9c 
+ 00032070  0x00008bef call  0x00007e8c 
+ 00032071  0x00008bf0 setarg  0x00000005 
+ 00032072  0x00008bf1 istore  0x00000001 , 0x00000012 
+ 00032073  0x00008bf2 add  0x00000012 , 0x00000003 , 0x00000013 
+ 00032074  0x00008bf3 ifetch  0x00000002 , 0x00000013 
+ 00032075  0x00008bf4 branch  0x00007d5c 
+ 00032076  0x00008bf8 call  0x00007d32 
+ 00032077  0x00008bf9 add  0x00000012 , 0x00000009 , 0x00000013 
+ 00032078  0x00008bfa call  0x00007e7c 
+ 00032079  0x00008bfb ifetch  0x00000002 , 0x00000013 
+ 00032080  0x00008bfc call  0x00007f9c 
+ 00032081  0x00008bfd call  0x00007e8c 
+ 00032082  0x00008bff add  0x00000012 , 0x00000001 , 0x00000013 
+ 00032083  0x00008c00 ifetch  0x00000001 , 0x00000013 
+ 00032084  0x00008c01 beq  0x000000ff , 0x00007d58 
+ 00032085  0x00008c02 increase  0xffffffff , 0x0000003f 
+ 00032086  0x00008c03 istore  0x00000001 , 0x00000013 
+ 00032087  0x00008c04 branch  0x00007d19 , 0x00000034 
+ 00032088  0x00008c06 setarg  0x00000004 
+ 00032089  0x00008c07 istore  0x00000001 , 0x00000012 
+ 00032090  0x00008c08 add  0x00000012 , 0x00000005 , 0x00000013 
+ 00032091  0x00008c09 ifetch  0x00000002 , 0x00000013 
+ 00032092  0x00008c0b add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032093  0x00008c0c branch  0x00007f08 
+ 00032094  0x00008c0f setarg  0x00000000 
+ 00032095  0x00008c10 branch  0x00007d5c 
+ 00032096  0x00008c17 setarg  0x00001000 
+ 00032097  0x00008c18 lshift16  0x0000003f , 0x0000003f 
+ 00032098  0x00008c19 iadd  0x00000012 , 0x00000012 
+ 00032099  0x00008c1a rtn 
+ 00032100  0x00008c1d bpatchx  0x000000f4 , 0x0000403e 
+ 00032101  0x00008c1e arg  0x00000000 , 0x00000011 
+ 00032102  0x00008c1f fetcht  0x00000004 , 0x0000467a 
+ 00032103  0x00008c20 copy  0x00000022 , 0x00000012 
+ 00032104  0x00008c21 copy  0x00000012 , 0x0000003f 
+ 00032105  0x00008c22 isub  0x00000002 , 0x0000003e 
+ 00032106  0x00008c23 ncall  0x00007d60 , 0x00000002 
+ 00032107  0x00008c26 copy  0x00000012 , 0x0000003f 
+ 00032108  0x00008c27 increase  0x000000a0 , 0x00000002 
+ 00032109  0x00008c28 increase  0x000000a0 , 0x00000002 
+ 00032110  0x00008c29 isub  0x00000002 , 0x0000003e 
+ 00032111  0x00008c2a nbranch  0x00007d78 , 0x00000002 
+ 00032112  0x00008c2b increase  0x00000001 , 0x00000011 
+ 00032113  0x00008c2c and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00032114  0x00008c2d nbranch  0x00007d6b , 0x00000034 
+ 00032115  0x00008c2e arg  0x00000000 , 0x00000011 
+ 00032116  0x00008c2f call  0x00007d7f 
+ 00032117  0x00008c31 copy  0x00000022 , 0x0000003f 
+ 00032118  0x00008c32 store  0x00000004 , 0x0000467a 
+ 00032119  0x00008c33 rtn 
+ 00032120  0x00008c35 bpatchx  0x000000f5 , 0x0000403e 
+ 00032121  0x00008c36 copy  0x00000011 , 0x0000003f 
+ 00032122  0x00008c37 rtn  0x00000034 
+ 00032123  0x00008c38 increase  0xffffff60 , 0x00000002 
+ 00032124  0x00008c39 increase  0xffffff60 , 0x00000002 
+ 00032125  0x00008c3a set0  0x0000001c , 0x00000002 
+ 00032126  0x00008c3b storet  0x00000004 , 0x0000467a 
+ 00032127  0x00008c3d branch  0x0000335f 
+ 00032128  0x00008c45 jam  0x00000001 , 0x00004666 
+ 00032129  0x00008c47 fetch  0x00000001 , 0x00004667 
+ 00032130  0x00008c48 nbranch  0x00007d81 , 0x00000034 
+ 00032131  0x00008c49 rtn 
+ 00032132  0x00008c4c jam  0x00000000 , 0x00004666 
+ 00032133  0x00008c4d rtn 
+ 00032134  0x00008c52 bpatchx  0x000000f6 , 0x0000403e 
+ 00032135  0x00008c53 call  0x00007d80 
+ 00032136  0x00008c54 copy  0x00000011 , 0x0000003f 
+ 00032137  0x00008c55 store  0x00000004 , 0x00000a91 
+ 00032138  0x00008c56 arg  0x00004668 , 0x00000011 
+ 00032139  0x00008c57 call  0x00007fb8 
+ 00032140  0x00008c58 fetch  0x00000004 , 0x00000a91 
+ 00032141  0x00008c59 copy  0x0000003f , 0x00000011 
+ 00032142  0x00008c5a branch  0x00007d84 
+ 00032143  0x00008c5d bpatchx  0x000000f7 , 0x0000403e 
+ 00032144  0x00008c5e call  0x00007d80 
+ 00032145  0x00008c5f copy  0x00000011 , 0x0000003f 
+ 00032146  0x00008c60 store  0x00000004 , 0x00000a91 
+ 00032147  0x00008c61 arg  0x00004670 , 0x00000011 
+ 00032148  0x00008c62 call  0x00007fb8 
+ 00032149  0x00008c63 fetch  0x00000004 , 0x00000a91 
+ 00032150  0x00008c64 copy  0x0000003f , 0x00000011 
+ 00032151  0x00008c65 branch  0x00007d84 
+ 00032152  0x00008c68 setarg  0x00000000 
+ 00032153  0x00008c69 store  0x00000008 , 0x00004670 
+ 00032154  0x00008c6a store  0x00000008 , 0x00004668 
+ 00032155  0x00008c6b rtn 
+ 00032156  0x00008c6e bpatchx  0x000000f8 , 0x0000403f 
+ 00032157  0x00008c6f fetch  0x00000001 , 0x000041ce 
+ 00032158  0x00008c70 nrtn  0x00000034 
+ 00032159  0x00008c71 arg  0x00004670 , 0x00000011 
+ 00032160  0x00008c72 call  0x00007fd0 
+ 00032161  0x00008c73 rtn  0x00000034 
+ 00032162  0x00008c74 jam  0x00000000 , 0x00000a90 
+ 00032163  0x00008c75 call  0x00007da7 
+ 00032164  0x00008c76 fetch  0x00000001 , 0x00000a90 
+ 00032165  0x00008c77 branch  0x00007d9c , 0x00000034 
+ 00032166  0x00008c78 rtn 
+ 00032167  0x00008c7b call  0x00007d80 
+ 00032168  0x00008c7c arg  0x00004670 , 0x00000011 
+ 00032169  0x00008c7d call  0x00007fc4 
+ 00032170  0x00008c7e copy  0x0000003f , 0x00000002 
+ 00032171  0x00008c7f call  0x00007d84 
+ 00032172  0x00008c80 bpatchx  0x000000f9 , 0x0000403f 
+ 00032173  0x00008c81 copy  0x00000002 , 0x0000003f 
+ 00032174  0x00008c82 rtn  0x00000034 
+ 00032175  0x00008c83 beq  0x00000001 , 0x00007ddd 
+ 00032176  0x00008c84 beq  0x00000002 , 0x00007de2 
+ 00032177  0x00008c85 beq  0x00000003 , 0x00007de8 
+ 00032178  0x00008c86 beq  0x00000007 , 0x00007ded 
+ 00032179  0x00008c87 beq  0x00000008 , 0x00007dee 
+ 00032180  0x00008c88 beq  0x00000009 , 0x00007def 
+ 00032181  0x00008c89 beq  0x0000000b , 0x00007df2 
+ 00032182  0x00008c8a beq  0x0000000c , 0x00007df3 
+ 00032183  0x00008c8b beq  0x0000000d , 0x00007df4 
+ 00032184  0x00008c8c beq  0x0000000e , 0x00007dfa 
+ 00032185  0x00008c8d beq  0x0000000f , 0x00007dff 
+ 00032186  0x00008c8e beq  0x00000010 , 0x00007e05 
+ 00032187  0x00008c8f beq  0x00000013 , 0x00007e0f 
+ 00032188  0x00008c90 beq  0x00000014 , 0x00007e11 
+ 00032189  0x00008c91 beq  0x00000015 , 0x00007e13 
+ 00032190  0x00008c92 beq  0x00000016 , 0x00007e15 
+ 00032191  0x00008c93 beq  0x00000017 , 0x00007e18 
+ 00032192  0x00008c94 beq  0x00000018 , 0x00007e1a 
+ 00032193  0x00008c95 beq  0x00000019 , 0x00007e1d 
+ 00032194  0x00008c96 beq  0x0000001b , 0x00007e25 
+ 00032195  0x00008c97 beq  0x0000001e , 0x00007e2f 
+ 00032196  0x00008c99 store  0x00000001 , 0x00000a99 
+ 00032197  0x00008c9a bpatchx  0x000000fa , 0x0000403f 
+ 00032198  0x00008c9b call  0x000062bc 
+ 00032199  0x00008c9c nbranch  0x00007ddb , 0x00000034 
+ 00032200  0x00008c9e fetch  0x00000001 , 0x00000a99 
+ 00032201  0x00008c9f bmark0  0x00000009 , 0x00007dd6 
+ 00032202  0x00008ca0 beq  0x00000004 , 0x00007dea 
+ 00032203  0x00008ca1 beq  0x00000005 , 0x00004d17 
+ 00032204  0x00008ca2 beq  0x00000006 , 0x00004d26 
+ 00032205  0x00008ca3 beq  0x0000000a , 0x00007df0 
+ 00032206  0x00008ca4 beq  0x00000011 , 0x00007e0a 
+ 00032207  0x00008ca5 beq  0x00000012 , 0x00007e0e 
+ 00032208  0x00008ca6 beq  0x0000001d , 0x00007e26 
+ 00032209  0x00008ca7 beq  0x0000001f , 0x000067cc 
+ 00032210  0x00008ca8 beq  0x00000020 , 0x000067d0 
+ 00032211  0x00008ca9 beq  0x00000021 , 0x00007e31 
+ 00032212  0x00008caa beq  0x00000025 , 0x0000670b 
+ 00032213  0x00008cab rtn 
+ 00032214  0x00008cae store  0x00000001 , 0x00000a99 
+ 00032215  0x00008caf call  0x00002252 
+ 00032216  0x00008cb0 branch  0x00007ddb , 0x00000005 
+ 00032217  0x00008cb1 call  0x0000225a 
+ 00032218  0x00008cb2 nrtn  0x00000005 
+ 00032219  0x00008cb4 jam  0x00000001 , 0x00000a90 
+ 00032220  0x00008cb5 branch  0x00007d8f 
+ 00032221  0x00008cbb fetch  0x00000002 , 0x00004682 
+ 00032222  0x00008cbc set1  0x00000006 
+ 00032223  0x00008cbd store  0x00000002 , 0x00004682 
+ 00032224  0x00008cbe jam  0x00000003 , 0x00004093 
+ 00032225  0x00008cbf rtn 
+ 00032226  0x00008cc4 jam  0x00000000 , 0x00004680 
+ 00032227  0x00008cc5 jam  0x00000000 , 0x00004093 
+ 00032228  0x00008cc6 fetch  0x00000002 , 0x00004682 
+ 00032229  0x00008cc7 set0  0x00000006 
+ 00032230  0x00008cc8 store  0x00000002 , 0x00004682 
+ 00032231  0x00008cc9 rtn 
+ 00032232  0x00008cce jam  0x00000005 , 0x000041ce 
+ 00032233  0x00008ccf rtn 
+ 00032234  0x00008cd4 jam  0x00000007 , 0x0000007c 
+ 00032235  0x00008cd5 jam  0x00000013 , 0x000004ca 
+ 00032236  0x00008cd6 rtn 
+ 00032237  0x00008cdb rtn 
+ 00032238  0x00008ce0 rtn 
+ 00032239  0x00008ce5 rtn 
+ 00032240  0x00008cea jam  0x00000002 , 0x000004d4 
+ 00032241  0x00008ceb branch  0x00004d0a 
+ 00032242  0x00008cf0 rtn 
+ 00032243  0x00008cf5 rtn 
+ 00032244  0x00008cfa jam  0x00000001 , 0x0000436e 
+ 00032245  0x00008cfb jam  0x00000000 , 0x00004484 
+ 00032246  0x00008cfc fetch  0x00000002 , 0x00004682 
+ 00032247  0x00008cfd set1  0x0000000b , 0x0000003f 
+ 00032248  0x00008cfe store  0x00000002 , 0x00004682 
+ 00032249  0x00008cff rtn 
+ 00032250  0x00008d04 fetch  0x00000002 , 0x00004682 
+ 00032251  0x00008d05 set0  0x0000000b , 0x0000003f 
+ 00032252  0x00008d06 store  0x00000002 , 0x00004682 
+ 00032253  0x00008d07 jam  0x00000000 , 0x0000436e 
+ 00032254  0x00008d08 rtn 
+ 00032255  0x00008d0d jam  0x00000001 , 0x0000436e 
+ 00032256  0x00008d0e jam  0x00000001 , 0x00004484 
+ 00032257  0x00008d0f fetch  0x00000002 , 0x00004682 
+ 00032258  0x00008d10 set1  0x0000000b , 0x0000003f 
+ 00032259  0x00008d11 store  0x00000002 , 0x00004682 
+ 00032260  0x00008d12 rtn 
+ 00032261  0x00008d17 fetch  0x00000002 , 0x00004682 
+ 00032262  0x00008d18 set0  0x0000000b , 0x0000003f 
+ 00032263  0x00008d19 store  0x00000002 , 0x00004682 
+ 00032264  0x00008d1a jam  0x00000000 , 0x0000436e 
+ 00032265  0x00008d1b rtn 
+ 00032266  0x00008d20 setarg  0x00000014 
+ 00032267  0x00008d21 store  0x00000002 , 0x0000046d 
+ 00032268  0x00008d22 store  0x00000002 , 0x000044ba 
+ 00032269  0x00008d23 branch  0x00005c92 
+ 00032270  0x00008d28 branch  0x00005abf 
+ 00032271  0x00008d2d arg  0x00000000 , 0x00000011 
+ 00032272  0x00008d2e branch  0x00007d19 
+ 00032273  0x00008d33 arg  0x00000000 , 0x00000011 
+ 00032274  0x00008d34 branch  0x00007d14 
+ 00032275  0x00008d39 arg  0x00000000 , 0x00000011 
+ 00032276  0x00008d3a branch  0x00007d1e 
+ 00032277  0x00008d3f jam  0x00000001 , 0x00004369 
+ 00032278  0x00008d40 jam  0x0000001b , 0x000041ce 
+ 00032279  0x00008d43 rtn 
+ 00032280  0x00008d48 jam  0x00000001 , 0x00004369 
+ 00032281  0x00008d49 rtn 
+ 00032282  0x00008d4e jam  0x00000000 , 0x00004369 
+ 00032283  0x00008d4f jam  0x00000000 , 0x000041ce 
+ 00032284  0x00008d50 rtn 
+ 00032285  0x00008d55 fetch  0x00000002 , 0x000041eb 
+ 00032286  0x00008d56 call  0x00007f9c 
+ 00032287  0x00008d57 fetch  0x00000001 , 0x00004686 
+ 00032288  0x00008d58 beq  0x000000ff , 0x00007e23 
+ 00032289  0x00008d59 copy  0x0000003f , 0x00000002 
+ 00032290  0x00008d5a call  0x000067fb 
+ 00032291  0x00008d5c call  0x00007d98 
+ 00032292  0x00008d5d branch  0x00002b1f 
+ 00032293  0x00008d62 branch  0x00005b02 
+ 00032294  0x00008d67 jam  0x00000034 , 0x0000007c 
+ 00032295  0x00008d68 set1  0x00000003 , 0x00000000 
+ 00032296  0x00008d69 nrtn  0x00000029 
+ 00032297  0x00008d6a jam  0x00000000 , 0x0000455b 
+ 00032298  0x00008d6b jam  0x00000013 , 0x0000007c 
+ 00032299  0x00008d6c fetch  0x00000001 , 0x0000016d 
+ 00032300  0x00008d6d set0  0x00000002 , 0x0000003f 
+ 00032301  0x00008d6e store  0x00000001 , 0x0000016d 
+ 00032302  0x00008d6f rtn 
+ 00032303  0x00008d74 force  0x00000003 , 0x00000007 
+ 00032304  0x00008d75 branch  0x00007f07 
+ 00032305  0x00008d7a call  0x000062f8 
+ 00032306  0x00008d7b jam  0x00000041 , 0x0000007d 
+ 00032307  0x00008d7c branch  0x00005f9d 
+ 00032308  0x00008d80 fetch  0x00000001 , 0x00004682 
+ 00032309  0x00008d81 rtnbit0  0x0000000c 
+ 00032310  0x00008d82 rtnbit0  0x00000007 
+ 00032311  0x00008d83 branch  0x00007e2f 
+ 00032312  0x00008d89 fetch  0x00000002 , 0x00004218 
+ 00032313  0x00008d8a add  0x0000003f , 0x00000002 , 0x00000005 
+ 00032314  0x00008d8b setarg  0x00000000 
+ 00032315  0x00008d8c istore  0x00000003 , 0x00000005 
+ 00032316  0x00008d8d rtn 
+ 00032317  0x00008d92 call  0x00007fe9 
+ 00032318  0x00008d93 call  0x00007e69 
+ 00032319  0x00008d94 rtn  0x00000034 
+ 00032320  0x00008d95 fetch  0x00000002 , 0x00004218 
+ 00032321  0x00008d96 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032322  0x00008d97 ifetcht  0x00000001 , 0x00000012 
+ 00032323  0x00008d98 increase  0x00000001 , 0x00000002 
+ 00032324  0x00008d99 istoret  0x00000001 , 0x00000012 
+ 00032325  0x00008d9b ifetcht  0x00000001 , 0x0000003f 
+ 00032326  0x00008d9c copy  0x00000002 , 0x00000039 
+ 00032327  0x00008d9d add  0x0000003f , 0x00000004 , 0x00000012 
+ 00032328  0x00008d9e ifetch  0x00000001 , 0x00000012 
+ 00032329  0x00008d9f imul32  0x00000002 , 0x0000003f 
+ 00032330  0x00008da0 iadd  0x00000006 , 0x00000005 
+ 00032331  0x00008da1 copy  0x00000011 , 0x00000006 
+ 00032332  0x00008da3 call  0x00007f01 
+ 00032333  0x00008da4 call  0x00007e6d 
+ 00032334  0x00008da5 pincrease  0xffffffff 
+ 00032335  0x00008da6 ifetcht  0x00000001 , 0x00000012 
+ 00032336  0x00008da7 increase  0x00000001 , 0x00000002 
+ 00032337  0x00008da8 iand  0x00000002 , 0x00000002 
+ 00032338  0x00008da9 istoret  0x00000001 , 0x00000012 
+ 00032339  0x00008daa branch  0x00007fe7 
+ 00032340  0x00008db0 call  0x00007fe9 
+ 00032341  0x00008db1 call  0x00007e65 
+ 00032342  0x00008db2 rtn  0x00000034 
+ 00032343  0x00008db3 fetch  0x00000002 , 0x00004218 
+ 00032344  0x00008db4 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032345  0x00008db5 ifetcht  0x00000001 , 0x00000012 
+ 00032346  0x00008db6 increase  0xffffffff , 0x00000002 
+ 00032347  0x00008db7 istoret  0x00000001 , 0x00000012 
+ 00032348  0x00008db8 ifetcht  0x00000001 , 0x0000003f 
+ 00032349  0x00008db9 copy  0x00000002 , 0x00000039 
+ 00032350  0x00008dba add  0x0000003f , 0x00000003 , 0x00000012 
+ 00032351  0x00008dbb ifetch  0x00000001 , 0x00000012 
+ 00032352  0x00008dbc imul32  0x00000002 , 0x0000003f 
+ 00032353  0x00008dbd iadd  0x00000006 , 0x00000006 
+ 00032354  0x00008dbe increase  0x00000001 , 0x00000006 
+ 00032355  0x00008dbf copy  0x00000011 , 0x00000005 
+ 00032356  0x00008dc0 branch  0x00007e4c 
+ 00032357  0x00008dc5 fetch  0x00000002 , 0x00004218 
+ 00032358  0x00008dc6 add  0x0000003f , 0x00000002 , 0x00000006 
+ 00032359  0x00008dc7 ifetch  0x00000001 , 0x00000006 
+ 00032360  0x00008dc8 rtn 
+ 00032361  0x00008dcc call  0x00007e6d 
+ 00032362  0x00008dcd ifetcht  0x00000001 , 0x00000006 
+ 00032363  0x00008dce isub  0x00000002 , 0x0000003f 
+ 00032364  0x00008dcf rtn 
+ 00032365  0x00008dd3 fetch  0x00000002 , 0x00004218 
+ 00032366  0x00008dd4 add  0x0000003f , 0x00000001 , 0x00000006 
+ 00032367  0x00008dd5 ifetch  0x00000001 , 0x00000006 
+ 00032368  0x00008dd6 rtn 
+ 00032369  0x00008ddf sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032370  0x00008de0 rtn  0x00000005 
+ 00032371  0x00008de2 rshift  0x0000003f , 0x0000003f 
+ 00032372  0x00008de3 loop  0x00007e73 
+ 00032373  0x00008de4 rtn 
+ 00032374  0x00008de8 force  0x00000001 , 0x0000003f 
+ 00032375  0x00008de9 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032376  0x00008dea rtn  0x00000005 
+ 00032377  0x00008dec lshift  0x0000003f , 0x0000003f 
+ 00032378  0x00008ded loop  0x00007e79 
+ 00032379  0x00008dee rtn 
+ 00032380  0x00008df0 deposit  0x00000005 
+ 00032381  0x00008df1 store  0x00000002 , 0x00000abb 
+ 00032382  0x00008df2 storet  0x00000008 , 0x00000aa2 
+ 00032383  0x00008df3 deposit  0x0000000b 
+ 00032384  0x00008df4 store  0x00000004 , 0x00000aaa 
+ 00032385  0x00008df5 call  0x00007e85 
+ 00032386  0x00008df6 deposit  0x00000006 
+ 00032387  0x00008df7 store  0x00000002 , 0x00000ab9 
+ 00032388  0x00008df8 rtn 
+ 00032389  0x00008dfb deposit  0x00000011 
+ 00032390  0x00008dfc store  0x00000004 , 0x00000aae 
+ 00032391  0x00008dfd deposit  0x00000012 
+ 00032392  0x00008dfe store  0x00000004 , 0x00000ab2 
+ 00032393  0x00008dff deposit  0x00000013 
+ 00032394  0x00008e00 store  0x00000003 , 0x00000ab6 
+ 00032395  0x00008e01 rtn 
+ 00032396  0x00008e04 fetcht  0x00000008 , 0x00000aa2 
+ 00032397  0x00008e05 fetch  0x00000004 , 0x00000aaa 
+ 00032398  0x00008e06 iforce  0x0000000b 
+ 00032399  0x00008e07 call  0x00007e95 
+ 00032400  0x00008e08 fetch  0x00000002 , 0x00000abb 
+ 00032401  0x00008e09 iforce  0x00000005 
+ 00032402  0x00008e0a fetch  0x00000002 , 0x00000ab9 
+ 00032403  0x00008e0b iforce  0x00000006 
+ 00032404  0x00008e0c rtn 
+ 00032405  0x00008e0f fetch  0x00000004 , 0x00000aae 
+ 00032406  0x00008e10 iforce  0x00000011 
+ 00032407  0x00008e11 fetch  0x00000004 , 0x00000ab2 
+ 00032408  0x00008e12 iforce  0x00000012 
+ 00032409  0x00008e13 fetch  0x00000003 , 0x00000ab6 
+ 00032410  0x00008e14 iforce  0x00000013 
+ 00032411  0x00008e15 rtn 
+ 00032412  0x00008e18 fetch  0x00000002 , 0x00000abb 
+ 00032413  0x00008e19 copy  0x0000003f , 0x00000005 
+ 00032414  0x00008e1a rtn 
+ 00032415  0x00008e1c fetch  0x00000002 , 0x00000ab9 
+ 00032416  0x00008e1d copy  0x0000003f , 0x00000006 
+ 00032417  0x00008e1e rtn 
+ 00032418  0x00008e20 copy  0x00000005 , 0x0000003f 
+ 00032419  0x00008e21 store  0x00000002 , 0x00000abb 
+ 00032420  0x00008e22 rtn 
+ 00032421  0x00008e24 copy  0x00000006 , 0x0000003f 
+ 00032422  0x00008e25 store  0x00000002 , 0x00000ab9 
+ 00032423  0x00008e26 rtn 
+ 00032424  0x00008e2b copy  0x00000005 , 0x0000003f 
+ 00032425  0x00008e2c store  0x00000002 , 0x00000a97 
+ 00032426  0x00008e2d copy  0x00000006 , 0x0000003f 
+ 00032427  0x00008e2e store  0x00000002 , 0x00000a95 
+ 00032428  0x00008e2f rtn 
+ 00032429  0x00008e31 fetch  0x00000002 , 0x00000a97 
+ 00032430  0x00008e32 copy  0x0000003f , 0x00000005 
+ 00032431  0x00008e33 fetch  0x00000002 , 0x00000a95 
+ 00032432  0x00008e34 copy  0x0000003f , 0x00000006 
+ 00032433  0x00008e35 rtn 
+ 00032434  0x00008e38 call  0x00007ebd 
+ 00032435  0x00008e3a call  0x00007ebd 
+ 00032436  0x00008e3b branch  0x00007ebd 
+ 00032437  0x00008e3d call  0x00007eb9 
+ 00032438  0x00008e3f ifetch  0x00000004 , 0x00000006 
+ 00032439  0x00008e40 istore  0x00000004 , 0x00000005 
+ 00032440  0x00008e41 rtn 
+ 00032441  0x00008e43 ifetch  0x00000008 , 0x00000006 
+ 00032442  0x00008e44 istore  0x00000008 , 0x00000005 
+ 00032443  0x00008e45 rtn 
+ 00032444  0x00008e48 call  0x00007ebf 
+ 00032445  0x00008e4a call  0x00007eb9 
+ 00032446  0x00008e4c call  0x00007eb9 
+ 00032447  0x00008e4e call  0x00007eb9 
+ 00032448  0x00008e4f branch  0x00007eb9 
+ 00032449  0x00008e54 arg  0x0000000a , 0x00000039 
+ 00032450  0x00008e56 nop  0x00002ee0 
+ 00032451  0x00008e57 loop  0x00007ec2 
+ 00032452  0x00008e58 rtn 
+ 00032453  0x00008e5b force  0x00000003 , 0x00000039 
+ 00032454  0x00008e5d force  0x00000000 , 0x0000003f 
+ 00032455  0x00008e5f istore  0x00000008 , 0x00000005 
+ 00032456  0x00008e60 loop  0x00007ec7 
+ 00032457  0x00008e61 rtn 
+ 00032458  0x00008e64 force  0x00000000 , 0x0000003f 
+ 00032459  0x00008e65 istore  0x00000008 , 0x00000005 
+ 00032460  0x00008e66 rtn 
+ 00032461  0x00008e68 force  0x00000000 , 0x0000003f 
+ 00032462  0x00008e69 istore  0x00000004 , 0x00000005 
+ 00032463  0x00008e6a rtn 
+ 00032464  0x00008e6d force  0x00000004 , 0x00000039 
+ 00032465  0x00008e6e branch  0x00007ec6 
+ 00032466  0x00008e70 force  0x00000008 , 0x00000039 
+ 00032467  0x00008e71 branch  0x00007ec6 
+ 00032468  0x00008e74 deposit  0x00000039 
+ 00032469  0x00008e75 rtn  0x00000034 
+ 00032470  0x00008e76 setarg  0x00000000 
+ 00032471  0x00008e78 istore  0x00000001 , 0x00000005 
+ 00032472  0x00008e79 loop  0x00007ed7 
+ 00032473  0x00008e7a rtn 
+ 00032474  0x00008e7e arg  0x00000020 , 0x00000039 
+ 00032475  0x00008e7f arg  0x00000ac2 , 0x00000005 
+ 00032476  0x00008e80 branch  0x00007ed4 
+ 00032477  0x00008e83 ifetch  0x00000004 , 0x00000013 
+ 00032478  0x00008e84 ifetcht  0x00000004 , 0x00000011 
+ 00032479  0x00008e85 ixor  0x00000002 , 0x0000003f 
+ 00032480  0x00008e86 istore  0x00000004 , 0x00000005 
+ 00032481  0x00008e87 increase  0x00000004 , 0x00000011 
+ 00032482  0x00008e88 increase  0x00000004 , 0x00000013 
+ 00032483  0x00008e89 loop  0x00007edd 
+ 00032484  0x00008e8a rtn 
+ 00032485  0x00008e8f bpatchx  0x000000fb , 0x0000403f 
+ 00032486  0x00008e90 copy  0x00000039 , 0x0000003f 
+ 00032487  0x00008e91 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00032488  0x00008e92 rtn  0x00000002 
+ 00032489  0x00008e93 iadd  0x00000011 , 0x00000012 
+ 00032490  0x00008e94 increase  0xffffffff , 0x00000012 
+ 00032491  0x00008e95 rshift  0x00000039 , 0x00000039 
+ 00032492  0x00008e97 ifetcht  0x00000001 , 0x00000011 
+ 00032493  0x00008e98 ifetch  0x00000001 , 0x00000012 
+ 00032494  0x00008e99 istore  0x00000001 , 0x00000011 
+ 00032495  0x00008e9a istoret  0x00000001 , 0x00000012 
+ 00032496  0x00008e9b increase  0xffffffff , 0x00000012 
+ 00032497  0x00008e9c increase  0x00000001 , 0x00000011 
+ 00032498  0x00008e9d loop  0x00007eec 
+ 00032499  0x00008e9e rtn 
+ 00032500  0x00008ea2 deposit  0x00000039 
+ 00032501  0x00008ea3 rtn  0x00000034 
+ 00032502  0x00008ea5 increase  0xfffffff8 , 0x00000039 
+ 00032503  0x00008ea6 call  0x00007eb9 , 0x00000002 
+ 00032504  0x00008ea7 rtn  0x00000005 
+ 00032505  0x00008ea8 branch  0x00007ef6 , 0x00000002 
+ 00032506  0x00008ea9 increase  0x00000008 , 0x00000039 
+ 00032507  0x00008eab increase  0xfffffffc , 0x00000039 
+ 00032508  0x00008eac call  0x00007eb6 , 0x00000002 
+ 00032509  0x00008ead rtn  0x00000005 
+ 00032510  0x00008eae branch  0x00007efb , 0x00000002 
+ 00032511  0x00008eaf increase  0x00000004 , 0x00000039 
+ 00032512  0x00008eb0 branch  0x00007f01 
+ 00032513  0x00008eb3 deposit  0x00000039 
+ 00032514  0x00008eb4 rtn  0x00000034 
+ 00032515  0x00008eb6 ifetch  0x00000001 , 0x00000006 
+ 00032516  0x00008eb7 istore  0x00000001 , 0x00000005 
+ 00032517  0x00008eb8 loop  0x00007f03 
+ 00032518  0x00008eb9 rtn 
+ 00032519  0x00008ebc setarg  0x00000000 
+ 00032520  0x00008ebe rshift  0x00000022 , 0x00000002 
+ 00032521  0x00008ebf storet  0x00000004 , 0x00004094 
+ 00032522  0x00008ec0 arg  0x0000419d , 0x00000005 
+ 00032523  0x00008ec1 iforce  0x00000002 
+ 00032524  0x00008ec2 lshift  0x00000007 , 0x0000003f 
+ 00032525  0x00008ec3 iadd  0x00000005 , 0x00000005 
+ 00032526  0x00008ec4 istoret  0x00000002 , 0x00000005 
+ 00032527  0x00008ec5 bpatchx  0x000000fc , 0x0000403f 
+ 00032528  0x00008ec6 rtn 
+ 00032529  0x00008ec9 arg  0x00000800 , 0x0000000b 
+ 00032530  0x00008eca lshift16  0x0000000b , 0x0000000b 
+ 00032531  0x00008ecb iadd  0x0000000b , 0x0000003f 
+ 00032532  0x00008ecc rtn 
+ 00032533  0x00008ed0 arg  0x00000000 , 0x00000007 
+ 00032534  0x00008ed2 bpatchx  0x000000fd , 0x0000403f 
+ 00032535  0x00008ed3 fetcht  0x00000004 , 0x00004094 
+ 00032536  0x00008ed4 rshift  0x00000022 , 0x0000003f 
+ 00032537  0x00008ed5 store  0x00000004 , 0x00004094 
+ 00032538  0x00008ed6 isub  0x00000002 , 0x0000003e 
+ 00032539  0x00008ed7 ncall  0x00007f11 , 0x00000002 
+ 00032540  0x00008ed8 isub  0x00000002 , 0x0000000b 
+ 00032541  0x00008ed9 copy  0x0000000b , 0x00000002 
+ 00032542  0x00008eda arg  0x0000419d , 0x00000006 
+ 00032543  0x00008edb copy  0x00000006 , 0x00000005 
+ 00032544  0x00008edc arg  0x00000010 , 0x00000039 
+ 00032545  0x00008ede ifetch  0x00000002 , 0x00000006 
+ 00032546  0x00008edf isub  0x00000002 , 0x0000003f 
+ 00032547  0x00008ee0 branch  0x00007f25 , 0x00000002 
+ 00032548  0x00008ee1 force  0x00000000 , 0x0000003f 
+ 00032549  0x00008ee3 istore  0x00000002 , 0x00000005 
+ 00032550  0x00008ee4 loop  0x00007f21 
+ 00032551  0x00008ee5 arg  0x0000419d , 0x00000006 
+ 00032552  0x00008ee6 lshift  0x00000007 , 0x0000003f 
+ 00032553  0x00008ee7 iadd  0x00000006 , 0x00000006 
+ 00032554  0x00008ee8 ifetch  0x00000002 , 0x00000006 
+ 00032555  0x00008ee9 rtn 
+ 00032556  0x00008eef iadd  0x00000002 , 0x00000002 
+ 00032557  0x00008ef0 copy  0x00000002 , 0x00000039 
+ 00032558  0x00008ef1 setarg  0x00000ea6 
+ 00032559  0x00008ef2 isub  0x00000039 , 0x0000003f 
+ 00032560  0x00008ef3 rtn  0x00000002 
+ 00032561  0x00008ef4 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032562  0x00008ef5 rshift16  0x00000002 , 0x00000002 
+ 00032563  0x00008ef6 increase  0x00000001 , 0x00000002 
+ 00032564  0x00008ef7 lshift16  0x00000002 , 0x00000002 
+ 00032565  0x00008ef8 ior  0x00000002 , 0x00000002 
+ 00032566  0x00008ef9 rtn 
+ 00032567  0x00008efc call  0x00007f39 
+ 00032568  0x00008efd branch  0x00007f43 
+ 00032569  0x00008f01 disable  0x00000028 
+ 00032570  0x00008f02 isub  0x00000002 , 0x0000003f 
+ 00032571  0x00008f03 branch  0x00007f3e , 0x00000002 
+ 00032572  0x00008f04 enable  0x00000028 
+ 00032573  0x00008f05 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032574  0x00008f07 rtnbit0  0x0000000f 
+ 00032575  0x00008f08 arg  0xffff0ea6 , 0x00000002 
+ 00032576  0x00008f09 iadd  0x00000002 , 0x0000003f 
+ 00032577  0x00008f0a set0  0x00000040 , 0x0000003f 
+ 00032578  0x00008f0b rtn 
+ 00032579  0x00008f0e iforce  0x00000006 
+ 00032580  0x00008f0f rshift16  0x0000003f , 0x0000003f 
+ 00032581  0x00008f10 arg  0x00000ea6 , 0x00000002 
+ 00032582  0x00008f11 imul32  0x00000002 , 0x0000003f 
+ 00032583  0x00008f12 iadd  0x00000006 , 0x0000003f 
+ 00032584  0x00008f13 rtn 
+ 00032585  0x00008f17 lshift8  0x0000003f , 0x0000003f 
+ 00032586  0x00008f18 lshift4  0x0000003f , 0x0000003f 
+ 00032587  0x00008f19 fetcht  0x00000003 , 0x0000416f 
+ 00032588  0x00008f1a idiv  0x00000002 
+ 00032589  0x00008f1b call  0x00007f86 
+ 00032590  0x00008f1c quotient  0x00000002 
+ 00032591  0x00008f1d rtn 
+ 00032592  0x00008f21 arg  0x00000ea6 , 0x00000002 
+ 00032593  0x00008f22 idiv  0x00000002 
+ 00032594  0x00008f23 call  0x00007f86 
+ 00032595  0x00008f24 quotient  0x0000003f 
+ 00032596  0x00008f25 lshift16  0x0000003f , 0x0000003f 
+ 00032597  0x00008f26 remainder  0x00000002 
+ 00032598  0x00008f27 ior  0x00000002 , 0x00000002 
+ 00032599  0x00008f28 rtn 
+ 00032600  0x00008f30 arg  0x00000000 , 0x00000002 
+ 00032601  0x00008f32 copy  0x00000002 , 0x00000013 
+ 00032602  0x00008f33 ifetch  0x00000001 , 0x00000003 
+ 00032603  0x00008f34 call  0x00007f64 
+ 00032604  0x00008f35 copy  0x00000013 , 0x00000002 
+ 00032605  0x00008f36 call  0x00007f95 
+ 00032606  0x00008f37 arg  0x0000000a , 0x00000012 
+ 00032607  0x00008f38 imul32  0x00000012 , 0x0000003f 
+ 00032608  0x00008f39 iadd  0x00000002 , 0x0000003f 
+ 00032609  0x00008f3a copy  0x0000003f , 0x00000002 
+ 00032610  0x00008f3b loop  0x00007f59 
+ 00032611  0x00008f3c rtn 
+ 00032612  0x00008f41 arg  0x0000003a , 0x00000002 
+ 00032613  0x00008f42 isub  0x00000002 , 0x0000003e 
+ 00032614  0x00008f43 nbranch  0x00007f6d , 0x00000002 
+ 00032615  0x00008f44 arg  0x00000061 , 0x00000002 
+ 00032616  0x00008f45 isub  0x00000002 , 0x0000003e 
+ 00032617  0x00008f46 branch  0x00007f70 , 0x00000002 
+ 00032618  0x00008f47 arg  0x00000037 , 0x00000002 
+ 00032619  0x00008f48 isub  0x00000002 , 0x0000003f 
+ 00032620  0x00008f49 rtn 
+ 00032621  0x00008f4b arg  0x00000030 , 0x00000002 
+ 00032622  0x00008f4c isub  0x00000002 , 0x0000003f 
+ 00032623  0x00008f4d rtn 
+ 00032624  0x00008f4f arg  0x00000057 , 0x00000002 
+ 00032625  0x00008f50 isub  0x00000002 , 0x0000003f 
+ 00032626  0x00008f51 rtn 
+ 00032627  0x00008f54 copy  0x00000002 , 0x00000030 
+ 00032628  0x00008f55 setarg  0x000001ff 
+ 00032629  0x00008f56 force  0x00000000 , 0x00000012 
+ 00032630  0x00008f58 rshift3  0x0000003f , 0x00000011 
+ 00032631  0x00008f59 rshift  0x00000011 , 0x00000011 
+ 00032632  0x00008f5a ixor  0x00000011 , 0x00000011 
+ 00032633  0x00008f5b isolate1  0x00000000 , 0x00000011 
+ 00032634  0x00008f5c setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032635  0x00008f5d rshift  0x00000002 , 0x00000002 
+ 00032636  0x00008f5e isolate1  0x00000000 , 0x0000003f 
+ 00032637  0x00008f5f setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032638  0x00008f60 rshift  0x0000003f , 0x0000003f 
+ 00032639  0x00008f61 increase  0x00000001 , 0x00000012 
+ 00032640  0x00008f62 compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032641  0x00008f63 nbranch  0x00007f76 , 0x00000001 
+ 00032642  0x00008f64 istoret  0x00000001 , 0x00000005 
+ 00032643  0x00008f65 loop  0x00007f76 
+ 00032644  0x00008f66 copy  0x00000030 , 0x00000002 
+ 00032645  0x00008f67 rtn 
+ 00032646  0x00008f6b rtn  0x00000035 
+ 00032647  0x00008f6c branch  0x00007f86 
+ 00032648  0x00008f78 ifetch  0x00000001 , 0x00000011 
+ 00032649  0x00008f79 ifetcht  0x00000001 , 0x00000012 
+ 00032650  0x00008f7a isub  0x00000002 , 0x0000003e 
+ 00032651  0x00008f7b nrtn  0x00000005 
+ 00032652  0x00008f7c increase  0x00000001 , 0x00000011 
+ 00032653  0x00008f7d increase  0x00000001 , 0x00000012 
+ 00032654  0x00008f7e loop  0x00007f88 
+ 00032655  0x00008f7f force  0x00000000 , 0x0000003e 
+ 00032656  0x00008f80 rtn 
+ 00032657  0x00008f84 isub  0x00000002 , 0x0000003e 
+ 00032658  0x00008f85 nrtn  0x00000002 
+ 00032659  0x00008f86 deposit  0x00000002 
+ 00032660  0x00008f87 rtn 
+ 00032661  0x00008f8a iadd  0x00000002 , 0x0000003f 
+ 00032662  0x00008f8b isub  0x00000002 , 0x00000002 
+ 00032663  0x00008f8c isub  0x00000002 , 0x0000003f 
+ 00032664  0x00008f8d rtn 
+ 00032665  0x00008f90 arg  0x00000200 , 0x00000039 
+ 00032666  0x00008f91 arg  0x00004000 , 0x00000005 
+ 00032667  0x00008f92 branch  0x00007ec6 
+ 00032668  0x00008f96 rtn  0x00000034 
+ 00032669  0x00008f97 copy  0x0000003f , 0x0000003d 
+ 00032670  0x00008f9b hfetch  0x00000002 , 0x0000810e 
+ 00032671  0x00008f9c nbranch  0x00007f9e , 0x00000034 
+ 00032672  0x00008f9d rtn 
+ 00032673  0x00008fa0 jam  0x00000001 , 0x00008203 
+ 00032674  0x00008fa1 rtn 
+ 00032675  0x00008fa4 hstore  0x00000002 , 0x00008205 
+ 00032676  0x00008fa5 hfetch  0x00000001 , 0x00008203 
+ 00032677  0x00008fa6 set1  0x00000004 , 0x0000003f 
+ 00032678  0x00008fa7 hstore  0x00000001 , 0x00008203 
+ 00032679  0x00008fa8 rtn 
+ 00032680  0x00008faa hstore  0x00000002 , 0x00008207 
+ 00032681  0x00008fab hfetch  0x00000001 , 0x00008203 
+ 00032682  0x00008fac set1  0x00000006 , 0x0000003f 
+ 00032683  0x00008fad hstore  0x00000001 , 0x00008203 
+ 00032684  0x00008fae rtn 
+ 00032685  0x00008fb1 hstore  0x00000002 , 0x00008205 
+ 00032686  0x00008fb2 jam  0x00000030 , 0x00008203 
+ 00032687  0x00008fb3 rtn 
+ 00032688  0x00008fb8 hfetch  0x00000001 , 0x00008043 
+ 00032689  0x00008fb9 set0  0x00000004 , 0x0000003f 
+ 00032690  0x00008fba hstore  0x00000001 , 0x00008043 
+ 00032691  0x00008fbb rtn 
+ 00032692  0x00008fbe hfetch  0x00000002 , 0x0000810e 
+ 00032693  0x00008fbf arg  0x00000200 , 0x00000002 
+ 00032694  0x00008fc1 isub  0x00000002 , 0x0000003e 
+ 00032695  0x00008fc2 rtn 
+ 00032696  0x00008fc9 bpatchx  0x000000fe , 0x0000403f 
+ 00032697  0x00008fca ifetcht  0x00000008 , 0x00000011 
+ 00032698  0x00008fcb and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032699  0x00008fcc nbranch  0x00007fbe , 0x00000034 
+ 00032700  0x00008fcd rshift8  0x00000002 , 0x0000003f 
+ 00032701  0x00008fce istore  0x00000008 , 0x00000011 
+ 00032702  0x00008fd0 increase  0x00000007 , 0x00000011 
+ 00032703  0x00008fd1 ifetch  0x00000001 , 0x00000011 
+ 00032704  0x00008fd2 nbranch  0x00002a8c , 0x00000034 
+ 00032705  0x00008fd3 fetch  0x00000001 , 0x00000a99 
+ 00032706  0x00008fd4 istore  0x00000001 , 0x00000011 
+ 00032707  0x00008fd5 rtn 
+ 00032708  0x00008fdb bpatchx  0x000000ff , 0x0000403f 
+ 00032709  0x00008fdc arg  0x00000008 , 0x00000039 
+ 00032710  0x00008fdd ifetch  0x00000008 , 0x00000011 
+ 00032711  0x00008fde rtn  0x00000034 
+ 00032712  0x00008fe0 ifetch  0x00000001 , 0x00000011 
+ 00032713  0x00008fe1 nbranch  0x00007fcd , 0x00000034 
+ 00032714  0x00008fe2 increase  0x00000001 , 0x00000011 
+ 00032715  0x00008fe3 loop  0x00007fc8 
+ 00032716  0x00008fe4 branch  0x00002a8c 
+ 00032717  0x00008fe6 arg  0x00000000 , 0x00000002 
+ 00032718  0x00008fe7 istoret  0x00000001 , 0x00000011 
+ 00032719  0x00008fe8 rtn 
+ 00032720  0x00008fee ifetch  0x00000008 , 0x00000011 
+ 00032721  0x00008fef rtn 
+ 00032722  0x00008ff5 ifetch  0x00000001 , 0x00000011 
+ 00032723  0x00008ff6 rtn 
+ 00032724  0x00008ffa ifetch  0x00000002 , 0x00000011 
+ 00032725  0x00008ffb rtn 
+ 00032726  0x00009000 arg  0x00000000 , 0x00000002 
+ 00032727  0x00009002 fetch  0x00000001 , 0x00000006 
+ 00032728  0x00009003 loop  0x00007fd7 , 0x00000034 
+ 00032729  0x00009004 increase  0x00000001 , 0x00000002 
+ 00032730  0x00009005 loop  0x00007fd7 
+ 00032731  0x00009006 copy  0x00000002 , 0x0000003f 
+ 00032732  0x00009007 rtn 
+ 00032733  0x0000900a isub  0x00000002 , 0x0000003e 
+ 00032734  0x0000900b nrtn  0x00000002 
+ 00032735  0x0000900c copy  0x00000002 , 0x0000003f 
+ 00032736  0x0000900d rtn 
+ 00032737  0x00009011 force  0xffffffff , 0x0000003e 
+ 00032738  0x00009012 rtn 
+ 00032739  0x00009015 force  0x00000001 , 0x0000003e 
+ 00032740  0x00009016 rtn 
+ 00032741  0x00009018 force  0x00000000 , 0x0000003e 
+ 00032742  0x00009019 rtn 
+ 00032743  0x0000901c enable  0x00000028 
+ 00032744  0x0000901d rtn 
+ 00032745  0x00009020 disable  0x00000028 
+ 00032746  0x00009021 rtn 
+ 00032747  0x00009024 enable  0x0000002c 
+ 00032748  0x00009025 rtn 
+ 00032749  0x00009028 disable  0x0000002c 
+ 00032750  0x00009029 rtn 
+ 00032751  0x0000902c setarg  0x00000001 
+ 00032752  0x0000902d rtn 
+ 00032753  0x00009030 setarg  0x00000000 
+ 00032754  0x00009031 rtn 
+ 00032755  0x00009035 copy  0x00000039 , 0x0000003f 
+ 00032756  0x00009036 rtn  0x00000034 
+ 00032757  0x00009037 copy  0x00000006 , 0x0000003f 
+ 00032758  0x00009038 iadd  0x00000039 , 0x0000003f 
+ 00032759  0x00009039 increase  0xffffffff , 0x0000003f 
+ 00032760  0x0000903a copy  0x0000003f , 0x00000006 
+ 00032761  0x0000903c ifetch  0x00000001 , 0x00000006 
+ 00032762  0x0000903d increase  0xfffffffe , 0x00000006 
+ 00032763  0x0000903e istore  0x00000001 , 0x00000005 
+ 00032764  0x0000903f loop  0x00007ff9 
+ 00032765  0x00009040 rtn 
+ 00065537  0x00009046 beq  0x00000000 , 0x00010003 
+ 00065538  0x00009047 rtn 
+ 00065539  0x0000904a fetch  0x00000001 , 0x0000000e 
+ 00065540  0x0000904b increase  0x00000001 , 0x0000003f 
+ 00065541  0x0000904c store  0x00000001 , 0x0000000e 
+ 00065542  0x0000904d call  0x00002435 
+ 00065543  0x0000904f set1  0x0000002c , 0x00000000 
+ 00065544  0x00009050 call  0x000022f2 
+ 00065545  0x00009051 branch  0x0001000e , 0x00000018 
+ 00065546  0x00009052 set0  0x0000002c , 0x00000000 
+ 00065547  0x00009053 call  0x00002455 
+ 00065548  0x00009054 nbranch  0x00010007 , 0x00000034 
+ 00065549  0x00009055 branch  0x000020fc 
+ 00065550  0x00009057 set0  0x0000002c , 0x00000000 
+ 00065551  0x00009058 branch  0x0000215f 
+ 00131073  0x00009060 beq  0x00000010 , 0x00020004 
+ 00131074  0x00009061 beq  0x00000011 , 0x00020015 
+ 00131075  0x00009062 rtn 
+ 00131076  0x00009065 jam  0x00000000 , 0x00004808 
+ 00131077  0x00009066 jam  0x0000000e , 0x000041e3 
+ 00131078  0x00009067 call  0x000041e7 
+ 00131079  0x00009068 fetch  0x00000002 , 0x00004208 
+ 00131080  0x00009069 bbit1  0x00000007 , 0x000041f5 
+ 00131081  0x0000906a bbit1  0x00000000 , 0x000033a9 
+ 00131082  0x0000906b bbit1  0x00000001 , 0x0002000e 
+ 00131083  0x0000906c bbit1  0x00000002 , 0x00020011 
+ 00131084  0x0000906d bbit1  0x00000003 , 0x00020011 
+ 00131085  0x0000906e branch  0x000042b0 
+ 00131086  0x00009071 bbit1  0x00000005 , 0x00020011 
+ 00131087  0x00009072 bbit1  0x00000003 , 0x00020011 
+ 00131088  0x00009073 branch  0x000042b0 
+ 00131089  0x00009075 fetch  0x00000002 , 0x00004682 
+ 00131090  0x00009076 bbit1  0x0000000c , 0x000042b0 
+ 00131091  0x00009077 call  0x000033a9 
+ 00131092  0x0000907a branch  0x000033a7 
+ 00131093  0x0000907e fetch  0x00000002 , 0x00000264 
+ 00131094  0x0000907f copy  0x0000003f , 0x00000006 
+ 00131095  0x00009080 ifetch  0x00000001 , 0x00000006 
+ 00131096  0x00009081 store  0x00000001 , 0x00004b02 
+ 00131097  0x00009082 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00131098  0x00009083 rshift4  0x0000003f , 0x0000003f 
+ 00131099  0x00009084 beq  0x00000007 , 0x0002001e 
+ 00131100  0x00009085 beq  0x00000001 , 0x00020025 
+ 00131101  0x00009086 branch  0x00004d39 
+ 00131102  0x00009088 call  0x00004d53 
+ 00131103  0x00009089 jam  0x00000000 , 0x00004b03 
+ 00131104  0x0000908a fetch  0x00000001 , 0x00004b02 
+ 00131105  0x0000908b isolate1  0x00000000 , 0x0000003f 
+ 00131106  0x0000908c rtn  0x00000001 
+ 00131107  0x0000908d jam  0x00000001 , 0x00004b03 
+ 00131108  0x0000908e rtn 
+ 00131109  0x00009091 copy  0x00000002 , 0x0000003f 
+ 00131110  0x00009092 beq  0x00000005 , 0x00000491 
+ 00131111  0x00009093 branch  0x00004d41 
+ 00196609  0x00009098 beq  0x00000020 , 0x00030003 
+ 00196610  0x00009099 rtn 
+ 00196611  0x0000909c disable  0x00000028 
+ 00196612  0x0000909d call  0x000062c1 
+ 00196613  0x000090a0 fetch  0x00000001 , 0x00000048 
+ 00196614  0x000090a1 rtn  0x00000034 
+ 00196615  0x000090a2 bbit1  0x00000007 , 0x0003000d 
+ 00196616  0x000090a3 beq  0x00000003 , 0x00030024 
+ 00196617  0x000090a4 beq  0x00000031 , 0x00030019 
+ 00196618  0x000090a5 beq  0x00000017 , 0x0003001b 
+ 00196619  0x000090a6 beq  0x00000007 , 0x0003001d 
+ 00196620  0x000090a7 branch  0x00006010 
+ 00196621  0x000090a9 beq  0x00000084 , 0x00030010 
+ 00196622  0x000090aa beq  0x00000083 , 0x00030013 
+ 00196623  0x000090ab branch  0x0000603f 
+ 00196624  0x000090ad call  0x00030016 
+ 00196625  0x000090ae fetch  0x00000001 , 0x00000048 
+ 00196626  0x000090af branch  0x00006099 
+ 00196627  0x000090b1 call  0x00030016 
+ 00196628  0x000090b2 fetch  0x00000001 , 0x00000048 
+ 00196629  0x000090b3 branch  0x0000610d 
+ 00196630  0x000090b5 fetch  0x00000001 , 0x0000465a 
+ 00196631  0x000090b6 branch  0x0000612b , 0x00000034 
+ 00196632  0x000090b7 branch  0x00006124 
+ 00196633  0x000090ba jam  0x00000001 , 0x00004b01 
+ 00196634  0x000090bb branch  0x000061c3 
+ 00196635  0x000090be jam  0x00000004 , 0x00004b09 
+ 00196636  0x000090bf branch  0x000061a4 
+ 00196637  0x000090cc call  0x00006152 
+ 00196638  0x000090cd fetch  0x00000001 , 0x00004b55 
+ 00196639  0x000090ce rtn  0x00000034 
+ 00196640  0x000090cf fetch  0x00000001 , 0x0000004b 
+ 00196641  0x000090d0 set0  0x00000003 , 0x0000003f 
+ 00196642  0x000090d1 store  0x00000001 , 0x0000004b 
+ 00196643  0x000090d2 branch  0x00000335 
+ 00196644  0x000090d6 force  0x00000002 , 0x0000003f 
+ 00196645  0x000090d7 call  0x00006298 
+ 00196646  0x000090d8 fetch  0x00000001 , 0x00000049 
+ 00196647  0x000090d9 istore  0x00000001 , 0x00000005 
+ 00196648  0x000090da store  0x00000001 , 0x00004afc 
+ 00196649  0x000090db call  0x000062a7 
+ 00196650  0x000090dc fetch  0x00000001 , 0x00004afc 
+ 00196651  0x000090dd beq  0x0000002e , 0x0003002d 
+ 00196652  0x000090de branch  0x00006051 
+ 00196653  0x000090e1 fetch  0x00000001 , 0x00004aff 
+ 00196654  0x000090e2 rtn  0x00000034 
+ 00196655  0x000090e3 jam  0x00000000 , 0x00004aff 
+ 00196656  0x000090e4 fetch  0x00000001 , 0x00004b01 
+ 00196657  0x000090e5 rtnne  0x00000002 
+ 00196658  0x000090e6 jam  0x00000001 , 0x00004b00 
+ 00196659  0x000090e7 copy  0x00000022 , 0x0000003f 
+ 00196660  0x000090e8 store  0x00000004 , 0x000004e9 
+ 00196661  0x000090e9 rtn 
+ 00262145  0x000090ef beq  0x00000030 , 0x00040003 
+ 00262146  0x000090f0 rtn 
+ 00262147  0x000090f3 call  0x000062bc 
+ 00262148  0x000090f4 nrtn  0x00000034 
+ 00262149  0x000090f6 fetch  0x00000001 , 0x00000055 
+ 00262150  0x000090f7 rtn  0x00000034 
+ 00262151  0x000090f8 beq  0x00000004 , 0x00040025 
+ 00262152  0x000090f9 beq  0x00000010 , 0x0004000a 
+ 00262153  0x000090fa branch  0x00006320 
+ 00262154  0x000090fe fetch  0x00000001 , 0x0000455b 
+ 00262155  0x000090ff rtneq  0x00000000 
+ 00262156  0x00009100 beq  0x00000001 , 0x0004000e 
+ 00262157  0x00009101 branch  0x0000635f 
+ 00262158  0x00009103 rtn  0x00000029 
+ 00262159  0x00009106 fetch  0x00000001 , 0x0000016d 
+ 00262160  0x00009107 bbit1  0x00000000 , 0x00040012 
+ 00262161  0x00009108 branch  0x00006399 
+ 00262162  0x0000910a fetch  0x00000001 , 0x00004b01 
+ 00262163  0x0000910b beq  0x00000001 , 0x0000639d 
+ 00262164  0x0000910d fetch  0x00000001 , 0x000041bd 
+ 00262165  0x0000910e branch  0x000063a9 , 0x00000034 
+ 00262166  0x0000910f fetch  0x00000001 , 0x000004d1 
+ 00262167  0x00009110 rtnbit0  0x00000003 
+ 00262168  0x00009111 rtnbit0  0x00000002 
+ 00262169  0x00009112 fetch  0x00000001 , 0x00004b00 
+ 00262170  0x00009113 rtn  0x00000034 
+ 00262171  0x00009114 jam  0x00000000 , 0x00004b00 
+ 00262172  0x00009115 fetch  0x00000004 , 0x000004e9 
+ 00262173  0x00009116 arg  0x00000014 , 0x00000002 
+ 00262174  0x00009117 iadd  0x00000002 , 0x00000002 
+ 00262175  0x00009118 copy  0x00000022 , 0x0000003f 
+ 00262176  0x00009119 isub  0x00000002 , 0x0000003e 
+ 00262177  0x0000911a nbranch  0x00040023 , 0x00000002 
+ 00262178  0x0000911b branch  0x00006349 
+ 00262179  0x0000911e jam  0x00000001 , 0x00004b00 
+ 00262180  0x0000911f rtn 
+ 00262181  0x00009122 jam  0x00000014 , 0x00004809 
+ 00262182  0x00009123 branch  0x0000636f 
+ 00327681  0x0000912c beq  0x00000040 , 0x00050004 
+ 00327682  0x0000912d beq  0x00000041 , 0x00050016 
+ 00327683  0x0000912e rtn 
+ 00327684  0x00009131 call  0x0005000c 
+ 00327685  0x00009132 branch  0x0000557d 
+ 00327686  0x00009134 fetch  0x00000001 , 0x000047c5 
+ 00327687  0x00009135 store  0x00000001 , 0x00004172 
+ 00327688  0x00009137 jam  0x00000000 , 0x000047c4 
+ 00327689  0x00009138 rtn 
+ 00327690  0x0000913a jam  0x00000001 , 0x000047c4 
+ 00327691  0x0000913b rtn 
+ 00327692  0x0000913d fetch  0x00000001 , 0x000043d6 
+ 00327693  0x0000913e sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00327694  0x0000913f nbranch  0x0005000a , 0x00000002 
+ 00327695  0x00009140 fetch  0x00000001 , 0x000043d8 
+ 00327696  0x00009141 fetcht  0x00000001 , 0x000047c5 
+ 00327697  0x00009142 isub  0x00000002 , 0x0000003e 
+ 00327698  0x00009143 branch  0x00050006 , 0x00000002 
+ 00327699  0x00009144 fetch  0x00000001 , 0x000043d8 
+ 00327700  0x00009145 store  0x00000001 , 0x00004172 
+ 00327701  0x00009146 branch  0x00050008 
+ 00327702  0x00009149 fetch  0x00000001 , 0x0000043f 
+ 00327703  0x0000914a rtnbit0  0x00000006 
+ 00327704  0x0000914b call  0x0005001b 
+ 00327705  0x0000914c nrtn  0x00000028 
+ 00327706  0x0000914d branch  0x000055a0 
+ 00327707  0x0000914f enable  0x00000028 
+ 00327708  0x00009150 fetch  0x00000001 , 0x0000045a 
+ 00327709  0x00009151 rshift4  0x0000003f , 0x0000003f 
+ 00327710  0x00009152 rtnne  0x0000000f 
+ 00327711  0x00009153 fetch  0x00000001 , 0x00000460 
+ 00327712  0x00009154 rshift4  0x0000003f , 0x0000003f 
+ 00327713  0x00009155 rtnne  0x00000000 
+ 00327714  0x00009156 branch  0x00007fe9 
+ 00393217  0x0000915d beq  0x00000050 , 0x00060004 
+ 00393218  0x0000915e beq  0x00000051 , 0x0006002d 
+ 00393219  0x0000915f rtn 
+ 00393220  0x00009163 call  0x000002f2 
+ 00393221  0x00009164 jam  0x00000000 , 0x0000479c 
+ 00393222  0x00009165 call  0x00000399 
+ 00393223  0x00009166 fetch  0x00000002 , 0x00004682 
+ 00393224  0x00009167 bbit1  0x0000000b , 0x00060011 
+ 00393225  0x0000916a call  0x000003ac 
+ 00393226  0x0000916b fetcht  0x00000002 , 0x000047c2 
+ 00393227  0x0000916c increase  0x00000001 , 0x00000002 
+ 00393228  0x0000916d storet  0x00000002 , 0x000047c2 
+ 00393229  0x0000916e storet  0x00000002 , 0x000044a1 
+ 00393230  0x0000916f call  0x0000035d 
+ 00393231  0x00009170 random  0x0000003f 
+ 00393232  0x00009171 store  0x00000001 , 0x000044a0 
+ 00393233  0x00009173 setarg  0x00ed8e0e 
+ 00393234  0x00009174 store  0x00000003 , 0x000044a3 
+ 00393235  0x00009175 call  0x00003418 
+ 00393236  0x00009176 fetch  0x00000002 , 0x00004687 
+ 00393237  0x00009177 store  0x00000002 , 0x000046ac 
+ 00393238  0x00009178 jam  0x00000005 , 0x00004b47 
+ 00393239  0x00009179 jam  0x00000006 , 0x0000016d 
+ 00393240  0x0000917a setarg  0x00000000 
+ 00393241  0x0000917b store  0x00000002 , 0x000046b0 
+ 00393242  0x0000917c store  0x00000002 , 0x000046ae 
+ 00393243  0x0000917d arg  0x00000007 , 0x00000007 
+ 00393244  0x0000917e call  0x000043ce 
+ 00393245  0x0000917f call  0x000043ca 
+ 00393246  0x00009180 fetch  0x00000001 , 0x00004092 
+ 00393247  0x00009181 isolate1  0x00000001 , 0x0000003f 
+ 00393248  0x00009182 call  0x00060026 , 0x00000001 
+ 00393249  0x00009183 fetch  0x00000001 , 0x00004092 
+ 00393250  0x00009184 isolate1  0x00000000 , 0x0000003f 
+ 00393251  0x00009185 call  0x00007ddd , 0x00000001 
+ 00393252  0x00009188 jam  0x00000000 , 0x00004b55 
+ 00393253  0x00009189 branch  0x000042c4 
+ 00393254  0x0000918c jam  0x00000000 , 0x0000479f 
+ 00393255  0x0000918d call  0x0000030b 
+ 00393256  0x0000918e setarg  0x00000005 
+ 00393257  0x0000918f istore  0x00000001 , 0x00000006 
+ 00393258  0x00009190 arg  0x00004b10 , 0x00000006 
+ 00393259  0x00009191 call  0x000005d6 
+ 00393260  0x00009192 branch  0x00007df4 
+ 00393261  0x00009195 fetch  0x00000001 , 0x00004b5d 
+ 00393262  0x00009196 nrtn  0x00000034 
+ 00393263  0x00009197 fetch  0x00000001 , 0x00004b57 
+ 00393264  0x00009198 nbranch  0x00060037 , 0x00000034 
+ 00393265  0x00009199 jam  0x00000000 , 0x00004d41 
+ 00393266  0x0000919a call  0x000002f2 
+ 00393267  0x0000919b call  0x000001cd 
+ 00393268  0x0000919c jam  0x00000000 , 0x000041bd 
+ 00393269  0x0000919d call  0x000002c5 
+ 00393270  0x0000919e branch  0x0000340a 
+ 00393271  0x000091a2 increase  0xffffffff , 0x0000003f 
+ 00393272  0x000091a3 store  0x00000001 , 0x00004b57 
+ 00393273  0x000091a4 branch  0x000003b3 
+ 00458753  0x000091aa beq  0x00000060 , 0x00070004 
+ 00458754  0x000091ab beq  0x00000061 , 0x00070028 
+ 00458755  0x000091ac rtn 
+ 00458756  0x000091af set0  0x00000026 , 0x00000000 
+ 00458757  0x000091b0 fetch  0x00000001 , 0x00004b57 
+ 00458758  0x000091b1 and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00458759  0x000091b2 ncall  0x0007001e , 0x00000034 
+ 00458760  0x000091b3 call  0x0007001b , 0x00000034 
+ 00458761  0x000091b4 fetch  0x00000001 , 0x00004c11 
+ 00458762  0x000091b5 rtnne  0x000000ff 
+ 00458763  0x000091b6 call  0x000001c4 
+ 00458764  0x000091b9 nop  0x000007d0 
+ 00458765  0x000091bd fetch  0x00000001 , 0x00004c2e 
+ 00458766  0x000091be beq  0x00000070 , 0x000001b3 
+ 00458767  0x000091bf call  0x0000018b 
+ 00458768  0x000091c0 nbranch  0x00070023 , 0x00000018 
+ 00458769  0x000091c1 nbranch  0x00070023 , 0x0000002f 
+ 00458770  0x000091c3 set1  0x00000026 , 0x00000000 
+ 00458771  0x000091c4 setarg  0x00000000 
+ 00458772  0x000091c5 store  0x00000002 , 0x00004c2e 
+ 00458773  0x000091c6 store  0x00000001 , 0x00004b5d 
+ 00458774  0x000091c7 store  0x00000001 , 0x00004b57 
+ 00458775  0x000091c8 jam  0x0000003c , 0x00000a99 
+ 00458776  0x000091c9 call  0x00007d86 
+ 00458777  0x000091cb call  0x00000183 
+ 00458778  0x000091cc branch  0x000003ee 
+ 00458779  0x000091dc call  0x000002f2 
+ 00458780  0x000091dd fetch  0x00000004 , 0x0000477b 
+ 00458781  0x000091de branch  0x00070020 
+ 00458782  0x000091e1 jam  0x00000020 , 0x000041de 
+ 00458783  0x000091e2 fetch  0x00000004 , 0x00004b51 
+ 00458784  0x000091e4 store  0x00000004 , 0x00004c29 
+ 00458785  0x000091e5 call  0x000001e4 
+ 00458786  0x000091e6 branch  0x00000203 
+ 00458787  0x000091ea fetch  0x00000002 , 0x00004c2e 
+ 00458788  0x000091eb increase  0x00000001 , 0x0000003f 
+ 00458789  0x000091ec store  0x00000002 , 0x00004c2e 
+ 00458790  0x000091ed call  0x00000203 
+ 00458791  0x000091ee branch  0x0007000c 
+ 00458792  0x000091f3 arg  0x00000003 , 0x00000007 
+ 00458793  0x000091f4 call  0x000043ce 
+ 00458794  0x000091f5 setarg  0x00000000 
+ 00458795  0x000091f6 store  0x00000002 , 0x000046ae 
+ 00458796  0x000091f7 store  0x00000001 , 0x000046b4 
+ 00458797  0x000091f8 store  0x00000001 , 0x00004b57 
+ 00458798  0x000091f9 store  0x00000002 , 0x00004c2e 
+ 00458799  0x000091fa jam  0x000000c8 , 0x00004b5d 
+ 00458800  0x000091fb call  0x000042ca 
+ 00458801  0x000091fc branch  0x00070032 
+ 00458802  0x000091ff set1  0x00000026 , 0x00000000 
+ 00458803  0x00009200 call  0x00070036 
+ 00458804  0x00009202 jam  0x00000001 , 0x00004c11 
+ 00458805  0x00009203 rtn 
+ 00458806  0x00009206 jam  0x00000020 , 0x000041de 
+ 00458807  0x00009207 jam  0x00000000 , 0x00004c00 
+ 00458808  0x00009208 jam  0x0000004e , 0x00004c0b 
+ 00458809  0x00009209 fetch  0x00000004 , 0x00004c0d 
+ 00458810  0x0000920a branch  0x000001e3 
+ 00524289  0x0000920f beq  0x00000070 , 0x00080003 
+ 00524290  0x00009210 rtn 
+ 00524291  0x00009213 set0  0x00000026 , 0x00000000 
+ 00524292  0x00009214 call  0x0008001d 
+ 00524293  0x00009215 call  0x000001c4 
+ 00524294  0x00009218 nop  0x000007d0 
+ 00524295  0x00009219 fetch  0x00000001 , 0x00004c2f 
+ 00524296  0x0000921a bbit1  0x00000002 , 0x000001b3 
+ 00524297  0x0000921e call  0x0000018b 
+ 00524298  0x0000921f nbranch  0x00080019 , 0x00000018 
+ 00524299  0x00009220 nbranch  0x00080019 , 0x0000002f 
+ 00524300  0x00009221 call  0x000001b5 
+ 00524301  0x00009222 call  0x000002f2 
+ 00524302  0x00009223 fetch  0x00000004 , 0x00004c29 
+ 00524303  0x00009224 fetcht  0x00000004 , 0x00004c0d 
+ 00524304  0x00009225 isub  0x00000002 , 0x0000003e 
+ 00524305  0x00009226 branch  0x00080027 , 0x00000005 
+ 00524306  0x00009227 set1  0x00000026 , 0x00000000 
+ 00524307  0x00009228 setarg  0x00000000 
+ 00524308  0x00009229 store  0x00000002 , 0x00004c2e 
+ 00524309  0x0000922a jam  0x0000003c , 0x00000a99 
+ 00524310  0x0000922b call  0x00007d86 
+ 00524311  0x0000922c call  0x00000183 
+ 00524312  0x0000922d branch  0x000003ee 
+ 00524313  0x0000923d fetch  0x00000002 , 0x00004c2e 
+ 00524314  0x0000923e increase  0x00000001 , 0x0000003f 
+ 00524315  0x0000923f store  0x00000002 , 0x00004c2e 
+ 00524316  0x00009240 branch  0x00080006 
+ 00524317  0x0000924c jam  0x00000020 , 0x000041de 
+ 00524318  0x0000924d setarg  0x00000f0f 
+ 00524319  0x0000924e store  0x00000002 , 0x00004c29 
+ 00524320  0x0000924f istore  0x00000002 , 0x00000005 
+ 00524321  0x00009251 call  0x000001e4 
+ 00524322  0x00009252 branch  0x00000203 
+ 00524323  0x00009255 call  0x0008001d 
+ 00524324  0x00009256 branch  0x00080006 
+ 00524325  0x00009259 call  0x0008002b 
+ 00524326  0x0000925a branch  0x00080006 
+ 00524327  0x0000925d set1  0x00000026 , 0x00000000 
+ 00524328  0x0000925e call  0x0008002b 
+ 00524329  0x00009260 jam  0x00000001 , 0x00004c11 
+ 00524330  0x00009261 rtn 
+ 00524331  0x00009264 jam  0x00000020 , 0x000041de 
+ 00524332  0x00009265 jam  0x00000000 , 0x00004c00 
+ 00524333  0x00009266 jam  0x0000004e , 0x00004c0b 
+ 00524334  0x00009267 fetch  0x00000004 , 0x00004c0d 
+ 00524335  0x00009268 branch  0x000001e3 
+ 00589825  0x00009271 beq  0x00000080 , 0x0009000a 
+ 00589826  0x00009272 beq  0x00000081 , 0x00090004 
+ 00589827  0x00009274 rtn 
+ 00589828  0x0000927e call  0x000068a2 
+ 00589829  0x0000927f fetch  0x00000002 , 0x0000421d 
+ 00589830  0x00009280 nbranch  0x00090008 , 0x00000034 
+ 00589831  0x00009281 setarg  0x00001122 
+ 00589832  0x00009283 store  0x00000002 , 0x000047c2 
+ 00589833  0x00009284 rtn 
+ 00589834  0x00009288 call  0x000000ec 
+ 00589835  0x0000928d call  0x00003e6e 
+ 00589836  0x0000928f fetcht  0x00000001 , 0x00004b43 
+ 00589837  0x00009290 call  0x0000680e 
+ 00589838  0x00009292 call  0x00003e1e 
+ 00589839  0x00009293 call  0x0009001a 
+ 00589840  0x00009294 setarg  0x00000000 
+ 00589841  0x00009295 store  0x00000002 , 0x00004154 
+ 00589842  0x00009296 call  0x000068a2 
+ 00589843  0x00009297 call  0x00003e54 
+ 00589844  0x00009298 call  0x00005810 
+ 00589845  0x00009299 call  0x00005839 
+ 00589846  0x0000929a call  0x0000582c 
+ 00589847  0x0000929b call  0x00005818 
+ 00589848  0x0000929c call  0x000005d1 
+ 00589849  0x0000929d branch  0x0000034a 
+ 00589850  0x000092a1 call  0x000074b9 
+ 00589851  0x000092a2 arg  0x00008c00 , 0x00000006 
+ 00589852  0x000092a3 arg  0x00004876 , 0x00000005 
+ 00589853  0x000092a4 arg  0x00000171 , 0x00000039 
+ 00589854  0x000092a5 call  0x00007f01 
+ 00589855  0x000092a7 setarg  0x000f0209 
+ 00589856  0x000092a8 istore  0x00000003 , 0x00000005 
+ 00589857  0x000092a9 setarg  0x00120009 
+ 00589858  0x000092aa istore  0x00000003 , 0x00000005 
+ 00589859  0x000092ac setarg  0x00100209 
+ 00589860  0x000092ad istore  0x00000003 , 0x00000005 
+ 00589861  0x000092ae setarg  0x00000009 
+ 00589862  0x000092af istore  0x00000003 , 0x00000005 
+ 00589863  0x000092b0 arg  0x00008d71 , 0x00000006 
+ 00589864  0x000092b1 arg  0x00000109 , 0x00000039 
+ 00589865  0x000092b2 call  0x00007f01 
+ 00589866  0x000092b4 jam  0x00000000 , 0x0000488d 
+ 00589867  0x000092b5 jam  0x0000006d , 0x00004885 
+ 00589868  0x000092b6 setarg  0x0000401f 
+ 00589869  0x000092b7 store  0x00000002 , 0x000049db 
+ 00589870  0x000092b8 setarg  0x00006d04 
+ 00589871  0x000092b9 store  0x00000002 , 0x00004a44 
+ 00589872  0x000092ba setarg  0x000016b0 
+ 00589873  0x000092bb store  0x00000002 , 0x00004a4a 
+ 00589874  0x000092bd setarg  0x00004876 
+ 00589875  0x000092be store  0x00000002 , 0x00004575 
+ 00589876  0x000092bf rtn 
+ 00655361  0x000092c6 beq  0x00000090 , 0x000a0005 
+ 00655362  0x000092c7 beq  0x00000091 , 0x000a001f 
+ 00655363  0x000092c8 beq  0x00000092 , 0x000a002f 
+ 00655364  0x000092c9 rtn 
+ 00655365  0x000092cc fetch  0x00000001 , 0x00004c06 
+ 00655366  0x000092cd beq  0x00000001 , 0x00007fe7 
+ 00655367  0x000092ce fetch  0x00000001 , 0x00004c11 
+ 00655368  0x000092cf beq  0x00000001 , 0x000a000c 
+ 00655369  0x000092d0 beq  0x00000002 , 0x000a000f 
+ 00655370  0x000092d1 beq  0x00000003 , 0x000a0012 
+ 00655371  0x000092d2 branch  0x00002a8c 
+ 00655372  0x000092d5 jam  0x00000011 , 0x00004c11 
+ 00655373  0x000092d6 jam  0x000000aa , 0x0000119e 
+ 00655374  0x000092d7 branch  0x000a0014 
+ 00655375  0x000092d9 jam  0x00000012 , 0x00004c11 
+ 00655376  0x000092da jam  0x00000055 , 0x0000119e 
+ 00655377  0x000092db branch  0x000a0014 
+ 00655378  0x000092dd jam  0x00000013 , 0x00004c11 
+ 00655379  0x000092de jam  0x00000022 , 0x0000119e 
+ 00655380  0x000092e0 fetch  0x00000001 , 0x00004c02 
+ 00655381  0x000092e1 and_into  0x00000007 , 0x0000003f 
+ 00655382  0x000092e2 store  0x00000001 , 0x0000119f 
+ 00655383  0x000092e3 fetch  0x00000004 , 0x00004c38 
+ 00655384  0x000092e4 store  0x00000004 , 0x000011a0 
+ 00655385  0x000092e6 jam  0x00000000 , 0x000011a4 
+ 00655386  0x000092e7 arg  0x0000119e , 0x00000011 
+ 00655387  0x000092e8 arg  0x00000007 , 0x00000002 
+ 00655388  0x000092e9 call  0x000001d1 
+ 00655389  0x000092ea call  0x00000148 
+ 00655390  0x000092eb branch  0x00007fe7 
+ 00655391  0x000092ee fetch  0x00000001 , 0x00004c11 
+ 00655392  0x000092ef rtneq  0x000000ff 
+ 00655393  0x000092f0 beq  0x00000011 , 0x000a0025 
+ 00655394  0x000092f1 beq  0x00000012 , 0x000a0027 
+ 00655395  0x000092f2 beq  0x00000013 , 0x000a0029 
+ 00655396  0x000092f3 rtn 
+ 00655397  0x000092f6 jam  0x00000002 , 0x00004c11 
+ 00655398  0x000092f7 branch  0x0000017c 
+ 00655399  0x000092f9 jam  0x00000003 , 0x00004c11 
+ 00655400  0x000092fa branch  0x0000017c 
+ 00655401  0x000092fc jam  0x000000ff , 0x00004c11 
+ 00655402  0x000092fd jam  0x00000039 , 0x00000a99 
+ 00655403  0x000092fe call  0x00007d86 
+ 00655404  0x000092ff fetch  0x00000004 , 0x00004be1 
+ 00655405  0x00009300 call  0x000001e3 
+ 00655406  0x00009301 branch  0x0000017c 
+ 00655407  0x00009305 call  0x000004a5 
+ 00655408  0x00009306 jam  0x00000001 , 0x0000478b 
+ 00655409  0x00009307 arg  0x00000003 , 0x00000007 
+ 00655410  0x00009308 call  0x000043d2 
+ 00655411  0x00009309 setarg  0x00000000 
+ 00655412  0x0000930a store  0x00000002 , 0x00004707 
+ 00655413  0x0000930b store  0x00000001 , 0x00004b57 
+ 00655414  0x0000930c jam  0x00000000 , 0x000046a7 
+ 00655415  0x0000930e call  0x0000405d 
+ 00655416  0x00009310 call  0x000002f2 
+ 00655417  0x00009312 fetch  0x00000004 , 0x00004c29 
+ 00655418  0x00009313 store  0x00000004 , 0x0000477b 
+ 00655419  0x00009315 branch  0x00000358 
+ 00720897  0x0000931b beq  0x000000a1 , 0x000b0006 
+ 00720898  0x0000931c beq  0x000000a2 , 0x000b0019 
+ 00720899  0x0000931d beq  0x000000a3 , 0x000b0012 
+ 00720900  0x0000931e beq  0x000000a4 , 0x000b0021 
+ 00720901  0x0000931f rtn 
+ 00720902  0x00009323 fetch  0x00000002 , 0x00004509 
+ 00720903  0x00009324 rtneq  0x00000000 
+ 00720904  0x00009325 fetch  0x00000001 , 0x00000441 
+ 00720905  0x00009326 rshift2  0x0000003f , 0x0000003f 
+ 00720906  0x00009327 sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00720907  0x00009328 rtn  0x00000002 
+ 00720908  0x00009329 setarg  0x00000009 
+ 00720909  0x0000932a store  0x00000002 , 0x00004496 
+ 00720910  0x0000932b store  0x00000002 , 0x00004498 
+ 00720911  0x0000932c call  0x00000489 
+ 00720912  0x0000932d jam  0x00000001 , 0x000047c4 
+ 00720913  0x0000932e rtn 
+ 00720914  0x00009333 fetch  0x00000002 , 0x00004682 
+ 00720915  0x00009334 rtnbit1  0x0000000c 
+ 00720916  0x00009335 rtnbit1  0x00000006 
+ 00720917  0x00009336 rtnbit1  0x0000000b 
+ 00720918  0x00009337 fetch  0x00000004 , 0x000046d3 
+ 00720919  0x00009338 rtnbit1  0x00000005 
+ 00720920  0x00009339 branch  0x000033a7 
+ 00720921  0x0000933c setarg  0x00000007 
+ 00720922  0x0000933d store  0x00000002 , 0x00004496 
+ 00720923  0x0000933e store  0x00000002 , 0x00004498 
+ 00720924  0x0000933f jam  0x00000000 , 0x000047c4 
+ 00720925  0x00009340 jam  0x00000000 , 0x0000479c 
+ 00720926  0x00009341 call  0x00000419 
+ 00720927  0x00009342 call  0x00005816 
+ 00720928  0x00009343 branch  0x000041d9 
+ 00720929  0x00009347 enable  0x00000028 
+ 00720930  0x00009348 hfetch  0x00000004 , 0x00008138 
+ 00720931  0x00009349 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00720932  0x0000934a hstore  0x00000004 , 0x0000804c 
+ 00720933  0x0000934b call  0x00002c21 
+ 00720934  0x0000934c call  0x000074bd 
+ 00720935  0x0000934d call  0x000003e7 
+ 00720936  0x0000934e call  0x00003e9f 
+ 00720937  0x0000934f call  0x000002c5 
+ 00720938  0x00009351 call  0x000003a1 
+ 00720939  0x00009352 hfetch  0x00000001 , 0x00008081 
+ 00720940  0x00009353 and  0x0000003f , 0x000000f7 , 0x0000003f 
+ 00720941  0x00009354 hstore  0x00000001 , 0x00008081 
+ 00720942  0x00009355 hfetch  0x00000001 , 0x0000807e 
+ 00720943  0x00009356 set1  0x00000006 , 0x0000003f 
+ 00720944  0x00009357 hstore  0x00000001 , 0x0000807e 
+ 00720945  0x00009359 hfetch  0x00000001 , 0x0000807f 
+ 00720946  0x0000935a set1  0x00000000 , 0x0000003f 
+ 00720947  0x0000935b hstore  0x00000001 , 0x0000807f 
+ 00720948  0x0000935c fetcht  0x00000001 , 0x000046f3 
+ 00720949  0x0000935d branch  0x000067ed 
+ 00786433  0x00009363 beq  0x000000b0 , 0x000c0007 
+ 00786434  0x00009364 beq  0x000000b1 , 0x000c000a 
+ 00786435  0x00009365 beq  0x000000b2 , 0x000c0010 
+ 00786436  0x00009366 beq  0x000000b3 , 0x000c0015 
+ 00786437  0x00009367 beq  0x000000b4 , 0x000c001c 
+ 00786438  0x00009368 rtn 
+ 00786439  0x0000936b jam  0x00000001 , 0x00004b68 
+ 00786440  0x0000936c call  0x00000419 
+ 00786441  0x0000936d branch  0x000041c3 
+ 00786442  0x00009370 fetch  0x00000001 , 0x00004808 
+ 00786443  0x00009371 rtneq  0x00000002 
+ 00786444  0x00009372 increase  0x00000001 , 0x0000003f 
+ 00786445  0x00009373 store  0x00000001 , 0x00004808 
+ 00786446  0x00009374 jam  0x00000012 , 0x000041e3 
+ 00786447  0x00009375 branch  0x0000340e 
+ 00786448  0x00009378 fetch  0x00000001 , 0x00004808 
+ 00786449  0x00009379 rtnne  0x00000002 
+ 00786450  0x0000937a jam  0x00000000 , 0x00004808 
+ 00786451  0x0000937b jam  0x0000000e , 0x000041e3 
+ 00786452  0x0000937c branch  0x0000340e 
+ 00786453  0x0000937f fetch  0x00000001 , 0x0000479f 
+ 00786454  0x00009380 beq  0x00000001 , 0x000c0018 
+ 00786455  0x00009381 branch  0x000c001a 
+ 00786456  0x00009383 call  0x00000489 
+ 00786457  0x00009384 jam  0x00000005 , 0x000046c6 
+ 00786458  0x00009386 arg  0x00000001 , 0x00000007 
+ 00786459  0x00009387 branch  0x000041b9 
+ 00786460  0x0000938a jam  0x00000000 , 0x00004aff 
+ 00786461  0x0000938b jam  0x00000000 , 0x00004b01 
+ 00786462  0x0000938c jam  0x00000000 , 0x00004b0a 
+ 00786463  0x0000938d branch  0x000041d9 
Index: ZJL_3X_OnlyBLE/output/bt_program23.list
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.list	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.list	(working copy)
@@ -1,30940 +1,31603 @@
               include "bt_format "
               org 0x0000
-:      000067 p_start:
-0x0000 000068 branch p_patch_array 
-:      000071 p_zcode:
-:      000074 p_wake_from_power:
-0x0001 000075 call p_mouse_data_init 
-0x0002 000076 fetch 1 ,mem_tx_power 
-0x0003 000077 store 1 ,mem_tx_power_temp 
-0x0004 000078 call power_ctrl_pac_succ_cnt_init 
-0x0005 000079 fetch 1 ,mem_ui_button_timeout 
-0x0006 000080 store 1 ,mem_select_ui_button_count 
-0x0007 000081 call p_mouse_bt_discovery_button_up_init 
-0x0008 000082 call p_mouse_spi_init 
-0x0009 000083 call p_drawing_optima_init 
-0x000a 000084 call p_mouse_cb_fuction 
-0x000b 000085 call p_mouse_wakeup_from_power 
-0x000c 000087 call le_set_config_fixed_ltk 
-0x000d 000088 call le_set_justwork 
-0x000e 000089 call le_set_fixed_ltk 
-0x000f 000090 call le_set_config_read_authentication 
-0x0010 000091 call mouse_param_init 
-0x0011 000092 branch p_mouse_setting_config 
-:      000094 p_mouse_cb_fuction:
-0x0012 000095 setarg p_mouse_le 
-0x0013 000096 store 2 ,mem_cb_le_process 
-0x0014 000097 setarg p_le_mouse_bb_event_connect_complete 
-0x0015 000098 store 2 ,mem_cb_att_write 
-0x0016 000099 setarg p_mouse_bt 
-0x0017 000100 store 2 ,mem_cb_bt_process 
-0x0018 000101 setarg p_mouse_before_lpm 
-0x0019 000102 store 2 ,mem_cb_before_lpm 
-0x001a 000103 setarg p_mouse_priority_bb_event 
-0x001b 000104 store 2 ,mem_cb_bb_event_process 
-0x001c 000105 setarg p_mouse_idle 
-0x001d 000106 store 2 ,mem_cb_idle_process 
-0x001e 000107 setarg p_mouse_before_hibernate 
-0x001f 000108 store 2 ,mem_cb_before_hibernate 
-0x0020 000109 setarg p_mouse_bb_event_timer 
-0x0021 000110 store 2 ,mem_cb_event_timer 
-0x0022 000111 rtn 
-:      000113 p_mouse_wakeup_from_power:
-0x0023 000114 setarg 25 
-0x0024 000115 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0x0025 000116 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
-0x0026 000117 call p_mouse_init_sunt 
-0x0027 000118 call p_mouse_sensor_powerdown 
-:      000119 p_mouse_wakeup_no_from_power:
-0x0028 000120 fetch 1 ,mem_reconn_times_init 
-0x0029 000121 store 1 ,mem_reconn_times 
-0x002a 000122 fetch 6 ,mem_le_lap 
-0x002b 000123 store 6 ,mem_le_normal_lap 
-0x002c 000124 fetch 1 ,mem_power_on_flag 
-0x002d 000125 rtnbit1 2 
-0x002e 000127 branch p_mouse_dpi_config_default 
-:      000129 p_mouse_24g_transmit_by_interrupt_exit_count_max:
-0x002f 000130 setarg 375 
-0x0030 000131 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0x0031 000132 rtn 
-0x0032 000134 nop 1 
-0x0033 000135 nop 1 
-0x0034 000136 nop 1 
-0x0035 000137 nop 1 
-0x0036 000138 nop 1 
-0x0037 000139 nop 1 
-0x0038 000140 nop 1 
-0x0039 000141 nop 1 
-0x003a 000142 nop 1 
-0x003b 000143 nop 1 
-0x003c 000144 nop 1 
-0x003d 000145 nop 1 
-0x003e 000146 nop 1 
-0x003f 000147 nop 1 
-:      000150 p_patch_array:
-0x0040 000151 bbit1 8 ,pf_patch_ext 
-0x0041 000153 beq patch00_1 ,p_soft_reset_1 
-0x0042 000154 beq patch00_2 ,p_soft_reset_2 
-0x0043 000155 beq patch10_5 ,p_shutdown_radio 
-0x0044 000156 beq patch11_1 ,p_set_freq_tx 
-0x0045 000157 beq patch11_2 ,p_initialize_radio_cont 
-0x0046 000158 beq patch03_3 ,p_page_wait_fhs_reply_ok 
-0x0047 000159 beq patch04_6 ,p_role_switch_master 
-0x0048 000160 beq patch09_0 ,p_quit_connection_cont 
-0x0049 000161 beq patch09_2 ,p_prepare_tx 
-0x004a 000162 beq patch0a_1 ,p_slave_conn_recv_packet 
-0x004b 000163 beq patch0b_1 ,p_process_dmh 
-0x004c 000164 beq patch14_7 ,p_lpm_dispatch 
-0x004d 000165 beq patch15_5 ,p_lpm_set_mult 
-0x004e 000166 beq patch19_3 ,app_bt_start_reconnect + 3 
-0x004f 000167 beq patch1d_1 ,p_mouse_bb_disconnected 
-0x0050 000168 beq patch14_1 ,p_init_param 
-0x0051 000169 beq patch16_1 ,p_lpm_check_wake_lock 
-0x0052 000170 beq patch18_4 ,p_device_init 
-0x0053 000171 beq patch1c_3 ,p_mouse_seting_dpi 
-0x0054 000172 beq patch1c_6 ,p_mouse_motion 
-0x0055 000173 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-0x0056 000174 beq patch1d_3 ,p_mouse_start_discovery 
-0x0057 000175 beq patch1d_4 ,p_mouse_stop_discovery 
-0x0058 000176 branch loop 
-:      000177 pf_patch_ext:
-0x0059 000178 beq patch27_1 ,p_le_slave_match 
-0x005a 000179 beq patch28_3 ,p_le_next_adv_channel 
-0x005b 000180 beq patch29_2 ,p_le_receive_skip 
-0x005c 000181 beq patch2a_7 ,p_le_update_param 
-0x005d 000182 beq patch2b_1 ,p_le_update_channel_map 
-0x005e 000183 beq patch2c_3 ,p_le_prepare_tx 
-0x005f 000184 beq patch2c_6 ,p_le_parse 
-0x0060 000185 beq patch2c_7 ,p_le_parse_l2cap 
-0x0061 000186 beq patch2d_2 ,p_le_adv_not_match 
-0x0062 000187 beq patch2e_7 ,p_le_lpm_setmult 
-0x0063 000188 beq patch3f_2 ,p_check_51cmd_once_continue 
-0x0064 000189 beq patch20_5 ,p_hid_rx_process 
-0x0065 000190 beq patch30_0 ,p_parse_lmp_accepted 
-0x0066 000191 beq patch30_2 ,p_send_lmp 
-0x0067 000192 beq patch31_0 ,p_process_conn_sm 
-0x0068 000193 beq patch31_4 ,p_twspi_reset 
-0x0069 000194 beq patch31_5 ,p_spid_init 
-0x006a 000195 beq patch34_0 ,p_vdd_calculate_by_mode 
-0x006b 000196 branch loop 
-:      000199 p_rssi_signal:
-0x006c 000200 copy pdata ,rega 
-0x006d 000201 fetcht 1 ,mem_rssi_signal_index 
-0x006e 000202 setarg mem_rssi_signal_buf 
-0x006f 000203 iadd temp ,contw 
-0x0070 000204 copy rega ,pdata 
-0x0071 000205 istore 1 ,contw 
-0x0072 000206 increase 1 ,temp 
-0x0073 000207 and_into rssi_buf_len_signal ,temp 
-0x0074 000208 storet 1 ,mem_rssi_signal_index 
-0x0075 000209 rtn 
-:      000211 p_soft_reset_1:
-0x0076 000213 arg mem_sp_state ,contw 
-0x0077 000214 arg 12 ,loopcnt 
-0x0078 000215 call clear_mem 
-0x0079 000216 call p_mouse_le_txbuff_load 
-0x007a 000217 call rfcomm_init 
-0x007b 000218 call init_lmp 
-0x007c 000219 ncall lpm_disable_exen_output ,wake 
-0x007d 000220 call ui_init + 1 
-0x007e 000221 branch soft_reset + 11 
-:      000223 p_soft_reset_2:
-0x007f 000224 call app_lpm_init ,wake 
-0x0080 000225 call publickey_init 
-0x0081 000226 call lpm_recover_clk ,wake 
-:      000227 p_sp_cal_loop:
-0x0082 000228 call sp_calc_sequence 
-0x0083 000229 fetch 1 ,mem_ssp_enable 
-0x0084 000230 branch main_loop ,blank 
-0x0085 000231 fetch 1 ,mem_sp_local_key_invalid 
-0x0086 000232 branch p_sp_cal_loop ,blank 
-0x0087 000233 branch main_loop 
-:      000235 p_init_param:
-0x0088 000236 setarg param_le_version 
-0x0089 000237 store 3 ,mem_lmp_version 
-0x008a 000238 setarg param_le_subversion 
-0x008b 000239 store 2 ,mem_lmp_version + 3 
-0x008c 000240 branch init_param + 12 
-:      000242 p_lpm_check_wake_lock:
-0x008d 000243 rtnmark1 mark_24g 
-0x008e 000244 fetch 1 ,mem_mouse_multi_led_state 
-0x008f 000245 nbranch disable_blank ,blank 
-0x0090 000246 fetch 1 ,mem_mouse_multi_led_blink_count 
-0x0091 000247 nbranch disable_blank ,blank 
-0x0092 000248 fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0x0093 000249 branch disable_blank ,blank 
-0x0094 000250 fetch 1 ,mem_mouse_le_conn_param_reject 
-0x0095 000251 beq le_lpm_disable ,disable_blank 
-0x0096 000252 fetch 2 ,mem_sdp_remote_cid 
-0x0097 000253 nbranch disable_blank ,blank 
-0x0098 000254 fetch 1 ,mem_mouse_wheel_trigger 
-0x0099 000255 nbranch disable_blank ,blank 
-0x009a 000256 branch enable_blank 
-:      000260 p_rssi_average:
-0x009b 000261 arg 0 ,temp 
-0x009c 000262 arg rssi_buf_len_signal + 1 ,loopcnt 
-0x009d 000263 copy rega ,contr 
-:      000264 p_rssi_average_loop:
-0x009e 000265 ifetch 1 ,contr 
-0x009f 000266 iadd temp ,temp 
-0x00a0 000267 loop p_rssi_average_loop 
-0x00a1 000268 rshift3 temp ,pdata 
-0x00a2 000269 copy pdata ,temp 
-0x00a3 000270 rtnmark0 mark_24g 
-0x00a4 000272 div pdata ,10 
-0x00a5 000273 call wait_div_end 
-0x00a6 000274 quotient pdata 
-0x00a7 000275 lshift4 pdata ,pdata 
-0x00a8 000276 remainder temp 
-0x00a9 000277 ior temp ,temp 
-0x00aa 000278 rtn 
-0x00ab 000279 rtn 
-:      000281 p_mouse_setgpio_lpm:
-0x00ac 000282 call p_mouse_set_sdio_high 
-0x00ad 000283 call p_clear_wake 
-:      000284 p_mouse_setgpio_hibernate:
-0x00ae 000285 call mouse_lpm_before_common 
-0x00af 000286 fetcht 1 ,mem_flash_ncs_gpio 
-0x00b0 000287 call gpio_out_inactive 
-0x00b1 000289 hfetch 4 ,core_gpio_oe0 
-0x00b2 000290 hfetcht 4 ,core_gpio_pu0 
-0x00b3 000291 ior temp ,temp 
-0x00b4 000292 invert temp ,temp 
-0x00b5 000293 hstoret 4 ,core_gpio_pd0 
-0x00b6 000294 hfetch 1 ,core_gpio_pd1 
-0x00b7 000295 set0 2 ,pdata 
-0x00b8 000296 hstore 1 ,core_gpio_pd1 
-0x00b9 000297 hfetch 1 ,core_gpio_pd2 
-0x00ba 000298 set0 6 ,pdata 
-0x00bb 000299 hstore 1 ,core_gpio_pd2 
-0x00bc 000300 rtn 
-:      000302 p_mouse_before_lpm:
-0x00bd 000303 rtnmark1 mark_24g 
-0x00be 000304 call p_mouse_le_txbuff_save 
-0x00bf 000305 call p_mouse_setgpio_lpm 
-0x00c0 000306 fetch 1 ,mem_context 
-0x00c1 000307 bbit0 state_inconn ,p_clear_wake 
-0x00c2 000308 fetch 1 ,mem_lpm_current_mult 
-0x00c3 000309 nrtn blank 
-:      000310 p_clear_wake:
-0x00c4 000311 setarg 0 
-0x00c5 000312 store 8 ,mem_gpio_wakeup_low 
-0x00c6 000313 rtn 
-:      000315 p_mouse_set_sdio_high:
-0x00c7 000316 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0x00c8 000317 rtn blank 
-0x00c9 000318 branch p_mouse_seting_sensor_type 
-:      000320 p_device_init:
-0x00ca 000321 call initialize_radio 
-0x00cb 000322 call app_lpm_mult_enable 
-0x00cc 000323 call enable_authrom 
-0x00cd 000324 branch p_mouse_spi_init ,wake 
-:      000325 p_device_wake_from_power:
-0x00ce 000326 fetch 3 ,mem_le_lap + 3 
-0x00cf 000327 store 3 ,mem_le_lap_high_3b 
-0x00d0 000328 call p_wake_from_power 
-:      000336 p_mouse_check_reconn_target:
-0x00d1 000337 call p_mouse_tx_power_init 
-0x00d2 000338 call p_mouse_mode_bt_device1_multi_led_on 
-0x00d3 000339 fetch 1 ,mem_xrecord_mode 
-0x00d4 000340 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
-0x00d5 000341 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-0x00d6 000342 rtn 
-:      000347 p_mouse_tx_power_init:
-0x00d7 000348 fetch 1 ,mem_tx_power_temp 
-0x00d8 000349 store 1 ,mem_tx_power 
-0x00d9 000350 rtn 
-:      000356 p_mouse3_0_check_reconn_target:
-0x00da 000358 fetch 6 ,mem_hci_plap 
-0x00db 000359 branch app_bt_start_discovery_short ,blank 
-0x00dc 000360 branch mouse3_0_check_reconn_target + 3 
-:      000362 p_mouse4_0_check_reconn_target:
-0x00dd 000363 jam zcode_12 ,mem_zcode_temp_param0 
-0x00de 000364 branch p_zcode_entrance 
-:      000366 p_le_check_adv_flag:
-0x00df 000367 arg mem_le_adv_data ,rega 
-:      000368 p_le_check_adv_flag_loop:
-0x00e0 000369 ifetch 1 ,rega 
-0x00e1 000370 rtn blank 
-0x00e2 000371 iadd contr ,rega 
-0x00e3 000372 ifetch 1 ,contr 
-0x00e4 000373 rtneq 0x01 
-0x00e5 000374 branch p_le_check_adv_flag_loop 
-:      000383 p_mouse_init_sunt:
-0x00e6 000384 call p_mouse_spi_init 
-0x00e7 000385 call mouse_spi_sdio_gpio_pollup 
-:      000386 p_mouse_init_sensor:
-0x00e8 000387 call mouse_read_sensor_id 
-0x00e9 000388 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0x00ea 000389 beq p3065_id1 ,p_mouse_p3065_init_param 
-0x00eb 000390 call mouse_twspi_reset 
-0x00ec 000391 nop 1000 
-0x00ed 000392 branch p_mouse_init_sensor 
-:      000394 p_mouse_init_p32xx_id2_judge:
-0x00ee 000395 call p_mouse_sensor_poweron 
-0x00ef 000396 fetch 1 ,mem_sensor_id2 
-0x00f0 000397 beq p_mx8650 ,p_mouse_mx8650_init_param 
-0x00f1 000398 beq pka8_id2 ,p_mouse_ka8_init_param 
-0x00f2 000399 branch mouse_init_p32xx_id2_judge 
-:      000401 p_mouse_mx8650_init_param:
-0x00f3 000402 jam mx8650 ,mem_config_sensor_type 
-0x00f4 000403 arg mem_sensor_8650_init ,regc 
-:      000404 p_sensor_wr_seq:
-0x00f5 000405 ifetch 2 ,regc 
-0x00f6 000406 rtneq 0xff 
-0x00f7 000407 call twspi_write 
-0x00f8 000408 nop 12000 
-0x00f9 000409 increase 2 ,regc 
-0x00fa 000410 branch p_sensor_wr_seq 
-:      000412 p_mouse_ka8_init_param:
-0x00fb 000413 jam ka8 ,mem_config_sensor_type 
-0x00fc 000414 rtn 
-:      000418 p_mouse_p3065_init_param:
-0x00fd 000419 call p_mouse_sensor_poweron 
-0x00fe 000420 fetch 1 ,mem_sensor_id2 
-0x00ff 000421 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-0x0100 000422 jam p3065 ,mem_config_sensor_type 
-0x0101 000423 rtn 
-:      000425 p_mouse_setting_config:
-0x0102 000426 jam zcode_80 ,mem_zcode_temp_param0 
-0x0103 000427 branch p_zcode_entrance 
-:      000434 p_spid_init_flash:
-0x0104 000435 jam 0x40 ,core_spid_ctrl 
-0x0105 000436 jam 0x0 ,core_spid_delay 
-0x0106 000437 hfetch 1 ,core_gpio_sel1 
-0x0107 000438 set0 0 ,pdata 
-0x0108 000439 set0 1 ,pdata 
-0x0109 000440 set1 3 ,pdata 
-0x010a 000441 set0 4 ,pdata 
-0x010b 000442 hstore 1 ,core_gpio_sel1 
-0x010c 000443 setarg 0 
-0x010d 000444 store 4 ,mem_spid_tbuf 
-0x010e 000445 hfetch 1 ,core_gpio_pd3 
-0x010f 000446 set0 0 ,pdata 
-0x0110 000447 hstore 1 ,core_gpio_pd3 
-0x0111 000448 rtn 
-:      000450 p_mouse_load_flash_info_check:
-0x0112 000451 call p_flash_release_deep_power_down 
-0x0113 000452 call mouse_load_flash_flag 
-0x0114 000453 fetch 2 ,mem_store_flag 
-0x0115 000454 arg eeprom_init_flag ,temp 
-0x0116 000455 isub temp ,null 
-0x0117 000456 branch p_mouse_load_flash_device_info ,zero 
-0x0118 000457 storet 2 ,mem_store_flag 
-0x0119 000458 call mouse_ble_init_address 
-0x011a 000459 fetch 1 ,mem_config_sensor_motion 
-0x011b 000460 store 1 ,mem_mouse_dpi 
-0x011c 000461 fetch 4 ,mem_mouse_24g_addr_init 
-0x011d 000462 store 4 ,mem_mouse_24g_addr 
-0x011e 000463 store 4 ,mem_24g_addr 
-:      000464 p_mouse_store_flash_device_info:
-0x011f 000465 call p_flash_release_deep_power_down 
-0x0120 000466 call p_flash_erase_sector 
-0x0121 000467 call p_mouse_information_flash_parameters 
-0x0122 000468 call p_spid_write_flash 
-0x0123 000469 call p_wait_flash_done 
-:      000471 p_mouse_store_flash_user_data:
-0x0124 000472 call p_spid_init_flash 
-0x0125 000473 arg 7 ,temp 
-0x0126 000474 arg mem_mouse_flash_start_temp ,rega 
-0x0127 000475 arg mouse_user_data_offect ,regb 
-0x0128 000476 fetch 3 ,mem_flash_base 
-0x0129 000477 iadd regb ,pdata 
-0x012a 000478 call p_spid_write_flash 
-0x012b 000479 call p_wait_flash_done 
-0x012c 000480 call p_flash_deep_power_down 
-:      000481 p_mouse_spi_init:
-0x012d 000482 jam 0x76 ,mem_spi_init_clk 
-0x012e 000483 branch mouse_spi_init 
-:      000485 p_flash_erase_sector:
-0x012f 000486 fetch 3 ,mem_flash_base 
-0x0130 000487 store 3 ,mem_spi_write_addr 
-0x0131 000488 call flash_erase_sector + 2 
-:      000489 p_wait_flash_done:
-0x0132 000490 setarg 100000 
-0x0133 000491 call sleep 
-0x0134 000492 call spid_unlock_flash 
-0x0135 000493 setarg mem_spid_rbuf 
-0x0136 000494 hstore 2 ,core_spid_rxaddr 
-0x0137 000495 setarg flash_read_satus 
-0x0138 000496 call spid_read_reg 
-0x0139 000497 bbit1 flash_status_wip ,p_wait_flash_done 
-0x013a 000498 rtn 
-:      000500 p_spid_write_flash:
-0x013b 000501 copy pdata ,regc 
-0x013c 000502 copy rega ,pdata 
-0x013d 000503 increase -4 ,pdata 
-0x013e 000504 copy pdata ,regb 
-0x013f 000505 ifetch 4 ,regb 
-0x0140 000506 store 4 ,mem_write_flash_head_temp 
-0x0141 000507 copy regc ,pdata 
-0x0142 000508 call spid_write_flash 
-0x0143 000509 fetch 4 ,mem_write_flash_head_temp 
-0x0144 000510 istore 4 ,regb 
-0x0145 000511 rtn 
-:      000513 p_mouse_information_flash_parameters:
-0x0146 000514 setarg mem_mouse_information_end 
-0x0147 000515 arg mem_mouse_information_start ,temp 
-0x0148 000516 isub temp ,temp 
-0x0149 000517 fetch 3 ,mem_flash_base 
-0x014a 000518 arg mem_mouse_information_start ,rega 
-0x014b 000519 rtn 
-:      000521 p_mouse_read_flash:
-0x014c 000522 call p_flash_release_deep_power_down 
-0x014d 000523 call p_mouse_information_flash_parameters 
-0x014e 000524 branch spid_read_flash 
-:      000526 p_mouse_load_flash_device_info:
-0x014f 000527 call p_mouse_read_flash 
-0x0150 000528 call p_mouse_load_flash_user_data 
-0x0151 000531 call mouse_select_reconn_device 
-0x0152 000532 fetch 4 ,mem_mouse_24g_addr 
-0x0153 000533 store 4 ,mem_24g_addr 
-0x0154 000534 rtn 
-:      000536 p_flash_deep_power_down:
-0x0155 000537 jam flash_command_deep_power_down ,mem_temp 
-:      000538 p_spid_write_flash_cmd:
-0x0156 000539 call p_spid_init_flash 
-0x0157 000540 call delay_nop100 
-0x0158 000541 call spid_unlock_flash 
-0x0159 000542 arg mem_write_flash_head_temp ,rega 
-0x015a 000543 fetcht 1 ,mem_temp 
-0x015b 000544 call spid_write_flash_common 
-0x015c 000545 branch delay_nop100 
-:      000547 p_flash_release_deep_power_down:
-0x015d 000548 jam flash_command_release_deep_power_down ,mem_temp 
-0x015e 000549 branch p_spid_write_flash_cmd 
-:      000551 p_mouse_fast_conn_disable:
-0x015f 000552 jam 0x5a ,mem_mouse_fast_conn_flag 
-0x0160 000553 rtn 
-:      000555 p_mouse_fast_conn_init:
-0x0161 000556 jam 0xff ,mem_mouse_fast_conn_flag 
-0x0162 000557 jam 0x34 ,mem_xrecord_mode 
-0x0163 000558 fetch 6 ,mem_24g_allpowerful_addr 
-0x0164 000559 store 6 ,mem_le_lap 
-0x0165 000560 rtn 
-:      000563 p_mouse_load_flash_user_data:
-0x0166 000564 call p_flash_release_deep_power_down 
-0x0167 000565 arg 7 ,temp 
-0x0168 000566 arg mem_mouse_flash_start_temp ,rega 
-0x0169 000567 arg mouse_user_data_offect ,regb 
-0x016a 000568 fetch 3 ,mem_flash_base 
-0x016b 000569 iadd regb ,pdata 
-0x016c 000570 branch spid_read_flash 
-:      000602 p_mouse_le_txbuff_save:
-0x016d 000603 arg mem_le_tx_buffer0 ,contr 
-0x016e 000604 arg mem_le_tx_buffer0_omemalloc ,contw 
-0x016f 000605 call p_mouse_le_txbuff_copy 
-0x0170 000606 arg mem_le_tx_buffer1 ,contr 
-0x0171 000607 call p_mouse_le_txbuff_copy 
-0x0172 000608 arg mem_le_tx_buffer2 ,contr 
-0x0173 000609 call p_mouse_le_txbuff_copy 
-0x0174 000610 arg mem_le_tx_buffer3 ,contr 
-:      000611 p_mouse_le_txbuff_copy:
-0x0175 000612 arg 27 ,loopcnt 
-0x0176 000613 branch memcpy 
-:      000615 p_mouse_le_txbuff_load:
-0x0177 000616 arg mem_le_tx_buffer0_omemalloc ,contr 
-0x0178 000617 arg mem_le_tx_buffer0 ,contw 
-0x0179 000618 call p_mouse_le_txbuff_copy 
-0x017a 000619 arg mem_le_tx_buffer1 ,contw 
-0x017b 000620 call p_mouse_le_txbuff_copy 
-0x017c 000621 arg mem_le_tx_buffer2 ,contw 
-0x017d 000622 call p_mouse_le_txbuff_copy 
-0x017e 000623 arg mem_le_tx_buffer3 ,contw 
-0x017f 000624 branch p_mouse_le_txbuff_copy 
-:      000627 p_mouse_le_current_mult_update:
-0x0180 000628 jam 0 ,mem_lpm_mult 
-0x0181 000629 jam 30 ,mem_mouse_le_current_mult_timer 
-0x0182 000630 rtn 
-:      000632 p_mouse_data_xy_release:
-0x0183 000633 fetch 1 ,mem_mouse_long_mult_flag 
-0x0184 000634 rtnne 1 
-0x0185 000635 setarg 0 
-0x0186 000636 store 1 ,mem_mouse_long_mult_flag 
-0x0187 000637 store 4 ,mem_mouse_x 
-0x0188 000638 branch p_mouse_sensor_poweron 
-:      000640 p_mouse_le:
-0x0189 000641 call le_fifo_check_nearly_full 
-0x018a 000642 nrtn blank 
-0x018b 000643 fetch 1 ,mem_mouse_fast_conn_flag 
-0x018c 000644 beq 0xff ,p_mouse_le_next 
-0x018d 000645 fetch 1 ,mem_le_connect_status_flag 
-0x018e 000646 and pdata ,0x03 ,pdata 
-0x018f 000647 rtnne 0x03 
-:      000648 p_mouse_le_next:
-0x0190 000649 fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0x0191 000650 call p_mouse_clear_sensor_data ,blank 
-0x0192 000651 fetch mouse_flag_len ,mem_mouse_flag 
-0x0193 000652 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
-0x0194 000653 call mouse_motion 
-0x0195 000654 nrtn user 
-0x0196 000655 call p_mouse_le_current_mult_update 
-0x0197 000656 call p_mouse_data_xy_release 
-0x0198 000657 call p_mouse_wheel_trigger 
-:      000658 p_mouse_data_push:
-0x0199 000659 arg mem_mouse_key ,rega 
-0x019a 000660 call queue_push 
-0x019b 000661 call p_mouse_queue_increase ,user 
-0x019c 000663 rtn 
-:      000665 p_mouse_data_init:
-0x019d 000666 jam 7 ,mem_mouse_data_queue 
-0x019e 000667 jam 4 ,mem_mouse_data_queue + 1 
-0x019f 000668 setarg mem_mouse_data_queue 
-0x01a0 000669 store 2 ,mem_queue_ptr 
-0x01a1 000670 branch queue_init 
-:      000672 p_mouse_queue_increase:
-0x01a2 000673 fetch 1 ,mem_mouse_data_queue_num 
-0x01a3 000674 increase 1 ,pdata 
-0x01a4 000675 store 1 ,mem_mouse_data_queue_num 
-0x01a5 000676 rtn 
-:      000678 p_mouse_data_pull:
-0x01a6 000679 arg mem_mouse_key ,rega 
-0x01a7 000680 call queue_pop 
-0x01a8 000681 branch p_mouse_fill_data_le ,user 
-0x01a9 000682 rtn 
-:      000684 p_mouse_fill_data_le:
-0x01aa 000685 call le_clear_md 
-0x01ab 000686 fetch 1 ,mem_mouse_data_queue_num 
-0x01ac 000687 sub pdata ,1 ,null 
-0x01ad 000688 ncall le_set_md ,positive 
-0x01ae 000689 fetch 1 ,mem_mouse_data_queue_num 
-0x01af 000690 rtn blank 
-0x01b0 000691 increase -1 ,pdata 
-0x01b1 000692 store 1 ,mem_mouse_data_queue_num 
-0x01b2 000693 branch mouse_fill_data_le 
-:      000696 p_mouse_wheel_trigger:
-0x01b3 000697 fetch 2 ,mem_mouse_z 
-0x01b4 000698 rtn blank 
-0x01b5 000699 jam 1 ,mem_mouse_wheel_trigger 
-0x01b6 000700 jam 10 ,mem_mouse_wheel_trigger_timer 
-0x01b7 000701 rtn 
-:      000703 p_mouse_clear_sensor_data:
-0x01b8 000704 jam 1 ,mem_mouse_clear_sensor_data_flag 
-0x01b9 000705 call le_set_config_more_data 
-0x01ba 000706 branch p_mouse_sensor_poweron 
-:      000707 p_mouse_init_sensor_reset:
-0x01bb 000708 jam 1 ,mem_mouse_init_sensor_reset_flag 
-0x01bc 000709 branch p_mouse_init_sunt 
-:      000711 p_mouse_bt:
-0x01bd 000712 rtn attempt 
-0x01be 000713 fetch 1 ,mem_app_handshake_flag 
-0x01bf 000714 rtn blank 
-0x01c0 000715 call l2cap_malloc_is_fifo_nearly_full 
-0x01c1 000716 nrtn blank 
-0x01c2 000717 fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0x01c3 000718 call p_mouse_clear_sensor_data ,blank 
-0x01c4 000719 fetch mouse_flag_len ,mem_mouse_flag 
-0x01c5 000720 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
-0x01c6 000721 bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
-0x01c7 000722 call mouse_motion 
-0x01c8 000723 nrtn user 
-0x01c9 000724 call p_mouse_le_current_mult_update 
-0x01ca 000725 call p_mouse_data_xy_release 
-0x01cb 000726 call p_mouse_wheel_trigger 
-0x01cc 000727 fetch 1 ,mem_mouse_bt_boot_mode 
-0x01cd 000728 beq 1 ,p_mouse_send_data_boot_mode 
-0x01ce 000729 fetch 1 ,mem_mouse_bt_send_first_package_flag 
-0x01cf 000730 rtn blank 
-0x01d0 000731 branch mouse_send_data 
-:      000733 p_mouse_send_data_boot_mode:
-0x01d1 000734 fetch 1 ,mem_mouse_key 
-0x01d2 000735 store 1 ,mem_mouse_bt_boot_data 
-0x01d3 000736 fetch 1 ,mem_mouse_x 
-0x01d4 000737 istore 1 ,contw 
-0x01d5 000738 fetch 1 ,mem_mouse_y 
-0x01d6 000739 istore 1 ,contw 
-0x01d7 000740 fetch 2 ,mem_mouse_z 
-0x01d8 000741 istore 2 ,contw 
-0x01d9 000743 arg 7 ,rega 
-0x01da 000744 call hid_malloc_tx_buff 
-0x01db 000745 fetch 2 ,mem_hid_int_remote_cid 
-0x01dc 000746 istore 2 ,contw 
-0x01dd 000747 setarg 0x02a1 
-0x01de 000748 istore 2 ,contw 
-0x01df 000749 fetch 5 ,mem_mouse_bt_boot_data 
-0x01e0 000750 istore 5 ,contw 
-0x01e1 000751 rtn 
-:      000754 p_mouse_idle:
-0x01e2 000755 call ui_check_paring_button 
-0x01e3 000756 call p_mouse_dpi_check 
-0x01e4 000757 branch mouse_wheel_check 
-:      000759 p_mouse_dpi_check:
-0x01e5 000760 fetcht 1 ,mem_dpi_button_gpio 
-0x01e6 000761 call p_gpio_set_input_pd 
-0x01e7 000762 fetcht 1 ,mem_dpi_button_gpio 
-0x01e8 000763 call gpio_get_bit 
-0x01e9 000764 branch p_mouse_dpi_up ,true 
-0x01ea 000765 call p_gpio_set_input_pu 
-:      000766 p_mouse_dpi_down:
-0x01eb 000767 fetch 1 ,mem_mouse_dpi_button_state 
-0x01ec 000768 rtneq dpi_button_state_down 
-0x01ed 000769 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-0x01ee 000770 fetch 1 ,mem_mouse_dpi 
-0x01ef 000771 increase 1 ,pdata 
-0x01f0 000772 and pdata ,0x03 ,pdata 
-0x01f1 000773 store 1 ,mem_mouse_dpi 
-0x01f2 000777 branch mouse_seting_dpi 
-:      000778 p_mouse_dpi_up:
-0x01f3 000779 call p_gpio_set_input_pu 
-0x01f4 000780 branch mouse_dpi_up 
-:      000783 p_mouse_priority_bb_event:
-0x01f5 000784 copy regc ,pdata 
-0x01f6 000785 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-0x01f7 000786 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-0x01f8 000787 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
-0x01f9 000788 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0x01fa 000789 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-0x01fb 000790 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
-0x01fc 000791 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
-0x01fd 000792 beq bt_evt_switch_not_accept ,app_bt_role_switch 
-0x01fe 000793 beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
-0x01ff 000794 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
-0x0200 000795 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
-0x0201 000796 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
-0x0202 000797 branch mouse_priority_bb_event + 1 
-:      000799 p_mouse_le_bb_event_connected:
-0x0203 000800 call p_mouse_init_sensor_reset 
-0x0204 000801 call app_ble_store_reconn_info 
-0x0205 000802 jam 1 ,mem_mouse_le_bb_connected_flag 
-0x0206 000803 fetch 1 ,mem_mouse_le_reconnect_flag 
-0x0207 000804 nbranch p_mouse_le_bb_event_connected_next ,blank 
-0x0208 000805 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
-:      000806 p_mouse_le_bb_event_connected_next:
-0x0209 000807 jam 0 ,mem_mouse_le_not_tx_disconn 
-0x020a 000808 jam 0 ,mem_mouse_start_discovery_enable 
-0x020b 000809 call p_mouse_null_enter_hibernate_disable 
-0x020c 000810 call p_mouse_data_init 
-0x020d 000811 branch mouse_le_bb_event_connected 
-:      000813 p_mouse_le_bb_disconnected:
-0x020e 000814 call p_mouse_sensor_powerdown_check 
-0x020f 000815 jam zcode_a2 ,mem_zcode_temp_param0 
-0x0210 000816 branch p_zcode_entrance 
-:      000818 p_mouse_le_enc_info:
-:      000819 p_app_updata_le_param:
-0x0211 000820 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-0x0212 000821 branch ui_ipc_send_cmd 
-:      000823 p_mouse_le_ll_start_encryt:
-0x0213 000824 jam zcode_b3 ,mem_zcode_temp_param0 
-0x0214 000825 branch p_zcode_entrance 
-:      000827 p_mouse_le_conn_param_update_rsp_recieved:
-0x0215 000828 jam zcode_a1 ,mem_zcode_temp_param0 
-0x0216 000829 branch p_zcode_entrance 
-:      000832 p_mouse_bb_event_reconn_timeout:
-:      000833 p_mouse_bb_event_reconn_failed:
-0x0217 000834 jam zcode_a3 ,mem_zcode_temp_param0 
-0x0218 000835 branch p_zcode_entrance 
-:      000837 p_mouse_irtual_cable_unplug:
-0x0219 000838 jam zcode_70 ,mem_zcode_temp_param0 
-0x021a 000839 branch p_zcode_entrance 
-:      000841 p_mouse_sniff_not_accept:
-0x021b 000842 jam zcode_b1 ,mem_zcode_temp_param0 
-0x021c 000843 branch p_zcode_entrance 
-:      000845 p_mouse_bb_event_connected:
-0x021d 000846 call p_mouse_store_eeprom_enable 
-0x021e 000847 call p_mouse_init_sensor_reset 
-0x021f 000848 call p_mouse_null_enter_hibernate_disable 
-0x0220 000849 call p_mouse_discovey_led_blink_off 
-0x0221 000850 jam 0 ,mem_mouse_send_switch_req_timer 
-0x0222 000851 branch mouse_stop_discovery 
-:      000853 p_mouse_bb_event_disconnected:
-0x0223 000854 call p_mouse_sensor_powerdown_check 
-0x0224 000855 jam zcode_b4 ,mem_zcode_temp_param0 
-0x0225 000856 branch p_zcode_entrance 
-:      000858 p_mouse_enter_sniff_check:
-0x0226 000859 jam zcode_b2 ,mem_zcode_temp_param0 
-0x0227 000860 branch p_zcode_entrance 
-:      000863 p_mouse_before_hibernate:
-0x0228 000864 call p_mouse_sensor_powerdown_check 
-0x0229 000865 jam zcode_a0 ,mem_zcode_temp_param0 
-0x022a 000866 branch p_zcode_entrance 
-:      000868 p_mouse_sensor_powerdown_check:
-0x022b 000869 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0x022c 000870 rtn blank 
-0x022d 000871 jam 0 ,mem_mouse_init_sensor_reset_flag 
-:      000872 p_mouse_sensor_powerdown:
-0x022e 000873 call p_mouse_init_sunt 
-0x022f 000874 setarg 0x06 
-0x0230 000875 call twspi_read 
-0x0231 000876 or pdata ,0x08 ,pdata 
-0x0232 000877 lshift8 pdata ,pdata 
-0x0233 000878 add pdata ,0x06 ,pdata 
-0x0234 000879 branch twspi_write 
-:      000882 p_mouse_bb_event_timer:
-0x0235 000883 call p_mouse_adc_read 
-0x0236 000884 call p_mouse_low_voltage_led_timer 
-0x0237 000885 call p_mouse_multi_led_blink_timer 
-0x0238 000886 call p_mouse_wheel_trigger_timer 
-0x0239 000887 call p_mouse_null_enter_hibernate_timer 
-0x023a 000889 call mouse_check_discovery_timeout_timer 
-0x023b 000890 call p_mouse_select_device_by_button 
-0x023c 000892 call mouse_check_direct_timeout_timer 
-0x023d 000893 call p_mouse_le_enable_att_list_timer 
-0x023e 000894 call p_le_send_smp_security_request_timer 
-0x023f 000895 call p_mouse_le_current_mult_update_timer 
-0x0240 000896 call p_mouse_le_fast_conn_enable_timer 
-0x0241 000897 call p_mouse_send_switch_req_timer 
-0x0242 000898 call mouse_check_hid_handshake_timer 
-0x0243 000899 call p_mouse_bt_check_sniff_req_timeout_timer 
-0x0244 000900 branch mouse_check_no_data_timeout_timer 
-:      000902 p_mouse_store_eeprom_enable:
-0x0245 000903 arg mouse_store_eeprom_flag ,queue 
-0x0246 000904 branch mouse_enable_function_flag 
-:      000908 p_mouse_set_select_state:
-0x0247 000909 jam 1 ,mem_select_device_button_press_flag 
-0x0248 000910 rtn 
-:      000912 p_mouse_clear_select_state:
-0x0249 000913 jam 0 ,mem_select_device_button_press_flag 
-0x024a 000914 rtn 
-:      000916 p_mouse_select_device_by_button:
-0x024b 000917 fetch 1 ,mem_select_device_button_press_flag 
-0x024c 000918 branch p_mouse_select_device_button_up ,blank 
-:      000919 p_mouse_select_device_button_down:
-0x024d 000920 call p_mouse_bt_discovery_timer 
-0x024e 000921 fetch 1 ,mem_select_device_button_statue 
-0x024f 000922 rtneq pb_button_state_down 
-0x0250 000923 fetch 2 ,mem_mouse_direct_timeout 
-0x0251 000924 store 2 ,mem_mouse_direct_timer 
-0x0252 000925 force page_length_timer ,queue 
-0x0253 000926 fetch 2 ,mem_page_to 
-0x0254 000927 call timer_init 
-0x0255 000928 jam pb_button_state_down ,mem_select_device_button_statue 
-0x0256 000929 rtn 
-:      000932 p_mouse_select_device_button_up:
-0x0257 000933 fetch 1 ,mem_select_device_button_statue 
-0x0258 000934 rtneq pb_button_state_up 
-0x0259 000935 fetch 1 ,mem_select_ui_button_count 
-0x025a 000936 sub pdata ,20 ,null 
-0x025b 000937 ncall p_mouse_ready_reconnection_by_button ,positive 
-0x025c 000939 fetch 1 ,mem_ui_button_timeout 
-0x025d 000940 store 1 ,mem_select_ui_button_count 
-0x025e 000941 jam pb_button_state_up ,mem_select_device_button_statue 
-0x025f 000942 rtn 
-:      000944 p_mouse_ready_reconnection_by_button:
-0x0260 000945 fetcht 1 ,mem_device_flag 
-0x0261 000946 increase 1 ,temp 
-0x0262 000947 fetch 1 ,mem_device_number 
-0x0263 000948 isub temp ,null 
-0x0264 000949 ncall mouse_select_device_count_clean ,positive 
-0x0265 000950 storet 1 ,mem_device_flag 
-0x0266 000951 jam 0 ,mem_link_key_exists 
-0x0267 000952 call p_mouse_store_flash_device_info 
-0x0268 000958 branch mouse_ready_reconnection_by_button + 8 
-:      000961 p_mouse_send_switch_req_timer:
-0x0269 000962 arg mem_mouse_send_switch_req_timer ,regc 
-0x026a 000963 arg host_create_conn_resend ,regb 
-0x026b 000964 branch timer_single_step 
-:      000966 p_mouse_bt_check_sniff_req_timeout_timer:
-0x026c 000967 arg mem_mouse_bt_send_first_package_timer ,regc 
-0x026d 000968 arg p_mouse_bt_send_first_package ,regb 
-0x026e 000969 branch timer_single_step 
-:      000970 p_mouse_bt_send_first_package:
-0x026f 000971 jam 1 ,mem_mouse_bt_send_first_package_flag 
-0x0270 000972 rtn 
-:      000975 p_mouse_le_enable_att_list_timer:
-0x0271 000976 arg mem_le_start_encrypt_timer ,regc 
-0x0272 000977 arg mouse_le_write_enable ,regb 
-0x0273 000978 branch timer_single_step 
-:      000980 p_le_send_smp_security_request_timer:
-0x0274 000981 fetch 1 ,mem_mouse_le_bb_connected_flag 
-0x0275 000982 rtn blank 
-0x0276 000983 arg mem_mouse_send_secutiry_request_timer ,regc 
-0x0277 000984 arg p_le_pairing_sm_start_check ,regb 
-0x0278 000985 branch timer_single_step 
-:      000986 p_le_pairing_sm_start_check:
-0x0279 000987 fetch 1 ,mem_le_send_security_request_flag 
-0x027a 000988 nrtn blank 
-0x027b 000989 branch le_pairing_sm_start 
-:      000991 p_mouse_le_current_mult_update_timer:
-0x027c 000992 arg mem_mouse_le_current_mult_timer ,regc 
-0x027d 000993 arg p_mouse_le_current_mult_reinit ,regb 
-0x027e 000994 branch timer_single_step 
-:      000995 p_mouse_le_current_mult_reinit:
-0x027f 000996 fetch 1 ,mem_lpm_mult_init 
-0x0280 000997 store 1 ,mem_lpm_mult 
-0x0281 000998 jam 1 ,mem_mouse_long_mult_flag 
-0x0282 000999 rtn 
-:      001000 p_mouse_le_fast_conn_enable_timer:
-0x0283 001001 fetch 1 ,mem_mouse_fast_conn_flag 
-0x0284 001002 rtnne 0xff 
-0x0285 001003 fetch 1 ,mem_mouse_le_bb_connected_flag 
-0x0286 001004 nrtn blank 
-0x0287 001005 arg mem_mouse_le_fast_conn_enable_timer ,regc 
-0x0288 001006 arg p_mouse_le_fast_conn_enable_timeout ,regb 
-0x0289 001007 branch timer_single_step 
-:      001009 p_mouse_le_fast_conn_enable_timeout:
-0x028a 001010 branch p_mouse_start_discovery 
-:      001012 p_mouse_wheel_trigger_timer:
-0x028b 001013 arg mem_mouse_wheel_trigger_timer ,regc 
-0x028c 001014 arg p_mouse_wheel_trigger_disable ,regb 
-0x028d 001015 branch timer_single_step 
-:      001016 p_mouse_wheel_trigger_disable:
-0x028e 001017 jam 0 ,mem_mouse_wheel_trigger 
-0x028f 001018 rtn 
-:      001034 p_mouse_bt_discovery_button_up_init:
-0x0290 001035 arg mouse_bt_discovery_button_long_down_flag ,queue 
-0x0291 001036 call mouse_disable_function_flag 
-0x0292 001037 branch mouse_bt_discovery_button_down_disable 
-:      001043 p_mouse_bt_discovery_timer:
-0x0293 001044 arg mem_select_ui_button_count ,regc 
-0x0294 001045 arg p_mouse_long_button_bt_discovery ,regb 
-0x0295 001046 branch timer_single_step 
-:      001047 p_mouse_long_button_bt_discovery:
-0x0296 001048 fetch 1 ,mem_device_flag 
-0x0297 001049 rtneq mode_24g_device 
-0x0298 001050 fetch 2 ,mem_ui_state_map 
-0x0299 001051 isolate1 ui_state_ble_adv ,pdata 
-0x029a 001052 call mouse_stop_le_adv ,true 
-0x029b 001053 fetch 2 ,mem_ui_state_map 
-0x029c 001054 isolate1 ui_state_bt_reconnect ,pdata 
-0x029d 001055 call mouse_cancel_reconnect ,true 
-0x029e 001056 branch mouse_long_button_bt_discovry 
-:      001058 p_mouse_fast_conn_adv_switch_timer_reinit:
-0x029f 001059 fetch 2 ,mem_discovery_timeout 
-0x02a0 001060 store 2 ,mem_mouse_discovery_timer 
-0x02a1 001061 rtn 
-:      001063 p_mouse_null_enter_hibernate_timer:
-0x02a2 001064 fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-0x02a3 001065 rtn blank 
-0x02a4 001066 arg mem_mouse_null_enter_hibernate_timer ,regc 
-0x02a5 001067 arg p_mouse_null_enter_hibernate ,regb 
-0x02a6 001068 branch timer_single_step 
-:      001069 p_mouse_null_enter_hibernate:
-0x02a7 001070 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-0x02a8 001071 branch app_enter_hibernate 
-:      001077 p_mouse_null_enter_hibernate_enable:
-0x02a9 001078 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-0x02aa 001079 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-0x02ab 001080 rtn 
-:      001081 p_mouse_null_enter_hibernate_disable:
-0x02ac 001082 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-0x02ad 001083 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-0x02ae 001084 rtn 
-:      001086 p_mouse_multi_led_blink_timer:
-0x02af 001087 fetch 1 ,mem_mouse_multi_led_blink_enable 
-0x02b0 001088 rtn blank 
-0x02b1 001089 fetch 1 ,mem_mouse_multi_led_type 
-0x02b2 001090 beq multi_led_blink ,p_mouse_multi_led_type_blink 
-:      001091 p_mouse_multi_led_type_on:
-0x02b3 001092 call p_mouse_multi_led_on 
-0x02b4 001093 fetch 1 ,mem_mouse_multi_led_on_timer 
-0x02b5 001094 increase 1 ,pdata 
-0x02b6 001095 store 1 ,mem_mouse_multi_led_on_timer 
-0x02b7 001096 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
-0x02b8 001097 isub temp ,null 
-0x02b9 001098 call p_mouse_multi_led_off_poweron2s ,zero 
-0x02ba 001099 rtn 
-:      001100 p_mouse_multi_led_off_poweron2s:
-0x02bb 001101 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
-0x02bc 001102 branch p_mouse_multi_led_off 
-:      001104 p_mouse_discovery_multi_led_blink:
-0x02bd 001105 jam 5 ,mem_mouse_multi_led_blink_timer_init 
-:      001106 p_mouse_discovery_multi_led_blink1:
-0x02be 001107 jam 0 ,mem_mouse_multi_led_blink_count_limited 
-0x02bf 001108 jam 1 ,mem_mouse_multi_led_blink_count 
-:      001109 p_mouse_multi_led_blink_enable:
-0x02c0 001110 jam 5 ,mem_mouse_multi_led_blink_timer 
-0x02c1 001111 jam on ,mem_mouse_multi_led_blink_enable 
-0x02c2 001112 jam multi_led_blink ,mem_mouse_multi_led_type 
-0x02c3 001113 rtn 
-:      001119 p_mouse_multi_led_type_blink:
-0x02c4 001120 arg mem_mouse_multi_led_blink_timer ,regc 
-0x02c5 001121 arg p_mouse_multi_led_type_blink_timeout ,regb 
-0x02c6 001122 branch timer_single_step 
-:      001123 p_mouse_multi_led_type_blink_timeout:
-0x02c7 001124 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-0x02c8 001125 store 1 ,mem_mouse_multi_led_blink_timer 
-0x02c9 001126 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
-0x02ca 001127 branch p_mouse_multi_led_blink_count_no_limited ,blank 
-0x02cb 001128 fetch 1 ,mem_mouse_multi_led_blink_count 
-0x02cc 001129 branch p_mouse_multi_led_blink_off ,blank 
-0x02cd 001130 increase -1 ,pdata 
-0x02ce 001131 store 1 ,mem_mouse_multi_led_blink_count 
-:      001132 p_mouse_multi_led_blink_count_no_limited:
-0x02cf 001133 fetch 1 ,mem_mouse_multi_led_state 
-0x02d0 001134 beq on ,p_mouse_multi_led_off 
-:      001135 p_mouse_multi_led_on:
-0x02d1 001136 jam on ,mem_mouse_multi_led_state 
-0x02d2 001137 fetch 1 ,mem_mouse_multi_led_on_timer 
-0x02d3 001138 nbranch p_mouse_multi_up_led_on ,blank 
-0x02d4 001139 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0x02d5 001140 nbranch p_mouse_multi_up_led_on ,blank 
-0x02d6 001141 fetch 1 ,mem_mouse_multi_led_type 
-0x02d7 001142 nbranch p_mouse_multi_up_led_on ,blank 
-0x02d8 001144 fetch 1 ,mem_adc_power_flag 
-0x02d9 001145 bbit1 0 ,p_mouse_low_vdd_led_on 
-:      001146 p_mouse_multi_up_led_on:
-0x02da 001147 fetcht 1 ,mem_mouse_multi_led_gpio 
-0x02db 001148 set1 gpio_active_bit ,temp 
-0x02dc 001149 call gpio_config_output 
-0x02dd 001150 fetcht 1 ,mem_mouse_multi_led_gpio 
-0x02de 001151 branch gpio_out_active 
-:      001152 p_mouse_low_vdd_led_on:
-0x02df 001153 jam 1 ,mem_24g_device_led_status 
-0x02e0 001154 hfetch 1 ,core_gpio_pd0 
-0x02e1 001155 set0 5 ,pdata 
-0x02e2 001156 hstore 1 ,core_gpio_pd0 
-0x02e3 001157 fetcht 1 ,mem_device_24g_led_gpio 
-0x02e4 001158 call gpio_config_output 
-0x02e5 001159 fetcht 1 ,mem_device_24g_led_gpio 
-0x02e6 001160 branch gpio_out_inactive 
-:      001162 p_mouse_discovey_led_blink_off:
-0x02e7 001163 fetch 1 ,mem_mouse_multi_led_on_timer 
-0x02e8 001164 nrtn blank 
-0x02e9 001165 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0x02ea 001166 nrtn blank 
-:      001167 p_mouse_multi_led_blink_off:
-0x02eb 001168 setarg 0 
-0x02ec 001169 store 3 ,mem_mouse_multi_led_blink_timer 
-:      001170 p_mouse_multi_led_off:
-0x02ed 001171 fetch 1 ,mem_mouse_multi_led_blink_count 
-0x02ee 001172 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
-0x02ef 001173 jam 0 ,mem_mouse_multi_led_blink_enable 
-0x02f0 001174 jam 0 ,mem_mouse_multi_led_type 
-:      001175 p_mouse_multi_led_off_wait_blink_over:
-0x02f1 001176 jam 0 ,mem_mouse_multi_led_on_timer 
-0x02f2 001177 jam off ,mem_mouse_multi_led_state 
-:      001178 p_mouse_multi_led_gpio_set_float:
-0x02f3 001179 fetch 1 ,mem_mouse_multi_led_gpio 
-0x02f4 001180 rtneq ui_button_gpio_disable 
-0x02f5 001181 fetcht 1 ,mem_mouse_multi_led_gpio 
-:      001182 p_mouse_set_gpio_suspend:
-0x02f6 001183 call p_gpio_set_input_pu 
-:      001184 p_mouse_low_vdd_led_off:
-0x02f7 001185 jam 0 ,mem_24g_device_led_status 
-0x02f8 001186 fetcht 1 ,mem_device_24g_led_gpio 
-0x02f9 001187 branch p_gpio_set_input_high_impedance 
-:      001190 p_mouse_mode_bt_device1_multi_led_on:
-:      001191 p_mouse_mode_24g_device_multi_led_on:
-0x02fa 001192 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0x02fb 001193 jam on ,mem_mouse_multi_led_blink_enable 
-0x02fc 001194 jam multi_led_on ,mem_mouse_multi_led_type 
-0x02fd 001195 jam 0 ,mem_mouse_multi_led_on_timer 
-0x02fe 001196 rtn 
-:      001209 p_mouse_adc_read:
-0x02ff 001210 fetch 2 ,mem_mouse_multi_led_blink_count 
-0x0300 001211 nrtn blank 
-0x0301 001212 fetch 1 ,mem_adc_read_timer 
-0x0302 001213 increase 1 ,pdata 
-0x0303 001214 store 1 ,mem_adc_read_timer 
-0x0304 001215 sub pdata ,10 ,null 
-0x0305 001216 call p_mouse_adc_read_gpio5 ,positive 
-0x0306 001217 ncall p_mouse_adc_read_vinlpm ,positive 
-0x0307 001218 call adc_init_data 
-0x0308 001219 call p_adc_set_mode 
-0x0309 001220 call vdd_calculate_by_mode 
-0x030a 001221 store 2 ,mem_mouse_vdd_now_vol 
-0x030b 001222 arg mem_mouse_vdd_calculate_set ,rega 
-0x030c 001223 call p_adc_bat_percent_lowpower_out 
-0x030d 001224 fetch 1 ,mem_adc_power_flag 
-0x030e 001225 bbit1 2 ,p_mouse_set_select_state 
-0x030f 001226 bbit1 1 ,app_enter_hibernate 
-0x0310 001227 bbit0 0 ,p_mouse_adc_no_low_voltage 
-0x0311 001228 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
-0x0312 001229 branch mouse_adc_low_voltage 
-:      001231 p_mouse_adc_read_gpio5:
-0x0313 001232 fetch 1 ,mem_24g_device_led_status 
-0x0314 001233 nbranch p_mouse_adc_read_vinlpm ,blank 
-0x0315 001234 jam adc_config_gpio ,mem_adc_config_flag 
-0x0316 001235 rtn 
-:      001236 p_mouse_adc_read_vinlpm:
-0x0317 001237 jam 0 ,mem_adc_read_timer 
-0x0318 001238 jam adc_config_vinlpm ,mem_adc_config_flag 
-0x0319 001239 rtn 
-:      001241 p_vdd_calculate_by_mode:
-0x031a 001242 fetch 1 ,mem_adc_config_flag 
-0x031b 001243 beq adc_config_gpio ,p_vdd_calculate_io 
-0x031c 001244 branch vdd_calculate_by_mode + 2 
-:      001246 p_vdd_calculate_io:
-0x031d 001247 fetch 2 ,mem_1v_adc_io_data 
-0x031e 001248 fetcht 2 ,mem_0_5_adc_io_data 
-0x031f 001249 arg 50 ,regc 
-0x0320 001250 branch p_vdd_calculate 
-:      001252 p_vdd_calculate:
-0x0321 001253 isub temp ,rega 
-0x0322 001254 fetch 2 ,mem_adc_current_value 
-0x0323 001255 isub temp ,pdata 
-0x0324 001256 nbranch p_vdd_calculate1 ,positive 
-0x0325 001257 branch vdd_calculate + 4 
-:      001259 p_vdd_calculate1:
-0x0326 001260 copy temp ,pdata 
-0x0327 001261 fetcht 2 ,mem_adc_current_value 
-0x0328 001262 isub temp ,pdata 
-0x0329 001263 isub rega ,null 
-0x032a 001264 call p_vdd_calculate2 ,positive 
-0x032b 001265 branch vdd_calculate1 + 3 
-:      001268 p_vdd_calculate2:
-0x032c 001269 copy rega ,pdata 
-0x032d 001270 rtn 
-:      001272 p_mouse_adc_no_low_voltage:
-0x032e 001273 call mouse_adc_no_low_voltage 
-0x032f 001274 fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
-0x0330 001275 rtn blank 
-0x0331 001276 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
-0x0332 001277 branch p_mouse_low_vdd_led_off 
-:      001279 p_adc_set_mode:
-0x0333 001280 fetch 1 ,mem_adc_config_flag 
-0x0334 001281 beq adc_config_gpio ,p_adc_check_gpio 
-0x0335 001282 branch adc_set_mode + 1 
-:      001283 p_adc_check_gpio:
-0x0336 001284 hfetch 1 ,core_gpio_pd0 
-0x0337 001285 set0 5 ,pdata 
-0x0338 001286 hstore 1 ,core_gpio_pd0 
-0x0339 001287 branch adc_check_gpio 
-:      001289 p_adc_bat_percent_lowpower_out:
-0x033a 001290 ifetch 8 ,rega 
-0x033b 001291 store 8 ,mem_pdatatemp 
-0x033c 001292 fetch 1 ,mem_adc_config_flag 
-0x033d 001293 beq adc_config_gpio ,p_adc_check_gpio5 
-0x033e 001294 beq adc_config_vinlpm ,p_adc_check_vinlpm 
-:      001295 p_adc_check_vinlpm:
-0x033f 001296 fetch 2 ,mem_pdatatemp + 6 
-0x0340 001297 fetcht 2 ,mem_pdatatemp + 2 
-0x0341 001298 isub temp ,null 
-0x0342 001299 nbranch adc_set_no_power_flag ,positive 
-0x0343 001300 call p_adc_clear_no_power_flag 
-0x0344 001301 fetcht 2 ,mem_pdatatemp + 4 
-0x0345 001302 isub temp ,null 
-0x0346 001303 nbranch adc_set_low_power_flag ,positive 
-:      001304 p_adc_clear_low_power_flag:
-0x0347 001305 fetch 1 ,mem_adc_power_flag 
-0x0348 001306 set0 0 ,pdata 
-0x0349 001307 store 1 ,mem_adc_power_flag 
-0x034a 001308 rtn 
-:      001309 p_adc_check_gpio5:
-0x034b 001310 fetcht 2 ,mem_mouse_vdd_0v 
-0x034c 001311 fetch 2 ,mem_pdatatemp + 6 
-0x034d 001312 isub temp ,null 
-0x034e 001313 nbranch p_adc_set_pb_press_flag ,positive 
-0x034f 001314 call p_mouse_clear_select_state 
-0x0350 001315 branch p_adc_clear_pb_press_flag 
-:      001317 p_adc_clear_no_power_flag:
-0x0351 001318 fetcht 1 ,mem_adc_power_flag 
-0x0352 001319 set0 1 ,temp 
-0x0353 001320 storet 1 ,mem_adc_power_flag 
-0x0354 001321 rtn 
-:      001322 p_adc_set_pb_press_flag:
-0x0355 001323 fetcht 1 ,mem_adc_power_flag 
-0x0356 001324 set1 2 ,temp 
-0x0357 001325 storet 1 ,mem_adc_power_flag 
-0x0358 001326 rtn 
-:      001328 p_adc_clear_pb_press_flag:
-0x0359 001329 fetcht 1 ,mem_adc_power_flag 
-0x035a 001330 set0 2 ,temp 
-0x035b 001331 storet 1 ,mem_adc_power_flag 
-0x035c 001332 rtn 
-:      001334 p_mouse_low_voltage_led_timer:
-0x035d 001335 fetch mouse_flag_len ,mem_mouse_flag 
-0x035e 001336 rtnbit0 mouse_low_voltage_flag 
-0x035f 001337 fetch 2 ,mem_ui_state_map 
-0x0360 001338 rtnbit1 ui_state_ble_adv 
-0x0361 001339 rtnbit1 ui_state_bt_discovery 
-0x0362 001340 fetch 2 ,mem_mouse_multi_led_blink_count 
-0x0363 001341 nrtn blank 
-0x0364 001343 fetch 1 ,mem_adc_low_volatage_led_timer_count 
-0x0365 001344 pincrease 1 
-0x0366 001345 store 1 ,mem_adc_low_volatage_led_timer_count 
-0x0367 001346 beq 5 ,p_mouse_multi_led_on 
-0x0368 001347 sub pdata ,10 ,null 
-0x0369 001348 nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
-0x036a 001349 rtn 
-:      001350 p_mouse_adc_low_volatage_led_timer_count_clean:
-0x036b 001351 jam 1 ,mem_adc_low_volatage_led_timer_count 
-0x036c 001352 branch p_mouse_multi_led_off 
-:      001356 p_mouse_sensor_poweron:
-0x036d 001357 call p_mouse_spi_init 
-0x036e 001360 setarg 0x8006 
-0x036f 001361 call twspi_write 
-0x0370 001362 nop 12000 
-:      001363 p_mouse_dpi_config:
-0x0371 001364 fetch 1 ,mem_mouse_dpi 
-0x0372 001365 bne 0xff ,p_mouse_seting_dpi 
-:      001366 p_mouse_dpi_config_default:
-0x0373 001367 fetch 1 ,mem_config_sensor_motion 
-0x0374 001368 store 1 ,mem_mouse_dpi 
-:      001369 p_mouse_seting_dpi:
-:      001370 p_mouse_seting_sensor_type:
-:      001376 p_mouse_seting_320x_dpi:
-0x0375 001377 fetch 1 ,mem_mouse_dpi 
-0x0376 001378 sub pdata ,mouse_dpi_level2 ,null 
-0x0377 001379 call p_mouse_320x_dpi_recount ,zero 
-0x0378 001380 fetch 1 ,mem_mouse_dpi 
-0x0379 001381 beq mouse_dpi_level1 ,p_mouse_set_cpi1 
-0x037a 001382 beq mouse_dpi_level4 ,p_mouse_set_cpi4 
-:      001383 p_mouse_set_cpi3:
-0x037b 001384 fetch 1 ,mem_config_sensor_type 
-0x037c 001385 beq p3065_xy ,p_mouse_3065xy_set_cpi3 
-0x037d 001386 beq mx8650 ,p_mouse_3065xy_set_cpi3 
-0x037e 001387 beq ka8 ,p_mouse_ka8_set_cpi3 
-:      001388 p_mouse_320x_set_cpi3:
-0x037f 001389 fetch 1 ,mem_320x_dpi_3 
-:      001390 p_mouse_dpi_store:
-0x0380 001391 store 1 ,mem_mouse_cpi_count 
-0x0381 001392 branch mouse_p3205_dpi + 3 
-:      001393 p_mouse_320x_dpi_recount:
-0x0382 001394 jam mouse_dpi_level3 ,mem_mouse_dpi 
-0x0383 001395 rtn 
-:      001397 p_mouse_set_cpi1:
-0x0384 001398 fetch 1 ,mem_config_sensor_type 
-0x0385 001399 beq p3065_xy ,p_mouse_3065xy_set_cpi1 
-0x0386 001400 beq mx8650 ,p_mouse_3065xy_set_cpi1 
-0x0387 001401 beq ka8 ,p_mouse_ka8_set_cpi1 
-:      001402 p_mouse_320x_set_cpi1:
-0x0388 001403 fetch 1 ,mem_320x_dpi_1 
-0x0389 001404 branch p_mouse_dpi_store 
-:      001406 p_mouse_set_cpi4:
-0x038a 001407 fetch 1 ,mem_config_sensor_type 
-0x038b 001408 beq p3065_xy ,p_mouse_3065xy_set_cpi4 
-0x038c 001409 beq mx8650 ,p_mouse_3065xy_set_cpi4 
-0x038d 001410 beq ka8 ,p_mouse_ka8_set_cpi4 
-:      001411 p_mouse_320x_set_cpi4:
-0x038e 001412 fetch 1 ,mem_320x_dpi_4 
-0x038f 001413 branch p_mouse_dpi_store 
-:      001415 p_mouse_3065xy_set_cpi3:
-0x0390 001416 fetch 1 ,mem_3065xy_dpi_3 
-0x0391 001417 branch p_mouse_dpi_store 
-:      001418 p_mouse_3065xy_set_cpi1:
-0x0392 001419 fetch 1 ,mem_3065xy_dpi_1 
-0x0393 001420 branch p_mouse_dpi_store 
-:      001421 p_mouse_3065xy_set_cpi4:
-0x0394 001422 fetch 1 ,mem_3065xy_dpi_4 
-0x0395 001423 branch p_mouse_dpi_store 
-:      001425 p_mouse_ka8_set_cpi3:
-0x0396 001426 fetch 1 ,mem_3065xy_dpi_3 
-:      001427 p_mouse_ka8_dpi_store:
-0x0397 001428 increase 3 ,pdata 
-0x0398 001429 branch p_mouse_dpi_store 
-:      001430 p_mouse_ka8_set_cpi1:
-0x0399 001431 fetch 1 ,mem_3065xy_dpi_1 
-0x039a 001432 branch p_mouse_ka8_dpi_store 
-:      001433 p_mouse_ka8_set_cpi4:
-0x039b 001434 fetch 1 ,mem_3065xy_dpi_4 
-0x039c 001435 branch p_mouse_ka8_dpi_store 
-:      001447 p_mouse_motion:
-0x039d 001448 disable user 
-0x039e 001449 setarg 0 
-0x039f 001450 store 6 ,mem_mouse_x 
-0x03a0 001451 call p_mouse_cheak_sensor_data 
-0x03a1 001452 call mouse_zwheel 
-0x03a2 001453 call mouse_t_zwheel 
-0x03a3 001454 call p_mouse_key 
-0x03a4 001455 nbranch p_drawing_optima_init ,user 
-0x03a5 001456 call p_drawing_optima 
-0x03a6 001457 branch mouse_motion + 9 
-:      001459 p_mouse_key:
-0x03a7 001460 call p_mouse_check_key_gpio 
-0x03a8 001461 branch mouse_key + 1 
-:      001463 p_mouse_check_key_gpio:
-0x03a9 001464 arg 0 ,rega 
-0x03aa 001465 call p_mouse_check_lkey_gpio 
-0x03ab 001468 call p_mouse_check_skey_gpio 
-0x03ac 001469 branch mouse_check_key_gpio_output 
-:      001470 p_mouse_check_skey_gpio:
-0x03ad 001473 call p_mouse_check_bk_key_gpio 
-0x03ae 001474 branch p_mouse_check_fw_key_gpio 
-:      001476 p_mouse_check_lkey_gpio:
-0x03af 001477 fetcht 1 ,mem_lbutton_gpio 
-0x03b0 001478 call p_gpio_set_input_pu 
-0x03b1 001479 fetcht 1 ,mem_lbutton_gpio 
-0x03b2 001480 call gpio_get_bit 
-0x03b3 001481 setflag true ,0 ,rega 
-:      001483 p_mouse_check_rkey_gpio:
-0x03b4 001484 fetcht 1 ,mem_rbutton_gpio 
-0x03b5 001485 call p_gpio_set_input_pu 
-0x03b6 001486 fetcht 1 ,mem_rbutton_gpio 
-0x03b7 001487 call gpio_get_bit 
-0x03b8 001488 setflag true ,1 ,rega 
-:      001490 p_mouse_check_mkey_gpio:
-0x03b9 001491 fetcht 1 ,mem_mbutton_gpio 
-0x03ba 001492 call p_gpio_set_input_pu 
-0x03bb 001493 fetcht 1 ,mem_mbutton_gpio 
-0x03bc 001494 call gpio_get_bit 
-0x03bd 001495 setflag true ,2 ,rega 
-0x03be 001496 rtn 
-:      001497 p_mouse_check_bk_key_gpio:
-0x03bf 001498 fetcht 1 ,mem_bk_button_gpio 
-0x03c0 001499 call p_gpio_set_input_pd 
-0x03c1 001500 fetcht 1 ,mem_bk_button_gpio 
-0x03c2 001501 call gpio_get_bit 
-0x03c3 001502 nsetflag true ,3 ,rega 
-0x03c4 001503 branch p_gpio_set_input_pu 
-:      001504 p_mouse_check_fw_key_gpio:
-0x03c5 001505 fetcht 1 ,mem_fw_button_gpio 
-0x03c6 001506 call p_gpio_set_input_pd 
-0x03c7 001507 fetcht 1 ,mem_fw_button_gpio 
-0x03c8 001508 call gpio_get_bit 
-0x03c9 001509 nsetflag true ,4 ,rega 
-:      001510 p_gpio_set_input_pu:
-0x03ca 001511 set1 gpio_active_bit ,temp 
-0x03cb 001512 arg core_gpio_pu0 ,contw 
-0x03cc 001513 call gpio_set_bit 
-0x03cd 001514 set0 gpio_active_bit ,temp 
-0x03ce 001515 branch p_gpio_set_input_pd4 
-:      001517 p_gpio_set_input_pd:
-0x03cf 001518 set0 gpio_active_bit ,temp 
-0x03d0 001519 arg core_gpio_pu0 ,contw 
-0x03d1 001520 call gpio_set_bit 
-0x03d2 001521 set1 gpio_active_bit ,temp 
-:      001522 p_gpio_set_input_pd4:
-0x03d3 001523 arg core_gpio_pd0 ,contw 
-0x03d4 001524 branch gpio_set_high_impedance + 4 
-:      001526 p_gpio_set_input_high_impedance:
-0x03d5 001527 set0 gpio_active_bit ,temp 
-0x03d6 001528 branch gpio_set_high_impedance 
-:      001531 p_mouse_cheak_sensor_data:
-:      001534 p_mouse_p32xx_sensor_motion:
-0x03d7 001535 call mouse_clear_sensor_data 
-0x03d8 001536 disable user 
-0x03d9 001537 branch mouse_p32xx_sensor_motion_2 
-:      001542 p_mouse_bb_event_discovery_btn:
-0x03da 001543 call p_mouse_null_enter_hibernate_disable 
-0x03db 001544 jam 0 ,mem_mouse_send_blank_timer 
-0x03dc 001545 fetch 1 ,mem_mouse_le_not_tx_disconn 
-0x03dd 001546 call mouse_disconnect ,blank 
-0x03de 001547 setarg 0 
-0x03df 001548 store 2 ,mem_mouse_no_data_timer 
-0x03e0 001549 branch mouse_bb_event_discovery_btn + 3 
-:      001551 p_mouse_start_discovery:
-0x03e1 001552 jam zcode_30 ,mem_zcode_temp_param0 
-0x03e2 001553 branch p_zcode_entrance 
-:      001555 p_le_adv_data_update:
-0x03e3 001556 arg mem_le_adv_data + 11 ,contw 
-0x03e4 001557 arg 19 ,loopcnt 
-0x03e5 001558 call memcpy 
-0x03e6 001559 branch le_modified_name_adv 
-:      001561 p_mouse_stop_discovery:
-0x03e7 001562 call p_mouse_discovey_led_blink_off 
-0x03e8 001563 call p_mouse_sensor_poweron 
-0x03e9 001564 branch mouse_stop_discovery + 1 
-:      001566 p_le_slave_match:
-0x03ea 001567 fetch 1 ,mem_le_md_count 
-0x03eb 001568 pincrease 1 
-0x03ec 001569 store 1 ,mem_le_md_count 
-0x03ed 001570 beq le_md_max_count ,le_slave_cont 
-0x03ee 001571 call le_acknowledge 
-0x03ef 001572 call le_prepare_tx 
-0x03f0 001573 call power_ctrl_start 
-0x03f1 001574 branch le_slave_match + 7 
-:      001576 p_le_next_adv_channel:
-0x03f2 001577 fetch 1 ,mem_le_ch_mapped 
-0x03f3 001578 increase 1 ,pdata 
-0x03f4 001579 store 1 ,mem_le_ch_mapped 
-0x03f5 001580 rtnne 40 
-0x03f6 001581 jam 37 ,mem_le_ch_mapped 
-0x03f7 001582 rtn 
-:      001585 p_le_receive_skip:
-0x03f8 001586 call save_rssi 
-0x03f9 001587 call p_rssi_signal 
-0x03fa 001588 branch le_receive_skip + 2 
-:      001590 p_le_update_param:
-0x03fb 001591 jam zcode_20 ,mem_zcode_temp_param0 
-0x03fc 001592 branch p_zcode_entrance 
-:      001594 p_le_update_channel_map:
-0x03fd 001595 jam zcode_21 ,mem_zcode_temp_param0 
-0x03fe 001596 branch p_zcode_entrance 
-:      001598 p_le_prepare_tx:
-0x03ff 001599 fetch 1 ,mem_le_arq 
-0x0400 001600 bbit1 wak ,p_le_prepare_tx_wak 
-0x0401 001601 call power_ctrl_pac_succ_incrs 
-0x0402 001602 fetch 1 ,mem_empty_count 
-0x0403 001603 nbranch p_le_send_empyt ,blank 
-0x0404 001604 fetch 1 ,mem_le_state 
-0x0405 001605 bbit0 lestate_encryption ,p_le_tx_4 
-0x0406 001606 fetch 1 ,mem_le_rxbuf + 1 
-0x0407 001607 branch p_le_tx_4 ,blank 
-0x0408 001608 branch le_send_empty 
-:      001609 p_le_send_empyt:
-0x0409 001610 fetch 1 ,mem_empty_count 
-0x040a 001611 increase -1 ,pdata 
-0x040b 001612 store 1 ,mem_empty_count 
-0x040c 001613 branch le_send_empty 
-:      001614 p_le_tx_4:
-0x040d 001615 fetch 1 ,mem_le_pairing_state 
-0x040e 001616 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-0x040f 001617 jam 3 ,mem_empty_count 
-:      001618 p_in_le_tx_4:
-0x0410 001619 call le_fifo_check_nearly_full 
-0x0411 001620 call p_mouse_data_pull ,blank 
-0x0412 001621 branch le_prepare_tx + 4 
-:      001623 p_le_check_tx_retransmit_setmd:
-0x0413 001624 fetch 1 ,mem_le_connect_status_flag 
-0x0414 001625 and pdata ,0x03 ,pdata 
-0x0415 001626 rtnne 0x03 
-0x0416 001627 fetch 1 ,mem_mouse_data_queue_num 
-0x0417 001628 rtn blank 
-0x0418 001629 fetch 1 ,mem_le_txlen 
-0x0419 001630 rtn blank 
-0x041a 001631 fetch 1 ,mem_le_txheader 
-0x041b 001632 set1 md ,pdata 
-0x041c 001633 store 1 ,mem_le_txheader 
-0x041d 001634 call le_set_md 
-0x041e 001635 rtn 
-:      001637 p_le_prepare_tx_wak:
-0x041f 001638 call p_le_check_tx_retransmit_setmd 
-:      001639 p_le_power_ctrl_pac_succ_decrs:
-:      001640 power_ctrl_pac_succ_decrs:
-0x0420 001641 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0421 001642 sub pdata ,2 ,null 
-0x0422 001643 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-0x0423 001644 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0424 001645 rtneq 0 
-0x0425 001646 increase -1 ,pdata 
-0x0426 001647 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0427 001648 rtn 
-:      001650 p_mouse_le_reconn_write_enable_timer_reinit:
-0x0428 001651 fetch 1 ,mem_mouse_le_reconnect_flag 
-0x0429 001652 rtn blank 
-0x042a 001653 fetch 1 ,mem_le_connect_status_flag 
-0x042b 001654 and pdata ,0x03 ,pdata 
-0x042c 001655 rtneq 0x03 
-0x042d 001656 jam 2 ,mem_le_start_encrypt_timer 
-0x042e 001657 rtn 
-:      001659 p_le_parse:
-0x042f 001660 rtnmark1 mark_old_packet 
-0x0430 001661 call le_fifo_check_full 
-0x0431 001662 nrtn blank 
-0x0432 001663 fetch 1 ,mem_le_rxbuf 
-0x0433 001664 and pdata ,0x3 ,pdata 
-0x0434 001665 store 1 ,mem_le_packet_llid 
-0x0435 001666 ifetch 1 ,contr 
-0x0436 001667 and pdata ,0x1f ,pdata 
-0x0437 001668 store 1 ,mem_le_packet_size 
-0x0438 001669 rtn blank 
-0x0439 001670 copy contr ,pdata 
-0x043a 001671 store 2 ,mem_le_payload_ptr 
-0x043b 001672 fetch 1 ,mem_le_packet_llid 
-0x043c 001673 beq llid_le_ll ,p_le_parse_ll 
-0x043d 001674 branch le_parse_l2cap 
-:      001675 p_le_parse_ll:
-0x043e 001676 fetch 1 ,mem_le_rxbuf + 2 
-0x043f 001677 beq ll_connection_update_req ,p_le_parse_connection_update_req 
-0x0440 001678 beq ll_channel_map_req ,p_le_parse_channel_map_req 
-0x0441 001679 branch le_parse_ll + 1 
-:      001680 p_le_parse_connection_update_req:
-0x0442 001681 call le_parse_connection_update_req 
-0x0443 001682 fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
-0x0444 001683 rtn blank 
-:      001685 p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:
-0x0445 001686 fetch 1 ,mem_le_new_connslavelatency 
-0x0446 001687 store 1 ,mem_lpm_mult 
-0x0447 001688 store 1 ,mem_lpm_mult_init 
-0x0448 001689 rtn 
-:      001690 p_le_parse_channel_map_req:
-0x0449 001691 ifetch 5 ,contr 
-0x044a 001692 store 5 ,mem_le_new_map 
-0x044b 001693 ifetch 2 ,contr 
-0x044c 001694 store 2 ,mem_le_instant 
-0x044d 001695 branch le_parse_channel_map_req + 7 
-:      001697 p_le_parse_l2cap:
-0x044e 001698 ifetch 2 ,contr 
-0x044f 001699 beq le_l2cap_cid_att ,p_le_parse_att 
-0x0450 001700 beq le_l2cap_cid_smp ,p_le_parse_smp 
-0x0451 001701 branch le_parse_l2cap + 11 
-:      001702 p_le_parse_att:
-0x0452 001703 call store_contr 
-0x0453 001704 call p_mouse_le_reconn_write_enable_timer_reinit 
-0x0454 001705 call get_contr 
-0x0455 001706 ifetch 3 ,contr 
-0x0456 001707 store 3 ,mem_le_att_opcode 
-0x0457 001708 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-0x0458 001709 rshift8 pdata ,temp 
-0x0459 001710 sub temp ,0x24 ,null 
-0x045a 001711 branch p_le_parse_att1 ,positive 
-0x045b 001712 arg mem_mouse_le_uuid_sup ,temp 
-0x045c 001713 storet 2 ,mem_ui_le_uuid_table 
-0x045d 001714 call le_parse_att + 2 
-0x045e 001715 setarg 0x8e7a 
-0x045f 001716 store 2 ,mem_ui_le_uuid_table 
-0x0460 001717 rtn 
-:      001719 p_le_parse_att_read_by_group_type_request:
-0x0461 001720 call le_parse_att_read_by_group_type_request 
-0x0462 001721 call le_fifo_get_last_tx_ptr 
-0x0463 001722 increase 7 ,contr 
-0x0464 001723 ifetch 1 ,contr 
-0x0465 001724 rtnne attop_read_by_group_type_response 
-0x0466 001725 increase 5 ,contr 
-0x0467 001726 ifetch 2 ,contr 
-0x0468 001727 arg uuid_service_hids ,temp 
-0x0469 001728 isub temp ,null 
-0x046a 001729 nrtn zero 
-0x046b 001730 increase -4 ,contr 
-0x046c 001731 setarg 0x2b 
-0x046d 001732 istore 2 ,contr 
-0x046e 001733 rtn 
-:      001735 p_le_parse_att1:
-0x046f 001736 beq attop_read_request ,p_le_parse_att_read_request 
-0x0470 001737 branch le_parse_att + 2 
-:      001738 p_le_parse_att_read_request:
-0x0471 001739 fetcht 2 ,mem_le_att_handle 
-0x0472 001740 fetch 1 ,mem_le_configuration 
-0x0473 001741 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
-:      001742 p_le_send_att_read_response:
-0x0474 001743 fetch 2 ,mem_le_att_handle 
-0x0475 001744 beq 0x13 ,le_send_att_error_response_notfound 
-0x0476 001745 fetcht 2 ,mem_le_att_handle 
-0x0477 001746 branch le_send_att_read_response 
-:      001747 p_le_send_att_read_response_check_auth:
-0x0478 001748 fetch 2 ,mem_le_pairing_handle 
-0x0479 001749 isub temp ,null 
-0x047a 001750 nbranch p_le_send_att_read_response ,zero 
-0x047b 001751 call le_check_encrypt_state 
-0x047c 001752 nbranch p_le_send_att_read_response ,user 
-0x047d 001753 branch le_send_att_read_response_check_auth + 5 
-:      001755 p_le_parse_smp:
-0x047e 001756 ifetch 1 ,contr 
-0x047f 001757 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
-0x0480 001758 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-0x0481 001759 branch le_parse_smp + 1 
-:      001760 p_le_parse_smp_pairing_request:
-0x0482 001761 jam 1 ,mem_le_send_security_request_flag 
-0x0483 001762 branch le_parse_smp_pairing_request 
-:      001763 p_le_parse_smp_pairing_failed:
-0x0484 001764 jam zcode_82 ,mem_zcode_temp_param0 
-0x0485 001765 branch p_zcode_entrance 
-:      001767 p_le_adv_not_match:
-0x0486 001768 fetch 1 ,mem_le_ch_mapped 
-0x0487 001769 bne 39 ,le_adv_loop 
-0x0488 001770 call p_le_adv_random_delay 
-0x0489 001771 arg le_adv_interval_timer ,queue 
-0x048a 001772 fetch 2 ,mem_le_adv_interval 
-0x048b 001773 branch timer_init 
-:      001774 p_le_adv_random_delay:
-0x048c 001775 random pdata 
-0x048d 001776 arg 0x1ff ,temp 
-0x048e 001777 iand temp ,pdata 
-0x048f 001778 add pdata ,250 ,pdata 
-0x0490 001779 branch delay 
-:      001781 p_le_lpm_setmult:
-0x0491 001782 disable wake 
-0x0492 001783 branch p_le_lpm_set_mult_attempt ,attempt 
-0x0493 001784 nbranch le_lpm_lost ,match 
-:      001785 p_le_lpm_set_mult_attempt:
-0x0494 001786 call lpm_match 
-0x0495 001787 fetch 2 ,mem_rx_window_sniff 
-0x0496 001788 store 2 ,mem_le_receive_window 
-0x0497 001789 fetch 1 ,mem_le_connect_status_flag 
-0x0498 001790 compare 3 ,pdata ,3 
-0x0499 001791 nbranch lpm_mult_short ,true 
-0x049a 001792 branch le_lpm_set_mult_attempt + 3 
-:      001794 p_le_mouse_bb_event_connect_complete:
-0x049b 001795 jam zcode_22 ,mem_zcode_temp_param0 
-0x049c 001796 branch p_zcode_entrance 
-:      001798 p_twspi_reset:
-0x049d 001799 hfetch 1 ,core_gpio_out3 
-0x049e 001800 and_into 0xfd ,pdata 
-0x049f 001801 hstore 1 ,core_gpio_out3 
-0x04a0 001802 hfetcht 1 ,core_gpio_oe3 
-0x04a1 001803 or_into 0x2 ,temp 
-0x04a2 001804 hstoret 1 ,core_gpio_oe3 
-0x04a3 001805 call twspi_disable 
-0x04a4 001806 and_into 0xfd ,temp 
-0x04a5 001807 nop 13 
-0x04a6 001808 call p_twspi_enable 
-0x04a7 001809 hstoret 1 ,core_gpio_oe3 
-0x04a8 001810 rtn 
-:      001812 p_spid_init:
-0x04a9 001813 call spid_init_common 
-:      001814 p_twspi_enable:
-0x04aa 001815 hfetch 1 ,core_gpio_sel1 
-0x04ab 001816 set1 0 ,pdata 
-0x04ac 001817 set0 1 ,pdata 
-0x04ad 001818 set0 3 ,pdata 
-0x04ae 001819 hstore 1 ,core_gpio_sel1 
-0x04af 001820 rtn 
-:      001823 p_page_wait_fhs_reply_ok:
-0x04b0 001824 jam zcode_00 ,mem_zcode_temp_param0 
-0x04b1 001825 branch p_zcode_entrance 
-:      001827 p_role_switch_master:
-0x04b2 001828 call role_switch_check 
-0x04b3 001829 nrtn user 
-:      001830 p_wait_role_switch_anchor:
-0x04b4 001831 disable user 
-0x04b5 001832 jam param_newconnto ,mem_newconnto_counter 
-0x04b6 001833 set0 mark_fhs_already_good ,mark 
-0x04b7 001834 set0 mark_role_switch_receive_fhs ,mark 
-:      001835 p_roles_waitfhs_loop:
-0x04b8 001836 call rf_setup_time_master_slot 
-0x04b9 001837 call master_recv_packet 
-0x04ba 001838 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
-0x04bb 001839 call new_conn_timeout 
-0x04bc 001840 nbranch p_roles_waitfhs_loop ,blank 
-0x04bd 001841 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
-0x04be 001842 branch role_switch_fail_master 
-:      001844 p_roles_replyto_fhs:
-0x04bf 001845 call rf_setup_time_slave_slot 
-0x04c0 001846 arg type_id ,type 
-0x04c1 001847 call master_send_packet 
-0x04c2 001848 set1 mark_role_switch_receive_fhs ,mark 
-0x04c3 001849 set0 mark_fhs_already_good ,mark 
-0x04c4 001850 fetch 1 ,mem_amaddr 
-0x04c5 001851 iforce am_addr 
-0x04c6 001852 jam 2 ,mem_newconnto_counter 
-0x04c7 001853 branch p_roles_waitfhs_loop 
-:      001855 p_roles_replyto_fhs1:
-0x04c8 001856 fetch 4 ,mem_clke_bt 
-0x04c9 001857 pincrease 8 
-0x04ca 001858 store 4 ,mem_clke_bt 
-0x04cb 001859 branch roles_replyto_fhs + 4 
-:      001861 p_process_dmh:
-0x04cc 001862 bmark1 mark_first_packet ,end_of_packet 
-0x04cd 001863 branch process_dmh + 1 
-:      001865 p_quit_connection_cont:
-0x04ce 001866 jam zcode_23 ,mem_zcode_temp_param0 
-0x04cf 001867 branch p_zcode_entrance 
-:      001869 p_prepare_tx:
-0x04d0 001870 fetch 1 ,mem_state 
-0x04d1 001871 isolate1 state_inconn ,pdata 
-0x04d2 001872 call p_bt_power_ctrl ,true 
-0x04d3 001873 branch prepare_tx + 1 
-:      001874 p_bt_power_ctrl:
-0x04d4 001875 fetch 1 ,mem_arq 
-0x04d5 001876 isolate1 wack ,pdata 
-0x04d6 001877 call power_ctrl_pac_succ_decrs ,true 
-0x04d7 001878 ncall power_ctrl_pac_succ_incrs ,true 
-0x04d8 001879 branch power_ctrl_start 
-:      001881 p_slave_conn_recv_packet:
-0x04d9 001882 call slave_receive_master_slot 
-0x04da 001883 nbranch shutdown_radio ,sync 
-0x04db 001884 call save_rssi 
-0x04dc 001885 call p_rssi_signal 
-0x04dd 001886 branch slave_conn_recv_packet + 4 
-:      001888 p_lpm_dispatch:
-0x04de 001889 rtnmark1 mark_24g 
-0x04df 001890 call lpo_calibration 
-0x04e0 001891 fetch 3 ,mem_clks_per_lpo 
-0x04e1 001892 rtn blank 
-0x04e2 001893 fetch 1 ,mem_lpm_mode 
-0x04e3 001894 rtn blank 
-0x04e4 001895 fetch 1 ,mem_ssp_enable 
-0x04e5 001896 branch p_lpm_dispatch_next ,blank 
-0x04e6 001897 fetch 1 ,mem_sp_local_key_invalid 
-0x04e7 001898 rtn blank 
-:      001899 p_lpm_dispatch_next:
-0x04e8 001900 fetch 1 ,mem_le_sc_calc 
-0x04e9 001901 nrtn blank 
-0x04ea 001902 call lpm_check_wake_lock 
-0x04eb 001903 nrtn blank 
-0x04ec 001904 fetch 1 ,mem_context 
-0x04ed 001905 compare 3 ,pdata ,0x7 
-0x04ee 001906 nbranch lpm_dispatch_unconn ,true 
-0x04ef 001907 fetch 2 ,mem_context + coffset_tsniff 
-0x04f0 001908 arg 0xffff ,temp 
-0x04f1 001909 isub temp ,null 
-0x04f2 001910 rtn zero 
-0x04f3 001911 branch lpm_dispatch_next + 9 
-:      001913 p_lpm_set_mult:
-0x04f4 001914 disable wake 
-0x04f5 001915 fetch 1 ,mem_state 
-0x04f6 001916 rtnbit0 state_insniff 
-0x04f7 001917 nbranch lpm_not_match ,match 
-0x04f8 001918 call lpm_match 
-0x04f9 001919 fetch 2 ,mem_rx_window_sniff 
-0x04fa 001920 store 2 ,mem_rx_window 
-0x04fb 001921 fetch 1 ,mem_arq 
-0x04fc 001922 bbit1 wack ,lpm_mult_short 
-0x04fd 001923 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
-0x04fe 001924 call l2cap_malloc_is_fifo_empty 
-0x04ff 001925 nbranch lpm_mult_short ,blank 
-0x0500 001926 call p_lpm_set_attemp_timeout ,blank 
-0x0501 001927 branch lpm_set_mult + 13 
-:      001928 p_lpm_set_attemp_timeout:
-0x0502 001929 jam 1 ,mem_current_sniff_attempt 
-0x0503 001930 jam 0 ,mem_current_sniff_timeout 
-0x0504 001931 rtn 
-:      001933 p_mouse_bb_disconnected:
-0x0505 001934 jam zcode_01 ,mem_zcode_temp_param0 
-0x0506 001935 branch p_zcode_entrance 
-:      001937 p_hid_rx_process:
-0x0507 001938 jam zcode_02 ,mem_zcode_temp_param0 
-0x0508 001939 branch p_zcode_entrance 
-:      001941 p_parse_lmp_accepted:
-0x0509 001942 fetch 1 ,mem_rxbuf + 1 
-0x050a 001943 store 1 ,mem_lmi_accepted_opcode 
-0x050b 001944 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
-0x050c 001945 branch parse_lmp_accepted + 3 
-:      001946 p_parse_lmp_accepted_switch:
-0x050d 001947 call parse_lmp_accepted_switch 
-0x050e 001948 jam 1 ,mem_bt_rcvd_switch_req_accept 
-0x050f 001949 fetch 1 ,mem_bt_send_lmp_setup_complete 
-0x0510 001950 rtn blank 
-0x0511 001951 jam 2 ,mem_bt_send_lmp_setup_complete 
-0x0512 001952 rtn 
-:      001954 p_send_lmp:
-0x0513 001955 disable user 
-0x0514 001956 call lmo_fifo_process 
-0x0515 001957 fetch 1 ,mem_lmp_to_send 
-0x0516 001958 rtn blank 
-0x0517 001959 bbit1 7 ,p_send_lmp_escape 
-0x0518 001960 beq lmp_accepted ,p_send_lmp_accepted 
-0x0519 001961 beq lmp_setup_complete ,p_send_lmp_setup_complete 
-0x051a 001962 beq lmp_sniff_req ,p_send_lmp_sniff_req 
-0x051b 001963 branch send_lmp0 
-:      001965 p_send_lmp_escape:
-0x051c 001966 jam zcode_10 ,mem_zcode_temp_param0 
-0x051d 001967 branch p_zcode_entrance 
-:      001969 p_send_lmp_accepted:
-0x051e 001970 jam zcode_11 ,mem_zcode_temp_param0 
-0x051f 001971 branch p_zcode_entrance 
-:      001973 p_send_lmp_setup_complete:
-0x0520 001974 jam 1 ,mem_bt_send_lmp_setup_complete 
-0x0521 001975 branch send_lmp_setup_complete 
-:      001977 p_send_lmp_sniff_req:
-0x0522 001978 jam 4 ,mem_mouse_bt_send_first_package_timer 
-0x0523 001979 branch send_lmp_sniff_req 
-:      001981 p_process_conn_sm:
-0x0524 001982 call lmo_fifo_check 
-0x0525 001983 nrtn blank 
-:      001984 p_process_conn_sm_continue:
-0x0526 001985 fetch 1 ,mem_conn_sm 
-0x0527 001986 rtn blank 
-0x0528 001987 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
-0x0529 001988 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
-0x052a 001989 branch process_conn_sm_continue + 2 
-:      001991 p_host_creat_conn_wait_switch:
-0x052b 001992 fetch 1 ,mem_switch_flag 
-0x052c 001993 rtneq switch_flag_init 
-0x052d 001994 beq switch_flag_accept ,p_host_create_conn_switch_accept 
-0x052e 001995 branch host_creat_conn_wait_switch + 3 
-:      001996 p_host_create_conn_switch_accept:
-0x052f 001997 rtn master 
-:      001998 p_host_create_conn_auth_pair:
-0x0530 002000 fetch 1 ,mem_connection_options 
-0x0531 002001 bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
-0x0532 002002 branch host_create_conn_auth_pair + 1 
-:      002003 p_host_create_conn_auth_pair_true:
-0x0533 002004 fetch 1 ,mem_bt_send_lmp_setup_complete 
-0x0534 002005 beq 1 ,host_create_conn_auth_pair_true 
-0x0535 002007 fetch 1 ,mem_link_key_exists 
-0x0536 002008 branch host_create_conn_auth_pair_nokey ,blank 
-0x0537 002009 fetch 1 ,mem_lmp_conn_state 
-0x0538 002010 rtnbit0 sent_setup_complete 
-0x0539 002011 rtnbit0 received_setup_complete 
-0x053a 002012 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-0x053b 002013 rtn blank 
-0x053c 002014 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
-0x053d 002015 fetch 4 ,mem_aurand_send_delay_time 
-0x053e 002016 arg 20 ,temp 
-0x053f 002017 iadd temp ,temp 
-0x0540 002018 copy clkn_bt ,pdata 
-0x0541 002019 isub temp ,null 
-0x0542 002020 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
-0x0543 002021 branch host_create_conn_auth 
-:      002023 p_bt_send_max_slot_req_accept_after_switch_wait:
-0x0544 002024 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-0x0545 002025 rtn 
-:      002027 p_host_create_conn_send_conn_req:
-0x0546 002028 jam 20 ,mem_mouse_send_switch_req_timer 
-0x0547 002029 branch host_create_conn_send_conn_req 
-:      002035 p_check_51cmd_once_continue:
-0x0548 002036 call lmo_fifo_check 
-0x0549 002037 nbranch check_51cmd_restore ,blank 
-0x054a 002038 fetch 1 ,mem_fifo_temp 
-0x054b 002039 bmark0 mark_context ,check_51cmd_check_idle 
-0x054c 002040 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
-0x054d 002041 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
-0x054e 002042 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
-0x054f 002043 branch check_51cmd_once_continue + 2 
-:      002045 p_flash_store_le_reconn_info:
-0x0550 002046 jam rec_4_mode ,mem_record_bt_mode 
-0x0551 002047 fetch 6 ,mem_le_plap 
-0x0552 002048 branch p_flash_store_reconn_info 
-:      002049 p_flash_store_bd_reconn_info:
-0x0553 002050 jam rec_3_mode ,mem_record_bt_mode 
-0x0554 002051 fetch 6 ,mem_plap 
-:      002052 p_flash_store_reconn_info:
-0x0555 002053 store 6 ,mem_temp_lap 
-:      002054 p_mouse_store_remote_bdaddr:
-0x0556 002055 fetch mouse_flag_len ,mem_mouse_flag 
-0x0557 002056 rtnbit0 mouse_store_eeprom_flag 
-0x0558 002057 arg mouse_store_eeprom_flag ,queue 
-0x0559 002058 call mouse_disable_function_flag 
-0x055a 002059 call mouse_check_device_addr 
-:      002060 p_mouse_unplug_clean_bdaddr:
-0x055b 002061 call mouse_before_store_reconn_info 
-0x055c 002062 branch p_mouse_store_flash_device_info 
-:      002064 p_check_51cmd_ble_update_connect_param:
-0x055d 002065 call le_fifo_check_full 
-0x055e 002066 nrtn blank 
-0x055f 002067 branch le_l2cap_tx_update_req 
-:      002069 power_ctrl_pac_succ_cnt_init:
-0x0560 002070 jam 1 ,mem_power_ctrl_level 
-0x0561 002071 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-0x0562 002072 rtn 
-:      002073 power_ctrl_pac_succ_incrs:
-0x0563 002074 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0564 002075 increase 1 ,pdata 
-0x0565 002076 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0566 002077 rtn 
-:      002079 power_ctrl_pac_succ_cnt_reinit:
-0x0567 002080 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-0x0568 002081 rtn 
-:      002083 power_ctrl_start:
-0x0569 002084 fetch 2 ,mem_ui_state_map 
-0x056a 002085 rtnbit1 ui_state_ble_adv 
-0x056b 002086 rtnbit1 ui_state_bt_reconnect 
-0x056c 002087 rtnbit1 ui_state_bt_discovery 
-0x056d 002089 arg mem_rssi_signal_buf ,rega 
-0x056e 002090 call p_rssi_average 
-0x056f 002091 storet 1 ,mem_rssi_avg_received 
-0x0570 002093 setarg rssi_dis_max_24g 
-0x0571 002094 bmark1 mark_24g ,power_ctrl_start_next 
-0x0572 002095 setarg rssi_dis_max_ble 
-:      002096 power_ctrl_start_next:
-0x0573 002097 isub temp ,null 
-0x0574 002098 nbranch power_ctrl_txpower_incrs_force ,positive 
-0x0575 002100 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0576 002101 sub pdata ,2 ,null 
-0x0577 002102 nbranch power_ctrl_txpower_decrs_check ,positive 
-0x0578 002103 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x0579 002104 beq 0 ,power_ctrl_txpower_incrs 
-0x057a 002105 rtn 
-:      002107 power_ctrl_txpower_decrs_check:
-0x057b 002108 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0x057c 002109 rtnne 50 
-0x057d 002110 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-:      002111 power_ctrl_txpower_decrs:
-0x057e 002112 fetcht 1 ,mem_rssi_avg_received 
-0x057f 002113 setarg rssi_dis_min_24g 
-0x0580 002114 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-0x0581 002115 setarg rssi_dis_min_ble 
-:      002116 power_ctrl_txpower_decrs_next:
-0x0582 002117 isub temp ,null 
-0x0583 002118 nrtn positive 
-0x0584 002119 fetch 1 ,mem_power_ctrl_level 
-0x0585 002120 beq 0 ,power_ctrl_decrs_level0 
-0x0586 002121 increase -1 ,pdata 
-0x0587 002122 store 1 ,mem_power_ctrl_level 
-0x0588 002123 beq 0 ,power_ctrl_decrs_level0 
-:      002124 power_ctrl_decrs_level1:
-:      002125 power_ctrl_incrs_level1:
-0x0589 002126 jam tx_power_0db ,mem_tx_power 
-0x058a 002127 rtn 
-:      002129 power_ctrl_txpower_incrs_force:
-0x058b 002130 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-:      002131 power_ctrl_txpower_incrs:
-0x058c 002132 fetch 1 ,mem_power_ctrl_level 
-0x058d 002133 beq 2 ,power_ctrl_incrs_level2 
-0x058e 002134 increase 1 ,pdata 
-0x058f 002135 store 1 ,mem_power_ctrl_level 
-0x0590 002136 beq 1 ,power_ctrl_incrs_level1 
-:      002137 power_ctrl_incrs_level2:
-0x0591 002138 jam tx_power_5db ,mem_tx_power 
-0x0592 002139 rtn 
-:      002141 power_ctrl_decrs_level0:
-0x0593 002142 jam tx_power_f5db ,mem_tx_power 
-0x0594 002143 rtn 
-:      002146 p_set_freq_tx:
-0x0595 002147 storet 1 ,mem_last_freq 
-0x0596 002148 add temp ,0 ,rega 
-0x0597 002149 call rf_write_freq 
-0x0598 002150 setarg param_pll_setup 
-0x0599 002151 call sleep 
-:      002152 p_rf_tx_enable:
-0x059a 002153 jam 0x1 ,rfen_adc 
-0x059b 002154 jam 0x3c ,rfen_rx 
-0x059c 002155 jam 0xe0 ,rfen_tx 
-0x059d 002156 nop 10 
-0x059e 002157 jam 0x01 ,rfen_mdm 
-0x059f 002158 jam 0x3d ,rfen_mdm 
-0x05a0 002159 nop 10 
-0x05a1 002160 jam 0xb7 ,rfen_sn 
-0x05a2 002161 nop 10 
-0x05a3 002162 jam 0x7d ,rfen_mdm 
-0x05a4 002163 fetch 1 ,mem_tx_power 
-0x05a5 002166 beq tx_power_5db ,p_set_tx_power_5db 
-0x05a6 002168 beq tx_power_f5db ,p_set_tx_power_f5db 
-0x05a7 002169 beq tx_power_pair ,p_set_tx_power_pair 
-:      002171 p_set_tx_power_0db:
-0x05a8 002172 call p_rx_low_sens 
-0x05a9 002174 jam 0xd0 ,0x8955 
-0x05aa 002175 jam 0xe0 ,0x8956 
-0x05ab 002177 jam 0x6c ,0x8958 
-0x05ac 002179 branch set_tx_power_0db 
-:      002191 p_set_tx_power_5db:
-0x05ad 002193 jam 0xfb ,0x894c 
-0x05ae 002194 jam 0xef ,0x894d 
-0x05af 002195 jam 0xec ,0x894e 
-0x05b0 002196 jam 0x5e ,0x894f 
-0x05b1 002199 jam 0xd0 ,0x8955 
-0x05b2 002200 jam 0xe0 ,0x8956 
-0x05b3 002202 jam 0x3c ,0x8958 
-0x05b4 002204 branch set_tx_power_5db 
-:      002216 p_set_tx_power_f5db:
-0x05b5 002217 call p_rx_low_sens 
-0x05b6 002219 jam 0xd0 ,0x8955 
-0x05b7 002220 jam 0xc0 ,0x8956 
-0x05b8 002222 jam 0x6c ,0x8958 
-0x05b9 002224 branch set_tx_power_f5db 
-:      002226 p_rx_low_sens:
-0x05ba 002227 jam 0x5b ,0x894c 
-0x05bb 002228 jam 0x96 ,0x894d 
-0x05bc 002229 jam 0x2c ,0x894e 
-0x05bd 002230 jam 0x46 ,0x894f 
-0x05be 002231 rtn 
-:      002240 p_set_tx_power_pair:
-0x05bf 002242 jam 0xc2 ,0x8956 
-0x05c0 002243 jam 0xd0 ,0x8955 
-0x05c1 002244 rtn 
-:      002246 p_shutdown_radio:
-0x05c2 002247 force 8 ,radio_ctrl 
-0x05c3 002248 branch shutdown_radio + 1 
-:      002250 p_initialize_radio_cont:
-0x05c4 002251 call initialize_radio_cont + 1 
-0x05c5 002252 jam clksel_dpll ,core_clksel 
-0x05c6 002253 rtn 
-:      002256 p_zcode_entrance:
-0x05c7 002257 fetcht 1 ,mem_zcode_temp_param0 
-0x05c8 002258 rshift4 temp ,temp 
-0x05c9 002259 fetch 1 ,mem_zcode_current_number 
-0x05ca 002260 isub temp ,null 
-0x05cb 002261 branch p_zcode_run ,zero 
-0x05cc 002262 storet 1 ,mem_zcode_current_number 
-0x05cd 002263 increase 1 ,temp 
-0x05ce 002264 setarg zcode_buff_size 
-0x05cf 002265 imul32 temp ,temp 
-0x05d0 002266 fetch 3 ,mem_xip_flash_offset 
-0x05d1 002267 isub temp ,pdata 
-0x05d2 002269 fetcht 3 ,mem_flash_start_addr 
-0x05d3 002270 iadd temp ,pdata 
-0x05d4 002271 increase -5 ,pdata 
-0x05d5 002272 store 3 ,mem_flash_address 
-0x05d6 002273 call p_flash_release_deep_power_down 
-:      002274 p_zcode_read_loop:
-0x05d7 002275 fetch 3 ,mem_flash_address 
-0x05d8 002276 arg zcode_buff_size ,temp 
-0x05d9 002277 arg mem_zcode_buff ,rega 
-0x05da 002278 call spid_read_flash 
-0x05db 002279 fetch 4 ,mem_zcode_buff 
-0x05dc 002280 fetcht 4 ,mem_zcode_head 
-0x05dd 002281 isub temp ,null 
-0x05de 002282 nbranch p_zcode_read_loop ,zero 
-0x05df 002283 call p_mouse_spi_init 
-0x05e0 002285 setarg mem_zcode_buff 
-0x05e1 002286 store 2 ,mem_patch_ptr 
-0x05e2 002287 jam zcode_code_size ,mem_patch_len 
-0x05e3 002288 call load_ucode 
-0x05e4 002289 setarg 0 
-0x05e5 002290 store 4 ,mem_patch_ptr 
-:      002291 p_zcode_run:
-0x05e6 002292 fetch 1 ,mem_zcode_temp_param0 
-0x05e7 002293 branch p_zcode 
-:      002298 p_drawing_optima:
-0x05e8 002299 fetch 4 ,mem_mouse_x 
-0x05e9 002300 rtn blank 
-0x05ea 002301 call p_data_abs_check 
-0x05eb 002302 setarg 0x06 
-0x05ec 002303 call p_data_greater_than_check 
-0x05ed 002304 setarg 0x03 
-0x05ee 002305 call p_data_less_than_check 
-0x05ef 002306 fetch 1 ,mem_mouse_asm_flag 
-0x05f0 002307 beq 1 ,p_drawing_optima_modify 
-:      002308 p_drawing_optima_init:
-0x05f1 002309 arg 5 ,loopcnt 
-0x05f2 002310 arg mem_mouse_asm_flag ,contw 
-0x05f3 002311 branch clear_mem 
-:      002313 p_drawing_optima_modify:
-0x05f4 002314 fetch 2 ,mem_mouse_x_pre 
-0x05f5 002315 store 2 ,mem_data_pre 
-0x05f6 002316 fetch 2 ,mem_mouse_x 
-0x05f7 002317 store 2 ,mem_data_current 
-0x05f8 002318 call p_drawing_optima_data 
-0x05f9 002319 fetch 2 ,mem_data_pre 
-0x05fa 002320 store 2 ,mem_mouse_x_pre 
-0x05fb 002321 fetch 2 ,mem_data_current 
-0x05fc 002322 store 2 ,mem_mouse_x 
-0x05fd 002324 fetch 2 ,mem_mouse_y_pre 
-0x05fe 002325 store 2 ,mem_data_pre 
-0x05ff 002326 fetch 2 ,mem_mouse_y 
-0x0600 002327 store 2 ,mem_data_current 
-0x0601 002328 call p_drawing_optima_data 
-0x0602 002329 fetch 2 ,mem_data_pre 
-0x0603 002330 store 2 ,mem_mouse_y_pre 
-0x0604 002331 fetch 2 ,mem_data_current 
-0x0605 002332 store 2 ,mem_mouse_y 
-0x0606 002333 rtn 
-:      002339 p_drawing_optima_data:
-0x0607 002340 fetch 2 ,mem_data_pre 
-0x0608 002341 fetcht 2 ,mem_data_current 
-0x0609 002342 iadd temp ,pdata 
-0x060a 002343 store 3 ,mem_data_sum 
-0x060b 002344 isolate1 16 ,pdata 
-0x060c 002345 branch p_data_sum_overflow ,true 
-0x060d 002346 fetch 1 ,mem_data_sum + 1 
-0x060e 002347 beq 0xff ,p_data_sum_n 
-0x060f 002348 fetch 1 ,mem_data_sum 
-:      002349 p_data_store_pre:
-0x0610 002350 rshift pdata ,pdata 
-0x0611 002351 store 2 ,mem_data_pre 
-0x0612 002352 store 2 ,mem_data_current 
-0x0613 002353 rtn 
-:      002354 p_data_sum_overflow:
-0x0614 002355 fetch 1 ,mem_data_sum + 1 
-0x0615 002356 beq 0 ,p_data_sum_overflow_p 
-0x0616 002357 fetch 3 ,mem_data_sum 
-0x0617 002358 branch p_data_store_pre 
-:      002359 p_data_sum_overflow_p:
-0x0618 002360 jam 0 ,mem_data_sum + 2 
-0x0619 002361 fetch 1 ,mem_data_sum 
-0x061a 002362 branch p_data_store_pre 
-:      002364 p_data_sum_n:
-0x061b 002365 fetch 1 ,mem_data_sum 
-0x061c 002366 call p_pdata_get_half 
-0x061d 002367 store 1 ,mem_data_pre 
-0x061e 002368 store 1 ,mem_data_current 
-0x061f 002369 branch p_data_zero ,blank 
-0x0620 002370 setarg 0xff 
-:      002371 p_data_set_direction:
-0x0621 002372 store 1 ,mem_data_pre + 1 
-0x0622 002373 store 1 ,mem_data_current + 1 
-0x0623 002374 rtn 
-:      002375 p_data_zero:
-0x0624 002376 setarg 0 
-0x0625 002377 branch p_data_set_direction 
-:      002379 p_pdata_get_half:
-0x0626 002380 sub pdata ,0 ,pdata 
-0x0627 002381 store 1 ,mem_rega 
-0x0628 002382 fetch 1 ,mem_rega 
-0x0629 002383 rshift pdata ,pdata 
-0x062a 002384 store 1 ,mem_rega 
-0x062b 002385 fetch 1 ,mem_rega 
-0x062c 002386 sub pdata ,0 ,pdata 
-0x062d 002387 rtn 
-:      002390 p_data_greater_than_check:
-0x062e 002391 isub rega ,null 
-0x062f 002392 nbranch p_enable_asm ,positive 
-0x0630 002393 isub regb ,null 
-0x0631 002394 nbranch p_enable_asm ,positive 
-:      002395 p_disable_asm:
-0x0632 002396 jam 0 ,mem_mouse_asm_flag 
-0x0633 002397 rtn 
-:      002398 p_data_less_than_check:
-0x0634 002399 isub rega ,null 
-0x0635 002400 nrtn positive 
-0x0636 002401 isub regb ,null 
-0x0637 002402 nrtn positive 
-0x0638 002403 branch p_disable_asm 
-:      002404 p_enable_asm:
-0x0639 002405 jam 1 ,mem_mouse_asm_flag 
-0x063a 002406 rtn 
-:      002408 p_data_abs_check:
-0x063b 002409 fetch 2 ,mem_mouse_x 
-0x063c 002410 call p_data_abs 
-0x063d 002411 copy pdata ,rega 
-0x063e 002412 fetch 2 ,mem_mouse_y 
-0x063f 002413 call p_data_abs 
-0x0640 002414 copy pdata ,regb 
-0x0641 002415 rtn 
-:      002421 p_data_abs:
-0x0642 002422 store 2 ,mem_data_current 
-0x0643 002423 fetch 1 ,mem_data_current + 1 
-0x0644 002424 beq 0xff ,p_data_reversal 
-0x0645 002425 fetch 1 ,mem_data_current 
-:      002426 p_data_abs_store:
-0x0646 002427 and_into 0xff ,pdata 
-0x0647 002429 rtn 
-:      002430 p_data_reversal:
-0x0648 002431 fetch 2 ,mem_data_current 
-0x0649 002432 sub pdata ,0 ,pdata 
-0x064a 002433 branch p_data_abs_store 
+:      000071 p_start:
+0x0000 000072 branch p_patch_array 
+:      000075 p_zcode:
+:      000078 p_wake_from_power:
+0x0001 000079 call p_mouse_data_init 
+0x0002 000080 fetch 1 ,mem_tx_power 
+0x0003 000081 store 1 ,mem_tx_power_temp 
+0x0004 000082 call power_ctrl_pac_succ_cnt_init 
+0x0005 000083 fetch 1 ,mem_ui_button_timeout 
+0x0006 000084 store 1 ,mem_select_ui_button_count 
+0x0007 000085 fetch 1 ,mem_bt_ui_button_timeout 
+0x0008 000086 store 1 ,mem_bt_ui_button_count 
+0x0009 000087 call mouse_bt_discovery_button_down_disable 
+0x000a 000088 call p_mouse_spi_init 
+0x000b 000089 call p_mouse_cb_fuction 
+0x000c 000090 call p_mouse_wakeup_from_power 
+0x000d 000091 branch p_mouse_setting_config 
+:      000093 p_mouse_cb_fuction:
+0x000e 000094 setarg p_mouse_g24_package_data 
+0x000f 000095 store 2 ,mem_cb_24g_data 
+0x0010 000096 setarg p_mouse_le 
+0x0011 000097 store 2 ,mem_cb_le_process 
+0x0012 000098 setarg p_le_mouse_bb_event_connect_complete 
+0x0013 000099 store 2 ,mem_cb_att_write 
+0x0014 000100 setarg p_mouse_bt 
+0x0015 000101 store 2 ,mem_cb_bt_process 
+0x0016 000102 setarg p_mouse_before_lpm 
+0x0017 000103 store 2 ,mem_cb_before_lpm 
+0x0018 000104 setarg p_mouse_priority_bb_event 
+0x0019 000105 store 2 ,mem_cb_bb_event_process 
+0x001a 000106 setarg p_mouse_idle 
+0x001b 000107 store 2 ,mem_cb_idle_process 
+0x001c 000108 setarg p_mouse_before_hibernate 
+0x001d 000109 store 2 ,mem_cb_before_hibernate 
+0x001e 000110 setarg p_mouse_bb_event_timer 
+0x001f 000111 store 2 ,mem_cb_event_timer 
+0x0020 000112 rtn 
+:      000114 p_mouse_wakeup_from_power:
+0x0021 000115 setarg 25 
+0x0022 000116 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x0023 000117 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0x0024 000118 call p_mouse_init_sunt 
+0x0025 000119 call p_mouse_sensor_powerdown 
+:      000120 p_mouse_wakeup_no_from_power:
+0x0026 000121 fetch 1 ,mem_reconn_times_init 
+0x0027 000122 store 1 ,mem_reconn_times 
+0x0028 000123 rtn 
+:      000124 p_mouse_24g_transmit_by_interrupt_exit_count_max:
+0x0029 000125 setarg 375 
+0x002a 000126 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x002b 000127 rtn 
+0x002c 000129 nop 1 
+0x002d 000130 nop 1 
+0x002e 000131 nop 1 
+0x002f 000132 nop 1 
+0x0030 000133 nop 1 
+0x0031 000134 nop 1 
+0x0032 000135 nop 1 
+0x0033 000136 nop 1 
+0x0034 000137 nop 1 
+0x0035 000138 nop 1 
+0x0036 000139 nop 1 
+0x0037 000140 nop 1 
+0x0038 000141 nop 1 
+0x0039 000142 nop 1 
+0x003a 000143 nop 1 
+0x003b 000144 nop 1 
+0x003c 000145 nop 1 
+0x003d 000146 nop 1 
+0x003e 000147 nop 1 
+0x003f 000148 nop 1 
+:      000149 p_patch_array:
+0x0040 000150 bbit1 8 ,pf_patch_ext 
+0x0041 000152 beq patch00_1 ,p_soft_reset_1 
+0x0042 000153 beq patch00_2 ,p_soft_reset_2 
+0x0043 000154 beq patch10_5 ,p_shutdown_radio 
+0x0044 000155 beq patch11_1 ,p_set_freq_tx 
+0x0045 000156 beq patch03_3 ,p_page_wait_fhs_reply_ok 
+0x0046 000157 beq patch04_6 ,p_role_switch_master 
+0x0047 000158 beq patch09_0 ,p_quit_connection_cont 
+0x0048 000159 beq patch09_2 ,p_prepare_tx 
+0x0049 000160 beq patch0a_1 ,p_slave_conn_recv_packet 
+0x004a 000161 beq patch0b_1 ,p_process_dmh 
+0x004b 000162 beq patch14_7 ,p_lpm_dispatch 
+0x004c 000163 beq patch15_5 ,p_lpm_set_mult 
+0x004d 000164 beq patch19_3 ,app_bt_start_reconnect + 3 
+0x004e 000165 beq patch1d_1 ,p_mouse_bb_disconnected 
+0x004f 000166 beq patch14_1 ,p_init_param 
+0x0050 000167 beq patch16_1 ,p_lpm_check_wake_lock 
+0x0051 000168 beq patch16_2 ,p_g24_dispatch 
+0x0052 000169 beq patch18_4 ,p_device_init 
+0x0053 000170 beq patch1c_6 ,p_mouse_motion 
+0x0054 000171 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0x0055 000172 beq patch1d_3 ,p_mouse_start_discovery 
+0x0056 000173 beq patch1d_4 ,p_mouse_stop_discovery 
+0x0057 000174 branch loop 
+:      000175 pf_patch_ext:
+0x0058 000176 beq patch27_1 ,p_le_slave_match 
+0x0059 000177 beq patch28_3 ,p_le_next_adv_channel 
+0x005a 000178 beq patch29_2 ,p_le_receive_skip 
+0x005b 000179 beq patch2a_7 ,p_le_update_param 
+0x005c 000180 beq patch2b_1 ,p_le_update_channel_map 
+0x005d 000181 beq patch2c_3 ,p_le_prepare_tx 
+0x005e 000182 beq patch2c_6 ,p_le_parse 
+0x005f 000183 beq patch2c_7 ,p_le_parse_l2cap 
+0x0060 000184 beq patch2d_2 ,p_le_adv_not_match 
+0x0061 000185 beq patch2e_7 ,p_le_lpm_setmult 
+0x0062 000186 beq patch20_5 ,p_hid_rx_process 
+0x0063 000187 beq patch30_0 ,p_parse_lmp_accepted 
+0x0064 000188 beq patch30_2 ,p_send_lmp 
+0x0065 000189 beq patch31_0 ,p_process_conn_sm 
+0x0066 000190 beq patch31_4 ,p_twspi_reset 
+0x0067 000191 beq patch31_5 ,p_spid_init 
+0x0068 000192 beq patch34_0 ,p_vdd_calculate_by_mode 
+0x0069 000193 beq patch3f_2 ,p_check_51cmd_once_continue 
+0x006a 000194 branch loop 
+:      000197 p_rssi_signal:
+0x006b 000198 copy pdata ,rega 
+0x006c 000199 fetcht 1 ,mem_rssi_signal_index 
+0x006d 000200 setarg mem_rssi_signal_buf 
+0x006e 000201 iadd temp ,contw 
+0x006f 000202 copy rega ,pdata 
+0x0070 000203 istore 1 ,contw 
+0x0071 000204 increase 1 ,temp 
+0x0072 000205 and_into rssi_buf_len_signal ,temp 
+0x0073 000206 storet 1 ,mem_rssi_signal_index 
+0x0074 000207 rtn 
+:      000209 p_soft_reset_1:
+0x0075 000210 arg mem_sp_state ,contw 
+0x0076 000211 arg 12 ,loopcnt 
+0x0077 000212 call clear_mem 
+0x0078 000213 call p_mouse_le_txbuff_load 
+0x0079 000214 call rfcomm_init 
+0x007a 000215 call init_lmp 
+0x007b 000216 ncall lpm_disable_exen_output ,wake 
+0x007c 000217 call ui_init + 1 
+0x007d 000218 branch soft_reset + 11 
+:      000220 p_soft_reset_2:
+0x007e 000221 call app_lpm_init ,wake 
+0x007f 000222 call publickey_init 
+0x0080 000223 call lpm_recover_clk ,wake 
+:      000224 p_sp_cal_loop:
+0x0081 000225 call sp_calc_sequence 
+0x0082 000226 fetch 1 ,mem_ssp_enable 
+0x0083 000227 branch main_loop ,blank 
+0x0084 000228 fetch 1 ,mem_sp_local_key_invalid 
+0x0085 000229 branch p_sp_cal_loop ,blank 
+0x0086 000230 branch main_loop 
+:      000232 p_init_param:
+0x0087 000233 setarg param_le_version 
+0x0088 000234 store 3 ,mem_lmp_version 
+0x0089 000235 setarg param_le_subversion 
+0x008a 000236 store 2 ,mem_lmp_version + 3 
+0x008b 000237 branch init_param + 12 
+:      000239 p_lpm_check_wake_lock:
+0x008c 000240 rtnmark1 mark_24g 
+0x008d 000241 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x008e 000242 beq 0 ,disable_blank 
+0x008f 000243 fetch 1 ,mem_mouse_le_conn_param_reject 
+0x0090 000244 beq le_lpm_disable ,disable_blank 
+0x0091 000245 fetch 2 ,mem_sdp_remote_cid 
+0x0092 000246 nbranch disable_blank ,blank 
+0x0093 000247 fetch 1 ,mem_mouse_wheel_trigger 
+0x0094 000248 nbranch disable_blank ,blank 
+0x0095 000249 branch enable_blank 
+:      000252 p_g24_dispatch:
+0x0096 000253 rtnmark0 mark_24g 
+0x0097 000254 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x0098 000255 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+:      000256 p_g24_transmit_process:
+0x0099 000257 call p_g24_txdata_prep 
+0x009a 000258 nbranch p_g24_nodata_transmit ,user 
+0x009b 000259 call p_g24_rf_sta_check 
+:      000260 p_g24_transmit_start:
+0x009c 000261 call p_g24_transmit_packet 
+0x009d 000262 fetch 1 ,mem_24g_pairing_sm 
+0x009e 000263 rtnne state_24g_pairing_success 
+0x009f 000264 call power_ctrl_start 
+0x00a0 000265 call g24_long_sleep_shorter_param_update 
+0x00a1 000266 fetch 1 ,mem_mouse_multi_led_state 
+0x00a2 000267 beq on ,p_g24_transmit_by_interrupt_enable 
+:      000268 p_g24_short_sleep:
+0x00a3 000269 call p_g24_lpm_wait 
+0x00a4 000270 nrtn user 
+0x00a5 000271 call p_clear_wake 
+0x00a6 000272 setarg 60500 
+:      000273 p_g24_enter_sleep:
+0x00a7 000274 call clk2lpo 
+0x00a8 000275 storet 4 ,mem_sleep_counter 
+0x00a9 000276 branch lpm_sleep 
+:      000278 g24_long_sleep_shorter_param_update:
+0x00aa 000281 setarg g24_long_sleep_step1 
+0x00ab 000282 store 3 ,mem_24g_enter_hibernate 
+0x00ac 000283 jam 20 ,mem_24g_long_sleep_param_update_timer 
+0x00ad 000284 rtn 
+:      000288 p_g24_transmit_by_interrupt:
+0x00ae 000289 call p_g24_timer_check 
+0x00af 000290 nrtn user 
+0x00b0 000291 call p_g24_interval_calibrate 
+0x00b1 000292 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b2 000293 increase 1 ,pdata 
+0x00b3 000294 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b4 000295 fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x00b5 000296 isub temp ,null 
+0x00b6 000297 call p_g24_transmit_by_interrupt_exit ,zero 
+0x00b7 000298 branch p_g24_transmit_process 
+:      000299 p_g24_transmit_by_interrupt_exit:
+0x00b8 000300 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x00b9 000301 setarg 0 
+0x00ba 000302 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00bb 000303 setarg 100 
+0x00bc 000304 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+:      000305 p_g24_interval_min:
+0x00bd 000306 jam 0 ,mem_24g_pac_index 
+0x00be 000307 fetch 1 ,mem_24g_interval_min 
+0x00bf 000308 store 1 ,mem_24g_interval 
+0x00c0 000309 rtn 
+:      000310 p_g24_interval_max:
+0x00c1 000311 fetch 1 ,mem_24g_interval_max 
+0x00c2 000312 store 1 ,mem_24g_interval 
+0x00c3 000313 rtn 
+:      000314 p_g24_interval_calibrate:
+0x00c4 000315 fetch 1 ,mem_24g_pac_index 
+0x00c5 000316 increase 1 ,pdata 
+0x00c6 000317 store 1 ,mem_24g_pac_index 
+0x00c7 000318 beq 4 ,p_g24_interval_max 
+0x00c8 000319 beq 5 ,p_g24_interval_min 
+0x00c9 000320 rtn 
+:      000322 p_g24_nodata_transmit:
+0x00ca 000323 fetch 1 ,mem_24g_abort_pac 
+0x00cb 000324 call p_g24_send_abort_packet ,blank 
+:      000325 p_g24_long_sleep:
+0x00cc 000326 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x00cd 000327 sub pdata ,10 ,null 
+0x00ce 000328 rtn positive 
+0x00cf 000329 call p_g24_lpm_wait 
+0x00d0 000330 nrtn user 
+0x00d1 000331 fetch 3 ,mem_24g_enter_hibernate 
+0x00d2 000332 call clk2lpo 
+0x00d3 000333 storet 4 ,mem_sleep_counter 
+0x00d4 000334 branch lpm_sleep 
+:      000336 p_g24_lpm_wait:
+0x00d5 000337 enable user 
+0x00d6 000338 call lpo_calibration 
+0x00d7 000339 fetch 3 ,mem_clks_per_lpo 
+0x00d8 000340 branch disable_user ,blank 
+0x00d9 000341 fetch 1 ,mem_lpm_mode 
+0x00da 000342 branch disable_user ,blank 
+0x00db 000343 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x00dc 000344 beq g24_tx_timer_int_enable ,disable_user 
+0x00dd 000345 branch p_mouse_setgpio_lpm 
+:      000347 p_g24_send_abort_packet:
+0x00de 000348 jam 1 ,mem_24g_abort_pac 
+0x00df 000349 jam 0 ,mem_24g_rf_hop_ch 
+0x00e0 000350 call p_g24_transmit_rf_ctrl_clear 
+0x00e1 000351 store 1 ,mem_24g_txbuf 
+0x00e2 000352 setarg 0 
+0x00e3 000353 store 7 ,mem_24g_txbuf + 1 
+0x00e4 000354 fetch 4 ,mem_24g_device_addr 
+0x00e5 000355 store 4 ,mem_24g_txbuf + 8 
+0x00e6 000356 jam 12 ,mem_24g_datalen 
+0x00e7 000357 fetch 1 ,mem_24g_data_type 
+0x00e8 000358 set1 bit_abort ,pdata 
+0x00e9 000359 store 1 ,mem_24g_data_type 
+0x00ea 000360 call p_g24_txdata_enable_tx 
+0x00eb 000361 branch p_g24_transmit_start 
+:      000363 p_g24_set_device_addr:
+0x00ec 000364 fetch 4 ,mem_lap 
+0x00ed 000365 store 4 ,mem_24g_device_addr 
+0x00ee 000366 rtn 
+:      000368 p_g24_transmit_rf_sta_init:
+0x00ef 000369 jam 1 ,mem_24g_rf_last_sta 
+0x00f0 000370 jam 0 ,mem_24g_sync_cnt 
+:      000371 p_g24_transmit_rf_ctrl_clear:
+0x00f1 000372 fetch 1 ,mem_24g_data_type 
+0x00f2 000373 and_into bits_data ,pdata 
+0x00f3 000374 store 1 ,mem_24g_data_type 
+0x00f4 000375 rtn 
+:      000377 p_g24_hop_ch_enable:
+0x00f5 000378 fetch 1 ,mem_24g_data_type 
+0x00f6 000379 set1 bit_hop ,pdata 
+0x00f7 000380 store 1 ,mem_24g_data_type 
+0x00f8 000382 store 1 ,mem_24g_txpayload 
+0x00f9 000383 rtn 
+:      000384 p_g24_hop_ch_disable:
+0x00fa 000385 fetch 1 ,mem_24g_data_type 
+0x00fb 000386 set0 bit_hop ,pdata 
+0x00fc 000387 store 1 ,mem_24g_data_type 
+0x00fd 000388 store 1 ,mem_24g_txpayload 
+0x00fe 000389 call power_ctrl_pac_succ_decrs 
+0x00ff 000390 call p_g24_ch 
+0x0100 000391 rtn 
+:      000393 p_g24_transmit_hop_pac_fail:
+0x0101 000394 call power_ctrl_pac_succ_decrs 
+0x0102 000395 fetch 1 ,mem_24g_rf_work_stage 
+0x0103 000396 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0x0104 000397 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0x0105 000398 rtn 
+:      000399 p_g24_transmit_hop_pac_fail_wo_hop:
+0x0106 000400 jam 2 ,mem_24g_sync_cnt 
+:      000401 p_g24_transmit_hop_pac_fail_stage1:
+0x0107 000402 jam 0 ,mem_24g_hop_pac_retry 
+0x0108 000403 jam 0 ,mem_24g_rf_last_sta 
+0x0109 000404 branch p_g24_transmit_rf_ctrl_clear 
+:      000406 p_g24_transmit_hop_pac_fail_hop_stage2:
+0x010a 000407 jam 0 ,mem_24g_rf_hop_ch 
+0x010b 000408 branch p_g24_transmit_hop_pac_fail_stage1 
+:      000411 p_g24_transmit_pac_fail_hop_stage3:
+0x010c 000412 fetch 2 ,mem_24g_txfail_cnt 
+0x010d 000413 increase 1 ,pdata 
+0x010e 000414 store 2 ,mem_24g_txfail_cnt 
+0x010f 000415 bbit1 10 ,p_g24_tx_attempt_fail 
+0x0110 000416 fetch 1 ,mem_24g_rf_hop_ch 
+0x0111 000417 beq 1 ,p_g24_rf_hop_fastly 
+0x0112 000418 jam 1 ,mem_24g_rf_hop_ch 
+:      000419 p_g24_rf_hop_attemp_again:
+0x0113 000420 fetch 1 ,mem_24g_rf_hop_ch 
+0x0114 000421 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+:      000422 p_g24_rf_hop_fastly:
+0x0115 000423 fetch 1 ,mem_24g_hop_fastly_cnt 
+0x0116 000424 increase 1 ,pdata 
+0x0117 000425 store 1 ,mem_24g_hop_fastly_cnt 
+0x0118 000426 beq 4 ,p_g24_rf_hop_fastly_exit 
+0x0119 000427 call p_g24_ch 
+0x011a 000428 jam 2 ,mem_24g_max_retry 
+0x011b 000429 branch p_g24_transmit_packet 
+:      000431 p_g24_rf_hop_fastly_exit:
+0x011c 000432 call power_ctrl_pac_succ_decrs 
+0x011d 000433 jam 0 ,mem_24g_hop_fastly_cnt 
+0x011e 000434 branch p_g24_transmit_rf_ctrl_clear 
+:      000436 p_g24_transmit_hop_pac_succ_wo_hop:
+0x011f 000437 jam 2 ,mem_24g_sync_cnt 
+:      000438 p_g24_transmit_hop_pac_succ:
+0x0120 000439 jam 1 ,mem_24g_rf_last_sta 
+0x0121 000440 jam 0 ,mem_24g_rf_hop_ch 
+0x0122 000441 branch p_g24_transmit_rf_ctrl_clear 
+:      000443 p_g24_transmit_succ_rf_config:
+0x0123 000444 fetch 1 ,mem_24g_rf_work_stage 
+0x0124 000445 beq 3 ,p_g24_transmit_hop_pac_succ 
+0x0125 000446 fetch 1 ,mem_24g_data_type 
+0x0126 000447 isolate0 bit_hop ,pdata 
+0x0127 000448 branch p_g24_transmit_rf_sta_init ,true 
+0x0128 000449 fetch 1 ,mem_24g_rf_work_stage 
+0x0129 000450 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0x012a 000451 beq 2 ,p_g24_transmit_hop_pac_succ 
+0x012b 000452 rtn 
+:      000454 p_g24_rf_sta_check:
+0x012c 000455 fetch 1 ,mem_24g_pairing_sm 
+0x012d 000456 rtnne state_24g_pairing_success 
+0x012e 000457 call p_g24_rf_laststa_synccnt_check 
+0x012f 000458 ncall p_g24_rf_sync_cnt_check ,user2 
+0x0130 000459 rtn 
+:      000461 p_g24_rf_laststa_synccnt_check:
+0x0131 000462 disable user2 
+0x0132 000463 fetch 1 ,mem_24g_rf_last_sta 
+0x0133 000464 rtnne 1 
+0x0134 000465 fetch 1 ,mem_24g_sync_cnt 
+0x0135 000466 rtnne 0 
+0x0136 000467 jam 1 ,mem_24g_rf_work_stage 
+0x0137 000468 jam 4 ,mem_24g_max_retry 
+0x0138 000469 branch enable_user2 
+:      000471 p_g24_rf_sync_cnt_check:
+0x0139 000472 fetch 1 ,mem_24g_sync_cnt 
+0x013a 000473 branch p_g24_rf_hop_attemp ,blank 
+0x013b 000474 increase -1 ,pdata 
+0x013c 000475 store 1 ,mem_24g_sync_cnt 
+0x013d 000476 jam 2 ,mem_24g_rf_work_stage 
+0x013e 000477 jam 4 ,mem_24g_max_retry 
+0x013f 000478 branch p_g24_ch 
+:      000480 p_g24_rf_hop_attemp:
+0x0140 000481 jam 3 ,mem_24g_rf_work_stage 
+0x0141 000482 fetch 1 ,mem_24g_rf_hop_ch 
+0x0142 000483 nbranch p_g24_rf_hop_attemp_again ,blank 
+0x0143 000484 jam 2 ,mem_24g_max_retry 
+0x0144 000485 branch p_g24_ch 
+:      000487 p_g24_txdata_prep:
+0x0145 000488 fetch 1 ,mem_24g_pairing_sm 
+0x0146 000489 bne state_24g_pairing_success ,p_g24_pairing_sm 
+:      000490 p_g24_txdata_prep_packeage_data:
+0x0147 000491 call p_g24_package_data 
+:      000492 p_g24_txdata_enable_tx:
+0x0148 000493 call p_g24_transmit_prep 
+0x0149 000494 jam ensure_on_24g ,mem_24g_ensure 
+0x014a 000495 rtn 
+:      000497 p_g24_package_data:
+0x014b 000498 fetch 2 ,mem_cb_24g_data 
+0x014c 000499 call callback_func 
+0x014d 000500 branch p_g24_accumulate_mouse_data ,user 
+0x014e 000501 fetch 7 ,mem_24g_txbuf + 1 
+0x014f 000502 rtn blank 
+0x0150 000503 branch enable_user 
+:      000504 p_g24_accumulate_mouse_data:
+0x0151 000505 call p_mouse_24g_no_data_timer_init 
+0x0152 000506 call p_mouse_data_xy_release 
+0x0153 000507 jam 0 ,mem_24g_abort_pac 
+0x0154 000508 add rega ,1 ,pdata 
+0x0155 000509 store 1 ,mem_24g_datalen 
+0x0156 000510 call p_g24_transmit_rf_ctrl_clear 
+0x0157 000511 store 1 ,mem_24g_txbuf 
+0x0158 000512 ifetcht 1 ,contw 
+0x0159 000513 ifetch 1 ,regb 
+0x015a 000514 ior temp ,pdata 
+0x015b 000515 istore 1 ,contw 
+0x015c 000516 increase 1 ,regb 
+0x015d 000517 ifetch 4 ,regb 
+0x015e 000518 istore 4 ,contw 
+0x015f 000519 increase 4 ,regb 
+0x0160 000520 arg mem_24g_txbuf + 6 ,contw 
+0x0161 000521 arg 2 ,loopcnt 
+:      000522 p_g24_accumulation_loop:
+0x0162 000523 ifetch 1 ,regb 
+0x0163 000524 ifetcht 1 ,contw 
+0x0164 000525 iadd temp ,pdata 
+0x0165 000526 istore 1 ,contw 
+0x0166 000527 increase 1 ,regb 
+0x0167 000528 loop p_g24_accumulation_loop 
+0x0168 000529 rtn 
+:      000531 p_g24_transmit_packet:
+0x0169 000532 jam 0 ,mem_24g_retry 
+:      000533 p_g24_transmit_loop:
+0x016a 000534 arg param_rx_setup ,timeup 
+0x016b 000535 until clkn_rt ,meet 
+0x016c 000536 call p_g24_transmit_receive_ack 
+0x016d 000537 fetch 1 ,mem_24g_no_ack 
+0x016e 000538 rtneq no_ack_24g 
+0x016f 000539 nbranch p_g24_retransmit ,sync 
+0x0170 000540 nbranch p_g24_retransmit ,user3 
+0x0171 000541 call p_g24_txbuf_clear 
+0x0172 000542 call p_g24_ackpayload_parse 
+0x0173 000543 call power_ctrl_pac_succ_incrs 
+:      000544 p_g24_transmit_next_packet:
+0x0174 000545 jam 0 ,mem_retry_count 
+0x0175 000546 fetch 1 ,mem_24g_pid 
+0x0176 000547 increase 1 ,pdata 
+0x0177 000548 store 1 ,mem_24g_pid 
+0x0178 000549 call p_g24_hop_enable_packet 
+0x0179 000550 fetch 1 ,mem_24g_pairing_sm 
+0x017a 000551 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0x017b 000552 call p_g24_transmit_succ_rf_config 
+:      000553 p_g24_transmit_abandon:
+0x017c 000554 setarg 0 
+0x017d 000555 store 2 ,mem_24g_txfail_cnt 
+0x017e 000556 store 1 ,mem_24g_get_ack_fail 
+0x017f 000557 store 1 ,mem_24g_hop_pac_retry 
+0x0180 000558 store 1 ,mem_mouse_24g_pair_timer 
+0x0181 000559 jam ensure_off_24g ,mem_24g_ensure 
+0x0182 000560 rtn 
+:      000562 p_g24_txbuf_clear:
+0x0183 000563 arg 4 ,loopcnt 
+0x0184 000564 arg mem_24g_txbuf ,contw 
+0x0185 000565 branch memset0 
+:      000567 p_g24_hop_enable_packet:
+0x0186 000568 fetch 1 ,mem_24g_data_type 
+0x0187 000569 bbit1 bit_hop ,p_g24_hop_ch_disable 
+0x0188 000570 rtn 
+:      000573 p_g24_paring_mode_start:
+0x0189 000574 call power_ctrl_pac_succ_cnt_init 
+0x018a 000575 branch p_g24_paring_mode 
+:      000577 p_g24_transmit_receive_ack:
+0x018b 000578 disable user3 
+0x018c 000579 call p_g24_transmit 
+0x018d 000582 fetch 1 ,mem_24g_no_ack 
+0x018e 000583 beq no_ack_24g ,p_g24_transmit_no_ack 
+0x018f 000584 force 0 ,radio_ctrl 
+0x0190 000585 fetch 4 ,mem_24g_addr 
+0x0191 000586 iforce access 
+0x0192 000587 fetcht 1 ,mem_last_freq 
+0x0193 000588 call set_freq_rx 
+0x0194 000589 call rf_rx_enable 
+0x0195 000590 call p_g24_receive_rxon 
+0x0196 000591 call p_g24_end_of_packet ,user3 
+0x0197 000592 rtn 
+:      000593 p_g24_transmit_no_ack:
+0x0198 000594 call p_g24_end_of_packet 
+0x0199 000595 branch p_g24_transmit_next_packet 
+:      000597 p_g24_retransmit:
+0x019a 000598 fetch 1 ,mem_24g_get_ack_fail 
+0x019b 000599 increase 1 ,pdata 
+0x019c 000600 store 1 ,mem_24g_get_ack_fail 
+0x019d 000601 fetch 1 ,mem_24g_pairing_sm 
+0x019e 000602 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0x019f 000603 fetcht 1 ,mem_24g_retry 
+0x01a0 000604 increase 1 ,temp 
+0x01a1 000605 storet 1 ,mem_24g_retry 
+0x01a2 000606 fetch 1 ,mem_24g_max_retry 
+0x01a3 000607 isub temp ,pdata 
+0x01a4 000608 nbranch p_g24_transmit_loop ,blank 
+0x01a5 000609 fetch 1 ,mem_24g_rf_work_stage 
+0x01a6 000610 beq 3 ,p_g24_transmit_pac_fail_hop_stage3 
+0x01a7 000611 fetch 1 ,mem_24g_hop_pac_retry 
+0x01a8 000612 increase 1 ,pdata 
+0x01a9 000613 store 1 ,mem_24g_hop_pac_retry 
+0x01aa 000614 beq 2 ,p_g24_transmit_hop_pac_fail 
+0x01ab 000615 call p_g24_hop_ch_enable 
+0x01ac 000616 jam 1 ,mem_24g_max_retry 
+0x01ad 000617 branch p_g24_transmit_packet 
+:      000619 p_g24_tx_paring_retry:
+0x01ae 000620 fetch 1 ,mem_24g_get_ack_fail 
+0x01af 000621 rtnne 0xff 
+0x01b0 000622 jam 0 ,mem_24g_get_ack_fail 
+:      000623 p_g24_tx_attempt_fail:
+0x01b1 000624 setarg 0 
+0x01b2 000625 store 2 ,mem_24g_txfail_cnt 
+:      000626 p_g24_stop_g24_mode:
+0x01b3 000627 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x01b4 000628 branch ui_ipc_send_event 
+:      000631 p_g24_ackpayload_parse:
+0x01b5 000632 call p_g24_read_len_pid_crc 
+0x01b6 000633 fetch 1 ,mem_24g_rxdata_length 
+0x01b7 000634 rtn blank 
+0x01b8 000635 iforce loopcnt 
+0x01b9 000636 arg mem_24g_rxbuf + 2 ,contr 
+0x01ba 000637 arg mem_24g_rxpayload ,contw 
+0x01bb 000638 branch memcpy 
+:      000640 p_g24_pairing_sm:
+0x01bc 000641 jam zcode_90 ,mem_zcode_temp_param0 
+0x01bd 000642 branch p_zcode_entrance 
+:      000644 p_g24_paring_mode:
+0x01be 000645 jam zcode_91 ,mem_zcode_temp_param0 
+0x01bf 000646 branch p_zcode_entrance 
+:      000648 p_g24_start_24g_mode:
+0x01c0 000649 jam zcode_60 ,mem_zcode_temp_param0 
+0x01c1 000650 branch p_zcode_entrance 
+:      000652 p_g24_auto_pair_start:
+0x01c2 000653 jam zcode_70 ,mem_zcode_temp_param0 
+0x01c3 000654 branch p_zcode_entrance 
+:      000657 p_g24_tx_attemp_data_prep:
+0x01c4 000658 jam 0xff ,mem_24g_common_temp 
+0x01c5 000659 fetch 1 ,mem_24g_data_type 
+0x01c6 000660 store 1 ,mem_24g_common_temp + 1 
+0x01c7 000661 fetch 4 ,mem_24g_device_addr 
+0x01c8 000662 store 4 ,mem_24g_common_temp + 2 
+0x01c9 000663 arg 6 ,temp 
+0x01ca 000664 arg mem_24g_common_temp ,rega 
+0x01cb 000665 call p_g24_put_data_in_buff 
+0x01cc 000666 branch p_g24_transmit_prep 
+:      000669 p_g24_check_51cmd_stop_24g:
+0x01cd 000670 set0 mark_24g ,mark 
+0x01ce 000671 call le_disable 
+:      000672 p_mouse_disable_g24_pairing_flag:
+0x01cf 000673 arg mosue_24g_pairing_flag ,queue 
+0x01d0 000674 branch mouse_disable_function_flag 
+:      000676 p_g24_put_data_in_buff:
+0x01d1 000677 storet 1 ,mem_24g_datalen 
+0x01d2 000678 copy temp ,loopcnt 
+0x01d3 000679 arg mem_24g_txbuf ,contw 
+0x01d4 000680 copy rega ,contr 
+0x01d5 000681 branch memcpy 
+:      000683 p_g24_read_len_pid_crc:
+0x01d6 000685 fetch 1 ,mem_24g_rxbuf + 1 
+0x01d7 000686 rshift3 pdata ,pdata 
+0x01d8 000687 store 1 ,mem_24g_rxdata_length 
+0x01d9 000689 increase 1 ,pdata 
+0x01da 000690 arg mem_24g_rxbuf + 1 ,contr 
+0x01db 000691 iadd contr ,contr 
+0x01dc 000692 ifetch 3 ,contr 
+0x01dd 000693 store 3 ,mem_24g_sta_crc 
+0x01de 000695 fetch 1 ,mem_24g_rxbuf + 1 
+0x01df 000696 rshift pdata ,pdata 
+0x01e0 000697 and pdata ,0x03 ,pdata 
+0x01e1 000698 store 1 ,mem_24g_sta_pid 
+0x01e2 000699 rtn 
+:      000701 p_g24_update_addr_and_synccrc8:
+0x01e3 000702 store 4 ,mem_24g_addr 
+:      000704 p_g24_syncword_crc8:
+0x01e4 000705 arg 0 ,rega 
+0x01e5 000706 arg 4 ,loopcnt 
+0x01e6 000707 arg mem_24g_addr ,contr 
+:      000708 p_g24_syncword_crc8_loop:
+0x01e7 000709 ifetch 1 ,contr 
+0x01e8 000710 iadd rega ,rega 
+0x01e9 000711 loop p_g24_syncword_crc8_loop 
+0x01ea 000712 copy rega ,pdata 
+0x01eb 000713 store 2 ,mem_24g_syncword 
+0x01ec 000714 fetch 1 ,mem_24g_syncword 
+0x01ed 000715 fetcht 1 ,mem_24g_syncword + 1 
+0x01ee 000716 iadd temp ,pdata 
+0x01ef 000717 store 1 ,mem_24g_syncword_crc8 
+0x01f0 000718 rtn 
+:      000720 p_g24_transmit_prep:
+0x01f1 000723 fetch 1 ,mem_24g_datalen 
+0x01f2 000724 increase 2 ,pdata 
+0x01f3 000725 store 1 ,mem_24g_txlen 
+0x01f4 000727 fetch 1 ,mem_24g_data_type 
+0x01f5 000728 store 1 ,mem_24g_txpayload 
+0x01f6 000730 fetch 1 ,mem_24g_datalen 
+0x01f7 000731 lshift3 pdata ,pdata 
+0x01f8 000732 fetcht 1 ,mem_24g_pid 
+0x01f9 000733 and temp ,0x03 ,temp 
+0x01fa 000734 lshift temp ,temp 
+0x01fb 000735 ior temp ,pdata 
+0x01fc 000736 fetcht 1 ,mem_24g_no_ack 
+0x01fd 000737 iadd temp ,pdata 
+0x01fe 000738 istore 1 ,contw 
+0x01ff 000740 fetch 1 ,mem_24g_datalen 
+0x0200 000741 iforce loopcnt 
+0x0201 000742 arg mem_24g_txbuf ,contr 
+0x0202 000743 branch memcpy 
+:      000745 p_g24_ch:
+0x0203 000746 fetcht 1 ,mem_24g_current_ch_number 
+0x0204 000747 call p_g24_ch_map_size 
+0x0205 000748 storet 1 ,mem_24g_current_ch_number 
+0x0206 000749 rtn 
+:      000751 p_g24_ch_map_size:
+0x0207 000752 call p_g24_ch_calc 
+0x0208 000753 increase 1 ,temp 
+0x0209 000754 and_into 3 ,temp 
+0x020a 000755 rtn 
+:      000757 p_g24_ch_calc:
+0x020b 000758 fetch 1 ,mem_24g_addr 
+0x020c 000759 and_into 0x03 ,pdata 
+0x020d 000760 mul32 pdata ,4 ,rega 
+0x020e 000761 setarg mem_24g_ch_map1 
+0x020f 000762 iadd rega ,pdata 
+0x0210 000763 iadd temp ,contr 
+0x0211 000764 ifetch 1 ,contr 
+0x0212 000765 store 1 ,mem_24g_ch 
+0x0213 000766 rtn 
+:      000768 p_g24_prep:
+0x0214 000769 disable enable_crc 
+0x0215 000770 disable enable_white 
+0x0216 000771 setarg 0x555555 
+0x0217 000772 iforce crc24_init 
+0x0218 000773 fetch 1 ,mem_24g_ch 
+0x0219 000774 reverse pdata ,temp 
+0x021a 000775 set1 1 ,temp 
+0x021b 000776 rshift temp ,white_init 
+0x021c 000777 rtn 
+:      000779 p_g24_receive_packet:
+0x021d 000780 call le_enable 
+0x021e 000781 fetch 4 ,mem_24g_addr 
+0x021f 000782 iforce access 
+0x0220 000783 call set_sync_on 
+0x0221 000784 fetcht 1 ,mem_24g_ch 
+0x0222 000785 call set_freq_rx 
+0x0223 000786 setarg param_pll_setup 
+0x0224 000787 call sleep 
+0x0225 000788 call rf_rx_enable 
+:      000789 p_g24_receive_rxon:
+0x0226 000792 call p_g24_prep 
+0x0227 000793 disable user3 
+0x0228 000794 enable decode_fec0 
+0x0229 000795 enable is_rx 
+0x022a 000796 disable is_tx 
+0x022b 000797 enable swfine 
+0x022c 000798 fetch 2 ,mem_24g_rx_window 
+0x022d 000799 iforce stop_watch 
+0x022e 000800 correlate null ,timeout 
+0x022f 000801 nbranch p_g24_sync_timeout ,sync 
+0x0230 000804 disable decode_fec0 
+0x0231 000805 enable decode_fec1 
+0x0232 000806 enable enable_white 
+0x0233 000807 enable enable_crc 
+0x0234 000808 call p_g24_receive_byte 
+0x0235 000809 store 1 ,mem_24g_get_syncword_crc8 
+0x0236 000810 fetcht 1 ,mem_24g_syncword_crc8 
+0x0237 000811 isub temp ,null 
+0x0238 000812 nbranch p_g24_end_of_packet ,zero 
+0x0239 000813 call p_g24_receive_byte 
+0x023a 000814 store 1 ,mem_24g_rxbuf 
+0x023b 000815 fetch 1 ,mem_24g_mode 
+0x023c 000816 sub pdata ,rx_24g ,null 
+0x023d 000817 branch p_g24_receive_skip ,zero 
+0x023e 000818 fetch 1 ,mem_24g_rxbuf 
+0x023f 000819 fetcht 1 ,mem_24g_data_type 
+0x0240 000820 icompare bits_data ,temp 
+0x0241 000821 nbranch p_g24_end_of_packet ,true 
+:      000822 p_g24_receive_skip:
+0x0242 000823 call p_g24_receive_byte 
+0x0243 000824 istore 1 ,contw 
+0x0244 000825 rshift3 pdata ,pdata 
+0x0245 000826 and pdata ,0x1f ,loopcnt 
+0x0246 000827 branch p_g24rx_nopayload ,zero 
+:      000828 p_g24rx_loop:
+0x0247 000829 call p_g24_receive_byte 
+0x0248 000830 istore 1 ,contw 
+0x0249 000831 loop p_g24rx_loop 
+:      000832 p_g24rx_nopayload:
+0x024a 000834 copy contw ,rega 
+0x024b 000835 call p_g24_receive_byte 
+0x024c 000836 store 1 ,mem_rssi_hex_received 
+0x024d 000837 copy rega ,contw 
+0x024e 000838 parse demod ,bucket ,24 
+0x024f 000839 enable swfine 
+0x0250 000840 arg param_sifs ,stop_watch 
+0x0251 000841 rshift32 pdata ,pdata 
+0x0252 000842 rshift16 pdata ,pdata 
+0x0253 000843 istore 3 ,contw 
+0x0254 000844 disable decode_fec1 
+0x0255 000845 branch p_g24_end_of_packet ,crc_failed 
+0x0256 000848 enable user3 
+0x0257 000849 fetch 1 ,mem_last_freq 
+0x0258 000850 add pdata ,0 ,rega 
+0x0259 000851 call rf_write_freq 
+0x025a 000852 disable decode_fec0 
+0x025b 000853 call set_sync_on 
+0x025c 000854 fetch 1 ,mem_rssi_hex_received 
+0x025d 000855 call p_rssi_signal 
+0x025e 000856 rtn 
+:      000858 p_g24_receive_byte:
+0x025f 000859 parse demod ,bucket ,8 
+0x0260 000860 rshift3 pwindow ,pdata 
+0x0261 000861 rtn 
+:      000863 p_g24_end_of_packet:
+0x0262 000864 disable encode_fec1 
+0x0263 000865 disable decode_fec1 
+0x0264 000866 call end_of_packet 
+0x0265 000867 rtn 
+:      000869 p_g24_sync_timeout:
+0x0266 000870 branch p_g24_end_of_packet 
+:      000872 p_g24_set_freq_tx:
+0x0267 000873 call set_sync_on 
+0x0268 000874 fetcht 1 ,mem_24g_ch 
+0x0269 000875 branch set_freq_tx 
+:      000877 p_g24_transmit:
+0x026a 000878 call le_enable 
+0x026b 000879 fetch 4 ,mem_24g_addr 
+0x026c 000880 iforce access 
+0x026d 000881 call p_g24_prep 
+0x026e 000882 call p_g24_set_freq_tx 
+0x026f 000883 set1 txgfsk ,radio_ctrl 
+0x0270 000884 enable encode_fec0 
+0x0271 000885 enable is_tx 
+0x0272 000886 disable is_rx 
+0x0273 000889 rshift16 access ,pdata 
+0x0274 000890 rshift8 pdata ,pdata 
+0x0275 000891 rshift4 pdata ,pdata 
+0x0276 000892 inject mod ,40 
+0x0277 000893 disable encode_fec0 
+0x0278 000894 enable encode_fec1 
+0x0279 000895 enable enable_white 
+0x027a 000896 enable enable_crc 
+0x027b 000897 fetch 1 ,mem_24g_syncword_crc8 
+0x027c 000898 inject mod ,8 
+0x027d 000899 fetch 1 ,mem_24g_txlen 
+0x027e 000900 iforce loopcnt 
+0x027f 000901 arg mem_24g_txpayload ,contr 
+:      000902 p_g24tr_loop:
+0x0280 000903 ifetch 1 ,contr 
+0x0281 000904 inject mod ,8 
+0x0282 000905 loop p_g24tr_loop 
+0x0283 000908 enable enable_parity 
+0x0284 000909 inject mod ,24 
+0x0285 000910 disable enable_parity 
+0x0286 000911 until null ,tx_clear 
+0x0287 000912 nop 100 
+0x0288 000913 disable encode_fec0 
+0x0289 000914 disable encode_fec1 
+0x028a 000915 rtn 
+:      000917 p_g24_timer_check:
+0x028b 000918 call disable_user 
+0x028c 000919 fetcht 4 ,mem_24g_tx_btclk 
+0x028d 000920 copy clkn_bt ,pdata 
+0x028e 000921 isub temp ,null 
+0x028f 000922 ncall g24_timer_timeout ,positive 
+0x0290 000923 copy pdata ,regb 
+0x0291 000924 fetch 4 ,mem_24g_tx_btclk 
+0x0292 000925 fetcht 1 ,mem_24g_interval 
+0x0293 000926 iadd temp ,temp 
+0x0294 000927 copy regb ,pdata 
+0x0295 000928 isub temp ,null 
+0x0296 000929 nrtn positive 
+0x0297 000930 set0 28 ,pdata 
+0x0298 000931 store 4 ,mem_24g_tx_btclk 
+0x0299 000932 branch enable_user 
+:      000934 p_rssi_noise:
+0x029a 000935 call save_rssi 
+0x029b 000936 rtn blank 
+0x029c 000937 fetcht 1 ,mem_rssi_noise_index 
+0x029d 000938 arg mem_rssi_noise_buffer ,rega 
+0x029e 000939 call p_rssi_store 
+0x029f 000940 storet 1 ,mem_rssi_noise_index 
+0x02a0 000941 rtn 
+:      000943 p_rssi_store:
+0x02a1 000944 copy rega ,pdata 
+0x02a2 000945 iadd temp ,contw 
+0x02a3 000946 fetch 1 ,mem_rssi 
+0x02a4 000947 istore 1 ,contw 
+0x02a5 000948 increase 1 ,temp 
+0x02a6 000949 and_into rssi_buf_len_signal ,temp 
+0x02a7 000950 rtn 
+:      000951 p_rssi_average:
+0x02a8 000952 arg 0 ,temp 
+0x02a9 000953 arg rssi_buf_len_signal + 1 ,loopcnt 
+0x02aa 000954 copy rega ,contr 
+:      000955 p_rssi_average_loop:
+0x02ab 000956 ifetch 1 ,contr 
+0x02ac 000957 iadd temp ,temp 
+0x02ad 000958 loop p_rssi_average_loop 
+0x02ae 000959 rshift3 temp ,pdata 
+0x02af 000960 copy pdata ,temp 
+0x02b0 000961 rtnmark0 mark_24g 
+0x02b1 000963 div pdata ,10 
+0x02b2 000964 call wait_div_end 
+0x02b3 000965 quotient pdata 
+0x02b4 000966 lshift4 pdata ,pdata 
+0x02b5 000967 remainder temp 
+0x02b6 000968 ior temp ,temp 
+0x02b7 000969 rtn 
+0x02b8 000970 rtn 
+:      000973 p_mouse_before_lpm:
+0x02b9 000974 rtnmark1 mark_24g 
+0x02ba 000975 call p_mouse_le_txbuff_save 
+0x02bb 000976 call p_mouse_setgpio_lpm 
+0x02bc 000977 fetch 1 ,mem_context 
+0x02bd 000978 bbit0 state_inconn ,p_clear_wake 
+0x02be 000979 fetch 1 ,mem_lpm_current_mult 
+0x02bf 000980 nrtn blank 
+:      000981 p_clear_wake:
+0x02c0 000982 setarg 0 
+0x02c1 000983 store 8 ,mem_gpio_wakeup_low 
+0x02c2 000984 rtn 
+:      000986 p_mouse_setgpio_lpm:
+0x02c3 000987 call p_mouse_set_sdio_high 
+0x02c4 000988 call p_clear_wake 
+:      000989 p_mouse_setgpio_hibernate:
+0x02c5 000990 call mouse_lpm_before_common 
+0x02c6 000991 call p_flash_ncs_disable 
+0x02c7 000992 hfetch 4 ,core_gpio_oe0 
+0x02c8 000993 hfetcht 4 ,core_gpio_pu0 
+0x02c9 000994 ior temp ,temp 
+0x02ca 000995 invert temp ,temp 
+0x02cb 000996 hstoret 4 ,core_gpio_pd0 
+0x02cc 000997 hfetch 1 ,core_gpio_pd0 
+0x02cd 000998 set0 6 ,pdata 
+0x02ce 000999 hstore 1 ,core_gpio_pd0 
+0x02cf 001000 hfetch 1 ,core_gpio_pd0 
+0x02d0 001001 set1 5 ,pdata 
+0x02d1 001002 hstore 1 ,core_gpio_pd0 
+0x02d2 001003 hfetch 1 ,core_gpio_pd1 
+0x02d3 001004 set0 2 ,pdata 
+0x02d4 001005 hstore 1 ,core_gpio_pd1 
+0x02d5 001006 hfetch 1 ,core_gpio_pd2 
+0x02d6 001007 set0 6 ,pdata 
+0x02d7 001008 hstore 1 ,core_gpio_pd2 
+0x02d8 001009 rtn 
+:      001011 p_mouse_set_sdio_high:
+0x02d9 001012 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x02da 001013 rtn blank 
+0x02db 001014 branch mouse_seting_dpi + 2 
+:      001016 p_device_init:
+0x02dc 001017 call initialize_radio 
+0x02dd 001018 call app_lpm_mult_enable 
+0x02de 001019 call enable_authrom 
+0x02df 001020 branch p_device_wake_from_lpm ,wake 
+:      001021 p_device_wake_from_power:
+0x02e0 001022 call p_wake_from_power 
+0x02e1 001023 arg 600 ,temp 
+0x02e2 001024 fetch 2 ,mem_mouse_no_data_timeout 
+0x02e3 001025 isub temp ,temp 
+0x02e4 001026 storet 2 ,mem_mouse_no_data_led_timeout 
+:      001035 p_mouse_check_reconn_target:
+0x02e5 001036 call p_mouse_tx_power_init 
+0x02e6 001037 jam 25 ,mem_mouse_poweron_led_timer 
+0x02e7 001038 call p_mouse_adc_read 
+0x02e8 001039 arg mem_device1_type ,rega 
+0x02e9 001040 fetch 1 ,mem_device_flag 
+0x02ea 001041 fetcht 1 ,mem_24g_device_number 
+0x02eb 001042 isub temp ,null 
+0x02ec 001043 branch p_mouse_start_24g_mode ,zero 
+0x02ed 001044 fetch 1 ,mem_xrecord_mode 
+0x02ee 001045 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+0x02ef 001046 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+0x02f0 001048 rtn 
+:      001051 p_device_wake_from_lpm:
+0x02f1 001052 branch p_mouse_spi_init 
+:      001054 p_mouse_tx_power_init:
+0x02f2 001055 fetch 1 ,mem_tx_power_temp 
+0x02f3 001056 store 1 ,mem_tx_power 
+0x02f4 001057 rtn 
+:      001059 p_mouse3_0_check_reconn_target:
+0x02f5 001060 jam 1 ,mem_mouse_bt_reconnect_flag 
+0x02f6 001061 fetch 6 ,mem_hci_plap 
+0x02f7 001062 branch app_bt_start_discovery_short ,blank 
+0x02f8 001063 branch mouse3_0_check_reconn_target + 3 
+:      001065 p_mouse4_0_check_reconn_target:
+0x02f9 001066 jam 1 ,mem_mouse_le_reconnect_flag 
+0x02fa 001067 fetch 2 ,mem_mouse_direct_timeout 
+0x02fb 001068 fetcht 1 ,mem_mouse_fast_conn_flag 
+0x02fc 001069 sub temp ,0xff ,null 
+0x02fd 001070 nbranch p_mouse4_0_check_reconn_target_next ,zero 
+0x02fe 001071 setarg 0x0258 
+:      001072 p_mouse4_0_check_reconn_target_next:
+0x02ff 001073 jam 1 ,mem_mouse_le_reconnect_flag 
+0x0300 001074 fetch 2 ,mem_mouse_direct_timeout 
+0x0301 001075 store 2 ,mem_mouse_direct_timer 
+0x0302 001076 call app_lpm_mult_disable 
+0x0303 001077 fetch 3 ,mem_le_adv_direct_ind 
+0x0304 001078 store 3 ,mem_le_adv_data + 4 
+0x0305 001080 call p_le_check_adv_flag 
+0x0306 001081 setarg adv_flag_bredr_not_supported 
+0x0307 001082 istore 1 ,contr 
+0x0308 001084 arg mem_le_scan_data ,contr 
+0x0309 001085 call p_le_adv_data_update 
+0x030a 001087 branch check_51cmd_adv 
+:      001089 p_le_check_adv_flag:
+0x030b 001090 arg mem_le_adv_data ,rega 
+:      001091 p_le_check_adv_flag_loop:
+0x030c 001092 ifetch 1 ,rega 
+0x030d 001093 rtn blank 
+0x030e 001094 iadd contr ,rega 
+0x030f 001095 ifetch 1 ,contr 
+0x0310 001096 rtneq 0x01 
+0x0311 001097 branch p_le_check_adv_flag_loop 
+:      001099 p_mouse_24g_pairing_button:
+0x0312 001100 jam zcode_61 ,mem_zcode_temp_param0 
+0x0313 001101 branch p_zcode_entrance 
+:      001104 p_mouse_spi_init:
+0x0314 001105 jam 0x76 ,mem_spi_init_clk 
+0x0315 001106 branch mouse_spi_init 
+:      001108 p_mouse_init_sunt:
+0x0316 001109 call p_mouse_spi_init 
+0x0317 001110 call mouse_spi_sdio_gpio_pollup 
+:      001113 p_mouse_init_sensor:
+0x0318 001114 call mouse_read_sensor_id 
+0x0319 001115 beq p3065_id1 ,p_mouse_p3065_init_param 
+0x031a 001116 call mouse_twspi_reset 
+0x031b 001117 nop 1000 
+0x031c 001118 branch p_mouse_init_sensor 
+:      001120 p_mouse_init_sensor_reset:
+0x031d 001121 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0x031e 001122 call spi_ncs_enable 
+0x031f 001123 call p_mouse_init_sunt 
+0x0320 001124 branch spi_ncs_disable 
+:      001128 p_mouse_p3065_init_param:
+0x0321 001129 call p_mouse_sensor_poweron 
+0x0322 001130 fetch 1 ,mem_sensor_id2 
+0x0323 001131 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x0324 001132 jam p3065 ,mem_config_sensor_type 
+0x0325 001133 rtn 
+:      001136 p_mouse_current_mult_update:
+0x0326 001139 jam 0 ,mem_lpm_mult 
+0x0327 001140 jam 30 ,mem_mouse_current_mult_timer 
+0x0328 001141 rtn 
+:      001143 p_mouse_data_xy_release:
+0x0329 001146 fetch 1 ,mem_mouse_long_mult_flag 
+0x032a 001147 rtnne 1 
+0x032b 001148 setarg 0 
+0x032c 001149 store 1 ,mem_mouse_long_mult_flag 
+0x032d 001150 store 4 ,mem_mouse_x 
+:      001151 p_mouse_sensor_poweron:
+0x032e 001152 call p_mouse_spi_init 
+0x032f 001153 setarg 0x8006 
+0x0330 001154 call twspi_write 
+0x0331 001155 nop 12000 
+:      001156 p_mouse_dpi_config:
+0x0332 001157 fetch 1 ,mem_mouse_dpi 
+0x0333 001158 beq 0xff ,mouse_dpi_config 
+0x0334 001159 branch mouse_seting_dpi + 2 
+:      001161 p_mouse_sensor_powerdown:
+0x0335 001162 call p_mouse_spi_init 
+0x0336 001163 setarg 0x0806 
+0x0337 001168 branch twspi_write 
+:      001170 p_mouse_setting_config:
+0x0338 001171 jam zcode_80 ,mem_zcode_temp_param0 
+0x0339 001172 branch p_zcode_entrance 
+:      001175 p_flash_ncs_disable:
+0x033a 001176 fetcht 1 ,mem_flash_ncs_gpio 
+0x033b 001177 branch gpio_out_inactive 
+:      001179 p_spid_init_flash:
+0x033c 001180 jam 0x40 ,core_spid_ctrl 
+0x033d 001181 jam 0x0 ,core_spid_delay 
+0x033e 001182 hfetch 1 ,core_gpio_sel1 
+0x033f 001183 set0 0 ,pdata 
+0x0340 001184 set0 1 ,pdata 
+0x0341 001185 set1 3 ,pdata 
+0x0342 001186 set0 4 ,pdata 
+0x0343 001187 hstore 1 ,core_gpio_sel1 
+0x0344 001188 setarg 0 
+0x0345 001189 store 4 ,mem_spid_tbuf 
+0x0346 001191 hfetch 1 ,core_gpio_pd3 
+0x0347 001192 set0 0 ,pdata 
+0x0348 001193 hstore 1 ,core_gpio_pd3 
+0x0349 001195 rtn 
+:      001197 p_mouse_load_flash_info_check:
+0x034a 001198 call p_flash_release_deep_power_down 
+0x034b 001199 call mouse_load_flash_flag 
+0x034c 001200 fetch 2 ,mem_store_flag 
+0x034d 001201 arg eeprom_init_flag ,temp 
+0x034e 001202 isub temp ,null 
+0x034f 001203 branch p_mouse_load_flash_device_info ,zero 
+0x0350 001204 storet 2 ,mem_store_flag 
+0x0351 001205 call mouse_ble_init_address 
+0x0352 001206 fetch 1 ,mem_config_sensor_motion 
+0x0353 001207 store 1 ,mem_mouse_dpi 
+0x0354 001208 fetch 4 ,mem_mouse_24g_addr_init 
+0x0355 001209 store 4 ,mem_mouse_24g_addr 
+0x0356 001210 store 4 ,mem_24g_addr 
+0x0357 001211 call p_mouse_fast_conn_init 
+:      001212 p_mouse_store_flash_device_info:
+0x0358 001213 call p_flash_release_deep_power_down 
+0x0359 001214 call p_flash_erase_sector 
+0x035a 001215 call p_mouse_information_flash_parameters 
+0x035b 001216 call p_spid_write_flash 
+0x035c 001217 call p_wait_flash_done 
+:      001218 p_mouse_store_random_addr_increase_count:
+0x035d 001219 arg 2 ,temp 
+0x035e 001220 arg mem_random_addr_increase_count ,rega 
+0x035f 001221 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x0360 001222 fetch 3 ,mem_flash_base 
+0x0361 001223 iadd regb ,pdata 
+0x0362 001224 call p_spid_write_flash 
+0x0363 001225 call p_wait_flash_done 
+0x0364 001226 call p_flash_deep_power_down 
+0x0365 001227 branch p_mouse_spi_init 
+:      001229 p_flash_erase_sector:
+0x0366 001230 fetch 3 ,mem_flash_base 
+0x0367 001231 store 3 ,mem_spi_write_addr 
+0x0368 001232 call flash_erase_sector + 2 
+0x0369 001233 branch p_wait_flash_done 
+:      001235 p_spid_write_flash:
+0x036a 001236 copy pdata ,regc 
+0x036b 001237 copy rega ,pdata 
+0x036c 001238 increase -4 ,pdata 
+0x036d 001239 copy pdata ,regb 
+0x036e 001240 ifetch 4 ,regb 
+0x036f 001241 store 4 ,mem_write_flash_head_temp 
+0x0370 001242 copy regc ,pdata 
+0x0371 001243 call spid_write_flash 
+0x0372 001244 fetch 4 ,mem_write_flash_head_temp 
+0x0373 001245 istore 4 ,regb 
+0x0374 001246 rtn 
+:      001248 p_wait_flash_done:
+0x0375 001249 setarg 100000 
+0x0376 001250 call sleep 
+0x0377 001251 call spid_unlock_flash 
+0x0378 001252 setarg mem_spid_rbuf 
+0x0379 001253 hstore 2 ,core_spid_rxaddr 
+0x037a 001254 setarg flash_read_satus 
+0x037b 001255 call spid_read_reg 
+0x037c 001256 bbit1 flash_status_wip ,p_wait_flash_done 
+0x037d 001257 rtn 
+:      001259 p_mouse_information_flash_parameters:
+0x037e 001260 setarg mem_mouse_information_end 
+0x037f 001261 arg mem_mouse_information_start ,temp 
+0x0380 001262 isub temp ,temp 
+0x0381 001263 fetch 3 ,mem_flash_base 
+0x0382 001264 arg mem_mouse_information_start ,rega 
+0x0383 001265 rtn 
+:      001267 p_mouse_read_flash:
+0x0384 001268 call p_flash_release_deep_power_down 
+0x0385 001269 call p_mouse_information_flash_parameters 
+0x0386 001270 branch spid_read_flash 
+:      001272 p_mouse_load_flash_device_info:
+0x0387 001273 call p_mouse_read_flash 
+0x0388 001274 call p_mouse_load_random_addr_increase_count 
+0x0389 001275 call mouse_select_reconn_device 
+0x038a 001276 fetch 4 ,mem_mouse_24g_addr 
+0x038b 001277 store 4 ,mem_24g_addr 
+0x038c 001278 arg 3 ,loopcnt 
+0x038d 001279 arg mem_device1_addr ,contr 
+0x038e 001280 call p_pdata_0xff_check 
+0x038f 001281 nbranch p_mouse_le_fast_conn_disable ,user 
+0x0390 001286 call p_mouse_fast_conn_init 
+0x0391 001287 rtn 
+:      001290 p_pdata_0xff_check:
+0x0392 001291 call enable_user 
+0x0393 001292 setarg 0xffff 
+:      001293 p_pdata_0xff_check_loop:
+0x0394 001294 ifetcht 2 ,contr 
+0x0395 001295 isub temp ,null 
+0x0396 001296 ncall disable_user ,zero 
+0x0397 001297 loop p_pdata_0xff_check_loop 
+0x0398 001298 rtn 
+:      001300 p_mouse_le_fast_conn_disable:
+0x0399 001301 jam 0x5a ,mem_mouse_fast_conn_flag 
+0x039a 001302 rtn 
+:      001304 p_mouse_fast_conn_init:
+0x039b 001305 jam 0xff ,mem_mouse_fast_conn_flag 
+0x039c 001306 jam 0x34 ,mem_xrecord_mode 
+0x039d 001307 setarg 0x0f0f0f 
+0x039e 001308 store 3 ,mem_le_lap 
+0x039f 001309 store 3 ,mem_le_lap + 3 
+0x03a0 001310 rtn 
+:      001315 p_flash_deep_power_down:
+0x03a1 001316 jam flash_command_deep_power_down ,mem_temp 
+:      001317 p_spid_write_flash_cmd:
+0x03a2 001318 call p_spid_init_flash 
+0x03a3 001319 nop 100 
+0x03a4 001320 call spid_unlock_flash 
+0x03a5 001321 arg mem_write_flash_head_temp ,rega 
+0x03a6 001322 fetcht 1 ,mem_temp 
+0x03a7 001323 call spid_write_flash_common 
+0x03a8 001324 nop 100 
+0x03a9 001325 rtn 
+:      001327 p_flash_release_deep_power_down:
+0x03aa 001328 jam flash_command_release_deep_power_down ,mem_temp 
+0x03ab 001329 branch p_spid_write_flash_cmd 
+:      001332 p_mouse_load_random_addr_increase_count:
+0x03ac 001333 call p_flash_release_deep_power_down 
+0x03ad 001334 arg 2 ,temp 
+0x03ae 001335 arg mem_random_addr_increase_count ,rega 
+0x03af 001336 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x03b0 001337 fetch 3 ,mem_flash_base 
+0x03b1 001338 iadd regb ,pdata 
+0x03b2 001339 branch spid_read_flash 
+:      001342 p_mouse_start_24g_mode:
+0x03b3 001343 setarg 0 
+0x03b4 001344 store 2 ,mem_24g_check_dongle_times 
+0x03b5 001345 branch p_g24_start_24g_mode 
+:      001348 p_mouse_24g_led_blink:
+0x03b6 001349 fetch 1 ,mem_device_flag 
+0x03b7 001350 rtnne mode_24g_device 
+0x03b8 001351 fetch 1 ,mem_mouse_24g_pair_timer 
+0x03b9 001352 rtn blank 
+0x03ba 001353 increase -1 ,pdata 
+0x03bb 001354 store 1 ,mem_mouse_24g_pair_timer 
+0x03bc 001355 branch app_enter_hibernate ,blank 
+0x03bd 001356 and pdata ,0x0f ,pdata 
+0x03be 001357 beq 0x05 ,p_mouse_24g_led_on 
+0x03bf 001358 beq 0x0a ,p_mouse_24g_led_off 
+0x03c0 001359 rtn 
+:      001361 p_mouse_discovery_led_blink:
+0x03c1 001362 fetch 1 ,mem_mouse_discovery_timer 
+0x03c2 001363 rtn blank 
+0x03c3 001364 fetch 1 ,mem_mouse_discovery_blink_count 
+0x03c4 001365 increase 1 ,pdata 
+0x03c5 001366 store 1 ,mem_mouse_discovery_blink_count 
+0x03c6 001367 beq 5 ,p_mouse_bt_led_off 
+0x03c7 001368 beq 10 ,p_mouse_bt_discovery_led_on 
+0x03c8 001369 rtn 
+:      001372 p_mouse_device_poweron_led_timer:
+0x03c9 001373 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03ca 001374 rtn blank 
+0x03cb 001375 increase -1 ,pdata 
+0x03cc 001376 store 1 ,mem_mouse_poweron_led_timer 
+0x03cd 001377 fetch 1 ,mem_device_flag 
+0x03ce 001378 beq mode_24g_device ,p_mouse_device_poweron_g24_led 
+0x03cf 001379 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03d0 001380 bbit1 1 ,p_mouse_bt_led_on 
+0x03d1 001381 branch p_mouse_bt_led_off 
+:      001383 p_mouse_device_poweron_g24_led:
+0x03d2 001384 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03d3 001385 bbit1 1 ,p_mouse_24g_led_on 
+0x03d4 001386 branch p_mouse_24g_led_off 
+:      001390 p_mouse_24g_led_off:
+0x03d5 001391 jam 0 ,mem_24g_device_led_status 
+0x03d6 001392 fetcht 1 ,mem_device_24g_led_gpio 
+0x03d7 001393 branch p_gpio_set_input_high_impedance 
+:      001395 p_mouse_24g_led_on:
+0x03d8 001396 jam 1 ,mem_24g_device_led_status 
+0x03d9 001397 hfetch 1 ,core_gpio_pd0 
+0x03da 001398 set0 5 ,pdata 
+0x03db 001399 hstore 1 ,core_gpio_pd0 
+0x03dc 001400 fetcht 1 ,mem_device_24g_led_gpio 
+0x03dd 001401 call gpio_config_output 
+0x03de 001402 fetcht 1 ,mem_device_24g_led_gpio 
+0x03df 001403 branch gpio_out_inactive 
+:      001405 p_mouse_bt_discovery_led_on:
+0x03e0 001406 jam 0 ,mem_mouse_discovery_blink_count 
+:      001407 p_mouse_bt_led_on:
+0x03e1 001408 fetcht 1 ,mem_device_bt_led_gpio 
+0x03e2 001409 call gpio_config_output 
+0x03e3 001410 fetcht 1 ,mem_device_bt_led_gpio 
+0x03e4 001411 branch gpio_out_active 
+:      001413 p_mouse_bt_led_off:
+0x03e5 001414 fetcht 1 ,mem_device_bt_led_gpio 
+0x03e6 001415 branch p_gpio_set_input_pu 
+:      001418 p_mouse_device_led_off:
+0x03e7 001419 call p_mouse_bt_led_off 
+0x03e8 001420 branch p_mouse_24g_led_off 
+:      001423 p_mouse_device_poweron_led_off:
+0x03e9 001424 jam 0 ,mem_mouse_poweron_led_timer 
+0x03ea 001425 rtn 
+:      001443 p_mouse_g24_package_data:
+0x03eb 001444 call mouse_g24_package_data 
+0x03ec 001445 fetch 2 ,mem_mouse_z 
+0x03ed 001446 rtn blank 
+:      001447 p_g24_transmit_by_interrupt_enable:
+0x03ee 001448 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0x03ef 001449 setarg 0 
+0x03f0 001450 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x03f1 001451 rtn 
+:      001453 p_mouse_le_txbuff_save:
+0x03f2 001454 arg mem_le_tx_buffer0 ,contr 
+0x03f3 001455 arg mem_le_tx_buffer0_omemalloc ,contw 
+0x03f4 001456 call p_mouse_le_txbuff_copy 
+0x03f5 001457 arg mem_le_tx_buffer1 ,contr 
+0x03f6 001458 call p_mouse_le_txbuff_copy 
+0x03f7 001459 arg mem_le_tx_buffer2 ,contr 
+0x03f8 001460 call p_mouse_le_txbuff_copy 
+0x03f9 001461 arg mem_le_tx_buffer3 ,contr 
+:      001462 p_mouse_le_txbuff_copy:
+0x03fa 001463 arg 27 ,loopcnt 
+0x03fb 001464 branch memcpy 
+:      001466 p_mouse_le_txbuff_load:
+0x03fc 001467 arg mem_le_tx_buffer0_omemalloc ,contr 
+0x03fd 001468 arg mem_le_tx_buffer0 ,contw 
+0x03fe 001469 call p_mouse_le_txbuff_copy 
+0x03ff 001470 arg mem_le_tx_buffer1 ,contw 
+0x0400 001471 call p_mouse_le_txbuff_copy 
+0x0401 001472 arg mem_le_tx_buffer2 ,contw 
+0x0402 001473 call p_mouse_le_txbuff_copy 
+0x0403 001474 arg mem_le_tx_buffer3 ,contw 
+0x0404 001475 branch p_mouse_le_txbuff_copy 
+:      001477 p_mouse_le:
+0x0405 001478 call le_fifo_check_nearly_full 
+0x0406 001479 nrtn blank 
+0x0407 001480 fetch 1 ,mem_mouse_fast_conn_flag 
+0x0408 001481 beq 0xff ,p_mouse_le_next 
+0x0409 001482 fetch 1 ,mem_le_connect_status_flag 
+0x040a 001483 and pdata ,0x03 ,pdata 
+0x040b 001484 rtnne 0x03 
+:      001485 p_mouse_le_next:
+0x040c 001486 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x040d 001487 call p_mouse_clear_sensor_data ,blank 
+0x040e 001488 fetch mouse_flag_len ,mem_mouse_flag 
+0x040f 001489 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x0410 001490 call mouse_motion 
+0x0411 001491 nrtn user 
+0x0412 001492 call p_mouse_current_mult_update 
+0x0413 001493 call p_mouse_data_xy_release 
+0x0414 001494 call p_mouse_wheel_trigger 
+:      001495 p_mouse_data_push:
+0x0415 001496 arg mem_mouse_key ,rega 
+0x0416 001497 call queue_push 
+0x0417 001498 call p_mouse_queue_increase ,user 
+0x0418 001499 rtn 
+:      001501 p_mouse_data_init:
+0x0419 001502 jam 7 ,mem_mouse_data_queue 
+0x041a 001503 jam 4 ,mem_mouse_data_queue + 1 
+0x041b 001504 setarg mem_mouse_data_queue 
+0x041c 001505 store 2 ,mem_queue_ptr 
+0x041d 001506 branch queue_init 
+:      001508 p_mouse_queue_increase:
+0x041e 001509 fetch 1 ,mem_mouse_data_queue_num 
+0x041f 001510 increase 1 ,pdata 
+0x0420 001511 store 1 ,mem_mouse_data_queue_num 
+0x0421 001512 rtn 
+:      001514 p_mouse_data_pull:
+0x0422 001515 arg mem_mouse_key ,rega 
+0x0423 001516 call queue_pop 
+0x0424 001517 branch p_mouse_fill_data_le ,user 
+0x0425 001518 rtn 
+:      001520 p_mouse_fill_data_le:
+0x0426 001521 call le_clear_md 
+0x0427 001522 fetch 1 ,mem_mouse_data_queue_num 
+0x0428 001523 sub pdata ,1 ,null 
+0x0429 001524 ncall le_set_md ,positive 
+0x042a 001525 fetch 1 ,mem_mouse_data_queue_num 
+0x042b 001526 rtn blank 
+0x042c 001527 increase -1 ,pdata 
+0x042d 001528 store 1 ,mem_mouse_data_queue_num 
+0x042e 001529 branch mouse_fill_data_le 
+:      001535 p_mouse_wheel_trigger:
+0x042f 001536 fetch 2 ,mem_mouse_z 
+0x0430 001537 rtn blank 
+0x0431 001538 jam 1 ,mem_mouse_wheel_trigger 
+0x0432 001539 jam 2 ,mem_mouse_wheel_trigger_timer 
+0x0433 001540 rtn 
+:      001542 p_mouse_bt:
+0x0434 001543 rtn attempt 
+0x0435 001544 fetch 1 ,mem_app_handshake_flag 
+0x0436 001545 rtn blank 
+0x0437 001546 call l2cap_malloc_is_fifo_nearly_full 
+0x0438 001547 nrtn blank 
+0x0439 001548 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x043a 001549 call p_mouse_clear_sensor_data ,blank 
+0x043b 001550 fetch mouse_flag_len ,mem_mouse_flag 
+0x043c 001551 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x043d 001552 bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
+0x043e 001553 call mouse_motion 
+0x043f 001554 nrtn user 
+0x0440 001555 call p_mouse_current_mult_update 
+0x0441 001556 call p_mouse_data_xy_release 
+0x0442 001557 call p_mouse_wheel_trigger 
+0x0443 001558 fetch 1 ,mem_mouse_bt_boot_mode 
+0x0444 001559 beq 1 ,p_mouse_send_data_boot_mode 
+0x0445 001560 fetch 1 ,mem_mouse_bt_send_first_package_flag 
+0x0446 001561 rtn blank 
+0x0447 001562 branch mouse_send_data 
+:      001564 p_mouse_send_data_boot_mode:
+0x0448 001565 fetch 1 ,mem_mouse_key 
+0x0449 001566 store 1 ,mem_mouse_bt_boot_data 
+0x044a 001567 fetch 1 ,mem_mouse_x 
+0x044b 001568 istore 1 ,contw 
+0x044c 001569 fetch 1 ,mem_mouse_y 
+0x044d 001570 istore 1 ,contw 
+0x044e 001571 fetch 2 ,mem_mouse_z 
+0x044f 001572 istore 2 ,contw 
+0x0450 001574 arg 7 ,rega 
+0x0451 001575 call hid_malloc_tx_buff 
+0x0452 001576 fetch 2 ,mem_hid_int_remote_cid 
+0x0453 001577 istore 2 ,contw 
+0x0454 001578 setarg 0x02a1 
+0x0455 001579 istore 2 ,contw 
+0x0456 001580 fetch 5 ,mem_mouse_bt_boot_data 
+0x0457 001581 istore 5 ,contw 
+0x0458 001582 rtn 
+:      001584 p_mouse_clear_sensor_data:
+0x0459 001585 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0x045a 001586 call le_set_config_more_data 
+0x045b 001587 branch p_mouse_init_sensor_reset 
+:      001594 p_mouse_idle:
+0x045c 001595 call ui_check_paring_button 
+0x045d 001596 call p_mouse_dpi_check 
+0x045e 001597 branch mouse_wheel_check 
+:      001600 p_mouse_dpi_check:
+0x045f 001601 fetcht 1 ,mem_dpi_button_gpio 
+0x0460 001602 call p_gpio_set_input_pd 
+0x0461 001603 call p_mouse_dpi_check_next 
+0x0462 001604 fetcht 1 ,mem_dpi_button_gpio 
+0x0463 001605 branch p_gpio_set_input_pu 
+:      001607 p_mouse_dpi_check_next:
+0x0464 001608 fetcht 1 ,mem_dpi_button_gpio 
+0x0465 001609 call gpio_get_bit 
+0x0466 001610 branch mouse_dpi_up ,true 
+:      001611 p_mouse_dpi_down:
+0x0467 001612 fetch 1 ,mem_mouse_dpi_button_state 
+0x0468 001613 rtneq dpi_button_state_down 
+0x0469 001614 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x046a 001615 fetch 1 ,mem_mouse_dpi 
+0x046b 001616 increase 1 ,pdata 
+0x046c 001617 sub pdata ,0x03 ,null 
+0x046d 001618 ncall disable_blank ,positive 
+:      001619 p_mouse_set_dpi:
+0x046e 001620 store 1 ,mem_mouse_dpi 
+0x046f 001621 call mouse_seting_dpi 
+:      001629 p_mouse_dpi_no_blink:
+0x0470 001631 branch p_mouse_store_flash_device_info 
+:      001633 p_mouse_priority_bb_event:
+0x0471 001634 copy regc ,pdata 
+0x0472 001635 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+0x0473 001636 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0x0474 001637 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+0x0475 001638 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0x0476 001639 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+0x0477 001640 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+0x0478 001641 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
+0x0479 001643 beq bt_evt_switch_not_accept ,app_bt_role_switch 
+0x047a 001644 beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
+0x047b 001645 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+0x047c 001646 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
+0x047d 001647 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
+0x047e 001648 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+0x047f 001649 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0x0480 001650 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0x0481 001651 branch mouse_priority_bb_event + 1 
+:      001653 p_mouse_le_bb_event_connected:
+0x0482 001654 call p_mouse_init_sensor_reset 
+0x0483 001655 jam zcode_b0 ,mem_zcode_temp_param0 
+0x0484 001656 branch p_zcode_entrance 
+:      001658 p_mouse_le_bb_disconnected:
+0x0485 001659 jam 0 ,mem_mouse_le_bb_connected_flag 
+0x0486 001660 call p_mouse_sensor_powerdown_check 
+0x0487 001661 jam zcode_a2 ,mem_zcode_temp_param0 
+0x0488 001662 branch p_zcode_entrance 
+:      001664 p_mouse_le_enc_info:
+:      001665 p_app_updata_le_param:
+0x0489 001666 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x048a 001667 branch ui_ipc_send_cmd 
+:      001669 p_mouse_le_ll_start_encryt:
+0x048b 001670 jam zcode_b3 ,mem_zcode_temp_param0 
+0x048c 001671 branch p_zcode_entrance 
+:      001673 p_mouse_le_conn_param_update_rsp_recieved:
+0x048d 001674 jam zcode_a1 ,mem_zcode_temp_param0 
+0x048e 001675 branch p_zcode_entrance 
+:      001678 p_mouse_bb_event_reconn_timeout:
+:      001679 p_mouse_bb_event_reconn_failed:
+0x048f 001680 jam zcode_a3 ,mem_zcode_temp_param0 
+0x0490 001681 branch p_zcode_entrance 
+:      001683 p_mouse_irtual_cable_unplug:
+0x0491 001684 call mouse_irtual_cable_unplug 
+0x0492 001685 branch app_bb_hibernate 
+:      001687 p_mouse_sniff_not_accept:
+0x0493 001688 jam zcode_b1 ,mem_zcode_temp_param0 
+0x0494 001689 branch p_zcode_entrance 
+:      001691 p_mouse_bb_event_connected:
+0x0495 001692 jam 0 ,mem_mouse_send_switch_req_timer 
+0x0496 001693 call p_mouse_init_sensor_reset 
+0x0497 001694 branch mouse_stop_discovery 
+:      001696 p_mouse_bb_event_disconnected:
+0x0498 001697 call p_mouse_sensor_powerdown_check 
+0x0499 001698 jam zcode_b4 ,mem_zcode_temp_param0 
+0x049a 001699 branch p_zcode_entrance 
+:      001701 p_mouse_enter_sniff_check:
+0x049b 001702 jam zcode_b2 ,mem_zcode_temp_param0 
+0x049c 001703 branch p_zcode_entrance 
+:      001705 p_mouse_24g_pairing_complete:
+0x049d 001706 call p_mouse_init_sensor_reset 
+0x049e 001707 jam zcode_92 ,mem_zcode_temp_param0 
+0x049f 001708 branch p_zcode_entrance 
+:      001710 p_mouse_24g_attempt_fail:
+0x04a0 001711 call p_mouse_sensor_powerdown_check 
+0x04a1 001712 jam 0 ,mem_retry_count 
+0x04a2 001713 jam zcode_51 ,mem_zcode_temp_param0 
+0x04a3 001714 branch p_zcode_entrance 
+:      001716 p_mouse_24g_attempt_success:
+0x04a4 001718 call p_mouse_init_sensor_reset 
+:      001719 p_mouse_24g_no_data_timer_init:
+0x04a5 001720 branch mouse_no_data_timer_init 
+:      001722 p_mouse_before_hibernate:
+0x04a6 001723 call p_mouse_sensor_powerdown_check 
+0x04a7 001724 jam zcode_a4 ,mem_zcode_temp_param0 
+0x04a8 001725 branch p_zcode_entrance 
+:      001727 p_mouse_sensor_powerdown_check:
+0x04a9 001728 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x04aa 001729 rtn blank 
+0x04ab 001730 jam 0 ,mem_mouse_init_sensor_reset_flag 
+0x04ac 001731 branch p_mouse_sensor_powerdown 
+:      001734 p_mouse_bb_event_timer:
+0x04ad 001735 call p_mouse_adc_read 
+0x04ae 001736 call p_mouse_low_voltage_led_timer 
+0x04af 001737 call p_mouse_wheel_trigger_timer 
+0x04b0 001739 call p_mouse_select_device_by_button 
+0x04b1 001740 call mouse_check_discovery_timeout_timer 
+0x04b2 001741 call mouse_check_no_data_timeout_timer 
+0x04b3 001742 call p_mouse_current_mult_update_timer 
+0x04b4 001743 call p_mouse_24g_long_sleep_param_update_timer 
+0x04b5 001744 call mouse_check_direct_timeout_timer 
+0x04b6 001745 call p_mouse_le_enable_att_list_timer 
+0x04b7 001746 call p_mouse_le_fast_conn_enable_timer 
+0x04b8 001747 call p_mouse_send_switch_req_timer 
+0x04b9 001748 call mouse_check_hid_handshake_timer 
+0x04ba 001749 call p_mouse_bt_check_sniff_req_timeout_timer 
+0x04bb 001750 call p_mouse_discovery_led_blink 
+0x04bc 001751 call p_mouse_24g_led_blink 
+0x04bd 001752 branch p_mouse_device_poweron_led_timer 
+:      001754 p_mouse_low_voltage_led_timer:
+0x04be 001755 fetch mouse_flag_len ,mem_mouse_flag 
+0x04bf 001756 rtnbit0 mouse_low_voltage_flag 
+0x04c0 001757 fetch 1 ,mem_mouse_direct_timer 
+0x04c1 001758 nbranch p_mouse_24g_led_off ,blank 
+0x04c2 001759 fetch 1 ,mem_mouse_discovery_timer 
+0x04c3 001760 nbranch p_mouse_24g_led_off ,blank 
+0x04c4 001761 fetch 1 ,mem_mouse_poweron_led_timer 
+0x04c5 001762 nbranch p_mouse_24g_led_off ,blank 
+0x04c6 001763 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x04c7 001764 pincrease 1 
+0x04c8 001765 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x04c9 001766 sub pdata ,20 ,null 
+0x04ca 001767 ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x04cb 001768 beq 2 ,p_mouse_24g_led_on 
+0x04cc 001769 beq 4 ,p_mouse_24g_led_off 
+0x04cd 001770 beq 6 ,p_mouse_24g_led_on 
+0x04ce 001771 beq 8 ,p_mouse_24g_led_off 
+0x04cf 001772 rtn 
+:      001773 p_mouse_adc_low_volatage_led_timer_count_clean:
+0x04d0 001774 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x04d1 001775 branch p_mouse_24g_led_off 
+:      001777 p_mouse_send_switch_req_timer:
+0x04d2 001778 arg mem_mouse_send_switch_req_timer ,regc 
+0x04d3 001779 arg host_create_conn_resend ,regb 
+0x04d4 001780 branch timer_single_step 
+:      001782 p_mouse_bt_check_sniff_req_timeout_timer:
+0x04d5 001783 arg mem_mouse_bt_send_first_package_timer ,regc 
+0x04d6 001784 arg p_mouse_bt_send_first_package ,regb 
+0x04d7 001785 branch timer_single_step 
+:      001786 p_mouse_bt_send_first_package:
+0x04d8 001787 jam 1 ,mem_mouse_bt_send_first_package_flag 
+0x04d9 001788 rtn 
+:      001791 p_mouse_le_enable_att_list_timer:
+0x04da 001792 arg mem_le_start_encrypt_timer ,regc 
+0x04db 001793 arg mouse_le_write_enable ,regb 
+0x04dc 001794 branch timer_single_step 
+:      001795 p_mouse_le_fast_conn_enable_timer:
+0x04dd 001796 fetch 1 ,mem_mouse_fast_conn_flag 
+0x04de 001797 rtnne 0xff 
+0x04df 001798 fetch 1 ,mem_mouse_le_bb_connected_flag 
+0x04e0 001799 nrtn blank 
+0x04e1 001800 arg mem_mouse_le_fast_conn_enable_timer ,regc 
+0x04e2 001801 arg p_mouse_le_fast_conn_enable_timeout ,regb 
+0x04e3 001802 branch timer_single_step 
+:      001804 p_mouse_le_fast_conn_enable_timeout:
+0x04e4 001805 branch p_mouse_start_discovery 
+:      001807 p_mouse_wheel_trigger_timer:
+0x04e5 001808 arg mem_mouse_wheel_trigger_timer ,regc 
+0x04e6 001809 arg p_mouse_wheel_trigger_disable ,regb 
+0x04e7 001810 branch timer_single_step 
+:      001811 p_mouse_wheel_trigger_disable:
+0x04e8 001812 jam 0 ,mem_mouse_wheel_trigger 
+0x04e9 001813 rtn 
+:      001815 p_mouse_current_mult_update_timer:
+0x04ea 001816 arg mem_mouse_current_mult_timer ,regc 
+0x04eb 001817 arg p_mouse_le_current_mult_reinit ,regb 
+0x04ec 001818 branch timer_single_step 
+:      001819 p_mouse_le_current_mult_reinit:
+0x04ed 001820 fetch 1 ,mem_lpm_mult_init 
+0x04ee 001821 store 1 ,mem_lpm_mult 
+0x04ef 001822 branch p_mouse_long_mult_flag_enable 
+:      001824 p_mouse_24g_long_sleep_param_update_timer:
+0x04f0 001825 arg mem_24g_long_sleep_param_update_timer ,regc 
+0x04f1 001826 arg p_mouse_24g_long_sleep_normal_param ,regb 
+0x04f2 001827 branch timer_single_step 
+:      001828 p_mouse_24g_long_sleep_normal_param:
+0x04f3 001829 setarg g24_long_sleep_step2 
+0x04f4 001830 store 3 ,mem_24g_enter_hibernate 
+:      001831 p_mouse_long_mult_flag_enable:
+0x04f5 001832 jam 1 ,mem_mouse_long_mult_flag 
+0x04f6 001833 rtn 
+:      001855 p_mouse_bt_discovery_timer:
+0x04f7 001856 arg mem_select_ui_button_count ,regc 
+0x04f8 001857 arg p_mouse_long_button_bt_discovery ,regb 
+0x04f9 001858 branch timer_single_step 
+:      001859 p_mouse_long_button_bt_discovery:
+0x04fa 001860 fetcht 1 ,mem_device_flag 
+0x04fb 001861 fetch 1 ,mem_24g_device_number 
+0x04fc 001862 isub temp ,null 
+0x04fd 001863 rtn zero 
+0x04fe 001864 fetch 2 ,mem_ui_state_map 
+0x04ff 001865 isolate1 ui_state_ble_adv ,pdata 
+0x0500 001866 call mouse_stop_le_adv ,true 
+0x0501 001867 fetch 2 ,mem_ui_state_map 
+0x0502 001868 isolate1 ui_state_bt_reconnect ,pdata 
+0x0503 001869 call mouse_cancel_reconnect ,true 
+0x0504 001870 branch mouse_long_button_bt_discovry 
+:      001873 p_mouse_set_select_state:
+0x0505 001874 jam 1 ,mem_select_device_button_press_flag 
+0x0506 001875 rtn 
+:      001877 p_mouse_clear_select_state:
+0x0507 001878 jam 0 ,mem_select_device_button_press_flag 
+0x0508 001879 rtn 
+:      001882 p_mouse_select_device_by_button:
+0x0509 001883 fetch 1 ,mem_select_device_button_press_flag 
+0x050a 001884 branch p_mouse_select_device_button_up ,blank 
+:      001885 p_mouse_select_device_button_down:
+0x050b 001886 call p_mouse_bt_discovery_timer 
+0x050c 001887 fetch 1 ,mem_select_device_button_statue 
+0x050d 001888 rtneq pb_button_state_down 
+0x050e 001889 fetch 2 ,mem_mouse_direct_timeout 
+0x050f 001890 store 2 ,mem_mouse_direct_timer 
+0x0510 001891 force page_length_timer ,queue 
+0x0511 001892 fetch 2 ,mem_page_to 
+0x0512 001893 call timer_init 
+0x0513 001894 jam pb_button_state_down ,mem_select_device_button_statue 
+0x0514 001895 rtn 
+:      001899 p_mouse_select_device_button_up:
+0x0515 001900 fetch 1 ,mem_select_device_button_statue 
+0x0516 001901 rtneq pb_button_state_up 
+0x0517 001902 fetch 1 ,mem_select_ui_button_count 
+0x0518 001903 sub pdata ,20 ,null 
+0x0519 001906 fetch 1 ,mem_ui_button_timeout 
+0x051a 001907 store 1 ,mem_select_ui_button_count 
+0x051b 001908 jam pb_button_state_up ,mem_select_device_button_statue 
+0x051c 001910 rtn 
+:      001912 p_mouse_ready_reconnection_by_button:
+0x051d 001913 fetcht 1 ,mem_device_flag 
+0x051e 001914 increase 1 ,temp 
+0x051f 001915 fetch 1 ,mem_device_number 
+0x0520 001916 isub temp ,null 
+0x0521 001917 ncall mouse_select_device_count_clean ,positive 
+0x0522 001918 storet 1 ,mem_device_flag 
+0x0523 001919 jam 0 ,mem_link_key_exists 
+0x0524 001920 call p_mouse_store_flash_device_info 
+0x0525 001923 fetch mouse_flag_len ,mem_mouse_flag 
+0x0526 001924 rtneq mouse_bt_discovery_button_long_down_flag 
+0x0527 001925 branch mouse_set_reconnection 
+:      001957 p_vdd_calculate_by_mode:
+0x0528 001958 fetch 1 ,mem_adc_config_flag 
+0x0529 001959 beq adc_config_gpio ,p_vdd_calculate_io 
+0x052a 001960 branch vdd_calculate_by_mode + 2 
+:      001962 p_vdd_calculate_io:
+0x052b 001963 fetch 2 ,mem_1v_adc_io_data 
+0x052c 001964 fetcht 2 ,mem_0_5_adc_io_data 
+0x052d 001965 arg 50 ,regc 
+0x052e 001966 branch p_vdd_calculate 
+:      001968 p_vdd_calculate:
+0x052f 001969 isub temp ,rega 
+0x0530 001970 fetch 2 ,mem_adc_current_value 
+0x0531 001971 isub temp ,pdata 
+0x0532 001972 nbranch p_vdd_calculate1 ,positive 
+0x0533 001973 branch vdd_calculate + 4 
+:      001975 p_vdd_calculate1:
+0x0534 001976 copy temp ,pdata 
+0x0535 001977 fetcht 2 ,mem_adc_current_value 
+0x0536 001978 isub temp ,pdata 
+0x0537 001979 isub rega ,null 
+0x0538 001980 call p_vdd_calculate2 ,positive 
+0x0539 001981 branch vdd_calculate1 + 3 
+:      001983 p_vdd_calculate2:
+0x053a 001984 copy rega ,pdata 
+0x053b 001985 rtn 
+:      001987 p_mouse_adc_read:
+0x053c 001988 fetch 1 ,mem_adc_read_timer 
+0x053d 001989 increase 1 ,pdata 
+0x053e 001990 store 1 ,mem_adc_read_timer 
+0x053f 001991 sub pdata ,5 ,null 
+0x0540 001992 nop 100 
+0x0541 001993 call p_mouse_adc_read_gpio5 ,positive 
+0x0542 001994 ncall p_mouse_adc_read_vinlpm ,positive 
+0x0543 001995 call adc_init_data 
+0x0544 001996 call p_adc_set_mode 
+0x0545 001997 call p_vdd_calculate_by_mode 
+0x0546 001998 store 2 ,mem_mouse_vdd_now_vol 
+0x0547 001999 arg mem_mouse_vdd_calculate_set ,rega 
+0x0548 002000 call p_adc_bat_percent_lowpower_out 
+0x0549 002001 fetch 1 ,mem_adc_power_flag 
+0x054a 002002 bbit1 2 ,p_mouse_set_select_state 
+0x054b 002004 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0x054c 002005 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x054d 002006 branch mouse_adc_low_voltage 
+:      002008 p_mouse_adc_read_gpio5:
+0x054e 002009 fetch 1 ,mem_24g_device_led_status 
+0x054f 002010 nbranch p_mouse_adc_read_vinlpm ,blank 
+0x0550 002011 jam adc_config_gpio ,mem_adc_config_flag 
+0x0551 002012 rtn 
+:      002013 p_mouse_adc_read_vinlpm:
+0x0552 002014 jam 0 ,mem_adc_read_timer 
+0x0553 002015 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x0554 002016 rtn 
+:      002020 p_mouse_adc_no_low_voltage:
+0x0555 002021 call mouse_adc_no_low_voltage 
+0x0556 002022 jam 12 ,mem_adc_low_volatage_led_timer_count 
+0x0557 002023 fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x0558 002024 rtn blank 
+0x0559 002025 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0x055a 002026 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x055b 002027 store 1 ,mem_mouse_struct_led_gpio 
+0x055c 002028 branch mouse_led_off 
+:      002031 p_adc_set_mode:
+0x055d 002032 fetch 1 ,mem_adc_config_flag 
+0x055e 002033 beq adc_config_gpio ,p_adc_check_gpio 
+0x055f 002034 branch adc_set_mode + 1 
+:      002035 p_adc_check_gpio:
+0x0560 002036 hfetch 1 ,core_gpio_pd0 
+0x0561 002037 set0 5 ,pdata 
+0x0562 002038 hstore 1 ,core_gpio_pd0 
+0x0563 002039 jam 0x8f ,rf_adc_mode 
+0x0564 002040 fetch 1 ,mem_adc_channel 
+0x0565 002041 hstore 1 ,rf_adc_ch 
+0x0566 002042 branch read_adc 
+:      002045 p_adc_bat_percent_lowpower_out:
+0x0567 002046 ifetch 8 ,rega 
+0x0568 002047 store 8 ,mem_pdatatemp 
+0x0569 002048 fetch 1 ,mem_adc_config_flag 
+0x056a 002049 beq adc_config_gpio ,p_adc_check_gpio5 
+0x056b 002050 beq adc_config_vinlpm ,p_adc_check_vinlpm 
+:      002051 p_adc_check_vinlpm:
+0x056c 002052 fetch 2 ,mem_pdatatemp + 6 
+0x056d 002053 fetcht 2 ,mem_pdatatemp + 2 
+0x056e 002054 isub temp ,null 
+0x056f 002055 nbranch adc_set_no_power_flag ,positive 
+0x0570 002056 call p_adc_clear_no_power_flag 
+0x0571 002057 fetcht 2 ,mem_pdatatemp + 4 
+0x0572 002058 isub temp ,null 
+0x0573 002059 nbranch adc_set_low_power_flag ,positive 
+:      002060 p_adc_clear_low_power_flag:
+0x0574 002061 fetch 1 ,mem_adc_power_flag 
+0x0575 002062 set0 0 ,pdata 
+0x0576 002063 store 1 ,mem_adc_power_flag 
+0x0577 002064 rtn 
+:      002065 p_adc_check_gpio5:
+0x0578 002066 fetcht 2 ,mem_mouse_vdd_0v 
+0x0579 002067 fetch 2 ,mem_pdatatemp + 6 
+0x057a 002068 isub temp ,null 
+0x057b 002069 nbranch p_adc_set_pb_press_flag ,positive 
+0x057c 002070 call p_mouse_clear_select_state 
+0x057d 002071 branch p_adc_clear_pb_press_flag 
+:      002074 p_adc_clear_no_power_flag:
+0x057e 002075 fetcht 1 ,mem_adc_power_flag 
+0x057f 002076 set0 1 ,temp 
+0x0580 002077 storet 1 ,mem_adc_power_flag 
+0x0581 002078 rtn 
+:      002079 p_adc_set_pb_press_flag:
+0x0582 002080 fetcht 1 ,mem_adc_power_flag 
+0x0583 002081 set1 2 ,temp 
+0x0584 002082 storet 1 ,mem_adc_power_flag 
+0x0585 002083 rtn 
+:      002085 p_adc_clear_pb_press_flag:
+0x0586 002086 fetcht 1 ,mem_adc_power_flag 
+0x0587 002087 set0 2 ,temp 
+0x0588 002088 storet 1 ,mem_adc_power_flag 
+0x0589 002089 rtn 
+:      002092 p_mouse_motion:
+0x058a 002093 disable user 
+0x058b 002094 setarg 0 
+0x058c 002095 store 6 ,mem_mouse_x 
+0x058d 002096 call mouse_cheak_sensor_data 
+0x058e 002097 call mouse_zwheel 
+0x058f 002098 call mouse_t_zwheel 
+0x0590 002099 call p_mouse_key 
+0x0591 002102 nrtn user 
+0x0592 002103 branch mouse_motion + 9 
+:      002106 p_mouse_key:
+0x0593 002107 call p_mouse_check_key_gpio 
+0x0594 002108 branch mouse_key + 1 
+:      002110 p_mouse_check_key_gpio:
+0x0595 002111 arg 0 ,rega 
+0x0596 002112 call p_mouse_check_lkey_gpio 
+0x0597 002113 call p_mouse_check_rkey_gpio 
+0x0598 002114 call p_mouse_check_mkey_gpio 
+0x0599 002115 call p_mouse_check_skey_gpio 
+0x059a 002116 branch mouse_check_key_gpio_output 
+:      002117 p_mouse_check_skey_gpio:
+0x059b 002118 fetch 1 ,mem_bk_button_gpio 
+0x059c 002119 rtneq gpio_disable 
+0x059d 002120 call p_mouse_check_bk_key_gpio 
+0x059e 002121 branch p_mouse_check_fw_key_gpio 
+:      002123 p_mouse_check_lkey_gpio:
+0x059f 002124 fetcht 1 ,mem_lbutton_gpio 
+0x05a0 002125 call p_gpio_set_input_pu 
+0x05a1 002126 fetcht 1 ,mem_lbutton_gpio 
+0x05a2 002127 call gpio_get_bit 
+0x05a3 002128 setflag true ,0 ,rega 
+0x05a4 002129 rtn 
+:      002130 p_mouse_check_rkey_gpio:
+0x05a5 002131 fetcht 1 ,mem_rbutton_gpio 
+0x05a6 002132 call p_gpio_set_input_pu 
+0x05a7 002133 fetcht 1 ,mem_rbutton_gpio 
+0x05a8 002134 call gpio_get_bit 
+0x05a9 002135 setflag true ,1 ,rega 
+0x05aa 002136 rtn 
+:      002137 p_mouse_check_mkey_gpio:
+0x05ab 002138 fetcht 1 ,mem_mbutton_gpio 
+0x05ac 002139 call p_gpio_set_input_pu 
+0x05ad 002140 fetcht 1 ,mem_mbutton_gpio 
+0x05ae 002141 call gpio_get_bit 
+0x05af 002142 setflag true ,2 ,rega 
+0x05b0 002143 rtn 
+:      002144 p_mouse_check_bk_key_gpio:
+0x05b1 002145 fetcht 1 ,mem_bk_button_gpio 
+0x05b2 002146 call p_gpio_set_input_pd 
+0x05b3 002147 fetcht 1 ,mem_bk_button_gpio 
+0x05b4 002148 call gpio_get_bit 
+0x05b5 002149 nsetflag true ,3 ,rega 
+0x05b6 002150 branch p_gpio_set_input_pu 
+:      002151 p_mouse_check_fw_key_gpio:
+0x05b7 002152 fetcht 1 ,mem_fw_button_gpio 
+0x05b8 002153 call p_gpio_set_input_pd 
+0x05b9 002154 fetcht 1 ,mem_fw_button_gpio 
+0x05ba 002155 call gpio_get_bit 
+0x05bb 002156 nsetflag true ,4 ,rega 
+0x05bc 002157 branch p_gpio_set_input_pu 
+:      002160 p_gpio_set_input_high_impedance:
+0x05bd 002161 set0 gpio_active_bit ,temp 
+0x05be 002162 branch gpio_set_high_impedance 
+:      002164 p_gpio_set_input_pd:
+0x05bf 002165 set0 gpio_active_bit ,temp 
+0x05c0 002166 arg core_gpio_pu0 ,contw 
+0x05c1 002167 call gpio_set_bit 
+0x05c2 002168 set1 gpio_active_bit ,temp 
+:      002169 p_gpio_set_input_pd4:
+0x05c3 002170 arg core_gpio_pd0 ,contw 
+0x05c4 002171 call gpio_set_bit 
+0x05c5 002172 set0 gpio_active_bit ,temp 
+0x05c6 002173 arg core_gpio_oe0 ,contw 
+0x05c7 002174 branch gpio_set_bit 
+:      002176 p_gpio_set_input_pu:
+0x05c8 002177 set1 gpio_active_bit ,temp 
+:      002178 p_gpio_set_input_pu1:
+0x05c9 002179 arg core_gpio_pu0 ,contw 
+0x05ca 002180 call gpio_set_bit 
+0x05cb 002181 set0 gpio_active_bit ,temp 
+0x05cc 002182 branch p_gpio_set_input_pd4 
+:      002185 p_mouse_bb_event_discovery_btn:
+0x05cd 002186 jam 0 ,mem_mouse_poweron_led_timer 
+0x05ce 002187 isolate1 mark_24g ,mark 
+0x05cf 002188 call p_g24_check_51cmd_stop_24g ,true 
+0x05d0 002189 branch mouse_bb_event_discovery_btn + 1 
+:      002191 p_le_addr_random_config:
+0x05d1 002192 jam zcode_81 ,mem_zcode_temp_param0 
+0x05d2 002193 branch p_zcode_entrance 
+:      002195 p_mouse_start_discovery:
+0x05d3 002196 jam 0 ,mem_mouse_discovery_blink_count 
+0x05d4 002197 jam zcode_50 ,mem_zcode_temp_param0 
+0x05d5 002198 branch p_zcode_entrance 
+:      002202 p_le_adv_data_update:
+0x05d6 002203 arg mem_le_adv_data + 11 ,contw 
+0x05d7 002204 arg 19 ,loopcnt 
+0x05d8 002205 call memcpy 
+0x05d9 002206 branch le_modified_name_adv 
+:      002208 p_mouse_stop_discovery:
+0x05da 002209 setarg 0 
+0x05db 002210 store 2 ,mem_mouse_discovery_timer 
+0x05dc 002211 store 1 ,mem_mouse_dpi_blink_count 
+0x05dd 002212 store 1 ,mem_mouse_blink_count 
+0x05de 002213 store 1 ,mem_mouse_discovery_blink_count 
+0x05df 002214 jam 5 ,mem_mouse_bt_ble_led_timer 
+0x05e0 002215 call p_mouse_bt_led_off 
+0x05e1 002216 call p_mouse_sensor_poweron 
+0x05e2 002217 branch mouse_stop_discovery + 1 
+:      002219 p_le_slave_match:
+0x05e3 002220 fetch 1 ,mem_le_md_count 
+0x05e4 002221 pincrease 1 
+0x05e5 002222 store 1 ,mem_le_md_count 
+0x05e6 002223 beq le_md_max_count ,le_slave_cont 
+0x05e7 002224 call le_acknowledge 
+0x05e8 002225 call le_prepare_tx 
+0x05e9 002226 call power_ctrl_start 
+0x05ea 002227 branch le_slave_match + 7 
+:      002229 p_le_next_adv_channel:
+0x05eb 002230 fetch 1 ,mem_le_ch_mapped 
+0x05ec 002231 increase 1 ,pdata 
+0x05ed 002232 store 1 ,mem_le_ch_mapped 
+0x05ee 002233 rtnne 40 
+0x05ef 002234 jam 37 ,mem_le_ch_mapped 
+0x05f0 002235 rtn 
+:      002237 p_le_receive_skip:
+0x05f1 002238 call save_rssi 
+0x05f2 002239 call p_rssi_signal 
+0x05f3 002240 branch le_receive_skip + 2 
+:      002242 p_le_update_param:
+0x05f4 002243 jam zcode_40 ,mem_zcode_temp_param0 
+0x05f5 002244 branch p_zcode_entrance 
+:      002246 p_le_update_channel_map:
+0x05f6 002247 jam zcode_41 ,mem_zcode_temp_param0 
+0x05f7 002248 branch p_zcode_entrance 
+:      002250 p_le_prepare_tx:
+0x05f8 002251 fetch 1 ,mem_le_arq 
+0x05f9 002252 bbit1 wak ,p_le_prepare_tx_wak 
+0x05fa 002253 call power_ctrl_pac_succ_incrs 
+0x05fb 002254 fetch 1 ,mem_empty_count 
+0x05fc 002255 nbranch p_le_send_empyt ,blank 
+0x05fd 002256 fetch 1 ,mem_le_state 
+0x05fe 002257 bbit0 lestate_encryption ,p_le_tx_4 
+0x05ff 002258 fetch 1 ,mem_le_rxbuf + 1 
+0x0600 002259 branch p_le_tx_4 ,blank 
+0x0601 002260 branch le_send_empty 
+:      002261 p_le_send_empyt:
+0x0602 002262 fetch 1 ,mem_empty_count 
+0x0603 002263 increase -1 ,pdata 
+0x0604 002264 store 1 ,mem_empty_count 
+0x0605 002265 branch le_send_empty 
+:      002266 p_le_tx_4:
+0x0606 002267 fetch 1 ,mem_le_pairing_state 
+0x0607 002268 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0x0608 002269 jam 3 ,mem_empty_count 
+:      002270 p_in_le_tx_4:
+0x0609 002271 call le_fifo_check_nearly_full 
+0x060a 002272 call p_mouse_data_pull ,blank 
+0x060b 002273 branch le_prepare_tx + 4 
+:      002275 p_le_prepare_tx_wak:
+0x060c 002276 call p_le_check_tx_retransmit_setmd 
+0x060d 002277 branch p_le_power_ctrl_pac_succ_decrs 
+:      002279 p_le_check_tx_retransmit_setmd:
+0x060e 002280 fetch 1 ,mem_le_connect_status_flag 
+0x060f 002281 and pdata ,0x03 ,pdata 
+0x0610 002282 rtnne 0x03 
+0x0611 002283 fetch 1 ,mem_mouse_data_queue_num 
+0x0612 002284 rtn blank 
+0x0613 002285 fetch 1 ,mem_le_txlen 
+0x0614 002286 rtn blank 
+0x0615 002287 fetch 1 ,mem_le_txheader 
+0x0616 002288 set1 md ,pdata 
+0x0617 002289 store 1 ,mem_le_txheader 
+0x0618 002290 call le_set_md 
+0x0619 002291 rtn 
+:      002295 p_le_power_ctrl_pac_succ_decrs:
+0x061a 002296 branch power_ctrl_pac_succ_decrs 
+:      002298 p_mouse_le_reconn_write_enable_timer_reinit:
+0x061b 002299 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x061c 002300 rtn blank 
+0x061d 002301 fetch 1 ,mem_le_connect_status_flag 
+0x061e 002302 and pdata ,0x03 ,pdata 
+0x061f 002303 rtneq 0x03 
+0x0620 002304 jam 1 ,mem_le_start_encrypt_timer 
+0x0621 002305 rtn 
+:      002307 p_le_parse:
+0x0622 002308 rtnmark1 mark_old_packet 
+0x0623 002309 call le_fifo_check_full 
+0x0624 002310 nrtn blank 
+0x0625 002311 fetch 1 ,mem_le_rxbuf 
+0x0626 002312 and pdata ,0x3 ,pdata 
+0x0627 002313 store 1 ,mem_le_packet_llid 
+0x0628 002314 ifetch 1 ,contr 
+0x0629 002315 and pdata ,0x1f ,pdata 
+0x062a 002316 store 1 ,mem_le_packet_size 
+0x062b 002317 rtn blank 
+0x062c 002318 copy contr ,pdata 
+0x062d 002319 store 2 ,mem_le_payload_ptr 
+0x062e 002320 fetch 1 ,mem_le_packet_llid 
+0x062f 002321 beq llid_le_ll ,p_le_parse_ll 
+0x0630 002322 branch le_parse_l2cap 
+:      002323 p_le_parse_ll:
+0x0631 002324 fetch 1 ,mem_le_rxbuf + 2 
+0x0632 002325 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0x0633 002326 branch le_parse_ll + 1 
+:      002327 p_le_parse_channel_map_req:
+0x0634 002328 ifetch 5 ,contr 
+0x0635 002329 store 5 ,mem_le_new_map 
+0x0636 002330 ifetch 2 ,contr 
+0x0637 002331 store 2 ,mem_le_instant 
+0x0638 002332 branch le_parse_channel_map_req + 7 
+:      002334 p_le_parse_l2cap:
+0x0639 002335 ifetch 2 ,contr 
+0x063a 002336 beq le_l2cap_cid_att ,p_le_parse_att 
+0x063b 002337 beq le_l2cap_cid_smp ,p_le_parse_smp 
+0x063c 002338 branch le_parse_l2cap + 11 
+:      002339 p_le_parse_att:
+0x063d 002340 call store_contr 
+0x063e 002341 call p_mouse_le_reconn_write_enable_timer_reinit 
+0x063f 002342 call get_contr 
+0x0640 002343 ifetch 3 ,contr 
+0x0641 002344 store 3 ,mem_le_att_opcode 
+0x0642 002345 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0x0643 002346 rshift8 pdata ,temp 
+0x0644 002347 sub temp ,0x24 ,null 
+0x0645 002348 branch p_le_parse_att1 ,positive 
+0x0646 002349 arg mem_mouse_le_uuid_sup ,temp 
+0x0647 002350 storet 2 ,mem_ui_le_uuid_table 
+0x0648 002351 call le_parse_att + 2 
+0x0649 002352 setarg 0x8e7a 
+0x064a 002353 store 2 ,mem_ui_le_uuid_table 
+0x064b 002354 rtn 
+:      002356 p_le_parse_att_read_by_group_type_request:
+0x064c 002357 call le_parse_att_read_by_group_type_request 
+0x064d 002358 call le_fifo_get_last_tx_ptr 
+0x064e 002359 increase 7 ,contr 
+0x064f 002360 ifetch 1 ,contr 
+0x0650 002361 rtnne attop_read_by_group_type_response 
+0x0651 002362 increase 5 ,contr 
+0x0652 002363 ifetch 2 ,contr 
+0x0653 002364 arg uuid_service_hids ,temp 
+0x0654 002365 isub temp ,null 
+0x0655 002366 nrtn zero 
+0x0656 002367 increase -4 ,contr 
+0x0657 002368 setarg 0x2b 
+0x0658 002369 istore 2 ,contr 
+0x0659 002370 rtn 
+:      002373 p_le_parse_att1:
+0x065a 002374 beq attop_read_request ,p_le_parse_att_read_request 
+0x065b 002375 branch le_parse_att + 2 
+:      002376 p_le_parse_att_read_request:
+0x065c 002377 fetcht 2 ,mem_le_att_handle 
+0x065d 002378 fetch 1 ,mem_le_configuration 
+0x065e 002379 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+:      002380 p_le_send_att_read_response:
+0x065f 002389 fetch 2 ,mem_le_att_handle 
+0x0660 002390 beq 0x13 ,le_send_att_error_response_notfound 
+0x0661 002392 fetcht 2 ,mem_le_att_handle 
+0x0662 002393 branch le_send_att_read_response 
+:      002407 p_le_send_att_read_response_check_auth:
+0x0663 002408 fetch 2 ,mem_le_pairing_handle 
+0x0664 002409 isub temp ,null 
+0x0665 002410 nbranch p_le_send_att_read_response ,zero 
+0x0666 002411 call le_check_encrypt_state 
+0x0667 002412 nbranch p_le_send_att_read_response ,user 
+0x0668 002413 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x0669 002414 branch le_send_att_error_response 
+:      002418 p_le_parse_smp:
+0x066a 002419 ifetch 1 ,contr 
+0x066b 002420 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+0x066c 002421 branch le_parse_smp + 1 
+:      002422 p_le_parse_smp_pairing_failed:
+0x066d 002423 jam zcode_82 ,mem_zcode_temp_param0 
+0x066e 002424 branch p_zcode_entrance 
+:      002426 p_le_adv_not_match:
+0x066f 002427 fetch 1 ,mem_le_ch_mapped 
+0x0670 002428 bne 39 ,le_adv_loop 
+0x0671 002429 call p_le_adv_random_delay 
+0x0672 002430 arg le_adv_interval_timer ,queue 
+0x0673 002431 fetch 2 ,mem_le_adv_interval 
+0x0674 002432 branch timer_init 
+:      002433 p_le_adv_random_delay:
+0x0675 002434 random pdata 
+0x0676 002435 arg 0x1ff ,temp 
+0x0677 002436 iand temp ,pdata 
+0x0678 002437 add pdata ,250 ,pdata 
+0x0679 002438 branch delay 
+:      002440 p_le_lpm_setmult:
+0x067a 002441 disable wake 
+0x067b 002442 branch p_le_lpm_set_mult_attempt ,attempt 
+0x067c 002443 nbranch le_lpm_lost ,match 
+:      002444 p_le_lpm_set_mult_attempt:
+0x067d 002445 call lpm_match 
+0x067e 002446 fetch 2 ,mem_rx_window_sniff 
+0x067f 002447 store 2 ,mem_le_receive_window 
+0x0680 002448 fetch 1 ,mem_le_connect_status_flag 
+0x0681 002449 compare 3 ,pdata ,3 
+0x0682 002450 nbranch lpm_mult_short ,true 
+0x0683 002451 branch le_lpm_set_mult_attempt + 3 
+:      002453 p_le_mouse_bb_event_connect_complete:
+0x0684 002454 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x0685 002455 nrtn blank 
+0x0686 002456 fetch 1 ,mem_le_att_handle 
+0x0687 002457 sub pdata ,26 ,pdata 
+0x0688 002458 nrtn zero 
+0x0689 002459 branch mouse_le_write_enable 
+:      002461 p_twspi_reset:
+0x068a 002462 hfetch 1 ,core_gpio_out3 
+0x068b 002463 and_into 0xfd ,pdata 
+0x068c 002464 hstore 1 ,core_gpio_out3 
+0x068d 002465 hfetcht 1 ,core_gpio_oe3 
+0x068e 002466 or_into 0x2 ,temp 
+0x068f 002467 hstoret 1 ,core_gpio_oe3 
+0x0690 002468 call twspi_disable 
+0x0691 002469 and_into 0xfd ,temp 
+0x0692 002470 nop 13 
+0x0693 002471 call p_twspi_enable 
+0x0694 002472 hstoret 1 ,core_gpio_oe3 
+0x0695 002473 rtn 
+:      002475 p_spid_init:
+0x0696 002476 call spid_init_common 
+:      002477 p_twspi_enable:
+0x0697 002478 hfetch 1 ,core_gpio_sel1 
+0x0698 002479 set1 0 ,pdata 
+0x0699 002480 set0 1 ,pdata 
+0x069a 002481 set0 3 ,pdata 
+0x069b 002482 hstore 1 ,core_gpio_sel1 
+0x069c 002483 rtn 
+:      002486 p_page_wait_fhs_reply_ok:
+0x069d 002487 jam zcode_00 ,mem_zcode_temp_param0 
+0x069e 002488 branch p_zcode_entrance 
+:      002490 p_role_switch_master:
+0x069f 002491 call role_switch_check 
+0x06a0 002492 nrtn user 
+:      002493 p_wait_role_switch_anchor:
+0x06a1 002494 disable user 
+0x06a2 002495 jam param_newconnto ,mem_newconnto_counter 
+0x06a3 002496 set0 mark_fhs_already_good ,mark 
+0x06a4 002497 set0 mark_role_switch_receive_fhs ,mark 
+:      002498 p_roles_waitfhs_loop:
+0x06a5 002499 call rf_setup_time_master_slot 
+0x06a6 002500 call master_recv_packet 
+0x06a7 002501 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+0x06a8 002502 call new_conn_timeout 
+0x06a9 002503 nbranch p_roles_waitfhs_loop ,blank 
+0x06aa 002504 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
+0x06ab 002505 branch role_switch_fail_master 
+:      002507 p_roles_replyto_fhs:
+0x06ac 002508 call rf_setup_time_slave_slot 
+0x06ad 002509 arg type_id ,type 
+0x06ae 002510 call master_send_packet 
+0x06af 002511 set1 mark_role_switch_receive_fhs ,mark 
+0x06b0 002512 set0 mark_fhs_already_good ,mark 
+0x06b1 002513 force 1 ,am_addr 
+0x06b2 002514 jam 2 ,mem_newconnto_counter 
+0x06b3 002515 branch p_roles_waitfhs_loop 
+:      002517 p_roles_replyto_fhs1:
+0x06b4 002518 fetch 4 ,mem_clke_bt 
+0x06b5 002519 pincrease 8 
+0x06b6 002520 store 4 ,mem_clke_bt 
+0x06b7 002521 branch roles_replyto_fhs + 4 
+:      002523 p_process_dmh:
+0x06b8 002524 bmark1 mark_first_packet ,end_of_packet 
+0x06b9 002525 branch process_dmh + 1 
+:      002527 p_quit_connection_cont:
+0x06ba 002528 call app_disconn_reason_collect_bt 
+0x06bb 002529 call sniff_exit 
+0x06bc 002530 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x06bd 002531 call ui_ipc_send_event 
+0x06be 002532 call init_lmp_work 
+0x06bf 002533 call l2cap_init_work 
+0x06c0 002534 branch quit_connection_cont + 8 
+:      002536 p_prepare_tx:
+0x06c1 002537 fetch 1 ,mem_state 
+0x06c2 002538 isolate1 state_inconn ,pdata 
+0x06c3 002539 call p_bt_power_ctrl ,true 
+0x06c4 002540 branch prepare_tx + 1 
+:      002541 p_bt_power_ctrl:
+0x06c5 002542 fetch 1 ,mem_arq 
+0x06c6 002543 isolate1 wack ,pdata 
+0x06c7 002544 call power_ctrl_pac_succ_decrs ,true 
+0x06c8 002545 ncall power_ctrl_pac_succ_incrs ,true 
+0x06c9 002546 branch power_ctrl_start 
+:      002548 p_slave_conn_recv_packet:
+0x06ca 002549 call slave_receive_master_slot 
+0x06cb 002550 nbranch shutdown_radio ,sync 
+0x06cc 002551 call save_rssi 
+0x06cd 002552 call p_rssi_signal 
+0x06ce 002553 branch slave_conn_recv_packet + 4 
+:      002555 p_lpm_dispatch:
+0x06cf 002556 rtnmark1 mark_24g 
+0x06d0 002557 call lpo_calibration 
+0x06d1 002558 fetch 3 ,mem_clks_per_lpo 
+0x06d2 002559 rtn blank 
+0x06d3 002560 fetch 1 ,mem_lpm_mode 
+0x06d4 002561 rtn blank 
+0x06d5 002562 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x06d6 002563 sub pdata ,10 ,null 
+0x06d7 002564 rtn positive 
+0x06d8 002565 fetch 1 ,mem_ssp_enable 
+0x06d9 002566 branch p_lpm_dispatch_next ,blank 
+0x06da 002567 fetch 1 ,mem_sp_local_key_invalid 
+0x06db 002568 rtn blank 
+:      002569 p_lpm_dispatch_next:
+0x06dc 002570 fetch 1 ,mem_le_sc_calc 
+0x06dd 002571 nrtn blank 
+0x06de 002572 call lpm_check_wake_lock 
+0x06df 002573 nrtn blank 
+0x06e0 002574 fetch 1 ,mem_context 
+0x06e1 002575 compare 3 ,pdata ,0x7 
+0x06e2 002576 nbranch lpm_dispatch_unconn ,true 
+0x06e3 002577 fetch 2 ,mem_context + coffset_tsniff 
+0x06e4 002578 arg 0xffff ,temp 
+0x06e5 002579 isub temp ,null 
+0x06e6 002580 rtn zero 
+0x06e7 002581 branch lpm_dispatch_next + 9 
+:      002583 p_lpm_set_mult:
+0x06e8 002584 disable wake 
+0x06e9 002585 fetch 1 ,mem_state 
+0x06ea 002586 rtnbit0 state_insniff 
+0x06eb 002587 nbranch lpm_not_match ,match 
+0x06ec 002588 call lpm_match 
+0x06ed 002589 fetch 2 ,mem_rx_window_sniff 
+0x06ee 002590 store 2 ,mem_rx_window 
+0x06ef 002591 fetch 1 ,mem_arq 
+0x06f0 002592 bbit1 wack ,lpm_mult_short 
+0x06f1 002593 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x06f2 002594 call l2cap_malloc_is_fifo_empty 
+0x06f3 002595 nbranch lpm_mult_short ,blank 
+0x06f4 002596 call p_lpm_set_attemp_timeout ,blank 
+0x06f5 002597 branch lpm_set_mult + 13 
+:      002598 p_lpm_set_attemp_timeout:
+0x06f6 002599 jam 1 ,mem_current_sniff_attempt 
+0x06f7 002600 jam 0 ,mem_current_sniff_timeout 
+0x06f8 002601 rtn 
+:      002603 p_mouse_bb_disconnected:
+0x06f9 002604 jam zcode_10 ,mem_zcode_temp_param0 
+0x06fa 002605 branch p_zcode_entrance 
+:      002607 p_hid_rx_process:
+0x06fb 002608 jam zcode_11 ,mem_zcode_temp_param0 
+0x06fc 002609 branch p_zcode_entrance 
+:      002611 p_parse_lmp_accepted:
+0x06fd 002612 fetch 1 ,mem_rxbuf + 1 
+0x06fe 002613 store 1 ,mem_lmi_accepted_opcode 
+0x06ff 002614 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+0x0700 002615 branch parse_lmp_accepted + 3 
+:      002616 p_parse_lmp_accepted_switch:
+0x0701 002617 call parse_lmp_accepted_switch 
+0x0702 002618 jam 1 ,mem_bt_rcvd_switch_req_accept 
+0x0703 002619 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0x0704 002620 rtn blank 
+0x0705 002621 jam 2 ,mem_bt_send_lmp_setup_complete 
+0x0706 002622 rtn 
+:      002624 p_send_lmp:
+0x0707 002625 jam zcode_20 ,mem_zcode_temp_param0 
+0x0708 002626 branch p_zcode_entrance 
+:      002628 p_process_conn_sm:
+0x0709 002629 call lmo_fifo_check 
+0x070a 002630 nrtn blank 
+:      002631 p_process_conn_sm_continue:
+0x070b 002632 fetch 1 ,mem_conn_sm 
+0x070c 002633 rtn blank 
+0x070d 002634 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+0x070e 002635 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
+0x070f 002636 branch process_conn_sm_continue + 2 
+:      002638 p_host_creat_conn_wait_switch:
+0x0710 002639 fetch 1 ,mem_switch_flag 
+0x0711 002640 rtneq switch_flag_init 
+0x0712 002641 beq switch_flag_accept ,p_host_create_conn_switch_accept 
+0x0713 002642 branch host_creat_conn_wait_switch + 3 
+:      002643 p_host_create_conn_switch_accept:
+0x0714 002644 rtn master 
+:      002645 p_host_create_conn_auth_pair:
+0x0715 002647 fetch 1 ,mem_connection_options 
+0x0716 002648 bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
+0x0717 002649 branch host_create_conn_auth_pair + 1 
+:      002650 p_host_create_conn_auth_pair_true:
+0x0718 002651 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0x0719 002652 beq 1 ,host_create_conn_auth_pair_true 
+0x071a 002654 fetch 1 ,mem_link_key_exists 
+0x071b 002655 branch host_create_conn_auth_pair_nokey ,blank 
+0x071c 002656 fetch 1 ,mem_lmp_conn_state 
+0x071d 002657 rtnbit0 sent_setup_complete 
+0x071e 002658 rtnbit0 received_setup_complete 
+0x071f 002659 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x0720 002660 rtn blank 
+0x0721 002661 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x0722 002662 fetch 4 ,mem_aurand_send_delay_time 
+0x0723 002663 arg 20 ,temp 
+0x0724 002664 iadd temp ,temp 
+0x0725 002665 copy clkn_bt ,pdata 
+0x0726 002666 isub temp ,null 
+0x0727 002667 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
+0x0728 002668 branch host_create_conn_auth 
+:      002670 p_bt_send_max_slot_req_accept_after_switch_wait:
+0x0729 002671 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x072a 002672 rtn 
+:      002674 p_host_create_conn_send_conn_req:
+0x072b 002675 jam 20 ,mem_mouse_send_switch_req_timer 
+0x072c 002676 branch host_create_conn_send_conn_req 
+:      002682 p_check_51cmd_once_continue:
+0x072d 002683 call lmo_fifo_check 
+0x072e 002684 nbranch check_51cmd_restore ,blank 
+0x072f 002685 fetch 1 ,mem_fifo_temp 
+0x0730 002686 bmark0 mark_context ,check_51cmd_check_idle 
+0x0731 002687 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+0x0732 002688 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+0x0733 002689 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+0x0734 002690 branch check_51cmd_once_continue + 2 
+:      002692 p_check_51cmd_ble_update_connect_param:
+0x0735 002693 call le_fifo_check_full 
+0x0736 002694 nrtn blank 
+0x0737 002695 branch le_l2cap_tx_update_req 
+:      002697 p_flash_store_le_reconn_info:
+0x0738 002698 jam rec_4_mode ,mem_record_bt_mode 
+0x0739 002699 fetch 6 ,mem_le_plap 
+0x073a 002700 branch p_flash_store_reconn_info 
+:      002701 p_flash_store_bd_reconn_info:
+0x073b 002702 jam rec_3_mode ,mem_record_bt_mode 
+0x073c 002703 fetch 6 ,mem_plap 
+:      002704 p_flash_store_reconn_info:
+0x073d 002705 store 6 ,mem_temp_lap 
+:      002706 p_mouse_store_remote_bdaddr:
+0x073e 002707 fetch mouse_flag_len ,mem_mouse_flag 
+0x073f 002708 rtnbit0 mouse_store_eeprom_flag 
+0x0740 002709 arg mouse_store_eeprom_flag ,queue 
+0x0741 002710 call mouse_disable_function_flag 
+0x0742 002711 call mouse_check_device_addr 
+:      002712 p_mouse_unplug_clean_bdaddr:
+0x0743 002713 call mouse_before_store_reconn_info 
+0x0744 002714 branch p_mouse_store_flash_device_info 
+:      002719 power_ctrl_pac_succ_cnt_init:
+0x0745 002720 jam 1 ,mem_power_ctrl_level 
+0x0746 002721 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0x0747 002722 rtn 
+:      002723 power_ctrl_pac_succ_incrs:
+0x0748 002724 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0749 002725 increase 1 ,pdata 
+0x074a 002726 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x074b 002727 rtn 
+:      002728 power_ctrl_pac_succ_decrs:
+0x074c 002729 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x074d 002730 sub pdata ,2 ,null 
+0x074e 002731 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0x074f 002732 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0750 002733 rtneq 0 
+0x0751 002734 increase -1 ,pdata 
+0x0752 002735 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0753 002736 rtn 
+:      002737 power_ctrl_pac_succ_cnt_reinit:
+0x0754 002738 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0x0755 002739 rtn 
+:      002741 power_ctrl_start:
+0x0756 002742 fetch 2 ,mem_ui_state_map 
+0x0757 002743 rtnbit1 ui_state_ble_adv 
+0x0758 002744 rtnbit1 ui_state_bt_reconnect 
+0x0759 002745 rtnbit1 ui_state_bt_discovery 
+0x075a 002747 arg mem_rssi_signal_buf ,rega 
+0x075b 002748 call p_rssi_average 
+0x075c 002749 storet 1 ,mem_rssi_avg_received 
+0x075d 002751 setarg rssi_dis_max_24g 
+0x075e 002752 bmark1 mark_24g ,power_ctrl_start_next 
+0x075f 002753 setarg rssi_dis_max_ble 
+:      002754 power_ctrl_start_next:
+0x0760 002755 isub temp ,null 
+0x0761 002756 nbranch power_ctrl_txpower_incrs_force ,positive 
+0x0762 002758 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0763 002759 sub pdata ,2 ,null 
+0x0764 002760 nbranch power_ctrl_txpower_decrs_check ,positive 
+0x0765 002761 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0766 002762 beq 0 ,power_ctrl_txpower_incrs 
+0x0767 002763 rtn 
+:      002765 power_ctrl_txpower_decrs_check:
+0x0768 002766 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0769 002767 rtnne 32 
+0x076a 002768 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002769 power_ctrl_txpower_decrs:
+0x076b 002770 fetcht 1 ,mem_rssi_avg_received 
+0x076c 002771 setarg rssi_dis_min_24g 
+0x076d 002772 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0x076e 002773 setarg rssi_dis_min_ble 
+:      002774 power_ctrl_txpower_decrs_next:
+0x076f 002775 isub temp ,null 
+0x0770 002776 nrtn positive 
+0x0771 002777 fetch 1 ,mem_power_ctrl_level 
+0x0772 002778 beq 0 ,power_ctrl_decrs_level0 
+0x0773 002779 increase -1 ,pdata 
+0x0774 002780 store 1 ,mem_power_ctrl_level 
+0x0775 002781 beq 0 ,power_ctrl_decrs_level0 
+:      002782 power_ctrl_decrs_level1:
+:      002783 power_ctrl_incrs_level1:
+0x0776 002784 jam tx_power_0db ,mem_tx_power 
+0x0777 002785 rtn 
+:      002787 power_ctrl_txpower_incrs_force:
+0x0778 002788 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002789 power_ctrl_txpower_incrs:
+0x0779 002790 fetch 1 ,mem_power_ctrl_level 
+0x077a 002791 beq 2 ,power_ctrl_incrs_level2 
+0x077b 002792 increase 1 ,pdata 
+0x077c 002793 store 1 ,mem_power_ctrl_level 
+0x077d 002794 beq 1 ,power_ctrl_incrs_level1 
+:      002795 power_ctrl_incrs_level2:
+0x077e 002796 jam tx_power_5db ,mem_tx_power 
+0x077f 002797 rtn 
+:      002799 power_ctrl_decrs_level0:
+0x0780 002800 jam tx_power_f5db ,mem_tx_power 
+0x0781 002801 rtn 
+:      002804 p_set_freq_tx:
+0x0782 002805 storet 1 ,mem_last_freq 
+0x0783 002806 add temp ,0 ,rega 
+0x0784 002807 call rf_write_freq 
+0x0785 002808 setarg param_pll_setup 
+0x0786 002809 call sleep 
+:      002810 p_rf_tx_enable:
+0x0787 002811 jam 0x1 ,rfen_adc 
+0x0788 002812 jam 0x3c ,rfen_rx 
+0x0789 002813 jam 0xe0 ,rfen_tx 
+0x078a 002814 nop 10 
+0x078b 002815 jam 0x01 ,rfen_mdm 
+0x078c 002816 jam 0x3d ,rfen_mdm 
+0x078d 002817 nop 10 
+0x078e 002818 jam 0xb7 ,rfen_sn 
+0x078f 002819 nop 10 
+0x0790 002820 jam 0x7d ,rfen_mdm 
+0x0791 002821 fetch 1 ,mem_tx_power 
+0x0792 002824 beq tx_power_5db ,p_set_tx_power_5db 
+0x0793 002826 beq tx_power_f5db ,p_set_tx_power_f5db 
+0x0794 002827 beq tx_power_pair ,p_set_tx_power_pair 
+:      002829 p_set_tx_power_0db:
+0x0795 002830 call p_rx_low_sens 
+0x0796 002832 jam 0xd0 ,0x8955 
+0x0797 002833 jam 0xe0 ,0x8956 
+0x0798 002835 jam 0x6c ,0x8958 
+0x0799 002837 branch set_tx_power_0db 
+:      002849 p_set_tx_power_5db:
+0x079a 002850 call p_rx_high_sens 
+0x079b 002852 jam 0xd0 ,0x8955 
+0x079c 002853 jam 0xe0 ,0x8956 
+0x079d 002855 jam 0x3c ,0x8958 
+0x079e 002857 branch set_tx_power_5db 
+:      002869 p_set_tx_power_f5db:
+0x079f 002870 call p_rx_low_sens 
+0x07a0 002872 jam 0xd0 ,0x8955 
+0x07a1 002873 jam 0xc0 ,0x8956 
+0x07a2 002875 jam 0x6c ,0x8958 
+0x07a3 002877 branch set_tx_power_f5db 
+:      002879 p_rx_low_sens:
+0x07a4 002880 jam 0x5b ,0x894c 
+0x07a5 002881 jam 0x96 ,0x894d 
+0x07a6 002882 jam 0x2c ,0x894e 
+0x07a7 002883 jam 0x46 ,0x894f 
+0x07a8 002884 rtn 
+:      002886 p_rx_high_sens:
+0x07a9 002887 jam 0xfb ,0x894c 
+0x07aa 002888 jam 0xef ,0x894d 
+0x07ab 002889 jam 0xec ,0x894e 
+0x07ac 002890 jam 0x5e ,0x894f 
+0x07ad 002891 rtn 
+:      002893 p_set_tx_power_pair:
+0x07ae 002895 jam 0xc2 ,0x8956 
+0x07af 002896 jam 0xd0 ,0x8955 
+0x07b0 002897 rtn 
+:      002899 p_shutdown_radio:
+0x07b1 002900 force 8 ,radio_ctrl 
+0x07b2 002901 branch shutdown_radio + 1 
+:      002905 p_zcode_entrance:
+0x07b3 002906 fetcht 1 ,mem_zcode_temp_param0 
+0x07b4 002907 rshift4 temp ,temp 
+0x07b5 002908 fetch 1 ,mem_zcode_current_number 
+0x07b6 002909 isub temp ,null 
+0x07b7 002910 branch p_zcode_run ,zero 
+0x07b8 002911 storet 1 ,mem_zcode_current_number 
+0x07b9 002912 increase 1 ,temp 
+0x07ba 002913 setarg zcode_buff_size 
+0x07bb 002914 imul32 temp ,temp 
+0x07bc 002915 fetch 3 ,mem_xip_flash_offset 
+0x07bd 002916 isub temp ,pdata 
+0x07be 002918 fetcht 3 ,mem_flash_start_addr 
+0x07bf 002919 iadd temp ,pdata 
+0x07c0 002920 increase -5 ,pdata 
+0x07c1 002921 store 3 ,mem_flash_address 
+0x07c2 002923 call p_flash_release_deep_power_down 
+:      002924 p_zcode_read_loop:
+0x07c3 002925 fetch 3 ,mem_flash_address 
+0x07c4 002926 arg zcode_buff_size ,temp 
+0x07c5 002927 arg mem_zcode_buff ,rega 
+0x07c6 002928 call spid_read_flash 
+0x07c7 002929 fetch 4 ,mem_zcode_buff 
+0x07c8 002930 fetcht 4 ,mem_zcode_head 
+0x07c9 002931 isub temp ,null 
+0x07ca 002932 nbranch p_zcode_read_loop ,zero 
+0x07cb 002933 call p_mouse_spi_init 
+0x07cc 002935 setarg mem_zcode_buff 
+0x07cd 002936 store 2 ,mem_patch_ptr 
+0x07ce 002937 jam zcode_code_size ,mem_patch_len 
+0x07cf 002938 call load_ucode 
+0x07d0 002939 setarg 0 
+0x07d1 002940 store 4 ,mem_patch_ptr 
+:      002941 p_zcode_run:
+0x07d2 002942 fetch 1 ,mem_zcode_temp_param0 
+0x07d3 002943 branch p_zcode 
               org 0x2000
-:      002445 start:
-0x2000 002446 call lpmstate 
-:      002448 soft_reset:
-0x2001 002449 bpatch patch00_0 ,mem_patch00 
-0x2002 002450 clear_stack 
-0x2003 002451 call spi_ncs_gpio_init 
-0x2004 002452 call initialize_radio 
-0x2005 002453 call iicd_init_12m 
-0x2006 002454 call init_param 
-0x2007 002455 call l2cap_init 
-0x2008 002456 bpatch patch00_1 ,mem_patch00 
-0x2009 002457 call rfcomm_init 
-0x200a 002458 call init_lmp 
-0x200b 002459 call ui_init 
-0x200c 002460 call app_init 
-0x200d 002461 ncall load_chip_option ,wake 
-0x200e 002462 bpatch patch00_2 ,mem_patch00 
-0x200f 002463 call app_lpm_init ,wake 
-0x2010 002464 call publickey_init 
-0x2011 002465 call lpm_recover_clk ,wake 
-:      002466 main_loop:
-0x2012 002467 bpatch patch00_3 ,mem_patch00 
-0x2013 002468 call sp_calc_sequence 
-0x2014 002469 call sp_calc_sequence_256 
-0x2015 002470 call sp_calc_sequence_256_check 
-0x2016 002471 call le_dispatch 
-0x2017 002472 bpatch patch00_4 ,mem_patch00 
-0x2018 002473 call idle_dispatch 
-0x2019 002474 call app_process_idle 
-0x201a 002475 call inquiry_dispatch 
-0x201b 002476 call inquiry_scan_dispatch 
-0x201c 002477 call page_scan_dispatch 
-0x201d 002478 call connection_dispatch 
-0x201e 002479 call lpm_dispatch 
-0x201f 002480 call g24_dispatch 
-0x2020 002481 branch main_loop 
-:      002483 connection_dispatch:
-0x2021 002484 call connection_incontext 
-0x2022 002485 rtnmark0 mark_context 
-0x2023 002486 set0 mark_context ,mark 
-0x2024 002487 call context_save 
-0x2025 002488 branch le_disable 
-:      002490 connection_incontext:
-0x2026 002491 bpatch patch00_5 ,mem_patch00 
-0x2027 002492 call context_search_insniff 
-0x2028 002493 nbranch connection_nosniff ,zero 
-0x2029 002494 call context_load 
-0x202a 002495 add rega ,coffset_mode ,contr 
-0x202b 002496 ifetch 1 ,contr 
-0x202c 002497 bbit1 mode_le ,le_conn_dispatch 
-0x202d 002498 bbit1 mode_master ,master_dispatch 
-0x202e 002499 branch slave_dispatch 
-:      002500 connection_nosniff:
-0x202f 002501 call context_get_next 
-0x2030 002502 copy loopcnt ,null 
-0x2031 002503 rtn zero 
-0x2032 002504 call context_load 
-0x2033 002505 fetch 1 ,mem_state 
-0x2034 002506 bbit1 state_inpage ,master_page 
-0x2035 002507 fetch 1 ,mem_mode 
-0x2036 002508 bbit1 mode_master ,master_dispatch 
-0x2037 002509 branch slave_dispatch 
-:      002517 idle_dispatch:
-0x2038 002518 fetch 1 ,mem_hci_cmd 
-0x2039 002519 rtn blank 
-0x203a 002520 beq hci_cmd_inquiry ,idle_inquiry 
-0x203b 002521 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
-0x203c 002522 beq hci_cmd_remote_name_req ,idle_remote_name_req 
-0x203d 002523 beq hci_cmd_create_conn ,idle_create_conn 
-0x203e 002524 beq hci_cmd_le_create_conn ,idle_le_create_conn 
-0x203f 002525 call context_search_conn_handle 
-0x2040 002526 rtn zero 
-0x2041 002527 call context_search_plap 
-0x2042 002528 rtn zero 
-:      002529 idle_exit:
-0x2043 002530 jam 0 ,mem_hci_cmd 
-0x2044 002531 rtn 
-:      002533 idle_le_create_conn:
-0x2045 002534 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
-0x2046 002535 jam 0 ,mem_hci_cmd 
-0x2047 002536 rtn 
-:      002538 idle_inquiry:
-0x2048 002539 set1 mark_inquiry_on ,mark 
-0x2049 002540 set0 mark_inquiry_trainb ,mark 
-0x204a 002541 jam param_ninquiry ,mem_ninqy_index 
-0x204b 002542 jam 31 ,mem_nfreq_index_inq 
-0x204c 002543 branch idle_exit 
-:      002545 idle_inquiry_cancel:
-0x204d 002546 set0 mark_inquiry_on ,mark 
-0x204e 002547 force 0 ,stop_watch 
-0x204f 002548 branch idle_exit 
-:      002550 idle_remote_name_req:
-0x2050 002551 call context_search_plap 
-0x2051 002552 rtn zero 
-0x2052 002553 force lmp_name_req ,temp 
-0x2053 002554 jam 5 ,mem_nameres_cnt 
-0x2054 002555 branch idle_start_page 
-:      002557 idle_create_conn:
-0x2055 002558 bpatch patch00_6 ,mem_patch00 
-:      002559 idle_create_conn_device:
-0x2056 002560 fetch 6 ,mem_hci_plap 
-0x2057 002561 branch idle_exit ,blank 
-0x2058 002562 jam reconnect_hid ,memui_reconnect_mode 
-0x2059 002564 jam conn_sm_wait_features_res ,mem_conn_sm 
-0x205a 002565 branch idle_create_conn_cont 
-:      002567 idle_create_conn_cont:
-0x205b 002568 force lmp_version_req ,temp 
-:      002569 idle_start_page:
-0x205c 002570 bpatch patch00_7 ,mem_patch00 
-0x205d 002571 fetch 1 ,mem_page_mode 
-0x205e 002572 branch idle_page_mode_r0 ,blank 
-0x205f 002573 lshift3 pdata ,pdata 
-0x2060 002574 lshift4 pdata ,pdata 
-0x2061 002575 increase -1 ,pdata 
-:      002576 idle_page_mode_r0:
-0x2062 002577 store 1 ,mem_npage 
-0x2063 002578 store 1 ,mem_npage_index 
-0x2064 002579 jam 31 ,mem_nfreq_index_page 
-0x2065 002580 set0 mark_page_trainb ,mark 
-0x2066 002581 call context_new 
-0x2067 002582 nbranch idle_page_fail ,zero 
-0x2068 002583 call get_free_amaddr 
-0x2069 002584 store 1 ,mem_amaddr 
-0x206a 002585 storet 1 ,mem_lmo_opcode2 
-0x206b 002586 fetch 6 ,mem_hci_plap 
-0x206c 002587 store 6 ,mem_plap 
-0x206d 002588 bpatch patch01_0 ,mem_patch01 
-0x206e 002589 call timer_reinit 
-0x206f 002590 force 0 ,pdata 
-0x2070 002591 compare lmp_name_req ,temp ,0xff 
-0x2071 002592 nsetflag true ,state_init_seq ,pdata 
-0x2072 002593 set1 state_inpage ,pdata 
-0x2073 002594 store 1 ,mem_state 
-0x2074 002595 jam bt_evt_reconn_started ,mem_fifo_temp 
-0x2075 002596 call ui_ipc_send_event 
-0x2076 002597 force 0 ,pdata 
-0x2077 002598 setflag true ,smap_name_req ,pdata 
-0x2078 002599 store 1 ,mem_state_map 
-0x2079 002600 setarg 0 
-0x207a 002601 set1 mode_master ,pdata 
-0x207b 002602 store 1 ,mem_mode 
-0x207c 002603 enable master 
-0x207d 002604 call context_save 
-0x207e 002605 disable master 
-0x207f 002606 force page_length_timer ,queue 
-0x2080 002607 fetch 2 ,mem_page_to 
-0x2081 002608 call timer_init 
-0x2082 002609 branch idle_exit 
-:      002610 idle_page_fail:
-0x2083 002611 bpatch patch01_1 ,mem_patch01 
-0x2084 002612 fetch 6 ,mem_hci_plap 
-0x2085 002613 store 6 ,mem_plap 
-0x2086 002614 compare lmp_name_req ,temp ,0xff 
-0x2087 002615 branch idle_name_fail ,true 
-0x2088 002616 branch idle_exit 
-:      002617 idle_name_fail:
-0x2089 002618 arg mem_tmp_buffer ,contw 
-0x208a 002619 arg 8 ,loopcnt 
-0x208b 002620 call memset0 
-0x208c 002621 jam bt_evt_reconn_failed ,mem_fifo_temp 
-0x208d 002622 call ui_ipc_send_event 
-0x208e 002623 branch idle_exit 
-:      002630 inquiry_dispatch:
-0x208f 002631 rtnmark0 mark_inquiry_on 
-0x2090 002632 force inquiry_length_timer ,queue 
-0x2091 002633 call timer_check 
-0x2092 002634 nsetflag blank ,mark_inquiry_on ,mark 
-0x2093 002635 nbranch inquiry_start ,blank 
-0x2094 002636 rtn 
-:      002640 inquiry_start:
-0x2095 002641 bpatch patch01_2 ,mem_patch01 
-0x2096 002642 fetcht 2 ,mem_inq_window 
-0x2097 002643 force 4 ,queue 
-0x2098 002644 call sniff_check_window 
-0x2099 002645 rtn user 
-0x209a 002646 call afh_clear 
-0x209b 002647 force 0 ,freq_mode 
-:      002648 inquiry_restart:
-0x209c 002649 rtn timeout 
-0x209d 002650 set0 mark_fhs_already_good ,mark 
-0x209e 002651 set0 mark_fhs_eir ,mark 
-:      002652 inquiry_rx_restart:
-0x209f 002653 add clkn_bt ,1 ,bt_clk 
-0x20a0 002654 isolate1 mark_inquiry_trainb ,mark 
-0x20a1 002655 setflag true ,2 ,freq_mode 
-0x20a2 002656 compare 0x00 ,bt_clk ,0x02 
-0x20a3 002657 nbranch inquiry_receive ,true 
-:      002659 inquiry_transmit:
-0x20a4 002660 bpatch patch01_3 ,mem_patch01 
-0x20a5 002661 fetch 1 ,mem_inquiry_transmit 
-0x20a6 002662 increase 1 ,pdata 
-0x20a7 002663 store 1 ,mem_inquiry_transmit 
-0x20a8 002664 call fetch_giac 
-0x20a9 002665 call tx_radio_freq 
-0x20aa 002666 call fetch_diac 
-0x20ab 002667 call start_transmitter 
-0x20ac 002668 call start_tx_native 
-0x20ad 002669 call send_access_word 
-0x20ae 002670 call end_of_packet 
-0x20af 002671 call inquiry_check_train 
-0x20b0 002672 branch inquiry_restart 
-:      002674 inquiry_check_train:
-0x20b1 002675 bpatch patch01_4 ,mem_patch01 
-0x20b2 002676 fetch 1 ,mem_nfreq_index_inq 
-0x20b3 002677 increase -1 ,pdata 
-0x20b4 002678 store 1 ,mem_nfreq_index_inq 
-0x20b5 002679 rtn positive 
-0x20b6 002680 jam 31 ,mem_nfreq_index_inq 
-0x20b7 002681 fetch 1 ,mem_ninqy_index 
-0x20b8 002682 increase -1 ,pdata 
-0x20b9 002683 store 1 ,mem_ninqy_index 
-0x20ba 002684 rtn positive 
-0x20bb 002685 setflip mark_inquiry_trainb ,mark 
-0x20bc 002686 jam param_ninquiry ,mem_ninqy_index 
-0x20bd 002687 rtn 
-:      002689 inquiry_receive:
-0x20be 002690 bpatch patch01_5 ,mem_patch01 
-0x20bf 002691 call fetch_giac 
-0x20c0 002692 call rx_radio_freq 
-0x20c1 002693 call fetch_diac 
-0x20c2 002694 call start_rx_native 
-0x20c3 002695 call start_receiver 
-0x20c4 002696 call wait_access_clkn_rt 
-0x20c5 002697 branch inquiry_sync ,sync 
-0x20c6 002698 call inquiry_check_train 
-0x20c7 002699 branch inquiry_rx_restart 
-:      002700 inquiry_sync:
-0x20c8 002701 bpatch patch01_6 ,mem_patch01 
-0x20c9 002702 call save_rssi 
-0x20ca 002703 call scan_mode_whiten 
-0x20cb 002704 call receive_packet_whitened 
-0x20cc 002705 set0 mark_rxbuf_inuse ,mark 
-0x20cd 002706 rtnmark0 mark_fhs_already_good 
-:      002707 inquiry_receive_rtn:
-0x20ce 002708 bpatch patch01_7 ,mem_patch01 
-:      002709 inquiry_receive_eir_rtn:
-0x20cf 002710 fetch 1 ,mem_inquiry_rcv 
-0x20d0 002711 increase 1 ,pdata 
-0x20d1 002712 store 1 ,mem_inquiry_rcv 
-0x20d2 002713 rtn 
-:      002721 master_page:
-0x20d3 002722 bpatch patch02_0 ,mem_patch02 
-0x20d4 002723 enable master 
-0x20d5 002724 enable clknt 
-0x20d6 002725 fetch 2 ,mem_page_interval 
-0x20d7 002726 branch master_page_no_interval ,blank 
-0x20d8 002727 force page_interval_timer ,queue 
-0x20d9 002728 call timer_check 
-0x20da 002729 nrtn blank 
-:      002730 master_page_no_interval:
-0x20db 002731 bpatch patch02_1 ,mem_patch02 
-0x20dc 002732 fetcht 2 ,mem_page_window 
-0x20dd 002733 force 40 ,queue 
-0x20de 002734 call sniff_check_window 
-0x20df 002735 branch page_exit ,user 
-0x20e0 002736 force page_length_timer ,queue 
-0x20e1 002737 call timer_check 
-0x20e2 002738 nbranch page_start ,blank 
-0x20e3 002739 fetch 1 ,mem_state_map 
-0x20e4 002740 bbit1 smap_name_req ,master_npage_timeout 
-0x20e5 002741 branch master_page_timeout 
-:      002742 master_npage_timeout:
-0x20e6 002743 arg mem_tmp_buffer ,contw 
-0x20e7 002744 arg 8 ,loopcnt 
-0x20e8 002745 call memset0 
-:      002746 master_page_timeout:
-0x20e9 002747 bpatch patch02_2 ,mem_patch02 
-0x20ea 002748 jam 0 ,mem_state 
-0x20eb 002749 call init_lmp_work 
-0x20ec 002750 jam 0 ,memui_reconnect_mode 
-0x20ed 002751 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
-0x20ee 002752 call ui_ipc_send_event 
-0x20ef 002753 branch page_exit 
-:      002755 page_start:
-0x20f0 002756 bpatch patch02_3 ,mem_patch02 
-0x20f1 002757 force 0 ,timeup 
-0x20f2 002758 until clkn_rt ,meet 
-0x20f3 002759 fetch 1 ,mem_page_clk 
-0x20f4 002760 increase -1 ,pdata 
-0x20f5 002761 ixor clkn_bt ,pdata 
-0x20f6 002762 compare 0 ,pdata ,3 
-0x20f7 002763 nbranch page_start ,true 
-0x20f8 002764 deposit am_addr 
-0x20f9 002765 store 1 ,mem_fhs_am_addr 
-0x20fa 002766 force 0 ,n_tx_slot 
-0x20fb 002767 force 0 ,freq_mode 
-:      002769 page_restart:
-0x20fc 002770 bpatch patch02_4 ,mem_patch02 
-0x20fd 002771 branch page_exit ,timeout 
-0x20fe 002772 call fetch_page_bt_adr 
-0x20ff 002773 arg param_rf_setup ,timeup 
-0x2100 002774 until clkn_rt ,meet 
-:      002775 page_rx_restart:
-0x2101 002776 bpatch patch02_5 ,mem_patch02 
-0x2102 002777 fetch 4 ,mem_page_clk 
-0x2103 002778 iforce bt_clk 
-0x2104 002779 increase 1 ,pdata 
-0x2105 002780 store 4 ,mem_page_clk 
-0x2106 002781 isolate1 mark_page_trainb ,mark 
-0x2107 002782 setflag true ,2 ,freq_mode 
-0x2108 002783 compare 0x00 ,bt_clk ,0x02 
-0x2109 002784 nbranch page_receive ,true 
-0x210a 002785 fetch 1 ,mem_page_transmit 
-0x210b 002786 increase 1 ,pdata 
-0x210c 002787 store 1 ,mem_page_transmit 
-0x210d 002788 call tx_radio_freq 
-0x210e 002789 call start_transmitter 
-0x210f 002790 call start_tx_native 
-0x2110 002791 call send_access_word 
-0x2111 002792 call end_of_packet 
-0x2112 002793 call page_check_train 
-0x2113 002794 branch page_restart 
-:      002795 page_exit:
-0x2114 002796 bpatch patch02_6 ,mem_patch02 
-0x2115 002797 disable master 
-0x2116 002798 fetch 2 ,mem_page_interval 
-0x2117 002799 rtn blank 
-0x2118 002800 force page_interval_timer ,queue 
-0x2119 002801 branch timer_init 
-:      002803 page_check_train:
-0x211a 002804 bpatch patch02_7 ,mem_patch02 
-0x211b 002805 fetch 1 ,mem_nfreq_index_page 
-0x211c 002806 increase -1 ,pdata 
-0x211d 002807 store 1 ,mem_nfreq_index_page 
-0x211e 002808 rtn positive 
-0x211f 002809 jam 31 ,mem_nfreq_index_page 
-0x2120 002810 fetch 1 ,mem_npage_index 
-0x2121 002811 increase -1 ,pdata 
-0x2122 002812 store 1 ,mem_npage_index 
-0x2123 002813 rtn positive 
-0x2124 002814 setflip mark_page_trainb ,mark 
-0x2125 002815 fetch 1 ,mem_npage 
-0x2126 002816 store 1 ,mem_npage_index 
-0x2127 002817 rtn 
-:      002819 page_receive:
-0x2128 002820 bpatch patch03_0 ,mem_patch03 
-0x2129 002821 call rx_radio_freq 
-0x212a 002822 call start_rx_native 
-0x212b 002823 call start_receiver 
-0x212c 002824 call wait_access_clkn_rt 
-0x212d 002825 branch page_sync ,sync 
-0x212e 002826 call page_check_train 
-0x212f 002827 branch page_rx_restart 
-:      002828 page_sync:
-0x2130 002829 call end_of_packet 
-0x2131 002830 fetch 1 ,mem_page_rcv 
-0x2132 002831 increase 1 ,pdata 
-0x2133 002832 store 1 ,mem_page_rcv 
-0x2134 002833 force 0 ,stop_watch 
-0x2135 002834 fetch 4 ,mem_page_clk 
-:      002835 page_send_fhs:
-0x2136 002836 bpatch patch03_1 ,mem_patch03 
-0x2137 002837 call rf_setup_time_master_slot 
-0x2138 002838 call fetch_page_bt_adr 
-0x2139 002839 increase 1 ,n_tx_slot 
-:      002840 page_send_fhs_continue:
-0x213a 002841 and_into 0x1fd ,bt_clk 
-0x213b 002842 and_into 0x1fc ,freq_mode 
-0x213c 002843 call tx_radio_freq 
-0x213d 002844 call start_transmitter 
-0x213e 002845 call start_tx_native 
-0x213f 002846 call send_access_word 
-0x2140 002847 deposit clkn_bt 
-0x2141 002848 store 4 ,mem_clkn_bt 
-0x2142 002849 force 0 ,am_addr 
-0x2143 002850 force type_fhs ,type 
-0x2144 002851 call scan_mode_whiten 
-0x2145 002852 call transmit_packet_whitened 
-:      002853 page_wait_fhs_reply:
-0x2146 002854 bpatch patch03_2 ,mem_patch03 
-0x2147 002855 call rf_setup_time_slave_slot 
-0x2148 002856 or_into 0x02 ,bt_clk 
-0x2149 002857 and_into 0x1fc ,freq_mode 
-0x214a 002858 call rx_radio_freq 
-0x214b 002859 call start_rx_native 
-0x214c 002860 call start_receiver 
-0x214d 002861 call wait_access_clkn_rt 
-0x214e 002862 call end_of_packet ,sync 
-0x214f 002863 branch page_wait_fhs_reply_ok ,sync 
-0x2150 002864 fetch 1 ,mem_fhs_wait_counter 
-0x2151 002865 branch page_restart ,blank 
-0x2152 002866 increase -1 ,pdata 
-0x2153 002867 store 1 ,mem_fhs_wait_counter 
-0x2154 002868 branch page_send_fhs 
-:      002870 page_wait_fhs_reply_ok:
-0x2155 002871 bpatch patch03_3 ,mem_patch03 
-0x2156 002872 fetch 1 ,mem_page_rcv_fhs 
-0x2157 002873 increase 1 ,pdata 
-0x2158 002874 store 1 ,mem_page_rcv_fhs 
-0x2159 002875 call prepare_newconn 
-:      002876 master_newconn_loop:
-0x215a 002877 call master_newconn_once 
-0x215b 002878 branch newconn_poll_responded ,sync 
-0x215c 002879 call new_conn_timeout 
-0x215d 002880 nbranch master_newconn_loop ,blank 
-0x215e 002881 branch page_restart 
-:      002883 newconn_poll_responded:
-0x215f 002884 bpatch patch03_4 ,mem_patch03 
-0x2160 002885 fetch 1 ,mem_state 
-0x2161 002886 set0 state_inpage ,pdata 
-0x2162 002887 store 1 ,mem_state 
-0x2163 002888 call newconn_init 
-0x2164 002889 disable master 
-0x2165 002890 rtn 
-:      002893 master_dispatch:
-0x2166 002894 bpatch patch03_5 ,mem_patch03 
-0x2167 002895 enable master 
-0x2168 002896 enable clknt 
-0x2169 002897 call role_switch_master 
-0x216a 002898 rtn user 
-0x216b 002899 call check_bt_disabled 
-0x216c 002900 call rf_setup_time_master_slot 
-0x216d 002901 add clkn_bt ,1 ,bt_clk 
-0x216e 002902 call fetch_self_bt_adr 
-0x216f 002903 force 0x03 ,freq_mode 
-0x2170 002904 call scheduler_tx_l2cap_pkt 
-0x2171 002905 call prepare_tx 
-0x2172 002906 call tx_radio_freq 
-0x2173 002907 call start_transmitter 
-0x2174 002908 call start_tx_native 
-0x2175 002909 call send_access_word 
-0x2176 002910 call transmit_packet 
-:      002911 master_loop:
-0x2177 002912 bpatch patch03_6 ,mem_patch03 
-0x2178 002913 call parse_lmp 
-0x2179 002914 call master_conn_recv_packet 
-0x217a 002915 nbranch master_notmatch ,match 
-0x217b 002916 call supervision_flush 
-0x217c 002917 call parse_l2cap 
-0x217d 002918 fetch 1 ,mem_master_rcvcnt 
-0x217e 002919 increase 1 ,pdata 
-0x217f 002920 store 1 ,mem_master_rcvcnt 
-:      002921 master_notmatch:
-0x2180 002922 bpatch patch03_7 ,mem_patch03 
-0x2181 002923 call scheduler_process 
-0x2182 002924 call check_master_disconnect 
-0x2183 002925 nrtn master 
-0x2184 002926 call check_attempt 
-0x2185 002927 nbranch master_attempt ,blank 
-:      002928 master_exit:
-0x2186 002929 disable master 
-0x2187 002930 rtn 
-:      002932 master_attempt:
-0x2188 002933 call prepare_tx 
-0x2189 002934 call master_conn_send_packet 
-0x218a 002935 branch master_loop 
-:      002938 check_master_disconnect:
-0x218b 002939 branch check_master_match ,match 
-0x218c 002940 call supervision_update 
-0x218d 002941 branch master_disconnect ,positive 
-:      002942 check_master_match:
-0x218e 002943 call check_disconnect_timeout 
-0x218f 002944 nbranch master_disconnect ,user 
-0x2190 002945 fetch 1 ,mem_state_map 
-0x2191 002946 rtnbit0 smap_name_req 
-0x2192 002947 rtnbit1 smap_name_res 
-0x2193 002948 fetch 1 ,mem_op 
-0x2194 002949 rtnbit1 op_disconn 
-0x2195 002950 call conn_timer_expired 
-0x2196 002951 nrtn blank 
-0x2197 002952 fetch 1 ,mem_nameres_cnt 
-0x2198 002953 increase -1 ,pdata 
-0x2199 002954 store 1 ,mem_nameres_cnt 
-0x219a 002955 nrtn blank 
-0x219b 002956 branch lmp_disconnect 
-:      002958 master_disconnect:
-0x219c 002959 bpatch patch04_0 ,mem_patch04 
-0x219d 002960 call quit_connection 
-0x219e 002961 disable master 
-0x219f 002962 fetch 1 ,mem_state_map 
-0x21a0 002963 bbit1 smap_name_req ,master_name_disconnect 
-0x21a1 002964 rtn 
-:      002966 master_name_disconnect:
-0x21a2 002967 fetch 1 ,mem_state_map 
-0x21a3 002968 rtnbit1 smap_name_res 
-:      002969 master_name_error:
-0x21a4 002970 arg mem_tmp_buffer ,contw 
-0x21a5 002971 arg 8 ,loopcnt 
-0x21a6 002972 branch memset0 
-:      002974 check_disconnect_timeout:
-0x21a7 002975 bpatch patch04_1 ,mem_patch04 
-0x21a8 002976 enable user 
-0x21a9 002977 fetch 1 ,mem_op 
-0x21aa 002978 rtnbit0 op_disconn 
-0x21ab 002979 call conn_timer_expired 
-0x21ac 002980 nrtn blank 
-0x21ad 002981 branch disable_user 
-:      002983 conn_timer_expired:
-0x21ae 002984 fetch 1 ,mem_conn_timer 
-0x21af 002985 increase -1 ,pdata 
-0x21b0 002986 store 1 ,mem_conn_timer 
-0x21b1 002987 rtn 
-:      002989 linkkey_ready:
-0x21b2 002990 bpatch patch04_2 ,mem_patch04 
-0x21b3 002991 fetch 1 ,mem_state 
-0x21b4 002992 bbit1 state_linkkey ,linkkey_set 
-0x21b5 002993 fetch 1 ,mem_pairing_auth 
-0x21b6 002994 branch linkkey_set ,blank 
-0x21b7 002995 jam defalt_pairing_auth ,mem_pairing_auth 
-0x21b8 002996 jam bt_evt_linkkey_generate ,mem_fifo_temp 
-0x21b9 002997 call ui_ipc_send_event 
-0x21ba 002998 branch linkkey_set 
-:      002999 linkkey_set:
-0x21bb 003000 bpatch patch04_3 ,mem_patch04 
-0x21bc 003001 call context_traverse_linkkey 
-0x21bd 003002 fetch 1 ,mem_state 
-0x21be 003003 set1 state_linkkey ,pdata 
-0x21bf 003004 store 1 ,mem_state 
-0x21c0 003005 jam 1 ,mem_link_key_exists 
-0x21c1 003006 fetch 1 ,mem_conn_sm 
-0x21c2 003007 bne conn_sm_pairing ,linkkey_set_continue 
-:      003008 linkkey_set_continue:
-0x21c3 003009 rtn 
-:      003011 generate_linkkey_continue:
-0x21c4 003012 jam pairing_auth ,mem_pairing_auth 
-:      003013 clear_linkstate:
-0x21c5 003014 fetch 1 ,mem_state 
-0x21c6 003015 set0 state_linkkey ,pdata 
-0x21c7 003016 store 1 ,mem_state 
-0x21c8 003017 rtn 
-:      003021 role_switch_check:
-0x21c9 003022 bpatch patch04_4 ,mem_patch04 
-0x21ca 003023 disable user 
-0x21cb 003024 fetch 2 ,mem_tsniff 
-0x21cc 003025 arg 0xffff ,temp 
-0x21cd 003026 isub temp ,null 
-0x21ce 003027 nrtn zero 
-0x21cf 003028 fetch 4 ,mem_sniff_anchor 
-0x21d0 003029 branch role_switch_clkn ,clknt 
-0x21d1 003030 isub clke_bt ,pdata 
-0x21d2 003031 branch role_switch_clke 
-:      003032 role_switch_clkn:
-0x21d3 003033 isub clkn_bt ,pdata 
-:      003034 role_switch_clke:
-0x21d4 003035 sub pdata ,4 ,null 
-0x21d5 003036 nrtn positive 
-0x21d6 003037 force 0 ,pdata 
-0x21d7 003038 store 2 ,mem_tsniff 
-0x21d8 003039 branch enable_user 
-:      003043 role_switch_prepare:
-0x21d9 003044 copy pdata ,temp 
-0x21da 003045 bpatch patch04_5 ,mem_patch04 
-0x21db 003046 storet 4 ,mem_sniff_anchor 
-:      003047 role_switch_prepare0:
-0x21dc 003048 jam switch_flag_accept ,mem_switch_flag 
-0x21dd 003049 setarg 0xffff 
-0x21de 003050 store 2 ,mem_tsniff 
-0x21df 003051 jam 1 ,mem_sniff_attempt 
-0x21e0 003052 rtn 
-:      003055 role_switch_master:
-0x21e1 003056 bpatch patch04_6 ,mem_patch04 
-0x21e2 003057 call role_switch_check 
-0x21e3 003058 nrtn user 
-0x21e4 003059 disable user 
-0x21e5 003060 jam param_newconnto ,mem_newconnto_counter 
-0x21e6 003061 set0 mark_fhs_already_good ,mark 
-:      003062 roles_waitfhs_loop:
-0x21e7 003063 call rf_setup_time_master_slot 
-0x21e8 003064 call master_recv_packet 
-0x21e9 003065 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
-0x21ea 003066 call new_conn_timeout 
-0x21eb 003067 nbranch roles_waitfhs_loop ,blank 
-:      003068 role_switch_fail_master:
-0x21ec 003069 bpatch patch04_7 ,mem_patch04 
-0x21ed 003070 disable user 
-0x21ee 003071 deposit clkn_bt 
-0x21ef 003072 store 4 ,mem_next_btclk 
-0x21f0 003073 enable clknt 
-0x21f1 003074 enable master 
-0x21f2 003075 jam bt_evt_switch_fail_master ,mem_fifo_temp 
-0x21f3 003076 branch ui_ipc_send_event 
-:      003078 roles_replyto_fhs:
-0x21f4 003079 bpatch patch05_0 ,mem_patch05 
-0x21f5 003080 call rf_setup_time_slave_slot 
-0x21f6 003081 arg type_id ,type 
-0x21f7 003082 call master_send_packet 
-0x21f8 003083 disable clknt 
-0x21f9 003084 disable master 
-0x21fa 003085 call apply_switch_clke 
-0x21fb 003086 call prepare_newconn 
-:      003087 roles_newconns_loop:
-0x21fc 003088 bpatch patch05_1 ,mem_patch05 
-0x21fd 003089 call slave_newconn_once 
-0x21fe 003090 branch roles_newconns_responded ,match 
-0x21ff 003091 call new_conn_timeout 
-0x2200 003092 nbranch roles_newconns_loop ,blank 
-0x2201 003093 branch role_switch_fail_master 
-:      003094 roles_newconns_responded:
-0x2202 003095 fetch 1 ,mem_mode 
-0x2203 003096 set0 mode_master ,pdata 
-0x2204 003097 store 1 ,mem_mode 
-0x2205 003098 call supervision_flush 
-0x2206 003099 call calc_clke_offset 
-0x2207 003100 enable user 
-0x2208 003101 jam bt_evt_switch_success_master ,mem_fifo_temp 
-0x2209 003102 branch ui_ipc_send_event 
-:      003107 context_load:
-0x220a 003108 bpatch patch05_2 ,mem_patch05 
-0x220b 003109 set1 mark_context ,mark 
-0x220c 003110 deposit rega 
-0x220d 003111 store 2 ,mem_context_ptr 
-0x220e 003112 force context_size ,loopcnt 
-0x220f 003113 arg mem_le_state ,contw 
-0x2210 003114 add rega ,coffset_mode ,contr 
-0x2211 003115 ifetch 1 ,contr 
-0x2212 003116 copy rega ,contr 
-0x2213 003117 bbit1 mode_le ,memcpy 
-0x2214 003118 arg mem_state ,contw 
-0x2215 003119 call memcpy 
-0x2216 003120 disable attempt 
-0x2217 003121 fetch 1 ,mem_amaddr 
-0x2218 003122 iforce am_addr 
-0x2219 003123 jam 1 ,mem_current_sniff_attempt 
-0x221a 003124 branch context_load_master ,master 
-0x221b 003125 jam 1 ,mem_current_sniff_attempt 
-:      003126 context_load_master:
-0x221c 003127 fetch 1 ,mem_state 
-0x221d 003128 rtnbit0 state_insniff 
-0x221e 003129 fetch 1 ,mem_sniff_attempt 
-0x221f 003130 store 1 ,mem_current_sniff_attempt 
-0x2220 003131 fetch 1 ,mem_sniff_timeout 
-0x2221 003132 store 1 ,mem_current_sniff_timeout 
-0x2222 003133 rtn 
-:      003135 context_save:
-0x2223 003136 bpatch patch05_3 ,mem_patch05 
-0x2224 003137 fetch 2 ,mem_context_ptr 
-0x2225 003138 iforce contw 
-0x2226 003139 force context_size ,loopcnt 
-0x2227 003140 arg mem_le_state ,contr 
-0x2228 003141 branch memcpy ,le 
-0x2229 003142 arg mem_state ,contr 
-0x222a 003143 branch memcpy 
-:      003147 context_get_next:
-0x222b 003148 arg context_num ,loopcnt 
-0x222c 003149 fetcht 1 ,mem_current_context 
-:      003150 context_get_next_loop:
-0x222d 003151 increase 1 ,temp 
-0x222e 003152 compare context_num ,temp ,0xff 
-0x222f 003153 nbranch context_get_next_cont ,true 
-0x2230 003154 arg 0 ,temp 
-:      003155 context_get_next_cont:
-0x2231 003156 storet 1 ,mem_current_context 
-0x2232 003157 mul32 temp ,context_size ,pdata 
-0x2233 003158 arg mem_context ,rega 
-0x2234 003159 iadd rega ,rega 
-0x2235 003160 ifetch 1 ,rega 
-0x2236 003161 bbit1 state_insniff ,context_get_next_sniff 
-0x2237 003162 rtnbit1 state_inconn 
-0x2238 003163 rtnbit1 state_inpage 
-:      003164 context_get_next_sniff:
-0x2239 003165 loop context_get_next_loop 
-0x223a 003166 rtn 
-:      003168 context_new:
-0x223b 003169 bpatch patch05_4 ,mem_patch05 
-0x223c 003170 arg context_search_empty ,regc 
-0x223d 003171 call context_search 
-0x223e 003172 nrtn zero 
-0x223f 003173 deposit rega 
-0x2240 003174 store 2 ,mem_context_ptr 
-0x2241 003175 force 0 ,null 
-0x2242 003176 rtn 
-:      003180 context_check_all_wack:
-0x2243 003181 call check_esco_amaddr 
-0x2244 003182 branch context_check_esco_wack ,true 
-0x2245 003183 fetch 2 ,mem_context_ptr 
-0x2246 003184 add pdata ,coffset_arq ,contw 
-0x2247 003185 fetch 1 ,mem_arq 
-0x2248 003186 istore 1 ,contw 
-0x2249 003187 arg context_check_a_wack ,regc 
-0x224a 003188 branch context_search 
-:      003190 context_check_esco_wack:
-0x224b 003191 fetch 1 ,mem_arq 
-0x224c 003192 isolate1 wack ,pdata 
-0x224d 003193 branch context_esco_wack ,true 
-0x224e 003194 force 1 ,null 
-0x224f 003195 rtn 
-:      003196 context_esco_wack:
-0x2250 003197 force 0 ,null 
-0x2251 003198 rtn 
-:      003201 context_check_idle:
-0x2252 003202 arg context_check_inconn ,regc 
-0x2253 003203 branch context_search 
-:      003205 context_traverse_linkkey:
-0x2254 003206 fetcht 2 ,mem_context_ptr 
-0x2255 003207 arg context_traverse_clearkey ,regc 
-0x2256 003208 branch context_search 
-:      003212 context_search_conn_handle:
-0x2257 003213 fetcht 1 ,mem_hci_conn_handle 
-:      003214 context_search_conn_handle2:
-0x2258 003215 arg context_search_handle ,regc 
-0x2259 003216 branch context_search 
-:      003218 context_search_plap:
-0x225a 003219 bpatch patch05_5 ,mem_patch05 
-0x225b 003220 fetcht 6 ,mem_hci_plap 
-:      003221 context_search_plap2:
-0x225c 003222 arg context_search_lap ,regc 
-0x225d 003223 branch context_search 
-:      003225 context_search_insniff:
-0x225e 003226 arg context_search_sniff ,regc 
-0x225f 003227 branch context_search 
-:      003229 context_search_sniff_window:
-0x2260 003230 arg context_search_window ,regc 
-:      003231 context_search:
-0x2261 003232 bpatch patch05_6 ,mem_patch05 
-0x2262 003233 arg mem_context ,rega 
-0x2263 003234 arg context_num ,loopcnt 
-:      003235 context_search_loop:
-0x2264 003236 ifetch 1 ,rega 
-0x2265 003237 copy regc ,pc 
-:      003238 context_search_next:
-0x2266 003239 increase context_size ,rega 
-0x2267 003240 loop context_search_loop 
-0x2268 003241 force 1 ,null 
-0x2269 003242 rtn 
-:      003244 context_search_empty:
-0x226a 003245 bbit1 state_inconn ,context_search_next 
-0x226b 003246 bbit1 state_inpage ,context_search_next 
-0x226c 003247 force 0 ,null 
-0x226d 003248 rtn 
-:      003250 context_search_lap:
-0x226e 003251 bbit1 state_inpage ,context_search_lap_cont 
-0x226f 003252 bbit0 state_inconn ,context_search_next 
-:      003253 context_search_lap_cont:
-0x2270 003254 add rega ,coffset_plap ,contr 
-0x2271 003255 ifetch 6 ,contr 
-0x2272 003256 isub temp ,null 
-0x2273 003257 rtn zero 
-0x2274 003258 branch context_search_next 
-:      003260 context_search_handle:
-0x2275 003261 bbit0 state_inconn ,context_search_next 
-0x2276 003262 add rega ,coffset_conn_handle ,contr 
-0x2277 003263 ifetch 1 ,contr 
-0x2278 003264 isub temp ,null 
-0x2279 003265 rtn zero 
-0x227a 003266 branch context_search_next 
-:      003268 context_search_sniff:
-0x227b 003269 bbit0 state_insniff ,context_search_next 
-:      003270 context_search_sniff_loop:
-0x227c 003271 call context_get_anchor 
-0x227d 003272 call sign_pdata_temp 
-0x227e 003273 isub temp ,pdata 
-0x227f 003274 increase 1 ,pdata 
-0x2280 003275 branch context_search_sniff_miss ,positive 
-0x2281 003276 copy contr ,regb 
-0x2282 003277 store 9 ,mem_temp 
-0x2283 003278 fetch 1 ,mem_le_sc_calc 
-0x2284 003279 nbranch context_search_sniff_sc ,blank 
-0x2285 003280 fetch 9 ,mem_temp 
-0x2286 003281 copy regb ,contr 
-0x2287 003282 increase 5 ,pdata 
-0x2288 003283 branch context_search_meet1 
-:      003284 context_search_sniff_sc:
-0x2289 003285 fetch 9 ,mem_temp 
-0x228a 003286 copy regb ,contr 
-0x228b 003287 increase 20 ,pdata 
-:      003288 context_search_meet1:
-0x228c 003289 nbranch context_search_next ,positive 
-:      003290 context_search_meet:
-0x228d 003291 copy temp ,bt_clk 
-0x228e 003292 call context_next_anchor 
-0x228f 003293 force 0 ,null 
-0x2290 003294 rtn 
-:      003297 context_search_sniff_miss:
-0x2291 003298 iforce regb 
-0x2292 003299 add rega ,coffset_tsniff ,contr 
-0x2293 003300 ifetch 2 ,contr 
-0x2294 003301 branch context_search_meet ,blank 
-0x2295 003302 call context_next_anchor 
-0x2296 003303 branch context_search_sniff_loop 
-:      003305 sign_pdata_temp:
-0x2297 003306 rshift16 pdata ,timeup 
-0x2298 003307 rshift8 timeup ,timeup 
-0x2299 003308 branch sign_pdata_temp_p0 ,zero 
-0x229a 003309 compare 0xf ,timeup ,0xf 
-0x229b 003310 nrtn true 
-0x229c 003311 rshift16 temp ,timeup 
-0x229d 003312 rshift8 timeup ,timeup 
-0x229e 003313 nrtn zero 
-0x229f 003314 set1 28 ,temp 
-0x22a0 003315 rtn 
-:      003316 sign_pdata_temp_p0:
-0x22a1 003317 rshift16 temp ,timeup 
-0x22a2 003318 rshift8 timeup ,timeup 
-0x22a3 003319 compare 0xf ,timeup ,0xf 
-0x22a4 003320 nrtn true 
-0x22a5 003321 set1 28 ,pdata 
-0x22a6 003322 rtn 
-:      003324 context_check_inconn:
-0x22a7 003325 bbit0 state_inconn ,context_search_next 
-0x22a8 003326 force 0 ,null 
-0x22a9 003327 rtn 
-:      003329 context_check_a_wack:
-0x22aa 003330 bbit0 state_inconn ,context_search_next 
-0x22ab 003331 add rega ,coffset_mode ,contr 
-0x22ac 003332 ifetch 1 ,contr 
-0x22ad 003333 bbit1 mode_le ,context_search_next 
-0x22ae 003334 add rega ,coffset_arq ,contr 
-0x22af 003335 ifetch 1 ,contr 
-0x22b0 003336 bbit0 wack ,context_search_next 
-0x22b1 003337 force 0 ,null 
-0x22b2 003338 rtn 
-:      003340 context_get_anchor:
-0x22b3 003341 add rega ,coffset_mode ,contr 
-0x22b4 003342 ifetcht 1 ,contr 
-0x22b5 003343 deposit clkn_bt 
-0x22b6 003344 isolate1 mode_master ,temp 
-0x22b7 003345 add rega ,coffset_sniff_anchor ,contr 
-0x22b8 003346 ifetcht 4 ,contr 
-0x22b9 003347 rtn true 
-0x22ba 003348 add rega ,coffset_clk_offset ,contr 
-0x22bb 003349 ifetch 6 ,contr 
-0x22bc 003350 call calc_clke2 
-0x22bd 003351 deposit clke_bt 
-0x22be 003352 rtn 
-:      003354 context_next_anchor:
-0x22bf 003355 add rega ,coffset_tsniff ,contr 
-0x22c0 003356 add rega ,coffset_sniff_anchor ,contw 
-0x22c1 003357 ifetch 2 ,contr 
-0x22c2 003358 iadd temp ,timeup 
-0x22c3 003359 deposit timeup 
-0x22c4 003360 istore 4 ,contw 
-0x22c5 003361 branch le_context_nexthop 
-:      003364 context_search_window:
-0x22c6 003365 bbit0 state_insniff ,context_search_next 
-0x22c7 003366 call context_get_anchor 
-0x22c8 003367 iadd stop_watch ,pdata 
-0x22c9 003368 iadd stop_watch ,pdata 
-0x22ca 003369 iadd queue ,pdata 
-0x22cb 003370 isub temp ,null 
-0x22cc 003371 nbranch context_search_next ,positive 
-0x22cd 003372 force 0 ,null 
-0x22ce 003373 rtn 
-:      003375 context_traverse_clearkey:
-0x22cf 003376 bbit0 state_inconn ,context_search_next 
-0x22d0 003377 deposit temp 
-0x22d1 003378 isub rega ,null 
-0x22d2 003379 branch context_search_next ,null 
-0x22d3 003380 add rega ,coffset_mode ,contr 
-0x22d4 003381 ifetch 1 ,contr 
-0x22d5 003382 bbit1 mode_le ,context_search_next 
-0x22d6 003383 ifetch 1 ,rega 
-0x22d7 003384 set0 state_linkkey ,pdata 
-0x22d8 003385 istore 1 ,rega 
-0x22d9 003386 branch context_search_next 
-:      003389 master_conn_send_packet:
-0x22da 003390 bpatch patch05_7 ,mem_patch05 
-0x22db 003391 call rf_setup_time_master_slot 
-:      003392 master_send_packet:
-0x22dc 003393 add clkn_bt ,1 ,bt_clk 
-0x22dd 003394 call fetch_self_bt_adr 
-0x22de 003395 force 0x03 ,freq_mode 
-0x22df 003396 call tx_radio_freq 
-0x22e0 003397 call start_transmitter 
-0x22e1 003398 call start_tx_native 
-0x22e2 003399 call send_access_word 
-0x22e3 003400 branch transmit_packet 
-:      003402 master_conn_recv_packet:
-0x22e4 003403 bpatch patch06_0 ,mem_patch06 
-0x22e5 003404 call rf_setup_time_slave_slot 
-:      003405 master_recv_packet:
-0x22e6 003406 add clkn_bt ,1 ,bt_clk 
-0x22e7 003407 call fetch_self_bt_adr 
-0x22e8 003408 force 0x03 ,freq_mode 
-0x22e9 003409 call rx_radio_freq 
-0x22ea 003410 call init_rx_packet_flags 
-0x22eb 003411 call prep_crypt 
-0x22ec 003412 call start_rx_native 
-0x22ed 003413 call start_receiver 
-:      003414 master_rx_conn_finish_packet:
-0x22ee 003415 call wait_access_clkn_rt 
-0x22ef 003416 nrtn sync 
-0x22f0 003417 call save_rssi 
-0x22f1 003418 branch receive_packet 
-:      003422 master_newconn_once:
-0x22f2 003423 bpatch patch06_1 ,mem_patch06 
-0x22f3 003424 fetch 1 ,mem_fhs_am_addr 
-0x22f4 003425 iforce am_addr 
-0x22f5 003426 force type_poll ,type 
-0x22f6 003427 call master_conn_send_packet 
-0x22f7 003428 branch master_conn_recv_packet 
-:      003439 inquiry_scan_dispatch:
-0x22f8 003440 fetch 1 ,mem_scan_mode 
-0x22f9 003441 rtnbit0 inq_scan_mode 
-0x22fa 003442 force iscan_interval_timer ,queue 
-0x22fb 003443 call timer_check 
-0x22fc 003444 nrtn blank 
-0x22fd 003445 fetcht 2 ,mem_iscan_window 
-0x22fe 003446 force 4 ,queue 
-0x22ff 003447 call sniff_check_window 
-0x2300 003448 rtn user 
-0x2301 003449 call inquiry_scan_start 
-0x2302 003450 force iscan_interval_timer ,queue 
-0x2303 003451 fetch 2 ,mem_iscan_interval 
-0x2304 003452 nbranch timer_init ,sync 
-0x2305 003453 random pdata 
-0x2306 003454 iand mask3ff ,pdata 
-0x2307 003455 branch timer_init 
-:      003458 inquiry_scan_start:
-0x2308 003459 bpatch patch06_2 ,mem_patch06 
-0x2309 003460 jam 0 ,mem_fhs_am_addr 
-0x230a 003461 disable clknt 
-0x230b 003462 disable attempt 
-0x230c 003463 call afh_clear 
-0x230d 003464 and clkn_bt ,0x1fc ,bt_clk 
-0x230e 003465 force 0x01 ,freq_mode 
-0x230f 003466 call fetch_giac 
-0x2310 003467 call rx_radio_freq 
-0x2311 003468 setflip mark_inquiry_state ,mark 
-0x2312 003469 fetch 1 ,mem_inquiryscan_waitcnt 
-0x2313 003470 increase 1 ,pdata 
-0x2314 003471 store 1 ,mem_inquiryscan_waitcnt 
-0x2315 003472 call fetch_diac 
-0x2316 003473 call start_receiver 
-0x2317 003474 call wait_access_forever 
-0x2318 003475 nrtn sync 
-0x2319 003476 bpatch patch06_3 ,mem_patch06 
-0x231a 003477 force 0 ,stop_watch 
-0x231b 003478 call shutdown_radio 
-0x231c 003479 fetch 1 ,mem_inquiryscan_rcvcnt 
-0x231d 003480 increase 1 ,pdata 
-0x231e 003481 store 1 ,mem_inquiryscan_rcvcnt 
-0x231f 003482 call fetch_giac 
-0x2320 003483 call rf_setup_time_slave_slot 
-0x2321 003484 or_into 0x002 ,bt_clk 
-0x2322 003485 force 0x01 ,freq_mode 
-0x2323 003486 call tx_radio_freq 
-0x2324 003487 call fetch_diac 
-0x2325 003488 call start_transmitter 
-0x2326 003489 call start_tx_external 
-0x2327 003490 deposit clkn_bt 
-0x2328 003491 store 4 ,mem_clkn_bt 
-0x2329 003492 call send_access_word 
-0x232a 003493 force type_fhs ,type 
-0x232b 003494 force 0 ,am_addr 
-0x232c 003495 call scan_mode_whiten 
-0x232d 003496 call transmit_packet_whitened 
-0x232e 003497 call send_eir 
-0x232f 003498 and_into 0x1fd ,bt_clk 
-0x2330 003499 increase 1 ,n_tx_slot 
-0x2331 003500 rtn 
-:      003502 send_eir:
-0x2332 003503 bpatch patch06_4 ,mem_patch06 
-0x2333 003504 fetch 1 ,mem_eir_enable 
-0x2334 003505 rtn blank 
-0x2335 003506 arg mem_eir ,contw 
-0x2336 003507 fetch 1 ,mem_local_name_length 
-0x2337 003508 copy pdata ,loopcnt 
-0x2338 003509 increase 1 ,pdata 
-0x2339 003510 istore 1 ,contw 
-0x233a 003511 copy contw ,temp 
-0x233b 003512 increase 1 ,pdata 
-0x233c 003513 store 2 ,mem_tx_len 
-0x233d 003514 copy temp ,contw 
-0x233e 003515 setarg 0x09 
-0x233f 003516 istore 1 ,contw 
-0x2340 003517 arg mem_local_name ,contr 
-0x2341 003518 call memcpy 
-0x2342 003520 arg mem_all_uuid_128bits ,regc 
-0x2343 003521 arg 4 ,loopcnt 
-0x2344 003522 call get_all_uuid 
-0x2345 003523 arg mem_all_uuid_16bits ,regc 
-0x2346 003524 arg 1 ,loopcnt 
-0x2347 003525 call get_all_uuid 
-0x2348 003527 force type_dm3 ,type 
-0x2349 003528 jam 2 ,mem_tx_lch 
-0x234a 003529 setarg mem_eir 
-0x234b 003530 store 2 ,mem_txptr 
-0x234c 003531 call rf_setup_time_slave_slot 
-0x234d 003532 call tx_radio_freq 
-0x234e 003533 call start_transmitter 
-0x234f 003534 call start_tx_external 
-0x2350 003535 call send_access_word 
-0x2351 003536 call scan_mode_whiten 
-0x2352 003537 call transmit_packet_whitened 
-0x2353 003538 rtn 
-:      003541 get_all_uuid:
-0x2354 003542 copy contw ,temp 
-0x2355 003543 copy regc ,contr 
-0x2356 003544 ifetch 1 ,contr 
-0x2357 003545 rtn blank 
-:      003546 lshift_loop:
-0x2358 003547 lshift pdata ,pdata 
-0x2359 003548 loop lshift_loop 
-0x235a 003549 copy pdata ,rega 
-0x235b 003550 increase 2 ,pdata 
-0x235c 003551 copy pdata ,queue 
-0x235d 003552 fetch 2 ,mem_tx_len 
-0x235e 003553 iadd queue ,pdata 
-0x235f 003554 store 2 ,mem_tx_len 
-0x2360 003555 copy temp ,contw 
-0x2361 003556 copy rega ,pdata 
-0x2362 003557 increase 1 ,pdata 
-0x2363 003558 istore 1 ,contw 
-0x2364 003559 copy regc ,contr 
-0x2365 003560 ifetch 1 ,contr 
-0x2366 003561 ifetch 1 ,contr 
-0x2367 003562 istore 1 ,contw 
-0x2368 003563 copy rega ,loopcnt 
-0x2369 003564 branch memcpy 
-:      003570 page_scan_dispatch:
-0x236a 003571 fetch 1 ,mem_scan_mode 
-0x236b 003572 rtnbit0 page_scan_mode 
-0x236c 003573 force pscan_interval_timer ,queue 
-0x236d 003574 call timer_check 
-0x236e 003575 nrtn blank 
-0x236f 003576 fetcht 2 ,mem_pscan_window 
-0x2370 003577 force 40 ,queue 
-0x2371 003578 call sniff_check_window 
-0x2372 003579 rtn user 
-0x2373 003580 force 0 ,am_addr 
-0x2374 003581 jam param_pagerespto ,mem_fhs_wait_counter 
-0x2375 003582 set0 mark_fhs_already_good ,mark 
-0x2376 003583 call page_scan_start 
-0x2377 003584 force pscan_interval_timer ,queue 
-0x2378 003585 fetch 2 ,mem_pscan_interval 
-0x2379 003586 branch timer_init 
-:      003589 page_scan_start:
-0x237a 003590 bpatch patch06_5 ,mem_patch06 
-0x237b 003591 disable clknt 
-0x237c 003592 call afh_clear 
-0x237d 003593 fetch 1 ,mem_pagescan_waitcnt 
-0x237e 003594 increase 1 ,pdata 
-0x237f 003595 store 1 ,mem_pagescan_waitcnt 
-0x2380 003596 force 0 ,n_tx_slot 
-0x2381 003597 call fetch_self_bt_adr 
-0x2382 003598 add clkn_bt ,1 ,bt_clk 
-0x2383 003599 force 0x02 ,freq_mode 
-0x2384 003600 bpatch patch06_6 ,mem_patch06 
-0x2385 003601 call rx_radio_freq 
-0x2386 003602 call start_receiver 
-0x2387 003603 call wait_access_forever 
-0x2388 003604 nrtn sync 
-0x2389 003605 call shutdown_radio 
-0x238a 003606 fetch 1 ,mem_pagescan_rcvcnt 
-0x238b 003607 increase 1 ,pdata 
-0x238c 003608 store 1 ,mem_pagescan_rcvcnt 
-0x238d 003609 force 0 ,stop_watch 
-0x238e 003610 call rf_setup_time_slave_slot 
-0x238f 003611 or_into 0x002 ,bt_clk 
-0x2390 003612 force 0x01 ,freq_mode 
-0x2391 003613 call tx_radio_freq 
-0x2392 003614 call start_transmitter 
-0x2393 003615 call start_tx_external 
-0x2394 003616 call send_access_word 
-0x2395 003617 call end_of_packet 
-0x2396 003618 force 0 ,am_addr 
-0x2397 003619 arg param_rf_setup ,timeup 
-0x2398 003620 until clke_rt ,meet 
-0x2399 003621 or_into 0x03 ,clke_bt 
-0x239a 003622 and_into 0x1fd ,bt_clk 
-:      003623 page_scan_wait_fhs_restart:
-0x239b 003624 bpatch patch06_7 ,mem_patch06 
-0x239c 003625 increase 1 ,n_tx_slot 
-0x239d 003626 call rx_radio_freq 
-0x239e 003627 call start_receiver 
-0x239f 003628 call wait_access_mhalfbnd 
-0x23a0 003629 nbranch page_scan_wait_fhs_again ,sync 
-0x23a1 003630 call scan_mode_whiten 
-0x23a2 003631 call receive_packet_whitened 
-0x23a3 003632 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
-:      003633 page_scan_wait_fhs_again:
-0x23a4 003634 bpatch patch07_0 ,mem_patch07 
-0x23a5 003635 fetch 1 ,mem_fhs_wait_counter 
-0x23a6 003636 rtn blank 
-0x23a7 003637 increase -1 ,pdata 
-0x23a8 003638 store 1 ,mem_fhs_wait_counter 
-0x23a9 003639 call rf_setup_time_master_slot 
-0x23aa 003640 branch page_scan_wait_fhs_restart 
-:      003643 page_scan_reply_to_fhs:
-0x23ab 003644 bpatch patch07_1 ,mem_patch07 
-0x23ac 003645 set0 1 ,clke_bt 
-0x23ad 003646 set1 0 ,clke_bt 
-0x23ae 003647 fetch 1 ,mem_pagescan_rcvfhscnt 
-0x23af 003648 increase 1 ,pdata 
-0x23b0 003649 store 1 ,mem_pagescan_rcvfhscnt 
-0x23b1 003650 call rf_setup_time_slave_slot 
-0x23b2 003651 or_into 0x02 ,bt_clk 
-0x23b3 003652 call tx_radio_freq 
-0x23b4 003653 call start_transmitter 
-0x23b5 003654 call start_tx_external 
-0x23b6 003655 call send_access_word 
-0x23b7 003656 call end_of_packet 
-:      003657 slave_apply_clke_bt:
-0x23b8 003658 compare 0x03 ,clke_bt ,0x03 
-0x23b9 003659 branch slave_apply_clke_bt_now ,true 
-0x23ba 003660 until null ,mhalfbnd 
-0x23bb 003661 branch slave_apply_clke_bt 
-:      003662 slave_apply_clke_bt_now:
-0x23bc 003663 fetch 4 ,mem_clke_bt 
-0x23bd 003664 or_into 0x03 ,pdata 
-0x23be 003665 icopy clke_bt 
-:      003667 start_slave_connection:
-0x23bf 003668 bpatch patch07_2 ,mem_patch07 
-0x23c0 003669 fetch 6 ,extm_lap 
-0x23c1 003670 store 6 ,mem_plap 
-0x23c2 003671 call prepare_newconn 
-:      003672 slave_newconn_loop:
-0x23c3 003673 call slave_newconn_once 
-0x23c4 003674 branch sconn_successful ,match 
-0x23c5 003675 call new_conn_timeout 
-0x23c6 003676 nbranch slave_newconn_loop ,blank 
-0x23c7 003677 rtn 
-:      003680 sconn_successful:
-0x23c8 003681 bpatch patch07_3 ,mem_patch07 
-0x23c9 003682 call newconn_init 
-0x23ca 003683 call context_new 
-0x23cb 003684 nrtn zero 
-0x23cc 003685 jam 0 ,mem_mode 
-0x23cd 003686 call calc_clke_offset 
-0x23ce 003687 branch context_save 
-:      003692 slave_dispatch:
-0x23cf 003693 bpatch patch07_4 ,mem_patch07 
-0x23d0 003694 call calc_clke 
-0x23d1 003695 call role_switch_slave 
-0x23d2 003696 rtn user 
-:      003697 slave_loop:
-0x23d3 003698 bpatch patch07_5 ,mem_patch07 
-0x23d4 003699 call check_bt_disabled 
-0x23d5 003700 call scheduler_process 
-0x23d6 003701 call slave_conn_recv_packet 
-0x23d7 003702 nbranch slave_notmatch ,match 
-0x23d8 003703 call supervision_flush 
-0x23d9 003704 call scheduler_tx_l2cap_pkt 
-0x23da 003705 call prepare_tx 
-0x23db 003706 call slave_conn_send_packet 
-0x23dc 003707 call parse_l2cap 
-0x23dd 003708 call parse_lmp 
-0x23de 003709 fetch 1 ,mem_slave_rcvcnt 
-0x23df 003710 increase 1 ,pdata 
-0x23e0 003711 store 1 ,mem_slave_rcvcnt 
-0x23e1 003712 call calc_clke_offset 
-:      003713 slave_notmatch:
-0x23e2 003714 bpatch patch07_6 ,mem_patch07 
-0x23e3 003715 call lpm_set_mult 
-0x23e4 003716 call supervision_update 
-0x23e5 003717 branch slave_disconnect ,positive 
-0x23e6 003718 call check_disconnect_timeout 
-0x23e7 003719 nbranch slave_disconnect ,user 
-0x23e8 003720 call check_attempt 
-0x23e9 003721 nbranch slave_loop ,blank 
-0x23ea 003722 rtn 
-:      003724 slave_disconnect:
-0x23eb 003725 bpatch patch07_7 ,mem_patch07 
-0x23ec 003726 jam 0 ,mem_tester_emulate 
-0x23ed 003727 jam 0 ,mem_debug_config 
-0x23ee 003728 call quit_connection 
-0x23ef 003729 set0 mark_testmode ,mark 
-0x23f0 003730 call test_enable_white 
-0x23f1 003731 fetch 1 ,mem_state 
-0x23f2 003732 rtn 
-:      003735 role_switch_slave:
-0x23f3 003736 bpatch patch08_0 ,mem_patch08 
-0x23f4 003737 call role_switch_check 
-0x23f5 003738 nrtn user 
-0x23f6 003739 copy am_addr ,temp 
-0x23f7 003740 call get_free_amaddr 
-0x23f8 003741 store 1 ,mem_fhs_am_addr 
-0x23f9 003742 copy temp ,am_addr 
-0x23fa 003743 jam param_newconnto ,mem_newconnto_counter 
-:      003744 roles_sendfhs_loop:
-0x23fb 003745 bpatch patch08_1 ,mem_patch08 
-0x23fc 003746 call rf_setup_time_master_slot 
-0x23fd 003747 force type_fhs ,type 
-0x23fe 003748 call slave_send_access 
-0x23ff 003749 deposit clkn_bt 
-0x2400 003750 store 4 ,mem_clkn_bt 
-0x2401 003751 call transmit_packet 
-0x2402 003752 call rf_setup_time_slave_slot 
-0x2403 003753 enable user3 
-0x2404 003754 call slave_receive_access 
-0x2405 003755 branch roles_got_fhs_reply ,sync 
-0x2406 003756 call shutdown_radio 
-0x2407 003757 call new_conn_timeout 
-0x2408 003758 nbranch roles_sendfhs_loop ,blank 
-0x2409 003759 rtnmark0 mark_accept_switch 
-0x240a 003760 jam lmp_slot_offset ,mem_lmo_opcode2 
-0x240b 003761 set1 mark_switch_initiated ,mark 
-0x240c 003762 rtn 
-:      003763 roles_got_fhs_reply:
-0x240d 003764 enable clknt 
-0x240e 003765 call prepare_newconn 
-0x240f 003766 call afh_clear 
-:      003767 roles_newconn_loop:
-0x2410 003768 bpatch patch08_2 ,mem_patch08 
-0x2411 003769 call master_newconn_once 
-0x2412 003770 branch roles_newconn_responded ,sync 
-0x2413 003771 call new_conn_timeout 
-0x2414 003772 nbranch roles_newconn_loop ,blank 
-0x2415 003773 disable clknt 
-0x2416 003774 deposit clke_bt 
-0x2417 003775 store 4 ,mem_next_btclk 
-0x2418 003776 rtn 
-:      003777 roles_newconn_responded:
-0x2419 003778 enable master 
-0x241a 003779 bmark0 mark_accept_switch ,roles_newconn_nolmp 
-0x241b 003780 set0 mark_accept_switch ,mark 
-0x241c 003781 jam lmp_accepted ,mem_lmo_opcode2 
-0x241d 003782 jam lmp_host_connection_req ,mem_lmi_opcode2 
-0x241e 003783 call tid_set_reply 
-:      003784 roles_newconn_nolmp:
-0x241f 003785 deposit am_addr 
-0x2420 003786 store 1 ,mem_amaddr 
-0x2421 003787 force 0 ,pdata 
-0x2422 003788 store 6 ,mem_clk_offset 
-0x2423 003789 fetch 1 ,mem_mode 
-0x2424 003790 set1 mode_master ,pdata 
-0x2425 003791 store 1 ,mem_mode 
-0x2426 003792 call supervision_flush 
-0x2427 003793 disable master 
-0x2428 003794 enable user 
-0x2429 003795 rtn 
-:      003799 init_rx_packet_flags:
-0x242a 003800 bpatch patch08_3 ,mem_patch08 
-0x242b 003801 disable match 
-0x242c 003802 set0 mark_loopback ,mark 
-0x242d 003803 set0 mark_am_addr_broadcast ,mark 
-0x242e 003804 set0 mark_longpacket ,mark 
-0x242f 003805 set0 mark_old_packet ,mark 
-0x2430 003806 fetch 1 ,mem_arq 
-0x2431 003807 set0 arqnx ,pdata 
-0x2432 003808 set1 flowx ,pdata 
-0x2433 003809 store 1 ,mem_arq 
-0x2434 003810 rtn 
-:      003812 prepare_newconn:
-0x2435 003813 bpatch patch08_4 ,mem_patch08 
-0x2436 003814 jam param_newconnto ,mem_newconnto_counter 
-0x2437 003815 jam param_newconn_arq ,mem_arq 
-0x2438 003816 fetch 2 ,mem_rx_window_init 
-0x2439 003817 store 2 ,mem_rx_window 
-0x243a 003818 deposit clkn_bt 
-0x243b 003819 store 4 ,mem_next_btclk 
-0x243c 003820 rtn clknt 
-0x243d 003821 deposit clke_bt 
-0x243e 003822 store 4 ,mem_next_btclk 
-0x243f 003823 rtn 
-:      003825 newconn_init:
-0x2440 003826 bpatch patch08_5 ,mem_patch08 
-0x2441 003827 call init_lmp_reinit 
-0x2442 003828 call new_conn_handle 
-0x2443 003829 store 1 ,mem_conn_handle 
-0x2444 003830 setarg 0 
-0x2445 003831 store 2 ,mem_l2cap_rxbuff1_len 
-0x2446 003832 setarg param_supervision_to 
-0x2447 003833 store 2 ,mem_supervision_to 
-0x2448 003834 fetch 1 ,mem_state 
-0x2449 003835 set1 state_inconn ,pdata 
-0x244a 003836 store 1 ,mem_state 
-0x244b 003837 jam 0 ,mem_op 
-0x244c 003838 jam 0 ,mem_state_map 
-0x244d 003839 jam 0 ,mem_lpm_current_mult 
-0x244e 003840 branch supervision_flush 
-:      003843 clear_linkkey:
-0x244f 003844 bpatch patch08_6 ,mem_patch08 
-0x2450 003845 force 0 ,pdata 
-0x2451 003846 store 8 ,mem_link_key 
-0x2452 003847 istore 8 ,contw 
-0x2453 003848 call clear_linkstate 
-0x2454 003849 branch context_traverse_linkkey 
-:      003851 new_conn_timeout:
-0x2455 003852 fetch 1 ,mem_newconnto_counter 
-0x2456 003853 increase -1 ,pdata 
-0x2457 003854 store 1 ,mem_newconnto_counter 
-0x2458 003855 rtn 
-:      003857 new_conn_handle:
-0x2459 003858 fetch 1 ,mem_handle_num 
-0x245a 003859 increase 1 ,pdata 
-0x245b 003860 store 1 ,mem_handle_num 
-0x245c 003861 rtn 
-:      003864 quit_connection:
-0x245d 003865 bpatch patch08_7 ,mem_patch08 
-0x245e 003866 fetch 1 ,mem_hci_cmd 
-0x245f 003867 beq hci_cmd_remote_name_req ,quit_connection_name 
-0x2460 003868 fetch 1 ,mem_lmp_to_send 
-0x2461 003869 bne lmp_name_req ,quit_connection_cont 
-:      003870 quit_connection_name:
-0x2462 003871 call cmd_check_plap 
-0x2463 003872 nbranch quit_connection_cont ,zero 
-0x2464 003873 call master_name_error 
-0x2465 003874 jam 0 ,mem_hci_cmd 
-:      003875 quit_connection_cont:
-0x2466 003876 bpatch patch09_0 ,mem_patch09 
-0x2467 003877 call app_disconn_reason_collect_bt 
-0x2468 003878 call sniff_exit 
-0x2469 003879 jam bt_evt_bb_disconnected ,mem_fifo_temp 
-0x246a 003880 call ui_ipc_send_event 
-0x246b 003881 call init_lmp_work 
-0x246c 003882 call l2cap_init_work 
-0x246d 003883 call sp_initialize 
-0x246e 003884 fetch 1 ,mem_state 
-0x246f 003885 set0 state_inconn 
-0x2470 003886 store 1 ,mem_state 
-0x2471 003887 jam 0 ,memui_reconnect_mode 
-0x2472 003889 fetch 1 ,mem_state_map 
-0x2473 003890 compare 0x0 ,pdata ,0xc0 
-0x2474 003891 branch quit_connection_not_clear_mark ,true 
-0x2475 003892 set0 mark_rxbuf_inuse ,mark 
-:      003893 quit_connection_not_clear_mark:
-0x2476 003894 fetch 1 ,mem_arq 
-0x2477 003895 bbit0 wack ,quit_connection_not_clear_tx 
-:      003896 quit_connection_not_clear_tx:
-0x2478 003897 fetch 1 ,mem_op 
-0x2479 003898 rtnbit0 op_txl2cap 
-0x247a 003899 set0 mark_tx_l2cap ,mark 
-0x247b 003900 rtn 
-:      003902 slave_newconn_once:
-0x247c 003903 bpatch patch09_1 ,mem_patch09 
-0x247d 003904 fetch 1 ,extm_newconn_am_addr 
-0x247e 003905 rtn blank 
-0x247f 003906 icopy am_addr 
-0x2480 003907 call slave_conn_recv_packet 
-0x2481 003908 nrtn match 
-0x2482 003909 force type_null ,type 
-0x2483 003910 call slave_conn_send_packet 
-0x2484 003911 deposit am_addr 
-0x2485 003912 store 1 ,mem_amaddr 
-0x2486 003913 force 0 ,pdata 
-0x2487 003914 store 1 ,extm_newconn_am_addr 
-0x2488 003915 rtn 
-:      003921 prepare_tx:
-0x2489 003922 bpatch patch09_2 ,mem_patch09 
-0x248a 003923 fetch 1 ,mem_state 
-0x248b 003924 bbit0 state_insco ,prepare_tx_not_sco 
-0x248c 003925 force type_hv3 ,type 
-0x248d 003926 bmark0 mark_esco ,prepare_tx_not_esco 
-0x248e 003927 call check_esco_amaddr 
-0x248f 003928 nbranch prepare_tx_not_sco ,true 
-0x2490 003929 branch prepare_tx_not_sco ,attempt 
-0x2491 003930 call set_wait_ack 
-0x2492 003931 setarg 2 
-0x2493 003932 store 2 ,mem_retransmission_cnt 
-0x2494 003933 rtn 
-:      003934 prepare_tx_not_esco:
-0x2495 003935 nrtn attempt 
-:      003936 prepare_tx_not_sco:
-0x2496 003937 bpatch patch09_3 ,mem_patch09 
-0x2497 003938 call context_check_all_wack 
-0x2498 003939 nbranch prepare_tx_no_retransmit ,zero 
-0x2499 003940 fetch 1 ,mem_arq 
-0x249a 003941 bbit0 wack ,prepare_tx_pollnull 
-:      003942 prepare_tx_retransmit:
-0x249b 003943 bmark1 mark_loopback ,prepare_tx_loopback 
-0x249c 003944 fetch 1 ,mem_debug_config 
-0x249d 003945 bbit1 debug_tx_pattern ,prepare_tx_txpat 
-0x249e 003946 fetch 2 ,mem_retransmission_cnt 
-0x249f 003947 increase -1 ,pdata 
-0x24a0 003948 store 2 ,mem_retransmission_cnt 
-0x24a1 003949 branch prepare_tx_nomore_retransmit ,blank 
-0x24a2 003950 fetch 1 ,mem_last_type 
-0x24a3 003951 iforce type 
-0x24a4 003952 rtn 
-:      003954 prepare_tx_nomore_retransmit:
-0x24a5 003955 bpatch patch09_4 ,mem_patch09 
-0x24a6 003956 call clear_got_tx 
-:      003957 prepare_tx_no_retransmit:
-0x24a7 003958 call check_esco_amaddr 
-0x24a8 003959 branch prepare_tx_pollnull ,true 
-0x24a9 003960 call send_lmp 
-0x24aa 003961 branch prepare_tx_sendlmp ,user 
-0x24ab 003962 fetch 1 ,mem_op 
-0x24ac 003963 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
-0x24ad 003964 bmark1 mark_loopback ,prepare_tx_loopback 
-0x24ae 003965 fetch 1 ,mem_debug_config 
-0x24af 003966 bbit1 debug_tx_pattern ,prepare_tx_txpat 
-:      003967 prepare_tx_pollnull:
-0x24b0 003968 force type_poll ,type 
-0x24b1 003969 rtn master 
-0x24b2 003970 force type_null ,type 
-0x24b3 003971 rtn 
-:      003972 prepare_tx_loopback:
-0x24b4 003973 bpatch patch09_5 ,mem_patch09 
-0x24b5 003974 fetch 1 ,mem_rx_type 
-0x24b6 003975 iforce type 
-0x24b7 003976 rtnne 1 
-0x24b8 003977 force type_null ,type 
-0x24b9 003978 rtn 
-:      003979 prepare_tx_txpat:
-0x24ba 003980 fetch 1 ,test_mode_packet_type 
-0x24bb 003981 and pdata ,0xf ,type 
-0x24bc 003982 set1 mark_loopback ,mark 
-0x24bd 003983 rtn 
-:      003984 prepare_tx_sendlmp:
-0x24be 003985 force type_lmp ,type 
-0x24bf 003986 branch set_wait_ack 
-:      003987 prepare_tx_sendl2cap:
-0x24c0 003988 call tx_l2cap_type 
-:      003990 set_wait_ack:
-0x24c1 003991 bpatch patch09_6 ,mem_patch09 
-0x24c2 003992 fetcht 1 ,mem_arq 
-0x24c3 003993 set1 wack ,temp 
-0x24c4 003994 storet 1 ,mem_arq 
-0x24c5 003995 deposit type 
-0x24c6 003996 store 1 ,mem_last_type 
-0x24c7 003997 setarg 0xffff 
-0x24c8 003998 store 2 ,mem_retransmission_cnt 
-0x24c9 003999 rtn 
-:      004001 tx_l2cap_type:
-0x24ca 004002 bpatch patch09_7 ,mem_patch09 
-0x24cb 004003 fetch 1 ,mem_state_map 
-0x24cc 004004 isolate1 smap_edr ,pdata 
-0x24cd 004005 fetch 2 ,mem_tx_len 
-0x24ce 004006 branch tx_l2cap_type_edr ,true 
-0x24cf 004007 force type_dm1 ,type 
-0x24d0 004008 sub pdata ,17 ,null 
-0x24d1 004009 rtn positive 
-0x24d2 004010 force type_dh1 ,type 
-0x24d3 004011 sub pdata ,27 ,null 
-0x24d4 004012 rtn positive 
-0x24d5 004013 force type_dm3 ,type 
-0x24d6 004014 sub pdata ,121 ,null 
-0x24d7 004015 rtn positive 
-0x24d8 004016 force type_dh3 ,type 
-0x24d9 004017 sub pdata ,183 ,null 
-0x24da 004018 rtn positive 
-0x24db 004019 force type_dm5 ,type 
-0x24dc 004020 sub pdata ,224 ,null 
-0x24dd 004021 rtn positive 
-0x24de 004022 force type_dh5 ,type 
-0x24df 004023 rtn 
-:      004024 tx_l2cap_type_edr:
-0x24e0 004025 force type_dm1 ,type 
-0x24e1 004026 sub pdata ,17 ,null 
-0x24e2 004027 rtn positive 
-0x24e3 004028 force type_dh1 ,type 
-0x24e4 004029 sub pdata ,54 ,null 
-0x24e5 004030 rtn positive 
-0x24e6 004031 force type_dm3 ,type 
-0x24e7 004032 arg 367 ,temp 
-0x24e8 004033 isub temp ,null 
-0x24e9 004034 nrtn positive 
-0x24ea 004035 force type_dm5 ,type 
-0x24eb 004036 arg 679 ,temp 
-0x24ec 004037 isub temp ,null 
-0x24ed 004038 nrtn positive 
-0x24ee 004039 force type_dh5 ,type 
-0x24ef 004040 rtn 
-:      004049 slave_receive_master_slot:
-0x24f0 004050 fetch 1 ,mem_state 
-0x24f1 004051 bbit0 state_insniff ,slave_receive_notsniff 
-0x24f2 004052 fetch 2 ,mem_tsniff 
-0x24f3 004053 branch slave_receive_notsniff ,blank 
-0x24f4 004054 nbranch slave_receive_sniff ,attempt 
-:      004055 slave_receive_notsniff:
-0x24f5 004056 call rf_setup_time_master_slot 
-:      004057 slave_receive_access:
-0x24f6 004058 add clke_bt ,1 ,bt_clk 
-:      004059 slave_receive_sniff:
-0x24f7 004060 enable swfine 
-0x24f8 004061 fetch 2 ,mem_rx_window 
-0x24f9 004062 rshift pdata ,pdata 
-0x24fa 004063 arg param_pll_setup ,temp 
-0x24fb 004064 iadd temp ,pdata 
-0x24fc 004065 call ahead_window 
-0x24fd 004066 call fetch_extm_bt_adr 
-0x24fe 004067 force 0x03 ,freq_mode 
-0x24ff 004068 call rx_radio_freq 
-0x2500 004069 call init_rx_packet_flags 
-0x2501 004070 call prep_crypt 
-0x2502 004071 bpatch patch0a_0 ,mem_patch0a 
-0x2503 004072 fetch 2 ,mem_rx_window 
-0x2504 004073 rshift pdata ,pdata 
-0x2505 004074 call ahead_window 
-0x2506 004075 call start_receiver 
-0x2507 004076 enable decode_fec0 
-0x2508 004077 fetch 2 ,mem_rx_window 
-0x2509 004078 arg param_clke_cal ,temp 
-0x250a 004079 iadd temp ,stop_watch 
-0x250b 004080 correlate null ,timeout 
-0x250c 004081 copy clke ,temp 
-0x250d 004082 storet 6 ,mem_sync_clke 
-0x250e 004083 disable decode_fec0 
-0x250f 004084 nrtn sync 
-0x2510 004085 arg param_clke_cal ,clke_rt 
-0x2511 004086 copy bt_clk ,clke_bt 
-0x2512 004087 branch lpm_adjust_clk ,wake 
-0x2513 004088 rtn 
-:      004091 slave_conn_recv_packet:
-0x2514 004092 bpatch patch0a_1 ,mem_patch0a 
-0x2515 004093 call slave_receive_master_slot 
-0x2516 004094 nbranch shutdown_radio ,sync 
-0x2517 004095 call save_rssi 
-0x2518 004096 bmark0 mark_testmode ,receive_packet 
-0x2519 004097 fetch 2 ,mem_tst_pktcnt_sync 
-0x251a 004098 increase 1 ,pdata 
-0x251b 004099 store 2 ,mem_tst_pktcnt_sync 
-:      004100 receive_packet:
-0x251c 004101 rshift bt_clk ,temp 
-0x251d 004102 or temp ,0x40 ,white_init 
-:      004103 receive_packet_whitened:
-0x251e 004104 bpatch patch0a_2 ,mem_patch0a 
-0x251f 004105 enable enable_white 
-0x2520 004106 enable enable_hec 
-0x2521 004107 enable decode_fec1 
-0x2522 004108 parse demod ,bucket ,3 
-0x2523 004109 rshift8 pwindow ,pdata 
-0x2524 004110 store 1 ,mem_temp_am_addr 
-0x2525 004111 parse demod ,bucket ,4 
-0x2526 004112 inject bucket ,7 
-0x2527 004113 copy pwindow ,pdata 
-0x2528 004114 store 1 ,mem_rx_type 
-0x2529 004115 parse demod ,bucket ,3 
-0x252a 004116 rshift8 pwindow ,pdata 
-0x252b 004117 store 1 ,mem_temp_arq 
-0x252c 004118 fetch 1 ,mem_rx_type 
-0x252d 004119 sub pdata ,3 ,null 
-0x252e 004120 branch receive_packet_noedr ,positive 
-0x252f 004121 beq 7 ,receive_packet_noedr 
-0x2530 004122 fetch 1 ,mem_state_map 
-0x2531 004123 isolate1 smap_edr ,pdata 
-0x2532 004124 setflag true ,psk ,radio_ctrl 
-:      004125 receive_packet_noedr:
-0x2533 004126 bpatch patch0a_3 ,mem_patch0a 
-0x2534 004127 parse demod ,bucket ,8 
-0x2535 004128 disable decode_fec1 
-0x2536 004129 disable enable_hec 
-0x2537 004130 branch error_header ,crc_failed 
-0x2538 004131 bmark0 mark_testmode ,receive_packet_amchk 
-0x2539 004132 fetch 2 ,mem_tst_pktcnt_hec 
-0x253a 004133 increase 1 ,pdata 
-0x253b 004134 store 2 ,mem_tst_pktcnt_hec 
-:      004135 receive_packet_amchk:
-0x253c 004136 bpatch patch0a_4 ,mem_patch0a 
-0x253d 004137 fetch 1 ,mem_temp_am_addr 
-0x253e 004138 compare 0 ,pdata ,0x07 
-0x253f 004139 setflag true ,mark_am_addr_broadcast ,mark 
-0x2540 004140 branch am_addr_ok ,true 
-0x2541 004141 icompare 0x07 ,am_addr 
-0x2542 004142 branch am_addr_match ,true 
-0x2543 004143 bmark0 mark_esco ,end_of_packet 
-0x2544 004144 fetcht 1 ,mem_saved_amaddr 
-0x2545 004145 icompare 0x7 ,temp 
-0x2546 004146 nbranch end_of_packet ,true 
-0x2547 004147 fetch 1 ,mem_arq 
-0x2548 004148 set0 arqnx ,pdata 
-0x2549 004149 set1 flowx ,pdata 
-0x254a 004150 store 1 ,mem_arq 
-:      004151 am_addr_match:
-0x254b 004152 enable match 
-:      004153 am_addr_ok:
-0x254c 004154 bpatch patch0a_5 ,mem_patch0a 
-0x254d 004155 fetch 1 ,mem_rx_type 
-0x254e 004156 icopy type 
-0x254f 004157 bmark1 mark_am_addr_broadcast ,arqn_bypass 
-0x2550 004158 fetcht 1 ,mem_temp_arq 
-0x2551 004159 fetch 1 ,mem_arq 
-0x2552 004160 set0 flow ,pdata 
-0x2553 004161 isolate1 flow ,temp 
-0x2554 004162 setflag true ,flow ,pdata 
-0x2555 004163 isolate1 arqn ,temp 
-0x2556 004164 setflag true ,arqn ,pdata 
-0x2557 004165 store 1 ,mem_arq 
-0x2558 004166 isolate0 arqn ,temp 
-0x2559 004167 branch arqn_bypass ,true 
-0x255a 004168 call clear_got_tx 
-:      004169 arqn_bypass:
-0x255b 004170 bpatch patch0a_6 ,mem_patch0a 
-0x255c 004171 arg 0 ,temp 
-0x255d 004172 call reserve_slot 
-0x255e 004173 and type ,0xf ,pdata 
-0x255f 004174 beq type_poll ,process_poll 
-0x2560 004175 beq type_null ,end_of_packet 
-0x2561 004176 beq type_fhs ,process_fhs 
-0x2562 004177 fetcht 1 ,mem_temp_arq 
-0x2563 004178 fetch 1 ,mem_arq 
-0x2564 004179 icompare 0x04 ,temp 
-0x2565 004180 nbranch rx_type_dispatch ,true 
-0x2566 004181 bmark0 mark_am_addr_broadcast ,failed_seqn 
-0x2567 004182 bbit0 bcast1 ,rx_type_dispatch 
-:      004183 failed_seqn:
-0x2568 004184 set1 mark_old_packet ,mark 
-:      004185 rx_type_dispatch:
-0x2569 004186 bpatch patch0a_7 ,mem_patch0a 
-0x256a 004187 deposit type 
-0x256b 004188 beq type_dm1 ,process_dm1 
-0x256c 004189 beq type_dh1 ,process_dh1 
-0x256d 004190 beq type_hv3 ,process_hev 
-0x256e 004191 beq type_3dh1 ,process_3dh1 
-0x256f 004192 arg 4 ,temp 
-0x2570 004193 call reserve_slot 
-0x2571 004194 beq type_dm3 ,process_dm3 
-0x2572 004195 beq type_dh3 ,process_dh3 
-0x2573 004196 arg 8 ,temp 
-0x2574 004197 call reserve_slot 
-0x2575 004198 beq type_dm5 ,process_dm5 
-0x2576 004199 beq type_dh5 ,process_dh5 
-0x2577 004200 rtn 
-:      004203 process_hev:
-0x2578 004204 bpatch patch0b_0 ,mem_patch0b 
-0x2579 004205 enable decode_fec0 
-0x257a 004206 enable enable_crc 
-0x257b 004207 enable encrypt 
-0x257c 004208 arg mem_sco_ibuf ,contw 
-0x257d 004209 force 30 ,loopcnt 
-:      004210 process_hev_loop:
-0x257e 004211 parse demod ,bucket ,8 
-0x257f 004212 rshift3 pwindow ,pdata 
-0x2580 004213 istore 1 ,contw 
-0x2581 004214 loop process_hev_loop 
-0x2582 004215 bmark0 mark_esco ,end_of_packet 
-0x2583 004216 parse demod ,bucket ,16 
-0x2584 004217 nsetflag crc_failed ,mark_esco_rxok ,mark 
-0x2585 004218 branch error_payload ,crc_failed 
-0x2586 004219 branch ack_payload 
-:      004222 process_poll:
-0x2587 004223 branch end_of_packet 
-:      004225 process_dm3:
-:      004226 process_dm5:
-0x2588 004227 set1 mark_longpacket ,mark 
-:      004228 process_dm1:
-0x2589 004229 enable decode_fec2 
-0x258a 004230 branch process_dmh 
-:      004232 process_dh3:
-:      004233 process_dh5:
-0x258b 004234 set1 mark_longpacket ,mark 
-:      004235 process_3dh1:
-0x258c 004236 set1 psk3m ,radio_ctrl 
-:      004237 process_dh1:
-0x258d 004238 enable decode_fec0 
-:      004239 process_dmh:
-0x258e 004240 bpatch patch0b_1 ,mem_patch0b 
-0x258f 004241 bmark1 mark_rxbuf_inuse ,end_of_packet 
-0x2590 004242 isolate0 psk ,radio_ctrl 
-0x2591 004243 branch process_dmh_noedr ,true 
-0x2592 004244 disable enable_white 
-0x2593 004245 enable decode_fec0 
-0x2594 004246 disable decode_fec2 
-0x2595 004247 add clkn_bt ,2 ,timeup 
-0x2596 004248 correlate clkn_bt ,meet 
-0x2597 004249 nbranch error_payload ,sync 
-0x2598 004250 set1 mark_longpacket ,mark 
-0x2599 004251 enable enable_white 
-:      004252 process_dmh_noedr:
-0x259a 004253 bpatch patch0b_2 ,mem_patch0b 
-0x259b 004254 enable encrypt 
-0x259c 004255 enable enable_crc 
-0x259d 004256 parse demod ,bucket ,3 
-0x259e 004257 rshift8 pwindow ,pdata 
-0x259f 004258 store 1 ,mem_lch_code 
-0x25a0 004259 parse demod ,bucket ,5 
-0x25a1 004260 bmark1 mark_longpacket ,process_dmh_long 
-0x25a2 004261 rshift3 pwindow ,loopcnt 
-0x25a3 004262 rshift3 loopcnt ,loopcnt 
-0x25a4 004263 branch process_dmh_common 
-:      004264 process_dmh_long:
-0x25a5 004265 parse demod ,bucket ,5 
-0x25a6 004266 rshift pwindow ,loopcnt 
-0x25a7 004267 parse demod ,bucket ,3 
-:      004268 process_dmh_common:
-0x25a8 004269 bpatch patch0b_3 ,mem_patch0b 
-0x25a9 004270 deposit loopcnt 
-0x25aa 004271 store 2 ,mem_len 
-0x25ab 004272 branch process_dmh_data_end ,blank 
-0x25ac 004273 isub mask3ff ,null 
-0x25ad 004274 branch error_payload ,positive 
-0x25ae 004275 bpatch patch0b_4 ,mem_patch0b 
-0x25af 004276 set0 mark_fhs_eir ,mark 
-0x25b0 004277 fetch 1 ,mem_lch_code 
-0x25b1 004278 and_into 0x03 ,pdata 
-0x25b2 004279 arg mem_rxbuf ,contw 
-0x25b3 004280 beq llid_lmp ,process_lmp 
-0x25b4 004281 bmark1 mark_testmode ,process_dmh_data 
-0x25b5 004283 fetch 1 ,mem_lch_code 
-0x25b6 004284 and_into 0x03 ,pdata 
-0x25b7 004285 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
-0x25b8 004286 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
-0x25b9 004287 branch error_payload 
-:      004289 process_lmp:
-0x25ba 004290 fetch 2 ,mem_len 
-0x25bb 004291 sub pdata ,0x70 ,null 
-0x25bc 004292 nbranch error_payload ,positive 
-0x25bd 004293 bmark1 mark_old_packet ,ack_payload 
-0x25be 004294 branch process_dmh_data 
-:      004297 process_dmh_data_l2cap_start_pkt:
-0x25bf 004298 bpatch patch0b_5 ,mem_patch0b 
-0x25c0 004299 bmark1 mark_old_packet ,ack_payload 
-0x25c1 004300 fetch 2 ,mem_len 
-0x25c2 004301 arg 0x2e0 ,temp 
-0x25c3 004302 isub temp ,null 
-0x25c4 004303 branch error_payload ,positive 
-0x25c5 004304 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x25c6 004305 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
-0x25c7 004306 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
-0x25c8 004307 branch end_of_packet 
-:      004308 process_dmh_data_into_buff1:
-0x25c9 004309 jam 1 ,mem_l2cap_rxbuff_new 
-0x25ca 004310 fetch 2 ,mem_l2cap_rxbuff1_len 
-0x25cb 004311 bne 0 ,end_of_packet 
-0x25cc 004312 arg mem_l2cap_rxbuff1 ,contw 
-0x25cd 004313 branch process_dmh_data 
-:      004314 process_dmh_data_into_buff2:
-0x25ce 004315 jam 2 ,mem_l2cap_rxbuff_new 
-0x25cf 004316 fetch 2 ,mem_l2cap_rxbuff2_len 
-0x25d0 004317 bne 0 ,end_of_packet 
-0x25d1 004318 arg mem_l2cap_rxbuff2 ,contw 
-0x25d2 004319 branch process_dmh_data 
-:      004321 process_dmh_data_l2cap_continue_pkt:
-0x25d3 004322 bpatch patch0b_6 ,mem_patch0b 
-0x25d4 004323 bmark1 mark_old_packet ,ack_payload 
-0x25d5 004324 fetch 2 ,mem_len 
-0x25d6 004325 arg 0x2e0 ,temp 
-0x25d7 004326 isub temp ,null 
-0x25d8 004327 branch error_payload ,positive 
-0x25d9 004328 fetch 1 ,mem_l2cap_rxbuff_new 
-0x25da 004329 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
-0x25db 004330 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
-0x25dc 004331 branch end_of_packet 
-:      004332 process_dmh_data_l2cap_continue_pkt1:
-0x25dd 004333 arg mem_l2cap_rxbuff1 ,contw 
-0x25de 004334 fetch 2 ,mem_l2cap_rxbuff1_len 
-0x25df 004335 iadd contw ,contw 
-0x25e0 004336 branch process_dmh_data 
-:      004337 process_dmh_data_l2cap_continue_pkt2:
-0x25e1 004338 arg mem_l2cap_rxbuff2 ,contw 
-0x25e2 004339 fetch 2 ,mem_l2cap_rxbuff2_len 
-0x25e3 004340 iadd contw ,contw 
-:      004341 process_dmh_data:
-0x25e4 004342 parse demod ,bucket ,8 
-0x25e5 004343 rshift3 pwindow ,pdata 
-0x25e6 004344 istore 1 ,contw 
-0x25e7 004345 loop process_dmh_data 
-:      004346 process_dmh_data_end:
-0x25e8 004347 bpatch patch0b_7 ,mem_patch0b 
-0x25e9 004348 parse demod ,bucket ,16 
-0x25ea 004349 branch error_payload_crc ,crc_failed 
-0x25eb 004350 fetch 1 ,mem_l2cap_flow_ctrl_flag 
-0x25ec 004351 beq l2cap_flow_ctrl_enable ,end_of_packet 
-0x25ed 004352 bmark1 mark_testmode ,process_dmh_cont 
-0x25ee 004353 bmark1 mark_old_packet ,redundant_payload 
-0x25ef 004354 fetch 1 ,mem_lch_code 
-0x25f0 004355 compare 3 ,pdata ,3 
-0x25f1 004356 branch process_dmh_cont ,true 
-0x25f2 004357 fetch 2 ,mem_len 
-0x25f3 004358 branch process_dmh_cont ,blank 
-0x25f4 004359 bpatch patch0c_0 ,mem_patch0c 
-0x25f5 004360 fetch 1 ,mem_l2cap_rxbuff_new 
-0x25f6 004361 beq 1 ,process_l2cap_pass_crc_buff1 
-0x25f7 004362 beq 2 ,process_l2cap_pass_crc_buff2 
-0x25f8 004363 branch assert 
-:      004364 process_l2cap_pass_crc_buff1:
-0x25f9 004365 fetch 2 ,mem_l2cap_rxbuff1_len 
-0x25fa 004366 fetcht 2 ,mem_len 
-0x25fb 004367 iadd temp ,pdata 
-0x25fc 004368 store 2 ,mem_l2cap_rxbuff1_len 
-0x25fd 004369 beq 0 ,assert 
-0x25fe 004370 fetcht 2 ,mem_l2cap_rxbuff1 
-0x25ff 004371 increase 4 ,temp 
-0x2600 004372 isub temp ,null 
-0x2601 004373 call l2cap_buff1_inuse ,zero 
-0x2602 004374 branch process_dmh_cont 
-:      004375 process_l2cap_pass_crc_buff2:
-0x2603 004376 fetch 2 ,mem_l2cap_rxbuff2_len 
-0x2604 004377 fetcht 2 ,mem_len 
-0x2605 004378 iadd temp ,pdata 
-0x2606 004379 store 2 ,mem_l2cap_rxbuff2_len 
-0x2607 004380 beq 0 ,assert 
-0x2608 004381 fetcht 2 ,mem_l2cap_rxbuff2 
-0x2609 004382 add temp ,4 ,temp 
-0x260a 004383 isub temp ,null 
-0x260b 004384 call l2cap_buff2_inuse ,zero 
-0x260c 004385 branch process_dmh_cont 
-:      004386 process_dmh_cont:
-0x260d 004387 bpatch patch0c_1 ,mem_patch0c 
-0x260e 004388 fetcht 1 ,mem_state_map 
-0x260f 004389 fetch 1 ,mem_lch_code 
-0x2610 004390 compare 3 ,pdata ,0x03 
-0x2611 004391 setflag true ,smap_rxlmp ,temp 
-0x2612 004392 nsetflag true ,smap_rxl2cap ,temp 
-0x2613 004393 storet 1 ,mem_state_map 
-0x2614 004394 nbranch process_dmh_cont_rxbuf_not_use ,true 
-0x2615 004395 set1 mark_rxbuf_inuse ,mark 
-:      004396 process_dmh_cont_rxbuf_not_use:
-0x2616 004397 bmark0 mark_testmode ,ack_payload 
-0x2617 004398 isolate1 smap_rxlmp ,temp 
-0x2618 004399 branch ack_payload ,true 
-0x2619 004400 fetch 2 ,mem_tst_pktcnt_crc 
-0x261a 004401 increase 1 ,pdata 
-0x261b 004402 store 2 ,mem_tst_pktcnt_crc 
-0x261c 004403 set1 mark_loopback ,mark 
-0x261d 004404 set0 smap_rxl2cap ,temp 
-0x261e 004405 set0 mark_rxbuf_inuse ,mark 
-0x261f 004406 storet 1 ,mem_state_map 
-:      004407 ack_payload:
-0x2620 004408 bpatch patch0c_2 ,mem_patch0c 
-0x2621 004409 fetcht 1 ,mem_temp_arq 
-0x2622 004410 fetch 1 ,mem_arq 
-0x2623 004411 set1 arqnx ,pdata 
-0x2624 004412 isolate1 seqn ,temp 
-0x2625 004413 setflag true ,seqn ,pdata 
-0x2626 004414 isolate1 mark_am_addr_broadcast ,mark 
-0x2627 004415 setflag true ,bcast1 ,pdata 
-0x2628 004416 store 1 ,mem_arq 
-0x2629 004417 fetch 2 ,mem_len 
-0x262a 004418 nbranch end_of_packet ,blank 
-0x262b 004419 fetch 1 ,mem_state_map 
-0x262c 004420 set0 smap_rxl2cap ,pdata 
-0x262d 004421 store 1 ,mem_state_map 
-0x262e 004422 fetch 1 ,mem_lch_code 
-0x262f 004423 compare 0x01 ,pdata ,0x07 
-0x2630 004425 branch end_of_packet 
-:      004427 error_header:
-0x2631 004428 bpatch patch0c_3 ,mem_patch0c 
-0x2632 004429 disable match 
-0x2633 004430 fetch 2 ,mem_rx_hec_err 
-0x2634 004431 increase 1 ,pdata 
-0x2635 004432 store 2 ,mem_rx_hec_err 
-0x2636 004433 branch end_of_packet 
-:      004434 error_payload_crc:
-0x2637 004435 fetch 2 ,mem_rx_crc_err 
-0x2638 004436 increase 1 ,pdata 
-0x2639 004437 store 2 ,mem_rx_crc_err 
-0x263a 004438 call discard_pkt 
-0x263b 004439 bmark0 mark_testmode ,error_payload 
-0x263c 004440 set1 mark_loopback ,mark 
-:      004441 error_payload:
-0x263d 004442 branch end_of_packet 
-:      004444 discard_pkt:
-0x263e 004445 bpatch patch0c_4 ,mem_patch0c 
-0x263f 004446 fetch 1 ,mem_lch_code 
-0x2640 004447 compare 3 ,pdata ,0x03 
-0x2641 004448 nbranch discard_pkt_l2cap ,true 
-:      004449 discard_pkt_lmp:
-0x2642 004450 fetcht 1 ,mem_state_map 
-0x2643 004451 set0 smap_rxlmp ,temp 
-0x2644 004452 storet 1 ,mem_state_map 
-0x2645 004453 rtn 
-:      004454 discard_pkt_l2cap:
-0x2646 004457 fetcht 1 ,mem_state_map 
-0x2647 004458 set0 smap_rxl2cap ,temp 
-0x2648 004459 storet 1 ,mem_state_map 
-0x2649 004460 branch h4_send_acl_trigger_clear 
-:      004462 redundant_payload:
-0x264a 004463 fetch 1 ,mem_arq 
-0x264b 004464 set1 arqnx ,pdata 
-0x264c 004465 store 1 ,mem_arq 
-:      004466 end_of_packet:
-0x264d 004467 bpatch patch0c_5 ,mem_patch0c 
-0x264e 004468 disable encode_fec0 
-0x264f 004469 disable encode_fec2 
-0x2650 004470 disable decode_fec0 
-0x2651 004471 disable decode_fec2 
-0x2652 004472 disable enable_crc 
-0x2653 004473 disable encrypt 
-0x2654 004474 disable enable_white 
-0x2655 004475 branch shutdown_radio ,is_rx 
-0x2656 004476 until null ,tx_clear 
-0x2657 004477 nop 100 
-0x2658 004478 branch shutdown_radio 
-:      004480 process_fhs:
-0x2659 004481 bpatch patch0c_6 ,mem_patch0c 
-0x265a 004482 enable enable_crc 
-0x265b 004483 enable decode_fec2 
-0x265c 004484 parse demod ,bucket ,72 
-0x265d 004485 isolate1 58 ,pdata 
-0x265e 004486 setflag true ,mark_fhs_eir ,mark 
-0x265f 004487 copy bt_adr ,temp 
-0x2660 004488 ialigned bt_adr 
-0x2661 004489 ialigned fhs0 
-0x2662 004490 pulse recalc 
-0x2663 004491 setsect 2 ,0xfffff 
-0x2664 004492 setsect 3 ,0x0ffff 
-0x2665 004493 nop 32 
-0x2666 004494 iverify fhs_parity 
-0x2667 004495 deposit lap 
-0x2668 004496 store 3 ,extm_lap 
-0x2669 004497 deposit uap 
-0x266a 004498 store 1 ,extm_uap 
-0x266b 004499 copy temp ,bt_adr 
-0x266c 004500 branch fhs_parity_ok ,true 
-0x266d 004501 branch error_payload 
-:      004502 fhs_parity_ok:
-0x266e 004503 bpatch patch0c_7 ,mem_patch0c 
-0x266f 004504 parse demod ,bucket ,72 
-0x2670 004505 ialigned fhs1 
-0x2671 004506 ialigned am_addr 
-0x2672 004507 ialigned nap 
-0x2673 004508 ialigned regb 
-0x2674 004509 force 0 ,pdata 
-0x2675 004510 parse demod ,bucket ,16 
-0x2676 004511 branch error_payload ,crc_failed 
-0x2677 004512 setarg 0x0ffffffc 
-0x2678 004513 iand regb ,pdata 
-0x2679 004514 store 4 ,mem_clke_bt 
-0x267a 004515 deposit fhs_class 
-0x267b 004516 store 3 ,extm_class 
-0x267c 004517 deposit fhs_misc 
-0x267d 004518 store 1 ,extm_fhs_misc 
-0x267e 004519 deposit am_addr 
-0x267f 004520 store 1 ,extm_newconn_am_addr 
-0x2680 004521 deposit nap 
-0x2681 004522 store 2 ,extm_nap 
-0x2682 004523 deposit bt_clk 
-0x2683 004524 inject rxf ,32 
-0x2684 004525 compare type_fhs ,type ,0x0f 
-0x2685 004526 setflag true ,mark_fhs_already_good ,mark 
-0x2686 004527 branch end_of_packet 
-:      004529 clear_got_tx:
-0x2687 004530 bpatch patch0d_0 ,mem_patch0d 
-0x2688 004531 fetch 1 ,mem_arq 
-0x2689 004532 rtnbit0 wack 
-0x268a 004533 set0 wack ,pdata 
-0x268b 004534 setflip seqnx ,pdata 
-0x268c 004535 store 1 ,mem_arq 
-0x268d 004536 fetch 1 ,mem_last_type 
-0x268e 004537 beq type_lmp ,clear_got_txlmp 
-0x268f 004538 rtneq type_hv3 
-0x2690 004539 fetch 1 ,mem_op 
-0x2691 004540 rtnbit0 op_txl2cap ,pdata 
-0x2692 004541 set0 op_txl2cap ,pdata 
-0x2693 004542 set1 op_pkt_comp ,pdata 
-0x2694 004543 store 1 ,mem_op 
-0x2695 004544 set0 mark_tx_l2cap ,mark 
-0x2696 004545 fetch 2 ,mem_l2cap_tx_multi_offset 
-0x2697 004546 nrtn blank 
-0x2698 004547 fetch 1 ,mem_op 
-0x2699 004548 set0 op_pkt_comp ,pdata 
-0x269a 004549 store 1 ,mem_op 
-0x269b 004550 branch l2cap_malloc_free 
-:      004552 clear_got_txlmp:
-0x269c 004553 bpatch patch0d_1 ,mem_patch0d 
-0x269d 004554 fetch 1 ,mem_lmo_header_opcode 
-0x269e 004555 rshift pdata ,pdata 
-0x269f 004556 beq lmp_start_encryption_req ,start_encryption 
-0x26a0 004557 beq lmp_stop_encryption_req ,stop_encryption 
-0x26a1 004558 beq lmp_unsniff_req ,sniff_exit 
-0x26a2 004559 beq lmp_escape ,clear_lmp_escape 
-0x26a3 004560 rtnne lmp_accepted 
-0x26a4 004561 fetch 1 ,mem_lmo_payload 
-0x26a5 004562 beq lmp_sco_link_req ,sco_link_req_by_slave 
-0x26a6 004563 beq lmp_start_encryption_req ,clear_send_setup_complete 
-0x26a7 004564 rtn 
-:      004566 clear_lmp_escape:
-0x26a8 004567 fetch 1 ,mem_lmo_payload 
-0x26a9 004568 set1 7 ,pdata 
-0x26aa 004569 rtn 
-:      004570 clear_send_setup_complete:
-0x26ab 004571 rtn master 
-0x26ac 004572 fetch 1 ,mem_state 
-0x26ad 004573 rtnbit1 state_conn_comp 
-0x26ae 004574 jam lmp_setup_complete ,mem_lmo_opcode2 
-0x26af 004575 rtn 
-:      004578 sco_link_req_by_slave:
-0x26b0 004579 rtn master 
-0x26b1 004580 fetch 1 ,mem_mode 
-0x26b2 004581 isolate1 send_sco_when_slave ,pdata 
-0x26b3 004582 branch clean_mem_mode ,true 
-0x26b4 004584 rtn 
-:      004585 clean_mem_mode:
-0x26b5 004586 set0 send_sco_when_slave ,pdata 
-0x26b6 004587 store 1 ,mem_mode 
-0x26b7 004588 rtn 
-:      004590 start_encryption:
-0x26b8 004591 bpatch patch0d_2 ,mem_patch0d 
-0x26b9 004592 fetch 1 ,mem_state_map 
-0x26ba 004593 set1 smap_encryption ,pdata 
-0x26bb 004594 store 1 ,mem_state_map 
-0x26bc 004595 jam 1 ,core_encrypt 
-0x26bd 004596 fetch 1 ,mem_state 
-0x26be 004597 isolate1 state_conn_comp ,pdata 
-0x26bf 004598 rtn 
-:      004600 stop_encryption:
-0x26c0 004601 bpatch patch0d_3 ,mem_patch0d 
-0x26c1 004602 fetch 1 ,mem_state_map 
-0x26c2 004603 set0 smap_encryption ,pdata 
-0x26c3 004604 store 1 ,mem_state_map 
-0x26c4 004605 jam 0 ,core_encrypt 
-0x26c5 004606 rtn 
-:      004609 sniff_init:
-0x26c6 004610 bpatch patch0d_4 ,mem_patch0d 
-0x26c7 004611 copy clkn_bt ,pdata 
-0x26c8 004612 store 4 ,mem_lpm_delay_after_sniff 
-0x26c9 004613 add clkn_bt ,3 ,rega 
-0x26ca 004614 branch sniff_init_master ,master 
-0x26cb 004615 add clke_bt ,3 ,rega 
-:      004616 sniff_init_master:
-0x26cc 004617 fetcht 2 ,mem_tsniff 
-0x26cd 004618 deposit rega 
-0x26ce 004619 set0 27 ,pdata 
-0x26cf 004620 idiv temp 
-0x26d0 004621 fetch 2 ,mem_dsniff 
-0x26d1 004622 call wait_div_end 
-0x26d2 004623 remainder regc 
-0x26d3 004624 isub regc ,pdata 
-0x26d4 004625 branch sniff_init_nowrap ,positive 
-0x26d5 004626 iadd temp ,pdata 
-:      004627 sniff_init_nowrap:
-0x26d6 004628 iadd rega ,pdata 
-0x26d7 004629 store 4 ,mem_sniff_anchor 
-0x26d8 004630 jam switch_flag_init ,mem_switch_flag 
-0x26d9 004631 fetch 1 ,mem_state 
-0x26da 004632 set1 state_insniff ,pdata 
-0x26db 004633 store 1 ,mem_state 
-0x26dc 004634 fetch 1 ,mem_sniff_attempt 
-0x26dd 004635 store 1 ,mem_current_sniff_attempt 
-0x26de 004636 setarg 0 
-0x26df 004637 store 3 ,mem_sniff_rcv 
-0x26e0 004638 store 3 ,mem_sniff_lost 
-0x26e1 004639 store 1 ,mem_sniff_unint_lost 
-0x26e2 004640 jam bt_evt_enter_sniff ,mem_fifo_temp 
-0x26e3 004641 call ui_ipc_send_event 
-0x26e4 004642 fetch 2 ,mem_rx_window_sniff 
-0x26e5 004643 store 2 ,mem_rx_window 
-0x26e6 004644 nrtn master 
-0x26e7 004645 add am_addr ,-1 ,queue 
-0x26e8 004646 rtn 
-:      004648 sniff_exit:
-0x26e9 004649 bpatch patch0d_5 ,mem_patch0d 
-0x26ea 004650 fetch 1 ,mem_state 
-0x26eb 004651 rtnbit0 state_insniff 
-0x26ec 004652 set0 state_insniff ,pdata 
-0x26ed 004653 store 1 ,mem_state 
-0x26ee 004654 fetch 2 ,mem_rx_window_init 
-0x26ef 004655 store 2 ,mem_rx_window 
-0x26f0 004656 disable wake 
-0x26f1 004657 jam bt_evt_exit_sniff ,mem_fifo_temp 
-0x26f2 004658 branch ui_ipc_send_event 
-:      004661 check_attempt:
-0x26f3 004662 bpatch patch0d_6 ,mem_patch0d 
-0x26f4 004663 enable attempt 
-0x26f5 004664 fetch 1 ,mem_state 
-0x26f6 004665 bbit1 state_insniff ,check_attempt_sniff 
-0x26f7 004666 rtnmark1 mark_testmode 
-0x26f8 004667 fetch 1 ,mem_arq 
-0x26f9 004668 rtnbit1 wack 
-0x26fa 004669 fetch 1 ,mem_lmp_to_send 
-0x26fb 004670 nrtn blank 
-0x26fc 004671 fetch 1 ,mem_op 
-0x26fd 004672 rtnbit1 op_txl2cap 
-:      004673 check_attempt_nomore:
-0x26fe 004674 force 0 ,pdata 
-0x26ff 004675 rtn 
-:      004677 check_attempt_sniff:
-0x2700 004678 bbit0 state_insco ,check_attempt_not_sco 
-0x2701 004679 fetch 1 ,mem_current_sniff_attempt 
-0x2702 004680 beq 2 ,check_attempt_sniff_restore_sco 
-0x2703 004681 fetch 1 ,mem_arq 
-0x2704 004682 bbit1 wack ,check_attempt_notimeout 
-0x2705 004683 bmark0 mark_esco_rxok ,check_attempt_notimeout 
-:      004684 check_attempt_sniff_restore_sco:
-0x2706 004685 nbranch check_attempt_notimeout ,master 
-0x2707 004686 fetch 1 ,mem_lmp_to_send 
-0x2708 004687 nbranch check_attempt_notimeout ,blank 
-:      004688 check_attempt_sco_master:
-0x2709 004689 fetch 1 ,mem_sco_poll 
-0x270a 004690 increase -1 ,pdata 
-0x270b 004691 store 1 ,mem_sco_poll 
-0x270c 004692 nbranch check_attempt_nomore ,blank 
-0x270d 004693 jam param_sco_poll ,mem_sco_poll 
-0x270e 004694 branch check_attempt_notimeout 
-:      004701 check_attempt_not_sco:
-0x270f 004702 fetch 1 ,mem_current_sniff_attempt 
-0x2710 004703 bne 1 ,check_attempt_notimeout 
-0x2711 004704 fetch 1 ,mem_current_sniff_timeout 
-0x2712 004705 branch check_attempt_notimeout ,blank 
-0x2713 004706 increase -1 ,pdata 
-0x2714 004707 store 1 ,mem_current_sniff_timeout 
-0x2715 004708 fetch 1 ,mem_arq 
-0x2716 004709 rtnbit1 wack 
-0x2717 004710 nrtn match 
-:      004711 check_attempt_notimeout:
-0x2718 004712 fetch 1 ,mem_current_sniff_attempt 
-0x2719 004713 increase -1 ,pdata 
-0x271a 004714 store 1 ,mem_current_sniff_attempt 
-0x271b 004715 rtn 
-:      004726 sniff_check_window:
-0x271c 004727 bpatch patch0d_7 ,mem_patch0d 
-0x271d 004728 disable swfine 
-0x271e 004729 copy temp ,stop_watch 
-0x271f 004730 call context_search_sniff_window 
-0x2720 004731 disable user 
-0x2721 004732 nrtn zero 
-0x2722 004733 force 0 ,stop_watch 
-0x2723 004734 enable user 
-0x2724 004735 rtn 
-:      004738 check_esco_amaddr:
-0x2725 004739 fetch 1 ,mem_esco_addr 
-0x2726 004740 icompare 0xff ,am_addr 
-0x2727 004741 rtn 
-:      004744 parse_l2cap:
-0x2728 004745 bpatch patch0e_0 ,mem_patch0e 
-0x2729 004746 set0 mark_rxbuf_inuse ,mark 
-:      004747 parse_l2cap_cont:
-0x272a 004748 jam l2cap_rx_clear ,mem_l2cap_rx_done 
-0x272b 004749 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x272c 004750 rtn blank 
-0x272d 004751 isolate1 l2cap_inuse_buff1 ,pdata 
-0x272e 004752 arg mem_l2cap_rxbuff1 ,contr 
-0x272f 004753 call process_rx_l2cap_pkt ,true 
-0x2730 004754 bpatch patch0e_1 ,mem_patch0e 
-0x2731 004755 fetch 1 ,mem_l2cap_rx_done 
-0x2732 004756 beq l2cap_rx_done ,parse_l2cap_release_buff1 
-0x2733 004758 jam l2cap_rx_clear ,mem_l2cap_rx_done 
-0x2734 004759 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x2735 004760 rtnbit0 l2cap_inuse_buff2 
-0x2736 004761 arg mem_l2cap_rxbuff2 ,contr 
-0x2737 004762 call process_rx_l2cap_pkt 
-0x2738 004763 fetch 1 ,mem_l2cap_rx_done 
-0x2739 004764 beq l2cap_rx_done ,parse_l2cap_release_buff2 
-0x273a 004765 rtn 
-:      004767 parse_l2cap_release_buff1:
-0x273b 004768 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x273c 004769 set0 l2cap_inuse_buff1 ,pdata 
-0x273d 004770 store 1 ,mem_l2cap_rxbuff_inuse 
-0x273e 004771 setarg 0 
-0x273f 004772 store 2 ,mem_l2cap_rxbuff1_len 
-0x2740 004773 rtn 
-:      004774 parse_l2cap_release_buff2:
-0x2741 004775 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x2742 004776 set0 l2cap_inuse_buff2 ,pdata 
-0x2743 004777 store 1 ,mem_l2cap_rxbuff_inuse 
-0x2744 004778 setarg 0 
-0x2745 004779 store 2 ,mem_l2cap_rxbuff2_len 
-0x2746 004780 rtn 
-:      004782 l2cap_buff1_inuse:
-0x2747 004783 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x2748 004784 set1 l2cap_inuse_buff1 ,pdata 
-0x2749 004785 store 1 ,mem_l2cap_rxbuff_inuse 
-0x274a 004786 rtn 
-:      004788 l2cap_buff2_inuse:
-0x274b 004789 fetch 1 ,mem_l2cap_rxbuff_inuse 
-0x274c 004790 set1 l2cap_inuse_buff2 ,pdata 
-0x274d 004791 store 1 ,mem_l2cap_rxbuff_inuse 
-0x274e 004792 rtn 
-:      004798 slave_send_access:
-0x274f 004799 bpatch patch0e_2 ,mem_patch0e 
-0x2750 004800 add clke_bt ,1 ,bt_clk 
-0x2751 004801 call fetch_extm_bt_adr 
-0x2752 004802 force 0x03 ,freq_mode 
-0x2753 004803 call tx_radio_freq 
-0x2754 004804 call start_transmitter 
-0x2755 004805 call start_tx_external 
-0x2756 004806 branch send_access_word 
-:      004809 slave_conn_send_packet:
-0x2757 004810 bpatch patch0e_3 ,mem_patch0e 
-0x2758 004811 call rf_setup_time_slave_slot 
-0x2759 004812 deposit clke_bt 
-0x275a 004813 fetcht 4 ,mem_next_btclk 
-0x275b 004814 isub temp ,pdata 
-0x275c 004815 rtnne 1 
-0x275d 004816 compare type_null ,type ,0x1f 
-0x275e 004817 nbranch slave_conn_send_access ,true 
-0x275f 004818 fetch 1 ,mem_rx_type 
-0x2760 004819 rtn blank 
-:      004820 slave_conn_send_access:
-0x2761 004821 call slave_send_access 
-:      004822 transmit_packet:
-0x2762 004823 compare type_id ,type ,0x1f 
-0x2763 004824 branch end_of_packet ,true 
-0x2764 004825 rshift bt_clk ,temp 
-0x2765 004826 or temp ,0x40 ,white_init 
-:      004827 transmit_packet_whitened:
-0x2766 004828 bpatch patch0e_4 ,mem_patch0e 
-0x2767 004829 enable enable_white 
-0x2768 004830 enable enable_hec 
-0x2769 004831 enable encode_fec1 
-0x276a 004832 set0 mark_longpacket ,mark 
-0x276b 004833 deposit am_addr 
-0x276c 004834 inject mod ,3 
-0x276d 004835 deposit type 
-0x276e 004836 inject mod ,4 
-0x276f 004837 fetch 1 ,mem_arq 
-0x2770 004838 inject bucket ,4 
-0x2771 004839 inject mod ,3 
-0x2772 004840 enable enable_parity 
-0x2773 004841 inject mod ,8 
-0x2774 004842 disable encode_fec1 
-0x2775 004843 disable enable_parity 
-0x2776 004844 disable enable_hec 
-0x2777 004845 set0 psk3m ,radio_ctrl 
-0x2778 004846 arg 0 ,temp 
-0x2779 004847 call reserve_slot 
-0x277a 004848 bpatch patch0e_5 ,mem_patch0e 
-0x277b 004849 and type ,0x1f ,pdata 
-0x277c 004850 beq type_lmp ,transmit_lmp 
-0x277d 004851 beq type_null ,end_of_packet 
-0x277e 004852 beq type_poll ,end_of_packet 
-0x277f 004853 beq type_fhs ,transmit_fhs 
-0x2780 004854 beq type_dm1 ,transmit_dm1 
-0x2781 004855 beq type_dh1 ,transmit_dh1 
-0x2782 004856 beq type_hv3 ,transmit_hev 
-0x2783 004857 beq type_3dh1 ,transmit_3dh1 
-0x2784 004858 arg 4 ,temp 
-0x2785 004859 call reserve_slot 
-0x2786 004860 beq type_dm3 ,transmit_dm3 
-0x2787 004861 beq type_dh3 ,transmit_dh3 
-0x2788 004862 arg 8 ,temp 
-0x2789 004863 call reserve_slot 
-0x278a 004864 beq type_dh5 ,transmit_dh5 
-0x278b 004865 branch transmit_dm5 
-:      004868 transmit_hev:
-0x278c 004869 bpatch patch0e_6 ,mem_patch0e 
-0x278d 004870 enable encode_fec0 
-0x278e 004871 enable enable_crc 
-0x278f 004872 enable encrypt 
-0x2790 004873 force 30 ,loopcnt 
-0x2791 004874 arg mem_sco_obuf ,contr 
-:      004875 transmit_ev_loop:
-0x2792 004876 ifetch 1 ,contr 
-0x2793 004877 inject mod ,8 
-0x2794 004878 loop transmit_ev_loop 
-0x2795 004879 bmark1 mark_esco ,transmit_end 
-0x2796 004880 branch end_of_packet 
-:      004882 transmit_fhs:
-0x2797 004883 bpatch patch0e_7 ,mem_patch0e 
-0x2798 004884 fetch 1 ,mem_fhs_am_addr 
-0x2799 004885 icopy am_addr 
-0x279a 004886 fetch 1 ,mem_fhs_misc 
-0x279b 004887 icopy fhs_misc 
-0x279c 004888 fetch 3 ,mem_class 
-0x279d 004889 icopy fhs_class 
-0x279e 004890 fetch 2 ,mem_nap 
-0x279f 004891 icopy nap 
-0x27a0 004892 enable enable_crc 
-0x27a1 004893 enable encode_fec2 
-0x27a2 004894 copy bt_adr ,rega 
-0x27a3 004895 call fetch_self_bt_adr 
-0x27a4 004896 pulse recalc 
-0x27a5 004897 nop 32 
-0x27a6 004898 copy bt_clk ,timeup 
-0x27a7 004899 fetch 4 ,mem_clkn_bt 
-0x27a8 004900 icopy bt_clk 
-0x27a9 004901 preload fhs0 
-0x27aa 004902 set1 58 ,pdata 
-0x27ab 004903 inject mod ,72 
-0x27ac 004904 preload fhs1 
-0x27ad 004905 inject mod ,72 
-0x27ae 004906 copy timeup ,bt_clk 
-0x27af 004907 copy rega ,bt_adr 
-0x27b0 004908 enable enable_parity 
-0x27b1 004909 inject mod ,16 
-0x27b2 004910 disable enable_parity 
-0x27b3 004911 branch end_of_packet 
-:      004913 transmit_lmp:
-0x27b4 004914 bpatch patch0f_0 ,mem_patch0f 
-0x27b5 004915 enable encrypt 
-0x27b6 004916 enable enable_crc 
-0x27b7 004917 enable encode_fec2 
-0x27b8 004918 fetch 1 ,mem_lmo_header_length 
-0x27b9 004919 and pdata ,0x1f8 ,temp 
-0x27ba 004920 arg mem_lmo_header_length ,contr 
-0x27bb 004921 increase 8 ,temp 
-:      004922 transmit_lmp_loop:
-0x27bc 004923 add temp ,-72 ,regc 
-0x27bd 004924 nbranch transmit_lmp_finish ,positive 
-0x27be 004925 ifetch 9 ,contr 
-0x27bf 004926 inject mod ,72 
-0x27c0 004927 copy regc ,temp 
-0x27c1 004928 branch transmit_lmp_loop 
-:      004929 transmit_lmp_finish:
-0x27c2 004930 ifetch 9 ,contr 
-0x27c3 004931 iinject mod ,temp 
-0x27c4 004932 branch transmit_end 
-:      004934 transmit_dm1:
-0x27c5 004935 enable encode_fec2 
-0x27c6 004936 branch transmit_dmh 
-:      004937 transmit_dm3:
-:      004938 transmit_dm5:
-0x27c7 004939 enable encode_fec2 
-0x27c8 004940 set1 mark_longpacket ,mark 
-0x27c9 004941 branch transmit_dmh 
-:      004943 transmit_3dh1:
-0x27ca 004944 set1 psk3m ,radio_ctrl 
-:      004945 transmit_dh1:
-0x27cb 004946 enable encode_fec0 
-0x27cc 004947 branch transmit_dmh 
-:      004949 transmit_dh3:
-:      004950 transmit_dh5:
-0x27cd 004951 set1 psk3m ,radio_ctrl 
-0x27ce 004952 enable encode_fec0 
-0x27cf 004953 set1 mark_longpacket ,mark 
-:      004955 transmit_dmh:
-0x27d0 004956 bpatch patch0f_1 ,mem_patch0f 
-0x27d1 004957 fetch 1 ,mem_state_map 
-0x27d2 004958 bbit0 smap_edr ,transmit_noedr 
-0x27d3 004959 sub type ,3 ,null 
-0x27d4 004960 branch transmit_noedr ,positive 
-0x27d5 004961 disable encrypt 
-0x27d6 004962 disable encode_fec2 
-0x27d7 004963 enable encode_fec0 
-0x27d8 004964 disable enable_white 
-0x27d9 004965 set1 psk ,radio_ctrl 
-0x27da 004966 isolate1 psk3m ,radio_ctrl 
-0x27db 004967 branch transmit_edr3m ,true 
-0x27dc 004968 setarg 0xabeee 
-0x27dd 004969 inject mod ,20 
-0x27de 004970 branch transmit_edr_sync_end 
-:      004971 transmit_edr3m:
-0x27df 004972 setarg 0x5faeba 
-0x27e0 004973 inject mod ,24 
-0x27e1 004974 setarg 0x12 
-0x27e2 004975 inject mod ,6 
-:      004976 transmit_edr_sync_end:
-0x27e3 004977 enable enable_white 
-0x27e4 004978 set1 mark_longpacket ,mark 
-:      004979 transmit_noedr:
-0x27e5 004980 enable encrypt 
-0x27e6 004981 enable enable_crc 
-0x27e7 004982 bmark1 mark_loopback ,transmit_loopback 
-0x27e8 004983 fetch 1 ,mem_tx_lch 
-0x27e9 004984 inject mod ,3 
-0x27ea 004985 fetch 2 ,mem_tx_len 
-0x27eb 004986 iforce loopcnt 
-0x27ec 004987 bmark1 mark_longpacket ,transmit_long 
-0x27ed 004988 inject mod ,5 
-0x27ee 004989 branch transmit_stuff 
-:      004990 transmit_long:
-0x27ef 004991 inject mod ,13 
-:      004992 transmit_stuff:
-0x27f0 004993 deposit loopcnt 
-0x27f1 004994 branch transmit_end ,blank 
-0x27f2 004995 fetch 2 ,mem_txptr 
-0x27f3 004996 iforce contr 
-:      004997 transmit_stuff_loop:
-0x27f4 004998 ifetch 1 ,contr 
-0x27f5 004999 inject mod ,8 
-0x27f6 005000 loop transmit_stuff_loop 
-:      005003 transmit_end:
-0x27f7 005004 enable enable_parity 
-0x27f8 005005 inject mod ,16 
-0x27f9 005006 disable enable_parity 
-0x27fa 005007 call set_wait_ack 
-0x27fb 005008 fetch 1 ,mem_state_map 
-0x27fc 005009 bbit0 smap_edr ,end_of_packet 
-0x27fd 005010 force 0 ,pdata 
-0x27fe 005011 inject mod ,6 
-0x27ff 005012 branch end_of_packet 
-:      005015 transmit_loopback:
-0x2800 005016 bpatch patch0f_2 ,mem_patch0f 
-0x2801 005017 bmark1 mark_longpacket ,transmit_loopback_long 
-:      005018 transmit_loopback_short:
-0x2802 005019 fetch 1 ,mem_lch_code 
-0x2803 005020 inject mod ,3 
-0x2804 005021 fetch 1 ,mem_len 
-0x2805 005022 iforce regc 
-0x2806 005023 inject mod ,5 
-0x2807 005024 branch transmit_loopback_cont 
-:      005025 transmit_loopback_long:
-0x2808 005026 fetch 1 ,mem_lch_code 
-0x2809 005027 inject mod ,3 
-0x280a 005028 fetch 2 ,mem_len 
-0x280b 005029 iforce regc 
-0x280c 005030 inject mod ,13 
-:      005031 transmit_loopback_cont:
-0x280d 005032 arg mem_rxbuf ,contr 
-:      005033 transmit_loopback_loop:
-0x280e 005034 copy regc ,null 
-0x280f 005035 branch transmit_loopback_end ,zero 
-0x2810 005036 ifetch 1 ,contr 
-0x2811 005037 inject mod ,8 
-0x2812 005038 increase -1 ,regc 
-0x2813 005039 branch transmit_loopback_loop 
-:      005040 transmit_loopback_end:
-0x2814 005041 fetch 2 ,mem_tst_pktcnt_dmh 
-0x2815 005042 increase 1 ,pdata 
-0x2816 005043 store 2 ,mem_tst_pktcnt_dmh 
-0x2817 005044 branch transmit_end 
-:      005047 apply_switch_clke:
-0x2818 005048 fetch 4 ,mem_clke_bt 
-0x2819 005049 add pdata ,7 ,rega 
-0x281a 005050 fetch 2 ,mem_slot_offset 
-0x281b 005051 nbranch apply_switch_nozero ,blank 
-0x281c 005052 increase -3 ,rega 
-0x281d 005053 branch apply_switch_wait_loop 
-:      005054 apply_switch_nozero:
-0x281e 005055 mul32 pdata ,12 ,pdata 
-0x281f 005056 hfetcht 2 ,core_halfslot 
-0x2820 005057 increase 1 ,temp 
-:      005058 apply_switch_loop:
-0x2821 005059 isub temp ,pdata 
-0x2822 005060 nbranch apply_switch_bt ,positive 
-0x2823 005061 increase -1 ,rega 
-0x2824 005062 branch apply_switch_loop 
-:      005063 apply_switch_bt:
-0x2825 005064 sub pdata ,0 ,pdata 
-:      005065 apply_switch_wait_loop:
-0x2826 005066 until null ,oneslot 
-0x2827 005067 compare 0 ,clkn_bt ,3 
-0x2828 005068 nbranch apply_switch_wait_loop ,true 
-0x2829 005069 iforce clke_rt 
-0x282a 005070 copy rega ,clke_bt 
-0x282b 005071 iforce clke_rt 
-0x282c 005072 rtn 
-:      005075 calc_slot_offset:
-0x282d 005076 bpatch patch0f_3 ,mem_patch0f 
-0x282e 005077 until null ,halfslot 
-0x282f 005078 deposit clke 
-0x2830 005079 iforce contr 
-0x2831 005080 rshift16 ,pdata ,pdata 
-0x2832 005081 isub clkn_bt ,loopcnt 
-0x2833 005082 and_into 3 ,loopcnt 
-0x2834 005083 nbranch calc_bt_portion ,zero 
-0x2835 005084 force 0 ,pdata 
-0x2836 005085 branch calc_skip_bt 
-:      005086 calc_bt_portion:
-0x2837 005087 arg 3750 ,temp 
-0x2838 005088 force 0 ,pdata 
-:      005089 calc_slot_offset_loop:
-0x2839 005090 iadd temp ,pdata 
-0x283a 005091 loop calc_slot_offset_loop 
-:      005092 calc_skip_bt:
-0x283b 005093 iadd contr ,pdata 
-0x283c 005094 div pdata ,12 
-0x283d 005095 call wait_div_end 
-0x283e 005096 quotient pdata 
-0x283f 005097 store 2 ,mem_slot_offset 
-0x2840 005098 rtn 
-:      005100 calc_clke_offset:
-0x2841 005101 bpatch patch0f_4 ,mem_patch0f 
-0x2842 005102 deposit clke 
-0x2843 005103 copy clkn ,temp 
-0x2844 005104 isub temp ,null 
-0x2845 005105 nsetflag positive ,44 ,pdata 
-0x2846 005106 isub temp ,temp 
-0x2847 005107 setarg 3750 
-0x2848 005108 isolate0 15 ,temp 
-0x2849 005109 branch calc_clke_pos ,true 
-0x284a 005110 setarg -61786 
-0x284b 005111 iadd temp ,temp 
-:      005112 calc_clke_pos:
-0x284c 005113 storet 6 ,mem_le_clk_offset 
-0x284d 005114 rtn le 
-0x284e 005115 storet 6 ,mem_clk_offset 
-0x284f 005116 rtn 
-:      005118 calc_clke:
-0x2850 005119 disable clknt 
-0x2851 005120 fetch 6 ,mem_le_clk_offset 
-0x2852 005121 branch calc_clke2 ,le 
-0x2853 005122 fetch 6 ,mem_clk_offset 
-:      005123 calc_clke2:
-0x2854 005124 iadd clkn ,alarm 
-0x2855 005125 increase 10 ,alarm 
-0x2856 005126 setarg 3750 
-0x2857 005127 isub alarm ,pdata 
-0x2858 005128 isolate0 15 ,pdata 
-0x2859 005129 branch calc_clke_pos_adj ,true 
-0x285a 005130 setarg 0xf15a 
-0x285b 005131 iadd alarm ,alarm 
-:      005132 calc_clke_pos2:
-0x285c 005133 copy alarm ,clke 
-0x285d 005134 rtn 
-:      005135 calc_clke_pos_adj:
-0x285e 005136 force 0 ,null 
-0x285f 005137 branch calc_clke_pos2 
-:      005144 calc_radio_freq:
-0x2860 005145 bpatch patch0f_5 ,mem_patch0f 
-0x2861 005146 call set_sync_on 
-0x2862 005147 copy bt_clk ,pdata 
-0x2863 005148 and_into 0x180 ,pdata 
-0x2864 005149 compare 3 ,freq_mode ,0x07 
-0x2865 005150 nbranch freq_not_connection ,true 
-0x2866 005151 rshift3 pdata ,pdata 
-0x2867 005152 iadd freq_index ,pdata 
-0x2868 005153 branch do_hop_mod_now 
-:      005154 freq_not_connection:
-0x2869 005155 copy freq_index ,pdata 
-:      005156 do_hop_mod_now:
-0x286a 005157 div pdata ,79 
-0x286b 005158 pulse recalc 
-0x286c 005159 call wait_div_end 
-0x286d 005160 remainder rega 
-0x286e 005161 add rega ,-40 ,temp 
-0x286f 005162 branch odd_half ,positive 
-0x2870 005163 lshift rega ,temp 
-0x2871 005164 branch freq_result 
-:      005165 odd_half:
-0x2872 005166 lshift temp ,temp 
-0x2873 005167 increase 1 ,temp 
-:      005168 freq_result:
-0x2874 005169 bpatch patch0f_6 ,mem_patch0f 
-0x2875 005170 fetch 1 ,mem_mode 
-0x2876 005171 bbit0 afh_change ,afh_process_con 
-:      005172 afh_process_0:
-0x2877 005173 fetch 4 ,mem_afh_instant 
-0x2878 005174 isub bt_clk ,null 
-0x2879 005175 branch afh_process_con ,positive 
-0x287a 005176 call afh_clear 
-0x287b 005177 fetch 1 ,mem_afh_new_mod 
-0x287c 005178 rtn blank 
-0x287d 005179 fetch 1 ,mem_mode 
-0x287e 005180 set1 afh_enable ,pdata 
-0x287f 005181 store 1 ,mem_mode 
-0x2880 005182 fetch 5 ,mem_afh_map_new 
-0x2881 005183 store 5 ,mem_afh_map_lo 
-0x2882 005184 ifetch 5 ,contr 
-0x2883 005185 store 5 ,mem_afh_map_hi 
-0x2884 005186 call afh_process_freq_map 
-:      005187 afh_process_con:
-0x2885 005188 fetch 1 ,mem_mode 
-0x2886 005189 rtnbit0 afh_enable 
-0x2887 005190 isolate1 1 ,bt_clk 
-0x2888 005191 branch afh_same_channel ,true 
-0x2889 005192 rshift3 temp ,rega 
-0x288a 005193 and temp ,7 ,queue 
-0x288b 005194 setarg mem_afh_map_lo 
-0x288c 005195 iadd rega ,rega 
-0x288d 005196 ifetch 1 ,rega 
-0x288e 005197 qisolate0 pdata 
-0x288f 005198 branch afh_process_1 ,true 
-0x2890 005199 deposit temp 
-0x2891 005200 branch afh_process_end 
-:      005201 afh_process_1:
-0x2892 005202 fetch 1 ,mem_afh_used 
-0x2893 005203 iforce regb 
-0x2894 005204 deposit bt_clk 
-0x2895 005205 and_into 0x180 ,pdata 
-0x2896 005206 rshift3 pdata ,pdata 
-0x2897 005207 iadd freq_index ,pdata 
-0x2898 005208 idiv regb 
-0x2899 005209 setarg mem_afh_map 
-0x289a 005210 call wait_div_end 
-0x289b 005211 remainder rega 
-0x289c 005212 iadd rega ,contr 
-0x289d 005213 ifetch 1 ,contr 
-:      005214 afh_process_end:
-0x289e 005215 store 1 ,mem_afh_index 
-0x289f 005216 iforce temp 
-0x28a0 005217 rtn 
-:      005219 afh_same_channel:
-0x28a1 005220 fetch 1 ,mem_afh_index 
-0x28a2 005221 iforce temp 
-0x28a3 005222 rtn 
-:      005224 afh_clear:
-0x28a4 005225 fetch 1 ,mem_mode 
-0x28a5 005226 set0 afh_enable ,pdata 
-0x28a6 005227 set0 afh_change ,pdata 
-0x28a7 005228 store 1 ,mem_mode 
-0x28a8 005229 rtn 
-:      005235 afh_process_freq_map:
-0x28a9 005236 bpatch patch0f_7 ,mem_patch0f 
-0x28aa 005237 arg mem_afh_map ,contw 
-0x28ab 005238 force 10 ,loopcnt 
-0x28ac 005239 call memset0 
-0x28ad 005240 arg mem_afh_map ,contw 
-0x28ae 005241 force 0 ,regc 
-0x28af 005242 force 2 ,queue 
-:      005243 process_freq_3:
-0x28b0 005244 fetch 5 ,mem_afh_map_lo 
-0x28b1 005245 iforce temp 
-0x28b2 005246 compare 2 ,queue ,0xff 
-0x28b3 005247 branch process_freq_1 ,true 
-0x28b4 005248 rshift temp ,temp 
-:      005249 process_freq_1:
-0x28b5 005250 isolate0 0 ,temp 
-0x28b6 005251 branch process_freq_0 ,true 
-0x28b7 005252 deposit regc 
-0x28b8 005253 istore 1 ,contw 
-:      005254 process_freq_0:
-0x28b9 005255 rshift2 temp ,temp 
-0x28ba 005256 increase 2 ,regc 
-0x28bb 005257 compare 40 ,regc ,0xfe 
-0x28bc 005258 nbranch process_freq_2 ,true 
-0x28bd 005259 fetch 5 ,mem_afh_map_hi 
-0x28be 005260 iforce temp 
-0x28bf 005261 compare 2 ,queue ,0xff 
-0x28c0 005262 branch process_freq_2 ,true 
-0x28c1 005263 rshift temp ,temp 
-:      005264 process_freq_2:
-0x28c2 005265 sub regc ,78 ,null 
-0x28c3 005266 branch process_freq_1 ,positive 
-0x28c4 005267 force 1 ,regc 
-0x28c5 005268 increase -1 ,queue 
-0x28c6 005269 nbranch process_freq_3 ,zero 
-0x28c7 005270 arg mem_afh_map ,rega 
-0x28c8 005271 deposit contw 
-0x28c9 005272 isub rega ,pdata 
-0x28ca 005273 store 1 ,mem_afh_used 
-0x28cb 005274 rtn 
-:      005276 rx_radio_freq:
-0x28cc 005277 bpatch patch10_0 ,mem_patch10 
-0x28cd 005278 call calc_radio_freq 
-0x28ce 005279 fetch 1 ,mem_debug_config 
-0x28cf 005280 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
-0x28d0 005281 fetcht 1 ,mem_rx_fixed_freq 
-:      005282 rx_radio_freq_now:
-0x28d1 005283 branch set_freq_rx 
-:      005286 tx_radio_freq:
-0x28d2 005287 bpatch patch10_1 ,mem_patch10 
-0x28d3 005288 call calc_radio_freq 
-0x28d4 005289 fetch 1 ,mem_debug_config 
-0x28d5 005290 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
-0x28d6 005291 fetcht 1 ,mem_tx_fixed_freq 
-:      005292 tx_radio_freq_now:
-0x28d7 005293 branch set_freq_tx 
-:      005296 fetch_giac:
-0x28d8 005297 force 0 ,uap 
-0x28d9 005298 fetch 3 ,mem_glap 
-0x28da 005299 iforce lap 
-0x28db 005300 rtn 
-:      005302 fetch_page_bt_adr:
-0x28dc 005303 bpatch patch10_2 ,mem_patch10 
-0x28dd 005304 fetch 1 ,mem_hci_puap 
-0x28de 005305 icopy uap 
-0x28df 005306 fetch 3 ,mem_hci_plap 
-0x28e0 005307 icopy lap 
-0x28e1 005308 rtn 
-:      005310 fetch_self_bt_adr:
-0x28e2 005311 bpatch patch10_3 ,mem_patch10 
-0x28e3 005312 fetch 2 ,mem_nap 
-0x28e4 005313 icopy nap 
-0x28e5 005314 fetch 1 ,mem_uap 
-0x28e6 005315 icopy uap 
-0x28e7 005316 fetch 3 ,mem_lap 
-0x28e8 005317 icopy lap 
-0x28e9 005318 rtn 
-:      005320 fetch_extm_bt_adr:
-0x28ea 005321 bpatch patch10_4 ,mem_patch10 
-0x28eb 005322 fetch 2 ,mem_pnap 
-0x28ec 005323 icopy nap 
-0x28ed 005324 fetch 1 ,mem_puap 
-0x28ee 005325 icopy uap 
-0x28ef 005326 fetch 3 ,mem_plap 
-0x28f0 005327 icopy lap 
-0x28f1 005328 rtn 
-:      005331 fetch_diac:
-0x28f2 005332 bmark1 mark_all_diac ,fetch_diac_do 
-0x28f3 005333 rtnmark0 mark_inquiry_state 
-0x28f4 005334 rtnmark0 mark_periodical_diac 
-:      005335 fetch_diac_do:
-0x28f5 005336 and_into -256 ,lap 
-0x28f6 005337 pulse recalc 
-0x28f7 005338 nop 32 
-0x28f8 005339 rtn 
-:      005342 shutdown_radio:
-0x28f9 005343 bpatch patch10_5 ,mem_patch10 
-0x28fa 005344 branch shutdown_radio0 ,is_rx 
-0x28fb 005345 jam 0xd4 ,rf_tx_pa_ib 
-0x28fc 005346 nop 4 
-0x28fd 005347 jam 0xd2 ,rf_tx_pa_ib 
-0x28fe 005348 nop 4 
-0x28ff 005349 jam 0xd1 ,rf_tx_pa_ib 
-0x2900 005350 nop 4 
-0x2901 005351 fetch 1 ,mem_tx_power 
-0x2902 005352 beq tx_power_0db ,shutdown_radio_0db 
-0x2903 005353 beq tx_power_3db ,shutdown_radio_3db 
-0x2904 005354 beq tx_power_5db ,shutdown_radio_5db 
-0x2905 005355 beq tx_power_f3db ,shutdown_radio_f3db 
-0x2906 005356 beq tx_power_f5db ,shutdown_radio_f5db 
-0x2907 005357 beq tx_power_pair ,shutdown_radio_pair 
-:      005358 shutdown_radio_5db:
-:      005359 shutdown_radio_0db:
-0x2908 005360 jam 0xd0 ,rf_tx_pa_ib 
-0x2909 005361 jam 0xe0 ,rf_tx_pa_gc 
-:      005362 shutdown_radio0:
-0x290a 005363 force 0 ,radio_ctrl 
-0x290b 005364 disable is_rx 
-0x290c 005365 disable is_tx 
-0x290d 005366 pulse packet_end 
-0x290e 005367 jam 0x0 ,rfen_mdm 
-0x290f 005368 jam 0x0 ,rfen_tx 
-0x2910 005369 jam 0x0 ,rfen_rx 
-0x2911 005370 jam 0 ,rfen_sn 
-0x2912 005371 jam 0x70 ,rfen_msc 
-0x2913 005372 jam 0x0 ,rfen_adc 
-0x2914 005373 rtn 
-:      005375 shutdown_radio_pair:
-:      005376 shutdown_radio_f5db:
-:      005377 shutdown_radio_f3db:
-:      005378 shutdown_radio_3db:
-0x2915 005379 jam 0xd0 ,rf_tx_pa_ib 
-0x2916 005380 jam 0xc0 ,rf_tx_pa_gc 
-0x2917 005381 branch shutdown_radio0 
-:      005383 set_sync_on:
-0x2918 005384 bpatch patch10_6 ,mem_patch10 
-0x2919 005385 jam 0x0 ,rfen_mdm 
-0x291a 005386 jam 0x0 ,rfen_tx 
-0x291b 005387 jam 0x18 ,rfen_rx 
-0x291c 005388 jam 0xa7 ,rfen_sn 
-0x291d 005389 jam 0x7f ,rfen_msc 
-0x291e 005390 rtn 
-:      005392 set_freq_rx:
-0x291f 005393 bpatch patch10_7 ,mem_patch10 
-0x2920 005395 storet 1 ,mem_last_freq 
-0x2921 005396 add temp ,rx_freq_offset ,rega 
-0x2922 005397 jam 0x07 ,rf_balun_ctrim 
-0x2923 005398 branch rf_write_freq 
-:      005399 rf_rx_enable:
-0x2924 005400 bpatch patch11_0 ,mem_patch11 
-0x2925 005401 jam 0xcf ,rfen_tx 
-0x2926 005402 nop 10 
-0x2927 005403 jam 0xff ,rfen_rx 
-0x2928 005404 jam 0xaf ,rfen_sn 
-0x2929 005405 jam 0xff ,rfen_msc 
-0x292a 005406 nop 10 
-0x292b 005407 jam 0xa0 ,rfen_mdm 
-0x292c 005408 rtn 
-:      005410 set_freq_tx_offset:
-0x292d 005411 fetch 1 ,mem_250k_freq_enable 
-0x292e 005412 branch set_freq_tx_2m_offset ,blank 
-:      005413 set_freq_tx_0m_offset:
-0x292f 005414 add temp ,2 ,rega 
-0x2930 005415 rtn 
-:      005416 set_freq_tx_2m_offset:
-0x2931 005417 add temp ,0 ,rega 
-0x2932 005418 rtn 
-:      005420 set_freq_tx:
-0x2933 005421 bpatch patch11_1 ,mem_patch11 
-0x2934 005422 storet 1 ,mem_last_freq 
-0x2935 005423 call set_freq_tx_offset 
-0x2936 005424 call rf_write_freq 
-0x2937 005425 setarg param_pll_setup 
-0x2938 005426 call sleep 
-:      005427 txon:
-0x2939 005428 jam 0x1 ,rfen_adc 
-0x293a 005429 jam 0x3c ,rfen_rx 
-0x293b 005430 jam 0xe0 ,rfen_tx 
-0x293c 005431 jam 0x12 ,rf_balun_ctrim 
-0x293d 005432 nop 10 
-0x293e 005433 jam 0x01 ,rfen_mdm 
-0x293f 005434 jam 0x3d ,rfen_mdm 
-0x2940 005435 nop 10 
-0x2941 005436 jam 0xb7 ,rfen_sn 
-0x2942 005437 nop 10 
-0x2943 005438 jam 0x7f ,rfen_mdm 
-:      005439 txon_power_select:
-0x2944 005440 fetch 1 ,mem_tx_power 
-0x2945 005441 beq tx_power_0db ,set_tx_power_0db 
-0x2946 005442 beq tx_power_3db ,set_tx_power_3db 
-0x2947 005443 beq tx_power_5db ,set_tx_power_5db 
-0x2948 005444 beq tx_power_f3db ,set_tx_power_f3db 
-0x2949 005445 beq tx_power_f5db ,set_tx_power_f5db 
-0x294a 005446 beq tx_power_pair ,set_tx_power_pair 
-:      005447 set_tx_power_0db:
-0x294b 005448 jam 0xf0 ,rf_tx_pa_gc 
-0x294c 005449 call txon_common 
-0x294d 005450 jam 0xd8 ,rf_tx_pa_ib 
-0x294e 005451 rtn 
-:      005453 set_tx_power_3db:
-0x294f 005454 jam 0xdf ,rf_tx_pa_gc 
-0x2950 005455 call txon_common 
-0x2951 005456 jam 0xdf ,rf_tx_pa_ib 
-0x2952 005457 rtn 
-:      005459 set_tx_power_5db:
-0x2953 005460 jam 0xff ,rf_tx_pa_gc 
-0x2954 005461 call txon_common 
-0x2955 005462 jam 0xdf ,rf_tx_pa_ib 
-0x2956 005463 rtn 
-:      005464 set_tx_power_f3db:
-0x2957 005465 jam 0xce ,rf_tx_pa_gc 
-0x2958 005466 call txon_common 
-0x2959 005467 jam 0xd8 ,rf_tx_pa_ib 
-0x295a 005468 rtn 
-:      005470 set_tx_power_f5db:
-0x295b 005471 jam 0xcb ,rf_tx_pa_gc 
-0x295c 005472 call txon_common 
-0x295d 005473 jam 0xd8 ,rf_tx_pa_ib 
-0x295e 005474 rtn 
-:      005476 set_tx_power_pair:
-0x295f 005477 jam 0xd0 ,rf_tx_pa_ib 
-0x2960 005478 jam 0xc0 ,rf_tx_pa_gc 
-0x2961 005479 jam 0x4c ,0x8957 
-0x2962 005480 jam 0x6c ,0x8958 
-0x2963 005481 jam 0x50 ,0x8959 
-0x2964 005482 rtn 
-:      005484 txon_common:
-0x2965 005485 nop 4 
-0x2966 005486 jam 0xd1 ,rf_tx_pa_ib 
-0x2967 005487 nop 4 
-0x2968 005488 jam 0xd2 ,rf_tx_pa_ib 
-0x2969 005489 nop 4 
-0x296a 005490 jam 0xd4 ,rf_tx_pa_ib 
-0x296b 005491 rtn 
-:      005494 initialize_radio:
-0x296c 005495 jam clksel_rc ,core_clksel 
-:      005496 initialize_radio_wait:
-0x296d 005497 fetch 2 ,mem_rf_init_ptr 
-0x296e 005498 bbit0 14 ,initialize_radio_wait 
-0x296f 005499 iforce contr 
-0x2970 005500 arg 0x8900 ,temp 
-:      005501 initialize_radio_loop:
-0x2971 005502 ifetch 1 ,contr 
-0x2972 005503 beq 0xff ,initialize_radio_cont 
-0x2973 005504 ior temp ,contw 
-0x2974 005505 ifetch 1 ,contr 
-0x2975 005506 istore 1 ,contw 
-0x2976 005507 branch initialize_radio_loop 
-:      005508 initialize_radio_cont:
-0x2977 005509 bpatch patch11_2 ,mem_patch11 
-0x2978 005510 call lpm_cal_xtal_startup 
-0x2979 005511 call switchto_dpllclk 
-0x297a 005513 setarg param_dpll_start_delay 
-0x297b 005514 iadd clkn_bt ,pdata 
-0x297c 005515 store 4 ,mem_dpll_clkn 
-0x297d 005516 set1 reset ,radio_ctrl 
-0x297e 005517 force 0 ,radio_ctrl 
-0x297f 005518 ncall do_rccal ,wake 
-0x2980 005519 branch set_rccal 
-:      005522 rf_write_freq:
-0x2981 005523 bpatch patch11_3 ,mem_patch11 
-0x2982 005524 setarg 2400 
-0x2983 005525 iadd rega ,temp 
-0x2984 005526 fetch 1 ,mem_fcomp_mul 
-0x2985 005527 jam 0x04 ,rf_pll_rstn 
-0x2986 005528 imul32 temp ,pdata 
-0x2987 005529 fetcht 1 ,mem_fcomp_div 
-0x2988 005530 idiv temp 
-0x2989 005531 call wait_div_end 
-0x298a 005532 quotient rega 
-0x298b 005533 remainder pdata 
-0x298c 005534 lshift16 pdata ,pdata 
-0x298d 005535 lshift4 pdata ,pdata 
-0x298e 005536 idiv temp 
-0x298f 005537 call wait_div_end 
-0x2990 005538 quotient pdata 
-0x2991 005539 lshift8 pdata ,pdata 
-0x2992 005540 lshift pdata ,pdata 
-0x2993 005541 ior rega ,pdata 
-0x2994 005542 hstore 4 ,rf_pll_intg 
-0x2995 005543 jam 0x44 ,rf_pll_rstn 
-0x2996 005544 jam 0xc4 ,rf_pll_rstn 
-0x2997 005545 rtn 
-:      005548 do_rccal:
-0x2998 005549 bpatch patch11_4 ,mem_patch11 
-0x2999 005550 jam 0x02 ,rfen_adc 
-0x299a 005551 setarg 250000 
-0x299b 005552 call sleep 
-0x299c 005553 jam 0x7f ,rfen_rx 
-0x299d 005554 nop 130 
-0x299e 005555 jam 0x30 ,rf_rccal_ctrl 
-0x299f 005556 jam 0xd0 ,rfen_tx 
-0x29a0 005557 jam 0x70 ,rf_rccal_ctrl 
-0x29a1 005558 jam 0xf0 ,rf_rccal_ctrl 
-0x29a2 005559 force 50 ,loopcnt 
-:      005560 do_rccal_loop:
-0x29a3 005561 hfetch 1 ,rf_rccal_result 
-0x29a4 005562 bbit1 5 ,do_rccal_end 
-0x29a5 005563 loop do_rccal_loop 
-:      005564 do_rccal_end:
-0x29a6 005565 store 1 ,mem_rf_rccal 
-0x29a7 005566 jam 0 ,rfen_tx 
-0x29a8 005567 jam 0 ,rfen_rx 
-0x29a9 005568 jam 0x00 ,rfen_adc 
-0x29aa 005569 rtn 
-:      005571 set_rccal:
-0x29ab 005572 bpatch patch11_5 ,mem_patch11 
-0x29ac 005573 fetch 1 ,mem_rf_rccal 
-0x29ad 005574 set1 5 ,pdata 
-0x29ae 005575 hstore 1 ,rf_rccal_ctrl 
-0x29af 005576 hfetcht 1 ,rf_bpf_ctrim 
-0x29b0 005577 and_into 7 ,temp 
-0x29b1 005578 lshift3 pdata ,pdata 
-0x29b2 005579 ior temp ,pdata 
-0x29b3 005580 hstore 1 ,rf_bpf_ctrim 
-0x29b4 005581 hfetch 1 ,rf_bpf_ib 
-0x29b5 005582 set0 bpf_rccal ,pdata 
-0x29b6 005583 hstore 1 ,rf_bpf_ib 
-0x29b7 005584 hfetch 1 ,rf_adc_rccal 
-0x29b8 005585 set0 adc_rccal ,pdata 
-0x29b9 005586 hstore 1 ,rf_adc_rccal 
-0x29ba 005587 rtn 
-:      005589 save_rssi:
-0x29bb 005590 bpatch patch11_6 ,mem_patch11 
-0x29bc 005591 hfetch 2 ,rf_afc_d2a 
-0x29bd 005592 rshift4 pdata ,pdata 
-0x29be 005593 rshift3 pdata ,pdata 
-0x29bf 005594 sub pdata ,0 ,pdata 
-:      005595 bcd:
-0x29c0 005596 and_into 0xff ,pdata 
-0x29c1 005597 div pdata ,10 
-0x29c2 005598 call wait_div_end 
-0x29c3 005599 quotient pdata 
-0x29c4 005600 lshift4 pdata ,pdata 
-0x29c5 005601 remainder temp 
-0x29c6 005602 ior temp ,pdata 
-0x29c7 005603 store 1 ,mem_rssi 
-0x29c8 005604 rtn 
-:      005607 switchto_dpllclk:
-0x29c9 005608 jam clksel_rc ,core_clksel 
-0x29ca 005609 hfetch 1 ,rf_clkpll_frac + 2 
-0x29cb 005610 set0 4 ,pdata 
-0x29cc 005611 set0 5 ,pdata 
-0x29cd 005612 hstore 1 ,rf_clkpll_frac + 2 
-0x29ce 005613 jam 0x00 ,rfen_ck 
-0x29cf 005614 jam 0x00 ,rfen_msc 
-0x29d0 005615 jam 0x70 ,rfen_msc 
-0x29d1 005616 jam 0xff ,rfen_ck 
-0x29d2 005617 hfetch 1 ,rf_clkpll_frac + 2 
-0x29d3 005618 set1 4 ,pdata 
-0x29d4 005619 set1 5 ,pdata 
-0x29d5 005620 hstore 1 ,rf_clkpll_frac + 2 
-0x29d6 005621 call init_lpm_ctrl 
-0x29d7 005622 hfetch 1 ,rf_clkpll_int 
-0x29d8 005623 set1 7 ,pdata 
-0x29d9 005624 hstore 1 ,rf_clkpll_int 
-0x29da 005625 set0 7 ,pdata 
-0x29db 005626 hstore 1 ,rf_clkpll_int 
-0x29dc 005627 set1 7 ,pdata 
-0x29dd 005628 hstore 1 ,rf_clkpll_int 
-0x29de 005629 jam clksel_dpll ,core_clksel 
-0x29df 005630 nop 1 
-0x29e0 005631 jam clksel_xtal ,core_clksel 
-0x29e1 005632 hfetch 1 ,rf_clkpll_frac + 2 
-0x29e2 005633 and_into 0xcf ,pdata 
-0x29e3 005634 hstore 1 ,rf_clkpll_frac + 2 
-0x29e4 005635 or_into 0x30 ,pdata 
-0x29e5 005636 hstore 1 ,rf_clkpll_frac + 2 
-0x29e6 005637 rtn 
-:      005640 xtal_fast_wake:
-0x29e7 005641 setarg 0xf0f 
-0x29e8 005642 branch lpm_write_config 
-:      005644 init_lpm_ctrl:
-0x29e9 005645 setarg 0x80f 
-0x29ea 005646 branch lpm_write_config 
-:      005650 start_receiver:
-0x29eb 005651 bpatch patch11_7 ,mem_patch11 
-0x29ec 005652 call rf_rx_enable 
-0x29ed 005653 disable is_tx 
-0x29ee 005654 enable is_rx 
-0x29ef 005655 pulse init_encrypt 
-0x29f0 005656 rtn 
-:      005658 prep_crypt:
-0x29f1 005659 bpatch patch12_0 ,mem_patch12 
-0x29f2 005660 fetch 1 ,mem_state_map 
-0x29f3 005661 isolate1 smap_encryption ,pdata 
-0x29f4 005662 setflag true ,0 ,pdata 
-0x29f5 005663 hstore 1 ,core_encrypt 
-0x29f6 005664 arg mem_kc ,contr 
-0x29f7 005665 ifetch 9 ,contr 
-0x29f8 005666 iforce kc_ls 
-0x29f9 005667 ifetch 7 ,contr 
-0x29fa 005668 iforce kc_ms 
-0x29fb 005669 fetch 1 ,mem_key_size 
-0x29fc 005670 add pdata ,-1 ,g1l 
-0x29fd 005671 pulse kc_p_activate 
-0x29fe 005672 rtn 
-:      005674 wait_access_end:
-0x29ff 005675 deposit clke 
-0x2a00 005676 store 6 ,mem_sync_clke 
-0x2a01 005677 disable decode_fec0 
-0x2a02 005678 nbranch shutdown_radio ,sync 
-0x2a03 005679 arg param_clke_cal ,clke_rt 
-0x2a04 005680 increase 1 ,clke_bt 
-0x2a05 005681 and_into 0x1fc ,clke_bt 
-0x2a06 005682 rtn 
-:      005686 wait_access_mhalfbnd:
-0x2a07 005687 enable decode_fec0 
-:      005688 wait_access_mhalfbnd_correlate:
-0x2a08 005689 correlate null ,mhalfbnd 
-0x2a09 005690 branch wait_access_end ,sync 
-0x2a0a 005691 compare 0x02 ,clke_bt ,0x02 
-0x2a0b 005692 nbranch wait_access_mhalfbnd_correlate ,true 
-0x2a0c 005693 branch wait_access_end 
-:      005695 wait_access_clkn_rt:
-0x2a0d 005696 bpatch patch12_1 ,mem_patch12 
-0x2a0e 005697 arg param_conn_access ,timeup 
-0x2a0f 005698 enable decode_fec0 
-0x2a10 005699 correlate clkn_rt ,meet 
-0x2a11 005700 disable decode_fec0 
-0x2a12 005701 nbranch shutdown_radio ,sync 
-0x2a13 005702 rtn 
-:      005704 wait_access_forever:
-0x2a14 005705 bpatch patch12_2 ,mem_patch12 
-0x2a15 005706 enable decode_fec0 
-0x2a16 005707 correlate null ,timeout 
-0x2a17 005708 disable decode_fec0 
-0x2a18 005709 nbranch shutdown_radio ,sync 
-0x2a19 005710 arg param_clke_cal ,clke_rt 
-0x2a1a 005711 and_into 0x1fc ,clke_bt 
-0x2a1b 005712 rtn 
-:      005715 reserve_slot:
-0x2a1c 005716 bpatch patch12_3 ,mem_patch12 
-0x2a1d 005717 iforce rega 
-0x2a1e 005718 deposit bt_clk 
-0x2a1f 005719 iadd temp ,timeup 
-0x2a20 005720 copy timeup ,pdata 
-0x2a21 005721 store 4 ,mem_next_btclk 
-0x2a22 005722 deposit rega 
-0x2a23 005723 rtn 
-:      005726 ahead_window:
-0x2a24 005727 copy pdata ,temp 
-0x2a25 005728 bpatch patch12_4 ,mem_patch12 
-0x2a26 005729 copy temp ,pdata 
-0x2a27 005730 call clk2bt 
-0x2a28 005731 lshift16 bt_clk ,pdata 
-0x2a29 005732 set1 44 ,pdata 
-0x2a2a 005733 call clk_diff 
-0x2a2b 005734 set0 44 ,pdata 
-0x2a2c 005735 call get_clk 
-0x2a2d 005736 call clk_diff 
-0x2a2e 005737 rtn user 
-0x2a2f 005738 call clk2rt 
-0x2a30 005739 iforce stop_watch 
-0x2a31 005740 until null ,timeout 
-0x2a32 005741 rtn 
-:      005744 setup_clk:
-0x2a33 005745 bpatch patch12_5 ,mem_patch12 
-0x2a34 005746 branch setup_clkn ,clknt 
-0x2a35 005747 until clke_rt ,meet 
-:      005748 skip_setup_clke:
-0x2a36 005749 copy clke_bt ,temp 
-0x2a37 005750 branch setup_clknbt 
-:      005751 setup_clkn:
-0x2a38 005752 branch skip_setup_clkn ,attempt 
-0x2a39 005753 until clkn_rt ,meet 
-:      005754 skip_setup_clkn:
-0x2a3a 005755 copy clkn_bt ,temp 
-:      005756 setup_clknbt:
-0x2a3b 005757 branch setup_clk11 ,user 
-0x2a3c 005758 compare 1 ,temp ,3 
-0x2a3d 005759 nbranch setup_clk ,true 
-:      005760 setup_complete:
-0x2a3e 005761 bpatch patch12_6 ,mem_patch12 
-0x2a3f 005762 fetch 1 ,mem_state 
-0x2a40 005763 rtnbit0 state_inconn 
-0x2a41 005764 fetch 4 ,mem_next_btclk 
-0x2a42 005765 isub temp ,pdata 
-0x2a43 005766 nrtn positive 
-0x2a44 005767 sub pdata ,0xff ,null 
-0x2a45 005768 branch setup_clk ,positive 
-0x2a46 005769 rtn 
-:      005770 setup_clk11:
-0x2a47 005771 compare 3 ,temp ,3 
-0x2a48 005772 nbranch setup_clk ,true 
-0x2a49 005773 branch setup_complete 
-:      005775 rf_setup_time:
-0x2a4a 005776 bpatch patch12_7 ,mem_patch12 
-0x2a4b 005777 arg param_rf_setup ,timeup 
-0x2a4c 005778 branch setup_clk 
-:      005780 rf_setup_time_slave_slot:
-0x2a4d 005781 disable user 
-0x2a4e 005782 branch rf_setup_time 
-:      005784 rf_setup_time_master_slot:
-0x2a4f 005785 enable user 
-0x2a50 005786 branch rf_setup_time 
-:      005788 start_transmitter:
-0x2a51 005789 bpatch patch13_0 ,mem_patch13 
-0x2a52 005790 call prep_crypt 
-0x2a53 005791 disable is_rx 
-0x2a54 005792 enable is_tx 
-0x2a55 005793 rtn 
-:      005797 start_tx_native:
-0x2a56 005798 bpatch patch13_1 ,mem_patch13 
-0x2a57 005799 arg param_tx_setup ,timeup 
-0x2a58 005800 until clkn_rt ,meet 
-0x2a59 005801 pulse init_encrypt 
-0x2a5a 005802 rtn 
-:      005804 start_rx_native:
-0x2a5b 005805 bpatch patch13_2 ,mem_patch13 
-0x2a5c 005806 arg param_rx_setup ,timeup 
-0x2a5d 005807 until clkn_rt ,meet 
-0x2a5e 005808 rtn 
-:      005811 start_tx_external:
-0x2a5f 005812 bpatch patch13_3 ,mem_patch13 
-0x2a60 005813 arg param_tx_setup ,timeup 
-0x2a61 005814 until clke_rt ,meet 
-0x2a62 005815 pulse init_encrypt 
-0x2a63 005816 rtn 
-:      005818 send_access_word:
-0x2a64 005819 bpatch patch13_4 ,mem_patch13 
-0x2a65 005820 preload access 
-0x2a66 005821 enable encode_fec0 
-0x2a67 005822 set1 txgfsk ,radio_ctrl 
-0x2a68 005823 inject mod ,72 
-0x2a69 005824 disable encode_fec0 
-0x2a6a 005825 rtn 
-:      005828 scan_mode_whiten:
-0x2a6b 005829 copy xin ,temp 
-0x2a6c 005830 or_into 0x60 ,temp 
-0x2a6d 005831 copy temp ,white_init 
-0x2a6e 005832 rtn 
-:      005837 get_free_amaddr:
-0x2a6f 005838 bpatch patch13_5 ,mem_patch13 
-0x2a70 005839 fetch 1 ,mem_current_amaddr 
-0x2a71 005840 increase 1 ,pdata 
-0x2a72 005841 bne param_esco_addr ,get_free_amaddr_cont 
-0x2a73 005842 force 1 ,pdata 
-:      005843 get_free_amaddr_cont:
-0x2a74 005844 store 1 ,mem_current_amaddr 
-0x2a75 005845 iforce am_addr 
-0x2a76 005846 rtn 
-:      005848 get_clk:
-0x2a77 005849 copy clkn ,temp 
-0x2a78 005850 rtn master 
-0x2a79 005851 copy clke ,temp 
-0x2a7a 005852 rtn 
-:      005854 get_clkbt:
-0x2a7b 005855 deposit clkn_bt 
-0x2a7c 005856 rtn master 
-0x2a7d 005857 deposit clke_bt 
-0x2a7e 005858 rtn 
-:      005861 supervision_update:
-0x2a7f 005862 bpatch patch13_6 ,mem_patch13 
-0x2a80 005863 fetcht 4 ,mem_supervision_timer 
-0x2a81 005864 call get_clkbt 
-0x2a82 005865 isub temp ,timeup 
-0x2a83 005866 deposit timeup 
-0x2a84 005867 fetcht 2 ,mem_supervision_to 
-0x2a85 005868 lshift temp ,temp 
-0x2a86 005869 isub temp ,pdata 
-0x2a87 005870 rtn 
-:      005872 supervision_flush:
-0x2a88 005873 bpatch patch13_7 ,mem_patch13 
-0x2a89 005874 call get_clkbt 
-0x2a8a 005875 store 4 ,mem_supervision_timer 
-0x2a8b 005876 rtn 
-:      005878 assert:
-0x2a8c 005879 bpatch patch14_0 ,mem_patch14 
-0x2a8d 005880 branch assert 
-:      005882 loop:
-0x2a8e 005883 branch loop 
-:      005885 sleep:
-0x2a8f 005886 rtn blank 
-0x2a90 005888 rshift pdata ,pdata 
-0x2a91 005889 increase -3 ,pdata 
-:      005890 sleep_loop:
-0x2a92 005891 increase -1 ,pdata 
-0x2a93 005892 nbranch sleep_loop ,zero 
-0x2a94 005893 force 0 ,pdata 
-0x2a95 005894 rtn 
-:      005898 init_param:
-0x2a96 005900 arg 0x10 ,loopcnt 
-0x2a97 005901 arg 0 ,contw 
-0x2a98 005902 call memset0 
-0x2a99 005903 arg mem_le_state ,contw 
-0x2a9a 005904 arg 10 ,loopcnt 
-0x2a9b 005905 call memset0 
-0x2a9c 005906 jam 0 ,mem_sp_calc 
-0x2a9d 005907 jam 0 ,mem_fifo_temp 
-0x2a9e 005908 jam 0 ,mem_le_testtype 
-0x2a9f 005909 jam 0 ,mem_debug_config 
-0x2aa0 005910 jam 0 ,mem_lmp_conn_state 
-0x2aa1 005911 bpatch patch14_1 ,mem_patch14 
-0x2aa2 005912 jam 0 ,mem_connection_options 
-0x2aa3 005913 jam 0 ,mem_tester_emulate 
-0x2aa4 005914 jam 0 ,mem_tester_cnt 
-0x2aa5 005915 setarg param_glap 
-0x2aa6 005916 store 3 ,mem_glap 
-0x2aa7 005917 setarg param_acl_pktlen 
-0x2aa8 005918 store 2 ,mem_acl_pktlen 
-0x2aa9 005919 jam param_sco_pktlen ,mem_sco_pktlen 
-0x2aaa 005920 jam param_acl_pktcnt ,mem_acl_pktcnt 
-0x2aab 005921 jam param_sco_pktcnt ,mem_sco_pktcnt 
-0x2aac 005922 setarg param_hci_version 
-0x2aad 005923 store 3 ,mem_hci_version 
-0x2aae 005928 jam 0x60 ,mem_fhs_misc 
-0x2aaf 005929 jam param_max_slot ,mem_max_slot 
-0x2ab0 005930 jam 0x02 ,mem_fw_ver 
-0x2ab1 005931 fetch 1 ,mem_ssp_enable 
-0x2ab2 005932 ncall init_memp ,blank 
-0x2ab3 005933 fetch 1 ,mem_le_secure_connect_enable 
-0x2ab4 005934 ncall init_memp_256 ,blank 
-0x2ab5 005935 bpatch patch14_2 ,mem_patch14 
-0x2ab6 005936 rtn wake 
-0x2ab7 005937 setarg 0 
-0x2ab8 005938 store 2 ,mem_tx_len 
-0x2ab9 005939 rshift clkn_bt ,pdata 
-0x2aba 005940 store 4 ,mem_last_clkn 
-0x2abb 005941 rtn 
-:      005948 lpmstate:
-0x2abc 005949 setarg 0xee21 
-0x2abd 005950 hstore 2 ,core_clkoff 
-0x2abe 005951 hfetch 4 ,core_gpio_in 
-0x2abf 005952 store 4 ,mem_saved_gpio_in 
-0x2ac0 005953 hfetch 1 ,core_lpm_ldocnt 
-0x2ac1 005954 store 1 ,mem_wakup_from_power_flag 
-0x2ac2 005955 bbit0 gpio_latch ,loadcode 
-0x2ac3 005956 enable wake 
-0x2ac4 005957 bbit0 cold_wake ,lpmwake 
-0x2ac5 005958 disable wake 
-0x2ac6 005959 deposit auxcnt 
-0x2ac7 005960 nbranch lpmwake ,blank 
-0x2ac8 005961 hfetch 1 ,core_lpm_ctrl + 3 
-0x2ac9 005962 bbit1 reload_code ,lpmwake 
-0x2aca 005963 arg param_hibernate_clks ,temp 
-0x2acb 005964 branch lpm_enter_sleep 
-:      005965 lpmwake:
-0x2acc 005966 hfetch 3 ,core_lpm_xtalcnt 
-0x2acd 005967 hstore 3 ,core_lpm_reg 
-0x2ace 005968 ifetch 1 ,contr 
-0x2acf 005969 or_into isogate_mask ,pdata 
-0x2ad0 005970 istore 1 ,contw 
-0x2ad1 005971 call lpm_write_ctrl2 
-0x2ad2 005972 hfetch 1 ,core_lpm_isogate 
-0x2ad3 005973 set1 enable_retmem ,pdata 
-0x2ad4 005974 hstore 1 ,core_lpm_isogate 
-0x2ad5 005975 call lpm_write_ctrl2 
-0x2ad6 005976 call lpm_load_context ,wake 
-0x2ad7 005977 hfetch 1 ,core_lpm_reg + 2 
-0x2ad8 005978 set0 gpio_latch ,pdata 
-0x2ad9 005979 hstore 1 ,core_lpm_reg + 2 
-0x2ada 005980 call lpm_write_ctrl2 
-0x2adb 005981 nbranch loadcode ,wake 
-0x2adc 005982 rtnmark0 mark_otp_encrypt 
-0x2add 005983 jam lock_otp ,core_misc_ctrl 
-0x2ade 005984 rtn 
-:      005986 lpm_load_context:
-0x2adf 005987 fetch 1 ,mem_saved_spidctrl 
-0x2ae0 005988 hstore 1 ,core_spid_ctrl 
-0x2ae1 005989 fetch 3 ,mem_saved_gsel 
-0x2ae2 005990 hstore 3 ,core_gpio_sel 
-0x2ae3 005991 fetch 4 ,mem_saved_gpio + 4 
-0x2ae4 005992 hstore 4 ,core_gpio_out0 
-0x2ae5 005993 fetch 4 ,mem_saved_gpio 
-0x2ae6 005994 hstore 4 ,core_gpio_oe0 
-0x2ae7 005995 fetch 8 ,mem_saved_gpio + 8 
-0x2ae8 005996 hstore 8 ,core_gpio_pu0 
-0x2ae9 005997 fetch 8 ,mem_saved_mark 
-0x2aea 005998 iforce mark 
-0x2aeb 005999 hfetch 8 ,core_gpio_wakeup_low 
-0x2aec 006000 store 8 ,mem_gpio_wakeup_low 
-0x2aed 006001 call load_ucode 
-0x2aee 006002 rtn 
-:      006004 lpm_save_context:
-0x2aef 006005 deposit mark 
-0x2af0 006006 store 8 ,mem_saved_mark 
-0x2af1 006007 hfetch 8 ,core_gpio_oe0 
-0x2af2 006008 store 8 ,mem_saved_gpio 
-0x2af3 006009 ifetch 8 ,contr 
-0x2af4 006010 istore 8 ,contw 
-0x2af5 006011 hfetch 3 ,core_gpio_sel 
-0x2af6 006012 store 3 ,mem_saved_gsel 
-0x2af7 006013 hfetch 1 ,core_spid_ctrl 
-0x2af8 006014 store 1 ,mem_saved_spidctrl 
-0x2af9 006015 branch lpm_write_gpio_wakeup 
-:      006017 lpo_calibration:
-0x2afa 006018 hfetch 1 ,core_bist_ctrl 
-0x2afb 006019 nbranch lpo_cal_inited ,blank 
-0x2afc 006020 fetch 3 ,mem_clks_per_lpo 
-0x2afd 006021 nrtn blank 
-0x2afe 006022 jam 0xc0 ,core_bist_ctrl 
-0x2aff 006023 jam ccnt_start ,core_misc_ctrl 
-:      006024 lpo_cal_inited:
-0x2b00 006025 hfetch 1 ,core_perf_status 
-0x2b01 006026 rtnbit0 1 
-0x2b02 006027 hfetch 3 ,core_clk_counter 
-0x2b03 006028 store 3 ,mem_clks_per_lpo 
-0x2b04 006029 rtn 
-:      006033 lpm_adjust_clk:
-0x2b05 006034 bpatch patch14_3 ,mem_patch14 
-0x2b06 006035 deposit clke 
-0x2b07 006036 call clk_diff_rt 
-0x2b08 006037 fetcht 4 ,mem_sleep_counter_all 
-0x2b09 006038 sub temp ,0xff ,null 
-0x2b0a 006039 rtn positive 
-0x2b0b 006040 lshift8 pdata ,pdata 
-0x2b0c 006041 lshift4 pdata ,pdata 
-0x2b0d 006042 idiv temp 
-0x2b0e 006043 call wait_div_end 
-0x2b0f 006044 quotient pdata 
-0x2b10 006045 arg param_lpm_adjmax ,temp 
-0x2b11 006046 call ceiling 
-0x2b12 006047 store 1 ,mem_lpm_adjust 
-0x2b13 006048 nbranch lpm_adjust_positive ,user 
-0x2b14 006049 sub pdata ,0 ,pdata 
-:      006050 lpm_adjust_positive:
-0x2b15 006051 fetcht 3 ,mem_clks_per_lpo 
-0x2b16 006052 iadd temp ,pdata 
-0x2b17 006053 store 3 ,mem_clks_per_lpo 
-:      006054 lpm_clear_counter:
-0x2b18 006055 setarg 0 
-0x2b19 006056 store 4 ,mem_sleep_counter_all 
-0x2b1a 006057 rtn 
-:      006061 lpm_doze:
-0x2b1b 006062 fetch 1 ,mem_lpm_config + 2 
-0x2b1c 006063 set1 reload_code ,pdata 
-0x2b1d 006064 store 1 ,mem_lpm_config + 2 
-0x2b1e 006065 branch lpm_hibernate_normal 
-:      006069 lpm_hibernate:
-0x2b1f 006070 arg param_hibernate_clks ,temp 
-0x2b20 006071 fetch 1 ,mem_lpm_config + 1 
-0x2b21 006072 set0 7 ,pdata 
-0x2b22 006073 store 1 ,mem_lpm_config + 1 
-:      006074 lpm_hibernate_normal:
-0x2b23 006075 bpatch patch14_4 ,mem_patch14 
-0x2b24 006076 call lpm_write_gpio_wakeup 
-0x2b25 006077 fetch 1 ,mem_lpm_hibernate_switch 
-0x2b26 006078 store 1 ,mem_lpm_xtalcnt + 4 
-0x2b27 006079 fetch 1 ,mem_lpm_xtalcnt + 2 
-0x2b28 006080 set1 cold_wake ,pdata 
-0x2b29 006081 store 1 ,mem_lpm_xtalcnt + 2 
-:      006084 lpm_sleep:
-0x2b2a 006085 bpatch patch14_5 ,mem_patch14 
-0x2b2b 006086 call xtal_fast_wake 
-0x2b2c 006087 fetch 4 ,mem_sleep_counter_all 
-0x2b2d 006088 iadd temp ,pdata 
-0x2b2e 006089 store 4 ,mem_sleep_counter_all 
-0x2b2f 006090 call lpm_save_context 
-0x2b30 006091 fetch 5 ,mem_lpm_xtalcnt 
-0x2b31 006092 hstore 4 ,core_lpm_reg 
-0x2b32 006093 rshift32 pdata ,rega 
-0x2b33 006094 until null ,lpo_edge 
-0x2b34 006095 deposit clkn 
-0x2b35 006096 store 6 ,mem_sleep_clkn 
-0x2b36 006097 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
-0x2b37 006098 until null ,lpo_edge 
-0x2b38 006099 until null ,lpo_edge 
-0x2b39 006100 deposit rega 
-0x2b3a 006101 hstore 1 ,core_lpm_isogate 
-0x2b3b 006102 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
-:      006103 lpm_enter_sleep:
-0x2b3c 006104 until null ,lpo_edge 
-0x2b3d 006105 until null ,lpo_edge 
-0x2b3e 006106 hstoret 4 ,core_lpm_reg 
-0x2b3f 006107 jam lpmreg_sel_counter ,core_lpm_wr 
-0x2b40 006108 until null ,never 
-:      006113 lpm_recover_clk:
-0x2b41 006114 bpatch patch14_6 ,mem_patch14 
-0x2b42 006115 setarg 0 
-0x2b43 006116 copy auxcnt ,null 
-0x2b44 006117 branch lpm_recover_timeout ,zero 
-0x2b45 006118 hfetch 1 ,core_lpm_xtalcnt 
-0x2b46 006119 hfetcht 1 ,core_lpm_buckcnt 
-0x2b47 006120 isub temp ,null 
-0x2b48 006121 branch lpm_recover_xtal ,positive 
-0x2b49 006122 deposit temp 
-:      006123 lpm_recover_xtal:
-0x2b4a 006124 isub auxcnt ,pdata 
-0x2b4b 006125 increase 1 ,pdata 
-:      006126 lpm_recover_timeout:
-0x2b4c 006127 increase 8 ,pdata 
-0x2b4d 006128 until null ,lpo_edge 
-0x2b4e 006129 iadd lpo_time ,pdata 
-0x2b4f 006130 fetcht 4 ,mem_sleep_counter 
-0x2b50 006131 iadd temp ,pdata 
-0x2b51 006132 fetcht 3 ,mem_clks_per_lpo 
-0x2b52 006133 imul32 temp ,pdata 
-0x2b53 006134 rshift8 pdata ,pdata 
-0x2b54 006135 rshift4 pdata ,pdata 
-0x2b55 006136 increase param_lpm_fix ,pdata 
-0x2b56 006137 arg 3750 ,temp 
-0x2b57 006138 idiv temp 
-0x2b58 006139 call wait_div_end 
-0x2b59 006140 quotient pdata 
-0x2b5a 006141 lshift16 pdata ,pdata 
-0x2b5b 006142 remainder temp 
-0x2b5c 006143 ior temp ,pdata 
-0x2b5d 006144 fetcht 6 ,mem_sleep_clkn 
-0x2b5e 006145 call clk_add 
-0x2b5f 006146 copy temp ,clkn 
-0x2b60 006147 fetch 6 ,mem_context + coffset_clk_offset 
-0x2b61 006148 call calc_clke2 
-0x2b62 006149 deposit clke 
-0x2b63 006150 store 6 ,mem_pdatatemp 
-0x2b64 006151 deposit auxcnt 
-0x2b65 006152 istore 1 ,contw 
-0x2b66 006153 hfetch 1 ,core_gpio_in1 
-0x2b67 006154 or_into 0xf0 ,pdata 
-0x2b68 006155 istore 1 ,contw 
-0x2b69 006156 rtn 
-:      006158 lpm_dispatch:
-0x2b6a 006159 bpatch patch14_7 ,mem_patch14 
-0x2b6b 006160 call lpo_calibration 
-0x2b6c 006161 fetch 3 ,mem_clks_per_lpo 
-0x2b6d 006162 rtn blank 
-0x2b6e 006163 fetch 1 ,mem_lpm_mode 
-0x2b6f 006164 rtn blank 
-0x2b70 006165 fetch 1 ,mem_ssp_enable 
-0x2b71 006166 branch lpm_dispatch_next ,blank 
-0x2b72 006167 fetch 1 ,mem_sp_local_key_invalid 
-0x2b73 006168 rtn blank 
-:      006169 lpm_dispatch_next:
-0x2b74 006170 fetch 1 ,mem_le_sc_calc 
-0x2b75 006171 nrtn blank 
-0x2b76 006172 call lpm_check_wake_lock 
-0x2b77 006173 nrtn blank 
-0x2b78 006174 fetch 1 ,mem_context 
-0x2b79 006175 compare 3 ,pdata ,0x7 
-0x2b7a 006176 nbranch lpm_dispatch_unconn ,true 
-0x2b7b 006177 fetch 2 ,mem_context + coffset_tsniff 
-0x2b7c 006178 rtn blank 
-0x2b7d 006179 rtn wake 
-0x2b7e 006180 bpatch patch15_0 ,mem_patch15 
-:      006181 lpm_dispatch_next2:
-0x2b7f 006182 fetcht 1 ,mem_lpm_current_mult 
-0x2b80 006183 fetch 2 ,mem_context + coffset_tsniff 
-0x2b81 006184 imul32 temp ,pdata 
-0x2b82 006185 rshift4 temp ,temp 
-0x2b83 006186 rshift2 temp ,temp 
-0x2b84 006187 isub temp ,pdata 
-0x2b85 006188 fetcht 4 ,mem_context + coffset_sniff_anchor 
-0x2b86 006189 iadd temp ,pdata 
-0x2b87 006190 fetcht 1 ,mem_lpm_overhead 
-0x2b88 006191 isub temp ,pdata 
-0x2b89 006192 lshift16 pdata ,alarm 
-0x2b8a 006193 bpatch patch15_1 ,mem_patch15 
-0x2b8b 006194 fetch 2 ,mem_context + coffset_rx_window 
-0x2b8c 006195 rshift pdata ,pdata 
-0x2b8d 006196 call clk2bt 
-0x2b8e 006197 deposit alarm 
-0x2b8f 006198 call clk_diff 
-0x2b90 006199 copy clke ,temp 
-0x2b91 006200 call clk_diff_rt 
-0x2b92 006201 rtn user 
-:      006202 lpm_dispatch_sleep:
-0x2b93 006203 call clk2lpo 
-:      006204 lpm_dispatch_lpo:
-0x2b94 006205 bpatch patch15_2 ,mem_patch15 
-0x2b95 006206 fetch 1 ,mem_lpm_xtalcnt 
-0x2b96 006207 isub temp ,null 
-0x2b97 006208 branch lpm_clear_counter ,positive 
-0x2b98 006209 storet 4 ,mem_sleep_counter 
-0x2b99 006210 call app_will_enter_lpm 
-0x2b9a 006211 call l2cap_lpm_save_txbuf 
-0x2b9b 006212 fetcht 4 ,mem_sleep_counter 
-0x2b9c 006213 branch lpm_sleep 
-:      006215 lpm_dispatch_unconn:
-0x2b9d 006216 bpatch patch15_3 ,mem_patch15 
-0x2b9e 006217 fetch 1 ,mem_context 
-0x2b9f 006218 rtnbit1 state_inconn 
-0x2ba0 006219 rtnbit1 state_inpage 
-0x2ba1 006220 fetch 1 ,mem_ssp_enable 
-0x2ba2 006221 branch lpm_unconn_nossp ,blank 
-0x2ba3 006222 fetch 1 ,mem_sp_local_key_invalid 
-0x2ba4 006223 rtn blank 
-:      006224 lpm_unconn_nossp:
-0x2ba5 006225 bpatch patch15_4 ,mem_patch15 
-0x2ba6 006226 fetch 1 ,mem_le_adv_enable 
-0x2ba7 006227 nbranch lpm_unconn_cont ,blank 
-0x2ba8 006228 fetch 1 ,mem_scan_mode 
-0x2ba9 006229 rtn blank 
-:      006230 lpm_unconn_cont:
-0x2baa 006231 fetch 2 ,mem_lpm_interval 
-0x2bab 006232 rtn blank 
-:      006233 lpm_sleep_btclk:
-0x2bac 006234 fetcht 1 ,mem_lpm_overhead 
-0x2bad 006235 isub temp ,pdata 
-0x2bae 006236 arg 7500 ,temp 
-0x2baf 006237 imul32 temp ,pdata 
-0x2bb0 006238 branch lpm_dispatch_sleep 
-:      006240 lpm_set_mult:
-0x2bb1 006241 bpatch patch15_5 ,mem_patch15 
-0x2bb2 006242 disable wake 
-0x2bb3 006243 fetch 1 ,mem_state 
-0x2bb4 006244 rtnbit0 state_insniff 
-0x2bb5 006245 nbranch lpm_not_match ,match 
-0x2bb6 006246 call lpm_match 
-0x2bb7 006247 fetch 2 ,mem_rx_window_sniff 
-0x2bb8 006248 store 2 ,mem_rx_window 
-0x2bb9 006249 fetch 1 ,mem_arq 
-0x2bba 006250 bbit1 wack ,lpm_mult_short 
-0x2bbb 006251 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
-0x2bbc 006252 call l2cap_malloc_is_fifo_empty 
-0x2bbd 006253 nbranch lpm_mult_short ,blank 
-0x2bbe 006254 fetch 1 ,mem_classic_bt_flag 
-0x2bbf 006255 bbit1 short_mult_flag ,lpm_mult_short 
-:      006256 lpm_mult_wait_timeout:
-0x2bc0 006257 jam 0 ,mem_lpm_current_mult 
-0x2bc1 006258 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
-0x2bc2 006259 fetch 1 ,mem_lpm_mult_cnt 
-0x2bc3 006260 branch lpm_mult_long ,blank 
-0x2bc4 006261 increase -1 ,pdata 
-0x2bc5 006262 store 1 ,mem_lpm_mult_cnt 
-0x2bc6 006263 rtn 
-:      006266 classic_bt_set_mult_short_flag:
-0x2bc7 006267 arg short_mult_flag ,queue 
-0x2bc8 006268 branch classic_bluetooth_set_flag 
-:      006270 classic_bt_clr_mult_short_flag:
-0x2bc9 006271 arg short_mult_flag ,queue 
-0x2bca 006272 branch classic_bluetooth_clr_flag 
-:      006276 lpm_match:
-0x2bcb 006277 jam 0 ,mem_sniff_unint_lost 
-0x2bcc 006278 fetch 3 ,mem_sniff_rcv 
-0x2bcd 006279 increase 1 ,pdata 
-0x2bce 006280 store 3 ,mem_sniff_rcv 
-0x2bcf 006281 rtn 
-:      006283 lpm_not_match:
-0x2bd0 006284 bpatch patch15_6 ,mem_patch15 
-0x2bd1 006285 fetcht 2 ,mem_rx_window_sniff 
-0x2bd2 006286 rshift temp ,temp 
-0x2bd3 006287 fetch 2 ,mem_rx_window 
-0x2bd4 006288 iadd temp ,pdata 
-0x2bd5 006289 store 2 ,mem_rx_window 
-:      006290 lpm_lost:
-0x2bd6 006291 jam 0 ,mem_lpm_current_mult 
-0x2bd7 006292 fetch 3 ,mem_sniff_lost 
-0x2bd8 006293 increase 1 ,pdata 
-0x2bd9 006294 store 3 ,mem_sniff_lost 
-0x2bda 006295 fetch 1 ,mem_sniff_unint_lost 
-0x2bdb 006296 increase 1 ,pdata 
-0x2bdc 006297 store 1 ,mem_sniff_unint_lost 
-0x2bdd 006298 rtn 
-:      006300 lpm_mult_short:
-0x2bde 006301 jam 0 ,mem_lpm_current_mult 
-0x2bdf 006302 fetch 1 ,mem_lpm_mult_timeout 
-0x2be0 006303 store 1 ,mem_lpm_mult_cnt 
-0x2be1 006304 rtn 
-:      006306 lpm_mult_long:
-0x2be2 006307 fetcht 1 ,mem_lpm_mult 
-0x2be3 006308 storet 1 ,mem_lpm_current_mult 
-0x2be4 006309 rtn 
-:      006311 lpm_cal_xtal_startup:
-0x2be5 006312 bpatch patch15_7 ,mem_patch15 
-0x2be6 006313 fetch 1 ,mem_lpm_xtalcnt 
-0x2be7 006314 nrtn blank 
-0x2be8 006315 jam clksel_rc ,core_clksel 
-0x2be9 006316 setarg 0xf0c 
-0x2bea 006317 call lpm_write_config 
-0x2beb 006318 setarg 200000 
-0x2bec 006319 call sleep 
-0x2bed 006320 until null ,lpo_edge 
-0x2bee 006321 copy lpo_time ,alarm 
-0x2bef 006322 call xtal_fast_wake 
-0x2bf0 006323 jam clksel_xtal ,core_clksel 
-0x2bf1 006324 nop 10 
-0x2bf2 006325 until null ,lpo_edge 
-0x2bf3 006326 deposit lpo_time 
-0x2bf4 006327 isub alarm ,pdata 
-0x2bf5 006328 increase 0x30 ,pdata 
-0x2bf6 006329 arg 0xff ,temp 
-0x2bf7 006330 call ceiling 
-0x2bf8 006331 store 1 ,mem_lpm_xtalcnt 
-0x2bf9 006332 nop 30000 
-0x2bfa 006333 nop 30000 
-0x2bfb 006334 nop 30000 
-0x2bfc 006335 rtn 
-:      006337 lpm_cal_xtal_startup_by_snooze:
-0x2bfd 006338 fetch 1 ,mem_lpm_xtalcnt 
-0x2bfe 006339 nrtn blank 
-0x2bff 006340 jam 0xff ,core_xtal_stable_time 
-0x2c00 006341 jam clksel_rc ,core_clksel 
-0x2c01 006342 call xtal_fast_wake 
-0x2c02 006343 setarg 1000 
-0x2c03 006344 iadd lpo_time ,alarm 
-0x2c04 006345 snooze 
-0x2c05 006346 deposit lpo_time 
-0x2c06 006347 nop 12000 
-0x2c07 006348 nop 12000 
-0x2c08 006349 nop 12000 
-0x2c09 006350 nop 12000 
-0x2c0a 006351 nop 12000 
-0x2c0b 006352 nop 12000 
-0x2c0c 006353 nop 12000 
-0x2c0d 006354 nop 12000 
-0x2c0e 006355 nop 12000 
-0x2c0f 006356 isub alarm ,pdata 
-0x2c10 006357 add pdata ,0x30 ,pdata 
-0x2c11 006358 arg 0xff ,temp 
-0x2c12 006359 call ceiling 
-0x2c13 006360 store 1 ,mem_lpm_xtalcnt 
-0x2c14 006361 nop 30000 
-0x2c15 006362 nop 30000 
-0x2c16 006363 nop 30000 
-0x2c17 006364 rtn 
-:      006369 lpm_write_config:
-0x2c18 006370 arg 0xfff ,contw 
-0x2c19 006371 iand contw ,contw 
-0x2c1a 006372 fetch 1 ,mem_lpm_config 
-0x2c1b 006373 and_into 0xf0 ,pdata 
-0x2c1c 006374 lshift8 pdata ,pdata 
-0x2c1d 006375 ior contw ,pdata 
-0x2c1e 006376 hstore 2 ,core_lpm_reg 
-0x2c1f 006377 ifetch 2 ,contr 
-0x2c20 006378 istore 2 ,contw 
-:      006380 lpm_write_ctrl:
-0x2c21 006381 setarg lpmreg_sel_ctrl 
-0x2c22 006382 branch lpm_write 
-:      006384 lpm_write_ctrl2:
-0x2c23 006385 setarg lpmreg_sel_ctrl2 
-:      006386 lpm_write:
-0x2c24 006387 until null ,lpo_edge 
-0x2c25 006388 hstore 1 ,core_lpm_wr 
-0x2c26 006389 until null ,lpo_edge 
-0x2c27 006390 until null ,lpo_edge 
-0x2c28 006391 rtn 
-:      006394 lpm_write_gpio_wakeup:
-0x2c29 006395 bpatch patch16_0 ,mem_patch16 
-0x2c2a 006396 fetch 4 ,mem_gpio_wakeup_low 
-0x2c2b 006397 hstore 4 ,core_lpm_reg 
-0x2c2c 006398 setarg lpmreg_sel_gpiolow 
-0x2c2d 006399 call lpm_write 
-0x2c2e 006400 fetch 4 ,mem_gpio_wakeup_high 
-0x2c2f 006401 hstore 4 ,core_lpm_reg 
-0x2c30 006402 setarg lpmreg_sel_gpiohigh 
-0x2c31 006403 branch lpm_write 
-:      006405 lpm_get_wake_lock:
-0x2c32 006406 fetch 2 ,mem_lpm_wake_lock 
-0x2c33 006407 qset1 pdata 
-0x2c34 006408 store 2 ,mem_lpm_wake_lock 
-0x2c35 006409 rtn 
-:      006411 lpm_put_wake_lock:
-0x2c36 006412 fetch 2 ,mem_lpm_wake_lock 
-0x2c37 006413 qset0 pdata 
-0x2c38 006414 store 2 ,mem_lpm_wake_lock 
-0x2c39 006415 rtn 
-:      006419 lpm_check_wake_lock:
-0x2c3a 006420 bpatch patch16_1 ,mem_patch16 
-0x2c3b 006421 call app_check_wake_lock 
-0x2c3c 006422 fetch 2 ,mem_lpm_wake_lock 
-0x2c3d 006423 copy pdata ,rega 
-0x2c3e 006424 fetch 1 ,mem_state_map 
-0x2c3f 006425 isolate1 smap_rxlmp ,pdata 
-0x2c40 006426 setflag true ,wake_lock_lmp_rx ,rega 
-0x2c41 006427 fetch 1 ,mem_lmo_opcode1 
-0x2c42 006428 fetcht 1 ,mem_lmo_opcode2 
-0x2c43 006429 iadd temp ,pdata 
-0x2c44 006430 fetcht 1 ,mem_lmp_to_send 
-0x2c45 006431 iadd temp ,pdata 
-0x2c46 006432 nsetflag blank ,wake_lock_lmp_tx ,rega 
-0x2c47 006433 fetch 1 ,mem_le_tx_buff_used 
-0x2c48 006434 nsetflag blank ,wake_lock_ble_tx ,rega 
-0x2c49 006435 fetch 2 ,mem_l2cap_rxbuff1_len 
-0x2c4a 006436 fetcht 2 ,mem_l2cap_rxbuff2_len 
-0x2c4b 006437 iadd temp ,pdata 
-0x2c4c 006438 nsetflag blank ,wake_lock_l2cap_rx ,rega 
-0x2c4d 006439 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
-0x2c4e 006440 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
-0x2c4f 006441 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
-0x2c50 006442 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
-0x2c51 006443 fetch 1 ,mem_hci_cmd 
-0x2c52 006444 nsetflag blank ,wake_lock_cmd ,rega 
-0x2c53 006445 fetch 1 ,mem_device_option 
-0x2c54 006446 compare dvc_op_module ,pdata ,0xff 
-0x2c55 006447 call lpm_uart_wake_lock ,true 
-0x2c56 006448 setarg -8 
-0x2c57 006449 iand rega ,rega 
-0x2c58 006450 copy rega ,pdata 
-0x2c59 006451 store 2 ,mem_lpm_wake_lock 
-0x2c5a 006452 rtn 
-:      006454 lpm_uart_wake_lock:
-0x2c5b 006455 hfetch 2 ,core_uart_rxitems 
-0x2c5c 006456 nsetflag blank ,wake_lock_uart_rx ,rega 
-0x2c5d 006457 hfetch 2 ,core_uart_txitems 
-0x2c5e 006458 nsetflag blank ,wake_lock_uart_tx ,rega 
-0x2c5f 006459 rtn 
-:      006461 lpm_shut_down:
-0x2c60 006462 hfetch 4 ,core_lpm_ctrl 
-0x2c61 006463 set0 27 ,pdata 
-0x2c62 006464 hstore 4 ,core_lpm_reg 
-0x2c63 006465 call lpm_write_ctrl 
-0x2c64 006466 branch assert 
-:      006468 lpm_disable_exen_output:
-0x2c65 006469 hfetch 4 ,core_lpm_xtalcnt 
-0x2c66 006470 set0 20 ,pdata 
-0x2c67 006471 hstore 4 ,core_lpm_reg 
-0x2c68 006472 branch lpm_write_ctrl2 
-:      006474 check_bt_disabled:
-0x2c69 006475 fetch 2 ,mem_chip_functions 
-0x2c6a 006476 bbit1 bt_disabled ,assert 
-0x2c6b 006477 rtn 
-:      006478 check_ble_disabled:
-0x2c6c 006479 fetch 2 ,mem_chip_functions 
-0x2c6d 006480 bbit1 ble_disabled ,assert 
-0x2c6e 006481 rtn 
-:      006482 check_module_disabled:
-0x2c6f 006483 fetch 2 ,mem_chip_functions 
-0x2c70 006484 bbit1 module_disable ,assert 
-0x2c71 006485 rtn 
-:      006546 g24_dispatch:
-0x2c72 006547 bpatch patch16_2 ,mem_patch16 
-0x2c73 006548 call g24_head_ptr2regc 
-0x2c74 006549 add regc ,offset_24g_mode ,regb 
-0x2c75 006550 ifetch 1 ,regb 
-0x2c76 006552 rtneq disable_24g 
-0x2c77 006553 beq tx_24g ,g24_transmit_process 
-0x2c78 006554 beq rx_24g ,g24_receive_process 
-0x2c79 006555 rtn 
-:      006557 g24_head_ptr2regc:
-0x2c7a 006558 fetcht 2 ,mem_24g_head_ptr 
-0x2c7b 006559 copy temp ,regc 
-0x2c7c 006560 rtn 
-:      006562 g24_receive_process_init:
-0x2c7d 006563 call g24_receive_init 
-0x2c7e 006564 branch g24_mode_switch_init 
-:      006566 g24_receive_process:
-0x2c7f 006567 call g24_mode_switch 
-0x2c80 006568 call g24_dongle_work_mode_auto 
-0x2c81 006569 call g24_dongle_bind_mode_auto 
-0x2c82 006570 branch g24_dongle_search_mode_auto 
-:      006573 g24_pair_init:
-0x2c83 006576 call g24_set0_mem_pid 
-0x2c84 006577 setarg g24_pair_ch 
-0x2c85 006578 call g24_store_mem_ch 
-0x2c86 006579 call g24_store_mem_pair_txpower 
-0x2c87 006582 add regc ,offset_24g_paring_addr ,rega 
-0x2c88 006583 ifetch 4 ,rega 
-0x2c89 006584 branch g24_store_mem_addr 
-:      006586 g24_ch:
-0x2c8a 006587 call g24_head_ptr2regc 
-0x2c8b 006588 add regc ,offset_24g_current_ch_number ,regb 
-0x2c8c 006589 ifetcht 1 ,regb 
-0x2c8d 006591 call g24_ch_temp_incre_size4 
-0x2c8e 006592 add regc ,offset_24g_current_ch_number ,contw 
-0x2c8f 006594 branch g24_contw_istoret_1byte 
-:      006596 g24_ch_temp_incre_size4:
-0x2c90 006597 call g24_ch_calc 
-0x2c91 006598 increase 1 ,temp 
-0x2c92 006599 and_into 3 ,temp 
-0x2c93 006600 rtn 
-:      006602 g24_ch_calc:
-0x2c94 006603 add regc ,offset_24g_addr ,regb 
-0x2c95 006604 ifetch 1 ,regb 
-0x2c96 006606 and_into 0x03 ,pdata 
-0x2c97 006607 mul32 pdata ,4 ,rega 
-0x2c98 006608 add regc ,offset_24g_ch_map1 ,pdata 
-0x2c99 006610 iadd rega ,pdata 
-0x2c9a 006611 iadd temp ,contr 
-0x2c9b 006612 ifetch 1 ,contr 
-0x2c9c 006614 branch g24_store_mem_ch 
-:      006616 g24_set_device_addr:
-0x2c9d 006617 call g24_store_mem_tx_power_temp 
-0x2c9e 006618 call otp_enable_chgpump 
-0x2c9f 006619 setarg 0x7e2 
-0x2ca0 006620 arg mem_temp ,rega 
-0x2ca1 006621 arg 4 ,temp 
-0x2ca2 006622 call otpd_read_data 
-0x2ca3 006623 call otp_disable_chgpump 
-0x2ca4 006624 fetch 4 ,mem_temp 
-0x2ca5 006625 call g24_store_mem_device_addr 
-0x2ca6 006627 nrtn blank 
-0x2ca7 006628 fetch 4 ,mem_lap 
-0x2ca8 006630 branch g24_store_mem_device_addr 
-:      006632 g24_transmit_rf_sta_init:
-0x2ca9 006633 call g24_set1_mem_rf_last_sta 
-0x2caa 006635 setarg 0 
-0x2cab 006636 call g24_store_mem_sync_cnt 
-:      006638 g24_transmit_rf_ctrl_clear:
-0x2cac 006639 call g24_fetch_mem_data_type 
-0x2cad 006641 and_into bits_data ,pdata 
-0x2cae 006643 branch g24_store_mem_data_type 
-:      006645 g24_hop_ch_enable:
-0x2caf 006646 call g24_fetch_mem_data_type 
-0x2cb0 006648 set1 bit_hop ,pdata 
-0x2cb1 006649 call g24_store_mem_data_type 
-0x2cb2 006652 branch g24_store_mem_txpayload 
-:      006654 g24_transmit_hop_pac_fail:
-0x2cb3 006655 call g24_fetch_mem_rf_work_stage 
-0x2cb4 006657 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
-0x2cb5 006658 beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
-0x2cb6 006659 rtn 
-:      006661 g24_transmit_hop_pac_fail_wo_hop:
-0x2cb7 006662 call g24_set2_mem_sync_cnt 
-:      006664 g24_transmit_hop_pac_fail_stage1:
-0x2cb8 006665 add regc ,offset_24g_hop_pac_retry ,contw 
-0x2cb9 006666 call g24_mem_set0 
-0x2cba 006668 call g24_store_mem_rf_last_sta 
-0x2cbb 006670 branch g24_transmit_rf_ctrl_clear 
-:      006672 g24_transmit_hop_pac_fail_hop_stage2:
-0x2cbc 006673 call g24_set0_mem_rf_hop_ch 
-0x2cbd 006675 branch g24_transmit_hop_pac_fail_stage1 
-:      006677 g24_transmit_pac_fail_hop_stage3:
-0x2cbe 006678 add regc ,offset_24g_txfail_cnt ,rega 
-0x2cbf 006679 ifetch 1 ,rega 
-0x2cc0 006681 increase 1 ,pdata 
-0x2cc1 006682 add regc ,offset_24g_txfail_cnt ,contw 
-0x2cc2 006683 istore 1 ,contw 
-0x2cc3 006685 beq 0x20 ,g24_tx_attempt_fail 
-0x2cc4 006686 call g24_fetch_mem_rf_hop_ch 
-0x2cc5 006688 beq 1 ,g24_rf_hop_fastly 
-0x2cc6 006689 setarg 1 
-0x2cc7 006690 call g24_store_mem_rf_hop_ch 
-:      006692 g24_rf_hop_attemp_again:
-0x2cc8 006693 call g24_fetch_mem_rf_hop_ch 
-0x2cc9 006695 bne 1 ,g24_transmit_rf_ctrl_clear 
-:      006696 g24_rf_hop_fastly:
-0x2cca 006697 add regc ,offset_24g_hop_fastly_cnt ,rega 
-0x2ccb 006698 ifetch 1 ,rega 
-0x2ccc 006700 increase 1 ,pdata 
-0x2ccd 006701 call g24_store_mem_hop_fastly_cnt 
-0x2cce 006703 beq 4 ,g24_rf_hop_fastly_exit 
-0x2ccf 006704 call g24_ch 
-0x2cd0 006705 call g24_set2_mem_max_retry 
-0x2cd1 006707 branch g24_transmit_packet 
-:      006709 g24_rf_hop_fastly_exit:
-0x2cd2 006710 call g24_set0_mem_hop_fastly_cnt 
-0x2cd3 006712 branch g24_transmit_rf_ctrl_clear 
-:      006714 g24_set0_mem_hop_fastly_cnt:
-0x2cd4 006715 setarg 0 
-:      006716 g24_store_mem_hop_fastly_cnt:
-0x2cd5 006717 add regc ,offset_24g_hop_fastly_cnt ,contw 
-0x2cd6 006718 branch g24_contw_istore_1byte 
-:      006720 g24_transmit_hop_pac_succ_wo_hop:
-0x2cd7 006721 call g24_set2_mem_sync_cnt 
-:      006723 g24_transmit_hop_pac_succ:
-0x2cd8 006724 call g24_set0_mem_rf_hop_ch 
-0x2cd9 006726 call g24_set1_mem_rf_last_sta 
-0x2cda 006728 branch g24_transmit_rf_ctrl_clear 
-:      006730 g24_transmit_succ_rf_config:
-0x2cdb 006731 call g24_fetch_mem_rf_work_stage 
-0x2cdc 006733 beq 3 ,g24_transmit_hop_pac_succ 
-0x2cdd 006734 call g24_fetch_mem_data_type 
-0x2cde 006736 isolate0 bit_hop ,pdata 
-0x2cdf 006737 branch g24_transmit_rf_sta_init ,true 
-0x2ce0 006738 call g24_fetch_mem_rf_work_stage 
-0x2ce1 006740 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
-0x2ce2 006741 beq 2 ,g24_transmit_hop_pac_succ 
-0x2ce3 006742 rtn 
-:      006744 g24_rf_sta_check:
-0x2ce4 006745 call g24_fetch_mem_pairing_sm 
-0x2ce5 006747 rtnne state_24g_pairing_success 
-0x2ce6 006748 call g24_rf_laststa_synccnt_check 
-0x2ce7 006749 ncall g24_rf_sync_cnt_check ,user2 
-0x2ce8 006750 rtn 
-:      006752 g24_rf_laststa_synccnt_check:
-0x2ce9 006753 disable user2 
-0x2cea 006754 add regc ,offset_24g_rf_last_sta ,rega 
-0x2ceb 006755 ifetch 1 ,rega 
-0x2cec 006757 rtnne 1 
-0x2ced 006758 add regc ,offset_24g_sync_cnt ,rega 
-0x2cee 006759 ifetch 1 ,rega 
-0x2cef 006761 rtnne 0 
-0x2cf0 006762 setarg 1 
-0x2cf1 006763 call g24_store_mem_rf_work_stage 
-0x2cf2 006765 call g24_set4_mem_max_retry 
-0x2cf3 006767 branch enable_user2 
-:      006769 g24_rf_sync_cnt_check:
-0x2cf4 006770 add regc ,offset_24g_sync_cnt ,rega 
-0x2cf5 006771 ifetch 1 ,rega 
-0x2cf6 006773 branch g24_rf_hop_attemp ,blank 
-0x2cf7 006774 increase -1 ,pdata 
-0x2cf8 006775 call g24_store_mem_sync_cnt 
-0x2cf9 006777 setarg 2 
-0x2cfa 006778 call g24_store_mem_rf_work_stage 
-0x2cfb 006780 call g24_ch 
-0x2cfc 006782 branch g24_set4_mem_max_retry 
-:      006784 g24_store_mem_rf_work_stage:
-0x2cfd 006785 add regc ,offset_24g_rf_work_stage ,contw 
-0x2cfe 006786 branch g24_contw_istore_1byte 
-:      006789 g24_rf_hop_attemp:
-0x2cff 006790 setarg 3 
-0x2d00 006791 call g24_store_mem_rf_work_stage 
-0x2d01 006793 call g24_fetch_mem_rf_hop_ch 
-0x2d02 006795 nbranch g24_rf_hop_attemp_again ,blank 
-0x2d03 006796 call g24_ch 
-:      006798 g24_set2_mem_max_retry:
-0x2d04 006799 setarg 2 
-0x2d05 006800 branch g24_store_mem_max_retry 
-:      006802 g24_transmit_process:
-0x2d06 006803 rtnmark0 mark_24g 
-0x2d07 006804 set1 mark_24g_conext ,mark 
-0x2d08 006805 bpatch patch16_3 ,mem_patch16 
-0x2d09 006806 add regc ,offset_24g_tx_without_int ,rega 
-0x2d0a 006807 ifetch 1 ,rega 
-0x2d0b 006809 beq 1 ,g24_transmit_without_int 
-0x2d0c 006810 call g24_timer_check 
-0x2d0d 006811 nbranch g24_transmit_exit ,user 
-0x2d0e 006812 call g24_interval_calibrate 
-:      006813 g24_transmit_without_int:
-0x2d0f 006814 add regc ,offset_24g_tx_without_int ,contw 
-0x2d10 006815 call g24_mem_set0 
-0x2d11 006817 call g24_txdata_prep 
-0x2d12 006818 nbranch g24_enter_lpm ,user 
-0x2d13 006819 call g24_rf_sta_check 
-:      006820 g24_transmit_start:
-0x2d14 006821 call g24_transmit_packet 
-0x2d15 006822 call g24_power_ctrl 
-:      006823 g24_transmit_exit:
-0x2d16 006824 set0 mark_24g_conext ,mark 
-0x2d17 006825 rtn 
-:      006827 g24_timer_timeout:
-0x2d18 006828 rtn zero 
-0x2d19 006829 set1 28 ,pdata 
-0x2d1a 006830 rtn 
-:      006832 g24_interval_calibrate:
-0x2d1b 006833 add regc ,offset_24g_pac_index ,rega 
-0x2d1c 006834 ifetch 1 ,rega 
-0x2d1d 006836 increase 1 ,pdata 
-0x2d1e 006837 add regc ,offset_24g_pac_index ,contw 
-0x2d1f 006838 istore 1 ,contw 
-0x2d20 006840 beq 4 ,g24_interval_max 
-0x2d21 006841 beq 5 ,g24_interval_min 
-0x2d22 006842 rtn 
-:      006843 g24_interval_max:
-0x2d23 006844 add regc ,offset_24g_interval_max ,rega 
-0x2d24 006845 ifetch 1 ,rega 
-:      006847 g24_interval_update:
-0x2d25 006849 add regc ,offset_24g_interval ,contw 
-0x2d26 006850 branch g24_contw_istore_1byte 
-:      006852 g24_interval_min:
-0x2d27 006853 add regc ,offset_24g_pac_index ,contw 
-0x2d28 006854 call g24_mem_set0 
-0x2d29 006856 add regc ,offset_24g_interval_min ,rega 
-0x2d2a 006857 ifetch 1 ,rega 
-0x2d2b 006859 branch g24_interval_update 
-:      006861 g24_txdata_prep:
-0x2d2c 006862 call g24_fetch_mem_pairing_sm 
-0x2d2d 006864 bne state_24g_pairing_success ,g24_pairing_sm 
-0x2d2e 006865 bpatch patch16_4 ,mem_patch16 
-0x2d2f 006866 call g24_package_data 
-0x2d30 006867 nbranch g24_txdata_last_pac ,user 
-0x2d31 006868 call g24_transmit_prep 
-0x2d32 006869 call g24_power_ctrl_pac_incrs 
-:      006870 g24_txdata_enable_tx:
-0x2d33 006872 setarg ensure_on_24g 
-:      006873 g24_store_mem_ensure:
-0x2d34 006874 add regc ,offset_24g_ensure ,contw 
-0x2d35 006875 branch g24_contw_istore_1byte 
-:      006877 g24_txdata_last_pac:
-0x2d36 006878 add regc ,offset_24g_ensure ,rega 
-0x2d37 006879 ifetch 1 ,rega 
-0x2d38 006881 beq ensure_on_24g ,enable_user 
-0x2d39 006882 rtn 
-:      006884 g24_package_data:
-0x2d3a 006886 add regc ,offset_24g_cb_data ,temp 
-0x2d3b 006887 ifetch 2 ,temp 
-0x2d3c 006889 call callback_func 
-0x2d3d 006890 nrtn user 
-0x2d3e 006891 copy rega ,pdata 
-0x2d3f 006892 store 1 ,mem_rega 
-0x2d40 006893 add regc ,offset_24g_abort_pac ,contw 
-0x2d41 006894 call g24_mem_set0 
-0x2d42 006896 call g24_transmit_rf_ctrl_clear 
-0x2d43 006897 store 1 ,mem_24g_common_temp 
-0x2d44 006898 fetch 1 ,mem_rega 
-0x2d45 006899 copy pdata ,rega 
-0x2d46 006900 add rega ,1 ,temp 
-0x2d47 006901 arg mem_24g_common_temp + 1 ,contw 
-0x2d48 006902 copy rega ,loopcnt 
-0x2d49 006903 copy regb ,contr 
-0x2d4a 006904 call memcpy 
-0x2d4b 006905 arg mem_24g_common_temp ,rega 
-:      006906 g24_put_data_in_buff:
-0x2d4c 006907 rtnmark0 mark_24g_conext 
-0x2d4d 006908 add regc ,offset_24g_datalen ,contw 
-0x2d4e 006909 istoret 1 ,contw 
-0x2d4f 006911 copy temp ,loopcnt 
-0x2d50 006912 add regc ,offset_24g_txbuf ,contw 
-0x2d51 006914 copy rega ,contr 
-0x2d52 006915 branch memcpy 
-:      006917 g24_transmit_prep:
-0x2d53 006919 add regc ,offset_24g_datalen ,rega 
-0x2d54 006920 ifetch 1 ,rega 
-0x2d55 006922 increase 2 ,pdata 
-0x2d56 006923 add regc ,offset_24g_txlen ,contw 
-0x2d57 006924 istore 1 ,contw 
-0x2d58 006927 call g24_fetch_mem_data_type 
-0x2d59 006929 call g24_store_mem_txpayload 
-0x2d5a 006932 add regc ,offset_24g_datalen ,rega 
-0x2d5b 006933 ifetch 1 ,rega 
-0x2d5c 006935 lshift3 pdata ,pdata 
-0x2d5d 006936 add regc ,offset_24g_pid ,rega 
-0x2d5e 006937 ifetcht 1 ,rega 
-0x2d5f 006939 and temp ,0x03 ,temp 
-0x2d60 006940 lshift temp ,temp 
-0x2d61 006941 ior temp ,pdata 
-0x2d62 006942 add regc ,offset_24g_no_ack ,rega 
-0x2d63 006943 ifetcht 1 ,rega 
-0x2d64 006945 iadd temp ,pdata 
-0x2d65 006946 istore 1 ,contw 
-0x2d66 006948 add regc ,offset_24g_datalen ,rega 
-0x2d67 006949 ifetch 1 ,rega 
-0x2d68 006951 iforce loopcnt 
-0x2d69 006952 add regc ,offset_24g_txbuf ,contr 
-0x2d6a 006954 branch memcpy 
-:      006956 g24_send_abort_packet:
-0x2d6b 006957 call g24_set1_mem_abort_pac 
-0x2d6c 006959 call g24_set0_mem_rf_hop_ch 
-0x2d6d 006961 call g24_power_ctrl_reinit 
-0x2d6e 006962 call g24_transmit_rf_ctrl_clear 
-0x2d6f 006963 store 1 ,mem_24g_common_temp 
-0x2d70 006964 call g24_put_data_in_buff_pre 
-0x2d71 006965 call g24_fetch_mem_data_type 
-0x2d72 006967 set1 bit_abort ,pdata 
-0x2d73 006968 call g24_store_mem_data_type 
-0x2d74 006970 call g24_transmit_prep 
-0x2d75 006971 call g24_txdata_enable_tx 
-0x2d76 006972 branch g24_transmit_start 
-:      006974 g24_put_data_in_buff_pre:
-0x2d77 006975 store 1 ,mem_24g_common_temp + 1 
-0x2d78 006976 call g24_fetch_mem_device_addr 
-0x2d79 006978 store 4 ,mem_24g_common_temp + 2 
-0x2d7a 006979 arg 6 ,temp 
-0x2d7b 006980 arg mem_24g_common_temp ,rega 
-0x2d7c 006981 branch g24_put_data_in_buff 
-:      006983 g24_enter_lpm:
-0x2d7d 006984 add regc ,offset_24g_abort_pac ,rega 
-0x2d7e 006985 ifetch 1 ,rega 
-0x2d7f 006987 branch g24_send_abort_packet ,blank 
-:      006988 g24_enter_lpm_prepare:
-0x2d80 006990 add regc ,offset_24g_cb_lpm_prepare ,rega 
-0x2d81 006991 ifetch 2 ,rega 
-0x2d82 006993 branch callback_func 
-:      006995 g24_lpm_long_sleep:
-0x2d83 006996 call g24_head_ptr2regc 
-0x2d84 006998 call lpo_calibration 
-0x2d85 006999 fetch 3 ,mem_clks_per_lpo 
-0x2d86 007000 rtn blank 
-0x2d87 007001 add regc ,offset_24g_cb_lpm_before ,temp 
-0x2d88 007002 ifetch 2 ,temp 
-0x2d89 007004 call callback_func 
-0x2d8a 007005 add regc ,offset_24g_enter_hibernate ,temp 
-0x2d8b 007006 ifetch 8 ,temp 
-0x2d8c 007007 call clk2lpo 
-0x2d8d 007008 storet 4 ,mem_sleep_counter 
-0x2d8e 007009 branch lpm_sleep 
-:      007011 g24_transmit_packet:
-0x2d8f 007012 call g24_head_ptr2regc 
-0x2d90 007013 add regc ,offset_24g_retry ,contw 
-0x2d91 007014 call g24_mem_set0 
-:      007016 g24_transmit_loop:
-0x2d92 007017 call g24_transmit_receive_ack 
-0x2d93 007018 nbranch g24_retransmit ,sync 
-0x2d94 007019 nbranch g24_retransmit ,user3 
-0x2d95 007020 call g24_ackpayload_parse 
-0x2d96 007021 call g24_power_ctrl_ack_incrs 
-:      007022 g24_transmit_next_packet:
-0x2d97 007023 call g24_head_ptr2regc 
-0x2d98 007024 add regc ,offset_24g_pid ,rega 
-0x2d99 007025 ifetch 1 ,rega 
-0x2d9a 007027 increase 1 ,pdata 
-0x2d9b 007028 call g24_store_mem_pid 
-0x2d9c 007030 call g24_fetch_mem_pairing_sm 
-0x2d9d 007032 bne state_24g_pairing_success ,g24_paring_mode 
-0x2d9e 007033 call g24_transmit_succ_rf_config 
-:      007034 g24_transmit_abandon:
-0x2d9f 007035 setarg 0 
-0x2da0 007036 add regc ,offset_24g_txfail_cnt ,contw 
-0x2da1 007037 istore 2 ,contw 
-0x2da2 007041 setarg ensure_off_24g 
-0x2da3 007042 branch g24_store_mem_ensure 
-:      007045 g24_transmit_receive_ack:
-0x2da4 007046 disable user3 
-0x2da5 007047 call g24_transmit 
-0x2da6 007048 call g24_head_ptr2regc 
-0x2da7 007049 add regc ,offset_24g_no_ack ,rega 
-0x2da8 007050 ifetch 1 ,rega 
-0x2da9 007052 beq no_ack_24g ,g24_transmit_no_ack 
-0x2daa 007053 call g24_receive_packet 
-0x2dab 007054 branch g24_end_of_packet 
-:      007055 g24_transmit_no_ack:
-0x2dac 007056 call g24_end_of_packet 
-0x2dad 007057 branch g24_transmit_next_packet 
-:      007060 g24_retransmit:
-0x2dae 007061 bpatch patch16_5 ,mem_patch16 
-0x2daf 007062 add regc ,offset_24g_get_ack_fail ,rega 
-0x2db0 007063 ifetch 1 ,rega 
-0x2db1 007065 increase 1 ,pdata 
-0x2db2 007066 add regc ,offset_24g_get_ack_fail ,contw 
-0x2db3 007067 istore 1 ,contw 
-0x2db4 007069 call g24_fetch_mem_pairing_sm 
-0x2db5 007071 bne state_24g_pairing_success ,g24_tx_paring_retry 
-0x2db6 007072 add regc ,offset_24g_retry ,rega 
-0x2db7 007073 ifetcht 1 ,rega 
-0x2db8 007075 increase 1 ,temp 
-0x2db9 007076 add regc ,offset_24g_retry ,contw 
-0x2dba 007077 istoret 1 ,contw 
-0x2dbb 007079 add regc ,offset_24g_max_retry ,rega 
-0x2dbc 007080 ifetch 1 ,rega 
-0x2dbd 007082 isub temp ,pdata 
-0x2dbe 007083 nbranch g24_transmit_loop ,blank 
-0x2dbf 007084 bpatch patch16_6 ,mem_patch16 
-0x2dc0 007085 call g24_fetch_mem_rf_work_stage 
-0x2dc1 007087 beq 3 ,g24_transmit_pac_fail_hop_stage3 
-0x2dc2 007088 add regc ,offset_24g_hop_pac_retry ,rega 
-0x2dc3 007089 ifetch 1 ,rega 
-0x2dc4 007091 increase 1 ,pdata 
-0x2dc5 007092 add regc ,offset_24g_hop_pac_retry ,contw 
-0x2dc6 007093 istore 1 ,contw 
-0x2dc7 007095 beq 2 ,g24_transmit_hop_pac_fail 
-0x2dc8 007096 call g24_hop_ch_enable 
-0x2dc9 007097 setarg 1 
-0x2dca 007098 call g24_store_mem_max_retry 
-0x2dcb 007100 branch g24_transmit_packet 
-:      007102 g24_tx_paring_retry:
-0x2dcc 007103 add regc ,offset_24g_get_ack_fail ,rega 
-0x2dcd 007104 ifetch 1 ,rega 
-0x2dce 007106 rtnne 0xff 
-0x2dcf 007107 add regc ,offset_24g_get_ack_fail ,contw 
-0x2dd0 007108 call g24_mem_set0 
-0x2dd1 007110 branch g24_stop_24g_mode 
-:      007112 g24_tx_attempt_fail:
-0x2dd2 007113 add regc ,offset_24g_txfail_cnt ,contw 
-0x2dd3 007114 call g24_mem_set0 
-:      007116 g24_stop_24g_mode:
-0x2dd4 007117 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
-0x2dd5 007118 branch ui_ipc_send_event 
-:      007120 g24_ackpayload_parse:
-0x2dd6 007121 call g24_read_len_pid_crc 
-0x2dd7 007122 add regc ,offset_24g_rxdata_length ,rega 
-0x2dd8 007123 ifetch 1 ,rega 
-0x2dd9 007125 rtn blank 
-0x2dda 007126 iforce loopcnt 
-0x2ddb 007127 add regc ,offset_24g_rxbuf_add2 ,contr 
-0x2ddc 007129 add regc ,offset_24g_rxpayload ,contw 
-0x2ddd 007131 branch memcpy 
-:      007134 g24_read_len_pid_crc:
-0x2dde 007136 call g24_fetch_mem_rxbuf_add1 
-0x2ddf 007138 rshift3 pdata ,pdata 
-0x2de0 007139 add regc ,offset_24g_rxdata_length ,contw 
-0x2de1 007140 istore 1 ,contw 
-0x2de2 007143 increase 1 ,pdata 
-0x2de3 007144 add regc ,offset_24g_rxbuf_add1 ,contr 
-0x2de4 007146 iadd contr ,contr 
-0x2de5 007147 ifetch 3 ,contr 
-0x2de6 007148 add regc ,offset_24g_sta_crc ,contw 
-0x2de7 007149 istore 3 ,contw 
-0x2de8 007152 call g24_fetch_mem_rxbuf_add1 
-0x2de9 007154 rshift pdata ,pdata 
-0x2dea 007155 and pdata ,0x03 ,pdata 
-0x2deb 007156 add regc ,offset_24g_sta_pid ,contw 
-0x2dec 007157 istore 1 ,contw 
-0x2ded 007159 rtn 
-:      007161 g24_prep:
-0x2dee 007162 disable enable_crc 
-0x2def 007163 disable enable_white 
-0x2df0 007164 setarg 0x555555 
-0x2df1 007165 iforce crc24_init 
-0x2df2 007166 rtn 
-:      007168 g24_set_freq_tx:
-0x2df3 007169 call set_sync_on 
-0x2df4 007170 add regc ,offset_24g_ch ,rega 
-0x2df5 007171 ifetcht 1 ,rega 
-0x2df6 007173 branch set_freq_tx 
-:      007175 g24_transmit:
-0x2df7 007176 call g24_prep 
-0x2df8 007177 call g24_set_freq_tx 
-0x2df9 007178 set1 txgfsk ,radio_ctrl 
-0x2dfa 007179 enable encode_fec0 
-0x2dfb 007180 enable is_tx 
-0x2dfc 007181 disable is_rx 
-0x2dfd 007182 call le_enable 
-0x2dfe 007183 call g24_fetch_mem_addr 
-0x2dff 007185 iforce access 
-0x2e00 007186 inject mod ,32 
-0x2e01 007187 enable enable_crc 
-0x2e02 007188 add regc ,offset_24g_txlen ,rega 
-0x2e03 007189 ifetch 1 ,rega 
-0x2e04 007191 iforce loopcnt 
-0x2e05 007192 add regc ,offset_24g_txpayload ,contr 
-:      007194 g24tr_loop:
-0x2e06 007195 ifetch 1 ,contr 
-0x2e07 007196 inject mod ,8 
-0x2e08 007197 loop g24tr_loop 
-0x2e09 007198 enable enable_parity 
-0x2e0a 007199 inject mod ,24 
-0x2e0b 007200 disable enable_parity 
-0x2e0c 007201 until null ,tx_clear 
-0x2e0d 007202 bpatch patch16_7 ,mem_patch16 
-0x2e0e 007203 nop 100 
-0x2e0f 007204 disable encode_fec0 
-0x2e10 007205 rtn 
-:      007207 g24_receive_packet:
-0x2e11 007208 disable user3 
-0x2e12 007209 force 0 ,radio_ctrl 
-0x2e13 007210 add regc ,offset_24g_ch ,rega 
-0x2e14 007211 ifetcht 1 ,rega 
-0x2e15 007213 call set_freq_rx 
-0x2e16 007214 call rf_rx_enable 
-:      007215 g24_receive_rxon:
-0x2e17 007216 call g24_prep 
-0x2e18 007217 enable decode_fec0 
-0x2e19 007218 enable is_rx 
-0x2e1a 007219 disable is_tx 
-0x2e1b 007220 call le_enable 
-0x2e1c 007221 call g24_fetch_mem_addr 
-0x2e1d 007223 iforce access 
-0x2e1e 007224 enable swfine 
-0x2e1f 007225 add regc ,offset_24g_rx_window ,rega 
-0x2e20 007226 ifetch 2 ,rega 
-0x2e21 007228 iforce stop_watch 
-0x2e22 007229 correlate null ,timeout 
-0x2e23 007230 nbranch g24_sync_timeout ,sync 
-0x2e24 007231 enable enable_crc 
-0x2e25 007232 parse demod ,bucket ,8 
-0x2e26 007233 rshift3 pwindow ,pdata 
-0x2e27 007234 add regc ,offset_24g_rxbuf ,contw 
-0x2e28 007235 istore 1 ,contw 
-0x2e29 007237 add regc ,offset_24g_mode ,rega 
-0x2e2a 007238 ifetch 1 ,rega 
-0x2e2b 007240 beq rx_24g ,g24_receive_skip 
-0x2e2c 007241 bpatch patch17_0 ,mem_patch17 
-0x2e2d 007242 add regc ,offset_24g_rxbuf ,rega 
-0x2e2e 007243 ifetch 1 ,rega 
-0x2e2f 007245 add regc ,offset_24g_data_type ,rega 
-0x2e30 007246 ifetcht 1 ,rega 
-0x2e31 007248 icompare bits_data ,temp 
-0x2e32 007249 nbranch g24_end_of_packet ,true 
-:      007250 g24_receive_skip:
-0x2e33 007251 parse demod ,bucket ,8 
-0x2e34 007252 rshift3 pwindow ,pdata 
-0x2e35 007253 istore 1 ,contw 
-0x2e36 007254 rshift3 pdata ,pdata 
-0x2e37 007255 and pdata ,0x1f ,loopcnt 
-0x2e38 007256 branch g24rx_nopayload ,zero 
-:      007257 g24rx_loop:
-0x2e39 007258 parse demod ,bucket ,8 
-0x2e3a 007259 rshift3 pwindow ,pdata 
-0x2e3b 007260 istore 1 ,contw 
-0x2e3c 007261 loop g24rx_loop 
-:      007262 g24rx_nopayload:
-0x2e3d 007263 parse demod ,bucket ,24 
-0x2e3e 007264 rshift32 pdata ,pdata 
-0x2e3f 007265 rshift16 pdata ,pdata 
-0x2e40 007266 istore 3 ,contw 
-0x2e41 007267 branch g24_end_of_packet ,crc_failed 
-0x2e42 007268 enable user3 
-0x2e43 007269 disable decode_fec0 
-0x2e44 007270 rtn 
-:      007273 g24_end_of_packet:
-0x2e45 007274 disable encode_fec0 
-0x2e46 007275 disable decode_fec0 
-0x2e47 007276 disable enable_crc 
-0x2e48 007277 disable enable_white 
-0x2e49 007278 branch shutdown_radio ,is_rx 
-0x2e4a 007279 until null ,tx_clear 
-0x2e4b 007280 nop 100 
-0x2e4c 007281 branch shutdown_radio 
-:      007283 g24_sync_timeout:
-0x2e4d 007284 call rssi_noise 
-0x2e4e 007285 branch g24_end_of_packet 
-:      007287 rssi_noise:
-0x2e4f 007288 call save_rssi 
-0x2e50 007289 rtn blank 
-0x2e51 007290 add regc ,offset_rssi_noise_index ,rega 
-0x2e52 007291 ifetcht 1 ,rega 
-0x2e53 007293 arg mem_rssi_noise_buffer ,rega 
-0x2e54 007295 call rssi_noise_store 
-0x2e55 007296 add regc ,offset_rssi_noise_index ,contw 
-:      007298 g24_contw_istoret_1byte:
-0x2e56 007299 istoret 1 ,contw 
-0x2e57 007300 rtn 
-:      007302 rssi_noise_store:
-0x2e58 007303 arg rssi_buf_len_noise ,regb 
-0x2e59 007304 branch rssi_store 
-:      007322 rssi_store:
-0x2e5a 007323 copy rega ,pdata 
-0x2e5b 007324 iadd temp ,contw 
-0x2e5c 007325 fetch 1 ,mem_rssi 
-0x2e5d 007326 istore 1 ,contw 
-0x2e5e 007327 increase 1 ,temp 
-0x2e5f 007328 copy regb ,pdata 
-0x2e60 007329 iand_into temp 
-0x2e61 007330 rtn 
-:      007332 rssi_average:
-0x2e62 007333 arg 0 ,temp 
-0x2e63 007334 copy rega ,contr 
-:      007335 rssi_average_loop:
-0x2e64 007336 ifetch 1 ,contr 
-0x2e65 007337 iadd temp ,temp 
-0x2e66 007338 loop rssi_average_loop 
-0x2e67 007339 rshift8 temp ,temp 
-0x2e68 007340 rtn 
-:      007342 g24_power_ctrl_init:
-0x2e69 007343 call g24_head_ptr2regc 
-0x2e6a 007344 call g24_power_ctrl_incrs_level1 
-0x2e6b 007345 setarg 1 
-0x2e6c 007346 call g24_store_mem_power_ctrl_level 
-:      007348 g24_power_ctrl_reinit:
-0x2e6d 007349 setarg 0 
-0x2e6e 007350 call g24_store_mem_power_ctrl_pac 
-0x2e6f 007352 istore 1 ,contw 
-0x2e70 007354 rtn 
-:      007356 g24_power_ctrl_pac_incrs:
-0x2e71 007357 call g24_fetch_mem_power_ctrl_pac 
-0x2e72 007359 increase 1 ,pdata 
-:      007360 g24_store_mem_power_ctrl_pac:
-0x2e73 007362 add regc ,offset_power_ctrl_packet_cnt ,contw 
-0x2e74 007363 branch g24_contw_istore_1byte 
-:      007365 g24_power_ctrl_ack_incrs:
-0x2e75 007368 add regc ,offset_power_ctrl_ack_cnt ,rega 
-0x2e76 007369 ifetch 1 ,rega 
-0x2e77 007370 increase 1 ,pdata 
-0x2e78 007371 add regc ,offset_power_ctrl_ack_cnt ,contw 
-0x2e79 007372 branch g24_contw_istore_1byte 
-:      007374 g24_power_ctrl:
-0x2e7a 007375 bpatch patch17_1 ,mem_patch17 
-0x2e7b 007376 call g24_fetch_mem_power_ctrl_pac 
-0x2e7c 007378 sub pdata ,power_ctrl_max_packet_cnt ,null 
-0x2e7d 007379 rtn positive 
-0x2e7e 007380 add regc ,offset_power_ctrl_ack_cnt ,rega 
-0x2e7f 007381 ifetcht 1 ,rega 
-0x2e80 007383 isub temp ,temp 
-0x2e81 007384 call g24_power_ctrl_reinit 
-0x2e82 007385 setarg offset_power_ctrl_threshold_up 
-0x2e83 007386 iadd regc ,rega 
-0x2e84 007387 ifetch 1 ,rega 
-0x2e85 007389 isub temp ,null 
-0x2e86 007390 nbranch g24_power_ctrl_incrs ,positive 
-0x2e87 007391 setarg offset_power_ctrl_threshold_down 
-0x2e88 007392 iadd regc ,rega 
-0x2e89 007393 ifetch 1 ,rega 
-0x2e8a 007395 isub temp ,null 
-0x2e8b 007396 branch g24_power_ctrl_decrs ,positive 
-0x2e8c 007397 rtn 
-:      007399 g24_power_ctrl_incrs:
-0x2e8d 007400 add regc ,offset_power_ctrl_level ,rega 
-0x2e8e 007401 ifetch 1 ,rega 
-0x2e8f 007403 beq 2 ,g24_power_ctrl_incrs_level2 
-0x2e90 007404 increase 1 ,pdata 
-0x2e91 007405 call g24_store_mem_power_ctrl_level 
-0x2e92 007407 beq 1 ,g24_power_ctrl_incrs_level1 
-:      007408 g24_power_ctrl_incrs_level2:
-0x2e93 007409 setarg power_ctrl_losspac_thresh_up2 
-0x2e94 007410 call g24_store_mem_power_ctrl_threshold_up 
-0x2e95 007412 setarg power_ctrl_losspac_thresh_down2 
-0x2e96 007413 call g24_store_mem_power_ctrl_threshold_down 
-0x2e97 007416 add regc ,offset_power_ctrl_txpwr_level2 ,rega 
-0x2e98 007418 branch g24_ifetch_rega_store_mem_txpower 
-:      007420 g24_power_ctrl_decrs:
-0x2e99 007421 add regc ,offset_power_ctrl_level ,rega 
-0x2e9a 007422 ifetch 1 ,rega 
-0x2e9b 007424 beq 0 ,g24_power_ctrl_decrs_level0 
-0x2e9c 007425 increase -1 ,pdata 
-0x2e9d 007426 call g24_store_mem_power_ctrl_level 
-0x2e9e 007428 beq 0 ,g24_power_ctrl_decrs_level0 
-:      007429 g24_power_ctrl_decrs_level1:
-:      007432 g24_power_ctrl_incrs_level1:
-0x2e9f 007433 setarg power_ctrl_losspac_thresh_up1 
-0x2ea0 007434 call g24_store_mem_power_ctrl_threshold_up 
-0x2ea1 007436 setarg power_ctrl_losspac_thresh_down1 
-0x2ea2 007437 call g24_store_mem_power_ctrl_threshold_down 
-0x2ea3 007440 setarg offset_power_ctrl_txpwr_level1 
-:      007441 g24_iadd_offset_mem_txpower:
-0x2ea4 007442 iadd regc ,rega 
-:      007443 g24_ifetch_rega_store_mem_txpower:
-0x2ea5 007444 ifetch 1 ,rega 
-0x2ea6 007446 branch g24_store_mem_txpower 
-:      007448 g24_power_ctrl_decrs_level0:
-0x2ea7 007451 setarg power_ctrl_losspac_thresh_up0 
-0x2ea8 007452 call g24_store_mem_power_ctrl_threshold_up 
-0x2ea9 007454 setarg power_ctrl_losspac_thresh_down0 
-0x2eaa 007455 call g24_store_mem_power_ctrl_threshold_down 
-0x2eab 007458 setarg offset_power_ctrl_txpwr_level0 
-0x2eac 007460 branch g24_iadd_offset_mem_txpower 
-:      007474 g24_start_pairing_sm1:
-0x2ead 007475 set1 mark_24g ,mark 
-0x2eae 007476 call g24_pair_init 
-:      007477 g24_set_pairing_sm_1:
-0x2eaf 007479 setarg state_24g_pairing_1 
-0x2eb0 007480 branch g24_store_mem_pairing_sm 
-:      007482 g24_pairing_sm:
-0x2eb1 007483 add regc ,offset_24g_ensure ,rega 
-0x2eb2 007484 ifetch 1 ,rega 
-0x2eb3 007486 beq ensure_on_24g ,enable_user 
-0x2eb4 007487 call g24_fetch_mem_pairing_sm 
-0x2eb5 007489 beq state_24g_pairing_1 ,g24_pairing_sm_1 
-0x2eb6 007490 beq state_24g_pairing_2 ,g24_pairing_sm_2 
-0x2eb7 007491 beq state_24g_pairing_3 ,g24_pairing_sm_3 
-0x2eb8 007492 branch assert 
-:      007494 g24_pairing_sm_1:
-0x2eb9 007495 setarg state_24g_pairing_1_waiting_ack 
-0x2eba 007496 call g24_store_mem_pairing_sm 
-0x2ebb 007498 jam 0xaa ,mem_24g_common_temp 
-0x2ebc 007499 branch g24_pairing_sm_common 
-:      007500 g24_pairing_sm_2:
-0x2ebd 007501 setarg state_24g_pairing_2_waiting_ack 
-0x2ebe 007502 call g24_store_mem_pairing_sm 
-0x2ebf 007504 jam 0x55 ,mem_24g_common_temp 
-0x2ec0 007505 branch g24_pairing_sm_common 
-:      007506 g24_pairing_sm_3:
-0x2ec1 007507 setarg state_24g_pairing_3_waiting_ack 
-0x2ec2 007508 call g24_store_mem_pairing_sm 
-0x2ec3 007510 jam 0x22 ,mem_24g_common_temp 
-:      007511 g24_pairing_sm_common:
-0x2ec4 007512 call g24_fetch_mem_data_type 
-0x2ec5 007514 and_into bits_data ,pdata 
-0x2ec6 007515 store 1 ,mem_24g_common_temp + 1 
-0x2ec7 007516 call g24_fetch_mem_device_addr 
-0x2ec8 007518 store 4 ,mem_24g_common_temp + 2 
-:      007519 g24_put_pairing_data_in_buff:
-0x2ec9 007520 jam 0 ,mem_24g_common_temp + 6 
-0x2eca 007521 arg mem_24g_common_temp ,rega 
-0x2ecb 007522 arg 7 ,temp 
-0x2ecc 007523 call g24_put_data_in_buff 
-0x2ecd 007524 call g24_transmit_prep 
-0x2ece 007525 call g24_txdata_enable_tx 
-0x2ecf 007526 branch enable_user 
-:      007528 g24_paring_mode:
-0x2ed0 007529 call g24_fetch_mem_pairing_sm 
-0x2ed1 007531 rtneq state_24g_pairing_success 
-0x2ed2 007532 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
-0x2ed3 007533 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
-0x2ed4 007534 beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
-0x2ed5 007535 rtn 
-:      007537 g24_pairing_sm_1_waiting_ack:
-0x2ed6 007538 setarg state_24g_pairing_2 
-0x2ed7 007539 call g24_store_mem_pairing_sm 
-0x2ed8 007541 branch g24_transmit_abandon 
-:      007542 g24_pairing_sm_2_waiting_ack:
-0x2ed9 007543 setarg state_24g_pairing_3 
-0x2eda 007544 call g24_store_mem_pairing_sm 
-0x2edb 007546 branch g24_transmit_abandon 
-:      007547 g24_pairing_sm_3_waiting_ack:
-0x2edc 007548 setarg state_24g_pairing_success 
-0x2edd 007549 call g24_store_mem_pairing_sm 
-0x2ede 007551 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
-0x2edf 007552 call ui_ipc_send_event 
-0x2ee0 007553 add regc ,offset_24g_rxpayload_add2 ,rega 
-0x2ee1 007554 ifetch 4 ,rega 
-0x2ee2 007556 call g24_store_mem_addr 
-0x2ee3 007558 branch g24_transmit_abandon 
-:      007560 g24_auto_pair_start:
-0x2ee4 007561 set0 mark_24g ,mark 
-0x2ee5 007562 call g24_auto_pair_set_device_info 
-0x2ee6 007563 call g24_tx_attemp_data_prep 
-:      007564 g24_auto_pair_restart:
-0x2ee7 007565 call g24_set0_mem_check_dongle_times 
-:      007566 g24_auto_pair_start_loop:
-0x2ee8 007567 nop 2000 
-0x2ee9 007568 call g24_fetch_mem_check_dongle_times 
-0x2eea 007569 beq 0xff ,g24_stop_24g_mode 
-0x2eeb 007570 call g24_transmit_receive_ack 
-0x2eec 007571 nbranch g24_auto_pair_retry ,sync 
-0x2eed 007572 nbranch g24_auto_pair_retry ,user3 
-0x2eee 007573 call g24_ackpayload_parse 
-0x2eef 007574 call g24_head_ptr2regc 
-0x2ef0 007575 add regc ,offset_24g_paring_addr ,rega 
-0x2ef1 007576 ifetcht 4 ,rega 
-0x2ef2 007577 call g24_fetch_mem_addr_isub_temp 
-0x2ef3 007578 branch g24_start_pairing_sm1 ,zero 
-0x2ef4 007579 call g24_head_ptr2regc 
-0x2ef5 007580 add regc ,offset_24g_rxpayload_add2 ,rega 
-0x2ef6 007581 ifetch 4 ,rega 
-0x2ef7 007582 beq 0 ,g24_auto_pair_restart 
-0x2ef8 007583 call g24_store_mem_addr 
-0x2ef9 007584 branch g24_tx_attemp_dongle_succ 
-:      007586 g24_auto_pair_retry:
-0x2efa 007587 call g24_fetch_mem_check_dongle_times 
-0x2efb 007588 increase 1 ,pdata 
-0x2efc 007589 call g24_store_mem_check_dongle_times 
-0x2efd 007591 call g24_fetch_mem_auto_paring_switch 
-0x2efe 007592 increase 1 ,pdata 
-0x2eff 007593 and_into 1 ,pdata 
-0x2f00 007594 call g24_store_mem_auto_paring_switch 
-0x2f01 007595 beq 0 ,g24_auto_pair_device_attemp 
-0x2f02 007596 beq 1 ,g24_auto_pair_pair_attemp 
-0x2f03 007597 rtn 
-:      007599 g24_fetch_mem_auto_paring_switch:
-0x2f04 007600 setarg offset_24g_auto_pair_switch 
-0x2f05 007601 branch g24_set_rega_ifetch_1byte 
-:      007602 g24_store_mem_auto_paring_switch:
-0x2f06 007603 arg offset_24g_auto_pair_switch ,rega 
-0x2f07 007604 branch g24_set_contw_with_regb_store_1byte 
-:      007606 g24_auto_pair_set_device_info:
-0x2f08 007607 call g24_store_mem_tx_power 
-0x2f09 007608 call g24_fetch_mem_device_addr 
-0x2f0a 007609 call g24_store_mem_addr 
-0x2f0b 007610 branch g24_ch 
-:      007612 g24_auto_pair_device_attemp:
-0x2f0c 007613 call g24_auto_pair_set_device_info 
-0x2f0d 007614 branch g24_auto_pair_start_loop 
-:      007616 g24_auto_pair_pair_attemp:
-0x2f0e 007617 call g24_pair_init 
-0x2f0f 007618 branch g24_auto_pair_start_loop 
-:      007621 g24_start_24g_mode:
-0x2f10 007622 set0 mark_24g ,mark 
-0x2f11 007623 call g24_ch 
-0x2f12 007624 call g24_fetch_mem_pairing_sm 
-0x2f13 007626 rtnne state_24g_pairing_success 
-0x2f14 007627 call g24_tx_attemp_data_prep 
-0x2f15 007628 call g24_set0_mem_check_dongle_times 
-:      007630 g24_tx_attemp_dongle_loop:
-0x2f16 007631 nop 2000 
-0x2f17 007632 call g24_fetch_mem_check_dongle_times 
-0x2f18 007634 beq 0xff ,g24_stop_24g_mode 
-0x2f19 007635 call g24_transmit_receive_ack 
-0x2f1a 007636 nbranch g24_attemp_txdata_retry ,sync 
-0x2f1b 007637 nbranch g24_attemp_txdata_retry ,user3 
-:      007638 g24_tx_attemp_dongle_succ:
-0x2f1c 007639 set1 mark_24g ,mark 
-0x2f1d 007640 call g24_set0_mem_check_dongle_times 
-0x2f1e 007641 setarg state_24g_pairing_success 
-0x2f1f 007642 call g24_store_mem_pairing_sm 
-:      007644 g24_app_tx_attempt_success:
-0x2f20 007645 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
-0x2f21 007646 branch ui_ipc_send_event 
-:      007648 g24_tx_attemp_data_prep:
-0x2f22 007649 set1 mark_24g_conext ,mark 
-0x2f23 007650 jam 0xff ,mem_24g_common_temp 
-0x2f24 007651 call g24_fetch_mem_data_type 
-0x2f25 007653 call g24_put_data_in_buff_pre 
-0x2f26 007654 branch g24_transmit_prep 
-:      007656 g24_attemp_txdata_retry:
-0x2f27 007657 call g24_fetch_mem_check_dongle_times 
-0x2f28 007659 increase 1 ,pdata 
-0x2f29 007660 call g24_store_mem_check_dongle_times 
-0x2f2a 007662 call g24_ch 
-0x2f2b 007663 branch g24_tx_attemp_dongle_loop 
-:      007665 g24_check_51cmd_start_24g:
-0x2f2c 007666 call g24_store_mem_tx_power 
-0x2f2d 007669 setarg state_24g_pairing_success 
-0x2f2e 007670 call g24_store_mem_pairing_sm 
-0x2f2f 007672 branch g24_start_24g_mode 
-:      007681 dongle_init:
-0x2f30 007682 bpatch patch17_2 ,mem_patch17 
-0x2f31 007683 call g24_head_ptr2regc 
-0x2f32 007684 setarg dongle_rxdata_type1 
-0x2f33 007685 add regc ,offset_24g_cb_rxdata_type1 ,contw 
-0x2f34 007686 istore 2 ,contw 
-0x2f35 007688 call g24_receive_init 
-0x2f36 007689 call usb_init 
-0x2f37 007690 call g24_fetch_mem_pair_mode 
-0x2f38 007692 bpatch patch17_3 ,mem_patch17 
-0x2f39 007693 beq 0x00 ,dongle_auto_bind 
-0x2f3a 007694 beq 0x01 ,dongle_pc_bind 
-0x2f3b 007695 beq 0x0f ,dongle_all_powerful 
-0x2f3c 007696 branch assert 
-:      007698 g24_receive_init:
-0x2f3d 007699 call g24_store_mem_tx_power_temp 
-0x2f3e 007700 arg 0x80 ,loopcnt 
-0x2f3f 007701 arg mem_rssi_noise_buffer ,contw 
-0x2f40 007702 branch memset0 
-:      007704 dongle_all_powerful:
-0x2f41 007705 call dongle_check_mode 
-:      007706 dongle_all_powerful_loop:
-0x2f42 007707 call g24_dongle_work_mode 
-0x2f43 007708 call usb_isr 
-0x2f44 007709 branch dongle_all_powerful_loop 
-:      007711 dongle_pc_bind:
-0x2f45 007712 bpatch patch17_4 ,mem_patch17 
-0x2f46 007713 call dongle_check_mode 
-:      007714 dongle_pc_bind_loop:
-0x2f47 007715 call g24_dongle_work_mode 
-0x2f48 007716 call g24_dongle_bind_mode 
-0x2f49 007717 call usb_isr 
-0x2f4a 007718 call dongle_usb_dispatch 
-0x2f4b 007719 branch dongle_pc_bind_loop 
-:      007721 dongle_check_mode:
-0x2f4c 007725 call g24_set_work_mem_dongle_work_mode 
-0x2f4d 007726 call g24_set0_mem_dongle_mode_init 
-0x2f4e 007727 branch g24_set0_mem_ackpayload_enable 
-:      007729 g24_dongle_work_mode:
-0x2f4f 007730 call g24_fetch_mem_dongle_work_mode 
-0x2f50 007732 rtnne dongle_work 
-:      007733 g24_dongle_work_mode_start:
-0x2f51 007734 call g24_dongle_work_init 
-0x2f52 007735 call g24_ch_process 
-0x2f53 007736 call g24_receive_packet_start 
-0x2f54 007737 branch g24_blank_data_process 
-:      007739 g24_dongle_work_init:
-0x2f55 007740 call g24_fetch_mem_dongle_mode_init 
-0x2f56 007742 rtnbit1 dongle_work 
-0x2f57 007743 set1 dongle_work ,pdata 
-0x2f58 007744 call g24_store_mem_dongle_mode_init 
-0x2f59 007746 call g24_store_mem_tx_power 
-0x2f5a 007749 call g24_set0_mem_ackpayload_enable 
-0x2f5b 007751 jam 0 ,mem_usb_tx_enable 
-0x2f5c 007752 call g24_set1_mem_abort_pac 
-0x2f5d 007754 call g24_dongle_init 
-:      007755 g24_rx_interrupt_clear:
-0x2f5e 007756 add regc ,offset_24g_rxbuf ,contw 
-0x2f5f 007758 arg 66 ,loopcnt 
-0x2f60 007759 branch clear_mem 
-:      007761 g24_dongle_init:
-0x2f61 007762 call g24_set0_mem_pid 
-0x2f62 007764 call g24_fetch_mem_rx_addr 
-0x2f63 007766 call g24_store_mem_addr 
-0x2f64 007768 branch g24_ch 
-:      007770 g24_ch_process:
-0x2f65 007771 bpatch patch17_5 ,mem_patch17 
-0x2f66 007772 call g24_fetch_mem_abort_pac 
-0x2f67 007774 beq 1 ,g24_noise_rssi 
-0x2f68 007775 call g24_fetch_mem_hop_pac 
-0x2f69 007777 beq 1 ,g24_ch 
-0x2f6a 007778 setarg offset_24g_hop_btclk 
-0x2f6b 007779 iadd regc ,rega 
-0x2f6c 007780 ifetcht 4 ,rega 
-0x2f6d 007782 copy clkn_bt ,pdata 
-0x2f6e 007783 isub temp ,null 
-0x2f6f 007784 ncall g24_timer_timeout ,positive 
-0x2f70 007785 copy pdata ,regb 
-0x2f71 007786 setarg offset_24g_hop_btclk 
-0x2f72 007787 iadd regc ,rega 
-0x2f73 007788 ifetch 4 ,rega 
-0x2f74 007789 copy pdata ,temp 
-0x2f75 007791 setarg offset_24g_hop_interval 
-0x2f76 007792 iadd regc ,rega 
-0x2f77 007793 copy temp ,pdata 
-0x2f78 007794 ifetcht 1 ,rega 
-0x2f79 007796 iadd temp ,temp 
-0x2f7a 007797 copy regb ,pdata 
-0x2f7b 007798 isub temp ,null 
-0x2f7c 007799 nrtn positive 
-0x2f7d 007800 set0 28 ,pdata 
-0x2f7e 007801 setarg offset_24g_hop_btclk 
-0x2f7f 007802 iadd regc ,contw 
-0x2f80 007803 istore 4 ,contw 
-:      007805 g24_ch_update:
-0x2f81 007806 call g24_ch 
-0x2f82 007807 call g24_fetch_mem_rf_laststa 
-0x2f83 007809 increase 1 ,pdata 
-0x2f84 007810 call g24_store_mem_rf_laststa 
-0x2f85 007812 rtnne 2 
-0x2f86 007813 call g24_set0_mem_rf_laststa 
-0x2f87 007817 branch g24_set1_mem_abort_pac 
-:      007819 g24_ch_timer_reinit:
-0x2f88 007820 copy clkn_bt ,pdata 
-0x2f89 007821 arg offset_24g_hop_btclk ,rega 
-0x2f8a 007822 call g24_set_contw_with_temp 
-0x2f8b 007823 istore 4 ,contw 
-0x2f8c 007827 branch g24_set0_mem_rf_laststa 
-:      007829 g24_noise_rssi:
-0x2f8d 007830 arg mem_rssi_noise_buffer ,rega 
-0x2f8e 007831 call g24_noise_rssi_average 
-0x2f8f 007832 add regc ,offset_rssi_noise_avg ,contw 
-0x2f90 007833 istoret 1 ,contw 
-0x2f91 007835 sub temp ,rssi_thresh_noise ,null 
-0x2f92 007836 nrtn positive 
-0x2f93 007837 branch g24_ch 
-:      007839 g24_noise_rssi_average:
-0x2f94 007840 arg rssi_buf_len_noise + 1 ,loopcnt 
-0x2f95 007841 branch rssi_average 
-:      007843 g24_blank_data_process:
-0x2f96 007844 call g24_ms_blank_data 
-0x2f97 007845 call g24_kb_blank_data 
-0x2f98 007846 branch g24_kb_mul_blank_data 
-:      007848 g24_ms_blank_data:
-0x2f99 007849 setarg offset_24g_ms_blank_data_enable 
-0x2f9a 007850 call g24_set_rega_ifetch_1byte 
-0x2f9b 007852 rtn blank 
-0x2f9c 007853 arg timer_ms_blank ,queue 
-0x2f9d 007854 call timer_check 
-0x2f9e 007855 nrtn blank 
-0x2f9f 007856 call g24_set0_mem_ms_blank_data_enable 
-:      007858 g24_ms_blank_data_2usb:
-0x2fa0 007859 setarg ms_report_id 
-0x2fa1 007860 store 1 ,mem_usb_mouse_data 
-0x2fa2 007861 setarg 0 
-0x2fa3 007862 istore 7 ,contw 
-0x2fa4 007863 branch g24_data_type1_usbtx_enable 
-:      007865 g24_kb_blank_data:
-0x2fa5 007866 setarg offset_24g_kb_blank_data_enable 
-0x2fa6 007867 call g24_set_rega_ifetch_1byte 
-0x2fa7 007869 rtn blank 
-0x2fa8 007870 arg timer_kb_blank ,queue 
-0x2fa9 007871 call timer_check 
-0x2faa 007872 nrtn blank 
-0x2fab 007873 call g24_set0_mem_kb_blank_data_enable 
-:      007875 g24_kb_blank_data_2usb:
-0x2fac 007876 arg mem_usb_kb_data ,contw 
-0x2fad 007877 arg 2 ,loopcnt 
-0x2fae 007878 call memset0 
-0x2faf 007879 jam kb_normal_report_id ,mem_usb_kb_data 
-0x2fb0 007880 branch g24_kb_data_into_ep1_fifo 
-:      007882 g24_kb_mul_blank_data:
-0x2fb1 007883 setarg offset_24g_kb_mul_blank_data_enable 
-0x2fb2 007884 call g24_set_rega_ifetch_1byte 
-0x2fb3 007886 rtn blank 
-0x2fb4 007887 arg timer_kb_mul_blank ,queue 
-0x2fb5 007888 call timer_check 
-0x2fb6 007889 nrtn blank 
-0x2fb7 007890 call g24_set0_mem_kb_mul_blank_data_enable 
-:      007892 g24_kb_mul_blank_data_2usb:
-0x2fb8 007893 arg mem_usb_kb_multikey ,contw 
-0x2fb9 007894 arg 2 ,loopcnt 
-0x2fba 007895 call memset0 
-0x2fbb 007896 jam kb_multikey_report_id ,mem_usb_kb_multikey 
-0x2fbc 007897 branch g24_kb_mul_data_into_ep2_fifo 
-:      007899 g24_dongle_bind_mode:
-0x2fbd 007900 call g24_fetch_mem_dongle_work_mode 
-0x2fbe 007902 rtnne dongle_bind 
-0x2fbf 007903 call g24_dongle_bind_init 
-0x2fc0 007904 branch g24_dongle_bind_data_process 
-:      007906 g24_dongle_bind_init:
-0x2fc1 007907 call g24_fetch_mem_dongle_mode_init 
-0x2fc2 007909 rtnbit1 dongle_bind 
-0x2fc3 007910 set1 dongle_bind ,pdata 
-0x2fc4 007911 call g24_store_mem_dongle_mode_init 
-0x2fc5 007913 call g24_set1_mem_ackpayload_enable 
-0x2fc6 007915 call g24_pair_init 
-0x2fc7 007916 setarg 0 
-0x2fc8 007917 arg offset_dongle_ms_bind_step ,rega 
-0x2fc9 007918 call g24_set_contw_with_temp 
-0x2fca 007920 branch g24_contw_istore_3byte 
-:      007922 g24_dongle_bind_data_process:
-0x2fcb 007923 call g24_receive_transmit_ack 
-0x2fcc 007924 nbranch g24_rx_interrupt_clear ,user3 
-0x2fcd 007925 add regc ,offset_24g_rxbuf ,contr 
-0x2fce 007926 setarg offset_24g_rxdata_temp 
-0x2fcf 007927 iadd regc ,contw 
-0x2fd0 007928 arg 8 ,loopcnt 
-0x2fd1 007929 call memcpy 
-0x2fd2 007930 setarg offset_24g_rxdata_temp_add2 
-0x2fd3 007931 call g24_set_rega_ifetch_1byte 
-0x2fd4 007932 beq datatype_bind ,g24_dongle_bind_first_step 
-0x2fd5 007933 beq datatype_config ,g24_dongle_bind_second_step 
-0x2fd6 007934 beq datatype_ok ,g24_dongle_bind_third_step 
-0x2fd7 007935 beq 0xff ,g24_data_attemp 
-0x2fd8 007936 branch g24_rx_interrupt_clear 
-:      007938 g24_dongle_bind_first_step:
-0x2fd9 007939 call g24_fetch_mem_rxdata_temp_add3_1byte 
-0x2fda 007940 beq bind_mouse ,g24_dongle_bind_first_step_mouse 
-0x2fdb 007941 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
-0x2fdc 007942 rtn 
-:      007943 g24_dongle_bind_first_step_mouse:
-0x2fdd 007944 setarg 1 
-0x2fde 007945 call g24_store_mem_ms_bind_step 
-:      007947 g24_dongle_bind_ms_payload_cfg:
-0x2fdf 007948 setarg datatype_mouse 
-0x2fe0 007949 call g24_store_mem_bind_payload 
-:      007951 g24_dongle_bind_payload_cfg:
-0x2fe1 007952 setarg 0x80 
-0x2fe2 007953 arg offset_24g_bind_payload_add1 ,rega 
-0x2fe3 007954 call g24_set_contw_with_regb_store_1byte 
-0x2fe4 007956 call g24_fetch_mem_rx_addr 
-0x2fe5 007958 arg offset_24g_bind_payload_add2 ,rega 
-0x2fe6 007959 call g24_set_contw_with_temp 
-0x2fe7 007961 branch g24_contw_istore_4byte 
-:      007963 g24_dongle_bind_first_step_keyboard:
-0x2fe8 007964 setarg 1 
-0x2fe9 007965 call g24_store_mem_kb_bind_step 
-:      007967 g24_dongle_bind_kb_payload_cfg:
-0x2fea 007968 setarg datatype_keyboard 
-0x2feb 007969 call g24_store_mem_bind_payload 
-0x2fec 007971 branch g24_dongle_bind_payload_cfg 
-:      007973 g24_dongle_bind_second_step:
-0x2fed 007974 call g24_fetch_mem_rxdata_temp_add3_1byte 
-0x2fee 007975 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
-0x2fef 007976 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
-0x2ff0 007977 rtn 
-:      007978 g24_dongle_bind_second_step_mouse:
-0x2ff1 007979 call g24_dongle_bind_ms_payload_cfg 
-0x2ff2 007980 setarg offset_dongle_ms_bind_step 
-0x2ff3 007981 call g24_set_rega_ifetch_1byte 
-0x2ff4 007983 beq 1 ,g24_dongle_ms_bind_step_set2 
-0x2ff5 007984 rtn 
-:      007985 g24_dongle_ms_bind_step_set2:
-0x2ff6 007986 setarg 2 
-:      007988 g24_store_mem_ms_bind_step:
-0x2ff7 007989 arg offset_dongle_ms_bind_step ,rega 
-0x2ff8 007990 branch g24_set_contw_with_regb_store_1byte 
-:      007992 g24_dongle_bind_second_step_keyboard:
-0x2ff9 007993 call g24_dongle_bind_kb_payload_cfg 
-0x2ffa 007994 setarg offset_dongle_kb_bind_step 
-0x2ffb 007995 call g24_set_rega_ifetch_1byte 
-0x2ffc 007997 beq 1 ,g24_dongle_kb_bind_step_set2 
-0x2ffd 007998 rtn 
-:      007999 g24_dongle_kb_bind_step_set2:
-0x2ffe 008000 setarg 2 
-:      008002 g24_store_mem_kb_bind_step:
-0x2fff 008003 arg offset_dongle_kb_bind_step ,rega 
-0x3000 008004 branch g24_set_contw_with_regb_store_1byte 
-:      008006 g24_dongle_bind_third_step:
-0x3001 008007 call g24_fetch_mem_rxdata_temp_add3_1byte 
-0x3002 008008 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
-0x3003 008009 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
-0x3004 008010 rtn 
-:      008011 g24_dongle_bind_third_step_mouse:
-0x3005 008012 setarg offset_dongle_ms_bind_step 
-0x3006 008013 call g24_set_rega_ifetch_1byte 
-0x3007 008015 beq 2 ,g24_dongle_ms_bind_step_success 
-0x3008 008016 rtn 
-:      008017 g24_dongle_ms_bind_step_success:
-0x3009 008018 call g24_fetch_mem_bind_device_status 
-0x300a 008020 or_into 0x01 ,pdata 
-0x300b 008021 call g24_store_mem_bind_device_status 
-:      008023 g24_dongle_bind_exit:
-0x300c 008024 setarg 0 
-0x300d 008025 setarg offset_dongle_ms_bind_step 
-0x300e 008026 iadd regc ,contw 
-0x300f 008027 istore 2 ,contw 
-0x3010 008028 branch g24_rx_interrupt_clear 
-:      008030 g24_dongle_bind_third_step_keyboard:
-0x3011 008031 setarg offset_dongle_kb_bind_step 
-0x3012 008032 call g24_set_rega_ifetch_1byte 
-0x3013 008034 bne 0 ,g24_dongle_kb_bind_step_success 
-0x3014 008035 rtn 
-:      008036 g24_dongle_kb_bind_step_success:
-0x3015 008037 call g24_fetch_mem_bind_device_status 
-0x3016 008039 or_into 0x02 ,pdata 
-0x3017 008040 call g24_store_mem_bind_device_status 
-0x3018 008042 branch g24_dongle_bind_exit 
-:      008045 dongle_usb_dispatch:
-0x3019 008046 fetch 1 ,mem_usb0_get_set_report 
-0x301a 008047 rtn blank 
-0x301b 008048 jam 0 ,mem_usb0_get_set_report 
-0x301c 008049 fetch 2 ,mem_usb_setup_bvalue_temp 
-0x301d 008050 arg pc_set_report ,temp 
-0x301e 008051 isub temp ,null 
-0x301f 008052 nrtn zero 
-0x3020 008054 fetch 1 ,mem_usb0_set_report_data 
-0x3021 008055 rtnne pc_report_id 
-0x3022 008056 fetch 1 ,mem_usb0_set_report_data + 1 
-0x3023 008057 bpatch patch17_6 ,mem_patch17 
-0x3024 008058 beq command_mode ,dongle_dispose_cmd_mode 
-0x3025 008059 beq command_bind ,dongle_dispose_cmd_bind 
-0x3026 008060 beq command_current_project ,dongle_dispose_cmd_current_project 
-0x3027 008061 beq command_current_mode ,dongle_dispose_cmd_current_mode 
-0x3028 008062 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
-0x3029 008063 beq command_user_defined ,dongle_dispose_cmd_user_defined 
-:      008064 usb0_data_ready_report_set0:
-0x302a 008065 jam 0 ,mem_usb0_data_ready_report 
-0x302b 008066 rtn 
-:      008067 dongle_dispose_cmd_bind:
-0x302c 008068 fetch 1 ,mem_usb0_set_report_data + 2 
-0x302d 008069 beq com_bind_get ,dongle_dispose_cmd_get_bind 
-0x302e 008070 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
-0x302f 008071 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-0x3030 008072 branch usb0_data_ready_report_set0 
-:      008073 dongle_dispose_cmd_get_bind:
-0x3031 008074 call g24_fetch_mem_bind_device_status 
-0x3032 008076 store 1 ,mem_usb0_get_report_data + 1 
-0x3033 008077 branch usb0_data_ready_report_set1 
-:      008078 dongle_dispose_cmd_exit_bind:
-0x3034 008079 call g24_set_work_mem_dongle_work_mode 
-0x3035 008081 call g24_set0_mem_dongle_mode_init 
-0x3036 008083 call g24_fetch_mem_bind_device_status 
-0x3037 008085 store 1 ,mem_usb0_get_report_data + 1 
-0x3038 008086 branch usb0_data_ready_report_set1 
-:      008088 dongle_dispose_cmd_read_mode:
-:      008089 dongle_dispose_in_bind_mode:
-0x3039 008090 jam command_bind ,mem_usb0_get_report_data + 1 
-0x303a 008091 branch usb0_data_ready_report_set1 
-:      008093 dongle_dispose_cmd_mode:
-0x303b 008094 fetch 1 ,mem_usb0_set_report_data + 2 
-0x303c 008095 beq com_mode_bind ,dongle_enter_bind_mode 
-0x303d 008097 branch usb0_data_ready_report_set0 
-:      008098 dongle_enter_bind_mode:
-0x303e 008101 call g24_bind_mode_enable 
-:      008102 usb0_data_ready_report_set1:
-0x303f 008103 jam 1 ,mem_usb0_data_ready_report 
-0x3040 008104 rtn 
-:      008109 dongle_dispose_cmd_current_project:
-0x3041 008110 jam product_id ,mem_usb0_get_report_data + 1 
-0x3042 008111 branch usb0_data_ready_report_set1 
-:      008113 dongle_dispose_cmd_current_mode:
-0x3043 008114 call g24_fetch_mem_dongle_work_mode 
-0x3044 008116 beq dongle_work ,dongle_dispose_in_work_mode 
-0x3045 008117 beq dongle_bind ,dongle_dispose_in_bind_mode 
-0x3046 008119 rtn 
-:      008120 dongle_dispose_in_work_mode:
-0x3047 008121 jam command_mode ,mem_usb0_get_report_data + 1 
-0x3048 008122 branch usb0_data_ready_report_set1 
-:      008127 dongle_dispose_cmd_current_fw_version:
-0x3049 008128 jam fw_version0 ,mem_usb0_get_report_data + 1 
-0x304a 008129 jam fw_version1 ,mem_usb0_get_report_data + 2 
-0x304b 008130 jam fw_version2 ,mem_usb0_get_report_data + 3 
-0x304c 008131 branch usb0_data_ready_report_set1 
-:      008133 dongle_dispose_cmd_user_defined:
-0x304d 008135 call g24_set1_mem_ackpayload_enable 
-0x304e 008136 fetch 1 ,mem_usb0_set_report_data + 2 
-0x304f 008137 increase 2 ,pdata 
-0x3050 008138 copy pdata ,loopcnt 
-0x3051 008139 arg mem_usb0_set_report_data ,contr 
-0x3052 008140 setarg offset_24g_ackpayload 
-0x3053 008141 iadd regc ,contw 
-0x3054 008142 branch memcpy 
-:      008145 dongle_auto_bind:
-0x3055 008146 bpatch patch17_7 ,mem_patch17 
-0x3056 008147 call g24_mode_switch_init 
-:      008148 dongle_auto_bind_loop:
-0x3057 008149 call g24_receive_process 
-0x3058 008150 call usb_isr 
-0x3059 008151 branch dongle_auto_bind_loop 
-:      008153 g24_dongle_work_mode_auto:
-0x305a 008154 call g24_fetch_mem_dongle_work_mode 
-0x305b 008156 rtnne dongle_work 
-0x305c 008157 call g24_dongle_work_mode_start 
-0x305d 008158 branch g24_rx_nodata_process 
-:      008160 g24_dongle_bind_mode_auto:
-0x305e 008161 call g24_fetch_mem_dongle_work_mode 
-0x305f 008163 rtnne dongle_bind 
-0x3060 008164 call g24_dongle_bind_init 
-0x3061 008165 call g24_dongle_bind_data_process 
-0x3062 008166 call g24_fetch_mem_bind_device_status 
-0x3063 008168 rtn blank 
-0x3064 008169 call g24_set0_mem_mode_switch 
-0x3065 008171 call dongle_check_mode 
-0x3066 008172 call g24_enable_nodata_timer 
-:      008173 g24_timer_init:
-0x3067 008174 setarg 0 
-0x3068 008175 add regc ,offset_24g_tx_btclk ,contw 
-0x3069 008177 branch g24_contw_istore_4byte 
-:      008179 g24_timer_check:
-0x306a 008180 call disable_user 
-0x306b 008181 add regc ,offset_24g_tx_btclk ,rega 
-0x306c 008182 ifetcht 4 ,rega 
-0x306d 008184 copy clkn_bt ,pdata 
-0x306e 008185 isub temp ,null 
-0x306f 008186 ncall g24_timer_timeout ,positive 
-0x3070 008187 copy pdata ,regb 
-0x3071 008188 add regc ,offset_24g_tx_btclk ,rega 
-0x3072 008189 ifetch 4 ,rega 
-0x3073 008191 add regc ,offset_24g_interval ,rega 
-0x3074 008192 ifetcht 1 ,rega 
-0x3075 008194 iadd temp ,temp 
-0x3076 008195 copy regb ,pdata 
-0x3077 008196 isub temp ,null 
-0x3078 008197 nrtn positive 
-0x3079 008198 set0 28 ,pdata 
-0x307a 008199 add regc ,offset_24g_tx_btclk ,contw 
-0x307b 008200 istore 4 ,contw 
-0x307c 008202 branch enable_user 
-:      008204 g24_mode_switch_init:
-0x307d 008205 setarg 1 
-0x307e 008206 call g24_store_mem_mode_switch 
-0x307f 008208 call g24_set0_mem_time_slice 
-0x3080 008210 setarg 0xff 
-0x3081 008211 add regc ,offset_24g_interval ,contw 
-0x3082 008212 istore 1 ,contw 
-0x3083 008214 branch g24_timer_init 
-:      008216 g24_mode_switch:
-0x3084 008217 setarg offset_24g_mode_switch 
-0x3085 008218 call g24_set_rega_ifetch_1byte 
-0x3086 008220 rtn blank 
-0x3087 008221 call g24_timer_check 
-0x3088 008222 nrtn user 
-0x3089 008223 call g24_fetch_mem_time_slice 
-0x308a 008225 increase 1 ,pdata 
-0x308b 008226 and_into 1 ,pdata 
-0x308c 008227 call g24_store_mem_time_slice 
-0x308d 008229 beq 0 ,dongle_check_mode 
-0x308e 008230 beq 1 ,g24_bind_mode_enable 
-0x308f 008231 rtn 
-:      008233 g24_bind_mode_enable:
-0x3090 008237 setarg dongle_bind 
-0x3091 008238 call g24_store_mem_dongle_work_mode 
-0x3092 008239 branch g24_set0_mem_dongle_mode_init 
-:      008241 g24_enable_nodata_timer:
-0x3093 008242 setarg 1 
-0x3094 008243 call g24_store_mem_nodata_timer_enable 
-:      008245 g24_enable_nodata_timer_init:
-0x3095 008246 setarg timer_nodata_delay 
-0x3096 008247 arg timer_nodata ,queue 
-0x3097 008248 branch timer_init 
-:      008250 g24_rx_nodata_process:
-0x3098 008251 call g24_fetch_mem_nodata_timer_enable 
-0x3099 008253 rtn blank 
-0x309a 008254 arg timer_nodata ,queue 
-0x309b 008255 call timer_check 
-0x309c 008256 nrtn blank 
-0x309d 008257 call g24_set0_mem_nodata_timer_enable 
-0x309e 008260 setarg dongle_search 
-0x309f 008261 call g24_store_mem_dongle_work_mode 
-0x30a0 008263 call g24_set0_mem_dongle_mode_init 
-0x30a1 008265 branch g24_rx_interrupt_clear 
-:      008267 g24_dongle_search_mode_auto:
-0x30a2 008268 bpatch patch18_0 ,mem_patch18 
-0x30a3 008269 call g24_fetch_mem_dongle_work_mode 
-0x30a4 008271 rtnne dongle_search 
-0x30a5 008272 call g24_dongle_search_mode_init 
-0x30a6 008273 call g24_rx_auto_addr_ch_search 
-0x30a7 008274 call g24_receive_transmit_ack 
-0x30a8 008275 nbranch g24_rx_interrupt_clear ,user3 
-0x30a9 008277 call g24_dongle_search_addr_check 
-0x30aa 008278 call g24_receive_packet_parse ,zero 
-0x30ab 008282 call dongle_check_mode 
-0x30ac 008283 call g24_fetch_mem_dongle_mode_init 
-0x30ad 008285 set1 dongle_work ,pdata 
-0x30ae 008286 call g24_store_mem_dongle_mode_init 
-0x30af 008288 call g24_rx_interrupt_clear 
-0x30b0 008289 call g24_enable_nodata_timer 
-0x30b1 008290 call g24_dongle_search_addr_check 
-0x30b2 008291 branch g24_dg_ch_num_reinit ,zero 
-0x30b3 008292 setarg offset_24g_kb_addr 
-0x30b4 008293 call g24_set_rega_ifetcht_4byte 
-0x30b5 008295 call g24_fetch_mem_addr_isub_temp 
-0x30b6 008296 branch g24_kb_ch_num_reinit ,zero 
-0x30b7 008297 setarg offset_24g_mouse_addr 
-0x30b8 008298 call g24_set_rega_ifetcht_4byte 
-0x30b9 008300 call g24_fetch_mem_addr_isub_temp 
-0x30ba 008301 branch g24_ms_ch_num_reinit ,zero 
-0x30bb 008302 rtn 
-:      008304 g24_dongle_search_addr_check:
-0x30bc 008305 setarg offset_24g_rx_addr 
-0x30bd 008306 call g24_set_rega_ifetcht_4byte 
-:      008308 g24_fetch_mem_addr_isub_temp:
-0x30be 008309 call g24_fetch_mem_addr 
-0x30bf 008311 isub temp ,null 
-0x30c0 008312 rtn 
-:      008314 g24_dg_ch_num_reinit:
-0x30c1 008315 setarg offset_24g_dg_ch_number 
-0x30c2 008316 call g24_set_rega_ifetch_1byte 
-:      008318 g24_current_ch_num_reinit:
-0x30c3 008320 add regc ,offset_24g_current_ch_number ,contw 
-0x30c4 008321 branch g24_contw_istore_1byte 
-:      008323 g24_kb_ch_num_reinit:
-0x30c5 008324 setarg offset_24g_kb_ch_number 
-0x30c6 008325 call g24_set_rega_ifetch_1byte 
-0x30c7 008327 branch g24_current_ch_num_reinit 
-:      008328 g24_ms_ch_num_reinit:
-0x30c8 008329 setarg offset_24g_ms_ch_number 
-0x30c9 008330 call g24_set_rega_ifetch_1byte 
-0x30ca 008332 branch g24_current_ch_num_reinit 
-:      008334 g24_dongle_search_mode_init:
-0x30cb 008335 call g24_fetch_mem_dongle_mode_init 
-0x30cc 008337 rtnbit1 dongle_search 
-0x30cd 008338 set1 dongle_search ,pdata 
-0x30ce 008339 call g24_store_mem_dongle_mode_init 
-0x30cf 008341 call g24_set0_mem_time_slice 
-0x30d0 008343 call g24_set1_mem_ackpayload_enable 
-0x30d1 008345 setarg 0 
-0x30d2 008346 add regc ,offset_rssi_noise_dg_index ,contw 
-0x30d3 008347 istore 3 ,contw 
-0x30d4 008349 arg offset_24g_dg_config_ch_once ,rega 
-0x30d5 008350 call g24_set_contw_with_temp 
-0x30d6 008351 istore 7 ,contw 
-0x30d7 008354 call g24_dongle_search_addr_check 
-0x30d8 008355 nrtn zero 
-0x30d9 008356 add regc ,offset_24g_current_ch_number ,rega 
-0x30da 008357 ifetch 1 ,rega 
-0x30db 008359 arg offset_24g_dg_ch_number ,rega 
-0x30dc 008360 call g24_set_contw_with_regb_store_1byte 
-0x30dd 008362 add regc ,offset_24g_ch ,rega 
-0x30de 008363 ifetch 1 ,rega 
-0x30df 008366 branch g24_store_mem_dg_last_ch 
-:      008368 g24_rx_auto_addr_ch_search:
-0x30e0 008369 bpatch patch18_1 ,mem_patch18 
-0x30e1 008370 call g24_fetch_mem_time_slice 
-0x30e2 008372 increase 1 ,pdata 
-0x30e3 008373 and_into 3 ,pdata 
-0x30e4 008374 call g24_store_mem_time_slice 
-0x30e5 008377 beq 0 ,g24_rx_auto_bind_config_kb 
-0x30e6 008378 beq 1 ,g24_rx_auto_bind_config_dongle 
-0x30e7 008379 beq 2 ,g24_rx_auto_bind_config_mouse 
-0x30e8 008380 beq 3 ,g24_rx_auto_bind_config_dongle 
-0x30e9 008381 rtn 
-:      008383 g24_rx_auto_bind_config_mouse:
-0x30ea 008384 call g24_dongle_bind_ms_payload_cfg 
-0x30eb 008385 setarg offset_24g_mouse_addr 
-0x30ec 008386 call g24_set_rega_ifetch_4byte 
-0x30ed 008388 branch g24_rx_auto_addr_ch_search ,blank 
-0x30ee 008389 call g24_store_mem_addr 
-0x30ef 008391 setarg offset_24g_ms_config_ch_once 
-0x30f0 008392 call g24_set_rega_ifetch_1byte 
-0x30f1 008394 call g24_ms_config_ch_once ,blank 
-0x30f2 008395 setarg offset_24g_ms_last_ch 
-0x30f3 008396 call g24_set_rega_ifetch_1byte 
-0x30f4 008398 call g24_store_mem_ch 
-0x30f5 008400 add regc ,offset_rssi_noise_ms_index ,rega 
-0x30f6 008401 ifetcht 1 ,rega 
-0x30f7 008403 arg mem_rssi_noise_ms_buffer ,rega 
-0x30f8 008404 call rssi_noise_store 
-0x30f9 008405 add regc ,offset_rssi_noise_ms_index ,contw 
-0x30fa 008406 istoret 1 ,contw 
-0x30fb 008408 call g24_noise_rssi_average 
-0x30fc 008409 add regc ,offset_rssi_noise_ms_avg ,contw 
-0x30fd 008410 istoret 1 ,contw 
-0x30fe 008412 sub temp ,rssi_thresh_noise ,null 
-0x30ff 008413 nrtn positive 
-0x3100 008414 setarg offset_24g_ms_ch_number 
-0x3101 008415 call g24_set_rega_ifetcht_1byte 
-0x3102 008417 call g24_ch_temp_incre_size4 
-0x3103 008418 arg offset_24g_ms_ch_number ,rega 
-0x3104 008419 call g24_set_contw_with_regb2 
-0x3105 008420 istoret 1 ,contw 
-:      008422 g24_store_mem_ms_last_ch:
-0x3106 008424 arg offset_24g_ms_last_ch ,rega 
-0x3107 008425 branch g24_set_contw_with_regb_store_1byte 
-:      008427 g24_ms_config_ch_once:
-0x3108 008428 setarg 1 
-0x3109 008429 arg offset_24g_ms_config_ch_once ,rega 
-0x310a 008430 call g24_set_contw_with_regb_store_1byte 
-0x310b 008432 arg 0 ,temp 
-0x310c 008433 call g24_ch_calc 
-0x310d 008436 branch g24_store_mem_ms_last_ch 
-:      008438 g24_rx_auto_bind_config_kb:
-0x310e 008439 call g24_dongle_bind_kb_payload_cfg 
-0x310f 008440 setarg offset_24g_kb_addr 
-0x3110 008441 call g24_set_rega_ifetch_4byte 
-0x3111 008443 branch g24_rx_auto_addr_ch_search ,blank 
-0x3112 008444 call g24_store_mem_addr 
-0x3113 008446 setarg offset_24g_kb_config_ch_once 
-0x3114 008447 call g24_set_rega_ifetch_1byte 
-0x3115 008449 call g24_kb_config_ch_once ,blank 
-0x3116 008450 setarg offset_24g_kb_last_ch 
-0x3117 008451 call g24_set_rega_ifetch_1byte 
-0x3118 008453 call g24_store_mem_ch 
-0x3119 008455 add regc ,offset_rssi_noise_kb_index ,rega 
-0x311a 008456 ifetcht 1 ,rega 
-0x311b 008458 arg mem_rssi_noise_kb_buffer ,rega 
-0x311c 008459 call rssi_noise_store 
-0x311d 008460 add regc ,offset_rssi_noise_kb_index ,contw 
-0x311e 008461 istoret 1 ,contw 
-0x311f 008463 call g24_noise_rssi_average 
-0x3120 008464 add regc ,offset_rssi_noise_kb_avg ,contw 
-0x3121 008465 istoret 1 ,contw 
-0x3122 008467 sub temp ,rssi_thresh_noise ,null 
-0x3123 008468 nrtn positive 
-0x3124 008469 setarg offset_24g_kb_ch_number 
-0x3125 008470 call g24_set_rega_ifetcht_1byte 
-0x3126 008472 call g24_ch_temp_incre_size4 
-0x3127 008473 arg offset_24g_kb_ch_number ,rega 
-0x3128 008474 call g24_set_contw_with_regb2 
-0x3129 008475 istoret 1 ,contw 
-:      008477 g24_store_mem_kb_last_ch:
-0x312a 008479 arg offset_24g_kb_last_ch ,rega 
-0x312b 008480 branch g24_set_contw_with_regb_store_1byte 
-:      008482 g24_kb_config_ch_once:
-0x312c 008483 setarg 1 
-0x312d 008484 arg offset_24g_kb_config_ch_once ,rega 
-0x312e 008485 call g24_set_contw_with_regb_store_1byte 
-0x312f 008487 arg 0 ,temp 
-0x3130 008488 call g24_ch_calc 
-0x3131 008491 branch g24_store_mem_kb_last_ch 
-:      008493 g24_rx_auto_bind_config_dongle:
-0x3132 008494 call g24_dongle_bind_ms_payload_cfg 
-0x3133 008495 call g24_fetch_mem_rx_addr 
-0x3134 008497 call g24_store_mem_addr 
-0x3135 008499 setarg offset_24g_dg_config_ch_once 
-0x3136 008500 call g24_set_rega_ifetch_1byte 
-0x3137 008502 call g24_dg_config_ch_once ,blank 
-0x3138 008503 call g24_dg_store_config_ch 
-0x3139 008504 add regc ,offset_rssi_noise_dg_index ,rega 
-0x313a 008505 ifetcht 1 ,rega 
-0x313b 008507 arg mem_rssi_noise_dg_buffer ,rega 
-0x313c 008508 call rssi_noise_store 
-0x313d 008509 add regc ,offset_rssi_noise_dg_index ,contw 
-0x313e 008510 istoret 1 ,contw 
-0x313f 008512 call g24_noise_rssi_average 
-0x3140 008513 add regc ,offset_rssi_noise_dg_avg ,contw 
-0x3141 008514 istoret 1 ,contw 
-0x3142 008516 sub temp ,rssi_thresh_noise ,null 
-0x3143 008517 nrtn positive 
-0x3144 008518 setarg offset_24g_dg_ch_number 
-0x3145 008519 call g24_set_rega_ifetcht_1byte 
-0x3146 008521 call g24_ch_temp_incre_size4 
-0x3147 008522 arg offset_24g_dg_ch_number ,rega 
-0x3148 008523 call g24_set_contw_with_regb2 
-0x3149 008524 istoret 1 ,contw 
-:      008526 g24_store_mem_dg_last_ch:
-0x314a 008529 arg offset_24g_dg_last_ch ,rega 
-0x314b 008530 branch g24_set_contw_with_regb_store_1byte 
-:      008533 g24_dg_config_ch_once:
-0x314c 008538 setarg 1 
-0x314d 008539 arg offset_24g_dg_config_ch_once ,rega 
-0x314e 008540 call g24_set_contw_with_regb_store_1byte 
-:      008541 g24_dg_store_config_ch:
-0x314f 008542 setarg offset_24g_dg_last_ch 
-0x3150 008543 call g24_set_rega_ifetch_1byte 
-0x3151 008544 branch g24_store_mem_ch 
-:      008547 g24_transmit_ack:
-0x3152 008549 add regc ,offset_24g_rxbuf ,rega 
-0x3153 008550 ifetch 1 ,rega 
-0x3154 008552 call g24_store_mem_data_type 
-0x3155 008555 call g24_read_len_pid_crc 
-0x3156 008557 call g24_fetch_mem_rxbuf_add1 
-0x3157 008559 isolate1 bit_ack_24g ,pdata 
-0x3158 008560 branch g24tx_no_ack ,true 
-:      008561 g24tx_with_ack:
-0x3159 008562 call g24_ackpayload_prep 
-0x315a 008563 call g24_transmit_prep 
-0x315b 008564 call g24_transmit 
-:      008565 g24tx_no_ack:
-0x315c 008566 branch g24_end_of_packet 
-:      008568 g24_ackpayload_prep:
-0x315d 008569 bpatch patch18_2 ,mem_patch18 
-0x315e 008570 add regc ,offset_24g_datalen ,contw 
-0x315f 008571 call g24_mem_set0 
-0x3160 008573 setarg offset_24g_ackpayload_enable 
-0x3161 008574 call g24_set_rega_ifetch_1byte 
-0x3162 008576 rtn blank 
-0x3163 008577 setarg 0x06 
-0x3164 008578 add regc ,offset_24g_datalen ,contw 
-0x3165 008579 istore 1 ,contw 
-0x3166 008581 arg 0x06 ,loopcnt 
-0x3167 008582 setarg offset_24g_bind_payload 
-0x3168 008583 iadd regc ,contr 
-0x3169 008585 add regc ,offset_24g_txbuf ,contw 
-0x316a 008587 branch memcpy 
-:      008590 g24_receive_packet_start:
-0x316b 008591 call g24_receive_transmit_ack 
-0x316c 008592 nbranch g24_rx_interrupt_clear ,user3 
-0x316d 008593 branch g24_receive_packet_parse 
-:      008595 g24_receive_transmit_ack:
-0x316e 008596 call g24_rx_interrupt_clear 
-0x316f 008597 call g24_receive_packet 
-0x3170 008598 nrtn user3 
-0x3171 008599 branch g24_transmit_ack 
-:      008601 g24_receive_packet_parse:
-0x3172 008602 bpatch patch18_3 ,mem_patch18 
-0x3173 008603 call g24_receive_packet_parse_pid_crc 
-0x3174 008604 nbranch g24_rx_interrupt_clear ,user 
-0x3175 008605 add regc ,offset_24g_rxdata_length ,rega 
-0x3176 008606 ifetch 1 ,rega 
-0x3177 008608 branch g24_rx_interrupt_clear ,blank 
-0x3178 008609 increase 2 ,pdata 
-0x3179 008610 iforce loopcnt 
-0x317a 008611 add regc ,offset_24g_rxbuf ,contr 
-0x317b 008613 setarg offset_24g_rxdata_temp 
-0x317c 008614 iadd regc ,contw 
-0x317d 008616 call memcpy 
-0x317e 008617 call g24_set0_mem_mode_switch 
-0x317f 008619 call g24_fetch_mem_pair_mode 
-0x3180 008621 call g24_enable_nodata_timer ,blank 
-0x3181 008622 setarg offset_24g_rxdata_temp_add2 
-0x3182 008623 call g24_set_rega_ifetch_1byte 
-0x3183 008625 beq 0x01 ,g24_data_type1 
-0x3184 008626 beq 0x02 ,g24_data_type2 
-0x3185 008627 beq 0x03 ,g24_data_type3 
-0x3186 008628 beq 0xff ,g24_data_attemp 
-0x3187 008629 branch g24_rx_interrupt_clear 
-:      008631 g24_receive_packet_parse_pid_crc:
-0x3188 008632 call g24_head_ptr2regc 
-0x3189 008633 call disable_user 
-0x318a 008634 add regc ,offset_24g_sta_pid ,rega 
-0x318b 008635 ifetch 1 ,rega 
-0x318c 008637 add regc ,offset_24g_last_pid ,rega 
-0x318d 008638 ifetcht 1 ,rega 
-0x318e 008640 isub temp ,null 
-0x318f 008641 ncall enable_user ,zero 
-0x3190 008642 add regc ,offset_24g_sta_pid ,rega 
-0x3191 008643 ifetch 1 ,rega 
-0x3192 008645 add regc ,offset_24g_last_pid ,contw 
-0x3193 008646 istore 1 ,contw 
-0x3194 008648 add regc ,offset_24g_sta_crc ,rega 
-0x3195 008649 ifetch 3 ,rega 
-0x3196 008651 add regc ,offset_24g_last_crc ,rega 
-0x3197 008652 ifetcht 3 ,rega 
-0x3198 008654 isub temp ,null 
-0x3199 008655 ncall enable_user ,zero 
-0x319a 008656 add regc ,offset_24g_sta_crc ,rega 
-0x319b 008657 ifetch 3 ,rega 
-0x319c 008659 add regc ,offset_24g_last_crc ,contw 
-0x319d 008661 branch g24_contw_istore_3byte 
-:      008663 g24_data_type1:
-0x319e 008664 call g24_ch_timer_reinit 
-0x319f 008665 call g24_fetch_mem_abort_pac 
-0x31a0 008666 store 1 ,mem_temp 
-0x31a1 008668 call g24_fetcht_mem_rxdata_temp 
-0x31a2 008669 fetch 1 ,mem_temp 
-0x31a3 008671 isolate1 bit_abort ,temp 
-0x31a4 008672 setflag true ,0 ,pdata 
-0x31a5 008673 add regc ,offset_24g_abort_pac ,contw 
-0x31a6 008674 istore 1 ,contw 
-0x31a7 008676 beq 1 ,g24_data_attemp_mouse 
-0x31a8 008677 call g24_fetch_mem_hop_pac 
-0x31a9 008679 call g24_fetcht_mem_rxdata_temp 
-0x31aa 008681 isolate1 bit_hop ,temp 
-0x31ab 008682 setflag true ,0 ,pdata 
-0x31ac 008683 call g24_store_mem_hop_pac 
-0x31ad 008685 add regc ,offset_24g_cb_rxdata_type1 ,rega 
-0x31ae 008686 ifetch 2 ,rega 
-0x31af 008688 branch callback_func 
-:      008690 dongle_rxdata_type1:
-0x31b0 008691 setarg ms_report_id 
-0x31b1 008692 store 1 ,mem_usb_mouse_data 
-0x31b2 008693 call g24_fetch_mem_rxdata_temp_add3_7byte 
-0x31b3 008695 istore 7 ,contw 
-0x31b4 008696 call g24_fetch_mem_rxdata_temp_add3_7byte 
-0x31b5 008698 ncall g24_ms_enable_blank_data_forcibly ,blank 
-0x31b6 008699 call g24_fetch_mem_rxdata_temp_add3_7byte 
-0x31b7 008701 call g24_ms_disable_blank_data_forcibly ,blank 
-:      008702 g24_data_type1_usbtx_enable:
-0x31b8 008703 jam usb_ep2_ms ,mem_usb_ep2_data 
-:      008704 g24_data_type1_usbtx_enable_ep2:
-0x31b9 008705 fetch 1 ,mem_usb_tx_enable 
-0x31ba 008706 set1 2 ,pdata 
-0x31bb 008707 store 1 ,mem_usb_tx_enable 
-0x31bc 008708 rtn 
-:      008710 g24_ms_enable_blank_data_forcibly:
-0x31bd 008711 setarg 1 
-0x31be 008712 call g24_store_mem_ms_blank_data_enable 
-:      008714 g24_ms_enable_blank_data_timer:
-0x31bf 008715 setarg timer_ms_blank_delay 
-0x31c0 008716 arg timer_ms_blank ,queue 
-0x31c1 008717 branch timer_init 
-:      008718 g24_ms_disable_blank_data_forcibly:
-0x31c2 008719 call g24_set0_mem_ms_blank_data_enable 
-:      008721 g24_ms_disable_blank_data_timer:
-0x31c3 008722 setarg 0 
-0x31c4 008723 arg timer_ms_blank ,queue 
-0x31c5 008724 branch timer_init 
-:      008726 g24_data_type2:
-0x31c6 008727 call g24_fetcht_mem_rxdata_temp 
-0x31c7 008729 isolate1 bit_abort ,temp 
-0x31c8 008730 branch g24_data_attemp_kbd ,true 
-0x31c9 008731 arg mem_usb_kb_data ,contw 
-0x31ca 008732 call g24_data_type2_reverse_data 
-0x31cb 008733 fetch 8 ,mem_usb_kb_data 
-0x31cc 008734 ncall g24_kb_enable_blank_data_forcibly ,blank 
-0x31cd 008735 fetch 8 ,mem_usb_kb_data 
-0x31ce 008736 call g24_kb_disable_blank_data_forcibly ,blank 
-0x31cf 008737 call g24_head_ptr2regc 
-0x31d0 008738 fetch 8 ,mem_usb_kb_data 
-0x31d1 008739 arg offset_24g_kb_data_sta_data ,rega 
-0x31d2 008740 call g24_set_contw_with_temp 
-0x31d3 008741 istore 8 ,contw 
-0x31d4 008743 setarg offset_24g_kb_data_last_data 
-0x31d5 008744 iadd regc ,rega 
-0x31d6 008745 ifetcht 8 ,rega 
-0x31d7 008747 isub temp ,null 
-0x31d8 008748 ncall g24_kb_data_dispose ,zero 
-0x31d9 008749 setarg offset_24g_kb_data_sta_data 
-0x31da 008750 iadd regc ,rega 
-0x31db 008751 ifetch 8 ,rega 
-0x31dc 008753 arg offset_24g_kb_data_last_data ,rega 
-0x31dd 008754 call g24_set_contw_with_temp 
-0x31de 008755 istore 8 ,contw 
-0x31df 008757 branch g24_rx_interrupt_clear 
-:      008759 g24_data_type2_reverse_data:
-0x31e0 008760 setarg offset_24g_rxdata_temp_add2 
-0x31e1 008761 iadd regc ,contr 
-0x31e2 008763 arg 9 ,loopcnt 
-0x31e3 008764 branch reverse_byte 
-:      008766 g24_kb_enable_blank_data_forcibly:
-0x31e4 008767 setarg 1 
-0x31e5 008768 call g24_store_mem_kb_blank_data_enable 
-:      008770 g24_kb_enable_blank_data_timer:
-0x31e6 008771 setarg timer_kb_blank_delay 
-0x31e7 008772 arg timer_kb_blank ,queue 
-0x31e8 008773 branch timer_init 
-:      008775 g24_kb_disable_blank_data_forcibly:
-0x31e9 008776 call g24_set0_mem_kb_blank_data_enable 
-:      008778 g24_kb_disable_blank_data_timer:
-0x31ea 008779 setarg 0 
-0x31eb 008780 arg timer_kb_blank ,queue 
-0x31ec 008781 branch timer_init 
-:      008783 g24_kb_data_dispose:
-:      008784 g24_kb_data_into_ep1_fifo:
-0x31ed 008785 jam usb_ep1_kb ,mem_usb_ep1_data 
-0x31ee 008786 fetch 1 ,mem_usb_tx_enable 
-0x31ef 008787 set1 1 ,pdata 
-0x31f0 008788 store 1 ,mem_usb_tx_enable 
-0x31f1 008789 rtn 
-:      008791 g24_data_type3:
-0x31f2 008792 arg mem_usb_kb_multikey ,contw 
-0x31f3 008793 call g24_data_type2_reverse_data 
-0x31f4 008794 fetch 2 ,mem_usb_kb_multikey + 1 
-0x31f5 008795 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
-0x31f6 008796 fetch 2 ,mem_usb_kb_multikey + 1 
-0x31f7 008797 call g24_kb_mul_disable_blank_data_forcibly ,blank 
-0x31f8 008798 call g24_head_ptr2regc 
-0x31f9 008799 fetch 3 ,mem_usb_kb_multikey 
-0x31fa 008800 arg offset_24g_kb_multikey_sta_data ,rega 
-0x31fb 008801 call g24_set_contw_with_temp_store_3byte 
-0x31fc 008803 setarg offset_24g_kb_multikey_last_data 
-0x31fd 008804 iadd regc ,rega 
-0x31fe 008805 ifetcht 3 ,rega 
-0x31ff 008807 isub temp ,null 
-0x3200 008808 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-0x3201 008809 setarg offset_24g_kb_multikey_sta_data 
-0x3202 008810 iadd regc ,rega 
-0x3203 008811 ifetch 3 ,rega 
-0x3204 008813 arg offset_24g_kb_multikey_last_data ,rega 
-0x3205 008814 call g24_set_contw_with_temp_store_3byte 
-0x3206 008816 branch g24_rx_interrupt_clear 
-:      008818 g24_kb_mul_data_into_ep2_fifo:
-0x3207 008819 jam usb_ep2_multikey ,mem_usb_ep2_data 
-0x3208 008820 branch g24_data_type1_usbtx_enable_ep2 
-:      008822 g24_kb_mul_enable_blank_data_forcibly:
-0x3209 008823 setarg 1 
-0x320a 008824 call g24_store_mem_kb_mul_blank_data_enable 
-:      008826 g24_kb_mul_enable_blank_data_timer:
-0x320b 008827 setarg timer_kb_mul_blank_delay 
-0x320c 008828 arg timer_kb_mul_blank ,queue 
-0x320d 008829 branch timer_init 
-:      008831 g24_kb_mul_disable_blank_data_forcibly:
-0x320e 008832 call g24_set0_mem_kb_mul_blank_data_enable 
-:      008834 g24_kb_mul_disable_blank_data_timer:
-0x320f 008835 setarg 0 
-0x3210 008836 arg timer_kb_mul_blank ,queue 
-0x3211 008837 branch timer_init 
-:      008839 g24_data_attemp:
-0x3212 008840 call g24_fetch_mem_rxdata_temp_add3_1byte 
-0x3213 008842 beq datatype_mouse ,g24_data_attemp_mouse 
-0x3214 008843 beq datatype_keyboard ,g24_data_attemp_kbd 
-0x3215 008844 rtn 
-:      008845 g24_data_attemp_mouse:
-0x3216 008846 setarg offset_24g_rxdata_temp_add4 
-0x3217 008847 call g24_set_rega_ifetch_4byte 
-0x3218 008848 arg offset_24g_mouse_addr ,rega 
-0x3219 008849 call g24_set_contw_with_temp 
-0x321a 008852 branch g24_contw_istore_4byte 
-:      008854 g24_data_attemp_kbd:
-0x321b 008855 setarg offset_24g_rxdata_temp_add4 
-0x321c 008856 call g24_set_rega_ifetch_4byte 
-0x321d 008857 arg offset_24g_kb_addr ,rega 
-0x321e 008858 call g24_set_contw_with_temp 
-0x321f 008861 branch g24_contw_istore_4byte 
-:      008863 g24_store_mem_24g_mode:
-0x3220 008864 call g24_head_ptr2regc 
-0x3221 008865 add regc ,offset_24g_mode ,contw 
-0x3222 008866 istore 1 ,contw 
-0x3223 008867 rtn 
-:      008869 g24_fetch_mem_device_addr:
-0x3224 008870 call g24_head_ptr2regc 
-0x3225 008871 add regc ,offset_24g_device_addr ,rega 
-0x3226 008872 branch g24_rega_ifetch_4byte 
-:      008873 g24_store_mem_device_addr:
-0x3227 008874 call g24_head_ptr2regc 
-0x3228 008875 add regc ,offset_24g_device_addr ,contw 
-0x3229 008876 branch g24_contw_istore_4byte 
-:      008878 g24_fetch_mem_addr:
-0x322a 008879 add regc ,offset_24g_addr ,rega 
-0x322b 008880 branch g24_rega_ifetch_4byte 
-:      008881 g24_store_mem_addr:
-0x322c 008882 add regc ,offset_24g_addr ,contw 
-:      008883 g24_contw_istore_4byte:
-0x322d 008884 istore 4 ,contw 
-0x322e 008885 rtn 
-:      008887 g24_store_mem_ch:
-0x322f 008888 add regc ,offset_24g_ch ,contw 
-0x3230 008889 branch g24_contw_istore_1byte 
-:      008891 g24_set0_mem_pid:
-0x3231 008892 setarg 0 
-:      008893 g24_store_mem_pid:
-0x3232 008894 call g24_head_ptr2regc 
-0x3233 008895 add regc ,offset_24g_pid ,contw 
-0x3234 008896 branch g24_contw_istore_1byte 
-:      008898 g24_store_mem_txpayload:
-0x3235 008899 add regc ,offset_24g_txpayload ,contw 
-0x3236 008900 branch g24_contw_istore_1byte 
-:      008902 g24_set4_mem_max_retry:
-0x3237 008903 setarg 4 
-:      008904 g24_store_mem_max_retry:
-0x3238 008905 add regc ,offset_24g_max_retry ,contw 
-0x3239 008906 branch g24_contw_istore_1byte 
-:      008908 g24_fetch_mem_data_type:
-0x323a 008909 add regc ,offset_24g_data_type ,rega 
-0x323b 008910 branch g24_rega_ifetch_1byte 
-:      008911 g24_store_mem_data_type:
-0x323c 008912 add regc ,offset_24g_data_type ,contw 
-0x323d 008913 branch g24_contw_istore_1byte 
-:      008915 g24_set2_mem_sync_cnt:
-0x323e 008916 setarg 2 
-:      008917 g24_store_mem_sync_cnt:
-0x323f 008918 add regc ,offset_24g_sync_cnt ,contw 
-0x3240 008919 branch g24_contw_istore_1byte 
-:      008921 g24_set1_mem_rf_last_sta:
-0x3241 008922 setarg 1 
-:      008923 g24_store_mem_rf_last_sta:
-0x3242 008924 call g24_head_ptr2regc 
-0x3243 008925 add regc ,offset_24g_rf_last_sta ,contw 
-0x3244 008926 branch g24_contw_istore_1byte 
-:      008928 g24_fetch_mem_hop_pac:
-0x3245 008929 call g24_head_ptr2regc 
-0x3246 008930 add regc ,offset_24g_hop_pac ,rega 
-0x3247 008931 branch g24_rega_ifetch_1byte 
-:      008932 g24_set1_mem_hop_pac:
-0x3248 008933 setarg 1 
-:      008934 g24_store_mem_hop_pac:
-0x3249 008935 call g24_head_ptr2regc 
-0x324a 008936 add regc ,offset_24g_hop_pac ,contw 
-0x324b 008937 branch g24_contw_istore_1byte 
-:      008939 g24_fetch_mem_abort_pac:
-0x324c 008940 call g24_head_ptr2regc 
-0x324d 008941 add regc ,offset_24g_abort_pac ,rega 
-0x324e 008942 branch g24_rega_ifetch_1byte 
-:      008943 g24_set1_mem_abort_pac:
-0x324f 008944 setarg 1 
-:      008945 g24_store_mem_abort_pac:
-0x3250 008946 call g24_head_ptr2regc 
-0x3251 008947 add regc ,offset_24g_abort_pac ,contw 
-0x3252 008948 branch g24_contw_istore_1byte 
-:      008950 g24_fetch_mem_pairing_sm:
-0x3253 008951 call g24_head_ptr2regc 
-0x3254 008952 add regc ,offset_24g_pairing_sm ,rega 
-0x3255 008953 branch g24_rega_ifetch_1byte 
-:      008954 g24_store_mem_pairing_sm:
-0x3256 008955 add regc ,offset_24g_pairing_sm ,contw 
-0x3257 008956 branch g24_contw_istore_1byte 
-:      008958 g24_fetch_mem_rf_hop_ch:
-0x3258 008959 add regc ,offset_24g_rf_hop_ch ,rega 
-0x3259 008960 branch g24_rega_ifetch_1byte 
-:      008961 g24_set0_mem_rf_hop_ch:
-0x325a 008962 setarg 0 
-:      008963 g24_store_mem_rf_hop_ch:
-0x325b 008964 add regc ,offset_24g_rf_hop_ch ,contw 
-0x325c 008965 branch g24_contw_istore_1byte 
-:      008967 g24_fetch_mem_rf_work_stage:
-0x325d 008968 add regc ,offset_24g_rf_work_stage ,rega 
-0x325e 008969 branch g24_rega_ifetch_1byte 
-:      008971 g24_fetch_mem_rxbuf_add1:
-0x325f 008972 add regc ,offset_24g_rxbuf_add1 ,rega 
-0x3260 008973 branch g24_rega_ifetch_1byte 
-:      008975 g24_fetch_mem_check_dongle_times:
-0x3261 008976 add regc ,offset_24g_check_dongle_times ,rega 
-0x3262 008977 branch g24_rega_ifetch_1byte 
-:      008978 g24_set0_mem_check_dongle_times:
-0x3263 008979 setarg 0 
-:      008980 g24_store_mem_check_dongle_times:
-0x3264 008981 call g24_head_ptr2regc 
-0x3265 008982 add regc ,offset_24g_check_dongle_times ,contw 
-0x3266 008983 branch g24_contw_istore_1byte 
-:      008985 g24_store_mem_tx_power:
-0x3267 008986 call g24_head_ptr2regc 
-0x3268 008987 add regc ,offset_tx_power_temp ,rega 
-0x3269 008988 ifetch 1 ,rega 
-:      008989 g24_store_mem_txpower:
-0x326a 008990 store 1 ,mem_tx_power 
-0x326b 008991 rtn 
-:      008993 g24_store_mem_tx_power_temp:
-0x326c 008994 call g24_head_ptr2regc 
-0x326d 008995 fetch 1 ,mem_tx_power 
-0x326e 008997 add regc ,offset_tx_power_temp ,contw 
-0x326f 008998 branch g24_contw_istore_1byte 
-:      009000 g24_fetch_mem_power_ctrl_pac:
-0x3270 009001 add regc ,offset_power_ctrl_packet_cnt ,rega 
-0x3271 009002 branch g24_rega_ifetch_1byte 
-:      009004 g24_store_mem_power_ctrl_level:
-0x3272 009005 add regc ,offset_power_ctrl_level ,contw 
-0x3273 009006 branch g24_contw_istore_1byte 
-:      009008 g24_fetcht_mem_rxdata_temp:
-0x3274 009009 setarg offset_24g_rxdata_temp 
-:      009010 g24_set_rega_ifetcht_1byte:
-0x3275 009011 iadd regc ,rega 
-0x3276 009012 ifetcht 1 ,rega 
-0x3277 009013 rtn 
-:      009015 g24_fetch_mem_rf_laststa:
-0x3278 009016 setarg offset_24g_rf_laststa 
-0x3279 009017 branch g24_set_rega_ifetch_1byte 
-:      009018 g24_set0_mem_rf_laststa:
-0x327a 009019 setarg 0 
-:      009020 g24_store_mem_rf_laststa:
-0x327b 009021 arg offset_24g_rf_laststa ,rega 
-0x327c 009022 branch g24_set_contw_with_regb_store_1byte 
-:      009024 g24_fetch_mem_rx_addr:
-0x327d 009025 setarg offset_24g_rx_addr 
-:      009026 g24_set_rega_ifetch_4byte:
-0x327e 009027 call g24_set_rega 
-:      009028 g24_rega_ifetch_4byte:
-0x327f 009029 ifetch 4 ,rega 
-0x3280 009030 rtn 
-:      009032 g24_fetch_mem_time_slice:
-0x3281 009033 setarg offset_24g_time_slice 
-0x3282 009034 branch g24_set_rega_ifetch_1byte 
-:      009035 g24_set0_mem_time_slice:
-0x3283 009036 setarg 0 
-:      009037 g24_store_mem_time_slice:
-0x3284 009038 arg offset_24g_time_slice ,rega 
-0x3285 009039 branch g24_set_contw_with_regb_store_1byte 
-:      009041 g24_set0_mem_mode_switch:
-0x3286 009042 setarg 0 
-:      009043 g24_store_mem_mode_switch:
-0x3287 009044 arg offset_24g_mode_switch ,rega 
-0x3288 009045 branch g24_set_contw_with_regb_store_1byte 
-:      009047 g24_store_mem_bind_payload:
-0x3289 009048 arg offset_24g_bind_payload ,rega 
-0x328a 009049 branch g24_set_contw_with_regb_store_1byte 
-:      009051 g24_fetch_mem_bind_device_status:
-0x328b 009052 setarg offset_dongle_bind_device_status 
-0x328c 009053 branch g24_set_rega_ifetch_1byte 
-:      009054 g24_store_mem_bind_device_status:
-0x328d 009055 arg offset_dongle_bind_device_status ,rega 
-0x328e 009056 branch g24_set_contw_with_regb_store_1byte 
-:      009058 g24_fetch_mem_dongle_work_mode:
-0x328f 009059 setarg offset_dongle_work_mode 
-0x3290 009060 branch g24_set_rega_ifetch_1byte 
-:      009061 g24_set_work_mem_dongle_work_mode:
-0x3291 009062 setarg dongle_work 
-:      009063 g24_store_mem_dongle_work_mode:
-0x3292 009064 arg offset_dongle_work_mode ,rega 
-0x3293 009065 branch g24_set_contw_with_regb_store_1byte 
-:      009067 g24_fetch_mem_dongle_mode_init:
-0x3294 009068 setarg offset_dongle_mode_init 
-0x3295 009069 branch g24_set_rega_ifetch_1byte 
-:      009070 g24_set0_mem_dongle_mode_init:
-0x3296 009071 setarg clear_init 
-:      009072 g24_store_mem_dongle_mode_init:
-0x3297 009073 arg offset_dongle_mode_init ,rega 
-0x3298 009074 branch g24_set_contw_with_regb_store_1byte 
-:      009076 g24_set0_mem_ackpayload_enable:
-0x3299 009077 setarg 0 
-:      009078 g24_store_mem_ackpayload_enable:
-0x329a 009079 arg offset_24g_ackpayload_enable ,rega 
-0x329b 009080 branch g24_set_contw_with_regb_store_1byte 
-:      009081 g24_set1_mem_ackpayload_enable:
-0x329c 009082 setarg 1 
-0x329d 009083 branch g24_store_mem_ackpayload_enable 
-:      009085 g24_fetch_mem_rxdata_temp_add3_7byte:
-0x329e 009086 setarg offset_24g_rxdata_temp_add3 
-0x329f 009087 call g24_set_rega 
-0x32a0 009088 ifetch 7 ,rega 
-0x32a1 009089 rtn 
-:      009091 g24_fetch_mem_nodata_timer_enable:
-0x32a2 009092 setarg offset_24g_nodata_timer_enable 
-0x32a3 009093 branch g24_set_rega_ifetch_1byte 
-:      009094 g24_set0_mem_nodata_timer_enable:
-0x32a4 009095 setarg 0 
-:      009096 g24_store_mem_nodata_timer_enable:
-0x32a5 009097 arg offset_24g_nodata_timer_enable ,rega 
-0x32a6 009098 branch g24_set_contw_with_regb_store_1byte 
-:      009100 g24_set0_mem_ms_blank_data_enable:
-0x32a7 009101 setarg 0 
-:      009102 g24_store_mem_ms_blank_data_enable:
-0x32a8 009103 arg offset_24g_ms_blank_data_enable ,rega 
-0x32a9 009104 branch g24_set_contw_with_regb_store_1byte 
-:      009106 g24_set0_mem_kb_blank_data_enable:
-0x32aa 009107 setarg 0 
-:      009108 g24_store_mem_kb_blank_data_enable:
-0x32ab 009109 arg offset_24g_kb_blank_data_enable ,rega 
-0x32ac 009110 branch g24_set_contw_with_regb_store_1byte 
-:      009112 g24_set0_mem_kb_mul_blank_data_enable:
-0x32ad 009113 setarg 0 
-:      009114 g24_store_mem_kb_mul_blank_data_enable:
-0x32ae 009115 arg offset_24g_kb_mul_blank_data_enable ,rega 
-0x32af 009116 branch g24_set_contw_with_regb_store_1byte 
-:      009118 g24_store_mem_power_ctrl_threshold_up:
-0x32b0 009119 arg offset_power_ctrl_threshold_up ,rega 
-0x32b1 009120 branch g24_set_contw_with_regb_store_1byte 
-:      009122 g24_store_mem_power_ctrl_threshold_down:
-0x32b2 009123 arg offset_power_ctrl_threshold_down ,rega 
-:      009124 g24_set_contw_with_regb_store_1byte:
-0x32b3 009125 call g24_set_contw_with_regb 
-:      009126 g24_contw_istore_1byte:
-0x32b4 009127 istore 1 ,contw 
-0x32b5 009128 rtn 
-:      009130 g24_fetch_mem_pair_mode:
-0x32b6 009131 setarg offset_24g_pair_mode 
-0x32b7 009132 branch g24_set_rega_ifetch_1byte 
-:      009134 g24_store_mem_pair_mode:
-0x32b8 009135 arg offset_24g_pair_mode ,rega 
-0x32b9 009136 branch g24_set_contw_with_regb_store_1byte 
-:      009138 g24_store_mem_pair_txpower:
-0x32ba 009139 setarg offset_24g_pair_txpower 
-0x32bb 009140 call g24_set_rega_ifetch_1byte 
-0x32bc 009141 branch g24_store_mem_txpower 
-:      009143 g24_fetch_mem_rxdata_temp_add3_1byte:
-0x32bd 009144 setarg offset_24g_rxdata_temp_add3 
-0x32be 009145 branch g24_set_rega_ifetch_1byte 
-:      009147 g24_set_contw_with_temp:
-0x32bf 009148 copy pdata ,temp 
-0x32c0 009149 copy rega ,pdata 
-0x32c1 009150 iadd regc ,contw 
-0x32c2 009151 copy temp ,pdata 
-0x32c3 009152 rtn 
-:      009154 g24_set_contw_with_temp_store_3byte:
-0x32c4 009155 call g24_set_contw_with_temp 
-:      009156 g24_contw_istore_3byte:
-0x32c5 009157 istore 3 ,contw 
-0x32c6 009158 rtn 
-:      009160 g24_set_contw_with_regb:
-0x32c7 009161 call g24_head_ptr2regc 
-:      009162 g24_set_contw_with_regb2:
-0x32c8 009163 copy pdata ,regb 
-0x32c9 009164 copy rega ,pdata 
-0x32ca 009165 iadd regc ,contw 
-0x32cb 009166 copy regb ,pdata 
-0x32cc 009167 rtn 
-:      009169 g24_set_rega:
-0x32cd 009170 call g24_head_ptr2regc 
-0x32ce 009171 iadd regc ,rega 
-0x32cf 009172 rtn 
-:      009174 g24_set_rega_ifetch_1byte:
-0x32d0 009175 call g24_set_rega 
-:      009176 g24_rega_ifetch_1byte:
-0x32d1 009177 ifetch 1 ,rega 
-0x32d2 009178 rtn 
-:      009180 g24_set_rega_ifetcht_4byte:
-0x32d3 009181 call g24_set_rega 
-0x32d4 009182 ifetcht 4 ,rega 
-0x32d5 009183 rtn 
-:      009185 g24_mem_set0:
-0x32d6 009186 setarg 0 
-0x32d7 009187 branch g24_contw_istore_1byte 
-:      009191 app_init:
-0x32d8 009192 bpatch patch18_4 ,mem_patch18 
-0x32d9 009193 fetch 1 ,mem_device_option 
-0x32da 009194 branch app_init ,blank 
-0x32db 009196 beq dvc_op_dongle ,dongle_init 
-0x32dc 009197 beq dvc_op_antilost ,antilost_init 
-0x32dd 009198 beq dvc_op_shutter ,shutter_init 
-0x32de 009199 beq dvc_op_module ,module_init 
-0x32df 009200 beq dvc_op_car ,car_init 
-0x32e0 009201 beq dvc_op_remote_car ,remote_car_init 
-0x32e1 009202 bbit1 dvc_op_mouse ,mouse_init 
-0x32e2 009203 rtn 
-:      009205 app_lpm_init:
-0x32e3 009206 bpatch patch18_5 ,mem_patch18 
-0x32e4 009207 jam 0 ,mem_tester_emulate 
-0x32e5 009208 jam 0 ,mem_debug_config 
-0x32e6 009209 jam 0 ,mem_lch_code 
-0x32e7 009210 setarg 0 
-0x32e8 009211 store 5 ,mem_sp_state_start 
-0x32e9 009212 fetch 1 ,mem_device_option 
-0x32ea 009213 branch app_lpm_init ,blank 
-0x32eb 009214 beq dvc_op_module ,module_lpm_init 
-:      009215 app_lpm_init0:
-0x32ec 009216 rtn 
-:      009219 app_process_idle:
-0x32ed 009220 call ui_dispatch 
-0x32ee 009221 call check_51cmd 
-0x32ef 009222 call app_process_bb_event 
-0x32f0 009223 fetch 2 ,mem_cb_idle_process 
-0x32f1 009224 branch callback_func 
-:      009226 app_process_bt:
-0x32f2 009227 fetch 2 ,mem_cb_bt_process 
-0x32f3 009228 branch callback_func 
-:      009230 app_process_ble:
-0x32f4 009231 fetch 2 ,mem_cb_le_process 
-0x32f5 009232 branch callback_func 
-:      009234 app_process_bb_event:
-0x32f6 009235 bpatch patch18_6 ,mem_patch18 
-0x32f7 009237 arg mem_ipc_fifo_bt2c51 ,rega 
-0x32f8 009238 call fifo_out 
-0x32f9 009239 rtn blank 
-0x32fa 009241 copy pdata ,regc 
-0x32fb 009242 call app_event_normal_process 
-0x32fc 009243 branch app_process_bb_event_priority 
-:      009245 app_discard_event:
-0x32fd 009246 arg 0 ,regc 
-0x32fe 009247 rtn 
-:      009252 app_event_normal_process:
-0x32ff 009253 beq bt_evt_bb_connected ,app_evt_bt_conn 
-0x3300 009254 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
-0x3301 009255 beq bt_evt_setup_complete ,app_evt_setup_complete 
-0x3302 009256 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
-0x3303 009257 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
-0x3304 009258 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
-0x3305 009259 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
-0x3306 009260 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
-0x3307 009261 beq bt_evt_le_connected ,app_le_event_bb_connected 
-0x3308 009262 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
-0x3309 009263 beq bt_evt_reconn_started ,app_event_reconn_start 
-0x330a 009264 beq bt_evt_enter_sniff ,app_event_enter_sniff 
-0x330b 009265 beq bt_evt_exit_sniff ,app_event_exit_sniff 
-0x330c 009267 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
-0x330d 009268 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
-0x330e 009269 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
-0x330f 009270 beq bt_evt_switch_success_master ,app_event_switch_success 
-0x3310 009271 rtn 
-:      009274 app_evt_bt_conn:
-0x3311 009275 fetch 2 ,mem_ui_state_map 
-0x3312 009276 set1 ui_state_bt_connected ,pdata 
-0x3313 009277 store 2 ,mem_ui_state_map 
-0x3314 009278 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3315 009279 set0 app_disc_by_button ,pdata 
-0x3316 009280 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3317 009281 rtn 
-:      009283 app_event_switch_success:
-0x3318 009284 jam 0 ,mem_switch_fail_master_count 
-0x3319 009285 rtn 
-:      009287 app_event_switch_fail_master:
-0x331a 009288 fetch 1 ,mem_switch_fail_master_count 
-0x331b 009289 increase 1 ,pdata 
-0x331c 009290 store 1 ,mem_switch_fail_master_count 
-0x331d 009291 sub pdata ,1 ,null 
-0x331e 009292 branch app_bt_role_switch ,positive 
-0x331f 009293 jam 0 ,mem_switch_fail_master_count 
-0x3320 009294 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3321 009295 set1 app_disc_switch_fail ,pdata 
-0x3322 009296 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3323 009297 branch app_bt_disconnect 
-:      009299 app_process_bb_event_priority:
-0x3324 009300 fetch 2 ,mem_cb_bb_event_process 
-0x3325 009301 branch callback_func 
-:      009303 app_check_wake_lock:
-0x3326 009304 fetch 2 ,mem_cb_check_wakelock 
-0x3327 009305 branch callback_func 
-:      009307 app_will_enter_lpm:
-0x3328 009308 fetch 2 ,mem_cb_before_lpm 
-0x3329 009309 branch callback_func 
-:      009311 app_event_linkkey_generate:
-0x332a 009312 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x332b 009313 set1 app_disc_after_pairing ,pdata 
-0x332c 009314 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x332d 009315 branch app_bt_store_reconn_info 
-:      009317 app_event_reconn_start:
-0x332e 009318 fetch 2 ,mem_ui_state_map 
-0x332f 009319 set1 ui_state_bt_reconnect ,pdata 
-0x3330 009320 store 2 ,mem_ui_state_map 
-0x3331 009321 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3332 009322 set1 app_disc_after_reconn ,pdata 
-0x3333 009323 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3334 009324 rtn 
-:      009326 app_evt_setup_complete:
-0x3335 009327 fetch 2 ,mem_ui_state_map 
-0x3336 009328 set1 ui_state_bt_setup_complete ,pdata 
-0x3337 009329 store 2 ,mem_ui_state_map 
-0x3338 009330 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3339 009331 set1 app_disc_after_setup_done ,pdata 
-0x333a 009332 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x333b 009333 rtn 
-:      009335 app_evt_hid_handshake:
-0x333c 009336 fetch 2 ,mem_ui_state_map 
-0x333d 009337 set1 ui_state_bt_hid_handshake ,pdata 
-0x333e 009338 store 2 ,mem_ui_state_map 
-0x333f 009339 rtn 
-:      009341 app_event_enter_sniff:
-0x3340 009342 fetch 2 ,mem_ui_state_map 
-0x3341 009343 set1 ui_state_bt_sniff ,pdata 
-0x3342 009344 store 2 ,mem_ui_state_map 
-0x3343 009345 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3344 009346 set1 app_disc_after_sniff ,pdata 
-0x3345 009347 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3346 009348 rtn 
-:      009350 app_event_exit_sniff:
-0x3347 009351 fetch 2 ,mem_ui_state_map 
-0x3348 009352 set0 ui_state_bt_sniff ,pdata 
-0x3349 009353 store 2 ,mem_ui_state_map 
-0x334a 009354 rtn 
-:      009356 app_le_event_bb_connected:
-0x334b 009357 fetch 2 ,mem_ui_state_map 
-0x334c 009358 set1 ui_state_ble_connected ,pdata 
-0x334d 009359 store 2 ,mem_ui_state_map 
-0x334e 009360 rtn 
-:      009362 app_le_event_bb_disconn:
-0x334f 009363 fetch 2 ,mem_ui_state_map 
-0x3350 009364 set0 ui_state_ble_connected ,pdata 
-0x3351 009365 store 2 ,mem_ui_state_map 
-0x3352 009366 branch app_lpm_mult_disable 
-:      009368 app_bb_event_hid_connected:
-0x3353 009369 fetch 2 ,mem_ui_state_map 
-0x3354 009370 set1 ui_state_bt_hid_conn ,pdata 
-0x3355 009371 store 2 ,mem_ui_state_map 
-0x3356 009372 rtn 
-:      009374 app_evt_button_long_pressed:
-0x3357 009375 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x3358 009376 set1 app_disc_by_button ,pdata 
-0x3359 009377 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x335a 009378 rtn 
-:      009380 app_event_ml2cap_conn_refused:
-0x335b 009381 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x335c 009382 set1 app_disc_l2cap_refused ,pdata 
-0x335d 009383 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x335e 009384 branch app_bt_disconnect 
-:      009387 app_evt_timer:
-0x335f 009388 bpatch patch18_7 ,mem_patch18 
-0x3360 009389 store 1 ,mem_app_evt_timer_count 
-:      009390 app_evt_100ms_loop:
-0x3361 009391 fetch 1 ,mem_app_evt_timer_count 
-0x3362 009392 rtn blank 
-0x3363 009393 increase -1 ,pdata 
-0x3364 009394 store 1 ,mem_app_evt_timer_count 
-0x3365 009395 call ui_button_polling 
-0x3366 009396 call app_lpm_wake_auto_lock_timer 
-0x3367 009397 call app_unsniff_delay_timer 
-0x3368 009398 call app_discovery_timer 
-0x3369 009399 call flash_write_spi_sm_timer 
-0x336a 009400 fetch 2 ,mem_cb_event_timer 
-0x336b 009401 call callback_func 
-0x336c 009402 branch app_evt_100ms_loop 
-:      009407 timer_single_step:
-0x336d 009408 ifetch 1 ,regc 
-0x336e 009409 rtn blank 
-0x336f 009410 pincrease -1 
-0x3370 009411 istore 1 ,regc 
-0x3371 009412 nrtn blank 
-0x3372 009413 copy regb ,pdata 
-0x3373 009414 branch callback_func 
-:      009418 timer_single_step_2b:
-0x3374 009419 ifetch 2 ,regc 
-0x3375 009420 rtn blank 
-0x3376 009421 pincrease -1 
-0x3377 009422 istore 2 ,regc 
-0x3378 009423 nrtn blank 
-0x3379 009424 copy regb ,pdata 
-0x337a 009425 branch callback_func 
-:      009427 app_power_timer:
-0x337b 009428 fetcht 2 ,mem_power_param_ptr 
-0x337c 009429 add temp ,power_timer_offset ,regc 
-0x337d 009430 arg app_power_timer_timeout ,regb 
-0x337e 009431 branch timer_single_step 
-:      009433 app_power_timer_timeout:
-0x337f 009434 call app_got_power_state_common 
-0x3380 009435 beq power_starting ,app_enter_power_stanby_state 
-:      009436 app_enter_power_off_state:
-0x3381 009437 branch app_enter_hibernate 
-:      009438 app_enter_power_stanby_state:
-0x3382 009439 setarg power_standby 
-0x3383 009440 istore 1 ,regc 
-0x3384 009441 add temp ,power_standby_cb_offset ,regb 
-:      009442 app_power_cb_common:
-0x3385 009443 ifetch 2 ,regb 
-0x3386 009444 branch callback_func 
-:      009446 app_unsniff_delay_timer:
-0x3387 009447 arg mem_unsniff2sniff_timer_count ,regc 
-0x3388 009448 arg app_unsniff_delay_timeout ,regb 
-0x3389 009449 branch timer_single_step 
-:      009451 app_unsniff_delay_timeout:
-0x338a 009452 call context_check_idle 
-0x338b 009453 branch app_bt_enter_sniff ,zero 
-0x338c 009454 rtn 
-:      009457 app_discovery_timer:
-0x338d 009458 arg mem_discovery_timeout_timer_count ,regc 
-0x338e 009459 arg app_discovery_timeout ,regb 
-0x338f 009460 branch timer_single_step_2b 
-:      009462 app_discovery_timeout:
-0x3390 009463 call app_bt_stop_discovery 
-0x3391 009464 call app_led_off 
-0x3392 009465 fetch 2 ,mem_cb_discovry_timeout 
-0x3393 009466 branch callback_func 
-:      009469 app_bb_event_reconn_failed:
-0x3394 009470 call app_disconn_reason_flag_clear 
-:      009471 app_clear_reconnect_flag:
-0x3395 009472 fetch 2 ,mem_ui_state_map 
-0x3396 009473 set0 ui_state_bt_reconnect ,pdata 
-0x3397 009474 store 2 ,mem_ui_state_map 
-0x3398 009475 rtn 
-:      009477 app_bb_event_bb_disconn:
-0x3399 009478 jam 0 ,mem_unsniff2sniff_timer_count 
-0x339a 009479 fetch 2 ,mem_ui_state_map 
-0x339b 009480 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
-0x339c 009481 isolate0 ui_state_bt_setup_complete ,pdata 
-0x339d 009482 call app_discard_event ,true 
-:      009483 app_bb_event_bb_reconn_disconn:
-0x339e 009484 bpatch patch19_0 ,mem_patch19 
-0x339f 009485 fetch 2 ,mem_ui_state_map 
-0x33a0 009486 set0 ui_state_bt_connected ,pdata 
-0x33a1 009487 set0 ui_state_bt_setup_complete ,pdata 
-0x33a2 009488 set0 ui_state_bt_hid_conn ,pdata 
-0x33a3 009489 set0 ui_state_bt_hid_handshake ,pdata 
-0x33a4 009490 set0 ui_state_bt_reconnect ,pdata 
-0x33a5 009491 store 2 ,mem_ui_state_map 
-0x33a6 009492 branch app_lpm_mult_disable 
-:      009494 app_bb_hibernate:
-0x33a7 009495 call app_disconn_reason_clear 
-0x33a8 009496 branch app_enter_hibernate 
-:      009499 app_disconn_reason_clear:
-0x33a9 009500 setarg 0 
-0x33aa 009501 store app_disc_rsn_size ,mem_app_disconn_reason 
-0x33ab 009502 rtn 
-:      009503 app_disconn_reason_flag_clear:
-0x33ac 009504 setarg 0 
-0x33ad 009505 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x33ae 009506 rtn 
-:      009508 app_disconn_reason_collect_bt:
-0x33af 009509 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x33b0 009510 store app_disc_rsn_size ,mem_app_disconn_reason 
-0x33b1 009511 setarg 0 
-0x33b2 009512 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x33b3 009513 rtn 
-:      009515 app_disconn_reason_collect_ble:
-0x33b4 009516 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x33b5 009517 set1 app_disc_ble ,pdata 
-0x33b6 009518 store app_disc_rsn_size ,mem_app_disconn_reason 
-0x33b7 009519 setarg 0 
-0x33b8 009520 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x33b9 009521 rtn 
-:      009529 app_check_sniff:
-0x33ba 009530 fetch 1 ,mem_ui_state_map 
-0x33bb 009531 isolate1 ui_state_bt_sniff ,pdata 
-0x33bc 009532 rtn 
-:      009540 app_initflag_store:
-0x33bd 009541 setarg eeprom_init_flag 
-:      009542 app_flag_store:
-0x33be 009543 store 2 ,mem_timeup 
-0x33bf 009544 bpatch patch19_1 ,mem_patch19 
-0x33c0 009545 arg 2 ,temp 
-0x33c1 009546 arg mem_timeup ,rega 
-0x33c2 009547 arg eeprom_module_init_flag ,regb 
-0x33c3 009548 branch iicd_write_eep_data 
-:      009551 app_initflag_check:
-0x33c4 009552 bpatch patch19_2 ,mem_patch19 
-0x33c5 009553 arg 2 ,temp 
-0x33c6 009554 arg mem_pdatatemp ,rega 
-0x33c7 009555 arg eeprom_module_init_flag ,regb 
-0x33c8 009556 call iicd_read_eep_data 
-0x33c9 009557 fetch 2 ,mem_pdatatemp 
-0x33ca 009558 arg eeprom_init_flag ,temp 
-0x33cb 009559 isub temp ,null 
-0x33cc 009560 rtn 
-:      009563 app_start_auto_sniff:
-0x33cd 009564 fetch 1 ,mem_unsniff2sniff_timer 
-0x33ce 009565 store 1 ,mem_unsniff2sniff_timer_count 
-0x33cf 009566 rtn 
-:      009568 app_get_lpm_wake_lock:
-0x33d0 009569 arg wake_lock_app ,queue 
-0x33d1 009570 branch lpm_get_wake_lock 
-:      009572 app_put_lpm_wake_lock:
-0x33d2 009573 arg wake_lock_app ,queue 
-0x33d3 009574 branch lpm_put_wake_lock 
-:      009576 app_lpm_wake_auto_lock:
-0x33d4 009577 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
-0x33d5 009578 branch app_get_lpm_wake_lock 
-:      009580 app_lpm_wake_auto_lock_timer:
-0x33d6 009581 arg mem_wake_up_delay_timer ,regc 
-0x33d7 009582 arg app_put_lpm_wake_lock ,regb 
-0x33d8 009583 branch timer_single_step 
-:      009585 app_l2cap_flow_control_enable:
-0x33d9 009586 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
-0x33da 009587 rtn 
-:      009589 app_l2cap_flow_control_disable:
-0x33db 009590 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
-0x33dc 009591 rtn 
-:      009593 app_bt_set_pincode:
-0x33dd 009594 jam bt_cmd_set_pin_code ,mem_fifo_temp 
-0x33de 009595 branch ui_ipc_send_cmd 
-:      009597 app_bt_role_switch:
-0x33df 009598 jam bt_cmd_role_switch ,mem_fifo_temp 
-0x33e0 009599 branch ui_ipc_send_cmd 
-:      009601 app_bt_start_reconnect:
-0x33e1 009602 bpatch patch19_3 ,mem_patch19 
-0x33e2 009603 fetch 1 ,mem_app_connection_options 
-0x33e3 009604 store 1 ,mem_connection_options 
-0x33e4 009605 jam app_flag_reconnect ,mem_reconnect_flag 
-0x33e5 009606 jam bt_cmd_reconnect ,mem_fifo_temp 
-0x33e6 009607 branch ui_ipc_send_cmd 
-:      009609 app_bt_reconnect_cancel:
-0x33e7 009610 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
-0x33e8 009611 branch ui_ipc_send_cmd 
-:      009613 app_bt_disconnect:
-0x33e9 009614 jam bt_cmd_disconnect ,mem_fifo_temp 
-0x33ea 009615 branch ui_ipc_send_cmd 
-:      009617 app_bt_start_discovery_short:
-0x33eb 009618 fetch 2 ,mem_discovery_timeout 
-0x33ec 009619 store 2 ,mem_discovery_timeout_timer_count 
-:      009620 app_bt_start_discovery_led_blink:
-0x33ed 009621 call app_led_start_blink 
-:      009622 app_bt_start_discovery:
-0x33ee 009623 jam bt_cmd_start_discovery ,mem_fifo_temp 
-0x33ef 009624 branch ui_ipc_send_cmd 
-:      009626 app_bt_stop_discovery:
-0x33f0 009627 setarg 0 
-0x33f1 009628 store 2 ,mem_discovery_timeout_timer_count 
-0x33f2 009629 jam bt_cmd_stop_discovery ,mem_fifo_temp 
-0x33f3 009630 branch ui_ipc_send_cmd 
-:      009632 app_ble_start_direct_adv:
-0x33f4 009633 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
-0x33f5 009634 branch ui_ipc_send_cmd 
-:      009636 app_ble_stop_direct_adv:
-0x33f6 009637 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
-0x33f7 009638 branch ui_ipc_send_cmd 
-:      009640 app_ble_stop_adv:
-0x33f8 009641 jam bt_cmd_stop_adv ,mem_fifo_temp 
-0x33f9 009642 branch ui_ipc_send_cmd 
-:      009644 app_ble_start_adv:
-0x33fa 009645 jam bt_cmd_start_adv ,mem_fifo_temp 
-0x33fb 009646 branch ui_ipc_send_cmd 
-:      009648 app_ble_start_scan:
-0x33fc 009649 jam bt_cmd_le_start_scan ,mem_fifo_temp 
-0x33fd 009650 branch ui_ipc_send_cmd 
-:      009652 app_ble_stop_scan:
-0x33fe 009653 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
-0x33ff 009654 branch ui_ipc_send_cmd 
-:      009656 app_ble_start_conn:
-0x3400 009657 jam bt_cmd_le_start_conn ,mem_fifo_temp 
-0x3401 009658 branch ui_ipc_send_cmd 
-:      009660 app_ble_disconnect:
-0x3402 009661 jam bt_cmd_le_disconnect ,mem_fifo_temp 
-0x3403 009662 branch ui_ipc_send_cmd 
-:      009664 app_led_start_blink:
-0x3404 009665 jam bt_cmd_led_blink ,mem_fifo_temp 
-0x3405 009666 branch ui_ipc_send_cmd 
-:      009668 app_led_on:
-0x3406 009669 jam bt_cmd_led_on ,mem_fifo_temp 
-0x3407 009670 branch ui_ipc_send_cmd 
-:      009672 app_led_stop_blink:
-:      009673 app_led_off:
-0x3408 009674 jam bt_cmd_led_off ,mem_fifo_temp 
-0x3409 009675 branch ui_ipc_send_cmd 
-:      009677 app_enter_hibernate:
-0x340a 009678 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
-0x340b 009679 branch ui_ipc_send_cmd 
-:      009681 app_bt_sniff_exit:
-0x340c 009682 jam bt_cmd_exit_sniff ,mem_fifo_temp 
-0x340d 009683 branch ui_ipc_send_cmd 
-:      009685 app_bt_enter_sniff:
-0x340e 009686 jam bt_cmd_enter_sniff ,mem_fifo_temp 
-0x340f 009687 branch ui_ipc_send_cmd 
-:      009689 app_ble_store_reconn_info:
-0x3410 009690 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
-0x3411 009691 branch ui_ipc_send_cmd 
-:      009693 app_bt_store_reconn_info:
-0x3412 009694 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
-0x3413 009695 branch ui_ipc_send_cmd 
-:      009697 app_store_reconn_info:
-0x3414 009698 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
-0x3415 009699 branch ui_ipc_send_cmd 
-:      009701 app_lpm_mult_enable:
-0x3416 009702 set1 mark_lpm_mult_enable ,mark 
-0x3417 009703 rtn 
-:      009705 app_lpm_mult_disable:
-0x3418 009706 set0 mark_lpm_mult_enable ,mark 
-0x3419 009707 rtn 
-:      009727 app_button_long_pressed:
-0x341a 009728 call app_got_power_state_common 
-0x341b 009729 beq power_standby ,app_power_shutting_down 
-:      009730 app_power_starting:
-0x341c 009731 setarg power_starting 
-0x341d 009732 istore 1 ,regc 
-0x341e 009733 add temp ,power_starting_timeout_offset ,rega 
-0x341f 009734 add temp ,power_starting_cb_offset ,regb 
-:      009735 app_power_common:
-0x3420 009736 ifetcht 1 ,rega 
-0x3421 009737 increase 1 ,regc 
-0x3422 009738 istoret 1 ,regc 
-0x3423 009739 branch app_power_cb_common 
-:      009741 app_power_shutting_down:
-0x3424 009742 setarg power_off 
-0x3425 009743 istore 1 ,regc 
-0x3426 009744 fetch 2 ,mem_ui_state_map 
-0x3427 009745 bbit0 ui_state_ble_connected ,app_power_off_end 
-0x3428 009746 call app_ble_disconnect 
-:      009747 app_power_off_end:
-0x3429 009748 fetcht 2 ,mem_power_param_ptr 
-0x342a 009749 add temp ,power_off_timeout_offset ,rega 
-0x342b 009750 add temp ,power_off_cb_offset ,regb 
-0x342c 009751 branch app_power_common 
-:      009753 app_got_power_state_common:
-0x342d 009754 fetcht 2 ,mem_power_param_ptr 
-0x342e 009755 add temp ,power_state_offset ,regc 
-0x342f 009756 ifetch 1 ,regc 
-0x3430 009757 rtn 
-:      009759 app_event_button_up:
-0x3431 009760 call app_got_power_state_common 
-0x3432 009761 bne power_off ,app_power_release 
-0x3433 009762 branch app_enter_hibernate 
-:      009763 app_power_release:
-0x3434 009764 add temp ,ui_butten_up_cb_offset ,regb 
-0x3435 009765 branch app_power_cb_common 
-:      009767 antilost_init:
-0x3436 009768 rtn wake 
-0x3437 009769 jam 0x00 ,core_gpio_sel1 
-0x3438 009770 setarg antilost_le_before_hibernate 
-0x3439 009771 store 2 ,mem_cb_before_hibernate 
-0x343a 009772 setarg keyscan_process_lpm_before 
-0x343b 009773 store 2 ,mem_cb_before_lpm 
-0x343c 009774 setarg antilost_idle_process 
-0x343d 009775 store 2 ,mem_cb_idle_process 
-0x343e 009776 setarg antilost_le_conn_process 
-0x343f 009777 store 2 ,mem_cb_le_process 
-0x3440 009778 setarg antilost_bb_event_process 
-0x3441 009779 store 2 ,mem_cb_bb_event_process 
-0x3442 009780 setarg antilost_le_bb_event_timer 
-0x3443 009781 store 2 ,mem_cb_event_timer 
-0x3444 009782 setarg antilost_le_notification 
-0x3445 009783 store 2 ,mem_cb_ble_transmit 
-0x3446 009784 setarg antilost_lpm_lock_process 
-0x3447 009785 store 2 ,mem_cb_check_wakelock 
-0x3448 009786 setarg antilost_le_receive_data_process 
-0x3449 009787 store 2 ,mem_cb_att_write 
-0x344a 009788 bpatch patch19_4 ,mem_patch19 
-0x344b 009789 call antilost_buzzer_pwm_init 
-0x344c 009790 call keyscan_key_init 
-0x344d 009791 call antilost_adc_init 
-0x344e 009792 call ui_led_init_global 
-0x344f 009793 call ui_button_init 
-0x3450 009794 setarg antilost_key_up_down 
-0x3451 009795 store 2 ,mem_cb_antl_key 
-0x3452 009796 setarg antilost_power_off_cb 
-0x3453 009797 store 2 ,mem_antl_power_off_cb 
-0x3454 009798 setarg antilost_power_starting_cb 
-0x3455 009799 store 2 ,mem_antl_power_starting_cb 
-0x3456 009800 setarg antilost_power_standby_cb 
-0x3457 009801 store 2 ,mem_antl_power_standby_cb 
-0x3458 009802 setarg antilost_led_on_cb 
-0x3459 009803 store 2 ,mem_antl_led_cb_on 
-0x345a 009804 setarg antilost_led_off_cb 
-0x345b 009805 store 2 ,mem_antl_led_cb_off 
-0x345c 009806 setarg antilost_buzzer_on 
-0x345d 009807 store 2 ,mem_antl_buzzer_cb_on 
-0x345e 009808 setarg antilost_buzzer_off 
-0x345f 009809 store 2 ,mem_antl_buzzer_cb_off 
-0x3460 009810 fetch 2 ,mem_ui_state_map 
-0x3461 009811 rtnbit1 ui_state_btn_down 
-0x3462 009812 branch app_enter_hibernate 
-:      009814 antilost_le_before_hibernate:
-0x3463 009815 call antilost_led_buzzer_stop_blink 
-0x3464 009816 branch app_enter_hibernate 
-:      009818 antilost_le_notification:
-0x3465 009819 call le_fifo_check_nearly_full 
-0x3466 009820 nrtn blank 
-0x3467 009821 arg mem_temp_block5 ,rega 
-0x3468 009822 call queue_pop 
-0x3469 009823 nrtn user 
-0x346a 009824 arg mem_temp_block5 ,contr 
-0x346b 009825 branch le_send_notify_from_list 
-:      009827 antilost_power_standby_cb:
-0x346c 009828 fetch 2 ,mem_antl_le_sleep_timeout 
-0x346d 009829 store 2 ,mem_antl_le_sleep_timer 
-0x346e 009830 jam 1 ,mem_antl_key_scan_enable 
-0x346f 009831 branch antilost_fast_adv_start 
-:      009833 antilost_lpm_lock_process:
-0x3470 009834 fetch 1 ,mem_antl_key_state 
-0x3471 009835 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
-0x3472 009836 fetch 2 ,mem_ui_state_map 
-0x3473 009837 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
-0x3474 009838 fetch 1 ,mem_antl_lost_mode 
-0x3475 009839 beq 1 ,app_get_lpm_wake_lock 
-0x3476 009840 fetch 1 ,mem_antl_queue_curr_num 
-0x3477 009841 nbranch app_get_lpm_wake_lock ,blank 
-0x3478 009842 branch app_put_lpm_wake_lock 
-:      009844 antilost_lpm_ctrl_for_led_buzzer:
-0x3479 009845 fetch 1 ,mem_antl_led_state 
-0x347a 009846 fetcht 1 ,mem_antl_buzzer_state 
-0x347b 009847 ior temp ,pdata 
-0x347c 009848 beq 1 ,app_get_lpm_wake_lock 
-0x347d 009849 branch app_put_lpm_wake_lock 
-:      009851 antilost_bb_event_process:
-0x347e 009852 copy regc ,pdata 
-0x347f 009853 beq bt_evt_button_up ,app_event_button_up 
-0x3480 009854 beq bt_evt_button_long_pressed ,app_button_long_pressed 
-0x3481 009855 beq bt_evt_le_connected ,antilost_le_process_conn 
-0x3482 009856 beq bt_evt_le_disconnected ,antilost_le_process_discon 
-0x3483 009857 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
-0x3484 009858 rtn 
-:      009859 antilost_le_conn_param_update_rsp_recieved:
-0x3485 009860 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0x3486 009861 beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
-:      009862 antilost_le_conn_param_accepted:
-0x3487 009863 fetch 2 ,mem_le_new_connslavelatency 
-0x3488 009864 branch antilost_master_nonsupport_latency ,blank 
-:      009865 antilost_le_conn_param_updata_procedure_sucsess:
-0x3489 009866 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
-0x348a 009867 jam 60 ,mem_antl_conn_update_timer 
-0x348b 009868 rtn 
-:      009870 antilost_le_conn_param_rejected:
-0x348c 009871 fetch 2 ,mem_le_latency 
-0x348d 009872 branch antilost_conn_param_updata_procedure_faild ,blank 
-:      009873 antilost_conn_param_retransimiting:
-0x348e 009874 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
-0x348f 009875 fetcht 2 ,mem_interval_increment 
-0x3490 009876 fetch 2 ,mem_le_interval_min 
-0x3491 009877 iadd temp ,pdata 
-0x3492 009878 store 2 ,mem_le_interval_min 
-0x3493 009879 copy pdata ,rega 
-0x3494 009880 fetch 2 ,mem_le_interval_max 
-0x3495 009881 iadd temp ,pdata 
-0x3496 009882 store 2 ,mem_le_interval_max 
-0x3497 009883 iadd rega ,pdata 
-0x3498 009884 rshift pdata ,temp 
-0x3499 009885 fetch 2 ,mem_antl_le_unnormal_interval_max 
-0x349a 009886 idiv temp 
-0x349b 009887 call wait_div_end 
-0x349c 009888 quotient pdata 
-0x349d 009889 store 2 ,mem_le_latency 
-0x349e 009890 jam 1 ,mem_antl_send_updata_le_param_timer 
-0x349f 009891 rtn 
-:      009892 antilost_conn_param_updata_procedure_faild:
-0x34a0 009893 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
-0x34a1 009894 rtn 
-:      009896 antilost_master_nonsupport_latency:
-0x34a2 009897 jam 0 ,mem_lpm_mult 
-0x34a3 009898 jam 0 ,mem_antl_send_updata_le_param_timer 
-0x34a4 009899 fetch 2 ,mem_le_new_conninterval 
-0x34a5 009900 fetcht 2 ,mem_antl_le_unnormal_interval_min 
-0x34a6 009901 isub temp ,null 
-0x34a7 009902 setflag positive ,0 ,rega 
-0x34a8 009903 fetch 2 ,mem_antl_le_unnormal_interval_max 
-0x34a9 009904 fetcht 2 ,mem_le_new_conninterval 
-0x34aa 009905 isub temp ,pdata 
-0x34ab 009906 setflag positive ,1 ,rega 
-0x34ac 009907 compare 0x03 ,rega ,0x03 
-0x34ad 009908 rtn true 
-0x34ae 009909 fetch 8 ,mem_antl_le_unnormal_interval_min 
-0x34af 009910 store 8 ,mem_le_interval_min 
-0x34b0 009911 jam 1 ,mem_antl_send_updata_le_param_timer 
-0x34b1 009912 rtn 
-:      009915 antilost_le_bb_event_timer:
-0x34b2 009917 call app_power_timer 
-0x34b3 009918 call antilost_double_click_timer 
-0x34b4 009919 call antilost_le_fast_adv_timer 
-0x34b5 009920 call antilost_le_sleep_timer 
-0x34b6 009921 call antilost_app_updata_le_param_timer 
-0x34b7 009922 call antilost_conn_update_timer 
-0x34b8 009923 branch antilost_adc_check_timer 
-:      009926 antilost_double_click_timer:
-0x34b9 009927 arg mem_double_click_timer ,regc 
-0x34ba 009928 arg antilost_double_click_timeout ,regb 
-0x34bb 009929 branch timer_single_step 
-:      009930 antilost_double_click_timeout:
-0x34bc 009931 jam 0 ,mem_butten_click_cnt 
-0x34bd 009932 rtn 
-:      009933 antilost_le_fast_adv_timer:
-0x34be 009934 arg mem_antl_fast_adv_timer ,regc 
-0x34bf 009935 arg antilost_le_fast_adv_timeout ,regb 
-0x34c0 009936 branch timer_single_step_2b 
-:      009937 antilost_le_fast_adv_timeout:
-0x34c1 009938 arg mem_antl_slow_adv_led_style ,regc 
-0x34c2 009939 arg mem_antl_slow_adv_lpm_interval ,regb 
-0x34c3 009940 branch antilost_adv_start_common 
-:      009943 antilost_conn_update_timer:
-0x34c4 009944 arg mem_antl_conn_update_timer ,regc 
-0x34c5 009945 arg antilost_conn_update_timer_time_out ,regb 
-0x34c6 009946 branch timer_single_step 
-:      009948 antilost_conn_update_timer_time_out:
-0x34c7 009949 fetch 2 ,mem_le_latency 
-0x34c8 009950 store 1 ,mem_lpm_mult 
-0x34c9 009951 rtn 
-:      009952 antilost_app_updata_le_param_timer:
-0x34ca 009953 arg mem_antl_send_updata_le_param_timer ,regc 
-0x34cb 009954 arg antilost_app_updata_le_param_timeout ,regb 
-0x34cc 009955 branch timer_single_step 
-:      009956 antilost_app_updata_le_param_timeout:
-0x34cd 009957 fetch 1 ,mem_le_state 
-0x34ce 009958 compare 0 ,pdata ,0x60 
-0x34cf 009959 nbranch antilost_wait_for_updata_param_instant_expire ,true 
-0x34d0 009960 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
-0x34d1 009961 call app_lpm_mult_enable 
-0x34d2 009962 branch le_l2cap_tx_update_req 
-:      009963 antilost_wait_for_updata_param_instant_expire:
-0x34d3 009964 jam 1 ,mem_antl_send_updata_le_param_timer 
-0x34d4 009965 rtn 
-:      009967 antilost_le_sleep_timer:
-0x34d5 009968 arg mem_antl_le_sleep_timer ,regc 
-0x34d6 009969 arg antilost_le_sleep_timer_timeout ,regb 
-0x34d7 009970 branch timer_single_step_2b 
-:      009973 antilost_le_sleep_timer_timeout:
-0x34d8 009974 branch app_button_long_pressed 
-:      009976 antilost_adc_check_timer:
-0x34d9 009979 arg mem_adc_timer ,regc 
-0x34da 009980 arg antilost_adc_check_timer_timeout ,regb 
-0x34db 009981 branch timer_single_step_2b 
-:      009982 antilost_adc_check_timer_timeout:
-0x34dc 009983 fetch 2 ,mem_adc_timeout 
-0x34dd 009984 store 2 ,mem_adc_timer 
-0x34de 009985 branch antilost_battery_process 
-:      009988 antilost_le_process_conn:
-0x34df 009989 fetch 2 ,mem_adc_timeout 
-0x34e0 009990 store 2 ,mem_adc_timer 
-0x34e1 009991 setarg 0 
-0x34e2 009992 store 2 ,mem_antl_fast_adv_timer 
-0x34e3 009993 store 2 ,mem_antl_le_sleep_timer 
-0x34e4 009994 call antilost_alert_off 
-0x34e5 009995 call antilost_led_buzzer_stop_blink 
-0x34e6 009996 jam 0 ,mem_lpm_mult 
-0x34e7 009997 branch app_ble_stop_adv 
-:      010000 antilost_le_process_discon:
-0x34e8 010003 setarg 0 
-0x34e9 010004 store 4 ,mem_adc_timer 
-0x34ea 010005 store 3 ,mem_antl_conn_updata_procedure_state 
-0x34eb 010006 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0x34ec 010008 jam 1 ,mem_alarm_config_notfy_cnt 
-0x34ed 010009 fetch 2 ,mem_antl_le_sleep_timeout 
-0x34ee 010010 store 2 ,mem_antl_le_sleep_timer 
-0x34ef 010011 call queue_init 
-0x34f0 010012 fetch 1 ,mem_antl_power_state 
-0x34f1 010013 rtneq power_off 
-0x34f2 010014 call antilost_fast_adv_start 
-0x34f3 010015 branch antilost_on_off_alarm_after_disconn 
-:      010018 antilost_le_conn_process:
-0x34f4 010020 branch antilost_key_process 
-:      010022 antilost_idle_process:
-0x34f5 010024 fetch 1 ,mem_antl_power_state 
-0x34f6 010025 rtnne power_standby 
-0x34f7 010026 branch antilost_key_process 
-:      010031 antilost_power_starting_cb:
-0x34f8 010032 arg mem_antl_power_starting_buzzer_style ,regc 
-0x34f9 010033 call antilost_buzzer_configuration 
-0x34fa 010034 arg mem_antl_power_starting_led_style ,regc 
-:      010035 antilost_power_common:
-0x34fb 010036 branch antilost_led_configuration 
-:      010038 antilost_power_off_cb:
-0x34fc 010039 jam off ,mem_le_adv_enable 
-0x34fd 010040 arg mem_antl_power_off_buzzer_style ,regc 
-0x34fe 010041 call antilost_buzzer_configuration 
-0x34ff 010042 arg mem_antl_power_off_led_style ,regc 
-0x3500 010043 branch antilost_power_common 
-:      010045 antilost_le_receive_data_process:
-0x3501 010046 fetch 1 ,mem_le_att_opcode 
-0x3502 010047 beq attop_write_request ,antilost_le_parse_att_write_request 
-0x3503 010048 rtn 
-:      010049 antilost_le_parse_att_write_request:
-0x3504 010050 fetch 2 ,mem_le_att_handle 
-0x3505 010052 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
-0x3506 010053 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
-0x3507 010054 rtn 
-:      010059 antilost_key_process:
-0x3508 010060 fetch 1 ,mem_antl_key_scan_enable 
-0x3509 010061 rtn blank 
-0x350a 010062 branch keyscan_key_process 
-:      010066 antilost_key_up_down:
-0x350b 010067 copy rega ,pdata 
-0x350c 010068 branch antilost_key_is_up ,blank 
-:      010069 antilost_key_is_down:
-0x350d 010070 copy queue ,pdata 
-0x350e 010071 beq 0 ,antilost_key0_down 
-0x350f 010072 rtn 
-:      010073 antilost_key_is_up:
-0x3510 010074 copy queue ,pdata 
-0x3511 010075 beq 0 ,antilost_key0_up 
-0x3512 010076 rtn 
-:      010078 antilost_key0_down:
-0x3513 010079 jam 1 ,mem_antl_key_state 
-0x3514 010080 arg mem_antl_key_buzzer_style ,regc 
-0x3515 010081 call antilost_buzzer_configuration 
-0x3516 010082 arg mem_antl_key_led_style ,regc 
-0x3517 010083 call antilost_led_configuration 
-0x3518 010084 fetch 2 ,mem_ui_state_map 
-0x3519 010085 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
-0x351a 010086 branch antilost_butten_down_after_conn 
-:      010088 antilost_key0_up:
-0x351b 010089 jam 0 ,mem_antl_key_state 
-0x351c 010090 branch antilost_double_click_timer_init 
-:      010094 antilost_double_click_timer_init:
-0x351d 010095 fetch 1 ,mem_butten_click_cnt 
-0x351e 010096 rtnne 1 
-0x351f 010097 jam 5 ,mem_double_click_timer 
-0x3520 010098 rtn 
-:      010100 antilost_butten_down_after_conn:
-0x3521 010101 fetch 1 ,mem_butten_click_cnt 
-0x3522 010102 pincrease 1 
-0x3523 010103 store 1 ,mem_butten_click_cnt 
-0x3524 010104 beq 1 ,antilost_click_once 
-0x3525 010105 beq 2 ,antilost_click_twice 
-0x3526 010106 rtn 
-:      010107 antilost_click_once:
-0x3527 010108 call antilost_alert_off 
-0x3528 010109 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
-0x3529 010110 arg mem_antl_key0_press ,regc 
-0x352a 010111 branch antilost_prepare_data_and_send 
-:      010112 antilost_click_twice:
-0x352b 010113 jam 0 ,mem_butten_click_cnt 
-0x352c 010114 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
-0x352d 010115 arg mem_antl_key0_press ,regc 
-0x352e 010116 call antilost_prepare_data_and_send 
-0x352f 010117 fetch 1 ,mem_antl_lost_mode 
-0x3530 010118 beq 1 ,antilost_alert_on 
-0x3531 010119 rtn 
-:      010121 antilost_butten_down_while_disconn:
-0x3532 010122 fetch 2 ,mem_antl_le_sleep_timeout 
-0x3533 010123 store 2 ,mem_antl_le_sleep_timer 
-0x3534 010124 call antilost_alert_off 
-0x3535 010125 branch antilost_fast_adv_start 
-:      010128 antilost_cmd_parse_for_application:
-0x3536 010129 bpatch patch19_5 ,mem_patch19 
-0x3537 010130 call le_app_receive_data 
-0x3538 010131 ifetch 1 ,rega 
-0x3539 010132 beq opcode3_antl_start_alram ,antilost_on_of_alram 
-0x353a 010133 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
-0x353b 010134 rtn 
-:      010136 antilost_on_of_alram:
-0x353c 010137 fetch 1 ,mem_antl_lost_mode 
-0x353d 010138 beq anti_le_alarm_off ,antilost_alert_on 
-0x353e 010139 beq anti_le_alarm_on ,antilost_alert_off 
-0x353f 010140 rtn 
-:      010142 antilost_configuration_for_alram:
-0x3540 010143 ifetch 1 ,regb 
-0x3541 010144 beq 1 ,antilost_set_start_alarm_after_disconn 
-0x3542 010145 beq 0 ,antilost_set_no_alarm_after_disconn 
-0x3543 010146 rtn 
-:      010153 antilost_prepare_data_and_send:
-0x3544 010154 bpatch patch19_6 ,mem_patch19 
-0x3545 010155 fetch 1 ,mem_client_characteristic_configuration_descriptor 
-0x3546 010156 isolate1 notification_enable_bit ,pdata 
-0x3547 010157 nrtn true 
-0x3548 010158 add regc ,6 ,contr 
-0x3549 010159 ifetch 2 ,contr 
-0x354a 010160 byteswap pdata ,pdata 
-0x354b 010161 add pdata ,5 ,loopcnt 
-0x354c 010162 add regc ,3 ,contr 
-0x354d 010163 call calc_check_sum_start 
-0x354e 010164 istore 1 ,contr 
-0x354f 010165 copy regc ,rega 
-0x3550 010166 branch queue_push 
-:      010172 antilost_alert_on:
-0x3551 010173 fetch 1 ,mem_antl_power_state 
-0x3552 010174 rtn blank 
-0x3553 010175 jam 1 ,mem_antl_lost_mode 
-0x3554 010176 arg mem_antl_alert_buzzer_stlye ,regc 
-0x3555 010177 call antilost_buzzer_configuration 
-0x3556 010178 arg mem_antl_alert_led_stlye ,regc 
-0x3557 010179 call antilost_led_configuration 
-0x3558 010180 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
-0x3559 010181 jam 1 ,mem_antl_key0_release + 8 
-0x355a 010182 arg mem_antl_key0_release ,regc 
-0x355b 010183 branch antilost_prepare_data_and_send 
-:      010184 antilost_alert_off:
-0x355c 010185 fetch 1 ,mem_antl_lost_mode 
-0x355d 010186 rtn blank 
-0x355e 010187 jam 0 ,mem_antl_lost_mode 
-0x355f 010188 call antilost_led_buzzer_stop_blink 
-0x3560 010189 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
-0x3561 010190 jam 0 ,mem_antl_key0_release + 8 
-0x3562 010191 arg mem_antl_key0_release ,regc 
-0x3563 010192 branch antilost_prepare_data_and_send 
-:      010194 antilost_set_start_alarm_after_disconn:
-0x3564 010195 jam 1 ,mem_alarm_config 
-0x3565 010196 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
-0x3566 010197 jam 1 ,mem_antl_key0_release + 8 
-0x3567 010198 arg mem_antl_key0_release ,regc 
-0x3568 010199 branch antilost_prepare_data_and_send 
-:      010200 antilost_set_no_alarm_after_disconn:
-0x3569 010201 jam 0 ,mem_alarm_config 
-0x356a 010202 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
-0x356b 010203 jam 0 ,mem_antl_key0_release + 8 
-0x356c 010204 arg mem_antl_key0_release ,regc 
-0x356d 010205 branch antilost_prepare_data_and_send 
-:      010206 antilost_on_off_alarm_after_disconn:
-0x356e 010207 fetch 1 ,mem_alarm_config 
-0x356f 010208 rtn blank 
-0x3570 010209 branch antilost_alert_on 
-:      010211 antilost_notify_alarm_config_first_time:
-0x3571 010212 ifetch 2 ,rega 
-0x3572 010213 store 2 ,mem_client_characteristic_configuration_descriptor 
-0x3573 010214 isolate1 notification_enable_bit ,pdata 
-0x3574 010215 nrtn true 
-0x3575 010216 fetch 1 ,mem_alarm_config_notfy_cnt 
-0x3576 010217 rtn blank 
-0x3577 010218 jam 0 ,mem_alarm_config_notfy_cnt 
-0x3578 010219 fetch 8 ,mem_antl_le_interval_min 
-0x3579 010220 store 8 ,mem_le_interval_min 
-0x357a 010221 jam 2 ,mem_antl_send_updata_le_param_timer 
-0x357b 010222 call antilost_battery_process 
-0x357c 010223 call antilost_battery_calculate_end 
-0x357d 010224 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
-0x357e 010225 fetch 1 ,mem_alarm_config 
-0x357f 010226 store 1 ,mem_antl_key0_release + 8 
-0x3580 010227 arg mem_antl_key0_release ,regc 
-0x3581 010228 branch antilost_prepare_data_and_send 
-:      010232 antilost_buzzer_configuration:
-0x3582 010233 arg 1 ,rega 
-0x3583 010234 branch antilost_configuration_common 
-:      010235 antilost_led_configuration:
-0x3584 010236 arg 0 ,rega 
-:      010237 antilost_configuration_common:
-0x3585 010238 branch antilost_led_buzzer_style_configuration 
-:      010240 antilost_led_buzzer_stop_blink:
-0x3586 010241 arg 0 ,rega 
-0x3587 010242 call ui_led_blink_stop_global 
-0x3588 010243 arg 1 ,rega 
-0x3589 010244 call ui_led_blink_stop_global 
-0x358a 010245 fetch 1 ,mem_buzzer_pwm_conf 
-0x358b 010246 branch pwm_disable 
-:      010248 antilost_led_buzzer_style_configuration:
-0x358c 010249 call calc_curr_struct_prt 
-0x358d 010250 arg 7 ,loopcnt 
-0x358e 010251 branch ui_led_set_style_global + 2 
-:      010255 antilost_fast_adv_start:
-0x358f 010256 arg mem_antl_fast_adv_led_style ,regc 
-0x3590 010257 arg mem_antl_lpm_interval ,regb 
-:      010258 antilost_adv_start_common:
-0x3591 010259 call antilost_adv_interval_lpm_interval_set 
-0x3592 010260 call antilost_led_configuration 
-0x3593 010261 fetch 2 ,mem_antl_fast_adv_timeout 
-0x3594 010262 store 2 ,mem_antl_fast_adv_timer 
-0x3595 010263 branch app_ble_start_adv 
-:      010265 antilost_adv_interval_lpm_interval_set:
-0x3596 010266 ifetch 2 ,regb 
-0x3597 010267 store 2 ,mem_lpm_interval 
-0x3598 010268 ifetch 2 ,contr 
-0x3599 010269 store 2 ,mem_le_adv_interval 
-0x359a 010270 rtn 
-:      010272 antilost_buzzer_pwm_init:
-0x359b 010273 arg 0 ,rega 
-0x359c 010274 call pwm_init 
-0x359d 010275 fetch 6 ,mem_buzzer_pwm_conf 
-0x359e 010276 store 6 ,mem_pdatatemp 
-0x359f 010277 call pwm_out_set 
-0x35a0 010278 fetch 1 ,mem_buzzer_pwm_conf 
-0x35a1 010279 branch pwm_disable 
-:      010281 antilost_led_on_cb:
-0x35a2 010282 jam 1 ,mem_antl_led_state 
-0x35a3 010283 rtn 
-:      010284 antilost_led_off_cb:
-0x35a4 010285 jam 0 ,mem_antl_led_state 
-0x35a5 010286 rtn 
-:      010290 antilost_buzzer_off:
-0x35a6 010291 jam 0 ,mem_antl_buzzer_state 
-0x35a7 010292 fetch 1 ,mem_buzzer_pwm_conf 
-0x35a8 010293 branch pwm_disable 
-:      010295 antilost_buzzer_on:
-0x35a9 010296 jam 1 ,mem_antl_buzzer_state 
-0x35aa 010297 fetch 6 ,mem_buzzer_pwm_conf 
-0x35ab 010298 store 6 ,mem_pdatatemp 
-0x35ac 010299 branch pwm_out_set 
-:      010303 antilost_adc_init:
-0x35ad 010304 jam 0 ,mem_adc_config_flag 
-0x35ae 010305 branch adc_init_data 
-:      010307 antilost_battery_process:
-0x35af 010308 call adc_set_mode 
-0x35b0 010309 call vdd_calculate_by_mode 
-0x35b1 010310 store 2 ,mem_battery_current_voltage 
-0x35b2 010311 arg mem_battery_calculate_set ,rega 
-0x35b3 010312 call adc_bat_percent_lowpower_out 
-0x35b4 010313 store 1 ,mem_voltage_remain_percent 
-0x35b5 010314 beq 0 ,antilost_low_battery 
-0x35b6 010315 sub pdata ,0x64 ,null 
-0x35b7 010316 nbranch antilost_full_battery ,positive 
-0x35b8 010317 store 1 ,mem_antl_key0_release + 8 
-:      010318 antilost_battery_calculate_end:
-0x35b9 010319 jam opcode5_batter_information ,mem_antl_key0_release + 5 
-0x35ba 010320 arg mem_antl_key0_release ,regc 
-0x35bb 010321 branch antilost_prepare_data_and_send 
-:      010322 antilost_full_battery:
-0x35bc 010323 jam 100 ,mem_antl_key0_release + 8 
-0x35bd 010324 branch antilost_battery_calculate_end 
-:      010326 antilost_low_battery:
-0x35be 010327 branch app_button_long_pressed 
-:      010331 car_init:
-0x35bf 010332 rtn wake 
-0x35c0 010333 hfetch 1 ,core_gpio_sel1 
-0x35c1 010334 and_into 0xf0 ,pdata 
-0x35c2 010335 hstore 1 ,core_gpio_sel1 
-0x35c3 010336 setarg car_le_before_hibernate 
-0x35c4 010337 store 2 ,mem_cb_before_hibernate 
-0x35c5 010339 setarg car_le_process_lpm_before 
-0x35c6 010340 store 2 ,mem_cb_before_lpm 
-0x35c7 010342 setarg app_enter_hibernate 
-0x35c8 010343 store 2 ,mem_cb_discovry_timeout 
-0x35c9 010345 setarg car_scale_process_idle 
-0x35ca 010346 store 2 ,mem_cb_idle_process 
-0x35cb 010348 setarg car_scale_process_bb_event 
-0x35cc 010349 store 2 ,mem_cb_bb_event_process 
-0x35cd 010351 setarg app_get_lpm_wake_lock 
-0x35ce 010352 store 2 ,mem_cb_check_wakelock 
-0x35cf 010354 setarg car_le_receive_data 
-0x35d0 010355 store 2 ,mem_cb_att_write 
-0x35d1 010357 setarg car_le_bb_event_timer 
-0x35d2 010358 store 2 ,mem_cb_event_timer 
-0x35d3 010360 call g24_head_ptr2regc 
-0x35d4 010361 setarg car_24g_receive_data 
-0x35d5 010362 add regc ,offset_24g_cb_rxdata_type1 ,contw 
-0x35d6 010363 istore 2 ,contw 
-0x35d7 010365 setarg car_power_off_signal 
-0x35d8 010366 store 2 ,mem_remote_car_power_off_cb 
-0x35d9 010368 setarg car_soft_switch_power_on_signal 
-0x35da 010369 store 2 ,mem_remote_car_power_standby_cb 
-0x35db 010371 bpatch patch19_7 ,mem_patch19 
-0x35dc 010372 call car_init_environment 
-0x35dd 010373 call queue_init 
-0x35de 010374 jam 2 ,mem_lpm_mult 
-0x35df 010375 jam power_on ,mem_car_24g_received_pac 
-0x35e0 010376 fetch 1 ,mem_car_config_soft_switch_enable 
-0x35e1 010377 store 1 ,mem_car_hard_soft_switch 
-0x35e2 010378 beq hard_switch ,car_hard_switch_power_on_signal 
-0x35e3 010379 fetch 1 ,mem_car_config_soft_switch_gpio 
-0x35e4 010380 store 1 ,mem_ui_button_gpio 
-0x35e5 010381 jam off ,mem_le_adv_enable 
-:      010382 car_soft_switch_power_on_init:
-0x35e6 010383 call car_ui_led_init 
-0x35e7 010384 call ui_button_init 
-0x35e8 010385 call ui_button_polling 
-0x35e9 010386 jam power_starting ,mem_car_power_state 
-0x35ea 010387 fetch 2 ,mem_ui_state_map 
-0x35eb 010388 rtnbit1 ui_state_btn_down 
-0x35ec 010389 branch app_enter_hibernate 
-:      010391 car_power_off_signal:
-0x35ed 010392 branch car_ui_led_init 
-:      010394 car_hard_switch_power_on_signal:
-0x35ee 010395 jam power_standby ,mem_car_power_state 
-:      010396 car_soft_switch_power_on_signal:
-0x35ef 010397 jam on ,mem_le_adv_enable 
-0x35f0 010398 call car_ui_led_init 
-0x35f1 010399 arg 0 ,rega 
-0x35f2 010400 call ui_led_blink_start_global 
-0x35f3 010402 setarg fast_adv_interval_value_car 
-0x35f4 010403 call shutter_ble_adv_interval_set 
-:      010404 car_le_modified_name_adv:
-0x35f5 010405 arg mem_le_name + 7 ,contw 
-0x35f6 010406 fetch 1 ,mem_le_lap 
-:      010407 car_name_loop:
-0x35f7 010408 and pdata ,0xF0 ,temp 
-0x35f8 010409 rshift4 temp ,temp 
-0x35f9 010410 call car_hex_to_ascii 
-0x35fa 010411 istoret 1 ,contw 
-0x35fb 010412 and pdata ,0x0F ,temp 
-0x35fc 010413 call car_hex_to_ascii 
-0x35fd 010414 istoret 1 ,contw 
-0x35fe 010415 call le_modified_name_att_list 
-0x35ff 010416 fetcht 1 ,mem_le_name_len 
-0x3600 010417 copy temp ,loopcnt 
-0x3601 010418 arg mem_le_adv_data + 2 ,contw 
-0x3602 010419 arg mem_le_name ,contr 
-0x3603 010420 call memcpy 
-:      010421 car_le_modified_name_scan:
-0x3604 010422 fetcht 1 ,mem_le_name_len 
-0x3605 010423 copy temp ,loopcnt 
-0x3606 010424 arg mem_le_scan_data + 2 ,contw 
-0x3607 010425 arg mem_le_name ,contr 
-0x3608 010426 branch memcpy 
-:      010427 car_hex_to_ascii:
-0x3609 010428 sub temp ,9 ,null 
-0x360a 010429 branch car_hex_num ,positive 
-0x360b 010430 add temp ,55 ,temp 
-0x360c 010431 rtn 
-:      010432 car_hex_num:
-0x360d 010433 add temp ,48 ,temp 
-0x360e 010434 rtn 
-:      010436 car_ui_led_init:
-0x360f 010437 fetch 1 ,mem_car_config_blood_led1_gpio 
-0x3610 010438 bne invalid_pin_num ,car_blood_led_gpio_set 
-:      010439 car_ui_led_init_1:
-0x3611 010440 fetch 1 ,mem_car_config_pairing_led_gpio 
-0x3612 010441 bne invalid_pin_num ,car_pairing_led_gpio_set 
-:      010442 car_ui_led_init_2:
-0x3613 010443 fetch 1 ,mem_car_config_low_voltage_led_gpio 
-0x3614 010444 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
-:      010445 car_ui_led_init_3:
-0x3615 010446 fetch 1 ,mem_car_led_num 
-0x3616 010447 copy pdata ,loopcnt 
-0x3617 010448 setarg mem_car_led_map 
-0x3618 010449 copy pdata ,rega 
-:      010450 car_in_lp1:
-0x3619 010451 copy rega ,contr 
-0x361a 010452 ifetch 1 ,contr 
-0x361b 010453 copy contr ,rega 
-0x361c 010454 beq invalid_pin_num ,car_in_lp1_end 
-0x361d 010455 copy pdata ,temp 
-0x361e 010456 call gpio_config_output 
-:      010457 car_in_lp1_end:
-0x361f 010458 loop car_in_lp1 
-:      010459 car_ui_led_init_end:
-0x3620 010460 rtn 
-:      010461 car_blood_led_gpio_set:
-0x3621 010462 fetch 8 ,mem_car_config_blood_led1_gpio 
-0x3622 010463 store 8 ,mem_car_led_map + 2 
-0x3623 010464 branch car_ui_led_init_1 
-:      010465 car_pairing_led_gpio_set:
-0x3624 010466 store 1 ,mem_car_led_map 
-0x3625 010467 branch car_ui_led_init_2 
-:      010468 car_low_voltage_led_gpio_set:
-0x3626 010469 store 1 ,mem_car_led_map + 1 
-0x3627 010470 branch car_ui_led_init_3 
-:      010473 car_init_environment:
-0x3628 010474 arg 0 ,rega 
-0x3629 010475 call pwm_init 
-0x362a 010476 call car_ir_rx_init 
-0x362b 010477 call g24_receive_process_init 
-0x362c 010478 branch car_init_adc_hvin 
-:      010480 car_init_adc_hvin:
-0x362d 010481 jam 100 ,mem_car_notify_vdd_value_last 
-0x362e 010482 fetch 1 ,mem_car_config_low_voltage_led_gpio 
-0x362f 010483 store 1 ,mem_car_style2_struct_led_gpio 
-0x3630 010484 branch adc_init_data 
-:      010486 car_le_before_hibernate:
-0x3631 010487 call gpio_set_before_lpm_common 
-0x3632 010488 branch keyscan_process_lpm_before 
-:      010490 car_le_process_lpm_before:
-0x3633 010491 branch keyscan_process_lpm_before 
-:      010493 car_key_scan_process:
-0x3634 010496 branch keyscan_key_process 
-:      010498 car_scale_process_idle:
-0x3635 010499 call car_le_send_packet 
-0x3636 010500 call car_ir_receive_process 
-0x3637 010501 call car_g24_status_process 
-0x3638 010502 branch car_key_scan_process 
-:      010504 car_g24_status_process:
-0x3639 010505 fetch 2 ,mem_ui_state_map 
-0x363a 010506 rtnbit1 ui_state_ble_connected 
-0x363b 010507 fetch 1 ,mem_car_24g_received_pac 
-0x363c 010508 beq work_paired ,car_g24_connected_event 
-0x363d 010509 rtn 
-:      010510 car_g24_connected_event:
-0x363e 010511 fetch 1 ,mem_car_24g_status 
-0x363f 010512 rtneq work_paired 
-0x3640 010513 jam work_paired ,mem_car_24g_status 
-0x3641 010514 branch car_g24_connected 
-:      010516 car_le_send_packet:
-0x3642 010517 fetch 2 ,mem_ui_state_map 
-0x3643 010518 rtnbit0 ui_state_ble_connected 
-0x3644 010519 call le_fifo_check_nearly_full 
-0x3645 010520 nrtn blank 
-0x3646 010521 arg mem_car_pop_queue_buff ,rega 
-0x3647 010522 call queue_pop 
-0x3648 010523 nrtn user 
-0x3649 010524 arg mem_car_pop_queue_buff ,contr 
-0x364a 010525 branch le_send_notify_from_list 
-:      010527 car_scale_process_bb_event:
-0x364b 010528 copy regc ,pdata 
-0x364c 010529 beq bt_evt_button_up ,app_event_button_up 
-0x364d 010530 beq bt_evt_button_long_pressed ,app_button_long_pressed 
-0x364e 010531 beq bt_evt_le_connected ,car_scale_event_le_conn 
-0x364f 010532 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
-0x3650 010533 rtn 
-:      010535 car_scale_event_le_conn:
-0x3651 010536 setarg disable_24g 
-0x3652 010537 call g24_store_mem_24g_mode 
-0x3653 010538 branch car_scale_process_conn 
-:      010539 car_g24_connected:
-0x3654 010540 fetch 2 ,mem_car_24g_no_data_timeout_count 
-0x3655 010541 store 2 ,mem_car_24g_no_data_timeout_timer 
-:      010542 car_scale_process_conn:
-0x3656 010543 jam 0x14 ,mem_car_notify_vdd_timer 
-0x3657 010544 jam 0 ,mem_lpm_mode 
-0x3658 010545 call app_ble_stop_adv 
-0x3659 010546 call app_lpm_mult_enable 
-0x365a 010547 fetch 1 ,mem_car_config_pairing_led_conn_status 
-0x365b 010548 beq 0x01 ,car_pairing_led_conn_status_setting 
-:      010549 car_scale_process_conn_next:
-0x365c 010550 arg 0 ,rega 
-0x365d 010551 branch ui_led_on_global 
-:      010552 car_pairing_led_conn_status_setting:
-0x365e 010553 arg 0 ,rega 
-0x365f 010554 branch ui_led_blink_stop_global 
-:      010556 car_scale_event_le_discon:
-0x3660 010557 setarg rx_24g 
-0x3661 010558 call g24_store_mem_24g_mode 
-:      010559 car_g24_disconnect:
-0x3662 010560 setarg 0 
-0x3663 010561 store 5 ,mem_car_led_control 
-0x3664 010562 setarg 4 
-0x3665 010563 call pwm_disable 
-0x3666 010564 setarg 5 
-0x3667 010565 call pwm_disable 
-0x3668 010566 setarg 20 
-0x3669 010567 call pwm_disable 
-0x366a 010568 setarg 21 
-0x366b 010569 call pwm_disable 
-0x366c 010570 setarg 22 
-0x366d 010571 call pwm_disable 
-0x366e 010572 setarg 7 
-0x366f 010573 call pwm_disable 
-0x3670 010574 call queue_init 
-0x3671 010575 jam 10 ,mem_motor1_speed 
-0x3672 010576 jam 10 ,mem_motor2_speed 
-0x3673 010577 jam 10 ,mem_motor3_speed 
-0x3674 010579 jam 2 ,mem_lpm_mult 
-0x3675 010580 arg 0 ,rega 
-0x3676 010581 call ui_led_blink_start_global 
-0x3677 010583 setarg fast_adv_interval_value_car 
-0x3678 010584 call shutter_ble_adv_interval_set 
-0x3679 010585 branch app_ble_start_adv 
-:      010587 car_le_bb_event_timer:
-0x367a 010589 call car_moto1_blank_data_timer 
-0x367b 010590 call car_moto2_blank_data_timer 
-0x367c 010591 call car_moto3_blank_data_timer 
-0x367d 010592 call app_power_timer 
-0x367e 010593 call car_led_control_timer 
-0x367f 010594 call car_notify_vdd_timer 
-0x3680 010595 call car_24g_no_data_timeout_timer 
-0x3681 010596 call car_ir_breakdown_timer 
-0x3682 010597 branch car_attack_shake_timer 
-:      010599 car_ir_breakdown_timer:
-0x3683 010600 arg mem_car_ir_breakdown_check_timer ,regc 
-0x3684 010601 arg car_ir_breakdown_timeout ,regb 
-0x3685 010602 branch timer_single_step 
-:      010603 car_ir_breakdown_timeout:
-0x3686 010604 call car_ir_gpio_get_status 
-0x3687 010605 nrtn true 
-0x3688 010606 jam 1 ,mem_car_ir_breakdown_flag 
-0x3689 010607 rtn 
-:      010609 car_24g_no_data_timeout_timer:
-0x368a 010610 arg mem_car_24g_no_data_timeout_timer ,regc 
-0x368b 010611 arg car_24g_no_data_timer_timeout ,regb 
-0x368c 010612 branch timer_single_step_2b 
-:      010613 car_24g_no_data_timer_timeout:
-0x368d 010614 jam work_search ,mem_car_24g_status 
-0x368e 010615 branch car_g24_disconnect 
-:      010617 car_attack_shake_timer:
-0x368f 010618 arg mem_car_attack_shake_timer ,regc 
-0x3690 010619 arg car_attack_shake ,regb 
-0x3691 010620 branch timer_single_step 
-:      010621 car_attack_shake:
-0x3692 010622 fetch 1 ,mem_car_attack_shake_flag 
-0x3693 010623 branch car_attack_shake_stop ,blank 
-0x3694 010624 jam 2 ,mem_car_attack_shake_timer 
-0x3695 010625 jam 0 ,mem_car_attack_shake_flag 
-0x3696 010626 setarg 0x0a02 
-0x3697 010627 store 2 ,mem_le_receive_payload 
-0x3698 010628 fetch 1 ,mem_car_config_device_select 
-0x3699 010629 beq device_battle_tank ,car_attack_shake_front_battle_tank 
-:      010630 car_attack_shake_front_battle_car:
-0x369a 010631 branch car_motor_control 
-:      010632 car_attack_shake_front_battle_tank:
-0x369b 010633 setarg 0x0a02 
-0x369c 010634 store 2 ,mem_le_receive_payload + 2 
-0x369d 010635 branch car_motor_control 
-:      010636 car_attack_shake_stop:
-0x369e 010637 setarg 0 
-0x369f 010638 store 4 ,mem_le_receive_payload 
-0x36a0 010639 branch car_motor_control 
-:      010641 car_notify_vdd_timer:
-0x36a1 010642 fetch 1 ,mem_car_config_bat_notify_enable 
-0x36a2 010643 rtn blank 
-0x36a3 010644 fetch 2 ,mem_ui_state_map 
-0x36a4 010645 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
-0x36a5 010646 arg mem_car_notify_vdd_timer ,regc 
-0x36a6 010647 arg car_notify_vdd ,regb 
-0x36a7 010648 branch timer_single_step 
-:      010649 car_notify_vdd:
-0x36a8 010650 fetch 1 ,mem_car_notify_vdd_count 
-0x36a9 010651 store 1 ,mem_car_notify_vdd_timer 
-0x36aa 010652 fetch 1 ,mem_car_working_flag 
-0x36ab 010653 nrtn blank 
-:      010654 car_read_hvin:
-0x36ac 010655 call adc_set_mode 
-0x36ad 010656 call vdd_calculate_by_mode 
-0x36ae 010657 store 2 ,mem_vdd_now_vol 
-0x36af 010658 arg mem_vdd_calculate_set ,rega 
-0x36b0 010659 call adc_bat_percent_lowpower_out 
-0x36b1 010660 fetcht 1 ,mem_car_notify_vdd_value_last 
-0x36b2 010661 isub temp ,null 
-0x36b3 010662 branch car_notify_vdd_next2 ,positive 
-0x36b4 010663 store 1 ,mem_car_notify_vdd_value_last 
-0x36b5 010664 copy pdata ,temp 
-:      010665 car_notify_vdd_next2:
-0x36b6 010666 storet 1 ,mem_car_notify_vdd_percent 
-0x36b7 010667 fetch 1 ,mem_car_config_low_voltage_percent 
-0x36b8 010668 isub temp ,null 
-0x36b9 010669 call car_enter_low_bat ,positive 
-0x36ba 010670 storet 1 ,mem_notify_bat_payload 
-0x36bb 010671 arg 6 ,loopcnt 
-0x36bc 010672 arg mem_notify_bat_head ,contr 
-0x36bd 010673 call calc_check_sum_start 
-0x36be 010674 store 1 ,mem_notify_bat_check_sum 
-0x36bf 010675 arg mem_notify_bat_packet ,rega 
-0x36c0 010676 branch queue_push 
-:      010677 car_enter_low_bat:
-0x36c1 010678 fetch 1 ,mem_low_bat_flag 
-0x36c2 010679 nrtn blank 
-0x36c3 010680 jam 1 ,mem_low_bat_flag 
-0x36c4 010681 arg 1 ,rega 
-0x36c5 010682 branch ui_led_blink_start_global 
-:      010683 car_low_bat_led_off:
-0x36c6 010684 arg 1 ,rega 
-0x36c7 010685 branch ui_led_blink_stop_global 
-:      010687 car_led_control_timer:
-0x36c8 010688 arg mem_car_led_control_timer ,regc 
-0x36c9 010689 arg car_led_control ,regb 
-0x36ca 010690 branch timer_single_step 
-:      010691 car_led_control:
-0x36cb 010692 jam 5 ,mem_car_led_control_timer 
-0x36cc 010693 jam 0 ,mem_car_led_no 
-0x36cd 010694 fetch 1 ,mem_car_led_blink_status 
-0x36ce 010695 beq led_on ,car_led_control_blink_off 
-0x36cf 010696 beq led_off ,car_led_control_blink_on 
-:      010697 car_led_control_set:
-0x36d0 010698 arg mem_car_led_control ,contr 
-0x36d1 010699 copy contr ,rega 
-0x36d2 010700 arg 8 ,loopcnt 
-:      010701 car_led_control_timer_next:
-0x36d3 010702 copy rega ,contr 
-0x36d4 010703 ifetch 1 ,contr 
-0x36d5 010704 copy contr ,rega 
-0x36d6 010705 beq led_off ,car_led_control_off 
-0x36d7 010706 beq led_on ,car_led_control_on 
-0x36d8 010707 beq led_blink ,car_led_control_blink 
-:      010708 car_led_control_timer_next_2:
-0x36d9 010709 fetch 1 ,mem_car_led_no 
-0x36da 010710 increase 1 ,pdata 
-0x36db 010711 store 1 ,mem_car_led_no 
-0x36dc 010712 loop car_led_control_timer_next 
-0x36dd 010713 rtn 
-:      010714 car_led_switch:
-0x36de 010715 fetch 1 ,mem_car_led_no 
-0x36df 010716 arg mem_car_config_blood_led_gpio ,regb 
-0x36e0 010717 iadd regb ,regb 
-0x36e1 010718 ifetcht 1 ,regb 
-0x36e2 010719 rtn 
-:      010720 car_led_control_off:
-0x36e3 010721 call car_led_switch 
-0x36e4 010722 call gpio_out_inactive 
-0x36e5 010723 branch car_led_control_timer_next_2 
-:      010724 car_led_control_on:
-0x36e6 010725 call car_led_switch 
-0x36e7 010726 call gpio_out_active 
-0x36e8 010727 branch car_led_control_timer_next_2 
-:      010728 car_led_control_blink:
-0x36e9 010729 fetch 1 ,mem_car_led_blink_status 
-0x36ea 010730 beq led_on ,car_led_control_off 
-0x36eb 010731 branch car_led_control_on 
-:      010732 car_led_control_blink_on:
-0x36ec 010733 jam led_on ,mem_car_led_blink_status 
-0x36ed 010734 branch car_led_control_set 
-:      010735 car_led_control_blink_off:
-0x36ee 010736 jam led_off ,mem_car_led_blink_status 
-0x36ef 010737 branch car_led_control_set 
-:      010741 calc_check_sum_start:
-0x36f0 010742 arg 0 ,rega 
-:      010743 calc_check_sum_loop:
-0x36f1 010744 ifetch 1 ,contr 
-0x36f2 010745 iadd rega ,rega 
-0x36f3 010746 loop calc_check_sum_loop 
-:      010747 calc_check_sum_and:
-0x36f4 010748 and rega ,0xff ,pdata 
-0x36f5 010749 rtn 
-:      010751 car_le_receive_data:
-0x36f6 010752 fetch 1 ,mem_le_att_opcode 
-0x36f7 010753 beq attop_write_request ,car_le_parse_att_write_request 
-0x36f8 010754 rtn 
-:      010755 car_le_parse_att_write_request:
-0x36f9 010756 fetch 2 ,mem_le_att_handle 
-0x36fa 010757 beq att_car_control_handle ,car_control_le_receive 
-0x36fb 010758 rtn 
-:      010770 le_app_receive_data:
-0x36fc 010771 bpatch patch1a_0 ,mem_patch1a 
-0x36fd 010772 ifetch 5 ,rega 
-0x36fe 010773 store 5 ,mem_app_receive_temp 
-0x36ff 010774 fetch 2 ,mem_app_receive_temp 
-0x3700 010775 arg le_receive_packet_head ,temp 
-0x3701 010776 isub temp ,null 
-0x3702 010777 nrtn zero 
-0x3703 010778 fetch 2 ,mem_app_receive_temp + 3 
-0x3704 010779 byteswap pdata ,pdata 
-0x3705 010780 store 2 ,mem_app_receive_temp + 3 
-0x3706 010781 copy pdata ,loopcnt 
-0x3707 010782 increase 5 ,rega 
-0x3708 010783 copy rega ,contr 
-0x3709 010784 arg mem_app_receive_temp + 5 ,contw 
-0x370a 010785 call memcpy 
-0x370b 010786 ifetch 1 ,contr 
-0x370c 010787 store 1 ,mem_app_receive_temp + 15 
-0x370d 010788 arg mem_app_receive_temp + 2 ,rega 
-0x370e 010789 arg mem_app_receive_temp + 5 ,regb 
-0x370f 010790 rtn 
-:      010792 car_control_le_receive:
-0x3710 010793 setarg 0 
-0x3711 010794 store 5 ,mem_le_receive_payload 
-0x3712 010795 store 5 ,mem_le_receive_payload + 5 
-0x3713 010796 call le_app_receive_data 
-0x3714 010797 copy regb ,contr 
-0x3715 010798 arg mem_le_receive_payload ,contw 
-0x3716 010799 arg 10 ,loopcnt 
-0x3717 010800 call memcpy 
-:      010801 car_receive_cmd_select:
-0x3718 010802 bpatch patch1a_1 ,mem_patch1a 
-0x3719 010803 ifetch 1 ,rega 
-0x371a 010804 beq car_cmd_old_car_control ,car_drive_old 
-0x371b 010805 beq car_cmd_old_speed_control ,car_speed_set_old 
-0x371c 010806 beq car_cmd_l_r_motor_control ,car_motor_control 
-0x371d 010807 beq car_cmd_f_b_motor_control ,car_motor_control 
-0x371e 010808 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
-0x371f 010809 beq car_cmd_led_control ,car_led_control_receive 
-0x3720 010810 beq car_cmd_device_info ,car_info_request 
-0x3721 010811 rtn 
-:      010813 car_24g_receive_data:
-0x3722 010814 fetch 2 ,mem_ui_state_map 
-0x3723 010815 rtnbit1 ui_state_ble_connected 
-0x3724 010817 fetch 2 ,mem_car_24g_no_data_timeout_count 
-0x3725 010818 store 2 ,mem_car_24g_no_data_timeout_timer 
-0x3726 010820 jam work_paired ,mem_car_24g_received_pac 
-0x3727 010822 setarg offset_24g_rxdata_temp_add3 
-0x3728 010823 call g24_set_rega 
-0x3729 010824 call car_control_le_receive 
-0x372a 010826 fetch 1 ,mem_app_receive_temp + 2 
-0x372b 010827 beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
-0x372c 010828 beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
-0x372d 010829 rtn 
-:      010830 car_24g_receive_data_next:
-0x372e 010831 fetch 1 ,mem_le_receive_payload 
-0x372f 010832 ncall car_moto1_enable_blank_data_timer ,blank 
-0x3730 010833 fetch 1 ,mem_le_receive_payload + 2 
-0x3731 010834 ncall car_moto2_enable_blank_data_timer ,blank 
-0x3732 010835 fetch 1 ,mem_le_receive_payload + 4 
-0x3733 010836 ncall car_moto3_enable_blank_data_timer ,blank 
-0x3734 010837 rtn 
-:      010839 car_moto1_enable_blank_data_timer:
-0x3735 010840 jam 5 ,mem_car_moto1_blank_timer 
-0x3736 010841 rtn 
-:      010842 car_moto2_enable_blank_data_timer:
-0x3737 010843 jam 5 ,mem_car_moto2_blank_timer 
-0x3738 010844 rtn 
-:      010845 car_moto3_enable_blank_data_timer:
-0x3739 010846 jam 5 ,mem_car_moto3_blank_timer 
-0x373a 010847 rtn 
-:      010849 car_moto1_blank_data_timer:
-0x373b 010850 arg mem_car_moto1_blank_timer ,regc 
-0x373c 010851 arg car_moto1_blank_data ,regb 
-0x373d 010852 branch timer_single_step 
-:      010853 car_moto2_blank_data_timer:
-0x373e 010854 arg mem_car_moto2_blank_timer ,regc 
-0x373f 010855 arg car_moto2_blank_data ,regb 
-0x3740 010856 branch timer_single_step 
-:      010857 car_moto3_blank_data_timer:
-0x3741 010858 arg mem_car_moto3_blank_timer ,regc 
-0x3742 010859 arg car_moto3_blank_data ,regb 
-0x3743 010860 branch timer_single_step 
-:      010862 car_moto1_blank_data:
-0x3744 010863 jam 0 ,mem_le_receive_payload 
-0x3745 010864 branch car_motor_control 
-:      010865 car_moto2_blank_data:
-0x3746 010866 jam 0 ,mem_le_receive_payload + 2 
-0x3747 010867 branch car_motor_control 
-:      010868 car_moto3_blank_data:
-0x3748 010869 jam 0 ,mem_le_receive_payload + 4 
-0x3749 010870 branch car_motor_control 
-:      010875 car_drive_old:
-0x374a 010876 call car_left_right_control_old 
-0x374b 010877 branch car_front_back_control_old 
-:      010878 car_left_right_control_old:
-0x374c 010879 fetch 1 ,mem_le_receive_payload 
-0x374d 010880 store 1 ,mem_motor2_status 
-0x374e 010881 branch car_motor2_control 
-:      010882 car_front_back_control_old:
-0x374f 010883 fetch 1 ,mem_motor1_speed 
-0x3750 010884 call car_reset_old_speed 
-0x3751 010885 fetch 1 ,mem_le_receive_payload + 1 
-0x3752 010886 store 1 ,mem_motor1_status 
-0x3753 010887 branch car_motor1_control 
-:      010888 car_reset_old_speed:
-0x3754 010889 beq speed_level_2 ,car_reset_old_speed2 
-0x3755 010890 beq speed_level_3 ,car_reset_old_speed3 
-0x3756 010891 store 1 ,mem_motor1_speed 
-0x3757 010892 rtn 
-:      010893 car_reset_old_speed2:
-0x3758 010894 jam speed_level_5 ,mem_motor1_speed 
-0x3759 010895 rtn 
-:      010896 car_reset_old_speed3:
-0x375a 010897 jam speed_level_10 ,mem_motor1_speed 
-0x375b 010898 rtn 
-:      010899 car_speed_set_old:
-0x375c 010900 fetch 1 ,mem_le_receive_payload 
-0x375d 010901 call car_reset_old_speed 
-0x375e 010902 fetch 1 ,mem_motor1_speed 
-0x375f 010903 call car_motor_speed_duty_setting 
-0x3760 010904 call car_motor_speed_duty_transform 
-0x3761 010905 branch pwm_pwm0_duty_set 
-:      010907 car_motor_control:
-0x3762 010908 fetch 1 ,mem_car_24g_go_die_flag 
-0x3763 010909 nrtn blank 
-0x3764 010910 fetch 6 ,mem_le_receive_payload 
-0x3765 010911 store 6 ,mem_motor1_status 
-0x3766 010912 fetch 1 ,mem_motor1_speed 
-0x3767 010913 fetcht 1 ,mem_motor2_speed 
-0x3768 010914 iand temp ,pdata 
-0x3769 010915 fetcht 1 ,mem_motor3_speed 
-0x376a 010916 iand temp ,pdata 
-0x376b 010917 call car_motor_working_flag ,blank 
-0x376c 010918 bpatch patch1a_2 ,mem_patch1a 
-0x376d 010919 call car_motor1_control 
-0x376e 010920 call car_motor2_control 
-0x376f 010921 branch car_motor3_control 
-:      010922 car_motor1_control:
-0x3770 010923 arg mem_motor1_pwm_set ,regb 
-0x3771 010924 arg mem_motor1_status ,contr 
-0x3772 010925 branch car_motor_status_select 
-:      010926 car_motor2_control:
-0x3773 010927 arg mem_motor2_pwm_set ,regb 
-0x3774 010928 arg mem_motor2_status ,contr 
-0x3775 010929 branch car_motor_status_select 
-:      010930 car_motor3_control:
-0x3776 010931 arg mem_motor3_pwm_set ,regb 
-0x3777 010932 arg mem_motor3_status ,contr 
-0x3778 010933 branch car_motor_status_select 
-:      010934 car_motor_working_flag:
-0x3779 010935 jam 0 ,mem_car_working_flag 
-0x377a 010936 rtn 
-:      010938 car_motor_status_select:
-0x377b 010939 ifetch 1 ,contr 
-0x377c 010940 beq motor_stop ,car_motor_stop 
-0x377d 010941 beq go_front ,car_motor_positive 
-0x377e 010942 beq go_back ,car_motor_negative 
-0x377f 010943 rtn 
-:      010944 car_motor_positive:
-0x3780 010945 jam 0 ,mem_motor_select_p_n 
-0x3781 010946 branch car_motor_negative + 1 
-:      010947 car_motor_negative:
-0x3782 010948 jam 1 ,mem_motor_select_p_n 
-0x3783 010949 ifetch 1 ,contr 
-0x3784 010950 store 1 ,mem_car_motor_speed 
-0x3785 010951 ifetch 8 ,regb 
-0x3786 010952 branch car_motor_work 
-:      010954 car_motor_stop:
-0x3787 010955 ifetch 1 ,regb 
-0x3788 010956 call pwm_disable 
-0x3789 010957 increase 1 ,regb 
-0x378a 010958 ifetch 1 ,regb 
-0x378b 010959 branch pwm_disable 
-:      010960 car_motor_work:
-0x378c 010961 store 8 ,mem_motor_pwm_pin1_set 
-0x378d 010962 jam 1 ,mem_car_working_flag 
-0x378e 010963 fetch 1 ,mem_motor_select_p_n 
-0x378f 010964 beq 0 ,car_motor_select_positive 
-:      010965 car_motor_select_negative:
-0x3790 010966 fetch 1 ,mem_motor_pwm_pin2_set 
-0x3791 010967 store 1 ,mem_motor_pwm_pin_set 
-0x3792 010968 fetch 1 ,mem_motor_pwm_pin1_set 
-:      010969 car_motor_work_next:
-0x3793 010970 call pwm_disable 
-0x3794 010971 fetch 1 ,mem_car_motor_speed 
-0x3795 010972 call car_motor_speed_duty_setting 
-0x3796 010973 store 1 ,mem_motor_pwm_dute_set 
-0x3797 010974 fetch 6 ,mem_motor_pwm_pin_set 
-0x3798 010975 store 6 ,mem_pdatatemp 
-0x3799 010976 branch pwm_out_set 
-:      010977 car_motor_select_positive:
-0x379a 010978 fetch 1 ,mem_motor_pwm_pin1_set 
-0x379b 010979 store 1 ,mem_motor_pwm_pin_set 
-0x379c 010980 fetch 1 ,mem_motor_pwm_pin2_set 
-0x379d 010981 branch car_motor_work_next 
-:      010983 car_motor_speed_duty_setting:
-0x379e 010984 mul32 pdata ,5 ,pdata 
-0x379f 010985 add pdata ,50 ,pdata 
-0x37a0 010986 rtn 
-:      010987 car_motor_speed_duty_transform:
-0x37a1 010988 arg 12000 ,temp 
-0x37a2 010989 imul32 temp ,pdata 
-0x37a3 010990 div pdata ,100 
-0x37a4 010991 call wait_div_end 
-0x37a5 010992 quotient temp 
-0x37a6 010993 copy temp ,rega 
-0x37a7 010994 setarg 12000 
-0x37a8 010995 isub temp ,regb 
-0x37a9 010996 rtn 
-:      010999 car_ir_init:
-0x37aa 011000 hfetch 1 ,core_gpio_sel2 
-0x37ab 011001 set1 2 ,pdata 
-0x37ac 011002 hstore 1 ,core_gpio_sel2 
-0x37ad 011003 setarg 158 
-0x37ae 011004 hstore 2 ,core_pwm_pcnt4 
-0x37af 011005 hstore 2 ,core_pwm_ncnt4 
-0x37b0 011006 rtn 
-:      011008 car_ir_data_rx_from_app:
-0x37b1 011009 fetch 1 ,mem_car_24g_go_die_flag 
-0x37b2 011010 nrtn blank 
-0x37b3 011011 fetch 2 ,mem_le_receive_payload 
-0x37b4 011012 store 2 ,mem_ir_data 
-0x37b5 011013 fetch 1 ,mem_car_24g_status 
-0x37b6 011014 bne work_paired ,car_ir_data_tx 
-0x37b7 011015 fetch 2 ,mem_le_lap 
-0x37b8 011016 store 2 ,mem_ir_data 
-:      011017 car_ir_data_tx:
-0x37b9 011018 bpatch patch1a_3 ,mem_patch1a 
-0x37ba 011019 call car_ir_init 
-0x37bb 011020 call car_ir_enable 
-0x37bc 011021 setarg 48000 
-0x37bd 011022 call sleep 
-0x37be 011023 call car_ir_disable 
-0x37bf 011024 setarg 7200 
-0x37c0 011025 call sleep 
-0x37c1 011026 arg 16 ,loopcnt 
-:      011027 car_ir_send_loop:
-0x37c2 011028 call car_ir_enable 
-0x37c3 011029 fetch 2 ,mem_ir_data 
-0x37c4 011030 bbit1 0 ,car_ir_is_bit1 
-0x37c5 011031 setarg 7200 
-0x37c6 011032 call sleep 
-0x37c7 011033 call car_ir_disable 
-0x37c8 011034 branch car_ir_wait_finish 
-:      011036 car_ir_is_bit1:
-0x37c9 011037 setarg 14400 
-0x37ca 011038 call sleep 
-0x37cb 011039 call car_ir_disable 
-:      011040 car_ir_wait_finish:
-0x37cc 011041 setarg 7200 
-0x37cd 011042 call sleep 
-0x37ce 011043 fetch 2 ,mem_ir_data 
-0x37cf 011044 rshift pdata ,pdata 
-0x37d0 011045 store 2 ,mem_ir_data 
-0x37d1 011046 loop car_ir_send_loop 
-0x37d2 011048 jam 2 ,mem_car_attack_shake_timer 
-0x37d3 011049 jam 1 ,mem_car_attack_shake_flag 
-0x37d4 011050 setarg 0x0a01 
-0x37d5 011051 store 2 ,mem_le_receive_payload 
-0x37d6 011052 fetch 1 ,mem_car_config_device_select 
-0x37d7 011053 beq device_battle_tank ,car_attack_shake_back_battle_tank 
-:      011054 car_attack_shake_back_battle_car:
-0x37d8 011055 branch car_motor_control 
-:      011056 car_attack_shake_back_battle_tank:
-0x37d9 011057 setarg 0x0a01 
-0x37da 011058 store 2 ,mem_le_receive_payload + 2 
-0x37db 011059 branch car_motor_control 
-:      011061 car_ir_enable:
-0x37dc 011062 hfetch 1 ,core_gpio_key2 
-0x37dd 011063 or_into 0x40 ,pdata 
-0x37de 011064 hstore 1 ,core_gpio_key2 
-0x37df 011065 rtn 
-:      011066 car_ir_disable:
-0x37e0 011067 hfetch 1 ,core_gpio_key2 
-0x37e1 011068 and_into 0xbf ,pdata 
-0x37e2 011069 hstore 1 ,core_gpio_key2 
-0x37e3 011070 rtn 
-:      011072 car_ir_rx_init:
-0x37e4 011073 fetch 1 ,mem_car_config_ir_enable 
-0x37e5 011074 rtneq 0x00 
-0x37e6 011075 call lpm_disable_exen_output 
-0x37e7 011076 fetcht 1 ,mem_car_config_ir_rx_gpio 
-0x37e8 011077 storet 1 ,mem_ir_rx_gpio 
-0x37e9 011078 call gpio_config_input 
-0x37ea 011079 call car_ir_gpio_get_status 
-0x37eb 011080 nrtn true 
-0x37ec 011081 jam 1 ,mem_car_ir_breakdown_check_timer 
-0x37ed 011082 rtn 
-:      011084 car_ir_receive_process:
-0x37ee 011085 fetch 1 ,mem_car_config_ir_enable 
-0x37ef 011086 rtneq flag_ir_disable 
-0x37f0 011087 fetch 1 ,mem_car_ir_breakdown_flag 
-0x37f1 011088 nrtn blank 
-0x37f2 011089 fetch 2 ,mem_ui_state_map 
-0x37f3 011090 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
-0x37f4 011091 fetch 1 ,mem_car_24g_status 
-0x37f5 011092 rtnne work_paired 
-:      011093 car_ir_receive_process_next:
-0x37f6 011094 bpatch patch1a_4 ,mem_patch1a 
-0x37f7 011095 call car_ir_gpio_get_status 
-0x37f8 011096 nrtn true 
-0x37f9 011097 setarg 36000 
-0x37fa 011098 call sleep 
-0x37fb 011099 call car_ir_gpio_get_status 
-0x37fc 011100 nrtn true 
-0x37fd 011101 call car_ir_clk_get 
-:      011102 car_ir_packet_head_wait_end:
-0x37fe 011103 call car_ir_clk_check 
-0x37ff 011104 nrtn positive 
-0x3800 011105 call car_ir_gpio_get_status 
-0x3801 011106 branch car_ir_packet_head_wait_end ,true 
-0x3802 011107 arg 0 ,rega 
-0x3803 011108 arg 16 ,loopcnt 
-0x3804 011109 call car_ir_clk_get 
-:      011110 car_ir_receive_process_loop:
-0x3805 011111 call car_ir_clk_check 
-0x3806 011112 nrtn positive 
-0x3807 011113 call car_ir_gpio_get_status 
-0x3808 011114 nbranch car_ir_receive_process_loop ,true 
-0x3809 011115 setarg 10800 
-0x380a 011116 call sleep 
-0x380b 011117 call car_ir_gpio_get_status 
-0x380c 011118 branch car_ir_get_bit1 ,true 
-:      011119 car_ir_get_bit0:
-0x380d 011120 setarg 0 
-0x380e 011121 rshift rega ,rega 
-0x380f 011122 ior rega ,rega 
-0x3810 011123 loop car_ir_receive_process_loop 
-0x3811 011124 branch car_ir_receive_process_end 
-:      011125 car_ir_get_bit1:
-0x3812 011126 setarg 0x8000 
-0x3813 011127 rshift rega ,rega 
-0x3814 011128 ior rega ,rega 
-0x3815 011129 call car_ir_clk_get 
-:      011130 car_ir_get_bit1_wait_low_end:
-0x3816 011131 call car_ir_clk_check 
-0x3817 011132 nrtn positive 
-0x3818 011133 call car_ir_gpio_get_status 
-0x3819 011134 branch car_ir_get_bit1_wait_low_end ,true 
-0x381a 011135 loop car_ir_receive_process_loop 
-:      011136 car_ir_receive_process_end:
-0x381b 011137 bpatch patch1a_5 ,mem_patch1a 
-0x381c 011138 copy rega ,pdata 
-0x381d 011139 store 2 ,mem_ir_rx_buf 
-0x381e 011140 store 2 ,mem_ir_notify_data + 8 
-0x381f 011141 fetch 1 ,mem_car_24g_status 
-0x3820 011142 beq work_paired ,car_ir_24g_receive_attack 
-:      011143 car_ir_data_notify:
-0x3821 011144 arg 0x07 ,loopcnt 
-0x3822 011145 arg mem_ir_notify_data_head ,contr 
-0x3823 011146 call calc_check_sum_start 
-0x3824 011147 store 1 ,mem_ir_notify_data_check_sum 
-0x3825 011148 arg mem_ir_notify_data ,rega 
-0x3826 011149 branch queue_push 
-:      011151 car_ir_24g_receive_attack:
-0x3827 011152 fetch 1 ,mem_car_24g_ir_receive_attack_count 
-0x3828 011153 increase 1 ,pdata 
-0x3829 011154 store 1 ,mem_car_24g_ir_receive_attack_count 
-0x382a 011155 div pdata ,2 
-0x382b 011156 call wait_div_end 
-0x382c 011157 quotient temp 
-0x382d 011158 remainder pdata 
-0x382e 011159 nbranch car_ir_24g_receive_attack_blink ,blank 
-:      011160 car_ir_24g_receive_attack_off:
-0x382f 011161 fetch 1 ,mem_car_config_led_num 
-0x3830 011162 isub temp ,null 
-0x3831 011163 call car_ir_24g_go_die ,zero 
-0x3832 011164 arg mem_car_led_control ,pdata 
-0x3833 011165 increase -1 ,temp 
-0x3834 011166 iadd temp ,rega 
-0x3835 011167 arg 0 ,pdata 
-0x3836 011168 istore 1 ,rega 
-0x3837 011169 rtn 
-:      011170 car_ir_24g_receive_attack_blink:
-0x3838 011171 arg mem_car_led_control ,pdata 
-0x3839 011172 iadd temp ,rega 
-0x383a 011173 arg 2 ,pdata 
-0x383b 011174 istore 1 ,rega 
-0x383c 011175 rtn 
-:      011176 car_ir_24g_go_die:
-0x383d 011177 jam 1 ,mem_car_24g_go_die_flag 
-0x383e 011178 rtn 
-:      011179 car_ir_clk_get:
-0x383f 011180 copy clkn_bt ,pdata 
-0x3840 011181 store 4 ,mem_ir_receive_clkn 
-0x3841 011182 rtn 
-:      011183 car_ir_clk_check:
-0x3842 011184 copy clkn_bt ,pdata 
-0x3843 011185 fetcht 4 ,mem_ir_receive_clkn 
-0x3844 011186 isub temp ,pdata 
-0x3845 011187 sub pdata ,200 ,null 
-0x3846 011188 rtn 
-:      011190 car_ir_gpio_get_status:
-0x3847 011191 fetcht 1 ,mem_ir_rx_gpio 
-0x3848 011192 branch gpio_get_bit 
-:      011194 car_led_control_receive:
-0x3849 011195 fetch 8 ,mem_le_receive_payload 
-0x384a 011196 store 8 ,mem_car_led_control 
-0x384b 011197 rtn 
-:      011199 car_info_request:
-0x384c 011200 fetch 1 ,mem_car_config_device_select 
-0x384d 011201 store 1 ,mem_car_info_request_payload 
-0x384e 011202 fetch 1 ,mem_car_config_motor_layout 
-0x384f 011203 store 1 ,mem_car_info_request_payload + 1 
-0x3850 011204 fetch 1 ,mem_car_config_ir_enable 
-0x3851 011205 store 1 ,mem_car_info_request_payload + 2 
-0x3852 011206 arg 13 ,loopcnt 
-0x3853 011207 arg mem_car_info_request_head ,contr 
-0x3854 011208 call calc_check_sum_start 
-0x3855 011209 store 1 ,mem_car_info_request_checksum 
-0x3856 011210 arg mem_car_info_request ,rega 
-0x3857 011211 branch queue_push 
-:      011217 light_init:
-0x3858 011218 call clear_eeprom_size_2k 
-0x3859 011219 jam 0x7a ,mem_curr_packet_num 
-0x385a 011220 call light_load_controler_list 
-0x385b 011221 call light_init_crr_cmd_count 
-0x385c 011222 setarg light_pairing_timer 
-0x385d 011223 store 2 ,mem_cb_event_timer 
-0x385e 011224 arg 0 ,rega 
-0x385f 011225 branch pwm_init 
-:      011227 light_pairing_timer:
-0x3860 011228 fetch 2 ,mem_light_pairing_timer 
-0x3861 011229 rtn blank 
-0x3862 011230 increase -1 ,pdata 
-0x3863 011231 store 2 ,mem_light_pairing_timer 
-0x3864 011232 rtnne 0 
-0x3865 011233 jam 0 ,mem_light_pairing_enable 
-0x3866 011234 rtn 
-:      011236 light_init_crr_cmd_count:
-0x3867 011237 bpatch patch1a_6 ,mem_patch1a 
-0x3868 011238 fetch 1 ,mem_light_next_record 
-0x3869 011239 sub pdata ,40 ,null 
-0x386a 011240 rtn positive 
-0x386b 011241 jam 0 ,mem_light_next_record 
-0x386c 011242 rtn 
-:      011244 light_load_controler_list:
-0x386d 011245 arg mem_light_next_record ,rega 
-0x386e 011246 arg 0 ,regb 
-0x386f 011247 arg 81 ,temp 
-0x3870 011248 branch iicd_read_eep_data 
-:      011251 light_find_controler_pairing:
-0x3871 011252 disable user 
-0x3872 011253 fetch 1 ,mem_light_cnum 
-0x3873 011254 copy pdata ,loopcnt 
-0x3874 011256 arg mem_light_clist ,rega 
-0x3875 011257 copy regc ,regb 
-:      011258 light_find_controler_pairing_loop:
-0x3876 011259 bpatch patch1a_7 ,mem_patch1a 
-0x3877 011260 call light_compare_addr_record 
-0x3878 011261 branch enable_user ,zero 
-:      011262 light_find_single_pairing_diff:
-0x3879 011263 increase 4 ,rega 
-0x387a 011264 loop light_find_controler_pairing_loop 
-0x387b 011265 rtn 
-:      011268 light_compare_addr_record:
-0x387c 011269 bpatch patch1b_0 ,mem_patch1b 
-0x387d 011270 ifetch 3 ,rega 
-0x387e 011271 ifetcht 3 ,regb 
-0x387f 011272 isub temp ,null 
-0x3880 011273 rtn 
-:      011275 light_compare_single_record:
-0x3881 011276 bpatch patch1b_1 ,mem_patch1b 
-0x3882 011277 ifetch 3 ,rega 
-0x3883 011278 ifetcht 3 ,regb 
-0x3884 011279 isub temp ,null 
-0x3885 011280 nrtn zero 
-0x3886 011281 ifetch 1 ,contr 
-0x3887 011282 sub pdata ,0 ,null 
-0x3888 011283 rtn zero 
-0x3889 011284 add rega ,3 ,contr 
-0x388a 011285 ifetcht 1 ,contr 
-0x388b 011286 isub temp ,null 
-0x388c 011287 rtn 
-:      011290 light_find_controler_cmd:
-0x388d 011291 bpatch patch1b_2 ,mem_patch1b 
-0x388e 011292 disable user 
-0x388f 011293 fetch 1 ,mem_light_cnum 
-0x3890 011294 copy pdata ,loopcnt 
-0x3891 011296 arg mem_light_clist ,rega 
-0x3892 011297 copy regc ,regb 
-:      011298 light_find_controler_cmd_loop:
-0x3893 011299 call light_compare_single_record 
-0x3894 011300 branch enable_user ,zero 
-0x3895 011301 increase 4 ,rega 
-0x3896 011302 loop light_find_controler_cmd_loop 
-0x3897 011303 rtn 
-:      011306 light_recv_adv:
-0x3898 011307 fetch 1 ,mem_le_scanrsp_rcv 
-0x3899 011308 increase 1 ,pdata 
-0x389a 011309 store 1 ,mem_le_scanrsp_rcv 
-0x389b 011310 arg mem_le_rxbuf + 12 ,regc 
-:      011312 light_anylize_command:
-0x389c 011313 ifetch 2 ,regc 
-0x389d 011314 arg 0x55aa ,temp 
-0x389e 011315 isub temp ,null 
-0x389f 011316 nrtn zero 
-0x38a0 011317 copy contr ,regc 
-0x38a1 011318 ifetcht 3 ,regc 
-0x38a2 011319 setarg 0xffffff 
-0x38a3 011320 isub temp ,null 
-0x38a4 011321 branch light_parse_cmd ,zero 
-0x38a5 011322 call light_find_controler_cmd 
-0x38a6 011323 branch light_parse_cmd ,user 
-0x38a7 011324 rtn 
-:      011326 light_parse_cmd:
-0x38a8 011327 bpatch patch1b_3 ,mem_patch1b 
-0x38a9 011328 increase 4 ,regc 
-0x38aa 011329 ifetch 1 ,regc 
-0x38ab 011330 fetcht 1 ,mem_curr_packet_num 
-0x38ac 011331 isub temp ,null 
-0x38ad 011332 rtn zero 
-0x38ae 011333 store 1 ,mem_curr_packet_num 
-0x38af 011334 fetch 1 ,mem_le_req_rcv 
-0x38b0 011335 increase 1 ,pdata 
-0x38b1 011336 store 1 ,mem_le_req_rcv 
-0x38b2 011338 increase 1 ,regc 
-0x38b3 011339 ifetch 1 ,regc 
-0x38b4 011340 store 1 ,mem_light_crr_cmd_count 
-0x38b5 011341 copy pdata ,loopcnt 
-0x38b6 011342 rtn blank 
-:      011343 light_parse_cmd_loop:
-0x38b7 011344 ifetch 1 ,contr 
-0x38b8 011345 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
-0x38b9 011346 beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
-0x38ba 011347 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
-0x38bb 011348 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
-0x38bc 011349 beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
-0x38bd 011350 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
-0x38be 011351 beq light_cmd_auto_mode ,light_parse_auto_mode 
-0x38bf 011352 beq light_cmd_pairing ,light_parse_pairing 
-0x38c0 011353 loop light_parse_cmd_loop 
-0x38c1 011354 rtn 
-:      011356 light_parse_cmd_pwm0:
-0x38c2 011357 copy contr ,regc 
-0x38c3 011358 fetch 1 ,mem_light_pwm0 
-0x38c4 011359 store 1 ,mem_pdatatemp 
-0x38c5 011360 arg 0 ,temp 
-:      011361 light_parse_cmd_pwm_common:
-0x38c6 011362 storet 1 ,mem_pdatatemp + 1 
-0x38c7 011363 setarg 10000 
-0x38c8 011364 store 3 ,mem_pdatatemp + 2 
-0x38c9 011365 ifetch 1 ,regc 
-0x38ca 011366 store 1 ,mem_pdatatemp + 5 
-0x38cb 011367 call pwm_out_set 
-0x38cc 011368 and regc ,1 ,contr 
-0x38cd 011369 loop light_parse_cmd_loop 
-0x38ce 011370 rtn 
-:      011371 light_parse_cmd_pwm1:
-0x38cf 011372 copy regc ,contr 
-0x38d0 011373 fetch 1 ,mem_light_pwm1 
-0x38d1 011374 store 1 ,mem_pdatatemp 
-0x38d2 011375 arg 1 ,temp 
-0x38d3 011376 branch light_parse_cmd_pwm_common 
-:      011377 light_parse_cmd_pwm2:
-0x38d4 011378 copy regc ,contr 
-0x38d5 011379 fetch 1 ,mem_light_pwm2 
-0x38d6 011380 store 1 ,mem_pdatatemp 
-0x38d7 011381 arg 2 ,temp 
-0x38d8 011382 branch light_parse_cmd_pwm_common 
-:      011383 light_parse_cmd_pwm3:
-0x38d9 011384 copy regc ,contr 
-0x38da 011385 fetch 1 ,mem_light_pwm3 
-0x38db 011386 store 1 ,mem_pdatatemp 
-0x38dc 011387 arg 3 ,temp 
-0x38dd 011388 branch light_parse_cmd_pwm_common 
-:      011389 light_parse_cmd_pwm4:
-0x38de 011390 copy regc ,contr 
-0x38df 011391 fetch 1 ,mem_light_pwm4 
-0x38e0 011392 store 1 ,mem_pdatatemp 
-0x38e1 011393 arg 4 ,temp 
-0x38e2 011394 branch light_parse_cmd_pwm_common 
-:      011395 light_parse_cmd_pwm5:
-0x38e3 011396 copy regc ,contr 
-0x38e4 011397 fetch 1 ,mem_light_pwm5 
-0x38e5 011398 store 1 ,mem_pdatatemp 
-0x38e6 011399 arg 5 ,temp 
-0x38e7 011400 branch light_parse_cmd_pwm_common 
-:      011402 light_parse_auto_mode:
-0x38e8 011403 ifetch 1 ,contr 
-0x38e9 011404 rtn 
-:      011406 light_parse_pairing:
-0x38ea 011407 copy contr ,regc 
-0x38eb 011408 fetch 1 ,mem_light_pairing_enable 
-0x38ec 011409 bne 1 ,light_parse_pairing_abandon 
-0x38ed 011410 call update_controler_list 
-:      011411 light_parse_pairing_abandon:
-0x38ee 011412 and regc ,4 ,contr 
-0x38ef 011413 rtn 
-:      011414 update_controler_list:
-0x38f0 011415 bpatch patch1b_4 ,mem_patch1b 
-0x38f1 011416 call light_find_controler_pairing 
-0x38f2 011417 branch update_conrtoler_list_found ,user 
-0x38f3 011418 fetch 1 ,mem_light_next_record 
-0x38f4 011419 copy pdata ,temp 
-0x38f5 011420 increase 1 ,pdata 
-0x38f6 011421 store 1 ,mem_light_next_record 
-0x38f7 011422 call light_init_crr_cmd_count 
-0x38f8 011423 lshift2 temp ,temp 
-0x38f9 011424 setarg mem_light_clist 
-0x38fa 011425 iadd temp ,contw 
-0x38fb 011426 ifetch 4 ,regc 
-0x38fc 011427 istore 4 ,contw 
-0x38fd 011428 branch update_conrtoler_store_list 
-:      011429 update_conrtoler_list_found:
-0x38fe 011430 add regc ,3 ,contr 
-0x38ff 011431 ifetch 1 ,contr 
-0x3900 011432 rtn blank 
-0x3901 011433 ifetch 4 ,regc 
-0x3902 011434 istore 4 ,rega 
-:      011435 update_conrtoler_store_list:
-0x3903 011436 arg mem_light_next_record ,rega 
-0x3904 011437 arg 0 ,regb 
-0x3905 011438 arg 81 ,temp 
-0x3906 011439 branch iicd_write_eep_data 
-:      011443 lightc_init:
-0x3907 011447 fetcht 1 ,mem_lightc_led_gpio 
-0x3908 011448 call gpio_out_inactive 
-0x3909 011449 rtn 
-:      011452 lightc_dispatch:
-0x390a 011455 fetcht 1 ,mem_lightc_led_gpio 
-0x390b 011456 call gpio_out_active 
-0x390c 011459 fetcht 1 ,mem_lightc_led_gpio 
-0x390d 011460 call gpio_out_inactive 
-0x390e 011463 call lightc_start_adv 
-0x390f 011465 fetch 1 ,mem_adv_time 
-0x3910 011466 nrtn blank 
-0x3911 011468 call lpm_write_gpio_wakeup 
-0x3912 011469 hfetch 4 ,core_lpm_ctrl 
-0x3913 011470 set0 15 ,pdata 
-0x3914 011471 hstore 4 ,core_lpm_reg 
-0x3915 011472 call lpm_write_ctrl 
-0x3916 011473 arg param_hibernate_clks ,temp 
-0x3917 011474 branch lpm_sleep 
-:      011476 lightc_adv:
-0x3918 011477 fetch 1 ,mem_adv_time 
-0x3919 011478 branch le_adv_loop_tx ,blank 
-0x391a 011479 increase -1 ,pdata 
-0x391b 011480 store 1 ,mem_adv_time 
-0x391c 011481 branch le_adv_loop_tx 
-:      011483 lightc_start_adv:
-0x391d 011484 mul32 pdata ,20 ,pdata 
-0x391e 011485 arg mem_cmd0_string ,contr 
-0x391f 011486 iadd contr ,contr 
-0x3920 011487 ifetch 1 ,contr 
-0x3921 011488 rtn blank 
-0x3922 011489 copy pdata ,rega 
-0x3923 011490 copy rega ,loopcnt 
-0x3924 011491 arg mem_le_adv_data + 2 ,contw 
-0x3925 011492 call memcpy 
-0x3926 011493 copy rega ,pdata 
-0x3927 011494 increase 2 ,pdata 
-0x3928 011495 store 1 ,mem_le_adv_data_len 
-0x3929 011496 rtn 
-:      011503 module_init:
-0x392a 011505 rtn wake 
-0x392b 011506 call le_modified_name 
-0x392c 011507 call adc_init_data 
-0x392d 011508 setarg module_process_idle 
-0x392e 011509 store 2 ,mem_cb_idle_process 
-0x392f 011510 setarg module_bt_conn_process 
-0x3930 011511 store 2 ,mem_cb_bt_process 
-0x3931 011512 setarg module_process_bb_event 
-0x3932 011513 store 2 ,mem_cb_bb_event_process 
-0x3933 011514 setarg module_le_conn_process 
-0x3934 011515 store 2 ,mem_cb_le_process 
-0x3935 011516 setarg module_lpm_lock 
-0x3936 011517 store 2 ,mem_cb_check_wakelock 
-0x3937 011518 setarg module_hci_cmd_transmit_le_notify 
-0x3938 011519 store 2 ,mem_cb_ble_transmit 
-0x3939 011520 setarg module_hci_event_receive_spp_data 
-0x393a 011521 store 2 ,mem_cb_receive_spp_data 
-0x393b 011522 setarg module_le_receive_data 
-0x393c 011523 store 2 ,mem_cb_att_write 
-0x393d 011524 setarg module_bb_event_timer 
-0x393e 011525 store 2 ,mem_cb_event_timer 
-0x393f 011527 call module_spp_clear_last_transmite_clock 
-0x3940 011528 bpatch patch1b_5 ,mem_patch1b 
-0x3941 011529 call module_lpm_uart_init 
-0x3942 011530 call module_gpio_init 
-0x3943 011531 call check_module_disabled 
-0x3944 011532 branch module_hci_event_enter_standby_mode 
-:      011535 module_lpm_uart_init:
-0x3945 011536 fetch 4 ,mem_module_uart_rx_buffer 
-0x3946 011537 hstore 4 ,core_uart_rsaddr 
-0x3947 011539 fetch 4 ,mem_module_uart_tx_buffer 
-0x3948 011540 hstore 4 ,core_uart_tsaddr 
-0x3949 011542 hfetch 1 ,core_gpio_sel1 
-0x394a 011543 or_into 0x04 ,pdata 
-0x394b 011544 and_into 0xfc ,pdata 
-0x394c 011545 hstore 1 ,core_gpio_sel1 
-0x394d 011546 jam 0x00 ,core_uart_ctrl 
-0x394e 011548 fetch 2 ,mem_module_uart_rx_buffer 
-0x394f 011549 hstore 2 ,core_uart_rrptr 
-0x3950 011550 fetch 2 ,mem_module_uart_tx_buffer 
-0x3951 011551 hstore 2 ,core_uart_twptr 
-0x3952 011552 hstore 2 ,core_uart_trptrp 
-0x3953 011554 hfetch 4 ,core_gpio_pu0 
-0x3954 011555 set1 7 ,pdata 
-0x3955 011556 hstore 4 ,core_gpio_pu0 
-0x3956 011558 hfetch 2 ,core_clkoff 
-0x3957 011559 set0 clock_off_uart ,pdata 
-0x3958 011560 hstore 2 ,core_clkoff 
-0x3959 011561 call uart_set_baud_by_mem 
-0x395a 011562 jam uartclk_crystal ,core_uart_clksel 
-0x395b 011563 jam uart_ctrl_h4 ,core_uart_ctrl 
-0x395c 011565 fetch 1 ,mem_module_flag 
-0x395d 011566 isolate1 module_flag_uart_flow_control ,pdata 
-0x395e 011567 hfetcht 1 ,core_uart_ctrl 
-0x395f 011568 setflag true ,4 ,temp 
-0x3960 011569 hstoret 1 ,core_uart_ctrl 
-0x3961 011570 rtn 
-:      011574 module_lpm_init:
-0x3962 011575 call module_spp_clear_last_transmite_clock 
-0x3963 011576 branch module_lpm_uart_init 
-:      011579 module_gpio_init:
-0x3964 011584 fetcht 1 ,mem_module_connect_state_gpio 
-0x3965 011585 call gpio_config_output 
-0x3966 011586 call module_set_conn_pin_low 
-0x3967 011588 fetcht 1 ,mem_module_wake_up_gpio 
-0x3968 011589 branch gpio_config_input 
-:      011591 module_lpm_lock:
-0x3969 011592 fetcht 1 ,mem_module_wake_up_gpio 
-0x396a 011593 call gpio_get_bit 
-0x396b 011594 nbranch app_put_lpm_wake_lock ,true 
-0x396c 011595 branch app_get_lpm_wake_lock 
-:      011598 module_le_conn_process:
-0x396d 011599 rtn 
-:      011601 module_bt_conn_process:
-0x396e 011602 call module_spp_enter_sniff 
-0x396f 011603 branch module_control_air_flow 
-:      011605 module_spp_enter_sniff:
-0x3970 011606 fetch 1 ,mem_ui_state_map 
-0x3971 011607 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
-0x3972 011608 bpatch patch1b_6 ,mem_patch1b 
-0x3973 011609 setarg 0x3eff 
-0x3974 011610 fetcht 4 ,mem_last_transmite_clock 
-0x3975 011611 iadd temp ,temp 
-0x3976 011612 copy clkn_bt ,pdata 
-0x3977 011613 isub temp ,null 
-0x3978 011614 nrtn positive 
-0x3979 011615 fetch 2 ,mem_ui_state_map 
-0x397a 011616 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
-0x397b 011617 fetch 1 ,mem_module_flag 
-0x397c 011618 rtnbit1 moudle_task_sniff 
-0x397d 011619 call module_set_sniff_task_flag 
-0x397e 011620 call app_bt_enter_sniff 
-:      011621 module_spp_clear_last_transmite_clock:
-0x397f 011622 copy clkn_bt ,pdata 
-0x3980 011623 store 4 ,mem_last_transmite_clock 
-0x3981 011624 rtn 
-:      011627 module_process_idle:
-0x3982 011628 call module_control_air_flow 
-0x3983 011629 call l2cap_malloc_is_fifo_full 
-0x3984 011630 nrtn blank 
-0x3985 011631 branch module_process 
-:      011634 module_process_bb_event:
-0x3986 011635 copy regc ,pdata 
-0x3987 011636 beq bt_evt_bb_connected ,module_process_bb_conn 
-0x3988 011637 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
-0x3989 011638 beq bt_evt_reconn_failed ,module_process_reconn_fail 
-0x398a 011639 beq bt_evt_setup_complete ,module_process_setup_complete 
-0x398b 011640 beq bt_evt_spp_connected ,module_process_spp_connected 
-0x398c 011641 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
-0x398d 011642 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
-0x398e 011643 beq bt_evt_enter_sniff ,module_process_enter_sniff 
-0x398f 011644 beq bt_evt_exit_sniff ,module_process_exit_sniff 
-0x3990 011645 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
-0x3991 011646 beq bt_evt_le_connected ,module_process_le_conn 
-0x3992 011647 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
-0x3993 011648 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
-0x3994 011649 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
-0x3995 011650 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
-0x3996 011651 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
-0x3997 011652 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
-0x3998 011653 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
-0x3999 011654 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
-0x399a 011655 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
-0x399b 011656 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
-0x399c 011657 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
-0x399d 011658 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
-0x399e 011659 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
-0x399f 011660 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
-0x39a0 011661 beq bt_evt_store_nvram ,module_hci_event_store_device 
-0x39a1 011662 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
-0x39a2 011663 rtn 
-:      011666 module_process_bb_event_disconned:
-0x39a3 011667 call module_spp_clear_last_transmite_clock 
-0x39a4 011668 fetch 1 ,mem_flag_pairing_state 
-0x39a5 011669 ncall module_hci_event_bt_pairing_fail ,blank 
-0x39a6 011670 call module_disconn_start 
-0x39a7 011671 fetch 2 ,mem_ui_state_map 
-0x39a8 011672 rtnbit0 ui_state_bt_spp_conn 
-0x39a9 011673 branch module_spp_disconnected 
-:      011675 module_process_spp_connected:
-0x39aa 011676 fetch 2 ,mem_ui_state_map 
-0x39ab 011677 set1 ui_state_bt_spp_conn ,pdata 
-0x39ac 011678 store 2 ,mem_ui_state_map 
-0x39ad 011679 fetch 1 ,mem_module_spp_lpm_mult 
-0x39ae 011680 store 1 ,mem_lpm_mult 
-0x39af 011681 call module_set_conn_pin_low 
-0x39b0 011682 branch module_hci_event_spp_connect 
-:      011684 module_process_spp_disconnected:
-:      011686 module_spp_disconnected:
-0x39b1 011687 fetch 2 ,mem_ui_state_map 
-0x39b2 011688 rtnbit0 ui_state_bt_spp_conn 
-0x39b3 011689 set0 ui_state_bt_spp_conn ,pdata 
-0x39b4 011690 store 2 ,mem_ui_state_map 
-0x39b5 011691 branch module_hci_event_spp_disconnect 
-:      011694 module_process_enter_sniff:
-:      011696 module_sniff_param_check:
-0x39b6 011697 call module_spp_clear_last_transmite_clock 
-0x39b7 011700 fetch 2 ,mem_context + coffset_tsniff 
-0x39b8 011701 rshift pdata ,pdata 
-0x39b9 011702 fetcht 2 ,mem_sniff_param_interval 
-0x39ba 011703 isub temp ,null 
-0x39bb 011704 nbranch module_sniff_param_check_unsniff ,zero 
-0x39bc 011705 branch app_lpm_mult_enable 
-:      011706 module_sniff_param_check_unsniff:
-0x39bd 011707 fetch 1 ,mem_module_flag 
-0x39be 011708 rtnbit1 moudle_task_unsniff 
-0x39bf 011709 hfetch 2 ,core_uart_rxitems 
-0x39c0 011710 ncall module_set_unsniff_task_flag ,blank 
-0x39c1 011711 branch app_bt_sniff_exit 
-:      011713 module_process_exit_sniff:
-0x39c2 011714 call module_clear_sniff_task_flag 
-0x39c3 011715 branch app_lpm_mult_disable 
-:      011717 module_process_setup_complete:
-0x39c4 011718 call module_spp_clear_last_transmite_clock 
-0x39c5 011719 branch module_conn_start 
-:      011721 module_process_bb_even_le_disconn:
-0x39c6 011722 call le_clr_config_more_data 
-0x39c7 011723 call module_disconn_start 
-0x39c8 011724 branch module_hci_event_le_disconnect 
-:      011726 module_process_evt_pincode_req:
-0x39c9 011727 branch app_bt_set_pincode 
-:      011730 module_process_sniff_not_accept:
-0x39ca 011731 branch module_clear_sniff_task_flag 
-:      011734 module_process_unsniff_accept:
-0x39cb 011735 fetch 1 ,mem_module_flag 
-0x39cc 011736 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
-0x39cd 011737 branch module_clear_unsniff_task_flag 
-:      011740 module_process_unsniff_not_accept:
-0x39ce 011741 branch module_clear_unsniff_task_flag 
-:      011744 module_process_le_conn:
-0x39cf 011745 call le_send_att_exchange_mtu_requset 
-0x39d0 011746 call module_conn_start 
-0x39d1 011747 fetch 1 ,mem_module_le_lpm_mult 
-0x39d2 011748 store 1 ,mem_lpm_mult 
-0x39d3 011749 branch module_hci_event_le_connect 
-:      011752 module_process_bb_conn:
-0x39d4 011753 jam 0 ,mem_flag_mode_ssp_pin 
-0x39d5 011754 call module_clear_sniff_task_flag 
-0x39d6 011755 branch module_clear_unsniff_task_flag 
-:      011757 module_process_page_time_out:
-:      011758 module_process_reconn_fail:
-:      011759 module_disconn_start:
-0x39d7 011760 call module_start_adv_discovery_by_command 
-0x39d8 011761 branch module_set_conn_pin_high 
-:      011764 module_process_ble_ltk_lost:
-0x39d9 011765 call le_send_reject_ind 
-0x39da 011766 branch le_send_smp_security_request 
-:      011769 module_set_conn_pin_high:
-0x39db 011770 fetcht 1 ,mem_module_connect_state_gpio 
-0x39dc 011771 branch gpio_out_active 
-:      011773 module_conn_start:
-0x39dd 011774 call module_stop_adv_discovery 
-0x39de 011775 branch module_set_conn_pin_low 
-:      011777 module_stop_adv_discovery:
-0x39df 011778 fetch 1 ,mem_module_state 
-0x39e0 011779 isolate1 moudle_state_bt_bit ,pdata 
-0x39e1 011780 call app_bt_stop_discovery ,true 
-0x39e2 011781 fetch 1 ,mem_module_state 
-0x39e3 011782 isolate1 moudle_state_ble_bit ,pdata 
-0x39e4 011783 call app_ble_stop_adv ,true 
-0x39e5 011784 rtn 
-:      011785 module_set_conn_pin_low:
-0x39e6 011786 fetcht 1 ,mem_module_connect_state_gpio 
-0x39e7 011787 branch gpio_out_inactive 
-:      011789 module_process_with_credit:
-0x39e8 011790 fetch 1 ,mem_credit_flag 
-0x39e9 011791 rtneq credit_disable 
-0x39ea 011792 branch rfcomm_send_uih_without_payload 
-:      011794 module_process:
-0x39eb 011795 hfetch 1 ,core_uart_status 
-0x39ec 011796 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
-0x39ed 011797 call uartd_prepare_rx 
-0x39ee 011798 ifetch 1 ,contru 
-0x39ef 011799 bne 0x01 ,module_hci_in_excp 
-0x39f0 011800 hfetch 2 ,core_uart_rxitems 
-0x39f1 011801 sub pdata ,2 ,null 
-0x39f2 011802 rtn positive 
-0x39f3 011803 ifetch 1 ,contru 
-0x39f4 011804 store 1 ,mem_module_uart_opcode 
-0x39f5 011805 ifetcht 1 ,contru 
-0x39f6 011806 copy contru ,rega 
-0x39f7 011807 storet 1 ,mem_module_uart_len 
-0x39f8 011808 add temp ,3 ,temp 
-0x39f9 011809 hfetch 2 ,core_uart_rxitems 
-0x39fa 011810 isub temp ,temp 
-0x39fb 011811 nrtn positive 
-0x39fc 011812 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
-0x39fd 011813 call module_hci_cmd_control 
-0x39fe 011814 fetch 1 ,mem_module_temp_nl_discard_packet 
-0x39ff 011815 rtneq hci_not_discard_packet 
-0x3a00 011816 branch module_hci_dicard_packet 
-:      011818 module_hci_in_excp:
-0x3a01 011819 call delay_10ms 
-0x3a02 011820 call module_hci_event_invalid_packet 
-0x3a03 011821 branch module_hci_release_except 
-:      011824 module_hci_release_except:
-0x3a04 011825 bpatch patch1b_7 ,mem_patch1b 
-0x3a05 011826 hfetch 2 ,core_uart_rxitems 
-0x3a06 011827 rtn blank 
-0x3a07 011828 call uartd_prepare_rx 
-0x3a08 011829 ifetch 1 ,contru 
-0x3a09 011830 sub pdata ,0x01 ,null 
-0x3a0a 011831 ncall module_hci_dicard_bytes ,zero 
-0x3a0b 011832 nbranch module_hci_release_except ,zero 
-0x3a0c 011833 ifetch 1 ,contru 
-0x3a0d 011834 rtneq hci_cmd_spp_data_req 
-0x3a0e 011835 rtneq hci_cmd_set_credit_given 
-0x3a0f 011836 increase -1 ,contru 
-0x3a10 011837 call module_hci_dicard_bytes 
-0x3a11 011838 branch module_hci_release_except 
-:      011840 module_hci_dicard_packet:
-0x3a12 011841 call uartd_prepare_rx 
-0x3a13 011842 increase 2 ,contru 
-0x3a14 011843 ifetch 1 ,contru 
-0x3a15 011844 iadd contru ,contru 
-:      011845 module_hci_dicard_bytes:
-0x3a16 011846 branch uartd_rxdone 
-:      011849 module_hci_cmd_control:
-0x3a17 011850 bpatch patch1c_0 ,mem_patch1c 
-0x3a18 011851 fetch 1 ,mem_module_uart_opcode 
-0x3a19 011852 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
-0x3a1a 011853 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
-0x3a1b 011854 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
-0x3a1c 011855 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
-0x3a1d 011856 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
-0x3a1e 011857 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
-0x3a1f 011858 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
-0x3a20 011859 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
-0x3a21 011860 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
-0x3a22 011861 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
-0x3a23 011862 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
-0x3a24 011863 beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
-0x3a25 011864 beq hci_cmd_version_req ,module_hci_cmd_version_request 
-0x3a26 011865 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
-0x3a27 011866 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
-0x3a28 011867 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
-0x3a29 011868 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
-0x3a2a 011869 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
-0x3a2b 011870 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
-0x3a2c 011871 beq hci_cmd_power_req ,module_hci_cmd_power_request 
-0x3a2d 011872 beq hci_cmd_power_set ,module_hci_cmd_power_set 
-0x3a2e 011873 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
-0x3a2f 011874 beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
-0x3a30 011875 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
-0x3a31 011876 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
-0x3a32 011877 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
-0x3a33 011878 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
-0x3a34 011879 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
-0x3a35 011880 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
-0x3a36 011881 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
-0x3a37 011882 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
-0x3a38 011883 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
-0x3a39 011884 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
-0x3a3a 011885 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
-0x3a3b 011886 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
-0x3a3c 011887 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
-0x3a3d 011888 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
-0x3a3e 011889 branch module_hci_event_receive_invalid_cmd 
-:      011894 module_hci_cmd_set_bt_addr:
-0x3a3f 011895 fetch 1 ,mem_module_uart_len 
-0x3a40 011896 bne 6 ,module_hci_event_receive_invalid_cmd 
-0x3a41 011897 ifetch 6 ,contru 
-0x3a42 011898 store 6 ,mem_lap 
-0x3a43 011899 branch module_hci_event_receive_valid_cmd 
-:      011902 module_hci_cmd_set_le_addr:
-0x3a44 011903 fetch 1 ,mem_module_uart_len 
-0x3a45 011904 bne 6 ,module_hci_event_receive_invalid_cmd 
-0x3a46 011905 ifetch 6 ,contru 
-0x3a47 011906 store 6 ,mem_le_lap 
-0x3a48 011907 branch module_hci_event_receive_valid_cmd 
-:      011911 module_hci_cmd_set_visibility:
-0x3a49 011912 fetch 1 ,mem_module_uart_len 
-0x3a4a 011913 bne 1 ,module_hci_event_receive_invalid_cmd 
-0x3a4b 011914 copy rega ,contru 
-0x3a4c 011915 call module_hci_event_receive_valid_cmd 
-0x3a4d 011916 ifetcht 1 ,contru 
-0x3a4e 011917 storet 1 ,mem_module_bluetooth_stauts_by_command 
-0x3a4f 011918 fetch 2 ,mem_ui_state_map 
-0x3a50 011919 rtnbit1 ui_state_ble_connected 
-0x3a51 011920 rtnbit1 ui_state_bt_connected 
-:      011921 module_start_adv_discovery_by_command:
-0x3a52 011922 fetch 1 ,mem_module_state 
-0x3a53 011923 isolate1 moudle_state_bt_bit ,pdata 
-0x3a54 011924 nbranch moudle_start_adv_by_command ,true 
-0x3a55 011925 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
-0x3a56 011926 and temp ,0x03 ,pdata 
-0x3a57 011927 store 1 ,mem_scan_mode 
-:      011928 moudle_start_adv_by_command:
-0x3a58 011929 fetch 1 ,mem_module_state 
-0x3a59 011930 isolate1 moudle_state_ble_bit ,pdata 
-0x3a5a 011931 nrtn true 
-0x3a5b 011932 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
-0x3a5c 011933 isolate1 2 ,temp 
-0x3a5d 011934 branch app_ble_start_adv ,true 
-0x3a5e 011935 branch app_ble_stop_adv 
-:      011939 module_hci_cmd_set_bt_name:
-0x3a5f 011940 fetch 1 ,mem_module_uart_len 
-0x3a60 011941 sub pdata ,67 ,null 
-0x3a61 011942 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3a62 011943 store 1 ,mem_local_name_length 
-0x3a63 011944 arg 8 ,loopcnt 
-0x3a64 011945 call memset0 
-0x3a65 011946 fetch 1 ,mem_module_uart_len 
-0x3a66 011947 copy pdata ,loopcnt 
-0x3a67 011948 copy rega ,contru 
-0x3a68 011949 arg mem_local_name ,contw 
-0x3a69 011950 call uart_copy_rx_bytes_fast 
-0x3a6a 011951 branch module_hci_event_receive_valid_cmd 
-:      011955 module_hci_cmd_set_le_name:
-0x3a6b 011956 fetch 1 ,mem_module_uart_len 
-0x3a6c 011957 sub pdata ,29 ,null 
-0x3a6d 011958 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3a6e 011959 store 1 ,mem_le_name_len 
-0x3a6f 011960 copy pdata ,loopcnt 
-0x3a70 011961 copy rega ,contru 
-0x3a71 011962 arg mem_le_name ,contw 
-0x3a72 011963 call uart_copy_rx_bytes_fast 
-0x3a73 011964 call le_modified_name 
-0x3a74 011965 branch module_hci_event_receive_valid_cmd 
-:      011969 module_hci_cmd_receive_spp_data:
-0x3a75 011970 fetch 1 ,mem_ui_state_map 
-0x3a76 011971 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
-0x3a77 011972 call app_check_sniff 
-0x3a78 011973 branch module_hci_cmd_spp_exit_sniff ,true 
-0x3a79 011974 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3a7a 011976 call module_spp_clear_last_transmite_clock 
-0x3a7b 011977 fetch 1 ,mem_remote_credits 
-0x3a7c 011978 rtn blank 
-0x3a7d 011979 fetch 2 ,mem_nl_rx_len_all 
-0x3a7e 011980 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
-0x3a7f 011981 fetch 1 ,mem_module_uart_len 
-0x3a80 011982 store 2 ,mem_nl_rx_len_all 
-0x3a81 011984 copy rega ,contru 
-0x3a82 011987 copy contru ,pdata 
-0x3a83 011988 store 2 ,mem_nl_rx_data_src 
-:      011989 module_hci_cmd_pass_init_ng_rx_len_all:
-0x3a84 011990 call module_hci_cmd_get_current_packet_len_and_remain_len 
-0x3a85 011991 branch spp_tx_rfcomm_packet 
-:      011993 module_hci_cmd_spp_exit_sniff:
-0x3a86 011994 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3a87 011995 branch module_exit_sniff 
-:      011997 module_hci_cmd_get_current_packet_len_and_remain_len:
-0x3a88 011998 call module_hci_cmd_get_current_patcket_len 
-0x3a89 011999 fetch 2 ,mem_nl_rx_len_all 
-0x3a8a 012000 fetcht 2 ,mem_current_packet_length 
-0x3a8b 012001 isub temp ,pdata 
-0x3a8c 012002 store 2 ,mem_nl_rx_len_all 
-0x3a8d 012003 rtn 
-:      012005 module_hci_cmd_get_current_patcket_len:
-0x3a8e 012006 fetch 2 ,mem_nl_rx_len_all 
-0x3a8f 012007 arg dm_refcom_buff_len ,temp 
-0x3a90 012008 call not_greater_than 
-0x3a91 012009 fetcht 2 ,mem_rfcomm_max_frame_size 
-0x3a92 012010 call not_greater_than 
-0x3a93 012011 fetcht 2 ,mem_pn_max_frame_size 
-0x3a94 012012 call not_greater_than 
-0x3a95 012013 store 2 ,mem_current_packet_length 
-0x3a96 012014 rtn 
-:      012016 module_hci_command_tx_spp_tx_complete:
-0x3a97 012017 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3a98 012018 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
-0x3a99 012019 branch module_hci_event_receive_valid_cmd 
-:      012023 module_hci_cmd_receive_le_data:
-0x3a9a 012024 fetch 2 ,mem_ui_state_map 
-0x3a9b 012025 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
-0x3a9c 012026 call module_check_ble_encrypt_state 
-0x3a9d 012027 branch module_hci_event_receive_invalid_cmd ,user 
-0x3a9e 012028 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3a9f 012029 fetch 1 ,mem_module_flag 
-0x3aa0 012030 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
-0x3aa1 012031 fetch 1 ,mem_module_hci_notify_len 
-0x3aa2 012032 nrtn blank 
-0x3aa3 012033 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3aa4 012034 ifetch 2 ,contru 
-0x3aa5 012035 store 2 ,mem_module_hci_notify_handle 
-0x3aa6 012036 copy contru ,pdata 
-0x3aa7 012037 store 2 ,mem_module_hci_nofiy_addr 
-0x3aa8 012038 fetch 1 ,mem_module_uart_len 
-0x3aa9 012039 pincrease -2 
-0x3aaa 012040 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3aab 012041 branch module_hci_event_receive_invalid_cmd ,zero 
-0x3aac 012042 store 1 ,mem_module_hci_notify_len 
-0x3aad 012043 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3aae 012044 call le_set_config_more_data 
-0x3aaf 012045 call module_hci_cmd_transmit_le_notify 
-0x3ab0 012046 call module_hci_cmd_transmit_le_notify 
-0x3ab1 012047 call module_hci_cmd_transmit_le_notify 
-0x3ab2 012048 fetch 1 ,mem_module_flag 
-0x3ab3 012049 rtnbit0 module_flag_ble_data_finish 
-:      012050 module_hci_cmd_receive_le_data_finish:
-0x3ab4 012051 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
-0x3ab5 012052 call module_clear_le_tx_data_flag 
-0x3ab6 012053 branch module_hci_event_receive_valid_cmd 
-:      012055 module_hci_cmd_transmit_le_notify:
-0x3ab7 012056 fetch 1 ,mem_module_hci_notify_len 
-0x3ab8 012057 rtn blank 
-0x3ab9 012058 call le_fifo_check_nearly_full 
-0x3aba 012059 nrtn blank 
-0x3abb 012060 call module_get_le_remote_mtu 
-0x3abc 012061 bpatch patch1c_1 ,mem_patch1c 
-0x3abd 012062 add temp ,-3 ,pdata 
-0x3abe 012063 fetcht 1 ,mem_module_hci_notify_len 
-0x3abf 012064 call not_greater_than 
-0x3ac0 012065 copy pdata ,rega 
-0x3ac1 012066 copy temp ,pdata 
-0x3ac2 012067 isub rega ,pdata 
-0x3ac3 012068 store 1 ,mem_module_hci_notify_len 
-0x3ac4 012069 fetcht 2 ,mem_module_hci_notify_handle 
-0x3ac5 012070 call le_att_malloc_tx_notify 
-0x3ac6 012071 fetch 2 ,mem_module_hci_nofiy_addr 
-0x3ac7 012072 copy pdata ,contru 
-0x3ac8 012073 copy rega ,loopcnt 
-0x3ac9 012074 call uart_copy_rx_bytes_fast 
-0x3aca 012075 copy contru ,pdata 
-0x3acb 012076 store 2 ,mem_module_hci_nofiy_addr 
-0x3acc 012077 fetch 1 ,mem_module_hci_notify_len 
-0x3acd 012078 nrtn blank 
-0x3ace 012079 branch module_set_le_tx_data_flag 
-:      012083 module_get_le_remote_mtu:
-0x3acf 012084 arg 0x17 ,temp 
-0x3ad0 012085 fetch 1 ,mem_module_flag 
-0x3ad1 012086 rtnbit1 module_flag_ble_send_mtu23 
-0x3ad2 012087 fetcht 2 ,mem_le_remote_mtu 
-0x3ad3 012088 rtn 
-:      012090 module_check_ble_encrypt_state:
-0x3ad4 012091 fetch 1 ,mem_module_flag 
-0x3ad5 012092 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
-0x3ad6 012093 branch disable_user 
-:      012097 module_hci_cmd_inquire_status:
-0x3ad7 012098 branch module_hci_event_status_res 
-:      012102 module_hci_cmd_set_pairing_mode:
-0x3ad8 012103 copy rega ,contru 
-0x3ad9 012104 ifetch 1 ,contru 
-0x3ada 012105 beq pairing_pincode ,module_hci_pairing_pincode_mode 
-0x3adb 012106 beq pairing_justwork ,module_hci_pairing_just_work_mode 
-0x3adc 012107 beq pairing_passkey ,module_hci_pairing_passkey 
-0x3add 012108 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
-0x3ade 012109 branch module_hci_event_receive_invalid_cmd 
-:      012110 module_hci_pairing_pincode_mode:
-0x3adf 012111 call ssp_disable 
-0x3ae0 012112 jam 0 ,mem_ssp_enable 
-0x3ae1 012113 branch module_hci_event_receive_valid_cmd 
-:      012114 module_hci_pairing_just_work_mode:
-0x3ae2 012115 setarg ssp_mode_just_work_io_cap_data 
-:      012116 module_hci_sspairing_mode:
-0x3ae3 012117 store 3 ,mem_sp_iocap_local 
-0x3ae4 012118 store 1 ,mem_ssp_mode_flag 
-0x3ae5 012119 call ssp_enable 
-0x3ae6 012120 jam 1 ,mem_ssp_enable 
-0x3ae7 012121 branch module_hci_event_receive_valid_cmd 
-:      012122 module_hci_pairing_passkey:
-0x3ae8 012123 setarg ssp_mode_passkey_io_cap_data 
-0x3ae9 012124 branch module_hci_sspairing_mode 
-:      012126 module_hci_pairing_numeric_comparison:
-0x3aea 012127 setarg ssp_mode_ssp_pin_io_cap_data 
-0x3aeb 012128 branch module_hci_sspairing_mode 
-:      012131 module_hci_cmd_set_pincode:
-0x3aec 012132 fetch 1 ,mem_module_uart_len 
-0x3aed 012133 sub pdata ,16 ,null 
-0x3aee 012134 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3aef 012135 store 1 ,mem_pin_length 
-0x3af0 012136 copy pdata ,loopcnt 
-0x3af1 012137 arg mem_pin ,contw 
-0x3af2 012138 call uart_copy_rx_bytes 
-0x3af3 012139 branch module_hci_event_receive_valid_cmd 
-:      012143 module_hci_cmd_set_uart_control_mode:
-0x3af4 012144 copy rega ,contru 
-0x3af5 012145 ifetch 1 ,contru 
-0x3af6 012146 hfetcht 1 ,core_uart_ctrl 
-0x3af7 012147 nsetflag blank ,4 ,temp 
-0x3af8 012148 hstoret 1 ,core_uart_ctrl 
-0x3af9 012149 branch module_hci_event_receive_valid_cmd 
-:      012153 module_hci_cmd_set_uart_baud:
-0x3afa 012154 fetch 1 ,mem_module_uart_len 
-0x3afb 012155 copy pdata ,loopcnt 
-0x3afc 012156 copy rega ,contru 
-0x3afd 012157 call string2dec_from_uart 
-0x3afe 012158 setarg uart_clk_24 
-0x3aff 012159 idiv temp 
-0x3b00 012160 call wait_div_end 
-0x3b01 012161 quotient pdata 
-:      012162 module_hci_cmd_set_uart_baud_ok:
-0x3b02 012163 store uart_baud_len ,mem_baud 
-0x3b03 012164 call module_hci_event_receive_valid_cmd 
-0x3b04 012165 call wait_uarttx 
-0x3b05 012166 branch uart_set_baud_by_mem 
-:      012170 module_hci_cmd_version_request:
-0x3b06 012171 arg 2 ,rega 
-0x3b07 012172 arg mem_soft_version_num ,regb 
-0x3b08 012173 arg 0 ,temp 
-0x3b09 012174 branch module_hci_event_set_cmd 
-:      012175 module_hci_event_set_cmd_send_response:
-0x3b0a 012176 store 2 ,mem_event_cmd_response_content 
-0x3b0b 012177 arg mem_event_cmd_response_content ,regb 
-0x3b0c 012178 arg 0 ,temp 
-0x3b0d 012179 branch module_hci_event_set_cmd 
-:      012183 module_hci_cmd_bt_disconnect:
-0x3b0e 012184 fetch 2 ,mem_ui_state_map 
-0x3b0f 012185 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
-:      012186 module_hci_cmd_bt_disconnect_doing:
-0x3b10 012187 call module_hci_event_receive_valid_cmd 
-0x3b11 012188 branch app_bt_disconnect 
-:      012192 module_hci_cmd_ble_disconnect:
-0x3b12 012193 fetch 2 ,mem_ui_state_map 
-0x3b13 012194 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
-:      012195 module_hci_cmd_ble_disconnect_doing:
-0x3b14 012196 call module_hci_event_receive_valid_cmd 
-0x3b15 012197 branch app_ble_disconnect 
-:      012203 module_hci_cmd_set_nvram:
-0x3b16 012204 fetch 1 ,mem_module_uart_len 
-0x3b17 012205 copy pdata ,loopcnt 
-0x3b18 012206 copy rega ,contru 
-0x3b19 012207 fetch 2 ,mem_nv_data_ptr 
-0x3b1a 012208 icopy contw 
-0x3b1b 012209 call uart_copy_rx_bytes_fast 
-0x3b1c 012210 branch module_hci_event_receive_valid_cmd 
-:      012214 module_hci_cmd_confirm_gkey:
-0x3b1d 012215 fetch 1 ,mem_ui_state_map 
-0x3b1e 012216 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
-0x3b1f 012217 ifetch 1 ,contru 
-0x3b20 012218 fetcht 1 ,mem_flag_mode_ssp_pin 
-0x3b21 012219 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
-0x3b22 012220 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
-0x3b23 012221 storet 1 ,mem_flag_mode_ssp_pin 
-0x3b24 012223 call module_hci_event_receive_valid_cmd 
-0x3b25 012225 fetch 1 ,mem_flag_mode_ssp_pin 
-0x3b26 012226 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
-0x3b27 012227 rtn 
-:      012229 dhkey_not_accept:
-0x3b28 012230 jam 0 ,mem_flag_mode_ssp_pin 
-0x3b29 012231 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
-0x3b2a 012232 branch ui_ipc_send_cmd 
-:      012235 module_hci_cmd_spp_number_comparison_result_is1:
-0x3b2b 012236 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
-0x3b2c 012237 branch dhkey_not_accept 
-:      012241 module_hci_cmd_set_credit_given:
-0x3b2d 012242 fetch 1 ,mem_ui_state_map 
-0x3b2e 012243 rtnbit0 ui_state_bt_spp_conn 
-0x3b2f 012244 fetch 1 ,mem_credit_flag 
-0x3b30 012245 rtneq credit_disable 
-0x3b31 012246 ifetch 1 ,contru 
-0x3b32 012247 fetcht 1 ,mem_credit_given 
-0x3b33 012248 iadd temp ,temp 
-0x3b34 012249 storet 1 ,mem_credit_given 
-0x3b35 012250 rtn 
-:      012254 module_hci_cmd_auto_adv:
-0x3b36 012255 arg 0x40 ,loopcnt 
-0x3b37 012256 arg mem_le_adv_data_len ,contw 
-0x3b38 012257 call clear_mem 
-0x3b39 012258 setarg 0 
-0x3b3a 012259 store 1 ,mem_regb 
-0x3b3b 012260 copy rega ,contru 
-:      012261 module_hci_cmd_auto_adv_loop:
-0x3b3c 012262 copy contru ,pdata 
-0x3b3d 012263 store 2 ,mem_regc 
-0x3b3e 012264 call module_hci_cmd_auto_adv_adv_analys 
-0x3b3f 012266 fetch 1 ,mem_regb 
-0x3b40 012267 fetcht 1 ,mem_temp 
-0x3b41 012268 increase 1 ,temp 
-0x3b42 012269 iadd temp ,pdata 
-0x3b43 012270 store 1 ,mem_regb 
-0x3b44 012272 sub pdata ,31 ,null 
-0x3b45 012273 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
-:      012274 module_hci_cmd_auto_adv_store_adv:
-0x3b46 012275 fetcht 1 ,mem_le_adv_data_len 
-0x3b47 012276 setarg mem_le_adv_data 
-0x3b48 012277 iadd temp ,pdata 
-0x3b49 012278 store 2 ,mem_contw 
-0x3b4a 012279 fetcht 1 ,mem_temp 
-0x3b4b 012280 increase 1 ,temp 
-0x3b4c 012281 fetch 1 ,mem_le_adv_data_len 
-0x3b4d 012282 iadd temp ,pdata 
-0x3b4e 012283 store 1 ,mem_le_adv_data_len 
-0x3b4f 012284 branch module_hci_cmd_auto_adv_store_common 
-:      012285 module_hci_cmd_auto_adv_store_scan:
-0x3b50 012286 fetcht 1 ,mem_le_scan_data_len 
-0x3b51 012287 setarg mem_le_scan_data 
-0x3b52 012288 iadd temp ,pdata 
-0x3b53 012289 store 2 ,mem_contw 
-0x3b54 012290 fetcht 1 ,mem_temp 
-0x3b55 012291 increase 1 ,temp 
-0x3b56 012292 fetch 1 ,mem_le_scan_data_len 
-0x3b57 012293 iadd temp ,pdata 
-0x3b58 012294 store 1 ,mem_le_scan_data_len 
-:      012295 module_hci_cmd_auto_adv_store_common:
-0x3b59 012296 fetch 2 ,mem_contw 
-0x3b5a 012297 copy pdata ,contw 
-0x3b5b 012298 fetch 2 ,mem_regc 
-0x3b5c 012299 copy pdata ,contru 
-0x3b5d 012301 copy temp ,loopcnt 
-0x3b5e 012302 call uart_copy_rx_bytes_fast 
-0x3b5f 012304 fetch 1 ,mem_module_uart_len 
-0x3b60 012305 fetcht 1 ,mem_regb 
-0x3b61 012306 isub temp ,null 
-0x3b62 012307 nbranch module_hci_cmd_auto_adv_loop ,zero 
-0x3b63 012308 branch module_hci_event_receive_valid_cmd 
-:      012311 module_hci_cmd_auto_adv_adv_analys:
-0x3b64 012312 ifetch 1 ,contru 
-0x3b65 012313 store 1 ,mem_temp 
-0x3b66 012314 ifetch 1 ,contru 
-0x3b67 012315 store 1 ,mem_rega 
-0x3b68 012316 rtn 
-:      012320 module_hci_cmd_power_request:
-0x3b69 012321 arg 0 ,temp 
-0x3b6a 012322 arg 2 ,rega 
-0x3b6b 012323 fetch 2 ,mem_module_vdd_quotient 
-0x3b6c 012324 store 2 ,mem_event_cmd_response_content 
-0x3b6d 012325 arg mem_event_cmd_response_content ,regb 
-0x3b6e 012326 branch module_hci_event_set_cmd 
-:      012330 module_hci_cmd_power_set:
-0x3b6f 012331 fetch 1 ,mem_module_uart_len 
-0x3b70 012332 bne 1 ,module_hci_event_receive_invalid_cmd 
-0x3b71 012333 ifetch 1 ,contru 
-0x3b72 012334 store 1 ,mem_module_read_vdd_flag 
-0x3b73 012335 setarg 0x00 
-0x3b74 012336 store 2 ,mem_module_vdd_quotient 
-0x3b75 012337 branch module_hci_event_receive_valid_cmd 
-:      012341 module_hci_cmd_passkey_entry:
-0x3b76 012342 ifetch 4 ,contru 
-0x3b77 012343 store 4 ,mem_pin 
-0x3b78 012344 jam 4 ,mem_pin_length 
-0x3b79 012345 jam 0 ,mem_authentication_passkey_times 
-0x3b7a 012346 call module_hci_event_receive_valid_cmd 
-0x3b7b 012347 branch authentication_passkey 
-:      012351 module_hci_cmd_set_gpio:
-0x3b7c 012352 fetch 1 ,mem_module_uart_len 
-0x3b7d 012353 bne 3 ,module_hci_event_receive_invalid_cmd 
-0x3b7e 012354 ifetch 1 ,contru 
-0x3b7f 012355 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
-0x3b80 012356 beq hci_cmd_config_gpio_output ,module_set_gpio_output 
-0x3b81 012357 branch module_hci_event_receive_invalid_cmd 
-:      012359 module_set_gpio_input:
-0x3b82 012360 ifetcht 1 ,contru 
-0x3b83 012361 ifetch 1 ,contru 
-0x3b84 012362 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
-0x3b85 012363 nsetflag blank ,7 ,temp 
-0x3b86 012364 call gpio_config_input 
-0x3b87 012365 branch module_hci_event_receive_valid_cmd 
-:      012367 module_set_gpio_high_impedance:
-0x3b88 012368 call gpio_set_high_impedance 
-0x3b89 012369 branch module_hci_event_receive_valid_cmd 
-:      012371 module_set_gpio_output:
-0x3b8a 012372 ifetcht 1 ,contru 
-0x3b8b 012373 call gpio_config_output0 
-0x3b8c 012374 ifetch 1 ,contru 
-0x3b8d 012375 isolate1 0 ,pdata 
-0x3b8e 012376 call gpio_out_flag 
-0x3b8f 012377 branch module_hci_event_receive_valid_cmd 
-:      012381 module_hci_cmd_read_gpio:
-0x3b90 012382 fetch 1 ,mem_module_uart_len 
-0x3b91 012383 bne 1 ,module_hci_event_receive_invalid_cmd 
-0x3b92 012384 ifetcht 1 ,contru 
-0x3b93 012385 call gpio_get_bit 
-0x3b94 012386 setarg 0x0 
-0x3b95 012387 nsetflag true ,0 ,pdata 
-0x3b96 012388 arg 1 ,rega 
-0x3b97 012389 branch module_hci_event_set_cmd_send_response 
-:      012393 module_hci_cmd_le_set_pairing_mode:
-0x3b98 012394 copy rega ,contru 
-0x3b99 012395 ifetch 1 ,contru 
-0x3b9a 012396 copy pdata ,temp 
-0x3b9b 012397 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
-0x3b9c 012398 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
-0x3b9d 012399 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
-0x3b9e 012400 store 1 ,mem_le_pairing_mode 
-0x3b9f 012401 beq le_pairing_mode_none ,module_le_set_no_pairing 
-0x3ba0 012402 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
-0x3ba1 012403 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
-0x3ba2 012404 branch module_hci_event_receive_invalid_cmd 
-:      012406 module_le_set_pairing_mode_secure_justwork:
-0x3ba3 012407 fetch 1 ,mem_le_secure_connect_enable 
-0x3ba4 012408 branch module_hci_event_receive_invalid_cmd ,blank 
-0x3ba5 012409 storet 1 ,mem_le_pairing_mode 
-0x3ba6 012410 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x3ba7 012411 branch module_le_set_noinputnooutput 
-:      012412 module_le_set_pairing_mode_secure_numeric:
-0x3ba8 012413 fetch 1 ,mem_le_secure_connect_enable 
-0x3ba9 012414 branch module_hci_event_receive_invalid_cmd ,blank 
-0x3baa 012415 storet 1 ,mem_le_pairing_mode 
-0x3bab 012416 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x3bac 012417 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
-0x3bad 012418 branch module_hci_event_receive_valid_cmd 
-:      012419 module_le_set_pairing_mode_secure_passkey:
-0x3bae 012420 fetch 1 ,mem_le_secure_connect_enable 
-0x3baf 012421 branch module_hci_event_receive_invalid_cmd ,blank 
-0x3bb0 012422 storet 1 ,mem_le_pairing_mode 
-0x3bb1 012423 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x3bb2 012424 branch module_le_set_displayonly 
-:      012425 module_le_set_no_pairing:
-0x3bb3 012426 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
-:      012427 module_le_set_noinputnooutput:
-0x3bb4 012428 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
-0x3bb5 012429 branch module_hci_event_receive_valid_cmd 
-:      012430 module_le_set_pairing_mode_lagacy_just_work:
-0x3bb6 012431 jam flag_le_bonding_mitm ,mem_le_pres_auth 
-0x3bb7 012432 branch module_le_set_noinputnooutput 
-:      012433 module_le_set_pairing_mode_lagacy_passkey:
-0x3bb8 012434 jam flag_le_bonding_mitm ,mem_le_pres_auth 
-:      012435 module_le_set_displayonly:
-0x3bb9 012436 jam flag_iocap_displayonly ,mem_le_pres_iocap 
-0x3bba 012437 branch module_hci_event_receive_valid_cmd 
-:      012441 module_hci_cmd_le_set_adv_data:
-0x3bbb 012442 fetch 1 ,mem_module_uart_len 
-0x3bbc 012443 sub pdata ,31 ,null 
-0x3bbd 012444 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3bbe 012445 store 1 ,mem_le_adv_data_len 
-0x3bbf 012446 copy pdata ,loopcnt 
-0x3bc0 012447 copy rega ,contru 
-0x3bc1 012448 arg mem_le_adv_data ,contw 
-0x3bc2 012449 call uart_copy_rx_bytes_fast 
-0x3bc3 012450 branch module_hci_event_receive_valid_cmd 
-:      012454 module_hci_cmd_le_set_scan_data:
-0x3bc4 012455 fetch 1 ,mem_module_uart_len 
-0x3bc5 012456 sub pdata ,31 ,null 
-0x3bc6 012457 nbranch module_hci_event_receive_invalid_cmd ,positive 
-0x3bc7 012458 store 1 ,mem_le_scan_data_len 
-0x3bc8 012459 copy pdata ,loopcnt 
-0x3bc9 012460 copy rega ,contru 
-0x3bca 012461 arg mem_le_scan_data ,contw 
-0x3bcb 012462 call uart_copy_rx_bytes_fast 
-0x3bcc 012463 branch module_hci_event_receive_valid_cmd 
-:      012467 module_hci_cmd_le_send_conn_update_req:
-0x3bcd 012468 fetch 2 ,mem_ui_state_map 
-0x3bce 012469 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
-0x3bcf 012470 fetch 1 ,mem_module_uart_len 
-0x3bd0 012471 bne 0x08 ,module_hci_event_receive_invalid_cmd 
-0x3bd1 012472 copy rega ,contru 
-0x3bd2 012473 ifetch 8 ,contru 
-0x3bd3 012474 store 8 ,mem_le_interval_min 
-0x3bd4 012475 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-0x3bd5 012476 call ui_ipc_send_cmd 
-0x3bd6 012477 branch module_hci_event_receive_valid_cmd 
-:      012481 module_hci_cmd_set_le_adv_parameter:
-0x3bd7 012482 ifetch 2 ,contru 
-0x3bd8 012483 store 2 ,mem_le_adv_interval 
-0x3bd9 012484 branch module_hci_event_receive_valid_cmd 
-:      012488 module_hci_cmd_le_start_pairing:
-0x3bda 012489 fetch 1 ,mem_le_pairing_mode 
-0x3bdb 012490 branch module_hci_event_receive_invalid_cmd ,blank 
-0x3bdc 012491 fetch 1 ,mem_le_pairing_state 
-0x3bdd 012492 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
-0x3bde 012493 fetch 1 ,mem_le_enc_state 
-0x3bdf 012494 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
-0x3be0 012495 call check_51cmd_le_smp_sec_req 
-0x3be1 012496 branch module_hci_event_receive_valid_cmd 
-:      012500 module_hci_cmd_set_wake_gpio:
-0x3be2 012501 fetch 1 ,mem_module_uart_len 
-0x3be3 012502 bne 5 ,module_hci_event_receive_invalid_cmd 
-0x3be4 012503 ifetch 1 ,contru 
-0x3be5 012504 store 1 ,mem_module_mcu_wake_pin 
-0x3be6 012505 ifetch 4 ,contru 
-0x3be7 012506 store 4 ,mem_module_mcu_wake_delay_us 
-0x3be8 012507 fetcht 1 ,mem_module_mcu_wake_pin 
-0x3be9 012508 call gpio_config_output 
-0x3bea 012509 call module_set_mcu_wake_pin_low 
-0x3beb 012510 branch module_hci_event_receive_valid_cmd 
-:      012514 module_hci_cmd_set_tx_power:
-0x3bec 012515 fetch 1 ,mem_module_uart_len 
-0x3bed 012516 bne 0x01 ,module_hci_event_receive_invalid_cmd 
-0x3bee 012517 ifetch 1 ,contru 
-0x3bef 012518 store 1 ,mem_tx_power 
-0x3bf0 012519 branch module_hci_event_receive_valid_cmd 
-:      012523 module_hci_cmd_le_confirm_gkey:
-0x3bf1 012524 ifetch 1 ,contru 
-0x3bf2 012525 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
-0x3bf3 012526 fetch 1 ,mem_le_secure_connect_state 
-0x3bf4 012527 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
-0x3bf5 012528 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
-0x3bf6 012529 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
-0x3bf7 012530 branch module_hci_event_receive_invalid_cmd 
-:      012531 module_hci_cmd_le_confirm_gkey_ok:
-0x3bf8 012532 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
-0x3bf9 012533 branch module_hci_event_receive_valid_cmd 
-:      012535 module_hci_cmd_le_confirm_gkey_fail:
-0x3bfa 012536 call le_send_pairing_confirm_value_failed 
-0x3bfb 012537 branch module_hci_event_receive_valid_cmd 
-:      012541 module_hci_cmd_set_reject_justwork_flag:
-0x3bfc 012542 fetch 1 ,mem_module_uart_len 
-0x3bfd 012543 bne 0x01 ,module_hci_event_receive_invalid_cmd 
-0x3bfe 012544 call module_hci_event_receive_valid_cmd 
-0x3bff 012545 ifetch 1 ,contru 
-0x3c00 012546 branch classic_bt_clr_reject_justwork_flag ,blank 
-0x3c01 012547 branch classic_bt_set_reject_justwork_flag 
-:      012551 module_hci_cmd_reset_chip:
-0x3c02 012552 call module_hci_event_receive_valid_cmd 
-0x3c03 012553 call wait_uarttx 
-0x3c04 012554 jam 0x01 ,core_reset 
-0x3c05 012555 branch loop 
-:      012559 module_hci_cmd_le_set_fixed_passkey:
-0x3c06 012560 fetch 1 ,mem_module_uart_len 
-0x3c07 012561 beq 0 ,module_hci_event_receive_invalid_cmd 
-0x3c08 012562 ifetch 1 ,contru 
-0x3c09 012563 branch module_hci_cmd_le_set_random_passkey ,blank 
-0x3c0a 012564 fetch 1 ,mem_module_uart_len 
-0x3c0b 012565 bne 5 ,module_hci_event_receive_invalid_cmd 
-0x3c0c 012566 ifetch 4 ,contru 
-0x3c0d 012567 arg 1000000 ,temp 
-0x3c0e 012568 isub temp ,null 
-0x3c0f 012569 branch module_hci_event_receive_invalid_cmd ,positive 
-0x3c10 012570 store 4 ,mem_le_tk 
-0x3c11 012571 call le_set_config_fixed_tk 
-0x3c12 012572 branch module_hci_event_receive_valid_cmd 
-:      012574 module_hci_cmd_le_set_random_passkey:
-0x3c13 012575 call le_clr_config_fixed_tk 
-0x3c14 012576 branch module_hci_event_receive_valid_cmd 
-:      012580 module_hci_test_cmde_close_lpm:
-0x3c15 012581 jam 0 ,mem_lpm_mode 
-0x3c16 012582 branch module_hci_event_receive_valid_cmd 
-:      012587 module_hci_event_receive_invalid_cmd:
-0x3c17 012588 arg 1 ,temp 
-0x3c18 012589 arg 0 ,rega 
-0x3c19 012590 branch module_hci_event_set_cmd 
-:      012593 module_hci_event_receive_valid_cmd:
-0x3c1a 012594 arg 0 ,temp 
-0x3c1b 012595 arg 0 ,rega 
-0x3c1c 012596 branch module_hci_event_set_cmd 
-:      012600 module_hci_event_spp_connect:
-0x3c1d 012601 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
-0x3c1e 012602 branch module_hci_event_enter_standby_mode_len0 
-:      012606 module_hci_event_le_connect:
-0x3c1f 012607 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
-0x3c20 012608 branch module_hci_event_enter_standby_mode_len0 
-:      012612 module_hci_event_spp_disconnect:
-0x3c21 012613 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
-0x3c22 012614 branch module_hci_event_enter_standby_mode_len0 
-:      012618 module_hci_event_le_disconnect:
-0x3c23 012619 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
-0x3c24 012620 branch module_hci_event_enter_standby_mode_len0 
-:      012628 module_hci_event_set_cmd:
-0x3c25 012629 fetch 1 ,mem_module_uart_opcode 
-0x3c26 012630 copy pdata ,regc 
-0x3c27 012631 jam hci_event_cmd_res ,mem_module_uart_opcode 
-0x3c28 012632 setarg 2 
-0x3c29 012633 iadd rega ,pdata 
-0x3c2a 012634 call module_hci_prepare_tx 
-0x3c2b 012635 copy regc ,pdata 
-0x3c2c 012636 istore 1 ,contwu 
-0x3c2d 012637 istoret 1 ,contwu 
-0x3c2e 012638 copy rega ,loopcnt 
-0x3c2f 012639 copy regb ,contr 
-0x3c30 012640 call uart_copy_tx_bytes 
-0x3c31 012641 branch uartd_send 
-:      012645 module_hci_event_receive_spp_data:
-0x3c32 012647 call module_spp_clear_last_transmite_clock 
-0x3c33 012648 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
-0x3c34 012649 fetch 1 ,mem_current_length 
-0x3c35 012650 rtn blank 
-0x3c36 012651 call module_hci_prepare_tx 
-0x3c37 012652 fetch 1 ,mem_current_length 
-0x3c38 012653 copy pdata ,loopcnt 
-0x3c39 012654 fetch 2 ,mem_rfcomm_uih_payload_ptr 
-0x3c3a 012655 copy pdata ,contr 
-0x3c3b 012656 call uart_copy_tx_bytes_fast 
-0x3c3c 012657 branch uartd_send 
-:      012661 module_hci_event_receive_le_data:
-0x3c3d 012662 jam hci_event_le_data_rep ,mem_module_uart_opcode 
-0x3c3e 012663 fetch 1 ,mem_module_le_rx_data_len 
-0x3c3f 012664 icopy loopcnt 
-0x3c40 012665 increase 2 ,pdata 
-0x3c41 012666 call module_hci_prepare_tx 
-0x3c42 012667 fetch 2 ,mem_module_le_rx_data_handle 
-0x3c43 012668 istore 2 ,contwu 
-0x3c44 012669 fetch 2 ,mem_module_le_rx_data_address 
-0x3c45 012670 icopy contr 
-0x3c46 012671 call uart_copy_tx_bytes_fast 
-0x3c47 012672 branch uartd_send 
-:      012676 module_hci_event_enter_standby_mode:
-0x3c48 012677 jam hci_event_standby_rep ,mem_module_uart_opcode 
-:      012678 module_hci_event_enter_standby_mode_len0:
-0x3c49 012679 setarg 0 
-0x3c4a 012680 call module_hci_prepare_tx 
-0x3c4b 012681 branch uartd_send 
-:      012685 module_hci_event_status_res:
-0x3c4c 012686 jam hci_event_status_res ,mem_module_uart_opcode 
-0x3c4d 012687 setarg 1 
-0x3c4e 012688 call module_hci_prepare_tx 
-0x3c4f 012690 call module_hci_read_bt_status 
-0x3c50 012692 fetch 2 ,mem_ui_state_map 
-0x3c51 012693 arg ui_state_bt_hid_conn ,queue 
-0x3c52 012694 qisolate1 pdata 
-0x3c53 012695 setflag true ,3 ,temp 
-0x3c54 012697 arg ui_state_ble_connected ,queue 
-0x3c55 012698 qisolate1 pdata 
-0x3c56 012699 setflag true ,5 ,temp 
-0x3c57 012701 fetch 1 ,mem_ui_state_map 
-0x3c58 012702 arg ui_state_bt_spp_conn ,queue 
-0x3c59 012703 qisolate1 pdata 
-0x3c5a 012704 setflag true ,4 ,temp 
-0x3c5b 012706 istoret 1 ,contwu 
-0x3c5c 012707 branch uartd_send 
-:      012711 module_hci_read_bt_status:
-0x3c5d 012712 arg 0 ,temp 
-0x3c5e 012713 fetch 1 ,mem_scan_mode 
-0x3c5f 012714 arg inq_scan_mode ,queue 
-0x3c60 012715 qisolate1 pdata 
-0x3c61 012716 setflag true ,0 ,temp 
-0x3c62 012717 arg page_scan_mode ,queue 
-0x3c63 012718 qisolate1 pdata 
-0x3c64 012719 setflag true ,1 ,temp 
-0x3c65 012721 fetch 1 ,mem_le_adv_enable 
-0x3c66 012722 arg 0 ,queue 
-0x3c67 012723 qisolate1 pdata 
-0x3c68 012724 setflag true ,2 ,temp 
-0x3c69 012725 rtn 
-:      012729 module_hci_event_store_device:
-0x3c6a 012730 jam hci_event_nvram_rep ,mem_module_uart_opcode 
-0x3c6b 012731 fetch 1 ,mem_nv_data_number 
-0x3c6c 012732 mul32 pdata ,34 ,pdata 
-0x3c6d 012733 icopy loopcnt 
-0x3c6e 012734 call module_hci_prepare_tx 
-0x3c6f 012735 fetch 2 ,mem_nv_data_ptr 
-0x3c70 012736 icopy contr 
-0x3c71 012737 call uart_copy_tx_bytes_fast 
-0x3c72 012738 branch uartd_send 
-:      012742 module_hci_event_gkey_generate:
-0x3c73 012743 jam hci_event_gkey ,mem_module_uart_opcode 
-0x3c74 012744 setarg 4 
-0x3c75 012745 call module_hci_prepare_tx 
-0x3c76 012746 fetch 4 ,mem_gkey 
-0x3c77 012747 istore 4 ,contwu 
-0x3c78 012748 branch uartd_send 
-:      012752 module_hci_event_invalid_packet:
-0x3c79 012753 jam hci_event_invalid_packet ,mem_module_uart_opcode 
-0x3c7a 012754 hfetch 2 ,core_uart_rxitems 
-0x3c7b 012755 arg 0xff ,temp 
-0x3c7c 012756 call not_greater_than 
-0x3c7d 012757 copy pdata ,loopcnt 
-0x3c7e 012758 call module_hci_prepare_tx 
-0x3c7f 012759 call uartd_prepare_rx 
-0x3c80 012760 call uart_copy_rx2tx 
-0x3c81 012761 branch uartd_send 
-:      012765 module_hci_event_passkey_entry_mode:
-0x3c82 012766 jam hci_event_get_passkey ,mem_module_uart_opcode 
-0x3c83 012767 branch module_hci_event_enter_standby_mode_len0 
-:      012771 module_hci_event_le_tk:
-0x3c84 012772 jam hci_event_le_tk ,mem_module_uart_opcode 
-0x3c85 012773 setarg 4 
-0x3c86 012774 call module_hci_prepare_tx 
-0x3c87 012775 fetch 4 ,mem_le_tk 
-0x3c88 012776 istore 4 ,contwu 
-0x3c89 012777 branch uartd_send 
-:      012781 module_hci_event_le_pairing_fail:
-0x3c8a 012782 arg flag_ble_pairing_fail ,rega 
-0x3c8b 012783 branch module_hci_event_pairing_completed 
-:      012785 module_hci_event_le_pairing_success:
-0x3c8c 012786 arg flag_ble_pairing_success ,rega 
-0x3c8d 012787 branch module_hci_event_pairing_completed 
-:      012789 module_hci_event_bt_pairing_fail:
-0x3c8e 012790 arg flag_bt_pairing_fail ,rega 
-0x3c8f 012791 branch module_hci_event_pairing_completed 
-:      012793 module_hci_event_bt_pairing_success:
-0x3c90 012794 arg flag_bt_pairing_success ,rega 
-:      012796 module_hci_event_pairing_completed:
-0x3c91 012797 jam 0 ,mem_flag_mode_ssp_pin 
-0x3c92 012798 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
-0x3c93 012799 setarg 2 
-0x3c94 012800 call module_hci_prepare_tx 
-0x3c95 012801 copy rega ,pdata 
-0x3c96 012802 istore 2 ,contwu 
-0x3c97 012803 branch uartd_send 
-:      012807 module_hci_event_pause_enc:
-0x3c98 012808 arg flag_event_pause_enc ,regc 
-0x3c99 012809 branch module_hci_event_enc 
-:      012811 module_hci_event_start_enc:
-0x3c9a 012812 arg flag_event_start_enc ,regc 
-:      012814 module_hci_event_enc:
-0x3c9b 012815 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
-0x3c9c 012816 setarg 1 
-0x3c9d 012817 call module_hci_prepare_tx 
-0x3c9e 012818 copy regc ,pdata 
-0x3c9f 012819 istore 1 ,contwu 
-0x3ca0 012820 branch uartd_send 
-:      012824 module_hci_event_le_gkey:
-0x3ca1 012825 jam hci_event_le_gkey ,mem_module_uart_opcode 
-0x3ca2 012826 setarg 4 
-0x3ca3 012827 call module_hci_prepare_tx 
-0x3ca4 012828 fetch 4 ,mem_gkey 
-0x3ca5 012829 istore 4 ,contwu 
-0x3ca6 012830 branch uartd_send 
-:      012841 module_hci_prepare_tx:
-0x3ca7 012842 jam 0x02 ,mem_module_uart_cmd 
-0x3ca8 012843 store 1 ,mem_module_uart_len 
-0x3ca9 012844 storet 8 ,mem_temp 
-0x3caa 012845 bpatch patch1c_2 ,mem_patch1c 
-0x3cab 012846 call module_set_mcu_wake_pin_high_delay 
-0x3cac 012847 fetcht 8 ,mem_temp 
-0x3cad 012848 call uartd_prepare_tx 
-0x3cae 012849 fetch 3 ,mem_module_uart_cmd 
-0x3caf 012850 istore 3 ,contwu 
-0x3cb0 012851 rtn 
-:      012854 module_set_mcu_wake_pin_high_delay:
-0x3cb1 012855 call module_check_mcu_wake_pin_high 
-0x3cb2 012856 rtn true 
-:      012857 module_set_mcu_wake_pin_h_delay:
-0x3cb3 012858 call module_set_mcu_wake_pin_high 
-0x3cb4 012859 fetch 4 ,mem_module_mcu_wake_delay_us 
-0x3cb5 012860 rshift2 pdata ,pdata 
-0x3cb6 012861 rtn blank 
-0x3cb7 012862 branch delay 
-:      012864 module_set_mcu_wake_pin_high:
-0x3cb8 012866 fetcht 1 ,mem_module_mcu_wake_pin 
-0x3cb9 012867 branch gpio_out_active 
-:      012869 module_check_mcu_wake_pin_high:
-0x3cba 012870 fetcht 1 ,mem_module_mcu_wake_pin 
-0x3cbb 012871 branch gpio_check_active 
-:      012873 module_set_mcu_wake_pin_low:
-0x3cbc 012874 fetcht 1 ,mem_module_mcu_wake_pin 
-0x3cbd 012875 branch gpio_out_inactive 
-:      012878 delay:
-0x3cbe 012879 increase -1 ,pdata 
-0x3cbf 012880 nop 38 
-0x3cc0 012881 nbranch delay ,blank 
-0x3cc1 012882 rtn 
-:      012891 module_le_receive_data:
-0x3cc2 012892 call module_check_ble_encrypt_state 
-0x3cc3 012893 rtn user 
-0x3cc4 012894 copy rega ,pdata 
-0x3cc5 012895 store 2 ,mem_module_le_rx_data_address 
-0x3cc6 012896 copy regb ,pdata 
-0x3cc7 012897 store 1 ,mem_module_le_rx_data_len 
-0x3cc8 012898 fetch 2 ,mem_le_att_handle 
-0x3cc9 012899 fetcht 2 ,mem_module_data_write_handle 
-0x3cca 012900 isub temp ,null 
-0x3ccb 012901 branch module_le_receive_data_ok ,zero 
-0x3ccc 012902 fetcht 2 ,mem_module_data_write_handle2 
-0x3ccd 012903 isub temp ,null 
-0x3cce 012904 nrtn zero 
-:      012905 module_le_receive_data_ok:
-0x3ccf 012906 store 2 ,mem_module_le_rx_data_handle 
-0x3cd0 012907 branch module_hci_event_receive_le_data 
-:      012912 module_exit_sniff:
-0x3cd1 012913 fetch 1 ,mem_module_flag 
-0x3cd2 012914 rtnbit1 moudle_task_unsniff 
-0x3cd3 012915 call module_set_unsniff_task_flag 
-0x3cd4 012916 branch app_bt_sniff_exit 
-:      012919 module_set_lpm_mult_2:
-0x3cd5 012920 jam 2 ,mem_lpm_mult 
-0x3cd6 012921 rtn 
-:      012925 module_bb_event_timer:
-0x3cd7 012926 branch module_read_vdd_timer 
-:      012928 module_read_vdd_timer:
-0x3cd8 012929 fetch 1 ,mem_module_read_vdd_flag 
-0x3cd9 012930 rtn blank 
-0x3cda 012931 fetch 1 ,mem_module_read_vdd_count 
-0x3cdb 012932 rtn blank 
-0x3cdc 012933 increase -1 ,pdata 
-0x3cdd 012934 store 1 ,mem_module_read_vdd_count 
-0x3cde 012935 nrtn blank 
-0x3cdf 012936 jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
-0x3ce0 012937 call adc_set_mode 
-0x3ce1 012938 call vdd_calculate_by_mode 
-0x3ce2 012939 div pdata ,0x64 
-0x3ce3 012940 call wait_div_end 
-0x3ce4 012941 quotient pdata 
-0x3ce5 012942 remainder temp 
-0x3ce6 012943 store 1 ,mem_module_vdd_quotient 
-0x3ce7 012944 storet 1 ,mem_module_vdd_remainder 
-0x3ce8 012945 rtn 
-:      012948 module_control_air_flow:
-0x3ce9 012949 call check_uart_tx_buff 
-0x3cea 012950 branch app_l2cap_flow_control_enable ,positive 
-0x3ceb 012951 branch app_l2cap_flow_control_disable 
-:      012955 module_set_sniff_task_flag:
-0x3cec 012956 arg moudle_task_sniff ,queue 
-0x3ced 012957 branch module_set_state 
-:      012959 module_clear_sniff_task_flag:
-0x3cee 012960 arg moudle_task_sniff ,queue 
-0x3cef 012961 branch module_clr_state 
-:      012963 module_set_unsniff_task_flag:
-0x3cf0 012964 arg moudle_task_unsniff ,queue 
-0x3cf1 012965 branch module_set_state 
-:      012967 module_clear_unsniff_task_flag:
-0x3cf2 012968 arg moudle_task_unsniff ,queue 
-0x3cf3 012969 branch module_clr_state 
-:      012971 module_set_le_tx_data_flag:
-0x3cf4 012972 arg module_flag_ble_data_finish ,queue 
-0x3cf5 012973 branch module_set_state 
-:      012975 module_clear_le_tx_data_flag:
-0x3cf6 012976 arg module_flag_ble_data_finish ,queue 
-0x3cf7 012977 branch module_clr_state 
-:      012979 module_clr_state:
-0x3cf8 012980 fetch 1 ,mem_module_flag 
-0x3cf9 012981 qset0 pdata 
-0x3cfa 012982 store 1 ,mem_module_flag 
-0x3cfb 012983 rtn 
-:      012985 module_set_state:
-0x3cfc 012986 fetch 1 ,mem_module_flag 
-0x3cfd 012987 qset1 pdata 
-0x3cfe 012988 store 1 ,mem_module_flag 
-0x3cff 012989 rtn 
-:      012999 mouse_init:
-0x3d00 013000 call mouse_setting_config 
-0x3d01 013001 call spi_ncs_enable 
-0x3d02 013002 call mouse_init_sunt 
-0x3d03 013003 call mouse_dpi_config 
-0x3d04 013004 call spi_ncs_disable 
-0x3d05 013005 rtn wake 
-0x3d06 013006 call mouse_cheak_enable_usb 
-0x3d07 013007 call mouse_cb_fuction 
-0x3d08 013010 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d09 013011 rtnbit1 mouse_enable_usb 
-0x3d0a 013012 call mouse_wakeup_from_power 
-0x3d0b 013013 rtnmark1 mark_24g 
-0x3d0c 013014 fetch 2 ,mem_ui_state_map 
-0x3d0d 013015 bbit1 ui_state_btn_down ,mouse_start_discovery 
-0x3d0e 013016 branch mouse_check_reconn_target 
-:      013019 mouse_delay_4s:
-0x3d0f 013020 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d10 013021 rtnbit0 mouse_enable_init_delay 
-0x3d11 013022 arg 20 ,loopcnt 
-:      013023 mouse_delay_20ms:
-0x3d12 013024 setarg 200000 
-0x3d13 013025 call sleep 
-0x3d14 013026 loop delay_10ms 
-0x3d15 013027 rtn 
-:      013030 mouse_cheak_enable_usb:
-0x3d16 013031 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d17 013032 rtnbit0 mouse_enable_usb 
-0x3d18 013033 branch usb_init 
-:      013036 mouse_cb_fuction:
-0x3d19 013037 setarg mouse_le 
-0x3d1a 013038 store 2 ,mem_cb_le_process 
-0x3d1b 013039 setarg mouse_send_process 
-0x3d1c 013040 store 2 ,mem_cb_bt_process 
-0x3d1d 013041 setarg mouse_process_lpm_before 
-0x3d1e 013042 store 2 ,mem_cb_before_lpm 
-0x3d1f 013043 setarg mouse_priority_bb_event 
-0x3d20 013044 store 2 ,mem_cb_bb_event_process 
-0x3d21 013045 setarg mouse_idle 
-0x3d22 013046 store 2 ,mem_cb_idle_process 
-0x3d23 013047 setarg mouse_before_hibernate 
-0x3d24 013048 store 2 ,mem_cb_before_hibernate 
-0x3d25 013049 setarg le_mouse_bb_event_connect_complete 
-0x3d26 013050 store 2 ,mem_cb_att_write 
-0x3d27 013052 call g24_head_ptr2regc 
-0x3d28 013053 setarg mouse_g24_package_data 
-0x3d29 013054 add regc ,offset_24g_cb_data ,contw 
-0x3d2a 013055 istore 2 ,contw 
-0x3d2b 013056 setarg mouse_g24_enter_lpm 
-0x3d2c 013057 add regc ,offset_24g_cb_lpm_prepare ,contw 
-0x3d2d 013058 istore 2 ,contw 
-0x3d2e 013059 setarg mouse_lpm_before_common 
-0x3d2f 013060 add regc ,offset_24g_cb_lpm_before ,contw 
-0x3d30 013061 istore 2 ,contw 
-0x3d31 013063 setarg mouse_bb_event_timer 
-0x3d32 013064 store 2 ,mem_cb_event_timer 
-0x3d33 013065 setarg mouse_spi_write_flash_cb 
-0x3d34 013066 store 2 ,mem_cb_spi_flash_write_complate 
-0x3d35 013067 rtn 
-:      013068 mouse_spi_write_flash_cb:
-:      013069 mouse_spi_init:
-0x3d36 013070 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d37 013071 bbit0 mouse_enable_spi2 ,spid_init 
-0x3d38 013072 branch spid_init2 
-:      013074 mouse_setting_config:
-0x3d39 013075 rtn wake 
-0x3d3a 013076 call g24_set_device_addr 
-0x3d3b 013077 call mouse_gpio_init 
-0x3d3c 013078 call mouse_param_init 
-0x3d3d 013079 call mouse_adc_init 
-0x3d3e 013080 call le_set_config_fixed_ltk 
-0x3d3f 013081 call le_set_justwork 
-0x3d40 013082 call le_set_fixed_ltk 
-0x3d41 013083 call le_set_config_read_authentication 
-0x3d42 013084 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d43 013085 bbit1 mouse_enable_eeprom ,mouse_init_iic 
-0x3d44 013086 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
-0x3d45 013087 rtn 
-:      013089 mouse_init_iic:
-0x3d46 013090 call iic_init_390k 
-0x3d47 013091 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d48 013092 isolate1 mouse_enable_2k_eeprom ,pdata 
-0x3d49 013093 ncall clear_eeprom_size_2k ,true 
-0x3d4a 013094 call mouse_load_eeprom_dpi 
-0x3d4b 013095 call mouse_init_environment 
-0x3d4c 013096 call mouse_set_24g_addr_eeprom 
-0x3d4d 013097 branch iicd_read_eep_data 
-:      013099 mouse_wakeup_from_power:
-0x3d4e 013100 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d4f 013101 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
-0x3d50 013102 fetch 1 ,mem_wakup_from_power_flag 
-0x3d51 013103 isolate0 gpio_latch ,pdata 
-0x3d52 013104 nrtn true 
-:      013105 mouse_wakeup_no_from_power:
-0x3d53 013106 fetch 1 ,mem_reconn_times_init 
-0x3d54 013107 store 1 ,mem_reconn_times 
-0x3d55 013108 fetch 1 ,mem_config_function_enable 
-0x3d56 013109 rtnbit1 enable_select_device_by_switch 
-:      013110 mouse_start_24g_mode:
-0x3d57 013111 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d58 013112 rtnbit0 mouse_enable_24g 
-0x3d59 013113 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
-0x3d5a 013114 branch g24_check_51cmd_start_24g 
-:      013115 le_mouse_bb_event_connect_complete:
-0x3d5b 013116 fetch 1 ,mem_le_att_handle 
-0x3d5c 013117 sub pdata ,26 ,pdata 
-0x3d5d 013118 nrtn zero 
-0x3d5e 013119 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-0x3d5f 013120 call ui_ipc_send_cmd 
-:      013121 mouse_le_write_enable:
-0x3d60 013122 arg write_req_enable_flag ,queue 
-0x3d61 013123 branch mouse_le_enable_connect_flag 
-:      013125 mouse_dpi_up:
-0x3d62 013126 fetch 1 ,mem_mouse_dpi_button_state 
-0x3d63 013127 rtneq dpi_button_state_up 
-0x3d64 013128 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
-0x3d65 013129 rtn 
-:      013130 mouse_dpi_config:
-0x3d66 013131 fetch 1 ,mem_config_sensor_motion 
-0x3d67 013132 and pdata ,0x0f ,pdata 
-0x3d68 013133 store 1 ,mem_mouse_dpi 
-0x3d69 013134 branch mouse_seting_dpi + 2 
-:      013137 mouse_dpi_cheak:
-0x3d6a 013138 fetcht 1 ,mem_dpi_button_gpio 
-0x3d6b 013139 call gpio_get_bit 
-0x3d6c 013140 nbranch mouse_dpi_up ,true 
-:      013141 mouse_dpi_down:
-0x3d6d 013142 fetch 1 ,mem_mouse_dpi_button_state 
-0x3d6e 013143 rtneq dpi_button_state_down 
-0x3d6f 013144 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-:      013145 mouse_dpi_down_setting:
-0x3d70 013146 fetch 1 ,mem_mouse_dpi 
-0x3d71 013147 increase 1 ,pdata 
-0x3d72 013148 and pdata ,0x03 ,pdata 
-0x3d73 013149 store 1 ,mem_mouse_dpi 
-0x3d74 013150 call mouse_seting_dpi 
-0x3d75 013151 fetch mouse_flag_len ,mem_mouse_flag 
-0x3d76 013152 bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
-0x3d77 013153 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
-0x3d78 013154 rtn 
-:      013155 mouse_before_store_flash_cpi:
-0x3d79 013156 arg mouse_spi2_clk_gpio ,temp 
-0x3d7a 013157 call gpio_config_output 
-0x3d7b 013158 arg mouse_spi2_sdio_gpio ,temp 
-0x3d7c 013159 call gpio_config_output 
-0x3d7d 013160 branch mouse_store_flash_device_info 
-:      013162 mouse_seting_dpi:
-0x3d7e 013163 bpatch patch1c_3 ,mem_patch1c 
-0x3d7f 013164 call mosue_dpi_led_blink_init 
-0x3d80 013165 fetch 1 ,mem_config_sensor_type 
-0x3d81 013166 beq p3610 ,mouse_seting_3610_dpi 
-0x3d82 013167 beq p3212 ,mouse_seting_3212_dpi 
-0x3d83 013168 fetch 1 ,mem_mouse_dpi 
-0x3d84 013169 beq mouse_dpi_level1 ,mouse_set_cpi1 
-0x3d85 013170 beq mouse_dpi_level2 ,mouse_set_cpi2 
-0x3d86 013171 beq mouse_dpi_level3 ,mouse_set_cpi3 
-0x3d87 013172 beq mouse_dpi_level4 ,mouse_set_cpi4 
-:      013173 mouse_set_cpi2:
-0x3d88 013174 fetch 1 ,mem_320x_dpi_2 
-0x3d89 013175 branch mouse_p3205_dpi 
-:      013176 mouse_set_cpi1:
-0x3d8a 013177 fetch 1 ,mem_320x_dpi_1 
-0x3d8b 013178 branch mouse_p3205_dpi 
-:      013179 mouse_set_cpi3:
-0x3d8c 013180 fetch 1 ,mem_320x_dpi_3 
-0x3d8d 013181 branch mouse_p3205_dpi 
-:      013182 mouse_set_cpi4:
-0x3d8e 013183 fetch 1 ,mem_320x_dpi_4 
-0x3d8f 013184 branch mouse_p3205_dpi 
-:      013185 moue_seting_cpi_count:
-0x3d90 013186 fetch 1 ,mem_config_sensor_type 
-0x3d91 013187 rtneq p3065_xy 
-0x3d92 013188 fetch 1 ,mem_mouse_cpi_count 
-0x3d93 013189 increase 1 ,pdata 
-0x3d94 013190 store 1 ,mem_mouse_cpi_count 
-0x3d95 013191 rtn 
-:      013193 mouse_seting_3212_dpi:
-0x3d96 013194 fetch 1 ,mem_mouse_dpi 
-0x3d97 013195 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
-0x3d98 013196 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
-0x3d99 013197 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
-0x3d9a 013198 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
-:      013199 mouse_set_p3212_cpi2:
-0x3d9b 013200 fetch 1 ,mem_3212_dpi_2 
-0x3d9c 013201 branch mouse_p3212_dpi 
-:      013202 mouse_set_p3212_cpi1:
-0x3d9d 013203 fetch 1 ,mem_3212_dpi_1 
-0x3d9e 013204 branch mouse_p3212_dpi 
-:      013205 mouse_set_p3212_cpi3:
-0x3d9f 013206 fetch 1 ,mem_3212_dpi_3 
-0x3da0 013207 branch mouse_p3212_dpi 
-:      013208 mouse_set_p3212_cpi4:
-0x3da1 013209 fetch 1 ,mem_3212_dpi_4 
-:      013210 mouse_p3212_dpi:
-0x3da2 013211 store 1 ,mem_mouse_cpi_count 
-0x3da3 013212 lshift8 pdata ,pdata 
-0x3da4 013213 copy pdata ,rega 
-0x3da5 013214 add pdata ,mouse_p3212_dpi_xaddress ,pdata 
-0x3da6 013215 call twspi_write 
-0x3da7 013216 copy rega ,pdata 
-0x3da8 013217 add pdata ,mouse_p3212_dpi_yaddress ,pdata 
-0x3da9 013218 branch twspi_write 
-:      013220 mouse_seting_3610_dpi:
-0x3daa 013221 fetch 1 ,mem_mouse_dpi 
-0x3dab 013222 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
-0x3dac 013223 beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
-0x3dad 013224 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
-0x3dae 013225 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
-:      013226 mouse_set_p3610_cpi2:
-0x3daf 013227 fetch 1 ,mem_3610_dpi_2 
-0x3db0 013228 branch mouse_p3610_dpi 
-:      013229 mouse_set_p3610_cpi1:
-0x3db1 013230 fetch 1 ,mem_3610_dpi_1 
-0x3db2 013231 branch mouse_p3610_dpi 
-:      013232 mouse_set_p3610_cpi3:
-0x3db3 013233 fetch 1 ,mem_3610_dpi_3 
-0x3db4 013234 branch mouse_p3610_dpi 
-:      013235 mouse_set_p3610_cpi4:
-0x3db5 013236 fetch 1 ,mem_3610_dpi_4 
-:      013237 mouse_p3610_dpi:
-0x3db6 013238 store 1 ,mem_mouse_cpi_count 
-0x3db7 013239 call mouse_spi_sdio_gpio_pollup 
-0x3db8 013240 fetch 1 ,mem_mouse_cpi_count 
-:      013241 mouse_reset_p3610_dpi:
-0x3db9 013242 add pdata ,0x80 ,pdata 
-0x3dba 013243 lshift8 pdata ,pdata 
-0x3dbb 013244 add pdata ,mouse_p3610_dpi_address ,pdata 
-0x3dbc 013245 copy pdata ,rega 
-0x3dbd 013246 branch mouse_set_sensor_reg 
-:      013248 mouse_p3205_dpi:
-0x3dbe 013249 store 1 ,mem_mouse_cpi_count 
-0x3dbf 013250 call moue_seting_cpi_count 
-0x3dc0 013251 fetch 1 ,mem_mouse_cpi_count 
-0x3dc1 013252 setarg mouse_dpi_address 
-0x3dc2 013253 call twspi_read 
-0x3dc3 013254 and pdata ,0xf8 ,temp 
-0x3dc4 013255 fetch 1 ,mem_mouse_cpi_count 
-0x3dc5 013256 iadd temp ,pdata 
-0x3dc6 013257 lshift8 pdata ,pdata 
-0x3dc7 013258 add pdata ,mouse_dpi_address ,pdata 
-0x3dc8 013259 branch twspi_write 
-:      013262 mouse_init_environment:
-0x3dc9 013263 call app_initflag_check 
-0x3dca 013264 branch mouse_eeprom_load_recon_info ,zero 
-0x3dcb 013265 call mouse_ble_init_address 
-0x3dcc 013266 call mouse_store_eeprom_device_info 
-0x3dcd 013267 branch app_initflag_store 
-:      013270 mouse_24g_pairing_button:
-0x3dce 013271 fetch 2 ,mem_24g_pairing_timer_count 
-0x3dcf 013272 rtn blank 
-0x3dd0 013273 fetch mouse_flag_len ,mem_mouse_flag 
-0x3dd1 013274 rtnbit0 mouse_enable_24g 
-0x3dd2 013275 rtnbit1 mosue_24g_pairing_flag 
-0x3dd3 013276 rtnmark1 mark_24g 
-0x3dd4 013277 call mouse_check_key_gpio 
-0x3dd5 013278 rtnne mouse_lmr_button 
-0x3dd6 013279 call mouse_devce_led_off 
-0x3dd7 013280 arg mosue_24g_pairing_flag ,queue 
-0x3dd8 013281 call mouse_enable_function_flag 
-0x3dd9 013282 setarg 0 
-0x3dda 013283 store 2 ,mem_mouse_direct_timer 
-0x3ddb 013284 store 1 ,mem_mouse_send_blank_timer 
-0x3ddc 013285 call g24_set0_mem_check_dongle_times 
-0x3ddd 013287 fetch 2 ,mem_ui_state_map 
-0x3dde 013288 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
-0x3ddf 013289 bbit1 ui_state_ble_connected ,app_ble_disconnect 
-0x3de0 013290 bbit1 ui_state_bt_connected ,app_bt_disconnect 
-0x3de1 013291 call mouse_stop_discovery 
-0x3de2 013292 branch g24_start_pairing_sm1 
-:      013295 mouse_idle:
-0x3de3 013296 call mouse_24g_pairing_button 
-0x3de4 013297 call ui_check_paring_button 
-0x3de5 013298 call mouse_dpi_cheak 
-0x3de6 013299 call mouse_usb_isr 
-0x3de7 013300 call mouse_wheel_check 
-0x3de8 013301 branch mouse_usb_mode 
-:      013302 mouse_usb_isr:
-0x3de9 013303 fetch mouse_flag_len ,mem_mouse_flag 
-0x3dea 013304 rtnbit0 mouse_enable_usb 
-0x3deb 013305 call usb_isr 
-0x3dec 013306 branch usb_offline_state 
-:      013308 mouse_cheak_usb:
-0x3ded 013309 hfetch 1 ,core_usb_addr 
-0x3dee 013310 bbit0 7 ,mouse_usb_no_exsit 
-0x3def 013311 bbit1 7 ,mouse_usb_exsit 
-0x3df0 013312 rtn 
-:      013313 mouse_usb_no_exsit:
-0x3df1 013314 fetch 1 ,mem_usb_addr 
-0x3df2 013315 rtnbit0 7 
-0x3df3 013316 branch soft_reset_chip 
-:      013317 mouse_usb_exsit:
-0x3df4 013318 fetch 1 ,mem_usb_addr 
-0x3df5 013319 rtnbit1 7 
-0x3df6 013320 branch mouse_stop_bluetooth_mode 
-:      013322 mouse_usb_mode:
-0x3df7 013323 call mouse_cheak_usb 
-0x3df8 013324 hfetch 1 ,core_usb_addr 
-0x3df9 013325 store 1 ,mem_usb_addr 
-0x3dfa 013326 rtnbit0 7 
-0x3dfb 013327 call mouse_clkn_check 
-0x3dfc 013328 fetch 4 ,mem_btclk_sensor 
-0x3dfd 013329 fetcht 1 ,mem_wire_usb_interval 
-0x3dfe 013330 iadd temp ,temp 
-0x3dff 013331 copy clkn_bt ,pdata 
-0x3e00 013332 isub temp ,null 
-0x3e01 013333 nrtn positive 
-0x3e02 013334 store 4 ,mem_btclk_sensor 
-0x3e03 013335 call mouse_motion 
-0x3e04 013336 nrtn user 
-0x3e05 013337 jam 4 ,mem_usb_tx_enable 
-0x3e06 013338 branch mouse_wired_to_usb 
-:      013340 mouse_clkn_check:
-0x3e07 013341 fetcht 4 ,mem_btclk_sensor 
-0x3e08 013342 copy clkn_bt ,pdata 
-0x3e09 013343 isub temp ,null 
-0x3e0a 013344 ncall mouse_clkn_timeout ,positive 
-0x3e0b 013345 rtn 
-:      013346 mouse_clkn_timeout:
-0x3e0c 013347 setarg 0 
-0x3e0d 013348 store 4 ,mem_btclk_sensor 
-0x3e0e 013349 rtn 
-:      013353 mouse_wired_to_usb:
-0x3e0f 013354 fetch 1 ,mem_usb_tx_enable 
-0x3e10 013355 rtnbit0 2 
-0x3e11 013356 branch mouse_data_push 
-:      013357 mouse_data_push:
-0x3e12 013358 hfetch 1 ,core_usb_addr 
-0x3e13 013359 rtnbit0 7 
-0x3e14 013360 jam usb_ep2_ms ,mem_usb_ep2_data 
-0x3e15 013361 setarg ms_report_id 
-0x3e16 013362 store 1 ,mem_usb_mouse_data 
-0x3e17 013363 fetch 7 ,mem_mouse_key 
-0x3e18 013364 istore 7 ,contw 
-0x3e19 013365 rtn 
-:      013368 mouse_enable_clock_qdecoder:
-0x3e1a 013369 hfetch 2 ,core_clkoff 
-0x3e1b 013370 set0 clock_off_qdecoder ,pdata 
-0x3e1c 013371 hstore 2 ,core_clkoff 
-0x3e1d 013372 rtn 
-:      013374 mouse_param_init:
-0x3e1e 013375 setarg 0x8c00 
-0x3e1f 013376 store 2 ,mem_ui_uuid_table 
-0x3e20 013377 setarg 0x8e7a 
-0x3e21 013378 store 2 ,mem_ui_le_uuid_table 
-0x3e22 013379 setarg 0x2402 
-0x3e23 013380 store 2 ,mem_fcomp_mul 
-0x3e24 013381 setarg 0x2580 
-0x3e25 013382 store 3 ,mem_class 
-0x3e26 013383 jam 3 ,mem_lpm_mult_timeout 
-0x3e27 013384 jam 8 ,mem_lpm_overhead 
-0x3e28 013385 jam dpi_button_state_up ,mem_select_device_button_statue 
-0x3e29 013386 setarg 0x0200 
-0x3e2a 013387 store 2 ,mem_lpm_interval 
-0x3e2b 013388 jam 0x17 ,mem_le_local_mtu 
-0x3e2c 013389 jam 0x17 ,mem_le_remote_mtu 
-0x3e2d 013391 setarg 0x0a77 
-0x3e2e 013392 store 2 ,mem_spi_init_clk 
-0x3e2f 013408 setsect 0 ,0x306 
-0x3e30 013409 setsect 1 ,0x4440 
-0x3e31 013410 setsect 2 ,0x10000 
-0x3e32 013411 setsect 3 ,0x4408 
-0x3e33 013412 store 9 ,mem_all_uuid_16bits 
-0x3e34 013413 setsect 0 ,0x1224 
-0x3e35 013414 setsect 1 ,0x4000 
-0x3e36 013415 setsect 2 ,0x0 
-0x3e37 013416 istore 5 ,contw 
-0x3e38 013418 setsect 0 ,0x3ffff 
-0x3e39 013419 setsect 1 ,0x2fe23 
-0x3e3a 013420 setsect 2 ,0x199d9 
-0x3e3b 013421 setsect 3 ,0x20d 
-0x3e3c 013422 store 8 ,mem_features 
-0x3e3d 013424 setarg 0x012c 
-0x3e3e 013425 store 2 ,mem_24g_pairing_timer_count 
-0x3e3f 013426 call le_modified_name 
-0x3e40 013427 fetch mouse_flag_len ,mem_mouse_flag 
-0x3e41 013428 rtnbit0 mouse_enable_gpio_control_adc_sensor 
-0x3e42 013429 call mouse_sensor_set_angle 
-0x3e43 013430 branch mouse_select_adc 
-:      013432 mouse_sensor_set_angle:
-0x3e44 013433 fetcht 1 ,mem_select_sensor_angle_gpio 
-0x3e45 013434 call gpio_config_input 
-0x3e46 013435 fetcht 1 ,mem_select_sensor_angle_gpio 
-0x3e47 013436 call gpio_get_bit 
-0x3e48 013437 jam mouse_3clk_angle ,mem_config_sensor_angle 
-0x3e49 013438 rtn true 
-0x3e4a 013439 jam mouse_12clk_angle ,mem_config_sensor_angle 
-0x3e4b 013440 rtn 
-:      013442 mouse_select_adc:
-0x3e4c 013443 fetcht 1 ,mem_select_adc_gpio 
-0x3e4d 013444 call gpio_config_input 
-0x3e4e 013445 fetcht 1 ,mem_select_adc_gpio 
-0x3e4f 013446 call gpio_get_bit 
-0x3e50 013447 jam adc_config_vinlpm ,mem_adc_config_flag 
-0x3e51 013448 rtn true 
-0x3e52 013449 jam adc_config_gpio ,mem_adc_config_flag 
-0x3e53 013450 rtn 
-:      013453 mouse_adc_init:
-0x3e54 013454 fetch 1 ,mem_adc_config_flag 
-0x3e55 013455 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
-0x3e56 013456 beq adc_config_hvin ,mouse_adc_init_data_hvin 
-0x3e57 013457 beq adc_config_gpio ,mouse_adc_init_data_io 
-0x3e58 013458 branch mouse_adc_init_data_vinlpm 
-:      013460 mouse_adc_init_data_vinlpm:
-0x3e59 013461 fetcht 2 ,mem_2v_adc_vinlpm_data 
-0x3e5a 013462 fetch 2 ,mem_3v_adc_vinlpm_data 
-0x3e5b 013463 isub temp ,pdata 
-0x3e5c 013464 mul32 pdata ,20 ,pdata 
-0x3e5d 013465 div pdata ,100 
-0x3e5e 013466 call wait_div_end 
-0x3e5f 013467 quotient pdata 
-0x3e60 013468 store 2 ,mem_adc_reference_voltage 
-0x3e61 013469 rtn 
-:      013470 mouse_adc_init_data_hvin:
-0x3e62 013471 fetcht 2 ,mem_1v_adc_hvin_data 
-0x3e63 013472 fetch 2 ,mem_5v_adc_hvin_data 
-0x3e64 013473 isub temp ,pdata 
-0x3e65 013474 mul32 pdata ,230 ,pdata 
-0x3e66 013475 div pdata ,400 
-0x3e67 013476 call wait_div_end 
-0x3e68 013477 quotient pdata 
-0x3e69 013478 store 2 ,mem_adc_reference_voltage 
-0x3e6a 013479 rtn 
-:      013480 mouse_adc_init_data_io:
-0x3e6b 013481 fetch 2 ,mem_1v_adc_io_data 
-0x3e6c 013482 store 2 ,mem_adc_reference_voltage 
-0x3e6d 013483 rtn 
-:      013484 mouse_gpio_init:
-0x3e6e 013485 fetcht 1 ,mem_eeprom_wp_gpio 
-0x3e6f 013486 call gpio_config_output 
-0x3e70 013487 call usb_offline_check_init 
-0x3e71 013488 fetcht 1 ,mem_lbutton_gpio 
-0x3e72 013489 call gpio_config_input 
-0x3e73 013490 fetcht 1 ,mem_rbutton_gpio 
-0x3e74 013491 call gpio_config_input 
-0x3e75 013492 fetcht 1 ,mem_mbutton_gpio 
-0x3e76 013493 call gpio_config_input 
-0x3e77 013494 fetcht 1 ,mem_sensor_data_gpio 
-0x3e78 013495 call gpio_config_input 
-0x3e79 013497 fetcht 1 ,mem_sensor_reset_gpio 
-0x3e7a 013498 call gpio_config_output 
-0x3e7b 013500 fetcht 1 ,mem_whee_a_data_gpio 
-0x3e7c 013501 call gpio_config_input 
-0x3e7d 013503 fetcht 1 ,mem_whee_b_data_gpio 
-0x3e7e 013504 call gpio_config_input 
-0x3e7f 013506 fetcht 1 ,mem_whee_ta_data_gpio 
-0x3e80 013507 call gpio_config_input 
-0x3e81 013508 fetcht 1 ,mem_whee_tb_data_gpio 
-0x3e82 013509 call gpio_config_input 
-0x3e83 013511 fetcht 1 ,mem_bk_button_gpio 
-0x3e84 013512 call gpio_config_input 
-0x3e85 013513 fetcht 1 ,mem_fw_button_gpio 
-0x3e86 013514 call gpio_config_input 
-0x3e87 013516 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
-0x3e88 013517 call gpio_config_output 
-0x3e89 013519 fetcht 1 ,mem_config_device1_led_gpio 
-0x3e8a 013520 call gpio_config_output 
-0x3e8b 013522 fetcht 1 ,mem_config_device2_led_gpio 
-0x3e8c 013523 call gpio_config_output 
-0x3e8d 013525 fetcht 1 ,mem_config_device3_led_gpio 
-0x3e8e 013526 call gpio_config_output 
-0x3e8f 013528 fetcht 1 ,mem_dpi_led_gpio 
-0x3e90 013529 call gpio_config_output 
-0x3e91 013531 fetcht 1 ,mem_config_select_device_button_gpio 
-0x3e92 013532 call gpio_config_input 
-0x3e93 013534 fetcht 1 ,mem_config_bt_button_gpio 
-0x3e94 013535 call gpio_config_input 
-0x3e95 013537 fetcht 1 ,mem_dpi_button_gpio 
-0x3e96 013538 branch gpio_config_input 
-:      013540 mouse_wheel_gpio_set_wake:
-0x3e97 013541 fetcht 1 ,mem_whee_a_data_gpio 
-0x3e98 013542 call gpio_set_wake_by_current_state 
-0x3e99 013543 fetcht 1 ,mem_whee_b_data_gpio 
-0x3e9a 013544 call gpio_set_wake_by_current_state 
-0x3e9b 013545 fetcht 1 ,mem_whee_ta_data_gpio 
-0x3e9c 013546 call gpio_set_wake_by_current_state 
-0x3e9d 013547 fetcht 1 ,mem_whee_tb_data_gpio 
-0x3e9e 013548 branch gpio_set_wake_by_current_state 
-:      013550 mouse_before_hibernate_wheel_gpio_set:
-0x3e9f 013551 fetcht 1 ,mem_whee_a_data_gpio 
-0x3ea0 013552 call mouse_gpio_set_pupd_by_input 
-0x3ea1 013553 fetcht 1 ,mem_whee_b_data_gpio 
-0x3ea2 013554 call mouse_gpio_set_pupd_by_input 
-0x3ea3 013555 fetcht 1 ,mem_whee_ta_data_gpio 
-0x3ea4 013556 call mouse_gpio_set_pupd_by_input 
-0x3ea5 013557 fetcht 1 ,mem_whee_tb_data_gpio 
-0x3ea6 013558 branch mouse_gpio_set_pupd_by_input 
-:      013560 mouse_gpio_set_pupd_by_input:
-0x3ea7 013561 sub temp ,ui_button_gpio_disable ,null 
-0x3ea8 013562 rtn zero 
-0x3ea9 013563 and temp ,0x7f ,queue 
-0x3eaa 013564 hfetch 4 ,core_gpio_in 
-0x3eab 013565 qisolate1 pdata 
-0x3eac 013566 hfetch 4 ,core_gpio_pu0 
-0x3ead 013567 qsetflag true ,pdata 
-0x3eae 013568 hstore 4 ,core_gpio_pu0 
-0x3eaf 013569 hfetch 4 ,core_gpio_pd0 
-0x3eb0 013570 nqsetflag true ,pdata 
-0x3eb1 013571 hstore 4 ,core_gpio_pd0 
-0x3eb2 013572 rtn 
-:      013574 mouse_before_hibernate:
-0x3eb3 013575 enable user 
-0x3eb4 013576 hfetch 4 ,0x8138 
-0x3eb5 013577 setflag user ,26 ,pdata 
-0x3eb6 013578 hstore 4 ,core_lpm_reg 
-0x3eb7 013579 call lpm_write_ctrl 
-0x3eb8 013580 call mouse_devce_led_off 
-0x3eb9 013581 call mouse_before_hibernate_wheel_gpio_set 
-0x3eba 013583 branch mouse_lpm_before_common 
-:      013587 mouse_process_lpm_before:
-0x3ebb 013588 call mouse_lpm_before_common 
-0x3ebc 013589 fetch 1 ,mem_lpm_current_mult 
-0x3ebd 013590 nrtn blank 
-0x3ebe 013591 branch gpio_clr_wake 
-:      013593 mouse_lpm_before_common:
-0x3ebf 013594 call mouse_wheel_check 
-0x3ec0 013595 arg mouse_spi1_clk_gpio ,temp 
-0x3ec1 013596 fetch mouse_flag_len ,mem_mouse_flag 
-0x3ec2 013597 isolate1 mouse_enable_spi2 ,pdata 
-0x3ec3 013598 call mouse_spi_clk_gpio ,true 
-0x3ec4 013599 call gpio_config_output 
-0x3ec5 013600 call twspi_disable 
-0x3ec6 013604 fetcht 1 ,mem_lbutton_gpio 
-0x3ec7 013605 call gpio_set_wake_by_current_state 
-0x3ec8 013606 fetcht 1 ,mem_rbutton_gpio 
-0x3ec9 013607 call gpio_set_wake_by_current_state 
-0x3eca 013608 fetcht 1 ,mem_mbutton_gpio 
-0x3ecb 013609 call gpio_set_wake_by_current_state 
-0x3ecc 013611 fetcht 1 ,mem_bk_button_gpio 
-0x3ecd 013612 call gpio_set_wake_by_current_state 
-0x3ece 013613 fetcht 1 ,mem_fw_button_gpio 
-0x3ecf 013614 call gpio_set_wake_by_current_state 
-0x3ed0 013615 fetcht 1 ,mem_dpi_button_gpio 
-0x3ed1 013616 call gpio_set_wake_by_current_state 
-0x3ed2 013617 fetcht 1 ,mem_config_select_device_button_gpio 
-0x3ed3 013618 call gpio_set_wake_by_current_state 
-0x3ed4 013619 fetcht 1 ,mem_whee_a_data_gpio 
-0x3ed5 013620 call gpio_set_wake_by_current_state 
-0x3ed6 013621 fetcht 1 ,mem_whee_b_data_gpio 
-0x3ed7 013622 call gpio_set_wake_by_current_state 
-0x3ed8 013623 fetcht 1 ,mem_whee_ta_data_gpio 
-0x3ed9 013624 call gpio_set_wake_by_current_state 
-0x3eda 013625 fetcht 1 ,mem_whee_tb_data_gpio 
-0x3edb 013626 call gpio_set_wake_by_current_state 
-0x3edc 013627 fetcht 1 ,mem_sensor_data_gpio 
-0x3edd 013628 branch gpio_set_wake 
-:      013632 mouse_spi_clk_gpio:
-0x3ede 013633 arg mouse_spi2_clk_gpio ,temp 
-0x3edf 013634 rtn 
-:      013636 mouse_wheel_check:
-0x3ee0 013637 bpatch patch1c_4 ,mem_patch1c 
-0x3ee1 013638 call mouse_t_wheel_scan 
-0x3ee2 013639 call mouse_wheel_scan 
-0x3ee3 013640 fetch 1 ,mem_wheel_tb_new_pinlevel 
-0x3ee4 013641 fetcht 1 ,mem_wheel_tb_old_pinlevel 
-0x3ee5 013642 store 1 ,mem_wheel_tb_old_pinlevel 
-0x3ee6 013643 isub temp ,null 
-0x3ee7 013644 nbranch app_lpm_wake_auto_lock ,zero 
-0x3ee8 013645 fetch 1 ,mem_mwheel_b_new_pinlevel 
-0x3ee9 013646 fetcht 1 ,mem_mwheel_b_old_pinlevel 
-0x3eea 013647 store 1 ,mem_mwheel_b_old_pinlevel 
-0x3eeb 013648 isub temp ,null 
-0x3eec 013649 nbranch app_lpm_wake_auto_lock ,zero 
-0x3eed 013650 rtn 
-:      013651 mouse_t_wheel_scan:
-0x3eee 013652 fetch 1 ,mem_whee_ta_data_gpio 
-0x3eef 013653 rtneq gpio_disable 
-0x3ef0 013654 arg 0 ,rega 
-0x3ef1 013655 fetcht 1 ,mem_whee_ta_data_gpio 
-0x3ef2 013656 call gpio_get_bit 
-0x3ef3 013657 setflag true ,0 ,rega 
-0x3ef4 013658 fetcht 1 ,mem_whee_tb_data_gpio 
-0x3ef5 013659 call gpio_get_bit 
-0x3ef6 013660 setflag true ,1 ,rega 
-0x3ef7 013661 copy rega ,pdata 
-0x3ef8 013662 store 1 ,mem_wheel_tb_new_pinlevel 
-0x3ef9 013663 beq 0x01 ,mouse_t_wheel_scan_judge1 
-0x3efa 013664 beq 0x02 ,mouse_t_wheel_scan_judge2 
-0x3efb 013665 fetch 1 ,mem_wheel_tog 
-0x3efc 013666 bbit1 7 ,mouse_t_wheel_scan_judge3 
-0x3efd 013667 rtn 
-:      013669 mouse_t_wheel_scan_judge1:
-0x3efe 013670 fetch 1 ,mem_wheel_tb_old_pinlevel 
-0x3eff 013671 beq 0 ,mouse_t_wheel_scan_judge11 
-0x3f00 013672 beq 3 ,mouse_t_wheel_scan_judge12 
-0x3f01 013673 rtn 
-:      013674 mouse_t_wheel_scan_judge2:
-0x3f02 013675 fetch 1 ,mem_wheel_tb_old_pinlevel 
-0x3f03 013676 beq 0 ,mouse_t_wheel_scan_judge21 
-0x3f04 013677 beq 3 ,mouse_t_wheel_scan_judge22 
-0x3f05 013678 rtn 
-:      013679 mouse_t_wheel_scan_judge11:
-0x3f06 013680 jam 0x82 ,mem_wheel_tog 
-0x3f07 013681 rtn 
-:      013682 mouse_t_wheel_scan_judge12:
-0x3f08 013683 jam 0x81 ,mem_wheel_tog 
-0x3f09 013684 rtn 
-:      013685 mouse_t_wheel_scan_judge21:
-0x3f0a 013686 jam 0x80 ,mem_wheel_tog 
-0x3f0b 013687 rtn 
-:      013688 mouse_t_wheel_scan_judge22:
-0x3f0c 013689 jam 0x83 ,mem_wheel_tog 
-0x3f0d 013690 rtn 
-:      013691 mouse_t_wheel_scan_judge3:
-0x3f0e 013692 fetch 1 ,mem_wheel_tog 
-0x3f0f 013693 set0 7 ,pdata 
-0x3f10 013694 store 1 ,mem_wheel_tog 
-0x3f11 013695 beq 0 ,mouse_t_wheel_scan_judge30 
-0x3f12 013696 beq 1 ,mouse_t_wheel_scan_judge31 
-0x3f13 013697 beq 2 ,mouse_t_wheel_scan_judge32 
-0x3f14 013698 beq 3 ,mouse_t_wheel_scan_judge33 
-0x3f15 013699 rtn 
-:      013700 mouse_t_wheel_scan_judge30:
-0x3f16 013701 fetch 1 ,mem_wheel_tb_new_pinlevel 
-0x3f17 013702 beq 3 ,mouse_wheel_t_forward 
-0x3f18 013703 rtn 
-:      013704 mouse_t_wheel_scan_judge31:
-0x3f19 013705 fetch 1 ,mem_wheel_tb_new_pinlevel 
-0x3f1a 013706 beq 0 ,mouse_wheel_t_forward 
-0x3f1b 013707 rtn 
-:      013708 mouse_t_wheel_scan_judge32:
-0x3f1c 013709 fetch 1 ,mem_wheel_tb_new_pinlevel 
-0x3f1d 013710 beq 3 ,mouse_wheel_t_back 
-0x3f1e 013711 rtn 
-:      013712 mouse_t_wheel_scan_judge33:
-0x3f1f 013713 fetch 1 ,mem_wheel_tb_new_pinlevel 
-0x3f20 013714 beq 0 ,mouse_wheel_t_back 
-0x3f21 013715 rtn 
-:      013716 mouse_wheel_t_forward:
-0x3f22 013717 fetch 1 ,mem_mouse_tz_data_count1 
-0x3f23 013718 increase 1 ,pdata 
-0x3f24 013719 store 1 ,mem_mouse_tz_data_count1 
-0x3f25 013720 sub pdata ,1 ,null 
-0x3f26 013721 rtn positive 
-0x3f27 013722 jam 0 ,mem_mouse_tz_data_count1 
-0x3f28 013723 fetch 1 ,mem_mouse_tz_data 
-0x3f29 013724 increase 1 ,pdata 
-0x3f2a 013725 store 1 ,mem_mouse_tz_data 
-0x3f2b 013726 rtn 
-:      013727 mouse_wheel_t_back:
-0x3f2c 013728 fetch 1 ,mem_mouse_tz_data_count 
-0x3f2d 013729 increase 1 ,pdata 
-0x3f2e 013730 store 1 ,mem_mouse_tz_data_count 
-0x3f2f 013731 sub pdata ,1 ,null 
-0x3f30 013732 rtn positive 
-0x3f31 013733 jam 0 ,mem_mouse_tz_data_count 
-0x3f32 013734 fetch 1 ,mem_mouse_tz_data 
-0x3f33 013735 increase -1 ,pdata 
-0x3f34 013736 store 1 ,mem_mouse_tz_data 
-0x3f35 013737 rtn 
-:      013740 mouse_wheel_scan:
-0x3f36 013741 fetch 1 ,mem_whee_a_data_gpio 
-0x3f37 013742 rtneq gpio_disable 
-0x3f38 013743 arg 0 ,rega 
-0x3f39 013744 fetcht 1 ,mem_whee_a_data_gpio 
-0x3f3a 013745 call gpio_get_bit 
-0x3f3b 013746 setflag true ,0 ,rega 
-0x3f3c 013747 fetcht 1 ,mem_whee_b_data_gpio 
-0x3f3d 013748 call gpio_get_bit 
-0x3f3e 013749 setflag true ,1 ,rega 
-0x3f3f 013750 copy rega ,pdata 
-0x3f40 013751 store 1 ,mem_mwheel_b_new_pinlevel 
-0x3f41 013752 beq 0x01 ,mouse_wheel_scan_judge1 
-0x3f42 013753 beq 0x02 ,mouse_wheel_scan_judge2 
-0x3f43 013754 fetch 1 ,mem_mwheel_tog 
-0x3f44 013755 bbit1 7 ,mouse_wheel_scan_judge3 
-0x3f45 013756 rtn 
-:      013758 mouse_wheel_scan_judge1:
-0x3f46 013759 fetch 1 ,mem_mwheel_b_old_pinlevel 
-0x3f47 013760 beq 0 ,mouse_wheel_scan_judge11 
-0x3f48 013761 beq 3 ,mouse_wheel_scan_judge12 
-0x3f49 013762 rtn 
-:      013763 mouse_wheel_scan_judge2:
-0x3f4a 013764 fetch 1 ,mem_mwheel_b_old_pinlevel 
-0x3f4b 013765 beq 0 ,mouse_wheel_scan_judge21 
-0x3f4c 013766 beq 3 ,mouse_wheel_scan_judge22 
-0x3f4d 013767 rtn 
-:      013768 mouse_wheel_scan_judge11:
-0x3f4e 013769 jam 0x82 ,mem_mwheel_tog 
-0x3f4f 013770 rtn 
-:      013771 mouse_wheel_scan_judge12:
-0x3f50 013772 jam 0x81 ,mem_mwheel_tog 
-0x3f51 013773 rtn 
-:      013774 mouse_wheel_scan_judge21:
-0x3f52 013775 jam 0x80 ,mem_mwheel_tog 
-0x3f53 013776 rtn 
-:      013777 mouse_wheel_scan_judge22:
-0x3f54 013778 jam 0x83 ,mem_mwheel_tog 
-0x3f55 013779 rtn 
-:      013780 mouse_wheel_scan_judge3:
-0x3f56 013781 fetch 1 ,mem_mwheel_tog 
-0x3f57 013782 set0 7 ,pdata 
-0x3f58 013783 store 1 ,mem_mwheel_tog 
-0x3f59 013784 beq 0 ,mouse_wheel_scan_judge30 
-0x3f5a 013785 beq 1 ,mouse_wheel_scan_judge31 
-0x3f5b 013786 beq 2 ,mouse_wheel_scan_judge32 
-0x3f5c 013787 beq 3 ,mouse_wheel_scan_judge33 
-0x3f5d 013788 rtn 
-:      013789 mouse_wheel_scan_judge30:
-0x3f5e 013790 fetch 1 ,mem_mwheel_b_new_pinlevel 
-0x3f5f 013791 beq 3 ,mouse_wheel_forward 
-0x3f60 013792 rtn 
-:      013793 mouse_wheel_scan_judge31:
-0x3f61 013794 fetch 1 ,mem_mwheel_b_new_pinlevel 
-0x3f62 013795 beq 0 ,mouse_wheel_forward 
-0x3f63 013796 rtn 
-:      013797 mouse_wheel_scan_judge32:
-0x3f64 013798 fetch 1 ,mem_mwheel_b_new_pinlevel 
-0x3f65 013799 beq 3 ,mouse_wheel_back 
-0x3f66 013800 rtn 
-:      013801 mouse_wheel_scan_judge33:
-0x3f67 013802 fetch 1 ,mem_mwheel_b_new_pinlevel 
-0x3f68 013803 beq 0 ,mouse_wheel_back 
-0x3f69 013804 rtn 
-:      013805 mouse_wheel_forward:
-0x3f6a 013806 jam 0 ,mem_mouse_z_data_count1 
-0x3f6b 013807 fetch 1 ,mem_mouse_z_data 
-0x3f6c 013808 increase 1 ,pdata 
-0x3f6d 013809 store 1 ,mem_mouse_z_data 
-0x3f6e 013810 rtn 
-:      013811 mouse_wheel_back:
-0x3f6f 013812 jam 0 ,mem_mouse_z_data_count 
-0x3f70 013813 fetch 1 ,mem_mouse_z_data 
-0x3f71 013814 increase -1 ,pdata 
-0x3f72 013815 store 1 ,mem_mouse_z_data 
-0x3f73 013816 rtn 
-:      013819 mouse_hid_connected:
-0x3f74 013820 setarg hid_handshake_timeout 
-0x3f75 013821 store 1 ,mem_hid_handshake_timer_count 
-0x3f76 013822 rtn 
-:      013824 mouse_send_process:
-0x3f77 013825 fetch 1 ,mem_app_handshake_flag 
-0x3f78 013826 rtn blank 
-0x3f79 013827 call l2cap_malloc_is_fifo_nearly_full 
-0x3f7a 013828 nrtn blank 
-0x3f7b 013829 fetch mouse_flag_len ,mem_mouse_flag 
-0x3f7c 013830 bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
-0x3f7d 013831 bbit1 mouse_select_device_flag ,mouse_send_empty_data 
-0x3f7e 013832 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
-0x3f7f 013833 call mouse_motion 
-0x3f80 013834 nrtn user 
-:      013835 mouse_send_data:
-0x3f81 013836 arg 9 ,rega 
-0x3f82 013837 call hid_malloc_tx_buff 
-0x3f83 013838 fetch 2 ,mem_hid_int_remote_cid 
-0x3f84 013839 istore 2 ,contw 
-0x3f85 013840 setarg 0x02a1 
-0x3f86 013841 istore 2 ,contw 
-0x3f87 013842 fetch 7 ,mem_mouse_key 
-0x3f88 013843 istore 7 ,contw 
-0x3f89 013844 rtn 
-:      013847 mouse_send_empty_data:
-0x3f8a 013848 setarg 0 
-0x3f8b 013849 store 7 ,mem_mouse_key 
-0x3f8c 013850 branch mouse_send_data 
-:      013853 mouse_no_data_timer_init:
-0x3f8d 013854 fetch 2 ,mem_mouse_no_data_timeout 
-0x3f8e 013855 store 2 ,mem_mouse_no_data_timer 
-0x3f8f 013856 rtn 
-:      013859 mouse_fill_data_le:
-0x3f90 013860 bpatch patch1c_5 ,mem_patch1c 
-0x3f91 013861 arg 7 ,rega 
-0x3f92 013862 fetcht 2 ,mem_le_notify_handle 
-0x3f93 013863 call le_att_malloc_tx_notify 
-0x3f94 013864 fetch 7 ,mem_mouse_key 
-0x3f95 013865 istore 7 ,contw 
-0x3f96 013866 rtn 
-:      013868 mouse_motion:
-0x3f97 013869 bpatch patch1c_6 ,mem_patch1c 
-0x3f98 013870 disable user 
-0x3f99 013871 setarg 0 
-0x3f9a 013872 store 6 ,mem_mouse_x 
-0x3f9b 013873 call mouse_cheak_sensor_data 
-0x3f9c 013874 call mouse_zwheel 
-0x3f9d 013875 call mouse_t_zwheel 
-0x3f9e 013876 call mouse_key 
-0x3f9f 013877 nrtn user 
-0x3fa0 013878 call mouse_no_data_timer_init 
-0x3fa1 013879 arg mouse_statue_up_flag ,queue 
-0x3fa2 013880 branch mouse_enable_function_flag 
-:      013882 motion_6clk_direction_dispose:
-0x3fa3 013883 fetch 2 ,mem_mouse_x 
-0x3fa4 013884 sub pdata ,0 ,pdata 
-0x3fa5 013885 store 2 ,mem_mouse_x 
-0x3fa6 013886 branch enable_user 
-:      013887 motion_12clk_direction_dispose:
-0x3fa7 013888 fetch 2 ,mem_mouse_y 
-0x3fa8 013889 sub pdata ,0 ,pdata 
-0x3fa9 013890 store 2 ,mem_mouse_y 
-0x3faa 013891 branch enable_user 
-:      013892 motion_9clk_direction_dispose:
-0x3fab 013893 fetch 2 ,mem_mouse_y 
-0x3fac 013894 sub pdata ,0 ,pdata 
-0x3fad 013895 store 2 ,mem_mouse_y 
-0x3fae 013896 fetch 2 ,mem_mouse_x 
-0x3faf 013897 sub pdata ,0 ,pdata 
-0x3fb0 013898 store 2 ,mem_mouse_x 
-0x3fb1 013899 call mouse_sensor_data_swap_places 
-0x3fb2 013900 branch enable_user 
-:      013901 motion_3clk_direction_dispose:
-0x3fb3 013902 call mouse_sensor_data_swap_places 
-0x3fb4 013903 branch enable_user 
-:      013904 mouse_cheak_sensor_data:
-0x3fb5 013905 fetch 1 ,mem_spi_write_flash_sm 
-0x3fb6 013906 rtnne flash_sm_no_buys 
-0x3fb7 013907 fetch 1 ,mem_config_sensor_type 
-0x3fb8 013908 beq p3205 ,mouse_p32xx_sensor_motion 
-0x3fb9 013909 beq p3065 ,mouse_p32xx_sensor_motion 
-0x3fba 013910 beq ka8 ,mouse_p32xx_sensor_motion 
-0x3fbb 013911 beq p3204 ,mouse_p32xx_sensor_motion 
-0x3fbc 013912 beq p3212 ,mouse_p3212_sensor_motion 
-0x3fbd 013913 beq p3610 ,mouse_p3610_sensor_motion 
-0x3fbe 013914 beq p3065_xy ,mouse_p32xx_sensor_motion 
-0x3fbf 013915 branch mouse_p32xx_sensor_motion 
-:      013917 mouse_clear_sensor_data:
-0x3fc0 013918 fetch 1 ,mem_mouse_move_flag 
-0x3fc1 013919 call mouse_read_sensor_common ,blank 
-0x3fc2 013920 jam 1 ,mem_mouse_move_flag 
-0x3fc3 013921 rtn 
-:      013924 mouse_p3212_sensor_motion:
-0x3fc4 013925 call mouse_clear_sensor_data 
-0x3fc5 013926 fetcht 1 ,mem_sensor_data_gpio 
-0x3fc6 013927 call gpio_get_bit 
-0x3fc7 013928 nrtn true 
-:      013929 mouse_p3212_sensor_motion_1:
-0x3fc8 013930 setarg pan_reg_pid_l 
-0x3fc9 013931 call twspi_read 
-0x3fca 013932 bne p32xx_id1 ,mouse_twspi_reset 
-0x3fcb 013933 setarg pan_reg_motion_staus 
-0x3fcc 013934 call twspi_read 
-0x3fcd 013935 rtnbit0 7 
-0x3fce 013936 call mouse_read_sensor_common 
-0x3fcf 013937 call mouse_read_3212sensor_xy_high 
-0x3fd0 013938 store 1 ,mem_mouse_xy_h 
-0x3fd1 013939 rshift4 pdata ,pdata 
-0x3fd2 013940 call extsign_bit3 
-0x3fd3 013941 store 1 ,mem_mouse_x + 1 
-0x3fd4 013942 fetch 1 ,mem_mouse_xy_h 
-0x3fd5 013943 and pdata ,0x0f ,pdata 
-0x3fd6 013944 call extsign_bit3 
-0x3fd7 013945 store 1 ,mem_mouse_y + 1 
-0x3fd8 013946 fetch 1 ,mem_config_sensor_angle 
-0x3fd9 013947 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
-0x3fda 013948 beq mouse_9clk_angle ,motion_9clk_direction_dispose 
-0x3fdb 013949 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
-0x3fdc 013950 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
-0x3fdd 013951 rtn 
-:      013953 mouse_read_3212sensor_xy_high:
-0x3fde 013954 setarg 0x12 
-0x3fdf 013955 branch twspi_read 
-:      013957 mouse_p3065_judge:
-0x3fe0 013958 beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
-0x3fe1 013959 branch mouse_twspi_reset 
-:      013961 mouse_p32xx_sensor_motion:
-0x3fe2 013962 call mouse_clear_sensor_data 
-0x3fe3 013963 disable user 
-0x3fe4 013964 fetcht 1 ,mem_sensor_data_gpio 
-0x3fe5 013965 call gpio_get_bit 
-0x3fe6 013966 nrtn true 
-:      013967 mouse_p32xx_sensor_motion_2:
-0x3fe7 013968 setarg pan_reg_pid_l 
-0x3fe8 013969 call twspi_read 
-0x3fe9 013970 bne p32xx_id1 ,mouse_p3065_judge 
-:      013971 mouse_p32xx_sensor_motion_1:
-0x3fea 013972 setarg pan_reg_motion_staus 
-0x3feb 013973 call twspi_read 
-0x3fec 013974 rtnbit0 7 
-0x3fed 013975 call mouse_read_sensor_common 
-0x3fee 013976 fetch 1 ,mem_mouse_x 
-0x3fef 013977 call extsign 
-0x3ff0 013978 store 2 ,mem_mouse_x 
-0x3ff1 013979 fetch 1 ,mem_mouse_y 
-0x3ff2 013980 call extsign 
-0x3ff3 013981 store 2 ,mem_mouse_y 
-0x3ff4 013982 fetch 1 ,mem_config_sensor_angle 
-0x3ff5 013983 beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
-0x3ff6 013984 beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
-0x3ff7 013985 beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
-0x3ff8 013986 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
-0x3ff9 013987 rtn 
-:      013989 motion32xx_6clk_direction_selection:
-0x3ffa 013990 call motion_6clk_direction_dispose 
-0x3ffb 013991 branch mouse_sensor_sdio_low 
-:      013992 motion32xx_9clk_direction_selection:
-0x3ffc 013993 call motion_9clk_direction_dispose 
-0x3ffd 013994 branch mouse_sensor_sdio_low 
-:      013995 motion32xx_12clk_direction_selection:
-0x3ffe 013996 call motion_12clk_direction_dispose 
-0x3fff 013997 branch mouse_sensor_sdio_low 
-:      013998 motion32xx_3clk_direction_selection:
-0x4000 013999 call motion_3clk_direction_dispose 
-0x4001 014000 branch mouse_sensor_sdio_low 
-:      014002 mouse_sensor_data_swap_places:
-0x4002 014003 fetch 2 ,mem_mouse_y 
-0x4003 014004 fetcht 2 ,mem_mouse_x 
-0x4004 014005 store 2 ,mem_mouse_x 
-0x4005 014006 storet 2 ,mem_mouse_y 
-0x4006 014007 rtn 
-:      014009 mouse_p3610sensor_read:
-0x4007 014010 call spi_ncs_enable 
-0x4008 014011 nop 100 
-0x4009 014012 copy regb ,pdata 
-0x400a 014013 call twspi_read 
-0x400b 014014 copy pdata ,regb 
-0x400c 014015 call spi_ncs_disable 
-0x400d 014016 nop 100 
-0x400e 014017 copy regb ,pdata 
-0x400f 014018 rtn 
-:      014019 mouse_p3610_sensor_motion:
-0x4010 014020 disable user 
-0x4011 014021 fetcht 1 ,mem_sensor_data_gpio 
-0x4012 014022 call gpio_get_bit 
-0x4013 014023 nrtn true 
-0x4014 014024 arg pan_reg_motion_staus ,regb 
-0x4015 014025 call mouse_p3610sensor_read 
-0x4016 014026 rtnbit0 7 
-0x4017 014027 arg pan_reg_pid_l ,regb 
-0x4018 014028 call mouse_p3610sensor_read 
-0x4019 014029 store 1 ,mem_sensor_id1 
-0x401a 014030 bne p3610_id1 ,mouse_init_3610sensor_reset 
-0x401b 014031 fetch 1 ,mem_mouse_move_flag 
-0x401c 014032 call mouse_read_sensor3610_data ,blank 
-0x401d 014033 jam 1 ,mem_mouse_move_flag 
-0x401e 014034 call mouse_read_sensor3610_data 
-0x401f 014035 fetch 1 ,mem_mouse_xy_h 
-0x4020 014036 rshift4 pdata ,pdata 
-0x4021 014037 call extsign_bit3 
-0x4022 014038 store 1 ,mem_mouse_x + 1 
-0x4023 014039 fetch 1 ,mem_mouse_xy_h 
-0x4024 014040 and pdata ,0x0f ,pdata 
-0x4025 014041 call extsign_bit3 
-0x4026 014042 store 1 ,mem_mouse_y + 1 
-0x4027 014043 fetch 1 ,mem_config_sensor_angle 
-0x4028 014044 beq 0 ,motion3610_6clk_direction_selection 
-0x4029 014045 beq 1 ,motion3610_9clk_direction_selection 
-0x402a 014046 beq 2 ,motion3610_12clk_direction_selection 
-0x402b 014047 beq 3 ,motion3610_3clk_direction_selection 
-0x402c 014048 rtn 
-:      014050 mouse_3610_smart_select:
-0x402d 014051 fetch 1 ,mem_sensor_smart_flag 
-0x402e 014052 beq p3610_smart_enable ,mouse_3610_smart_disable 
-0x402f 014053 beq p3610_smart_disable ,mouse_3610_smart_enable 
-0x4030 014054 rtn 
-:      014057 motion3610_6clk_direction_selection:
-0x4031 014058 call motion_6clk_direction_dispose 
-0x4032 014059 branch mouse_3610_smart_select 
-:      014061 motion3610_12clk_direction_selection:
-0x4033 014062 call motion_12clk_direction_dispose 
-0x4034 014063 branch mouse_3610_smart_select 
-:      014065 motion3610_9clk_direction_selection:
-0x4035 014066 call motion_9clk_direction_dispose 
-0x4036 014067 branch mouse_3610_smart_select 
-:      014069 motion3610_3clk_direction_selection:
-0x4037 014070 call motion_3clk_direction_dispose 
-0x4038 014071 branch mouse_3610_smart_select 
-:      014073 mouse_read_sensor3610_data:
-0x4039 014074 call spi_ncs_enable 
-0x403a 014075 call mouse_read_sensor_common 
-0x403b 014076 arg 5 ,pdata 
-0x403c 014077 call twspi_read 
-0x403d 014078 store 1 ,mem_mouse_xy_h 
-0x403e 014079 arg 7 ,pdata 
-0x403f 014080 call twspi_read 
-0x4040 014081 store 1 ,mem_sensor_shutter_hi 
-0x4041 014082 arg 8 ,pdata 
-0x4042 014083 call twspi_read 
-0x4043 014084 store 1 ,mem_sensor_shutter_lo 
-0x4044 014085 branch spi_ncs_disable 
-:      014088 mouse_3610_smart_enable:
-0x4045 014089 fetch 1 ,mem_sensor_shutter_hi 
-0x4046 014090 rtnne 0 
-0x4047 014091 fetch 1 ,mem_sensor_shutter_lo 
-0x4048 014092 sub pdata ,45 ,null 
-0x4049 014093 rtn positive 
-0x404a 014094 jam p3610_smart_enable ,mem_sensor_smart_flag 
-0x404b 014095 setarg 0xba41 
-0x404c 014096 call sensor_write 
-0x404d 014097 setarg 0x0032 
-0x404e 014098 call sensor_write 
-0x404f 014099 setarg 0xb541 
-0x4050 014100 branch sensor_write 
-:      014101 mouse_3610_smart_disable:
-0x4051 014102 fetch 1 ,mem_sensor_shutter_hi 
-0x4052 014103 rtnne 0 
-0x4053 014104 fetch 1 ,mem_sensor_shutter_lo 
-0x4054 014105 sub pdata ,45 ,null 
-0x4055 014106 nrtn positive 
-0x4056 014107 jam p3610_smart_disable ,mem_sensor_smart_flag 
-0x4057 014108 setarg 0xba41 
-0x4058 014109 call sensor_write 
-0x4059 014110 setarg 0x8032 
-0x405a 014111 call sensor_write 
-0x405b 014112 setarg 0xb541 
-0x405c 014113 branch sensor_write 
-:      014117 mouse_read_sensor_common:
-0x405d 014118 arg pan_reg_delta_x ,pdata 
-0x405e 014119 call twspi_read 
-0x405f 014120 store 2 ,mem_mouse_x 
-0x4060 014121 arg pan_reg_delta_y ,pdata 
-0x4061 014122 call twspi_read 
-0x4062 014123 store 2 ,mem_mouse_y 
-0x4063 014124 rtn 
-:      014126 mouse_set_qdecoder_x:
-0x4064 014127 arg mouse_default_xa_gpio ,temp 
-0x4065 014128 call gpio_config_input 
-0x4066 014129 arg mouse_default_xa_gpio ,temp 
-0x4067 014130 call gpio_get_bit 
-0x4068 014131 rtn true 
-0x4069 014132 hfetch 1 ,core_qdec_cntx 
-0x406a 014133 set1 4 ,pdata 
-0x406b 014134 hstore 1 ,core_qdec_cntx 
-0x406c 014135 rtn 
-:      014137 mouse_hardware_zwheel:
-0x406d 014138 fetcht 1 ,mem_mouse_z_data 
-0x406e 014139 hfetch 1 ,core_qdec_cntx 
-0x406f 014140 iadd temp ,pdata 
-0x4070 014141 rtn blank 
-0x4071 014142 store 1 ,mem_mouse_z 
-0x4072 014143 jam 0 ,mem_mouse_z_data 
-0x4073 014144 branch enable_user 
-:      014145 mouse_hardware_zwheel_beforelpm:
-0x4074 014146 fetcht 1 ,mem_mouse_z_data 
-0x4075 014147 hfetch 1 ,core_qdec_cntx 
-0x4076 014148 iadd temp ,pdata 
-0x4077 014149 store 1 ,mem_mouse_z_data 
-0x4078 014150 rtn 
-:      014151 mouse_zwheel:
-0x4079 014152 fetch 1 ,mem_mouse_z_data 
-0x407a 014153 rtn blank 
-0x407b 014154 store 1 ,mem_mouse_z 
-0x407c 014155 jam 0 ,mem_mouse_z_data 
-0x407d 014156 branch enable_user 
-:      014158 mouse_t_zwheel:
-0x407e 014159 fetch 1 ,mem_mouse_tz_data 
-0x407f 014160 rtn blank 
-0x4080 014161 store 1 ,mem_mouse_tz 
-0x4081 014162 jam 0 ,mem_mouse_tz_data 
-0x4082 014163 branch enable_user 
-:      014165 mouse_check_key_gpio:
-0x4083 014166 arg 0 ,rega 
-0x4084 014167 fetcht 1 ,mem_lbutton_gpio 
-0x4085 014168 call gpio_get_bit 
-0x4086 014169 setflag true ,0 ,rega 
-0x4087 014170 fetcht 1 ,mem_rbutton_gpio 
-0x4088 014171 call gpio_get_bit 
-0x4089 014172 setflag true ,1 ,rega 
-0x408a 014173 fetcht 1 ,mem_mbutton_gpio 
-0x408b 014174 call gpio_get_bit 
-0x408c 014175 setflag true ,2 ,rega 
-0x408d 014176 call mouse_check_s_key_gpio 
-:      014177 mouse_check_key_gpio_output:
-0x408e 014178 copy rega ,pdata 
-0x408f 014179 rtn 
-:      014180 mouse_check_s_key_gpio:
-0x4090 014181 fetch 1 ,mem_bk_button_gpio 
-0x4091 014182 rtneq gpio_disable 
-0x4092 014183 fetcht 1 ,mem_bk_button_gpio 
-0x4093 014184 call gpio_get_bit 
-0x4094 014185 setflag true ,3 ,rega 
-0x4095 014186 fetcht 1 ,mem_fw_button_gpio 
-0x4096 014187 call gpio_get_bit 
-0x4097 014188 setflag true ,4 ,rega 
-0x4098 014189 rtn 
-:      014191 mouse_key:
-0x4099 014192 call mouse_check_key_gpio 
-0x409a 014193 call mouse_set_mult 
-0x409b 014194 call mouse_24g_key 
-0x409c 014195 copy rega ,pdata 
-0x409d 014196 fetcht 1 ,mem_mouse_key 
-0x409e 014197 store 1 ,mem_mouse_key 
-0x409f 014198 ixor temp ,pdata 
-0x40a0 014199 sub pdata ,0 ,null 
-0x40a1 014200 rtn zero 
-0x40a2 014201 branch enable_user 
-:      014203 mouse_24g_key:
-0x40a3 014204 rtnmark0 mark_24g 
-0x40a4 014205 copy rega ,pdata 
-0x40a5 014206 rtn blank 
-0x40a6 014207 store 1 ,mem_mouse_key 
-0x40a7 014208 branch enable_user 
-:      014211 mouse_set_mult:
-0x40a8 014212 fetch 2 ,mem_ui_state_map 
-0x40a9 014213 bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
-0x40aa 014214 fetch 2 ,mem_ui_state_map 
-0x40ab 014215 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
-0x40ac 014216 rtn 
-:      014217 mouse_set_ble_mult:
-0x40ad 014218 copy rega ,pdata 
-0x40ae 014219 nbranch le_set_config_short_mult ,blank 
-0x40af 014220 branch le_clr_config_short_mult 
-:      014221 mouse_set_bt_mult:
-0x40b0 014222 copy rega ,pdata 
-0x40b1 014223 nbranch classic_bt_set_mult_short_flag ,blank 
-0x40b2 014224 branch classic_bt_clr_mult_short_flag 
-:      014227 mouse_sensor_sdio_low:
-0x40b3 014228 bpatch patch1c_7 ,mem_patch1c 
-0x40b4 014229 arg mouse_spi1_sdio_gpio ,temp 
-0x40b5 014230 fetch mouse_flag_len ,mem_mouse_flag 
-0x40b6 014231 isolate1 mouse_enable_spi2 ,pdata 
-0x40b7 014232 call mouse_sensor_sdio_low2 ,true 
-0x40b8 014233 call gpio_get_bit 
-0x40b9 014234 rtn true 
-0x40ba 014235 setarg 0x0a 
-0x40bb 014236 call twspi_read 
-0x40bc 014237 nop 1000 
-0x40bd 014238 branch mouse_sensor_sdio_low 
-:      014239 mouse_sensor_sdio_low2:
-0x40be 014240 arg mouse_spi2_sdio_gpio ,temp 
-0x40bf 014241 rtn 
-:      014243 mouse_spi_sdio_gpio_pollup:
-0x40c0 014244 fetch mouse_flag_len ,mem_mouse_flag 
-0x40c1 014245 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
-:      014246 mouse_spi1_sdio_gpio_pollup:
-0x40c2 014247 arg mouse_spi1_sdio_gpio ,temp 
-0x40c3 014248 branch gpio_config_input_without_wake 
-:      014249 mouse_spi2_sdio_gpio_pollup:
-0x40c4 014250 arg mouse_spi2_sdio_gpio ,temp 
-0x40c5 014251 branch gpio_config_input_without_wake 
-:      014254 mouse_init_sunt:
-0x40c6 014255 call mouse_spi_init 
-0x40c7 014256 rtn wake 
-0x40c8 014257 call mouse_spi_sdio_gpio_pollup 
-0x40c9 014258 fetch 1 ,mem_config_sensor_type 
-0x40ca 014259 beq p3610 ,mouse_init_3610sensor 
-:      014260 mouse_init_sensor:
-0x40cb 014261 call mouse_read_sensor_id 
-0x40cc 014262 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
-0x40cd 014263 beq p3065_id1 ,mouse_p3065_init_param 
-0x40ce 014264 call mouse_twspi_reset 
-0x40cf 014265 nop 1000 
-0x40d0 014266 branch mouse_init_sensor 
-:      014267 mouse_twspi_reset:
-0x40d1 014268 bpatch patch1d_0 ,mem_patch1d 
-0x40d2 014269 fetch mouse_flag_len ,mem_mouse_flag 
-0x40d3 014270 bbit1 mouse_enable_spi2 ,twspi_reset2 
-0x40d4 014271 branch twspi_reset 
-:      014273 mouse_init_3610sensor:
-0x40d5 014274 call mouse_read_sensor_id 
-0x40d6 014275 beq p3610_id1 ,mouse_init_p3610 
-0x40d7 014276 call mouse_init_3610sensor_reset 
-0x40d8 014277 branch mouse_init_3610sensor 
-:      014279 mouse_read_sensor_id:
-0x40d9 014280 setarg pan_reg_pid_h 
-0x40da 014281 call twspi_read 
-0x40db 014282 store 1 ,mem_sensor_id2 
-0x40dc 014283 setarg pan_reg_pid_l 
-0x40dd 014284 call twspi_read 
-0x40de 014285 store 1 ,mem_sensor_id1 
-0x40df 014286 rtn 
-:      014287 mouse_init_p32xx_id2_judge:
-0x40e0 014288 fetch 1 ,mem_sensor_id2 
-0x40e1 014289 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
-0x40e2 014290 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
-0x40e3 014291 beq p3212_id2 ,mouse_3212_init_param 
-0x40e4 014292 beq pka8_id2 ,mouse_ka8_init_param 
-0x40e5 014293 rtn 
-:      014294 mouse_ka8_init_param:
-0x40e6 014295 jam ka8 ,mem_config_sensor_type 
-0x40e7 014296 rtn 
-:      014297 mouse_p3065xy_init_param:
-0x40e8 014298 jam p3065_xy ,mem_config_sensor_type 
-0x40e9 014299 rtn 
-:      014300 mouse_p3065_init_param:
-0x40ea 014301 fetch 1 ,mem_sensor_id2 
-0x40eb 014302 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-0x40ec 014303 jam p3065 ,mem_config_sensor_type 
-0x40ed 014304 rtn 
-:      014305 mouse_3212_init_param:
-0x40ee 014306 jam p3212 ,mem_config_sensor_type 
-0x40ef 014307 call mouse_sensor_disable_wp 
-0x40f0 014308 setarg 0x3426 
-0x40f1 014309 call twspi_write 
-0x40f2 014310 setarg 0x0419 
-0x40f3 014311 call twspi_write 
-:      014312 mouse_sensor_enable_wp:
-0x40f4 014313 setarg 0x0009 
-0x40f5 014314 branch twspi_write 
-:      014315 mouse_sensor_disable_wp:
-0x40f6 014316 setarg 0x5a09 
-0x40f7 014317 branch twspi_write 
-:      014319 mouse_3204_3l_init_param:
-0x40f8 014320 jam p3204 ,mem_config_sensor_type 
-0x40f9 014321 call mouse_sensor_disable_wp 
-0x40fa 014322 setarg 0x0f0d 
-0x40fb 014323 call twspi_write 
-0x40fc 014324 setarg 0xe31d 
-0x40fd 014325 call twspi_write 
-0x40fe 014326 setarg 0xd27d 
-0x40ff 014327 call twspi_write 
-0x4100 014328 call mouse_32xx_init_param 
-0x4101 014329 branch mouse_32xx_init_param_1 
-:      014331 mouse_32xx_init_param:
-0x4102 014332 setarg 0x351b 
-0x4103 014333 call twspi_write 
-0x4104 014334 setarg 0xb428 
-0x4105 014335 call twspi_write 
-0x4106 014336 setarg 0x4629 
-0x4107 014337 call twspi_write 
-0x4108 014338 setarg 0x962a 
-0x4109 014339 call twspi_write 
-0x410a 014340 setarg 0x8c2b 
-0x410b 014341 call twspi_write 
-0x410c 014342 setarg 0x6e2c 
-0x410d 014343 call twspi_write 
-0x410e 014344 setarg 0x642d 
-0x410f 014345 call twspi_write 
-0x4110 014346 setarg 0x5f38 
-0x4111 014347 call twspi_write 
-0x4112 014348 setarg 0x0f39 
-0x4113 014349 call twspi_write 
-0x4114 014350 setarg 0x323a 
-0x4115 014351 call twspi_write 
-0x4116 014352 setarg 0x473b 
-0x4117 014353 call twspi_write 
-0x4118 014354 setarg 0x1042 
-0x4119 014355 branch twspi_write 
-:      014356 mouse_32xx_init_param_1:
-0x411a 014357 setarg 0x2e54 
-0x411b 014358 call twspi_write 
-0x411c 014359 setarg 0xf255 
-0x411d 014360 call twspi_write 
-0x411e 014361 setarg 0xf461 
-0x411f 014362 call twspi_write 
-0x4120 014363 setarg 0x7063 
-0x4121 014364 call twspi_write 
-0x4122 014365 setarg 0x5275 
-0x4123 014366 call twspi_write 
-0x4124 014367 setarg 0x4176 
-0x4125 014368 call twspi_write 
-0x4126 014369 setarg 0xed77 
-0x4127 014370 call twspi_write 
-0x4128 014371 setarg 0x2378 
-0x4129 014372 call twspi_write 
-0x412a 014373 setarg 0x4679 
-0x412b 014374 call twspi_write 
-0x412c 014375 setarg 0xe57a 
-0x412d 014376 call twspi_write 
-0x412e 014377 setarg 0x487c 
-0x412f 014378 call twspi_write 
-0x4130 014379 setarg 0x777e 
-0x4131 014380 call twspi_write 
-0x4132 014381 setarg 0x017f 
-0x4133 014382 call twspi_write 
-0x4134 014383 setarg 0x000b 
-0x4135 014384 call twspi_write 
-0x4136 014385 setarg 0x007f 
-0x4137 014386 call twspi_write 
-0x4138 014387 branch mouse_sensor_enable_wp 
-:      014390 mouse_3205_3t_init_param:
-0x4139 014391 jam p3205 ,mem_config_sensor_type 
-0x413a 014392 call mouse_sensor_disable_wp 
-0x413b 014393 setarg 0x100d 
-0x413c 014394 call twspi_write 
-0x413d 014395 setarg 0xed1d 
-0x413e 014396 call twspi_write 
-0x413f 014397 setarg 0x807d 
-0x4140 014398 call twspi_write 
-0x4141 014399 call mouse_32xx_init_param 
-0x4142 014400 setarg 0x0943 
-0x4143 014401 call twspi_write 
-0x4144 014402 branch mouse_32xx_init_param_1 
-:      014405 mouse_init_3610sensor_reset:
-0x4145 014406 fetcht 1 ,mem_sensor_reset_gpio 
-0x4146 014407 call gpio_out_active 
-0x4147 014408 call delay_10ms 
-0x4148 014409 fetcht 1 ,mem_sensor_reset_gpio 
-0x4149 014410 call gpio_out_inactive 
-0x414a 014411 branch delay_10ms 
-:      014413 mouse_init_p3610:
-0x414b 014414 jam p3610 ,mem_config_sensor_type 
-0x414c 014415 setarg 0xba41 
-0x414d 014416 call sensor_write 
-0x414e 014417 setarg 0x0d11 
-0x414f 014418 call sensor_write 
-0x4150 014419 setarg 0x041b 
-0x4151 014420 call sensor_write 
-0x4152 014421 setarg 0x041c 
-0x4153 014422 call sensor_write 
-0x4154 014423 setarg 0x0f1d 
-0x4155 014424 call sensor_write 
-0x4156 014425 setarg 0x0032 
-0x4157 014426 call sensor_write 
-0x4158 014427 setarg 0xb541 
-0x4159 014428 branch sensor_write 
-:      014432 mouse_set_sensor_reg:
-0x415a 014433 setarg 0xba41 
-0x415b 014434 call sensor_write 
-0x415c 014435 nop 4000 
-0x415d 014436 setarg 0xff7f 
-0x415e 014437 call sensor_write 
-0x415f 014438 copy rega ,pdata 
-0x4160 014439 call sensor_write 
-0x4161 014440 setarg 0x007f 
-0x4162 014441 call sensor_write 
-0x4163 014442 setarg 0xb541 
-0x4164 014443 branch sensor_write 
-:      014445 extsign:
-0x4165 014446 rtnbit0 7 
-0x4166 014447 arg 0xff00 ,temp 
-0x4167 014448 ior temp ,pdata 
-0x4168 014449 rtn 
-:      014451 extsign_bit3:
-0x4169 014452 rtnbit0 3 
-0x416a 014453 arg 0xf0 ,temp 
-0x416b 014454 ior temp ,pdata 
-0x416c 014455 rtn 
-:      014458 mouse_le:
-0x416d 014459 call le_fifo_check_nearly_full 
-0x416e 014460 nrtn blank 
-0x416f 014461 fetch 1 ,mem_le_connect_status_flag 
-0x4170 014462 and pdata ,0x03 ,pdata 
-0x4171 014463 rtnne 0x03 
-0x4172 014464 fetch mouse_flag_len ,mem_mouse_flag 
-0x4173 014465 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
-0x4174 014466 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
-0x4175 014467 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
-0x4176 014468 call mouse_motion 
-0x4177 014469 nrtn user 
-0x4178 014470 branch mouse_fill_data_le 
-:      014472 mouse_le_send_empty_packet:
-0x4179 014473 setarg 0 
-0x417a 014474 store 7 ,mem_mouse_key 
-0x417b 014475 branch mouse_fill_data_le 
-:      014477 mouse_priority_bb_event:
-0x417c 014478 copy regc ,pdata 
-0x417d 014479 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
-0x417e 014480 beq bt_evt_bb_connected ,mouse_stop_discovery 
-0x417f 014481 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
-0x4180 014482 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
-0x4181 014483 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
-0x4182 014484 beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
-0x4183 014485 beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
-0x4184 014486 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
-0x4185 014487 beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
-0x4186 014488 beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
-0x4187 014489 beq bt_evt_pincode_req ,mouse_bb_event_pincode 
-0x4188 014490 beq bt_evt_remote_unsniff ,app_start_auto_sniff 
-0x4189 014491 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
-0x418a 014492 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
-0x418b 014493 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
-0x418c 014494 beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
-0x418d 014495 beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
-0x418e 014496 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
-0x418f 014497 beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
-0x4190 014498 rtn 
-:      014501 mouse_le_pairing_complete:
-0x4191 014502 branch app_ble_store_reconn_info 
-:      014504 mouse_24g_attempt_fail:
-0x4192 014505 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0x4193 014506 fetch 1 ,mem_reconn_times 
-0x4194 014507 nbranch mouse_polling_device ,blank 
-0x4195 014508 fetch 1 ,mem_device_flag 
-0x4196 014509 fetcht 1 ,mem_24g_device_number 
-0x4197 014510 isub temp ,null 
-0x4198 014511 branch app_enter_hibernate ,zero 
-0x4199 014512 rtn 
-:      014513 mouse_24g_attempt_success:
-0x419a 014514 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0x419b 014515 rtn 
-:      014516 mouse_24g_pairing_complete:
-0x419c 014517 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0x419d 014518 arg mosue_24g_pairing_flag ,queue 
-0x419e 014519 call mouse_disable_function_flag 
-0x419f 014520 setarg 0 
-0x41a0 014521 store 2 ,mem_24g_pairing_timer_count 
-0x41a1 014522 jam 0 ,mem_mouse_move_flag 
-0x41a2 014524 fetch 1 ,mem_config_sensor_type 
-0x41a3 014525 sub pdata ,p3610 ,null 
-0x41a4 014526 call mouse_read_sensor3610_data ,zero 
-0x41a5 014527 ncall mouse_read_sensor_common ,zero 
-0x41a6 014529 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
-0x41a7 014530 bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
-0x41a8 014531 call mouse_set_24g_addr_eeprom 
-0x41a9 014532 branch iicd_write_protect_eep_data 
-:      014534 mouse_set_24g_addr_eeprom:
-0x41aa 014535 call g24_head_ptr2regc 
-0x41ab 014536 add regc ,offset_24g_addr ,rega 
-0x41ac 014537 arg mouse_g24_addr_eeprom_offect ,regb 
-0x41ad 014538 arg 4 ,temp 
-0x41ae 014539 rtn 
-:      014541 mouse_store_flash_24g_address:
-0x41af 014542 call g24_head_ptr2regc 
-0x41b0 014543 add regc ,offset_24g_addr ,regb 
-0x41b1 014544 ifetch 1 ,regb 
-0x41b2 014545 store 1 ,mem_mouse_24g_addr 
-0x41b3 014546 branch mouse_store_flash_device_info 
-:      014549 mouse_le_pairing_success:
-0x41b4 014550 arg ll_pairing_success_flag ,queue 
-0x41b5 014551 branch mouse_le_enable_connect_flag 
-:      014552 mouse_le_ll_start_encryt:
-0x41b6 014553 jam 2 ,mem_le_start_encrypt_timer 
-0x41b7 014554 arg ll_start_enc_flag ,queue 
-0x41b8 014555 branch mouse_le_enable_connect_flag 
-:      014558 mouse_le_enable_connect_flag:
-0x41b9 014559 fetch 1 ,mem_le_connect_status_flag 
-0x41ba 014560 qset1 pdata 
-0x41bb 014561 store 1 ,mem_le_connect_status_flag 
-0x41bc 014562 rtn 
-:      014564 mouse_le_disable_connect_flag:
-0x41bd 014565 fetch 1 ,mem_le_connect_status_flag 
-0x41be 014566 qset0 pdata 
-0x41bf 014567 store 1 ,mem_le_connect_status_flag 
-0x41c0 014568 rtn 
-:      014569 mouse_le_clean_connect_flag:
-0x41c1 014570 jam 0 ,mem_le_connect_status_flag 
-0x41c2 014571 rtn 
-:      014573 mouse_le_bb_event_connected:
-0x41c3 014574 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x41c4 014575 set0 app_disc_by_button ,pdata 
-0x41c5 014576 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
-0x41c6 014577 setarg 0 
-0x41c7 014578 store 2 ,mem_mouse_direct_timer 
-0x41c8 014579 call mouse_no_data_timer_init 
-0x41c9 014580 branch mouse_stop_discovery 
-:      014582 mouse_bb_event_pincode:
-0x41ca 014583 call pincode_reinit 
-0x41cb 014584 branch app_bt_set_pincode 
-:      014585 mouse_bb_event_reconn_timeout:
-:      014586 mouse_bb_event_reconn_failed:
-0x41cc 014587 fetch 1 ,mem_reconn_times 
-0x41cd 014588 nbranch mouse_polling_device ,blank 
-0x41ce 014589 fetch 2 ,mem_ui_state_map 
-0x41cf 014590 bbit1 ui_state_btn_down ,mouse_start_discovery 
-0x41d0 014591 fetch mouse_flag_len ,mem_mouse_flag 
-0x41d1 014592 bbit1 mouse_select_device_flag ,mouse_soft_reset 
-0x41d2 014593 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
-0x41d3 014594 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
-0x41d4 014595 branch app_bb_hibernate 
-:      014598 mouse_bt_hid_connected:
-0x41d5 014599 branch mouse_hid_connected 
-:      014601 mouse_bt_event_setup_complete:
-0x41d6 014602 rtn 
-:      014604 mouse_soft_reset:
-0x41d7 014605 call mouse_select_device_enable 
-0x41d8 014606 branch soft_reset_chip 
-:      014608 mouse_bb_disconnected:
-0x41d9 014609 bpatch patch1d_1 ,mem_patch1d 
-0x41da 014610 call mouse_bb_discon_clear_stack 
-0x41db 014611 fetch mouse_flag_len ,mem_mouse_flag 
-0x41dc 014612 bbit1 mouse_select_device_flag ,mouse_soft_reset 
-0x41dd 014613 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
-0x41de 014614 fetch 1 ,mem_reconn_times 
-0x41df 014615 nbranch mouse_polling_device ,blank 
-0x41e0 014616 fetch app_disc_rsn_size ,mem_app_disconn_reason 
-0x41e1 014617 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
-0x41e2 014618 bbit1 app_disc_by_button ,app_disconn_reason_clear 
-0x41e3 014619 bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
-0x41e4 014620 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
-0x41e5 014621 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
-0x41e6 014622 branch mouse_start_discovery 
-:      014623 mouse_bb_discon_clear_stack:
-0x41e7 014624 setarg 0 
-0x41e8 014625 store 8 ,mem_wheel_tb_old_pinlevel 
-0x41e9 014626 istore 4 ,contw 
-0x41ea 014627 jam 0 ,mem_mouse_send_blank_timer 
-0x41eb 014628 jam 0 ,mem_mouse_move_flag 
-0x41ec 014629 jam app_handshake_null ,mem_app_handshake_flag 
-0x41ed 014630 jam 0 ,mem_ltk_exists 
-0x41ee 014631 rtn 
-:      014633 mouse_event_light_state_pairing:
-0x41ef 014634 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
-0x41f0 014635 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
-0x41f1 014636 branch mouse_start_discovery 
-:      014637 mouse_event_light_state_hibernate:
-0x41f2 014638 fetch 2 ,mem_ui_state_map 
-0x41f3 014639 bbit1 ui_state_btn_down ,mouse_start_discovery 
-0x41f4 014640 branch app_bb_hibernate 
-:      014642 mouse4_0_event_bb_disconn:
-0x41f5 014643 call mouse_le_clean_connect_flag 
-0x41f6 014644 fetch app_disc_rsn_size ,mem_app_disconn_reason 
-0x41f7 014645 bbit1 app_disc_by_button ,app_disconn_reason_clear 
-0x41f8 014646 branch app_bb_hibernate 
-:      014648 mouse_bb_event_timer:
-0x41f9 014649 call mouse_adc_read 
-0x41fa 014650 call mouse_24g_delay_timer 
-0x41fb 014651 call mouse_ban_24g_pairing_timer 
-0x41fc 014652 call mouse_dpi_led_blink_delay_timer 
-0x41fd 014653 call mouse_statue_up_timer 
-0x41fe 014655 call mouse_statue_cheak_timer 
-0x41ff 014656 call mouse_select_device 
-0x4200 014657 call mouse_bt_discovery_cheak 
-0x4201 014658 call mouse_low_voltage_led_timer 
-0x4202 014659 call mouse_sensor_led_contrl_timer 
-0x4203 014660 call mouse_check_hid_handshake_timer 
-0x4204 014661 call mouse_check_discovery_timeout_timer 
-0x4205 014662 call mouse_check_direct_timeout_timer 
-0x4206 014663 call mouse_check_no_data_timeout_timer 
-0x4207 014664 call mouse_check_mouse_state_timer 
-0x4208 014665 branch mouse_le_enable_att_list_timer 
-:      014669 mouse_sensor_led_contrl_timer:
-0x4209 014670 fetch 1 ,mem_mouse_sensor_timer_count 
-0x420a 014671 rtn blank 
-0x420b 014672 increase -1 ,pdata 
-0x420c 014673 store 1 ,mem_mouse_sensor_timer_count 
-0x420d 014674 nrtn blank 
-0x420e 014675 branch mouse_sensor_led_contrl 
-:      014676 mouse_sensor_led_contrl:
-0x420f 014677 fetch 1 ,mem_sensor_led_style 
-0x4210 014678 rtneq ui_led_state_blink_stop 
-0x4211 014679 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
-:      014680 mouse_sensor_led_blink_state_lighting:
-0x4212 014681 call mouse_sensor_led_on 
-0x4213 014682 jam ui_led_state_blink_darking ,mem_sensor_led_style 
-0x4214 014683 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
-0x4215 014684 rtn 
-:      014685 mouse_sensor_led_blink_state_darking:
-0x4216 014686 call mouse_sensor_led_off 
-0x4217 014687 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
-0x4218 014688 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
-0x4219 014689 rtn 
-:      014691 mouse_sensor_led_blink_stop:
-:      014692 mouse_sensor_reset:
-0x421a 014693 setarg 0x8006 
-0x421b 014694 call twspi_write 
-0x421c 014695 nop 1000 
-0x421d 014696 jam 0x00 ,mem_mouse_sensor_timer_count 
-0x421e 014697 jam ui_led_state_blink_stop ,mem_sensor_led_style 
-0x421f 014698 branch mouse_init_p32xx_id2_judge 
-:      014700 mouse_p3212sensor_led_on:
-0x4220 014701 setarg 0xa006 
-0x4221 014702 call twspi_write 
-0x4222 014703 setarg 0xa005 
-0x4223 014704 branch twspi_write 
-:      014705 mouse_sensor_led_on_global:
-0x4224 014706 jam 0 ,mem_mouse_sensor_timer_count 
-:      014707 mouse_sensor_led_on:
-0x4225 014708 fetch 1 ,mem_config_sensor_type 
-0x4226 014709 beq p3212 ,mouse_p3212sensor_led_on 
-0x4227 014710 setarg 0x0106 
-0x4228 014711 call twspi_write 
-0x4229 014712 setarg 0xa105 
-0x422a 014713 branch twspi_write 
-:      014715 mouse_sensor_led_off_global:
-0x422b 014716 jam 0 ,mem_mouse_sensor_timer_count 
-:      014717 mouse_sensor_led_off:
-0x422c 014718 setarg 0x0906 
-0x422d 014719 branch twspi_write 
-:      014720 mouse_sensor_start_blink:
-0x422e 014721 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
-0x422f 014722 jam ui_led_state_blink_start ,mem_sensor_led_style 
-0x4230 014723 rtn 
-:      014725 mouse_check_hid_handshake_timer:
-0x4231 014726 arg mem_hid_handshake_timer_count ,regc 
-0x4232 014727 arg mouse_bt_hid_handshake ,regb 
-0x4233 014728 branch timer_single_step 
-:      014730 mouse_check_discovery_timeout_timer:
-0x4234 014731 arg mem_mouse_discovery_timer ,regc 
-0x4235 014732 arg mouse_check_discovery_timeout ,regb 
-0x4236 014733 branch timer_single_step_2b 
-:      014735 mouse_check_direct_timeout_timer:
-0x4237 014736 arg mem_mouse_direct_timer ,regc 
-0x4238 014737 arg mouse_check_direct_timeout ,regb 
-0x4239 014738 branch timer_single_step_2b 
-:      014740 mouse_check_no_data_timeout_timer:
-0x423a 014741 arg mem_mouse_no_data_timer ,regc 
-0x423b 014742 arg mouse_check_no_data_timeout ,regb 
-0x423c 014743 branch timer_single_step_2b 
-:      014745 mouse_check_mouse_state_timer:
-0x423d 014746 arg mem_mouse_statue_led_timer ,regc 
-0x423e 014747 arg mouse_statue_led_off ,regb 
-0x423f 014748 branch timer_single_step 
-:      014752 mouse_le_enable_att_list_timer:
-0x4240 014753 arg mem_le_start_encrypt_timer ,regc 
-0x4241 014754 arg mouse_le_enable_att_list ,regb 
-0x4242 014755 branch timer_single_step 
-:      014757 mouse_24g_delay_timer:
-0x4243 014758 arg mem_24g_enter_lpm_timer ,regc 
-0x4244 014759 arg mouse_24g_delay ,regb 
-0x4245 014760 branch timer_single_step 
-:      014762 mouse_ban_24g_pairing_timer:
-0x4246 014763 arg mem_24g_pairing_timer_count ,regc 
-0x4247 014764 arg mouse_ban_24g_pairing ,regb 
-0x4248 014765 branch timer_single_step_2b 
-:      014766 mouse_ban_24g_pairing:
-:      014767 mouse_24g_delay:
-0x4249 014768 rtn 
-:      014771 mosue_dpi_led_blink_init:
-0x424a 014772 fetch mouse_flag_len ,mem_mouse_flag 
-0x424b 014773 rtnbit0 mouse_enable_dpi_led_blink 
-0x424c 014774 jam 10 ,mem_mouse_dpi_led_delay_count 
-0x424d 014775 fetch 1 ,mem_dpi_led_gpio 
-0x424e 014776 store 1 ,mem_mouse_struct_led_gpio 
-0x424f 014777 rtn 
-:      014780 mouse_dpi_led_blink_delay_timer:
-0x4250 014781 arg mem_mouse_dpi_led_delay_count ,regc 
-0x4251 014782 arg mouse_dpi_led_setting ,regb 
-0x4252 014783 branch timer_single_step 
-:      014784 mouse_dpi_led_setting:
-0x4253 014785 fetch 1 ,mem_dpi_led_gpio 
-0x4254 014786 store 1 ,mem_mouse_struct_led_gpio 
-0x4255 014787 setarg led_dpi_blink 
-0x4256 014788 store 2 ,mem_mouse_on_time 
-0x4257 014789 store 2 ,mem_mouse_off_time 
-0x4258 014790 arg 0 ,rega 
-0x4259 014791 fetcht 1 ,mem_mouse_dpi 
-0x425a 014792 increase 1 ,temp 
-0x425b 014793 storet 1 ,mem_mouse_blink_count 
-0x425c 014794 jam ui_led_state_blink_start ,mem_mouse_led_type 
-0x425d 014795 rtn 
-:      014797 mouse_le_enable_att_list:
-0x425e 014798 fetch 1 ,mem_le_connect_status_flag 
-0x425f 014799 rtnbit1 ll_pairing_success_flag 
-0x4260 014800 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-0x4261 014801 call ui_ipc_send_cmd 
-0x4262 014802 arg write_req_enable_flag ,queue 
-0x4263 014803 branch mouse_le_enable_connect_flag 
-:      014806 mouse_check_discovery_timeout:
-0x4264 014807 call mouse_stop_discovery 
-0x4265 014808 branch app_enter_hibernate 
-:      014810 mouse_check_direct_timeout:
-0x4266 014811 call app_ble_stop_direct_adv 
-0x4267 014812 fetch 1 ,mem_reconn_times 
-0x4268 014813 nbranch mouse_polling_device ,blank 
-0x4269 014814 branch app_enter_hibernate 
-:      014816 mouse_check_no_data_timeout:
-0x426a 014817 bmark1 mark_24g ,check_51cmd_hibernate 
-0x426b 014818 branch mouse_disconnect 
-:      014822 mouse_bb_event_discovery_btn:
-0x426c 014823 bpatch patch1d_2 ,mem_patch1d 
-0x426d 014824 jam 0 ,mem_mouse_send_blank_timer 
-0x426e 014825 call mouse_disconnect 
-0x426f 014826 call mouse_le_clean_connect_flag 
-0x4270 014827 branch mouse_start_discovery 
-:      014831 mouse3_0_check_reconn_target:
-0x4271 014832 fetch 6 ,mem_hci_plap 
-0x4272 014833 branch app_bt_start_discovery_short ,blank 
-0x4273 014834 call mouse_reconn_setting_led_gpio 
-0x4274 014835 jam 0x17 ,mem_connection_options 
-0x4275 014836 fetch 1 ,mem_ssp_enable 
-0x4276 014837 nbranch app_bt_start_reconnect ,blank 
-0x4277 014838 jam 0x04 ,mem_connection_options 
-0x4278 014839 branch app_bt_start_reconnect 
-:      014841 mouse4_0_check_reconn_target:
-0x4279 014842 fetch 2 ,mem_mouse_direct_timeout 
-0x427a 014843 store 2 ,mem_mouse_direct_timer 
-0x427b 014844 call mouse_reconn_setting_led_gpio 
-0x427c 014845 call app_lpm_mult_disable 
-0x427d 014846 branch check_51cmd_adv 
-:      014848 mouse_reconn_setting_led_gpio:
-0x427e 014849 setarg led_reconnect_blink 
-0x427f 014850 store 2 ,mem_mouse_on_time 
-0x4280 014851 store 2 ,mem_mouse_off_time 
-0x4281 014852 branch mouse_setting_led_gpio_comman 
-:      014854 mouse_discover_setting_led_gpio:
-0x4282 014855 setarg led_discovery_blink 
-0x4283 014856 store 2 ,mem_mouse_on_time 
-0x4284 014857 store 2 ,mem_mouse_off_time 
-:      014858 mouse_setting_led_gpio_comman:
-0x4285 014859 fetch 1 ,mem_device_flag 
-0x4286 014860 beq mode_bt_device1 ,mouse_device_led1 
-0x4287 014861 beq mode_bt_device2 ,mouse_device_led2 
-0x4288 014862 beq mode_bt_device3 ,mouse_device_led3 
-0x4289 014863 rtn 
-:      014864 mouse_device_led1:
-0x428a 014865 fetch 1 ,mem_config_device1_led_gpio 
-0x428b 014866 branch mouse_led_blink 
-:      014867 mouse_device_led2:
-0x428c 014868 fetch 1 ,mem_config_device2_led_gpio 
-0x428d 014869 branch mouse_led_blink 
-:      014870 mouse_device_led3:
-0x428e 014871 fetch 1 ,mem_config_device3_led_gpio 
-:      014872 mouse_led_blink:
-0x428f 014873 store 1 ,mem_temp 
-0x4290 014874 call mouse_devce_led_off 
-0x4291 014875 fetch 1 ,mem_temp 
-0x4292 014876 store 1 ,mem_mouse_struct_led_gpio 
-0x4293 014877 arg 0 ,rega 
-0x4294 014878 jam ui_led_state_blink_start ,mem_mouse_led_type 
-0x4295 014879 branch ui_led_blink_start_global 
-:      014881 mouse_led_off:
-0x4296 014882 arg 0 ,rega 
-0x4297 014883 branch ui_led_off_global 
-:      014884 mouse_led_on:
-0x4298 014885 arg 0 ,rega 
-0x4299 014886 branch ui_led_on_global 
-:      014888 mouse4_0_bb_event_discovery_btn:
-0x429a 014889 branch mouse_le_clean_connect_flag 
-:      014891 mouse_bt_hid_handshake:
-0x429b 014892 jam app_handshake_done ,mem_app_handshake_flag 
-0x429c 014893 call app_lpm_mult_enable 
-0x429d 014894 call app_bt_store_reconn_info 
-0x429e 014895 setarg 0 
-0x429f 014896 store 2 ,mem_discovery_timeout_timer_count 
-0x42a0 014897 store 1 ,mem_hid_handshake_timer_count 
-0x42a1 014898 branch app_bt_enter_sniff 
-:      014900 mouse_check_reconn_target:
-0x42a2 014901 call mouse_cheak_select_device_by_switch 
-0x42a3 014902 fetch 1 ,mem_device_flag 
-0x42a4 014903 fetcht 1 ,mem_24g_device_number 
-0x42a5 014904 isub temp ,null 
-0x42a6 014905 branch mouse_connect_24g_mode ,zero 
-0x42a7 014906 fetch 1 ,mem_xrecord_mode 
-0x42a8 014907 beq rec_3_mode ,mouse3_0_check_reconn_target 
-0x42a9 014908 beq rec_4_mode ,mouse4_0_check_reconn_target 
-0x42aa 014909 branch mouse_start_discovery 
-:      014910 mouse_connect_24g_mode:
-0x42ab 014911 call mouse_start_24g_mode 
-0x42ac 014912 rtnmark1 mark_24g 
-0x42ad 014913 fetch 1 ,mem_reconn_times 
-0x42ae 014914 nbranch mouse_polling_device ,blank 
-0x42af 014915 rtn 
-:      014917 mouse_start_discovery:
-0x42b0 014918 bpatch patch1d_3 ,mem_patch1d 
-0x42b1 014919 fetch 2 ,mem_ui_state_map 
-0x42b2 014920 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
-0x42b3 014921 fetch mouse_flag_len ,mem_mouse_flag 
-0x42b4 014922 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
-0x42b5 014923 random pdata 
-0x42b6 014924 store 1 ,mem_le_lap + 1 
-:      014925 mouse_start_discovery_norandom:
-0x42b7 014926 call app_lpm_mult_disable 
-0x42b8 014927 fetch 2 ,mem_discovery_timeout 
-0x42b9 014928 store 2 ,mem_mouse_discovery_timer 
-0x42ba 014929 jam 6 ,mem_connection_options 
-0x42bb 014930 setarg 0 
-0x42bc 014931 store 2 ,mem_mouse_no_data_timer 
-0x42bd 014932 store 2 ,mem_mouse_direct_timer 
-0x42be 014933 arg mouse_store_eeprom_flag ,queue 
-0x42bf 014934 call mouse_enable_function_flag 
-0x42c0 014935 call mouse_bt_discovery_button_down_disable 
-0x42c1 014936 fetch 1 ,mem_device_option 
-0x42c2 014937 isolate1 mode_4_mouse ,pdata 
-0x42c3 014938 call check_51cmd_adv ,true 
-0x42c4 014939 fetch 1 ,mem_device_option 
-0x42c5 014940 isolate1 mode_3_mouse ,pdata 
-0x42c6 014941 call check_51cmd_start_discovery ,true 
-0x42c7 014942 fetch mouse_flag_len ,mem_mouse_flag 
-0x42c8 014943 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
-0x42c9 014944 branch mouse_discover_setting_led_gpio 
-:      014946 mouse_stop_discovery:
-0x42ca 014947 bpatch patch1d_4 ,mem_patch1d 
-0x42cb 014948 fetch 1 ,mem_device_option 
-0x42cc 014949 isolate1 mode_4_mouse ,pdata 
-0x42cd 014950 call mouse_stop_le_adv ,true 
-0x42ce 014951 fetch 1 ,mem_device_option 
-0x42cf 014952 isolate1 mode_3_mouse ,pdata 
-0x42d0 014953 call mouse_stop_bt3_discovery ,true 
-0x42d1 014954 fetch mouse_flag_len ,mem_mouse_flag 
-0x42d2 014955 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
-0x42d3 014956 branch mouse_devce_led_off 
-:      014957 mouse_stop_le_adv:
-0x42d4 014958 setarg 0 
-0x42d5 014959 store 2 ,mem_mouse_direct_timer 
-0x42d6 014960 branch check_51cmd_stop_adv 
-:      014961 mouse_stop_bt3_discovery:
-0x42d7 014962 setarg 0 
-0x42d8 014963 store 2 ,mem_mouse_discovery_timer 
-0x42d9 014964 branch check_51cmd_stop_discovery 
-:      014970 mouse_store_remote_bdaddr:
-0x42da 014971 fetch mouse_flag_len ,mem_mouse_flag 
-0x42db 014972 rtnbit0 mouse_store_eeprom_flag 
-0x42dc 014973 arg mouse_store_eeprom_flag ,queue 
-0x42dd 014974 call mouse_disable_function_flag 
-0x42de 014975 call mouse_check_device_addr 
-:      014976 mouse_unplug_clean_bdaddr:
-0x42df 014977 call mouse_before_store_reconn_info 
-0x42e0 014978 fetch mouse_flag_len ,mem_mouse_flag 
-0x42e1 014979 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
-0x42e2 014980 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
-0x42e3 014981 rtn 
-:      014982 mouse_store_eeprom_device_info:
-0x42e4 014983 arg 88 ,temp 
-0x42e5 014984 arg mem_device_flag ,rega 
-0x42e6 014985 arg mouse_info_eeprom_offect ,regb 
-0x42e7 014986 branch iicd_write_protect_eep_data 
-:      014988 mouse_check_device_addr:
-0x42e8 014989 fetch 1 ,mem_record_bt_mode 
-0x42e9 014990 beq rec_4_mode ,mouse_check_le_device_addr 
-0x42ea 014991 beq rec_3_mode ,mouse_check_bt_device_addr 
-0x42eb 014992 rtn 
-:      014993 mouse_check_le_device_addr:
-0x42ec 014994 store 1 ,mem_device_addr_temp 
-0x42ed 014995 fetch 6 ,mem_le_plap 
-0x42ee 014996 branch mouse_check_bt_device_addr_common 
-:      014997 mouse_check_bt_device_addr:
-0x42ef 014998 store 1 ,mem_device_addr_temp 
-0x42f0 014999 fetch 6 ,mem_plap 
-:      015000 mouse_check_bt_device_addr_common:
-0x42f1 015001 store 6 ,mem_device_addr_temp + 1 
-0x42f2 015002 fetch 7 ,mem_device_addr_temp 
-0x42f3 015003 arg mem_device1_type ,contr 
-0x42f4 015004 arg 3 ,loopcnt 
-:      015005 mouse_check_device_addr_end:
-0x42f5 015006 ifetcht 7 ,contr 
-0x42f6 015007 isub temp ,null 
-0x42f7 015008 branch mouse_clean_addr ,zero 
-0x42f8 015009 increase 22 ,contr 
-0x42f9 015010 loop mouse_check_device_addr_end 
-0x42fa 015011 rtn 
-:      015012 mouse_before_store_reconn_info:
-0x42fb 015013 arg mem_device1_type ,rega 
-0x42fc 015014 fetch 1 ,mem_device_flag 
-0x42fd 015015 increase -1 ,pdata 
-0x42fe 015016 mul32 pdata ,29 ,pdata 
-0x42ff 015017 iadd rega ,rega 
-0x4300 015018 fetch 1 ,mem_record_bt_mode 
-0x4301 015019 istore 1 ,rega 
-0x4302 015020 beq rec_4_mode ,mouse_store_le_device 
-0x4303 015021 beq rec_3_mode ,mouse_store_bt_device 
-0x4304 015022 rtn 
-:      015024 mouse_store_le_device:
-0x4305 015025 fetch 6 ,mem_le_plap 
-0x4306 015026 istore 6 ,contw 
-0x4307 015027 arg mem_le_ltk ,contr 
-0x4308 015028 call memcpy16 
-0x4309 015029 fetch 6 ,mem_le_lap 
-0x430a 015030 istore 6 ,contw 
-0x430b 015031 rtn 
-:      015032 mouse_store_bt_device:
-0x430c 015033 fetch 6 ,mem_plap 
-0x430d 015034 istore 6 ,contw 
-0x430e 015035 arg mem_link_key ,contr 
-0x430f 015036 branch memcpy16 
-:      015038 mouse_clean_addr:
-0x4310 015039 increase -6 ,contr 
-0x4311 015040 copy contr ,contw 
-0x4312 015041 fetcht 6 ,mem_device_addr_temp + 1 
-0x4313 015042 increase 3 ,temp 
-0x4314 015043 istoret 6 ,contw 
-0x4315 015044 rtn 
-:      015048 mouse_eeprom_load_recon_info:
-0x4316 015049 arg 88 ,temp 
-0x4317 015050 arg mem_device_flag ,rega 
-0x4318 015051 arg mouse_info_eeprom_offect ,regb 
-0x4319 015052 call iicd_read_eep_data 
-:      015053 mouse_select_reconn_device:
-0x431a 015054 arg mem_device1_type ,rega 
-0x431b 015055 fetch 1 ,mem_device_flag 
-0x431c 015056 fetcht 1 ,mem_24g_device_number 
-0x431d 015057 isub temp ,null 
-0x431e 015058 rtn zero 
-0x431f 015059 increase -1 ,pdata 
-0x4320 015060 mul32 pdata ,29 ,pdata 
-0x4321 015061 iadd rega ,rega 
-0x4322 015062 ifetch 1 ,rega 
-0x4323 015063 store 1 ,mem_xrecord_mode 
-0x4324 015064 beq rec_3_mode ,mouse_load_bt_device 
-0x4325 015065 beq rec_4_mode ,mouse_load_le_device 
-0x4326 015066 rtn 
-:      015068 mouse_load_bt_device:
-0x4327 015069 ifetch 6 ,contr 
-:      015070 mouse_load_bt_device_end:
-0x4328 015071 store 6 ,mem_hci_plap 
-0x4329 015072 arg mem_link_key ,contw 
-0x432a 015073 call memcpy16 
-0x432b 015074 branch check_link_key_load 
-:      015076 mouse_load_le_device:
-0x432c 015077 ifetch 6 ,contr 
-:      015078 mouse_load_le_device_end:
-0x432d 015079 store 6 ,mem_hci_plap 
-0x432e 015080 arg mem_le_ltk ,contw 
-0x432f 015081 call memcpy16 
-0x4330 015082 ifetch 6 ,contr 
-0x4331 015083 store 6 ,mem_le_lap 
-0x4332 015084 rtn 
-:      015087 mouse_select_device:
-0x4333 015088 fetch 1 ,mem_config_function_enable 
-0x4334 015089 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
-0x4335 015090 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
-0x4336 015091 branch mouse_select_device_by_combination_key 
-:      015093 mouse_select_device_by_combination_key:
-0x4337 015094 call mouse_check_key_gpio 
-0x4338 015095 beq mouse_rm_button ,mouse_select_device_commbination_key_down 
-:      015096 mouse_select_device_commbination_key_up:
-0x4339 015097 jam 30 ,mem_combination_select_device_count 
-0x433a 015098 fetch 1 ,mem_select_device_button_statue 
-0x433b 015099 rtneq dpi_button_state_up 
-0x433c 015100 jam dpi_button_state_up ,mem_select_device_button_statue 
-0x433d 015101 rtn 
-:      015103 mouse_select_device_commbination_key_down:
-0x433e 015104 call mouse_combination_select_device_timer 
-0x433f 015105 fetch 1 ,mem_select_device_button_statue 
-0x4340 015106 rtneq dpi_button_state_down 
-0x4341 015107 jam dpi_button_state_down ,mem_select_device_button_statue 
-0x4342 015108 branch mouse_select_device_enable 
-:      015110 mouse_combination_select_device_timer:
-0x4343 015111 fetch 1 ,mem_combination_select_device_count 
-0x4344 015112 rtn blank 
-0x4345 015113 pincrease -1 
-0x4346 015114 store 1 ,mem_combination_select_device_count 
-0x4347 015115 nrtn blank 
-0x4348 015116 branch mouse_ready_reconnection_by_button 
-:      015118 mouse_select_device_by_button:
-0x4349 015119 fetch 1 ,mem_config_select_device_button_gpio 
-0x434a 015120 rtneq gpio_disable 
-0x434b 015121 fetcht 1 ,mem_config_select_device_button_gpio 
-0x434c 015122 call gpio_get_bit 
-0x434d 015123 branch mouse_select_device_button_down ,true 
-:      015124 mouse_select_device_button_up:
-0x434e 015125 fetch 1 ,mem_select_device_button_statue 
-0x434f 015126 rtneq dpi_button_state_up 
-0x4350 015127 jam dpi_button_state_up ,mem_select_device_button_statue 
-0x4351 015128 fetch mouse_flag_len ,mem_mouse_flag 
-0x4352 015129 rtnbit1 mouse_long_bt_button_flag 
-0x4353 015130 branch mouse_ready_reconnection_by_button 
-:      015132 mouse_select_device_button_down:
-0x4354 015133 fetch 1 ,mem_select_device_button_statue 
-0x4355 015134 rtneq dpi_button_state_down 
-0x4356 015135 jam dpi_button_state_down ,mem_select_device_button_statue 
-0x4357 015136 arg mouse_long_bt_button_flag ,queue 
-0x4358 015137 branch mouse_disable_function_flag 
-:      015141 mouse_select_device_by_switch:
-0x4359 015142 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
-0x435a 015143 rtnbit0 enable_select_device_by_switch 
-0x435b 015144 fetch 1 ,mem_device_flag 
-0x435c 015145 beq mode_bt_device1 ,mouse_select1_device 
-0x435d 015146 beq mode_24g_device ,mouse_select2_device 
-0x435e 015147 rtn 
-:      015148 mouse_cheak_select_device_by_switch:
-0x435f 015149 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
-0x4360 015150 rtnbit0 enable_select_device_by_switch 
-0x4361 015151 fetcht 1 ,mem_config_select_device_button_gpio 
-0x4362 015152 call gpio_get_bit 
-0x4363 015153 branch mouse_cheak_select_24gdevice ,true 
-:      015154 mouse_select_btdevice:
-0x4364 015155 jam mode_bt_device1 ,mem_device_flag 
-0x4365 015156 rtn 
-:      015157 mouse_cheak_select_24gdevice:
-0x4366 015158 fetch 1 ,mem_24g_device_number 
-0x4367 015159 store 1 ,mem_device_flag 
-0x4368 015160 rtn 
-:      015161 mouse_select1_device:
-0x4369 015162 fetcht 1 ,mem_config_select_device_button_gpio 
-0x436a 015163 nbranch mouse_ready_reconnection_by_button ,true 
-0x436b 015164 rtn 
-:      015165 mouse_select2_device:
-0x436c 015166 fetcht 1 ,mem_config_select_device_button_gpio 
-0x436d 015167 call gpio_get_bit 
-0x436e 015168 branch mouse_select_device_button_down ,true 
-0x436f 015169 rtn 
-:      015174 mouse_ready_reconnection_by_button:
-0x4370 015175 fetcht 1 ,mem_device_flag 
-0x4371 015176 increase 1 ,temp 
-0x4372 015177 fetch 1 ,mem_device_number 
-0x4373 015178 isub temp ,null 
-0x4374 015179 ncall mouse_select_device_count_clean ,positive 
-0x4375 015180 storet 1 ,mem_device_flag 
-0x4376 015181 jam 0 ,mem_link_key_exists 
-0x4377 015182 call mouse_store_device_number2eeprom 
-0x4378 015183 call mouse_select_device_enable 
-0x4379 015185 branch mouse_set_reconnection 
-:      015187 mouse_store_device_number2eeprom:
-0x437a 015188 arg 1 ,temp 
-0x437b 015189 arg mem_device_flag ,rega 
-0x437c 015190 arg 0 ,regb 
-0x437d 015191 branch iicd_write_eep_data 
-:      015193 mouse_set_reconnection:
-0x437e 015194 call mouse_stop_bluetooth_mode 
-0x437f 015195 call mouse_select_device_disable 
-0x4380 015196 branch mouse_soft_reset 
-:      015197 mouse_stop_bluetooth_mode:
-0x4381 015198 fetch 2 ,mem_ui_state_map 
-0x4382 015199 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
-0x4383 015200 bbit1 ui_state_ble_connected ,app_ble_disconnect 
-0x4384 015201 bbit1 ui_state_bt_connected ,app_bt_disconnect 
-0x4385 015202 branch mouse_stop_discovery 
-:      015204 mouse_disconnect:
-0x4386 015205 bpatch patch1d_5 ,mem_patch1d 
-0x4387 015206 setarg 0 
-0x4388 015207 store 2 ,mem_mouse_no_data_timer 
-0x4389 015208 fetch 2 ,mem_ui_state_map 
-0x438a 015209 bbit1 ui_state_ble_connected ,app_ble_disconnect 
-0x438b 015210 fetch 2 ,mem_ui_state_map 
-0x438c 015211 bbit1 ui_state_bt_connected ,app_bt_disconnect 
-0x438d 015212 rtn 
-:      015214 mouse_irtual_cable_unplug:
-0x438e 015215 setarg 0x01 
-0x438f 015216 store 6 ,mem_plap 
-0x4390 015217 jam rec_3_mode ,mem_record_bt_mode 
-0x4391 015218 branch mouse_unplug_clean_bdaddr 
-:      015221 mouse_cancel_reconnect:
-0x4392 015222 call mouse_bt_cannel_reconn_enable 
-0x4393 015223 branch check_51cmd_bb_reconn_cancel 
-:      015225 mouse_bt_discovery_by_button:
-0x4394 015226 fetch 1 ,mem_config_bt_button_gpio 
-0x4395 015227 rtneq gpio_disable 
-0x4396 015228 fetcht 1 ,mem_config_bt_button_gpio 
-0x4397 015229 call gpio_get_bit 
-0x4398 015230 branch mouse_bt_discovery_button_down ,true 
-:      015231 mouse_bt_discovery_button_up:
-0x4399 015232 fetch 1 ,mem_ui_button_timeout 
-0x439a 015233 store 1 ,mem_combination_ui_button_count 
-0x439b 015234 fetch 1 ,mem_bt_discovey_button_statue 
-0x439c 015235 rtneq dpi_button_state_up 
-0x439d 015236 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
-0x439e 015237 branch mouse_bt_discovery_button_down_disable 
-:      015238 mouse_bt_discovery_button_down:
-0x439f 015239 call mouse_bt_discovry_timer 
-0x43a0 015240 fetch 1 ,mem_bt_discovey_button_statue 
-0x43a1 015241 rtneq dpi_button_state_down 
-0x43a2 015242 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
-0x43a3 015243 call check_51cmd_bb_reconn_cancel 
-0x43a4 015244 branch mouse_bt_discovery_button_down_enable 
-:      015247 mouse_bt_discovery_cheak:
-0x43a5 015248 fetch 1 ,mem_config_function_enable 
-0x43a6 015249 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
-:      015250 mouse_bt_discovery_commbination_key:
-0x43a7 015251 call mouse_check_key_gpio 
-0x43a8 015252 beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
-:      015253 mouse_bt_discovery_commbination_key_up:
-0x43a9 015254 fetch 1 ,mem_ui_button_timeout 
-0x43aa 015255 store 1 ,mem_combination_ui_button_count 
-0x43ab 015256 fetch 1 ,mem_bt_discovey_button_statue 
-0x43ac 015257 rtneq dpi_button_state_up 
-0x43ad 015258 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
-0x43ae 015259 branch mouse_bt_discovery_button_down_disable 
-:      015262 mouse_bt_discovery_commbination_key_down:
-0x43af 015263 call mouse_bt_discovry_timer 
-0x43b0 015264 fetch 1 ,mem_bt_discovey_button_statue 
-0x43b1 015265 rtneq dpi_button_state_down 
-0x43b2 015266 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
-0x43b3 015267 call check_51cmd_bb_reconn_cancel 
-0x43b4 015268 branch mouse_bt_discovery_button_down_enable 
-:      015270 mouse_bt_discovry_timer:
-0x43b5 015271 arg mem_combination_ui_button_count ,regc 
-0x43b6 015272 arg mouse_long_button_bt_discovry ,regb 
-0x43b7 015273 branch timer_single_step 
-:      015275 mouse_long_button_bt_discovry:
-0x43b8 015276 arg mouse_long_bt_button_flag ,queue 
-0x43b9 015277 call mouse_enable_function_flag 
-0x43ba 015278 call app_evt_button_long_pressed 
-0x43bb 015279 branch mouse_bb_event_discovery_btn 
-:      015282 mouse_cpi_enable:
-0x43bc 015283 arg mouse_cpi_flag ,queue 
-0x43bd 015284 branch mouse_enable_function_flag 
-:      015285 mouse_cpi_disable:
-0x43be 015286 arg mouse_cpi_flag ,queue 
-0x43bf 015287 branch mouse_disable_function_flag 
-:      015288 mouse_select_device_enable:
-0x43c0 015289 arg mouse_select_device_flag ,queue 
-0x43c1 015290 branch mouse_enable_function_flag 
-:      015291 mouse_select_device_disable:
-0x43c2 015292 arg mouse_select_device_flag ,queue 
-0x43c3 015293 branch mouse_disable_function_flag 
-:      015294 mouse_bt_cannel_reconn_enable:
-0x43c4 015295 arg mouse_bt_cannel_reconn_flag ,queue 
-0x43c5 015296 branch mouse_enable_function_flag 
-:      015297 mouse_bt_cannel_reconn_disable:
-0x43c6 015298 arg mouse_bt_cannel_reconn_flag ,queue 
-0x43c7 015299 branch mouse_disable_function_flag 
-:      015300 mouse_bt_discovery_button_down_enable:
-0x43c8 015301 arg mouse_bt_discovery_button_down_flag ,queue 
-0x43c9 015302 branch mouse_enable_function_flag 
-:      015303 mouse_bt_discovery_button_down_disable:
-0x43ca 015304 arg mouse_bt_discovery_button_down_flag ,queue 
-0x43cb 015305 branch mouse_disable_function_flag 
-:      015309 mouse_select_device_count_clean:
-0x43cc 015310 arg 1 ,temp 
-0x43cd 015311 rtn 
-:      015313 mouse_enable_function_flag:
-0x43ce 015314 fetch mouse_flag_len ,mem_mouse_flag 
-0x43cf 015315 qset1 pdata 
-0x43d0 015316 store mouse_flag_len ,mem_mouse_flag 
-0x43d1 015317 rtn 
-:      015319 mouse_disable_function_flag:
-0x43d2 015320 fetch mouse_flag_len ,mem_mouse_flag 
-0x43d3 015321 qset0 pdata 
-0x43d4 015322 store mouse_flag_len ,mem_mouse_flag 
-0x43d5 015323 rtn 
-:      015325 mouse_adc_read:
-0x43d6 015326 fetch mouse_flag_len ,mem_mouse_flag 
-0x43d7 015327 rtnbit0 mouse_enable_adc 
-0x43d8 015328 fetch 1 ,mem_adc_read_timer 
-0x43d9 015329 increase 1 ,pdata 
-0x43da 015330 store 1 ,mem_adc_read_timer 
-0x43db 015331 sub pdata ,10 ,null 
-0x43dc 015332 rtn positive 
-0x43dd 015333 jam 0 ,mem_adc_read_timer 
-0x43de 015334 call adc_set_mode 
-0x43df 015335 call vdd_calculate_by_mode 
-0x43e0 015336 store 2 ,mem_mouse_vdd_now_vol 
-0x43e1 015337 arg mem_mouse_vdd_calculate_set ,rega 
-0x43e2 015338 call adc_bat_percent_lowpower_out 
-0x43e3 015339 fetch 1 ,mem_adc_power_flag 
-0x43e4 015340 bbit1 1 ,mouse_power_down 
-0x43e5 015341 bbit0 0 ,mouse_adc_no_low_voltage 
-0x43e6 015342 branch mouse_adc_low_voltage 
-:      015343 mouse_adc_low_voltage:
-0x43e7 015344 arg mouse_low_voltage_flag ,queue 
-0x43e8 015345 branch mouse_enable_function_flag 
-:      015346 mouse_adc_no_low_voltage:
-0x43e9 015347 arg mouse_low_voltage_flag ,queue 
-0x43ea 015348 branch mouse_disable_function_flag 
-:      015350 mouse_low_voltage_led_timer:
-0x43eb 015351 fetch mouse_flag_len ,mem_mouse_flag 
-0x43ec 015352 rtnbit0 mouse_low_voltage_flag 
-0x43ed 015353 fetch 1 ,mem_config_low_voltage_alarm_gpio 
-0x43ee 015354 store 1 ,mem_mouse_struct_led_gpio 
-0x43ef 015355 fetch 1 ,mem_adc_low_volatage_led_timer_count 
-0x43f0 015356 pincrease 1 
-0x43f1 015357 store 1 ,mem_adc_low_volatage_led_timer_count 
-0x43f2 015358 sub pdata ,20 ,null 
-0x43f3 015359 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
-0x43f4 015360 beq 2 ,mouse_low_voltage_led_on 
-0x43f5 015361 beq 4 ,mouse_low_voltage_led_off 
-0x43f6 015362 beq 6 ,mouse_low_voltage_led_on 
-0x43f7 015363 beq 8 ,mouse_low_voltage_led_off 
-0x43f8 015364 rtn 
-:      015365 mouse_adc_low_volatage_led_timer_count_clean:
-0x43f9 015366 jam 1 ,mem_adc_low_volatage_led_timer_count 
-0x43fa 015367 branch mouse_low_voltage_led_off 
-:      015368 mouse_low_voltage_led_on:
-0x43fb 015369 arg 0 ,rega 
-0x43fc 015370 jam ui_led_state_lighting ,mem_mouse_led_type 
-0x43fd 015371 branch ui_led_on_global 
-:      015372 mouse_low_voltage_led_off:
-0x43fe 015373 arg 0 ,rega 
-0x43ff 015374 jam ui_led_state_lighting ,mem_mouse_led_type 
-0x4400 015375 branch ui_led_off_global 
-:      015377 mouse_g24_package_data:
-0x4401 015378 call mouse_motion 
-0x4402 015379 nrtn user 
-0x4403 015380 arg 7 ,rega 
-0x4404 015381 arg mem_mouse_key ,regb 
-0x4405 015382 rtn 
-:      015384 mouse_g24_enter_lpm:
-0x4406 015385 fetch 1 ,mem_mouse_24g_enter_lpm_enable 
-0x4407 015386 rtn blank 
-0x4408 015388 fetcht 1 ,mem_dpi_button_gpio 
-0x4409 015389 call gpio_get_bit 
-0x440a 015390 call mouse_24g_dpi_delay_init ,true 
-0x440b 015391 fetch 1 ,mem_24g_enter_lpm_timer 
-0x440c 015392 nrtn blank 
-0x440d 015393 call mouse_check_key_gpio 
-0x440e 015394 nrtn blank 
-0x440f 015395 branch g24_lpm_long_sleep 
-:      015397 mouse_24g_dpi_delay_init:
-0x4410 015398 fetch 1 ,mem_dpi_button_gpio 
-0x4411 015399 rtneq ui_button_gpio_disable 
-0x4412 015400 jam 10 ,mem_24g_enter_lpm_timer 
-0x4413 015401 rtn 
-:      015404 mouse_load_flash_info_cheak:
-0x4414 015405 call mouse_load_flash_flag 
-0x4415 015406 fetch 2 ,mem_store_flag 
-0x4416 015407 arg eeprom_init_flag ,temp 
-0x4417 015408 isub temp ,null 
-0x4418 015409 branch mouse_load_flash_device_info ,zero 
-0x4419 015410 storet 2 ,mem_store_flag 
-0x441a 015411 call mouse_ble_init_address 
-0x441b 015412 branch mouse_store_flash_device_info 
-:      015413 mouse_ble_init_address:
-0x441c 015414 fetch 6 ,mem_le_lap 
-0x441d 015415 store 6 ,mem_device1_locall_addr 
-0x441e 015416 add pdata ,0x0100 ,pdata 
-0x441f 015417 store 6 ,mem_device2_locall_addr 
-0x4420 015418 add pdata ,0x0100 ,pdata 
-0x4421 015419 store 6 ,mem_device3_locall_addr 
-0x4422 015420 rtn 
-:      015423 mouse_load_flash_flag:
-0x4423 015424 setarg mem_store_flag 
-0x4424 015425 arg mem_mouse_information_start ,temp 
-0x4425 015426 isub temp ,temp 
-0x4426 015427 fetch 3 ,mem_flash_base 
-0x4427 015428 iadd temp ,pdata 
-0x4428 015429 arg 2 ,temp 
-0x4429 015430 arg mem_store_flag ,rega 
-0x442a 015431 branch spid_read_flash 
-:      015434 mouse_load_flash_device_info:
-0x442b 015435 setarg mem_mouse_information_end 
-0x442c 015436 arg mem_mouse_information_start ,temp 
-0x442d 015437 isub temp ,temp 
-0x442e 015438 fetch 3 ,mem_flash_base 
-0x442f 015439 arg mem_mouse_information_start ,rega 
-0x4430 015440 call spid_read_flash 
-0x4431 015441 call mouse_select_reconn_device 
-0x4432 015442 fetch 4 ,mem_mouse_24g_addr 
-0x4433 015443 call g24_head_ptr2regc 
-0x4434 015444 branch g24_store_mem_addr 
-:      015446 mouse_store_flash_device_info:
-0x4435 015447 setarg mem_mouse_information_end 
-0x4436 015448 arg mem_mouse_information_start ,temp 
-0x4437 015449 isub temp ,temp 
-0x4438 015450 arg mem_mouse_information_start ,rega 
-0x4439 015451 fetch 3 ,mem_flash_base 
-0x443a 015452 branch flash_write 
-:      015454 mouse_store_eerpom_dpi:
-0x443b 015455 arg 1 ,temp 
-0x443c 015456 arg mem_mouse_dpi ,rega 
-0x443d 015457 arg mouse_dpi_eeprom_offect ,regb 
-0x443e 015458 branch iicd_write_protect_eep_data 
-:      015460 mouse_load_eeprom_dpi:
-0x443f 015461 arg 1 ,temp 
-0x4440 015462 arg mem_mouse_dpi ,rega 
-0x4441 015463 arg mouse_dpi_eeprom_offect ,regb 
-0x4442 015464 branch iicd_read_eep_data 
-:      015466 mouse_statue_cheak_timer:
-0x4443 015467 rtnmark1 mark_24g 
-0x4444 015468 fetch mouse_flag_len ,mem_mouse_flag 
-0x4445 015469 rtnbit0 mouse_enable_statue_up 
-0x4446 015470 fetch 1 ,mem_mouse_1step_up_count 
-0x4447 015471 pincrease 1 
-0x4448 015472 and pdata ,0x07 ,pdata 
-0x4449 015473 store 1 ,mem_mouse_1step_up_count 
-0x444a 015474 rtnne 0x07 
-0x444b 015475 fetch 2 ,mem_ui_state_map 
-0x444c 015476 bbit1 ui_state_bt_connected ,mouse_check_statue_up 
-0x444d 015477 bbit1 ui_state_ble_connected ,mouse_check_statue_up 
-0x444e 015478 rtn 
-:      015483 mouse_check_statue_up:
-0x444f 015484 bpatch patch1d_6 ,mem_patch1d 
-0x4450 015485 fetch 1 ,mem_mouse_2step_up_count 
-0x4451 015486 nrtn blank 
-0x4452 015487 fetch mouse_flag_len ,mem_mouse_flag 
-0x4453 015488 rtnbit0 mouse_statue_up_flag 
-0x4454 015489 fetch 1 ,mem_sensor_squal_reg 
-0x4455 015490 call sensor_read 
-0x4456 015491 store 1 ,mem_sensor_iqc 
-0x4457 015492 sub pdata ,0x10 ,null 
-0x4458 015493 branch mouse_statue_up_timer_init ,positive 
-0x4459 015494 jam 0 ,mem_mouse_2step_up_count 
-0x445a 015495 rtn 
-:      015497 mouse_statue_up_timer_init:
-0x445b 015498 jam 30 ,mem_mouse_2step_up_count 
-0x445c 015499 rtn 
-:      015500 mouse_statue_up_timer:
-0x445d 015501 arg mem_mouse_2step_up_count ,regc 
-0x445e 015502 arg mouse_statue_up ,regb 
-0x445f 015503 branch timer_single_step 
-:      015505 mouse_statue_up:
-0x4460 015506 fetch 1 ,mem_sensor_squal_reg 
-0x4461 015507 call twspi_read 
-0x4462 015508 sub pdata ,0x10 ,null 
-0x4463 015509 nrtn positive 
-0x4464 015510 fetch mouse_flag_len ,mem_mouse_flag 
-0x4465 015511 rtnbit0 mouse_statue_up_flag 
-0x4466 015512 arg mouse_statue_up_flag ,queue 
-0x4467 015513 call mouse_disable_function_flag 
-0x4468 015514 jam 0 ,mem_lpm_mult 
-0x4469 015515 jam 30 ,mem_mouse_statue_led_timer 
-0x446a 015516 call mouse_devce_led_off 
-0x446b 015517 fetch mouse_flag_len ,mem_mouse_flag 
-0x446c 015518 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
-:      015519 mouse_two_device_statue_up:
-0x446d 015520 fetch 1 ,mem_device_flag 
-0x446e 015521 beq mode_bt_device1 ,mouse_device1_led_on 
-0x446f 015522 beq mode_bt_device2 ,mouse_device_blink_led_init 
-0x4470 015523 rtn 
-:      015524 mouse_three_device_statue_up:
-0x4471 015525 fetch 1 ,mem_device_flag 
-0x4472 015526 beq mode_bt_device1 ,mouse_device1_led_on 
-0x4473 015527 beq mode_bt_device2 ,mouse_device2_led_on 
-0x4474 015528 beq mode_bt_device3 ,mouse_device3_led_on 
-0x4475 015529 rtn 
-:      015531 mouse_device_blink_led_init:
-0x4476 015532 fetch 1 ,mem_config_device1_led_gpio 
-0x4477 015533 branch mouse_led_blink 
-:      015537 mouse_statue_led_off:
-0x4478 015538 jam 0x20 ,mem_lpm_mult 
-0x4479 015539 branch mouse_devce_led_off 
-:      015543 mouse_devce1_led_off:
-0x447a 015544 fetch 1 ,mem_config_device1_led_gpio 
-0x447b 015545 rtneq gpio_disable 
-0x447c 015546 store 1 ,mem_mouse_struct_led_gpio 
-0x447d 015547 branch mouse_led_off 
-:      015549 mouse_devce2_led_off:
-0x447e 015550 fetch 1 ,mem_config_device2_led_gpio 
-0x447f 015551 rtneq gpio_disable 
-0x4480 015552 store 1 ,mem_mouse_struct_led_gpio 
-0x4481 015553 branch mouse_led_off 
-:      015555 mouse_devce_led_off:
-0x4482 015556 call mouse_led_off 
-0x4483 015557 call mouse_devce1_led_off 
-0x4484 015558 call mouse_devce2_led_off 
-:      015559 mouse_devce3_led_off:
-0x4485 015560 fetch 1 ,mem_config_device3_led_gpio 
-0x4486 015561 rtneq gpio_disable 
-0x4487 015562 store 1 ,mem_mouse_struct_led_gpio 
-0x4488 015563 branch mouse_led_off 
-:      015565 mouse_device1_led_on:
-0x4489 015566 fetch 1 ,mem_config_device1_led_gpio 
-0x448a 015567 store 1 ,mem_mouse_struct_led_gpio 
-0x448b 015568 branch mouse_led_on 
-:      015569 mouse_device2_led_on:
-0x448c 015570 fetch 1 ,mem_config_device2_led_gpio 
-0x448d 015571 store 1 ,mem_mouse_struct_led_gpio 
-0x448e 015572 branch mouse_led_on 
-:      015573 mouse_device3_led_on:
-0x448f 015574 fetch 1 ,mem_config_device3_led_gpio 
-0x4490 015575 store 1 ,mem_mouse_struct_led_gpio 
-0x4491 015576 branch mouse_led_on 
-:      015580 mouse_polling_device:
-0x4492 015581 bpatch patch1d_7 ,mem_patch1d 
-0x4493 015582 fetch 1 ,mem_reconn_times 
-0x4494 015583 increase -1 ,pdata 
-0x4495 015584 store 1 ,mem_reconn_times 
-0x4496 015585 fetcht 1 ,mem_device_flag 
-0x4497 015586 increase 1 ,temp 
-0x4498 015587 fetch 1 ,mem_device_number 
-0x4499 015588 isub temp ,null 
-0x449a 015589 ncall mouse_select_device_count_clean ,positive 
-0x449b 015590 storet 1 ,mem_device_flag 
-0x449c 015591 jam 0 ,mem_link_key_exists 
-0x449d 015592 call mouse_store_device_number2eeprom 
-0x449e 015593 call mouse_before_store_reconn_info 
-0x449f 015594 branch mouse_check_reconn_target 
-:      015596 mouse_power_down:
-0x44a0 015597 call mouse_devce_led_off 
-0x44a1 015598 setarg 0 
-0x44a2 015599 store 8 ,mem_gpio_wakeup_low 
-0x44a3 015600 branch lpm_hibernate 
-:      015611 remote_car_init:
-0x44a4 015612 rtn wake 
-0x44a5 015613 hfetch 1 ,core_gpio_sel1 
-0x44a6 015614 and_into 0xf0 ,pdata 
-0x44a7 015615 hstore 1 ,core_gpio_sel1 
-0x44a8 015616 call keyscan_key_init 
-0x44a9 015617 setarg remote_car_le_before_hibernate 
-0x44aa 015618 store 2 ,mem_cb_before_hibernate 
-0x44ab 015620 setarg remote_car_process_lpm_before 
-0x44ac 015621 store 2 ,mem_cb_before_lpm 
-0x44ad 015623 setarg remote_car_scale_process_idle 
-0x44ae 015624 store 2 ,mem_cb_idle_process 
-0x44af 015626 setarg remote_car_scale_process_bb_event 
-0x44b0 015627 store 2 ,mem_cb_bb_event_process 
-0x44b1 015629 setarg app_get_lpm_wake_lock 
-0x44b2 015630 store 2 ,mem_cb_check_wakelock 
-0x44b3 015632 call g24_head_ptr2regc 
-0x44b4 015633 setarg remote_car_g24_package_data 
-0x44b5 015634 add regc ,offset_24g_cb_data ,contw 
-0x44b6 015635 istore 2 ,contw 
-0x44b7 015637 setarg remote_car_g24_enter_lpm 
-0x44b8 015638 add regc ,offset_24g_cb_lpm_prepare ,contw 
-0x44b9 015639 istore 2 ,contw 
-0x44ba 015641 setarg remote_car_process_lpm_before 
-0x44bb 015642 add regc ,offset_24g_cb_lpm_before ,contw 
-0x44bc 015643 istore 2 ,contw 
-0x44bd 015645 setarg remote_car_event_timer 
-0x44be 015646 store 2 ,mem_cb_event_timer 
-0x44bf 015648 setarg remote_car_power_off_signal 
-0x44c0 015649 store 2 ,mem_remote_car_power_off_cb 
-0x44c1 015651 setarg remote_car_soft_switch_power_on_signal 
-0x44c2 015652 store 2 ,mem_remote_car_power_standby_cb 
-0x44c3 015654 setarg remote_car_send_key_data 
-0x44c4 015655 store 2 ,mem_cb_remote_car_keyscan 
-0x44c5 015657 bpatch patch1e_0 ,mem_patch1e 
-0x44c6 015658 call remote_car_init_environment 
-0x44c7 015659 call queue_init 
-0x44c8 015660 jam 2 ,mem_lpm_mult 
-0x44c9 015661 fetch 1 ,mem_remote_car_config_soft_switch_enable 
-0x44ca 015662 store 1 ,mem_remote_car_hard_soft_switch 
-0x44cb 015663 beq hard_switch ,remote_car_hard_switch_power_on_signal 
-0x44cc 015664 fetch 1 ,mem_remote_car_config_soft_switch_gpio 
-0x44cd 015665 store 1 ,mem_ui_button_gpio 
-:      015666 remote_car_soft_switch_power_on_init:
-0x44ce 015667 call remote_car_ui_led_init 
-0x44cf 015668 call ui_button_init 
-0x44d0 015669 call ui_button_polling 
-0x44d1 015670 jam power_starting ,mem_remote_car_power_state 
-0x44d2 015671 fetch 2 ,mem_ui_state_map 
-0x44d3 015672 rtnbit1 ui_state_btn_down 
-0x44d4 015673 branch app_enter_hibernate 
-:      015677 remote_car_hard_switch_power_on_signal:
-0x44d5 015678 jam power_standby ,mem_remote_car_power_state 
-:      015679 remote_car_soft_switch_power_on_signal:
-0x44d6 015680 call remote_car_ui_led_init 
-0x44d7 015682 arg 0 ,rega 
-0x44d8 015683 call ui_led_blink_start_global 
-:      015684 remote_car_connect_24g_mode:
-0x44d9 015685 branch g24_auto_pair_start 
-:      015687 remote_car_power_off_signal:
-0x44da 015688 branch remote_car_ui_led_init 
-:      015690 remote_car_ui_led_init:
-0x44db 015691 bpatch patch1e_1 ,mem_patch1e 
-0x44dc 015692 fetch 1 ,mem_remote_car_config_connect_led_gpio 
-0x44dd 015693 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
-:      015694 remote_car_ui_led_init_1:
-0x44de 015695 fetcht 1 ,mem_remote_car_led_map 
-0x44df 015696 branch gpio_config_output 
-:      015697 remote_car_pairing_led_gpio_set:
-0x44e0 015698 store 1 ,mem_remote_car_led_map 
-0x44e1 015699 branch remote_car_ui_led_init_1 
-:      015702 remote_car_init_environment:
-0x44e2 015703 call g24_set_device_addr 
-0x44e3 015704 fetch 2 ,mem_remote_car_no_data_timeout 
-0x44e4 015705 store 2 ,mem_remote_car_no_data_timer 
-0x44e5 015706 branch remote_car_get_adc_default_data 
-:      015708 remote_car_le_before_hibernate:
-:      015713 remote_car_in_enter_hibernate:
-0x44e6 015714 call gpio_set_before_lpm_common 
-0x44e7 015715 call remote_car_process_lpm_before 
-0x44e8 015716 branch app_enter_hibernate 
-:      015718 remote_car_process_lpm_before:
-0x44e9 015719 branch keyscan_process_lpm_before 
-:      015721 remote_car_g24_enter_lpm:
-0x44ea 015722 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
-0x44eb 015723 rtn blank 
-0x44ec 015725 branch g24_lpm_long_sleep 
-:      015727 remote_car_process_auto_pair_exit:
-0x44ed 015728 rtn 
-:      015730 remote_car_key_scan_process:
-0x44ee 015731 branch keyscan_key_process 
-:      015733 remote_car_scale_process_idle:
-0x44ef 015734 call remote_car_rocker_process 
-0x44f0 015735 call remote_car_24g_status_process 
-0x44f1 015736 branch remote_car_key_scan_process 
-:      015738 remote_car_scale_process_bb_event:
-0x44f2 015739 copy regc ,pdata 
-0x44f3 015740 beq bt_evt_button_up ,app_event_button_up 
-0x44f4 015741 beq bt_evt_button_long_pressed ,app_button_long_pressed 
-0x44f5 015742 beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
-0x44f6 015743 beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
-0x44f7 015744 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
-0x44f8 015745 rtn 
-:      015747 remote_car_24g_attempt_fail:
-0x44f9 015748 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
-0x44fa 015749 rtn 
-:      015751 remote_car_24g_pairing_complete:
-0x44fb 015752 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
-0x44fc 015753 jam work_paired ,mem_remote_car_24g_auto_work_step 
-0x44fd 015754 jam work_paired ,mem_remote_car_24g_pair_success_flag 
-0x44fe 015755 rtn 
-:      015757 remote_car_24g_attempt_success:
-0x44ff 015758 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
-0x4500 015759 jam work_paired ,mem_remote_car_24g_auto_work_step 
-0x4501 015760 jam work_paired ,mem_remote_car_24g_pair_success_flag 
-0x4502 015761 rtn 
-:      015763 remote_car_24g_status_process:
-0x4503 015764 fetch 1 ,mem_remote_car_24g_auto_work_step 
-0x4504 015765 rtneq power_on 
-0x4505 015766 fetch 1 ,mem_remote_car_24g_status 
-0x4506 015767 rtneq work_paired 
-0x4507 015768 jam work_paired ,mem_remote_car_24g_status 
-:      015769 remote_car_scale_process_paired:
-0x4508 015770 arg 0 ,rega 
-0x4509 015771 branch ui_led_off_global 
-:      015772 remote_car_scale_process_shutdown:
-0x450a 015773 arg 0 ,rega 
-0x450b 015774 call ui_led_off_global 
-0x450c 015775 call remote_car_ui_led_init 
-0x450d 015776 branch app_enter_hibernate 
-:      015778 remote_car_event_timer:
-0x450e 015779 call app_power_timer 
-0x450f 015780 branch remote_car_no_data_timer 
-:      015782 remote_car_no_data_timer:
-0x4510 015783 fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
-0x4511 015784 rtn blank 
-0x4512 015785 arg mem_remote_car_no_data_timer ,regc 
-0x4513 015786 arg remote_car_scale_process_shutdown ,regb 
-0x4514 015787 branch timer_single_step_2b 
-:      015790 remote_car_get_adc_default_data:
-0x4515 015791 call remote_car_rocker_get_x 
-0x4516 015792 storet 2 ,mem_current_vdd_value_default_mid_x 
-0x4517 015793 call remote_car_rocker_get_y 
-0x4518 015794 storet 2 ,mem_current_vdd_value_default_mid_y 
-0x4519 015795 rtn 
-:      015796 remote_car_rocker_data_get:
-:      015797 remote_car_rocker_get_x:
-0x451a 015798 fetch 2 ,mem_current_vdd_value_default_mid_x 
-0x451b 015799 store 2 ,mem_current_vdd_value_default_mid_temp 
-0x451c 015800 call remote_car_get_adc_from_gpio6 
-0x451d 015801 call remote_car_rocker_get_value 
-0x451e 015802 store 1 ,mem_rocker_status 
-:      015803 remote_car_rocker_get_y:
-0x451f 015804 fetch 2 ,mem_current_vdd_value_default_mid_y 
-0x4520 015805 store 2 ,mem_current_vdd_value_default_mid_temp 
-0x4521 015806 call remote_car_get_adc_from_gpio7 
-0x4522 015807 call remote_car_rocker_get_value 
-0x4523 015808 store 1 ,mem_rocker_status + 1 
-0x4524 015809 rtn 
-:      015810 remote_car_rocker_get_value:
-0x4525 015811 fetch 2 ,mem_current_vdd_default_range 
-0x4526 015812 copy pdata ,rega 
-0x4527 015813 fetch 2 ,mem_current_vdd_value_default_mid_temp 
-0x4528 015814 call remote_car_rocker_mid_value_adjust 
-0x4529 015815 fetch 1 ,mem_rocker_work_status 
-0x452a 015816 nbranch remote_car_rocker_translate_key ,blank 
-0x452b 015817 nrtn positive 
-0x452c 015818 fetcht 2 ,mem_current_vdd_value_default_mid_temp 
-0x452d 015819 rtn 
-:      015820 remote_car_rocker_mid_value_adjust:
-0x452e 015821 isub temp ,pdata 
-0x452f 015822 branch remote_car_rocker_mid_adjust_positive ,positive 
-0x4530 015823 sub pdata ,0 ,pdata 
-0x4531 015824 jam 1 ,mem_rocker_negative_flag 
-0x4532 015825 isub rega ,null 
-0x4533 015826 rtn 
-:      015827 remote_car_rocker_mid_adjust_positive:
-0x4534 015828 jam 0 ,mem_rocker_negative_flag 
-0x4535 015829 isub rega ,null 
-0x4536 015830 rtn 
-:      015831 remote_car_rocker_translate_key:
-0x4537 015832 nbranch remote_car_rocker_middle_key ,positive 
-0x4538 015833 fetch 1 ,mem_rocker_negative_flag 
-0x4539 015834 nbranch remote_car_rocker_negative_key ,blank 
-:      015835 remote_car_rocker_positive_key:
-0x453a 015836 setarg rocker_positive_key 
-0x453b 015837 rtn 
-:      015838 remote_car_rocker_negative_key:
-0x453c 015839 setarg rocker_negative_key 
-0x453d 015840 rtn 
-:      015841 remote_car_rocker_middle_key:
-0x453e 015842 setarg rocker_middle_key 
-0x453f 015843 rtn 
-:      015844 remote_car_get_adc_from_gpio6:
-0x4540 015845 jam 0x33 ,mem_adc_channel 
-0x4541 015846 branch adc_set_mode 
-:      015847 remote_car_get_adc_from_gpio7:
-0x4542 015848 jam 0x34 ,mem_adc_channel 
-0x4543 015849 branch adc_set_mode 
-:      015852 remote_car_rocker_process:
-0x4544 015853 fetch 1 ,mem_remote_car_config_check_way 
-0x4545 015854 rtnne car_remote_check_rocker 
-:      015855 remote_car_read_rocker_check_start:
-0x4546 015856 bpatch patch1e_2 ,mem_patch1e 
-0x4547 015857 jam 1 ,mem_rocker_work_status 
-0x4548 015858 call remote_car_rocker_data_get 
-0x4549 015859 fetch 2 ,mem_rocker_status 
-0x454a 015860 fetcht 2 ,mem_rocker_last_status 
-0x454b 015861 isub temp ,null 
-0x454c 015862 rtn zero 
-0x454d 015863 store 2 ,mem_rocker_last_status 
-0x454e 015864 call remote_car_rocker_x_to_key 
-0x454f 015865 branch remote_car_rocker_y_to_key 
-:      015867 remote_car_rocker_x_to_key:
-0x4550 015868 fetch 1 ,mem_rocker_x_status 
-0x4551 015869 branch rocker_to_queue_set_0 ,blank 
-0x4552 015870 increase -1 ,pdata 
-0x4553 015871 branch remote_car_rocker_to_key 
-:      015872 remote_car_rocker_y_to_key:
-0x4554 015873 fetch 1 ,mem_rocker_y_status 
-0x4555 015874 branch rocker_to_queue_set_2 ,blank 
-0x4556 015875 increase 1 ,pdata 
-:      015876 remote_car_rocker_to_key:
-0x4557 015877 copy pdata ,queue 
-0x4558 015878 arg 1 ,rega 
-0x4559 015879 branch remote_car_send_key_data 
-:      015881 rocker_to_queue_set_0:
-0x455a 015882 arg 0 ,queue 
-0x455b 015883 arg 0 ,rega 
-0x455c 015884 branch remote_car_send_key_data 
-:      015885 rocker_to_queue_set_2:
-0x455d 015886 arg 2 ,queue 
-0x455e 015887 arg 0 ,rega 
-0x455f 015888 branch remote_car_send_key_data 
-:      015890 remote_car_send_key_data:
-0x4560 015891 copy rega ,pdata 
-0x4561 015892 store 1 ,mem_remote_key_status 
-0x4562 015893 fetch 1 ,mem_remote_car_24g_auto_work_step 
-0x4563 015894 beq power_on ,g24_auto_pair_start 
-0x4564 015895 fetch 2 ,mem_remote_car_no_data_timeout 
-0x4565 015896 store 2 ,mem_remote_car_no_data_timer 
-0x4566 015897 fetch 1 ,mem_remote_key_status 
-0x4567 015898 branch remote_car_key_is_release ,blank 
-:      015899 remote_car_key_is_press:
-0x4568 015900 bpatch patch1e_3 ,mem_patch1e 
-0x4569 015901 arg 0 ,rega 
-0x456a 015902 call ui_led_on_global 
-:      015903 remote_car_attack_key_press:
-0x456b 015904 copy queue ,pdata 
-0x456c 015905 beq 4 ,remote_car_send_attack_key4_press 
-0x456d 015906 beq 5 ,remote_car_send_attack_key5_press 
-0x456e 015907 beq 6 ,remote_car_send_fire_key6_press 
-:      015910 remote_car_motor_key_press:
-0x456f 015911 call remote_car_device_layout_select 
-0x4570 015912 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
-0x4571 015913 beq control_l_r_ten ,remote_car_double_motor_key_press 
-0x4572 015914 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
-0x4573 015915 rtn 
-:      015917 remote_car_single_motor_key_is_press:
-0x4574 015918 copy queue ,pdata 
-0x4575 015919 beq 0 ,remote_car_send_motor1_key0_press 
-0x4576 015920 beq 1 ,remote_car_send_motor1_key1_press 
-0x4577 015921 beq 2 ,remote_car_send_motor2_key2_press 
-0x4578 015922 beq 3 ,remote_car_send_motor2_key3_press 
-0x4579 015923 rtn 
-:      015925 remote_car_double_motor_key_press:
-0x457a 015926 copy queue ,pdata 
-0x457b 015927 beq 0 ,remote_car_send_double_motor_key0_press 
-0x457c 015928 beq 1 ,remote_car_send_double_motor_key1_press 
-0x457d 015929 beq 2 ,remote_car_send_double_motor_key2_press 
-0x457e 015930 beq 3 ,remote_car_send_double_motor_key3_press 
-0x457f 015931 rtn 
-:      015933 remote_car_key_is_release:
-0x4580 015934 bpatch patch1e_4 ,mem_patch1e 
-0x4581 015935 arg 0 ,rega 
-0x4582 015936 call ui_led_off_global 
-:      015937 remote_car_attack_key_release:
-0x4583 015938 copy queue ,pdata 
-0x4584 015939 beq 4 ,remote_car_send_attack_key4_rel 
-0x4585 015940 beq 5 ,remote_car_send_attack_key5_rel 
-:      015943 remote_car_motor_key_release:
-0x4586 015944 call remote_car_device_layout_select 
-0x4587 015945 beq control_f_b_ten ,remote_car_single_motor_key_rel 
-0x4588 015946 beq control_l_r_ten ,remote_car_double_motor_key_rel 
-0x4589 015947 beq control_l_r_lr ,remote_car_single_motor_key_rel 
-0x458a 015948 rtn 
-:      015950 remote_car_device_layout_select:
-0x458b 015951 fetch 1 ,mem_remote_car_config_layout 
-0x458c 015952 fetcht 1 ,mem_remote_car_config_key_map 
-0x458d 015953 ior temp ,pdata 
-0x458e 015954 rtn 
-:      015957 remote_car_send_motor1_key0_press:
-0x458f 015958 jam motor_positive ,mem_remote_car_24g_motor1_payload 
-0x4590 015959 branch remote_car_send_key 
-:      015960 remote_car_send_motor1_key1_press:
-0x4591 015961 jam motor_negative ,mem_remote_car_24g_motor1_payload 
-0x4592 015962 branch remote_car_send_key 
-:      015963 remote_car_send_motor2_key2_press:
-0x4593 015964 jam motor_positive ,mem_remote_car_24g_motor2_payload 
-0x4594 015965 branch remote_car_send_key 
-:      015966 remote_car_send_motor2_key3_press:
-0x4595 015967 jam motor_negative ,mem_remote_car_24g_motor2_payload 
-0x4596 015968 branch remote_car_send_key 
-:      015971 remote_car_send_double_motor_key0_press:
-0x4597 015972 jam motor_positive ,mem_remote_car_24g_motor1_payload 
-0x4598 015973 jam motor_positive ,mem_remote_car_24g_motor2_payload 
-0x4599 015974 branch remote_car_send_key 
-:      015975 remote_car_send_double_motor_key1_press:
-0x459a 015976 jam motor_negative ,mem_remote_car_24g_motor1_payload 
-0x459b 015977 jam motor_negative ,mem_remote_car_24g_motor2_payload 
-0x459c 015978 branch remote_car_send_key 
-:      015979 remote_car_send_double_motor_key2_press:
-0x459d 015980 jam motor_negative ,mem_remote_car_24g_motor1_payload 
-0x459e 015981 jam motor_positive ,mem_remote_car_24g_motor2_payload 
-0x459f 015982 branch remote_car_send_key 
-:      015983 remote_car_send_double_motor_key3_press:
-0x45a0 015984 jam motor_positive ,mem_remote_car_24g_motor1_payload 
-0x45a1 015985 jam motor_negative ,mem_remote_car_24g_motor2_payload 
-0x45a2 015986 branch remote_car_send_key 
-:      015989 remote_car_send_attack_key4_press:
-0x45a3 015990 jam motor_positive ,mem_remote_car_24g_motor3_payload 
-0x45a4 015991 branch remote_car_send_key 
-:      015992 remote_car_send_attack_key5_press:
-0x45a5 015993 jam motor_negative ,mem_remote_car_24g_motor3_payload 
-0x45a6 015994 branch remote_car_send_key 
-:      015996 remote_car_send_fire_key6_press:
-0x45a7 015997 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
-0x45a8 015998 branch remote_car_send_attack 
-:      016000 remote_car_single_motor_key_rel:
-0x45a9 016001 copy queue ,pdata 
-0x45aa 016002 beq 0 ,remote_car_send_motor1_key0_rel 
-0x45ab 016003 beq 1 ,remote_car_send_motor1_key1_rel 
-0x45ac 016004 beq 2 ,remote_car_send_motor2_key2_rel 
-0x45ad 016005 beq 3 ,remote_car_send_motor2_key3_rel 
-0x45ae 016006 rtn 
-:      016008 remote_car_double_motor_key_rel:
-0x45af 016009 copy queue ,pdata 
-0x45b0 016010 beq 0 ,remote_car_send_double_motor_key0_rel 
-0x45b1 016011 beq 1 ,remote_car_send_double_motor_key1_rel 
-0x45b2 016012 beq 2 ,remote_car_send_double_motor_key2_rel 
-0x45b3 016013 beq 3 ,remote_car_send_double_motor_key3_rel 
-0x45b4 016014 rtn 
-:      016016 remote_car_send_motor1_key0_rel:
-:      016017 remote_car_send_motor1_key1_rel:
-0x45b5 016018 jam motor_stop ,mem_remote_car_24g_motor1_payload 
-0x45b6 016019 branch remote_car_send_key 
-:      016020 remote_car_send_motor2_key2_rel:
-:      016021 remote_car_send_motor2_key3_rel:
-0x45b7 016022 jam motor_stop ,mem_remote_car_24g_motor2_payload 
-0x45b8 016023 branch remote_car_send_key 
-:      016025 remote_car_send_double_motor_key0_rel:
-:      016026 remote_car_send_double_motor_key1_rel:
-:      016027 remote_car_send_double_motor_key2_rel:
-:      016028 remote_car_send_double_motor_key3_rel:
-0x45b9 016029 jam motor_stop ,mem_remote_car_24g_motor1_payload 
-0x45ba 016030 jam motor_stop ,mem_remote_car_24g_motor2_payload 
-0x45bb 016031 branch remote_car_send_key 
-:      016033 remote_car_send_attack_key4_rel:
-:      016034 remote_car_send_attack_key5_rel:
-0x45bc 016035 jam motor_stop ,mem_remote_car_24g_motor3_payload 
-0x45bd 016036 branch remote_car_send_key 
-:      016038 remote_car_send_key:
-0x45be 016039 arg mem_remote_car_24g_motor_packet ,rega 
-0x45bf 016040 branch queue_push 
-:      016041 remote_car_send_attack:
-0x45c0 016042 arg mem_remote_car_24g_fire_packet ,rega 
-0x45c1 016043 branch queue_push 
-:      016045 remote_car_g24_package_data:
-0x45c2 016046 fetch 1 ,mem_remote_car_24g_pair_success_flag 
-0x45c3 016047 beq work_paired ,remote_car_g24_send_empty 
-0x45c4 016048 arg mem_remote_car_24g_tx_temp ,rega 
-0x45c5 016049 call queue_pop 
-0x45c6 016050 nbranch remote_car_moto_data ,user 
-:      016051 remote_car_g24_package_data_continue:
-0x45c7 016052 arg mem_remote_car_24g_tx_temp ,contr 
-0x45c8 016053 ifetch 1 ,contr 
-0x45c9 016054 copy pdata ,rega 
-0x45ca 016055 arg mem_remote_car_24g_tx_temp + 1 ,regb 
-0x45cb 016058 rtn 
-:      016060 remote_car_g24_send_empty:
-0x45cc 016061 jam 0 ,mem_remote_car_24g_pair_success_flag 
-0x45cd 016062 enable user 
-0x45ce 016063 arg 1 ,rega 
-0x45cf 016064 arg mem_remote_car_empty_packet ,regb 
-0x45d0 016065 rtn 
-:      016067 remote_car_moto_data:
-0x45d1 016068 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
-0x45d2 016069 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
-0x45d3 016070 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
-0x45d4 016071 rtn 
-:      016072 remote_car_moto_data_next:
-0x45d5 016073 fetch 1 ,mem_remote_car_24g_tx_temp + 6 
-0x45d6 016074 nbranch remote_car_moto_data_enable_user ,blank 
-0x45d7 016075 fetch 1 ,mem_remote_car_24g_tx_temp + 8 
-0x45d8 016076 nbranch remote_car_moto_data_enable_user ,blank 
-0x45d9 016077 fetch 1 ,mem_remote_car_24g_tx_temp + 10 
-0x45da 016078 nbranch remote_car_moto_data_enable_user ,blank 
-0x45db 016079 rtn 
-:      016080 remote_car_moto_data_enable_user:
-0x45dc 016081 enable user 
-0x45dd 016082 branch remote_car_g24_package_data_continue 
-:      016090 shutter_init:
-0x45de 016091 rtn wake 
-0x45df 016092 hfetch 1 ,core_gpio_sel1 
-0x45e0 016093 and_into 0xfc ,pdata 
-0x45e1 016094 hstore 1 ,core_gpio_sel1 
-0x45e2 016095 setarg shutter_le_before_hibernate 
-0x45e3 016096 store 2 ,mem_cb_before_hibernate 
-0x45e4 016098 setarg shutter_process_lpm_before 
-0x45e5 016099 store 2 ,mem_cb_before_lpm 
-0x45e6 016101 setarg app_enter_hibernate 
-0x45e7 016102 store 2 ,mem_cb_discovry_timeout 
-0x45e8 016104 setarg shutter_process_idle 
-0x45e9 016105 store 2 ,mem_cb_idle_process 
-0x45ea 016107 setarg shutter_process_bb_event 
-0x45eb 016108 store 2 ,mem_cb_bb_event_process 
-0x45ec 016110 setarg shutter_le_scale_lpm_lock 
-0x45ed 016111 store 2 ,mem_cb_check_wakelock 
-0x45ee 016113 setarg ble_shutter_receive_data 
-0x45ef 016114 store 2 ,mem_cb_att_write 
-0x45f0 016116 setarg shutter_le_bb_event_timer 
-0x45f1 016117 store 2 ,mem_cb_event_timer 
-0x45f2 016119 setarg shutter_key_change 
-0x45f3 016120 store 2 ,mem_cb_shutter_keycan 
-0x45f4 016122 setarg shutter_soft_swtich_power_on 
-0x45f5 016123 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
-0x45f6 016124 setarg shutter_soft_swtich_power_off 
-0x45f7 016125 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
-0x45f8 016127 call le_modified_name 
-0x45f9 016128 call shutter_load_bluetooth_config_by_user_config 
-0x45fa 016129 call shutter_init_bluetooth_config 
-0x45fb 016130 call shutter_init_param 
-0x45fc 016131 call keyscan_key_init 
-0x45fd 016132 call shutter_load_buffer_config_form_datarom 
-0x45fe 016133 call queue_init 
-0x45ff 016134 call ui_led_init_global 
-0x4600 016135 call shutter_load_bluetooth_config 
-0x4601 016136 call shutter_load_bluetooth_config_by_eeprom 
-0x4602 016138 bpatch patch1e_5 ,mem_patch1e 
-0x4603 016139 call classic_shutter_load_reconn_info 
-0x4604 016140 fetch 1 ,mem_shutter_hard_soft_switch_case 
-0x4605 016141 beq hard_switch ,shutter_hart_swtich_power_on 
-0x4606 016142 fetch 1 ,mem_shutter_soft_switch_button_gpio 
-0x4607 016143 store 1 ,mem_ui_button_gpio 
-0x4608 016144 branch ui_soft_swtich_init 
-:      016147 shutter_hart_swtich_power_on:
-0x4609 016148 jam ui_button_gpio_disable ,mem_ui_button_gpio 
-0x460a 016149 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
-0x460b 016150 branch shutter_start_reconnect 
-:      016154 shutter_le_scale_lpm_lock:
-0x460c 016155 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x460d 016156 beq ss_state_power_off ,app_get_lpm_wake_lock 
-0x460e 016157 call l2cap_malloc_get_full_map 
-0x460f 016158 fetch 1 ,mem_used_map 
-0x4610 016159 nbranch app_get_lpm_wake_lock ,blank 
-0x4611 016160 branch app_put_lpm_wake_lock 
-:      016164 shutter_process_bb_event:
-0x4612 016165 copy regc ,pdata 
-0x4613 016167 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
-0x4614 016168 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
-0x4615 016169 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
-0x4616 016170 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
-0x4617 016171 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
-0x4618 016172 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
-0x4619 016173 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
-0x461a 016174 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
-0x461b 016175 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
-0x461c 016176 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
-0x461d 016177 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
-0x461e 016179 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
-0x461f 016180 beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
-0x4620 016181 beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
-0x4621 016182 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
-0x4622 016184 beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
-0x4623 016185 beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
-0x4624 016186 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
-0x4625 016187 rtn 
-:      016192 classic_shutter_process_baseband_connect:
-0x4626 016193 jam 0 ,mem_classic_shutter_hid_disconn_count 
-0x4627 016194 jam 0 ,mem_classic_shutter_cable_unplug_conut 
-0x4628 016195 rtn 
-:      016198 classic_shutter_process_baseband_disconnect:
-0x4629 016199 call classic_shutter_disconnect_clear_flag 
-0x462a 016200 branch classic_shutter_process_reconnect_failed 
-:      016202 classic_shutter_disconnect_clear_flag:
-0x462b 016203 jam app_handshake_null ,mem_app_handshake_flag 
-0x462c 016204 jam 0 ,mem_hid_handshake_timer_count 
-0x462d 016205 jam 0 ,mem_unsniff2sniff_timer_count 
-0x462e 016206 jam 0 ,mem_classic_shutter_cable_unplug_conut 
-0x462f 016207 jam 0 ,mem_classic_shutter_hid_disconn_count 
-0x4630 016208 branch queue_init 
-:      016211 classic_shutter_process_reconnect_failed:
-0x4631 016212 call app_disconn_reason_clear 
-0x4632 016213 branch shutter_start_bluetooth_discovery 
-:      016216 classic_shutter_process_setup_complete:
-0x4633 016217 call shutter_stop_bluetooth_discovery 
-0x4634 016218 branch app_led_stop_blink 
-:      016221 classic_shutter_process_hid_connect:
-0x4635 016222 setarg hid_handshake_timeout 
-0x4636 016223 store 1 ,mem_hid_handshake_timer_count 
-0x4637 016224 rtn 
-:      016227 classic_shutter_process_hid_disconnect:
-0x4638 016228 jam 0 ,mem_classic_shutter_cable_unplug_conut 
-0x4639 016229 setarg flag_shutter_hid_disconn_timeout 
-0x463a 016230 store 1 ,mem_classic_shutter_hid_disconn_count 
-0x463b 016231 rtn 
-:      016234 classic_shutter_process_hid_handshake:
-0x463c 016235 fetch 1 ,mem_app_handshake_flag 
-0x463d 016236 rtneq app_handshake_done 
-0x463e 016237 jam app_handshake_done ,mem_app_handshake_flag 
-0x463f 016238 call app_lpm_mult_enable 
-0x4640 016239 call app_store_reconn_info 
-0x4641 016240 call shutter_stop_bluetooth_discovery 
-0x4642 016241 call app_led_off 
-0x4643 016242 branch app_bt_enter_sniff 
-:      016245 classic_shutter_process_reconnect_page_timeout:
-0x4644 016246 branch classic_shutter_process_reconnect_failed 
-:      016249 classic_shutter_process_virtual_cable_unplug:
-0x4645 016250 setarg flag_shutter_cable_unplug_timeout 
-0x4646 016251 store 1 ,mem_classic_shutter_cable_unplug_conut 
-0x4647 016252 rtn 
-:      016255 classic_shutter_process_remote_unsniff:
-0x4648 016256 branch app_start_auto_sniff 
-:      016260 classic_shutter_process_store_reconnect_information:
-0x4649 016261 arg nvram_eeprom_offset ,regb 
-0x464a 016262 fetch 1 ,mem_nv_data_number 
-0x464b 016263 mul32 pdata ,34 ,temp 
-0x464c 016264 fetch 2 ,mem_nv_data_ptr 
-0x464d 016265 copy pdata ,rega 
-0x464e 016266 branch iicd_write_eep_data 
-:      016268 classic_shutter_load_reconn_info:
-0x464f 016269 arg nvram_eeprom_offset ,regb 
-0x4650 016270 fetch 1 ,mem_shutter_bluetooth_type 
-0x4651 016271 rtnbit0 classic_shutter 
-0x4652 016272 fetch 1 ,mem_nv_data_number 
-0x4653 016273 rtn blank 
-0x4654 016274 mul32 pdata ,34 ,temp 
-0x4655 016275 fetch 2 ,mem_nv_data_ptr 
-0x4656 016276 copy pdata ,rega 
-0x4657 016277 branch iicd_read_eep_data 
-:      016281 ble_shutter_process_baseband_connect:
-0x4658 016282 call shutter_stop_bluetooth_discovery 
-0x4659 016283 setarg 0 
-0x465a 016284 store 2 ,mem_ble_shutter_reconn_timer 
-0x465b 016285 branch app_led_off 
-:      016288 ble_shutter_process_baseband_disconnect:
-0x465c 016289 call queue_init 
-0x465d 016290 jam 0 ,mem_ble_shutter_enable_notify 
-0x465e 016291 branch shutter_start_reconnect 
-:      016294 ble_shutter_process_reconnect_complete:
-0x465f 016295 call queue_init 
-0x4660 016296 jam 1 ,mem_ble_shutter_enable_notify 
-0x4661 016297 fetch 8 ,mem_ble_shutter_interval_min 
-0x4662 016298 store 8 ,mem_le_interval_min 
-0x4663 016299 call app_lpm_mult_enable 
-0x4664 016300 branch le_l2cap_tx_update_req 
-:      016303 ble_shutter_process_parse_connect_parameter_update_response:
-0x4665 016304 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0x4666 016305 rtneq ble_signaling_connect_parameter_update_accepted 
-0x4667 016306 fetch 8 ,mem_ble_shutter_interval_min_new 
-0x4668 016307 rtn blank 
-0x4669 016308 store 8 ,mem_le_interval_min 
-0x466a 016309 branch le_l2cap_tx_update_req 
-:      016313 shutter_process_soft_swtich_button_long_press:
-0x466b 016314 branch ui_soft_switch_botton_long_press 
-:      016316 shutter_process_soft_swtich_button_down:
-0x466c 016317 fetch 1 ,mem_shutter_hard_soft_switch_case 
-0x466d 016318 rtneq hard_switch 
-0x466e 016319 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x466f 016320 rtnne ss_state_power_on 
-0x4670 016321 call shutter_store_currenct_led_state 
-0x4671 016322 branch app_led_on 
-:      016324 shutter_store_currenct_led_state:
-0x4672 016325 jam 1 ,mem_shutter_soft_swtich_botton_down 
-0x4673 016326 arg 11 ,loopcnt 
-0x4674 016327 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
-0x4675 016328 arg mem_shutter_led_struct_app_led ,contr 
-0x4676 016329 branch memcpy 
-:      016331 shutter_process_soft_swtich_button_up:
-0x4677 016332 fetch 1 ,mem_shutter_hard_soft_switch_case 
-0x4678 016333 rtneq hard_switch 
-0x4679 016334 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x467a 016335 beq ss_state_power_on ,shutter_load_currenct_led_state 
-0x467b 016336 branch ui_soft_switch_botton_up 
-:      016338 shutter_load_currenct_led_state:
-0x467c 016339 fetch 1 ,mem_shutter_soft_swtich_botton_down 
-0x467d 016340 rtnne 1 
-0x467e 016341 jam 0 ,mem_shutter_soft_swtich_botton_down 
-0x467f 016342 fetch 2 ,mem_ui_state_map 
-0x4680 016343 bbit1 ui_state_bt_connected ,app_led_off 
-0x4681 016344 bbit1 ui_state_ble_connected ,app_led_off 
-0x4682 016345 arg 11 ,loopcnt 
-0x4683 016346 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
-0x4684 016347 arg mem_shutter_led_struct_app_led ,contw 
-0x4685 016348 branch memcpy 
-:      016353 shutter_le_bb_event_timer:
-0x4686 016355 call shutter_check_sleep_timer 
-0x4687 016358 call shutter_check_power_off_timer 
-0x4688 016361 call classic_shutter_check_unplug_timer 
-0x4689 016362 call classic_shutter_hid_handshake_timer 
-0x468a 016363 call classic_shutter_hid_disconn_timer 
-0x468b 016366 branch ble_shutter_reconn_timer 
-:      016370 shutter_check_sleep_timer:
-0x468c 016371 arg mem_shutter_sleep_timer ,regc 
-0x468d 016372 arg shutter_sleep_timeout ,regb 
-0x468e 016373 branch timer_single_step_2b 
-:      016374 shutter_sleep_timeout:
-0x468f 016375 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
-0x4690 016376 call app_led_off 
-0x4691 016377 call shutter_disconnect_current_connection 
-0x4692 016378 branch shutter_wait_power_off 
-:      016381 shutter_check_power_off_timer:
-0x4693 016382 arg mem_shutter_power_off_timer ,regc 
-0x4694 016383 arg shutter_check_power_off_timeout ,regb 
-0x4695 016384 branch timer_single_step 
-:      016386 shutter_check_power_off_timeout:
-0x4696 016387 fetch 2 ,mem_ui_state_map 
-0x4697 016388 bbit1 ui_state_ble_connected ,shutter_wait_power_off 
-0x4698 016389 bbit1 ui_state_bt_connected ,shutter_wait_power_off 
-0x4699 016390 fetch 1 ,mem_shutter_led_struct_app_led_type 
-0x469a 016391 beq ui_led_state_blink_start ,shutter_wait_power_off 
-0x469b 016392 beq ui_led_state_blink_lighting ,shutter_wait_power_off 
-0x469c 016393 beq ui_led_state_blink_darking ,shutter_wait_power_off 
-0x469d 016394 branch app_enter_hibernate 
-:      016398 classic_shutter_check_unplug_timer:
-0x469e 016399 arg mem_classic_shutter_cable_unplug_conut ,regc 
-0x469f 016400 arg classic_shutter_unplug_timeout ,regb 
-0x46a0 016401 branch timer_single_step 
-:      016403 classic_shutter_unplug_timeout:
-0x46a1 016404 fetch 1 ,mem_control_tasks 
-0x46a2 016405 set1 l2cap_disconnect_interrupt ,pdata 
-0x46a3 016406 set1 l2cap_disconnect_control ,pdata 
-0x46a4 016407 store 1 ,mem_control_tasks 
-0x46a5 016408 rtn 
-:      016410 classic_shutter_hid_handshake_timer:
-0x46a6 016411 arg mem_hid_handshake_timer_count ,regc 
-0x46a7 016412 arg classic_shutter_process_hid_handshake ,regb 
-0x46a8 016413 branch timer_single_step 
-:      016415 classic_shutter_hid_disconn_timer:
-0x46a9 016416 arg mem_classic_shutter_hid_disconn_count ,regc 
-0x46aa 016417 arg app_bt_disconnect ,regb 
-0x46ab 016418 branch timer_single_step 
-:      016423 ble_shutter_reconn_timer:
-0x46ac 016424 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x46ad 016425 rtnne ss_state_power_on 
-0x46ae 016426 arg mem_ble_shutter_reconn_timer ,regc 
-0x46af 016427 arg shutter_start_bluetooth_discovery ,regb 
-0x46b0 016428 branch timer_single_step_2b 
-:      016431 shutter_process_idle:
-0x46b1 016432 call shutter_send_data_to_master 
-0x46b2 016433 branch keyscan_key_process 
-:      016436 shutter_process_lpm_before:
-0x46b3 016437 branch keyscan_process_lpm_before 
-:      016439 shutter_le_before_hibernate:
-0x46b4 016440 call gpio_set_before_lpm_common 
-0x46b5 016441 branch shutter_process_lpm_before 
-:      016447 shutter_stop_bluetooth_discovery:
-0x46b6 016448 fetch 1 ,mem_shutter_bluetooth_type 
-0x46b7 016449 bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
-0x46b8 016450 bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
-0x46b9 016451 rtn 
-:      016453 ble_shutter_stop_bluetooth_discovery:
-0x46ba 016454 fetch 2 ,mem_ble_shutter_connect_timeout 
-0x46bb 016455 store 2 ,mem_shutter_sleep_timeout 
-0x46bc 016456 store 2 ,mem_shutter_sleep_timer 
-0x46bd 016457 branch app_ble_stop_adv 
-:      016459 classic_shutter_stop_bluetooth_discovery:
-0x46be 016460 fetch 2 ,mem_classic_shutter_connect_timeout 
-0x46bf 016461 store 2 ,mem_shutter_sleep_timeout 
-0x46c0 016462 store 2 ,mem_shutter_sleep_timer 
-0x46c1 016463 branch app_bt_stop_discovery 
-:      016465 shutter_start_bluetooth_discovery:
-0x46c2 016466 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x46c3 016467 rtnne ss_state_power_on 
-0x46c4 016468 fetch 1 ,mem_shutter_bluetooth_type 
-0x46c5 016469 bbit1 classic_shutter ,classic_shutter_start_discovery 
-0x46c6 016470 bbit1 ble_shutter ,ble_shutter_start_discovery 
-0x46c7 016471 rtn 
-:      016473 classic_shutter_start_discovery:
-0x46c8 016474 fetch 2 ,mem_classic_shutter_discovery_timeout ,
-0x46c9 016475 store 2 ,mem_shutter_sleep_timeout 
-0x46ca 016476 store 2 ,mem_shutter_sleep_timer 
-0x46cb 016477 branch app_bt_start_discovery_short 
-:      016479 ble_shutter_start_discovery:
-0x46cc 016480 fetch 2 ,mem_ui_state_map 
-0x46cd 016481 rtnbit1 ui_state_ble_connected 
-0x46ce 016482 fetch 2 ,mem_ble_shutter_discovery_timeout 
-0x46cf 016483 store 2 ,mem_shutter_sleep_timeout 
-0x46d0 016484 store 2 ,mem_shutter_sleep_timer 
-0x46d1 016485 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
-0x46d2 016486 call shutter_ble_adv_interval_set 
-0x46d3 016487 call app_led_start_blink 
-0x46d4 016488 fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
-0x46d5 016489 store 4 ,mem_shutter_led_struct_app_led_on_time 
-0x46d6 016490 fetch 2 ,mem_ui_state_map 
-0x46d7 016491 rtnbit1 ui_state_ble_adv 
-0x46d8 016492 branch app_ble_start_adv 
-:      016495 shutter_start_reconnect:
-0x46d9 016496 fetch 1 ,mem_shutter_soft_switch_power_state 
-0x46da 016497 rtnne ss_state_power_on 
-0x46db 016498 fetch 1 ,mem_shutter_bluetooth_type 
-0x46dc 016499 bbit1 classic_shutter ,classic_shutter_start_reconnect 
-0x46dd 016500 bbit1 ble_shutter ,ble_shutter_start_reconnect 
-0x46de 016501 rtn 
-:      016503 classic_shutter_start_reconnect:
-0x46df 016504 call app_check_reconn_target 
-0x46e0 016505 branch shutter_start_bluetooth_discovery ,blank 
-0x46e1 016506 call app_led_on 
-0x46e2 016507 call app_bt_stop_discovery 
-0x46e3 016508 branch app_bt_start_reconnect 
-:      016510 ble_shutter_start_reconnect:
-0x46e4 016511 fetch 2 ,mem_ble_shutter_reconn_timer 
-0x46e5 016512 fetcht 2 ,mem_ble_shutter_reconn_timeout 
-0x46e6 016513 storet 2 ,mem_ble_shutter_reconn_timer 
-0x46e7 016514 nrtn blank 
-0x46e8 016515 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
-0x46e9 016516 call shutter_ble_adv_interval_set 
-0x46ea 016517 call app_led_start_blink 
-0x46eb 016518 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
-0x46ec 016519 store 4 ,mem_shutter_led_struct_app_led_on_time 
-0x46ed 016520 fetch 2 ,mem_ui_state_map 
-0x46ee 016521 rtnbit1 ui_state_ble_adv 
-0x46ef 016522 branch app_ble_start_adv 
-:      016525 shutter_ble_adv_interval_set:
-0x46f0 016526 store 2 ,mem_lpm_interval 
-0x46f1 016527 increase -4 ,pdata 
-0x46f2 016528 store 2 ,mem_le_adv_interval 
-0x46f3 016529 rtn 
-:      016532 shutter_disconnect_current_connection:
-0x46f4 016533 fetch 2 ,mem_ui_state_map 
-0x46f5 016534 bbit1 ui_state_ble_connected ,app_ble_disconnect 
-0x46f6 016535 bbit1 ui_state_bt_connected ,app_bt_disconnect 
-0x46f7 016536 branch shutter_stop_bluetooth_discovery 
-:      016540 app_check_reconn_target:
-0x46f8 016541 fetch 1 ,mem_nv_data_number 
-0x46f9 016542 copy pdata ,loopcnt 
-0x46fa 016543 fetch 2 ,mem_nv_data_ptr 
-0x46fb 016544 copy pdata ,rega 
-:      016545 app_check_reconn_target_loop:
-0x46fc 016546 ifetch 2 ,rega 
-0x46fd 016547 beq 0 ,found_reconn_device 
-0x46fe 016548 increase nv_data_len ,rega 
-0x46ff 016549 loop app_check_reconn_target_loop 
-0x4700 016550 branch enable_blank 
-:      016552 found_reconn_device:
-0x4701 016553 ifetch 6 ,contr 
-0x4702 016554 store 6 ,mem_hci_plap 
-0x4703 016555 increase 10 ,contr 
-0x4704 016556 arg mem_link_key ,contw 
-0x4705 016557 call memcpy16 
-0x4706 016558 call check_link_key_load 
-0x4707 016559 branch disable_blank 
-:      016565 shutter_check_data_enable:
-0x4708 016566 call disable_user 
-0x4709 016567 fetch 2 ,mem_ui_state_map 
-0x470a 016568 bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
-0x470b 016569 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
-0x470c 016570 rtn 
-:      016572 shutter_check_bt_data_enable:
-0x470d 016573 fetch 1 ,mem_hid_interrupt_state 
-0x470e 016574 rtnne 0x3f 
-0x470f 016575 branch enable_user 
-:      016577 shutter_check_ble_data_enable:
-0x4710 016578 fetch 1 ,mem_ble_shutter_enable_notify 
-0x4711 016579 rtn blank 
-0x4712 016580 branch enable_user 
-:      016585 shutter_check_bluetooth_conn:
-0x4713 016586 call disable_user 
-0x4714 016587 fetch 2 ,mem_ui_state_map 
-0x4715 016588 rtnbit1 ui_state_bt_connected 
-0x4716 016589 rtnbit1 ui_state_ble_connected 
-0x4717 016590 branch enable_user 
-:      016594 shutter_change_bluetooth_status_bt_disconn:
-0x4718 016595 fetch 1 ,mem_shutter_bluetooth_type 
-0x4719 016596 bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
-0x471a 016597 bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
-0x471b 016598 rtn 
-:      016600 classic_shutter_change_bluetooth_status_bt_disconn:
-0x471c 016601 fetch 1 ,mem_scan_mode 
-0x471d 016602 rtnne 0x03 
-0x471e 016603 branch shutter_start_reconnect 
-:      016605 ble_shutter_change_bluetooth_status_bt_disconn:
-0x471f 016606 branch shutter_start_reconnect 
-:      016609 shutter_check_send_data:
-0x4720 016610 disable user2 
-0x4721 016611 fetch 2 ,mem_shutter_sleep_timeout 
-0x4722 016612 store 2 ,mem_shutter_sleep_timer 
-0x4723 016614 call shutter_check_bluetooth_conn 
-0x4724 016615 branch shutter_change_bluetooth_status_bt_disconn ,user 
-0x4725 016617 call shutter_check_data_enable 
-0x4726 016618 nrtn user 
-0x4727 016619 enable user2 
-0x4728 016620 rtn 
-:      016624 shutter_key_change:
-0x4729 016625 call shutter_check_send_data 
-0x472a 016626 nrtn user2 
-0x472b 016627 deposit rega 
-0x472c 016628 branch shutter_key_release ,blank 
-:      016629 shutter_key_press:
-0x472d 016630 call app_led_on 
-0x472e 016631 arg mem_key0_press ,regc 
-0x472f 016632 branch push_queue_press_or_release 
-:      016634 shutter_key_release:
-0x4730 016635 call app_led_off 
-0x4731 016636 arg mem_key0_release ,regc 
-:      016638 push_queue_press_or_release:
-0x4732 016639 arg max_queue_num ,pdata 
-0x4733 016640 imul32 queue ,pdata 
-0x4734 016641 iadd regc ,regc 
-:      016644 push_buffer_in_queue:
-0x4735 016645 ifetch 1 ,regc 
-0x4736 016646 rtn blank 
-0x4737 016647 call queue_push_one_byte 
-0x4738 016648 increase 1 ,regc 
-0x4739 016649 branch push_buffer_in_queue 
-:      016652 shutter_send_data_to_master:
-0x473a 016653 fetch 2 ,mem_ui_state_map 
-0x473b 016654 bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
-0x473c 016655 bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
-0x473d 016656 rtn 
-:      016658 pop_queue_to_ble_data:
-0x473e 016659 call le_fifo_check_nearly_full 
-0x473f 016660 nrtn blank 
-0x4740 016661 call queue_pop_one_byte 
-0x4741 016662 nrtn user 
-0x4742 016663 pincrease -1 
-0x4743 016664 mul32 pdata ,shutter_ble_data_buffer ,pdata 
-0x4744 016665 arg mem_ble_data_buffer1 ,temp 
-0x4745 016666 iadd temp ,contr 
-:      016667 le_send_notify_from_list:
-0x4746 016668 ifetch 1 ,contr 
-0x4747 016669 copy pdata ,rega 
-0x4748 016670 ifetcht 2 ,contr 
-0x4749 016671 call store_contr 
-0x474a 016672 call le_att_malloc_tx_notify 
-0x474b 016673 copy rega ,loopcnt 
-0x474c 016674 call get_contr 
-0x474d 016675 branch memcpy 
-:      016678 pop_queue_to_classic_data:
-0x474e 016679 call l2cap_malloc_is_fifo_nearly_full 
-0x474f 016680 nrtn blank 
-0x4750 016681 call queue_pop_one_byte 
-0x4751 016682 nrtn user 
-0x4752 016683 pincrease -1 
-0x4753 016684 mul32 pdata ,shutter_classic_data_buffer ,pdata 
-0x4754 016685 arg mem_classic_data_buffer1 ,temp 
-0x4755 016686 iadd temp ,contr 
-0x4756 016687 ifetch 5 ,contr 
-0x4757 016688 store 5 ,mem_classic_data_buffer 
-:      016689 classic_send_hid_data:
-0x4758 016690 fetch 1 ,mem_classic_data_buffer 
-0x4759 016691 copy pdata ,rega 
-0x475a 016692 call hid_malloc_tx_buff 
-0x475b 016693 fetch 2 ,mem_hid_int_remote_cid 
-0x475c 016694 istore 2 ,contw 
-0x475d 016695 setarg 0xa1 
-0x475e 016696 istore 1 ,contw 
-0x475f 016697 fetch 4 ,mem_classic_data_buffer + 1 
-0x4760 016698 istore 9 ,contw 
-0x4761 016699 rtn 
-:      016703 queue_push_one_byte:
-0x4762 016704 store 1 ,mem_pdatatemp 
-0x4763 016705 arg mem_pdatatemp ,rega 
-0x4764 016706 branch queue_push 
-:      016708 queue_pop_one_byte:
-0x4765 016709 arg mem_pdatatemp ,rega 
-0x4766 016710 call queue_pop 
-0x4767 016711 nrtn user 
-0x4768 016712 fetch 1 ,mem_pdatatemp 
-0x4769 016713 rtn 
-:      016716 ble_shutter_receive_data:
-0x476a 016717 fetch 2 ,mem_le_att_handle 
-0x476b 016718 beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
-0x476c 016719 rtn 
-:      016721 shutter_init_param:
-0x476d 016722 setarg 0x02 
-0x476e 016723 store 1 ,mem_shutter_power_off_timeout 
-0x476f 016725 setarg 0x00200008 
-0x4770 016726 store 4 ,mem_ble_shutter_interval_min 
-0x4771 016727 setarg 0x012c0005 
-0x4772 016728 istore 4 ,contw 
-0x4773 016731 jam 0x17 ,mem_le_local_mtu 
-0x4774 016734 setarg 0x1b 
-0x4775 016735 store 2 ,mem_le_pairing_handle 
-0x4776 016736 call le_set_config_fixed_ltk 
-0x4777 016737 call le_set_fixed_ltk 
-0x4778 016738 call le_set_justwork 
-0x4779 016739 branch le_set_config_read_authentication 
-:      016742 shutter_load_buffer_config_form_datarom:
-0x477a 016744 arg ble_key_value_list_size ,loopcnt 
-0x477b 016745 arg mem_ble_data_buffer1 ,contw 
-0x477c 016746 arg ble_shutter_key_value_list ,contr 
-0x477d 016747 call memcpy_fast 
-0x477e 016748 arg bt_key_value_list_size ,loopcnt 
-0x477f 016749 arg mem_classic_data_buffer1 ,contw 
-0x4780 016750 arg classic_shutter_key_value_list ,contr 
-0x4781 016751 branch memcpy_fast 
-:      016754 shutter_load_ble_gatt_form_datarom:
-0x4782 016755 arg ble_gatt_list_size ,loopcnt 
-0x4783 016756 arg ble_shutter_gatt_list ,contr 
-0x4784 016757 branch memcpy_fast 
-:      016760 shutter_load_bt_sdp_form_datarom:
-0x4785 016761 arg bt_sdp_list_size ,loopcnt 
-0x4786 016762 arg classic_shutter_sdp_list ,contr 
-0x4787 016763 branch memcpy_fast 
-:      016767 shutter_init_bluetooth_config:
-0x4788 016768 call shutter_check_load_config_flag 
-0x4789 016769 nrtn user 
-0x478a 016770 fetch 1 ,mem_shutter_config_select_gpio1 
-0x478b 016771 call shutter_init_bluetooth_config_gpio_input 
-0x478c 016772 fetch 1 ,mem_shutter_config_select_gpio2 
-0x478d 016773 call shutter_init_bluetooth_config_gpio_input 
-0x478e 016774 fetch 1 ,mem_shutter_config_select_gpio3 
-0x478f 016775 branch shutter_init_bluetooth_config_gpio_input 
-:      016777 shutter_init_bluetooth_config_gpio_input:
-0x4790 016778 rtn blank 
-0x4791 016779 or pdata ,0x80 ,temp 
-0x4792 016780 branch gpio_config_input_nowake 
-:      016783 shutter_load_bluetooth_config:
-0x4793 016784 call shutter_check_load_config_flag 
-0x4794 016785 nrtn user 
-0x4795 016786 call shutter_load_bluetooth_config_label 
-0x4796 016787 branch shutter_load_bluetooth_config_by_otp 
-:      016789 shutter_load_bluetooth_config_label:
-0x4797 016790 arg 0 ,rega 
-0x4798 016791 fetch 1 ,mem_shutter_config_select_gpio1 
-0x4799 016792 call shutter_load_bluetooth_config_read_gpio_input 
-0x479a 016793 nsetflag blank ,0 ,rega 
-0x479b 016794 fetch 1 ,mem_shutter_config_select_gpio2 
-0x479c 016795 call shutter_load_bluetooth_config_read_gpio_input 
-0x479d 016796 nsetflag blank ,1 ,rega 
-0x479e 016797 fetch 1 ,mem_shutter_config_select_gpio3 
-0x479f 016798 call shutter_load_bluetooth_config_read_gpio_input 
-0x47a0 016799 nsetflag blank ,2 ,rega 
-0x47a1 016800 copy rega ,pdata 
-0x47a2 016801 store 1 ,mem_shutter_config_label 
-0x47a3 016802 fetch 1 ,mem_shutter_config_size 
-0x47a4 016803 imul32 rega ,pdata 
-0x47a5 016804 fetcht 2 ,mem_shutter_config_otp_base_address 
-0x47a6 016805 iadd temp ,pdata 
-0x47a7 016806 store 2 ,mem_shutter_config_otp_addr 
-0x47a8 016807 rtn 
-:      016809 shutter_load_bluetooth_config_read_gpio_input:
-0x47a9 016810 rtn blank 
-0x47aa 016811 or pdata ,0x80 ,temp 
-0x47ab 016812 call gpio_get_bit 
-0x47ac 016813 nbranch enable_blank ,true 
-0x47ad 016814 branch disable_blank 
-:      016817 shutter_check_load_config_flag:
-0x47ae 016818 call disable_user 
-0x47af 016819 fetch 1 ,mem_shutter_config_user_size 
-0x47b0 016820 nrtn blank 
-0x47b1 016821 fetch 1 ,mem_shutter_config_enable 
-0x47b2 016822 rtn blank 
-0x47b3 016823 branch enable_user 
-:      016826 shutter_load_bluetooth_config_by_otp:
-0x47b4 016827 call otp_enable_chgpump 
-0x47b5 016828 fetch 2 ,mem_shutter_config_otp_addr 
-0x47b6 016829 arg mem_shutter_config_data_temp ,rega 
-0x47b7 016830 fetcht 1 ,mem_shutter_config_size 
-0x47b8 016831 call otpd_read_data 
-0x47b9 016832 call otp_disable_chgpump 
-:      016833 shutter_load_bluetooth_config_store_name:
-0x47ba 016834 fetch 1 ,mem_shutter_config_data_temp 
-0x47bb 016835 copy pdata ,loopcnt 
-0x47bc 016836 store 1 ,mem_le_name_len 
-0x47bd 016837 call memcpy_fast 
-0x47be 016838 fetch 1 ,mem_shutter_config_data_temp 
-0x47bf 016839 copy pdata ,loopcnt 
-0x47c0 016840 store 1 ,mem_local_name_length 
-0x47c1 016841 call memcpy_fast 
-0x47c2 016842 ifetch 1 ,contr 
-0x47c3 016843 store 1 ,mem_shutter_key_num 
-0x47c4 016844 ifetch 1 ,contr 
-0x47c5 016845 store 1 ,mem_shutter_hard_soft_switch_case 
-0x47c6 016846 rtn 
-:      016849 shutter_load_bluetooth_config_by_eeprom:
-0x47c7 016850 fetch 1 ,mem_shutter_bluetooth_type 
-0x47c8 016851 rtnbit0 classic_shutter 
-0x47c9 016852 arg 3 ,temp 
-0x47ca 016853 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
-0x47cb 016854 copy pdata ,regb 
-0x47cc 016855 arg mem_shutter_config_eeprom_start_flag ,rega 
-0x47cd 016856 call iicd_read_eep_data 
-0x47ce 016857 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
-0x47cf 016858 setarg shutter_eeprom_config_crc 
-0x47d0 016859 isub temp ,null 
-0x47d1 016860 nrtn zero 
-0x47d2 016861 fetch 1 ,mem_shutter_config_user_size 
-0x47d3 016862 rtn blank 
-0x47d4 016863 copy pdata ,temp 
-0x47d5 016864 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
-0x47d6 016865 add pdata ,3 ,regb 
-0x47d7 016866 arg mem_shutter_config_data_temp ,rega 
-0x47d8 016867 call iicd_read_eep_data 
-0x47d9 016868 branch shutter_store_config 
-:      016870 shutter_load_bluetooth_config_by_user_config:
-0x47da 016871 fetch 2 ,mem_shutter_config_user_otp_address 
-0x47db 016872 rtn blank 
-0x47dc 016873 call otp_enable_chgpump 
-0x47dd 016874 arg 1 ,temp 
-0x47de 016875 arg mem_shutter_config_user_size ,rega 
-0x47df 016876 call otpd_read_data 
-0x47e0 016878 fetch 1 ,mem_shutter_config_user_size 
-0x47e1 016879 rtn blank 
-0x47e2 016881 fetch 2 ,mem_shutter_config_user_otp_address 
-0x47e3 016882 pincrease 1 
-0x47e4 016883 arg mem_shutter_config_data_temp ,rega 
-0x47e5 016884 fetcht 1 ,mem_shutter_config_user_size 
-0x47e6 016885 call otpd_read_data 
-0x47e7 016886 call otp_disable_chgpump 
-:      016887 shutter_store_config:
-0x47e8 016888 call shutter_load_bluetooth_config_store_name 
-:      016889 shutter_load_bluetooth_config_custom:
-0x47e9 016890 ifetch 2 ,contr 
-0x47ea 016891 rtn blank 
-0x47eb 016892 copy pdata ,contw 
-0x47ec 016893 ifetcht 1 ,contr 
-0x47ed 016894 copy temp ,loopcnt 
-0x47ee 016895 call memcpy 
-0x47ef 016896 branch shutter_load_bluetooth_config_custom 
-:      016900 shutter_random_mac_addr:
-0x47f0 016901 fetch 1 ,mem_shutter_bluetooth_type 
-0x47f1 016902 rtnbit0 classic_shutter 
-0x47f2 016903 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
-0x47f3 016904 copy pdata ,regb 
-0x47f4 016905 arg 4 ,temp 
-0x47f5 016906 arg mem_shutter_random_mac_data_temp ,rega 
-0x47f6 016907 call iicd_read_eep_data 
-0x47f7 016908 fetch 1 ,mem_shutter_random_mac_data_temp 
-0x47f8 016909 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
-:      016910 shutter_write_random_mac_addr_to_eeprom:
-0x47f9 016911 setarg 1 
-0x47fa 016912 store 1 ,mem_shutter_random_mac_data_temp 
-0x47fb 016913 force 3 ,loopcnt 
-0x47fc 016914 call generate_random_loop 
-0x47fd 016915 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
-0x47fe 016916 copy pdata ,regb 
-0x47ff 016917 arg 4 ,temp 
-0x4800 016918 arg mem_shutter_random_mac_data_temp ,rega 
-0x4801 016919 call iicd_write_eep_data 
-:      016920 shutter_write_random_mac_addr:
-0x4802 016921 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
-0x4803 016922 store 3 ,mem_lap 
-0x4804 016923 store 3 ,mem_le_lap 
-0x4805 016924 rtn 
-:      016927 shutter_soft_swtich_power_on:
-0x4806 016928 branch shutter_start_reconnect 
-:      016931 shutter_soft_swtich_power_off:
-0x4807 016932 arg 0 ,rega 
-0x4808 016933 arg mem_shutter_power_off_led_style ,regc 
-0x4809 016934 call ui_led_set_style_global 
-0x480a 016935 call shutter_disconnect_current_connection 
-:      016936 shutter_wait_power_off:
-0x480b 016937 fetch 1 ,mem_shutter_power_off_timeout 
-0x480c 016938 store 1 ,mem_shutter_power_off_timer 
-0x480d 016939 rtn 
-:      016943 ui_soft_swtich_init:
-0x480e 016944 setarg ss_state_power_up 
-0x480f 016945 call ui_soft_swtich_init_power_on_time 
-0x4810 016946 jam ui_button_state_up ,mem_ui_button_last_state 
-0x4811 016947 call ui_button_init 
-0x4812 016948 call ui_button_polling 
-0x4813 016949 fetch 2 ,mem_ui_state_map 
-0x4814 016950 rtnbit1 ui_state_btn_down 
-0x4815 016951 branch app_enter_hibernate 
-:      016953 ui_soft_swtich_init_power_on_time:
-0x4816 016954 fetcht 2 ,mem_power_param_ptr 
-0x4817 016955 istore 1 ,temp 
-0x4818 016956 ifetch 1 ,contw 
-0x4819 016957 store 1 ,mem_ui_button_timeout 
-0x481a 016958 rtn 
-:      016961 ui_soft_switch_botton_up:
-0x481b 016962 fetch 2 ,mem_power_param_ptr 
-0x481c 016963 ifetch 1 ,pdata 
-0x481d 016964 rtnne ss_state_power_up 
-0x481e 016965 branch app_enter_hibernate 
-:      016968 ui_soft_switch_botton_long_press:
-0x481f 016969 fetcht 2 ,mem_power_param_ptr 
-0x4820 016970 ifetch 1 ,temp 
-0x4821 016971 beq ss_state_power_on ,ui_soft_switch_power_off 
-:      016972 ui_soft_switch_power_on:
-0x4822 016973 setarg ss_state_power_on 
-0x4823 016974 fetcht 2 ,mem_power_param_ptr 
-0x4824 016975 istore 1 ,temp 
-0x4825 016976 add temp ,ss_power_off_time ,contr 
-0x4826 016977 ifetch 1 ,contr 
-0x4827 016978 istore 1 ,mem_ui_button_timeout 
-0x4828 016979 ifetch 2 ,contr 
-0x4829 016980 branch callback_func 
-:      016982 ui_soft_switch_power_off:
-0x482a 016983 setarg ss_state_power_off 
-0x482b 016984 call ui_soft_swtich_init_power_on_time 
-0x482c 016985 add temp ,ss_power_off_cb ,contr 
-0x482d 016986 ifetch 2 ,contr 
-0x482e 016987 branch app_enter_hibernate ,blank 
-0x482f 016988 branch callback_func 
-:      016994 shutter_byteswap:
-0x4830 016995 store 6 ,mem_tmp_buffer 
-0x4831 016996 fetch 1 ,mem_tmp_buffer 
-0x4832 016997 store 1 ,mem_tmp_buffer + 11 
-0x4833 016998 ifetch 1 ,contr 
-0x4834 016999 store 1 ,mem_tmp_buffer + 10 
-0x4835 017000 ifetch 1 ,contr 
-0x4836 017001 store 1 ,mem_tmp_buffer + 9 
-0x4837 017002 ifetch 1 ,contr 
-0x4838 017003 store 1 ,mem_tmp_buffer + 8 
-0x4839 017004 ifetch 1 ,contr 
-0x483a 017005 store 1 ,mem_tmp_buffer + 7 
-0x483b 017006 ifetch 1 ,contr 
-0x483c 017007 store 1 ,mem_tmp_buffer + 6 
-0x483d 017008 fetch 6 ,mem_tmp_buffer + 6 
-0x483e 017009 rtn 
-:      017011 shutter_random_addr_by_otp:
-0x483f 017012 call load_adc_init 
-0x4840 017013 fetch 1 ,mem_1v_adc_io_data 
-0x4841 017014 store 1 ,mem_le_lap 
-0x4842 017015 fetch 1 ,mem_5v_adc_hvin_data 
-0x4843 017016 istore 1 ,contw 
-0x4844 017017 fetch 1 ,mem_3v_adc_vinlpm_data 
-0x4845 017018 istore 1 ,contw 
-0x4846 017019 fetch 3 ,mem_le_lap 
-0x4847 017020 store 3 ,mem_lap 
-0x4848 017021 rtn 
-:      017033 sim_iic_read_eep_data:
-0x4849 017034 fetch 2 ,mem_eeprom_base 
-0x484a 017035 iadd regb ,pdata 
-0x484b 017036 byteswap pdata ,pdata 
-0x484c 017037 store 2 ,mem_addr_mi 
-0x484d 017038 copy temp ,regb 
-0x484e 017040 call sim_iic_start 
-0x484f 017041 setarg 0xa0 
-0x4850 017042 call sim_iic_send_byte 
-0x4851 017043 fetch 1 ,mem_addr_mi 
-0x4852 017044 call sim_iic_send_byte 
-0x4853 017045 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
-0x4854 017046 fetch 1 ,mem_addr_mi + 1 
-0x4855 017047 call sim_iic_send_byte 
-:      017048 sim_iic_read_eep_data_2k:
-0x4856 017049 call sim_iic_stop 
-0x4857 017051 call sim_iic_start 
-0x4858 017052 setarg 0xa1 
-0x4859 017053 call sim_iic_send_byte 
-:      017055 sim_iic_read_eep_data_loop:
-0x485a 017056 call sim_iic_read_byte 
-0x485b 017057 istore 1 ,rega 
-0x485c 017058 increase 1 ,rega 
-0x485d 017059 increase -1 ,regb 
-0x485e 017060 nbranch sim_iic_read_eep_data_loop ,zero 
-0x485f 017061 branch sim_iic_stop 
-:      017072 sim_iic_write_eep_data:
-0x4860 017073 byteswap regb ,pdata 
-0x4861 017074 store 2 ,mem_addr_mi 
-0x4862 017075 copy temp ,regb 
-0x4863 017077 call sim_iic_start 
-0x4864 017078 setarg 0xa0 
-0x4865 017079 call sim_iic_send_byte 
-0x4866 017081 fetch 1 ,mem_addr_mi 
-0x4867 017082 call sim_iic_send_byte 
-0x4868 017083 bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
-0x4869 017084 fetch 1 ,mem_addr_mi + 1 
-0x486a 017085 call sim_iic_send_byte 
-:      017086 sim_iic_write_eep_data_loop:
-0x486b 017087 ifetch 1 ,rega 
-0x486c 017088 call sim_iic_send_byte 
-0x486d 017089 increase 1 ,rega 
-0x486e 017090 increase -1 ,regb 
-0x486f 017091 nbranch sim_iic_write_eep_data_loop ,zero 
-0x4870 017092 branch sim_iic_stop 
-:      017096 sim_iic_wait_ack:
-0x4871 017097 arg 10 ,loopcnt 
-0x4872 017098 call sim_iic_release_sda 
-0x4873 017099 call sim_iic_scl_output_high 
-0x4874 017100 call sim_iic_delay 
-:      017101 sim_iic_wait_ack_loop:
-0x4875 017102 call sim_iic_read_sda_level 
-0x4876 017103 branch sim_iic_scl_output_low ,blank 
-0x4877 017104 loop sim_iic_wait_ack_loop 
-0x4878 017105 branch sim_iic_scl_output_low 
-:      017109 sim_iic_ack_slave:
-0x4879 017110 call sim_iic_scl_output_low 
-0x487a 017111 call sim_iic_sda_output_low 
-0x487b 017112 call sim_iic_delay 
-0x487c 017113 call sim_iic_scl_output_high 
-0x487d 017114 call sim_iic_delay 
-0x487e 017115 branch sim_iic_scl_output_low 
-:      017120 sim_iic_read_byte:
-0x487f 017121 arg 8 ,loopcnt 
-0x4880 017122 arg 0 ,regc 
-0x4881 017123 call sim_iic_release_sda 
-:      017124 sim_iic_read_byte_loop:
-0x4882 017125 call sim_iic_scl_output_high 
-0x4883 017126 call sim_iic_delay 
-0x4884 017127 lshift regc ,regc 
-0x4885 017128 call sim_iic_read_sda_level 
-0x4886 017129 iadd regc ,regc 
-0x4887 017130 call sim_iic_delay 
-0x4888 017131 call sim_iic_scl_output_low 
-0x4889 017132 loop sim_iic_read_byte_loop 
-0x488a 017133 call sim_iic_ack_slave 
-0x488b 017134 copy regc ,pdata 
-0x488c 017135 rtn 
-:      017139 sim_iic_send_byte:
-0x488d 017140 arg 8 ,loopcnt 
-0x488e 017141 copy pdata ,regc 
-0x488f 017142 call sim_iic_scl_output_low 
-:      017143 sim_iic_send_byte_loop:
-0x4890 017144 isolate1 7 ,regc 
-0x4891 017145 call sim_iic_sda_output_high ,true 
-0x4892 017146 ncall sim_iic_sda_output_low ,true 
-0x4893 017147 lshift regc ,regc 
-0x4894 017148 call sim_iic_delay 
-0x4895 017149 call sim_iic_scl_output_high 
-0x4896 017150 call sim_iic_delay 
-0x4897 017151 call sim_iic_scl_output_low 
-0x4898 017152 call sim_iic_delay 
-0x4899 017153 loop sim_iic_send_byte_loop 
-0x489a 017154 branch sim_iic_wait_ack 
-:      017158 sim_iic_start:
-0x489b 017159 call sim_iic_sda_output_high 
-0x489c 017160 call sim_iic_scl_output_high 
-0x489d 017161 call sim_iic_delay 
-0x489e 017162 call sim_iic_sda_output_low 
-0x489f 017163 call sim_iic_delay 
-0x48a0 017164 branch sim_iic_scl_output_low 
-:      017168 sim_iic_stop:
-0x48a1 017169 call sim_iic_sda_output_low 
-0x48a2 017170 call sim_iic_scl_output_high 
-0x48a3 017171 call sim_iic_delay 
-0x48a4 017172 call sim_iic_sda_output_high 
-0x48a5 017173 branch sim_iic_delay 
-:      017177 sim_iic_scl_output_high:
-0x48a6 017178 enable user 
-0x48a7 017179 fetch 1 ,sim_iic_scl_gpio_num 
-0x48a8 017180 branch sim_iic_config_gpio 
-:      017183 sim_iic_scl_output_low:
-0x48a9 017184 disable user 
-0x48aa 017185 fetch 1 ,sim_iic_scl_gpio_num 
-0x48ab 017186 branch sim_iic_config_gpio 
-:      017189 sim_iic_sda_output_high:
-0x48ac 017190 enable user 
-0x48ad 017191 fetch 1 ,sim_iic_sda_gpio_num 
-0x48ae 017192 branch sim_iic_config_gpio 
-:      017195 sim_iic_sda_output_low:
-0x48af 017196 disable user 
-0x48b0 017197 fetch 1 ,sim_iic_sda_gpio_num 
-0x48b1 017198 branch sim_iic_config_gpio 
-:      017203 sim_iic_config_gpio:
-0x48b2 017204 and pdata ,0x07 ,queue 
-0x48b3 017205 rshift3 pdata ,pdata 
-0x48b4 017206 arg core_gpio_oe0 ,temp 
-0x48b5 017207 iadd temp ,temp 
-0x48b6 017208 ifetch 1 ,temp 
-0x48b7 017209 qset1 pdata 
-0x48b8 017210 istore 1 ,temp 
-0x48b9 017211 increase 4 ,temp 
-0x48ba 017212 ifetch 1 ,temp 
-0x48bb 017213 qsetflag user ,pdata 
-0x48bc 017214 istore 1 ,temp 
-0x48bd 017215 rtn 
-:      017218 sim_iic_release_sda:
-0x48be 017219 fetch 1 ,sim_iic_sda_gpio_num 
-0x48bf 017220 and pdata ,0x07 ,queue 
-0x48c0 017221 rshift3 pdata ,pdata 
-0x48c1 017222 arg core_gpio_oe0 ,temp 
-0x48c2 017223 iadd temp ,temp 
-0x48c3 017224 ifetch 1 ,temp 
-0x48c4 017225 qset0 pdata 
-0x48c5 017226 istore 1 ,temp 
-0x48c6 017227 rtn 
-:      017232 sim_iic_read_sda_level:
-0x48c7 017233 nop 4 
-0x48c8 017234 fetch 1 ,sim_iic_sda_gpio_num 
-0x48c9 017235 and pdata ,0x07 ,queue 
-0x48ca 017236 rshift3 pdata ,pdata 
-0x48cb 017237 arg core_gpio_in ,temp 
-0x48cc 017238 iadd temp ,temp 
-0x48cd 017239 setarg 0 
-0x48ce 017240 ifetcht 1 ,temp 
-0x48cf 017241 qisolate1 temp 
-0x48d0 017242 setflag true ,0 ,pdata 
-0x48d1 017243 rtn 
-:      017246 sim_iic_delay:
-0x48d2 017248 rtn 
-:      017254 usb_isr:
-0x48d3 017255 bpatch patch1e_6 ,mem_patch1e 
-0x48d4 017256 hfetch 1 ,core_usb_status 
-0x48d5 017257 isolate1 7 ,pdata 
-0x48d6 017258 call usb_init ,true 
-0x48d7 017259 call usb_nak_state_judge 
-0x48d8 017260 hfetch 1 ,core_usb_status 
-0x48d9 017261 store 1 ,mem_usb_status 
-0x48da 017262 hfetch 1 ,core_usb_fifo_empty 
-0x48db 017263 store 1 ,mem_usb_fifo_empty 
-0x48dc 017264 hstore 1 ,core_usb_fifo_empty 
-0x48dd 017265 pinvert 
-0x48de 017266 fetcht 1 ,mem_usb_tx_wait 
-0x48df 017267 iand temp ,pdata 
-0x48e0 017268 store 1 ,mem_usb_tx_wait 
-0x48e1 017269 jam 0xe0 ,core_usb_status 
-0x48e2 017270 fetch 1 ,mem_usb_fifo_empty 
-0x48e3 017271 compare 0x1 ,pdata ,0x1 
-0x48e4 017272 call usb0_fifo_empty ,true 
-0x48e5 017273 fetch 1 ,mem_usb_status 
-0x48e6 017274 compare 0x1 ,pdata ,0x1 
-0x48e7 017275 call usb_status1 ,true 
-0x48e8 017276 call usb_tx 
-0x48e9 017277 branch usb_nak_state 
-:      017279 usb_init:
-0x48ea 017280 bpatch patch1e_7 ,mem_patch1e 
-0x48eb 017281 call usb_init_param 
-0x48ec 017282 jam 0x00 ,core_usb_config 
-0x48ed 017283 nop 10000 
-0x48ee 017284 jam 0xc0 ,core_usb_trig 
-0x48ef 017285 hfetch 2 ,core_clkoff 
-0x48f0 017286 set0 clock_off_usb ,pdata 
-0x48f1 017287 hstore 2 ,core_clkoff 
-0x48f2 017288 jam 0x3c ,core_usb_config 
-0x48f3 017289 jam 0xff ,core_usb_status 
-0x48f4 017290 jam 0xff ,core_usb_fifo_empty 
-0x48f5 017291 jam 0 ,core_usb_addr 
-0x48f6 017292 jam dev_default ,mem_usb0_state 
-0x48f7 017293 setarg mem_usb_clear_mem_end 
-0x48f8 017294 arg mem_usb_clear_mem_start ,contw 
-0x48f9 017295 isub contw ,loopcnt 
-0x48fa 017296 branch clear_mem 
-:      017298 usb_offline_check_init:
-0x48fb 017299 fetcht 1 ,mem_usb_offline_check_gpio 
-0x48fc 017300 branch gpio_config_input 
-:      017301 usb_offline_state:
-0x48fd 017302 fetch 1 ,mem_usb_device_enumeration_endflag 
-0x48fe 017303 rtn blank 
-0x48ff 017304 fetcht 1 ,mem_usb_offline_check_gpio 
-0x4900 017305 call gpio_get_bit 
-0x4901 017306 branch usb_init ,true 
-0x4902 017307 rtn 
-:      017310 usb_nak_state:
-0x4903 017311 arg timer_nak ,queue 
-0x4904 017312 call timer_check 
-0x4905 017313 nrtn blank 
-0x4906 017314 fetch 1 ,mem_usb_wakestate_onetime_flag 
-0x4907 017315 nrtn blank 
-0x4908 017316 fetch 1 ,mem_usb_device_enumeration_endflag 
-0x4909 017317 ncall usb_mac_wakeup_judge ,blank 
-0x490a 017318 rtn 
-:      017320 usb_mem_devicedesc_init:
-0x490b 017321 arg mem_devicedesc ,contw 
-0x490c 017322 setsect 0 ,0x11212 
-0x490d 017323 setsect 1 ,0x8000 
-0x490e 017324 setsect 2 ,0x0 
-0x490f 017325 setsect 3 ,0x10000 
-0x4910 017326 istore 9 ,contw 
-0x4911 017327 setsect 0 ,0x22412 
-0x4912 017328 setsect 1 ,0x8604 
-0x4913 017329 setsect 2 ,0x1000 
-0x4914 017330 setsect 3 ,0x8 
-0x4915 017331 istore 9 ,contw 
-0x4916 017332 setsect 0 ,0x1 
-0x4917 017333 istore 1 ,contw 
-0x4918 017334 rtn 
-:      017336 usb_init_param:
-0x4919 017337 jam 2 ,mem_usb0_state 
-0x491a 017338 setarg 0x0 
-0x491b 017339 store 1 ,mem_remain 
-0x491c 017340 store 2 ,mem_usb_zero_packet 
-0x491d 017341 pincrease 1 
-0x491e 017342 store 2 ,mem_usb_ones_packet 
-0x491f 017343 pincrease 1 
-0x4920 017344 store 2 ,mem_usb_two_packet 
-0x4921 017345 setarg hid_kbdata_addr 
-0x4922 017346 store 2 ,mem_hidreportdesc_kb 
-0x4923 017347 setarg hid_msdata_addr 
-0x4924 017348 store 2 ,mem_hidreportdesc_m 
-0x4925 017349 arg mem_confdesc ,contw 
-0x4926 017350 arg hid_confdata_addr ,contr 
-0x4927 017351 call memcpy64 
-0x4928 017352 fetch 1 ,mem_usb_tx_interval 
-0x4929 017353 ncall usb_tx_interval_config ,blank 
-0x492a 017354 branch usb_mem_devicedesc_init 
-:      017356 usb_tx_interval_config:
-0x492b 017357 store 1 ,mem_confdesc + 34 
-0x492c 017358 store 1 ,mem_confdesc + 59 
-0x492d 017359 rtn 
-:      017360 usb_nak_state_judge:
-0x492e 017361 hfetch 1 ,core_usb_status 
-0x492f 017362 bbit1 usb_status_nak ,usb_nak_state_timer_init 
-0x4930 017363 rtn 
-:      017365 usb_nak_state_timer_init:
-0x4931 017366 call usb0_attached_state_judge 
-0x4932 017367 call timer_reinit 
-0x4933 017368 setarg timer_nak_delay 
-0x4934 017369 arg timer_nak ,queue 
-0x4935 017370 branch timer_init 
-:      017372 usb0_attached_state_judge:
-0x4936 017373 fetch 1 ,mem_usb_state 
-0x4937 017374 bne usb_connected ,usb_clear_halt_dispose 
-0x4938 017375 jam 0 ,mem_usb_wakestate_onetime_flag 
-0x4939 017376 jam 0 ,mem_usb_mac_wakeup_trig 
-0x493a 017377 rtn 
-:      017378 usb_clear_halt_dispose:
-0x493b 017379 fetch 1 ,mem_usb_clear_halt 
-0x493c 017380 rtn blank 
-0x493d 017381 jam 0 ,mem_usb_clear_halt 
-0x493e 017382 jam usb_connected ,mem_usb_state 
-0x493f 017383 jam 1 ,mem_usb_device_enumeration_endflag 
-0x4940 017384 rtn 
-:      017386 usb0_fifo_empty:
-0x4941 017387 jam 0x1 ,core_usb_fifo_empty 
-0x4942 017388 branch usb0_tx 
-:      017390 usb_rx_no_data:
-0x4943 017391 fetch 1 ,mem_usb_status 
-0x4944 017392 bbit1 usb_status_setup ,usb_class_type 
-0x4945 017393 rtn 
-:      017395 usb_rx_read:
-0x4946 017396 hfetch 1 ,core_usb_ep 
-0x4947 017397 istore 1 ,contw 
-0x4948 017398 loop usb_rx_read 
-0x4949 017399 rtn 
-:      017401 usb_status1:
-0x494a 017402 bpatch patch1f_0 ,mem_patch1f 
-0x494b 017403 jam 0x11 ,core_usb_status 
-0x494c 017404 hfetch 1 ,core_usb_ep_len 
-0x494d 017405 store 1 ,mem_usb_read_len 
-0x494e 017406 copy pdata ,loopcnt 
-0x494f 017407 branch usb_rx_no_data ,blank 
-0x4950 017408 arg mem_usb_setup ,contw 
-0x4951 017409 call usb_rx_read 
-0x4952 017410 fetch 1 ,mem_usb_read_len 
-0x4953 017411 sub pdata ,7 ,null 
-0x4954 017412 rtn positive 
-:      017413 usb_class_type:
-0x4955 017414 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4956 017415 and_into 0x80 ,pdata 
-0x4957 017416 beq in_device ,usb_in_device 
-0x4958 017417 beq out_device ,usb_out_device 
-0x4959 017418 branch assert 
-:      017420 usb_in_device:
-0x495a 017421 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x495b 017422 rshift4 pdata ,pdata 
-0x495c 017423 rshift pdata ,pdata 
-0x495d 017424 and_into 0x03 ,pdata 
-0x495e 017425 beq standard_req ,usb_in_standard_req 
-0x495f 017426 beq class_req ,usb_in_class_req 
-0x4960 017427 beq manufacturer_req ,usb_in_manufacturer_req 
-0x4961 017428 branch assert 
-:      017430 usb_out_device:
-0x4962 017431 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4963 017432 rshift4 pdata ,pdata 
-0x4964 017433 rshift pdata ,pdata 
-0x4965 017434 and_into 0x03 ,pdata 
-0x4966 017435 beq standard_req ,usb_out_standard_req 
-0x4967 017436 beq class_req ,usb_out_class_req 
-0x4968 017437 beq manufacturer_req ,usb_out_manufacturer_req 
-0x4969 017438 branch assert 
-:      017440 usb_in_standard_req:
-0x496a 017441 fetch 1 ,mem_usb_setup_brequest 
-0x496b 017442 beq get_configuration ,usb0_request_get_configuration 
-0x496c 017443 beq get_descriptor ,usb0_request_get_descriptor 
-0x496d 017444 beq get_interface ,usb0_request_get_interface 
-0x496e 017445 beq get_status ,usb0_request_get_status 
-0x496f 017446 branch usb0_force_stall 
-:      017448 usb_in_class_req:
-0x4970 017449 fetch 1 ,mem_usb_setup_brequest 
-0x4971 017450 beq get_idle ,usb_get_idle 
-0x4972 017451 beq get_report ,usb_get_report 
-0x4973 017452 beq get_protocol ,usb_get_protocol_req 
-0x4974 017453 branch usb0_force_stall 
-:      017455 usb_in_manufacturer_req:
-0x4975 017456 branch usb0_force_stall 
-:      017458 usb_out_standard_req:
-0x4976 017459 fetch 1 ,mem_usb_setup_brequest 
-0x4977 017460 beq clear_feature ,usb0_request_clear_feature 
-0x4978 017461 beq set_feature ,usb0_request_set_feature 
-0x4979 017462 beq set_address ,usb0_request_set_address 
-0x497a 017463 beq set_configuration ,usb0_request_set_configuration 
-0x497b 017464 beq set_interface ,usb0_request_set_interface 
-0x497c 017465 beq set_descriptor ,usb0_force_stall 
-0x497d 017466 branch usb0_force_stall 
-:      017468 usb_out_class_req:
-0x497e 017469 fetch 1 ,mem_usb_setup_brequest 
-0x497f 017470 beq set_idle ,usb_set_idle 
-0x4980 017471 beq set_report ,usb_set_report 
-0x4981 017472 beq set_protocol ,usb_set_protocol_req 
-0x4982 017473 branch usb0_force_stall 
-:      017475 usb_out_manufacturer_req:
-0x4983 017476 branch usb0_force_stall 
-:      017478 usb0_force_stall:
-0x4984 017479 hfetch 1 ,core_usb_stall 
-0x4985 017480 set1 0 ,pdata 
-0x4986 017481 hstore 1 ,core_usb_stall 
-0x4987 017482 branch usb0_reply_zerolen 
-:      017484 usb0_reply_zerolen:
-0x4988 017485 jam 0x40 ,core_usb_clear 
-0x4989 017486 rtn 
-:      017488 usb0_request_get_configuration:
-0x498a 017489 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x498b 017490 bne in_device ,usb0_force_stall 
-0x498c 017491 fetch 1 ,mem_usb_setup_windex 
-0x498d 017492 bne 0 ,usb0_force_stall 
-0x498e 017493 fetch 1 ,mem_usb_setup_windex + 1 
-0x498f 017494 bne 0 ,usb0_force_stall 
-0x4990 017495 fetch 1 ,mem_usb_setup_blength 
-0x4991 017496 bne 1 ,usb0_force_stall 
-0x4992 017497 fetch 1 ,mem_usb_setup_blengthh 
-0x4993 017498 bne 0 ,usb0_force_stall 
-0x4994 017499 fetch 1 ,mem_usb_setup_bvalue 
-0x4995 017500 bne 0 ,usb0_force_stall 
-0x4996 017501 fetch 1 ,mem_usb_setup_bvalue + 1 
-0x4997 017502 bne 0 ,usb0_force_stall 
-0x4998 017503 fetch 1 ,mem_usb0_state 
-0x4999 017504 beq dev_configured ,usb0_request_get_cfg_dev_cfg 
-0x499a 017505 beq dev_address ,usb0_request_get_cfg_dev_addr 
-0x499b 017506 branch usb0_force_stall 
-:      017508 usb0_request_get_cfg_dev_cfg:
-0x499c 017509 arg 1 ,regb 
-0x499d 017510 branch usb_send_ones_packet 
-:      017512 usb0_request_get_cfg_dev_addr:
-0x499e 017513 arg 1 ,regb 
-0x499f 017514 branch usb_send_zero_packet 
-:      017516 usb0_request_get_descriptor:
-0x49a0 017517 bpatch patch1f_1 ,mem_patch1f 
-0x49a1 017518 set0 mark_isstr ,mark 
-0x49a2 017519 fetch 1 ,mem_usb_setup_bvalueh 
-0x49a3 017520 beq dsc_device ,dsc_device_info 
-0x49a4 017521 beq dsc_config ,dsc_config_info 
-0x49a5 017522 beq dsc_string ,dsc_string_info 
-0x49a6 017523 beq dsc_hid ,dsc_hid_info 
-0x49a7 017524 beq dsc_hid_report ,dsc_hid_report_info 
-0x49a8 017525 branch usb0_force_stall 
-:      017527 dsc_hid_info:
-0x49a9 017528 jam 0 ,mem_usb_get_protocol_flag 
-0x49aa 017529 fetch 1 ,mem_usb_setup_windex 
-0x49ab 017530 beq 0 ,dsc_hid_info_interface0 
-0x49ac 017531 beq 1 ,dsc_hid_info_interface1 
-0x49ad 017532 branch usb0_force_stall 
-:      017534 dsc_hid_info_interface0:
-0x49ae 017535 arg mem_confdesc + 19 ,rega 
-0x49af 017536 ifetch 1 ,rega 
-0x49b0 017537 iforce regb 
-0x49b1 017538 branch usb0_respond 
-:      017540 dsc_hid_info_interface1:
-0x49b2 017541 arg mem_confdesc + 44 ,rega 
-0x49b3 017542 ifetch 1 ,rega 
-0x49b4 017543 iforce regb 
-0x49b5 017544 branch usb0_respond 
-:      017546 dsc_device_info:
-0x49b6 017550 fetch 1 ,mem_usb_set_high_addr_flag 
-0x49b7 017551 ncall usb_set_high_addr ,blank 
-0x49b8 017552 setarg mem_devicedesc 
-0x49b9 017553 fetcht 1 ,mem_devicedesc 
-:      017554 dsc_info_set_data_len:
-0x49ba 017555 store 2 ,mem_dsc_info_data_pointer 
-0x49bb 017556 storet 1 ,mem_dsc_info_len 
-0x49bc 017557 fetch 1 ,mem_usb_setup_blength 
-0x49bd 017558 isub temp ,null 
-0x49be 017559 nbranch dsc_info_set_current_data_len ,positive 
-:      017560 dsc_info_set_initial_data_len:
-0x49bf 017561 fetch 1 ,mem_dsc_info_len 
-:      017562 dsc_info_set_data_size_completed:
-0x49c0 017563 iforce regb 
-0x49c1 017564 fetch 2 ,mem_dsc_info_data_pointer 
-0x49c2 017565 add pdata ,1 ,pdata 
-0x49c3 017566 iforce rega 
-0x49c4 017567 branch usb0_respond 
-:      017568 dsc_info_set_current_data_len:
-0x49c5 017569 fetch 1 ,mem_usb_setup_blength 
-0x49c6 017570 branch dsc_info_set_data_size_completed 
-:      017572 usb_set_high_addr:
-0x49c7 017573 hfetch 1 ,core_usb_addr 
-0x49c8 017574 ncall usb0_set_addr ,blank 
-0x49c9 017575 jam 0 ,mem_usb_set_high_addr_flag 
-0x49ca 017576 rtn 
-:      017577 usb0_set_addr:
-0x49cb 017578 hfetch 1 ,core_usb_addr 
-0x49cc 017579 set1 7 ,pdata 
-0x49cd 017580 hstore 1 ,core_usb_addr 
-0x49ce 017581 rtn 
-:      017583 dsc_config_info:
-0x49cf 017584 setarg mem_confdesc 
-0x49d0 017585 fetcht 1 ,mem_confdesc 
-0x49d1 017586 branch dsc_info_set_data_len 
-:      017588 dsc_string_info:
-0x49d2 017589 fetch 1 ,mem_usb_setup_bvalue 
-0x49d3 017590 sub pdata ,3 ,null 
-0x49d4 017591 nbranch usb0_force_stall ,positive 
-0x49d5 017592 fetch 1 ,mem_usb_setup_bvalue 
-0x49d6 017593 arg mem_string0 ,rega 
-0x49d7 017594 beq 0 ,usb0_respond_length 
-0x49d8 017595 set1 mark_isstr ,mark 
-0x49d9 017596 arg mem_string1 ,rega 
-0x49da 017597 beq 1 ,usb0_respond_length 
-0x49db 017598 arg mem_string2 ,rega 
-0x49dc 017599 beq 2 ,usb0_respond_length 
-0x49dd 017600 arg mem_string3 ,rega 
-0x49de 017601 beq 3 ,usb0_respond_length 
-0x49df 017602 rtn 
-:      017604 dsc_hid_report_info:
-0x49e0 017605 fetch 2 ,mem_usb_setup_windex 
-0x49e1 017606 beq 1 ,dsc_hid_report_info0 
-0x49e2 017607 fetch 2 ,mem_hidreportdesc_kb 
-0x49e3 017608 copy pdata ,rega 
-0x49e4 017610 branch usb0_respond_length 
-:      017611 dsc_hid_report_info0:
-0x49e5 017612 jam 1 ,mem_usb_device_enumeration_endflag 
-0x49e6 017613 jam usb_got_report_req ,mem_usb_state 
-0x49e7 017614 fetch 2 ,mem_hidreportdesc_m 
-0x49e8 017615 copy pdata ,rega 
-0x49e9 017617 branch usb0_respond_length 
-:      017620 usb0_request_get_interface:
-0x49ea 017621 fetch 1 ,mem_usb0_state 
-0x49eb 017622 bne dev_configured ,usb0_force_stall 
-0x49ec 017623 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x49ed 017624 bne in_interface ,usb0_force_stall 
-0x49ee 017625 fetch 1 ,mem_usb_setup_bvalue 
-0x49ef 017626 bne 0 ,usb0_force_stall 
-0x49f0 017627 fetch 1 ,mem_usb_setup_bvalueh 
-0x49f1 017628 bne 0 ,usb0_force_stall 
-0x49f2 017629 fetch 1 ,mem_usb_setup_blength 
-0x49f3 017630 bne 1 ,usb0_force_stall 
-0x49f4 017631 fetch 1 ,mem_usb_setup_blengthh 
-0x49f5 017632 bne 0 ,usb0_force_stall 
-0x49f6 017633 fetch 1 ,mem_usb_setup_windex 
-0x49f7 017634 bne 0 ,usb0_force_stall 
-0x49f8 017635 fetch 1 ,mem_usb_setup_windex + 1 
-0x49f9 017636 bne 0 ,usb0_force_stall 
-0x49fa 017637 arg 1 ,regb 
-0x49fb 017638 branch usb_send_zero_packet 
-:      017641 usb0_request_get_status:
-0x49fc 017642 fetch 1 ,mem_usb0_state 
-0x49fd 017643 beq dev_default ,usb0_force_stall 
-0x49fe 017644 fetch 1 ,mem_usb_setup_bvalue 
-0x49ff 017645 bne 0 ,usb0_force_stall 
-0x4a00 017646 fetch 1 ,mem_usb_setup_bvalueh 
-0x4a01 017647 bne 0 ,usb0_force_stall 
-0x4a02 017648 fetch 1 ,mem_usb_setup_blength 
-0x4a03 017649 bne 2 ,usb0_force_stall 
-0x4a04 017650 fetch 1 ,mem_usb_setup_blengthh 
-0x4a05 017651 bne 0 ,usb0_force_stall 
-0x4a06 017652 fetch 1 ,mem_usb_setup_windex + 1 
-0x4a07 017653 bne 0 ,usb0_force_stall 
-0x4a08 017654 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4a09 017655 beq in_device ,usb0_get_status_in_device 
-0x4a0a 017656 beq in_interface ,usb0_get_status_in_interface 
-0x4a0b 017657 beq in_endpoint ,usb0_get_status_in_endpoint 
-0x4a0c 017658 branch usb0_force_stall 
-:      017660 usb0_get_status_in_device:
-0x4a0d 017661 fetch 1 ,mem_usb_setup_windex 
-0x4a0e 017662 bne 0 ,usb0_force_stall 
-0x4a0f 017663 arg 2 ,regb 
-0x4a10 017664 fetch 1 ,mem_usb_remote_wakeup 
-0x4a11 017665 beq 0x01 ,usb_send_two_packet 
-:      017667 usb_send_zero_packet:
-0x4a12 017668 arg mem_usb_zero_packet ,rega 
-0x4a13 017669 branch usb0_respond 
-:      017670 usb_send_ones_packet:
-0x4a14 017671 arg mem_usb_ones_packet ,rega 
-0x4a15 017672 branch usb0_respond 
-:      017673 usb_send_two_packet:
-0x4a16 017674 arg mem_usb_two_packet ,rega 
-0x4a17 017675 branch usb0_respond 
-:      017677 usb0_get_status_in_interface:
-0x4a18 017678 fetch 1 ,mem_usb0_state 
-0x4a19 017679 bne dev_configured ,usb0_force_stall 
-0x4a1a 017680 arg 2 ,regb 
-0x4a1b 017681 branch usb_send_zero_packet 
-:      017683 usb0_get_status_in_endpoint:
-0x4a1c 017684 fetch 1 ,mem_usb0_state 
-0x4a1d 017685 bne dev_configured ,usb0_force_stall 
-0x4a1e 017686 fetch 1 ,mem_usb_setup_windex 
-0x4a1f 017687 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
-0x4a20 017688 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
-0x4a21 017689 beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
-0x4a22 017690 and_into 0x7f ,pdata 
-0x4a23 017691 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
-0x4a24 017692 branch usb0_force_stall 
-:      017694 usb0_get_status_in_ep_in_ep0:
-0x4a25 017695 fetch 1 ,mem_usb_ep0_stall_status 
-:      017696 usb0_get_status_in_ep_in_ack:
-0x4a26 017697 arg 2 ,regb 
-0x4a27 017698 beq 1 ,usb_send_ones_packet 
-0x4a28 017699 branch usb_send_zero_packet 
-:      017700 usb0_get_status_in_ep_in_ep1:
-0x4a29 017701 fetch 1 ,mem_usb_ep1_stall_status 
-0x4a2a 017702 branch usb0_get_status_in_ep_in_ack 
-:      017703 usb0_get_status_in_ep_in_ep2:
-0x4a2b 017704 fetch 1 ,mem_usb_ep2_stall_status 
-0x4a2c 017705 branch usb0_get_status_in_ep_in_ack 
-:      017706 usb0_get_status_in_ep_in_ep3:
-0x4a2d 017707 fetch 1 ,mem_usb_ep3_stall_status 
-0x4a2e 017708 branch usb0_get_status_in_ep_in_ack 
-:      017710 usb_get_idle:
-0x4a2f 017711 jam 1 ,mem_usb_idle_flag 
-0x4a30 017712 arg mem_usb_idle_rate ,rega 
-0x4a31 017713 arg 1 ,regb 
-0x4a32 017714 branch usb0_respond 
-:      017716 usb_get_report:
-0x4a33 017717 fetch 2 ,mem_usb_setup_bvalue 
-0x4a34 017718 arg pc_get_report ,temp 
-0x4a35 017719 isub temp ,null 
-0x4a36 017720 nbranch usb0_force_stall ,zero 
-0x4a37 017721 set0 mark_isstr ,mark 
-:      017722 usb_get_report_dispose:
-0x4a38 017723 fetch 1 ,mem_usb0_data_ready_report 
-0x4a39 017724 nbranch usb_get_report_data_success ,blank 
-0x4a3a 017725 jam pc_get_nondata ,mem_usb0_get_report_data 
-:      017726 usb_get_report_send_data:
-0x4a3b 017727 fetch 1 ,mem_usb_setup_blength 
-0x4a3c 017728 iforce regb 
-0x4a3d 017729 arg mem_usb0_get_report_data ,rega 
-0x4a3e 017730 call usb0_respond 
-:      017731 usb_get_report_data_release:
-0x4a3f 017732 arg mem_usb0_get_report_data ,contw 
-0x4a40 017733 arg 8 ,loopcnt 
-0x4a41 017734 branch memset0 
-:      017735 usb_get_report_data_success:
-0x4a42 017736 jam 0 ,mem_usb0_data_ready_report 
-0x4a43 017737 jam pc_get_data ,mem_usb0_get_report_data 
-0x4a44 017738 branch usb_get_report_send_data 
-:      017740 usb_get_protocol_req:
-0x4a45 017741 fetch 1 ,mem_usb_setup_blength 
-0x4a46 017742 bne 1 ,usb0_force_stall 
-0x4a47 017743 jam 1 ,mem_usb_get_protocol_flag 
-0x4a48 017744 arg 1 ,regb 
-0x4a49 017745 fetch 1 ,mem_usb_set_protocol_value 
-0x4a4a 017746 beq 0 ,usb_get_report_protocol 
-0x4a4b 017747 beq 1 ,usb_get_boot_protocol 
-0x4a4c 017748 branch usb_send_zero_packet 
-:      017749 usb_get_report_protocol:
-0x4a4d 017750 branch usb_send_ones_packet 
-:      017751 usb_get_boot_protocol:
-0x4a4e 017752 branch usb_send_zero_packet 
-:      017757 usb0_request_clear_feature:
-0x4a4f 017758 fetch 1 ,mem_usb0_state 
-0x4a50 017759 bne dev_configured ,usb0_force_stall 
-0x4a51 017760 fetch 1 ,mem_usb_setup_blength 
-0x4a52 017761 bne 0 ,usb0_force_stall 
-0x4a53 017762 fetch 1 ,mem_usb_setup_blengthh 
-0x4a54 017763 bne 0 ,usb0_force_stall 
-0x4a55 017764 fetch 1 ,mem_usb_setup_bvalueh 
-0x4a56 017765 bne 0 ,usb0_force_stall 
-0x4a57 017766 fetch 1 ,mem_usb_setup_windex + 1 
-0x4a58 017767 bne 0 ,usb0_force_stall 
-0x4a59 017768 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4a5a 017769 beq out_device ,usb0_request_clear_feature_out_device 
-0x4a5b 017770 beq out_interface ,usb0_request_clear_feature_out_interface 
-0x4a5c 017771 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-0x4a5d 017772 branch usb0_force_stall 
-:      017774 usb0_request_clear_feature_out_device:
-0x4a5e 017775 fetch 1 ,mem_usb_setup_bvalue 
-0x4a5f 017776 bne device_remote_wakeup ,usb0_force_stall 
-0x4a60 017777 hfetch 1 ,core_usb_config 
-0x4a61 017778 set0 7 ,pdata 
-0x4a62 017779 hstore 1 ,core_usb_config 
-0x4a63 017780 jam 0 ,mem_usb_remote_wakeup 
-0x4a64 017781 jam 1 ,mem_usb_clear_remote_wakeup 
-0x4a65 017782 branch usb0_reply_zerolen 
-:      017784 usb0_request_clear_feature_out_interface:
-0x4a66 017785 branch usb0_force_stall 
-:      017787 usb0_request_clear_feature_out_endpoint:
-0x4a67 017788 fetch 1 ,mem_usb_setup_bvalue 
-0x4a68 017789 bne endpoint_halt ,usb0_force_stall 
-0x4a69 017790 fetch 1 ,mem_usb_setup_windex 
-0x4a6a 017791 beq in_ep1 ,usb0_force_stall_ep1_in_off 
-0x4a6b 017792 beq in_ep2 ,usb0_force_stall_ep2_in_off 
-0x4a6c 017793 beq in_ep3 ,usb0_force_stall_ep3_in_off 
-0x4a6d 017794 and_into 0x7f ,pdata 
-0x4a6e 017795 beq 0x00 ,usb0_force_stall_ep0_in_off 
-0x4a6f 017796 branch usb0_force_stall 
-:      017798 usb0_force_stall_ep0_in_off:
-0x4a70 017799 jam 0 ,mem_usb_ep0_stall_status 
-0x4a71 017800 branch usb0_reply_zerolen 
-:      017801 usb0_force_stall_ep1_in_off:
-0x4a72 017802 jam 0 ,mem_usb_ep1_stall_status 
-:      017803 usb0_force_stall_ep1_in_off_reply:
-0x4a73 017804 jam 1 ,mem_usb_clear_halt 
-0x4a74 017805 branch usb0_reply_zerolen 
-:      017806 usb0_force_stall_ep2_in_off:
-0x4a75 017807 jam 0 ,mem_usb_ep2_stall_status 
-0x4a76 017808 branch usb0_force_stall_ep1_in_off_reply 
-:      017809 usb0_force_stall_ep3_in_off:
-0x4a77 017810 jam 0 ,mem_usb_ep3_stall_status 
-0x4a78 017811 branch usb0_force_stall_ep1_in_off_reply 
-:      017814 usb0_request_set_feature:
-0x4a79 017815 fetch 1 ,mem_usb_setup_blength 
-0x4a7a 017816 bne 0 ,usb0_force_stall 
-0x4a7b 017817 fetch 1 ,mem_usb_setup_blengthh 
-0x4a7c 017818 bne 0 ,usb0_force_stall 
-0x4a7d 017819 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4a7e 017820 beq out_device ,usb0_request_set_feature_out_device 
-0x4a7f 017821 beq out_interface ,usb0_request_set_feature_out_interface 
-0x4a80 017822 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
-0x4a81 017823 branch usb0_force_stall 
-:      017825 usb0_request_set_feature_out_device:
-0x4a82 017826 fetch 1 ,mem_usb_setup_bvalue 
-0x4a83 017827 bne device_remote_wakeup ,usb0_force_stall 
-0x4a84 017828 hfetch 1 ,core_usb_config 
-0x4a85 017829 set1 7 ,pdata 
-0x4a86 017830 hstore 1 ,core_usb_config 
-0x4a87 017831 jam 1 ,mem_usb_remote_wakeup 
-0x4a88 017832 jam usb_sleep ,mem_usb_state 
-0x4a89 017833 jam 0 ,mem_usb_tx_win_enable 
-0x4a8a 017834 call usb0_reply_zerolen 
-:      017835 usb_wakeup_timer_reinit:
-0x4a8b 017836 call timer_reinit 
-0x4a8c 017837 setarg timer_wakeup_delay 
-0x4a8d 017838 arg timer_wakeup ,queue 
-0x4a8e 017839 branch timer_init 
-:      017841 usb0_request_set_feature_out_interface:
-0x4a8f 017842 branch usb0_force_stall 
-:      017844 usb0_request_set_feature_out_endpoint:
-0x4a90 017845 fetch 1 ,mem_usb_setup_bvalue 
-0x4a91 017846 bne endpoint_halt ,usb0_force_stall 
-0x4a92 017847 fetch 1 ,mem_usb_setup_bvalueh 
-0x4a93 017848 bne 0 ,usb0_force_stall 
-0x4a94 017849 fetch 1 ,mem_usb_setup_windex 
-0x4a95 017850 beq in_ep1 ,usb0_force_stall_ep1_in_on 
-0x4a96 017851 beq in_ep2 ,usb0_force_stall_ep2_in_on 
-0x4a97 017852 beq in_ep3 ,usb0_force_stall_ep3_in_on 
-0x4a98 017853 and_into 0x7f ,pdata 
-0x4a99 017854 beq 0x00 ,usb0_force_stall_ep0_in_on 
-0x4a9a 017855 branch usb0_force_stall 
-:      017857 usb0_force_stall_ep0_in_on:
-0x4a9b 017858 jam 1 ,mem_usb_ep0_stall_status 
-0x4a9c 017859 branch usb0_reply_zerolen 
-:      017860 usb0_force_stall_ep1_in_on:
-0x4a9d 017861 jam 1 ,mem_usb_ep1_stall_status 
-0x4a9e 017862 branch usb0_reply_zerolen 
-:      017863 usb0_force_stall_ep2_in_on:
-0x4a9f 017864 jam 1 ,mem_usb_ep2_stall_status 
-0x4aa0 017865 branch usb0_reply_zerolen 
-:      017866 usb0_force_stall_ep3_in_on:
-0x4aa1 017867 jam 1 ,mem_usb_ep3_stall_status 
-0x4aa2 017868 branch usb0_reply_zerolen 
-:      017871 usb0_request_set_address:
-0x4aa3 017872 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4aa4 017873 bne out_device ,usb0_force_stall 
-0x4aa5 017874 fetch 1 ,mem_usb_setup_windex 
-0x4aa6 017875 bne 0 ,usb0_force_stall 
-0x4aa7 017876 fetch 1 ,mem_usb_setup_windex + 1 
-0x4aa8 017877 bne 0 ,usb0_force_stall 
-0x4aa9 017878 fetch 1 ,mem_usb_setup_blength 
-0x4aaa 017879 bne 0 ,usb0_force_stall 
-0x4aab 017880 fetch 1 ,mem_usb_setup_blengthh 
-0x4aac 017881 bne 0 ,usb0_force_stall 
-0x4aad 017882 fetch 1 ,mem_usb_setup_bvalueh 
-0x4aae 017883 bne 0 ,usb0_force_stall 
-0x4aaf 017884 fetch 1 ,mem_usb_setup_bvalue 
-0x4ab0 017885 and_into 0x80 ,pdata 
-0x4ab1 017886 bne 0 ,usb0_force_stall 
-0x4ab2 017887 fetch 1 ,mem_usb_setup_bvalue 
-0x4ab3 017888 bne 0 ,usb_usb0_state_set_dev_addr 
-:      017889 usb_usb0_state_set_dev_default:
-0x4ab4 017890 jam dev_default ,mem_usb0_state 
-:      017891 usb0_request_set_wait_address:
-0x4ab5 017892 fetch 1 ,mem_usb_setup_bvalue 
-0x4ab6 017893 hstore 1 ,core_usb_addr 
-0x4ab7 017894 call usb0_reply_zerolen 
-0x4ab8 017895 jam 1 ,mem_usb_set_high_addr_flag 
-0x4ab9 017896 rtn 
-:      017897 usb_usb0_state_set_dev_addr:
-0x4aba 017898 jam dev_address ,mem_usb0_state 
-0x4abb 017899 branch usb0_request_set_wait_address 
-:      017902 usb0_request_set_configuration:
-0x4abc 017903 fetch 1 ,mem_usb0_state 
-0x4abd 017904 beq dev_default ,usb0_force_stall 
-0x4abe 017905 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4abf 017906 bne out_device ,usb0_force_stall 
-0x4ac0 017907 fetch 1 ,mem_usb_setup_windex 
-0x4ac1 017908 bne 0 ,usb0_force_stall 
-0x4ac2 017909 fetch 1 ,mem_usb_setup_windex + 1 
-0x4ac3 017910 bne 0 ,usb0_force_stall 
-0x4ac4 017911 fetch 1 ,mem_usb_setup_blength 
-0x4ac5 017912 bne 0 ,usb0_force_stall 
-0x4ac6 017913 fetch 1 ,mem_usb_setup_blengthh 
-0x4ac7 017914 bne 0 ,usb0_force_stall 
-0x4ac8 017915 fetch 1 ,mem_usb_setup_bvalue + 1 
-0x4ac9 017916 bne 0 ,usb0_force_stall 
-0x4aca 017917 fetch 1 ,mem_usb_setup_bvalue 
-0x4acb 017918 sub pdata ,usb_max_num_cfg ,null 
-0x4acc 017919 nbranch usb0_force_stall ,positive 
-0x4acd 017920 fetch 1 ,mem_usb0_state 
-0x4ace 017921 beq dev_address ,usb0_request_set_cfg_addr_state 
-0x4acf 017922 beq dev_configured ,usb0_request_set_cfg_cfg_state 
-0x4ad0 017923 branch usb0_force_stall 
-:      017925 usb0_request_set_cfg_addr_state:
-:      017926 usb0_request_set_cfg_cfg_state:
-0x4ad1 017927 fetch 1 ,mem_usb_setup_bvalue 
-0x4ad2 017928 beq 0 ,usb0_request_set_cfg_stay_addr_state 
-0x4ad3 017929 jam dev_configured ,mem_usb0_state 
-0x4ad4 017930 branch usb0_reply_zerolen 
-:      017931 usb0_request_set_cfg_stay_addr_state:
-0x4ad5 017932 jam dev_address ,mem_usb0_state 
-0x4ad6 017933 branch usb0_reply_zerolen 
-:      017936 usb0_request_set_interface:
-0x4ad7 017937 fetch 1 ,mem_usb0_state 
-0x4ad8 017938 bne dev_configured ,usb0_force_stall 
-0x4ad9 017939 fetch 1 ,mem_usb_setup_bmrequesttype 
-0x4ada 017940 bne out_interface ,usb0_force_stall 
-0x4adb 017941 fetch 1 ,mem_usb_setup_bvalue 
-0x4adc 017942 bne 0 ,usb0_force_stall 
-0x4add 017943 fetch 1 ,mem_usb_setup_bvalueh 
-0x4ade 017944 bne 0 ,usb0_force_stall 
-0x4adf 017945 fetch 1 ,mem_usb_setup_blength 
-0x4ae0 017946 bne 0 ,usb0_force_stall 
-0x4ae1 017947 fetch 1 ,mem_usb_setup_blengthh 
-0x4ae2 017948 bne 0 ,usb0_force_stall 
-0x4ae3 017949 fetch 1 ,mem_usb_setup_windex 
-0x4ae4 017950 bne 0 ,usb0_force_stall 
-0x4ae5 017951 fetch 1 ,mem_usb_setup_windex + 1 
-0x4ae6 017952 bne 0 ,usb0_force_stall 
-0x4ae7 017953 branch usb0_reply_zerolen 
-:      017956 usb_set_idle:
-0x4ae8 017957 jam 1 ,mem_usb_idle_flag 
-0x4ae9 017958 fetch 1 ,mem_usb_setup_bvalueh 
-0x4aea 017959 store 1 ,mem_usb_idle_rate 
-0x4aeb 017960 fetch 1 ,mem_usb_setup_windex 
-0x4aec 017961 sub pdata ,1 ,null 
-0x4aed 017962 call usb_clear_remote_wakeup_set0 ,zero 
-0x4aee 017963 fetch 1 ,mem_usb_state 
-0x4aef 017964 bne usb_resume ,usb0_reply_zerolen 
-0x4af0 017965 jam usb_connected ,mem_usb_state 
-0x4af1 017966 call usb0_reply_zerolen 
-0x4af2 017967 nop 30000 
-0x4af3 017968 nop 30000 
-0x4af4 017969 rtn 
-:      017970 usb_clear_remote_wakeup_set0:
-0x4af5 017971 jam 1 ,mem_usb_device_enumeration_endflag 
-0x4af6 017972 jam 0 ,mem_usb_clear_remote_wakeup 
-0x4af7 017973 jam usb_resume ,mem_usb_state 
-0x4af8 017974 rtn 
-:      017977 usb_set_report:
-0x4af9 017978 jam 1 ,mem_usb0_get_set_report 
-0x4afa 017979 call usb_set_report_resume_judge 
-0x4afb 017980 fetch 2 ,mem_usb_setup_bvalue 
-0x4afc 017981 store 2 ,mem_usb_setup_bvalue_temp 
-0x4afd 017982 fetch 1 ,mem_usb_setup_blength 
-0x4afe 017983 iforce loopcnt 
-0x4aff 017984 arg mem_usb0_setup ,contr 
-0x4b00 017985 arg mem_usb0_set_report_data ,contw 
-0x4b01 017986 call memcpy 
-0x4b02 017987 branch usb0_reply_zerolen 
-:      017989 usb_set_report_resume_judge:
-0x4b03 017990 fetch 2 ,mem_usb_setup_bvalue 
-0x4b04 017991 arg pc_set_report_bvalue ,temp 
-0x4b05 017992 isub temp ,null 
-0x4b06 017993 nrtn zero 
-0x4b07 017994 fetch 2 ,mem_usb_setup_windex 
-0x4b08 017995 arg pc_set_report_windex ,temp 
-0x4b09 017996 isub temp ,null 
-0x4b0a 017997 nrtn zero 
-0x4b0b 017998 fetch 2 ,mem_usb_setup_blength 
-0x4b0c 017999 arg pc_set_report_blength ,temp 
-0x4b0d 018000 isub temp ,null 
-0x4b0e 018001 nrtn zero 
-0x4b0f 018002 jam 1 ,mem_usb_tx_win_enable 
-0x4b10 018003 rtn 
-:      018006 usb_set_protocol_req:
-0x4b11 018007 fetch 1 ,mem_usb_setup_blength 
-0x4b12 018008 bne 0 ,usb0_force_stall 
-0x4b13 018009 fetch 1 ,mem_usb_setup_bvalue 
-0x4b14 018010 beq boot_protocol ,usb_set_boot_protocol 
-0x4b15 018011 beq report_protocol ,usb_set_report_protocol 
-0x4b16 018012 branch usb0_force_stall 
-:      018013 usb_set_boot_protocol:
-0x4b17 018014 jam 0 ,mem_usb_set_protocol_status 
-0x4b18 018015 jam 1 ,mem_usb_set_protocol_value 
-0x4b19 018016 branch usb0_reply_zerolen 
-:      018017 usb_set_report_protocol:
-0x4b1a 018018 jam 1 ,mem_usb_tx_mac_enable 
-0x4b1b 018019 jam 1 ,mem_usb_set_protocol_status 
-0x4b1c 018020 jam 0 ,mem_usb_set_protocol_value 
-0x4b1d 018021 branch usb0_reply_zerolen 
-:      018024 usb0_respond_length:
-0x4b1e 018025 ifetch 1 ,rega 
-0x4b1f 018026 iforce regb 
-0x4b20 018027 increase 1 ,rega 
-:      018029 usb0_respond:
-0x4b21 018030 bpatch patch1f_2 ,mem_patch1f 
-0x4b22 018031 bmark0 mark_isstr ,usb0_respond0 
-0x4b23 018032 add regb ,1 ,pdata 
-0x4b24 018033 lshift pdata ,pdata 
-0x4b25 018034 hstore 1 ,core_usb_dfifo0 
-0x4b26 018035 jam 3 ,core_usb_dfifo0 
-0x4b27 018036 fetch 1 ,mem_usb_setup_blength 
-0x4b28 018037 increase -2 ,pdata 
-0x4b29 018038 rshift pdata ,pdata 
-0x4b2a 018039 store 1 ,mem_usb_setup_blength 
-0x4b2b 018040 beq 0 ,usb_no_respond_data 
-:      018041 usb0_respond0:
-0x4b2c 018042 fetch 2 ,mem_usb_setup_blength 
-0x4b2d 018043 isub regb ,null 
-0x4b2e 018044 branch usb0_respond1 ,positive 
-0x4b2f 018045 copy pdata ,regb 
-:      018046 usb0_respond1:
-0x4b30 018047 deposit rega 
-0x4b31 018048 store 2 ,mem_bufptr 
-0x4b32 018049 deposit regb 
-0x4b33 018050 store 1 ,mem_remain 
-0x4b34 018051 branch usb0_tx 
-:      018053 usb_no_respond_data:
-0x4b35 018054 arg 0 ,queue 
-0x4b36 018055 branch usb_trig 
-:      018058 usb0_tx:
-0x4b37 018059 bpatch patch1f_3 ,mem_patch1f 
-0x4b38 018060 fetch 1 ,mem_remain 
-0x4b39 018061 rtn blank 
-0x4b3a 018062 copy pdata ,loopcnt 
-0x4b3b 018063 sub pdata ,ep0_packet_size ,null 
-0x4b3c 018064 branch usb0_tx_info ,positive 
-0x4b3d 018065 arg ep0_packet_size ,loopcnt 
-:      018066 usb0_tx_info:
-0x4b3e 018067 fetch 1 ,mem_remain 
-0x4b3f 018068 isub loopcnt ,pdata 
-0x4b40 018069 store 1 ,mem_remain 
-0x4b41 018070 fetch 2 ,mem_bufptr 
-0x4b42 018071 copy pdata ,contr 
-:      018072 usb0_tx0:
-0x4b43 018073 ifetch 1 ,contr 
-0x4b44 018074 hstore 1 ,core_usb_dfifo0 
-0x4b45 018075 bmark0 mark_isstr ,usb0_tx1 
-0x4b46 018076 jam 0 ,core_usb_dfifo0 
-:      018077 usb0_tx1:
-0x4b47 018078 loop usb0_tx0 
-0x4b48 018079 copy contr ,pdata 
-0x4b49 018080 store 2 ,mem_bufptr 
-0x4b4a 018081 arg 0 ,queue 
-0x4b4b 018082 call usb_trig 
-0x4b4c 018083 fetch 1 ,mem_remain 
-0x4b4d 018084 nrtn blank 
-0x4b4e 018085 fetch 1 ,mem_usb_state 
-0x4b4f 018086 rtnne usb_got_report_req 
-0x4b50 018087 jam usb_connected ,mem_usb_state 
-0x4b51 018088 rtn 
-:      018091 usb_tx_ep1:
-0x4b52 018092 arg core_usb_dfifo1 ,rega 
-0x4b53 018093 arg 1 ,queue 
-:      018094 usb_tx_loop:
-0x4b54 018095 ifetch 1 ,contr 
-0x4b55 018096 istore 1 ,rega 
-0x4b56 018097 loop usb_tx_loop 
-:      018098 usb_trig:
-0x4b57 018099 setarg 0 
-0x4b58 018100 qset1 pdata 
-0x4b59 018101 hstore 1 ,core_usb_trig 
-0x4b5a 018102 fetcht 1 ,mem_usb_tx_wait 
-0x4b5b 018103 ior temp ,pdata 
-0x4b5c 018104 store 1 ,mem_usb_tx_wait 
-0x4b5d 018105 rtn 
-:      018107 usb_tx_ep2:
-0x4b5e 018108 arg 2 ,queue 
-0x4b5f 018109 arg core_usb_dfifo2 ,rega 
-0x4b60 018110 branch usb_tx_loop 
-:      018112 usb_tx:
-0x4b61 018113 bpatch patch1f_4 ,mem_patch1f 
-0x4b62 018114 fetch 1 ,mem_usb_tx_enable 
-0x4b63 018115 rtn blank 
-0x4b64 018116 fetch 1 ,mem_usb_tx_wait 
-0x4b65 018117 nbranch usb_inwake_state_tx_dispose ,blank 
-0x4b66 018118 fetch 1 ,mem_usb_device_enumeration_endflag 
-0x4b67 018119 branch usb_tx_fifo_release ,blank 
-0x4b68 018120 fetch 1 ,mem_usb_state 
-0x4b69 018121 beq usb_sleep ,usb_windows_wakeup 
-0x4b6a 018122 bne usb_connected ,usb_tx_fifo_release 
-0x4b6b 018123 fetch 1 ,mem_usb_clear_remote_wakeup 
-0x4b6c 018124 nbranch usb_tx_fifo_release ,blank 
-0x4b6d 018125 call usb_tx_data_ep1 
-0x4b6e 018126 branch usb_tx_data_ep2 
-:      018128 usb_tx_data_ep1:
-0x4b6f 018129 fetch 1 ,mem_usb_tx_enable 
-0x4b70 018130 rtnbit0 1 
-0x4b71 018131 fetch 1 ,mem_usb_tx_wait 
-0x4b72 018132 rtnbit1 1 
-0x4b73 018133 fetch 1 ,mem_usb_tx_enable 
-0x4b74 018134 set0 1 ,pdata 
-0x4b75 018135 store 1 ,mem_usb_tx_enable 
-0x4b76 018136 fetch 1 ,mem_usb_ep1_data 
-0x4b77 018137 rtn blank 
-0x4b78 018138 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0x4b79 018139 branch assert 
-:      018141 usb_tx_data_ep2:
-0x4b7a 018142 fetch 1 ,mem_usb_tx_enable 
-0x4b7b 018143 rtnbit0 2 
-0x4b7c 018144 fetch 1 ,mem_usb_tx_wait 
-0x4b7d 018145 rtnbit1 2 
-0x4b7e 018146 fetch 1 ,mem_usb_tx_enable 
-0x4b7f 018147 set0 2 ,pdata 
-0x4b80 018148 store 1 ,mem_usb_tx_enable 
-0x4b81 018149 fetch 1 ,mem_usb_ep2_data 
-0x4b82 018150 rtn blank 
-0x4b83 018151 beq usb_ep2_ms ,usb_tx_ms_data 
-0x4b84 018152 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0x4b85 018153 branch assert 
-:      018155 usb_tx_fifo_release:
-0x4b86 018157 arg mem_usb_mouse_data ,contw 
-0x4b87 018158 arg 6 ,loopcnt 
-0x4b88 018159 branch memset0 
-:      018161 usb_tx_ms_data:
-0x4b89 018162 fetch 1 ,mem_usb_idle_flag 
-0x4b8a 018163 fetcht 1 ,mem_usb_get_protocol_flag 
-0x4b8b 018164 iand temp ,pdata 
-0x4b8c 018165 branch usb_tx_ms_data_normal_mode ,blank 
-0x4b8d 018166 fetcht 1 ,mem_usb_set_protocol_status 
-0x4b8e 018167 iadd temp ,pdata 
-0x4b8f 018168 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
-0x4b90 018169 branch usb_tx_ms_data_normal_mode 
-:      018171 usb_tx_ms_data_mac_boot_mode:
-0x4b91 018172 jam 0 ,mem_usb_ep2_data 
-:      018173 usb_tx_ms_data_mac_boot_regroup:
-0x4b92 018174 fetch 1 ,mem_usb_mouse_data + 1 
-0x4b93 018175 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
-0x4b94 018176 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
-0x4b95 018177 fetch 1 ,mem_usb_mouse_data + 1 
-0x4b96 018178 store 1 ,mem_usb_mouse_data 
-0x4b97 018179 fetch 1 ,mem_usb_mouse_data + 2 
-0x4b98 018180 istore 1 ,contw 
-0x4b99 018181 fetch 1 ,mem_usb_mouse_data + 4 
-0x4b9a 018182 istore 1 ,contw 
-0x4b9b 018183 fetch 1 ,mem_usb_mouse_data + 6 
-0x4b9c 018184 istore 1 ,contw 
-0x4b9d 018185 arg 4 ,loopcnt 
-0x4b9e 018186 arg mem_usb_mouse_data ,contr 
-0x4b9f 018187 branch usb_tx_ep2 
-:      018189 usb_tx_ms_data_normal_mode:
-0x4ba0 018190 jam 0 ,mem_usb_ep2_data 
-:      018191 usb_tx_mac_boot_ms_regroup_r_or_lrkey:
-0x4ba1 018192 arg 8 ,loopcnt 
-0x4ba2 018193 arg mem_usb_mouse_data ,contr 
-0x4ba3 018194 branch usb_tx_ep2 
-:      018196 usb_tx_kb_multikey_data:
-0x4ba4 018197 jam 0 ,mem_usb_ep2_data 
-0x4ba5 018198 arg 3 ,loopcnt 
-0x4ba6 018199 arg mem_usb_kb_multikey ,contr 
-0x4ba7 018200 branch usb_tx_ep2 
-:      018202 usb_tx_kb_normal_data:
-0x4ba8 018203 jam 0 ,mem_usb_ep1_data 
-0x4ba9 018204 arg 8 ,loopcnt 
-0x4baa 018205 arg mem_usb_kb_data ,contr 
-0x4bab 018206 branch usb_tx_ep1 
-:      018208 usb_inwake_state_tx_dispose:
-0x4bac 018209 fetch 1 ,mem_usb_state 
-0x4bad 018210 beq usb_sleep ,usb_clear_tx_wait 
-0x4bae 018211 beq usb_connected ,usb_mac_wakeup_trig 
-0x4baf 018212 rtn 
-:      018213 usb_clear_tx_wait:
-0x4bb0 018214 jam 0 ,mem_usb_tx_wait 
-0x4bb1 018215 rtn 
-:      018216 usb_mac_wakeup_trig:
-0x4bb2 018217 hfetch 1 ,core_usb_config 
-0x4bb3 018218 set1 7 ,pdata 
-0x4bb4 018219 hstore 1 ,core_usb_config 
-0x4bb5 018220 jam 1 ,mem_usb_mac_wakeup_trig 
-0x4bb6 018221 rtn 
-:      018223 usb_mac_wakeup_judge:
-0x4bb7 018224 fetch 1 ,mem_usb_state 
-0x4bb8 018225 rtneq usb_sleep 
-0x4bb9 018226 beq usb_connected ,usb_mac_wakeup 
-0x4bba 018227 rtn 
-:      018228 usb_mac_wakeup:
-0x4bbb 018229 fetch 1 ,mem_usb_mac_wakeup_trig 
-0x4bbc 018230 rtn blank 
-0x4bbd 018231 jam 1 ,mem_usb_wakestate_onetime_flag 
-0x4bbe 018232 branch usb_wakeup 
-:      018234 usb_windows_wakeup:
-0x4bbf 018235 arg timer_wakeup ,queue 
-0x4bc0 018236 call timer_check 
-0x4bc1 018237 nrtn blank 
-:      018238 usb_wakeup:
-0x4bc2 018239 hfetch 1 ,core_usb_config 
-0x4bc3 018240 rtnbit0 7 
-0x4bc4 018241 jam 0xfc ,core_usb_config 
-0x4bc5 018242 nop 30000 
-0x4bc6 018243 jam 0x3c ,core_usb_config 
-0x4bc7 018244 rtn 
-:      018251 hci_rx_h4:
-0x4bc8 018252 bpatch patch1f_5 ,mem_patch1f 
-0x4bc9 018253 fetch 1 ,mem_hci_cmd 
-0x4bca 018254 nrtn blank 
-:      018255 hci_rx_h4_1:
-0x4bcb 018256 call hci_h4_parse_packet 
-0x4bcc 018257 ncall h4_rx_discard_packet ,user 
-0x4bcd 018258 rtn 
-:      018260 hci_h4_parse_packet:
-0x4bce 018261 bpatch patch1f_6 ,mem_patch1f 
-0x4bcf 018262 copy contru ,rega 
-0x4bd0 018263 arg 4 ,temp 
-0x4bd1 018264 ifetch 1 ,contru 
-0x4bd2 018265 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
-0x4bd3 018266 increase 1 ,temp 
-0x4bd4 018267 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
-0x4bd5 018268 copy contru ,pdata 
-0x4bd6 018269 hstore 2 ,core_uart_rrptr 
-0x4bd7 018270 rtn 
-:      018271 hci_h4_parse_packet_wait_len:
-0x4bd8 018272 hfetch 2 ,core_uart_rxitems 
-0x4bd9 018273 isub temp ,null 
-0x4bda 018274 nbranch hci_h4_parse_packet_wait_len ,positive 
-0x4bdb 018276 disable user 
-0x4bdc 018277 copy rega ,contru 
-0x4bdd 018278 call h4_get_rx_payload_len 
-0x4bde 018279 iadd temp ,temp 
-:      018280 hci_h4_parse_packet_wait:
-0x4bdf 018281 hfetch 2 ,core_uart_rxitems 
-0x4be0 018282 isub temp ,null 
-0x4be1 018283 nbranch hci_h4_parse_packet_wait ,positive 
-0x4be2 018284 copy rega ,contru 
-0x4be3 018285 ifetch 1 ,contru 
-0x4be4 018286 beq hci_h4_type_cmd ,process_hci_cmd 
-0x4be5 018287 branch assert 
-:      018289 h4_rx_discard_packet:
-0x4be6 018290 bpatch patch1f_7 ,mem_patch1f 
-0x4be7 018291 hfetch 2 ,core_uart_rrptr 
-0x4be8 018292 iforce contru 
-0x4be9 018293 call h4_get_rx_payload_len 
-0x4bea 018294 iadd contru ,contru 
-0x4beb 018295 deposit contru 
-0x4bec 018296 hstore 2 ,core_uart_rrptr 
-0x4bed 018297 rtn 
-:      018302 h4_get_rx_payload_len:
-0x4bee 018303 ifetch 1 ,contru 
-0x4bef 018304 increase 2 ,contru 
-0x4bf0 018305 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
-0x4bf1 018306 ifetch 1 ,contru 
-0x4bf2 018307 rtn 
-:      018308 h4_get_rx_payload_len_acl:
-0x4bf3 018309 ifetch 2 ,contru 
-0x4bf4 018310 rtn 
-:      018312 h4_get_tx_ptr:
-0x4bf5 018313 hfetch 2 ,core_uart_twptr 
-0x4bf6 018314 increase -5 ,contwu 
-0x4bf7 018315 iadd contwu ,contwu 
-0x4bf8 018316 rtn 
-:      018318 h4_send_packet_event:
-0x4bf9 018319 arg hci_h4_type_event ,temp 
-0x4bfa 018320 branch h4_send_packet 
-:      018321 h4_send_packet_acl:
-0x4bfb 018322 arg hci_h4_type_acl ,temp 
-:      018323 h4_send_packet:
-0x4bfc 018324 bpatchx patch20_0 ,mem_patch20 
-0x4bfd 018325 increase 1 ,loopcnt 
-0x4bfe 018326 hfetch 2 ,core_uart_twptr 
-0x4bff 018327 copy pdata ,contwu 
-0x4c00 018328 copy loopcnt ,pdata 
-0x4c01 018329 istoret 1 ,contwu 
-0x4c02 018330 increase -1 ,pdata 
-0x4c03 018331 iadd contwu ,contwu 
-0x4c04 018332 copy contwu ,pdata 
-0x4c05 018333 store 2 ,mem_hci_acl_tx_trigger_wptr 
-0x4c06 018334 copy temp ,pdata 
-0x4c07 018335 rtneq hci_h4_type_acl 
-0x4c08 018336 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
-0x4c09 018337 hstore 2 ,core_uart_twptr 
-0x4c0a 018338 branch h4_send_acl_trigger_clear 
-:      018341 h4_send_acl_trigger_clear:
-0x4c0b 018342 setarg 0 
-0x4c0c 018343 store 2 ,mem_hci_acl_tx_trigger_wptr 
-0x4c0d 018344 rtn 
-:      018351 hci_init:
-0x4c0e 018352 rtn wake 
-0x4c0f 018353 setarg hci_idle_dispatch 
-0x4c10 018354 store 2 ,mem_cb_idle_process 
-0x4c11 018356 setarg uart_baud_115200 
-0x4c12 018357 store uart_baud_len ,mem_baud 
-:      018358 hci_lpm_init:
-0x4c13 018359 setarg mem_h5rx_buf 
-0x4c14 018360 hstore 2 ,core_uart_rsaddr 
-0x4c15 018361 setarg mem_h5rx_buf_end 
-0x4c16 018362 hstore 2 ,core_uart_readdr 
-0x4c17 018363 setarg mem_h5tx_buf 
-0x4c18 018364 hstore 2 ,core_uart_tsaddr 
-0x4c19 018365 call hci_sel_init 
-:      018366 hci_reinit:
-0x4c1a 018367 jam 0x0 ,core_uart_ctrl 
-0x4c1b 018368 setarg mem_h5tx_buf 
-0x4c1c 018369 hstore 2 ,core_uart_twptr 
-0x4c1d 018370 hstore 2 ,core_uart_trptrp 
-0x4c1e 018371 setarg mem_h5rx_buf 
-0x4c1f 018372 hstore 2 ,core_uart_rrptr 
-0x4c20 018373 store 2 ,mem_h5rx_rptr 
-:      018374 hci_init_common:
-0x4c21 018375 hfetch 2 ,core_clkoff 
-0x4c22 018376 set0 clock_off_uart ,pdata 
-0x4c23 018377 hstore 2 ,core_clkoff 
-0x4c24 018378 call uart_set_baud_by_mem 
-0x4c25 018379 jam uartclk_dpll ,core_uart_clksel 
-0x4c26 018380 jam uart_ctrl_h4 ,core_uart_ctrl 
-0x4c27 018381 rtn 
-:      018383 hci_sel_init:
-0x4c28 018384 setarg mem_h5tx_buf_end 
-0x4c29 018385 hstore 2 ,core_uart_teaddr 
-0x4c2a 018386 hfetch 1 ,core_gpio_sel1 
-0x4c2b 018387 or_into 0x07 ,pdata 
-0x4c2c 018388 hstore 1 ,core_gpio_sel1 
-0x4c2d 018389 rtn 
-:      018392 hci_rx_packet:
-0x4c2e 018393 bpatchx patch20_1 ,mem_patch20 
-0x4c2f 018394 hfetch 1 ,core_uart_status 
-0x4c30 018395 iforce regb 
-0x4c31 018396 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
-0x4c32 018397 hfetch 2 ,core_uart_rxitems 
-0x4c33 018398 iforce regc 
-0x4c34 018399 arg 0x44f ,temp 
-0x4c35 018400 isub temp ,null 
-0x4c36 018401 nrtn zero 
-:      018402 hci_rx_packet_cont:
-0x4c37 018403 hfetch 2 ,core_uart_rrptr 
-0x4c38 018404 iforce contru 
-0x4c39 018405 branch hci_rx_h4 
-:      018407 uart_send_byte:
-0x4c3a 018408 hfetcht 1 ,core_uart_status 
-0x4c3b 018409 isolate1 6 ,temp 
-0x4c3c 018410 branch uart_send_byte ,true 
-0x4c3d 018411 hstore 1 ,core_uart_txd 
-0x4c3e 018412 rtn 
-:      018414 process_hci_cmd:
-0x4c3f 018415 bpatchx patch20_2 ,mem_patch20 
-0x4c40 018416 fetch 1 ,mem_hci_cmd 
-0x4c41 018417 branch process_hci_cmd_cont ,blank 
-0x4c42 018418 enable user 
-0x4c43 018419 rtn 
-:      018420 process_hci_cmd_cont:
-0x4c44 018421 ifetch 2 ,contru 
-0x4c45 018422 iforce alarm 
-0x4c46 018423 iforce queue 
-0x4c47 018424 ifetch 1 ,contru 
-0x4c48 018425 iforce temp 
-0x4c49 018426 rshift2 alarm ,pdata 
-0x4c4a 018427 rshift8 pdata ,pdata 
-0x4c4b 018428 beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
-0x4c4c 018429 rtn 
-:      018432 phci_grp_vendor_specific:
-0x4c4d 018433 bpatchx patch20_3 ,mem_patch20 
-0x4c4e 018434 deposit queue 
-0x4c4f 018435 beq hci_vendor_cmd_reset ,hci_normal_reply 
-0x4c50 018436 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
-0x4c51 018437 beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
-0x4c52 018438 beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
-0x4c53 018439 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
-0x4c54 018440 beq hci_vendor_cmd_echo ,hci_normal_reply 
-0x4c55 018441 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
-0x4c56 018442 beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
-0x4c57 018444 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
-0x4c58 018445 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
-0x4c59 018446 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
-0x4c5a 018447 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
-0x4c5b 018448 branch hci_normal_reply 
-:      018450 phci_grp_vendor_enter_lpm:
-0x4c5c 018451 call hci_normal_reply 
-0x4c5d 018452 call wait_uarttx 
-0x4c5e 018453 call gpio_pu_uart_tx 
-:      018454 hci_enter_lpm:
-0x4c5f 018455 call app_put_lpm_wake_lock 
-0x4c60 018456 call app_l2cap_flow_control_enable 
-0x4c61 018457 branch gpio_rx_config_input_with_pu 
-:      018459 hci_exit_lpm:
-0x4c62 018460 jam hci_rx_ready ,mem_hci_lt_rx_state 
-0x4c63 018461 call app_get_lpm_wake_lock 
-0x4c64 018462 call hci_lpm_init 
-0x4c65 018463 branch app_l2cap_flow_control_disable 
-:      018465 phci_grp_vendor_chipid:
-0x4c66 018466 call hci_get_cmd_complete_ptr 
-0x4c67 018467 hfetch 2 ,core_chipid 
-0x4c68 018468 istore 2 ,contwu 
-0x4c69 018469 force 6 ,loopcnt 
-0x4c6a 018470 branch hci_command_complete 
-:      018472 phci_grp_vendor_baud:
-0x4c6b 018473 ifetch 2 ,contru 
-0x4c6c 018474 store 2 ,mem_baud 
-0x4c6d 018475 hstore 2 ,core_uart_baud 
-0x4c6e 018476 rtn 
-:      018479 phci_grp_vendor_patch_common:
-0x4c6f 018481 ifetch 1 ,contru 
-0x4c70 018482 copy pdata ,temp 
-0x4c71 018483 hstore 1 ,core_ucode_low 
-0x4c72 018484 ifetch 1 ,contru 
-0x4c73 018485 iadd temp ,temp 
-0x4c74 018486 set1 7 ,pdata 
-0x4c75 018487 hstore 1 ,core_ucode_ctrl 
-0x4c76 018488 ifetch 1 ,contru 
-0x4c77 018489 iadd temp ,temp 
-0x4c78 018490 copy pdata ,loopcnt 
-0x4c79 018491 rtn 
-:      018493 phci_grp_vendor_patch:
-0x4c7a 018494 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
-0x4c7b 018495 call phci_grp_vendor_patch_common 
-:      018496 phci_grp_vendor_patch_loop:
-0x4c7c 018497 ifetch 1 ,contru 
-0x4c7d 018498 hstore 1 ,core_ucode_data 
-0x4c7e 018499 iadd temp ,temp 
-0x4c7f 018500 loop phci_grp_vendor_patch_loop 
-:      018501 phci_grp_vendor_patch_check_sum:
-0x4c80 018502 and temp ,0xff ,temp 
-0x4c81 018503 ifetch 1 ,contru 
-0x4c82 018504 isub temp ,null 
-0x4c83 018505 nbranch phci_grp_vendor_patch_bad ,zero 
-0x4c84 018506 branch hci_normal_reply 
-:      018509 phci_grp_vendor_patch_sec:
-0x4c85 018510 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
-0x4c86 018511 call phci_grp_vendor_patch_common 
-0x4c87 018512 store 8 ,mem_pdatatemp 
-:      018513 phci_grp_vendor_patch_sec_loop:
-0x4c88 018514 call do_aes_cbc 
-0x4c89 018515 arg 16 ,loopcnt 
-0x4c8a 018516 arg mem_temp_block0 ,contw 
-0x4c8b 018517 call load_uart_sum_loop 
-0x4c8c 018518 storet 8 ,mem_temp 
-0x4c8d 018519 arg mem_temp_block2 ,contw 
-0x4c8e 018520 call store_aes_result 
-0x4c8f 018521 arg mem_temp_block2 ,rega 
-0x4c90 018522 arg mem_temp_block0 ,regb 
-0x4c91 018523 arg mem_temp_block3 ,contw 
-0x4c92 018524 call xor16 
-0x4c93 018525 arg 16 ,loopcnt 
-0x4c94 018526 arg mem_temp_block3 ,contr 
-0x4c95 018527 call load_ucode_only_loop 
-0x4c96 018528 fetcht 8 ,mem_temp 
-0x4c97 018529 fetch 8 ,mem_pdatatemp 
-0x4c98 018530 increase -16 ,pdata 
-0x4c99 018531 store 8 ,mem_pdatatemp 
-0x4c9a 018532 nbranch phci_grp_vendor_patch_sec_loop ,blank 
-0x4c9b 018533 branch phci_grp_vendor_patch_check_sum 
-:      018535 load_ucode_only_loop:
-0x4c9c 018536 ifetch 1 ,contr 
-0x4c9d 018537 hstore 1 ,core_ucode_data 
-0x4c9e 018538 loop load_ucode_only_loop 
-0x4c9f 018539 rtn 
-:      018541 load_uart_sum_loop:
-0x4ca0 018542 ifetch 1 ,contru 
-0x4ca1 018543 istore 1 ,contw 
-0x4ca2 018544 iadd temp ,temp 
-0x4ca3 018545 loop load_uart_sum_loop 
-0x4ca4 018546 rtn 
-:      018548 phci_grp_vendor_patch_sec_init:
-0x4ca5 018549 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
-0x4ca6 018550 arg 0 ,temp 
-0x4ca7 018551 arg 16 ,loopcnt 
-0x4ca8 018552 arg mem_temp_block0 ,contw 
-0x4ca9 018553 call load_uart_sum_loop 
-0x4caa 018554 hfetch 1 ,core_gpio_key2 
-0x4cab 018555 and_into 0xfd ,pdata 
-0x4cac 018556 hstore 1 ,core_gpio_key2 
-0x4cad 018557 arg mem_temp_block0 ,contr 
-0x4cae 018558 arg 16 ,loopcnt 
-0x4caf 018559 call aes_load_data 
-0x4cb0 018560 call aes_init 
-0x4cb1 018561 call aes_clear_data 
-0x4cb2 018562 branch phci_grp_vendor_patch_check_sum 
-:      018565 phci_grp_vendor_done:
-0x4cb3 018566 arg 0x20 ,loopcnt 
-0x4cb4 018567 arg mem_patch00 ,contw 
-0x4cb5 018568 arg 0 ,temp 
-:      018569 phci_grp_vendor_done_loop:
-0x4cb6 018570 ifetch 1 ,contru 
-0x4cb7 018571 istore 1 ,contw 
-0x4cb8 018572 iadd temp ,temp 
-0x4cb9 018573 loop phci_grp_vendor_done_loop 
-0x4cba 018574 and temp ,0xff ,temp 
-0x4cbb 018575 ifetch 1 ,contru 
-0x4cbc 018576 isub temp ,null 
-0x4cbd 018577 nbranch phci_grp_vendor_patch_bad ,zero 
-0x4cbe 018578 jam 0 ,core_ucode_ctrl 
-0x4cbf 018579 call hci_normal_reply 
-0x4cc0 018580 call h4_rx_discard_packet 
-0x4cc1 018581 call clear_key_buf 
-0x4cc2 018582 call wait_uarttx 
-0x4cc3 018583 branch soft_reset 
-:      018585 phci_grp_vendor_patch_bad:
-0x4cc4 018586 jam 0 ,core_ucode_ctrl 
-0x4cc5 018587 branch start 
-:      018589 phci_grp_vendor_bdaddr:
-0x4cc6 018590 ifetch 6 ,contru 
-0x4cc7 018591 store 6 ,mem_lap 
-0x4cc8 018592 branch hci_normal_reply 
-:      018595 phci_grp_vendor_mem:
-0x4cc9 018596 ifetch 1 ,contru 
-0x4cca 018597 store 1 ,mem_hci_curr_len 
-0x4ccb 018598 copy pdata ,loopcnt 
-0x4ccc 018599 ifetch 2 ,contru 
-0x4ccd 018600 store 2 ,mem_hci_curr_target 
-0x4cce 018601 copy pdata ,contw 
-0x4ccf 018602 call uart_copy_rx_bytes 
-0x4cd0 018603 branch hci_normal_reply 
-:      018606 phci_grp_vendor_eep:
-0x4cd1 018607 ifetch 1 ,contru 
-0x4cd2 018608 store 1 ,mem_hci_curr_len 
-0x4cd3 018609 copy pdata ,loopcnt 
-0x4cd4 018610 ifetch 2 ,contru 
-0x4cd5 018611 store 2 ,mem_hci_curr_target 
-0x4cd6 018612 arg mem_l2cap_rxbuff1 ,contw 
-0x4cd7 018613 call uart_copy_rx_bytes 
-0x4cd8 018614 fetcht 1 ,mem_hci_curr_len 
-0x4cd9 018615 arg mem_l2cap_rxbuff1 ,rega 
-0x4cda 018616 fetch 2 ,mem_hci_curr_target 
-0x4cdb 018617 branch iicd_write_ota_data 
-:      018622 hci_normal_reply:
-0x4cdc 018623 force 4 ,loopcnt 
-:      018624 hci_command_complete:
-0x4cdd 018625 call hci_get_payload_ptr 
-0x4cde 018626 force 0x1 ,pdata 
-0x4cdf 018627 istore 1 ,contwu 
-0x4ce0 018628 deposit alarm 
-0x4ce1 018629 istore 3 ,contwu 
-0x4ce2 018630 force hci_event_command_complete ,queue 
-:      018631 hci_send_event:
-0x4ce3 018632 bpatchx patch20_4 ,mem_patch20 
-0x4ce4 018633 call hci_get_packet_ptr 
-0x4ce5 018634 deposit queue 
-0x4ce6 018635 istore 1 ,contwu 
-0x4ce7 018636 deposit loopcnt 
-0x4ce8 018637 istore 1 ,contwu 
-:      018638 hci_send_event_raw:
-0x4ce9 018639 force 5 ,queue 
-0x4cea 018640 increase 2 ,loopcnt 
-:      018641 hci_send_packet:
-0x4ceb 018642 branch h4_send_packet_event 
-:      018644 hci_send_commu_ready_event:
-0x4cec 018645 force hci_event_vendor_specific ,queue 
-0x4ced 018646 call hci_get_payload_ptr 
-0x4cee 018647 setarg hci_vendor_event_commu_ready 
-0x4cef 018648 istore 1 ,contwu 
-0x4cf0 018649 force 1 ,loopcnt 
-0x4cf1 018650 branch hci_send_event 
-:      018652 hci_get_cmd_complete_ptr:
-0x4cf2 018653 force 12 ,contwu 
-0x4cf3 018654 branch hci_get_tx_ptr 
-:      018656 hci_get_payload_ptr:
-0x4cf4 018657 force 8 ,contwu 
-0x4cf5 018658 branch hci_get_tx_ptr 
-:      018660 hci_get_packet_ptr:
-0x4cf6 018661 force 6 ,contwu 
-:      018662 hci_get_tx_ptr:
-0x4cf7 018663 branch h4_get_tx_ptr 
-:      018667 calc_tx_crc16:
-0x4cf8 018668 pulse crc16 
-0x4cf9 018669 enable enable_crc 
-:      018670 crcloop:
-0x4cfa 018671 ifetch 1 ,contwu 
-0x4cfb 018672 inject bucket ,8 
-0x4cfc 018673 loop crcloop 
-0x4cfd 018674 enable enable_parity 
-0x4cfe 018675 inject bucket ,16 
-0x4cff 018676 disable enable_parity 
-0x4d00 018677 disable enable_crc 
-0x4d01 018678 disable crc16 
-0x4d02 018679 byteswap pdata ,pdata 
-0x4d03 018680 rtn 
-:      018684 cmd_exit:
-0x4d04 018685 jam 0 ,mem_hci_cmd 
-0x4d05 018686 rtn 
-:      018687 cmd_check_plap:
-0x4d06 018688 fetch 6 ,mem_hci_plap 
-0x4d07 018689 fetcht 6 ,mem_plap 
-0x4d08 018690 isub temp ,null 
-0x4d09 018691 rtn 
-:      018696 cmd_pair:
-0x4d0a 018697 fetch 1 ,mem_op 
-0x4d0b 018698 bbit1 op_inrand_req ,cmd_pair_passive 
-0x4d0c 018699 call tid_initiate 
-0x4d0d 018700 jam lmp_in_rand ,mem_lmo_opcode2 
-0x4d0e 018701 branch cmd_exit 
-:      018702 cmd_pair_passive:
-0x4d0f 018703 set0 op_inrand_req ,pdata 
-0x4d10 018704 store 1 ,mem_op 
-0x4d11 018705 call lmp_accept_inrand 
-0x4d12 018706 setarg 0 
-0x4d13 018707 setflag master ,smap_lmptid ,pdata 
-0x4d14 018708 store 1 ,mem_lmo_tid2 
-0x4d15 018709 branch cmd_exit 
-0x4d16 018710 rtn 
-:      018711 cmd_in_sniff:
-0x4d17 018712 jam lmp_sniff_req ,mem_lmo_opcode2 
-0x4d18 018713 arg mem_sniff_payload ,contw 
-0x4d19 018714 setarg 0 
-0x4d1a 018715 isolate1 27 ,clke_bt 
-0x4d1b 018716 setflag true ,1 ,pdata 
-0x4d1c 018717 istore 1 ,contw 
-0x4d1d 018718 setarg 0 
-0x4d1e 018719 istore 2 ,contw 
-0x4d1f 018720 fetch 2 ,mem_sniff_param_interval 
-0x4d20 018721 istore 2 ,contw 
-0x4d21 018722 fetch 1 ,mem_sniff_param_attempt 
-0x4d22 018723 istore 2 ,contw 
-0x4d23 018724 fetch 1 ,mem_sniff_param_timeout 
-0x4d24 018725 istore 2 ,contw 
-0x4d25 018726 branch cmd_exit 
-:      018728 cmd_exit_sniff:
-0x4d26 018729 jam lmp_unsniff_req ,mem_lmo_opcode2 
-0x4d27 018730 branch cmd_exit 
-:      018732 hci_idle_dispatch:
-0x4d28 018733 call gpio_check_uart_state 
-0x4d29 018734 rtn true 
-0x4d2a 018735 arg uart_wakeup_rx ,temp 
-0x4d2b 018736 call gpio_get_bit 
-0x4d2c 018737 nbranch uart_wake_up ,true 
-0x4d2d 018738 jam hci_rx_wake ,mem_hci_lt_rx_state 
-0x4d2e 018739 rtn 
-:      018740 uart_wake_up:
-0x4d2f 018741 fetch 1 ,mem_hci_lt_rx_state 
-0x4d30 018742 rtnne hci_rx_wake 
-0x4d31 018743 call hci_exit_lpm 
-0x4d32 018744 branch hci_send_commu_ready_event 
-:      018758 hid_rx_process:
-0x4d33 018759 bpatchx patch20_5 ,mem_patch20 
-0x4d34 018760 fetch 2 ,mem_l2cap_payload_ptr 
-0x4d35 018761 copy pdata ,contr 
-0x4d36 018762 ifetch 1 ,contr 
-0x4d37 018763 and pdata ,0x0f ,temp 
-0x4d38 018764 rshift4 pdata ,pdata 
-0x4d39 018765 beq hid_type_set_idle ,hid_rx_process_handshake 
-0x4d3a 018766 beq hid_type_set_protocol ,hid_rx_process_handshake 
-0x4d3b 018767 beq hid_type_data ,hid_rx_process_data 
-0x4d3c 018768 beq hid_type_set_report ,hid_rx_process_set_report 
-0x4d3d 018769 beq hid_type_control ,hid_rx_process_hid_control 
-0x4d3e 018770 rtn 
-:      018772 hid_rx_process_hid_control:
-0x4d3f 018773 copy temp ,pdata 
-0x4d40 018774 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
-0x4d41 018775 beq hid_control_p_suspend ,hid_rx_process_suspend 
-0x4d42 018776 rtn 
-:      018778 hid_rx_process_virtual_cable_unplug:
-0x4d43 018779 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
-0x4d44 018780 call ui_ipc_send_event 
-0x4d45 018781 fetch 1 ,mem_device_option 
-0x4d46 018782 rtnbit0 dvc_op_mouse 
-0x4d47 018783 copy temp ,pdata 
-0x4d48 018784 beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
-0x4d49 018785 rtn 
-:      018786 hid_rx_process_suspend:
-0x4d4a 018787 rtn 
-:      018789 hid_rx_process_set_report:
-0x4d4b 018790 call hid_rx_process_data 
-0x4d4c 018791 arg 0x01 ,rega 
-0x4d4d 018792 call hid_malloc_tx_buff 
-0x4d4e 018793 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4d4f 018794 istore 2 ,contw 
-0x4d50 018795 setarg 0x00 
-0x4d51 018796 istore 1 ,contw 
-0x4d52 018797 rtn 
-:      018799 hid_rx_process_handshake:
-0x4d53 018800 arg 1 ,rega 
-0x4d54 018801 call hid_malloc_tx_buff 
-0x4d55 018802 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4d56 018803 istore 2 ,contw 
-0x4d57 018804 setarg 0 
-0x4d58 018805 istore 1 ,contw 
-0x4d59 018806 jam 1 ,mem_ui_data_txbuff_length 
-0x4d5a 018807 fetch 1 ,mem_hid_control_state 
-0x4d5b 018808 set1 l2cap_channel_hid_handshake_done 
-0x4d5c 018809 store 1 ,mem_hid_control_state 
-0x4d5d 018810 jam bt_evt_hid_handshake ,mem_fifo_temp 
-0x4d5e 018811 branch ui_ipc_send_event 
-:      018813 hid_rx_process_data:
-0x4d5f 018814 ifetch 1 ,contr 
-0x4d60 018815 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
-0x4d61 018816 rtn 
-:      018818 hid_rx_process_data_hid_kb:
-0x4d62 018819 rtn 
-:      018822 hid_malloc_tx_buff:
-0x4d63 018823 call l2cap_malloc 
-0x4d64 018824 copy rega ,temp 
-0x4d65 018825 storet 1 ,mem_ui_data_txbuff_length 
-0x4d66 018826 copy pdata ,contw 
-0x4d67 018827 copy rega ,pdata 
-0x4d68 018828 istore 2 ,contw 
-0x4d69 018829 rtn 
-:      018846 l2cap_init:
-0x4d6a 018847 branch l2cap_init_wake ,wake 
-:      018848 l2cap_init_work:
-0x4d6b 018849 setarg mem_l2cap_xmem_end 
-0x4d6c 018850 arg mem_l2cap_xmem_start ,contw 
-0x4d6d 018851 isub contw ,loopcnt 
-0x4d6e 018852 call clear_mem 
-:      018853 l2cap_init_wake:
-0x4d6f 018854 bpatchx patch20_6 ,mem_patch20 
-0x4d70 018855 setarg mem_sdp_mem_end 
-0x4d71 018856 arg mem_sdp_mem_start ,contw 
-0x4d72 018857 isub contw ,loopcnt 
-0x4d73 018858 call clear_mem 
-0x4d74 018859 setarg mem_l2cap_mem_end 
-0x4d75 018860 arg mem_l2cap_mem_start ,contw 
-0x4d76 018861 isub contw ,loopcnt 
-0x4d77 018862 call clear_mem 
-0x4d78 018863 branch l2cap_lpm_load_txbuf 
-:      018865 process_rx_l2cap_pkt:
-0x4d79 018866 bpatchx patch20_7 ,mem_patch20 
-0x4d7a 018867 copy contr ,temp 
-0x4d7b 018870 copy temp ,contr 
-0x4d7c 018871 ifetch 2 ,contr 
-0x4d7d 018872 store 2 ,mem_l2cap_rx_pkt_length 
-0x4d7e 018873 ifetch 2 ,contr 
-0x4d7f 018874 store 2 ,mem_l2cap_rx_cid 
-0x4d80 018875 deposit contr 
-0x4d81 018876 store 2 ,mem_l2cap_payload_ptr 
-0x4d82 018877 fetch 1 ,memui_reconnect_mode 
-0x4d83 018878 beq no_reconnection ,l2cap_rx_multiplexing 
-0x4d84 018879 branch ml2cap_rx_multiplexing 
-:      018881 l2cap_rx_multiplexing:
-0x4d85 018882 fetch 2 ,mem_l2cap_rx_pkt_length 
-0x4d86 018883 branch l2cap_rx_reset_state ,blank 
-0x4d87 018884 bpatchx patch21_0 ,mem_patch21 
-0x4d88 018885 fetch 1 ,mem_l2cap_rx_cid 
-0x4d89 018886 beq l2cap_signal_channel ,l2cap_call_proc_signal 
-:      018887 l2cap_rx_multiplexing0:
-0x4d8a 018888 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
-0x4d8b 018889 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
-0x4d8c 018890 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
-0x4d8d 018891 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
-0x4d8e 018892 branch l2cap_rx_reset_state 
-:      018894 l2cap_check_map:
-0x4d8f 018897 bpatchx patch21_1 ,mem_patch21 
-0x4d90 018898 call l2cap_malloc_get_full_map 
-0x4d91 018899 fetch 1 ,mem_used_map 
-0x4d92 018900 beq 0 ,set_pdata_0 
-0x4d93 018901 beq 1 ,set_pdata_0 
-0x4d94 018902 beq 2 ,set_pdata_0 
-0x4d95 018903 beq 3 ,set_pdata_0 
-0x4d96 018904 beq 0x81 ,set_pdata_0 
-0x4d97 018905 beq 0xc0 ,set_pdata_0 
-0x4d98 018906 beq 0x80 ,set_pdata_0 
-0x4d99 018907 beq 0x40 ,set_pdata_0 
-0x4d9a 018908 rtn 
-:      018910 set_pdata_0:
-0x4d9b 018911 setarg 0 
-0x4d9c 018912 rtn 
-:      018915 l2cap_call_proc_signal:
-0x4d9d 018916 call l2cap_check_map 
-0x4d9e 018917 nrtn blank 
-:      018918 l2cap_call_proc_signal0:
-0x4d9f 018919 call l2cap_malloc_signal_channel 
-0x4da0 018920 call l2cap_process_signal_pkt 
-0x4da1 018921 fetcht 2 ,mem_l2cap_signal_tx_length 
-0x4da2 018922 branch l2cap_call_proc_no_reply ,blank 
-0x4da3 018923 call l2cap_get_signal_tx_buff 
-0x4da4 018924 fetch 2 ,mem_l2cap_signal_tx_length 
-0x4da5 018925 istore 2 ,contw 
-0x4da6 018926 force l2cap_signal_channel ,pdata 
-0x4da7 018927 istore 2 ,contw 
-0x4da8 018928 branch l2cap_rx_reset_state 
-:      018930 l2cap_call_proc_sigal_pending:
-0x4da9 018931 fetch 1 ,mem_l2cap_pending_item 
-0x4daa 018932 rtn blank 
-0x4dab 018933 copy pdata ,rega 
-0x4dac 018934 bpatchx patch21_2 ,mem_patch21 
-0x4dad 018935 fetch 4 ,mem_l2cap_sdpres_delay_time 
-0x4dae 018936 arg 0x100 ,temp 
-0x4daf 018937 iadd temp ,temp 
-0x4db0 018938 copy clkn_bt ,pdata 
-0x4db1 018939 isub temp ,null 
-0x4db2 018940 nrtn positive 
-0x4db3 018941 jam 0 ,mem_l2cap_pending_item 
-0x4db4 018942 copy rega ,pdata 
-0x4db5 018943 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
-0x4db6 018944 branch assert 
-:      018945 l2cap_sdp_conn_succ:
-0x4db7 018946 arg 0 ,debug 
-0x4db8 018947 call l2cap_malloc_signal_channel 
-0x4db9 018948 call restore_l2cap_req_param 
-0x4dba 018949 call l2cap_get_signal_tx_payload 
-0x4dbb 018950 call save_cont_pointers 
-0x4dbc 018951 call send_connection_sdp_res 
-0x4dbd 018952 call l2cap_get_signal_tx_buff 
-0x4dbe 018954 setarg 0x000c 
-0x4dbf 018955 istore 2 ,contw 
-0x4dc0 018956 force l2cap_signal_channel ,pdata 
-0x4dc1 018957 istore 2 ,contw 
-0x4dc2 018958 branch l2cap_rx_reset_state 
-:      018962 l2cap_reset_sdp_map:
-0x4dc3 018963 bpatchx patch21_3 ,mem_patch21 
-0x4dc4 018964 fetch 2 ,mem_sdp_tx_pkt_length 
-0x4dc5 018965 increase 4 ,pdata 
-0x4dc6 018966 rshift4 pdata ,pdata 
-0x4dc7 018967 rshift3 pdata ,pdata 
-0x4dc8 018968 add pdata ,1 ,temp 
-0x4dc9 018969 arg mem_tx_fifo3 ,contr 
-0x4dca 018970 ifetch 3 ,contr 
-0x4dcb 018971 rtn blank 
-0x4dcc 018972 store 3 ,mem_tx_fifo_map_temp 
-0x4dcd 018973 fetch 1 ,mem_tx_fifo_map_temp 
-0x4dce 018974 copy pdata ,rega 
-0x4dcf 018975 call check_l2cap_map 
-0x4dd0 018976 copy regb ,pdata 
-0x4dd1 018977 store 1 ,mem_tx_fifo3 
-0x4dd2 018978 rtn 
-:      018980 check_l2cap_map:
-0x4dd3 018981 arg 0 ,queue 
-0x4dd4 018982 arg 0 ,regb 
-:      018984 check_l2cap_map_loop:
-0x4dd5 018985 sub queue ,7 ,null 
-0x4dd6 018986 nrtn positive 
-0x4dd7 018987 qisolate1 rega 
-0x4dd8 018988 branch check_l2cap_map_used ,true 
-0x4dd9 018989 branch check_l2cap_map_used2 
-:      018991 check_l2cap_map_used:
-0x4dda 018992 copy temp ,pdata 
-0x4ddb 018993 branch check_l2cap_map_used2 ,blank 
-0x4ddc 018994 qset1 regb 
-0x4ddd 018995 increase -1 ,temp 
-:      018997 check_l2cap_map_used2:
-0x4dde 018998 increase 1 ,queue 
-0x4ddf 018999 branch check_l2cap_map_loop 
-:      019001 l2cap_call_proc_sdp:
-0x4de0 019002 call l2cap_malloc_is_fifo_empty 
-0x4de1 019003 nrtn blank 
-0x4de2 019004 call l2cap_check_map 
-0x4de3 019005 nrtn blank 
-0x4de4 019006 call l2cap_malloc_sdp_channel 
-0x4de5 019007 call sdp_process 
-0x4de6 019008 call l2cap_reset_sdp_map 
-0x4de7 019009 branch l2cap_call_proc_sdp_common 
-:      019012 ml2cap_call_proc_sdp:
-0x4de8 019013 call l2cap_malloc_is_fifo_empty 
-0x4de9 019014 nrtn blank 
-0x4dea 019015 call l2cap_malloc_sdp_channel 
-0x4deb 019016 call sdp_process 
-:      019017 l2cap_call_proc_sdp_common:
-0x4dec 019018 call l2cap_get_sdp_tx_buff 
-0x4ded 019019 fetch 2 ,mem_sdp_tx_pkt_length 
-0x4dee 019020 branch l2cap_call_proc_no_reply ,blank 
-0x4def 019021 istore 2 ,contw 
-0x4df0 019022 fetch 2 ,mem_sdp_remote_cid 
-0x4df1 019023 istore 2 ,contw 
-0x4df2 019024 branch l2cap_rx_reset_state 
-:      019026 l2cap_call_proc_hid:
-0x4df3 019027 call hid_rx_process 
-0x4df4 019028 branch l2cap_rx_reset_state 
-:      019030 l2cap_call_proc_rfcomm:
-0x4df5 019031 bpatchx patch21_4 ,mem_patch21 
-0x4df6 019032 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
-0x4df7 019033 call rfcomm_rx_process 
-0x4df8 019034 fetch 1 ,mem_rfcomm_malloc_fail_flag 
-0x4df9 019035 rtneq rfcomm_malloc_fail 
-0x4dfa 019036 branch l2cap_rx_reset_state 
-:      019037 l2cap_call_proc_no_reply:
-0x4dfb 019038 call l2cap_malloc_discard 
-:      019040 l2cap_rx_reset_state:
-0x4dfc 019041 setarg 0 
-0x4dfd 019042 store 2 ,mem_l2cap_rx_pkt_length 
-0x4dfe 019043 store 2 ,mem_l2cap_rx_cid 
-0x4dff 019044 jam l2cap_rx_done ,mem_l2cap_rx_done 
-0x4e00 019045 rtn 
-:      019047 l2cap_process_signal_pkt:
-0x4e01 019048 bpatchx patch21_5 ,mem_patch21 
-0x4e02 019049 call l2cap_get_signal_tx_payload 
-0x4e03 019050 force 0 ,regb 
-0x4e04 019051 fetch 2 ,mem_l2cap_rx_pkt_length 
-0x4e05 019052 copy pdata ,regc 
-0x4e06 019053 fetch 2 ,mem_l2cap_payload_ptr 
-0x4e07 019054 iforce contr 
-:      019055 l2cap_process_signal_pkt_loop:
-0x4e08 019056 call l2cap_process_one_signal 
-0x4e09 019057 deposit regc 
-0x4e0a 019058 increase -4 ,regc 
-0x4e0b 019059 increase -4 ,pdata 
-0x4e0c 019060 nbranch l2cap_process_signal_pkt_loop ,blank 
-0x4e0d 019061 copy regb ,pdata 
-0x4e0e 019062 store 2 ,mem_l2cap_signal_tx_length 
-0x4e0f 019063 rtn 
-:      019065 l2cap_process_one_signal:
-0x4e10 019066 bpatchx patch21_6 ,mem_patch21 
-0x4e11 019067 ifetch 1 ,contr 
-0x4e12 019068 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
-0x4e13 019069 beq signal_connect_req ,l2cap_proc_signal_connect_req 
-0x4e14 019070 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
-0x4e15 019071 beq signal_config_req ,l2cap_proc_signal_config_req 
-0x4e16 019072 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
-0x4e17 019073 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
-0x4e18 019074 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
-0x4e19 019075 beq signal_echo_req ,l2cap_proc_signal_echo_req 
-0x4e1a 019076 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
-0x4e1b 019077 beq signal_info_req ,l2cap_proc_signal_info_req 
-0x4e1c 019078 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
-0x4e1d 019079 call l2cap_reject_command 
-:      019080 l2cap_process_one_signal_rtn:
-0x4e1e 019081 rtn 
-:      019083 l2cap_proc_signal_info_req:
-0x4e1f 019084 ifetch 1 ,contr 
-0x4e20 019085 copy pdata ,queue 
-0x4e21 019086 ifetch 2 ,contr 
-0x4e22 019087 copy pdata ,rega 
-0x4e23 019088 copy regc ,pdata 
-0x4e24 019089 isub rega ,regc 
-0x4e25 019090 setarg signal_info_rsp 
-0x4e26 019091 istore 1 ,contw 
-0x4e27 019092 copy queue ,pdata 
-0x4e28 019093 istore 1 ,contw 
-0x4e29 019094 ifetch 2 ,contr 
-:      019095 l2cap_proc_signal_info_req_reply:
-0x4e2a 019096 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
-0x4e2b 019097 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
-0x4e2c 019098 rtn 
-:      019099 l2cap_proc_signal_info_req_ext:
-0x4e2d 019100 setarg 0x020008 
-0x4e2e 019101 istore 6 ,contw 
-0x4e2f 019102 setarg 0x0280 
-0x4e30 019103 istore 4 ,contw 
-0x4e31 019104 force 12 ,pdata 
-0x4e32 019105 branch l2cap_proc_signal_info_req_common 
-:      019106 l2cap_proc_signal_info_req_fix:
-0x4e33 019107 setarg 0x3000c 
-0x4e34 019108 istore 6 ,contw 
-0x4e35 019109 setarg 0x0006 
-0x4e36 019110 istore 8 ,contw 
-0x4e37 019111 force 16 ,pdata 
-:      019112 l2cap_proc_signal_info_req_common:
-0x4e38 019113 iadd regb ,regb 
-0x4e39 019114 branch l2cap_process_one_signal_rtn 
-:      019116 ml2cap_proc_signal_info_req:
-0x4e3a 019117 ifetch 1 ,contr 
-0x4e3b 019118 copy pdata ,queue 
-0x4e3c 019119 ifetch 2 ,contr 
-0x4e3d 019120 copy pdata ,rega 
-0x4e3e 019121 ifetch 2 ,contr 
-0x4e3f 019122 store 2 ,mem_temp 
-0x4e40 019123 copy regc ,pdata 
-0x4e41 019124 isub rega ,regc 
-0x4e42 019125 call l2cap_get_signal_tx_payload 
-0x4e43 019126 setarg signal_info_rsp 
-0x4e44 019127 istore 1 ,contw 
-0x4e45 019128 copy queue ,pdata 
-0x4e46 019129 istore 1 ,contw 
-0x4e47 019130 fetch 2 ,mem_temp 
-0x4e48 019131 branch l2cap_proc_signal_info_req_reply 
-:      019135 l2cap_proc_signal_cmd_reject:
-0x4e49 019136 ifetch 1 ,contr 
-0x4e4a 019137 copy pdata ,queue 
-0x4e4b 019138 ifetch 2 ,contr 
-0x4e4c 019139 copy pdata ,rega 
-0x4e4d 019140 iadd contr ,contr 
-0x4e4e 019141 copy regc ,pdata 
-0x4e4f 019142 isub rega ,regc 
-:      019143 l2cap_proc_signal_cmd_reject_rtn:
-0x4e50 019144 branch l2cap_process_one_signal_rtn 
-:      019146 l2cap_proc_signal_connect_req:
-0x4e51 019147 call save_cont_pointers 
-0x4e52 019150 call load_cont_pointers 
-0x4e53 019151 arg 0 ,debug 
-0x4e54 019152 ifetch 1 ,contr 
-0x4e55 019153 copy pdata ,queue 
-0x4e56 019154 ifetch 2 ,contr 
-0x4e57 019155 copy pdata ,rega 
-0x4e58 019156 ifetch 2 ,contr 
-0x4e59 019157 copy pdata ,temp 
-0x4e5a 019158 ifetch 2 ,contr 
-0x4e5b 019159 copy pdata ,timeup 
-0x4e5c 019160 bpatchx patch21_7 ,mem_patch21 
-0x4e5d 019161 copy temp ,pdata 
-0x4e5e 019162 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
-0x4e5f 019163 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
-0x4e60 019164 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
-0x4e61 019165 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
-0x4e62 019166 call l2cap_reject_command 
-0x4e63 019167 branch l2cap_proc_signal_connect_req_rtn 
-:      019169 l2cap_proc_signal_connect_req_sdp:
-0x4e64 019170 call save_cont_pointers 
-0x4e65 019171 arg l2cap_sdp_channel ,temp 
-0x4e66 019172 fetch 2 ,mem_sdp_remote_cid 
-0x4e67 019173 nbranch already_connected ,blank 
-0x4e68 019174 copy timeup ,pdata 
-0x4e69 019175 store 2 ,mem_sdp_remote_cid 
-0x4e6a 019176 copy clkn_bt ,pdata 
-0x4e6b 019177 store 4 ,mem_l2cap_sdpres_delay_time 
-0x4e6c 019178 call store_l2cap_req_param 
-0x4e6d 019179 branch send_connection_pending 
-:      019181 store_l2cap_req_param:
-0x4e6e 019182 storet 2 ,mem_psm 
-0x4e6f 019183 deposit timeup 
-0x4e70 019184 store 2 ,mem_scid 
-0x4e71 019185 deposit rega 
-0x4e72 019186 store 2 ,mem_cmd_length 
-0x4e73 019187 deposit regb 
-0x4e74 019188 store 2 ,mem_tt2 
-0x4e75 019189 deposit regc 
-0x4e76 019190 store 2 ,mem_tt3 
-0x4e77 019191 deposit queue 
-0x4e78 019192 store 2 ,mem_id 
-0x4e79 019193 rtn 
-:      019195 restore_l2cap_req_param:
-0x4e7a 019196 fetcht 2 ,mem_psm 
-0x4e7b 019197 fetch 2 ,mem_scid 
-0x4e7c 019198 copy pdata ,timeup 
-0x4e7d 019199 fetch 2 ,mem_cmd_length 
-0x4e7e 019200 copy pdata ,rega 
-0x4e7f 019201 fetch 2 ,mem_tt2 
-0x4e80 019202 copy pdata ,regb 
-0x4e81 019203 fetch 2 ,mem_tt3 
-0x4e82 019204 copy pdata ,regc 
-0x4e83 019205 fetch 2 ,mem_id 
-0x4e84 019206 copy pdata ,queue 
-0x4e85 019207 rtn 
-:      019209 l2cap_proc_signal_connect_req_rfcomm:
-0x4e86 019210 call save_cont_pointers 
-0x4e87 019211 setarg l2cap_rfcomm_channel 
-0x4e88 019212 arg l2cap_rfcomm_channel ,temp 
-0x4e89 019213 fetch 2 ,mem_rfcomm_remote_cid 
-0x4e8a 019214 nbranch already_connected ,blank 
-0x4e8b 019215 copy timeup ,pdata 
-0x4e8c 019216 store 2 ,mem_rfcomm_remote_cid 
-0x4e8d 019217 fetch 1 ,mem_rfcomm_state 
-0x4e8e 019218 set1 l2cap_channel_state_conn_req ,pdata 
-0x4e8f 019219 set1 l2cap_channel_state_conn_res ,pdata 
-0x4e90 019220 store 1 ,mem_rfcomm_state 
-0x4e91 019221 branch send_connection_res 
-:      019222 l2cap_proc_signal_connect_req_hid_ctrl:
-0x4e92 019223 call save_cont_pointers 
-0x4e93 019224 arg l2cap_hid_control_channel ,temp 
-0x4e94 019225 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4e95 019226 nbranch already_connected ,blank 
-0x4e96 019227 copy timeup ,pdata 
-0x4e97 019228 store 2 ,mem_hid_ctrl_remote_cid 
-0x4e98 019229 fetch 1 ,mem_hid_control_state 
-0x4e99 019230 set1 l2cap_channel_state_conn_req ,pdata 
-0x4e9a 019231 set1 l2cap_channel_state_conn_res ,pdata 
-0x4e9b 019232 store 1 ,mem_hid_control_state 
-0x4e9c 019233 branch send_connection_res 
-:      019234 l2cap_proc_signal_connect_req_hid_int:
-0x4e9d 019235 call save_cont_pointers 
-0x4e9e 019236 deposit clke 
-0x4e9f 019237 arg l2cap_hid_interrupt_channel ,temp 
-0x4ea0 019238 fetch 2 ,mem_hid_int_remote_cid 
-0x4ea1 019239 nbranch already_connected ,blank 
-0x4ea2 019240 copy timeup ,pdata 
-0x4ea3 019241 store 2 ,mem_hid_int_remote_cid 
-0x4ea4 019242 fetch 1 ,mem_hid_interrupt_state 
-0x4ea5 019243 set1 l2cap_channel_state_conn_req ,pdata 
-0x4ea6 019244 set1 l2cap_channel_state_conn_res ,pdata 
-0x4ea7 019245 store 1 ,mem_hid_interrupt_state 
-0x4ea8 019246 branch send_connection_res 
-:      019248 send_connection_pending:
-0x4ea9 019249 setarg l2cap_connect_pending 
-0x4eaa 019250 store 2 ,meml2cap_t1 
-0x4eab 019251 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
-0x4eac 019252 branch send_connection_res0 
-:      019253 send_connection_sdp_res:
-0x4ead 019254 fetch 1 ,mem_sdp_state 
-0x4eae 019255 set1 l2cap_channel_state_conn_req ,pdata 
-0x4eaf 019256 set1 l2cap_channel_state_conn_res ,pdata 
-0x4eb0 019257 store 1 ,mem_sdp_state 
-:      019258 send_connection_res:
-0x4eb1 019259 setarg l2cap_connect_successful 
-0x4eb2 019260 store 2 ,meml2cap_t1 
-:      019261 send_connection_res0:
-0x4eb3 019262 bpatchx patch22_0 ,mem_patch22 
-0x4eb4 019263 call load_cont_pointers 
-0x4eb5 019264 setarg signal_connect_rsp 
-0x4eb6 019265 istore 1 ,contw 
-0x4eb7 019266 copy queue ,pdata 
-0x4eb8 019267 istore 1 ,contw 
-0x4eb9 019268 setarg 0x0008 
-0x4eba 019269 istore 2 ,contw 
-0x4ebb 019270 copy temp ,pdata 
-0x4ebc 019271 istore 2 ,contw 
-0x4ebd 019272 copy timeup ,pdata 
-0x4ebe 019273 istore 2 ,contw 
-0x4ebf 019274 fetch 2 ,meml2cap_t1 
-0x4ec0 019275 beq l2cap_connect_pending ,connect_pending 
-0x4ec1 019276 isolate0 0 ,debug 
-0x4ec2 019277 branch connect_suc ,true 
-0x4ec3 019278 setarg l2cap_connect_refused_no_resources 
-:      019279 connect_suc:
-0x4ec4 019280 istore 2 ,contw 
-0x4ec5 019281 force 0x0000 ,pdata 
-0x4ec6 019282 istore 2 ,contw 
-0x4ec7 019283 setarg 12 
-0x4ec8 019284 branch connect_req_update_byte_counts 
-:      019285 connect_pending:
-0x4ec9 019286 istore 2 ,contw 
-0x4eca 019287 force 0x0002 ,pdata 
-0x4ecb 019288 istore 2 ,contw 
-0x4ecc 019289 setarg 12 
-0x4ecd 019290 branch connect_req_update_byte_counts 
-:      019292 already_connected:
-0x4ece 019293 set1 0 ,debug 
-0x4ecf 019294 branch send_connection_res 
-:      019295 connect_req_update_byte_counts:
-0x4ed0 019296 iadd regb ,regb 
-0x4ed1 019297 copy regc ,pdata 
-0x4ed2 019298 isub rega ,regc 
-0x4ed3 019299 branch l2cap_proc_signal_connect_req_rtn 
-:      019300 l2cap_proc_signal_connect_req_rtn:
-0x4ed4 019301 branch l2cap_process_one_signal_rtn 
-:      019303 l2cap_proc_signal_connect_rsp:
-0x4ed5 019304 ifetch 1 ,contr 
-0x4ed6 019305 copy pdata ,queue 
-0x4ed7 019306 ifetch 2 ,contr 
-0x4ed8 019307 copy pdata ,rega 
-0x4ed9 019308 copy regc ,pdata 
-0x4eda 019309 isub rega ,regc 
-0x4edb 019310 ifetch 2 ,contr 
-0x4edc 019311 copy pdata ,timeup 
-0x4edd 019312 ifetch 2 ,contr 
-0x4ede 019313 copy pdata ,temp 
-0x4edf 019314 bpatchx patch22_1 ,mem_patch22 
-0x4ee0 019315 setarg l2cap_sdp_channel 
-0x4ee1 019316 isub temp ,null 
-0x4ee2 019317 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
-0x4ee3 019318 setarg l2cap_rfcomm_channel 
-0x4ee4 019319 isub temp ,null 
-0x4ee5 019320 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
-0x4ee6 019321 setarg l2cap_hid_control_channel 
-0x4ee7 019322 isub temp ,null 
-0x4ee8 019323 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
-0x4ee9 019324 setarg l2cap_hid_interrupt_channel 
-0x4eea 019325 isub temp ,null 
-0x4eeb 019326 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
-0x4eec 019327 rtn 
-:      019329 l2cap_proc_signal_connect_rsp_sdp:
-0x4eed 019330 copy timeup ,pdata 
-0x4eee 019331 store 2 ,mem_sdp_remote_cid 
-0x4eef 019332 fetch 1 ,mem_sdp_state 
-0x4ef0 019333 set1 l2cap_channel_state_conn_res ,pdata 
-0x4ef1 019334 store 1 ,mem_sdp_state 
-0x4ef2 019335 branch l2cap_process_one_signal_rtn 
-:      019336 l2cap_proc_signal_connect_rsp_rfcomm:
-0x4ef3 019337 copy timeup ,pdata 
-0x4ef4 019338 store 2 ,mem_rfcomm_remote_cid 
-0x4ef5 019339 fetch 1 ,mem_rfcomm_state 
-0x4ef6 019340 set1 l2cap_channel_state_conn_res ,pdata 
-0x4ef7 019341 store 1 ,mem_rfcomm_state 
-0x4ef8 019342 rtn 
-:      019343 l2cap_proc_signal_connect_rsp_hid_int:
-0x4ef9 019344 copy timeup ,pdata 
-0x4efa 019345 store 2 ,mem_hid_ctrl_remote_cid 
-0x4efb 019346 fetch 1 ,mem_hid_interrupt_state 
-0x4efc 019347 set1 l2cap_channel_state_conn_res ,pdata 
-0x4efd 019348 store 1 ,mem_hid_interrupt_state 
-0x4efe 019349 rtn 
-:      019350 l2cap_proc_signal_connect_rsp_hid_ctrl:
-0x4eff 019351 copy timeup ,pdata 
-0x4f00 019352 store 2 ,mem_hid_int_remote_cid 
-0x4f01 019353 fetch 1 ,mem_hid_control_state 
-0x4f02 019354 set1 l2cap_channel_state_conn_res ,pdata 
-0x4f03 019355 store 1 ,mem_hid_control_state 
-0x4f04 019356 rtn 
-:      019358 l2cap_proc_signal_config_req:
-0x4f05 019359 ifetch 1 ,contr 
-0x4f06 019360 copy pdata ,queue 
-0x4f07 019361 ifetch 2 ,contr 
-0x4f08 019362 copy pdata ,rega 
-0x4f09 019363 copy regc ,pdata 
-0x4f0a 019364 isub rega ,regc 
-0x4f0b 019365 ifetch 2 ,contr 
-0x4f0c 019366 copy pdata ,temp 
-0x4f0d 019367 copy temp ,rega 
-0x4f0e 019368 bpatchx patch22_2 ,mem_patch22 
-0x4f0f 019369 setarg l2cap_sdp_channel 
-0x4f10 019370 isub temp ,null 
-0x4f11 019371 branch l2cap_proc_signal_config_req_sdp ,zero 
-0x4f12 019372 setarg l2cap_rfcomm_channel 
-0x4f13 019373 isub temp ,null 
-0x4f14 019374 branch l2cap_proc_signal_config_req_rfcomm ,zero 
-0x4f15 019375 setarg l2cap_hid_control_channel 
-0x4f16 019376 isub temp ,null 
-0x4f17 019377 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
-0x4f18 019378 setarg l2cap_hid_interrupt_channel 
-0x4f19 019379 isub temp ,null 
-0x4f1a 019380 branch l2cap_proc_signal_config_req_hid_int ,zero 
-0x4f1b 019381 branch l2cap_reject_command 
-:      019383 l2cap_proc_signal_config_req_sdp:
-0x4f1c 019384 copy contw ,timeup 
-0x4f1d 019385 fetch 1 ,mem_sdp_state 
-0x4f1e 019386 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x4f1f 019387 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x4f20 019389 store 1 ,mem_sdp_state 
-0x4f21 019390 copy timeup ,contw 
-0x4f22 019391 arg l2cap_sdp_channel ,timeup 
-0x4f23 019392 fetch 2 ,mem_sdp_remote_cid 
-0x4f24 019393 copy pdata ,temp 
-0x4f25 019394 branch l2cap_send_config_rsp 
-:      019395 l2cap_proc_signal_config_req_hid_ctrl:
-0x4f26 019396 copy contw ,timeup 
-0x4f27 019397 fetch 1 ,mem_hid_control_state 
-0x4f28 019398 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x4f29 019399 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x4f2a 019401 store 1 ,mem_hid_control_state 
-0x4f2b 019402 copy timeup ,contw 
-0x4f2c 019403 arg l2cap_hid_control_channel ,timeup 
-0x4f2d 019404 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4f2e 019405 copy pdata ,temp 
-0x4f2f 019406 branch l2cap_send_config_rsp 
-:      019407 l2cap_proc_signal_config_req_hid_int:
-0x4f30 019408 copy contw ,timeup 
-0x4f31 019409 fetch 1 ,mem_hid_interrupt_state 
-0x4f32 019410 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x4f33 019411 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x4f34 019413 store 1 ,mem_hid_interrupt_state 
-0x4f35 019414 copy timeup ,contw 
-0x4f36 019415 arg l2cap_hid_interrupt_channel ,timeup 
-0x4f37 019416 fetch 2 ,mem_hid_int_remote_cid 
-0x4f38 019417 copy pdata ,temp 
-0x4f39 019418 branch l2cap_send_config_rsp 
-:      019419 l2cap_proc_signal_config_req_rfcomm:
-0x4f3a 019420 copy contw ,timeup 
-0x4f3b 019421 fetch 1 ,mem_rfcomm_state 
-0x4f3c 019422 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x4f3d 019423 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x4f3e 019425 store 1 ,mem_rfcomm_state 
-0x4f3f 019427 copy timeup ,contw 
-0x4f40 019428 arg l2cap_rfcomm_channel ,timeup 
-0x4f41 019429 fetch 2 ,mem_rfcomm_remote_cid 
-0x4f42 019430 copy pdata ,temp 
-:      019431 l2cap_send_config_rsp:
-0x4f43 019432 bpatchx patch22_3 ,mem_patch22 
-0x4f44 019433 setarg signal_config_rsp 
-0x4f45 019434 istore 1 ,contw 
-0x4f46 019435 copy queue ,pdata 
-0x4f47 019436 istore 1 ,contw 
-0x4f48 019437 setarg 0x0006 
-0x4f49 019438 istore 2 ,contw 
-0x4f4a 019439 copy temp ,pdata 
-0x4f4b 019440 istore 2 ,contw 
-0x4f4c 019441 force 0x00 ,pdata 
-0x4f4d 019442 istore 2 ,contw 
-0x4f4e 019443 force l2cap_config_success ,pdata 
-0x4f4f 019444 istore 2 ,contw 
-0x4f50 019445 force 10 ,pdata 
-0x4f51 019446 iadd regb ,regb 
-0x4f52 019448 storet 2 ,mem_config_req_dest_cid 
-0x4f53 019449 copy queue ,pdata 
-0x4f54 019450 store 1 ,mem_config_identifier 
-0x4f55 019451 force l2cap_sdp_channel ,pdata 
-0x4f56 019452 icompare 0xff ,timeup 
-0x4f57 019453 branch l2cap_send_config_rsp_is_sdp ,true 
-0x4f58 019454 increase 1 ,pdata 
-:      019455 l2cap_send_config_rsp_is_sdp:
-0x4f59 019457 rtn 
-:      019458 l2cap_check_channel_state:
-0x4f5a 019459 disable user 
-0x4f5b 019460 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x4f5c 019461 rtnbit0 l2cap_channel_state_conn_req ,pdata 
-0x4f5d 019462 rtnbit0 l2cap_channel_state_conn_res ,pdata 
-0x4f5e 019463 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x4f5f 019464 copy contr ,contw 
-0x4f60 019465 increase -1 ,contw 
-0x4f61 019466 istore 1 ,contw 
-0x4f62 019467 enable user 
-0x4f63 019468 rtn 
-:      019469 l2cap_send_config_req:
-:      019470 l2cap_send_config_req_sdp:
-0x4f64 019471 fetch 1 ,mem_sdp_state 
-0x4f65 019472 call l2cap_check_channel_state 
-0x4f66 019473 nbranch l2cap_send_config_req_rfcomm ,user 
-0x4f67 019474 jam l2cap_sdp_channel ,mem_send_config_req 
-0x4f68 019475 fetch 2 ,mem_sdp_remote_cid 
-0x4f69 019476 store 2 ,mem_config_req_dest_cid 
-0x4f6a 019477 branch l2cap_generate_config_req 
-:      019478 l2cap_send_config_req_rfcomm:
-0x4f6b 019479 fetch 1 ,mem_rfcomm_state 
-0x4f6c 019480 call l2cap_check_channel_state 
-0x4f6d 019481 nbranch l2cap_send_config_req_hid_ctrl ,user 
-0x4f6e 019482 jam l2cap_rfcomm_channel ,mem_send_config_req 
-0x4f6f 019483 fetch 2 ,mem_rfcomm_remote_cid 
-0x4f70 019484 store 2 ,mem_config_req_dest_cid 
-0x4f71 019485 branch l2cap_generate_config_req 
-:      019486 l2cap_send_config_req_hid_ctrl:
-0x4f72 019487 fetch 1 ,mem_hid_control_state 
-0x4f73 019488 call l2cap_check_channel_state 
-0x4f74 019489 nbranch l2cap_send_config_req_hid_int ,user 
-0x4f75 019490 jam l2cap_hid_control_channel ,mem_send_config_req 
-0x4f76 019491 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4f77 019492 store 2 ,mem_config_req_dest_cid 
-0x4f78 019493 branch l2cap_generate_config_req 
-:      019494 l2cap_send_config_req_hid_int:
-0x4f79 019495 fetch 1 ,mem_hid_interrupt_state 
-0x4f7a 019496 call l2cap_check_channel_state 
-0x4f7b 019497 nrtn user 
-0x4f7c 019498 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
-0x4f7d 019499 fetch 2 ,mem_hid_int_remote_cid 
-0x4f7e 019500 store 2 ,mem_config_req_dest_cid 
-:      019503 l2cap_generate_config_req:
-0x4f7f 019504 bpatchx patch22_4 ,mem_patch22 
-0x4f80 019505 call l2cap_get_req_id 
-0x4f81 019506 call l2cap_malloc_signal_channel 
-0x4f82 019507 force 0 ,regb 
-0x4f83 019508 call l2cap_get_signal_tx_payload 
-0x4f84 019509 force signal_config_req ,pdata 
-0x4f85 019510 istore 1 ,contw 
-0x4f86 019511 fetch 1 ,mem_ml2cap_comm_id 
-0x4f87 019512 istore 1 ,contw 
-0x4f88 019513 setarg 0x0008 
-0x4f89 019514 istore 2 ,contw 
-0x4f8a 019515 fetch 2 ,mem_config_req_dest_cid 
-0x4f8b 019516 istore 2 ,contw 
-0x4f8c 019517 setarg 0x0000 
-0x4f8d 019518 istore 2 ,contw 
-0x4f8e 019519 force 1 ,pdata 
-0x4f8f 019520 istore 1 ,contw 
-0x4f90 019521 force 2 ,pdata 
-0x4f91 019522 istore 1 ,contw 
-0x4f92 019523 fetch 1 ,mem_send_config_req 
-0x4f93 019524 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
-0x4f94 019525 setarg l2cap_config_mtu_sdp 
-0x4f95 019526 istore 2 ,contw 
-0x4f96 019527 branch l2cap_generate_config_req_done 
-:      019528 l2cap_generate_config_req_rfcomm:
-0x4f97 019529 setarg l2cap_config_mtu_rfcomm 
-0x4f98 019530 istore 2 ,contw 
-:      019531 l2cap_generate_config_req_done:
-0x4f99 019532 arg 0x0c ,temp 
-0x4f9a 019533 storet 2 ,mem_l2cap_signal_tx_length 
-0x4f9b 019534 call l2cap_get_signal_tx_buff 
-0x4f9c 019535 fetch 2 ,mem_l2cap_signal_tx_length 
-0x4f9d 019536 istore 2 ,contw 
-0x4f9e 019537 force l2cap_signal_channel ,pdata 
-0x4f9f 019538 istore 2 ,contw 
-0x4fa0 019539 jam 0 ,mem_send_config_req 
-:      019540 l2cap_proc_signal_config_req_rtn:
-0x4fa1 019541 branch l2cap_process_one_signal_rtn 
-:      019543 l2cap_proc_signal_config_rsp:
-0x4fa2 019544 increase 1 ,contr 
-0x4fa3 019545 ifetch 2 ,contr 
-0x4fa4 019546 copy pdata ,rega 
-0x4fa5 019547 copy regc ,pdata 
-0x4fa6 019548 isub rega ,regc 
-0x4fa7 019549 ifetch 2 ,contr 
-0x4fa8 019550 copy pdata ,rega 
-0x4fa9 019551 bpatchx patch22_5 ,mem_patch22 
-0x4faa 019552 setarg l2cap_sdp_channel 
-0x4fab 019553 isub rega ,null 
-0x4fac 019554 branch l2cap_proc_signal_config_rsp_sdp ,zero 
-0x4fad 019555 setarg l2cap_rfcomm_channel 
-0x4fae 019556 isub rega ,null 
-0x4faf 019557 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
-0x4fb0 019558 setarg l2cap_hid_control_channel 
-0x4fb1 019559 isub rega ,null 
-0x4fb2 019560 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
-0x4fb3 019561 setarg l2cap_hid_interrupt_channel 
-0x4fb4 019562 isub rega ,null 
-0x4fb5 019563 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
-0x4fb6 019564 increase 2 ,contr 
-0x4fb7 019565 ifetch 2 ,contr 
-0x4fb8 019566 iforce null 
-0x4fb9 019567 branch l2cap_process_one_signal_rtn 
-:      019568 l2cap_proc_signal_config_rsp_sdp:
-0x4fba 019569 fetch 1 ,mem_sdp_state 
-0x4fbb 019570 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
-0x4fbc 019571 store 1 ,mem_sdp_state 
-0x4fbd 019572 branch l2cap_process_one_signal_rtn 
-:      019573 l2cap_proc_signal_config_rsp_rfcomm:
-0x4fbe 019574 fetch 1 ,mem_rfcomm_state 
-0x4fbf 019575 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
-0x4fc0 019576 store 1 ,mem_rfcomm_state 
-0x4fc1 019577 branch l2cap_process_one_signal_rtn 
-:      019578 l2cap_proc_signal_config_rsp_hid_ctrl:
-0x4fc2 019579 fetch 1 ,mem_hid_control_state 
-0x4fc3 019580 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
-0x4fc4 019581 store 1 ,mem_hid_control_state 
-0x4fc5 019582 branch l2cap_process_one_signal_rtn 
-:      019583 l2cap_proc_signal_config_rsp_hid_int:
-0x4fc6 019584 fetch 1 ,mem_hid_interrupt_state 
-0x4fc7 019585 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
-0x4fc8 019586 store 1 ,mem_hid_interrupt_state 
-0x4fc9 019587 jam bt_evt_hid_connected ,mem_fifo_temp 
-0x4fca 019588 branch ui_ipc_send_event 
-:      019592 l2cap_proc_signal_disconnect_req:
-0x4fcb 019593 ifetch 1 ,contr 
-0x4fcc 019594 copy pdata ,queue 
-0x4fcd 019595 ifetch 2 ,contr 
-0x4fce 019596 copy pdata ,rega 
-0x4fcf 019597 copy regc ,pdata 
-0x4fd0 019598 isub rega ,regc 
-0x4fd1 019599 ifetch 2 ,contr 
-0x4fd2 019600 copy pdata ,rega 
-0x4fd3 019601 ifetch 2 ,contr 
-0x4fd4 019602 copy pdata ,timeup 
-0x4fd5 019603 copy rega ,temp 
-0x4fd6 019604 call save_cont_pointers 
-0x4fd7 019605 bpatchx patch22_6 ,mem_patch22 
-0x4fd8 019606 setarg l2cap_sdp_channel 
-0x4fd9 019607 isub temp ,null 
-0x4fda 019608 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
-0x4fdb 019609 setarg l2cap_rfcomm_channel 
-0x4fdc 019610 isub temp ,null 
-0x4fdd 019611 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
-0x4fde 019612 setarg l2cap_hid_control_channel 
-0x4fdf 019613 isub temp ,null 
-0x4fe0 019614 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
-0x4fe1 019615 setarg l2cap_hid_interrupt_channel 
-0x4fe2 019616 isub temp ,null 
-0x4fe3 019617 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
-0x4fe4 019618 call l2cap_reject_command 
-0x4fe5 019619 branch l2cap_proc_signal_disconnect_req_err_rtn 
-:      019620 l2cap_proc_signal_disconnect_req_hid_ctrl:
-0x4fe6 019621 copy timeup ,temp 
-0x4fe7 019622 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4fe8 019623 isub temp ,null 
-0x4fe9 019624 branch l2cap_disconnect_hid_control_now ,zero 
-0x4fea 019625 call l2cap_reject_command 
-0x4feb 019626 branch l2cap_proc_signal_disconnect_req_err_rtn 
-:      019627 l2cap_proc_signal_disconnect_req_hid_int:
-0x4fec 019628 copy timeup ,temp 
-0x4fed 019629 fetch 2 ,mem_hid_int_remote_cid 
-0x4fee 019630 isub temp ,null 
-0x4fef 019631 branch l2cap_disconnect_hid_interrupt_now ,zero 
-0x4ff0 019632 call l2cap_reject_command 
-0x4ff1 019633 branch l2cap_proc_signal_disconnect_req_err_rtn 
-:      019635 l2cap_proc_signal_disconnect_req_sdp:
-0x4ff2 019636 copy timeup ,temp 
-0x4ff3 019637 fetch 2 ,mem_sdp_remote_cid 
-0x4ff4 019638 isub temp ,null 
-0x4ff5 019639 branch l2cap_disconnect_sdp_now ,zero 
-0x4ff6 019640 call l2cap_reject_command 
-0x4ff7 019641 branch l2cap_proc_signal_disconnect_req_err_rtn 
-:      019642 l2cap_disconnect_hid_control_now:
-0x4ff8 019643 call l2cap_reset_hid_ctrl_state 
-0x4ff9 019644 branch l2cap_send_disconnect_rsp_pkt 
-:      019645 l2cap_disconnect_hid_interrupt_now:
-0x4ffa 019646 call l2cap_reset_hid_int_state 
-0x4ffb 019647 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x4ffc 019648 branch l2cap_send_disconnect_rsp_pkt ,blank 
-0x4ffd 019656 branch l2cap_send_disconnect_rsp_pkt 
-:      019658 l2cap_disconnect_sdp_now:
-0x4ffe 019659 call l2cap_reset_sdp_channel_state 
-0x4fff 019660 fetch 1 ,mem_upper_sm_ss 
-0x5000 019661 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
-0x5001 019664 branch l2cap_send_disconnect_rsp_pkt 
-:      019665 l2cap_proc_signal_disconnect_req_rfcomm:
-0x5002 019666 copy timeup ,temp 
-0x5003 019667 fetch 2 ,mem_rfcomm_remote_cid 
-0x5004 019668 isub temp ,null 
-0x5005 019669 branch l2cap_disconnect_rfcomm_now ,zero 
-0x5006 019670 call l2cap_reject_command 
-0x5007 019671 branch l2cap_proc_signal_disconnect_req_err_rtn 
-:      019672 l2cap_disconnect_rfcomm_now:
-0x5008 019673 call l2cap_reset_rfcomm_channel_state 
-0x5009 019674 branch l2cap_send_disconnect_rsp_pkt 
-:      019675 l2cap_send_disconnect_rsp_pkt:
-0x500a 019676 call load_cont_pointers 
-0x500b 019677 setarg signal_disconnect_rsp 
-0x500c 019678 istore 1 ,contw 
-0x500d 019679 copy queue ,pdata 
-0x500e 019680 istore 1 ,contw 
-0x500f 019681 setarg 0x0004 
-0x5010 019682 istore 2 ,contw 
-0x5011 019683 copy rega ,pdata 
-0x5012 019684 istore 2 ,contw 
-0x5013 019685 copy timeup ,pdata 
-0x5014 019686 istore 2 ,contw 
-0x5015 019687 force 8 ,pdata 
-0x5016 019688 branch l2cap_proc_signal_disconnect_req_rtn 
-:      019689 l2cap_proc_signal_disconnect_req_err_rtn:
-0x5017 019690 call load_cont_pointers 
-0x5018 019691 branch l2cap_proc_signal_disconnect_req_rtn 
-:      019692 l2cap_proc_signal_disconnect_req_rtn:
-0x5019 019693 iadd regb ,regb 
-0x501a 019694 branch l2cap_process_one_signal_rtn 
-:      019695 l2cap_proc_signal_disconnect_rsp:
-0x501b 019696 ifetch 1 ,contr 
-0x501c 019697 copy pdata ,queue 
-0x501d 019698 ifetch 2 ,contr 
-0x501e 019699 copy pdata ,rega 
-0x501f 019700 copy regc ,pdata 
-0x5020 019701 isub rega ,regc 
-0x5021 019702 ifetch 2 ,contr 
-0x5022 019703 copy pdata ,timeup 
-0x5023 019704 ifetch 2 ,contr 
-0x5024 019705 copy pdata ,temp 
-0x5025 019706 call save_cont_pointers 
-0x5026 019707 bpatchx patch22_7 ,mem_patch22 
-0x5027 019708 setarg l2cap_sdp_channel 
-0x5028 019709 isub temp ,null 
-0x5029 019710 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
-0x502a 019711 setarg l2cap_rfcomm_channel 
-0x502b 019712 isub temp ,null 
-0x502c 019713 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
-0x502d 019714 setarg l2cap_hid_control_channel 
-0x502e 019715 isub temp ,null 
-0x502f 019716 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
-0x5030 019717 setarg l2cap_hid_interrupt_channel 
-0x5031 019718 isub temp ,null 
-0x5032 019719 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
-0x5033 019720 call l2cap_reject_command 
-0x5034 019721 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
-:      019722 l2cap_proc_signal_disconnect_rsp_sdp:
-0x5035 019723 copy temp ,rega 
-0x5036 019724 copy timeup ,temp 
-0x5037 019725 fetch 2 ,mem_sdp_remote_cid 
-0x5038 019726 isub temp ,null 
-0x5039 019727 call l2cap_reset_sdp_channel_state ,zero 
-0x503a 019728 branch l2cap_proc_signal_disconnect_rsp_rtn 
-:      019729 l2cap_proc_signal_disconnect_rsp_rfcomm:
-0x503b 019730 copy temp ,rega 
-0x503c 019731 copy timeup ,temp 
-0x503d 019732 fetch 2 ,mem_rfcomm_remote_cid 
-0x503e 019733 isub temp ,null 
-0x503f 019734 call l2cap_reset_rfcomm_channel_state ,zero 
-0x5040 019735 branch l2cap_proc_signal_disconnect_rsp_rtn 
-:      019736 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
-0x5041 019737 copy temp ,rega 
-0x5042 019738 copy timeup ,temp 
-0x5043 019739 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x5044 019740 isub temp ,null 
-0x5045 019741 call l2cap_reset_hid_ctrl_state ,zero 
-0x5046 019742 branch l2cap_proc_signal_disconnect_rsp_rtn 
-:      019743 l2cap_proc_signal_disconnect_rsp_hid_int:
-0x5047 019744 copy temp ,rega 
-0x5048 019745 copy timeup ,temp 
-0x5049 019746 fetch 2 ,mem_hid_int_remote_cid 
-0x504a 019747 isub temp ,null 
-0x504b 019748 call l2cap_reset_hid_int_state ,zero 
-0x504c 019749 branch l2cap_proc_signal_disconnect_rsp_rtn 
-:      019750 l2cap_proc_signal_disconnect_rsp_rtn:
-0x504d 019751 call load_cont_pointers 
-0x504e 019752 branch l2cap_process_one_signal_rtn 
-:      019753 l2cap_proc_signal_disconnect_rsp_err_rtn:
-0x504f 019754 branch l2cap_process_one_signal_rtn 
-:      019757 l2cap_proc_signal_echo_req:
-0x5050 019758 ifetch 1 ,contr 
-0x5051 019759 copy pdata ,queue 
-0x5052 019760 ifetch 2 ,contr 
-0x5053 019761 copy pdata ,rega 
-0x5054 019762 iadd contr ,contr 
-0x5055 019763 setarg 9 
-0x5056 019764 istore 1 ,contw 
-0x5057 019765 copy queue ,pdata 
-0x5058 019766 istore 1 ,contw 
-0x5059 019767 force 0x0000 ,pdata 
-0x505a 019768 istore 2 ,contw 
-0x505b 019769 force 4 ,pdata 
-0x505c 019770 iadd regb ,regb 
-0x505d 019771 copy regc ,pdata 
-0x505e 019772 isub rega ,regc 
-0x505f 019773 branch l2cap_process_one_signal_rtn 
-:      019774 l2cap_proc_signal_echo_rsp:
-0x5060 019775 branch l2cap_process_one_signal_rtn 
-:      019777 l2cap_proc_signal_info_rsp:
-0x5061 019778 branch l2cap_process_one_signal_rtn 
-:      019779 l2cap_reject_command:
-0x5062 019780 force 0 ,regb 
-0x5063 019781 call l2cap_get_signal_tx_payload 
-0x5064 019782 setarg signal_cmd_reject 
-0x5065 019783 istore 1 ,contw 
-0x5066 019784 copy queue ,pdata 
-0x5067 019785 istore 1 ,contw 
-0x5068 019786 setarg 2 
-0x5069 019787 istore 2 ,contw 
-0x506a 019788 setarg cmd_not_understood 
-0x506b 019789 istore 2 ,contw 
-0x506c 019790 increase 6 ,regb 
-0x506d 019791 arg 4 ,regc 
-0x506e 019792 branch l2cap_process_one_signal_rtn 
-:      019796 l2cap_reset_rfcomm_channel_state:
-0x506f 019797 setarg 0 
-0x5070 019798 store 2 ,mem_rfcomm_tx_pkt_length 
-0x5071 019799 store 2 ,mem_rfcomm_remote_cid 
-0x5072 019800 jam 0 ,mem_rfcomm_state 
-0x5073 019801 rtn 
-:      019802 l2cap_reset_sdp_channel_state:
-0x5074 019803 setarg 0 
-0x5075 019804 store 2 ,mem_sdp_tx_pkt_length 
-0x5076 019805 store 2 ,mem_sdp_remote_cid 
-0x5077 019806 jam 0 ,mem_sdp_state 
-0x5078 019807 rtn 
-:      019808 l2cap_reset_hid_ctrl_state:
-0x5079 019809 setarg 0 
-0x507a 019810 store 2 ,mem_hid_ctrl_remote_cid 
-0x507b 019811 jam 0 ,mem_hid_control_state 
-0x507c 019812 fetch 1 ,mem_hid_interrupt_state 
-0x507d 019813 beq 0 ,l2cap_reset_hid_disconnected 
-0x507e 019814 rtn 
-:      019816 l2cap_reset_hid_int_state:
-0x507f 019817 setarg 0 
-0x5080 019818 store 2 ,mem_hid_int_remote_cid 
-0x5081 019819 jam 0 ,mem_hid_interrupt_state 
-0x5082 019820 fetch 1 ,mem_hid_control_state 
-0x5083 019821 beq 0 ,l2cap_reset_hid_disconnected 
-0x5084 019822 rtn 
-:      019824 l2cap_reset_hid_disconnected:
-0x5085 019825 jam bt_evt_hid_disconnected ,mem_fifo_temp 
-0x5086 019826 branch ui_ipc_send_event 
-:      019828 l2cap_disconnect_interrupt_req:
-0x5087 019829 fetch 1 ,mem_control_tasks 
-0x5088 019830 set0 l2cap_disconnect_interrupt ,pdata 
-0x5089 019831 store 1 ,mem_control_tasks 
-0x508a 019832 fetch 2 ,mem_hid_int_remote_cid 
-0x508b 019833 rtn blank 
-0x508c 019834 call l2cap_malloc_signal_channel 
-0x508d 019835 fetch 2 ,mem_hid_int_remote_cid 
-0x508e 019836 copy pdata ,rega 
-0x508f 019837 force l2cap_hid_interrupt_channel ,regb 
-0x5090 019838 branch l2cap_generate_disconnect_req 
-:      019839 l2cap_disconnect_control_req:
-0x5091 019840 fetch 1 ,mem_control_tasks 
-0x5092 019841 set0 l2cap_disconnect_control ,pdata 
-0x5093 019842 store 1 ,mem_control_tasks 
-0x5094 019843 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x5095 019844 rtn blank 
-0x5096 019845 call l2cap_malloc_signal_channel 
-0x5097 019846 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x5098 019847 copy pdata ,rega 
-0x5099 019848 force l2cap_hid_control_channel ,regb 
-:      019849 l2cap_generate_disconnect_req:
-0x509a 019850 call l2cap_get_req_id 
-0x509b 019851 call l2cap_get_signal_tx_payload 
-0x509c 019852 force signal_disconnect_req ,pdata 
-0x509d 019853 istore 1 ,contw 
-0x509e 019854 fetch 1 ,mem_ml2cap_comm_id 
-0x509f 019855 istore 1 ,contw 
-0x50a0 019856 setarg 0x0004 
-0x50a1 019857 istore 2 ,contw 
-0x50a2 019858 copy rega ,pdata 
-0x50a3 019859 istore 2 ,contw 
-0x50a4 019860 copy regb ,pdata 
-0x50a5 019861 istore 2 ,contw 
-0x50a6 019862 force 0x08 ,temp 
-0x50a7 019863 branch ml2cap_send_signal 
-:      019865 ml2cap_send_signal_connect_req:
-0x50a8 019866 bpatchx patch23_0 ,mem_patch23 
-0x50a9 019867 call l2cap_get_req_id 
-0x50aa 019868 call l2cap_get_signal_tx_payload 
-0x50ab 019869 setarg signal_connect_req 
-0x50ac 019870 istore 1 ,contw 
-0x50ad 019871 fetch 1 ,mem_ml2cap_comm_id 
-0x50ae 019872 istore 1 ,contw 
-0x50af 019873 setarg 0x0004 
-0x50b0 019874 istore 2 ,contw 
-0x50b1 019875 copy temp ,pdata 
-0x50b2 019876 istore 2 ,contw 
-0x50b3 019877 copy timeup ,pdata 
-0x50b4 019878 istore 2 ,contw 
-0x50b5 019879 arg 8 ,temp 
-0x50b6 019880 branch ml2cap_send_signal 
-:      019881 ml2cap_send_signal_config_req:
-0x50b7 019882 bpatchx patch23_1 ,mem_patch23 
-0x50b8 019883 call l2cap_get_req_id 
-0x50b9 019884 call l2cap_get_signal_tx_payload 
-0x50ba 019885 setarg signal_config_req 
-0x50bb 019886 istore 1 ,contw 
-0x50bc 019887 fetch 1 ,mem_ml2cap_comm_id 
-0x50bd 019888 istore 1 ,contw 
-0x50be 019889 setarg 0x0008 
-0x50bf 019890 istore 2 ,contw 
-0x50c0 019892 copy temp ,pdata 
-0x50c1 019894 istore 2 ,contw 
-0x50c2 019895 setarg 0x0000 
-0x50c3 019896 istore 2 ,contw 
-0x50c4 019897 setarg 0x01 
-0x50c5 019898 istore 1 ,contw 
-0x50c6 019899 setarg 0x02 
-0x50c7 019900 istore 1 ,contw 
-0x50c8 019901 setarg l2cap_config_mtu_rfcomm 
-0x50c9 019902 istore 2 ,contw 
-0x50ca 019903 arg 0xc ,temp 
-0x50cb 019904 branch ml2cap_send_signal 
-:      019905 ml2cap_send_signal_disconn_req:
-0x50cc 019906 bpatchx patch23_2 ,mem_patch23 
-0x50cd 019907 call l2cap_get_req_id 
-0x50ce 019908 call l2cap_get_signal_tx_payload 
-0x50cf 019909 setarg signal_disconnect_req 
-0x50d0 019910 istore 1 ,contw 
-0x50d1 019911 fetch 1 ,mem_ml2cap_comm_id 
-0x50d2 019912 increase 1 ,pdata 
-0x50d3 019913 copy contw ,rega 
-0x50d4 019914 store 1 ,mem_ml2cap_comm_id 
-0x50d5 019915 copy rega ,contw 
-0x50d6 019916 istore 1 ,contw 
-0x50d7 019917 setarg 0x0004 
-0x50d8 019918 istore 2 ,contw 
-0x50d9 019919 copy temp ,pdata 
-0x50da 019920 istore 2 ,contw 
-0x50db 019921 copy timeup ,pdata 
-0x50dc 019922 istore 2 ,contw 
-0x50dd 019923 arg 0x8 ,temp 
-:      019926 ml2cap_send_signal:
-0x50de 019927 storet 2 ,mem_l2cap_signal_tx_length 
-0x50df 019928 copy temp ,pdata 
-0x50e0 019929 branch l2cap_malloc_discard ,blank 
-0x50e1 019930 call l2cap_get_signal_tx_buff 
-0x50e2 019931 fetch 2 ,mem_l2cap_signal_tx_length 
-0x50e3 019932 istore 2 ,contw 
-0x50e4 019933 force l2cap_signal_channel ,pdata 
-0x50e5 019934 istore 2 ,contw 
-0x50e6 019935 rtn 
-:      019937 msdp_send_req_done:
-0x50e7 019938 fetch 2 ,mem_sdp_tx_pkt_length 
-0x50e8 019939 branch assert ,blank 
-0x50e9 019940 call l2cap_get_sdp_tx_buff 
-0x50ea 019941 fetch 2 ,mem_sdp_tx_pkt_length 
-0x50eb 019942 istore 2 ,contw 
-0x50ec 019943 fetch 2 ,mem_sdp_remote_cid 
-0x50ed 019944 istore 2 ,contw 
-0x50ee 019945 rtn 
-:      019946 ml2cap_rx_multiplexing:
-0x50ef 019947 fetch 2 ,mem_l2cap_rx_pkt_length 
-0x50f0 019948 branch l2cap_rx_reset_state ,blank 
-0x50f1 019949 bpatchx patch23_3 ,mem_patch23 
-0x50f2 019950 fetch 1 ,mem_l2cap_rx_cid 
-0x50f3 019951 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
-0x50f4 019952 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
-0x50f5 019953 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
-0x50f6 019954 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
-0x50f7 019955 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
-0x50f8 019956 branch l2cap_rx_reset_state 
-:      019958 ml2cap_call_proc_signal:
-0x50f9 019959 bpatchx patch23_4 ,mem_patch23 
-0x50fa 019960 call l2cap_malloc_signal_channel 
-0x50fb 019961 force 0 ,regb 
-0x50fc 019962 call l2cap_get_signal_tx_payload 
-0x50fd 019963 copy pdata ,contw 
-0x50fe 019964 fetch 2 ,mem_l2cap_rx_pkt_length 
-0x50ff 019965 copy pdata ,regc 
-0x5100 019966 fetch 2 ,mem_l2cap_payload_ptr 
-0x5101 019967 iforce contr 
-:      019968 ml2cap_proc_one_comm_loop:
-0x5102 019969 call ml2cap_proc_one_comm 
-0x5103 019970 increase -4 ,regc 
-0x5104 019971 nbranch ml2cap_proc_one_comm_loop ,zero 
-0x5105 019972 copy regb ,temp 
-0x5106 019973 call ml2cap_send_signal 
-0x5107 019974 branch l2cap_rx_reset_state 
-:      019976 ml2cap_proc_one_comm:
-0x5108 019977 ifetch 1 ,contr 
-0x5109 019978 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
-0x510a 019979 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
-0x510b 019980 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
-0x510c 019981 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
-0x510d 019982 beq signal_config_req ,ml2cap_proc_signal_config_req 
-0x510e 019983 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
-0x510f 019984 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
-0x5110 019985 beq signal_echo_req ,l2cap_proc_signal_echo_req 
-0x5111 019986 beq signal_info_req ,ml2cap_proc_signal_info_req 
-0x5112 019987 branch ml2cap_proc_send_reject 
-:      019989 ml2cap_proc_signal_connect_req:
-0x5113 019990 call save_cont_pointers 
-0x5114 019992 call load_cont_pointers 
-0x5115 019993 branch l2cap_proc_signal_connect_req 
-:      019994 ml2cap_proc_signal_cmd_reject:
-0x5116 019995 ifetch 1 ,contr 
-0x5117 019996 copy pdata ,queue 
-0x5118 019997 ifetch 2 ,contr 
-0x5119 019998 copy pdata ,rega 
-0x511a 019999 copy regc ,pdata 
-0x511b 020000 isub rega ,regc 
-:      020001 mvptr:
-0x511c 020002 ifetch 1 ,contr 
-0x511d 020003 increase -1 ,rega 
-0x511e 020004 nbranch mvptr ,zero 
-0x511f 020005 rtn 
-:      020006 ml2cap_proc_signal_connect_rsp:
-0x5120 020007 ifetch 1 ,contr 
-0x5121 020008 copy pdata ,queue 
-0x5122 020009 ifetch 2 ,contr 
-0x5123 020010 copy pdata ,rega 
-0x5124 020011 ifetch 2 ,contr 
-0x5125 020012 copy pdata ,timeup 
-0x5126 020013 ifetch 2 ,contr 
-0x5127 020014 copy pdata ,temp 
-0x5128 020015 ifetch 2 ,contr 
-0x5129 020016 sub pdata ,0 ,null 
-0x512a 020017 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
-0x512b 020018 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
-0x512c 020019 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
-0x512d 020020 branch ml2cap_proc_signal_connect_rsp_mnosucc 
-:      020021 ml2cap_proc_signal_connect_refused_result:
-0x512e 020022 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
-0x512f 020023 call ui_ipc_send_event 
-:      020024 ml2cap_proc_signal_connect_rsp_mnosucc:
-0x5130 020025 ifetch 2 ,contr 
-0x5131 020026 branch mnosucc 
-:      020027 ml2cap_proc_signal_connect_rsp_sucessful:
-0x5132 020028 call save_cont_pointers 
-0x5133 020032 bpatchx patch23_5 ,mem_patch23 
-0x5134 020033 setarg l2cap_sdp_channel 
-0x5135 020034 isub temp ,null 
-0x5136 020035 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
-0x5137 020036 setarg l2cap_rfcomm_channel 
-0x5138 020037 isub temp ,null 
-0x5139 020038 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
-0x513a 020039 setarg l2cap_hid_interrupt_channel 
-0x513b 020040 isub temp ,null 
-0x513c 020041 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
-0x513d 020042 setarg l2cap_hid_control_channel 
-0x513e 020043 isub temp ,null 
-0x513f 020044 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
-0x5140 020045 branch mnosucc 
-:      020046 ml2cap_proc_signal_connect_rsp_sdp:
-0x5141 020047 copy timeup ,pdata 
-0x5142 020048 store 2 ,mem_sdp_remote_cid 
-0x5143 020049 fetch 1 ,mem_sdp_state 
-0x5144 020050 set1 l2cap_channel_state_conn_res 
-0x5145 020051 store 1 ,mem_sdp_state 
-0x5146 020052 branch mnosucc1 
-:      020053 ml2cap_proc_signal_connect_rsp_rfcomm:
-0x5147 020054 copy timeup ,pdata 
-0x5148 020055 store 2 ,mem_rfcomm_remote_cid 
-0x5149 020056 fetch 1 ,mem_rfcomm_state 
-0x514a 020057 set1 l2cap_channel_state_conn_res 
-0x514b 020058 store 1 ,mem_rfcomm_state 
-0x514c 020059 branch mnosucc1 
-:      020060 ml2cap_proc_signal_connect_rsp_hid_ctrl:
-0x514d 020061 copy timeup ,pdata 
-0x514e 020062 store 2 ,mem_hid_ctrl_remote_cid 
-0x514f 020063 fetch 1 ,mem_hid_control_state 
-0x5150 020064 set1 l2cap_channel_state_conn_res 
-0x5151 020065 store 1 ,mem_hid_control_state 
-0x5152 020066 branch mnosucc1 
-:      020067 ml2cap_proc_signal_connect_rsp_hid_int:
-0x5153 020068 copy timeup ,pdata 
-0x5154 020069 store 2 ,mem_hid_int_remote_cid 
-0x5155 020070 fetch 1 ,mem_hid_interrupt_state 
-0x5156 020071 set1 l2cap_channel_state_conn_res 
-0x5157 020072 store 1 ,mem_hid_interrupt_state 
-:      020075 mnosucc1:
-0x5158 020076 call load_cont_pointers 
-:      020077 mnosucc:
-0x5159 020078 copy regc ,pdata 
-0x515a 020079 isub rega ,regc 
-0x515b 020080 rtn 
-:      020082 ml2cap_proc_signal_config_rsp:
-0x515c 020083 ifetch 1 ,contr 
-0x515d 020084 copy pdata ,queue 
-0x515e 020085 ifetch 2 ,contr 
-0x515f 020086 copy pdata ,rega 
-0x5160 020087 copy regc ,pdata 
-0x5161 020088 isub rega ,regc 
-0x5162 020089 ifetch 2 ,contr 
-0x5163 020090 copy pdata ,timeup 
-0x5164 020091 ifetch 2 ,contr 
-0x5165 020092 ifetch 2 ,contr 
-0x5166 020093 nbranch mcrsdone1 ,blank 
-0x5167 020094 call save_cont_pointers 
-0x5168 020098 copy timeup ,temp 
-0x5169 020099 bpatchx patch23_6 ,mem_patch23 
-0x516a 020100 setarg l2cap_sdp_channel 
-0x516b 020101 isub temp ,null 
-0x516c 020102 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
-0x516d 020103 setarg l2cap_rfcomm_channel 
-0x516e 020104 isub temp ,null 
-0x516f 020105 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
-0x5170 020106 setarg l2cap_hid_control_channel 
-0x5171 020107 isub temp ,null 
-0x5172 020108 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
-0x5173 020109 setarg l2cap_hid_interrupt_channel 
-0x5174 020110 isub temp ,null 
-0x5175 020111 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
-:      020112 ml2cap_proc_signal_config_rsp_sdp:
-0x5176 020113 fetch 1 ,mem_sdp_state 
-0x5177 020114 set1 l2cap_channel_state_rcv_cfg_res 
-0x5178 020115 store 1 ,mem_sdp_state 
-0x5179 020116 rtn 
-:      020117 ml2cap_proc_signal_config_rsp_rfcomm:
-0x517a 020118 fetch 1 ,mem_rfcomm_state 
-0x517b 020119 set1 l2cap_channel_state_rcv_cfg_res 
-0x517c 020120 store 1 ,mem_rfcomm_state 
-0x517d 020121 rtn 
-:      020122 ml2cap_proc_signal_config_rsp_hid_ctrl:
-0x517e 020123 fetch 1 ,mem_hid_control_state 
-0x517f 020124 set1 l2cap_channel_state_rcv_cfg_res 
-0x5180 020125 store 1 ,mem_hid_control_state 
-0x5181 020126 rtn 
-:      020127 ml2cap_proc_signal_config_rsp_hid_int:
-0x5182 020128 fetch 1 ,mem_hid_interrupt_state 
-0x5183 020129 set1 l2cap_channel_state_rcv_cfg_res 
-0x5184 020130 store 1 ,mem_hid_interrupt_state 
-0x5185 020131 jam bt_evt_hid_connected ,mem_fifo_temp 
-0x5186 020132 branch ui_ipc_send_event 
-:      020135 mcfrsdone:
-0x5187 020136 call load_cont_pointers 
-:      020137 mcrsdone1:
-0x5188 020138 increase -6 ,rega 
-:      020139 mloop2:
-0x5189 020140 branch mcrsdone ,zero 
-0x518a 020141 increase 1 ,contr 
-0x518b 020142 increase -1 ,rega 
-0x518c 020143 branch mloop2 
-:      020144 mcrsdone:
-0x518d 020145 rtn 
-:      020146 ml2cap_proc_signal_config_req:
-0x518e 020147 ifetch 1 ,contr 
-0x518f 020148 copy pdata ,queue 
-0x5190 020149 ifetch 2 ,contr 
-0x5191 020150 copy pdata ,rega 
-0x5192 020151 copy regc ,pdata 
-0x5193 020152 isub rega ,regc 
-0x5194 020153 ifetch 2 ,contr 
-0x5195 020154 increase 2 ,contr 
-0x5196 020155 copy pdata ,temp 
-0x5197 020156 setarg signal_config_rsp 
-0x5198 020157 istore 1 ,contw 
-0x5199 020158 copy queue ,pdata 
-0x519a 020159 istore 1 ,contw 
-0x519b 020160 increase 2 ,rega 
-0x519c 020161 copy rega ,pdata 
-0x519d 020162 istore 2 ,contw 
-0x519e 020163 call save_cont_pointers 
-0x519f 020164 bpatchx patch23_7 ,mem_patch23 
-0x51a0 020165 setarg l2cap_sdp_channel 
-0x51a1 020166 isub temp ,null 
-0x51a2 020167 branch ml2cap_proc_signal_config_req_sdp ,zero 
-0x51a3 020168 setarg l2cap_rfcomm_channel 
-0x51a4 020169 isub temp ,null 
-0x51a5 020170 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
-0x51a6 020171 setarg l2cap_hid_control_channel 
-0x51a7 020172 isub temp ,null 
-0x51a8 020173 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
-0x51a9 020174 setarg l2cap_hid_interrupt_channel 
-0x51aa 020175 isub temp ,null 
-0x51ab 020176 branch ml2cap_proc_signal_config_req_hid_int ,zero 
-0x51ac 020177 branch mcfgrq_done 
-:      020178 ml2cap_proc_signal_config_req_sdp:
-0x51ad 020179 fetch 1 ,mem_sdp_state 
-0x51ae 020180 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x51af 020181 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x51b0 020182 store 1 ,mem_sdp_state 
-0x51b1 020183 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
-0x51b2 020184 fetcht 1 ,mem_control_tasks 
-0x51b3 020185 set1 l2cap_init_config_req ,temp 
-0x51b4 020186 storet 1 ,mem_control_tasks 
-0x51b5 020187 copy queue ,pdata 
-0x51b6 020188 increase 1 ,pdata 
-0x51b7 020189 store 1 ,mem_config_identifier 
-0x51b8 020190 fetch 1 ,mem_sdp_state 
-0x51b9 020191 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x51ba 020192 store 1 ,mem_sdp_state 
-:      020193 ml2cap_proc_signal_config_req_sdp_nsndreq:
-0x51bb 020194 fetch 2 ,mem_sdp_remote_cid 
-0x51bc 020195 store 2 ,mem_config_req_dest_cid 
-0x51bd 020196 branch mcfgrq_done 
-:      020197 ml2cap_proc_signal_config_req_rfcomm:
-0x51be 020198 fetch 1 ,mem_rfcomm_state 
-0x51bf 020199 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x51c0 020200 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x51c1 020201 store 1 ,mem_rfcomm_state 
-0x51c2 020202 fetch 2 ,mem_rfcomm_remote_cid 
-0x51c3 020203 branch mcfgrq_done 
-:      020204 ml2cap_proc_signal_config_req_hid_ctrl:
-0x51c4 020205 fetch 1 ,mem_hid_control_state 
-0x51c5 020206 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x51c6 020207 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x51c7 020208 store 1 ,mem_hid_control_state 
-0x51c8 020209 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x51c9 020210 branch mcfgrq_done 
-:      020211 ml2cap_proc_signal_config_req_hid_int:
-0x51ca 020212 fetch 1 ,mem_hid_interrupt_state 
-0x51cb 020213 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
-0x51cc 020214 set1 l2cap_channel_state_snd_cfg_res ,pdata 
-0x51cd 020215 store 1 ,mem_hid_interrupt_state 
-0x51ce 020216 fetch 2 ,mem_hid_int_remote_cid 
-:      020219 mcfgrq_done:
-0x51cf 020220 copy pdata ,timeup 
-0x51d0 020221 call load_cont_pointers 
-0x51d1 020223 copy timeup ,pdata 
-0x51d2 020225 istore 2 ,contw 
-0x51d3 020226 force 0x0000 ,pdata 
-0x51d4 020227 istore 2 ,contw 
-0x51d5 020228 force 0x0000 ,pdata 
-0x51d6 020229 istore 2 ,contw 
-0x51d7 020230 force 10 ,pdata 
-0x51d8 020231 iadd regb ,regb 
-0x51d9 020232 increase -6 ,rega 
-:      020233 mloop1:
-0x51da 020234 branch mcrqdone ,zero 
-0x51db 020235 ifetch 1 ,contr 
-0x51dc 020236 istore 1 ,contw 
-0x51dd 020237 increase 1 ,regb 
-0x51de 020238 increase -1 ,rega 
-0x51df 020239 branch mloop1 
-:      020240 mcrqdone:
-0x51e0 020241 rtn 
-:      020242 ml2cap_proc_signal_disconn_req:
-0x51e1 020243 ifetch 1 ,contr 
-0x51e2 020244 copy pdata ,queue 
-0x51e3 020245 ifetch 2 ,contr 
-0x51e4 020246 copy pdata ,rega 
-0x51e5 020247 copy regc ,pdata 
-0x51e6 020248 isub rega ,regc 
-0x51e7 020250 ifetch 2 ,contr 
-0x51e8 020251 copy pdata ,rega 
-0x51e9 020252 ifetch 2 ,contr 
-0x51ea 020253 copy pdata ,timeup 
-0x51eb 020254 call save_cont_pointers 
-0x51ec 020255 bpatchx patch24_0 ,mem_patch24 
-0x51ed 020256 setarg l2cap_sdp_channel 
-0x51ee 020257 copy rega ,temp 
-0x51ef 020258 isub temp ,null 
-0x51f0 020259 branch ml2cap_proc_signal_disconn_sdp ,zero 
-0x51f1 020260 setarg l2cap_hid_control_channel 
-0x51f2 020261 copy rega ,temp 
-0x51f3 020262 isub temp ,null 
-0x51f4 020263 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
-0x51f5 020264 setarg l2cap_hid_interrupt_channel 
-0x51f6 020265 copy rega ,temp 
-0x51f7 020266 isub temp ,null 
-0x51f8 020267 branch ml2cap_proc_signal_disconn_hid_int ,zero 
-0x51f9 020268 branch mclsrfc 
-:      020269 ml2cap_proc_signal_disconn_sdp:
-0x51fa 020270 setarg 0x0000 
-0x51fb 020271 store 2 ,mem_sdp_tx_pkt_length 
-0x51fc 020272 store 2 ,mem_sdp_remote_cid 
-0x51fd 020273 store 1 ,mem_sdp_state 
-0x51fe 020274 branch mclssdp 
-:      020275 ml2cap_proc_signal_disconn_hid_ctrl:
-0x51ff 020276 call l2cap_reset_hid_ctrl_state 
-0x5200 020277 branch mclssdp 
-:      020278 ml2cap_proc_signal_disconn_hid_int:
-0x5201 020279 call l2cap_reset_hid_int_state 
-0x5202 020285 branch mclssdp 
-:      020286 mclsrfc:
-0x5203 020287 setarg 0x0000 
-0x5204 020288 store 2 ,mem_rfcomm_tx_pkt_length 
-:      020289 mclssdp:
-0x5205 020290 call load_cont_pointers 
-0x5206 020291 setarg signal_disconnect_rsp 
-0x5207 020292 istore 1 ,contw 
-0x5208 020293 copy queue ,pdata 
-0x5209 020294 istore 1 ,contw 
-0x520a 020295 setarg 0x0004 
-0x520b 020296 istore 2 ,contw 
-0x520c 020297 copy rega ,pdata 
-0x520d 020298 istore 2 ,contw 
-0x520e 020299 copy timeup ,pdata 
-0x520f 020300 istore 2 ,contw 
-0x5210 020301 force 8 ,pdata 
-0x5211 020302 iadd regb ,regb 
-0x5212 020303 rtn 
-:      020305 ml2cap_proc_signal_disconn_rsp:
-0x5213 020306 ifetch 1 ,contr 
-0x5214 020307 copy pdata ,queue 
-0x5215 020308 ifetch 2 ,contr 
-0x5216 020309 copy pdata ,rega 
-0x5217 020310 ifetch 2 ,contr 
-0x5218 020311 copy pdata ,timeup 
-0x5219 020312 ifetch 2 ,contr 
-0x521a 020313 copy pdata ,temp 
-0x521b 020314 call save_cont_pointers 
-0x521c 020315 bpatchx patch24_1 ,mem_patch24 
-0x521d 020316 fetch 1 ,mem_ml2cap_comm_id 
-0x521e 020317 icompare 0xff ,queue 
-0x521f 020318 nbranch mdisdone ,true 
-0x5220 020319 setarg l2cap_sdp_channel 
-0x5221 020320 isub temp ,null 
-0x5222 020321 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
-0x5223 020322 setarg l2cap_rfcomm_channel 
-0x5224 020323 isub temp ,null 
-0x5225 020324 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
-0x5226 020325 branch mdisdone 
-:      020326 ml2cap_proc_signal_disconn_rsp_sdp:
-0x5227 020327 jam 0 ,mem_sdp_remote_cid 
-0x5228 020328 jam 0 ,mem_sdp_state 
-0x5229 020329 branch mdisdone 
-:      020330 ml2cap_proc_signal_disconn_rsp_rfcomm:
-:      020333 mdisdone:
-0x522a 020334 call load_cont_pointers 
-0x522b 020335 copy regc ,pdata 
-0x522c 020336 isub rega ,regc 
-0x522d 020337 rtn 
-:      020339 ml2cap_proc_send_reject:
-0x522e 020340 setarg signal_cmd_reject 
-0x522f 020341 istore 1 ,contw 
-0x5230 020342 ifetch 1 ,contr 
-0x5231 020343 istore 1 ,contw 
-0x5232 020344 setarg 0x0002 
-0x5233 020345 istore 2 ,contw 
-0x5234 020346 setarg 0x0000 
-0x5235 020347 istore 2 ,contw 
-0x5236 020348 setarg 0x0006 
-0x5237 020349 iadd regb ,regb 
-0x5238 020350 force 4 ,regc 
-0x5239 020351 rtn 
-:      020354 l2cap_get_req_id:
-0x523a 020355 fetch 1 ,mem_ml2cap_comm_id 
-0x523b 020356 increase 1 ,pdata 
-0x523c 020357 bne 0 ,l2cap_get_req_id_ok 
-0x523d 020358 increase 1 ,pdata 
-:      020359 l2cap_get_req_id_ok:
-0x523e 020360 store 1 ,mem_ml2cap_comm_id 
-0x523f 020361 rtn 
-:      020371 l2cap_malloc:
-0x5240 020372 bpatchx patch24_2 ,mem_patch24 
-0x5241 020373 arg 0 ,regb 
-0x5242 020374 call l2cap_malloc_is_fifo_full 
-0x5243 020375 nbranch assert ,blank 
-0x5244 020376 call l2cap_malloc_get_full_map 
-0x5245 020377 arg mem_tx_buff0 ,regb 
-0x5246 020378 arg 0 ,queue 
-:      020379 l2cap_malloc_loop:
-0x5247 020380 fetcht 1 ,mem_used_map 
-0x5248 020381 qisolate1 temp 
-0x5249 020382 branch l2cap_malloc_next ,true 
-0x524a 020383 call l2cap_malloc_enough 
-0x524b 020384 sub timeup ,0 ,null 
-0x524c 020385 branch l2cap_malloc_next ,positive 
-0x524d 020386 call l2cap_malloc_into_fifo 
-0x524e 020387 branch l2cap_malloc_rtn 
-:      020388 l2cap_malloc_next:
-0x524f 020389 increase 128 ,regb 
-0x5250 020390 increase 1 ,queue 
-0x5251 020391 setarg 8 
-0x5252 020392 isub queue ,null 
-0x5253 020393 branch l2cap_malloc_loop ,positive 
-0x5254 020394 arg 0 ,regb 
-:      020395 l2cap_malloc_rtn:
-0x5255 020396 copy regb ,pdata 
-0x5256 020397 branch assert ,blank 
-0x5257 020398 rtn 
-:      020406 l2cap_malloc_fifo_out:
-0x5258 020407 bpatchx patch24_3 ,mem_patch24 
-0x5259 020408 call l2cap_malloc_fifo_get_first_ptr 
-0x525a 020409 increase 1 ,contr 
-0x525b 020410 ifetch 2 ,contr 
-0x525c 020411 rtn 
-:      020417 l2cap_malloc_free:
-0x525d 020418 bpatchx patch24_4 ,mem_patch24 
-0x525e 020419 call l2cap_malloc_fifo_get_first_ptr 
-0x525f 020420 copy contr ,contw 
-0x5260 020421 copy contr ,temp 
-0x5261 020422 setarg 0 
-0x5262 020423 istore 3 ,contw 
-0x5263 020424 rtn 
-:      020429 l2cap_malloc_discard:
-0x5264 020430 bpatchx patch24_5 ,mem_patch24 
-0x5265 020431 call l2cap_malloc_is_fifo_empty 
-0x5266 020432 branch assert ,blank 
-0x5267 020433 fetch 3 ,mem_tx_fifo2 
-0x5268 020434 store 3 ,mem_tx_fifo3 
-0x5269 020435 fetch 3 ,mem_tx_fifo1 
-0x526a 020436 store 3 ,mem_tx_fifo2 
-0x526b 020437 fetch 3 ,mem_tx_fifo0 
-0x526c 020438 store 3 ,mem_tx_fifo1 
-0x526d 020439 rtn 
-:      020445 l2cap_malloc_is_fifo_full:
-0x526e 020446 bpatchx patch24_6 ,mem_patch24 
-0x526f 020447 fetch 3 ,mem_tx_fifo0 
-0x5270 020448 rtn 
-:      020454 l2cap_malloc_is_fifo_nearly_full:
-0x5271 020455 bpatchx patch24_7 ,mem_patch24 
-0x5272 020456 fetch 3 ,mem_tx_fifo1 
-0x5273 020457 rtn 
-:      020463 l2cap_malloc_is_fifo_empty:
-0x5274 020464 bpatchx patch25_0 ,mem_patch25 
-0x5275 020465 fetch 3 ,mem_tx_fifo3 
-0x5276 020466 rtn 
-:      020471 l2cap_malloc_fifo_get_first_ptr:
-0x5277 020472 call l2cap_malloc_is_fifo_empty 
-0x5278 020473 branch assert ,blank 
-0x5279 020474 arg mem_tx_fifo0 ,contr 
-:      020475 l2cap_malloc_free_loop:
-0x527a 020476 ifetch 3 ,contr 
-0x527b 020477 branch l2cap_malloc_free_loop ,blank 
-0x527c 020478 increase -3 ,contr 
-0x527d 020479 rtn 
-:      020486 l2cap_malloc_get_full_map:
-0x527e 020487 bpatchx patch25_1 ,mem_patch25 
-0x527f 020488 arg 4 ,loopcnt 
-0x5280 020489 arg mem_tx_fifo0_map ,contr 
-0x5281 020490 arg 0 ,temp 
-:      020491 l2cap_malloc_get_full_map_loop:
-0x5282 020492 ifetch 3 ,contr 
-0x5283 020493 and pdata ,0xff ,pdata 
-0x5284 020494 ior temp ,temp 
-0x5285 020495 loop l2cap_malloc_get_full_map_loop 
-0x5286 020496 storet 1 ,mem_used_map 
-0x5287 020497 rtn 
-:      020505 l2cap_malloc_into_fifo:
-0x5288 020506 bpatchx patch25_2 ,mem_patch25 
-0x5289 020507 call l2cap_malloc_is_fifo_full 
-0x528a 020508 nbranch assert ,blank 
-0x528b 020509 call l2cap_malloc_is_fifo_empty 
-0x528c 020510 branch l2cap_malloc_into_fifo_no_push ,blank 
-0x528d 020511 fetch 3 ,mem_tx_fifo1 
-0x528e 020512 store 3 ,mem_tx_fifo0 
-0x528f 020513 ifetch 3 ,contr 
-0x5290 020514 istore 3 ,contw 
-0x5291 020515 ifetch 3 ,contr 
-0x5292 020516 istore 3 ,contw 
-0x5293 020517 setarg 0 
-0x5294 020518 istore 3 ,contw 
-:      020519 l2cap_malloc_into_fifo_no_push:
-0x5295 020520 arg 0 ,temp 
-0x5296 020521 copy timeup ,pdata 
-0x5297 020522 iadd queue ,pdata 
-:      020523 l2cap_malloc_into_fifo_loop:
-0x5298 020524 qset1 temp 
-0x5299 020525 increase 1 ,queue 
-0x529a 020526 isub queue ,null 
-0x529b 020527 nbranch l2cap_malloc_into_fifo_loop ,zero 
-0x529c 020529 lshift8 regb ,pdata 
-0x529d 020530 ior temp ,pdata 
-0x529e 020531 store 3 ,mem_tx_fifo3 
-0x529f 020532 rtn 
-:      020542 l2cap_malloc_enough:
-0x52a0 020543 bpatchx patch25_3 ,mem_patch25 
-0x52a1 020544 call l2cap_malloc_get_full_map 
-0x52a2 020545 copy queue ,regc 
-0x52a3 020546 arg 0 ,temp 
-0x52a4 020547 arg 0 ,timeup 
-:      020549 l2cap_malloc_enough_loop:
-0x52a5 020550 copy queue ,pdata 
-0x52a6 020551 beq 8 ,l2cap_malloc_enough_end 
-0x52a7 020552 fetch 1 ,mem_used_map 
-0x52a8 020553 qisolate1 pdata 
-0x52a9 020554 branch l2cap_malloc_enough_end ,true 
-0x52aa 020555 increase 128 ,temp 
-0x52ab 020556 increase 1 ,queue 
-0x52ac 020557 copy rega ,pdata 
-0x52ad 020558 isub temp ,null 
-0x52ae 020559 branch l2cap_malloc_enough_end ,zero 
-0x52af 020560 branch l2cap_malloc_enough_loop ,positive 
-:      020561 l2cap_malloc_enough_end:
-0x52b0 020562 copy temp ,pdata 
-0x52b1 020563 isub rega ,null 
-0x52b2 020564 nbranch l2cap_malloc_enough_rtn ,positive 
-0x52b3 020565 copy queue ,pdata 
-0x52b4 020566 copy regc ,temp 
-0x52b5 020567 isub temp ,timeup 
-:      020568 l2cap_malloc_enough_rtn:
-0x52b6 020569 copy regc ,queue 
-0x52b7 020570 rtn 
-:      020573 l2cap_malloc_signal_channel:
-0x52b8 020574 bpatchx patch25_4 ,mem_patch25 
-0x52b9 020575 arg l2cap_signal_malloc_size ,rega 
-0x52ba 020576 call l2cap_malloc 
-0x52bb 020577 store 2 ,mem_l2cap_signal_tx_buff_ptr 
-0x52bc 020578 increase 4 ,pdata 
-0x52bd 020579 store 2 ,mem_l2cap_signal_tx_payload_ptr 
-0x52be 020580 setarg 0 
-0x52bf 020581 store 2 ,mem_l2cap_signal_tx_length 
-0x52c0 020582 rtn 
-:      020584 l2cap_get_signal_tx_buff:
-0x52c1 020585 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
-0x52c2 020586 branch l2cap_util_pdata_to_contw 
-:      020588 l2cap_get_signal_tx_payload:
-0x52c3 020589 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
-0x52c4 020590 branch l2cap_util_pdata_to_contw 
-:      020593 l2cap_malloc_sdp_channel:
-0x52c5 020594 bpatchx patch25_5 ,mem_patch25 
-0x52c6 020595 arg sdp_malloc_size ,rega 
-0x52c7 020596 call l2cap_malloc 
-0x52c8 020597 store 2 ,mem_sdp_tx_buff_ptr 
-0x52c9 020598 increase 4 ,pdata 
-0x52ca 020599 store 2 ,mem_sdp_tx_payload_ptr 
-0x52cb 020600 setarg 0 
-0x52cc 020601 store 2 ,mem_sdp_tx_pkt_length 
-0x52cd 020602 rtn 
-:      020604 l2cap_get_sdp_tx_buff:
-0x52ce 020605 fetch 2 ,mem_sdp_tx_buff_ptr 
-0x52cf 020606 branch l2cap_util_pdata_to_contw 
-:      020608 l2cap_get_sdp_tx_payload:
-0x52d0 020609 fetch 2 ,mem_sdp_tx_payload_ptr 
-0x52d1 020610 branch l2cap_util_pdata_to_contw 
-:      020613 l2cap_malloc_rfcomm_channel:
-0x52d2 020614 bpatchx patch25_6 ,mem_patch25 
-0x52d3 020615 call push_stack 
-0x52d4 020616 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
-0x52d5 020617 call l2cap_malloc_is_fifo_full 
-0x52d6 020618 nrtn blank 
-0x52d7 020619 arg rfcomm_malloc_size ,rega 
-0x52d8 020620 call l2cap_malloc 
-0x52d9 020621 store 2 ,mem_rfcomm_tx_buff_ptr 
-0x52da 020622 increase 4 ,pdata 
-0x52db 020623 store 2 ,mem_rfcomm_tx_payload_ptr 
-0x52dc 020624 setarg 0 
-0x52dd 020625 store 2 ,mem_rfcomm_tx_pkt_length 
-0x52de 020626 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
-0x52df 020627 branch pop_stack 
-:      020629 l2cap_get_rfcomm_tx_buff:
-0x52e0 020630 fetch 2 ,mem_rfcomm_tx_buff_ptr 
-0x52e1 020631 branch l2cap_util_pdata_to_contw 
-:      020633 l2cap_util_pdata_to_contw:
-0x52e2 020634 branch assert ,blank 
-0x52e3 020635 copy pdata ,contw 
-0x52e4 020636 rtn 
-:      020639 l2cap_lpm_save_calc_len:
-0x52e5 020640 bpatchx patch25_7 ,mem_patch25 
-0x52e6 020641 arg 0 ,regb 
-0x52e7 020642 arg mem_tx_fifo0_map ,rega 
-0x52e8 020643 increase -2 ,rega 
-:      020644 l2cap_lpm_save_calc_len_loop:
-0x52e9 020645 increase 2 ,rega 
-0x52ea 020646 setarg mem_tx_fifo_end 
-0x52eb 020647 isub rega ,null 
-0x52ec 020648 branch l2cap_lpm_save_calc_len_end ,zero 
-0x52ed 020649 ifetch 1 ,rega 
-0x52ee 020650 increase 1 ,rega 
-0x52ef 020651 branch l2cap_lpm_save_calc_len_loop ,blank 
-0x52f0 020652 ifetcht 2 ,rega 
-0x52f1 020653 ifetch 2 ,temp 
-0x52f2 020654 iadd regb ,regb 
-0x52f3 020655 increase 4 ,regb 
-0x52f4 020656 branch l2cap_lpm_save_calc_len_loop 
-:      020657 l2cap_lpm_save_calc_len_end:
-0x52f5 020658 copy regb ,pdata 
-0x52f6 020659 rtn 
-:      020662 l2cap_lpm_get_wake_lock:
-0x52f7 020663 arg wake_lock_l2cap_tx ,queue 
-0x52f8 020664 branch lpm_get_wake_lock 
-:      020666 l2cap_lpm_put_wake_lock:
-0x52f9 020667 arg wake_lock_l2cap_tx ,queue 
-0x52fa 020668 branch lpm_put_wake_lock 
-:      020670 l2cap_lpm_save_txbuf:
-0x52fb 020671 bpatchx patch26_0 ,mem_patch26 
-0x52fc 020672 call l2cap_malloc_get_full_map 
-0x52fd 020673 fetch 1 ,mem_used_map 
-0x52fe 020674 rtn blank 
-0x52ff 020675 call l2cap_lpm_save_calc_len 
-0x5300 020676 arg l2cap_lpm_txbuf_len ,temp 
-0x5301 020677 isub temp ,null 
-0x5302 020678 branch l2cap_lpm_get_wake_lock ,positive 
-0x5303 020679 call l2cap_lpm_put_wake_lock 
-0x5304 020680 arg mem_l2cap_lpm_txbuf ,contw 
-0x5305 020681 arg mem_tx_fifo0 ,rega 
-:      020682 l2cap_lpm_save_txbuf_loop:
-0x5306 020683 setarg mem_tx_fifo_end 
-0x5307 020684 isub rega ,null 
-0x5308 020685 rtn zero 
-0x5309 020686 ifetch 1 ,rega 
-0x530a 020687 increase 1 ,rega 
-0x530b 020688 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
-0x530c 020689 istore 2 ,contw 
-0x530d 020690 increase 2 ,rega 
-0x530e 020691 branch l2cap_lpm_save_txbuf_loop 
-:      020692 l2cap_lpm_save_txbuf_nempty:
-0x530f 020693 ifetch 2 ,rega 
-0x5310 020694 increase 2 ,rega 
-0x5311 020695 copy pdata ,contr 
-0x5312 020696 ifetch 2 ,contr 
-0x5313 020697 istore 2 ,contw 
-0x5314 020698 copy pdata ,loopcnt 
-0x5315 020699 increase 2 ,loopcnt 
-0x5316 020700 call memcpy 
-0x5317 020701 branch l2cap_lpm_save_txbuf_loop 
-:      020703 l2cap_lpm_load_txbuf:
-0x5318 020704 bpatchx patch26_1 ,mem_patch26 
-0x5319 020705 call l2cap_malloc_get_full_map 
-0x531a 020706 fetch 1 ,mem_used_map 
-0x531b 020707 rtn blank 
-0x531c 020708 arg mem_tx_fifo0_ptr ,rega 
-0x531d 020709 increase -3 ,rega 
-0x531e 020710 arg mem_l2cap_lpm_txbuf ,contr 
-:      020711 l2cap_lpm_load_txbuf_loop:
-0x531f 020712 increase 3 ,rega 
-0x5320 020713 setarg mem_tx_fifo_end + 1 
-0x5321 020714 isub rega ,null 
-0x5322 020715 rtn zero 
-0x5323 020716 ifetch 2 ,contr 
-0x5324 020717 branch l2cap_lpm_load_txbuf_loop ,blank 
-0x5325 020718 increase 4 ,pdata 
-0x5326 020719 copy pdata ,loopcnt 
-0x5327 020720 copy contr ,regb 
-0x5328 020721 ifetch 2 ,rega 
-0x5329 020722 copy pdata ,contw 
-0x532a 020723 copy regb ,contr 
-0x532b 020724 increase -2 ,contr 
-0x532c 020725 call memcpy 
-0x532d 020726 branch l2cap_lpm_load_txbuf_loop 
-:      020736 le_init_conn:
-0x532e 020737 bpatchx patch26_2 ,mem_patch26 
-0x532f 020738 disable wake 
-0x5330 020739 jam 1 ,mem_le_conn_handle 
-0x5331 020740 jam 3 ,mem_le_state 
-0x5332 020741 jam 1 ,mem_le_arq 
-0x5333 020742 setarg -1 
-0x5334 020743 store 2 ,mem_le_event_count 
-0x5335 020744 force 0 ,pdata 
-0x5336 020745 store 1 ,mem_le_ch 
-0x5337 020746 store 1 ,mem_le_op 
-0x5338 020747 store 3 ,mem_sniff_rcv 
-0x5339 020748 store 3 ,mem_sniff_lost 
-0x533a 020749 store 5 ,mem_le_pcnt_tx 
-0x533b 020750 set1 39 ,pdata 
-0x533c 020751 store 5 ,mem_le_pcnt_rx 
-0x533d 020752 jam 1 ,mem_le_txheader 
-0x533e 020753 jam 0 ,mem_le_txlen 
-0x533f 020754 branch le_supervision_flush 
-:      020756 le_init_master:
-0x5340 020757 bpatchx patch26_3 ,mem_patch26 
-0x5341 020758 enable master 
-0x5342 020759 jam lemode_master ,mem_le_mode 
-0x5343 020760 jam 1 ,mem_le_att_handle 
-0x5344 020761 jam 1 ,mem_le_search_handle_start 
-0x5345 020762 setarg 0xffff 
-0x5346 020763 store 2 ,mem_le_search_handle_end 
-0x5347 020764 force 0 ,pdata 
-0x5348 020765 store 5 ,mem_le_pcnt_rx 
-0x5349 020766 set1 39 ,pdata 
-0x534a 020767 store 5 ,mem_le_pcnt_tx 
-0x534b 020768 branch le_init_conn 
-:      020771 le_init_slave:
-0x534c 020772 bpatchx patch26_4 ,mem_patch26 
-0x534d 020773 disable master 
-0x534e 020774 setarg 0x17 
-0x534f 020775 store 2 ,mem_le_remote_mtu 
-0x5350 020776 jam lemode_slave ,mem_le_mode 
-0x5351 020777 jam 0 ,mem_le_adv_enable 
-0x5352 020778 jam 0 ,mem_lpm_current_mult 
-0x5353 020779 jam flag_le_pairing_null ,mem_le_pairing_state 
-0x5354 020780 jam flag_le_enc_null ,mem_le_enc_state 
-0x5355 020781 fetch 2 ,mem_le_superto 
-0x5356 020782 store 2 ,mem_le_init_superto 
-0x5357 020783 fetch 2 ,mem_le_tsniff 
-0x5358 020784 mul32 pdata ,5 ,pdata 
-0x5359 020785 rshift4 pdata ,pdata 
-0x535a 020786 store 2 ,mem_le_superto 
-0x535b 020787 branch le_init_conn 
-:      020793 le_dispatch:
-0x535c 020794 call le_enable 
-0x535d 020795 call le_scan 
-0x535e 020796 call le_adv 
-0x535f 020797 branch le_disable 
-:      020799 le_conn_dispatch:
-0x5360 020800 bpatchx patch26_5 ,mem_patch26 
-0x5361 020801 call le_enable 
-0x5362 020802 call app_process_ble 
-0x5363 020803 fetch 1 ,mem_le_mode 
-0x5364 020804 beq lemode_master ,le_master_dispatch 
-0x5365 020805 branch le_slave_dispatch 
-:      020811 le_master_dispatch:
-0x5366 020812 bpatchx patch26_6 ,mem_patch26 
-0x5367 020813 enable master 
-0x5368 020814 call le_supervision_update 
-0x5369 020815 branch le_master_disconn ,positive 
-0x536a 020816 call check_ble_disabled 
-0x536b 020817 call le_setup 
-0x536c 020818 call le_prepare_tx 
-0x536d 020819 disable match 
-0x536e 020820 call le_transmit_receive_sifs 
-0x536f 020821 nrtn match 
-0x5370 020822 bpatchx patch26_7 ,mem_patch26 
-0x5371 020823 fetch 1 ,mem_le_conn_rcv 
-0x5372 020824 increase 1 ,pdata 
-0x5373 020825 store 1 ,mem_le_conn_rcv 
-0x5374 020826 call le_acknowledge 
-0x5375 020827 disable master 
-0x5376 020828 rtn 
-:      020830 le_master_disconn:
-0x5377 020831 call le_disconnect 
-0x5378 020832 disable master 
-0x5379 020833 rtn 
-:      020838 le_slave_dispatch:
-0x537a 020839 bpatchx patch27_0 ,mem_patch27 
-0x537b 020840 jam 0 ,mem_le_md_count 
-0x537c 020841 call sp_calc_sequence_256 
-0x537d 020842 call le_secure_connect_sm 
-0x537e 020843 disable attempt 
-0x537f 020844 call le_supervision_update 
-0x5380 020845 branch le_slave_disconn ,positive 
-0x5381 020846 call check_ble_disabled 
-0x5382 020847 call le_setup 
-0x5383 020848 call le_receive_slave 
-0x5384 020849 nbranch le_slave_unsync ,sync 
-0x5385 020850 call le_got_first_packet 
-0x5386 020851 branch le_slave_match ,match 
-0x5387 020852 branch le_slave_cont 
-:      020855 le_slave_match:
-0x5388 020856 bpatchx patch27_1 ,mem_patch27 
-0x5389 020857 fetch 1 ,mem_le_md_count 
-0x538a 020858 pincrease 1 
-0x538b 020859 store 1 ,mem_le_md_count 
-0x538c 020860 beq le_md_max_count ,le_slave_cont 
-0x538d 020861 call le_acknowledge 
-0x538e 020862 call le_prepare_tx 
-0x538f 020863 call le_transmit_norx 
-0x5390 020864 call le_parse 
-0x5391 020865 fetch 2 ,mem_cb_ble_transmit 
-0x5392 020866 call callback_func 
-0x5393 020867 call le_check_md 
-0x5394 020868 branch le_slave_more_data ,user 
-:      020869 le_slave_cont:
-0x5395 020870 bpatchx patch27_2 ,mem_patch27 
-0x5396 020871 call le_pairing_sm 
-0x5397 020872 call le_check_paring_time 
-0x5398 020873 call check_51cmd 
-0x5399 020874 fetch 1 ,mem_le_op 
-0x539a 020875 bbit1 op_disconn ,le_slave_disconn 
-:      020876 le_slave_unsync:
-0x539b 020877 bpatchx patch27_3 ,mem_patch27 
-0x539c 020878 call le_lpm_set_mult 
-0x539d 020879 call le_update_channel_map 
-0x539e 020880 call le_update_param 
-0x539f 020881 branch calc_clke_offset 
-:      020884 le_check_md:
-0x53a0 020885 disable user 
-0x53a1 020886 bmark1 mark_ble_rx_md ,enable_user 
-0x53a2 020887 bmark1 mark_ble_tx_md ,enable_user 
-0x53a3 020888 rtn 
-:      020891 le_slave_more_data:
-0x53a4 020892 bpatchx patch27_4 ,mem_patch27 
-0x53a5 020893 enable attempt 
-0x53a6 020894 call le_transmit_receive_sifs_notx 
-0x53a7 020895 branch le_slave_match ,match 
-0x53a8 020896 branch le_slave_cont 
-:      020898 le_slave_disconn:
-:      020901 le_disconnect:
-0x53a9 020902 bpatchx patch27_5 ,mem_patch27 
-0x53aa 020903 call le_clear_connection_info 
-0x53ab 020904 call app_disconn_reason_collect_ble 
-0x53ac 020905 call sp_initialize_256 
-0x53ad 020906 jam bt_evt_le_disconnected ,mem_fifo_temp 
-0x53ae 020907 branch ui_ipc_send_event 
-:      020909 le_clear_connection_info:
-0x53af 020910 setarg 0 
-0x53b0 020911 store 9 ,mem_le_tx_buff_used 
-0x53b1 020912 jam 0 ,mem_le_conn_handle 
-0x53b2 020913 jam lemode_idle ,mem_le_mode 
-0x53b3 020914 jam 0 ,mem_le_state 
-0x53b4 020915 jam flag_le_enc_null ,mem_le_enc_state 
-0x53b5 020916 jam flag_le_pairing_null ,mem_le_pairing_state 
-0x53b6 020917 rtn 
-:      020919 le_got_first_packet:
-0x53b7 020920 bpatchx patch27_6 ,mem_patch27 
-0x53b8 020921 fetch 1 ,mem_le_conn_rcv 
-0x53b9 020922 increase 1 ,pdata 
-0x53ba 020923 store 1 ,mem_le_conn_rcv 
-0x53bb 020924 fetch 1 ,mem_le_state 
-0x53bc 020925 rtnbit1 lestate_got_first_packet 
-0x53bd 020926 set1 lestate_got_first_packet 
-0x53be 020927 store 1 ,mem_le_state 
-0x53bf 020928 fetch 2 ,mem_le_init_superto 
-0x53c0 020929 store 2 ,mem_le_superto 
-0x53c1 020930 setarg 0 
-0x53c2 020931 store 4 ,mem_le_transmit_window 
-0x53c3 020932 rtn 
-:      020935 le_enable:
-0x53c4 020936 bpatchx patch27_7 ,mem_patch27 
-0x53c5 020937 jam 0x36 ,rf_adc_goff 
-0x53c6 020938 jam 0x5f ,rf_agc_nsat 
-0x53c7 020939 enable le 
-0x53c8 020940 jam 7 ,rfen_ulp 
-0x53c9 020941 call check_ble_disabled 
-0x53ca 020942 fetch 1 ,mem_250k_freq_enable 
-0x53cb 020943 rtn blank 
-0x53cc 020944 jam 0xb8 ,rf_iq_gain 
-0x53cd 020945 rtn 
-:      020947 le_disable:
-0x53ce 020948 bpatchx patch28_0 ,mem_patch28 
-0x53cf 020949 jam 0x2e ,rf_adc_goff 
-0x53d0 020950 jam 0xff ,rf_agc_nsat 
-0x53d1 020951 disable le 
-0x53d2 020952 jam 3 ,rfen_ulp 
-0x53d3 020953 arg 0 ,stop_watch 
-0x53d4 020954 rtn 
-:      020956 le_prep:
-0x53d5 020957 disable enable_crc 
-0x53d6 020958 disable enable_white 
-0x53d7 020959 fetch 3 ,mem_le_crcinit 
-0x53d8 020960 iforce crc24_init 
-0x53d9 020961 fetch 1 ,mem_le_ch_mapped 
-0x53da 020962 reverse pdata ,temp 
-0x53db 020963 set1 1 ,temp 
-0x53dc 020964 rshift temp ,white_init 
-0x53dd 020965 rtn 
-:      020968 lerx_setfreq:
-0x53de 020969 call le_setfreq 
-0x53df 020970 call set_freq_rx 
-0x53e0 020971 setarg param_pll_setup 
-0x53e1 020972 call sleep 
-0x53e2 020973 branch rf_rx_enable 
-:      020975 letx_setfreq:
-0x53e3 020976 branch txon ,match 
-:      020977 letx_setfreq0:
-0x53e4 020978 call le_setfreq 
-0x53e5 020979 branch set_freq_tx 
-:      020980 le_setfreq:
-0x53e6 020981 bpatchx patch28_1 ,mem_patch28 
-0x53e7 020982 call set_sync_on 
-0x53e8 020983 fetch 1 ,mem_le_testtype 
-0x53e9 020984 nbranch le_ctf_test ,blank 
-0x53ea 020985 fetch 1 ,mem_le_ch_mapped 
-0x53eb 020986 sub pdata ,36 ,null 
-0x53ec 020987 branch le_ctf_normal ,positive 
-0x53ed 020988 force 0 ,temp 
-0x53ee 020989 rtneq 37 
-0x53ef 020990 force 24 ,temp 
-0x53f0 020991 rtneq 38 
-0x53f1 020992 force 78 ,temp 
-0x53f2 020993 rtn 
-:      020995 le_ctf_normal:
-0x53f3 020996 sub pdata ,10 ,null 
-0x53f4 020997 branch le_ctf_low ,positive 
-0x53f5 020998 increase 1 ,pdata 
-:      021000 le_ctf_low:
-0x53f6 021001 lshift pdata ,pdata 
-0x53f7 021002 add pdata ,2 ,temp 
-0x53f8 021003 rtn 
-:      021005 le_ctf_test:
-0x53f9 021006 fetch 1 ,mem_le_ch_mapped 
-0x53fa 021007 lshift pdata ,temp 
-0x53fb 021008 rtn 
-:      021010 le_sca_map:
-0x53fc 021011 arg 500 ,temp 
-0x53fd 021012 rtn blank 
-0x53fe 021013 arg 250 ,temp 
-0x53ff 021014 rtneq 1 
-0x5400 021015 arg 150 ,temp 
-0x5401 021016 rtneq 2 
-0x5402 021017 arg 100 ,temp 
-0x5403 021018 rtneq 3 
-0x5404 021019 arg 75 ,temp 
-0x5405 021020 rtneq 4 
-0x5406 021021 arg 50 ,temp 
-0x5407 021022 rtneq 5 
-0x5408 021023 arg 40 ,temp 
-0x5409 021024 rtneq 6 
-0x540a 021025 arg 20 ,temp 
-0x540b 021026 rtn 
-:      021030 le_adv_access:
-0x540c 021031 setarg 0x8e89be 
-0x540d 021032 lshift8 pdata ,pdata 
-0x540e 021033 or_into 0xd6 ,pdata 
-0x540f 021034 iforce access 
-0x5410 021035 setarg 0x555555 
-0x5411 021036 store 3 ,mem_le_crcinit 
-0x5412 021037 rtn 
-:      021039 le_setup:
-0x5413 021040 bpatchx patch28_2 ,mem_patch28 
-0x5414 021041 enable swfine 
-0x5415 021042 fetch 4 ,mem_le_access 
-0x5416 021043 iforce access 
-0x5417 021044 call le_map_channel 
-0x5418 021045 setarg 0x200 
-0x5419 021046 branch le_setup_master ,master 
-0x541a 021047 fetch 2 ,mem_le_receive_window 
-0x541b 021048 rshift pdata ,pdata 
-:      021049 le_setup_master:
-0x541c 021050 arg param_pll_setup ,temp 
-0x541d 021051 iadd temp ,pdata 
-0x541e 021052 call ahead_window 
-0x541f 021053 deposit clke 
-0x5420 021054 store 6 ,mem_le_rxon_ts 
-0x5421 021055 rtn 
-:      021057 le_next_adv_channel:
-0x5422 021058 bpatchx patch28_3 ,mem_patch28 
-0x5423 021059 fetch 1 ,mem_le_ch_mapped 
-0x5424 021060 beq 37 ,le_next_adv_channel_curr_channel_37 
-0x5425 021061 beq 38 ,le_next_adv_channel_curr_channel_38 
-0x5426 021062 beq 39 ,le_next_adv_channel_curr_channel_39 
-0x5427 021063 branch le_next_adv_channel_curr_channel_39 
-:      021065 le_next_adv_channel_curr_channel_37:
-0x5428 021066 fetcht 1 ,mem_le_adv_channel_map 
-0x5429 021067 isolate1 bit_adv_channel_map_38 ,temp 
-0x542a 021068 branch set_le_next_adv_channel_38 ,true 
-0x542b 021069 isolate1 bit_adv_channel_map_39 ,temp 
-0x542c 021070 branch set_le_next_adv_channel_39 ,true 
-0x542d 021071 branch set_le_next_adv_channel_37 
-:      021074 le_next_adv_channel_curr_channel_38:
-0x542e 021075 fetcht 1 ,mem_le_adv_channel_map 
-0x542f 021076 isolate1 bit_adv_channel_map_39 ,temp 
-0x5430 021077 branch set_le_next_adv_channel_39 ,true 
-0x5431 021078 isolate1 bit_adv_channel_map_37 ,temp 
-0x5432 021079 branch set_le_next_adv_channel_37 ,true 
-0x5433 021080 branch set_le_next_adv_channel_38 
-:      021083 le_next_adv_channel_curr_channel_39:
-0x5434 021084 fetcht 1 ,mem_le_adv_channel_map 
-0x5435 021085 isolate1 bit_adv_channel_map_37 ,temp 
-0x5436 021086 branch set_le_next_adv_channel_37 ,true 
-0x5437 021087 isolate1 bit_adv_channel_map_38 ,temp 
-0x5438 021088 branch set_le_next_adv_channel_38 ,true 
-0x5439 021089 branch set_le_next_adv_channel_39 
-:      021093 set_le_next_adv_channel_37:
-0x543a 021094 jam 37 ,mem_le_ch_mapped 
-0x543b 021095 fetch 1 ,mem_le_adv_channel_map_temp 
-0x543c 021096 set1 bit_adv_channel_map_37 ,pdata 
-0x543d 021097 store 1 ,mem_le_adv_channel_map_temp 
-0x543e 021098 rtn 
-:      021100 set_le_next_adv_channel_38:
-0x543f 021101 jam 38 ,mem_le_ch_mapped 
-0x5440 021102 fetch 1 ,mem_le_adv_channel_map_temp 
-0x5441 021103 set1 bit_adv_channel_map_38 ,pdata 
-0x5442 021104 store 1 ,mem_le_adv_channel_map_temp 
-0x5443 021105 rtn 
-:      021107 set_le_next_adv_channel_39:
-0x5444 021108 jam 39 ,mem_le_ch_mapped 
-0x5445 021109 fetch 1 ,mem_le_adv_channel_map_temp 
-0x5446 021110 set1 bit_adv_channel_map_39 ,pdata 
-0x5447 021111 store 1 ,mem_le_adv_channel_map_temp 
-0x5448 021112 rtn 
-:      021116 le_context_nexthop:
-0x5449 021117 bpatchx patch28_4 ,mem_patch28 
-0x544a 021118 add rega ,coffset_mode ,contr 
-0x544b 021119 ifetch 1 ,contr 
-0x544c 021120 rtnbit0 mode_le 
-0x544d 021121 add rega ,coffset_le_event_cnt ,contw 
-0x544e 021122 ifetch 2 ,contw 
-0x544f 021123 increase 1 ,pdata 
-0x5450 021124 istore 2 ,contw 
-0x5451 021125 add rega ,coffset_le_hop ,contr 
-0x5452 021126 ifetch 1 ,contr 
-0x5453 021127 add rega ,coffset_le_ch ,contw 
-0x5454 021128 ifetcht 1 ,contw 
-0x5455 021129 iadd temp ,pdata 
-0x5456 021130 sub pdata ,36 ,null 
-0x5457 021131 branch le_nexthop_nowrap ,positive 
-0x5458 021132 increase -37 ,pdata 
-:      021133 le_nexthop_nowrap:
-0x5459 021134 istore 1 ,contw 
-0x545a 021135 rtn 
-:      021138 le_calc_channel_map:
-0x545b 021139 bpatchx patch28_5 ,mem_patch28 
-0x545c 021140 fetch 5 ,mem_le_channel_map 
-0x545d 021141 force 0 ,temp 
-0x545e 021142 force 37 ,loopcnt 
-:      021143 le_count_channels_loop:
-0x545f 021144 bbit0 0 ,le_count_channels_notused 
-0x5460 021145 increase 1 ,temp 
-:      021146 le_count_channels_notused:
-0x5461 021147 rshift pdata ,pdata 
-0x5462 021148 loop le_count_channels_loop 
-0x5463 021149 add temp ,-1 ,pdata 
-0x5464 021150 store 1 ,mem_le_channels 
-0x5465 021151 rtn 
-:      021153 le_map_channel:
-0x5466 021154 bpatchx patch28_6 ,mem_patch28 
-0x5467 021155 fetch 1 ,mem_le_ch 
-0x5468 021156 iforce queue 
-0x5469 021157 fetcht 5 ,mem_le_channel_map 
-0x546a 021158 qisolate1 temp 
-0x546b 021159 branch le_map_channel_end ,true 
-:      021160 le_map_channel_next:
-0x546c 021161 bpatchx patch28_7 ,mem_patch28 
-0x546d 021162 fetch 1 ,mem_le_channels 
-0x546e 021163 isub queue ,pdata 
-0x546f 021164 branch le_map_channel_cont ,positive 
-0x5470 021165 sub pdata ,-1 ,queue 
-0x5471 021166 branch le_map_channel_next 
-:      021167 le_map_channel_cont:
-0x5472 021168 copy queue ,loopcnt 
-0x5473 021169 force 0 ,queue 
-:      021170 le_map_channel_loop:
-0x5474 021171 qisolate1 temp 
-0x5475 021172 branch le_map_channel_skip ,true 
-0x5476 021173 increase 1 ,loopcnt 
-:      021174 le_map_channel_skip:
-0x5477 021175 deposit loopcnt 
-0x5478 021176 branch le_map_channel_end ,blank 
-0x5479 021177 increase 1 ,queue 
-0x547a 021178 increase -1 ,loopcnt 
-0x547b 021179 branch le_map_channel_loop 
-:      021180 le_map_channel_end:
-0x547c 021181 deposit queue 
-0x547d 021182 store 1 ,mem_le_ch_mapped 
-0x547e 021183 rtn 
-:      021186 le_wait_tx:
-0x547f 021187 branch le_wait_master ,master 
-0x5480 021188 until null ,timeout 
-0x5481 021189 rtn 
-:      021191 le_wait_master:
-0x5482 021192 arg 0xea0 ,timeup 
-0x5483 021193 until clkn_rt ,meet 
-0x5484 021194 rtn 
-:      021196 le_receive_adv:
-0x5485 021197 disable swfine 
-0x5486 021198 fetch 2 ,mem_le_scan_window 
-0x5487 021199 copy pdata ,timeup 
-0x5488 021200 branch le_receive_packet 
-:      021203 le_receive_slave:
-0x5489 021204 bpatchx patch29_0 ,mem_patch29 
-0x548a 021205 enable swfine 
-0x548b 021206 fetch 2 ,mem_le_receive_window 
-0x548c 021207 fetcht 4 ,mem_le_transmit_window 
-0x548d 021208 iadd temp ,timeup 
-:      021209 le_receive_packet:
-0x548e 021210 call lerx_setfreq 
-:      021211 le_receive_rxon:
-0x548f 021212 bpatchx patch29_1 ,mem_patch29 
-0x5490 021213 call le_prep 
-0x5491 021214 disable match 
-0x5492 021215 enable decode_fec0 
-0x5493 021216 enable is_rx 
-0x5494 021217 disable is_tx 
-0x5495 021218 copy timeup ,stop_watch 
-0x5496 021219 correlate null ,timeout 
-0x5497 021220 branch le_receive_on_attempt ,attempt 
-0x5498 021221 copy clke ,temp 
-0x5499 021222 storet 6 ,mem_sync_clke 
-:      021223 le_receive_on_attempt:
-0x549a 021224 nbranch end_of_packet ,sync 
-0x549b 021225 branch le_receive_skip ,attempt 
-0x549c 021226 arg param_clke_cal_le ,clke_rt 
-0x549d 021227 copy bt_clk ,clke_bt 
-0x549e 021228 fetch 1 ,mem_le_state 
-0x549f 021229 bbit0 lestate_got_first_packet ,le_receive_skip 
-0x54a0 021230 call lpm_adjust_clk ,wake 
-:      021231 le_receive_skip:
-0x54a1 021232 bpatchx patch29_2 ,mem_patch29 
-0x54a2 021233 call save_rssi 
-0x54a3 021234 enable enable_white 
-0x54a4 021235 enable enable_crc 
-0x54a5 021236 parse demod ,bucket ,8 
-0x54a6 021237 rshift3 pwindow ,pdata 
-0x54a7 021238 store 1 ,mem_le_rxbuf 
-0x54a8 021239 parse demod ,bucket ,8 
-0x54a9 021240 rshift3 pwindow ,pdata 
-0x54aa 021241 istore 1 ,contw 
-0x54ab 021242 and pdata ,0x3f ,loopcnt 
-0x54ac 021243 branch lerx_nopayload ,zero 
-:      021245 lerx_loop:
-0x54ad 021246 parse demod ,bucket ,8 
-0x54ae 021247 rshift3 pwindow ,pdata 
-0x54af 021248 istore 1 ,contw 
-0x54b0 021249 loop lerx_loop 
-:      021251 lerx_nopayload:
-0x54b1 021252 bpatchx patch29_3 ,mem_patch29 
-0x54b2 021253 parse demod ,bucket ,24 
-0x54b3 021254 enable swfine 
-0x54b4 021255 arg param_sifs ,stop_watch 
-0x54b5 021256 rshift32 pdata ,pdata 
-0x54b6 021257 rshift16 pdata ,pdata 
-0x54b7 021258 istore 3 ,contw 
-0x54b8 021259 branch end_of_packet ,crc_failed 
-0x54b9 021260 enable match 
-0x54ba 021261 fetch 1 ,mem_last_freq 
-0x54bb 021262 add pdata ,0 ,rega 
-0x54bc 021263 call rf_write_freq 
-0x54bd 021264 disable decode_fec0 
-0x54be 021265 branch set_sync_on 
-:      021267 le_transmit_receive_sifs:
-0x54bf 021268 bpatchx patch29_4 ,mem_patch29 
-0x54c0 021269 call le_transmit 
-:      021270 le_transmit_receive_sifs_notx:
-0x54c1 021271 fetcht 1 ,mem_last_freq 
-0x54c2 021272 call set_freq_rx 
-0x54c3 021273 call rf_rx_enable 
-0x54c4 021274 enable swfine 
-0x54c5 021275 arg 5500 ,timeup 
-0x54c6 021276 branch le_receive_rxon 
-:      021278 le_transmit_norx:
-0x54c7 021279 call le_transmit 
-0x54c8 021280 branch end_of_packet 
-:      021282 le_transmit:
-0x54c9 021283 bpatchx patch29_5 ,mem_patch29 
-0x54ca 021284 call le_prep 
-0x54cb 021285 call letx_setfreq 
-0x54cc 021286 branch le_transmit0 
-:      021288 le_transmit0:
-0x54cd 021289 set1 txgfsk ,radio_ctrl 
-0x54ce 021290 enable encode_fec0 
-0x54cf 021291 enable is_tx 
-0x54d0 021292 disable is_rx 
-0x54d1 021293 call le_wait_tx 
-0x54d2 021294 rshift16 access ,pdata 
-0x54d3 021295 rshift8 pdata ,pdata 
-0x54d4 021296 rshift4 pdata ,pdata 
-0x54d5 021297 inject mod ,40 
-0x54d6 021298 enable enable_white 
-0x54d7 021299 enable enable_crc 
-0x54d8 021300 bpatchx patch29_6 ,mem_patch29 
-0x54d9 021301 fetch 1 ,mem_le_txheader 
-0x54da 021302 inject mod ,8 
-0x54db 021303 ifetch 1 ,contr 
-0x54dc 021304 and pdata ,0x3f ,loopcnt 
-0x54dd 021305 inject mod ,8 
-0x54de 021306 branch letr_nopayload ,zero 
-:      021307 letr_loop:
-0x54df 021308 ifetch 1 ,contr 
-0x54e0 021309 inject mod ,8 
-0x54e1 021310 loop letr_loop 
-:      021312 letr_nopayload:
-0x54e2 021313 enable enable_parity 
-0x54e3 021314 inject mod ,24 
-0x54e4 021315 disable enable_parity 
-0x54e5 021316 until null ,tx_clear 
-0x54e6 021317 nop 100 
-0x54e7 021318 disable encode_fec0 
-0x54e8 021319 rtn 
-:      021321 le_send_adv_ind:
-0x54e9 021322 bpatchx patch29_7 ,mem_patch29 
-0x54ea 021323 fetch 1 ,mem_le_adv_type 
-0x54eb 021324 beq adv_direct_ind ,le_send_adv_direct_ind 
-0x54ec 021325 fetch 1 ,mem_le_adv_own_addr_type 
-0x54ed 021326 lshift4 pdata ,pdata 
-0x54ee 021327 lshift2 pdata ,pdata 
-0x54ef 021328 store 1 ,mem_le_txheader 
-0x54f0 021329 fetcht 1 ,mem_le_adv_data_len 
-0x54f1 021330 add temp ,6 ,pdata 
-0x54f2 021331 store 1 ,mem_le_txlen 
-0x54f3 021332 fetch 6 ,mem_le_lap 
-0x54f4 021333 store 6 ,mem_le_txpayload 
-0x54f5 021334 copy temp ,loopcnt 
-0x54f6 021335 arg mem_le_adv_data ,contr 
-0x54f7 021336 call memcpy_fast 
-0x54f8 021337 branch le_send_adv_transmit 
-:      021338 le_send_adv_direct_ind:
-0x54f9 021339 fetch 1 ,mem_le_adv_direct_addr_type 
-0x54fa 021340 lshift4 pdata ,pdata 
-0x54fb 021341 lshift2 pdata ,pdata 
-0x54fc 021342 increase 1 ,pdata 
-0x54fd 021343 store 1 ,mem_le_txheader 
-0x54fe 021344 setarg 12 
-0x54ff 021345 store 1 ,mem_le_txlen 
-0x5500 021346 fetch 6 ,mem_le_lap 
-0x5501 021347 store 6 ,mem_le_txpayload 
-0x5502 021348 fetch 6 ,mem_hci_plap 
-0x5503 021349 istore 6 ,contw 
-:      021350 le_send_adv_transmit:
-0x5504 021351 bpatchx patch2a_0 ,mem_patch2a 
-0x5505 021352 fetch 1 ,mem_le_adv_transmit 
-0x5506 021353 increase 1 ,pdata 
-0x5507 021354 store 1 ,mem_le_adv_transmit 
-0x5508 021355 arg 1800 ,stop_watch 
-0x5509 021356 disable match 
-0x550a 021357 branch le_transmit_receive_sifs 
-:      021359 le_send_scan_request:
-0x550b 021360 bpatchx patch2a_1 ,mem_patch2a 
-0x550c 021361 fetch 1 ,mem_le_scan_type 
-0x550d 021362 rtnne le_scan_type_active 
-0x550e 021363 fetch 1 ,mem_le_adv_transmit 
-0x550f 021364 increase 1 ,pdata 
-0x5510 021365 store 1 ,mem_le_adv_transmit 
-0x5511 021366 arg 0x0c03 ,temp 
-0x5512 021367 fetch 1 ,mem_le_scan_own_addr_type 
-0x5513 021368 nsetflag blank ,le_sender_addr_bit ,temp 
-0x5514 021369 copy rega ,pdata 
-0x5515 021370 nsetflag blank ,le_receiver_addr_bit ,temp 
-0x5516 021371 storet 2 ,mem_le_txheader 
-0x5517 021372 fetch 6 ,mem_le_lap 
-0x5518 021373 istore 6 ,contw 
-0x5519 021374 fetch 6 ,mem_le_plap 
-0x551a 021375 istore 6 ,contw 
-0x551b 021376 branch le_transmit_receive_sifs 
-:      021379 le_send_scan_response:
-0x551c 021380 bpatchx patch2a_2 ,mem_patch2a 
-0x551d 021381 arg scan_rsp ,temp 
-0x551e 021382 fetch 1 ,mem_le_adv_own_addr_type 
-0x551f 021383 nsetflag blank ,le_sender_addr_bit ,temp 
-0x5520 021384 storet 1 ,mem_le_txheader 
-0x5521 021385 fetcht 1 ,mem_le_scan_data_len 
-0x5522 021386 add temp ,6 ,pdata 
-0x5523 021387 store 1 ,mem_le_txlen 
-0x5524 021388 fetch 6 ,mem_le_lap 
-0x5525 021389 store 6 ,mem_le_txpayload 
-0x5526 021390 arg mem_le_scan_data ,contr 
-0x5527 021391 copy temp ,loopcnt 
-0x5528 021392 call memcpy_fast 
-0x5529 021393 call le_transmit_norx 
-0x552a 021394 branch le_adv_not_match 
-:      021396 le_connect_request:
-0x552b 021397 bpatchx patch2a_3 ,mem_patch2a 
-0x552c 021398 force -1 ,pdata 
-0x552d 021399 setsect 2 ,1 
-0x552e 021400 store 5 ,mem_le_channel_map 
-0x552f 021401 call le_calc_channel_map 
-0x5530 021402 force 4 ,loopcnt 
-0x5531 021403 arg mem_le_access ,contw 
-0x5532 021404 call generate_random_loop 
-0x5533 021405 fetch 2 ,mem_le_timeout 
-0x5534 021406 store 2 ,mem_le_superto 
-:      021407 le_con_req_hop_retry:
-0x5535 021408 random pdata 
-0x5536 021409 and_into 0xf ,pdata 
-0x5537 021410 sub pdata ,4 ,null 
-0x5538 021411 branch le_con_req_hop_retry ,positive 
-0x5539 021412 store 1 ,mem_le_hop 
-0x553a 021413 store 1 ,mem_tmp1 
-0x553b 021414 bpatchx patch2a_4 ,mem_patch2a 
-0x553c 021415 fetcht 2 ,mem_le_conn_interval 
-0x553d 021416 storet 2 ,mem_le_tsniff 
-0x553e 021417 copy temp ,regc 
-0x553f 021418 add clkn_bt ,7 ,pdata 
-0x5540 021419 idiv regc 
-0x5541 021420 call wait_div_end 
-0x5542 021421 remainder rega 
-0x5543 021422 isub rega ,pdata 
-0x5544 021423 iadd regc ,pdata 
-0x5545 021424 fetcht 2 ,mem_le_dsniff 
-0x5546 021425 iadd temp ,pdata 
-0x5547 021426 store 4 ,mem_le_anchor 
-0x5548 021427 isub clkn_bt ,rega 
-0x5549 021428 increase -6 ,rega 
-0x554a 021429 arg 0x2205 ,regb 
-0x554b 021430 fetch 1 ,mem_le_conn_own_addr_type 
-0x554c 021431 nsetflag blank ,le_sender_addr_bit ,regb 
-0x554d 021432 fetch 1 ,mem_le_conn_peer_addr_type 
-0x554e 021433 nsetflag blank ,le_receiver_addr_bit ,regb 
-0x554f 021434 copy regb ,pdata 
-0x5550 021435 store 2 ,mem_le_txheader 
-0x5551 021436 fetch 6 ,mem_le_lap 
-0x5552 021437 istore 6 ,contw 
-0x5553 021438 fetch 6 ,mem_le_plap 
-0x5554 021439 istore 6 ,contw 
-0x5555 021440 fetch 4 ,mem_le_access 
-0x5556 021441 istore 4 ,contw 
-0x5557 021442 random pdata 
-0x5558 021443 istore 2 ,contw 
-0x5559 021444 random pdata 
-0x555a 021445 istore 1 ,contw 
-0x555b 021446 force 2 ,pdata 
-0x555c 021447 istore 1 ,contw 
-0x555d 021448 rshift2 rega ,pdata 
-0x555e 021449 istore 2 ,contw 
-0x555f 021450 rshift2 regc ,pdata 
-0x5560 021451 istore 2 ,contw 
-0x5561 021452 bpatchx patch2a_5 ,mem_patch2a 
-0x5562 021453 setarg 0 
-0x5563 021454 istore 2 ,contw 
-0x5564 021455 fetch 2 ,mem_le_timeout 
-0x5565 021456 istore 2 ,contw 
-0x5566 021457 fetch 5 ,mem_le_channel_map 
-0x5567 021458 istore 5 ,contw 
-0x5568 021459 fetch 1 ,mem_le_hop 
-0x5569 021460 arg param_le_sca ,temp 
-0x556a 021461 ior temp ,pdata 
-0x556b 021462 istore 1 ,contw 
-0x556c 021463 call le_transmit_norx 
-0x556d 021464 setarg mem_le_txheader 
-0x556e 021465 add pdata ,18 ,contr 
-0x556f 021466 ifetch 3 ,contr 
-0x5570 021467 store 3 ,mem_le_crcinit 
-0x5571 021468 rtn 
-:      021470 le_init_adv:
-0x5572 021471 bpatchx patch2a_6 ,mem_patch2a 
-0x5573 021472 disable master 
-0x5574 021473 branch le_adv_access 
-:      021477 le_update_param:
-0x5575 021478 fetch 1 ,mem_le_state 
-0x5576 021479 rtnbit0 lestate_update_param 
-0x5577 021480 fetch 2 ,mem_le_event_count 
-0x5578 021481 fetcht 2 ,mem_le_instant 
-0x5579 021482 isub temp ,pdata 
-0x557a 021483 nrtn positive 
-0x557b 021484 store 2 ,mem_pdatatemp 
-0x557c 021485 bpatchx patch2a_7 ,mem_patch2a 
-0x557d 021486 fetch 1 ,mem_le_state 
-0x557e 021487 set0 lestate_update_param ,pdata 
-0x557f 021488 set0 lestate_got_first_packet ,pdata 
-0x5580 021489 store 1 ,mem_le_state 
-0x5581 021490 fetch 4 ,mem_le_anchor 
-0x5582 021491 fetcht 2 ,mem_le_tsniff 
-0x5583 021492 storet 2 ,mem_temp 
-0x5584 021493 isub temp ,rega 
-0x5585 021494 bpatchx patch2b_0 ,mem_patch2b 
-0x5586 021495 fetch 1 ,mem_le_new_param 
-0x5587 021496 store 1 ,mem_le_window_size 
-0x5588 021497 ifetcht 2 ,contr 
-0x5589 021498 ifetch 2 ,contr 
-0x558a 021499 lshift2 pdata ,pdata 
-0x558b 021500 store 2 ,mem_le_tsniff 
-0x558c 021501 lshift2 temp ,temp 
-0x558d 021502 iadd temp ,pdata 
-0x558e 021503 ifetcht 4 ,contr 
-0x558f 021504 storet 4 ,mem_le_slave_latency 
-0x5590 021505 iadd rega ,pdata 
-0x5591 021506 copy pdata ,regab 
-0x5592 021507 fetch 2 ,mem_le_tsniff 
-0x5593 021508 fetcht 2 ,mem_temp 
-0x5594 021509 isub temp ,pdata 
-0x5595 021510 fetcht 2 ,mem_pdatatemp 
-0x5596 021511 imul32 temp ,pdata 
-0x5597 021512 iadd regab ,pdata 
-0x5598 021513 store 4 ,mem_le_anchor 
-0x5599 021514 call le_receive_window_size 
-0x559a 021515 fetch 2 ,mem_le_superto 
-0x559b 021516 store 2 ,mem_le_init_superto 
-0x559c 021517 rtn 
-:      021520 le_update_channel_map:
-0x559d 021521 bpatchx patch2b_1 ,mem_patch2b 
-0x559e 021522 fetch 1 ,mem_le_state 
-0x559f 021523 rtnbit0 lestate_update_map 
-0x55a0 021524 fetch 2 ,mem_le_event_count 
-0x55a1 021525 fetcht 2 ,mem_le_instant 
-0x55a2 021526 isub temp ,pdata 
-0x55a3 021527 nrtn positive 
-0x55a4 021528 fetch 1 ,mem_le_state 
-0x55a5 021529 set0 lestate_update_map ,pdata 
-0x55a6 021530 store 1 ,mem_le_state 
-0x55a7 021531 fetch 5 ,mem_le_new_map 
-0x55a8 021532 store 5 ,mem_le_channel_map 
-0x55a9 021533 branch le_calc_channel_map 
-:      021536 le_acknowledge:
-0x55aa 021537 bpatchx patch2b_2 ,mem_patch2b 
-0x55ab 021538 call le_supervision_flush 
-0x55ac 021539 call le_check_wak 
-0x55ad 021540 fetch 1 ,mem_le_rxbuf 
-0x55ae 021541 isolate1 md ,pdata 
-0x55af 021542 setflag true ,mark_ble_rx_md ,mark 
-0x55b0 021543 rshift pdata ,pdata 
-0x55b1 021544 ixor temp ,pdata 
-0x55b2 021545 isolate1 nesn ,pdata 
-0x55b3 021546 setflag true ,mark_old_packet ,mark 
-0x55b4 021547 rtnmark1 mark_old_packet 
-0x55b5 021548 fetch 1 ,mem_le_rxbuf + 1 
-0x55b6 021549 branch le_ack_unenc ,blank 
-0x55b7 021550 fetch 1 ,mem_le_state 
-0x55b8 021551 bbit0 lestate_encryption ,le_ack_unenc 
-0x55b9 021552 call load_sk 
-0x55ba 021553 call le_decrypt 
-0x55bb 021554 nrtn blank 
-:      021555 le_ack_unenc:
-0x55bc 021556 fetcht 1 ,mem_le_arq 
-0x55bd 021557 setflip nesn ,temp 
-0x55be 021558 storet 1 ,mem_le_arq 
-0x55bf 021559 rtn 
-:      021562 le_check_wak:
-0x55c0 021563 bpatchx patch2b_3 ,mem_patch2b 
-0x55c1 021564 fetcht 1 ,mem_le_arq 
-0x55c2 021565 isolate0 wak ,temp 
-0x55c3 021566 rtn true 
-0x55c4 021567 fetch 1 ,mem_le_rxbuf 
-0x55c5 021568 lshift pdata ,pdata 
-0x55c6 021569 ixor temp ,pdata 
-0x55c7 021570 rtnbit0 sn 
-0x55c8 021571 set0 wak ,temp 
-0x55c9 021572 setflip sn ,temp 
-0x55ca 021573 storet 1 ,mem_le_arq 
-0x55cb 021574 compare 3 ,temp ,3 
-0x55cc 021575 nrtn true 
-0x55cd 021576 fetch 1 ,mem_le_txpayload 
-0x55ce 021577 beq ll_start_enc_req ,le_set_enc 
-0x55cf 021578 fetch 1 ,mem_le_enc_state 
-0x55d0 021579 beq flag_le_enc_pause ,le_clear_enc 
-0x55d1 021580 rtn 
-:      021583 le_set_enc:
-0x55d2 021584 fetch 1 ,mem_le_state 
-0x55d3 021585 set1 lestate_encryption ,pdata 
-0x55d4 021586 store 1 ,mem_le_state 
-0x55d5 021587 rtn 
-:      021589 le_clear_enc:
-0x55d6 021590 bpatchx patch2b_4 ,mem_patch2b 
-0x55d7 021591 jam flag_le_enc_null ,mem_le_enc_state 
-0x55d8 021592 arg 0 ,pdata 
-0x55d9 021593 store 4 ,mem_le_last_mic 
-0x55da 021594 store 5 ,mem_le_pcnt_tx 
-0x55db 021595 set1 39 ,pdata 
-0x55dc 021596 store 5 ,mem_le_pcnt_rx 
-0x55dd 021597 fetch 1 ,mem_le_state 
-0x55de 021598 set0 lestate_encryption ,pdata 
-0x55df 021599 store 1 ,mem_le_state 
-0x55e0 021600 rtn 
-:      021603 le_wait_adv:
-0x55e1 021604 bpatchx patch2b_5 ,mem_patch2b 
-0x55e2 021605 call le_next_adv_channel 
-0x55e3 021606 call le_receive_adv 
-0x55e4 021607 fetch 1 ,mem_le_adv_waitcnt 
-0x55e5 021608 increase 1 ,pdata 
-0x55e6 021609 store 1 ,mem_le_adv_waitcnt 
-0x55e7 021610 rtn 
-:      021613 le_scan:
-0x55e8 021614 bpatchx patch2b_6 ,mem_patch2b 
-0x55e9 021615 fetch 1 ,mem_le_scan_enable 
-0x55ea 021616 rtnne le_scan_enable 
-0x55eb 021617 arg le_scan_interval_timer ,queue 
-0x55ec 021618 call timer_check 
-0x55ed 021619 nrtn blank 
-0x55ee 021620 fetch 2 ,mem_le_scan_interval 
-0x55ef 021621 fetcht 2 ,mem_le_scan_window 
-0x55f0 021622 isub temp ,pdata 
-0x55f1 021623 arg le_scan_interval_timer ,queue 
-0x55f2 021624 call timer_init 
-0x55f3 021625 disable master 
-0x55f4 021626 call le_init_adv 
-0x55f5 021627 call le_wait_adv 
-0x55f6 021628 nrtn match 
-0x55f7 021629 bpatchx patch2b_7 ,mem_patch2b 
-0x55f8 021630 fetch 6 ,mem_le_rxbuf + 2 
-0x55f9 021631 store 6 ,mem_le_plap 
-0x55fa 021634 fetch 1 ,mem_le_adv_rcv 
-0x55fb 021635 increase 1 ,pdata 
-0x55fc 021636 store 1 ,mem_le_adv_rcv 
-0x55fd 021637 call le_create_conn 
-0x55fe 021638 rtn master 
-0x55ff 021639 call le_send_scan_request 
-0x5600 021640 nrtn match 
-0x5601 021641 bpatchx patch2c_0 ,mem_patch2c 
-0x5602 021642 fetch 1 ,mem_le_scanrsp_rcv 
-0x5603 021643 increase 1 ,pdata 
-0x5604 021644 store 1 ,mem_le_scanrsp_rcv 
-0x5605 021645 fetch 9 ,mem_le_rxbuf + 8 
-0x5606 021646 store 9 ,mem_tmp_buffer 
-0x5607 021647 rtn 
-:      021649 le_create_conn:
-0x5608 021650 bpatchx patch2c_1 ,mem_patch2c 
-0x5609 021651 fetch 1 ,mem_cmd_le_create_conn 
-0x560a 021652 rtnne hci_cmd_le_create_conn 
-0x560b 021653 fetch 6 ,mem_le_plap 
-0x560c 021654 fetcht 6 ,mem_le_conn_peer_addr 
-0x560d 021655 isub temp ,null 
-0x560e 021656 nrtn zero 
-0x560f 021657 call context_new 
-0x5610 021658 nrtn zero 
-0x5611 021659 call le_connect_request 
-0x5612 021660 call le_init_master 
-0x5613 021661 bpatchx patch2c_2 ,mem_patch2c 
-0x5614 021662 jam 0 ,mem_hci_cmd 
-0x5615 021663 jam 0 ,mem_le_peer_sca 
-0x5616 021664 jam 0 ,mem_le_scan_enable 
-0x5617 021665 jam 0 ,mem_cmd_le_create_conn 
-0x5618 021666 branch context_save 
-:      021668 le_scan_check_sender_addr_type:
-0x5619 021669 arg 1 ,rega 
-0x561a 021670 fetch 1 ,mem_le_rxbuf 
-0x561b 021671 rtnbit1 le_sender_addr_bit 
-0x561c 021672 arg 0 ,rega 
-0x561d 021673 rtn 
-:      021677 le_prepare_tx:
-0x561e 021678 bpatchx patch2c_3 ,mem_patch2c 
-0x561f 021679 fetch 1 ,mem_le_arq 
-0x5620 021680 rtnbit1 wak 
-0x5621 021681 call le_check_tx_md 
-0x5622 021682 call le_fifo_get_first_tx_ptr 
-0x5623 021683 branch le_send_empty ,blank 
-0x5624 021684 ifetch 1 ,contr 
-0x5625 021685 ifetcht 1 ,contr 
-0x5626 021686 copy temp ,rega 
-0x5627 021687 isub rega ,pdata 
-0x5628 021688 arg le_max_paket_len ,temp 
-0x5629 021689 call not_greater_than 
-0x562a 021690 copy pdata ,temp 
-0x562b 021691 ifetch 1 ,contr 
-0x562c 021692 copy pdata ,type 
-0x562d 021693 copy rega ,pdata 
-0x562e 021694 iadd contr ,contr 
-0x562f 021695 arg mem_le_txpayload ,contw 
-0x5630 021696 copy temp ,loopcnt 
-0x5631 021697 call memcpy 
-0x5632 021698 call le_update_tx_type 
-0x5633 021699 call le_send_packet 
-0x5634 021701 call le_fifo_get_first_tx_ptr 
-0x5635 021702 ifetch 1 ,contr 
-0x5636 021703 copy pdata ,rega 
-0x5637 021704 copy contr ,regc 
-0x5638 021705 ifetcht 1 ,contr 
-0x5639 021706 copy temp ,regb 
-0x563a 021707 isub regb ,pdata 
-0x563b 021708 arg le_max_paket_len ,temp 
-0x563c 021709 call not_greater_than 
-0x563d 021710 iadd regb ,pdata 
-0x563e 021711 istore 1 ,regc 
-0x563f 021712 isub rega ,null 
-0x5640 021713 nrtn zero 
-0x5641 021714 branch le_fifo_release_first_node 
-:      021717 le_check_tx_md:
-0x5642 021718 call le_check_continue 
-0x5643 021719 rtnmark1 mark_ble_tx_md 
-0x5644 021720 fetch 1 ,mem_le_configuration 
-0x5645 021721 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
-0x5646 021722 call le_fifo_get_second_tx_ptr 
-0x5647 021723 branch le_clear_md ,blank 
-0x5648 021724 branch le_set_md 
-:      021727 le_check_continue:
-0x5649 021728 call le_fifo_get_first_tx_ptr 
-0x564a 021729 branch le_clear_md ,blank 
-0x564b 021730 ifetch 1 ,contr 
-0x564c 021731 ifetcht 1 ,contr 
-0x564d 021732 isub temp ,pdata 
-0x564e 021733 sub pdata ,le_max_paket_len ,null 
-0x564f 021734 branch le_clear_md ,positive 
-:      021735 le_set_md:
-0x5650 021736 set1 mark_ble_tx_md ,mark 
-0x5651 021737 rtn 
-:      021739 le_clear_md:
-0x5652 021740 set0 mark_ble_tx_md ,mark 
-0x5653 021741 rtn 
-:      021743 le_update_tx_type:
-0x5654 021744 copy rega ,pdata 
-0x5655 021745 rtn blank 
-0x5656 021746 arg llid_continue ,type 
-0x5657 021747 rtn 
-:      021750 le_att_check_notification_enable:
-0x5658 021751 bpatchx patch2c_4 ,mem_patch2c 
-0x5659 021752 increase 1 ,temp 
-0x565a 021753 call le_att_get_handle_ptr 
-0x565b 021754 increase -2 ,contr 
-0x565c 021755 ifetch 2 ,contr 
-0x565d 021756 arg client_charactertic_configuration ,temp 
-0x565e 021757 isub temp ,null 
-0x565f 021758 nrtn zero 
-0x5660 021759 increase 1 ,contr 
-0x5661 021760 copy contr ,rega 
-0x5662 021761 ifetch 1 ,contr 
-0x5663 021762 rtn 
-:      021765 le_send_empty:
-0x5664 021766 force 0 ,temp 
-0x5665 021767 force 1 ,type 
-:      021769 le_send_packet:
-0x5666 021770 bpatchx patch2c_5 ,mem_patch2c 
-0x5667 021771 storet 1 ,mem_le_txlen 
-0x5668 021772 fetcht 1 ,mem_le_arq 
-0x5669 021773 set1 wak ,temp 
-0x566a 021774 and temp ,0xfc ,pdata 
-0x566b 021775 ior type ,pdata 
-0x566c 021776 store 1 ,mem_le_arq 
-0x566d 021777 and_into 0x1f ,pdata 
-0x566e 021778 isolate1 mark_ble_tx_md ,mark 
-0x566f 021779 setflag true ,md ,pdata 
-0x5670 021780 store 1 ,mem_le_txheader 
-0x5671 021782 fetch 1 ,mem_le_txheader 
-0x5672 021783 compare 1 ,type ,3 
-0x5673 021784 nbranch le_send_no_txlen ,true 
-0x5674 021785 fetch 1 ,mem_le_txlen 
-0x5675 021786 rtn blank 
-:      021787 le_send_no_txlen:
-0x5676 021788 fetch 1 ,mem_le_state 
-0x5677 021789 rtnbit0 lestate_encryption 
-0x5678 021790 call load_sk 
-0x5679 021791 branch le_encrypt 
-:      021794 get_lpm_wake_ble_rx_lock:
-0x567a 021795 arg wake_lock_ble_rx ,queue 
-0x567b 021796 branch lpm_get_wake_lock 
-:      021798 put_lpm_wake_ble_rx_lock:
-0x567c 021799 arg wake_lock_ble_rx ,queue 
-0x567d 021800 branch lpm_put_wake_lock 
-:      021803 le_parse:
-0x567e 021804 bpatchx patch2c_6 ,mem_patch2c 
-0x567f 021805 rtnmark1 mark_old_packet 
-0x5680 021806 call le_fifo_check_full 
-0x5681 021807 nrtn blank 
-0x5682 021808 fetch 1 ,mem_le_rxbuf 
-0x5683 021809 and pdata ,0x3 ,pdata 
-0x5684 021810 store 1 ,mem_le_packet_llid 
-0x5685 021811 ifetch 1 ,contr 
-0x5686 021812 and pdata ,0x1f ,pdata 
-0x5687 021813 store 1 ,mem_le_packet_size 
-0x5688 021814 rtn blank 
-0x5689 021815 copy contr ,pdata 
-0x568a 021816 store 2 ,mem_le_payload_ptr 
-0x568b 021817 fetch 1 ,mem_le_packet_llid 
-0x568c 021818 beq llid_le_ll ,le_parse_ll 
-:      021819 le_parse_l2cap:
-0x568d 021820 call le_check_l2cap_complete 
-0x568e 021821 nbranch get_lpm_wake_ble_rx_lock ,user 
-0x568f 021822 call put_lpm_wake_ble_rx_lock 
-0x5690 021823 fetch 2 ,mem_le_payload_ptr 
-0x5691 021824 copy pdata ,contr 
-0x5692 021825 ifetch 2 ,contr 
-0x5693 021826 store 2 ,mem_le_l2cap_size 
-0x5694 021827 bpatchx patch2c_7 ,mem_patch2c 
-0x5695 021828 ifetch 2 ,contr 
-0x5696 021829 beq le_l2cap_cid_att ,le_parse_att 
-0x5697 021830 beq le_l2cap_cid_smp ,le_parse_smp 
-0x5698 021831 beq le_l2cap_cid_signal ,le_parse_signaling 
-0x5699 021832 rtn 
-:      021835 le_check_l2cap_complete:
-0x569a 021836 fetch 1 ,mem_le_packet_llid 
-0x569b 021837 beq llid_start ,le_check_l2cap_llid_start 
-0x569c 021838 beq llid_continue ,le_check_l2cap_llid_continue 
-0x569d 021839 rtn 
-:      021844 le_check_l2cap_cid_legal:
-0x569e 021845 call enable_user 
-0x569f 021846 arg le_l2cap_cid_att ,temp 
-0x56a0 021847 isub pdata ,null 
-0x56a1 021848 rtn zero 
-0x56a2 021849 arg le_l2cap_cid_signal ,temp 
-0x56a3 021850 isub pdata ,null 
-0x56a4 021851 rtn zero 
-0x56a5 021852 arg le_l2cap_cid_smp ,temp 
-0x56a6 021853 isub pdata ,null 
-0x56a7 021854 rtn zero 
-0x56a8 021855 branch disable_user 
-:      021858 le_check_l2cap_llid_start:
-0x56a9 021859 fetch 2 ,mem_le_payload_ptr 
-0x56aa 021860 copy pdata ,contr 
-0x56ab 021861 ifetch 2 ,contr 
-0x56ac 021862 store 2 ,mem_le_l2cap_size 
-0x56ad 021863 ifetch 2 ,contr 
-0x56ae 021864 call le_check_l2cap_cid_legal 
-0x56af 021865 nrtn user 
-0x56b0 021866 fetcht 1 ,mem_le_packet_size 
-0x56b1 021867 storet 1 ,mem_le_packet_len_recved 
-0x56b2 021868 fetch 2 ,mem_le_l2cap_size 
-0x56b3 021869 increase 4 ,pdata 
-0x56b4 021870 isub temp ,null 
-0x56b5 021871 branch enable_user ,zero 
-0x56b6 021872 fetch 1 ,mem_le_packet_size 
-0x56b7 021873 copy pdata ,loopcnt 
-0x56b8 021874 arg mem_le_l2capbuf ,contw 
-0x56b9 021875 fetch 2 ,mem_le_payload_ptr 
-0x56ba 021876 copy pdata ,contr 
-0x56bb 021877 call memcpy 
-0x56bc 021878 branch disable_user 
-:      021883 le_check_l2cap_continue_legal:
-0x56bd 021884 call enable_user 
-0x56be 021885 fetch 1 ,mem_le_packet_len_recved 
-0x56bf 021886 nrtn blank 
-0x56c0 021887 branch disable_user 
-:      021889 le_check_l2cap_llid_continue:
-0x56c1 021890 call le_check_l2cap_continue_legal 
-0x56c2 021891 nrtn user 
-0x56c3 021892 fetch 1 ,mem_le_packet_len_recved 
-0x56c4 021893 arg mem_le_l2capbuf ,contw 
-0x56c5 021894 iadd contw ,rega 
-0x56c6 021895 fetcht 1 ,mem_le_packet_size 
-0x56c7 021896 iadd temp ,pdata 
-0x56c8 021897 store 1 ,mem_le_packet_len_recved 
-0x56c9 021898 fetch 1 ,mem_le_packet_size 
-0x56ca 021899 copy pdata ,loopcnt 
-0x56cb 021900 copy rega ,contw 
-0x56cc 021901 fetch 2 ,mem_le_payload_ptr 
-0x56cd 021902 copy pdata ,contr 
-0x56ce 021903 call memcpy_fast 
-0x56cf 021904 setarg mem_le_l2capbuf 
-0x56d0 021905 store 2 ,mem_le_payload_ptr 
-0x56d1 021906 fetch 2 ,mem_le_l2cap_size 
-0x56d2 021907 increase 4 ,pdata 
-0x56d3 021908 fetcht 1 ,mem_le_packet_len_recved 
-0x56d4 021909 isub temp ,null 
-0x56d5 021910 branch enable_user ,zero 
-0x56d6 021911 branch disable_user 
-:      021917 le_get_search_att_type:
-0x56d7 021918 call store_contr 
-0x56d8 021919 arg mem_le_search_att_type_length ,contw 
-:      021920 le_get_search_common:
-0x56d9 021921 fetch 2 ,mem_le_l2cap_size 
-0x56da 021922 increase -5 ,pdata 
-:      021923 le_get_search_common2:
-0x56db 021924 istore 1 ,contw 
-0x56dc 021925 copy pdata ,loopcnt 
-0x56dd 021926 call get_contr 
-0x56de 021927 branch memcpy_fast 
-:      021929 le_get_search_att_uuid:
-0x56df 021930 call store_contr 
-0x56e0 021931 arg mem_le_search_uuid_length ,contw 
-0x56e1 021932 branch le_get_search_common 
-:      021936 le_writeatt_cb:
-0x56e2 021937 fetch 2 ,mem_cb_att_write 
-0x56e3 021938 branch callback_func 
-:      021940 le_supervision_update:
-0x56e4 021941 fetcht 4 ,mem_le_supervision_timer 
-0x56e5 021942 call get_clkbt 
-0x56e6 021943 isub temp ,timeup 
-0x56e7 021944 deposit timeup 
-0x56e8 021945 fetcht 2 ,mem_le_superto 
-0x56e9 021946 lshift4 temp ,temp 
-0x56ea 021947 lshift temp ,temp 
-0x56eb 021948 isub temp ,pdata 
-0x56ec 021949 rtn 
-:      021951 le_supervision_flush:
-0x56ed 021952 call get_clkbt 
-0x56ee 021953 store 4 ,mem_le_supervision_timer 
-0x56ef 021954 rtn 
-:      021957 le_adv:
-0x56f0 021958 jam 36 ,mem_le_ch_mapped 
-0x56f1 021959 jam 0 ,mem_le_adv_channel_map_temp 
-:      021960 le_adv_loop:
-0x56f2 021961 bpatchx patch2d_0 ,mem_patch2d 
-0x56f3 021962 fetch 1 ,mem_le_adv_enable 
-0x56f4 021963 rtn blank 
-0x56f5 021964 arg le_adv_interval_timer ,queue 
-0x56f6 021965 call timer_check 
-0x56f7 021966 nrtn blank 
-0x56f8 021967 bpatchx patch2d_1 ,mem_patch2d 
-:      021968 le_adv_loop_tx:
-0x56f9 021969 disable master 
-0x56fa 021970 enable swfine 
-0x56fb 021971 call le_init_adv 
-0x56fc 021972 call le_next_adv_channel 
-0x56fd 021973 call le_send_adv_ind 
-0x56fe 021974 nbranch le_adv_not_match ,match 
-0x56ff 021975 fetch 1 ,mem_le_req_rcv 
-0x5700 021976 increase 1 ,pdata 
-0x5701 021977 store 1 ,mem_le_req_rcv 
-0x5702 021978 fetch 1 ,mem_le_rxbuf 
-0x5703 021979 and pdata ,0x0f ,pdata 
-0x5704 021980 beq scan_req ,le_send_scan_response 
-0x5705 021981 beq connect_req ,le_parse_connect_req 
-:      021982 le_adv_not_match:
-0x5706 021983 bpatchx patch2d_2 ,mem_patch2d 
-0x5707 021984 random pdata 
-0x5708 021985 arg 0x1ff ,temp 
-0x5709 021986 iand temp ,pdata 
-0x570a 021987 add pdata ,250 ,pdata 
-0x570b 021988 call delay 
-0x570c 021989 fetch 1 ,mem_le_adv_channel_map_temp 
-0x570d 021990 fetcht 1 ,mem_le_adv_channel_map 
-0x570e 021991 isub temp ,null 
-0x570f 021992 nbranch le_adv_loop ,zero 
-0x5710 021993 arg le_adv_interval_timer ,queue 
-0x5711 021994 fetch 2 ,mem_le_adv_interval 
-0x5712 021995 branch timer_init 
-:      021998 le_receive_window_size:
-0x5713 021999 bpatchx patch2d_3 ,mem_patch2d 
-0x5714 022000 fetch 1 ,mem_le_peer_sca 
-0x5715 022001 call le_sca_map 
-0x5716 022002 fetch 2 ,mem_le_tsniff 
-0x5717 022003 imul32 temp ,pdata 
-0x5718 022004 arg 375 ,temp 
-0x5719 022005 imul32 temp ,pdata 
-0x571a 022006 arg 100000 ,temp 
-0x571b 022007 idiv temp 
-0x571c 022008 fetch 1 ,mem_le_window_size 
-0x571d 022009 arg 20000 ,temp 
-0x571e 022010 imul32 temp ,pdata 
-0x571f 022011 iadd temp ,pdata 
-0x5720 022012 store 4 ,mem_le_transmit_window 
-0x5721 022013 bpatchx patch2d_4 ,mem_patch2d 
-0x5722 022014 fetch 2 ,mem_rx_window_sniff 
-0x5723 022015 call wait_div_end 
-0x5724 022016 quotient temp 
-0x5725 022017 iadd temp ,pdata 
-0x5726 022018 store 2 ,mem_le_receive_window 
-0x5727 022019 rtn 
-:      022021 le_parse_connect_req:
-0x5728 022022 bpatchx patch2d_5 ,mem_patch2d 
-0x5729 022023 fetch 6 ,mem_le_rxbuf + 8 
-0x572a 022024 fetcht 6 ,mem_le_lap 
-0x572b 022025 isub temp ,null 
-0x572c 022026 nrtn zero 
-0x572d 022027 call le_scan_check_sender_addr_type 
-0x572e 022028 copy rega ,pdata 
-0x572f 022029 store 1 ,mem_le_conn_peer_addr_type 
-0x5730 022030 fetch 7 ,mem_le_rxbuf + 21 
-0x5731 022031 store 7 ,mem_tmp_buffer 
-0x5732 022032 ifetch 8 ,contr 
-0x5733 022033 istore 8 ,contw 
-0x5734 022034 fetch 6 ,mem_le_rxbuf + 2 
-0x5735 022035 store 6 ,mem_le_plap 
-0x5736 022036 increase 6 ,contr 
-0x5737 022037 ifetch 8 ,contr 
-0x5738 022038 store 8 ,mem_le_access 
-0x5739 022039 ifetcht 2 ,contr 
-0x573a 022040 bpatchx patch2d_6 ,mem_patch2d 
-0x573b 022041 lshift2 temp ,temp 
-0x573c 022042 ifetch 2 ,contr 
-0x573d 022043 lshift2 pdata ,pdata 
-0x573e 022044 store 2 ,mem_le_tsniff 
-0x573f 022045 store 4 ,mem_le_anchor 
-0x5740 022046 isub temp ,pdata 
-0x5741 022047 add pdata ,-2 ,clke_bt 
-0x5742 022048 ifetch 9 ,contr 
-0x5743 022049 store 9 ,mem_le_slave_latency 
-0x5744 022050 bpatchx patch2d_7 ,mem_patch2d 
-0x5745 022051 ifetch 1 ,contr 
-0x5746 022052 rshift4 pdata ,temp 
-0x5747 022053 rshift temp ,temp 
-0x5748 022054 storet 1 ,mem_le_peer_sca 
-0x5749 022055 and_into 0x1f ,pdata 
-0x574a 022056 store 1 ,mem_le_hop 
-0x574b 022057 call le_receive_window_size 
-0x574c 022058 call le_calc_channel_map 
-0x574d 022059 call le_init_slave 
-0x574e 022060 call context_new 
-0x574f 022061 nrtn zero 
-0x5750 022062 bpatchx patch2e_0 ,mem_patch2e 
-0x5751 022063 call calc_clke_offset 
-0x5752 022064 call le_l2cap_reset_signaling_identifier 
-0x5753 022065 jam bt_evt_le_connected ,mem_fifo_temp 
-0x5754 022066 call ui_ipc_send_event 
-0x5755 022067 branch context_save 
-:      022070 le_init_attlist_search:
-0x5756 022071 bpatchx patch2e_1 ,mem_patch2e 
-0x5757 022072 fetch 2 ,mem_le_search_handle_start 
-0x5758 022073 iforce regb 
-0x5759 022074 fetch 2 ,mem_le_search_handle_end 
-0x575a 022075 iforce regc 
-0x575b 022076 fetch 2 ,mem_ui_le_uuid_table 
-0x575c 022077 iforce contr 
-0x575d 022078 enable user 
-0x575e 022079 rtn 
-:      022082 le_att_handle_inrange:
-0x575f 022083 ifetch 2 ,contr 
-0x5760 022084 rtn blank 
-0x5761 022085 isub regb ,null 
-0x5762 022086 nrtn positive 
-0x5763 022087 isub regc ,null 
-0x5764 022088 rtn zero 
-0x5765 022089 branch le_att_handle_blank ,positive 
-0x5766 022090 force 1 ,null 
-0x5767 022091 rtn 
-:      022092 le_att_handle_blank:
-0x5768 022093 force 0 ,pdata 
-0x5769 022094 rtn 
-:      022098 le_att_get_handle_ptr:
-0x576a 022099 call le_att_get_handle_ptr2 
-0x576b 022100 branch le_att_get_handle_ptr_found ,zero 
-0x576c 022101 rtn 
-:      022103 le_att_get_handle_ptr2:
-0x576d 022104 bpatchx patch2e_2 ,mem_patch2e 
-0x576e 022105 fetch 2 ,mem_ui_le_uuid_table 
-0x576f 022106 iforce contr 
-:      022107 le_att_get_handle_loop1:
-0x5770 022108 ifetch 2 ,contr 
-0x5771 022109 rtn blank 
-0x5772 022110 isub temp ,null 
-0x5773 022111 rtn zero 
-0x5774 022112 ifetch 1 ,contr 
-0x5775 022113 iadd contr ,contr 
-0x5776 022114 ifetch 1 ,contr 
-0x5777 022115 iadd contr ,contr 
-0x5778 022116 branch le_att_get_handle_loop1 
-:      022117 le_att_get_handle_ptr_found:
-0x5779 022118 ifetch 1 ,contr 
-0x577a 022119 iadd contr ,contr 
-0x577b 022120 rtn 
-:      022124 le_att_get_short_uuid_ptr:
-0x577c 022125 bpatchx patch2e_3 ,mem_patch2e 
-0x577d 022126 fetch 2 ,mem_ui_le_uuid_table 
-0x577e 022127 iforce contr 
-:      022128 le_att_get_short_uuid_loop:
-0x577f 022129 ifetch 2 ,contr 
-0x5780 022130 rtn blank 
-0x5781 022131 ifetch 1 ,contr 
-0x5782 022132 iadd contr ,contr 
-0x5783 022133 increase -2 ,contr 
-0x5784 022134 ifetch 2 ,contr 
-0x5785 022135 isub temp ,null 
-0x5786 022136 rtn zero 
-0x5787 022137 ifetch 1 ,contr 
-0x5788 022138 iadd contr ,contr 
-0x5789 022139 branch le_att_get_short_uuid_loop 
-:      022143 le_att_get_handle_info_from_ptr:
-0x578a 022144 fetch 2 ,mem_le_cur_attlist_start_ptr 
-0x578b 022145 branch le_att_get_handle_info_fast 
-:      022147 le_att_get_handle_info:
-0x578c 022148 bpatchx patch2e_4 ,mem_patch2e 
-0x578d 022149 fetch 2 ,mem_ui_le_uuid_table 
-:      022150 le_att_get_handle_info_fast:
-0x578e 022151 iforce contr 
-0x578f 022152 copy temp ,rega 
-:      022153 le_att_get_handle_loop:
-0x5790 022154 ifetch 2 ,contr 
-0x5791 022155 branch le_att_unfind_handle ,blank 
-0x5792 022156 isub rega ,null 
-0x5793 022157 branch le_att_finded_handle ,zero 
-0x5794 022158 ifetch 1 ,contr 
-0x5795 022159 iadd contr ,contr 
-0x5796 022160 ifetch 1 ,contr 
-0x5797 022161 iadd contr ,contr 
-0x5798 022162 branch le_att_get_handle_loop 
-:      022163 le_att_unfind_handle:
-0x5799 022164 branch disable_blank 
-:      022166 le_att_finded_handle:
-0x579a 022167 ifetch 1 ,contr 
-0x579b 022168 store 1 ,mem_le_cur_uuid_length 
-0x579c 022169 copy pdata ,loopcnt 
-0x579d 022170 arg mem_le_cur_uuid ,contw 
-0x579e 022171 call memcpy_fast 
-0x579f 022172 ifetch 1 ,contr 
-0x57a0 022173 store 1 ,mem_le_curr_att_len 
-0x57a1 022174 call store_contr 
-0x57a2 022175 branch enable_blank 
-:      022178 le_modified_name:
-0x57a3 022179 bpatchx patch2e_5 ,mem_patch2e 
-0x57a4 022180 call le_modified_name_att_list 
-0x57a5 022181 branch le_modified_name_adv 
-:      022183 le_modified_name_att_list:
-0x57a6 022184 arg uuid_chrctr_device_name ,temp 
-0x57a7 022185 call le_att_get_short_uuid_ptr 
-0x57a8 022186 rtn blank 
-0x57a9 022187 ifetch 1 ,contr 
-0x57aa 022188 copy contr ,contw 
-0x57ab 022189 fetcht 1 ,mem_le_name_len 
-0x57ac 022190 copy temp ,loopcnt 
-0x57ad 022191 isub temp ,null 
-0x57ae 022192 nbranch le_name_length_longer_than_att ,positive 
-0x57af 022193 isub temp ,temp 
-0x57b0 022194 arg mem_le_name ,contr 
-0x57b1 022195 call memcpy 
-0x57b2 022196 copy temp ,loopcnt 
-0x57b3 022197 ncall memcpy_empty ,zero 
-0x57b4 022198 rtn 
-:      022199 le_name_length_longer_than_att:
-0x57b5 022200 copy pdata ,loopcnt 
-0x57b6 022201 arg mem_le_name ,contr 
-0x57b7 022202 branch memcpy_fast 
-:      022205 le_modified_name_adv:
-0x57b8 022206 arg mem_le_adv_data_len + 32 ,regc 
-0x57b9 022207 arg mem_le_adv_data ,rega 
-0x57ba 022208 call le_modified_name_adv_and_scan 
-0x57bb 022209 setarg 0 
-0x57bc 022210 setflag user ,0 ,pdata 
-0x57bd 022211 store 1 ,mem_pdatatemp 
-0x57be 022212 arg mem_le_scan_data_len + 32 ,regc 
-0x57bf 022213 arg mem_le_scan_data ,rega 
-0x57c0 022214 call le_modified_name_adv_and_scan 
-0x57c1 022215 rtn user 
-0x57c2 022216 fetch 1 ,mem_pdatatemp 
-0x57c3 022217 branch assert ,blank 
-0x57c4 022218 rtn 
-:      022221 le_modified_name_adv_and_scan:
-0x57c5 022222 bpatchx patch2e_6 ,mem_patch2e 
-0x57c6 022223 call enable_user 
-0x57c7 022224 call clear_temp_block 
-0x57c8 022225 arg 0 ,regb 
-0x57c9 022226 arg mem_le_data_temp ,contw 
-0x57ca 022227 call le_modified_name_adv_loop 
-0x57cb 022228 fetch 1 ,mem_le_name_len 
-0x57cc 022229 add pdata ,1 ,temp 
-0x57cd 022230 iadd regb ,rega 
-0x57ce 022231 increase 2 ,rega 
-0x57cf 022232 sub rega ,0x1f ,null 
-0x57d0 022233 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
-0x57d1 022234 istoret 1 ,contw 
-0x57d2 022235 arg gap_adtype_local_name_complete ,temp 
-0x57d3 022236 istoret 1 ,contw 
-0x57d4 022237 iforce loopcnt 
-0x57d5 022238 call memcpy_fast 
-0x57d6 022239 copy rega ,regb 
-:      022240 le_modified_name_adv_and_scan_store_data:
-0x57d7 022241 deposit regb 
-0x57d8 022242 store 1 ,mem_le_data_len_temp 
-0x57d9 022243 arg mem_le_data_len_temp ,contr 
-0x57da 022244 setarg -32 
-0x57db 022245 iadd regc ,contw 
-0x57dc 022246 branch memcpy32 
-:      022248 le_modified_name_adv_and_scan_name_overflow:
-0x57dd 022249 call disable_user 
-0x57de 022250 branch le_modified_name_adv_and_scan_store_data 
-:      022252 le_modified_name_adv_loop:
-0x57df 022253 ifetch 1 ,rega 
-0x57e0 022254 rtn blank 
-0x57e1 022255 pincrease 1 
-0x57e2 022256 ifetcht 1 ,contr 
-0x57e3 022257 sub temp ,gap_adtype_local_name_complete ,null 
-0x57e4 022258 branch le_modified_name_adv_found_name ,zero 
-0x57e5 022259 iadd regb ,regb 
-0x57e6 022260 copy rega ,contr 
-0x57e7 022261 iforce loopcnt 
-0x57e8 022262 call memcpy_fast 
-0x57e9 022263 copy contr ,rega 
-:      022264 le_modified_name_adv_loop2:
-0x57ea 022265 deposit rega 
-0x57eb 022266 isub regc ,null 
-0x57ec 022267 rtn positive 
-0x57ed 022268 branch le_modified_name_adv_loop 
-:      022270 le_modified_name_adv_found_name:
-0x57ee 022271 iadd rega ,rega 
-0x57ef 022272 branch le_modified_name_adv_loop2 
-:      022275 memcpy_empty:
-0x57f0 022276 setarg space 
-0x57f1 022277 istore 1 ,contw 
-0x57f2 022278 loop memcpy_empty 
-0x57f3 022279 rtn 
-:      022282 le_lpm_set_mult:
-0x57f4 022283 bpatchx patch2e_7 ,mem_patch2e 
-0x57f5 022284 disable wake 
-0x57f6 022285 branch le_lpm_set_mult_attempt ,attempt 
-0x57f7 022286 nbranch le_lpm_lost ,match 
-:      022287 le_lpm_set_mult_attempt:
-0x57f8 022288 call lpm_match 
-0x57f9 022289 fetch 2 ,mem_rx_window_sniff 
-0x57fa 022290 store 2 ,mem_le_receive_window 
-0x57fb 022292 nbranch lpm_mult_short ,match 
-0x57fc 022293 bmark1 mark_old_packet ,lpm_mult_short 
-0x57fd 022295 fetch 1 ,mem_le_packet_size 
-0x57fe 022296 nbranch lpm_mult_short ,blank 
-0x57ff 022297 fetch 1 ,mem_le_txlen 
-0x5800 022298 nbranch lpm_mult_short ,blank 
-0x5801 022300 fetch 1 ,mem_le_configuration 
-0x5802 022301 bbit1 bit_ble_short_mult ,lpm_mult_short 
-0x5803 022303 fetch 1 ,mem_le_state 
-0x5804 022304 bbit1 lestate_update_param ,lpm_mult_short 
-0x5805 022305 branch lpm_mult_wait_timeout 
-:      022307 le_lpm_lost:
-0x5806 022308 fetcht 2 ,mem_rx_window_sniff 
-0x5807 022309 rshift temp ,temp 
-0x5808 022310 fetch 2 ,mem_le_receive_window 
-0x5809 022311 iadd temp ,pdata 
-0x580a 022312 store 2 ,mem_le_receive_window 
-0x580b 022313 branch lpm_lost 
-:      022316 le_set_config_fixed_tk:
-0x580c 022317 arg bit_ble_passkey_fixed_key ,queue 
-0x580d 022318 branch le_set_config 
-:      022320 le_clr_config_fixed_tk:
-0x580e 022321 arg bit_ble_passkey_fixed_key ,queue 
-0x580f 022322 branch le_clr_config 
-:      022324 le_set_config_fixed_ltk:
-0x5810 022325 arg bit_ble_pairing_fixed_ltk ,queue 
-0x5811 022326 branch le_set_config 
-:      022328 le_clr_config_fixed_ltk:
-0x5812 022329 arg bit_ble_pairing_fixed_ltk ,queue 
-0x5813 022330 branch le_clr_config 
-:      022332 le_set_config_more_data:
-0x5814 022333 arg bit_ble_transmit_packet_by_md ,queue 
-0x5815 022334 branch le_set_config 
-:      022336 le_clr_config_more_data:
-0x5816 022337 arg bit_ble_transmit_packet_by_md ,queue 
-0x5817 022338 branch le_clr_config 
-:      022340 le_set_config_read_authentication:
-0x5818 022341 arg bit_ble_read_auth ,queue 
-0x5819 022342 branch le_set_config 
-:      022344 le_clr_config_read_authentication:
-0x581a 022345 arg bit_ble_read_auth ,queue 
-0x581b 022346 branch le_clr_config 
-:      022348 le_set_config_write_authentication:
-0x581c 022349 arg bit_ble_write_auth ,queue 
-0x581d 022350 branch le_set_config 
-:      022352 le_clr_config_write_authentication:
-0x581e 022353 arg bit_ble_write_auth ,queue 
-0x581f 022354 branch le_clr_config 
-:      022356 le_set_config_short_mult:
-0x5820 022357 arg bit_ble_short_mult ,queue 
-0x5821 022358 branch le_set_config 
-:      022360 le_clr_config_short_mult:
-0x5822 022361 arg bit_ble_short_mult ,queue 
-0x5823 022362 branch le_clr_config 
-:      022365 le_set_config:
-0x5824 022366 fetch 1 ,mem_le_configuration 
-0x5825 022367 qset1 pdata 
-0x5826 022368 store 1 ,mem_le_configuration 
-0x5827 022369 rtn 
-:      022371 le_clr_config:
-0x5828 022372 fetch 1 ,mem_le_configuration 
-0x5829 022373 qset0 pdata 
-0x582a 022374 store 1 ,mem_le_configuration 
-0x582b 022375 rtn 
-:      022377 le_set_fixed_ltk:
-0x582c 022378 setarg 0x112233 
-0x582d 022379 store 3 ,mem_le_fixed_ltk 
-0x582e 022380 setarg 0x445566 
-0x582f 022381 istore 3 ,contw 
-0x5830 022382 setarg 0x778899 
-0x5831 022383 istore 3 ,contw 
-0x5832 022384 setarg 0x001122 
-0x5833 022385 istore 3 ,contw 
-0x5834 022386 setarg 0x334455 
-0x5835 022387 istore 3 ,contw 
-0x5836 022388 setarg 0x66 
-0x5837 022389 istore 1 ,contw 
-0x5838 022390 rtn 
-:      022393 le_set_justwork:
-0x5839 022394 setarg 0x01000302 
-0x583a 022395 store 4 ,mem_le_pres 
-0x583b 022396 setarg 0x010010 
-0x583c 022397 store 3 ,mem_le_pres_max_keysize 
-0x583d 022398 jam 1 ,mem_le_pairing_mode 
-0x583e 022399 rtn 
-:      022403 le_fifo_malloc_tx_empty:
-0x583f 022404 arg 0 ,rega 
-0x5840 022405 arg llid_empty ,type 
-0x5841 022406 branch le_fifo_malloc_tx 
-:      022410 le_fifo_malloc_tx_ll:
-0x5842 022411 arg llid_le_ll ,type 
-0x5843 022412 call le_fifo_malloc_tx 
-0x5844 022413 copy regb ,pdata 
-0x5845 022414 istore 1 ,contw 
-0x5846 022415 rtn 
-:      022419 le_fifo_malloc_tx_l2cap:
-0x5847 022420 force llid_l2cap_start ,type 
-0x5848 022421 increase 4 ,rega 
-0x5849 022422 call le_fifo_malloc_tx 
-0x584a 022423 increase -4 ,rega 
-0x584b 022424 copy rega ,pdata 
-0x584c 022425 istore 2 ,contw 
-0x584d 022426 copy regb ,pdata 
-0x584e 022427 istore 2 ,contw 
-0x584f 022428 rtn 
-:      022432 le_fifo_malloc_tx:
-0x5850 022433 sub rega ,240 ,null 
-0x5851 022434 nbranch assert ,positive 
-0x5852 022435 fetch 1 ,mem_le_tx_buff_used 
-0x5853 022436 arg 1 ,temp 
-0x5854 022437 arg le_tx_buff_count ,loopcnt 
-:      022438 le_fifo_malloc_tx_loop:
-0x5855 022439 iand temp ,null 
-0x5856 022440 branch le_fifo_malloc_tx_got_empty ,zero 
-0x5857 022441 lshift temp ,temp 
-0x5858 022442 loop le_fifo_malloc_tx_loop 
-0x5859 022443 branch assert 
-:      022444 le_fifo_malloc_tx_got_empty:
-0x585a 022445 ixor temp ,pdata 
-0x585b 022446 store 1 ,mem_le_tx_buff_used 
-0x585c 022447 sub loopcnt ,le_tx_buff_count ,pdata 
-0x585d 022448 lshift4 pdata ,pdata 
-0x585e 022449 lshift4 pdata ,pdata 
-0x585f 022450 arg mem_le_tx_buffer0 ,temp 
-0x5860 022451 iadd temp ,temp 
-:      022452 le_fifo_tx_find_empty_ptr:
-0x5861 022453 arg 0 ,loopcnt 
-0x5862 022454 arg mem_le_tx_ptr0 ,contr 
-:      022455 le_fifo_tx_find_empty_ptr_loop:
-0x5863 022456 ifetch 2 ,contr 
-0x5864 022457 branch le_fifo_tx_found_empty_ptr ,blank 
-0x5865 022458 copy loopcnt ,pdata 
-0x5866 022459 increase 1 ,loopcnt 
-0x5867 022460 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
-0x5868 022461 branch assert 
-:      022464 le_fifo_tx_found_empty_ptr:
-0x5869 022465 increase -2 ,contr 
-0x586a 022466 istoret 2 ,contr 
-0x586b 022467 copy temp ,contw 
-0x586c 022468 copy rega ,pdata 
-0x586d 022469 istore 1 ,contw 
-0x586e 022470 setarg 0 
-0x586f 022471 istore 1 ,contw 
-0x5870 022472 copy type ,pdata 
-0x5871 022473 istore 1 ,contw 
-0x5872 022474 rtn 
-:      022478 le_fifo_get_first_tx_ptr:
-0x5873 022479 fetch 2 ,mem_le_tx_ptr0 
-0x5874 022480 copy pdata ,contr 
-0x5875 022481 rtn 
-:      022483 le_fifo_get_second_tx_ptr:
-0x5876 022484 fetch 2 ,mem_le_tx_ptr1 
-0x5877 022485 copy pdata ,contr 
-0x5878 022486 rtn 
-:      022488 le_fifo_get_last_tx_ptr:
-0x5879 022489 call le_fifo_get_last_tx_ptr0 
-0x587a 022490 copy pdata ,contr 
-0x587b 022491 rtn 
-:      022492 le_fifo_get_last_tx_ptr0:
-0x587c 022493 fetch 2 ,mem_le_tx_ptr3 
-0x587d 022494 nrtn blank 
-0x587e 022495 fetch 2 ,mem_le_tx_ptr2 
-0x587f 022496 nrtn blank 
-0x5880 022497 fetch 2 ,mem_le_tx_ptr1 
-0x5881 022498 nrtn blank 
-0x5882 022499 fetch 2 ,mem_le_tx_ptr0 
-0x5883 022500 rtn 
-:      022502 le_fifo_get_first_l2cap_ptr:
-0x5884 022503 call le_fifo_get_first_tx_ptr 
-0x5885 022504 increase 3 ,contr 
-0x5886 022505 rtn 
-:      022507 le_fifo_get_first_att_ptr:
-0x5887 022508 call le_fifo_get_first_tx_ptr 
-0x5888 022509 increase 7 ,contr 
-0x5889 022510 rtn 
-:      022512 le_fifo_get_last_att_ptr:
-0x588a 022513 call le_fifo_get_last_tx_ptr 
-0x588b 022514 increase 7 ,contr 
-0x588c 022515 rtn 
-:      022517 le_fifo_get_last_l2cap_ptr:
-0x588d 022518 call le_fifo_get_last_tx_ptr 
-0x588e 022519 increase 3 ,contr 
-0x588f 022520 rtn 
-:      022524 le_fifo_check_full:
-0x5890 022525 fetch 2 ,mem_le_tx_ptr3 
-0x5891 022526 rtn 
-:      022529 le_fifo_check_nearly_full:
-0x5892 022530 fetch 2 ,mem_le_tx_ptr2 
-0x5893 022531 rtn 
-:      022534 le_fifo_check_empty:
-0x5894 022535 fetch 2 ,mem_le_tx_ptr0 
-0x5895 022536 rtn 
-:      022539 le_fifo_release_first_node:
-0x5896 022540 fetch 2 ,mem_le_tx_ptr0 
-0x5897 022541 arg mem_le_tx_buffer0 ,temp 
-0x5898 022542 isub temp ,pdata 
-0x5899 022543 rshift4 pdata ,pdata 
-0x589a 022544 rshift4 pdata ,queue 
-0x589b 022545 fetch 1 ,mem_le_tx_buff_used 
-0x589c 022546 qset0 pdata 
-0x589d 022547 store 1 ,mem_le_tx_buff_used 
-0x589e 022548 arg 0 ,loopcnt 
-:      022549 le_fifo_release_first_node_loop:
-0x589f 022550 lshift loopcnt ,pdata 
-0x58a0 022551 arg mem_le_tx_ptr1 ,temp 
-0x58a1 022552 iadd temp ,temp 
-0x58a2 022553 ifetch 2 ,temp 
-0x58a3 022554 increase -2 ,temp 
-0x58a4 022555 istore 2 ,temp 
-0x58a5 022556 copy loopcnt ,pdata 
-0x58a6 022557 increase 1 ,loopcnt 
-0x58a7 022558 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
-0x58a8 022559 setarg 0 
-0x58a9 022560 istore 2 ,temp 
-0x58aa 022561 rtn 
-:      022567 le_parse_att:
-0x58ab 022568 ifetch 3 ,contr 
-0x58ac 022569 store 3 ,mem_le_att_opcode 
-0x58ad 022570 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
-0x58ae 022571 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
-0x58af 022572 beq attop_find_information_request ,le_parse_att_find_information_request 
-0x58b0 022573 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
-0x58b1 022574 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
-0x58b2 022575 beq attop_read_request ,le_parse_att_read_request 
-0x58b3 022576 beq attop_read_blob_request ,le_parse_att_read_blob_request 
-0x58b4 022577 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
-0x58b5 022578 beq attop_write_request ,le_parse_att_write_request 
-0x58b6 022579 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
-0x58b7 022580 beq attop_execute_write_request ,le_parse_att_execute_write_request 
-0x58b8 022581 beq attop_write_command ,le_parse_att_write_command 
-0x58b9 022582 rtn 
-:      022585 le_send_att_exchange_mtu_requset:
-0x58ba 022586 force 3 ,rega 
-0x58bb 022587 call le_fifo_malloc_tx_l2cap_gatt 
-0x58bc 022588 setarg attop_exchange_mtu_request 
-0x58bd 022589 istore 1 ,contw 
-0x58be 022590 fetch 2 ,mem_le_local_mtu 
-0x58bf 022591 istore 2 ,contw 
-0x58c0 022592 rtn 
-:      022595 le_parse_att_exchange_mtu_request:
-0x58c1 022596 call le_parse_att_exchange_mtu_response 
-:      022597 le_send_att_exchange_mtu_response:
-0x58c2 022598 force 3 ,rega 
-0x58c3 022599 call le_fifo_malloc_tx_l2cap_gatt 
-0x58c4 022600 setarg attop_exchange_mtu_response 
-0x58c5 022601 istore 1 ,contw 
-0x58c6 022602 fetch 2 ,mem_le_local_mtu 
-0x58c7 022603 istore 2 ,contw 
-0x58c8 022604 rtn 
-:      022606 le_parse_att_exchange_mtu_response:
-0x58c9 022607 rshift8 pdata ,pdata 
-0x58ca 022608 store 2 ,mem_le_remote_mtu 
-0x58cb 022609 rtn 
-:      022611 le_parse_att_find_information_request:
-0x58cc 022612 call le_get_search_handle_start_end_common 
-0x58cd 022613 call enable_user 
-0x58ce 022614 branch le_send_att_find_information_response 
-:      022616 le_send_att_find_information_response:
-0x58cf 022617 arg 3 ,timeup 
-0x58d0 022618 call le_init_attlist_search 
-:      022619 le_send_att_find_information_res_loop:
-0x58d1 022620 call le_att_handle_inrange 
-0x58d2 022621 branch le_send_att_find_information_res_end ,blank 
-0x58d3 022622 nbranch le_send_att_find_information_res_next ,positive 
-0x58d4 022623 increase -2 ,contr 
-0x58d5 022624 call store_contr 
-0x58d6 022625 call get_contw 
-0x58d7 022626 nbranch le_send_att_find_information_res_store_info ,user 
-0x58d8 022627 call push_stack_rega_b_c 
-0x58d9 022628 call disable_user 
-0x58da 022629 force 20 ,rega 
-0x58db 022630 call le_fifo_malloc_tx_l2cap_gatt 
-0x58dc 022631 call pop_stack_rega_b_c 
-0x58dd 022632 setarg attop_find_information_response 
-0x58de 022633 istore 1 ,contw 
-0x58df 022634 setarg uuid_size_16bit 
-0x58e0 022635 istore 1 ,contw 
-:      022636 le_send_att_find_information_res_store_info:
-0x58e1 022637 call get_contr 
-0x58e2 022638 ifetch 2 ,contr 
-0x58e3 022639 istore 2 ,contw 
-0x58e4 022640 ifetch 1 ,contr 
-0x58e5 022641 copy pdata ,loopcnt 
-0x58e6 022642 call memcpy 
-0x58e7 022643 call store_contw 
-0x58e8 022644 increase -1 ,timeup 
-0x58e9 022645 branch le_send_att_find_information_res_end ,zero 
-:      022646 le_send_att_find_information_res_cont:
-0x58ea 022647 ifetch 1 ,contr 
-0x58eb 022648 iadd contr ,contr 
-0x58ec 022649 branch le_send_att_find_information_res_loop 
-:      022650 le_send_att_find_information_res_next:
-0x58ed 022651 ifetch 1 ,contr 
-0x58ee 022652 iadd contr ,contr 
-0x58ef 022653 branch le_send_att_find_information_res_cont 
-:      022654 le_send_att_find_information_res_end:
-0x58f0 022655 branch le_send_att_error_response_notfound ,user 
-0x58f1 022656 branch le_send_auto_len_by_mem 
-:      022659 le_parse_att_find_by_type_value_request:
-0x58f2 022660 call le_get_search_handle_start_end_common 
-0x58f3 022661 ifetch 2 ,contr 
-0x58f4 022662 store 2 ,mem_le_search_uuid 
-0x58f5 022663 call store_contr 
-0x58f6 022664 arg mem_le_search_att_type_length ,contw 
-0x58f7 022665 fetch 2 ,mem_le_l2cap_size 
-0x58f8 022666 increase -7 ,pdata 
-0x58f9 022667 call le_get_search_common2 
-0x58fa 022668 branch le_send_att_find_by_type_value_response 
-:      022671 le_start_end_handle_check_1:
-0x58fb 022672 disable user 
-0x58fc 022673 fetcht 2 ,mem_le_search_handle_start 
-0x58fd 022674 fetch 2 ,mem_le_search_handle_end 
-0x58fe 022675 isub temp ,null 
-0x58ff 022676 nbranch le_start_end_handle_check_1_fail ,positive 
-0x5900 022677 deposit temp 
-0x5901 022678 rtnne 0 
-:      022679 le_start_end_handle_check_1_fail:
-0x5902 022680 enable user 
-0x5903 022681 jam att_err_invalid_handle ,mem_le_err_code 
-0x5904 022682 branch le_send_att_error_response 
-:      022685 le_send_att_find_by_type_value_response:
-0x5905 022686 call le_start_end_handle_check_1 
-0x5906 022687 rtn user 
-0x5907 022688 fetcht 2 ,mem_le_search_uuid 
-0x5908 022689 setarg uuid_gatt_primary_service 
-0x5909 022690 isub temp ,null 
-0x590a 022691 branch le_send_att_find_by_type_value_res_primary ,zero 
-0x590b 022692 branch le_send_att_error_response_notfound 
-:      022695 le_send_att_find_by_type_value_res_primary:
-0x590c 022696 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
-0x590d 022697 fetcht 2 ,mem_le_search_handle_start 
-0x590e 022698 storet 2 ,mem_temp 
-0x590f 022699 call le_att_get_handle_info 
-0x5910 022700 nbranch le_send_att_error_response_notfound ,blank 
-:      022701 le_send_att_find_primary_search_loop:
-0x5911 022702 fetcht 2 ,mem_temp 
-0x5912 022703 call le_att_get_handle_info 
-0x5913 022704 nbranch le_send_att_error_response_notfound2 ,blank 
-0x5914 022705 copy contr ,rega 
-0x5915 022706 fetch 1 ,mem_le_curr_att_len 
-0x5916 022707 copy pdata ,loopcnt 
-0x5917 022708 fetcht 1 ,mem_le_search_att_type_length 
-0x5918 022709 isub temp ,null 
-0x5919 022710 nbranch le_send_att_find_primary_search_loop1 ,zero 
-0x591a 022711 arg mem_le_search_att_type ,regb 
-0x591b 022712 call string_compare 
-0x591c 022714 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
-0x591d 022716 fetch 2 ,mem_le_cur_uuid 
-0x591e 022717 fetcht 2 ,mem_le_search_uuid 
-0x591f 022718 isub temp ,null 
-0x5920 022719 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
-:      022720 le_send_att_find_primary_search_loop1:
-0x5921 022721 fetch 2 ,mem_temp 
-0x5922 022722 increase 1 ,pdata 
-0x5923 022723 store 2 ,mem_temp 
-0x5924 022724 branch le_send_att_find_primary_search_loop 
-:      022726 le_send_att_error_response_notfound2:
-0x5925 022727 fetch 1 ,mem_le_search_res 
-0x5926 022728 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
-0x5927 022729 branch le_send_att_error_response_notfound 
-:      022732 le_send_att_find_primary_search_end_start_handle_found:
-0x5928 022733 fetch 2 ,mem_le_cur_uuid 
-0x5929 022734 fetcht 2 ,mem_le_search_uuid 
-0x592a 022735 isub temp ,null 
-0x592b 022736 nbranch le_send_att_find_primary_search_loop1 ,zero 
-0x592c 022737 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
-0x592d 022739 fetcht 2 ,mem_temp 
-0x592e 022740 storet 2 ,mem_le_cur_handle_start 
-0x592f 022741 branch le_send_att_find_primary_search_loop1 
-:      022743 le_send_att_find_primary_search_end_ending_handle_found:
-0x5930 022744 fetch 1 ,mem_le_search_res 
-0x5931 022745 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
-0x5932 022746 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
-0x5933 022747 fetcht 2 ,mem_temp 
-0x5934 022748 increase -1 ,temp 
-0x5935 022749 storet 2 ,mem_le_cur_handle_end 
-:      022751 le_send_att_find_primary_search_end:
-0x5936 022752 arg 5 ,rega 
-0x5937 022753 call le_fifo_malloc_tx_l2cap_gatt 
-0x5938 022754 setarg attop_find_by_type_value_response 
-0x5939 022755 istore 1 ,contw 
-0x593a 022756 fetch 2 ,mem_le_cur_handle_start 
-0x593b 022757 istore 2 ,contw 
-0x593c 022758 fetch 2 ,mem_le_cur_handle_end 
-0x593d 022759 istore 2 ,contw 
-0x593e 022760 rtn 
-:      022764 le_parse_att_read_by_type_request:
-0x593f 022765 call le_get_search_handle_start_end_common 
-0x5940 022766 call le_get_search_att_uuid 
-0x5941 022767 branch le_send_att_read_by_type_response 
-:      022769 le_send_att_read_by_type_response:
-0x5942 022770 fetcht 2 ,mem_le_search_handle_start 
-0x5943 022771 storet 2 ,mem_temp 
-0x5944 022772 call le_init_attlist_search 
-0x5945 022773 call le_att_get_handle_ptr2 
-0x5946 022774 increase -2 ,contr 
-0x5947 022775 copy contr ,pdata 
-0x5948 022776 store 2 ,mem_le_cur_attlist_start_ptr 
-0x5949 022778 fetcht 2 ,mem_le_search_uuid 
-0x594a 022779 setarg uuid_chrctr_device_name 
-0x594b 022780 isub temp ,null 
-0x594c 022781 branch le_send_att_read_by_type_res_device_name ,zero 
-0x594d 022782 setarg uuid_gatt_characteristic 
-0x594e 022783 isub temp ,null 
-0x594f 022784 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
-0x5950 022785 arg 2 ,timeup 
-:      022786 le_send_att_read_by_type_response_loop:
-0x5951 022787 call le_att_check_handle_end 
-0x5952 022788 nbranch le_send_att_read_by_type_response_end ,positive 
-0x5953 022789 fetcht 2 ,mem_temp 
-0x5954 022790 call le_att_get_handle_info_from_ptr 
-0x5955 022791 beq 1 ,le_send_att_read_by_type_response_end 
-0x5956 022792 call le_att_same_uuid 
-0x5957 022793 nbranch le_send_att_read_by_type_response_next_handle ,zero 
-0x5958 022794 nbranch le_send_att_read_by_type_res_found_next ,user 
-0x5959 022795 disable user 
-0x595a 022796 arg 20 ,rega 
-0x595b 022797 call le_fifo_malloc_tx_l2cap_gatt 
-0x595c 022798 setarg attop_read_by_type_response 
-0x595d 022799 istore 1 ,contw 
-0x595e 022800 copy contw ,alarm 
-0x595f 022801 increase 1 ,contw 
-0x5960 022803 call le_send_att_read_by_type_write_properties 
-0x5961 022804 call le_att_next_handle 
-0x5962 022805 call le_att_get_handle_info_from_ptr 
-0x5963 022806 call le_send_att_read_by_type_write_uuid 
-0x5964 022807 fetch 1 ,mem_le_cur_uuid_length 
-0x5965 022808 increase 5 ,pdata 
-0x5966 022809 istore 1 ,alarm 
-0x5967 022810 fetch 1 ,mem_le_cur_uuid_length 
-0x5968 022811 beq 16 ,le_send_att_read_by_type_response_end 
-0x5969 022812 increase -1 ,timeup 
-0x596a 022813 branch le_send_att_read_by_type_response_end ,zero 
-:      022814 le_send_att_read_by_type_response_next_handle:
-0x596b 022815 call le_att_next_handle 
-0x596c 022816 branch le_send_att_read_by_type_response_loop 
-:      022817 le_send_att_read_by_type_response_end:
-0x596d 022818 branch le_send_att_error_response_notfound ,user 
-0x596e 022819 branch le_send_auto_len_by_mem 
-:      022821 le_send_att_read_by_type_res_found_next:
-0x596f 022822 call le_store_att_record 
-0x5970 022823 call le_att_next_handle 
-0x5971 022824 call le_att_get_handle_info_from_ptr 
-0x5972 022825 fetch 1 ,mem_le_cur_uuid_length 
-0x5973 022826 beq 16 ,le_send_att_read_by_type_response_end 
-0x5974 022828 call get_contw 
-0x5975 022829 fetch 2 ,mem_temp 
-0x5976 022830 increase -1 ,pdata 
-0x5977 022831 istore 2 ,contw 
-0x5978 022832 call le_write_att_record_common 
-0x5979 022833 call le_send_att_read_by_type_write_uuid 
-0x597a 022834 increase -1 ,timeup 
-0x597b 022835 branch le_send_att_read_by_type_response_end ,zero 
-0x597c 022836 branch le_send_att_read_by_type_response_next_handle 
-:      022839 le_send_att_read_by_type_write_properties:
-0x597d 022840 fetch 2 ,mem_temp 
-0x597e 022841 istore 2 ,contw 
-0x597f 022843 fetch 1 ,mem_le_curr_att_len 
-0x5980 022844 copy pdata ,loopcnt 
-0x5981 022845 call get_contr 
-0x5982 022846 call memcpy_fast 
-0x5983 022847 branch store_contw 
-:      022848 le_send_att_read_by_type_write_uuid:
-0x5984 022849 call get_contw 
-0x5985 022850 fetch 2 ,mem_temp 
-0x5986 022851 istore 2 ,contw 
-0x5987 022852 call store_contw 
-0x5988 022853 fetch 1 ,mem_le_cur_uuid_length 
-0x5989 022854 copy pdata ,loopcnt 
-0x598a 022855 call get_contw 
-0x598b 022856 call get_contr 
-0x598c 022857 isub loopcnt ,contr 
-0x598d 022858 increase -1 ,contr 
-0x598e 022859 call memcpy_fast 
-0x598f 022860 branch store_contw 
-:      022864 le_send_att_read_by_type_res_not_characteristic:
-0x5990 022865 fetcht 2 ,mem_le_search_handle_start 
-0x5991 022866 storet 2 ,mem_temp 
-:      022867 le_send_att_read_by_type_res_not_char_loop:
-0x5992 022868 call le_att_check_handle_end 
-0x5993 022869 nbranch le_send_att_error_response_notfound ,positive 
-0x5994 022870 call le_att_get_handle_info_from_ptr 
-0x5995 022871 beq 1 ,le_send_att_error_response_notfound 
-0x5996 022872 call le_att_same_uuid 
-0x5997 022873 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
-:      022875 le_send_att_read_by_type_res_not_char_common:
-0x5998 022876 arg 20 ,rega 
-0x5999 022877 call le_fifo_malloc_tx_l2cap_gatt 
-0x599a 022878 setarg attop_read_by_type_response 
-0x599b 022879 istore 1 ,contw 
-0x599c 022880 fetch 1 ,mem_le_curr_att_len 
-0x599d 022881 copy pdata ,loopcnt 
-0x599e 022882 increase 2 ,pdata 
-0x599f 022883 istore 1 ,contw 
-0x59a0 022884 fetch 2 ,mem_temp 
-0x59a1 022885 istore 2 ,contw 
-0x59a2 022886 call get_contr 
-0x59a3 022887 call memcpy_fast 
-0x59a4 022888 call store_contw 
-0x59a5 022889 branch le_send_auto_len_by_mem 
-:      022891 le_send_att_read_by_type_res_not_char_next:
-0x59a6 022892 call le_att_next_handle 
-0x59a7 022893 branch le_send_att_read_by_type_res_not_char_loop 
-:      022896 le_send_att_read_by_type_res_device_name:
-0x59a8 022897 arg uuid_chrctr_device_name ,temp 
-0x59a9 022898 call le_att_get_short_uuid_ptr 
-0x59aa 022899 rtn blank 
-0x59ab 022900 increase -5 ,contr 
-0x59ac 022901 ifetch 2 ,contr 
-0x59ad 022902 store 2 ,mem_temp 
-0x59ae 022903 arg 20 ,rega 
-0x59af 022904 call le_fifo_malloc_tx_l2cap_gatt 
-0x59b0 022905 setarg attop_read_by_type_response 
-0x59b1 022906 istore 1 ,contw 
-0x59b2 022907 fetch 1 ,mem_le_name_len 
-0x59b3 022908 copy pdata ,loopcnt 
-0x59b4 022909 increase 2 ,pdata 
-0x59b5 022910 istore 1 ,contw 
-0x59b6 022911 fetch 2 ,mem_temp 
-0x59b7 022912 istore 2 ,contw 
-0x59b8 022913 arg mem_le_name ,contr 
-0x59b9 022914 call memcpy_fast 
-0x59ba 022915 call store_contw 
-0x59bb 022916 branch le_send_auto_len_by_mem 
-:      022920 le_parse_att_read_request:
-0x59bc 022921 fetcht 2 ,mem_le_att_handle 
-0x59bd 022922 fetch 1 ,mem_le_configuration 
-0x59be 022923 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
-:      022925 le_send_att_read_response:
-0x59bf 022926 call le_att_get_handle_ptr 
-0x59c0 022927 branch le_send_att_error_response_notfound ,blank 
-0x59c1 022928 increase -2 ,contr 
-0x59c2 022929 ifetch 2 ,contr 
-0x59c3 022930 arg uuid_chrctr_device_name ,temp 
-0x59c4 022931 isub temp ,null 
-0x59c5 022932 branch le_send_device_name ,zero 
-0x59c6 022933 ifetch 1 ,contr 
-0x59c7 022934 sub pdata ,22 ,null 
-0x59c8 022935 branch le_send_att_read_response_less ,positive 
-0x59c9 022936 force 22 ,pdata 
-:      022937 le_send_att_read_response_less:
-0x59ca 022938 copy pdata ,regc 
-0x59cb 022939 call store_contr 
-0x59cc 022940 add regc ,1 ,rega 
-0x59cd 022941 call le_fifo_malloc_tx_l2cap_gatt 
-0x59ce 022942 setarg attop_read_response 
-0x59cf 022943 istore 1 ,contw 
-0x59d0 022944 copy regc ,loopcnt 
-0x59d1 022945 call get_contr 
-0x59d2 022946 branch memcpy 
-:      022948 le_send_device_name:
-0x59d3 022949 call store_contr 
-0x59d4 022950 fetch 1 ,mem_le_name_len 
-0x59d5 022951 add pdata ,1 ,rega 
-0x59d6 022952 call le_fifo_malloc_tx_l2cap_gatt 
-0x59d7 022953 setarg attop_read_response 
-0x59d8 022954 istore 1 ,contw 
-0x59d9 022955 fetch 1 ,mem_le_name_len 
-0x59da 022956 copy pdata ,loopcnt 
-0x59db 022957 arg mem_le_name ,contr 
-0x59dc 022958 branch memcpy 
-:      022961 le_send_att_read_response_check_auth:
-0x59dd 022962 fetch 2 ,mem_le_pairing_handle 
-0x59de 022963 isub temp ,null 
-0x59df 022964 nbranch le_send_att_read_response ,zero 
-0x59e0 022966 call le_check_encrypt_state 
-0x59e1 022967 nbranch le_send_att_read_response ,user 
-0x59e2 022968 jam att_err_insufficient_authentication ,mem_le_err_code 
-0x59e3 022969 branch le_send_att_error_response 
-:      022972 le_parse_att_read_blob_request:
-0x59e4 022973 ifetch 2 ,contr 
-0x59e5 022974 store 2 ,mem_le_att_offset 
-:      022975 le_send_att_read_blob_response:
-0x59e6 022976 arg 20 ,rega 
-0x59e7 022977 call le_fifo_malloc_tx_l2cap_gatt 
-0x59e8 022978 setarg attop_read_blob_response 
-0x59e9 022979 istore 1 ,contw 
-0x59ea 022980 fetch 2 ,mem_le_att_offset 
-0x59eb 022981 iforce rega 
-0x59ec 022982 fetcht 2 ,mem_le_att_handle 
-0x59ed 022983 call le_att_get_handle_ptr 
-0x59ee 022984 branch le_send_att_error_response_notfound ,blank 
-0x59ef 022985 ifetch 1 ,contr 
-0x59f0 022986 isub rega ,loopcnt 
-0x59f1 022987 nbranch le_send_att_error_response_notfound ,positive 
-0x59f2 022988 sub loopcnt ,22 ,null 
-0x59f3 022989 branch le_send_att_read_blob_response_less ,positive 
-0x59f4 022990 force 22 ,loopcnt 
-:      022991 le_send_att_read_blob_response_less:
-0x59f5 022992 deposit rega 
-0x59f6 022993 iadd contr ,contr 
-0x59f7 022994 call memcpy_fast 
-0x59f8 022995 call store_contw 
-0x59f9 022996 branch le_send_auto_len_by_mem 
-:      022999 le_parse_att_read_by_group_type_request:
-0x59fa 023000 call le_get_search_handle_start_end_common 
-0x59fb 023001 call le_get_search_att_type 
-0x59fc 023002 branch le_send_att_read_by_group_type_response 
-:      023007 le_send_att_read_by_group_type_response:
-0x59fd 023008 arg 2 ,timeup 
-0x59fe 023009 fetcht 2 ,mem_le_search_handle_start 
-0x59ff 023013 storet 2 ,mem_temp 
-0x5a00 023014 call le_init_attlist_search 
-0x5a01 023015 call le_att_get_handle_ptr2 
-0x5a02 023016 increase -2 ,contr 
-0x5a03 023017 copy contr ,pdata 
-0x5a04 023018 store 2 ,mem_le_cur_attlist_start_ptr 
-:      023019 le_send_att_read_by_group_type_response_loop:
-0x5a05 023020 call le_att_check_handle_end 
-0x5a06 023021 nbranch le_send_att_read_by_group_type_end0 ,positive 
-0x5a07 023022 fetcht 2 ,mem_temp 
-0x5a08 023023 call le_att_get_handle_info_from_ptr 
-0x5a09 023024 beq 1 ,le_send_att_read_by_group_type_end1 
-0x5a0a 023026 call le_att_same_type 
-0x5a0b 023027 nbranch le_send_att_read_by_group_type_next_handle ,zero 
-0x5a0c 023028 copy timeup ,pdata 
-0x5a0d 023029 beq 0 ,le_send_att_read_by_group_type_end1 
-0x5a0e 023030 nbranch le_send_att_read_by_group_type_store_write_record ,user 
-0x5a0f 023031 disable user 
-0x5a10 023033 arg 20 ,rega 
-0x5a11 023034 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a12 023035 setarg attop_read_by_group_type_response 
-0x5a13 023036 istore 1 ,contw 
-0x5a14 023037 fetch 1 ,mem_le_curr_att_len 
-0x5a15 023038 increase 4 ,pdata 
-0x5a16 023039 istore 1 ,contw 
-0x5a17 023040 call store_contw 
-0x5a18 023041 branch le_send_att_read_by_group_type_store_record 
-:      023042 le_send_att_read_by_group_type_store_write_record:
-0x5a19 023043 fetch 1 ,mem_le_curr_att_len 
-0x5a1a 023044 beq 16 ,le_send_att_read_by_group_type_end1 
-0x5a1b 023045 fetch 2 ,mem_temp 
-0x5a1c 023046 increase -1 ,pdata 
-0x5a1d 023047 store 2 ,mem_le_cur_handle_end 
-0x5a1e 023048 call le_write_att_record 
-:      023049 le_send_att_read_by_group_type_store_record:
-0x5a1f 023050 fetch 2 ,mem_temp 
-0x5a20 023051 store 2 ,mem_le_cur_handle_start 
-0x5a21 023052 call le_store_att_record 
-0x5a22 023053 increase -1 ,timeup 
-:      023055 le_send_att_read_by_group_type_next_handle:
-0x5a23 023056 call le_att_next_handle 
-0x5a24 023057 branch le_send_att_read_by_group_type_response_loop 
-:      023059 le_send_att_read_by_group_type_end0:
-0x5a25 023060 fetch 2 ,mem_temp 
-0x5a26 023061 store 2 ,mem_le_cur_handle_end 
-0x5a27 023062 branch le_send_att_read_by_group_type_end_common 
-:      023063 le_send_att_read_by_group_type_end1:
-0x5a28 023064 fetch 2 ,mem_temp 
-0x5a29 023065 increase -1 ,pdata 
-0x5a2a 023066 store 2 ,mem_le_cur_handle_end 
-0x5a2b 023067 branch le_send_att_read_by_group_type_end_common 
-:      023068 le_send_att_read_by_group_type_end_common:
-0x5a2c 023069 branch le_send_att_error_response_notfound ,user 
-0x5a2d 023070 call le_write_att_record 
-0x5a2e 023071 branch le_send_auto_len_by_mem 
-:      023076 le_parse_att_write_request:
-0x5a2f 023077 copy contr ,rega 
-0x5a30 023078 fetch 2 ,mem_le_l2cap_size 
-0x5a31 023079 add pdata ,-3 ,regb 
-0x5a32 023080 call le_writeatt_cb 
-:      023081 le_send_att_write_response_check_auth:
-0x5a33 023082 fetch 1 ,mem_le_configuration 
-0x5a34 023083 bbit0 bit_ble_write_auth ,le_send_att_write_response 
-0x5a35 023085 fetcht 2 ,mem_le_att_handle 
-0x5a36 023086 fetch 2 ,mem_le_pairing_handle 
-0x5a37 023087 isub temp ,null 
-0x5a38 023088 nbranch le_send_att_write_response ,zero 
-0x5a39 023089 call le_check_encrypt_state 
-0x5a3a 023090 nbranch le_send_att_write_response ,user 
-0x5a3b 023091 jam att_err_insufficient_authentication ,mem_le_err_code 
-0x5a3c 023092 branch le_send_att_error_response 
-:      023094 le_send_att_write_response:
-0x5a3d 023095 force 1 ,rega 
-0x5a3e 023096 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a3f 023097 setarg attop_write_response 
-0x5a40 023098 istore 1 ,contw 
-0x5a41 023099 rtn 
-:      023101 le_check_encrypt_state:
-0x5a42 023102 call disable_user 
-0x5a43 023103 fetch 1 ,mem_le_pairing_mode 
-0x5a44 023104 rtneq le_pairing_mode_none 
-0x5a45 023105 fetch 1 ,mem_context 
-0x5a46 023106 rtnbit1 lestate_encryption 
-0x5a47 023107 branch enable_user 
-:      023110 le_parse_att_prepare_write_request:
-0x5a48 023111 add contr ,2 ,rega 
-0x5a49 023112 fetch 2 ,mem_le_l2cap_size 
-0x5a4a 023113 add pdata ,-5 ,regb 
-0x5a4b 023114 call le_writeatt_cb 
-0x5a4c 023115 branch le_send_att_prepare_write_response 
-:      023118 le_send_att_prepare_write_response:
-0x5a4d 023119 fetch 2 ,mem_le_l2cap_size 
-0x5a4e 023120 copy pdata ,rega 
-0x5a4f 023121 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a50 023122 setarg attop_prepare_write_response 
-0x5a51 023123 istore 1 ,contw 
-0x5a52 023124 fetch 2 ,mem_le_att_handle 
-0x5a53 023125 istore 2 ,contw 
-0x5a54 023126 fetch 2 ,mem_le_l2cap_size 
-0x5a55 023127 add pdata ,-5 ,loopcnt 
-0x5a56 023128 fetch 2 ,mem_le_payload_ptr 
-0x5a57 023129 add pdata ,7 ,contr 
-0x5a58 023130 ifetch 2 ,contr 
-0x5a59 023131 istore 2 ,contw 
-0x5a5a 023132 branch memcpy_fast 
-:      023136 le_parse_att_execute_write_request:
-:      023138 le_send_att_execute_write_response:
-0x5a5b 023139 force 1 ,rega 
-0x5a5c 023140 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a5d 023141 setarg attop_execute_write_response 
-0x5a5e 023142 istore 1 ,contw 
-0x5a5f 023143 rtn 
-:      023147 le_parse_att_write_command:
-0x5a60 023148 copy contr ,rega 
-0x5a61 023149 fetch 2 ,mem_le_l2cap_size 
-0x5a62 023150 add pdata ,-3 ,regb 
-0x5a63 023151 branch le_writeatt_cb 
-:      023156 le_att_malloc_tx_notify:
-0x5a64 023157 copy temp ,regc 
-0x5a65 023158 increase 3 ,rega 
-0x5a66 023159 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a67 023160 increase -3 ,rega 
-0x5a68 023161 setarg attop_handle_value_notification 
-0x5a69 023162 istore 1 ,contw 
-0x5a6a 023163 copy regc ,temp 
-0x5a6b 023164 istoret 2 ,contw 
-0x5a6c 023165 rtn 
-:      023168 le_att_malloc_tx_indication:
-0x5a6d 023169 copy temp ,regc 
-0x5a6e 023170 increase 3 ,rega 
-0x5a6f 023171 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a70 023172 increase -3 ,rega 
-0x5a71 023173 setarg attop_handle_value_indication 
-0x5a72 023174 istore 1 ,contw 
-0x5a73 023175 copy regc ,temp 
-0x5a74 023176 istoret 2 ,contw 
-0x5a75 023177 rtn 
-:      023182 le_send_att_error_response_notfound:
-0x5a76 023183 jam att_err_attribute_not_found ,mem_le_err_code 
-:      023184 le_send_att_error_response:
-0x5a77 023185 force 5 ,rega 
-0x5a78 023186 call le_fifo_malloc_tx_l2cap_gatt 
-0x5a79 023187 setarg attop_error_response 
-0x5a7a 023188 istore 1 ,contw 
-0x5a7b 023189 fetch 1 ,mem_le_att_opcode 
-0x5a7c 023190 istore 1 ,contw 
-0x5a7d 023191 fetch 2 ,mem_le_att_handle 
-0x5a7e 023192 istore 2 ,contw 
-0x5a7f 023193 fetch 1 ,mem_le_err_code 
-0x5a80 023194 istore 1 ,contw 
-0x5a81 023195 rtn 
-:      023198 le_fifo_malloc_tx_l2cap_gatt:
-0x5a82 023199 force le_l2cap_cid_att ,regb 
-0x5a83 023200 branch le_fifo_malloc_tx_l2cap 
-:      023203 le_att_next_handle:
-0x5a84 023204 fetcht 2 ,mem_temp 
-0x5a85 023205 increase 1 ,temp 
-0x5a86 023206 storet 2 ,mem_temp 
-0x5a87 023207 rtn 
-:      023209 le_att_check_handle_end:
-0x5a88 023210 fetcht 2 ,mem_temp 
-0x5a89 023211 fetch 2 ,mem_le_search_handle_end 
-0x5a8a 023212 isub temp ,null 
-0x5a8b 023213 rtn 
-:      023216 le_att_same_type:
-0x5a8c 023217 fetcht 1 ,mem_le_search_att_type_length 
-0x5a8d 023218 arg mem_le_search_att_type ,rega 
-:      023219 le_att_check_same_common:
-0x5a8e 023220 fetch 1 ,mem_le_cur_uuid_length 
-0x5a8f 023221 copy pdata ,loopcnt 
-0x5a90 023222 isub temp ,null 
-0x5a91 023223 nrtn zero 
-0x5a92 023224 arg mem_le_cur_uuid ,regb 
-0x5a93 023225 branch string_compare 
-:      023227 le_att_same_uuid:
-0x5a94 023228 fetcht 1 ,mem_le_search_uuid_length 
-0x5a95 023229 arg mem_le_search_uuid ,rega 
-0x5a96 023230 branch le_att_check_same_common 
-:      023233 le_store_att_record:
-0x5a97 023234 fetch 1 ,mem_le_curr_att_len 
-0x5a98 023235 store 1 ,mem_tmp_buffer 
-0x5a99 023236 copy pdata ,loopcnt 
-0x5a9a 023237 call get_contr 
-0x5a9b 023238 branch memcpy_fast 
-:      023241 le_write_att_record:
-0x5a9c 023242 call get_contw 
-0x5a9d 023243 fetch 2 ,mem_le_cur_handle_start 
-0x5a9e 023244 istore 2 ,contw 
-0x5a9f 023245 fetch 2 ,mem_le_cur_handle_end 
-0x5aa0 023246 istore 2 ,contw 
-:      023247 le_write_att_record_common:
-0x5aa1 023248 fetch 1 ,mem_tmp_buffer 
-0x5aa2 023249 copy pdata ,loopcnt 
-0x5aa3 023250 call memcpy_fast 
-0x5aa4 023251 branch store_contw 
-:      023255 le_send_auto_len_by_mem:
-0x5aa5 023256 call get_contw 
-0x5aa6 023257 call le_fifo_get_last_att_ptr 
-0x5aa7 023258 copy contw ,pdata 
-0x5aa8 023259 isub contr ,rega 
-0x5aa9 023260 call le_fifo_get_last_l2cap_ptr 
-0x5aaa 023261 copy rega ,pdata 
-0x5aab 023262 istore 2 ,contr 
-0x5aac 023263 increase 4 ,rega 
-0x5aad 023264 call le_fifo_get_last_tx_ptr 
-0x5aae 023265 copy rega ,pdata 
-0x5aaf 023266 istore 1 ,contr 
-0x5ab0 023267 rtn 
-:      023270 le_get_search_handle_start_end_common:
-0x5ab1 023271 rshift8 pdata ,pdata 
-0x5ab2 023272 store 2 ,mem_le_search_handle_start 
-0x5ab3 023273 ifetch 2 ,contr 
-0x5ab4 023274 store 2 ,mem_le_search_handle_end 
-0x5ab5 023275 rtn 
-:      023280 le_parse_signaling:
-0x5ab6 023281 ifetch 1 ,contr 
-0x5ab7 023282 ifetcht 1 ,contr 
-0x5ab8 023283 ifetcht 2 ,contr 
-0x5ab9 023284 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
-0x5aba 023285 rtn 
-:      023286 le_l2cap_parse_conn_parameter_update_rsp:
-0x5abb 023287 ifetch 2 ,contr 
-0x5abc 023288 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0x5abd 023289 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
-0x5abe 023290 branch ui_ipc_send_event 
-:      023296 le_l2cap_tx_update_req:
-0x5abf 023297 arg 0x0c ,rega 
-0x5ac0 023298 arg l2cap_connection_parameter_update_request ,regc 
-0x5ac1 023299 call le_fifo_malloc_tx_l2cap_signaling 
-0x5ac2 023300 setarg 0x08 
-0x5ac3 023301 istore 2 ,contw 
-0x5ac4 023302 fetch 8 ,mem_le_interval_min 
-0x5ac5 023303 istore 8 ,contw 
-0x5ac6 023304 rtn 
-:      023308 le_fifo_malloc_tx_l2cap_signaling:
-0x5ac7 023309 call le_l2cap_update_signaling_identifier 
-0x5ac8 023310 arg le_l2cap_cid_signal ,regb 
-0x5ac9 023311 call le_fifo_malloc_tx_l2cap 
-0x5aca 023312 copy regc ,pdata 
-0x5acb 023313 istore 1 ,contw 
-0x5acc 023314 fetch 1 ,mem_le_signaling_identifier 
-0x5acd 023315 istore 1 ,contw 
-0x5ace 023316 rtn 
-:      023319 le_l2cap_update_signaling_identifier:
-0x5acf 023320 fetch 1 ,mem_le_signaling_identifier 
-0x5ad0 023322 pincrease 1 
-0x5ad1 023323 store 1 ,mem_le_signaling_identifier 
-0x5ad2 023324 rtnne 0 
-:      023326 le_l2cap_reset_signaling_identifier:
-0x5ad3 023327 jam 1 ,mem_le_signaling_identifier 
-0x5ad4 023328 rtn 
-:      023333 le_pairing_mode_init:
-0x5ad5 023334 fetch 1 ,mem_le_pairing_mode 
-0x5ad6 023335 beq le_pairing_mode_none ,le_set_no_pairing 
-0x5ad7 023336 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
-0x5ad8 023337 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
-0x5ad9 023338 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
-0x5ada 023339 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
-0x5adb 023340 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
-0x5adc 023341 rtn 
-:      023343 le_set_pairing_mode_secure_justwork:
-0x5add 023344 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x5ade 023345 branch le_set_noinputnooutput 
-:      023346 le_set_pairing_mode_secure_numeric:
-0x5adf 023347 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x5ae0 023348 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
-0x5ae1 023349 rtn 
-:      023350 le_set_pairing_mode_secure_passkey:
-0x5ae2 023351 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
-0x5ae3 023352 branch le_set_displayonly 
-:      023353 le_set_no_pairing:
-0x5ae4 023354 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
-:      023355 le_set_noinputnooutput:
-0x5ae5 023356 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
-0x5ae6 023357 rtn 
-:      023358 le_set_pairing_mode_lagacy_just_work:
-0x5ae7 023359 jam flag_le_bonding_mitm ,mem_le_pres_auth 
-0x5ae8 023360 branch le_set_noinputnooutput 
-:      023361 le_set_pairing_mode_lagacy_passkey:
-0x5ae9 023362 jam flag_le_bonding_mitm ,mem_le_pres_auth 
-:      023363 le_set_displayonly:
-0x5aea 023364 jam flag_iocap_displayonly ,mem_le_pres_iocap 
-0x5aeb 023365 rtn 
-:      023368 le_secure_connection_enable:
-0x5aec 023369 fetch 1 ,mem_le_pres_auth 
-0x5aed 023370 set1 le_auth_secure_connection_pairing_bit ,pdata 
-0x5aee 023371 store 1 ,mem_le_pres_auth 
-0x5aef 023372 rtn 
-:      023373 le_secure_connection_disable:
-0x5af0 023374 fetch 1 ,mem_le_pres_auth 
-0x5af1 023375 set0 le_auth_secure_connection_pairing_bit ,pdata 
-0x5af2 023376 store 1 ,mem_le_pres_auth 
-0x5af3 023377 rtn 
-:      023379 le_parse_smp:
-0x5af4 023380 ifetch 1 ,contr 
-0x5af5 023381 beq smp_pairing_request ,le_parse_smp_pairing_request 
-0x5af6 023383 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
-0x5af7 023384 beq smp_pairing_random ,le_parse_smp_pairing_random 
-0x5af8 023385 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
-0x5af9 023386 beq smp_encryption_information ,le_parse_smp_encryption_information 
-0x5afa 023387 beq smp_master_identification ,le_parse_smp_master_identification 
-0x5afb 023388 beq smp_identity_information ,le_parse_smp_identity_information 
-0x5afc 023389 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
-0x5afd 023390 beq smp_signing_information ,le_parse_smp_signing_information 
-0x5afe 023391 beq smp_security_request ,le_parse_smp_security_request 
-0x5aff 023392 beq smp_pairing_public_key ,le_parse_smp_public_key 
-0x5b00 023393 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
-0x5b01 023394 rtn 
-:      023398 le_send_smp_security_request:
-0x5b02 023399 force 2 ,rega 
-0x5b03 023400 call le_fifo_malloc_tx_l2cap_smp 
-0x5b04 023401 setarg smp_security_request 
-0x5b05 023402 istore 1 ,contw 
-0x5b06 023403 fetch 1 ,mem_le_pres_auth 
-0x5b07 023404 istore 1 ,contw 
-0x5b08 023405 rtn 
-:      023407 le_parse_smp_pairing_request:
-0x5b09 023408 store 1 ,mem_le_preq 
-0x5b0a 023409 ifetch 6 ,contr 
-0x5b0b 023410 istore 6 ,contw 
-0x5b0c 023411 fetch 1 ,mem_le_pairing_mode 
-0x5b0d 023412 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
-0x5b0e 023413 call le_send_smp_pairing_response 
-0x5b0f 023414 call le_check_master_support_secure_connect 
-0x5b10 023415 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
-0x5b11 023416 fetch 1 ,mem_le_preq_iocap 
-0x5b12 023417 beq flag_iocap_displayonly ,le_set_tk_0 
-0x5b13 023418 beq flag_iocap_displayyesno ,le_set_tk_0 
-0x5b14 023419 beq flag_iocap_noinputnooutput ,le_set_tk_0 
-0x5b15 023420 fetch 1 ,mem_le_pairing_mode 
-0x5b16 023421 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
-0x5b17 023422 rtneq le_pairing_mode_secure_connect_passkey 
-:      023423 le_set_tk_0:
-0x5b18 023424 arg 0 ,pdata 
-0x5b19 023425 store 4 ,mem_le_tk 
-0x5b1a 023426 rtn 
-:      023428 le_parse_smp_pairing_req_passkey:
-0x5b1b 023429 fetch 1 ,mem_le_configuration 
-0x5b1c 023430 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
-:      023431 le_genernate_tk:
-0x5b1d 023432 arg mem_le_tk ,rega 
-0x5b1e 023433 copy rega ,contw 
-0x5b1f 023434 arg 3 ,loopcnt 
-0x5b20 023435 call generate_random_loop 
-0x5b21 023436 fetch 2 ,mem_le_tk + 2 
-0x5b22 023437 and_into 0x7 ,pdata 
-0x5b23 023438 store 2 ,mem_le_tk + 2 
-:      023439 le_parse_smp_pairing_req_fixed_passkey:
-0x5b24 023440 jam bt_evt_le_tk_generate ,mem_fifo_temp 
-0x5b25 023441 branch ui_ipc_send_event 
-:      023443 le_check_master_support_secure_connect:
-0x5b26 023444 fetch 1 ,mem_le_preq_auth 
-0x5b27 023445 rtnbit1 le_auth_secure_connection_pairing_bit 
-0x5b28 023446 fetch 1 ,mem_le_pairing_mode 
-0x5b29 023447 rtnbit0 le_pairing_mode_secure_connect_bit 
-0x5b2a 023448 branch app_ble_disconnect 
-:      023450 le_send_smp_pairing_response:
-0x5b2b 023451 force 7 ,rega 
-0x5b2c 023452 call le_fifo_malloc_tx_l2cap_smp 
-0x5b2d 023453 fetch 7 ,mem_le_pres 
-0x5b2e 023454 istore 7 ,contw 
-0x5b2f 023455 rtn 
-:      023458 le_parse_smp_pairing_confirm:
-0x5b30 023459 copy contr ,rega 
-0x5b31 023460 fetch 1 ,mem_le_pairing_mode 
-0x5b32 023461 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
-0x5b33 023462 copy rega ,contr 
-0x5b34 023463 arg mem_le_rconfirm ,contw 
-0x5b35 023464 call memcpy16 
-0x5b36 023465 branch le_send_smp_pairing_confirm 
-:      023466 le_parse_smp_pairing_confirm_secure_passkey:
-0x5b37 023467 copy rega ,contr 
-0x5b38 023468 arg mem_le_rconfirm ,contw 
-0x5b39 023469 call memcpy16 
-0x5b3a 023470 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5b3b 023471 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
-0x5b3c 023472 rtn 
-:      023475 le_send_smp_pairing_confirm:
-0x5b3d 023476 fetch 1 ,mem_le_pairing_mode 
-0x5b3e 023477 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
-0x5b3f 023478 call generate_confirm 
-0x5b40 023479 force 17 ,rega 
-0x5b41 023480 call le_fifo_malloc_tx_l2cap_smp 
-0x5b42 023481 setarg smp_pairing_confirm 
-0x5b43 023482 istore 1 ,contw 
-0x5b44 023483 branch store_aes_result 
-:      023486 le_send_smp_pairing_confirm_sc:
-0x5b45 023487 arg mem_le_srand ,contw 
-0x5b46 023488 call generate_random 
-0x5b47 023489 call function_f4_cb 
-0x5b48 023490 force 17 ,rega 
-0x5b49 023491 call le_fifo_malloc_tx_l2cap_smp 
-0x5b4a 023492 setarg smp_pairing_confirm 
-0x5b4b 023493 istore 1 ,contw 
-0x5b4c 023494 branch load_inverse_result 
-:      023498 le_parse_smp_pairing_random:
-0x5b4d 023499 copy contr ,rega 
-0x5b4e 023500 fetch 1 ,mem_le_pairing_mode 
-0x5b4f 023501 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
-0x5b50 023502 copy rega ,contr 
-0x5b51 023503 call authenticate_rconfirm 
-0x5b52 023504 branch le_parse_smp_pairing_random_success ,zero 
-:      023505 le_send_pairing_confirm_value_failed:
-0x5b53 023506 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
-:      023507 le_send_pairing_failed:
-0x5b54 023508 force 2 ,rega 
-0x5b55 023509 call le_fifo_malloc_tx_l2cap_smp 
-0x5b56 023510 setarg smp_pairing_failed 
-0x5b57 023511 istore 1 ,contw 
-0x5b58 023512 fetch 1 ,mem_le_ll_pairing_fail_reason 
-0x5b59 023513 istore 1 ,contw 
-:      023514 le_parse_smp_pairing_failed:
-0x5b5a 023515 force smp_pairing_timer ,queue 
-0x5b5b 023516 call timer_stop 
-0x5b5c 023517 jam flag_le_pairing_null ,mem_le_pairing_state 
-0x5b5d 023518 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
-0x5b5e 023519 branch ui_ipc_send_event 
-:      023521 le_smp_pairing_fail_reason_not_support_pairing:
-0x5b5f 023522 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
-0x5b60 023523 branch le_send_pairing_failed 
-:      023526 le_parse_smp_pairing_random_sc:
-0x5b61 023527 arg mem_le_mrand ,contw 
-0x5b62 023528 copy rega ,contr 
-0x5b63 023529 call memcpy16 
-0x5b64 023530 fetch 1 ,mem_le_pairing_mode 
-0x5b65 023531 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
-0x5b66 023532 call function_g2 
-0x5b67 023535 call le_send_smp_pairing_random 
-0x5b68 023536 fetch 1 ,mem_le_pairing_mode 
-0x5b69 023537 rtnne le_pairing_mode_secure_connect_numeric 
-0x5b6a 023538 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
-0x5b6b 023539 branch ui_ipc_send_event 
-:      023541 le_parse_smp_pairing_random_sc_passkey:
-0x5b6c 023542 call function_f4_ca 
-0x5b6d 023543 arg mem_aes_cmac_temp ,contw 
-0x5b6e 023544 call load_inverse_result 
-0x5b6f 023545 arg mem_aes_cmac_temp ,rega 
-0x5b70 023546 arg mem_le_rconfirm ,regb 
-0x5b71 023547 arg 16 ,loopcnt 
-0x5b72 023548 call string_compare 
-0x5b73 023549 nbranch le_send_pairing_confirm_value_failed ,zero 
-0x5b74 023550 branch le_send_smp_pairing_random 
-:      023552 le_parse_smp_pairing_random_success:
-0x5b75 023553 call generate_stk 
-0x5b76 023554 jam bt_evt_le_pairing_success ,mem_fifo_temp 
-0x5b77 023555 call ui_ipc_send_event 
-0x5b78 023556 jam 1 ,mem_ltk_exists 
-0x5b79 023557 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
-:      023559 le_send_smp_pairing_random:
-0x5b7a 023560 force 17 ,rega 
-0x5b7b 023561 call le_fifo_malloc_tx_l2cap_smp 
-0x5b7c 023562 setarg smp_pairing_random 
-0x5b7d 023563 istore 1 ,contw 
-0x5b7e 023564 arg mem_le_srand ,contr 
-0x5b7f 023565 branch memcpy16 
-:      023567 le_parse_smp_encryption_information:
-0x5b80 023568 arg mem_le_peer_ltk ,contw 
-0x5b81 023569 branch memcpy16 
-:      023571 le_send_smp_encryption_information:
-0x5b82 023572 force 17 ,rega 
-0x5b83 023573 call le_fifo_malloc_tx_l2cap_smp 
-0x5b84 023574 setarg smp_encryption_information 
-0x5b85 023575 istore 1 ,contw 
-0x5b86 023576 fetch 1 ,mem_le_configuration 
-0x5b87 023577 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
-0x5b88 023578 arg mem_le_ltk ,contr 
-0x5b89 023579 branch memcpy16 
-:      023581 le_send_fixed_ltk:
-0x5b8a 023582 arg mem_le_fixed_ltk ,contr 
-0x5b8b 023583 branch memcpy16 
-:      023586 le_send_smp_master_identification:
-0x5b8c 023587 arg mem_le_ediv ,contw 
-0x5b8d 023588 force 10 ,loopcnt 
-0x5b8e 023589 call generate_random_loop 
-0x5b8f 023590 force 11 ,rega 
-0x5b90 023591 call le_fifo_malloc_tx_l2cap_smp 
-0x5b91 023592 setarg smp_master_identification 
-0x5b92 023593 istore 1 ,contw 
-0x5b93 023594 fetch 2 ,mem_le_ediv 
-0x5b94 023595 istore 2 ,contw 
-0x5b95 023596 fetch 8 ,mem_le_rand 
-0x5b96 023597 istore 8 ,contw 
-0x5b97 023598 rtn 
-:      023600 le_send_smp_identity_information:
-0x5b98 023601 force 17 ,rega 
-0x5b99 023602 call le_fifo_malloc_tx_l2cap_smp 
-0x5b9a 023603 setarg smp_identity_information 
-0x5b9b 023604 istore 1 ,contw 
-0x5b9c 023605 setarg 0 
-0x5b9d 023606 istore 8 ,contw 
-0x5b9e 023607 istore 8 ,contw 
-0x5b9f 023608 rtn 
-:      023611 le_send_smp_identity_address_information:
-0x5ba0 023612 force 8 ,rega 
-0x5ba1 023613 call le_fifo_malloc_tx_l2cap_smp 
-0x5ba2 023614 setarg smp_identity_address_information 
-0x5ba3 023615 istore 1 ,contw 
-0x5ba4 023616 fetch 1 ,mem_le_conn_own_addr_type 
-0x5ba5 023617 istore 1 ,contw 
-0x5ba6 023618 fetch 6 ,mem_le_lap 
-0x5ba7 023619 istore 6 ,contw 
-0x5ba8 023620 rtn 
-:      023623 le_send_pairing_fail_unspecified_reason:
-0x5ba9 023624 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
-0x5baa 023625 branch le_send_pairing_failed 
-:      023627 le_check_init_key_distribution:
-0x5bab 023628 fetch 1 ,mem_le_pres_init_key_distribution 
-0x5bac 023629 fetcht 1 ,mem_le_pres_init_key_distribution 
-0x5bad 023630 iand temp ,pdata 
-0x5bae 023631 rtn 
-:      023633 le_parse_smp_identity_information:
-0x5baf 023634 arg mem_le_irk ,contw 
-0x5bb0 023635 call memcpy16 
-0x5bb1 023636 call le_check_init_key_distribution 
-0x5bb2 023637 isolate0 le_initator_irk_bit ,pdata 
-0x5bb3 023638 branch le_send_pairing_fail_unspecified_reason ,true 
-0x5bb4 023639 fetch 1 ,mem_device_option 
-0x5bb5 023640 rtnne dvc_op_module 
-0x5bb6 023641 call le_check_master_addr_type 
-0x5bb7 023642 nrtn user 
-0x5bb8 023643 branch app_ble_store_reconn_info 
-:      023646 le_check_master_addr_type:
-0x5bb9 023647 call disable_user 
-0x5bba 023648 fetch 1 ,mem_le_conn_peer_addr_type 
-0x5bbb 023649 rtneq master_public_addr 
-0x5bbc 023650 fetch 1 ,mem_le_plap + 5 
-0x5bbd 023651 compare 0xc0 ,pdata ,0xc0 
-0x5bbe 023652 rtn true 
-0x5bbf 023653 branch enable_user 
-:      023655 le_parse_smp_identity_address_information:
-0x5bc0 023656 call le_check_init_key_distribution 
-0x5bc1 023657 isolate0 le_initator_irk_bit ,pdata 
-0x5bc2 023658 branch le_send_pairing_fail_unspecified_reason ,true 
-0x5bc3 023659 rtn 
-:      023661 le_parse_smp_master_identification:
-:      023662 le_parse_smp_signing_information:
-:      023663 le_parse_smp_security_request:
-0x5bc4 023664 rtn 
-:      023666 le_parse_smp_public_key:
-0x5bc5 023667 arg mem_le_pubkey_remote_x_256 ,contw 
-0x5bc6 023668 call memcpy64 
-0x5bc7 023669 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5bc8 023670 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
-0x5bc9 023671 rtn 
-:      023673 le_parse_smp_dhkey_check:
-0x5bca 023674 arg mem_sp_confirm_remote ,contw 
-0x5bcb 023675 call memcpy16 
-0x5bcc 023676 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
-0x5bcd 023677 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5bce 023678 rtn 
-:      023680 le_send_smp_pairing_public_key:
-0x5bcf 023681 force 65 ,rega 
-0x5bd0 023682 call le_fifo_malloc_tx_l2cap_smp 
-0x5bd1 023683 setarg smp_pairing_public_key 
-0x5bd2 023684 istore 1 ,contw 
-0x5bd3 023685 arg mem_le_pubkey_local_x_256 ,contr 
-0x5bd4 023686 branch memcpy64 
-:      023688 le_send_smp_pairing_dhkey_check:
-0x5bd5 023689 call function_f6_eb 
-0x5bd6 023690 force 17 ,rega 
-0x5bd7 023691 call le_fifo_malloc_tx_l2cap_smp 
-0x5bd8 023692 setarg smp_pairing_dhkey_check 
-0x5bd9 023693 istore 1 ,contw 
-0x5bda 023694 branch load_inverse_result 
-:      023697 le_check_paring_time:
-0x5bdb 023698 fetch 1 ,mem_le_pairing_state 
-0x5bdc 023699 rtneq flag_le_pairing_end 
-0x5bdd 023700 arg flag_le_pairing_rcv_pairing_req ,temp 
-0x5bde 023701 isub temp ,null 
-0x5bdf 023702 nrtn positive 
-0x5be0 023703 arg smp_pairing_timer ,queue 
-0x5be1 023704 call timer_check 
-0x5be2 023705 nrtn blank 
-0x5be3 023706 branch le_send_pairing_fail_unspecified_reason 
-:      023708 le_pairing_sm:
-0x5be4 023709 bpatchx patch2f_0 ,mem_patch2f 
-0x5be5 023710 fetch 1 ,mem_le_pairing_state 
-0x5be6 023711 beq flag_le_pairing_null ,le_pairing_sm_null 
-0x5be7 023712 beq flag_le_pairing_start ,le_pairing_sm_start 
-0x5be8 023713 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
-0x5be9 023714 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
-0x5bea 023715 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
-0x5beb 023716 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
-0x5bec 023717 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
-0x5bed 023718 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
-0x5bee 023719 rtn 
-:      023721 le_pairing_sm_null:
-:      023722 le_pairing_sm_send_sec_req:
-0x5bef 023723 fetch 1 ,mem_le_enc_state 
-0x5bf0 023724 rtnne flag_le_send_start_enc_rsp 
-0x5bf1 023725 jam flag_le_enc_end ,mem_le_enc_state 
-0x5bf2 023726 jam flag_le_pairing_end ,mem_le_pairing_state 
-0x5bf3 023727 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
-0x5bf4 023728 branch ui_ipc_send_event 
-:      023731 le_pairing_sm_start:
-0x5bf5 023732 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
-0x5bf6 023733 branch le_send_smp_security_request 
-:      023735 le_pairing_sm_rcv_pairing_req:
-0x5bf7 023736 jam flag_le_pairing_auth ,mem_le_pairing_state 
-0x5bf8 023737 setarg timer_smp_pairing_timeout 
-0x5bf9 023738 arg smp_pairing_timer ,queue 
-0x5bfa 023739 branch timer_init 
-:      023741 le_pairing_sm_after_auth:
-0x5bfb 023742 fetch 1 ,mem_le_enc_state 
-0x5bfc 023743 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
-0x5bfd 023744 rtn 
-:      023746 le_pairing_sm_after_auth_start_enc:
-0x5bfe 023747 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
-0x5bff 023748 jam bt_evt_le_enc_info ,mem_fifo_temp 
-0x5c00 023749 call ui_ipc_send_event 
-0x5c01 023750 call le_send_smp_encryption_information 
-0x5c02 023751 fetch 1 ,mem_device_option 
-0x5c03 023752 rtnne dvc_op_module 
-0x5c04 023753 call le_check_master_addr_type 
-0x5c05 023754 rtn user 
-0x5c06 023755 branch app_ble_store_reconn_info 
-:      023758 le_pairng_sm_send_enc_information:
-0x5c07 023759 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
-0x5c08 023760 branch le_send_smp_master_identification 
-:      023762 le_pairng_sm_send_master_indentification:
-0x5c09 023763 fetch 1 ,mem_le_preq_resp_key_distribution 
-0x5c0a 023764 fetcht 1 ,mem_le_pres_resp_key_distribution 
-0x5c0b 023765 iand temp ,pdata 
-0x5c0c 023766 isolate0 le_initator_irk_bit ,pdata 
-0x5c0d 023767 branch le_parse_start_enc_rsp_after_auth_end ,true 
-0x5c0e 023768 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
-0x5c0f 023769 branch le_send_smp_identity_information 
-:      023771 le_pairng_sm_send_indentity_information:
-0x5c10 023772 call le_send_smp_identity_address_information 
-0x5c11 023773 branch le_parse_start_enc_rsp_after_auth_end 
-:      023776 le_parse_start_enc_rsp_after_auth_end:
-0x5c12 023777 force smp_pairing_timer ,queue 
-0x5c13 023778 call timer_stop 
-0x5c14 023779 jam flag_le_enc_end ,mem_le_enc_state 
-0x5c15 023780 jam flag_le_pairing_end ,mem_le_pairing_state 
-0x5c16 023781 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
-0x5c17 023782 branch ui_ipc_send_event 
-:      023786 le_secure_connect_sm:
-0x5c18 023787 bpatchx patch2f_1 ,mem_patch2f 
-0x5c19 023788 fetch 1 ,mem_le_pairing_mode 
-0x5c1a 023789 rtnbit0 le_pairing_mode_secure_connect_bit 
-0x5c1b 023790 fetch 1 ,mem_le_secure_connect_flag 
-0x5c1c 023791 rtnne le_sp_flag_commit_256 
-0x5c1d 023792 jam sp_flag_standby ,mem_le_secure_connect_flag 
-0x5c1e 023793 fetch 1 ,mem_le_secure_connect_state 
-0x5c1f 023794 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
-0x5c20 023795 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
-0x5c21 023796 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
-0x5c22 023797 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
-0x5c23 023798 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
-0x5c24 023799 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
-0x5c25 023800 rtn 
-:      023803 le_sc_sm_passkey_wait_confirm:
-0x5c26 023804 fetch 1 ,mem_authentication_passkey_times 
-0x5c27 023805 copy pdata ,queue 
-0x5c28 023806 increase 1 ,pdata 
-0x5c29 023807 store 1 ,mem_authentication_passkey_times 
-0x5c2a 023808 fetch 4 ,mem_le_tk 
-0x5c2b 023809 qisolate1 pdata 
-0x5c2c 023810 setarg 0x80 
-0x5c2d 023811 setflag true ,0 ,pdata 
-0x5c2e 023812 store 1 ,mem_passkey_1bit 
-0x5c2f 023813 branch le_sc_sm_ready_send_pairing_confirm 
-:      023815 le_sc_sm_wait_confirm_gkey:
-0x5c30 023816 fetch 1 ,mem_le_sc_confirm_gkey_flag 
-0x5c31 023817 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
-0x5c32 023818 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
-0x5c33 023819 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5c34 023820 rtn 
-:      023822 le_sc_confirm_gkey_ok:
-0x5c35 023823 jam bt_evt_le_pairing_success ,mem_fifo_temp 
-0x5c36 023824 call ui_ipc_send_event 
-0x5c37 023825 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
-0x5c38 023826 branch le_send_smp_pairing_dhkey_check 
-:      023828 le_sc_sm_receive_dhkey:
-0x5c39 023829 fetch 1 ,mem_sp_dhkey_invalid 
-0x5c3a 023830 beq sp_key_valid_256 ,le_dhkey_ready 
-0x5c3b 023831 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5c3c 023832 rtn 
-:      023834 le_dhkey_ready:
-0x5c3d 023835 call function_f5 
-0x5c3e 023839 fetch 1 ,mem_le_pairing_mode 
-0x5c3f 023840 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
-0x5c40 023841 call le_set_tk_0 
-:      023842 le_dhkey_ready_common:
-0x5c41 023843 call function_f6_ea 
-0x5c42 023844 arg mem_aes_cmac_temp ,rega 
-0x5c43 023845 arg mem_sp_confirm_remote ,regb 
-0x5c44 023846 arg 16 ,loopcnt 
-0x5c45 023847 call string_compare 
-0x5c46 023848 branch le_dhkey_check_ok ,zero 
-:      023849 le_dhkey_check_fail:
-0x5c47 023850 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
-0x5c48 023851 branch le_send_pairing_failed 
-:      023854 le_dhkey_check_ok:
-0x5c49 023855 call sp_calc_check_publickey_256 
-0x5c4a 023856 nbranch le_dhkey_check_fail ,zero 
-0x5c4b 023857 jam 1 ,mem_ltk_exists 
-0x5c4c 023858 fetch 1 ,mem_le_pairing_mode 
-0x5c4d 023859 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
-0x5c4e 023860 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
-0x5c4f 023861 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5c50 023862 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
-0x5c51 023863 rtn 
-:      023865 le_sc_sm_send_public_key:
-0x5c52 023866 fetch 1 ,mem_le_pairing_mode 
-0x5c53 023867 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
-0x5c54 023868 jam 0 ,mem_passkey_1bit 
-:      023869 le_sc_sm_ready_send_pairing_confirm:
-0x5c55 023870 branch le_send_smp_pairing_confirm 
-:      023872 le_sc_sm_send_public_key_passkey:
-0x5c56 023876 jam 0 ,mem_authentication_passkey_times 
-0x5c57 023877 branch le_parse_smp_pairing_req_passkey 
-:      023880 le_sc_sm_receive_public_key:
-0x5c58 023881 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5c59 023882 fetch 1 ,mem_le_sc_local_key_invalid 
-0x5c5a 023883 beq sp_key_valid_256 ,le_public_key_ready 
-0x5c5b 023885 rtn 
-:      023887 le_public_key_ready:
-0x5c5c 023888 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
-0x5c5d 023889 jam sp_key_invalid ,mem_sp_dhkey_invalid 
-0x5c5e 023890 branch sp_dhkey_calc_256 
-:      023892 le_sc_sm_wait_send_public_key:
-0x5c5f 023893 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
-0x5c60 023894 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
-0x5c61 023895 branch le_send_smp_pairing_public_key 
-:      023899 le_fifo_malloc_tx_l2cap_smp:
-0x5c62 023900 force le_l2cap_cid_smp ,regb 
-0x5c63 023901 branch le_fifo_malloc_tx_l2cap 
-:      023905 le_parse_ll:
-0x5c64 023906 fetch 1 ,mem_le_rxbuf + 2 
-0x5c65 023907 beq ll_connection_update_req ,le_parse_connection_update_req 
-0x5c66 023908 beq ll_channel_map_req ,le_parse_channel_map_req 
-0x5c67 023909 beq ll_terminate_ind ,le_parse_terminate_ind 
-0x5c68 023910 beq ll_enc_req ,le_parse_enc_req 
-0x5c69 023911 beq ll_enc_rsp ,le_parse_enc_rsp 
-0x5c6a 023912 beq ll_start_enc_req ,le_parse_start_enc_req 
-0x5c6b 023913 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
-0x5c6c 023914 beq ll_unknown_rsp ,le_parse_unknown_rsp 
-0x5c6d 023915 beq ll_feature_req ,le_parse_feature_req 
-0x5c6e 023916 beq ll_feature_rsp ,le_parse_feature_rsp 
-0x5c6f 023917 beq ll_pause_enc_req ,le_parse_pause_enc_req 
-0x5c70 023918 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
-0x5c71 023919 beq ll_version_ind ,le_parse_version_ind 
-0x5c72 023920 beq ll_reject_ind ,le_parse_reject_ind 
-0x5c73 023921 beq ll_ping_req ,le_parse_ping_req 
-0x5c74 023922 beq ll_ping_rsp ,le_parse_ping_rsp 
-0x5c75 023923 arg 2 ,rega 
-0x5c76 023924 arg ll_unknown_rsp ,regb 
-0x5c77 023925 call le_fifo_malloc_tx_ll 
-0x5c78 023926 fetch 1 ,mem_le_rxbuf + 2 
-0x5c79 023927 istore 1 ,contw 
-0x5c7a 023928 rtn 
-:      023931 le_parse_connection_update_req:
-0x5c7b 023932 ifetch 9 ,contr 
-0x5c7c 023933 store 9 ,mem_le_new_param 
-0x5c7d 023934 ifetch 2 ,contr 
-0x5c7e 023935 store 2 ,mem_le_instant 
-0x5c7f 023936 fetch 1 ,mem_le_state 
-0x5c80 023937 set1 lestate_update_param ,pdata 
-0x5c81 023938 store 1 ,mem_le_state 
-0x5c82 023939 rtn 
-:      023941 le_parse_channel_map_req:
-0x5c83 023942 ifetch 5 ,contr 
-0x5c84 023943 store 5 ,mem_le_new_map 
-0x5c85 023944 ifetch 2 ,contr 
-0x5c86 023945 store 2 ,mem_le_instant 
-0x5c87 023946 fetcht 2 ,mem_le_event_count 
-0x5c88 023947 isub temp ,null 
-0x5c89 023948 nbranch le_parse_terminate_ind ,positive 
-0x5c8a 023949 fetch 1 ,mem_le_state 
-0x5c8b 023950 set1 lestate_update_map ,pdata 
-0x5c8c 023951 store 1 ,mem_le_state 
-0x5c8d 023952 rtn 
-:      023955 le_parse_terminate_ind:
-0x5c8e 023956 setarg 20 
-0x5c8f 023957 store 2 ,mem_le_superto 
-0x5c90 023958 store 2 ,mem_le_init_superto 
-0x5c91 023959 rtn 
-:      023961 le_send_terminate_ind_user_terminated:
-0x5c92 023962 arg error_remote_user_terminated_connection ,regc 
-:      023965 le_send_terminate_ind:
-0x5c93 023966 arg 2 ,rega 
-0x5c94 023967 arg ll_terminate_ind ,regb 
-0x5c95 023968 call le_fifo_malloc_tx_ll 
-0x5c96 023969 copy regc ,pdata 
-0x5c97 023970 istore 1 ,contw 
-0x5c98 023971 rtn 
-:      023973 le_parse_feature_req:
-:      023975 le_send_feature_rsp:
-0x5c99 023976 arg 9 ,rega 
-0x5c9a 023977 arg ll_feature_rsp ,regb 
-0x5c9b 023978 call le_fifo_malloc_tx_ll 
-0x5c9c 023979 setarg param_le_features 
-0x5c9d 023980 istore 8 ,contw 
-0x5c9e 023981 rtn 
-:      023984 le_parse_version_ind:
-0x5c9f 023985 rtn master 
-:      023986 le_send_version_ind:
-0x5ca0 023987 arg 6 ,rega 
-0x5ca1 023988 arg ll_version_ind ,regb 
-0x5ca2 023989 call le_fifo_malloc_tx_ll 
-0x5ca3 023990 fetch 5 ,mem_lmp_version 
-0x5ca4 023991 istore 5 ,contw 
-0x5ca5 023992 rtn 
-:      023995 le_parse_ping_req:
-0x5ca6 023996 arg ll_ping_rsp ,regb 
-0x5ca7 023997 branch le_send_ll_one_lenth 
-:      024000 le_send_ll_one_lenth:
-0x5ca8 024001 arg 1 ,rega 
-0x5ca9 024002 branch le_fifo_malloc_tx_ll 
-:      024005 le_parse_enc_req:
-0x5caa 024006 ifetch 8 ,contr 
-0x5cab 024007 store 8 ,mem_le_rand 
-0x5cac 024008 ifetch 2 ,contr 
-0x5cad 024009 store 2 ,mem_le_ediv 
-0x5cae 024010 ifetch 8 ,contr 
-0x5caf 024011 store 8 ,mem_le_skdm 
-0x5cb0 024012 ifetch 4 ,contr 
-0x5cb1 024013 store 4 ,mem_le_ivm 
-0x5cb2 024014 call le_send_enc_rsp 
-0x5cb3 024015 bpatchx patch2f_2 ,mem_patch2f 
-0x5cb4 024016 fetch 1 ,mem_le_pairing_state 
-0x5cb5 024017 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
-0x5cb6 024018 fetch 1 ,mem_le_configuration 
-0x5cb7 024019 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
-0x5cb8 024020 fetch 1 ,mem_nv_data_number 
-0x5cb9 024021 ncall load_device_list_mode_4 ,blank 
-0x5cba 024022 fetch 1 ,mem_ltk_exists 
-0x5cbb 024023 beq 0 ,le_ltk_lost 
-:      024024 le_parse_enc_req_after_auth:
-0x5cbc 024025 jam flag_le_rcv_enc_start ,mem_le_enc_state 
-0x5cbd 024026 call le_send_start_enc_req 
-0x5cbe 024027 branch generate_sk 
-:      024029 le_parse_enc_req_fixed_ltk:
-0x5cbf 024030 jam 1 ,mem_ltk_exists 
-0x5cc0 024031 arg mem_le_fixed_ltk ,contr 
-0x5cc1 024032 arg mem_le_ltk ,contw 
-0x5cc2 024033 call memcpy16 
-0x5cc3 024034 branch le_parse_enc_req_after_auth 
-:      024037 le_ltk_lost:
-0x5cc4 024038 bpatchx patch2f_3 ,mem_patch2f 
-0x5cc5 024039 jam flag_le_enc_null ,mem_le_enc_state 
-0x5cc6 024040 jam flag_le_enc_null ,mem_le_pairing_state 
-0x5cc7 024041 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
-0x5cc8 024042 branch ui_ipc_send_event 
-:      024044 le_send_reject_ind:
-0x5cc9 024045 arg 2 ,rega 
-0x5cca 024046 arg ll_reject_ind ,regb 
-0x5ccb 024047 call le_fifo_malloc_tx_ll 
-0x5ccc 024048 setarg le_err_pin_or_key_missing 
-0x5ccd 024049 istore 1 ,contw 
-0x5cce 024050 rtn 
-:      024052 le_send_enc_rsp:
-0x5ccf 024053 arg mem_le_skds ,contw 
-0x5cd0 024054 force 8 ,loopcnt 
-0x5cd1 024055 call generate_random_loop 
-0x5cd2 024056 arg mem_le_ivs ,contw 
-0x5cd3 024057 force 4 ,loopcnt 
-0x5cd4 024058 call generate_random_loop 
-0x5cd5 024059 arg 13 ,rega 
-0x5cd6 024060 arg ll_enc_rsp ,regb 
-0x5cd7 024061 call le_fifo_malloc_tx_ll 
-0x5cd8 024062 fetch 8 ,mem_le_skds 
-0x5cd9 024063 istore 8 ,contw 
-0x5cda 024064 fetch 4 ,mem_le_ivs 
-0x5cdb 024065 istore 4 ,contw 
-0x5cdc 024066 rtn 
-:      024068 le_send_start_enc_req:
-0x5cdd 024069 arg ll_start_enc_req ,regb 
-0x5cde 024070 branch le_send_ll_one_lenth 
-:      024072 le_send_start_enc_rsp:
-0x5cdf 024073 arg ll_start_enc_rsp ,regb 
-0x5ce0 024074 branch le_send_ll_one_lenth 
-:      024077 le_parse_enc_rsp:
-0x5ce1 024078 ifetch 8 ,contr 
-0x5ce2 024079 store 8 ,mem_le_skds 
-0x5ce3 024080 ifetch 4 ,contr 
-0x5ce4 024081 store 4 ,mem_le_ivs 
-0x5ce5 024082 branch generate_sk 
-:      024084 le_parse_start_enc_req:
-0x5ce6 024085 fetch 1 ,mem_le_state 
-0x5ce7 024086 set1 lestate_encryption ,pdata 
-0x5ce8 024087 store 1 ,mem_le_state 
-0x5ce9 024088 rtn 
-:      024090 le_parse_start_enc_rsp:
-0x5cea 024091 rtn master 
-0x5ceb 024092 jam bt_evt_le_start_enc ,mem_fifo_temp 
-0x5cec 024093 call ui_ipc_send_event 
-0x5ced 024094 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
-0x5cee 024095 branch le_send_start_enc_rsp 
-:      024097 le_parse_pause_enc_req:
-0x5cef 024098 jam flag_le_enc_pause ,mem_le_enc_state 
-0x5cf0 024099 call le_send_pause_enc_rsp 
-0x5cf1 024100 jam bt_evt_le_pause_enc ,mem_fifo_temp 
-0x5cf2 024101 branch ui_ipc_send_event 
-:      024103 le_send_pause_enc_rsp:
-0x5cf3 024104 arg ll_pause_enc_rsp ,regb 
-0x5cf4 024105 branch le_send_ll_one_lenth 
-:      024108 le_parse_feature_rsp:
-:      024109 le_parse_unknown_rsp:
-:      024110 le_parse_pause_enc_rsp:
-:      024111 le_parse_reject_ind:
-:      024112 le_parse_ping_rsp:
-0x5cf5 024113 rtn 
-:      024120 init_lmp:
-0x5cf6 024121 rtn wake 
-:      024122 init_lmp_work:
-0x5cf7 024123 bpatchx patch2f_4 ,mem_patch2f 
-0x5cf8 024124 setarg 0 
-0x5cf9 024125 store 1 ,mem_lmp_to_send 
-0x5cfa 024126 store 1 ,mem_conn_sm 
-0x5cfb 024127 store 1 ,mem_lmo_opcode1 
-0x5cfc 024128 store 1 ,mem_lmo_opcode2 
-0x5cfd 024129 store 1 ,mem_esco_addr 
-0x5cfe 024130 store 1 ,mem_auth_enable 
-0x5cff 024131 store 1 ,mem_connection_options 
-0x5d00 024132 store 1 ,mem_pairing_auth 
-0x5d01 024133 jam switch_flag_init ,mem_switch_flag 
-0x5d02 024134 jam 0 ,mem_switch_fail_master_count 
-0x5d03 024135 jam null_encryp ,mem_wait_encryption 
-:      024136 init_lmp_reinit:
-0x5d04 024137 jam 0 ,mem_pairing_auth 
-0x5d05 024138 jam 0 ,mem_sp_localsm 
-0x5d06 024139 jam 0 ,mem_lmp_conn_state 
-:      024141 parse_rx_done:
-0x5d07 024142 rtn 
-:      024144 parse_lmp:
-0x5d08 024145 bpatchx patch2f_5 ,mem_patch2f 
-0x5d09 024146 call setlocalsm_master ,master 
-0x5d0a 024147 ncall setlocalsm_slave ,master 
-0x5d0b 024148 call lmo_fifo_check 
-0x5d0c 024149 nrtn blank 
-0x5d0d 024150 fetch 1 ,mem_state_map 
-0x5d0e 024151 rtnbit0 smap_rxlmp 
-0x5d0f 024152 set0 smap_rxlmp ,pdata 
-0x5d10 024153 set0 mark_rxbuf_inuse ,mark 
-0x5d11 024154 store 1 ,mem_state_map 
-0x5d12 024155 fetch 1 ,mem_rxbuf 
-0x5d13 024156 fetcht 1 ,mem_state_map 
-0x5d14 024157 isolate1 smap_lmptidinit ,pdata 
-0x5d15 024158 setflag true ,smap_lmptid ,temp 
-0x5d16 024159 storet 1 ,mem_state_map 
-0x5d17 024160 and_into 0x2 ,temp 
-0x5d18 024161 storet 1 ,mem_lmo_tid2 
-0x5d19 024162 fetcht 1 ,mem_state_map 
-0x5d1a 024163 rshift pdata ,pdata 
-0x5d1b 024164 store 1 ,mem_lmi_opcode2 
-0x5d1c 024165 bpatchx patch2f_6 ,mem_patch2f 
-0x5d1d 024166 fetch 1 ,mem_lmi_opcode2 
-0x5d1e 024167 beq lmp_escape ,parse_lmp_escape 
-0x5d1f 024168 beq lmp_accepted ,parse_lmp_accepted 
-0x5d20 024169 beq lmp_not_accepted ,parse_lmp_not_accepted 
-0x5d21 024170 beq lmp_set_afh ,parse_lmp_set_afh 
-0x5d22 024171 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
-0x5d23 024172 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
-0x5d24 024173 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
-0x5d25 024174 beq lmp_auto_rate ,parse_lmp_auto_rate 
-0x5d26 024175 beq lmp_test_control ,parse_lmp_test_control 
-0x5d27 024176 beq lmp_test_activate ,parse_lmp_test_activate 
-0x5d28 024177 beq lmp_setup_complete ,parse_lmp_setup_complete 
-0x5d29 024178 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
-0x5d2a 024179 beq lmp_features_req ,parse_lmp_features_req 
-0x5d2b 024180 beq lmp_host_connection_req ,parse_lmp_conn_req 
-0x5d2c 024181 beq lmp_version_req ,parse_lmp_version_req 
-0x5d2d 024182 beq lmp_version_res ,parse_lmp_version_res 
-0x5d2e 024183 beq lmp_detach ,parse_lmp_detach 
-0x5d2f 024184 beq lmp_max_slot ,parse_lmp_max_slot 
-0x5d30 024185 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
-0x5d31 024186 beq lmp_name_req ,parse_lmp_name_req 
-0x5d32 024187 beq lmp_name_res ,parse_lmp_name_res 
-0x5d33 024188 beq lmp_features_res ,parse_lmp_features_res 
-0x5d34 024189 beq lmp_comb_key ,parse_lmp_comb_key 
-0x5d35 024190 beq lmp_au_rand ,parse_lmp_au_rand 
-0x5d36 024191 beq lmp_in_rand ,parse_lmp_in_rand 
-0x5d37 024192 beq lmp_sres ,parse_lmp_sres 
-0x5d38 024193 beq lmp_incr_power_req ,parse_lmp_incr_power 
-0x5d39 024194 beq lmp_decr_power_req ,parse_lmp_decr_power 
-0x5d3a 024195 beq lmp_max_power ,parse_lmp_max_power 
-0x5d3b 024196 beq lmp_min_power ,parse_lmp_min_power 
-0x5d3c 024197 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
-0x5d3d 024198 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
-0x5d3e 024199 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
-0x5d3f 024200 beq lmp_slot_offset ,parse_lmp_slot_offset 
-0x5d40 024201 beq lmp_sniff_req ,parse_lmp_sniff_req 
-0x5d41 024202 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
-0x5d42 024203 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
-0x5d43 024204 beq lmp_switch_req ,parse_lmp_switch_req 
-0x5d44 024205 beq lmp_temp_rand ,parse_lmp_temp_rand 
-0x5d45 024206 beq lmp_temp_key ,parse_lmp_temp_key 
-0x5d46 024207 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
-0x5d47 024208 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
-0x5d48 024209 beq lmp_unit_key ,parse_lmp_unit_key 
-0x5d49 024210 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
-0x5d4a 024211 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
-0x5d4b 024212 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
-0x5d4c 024213 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
-0x5d4d 024214 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
-0x5d4e 024215 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
-0x5d4f 024216 beq lmp_dhkey_check ,parse_dhkey_check 
-0x5d50 024217 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
-0x5d51 024218 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
-:      024221 reject_unknown_packet:
-0x5d52 024222 jam unknown_lmp_pdu ,mem_lmo_reason2 
-:      024223 reject_lmp_packet:
-0x5d53 024224 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x5d54 024225 rtn 
-:      024227 parse_lmp_clkoffset_req:
-0x5d55 024228 jam lmp_clkoffset_res ,mem_lmo_opcode2 
-0x5d56 024229 rtn 
-:      024231 parse_enc_key_size_mask_req:
-0x5d57 024232 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
-0x5d58 024233 rtn 
-:      024235 parse_lmp_set_afh:
-0x5d59 024236 fetch 4 ,mem_rxbuf + 1 
-0x5d5a 024237 lshift pdata ,pdata 
-0x5d5b 024238 store 4 ,mem_afh_instant 
-0x5d5c 024239 fetch 1 ,mem_rxbuf + 5 
-0x5d5d 024240 store 1 ,mem_afh_new_mod 
-0x5d5e 024241 fetch 5 ,mem_rxbuf + 6 
-0x5d5f 024242 store 5 ,mem_afh_map_new 
-0x5d60 024243 fetch 5 ,mem_rxbuf + 11 
-0x5d61 024244 istore 5 ,contw 
-0x5d62 024245 fetch 1 ,mem_mode 
-0x5d63 024246 set1 afh_change ,pdata 
-0x5d64 024247 store 1 ,mem_mode 
-0x5d65 024248 rtn 
-:      024249 parse_lmp_escape:
-0x5d66 024250 bpatchx patch2f_7 ,mem_patch2f 
-0x5d67 024251 fetch 1 ,mem_rxbuf + 1 
-0x5d68 024252 set1 7 ,pdata 
-0x5d69 024253 store 1 ,mem_lmi_opcode2 
-0x5d6a 024254 beq lmp_ext_accepted ,parse_lmpext_accepted 
-0x5d6b 024255 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
-0x5d6c 024256 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
-0x5d6d 024257 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
-0x5d6e 024258 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
-0x5d6f 024259 beq lmp_ext_features_req ,parse_lmpext_features_req 
-0x5d70 024260 beq lmp_ext_features_res ,parse_lmpext_features_res 
-0x5d71 024261 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
-0x5d72 024262 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
-0x5d73 024263 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
-0x5d74 024264 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
-0x5d75 024265 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
-0x5d76 024266 rtneq lmp_ext_features_res 
-:      024269 reject_unknown_ext_packet:
-0x5d77 024270 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
-0x5d78 024271 jam unknown_lmp_pdu ,mem_lmo_reason2 
-0x5d79 024273 rtn 
-:      024274 parse_lmpext_chn_classification_req:
-0x5d7a 024275 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
-0x5d7b 024276 jam not_support_chn_classification ,mem_lmo_reason2 
-0x5d7c 024277 rtn 
-:      024279 parse_lmpext_iocap_req:
-0x5d7d 024280 call iocap_lmpext_load 
-0x5d7e 024281 jam lmp_io_cap_res ,mem_lmo_opcode2 
-0x5d7f 024282 rtn 
-:      024284 parse_lmpext_iocap_res:
-0x5d80 024285 call iocap_lmpext_load 
-0x5d81 024286 branch iocap_lmpext_common 
-:      024288 iocap_lmpext_load:
-0x5d82 024289 arg mem_sp_iocap_remote ,contw 
-0x5d83 024290 fetch 3 ,mem_rxbuf + 2 
-0x5d84 024291 istore 3 ,contw 
-0x5d85 024292 rtn 
-:      024294 iocap_lmpext_common:
-0x5d86 024295 branch master_set_mem_master_sp_flag ,true 
-0x5d87 024296 rtn 
-:      024297 parse_lmpext_accepted:
-0x5d88 024298 fetch 1 ,mem_rxbuf + 3 
-0x5d89 024299 set1 7 ,pdata 
-0x5d8a 024300 store 1 ,mem_lmi_accepted_opcode 
-0x5d8b 024301 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
-0x5d8c 024302 rtn 
-:      024305 parse_lmpext_not_accepted:
-0x5d8d 024306 fetch 1 ,mem_rxbuf + 3 
-0x5d8e 024307 set1 7 ,pdata 
-0x5d8f 024308 store 1 ,mem_lmi_accepted_opcode 
-0x5d90 024309 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
-0x5d91 024310 rtn 
-:      024312 parse_lmpext_accepted_ptt:
-0x5d92 024313 fetch 1 ,mem_ptt 
-0x5d93 024314 fetcht 1 ,mem_state_map 
-0x5d94 024315 nsetflag blank ,smap_edr ,temp 
-0x5d95 024316 storet 1 ,mem_state_map 
-:      024317 parse_lmpext_not_accepted_ptt:
-0x5d96 024318 fetch 1 ,mem_state 
-0x5d97 024319 rtnbit0 state_init_seq 
-0x5d98 024320 set0 state_init_seq ,pdata 
-0x5d99 024321 store 1 ,mem_state 
-0x5d9a 024322 fetch 1 ,mem_auth_enable 
-0x5d9b 024323 nrtn blank 
-0x5d9c 024324 jam lmp_setup_complete ,mem_lmo_opcode2 
-0x5d9d 024325 rtn 
-:      024327 parse_lmpext_pause_encrypt:
-0x5d9e 024328 nbranch parse_lmpext_pause_encrypt_slave ,master 
-0x5d9f 024329 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
-0x5da0 024330 branch tid_reply 
-:      024332 parse_lmpext_pause_encrypt_slave:
-0x5da1 024333 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
-0x5da2 024334 rtn 
-:      024336 parse_lmpext_resume_encrypt:
-0x5da3 024339 call tid_reply 
-0x5da4 024340 branch lmp_start_encryption 
-:      024342 parse_lmpext_features_req:
-0x5da5 024343 jam lmp_ext_features_res ,mem_lmo_opcode2 
-0x5da6 024344 rtn 
-:      024346 parse_lmpext_features_res:
-0x5da7 024347 fetcht 1 ,mem_rxbuf + 4 
-0x5da8 024348 and temp ,0x1 ,temp 
-0x5da9 024349 storet 1 ,mem_remote_sppcap 
-0x5daa 024350 fetch 1 ,mem_hci_cmd 
-0x5dab 024351 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
-0x5dac 024352 jam 0 ,mem_hci_cmd 
-:      024353 parse_lmpext_features_res_not_hci:
-0x5dad 024354 fetch 1 ,mem_conn_sm 
-0x5dae 024355 rtnne conn_sm_wait_features_ext 
-0x5daf 024356 jam conn_sm_send_conn_req ,mem_conn_sm 
-0x5db0 024357 branch process_conn_sm 
-:      024359 parse_lmp_accepted:
-0x5db1 024360 bpatchx patch30_0 ,mem_patch30 
-0x5db2 024361 fetch 1 ,mem_rxbuf + 1 
-0x5db3 024362 store 1 ,mem_lmi_accepted_opcode 
-0x5db4 024363 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
-0x5db5 024364 beq lmp_in_rand ,parse_lmp_accepted_inrand 
-0x5db6 024365 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
-0x5db7 024366 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
-0x5db8 024367 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
-0x5db9 024368 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
-0x5dba 024369 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
-0x5dbb 024370 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
-0x5dbc 024371 beq lmp_switch_req ,parse_lmp_accepted_switch 
-0x5dbd 024373 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
-0x5dbe 024374 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
-0x5dbf 024375 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
-0x5dc0 024376 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
-0x5dc1 024377 rtn 
-:      024379 parse_lmp_not_accepted:
-0x5dc2 024380 bpatchx patch30_1 ,mem_patch30 
-0x5dc3 024381 fetch 1 ,mem_rxbuf + 1 
-0x5dc4 024382 store 1 ,mem_lmi_accepted_opcode 
-0x5dc5 024383 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
-0x5dc6 024384 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
-0x5dc7 024385 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
-0x5dc8 024386 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
-0x5dc9 024387 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
-0x5dca 024389 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
-0x5dcb 024390 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
-0x5dcc 024391 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
-0x5dcd 024392 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
-0x5dce 024393 rtn 
-:      024395 parse_lmp_accepted_switch:
-0x5dcf 024396 jam bt_evt_switch_accept ,mem_fifo_temp 
-0x5dd0 024397 call ui_ipc_send_event 
-0x5dd1 024398 branch role_switch_prepare0 
-:      024399 parse_lmp_not_accepted_switch:
-0x5dd2 024400 jam bt_evt_switch_not_accept ,mem_fifo_temp 
-0x5dd3 024401 call ui_ipc_send_event 
-0x5dd4 024402 jam switch_flag_not_accept ,mem_switch_flag 
-0x5dd5 024403 setarg timer_switch_waite 
-0x5dd6 024404 arg switch_wait_timer ,queue 
-0x5dd7 024405 branch timer_init 
-:      024408 parse_lmp_accepted_hostconn:
-0x5dd8 024411 fetch 1 ,mem_lmp_conn_state 
-0x5dd9 024412 set1 received_conn_req ,pdata 
-0x5dda 024413 store 1 ,mem_lmp_conn_state 
-0x5ddb 024414 jam bt_evt_bb_connected ,mem_fifo_temp 
-0x5ddc 024415 call ui_ipc_send_event 
-0x5ddd 024416 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
-:      024418 parse_lmp_accepted_hostconn_ctn:
-0x5dde 024420 fetch 1 ,mem_conn_sm 
-0x5ddf 024421 bne conn_sm_wait_conn_accept ,parse_rx_done 
-0x5de0 024424 jam conn_sm_auth_pair ,mem_conn_sm 
-0x5de1 024425 rtn 
-:      024433 parse_lmp_not_accepted_hostconn:
-0x5de2 024434 jam acl_connection_already_exists ,mem_disconn_reason_send 
-0x5de3 024435 jam lmp_detach ,mem_lmo_opcode2 
-0x5de4 024437 jam conn_sm_standby ,mem_conn_sm 
-0x5de5 024439 branch parse_rx_done ,true 
-0x5de6 024440 rtn 
-:      024442 parse_lmp_accepted_inrand:
-0x5de7 024443 fetch 1 ,mem_link_key_exists 
-0x5de8 024444 nrtn blank 
-0x5de9 024445 call clear_linkkey 
-0x5dea 024446 call lmp_generate_key 
-0x5deb 024447 rtn master 
-0x5dec 024448 set1 mark_slave_in_rand_accepted ,mark 
-0x5ded 024449 rtn 
-:      024451 parse_lmp_accepted_enc_mode:
-0x5dee 024452 nrtn master 
-0x5def 024453 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
-0x5df0 024454 fetch 1 ,mem_state_map 
-0x5df1 024455 rtnbit0 smap_encryption 
-0x5df2 024456 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
-0x5df3 024457 rtn 
-:      024459 parse_lmp_accepted_enc_keysize:
-0x5df4 024460 branch lmp_start_encryption 
-:      024462 parse_lmp_accepted_start_enc:
-0x5df5 024463 call send_create_conn_start_l2cap_timer_sm 
-0x5df6 024464 fetch 1 ,mem_state 
-0x5df7 024465 rtnbit1 state_conn_comp 
-0x5df8 024466 jam lmp_setup_complete ,mem_lmo_opcode2 
-0x5df9 024467 fetch 1 ,mem_conn_sm 
-0x5dfa 024468 rtnne conn_sm_encrypt_wait 
-0x5dfb 024469 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
-0x5dfc 024470 rtn 
-:      024472 parse_lmp_accepted_stop_enc:
-0x5dfd 024480 rtn 
-:      024482 parse_lmp_not_accepted_aurand:
-:      024483 parse_lmp_not_accepted_aurand_send_detach:
-0x5dfe 024484 jam lmp_detach ,mem_lmo_opcode2 
-0x5dff 024485 jam other_end_terminated ,mem_disconn_reason_send 
-0x5e00 024486 rtn 
-:      024488 parse_lmp_not_accepted_inrand:
-0x5e01 024489 fetch 1 ,mem_rxbuf + 2 
-0x5e02 024490 beq key_missing ,parse_lmp_inrand_key_missing 
-0x5e03 024491 rtnne pairing_not_allowed 
-0x5e04 024492 jam pairing_not_allowed ,mem_disconn_reason_send 
-0x5e05 024493 jam lmp_detach ,mem_lmo_opcode2 
-0x5e06 024494 rtn 
-:      024495 parse_lmp_inrand_key_missing:
-0x5e07 024496 jam key_missing ,mem_disconn_reason_send 
-0x5e08 024497 jam lmp_detach ,mem_lmo_opcode2 
-0x5e09 024498 rtn 
-:      024500 parse_lmp_not_accepted_name_req:
-0x5e0a 024501 rtn 
-:      024503 parse_lmp_not_accepted_simple_pairing_number:
-0x5e0b 024504 jam sp_stat_null ,mem_sp_state 
-0x5e0c 024505 jam lmp_detach ,mem_lmo_opcode2 
-0x5e0d 024506 branch parse_rx_done 
-:      024508 parse_lmp_not_accepted_dhkey_check:
-0x5e0e 024509 jam sp_stat_null ,mem_sp_state 
-0x5e0f 024510 jam lmp_detach ,mem_lmo_opcode2 
-0x5e10 024511 branch parse_rx_done 
-:      024512 parse_lmp_not_accepted_unsniff_req:
-0x5e11 024513 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
-0x5e12 024514 branch ui_ipc_send_event 
-:      024516 parse_lmp_accepted_unsniff_req:
-0x5e13 024517 jam bt_evt_unsniff_accept ,mem_fifo_temp 
-0x5e14 024518 call ui_ipc_send_event 
-0x5e15 024519 branch sniff_exit 
-:      024521 parse_lmp_accepted_sniff_req:
-0x5e16 024522 jam bt_evt_sniff_accept ,mem_fifo_temp 
-0x5e17 024523 call ui_ipc_send_event 
-0x5e18 024524 setarg 0 
-0x5e19 024525 store 2 ,mem_dsniff 
-0x5e1a 024526 fetch 2 ,mem_sniff_param_interval 
-0x5e1b 024527 lshift pdata ,pdata 
-0x5e1c 024528 store 2 ,mem_tsniff 
-0x5e1d 024529 fetch 1 ,mem_sniff_param_attempt 
-0x5e1e 024530 store 1 ,mem_sniff_attempt 
-0x5e1f 024531 fetch 1 ,mem_sniff_param_timeout 
-0x5e20 024532 store 1 ,mem_sniff_timeout 
-0x5e21 024533 branch sniff_init 
-:      024535 parse_lmp_not_acdcept_sniff_req:
-0x5e22 024536 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
-0x5e23 024537 branch ui_ipc_send_event 
-:      024539 parse_lmp_crypt_key:
-0x5e24 024540 fetcht 1 ,mem_rxbuf + 1 
-0x5e25 024541 storet 1 ,mem_key_size 
-0x5e26 024542 branch accept_lmp_msg 
-:      024544 parse_lmp_setup_complete:
-0x5e27 024545 fetch 1 ,mem_lmp_conn_state 
-0x5e28 024546 set1 received_setup_complete ,pdata 
-0x5e29 024547 store 1 ,mem_lmp_conn_state 
-0x5e2a 024548 rtnbit1 sent_setup_complete 
-0x5e2b 024549 jam lmp_setup_complete ,mem_lmo_opcode2 
-0x5e2c 024550 branch parse_rx_done 
-:      024552 parse_lmp_max_slot:
-0x5e2d 024555 rtn 
-:      024557 parse_lmp_max_slot_req:
-0x5e2e 024558 fetch 1 ,mem_max_slot 
-0x5e2f 024559 fetcht 1 ,mem_rxbuf + 1 
-0x5e30 024560 isub temp ,null 
-0x5e31 024562 branch accept_lmp_msg ,positive 
-0x5e32 024563 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x5e33 024564 jam unspecified_error ,mem_lmo_reason2 
-0x5e34 024565 jam lmp_max_slot_req ,mem_lmi_opcode2 
-0x5e35 024566 rtn 
-:      024568 parse_lmp_detach:
-0x5e36 024569 call prepare_disconnect 
-0x5e37 024570 branch accept_lmp_msg 
-:      024572 accept_lmp_msg:
-0x5e38 024573 jam lmp_accepted ,mem_lmo_opcode2 
-0x5e39 024574 rtn 
-:      024576 parse_lmp_incr_power:
-0x5e3a 024577 jam lmp_max_power ,mem_lmo_opcode2 
-0x5e3b 024578 rtn 
-:      024580 parse_lmp_decr_power:
-0x5e3c 024581 jam lmp_min_power ,mem_lmo_opcode2 
-0x5e3d 024582 rtn 
-:      024584 parse_lmp_version_res:
-0x5e3e 024585 fetch 1 ,mem_conn_sm 
-0x5e3f 024586 rtneq conn_sm_wait_version 
-0x5e40 024588 jam conn_sm_send_features ,mem_conn_sm 
-0x5e41 024590 rtn 
-:      024593 parse_lmp_auto_rate:
-0x5e42 024594 rtn 
-:      024596 parse_lmp_in_rand:
-0x5e43 024597 call lmp_copy_rand 
-0x5e44 024598 jam pincode_state_wait_pincode ,mem_pincode_state 
-0x5e45 024599 jam bt_evt_pincode_req ,mem_fifo_temp 
-0x5e46 024600 call ui_ipc_send_event 
-0x5e47 024602 call tid_check 
-0x5e48 024603 nbranch lmp_accept_inrand ,true 
-0x5e49 024605 nbranch parse_lmp_inrand_res ,master 
-0x5e4a 024606 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x5e4b 024607 jam lmp_in_rand ,mem_lmi_opcode2 
-0x5e4c 024608 jam transaction_collision ,mem_lmo_reason2 
-0x5e4d 024609 rtn 
-:      024610 parse_lmp_inrand_res:
-0x5e4e 024611 fetch 1 ,mem_op 
-0x5e4f 024612 set1 op_inrand_req ,pdata 
-0x5e50 024613 store 1 ,mem_op 
-0x5e51 024614 rtn 
-:      024617 pop_tid_follow:
-0x5e52 024618 fetcht 1 ,mem_state_map 
-0x5e53 024619 nsetflag blank ,smap_lmptid ,temp 
-0x5e54 024620 storet 1 ,mem_state_map 
-0x5e55 024621 rtn 
-:      024624 push_tid_follow:
-0x5e56 024625 fetch 1 ,mem_lmo_tid2 
-0x5e57 024626 rshift pdata ,pdata 
-0x5e58 024627 and_into 1 ,pdata 
-0x5e59 024628 rtn 
-:      024630 parse_lmp_au_rand_moudle:
-0x5e5a 024631 fetch 1 ,mem_nv_data_number 
-0x5e5b 024632 rtn blank 
-0x5e5c 024633 fetch 1 ,mem_pairing_auth 
-0x5e5d 024634 call load_device_list ,blank 
-0x5e5e 024635 rtn 
-:      024637 parse_lmp_au_rand:
-0x5e5f 024638 call parse_lmp_au_rand_moudle 
-0x5e60 024639 call push_tid_follow 
-0x5e61 024640 store 1 ,mem_sres_tid 
-0x5e62 024641 call lmp_copy_rand 
-0x5e63 024642 jam lmp_sres ,mem_lmo_opcode2 
-0x5e64 024643 fetch 1 ,mem_link_key_exists 
-0x5e65 024644 nrtn blank 
-0x5e66 024645 fetch 1 ,mem_state 
-0x5e67 024646 rtnbit1 state_combkey 
-0x5e68 024647 jam key_missing ,mem_lmo_reason2 
-0x5e69 024648 branch reject_lmp_packet 
-:      024650 parse_lmp_sres:
-0x5e6a 024651 arg mem_plap ,rega 
-0x5e6b 024652 call function_e1 
-0x5e6c 024653 fetch 4 ,mem_rxbuf + 1 
-0x5e6d 024654 fetcht 4 ,mem_input_store 
-0x5e6e 024655 isub temp ,null 
-0x5e6f 024656 branch authentication_ok ,zero 
-0x5e70 024657 jam lmp_detach ,mem_lmo_opcode2 
-0x5e71 024658 jam authentication_failure_error ,mem_disconn_reason_send 
-0x5e72 024659 rtn 
-:      024660 authentication_ok:
-0x5e73 024661 call authentication_ok_common 
-0x5e74 024662 fetch 1 ,mem_ssp_enable 
-0x5e75 024663 branch pairing_success ,blank 
-0x5e76 024664 rtn 
-:      024667 authentication_ok_common:
-0x5e77 024668 call copy_aco 
-0x5e78 024669 call linkkey_ready 
-0x5e79 024670 fetch 1 ,mem_op 
-0x5e7a 024671 isolate1 op_auth_req ,pdata 
-0x5e7b 024672 set0 op_auth_req ,pdata 
-0x5e7c 024673 store 1 ,mem_op 
-0x5e7d 024674 fetch 1 ,mem_conn_sm 
-0x5e7e 024675 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
-0x5e7f 024676 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
-0x5e80 024677 rtn 
-:      024678 authentication_ok_conn_sm:
-0x5e81 024679 fetch 1 ,mem_pairing_auth 
-0x5e82 024680 rtnne defalt_pairing_auth 
-0x5e83 024681 fetch 1 ,mem_state_map 
-0x5e84 024682 rtnbit1 smap_encryption 
-0x5e85 024683 branch host_create_conn_encrypt 
-:      024685 parse_lmp_comb_key:
-0x5e86 024686 arg mem_rxbuf + 1 ,rega 
-0x5e87 024687 arg mem_kinit ,regb 
-0x5e88 024688 arg mem_random_number ,contw 
-0x5e89 024689 call xor16 
-0x5e8a 024690 arg mem_plap ,rega 
-0x5e8b 024691 call generate_linkkey 
-0x5e8c 024692 jam lmp_au_rand ,mem_lmo_opcode2 
-0x5e8d 024693 fetch 1 ,mem_state 
-0x5e8e 024694 bbit0 state_combkey ,lmp_generate_key 
-0x5e8f 024695 rtn 
-:      024697 parse_lmp_name_res:
-0x5e90 024698 fetch 2 ,mem_len 
-0x5e91 024699 add pdata ,-3 ,loopcnt 
-0x5e92 024700 fetcht 1 ,mem_rxbuf + 1 
-0x5e93 024701 setarg mem_tmp_buffer 
-0x5e94 024702 iadd temp ,contw 
-0x5e95 024703 arg mem_rxbuf + 3 ,contr 
-0x5e96 024704 call memcpy 
-0x5e97 024705 fetcht 1 ,mem_name_offset 
-0x5e98 024706 fetch 1 ,mem_rxbuf + 2 
-0x5e99 024707 isub temp ,pdata 
-0x5e9a 024708 sub pdata ,14 ,null 
-0x5e9b 024709 branch parse_lmp_name_res_end ,positive 
-0x5e9c 024710 add temp ,14 ,pdata 
-0x5e9d 024711 store 1 ,mem_name_offset 
-0x5e9e 024712 jam lmp_name_req ,mem_lmo_opcode2 
-0x5e9f 024713 rtn 
-:      024714 parse_lmp_name_res_end:
-0x5ea0 024715 fetch 1 ,mem_state_map 
-0x5ea1 024716 set1 smap_name_res ,pdata 
-0x5ea2 024717 store 1 ,mem_state_map 
-0x5ea3 024718 bbit1 smap_name_req ,lmp_disconnect 
-0x5ea4 024719 rtn 
-:      024720 parse_lmp_name_req:
-0x5ea5 024721 fetch 1 ,mem_rxbuf + 1 
-0x5ea6 024722 store 1 ,mem_lmi_opcode2 
-0x5ea7 024723 jam lmp_name_res ,mem_lmo_opcode2 
-0x5ea8 024724 rtn 
-:      024726 parse_lmp_conn_req:
-0x5ea9 024727 branch accept_lmp_msg 
-:      024729 parse_lmp_timing_accuracy_req:
-0x5eaa 024730 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
-0x5eab 024731 rtn 
-:      024733 parse_lmp_features_req:
-0x5eac 024734 jam lmp_features_res ,mem_lmo_opcode2 
-0x5ead 024735 rtn 
-:      024737 parse_lmp_version_req:
-0x5eae 024738 jam lmp_version_res ,mem_lmo_opcode2 
-0x5eaf 024739 rtn 
-:      024741 parse_lmp_supervision_timeout:
-0x5eb0 024744 rtn 
-:      024748 parse_lmp_sniff_subrating_req:
-0x5eb1 024749 fetch 2 ,mem_tsniff 
-0x5eb2 024750 iforce temp 
-0x5eb3 024751 fetch 1 ,mem_rxbuf + 2 
-0x5eb4 024752 store 1 ,mem_subsniff_rate 
-0x5eb5 024753 imul32 temp ,temp 
-0x5eb6 024754 fetch 2 ,mem_rxbuf + 3 
-0x5eb7 024755 lshift pdata ,pdata 
-0x5eb8 024756 store 2 ,mem_subsniff_tcmax 
-0x5eb9 024757 fetch 4 ,mem_rxbuf + 5 
-0x5eba 024758 lshift pdata ,pdata 
-0x5ebb 024759 store 4 ,mem_subsniff_instant 
-0x5ebc 024761 deposit temp 
-0x5ebd 024762 store 2 ,mem_subsniff_tsniff 
-0x5ebe 024763 rtn 
-:      024764 parse_lmpext_packet_type_table_req:
-0x5ebf 024765 fetcht 1 ,mem_ptt 
-0x5ec0 024766 fetch 1 ,mem_rxbuf + 2 
-0x5ec1 024767 ixor temp ,null 
-0x5ec2 024768 nbranch reject_unknown_ext_packet ,zero 
-0x5ec3 024769 isolate1 0 ,pdata 
-0x5ec4 024770 fetch 1 ,mem_state_map 
-0x5ec5 024771 setflag true ,smap_edr ,pdata 
-0x5ec6 024772 store 1 ,mem_state_map 
-0x5ec7 024773 jam lmp_ext_accepted ,mem_lmo_opcode2 
-0x5ec8 024774 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
-0x5ec9 024775 rtn 
-:      024778 parse_lmp_sniff_subrating_res:
-:      024779 parse_lmp_preferred_rate:
-:      024780 parse_lmp_max_power:
-:      024781 parse_lmp_min_power:
-0x5eca 024782 rtn 
-:      024783 parse_lmp_page_mode_req:
-0x5ecb 024785 branch accept_lmp_msg 
-:      024786 parse_lmp_page_scan_mode_req:
-0x5ecc 024789 branch accept_lmp_msg 
-:      024793 parse_lmp_slot_offset:
-0x5ecd 024794 fetch 2 ,mem_rxbuf + 1 
-0x5ece 024795 store 2 ,mem_slot_offset 
-0x5ecf 024796 rtn 
-:      024798 parse_lmp_sniff_req_check_sniff_para:
-0x5ed0 024799 fetch 2 ,mem_rxbuf + 4 
-0x5ed1 024800 fetcht 1 ,mem_lpm_mult 
-0x5ed2 024801 imul32 temp ,pdata 
-0x5ed3 024802 arg 0x640 ,temp 
-0x5ed4 024803 isub temp ,null 
-0x5ed5 024805 rtn 
-:      024807 parse_lmp_sniff_req:
-0x5ed6 024808 fetch 2 ,mem_rxbuf + 6 
-0x5ed7 024809 branch lmp_reject_sniff ,blank 
-0x5ed8 024810 call parse_lmp_sniff_req_check_sniff_para 
-0x5ed9 024811 branch lmp_reject_sniff ,positive 
-0x5eda 024812 fetch 1 ,mem_device_option 
-0x5edb 024813 sub pdata ,dvc_op_module ,null 
-0x5edc 024814 call module_set_lpm_mult_2 ,zero 
-0x5edd 024815 fetch 1 ,mem_state 
-0x5ede 024816 bbit1 state_insniff ,lmp_reject_sniff 
-0x5edf 024817 fetch 2 ,mem_rxbuf + 2 
-0x5ee0 024818 lshift pdata ,pdata 
-0x5ee1 024819 store 2 ,mem_dsniff 
-0x5ee2 024820 fetch 2 ,mem_rxbuf + 4 
-0x5ee3 024821 lshift pdata ,pdata 
-0x5ee4 024822 store 2 ,mem_tsniff 
-0x5ee5 024823 fetch 2 ,mem_rxbuf + 6 
-0x5ee6 024824 store 1 ,mem_sniff_attempt 
-0x5ee7 024825 iforce temp 
-0x5ee8 024826 fetch 2 ,mem_rxbuf + 8 
-0x5ee9 024827 store 1 ,mem_sniff_timeout 
-0x5eea 024828 isub temp ,null 
-0x5eeb 024829 nbranch set_big_value_to_attempt ,positive 
-0x5eec 024830 store 1 ,mem_sniff_attempt 
-:      024831 set_big_value_to_attempt:
-0x5eed 024833 jam lmp_accepted ,mem_lmo_opcode2 
-0x5eee 024834 jam lmp_sniff_req ,mem_lmi_opcode2 
-0x5eef 024835 rtn 
-:      024837 lmp_reject_sniff:
-0x5ef0 024838 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5ef1 024839 branch reject_lmp_packet 
-:      024841 parse_lmp_start_encryption_req:
-0x5ef2 024842 call accept_lmp_msg 
-0x5ef3 024843 call lmp_copy_rand 
-0x5ef4 024844 call function_e3 
-0x5ef5 024845 branch start_encryption 
-:      024847 parse_lmp_stop_encryption_req:
-0x5ef6 024848 call accept_lmp_msg 
-0x5ef7 024849 branch stop_encryption 
-:      024852 parse_lmp_switch_req:
-0x5ef8 024853 fetch 4 ,mem_rxbuf + 1 
-0x5ef9 024854 lshift pdata ,pdata 
-0x5efa 024856 branch parse_lmp_switch_accept ,master 
-0x5efb 024857 fetcht 1 ,mem_link_key_exists 
-0x5efc 024858 nbranch parse_lmp_switch_req_clear_mark ,blank 
-:      024859 parse_lmp_switch_req_not_accept:
-0x5efd 024860 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x5efe 024861 jam lmp_switch_req ,mem_lmi_opcode2 
-0x5eff 024862 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5f00 024863 rtn 
-:      024864 parse_lmp_switch_req_clear_mark:
-0x5f01 024865 jam lmp_slot_offset ,mem_lmo_opcode2 
-0x5f02 024866 jam 0 ,mem_conn_sm 
-0x5f03 024867 branch role_switch_prepare 
-:      024869 parse_lmp_switch_accept:
-0x5f04 024870 call role_switch_prepare 
-0x5f05 024871 set1 mark_reconn_recieve_switch ,mark 
-0x5f06 024872 fetch 1 ,mem_connection_options 
-0x5f07 024873 set0 connection_switch ,pdata 
-0x5f08 024874 store 1 ,mem_connection_options 
-0x5f09 024875 branch accept_lmp_msg 
-:      024879 parse_lmp_temp_rand:
-:      024880 parse_lmp_temp_key:
-:      024881 parse_lmp_timing_accuracy_res:
-:      024882 parse_lmp_unit_key:
-:      024883 parse_lmp_use_semi_permanend_key:
-0x5f0a 024884 rtn 
-:      024887 parse_lmp_unsniff_req:
-0x5f0b 024888 jam lmp_accepted ,mem_lmo_opcode2 
-0x5f0c 024889 jam lmp_unsniff_req ,mem_lmi_opcode2 
-0x5f0d 024890 jam bt_evt_remote_unsniff ,mem_fifo_temp 
-0x5f0e 024891 call ui_ipc_send_event 
-0x5f0f 024892 branch sniff_exit 
-:      024894 parse_lmp_encapsulated_header:
-0x5f10 024895 fetch 1 ,mem_rxbuf + 1 
-0x5f11 024896 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
-0x5f12 024897 fetch 1 ,mem_rxbuf + 2 
-0x5f13 024898 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
-0x5f14 024899 fetch 1 ,mem_rxbuf + 3 
-0x5f15 024900 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
-0x5f16 024901 call check_localsm 
-0x5f17 024902 branch parse_lmp_encapsulated_header_master ,true 
-0x5f18 024903 jam sp_stat_key_recv ,mem_sp_state 
-:      024904 parse_lmp_encapsulated_header_master:
-0x5f19 024905 jam lmp_accepted ,mem_lmo_opcode2 
-0x5f1a 024906 jam lmp_encapsulated_header ,mem_lmi_opcode2 
-0x5f1b 024907 branch parse_rx_done 
-:      024909 parse_lmp_encapsulated_header_reject:
-0x5f1c 024910 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5f1d 024911 branch reject_lmp_packet 
-:      024913 parse_lmp_accepted_encapsulated_header:
-0x5f1e 024916 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
-0x5f1f 024918 rtn 
-:      024919 parse_lmp_accepted_simple_pairing_number:
-0x5f20 024920 fetch 1 ,mem_ssp_mode_flag 
-0x5f21 024921 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
-0x5f22 024922 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
-:      024923 parse_lmp_accepted_simple_pairing_number_common:
-0x5f23 024924 call check_localsm 
-0x5f24 024925 rtn true 
-0x5f25 024926 jam sp_stat_confirm_recv ,mem_sp_state 
-0x5f26 024927 rtn 
-:      024929 parse_lmp_accepted_simple_pairing_number_ssp_pin:
-0x5f27 024930 call g_noninit_number_confirm 
-0x5f28 024931 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
-0x5f29 024932 call ui_ipc_send_event 
-0x5f2a 024933 branch parse_lmp_accepted_simple_pairing_number_common 
-:      024936 parse_lmp_accepted_simple_pairing_number_passkey:
-0x5f2b 024937 call check_localsm 
-0x5f2c 024938 rtn true 
-0x5f2d 024939 fetch 1 ,mem_authentication_passkey_times 
-0x5f2e 024940 beq 19 ,authentication_passkey_end 
-0x5f2f 024941 increase 1 ,pdata 
-0x5f30 024942 store 1 ,mem_authentication_passkey_times 
-:      024945 authentication_passkey:
-0x5f31 024946 jam sp_flag_commit ,mem_sp_flag 
-0x5f32 024947 jam sp_stat_commit_calc ,mem_sp_state 
-0x5f33 024948 fetch 1 ,mem_authentication_passkey_times 
-0x5f34 024949 copy pdata ,queue 
-0x5f35 024950 fetch 6 ,mem_pin 
-0x5f36 024951 qisolate1 pdata 
-0x5f37 024952 setarg 0x80 
-0x5f38 024953 setflag true ,0 ,pdata 
-0x5f39 024954 store 1 ,mem_passkey_1bit 
-0x5f3a 024955 rtn 
-:      024957 authentication_passkey_end:
-0x5f3b 024958 jam sp_stat_confirm_recv ,mem_sp_state 
-0x5f3c 024959 rtn 
-:      024961 parse_lmp_accepted_dhkey_check:
-0x5f3d 024962 call parse_lmp_accepted_dhkey_check_common 
-:      024963 pairing_success:
-0x5f3e 024964 fetch 1 ,mem_flag_pairing_state 
-0x5f3f 024965 rtn blank 
-0x5f40 024966 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
-0x5f41 024967 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
-0x5f42 024968 branch ui_ipc_send_event 
-:      024971 parse_lmp_accepted_dhkey_check_common:
-0x5f43 024973 call check_localsm 
-0x5f44 024974 ncall g_noninit ,true 
-0x5f45 024975 call g_init ,true 
-0x5f46 024976 call check_localsm 
-0x5f47 024977 rtn true 
-0x5f48 024978 jam sp_stat_link_key_calc ,mem_sp_state 
-0x5f49 024979 jam sp_flag_commit ,mem_sp_flag 
-0x5f4a 024980 rtn 
-:      024982 parse_simple_pairing_confirm:
-0x5f4b 024983 arg mem_sp_confirm_remote ,contw 
-0x5f4c 024984 arg mem_rxbuf + 1 ,contr 
-0x5f4d 024985 call memcpy16 
-0x5f4e 024986 fetch 1 ,mem_ssp_mode_flag 
-0x5f4f 024987 rtneq ssp_mode_passkey_entry_flag 
-0x5f50 024988 branch master_set_mem_master_sp_flag 
-:      024990 parse_lmp_encapsulated_payload:
-0x5f51 024991 fetch 1 ,mem_master_sp_state 
-0x5f52 024992 beq sp_stat_random_send ,parse_encapsulated_payload_master 
-0x5f53 024993 fetch 1 ,mem_sp_state 
-0x5f54 024994 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
-:      024995 parse_encapsulated_payload_master:
-0x5f55 024996 fetch 1 ,mem_sp_remote_key_recv_count 
-0x5f56 024997 sub pdata ,0x20 ,contw 
-0x5f57 024998 nbranch parse_lmp_encapsulated_payload_reject ,positive 
-0x5f58 024999 arg mem_sp_pubkey_remote ,contw 
-0x5f59 025000 iadd contw ,contw 
-0x5f5a 025001 fetch 8 ,mem_rxbuf + 1 
-0x5f5b 025002 istore 8 ,contw 
-0x5f5c 025003 fetch 8 ,mem_rxbuf + 9 
-0x5f5d 025004 istore 8 ,contw 
-0x5f5e 025005 fetch 1 ,mem_sp_remote_key_recv_count 
-0x5f5f 025006 increase 16 ,pdata 
-0x5f60 025007 store 1 ,mem_sp_remote_key_recv_count 
-0x5f61 025008 bne encapsulated_len_p192 ,accept_lmp_msg 
-:      025009 parse_lmp_encapsulated_payload_completed:
-0x5f62 025010 call check_localsm 
-0x5f63 025011 branch accept_lmp_msg ,true 
-0x5f64 025012 jam sp_key_valid ,mem_sp_remote_key_invalid 
-0x5f65 025013 jam sp_stat_key_generate ,mem_sp_state 
-0x5f66 025014 jam sp_flag_commit ,mem_sp_flag 
-0x5f67 025015 branch accept_lmp_msg 
-:      025016 parse_lmp_encapsulated_payload_reject:
-0x5f68 025017 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5f69 025018 branch reject_lmp_packet 
-:      025019 parse_lmp_accepted_encapsulated_payload:
-0x5f6a 025020 fetch 1 ,mem_sp_local_key_send_count 
-0x5f6b 025021 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
-0x5f6c 025022 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
-0x5f6d 025023 branch parse_rx_done 
-:      025025 parse_lmp_encapsulated_payload_all_accepted:
-0x5f6e 025026 call check_localsm 
-0x5f6f 025027 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
-0x5f70 025028 fetch 1 ,mem_ssp_mode_flag 
-0x5f71 025029 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
-0x5f72 025030 jam sp_flag_commit ,mem_sp_flag 
-0x5f73 025031 jam sp_stat_commit_calc ,mem_sp_state 
-0x5f74 025032 branch parse_rx_done 
-:      025034 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
-0x5f75 025035 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
-0x5f76 025036 branch ui_ipc_send_event 
-:      025039 parse_lmp_encapsulated_payload_all_accepted_master:
-0x5f77 025041 branch parse_rx_done 
-:      025043 parse_lmp_simple_pairing_number:
-0x5f78 025044 fetch 1 ,mem_master_sp_state 
-0x5f79 025045 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
-0x5f7a 025046 fetch 1 ,mem_sp_state 
-0x5f7b 025047 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
-:      025048 parse_lmp_simple_pairing_number_master:
-0x5f7c 025049 arg mem_sp_random_remote ,contw 
-0x5f7d 025050 fetch 8 ,mem_rxbuf + 1 
-0x5f7e 025051 istore 8 ,contw 
-0x5f7f 025052 fetch 8 ,mem_rxbuf + 9 
-0x5f80 025053 istore 8 ,contw 
-0x5f81 025054 call check_localsm 
-0x5f82 025055 branch parse_lmp_simple_pairing_number_master0 ,true 
-0x5f83 025056 jam sp_stat_random_send ,mem_sp_state 
-0x5f84 025057 jam sp_flag_commit ,mem_sp_flag 
-0x5f85 025058 branch accept_lmp_msg 
-:      025059 parse_lmp_simple_pairing_number_master0:
-0x5f86 025060 jam sp_stat_commit_calc ,mem_master_sp_state 
-0x5f87 025061 branch master_set_mem_master_sp_flag 
-:      025064 parse_lmp_simple_pairing_number_reject:
-0x5f88 025065 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5f89 025066 branch reject_lmp_packet 
-:      025068 parse_dhkey_check:
-0x5f8a 025069 fetch 1 ,mem_master_sp_state 
-0x5f8b 025070 beq sp_stat_confirm_send ,parse_dhkey_check_master 
-0x5f8c 025071 fetch 1 ,mem_sp_state 
-0x5f8d 025072 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
-:      025073 parse_dhkey_check_master:
-0x5f8e 025074 arg mem_sp_check_result ,contw 
-0x5f8f 025075 arg mem_rxbuf + 1 ,contr 
-0x5f90 025076 call memcpy16 
-0x5f91 025077 call check_localsm 
-0x5f92 025078 branch parse_dhkey_check_master0 ,true 
-0x5f93 025079 fetch 1 ,mem_ssp_mode_flag 
-0x5f94 025080 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
-:      025081 number_comparison_successed:
-0x5f95 025082 jam 0 ,mem_flag_mode_ssp_pin 
-0x5f96 025083 jam sp_stat_confirm_check ,mem_sp_state 
-0x5f97 025084 jam sp_flag_commit ,mem_sp_flag 
-0x5f98 025085 jam lmp_dhkey_check ,mem_lmi_opcode2 
-0x5f99 025086 branch parse_rx_done 
-:      025088 parse_dhkey_check_master0:
-0x5f9a 025089 jam sp_stat_confirm_check ,mem_master_sp_state 
-0x5f9b 025090 jam sp_flag_commit ,mem_master_sp_flag 
-0x5f9c 025091 branch parse_rx_done 
-:      025092 parse_lmp_dhkey_check_reject:
-0x5f9d 025093 jam pdu_not_allowed ,mem_lmo_reason2 
-0x5f9e 025094 branch reject_lmp_packet 
-:      025096 number_comparison_mode:
-0x5f9f 025097 fetch 1 ,mem_flag_mode_ssp_pin 
-0x5fa0 025098 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
-0x5fa1 025099 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
-0x5fa2 025100 store 1 ,mem_flag_mode_ssp_pin 
-0x5fa3 025101 rtn 
-:      025103 comparison_result:
-0x5fa4 025104 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
-0x5fa5 025105 jam 0 ,mem_flag_mode_ssp_pin 
-0x5fa6 025106 branch parse_lmp_dhkey_check_reject 
-:      025109 parse_lmp_clkoffset_res:
-0x5fa7 025110 branch parse_rx_done 
-:      025112 parse_lmp_encryption_mode_req:
-0x5fa8 025113 fetch 1 ,mem_connection_options 
-0x5fa9 025114 set0 connection_encrypt 
-0x5faa 025115 store 1 ,mem_connection_options 
-0x5fab 025116 call accept_lmp_msg 
-0x5fac 025117 nrtn master 
-0x5fad 025118 fetch 1 ,mem_rxbuf + 1 
-0x5fae 025119 fetcht 1 ,mem_op 
-0x5faf 025120 setflag blank ,op_stop_enc ,temp 
-0x5fb0 025121 nsetflag blank ,op_start_enc ,temp 
-0x5fb1 025122 storet 1 ,mem_op 
-0x5fb2 025123 rtn 
-:      025125 parse_lmp_features_res:
-0x5fb3 025126 fetcht 8 ,mem_rxbuf + 1 
-:      025127 parse_lmp_features_res_not_hci:
-0x5fb4 025128 fetch 1 ,mem_conn_sm 
-0x5fb5 025129 rtnne conn_sm_wait_features_res 
-0x5fb6 025131 fetch 1 ,mem_connection_options 
-0x5fb7 025132 bbit0 connection_feature_ext ,parse_lmp_send_conn 
-0x5fb8 025134 jam conn_sm_send_features_ext ,mem_conn_sm 
-0x5fb9 025135 rtn 
-:      025136 parse_lmp_send_conn:
-0x5fba 025137 jam conn_sm_send_conn_req ,mem_conn_sm 
-0x5fbb 025138 rtn 
-:      025139 parse_lmp_test_activate:
-0x5fbc 025140 fetch 1 ,mem_debug_config 
-0x5fbd 025141 store 1 ,mem_test_mode_old_debug_config 
-0x5fbe 025142 jam lmp_accepted ,mem_lmo_opcode2 
-0x5fbf 025143 jam lmp_test_activate ,mem_lmi_opcode2 
-0x5fc0 025144 rtn 
-:      025145 parse_lmp_test_control:
-0x5fc1 025148 jam lmp_accepted ,mem_lmo_opcode2 
-0x5fc2 025149 jam lmp_test_control ,mem_lmi_opcode2 
-0x5fc3 025150 force 9 ,loopcnt 
-0x5fc4 025151 arg mem_rxbuf + 1 ,contr 
-0x5fc5 025152 arg mem_temp_payload ,contw 
-:      025153 parse_lmp_test_xor:
-0x5fc6 025154 ifetch 1 ,contr 
-0x5fc7 025155 xor_into 0x55 ,pdata 
-0x5fc8 025156 istore 1 ,contw 
-0x5fc9 025157 loop parse_lmp_test_xor 
-0x5fca 025158 fetch 1 ,test_mode_scenario 
-0x5fcb 025159 fetcht 1 ,mem_tester_emulate 
-0x5fcc 025160 set0 tester_no_whitening ,temp 
-0x5fcd 025161 set0 tester_pattern_test ,temp 
-0x5fce 025162 beq exit_test_mode ,parse_lmp_test_control_exit 
-0x5fcf 025163 beq pause_test_mode ,parse_lmp_test_control_pause 
-0x5fd0 025164 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
-0x5fd1 025165 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
-0x5fd2 025166 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
-0x5fd3 025167 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
-0x5fd4 025168 beq zero_pattern ,parse_lmp_test_control_pattern 
-0x5fd5 025169 beq one_pattern ,parse_lmp_test_control_pattern 
-0x5fd6 025170 beq alt_pattern ,parse_lmp_test_control_pattern 
-0x5fd7 025171 beq alt2_pattern ,parse_lmp_test_control_pattern 
-0x5fd8 025172 beq pseudorandom ,parse_lmp_test_control_pattern 
-0x5fd9 025173 rtn 
-:      025174 parse_lmp_test_control_exit:
-0x5fda 025176 fetch 1 ,mem_tester_emulate 
-0x5fdb 025177 set1 tester_exit ,pdata 
-0x5fdc 025178 set1 tester_change ,pdata 
-0x5fdd 025179 store 1 ,mem_tester_emulate 
-0x5fde 025180 rtn 
-:      025181 parse_lmp_test_control_pattern:
-0x5fdf 025182 set1 tester_pattern_test ,temp 
-0x5fe0 025183 jam 5 ,mem_lch_code 
-0x5fe1 025184 fetch 2 ,test_mode_data_length 
-0x5fe2 025185 iforce loopcnt 
-0x5fe3 025186 store 2 ,mem_len 
-0x5fe4 025187 arg mem_rxbuf ,contw 
-0x5fe5 025188 call pn9 
-:      025189 parse_lmp_test_control_loopback_nowhite:
-0x5fe6 025190 set1 tester_no_whitening ,temp 
-:      025191 parse_lmp_test_control_loopback:
-0x5fe7 025192 set1 tester_change ,temp 
-0x5fe8 025193 force 0 ,pdata 
-0x5fe9 025194 store 1 ,mem_slave_rcvcnt 
-0x5fea 025195 store 2 ,mem_tst_pktcnt_crc 
-0x5feb 025196 store 2 ,mem_tst_pktcnt_dmh 
-0x5fec 025197 store 2 ,mem_tst_pktcnt_hec 
-0x5fed 025198 store 2 ,mem_tst_pktcnt_sync 
-0x5fee 025199 fetch 1 ,test_mode_hopping_mode 
-0x5fef 025200 compare fixed_freq ,pdata ,0xff 
-0x5ff0 025201 setflag true ,tester_fixed_freq ,temp 
-0x5ff1 025202 storet 1 ,mem_tester_emulate 
-0x5ff2 025203 rtn 
-:      025205 parse_lmp_test_control_pause:
-0x5ff3 025206 set0 mark_testmode ,mark 
-0x5ff4 025207 jam 0 ,mem_tester_emulate 
-0x5ff5 025208 fetch 1 ,mem_debug_config 
-0x5ff6 025209 set0 debug_tx_pattern ,pdata 
-0x5ff7 025210 store 1 ,mem_debug_config 
-0x5ff8 025211 rtn 
-:      025217 lmp_copy_rand:
-0x5ff9 025218 arg mem_rxbuf + 1 ,contr 
-0x5ffa 025219 arg mem_random_number ,contw 
-0x5ffb 025220 branch memcpy16 
-:      025222 lmp_generate_key:
-0x5ffc 025223 jam lmp_comb_key ,mem_lmo_opcode2 
-0x5ffd 025224 rtn 
-:      025226 lmp_start_encryption:
-0x5ffe 025227 nrtn master 
-0x5fff 025228 jam lmp_start_encryption_req ,mem_lmo_opcode2 
-0x6000 025229 rtn 
-:      025231 lmp_accept_inrand:
-0x6001 025232 arg mem_lap ,rega 
-0x6002 025233 call generate_kinit 
-0x6003 025234 jam lmp_accepted ,mem_lmo_opcode2 
-0x6004 025235 jam lmp_in_rand ,mem_lmi_opcode2 
-0x6005 025236 rtn 
-:      025238 lmp_disconnect:
-0x6006 025239 jam 10 ,mem_conn_timer 
-0x6007 025240 jam lmp_detach ,mem_lmo_opcode2 
-0x6008 025241 jam local_host ,mem_disconn_reason_send 
-0x6009 025242 rtn 
-:      025248 send_lmp:
-0x600a 025249 bpatchx patch30_2 ,mem_patch30 
-0x600b 025250 disable user 
-0x600c 025251 call lmo_fifo_process 
-0x600d 025252 fetch 1 ,mem_lmp_to_send 
-0x600e 025253 rtn blank 
-0x600f 025258 bbit1 7 ,send_lmp_escape 
-:      025259 send_lmp0:
-0x6010 025260 beq lmp_name_req ,send_lmp_name_req 
-0x6011 025261 beq lmp_name_res ,send_lmp_name_res 
-0x6012 025262 beq lmp_accepted ,send_lmp_accepted 
-0x6013 025263 beq lmp_not_accepted ,send_lmp_not_accepted 
-0x6014 025264 beq lmp_features_req ,send_lmp_features_req 
-0x6015 025265 beq lmp_features_res ,send_lmp_features_res 
-0x6016 025266 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
-0x6017 025267 beq lmp_version_req ,send_lmp_version_req 
-0x6018 025268 beq lmp_version_res ,send_lmp_version_res 
-0x6019 025269 beq lmp_setup_complete ,send_lmp_setup_complete 
-0x601a 025270 beq lmp_supervision_timeout ,send_lmp_superto 
-0x601b 025271 beq lmp_host_connection_req ,send_lmp_no_payload 
-0x601c 025272 beq lmp_in_rand ,send_lmp_inrand 
-0x601d 025273 beq lmp_comb_key ,send_lmp_comb_key 
-0x601e 025274 beq lmp_au_rand ,send_lmp_aurand 
-0x601f 025275 beq lmp_sres ,send_lmp_sres 
-0x6020 025276 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
-0x6021 025277 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
-0x6022 025278 beq lmp_start_encryption_req ,send_lmp_start_encryption 
-0x6023 025279 beq lmp_detach ,send_lmp_detach 
-0x6024 025280 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
-0x6025 025281 beq lmp_unit_key ,send_lmp_unit_key 
-0x6026 025283 beq lmp_incr_power_req ,send_lmp_inc_power 
-0x6027 025284 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
-0x6028 025285 beq lmp_max_power ,send_lmp_nopayload_reply 
-0x6029 025286 beq lmp_max_slot ,send_lmp_max_slot 
-0x602a 025287 beq lmp_max_slot_req ,send_lmp_max_slot_req 
-0x602b 025288 beq lmp_min_power ,send_lmp_nopayload_reply 
-0x602c 025289 beq lmp_slot_offset ,send_lmp_slot_offset 
-0x602d 025290 beq lmp_switch_req ,send_lmp_switch_req 
-0x602e 025291 beq lmp_sniff_req ,send_lmp_sniff_req 
-0x602f 025292 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
-0x6030 025293 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
-0x6031 025294 beq lmp_unsniff_req ,send_lmp_unsniff_req 
-0x6032 025295 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
-0x6033 025296 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
-0x6034 025297 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
-0x6035 025298 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
-0x6036 025299 beq lmp_dhkey_check ,send_lmp_dhkey_check 
-0x6037 025300 beq lmp_auto_rate ,send_lmp_auto_rate 
-0x6038 025301 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
-0x6039 025303 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
-0x603a 025304 beq lmp_quality_of_service ,send_lmp_quality_of_service 
-0x603b 025305 beq lmp_test_activate ,send_lmp_test_activate 
-0x603c 025306 beq lmp_test_control ,send_lmp_test_control 
-:      025307 send_lmp_error:
-0x603d 025308 branch assert 
-0x603e 025309 rtn 
-:      025310 send_lmp_escape:
-0x603f 025311 beq lmp_ext_accepted ,send_lmpext_accepted 
-0x6040 025312 beq lmp_ext_features_res ,send_lmpext_features_res 
-0x6041 025313 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
-0x6042 025314 beq lmp_ext_features_req ,send_lmpext_features_req 
-0x6043 025315 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
-0x6044 025316 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
-0x6045 025317 beq lmp_io_cap_req ,send_lmp_io_cap_req 
-0x6046 025318 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
-0x6047 025319 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
-0x6048 025320 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
-0x6049 025321 branch assert 
-:      025327 send_lmp_accepted:
-0x604a 025328 force 2 ,pdata 
-0x604b 025329 call msg_send_lmp 
-0x604c 025330 fetch 1 ,mem_lmi_opcode 
-0x604d 025331 istore 1 ,contw 
-0x604e 025332 call send_lmp_follow 
-0x604f 025333 bpatchx patch30_3 ,mem_patch30 
-0x6050 025334 fetch 1 ,mem_lmi_opcode 
-0x6051 025335 beq lmp_in_rand ,send_lmp_accepted_inrand 
-0x6052 025336 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
-0x6053 025337 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
-0x6054 025338 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
-0x6055 025339 beq lmp_host_connection_req ,send_lmp_accepted_connection 
-0x6056 025340 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
-0x6057 025341 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
-0x6058 025342 rtn 
-:      025344 send_create_conn_start_l2cap_timer_sm:
-0x6059 025345 fetch 1 ,mem_conn_sm 
-0x605a 025346 rtn blank 
-0x605b 025347 jam conn_sm_wait_done ,mem_conn_sm 
-0x605c 025348 setarg timer_enpt_waite 
-0x605d 025349 arg enpt_delay_timer ,queue 
-0x605e 025350 branch timer_init 
-:      025352 send_lmp_accept_sniff_req:
-0x605f 025353 branch sniff_init 
-:      025354 send_lmp_not_accepted:
-0x6060 025355 force 3 ,pdata 
-0x6061 025356 call msg_send_lmp 
-0x6062 025357 fetch 1 ,mem_lmi_opcode 
-0x6063 025358 beq lmp_au_rand ,send_not_accept_aurand 
-0x6064 025359 istore 1 ,contw 
-0x6065 025360 fetch 1 ,mem_lmo_reason 
-0x6066 025361 istore 1 ,contw 
-0x6067 025362 branch send_lmp_follow 
-:      025364 send_not_accept_aurand:
-0x6068 025365 istore 1 ,contw 
-0x6069 025366 fetch 1 ,mem_lmo_reason 
-0x606a 025367 istore 1 ,contw 
-0x606b 025368 arg mem_sres_tid ,temp 
-0x606c 025369 branch special_tid_store 
-:      025371 send_lmpext_accepted:
-0x606d 025372 force 4 ,queue 
-0x606e 025373 call send_lmpext 
-0x606f 025374 setarg lmp_escape 
-0x6070 025375 istore 1 ,contw 
-0x6071 025376 fetch 1 ,mem_lmi_opcode 
-0x6072 025377 set0 7 ,pdata 
-0x6073 025378 istore 1 ,contw 
-0x6074 025379 fetch 1 ,mem_lmi_opcode 
-0x6075 025380 branch send_lmp_follow 
-:      025382 send_lmpext_not_accepted:
-0x6076 025383 force 5 ,queue 
-0x6077 025384 call send_lmpext 
-0x6078 025385 setarg lmp_escape 
-0x6079 025386 istore 1 ,contw 
-0x607a 025387 fetch 1 ,mem_lmi_opcode 
-0x607b 025388 set0 7 ,pdata 
-0x607c 025389 istore 1 ,contw 
-0x607d 025390 fetch 1 ,mem_lmo_reason 
-0x607e 025391 istore 1 ,contw 
-0x607f 025392 branch send_lmp_follow 
-:      025395 send_lmp_accepted_inrand:
-0x6080 025396 call clear_linkkey 
-0x6081 025397 call tid_check 
-0x6082 025398 rtn true 
-0x6083 025399 branch lmp_generate_key 
-:      025401 send_lmp_accepted_enc_mode:
-0x6084 025402 fetch 1 ,mem_op 
-0x6085 025403 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
-0x6086 025404 rtnbit0 op_stop_enc 
-0x6087 025405 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
-0x6088 025406 set0 op_stop_enc ,pdata 
-0x6089 025407 call tid_reply 
-0x608a 025408 branch send_lmp_accepted_enc_exit 
-:      025409 send_lmp_accepted_enc_start:
-0x608b 025410 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
-0x608c 025411 set0 op_start_enc ,pdata 
-:      025412 send_lmp_accepted_enc_exit:
-0x608d 025413 store 1 ,mem_op 
-0x608e 025414 rtn 
-:      025416 send_lmp_accepted_enc_key:
-0x608f 025417 call check_localsm 
-0x6090 025418 branch lmp_start_encryption ,true 
-0x6091 025419 rtn 
-:      025421 send_lmp_accepted_connection:
-0x6092 025422 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
-0x6093 025424 fetch 1 ,mem_lmp_conn_state 
-0x6094 025425 set1 received_conn_req ,pdata 
-0x6095 025426 store 1 ,mem_lmp_conn_state 
-0x6096 025427 jam bt_evt_bb_connected ,mem_fifo_temp 
-0x6097 025428 branch ui_ipc_send_event 
-:      025431 send_lmp_accept_dhkey_check:
-0x6098 025432 rtn 
-:      025436 send_lmpext_features_res:
-0x6099 025437 force 12 ,queue 
-0x609a 025438 call send_lmpext 
-0x609b 025439 setarg 0x01 
-0x609c 025440 istore 1 ,contw 
-0x609d 025441 fetch 2 ,mem_lmpext_ssp_enable 
-0x609e 025442 istore 2 ,contw 
-0x609f 025443 setarg 0 
-0x60a0 025444 istore 3 ,contw 
-0x60a1 025445 setarg 0x00 
-0x60a2 025446 istore 4 ,contw 
-0x60a3 025447 branch send_lmp_reply 
-:      025448 send_lmpext_io_cap_res:
-0x60a4 025449 force 5 ,queue 
-0x60a5 025450 call send_lmpext 
-0x60a6 025451 fetch 3 ,mem_sp_iocap_local 
-0x60a7 025452 istore 3 ,contw 
-0x60a8 025453 call send_lmp_reply 
-0x60a9 025454 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
-0x60aa 025455 fetch 1 ,mem_sp_iocap_local 
-0x60ab 025456 beq display_yesno ,responder_iocap_display_yesno 
-0x60ac 025457 beq keyboard_only ,responder_iocap_keyboard_only 
-0x60ad 025458 beq no_input_no_output ,responder_iocap_no_input_no_output 
-0x60ae 025459 rtn 
-:      025461 responder_iocap_keyboard_only:
-0x60af 025462 fetch 1 ,mem_sp_iocap_remote 
-0x60b0 025463 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
-0x60b1 025464 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
-0x60b2 025465 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
-0x60b3 025466 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
-0x60b4 025467 rtn 
-:      025470 responder_iocap_display_yesno:
-0x60b5 025471 fetch 1 ,mem_sp_iocap_remote 
-0x60b6 025472 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
-0x60b7 025473 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
-0x60b8 025474 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
-0x60b9 025475 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
-0x60ba 025476 rtn 
-:      025479 responder_iocap_no_input_no_output:
-0x60bb 025480 fetch 1 ,mem_sp_iocap_remote 
-0x60bc 025481 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
-0x60bd 025482 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
-0x60be 025483 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
-0x60bf 025484 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
-0x60c0 025485 rtn 
-:      025487 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
-:      025488 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
-:      025489 responder_iocap_display_yesno_initiator_iocap_display_only:
-:      025490 responder_iocap_no_input_no_output_initiator_iocap_display_only:
-:      025491 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
-:      025492 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
-:      025493 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
-:      025494 set_ssp_mode_justwork:
-0x60c1 025495 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
-0x60c2 025496 fetch 1 ,mem_classic_bt_flag 
-0x60c3 025497 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
-0x60c4 025498 rtn 
-:      025500 responder_iocap_display_yesno_initiator_iocap_display_yesno:
-:      025501 set_ssp_mode_numeric_comparison:
-0x60c5 025502 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
-0x60c6 025503 rtn 
-:      025505 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
-:      025506 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
-:      025507 responder_iocap_keyboard_only_initiator_iocap_display_only:
-:      025508 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
-:      025509 set_ssp_mode_passkey:
-0x60c7 025510 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
-0x60c8 025511 rtn 
-:      025514 classic_bt_set_reject_justwork_flag:
-0x60c9 025515 arg flag_ssp_reject_justwork ,queue 
-0x60ca 025516 branch classic_bluetooth_set_flag 
-:      025518 classic_bt_clr_reject_justwork_flag:
-0x60cb 025519 arg flag_ssp_reject_justwork ,queue 
-0x60cc 025520 branch classic_bluetooth_clr_flag 
-:      025522 classic_bluetooth_set_flag:
-0x60cd 025523 fetch 1 ,mem_classic_bt_flag 
-0x60ce 025524 qset1 pdata 
-0x60cf 025525 store 1 ,mem_classic_bt_flag 
-0x60d0 025526 rtn 
-:      025528 classic_bluetooth_clr_flag:
-0x60d1 025529 fetch 1 ,mem_classic_bt_flag 
-0x60d2 025530 qset0 pdata 
-0x60d3 025531 store 1 ,mem_classic_bt_flag 
-0x60d4 025532 rtn 
-:      025535 send_lmp_io_cap_req:
-0x60d5 025536 force 5 ,queue 
-0x60d6 025537 call send_lmpext 
-0x60d7 025538 fetch 3 ,mem_sp_iocap_local 
-0x60d8 025539 istore 3 ,contw 
-0x60d9 025540 branch send_lmp_request 
-:      025543 send_lmpext_sniff_subrating_req:
-0x60da 025545 rtn 
-:      025546 send_lmpext_sniff_subrating_res:
-0x60db 025547 force 9 ,queue 
-0x60dc 025548 call send_lmpext 
-0x60dd 025549 fetch 1 ,mem_subsniff_rate 
-0x60de 025550 istore 1 ,contw 
-0x60df 025551 fetch 2 ,mem_subsniff_tcmax 
-0x60e0 025552 istore 2 ,contw 
-0x60e1 025553 fetch 4 ,mem_subsniff_instant 
-0x60e2 025554 istore 4 ,contw 
-0x60e3 025555 branch send_lmp_reply 
-:      025557 send_lmp_name_res:
-0x60e4 025558 force 17 ,pdata 
-0x60e5 025559 call msg_send_lmp 
-0x60e6 025560 fetch 1 ,mem_lmi_opcode 
-0x60e7 025561 copy pdata ,temp 
-0x60e8 025562 beq 0x00 ,send_lmp_name_res_offset_ok 
-0x60e9 025563 beq 0x0e ,send_lmp_name_res_offset_ok 
-0x60ea 025564 beq 0x1c ,send_lmp_name_res_offset_ok 
-0x60eb 025565 rtn 
-:      025566 send_lmp_name_res_offset_ok:
-0x60ec 025567 istore 1 ,contw 
-0x60ed 025568 fetch 1 ,mem_local_name_length 
-0x60ee 025569 istore 1 ,contw 
-0x60ef 025570 arg 14 ,loopcnt 
-0x60f0 025571 setarg mem_local_name 
-0x60f1 025572 iadd temp ,contr 
-0x60f2 025573 call memcpy 
-0x60f3 025574 branch send_lmp_reply 
-:      025577 send_lmp_timing_accuracy_res:
-0x60f4 025578 force 3 ,pdata 
-0x60f5 025579 call msg_send_lmp 
-0x60f6 025580 setarg 0x0114 
-0x60f7 025581 istore 2 ,contw 
-0x60f8 025582 branch send_lmp_reply 
-:      025584 send_lmp_clkoffset_res:
-0x60f9 025586 force 3 ,pdata 
-0x60fa 025587 call msg_send_lmp 
-0x60fb 025588 fetch 4 ,mem_clke_bt 
-0x60fc 025589 isub clkn_bt ,pdata 
-0x60fd 025590 branch send_lmp_clkoffset_res_master ,master 
-0x60fe 025591 sub pdata ,0 ,pdata 
-:      025592 send_lmp_clkoffset_res_master:
-0x60ff 025594 rshift2 pdata ,pdata 
-0x6100 025595 set0 15 ,pdata 
-0x6101 025596 istore 2 ,contw 
-0x6102 025597 branch send_lmp_reply 
-:      025599 send_lmp_version_res:
-0x6103 025600 force 6 ,pdata 
-0x6104 025601 call msg_send_lmp 
-0x6105 025602 fetch 5 ,mem_lmp_version 
-0x6106 025603 istore 5 ,contw 
-0x6107 025604 branch send_lmp_reply 
-:      025606 send_lmp_features_res:
-0x6108 025607 force 9 ,pdata 
-0x6109 025608 call msg_send_lmp 
-0x610a 025609 fetch 8 ,mem_features 
-0x610b 025610 istore 8 ,contw 
-0x610c 025611 branch send_lmp_reply 
-:      025618 send_lmpext_features_req:
-0x610d 025619 force 12 ,queue 
-0x610e 025620 call send_lmpext 
-0x610f 025621 setarg 0x01 
-0x6110 025622 istore 1 ,contw 
-0x6111 025623 fetch 2 ,mem_lmpext_ssp_enable 
-0x6112 025624 istore 2 ,contw 
-0x6113 025625 setarg 0 
-0x6114 025626 istore 3 ,contw 
-0x6115 025627 setarg 0x00 
-0x6116 025628 istore 4 ,contw 
-0x6117 025629 branch send_lmp_request 
-:      025631 send_lmpext_packet_type_table_req:
-0x6118 025632 force 3 ,queue 
-0x6119 025633 call send_lmpext 
-0x611a 025634 fetch 1 ,mem_ptt 
-0x611b 025635 istore 1 ,contw 
-0x611c 025636 disable user 
-0x611d 025637 call send_lmp_request 
-0x611e 025638 nrtn user 
-0x611f 025639 nrtn master 
-0x6120 025640 fetch 1 ,mem_afh_cfg 
-0x6121 025641 rtnbit0 afh_cfg_on 
-0x6122 025642 call afh_init 
-0x6123 025643 branch afh_open_all_channels 
-:      025646 ssp_enable:
-0x6124 025647 bpatchx patch30_4 ,mem_patch30 
-0x6125 025648 fetch 1 ,mem_features + 6 
-0x6126 025649 set1 param_featrue_ssp ,pdata 
-0x6127 025650 store 1 ,mem_features + 6 
-0x6128 025651 setarg param_lmpext_ssp_enable 
-0x6129 025652 store 2 ,mem_lmpext_ssp_enable 
-0x612a 025653 rtn 
-:      025655 ssp_disable:
-0x612b 025656 bpatchx patch30_5 ,mem_patch30 
-0x612c 025657 fetch 1 ,mem_features + 6 
-0x612d 025658 set0 param_featrue_ssp ,pdata 
-0x612e 025659 store 1 ,mem_features + 6 
-0x612f 025660 setarg 0 
-0x6130 025661 store 2 ,mem_lmpext_ssp_enable 
-0x6131 025662 rtn 
-:      025664 afh_init:
-0x6132 025665 jam 0x3 ,mem_afh_cfg 
-0x6133 025666 setarg 0 
-0x6134 025667 store 4 ,mem_afh_timer 
-0x6135 025668 arg mem_afh_map_lo ,contw 
-0x6136 025669 call afh_reset_map 
-0x6137 025670 arg mem_afh_map_new ,contw 
-0x6138 025671 call afh_reset_map 
-0x6139 025672 arg mem_afh_classify_channel_map ,contw 
-0x613a 025673 call afh_reset_map 
-0x613b 025674 branch afh_clear_error_counter 
-:      025675 afh_open_all_channels:
-0x613c 025676 arg mem_afh_map_new ,contw 
-0x613d 025677 call afh_reset_map 
-0x613e 025678 call afh_clear_error_counter 
-0x613f 025679 branch afh_set_send_flag 
-:      025682 afh_reset_map:
-0x6140 025683 setarg 0xffffff 
-0x6141 025684 istore 3 ,contw 
-0x6142 025685 istore 3 ,contw 
-0x6143 025686 istore 3 ,contw 
-0x6144 025687 setarg 0x7f 
-0x6145 025688 istore 1 ,contw 
-0x6146 025689 rtn 
-:      025690 afh_clear_error_counter:
-0x6147 025691 setarg 0 
-0x6148 025692 store 2 ,mem_afh_error_total 
-0x6149 025693 rtn 
-:      025694 afh_set_send_flag:
-0x614a 025695 fetch 1 ,mem_afh_cfg 
-0x614b 025696 set1 send_lmp_set_afh ,pdata 
-0x614c 025697 store 1 ,mem_afh_cfg 
-0x614d 025698 rtn 
-:      025701 send_lmpext_pause_encryption_req:
-0x614e 025702 force 2 ,queue 
-0x614f 025703 call send_lmpext 
-0x6150 025704 nbranch send_lmp_reply ,master 
-0x6151 025706 branch send_lmp_request 
-:      025710 send_lmp_detach:
-0x6152 025711 force 2 ,pdata 
-0x6153 025712 call msg_send_lmp 
-0x6154 025713 fetch 1 ,mem_disconn_reason_send 
-0x6155 025714 istore 1 ,contw 
-0x6156 025715 call send_lmp_request 
-:      025716 prepare_disconnect:
-0x6157 025717 fetch 1 ,mem_op 
-0x6158 025718 set1 op_disconn ,pdata 
-0x6159 025719 store 1 ,mem_op 
-0x615a 025720 jam 50 ,mem_conn_timer 
-0x615b 025721 rtn 
-:      025724 send_lmp_no_payload:
-0x615c 025725 force 1 ,pdata 
-0x615d 025726 call msg_send_lmp 
-0x615e 025727 branch send_lmp_request 
-:      025728 send_lmp_nopayload_reply:
-0x615f 025729 force 1 ,pdata 
-0x6160 025730 call msg_send_lmp 
-0x6161 025731 branch send_lmp_reply 
-:      025734 send_lmp_encryption_mode_req:
-0x6162 025735 force 2 ,pdata 
-0x6163 025736 call msg_send_lmp 
-0x6164 025737 fetch 1 ,mem_state_map 
-0x6165 025738 isolate0 smap_encryption ,pdata 
-0x6166 025739 setflag true ,0 ,pdata 
-0x6167 025740 and_into 1 ,pdata 
-0x6168 025741 istore 1 ,contw 
-0x6169 025742 branch send_lmp_request 
-:      025745 send_lmp_superto:
-0x616a 025746 force 3 ,pdata 
-0x616b 025747 call msg_send_lmp 
-0x616c 025748 fetch 2 ,mem_supervision_to 
-0x616d 025749 istore 2 ,contw 
-0x616e 025750 branch send_lmp_request 
-:      025752 send_lmp_name_req:
-0x616f 025753 jam 250 ,mem_conn_timer 
-0x6170 025754 force 2 ,pdata 
-0x6171 025755 call msg_send_lmp 
-0x6172 025756 fetch 1 ,mem_name_offset 
-0x6173 025757 istore 1 ,contw 
-0x6174 025758 branch send_lmp_request 
-:      025760 send_lmp_test_control:
-0x6175 025761 force 10 ,pdata 
-0x6176 025762 call msg_send_lmp 
-0x6177 025763 arg mem_temp_payload ,contr 
-0x6178 025764 force 9 ,loopcnt 
-:      025765 send_lmp_test_control_loop:
-0x6179 025766 ifetch 1 ,contr 
-0x617a 025767 xor_into 0x55 ,pdata 
-0x617b 025768 istore 1 ,contw 
-0x617c 025769 loop send_lmp_test_control_loop 
-0x617d 025770 branch send_lmp_request 
-:      025772 send_lmp_quality_of_service_req:
-0x617e 025773 branch send_lmp_request 
-:      025774 send_lmp_unit_key:
-0x617f 025775 branch send_lmp_request 
-:      025777 send_lmp_slot_offset:
-0x6180 025778 rtn master 
-0x6181 025779 call calc_slot_offset 
-0x6182 025780 force 9 ,pdata 
-0x6183 025781 call msg_send_lmp 
-0x6184 025782 fetch 2 ,mem_slot_offset 
-0x6185 025783 istore 2 ,contw 
-0x6186 025784 fetch 3 ,mem_lap 
-0x6187 025785 istore 3 ,contw 
-0x6188 025786 fetch 1 ,mem_uap 
-0x6189 025787 istore 1 ,contw 
-0x618a 025788 fetch 2 ,mem_nap 
-0x618b 025789 istore 2 ,contw 
-0x618c 025790 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
-0x618d 025791 set0 mark_switch_initiated ,mark 
-0x618e 025792 call send_lmp_request 
-0x618f 025793 jam lmp_switch_req ,mem_lmo_opcode2 
-0x6190 025794 rtn 
-:      025795 send_lmp_slot_offset_reply:
-0x6191 025796 call send_lmp_reply 
-0x6192 025797 jam lmp_accepted ,mem_lmo_opcode2 
-0x6193 025798 jam lmp_switch_req ,mem_lmi_opcode2 
-0x6194 025799 rtn 
-:      025801 send_lmp_switch_req:
-0x6195 025802 arg 0x200 ,temp 
-0x6196 025803 branch switch_on_native ,master 
-0x6197 025804 deposit clke_bt 
-0x6198 025805 branch switch_slack 
-:      025806 switch_on_native:
-0x6199 025807 deposit clkn_bt 
-:      025808 switch_slack:
-0x619a 025809 deposit bt_clk 
-0x619b 025810 iadd temp ,pdata 
-0x619c 025811 and_into 0x1fc ,pdata 
-0x619d 025812 store 4 ,mem_sniff_anchor 
-0x619e 025813 force 5 ,pdata 
-0x619f 025814 call msg_send_lmp 
-0x61a0 025815 fetch 4 ,mem_sniff_anchor 
-0x61a1 025816 rshift pdata ,pdata 
-0x61a2 025817 istore 4 ,contw 
-0x61a3 025818 branch send_lmp_request 
-:      025820 send_lmp_sniff_req:
-0x61a4 025821 force 10 ,pdata 
-0x61a5 025822 call msg_send_lmp 
-0x61a6 025823 arg mem_sniff_payload ,contr 
-0x61a7 025824 ifetch 9 ,contr 
-0x61a8 025825 istore 9 ,contw 
-0x61a9 025826 branch send_lmp_request 
-:      025829 send_lmp_timing_accuracy_req:
-0x61aa 025831 force 3 ,pdata 
-0x61ab 025832 call msg_send_lmp 
-0x61ac 025833 setarg 0x0114 
-0x61ad 025834 istore 2 ,contw 
-0x61ae 025835 branch send_lmp_request 
-:      025837 send_lmp_unsniff_req:
-0x61af 025839 force 1 ,pdata 
-0x61b0 025840 call msg_send_lmp 
-0x61b1 025849 branch send_lmp_request 
-:      025852 send_lmp_max_slot:
-0x61b2 025853 force 2 ,pdata 
-0x61b3 025854 call msg_send_lmp 
-0x61b4 025855 fetch 1 ,mem_max_slot 
-0x61b5 025856 istore 1 ,contw 
-0x61b6 025857 branch send_lmp_request 
-:      025860 send_lmp_max_slot_req:
-0x61b7 025861 force 2 ,pdata 
-0x61b8 025862 call msg_send_lmp 
-0x61b9 025863 setarg 0x05 
-0x61ba 025864 istore 1 ,contw 
-0x61bb 025865 branch send_lmp_request 
-:      025868 send_lmp_inc_power:
-0x61bc 025869 force 2 ,pdata 
-0x61bd 025870 call msg_send_lmp 
-0x61be 025871 setarg 0x00 
-0x61bf 025872 istore 1 ,contw 
-0x61c0 025873 branch send_lmp_request 
-:      025876 send_lmp_setup_complete_by_module:
-0x61c1 025877 jam lmp_max_slot_req ,mem_lmo_opcode2 
-0x61c2 025878 rtn 
-:      025879 send_lmp_setup_complete:
-0x61c3 025880 fetch 1 ,mem_device_option 
-0x61c4 025881 sub pdata ,dvc_op_module ,null 
-0x61c5 025882 call send_lmp_setup_complete_by_module ,zero 
-0x61c6 025883 fetch 1 ,mem_state 
-0x61c7 025884 set1 state_conn_comp ,pdata 
-0x61c8 025885 store 1 ,mem_state 
-0x61c9 025886 copy clkn_bt ,pdata 
-0x61ca 025887 store 4 ,mem_aurand_send_delay_time 
-0x61cb 025888 fetch 1 ,mem_lmp_conn_state 
-0x61cc 025889 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
-0x61cd 025890 set1 sent_setup_complete ,pdata 
-0x61ce 025891 store 1 ,mem_lmp_conn_state 
-0x61cf 025892 jam bt_evt_setup_complete ,mem_fifo_temp 
-0x61d0 025893 call ui_ipc_send_event 
-0x61d1 025894 force 1 ,pdata 
-0x61d2 025895 call msg_send_lmp 
-0x61d3 025896 branch send_lmp_request 
-:      025897 send_lmp_setup_complete_has_sent:
-0x61d4 025898 jam 0 ,mem_lmp_to_send 
-0x61d5 025899 rtn 
-:      025901 send_lmp_version_req:
-0x61d6 025902 force 6 ,pdata 
-0x61d7 025903 call msg_send_lmp 
-0x61d8 025904 fetch 5 ,mem_lmp_version 
-0x61d9 025905 istore 5 ,contw 
-0x61da 025906 branch send_lmp_request 
-:      025908 send_lmp_features_req:
-0x61db 025909 force 9 ,pdata 
-0x61dc 025910 call msg_send_lmp 
-0x61dd 025911 fetch 8 ,mem_features 
-0x61de 025912 istore 8 ,contw 
-0x61df 025913 branch send_lmp_request 
-:      025915 sp_master_send_io_cap_get:
-0x61e0 025916 jam sp_flag_commit ,mem_master_sp_flag 
-0x61e1 025917 fetch 1 ,mem_sp_local_key_invalid 
-0x61e2 025918 rtnne sp_key_valid 
-0x61e3 025919 jam sp_master_stat_start_done ,mem_master_sp_state 
-0x61e4 025920 rtn 
-:      025922 sp_master_send_io_cap_send:
-0x61e5 025923 call tid_initiate 
-0x61e6 025924 jam lmp_io_cap_req ,mem_lmo_opcode2 
-0x61e7 025925 jam sp_stat_key_send ,mem_master_sp_state 
-0x61e8 025926 rtn 
-:      025929 sp_master_send_lmp_encapsulated_header:
-0x61e9 025930 call tid_initiate 
-0x61ea 025931 jam lmp_encapsulated_header ,mem_lmo_opcode2 
-0x61eb 025932 jam sp_stat_random_send ,mem_master_sp_state 
-0x61ec 025933 rtn 
-:      025935 sp_master_commitment_compare:
-0x61ed 025936 arg mem_sp_calc_result_high ,rega 
-0x61ee 025937 arg mem_sp_confirm_remote ,regb 
-0x61ef 025938 arg 16 ,loopcnt 
-0x61f0 025939 call string_compare 
-0x61f1 025940 branch sp_master_commitment_compare_success ,zero 
-0x61f2 025941 jam sp_stat_null ,mem_master_sp_state 
-0x61f3 025942 call master_clear_mem_master_sp_flag 
-0x61f4 025943 jam pdu_not_allowed ,mem_lmo_reason2 
-0x61f5 025944 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
-0x61f6 025945 branch reject_lmp_packet 
-:      025946 sp_master_commitment_compare_success:
-0x61f7 025947 jam sp_stat_confirm_calc ,mem_master_sp_state 
-0x61f8 025948 call master_set_mem_master_sp_flag 
-0x61f9 025949 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
-0x61fa 025950 branch accept_lmp_msg 
-:      025954 sp_master_send_lmp_simple_pairing_number:
-0x61fb 025955 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
-0x61fc 025956 rtn 
-:      025960 sp_send_lmp_encapsulated_header:
-0x61fd 025963 jam lmp_encapsulated_header ,mem_lmo_opcode2 
-0x61fe 025965 rtn 
-:      025971 send_lmp_encapsulated_header:
-0x61ff 025972 jam 0 ,mem_sp_local_key_send_count 
-0x6200 025973 force 4 ,pdata 
-0x6201 025974 call msg_send_lmp 
-0x6202 025975 force encapsulated_major_type_p192 ,pdata 
-0x6203 025976 istore 1 ,contw 
-0x6204 025977 force encapsulated_minor_type_p192 ,pdata 
-0x6205 025978 istore 1 ,contw 
-0x6206 025979 force encapsulated_len_p192 ,pdata 
-0x6207 025980 istore 1 ,contw 
-0x6208 025981 call check_localsm 
-0x6209 025982 branch send_lmp_request ,true 
-0x620a 025983 branch send_lmp_reply 
-:      025985 send_lmp_encapsulated_payload:
-0x620b 025987 force 17 ,pdata 
-0x620c 025988 call msg_send_lmp 
-0x620d 025989 fetch 1 ,mem_sp_local_key_send_count 
-0x620e 025990 arg mem_sp_pubkey_local ,contr 
-0x620f 025991 iadd contr ,contr 
-0x6210 025992 ifetch 8 ,contr 
-0x6211 025993 istore 8 ,contw 
-0x6212 025994 ifetch 8 ,contr 
-0x6213 025995 istore 8 ,contw 
-0x6214 025996 fetch 1 ,mem_sp_local_key_send_count 
-0x6215 025997 increase 16 ,pdata 
-0x6216 025998 store 1 ,mem_sp_local_key_send_count 
-0x6217 025999 call check_localsm 
-0x6218 026000 branch send_lmp_request ,true 
-0x6219 026001 branch send_lmp_reply 
-:      026004 sp_send_lmp_simple_pairing_comfirm:
-0x621a 026005 jam sp_stat_random_recv ,mem_sp_state 
-0x621b 026006 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
-0x621c 026007 rtn 
-:      026008 send_lmp_simple_pairing_comfirm:
-0x621d 026011 force 17 ,pdata 
-0x621e 026012 call msg_send_lmp 
-0x621f 026013 arg mem_sp_calc_result_high ,contr 
-0x6220 026014 ifetch 8 ,contr 
-0x6221 026015 istore 8 ,contw 
-0x6222 026016 ifetch 8 ,contr 
-0x6223 026017 istore 8 ,contw 
-0x6224 026018 branch send_lmp_reply 
-:      026020 sp_send_lmp_simple_pairing_number:
-0x6225 026021 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
-0x6226 026022 rtn 
-:      026024 send_lmp_simple_pairing_number:
-0x6227 026026 call check_localsm 
-0x6228 026027 call sp_local_random_key_generator ,true 
-0x6229 026028 force 17 ,pdata 
-0x622a 026029 call msg_send_lmp 
-0x622b 026030 arg mem_sp_random_local ,contr 
-0x622c 026031 ifetch 8 ,contr 
-0x622d 026032 istore 8 ,contw 
-0x622e 026033 ifetch 8 ,contr 
-0x622f 026034 istore 8 ,contw 
-0x6230 026035 call check_localsm 
-0x6231 026036 nbranch send_lmp_reply ,true 
-0x6232 026037 branch send_lmp_request ,true 
-:      026039 master_sp_sm_end:
-0x6233 026041 jam sp_stat_done ,mem_master_sp_state 
-:      026042 sp_aurand_send:
-0x6234 026043 call tid_initiate 
-0x6235 026044 jam lmp_au_rand ,mem_lmo_opcode2 
-0x6236 026045 call check_localsm_master 
-0x6237 026046 branch sp_master_key_prarm_push ,true 
-0x6238 026047 branch sp_link_key_prarm_push 
-:      026048 master_sp_send_lmp_dhkey_check:
-0x6239 026049 call tid_reply 
-:      026050 sp_send_lmp_dhkey_check:
-0x623a 026051 jam lmp_dhkey_check ,mem_lmo_opcode2 
-0x623b 026052 rtn 
-:      026053 send_lmp_dhkey_check:
-0x623c 026055 force 17 ,pdata 
-0x623d 026056 call msg_send_lmp 
-0x623e 026057 arg mem_sp_calc_result_high ,contr 
-0x623f 026058 ifetch 8 ,contr 
-0x6240 026059 istore 8 ,contw 
-0x6241 026060 ifetch 8 ,contr 
-0x6242 026061 istore 8 ,contw 
-0x6243 026062 call check_localsm 
-0x6244 026063 nbranch send_lmp_reply ,true 
-0x6245 026064 branch send_lmp_request ,true 
-:      026066 send_lmp_enc_key_size_mask_res:
-0x6246 026067 force 3 ,pdata 
-0x6247 026068 call msg_send_lmp 
-0x6248 026069 setarg 0xfffe 
-0x6249 026070 istore 2 ,contw 
-0x624a 026071 branch send_lmp_reply 
-:      026073 send_lmp_auto_rate:
-0x624b 026074 branch send_lmp_request 
-:      026075 send_lmp_clkoffset_req:
-0x624c 026076 branch send_lmp_request 
-:      026077 send_lmp_quality_of_service:
-0x624d 026078 branch send_lmp_request 
-:      026079 send_lmp_test_activate:
-0x624e 026080 branch send_lmp_request 
-:      026085 send_lmp_comb_key:
-0x624f 026086 call generate_random_number 
-0x6250 026087 arg mem_lap ,rega 
-0x6251 026088 call generate_linkkey 
-0x6252 026089 force 17 ,pdata 
-0x6253 026090 call msg_send_lmp 
-0x6254 026091 arg mem_kinit ,rega 
-0x6255 026092 arg mem_random_number ,regb 
-0x6256 026093 call xor16 
-0x6257 026094 nbranch send_lmp_follow ,master 
-0x6258 026095 branch send_lmp_tid 
-:      026097 send_lmp_inrand:
-0x6259 026098 call generate_random_number 
-0x625a 026099 arg mem_plap ,rega 
-0x625b 026100 call generate_kinit 
-:      026101 send_lmp_rand:
-0x625c 026102 force 17 ,pdata 
-0x625d 026103 call msg_send_lmp 
-0x625e 026104 arg mem_random_number ,contr 
-0x625f 026105 call memcpy16 
-0x6260 026106 fetch 1 ,mem_conn_sm 
-0x6261 026107 beq conn_sm_auth_wait ,send_lmp_request 
-0x6262 026108 beq conn_sm_pairing_wait ,send_lmp_request 
-0x6263 026109 branch send_lmp_tid 
-:      026111 send_lmp_aurand:
-0x6264 026112 fetch 1 ,mem_pairing_auth 
-0x6265 026113 branch send_lmp_aurand_notpairing ,blank 
-0x6266 026114 call check_localsm 
-0x6267 026115 call tid_initiate ,true 
-0x6268 026116 ncall tid_reply ,true 
-0x6269 026117 branch send_lmp_aurand_common 
-:      026118 send_lmp_aurand_notpairing:
-0x626a 026119 call tid_initiate 
-:      026120 send_lmp_aurand_common:
-0x626b 026121 call generate_random_number 
-0x626c 026122 branch send_lmp_rand 
-:      026124 send_lmp_sres:
-0x626d 026125 arg mem_lap ,rega 
-0x626e 026126 call function_e1 
-0x626f 026127 force 5 ,pdata 
-0x6270 026128 call msg_send_lmp 
-0x6271 026129 fetch 4 ,mem_input_store 
-0x6272 026130 istore 4 ,contw 
-0x6273 026131 arg mem_sres_tid ,temp 
-0x6274 026132 call special_tid_store 
-0x6275 026133 call copy_aco 
-0x6276 026134 call check_localsm 
-0x6277 026135 branch send_lmp_sres_master ,true 
-0x6278 026136 jam done_encryp ,mem_wait_encryption 
-0x6279 026137 fetch 1 ,mem_pairing_auth 
-0x627a 026138 rtn blank 
-0x627b 026139 jam lmp_au_rand ,mem_lmo_opcode2 
-:      026140 send_lmp_sres_master:
-0x627c 026141 fetch 1 ,mem_link_key_exists 
-0x627d 026142 rtn blank 
-:      026143 send_lmp_sres_startenc:
-0x627e 026144 call check_localsm 
-0x627f 026145 nbranch send_lmp_sres_startenc_slave ,true 
-0x6280 026146 fetch 1 ,mem_auth_enable 
-0x6281 026147 rtn blank 
-0x6282 026148 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
-0x6283 026149 rtn 
-:      026150 send_lmp_sres_startenc_slave:
-0x6284 026151 rtnmark0 mark_slave_in_rand_accepted 
-0x6285 026152 set0 mark_slave_in_rand_accepted ,mark 
-0x6286 026153 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
-0x6287 026154 rtn 
-:      026158 send_lmp_start_encryption:
-0x6288 026159 call generate_random_number 
-0x6289 026160 call function_e3 
-0x628a 026161 force 17 ,pdata 
-0x628b 026162 call msg_send_lmp 
-0x628c 026163 arg mem_random_number ,contr 
-0x628d 026164 call memcpy16 
-0x628e 026165 branch send_lmp_tid 
-:      026167 send_lmp_stop_encryption_req:
-0x628f 026168 force 1 ,pdata 
-0x6290 026169 call msg_send_lmp 
-0x6291 026170 branch send_lmp_tid 
-:      026172 send_lmp_encryption_key_size_req:
-0x6292 026173 force 2 ,pdata 
-0x6293 026174 call msg_send_lmp 
-0x6294 026175 force 16 ,pdata 
-0x6295 026176 istore 1 ,contw 
-0x6296 026177 store 1 ,mem_key_size 
-0x6297 026178 branch send_lmp_tid 
-:      026180 msg_send_lmp:
-0x6298 026182 lshift3 pdata ,pdata 
-0x6299 026183 or_into 0x07 ,pdata 
-0x629a 026184 store 1 ,mem_lmo_header_length 
-0x629b 026185 arg 17 ,loopcnt 
-0x629c 026186 arg mem_lmo_payload ,contw 
-0x629d 026187 call clear_mem 
-0x629e 026188 arg mem_lmo_payload ,contw 
-0x629f 026189 rtn 
-:      026191 send_lmpext:
-0x62a0 026192 and pdata ,0x7f ,rega 
-0x62a1 026193 jam lmp_escape ,mem_lmp_to_send 
-0x62a2 026194 deposit queue 
-0x62a3 026195 call msg_send_lmp 
-0x62a4 026196 deposit rega 
-0x62a5 026197 istore 1 ,contw 
-0x62a6 026198 rtn 
-:      026200 send_lmp_follow:
-0x62a7 026201 fetch 1 ,mem_lmp_to_send 
-0x62a8 026202 lshift pdata ,pdata 
-0x62a9 026203 fetcht 1 ,mem_state_map 
-0x62aa 026204 isolate1 smap_lmptid ,temp 
-0x62ab 026205 setflag true ,0 ,pdata 
-0x62ac 026206 branch send_lmp_exit 
-:      026209 send_lmp_tid:
-0x62ad 026210 fetcht 1 ,mem_state_map 
-0x62ae 026211 and_into 1 ,temp 
-0x62af 026212 branch send_lmp_end 
-:      026214 send_lmp_reply:
-0x62b0 026215 force 0 ,temp 
-0x62b1 026216 branch send_lmp_end 
-:      026218 send_lmp_request:
-0x62b2 026219 force 1 ,temp 
-:      026220 send_lmp_end:
-0x62b3 026221 fetch 1 ,mem_lmp_to_send 
-0x62b4 026222 lshift pdata ,pdata 
-0x62b5 026223 setflag master ,0 ,pdata 
-0x62b6 026224 ixor temp ,pdata 
-:      026225 send_lmp_exit:
-0x62b7 026226 store 1 ,mem_lmo_header_opcode 
-0x62b8 026227 jam 0 ,mem_lmp_to_send 
-0x62b9 026228 call lmo_fifo_process_lmo0empty 
-0x62ba 026229 enable user 
-0x62bb 026230 rtn 
-:      026233 lmo_fifo_check:
-0x62bc 026234 fetch 1 ,mem_lmo_opcode2 
-0x62bd 026235 rtn blank 
-0x62be 026236 call lmo_fifo_process 
-0x62bf 026237 fetch 1 ,mem_lmo_opcode2 
-0x62c0 026238 rtn 
-:      026240 lmo_fifo_process:
-0x62c1 026241 bpatchx patch30_6 ,mem_patch30 
-0x62c2 026242 fetch 1 ,mem_lmp_to_send 
-0x62c3 026243 branch lmo_fifo_process_lmo0empty ,blank 
-0x62c4 026244 fetch 1 ,mem_lmo_opcode1 
-0x62c5 026245 nrtn blank 
-0x62c6 026246 branch lmo_fifo_process_lmo2to1 
-:      026247 lmo_fifo_process_lmo0empty:
-0x62c7 026248 fetch 1 ,mem_lmo_opcode1 
-0x62c8 026249 branch lmo_fifo_process_lmo1_empty ,blank 
-0x62c9 026250 fetch 3 ,mem_lmo_opcode1 
-0x62ca 026251 store 3 ,mem_lmp_to_send 
-0x62cb 026252 fetcht 1 ,mem_lmo_tid1 
-0x62cc 026253 fetch 1 ,mem_state_map 
-0x62cd 026254 set0 smap_lmptid ,pdata 
-0x62ce 026255 ior temp ,pdata 
-0x62cf 026256 store 1 ,mem_state_map 
-0x62d0 026257 jam 0 ,mem_lmo_opcode1 
-:      026258 lmo_fifo_process_lmo2to1:
-0x62d1 026259 fetch 1 ,mem_lmo_opcode2 
-0x62d2 026260 rtn blank 
-0x62d3 026261 fetch 4 ,mem_lmo_opcode2 
-0x62d4 026262 store 4 ,mem_lmo_opcode1 
-0x62d5 026263 jam 0 ,mem_lmo_opcode2 
-0x62d6 026264 rtn 
-:      026265 lmo_fifo_process_lmo1_empty:
-0x62d7 026266 fetch 1 ,mem_lmo_opcode2 
-0x62d8 026267 rtn blank 
-0x62d9 026268 fetch 3 ,mem_lmo_opcode2 
-0x62da 026269 store 3 ,mem_lmp_to_send 
-0x62db 026270 fetcht 1 ,mem_lmo_tid2 
-0x62dc 026271 fetch 1 ,mem_state_map 
-0x62dd 026272 set0 smap_lmptid ,pdata 
-0x62de 026273 ior temp ,pdata 
-0x62df 026274 store 1 ,mem_state_map 
-0x62e0 026275 jam 0 ,mem_lmo_opcode2 
-0x62e1 026276 rtn 
-:      026279 special_tid_store:
-0x62e2 026280 bpatchx patch30_7 ,mem_patch30 
-0x62e3 026281 fetch 1 ,mem_state_map 
-0x62e4 026282 copy pdata ,regc 
-0x62e5 026283 ifetch 1 ,temp 
-0x62e6 026284 call pop_tid_follow 
-0x62e7 026285 call send_lmp_follow 
-0x62e8 026286 copy regc ,pdata 
-0x62e9 026287 store 1 ,mem_state_map 
-0x62ea 026288 rtn 
-:      026290 tid_reply:
-0x62eb 026291 fetcht 1 ,mem_state_map 
-0x62ec 026292 set0 smap_lmptidinit ,temp 
-0x62ed 026293 storet 1 ,mem_state_map 
-0x62ee 026294 rtn 
-:      026296 tid_initiate:
-0x62ef 026297 fetcht 1 ,mem_state_map 
-0x62f0 026298 set1 smap_lmptidinit ,temp 
-0x62f1 026299 storet 1 ,mem_state_map 
-0x62f2 026300 rtn 
-:      026303 tid_check:
-0x62f3 026304 nsetflag master ,smap_lmptid ,pdata 
-0x62f4 026305 fetcht 1 ,mem_state_map 
-0x62f5 026306 ixor temp ,pdata 
-0x62f6 026307 isolate1 smap_lmptid ,pdata 
-0x62f7 026308 rtn 
-:      026311 tid_set_reply:
-0x62f8 026312 fetch 1 ,mem_state_map 
-0x62f9 026313 setflag master ,smap_lmptid ,pdata 
-0x62fa 026314 store 1 ,mem_state_map 
-0x62fb 026315 rtn 
-:      026318 check_localsm:
-0x62fc 026319 fetch 1 ,mem_sp_localsm 
-0x62fd 026320 compare local_statemachine ,pdata ,0x7f 
-0x62fe 026321 rtn 
-:      026322 setlocalsm_master:
-0x62ff 026323 fetch 1 ,mem_sp_localsm 
-0x6300 026324 set1 7 ,pdata 
-0x6301 026325 store 1 ,mem_sp_localsm 
-0x6302 026326 rtn 
-:      026327 setlocalsm_slave:
-0x6303 026328 fetch 1 ,mem_sp_localsm 
-0x6304 026329 set0 7 ,pdata 
-0x6305 026330 store 1 ,mem_sp_localsm 
-0x6306 026331 rtn 
-:      026332 check_localsm_master:
-0x6307 026333 fetch 1 ,mem_sp_localsm 
-0x6308 026334 isolate1 7 ,pdata 
-0x6309 026335 store 1 ,mem_sp_localsm 
-0x630a 026336 rtn 
-:      026338 generate_random_number:
-0x630b 026340 arg mem_random_number ,contw 
-:      026341 generate_random:
-0x630c 026342 force 16 ,loopcnt 
-:      026343 generate_random_another:
-:      026344 generate_random_loop:
-0x630d 026345 random pdata 
-0x630e 026346 istore 1 ,contw 
-0x630f 026347 loop generate_random_another 
-0x6310 026348 rtn 
-:      026350 generate_linkkey:
-0x6311 026351 call function_e21 
-0x6312 026352 arg mem_link_key ,rega 
-0x6313 026353 arg mem_input_store ,regb 
-0x6314 026354 ifetch 8 ,rega 
-0x6315 026355 fetcht 1 ,mem_state 
-0x6316 026356 nsetflag blank ,state_combkey ,temp 
-0x6317 026357 storet 1 ,mem_state 
-0x6318 026358 copy rega ,contw 
-0x6319 026359 call xor16 
-0x631a 026360 branch generate_linkkey_continue 
-:      026366 process_conn_sm:
-0x631b 026368 bpatchx patch31_0 ,mem_patch31 
-0x631c 026370 call lmo_fifo_check 
-0x631d 026371 nrtn blank 
-:      026372 process_conn_sm_continue:
-0x631e 026373 fetch 1 ,mem_conn_sm 
-0x631f 026374 rtn blank 
-0x6320 026378 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
-0x6321 026379 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
-0x6322 026380 beq conn_sm_send_features ,host_create_conn_send_features 
-0x6323 026381 beq conn_sm_wait_features_res ,host_create_conn_waiting 
-0x6324 026382 beq conn_sm_send_switch ,host_create_conn_send_switch 
-0x6325 026383 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
-0x6326 026384 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
-0x6327 026385 beq conn_sm_encrypt ,host_create_conn_encrypt 
-0x6328 026386 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
-0x6329 026387 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
-0x632a 026388 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
-0x632b 026389 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
-0x632c 026390 beq conn_sm_detach_delay ,host_create_conn_master_detach 
-0x632d 026391 beq conn_sm_send_version ,host_create_conn_send_version 
-0x632e 026392 beq conn_sm_wait_version ,host_create_conn_waiting 
-0x632f 026393 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
-0x6330 026394 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
-0x6331 026395 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
-0x6332 026396 beq conn_sm_pairing ,host_create_conn_pairing 
-0x6333 026397 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
-0x6334 026398 beq conn_sm_auth ,host_create_conn_auth 
-0x6335 026399 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
-0x6336 026400 beq conn_sm_done ,host_create_conn_done 
-0x6337 026401 beq conn_sm_wait_done ,host_create_conn_done_wait 
-0x6338 026402 jam conn_sm_standby ,mem_conn_sm 
-0x6339 026404 rtn 
-:      026405 host_create_conn_done:
-0x633a 026406 fetch 1 ,mem_lmp_conn_state 
-0x633b 026407 rtnbit0 received_setup_complete 
-0x633c 026408 rtnbit0 sent_setup_complete 
-0x633d 026409 jam conn_sm_standby ,mem_conn_sm 
-0x633e 026410 call host_conn_judge_encrypt 
-0x633f 026411 branch scheduler_start_upper_sm 
-:      026413 host_conn_judge_encrypt:
-0x6340 026414 fetch 1 ,mem_connection_options 
-0x6341 026415 rtnbit0 connection_encrypt 
-0x6342 026416 jam conn_sm_encrypt_wait ,mem_conn_sm 
-0x6343 026417 rtn 
-:      026419 host_create_conn_done_wait:
-0x6344 026420 arg enpt_delay_timer ,queue 
-0x6345 026421 call timer_check 
-0x6346 026422 nrtn blank 
-0x6347 026423 jam conn_sm_done ,mem_conn_sm 
-0x6348 026424 rtn 
-:      026426 host_create_conn_auth:
-0x6349 026427 fetch 1 ,mem_connection_options 
-0x634a 026428 set0 connection_auth ,pdata 
-0x634b 026429 store 1 ,mem_connection_options 
-0x634c 026430 jam conn_sm_auth_wait ,mem_conn_sm 
-0x634d 026431 jam lmp_au_rand ,mem_lmo_opcode2 
-0x634e 026432 rtn 
-:      026433 host_create_conn_auth_wait:
-0x634f 026434 rtn 
-:      026435 host_create_conn_pairing:
-0x6350 026436 fetch 1 ,mem_pincode_state 
-0x6351 026437 rtnne pincode_state_pincode_ready 
-0x6352 026438 call host_auth 
-0x6353 026439 jam conn_sm_pairing_wait ,mem_conn_sm 
-0x6354 026440 rtn 
-:      026442 host_create_conn_pairing_wait:
-0x6355 026443 rtn 
-:      026444 host_creat_conn_send_feat_ext:
-0x6356 026445 jam conn_sm_wait_features_ext ,mem_conn_sm 
-0x6357 026446 jam lmp_ext_features_req ,mem_lmo_opcode2 
-0x6358 026447 rtn 
-:      026448 host_create_conn_send_version:
-0x6359 026449 jam conn_sm_wait_version ,mem_conn_sm 
-0x635a 026450 jam lmp_version_req ,mem_lmo_opcode2 
-0x635b 026451 rtn 
-:      026453 host_creat_conn_wait_switch:
-0x635c 026454 fetch 1 ,mem_switch_flag 
-0x635d 026455 rtneq switch_flag_init 
-0x635e 026456 beq switch_flag_accept ,host_create_conn_switch_accept 
-0x635f 026457 arg switch_wait_timer ,queue 
-0x6360 026458 call timer_check 
-0x6361 026459 nrtn blank 
-0x6362 026460 jam switch_flag_init ,mem_switch_flag 
-0x6363 026461 branch host_create_conn_switch 
-:      026462 host_create_conn_switch_accept:
-0x6364 026463 rtn master 
-0x6365 026464 branch host_create_conn_auth_pair 
-:      026466 host_create_conn_send_features:
-0x6366 026467 jam conn_sm_wait_features_res ,mem_conn_sm 
-0x6367 026468 jam lmp_features_req ,mem_lmo_opcode2 
-0x6368 026469 rtn 
-:      026470 host_create_conn_send_switch:
-0x6369 026471 jam lmp_switch_req ,mem_lmo_opcode2 
-0x636a 026472 set1 mark_switch_initiated ,mark 
-0x636b 026473 jam conn_sm_wait_conn_accept ,mem_conn_sm 
-0x636c 026474 setarg 0x1ff 
-0x636d 026475 store 2 ,mem_soft_timer 
-0x636e 026476 rtn 
-:      026477 host_create_conn_send_conn_req:
-0x636f 026478 jam conn_sm_wait_conn_accept ,mem_conn_sm 
-0x6370 026479 jam 0xff ,mem_soft_timer 
-0x6371 026480 set0 mark_reconn_recieve_switch ,mark 
-0x6372 026481 jam lmp_host_connection_req ,mem_lmo_opcode2 
-0x6373 026482 branch init_lmp_reinit 
-:      026483 host_create_conn_wait_accept:
-0x6374 026484 rtnmark1 mark_reconn_recieve_switch 
-0x6375 026485 fetch 2 ,mem_soft_timer 
-0x6376 026486 sub pdata ,1 ,pdata 
-0x6377 026487 branch host_create_conn_resend ,zero 
-0x6378 026488 store 2 ,mem_soft_timer 
-0x6379 026489 rtn 
-:      026490 host_create_conn_resend:
-0x637a 026491 jam conn_sm_send_switch ,mem_conn_sm 
-0x637b 026492 rtn 
-:      026493 host_create_conn_waiting:
-0x637c 026495 rtn 
-:      026497 host_create_conn_switch:
-0x637d 026498 fetch 1 ,mem_lmp_conn_state 
-0x637e 026499 rtnbit0 sent_setup_complete 
-0x637f 026500 rtnbit0 received_setup_complete 
-0x6380 026501 fetch 1 ,mem_connection_options 
-0x6381 026502 set0 connection_switch ,pdata 
-0x6382 026503 store 1 ,mem_connection_options 
-0x6383 026504 jam lmp_switch_req ,mem_lmo_opcode2 
-0x6384 026505 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
-0x6385 026506 rtn 
-:      026508 host_create_conn_send_setup_complete:
-0x6386 026509 jam conn_sm_wait_setup_complete ,mem_conn_sm 
-0x6387 026510 jam lmp_setup_complete ,mem_lmo_opcode2 
-0x6388 026511 rtn 
-:      026513 host_create_conn_wait_setup_complete:
-0x6389 026514 fetch 1 ,mem_lmp_conn_state 
-0x638a 026515 rtnbit0 received_setup_complete 
-0x638b 026516 jam conn_sm_standby ,mem_conn_sm 
-0x638c 026518 rtn 
-:      026519 host_create_conn_wait_setup_complete_rtn:
-0x638d 026520 jam conn_sm_auth_pair ,mem_conn_sm 
-0x638e 026521 rtn 
-:      026523 host_create_conn_master_detach:
-0x638f 026524 fetch 1 ,mem_soft_timer 
-0x6390 026525 increase -1 ,pdata 
-0x6391 026526 branch host_create_conn_send_detach ,blank 
-0x6392 026527 store 1 ,mem_soft_timer 
-0x6393 026528 rtn 
-:      026529 host_create_conn_send_detach:
-0x6394 026530 jam lmp_detach ,mem_lmo_opcode2 
-0x6395 026531 jam local_host ,mem_disconn_reason_send 
-0x6396 026532 jam 0 ,mem_conn_sm 
-0x6397 026533 rtn 
-:      026534 host_create_conn_auth_pair:
-0x6398 026536 fetch 1 ,mem_connection_options 
-0x6399 026537 bbit1 connection_switch ,host_create_conn_switch 
-0x639a 026538 bbit1 connection_auth ,host_create_conn_auth_pair_true 
-:      026539 host_create_conn_sm_done:
-0x639b 026540 jam conn_sm_done ,mem_conn_sm 
-0x639c 026541 rtn 
-:      026542 host_create_conn_auth_pair_true:
-0x639d 026543 fetch 1 ,mem_link_key_exists 
-0x639e 026544 branch host_create_conn_auth_pair_nokey ,blank 
-0x639f 026545 fetch 1 ,mem_lmp_conn_state 
-0x63a0 026546 rtnbit0 sent_setup_complete 
-0x63a1 026547 rtnbit0 received_setup_complete 
-0x63a2 026548 fetch 4 ,mem_aurand_send_delay_time 
-0x63a3 026549 arg 100 ,temp 
-0x63a4 026550 iadd temp ,temp 
-0x63a5 026551 copy clkn_bt ,pdata 
-0x63a6 026552 isub temp ,null 
-0x63a7 026553 nrtn positive 
-0x63a8 026554 branch host_create_conn_auth 
-:      026558 host_create_conn_auth_pair_nokey:
-0x63a9 026559 jam conn_sm_pairing ,mem_conn_sm 
-0x63aa 026560 jam 4 ,mem_pin_length 
-0x63ab 026561 setarg 0x3030 
-0x63ac 026562 store 2 ,mem_pin 
-0x63ad 026563 istore 2 ,contw 
-0x63ae 026564 jam pincode_state_pincode_ready ,mem_pincode_state 
-0x63af 026565 branch host_create_conn_pairing 
-:      026567 host_create_conn_auth_pair_wait:
-0x63b0 026568 rtn 
-:      026569 host_create_conn_encrypt:
-0x63b1 026570 fetch 1 ,mem_connection_options 
-0x63b2 026571 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
-0x63b3 026572 jam conn_sm_done ,mem_conn_sm 
-0x63b4 026573 rtn 
-:      026575 host_create_conn_encrypt_start:
-0x63b5 026576 fetch 1 ,mem_connection_options 
-0x63b6 026577 set0 connection_encrypt ,pdata 
-0x63b7 026578 store 1 ,mem_connection_options 
-0x63b8 026579 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
-0x63b9 026580 rtn 
-:      026582 host_create_conn_encrypt_wait:
-0x63ba 026583 fetch 1 ,mem_wait_encryption 
-0x63bb 026584 rtn blank 
-0x63bc 026585 jam conn_sm_standby ,mem_conn_sm 
-0x63bd 026586 branch host_create_conn_encrypt_start 
-:      026588 host_create_conn_encrypt_wait_clear:
-0x63be 026589 jam conn_sm_send_setup_complete ,mem_conn_sm 
-0x63bf 026590 rtn 
-:      026592 host_auth:
-0x63c0 026593 fetch 1 ,mem_op 
-0x63c1 026594 bbit1 op_inrand_req ,remote_auth 
-0x63c2 026595 call tid_initiate 
-0x63c3 026596 jam lmp_in_rand ,mem_lmo_opcode2 
-0x63c4 026597 branch cmd_exit 
-:      026598 remote_auth:
-0x63c5 026599 fetch 1 ,mem_op 
-0x63c6 026600 set0 op_inrand_req ,pdata 
-0x63c7 026601 store 1 ,mem_op 
-0x63c8 026602 call lmp_accept_inrand 
-0x63c9 026603 call tid_set_reply 
-0x63ca 026604 branch cmd_exit 
-:      026606 pincode_reinit:
-0x63cb 026607 setarg 4 
-0x63cc 026608 store 1 ,mem_pin_length 
-0x63cd 026609 setarg 0x3030 
-0x63ce 026610 istore 2 ,contw 
-0x63cf 026611 istore 2 ,contw 
-0x63d0 026612 rtn 
-:      026618 twspi_reset:
-0x63d1 026619 bpatchx patch31_4 ,mem_patch31 
-0x63d2 026620 hfetch 1 ,core_gpio_oe3 
-0x63d3 026621 arg 0x06 ,temp 
-0x63d4 026622 ior temp ,pdata 
-0x63d5 026623 hstore 1 ,core_gpio_oe3 
-0x63d6 026624 hfetch 1 ,core_gpio_out3 
-0x63d7 026625 ior temp ,pdata 
-0x63d8 026626 hstore 1 ,core_gpio_out3 
-0x63d9 026627 call twspi_disable 
-0x63da 026628 hfetch 1 ,core_gpio_out3 
-0x63db 026629 set0 1 ,pdata 
-0x63dc 026630 set0 2 ,pdata 
-0x63dd 026631 hstore 1 ,core_gpio_out3 
-0x63de 026632 nop 30 
-0x63df 026633 branch twspi_enable 
-:      026635 twspi_reset2:
-0x63e0 026636 hfetch 1 ,core_gpio_oe3 
-0x63e1 026637 arg 0xc0 ,temp 
-0x63e2 026638 ior temp ,pdata 
-0x63e3 026639 hstore 1 ,core_gpio_oe3 
-0x63e4 026640 hfetch 1 ,core_gpio_out3 
-0x63e5 026641 ior temp ,pdata 
-0x63e6 026642 hstore 1 ,core_gpio_out3 
-0x63e7 026643 call twspi_disable 
-0x63e8 026644 hfetch 1 ,core_gpio_out3 
-0x63e9 026645 set0 6 ,pdata 
-0x63ea 026646 set0 7 ,pdata 
-0x63eb 026647 hstore 1 ,core_gpio_out3 
-0x63ec 026648 nop 30 
-0x63ed 026649 branch twspi_enable2 
-:      026651 twspi_disable:
-0x63ee 026652 hfetch 1 ,core_gpio_sel1 
-0x63ef 026653 and pdata ,0xfc ,pdata 
-0x63f0 026654 hstore 1 ,core_gpio_sel1 
-0x63f1 026655 rtn 
-:      026656 twspi_enable:
-0x63f2 026657 hfetch 1 ,core_gpio_sel1 
-0x63f3 026658 or pdata ,0x01 ,pdata 
-0x63f4 026659 hstore 1 ,core_gpio_sel1 
-0x63f5 026660 rtn 
-:      026661 twspi_enable2:
-0x63f6 026662 hfetch 1 ,core_gpio_sel1 
-0x63f7 026663 or pdata ,0x03 ,pdata 
-0x63f8 026664 set0 4 ,pdata 
-0x63f9 026665 hstore 1 ,core_gpio_sel1 
-0x63fa 026666 rtn 
-:      026670 sensor_read:
-0x63fb 026671 copy pdata ,regb 
-0x63fc 026672 call spi_ncs_enable 
-0x63fd 026673 nop 100 
-0x63fe 026674 copy regb ,pdata 
-0x63ff 026675 call twspi_read 
-0x6400 026676 copy pdata ,regb 
-0x6401 026677 call spi_ncs_disable 
-0x6402 026678 nop 100 
-0x6403 026679 copy regb ,pdata 
-0x6404 026680 rtn 
-:      026682 sensor_write:
-0x6405 026683 copy pdata ,regb 
-0x6406 026684 call spi_ncs_enable 
-0x6407 026685 nop 100 
-0x6408 026686 copy regb ,pdata 
-0x6409 026687 call twspi_write 
-0x640a 026688 call spi_ncs_disable 
-0x640b 026689 nop 100 
-0x640c 026690 rtn 
-:      026693 spi_ncs_gpio_init:
-0x640d 026694 fetcht 1 ,mem_spi_ncs_gpio 
-0x640e 026695 branch gpio_config_output 
-:      026698 spi_ncs_enable:
-0x640f 026699 fetcht 1 ,mem_spi_ncs_gpio 
-0x6410 026700 branch gpio_out_active 
-:      026703 spi_ncs_disable:
-0x6411 026704 fetcht 1 ,mem_spi_ncs_gpio 
-0x6412 026705 branch gpio_out_inactive 
-:      026708 twspi_write:
-0x6413 026709 branch spid_write_reg 
-:      026711 twspi_read:
-0x6414 026712 branch spid_read_reg 
-:      026719 read_function_aes:
-0x6415 026720 nbranch read_function ,user 
-0x6416 026721 hfetch 1 ,core_gpio_key2 
-0x6417 026722 or_into 0x2 ,pdata 
-0x6418 026723 hstore 1 ,core_gpio_key2 
-:      026724 read_function:
-0x6419 026725 copy temp ,null 
-0x641a 026726 branch read_fuction_zero ,zero 
-0x641b 026727 copy regc ,pc 
-:      026728 read_fuction_zero:
-0x641c 026729 isolate0 0 ,null 
-0x641d 026730 branch set_ucode_status 
-:      026733 get_block_header:
-0x641e 026734 force 4 ,temp 
-:      026735 get_block_header0:
-0x641f 026736 arg mem_ucode_buf ,rega 
-0x6420 026737 hfetch 1 ,core_gpio_key2 
-0x6421 026738 and_into 0xfd ,pdata 
-0x6422 026739 hstore 1 ,core_gpio_key2 
-0x6423 026740 call read_function 
-0x6424 026741 arg 0x55aa ,rega 
-0x6425 026742 fetch 2 ,mem_ucode_buf 
-0x6426 026743 ifetcht 2 ,contr 
-0x6427 026744 isub rega ,null 
-0x6428 026745 rtn 
-:      026747 read_first_block:
-0x6429 026748 arg 2 ,temp 
-0x642a 026749 arg mem_ucode_ptr ,rega 
-0x642b 026750 call read_function 
-0x642c 026751 fetch 2 ,mem_ucode_ptr 
-0x642d 026752 store 2 ,mem_addr_mi 
-0x642e 026753 call get_iv ,user 
-0x642f 026754 rtn 
-:      026756 get_iv:
-0x6430 026757 arg 16 ,temp 
-0x6431 026758 arg mem_ucode_keybuf ,rega 
-0x6432 026759 hfetch 1 ,core_gpio_key2 
-0x6433 026760 and_into 0xfd ,pdata 
-0x6434 026761 hstore 1 ,core_gpio_key2 
-0x6435 026762 call read_function 
-0x6436 026763 arg mem_ucode_keybuf ,contr 
-0x6437 026764 arg 16 ,loopcnt 
-0x6438 026765 call aes_load_data 
-0x6439 026766 call aes_init 
-0x643a 026767 call aes_clear_data 
-0x643b 026768 branch do_aes_cbc 
-:      026770 load_storage:
-0x643c 026771 disable match 
-0x643d 026772 call get_block_header 
-0x643e 026773 nrtn zero 
-0x643f 026774 enable match 
-0x6440 026775 jam 0x80 ,core_ucode_ctrl 
-0x6441 026776 jam 0 ,core_ucode_hi 
-0x6442 026777 jam 0 ,core_ucode_low 
-0x6443 026778 arg core_ucode_data ,rega 
-0x6444 026779 call read_function_aes 
-0x6445 026780 jam 0x0 ,core_ucode_ctrl 
-:      026781 load_storage_loop:
-0x6446 026782 arg 6 ,temp 
-0x6447 026783 call get_block_header0 
-0x6448 026784 nrtn zero 
-0x6449 026785 ifetch 2 ,contr 
-0x644a 026786 iforce rega 
-0x644b 026787 call read_function 
-0x644c 026788 branch load_storage_loop 
-:      026792 reload_eeprom:
-0x644d 026793 call clean_mem 
-0x644e 026794 setarg 0x1000 
-0x644f 026795 store 2 ,mem_addr_mi 
-0x6450 026796 arg iicd_read_eep ,regc 
-0x6451 026797 arg 2 ,loopcnt 
-:      026798 reload_eeprom_loop:
-0x6452 026799 call get_block_header 
-0x6453 026800 nrtn zero 
-0x6454 026801 fetch 2 ,mem_addr_mi 
-0x6455 026802 byteswap pdata ,pdata 
-0x6456 026803 iadd temp ,pdata 
-0x6457 026804 byteswap pdata ,pdata 
-0x6458 026805 store 2 ,mem_addr_mi 
-0x6459 026806 loop reload_eeprom_loop 
-0x645a 026807 branch load_storage_loop 
-:      026809 loadcode:
-0x645b 026810 call clean_mem 
-0x645c 026811 disable user 
-0x645d 026812 call otp_enable_chgpump 
-0x645e 026813 setarg otp_ucode_flag 
-0x645f 026814 arg mem_otp_ucode_flag ,rega 
-0x6460 026815 arg 2 ,temp 
-0x6461 026816 call otpd_read_data 
-0x6462 026817 fetch 2 ,mem_otp_ucode_flag 
-0x6463 026818 bbit0 otp_uflag_aes ,loadcode_otp 
-0x6464 026819 jam 0x25 ,core_clkoff 
-0x6465 026820 setarg otp_ucode_aeskey 
-0x6466 026821 arg mem_ucode_keybuf ,rega 
-0x6467 026822 arg 16 ,temp 
-0x6468 026823 call otpd_read_data 
-0x6469 026824 jam lock_otp ,core_misc_ctrl 
-0x646a 026825 set1 mark_otp_encrypt ,mark 
-0x646b 026826 arg mem_ucode_keybuf ,contr 
-0x646c 026827 call load_key 
-0x646d 026828 enable user 
-:      026829 loadcode_otp:
-0x646e 026830 jam 0 ,mem_loadcode_times 
-:      026831 loadcode_otp_2:
-0x646f 026832 call loadcode_check_times 
-0x6470 026833 fetch 2 ,mem_otp_ucode_flag 
-0x6471 026834 byteswap pdata ,pdata 
-0x6472 026835 arg 0x7ff ,temp 
-0x6473 026836 iand temp ,pdata 
-0x6474 026837 branch loadcode_iic ,zero 
-0x6475 026838 call otp_set_addr 
-0x6476 026839 arg otpd_read_code ,regc 
-0x6477 026840 call get_iv ,user 
-0x6478 026841 call load_storage 
-0x6479 026842 fetch 1 ,mem_ucode_status 
-0x647a 026843 bbit0 0 ,loadcode_otp_2 
-:      026845 loadcode_iic:
-0x647b 026846 call otp_disable_chgpump 
-0x647c 026847 jam 0 ,mem_loadcode_times 
-:      026848 loadcode_iic_2:
-0x647d 026849 call loadcode_check_times 
-0x647e 026850 call clear_eeprom_size_2k 
-0x647f 026851 fetch 1 ,mem_otp_ucode_flag 
-0x6480 026852 bbit1 otp_uflag_skip_eep ,loadcode_spi 
-0x6481 026853 call loadcode_iic_by_eeprom 
-0x6482 026854 nbranch loadcode_iic_eeprom_2k ,match 
-0x6483 026855 fetch 1 ,mem_ucode_status 
-0x6484 026856 bbit0 0 ,loadcode_iic_2 
-0x6485 026857 branch loadcode_hci 
-:      026858 loadcode_iic_eeprom_2k:
-0x6486 026859 call set_eeprom_size_2k 
-0x6487 026860 fetch 1 ,mem_otp_ucode_flag 
-0x6488 026861 bbit1 otp_uflag_skip_eep ,loadcode_spi 
-0x6489 026862 call loadcode_iic_by_eeprom 
-0x648a 026863 nbranch loadcode_spi ,match 
-0x648b 026864 fetch 1 ,mem_ucode_status 
-0x648c 026865 bbit0 0 ,loadcode_iic_2 
-0x648d 026866 branch loadcode_hci 
-:      026868 loadcode_spi:
-0x648e 026869 jam 0 ,mem_loadcode_times 
-:      026870 loadcode_spi_2:
-0x648f 026871 call loadcode_check_times 
-0x6490 026872 fetch 1 ,mem_otp_ucode_flag 
-0x6491 026873 bbit1 otp_uflag_skip_flash ,loadcode_hci 
-0x6492 026874 setarg 0x0 
-0x6493 026875 store 3 ,mem_addr_hi 
-0x6494 026876 call spid_init_flash 
-0x6495 026877 arg spid_load_flash ,regc 
-0x6496 026878 call read_first_block 
-0x6497 026879 call load_storage 
-0x6498 026880 nbranch loadcode_hci ,match 
-0x6499 026881 fetch 1 ,mem_ucode_status 
-0x649a 026882 bbit0 0 ,loadcode_spi_2 
-:      026884 loadcode_hci:
-0x649b 026885 bmark1 mark_otp_encrypt ,loadcode_hci_enc 
-0x649c 026886 call clear_key_buf 
-:      026887 loadcode_hci_enc:
-0x649d 026888 fetch 1 ,mem_otp_ucode_flag 
-0x649e 026889 bbit0 otp_uflag_hci ,clear_key_buf 
-0x649f 026890 jam 0x21 ,core_clkoff 
-0x64a0 026891 call hci_init 
-:      026892 loadcode_hci_loop:
-0x64a1 026893 call hci_rx_packet 
-0x64a2 026894 branch loadcode_hci_loop 
-:      026896 clear_key_buf:
-0x64a3 026897 setarg 0 
-0x64a4 026898 store 8 ,mem_ucode_keybuf 
-0x64a5 026899 store 8 ,mem_ucode_keybuf + 8 
-0x64a6 026900 force regidx_key ,regext_index 
-0x64a7 026901 call aes_clear 
-0x64a8 026902 jam 0x21 ,core_clkoff 
-0x64a9 026903 rtn 
-:      026906 loadcode_iic_by_eeprom:
-0x64aa 026907 setarg 0x0 
-0x64ab 026908 store 2 ,mem_addr_mi 
-0x64ac 026909 arg iicd_read_eep ,regc 
-0x64ad 026910 call iicd_init_12m 
-0x64ae 026911 call read_first_block 
-0x64af 026912 branch load_storage 
-:      026915 loadcode_check_times:
-0x64b0 026916 fetch 1 ,mem_loadcode_times 
-0x64b1 026917 increase 1 ,pdata 
-0x64b2 026918 sub pdata ,3 ,null 
-0x64b3 026919 nbranch loadcode_error ,positive 
-0x64b4 026920 store 1 ,mem_loadcode_times 
-0x64b5 026921 rtn 
-:      026923 loadcode_error:
-0x64b6 026924 call clear_key_buf 
-0x64b7 026925 call ice_break 
-0x64b8 026926 rtn 
-:      026930 set_ucode_status:
-0x64b9 026931 fetch 1 ,mem_ucode_status 
-0x64ba 026932 lshift pdata ,pdata 
-0x64bb 026933 setflag true ,0 ,pdata 
-0x64bc 026934 isolate0 15 ,rega 
-0x64bd 026935 rtn true 
-0x64be 026936 store 1 ,mem_ucode_status 
-0x64bf 026937 rtn 
-:      026940 decrypt_code:
-0x64c0 026941 hfetch 1 ,core_gpio_key2 
-0x64c1 026942 rtnbit0 1 
-0x64c2 026943 branch decrypt_code_skip 
-:      026944 decrypt_code_loop:
-0x64c3 026945 hfetch 1 ,core_dma_status 
-0x64c4 026946 qisolate1 pdata 
-0x64c5 026947 rtn true 
-:      026948 decrypt_code_skip:
-0x64c6 026949 hfetch 1 ,core_misc_status 
-0x64c7 026950 bbit0 1 ,decrypt_code_loop 
-0x64c8 026951 call do_aes_cbc 
-0x64c9 026952 branch decrypt_code_loop 
-:      026956 load_ucode:
-0x64ca 026957 fetch 2 ,mem_patch_ptr 
-0x64cb 026958 rtn blank 
-0x64cc 026959 jam 0x80 ,core_ucode_ctrl 
-0x64cd 026960 jam 0 ,core_ucode_hi 
-0x64ce 026961 jam 0 ,core_ucode_low 
-0x64cf 026962 fetcht 2 ,mem_patch_len 
-0x64d0 026963 lshift2 temp ,loopcnt 
-0x64d1 026964 iforce contr 
-:      026965 load_ucode_loop:
-0x64d2 026966 ifetch 1 ,contr 
-0x64d3 026967 hstore 1 ,core_ucode_data 
-0x64d4 026968 loop load_ucode_loop 
-0x64d5 026969 jam 0x0 ,core_ucode_ctrl 
-0x64d6 026970 rtn 
-:      026975 spid_init:
-0x64d7 026976 bpatchx patch31_5 ,mem_patch31 
-0x64d8 026977 call spid_init_common 
-0x64d9 026978 branch twspi_enable 
-:      026980 spid_init2:
-0x64da 026981 call spid_init_common 
-0x64db 026982 call twspi_disable 
-0x64dc 026983 branch twspi_enable2 
-:      026985 spid_init_common:
-0x64dd 026986 fetch 1 ,mem_spi_init_clk 
-0x64de 026987 hstore 1 ,core_spid_ctrl 
-0x64df 026988 fetch 1 ,mem_spi_init_delay_time 
-0x64e0 026989 hstore 1 ,core_spid_delay 
-0x64e1 026990 setarg mem_spid_tbuf 
-0x64e2 026991 hstore 2 ,core_spid_txaddr 
-0x64e3 026992 setarg mem_spid_rbuf 
-0x64e4 026993 hstore 2 ,core_spid_rxaddr 
-0x64e5 026994 branch twspi_disable 
-:      026996 spid_reset:
-0x64e6 026997 hfetch 1 ,core_spid_ctrl 
-0x64e7 026998 set1 7 ,pdata 
-0x64e8 026999 hstore 1 ,core_spid_ctrl 
-0x64e9 027000 set0 7 ,pdata 
-0x64ea 027001 hstore 1 ,core_spid_ctrl 
-0x64eb 027002 rtn 
-:      027006 spid_write_reg:
-0x64ec 027007 set1 7 ,pdata 
-0x64ed 027008 store 2 ,mem_spid_tbuf 
-0x64ee 027009 bpatchx patch31_6 ,mem_patch31 
-0x64ef 027010 jam 2 ,core_spid_txlen 
-0x64f0 027011 jam 0 ,core_spid_rxlen 
-0x64f1 027012 jam spid_start ,core_misc_ctrl 
-0x64f2 027013 branch wait_spid_done 
-:      027016 spid_read_reg:
-0x64f3 027017 force 1 ,temp 
-:      027019 spid_read_regs:
-0x64f4 027021 store 1 ,mem_spid_tbuf 
-0x64f5 027022 bpatchx patch31_7 ,mem_patch31 
-0x64f6 027023 jam 1 ,core_spid_txlen 
-0x64f7 027024 hstoret 2 ,core_spid_rxlen 
-0x64f8 027025 jam spid_start ,core_misc_ctrl 
-0x64f9 027026 call wait_spid_done 
-0x64fa 027027 fetch 1 ,mem_spid_rbuf 
-0x64fb 027028 rtn 
-:      027030 wait_spid_done:
-0x64fc 027031 fetch 2 ,mem_afh_error_total 
-0x64fd 027032 increase 1 ,pdata 
-0x64fe 027033 store 2 ,mem_afh_error_total 
-0x64ff 027034 hfetch 1 ,core_dma_status 
-0x6500 027035 bbit0 spid_done ,wait_spid_done 
-0x6501 027036 rtn 
-:      027038 spid_init_flash:
-0x6502 027039 jam 0x40 ,core_spid_ctrl 
-0x6503 027040 jam 0x0 ,core_spid_delay 
-0x6504 027041 hfetch 1 ,core_gpio_sel1 
-0x6505 027042 set0 0 ,pdata 
-0x6506 027043 set1 1 ,pdata 
-0x6507 027044 hstore 1 ,core_gpio_sel1 
-0x6508 027045 setarg 0 
-0x6509 027046 store 4 ,mem_spid_tbuf 
-0x650a 027047 rtn 
-:      027050 spid_unlock_flash:
-0x650b 027051 setarg 0 
-0x650c 027052 hstore 2 ,core_spid_rxlen 
-0x650d 027053 setarg 1 
-0x650e 027054 hstore 2 ,core_spid_txlen 
-0x650f 027055 setarg mem_spid_tbuf 
-0x6510 027056 hstore 2 ,core_spid_txaddr 
-0x6511 027057 jam 6 ,mem_spid_tbuf 
-0x6512 027058 jam spid_start ,core_misc_ctrl 
-0x6513 027059 branch wait_spid_done 
-:      027074 flash_write:
-0x6514 027075 disable user 
-0x6515 027076 copy pdata ,regb 
-0x6516 027077 fetch 1 ,mem_spi_write_flash_sm 
-0x6517 027078 rtnne flash_sm_no_buys 
-0x6518 027079 enable user 
-0x6519 027080 copy regb ,pdata 
-0x651a 027081 branch flash_write_start 
-:      027084 flash_write_spi_sm_timer:
-0x651b 027085 fetch 1 ,mem_spi_write_flash_sm 
-0x651c 027086 beq flash_sm_start ,flash_write_start 
-0x651d 027087 beq flash_sm_erase_sector ,flash_erase_sector 
-0x651e 027088 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
-0x651f 027089 beq flash_sm_write_data ,flash_write_data 
-0x6520 027090 beq flash_sm_wait_write_data ,flash_wait_write_data 
-0x6521 027091 rtn 
-:      027093 flash_write_start:
-0x6522 027094 store 3 ,mem_spi_write_addr 
-0x6523 027095 copy rega ,pdata 
-0x6524 027096 store 2 ,mem_spi_write_ptr 
-0x6525 027097 storet 2 ,mem_spi_write_len 
-0x6526 027098 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
-0x6527 027099 branch spid_init_flash 
-:      027100 flash_erase_sector:
-0x6528 027101 call spid_init_flash 
-0x6529 027102 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
-0x652a 027103 call spid_unlock_flash 
-0x652b 027104 arg mem_spid_tbuf ,rega 
-0x652c 027105 fetch 3 ,mem_spi_write_addr 
-0x652d 027106 jam 4 ,core_spid_txlen 
-0x652e 027107 arg flash_command_sector_erase ,temp 
-0x652f 027108 branch spid_write_flash_common 
-:      027110 flash_wait_erase_sector:
-0x6530 027111 call spid_init_flash 
-0x6531 027112 call spid_unlock_flash 
-0x6532 027113 setarg flash_read_satus 
-0x6533 027114 call spid_read_reg 
-0x6534 027115 rtnbit1 flash_status_wip 
-0x6535 027116 jam flash_sm_write_data ,mem_spi_write_flash_sm 
-0x6536 027117 rtn 
-:      027118 flash_write_data:
-0x6537 027119 call spid_init_flash 
-0x6538 027120 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
-0x6539 027121 call spid_unlock_flash 
-0x653a 027122 call flash_data_preserve 
-0x653b 027123 call spid_write_flash 
-0x653c 027124 branch flash_data_recover 
-:      027125 flash_wait_write_data:
-0x653d 027126 call spid_init_flash 
-0x653e 027127 call spid_unlock_flash 
-0x653f 027128 setarg flash_read_satus 
-0x6540 027129 call spid_read_reg 
-0x6541 027130 rtnbit1 flash_status_wip 
-0x6542 027131 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
-0x6543 027132 fetch 2 ,mem_cb_spi_flash_write_complate 
-0x6544 027133 branch callback_func 
-:      027134 flash_data_recover:
-0x6545 027135 fetch 4 ,mem_temp 
-0x6546 027136 fetcht 2 ,mem_spi_write_ptr 
-0x6547 027137 increase -4 ,temp 
-0x6548 027138 istore 4 ,temp 
-0x6549 027139 rtn 
-:      027140 flash_data_preserve:
-0x654a 027141 fetcht 2 ,mem_spi_write_ptr 
-0x654b 027142 copy temp ,rega 
-0x654c 027143 increase -4 ,temp 
-0x654d 027144 ifetch 4 ,temp 
-0x654e 027145 store 4 ,mem_temp 
-0x654f 027146 fetcht 2 ,mem_spi_write_len 
-0x6550 027147 fetch 3 ,mem_spi_write_addr 
-0x6551 027148 rtn 
-:      027152 spid_write_flash:
-0x6552 027153 increase 4 ,temp 
-0x6553 027154 hstoret 2 ,core_spid_txlen 
-0x6554 027155 arg flash_command_write_data ,temp 
-0x6555 027156 increase -4 ,rega 
-:      027157 spid_write_flash_common:
-0x6556 027159 istoret 1 ,rega 
-0x6557 027160 rshift16 pdata ,temp 
-0x6558 027161 istoret 1 ,contw 
-0x6559 027162 rshift8 pdata ,temp 
-0x655a 027163 istoret 1 ,contw 
-0x655b 027164 istore 1 ,contw 
-0x655c 027165 deposit rega 
-0x655d 027166 hstore 2 ,core_spid_txaddr 
-0x655e 027167 setarg 0 
-0x655f 027168 hstore 2 ,core_spid_rxlen 
-0x6560 027169 jam spid_start ,core_misc_ctrl 
-0x6561 027170 branch wait_spid_done 
-:      027174 spid_read_flash:
-0x6562 027175 hstoret 2 ,core_spid_rxlen 
-0x6563 027176 rshift16 pdata ,temp 
-0x6564 027177 storet 1 ,mem_addr_hi 
-0x6565 027178 rshift8 pdata ,temp 
-0x6566 027179 storet 1 ,mem_addr_mi 
-0x6567 027180 store 1 ,mem_addr_lo 
-0x6568 027181 setarg 4 
-0x6569 027182 hstore 2 ,core_spid_txlen 
-0x656a 027183 jam flash_command_read_data ,mem_spid_tbuf 
-0x656b 027184 setarg mem_spid_tbuf 
-0x656c 027185 hstore 2 ,core_spid_txaddr 
-0x656d 027186 deposit rega 
-0x656e 027187 hstore 2 ,core_spid_rxaddr 
-0x656f 027188 hfetch 1 ,core_spid_ctrl 
-0x6570 027189 isolate0 15 ,rega 
-0x6571 027190 setflag true ,6 ,pdata 
-0x6572 027191 hstore 1 ,core_spid_ctrl 
-0x6573 027192 jam spid_start ,core_misc_ctrl 
-:      027193 spi_read_flash_wait:
-0x6574 027194 hfetch 1 ,core_dma_status 
-0x6575 027195 bbit1 7 ,spi_read_flash_wait 
-0x6576 027196 arg spid_done ,queue 
-0x6577 027197 branch wait_spid_done 
-:      027201 spid_load_flash:
-0x6578 027202 hstoret 2 ,core_spid_rxlen 
-0x6579 027203 setarg 4 
-0x657a 027204 hstore 2 ,core_spid_txlen 
-0x657b 027205 jam 3 ,mem_spid_tbuf 
-0x657c 027206 setarg mem_spid_tbuf 
-0x657d 027207 hstore 2 ,core_spid_txaddr 
-0x657e 027208 deposit rega 
-0x657f 027209 hstore 2 ,core_spid_rxaddr 
-0x6580 027210 hfetch 1 ,core_spid_ctrl 
-0x6581 027211 isolate0 15 ,rega 
-0x6582 027212 setflag true ,6 ,pdata 
-0x6583 027213 hstore 1 ,core_spid_ctrl 
-0x6584 027214 jam spid_start ,core_misc_ctrl 
-:      027215 spi_load_flash_wait:
-0x6585 027216 hfetch 1 ,core_dma_status 
-0x6586 027217 bbit1 7 ,spi_load_flash_wait 
-0x6587 027218 arg spid_done ,queue 
-0x6588 027219 call decrypt_code 
-0x6589 027220 call wait_spid_done 
-0x658a 027221 isolate1 spid_crcok ,pdata 
-0x658b 027222 call set_ucode_status 
-0x658c 027223 fetch 1 ,mem_addr_hi 
-0x658d 027224 lshift16 pdata ,regb 
-0x658e 027225 fetch 1 ,mem_addr_mi 
-0x658f 027226 lshift8 pdata ,pdata 
-0x6590 027227 ior regb ,regb 
-0x6591 027228 fetch 1 ,mem_addr_lo 
-0x6592 027229 ior regb ,pdata 
-0x6593 027230 iadd temp ,pdata 
-0x6594 027231 store 1 ,mem_addr_lo 
-0x6595 027232 rshift8 pdata ,pdata 
-0x6596 027233 store 1 ,mem_addr_mi 
-0x6597 027234 rshift8 pdata ,pdata 
-0x6598 027235 store 1 ,mem_addr_hi 
-0x6599 027236 rtn 
-:      027241 soft_reset_chip:
-0x659a 027242 jam 1 ,core_reset 
-0x659b 027243 rtn 
-:      027249 iic_init_390k:
-0x659c 027250 jam 12 ,core_iicd_scl_low 
-0x659d 027251 jam 13 ,core_iicd_scl_high 
-0x659e 027252 jam 13 ,core_iicd_start_setup 
-0x659f 027253 jam 13 ,core_iicd_start_hold 
-0x65a0 027254 jam 13 ,core_iicd_stop_setup 
-0x65a1 027255 jam 12 ,core_iicd_data_setup 
-0x65a2 027256 branch iicd_init_gpio 
-:      027259 iicd_init_12m:
-0x65a3 027260 jam 5 ,core_iicd_scl_low 
-0x65a4 027261 jam 7 ,core_iicd_scl_high 
-0x65a5 027262 jam 7 ,core_iicd_start_setup 
-0x65a6 027263 jam 7 ,core_iicd_start_hold 
-0x65a7 027264 jam 7 ,core_iicd_stop_setup 
-0x65a8 027265 jam 5 ,core_iicd_data_setup 
-:      027266 iicd_init_gpio:
-0x65a9 027267 hfetch 1 ,core_gpio_pu3 
-0x65aa 027268 or_into 0xc0 ,pdata 
-0x65ab 027269 hstore 1 ,core_gpio_pu3 
-0x65ac 027270 hfetch 1 ,core_gpio_sel1 
-0x65ad 027271 or_into 0x10 ,pdata 
-0x65ae 027272 hstore 1 ,core_gpio_sel1 
-0x65af 027273 rtn 
-:      027277 wait_iicd_done:
-0x65b0 027278 hfetch 1 ,core_dma_status 
-0x65b1 027279 bbit0 iicd_done ,wait_iicd_done 
-0x65b2 027280 rtn 
-:      027288 iicd_read_data:
-0x65b3 027289 hstore 2 ,core_iicd_txlen 
-0x65b4 027290 deposit rega 
-0x65b5 027291 hstore 2 ,core_iicd_txaddr 
-0x65b6 027292 deposit regb 
-0x65b7 027293 hstore 2 ,core_iicd_rxaddr 
-0x65b8 027294 deposit temp 
-0x65b9 027295 hstore 2 ,core_iicd_rxlen 
-0x65ba 027296 arg 1 ,temp 
-0x65bb 027297 nsetflag blank ,1 ,temp 
-0x65bc 027298 hstore 1 ,core_iicd_ctrl 
-0x65bd 027299 jam iicd_start ,core_misc_ctrl 
-0x65be 027300 branch wait_iicd_done 
-:      027303 set_eeprom_size_2k:
-0x65bf 027304 set1 mark_eeprom_size ,mark 
-0x65c0 027305 jam 0x08 ,mem_eeprom_block_size 
-0x65c1 027306 rtn 
-:      027308 clear_eeprom_size_2k:
-0x65c2 027309 set0 mark_eeprom_size ,mark 
-0x65c3 027310 jam 0x20 ,mem_eeprom_block_size 
-0x65c4 027311 rtn 
-:      027314 iicd_read_eep_data_size_2k:
-0x65c5 027315 fetch 1 ,mem_eeprom_base 
-0x65c6 027316 iadd regb ,pdata 
-0x65c7 027317 store 1 ,mem_addr_mi 
-0x65c8 027318 branch iicd_read_eep_size_2k 
-:      027320 iicd_read_eep_size_2k_lcadcode:
-0x65c9 027321 fetch 2 ,mem_addr_mi 
-0x65ca 027322 byteswap pdata ,pdata 
-0x65cb 027323 store 1 ,mem_addr_mi 
-:      027328 iicd_read_eep_size_2k:
-0x65cc 027329 setarg 3 
-0x65cd 027330 hstore 2 ,core_iicd_txlen 
-0x65ce 027331 jam 0xa0 ,mem_iicd_tbuf 
-0x65cf 027332 jam 0xa1 ,mem_iicd_tbuf + 2 
-0x65d0 027333 branch iicd_read_eep_common 
-:      027339 iicd_write_protect_eep_data:
-0x65d1 027340 storet 2 ,mem_temp 
-0x65d2 027341 call iicd_eeprom_write_enable 
-0x65d3 027342 fetcht 2 ,mem_temp 
-0x65d4 027343 call iicd_write_eep_data 
-0x65d5 027344 branch iicd_eeprom_write_disable 
-:      027346 iicd_eeprom_write_enable:
-0x65d6 027347 fetch 1 ,mem_eeprom_wp_gpio 
-0x65d7 027348 rtneq gpio_disable 
-0x65d8 027349 bbit0 6 ,iicd_wp_gpio_output_low 
-0x65d9 027350 setarg 150000 
-0x65da 027351 call sleep 
-:      027352 iicd_wp_gpio_output_low:
-0x65db 027353 fetcht 1 ,mem_eeprom_wp_gpio 
-0x65dc 027354 branch gpio_out_active 
-:      027356 iicd_eeprom_write_disable:
-0x65dd 027357 fetcht 1 ,mem_eeprom_wp_gpio 
-0x65de 027358 branch gpio_out_inactive 
-:      027363 iicd_read_eep_data:
-0x65df 027364 bpatchx patch32_0 ,mem_patch32 
-0x65e0 027365 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
-0x65e1 027366 fetch 2 ,mem_eeprom_base 
-0x65e2 027367 iadd regb ,pdata 
-0x65e3 027368 byteswap pdata ,pdata 
-0x65e4 027369 store 2 ,mem_addr_mi 
-:      027372 iicd_read_eep:
-0x65e5 027373 bpatchx patch32_1 ,mem_patch32 
-0x65e6 027374 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
-0x65e7 027375 setarg 4 
-0x65e8 027376 hstore 2 ,core_iicd_txlen 
-0x65e9 027377 jam 0xa0 ,mem_iicd_tbuf 
-0x65ea 027378 jam 0xa1 ,mem_iicd_tbuf + 3 
-:      027379 iicd_read_eep_common:
-0x65eb 027380 setarg mem_iicd_tbuf 
-0x65ec 027381 hstore 2 ,core_iicd_txaddr 
-0x65ed 027382 hstoret 2 ,core_iicd_rxlen 
-0x65ee 027383 deposit rega 
-0x65ef 027384 hstore 2 ,core_iicd_rxaddr 
-0x65f0 027385 setarg 2 
-0x65f1 027386 isolate0 15 ,rega 
-0x65f2 027387 setflag true ,0 ,pdata 
-0x65f3 027388 hstore 1 ,core_iicd_ctrl 
-0x65f4 027389 jam iicd_start ,core_misc_ctrl 
-0x65f5 027390 arg iicd_done ,queue 
-0x65f6 027391 call decrypt_code 
-0x65f7 027392 call wait_iicd_done 
-0x65f8 027393 isolate1 iicd_crcok ,pdata 
-0x65f9 027394 call set_ucode_status 
-0x65fa 027395 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
-0x65fb 027396 fetch 2 ,mem_addr_mi 
-0x65fc 027397 byteswap pdata ,pdata 
-0x65fd 027398 iadd temp ,pdata 
-0x65fe 027399 byteswap pdata ,pdata 
-0x65ff 027400 store 2 ,mem_addr_mi 
-0x6600 027401 rtn 
-:      027403 iicd_read_eep_load_code_size_2k:
-0x6601 027404 fetch 1 ,mem_addr_mi 
-0x6602 027405 iadd temp ,pdata 
-0x6603 027406 byteswap pdata ,pdata 
-0x6604 027407 store 2 ,mem_addr_mi 
-0x6605 027408 rtn 
-:      027414 iicd_write_eep_data:
-0x6606 027415 fetch 2 ,mem_eeprom_base 
-0x6607 027416 iadd regb ,pdata 
-:      027419 iicd_write_ota_data:
-0x6608 027420 store 2 ,mem_pdatatemp 
-0x6609 027421 bpatchx patch32_2 ,mem_patch32 
-0x660a 027422 storet 2 ,mem_temp 
-0x660b 027423 copy rega ,pdata 
-0x660c 027424 store 2 ,mem_contr 
-:      027425 iicd_write_eep_loop:
-0x660d 027426 call iicd_eep_transparency 
-0x660e 027428 fetcht 2 ,mem_regb 
-0x660f 027429 fetch 2 ,mem_contr 
-0x6610 027430 copy pdata ,rega 
-0x6611 027431 fetch 2 ,mem_pdatatemp 
-0x6612 027433 call iicd_write_eep 
-0x6613 027435 fetch 2 ,mem_regb 
-0x6614 027436 fetcht 2 ,mem_contr 
-0x6615 027437 iadd temp ,temp 
-0x6616 027438 storet 2 ,mem_contr 
-0x6617 027439 fetcht 2 ,mem_pdatatemp 
-0x6618 027440 iadd temp ,temp 
-0x6619 027441 storet 2 ,mem_pdatatemp 
-0x661a 027442 fetch 2 ,mem_temp 
-0x661b 027443 nbranch iicd_write_eep_loop ,blank 
-0x661c 027444 rtn 
-:      027452 iicd_eep_transparency:
-0x661d 027453 bpatchx patch32_3 ,mem_patch32 
-0x661e 027454 fetch 1 ,mem_eeprom_block_size 
-0x661f 027455 increase -1 ,pdata 
-0x6620 027456 fetcht 2 ,mem_pdatatemp 
-0x6621 027457 ior temp ,pdata 
-0x6622 027458 increase 1 ,pdata 
-0x6623 027459 store 3 ,mem_regc 
-0x6624 027461 fetch 2 ,mem_temp 
-0x6625 027462 iadd temp ,pdata 
-0x6626 027464 fetcht 3 ,mem_regc 
-0x6627 027465 isub temp ,pdata 
-0x6628 027466 nbranch iicd_eep_deal_short_packet ,positive 
-0x6629 027467 store 2 ,mem_temp 
-0x662a 027468 fetch 3 ,mem_regc 
-0x662b 027469 fetcht 2 ,mem_pdatatemp 
-0x662c 027470 isub temp ,pdata 
-0x662d 027471 store 2 ,mem_regb 
-0x662e 027472 rtn 
-:      027473 iicd_eep_deal_short_packet:
-0x662f 027474 fetch 2 ,mem_temp 
-0x6630 027475 store 2 ,mem_regb 
-0x6631 027476 setarg 0 
-0x6632 027477 store 2 ,mem_temp 
-0x6633 027478 rtn 
-:      027480 iicd_write_eep_size_2k:
-0x6634 027481 increase 2 ,temp 
-0x6635 027482 hstoret 2 ,core_iicd_txlen 
-0x6636 027483 increase -2 ,rega 
-0x6637 027484 ifetcht 3 ,rega 
-0x6638 027485 copy temp ,regb 
-0x6639 027486 arg 0xa0 ,temp 
-0x663a 027487 istoret 1 ,rega 
-0x663b 027489 istore 1 ,contw 
-0x663c 027490 branch iicd_write_eep_common 
-:      027493 iicd_write_eep:
-0x663d 027494 copy pdata ,regb 
-0x663e 027495 bpatchx patch32_4 ,mem_patch32 
-0x663f 027496 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
-0x6640 027497 copy regb ,pdata 
-0x6641 027498 increase 3 ,temp 
-0x6642 027499 hstoret 2 ,core_iicd_txlen 
-0x6643 027500 increase -3 ,rega 
-0x6644 027501 ifetcht 3 ,rega 
-0x6645 027502 copy temp ,regb 
-0x6646 027503 arg 0xa0 ,temp 
-0x6647 027504 istoret 1 ,rega 
-0x6648 027505 byteswap pdata ,pdata 
-0x6649 027506 istore 2 ,contw 
-:      027507 iicd_write_eep_common:
-0x664a 027508 deposit rega 
-0x664b 027509 hstore 2 ,core_iicd_txaddr 
-0x664c 027510 setarg 0 
-0x664d 027511 hstore 2 ,core_iicd_rxlen 
-0x664e 027512 jam 1 ,core_iicd_ctrl 
-0x664f 027513 jam iicd_start ,core_misc_ctrl 
-0x6650 027514 call wait_iicd_done 
-0x6651 027515 copy regb ,pdata 
-0x6652 027516 istore 3 ,rega 
-:      027518 iic_check_eeprom_standby:
-0x6653 027519 bpatchx patch32_5 ,mem_patch32 
-0x6654 027520 jam 0 ,mem_iicd_tbuf + 3 
-:      027521 iic_check_eeprom_standby_wait:
-0x6655 027522 setarg 1 
-0x6656 027523 hstore 2 ,core_iicd_txlen 
-0x6657 027524 jam 0xa0 ,mem_iicd_tbuf 
-0x6658 027525 setarg mem_iicd_tbuf 
-0x6659 027526 hstore 2 ,core_iicd_txaddr 
-0x665a 027527 setarg 0 
-0x665b 027528 hstore 2 ,core_iicd_rxlen 
-0x665c 027529 hstore 2 ,core_iicd_rxaddr 
-0x665d 027530 setarg 3 
-0x665e 027531 hstore 1 ,core_iicd_ctrl 
-0x665f 027532 jam iicd_start ,core_misc_ctrl 
-0x6660 027533 call wait_iicd_done 
-0x6661 027534 hfetch 1 ,core_dma_status 
-0x6662 027535 rtnbit0 iicd_ack 
-0x6663 027536 nop 1500 
-0x6664 027537 fetch 1 ,mem_iicd_tbuf + 3 
-0x6665 027538 increase 1 ,pdata 
-0x6666 027539 store 1 ,mem_iicd_tbuf + 3 
-0x6667 027540 sub pdata ,40 ,null 
-0x6668 027541 nrtn positive 
-0x6669 027542 branch iic_check_eeprom_standby_wait 
-:      027546 otp_enable_chgpump:
-0x666a 027547 jam 0x70 ,rfen_chgpump 
-0x666b 027548 nop param_chgpump_delay 
-0x666c 027549 rtn 
-:      027551 otp_disable_chgpump:
-0x666d 027552 jam 0x30 ,rfen_chgpump 
-0x666e 027553 rtn 
-:      027555 otp_set_addr:
-0x666f 027556 lshift3 pdata ,pdata 
-0x6670 027557 hstore 2 ,core_otp_addr 
-0x6671 027558 jam 0 ,core_otpd_ctrl 
-0x6672 027559 rtn 
-:      027562 otp_write:
-0x6673 027563 call otp_set_addr 
-0x6674 027564 call otp_ce 
-:      027565 otp_program:
-0x6675 027566 ifetcht 1 ,rega 
-0x6676 027567 increase 1 ,rega 
-0x6677 027568 force 0 ,queue 
-:      027569 otp_program_bit:
-0x6678 027570 qisolate0 temp 
-0x6679 027571 branch otp_skip_0 ,true 
-0x667a 027572 hfetch 1 ,core_otp_din 
-0x667b 027573 set1 6 ,pdata 
-0x667c 027574 set1 7 ,pdata 
-0x667d 027575 hstore 1 ,core_otp_din 
-0x667e 027576 jam 0x02 ,core_otp_ctrl 
-0x667f 027577 jam 0x82 ,core_otp_ctrl 
-0x6680 027578 set0 7 ,pdata 
-0x6681 027579 hstore 1 ,core_otp_din 
-0x6682 027580 jam 0x8a ,core_otp_ctrl 
-0x6683 027581 nop 11 
-0x6684 027582 jam 0xca ,core_otp_ctrl 
-0x6685 027583 nop 33 
-0x6686 027584 jam 0x4a ,core_otp_ctrl 
-0x6687 027585 nop 44 
-0x6688 027586 jam 0xca ,core_otp_ctrl 
-0x6689 027587 nop 22 
-0x668a 027588 jam 0x8a ,core_otp_ctrl 
-0x668b 027589 nop 33 
-0x668c 027590 jam 0x82 ,core_otp_ctrl 
-0x668d 027591 nop 1 
-0x668e 027592 jam 0x92 ,core_otp_ctrl 
-0x668f 027593 nop 10 
-0x6690 027594 jam 0xb2 ,core_otp_ctrl 
-0x6691 027595 hfetch 1 ,core_otp_rdata 
-0x6692 027596 jam 0x92 ,core_otp_ctrl 
-0x6693 027597 nop 1 
-0x6694 027598 jam 0x82 ,core_otp_ctrl 
-0x6695 027599 qisolate0 pdata 
-0x6696 027600 branch otp_program_bit ,true 
-:      027601 otp_skip_0:
-0x6697 027602 hfetch 2 ,core_otp_addr 
-0x6698 027603 increase 1 ,pdata 
-0x6699 027604 hstore 2 ,core_otp_addr 
-0x669a 027605 increase 1 ,queue 
-0x669b 027606 compare 8 ,queue ,0xf 
-0x669c 027607 nbranch otp_program_bit ,true 
-0x669d 027608 loop otp_program 
-0x669e 027609 jam 0x83 ,core_otp_ctrl 
-0x669f 027610 rtn 
-:      027612 otp_ce:
-0x66a0 027613 jam 0x82 ,core_otp_ctrl 
-0x66a1 027614 nop 12 
-0x66a2 027615 jam 0x80 ,core_otp_ctrl 
-0x66a3 027616 jam 0x82 ,core_otp_ctrl 
-0x66a4 027617 nop 150 
-0x66a5 027618 rtn 
-:      027621 otpd_read_init:
-0x66a6 027622 call otp_ce 
-0x66a7 027623 jam 0xa2 ,core_otp_ctrl 
-0x66a8 027624 deposit rega 
-0x66a9 027625 hstore 2 ,core_otpd_addr 
-0x66aa 027626 set1 11 ,temp 
-0x66ab 027627 isolate0 15 ,pdata 
-0x66ac 027628 setflag true ,15 ,temp 
-0x66ad 027629 hstoret 2 ,core_otpd_len 
-0x66ae 027630 jam otpd_start ,core_misc_ctrl 
-0x66af 027631 rtn 
-:      027633 otpd_wait_end:
-0x66b0 027634 hfetch 1 ,core_dma_status 
-0x66b1 027635 bbit0 otpd_done ,otpd_wait_end 
-0x66b2 027636 rtn 
-:      027639 otpd_read_data:
-0x66b3 027640 call otp_set_addr 
-0x66b4 027641 call otpd_read_init 
-0x66b5 027642 call otpd_wait_end 
-0x66b6 027643 jam 0x83 ,core_otp_ctrl 
-0x66b7 027644 rtn 
-:      027649 otpd_read_code:
-0x66b8 027650 hfetch 2 ,core_current_otp_addr 
-0x66b9 027651 hstore 2 ,core_otp_addr 
-0x66ba 027652 call otpd_read_init 
-0x66bb 027653 arg otpd_done ,queue 
-0x66bc 027654 call decrypt_code 
-0x66bd 027655 call otpd_wait_end 
-0x66be 027656 isolate1 otpd_crcok ,pdata 
-0x66bf 027657 call set_ucode_status 
-0x66c0 027658 jam 0x83 ,core_otp_ctrl 
-0x66c1 027659 rtn 
-:      027662 uartd_prepare_tx:
-0x66c2 027663 hfetch 2 ,core_uart_twptr 
-0x66c3 027664 iforce contwu 
-0x66c4 027665 rtn 
-:      027667 uartd_send:
-0x66c5 027668 deposit contwu 
-0x66c6 027669 hstore 2 ,core_uart_twptr 
-0x66c7 027670 rtn 
-:      027672 uartd_rxdone:
-0x66c8 027673 deposit contru 
-0x66c9 027674 hstore 2 ,core_uart_rrptr 
-0x66ca 027675 rtn 
-:      027677 uartd_prepare_rx:
-0x66cb 027678 hfetch 2 ,core_uart_rrptr 
-0x66cc 027679 copy pdata ,contru 
-0x66cd 027680 rtn 
-:      027682 uart_set_baud_by_mem:
-0x66ce 027683 fetch uart_baud_len ,mem_baud 
-0x66cf 027684 hstore uart_baud_len ,core_uart_baud 
-0x66d0 027685 rtn 
-:      027687 uart_copy_tx_bytes_fast:
-0x66d1 027688 deposit loopcnt 
-0x66d2 027689 rtn blank 
-:      027690 uart_copy_tx_bytes_fast_loop:
-0x66d3 027691 increase -8 ,loopcnt 
-0x66d4 027692 call uart_tx_8_bytes ,positive 
-0x66d5 027693 rtn zero 
-0x66d6 027694 branch uart_copy_tx_bytes_fast_loop ,positive 
-0x66d7 027695 increase 8 ,loopcnt 
-:      027696 uart_copy_tx_bytes_fast_loop_four:
-0x66d8 027697 increase -4 ,loopcnt 
-0x66d9 027698 call uart_tx_4_bytes ,positive 
-0x66da 027699 rtn zero 
-0x66db 027700 branch uart_copy_tx_bytes_fast_loop_four ,positive 
-0x66dc 027701 increase 4 ,loopcnt 
-0x66dd 027702 branch uart_copy_tx_bytes 
-:      027704 uart_tx_8_bytes:
-0x66de 027705 ifetch 8 ,contr 
-0x66df 027706 istore 8 ,contwu 
-0x66e0 027707 rtn 
-:      027709 uart_tx_4_bytes:
-0x66e1 027710 ifetch 4 ,contr 
-0x66e2 027711 istore 4 ,contwu 
-0x66e3 027712 rtn 
-:      027714 uart_copy_tx_bytes:
-0x66e4 027715 deposit loopcnt 
-0x66e5 027716 rtn blank 
-:      027717 uart_copy_tx_bytes_loop:
-0x66e6 027718 ifetch 1 ,contr 
-0x66e7 027719 istore 1 ,contwu 
-0x66e8 027720 loop uart_copy_tx_bytes_loop 
-0x66e9 027721 rtn 
-:      027723 uart_copy_rx_bytes_fast:
-0x66ea 027724 deposit loopcnt 
-0x66eb 027725 rtn blank 
-:      027726 uart_copy_rx_bytes_fast_loop:
-0x66ec 027727 increase -8 ,loopcnt 
-0x66ed 027728 call uart_rx_8_bytes ,positive 
-0x66ee 027729 rtn zero 
-0x66ef 027730 branch uart_copy_rx_bytes_fast_loop ,positive 
-0x66f0 027731 increase 8 ,loopcnt 
-:      027732 uart_copy_rx_bytes_fast_loop_four:
-0x66f1 027733 increase -4 ,loopcnt 
-0x66f2 027734 call uart_rx_4_bytes ,positive 
-0x66f3 027735 rtn zero 
-0x66f4 027736 branch uart_copy_rx_bytes_fast_loop_four ,positive 
-0x66f5 027737 increase 4 ,loopcnt 
-0x66f6 027738 branch uart_copy_rx_bytes 
-:      027740 uart_rx_8_bytes:
-0x66f7 027741 ifetch 8 ,contru 
-0x66f8 027742 istore 8 ,contw 
-0x66f9 027743 rtn 
-:      027745 uart_rx_4_bytes:
-0x66fa 027746 ifetch 4 ,contru 
-0x66fb 027747 istore 4 ,contw 
-0x66fc 027748 rtn 
-:      027751 uart_copy_rx_bytes:
-0x66fd 027752 deposit loopcnt 
-0x66fe 027753 rtn blank 
-:      027754 uart_copy_rx_bytes_loop:
-0x66ff 027755 ifetch 1 ,contru 
-0x6700 027756 istore 1 ,contw 
-0x6701 027757 loop uart_copy_rx_bytes_loop 
-0x6702 027758 rtn 
-:      027761 uart_copy_rx2tx:
-0x6703 027762 deposit loopcnt 
-0x6704 027763 rtn blank 
-:      027764 uart_copy_rx2tx_loop:
-0x6705 027765 ifetch 1 ,contru 
-0x6706 027766 istore 1 ,contwu 
-0x6707 027767 loop uart_copy_rx2tx_loop 
-0x6708 027768 rtn 
-:      027773 app_store_nvram_event:
-0x6709 027774 jam bt_evt_store_nvram ,mem_fifo_temp 
-0x670a 027775 branch ui_ipc_send_event 
-:      027777 check_51cmd_store_reconn_info:
-:      027778 check_51cmd_update_device_record:
-0x670b 027779 bpatchx patch32_6 ,mem_patch32 
-0x670c 027780 fetch 1 ,mem_nv_data_number 
-0x670d 027781 rtn blank 
-0x670e 027782 call check_nvram 
-0x670f 027783 call init_device_list ,zero 
-0x6710 027784 call nvram_find_addr_from_bd_list 
-:      027785 write_device_record:
-0x6711 027786 fetch 1 ,mem_nv_data_number 
-0x6712 027787 icopy regc 
-0x6713 027788 fetcht 2 ,mem_nv_data_ptr 
-0x6714 027789 storet 2 ,mem_list_item_ptr 
-:      027790 write_device_loop_find:
-0x6715 027791 copy regc ,pdata 
-0x6716 027792 branch app_store_nvram_event ,blank 
-0x6717 027793 increase -1 ,regc 
-0x6718 027794 copy temp ,rega 
-0x6719 027795 ifetch 1 ,rega 
-0x671a 027796 fetcht 1 ,mem_select_list_item 
-0x671b 027797 isub temp ,null 
-0x671c 027798 call set_index_finded_device ,zero 
-0x671d 027799 branch write_device_loop_find0 ,positive 
-0x671e 027800 ifetch 1 ,rega 
-0x671f 027801 increase 1 ,pdata 
-0x6720 027802 istore 1 ,rega 
-:      027803 write_device_loop_find0:
-0x6721 027804 fetcht 2 ,mem_list_item_ptr 
-0x6722 027805 increase nv_data_len ,temp 
-0x6723 027806 storet 2 ,mem_list_item_ptr 
-0x6724 027807 branch write_device_loop_find 
-:      027809 set_index_finded_device:
-0x6725 027810 setarg 0 
-0x6726 027811 istore 1 ,rega 
-0x6727 027812 fetch 1 ,mem_temp_reconn_record 
-0x6728 027813 istore 1 ,contw 
-0x6729 027814 bne rec_3_mode ,set_index_finded_device_ble_mode 
-0x672a 027815 arg mem_link_key ,regb 
-:      027816 set_index_find_device_master_addr:
-0x672b 027817 ifetch 6 ,contr 
-0x672c 027818 istore 8 ,contw 
-0x672d 027819 setarg 0 
-0x672e 027820 istore 8 ,contw 
-0x672f 027821 copy regb ,contr 
-:      027822 store_rec_data_common:
-0x6730 027823 call memcpy16 
-0x6731 027824 force 1 ,null 
-0x6732 027825 rtn 
-:      027827 set_index_finded_device_ble_mode:
-0x6733 027828 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
-0x6734 027829 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
-0x6735 027830 arg mem_le_ltk ,regb 
-0x6736 027831 branch set_index_find_device_master_addr 
-:      027833 set_index_finded_device_irk:
-0x6737 027834 arg mem_le_irk ,contr 
-0x6738 027835 call memcpy16 
-:      027836 store_ble_rec_data_common:
-0x6739 027837 arg mem_le_ltk ,contr 
-0x673a 027838 branch store_rec_data_common 
-:      027840 set_index_finded_device_ediv:
-0x673b 027841 arg mem_le_rand ,contr 
-0x673c 027842 call memcpy16 
-0x673d 027843 branch store_ble_rec_data_common 
-:      027846 nvram_find_addr_from_bd_list:
-0x673e 027847 call disable_user 
-0x673f 027848 fetch 1 ,mem_nv_data_number 
-0x6740 027849 rtn blank 
-0x6741 027850 fetch 2 ,mem_ui_state_map 
-0x6742 027851 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
-:      027852 find_addr_from_bd_list_ble_mode:
-0x6743 027853 bpatchx patch32_7 ,mem_patch32 
-0x6744 027854 fetch 1 ,mem_le_conn_peer_addr_type 
-0x6745 027855 beq master_public_addr ,find_addr_from_bd_list_static_addr 
-0x6746 027856 fetch 1 ,mem_le_plap + 5 
-0x6747 027857 compare 0xc0 ,pdata ,0xc0 
-0x6748 027858 branch find_addr_from_bd_list_static_addr ,true 
-0x6749 027859 compare 0x40 ,pdata ,0xc0 
-0x674a 027860 branch find_addr_from_bd_list_random_addr ,true 
-0x674b 027861 compare 0x00 ,pdata ,0xc0 
-0x674c 027862 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
-:      027863 find_addr_from_bd_list_static_addr:
-0x674d 027864 jam rec_4_mode_static_address ,mem_temp_reconn_record 
-0x674e 027865 fetch 6 ,mem_le_plap 
-0x674f 027866 branch find_addr_from_bd_list_common 
-:      027868 find_addr_from_bd_list_random_non_resolvable_private_address:
-0x6750 027869 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
-0x6751 027870 branch find_addr_from_bd_list_common 
-:      027873 find_addr_from_bd_list_random_addr:
-0x6752 027874 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
-0x6753 027875 branch find_addr_from_bd_list_common 
-:      027878 find_addr_from_bd_list_spp_mode:
-0x6754 027879 bpatchx patch33_0 ,mem_patch33 
-0x6755 027880 jam rec_3_mode ,mem_temp_reconn_record 
-0x6756 027881 fetch 6 ,mem_plap 
-:      027882 find_addr_from_bd_list_common:
-0x6757 027883 store 6 ,mem_temp_reconn_record + 1 
-0x6758 027884 fetch 2 ,mem_nv_data_ptr 
-0x6759 027885 ifetcht 1 ,pdata 
-0x675a 027886 pincrease 1 
-0x675b 027887 store 2 ,mem_list_item_ptr 
-0x675c 027888 storet 1 ,mem_select_list_item 
-0x675d 027889 fetch 1 ,mem_nv_data_number 
-0x675e 027890 icopy regc 
-:      027891 nvram_find_addr_from_list:
-0x675f 027892 fetch 2 ,mem_list_item_ptr 
-0x6760 027893 copy pdata ,rega 
-0x6761 027894 call nvram_find_addr_from_list_compare 
-0x6762 027895 rtn user 
-0x6763 027896 fetcht 2 ,mem_list_item_ptr 
-0x6764 027897 increase nv_data_len ,temp 
-0x6765 027898 storet 2 ,mem_list_item_ptr 
-0x6766 027899 increase -1 ,temp 
-0x6767 027900 ifetch 1 ,temp 
-0x6768 027901 store 1 ,mem_select_list_item 
-0x6769 027902 increase -1 ,regc 
-0x676a 027903 nbranch nvram_find_addr_from_list ,zero 
-0x676b 027904 fetch 1 ,mem_nv_data_number 
-0x676c 027905 pincrease decreased_one 
-0x676d 027906 store 1 ,mem_select_list_item 
-0x676e 027907 rtn 
-:      027908 nvram_find_addr_from_list_compare:
-0x676f 027909 fetch 1 ,mem_temp_reconn_record 
-0x6770 027910 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
-:      027911 find_master_addr_from_list_compare:
-0x6771 027912 arg mem_temp_reconn_record ,regb 
-0x6772 027913 arg 7 ,loopcnt 
-0x6773 027914 call string_compare 
-0x6774 027915 branch enable_user ,zero 
-0x6775 027916 rtn 
-:      027918 find_addr_from_list_compare_ble_mode:
-0x6776 027919 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
-0x6777 027920 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
-0x6778 027921 branch find_master_addr_from_list_compare 
-:      027923 find_irk_form_list_compare:
-0x6779 027924 ifetcht 1 ,rega 
-0x677a 027925 isub temp ,null 
-0x677b 027926 nrtn zero 
-0x677c 027927 arg mem_le_prand ,contw 
-0x677d 027928 arg 16 ,loopcnt 
-0x677e 027929 call clear_mem 
-0x677f 027930 fetch 3 ,mem_le_plap + 3 
-0x6780 027931 store 3 ,mem_le_prand 
-0x6781 027932 call genernate_master_macaddress 
-0x6782 027933 fetch 2 ,mem_le_aes_128 + 13 
-0x6783 027934 byteswap pdata ,pdata 
-0x6784 027935 lshift8 pdata ,temp 
-0x6785 027936 ifetch 1 ,contr 
-0x6786 027937 iadd temp ,pdata 
-0x6787 027938 fetcht 3 ,mem_le_plap 
-0x6788 027939 isub temp ,null 
-0x6789 027940 branch enable_user ,zero 
-0x678a 027941 rtn 
-:      027944 genernate_master_macaddress:
-0x678b 027945 arg mem_le_prand ,contr 
-0x678c 027946 call load_data128 
-0x678d 027948 ifetch 1 ,rega 
-0x678e 027949 call load_regext 
-0x678f 027950 force 0x38 ,aes_ctrl 
-0x6790 027951 force 0x0 ,aes_ctrl 
-0x6791 027952 call wait_aes 
-0x6792 027953 arg mem_le_aes_128 ,contw 
-0x6793 027954 branch store_aes_result 
-:      027956 find_ediv_form_list_compare:
-0x6794 027957 ifetcht 1 ,rega 
-0x6795 027958 isub temp ,null 
-0x6796 027959 nrtn zero 
-0x6797 027960 copy contr ,rega 
-0x6798 027961 add contr ,8 ,regc 
-0x6799 027962 arg mem_le_rand ,regb 
-0x679a 027963 arg 8 ,loopcnt 
-0x679b 027964 call string_compare 
-0x679c 027965 branch enable_user ,zero 
-0x679d 027966 copy regc ,rega 
-0x679e 027967 arg mem_le_irk ,regb 
-0x679f 027968 arg 8 ,loopcnt 
-0x67a0 027969 call string_compare 
-0x67a1 027970 branch enable_user ,zero 
-0x67a2 027971 rtn 
-:      027973 check_nvram:
-0x67a3 027974 fetch 2 ,mem_nv_data_ptr 
-0x67a4 027975 ifetcht 1 ,pdata 
-0x67a5 027976 pincrease nv_data_len 
-0x67a6 027977 ifetch 1 ,pdata 
-0x67a7 027978 isub temp ,null 
-0x67a8 027979 rtn 
-:      027981 init_device_list:
-0x67a9 027982 fetch 1 ,mem_nv_data_number 
-0x67aa 027983 icopy loopcnt 
-0x67ab 027984 fetcht 2 ,mem_nv_data_ptr 
-0x67ac 027985 setarg 0 
-:      027986 init_device_list_loop:
-0x67ad 027987 istore 1 ,temp 
-0x67ae 027988 increase nv_data_len ,temp 
-0x67af 027989 pincrease 1 
-0x67b0 027990 loop init_device_list_loop 
-0x67b1 027991 rtn 
-:      027993 load_device_list:
-0x67b2 027994 bpatchx patch33_1 ,mem_patch33 
-0x67b3 027995 call nvram_find_addr_from_bd_list 
-0x67b4 027996 fetch 1 ,mem_state 
-0x67b5 027997 setflag user ,state_combkey ,pdata 
-0x67b6 027998 store 1 ,mem_state 
-0x67b7 027999 nbranch clear_key_exists ,user 
-0x67b8 028000 add rega ,10 ,contr 
-0x67b9 028002 arg mem_link_key ,contw 
-0x67ba 028003 call memcpy16 
-0x67bb 028004 branch check_link_key_load 
-:      028005 clear_key_exists:
-0x67bc 028006 jam 0 ,mem_link_key_exists 
-0x67bd 028007 rtn 
-:      028009 load_device_list_mode_4:
-0x67be 028010 fetch 9 ,mem_le_ediv 
-0x67bf 028011 branch clear_ltk_exists ,blank 
-0x67c0 028012 call nvram_find_addr_from_bd_list 
-0x67c1 028013 nbranch clear_ltk_exists ,user 
-0x67c2 028014 fetch 2 ,mem_list_item_ptr 
-0x67c3 028015 add pdata ,1 ,contr 
-0x67c4 028016 arg mem_le_irk ,contw 
-0x67c5 028017 call memcpy16 
-0x67c6 028018 arg mem_le_ltk ,contw 
-0x67c7 028019 call memcpy16 
-0x67c8 028020 jam 1 ,mem_ltk_exists 
-0x67c9 028021 rtn 
-:      028023 clear_ltk_exists:
-0x67ca 028024 jam 0 ,mem_ltk_exists 
-0x67cb 028025 rtn 
-:      028028 eeprom_store_le_reconn_info:
-0x67cc 028029 fetch 6 ,mem_le_plap 
-0x67cd 028030 store 6 ,mem_temp_lap 
-0x67ce 028031 jam rec_4_mode ,mem_record_bt_mode 
-0x67cf 028032 branch eeprom_store_reconn_info 
-:      028033 eeprom_store_bd_reconn_info:
-0x67d0 028034 fetch 6 ,mem_plap 
-0x67d1 028035 store 6 ,mem_temp_lap 
-0x67d2 028036 jam rec_3_mode ,mem_record_bt_mode 
-:      028037 eeprom_store_reconn_info:
-0x67d3 028038 fetch 1 ,mem_device_option 
-0x67d4 028039 beq dvc_op_module ,check_51cmd_update_device_record 
-0x67d5 028040 bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
-0x67d6 028041 rtn 
-:      028044 check_link_key_load:
-0x67d7 028045 fetch 8 ,mem_link_key 
-0x67d8 028046 fetcht 8 ,mem_link_key + 8 
-0x67d9 028047 ior temp ,pdata 
-0x67da 028048 rtn blank 
-0x67db 028049 jam 1 ,mem_link_key_exists 
-0x67dc 028050 rtn 
-:      028057 gpio_set_wake_by_current_state:
-0x67dd 028058 bpatchx patch33_2 ,mem_patch33 
-0x67de 028059 set1 7 ,temp 
-0x67df 028060 call gpio_get_bit 
-0x67e0 028061 nsetflag true ,7 ,temp 
-:      028066 gpio_set_wake:
-0x67e1 028067 bpatchx patch33_3 ,mem_patch33 
-0x67e2 028068 sub temp ,ui_button_gpio_disable ,null 
-0x67e3 028069 rtn zero 
-0x67e4 028070 isolate0 7 ,temp 
-0x67e5 028071 and temp ,0x1f ,queue 
-0x67e6 028072 fetch 4 ,mem_gpio_wakeup_low 
-0x67e7 028073 qsetflag true ,pdata 
-0x67e8 028074 store 4 ,mem_gpio_wakeup_low 
-0x67e9 028075 fetch 4 ,mem_gpio_wakeup_high 
-0x67ea 028076 nqsetflag true ,pdata 
-0x67eb 028077 store 4 ,mem_gpio_wakeup_high 
-0x67ec 028078 rtn 
-:      028081 gpio_clr_wake:
-0x67ed 028082 bpatchx patch33_4 ,mem_patch33 
-0x67ee 028083 sub temp ,ui_button_gpio_disable ,null 
-0x67ef 028084 rtn zero 
-0x67f0 028085 isolate0 7 ,temp 
-0x67f1 028086 and temp ,0x1f ,queue 
-0x67f2 028087 fetch 4 ,mem_gpio_wakeup_low 
-0x67f3 028088 qset0 pdata 
-0x67f4 028089 store 4 ,mem_gpio_wakeup_low 
-0x67f5 028090 fetch 4 ,mem_gpio_wakeup_high 
-0x67f6 028091 qset0 pdata 
-0x67f7 028092 store 4 ,mem_gpio_wakeup_high 
-0x67f8 028093 rtn 
-:      028096 gpio_config_input_nowake:
-0x67f9 028097 call gpio_clr_wake 
-0x67fa 028098 branch gpio_config_input_without_wake 
-:      028101 gpio_config_input:
-0x67fb 028102 sub temp ,ui_button_gpio_disable ,null 
-0x67fc 028103 rtn zero 
-0x67fd 028104 ncall gpio_set_wake ,wake 
-:      028106 gpio_config_input_without_wake:
-0x67fe 028107 arg core_gpio_pd0 ,contw 
-0x67ff 028108 call gpio_set_bit 
-0x6800 028109 setflip gpio_active_bit ,temp 
-0x6801 028110 arg core_gpio_pu0 ,contw 
-0x6802 028111 call gpio_set_bit 
-0x6803 028112 set0 gpio_active_bit ,temp 
-0x6804 028113 arg core_gpio_oe0 ,contw 
-0x6805 028114 branch gpio_set_bit 
-:      028117 gpio_set_high_impedance:
-0x6806 028118 arg core_gpio_pd0 ,contw 
-0x6807 028119 call gpio_set_bit 
-0x6808 028120 set0 gpio_active_bit ,temp 
-0x6809 028121 arg core_gpio_pu0 ,contw 
-0x680a 028122 call gpio_set_bit 
-0x680b 028123 set0 gpio_active_bit ,temp 
-0x680c 028124 arg core_gpio_oe0 ,contw 
-0x680d 028125 branch gpio_set_bit 
-:      028129 gpio_config_output:
-0x680e 028130 sub temp ,ui_button_gpio_disable ,null 
-0x680f 028131 rtn zero 
-0x6810 028132 setflip gpio_active_bit ,temp 
-0x6811 028133 call gpio_out 
-:      028134 gpio_config_output0:
-0x6812 028135 set1 gpio_active_bit ,temp 
-0x6813 028136 arg core_gpio_oe0 ,contw 
-0x6814 028137 branch gpio_set_bit 
-:      028139 gpio_common:
-0x6815 028140 and temp ,0x07 ,queue 
-0x6816 028141 rshift3 temp ,pdata 
-0x6817 028142 and_into 3 ,pdata 
-0x6818 028143 iadd contw ,contw 
-0x6819 028144 ifetch 1 ,contw 
-0x681a 028145 rtn 
-:      028147 gpio_check_active:
-0x681b 028148 arg core_gpio_out0 ,contw 
-0x681c 028149 branch get_bit_common 
-:      028153 gpio_get_bit:
-0x681d 028154 arg core_gpio_in ,contw 
-:      028155 get_bit_common:
-0x681e 028156 call gpio_common 
-0x681f 028157 isolate1 gpio_active_bit ,temp 
-0x6820 028158 branch gpio_get_bit_reverse ,true 
-0x6821 028159 qisolate0 pdata 
-0x6822 028160 rtn 
-:      028161 gpio_get_bit_reverse:
-0x6823 028162 qisolate1 pdata 
-0x6824 028163 rtn 
-:      028165 gpio_out_inactive:
-0x6825 028166 sub temp ,ui_button_gpio_disable ,null 
-0x6826 028167 rtn zero 
-0x6827 028168 isolate1 7 ,null 
-0x6828 028169 branch gpio_out_flag 
-:      028171 gpio_out_active:
-0x6829 028172 sub temp ,ui_button_gpio_disable ,null 
-0x682a 028173 rtn zero 
-0x682b 028174 isolate0 7 ,null 
-:      028177 gpio_out_flag:
-0x682c 028178 setarg 0 
-0x682d 028179 nsetflag true ,gpio_active_bit ,pdata 
-0x682e 028180 ixor temp ,temp 
-:      028183 gpio_out:
-0x682f 028184 arg core_gpio_out0 ,contw 
-:      028187 gpio_set_bit:
-0x6830 028188 call gpio_common 
-0x6831 028189 isolate1 gpio_active_bit ,temp 
-0x6832 028190 qsetflag true ,pdata 
-0x6833 028191 istore 1 ,contw 
-0x6834 028192 rtn 
-:      028194 gpio_set_before_lpm_common:
-0x6835 028195 arg -1 ,rega 
-0x6836 028196 hfetch 1 ,core_gpio_sel1 
-0x6837 028197 compare 0x02 ,pdata ,0x03 
-0x6838 028198 call neglact4_from_23_pin ,true 
-0x6839 028200 compare 0x01 ,pdata ,0x03 
-0x683a 028201 call neglact2_form_25_pin ,true 
-0x683b 028203 compare 0x03 ,pdata ,0x03 
-0x683c 028204 call neglact2_form_25_pin ,true 
-0x683d 028206 isolate1 2 ,pdata 
-0x683e 028207 call neglect2_from_6_pin ,true 
-0x683f 028209 isolate1 3 ,pdata 
-0x6840 028210 call neglect4_from_9_pin ,true 
-0x6841 028212 isolate1 4 ,pdata 
-0x6842 028213 call neglact2_form_30_pin ,true 
-0x6843 028215 isolate1 6 ,pdata 
-0x6844 028216 nsetflag true ,04 ,rega 
-0x6845 028218 isolate1 7 ,pdata 
-0x6846 028219 nsetflag true ,05 ,rega 
-0x6847 028221 hfetch 1 ,core_gpio_sel2 
-0x6848 028222 isolate1 0 ,pdata 
-0x6849 028223 nsetflag true ,27 ,rega 
-0x684a 028224 isolate1 1 ,pdata 
-0x684b 028225 nsetflag true ,28 ,rega 
-0x684c 028226 isolate1 2 ,pdata 
-0x684d 028227 nsetflag true ,03 ,rega 
-0x684e 028228 isolate1 3 ,pdata 
-0x684f 028229 nsetflag true ,08 ,rega 
-0x6850 028230 isolate1 4 ,pdata 
-0x6851 028231 nsetflag true ,20 ,rega 
-0x6852 028232 isolate1 5 ,pdata 
-0x6853 028233 nsetflag true ,21 ,rega 
-0x6854 028234 isolate1 6 ,pdata 
-0x6855 028235 nsetflag true ,22 ,rega 
-0x6856 028236 isolate1 7 ,pdata 
-0x6857 028237 nsetflag true ,23 ,rega 
-0x6858 028239 hfetch 1 ,core_gpio_sel 
-0x6859 028240 isolate1 0 ,pdata 
-0x685a 028241 nsetflag true ,05 ,rega 
-0x685b 028242 isolate1 1 ,pdata 
-0x685c 028243 nsetflag true ,06 ,rega 
-0x685d 028244 isolate1 2 ,pdata 
-0x685e 028245 nsetflag true ,07 ,rega 
-0x685f 028246 isolate1 3 ,pdata 
-0x6860 028247 nsetflag true ,18 ,rega 
-0x6861 028248 isolate1 4 ,pdata 
-0x6862 028249 nsetflag true ,19 ,rega 
-0x6863 028250 isolate1 5 ,pdata 
-0x6864 028251 nsetflag true ,20 ,rega 
-0x6865 028252 isolate1 6 ,pdata 
-0x6866 028253 nsetflag true ,21 ,rega 
-0x6867 028254 isolate1 7 ,pdata 
-0x6868 028255 nsetflag true ,22 ,rega 
-0x6869 028257 hfetch 1 ,core_uart_ctrl 
-0x686a 028258 isolate1 4 ,pdata 
-0x686b 028259 call neglact2_form_2_pin ,true 
-0x686c 028260 bpatchx patch33_5 ,mem_patch33 
-0x686d 028262 hfetch 4 ,core_gpio_pu0 
-0x686e 028263 hfetcht 4 ,core_gpio_pd0 
-0x686f 028264 ior temp ,pdata 
-0x6870 028265 invert pdata ,pdata 
-0x6871 028266 iand rega ,pdata 
-0x6872 028268 hstore 4 ,core_gpio_oe0 
-0x6873 028269 rtn 
-:      028272 neglect2_from_6_pin:
-0x6874 028273 arg 6 ,queue 
-0x6875 028274 branch neglect_2_pin 
-:      028275 neglect4_from_9_pin:
-0x6876 028276 arg 9 ,queue 
-0x6877 028277 branch neglact_4_pin 
-:      028278 neglact4_from_23_pin:
-0x6878 028279 arg 23 ,queue 
-0x6879 028280 branch neglact_4_pin 
-:      028281 neglact2_form_25_pin:
-0x687a 028282 arg 25 ,queue 
-0x687b 028283 branch neglect_2_pin 
-:      028284 neglact2_form_30_pin:
-0x687c 028285 arg 30 ,queue 
-0x687d 028286 branch neglect_2_pin 
-:      028287 neglact2_form_2_pin:
-0x687e 028288 arg 2 ,queue 
-0x687f 028289 branch neglect_2_pin 
-:      028290 neglact_1_pin:
-0x6880 028291 arg 1 ,loopcnt 
-0x6881 028292 branch neglect_pin_loop 
-:      028293 neglact_4_pin:
-0x6882 028294 arg 4 ,loopcnt 
-0x6883 028295 branch neglect_pin_loop 
-:      028296 neglect_2_pin:
-0x6884 028297 arg 2 ,loopcnt 
-:      028298 neglect_pin_loop:
-0x6885 028299 qset0 rega 
-0x6886 028300 increase 1 ,queue 
-0x6887 028301 loop neglect_pin_loop 
-0x6888 028302 rtn 
-:      028310 gpio_cfg_uart_tx_output:
-0x6889 028311 call gpio_uart2gpio 
-0x688a 028312 arg uart_wakeup_tx ,temp 
-0x688b 028313 branch gpio_config_output 
-:      028315 gpio_pu_uart_tx:
-0x688c 028316 call gpio_cfg_uart_tx_output 
-0x688d 028317 arg uart_wakeup_tx ,temp 
-0x688e 028318 branch gpio_out_inactive 
-:      028322 gpio_rx_config_input_with_pu:
-0x688f 028323 call gpio_uart2gpio 
-0x6890 028324 hfetch 1 ,core_gpio_pu0 
-0x6891 028325 set1 uart_wakeup_rx ,pdata 
-0x6892 028326 hstore 1 ,core_gpio_pu0 
-0x6893 028327 arg uart_wakeup_rx ,temp 
-0x6894 028328 branch gpio_config_input 
-:      028330 gpio_uart2gpio:
-0x6895 028331 hfetch 1 ,core_gpio_sel1 
-0x6896 028332 and_into 0xfb ,pdata 
-0x6897 028333 hstore 1 ,core_gpio_sel1 
-0x6898 028334 rtn 
-:      028336 gpio_check_uart_state:
-0x6899 028337 hfetch 1 ,core_gpio_sel1 
-0x689a 028338 isolate1 2 ,pdata 
-0x689b 028339 rtn 
-:      028341 load_chip_option:
-0x689c 028342 call otp_enable_chgpump 
-0x689d 028343 setarg otp_chip_functions 
-0x689e 028344 arg mem_chip_functions ,rega 
-0x689f 028345 arg 0x02 ,temp 
-0x68a0 028346 call otpd_read_data 
-0x68a1 028347 branch otp_disable_chgpump 
-:      028350 load_adc_init:
-0x68a2 028351 call otp_enable_chgpump 
-0x68a3 028352 setarg otp_adc_io_0_5v_addr 
-0x68a4 028353 arg mem_0_5_adc_io_data ,rega 
-0x68a5 028354 arg 14 ,temp 
-0x68a6 028355 call otpd_read_data 
-0x68a7 028356 branch otp_disable_chgpump 
-:      028360 adc_init_data:
-0x68a8 028361 bpatchx patch33_6 ,mem_patch33 
-0x68a9 028363 call load_adc_init 
-0x68aa 028365 fetch 1 ,mem_adc_config_flag 
-0x68ab 028366 beq adc_config_vinlpm ,adc_init_data_vinlpm 
-0x68ac 028367 beq adc_config_hvin ,adc_init_data_hvin 
-0x68ad 028368 beq adc_config_gpio ,adc_init_data_io 
-0x68ae 028369 rtn 
-:      028371 adc_init_data_vinlpm:
-0x68af 028372 fetcht 2 ,mem_otp_adc_flag 
-0x68b0 028373 setarg otp_adc_flag 
-0x68b1 028374 isub temp ,null 
-0x68b2 028375 branch adc_check_data_vinlpm ,zero 
-0x68b3 028376 setarg 0x4dfa 
-0x68b4 028377 store 2 ,mem_3v_adc_vinlpm_data 
-0x68b5 028378 setarg 0x4894 
-0x68b6 028379 store 2 ,mem_2v_adc_vinlpm_data 
-0x68b7 028380 branch set_vdd_reference_voltage_1v 
-:      028382 adc_check_data_vinlpm:
-0x68b8 028383 fetch 2 ,mem_3v_adc_vinlpm_data 
-0x68b9 028384 nbranch adc_check_2v_vinlpm ,blank 
-0x68ba 028385 setarg 0x4dfa 
-0x68bb 028386 store 2 ,mem_3v_adc_vinlpm_data 
-:      028387 adc_check_2v_vinlpm:
-0x68bc 028388 fetch 2 ,mem_2v_adc_vinlpm_data 
-0x68bd 028389 nbranch set_vdd_reference_voltage_1v ,blank 
-0x68be 028390 setarg 0x4894 
-0x68bf 028391 store 2 ,mem_2v_adc_vinlpm_data 
-:      028392 set_vdd_reference_voltage_1v:
-0x68c0 028393 setarg 100 
-0x68c1 028394 store 2 ,mem_reference_voltage 
-0x68c2 028395 rtn 
-:      028397 adc_init_data_hvin:
-0x68c3 028398 fetcht 2 ,mem_otp_adc_flag 
-0x68c4 028399 setarg otp_adc_flag 
-0x68c5 028400 isub temp ,null 
-0x68c6 028401 branch adc_check_data_hvin ,zero 
-0x68c7 028402 setarg 0x5932 
-0x68c8 028403 store 2 ,mem_5v_adc_hvin_data 
-0x68c9 028404 setarg 0x4323 
-0x68ca 028405 store 2 ,mem_1v_adc_hvin_data 
-0x68cb 028406 branch set_vdd_reference_voltage_4v 
-:      028408 adc_check_data_hvin:
-0x68cc 028409 fetch 2 ,mem_5v_adc_hvin_data 
-0x68cd 028410 nbranch adc_check_1v_hvin ,blank 
-0x68ce 028411 setarg 0x5932 
-0x68cf 028412 store 2 ,mem_5v_adc_hvin_data 
-:      028413 adc_check_1v_hvin:
-0x68d0 028414 fetch 2 ,mem_1v_adc_hvin_data 
-0x68d1 028415 nbranch set_vdd_reference_voltage_4v ,blank 
-0x68d2 028416 setarg 0x4323 
-0x68d3 028417 store 2 ,mem_1v_adc_hvin_data 
-:      028418 set_vdd_reference_voltage_4v:
-0x68d4 028419 setarg 400 
-0x68d5 028420 store 2 ,mem_reference_voltage 
-0x68d6 028421 rtn 
-:      028423 adc_init_data_io:
-0x68d7 028424 fetcht 2 ,mem_otp_adc_flag 
-0x68d8 028425 setarg otp_adc_flag 
-0x68d9 028426 isub temp ,null 
-0x68da 028427 branch adc_check_data_io ,zero 
-0x68db 028428 setarg 0x6946 
-0x68dc 028429 store 2 ,mem_1v_adc_io_data 
-0x68dd 028430 setarg 0x5377 
-0x68de 028431 store 2 ,mem_0_5_adc_io_data 
-0x68df 028432 branch set_vdd_reference_voltage_0_5v 
-:      028434 adc_check_data_io:
-0x68e0 028435 fetch 2 ,mem_1v_adc_io_data 
-0x68e1 028436 nbranch adc_check_0_5v_io ,blank 
-0x68e2 028437 setarg 0x6946 
-0x68e3 028438 store 2 ,mem_1v_adc_io_data 
-:      028439 adc_check_0_5v_io:
-0x68e4 028440 fetch 2 ,mem_0_5_adc_io_data 
-0x68e5 028441 nbranch set_vdd_reference_voltage_0_5v ,blank 
-0x68e6 028442 setarg 0x5377 
-0x68e7 028443 store 2 ,mem_0_5_adc_io_data 
-:      028444 set_vdd_reference_voltage_0_5v:
-0x68e8 028445 setarg 50 
-0x68e9 028446 store 2 ,mem_reference_voltage 
-0x68ea 028447 rtn 
-:      028450 adc_set_mode:
-0x68eb 028451 fetch 1 ,mem_adc_config_flag 
-0x68ec 028452 beq adc_config_vinlpm ,adc_check_vinlpm 
-0x68ed 028453 beq adc_config_hvin ,adc_check_hvin 
-0x68ee 028454 beq adc_config_gpio ,adc_check_gpio 
-0x68ef 028455 rtn 
-:      028456 adc_check_vinlpm:
-0x68f0 028457 jam 0xbf ,rf_adc_mode 
-0x68f1 028458 branch read_adc 
-:      028459 adc_check_hvin:
-0x68f2 028460 jam 0xaf ,rf_adc_mode 
-0x68f3 028461 branch read_adc 
-:      028462 adc_check_gpio:
-0x68f4 028463 jam 0x8f ,rf_adc_mode 
-0x68f5 028464 fetch 1 ,mem_adc_channel 
-0x68f6 028465 hstore 1 ,rf_adc_ch 
-0x68f7 028466 branch read_adc 
-:      028467 read_adc:
-0x68f8 028468 bpatchx patch33_7 ,mem_patch33 
-0x68f9 028469 hfetch 1 ,core_uart_baud + 1 
-0x68fa 028470 set1 7 ,pdata 
-0x68fb 028471 hstore 1 ,core_uart_baud + 1 
-0x68fc 028472 hfetch 1 ,rf_adc_ch 
-0x68fd 028473 or_into 0x30 ,pdata 
-0x68fe 028474 hstore 1 ,rf_adc_ch 
-0x68ff 028475 jam 0x7c ,rfen_adc 
-0x6900 028476 jam 0xaa ,rf_adc_gc 
-0x6901 028477 nop 5000 
-0x6902 028478 hfetcht 2 ,core_adc_sum 
-0x6903 028479 hfetch 1 ,core_uart_baud + 1 
-0x6904 028480 set0 7 ,pdata 
-0x6905 028481 hstore 1 ,core_uart_baud + 1 
-0x6906 028482 storet 2 ,mem_adc_current_value 
-0x6907 028483 rtn 
-:      028485 vdd_calculate_by_mode:
-0x6908 028486 bpatchx patch34_0 ,mem_patch34 
-0x6909 028487 fetch 1 ,mem_adc_config_flag 
-0x690a 028488 beq adc_config_vinlpm ,vdd_calculate_vinlpm 
-0x690b 028489 beq adc_config_hvin ,vdd_calculate_hvin 
-0x690c 028490 beq adc_config_gpio ,vdd_calculate_io 
-0x690d 028491 rtn 
-:      028493 vdd_calculate_vinlpm:
-0x690e 028494 fetch 2 ,mem_3v_adc_vinlpm_data 
-0x690f 028495 fetcht 2 ,mem_2v_adc_vinlpm_data 
-0x6910 028496 arg 200 ,regc 
-0x6911 028497 branch vdd_calculate 
-:      028499 vdd_calculate_hvin:
-0x6912 028500 fetch 2 ,mem_5v_adc_hvin_data 
-0x6913 028501 fetcht 2 ,mem_1v_adc_hvin_data 
-0x6914 028502 arg 100 ,regc 
-0x6915 028503 branch vdd_calculate 
-:      028505 vdd_calculate_io:
-0x6916 028506 fetch 2 ,mem_1v_adc_io_data 
-0x6917 028507 fetcht 2 ,mem_0_5_adc_io_data 
-0x6918 028508 arg 50 ,regc 
-0x6919 028509 branch vdd_calculate 
-:      028511 vdd_calculate:
-0x691a 028512 isub temp ,rega 
-0x691b 028513 fetch 2 ,mem_adc_current_value 
-0x691c 028514 isub temp ,pdata 
-0x691d 028515 nbranch vdd_calculate1 ,positive 
-0x691e 028516 fetcht 2 ,mem_reference_voltage 
-0x691f 028517 imul32 temp ,regb 
-0x6920 028518 copy regc ,pdata 
-0x6921 028519 imul32 rega ,pdata 
-0x6922 028520 iadd regb ,pdata 
-:      028521 vdd_calculate2:
-0x6923 028522 idiv rega 
-0x6924 028523 call wait_div_end 
-0x6925 028524 quotient pdata 
-0x6926 028525 rtn 
-:      028527 vdd_calculate1:
-0x6927 028528 copy temp ,pdata 
-0x6928 028529 fetcht 2 ,mem_adc_current_value 
-0x6929 028530 isub temp ,pdata 
-0x692a 028531 fetcht 2 ,mem_reference_voltage 
-0x692b 028532 imul32 temp ,regb 
-0x692c 028533 copy regc ,pdata 
-0x692d 028534 imul32 rega ,pdata 
-0x692e 028535 isub regb ,pdata 
-0x692f 028536 branch vdd_calculate2 
-:      028547 adc_bat_percent_lowpower_out:
-0x6930 028548 ifetch 8 ,rega 
-0x6931 028549 store 8 ,mem_pdatatemp 
-0x6932 028550 fetch 2 ,mem_pdatatemp 
-0x6933 028551 fetcht 2 ,mem_pdatatemp + 2 
-0x6934 028552 isub temp ,rega 
-0x6935 028553 fetch 2 ,mem_pdatatemp + 6 
-0x6936 028554 isub temp ,regb 
-0x6937 028555 fetcht 2 ,mem_pdatatemp + 4 
-0x6938 028556 isub temp ,null 
-0x6939 028557 ncall adc_set_low_power_flag ,positive 
-0x693a 028558 mul32 regb ,100 ,pdata 
-0x693b 028559 idiv rega 
-0x693c 028560 call wait_div_end 
-0x693d 028561 quotient pdata 
-0x693e 028562 call adc_set_no_power_flag ,blank 
-0x693f 028563 rtn 
-:      028564 adc_set_low_power_flag:
-0x6940 028565 fetch 1 ,mem_adc_power_flag 
-0x6941 028566 set1 0 ,pdata 
-0x6942 028567 store 1 ,mem_adc_power_flag 
-0x6943 028568 rtn 
-:      028569 adc_set_no_power_flag:
-0x6944 028570 fetcht 1 ,mem_adc_power_flag 
-0x6945 028571 set1 1 ,temp 
-0x6946 028572 storet 1 ,mem_adc_power_flag 
-0x6947 028573 rtn 
-:      028578 keyscan_key_init:
-0x6948 028579 fetch 2 ,mem_key_num_ptr 
-0x6949 028580 ifetch 1 ,pdata 
-:      028581 keyscan_key_init_next:
-0x694a 028582 rtn blank 
-0x694b 028583 copy pdata ,loopcnt 
-0x694c 028585 fetch 2 ,mem_keyscan_ptr 
-0x694d 028586 increase 3 ,pdata 
-0x694e 028587 copy pdata ,rega 
-:      028588 keyscan_key_init_lp1:
-0x694f 028589 ifetcht 1 ,rega 
-0x6950 028590 call gpio_config_input 
-0x6951 028591 increase key_conf_struct_len ,rega 
-0x6952 028592 loop keyscan_key_init_lp1 
-:      028593 keyscan_key_init_end:
-0x6953 028594 rtn 
-:      028596 keyscan_scan_key:
-0x6954 028597 fetch 2 ,mem_keyscan_ptr 
-0x6955 028598 increase 3 ,pdata 
-0x6956 028599 copy pdata ,rega 
-0x6957 028601 force 0 ,regb 
-0x6958 028602 jam 0 ,mem_key_value_temp 
-:      028603 keyscan_scan_key_lp1:
-0x6959 028604 ifetcht 1 ,rega 
-0x695a 028605 call gpio_get_bit 
-0x695b 028606 bpatchx patch34_1 ,mem_patch34 
-0x695c 028607 fetch 2 ,mem_key_value_temp 
-0x695d 028608 copy regb ,queue 
-0x695e 028609 qsetflag true ,pdata 
-0x695f 028610 store 2 ,mem_key_value_temp 
-0x6960 028611 increase key_conf_struct_len ,rega 
-0x6961 028612 increase 1 ,regb 
-0x6962 028613 fetch 2 ,mem_key_num_ptr 
-0x6963 028614 ifetch 1 ,pdata 
-:      028615 keyscan_scan_key_lp1_next:
-0x6964 028616 ixor regb ,null 
-0x6965 028617 nbranch keyscan_scan_key_lp1 ,zero 
-0x6966 028618 fetch 2 ,mem_key_value_temp 
-0x6967 028619 fetcht 2 ,mem_key_value 
-0x6968 028620 ixor temp ,null 
-0x6969 028621 rtn zero 
-0x696a 028622 enable user 
-0x696b 028623 rtn 
-:      028625 keyscan_process_lpm_before:
-0x696c 028626 fetch 2 ,mem_key_num_ptr 
-0x696d 028627 ifetch 1 ,pdata 
-:      028628 keyscan_process_lpm_before_next:
-0x696e 028629 rtn blank 
-0x696f 028630 copy pdata ,loopcnt 
-0x6970 028631 fetch 2 ,mem_keyscan_ptr 
-0x6971 028632 increase 3 ,pdata 
-0x6972 028633 copy pdata ,rega 
-:      028634 keyscan_process_lpm_before_lp1:
-0x6973 028635 ifetcht 1 ,rega 
-0x6974 028636 call gpio_set_wake_by_current_state 
-0x6975 028637 increase key_conf_struct_len ,rega 
-0x6976 028638 loop keyscan_process_lpm_before_lp1 
-:      028639 keyscan_process_lpm_before_end:
-0x6977 028640 rtn 
-:      028642 keyscan_key_process:
-0x6978 028643 arg key_scan_timer ,queue 
-0x6979 028644 call timer_check 
-0x697a 028645 nrtn blank 
-0x697b 028646 setarg 0x20 
-0x697c 028647 arg key_scan_timer ,queue 
-0x697d 028648 call timer_init 
-0x697e 028649 disable user 
-0x697f 028650 call keyscan_process_lpm_before 
-0x6980 028651 bpatchx patch34_2 ,mem_patch34 
-0x6981 028652 fetch 2 ,mem_key_num_ptr 
-0x6982 028653 ifetch 1 ,pdata 
-:      028654 keyscan_key_process_next:
-0x6983 028655 rtn blank 
-0x6984 028656 call keyscan_scan_key 
-0x6985 028657 nbranch lpm_button_clean_wake_lock ,user 
-0x6986 028658 call lpm_button_get_wake_lock 
-0x6987 028659 disable user 
-0x6988 028660 fetch 2 ,mem_key_value_temp 
-0x6989 028661 store 2 ,mem_key_value_temp4 
-0x698a 028662 jam 0 ,mem_key_value_temp6 
-0x698b 028663 force 0 ,queue 
-:      028664 keyscan_key_lp1:
-0x698c 028665 fetch 2 ,mem_key_value 
-0x698d 028666 rshift pdata ,temp 
-0x698e 028667 storet 2 ,mem_key_value 
-0x698f 028668 and pdata ,0x01 ,pdata 
-0x6990 028669 fetcht 2 ,mem_key_value_temp4 
-0x6991 028670 and temp ,0x01 ,rega 
-0x6992 028671 rshift temp ,temp 
-0x6993 028672 storet 2 ,mem_key_value_temp4 
-0x6994 028673 ixor rega ,null 
-0x6995 028674 ncall keyscan_send_key_data ,zero 
-0x6996 028675 fetch 2 ,mem_key_num_ptr 
-0x6997 028676 ifetch 1 ,pdata 
-:      028677 keyscan_key_lp1_next:
-0x6998 028678 fetcht 1 ,mem_key_value_temp6 
-0x6999 028679 increase 1 ,temp 
-0x699a 028680 storet 1 ,mem_key_value_temp6 
-0x699b 028681 copy temp ,queue 
-0x699c 028682 ixor queue ,null 
-0x699d 028683 nbranch keyscan_key_lp1 ,zero 
-0x699e 028684 fetch 2 ,mem_key_value_temp 
-0x699f 028685 store 2 ,mem_key_value 
-0x69a0 028686 rtn 
-:      028687 keyscan_send_key_data:
-0x69a1 028688 bpatchx patch34_3 ,mem_patch34 
-0x69a2 028689 fetch 2 ,mem_keyscan_ptr 
-0x69a3 028690 increase 1 ,pdata 
-0x69a4 028691 ifetch 2 ,pdata 
-0x69a5 028692 branch callback_func 
-:      028703 pwm_init:
-0x69a6 028704 hfetch 1 ,core_clksel 
-0x69a7 028705 ior rega ,pdata 
-0x69a8 028706 hstore 1 ,core_clksel 
-0x69a9 028707 hfetch 2 ,core_clkoff 
-0x69aa 028708 set0 clock_off_pwm ,pdata 
-0x69ab 028709 hstore 2 ,core_clkoff 
-:      028710 delay_nop100:
-0x69ac 028711 nop 100 
-0x69ad 028712 rtn 
-:      028723 pwm_out_set:
-0x69ae 028724 fetcht 3 ,mem_pdatatemp + 2 
-0x69af 028725 setarg pwm_12mhz 
-0x69b0 028726 idiv temp 
-0x69b1 028727 call wait_div_end 
-0x69b2 028728 quotient temp 
-0x69b3 028729 fetch 1 ,mem_pdatatemp + 5 
-0x69b4 028730 imul32 temp ,pdata 
-0x69b5 028731 div pdata ,100 
-0x69b6 028732 call wait_div_end 
-0x69b7 028733 quotient rega 
-0x69b8 028734 copy temp ,pdata 
-0x69b9 028735 isub rega ,regb 
-0x69ba 028736 fetch 1 ,mem_pdatatemp + 1 
-0x69bb 028737 call pwm_duty_cycle_set 
-0x69bc 028738 fetch 1 ,mem_pdatatemp 
-0x69bd 028739 branch pwm_enable 
-:      028742 pwm_duty_cycle_set:
-0x69be 028743 beq 0 ,pwm_pwm0_duty_set 
-0x69bf 028744 beq 1 ,pwm_pwm1_duty_set 
-0x69c0 028745 beq 2 ,pwm_pwm2_duty_set 
-0x69c1 028746 beq 3 ,pwm_pwm3_duty_set 
-0x69c2 028747 beq 4 ,pwm_pwm4_duty_set 
-0x69c3 028748 beq 5 ,pwm_pwm5_duty_set 
-:      028749 pwm_pwm0_duty_set:
-0x69c4 028750 arg core_pwm_pcnt0 ,contw 
-0x69c5 028751 branch pwm_set_pncnt 
-:      028752 pwm_pwm1_duty_set:
-0x69c6 028753 arg core_pwm_pcnt1 ,contw 
-0x69c7 028754 branch pwm_set_pncnt 
-:      028755 pwm_pwm2_duty_set:
-0x69c8 028756 arg core_pwm_pcnt2 ,contw 
-0x69c9 028757 branch pwm_set_pncnt 
-:      028758 pwm_pwm3_duty_set:
-0x69ca 028759 arg core_pwm_pcnt3 ,contw 
-0x69cb 028760 branch pwm_set_pncnt 
-:      028761 pwm_pwm4_duty_set:
-0x69cc 028762 arg core_pwm_pcnt4 ,contw 
-0x69cd 028763 branch pwm_set_pncnt 
-:      028764 pwm_pwm5_duty_set:
-0x69ce 028765 arg core_pwm_pcnt5 ,contw 
-0x69cf 028766 branch pwm_set_pncnt 
-:      028767 pwm_set_pncnt:
-0x69d0 028768 copy rega ,pdata 
-0x69d1 028769 istore 2 ,contw 
-0x69d2 028770 copy regb ,pdata 
-0x69d3 028771 istore 2 ,contw 
-0x69d4 028772 rtn 
-:      028776 pwm_enable:
-0x69d5 028777 enable user 
-0x69d6 028778 branch pwm_gpio_set 
-:      028779 pwm_disable:
-0x69d7 028780 disable user 
-:      028781 pwm_gpio_set:
-0x69d8 028782 beq 4 ,pwm_gpio4_set 
-0x69d9 028783 beq 5 ,pwm_gpio5_set 
-0x69da 028784 beq 27 ,pwm_gpio27_set 
-0x69db 028785 beq 28 ,pwm_gpio28_set 
-0x69dc 028786 beq 3 ,pwm_gpio3_set 
-0x69dd 028787 beq 8 ,pwm_gpio8_set 
-0x69de 028788 beq 20 ,pwm_gpio20_set 
-0x69df 028789 beq 21 ,pwm_gpio21_set 
-0x69e0 028790 beq 22 ,pwm_gpio22_set 
-0x69e1 028791 beq 23 ,pwm_gpio23_set 
-0x69e2 028792 rtn 
-:      028795 pwm_gpio4_set:
-0x69e3 028796 arg 6 ,queue 
-0x69e4 028797 branch pwm_one_set_select 
-:      028798 pwm_gpio5_set:
-0x69e5 028799 arg 7 ,queue 
-0x69e6 028800 branch pwm_one_set_select 
-:      028801 pwm_gpio27_set:
-0x69e7 028802 arg 8 ,queue 
-0x69e8 028803 branch pwm_one_set_select 
-:      028804 pwm_gpio28_set:
-0x69e9 028805 arg 9 ,queue 
-0x69ea 028806 branch pwm_one_set_select 
-:      028807 pwm_gpio3_set:
-0x69eb 028808 arg 10 ,queue 
-0x69ec 028809 branch pwm_one_set_select 
-:      028810 pwm_gpio8_set:
-0x69ed 028811 arg 11 ,queue 
-0x69ee 028812 branch pwm_one_set_select 
-:      028813 pwm_gpio20_set:
-0x69ef 028814 arg 12 ,queue 
-0x69f0 028815 branch pwm_tw0_set_select 
-:      028816 pwm_gpio21_set:
-0x69f1 028817 arg 13 ,queue 
-0x69f2 028818 branch pwm_tw0_set_select 
-:      028819 pwm_gpio22_set:
-0x69f3 028820 arg 14 ,queue 
-0x69f4 028821 branch pwm_tw0_set_select 
-:      028822 pwm_gpio23_set:
-0x69f5 028823 arg 15 ,queue 
-0x69f6 028824 branch pwm_tw0_set_select 
-:      028826 pwm_set_select:
-0x69f7 028827 hfetch 2 ,core_gpio_sel1 
-0x69f8 028828 qsetflag user ,pdata 
-0x69f9 028829 hstore 2 ,core_gpio_sel1 
-0x69fa 028830 copy rega ,queue 
-0x69fb 028831 hfetch 1 ,core_gpio_key2 
-0x69fc 028832 qsetflag user ,pdata 
-0x69fd 028833 hstore 1 ,core_gpio_key2 
-0x69fe 028834 rtn 
-:      028836 pwm_one_set_select:
-0x69ff 028837 add queue ,-4 ,rega 
-0x6a00 028838 branch pwm_set_select 
-:      028840 pwm_tw0_set_select:
-0x6a01 028841 add queue ,-10 ,rega 
-0x6a02 028842 branch pwm_set_select 
-:      028847 rfcomm_init:
-0x6a03 028848 rtn wake 
-0x6a04 028849 jam 0 ,mem_rfcomm_send_more_pkt 
-0x6a05 028850 jam bits9600 ,memremoterpnbitrate 
-0x6a06 028851 jam databits8 ,memremoteprndatabits 
-0x6a07 028852 jam 0x11 ,memremoteprnxon 
-0x6a08 028853 jam 0x13 ,memremoteprnxoff 
-0x6a09 028854 setarg 0 
-0x6a0a 028855 store 3 ,memremoteprnstopbit 
-0x6a0b 028856 store 1 ,mem_spp_state 
-0x6a0c 028857 jam 0 ,memui_reconnect_mode 
-:      028859 rfcomm_init_spp:
-0x6a0d 028860 bpatchx patch34_4 ,mem_patch34 
-0x6a0e 028861 setarg 0 
-0x6a0f 028862 store 1 ,mem_spp_state 
-0x6a10 028863 store 1 ,mem_remote_spp_channel 
-0x6a11 028864 store 1 ,mem_pn_dlci 
-0x6a12 028865 fetch 1 ,mem_credit_flag 
-0x6a13 028866 beq credit_enable ,rfcomm_init_spp_with_credit 
-0x6a14 028867 jam 0x50 ,mem_credit_given 
-0x6a15 028868 rtn 
-:      028870 rfcomm_init_spp_with_credit:
-0x6a16 028871 jam 0x00 ,mem_credit_given 
-0x6a17 028872 rtn 
-:      028874 set_cr_bit:
-0x6a18 028875 or_into 0x02 ,temp 
-0x6a19 028876 rtn 
-:      028888 rfcomm_calculate_fcs_sabm:
-0x6a1a 028889 copy temp ,pdata 
-0x6a1b 028890 reverse pdata ,pdata 
-0x6a1c 028891 store 1 ,memfcstemp3 
-0x6a1d 028892 force ini_tx_sabm ,pdata 
-0x6a1e 028893 reverse pdata ,pdata 
-0x6a1f 028894 store 1 ,memfcstemp2 
-0x6a20 028895 force 0x01 ,pdata 
-0x6a21 028896 reverse pdata ,pdata 
-0x6a22 028897 store 1 ,memfcstemp1 
-0x6a23 028898 call caculate_fcs 
-0x6a24 028899 copy temp ,pdata 
-0x6a25 028900 rtn 
-:      028901 rfcomm_calculate_fcs_ua:
-0x6a26 028902 reverse pdata ,pdata 
-0x6a27 028903 store 1 ,memfcstemp3 
-0x6a28 028904 force rsp_tx_ua ,pdata 
-0x6a29 028905 reverse pdata ,pdata 
-0x6a2a 028906 store 1 ,memfcstemp2 
-0x6a2b 028907 force 0x01 ,pdata 
-0x6a2c 028908 reverse pdata ,pdata 
-0x6a2d 028909 store 1 ,memfcstemp1 
-0x6a2e 028910 branch caculate_fcs 
-:      028912 rfcomm_calculate_fcs_dlci0:
-0x6a2f 028913 fetch 1 ,mem_rfcomm_initiator 
-0x6a30 028914 branch rfcomm_calculate_fcs_dlci0_res ,blank 
-0x6a31 028915 setarg 0x70 
-0x6a32 028916 rtn 
-:      028917 rfcomm_calculate_fcs_dlci0_res:
-0x6a33 028918 setarg 0xaa 
-0x6a34 028919 rtn 
-:      028921 rfcomm_save_fcs_uih:
-0x6a35 028922 reverse pdata ,pdata 
-0x6a36 028923 store 1 ,memfcstemp3 
-0x6a37 028924 force rsp_rx_uih ,pdata 
-0x6a38 028925 call caculate_uihdata_fcs 
-0x6a39 028926 fetcht 2 ,mem_contw_temp 
-0x6a3a 028927 copy temp ,contw 
-0x6a3b 028928 istore 1 ,contw 
-0x6a3c 028929 copy contw ,temp 
-0x6a3d 028930 storet 2 ,mem_contw_temp 
-0x6a3e 028931 force rsp_rx_uih_wdata ,pdata 
-0x6a3f 028932 call caculate_uihdata_fcs 
-0x6a40 028933 fetcht 2 ,mem_contw_temp 
-0x6a41 028934 copy temp ,contw 
-0x6a42 028935 istore 1 ,contw 
-0x6a43 028936 rtn 
-:      028945 caculate_uihdata_fcs:
-0x6a44 028946 reverse pdata ,pdata 
-0x6a45 028947 store 1 ,memfcstemp2 
-0x6a46 028948 fetch 2 ,memfcstemp2 
-0x6a47 028949 lshift8 pdata ,pdata 
-0x6a48 028950 store 3 ,mem_mod2div_temp 
-0x6a49 028951 arg 0x107 ,rega 
-0x6a4a 028952 arg 0xf ,regb 
-0x6a4b 028953 call mod2div 
-0x6a4c 028954 xor_into 0xd7 ,pdata 
-0x6a4d 028955 invert pdata ,pdata 
-0x6a4e 028956 reverse pdata ,pdata 
-0x6a4f 028957 rtn 
-:      028967 caculate_fcs:
-0x6a50 028968 fetch 3 ,memfcstemp1 
-0x6a51 028969 store 3 ,mem_mod2div_temp 
-0x6a52 028970 arg 0x107 ,rega 
-0x6a53 028971 arg 0xf ,regb 
-0x6a54 028972 call mod2div 
-0x6a55 028973 lshift8 pdata ,pdata 
-0x6a56 028974 arg 0x7 ,regb 
-0x6a57 028975 call mod2div 
-0x6a58 028976 xor_into 0x2b ,pdata 
-0x6a59 028977 invert pdata ,pdata 
-0x6a5a 028978 reverse pdata ,pdata 
-0x6a5b 028979 copy pdata ,temp 
-0x6a5c 028980 rtn 
-:      028982 mod2div:
-0x6a5d 028983 arg 0 ,regc 
-0x6a5e 028984 copy regb ,loopcnt 
-0x6a5f 028985 call right_shift_n 
-0x6a60 028986 icopy temp 
-:      028987 mod2div_loop:
-0x6a61 028992 copy temp ,pdata 
-0x6a62 028993 lshift regc ,regc 
-0x6a63 028994 bbit0 8 ,mod2div_not_enough_reduction 
-0x6a64 028995 ixor rega ,temp 
-0x6a65 028996 increase 1 ,regc 
-:      028997 mod2div_not_enough_reduction:
-0x6a66 028998 lshift temp ,temp 
-0x6a67 028999 fetch 3 ,mem_mod2div_temp 
-0x6a68 029000 increase -1 ,regb 
-0x6a69 029001 compare 0xff ,regb ,0xff 
-0x6a6a 029002 branch mod2div_end ,true 
-0x6a6b 029003 copy regb ,loopcnt 
-0x6a6c 029004 call right_shift_n 
-0x6a6d 029005 isolate1 0 ,pdata 
-0x6a6e 029006 setflag true ,0 ,temp 
-0x6a6f 029007 branch mod2div_loop 
-:      029008 mod2div_end:
-0x6a70 029010 rshift temp ,pdata 
-0x6a71 029011 rtn 
-:      029013 get_rfcomm_snd_adss:
-0x6a72 029014 fetcht 1 ,mem_pn_dlci 
-:      029015 dlci_to_address_cmd:
-0x6a73 029017 lshift2 temp ,temp 
-0x6a74 029018 set1 rfcomm_address_ext_len ,temp 
-0x6a75 029019 fetch 1 ,mem_rfcomm_initiator 
-0x6a76 029020 ncall set_cr_bit ,blank 
-0x6a77 029021 storet 1 ,mem_rfcomm_send_adss 
-0x6a78 029022 rtn 
-:      029024 channel_to_dlci:
-0x6a79 029026 lshift temp ,temp 
-0x6a7a 029027 fetch 1 ,mem_rfcomm_initiator 
-0x6a7b 029028 setflag blank ,0 ,temp 
-0x6a7c 029030 rtn 
-:      029031 rfcomm_rx_process_dlci0_sabm:
-0x6a7d 029032 fetcht 1 ,mem_current_channel 
-0x6a7e 029033 jam 0xd7 ,mem_current_fcs 
-0x6a7f 029034 call rfcomm_send_ua 
-0x6a80 029035 fetch 1 ,mem_rfcomm_state 
-0x6a81 029036 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
-0x6a82 029037 set1 l2cap_channel_rfcomm_only_ua ,pdata 
-0x6a83 029038 store 1 ,mem_rfcomm_state 
-0x6a84 029039 jam 0 ,mem_rfcomm_initiator 
-0x6a85 029040 branch rfcomm_rx_process_end 
-:      029041 rfcomm_rx_process_dlci0_ua:
-0x6a86 029042 fetch 1 ,mem_rfcomm_state 
-0x6a87 029043 set1 l2cap_channel_rfcomm_only_ua ,pdata 
-0x6a88 029044 store 1 ,mem_rfcomm_state 
-0x6a89 029045 branch rfcomm_rx_process_end 
-:      029048 rfcomm_rx_process:
-0x6a8a 029049 bpatchx patch34_5 ,mem_patch34 
-0x6a8b 029050 fetch 1 ,memui_reconnect_mode 
-0x6a8c 029051 beq no_reconnection ,rfcomm_rx_process_remote_page 
-0x6a8d 029052 branch rfcomm_rx_process_reconn 
-:      029054 rfcomm_rx_process_remote_page:
-0x6a8e 029055 fetch 2 ,mem_l2cap_payload_ptr 
-0x6a8f 029056 copy pdata ,contr 
-0x6a90 029057 call get_rfcomm_head_struct 
-0x6a91 029058 fetch 1 ,mem_current_channel 
-0x6a92 029059 beq 0 ,parse_dlci0_rp 
-0x6a93 029060 branch parse_uih_rp 
-:      029061 parse_dlci0_rp:
-0x6a94 029062 bpatchx patch34_6 ,mem_patch34 
-0x6a95 029063 fetch 1 ,mem_current_frame_type 
-0x6a96 029064 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
-0x6a97 029065 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
-0x6a98 029066 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
-0x6a99 029067 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
-0x6a9a 029068 rtn 
-:      029071 parse_dlci0_rp_uih:
-0x6a9b 029072 fetch 2 ,mem_rfcomm_uih_payload_ptr 
-0x6a9c 029073 copy pdata ,contr 
-0x6a9d 029074 call get_rfcomm_uih_head_struct 
-0x6a9e 029075 fetch 1 ,mem_uih_cmd_type 
-0x6a9f 029076 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
-0x6aa0 029077 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
-0x6aa1 029078 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
-0x6aa2 029079 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
-0x6aa3 029080 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
-0x6aa4 029081 branch rfcomm_rx_process_end 
-:      029083 parse_dlci0_rp_uih_pn_cmd:
-0x6aa5 029084 call parse_dlci0_rp_uih_pn_res_common 
-0x6aa6 029086 branch parse_dlci0_rp_uih_pn_cmd_spp 
-:      029088 parse_dlci0_rp_uih_pn_cmd_spp:
-0x6aa7 029089 fetch 1 ,mem_spp_state 
-0x6aa8 029090 set1 rfcomm_channel_state_pn_cmd ,pdata 
-0x6aa9 029091 set1 rfcomm_channel_state_pn_res ,pdata 
-0x6aaa 029092 store 1 ,mem_spp_state 
-0x6aab 029093 call rfcomm_send_param_neg_res 
-0x6aac 029094 branch rfcomm_rx_process_end 
-:      029096 parse_dlci0_rp_uih_pn_res:
-0x6aad 029097 call parse_dlci0_rp_uih_pn_res_common 
-0x6aae 029098 branch rfcomm_rx_process_end 
-:      029100 parse_dlci0_rp_uih_pn_res_common:
-0x6aaf 029101 call get_param_payload_ptr 
-0x6ab0 029102 branch get_rfcomm_prarmer_negotiation 
-:      029104 get_rfcomm_param_modem_status:
-0x6ab1 029105 call get_param_payload_ptr 
-0x6ab2 029106 ifetch 1 ,contr 
-0x6ab3 029107 rshift3 pdata ,pdata 
-0x6ab4 029108 store 1 ,mem_ms_channel 
-0x6ab5 029109 ifetch 1 ,contr 
-0x6ab6 029110 store 1 ,mem_ms_param 
-0x6ab7 029111 rtn 
-:      029114 get_rfcomm_head_struct:
-0x6ab8 029115 ifetch 1 ,contr 
-0x6ab9 029116 store 1 ,mem_current_adss 
-0x6aba 029117 rshift3 pdata ,pdata 
-0x6abb 029118 store 1 ,mem_current_channel 
-0x6abc 029119 ifetch 1 ,contr 
-0x6abd 029120 store 1 ,mem_current_frame_type 
-:      029121 get_rfcomm_current_length:
-0x6abe 029122 call get_rfcomm_length_common 
-0x6abf 029123 storet 2 ,mem_current_length 
-0x6ac0 029124 copy contr ,pdata 
-0x6ac1 029125 store 2 ,mem_rfcomm_uih_payload_ptr 
-0x6ac2 029126 rtn 
-:      029128 get_rfcomm_uih_head_struct:
-0x6ac3 029129 ifetch 1 ,contr 
-0x6ac4 029130 rshift pdata ,pdata 
-0x6ac5 029131 store 1 ,mem_uih_cmd_type 
-0x6ac6 029132 call get_rfcomm_length_common 
-0x6ac7 029133 storet 2 ,mem_uih_length 
-0x6ac8 029134 copy contr ,pdata 
-0x6ac9 029135 store 2 ,mem_param_payload_ptr 
-0x6aca 029136 rtn 
-:      029139 get_param_payload_ptr:
-0x6acb 029140 fetch 2 ,mem_param_payload_ptr 
-0x6acc 029141 copy pdata ,contr 
-0x6acd 029142 rtn 
-:      029144 get_rfcomm_length_common:
-0x6ace 029145 ifetch 1 ,contr 
-0x6acf 029146 copy pdata ,temp 
-0x6ad0 029147 rshift temp ,temp 
-0x6ad1 029148 rtnbit1 0 
-0x6ad2 029149 ifetch 1 ,contr 
-0x6ad3 029150 lshift3 pdata ,pdata 
-0x6ad4 029151 lshift4 pdata ,pdata 
-0x6ad5 029152 iadd temp ,temp 
-0x6ad6 029153 rtn 
-:      029155 get_rfcomm_prarmer_negotiation:
-0x6ad7 029156 ifetch 1 ,contr 
-0x6ad8 029157 store 1 ,mem_pn_dlci 
-0x6ad9 029158 ifetch 1 ,contr 
-0x6ada 029159 store 1 ,mem_pn_credit_flow_type_info 
-0x6adb 029160 ifetch 1 ,contr 
-0x6adc 029161 store 1 ,mem_pn_priority 
-0x6add 029162 ifetch 1 ,contr 
-0x6ade 029163 store 1 ,mem_pn_acknowledg_timer 
-0x6adf 029164 ifetch 2 ,contr 
-0x6ae0 029165 store 2 ,mem_pn_max_frame_size 
-0x6ae1 029166 ifetch 1 ,contr 
-0x6ae2 029167 store 1 ,mem_pn_max_retrans 
-0x6ae3 029168 ifetch 1 ,contr 
-0x6ae4 029169 store 1 ,mem_remote_credits 
-0x6ae5 029170 rtn 
-:      029173 parse_dlci0_rp_uih_ms_cmd:
-0x6ae6 029174 call get_rfcomm_param_modem_status 
-0x6ae7 029176 branch parse_dlci0_rp_uih_ms_cmd_spp 
-:      029178 parse_dlci0_rp_uih_ms_cmd_spp:
-0x6ae8 029179 fetch 1 ,mem_spp_state 
-0x6ae9 029180 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
-0x6aea 029181 set1 rfcomm_channel_state_snd_ms_res ,pdata 
-0x6aeb 029182 store 1 ,mem_spp_state 
-0x6aec 029183 fetcht 1 ,mem_pn_dlci 
-0x6aed 029184 lshift2 temp ,temp 
-0x6aee 029185 or_into 3 ,temp 
-0x6aef 029186 call rfcomm_send_modem_status_res 
-0x6af0 029187 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
-0x6af1 029188 branch rfcomm_rx_process_end 
-:      029190 parse_dlci0_rp_uih_ms_res:
-0x6af2 029191 jam bt_evt_spp_connected ,mem_fifo_temp 
-0x6af3 029192 call ui_ipc_send_event 
-0x6af4 029193 call get_rfcomm_param_modem_status 
-0x6af5 029194 fetch 1 ,mem_ms_channel 
-0x6af6 029195 sub pdata ,1 ,null 
-0x6af7 029196 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
-0x6af8 029197 branch assert 
-:      029198 parse_dlci0_rp_uih_ms_res_spp:
-0x6af9 029199 fetch 1 ,mem_spp_state 
-0x6afa 029200 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
-0x6afb 029201 store 1 ,mem_spp_state 
-0x6afc 029202 branch rfcomm_rx_process_end 
-:      029204 parse_dlci0_rp_uih_cmd_port:
-0x6afd 029205 call get_param_payload_ptr 
-0x6afe 029206 ifetch 1 ,contr 
-0x6aff 029207 store 1 ,mem_rpn_dlci 
-0x6b00 029208 call l2cap_malloc_rfcomm_channel 
-0x6b01 029209 call l2cap_get_rfcomm_tx_buff 
-0x6b02 029210 setarg 0x000e 
-0x6b03 029211 istore 2 ,contw 
-0x6b04 029212 fetch 2 ,mem_rfcomm_remote_cid 
-0x6b05 029213 istore 2 ,contw 
-0x6b06 029214 fetch 1 ,mem_rfcomm_initiator 
-0x6b07 029216 lshift pdata ,pdata 
-0x6b08 029217 set1 0 ,pdata 
-0x6b09 029218 istore 1 ,contw 
-0x6b0a 029219 bpatchx patch34_7 ,mem_patch34 
-0x6b0b 029220 setarg 0x15ef 
-0x6b0c 029221 istore 2 ,contw 
-0x6b0d 029222 setarg 0x1191 
-0x6b0e 029223 istore 2 ,contw 
-0x6b0f 029226 fetch 1 ,mem_rpn_dlci 
-0x6b10 029227 istore 1 ,contw 
-0x6b11 029228 setarg 0x000007 
-0x6b12 029229 istore 5 ,contw 
-0x6b13 029232 setarg 0x01 
-0x6b14 029233 istore 2 ,contw 
-0x6b15 029236 call rfcomm_calculate_fcs_dlci0 
-0x6b16 029237 istore 1 ,contw 
-0x6b17 029238 rtn 
-:      029242 parse_uih_rp:
-0x6b18 029243 branch parse_uih_rp_spp 
-:      029245 parse_uih_rp_spp:
-0x6b19 029246 bpatchx patch35_0 ,mem_patch35 
-0x6b1a 029247 fetch 1 ,mem_current_frame_type 
-0x6b1b 029248 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
-0x6b1c 029249 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
-0x6b1d 029250 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
-0x6b1e 029251 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
-0x6b1f 029252 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
-0x6b20 029253 rtn 
-:      029254 parse_uih_rp_spp_ua:
-0x6b21 029255 fetch 1 ,mem_spp_state 
-0x6b22 029256 set1 rfcomm_channel_state_ua ,pdata 
-0x6b23 029257 store 1 ,mem_spp_state 
-0x6b24 029258 branch rfcomm_rx_process_end 
-:      029259 parse_uih_rp_spp_sabm:
-0x6b25 029260 fetch 1 ,mem_spp_state 
-0x6b26 029261 set1 rfcomm_channel_state_ua ,pdata 
-0x6b27 029262 set1 rfcomm_channel_state_sabm ,pdata 
-0x6b28 029263 store 1 ,mem_spp_state 
-0x6b29 029264 fetch 1 ,mem_current_adss 
-0x6b2a 029265 call rfcomm_calculate_fcs_ua 
-0x6b2b 029266 store 1 ,mem_current_fcs 
-0x6b2c 029267 call rfcomm_send_ua 
-0x6b2d 029268 fetch 1 ,mem_current_adss 
-0x6b2e 029269 rshift2 pdata ,pdata 
-0x6b2f 029270 store 1 ,mem_pn_dlci 
-0x6b30 029271 lshift2 pdata ,pdata 
-0x6b31 029272 set0 rfcomm_address_cr ,pdata 
-0x6b32 029273 set1 rfcomm_address_ext_len ,pdata 
-0x6b33 029274 arg mem_hiufcs_spp ,temp 
-0x6b34 029275 storet 2 ,mem_contw_temp 
-0x6b35 029276 call rfcomm_save_fcs_uih 
-0x6b36 029277 branch rfcomm_rx_process_end 
-:      029279 parse_uih_spp_uih_credits:
-0x6b37 029280 fetch 2 ,mem_rfcomm_uih_payload_ptr 
-0x6b38 029281 copy pdata ,contr 
-0x6b39 029282 increase 1 ,pdata 
-0x6b3a 029283 store 2 ,mem_rfcomm_uih_payload_ptr 
-0x6b3b 029284 ifetch 1 ,contr 
-0x6b3c 029285 fetcht 1 ,mem_remote_credits 
-0x6b3d 029286 iadd temp ,pdata 
-0x6b3e 029287 store 1 ,mem_remote_credits 
-:      029288 parse_uih_spp_uih:
-0x6b3f 029289 call rfcomm_increase_credit_given 
-:      029290 parse_uih_spp_uih_cont:
-0x6b40 029291 call get_rfcomm_snd_adss 
-0x6b41 029292 call rfcomm_send_uih_without_payload 
-0x6b42 029293 call spp_process_rx_data 
-0x6b43 029294 branch rfcomm_rx_process_end 
-:      029296 parse_uih_rp_spp_disconn_send_event:
-0x6b44 029297 jam bt_evt_spp_disconnected ,mem_fifo_temp 
-0x6b45 029298 call ui_ipc_send_event 
-:      029299 parse_uih_rp_spp_disconn:
-0x6b46 029300 call rfcomm_init_spp 
-0x6b47 029301 fetch 1 ,mem_current_adss 
-0x6b48 029302 call rfcomm_calculate_fcs_ua 
-0x6b49 029303 store 1 ,mem_current_fcs 
-0x6b4a 029304 call rfcomm_send_ua 
-0x6b4b 029305 branch rfcomm_rx_process_end 
-:      029310 rfcomm_rx_process_reconn:
-0x6b4c 029311 fetch 2 ,mem_l2cap_payload_ptr 
-0x6b4d 029312 copy pdata ,contr 
-0x6b4e 029313 call get_rfcomm_head_struct 
-0x6b4f 029314 fetch 1 ,mem_current_channel 
-0x6b50 029315 beq 0 ,parse_dlci0_reconn 
-0x6b51 029316 branch parse_uih_reconn 
-:      029318 parse_dlci0_reconn:
-0x6b52 029319 bpatchx patch35_1 ,mem_patch35 
-0x6b53 029320 fetch 1 ,mem_current_frame_type 
-0x6b54 029321 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
-0x6b55 029322 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
-0x6b56 029323 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
-0x6b57 029324 branch rfcomm_rx_process_end 
-:      029325 parse_dlci0_reconn_uih:
-0x6b58 029326 fetch 2 ,mem_rfcomm_uih_payload_ptr 
-0x6b59 029327 copy pdata ,contr 
-0x6b5a 029328 call get_rfcomm_uih_head_struct 
-0x6b5b 029329 fetch 1 ,mem_uih_cmd_type 
-0x6b5c 029330 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
-0x6b5d 029331 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
-0x6b5e 029332 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
-0x6b5f 029333 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
-0x6b60 029334 branch rfcomm_rx_process_end 
-:      029336 parse_dlci0_reconn_uih_pn_cmd:
-0x6b61 029337 call parse_dlci0_rp_uih_pn_res_common 
-0x6b62 029338 fetch 1 ,mem_pn_dlci 
-0x6b63 029339 rshift pdata ,pdata 
-0x6b64 029340 fetcht 1 ,mem_remote_spp_channel 
-0x6b65 029341 isub temp ,null 
-0x6b66 029342 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
-0x6b67 029343 branch assert 
-:      029344 parse_dlci0_reconn_uih_pn_cmd_spp:
-0x6b68 029345 fetch 1 ,mem_spp_state 
-0x6b69 029346 set1 rfcomm_channel_state_pn_res ,pdata 
-0x6b6a 029347 store 1 ,mem_spp_state 
-0x6b6b 029348 branch rfcomm_rx_process_end 
-:      029350 parse_dlci0_reconn_uih_ms_cmd:
-0x6b6c 029351 call get_rfcomm_param_modem_status 
-0x6b6d 029352 fetch 1 ,mem_ms_channel 
-0x6b6e 029353 fetcht 1 ,mem_remote_spp_channel 
-0x6b6f 029354 isub temp ,null 
-0x6b70 029355 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
-0x6b71 029356 branch assert 
-0x6b72 029357 branch rfcomm_rx_process_end 
-:      029358 parse_dlci0_reconn_uih_ms_cmd_spp:
-0x6b73 029359 fetch 1 ,mem_spp_state 
-0x6b74 029360 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
-0x6b75 029361 set1 rfcomm_channel_state_snd_ms_res ,pdata 
-0x6b76 029362 store 1 ,mem_spp_state 
-0x6b77 029363 fetcht 1 ,mem_pn_dlci 
-0x6b78 029364 lshift2 temp ,temp 
-0x6b79 029365 or_into 3 ,temp 
-0x6b7a 029366 call rfcomm_send_modem_status_res 
-0x6b7b 029367 branch rfcomm_rx_process_end 
-:      029369 parse_dlci0_reconn_uih_ms_res:
-0x6b7c 029370 call get_rfcomm_param_modem_status 
-0x6b7d 029371 fetch 1 ,mem_ms_channel 
-0x6b7e 029372 fetcht 1 ,mem_remote_spp_channel 
-0x6b7f 029373 isub temp ,null 
-0x6b80 029374 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
-0x6b81 029375 branch assert 
-:      029376 parse_dlci0_reconn_uih_ms_res_spp:
-0x6b82 029377 fetch 1 ,mem_spp_state 
-0x6b83 029378 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
-0x6b84 029379 store 1 ,mem_spp_state 
-0x6b85 029380 branch rfcomm_rx_process_end 
-:      029382 parse_uih_reconn:
-0x6b86 029383 fetch 1 ,mem_current_channel 
-0x6b87 029384 fetcht 1 ,mem_remote_spp_channel 
-0x6b88 029385 isub temp ,null 
-0x6b89 029386 branch parse_uih_reconn_spp ,zero 
-0x6b8a 029387 branch assert 
-0x6b8b 029388 branch rfcomm_rx_process_end 
-:      029390 parse_uih_reconn_spp:
-0x6b8c 029391 fetch 1 ,mem_current_frame_type 
-0x6b8d 029392 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
-0x6b8e 029393 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
-0x6b8f 029394 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
-0x6b90 029395 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
-:      029396 parse_uih_reconn_spp_ua:
-0x6b91 029397 fetch 1 ,mem_spp_state 
-0x6b92 029398 set1 rfcomm_channel_state_ua ,pdata 
-0x6b93 029399 store 1 ,mem_spp_state 
-0x6b94 029400 branch rfcomm_rx_process_end 
-:      029401 parse_uih_reconn_spp_sabm:
-0x6b95 029402 branch parse_uih_reconn_spp_sabm 
-:      029403 parse_uih_reconn_spp_disconn:
-0x6b96 029404 branch parse_uih_rp_spp_disconn 
-:      029405 rfcomm_rx_process_end:
-0x6b97 029406 rtn 
-:      029408 rfcomm_send_more_pkt:
-0x6b98 029409 fetch 1 ,mem_rfcomm_send_more_pkt 
-0x6b99 029410 rtn blank 
-0x6b9a 029411 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
-0x6b9b 029412 branch assert 
-:      029414 rfcomm_send_more_pkt_msc_cmd_spp:
-0x6b9c 029415 jam 0 ,mem_rfcomm_send_more_pkt 
-0x6b9d 029416 call l2cap_malloc_rfcomm_channel 
-0x6b9e 029417 arg spp_slave_channel ,temp 
-0x6b9f 029418 fetcht 1 ,mem_pn_dlci 
-0x6ba0 029419 lshift2 temp ,temp 
-:      029420 rfcomm_send_more_pkt_msc_cmd_spp0:
-0x6ba1 029421 or_into 0x03 ,temp 
-0x6ba2 029422 arg 0xaa ,rega 
-0x6ba3 029423 call rfcomm_send_modem_status_cmd 
-0x6ba4 029424 call l2cap_get_rfcomm_tx_buff 
-0x6ba5 029425 copy contw ,contr 
-0x6ba6 029426 ifetch 2 ,contr 
-0x6ba7 029427 branch assert ,blank 
-0x6ba8 029428 rtn 
-:      029430 rfcomm_send_sabm:
-0x6ba9 029431 call l2cap_get_rfcomm_tx_buff 
-0x6baa 029432 setarg 0x0004 
-0x6bab 029433 istore 2 ,contw 
-0x6bac 029434 fetch 2 ,mem_rfcomm_remote_cid 
-0x6bad 029435 istore 2 ,contw 
-0x6bae 029436 fetch 1 ,mem_current_adss 
-0x6baf 029437 istore 1 ,contw 
-0x6bb0 029438 bpatchx patch35_2 ,mem_patch35 
-0x6bb1 029439 setarg 0x013f 
-0x6bb2 029440 istore 2 ,contw 
-0x6bb3 029441 fetch 1 ,mem_current_fcs 
-0x6bb4 029442 istore 1 ,contw 
-0x6bb5 029443 rtn 
-:      029444 rfcomm_send_ua:
-0x6bb6 029445 call l2cap_malloc_rfcomm_channel 
-0x6bb7 029446 call l2cap_get_rfcomm_tx_buff 
-0x6bb8 029447 setarg 0x0004 
-0x6bb9 029448 istore 2 ,contw 
-0x6bba 029449 fetch 2 ,mem_rfcomm_remote_cid 
-0x6bbb 029450 istore 2 ,contw 
-0x6bbc 029451 fetch 1 ,mem_current_adss 
-0x6bbd 029452 istore 1 ,contw 
-0x6bbe 029453 bpatchx patch35_3 ,mem_patch35 
-0x6bbf 029454 setarg 0x0173 
-0x6bc0 029455 istore 2 ,contw 
-0x6bc1 029456 fetch 1 ,mem_current_fcs 
-0x6bc2 029457 istore 1 ,contw 
-0x6bc3 029458 rtn 
-:      029459 rfcomm_send_param_neg_cmd:
-0x6bc4 029460 call l2cap_get_rfcomm_tx_buff 
-0x6bc5 029461 setarg 0x000e 
-0x6bc6 029462 istore 2 ,contw 
-0x6bc7 029463 fetch 2 ,mem_rfcomm_remote_cid 
-0x6bc8 029464 istore 2 ,contw 
-0x6bc9 029465 fetch 1 ,mem_rfcomm_initiator 
-0x6bca 029466 lshift pdata ,pdata 
-0x6bcb 029467 set1 0 ,pdata 
-0x6bcc 029468 istore 1 ,contw 
-0x6bcd 029469 bpatchx patch35_4 ,mem_patch35 
-0x6bce 029470 setarg 0x15ef 
-0x6bcf 029471 istore 2 ,contw 
-0x6bd0 029472 setarg 0x1183 
-0x6bd1 029473 istore 2 ,contw 
-0x6bd2 029474 copy temp ,pdata 
-0x6bd3 029475 istore 1 ,contw 
-0x6bd4 029476 setarg 0x0000f0 
-0x6bd5 029477 istore 3 ,contw 
-0x6bd6 029478 setarg rfcomm_max_frame_size 
-0x6bd7 029479 istore 2 ,contw 
-0x6bd8 029480 setarg 0 
-0x6bd9 029481 istore 1 ,contw 
-0x6bda 029482 setarg 0x01 
-0x6bdb 029483 istore 1 ,contw 
-0x6bdc 029484 call rfcomm_calculate_fcs_dlci0 
-0x6bdd 029485 istore 1 ,contw 
-0x6bde 029486 jam 0x10 ,mem_credit_given 
-0x6bdf 029487 rtn 
-:      029488 rfcomm_send_param_neg_res:
-0x6be0 029489 call l2cap_malloc_rfcomm_channel 
-0x6be1 029490 call l2cap_get_rfcomm_tx_buff 
-0x6be2 029491 setarg 0x000e 
-0x6be3 029492 istore 2 ,contw 
-0x6be4 029493 fetch 2 ,mem_rfcomm_remote_cid 
-0x6be5 029494 istore 2 ,contw 
-0x6be6 029495 fetch 1 ,mem_rfcomm_initiator 
-0x6be7 029496 lshift pdata ,pdata 
-0x6be8 029497 set1 0 ,pdata 
-0x6be9 029498 istore 1 ,contw 
-0x6bea 029499 bpatchx patch35_5 ,mem_patch35 
-0x6beb 029500 setarg 0x15ef 
-0x6bec 029501 istore 2 ,contw 
-0x6bed 029502 setarg 0x1181 
-0x6bee 029503 istore 2 ,contw 
-0x6bef 029504 fetch 1 ,mem_pn_dlci 
-0x6bf0 029505 istore 1 ,contw 
-0x6bf1 029506 setarg 0x0000e0 
-0x6bf2 029507 istore 3 ,contw 
-0x6bf3 029508 fetch 2 ,mem_rfcomm_max_frame_size 
-0x6bf4 029509 istore 2 ,contw 
-0x6bf5 029510 setarg 0x00 
-0x6bf6 029511 istore 1 ,contw 
-0x6bf7 029512 fetch 1 ,mem_rfcomm_credit_init_data 
-0x6bf8 029513 istore 1 ,contw 
-0x6bf9 029514 call rfcomm_calculate_fcs_dlci0 
-0x6bfa 029515 istore 1 ,contw 
-0x6bfb 029516 rtn 
-:      029517 rfcomm_send_modem_status_cmd:
-0x6bfc 029518 call l2cap_get_rfcomm_tx_buff 
-0x6bfd 029519 setarg 0x0008 
-0x6bfe 029520 istore 2 ,contw 
-0x6bff 029521 fetch 2 ,mem_rfcomm_remote_cid 
-0x6c00 029522 istore 2 ,contw 
-0x6c01 029523 fetch 1 ,mem_rfcomm_initiator 
-0x6c02 029524 lshift pdata ,pdata 
-0x6c03 029525 set1 0 ,pdata 
-0x6c04 029526 istore 1 ,contw 
-0x6c05 029527 bpatchx patch35_6 ,mem_patch35 
-0x6c06 029528 setarg 0x09ef 
-0x6c07 029529 istore 2 ,contw 
-0x6c08 029530 setarg 0x05e3 
-0x6c09 029531 istore 2 ,contw 
-0x6c0a 029532 copy temp ,pdata 
-0x6c0b 029533 istore 1 ,contw 
-0x6c0c 029534 setarg 0x8d 
-0x6c0d 029535 istore 1 ,contw 
-0x6c0e 029536 call rfcomm_calculate_fcs_dlci0 
-0x6c0f 029537 istore 1 ,contw 
-0x6c10 029538 rtn 
-:      029540 rfcomm_send_modem_status_res:
-0x6c11 029541 call l2cap_malloc_rfcomm_channel 
-0x6c12 029542 call l2cap_get_rfcomm_tx_buff 
-0x6c13 029543 setarg 0x0008 
-0x6c14 029544 istore 2 ,contw 
-0x6c15 029545 fetch 2 ,mem_rfcomm_remote_cid 
-0x6c16 029546 istore 2 ,contw 
-0x6c17 029547 copy temp ,timeup 
-0x6c18 029548 fetch 1 ,mem_rfcomm_initiator 
-0x6c19 029549 lshift pdata ,pdata 
-0x6c1a 029550 set1 0 ,pdata 
-0x6c1b 029551 istore 1 ,contw 
-0x6c1c 029552 bpatchx patch35_7 ,mem_patch35 
-0x6c1d 029553 setarg 0x09ef 
-0x6c1e 029554 istore 2 ,contw 
-0x6c1f 029555 setarg 0x05e1 
-0x6c20 029556 istore 2 ,contw 
-0x6c21 029557 copy timeup ,pdata 
-0x6c22 029558 istore 1 ,contw 
-0x6c23 029559 setarg 0x8d 
-0x6c24 029560 istore 1 ,contw 
-0x6c25 029561 call rfcomm_calculate_fcs_dlci0 
-0x6c26 029562 istore 1 ,contw 
-0x6c27 029563 rtn 
-:      029565 rfcomm_send_uih_without_payload:
-0x6c28 029566 bpatchx patch36_0 ,mem_patch36 
-0x6c29 029567 fetch 1 ,mem_credit_given 
-0x6c2a 029568 rtn blank 
-0x6c2b 029569 hfetch 2 ,core_uart_rxitems 
-0x6c2c 029570 nrtn blank 
-0x6c2d 029571 copy rega ,pdata 
-0x6c2e 029572 store 1 ,mem_pdatatemp + 1 
-0x6c2f 029573 storet 1 ,mem_pdatatemp 
-0x6c30 029574 call l2cap_malloc_is_fifo_full 
-0x6c31 029575 nrtn blank 
-0x6c32 029576 call l2cap_malloc_rfcomm_channel 
-0x6c33 029577 call l2cap_get_rfcomm_tx_buff 
-0x6c34 029578 setarg 0x05 
-0x6c35 029579 istore 2 ,contw 
-0x6c36 029580 fetch 2 ,mem_rfcomm_remote_cid 
-0x6c37 029581 istore 2 ,contw 
-0x6c38 029582 fetch 1 ,mem_rfcomm_send_adss 
-0x6c39 029583 istore 1 ,contw 
-0x6c3a 029584 setarg 0x01ff 
-0x6c3b 029585 istore 2 ,contw 
-0x6c3c 029586 fetch 1 ,mem_credit_given 
-0x6c3d 029587 istore 1 ,contw 
-0x6c3e 029588 fetch 1 ,mem_hiufcs_spp_wcredits 
-0x6c3f 029589 istore 1 ,contw 
-0x6c40 029590 jam 0 ,mem_credit_given 
-0x6c41 029591 rtn 
-:      029593 rfcomm_increase_credit_given:
-0x6c42 029594 bpatchx patch36_1 ,mem_patch36 
-0x6c43 029595 fetch 1 ,mem_credit_flag 
-0x6c44 029596 rtneq credit_enable 
-0x6c45 029597 fetch 2 ,mem_current_length 
-0x6c46 029598 rtn blank 
-0x6c47 029599 fetch 1 ,mem_credit_given 
-0x6c48 029600 increase 1 ,pdata 
-0x6c49 029601 store 1 ,mem_credit_given 
-0x6c4a 029602 rtn 
-:      029604 spp_process_rx_data:
-0x6c4b 029605 fetch 2 ,mem_cb_receive_spp_data 
-0x6c4c 029606 branch callback_func 
-:      029608 spp_tx_rfcomm_packet:
-0x6c4d 029609 bpatchx patch36_2 ,mem_patch36 
-0x6c4e 029611 fetch 1 ,mem_remote_credits 
-0x6c4f 029612 rtn blank 
-0x6c50 029613 increase -1 ,pdata 
-0x6c51 029614 store 1 ,mem_remote_credits 
-0x6c52 029615 fetch 2 ,mem_pn_max_frame_size 
-0x6c53 029616 fetcht 2 ,mem_current_packet_length 
-0x6c54 029617 isub temp ,null 
-0x6c55 029618 branch ssp_tx_rfcomm_from_uart ,positive 
-0x6c56 029619 store 2 ,mem_current_packet_length 
-:      029620 ssp_tx_rfcomm_from_uart:
-0x6c57 029621 fetch 1 ,mem_credit_given 
-0x6c58 029622 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
-0x6c59 029623 jam 1 ,mem_rfcomm_send_offset 
-0x6c5a 029624 fetch 1 ,mem_hiufcs_spp_wcredits 
-0x6c5b 029625 store 1 ,mem_rfcomm_send_fcs 
-0x6c5c 029626 setarg rsp_rx_uih_wdata 
-0x6c5d 029627 store 1 ,mem_rfcomm_send_frame_type 
-0x6c5e 029628 branch ssp_tx_rfcomm_from_uart_common 
-:      029629 ssp_tx_rfcomm_from_uart_without_credit:
-0x6c5f 029630 jam 0 ,mem_rfcomm_send_offset 
-0x6c60 029631 fetch 1 ,mem_hiufcs_spp 
-0x6c61 029632 store 1 ,mem_rfcomm_send_fcs 
-0x6c62 029633 setarg rsp_tx_uih 
-0x6c63 029634 store 1 ,mem_rfcomm_send_frame_type 
-:      029635 ssp_tx_rfcomm_from_uart_common:
-0x6c64 029636 bpatchx patch36_3 ,mem_patch36 
-0x6c65 029637 fetch 2 ,mem_current_packet_length 
-0x6c66 029638 sub pdata ,127 ,null 
-0x6c67 029639 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
-0x6c68 029640 fetch 1 ,mem_rfcomm_send_offset 
-0x6c69 029641 increase 1 ,pdata 
-0x6c6a 029642 store 1 ,mem_rfcomm_send_offset 
-:      029643 ssp_tx_rfcomm_from_uart_common0:
-0x6c6b 029644 call get_rfcomm_snd_adss 
-0x6c6c 029645 fetch 2 ,mem_current_packet_length 
-0x6c6d 029646 increase 8 ,pdata 
-0x6c6e 029647 fetcht 1 ,mem_rfcomm_send_offset 
-0x6c6f 029648 iadd temp ,rega 
-0x6c70 029650 call l2cap_malloc 
-0x6c71 029651 store 2 ,mem_rfcomm_tx_buff_ptr 
-0x6c72 029652 increase 4 ,pdata 
-0x6c73 029653 store 2 ,mem_rfcomm_tx_payload_ptr 
-0x6c74 029654 copy pdata ,contw 
-0x6c75 029655 fetch 1 ,mem_rfcomm_send_adss 
-0x6c76 029656 istore 1 ,contw 
-0x6c77 029657 fetch 1 ,mem_rfcomm_send_frame_type 
-0x6c78 029658 istore 1 ,contw 
-0x6c79 029659 call ssp_tx_write_length 
-0x6c7a 029660 call ssp_tx_write_given_credit 
-0x6c7b 029661 bpatchx patch36_4 ,mem_patch36 
-0x6c7c 029662 fetch 2 ,mem_nl_rx_data_src 
-0x6c7d 029663 copy pdata ,contru 
-0x6c7e 029664 fetch 2 ,mem_current_packet_length 
-0x6c7f 029665 copy pdata ,loopcnt 
-0x6c80 029666 call uart_copy_rx_bytes_fast 
-0x6c81 029667 copy contw ,temp 
-0x6c82 029668 copy contru ,pdata 
-0x6c83 029669 store 2 ,mem_nl_rx_data_src 
-0x6c84 029670 copy temp ,contw 
-0x6c85 029671 fetch 1 ,mem_rfcomm_send_fcs 
-0x6c86 029672 istore 1 ,contw 
-0x6c87 029673 fetch 2 ,mem_rfcomm_tx_buff_ptr 
-0x6c88 029674 copy pdata ,contw 
-0x6c89 029675 fetch 2 ,mem_current_packet_length 
-0x6c8a 029676 fetcht 1 ,mem_rfcomm_send_offset 
-0x6c8b 029677 iadd temp ,pdata 
-0x6c8c 029678 increase 4 ,pdata 
-0x6c8d 029679 istore 2 ,contw 
-0x6c8e 029680 fetch 2 ,mem_rfcomm_remote_cid 
-0x6c8f 029681 istore 2 ,contw 
-0x6c90 029682 jam 0 ,mem_credit_given 
-0x6c91 029683 fetch 2 ,mem_nl_rx_len_all 
-0x6c92 029684 beq 0 ,module_hci_command_tx_spp_tx_complete 
-0x6c93 029685 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
-0x6c94 029686 rtn 
-:      029688 ssp_tx_write_length:
-0x6c95 029689 bpatchx patch36_5 ,mem_patch36 
-0x6c96 029690 fetch 2 ,mem_current_packet_length 
-0x6c97 029691 sub pdata ,0x7f ,null 
-0x6c98 029692 nbranch ssp_tx_write_long_packet ,positive 
-0x6c99 029693 lshift pdata ,pdata 
-0x6c9a 029694 set1 0 ,pdata 
-0x6c9b 029695 istore 1 ,contw 
-0x6c9c 029696 rtn 
-:      029697 ssp_tx_write_long_packet:
-0x6c9d 029698 fetch 2 ,mem_current_packet_length 
-0x6c9e 029699 rshift3 pdata ,pdata 
-0x6c9f 029700 rshift4 pdata ,temp 
-0x6ca0 029701 and_into 0x7f ,pdata 
-0x6ca1 029702 lshift pdata ,pdata 
-0x6ca2 029703 set0 0 ,pdata 
-0x6ca3 029704 istore 1 ,contw 
-0x6ca4 029705 istoret 1 ,contw 
-0x6ca5 029706 rtn 
-:      029707 ssp_tx_write_given_credit:
-0x6ca6 029708 fetch 1 ,mem_credit_given 
-0x6ca7 029709 rtn blank 
-0x6ca8 029710 istore 1 ,contw 
-0x6ca9 029711 rtn 
-:      029716 scheduler_process:
-0x6caa 029717 bpatchx patch36_6 ,mem_patch36 
-0x6cab 029718 call check_51cmd 
-0x6cac 029719 call app_process_bb_event 
-0x6cad 029720 call process_conn_sm 
-0x6cae 029722 bpatchx patch36_7 ,mem_patch36 
-0x6caf 029723 call sp_calc_sequence 
-0x6cb0 029724 call simple_pairing_sequence 
-0x6cb1 029725 call master_simple_paring_sequence 
-0x6cb2 029728 call l2cap_malloc_is_fifo_full 
-0x6cb3 029729 nrtn blank 
-0x6cb4 029731 call l2cap_call_proc_sigal_pending 
-0x6cb5 029732 call l2cap_malloc_is_fifo_full 
-0x6cb6 029733 nrtn blank 
-0x6cb7 029734 bpatchx patch37_0 ,mem_patch37 
-0x6cb8 029736 call process_upper_sm 
-0x6cb9 029737 call l2cap_send_config_req 
-0x6cba 029738 call rfcomm_send_more_pkt 
-:      029739 scheduler_process0:
-0x6cbb 029740 call scheduler_tx_disconnect_hid 
-0x6cbc 029741 bpatchx patch37_1 ,mem_patch37 
-0x6cbd 029744 branch app_process_bt 
-:      029746 scheduler_tx_disconnect_hid:
-0x6cbe 029747 fetch 1 ,mem_control_tasks 
-0x6cbf 029748 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
-0x6cc0 029749 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
-0x6cc1 029750 rtn 
-:      029752 scheduler_tx_l2cap_pkt:
-0x6cc2 029753 bpatchx patch37_2 ,mem_patch37 
-0x6cc3 029754 call l2cap_malloc_is_fifo_empty 
-0x6cc4 029755 rtn blank 
-0x6cc5 029756 fetch 1 ,mem_op 
-0x6cc6 029757 rtnbit1 op_txl2cap 
-0x6cc7 029758 call l2cap_malloc_fifo_out 
-0x6cc8 029759 store 2 ,mem_txptr 
-0x6cc9 029760 copy pdata ,contr 
-0x6cca 029761 ifetch 2 ,contr 
-0x6ccb 029762 increase 4 ,pdata 
-0x6ccc 029763 store 2 ,mem_tx_len 
-0x6ccd 029764 jam 6 ,mem_tx_lch 
-0x6cce 029765 bpatchx patch37_3 ,mem_patch37 
-0x6ccf 029766 fetch 2 ,mem_l2cap_tx_multi_offset 
-0x6cd0 029767 branch scheduler_tx_l2cap_start_pkt ,blank 
-0x6cd1 029768 fetch 1 ,mem_op 
-0x6cd2 029769 rtnbit0 op_pkt_comp 
-0x6cd3 029770 set0 op_pkt_comp ,pdata 
-0x6cd4 029771 store 1 ,mem_op 
-0x6cd5 029772 jam 5 ,mem_tx_lch 
-0x6cd6 029773 fetcht 2 ,mem_l2cap_tx_multi_offset 
-0x6cd7 029774 fetch 2 ,mem_txptr 
-0x6cd8 029775 iadd temp ,pdata 
-0x6cd9 029776 store 2 ,mem_txptr 
-0x6cda 029777 fetch 2 ,mem_tx_len 
-0x6cdb 029778 isub temp ,pdata 
-0x6cdc 029779 store 2 ,mem_tx_len 
-:      029780 scheduler_tx_l2cap_start_pkt:
-0x6cdd 029781 bpatchx patch37_4 ,mem_patch37 
-0x6cde 029782 fetch 2 ,mem_tx_len 
-0x6cdf 029783 branch assert ,blank 
-0x6ce0 029784 arg l2cap_max_pkt_len ,temp 
-0x6ce1 029785 isub temp ,pdata 
-0x6ce2 029786 nbranch scheduler_tx_l2cap_last_pkt ,positive 
-0x6ce3 029787 bpatchx patch37_5 ,mem_patch37 
-0x6ce4 029788 storet 2 ,mem_tx_len 
-0x6ce5 029789 fetch 2 ,mem_l2cap_tx_multi_offset 
-0x6ce6 029790 iadd temp ,pdata 
-0x6ce7 029791 store 2 ,mem_l2cap_tx_multi_offset 
-0x6ce8 029792 branch scheduler_tx_l2cap_pkt_end 
-:      029793 scheduler_tx_l2cap_last_pkt:
-0x6ce9 029794 setarg 0 
-0x6cea 029795 store 2 ,mem_l2cap_tx_multi_offset 
-:      029796 scheduler_tx_l2cap_pkt_end:
-0x6ceb 029797 fetch 1 ,mem_op 
-0x6cec 029798 set1 op_txl2cap ,pdata 
-0x6ced 029799 store 1 ,mem_op 
-0x6cee 029800 rtn 
-:      029802 scheduler_start_upper_sm:
-0x6cef 029803 fetch 1 ,mem_ui_profile_supported 
-0x6cf0 029804 bbit1 support_hid ,scheduler_start_upper_sm_hid 
-0x6cf1 029805 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
-0x6cf2 029806 rtn 
-:      029807 scheduler_start_upper_sm_hid:
-0x6cf3 029808 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
-0x6cf4 029809 rtn 
-:      029811 process_upper_sm:
-0x6cf5 029812 fetch 1 ,memui_reconnect_mode 
-0x6cf6 029813 nbranch process_upper_sm_reconn ,blank 
-:      029814 process_upper_sm_remote_page:
-0x6cf7 029815 fetch 1 ,mem_upper_sm_remote_page 
-0x6cf8 029817 rtn blank 
-0x6cf9 029819 jam 0 ,mem_upper_sm_remote_page 
-:      029820 process_upper_sm_rp_wait:
-0x6cfa 029821 rtn 
-:      029824 process_upper_sm_reconn:
-0x6cfb 029825 bpatchx patch37_6 ,mem_patch37 
-0x6cfc 029826 fetch 1 ,mem_upper_sm_reconn 
-0x6cfd 029827 rtn blank 
-0x6cfe 029828 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
-0x6cff 029829 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
-0x6d00 029830 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
-0x6d01 029831 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
-0x6d02 029832 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
-0x6d03 029833 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
-0x6d04 029834 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
-0x6d05 029835 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
-0x6d06 029836 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
-0x6d07 029837 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
-0x6d08 029838 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
-0x6d09 029839 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
-0x6d0a 029840 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
-0x6d0b 029841 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
-0x6d0c 029842 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
-0x6d0d 029843 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
-0x6d0e 029844 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
-0x6d0f 029845 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
-0x6d10 029846 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
-0x6d11 029847 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
-0x6d12 029848 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
-0x6d13 029849 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
-0x6d14 029850 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
-0x6d15 029851 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
-0x6d16 029852 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
-0x6d17 029853 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
-0x6d18 029854 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
-0x6d19 029855 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
-:      029856 process_upper_sm_reconn_wait:
-0x6d1a 029857 rtn 
-:      029858 process_upper_sm_reconn_sdp_conn:
-0x6d1b 029859 call upper_sm_send_sdp_conn 
-0x6d1c 029860 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
-0x6d1d 029861 fetch 1 ,mem_sdp_state 
-0x6d1e 029862 set1 l2cap_channel_state_conn_req ,pdata 
-0x6d1f 029863 store 1 ,mem_sdp_state 
-0x6d20 029864 rtn 
-:      029865 process_upper_sm_reconn_sdp_cfg:
-0x6d21 029866 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
-0x6d22 029867 fetch 1 ,mem_sdp_state 
-0x6d23 029868 rtnbit1 l2cap_channel_state_snd_cfg_req 
-0x6d24 029869 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
-0x6d25 029870 call upper_sm_send_sdp_cfg 
-0x6d26 029871 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
-0x6d27 029872 fetch 1 ,mem_sdp_state 
-0x6d28 029873 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x6d29 029874 store 1 ,mem_sdp_state 
-0x6d2a 029875 rtn 
-:      029876 process_upper_sm_reconn_ss_spp:
-0x6d2b 029877 call l2cap_malloc_is_fifo_empty 
-0x6d2c 029878 nrtn blank 
-0x6d2d 029879 call upper_sm_send_ss_spp 
-0x6d2e 029880 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
-0x6d2f 029881 rtn 
-:      029882 process_upper_sm_reconn_sdp_disconn:
-0x6d30 029883 call upper_sm_send_sdp_disconn 
-0x6d31 029884 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
-0x6d32 029885 rtn 
-:      029886 process_upper_sm_reconn_hid_ctrl_conn:
-0x6d33 029887 call upper_sm_send_hid_ctrl_conn 
-0x6d34 029888 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
-0x6d35 029889 fetch 1 ,mem_hid_control_state 
-0x6d36 029890 set1 l2cap_channel_state_conn_req ,pdata 
-0x6d37 029891 store 1 ,mem_hid_control_state 
-0x6d38 029892 rtn 
-:      029893 process_upper_sm_reconn_hid_ctrl_cfg:
-0x6d39 029894 call upper_sm_send_hid_ctrl_cfg 
-0x6d3a 029895 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
-0x6d3b 029896 fetch 1 ,mem_hid_control_state 
-0x6d3c 029897 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x6d3d 029898 store 1 ,mem_hid_control_state 
-0x6d3e 029899 rtn 
-:      029900 process_upper_sm_reconn_hid_int_conn:
-0x6d3f 029901 call upper_sm_send_hid_int_conn 
-0x6d40 029902 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
-0x6d41 029903 fetch 1 ,mem_hid_interrupt_state 
-0x6d42 029904 set1 l2cap_channel_state_conn_req ,pdata 
-0x6d43 029905 store 1 ,mem_hid_interrupt_state 
-0x6d44 029906 rtn 
-:      029907 process_upper_sm_reconn_hid_int_cfg:
-0x6d45 029908 call upper_sm_send_hid_int_cfg 
-0x6d46 029909 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
-0x6d47 029910 fetch 1 ,mem_hid_interrupt_state 
-0x6d48 029911 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x6d49 029912 store 1 ,mem_hid_interrupt_state 
-0x6d4a 029913 rtn 
-:      029914 process_upper_sm_reconn_rfcomm_conn:
-0x6d4b 029915 call upper_sm_send_rfcomm_conn 
-0x6d4c 029916 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
-0x6d4d 029917 fetch 1 ,mem_rfcomm_state 
-0x6d4e 029918 set1 l2cap_channel_state_conn_req ,pdata 
-0x6d4f 029919 store 1 ,mem_rfcomm_state 
-0x6d50 029920 rtn 
-:      029921 process_upper_sm_reconn_rfcomm_cfg:
-0x6d51 029922 call upper_sm_send_rfcomm_cfg 
-0x6d52 029923 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
-0x6d53 029924 fetch 1 ,mem_rfcomm_state 
-0x6d54 029925 set1 l2cap_channel_state_snd_cfg_req ,pdata 
-0x6d55 029926 store 1 ,mem_rfcomm_state 
-0x6d56 029927 rtn 
-:      029928 process_upper_sm_reconn_rfcomm_sabm:
-0x6d57 029929 call upper_sm_send_rfcomm_sabm 
-0x6d58 029930 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
-0x6d59 029931 fetch 1 ,mem_rfcomm_state 
-0x6d5a 029932 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
-0x6d5b 029933 store 1 ,mem_rfcomm_state 
-0x6d5c 029934 rtn 
-:      029935 process_upper_sm_reconn_spp_cmd_pn:
-0x6d5d 029936 call upper_sm_send_spp_cmd_pn 
-0x6d5e 029937 fetch 1 ,mem_spp_state 
-0x6d5f 029938 set1 rfcomm_channel_state_pn_cmd 
-0x6d60 029939 store 1 ,mem_spp_state 
-0x6d61 029940 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
-0x6d62 029941 rtn 
-:      029942 process_upper_sm_reconn_spp_sabm:
-0x6d63 029943 call upper_sm_send_spp_sabm 
-0x6d64 029944 fetch 1 ,mem_spp_state 
-0x6d65 029945 set1 rfcomm_channel_state_sabm 
-0x6d66 029946 store 1 ,mem_spp_state 
-0x6d67 029947 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
-0x6d68 029948 fetch 1 ,mem_remote_spp_channel 
-0x6d69 029949 lshift3 pdata ,pdata 
-0x6d6a 029950 or_into 3 ,pdata 
-0x6d6b 029951 arg mem_hiufcs_spp ,temp 
-0x6d6c 029952 storet 2 ,mem_contw_temp 
-0x6d6d 029953 branch rfcomm_save_fcs_uih 
-:      029954 process_upper_sm_reconn_spp_cmd_ms:
-0x6d6e 029955 call upper_sm_send_spp_cmd_ms 
-0x6d6f 029956 fetch 1 ,mem_spp_state 
-0x6d70 029957 set1 rfcomm_channel_state_snd_ms_cmd 
-0x6d71 029958 store 1 ,mem_spp_state 
-0x6d72 029959 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
-0x6d73 029960 rtn 
-:      029962 process_upper_sm_reconn_sdp_conn_wait:
-0x6d74 029963 fetch 1 ,mem_sdp_state 
-0x6d75 029964 rtnbit0 l2cap_channel_state_conn_res 
-0x6d76 029965 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
-0x6d77 029966 branch process_upper_sm_reconn 
-:      029967 process_upper_sm_reconn_sdp_cfg_wait:
-0x6d78 029968 fetch 1 ,mem_sdp_state 
-0x6d79 029969 rtnne l2cap_channel_setup_complete 
-0x6d7a 029970 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
-:      029971 process_upper_sm_reconn_ss_spp_wait:
-0x6d7b 029972 fetch 1 ,mem_message_to_uppersm 
-0x6d7c 029973 rtnne recieve_ss_reasult_hf 
-0x6d7d 029974 jam 0 ,mem_message_to_uppersm 
-0x6d7e 029975 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
-0x6d7f 029976 branch process_upper_sm_reconn 
-:      029977 process_upper_sm_reconn_sdp_disconn_wait:
-0x6d80 029978 fetch 1 ,mem_sdp_state 
-0x6d81 029979 nrtn blank 
-0x6d82 029980 fetch 1 ,mem_ui_profile_supported 
-0x6d83 029981 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
-0x6d84 029982 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
-0x6d85 029983 branch process_upper_sm_reconn_termination 
-:      029984 process_upper_sm_reconn_hid_ctrl_conn_wait:
-0x6d86 029985 fetch 1 ,mem_hid_control_state 
-0x6d87 029986 rtnbit0 l2cap_channel_state_conn_res 
-0x6d88 029987 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
-0x6d89 029988 branch process_upper_sm_reconn 
-:      029989 process_upper_sm_reconn_hid_ctrl_cfg_wait:
-0x6d8a 029990 fetch 1 ,mem_hid_control_state 
-0x6d8b 029991 rtnne l2cap_channel_setup_complete 
-0x6d8c 029992 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
-0x6d8d 029993 branch process_upper_sm_reconn 
-:      029994 process_upper_sm_reconn_hid_int_conn_wait:
-0x6d8e 029995 fetch 1 ,mem_hid_interrupt_state 
-0x6d8f 029996 rtnbit0 l2cap_channel_state_conn_res 
-0x6d90 029997 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
-0x6d91 029998 branch process_upper_sm_reconn 
-:      029999 process_upper_sm_reconn_hid_int_cfg_wait:
-0x6d92 030000 fetch 1 ,mem_hid_interrupt_state 
-0x6d93 030001 rtnne l2cap_channel_setup_complete 
-0x6d94 030002 fetch 1 ,mem_ui_profile_supported 
-0x6d95 030003 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
-0x6d96 030004 branch process_upper_sm_reconn_termination 
-:      030005 process_upper_sm_reconn_rfcomm_conn_wait:
-0x6d97 030006 fetch 1 ,mem_rfcomm_state 
-0x6d98 030007 rtnbit0 l2cap_channel_state_conn_res 
-0x6d99 030008 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
-0x6d9a 030009 branch process_upper_sm_reconn 
-:      030010 process_upper_sm_reconn_rfcomm_cfg_wait:
-0x6d9b 030011 fetch 1 ,mem_rfcomm_state 
-0x6d9c 030012 rtnne l2cap_channel_setup_complete 
-0x6d9d 030013 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
-0x6d9e 030014 branch process_upper_sm_reconn 
-:      030015 process_upper_sm_reconn_rfcomm_sabm_wait:
-0x6d9f 030016 fetch 1 ,mem_rfcomm_state 
-0x6da0 030017 rtnne l2cap_channel_rfcomm_dlci0_opened 
-0x6da1 030018 fetch 1 ,mem_ui_profile_supported 
-0x6da2 030019 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
-0x6da3 030020 branch process_upper_sm_reconn_termination 
-:      030021 process_upper_sm_reconn_spp_cmd_pn_wait:
-0x6da4 030022 fetch 1 ,mem_spp_state 
-0x6da5 030023 rtnbit0 rfcomm_channel_state_pn_res 
-0x6da6 030024 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
-0x6da7 030025 branch process_upper_sm_reconn 
-:      030026 process_upper_sm_reconn_spp_sabm_wait:
-0x6da8 030027 fetch 1 ,mem_spp_state 
-0x6da9 030028 rtnbit0 rfcomm_channel_state_ua 
-0x6daa 030029 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
-0x6dab 030030 branch process_upper_sm_reconn 
-:      030031 process_upper_sm_reconn_spp_cmd_ms_wait:
-0x6dac 030032 fetch 1 ,mem_spp_state 
-0x6dad 030033 rtnne rfcomm_channel_setup_complete 
-0x6dae 030034 branch process_upper_sm_reconn_termination 
-:      030036 process_upper_sm_reconn_setup_hid:
-0x6daf 030037 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
-0x6db0 030038 branch process_upper_sm_reconn 
-:      030040 process_upper_sm_reconn_setup_rfcomm:
-0x6db1 030041 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
-0x6db2 030042 branch process_upper_sm_reconn 
-:      030043 process_upper_sm_reconn_setup_spp:
-0x6db3 030044 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
-0x6db4 030045 branch process_upper_sm_reconn 
-:      030049 process_upper_sm_reconn_termination:
-0x6db5 030050 jam 0 ,mem_upper_sm_reconn 
-0x6db6 030051 rtn 
-:      030052 upper_sm_send_sdp_conn:
-0x6db7 030053 bpatchx patch37_7 ,mem_patch37 
-0x6db8 030054 call l2cap_malloc_signal_channel 
-0x6db9 030055 setarg psm_sdp 
-0x6dba 030056 copy pdata ,temp 
-0x6dbb 030057 setarg l2cap_sdp_channel 
-0x6dbc 030058 copy pdata ,timeup 
-0x6dbd 030059 branch ml2cap_send_signal_connect_req 
-:      030061 upper_sm_send_sdp_cfg:
-0x6dbe 030062 bpatchx patch38_0 ,mem_patch38 
-0x6dbf 030063 call l2cap_malloc_signal_channel 
-0x6dc0 030064 fetch 2 ,mem_sdp_remote_cid 
-0x6dc1 030065 copy pdata ,temp 
-0x6dc2 030066 branch ml2cap_send_signal_config_req 
-:      030068 upper_sm_send_sdp_disconn:
-0x6dc3 030069 bpatchx patch38_1 ,mem_patch38 
-0x6dc4 030070 call l2cap_malloc_signal_channel 
-0x6dc5 030071 fetch 2 ,mem_sdp_remote_cid 
-0x6dc6 030072 copy pdata ,temp 
-0x6dc7 030073 arg l2cap_sdp_channel ,timeup 
-0x6dc8 030074 call ml2cap_send_signal_disconn_req 
-0x6dc9 030075 fetch 1 ,mem_sdp_state 
-0x6dca 030076 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
-0x6dcb 030077 store 1 ,mem_sdp_state 
-0x6dcc 030078 rtn 
-:      030080 upper_sm_send_ss_spp:
-0x6dcd 030081 bpatchx patch38_2 ,mem_patch38 
-0x6dce 030082 call l2cap_malloc_sdp_channel 
-0x6dcf 030083 call sdp_send_spp_request 
-0x6dd0 030084 branch msdp_send_req_done 
-:      030086 upper_sm_send_rfcomm_conn:
-0x6dd1 030087 bpatchx patch38_3 ,mem_patch38 
-0x6dd2 030088 call l2cap_malloc_signal_channel 
-0x6dd3 030089 setarg psm_rfcomm 
-0x6dd4 030090 copy pdata ,temp 
-0x6dd5 030091 setarg l2cap_rfcomm_channel 
-0x6dd6 030092 copy pdata ,timeup 
-0x6dd7 030093 branch ml2cap_send_signal_connect_req 
-:      030095 upper_sm_send_rfcomm_cfg:
-0x6dd8 030096 bpatchx patch38_4 ,mem_patch38 
-0x6dd9 030097 call l2cap_malloc_signal_channel 
-0x6dda 030098 fetch 2 ,mem_rfcomm_remote_cid 
-0x6ddb 030099 copy pdata ,temp 
-0x6ddc 030100 branch ml2cap_send_signal_config_req 
-:      030102 upper_sm_send_hid_ctrl_conn:
-0x6ddd 030103 bpatchx patch38_5 ,mem_patch38 
-0x6dde 030104 call l2cap_malloc_signal_channel 
-0x6ddf 030105 setarg psm_hid_control 
-0x6de0 030106 copy pdata ,temp 
-0x6de1 030107 setarg l2cap_hid_control_channel 
-0x6de2 030108 copy pdata ,timeup 
-0x6de3 030109 branch ml2cap_send_signal_connect_req 
-:      030111 upper_sm_send_hid_ctrl_cfg:
-0x6de4 030112 bpatchx patch38_6 ,mem_patch38 
-0x6de5 030113 call l2cap_malloc_signal_channel 
-0x6de6 030114 fetch 2 ,mem_hid_ctrl_remote_cid 
-0x6de7 030115 copy pdata ,temp 
-0x6de8 030116 branch ml2cap_send_signal_config_req 
-:      030118 upper_sm_send_hid_int_conn:
-0x6de9 030119 bpatchx patch38_7 ,mem_patch38 
-0x6dea 030120 call l2cap_malloc_signal_channel 
-0x6deb 030121 setarg psm_hid_interrupt 
-0x6dec 030122 copy pdata ,temp 
-0x6ded 030123 setarg l2cap_hid_interrupt_channel 
-0x6dee 030124 copy pdata ,timeup 
-0x6def 030125 branch ml2cap_send_signal_connect_req 
-:      030127 upper_sm_send_hid_int_cfg:
-0x6df0 030128 bpatchx patch39_0 ,mem_patch39 
-0x6df1 030129 call l2cap_malloc_signal_channel 
-0x6df2 030130 fetch 2 ,mem_hid_int_remote_cid 
-0x6df3 030131 copy pdata ,temp 
-0x6df4 030132 branch ml2cap_send_signal_config_req 
-:      030134 upper_sm_send_rfcomm_sabm:
-0x6df5 030135 bpatchx patch39_1 ,mem_patch39 
-0x6df6 030136 call l2cap_malloc_rfcomm_channel 
-0x6df7 030138 jam 3 ,mem_current_adss 
-0x6df8 030139 jam 0x1c ,mem_current_fcs 
-0x6df9 030140 call rfcomm_send_sabm 
-0x6dfa 030141 jam 1 ,mem_rfcomm_initiator 
-0x6dfb 030142 rtn 
-:      030144 upper_sm_send_spp_cmd_pn:
-0x6dfc 030145 bpatchx patch39_2 ,mem_patch39 
-0x6dfd 030146 call l2cap_malloc_rfcomm_channel 
-0x6dfe 030147 fetcht 1 ,mem_remote_spp_channel 
-0x6dff 030148 call channel_to_dlci 
-0x6e00 030149 storet 1 ,mem_pn_dlci 
-0x6e01 030150 branch rfcomm_send_param_neg_cmd 
-:      030152 upper_sm_send_spp_sabm:
-0x6e02 030153 bpatchx patch39_3 ,mem_patch39 
-0x6e03 030154 call l2cap_malloc_rfcomm_channel 
-0x6e04 030155 fetcht 1 ,mem_pn_dlci 
-0x6e05 030156 call dlci_to_address_cmd 
-0x6e06 030157 call rfcomm_calculate_fcs_sabm 
-0x6e07 030158 store 1 ,mem_current_fcs 
-0x6e08 030159 fetcht 1 ,mem_pn_dlci 
-0x6e09 030160 call dlci_to_address_cmd 
-0x6e0a 030161 storet 1 ,mem_current_adss 
-0x6e0b 030162 branch rfcomm_send_sabm 
-:      030164 upper_sm_send_spp_cmd_ms:
-0x6e0c 030165 bpatchx patch39_4 ,mem_patch39 
-0x6e0d 030166 call l2cap_malloc_rfcomm_channel 
-0x6e0e 030167 fetcht 1 ,mem_pn_dlci 
-0x6e0f 030168 call dlci_to_address_cmd 
-0x6e10 030169 branch rfcomm_send_modem_status_cmd 
-:      030182 sdp_process:
-0x6e11 030183 bpatchx patch39_5 ,mem_patch39 
-0x6e12 030184 fetch 2 ,mem_l2cap_payload_ptr 
-0x6e13 030185 iforce contr 
-0x6e14 030188 ifetch 1 ,contr 
-0x6e15 030189 copy pdata ,regb 
-0x6e16 030190 store 1 ,mem_sdp_pduid 
-0x6e17 030191 ifetch 2 ,contr 
-0x6e18 030192 store 2 ,mem_sdp_transactionid 
-0x6e19 030193 ifetch 1 ,contr 
-0x6e1a 030194 lshift8 pdata ,timeup 
-0x6e1b 030195 ifetch 1 ,contr 
-0x6e1c 030196 iadd timeup ,timeup 
-0x6e1d 030197 bpatchx patch39_6 ,mem_patch39 
-0x6e1e 030198 copy contr ,temp 
-0x6e1f 030199 arg 4 ,loopcnt 
-0x6e20 030200 arg mem_sdp_handle_list ,contw 
-0x6e21 030201 call memset0 
-0x6e22 030202 copy temp ,contr 
-0x6e23 030203 deposit regb 
-0x6e24 030204 beq sdp_error_res ,sdp_process_error_res 
-0x6e25 030205 beq sdp_search_req ,sdp_process_ss_req 
-0x6e26 030206 beq sdp_search_res ,sdp_process_ss_res 
-0x6e27 030207 beq sdp_attribute_req ,sdp_process_sa_req 
-0x6e28 030208 beq sdp_attribute_res ,sdp_process_sa_res 
-0x6e29 030209 beq sdp_searchattrib_req ,sdp_process_ssa_req 
-0x6e2a 030210 beq sdp_searchattrib_res ,sdp_process_ssa_res 
-0x6e2b 030211 branch sdp_insufficient_resource 
-:      030222 sdp_process_ss_req:
-0x6e2c 030223 bpatchx patch39_7 ,mem_patch39 
-0x6e2d 030224 call ask_serviceclassid 
-0x6e2e 030225 compare 1 ,temp ,0xff 
-0x6e2f 030226 branch ss_empty_rsp ,true 
-0x6e30 030227 compare 0xff ,temp ,0xff 
-0x6e31 030228 branch sdp_invalid_request_syntax ,true 
-0x6e32 030230 ifetch 2 ,contr 
-0x6e33 030231 store 2 ,mem_sdp_record_maxcnt 
-0x6e34 030232 increase -2 ,timeup 
-0x6e35 030234 increase -1 ,timeup 
-0x6e36 030235 nbranch sdp_invalid_pdu_size ,zero 
-0x6e37 030236 arg mem_sdp_uuid_search_ptr ,timeup 
-0x6e38 030237 ifetch 2 ,timeup 
-0x6e39 030238 rtn blank 
-0x6e3a 030239 call search_all_uuid 
-0x6e3b 030240 call l2cap_get_sdp_tx_payload 
-0x6e3c 030241 force 3 ,pdata 
-0x6e3d 030242 istore 1 ,contw 
-0x6e3e 030243 fetch 2 ,mem_sdp_transactionid 
-0x6e3f 030244 istore 2 ,contw 
-0x6e40 030245 lshift2 queue ,pdata 
-0x6e41 030246 add pdata ,5 ,pdata 
-0x6e42 030247 add pdata ,5 ,regc 
-0x6e43 030248 byteswap pdata ,pdata 
-0x6e44 030249 istore 2 ,contw 
-0x6e45 030250 deposit queue 
-0x6e46 030251 byteswap pdata ,pdata 
-0x6e47 030252 istore 2 ,contw 
-0x6e48 030253 istore 2 ,contw 
-0x6e49 030254 arg mem_sdp_handle_list ,contr 
-0x6e4a 030255 copy queue ,loopcnt 
-0x6e4b 030256 branch ss_req_blank ,zero 
-:      030257 ss_req_loop:
-0x6e4c 030258 ifetch 4 ,contr 
-0x6e4d 030259 istore 4 ,contw 
-0x6e4e 030260 loop ss_req_loop 
-:      030261 ss_req_blank:
-0x6e4f 030262 force 0 ,pdata 
-0x6e50 030263 istore 1 ,contw 
-0x6e51 030264 deposit regc 
-0x6e52 030265 store 2 ,mem_sdp_tx_pkt_length 
-0x6e53 030267 rtn 
-:      030278 sdp_process_sa_req:
-0x6e54 030279 bpatchx patch3a_0 ,mem_patch3a 
-0x6e55 030280 ifetch 4 ,contr 
-0x6e56 030281 store 4 ,mem_sdp_record_handle 
-0x6e57 030282 increase -4 ,timeup 
-0x6e58 030283 call sdp_store_maxbyte 
-0x6e59 030284 store 2 ,mem_sdp_attribute_maxbyte 
-0x6e5a 030285 increase -2 ,timeup 
-0x6e5b 030286 call dataelementtype6 
-0x6e5c 030287 branch sdp_invalid_request_syntax ,zero 
-0x6e5d 030288 compare 5 ,rega ,0xff 
-0x6e5e 030290 branch sa_judge_wholerange ,true 
-:      030291 sa_isnot_wholerange:
-0x6e5f 030292 arg mem_sdp_attrib_list ,contw 
-0x6e60 030293 force 0 ,queue 
-0x6e61 030294 branch sa_req_loop 
-:      030295 sa_judge_wholerange:
-0x6e62 030296 ifetch 1 ,contr 
-0x6e63 030297 bne sdp_attribute_range ,sdp_invalid_request_syntax 
-0x6e64 030298 ifetch 2 ,contr 
-0x6e65 030299 nbranch sa_judge_wholerange_false1 ,blank 
-0x6e66 030300 ifetch 1 ,contr 
-0x6e67 030301 bne 0xff ,sa_judge_wholerange_false2 
-0x6e68 030302 ifetch 1 ,contr 
-0x6e69 030303 bne 0xff ,sa_judge_wholerange_false3 
-0x6e6a 030304 branch sa_req_all 
-:      030305 sa_judge_wholerange_false3:
-0x6e6b 030306 increase -5 ,contr 
-0x6e6c 030307 branch sa_isnot_wholerange 
-:      030308 sa_judge_wholerange_false2:
-0x6e6d 030309 increase -4 ,contr 
-0x6e6e 030310 branch sa_isnot_wholerange 
-:      030311 sa_judge_wholerange_false1:
-0x6e6f 030312 increase -3 ,contr 
-0x6e70 030313 branch sa_isnot_wholerange 
-:      030314 sa_req_loop:
-0x6e71 030315 ifetch 1 ,contr 
-0x6e72 030316 beq sdp_attribute_id ,sa_req_one_id 
-0x6e73 030317 beq sdp_attribute_range ,sa_req_range 
-:      030318 sa_req_range:
-0x6e74 030319 ifetch 2 ,contr 
-0x6e75 030320 istore 2 ,contw 
-0x6e76 030321 increase 1 ,queue 
-0x6e77 030322 byteswap pdata ,regb 
-0x6e78 030323 ifetch 2 ,contr 
-0x6e79 030324 byteswap pdata ,pdata 
-:      030325 sa_req_range_id_increase:
-0x6e7a 030326 increase 1 ,regb 
-0x6e7b 030327 isub regb ,null 
-0x6e7c 030328 nbranch sa_req_range_id_finish ,positive 
-0x6e7d 030329 copy pdata ,regc 
-0x6e7e 030330 byteswap regb ,pdata 
-0x6e7f 030331 istore 2 ,contw 
-0x6e80 030332 increase 1 ,queue 
-0x6e81 030333 copy regc ,pdata 
-0x6e82 030334 branch sa_req_range_id_increase 
-:      030335 sa_req_range_id_finish:
-0x6e83 030336 increase -5 ,timeup 
-0x6e84 030337 increase -5 ,rega 
-0x6e85 030338 branch sa_req_check_next_id 
-:      030339 sa_req_one_id:
-0x6e86 030340 ifetch 2 ,contr 
-0x6e87 030341 istore 2 ,contw 
-0x6e88 030342 increase 1 ,queue 
-0x6e89 030343 increase -3 ,timeup 
-0x6e8a 030344 increase -3 ,rega 
-:      030345 sa_req_check_next_id:
-0x6e8b 030346 nbranch sdp_invalid_request_syntax ,positive 
-0x6e8c 030347 nbranch sa_req_loop ,zero 
-0x6e8d 030348 increase -1 ,timeup 
-0x6e8e 030349 nbranch sdp_invalid_request_syntax ,zero 
-0x6e8f 030351 call l2cap_get_sdp_tx_payload 
-0x6e90 030352 increase 10 ,contw 
-0x6e91 030353 arg mem_sdp_attrib_list ,rega 
-:      030354 sa_req_handle_attributelist_next:
-0x6e92 030355 copy queue ,pdata 
-0x6e93 030356 branch sa_req_handle_attributelist_end ,blank 
-0x6e94 030357 ifetch 2 ,rega 
-0x6e95 030358 branch sa_req_handle_attributelist_end ,blank 
-0x6e96 030359 iforce regb 
-0x6e97 030360 fetch 4 ,mem_sdp_record_handle 
-0x6e98 030361 iforce temp 
-0x6e99 030362 call search_handle_attrib 
-0x6e9a 030363 copy contr ,pdata 
-0x6e9b 030364 branch sa_req_handle_attributelist_notfound ,blank 
-0x6e9c 030365 increase -3 ,contr 
-0x6e9d 030366 ifetch 3 ,contr 
-0x6e9e 030367 istore 3 ,contw 
-0x6e9f 030368 call sdp_data_len 
-0x6ea0 030369 iforce loopcnt 
-0x6ea1 030370 call memcpy 
-:      030371 sa_req_handle_attributelist_notfound:
-0x6ea2 030372 increase 2 ,rega 
-0x6ea3 030373 increase -1 ,queue 
-0x6ea4 030374 branch sa_req_handle_attributelist_next 
-:      030376 sa_req_handle_attributelist_end:
-0x6ea5 030377 arg sdp_attribute_res ,rega 
-0x6ea6 030378 call ssa_req_range_lastfreg_common 
-0x6ea7 030379 fetch 2 ,mem_sdp_tx_pkt_length 
-0x6ea8 030380 beq 11 ,sa_empty_rsp 
-0x6ea9 030381 branch ssa_req_range_attrbutes_length_no_continue 
-:      030384 sdp_store_continue_common:
-0x6eaa 030385 ifetch 1 ,contr 
-0x6eab 030386 beq 0 ,sdp_store_continue_0byte 
-0x6eac 030387 beq 1 ,sdp_store_continue_1byte 
-0x6ead 030388 beq 2 ,sdp_store_continue_2byte 
-:      030389 sdp_store_continue_0byte:
-0x6eae 030390 increase -1 ,timeup 
-0x6eaf 030391 branch sdp_store_continue_end 
-:      030392 sdp_store_continue_1byte:
-0x6eb0 030393 ifetch 1 ,contr 
-0x6eb1 030394 increase -2 ,timeup 
-0x6eb2 030395 branch sdp_store_continue_end 
-:      030396 sdp_store_continue_2byte:
-0x6eb3 030397 ifetch 2 ,contr 
-0x6eb4 030398 byteswap pdata ,pdata 
-0x6eb5 030399 increase -3 ,timeup 
-:      030400 sdp_store_continue_end:
-0x6eb6 030401 store 2 ,mem_sdp_continue_byte 
-0x6eb7 030402 rtn 
-:      030404 sa_req_all:
-0x6eb8 030405 increase -5 ,timeup 
-0x6eb9 030406 call sdp_store_continue_common 
-0x6eba 030407 nbranch sdp_invalid_pdu_size ,zero 
-0x6ebb 030408 fetcht 4 ,mem_sdp_record_handle 
-0x6ebc 030409 call search_handle 
-0x6ebd 030410 nbranch sdp_invalid_service_record_handle ,zero 
-0x6ebe 030411 copy contr ,rega 
-0x6ebf 030412 call l2cap_get_sdp_tx_payload 
-0x6ec0 030413 copy rega ,contr 
-0x6ec1 030414 increase 3 ,contw 
-0x6ec2 030415 copy contr ,timeup 
-0x6ec3 030416 call sdp_get_data 
-0x6ec4 030417 copy pdata ,rega 
-0x6ec5 030419 fetch 2 ,mem_sdp_continue_byte 
-0x6ec6 030420 copy pdata ,regb 
-0x6ec7 030421 copy rega ,pdata 
-0x6ec8 030422 isub regb ,regb 
-0x6ec9 030423 fetch 2 ,mem_sdp_attribute_maxbyte 
-0x6eca 030424 isub regb ,null 
-0x6ecb 030425 nbranch sa_req_all_fragment_sdp ,positive 
-0x6ecc 030427 disable user 
-0x6ecd 030428 fetch 2 ,mem_sdp_continue_byte 
-0x6ece 030429 branch sa_req_all_fisrt_fragment ,blank 
-0x6ecf 030430 iadd timeup ,contr 
-0x6ed0 030431 increase 3 ,regb 
-0x6ed1 030432 copy regb ,loopcnt 
-0x6ed2 030433 copy loopcnt ,pdata 
-0x6ed3 030434 increase 3 ,pdata 
-0x6ed4 030435 byteswap pdata ,pdata 
-0x6ed5 030436 istore 2 ,contw 
-0x6ed6 030437 copy loopcnt ,pdata 
-0x6ed7 030438 byteswap pdata ,pdata 
-0x6ed8 030439 istore 2 ,contw 
-0x6ed9 030440 branch sa_req_all_answer_attributelist_full_loop 
-:      030441 sa_req_all_fisrt_fragment:
-0x6eda 030442 add rega ,6 ,loopcnt 
-0x6edb 030443 branch sa_req_all_parlength_continue_byte ,user 
-0x6edc 030444 byteswap loopcnt ,pdata 
-0x6edd 030445 branch sa_req_all_parlength_continue_byte_end 
-:      030446 sa_req_all_parlength_continue_byte:
-0x6ede 030447 copy loopcnt ,pdata 
-0x6edf 030448 increase 2 ,pdata 
-0x6ee0 030449 byteswap pdata ,pdata 
-:      030450 sa_req_all_parlength_continue_byte_end:
-0x6ee1 030451 istore 2 ,contw 
-0x6ee2 030452 increase -3 ,loopcnt 
-0x6ee3 030453 byteswap loopcnt ,pdata 
-0x6ee4 030454 istore 2 ,contw 
-0x6ee5 030455 copy timeup ,contr 
-0x6ee6 030456 branch sa_req_all_answer_attributelist_full_loop 
-:      030457 sa_req_all_fragment_sdp:
-0x6ee7 030458 enable user 
-0x6ee8 030460 fetch 2 ,mem_sdp_attribute_maxbyte 
-0x6ee9 030461 copy pdata ,rega 
-0x6eea 030462 copy rega ,loopcnt 
-0x6eeb 030463 fetch 2 ,mem_sdp_continue_byte 
-0x6eec 030464 branch sa_req_all_fisrt_fragment ,blank 
-0x6eed 030465 iadd timeup ,contr 
-0x6eee 030466 copy rega ,pdata 
-0x6eef 030467 increase 5 ,pdata 
-0x6ef0 030468 byteswap pdata ,pdata 
-0x6ef1 030469 istore 2 ,contw 
-0x6ef2 030470 copy rega ,pdata 
-0x6ef3 030471 byteswap pdata ,pdata 
-0x6ef4 030472 istore 2 ,contw 
-:      030473 sa_req_all_answer_attributelist_full_loop:
-0x6ef5 030474 call memcpy 
-0x6ef6 030475 nbranch sa_req_all_last_frag_continue ,user 
-0x6ef7 030476 force 2 ,pdata 
-0x6ef8 030477 istore 1 ,contw 
-0x6ef9 030478 copy contr ,pdata 
-0x6efa 030479 isub timeup ,pdata 
-0x6efb 030480 byteswap pdata ,pdata 
-0x6efc 030481 istore 2 ,contw 
-0x6efd 030482 branch sa_req_all_frag_end 
-:      030483 sa_req_all_last_frag_continue:
-0x6efe 030484 force 0 ,pdata 
-0x6eff 030485 istore 1 ,contw 
-:      030486 sa_req_all_frag_end:
-0x6f00 030487 arg sdp_attribute_res ,rega 
-0x6f01 030488 branch ssa_req_range_common 
-:      030499 sdp_process_ssa_req:
-0x6f02 030500 bpatchx patch3a_1 ,mem_patch3a 
-0x6f03 030501 call ask_serviceclassid 
-0x6f04 030502 compare 0xff ,temp ,0xff 
-0x6f05 030503 branch sdp_invalid_request_syntax ,true 
-0x6f06 030504 call sdp_store_maxbyte 
-0x6f07 030505 store 2 ,mem_sdp_attribute_maxbyte 
-0x6f08 030506 increase -2 ,timeup 
-0x6f09 030507 call dataelementtype6 
-0x6f0a 030508 arg mem_sdp_attrib_list ,contw 
-0x6f0b 030509 force 0 ,queue 
-:      030510 ssa_req_loop:
-0x6f0c 030511 ifetch 1 ,contr 
-0x6f0d 030512 beq sdp_attribute_range ,ssa_req_range 
-0x6f0e 030513 ifetch 2 ,contr 
-0x6f0f 030514 istore 2 ,contw 
-0x6f10 030515 increase 1 ,queue 
-0x6f11 030516 increase -3 ,timeup 
-0x6f12 030517 increase -3 ,rega 
-0x6f13 030518 nbranch sdp_invalid_request_syntax ,positive 
-0x6f14 030519 nbranch ssa_req_loop ,zero 
-0x6f15 030520 increase -1 ,timeup 
-0x6f16 030521 nbranch sdp_invalid_request_syntax ,zero 
-0x6f17 030522 call l2cap_get_sdp_tx_payload 
-0x6f18 030523 increase 13 ,contw 
-0x6f19 030524 fetch 2 ,mem_sdp_uuid_search_ptr 
-0x6f1a 030525 iforce regc 
-0x6f1b 030526 arg mem_sdp_attrib_list ,rega 
-:      030527 ssa_req_attributelist_next:
-0x6f1c 030528 ifetch 2 ,rega 
-0x6f1d 030529 branch ssa_req_attributelist_end ,blank 
-0x6f1e 030530 iforce regb 
-0x6f1f 030531 call search_attrib 
-0x6f20 030532 branch ssa_req_attributelist_notfound ,blank 
-0x6f21 030533 increase -3 ,contr 
-0x6f22 030534 ifetch 3 ,contr 
-0x6f23 030535 istore 3 ,contw 
-0x6f24 030536 call sdp_data_len 
-0x6f25 030537 iforce loopcnt 
-0x6f26 030538 call memcpy 
-:      030539 ssa_req_attributelist_notfound:
-0x6f27 030540 increase 2 ,rega 
-0x6f28 030541 branch ssa_req_attributelist_next 
-:      030543 ssa_req_attributelist_end:
-0x6f29 030544 call ssa_req_range_lastfreg 
-0x6f2a 030545 fetch 2 ,mem_sdp_tx_pkt_length 
-0x6f2b 030546 beq 14 ,ssa_empty_rsp 
-0x6f2c 030547 call ssa_req_range_attrbutes_length_no_continue 
-0x6f2d 030548 branch ssa_req_range_attrbutes_length_no_continue 
-:      030551 sdp_store_maxbyte:
-0x6f2e 030552 ifetch 2 ,contr 
-0x6f2f 030553 byteswap pdata ,pdata 
-0x6f30 030554 increase -3 ,pdata 
-0x6f31 030555 arg 200 ,temp 
-0x6f32 030556 isub temp ,null 
-0x6f33 030557 nrtn positive 
-0x6f34 030558 setarg 200 
-0x6f35 030559 rtn 
-:      030562 ssa_req_range:
-0x6f36 030563 increase 4 ,contr 
-0x6f37 030564 increase -5 ,timeup 
-0x6f38 030565 increase -5 ,rega 
-0x6f39 030566 nbranch sdp_invalid_request_syntax ,zero 
-0x6f3a 030567 call sdp_store_continue_common 
-0x6f3b 030568 nbranch sdp_invalid_pdu_size ,zero 
-0x6f3c 030569 arg mem_sdp_uuid_search_ptr ,timeup 
-0x6f3d 030570 call search_all_uuid 
-0x6f3e 030571 deposit queue 
-0x6f3f 030572 branch ssa_empty_rsp ,blank 
-0x6f40 030573 store 1 ,mem_handle_humber 
-0x6f41 030575 copy regb ,pdata 
-0x6f42 030576 store 2 ,mem_sdp_all_length 
-0x6f43 030577 arg 0 ,queue 
-0x6f44 030578 arg 0 ,rega 
-0x6f45 030579 call l2cap_get_sdp_tx_payload 
-0x6f46 030580 increase 10 ,contw 
-:      030581 ssa_req_range_find_handle:
-0x6f47 030582 call ssa_req_range_get_length 
-0x6f48 030583 nbranch assert ,user 
-0x6f49 030584 copy contr ,timeup 
-0x6f4a 030585 copy pdata ,regc 
-0x6f4b 030586 iadd rega ,rega 
-0x6f4c 030589 fetch 2 ,mem_sdp_continue_byte 
-0x6f4d 030590 copy pdata ,regb 
-0x6f4e 030591 branch ssa_req_range_first_freg ,blank 
-:      030592 ssa_req_range_later_freg_with_continue:
-0x6f4f 030593 copy rega ,pdata 
-0x6f50 030594 isub regb ,regb 
-0x6f51 030595 branch ssa_req_range_next_handle ,zero 
-0x6f52 030596 nbranch ssa_req_range_next_handle ,positive 
-0x6f53 030597 fetch 2 ,mem_sdp_attribute_maxbyte 
-0x6f54 030598 isub regb ,null 
-0x6f55 030599 branch ssa_req_range_maxbyte_with_continue ,zero 
-0x6f56 030600 nbranch ssa_req_range_maxbyte_with_continue ,positive 
-:      030603 ssa_req_range_send_not_maxbyte:
-0x6f57 030604 copy regb ,loopcnt 
-0x6f58 030605 call ssa_req_range_maxbyte_with_continue_cpy 
-0x6f59 030606 fetch 1 ,mem_handle_humber 
-0x6f5a 030607 increase 1 ,queue 
-0x6f5b 030608 isub queue ,null 
-0x6f5c 030609 branch ssa_req_range_lastfreg ,zero 
-0x6f5d 030610 branch ssa_req_range_freg_with_continue 
-:      030612 ssa_req_range_maxbyte_with_continue:
-0x6f5e 030613 copy pdata ,loopcnt 
-0x6f5f 030614 call ssa_req_range_maxbyte_with_continue_cpy 
-0x6f60 030615 branch ssa_req_range_freg_with_continue 
-:      030617 ssa_req_range_maxbyte_with_continue_cpy:
-0x6f61 030618 increase -3 ,contw 
-0x6f62 030619 copy loopcnt ,temp 
-0x6f63 030620 copy regc ,pdata 
-0x6f64 030621 isub regb ,pdata 
-0x6f65 030622 iadd timeup ,contr 
-0x6f66 030623 branch memcpy 
-:      030625 ssa_req_range_next_handle:
-0x6f67 030626 fetch 1 ,mem_handle_humber 
-0x6f68 030627 increase 1 ,queue 
-0x6f69 030628 isub queue ,null 
-0x6f6a 030629 rtn zero 
-0x6f6b 030630 branch ssa_req_range_find_handle 
-:      030632 ssa_req_range_get_length:
-0x6f6c 030633 call disable_user 
-0x6f6d 030634 arg mem_sdp_handle_list ,contr 
-0x6f6e 030635 lshift2 queue ,pdata 
-0x6f6f 030636 iadd contr ,contr 
-0x6f70 030637 ifetcht 4 ,contr 
-0x6f71 030638 call search_handle 
-0x6f72 030639 nrtn zero 
-0x6f73 030640 call sdp_data_len 
-0x6f74 030641 branch enable_user 
-:      030643 ssa_req_range_first_freg:
-0x6f75 030644 fetch 2 ,mem_sdp_attribute_maxbyte 
-0x6f76 030645 isub rega ,null 
-0x6f77 030646 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
-0x6f78 030647 copy rega ,loopcnt 
-0x6f79 030648 copy loopcnt ,temp 
-0x6f7a 030649 copy timeup ,contr 
-0x6f7b 030650 call memcpy 
-0x6f7c 030651 fetch 2 ,mem_sdp_all_length 
-0x6f7d 030652 isub rega ,null 
-0x6f7e 030653 branch ssa_req_range_freg_no_continue ,zero 
-:      030654 ssa_req_range_firstfreg_not_maxbyte_with_continue:
-0x6f7f 030655 call ssa_req_range_freg_with_continue 
-0x6f80 030656 branch ssa_req_range_attrbutes_length 
-:      030658 ssa_req_range_freg_no_continue:
-0x6f81 030659 call ssa_req_range_lastfreg 
-0x6f82 030660 branch ssa_req_range_attrbutes_length 
-:      030662 ssa_req_range_lastfreg:
-0x6f83 030663 arg sdp_searchattrib_res ,rega 
-:      030664 ssa_req_range_lastfreg_common:
-0x6f84 030665 force 0 ,pdata 
-0x6f85 030666 istore 1 ,contw 
-0x6f86 030667 call ssa_req_range_common 
-0x6f87 030668 fetcht 2 ,mem_sdp_tx_pkt_length 
-0x6f88 030669 increase -5 ,temp 
-0x6f89 030670 byteswap temp ,pdata 
-0x6f8a 030671 istore 2 ,contw 
-0x6f8b 030672 increase -3 ,temp 
-0x6f8c 030673 byteswap temp ,pdata 
-0x6f8d 030674 istore 2 ,contw 
-0x6f8e 030675 rtn 
-:      030677 ssa_req_range_firstfreg_maxbyte_with_continue:
-0x6f8f 030678 copy pdata ,loopcnt 
-0x6f90 030679 copy loopcnt ,temp 
-0x6f91 030680 copy timeup ,contr 
-0x6f92 030681 call memcpy 
-0x6f93 030682 call ssa_req_range_freg_with_continue 
-:      030683 ssa_req_range_attrbutes_length:
-0x6f94 030684 setarg 0x36 
-0x6f95 030685 istore 1 ,contw 
-0x6f96 030686 fetch 2 ,mem_sdp_all_length 
-0x6f97 030687 byteswap pdata ,pdata 
-0x6f98 030688 istore 2 ,contw 
-0x6f99 030689 rtn 
-:      030691 ssa_req_range_attrbutes_length_no_continue:
-0x6f9a 030692 setarg 0x36 
-0x6f9b 030693 istore 1 ,contw 
-0x6f9c 030694 increase -3 ,temp 
-0x6f9d 030695 byteswap temp ,pdata 
-0x6f9e 030696 istore 2 ,contw 
-0x6f9f 030697 rtn 
-:      030699 ssa_req_range_freg_with_continue:
-0x6fa0 030700 arg sdp_searchattrib_res ,rega 
-0x6fa1 030701 setarg 2 
-0x6fa2 030702 istore 1 ,contw 
-0x6fa3 030703 fetch 2 ,mem_sdp_continue_byte 
-0x6fa4 030704 iadd temp ,temp 
-0x6fa5 030705 byteswap temp ,pdata 
-0x6fa6 030706 istore 2 ,contw 
-0x6fa7 030707 call ssa_req_range_common 
-0x6fa8 030708 fetcht 2 ,mem_sdp_tx_pkt_length 
-0x6fa9 030709 increase -5 ,temp 
-0x6faa 030710 byteswap temp ,pdata 
-0x6fab 030711 istore 2 ,contw 
-0x6fac 030712 increase -5 ,temp 
-0x6fad 030713 byteswap temp ,pdata 
-0x6fae 030714 istore 2 ,contw 
-0x6faf 030715 rtn 
-:      030717 ssa_req_range_common:
-0x6fb0 030718 fetch 2 ,mem_sdp_tx_payload_ptr 
-0x6fb1 030719 isub contw ,pdata 
-0x6fb2 030720 sub pdata ,0 ,pdata 
-0x6fb3 030721 store 2 ,mem_sdp_tx_pkt_length 
-0x6fb4 030722 call l2cap_get_sdp_tx_payload 
-0x6fb5 030723 copy rega ,pdata 
-0x6fb6 030724 istore 1 ,contw 
-0x6fb7 030725 fetch 2 ,mem_sdp_transactionid 
-0x6fb8 030726 istore 2 ,contw 
-0x6fb9 030727 rtn 
-:      030740 sdp_process_ssa_res:
-:      030741 sdp_process_ss_res:
-:      030742 sdp_process_sa_res:
-:      030743 sdp_process_error_res:
-0x6fba 030744 rtn 
-:      030777 sdp_invalid_service_record_handle:
-0x6fbb 030778 setarg 0x0200 
-0x6fbc 030779 store 2 ,mem_sdp_error_code 
-0x6fbd 030780 branch sdp_error_response 
-:      030781 sdp_invalid_pdu_size:
-0x6fbe 030782 setarg 0x0400 
-0x6fbf 030783 store 2 ,mem_sdp_error_code 
-0x6fc0 030784 branch sdp_error_response 
-:      030785 sdp_insufficient_resource:
-0x6fc1 030786 setarg 0x0600 
-0x6fc2 030787 store 2 ,mem_sdp_error_code 
-0x6fc3 030788 branch sdp_error_response 
-:      030789 sdp_invalid_request_syntax:
-0x6fc4 030790 setarg 0x0300 
-0x6fc5 030791 store 2 ,mem_sdp_error_code 
-:      030792 sdp_error_response:
-0x6fc6 030793 call l2cap_get_sdp_tx_payload 
-0x6fc7 030794 istore 1 ,contw 
-0x6fc8 030795 fetch 2 ,mem_sdp_transactionid 
-0x6fc9 030796 istore 2 ,contw 
-0x6fca 030797 setarg 0x0200 
-0x6fcb 030798 istore 2 ,contw 
-0x6fcc 030799 fetch 2 ,mem_sdp_error_code 
-0x6fcd 030800 istore 2 ,contw 
-0x6fce 030801 jam 7 ,mem_sdp_tx_pkt_length 
-0x6fcf 030802 rtn 
-:      030807 ask_serviceclassid:
-0x6fd0 030808 arg 0 ,regb 
-0x6fd1 030809 force 0 ,temp 
-0x6fd2 030810 arg mem_sdp_uuid_search_ptr ,contw 
-0x6fd3 030811 call dataelementtype6 
-0x6fd4 030812 branch asksrv_error ,zero 
-:      030813 classidloop:
-0x6fd5 030814 increase 1 ,regb 
-0x6fd6 030815 ifetch 1 ,contr 
-0x6fd7 030816 increase -1 ,rega 
-0x6fd8 030817 increase -1 ,timeup 
-0x6fd9 030818 compare 0x18 ,pdata ,0xf8 
-0x6fda 030819 nbranch asksrv_error ,true 
-0x6fdb 030820 compare 0x04 ,pdata ,0x07 
-0x6fdc 030821 nbranch cmp032 ,true 
-0x6fdd 030822 force 1 ,temp 
-:      030823 skip2bytes:
-0x6fde 030824 ifetch 1 ,contr 
-0x6fdf 030825 increase -1 ,rega 
-0x6fe0 030826 increase -1 ,timeup 
-0x6fe1 030827 bne 0x00 ,frstbwrong 
-0x6fe2 030828 ifetch 1 ,contr 
-0x6fe3 030829 increase -1 ,rega 
-0x6fe4 030830 increase -1 ,timeup 
-0x6fe5 030831 beq 0x00 ,cmpuuid 
-0x6fe6 030832 branch scndbwrong 
-:      030833 frstbwrong:
-0x6fe7 030834 increase 1 ,contr 
-0x6fe8 030835 increase -1 ,rega 
-0x6fe9 030836 increase -1 ,timeup 
-:      030837 scndbwrong:
-0x6fea 030838 increase 2 ,contr 
-0x6feb 030839 increase -2 ,rega 
-0x6fec 030840 increase -2 ,timeup 
-0x6fed 030841 compare 0x00 ,temp ,0xff 
-0x6fee 030842 branch loopornot ,true 
-0x6fef 030843 increase 12 ,contr 
-0x6ff0 030844 increase -12 ,rega 
-0x6ff1 030845 increase -12 ,timeup 
-0x6ff2 030846 branch loopornot 
-:      030847 cmp032:
-0x6ff3 030848 compare 0x02 ,pdata ,0x07 
-0x6ff4 030849 nbranch cmp016 ,true 
-0x6ff5 030850 branch skip2bytes 
-:      030851 cmp016:
-0x6ff6 030852 compare 0x01 ,pdata ,0x07 
-0x6ff7 030853 nbranch asksrv_error ,true 
-:      030854 cmpuuid:
-0x6ff8 030855 increase -2 ,rega 
-0x6ff9 030856 increase -2 ,timeup 
-0x6ffa 030857 ifetch 2 ,contr 
-0x6ffb 030858 sub regb ,4 ,null 
-0x6ffc 030859 branch uuidsize ,zero 
-0x6ffd 030860 istore 2 ,contw 
-:      030861 uuidsize:
-0x6ffe 030862 compare 0x00 ,temp ,0xff 
-0x6fff 030863 branch loopornot ,true 
-0x7000 030864 copy contr ,temp 
-0x7001 030865 ifetch 1 ,contr 
-0x7002 030866 bne 0x00 ,wrong12b 
-0x7003 030867 ifetch 1 ,contr 
-0x7004 030868 bne 0x00 ,wrong12b 
-0x7005 030869 ifetch 1 ,contr 
-0x7006 030870 bne 0x10 ,wrong12b 
-0x7007 030871 ifetch 1 ,contr 
-0x7008 030872 bne 0x00 ,wrong12b 
-0x7009 030873 ifetch 1 ,contr 
-0x700a 030874 bne 0x80 ,wrong12b 
-0x700b 030875 ifetch 1 ,contr 
-0x700c 030876 bne 0x00 ,wrong12b 
-0x700d 030877 ifetch 1 ,contr 
-0x700e 030878 bne 0x00 ,wrong12b 
-0x700f 030879 ifetch 1 ,contr 
-0x7010 030880 bne 0x80 ,wrong12b 
-0x7011 030881 ifetch 1 ,contr 
-0x7012 030882 bne 0x5f ,wrong12b 
-0x7013 030883 ifetch 1 ,contr 
-0x7014 030884 bne 0x9b ,wrong12b 
-0x7015 030885 ifetch 1 ,contr 
-0x7016 030886 bne 0x34 ,wrong12b 
-0x7017 030887 ifetch 1 ,contr 
-0x7018 030888 beq 0xfb ,chck12dn 
-:      030889 wrong12b:
-0x7019 030890 copy temp ,contr 
-:      030891 wrong12b1:
-0x701a 030892 increase 12 ,contr 
-0x701b 030893 force 0x00 ,queue 
-0x701c 030894 force 0x00 ,temp 
-0x701d 030895 branch chck12dn 
-:      030897 chck12dn:
-0x701e 030898 increase -12 ,timeup 
-0x701f 030899 increase -12 ,rega 
-:      030900 loopornot:
-0x7020 030901 force 0x00 ,temp 
-0x7021 030902 compare 0x00 ,rega ,0xff 
-0x7022 030903 nbranch classidloop ,true 
-0x7023 030904 force 0 ,pdata 
-0x7024 030905 istore 2 ,contw 
-0x7025 030906 rtn 
-:      030907 asksrv_error:
-0x7026 030908 arg 0xff ,temp 
-0x7027 030909 rtn 
-:      030919 dataelementtype6:
-0x7028 030920 bpatchx patch3a_4 ,mem_patch3a 
-0x7029 030921 ifetch 1 ,contr 
-0x702a 030922 increase -1 ,timeup 
-0x702b 030923 compare 0x30 ,pdata ,0xf8 
-0x702c 030924 nbranch dsize_error ,true 
-0x702d 030925 compare 0x07 ,pdata ,0x07 
-0x702e 030926 branch dsize32 ,true 
-0x702f 030927 compare 0x06 ,pdata ,0x07 
-0x7030 030928 branch dsize16 ,true 
-0x7031 030929 compare 0x05 ,pdata ,0x07 
-0x7032 030930 nbranch dsize_error ,true 
-0x7033 030932 ifetch 1 ,contr 
-0x7034 030933 copy pdata ,rega 
-0x7035 030934 increase -1 ,timeup 
-0x7036 030935 branch dsize 
-:      030936 dsize32:
-0x7037 030937 increase 2 ,contr 
-0x7038 030938 increase -2 ,timeup 
-:      030939 dsize16:
-0x7039 030940 ifetch 2 ,contr 
-0x703a 030941 byteswap pdata ,rega 
-0x703b 030942 increase -2 ,timeup 
-:      030943 dsize:
-0x703c 030944 force 0x01 ,pdata 
-0x703d 030945 rtn 
-:      030946 dsize_error:
-0x703e 030947 force 0x00 ,pdata 
-0x703f 030948 rtn 
-:      030958 ss_empty_rsp:
-0x7040 030959 setarg sdp_search_res 
-0x7041 030960 store 1 ,mem_sdp_pduid 
-0x7042 030961 branch empty_response 
-:      030962 sa_empty_rsp:
-0x7043 030963 setarg sdp_attribute_res 
-0x7044 030964 store 1 ,mem_sdp_pduid 
-0x7045 030965 branch empty_response 
-:      030966 ssa_empty_rsp:
-0x7046 030967 setarg sdp_searchattrib_res 
-0x7047 030968 store 1 ,mem_sdp_pduid 
-:      030969 empty_response:
-0x7048 030970 call l2cap_get_sdp_tx_payload 
-0x7049 030973 fetch 1 ,mem_sdp_pduid 
-0x704a 030974 copy pdata ,regb 
-0x704b 030975 istore 1 ,contw 
-0x704c 030976 fetch 2 ,mem_sdp_transactionid 
-0x704d 030977 istore 2 ,contw 
-0x704e 030978 setarg 0x0500 
-0x704f 030979 istore 2 ,contw 
-0x7050 030980 compare sdp_attribute_res ,regb ,0xff 
-0x7051 030981 branch fullsearch ,true 
-0x7052 030982 compare sdp_searchattrib_res ,regb ,0xff 
-0x7053 030983 branch fullsearch ,true 
-0x7054 030984 setarg 0x000000 
-0x7055 030985 istore 5 ,contw 
-0x7056 030986 branch outempty 
-:      030988 fullsearch:
-0x7057 030989 setarg 0x350200 
-0x7058 030990 istore 5 ,contw 
-:      030991 outempty:
-0x7059 030992 jam 10 ,mem_sdp_tx_pkt_length 
-0x705a 030993 rtn 
-:      030996 sdp_data_len:
-0x705b 030997 call store_contw 
-0x705c 030998 call store_contr 
-0x705d 030999 call sdp_get_data 
-0x705e 031000 call get_contw 
-0x705f 031001 call get_contr 
-0x7060 031002 copy temp ,pdata 
-0x7061 031003 rtn 
-:      031006 sdp_get_data:
-0x7062 031007 ifetch 1 ,contr 
-0x7063 031008 and pdata ,0x7 ,loopcnt 
-0x7064 031009 rshift3 pdata ,pdata 
-0x7065 031010 bne 0 ,sdp_get_data_type_not0 
-:      031011 sdp_get_data_type0:
-0x7066 031012 force 1 ,pdata 
-0x7067 031013 force 1 ,temp 
-0x7068 031014 rtn 
-:      031016 sdp_get_data_type_not0_sizeindex01234:
-0x7069 031017 call left_shift_n 
-0x706a 031018 add pdata ,1 ,temp 
-0x706b 031019 rtn 
-:      031020 sdp_get_data_type_not0:
-0x706c 031021 deposit loopcnt 
-0x706d 031022 sub pdata ,4 ,null 
-0x706e 031023 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
-0x706f 031024 beq 5 ,sdp_get_data_type_not0_sizeindex5 
-0x7070 031025 beq 6 ,sdp_get_data_type_not0_sizeindex6 
-0x7071 031026 beq 7 ,sdp_get_data_type_not0_sizeindex7 
-0x7072 031027 rtn 
-:      031029 sdp_get_data_type_not0_sizeindex5:
-0x7073 031030 ifetch 1 ,contr 
-0x7074 031031 add pdata ,2 ,temp 
-0x7075 031032 rtn 
-:      031033 sdp_get_data_type_not0_sizeindex6:
-0x7076 031034 ifetch 2 ,contr 
-0x7077 031035 byteswap pdata ,pdata 
-0x7078 031036 add pdata ,3 ,temp 
-0x7079 031037 rtn 
-:      031038 sdp_get_data_type_not0_sizeindex7:
-0x707a 031039 ifetch 2 ,contr 
-0x707b 031040 byteswap pdata ,pdata 
-0x707c 031041 ifetcht 2 ,contr 
-0x707d 031042 byteswap temp ,temp 
-0x707e 031043 lshift16 temp ,temp 
-0x707f 031044 iadd temp ,pdata 
-0x7080 031045 add pdata ,5 ,temp 
-0x7081 031046 rtn 
-:      031052 search_all_uuid:
-0x7082 031053 bpatchx patch3a_5 ,mem_patch3a 
-0x7083 031054 force 0 ,queue 
-0x7084 031055 arg 0 ,regb 
-0x7085 031056 arg mem_sdp_handle_list ,contw 
-:      031057 search_all_uuid_llop:
-0x7086 031058 ifetch 2 ,timeup 
-0x7087 031059 rtn blank 
-0x7088 031060 call search_uuid 
-0x7089 031061 copy queue ,pdata 
-0x708a 031062 rtneq sdp_max_handle_number 
-0x708b 031063 increase 2 ,timeup 
-0x708c 031064 branch search_all_uuid_llop 
-:      031066 search_uuid:
-0x708d 031068 iforce regc 
-0x708e 031070 fetch 2 ,mem_ui_uuid_table 
-0x708f 031071 iforce contr 
-:      031072 search_uuid_next:
-0x7090 031073 copy queue ,pdata 
-0x7091 031074 rtneq sdp_max_handle_number 
-0x7092 031075 disable user 
-0x7093 031076 ifetch 1 ,contr 
-0x7094 031077 rtn blank 
-0x7095 031078 iforce loopcnt 
-:      031079 search_uuid_loop:
-0x7096 031080 ifetch 2 ,contr 
-0x7097 031081 isub regc ,null 
-0x7098 031082 nbranch search_uuid_not_found ,zero 
-0x7099 031083 enable user 
-:      031084 search_uuid_not_found:
-0x709a 031085 loop search_uuid_loop 
-0x709b 031086 ifetcht 4 ,contr 
-0x709c 031087 copy contr ,rega 
-0x709d 031088 nbranch search_uuid_nomatch ,user 
-0x709e 031089 arg mem_sdp_handle_list ,contr 
-0x709f 031090 arg sdp_max_handle_number ,loopcnt 
-:      031091 search_uuid_check_same_handle:
-0x70a0 031092 ifetch 4 ,contr 
-0x70a1 031093 branch search_uuid_store_handle ,blank 
-0x70a2 031094 isub temp ,null 
-0x70a3 031095 branch search_uuid_nomatch ,zero 
-0x70a4 031096 loop search_uuid_check_same_handle 
-0x70a5 031097 rtn 
-:      031098 search_uuid_store_handle:
-0x70a6 031099 istoret 4 ,contw 
-0x70a7 031100 increase 1 ,queue 
-0x70a8 031101 copy rega ,contr 
-0x70a9 031102 call sdp_data_len 
-0x70aa 031103 iadd regb ,regb 
-0x70ab 031104 iadd contr ,contr 
-0x70ac 031105 branch search_uuid_next 
-:      031106 search_uuid_nomatch:
-0x70ad 031107 copy rega ,contr 
-0x70ae 031108 call sdp_get_data 
-0x70af 031109 iadd contr ,contr 
-0x70b0 031110 branch search_uuid_next 
-:      031116 search_handle:
-0x70b1 031117 bpatchx patch3a_6 ,mem_patch3a 
-0x70b2 031118 fetch 2 ,mem_ui_uuid_table 
-0x70b3 031119 iforce contr 
-:      031120 search_handle_loop:
-0x70b4 031121 ifetch 1 ,contr 
-0x70b5 031122 branch disable_zero ,blank 
-0x70b6 031123 lshift pdata ,pdata 
-0x70b7 031124 iadd contr ,contr 
-0x70b8 031125 ifetch 4 ,contr 
-0x70b9 031126 isub temp ,null 
-0x70ba 031127 rtn zero 
-0x70bb 031128 deposit contw 
-0x70bc 031129 store 2 ,mem_contw 
-0x70bd 031130 storet 8 ,mem_temp 
-0x70be 031131 call sdp_get_data 
-0x70bf 031132 iadd contr ,contr 
-0x70c0 031133 copy contr ,pdata 
-0x70c1 031134 fetcht 2 ,mem_contw 
-0x70c2 031135 copy temp ,contw 
-0x70c3 031136 fetcht 8 ,mem_temp 
-0x70c4 031137 copy pdata ,contr 
-0x70c5 031138 branch search_handle_loop 
-:      031144 search_attrib:
-0x70c6 031145 bpatchx patch3a_7 ,mem_patch3a 
-0x70c7 031146 fetch 2 ,mem_ui_uuid_table 
-0x70c8 031147 iforce contr 
-:      031148 search_attrib_next:
-0x70c9 031149 ifetch 1 ,contr 
-0x70ca 031150 branch search_attrib_end ,blank 
-0x70cb 031151 iforce loopcnt 
-:      031152 search_attrib_loop:
-0x70cc 031153 ifetch 2 ,contr 
-0x70cd 031154 isub regc ,null 
-0x70ce 031155 branch search_attrib_found_uuid ,zero 
-0x70cf 031156 loop search_attrib_loop 
-0x70d0 031157 increase 4 ,contr 
-0x70d1 031158 call sdp_get_data 
-0x70d2 031159 iadd contr ,contr 
-0x70d3 031160 branch search_attrib_next 
-:      031161 search_attrib_found_uuid:
-0x70d4 031162 increase -1 ,loopcnt 
-0x70d5 031163 lshift loopcnt ,pdata 
-0x70d6 031164 iadd contr ,contr 
-0x70d7 031165 increase 4 ,contr 
-0x70d8 031166 call sdp_get_data 
-0x70d9 031167 iadd contr ,timeup 
-:      031168 search_attrib_loop_attribs:
-0x70da 031169 increase 1 ,contr 
-0x70db 031170 ifetch 2 ,contr 
-0x70dc 031171 isub regb ,null 
-0x70dd 031175 branch disable_blank ,zero 
-0x70de 031176 call sdp_data_len 
-0x70df 031177 iadd contr ,contr 
-0x70e0 031178 deposit timeup 
-0x70e1 031179 isub contr ,null 
-0x70e2 031180 branch search_attrib_end ,zero 
-0x70e3 031181 branch search_attrib_loop_attribs 
-:      031182 search_attrib_end:
-0x70e4 031183 force 0 ,contr 
-0x70e5 031184 force 0 ,pdata 
-0x70e6 031185 rtn 
-:      031191 search_handle_attrib:
-0x70e7 031192 bpatchx patch3b_0 ,mem_patch3b 
-0x70e8 031193 fetch 2 ,mem_ui_uuid_table 
-0x70e9 031194 iforce contr 
-:      031195 search_handle_attrib_next:
-0x70ea 031196 ifetch 1 ,contr 
-0x70eb 031197 branch search_handle_attrib_end ,blank 
-0x70ec 031198 lshift pdata ,pdata 
-0x70ed 031199 iadd contr ,contr 
-0x70ee 031200 ifetch 4 ,contr 
-0x70ef 031201 isub temp ,null 
-0x70f0 031202 branch search_handl_attrib_found_handle ,zero 
-0x70f1 031203 call sdp_get_data 
-0x70f2 031204 iadd contr ,contr 
-0x70f3 031205 branch search_handle_attrib_next 
-:      031206 search_handl_attrib_found_handle:
-0x70f4 031207 call sdp_get_data 
-0x70f5 031208 iadd contr ,timeup 
-:      031209 search_handle_attrib_loop_attribs:
-0x70f6 031210 increase 1 ,contr 
-0x70f7 031211 ifetch 2 ,contr 
-0x70f8 031212 isub regb ,null 
-0x70f9 031213 rtn zero 
-0x70fa 031214 call sdp_data_len 
-0x70fb 031215 iadd contr ,contr 
-0x70fc 031216 deposit timeup 
-0x70fd 031217 isub contr ,null 
-0x70fe 031218 branch search_handle_attrib_end ,zero 
-0x70ff 031219 branch search_handle_attrib_loop_attribs 
-:      031220 search_handle_attrib_end:
-0x7100 031221 force 0 ,contr 
-0x7101 031222 rtn 
-:      031226 search_rfcomm_cn:
-0x7102 031227 arg 0x0400 ,regb 
-0x7103 031228 call search_handl_attrib_found_handle 
-0x7104 031229 arg 0x0300 ,regb 
-0x7105 031230 call search_uuid_in_data 
-0x7106 031231 nrtn user 
-0x7107 031232 sub rega ,3 ,null 
-0x7108 031233 branch disable_user ,positive 
-0x7109 031234 ifetch 1 ,contr 
-0x710a 031235 bne 0x08 ,disable_user 
-0x710b 031236 ifetch 1 ,contr 
-0x710c 031237 rtn 
-:      031242 search_uuid_in_data:
-0x710d 031243 bpatchx patch3b_1 ,mem_patch3b 
-0x710e 031244 call sdp_get_data 
-0x710f 031245 copy pdata ,rega 
-:      031246 search_uuid_in_data_loop:
-0x7110 031247 ifetch 1 ,contr 
-0x7111 031248 and pdata ,0x7 ,loopcnt 
-0x7112 031249 rshift3 pdata ,pdata 
-0x7113 031250 sub pdata ,3 ,null 
-0x7114 031251 branch search_uuid_in_data_found_uuid ,zero 
-0x7115 031252 copy loopcnt ,pdata 
-0x7116 031253 beq 5 ,search_uuid_in_data_found_element_index5 
-0x7117 031254 beq 6 ,search_uuid_in_data_found_element_index6 
-0x7118 031255 beq 7 ,search_uuid_in_data_found_element_index7 
-0x7119 031256 increase -1 ,contr 
-0x711a 031257 call sdp_get_data 
-0x711b 031258 iadd contr ,contr 
-0x711c 031259 copy rega ,pdata 
-0x711d 031260 isub temp ,rega 
-0x711e 031261 branch disable_user ,zero 
-0x711f 031262 branch search_uuid_in_data_loop 
-:      031264 search_uuid_in_data_found_element_index5:
-0x7120 031265 increase -2 ,rega 
-0x7121 031266 increase 1 ,contr 
-0x7122 031267 branch search_uuid_in_data_loop 
-:      031268 search_uuid_in_data_found_element_index6:
-0x7123 031269 increase -3 ,rega 
-0x7124 031270 increase 2 ,contr 
-0x7125 031271 branch search_uuid_in_data_loop 
-:      031272 search_uuid_in_data_found_element_index7:
-0x7126 031273 increase -5 ,rega 
-0x7127 031274 increase 4 ,contr 
-0x7128 031275 branch search_uuid_in_data_loop 
-:      031277 search_uuid_in_data_found_uuid:
-0x7129 031278 increase -1 ,rega 
-0x712a 031279 copy loopcnt ,pdata 
-0x712b 031280 beq 1 ,search_uuid_in_data_type_uuid_16 
-0x712c 031281 beq 2 ,search_uuid_in_data_type_uuid_32 
-0x712d 031282 beq 4 ,search_uuid_in_data_type_uuid_128 
-0x712e 031283 branch disable_user 
-:      031284 search_uuid_in_data_type_uuid_128:
-0x712f 031285 increase -12 ,rega 
-:      031286 search_uuid_in_data_type_uuid_32:
-0x7130 031287 ifetch 2 ,contr 
-0x7131 031288 increase -2 ,rega 
-:      031289 search_uuid_in_data_type_uuid_16:
-0x7132 031290 ifetch 2 ,contr 
-0x7133 031291 isub regb ,null 
-0x7134 031292 branch enable_user ,zero 
-0x7135 031293 increase -2 ,rega 
-0x7136 031294 branch disable_user ,zero 
-0x7137 031295 branch search_uuid_in_data_loop 
-:      031354 sdp_send_spp_request:
-0x7138 031355 call l2cap_get_sdp_tx_payload 
-0x7139 031356 copy pdata ,contw 
-0x713a 031357 setarg 6 
-0x713b 031358 istore 1 ,contw 
-0x713c 031359 setarg sdp_tid_spp 
-0x713d 031360 istore 2 ,contw 
-0x713e 031361 setarg 0x0f00 
-0x713f 031362 istore 2 ,contw 
-0x7140 031363 setarg 0x1a0535 
-0x7141 031364 istore 3 ,contw 
-0x7142 031365 setarg 0x0111 
-0x7143 031366 lshift16 pdata ,pdata 
-0x7144 031367 istore 4 ,contw 
-0x7145 031368 setarg 0x2600 
-0x7146 031369 istore 2 ,contw 
-0x7147 031370 setarg 0x0335 
-0x7148 031371 istore 2 ,contw 
-0x7149 031372 setarg 0x0009 
-0x714a 031373 istore 2 ,contw 
-0x714b 031374 setarg 0x0004 
-0x714c 031375 istore 2 ,contw 
-0x714d 031376 jam 0x14 ,mem_sdp_tx_pkt_length 
-0x714e 031377 rtn 
-:      031381 function_g2:
-0x714f 031382 bpatchx patch3b_2 ,mem_patch3b 
-0x7150 031383 jam 80 ,mem_aes_cmac_data_length 
-0x7151 031384 arg memdat ,contw 
-0x7152 031385 arg mem_le_srand ,contr 
-0x7153 031386 call memcpy16 
-0x7154 031387 arg mem_le_pubkey_local_x_256 ,contr 
-0x7155 031388 call memcpy32 
-0x7156 031389 arg mem_le_pubkey_remote_x_256 ,contr 
-0x7157 031390 call memcpy32 
-0x7158 031391 call inverse_memdat 
-0x7159 031392 arg mem_le_mrand ,contr 
-0x715a 031393 call store_inverse_k 
-0x715b 031394 call function_aes_cmac 
-0x715c 031396 arg mem_aes_cmac_temp ,contw 
-0x715d 031397 call load_inverse_result 
-0x715e 031398 setarg 1000000 
-0x715f 031399 copy pdata ,rega 
-0x7160 031400 fetch 4 ,mem_aes_cmac_temp 
-0x7161 031401 idiv rega 
-0x7162 031402 call wait_div_end 
-0x7163 031403 remainder pdata 
-0x7164 031404 store 4 ,mem_gkey 
-0x7165 031406 rtn 
-:      031408 function_f6_eb:
-0x7166 031409 jam 65 ,mem_aes_cmac_data_length 
-0x7167 031410 arg memdat ,contw 
-0x7168 031411 call store_addr_common_a 
-0x7169 031412 call store_addr_common_b 
-0x716a 031413 fetch 3 ,mem_le_pres + 1 
-0x716b 031414 istore 3 ,contw 
-0x716c 031417 call get_r 
-0x716d 031419 arg mem_le_mrand ,contr 
-0x716e 031420 call memcpy16 
-0x716f 031421 arg mem_le_srand ,contr 
-0x7170 031422 call memcpy16 
-0x7171 031423 call inverse_memdat 
-0x7172 031424 arg mem_le_mackey ,contr 
-0x7173 031425 arg mem_aes_cmac_k ,contw 
-0x7174 031426 call memcpy16 
-0x7175 031428 branch function_aes_cmac 
-:      031432 get_r:
-0x7176 031433 fetch 4 ,mem_le_tk 
-0x7177 031434 istore 4 ,contw 
-0x7178 031435 call memset0_4 
-0x7179 031436 branch memset0_8 
-:      031438 function_f6_ea:
-0x717a 031439 bpatchx patch3b_3 ,mem_patch3b 
-0x717b 031440 jam 65 ,mem_aes_cmac_data_length 
-0x717c 031441 arg memdat ,contw 
-0x717d 031442 call store_addr_common_b 
-0x717e 031443 call store_addr_common_a 
-0x717f 031444 fetch 3 ,mem_le_preq + 1 
-0x7180 031445 istore 3 ,contw 
-0x7181 031448 call get_r 
-0x7182 031449 arg mem_le_srand ,contr 
-0x7183 031450 call memcpy16 
-0x7184 031451 arg mem_le_mrand ,contr 
-0x7185 031452 call memcpy16 
-0x7186 031453 call inverse_memdat 
-0x7187 031454 arg mem_le_mackey ,contr 
-0x7188 031455 arg mem_aes_cmac_k ,contw 
-0x7189 031456 call memcpy16 
-0x718a 031458 call function_aes_cmac 
-0x718b 031459 arg mem_aes_cmac_temp ,contw 
-0x718c 031460 branch load_inverse_result 
-:      031462 function_f5:
-0x718d 031463 jam 32 ,mem_aes_cmac_data_length 
-0x718e 031464 arg mem_le_dhkey_256 ,contr 
-0x718f 031465 arg memdat ,contw 
-0x7190 031466 call memcpy32 
-0x7191 031467 call inverse_memdat 
-0x7192 031468 arg mem_le_slat ,contr 
-0x7193 031469 call store_inverse_k 
-0x7194 031470 call function_aes_cmac 
-0x7195 031471 arg mem_aes_cmac_k ,contw 
-0x7196 031472 call store_aes_result 
-0x7197 031473 arg 1 ,temp 
-0x7198 031474 call function_f5_common 
-0x7199 031475 arg mem_le_ltk ,contw 
-0x719a 031476 call load_inverse_result 
-0x719b 031477 arg 0 ,temp 
-0x719c 031478 call function_f5_common 
-0x719d 031479 arg mem_le_mackey ,contw 
-0x719e 031481 branch store_aes_result 
-:      031484 function_f5_common:
-0x719f 031485 bpatchx patch3b_4 ,mem_patch3b 
-0x71a0 031486 jam 53 ,mem_aes_cmac_data_length 
-0x71a1 031487 setarg 0x100 
-0x71a2 031488 store 2 ,memdat 
-0x71a3 031489 call store_addr_common_b 
-0x71a4 031490 call store_addr_common_a 
-0x71a5 031491 arg mem_le_srand ,contr 
-0x71a6 031492 call memcpy16 
-0x71a7 031493 arg mem_le_mrand ,contr 
-0x71a8 031494 call memcpy16 
-0x71a9 031496 setarg 0x6c65 
-0x71aa 031497 istore 2 ,contw 
-0x71ab 031498 setarg 0x6274 
-0x71ac 031499 istore 2 ,contw 
-0x71ad 031500 istoret 1 ,contw 
-0x71ae 031501 call inverse_memdat 
-0x71af 031502 branch function_aes_cmac 
-:      031504 store_addr_common_b:
-0x71b0 031505 fetch 6 ,mem_le_lap 
-0x71b1 031506 istore 6 ,contw 
-0x71b2 031507 fetch 1 ,mem_le_conn_own_addr_type 
-0x71b3 031508 istore 1 ,contw 
-0x71b4 031509 rtn 
-:      031511 store_addr_common_a:
-0x71b5 031512 fetch 6 ,mem_le_plap 
-0x71b6 031513 istore 6 ,contw 
-0x71b7 031518 fetch 1 ,mem_le_conn_peer_addr_type 
-0x71b8 031519 istore 1 ,contw 
-0x71b9 031520 rtn 
-:      031522 function_f4_ca:
-0x71ba 031523 jam 65 ,mem_aes_cmac_data_length 
-0x71bb 031524 fetch 1 ,mem_passkey_1bit 
-0x71bc 031525 store 1 ,memdat 
-0x71bd 031526 arg mem_le_pubkey_local_x_256 ,contr 
-0x71be 031527 call memcpy32 
-0x71bf 031528 arg mem_le_pubkey_remote_x_256 ,contr 
-0x71c0 031529 call memcpy32 
-0x71c1 031530 call inverse_memdat 
-0x71c2 031531 arg mem_le_mrand ,contr 
-0x71c3 031532 call store_inverse_k 
-0x71c4 031533 branch function_aes_cmac 
-:      031536 function_f4_cb:
-0x71c5 031537 jam 65 ,mem_aes_cmac_data_length 
-0x71c6 031538 fetch 1 ,mem_passkey_1bit 
-0x71c7 031539 store 1 ,memdat 
-0x71c8 031540 arg mem_le_pubkey_remote_x_256 ,contr 
-0x71c9 031541 call memcpy32 
-0x71ca 031542 arg mem_le_pubkey_local_x_256 ,contr 
-0x71cb 031543 call memcpy32 
-0x71cc 031544 call inverse_memdat 
-0x71cd 031545 arg mem_le_srand ,contr 
-0x71ce 031546 call store_inverse_k 
-0x71cf 031547 branch function_aes_cmac 
-:      031549 function_aes_cmac:
-0x71d0 031550 bpatchx patch3b_5 ,mem_patch3b 
-0x71d1 031551 call function_aes_cmac_generate_subkey 
-0x71d2 031555 fetch 1 ,mem_aes_cmac_data_length 
-0x71d3 031556 copy pdata ,temp 
-:      031557 function_ceil16:
-0x71d4 031558 increase 15 ,pdata 
-0x71d5 031559 rshift4 pdata ,pdata 
-0x71d6 031560 copy pdata ,regb 
-0x71d7 031561 branch function_aes_cmac_set_flag_0_balnk ,blank 
-0x71d8 031562 and temp ,0x0f ,pdata 
-0x71d9 031563 nbranch function_aes_cmac_set_flag_0 ,blank 
-0x71da 031565 arg mem_aes_cmac_k1 ,regc 
-0x71db 031566 arg memdat ,pdata 
-0x71dc 031567 increase -16 ,pdata 
-0x71dd 031570 iadd temp ,rega 
-0x71de 031571 arg mem_aes_cmac_m_last ,contw 
-0x71df 031572 arg 4 ,loopcnt 
-0x71e0 031573 call xor_loop 
-0x71e1 031577 branch function_aes_cmac_aes 
-:      031579 function_aes_cmac_set_flag_0_balnk:
-0x71e2 031580 arg 1 ,regb 
-0x71e3 031581 arg 0 ,rega 
-0x71e4 031583 branch function_aes_cmac_set_flag_0_common 
-:      031586 function_aes_cmac_set_flag_0:
-0x71e5 031588 and temp ,0x0f ,rega 
-:      031589 function_aes_cmac_set_flag_0_common:
-0x71e6 031590 arg memdat ,pdata 
-0x71e7 031591 iadd temp ,pdata 
-0x71e8 031592 isub rega ,contr 
-0x71e9 031594 arg mem_aes_cmac_temp ,contw 
-0x71ea 031595 call function_aes_cmac_padding 
-0x71eb 031597 arg mem_aes_cmac_k2 ,regc 
-0x71ec 031598 arg mem_aes_cmac_temp ,rega 
-0x71ed 031599 arg mem_aes_cmac_m_last ,contw 
-0x71ee 031600 arg 4 ,loopcnt 
-0x71ef 031601 call xor_loop 
-:      031608 function_aes_cmac_aes:
-0x71f0 031613 call aes_clear_data 
-0x71f1 031614 call aes_init 
-0x71f2 031617 arg memdat ,contr 
-:      031618 function_aes_cmac_aes_loop:
-0x71f3 031620 increase -1 ,regb 
-0x71f4 031621 deposit regb 
-0x71f5 031622 branch function_aes_cmac_aes_loop_end ,blank 
-0x71f6 031623 call load_data128 
-0x71f7 031624 call do_aes_cbc 
-0x71f8 031625 branch function_aes_cmac_aes_loop 
-:      031627 function_aes_cmac_aes_loop_end:
-0x71f9 031628 arg mem_aes_cmac_temp ,contw 
-0x71fa 031629 call store_aes_result 
-0x71fb 031630 arg mem_aes_cmac_m_last ,contr 
-0x71fc 031631 call load_data128 
-0x71fd 031632 call aes_init 
-0x71fe 031633 arg mem_aes_cmac_temp ,contr 
-0x71ff 031634 call load_data128 
-0x7200 031635 branch do_aes_cbc 
-:      031639 load_inverse_result:
-0x7201 031641 copy contw ,rega 
-0x7202 031642 call store_aes_result 
-0x7203 031644 arg 16 ,loopcnt 
-0x7204 031645 branch inverse_data 
-:      031647 store_inverse_k:
-0x7205 031648 arg mem_aes_cmac_k ,contw 
-0x7206 031649 call memcpy16 
-:      031650 inverse_k:
-0x7207 031651 arg 16 ,loopcnt 
-0x7208 031652 arg mem_aes_cmac_k ,rega 
-0x7209 031653 branch inverse_data 
-:      031655 inverse_memdat:
-0x720a 031656 fetch 1 ,mem_aes_cmac_data_length 
-0x720b 031657 copy pdata ,loopcnt 
-0x720c 031658 arg memdat ,rega 
-0x720d 031659 branch inverse_data 
-:      031661 bn_lshift_0_inverse:
-0x720e 031662 ifetch 1 ,rega 
-0x720f 031663 lshift pdata ,pdata 
-0x7210 031664 isolate1 0 ,regc 
-0x7211 031665 setflag true ,0 ,pdata 
-0x7212 031666 isolate1 8 ,pdata 
-0x7213 031667 setflag true ,0 ,regc 
-0x7214 031668 istore 1 ,rega 
-0x7215 031669 increase -1 ,rega 
-0x7216 031670 loop bn_lshift_0_inverse 
-0x7217 031671 rtn 
-:      031673 function_aes_cmac_k1_inverse:
-0x7218 031674 arg mem_aes_cmac_k1 ,rega 
-:      031675 function_aes_cmac_inverse_common:
-0x7219 031676 increase 15 ,rega 
-0x721a 031677 force 16 ,loopcnt 
-0x721b 031678 force 0 ,regc 
-0x721c 031679 branch bn_lshift_0_inverse 
-:      031681 function_aes_cmac_k2_inverse:
-0x721d 031682 arg mem_aes_cmac_k2 ,rega 
-0x721e 031683 branch function_aes_cmac_inverse_common 
-:      031686 function_aes_cmac_generate_subkey:
-0x721f 031687 arg mem_aes_cmac_k ,contr 
-0x7220 031688 call load_key 
-0x7221 031691 force regidx_xor ,regext_index 
-0x7222 031692 call aes_clear 
-0x7223 031693 call aes_clear_data 
-0x7224 031694 call do_aes_ocb 
-0x7225 031699 arg mem_aes_cmac_k1 ,contw 
-0x7226 031700 call store_aes_result 
-:      031701 function_aes_cmac_k1:
-0x7227 031702 bpatchx patch3b_6 ,mem_patch3b 
-0x7228 031703 fetch 1 ,mem_aes_cmac_k1 
-0x7229 031704 isolate1 7 ,pdata 
-0x722a 031705 nbranch function_aes_cmac_k1_0 ,true 
-0x722b 031706 call function_aes_cmac_k1_inverse 
-0x722c 031709 arg mem_aes_cmac_k1 ,regc 
-0x722d 031711 arg mem_aes_cmac_k1 ,contw 
-0x722e 031714 call function_aes_cmac_xor_rb 
-0x722f 031715 branch function_aes_cmac_k2 
-:      031716 function_aes_cmac_k1_0:
-0x7230 031717 call function_aes_cmac_k1_inverse 
-:      031718 function_aes_cmac_k2:
-0x7231 031720 arg mem_aes_cmac_k1 ,contr 
-0x7232 031721 arg mem_aes_cmac_k2 ,contw 
-0x7233 031722 call memcpy16 
-0x7234 031723 fetch 1 ,mem_aes_cmac_k2 
-0x7235 031724 isolate1 7 ,pdata 
-0x7236 031725 nbranch function_aes_cmac_k2_inverse ,true 
-0x7237 031726 call function_aes_cmac_k2_inverse 
-0x7238 031728 arg mem_aes_cmac_k2 ,regc 
-0x7239 031730 arg mem_aes_cmac_k2 ,contw 
-:      031736 function_aes_cmac_xor_rb:
-0x723a 031737 arg 3 ,loopcnt 
-:      031738 function_aes_cmac_xor_rb_loop:
-0x723b 031739 arg 0 ,temp 
-0x723c 031740 call function_aes_cmac_xor_loop_common 
-0x723d 031741 increase 4 ,regc 
-0x723e 031742 loop function_aes_cmac_xor_rb_loop 
-0x723f 031743 arg 0x8700 ,temp 
-0x7240 031744 lshift16 temp ,temp 
-:      031745 function_aes_cmac_xor_loop_common:
-0x7241 031746 ifetch 4 ,regc 
-0x7242 031747 ixor temp ,pdata 
-0x7243 031748 istore 4 ,contw 
-0x7244 031749 rtn 
-:      031755 function_aes_cmac_padding:
-0x7245 031756 bpatchx patch3b_7 ,mem_patch3b 
-0x7246 031757 arg 16 ,loopcnt 
-0x7247 031758 arg 0 ,pdata 
-:      031759 function_aes_cmac_padding_loop:
-0x7248 031760 isub rega ,null 
-0x7249 031761 branch function_aes_cmac_padding_beq_length ,zero 
-0x724a 031762 branch function_aes_cmac_padding_big_length ,positive 
-0x724b 031763 ifetcht 1 ,contr 
-0x724c 031764 istoret 1 ,contw 
-:      031765 function_aes_cmac_padding_loop2:
-0x724d 031766 increase 1 ,pdata 
-0x724e 031767 loop function_aes_cmac_padding_loop 
-0x724f 031768 rtn 
-:      031769 function_aes_cmac_padding_beq_length:
-0x7250 031770 arg 0x80 ,temp 
-:      031771 function_aes_cmac_padding_common:
-0x7251 031772 istoret 1 ,contw 
-0x7252 031773 branch function_aes_cmac_padding_loop2 
-:      031775 function_aes_cmac_padding_big_length:
-0x7253 031776 arg 0 ,temp 
-0x7254 031777 branch function_aes_cmac_padding_common 
-:      031780 generate_kinit:
-0x7255 031781 call function_e22 
-0x7256 031782 arg mem_input_store ,contr 
-0x7257 031783 arg mem_kinit ,contw 
-0x7258 031784 branch memcpy16 
-:      031787 function_e21:
-0x7259 031788 disable user 
-0x725a 031789 call function_expand 
-0x725b 031790 arg mem_random_number ,contr 
-0x725c 031791 arg mem_x ,contw 
-0x725d 031792 force 15 ,loopcnt 
-0x725e 031793 call memcpy 
-0x725f 031794 ifetch 1 ,contr 
-0x7260 031795 xor_into 6 ,pdata 
-0x7261 031796 istore 1 ,contw 
-0x7262 031797 setarg mem_y 
-0x7263 031798 store 2 ,memp_ar_input 
-0x7264 031799 setarg mem_x 
-0x7265 031800 store 2 ,memp_ar_key 
-0x7266 031801 set1 mark_ar2 ,mark 
-0x7267 031802 branch function_ar 
-:      031806 function_e22:
-0x7268 031807 fetcht 1 ,mem_pin_length 
-0x7269 031808 force 16 ,regb 
-0x726a 031809 add temp ,6 ,regc 
-0x726b 031810 sub regc ,16 ,null 
-0x726c 031811 branch function_e22_pin_init ,positive 
-0x726d 031812 force 16 ,regc 
-:      031813 function_e22_pin_init:
-0x726e 031814 arg mem_x ,contw 
-:      031815 function_e22_genx_pin:
-0x726f 031816 arg mem_pin ,contr 
-0x7270 031817 copy temp ,loopcnt 
-0x7271 031818 disable user 
-:      031819 function_e22_genx_loop:
-0x7272 031820 ifetch 1 ,contr 
-0x7273 031821 istore 1 ,contw 
-0x7274 031822 increase -1 ,regb 
-0x7275 031823 branch function_e22_genx_end ,zero 
-0x7276 031824 loop function_e22_genx_loop 
-0x7277 031825 branch function_e22_genx_pin ,user 
-0x7278 031826 enable user 
-0x7279 031827 force 6 ,loopcnt 
-0x727a 031828 copy rega ,contr 
-0x727b 031829 branch function_e22_genx_loop 
-:      031830 function_e22_genx_end:
-0x727c 031831 arg mem_random_number ,contr 
-0x727d 031832 arg mem_y ,contw 
-0x727e 031833 call memcpy16 
-0x727f 031834 fetch 1 ,mem_y15 
-0x7280 031835 ixor regc ,pdata 
-0x7281 031836 store 1 ,mem_y15 
-0x7282 031837 setarg mem_y 
-0x7283 031838 store 2 ,memp_ar_input 
-0x7284 031839 setarg mem_x 
-0x7285 031840 store 2 ,memp_ar_key 
-0x7286 031841 set1 mark_ar2 ,mark 
-0x7287 031842 branch function_ar 
-:      031847 function_e1:
-0x7288 031848 disable user 
-0x7289 031849 call function_expand 
-0x728a 031850 branch function_hash 
-:      031852 function_e3:
-0x728b 031853 arg mem_aco ,rega 
-0x728c 031854 enable user 
-0x728d 031855 call function_expand 
-0x728e 031856 call function_hash 
-0x728f 031857 arg mem_input_store ,contr 
-0x7290 031858 arg mem_kc ,contw 
-0x7291 031859 branch memcpy16 
-:      031862 function_hash:
-0x7292 031863 setarg mem_random_number 
-0x7293 031864 store 2 ,memp_ar_input 
-0x7294 031865 setarg mem_link_key 
-0x7295 031866 store 2 ,memp_ar_key 
-0x7296 031867 set0 mark_ar2 ,mark 
-0x7297 031868 call function_ar 
-0x7298 031869 arg mem_input_store ,rega 
-0x7299 031870 arg mem_random_number ,regb 
-0x729a 031871 arg mem_x ,contw 
-0x729b 031872 call xor16 
-0x729c 031873 arg mem_x ,rega 
-0x729d 031874 arg mem_y ,regb 
-0x729e 031875 copy regb ,contw 
-0x729f 031876 enable user 
-0x72a0 031877 call add16 
-0x72a1 031878 call key_offset 
-0x72a2 031879 setarg mem_y 
-0x72a3 031880 store 2 ,memp_ar_input 
-0x72a4 031881 setarg mem_x 
-0x72a5 031882 store 2 ,memp_ar_key 
-0x72a6 031883 set1 mark_ar2 ,mark 
-0x72a7 031884 branch function_ar 
-:      031888 function_ar:
-0x72a8 031889 jam 0 ,mem_ar_hround 
-0x72a9 031890 fetch 2 ,memp_ar_key 
-0x72aa 031891 iforce contr 
-0x72ab 031892 arg mem_key_store ,contw 
-0x72ac 031893 call memcpy16 
-0x72ad 031894 fetch 2 ,memp_ar_input 
-0x72ae 031895 iforce contr 
-0x72af 031896 arg mem_input_store ,contw 
-0x72b0 031897 call memcpy16 
-:      031899 function_ar_loop:
-0x72b1 031900 call key_scheduling 
-0x72b2 031901 disable user 
-0x72b3 031902 bmark0 mark_ar2 ,function_ar_original 
-0x72b4 031903 fetch 1 ,mem_ar_hround 
-0x72b5 031904 bne 4 ,function_ar_original 
-0x72b6 031905 fetch 2 ,memp_ar_input 
-0x72b7 031906 iforce regb 
-0x72b8 031907 call xor_mod32_ar2 
-:      031908 function_ar_original:
-0x72b9 031909 call xor_mod32 
-0x72ba 031910 call el_boxes 
-0x72bb 031911 fetch 1 ,mem_ar_hround 
-0x72bc 031912 increase 1 ,pdata 
-0x72bd 031913 store 1 ,mem_ar_hround 
-0x72be 031915 call key_scheduling 
-0x72bf 031916 enable user 
-0x72c0 031917 call xor_mod32 
-0x72c1 031918 call pht 
-0x72c2 031919 call permute 
-0x72c3 031920 call pht 
-0x72c4 031921 call permute 
-0x72c5 031922 call pht 
-0x72c6 031923 call permute 
-0x72c7 031924 call pht 
-0x72c8 031925 fetch 1 ,mem_ar_hround 
-0x72c9 031926 increase 1 ,pdata 
-0x72ca 031927 store 1 ,mem_ar_hround 
-0x72cb 031928 bne 16 ,function_ar_loop 
-0x72cc 031929 call key_scheduling 
-0x72cd 031930 disable user 
-0x72ce 031931 branch xor_mod32 
-:      031935 key_scheduling:
-0x72cf 031936 fetch 1 ,mem_ar_hround 
-0x72d0 031937 arg mem_key_store ,contr 
-0x72d1 031938 branch key_sched_zero ,blank 
-0x72d2 031939 iforce regb 
-0x72d3 031940 force 17 ,loopcnt 
-0x72d4 031941 copy contr ,contw 
-:      031942 key_rotateloop:
-0x72d5 031943 ifetch 1 ,contr 
-0x72d6 031944 lshift3 pdata ,temp 
-0x72d7 031945 rshift2 pdata ,pdata 
-0x72d8 031946 rshift3 pdata ,pdata 
-0x72d9 031947 ior temp ,pdata 
-0x72da 031948 istore 1 ,contw 
-0x72db 031949 loop key_rotateloop 
-0x72dc 031950 setarg mem_key_store 
-0x72dd 031951 iadd regb ,contr 
-0x72de 031952 force 16 ,loopcnt 
-0x72df 031953 arg mem_round_key ,contw 
-:      031954 key_select_octet_loop:
-0x72e0 031955 ifetch 1 ,contr 
-0x72e1 031956 istore 1 ,contw 
-0x72e2 031957 compare mem_key_store_end ,contr ,0xff 
-0x72e3 031958 nbranch key_select_octet_nwrap ,true 
-0x72e4 031959 increase -17 ,contr 
-:      031960 key_select_octet_nwrap:
-0x72e5 031961 loop key_select_octet_loop 
-0x72e6 031962 force 0 ,rega 
-0x72e7 031963 add regb ,-1 ,regc 
-0x72e8 031964 lshift2 regc ,regc 
-0x72e9 031965 lshift2 regc ,regc 
-0x72ea 031966 call enable_authrom 
-0x72eb 031967 setarg mem_b_box 
-0x72ec 031968 iadd regc ,regc 
-0x72ed 031969 arg mem_round_key ,contw 
-0x72ee 031970 force 16 ,loopcnt 
-:      031971 bias_round_key_loop:
-0x72ef 031972 ifetcht 1 ,regc 
-0x72f0 031973 ifetch 1 ,contw 
-0x72f1 031974 iadd temp ,pdata 
-0x72f2 031975 istore 1 ,contw 
-0x72f3 031976 increase 1 ,regc 
-0x72f4 031977 loop bias_round_key_loop 
-0x72f5 031978 branch disable_authrom 
-:      031980 key_sched_zero:
-0x72f6 031981 force 16 ,loopcnt 
-0x72f7 031982 force 0 ,temp 
-:      031983 create_byte_16_loop:
-0x72f8 031984 ifetch 1 ,contr 
-0x72f9 031985 ixor temp ,temp 
-0x72fa 031986 loop create_byte_16_loop 
-0x72fb 031987 deposit temp 
-0x72fc 031988 istore 1 ,contr 
-0x72fd 031989 arg mem_key_store ,contr 
-0x72fe 031990 arg mem_round_key ,contw 
-0x72ff 031991 branch memcpy16 
-:      031993 xor_mod32:
-0x7300 031994 arg mem_round_key ,regb 
-:      031995 xor_mod32_ar2:
-0x7301 031996 force 16 ,loopcnt 
-0x7302 031997 arg mem_input_store ,rega 
-0x7303 031998 copy rega ,contw 
-:      031999 xor_mod32_loop:
-0x7304 032000 ifetcht 1 ,rega 
-0x7305 032001 ifetch 1 ,regb 
-0x7306 032002 ixor temp ,alarm 
-0x7307 032003 and loopcnt ,3 ,regc 
-0x7308 032004 nbranch xor_mod32_invert ,user 
-0x7309 032005 xor_into 3 ,regc 
-:      032006 xor_mod32_invert:
-0x730a 032007 sub regc ,1 ,regc 
-0x730b 032008 branch xor_even ,positive 
-0x730c 032009 iadd temp ,alarm 
-:      032010 xor_even:
-0x730d 032011 deposit alarm 
-0x730e 032012 istore 1 ,contw 
-0x730f 032013 increase 1 ,rega 
-0x7310 032014 increase 1 ,regb 
-0x7311 032015 loop xor_mod32_loop 
-0x7312 032016 rtn 
-:      032018 el_boxes:
-0x7313 032019 call enable_authrom 
-0x7314 032020 force 16 ,loopcnt 
-0x7315 032021 arg mem_input_store ,rega 
-:      032022 el_box_loop:
-0x7316 032023 ifetch 1 ,rega 
-0x7317 032024 arg mem_e_box ,contr 
-0x7318 032025 and loopcnt ,3 ,regc 
-0x7319 032026 sub regc ,1 ,null 
-0x731a 032027 branch e_boxes ,positive 
-0x731b 032028 arg mem_l_box ,contr 
-:      032029 e_boxes:
-0x731c 032030 iadd contr ,contr 
-0x731d 032031 ifetch 1 ,contr 
-0x731e 032032 istore 1 ,rega 
-0x731f 032033 increase 1 ,rega 
-0x7320 032034 loop el_box_loop 
-0x7321 032035 branch disable_authrom 
-:      032037 pht:
-0x7322 032038 force 8 ,loopcnt 
-0x7323 032039 arg mem_input_store ,contr 
-0x7324 032040 copy contr ,contw 
-:      032041 pht_loop:
-0x7325 032042 ifetch 1 ,contr 
-0x7326 032043 iforce rega 
-0x7327 032044 ifetch 1 ,contr 
-0x7328 032045 iforce regb 
-0x7329 032046 lshift rega ,pdata 
-0x732a 032047 iadd regb ,pdata 
-0x732b 032048 istore 1 ,contw 
-0x732c 032049 deposit rega 
-0x732d 032050 iadd regb ,pdata 
-0x732e 032051 istore 1 ,contw 
-0x732f 032052 loop pht_loop 
-0x7330 032053 rtn 
-:      032056 permute:
-0x7331 032057 setarg 0x8ae42c 
-0x7332 032058 iforce temp 
-0x7333 032059 force 7 ,loopcnt 
-0x7334 032060 call permute_exchange 
-0x7335 032061 setarg 0xd751b 
-0x7336 032062 iforce temp 
-0x7337 032063 force 5 ,loopcnt 
-0x7338 032064 call permute_exchange 
-0x7339 032065 fetch 1 ,mem_input_store + 15 
-0x733a 032066 iforce rega 
-0x733b 032067 fetch 1 ,mem_input_store + 3 
-0x733c 032068 store 1 ,mem_input_store + 15 
-0x733d 032069 deposit rega 
-0x733e 032070 store 1 ,mem_input_store + 3 
-0x733f 032071 rtn 
-:      032073 permute_exchange:
-0x7340 032074 and temp ,0xf ,regb 
-:      032075 permute_loop:
-0x7341 032076 and temp ,0xf ,pdata 
-0x7342 032077 arg mem_input_store ,contw 
-0x7343 032078 iadd contw ,contw 
-0x7344 032079 ifetch 1 ,contw 
-0x7345 032080 iforce regc 
-0x7346 032081 deposit rega 
-0x7347 032082 istore 1 ,contw 
-0x7348 032083 copy regc ,rega 
-0x7349 032084 rshift4 temp ,temp 
-0x734a 032085 loop permute_loop 
-0x734b 032086 setarg mem_input_store 
-0x734c 032087 iadd regb ,contw 
-0x734d 032088 deposit rega 
-0x734e 032089 istore 1 ,contw 
-0x734f 032090 rtn 
-:      032092 add16:
-0x7350 032093 enable user 
-0x7351 032094 branch xor_add16 
-:      032096 xor16:
-0x7352 032097 disable user 
-:      032098 xor_add16:
-0x7353 032099 force 16 ,loopcnt 
-:      032100 xoradd_loop:
-0x7354 032101 ifetcht 1 ,rega 
-0x7355 032102 ifetch 1 ,regb 
-0x7356 032103 branch xoradd_add ,user 
-0x7357 032104 ixor temp ,pdata 
-0x7358 032105 branch xoradd_store 
-:      032106 xoradd_add:
-0x7359 032107 iadd temp ,pdata 
-:      032108 xoradd_store:
-0x735a 032109 istore 1 ,contw 
-0x735b 032110 increase 1 ,rega 
-0x735c 032111 increase 1 ,regb 
-0x735d 032112 loop xoradd_loop 
-0x735e 032113 rtn 
-:      032116 function_expand:
-0x735f 032117 arg mem_y ,contw 
-0x7360 032118 ifetch 6 ,rega 
-0x7361 032119 istore 6 ,contw 
-0x7362 032120 branch expand_12 ,user 
-0x7363 032121 ifetch 6 ,rega 
-0x7364 032122 branch expand_cont 
-:      032123 expand_12:
-0x7365 032124 ifetch 6 ,contr 
-:      032125 expand_cont:
-0x7366 032126 istore 6 ,contw 
-0x7367 032127 ifetch 4 ,rega 
-0x7368 032128 istore 4 ,contw 
-0x7369 032129 rtn 
-:      032131 key_offset:
-0x736a 032132 arg mem_link_key ,contr 
-0x736b 032133 arg mem_x ,contw 
-0x736c 032134 arg 0 ,temp 
-0x736d 032135 setarg 0x8395a7 
-0x736e 032136 call concatenate_temp24 
-0x736f 032137 setarg 0xb3c1df 
-0x7370 032138 call concatenate_temp24 
-0x7371 032139 setarg 0xe5e9 
-0x7372 032140 call concatenate_temp16 
-0x7373 032141 copy temp ,regab 
-0x7374 032142 disable user 
-0x7375 032143 call key_addxor 
-0x7376 032144 copy regab ,temp 
-0x7377 032145 enable user 
-0x7378 032146 branch key_addxor 
-:      032148 key_addxor:
-0x7379 032149 force 8 ,loopcnt 
-:      032150 key_addxor_loop:
-0x737a 032151 ifetch 1 ,contr 
-0x737b 032152 compare 1 ,loopcnt ,1 
-0x737c 032153 branch key_high ,user 
-0x737d 032154 branch key_xor ,true 
-:      032155 key_add:
-0x737e 032156 iadd temp ,pdata 
-0x737f 032157 branch key_store 
-:      032158 key_high:
-0x7380 032159 branch key_add ,true 
-:      032160 key_xor:
-0x7381 032161 ixor temp ,pdata 
-:      032162 key_store:
-0x7382 032163 istore 1 ,contw 
-0x7383 032164 rshift8 temp ,temp 
-0x7384 032165 loop key_addxor_loop 
-0x7385 032166 rtn 
-:      032168 copy_aco:
-0x7386 032169 fetch 6 ,mem_input_store + 4 
-0x7387 032170 store 6 ,mem_aco 
-0x7388 032171 ifetch 6 ,contr 
-0x7389 032172 istore 6 ,contw 
-0x738a 032173 rtn 
-:      032175 concatenate_temp24:
-0x738b 032176 lshift8 temp ,temp 
-:      032177 concatenate_temp16:
-0x738c 032178 lshift16 temp ,temp 
-0x738d 032179 ior temp ,temp 
-0x738e 032180 rtn 
-:      032184 loop1:
-0x738f 032185 branch loop1 
-:      032189 generate_stk:
-0x7390 032190 bpatchx patch3c_0 ,mem_patch3c 
-0x7391 032191 call function_s1 
-0x7392 032192 arg mem_le_ltk ,contw 
-0x7393 032193 branch store_aes_result 
-:      032196 authenticate_rconfirm:
-0x7394 032197 arg mem_le_srand ,contw 
-0x7395 032198 branch authenticate_mconfirm ,master 
-0x7396 032199 arg mem_le_mrand ,contw 
-:      032200 authenticate_mconfirm:
-0x7397 032201 copy contr ,rega 
-0x7398 032202 call memcpy16 
-0x7399 032203 call function_c1 
-0x739a 032204 arg mem_le_rconfirm ,contr 
-0x739b 032205 branch compare_res 
-:      032207 generate_confirm:
-0x739c 032208 arg mem_le_mrand ,rega 
-0x739d 032209 branch generate_mrand ,master 
-0x739e 032210 arg mem_le_srand ,rega 
-:      032211 generate_mrand:
-0x739f 032212 copy rega ,contw 
-0x73a0 032213 call generate_random 
-0x73a1 032214 branch function_c1 
-:      032216 generate_sk:
-0x73a2 032217 arg mem_le_skdm ,contr 
-0x73a3 032218 call load_data128 
-0x73a4 032219 arg mem_le_ltk ,contr 
-0x73a5 032220 call load_regext 
-0x73a6 032221 force 0x38 ,aes_ctrl 
-0x73a7 032222 force 0x0 ,aes_ctrl 
-0x73a8 032223 call wait_aes 
-0x73a9 032224 arg mem_le_sk ,contw 
-0x73aa 032225 branch store_aes_result 
-:      032228 first_block_counter:
-0x73ab 032229 force 0x49 ,pdata 
-0x73ac 032230 branch first_block 
-:      032231 first_block_data:
-0x73ad 032232 force 1 ,pdata 
-:      032233 first_block:
-0x73ae 032234 force regidx_data ,regext_index 
-0x73af 032235 lshift8 temp ,regext 
-0x73b0 032236 ior regext ,regext 
-0x73b1 032237 increase 1 ,regext_index 
-0x73b2 032238 rshift8 temp ,regext 
-0x73b3 032239 rshift16 regext ,regext 
-0x73b4 032240 fetch 2 ,mem_le_ivm 
-0x73b5 032241 lshift16 ,pdata ,pdata 
-0x73b6 032242 ior regext ,regext 
-0x73b7 032243 increase 1 ,regext_index 
-0x73b8 032244 ifetch 4 ,contr 
-0x73b9 032245 iforce regext 
-0x73ba 032246 increase 1 ,regext_index 
-0x73bb 032247 ifetch 2 ,contr 
-0x73bc 032248 byteswap rega ,regext 
-0x73bd 032249 lshift16 regext ,regext 
-0x73be 032250 ior regext ,regext 
-0x73bf 032251 increase 1 ,regext_index 
-0x73c0 032252 rtn 
-:      032256 generate_mic:
-0x73c1 032257 add regc ,1 ,contr 
-0x73c2 032258 ifetch 1 ,contr 
-0x73c3 032259 iforce rega 
-0x73c4 032260 call first_block_counter 
-0x73c5 032261 call do_aes_ocb 
-0x73c6 032263 force regidx_data ,regext_index 
-0x73c7 032264 ifetch 1 ,regc 
-0x73c8 032265 and_into 0x3 ,pdata 
-0x73c9 032266 lshift16 pdata ,regext 
-0x73ca 032267 set1 8 ,regext 
-0x73cb 032268 call clear_hidata 
-0x73cc 032269 call do_aes_cbc 
-0x73cd 032271 copy rega ,loopcnt 
-0x73ce 032272 add regc ,2 ,contr 
-0x73cf 032273 call padding_data 
-:      032274 generate_mic_loop:
-0x73d0 032275 call aes_load_data 
-0x73d1 032276 call do_aes_cbc 
-0x73d2 032277 deposit loopcnt 
-0x73d3 032278 branch generate_mic_end ,blank 
-0x73d4 032279 branch generate_mic_loop 
-:      032280 generate_mic_end:
-0x73d5 032281 force regidx_result ,regext_index 
-0x73d6 032282 deposit regext 
-0x73d7 032283 store 4 ,mem_le_mic 
-0x73d8 032284 rtn 
-:      032286 aes_crypt_data:
-0x73d9 032287 increase 1 ,rega 
-0x73da 032288 call first_block_data 
-0x73db 032289 copy regc ,contr 
-0x73dc 032290 call aes_load_xor 
-0x73dd 032291 call do_aes_ctr 
-0x73de 032292 call store_enc_data 
-0x73df 032293 increase 16 ,regc 
-0x73e0 032294 increase -16 ,regb 
-0x73e1 032295 branch aes_crypt_data ,positive 
-0x73e2 032296 rtn 
-:      032298 le_encrypt:
-0x73e3 032299 bpatchx patch3c_1 ,mem_patch3c 
-0x73e4 032300 arg mem_le_txheader ,regc 
-0x73e5 032301 fetcht 5 ,mem_le_pcnt_tx 
-0x73e6 032302 call generate_mic 
-0x73e7 032303 force regidx_xor ,regext_index 
-0x73e8 032304 iforce regext 
-0x73e9 032305 force 0 ,rega 
-0x73ea 032306 call first_block_data 
-0x73eb 032307 call do_aes_ctr 
-0x73ec 032308 arg mem_le_txpayload ,regc 
-0x73ed 032309 fetch 1 ,mem_le_txlen 
-0x73ee 032310 add pdata ,-1 ,regb 
-0x73ef 032311 iadd regc ,contw 
-0x73f0 032312 force regidx_result ,regext_index 
-0x73f1 032313 deposit regext 
-0x73f2 032314 istore 4 ,contw 
-0x73f3 032315 call aes_crypt_data 
-0x73f4 032316 fetch 1 ,mem_le_txlen 
-0x73f5 032317 increase 4 ,pdata 
-0x73f6 032318 store 1 ,mem_le_txlen 
-0x73f7 032319 fetcht 5 ,mem_le_pcnt_tx 
-0x73f8 032320 increase 1 ,temp 
-0x73f9 032321 storet 5 ,mem_le_pcnt_tx 
-0x73fa 032322 rtn 
-:      032324 le_decrypt:
-0x73fb 032325 bpatchx patch3c_2 ,mem_patch3c 
-0x73fc 032326 fetch 1 ,mem_le_rxbuf + 1 
-0x73fd 032327 sub pdata ,20 ,null 
-0x73fe 032328 branch le_dec_cont ,positive 
-:      032329 le_dec_cont:
-0x73ff 032330 arg mem_le_rxbuf + 2 ,regc 
-0x7400 032331 add pdata ,-1 ,regb 
-0x7401 032332 increase -4 ,pdata 
-0x7402 032333 store 1 ,mem_le_rxbuf + 1 
-0x7403 032334 iadd regc ,contr 
-0x7404 032335 ifetch 4 ,contr 
-0x7405 032336 force regidx_xor ,regext_index 
-0x7406 032337 iforce regext 
-0x7407 032338 force 0 ,rega 
-0x7408 032339 fetcht 5 ,mem_le_pcnt_rx 
-0x7409 032340 call first_block_data 
-0x740a 032341 call do_aes_ctr 
-0x740b 032342 force regidx_result ,regext_index 
-0x740c 032343 deposit regext 
-0x740d 032344 store 4 ,mem_le_peer_mic 
-0x740e 032345 call aes_crypt_data 
-0x740f 032346 arg mem_le_rxbuf ,regc 
-0x7410 032347 call generate_mic 
-0x7411 032348 fetcht 4 ,mem_le_peer_mic 
-0x7412 032349 isub temp ,pdata 
-0x7413 032350 nrtn blank 
-0x7414 032351 fetch 4 ,mem_le_last_mic 
-0x7415 032352 isub temp ,pdata 
-0x7416 032353 rtn blank 
-0x7417 032354 storet 4 ,mem_le_last_mic 
-0x7418 032355 fetch 5 ,mem_le_pcnt_rx 
-0x7419 032356 increase 1 ,pdata 
-0x741a 032357 store 5 ,mem_le_pcnt_rx 
-0x741b 032358 force 0 ,pdata 
-0x741c 032359 rtn 
-:      032361 wait_aes:
-0x741d 032362 nbranch wait_aes ,aes_ready 
-0x741e 032363 rtn 
-:      032365 do_aes_ocb:
-0x741f 032366 force 0x30 ,aes_ctrl 
-0x7420 032367 force 0x0 ,aes_ctrl 
-0x7421 032368 branch wait_aes 
-:      032370 do_aes_cbc:
-0x7422 032371 force 0x32 ,aes_ctrl 
-0x7423 032372 force 0x2 ,aes_ctrl 
-0x7424 032373 branch wait_aes 
-:      032375 do_aes_ctr:
-0x7425 032376 force 0x34 ,aes_ctrl 
-0x7426 032377 force 0x4 ,aes_ctrl 
-0x7427 032378 branch wait_aes 
-:      032381 aes_init:
-0x7428 032382 force 1 ,aes_ctrl 
-0x7429 032383 force 0 ,aes_ctrl 
-0x742a 032384 rtn 
-:      032385 function_s1:
-0x742b 032386 force regidx_data ,regext_index 
-0x742c 032387 fetch 4 ,mem_le_mrand 
-0x742d 032388 iforce regext 
-0x742e 032389 increase 1 ,regext_index 
-0x742f 032390 ifetch 4 ,contr 
-0x7430 032391 iforce regext 
-0x7431 032392 increase 1 ,regext_index 
-0x7432 032393 fetch 4 ,mem_le_srand 
-0x7433 032394 iforce regext 
-0x7434 032395 increase 1 ,regext_index 
-0x7435 032396 ifetch 4 ,contr 
-0x7436 032397 iforce regext 
-0x7437 032398 increase 1 ,regext_index 
-0x7438 032399 call aes_clear 
-0x7439 032400 increase -4 ,regext_index 
-0x743a 032401 fetch 4 ,mem_le_tk 
-0x743b 032402 copy pdata ,regext 
-0x743c 032403 increase 4 ,regext_index 
-0x743d 032404 force 0x38 ,aes_ctrl 
-0x743e 032405 force 0x8 ,aes_ctrl 
-0x743f 032406 branch wait_aes 
-:      032409 function_c1:
-0x7440 032410 bpatchx patch3c_3 ,mem_patch3c 
-0x7441 032411 fetch 6 ,mem_le_lap 
-0x7442 032412 fetcht 6 ,mem_le_plap 
-0x7443 032413 branch function_c1_master ,master 
-0x7444 032414 fetch 6 ,mem_le_plap 
-0x7445 032415 fetcht 6 ,mem_le_lap 
-:      032416 function_c1_master:
-0x7446 032417 force regidx_xor ,regext_index 
-0x7447 032418 copy temp ,regext 
-0x7448 032419 increase 1 ,regext_index 
-0x7449 032420 rshift32 temp ,regext 
-0x744a 032421 lshift16 pdata ,pdata 
-0x744b 032422 ior regext ,regext 
-0x744c 032423 increase 1 ,regext_index 
-0x744d 032424 rshift32 pdata ,regext 
-0x744e 032425 increase 1 ,regext_index 
-0x744f 032426 force 0 ,regext 
-0x7450 032427 force 0 ,pdata 
-0x7451 032428 fetch 1 ,mem_le_conn_peer_addr_type 
-0x7452 032429 fetcht 1 ,mem_le_adv_own_addr_type 
-0x7453 032430 nbranch function_c1_irat ,master 
-0x7454 032432 fetch 1 ,mem_le_conn_own_addr_type 
-0x7455 032433 fetcht 1 ,mem_le_conn_peer_addr_type 
-:      032434 function_c1_irat:
-0x7456 032435 store 1 ,mem_le_iat 
-0x7457 032436 storet 1 ,mem_le_rat 
-0x7458 032437 force regidx_data ,regext_index 
-0x7459 032438 arg mem_le_iat ,regb 
-0x745a 032439 force 4 ,loopcnt 
-:      032440 function_c1_loop1:
-0x745b 032441 ifetch 4 ,rega 
-0x745c 032442 ifetcht 4 ,regb 
-0x745d 032443 ixor temp ,regext 
-0x745e 032444 increase 1 ,regext_index 
-0x745f 032445 increase 4 ,rega 
-0x7460 032446 increase 4 ,regb 
-0x7461 032447 loop function_c1_loop1 
-0x7462 032448 call aes_clear 
-0x7463 032449 increase -4 ,regext_index 
-0x7464 032450 fetch 4 ,mem_le_tk 
-0x7465 032451 copy pdata ,regext 
-0x7466 032452 increase 4 ,regext_index 
-0x7467 032453 force 0x38 ,aes_ctrl 
-0x7468 032454 force 0xc ,aes_ctrl 
-0x7469 032455 call wait_aes 
-0x746a 032457 call aes_clear_data 
-0x746b 032458 force 0x3a ,aes_ctrl 
-0x746c 032459 force 0x8 ,aes_ctrl 
-0x746d 032460 branch wait_aes 
-:      032462 padding_data:
-0x746e 032463 compare 0 ,loopcnt ,3 
-0x746f 032464 rtn true 
-0x7470 032465 deposit contr 
-0x7471 032466 iadd loopcnt ,contw 
-0x7472 032467 force 0 ,pdata 
-:      032468 padding_loop:
-0x7473 032469 istore 1 ,contw 
-0x7474 032470 increase 1 ,loopcnt 
-0x7475 032471 compare 0 ,loopcnt ,3 
-0x7476 032472 rtn true 
-0x7477 032473 branch padding_loop 
-:      032475 aes_load_data:
-0x7478 032476 force regidx_data ,regext_index 
-:      032477 load_data_loop:
-0x7479 032478 deposit loopcnt 
-0x747a 032479 branch load_data_padding ,blank 
-0x747b 032480 ifetch 4 ,contr 
-0x747c 032481 increase -4 ,loopcnt 
-:      032482 load_data_padding:
-0x747d 032483 iforce regext 
-0x747e 032484 increase 1 ,regext_index 
-0x747f 032485 compare regidx_key ,regext_index ,0xf 
-0x7480 032486 rtn true 
-0x7481 032487 branch load_data_loop 
-:      032489 aes_load_xor:
-0x7482 032490 force regidx_xor ,regext_index 
-0x7483 032491 branch load_regext 
-:      032492 load_key:
-0x7484 032493 force regidx_key ,regext_index 
-0x7485 032494 branch load_regext 
-:      032495 load_data128:
-0x7486 032496 force regidx_data ,regext_index 
-:      032497 load_regext:
-0x7487 032498 force 4 ,loopcnt 
-:      032499 load_regext_loop:
-0x7488 032500 ifetch 4 ,contr 
-0x7489 032501 iforce regext 
-0x748a 032502 increase 1 ,regext_index 
-0x748b 032503 loop load_regext_loop 
-0x748c 032504 rtn 
-:      032506 load_sk:
-0x748d 032507 arg mem_le_sk ,contr 
-0x748e 032508 branch load_key 
-:      032510 clear_hidata:
-0x748f 032511 force 4 ,loopcnt 
-0x7490 032512 branch clear_data_rest 
-:      032514 aes_clear_data:
-0x7491 032515 force regidx_data ,regext_index 
-:      032516 aes_clear:
-0x7492 032517 force 4 ,loopcnt 
-:      032518 clear_loop:
-0x7493 032519 force 0 ,regext 
-:      032520 clear_data_rest:
-0x7494 032521 increase 1 ,regext_index 
-0x7495 032522 loop clear_loop 
-0x7496 032523 rtn 
-:      032525 store_aes_result:
-0x7497 032526 force regidx_result ,regext_index 
-0x7498 032527 force 4 ,loopcnt 
-:      032528 send_aes_result_loop:
-0x7499 032529 deposit regext 
-0x749a 032530 istore 4 ,contw 
-0x749b 032531 increase 1 ,regext_index 
-0x749c 032532 loop send_aes_result_loop 
-0x749d 032533 rtn 
-:      032535 store_enc_data:
-0x749e 032536 force regidx_result ,regext_index 
-0x749f 032537 copy regc ,contw 
-0x74a0 032538 add regb ,1 ,loopcnt 
-0x74a1 032539 sub loopcnt ,15 ,null 
-0x74a2 032540 branch store_enc_loop ,positive 
-0x74a3 032541 force 16 ,loopcnt 
-:      032542 store_enc_loop:
-0x74a4 032543 deposit regext 
-0x74a5 032544 sub loopcnt ,3 ,null 
-0x74a6 032545 branch store_enc_byte ,positive 
-0x74a7 032546 istore 4 ,contw 
-0x74a8 032547 increase -4 ,loopcnt 
-0x74a9 032548 rtn zero 
-0x74aa 032549 increase 1 ,regext_index 
-0x74ab 032550 branch store_enc_loop 
-:      032551 store_enc_byte:
-0x74ac 032552 istore 1 ,contw 
-0x74ad 032553 rshift8 pdata ,pdata 
-0x74ae 032554 loop store_enc_byte 
-0x74af 032555 rtn 
-:      032558 compare_res:
-0x74b0 032559 force regidx_result ,regext_index 
-0x74b1 032560 force 4 ,loopcnt 
-:      032561 compare_res_loop:
-0x74b2 032562 ifetch 4 ,contr 
-0x74b3 032563 isub regext ,null 
-0x74b4 032564 nrtn zero 
-0x74b5 032565 increase 1 ,regext_index 
-0x74b6 032566 loop compare_res_loop 
-0x74b7 032567 force 0 ,null 
-0x74b8 032568 rtn 
-:      032570 enable_authrom:
-0x74b9 032571 hfetch 1 ,core_clkoff 
-0x74ba 032572 set0 clock_off_auth_rom ,pdata 
-0x74bb 032573 hstore 1 ,core_clkoff 
-0x74bc 032574 rtn 
-:      032576 disable_authrom:
-0x74bd 032577 hfetch 1 ,core_clkoff 
-0x74be 032578 set1 clock_off_auth_rom ,pdata 
-0x74bf 032579 hstore 1 ,core_clkoff 
-0x74c0 032580 rtn 
-:      032582 init_memp:
-0x74c1 032583 arg mem_p ,contw 
-0x74c2 032584 setsect 0 ,0x3ffff 
-0x74c3 032585 setsect 1 ,0x3ffff 
-0x74c4 032586 setsect 2 ,0x3ffff 
-0x74c5 032587 setsect 3 ,0x3fbff 
-0x74c6 032588 istore 9 ,contw 
-0x74c7 032589 setsect 0 ,0x3ffff 
-0x74c8 032590 setsect 1 ,0x3ffff 
-0x74c9 032591 setsect 2 ,0x3ffff 
-0x74ca 032592 setsect 3 ,0x3ffff 
-0x74cb 032593 istore 9 ,contw 
-0x74cc 032594 setsect 0 ,0x3ffff 
-0x74cd 032595 setsect 1 ,0x3ffff 
-0x74ce 032596 setsect 2 ,0x3cfff 
-0x74cf 032597 setsect 3 ,0x3ffff 
-0x74d0 032598 istore 9 ,contw 
-0x74d1 032599 setsect 0 ,0x3ffff 
-0x74d2 032600 setsect 1 ,0x3ffff 
-0x74d3 032601 setsect 2 ,0x3ffef 
-0x74d4 032602 setsect 3 ,0x3ffff 
-0x74d5 032603 istore 9 ,contw 
-0x74d6 032604 setsect 0 ,0x3ffff 
-0x74d7 032605 setsect 1 ,0x3ffff 
-0x74d8 032606 setsect 2 ,0x3ffff 
-0x74d9 032607 setsect 3 ,0x3ffff 
-0x74da 032608 istore 9 ,contw 
-0x74db 032609 setsect 0 ,0x3ffff 
-0x74dc 032610 setsect 1 ,0x26c7f 
-0x74dd 032611 setsect 2 ,0x146b 
-0x74de 032612 setsect 3 ,0x37bb3 
-0x74df 032613 istore 9 ,contw 
-0x74e0 032614 setsect 0 ,0x1feb8 
-0x74e1 032615 setsect 1 ,0x10c12 
-0x74e2 032616 setsect 2 ,0x2b722 
-0x74e3 032617 setsect 3 ,0x29fa6 
-0x74e4 032618 istore 9 ,contw 
-0x74e5 032619 setsect 0 ,0xe70f 
-0x74e6 032620 setsect 1 ,0x16720 
-0x74e7 032621 setsect 2 ,0x519e 
-0x74e8 032622 setsect 3 ,0x19084 
-0x74e9 032623 istore 9 ,contw 
-0x74ea 032624 setsect 0 ,0x31012 
-0x74eb 032625 setsect 1 ,0x360bf 
-0x74ec 032626 setsect 2 ,0x3f0af 
-0x74ed 032627 setsect 3 ,0x3d3 
-0x74ee 032628 istore 9 ,contw 
-0x74ef 032629 setsect 0 ,0x3a188 
-0x74f0 032630 setsect 1 ,0x3ad0 
-0x74f1 032631 setsect 2 ,0x3cbf2 
-0x74f2 032632 setsect 3 ,0x243d9 
-0x74f3 032633 istore 9 ,contw 
-0x74f4 032634 setsect 0 ,0x2b030 
-0x74f5 032635 setsect 1 ,0x36a03 
-0x74f6 032636 setsect 2 ,0x11188 
-0x74f7 032637 setsect 3 ,0x1e520 
-0x74f8 032638 istore 9 ,contw 
-0x74f9 032639 setsect 0 ,0x3a11e 
-0x74fa 032640 setsect 1 ,0xfe5d 
-0x74fb 032641 setsect 2 ,0xdd57 
-0x74fc 032642 setsect 3 ,0x1ac93 
-0x74fd 032643 istore 9 ,contw 
-0x74fe 032644 setsect 0 ,0x11ed 
-0x74ff 032645 setsect 1 ,0x218c4 
-0x7500 032646 setsect 2 ,0x8da7 
-0x7501 032647 setsect 3 ,0x257ff 
-0x7502 032648 istore 9 ,contw 
-0x7503 032649 setsect 0 ,0x3192b 
-0x7504 032650 setsect 1 ,0x34641 
-0x7505 032651 setsect 2 ,0x1be0c 
-0x7506 032652 setsect 3 ,0x366ad 
-0x7507 032653 istore 9 ,contw 
-0x7508 032654 setsect 0 ,0x1f83 
-0x7509 032655 setsect 1 ,0x15a23 
-0x750a 032656 setsect 2 ,0x3f9b0 
-0x750b 032657 setsect 3 ,0x3949 
-0x750c 032658 istore 9 ,contw 
-0x750d 032659 setsect 0 ,0x13a51 
-0x750e 032660 setsect 1 ,0x153fd 
-0x750f 032661 setsect 2 ,0x3372a 
-0x7510 032662 setsect 3 ,0xf1bb 
-0x7511 032663 istore 9 ,contw 
-0x7512 032664 setsect 0 ,0x3ae85 
-0x7513 032665 setsect 1 ,0x1eed9 
-0x7514 032666 setsect 2 ,0x9e66 
-0x7515 032667 setsect 3 ,0x1a8 
-0x7516 032668 istore 8 ,contw 
-0x7517 032669 rtn 
-:      032673 init_memp_256:
-0x7518 032674 arg mem_p_256 ,contw 
-0x7519 032675 setsect 0 ,0x3ffff 
-0x751a 032676 setsect 1 ,0x3ffff 
-0x751b 032677 setsect 2 ,0x3ffff 
-0x751c 032678 setsect 3 ,0x3ffff 
-0x751d 032679 istore 9 ,contw 
-0x751e 032680 setsect 0 ,0x3ffff 
-0x751f 032681 setsect 1 ,0x3f 
-0x7520 032682 setsect 2 ,0x0 
-0x7521 032683 setsect 3 ,0x0 
-0x7522 032684 istore 9 ,contw 
-0x7523 032685 setsect 0 ,0x0 
-0x7524 032686 setsect 1 ,0x0 
-0x7525 032687 setsect 2 ,0x1000 
-0x7526 032688 setsect 3 ,0x0 
-0x7527 032689 istore 9 ,contw 
-0x7528 032690 setsect 0 ,0x3ff00 
-0x7529 032691 setsect 1 ,0x3ffff 
-0x752a 032692 setsect 2 ,0x3ffcf 
-0x752b 032693 setsect 3 ,0x3ffff 
-0x752c 032694 istore 9 ,contw 
-0x752d 032695 setsect 0 ,0x3ffff 
-0x752e 032696 setsect 1 ,0x3ffff 
-0x752f 032697 setsect 2 ,0x3ffff 
-0x7530 032698 setsect 3 ,0x3ff 
-0x7531 032699 istore 9 ,contw 
-0x7532 032700 setsect 0 ,0x0 
-0x7533 032701 setsect 1 ,0x0 
-0x7534 032702 setsect 2 ,0x0 
-0x7535 032703 setsect 3 ,0x0 
-0x7536 032704 istore 9 ,contw 
-0x7537 032705 setsect 0 ,0x10000 
-0x7538 032706 setsect 1 ,0x0 
-0x7539 032707 setsect 2 ,0x3f000 
-0x753a 032708 setsect 3 ,0x3ffff 
-0x753b 032709 istore 9 ,contw 
-0x753c 032710 setsect 0 ,0x296ff 
-0x753d 032711 setsect 1 ,0x22630 
-0x753e 032712 setsect 2 ,0x3945d 
-0x753f 032713 setsect 3 ,0x3d284 
-0x7540 032714 istore 9 ,contw 
-0x7541 032715 setsect 0 ,0x333a0 
-0x7542 032716 setsect 1 ,0x4b7a 
-0x7543 032717 setsect 2 ,0x37d8 
-0x7544 032718 setsect 3 ,0x3c9dc 
-0x7545 032719 istore 9 ,contw 
-0x7546 032720 setsect 0 ,0x3a440 
-0x7547 032721 setsect 1 ,0x1b958 
-0x7548 032722 setsect 2 ,0x38bce 
-0x7549 032723 setsect 3 ,0x1091f 
-0x754a 032724 istore 9 ,contw 
-0x754b 032725 setsect 0 ,0x2e12c 
-0x754c 032726 setsect 1 ,0x1f47c 
-0x754d 032727 setsect 2 ,0x356b1 
-0x754e 032728 setsect 3 ,0x2fd47 
-0x754f 032729 istore 9 ,contw 
-0x7550 032730 setsect 0 ,0x6837 
-0x7551 032731 setsect 1 ,0x2ed90 
-0x7552 032732 setsect 2 ,0x1ecec 
-0x7553 032733 setsect 3 ,0x1acc5 
-0x7554 032734 istore 9 ,contw 
-0x7555 032735 setsect 0 ,0x23357 
-0x7556 032736 setsect 1 ,0x18af3 
-0x7557 032737 setsect 2 ,0xf9e1 
-0x7558 032738 setsect 3 ,0x129f0 
-0x7559 032739 istore 9 ,contw 
-0x755a 032740 setsect 0 ,0x2e7eb 
-0x755b 032741 setsect 1 ,0x3e6e3 
-0x755c 032742 setsect 2 ,0x3e1a7 
-0x755d 032743 setsect 3 ,0x10b8b 
-0x755e 032744 istore 9 ,contw 
-0x755f 032745 setsect 0 ,0x24fe3 
-0x7560 032746 setsect 1 ,0x20ef 
-0x7561 032747 setsect 2 ,0x1b5a6 
-0x7562 032748 setsect 3 ,0xdc2f 
-0x7563 032749 istore 9 ,contw 
-0x7564 032750 setsect 0 ,0x13860 
-0x7565 032751 setsect 1 ,0x2bd69 
-0x7566 032752 setsect 2 ,0x391a 
-0x7567 032753 setsect 3 ,0x1b222 
-0x7568 032754 istore 9 ,contw 
-0x7569 032755 rtn 
-:      032758 publickey_init:
-0x756a 032759 fetch 1 ,mem_ssp_enable 
-0x756b 032760 nbranch sp_initialize ,blank 
-0x756c 032761 branch sp_initialize_256 
-:      032763 sp_calc_sequence_256_check:
-0x756d 032764 bpatchx patch3c_4 ,mem_patch3c 
-0x756e 032765 fetch 1 ,mem_ssp_enable 
-0x756f 032766 rtn blank 
-0x7570 032767 fetch 1 ,mem_sp_local_key_invalid 
-0x7571 032768 rtnne sp_key_valid 
-0x7572 032769 fetch 1 ,mem_le_secure_connect_enable 
-0x7573 032770 rtn blank 
-0x7574 032771 fetch 1 ,mem_le_sc_local_key_invalid 
-0x7575 032772 rtneq sp_key_valid_256 
-0x7576 032773 fetch 2 ,mem_ui_state_map 
-0x7577 032774 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
-0x7578 032775 fetch 1 ,mem_le_sc_calc 
-0x7579 032776 beq sp_calc_standby ,sp_initialize_256 
-0x757a 032777 rtn 
-:      032778 stop_publickey_calc_256:
-0x757b 032779 jam sp_calc_standby ,mem_le_sc_calc 
-0x757c 032780 rtn 
-:      032783 sp_initialize:
-0x757d 032784 bpatchx patch3c_5 ,mem_patch3c 
-0x757e 032785 fetch 1 ,mem_ssp_enable 
-0x757f 032786 branch ssp_disable ,blank 
-0x7580 032787 call ssp_enable 
-0x7581 032788 call sp_clear_flags 
-0x7582 032789 branch sp_pubkey_calc 
-:      032791 sp_clear_flags:
-0x7583 032792 setarg 0 
-0x7584 032793 store 8 ,mem_sp_state_start 
-0x7585 032794 store 4 ,mem_sp_flag_start 
-0x7586 032795 store 7 ,mem_sp_iocap_remote 
-0x7587 032796 rtn 
-:      032798 sp_generate_local_key:
-0x7588 032799 jam sp_flag_commit ,mem_sp_flag 
-0x7589 032800 branch sp_generate_local_key0 
-:      032801 sp_master_generate_local_key:
-0x758a 032802 fetch 1 ,mem_sp_local_key_invalid 
-0x758b 032803 beq sp_key_valid ,sp_dhkey_calc 
-0x758c 032804 branch assert 
-:      032805 sp_generate_local_key0:
-0x758d 032806 fetch 1 ,mem_sp_local_key_invalid 
-0x758e 032807 beq sp_key_valid ,sp_start_send_pubkey 
-0x758f 032808 branch sp_pubkey_calc 
-:      032810 sp_start_send_pubkey:
-0x7590 032811 call sp_dhkey_calc 
-0x7591 032812 fetch 1 ,mem_master_sp_state 
-0x7592 032813 nrtn blank 
-0x7593 032814 jam sp_stat_key_send ,mem_sp_state 
-0x7594 032815 rtn 
-:      032818 sp_calc_check_publickey_256:
-0x7595 032819 call sp_calc_b256 
-0x7596 032820 arg mem_le_pubkey_remote_y_256 ,rega 
-0x7597 032821 arg mem_t7_256 ,contw 
-0x7598 032822 call bn_sqrmod_256 
-0x7599 032823 arg mem_le_pubkey_remote_x_256 ,rega 
-0x759a 032824 arg mem_t2_256 ,contw 
-0x759b 032825 call bn_sqrmod_256 
-0x759c 032826 arg mem_t2_256 ,rega 
-0x759d 032827 arg mem_le_pubkey_remote_x_256 ,regb 
-0x759e 032828 arg mem_t2_256 ,contw 
-0x759f 032829 call bn_mulmod_256 
-0x75a0 032830 arg mem_a_256 ,rega 
-0x75a1 032831 arg mem_le_pubkey_remote_x_256 ,regb 
-0x75a2 032832 arg mem_t3_256 ,contw 
-0x75a3 032833 call bn_mulmod_256 
-0x75a4 032834 arg mem_t3_256 ,rega 
-0x75a5 032835 arg mem_t2_256 ,regb 
-0x75a6 032836 arg mem_t2_256 ,contw 
-0x75a7 032837 call bn_addmod_256 
-0x75a8 032838 arg mem_t0_256 ,rega 
-0x75a9 032839 arg mem_t2_256 ,regb 
-0x75aa 032840 arg mem_t0_256 ,contw 
-0x75ab 032841 call bn_addmod_256 
-0x75ac 032842 arg 32 ,loopcnt 
-0x75ad 032843 arg mem_t7_256 ,rega 
-0x75ae 032844 arg mem_t0_256 ,regb 
-0x75af 032845 branch string_compare 
-:      032847 sp_calc_b256:
-0x75b0 032848 arg mem_gy_256 ,rega 
-0x75b1 032849 arg mem_t0_256 ,contw 
-0x75b2 032850 call bn_sqrmod_256 
-0x75b3 032851 arg mem_gx_256 ,rega 
-0x75b4 032852 arg mem_t2_256 ,contw 
-0x75b5 032853 call bn_sqrmod_256 
-0x75b6 032854 arg mem_t2_256 ,rega 
-0x75b7 032855 arg mem_gx_256 ,regb 
-0x75b8 032856 arg mem_t2_256 ,contw 
-0x75b9 032857 call bn_mulmod_256 
-0x75ba 032858 arg mem_a_256 ,rega 
-0x75bb 032859 arg mem_gx_256 ,regb 
-0x75bc 032860 arg mem_t3_256 ,contw 
-0x75bd 032861 call bn_mulmod_256 
-0x75be 032862 arg mem_t3_256 ,rega 
-0x75bf 032863 arg mem_t2_256 ,regb 
-0x75c0 032864 arg mem_t2_256 ,contw 
-0x75c1 032865 call bn_addmod_256 
-0x75c2 032866 arg mem_t0_256 ,rega 
-0x75c3 032867 arg mem_t2_256 ,regb 
-0x75c4 032868 arg mem_t0_256 ,contw 
-0x75c5 032869 branch bn_submod_256 
-:      032871 sp_calc_check_publickey:
-0x75c6 032872 call sp_calc_b 
-0x75c7 032873 arg mem_sp_pubkey_remote_y ,rega 
-0x75c8 032874 arg mem_t7_256 ,contw 
-0x75c9 032875 call bn_sqrmod 
-0x75ca 032876 arg mem_sp_pubkey_remote_x ,rega 
-0x75cb 032877 arg mem_t2_256 ,contw 
-0x75cc 032878 call bn_sqrmod 
-0x75cd 032879 arg mem_t2_256 ,rega 
-0x75ce 032880 arg mem_sp_pubkey_remote_x ,regb 
-0x75cf 032881 arg mem_t2_256 ,contw 
-0x75d0 032882 call bn_mulmod 
-0x75d1 032883 arg mem_a ,rega 
-0x75d2 032884 arg mem_sp_pubkey_remote_x ,regb 
-0x75d3 032885 arg mem_t3_256 ,contw 
-0x75d4 032886 call bn_mulmod 
-0x75d5 032887 arg mem_t3_256 ,rega 
-0x75d6 032888 arg mem_t2_256 ,regb 
-0x75d7 032889 arg mem_t2_256 ,contw 
-0x75d8 032890 call bn_addmod 
-0x75d9 032891 arg mem_t0_256 ,rega 
-0x75da 032892 arg mem_t2_256 ,regb 
-0x75db 032893 arg mem_t0_256 ,contw 
-0x75dc 032894 call bn_addmod 
-0x75dd 032895 arg 24 ,loopcnt 
-0x75de 032896 arg mem_t7_256 ,rega 
-0x75df 032897 arg mem_t0_256 ,regb 
-0x75e0 032898 branch string_compare 
-:      032900 sp_calc_b:
-0x75e1 032901 arg mem_gy ,rega 
-0x75e2 032902 arg mem_t0_256 ,contw 
-0x75e3 032903 call bn_sqrmod 
-0x75e4 032904 arg mem_gx ,rega 
-0x75e5 032905 arg mem_t2_256 ,contw 
-0x75e6 032906 call bn_sqrmod 
-0x75e7 032907 arg mem_t2_256 ,rega 
-0x75e8 032908 arg mem_gx ,regb 
-0x75e9 032909 arg mem_t2_256 ,contw 
-0x75ea 032910 call bn_mulmod 
-0x75eb 032911 arg mem_a ,rega 
-0x75ec 032912 arg mem_gx ,regb 
-0x75ed 032913 arg mem_t3_256 ,contw 
-0x75ee 032914 call bn_mulmod 
-0x75ef 032915 arg mem_t3_256 ,rega 
-0x75f0 032916 arg mem_t2_256 ,regb 
-0x75f1 032917 arg mem_t2_256 ,contw 
-0x75f2 032918 call bn_addmod 
-0x75f3 032919 arg mem_t0_256 ,rega 
-0x75f4 032920 arg mem_t2_256 ,regb 
-0x75f5 032921 arg mem_t0_256 ,contw 
-0x75f6 032922 branch bn_submod 
-:      032925 sp_calculate_commitment:
-0x75f7 032926 fetch 1 ,mem_sp_calc 
-0x75f8 032927 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
-0x75f9 032928 call sp_local_random_key_generator 
-0x75fa 032929 arg mem_sp_prarm_stack ,contw 
-0x75fb 032930 setarg mem_sp_random_local_end 
-0x75fc 032931 istore 2 ,contw 
-0x75fd 032932 setarg mem_sp_pubkey_local_x_end 
-0x75fe 032933 istore 2 ,contw 
-0x75ff 032934 setarg mem_sp_pubkey_remote_x_end 
-0x7600 032935 istore 2 ,contw 
-0x7601 032936 branch sp_calculate_commitment0 
-:      032937 master_sp_calculate_commitment:
-0x7602 032938 arg mem_sp_prarm_stack ,contw 
-0x7603 032939 setarg mem_sp_random_remote_end 
-0x7604 032940 istore 2 ,contw 
-0x7605 032941 setarg mem_sp_pubkey_remote_x_end 
-0x7606 032942 istore 2 ,contw 
-0x7607 032943 setarg mem_sp_pubkey_local_x_end 
-0x7608 032944 istore 2 ,contw 
-:      032945 sp_calculate_commitment0:
-0x7609 032946 call function_f1 
-0x760a 032947 fetch 1 ,mem_master_sp_state 
-0x760b 032948 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
-0x760c 032949 jam sp_flag_commit ,mem_sp_flag 
-0x760d 032950 jam sp_stat_commit_send ,mem_sp_state 
-0x760e 032951 rtn 
-:      032952 master_sp_calculate_commitment0:
-0x760f 032953 jam sp_stat_commitment_compare ,mem_master_sp_state 
-0x7610 032954 call sp_master_generate_local_key 
-0x7611 032955 branch master_set_mem_master_sp_flag 
-:      032957 sp_local_random_key_generator:
-0x7612 032958 arg mem_sp_random_local ,contw 
-0x7613 032959 force 8 ,queue 
-0x7614 032960 branch random_generator 
-:      032962 sp_calculate_commitment_wait_dhkey_calc:
-0x7615 032963 jam sp_flag_commit ,mem_sp_flag 
-0x7616 032964 rtn 
-:      032966 sp_confirm_check:
-0x7617 032968 bpatchx patch3c_6 ,mem_patch3c 
-0x7618 032969 arg mem_addr_value ,contw 
-0x7619 032970 fetch 6 ,mem_lap 
-0x761a 032971 istore 6 ,contw 
-0x761b 032972 fetch 6 ,mem_plap 
-0x761c 032973 istore 6 ,contw 
-0x761d 032974 fetch 3 ,mem_sp_iocap_remote 
-0x761e 032975 istore 3 ,contw 
-0x761f 032977 call function_f3a 
-0x7620 032979 arg mem_sp_calc_result_high ,rega 
-0x7621 032980 arg mem_sp_check_result ,regb 
-0x7622 032981 force 4 ,queue 
-0x7623 032982 call compare4 
-0x7624 032983 nbranch sp_confirm_check_failed ,true 
-0x7625 032985 call sp_confirm_check_success 
-0x7626 032986 jam lmp_dhkey_check ,mem_lmi_opcode2 
-0x7627 032987 branch tid_set_reply 
-:      032989 sp_confirm_check_success:
-0x7628 032990 fetch 1 ,mem_master_sp_state 
-0x7629 032991 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
-0x762a 032992 jam sp_stat_confirm_calc ,mem_sp_state 
-0x762b 032993 jam sp_flag_commit ,mem_sp_flag 
-0x762c 032994 jam lmp_accepted ,mem_lmo_opcode2 
-0x762d 032995 rtn 
-:      032996 sp_confirm_check_success_master:
-0x762e 032997 jam lmp_accepted ,mem_lmo_opcode2 
-0x762f 032998 jam sp_state_end ,mem_master_sp_state 
-0x7630 032999 branch master_set_mem_master_sp_flag 
-:      033002 sp_confirm_check_failed:
-0x7631 033003 fetch 1 ,mem_master_sp_state 
-0x7632 033004 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
-0x7633 033005 jam sp_stat_null ,mem_sp_state 
-0x7634 033006 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x7635 033008 jam authentication_failure_error ,mem_lmo_reason2 
-0x7636 033009 rtn 
-:      033010 sp_confirm_check_failed_master:
-0x7637 033011 jam lmp_not_accepted ,mem_lmo_opcode2 
-0x7638 033012 jam sp_stat_null ,mem_master_sp_state 
-0x7639 033013 rtn 
-:      033015 sp_confirm_calc:
-0x763a 033016 fetch 1 ,mem_sp_dh_ready 
-0x763b 033017 beq sp_flag_commit ,sp_confirm_calc_ready 
-0x763c 033018 jam sp_stat_confirm_calc ,mem_master_sp_state 
-0x763d 033019 branch master_set_mem_master_sp_flag 
-:      033020 sp_confirm_calc_ready:
-0x763e 033021 arg mem_addr_value ,contw 
-0x763f 033022 fetch 6 ,mem_plap 
-0x7640 033023 istore 6 ,contw 
-0x7641 033024 fetch 6 ,mem_lap 
-0x7642 033025 istore 6 ,contw 
-0x7643 033026 fetch 3 ,mem_sp_iocap_local 
-0x7644 033027 istore 3 ,contw 
-0x7645 033029 call function_f3b 
-0x7646 033030 fetch 1 ,mem_master_sp_state 
-0x7647 033031 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
-0x7648 033032 jam sp_stat_confirm_send ,mem_sp_state 
-0x7649 033033 jam sp_flag_commit ,mem_sp_flag 
-0x764a 033034 rtn 
-:      033035 sp_confirm_calc_master:
-0x764b 033036 jam sp_stat_confirm_send ,mem_master_sp_state 
-0x764c 033037 jam sp_flag_commit ,mem_master_sp_flag 
-0x764d 033038 rtn 
-:      033040 sp_master_key_prarm_push:
-0x764e 033041 arg mem_sp_prarm_stack ,contw 
-0x764f 033042 fetch 6 ,mem_plap 
-0x7650 033043 istore 6 ,contw 
-0x7651 033044 fetch 6 ,mem_lap 
-0x7652 033045 istore 6 ,contw 
-0x7653 033046 setarg mem_sp_random_local_end 
-0x7654 033047 istore 2 ,contw 
-0x7655 033048 setarg mem_sp_random_remote_end 
-0x7656 033049 istore 2 ,contw 
-0x7657 033050 branch sp_link_key_calc 
-:      033051 sp_link_key_prarm_push:
-0x7658 033052 jam sp_stat_done ,mem_sp_state 
-0x7659 033053 arg mem_sp_prarm_stack ,contw 
-0x765a 033054 fetch 6 ,mem_lap 
-0x765b 033055 istore 6 ,contw 
-0x765c 033056 fetch 6 ,mem_plap 
-0x765d 033057 istore 6 ,contw 
-0x765e 033058 setarg mem_sp_random_remote_end 
-0x765f 033059 istore 2 ,contw 
-0x7660 033060 setarg mem_sp_random_local_end 
-0x7661 033061 istore 2 ,contw 
-:      033062 sp_link_key_calc:
-0x7662 033064 arg mem_addr_value ,contw 
-0x7663 033065 fetch 6 ,mem_sp_prarm_stack 
-0x7664 033066 istore 6 ,contw 
-0x7665 033067 fetch 6 ,mem_sp_prarm_stack + 6 
-0x7666 033068 istore 6 ,contw 
-0x7667 033070 call function_f2 
-0x7668 033073 jam 1 ,mem_link_key_exists 
-0x7669 033074 arg mem_link_key ,contw 
-0x766a 033075 arg mem_sp_calc_result_high ,contr 
-0x766b 033076 call memcpy16 
-0x766c 033077 branch generate_linkkey_continue 
-:      033080 sp_pubkey_calc:
-0x766d 033081 bpatchx patch3c_7 ,mem_patch3c 
-0x766e 033082 fetch 1 ,mem_sp_local_key_invalid 
-0x766f 033083 rtnne sp_key_invalid 
-0x7670 033084 fetch 1 ,mem_sp_calc 
-0x7671 033085 rtnne sp_calc_standby 
-0x7672 033086 arg mem_sp_private_key ,contw 
-0x7673 033087 force 11 ,queue 
-0x7674 033088 call random_generator 
-0x7675 033089 random pdata 
-0x7676 033090 rshift pdata ,pdata 
-0x7677 033091 istore 2 ,contw 
-0x7678 033093 arg mem_k ,contw 
-0x7679 033094 arg mem_sp_private_key ,contr 
-0x767a 033095 call memcpy24 
-0x767b 033097 arg mem_ax ,contw 
-0x767c 033098 arg mem_gx ,contr 
-0x767d 033099 call memcpy48 
-0x767e 033101 arg mem_az ,contw 
-0x767f 033102 call bn_zero 
-0x7680 033103 jam 1 ,mem_az 
-0x7681 033105 call eckp_calc_init 
-0x7682 033106 jam sp_calc_pubkey ,mem_sp_calc 
-0x7683 033107 rtn 
-:      033109 sp_pubkey_generated:
-0x7684 033110 arg mem_sp_pubkey_local ,contw 
-0x7685 033111 arg mem_bx ,contr 
-0x7686 033112 call memcpy48 
-0x7687 033113 jam sp_key_valid ,mem_sp_local_key_invalid 
-0x7688 033114 jam sp_calc_standby ,mem_sp_calc 
-0x7689 033115 rtn 
-:      033117 sp_dhkey_calc:
-0x768a 033118 bpatchx patch3d_0 ,mem_patch3d 
-0x768b 033119 fetch 1 ,mem_sp_dhkey_invalid 
-0x768c 033120 rtnne sp_key_invalid 
-0x768d 033121 fetch 1 ,mem_sp_calc 
-0x768e 033122 rtnne sp_calc_standby 
-0x768f 033124 arg mem_k ,contw 
-0x7690 033125 arg mem_sp_private_key ,contr 
-0x7691 033126 call memcpy24 
-0x7692 033128 arg mem_ax ,contw 
-0x7693 033129 arg mem_sp_pubkey_remote ,contr 
-0x7694 033130 call memcpy48 
-0x7695 033132 arg mem_az ,contw 
-0x7696 033133 call bn_zero 
-0x7697 033134 jam 1 ,mem_az 
-0x7698 033136 call eckp_calc_init 
-0x7699 033137 jam sp_calc_dhkey ,mem_sp_calc 
-0x769a 033138 rtn 
-:      033140 sp_dhkey_generated:
-0x769b 033141 jam sp_flag_commit ,mem_sp_dh_ready 
-0x769c 033142 arg mem_sp_dhkey ,contw 
-0x769d 033143 arg mem_bx ,contr 
-0x769e 033144 call memcpy24 
-0x769f 033145 jam sp_key_valid ,mem_sp_dhkey_invalid 
-0x76a0 033146 jam sp_calc_standby ,mem_sp_calc 
-0x76a1 033147 rtn 
-:      033149 random_generator:
-0x76a2 033150 increase -1 ,queue 
-0x76a3 033151 nrtn positive 
-0x76a4 033152 random pdata 
-0x76a5 033153 istore 2 ,contw 
-0x76a6 033154 branch random_generator 
-:      033155 compare4:
-0x76a7 033156 increase -1 ,queue 
-0x76a8 033157 nbranch compare4_success ,positive 
-0x76a9 033158 ifetch 4 ,rega 
-0x76aa 033159 copy pdata ,temp 
-0x76ab 033160 ifetch 4 ,regb 
-0x76ac 033161 iflip temp ,pdata 
-0x76ad 033162 nbranch compare4_failed ,zero 
-0x76ae 033163 increase 4 ,rega 
-0x76af 033164 increase 4 ,regb 
-0x76b0 033165 branch compare4 
-:      033166 compare4_failed:
-0x76b1 033167 disable true 
-0x76b2 033168 rtn 
-:      033169 compare4_success:
-0x76b3 033170 enable true 
-0x76b4 033171 rtn 
-:      033178 simple_pairing_sequence:
-0x76b5 033179 bpatchx patch3d_1 ,mem_patch3d 
-0x76b6 033180 fetch 1 ,mem_sp_flag 
-0x76b7 033181 rtn blank 
-0x76b8 033182 call lmo_fifo_check 
-0x76b9 033183 nrtn blank 
-0x76ba 033184 jam sp_flag_standby ,mem_sp_flag 
-0x76bb 033185 fetch 1 ,mem_sp_state 
-0x76bc 033186 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
-0x76bd 033187 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
-0x76be 033188 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
-0x76bf 033189 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
-0x76c0 033190 beq sp_stat_key_generate ,sp_generate_local_key 
-0x76c1 033191 beq sp_stat_commit_calc ,sp_calculate_commitment 
-0x76c2 033192 beq sp_stat_confirm_check ,sp_confirm_check 
-0x76c3 033193 beq sp_stat_confirm_calc ,sp_confirm_calc 
-0x76c4 033194 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
-0x76c5 033196 rtn 
-:      033198 master_simple_paring_sequence:
-0x76c6 033199 bpatchx patch3d_2 ,mem_patch3d 
-0x76c7 033200 fetch 1 ,mem_master_sp_flag 
-0x76c8 033201 rtn blank 
-0x76c9 033202 call lmo_fifo_check 
-0x76ca 033203 nrtn blank 
-0x76cb 033204 jam sp_flag_standby ,mem_master_sp_flag 
-0x76cc 033205 fetch 1 ,mem_master_sp_state 
-0x76cd 033206 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
-0x76ce 033207 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
-0x76cf 033208 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
-0x76d0 033209 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
-0x76d1 033210 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
-0x76d2 033211 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
-0x76d3 033212 beq sp_stat_confirm_calc ,sp_confirm_calc 
-0x76d4 033213 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
-0x76d5 033214 beq sp_stat_confirm_check ,sp_confirm_check 
-0x76d6 033215 beq sp_state_end ,master_sp_sm_end 
-0x76d7 033216 rtn 
-:      033218 master_set_mem_master_sp_flag:
-0x76d8 033219 jam sp_flag_commit ,mem_master_sp_flag 
-0x76d9 033220 rtn 
-:      033222 master_clear_mem_master_sp_flag:
-0x76da 033223 jam sp_flag_standby ,mem_master_sp_flag 
-0x76db 033224 rtn 
-:      033225 sp_calc_sequence:
-0x76dc 033226 bpatchx patch3d_3 ,mem_patch3d 
-0x76dd 033227 fetch 1 ,mem_ssp_enable 
-0x76de 033228 rtn blank 
-0x76df 033229 fetch 1 ,mem_sp_calc 
-0x76e0 033230 rtn blank 
-0x76e1 033231 increase 0x80 ,pdata 
-0x76e2 033232 store 1 ,mem_sp_calc 
-0x76e3 033233 rtnbit1 7 
-0x76e4 033234 fetch 1 ,mem_ec_loopc 
-0x76e5 033235 branch sp_calc_sequence_done ,blank 
-0x76e6 033236 branch eckp_calc 
-:      033238 sp_calc_sequence_done:
-0x76e7 033239 call ecunmapz 
-0x76e8 033240 fetch 1 ,mem_sp_calc 
-0x76e9 033241 beq sp_calc_pubkey ,sp_pubkey_generated 
-0x76ea 033242 beq sp_calc_dhkey ,sp_dhkey_generated 
-0x76eb 033243 rtn 
-:      033246 bn_testbit:
-0x76ec 033247 and pdata ,7 ,queue 
-0x76ed 033248 rshift3 pdata ,pdata 
-0x76ee 033249 iadd contr ,contr 
-0x76ef 033250 ifetch 1 ,contr 
-0x76f0 033251 qisolate0 pdata 
-0x76f1 033252 rtn 
-:      033255 ec_copy:
-0x76f2 033256 call memcpy24 
-0x76f3 033257 call memcpy24 
-0x76f4 033258 branch memcpy24 
-:      033261 bn_eq_zero:
-0x76f5 033262 ifetch 8 ,contr 
-0x76f6 033263 nrtn blank 
-0x76f7 033264 ifetch 8 ,contr 
-0x76f8 033265 nrtn blank 
-0x76f9 033266 ifetch 8 ,contr 
-0x76fa 033267 rtn 
-:      033272 bn_eq_0:
-0x76fb 033273 ifetch 4 ,rega 
-0x76fc 033274 iforce temp 
-0x76fd 033275 ifetch 4 ,regb 
-0x76fe 033276 isub temp ,null 
-0x76ff 033277 nrtn zero 
-0x7700 033278 increase 4 ,rega 
-0x7701 033279 increase 4 ,regb 
-0x7702 033280 loop bn_eq_0 
-0x7703 033281 rtn 
-:      033284 bn_bigeq:
-0x7704 033285 force 6 ,loopcnt 
-0x7705 033286 increase 20 ,rega 
-0x7706 033287 increase 20 ,regb 
-:      033288 bn_bigeq_0:
-0x7707 033289 ifetch 4 ,regb 
-0x7708 033290 iforce temp 
-0x7709 033291 ifetch 4 ,rega 
-0x770a 033292 isub temp ,pdata 
-0x770b 033293 nrtn positive 
-0x770c 033294 nrtn blank 
-0x770d 033295 increase -4 ,rega 
-0x770e 033296 increase -4 ,regb 
-0x770f 033297 loop bn_bigeq_0 
-0x7710 033298 rtn 
-:      033300 bn_add:
-0x7711 033301 force 6 ,loopcnt 
-0x7712 033302 force 0 ,regc 
-:      033303 bn_add_0:
-0x7713 033304 ifetch 4 ,rega 
-0x7714 033305 iforce temp 
-0x7715 033306 ifetch 4 ,regb 
-0x7716 033307 iadd temp ,pdata 
-0x7717 033308 iadd regc ,pdata 
-0x7718 033309 istore 4 ,contw 
-0x7719 033310 isolate1 32 ,pdata 
-0x771a 033311 setflag true ,0 ,regc 
-0x771b 033312 increase 4 ,rega 
-0x771c 033313 increase 4 ,regb 
-0x771d 033314 loop bn_add_0 
-0x771e 033315 rtn 
-:      033317 bn_sub:
-0x771f 033318 force 6 ,loopcnt 
-0x7720 033319 force 0 ,regc 
-:      033320 bn_sub_0:
-0x7721 033321 ifetch 4 ,regb 
-0x7722 033322 iforce temp 
-0x7723 033323 ifetch 4 ,rega 
-0x7724 033324 isub temp ,pdata 
-0x7725 033325 isub regc ,pdata 
-0x7726 033326 istore 4 ,contw 
-0x7727 033327 isolate1 32 ,pdata 
-0x7728 033328 setflag true ,0 ,regc 
-0x7729 033329 increase 4 ,rega 
-0x772a 033330 increase 4 ,regb 
-0x772b 033331 loop bn_sub_0 
-0x772c 033332 rtn 
-:      033334 bn_rshift6:
-0x772d 033335 force 6 ,loopcnt 
-0x772e 033336 increase 20 ,rega 
-:      033337 bn_rshift:
-0x772f 033338 force 0 ,regc 
-:      033339 bn_rshift_0:
-0x7730 033340 ifetch 4 ,rega 
-0x7731 033341 isolate1 0 ,pdata 
-0x7732 033342 setflag true ,1 ,regc 
-0x7733 033343 rshift pdata ,pdata 
-0x7734 033344 isolate1 0 ,regc 
-0x7735 033345 setflag true ,31 ,pdata 
-0x7736 033346 istore 4 ,rega 
-0x7737 033347 increase -4 ,rega 
-0x7738 033348 rshift regc ,regc 
-0x7739 033349 loop bn_rshift_0 
-0x773a 033350 rtn 
-:      033352 bn_lshift:
-0x773b 033353 force 6 ,loopcnt 
-0x773c 033354 force 0 ,regc 
-:      033355 bn_lshift_0:
-0x773d 033356 ifetch 4 ,rega 
-0x773e 033357 isolate1 31 ,pdata 
-0x773f 033358 setflag true ,1 ,regc 
-0x7740 033359 lshift pdata ,pdata 
-0x7741 033360 isolate1 0 ,regc 
-0x7742 033361 setflag true ,0 ,pdata 
-0x7743 033362 istore 4 ,rega 
-0x7744 033363 increase 4 ,rega 
-0x7745 033364 rshift regc ,regc 
-0x7746 033365 loop bn_lshift_0 
-0x7747 033366 rtn 
-:      033368 bn_lshiftmod:
-0x7748 033369 call bn_lshift 
-:      033370 bn_lshiftmod_ismod:
-0x7749 033371 isolate1 0 ,regc 
-0x774a 033372 branch bn_lshiftmod_0 ,true 
-0x774b 033373 arg mem_p ,regb 
-0x774c 033374 copy rega ,regc 
-0x774d 033375 increase -24 ,rega 
-0x774e 033376 call bn_bigeq 
-0x774f 033377 nrtn positive 
-0x7750 033378 copy regc ,rega 
-:      033379 bn_lshiftmod_0:
-0x7751 033380 increase -24 ,rega 
-0x7752 033381 arg mem_p ,regb 
-0x7753 033382 copy rega ,contw 
-0x7754 033383 branch bn_sub 
-:      033386 bn_addmod:
-0x7755 033387 call bn_add 
-0x7756 033388 copy contw ,rega 
-0x7757 033389 branch bn_lshiftmod_ismod 
-:      033391 bn_submod:
-0x7758 033392 call bn_sub 
-0x7759 033393 isolate0 0 ,regc 
-0x775a 033394 rtn true 
-0x775b 033395 arg mem_p ,regb 
-0x775c 033396 add contw ,-24 ,rega 
-0x775d 033397 copy rega ,contw 
-0x775e 033398 branch bn_add 
-:      033401 bn_p192mod:
-0x775f 033402 copy contw ,timeup 
-0x7760 033403 copy rega ,alarm 
-0x7761 033404 arg mem_tmp2 ,regb 
-0x7762 033405 copy regb ,contw 
-0x7763 033406 add rega ,24 ,contr 
-0x7764 033407 ifetch 8 ,contr 
-0x7765 033408 istore 8 ,contw 
-0x7766 033409 istore 8 ,contw 
-0x7767 033410 force 0 ,pdata 
-0x7768 033411 istore 8 ,contw 
-0x7769 033412 copy timeup ,contw 
-0x776a 033413 call bn_addmod 
-0x776b 033414 arg mem_tmp2 ,regb 
-0x776c 033415 copy regb ,contw 
-0x776d 033416 force 0 ,pdata 
-0x776e 033417 istore 8 ,contw 
-0x776f 033418 add alarm ,32 ,contr 
-0x7770 033419 ifetch 8 ,contr 
-0x7771 033420 istore 8 ,contw 
-0x7772 033421 istore 8 ,contw 
-0x7773 033422 copy timeup ,rega 
-0x7774 033423 copy rega ,contw 
-0x7775 033424 call bn_addmod 
-0x7776 033425 arg mem_tmp2 ,regb 
-0x7777 033426 copy regb ,contw 
-0x7778 033427 add alarm ,40 ,contr 
-0x7779 033428 ifetch 8 ,contr 
-0x777a 033429 istore 8 ,contw 
-0x777b 033430 istore 8 ,contw 
-0x777c 033431 istore 8 ,contw 
-0x777d 033432 copy timeup ,rega 
-0x777e 033433 copy rega ,contw 
-0x777f 033434 branch bn_addmod 
-:      033437 bn_load:
-0x7780 033438 force 6 ,loopcnt 
-:      033439 bn_load_0:
-0x7781 033440 ifetch 4 ,contr 
-0x7782 033441 iforce regext 
-0x7783 033442 increase 1 ,regext_index 
-0x7784 033443 loop bn_load_0 
-0x7785 033444 rtn 
-:      033448 bn_mulmod:
-0x7786 033449 copy contw ,timeup 
-0x7787 033450 arg mem_tmp1 ,contw 
-0x7788 033451 call bn_zero 
-0x7789 033452 arg mem_tmp1 ,contw 
-0x778a 033453 copy rega ,contr 
-0x778b 033454 force 0 ,regext_index 
-0x778c 033455 call bn_load 
-0x778d 033456 copy regb ,contr 
-0x778e 033457 call bn_load 
-0x778f 033458 force 0 ,regb 
-:      033459 bn_mulmod_1:
-0x7790 033460 force 0 ,temp 
-0x7791 033461 force 6 ,regc 
-:      033462 bn_mulmod_0:
-0x7792 033463 ifetch 4 ,contw 
-0x7793 033464 iforce rega 
-0x7794 033465 copy regb ,regext_index 
-0x7795 033466 deposit regext 
-0x7796 033467 copy regc ,regext_index 
-0x7797 033468 imul32 regext ,pdata 
-0x7798 033469 iadd rega ,pdata 
-0x7799 033470 iadd temp ,pdata 
-0x779a 033471 istore 4 ,contw 
-0x779b 033472 rshift32 pdata ,temp 
-0x779c 033473 increase 1 ,regc 
-0x779d 033474 compare 12 ,regc ,0xff 
-0x779e 033475 nbranch bn_mulmod_0 ,true 
-0x779f 033476 deposit temp 
-0x77a0 033477 istore 4 ,contw 
-0x77a1 033478 increase -24 ,contw 
-0x77a2 033479 increase 1 ,regb 
-0x77a3 033480 compare 6 ,regb ,0xff 
-0x77a4 033481 nbranch bn_mulmod_1 ,true 
-0x77a5 033482 arg mem_tmp1 ,rega 
-0x77a6 033483 copy timeup ,contw 
-0x77a7 033484 branch bn_p192mod 
-:      033487 bn_sqrmod:
-0x77a8 033488 copy rega ,regb 
-0x77a9 033489 branch bn_mulmod 
-:      033491 bn_rshifteven:
-0x77aa 033492 copy rega ,alarm 
-:      033493 bn_rshifteven_1:
-0x77ab 033494 copy alarm ,rega 
-0x77ac 033495 ifetch 1 ,rega 
-0x77ad 033496 isolate1 0 ,pdata 
-0x77ae 033497 rtn true 
-0x77af 033498 call bn_rshift6 
-0x77b0 033499 ifetch 1 ,regb 
-0x77b1 033500 isolate0 0 ,pdata 
-0x77b2 033501 branch bn_rshifteven_0 ,true 
-0x77b3 033502 arg mem_p ,rega 
-0x77b4 033503 copy regb ,contw 
-0x77b5 033504 call bn_add 
-0x77b6 033505 ifetch 1 ,regb 
-0x77b7 033506 iadd regc ,pdata 
-0x77b8 033507 istore 1 ,regb 
-0x77b9 033508 increase -24 ,regb 
-:      033509 bn_rshifteven_0:
-0x77ba 033510 add regb ,24 ,rega 
-0x77bb 033511 force 7 ,loopcnt 
-0x77bc 033512 call bn_rshift 
-0x77bd 033513 branch bn_rshifteven_1 
-:      033516 bn_invmod:
-0x77be 033517 copy contw ,timeup 
-0x77bf 033518 arg mem_tmp0 ,contw 
-0x77c0 033519 call bn_zero 
-0x77c1 033520 force 0 ,pdata 
-0x77c2 033521 store 4 ,mem_tmp5 
-0x77c3 033522 store 4 ,mem_t2 
-0x77c4 033523 jam 1 ,mem_tmp0 
-0x77c5 033524 arg mem_tmp1 ,contw 
-0x77c6 033525 call bn_zero 
-0x77c7 033526 arg mem_p ,contr 
-0x77c8 033527 arg mem_tmp2 ,contw 
-0x77c9 033528 call memcpy24 
-0x77ca 033529 copy rega ,contr 
-0x77cb 033530 arg mem_tmp3 ,contw 
-0x77cc 033531 call memcpy24 
-:      033532 bn_invmod_2:
-0x77cd 033533 arg mem_tmp3 ,contr 
-0x77ce 033534 call bn_eq_zero 
-0x77cf 033535 branch bn_invmod_0 ,blank 
-0x77d0 033536 arg mem_tmp3 ,rega 
-0x77d1 033537 arg mem_tmp0 ,regb 
-0x77d2 033538 call bn_rshifteven 
-0x77d3 033540 arg mem_tmp2 ,rega 
-0x77d4 033541 arg mem_tmp1 ,regb 
-0x77d5 033542 call bn_rshifteven 
-0x77d6 033543 arg mem_tmp3 ,rega 
-0x77d7 033544 arg mem_tmp2 ,regb 
-0x77d8 033545 call bn_bigeq 
-0x77d9 033546 branch bn_invmod_1 ,positive 
-0x77da 033547 arg mem_tmp2 ,rega 
-0x77db 033548 arg mem_tmp3 ,regb 
-0x77dc 033549 copy rega ,contw 
-0x77dd 033550 call bn_sub 
-0x77de 033551 arg mem_tmp0 ,rega 
-0x77df 033552 arg mem_tmp1 ,regb 
-0x77e0 033553 copy regb ,contw 
-0x77e1 033554 call bn_add 
-0x77e2 033555 ifetch 1 ,rega 
-0x77e3 033556 iadd regc ,regc 
-0x77e4 033557 ifetch 1 ,regb 
-0x77e5 033558 iadd regc ,pdata 
-0x77e6 033559 istore 1 ,regb 
-0x77e7 033560 branch bn_invmod_2 
-:      033561 bn_invmod_1:
-0x77e8 033562 arg mem_tmp3 ,rega 
-0x77e9 033563 arg mem_tmp2 ,regb 
-0x77ea 033564 copy rega ,contw 
-0x77eb 033565 call bn_sub 
-0x77ec 033566 arg mem_tmp1 ,rega 
-0x77ed 033567 arg mem_tmp0 ,regb 
-0x77ee 033568 copy regb ,contw 
-0x77ef 033569 call bn_add 
-0x77f0 033570 ifetch 1 ,rega 
-0x77f1 033571 iadd regc ,regc 
-0x77f2 033572 ifetch 1 ,regb 
-0x77f3 033573 iadd regc ,pdata 
-0x77f4 033574 istore 1 ,regb 
-0x77f5 033575 branch bn_invmod_2 
-:      033576 bn_invmod_0:
-0x77f6 033577 arg mem_tmp0 ,contw 
-0x77f7 033578 call bn_zero 
-0x77f8 033579 fetch 1 ,mem_tmp5 
-0x77f9 033580 store 1 ,mem_tmp0 
-0x77fa 033581 store 1 ,mem_tmp0a 
-0x77fb 033582 arg mem_tmp0 ,rega 
-0x77fc 033583 arg mem_tmp1 ,regb 
-0x77fd 033584 copy regb ,contw 
-0x77fe 033585 call bn_addmod 
-0x77ff 033586 arg mem_p ,rega 
-0x7800 033587 arg mem_tmp1 ,regb 
-0x7801 033588 copy timeup ,contw 
-0x7802 033589 branch bn_submod 
-:      033594 ecdbl:
-0x7803 033595 arg mem_cz ,rega 
-0x7804 033596 arg mem_t2 ,contw 
-0x7805 033597 call bn_sqrmod 
-0x7806 033598 arg mem_t2 ,rega 
-0x7807 033599 arg mem_t3 ,contw 
-0x7808 033600 call bn_sqrmod 
-0x7809 033601 arg mem_a ,rega 
-0x780a 033602 arg mem_t3 ,regb 
-0x780b 033603 arg mem_t3 ,contw 
-0x780c 033604 call bn_mulmod 
-0x780d 033605 arg mem_cx ,rega 
-0x780e 033606 arg mem_t2 ,contw 
-0x780f 033607 call bn_sqrmod 
-0x7810 033608 arg mem_t2 ,contr 
-0x7811 033609 arg mem_t1 ,contw 
-0x7812 033610 call memcpy24 
-0x7813 033611 arg mem_t1 ,rega 
-0x7814 033612 call bn_lshiftmod 
-0x7815 033613 arg mem_t2 ,rega 
-0x7816 033614 arg mem_t1 ,regb 
-0x7817 033615 arg mem_t2 ,contw 
-0x7818 033616 call bn_addmod 
-0x7819 033617 arg mem_t2 ,rega 
-0x781a 033618 arg mem_t3 ,regb 
-0x781b 033619 arg mem_t2 ,contw 
-0x781c 033620 call bn_addmod 
-0x781d 033621 arg mem_cx ,contr 
-0x781e 033622 arg mem_t1 ,contw 
-0x781f 033623 call memcpy24 
-0x7820 033624 arg mem_cy ,rega 
-0x7821 033625 arg mem_t3 ,contw 
-0x7822 033626 call bn_sqrmod 
-0x7823 033627 arg mem_t1 ,rega 
-0x7824 033628 call bn_lshiftmod 
-0x7825 033629 arg mem_t1 ,rega 
-0x7826 033630 call bn_lshiftmod 
-0x7827 033631 arg mem_t1 ,rega 
-0x7828 033632 arg mem_t3 ,regb 
-0x7829 033633 arg mem_t1 ,contw 
-0x782a 033634 call bn_mulmod 
-0x782b 033635 arg mem_t3 ,rega 
-0x782c 033636 arg mem_t0 ,contw 
-0x782d 033637 call bn_sqrmod 
-0x782e 033638 arg mem_t0 ,rega 
-0x782f 033639 call bn_lshiftmod 
-0x7830 033640 arg mem_t0 ,rega 
-0x7831 033641 call bn_lshiftmod 
-0x7832 033642 arg mem_t0 ,rega 
-0x7833 033643 call bn_lshiftmod 
-0x7834 033644 arg mem_cy ,contr 
-0x7835 033645 arg mem_t3 ,contw 
-0x7836 033646 call memcpy24 
-0x7837 033647 arg mem_t3 ,rega 
-0x7838 033648 call bn_lshiftmod 
-0x7839 033649 arg mem_t3 ,rega 
-0x783a 033650 arg mem_cz ,regb 
-0x783b 033651 arg mem_cz ,contw 
-0x783c 033652 call bn_mulmod 
-0x783d 033653 arg mem_t2 ,rega 
-0x783e 033654 arg mem_t3 ,contw 
-0x783f 033655 call bn_sqrmod 
-0x7840 033656 arg mem_t3 ,rega 
-0x7841 033657 arg mem_t1 ,regb 
-0x7842 033658 arg mem_t3 ,contw 
-0x7843 033659 call bn_submod 
-0x7844 033660 arg mem_t3 ,rega 
-0x7845 033661 arg mem_t1 ,regb 
-0x7846 033662 arg mem_cx ,contw 
-0x7847 033663 call bn_submod 
-0x7848 033664 arg mem_t1 ,rega 
-0x7849 033665 arg mem_cx ,regb 
-0x784a 033666 arg mem_t3 ,contw 
-0x784b 033667 call bn_submod 
-0x784c 033668 arg mem_t3 ,rega 
-0x784d 033669 arg mem_t2 ,regb 
-0x784e 033670 arg mem_t3 ,contw 
-0x784f 033671 call bn_mulmod 
-0x7850 033672 arg mem_t3 ,rega 
-0x7851 033673 arg mem_t0 ,regb 
-0x7852 033674 arg mem_cy ,contw 
-0x7853 033675 branch bn_submod 
-:      033679 ecadd:
-0x7854 033680 arg mem_az ,rega 
-0x7855 033681 arg mem_t7 ,contw 
-0x7856 033682 call bn_sqrmod 
-0x7857 033683 arg mem_cx ,rega 
-0x7858 033684 arg mem_t7 ,regb 
-0x7859 033685 arg mem_t0 ,contw 
-0x785a 033686 call bn_mulmod 
-0x785b 033687 arg mem_az ,rega 
-0x785c 033688 arg mem_t7 ,regb 
-0x785d 033689 arg mem_t7 ,contw 
-0x785e 033690 call bn_mulmod 
-0x785f 033691 arg mem_cy ,rega 
-0x7860 033692 arg mem_t7 ,regb 
-0x7861 033693 arg mem_t1 ,contw 
-0x7862 033694 call bn_mulmod 
-0x7863 033695 arg mem_cz ,rega 
-0x7864 033696 arg mem_t7 ,contw 
-0x7865 033697 call bn_sqrmod 
-0x7866 033698 arg mem_ax ,rega 
-0x7867 033699 arg mem_t7 ,regb 
-0x7868 033700 arg mem_t2 ,contw 
-0x7869 033701 call bn_mulmod 
-0x786a 033702 arg mem_cz ,rega 
-0x786b 033703 arg mem_t7 ,regb 
-0x786c 033704 arg mem_t7 ,contw 
-0x786d 033705 call bn_mulmod 
-0x786e 033706 arg mem_ay ,rega 
-0x786f 033707 arg mem_t7 ,regb 
-0x7870 033708 arg mem_t3 ,contw 
-0x7871 033709 call bn_mulmod 
-0x7872 033710 arg mem_t0 ,rega 
-0x7873 033711 arg mem_t2 ,regb 
-0x7874 033712 arg mem_t7 ,contw 
-0x7875 033713 call bn_submod 
-0x7876 033714 arg mem_t0 ,rega 
-0x7877 033715 arg mem_t2 ,regb 
-0x7878 033716 arg mem_t0 ,contw 
-0x7879 033717 call bn_addmod 
-0x787a 033718 arg mem_t1 ,rega 
-0x787b 033719 arg mem_t3 ,regb 
-0x787c 033720 arg mem_t2 ,contw 
-0x787d 033721 call bn_submod 
-0x787e 033722 arg mem_t1 ,rega 
-0x787f 033723 arg mem_t3 ,regb 
-0x7880 033724 arg mem_t1 ,contw 
-0x7881 033725 call bn_addmod 
-0x7882 033726 arg mem_t1 ,rega 
-0x7883 033727 arg mem_t7 ,regb 
-0x7884 033728 arg mem_t1 ,contw 
-0x7885 033729 call bn_mulmod 
-0x7886 033730 arg mem_cz ,rega 
-0x7887 033731 arg mem_az ,regb 
-0x7888 033732 arg mem_t3 ,contw 
-0x7889 033733 call bn_mulmod 
-0x788a 033734 arg mem_t3 ,rega 
-0x788b 033735 arg mem_t7 ,regb 
-0x788c 033736 arg mem_cz ,contw 
-0x788d 033737 call bn_mulmod 
-0x788e 033738 arg mem_t7 ,rega 
-0x788f 033739 arg mem_t7 ,contw 
-0x7890 033740 call bn_sqrmod 
-0x7891 033741 arg mem_t7 ,rega 
-0x7892 033742 arg mem_t0 ,regb 
-0x7893 033743 arg mem_t3 ,contw 
-0x7894 033744 call bn_mulmod 
-0x7895 033745 arg mem_t7 ,rega 
-0x7896 033746 arg mem_t1 ,regb 
-0x7897 033747 arg mem_t1 ,contw 
-0x7898 033748 call bn_mulmod 
-0x7899 033749 arg mem_t2 ,rega 
-0x789a 033750 arg mem_cx ,contw 
-0x789b 033751 call bn_sqrmod 
-0x789c 033752 arg mem_cx ,rega 
-0x789d 033753 arg mem_t3 ,regb 
-0x789e 033754 arg mem_cx ,contw 
-0x789f 033755 call bn_submod 
-0x78a0 033756 arg mem_cx ,contr 
-0x78a1 033757 arg mem_t7 ,contw 
-0x78a2 033758 call memcpy24 
-0x78a3 033759 arg mem_t7 ,rega 
-0x78a4 033760 call bn_lshiftmod 
-0x78a5 033761 arg mem_t3 ,rega 
-0x78a6 033762 arg mem_t7 ,regb 
-0x78a7 033763 arg mem_t3 ,contw 
-0x78a8 033764 call bn_submod 
-0x78a9 033765 arg mem_t3 ,rega 
-0x78aa 033766 arg mem_t2 ,regb 
-0x78ab 033767 arg mem_t2 ,contw 
-0x78ac 033768 call bn_mulmod 
-0x78ad 033769 arg mem_t2 ,rega 
-0x78ae 033770 arg mem_t1 ,regb 
-0x78af 033771 arg mem_cy ,contw 
-0x78b0 033772 call bn_submod 
-0x78b1 033773 arg mem_cy ,rega 
-0x78b2 033774 arg mem_p ,regb 
-0x78b3 033775 arg mem_cy ,contw 
-0x78b4 033776 force 0 ,regc 
-0x78b5 033777 fetch 1 ,mem_cy 
-0x78b6 033778 isolate1 0 ,pdata 
-0x78b7 033779 call bn_add ,true 
-0x78b8 033780 copy regc ,alarm 
-0x78b9 033781 arg mem_cy ,rega 
-0x78ba 033782 call bn_rshift6 
-0x78bb 033783 fetch 1 ,mem_cy5 
-0x78bc 033784 isolate1 0 ,alarm 
-0x78bd 033785 setflag true ,7 ,pdata 
-0x78be 033786 store 1 ,mem_cy5 
-0x78bf 033787 rtn 
-:      033791 eckp_0:
-0x78c0 033792 fetch 1 ,mem_ec_loopc 
-0x78c1 033793 increase -1 ,pdata 
-0x78c2 033794 nrtn positive 
-0x78c3 033795 store 1 ,mem_ec_loopc 
-0x78c4 033796 fetch 1 ,mem_ec_infinite 
-0x78c5 033797 call ecdbl ,blank 
-0x78c6 033798 fetch 1 ,mem_ec_loopc 
-0x78c7 033799 arg mem_k ,contr 
-0x78c8 033800 call bn_testbit 
-0x78c9 033801 branch eckp_0 ,true 
-0x78ca 033802 fetch 1 ,mem_ec_infinite 
-0x78cb 033803 nbranch eckp_1 ,blank 
-0x78cc 033804 call ecadd 
-0x78cd 033805 branch eckp_0 
-:      033806 eckp_1:
-0x78ce 033807 jam 0 ,mem_ec_infinite 
-0x78cf 033808 arg mem_ax ,contr 
-0x78d0 033809 arg mem_cx ,contw 
-0x78d1 033810 call ec_copy 
-0x78d2 033811 branch eckp_0 
-:      033814 ecunmapz:
-0x78d3 033815 arg mem_cz ,rega 
-0x78d4 033816 arg mem_t3 ,contw 
-0x78d5 033817 call bn_invmod 
-0x78d6 033818 arg mem_t3 ,rega 
-0x78d7 033819 arg mem_t1 ,contw 
-0x78d8 033820 call bn_sqrmod 
-0x78d9 033821 arg mem_cx ,rega 
-0x78da 033822 arg mem_t1 ,regb 
-0x78db 033823 arg mem_bx ,contw 
-0x78dc 033824 call bn_mulmod 
-0x78dd 033825 arg mem_t3 ,rega 
-0x78de 033826 arg mem_t1 ,regb 
-0x78df 033827 arg mem_t2 ,contw 
-0x78e0 033828 call bn_mulmod 
-0x78e1 033829 arg mem_cy ,rega 
-0x78e2 033830 arg mem_t2 ,regb 
-0x78e3 033831 arg mem_by ,contw 
-0x78e4 033832 branch bn_mulmod 
-:      033836 sha_endian_swap2:
-0x78e5 033837 ifetch 4 ,contr 
-0x78e6 033838 force 4 ,rega 
-0x78e7 033839 increase 3 ,contw 
-:      033840 sha_endian_loop:
-0x78e8 033841 istore 1 ,contw 
-0x78e9 033842 rshift8 pdata ,pdata 
-0x78ea 033843 increase -2 ,contw 
-0x78eb 033844 increase -1 ,rega 
-0x78ec 033845 nbranch sha_endian_loop ,zero 
-0x78ed 033846 increase 5 ,contw 
-0x78ee 033847 loop sha_endian_swap2 
-0x78ef 033848 rtn 
-:      033851 sha_getw:
-0x78f0 033852 lshift2 queue ,pdata 
-0x78f1 033853 iadd timeup ,contr 
-0x78f2 033854 ifetch 4 ,contr 
-0x78f3 033855 rtn 
-:      033857 sha_r:
-0x78f4 033858 force 16 ,alarm 
-0x78f5 033859 arg memdat ,timeup 
-:      033860 sha_r_loop:
-0x78f6 033861 add alarm ,-7 ,queue 
-0x78f7 033862 call sha_getw 
-0x78f8 033863 iforce temp 
-0x78f9 033864 add alarm ,-16 ,queue 
-0x78fa 033865 call sha_getw 
-0x78fb 033866 iadd temp ,temp 
-0x78fc 033867 add alarm ,-2 ,queue 
-0x78fd 033868 call sha_getw 
-0x78fe 033869 shasx pdata ,1 ,pdata 
-0x78ff 033870 iadd temp ,temp 
-0x7900 033871 add alarm ,-15 ,queue 
-0x7901 033872 call sha_getw 
-0x7902 033873 shasx pdata ,0 ,pdata 
-0x7903 033874 iadd temp ,temp 
-0x7904 033875 lshift2 alarm ,pdata 
-0x7905 033876 iadd timeup ,contw 
-0x7906 033877 istoret 4 ,contw 
-0x7907 033878 increase 1 ,alarm 
-0x7908 033879 compare 64 ,alarm ,0xff 
-0x7909 033880 nbranch sha_r_loop ,true 
-0x790a 033881 rtn 
-:      033884 sha_init:
-0x790b 033885 arg memh0 ,contr 
-0x790c 033886 force 7 ,regext_index 
-:      033887 sha_init_0:
-0x790d 033888 ifetch 4 ,contr 
-0x790e 033889 iforce regext 
-0x790f 033890 increase -1 ,regext_index 
-0x7910 033891 branch sha_init_0 ,positive 
-0x7911 033892 rtn 
-:      033894 sha:
-0x7912 033895 bpatchx patch3d_4 ,mem_patch3d 
-0x7913 033896 call sha_r 
-0x7914 033897 arg memahbak ,contw 
-0x7915 033898 force 0 ,regext_index 
-:      033899 sha_0:
-0x7916 033900 deposit regext 
-0x7917 033901 istore 4 ,contw 
-0x7918 033902 increase 1 ,regext_index 
-0x7919 033903 compare 8 ,regext_index ,0xff 
-0x791a 033904 nbranch sha_0 ,true 
-0x791b 033905 call enable_authrom 
-0x791c 033906 arg memk ,timeup 
-0x791d 033907 arg memdat ,alarm 
-0x791e 033908 force 64 ,loopcnt 
-:      033909 sha_loop:
-0x791f 033910 ifetcht 4 ,alarm 
-0x7920 033911 ifetch 4 ,timeup 
-0x7921 033912 increase 4 ,timeup 
-0x7922 033913 increase 4 ,alarm 
-0x7923 033914 iadd temp ,pdata 
-0x7924 033915 force 7 ,regext_index 
-0x7925 033916 iadd regext ,temp 
-0x7926 033917 force 4 ,regext_index 
-0x7927 033918 shasx regext ,3 ,pdata 
-0x7928 033919 iadd temp ,temp 
-0x7929 033920 force 5 ,regext_index 
-0x792a 033921 deposit regext 
-0x792b 033922 force 6 ,regext_index 
-0x792c 033923 ixor regext ,pdata 
-0x792d 033924 force 4 ,regext_index 
-0x792e 033925 iand regext ,pdata 
-0x792f 033926 force 6 ,regext_index 
-0x7930 033927 ixor regext ,pdata 
-0x7931 033928 iadd temp ,temp 
-0x7932 033929 force 7 ,regext_index 
-0x7933 033930 copy temp ,regext 
-0x7934 033931 force 3 ,regext_index 
-0x7935 033932 deposit regext 
-0x7936 033933 iadd temp ,regext 
-0x7937 033934 force 0 ,regext_index 
-0x7938 033935 deposit regext 
-0x7939 033936 force 1 ,regext_index 
-0x793a 033937 iand regext ,temp 
-0x793b 033938 ior regext ,pdata 
-0x793c 033939 force 2 ,regext_index 
-0x793d 033940 iand regext ,pdata 
-0x793e 033941 ior temp ,temp 
-0x793f 033942 force 0 ,regext_index 
-0x7940 033943 shasx regext ,2 ,pdata 
-0x7941 033944 iadd temp ,pdata 
-0x7942 033945 force 7 ,regext_index 
-0x7943 033946 iadd regext ,regext 
-0x7944 033947 regexrot 
-0x7945 033948 loop sha_loop 
-0x7946 033949 arg memahbak ,contr 
-0x7947 033950 force 0 ,regext_index 
-:      033951 sha_1:
-0x7948 033952 ifetch 4 ,contr 
-0x7949 033953 iadd regext ,regext 
-0x794a 033954 increase 1 ,regext_index 
-0x794b 033955 compare 8 ,regext_index ,0xff 
-0x794c 033956 nbranch sha_1 ,true 
-0x794d 033957 branch disable_authrom 
-:      033960 sha_result:
-0x794e 033961 arg memresult ,contw 
-0x794f 033962 force 7 ,regext_index 
-:      033963 sha_regext_save:
-0x7950 033964 deposit regext 
-0x7951 033965 istore 4 ,contw 
-0x7952 033966 increase -1 ,regext_index 
-0x7953 033967 branch sha_regext_save ,positive 
-0x7954 033968 rtn 
-:      033970 pad_xor:
-0x7955 033972 arg memdat ,contw 
-0x7956 033973 increase -4 ,contr 
-0x7957 033974 sub loopcnt ,16 ,rega 
-:      033975 pad_xor_0:
-0x7958 033976 ifetch 4 ,contr 
-0x7959 033977 ixor temp ,pdata 
-0x795a 033978 istore 4 ,contw 
-0x795b 033979 increase -8 ,contr 
-0x795c 033980 loop pad_xor_0 
-0x795d 033981 copy rega ,loopcnt 
-0x795e 033982 deposit temp 
-:      033983 pad_xor_1:
-0x795f 033984 istore 4 ,contw 
-0x7960 033985 loop pad_xor_1 
-0x7961 033986 rtn 
-:      033988 g_noninit_number_confirm:
-0x7962 033989 call g_noninit0 
-0x7963 033990 call sha_result 
-0x7964 033991 branch g_common0 
-:      033993 g_noninit:
-0x7965 033994 call g_noninit0 
-0x7966 033995 branch g_common0 
-:      033997 g_noninit0:
-0x7967 033998 arg mem_sp_pubkey_remote_x_end ,contr 
-0x7968 033999 arg memdat ,contw 
-0x7969 034000 force 6 ,loopcnt 
-0x796a 034001 call memcpy_dword_swap 
-0x796b 034002 arg mem_sp_pubkey_local_x_end ,contr 
-0x796c 034003 force 6 ,loopcnt 
-0x796d 034004 call memcpy_dword_swap 
-0x796e 034005 arg mem_sp_random_remote_end ,contr 
-0x796f 034006 call memcpy_dword_swap4 
-0x7970 034007 call sha_init 
-0x7971 034008 call sha 
-0x7972 034009 arg mem_sp_random_local_end ,contr 
-0x7973 034010 arg memdat ,contw 
-0x7974 034011 branch g_common 
-:      034013 g_init:
-0x7975 034014 arg mem_sp_pubkey_local_x_end ,contr 
-0x7976 034015 arg memdat ,contw 
-0x7977 034016 force 6 ,loopcnt 
-0x7978 034017 call memcpy_dword_swap 
-0x7979 034018 arg mem_sp_pubkey_remote_x_end ,contr 
-0x797a 034019 force 6 ,loopcnt 
-0x797b 034020 call memcpy_dword_swap 
-0x797c 034021 arg mem_sp_random_local_end ,contr 
-0x797d 034022 call memcpy_dword_swap4 
-0x797e 034023 call sha_init 
-0x797f 034024 call sha 
-0x7980 034025 arg mem_sp_random_remote_end ,contr 
-0x7981 034026 arg memdat ,contw 
-0x7982 034027 call g_common 
-0x7983 034028 branch g_common0 
-:      034030 g_common:
-0x7984 034031 call memcpy_dword_swap4 
-0x7985 034032 setarg 0x800000 
-0x7986 034033 lshift8 pdata ,pdata 
-0x7987 034034 istore 4 ,contw 
-0x7988 034035 force 5 ,loopcnt 
-0x7989 034036 call memset0 
-0x798a 034037 setarg 640 
-0x798b 034038 istore 4 ,contw 
-0x798c 034039 branch sha 
-:      034040 g_common0:
-0x798d 034041 fetch 4 ,memresult 
-0x798e 034043 arg 1000 ,rega 
-0x798f 034044 idiv rega 
-0x7990 034045 call wait_div_end 
-0x7991 034046 remainder pdata 
-0x7992 034047 store 4 ,mem_gkey 
-0x7993 034048 quotient pdata 
-0x7994 034049 arg 1000 ,rega 
-0x7995 034050 idiv rega 
-0x7996 034051 call wait_div_end 
-0x7997 034052 remainder pdata 
-0x7998 034053 arg 1000 ,rega 
-0x7999 034054 imul32 rega ,pdata 
-0x799a 034055 fetcht 4 ,mem_gkey 
-0x799b 034056 iadd temp ,pdata 
-0x799c 034057 store 4 ,mem_gkey 
-0x799d 034058 rtn 
-:      034060 function_f1_no_key:
-0x799e 034061 jam 0 ,mem_passkey_1bit 
-0x799f 034062 branch function_f1_common 
-:      034064 function_f1:
-0x79a0 034065 fetch 1 ,mem_ssp_mode_flag 
-0x79a1 034066 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
-:      034067 function_f1_common:
-0x79a2 034068 bpatchx patch3d_5 ,mem_patch3d 
-0x79a3 034069 setarg 0x363636 
-0x79a4 034070 lshift8 pdata ,temp 
-0x79a5 034071 or_into 0x36 ,temp 
-0x79a6 034072 fetch 2 ,mem_sp_prarm_stack 
-0x79a7 034073 copy pdata ,contr 
-0x79a8 034074 force 4 ,loopcnt 
-0x79a9 034075 call pad_xor 
-0x79aa 034076 call sha_init 
-0x79ab 034077 call sha 
-0x79ac 034078 fetch 2 ,mem_sp_prarm_stack + 2 
-0x79ad 034079 copy pdata ,contr 
-0x79ae 034080 arg memdat ,contw 
-0x79af 034081 force 6 ,loopcnt 
-0x79b0 034082 call memcpy_dword_swap 
-0x79b1 034083 fetch 2 ,mem_sp_prarm_stack + 4 
-0x79b2 034084 copy pdata ,contr 
-0x79b3 034085 force 6 ,loopcnt 
-0x79b4 034086 call memcpy_dword_swap 
-0x79b5 034087 setarg 0x800000 
-0x79b6 034088 istore 3 ,contw 
-0x79b7 034090 fetch 1 ,mem_passkey_1bit 
-0x79b8 034092 istore 1 ,contw 
-0x79b9 034093 force 0 ,pdata 
-0x79ba 034094 istore 8 ,contw 
-0x79bb 034095 setarg 0x0388 
-0x79bc 034096 istore 4 ,contw 
-0x79bd 034097 call sha 
-0x79be 034098 call sha_result 
-0x79bf 034099 arg memresult ,contr 
-0x79c0 034100 arg memahsave ,contw 
-0x79c1 034101 call memcpy32 
-0x79c2 034103 setarg 0x5c5c5c 
-0x79c3 034104 lshift8 pdata ,temp 
-0x79c4 034105 or_into 0x5c ,temp 
-0x79c5 034106 fetch 2 ,mem_sp_prarm_stack 
-0x79c6 034107 copy pdata ,contr 
-0x79c7 034108 force 4 ,loopcnt 
-0x79c8 034109 call pad_xor 
-0x79c9 034110 call sha_init 
-0x79ca 034111 call sha 
-0x79cb 034112 arg memahsave_end ,contr 
-0x79cc 034113 arg memdat ,contw 
-0x79cd 034114 force 8 ,loopcnt 
-0x79ce 034115 call memcpy_dword_swap 
-0x79cf 034116 setarg 0x800000 
-0x79d0 034117 lshift8 pdata ,pdata 
-0x79d1 034118 istore 4 ,contw 
-0x79d2 034119 call bn_zero 
-0x79d3 034120 setarg 0x0300 
-0x79d4 034121 istore 4 ,contw 
-0x79d5 034122 call sha 
-0x79d6 034123 branch sha_result 
-:      034126 function_f2:
-0x79d7 034127 setarg 0x363636 
-0x79d8 034128 lshift8 pdata ,temp 
-0x79d9 034129 or_into 0x36 ,temp 
-0x79da 034130 arg mem_sp_dhkey_end ,contr 
-0x79db 034131 force 6 ,loopcnt 
-0x79dc 034132 call pad_xor 
-0x79dd 034133 call sha_init 
-0x79de 034134 call sha 
-0x79df 034135 fetch 2 ,mem_sp_prarm_stack + 12 
-0x79e0 034136 copy pdata ,contr 
-0x79e1 034137 arg memdat ,contw 
-0x79e2 034138 call memcpy_dword_swap4 
-0x79e3 034139 fetch 2 ,mem_sp_prarm_stack + 14 
-0x79e4 034140 copy pdata ,contr 
-0x79e5 034141 call memcpy_dword_swap4 
-0x79e6 034143 setarg 0x62746c 
-0x79e7 034144 lshift8 pdata ,pdata 
-0x79e8 034145 or_into 0x6b ,pdata 
-0x79e9 034146 istore 4 ,contw 
-0x79ea 034147 arg mem_addr_value_end ,contr 
-0x79eb 034148 force 3 ,loopcnt 
-0x79ec 034149 call memcpy_dword_swap 
-0x79ed 034151 setarg 0x800000 
-0x79ee 034152 lshift8 pdata ,pdata 
-0x79ef 034153 istore 4 ,contw 
-0x79f0 034154 force 0 ,pdata 
-0x79f1 034155 istore 8 ,contw 
-0x79f2 034156 setarg 0x0380 
-0x79f3 034157 istore 4 ,contw 
-0x79f4 034158 call sha 
-0x79f5 034160 call sha_result 
-0x79f6 034161 arg memresult ,contr 
-0x79f7 034162 arg memahsave ,contw 
-0x79f8 034163 call memcpy32 
-0x79f9 034165 setarg 0x5c5c5c 
-0x79fa 034166 lshift8 pdata ,temp 
-0x79fb 034167 or_into 0x5c ,temp 
-0x79fc 034168 arg mem_sp_dhkey_end ,contr 
-0x79fd 034169 force 6 ,loopcnt 
-0x79fe 034170 call pad_xor 
-0x79ff 034171 call sha_init 
-0x7a00 034172 call sha 
-0x7a01 034173 arg memahsave_end ,contr 
-0x7a02 034174 arg memdat ,contw 
-0x7a03 034175 force 8 ,loopcnt 
-0x7a04 034176 call memcpy_dword_swap 
-0x7a05 034177 setarg 0x800000 
-0x7a06 034178 lshift8 pdata ,pdata 
-0x7a07 034179 istore 4 ,contw 
-0x7a08 034180 call bn_zero 
-0x7a09 034181 setarg 0x0300 
-0x7a0a 034182 istore 4 ,contw 
-0x7a0b 034183 call sha 
-0x7a0c 034184 branch sha_result 
-:      034187 function_f3a:
-0x7a0d 034188 fetch 1 ,mem_ssp_mode_flag 
-0x7a0e 034189 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
-:      034190 function_f3a_common:
-0x7a0f 034191 bpatchx patch3d_6 ,mem_patch3d 
-0x7a10 034192 setarg 0x363636 
-0x7a11 034193 lshift8 pdata ,temp 
-0x7a12 034194 or_into 0x36 ,temp 
-0x7a13 034195 arg mem_sp_dhkey_end ,contr 
-0x7a14 034196 force 6 ,loopcnt 
-0x7a15 034197 call pad_xor 
-0x7a16 034198 call sha_init 
-0x7a17 034199 call sha 
-0x7a18 034200 arg mem_sp_random_remote_end ,contr 
-0x7a19 034201 arg memdat ,contw 
-0x7a1a 034202 call memcpy_dword_swap4 
-0x7a1b 034203 arg mem_sp_random_local_end ,contr 
-0x7a1c 034204 call memcpy_dword_swap4 
-0x7a1d 034205 branch function_f3_common 
-:      034207 function_f3a_no_pin:
-0x7a1e 034208 setarg 0 
-0x7a1f 034209 store 4 ,mem_pin 
-0x7a20 034210 branch function_f3a_common 
-:      034212 function_f3b_no_pin:
-0x7a21 034213 setarg 0 
-0x7a22 034214 store 4 ,mem_pin 
-0x7a23 034215 branch function_f3b_common 
-:      034218 function_f3b:
-0x7a24 034219 fetch 1 ,mem_ssp_mode_flag 
-0x7a25 034220 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
-:      034221 function_f3b_common:
-0x7a26 034222 setarg 0x363636 
-0x7a27 034223 lshift8 pdata ,temp 
-0x7a28 034224 or_into 0x36 ,temp 
-0x7a29 034225 arg mem_sp_dhkey_end ,contr 
-0x7a2a 034226 force 6 ,loopcnt 
-0x7a2b 034227 call pad_xor 
-0x7a2c 034228 call sha_init 
-0x7a2d 034229 call sha 
-0x7a2e 034231 arg mem_sp_random_local_end ,contr 
-0x7a2f 034232 arg memdat ,contw 
-0x7a30 034233 call memcpy_dword_swap4 
-0x7a31 034234 arg mem_sp_random_remote_end ,contr 
-0x7a32 034235 call memcpy_dword_swap4 
-:      034236 function_f3_common:
-0x7a33 034237 setarg 0x0 
-0x7a34 034238 istore 8 ,contw 
-0x7a35 034239 istore 4 ,contw 
-0x7a36 034240 fetch 4 ,mem_pin 
-0x7a37 034241 istore 4 ,contw 
-0x7a38 034243 copy contw ,temp 
-0x7a39 034244 jam 0x80 ,mem_addr_padding 
-0x7a3a 034245 copy temp ,contw 
-0x7a3b 034246 arg mem_addr_iocap_end ,contr 
-0x7a3c 034247 call memcpy_dword_swap4 
-0x7a3d 034249 call sha 
-0x7a3e 034251 arg memdat ,contw 
-0x7a3f 034252 force 7 ,loopcnt 
-0x7a40 034253 call memset0 
-0x7a41 034254 istore 4 ,contw 
-0x7a42 034255 setarg 0x03F8 
-0x7a43 034256 istore 4 ,contw 
-0x7a44 034257 call sha 
-0x7a45 034258 call sha_result 
-0x7a46 034260 arg memresult ,contr 
-0x7a47 034261 arg memahsave ,contw 
-0x7a48 034262 call memcpy32 
-0x7a49 034264 setarg 0x5c5c5c 
-0x7a4a 034265 lshift8 pdata ,temp 
-0x7a4b 034266 or_into 0x5c ,temp 
-0x7a4c 034267 arg mem_sp_dhkey_end ,contr 
-0x7a4d 034268 force 6 ,loopcnt 
-0x7a4e 034269 call pad_xor 
-0x7a4f 034270 call sha_init 
-0x7a50 034271 call sha 
-0x7a51 034272 arg memahsave_end ,contr 
-0x7a52 034273 arg memdat ,contw 
-0x7a53 034274 force 8 ,loopcnt 
-0x7a54 034275 call memcpy_dword_swap 
-0x7a55 034276 setarg 0x800000 
-0x7a56 034277 lshift8 pdata ,pdata 
-0x7a57 034278 istore 4 ,contw 
-0x7a58 034279 call bn_zero 
-0x7a59 034280 setarg 0x0300 
-0x7a5a 034281 istore 4 ,contw 
-0x7a5b 034282 call sha 
-0x7a5c 034283 branch sha_result 
-:      034290 eckp_calc_init:
-0x7a5d 034291 jam 192 ,mem_ec_loopc 
-:      034292 eckp_calc_init_1:
-0x7a5e 034293 fetch 1 ,mem_ec_loopc 
-0x7a5f 034294 rtn blank 
-0x7a60 034295 increase -1 ,pdata 
-0x7a61 034296 store 1 ,mem_ec_loopc 
-0x7a62 034297 arg mem_k ,contr 
-0x7a63 034298 call bn_testbit 
-0x7a64 034299 branch eckp_calc_init_1 ,true 
-0x7a65 034300 arg mem_ax ,contr 
-0x7a66 034301 arg mem_cx ,contw 
-0x7a67 034302 branch ec_copy 
-:      034304 eckp_calc:
-0x7a68 034305 call ecdbl 
-0x7a69 034306 fetch 1 ,mem_ec_loopc 
-0x7a6a 034307 increase -1 ,pdata 
-0x7a6b 034308 store 1 ,mem_ec_loopc 
-0x7a6c 034309 arg mem_k ,contr 
-0x7a6d 034310 call bn_testbit 
-0x7a6e 034311 rtn true 
-0x7a6f 034312 branch ecadd 
-:      034314 memcpy_dword_swap4:
-0x7a70 034315 force 4 ,loopcnt 
-:      034316 memcpy_dword_swap:
-0x7a71 034317 increase -4 ,contr 
-:      034318 memcpy_dword_swap_loop:
-0x7a72 034319 ifetch 4 ,contr 
-0x7a73 034320 istore 4 ,contw 
-0x7a74 034321 increase -8 ,contr 
-0x7a75 034322 loop memcpy_dword_swap_loop 
-0x7a76 034323 rtn 
-:      034328 sp_initialize_256:
-0x7a77 034329 bpatchx patch3d_7 ,mem_patch3d 
-0x7a78 034330 fetch 1 ,mem_le_secure_connect_enable 
-0x7a79 034331 branch le_secure_connection_disable ,blank 
-0x7a7a 034332 call le_secure_connection_enable 
-0x7a7b 034333 call sp_clear_flags 
-0x7a7c 034335 branch sp_pubkey_calc_256 
-:      034340 sp_pubkey_calc_256:
-0x7a7d 034341 fetch 1 ,mem_le_sc_local_key_invalid 
-0x7a7e 034342 rtnne sp_key_invalid 
-0x7a7f 034343 fetch 1 ,mem_le_sc_calc 
-0x7a80 034344 rtnne sp_calc_standby 
-0x7a81 034346 arg mem_le_private_key_256 ,contw 
-0x7a82 034347 force 15 ,queue 
-0x7a83 034348 call random_generator 
-0x7a84 034349 random pdata 
-0x7a85 034350 rshift pdata ,pdata 
-0x7a86 034351 istore 2 ,contw 
-0x7a87 034353 arg mem_k_256 ,contw 
-0x7a88 034354 arg mem_le_private_key_256 ,contr 
-0x7a89 034355 call memcpy32 
-0x7a8a 034357 arg mem_ax_256 ,contw 
-0x7a8b 034358 arg mem_gx_256 ,contr 
-0x7a8c 034359 call memcpy64 
-0x7a8d 034361 arg mem_az_256 ,contw 
-0x7a8e 034362 call clear_mem_256 
-0x7a8f 034363 jam 1 ,mem_az_256 
-0x7a90 034365 call eckp_calc_init_256 
-0x7a91 034366 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
-0x7a92 034367 rtn 
-:      034369 sp_pubkey_generated_256:
-0x7a93 034370 arg mem_le_pubkey_local_x_256 ,contw 
-0x7a94 034371 arg mem_bx_256 ,contr 
-0x7a95 034372 call memcpy64 
-0x7a96 034373 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
-0x7a97 034374 jam sp_calc_standby ,mem_le_sc_calc 
-0x7a98 034375 rtn 
-:      034379 sp_dhkey_calc_256:
-0x7a99 034380 fetch 1 ,mem_sp_dhkey_invalid 
-0x7a9a 034381 rtnne sp_key_invalid 
-0x7a9b 034382 fetch 1 ,mem_le_sc_calc 
-0x7a9c 034383 rtnne sp_calc_standby 
-0x7a9d 034385 arg mem_k_256 ,contw 
-0x7a9e 034386 arg mem_le_private_key_256 ,contr 
-0x7a9f 034387 call memcpy32 
-0x7aa0 034389 arg mem_ax_256 ,contw 
-0x7aa1 034390 arg mem_le_pubkey_remote_x_256 ,contr 
-0x7aa2 034391 call memcpy64 
-0x7aa3 034393 arg mem_az_256 ,contw 
-0x7aa4 034394 call clear_mem_256 
-0x7aa5 034395 jam 1 ,mem_az_256 
-0x7aa6 034397 call eckp_calc_init_256 
-0x7aa7 034398 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
-0x7aa8 034399 rtn 
-:      034402 sp_dhkey_generated_256:
-0x7aa9 034404 arg mem_le_dhkey_256 ,contw 
-0x7aaa 034405 arg mem_bx_256 ,contr 
-0x7aab 034406 call memcpy32 
-0x7aac 034407 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
-0x7aad 034408 jam sp_calc_standby ,mem_le_sc_calc 
-0x7aae 034409 rtn 
-:      034413 sp_calc_sequence_256:
-0x7aaf 034414 fetch 1 ,mem_le_secure_connect_enable 
-0x7ab0 034415 rtn blank 
-0x7ab1 034416 fetch 1 ,mem_le_sc_calc 
-0x7ab2 034417 rtn blank 
-0x7ab3 034418 increase 0x80 ,pdata 
-0x7ab4 034419 store 1 ,mem_le_sc_calc 
-0x7ab5 034420 rtnbit1 7 
-0x7ab6 034421 fetch 2 ,mem_ec_loopc 
-0x7ab7 034422 branch sp_calc_sequence_done_256 ,blank 
-0x7ab8 034423 branch eckp_calc_256 
-:      034425 sp_calc_sequence_done_256:
-0x7ab9 034426 bpatchx patch3e_0 ,mem_patch3e 
-0x7aba 034427 call ecunmapz_256 
-0x7abb 034428 fetch 1 ,mem_le_sc_calc 
-0x7abc 034429 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
-0x7abd 034430 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
-0x7abe 034431 rtn 
-:      034434 eckp_calc_256:
-0x7abf 034435 call ecdbl_256 
-0x7ac0 034436 fetch 2 ,mem_ec_loopc 
-0x7ac1 034437 increase -1 ,pdata 
-0x7ac2 034438 store 2 ,mem_ec_loopc 
-0x7ac3 034439 arg mem_k_256 ,contr 
-0x7ac4 034440 call bn_testbit 
-0x7ac5 034441 rtn true 
-0x7ac6 034442 branch ecadd_256 
-:      034444 eckp_calc_init_256:
-0x7ac7 034445 bpatchx patch3e_1 ,mem_patch3e 
-0x7ac8 034446 setarg 256 ,pdata 
-0x7ac9 034447 store 2 ,mem_ec_loopc 
-:      034448 eckp_calc_init_256_1:
-0x7aca 034449 fetch 2 ,mem_ec_loopc 
-0x7acb 034450 rtn blank 
-0x7acc 034451 increase -1 ,pdata 
-0x7acd 034452 store 2 ,mem_ec_loopc 
-0x7ace 034453 arg mem_k_256 ,contr 
-0x7acf 034454 call bn_testbit 
-0x7ad0 034455 branch eckp_calc_init_256_1 ,true 
-0x7ad1 034456 arg mem_ax_256 ,contr 
-0x7ad2 034457 arg mem_cx_256 ,contw 
-0x7ad3 034458 branch memcpy96 
-:      034461 ecunmapz_256:
-0x7ad4 034462 arg mem_cz_256 ,rega 
-0x7ad5 034463 arg mem_t3_256 ,contw 
-0x7ad6 034464 call bn_invmod_256 
-0x7ad7 034465 arg mem_t3_256 ,rega 
-0x7ad8 034466 arg mem_t1_256 ,contw 
-0x7ad9 034467 call bn_sqrmod_256 
-0x7ada 034468 arg mem_cx_256 ,rega 
-0x7adb 034469 arg mem_t1_256 ,regb 
-0x7adc 034470 arg mem_bx_256 ,contw 
-0x7add 034471 call bn_mulmod_256 
-0x7ade 034472 arg mem_t3_256 ,rega 
-0x7adf 034473 arg mem_t1_256 ,regb 
-0x7ae0 034474 arg mem_t2_256 ,contw 
-0x7ae1 034475 call bn_mulmod_256 
-0x7ae2 034476 arg mem_cy_256 ,rega 
-0x7ae3 034477 arg mem_t2_256 ,regb 
-0x7ae4 034478 arg mem_by_256 ,contw 
-0x7ae5 034479 branch bn_mulmod_256 
-:      034481 ecdbl_256:
-0x7ae6 034482 arg mem_cz_256 ,rega 
-0x7ae7 034483 arg mem_t2_256 ,contw 
-0x7ae8 034484 call bn_sqrmod_256 
-0x7ae9 034485 arg mem_t2_256 ,rega 
-0x7aea 034486 arg mem_t3_256 ,contw 
-0x7aeb 034487 call bn_sqrmod_256 
-0x7aec 034489 arg mem_a_256 ,rega 
-0x7aed 034490 arg mem_t3_256 ,regb 
-0x7aee 034491 arg mem_t3_256 ,contw 
-0x7aef 034492 call bn_mulmod_256 
-0x7af0 034493 arg mem_cx_256 ,rega 
-0x7af1 034494 arg mem_t2_256 ,contw 
-0x7af2 034495 call bn_sqrmod_256 
-0x7af3 034497 arg mem_t2_256 ,contr 
-0x7af4 034498 arg mem_t1_256 ,contw 
-0x7af5 034499 call memcpy32 
-0x7af6 034500 arg mem_t1_256 ,rega 
-0x7af7 034501 call bn_lshiftmod_256 
-0x7af8 034502 arg mem_t2_256 ,rega 
-0x7af9 034503 arg mem_t1_256 ,regb 
-0x7afa 034504 arg mem_t2_256 ,contw 
-0x7afb 034505 call bn_addmod_256 
-0x7afc 034507 arg mem_t2_256 ,rega 
-0x7afd 034508 arg mem_t3_256 ,regb 
-0x7afe 034509 arg mem_t2_256 ,contw 
-0x7aff 034510 call bn_addmod_256 
-0x7b00 034512 arg mem_cx_256 ,contr 
-0x7b01 034513 arg mem_t1_256 ,contw 
-0x7b02 034514 call memcpy32 
-0x7b03 034515 arg mem_cy_256 ,rega 
-0x7b04 034516 arg mem_t3_256 ,contw 
-0x7b05 034517 call bn_sqrmod_256 
-0x7b06 034518 arg mem_t1_256 ,rega 
-0x7b07 034519 call bn_lshiftmod_256 
-0x7b08 034520 arg mem_t1_256 ,rega 
-0x7b09 034521 call bn_lshiftmod_256 
-0x7b0a 034522 arg mem_t1_256 ,rega 
-0x7b0b 034523 arg mem_t3_256 ,regb 
-0x7b0c 034524 arg mem_t1_256 ,contw 
-0x7b0d 034525 call bn_mulmod_256 
-0x7b0e 034526 arg mem_t3_256 ,rega 
-0x7b0f 034527 arg mem_t0_256 ,contw 
-0x7b10 034528 call bn_sqrmod_256 
-0x7b11 034529 arg mem_t0_256 ,rega 
-0x7b12 034530 call bn_lshiftmod_256 
-0x7b13 034531 arg mem_t0_256 ,rega 
-0x7b14 034532 call bn_lshiftmod_256 
-0x7b15 034533 arg mem_t0_256 ,rega 
-0x7b16 034534 call bn_lshiftmod_256 
-0x7b17 034535 arg mem_cy_256 ,contr 
-0x7b18 034536 arg mem_t3_256 ,contw 
-0x7b19 034537 call memcpy32 
-0x7b1a 034538 arg mem_t3_256 ,rega 
-0x7b1b 034539 call bn_lshiftmod_256 
-0x7b1c 034540 arg mem_t3_256 ,rega 
-0x7b1d 034541 arg mem_cz_256 ,regb 
-0x7b1e 034542 arg mem_cz_256 ,contw 
-0x7b1f 034543 call bn_mulmod_256 
-0x7b20 034546 arg mem_t2_256 ,rega 
-0x7b21 034547 arg mem_t3_256 ,contw 
-0x7b22 034548 call bn_sqrmod_256 
-0x7b23 034550 arg mem_t3_256 ,rega 
-0x7b24 034551 arg mem_t1_256 ,regb 
-0x7b25 034552 arg mem_t3_256 ,contw 
-0x7b26 034553 call bn_submod_256 
-0x7b27 034554 arg mem_t3_256 ,rega 
-0x7b28 034555 arg mem_t1_256 ,regb 
-0x7b29 034556 arg mem_cx_256 ,contw 
-0x7b2a 034557 call bn_submod_256 
-0x7b2b 034558 arg mem_t1_256 ,rega 
-0x7b2c 034559 arg mem_cx_256 ,regb 
-0x7b2d 034560 arg mem_t3_256 ,contw 
-0x7b2e 034561 call bn_submod_256 
-0x7b2f 034562 arg mem_t3_256 ,rega 
-0x7b30 034563 arg mem_t2_256 ,regb 
-0x7b31 034564 arg mem_t3_256 ,contw 
-0x7b32 034565 call bn_mulmod_256 
-0x7b33 034566 arg mem_t3_256 ,rega 
-0x7b34 034567 arg mem_t0_256 ,regb 
-0x7b35 034568 arg mem_cy_256 ,contw 
-0x7b36 034569 branch bn_submod_256 
-:      034571 ecadd_256:
-0x7b37 034573 arg mem_az_256 ,rega 
-0x7b38 034574 arg mem_t7_256 ,contw 
-0x7b39 034575 call bn_sqrmod_256 
-0x7b3a 034576 arg mem_cx_256 ,rega 
-0x7b3b 034577 arg mem_t7_256 ,regb 
-0x7b3c 034578 arg mem_t0_256 ,contw 
-0x7b3d 034579 call bn_mulmod_256 
-0x7b3e 034582 arg mem_az_256 ,rega 
-0x7b3f 034583 arg mem_t7_256 ,regb 
-0x7b40 034584 arg mem_t7_256 ,contw 
-0x7b41 034585 call bn_mulmod_256 
-0x7b42 034586 arg mem_cy_256 ,rega 
-0x7b43 034587 arg mem_t7_256 ,regb 
-0x7b44 034588 arg mem_t1_256 ,contw 
-0x7b45 034589 call bn_mulmod_256 
-0x7b46 034592 arg mem_cz_256 ,rega 
-0x7b47 034593 arg mem_t7_256 ,contw 
-0x7b48 034594 call bn_sqrmod_256 
-0x7b49 034595 arg mem_ax_256 ,rega 
-0x7b4a 034596 arg mem_t7_256 ,regb 
-0x7b4b 034597 arg mem_t2_256 ,contw 
-0x7b4c 034598 call bn_mulmod_256 
-0x7b4d 034600 arg mem_cz_256 ,rega 
-0x7b4e 034601 arg mem_t7_256 ,regb 
-0x7b4f 034602 arg mem_t7_256 ,contw 
-0x7b50 034603 call bn_mulmod_256 
-0x7b51 034604 arg mem_ay_256 ,rega 
-0x7b52 034605 arg mem_t7_256 ,regb 
-0x7b53 034606 arg mem_t3_256 ,contw 
-0x7b54 034607 call bn_mulmod_256 
-0x7b55 034612 arg mem_t0_256 ,regb 
-0x7b56 034613 arg mem_t2_256 ,rega 
-0x7b57 034614 arg mem_t7_256 ,contw 
-0x7b58 034615 call bn_submod_256 
-0x7b59 034616 arg mem_t0_256 ,rega 
-0x7b5a 034617 arg mem_t2_256 ,regb 
-0x7b5b 034618 arg mem_t0_256 ,contw 
-0x7b5c 034619 call bn_addmod_256 
-0x7b5d 034622 arg mem_t1_256 ,regb 
-0x7b5e 034623 arg mem_t3_256 ,rega 
-0x7b5f 034624 arg mem_t2_256 ,contw 
-0x7b60 034625 call bn_submod_256 
-0x7b61 034626 arg mem_t1_256 ,rega 
-0x7b62 034627 arg mem_t3_256 ,regb 
-0x7b63 034628 arg mem_t1_256 ,contw 
-0x7b64 034629 call bn_addmod_256 
-0x7b65 034630 arg mem_t1_256 ,rega 
-0x7b66 034631 arg mem_t7_256 ,regb 
-0x7b67 034632 arg mem_t1_256 ,contw 
-0x7b68 034633 call bn_mulmod_256 
-0x7b69 034634 arg mem_cz_256 ,rega 
-0x7b6a 034635 arg mem_az_256 ,regb 
-0x7b6b 034636 arg mem_t3_256 ,contw 
-0x7b6c 034637 call bn_mulmod_256 
-0x7b6d 034638 arg mem_t3_256 ,rega 
-0x7b6e 034639 arg mem_t7_256 ,regb 
-0x7b6f 034640 arg mem_cz_256 ,contw 
-0x7b70 034641 call bn_mulmod_256 
-0x7b71 034643 arg mem_t7_256 ,rega 
-0x7b72 034644 arg mem_t7_256 ,contw 
-0x7b73 034645 call bn_sqrmod_256 
-0x7b74 034646 arg mem_t7_256 ,rega 
-0x7b75 034647 arg mem_t0_256 ,regb 
-0x7b76 034648 arg mem_t3_256 ,contw 
-0x7b77 034649 call bn_mulmod_256 
-0x7b78 034650 arg mem_t7_256 ,rega 
-0x7b79 034651 arg mem_t1_256 ,regb 
-0x7b7a 034652 arg mem_t1_256 ,contw 
-0x7b7b 034653 call bn_mulmod_256 
-0x7b7c 034654 arg mem_t2_256 ,rega 
-0x7b7d 034655 arg mem_cx_256 ,contw 
-0x7b7e 034656 call bn_sqrmod_256 
-0x7b7f 034657 arg mem_cx_256 ,rega 
-0x7b80 034658 arg mem_t3_256 ,regb 
-0x7b81 034659 arg mem_cx_256 ,contw 
-0x7b82 034660 call bn_submod_256 
-0x7b83 034661 arg mem_cx_256 ,contr 
-0x7b84 034662 arg mem_t7_256 ,contw 
-0x7b85 034663 call memcpy32 
-0x7b86 034664 arg mem_t7_256 ,rega 
-0x7b87 034665 call bn_lshiftmod_256 
-0x7b88 034666 arg mem_t3_256 ,rega 
-0x7b89 034667 arg mem_t7_256 ,regb 
-0x7b8a 034668 arg mem_t3_256 ,contw 
-0x7b8b 034669 call bn_submod_256 
-0x7b8c 034670 arg mem_t3_256 ,rega 
-0x7b8d 034671 arg mem_t2_256 ,regb 
-0x7b8e 034672 arg mem_t2_256 ,contw 
-0x7b8f 034673 call bn_mulmod_256 
-0x7b90 034674 arg mem_t2_256 ,rega 
-0x7b91 034675 arg mem_t1_256 ,regb 
-0x7b92 034676 arg mem_cy_256 ,contw 
-0x7b93 034677 call bn_submod_256 
-0x7b94 034678 arg mem_cy_256 ,rega 
-0x7b95 034679 arg mem_p_256 ,regb 
-0x7b96 034680 arg mem_cy_256 ,contw 
-0x7b97 034681 force 0 ,regc 
-0x7b98 034682 fetch 1 ,mem_cy_256 
-0x7b99 034683 isolate1 0 ,pdata 
-0x7b9a 034684 call bn_add_256 ,true 
-0x7b9b 034685 copy regc ,alarm 
-0x7b9c 034686 arg mem_cy_256 ,rega 
-0x7b9d 034687 call bn_rshift_256 
-0x7b9e 034688 fetch 1 ,mem_cy5_256 
-0x7b9f 034689 isolate1 0 ,alarm 
-0x7ba0 034690 setflag true ,7 ,pdata 
-0x7ba1 034691 store 1 ,mem_cy5_256 
-0x7ba2 034692 rtn 
-:      034694 bn_invmod_256:
-0x7ba3 034695 copy contw ,timeup 
-0x7ba4 034696 arg mem_tmp0_256 ,contw 
-0x7ba5 034697 call clear_mem_256 
-0x7ba6 034698 force 0 ,pdata 
-0x7ba7 034700 store 4 ,mem_t2_256 
-0x7ba8 034701 jam 1 ,mem_tmp0_256 
-0x7ba9 034702 arg mem_tmp1_256 ,contw 
-0x7baa 034703 call clear_mem_512 
-0x7bab 034704 arg mem_p_256 ,contr 
-0x7bac 034705 arg mem_tmp2_256 ,contw 
-0x7bad 034706 call memcpy32 
-0x7bae 034707 copy rega ,contr 
-0x7baf 034708 arg mem_tmp3_256 ,contw 
-0x7bb0 034709 call memcpy32 
-:      034715 bn_invmod_256_2:
-0x7bb1 034716 arg mem_tmp3_256 ,contr 
-0x7bb2 034717 call bn_eq_zero_256 
-0x7bb3 034718 branch bn_invmod_256_0 ,blank 
-0x7bb4 034723 arg mem_tmp3_256 ,rega 
-0x7bb5 034724 arg mem_tmp0_256 ,regb 
-0x7bb6 034725 call bn_rshifteven_256 
-0x7bb7 034726 arg mem_tmp2_256 ,rega 
-0x7bb8 034727 arg mem_tmp1_256 ,regb 
-0x7bb9 034728 call bn_rshifteven_256 
-0x7bba 034730 arg mem_tmp3_256 ,rega 
-0x7bbb 034731 arg mem_tmp2_256 ,regb 
-0x7bbc 034732 call bn_bigeq_256 
-0x7bbd 034733 branch bn_invmod_256_1 ,positive 
-0x7bbe 034734 arg mem_tmp2_256 ,rega 
-0x7bbf 034735 arg mem_tmp3_256 ,regb 
-0x7bc0 034736 copy rega ,contw 
-0x7bc1 034737 call bn_sub_256 
-0x7bc2 034738 arg mem_tmp0_256 ,rega 
-0x7bc3 034739 arg mem_tmp1_256 ,regb 
-0x7bc4 034740 copy regb ,contw 
-0x7bc5 034741 call bn_add_256 
-0x7bc6 034742 ifetch 1 ,rega 
-0x7bc7 034743 iadd regc ,regc 
-0x7bc8 034744 ifetch 1 ,regb 
-0x7bc9 034745 iadd regc ,pdata 
-0x7bca 034746 istore 1 ,regb 
-0x7bcb 034747 branch bn_invmod_256_2 
-:      034748 bn_invmod_256_1:
-0x7bcc 034749 arg mem_tmp3_256 ,rega 
-0x7bcd 034750 arg mem_tmp2_256 ,regb 
-0x7bce 034751 copy rega ,contw 
-0x7bcf 034752 call bn_sub_256 
-0x7bd0 034753 arg mem_tmp1_256 ,rega 
-0x7bd1 034754 arg mem_tmp0_256 ,regb 
-0x7bd2 034755 copy regb ,contw 
-0x7bd3 034756 call bn_add_256 
-0x7bd4 034757 ifetch 1 ,rega 
-0x7bd5 034758 iadd regc ,regc 
-0x7bd6 034759 ifetch 1 ,regb 
-0x7bd7 034760 iadd regc ,pdata 
-0x7bd8 034761 istore 1 ,regb 
-0x7bd9 034762 branch bn_invmod_256_2 
-:      034763 bn_invmod_256_0:
-0x7bda 034765 arg mem_tmp1_256 ,rega 
-0x7bdb 034766 copy timeup ,contw 
-0x7bdc 034767 call bn_p256mod 
-0x7bdd 034769 arg mem_p_256 ,rega 
-0x7bde 034770 copy timeup ,regb 
-0x7bdf 034771 copy timeup ,contw 
-0x7be0 034772 branch bn_submod_256 
-:      034775 bn_mulmod_256:
-0x7be1 034776 copy contw ,timeup 
-0x7be2 034778 force 0 ,regext_index 
-0x7be3 034780 arg mem_tmp1_256 ,contw 
-0x7be4 034781 call clear_mem_512 
-0x7be5 034782 arg mem_regext ,contw 
-0x7be6 034783 call clear_mem_512 
-0x7be7 034787 copy rega ,contr 
-0x7be8 034789 jam 0 ,mem_regext 
-0x7be9 034790 setarg 0 
-0x7bea 034791 call bn_load_mem 
-0x7beb 034792 copy regb ,contr 
-0x7bec 034793 call bn_load_256 
-0x7bed 034796 force 0 ,queue 
-0x7bee 034797 arg mem_tmp1_256 ,contw 
-:      034798 bn_mulmod_256_1:
-0x7bef 034801 arg mem_regext ,temp 
-0x7bf0 034802 copy queue ,regb 
-0x7bf1 034803 lshift2 regb ,pdata 
-0x7bf2 034805 iadd temp ,regb 
-0x7bf3 034806 force 0 ,temp 
-0x7bf4 034807 force 0 ,regc 
-:      034808 bn_mulmod_256_0:
-0x7bf5 034813 ifetch 4 ,contw 
-0x7bf6 034814 iforce rega 
-0x7bf7 034817 ifetch 4 ,regb 
-0x7bf8 034818 copy regc ,regext_index 
-0x7bf9 034819 imul32 regext ,pdata 
-0x7bfa 034820 iadd rega ,pdata 
-0x7bfb 034821 iadd temp ,pdata 
-0x7bfc 034822 istore 4 ,contw 
-0x7bfd 034823 rshift32 pdata ,temp 
-0x7bfe 034824 increase 1 ,regc 
-0x7bff 034825 compare 8 ,regc ,0xff 
-0x7c00 034826 nbranch bn_mulmod_256_0 ,true 
-0x7c01 034828 deposit temp 
-0x7c02 034829 istore 4 ,contw 
-0x7c03 034830 increase -32 ,contw 
-0x7c04 034833 increase 1 ,queue 
-0x7c05 034834 compare 8 ,queue ,0xff 
-0x7c06 034835 nbranch bn_mulmod_256_1 ,true 
-0x7c07 034836 arg mem_tmp1_256 ,rega 
-0x7c08 034837 copy timeup ,contw 
-0x7c09 034838 branch bn_p256mod 
-:      034840 bn_p256mod:
-0x7c0a 034841 bpatchx patch3e_2 ,mem_patch3e 
-0x7c0b 034842 copy contw ,timeup 
-0x7c0c 034843 copy rega ,alarm 
-0x7c0d 034844 arg mem_tmp2_256 ,regb 
-0x7c0e 034845 copy regb ,contw 
-0x7c0f 034846 call memset0_4 
-0x7c10 034847 istore 8 ,contw 
-0x7c11 034848 add rega ,44 ,contr 
-0x7c12 034849 call memcpy8 
-0x7c13 034850 call memcpy12 
-0x7c14 034851 copy regb ,rega 
-0x7c15 034852 call bn_lshiftmod_256 
-0x7c16 034853 arg mem_tmp2_256 ,regb 
-0x7c17 034854 copy alarm ,rega 
-0x7c18 034855 copy timeup ,contw 
-0x7c19 034856 call bn_addmod_256 
-0x7c1a 034858 arg mem_tmp2_256 ,regb 
-0x7c1b 034859 copy regb ,contw 
-0x7c1c 034860 call memset0_4 
-0x7c1d 034861 istore 8 ,contw 
-0x7c1e 034862 add alarm ,48 ,contr 
-0x7c1f 034863 call memcpy16 
-0x7c20 034864 call memset0_4 
-0x7c21 034865 copy regb ,rega 
-0x7c22 034866 call bn_lshiftmod_256 
-0x7c23 034870 arg mem_tmp2_256 ,regb 
-0x7c24 034871 copy timeup ,rega 
-0x7c25 034872 copy rega ,contw 
-0x7c26 034873 call bn_addmod_256 
-0x7c27 034877 arg mem_tmp2_256 ,regb 
-0x7c28 034878 copy regb ,contw 
-0x7c29 034879 add alarm ,32 ,contr 
-0x7c2a 034880 call memcpy12 
-0x7c2b 034881 call memset0_4 
-0x7c2c 034882 istore 8 ,contw 
-0x7c2d 034883 add alarm ,56 ,contr 
-0x7c2e 034884 call memcpy8 
-0x7c2f 034885 copy timeup ,rega 
-0x7c30 034886 copy rega ,contw 
-0x7c31 034887 call bn_addmod_256 
-0x7c32 034891 arg mem_tmp2_256 ,regb 
-0x7c33 034892 copy regb ,contw 
-0x7c34 034893 add alarm ,36 ,contr 
-0x7c35 034894 call memcpy12 
-0x7c36 034895 add alarm ,52 ,contr 
-0x7c37 034896 call memcpy12 
-0x7c38 034897 add alarm ,52 ,contr 
-0x7c39 034898 call memcpy4 
-0x7c3a 034899 add alarm ,32 ,contr 
-0x7c3b 034900 call memcpy4 
-0x7c3c 034901 copy timeup ,rega 
-0x7c3d 034902 copy rega ,contw 
-0x7c3e 034903 call bn_addmod_256 
-0x7c3f 034906 arg mem_tmp2_256 ,regb 
-0x7c40 034907 copy regb ,contw 
-0x7c41 034908 add alarm ,44 ,contr 
-0x7c42 034909 call memcpy12 
-0x7c43 034910 call memset0_4 
-0x7c44 034911 istore 8 ,contw 
-0x7c45 034912 add alarm ,32 ,contr 
-0x7c46 034913 call memcpy4 
-0x7c47 034914 add alarm ,40 ,contr 
-0x7c48 034915 call memcpy4 
-0x7c49 034916 copy timeup ,rega 
-0x7c4a 034917 copy rega ,contw 
-0x7c4b 034918 call bn_submod_256 
-0x7c4c 034921 arg mem_tmp2_256 ,regb 
-0x7c4d 034922 copy regb ,contw 
-0x7c4e 034923 add alarm ,48 ,contr 
-0x7c4f 034924 call memcpy8 
-0x7c50 034925 call memcpy8 
-0x7c51 034926 force 0 ,pdata 
-0x7c52 034927 istore 8 ,contw 
-0x7c53 034928 add alarm ,36 ,contr 
-0x7c54 034929 call memcpy4 
-0x7c55 034930 add alarm ,44 ,contr 
-0x7c56 034931 call memcpy4 
-0x7c57 034932 copy timeup ,rega 
-0x7c58 034933 copy rega ,contw 
-0x7c59 034934 call bn_submod_256 
-0x7c5a 034937 arg mem_tmp2_256 ,regb 
-0x7c5b 034938 copy regb ,contw 
-0x7c5c 034939 add alarm ,52 ,contr 
-0x7c5d 034940 call memcpy12 
-0x7c5e 034941 add alarm ,32 ,contr 
-0x7c5f 034942 call memcpy12 
-0x7c60 034943 call memset0_4 
-0x7c61 034944 add alarm ,48 ,contr 
-0x7c62 034945 call memcpy4 
-0x7c63 034946 copy timeup ,rega 
-0x7c64 034947 copy rega ,contw 
-0x7c65 034948 call bn_submod_256 
-0x7c66 034951 arg mem_tmp2_256 ,regb 
-0x7c67 034952 copy regb ,contw 
-0x7c68 034953 add alarm ,56 ,contr 
-0x7c69 034954 call memcpy8 
-0x7c6a 034955 call memset0_4 
-0x7c6b 034956 add alarm ,36 ,contr 
-0x7c6c 034957 call memcpy12 
-0x7c6d 034958 call memset0_4 
-0x7c6e 034959 add alarm ,52 ,contr 
-0x7c6f 034960 call memcpy4 
-0x7c70 034961 copy timeup ,rega 
-0x7c71 034962 copy rega ,contw 
-0x7c72 034963 branch bn_submod_256 
-:      034966 bn_load_mem:
-0x7c73 034967 force 32 ,loopcnt 
-0x7c74 034968 arg mem_regext ,contw 
-0x7c75 034969 iadd contw ,contw 
-0x7c76 034970 branch memcpy 
-:      034972 bn_load_256:
-0x7c77 034973 force 8 ,loopcnt 
-0x7c78 034974 branch bn_load_0 
-:      034976 bn_sqrmod_256:
-0x7c79 034977 copy rega ,regb 
-0x7c7a 034978 branch bn_mulmod_256 
-:      034980 bn_add_256:
-0x7c7b 034981 force 8 ,loopcnt 
-0x7c7c 034982 branch bn_add + 1 
-:      034984 bn_addmod_256:
-0x7c7d 034985 call bn_add_256 
-0x7c7e 034986 copy contw ,rega 
-0x7c7f 034987 branch bn_lshiftmod_ismod_256 
-:      034989 bn_lshiftmod_256:
-0x7c80 034990 call bn_lshift_256 
-:      034991 bn_lshiftmod_ismod_256:
-0x7c81 034992 isolate1 0 ,regc 
-0x7c82 034993 branch bn_lshiftmod_p_256 ,true 
-0x7c83 034994 arg mem_p_256 ,regb 
-0x7c84 034995 copy rega ,regc 
-0x7c85 034996 increase -32 ,rega 
-0x7c86 034997 call bn_bigeq_256 
-0x7c87 034998 nrtn positive 
-0x7c88 034999 copy regc ,rega 
-0x7c89 035000 branch sub_p2_256 
-:      035002 bn_lshiftmod_p_256:
-0x7c8a 035003 call sub_p2_256 
-0x7c8b 035005 copy rega ,regc 
-0x7c8c 035006 increase -32 ,rega 
-0x7c8d 035007 arg mem_p_256 ,regb 
-0x7c8e 035008 call bn_bigeq_256 
-0x7c8f 035009 nrtn positive 
-0x7c90 035010 copy regc ,rega 
-0x7c91 035011 branch sub_p2_256 
-:      035014 sub_p2_256:
-0x7c92 035015 increase -32 ,rega 
-0x7c93 035016 arg mem_p_256 ,regb 
-0x7c94 035017 copy rega ,contw 
-0x7c95 035018 branch bn_sub_256 
-:      035023 bn_submod_256:
-0x7c96 035024 call bn_sub_256 
-0x7c97 035026 branch bn_submod_256_np ,true 
-0x7c98 035029 add contw ,-32 ,rega 
-0x7c99 035030 arg mem_p_256 ,regb 
-0x7c9a 035031 call bn_bigeq_256 
-0x7c9b 035032 nrtn positive 
-0x7c9c 035033 arg mem_p_256 ,regb 
-0x7c9d 035034 add contw ,-32 ,rega 
-0x7c9e 035036 copy rega ,contw 
-0x7c9f 035037 branch bn_sub_256 
-:      035038 bn_submod_256_np:
-0x7ca0 035039 add contw ,-32 ,rega 
-0x7ca1 035040 arg mem_p_256 ,regb 
-0x7ca2 035041 copy rega ,contw 
-0x7ca3 035042 call bn_add_256 
-0x7ca4 035044 rtn true 
-0x7ca5 035045 add contw ,-32 ,rega 
-0x7ca6 035046 arg mem_p_256 ,regb 
-0x7ca7 035047 copy rega ,contw 
-0x7ca8 035048 branch bn_add_256 
-:      035052 bn_sub_256:
-0x7ca9 035053 force 8 ,loopcnt 
-0x7caa 035054 branch bn_sub + 1 
-:      035056 bn_rshift_256:
-0x7cab 035057 force 8 ,loopcnt 
-0x7cac 035058 increase 28 ,rega 
-0x7cad 035059 branch bn_rshift 
-:      035061 bn_lshift_256:
-0x7cae 035062 force 8 ,loopcnt 
-0x7caf 035063 force 0 ,regc 
-0x7cb0 035064 branch bn_lshift_0 
-:      035066 bn_bigeq_256:
-0x7cb1 035067 force 8 ,loopcnt 
-0x7cb2 035068 increase 28 ,rega 
-0x7cb3 035069 increase 28 ,regb 
-0x7cb4 035070 branch bn_bigeq_0 
-:      035073 bn_eq_zero_256:
-0x7cb5 035074 ifetch 8 ,contr 
-0x7cb6 035075 nrtn blank 
-0x7cb7 035076 branch bn_eq_zero 
-:      035081 bn_rshifteven_256:
-0x7cb8 035082 copy rega ,alarm 
-:      035083 bn_rshifteven_256_1:
-0x7cb9 035084 copy alarm ,rega 
-0x7cba 035085 ifetch 1 ,rega 
-0x7cbb 035086 isolate1 0 ,pdata 
-0x7cbc 035087 rtn true 
-0x7cbd 035088 call bn_rshift_256 
-0x7cbe 035089 ifetch 1 ,regb 
-0x7cbf 035090 isolate0 0 ,pdata 
-0x7cc0 035091 branch bn_rshifteven_256_0 ,true 
-0x7cc1 035092 arg mem_p_256 ,rega 
-0x7cc2 035093 copy regb ,contw 
-0x7cc3 035094 call bn_add_256 
-0x7cc4 035095 ifetch 1 ,regb 
-0x7cc5 035096 iadd regc ,pdata 
-0x7cc6 035097 istore 1 ,regb 
-0x7cc7 035098 increase -32 ,regb 
-:      035099 bn_rshifteven_256_0:
-0x7cc8 035100 add regb ,32 ,rega 
-0x7cc9 035101 force 9 ,loopcnt 
-0x7cca 035102 call bn_rshift 
-0x7ccb 035103 branch bn_rshifteven_256_1 
-:      035107 ui_init:
-0x7ccc 035108 call lpm_disable_exen_output 
-0x7ccd 035109 rtn wake 
-0x7cce 035110 call ui_button_init 
-0x7ccf 035111 call ui_timer_init 
-0x7cd0 035112 branch ui_led_init_global 
-:      035114 ui_dispatch:
-0x7cd1 035115 call ui_led_dispatch 
-0x7cd2 035117 branch ui_timer_check 
-:      035119 ui_button_init:
-0x7cd3 035120 fetch 1 ,mem_ui_button_gpio 
-0x7cd4 035121 rtneq ui_button_gpio_disable 
-0x7cd5 035122 iforce temp 
-0x7cd6 035123 call gpio_config_output 
-0x7cd7 035124 fetcht 1 ,mem_ui_button_gpio 
-0x7cd8 035125 call gpio_out_inactive 
-0x7cd9 035126 nop 100 
-0x7cda 035127 fetcht 1 ,mem_ui_button_gpio 
-0x7cdb 035128 call gpio_config_input 
-0x7cdc 035129 branch ui_button_polling 
-:      035133 ui_button_polling:
-0x7cdd 035134 bpatchx patch3e_3 ,mem_patch3e 
-0x7cde 035135 fetch 1 ,mem_ui_button_gpio 
-0x7cdf 035136 rtneq ui_button_gpio_disable 
-0x7ce0 035137 copy pdata ,temp 
-0x7ce1 035138 call gpio_get_bit 
-0x7ce2 035139 nbranch ui_button_up ,true 
-:      035141 ui_button_down:
-0x7ce3 035142 call ui_button_check_long_press 
-0x7ce4 035143 fetch 2 ,mem_ui_state_map 
-0x7ce5 035144 set1 ui_state_btn_down 
-0x7ce6 035145 store 2 ,mem_ui_state_map 
-0x7ce7 035146 fetch 1 ,mem_ui_button_last_state 
-0x7ce8 035147 rtneq ui_button_state_down 
-0x7ce9 035148 jam ui_button_state_down ,mem_ui_button_last_state 
-0x7cea 035150 fetch 1 ,mem_ui_button_timeout 
-0x7ceb 035151 store 1 ,mem_ui_button_timer 
-0x7cec 035152 call lpm_button_get_wake_lock 
-0x7ced 035153 jam bt_evt_button_down ,mem_fifo_temp 
-0x7cee 035154 branch ui_ipc_send_event 
-:      035155 ui_button_up:
-0x7cef 035156 fetch 2 ,mem_ui_state_map 
-0x7cf0 035157 set0 ui_state_btn_down 
-0x7cf1 035158 store 2 ,mem_ui_state_map 
-0x7cf2 035159 fetch 1 ,mem_ui_button_last_state 
-0x7cf3 035160 rtneq ui_button_state_up 
-0x7cf4 035161 jam ui_button_state_up ,mem_ui_button_last_state 
-0x7cf5 035163 jam 0 ,mem_ui_button_timer 
-0x7cf6 035164 call lpm_button_clean_wake_lock 
-0x7cf7 035165 jam bt_evt_button_up ,mem_fifo_temp 
-0x7cf8 035166 branch ui_ipc_send_event 
-:      035168 ui_button_check_long_press:
-0x7cf9 035169 fetch 1 ,mem_ui_button_timer 
-0x7cfa 035170 rtn blank 
-0x7cfb 035171 increase -1 ,pdata 
-0x7cfc 035172 store 1 ,mem_ui_button_timer 
-0x7cfd 035173 nrtn blank 
-0x7cfe 035175 jam bt_evt_button_long_pressed ,mem_fifo_temp 
-0x7cff 035176 branch ui_ipc_send_event 
-:      035178 lpm_button_get_wake_lock:
-0x7d00 035179 arg wake_lock_button ,queue 
-0x7d01 035180 branch lpm_get_wake_lock 
-:      035182 lpm_button_clean_wake_lock:
-0x7d02 035183 arg wake_lock_button ,queue 
-0x7d03 035184 branch lpm_put_wake_lock 
-:      035206 calc_curr_struct_prt:
-0x7d04 035207 fetch 2 ,mem_ui_led_struct_ptr 
-0x7d05 035208 mul32 rega ,led_offset_length ,regb 
-0x7d06 035209 iadd regb ,regb 
-0x7d07 035210 rtn 
-:      035213 ui_led_init_global:
-0x7d08 035214 fetch 1 ,mem_ui_led_struct_num 
-0x7d09 035215 rtn blank 
-0x7d0a 035216 copy pdata ,loopcnt 
-0x7d0b 035217 fetch 2 ,mem_ui_led_struct_ptr 
-0x7d0c 035218 copy pdata ,regb 
-:      035219 ui_led_init_loop:
-0x7d0d 035220 add regb ,led_offset_led_gpio ,regc 
-0x7d0e 035221 ifetcht 1 ,regc 
-0x7d0f 035222 call gpio_config_output 
-0x7d10 035223 call ui_led_off_static 
-0x7d11 035224 increase led_offset_length ,regb 
-0x7d12 035225 loop ui_led_init_loop 
-0x7d13 035226 rtn 
-:      035230 ui_led_on_global:
-0x7d14 035231 call calc_curr_struct_prt 
-0x7d15 035232 setarg ui_led_state_lighting 
-0x7d16 035233 istore 1 ,regb 
-0x7d17 035234 call ui_led_stop_timer 
-0x7d18 035235 branch ui_led_on_static 
-:      035239 ui_led_blink_stop_global:
-:      035240 ui_led_off_global:
-0x7d19 035241 call calc_curr_struct_prt 
-0x7d1a 035242 setarg ui_led_state_darking 
-0x7d1b 035243 istore 1 ,regb 
-0x7d1c 035244 call ui_led_stop_timer 
-0x7d1d 035245 branch ui_led_off_static 
-:      035249 ui_led_blink_start_global:
-0x7d1e 035250 call calc_curr_struct_prt 
-0x7d1f 035251 setarg ui_led_state_blink_start 
-0x7d20 035252 istore 1 ,regb 
-0x7d21 035253 setarg led_infinite_flash_num 
-0x7d22 035254 istore 1 ,contw 
-0x7d23 035255 branch ui_led_off_static 
-:      035260 ui_led_set_style_global:
-0x7d24 035261 call calc_curr_struct_prt 
-0x7d25 035262 arg led_offset_length ,loopcnt 
-0x7d26 035263 copy regc ,contr 
-0x7d27 035264 copy regb ,contw 
-0x7d28 035265 branch memcpy_fast 
-:      035269 ui_led_dispatch:
-0x7d29 035270 fetch 1 ,mem_ui_led_struct_num 
-0x7d2a 035271 rtn blank 
-0x7d2b 035272 arg 0 ,rega 
-:      035273 ui_led_blink_polling:
-0x7d2c 035274 call ui_led_change_style_by_type 
-0x7d2d 035275 increase 1 ,rega 
-0x7d2e 035276 fetch 1 ,mem_ui_led_struct_num 
-0x7d2f 035277 isub rega ,null 
-0x7d30 035278 rtn zero 
-0x7d31 035279 branch ui_led_blink_polling 
-:      035282 ui_led_off_static:
-0x7d32 035283 add regb ,led_offset_led_gpio ,regc 
-0x7d33 035284 ifetcht 1 ,regc 
-0x7d34 035285 branch gpio_out_inactive 
-:      035288 ui_led_on_static:
-0x7d35 035289 add regb ,led_offset_led_gpio ,regc 
-0x7d36 035290 ifetcht 1 ,regc 
-0x7d37 035291 branch gpio_out_active 
-:      035295 ui_led_change_style_by_type:
-0x7d38 035296 add rega ,ui_led_blink ,queue 
-0x7d39 035297 call timer_check 
-0x7d3a 035298 nrtn blank 
-0x7d3b 035300 call calc_curr_struct_prt 
-0x7d3c 035302 ifetch 1 ,regb 
-0x7d3d 035304 beq ui_led_state_lighting ,ui_led_on_static 
-0x7d3e 035305 beq ui_led_state_darking ,ui_led_off_static 
-0x7d3f 035306 beq ui_led_state_blink_stop ,ui_led_off_static 
-0x7d40 035307 beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
-:      035308 ui_led_blink_state_lighting:
-0x7d41 035309 call ui_led_on_static 
-0x7d42 035310 add regb ,led_offset_cb_ledon ,regc 
-0x7d43 035311 call push_stack 
-0x7d44 035312 ifetch 2 ,regc 
-0x7d45 035313 call callback_func 
-0x7d46 035314 call pop_stack 
-0x7d47 035315 setarg ui_led_state_blink_darking 
-0x7d48 035316 istore 1 ,regb 
-0x7d49 035317 add regb ,led_offset_on_time ,regc 
-0x7d4a 035318 ifetch 2 ,regc 
-0x7d4b 035319 branch ui_led_blink_timer_start 
-:      035322 ui_led_blink_state_darking:
-0x7d4c 035323 call ui_led_off_static 
-0x7d4d 035324 add regb ,led_offset_cb_ledoff ,regc 
-0x7d4e 035325 call push_stack 
-0x7d4f 035326 ifetch 2 ,regc 
-0x7d50 035327 call callback_func 
-0x7d51 035328 call pop_stack 
-0x7d52 035330 add regb ,led_offset_blink_count ,regc 
-0x7d53 035331 ifetch 1 ,regc 
-0x7d54 035332 beq led_infinite_flash_num ,ui_led_blink_infinite 
-0x7d55 035333 increase -1 ,pdata 
-0x7d56 035334 istore 1 ,regc 
-0x7d57 035335 branch ui_led_blink_stop_global ,blank 
-:      035336 ui_led_blink_infinite:
-0x7d58 035337 setarg ui_led_state_blink_lighting 
-0x7d59 035338 istore 1 ,regb 
-0x7d5a 035339 add regb ,led_offset_off_time ,regc 
-0x7d5b 035340 ifetch 2 ,regc 
-:      035341 ui_led_blink_timer_start:
-0x7d5c 035342 add rega ,ui_led_blink ,queue 
-0x7d5d 035343 branch timer_init 
-:      035345 ui_led_stop_timer:
-0x7d5e 035346 setarg 0 
-0x7d5f 035347 branch ui_led_blink_timer_start 
-:      035353 ui_timer_timeout:
-0x7d60 035354 setarg 0x1000 
-0x7d61 035355 lshift16 pdata ,pdata 
-0x7d62 035356 iadd regb ,regb 
-0x7d63 035357 rtn 
-:      035359 ui_timer_check:
-0x7d64 035360 bpatchx patch3e_4 ,mem_patch3e 
-0x7d65 035361 arg 0 ,rega 
-0x7d66 035362 fetcht 4 ,mem_ui_timer_last_btclk 
-0x7d67 035363 copy clkn_bt ,regb 
-0x7d68 035364 copy regb ,pdata 
-0x7d69 035365 isub temp ,null 
-0x7d6a 035366 ncall ui_timer_timeout ,positive 
-:      035368 ui_timer_check_loop:
-0x7d6b 035369 copy regb ,pdata 
-0x7d6c 035370 increase 160 ,temp 
-0x7d6d 035371 increase 160 ,temp 
-0x7d6e 035372 isub temp ,null 
-0x7d6f 035373 nbranch ui_timer_check_end ,positive 
-0x7d70 035374 increase 1 ,rega 
-0x7d71 035375 and rega ,0x0f ,pdata 
-0x7d72 035376 nbranch ui_timer_check_loop ,blank 
-0x7d73 035377 arg 0 ,rega 
-0x7d74 035378 call ui_timer_check_send_evt 
-:      035379 ui_timer_init:
-0x7d75 035380 copy clkn_bt ,pdata 
-0x7d76 035381 store 4 ,mem_ui_timer_last_btclk 
-0x7d77 035382 rtn 
-:      035383 ui_timer_check_end:
-0x7d78 035384 bpatchx patch3e_5 ,mem_patch3e 
-0x7d79 035385 copy rega ,pdata 
-0x7d7a 035386 rtn blank 
-0x7d7b 035387 increase -160 ,temp 
-0x7d7c 035388 increase -160 ,temp 
-0x7d7d 035389 set0 28 ,temp 
-0x7d7e 035390 storet 4 ,mem_ui_timer_last_btclk 
-:      035391 ui_timer_check_send_evt:
-0x7d7f 035392 branch app_evt_timer 
-:      035399 ui_ipc_get_lock:
-0x7d80 035400 jam 1 ,mem_ipc_lock_bt 
-:      035401 ui_ipc_get_lock_wait:
-0x7d81 035402 fetch 1 ,mem_ipc_lock_c51 
-0x7d82 035403 nbranch ui_ipc_get_lock_wait ,blank 
-0x7d83 035404 rtn 
-:      035406 ui_ipc_put_lock:
-0x7d84 035407 jam 0 ,mem_ipc_lock_bt 
-0x7d85 035408 rtn 
-:      035412 ui_ipc_send_event:
-0x7d86 035413 bpatchx patch3e_6 ,mem_patch3e 
-0x7d87 035414 call ui_ipc_get_lock 
-0x7d88 035415 copy rega ,pdata 
-0x7d89 035416 store 4 ,mem_ipc_rega_temp 
-0x7d8a 035417 arg mem_ipc_fifo_bt2c51 ,rega 
-0x7d8b 035418 call fifo_in 
-0x7d8c 035419 fetch 4 ,mem_ipc_rega_temp 
-0x7d8d 035420 copy pdata ,rega 
-0x7d8e 035421 branch ui_ipc_put_lock 
-:      035423 ui_ipc_send_cmd:
-0x7d8f 035424 bpatchx patch3e_7 ,mem_patch3e 
-0x7d90 035425 call ui_ipc_get_lock 
-0x7d91 035426 copy rega ,pdata 
-0x7d92 035427 store 4 ,mem_ipc_rega_temp 
-0x7d93 035428 arg mem_ipc_fifo_c512bt ,rega 
-0x7d94 035429 call fifo_in 
-0x7d95 035430 fetch 4 ,mem_ipc_rega_temp 
-0x7d96 035431 copy pdata ,rega 
-0x7d97 035432 branch ui_ipc_put_lock 
-:      035434 ui_ipc_clean_all_fifo:
-0x7d98 035435 setarg 0 
-0x7d99 035436 store util_fifo_len ,mem_ipc_fifo_c512bt 
-0x7d9a 035437 store util_fifo_len ,mem_ipc_fifo_bt2c51 
-0x7d9b 035438 rtn 
-:      035440 check_51cmd:
-0x7d9c 035441 bpatchx patch3f_0 ,mem_patch3f 
-0x7d9d 035442 fetch 1 ,mem_hci_cmd 
-0x7d9e 035443 nrtn blank 
-0x7d9f 035444 arg mem_ipc_fifo_c512bt ,rega 
-0x7da0 035445 call fifo_is_empty 
-0x7da1 035446 rtn blank 
-0x7da2 035447 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
-0x7da3 035448 call check_51cmd_once 
-0x7da4 035449 fetch 1 ,mem_ipc_skip_continue_proc 
-0x7da5 035450 branch check_51cmd ,blank 
-0x7da6 035451 rtn 
-:      035453 check_51cmd_once:
-0x7da7 035454 call ui_ipc_get_lock 
-0x7da8 035455 arg mem_ipc_fifo_c512bt ,rega 
-0x7da9 035456 call fifo_out 
-0x7daa 035457 copy pdata ,temp 
-0x7dab 035458 call ui_ipc_put_lock 
-0x7dac 035459 bpatchx patch3f_1 ,mem_patch3f 
-0x7dad 035460 copy temp ,pdata 
-0x7dae 035461 rtn blank 
-0x7daf 035462 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
-0x7db0 035463 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
-0x7db1 035464 beq bt_cmd_reconnect ,check_51cmd_reconnect 
-0x7db2 035465 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
-0x7db3 035466 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
-0x7db4 035467 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
-0x7db5 035468 beq bt_cmd_start_inquiry ,check_51cmd_inq 
-0x7db6 035469 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
-0x7db7 035470 beq bt_cmd_start_adv ,check_51cmd_adv 
-0x7db8 035471 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
-0x7db9 035472 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
-0x7dba 035473 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
-0x7dbb 035474 beq bt_cmd_led_off ,check_51cmd_led_off 
-0x7dbc 035475 beq bt_cmd_led_on ,check_51cmd_led_on 
-0x7dbd 035476 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
-0x7dbe 035477 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
-0x7dbf 035478 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
-0x7dc0 035479 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
-0x7dc1 035480 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
-0x7dc2 035481 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
-0x7dc3 035482 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
-0x7dc4 035484 store 1 ,mem_fifo_temp 
-0x7dc5 035485 bpatchx patch3f_2 ,mem_patch3f 
-0x7dc6 035486 call lmo_fifo_check 
-0x7dc7 035487 nbranch check_51cmd_restore ,blank 
-:      035488 check_51cmd_once_continue:
-0x7dc8 035489 fetch 1 ,mem_fifo_temp 
-0x7dc9 035490 bmark0 mark_context ,check_51cmd_check_idle 
-0x7dca 035491 beq bt_cmd_disconnect ,check_51cmd_disconnect 
-0x7dcb 035492 beq bt_cmd_enter_sniff ,cmd_in_sniff 
-0x7dcc 035493 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
-0x7dcd 035494 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
-0x7dce 035495 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
-0x7dcf 035496 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
-0x7dd0 035497 beq bt_cmd_role_switch ,check_51cmd_role_switch 
-0x7dd1 035498 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
-0x7dd2 035499 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
-0x7dd3 035500 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
-0x7dd4 035501 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
-0x7dd5 035502 rtn 
-:      035504 check_51cmd_check_idle:
-0x7dd6 035505 store 1 ,mem_fifo_temp 
-0x7dd7 035506 call context_check_idle 
-0x7dd8 035507 branch check_51cmd_restore ,zero 
-0x7dd9 035508 call context_search_plap 
-0x7dda 035509 nrtn zero 
-:      035510 check_51cmd_restore:
-0x7ddb 035511 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
-0x7ddc 035512 branch ui_ipc_send_cmd 
-:      035517 check_51cmd_start_discovery:
-0x7ddd 035518 fetch 2 ,mem_ui_state_map 
-0x7dde 035519 set1 ui_state_bt_discovery 
-0x7ddf 035520 store 2 ,mem_ui_state_map 
-0x7de0 035521 jam 3 ,mem_scan_mode 
-0x7de1 035522 rtn 
-:      035526 check_51cmd_stop_discovery:
-0x7de2 035527 jam 0 ,mem_hid_handshake_timer_count 
-0x7de3 035528 jam 0 ,mem_scan_mode 
-0x7de4 035529 fetch 2 ,mem_ui_state_map 
-0x7de5 035530 set0 ui_state_bt_discovery 
-0x7de6 035531 store 2 ,mem_ui_state_map 
-0x7de7 035532 rtn 
-:      035536 check_51cmd_reconnect:
-0x7de8 035537 jam hci_cmd_create_conn ,mem_hci_cmd 
-0x7de9 035538 rtn 
-:      035542 check_51cmd_disconnect:
-0x7dea 035543 jam lmp_detach ,mem_lmo_opcode2 
-0x7deb 035544 jam other_end_terminated ,mem_disconn_reason_send 
-0x7dec 035545 rtn 
-:      035549 check_51cmd_enter_sniff_subrating:
-0x7ded 035550 rtn 
-:      035554 check_51cmd_exit_sniff_subrating:
-0x7dee 035555 rtn 
-:      035559 check_51cmd_sniff_test:
-0x7def 035560 rtn 
-:      035564 check_51cmd_pincode:
-0x7df0 035565 jam pincode_state_pincode_ready ,mem_pincode_state 
-0x7df1 035566 branch cmd_pair 
-:      035570 check_51cmd_inq:
-0x7df2 035571 rtn 
-:      035575 check_51cmd_stop_inq:
-0x7df3 035576 rtn 
-:      035580 check_51cmd_adv:
-0x7df4 035581 jam on ,mem_le_adv_enable 
-0x7df5 035582 jam adv_ind ,mem_le_adv_type 
-0x7df6 035583 fetch 2 ,mem_ui_state_map 
-0x7df7 035584 set1 ui_state_ble_adv ,pdata 
-0x7df8 035585 store 2 ,mem_ui_state_map 
-0x7df9 035586 rtn 
-:      035590 check_51cmd_stop_adv:
-0x7dfa 035591 fetch 2 ,mem_ui_state_map 
-0x7dfb 035592 set0 ui_state_ble_adv ,pdata 
-0x7dfc 035593 store 2 ,mem_ui_state_map 
-0x7dfd 035594 jam off ,mem_le_adv_enable 
-0x7dfe 035595 rtn 
-:      035599 check_51cmd_direct_adv:
-0x7dff 035600 jam on ,mem_le_adv_enable 
-0x7e00 035601 jam adv_direct_ind ,mem_le_adv_type 
-0x7e01 035602 fetch 2 ,mem_ui_state_map 
-0x7e02 035603 set1 ui_state_ble_adv ,pdata 
-0x7e03 035604 store 2 ,mem_ui_state_map 
-0x7e04 035605 rtn 
-:      035609 check_51cmd_stop_direct_adv:
-0x7e05 035610 fetch 2 ,mem_ui_state_map 
-0x7e06 035611 set0 ui_state_ble_adv ,pdata 
-0x7e07 035612 store 2 ,mem_ui_state_map 
-0x7e08 035613 jam off ,mem_le_adv_enable 
-0x7e09 035614 rtn 
-:      035618 check_51cmd_le_disconnect:
-0x7e0a 035619 setarg 20 
-0x7e0b 035620 store 2 ,mem_le_superto 
-0x7e0c 035621 store 2 ,mem_le_init_superto 
-0x7e0d 035622 branch le_send_terminate_ind_user_terminated 
-:      035626 check_51cmd_ble_update_connect_param:
-0x7e0e 035627 branch le_l2cap_tx_update_req 
-:      035631 check_51cmd_led_off:
-0x7e0f 035632 arg 0 ,rega 
-0x7e10 035633 branch ui_led_off_global 
-:      035637 check_51cmd_led_on:
-0x7e11 035638 arg 0 ,rega 
-0x7e12 035639 branch ui_led_on_global 
-:      035643 check_51cmd_led_start_blink:
-0x7e13 035644 arg 0 ,rega 
-0x7e14 035645 branch ui_led_blink_start_global 
-:      035649 check_51cmd_le_start_con:
-0x7e15 035650 jam on ,mem_le_scan_enable 
-0x7e16 035651 jam hci_cmd_le_create_conn ,mem_hci_cmd 
-0x7e17 035654 rtn 
-:      035658 check_51cmd_start_scan:
-0x7e18 035659 jam on ,mem_le_scan_enable 
-0x7e19 035660 rtn 
-:      035664 check_51cmd_stop_scan:
-0x7e1a 035665 jam off ,mem_le_scan_enable 
-0x7e1b 035666 jam 0 ,mem_hci_cmd 
-0x7e1c 035667 rtn 
-:      035671 check_51cmd_hibernate:
-0x7e1d 035672 fetch 2 ,mem_cb_before_hibernate 
-0x7e1e 035673 call callback_func 
-0x7e1f 035674 fetch 1 ,mem_ui_button_gpio 
-0x7e20 035675 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
-0x7e21 035676 copy pdata ,temp 
-0x7e22 035677 call gpio_config_input 
-:      035678 check_51cmd_hibernate_btn_disabled:
-0x7e23 035679 call ui_ipc_clean_all_fifo 
-0x7e24 035680 branch lpm_hibernate 
-:      035684 check_51cmd_le_smp_sec_req:
-0x7e25 035685 branch le_send_smp_security_request 
-:      035689 check_51cmd_role_switch:
-0x7e26 035690 jam lmp_slot_offset ,mem_lmo_opcode2 
-0x7e27 035691 set1 mark_switch_initiated ,mark 
-0x7e28 035692 nrtn master 
-0x7e29 035693 jam switch_flag_init ,mem_switch_flag 
-0x7e2a 035694 jam lmp_switch_req ,mem_lmo_opcode2 
-0x7e2b 035695 fetch 1 ,mem_connection_options 
-0x7e2c 035696 set0 connection_switch ,pdata 
-0x7e2d 035697 store 1 ,mem_connection_options 
-0x7e2e 035698 rtn 
-:      035702 check_51cmd_bb_reconn_cancel:
-0x7e2f 035703 force page_length_timer ,queue 
-0x7e30 035704 branch timer_stop 
-:      035708 check_51cmd_dhkey_not_accept:
-0x7e31 035709 call tid_set_reply 
-0x7e32 035710 jam lmp_dhkey_check ,mem_lmi_opcode2 
-0x7e33 035711 branch parse_lmp_dhkey_check_reject 
-:      035714 ui_check_paring_button:
-0x7e34 035715 fetch 1 ,mem_ui_state_map 
-0x7e35 035716 rtnbit0 ui_state_btn_down 
-0x7e36 035717 rtnbit0 ui_state_bt_reconnect 
-0x7e37 035718 branch check_51cmd_bb_reconn_cancel 
-:      035723 queue_init:
-0x7e38 035724 fetch 2 ,mem_queue_ptr 
-0x7e39 035725 add pdata ,queue_offset_curr_num ,contw 
-0x7e3a 035726 setarg 0 
-0x7e3b 035727 istore 3 ,contw 
-0x7e3c 035728 rtn 
-:      035732 queue_push:
-0x7e3d 035733 call disable_user 
-0x7e3e 035734 call queue_full 
-0x7e3f 035735 rtn blank 
-0x7e40 035736 fetch 2 ,mem_queue_ptr 
-0x7e41 035737 add pdata ,queue_offset_curr_num ,regb 
-0x7e42 035738 ifetcht 1 ,regb 
-0x7e43 035739 increase 1 ,temp 
-0x7e44 035740 istoret 1 ,regb 
-0x7e45 035742 ifetcht 1 ,pdata 
-0x7e46 035743 copy temp ,loopcnt 
-0x7e47 035744 add pdata ,queue_offset_write_ptr ,regb 
-0x7e48 035745 ifetch 1 ,regb 
-0x7e49 035746 imul32 temp ,pdata 
-0x7e4a 035747 iadd contr ,contw 
-0x7e4b 035748 copy rega ,contr 
-:      035749 calc_queue_next_ptr:
-0x7e4c 035750 call memcpy 
-0x7e4d 035751 call queue_get_size 
-0x7e4e 035752 pincrease -1 
-0x7e4f 035753 ifetcht 1 ,regb 
-0x7e50 035754 increase 1 ,temp 
-0x7e51 035755 iand temp ,temp 
-0x7e52 035756 istoret 1 ,regb 
-0x7e53 035757 branch enable_user 
-:      035762 queue_pop:
-0x7e54 035763 call disable_user 
-0x7e55 035764 call queue_empty 
-0x7e56 035765 rtn blank 
-0x7e57 035766 fetch 2 ,mem_queue_ptr 
-0x7e58 035767 add pdata ,queue_offset_curr_num ,regb 
-0x7e59 035768 ifetcht 1 ,regb 
-0x7e5a 035769 increase -1 ,temp 
-0x7e5b 035770 istoret 1 ,regb 
-0x7e5c 035771 ifetcht 1 ,pdata 
-0x7e5d 035772 copy temp ,loopcnt 
-0x7e5e 035773 add pdata ,queue_offset_read_ptr ,regb 
-0x7e5f 035774 ifetch 1 ,regb 
-0x7e60 035775 imul32 temp ,pdata 
-0x7e61 035776 iadd contr ,contr 
-0x7e62 035777 increase 1 ,contr 
-0x7e63 035778 copy rega ,contw 
-0x7e64 035779 branch calc_queue_next_ptr 
-:      035783 queue_empty:
-0x7e65 035784 fetch 2 ,mem_queue_ptr 
-0x7e66 035785 add pdata ,queue_offset_curr_num ,contr 
-0x7e67 035786 ifetch 1 ,contr 
-0x7e68 035787 rtn 
-:      035790 queue_full:
-0x7e69 035791 call queue_get_size 
-0x7e6a 035792 ifetcht 1 ,contr 
-0x7e6b 035793 isub temp ,pdata 
-0x7e6c 035794 rtn 
-:      035797 queue_get_size:
-0x7e6d 035798 fetch 2 ,mem_queue_ptr 
-0x7e6e 035799 add pdata ,queue_offset_length ,contr 
-0x7e6f 035800 ifetch 1 ,contr 
-0x7e70 035801 rtn 
-:      035809 right_shift_n:
-0x7e71 035810 sub loopcnt ,0 ,null 
-0x7e72 035811 rtn zero 
-:      035812 right_shift_n_loop:
-0x7e73 035813 rshift pdata ,pdata 
-0x7e74 035814 loop right_shift_n_loop 
-0x7e75 035815 rtn 
-:      035818 left_shift_n:
-0x7e76 035819 force 1 ,pdata 
-0x7e77 035820 sub loopcnt ,0 ,null 
-0x7e78 035821 rtn zero 
-:      035822 left_shift_n_loop:
-0x7e79 035823 lshift pdata ,pdata 
-0x7e7a 035824 loop left_shift_n_loop 
-0x7e7b 035825 rtn 
-:      035826 push_stack:
-0x7e7c 035827 deposit contw 
-0x7e7d 035828 store 2 ,mem_contw 
-0x7e7e 035829 storet 8 ,mem_temp 
-0x7e7f 035830 deposit timeup 
-0x7e80 035831 store 4 ,mem_timeup 
-0x7e81 035832 call push_stack_rega_b_c 
-0x7e82 035833 deposit contr 
-0x7e83 035834 store 2 ,mem_contr 
-0x7e84 035835 rtn 
-:      035837 push_stack_rega_b_c:
-0x7e85 035838 deposit rega 
-0x7e86 035839 store 4 ,mem_rega 
-0x7e87 035840 deposit regb 
-0x7e88 035841 store 4 ,mem_regb 
-0x7e89 035842 deposit regc 
-0x7e8a 035843 store 3 ,mem_regc 
-0x7e8b 035844 rtn 
-:      035846 pop_stack:
-0x7e8c 035847 fetcht 8 ,mem_temp 
-0x7e8d 035848 fetch 4 ,mem_timeup 
-0x7e8e 035849 iforce timeup 
-0x7e8f 035850 call pop_stack_rega_b_c 
-0x7e90 035851 fetch 2 ,mem_contw 
-0x7e91 035852 iforce contw 
-0x7e92 035853 fetch 2 ,mem_contr 
-0x7e93 035854 iforce contr 
-0x7e94 035855 rtn 
-:      035857 pop_stack_rega_b_c:
-0x7e95 035858 fetch 4 ,mem_rega 
-0x7e96 035859 iforce rega 
-0x7e97 035860 fetch 4 ,mem_regb 
-0x7e98 035861 iforce regb 
-0x7e99 035862 fetch 3 ,mem_regc 
-0x7e9a 035863 iforce regc 
-0x7e9b 035864 rtn 
-:      035866 get_contw:
-0x7e9c 035867 fetch 2 ,mem_contw 
-0x7e9d 035868 copy pdata ,contw 
-0x7e9e 035869 rtn 
-:      035870 get_contr:
-0x7e9f 035871 fetch 2 ,mem_contr 
-0x7ea0 035872 copy pdata ,contr 
-0x7ea1 035873 rtn 
-:      035874 store_contw:
-0x7ea2 035875 copy contw ,pdata 
-0x7ea3 035876 store 2 ,mem_contw 
-0x7ea4 035877 rtn 
-:      035878 store_contr:
-0x7ea5 035879 copy contr ,pdata 
-0x7ea6 035880 store 2 ,mem_contr 
-0x7ea7 035881 rtn 
-:      035885 save_cont_pointers:
-0x7ea8 035886 copy contw ,pdata 
-0x7ea9 035887 store 2 ,mem_hold_contw 
-0x7eaa 035888 copy contr ,pdata 
-0x7eab 035889 store 2 ,mem_hold_contr 
-0x7eac 035890 rtn 
-:      035891 load_cont_pointers:
-0x7ead 035892 fetch 2 ,mem_hold_contw 
-0x7eae 035893 copy pdata ,contw 
-0x7eaf 035894 fetch 2 ,mem_hold_contr 
-0x7eb0 035895 copy pdata ,contr 
-0x7eb1 035896 rtn 
-:      035898 memcpy96:
-0x7eb2 035899 call memcpy32 
-:      035900 memcpy64:
-0x7eb3 035901 call memcpy32 
-0x7eb4 035902 branch memcpy32 
-:      035903 memcpy12:
-0x7eb5 035904 call memcpy8 
-:      035905 memcpy4:
-0x7eb6 035906 ifetch 4 ,contr 
-0x7eb7 035907 istore 4 ,contw 
-0x7eb8 035908 rtn 
-:      035909 memcpy8:
-0x7eb9 035910 ifetch 8 ,contr 
-0x7eba 035911 istore 8 ,contw 
-0x7ebb 035912 rtn 
-:      035914 memcpy48:
-0x7ebc 035915 call memcpy16 
-:      035916 memcpy32:
-0x7ebd 035917 call memcpy8 
-:      035918 memcpy24:
-0x7ebe 035919 call memcpy8 
-:      035920 memcpy16:
-0x7ebf 035921 call memcpy8 
-0x7ec0 035922 branch memcpy8 
-:      035926 delay_10ms:
-0x7ec1 035927 arg 10 ,loopcnt 
-:      035928 delay_ms_wait:
-0x7ec2 035929 nop 12000 
-0x7ec3 035930 loop delay_ms_wait 
-0x7ec4 035931 rtn 
-:      035933 bn_zero:
-0x7ec5 035934 force 3 ,loopcnt 
-:      035935 memset0:
-0x7ec6 035936 force 0 ,pdata 
-:      035937 memset8:
-0x7ec7 035938 istore 8 ,contw 
-0x7ec8 035939 loop memset8 
-0x7ec9 035940 rtn 
-:      035942 memset0_8:
-0x7eca 035943 force 0 ,pdata 
-0x7ecb 035944 istore 8 ,contw 
-0x7ecc 035945 rtn 
-:      035946 memset0_4:
-0x7ecd 035947 force 0 ,pdata 
-0x7ece 035948 istore 4 ,contw 
-0x7ecf 035949 rtn 
-:      035951 clear_mem_256:
-0x7ed0 035952 force 4 ,loopcnt 
-0x7ed1 035953 branch memset0 
-:      035954 clear_mem_512:
-0x7ed2 035955 force 8 ,loopcnt 
-0x7ed3 035956 branch memset0 
-:      035958 clear_mem:
-0x7ed4 035959 deposit loopcnt 
-0x7ed5 035960 rtn blank 
-0x7ed6 035961 setarg 0 
-:      035962 clear_mem_loop:
-0x7ed7 035963 istore 1 ,contw 
-0x7ed8 035964 loop clear_mem_loop 
-0x7ed9 035965 rtn 
-:      035968 clear_temp_block:
-0x7eda 035969 arg 32 ,loopcnt 
-0x7edb 035970 arg mem_temp_block0 ,contw 
-0x7edc 035971 branch clear_mem 
-:      035973 xor_loop:
-0x7edd 035974 ifetch 4 ,regc 
-0x7ede 035975 ifetcht 4 ,rega 
-0x7edf 035976 ixor temp ,pdata 
-0x7ee0 035977 istore 4 ,contw 
-0x7ee1 035978 increase 4 ,rega 
-0x7ee2 035979 increase 4 ,regc 
-0x7ee3 035980 loop xor_loop 
-0x7ee4 035981 rtn 
-:      035985 inverse_data:
-0x7ee5 035986 bpatchx patch3f_3 ,mem_patch3f 
-0x7ee6 035987 copy loopcnt ,pdata 
-0x7ee7 035988 sub pdata ,1 ,null 
-0x7ee8 035989 rtn positive 
-0x7ee9 035990 iadd rega ,regb 
-0x7eea 035991 increase -1 ,regb 
-0x7eeb 035992 rshift loopcnt ,loopcnt 
-:      035993 inverse_loop:
-0x7eec 035994 ifetcht 1 ,rega 
-0x7eed 035995 ifetch 1 ,regb 
-0x7eee 035996 istore 1 ,rega 
-0x7eef 035997 istoret 1 ,regb 
-0x7ef0 035998 increase -1 ,regb 
-0x7ef1 035999 increase 1 ,rega 
-0x7ef2 036000 loop inverse_loop 
-0x7ef3 036001 rtn 
-:      036004 memcpy_fast:
-0x7ef4 036005 deposit loopcnt 
-0x7ef5 036006 rtn blank 
-:      036007 memcpy_fast_loop:
-0x7ef6 036008 increase -8 ,loopcnt 
-0x7ef7 036009 call memcpy8 ,positive 
-0x7ef8 036010 rtn zero 
-0x7ef9 036011 branch memcpy_fast_loop ,positive 
-0x7efa 036012 increase 8 ,loopcnt 
-:      036013 memcpy_fast_loop_four:
-0x7efb 036014 increase -4 ,loopcnt 
-0x7efc 036015 call memcpy4 ,positive 
-0x7efd 036016 rtn zero 
-0x7efe 036017 branch memcpy_fast_loop_four ,positive 
-0x7eff 036018 increase 4 ,loopcnt 
-0x7f00 036019 branch memcpy 
-:      036021 memcpy:
-0x7f01 036022 deposit loopcnt 
-0x7f02 036023 rtn blank 
-:      036024 memcpy_loop:
-0x7f03 036025 ifetch 1 ,contr 
-0x7f04 036026 istore 1 ,contw 
-0x7f05 036027 loop memcpy_loop 
-0x7f06 036028 rtn 
-:      036030 timer_stop:
-0x7f07 036031 setarg 0 
-:      036032 timer_init:
-0x7f08 036033 rshift clkn_bt ,temp 
-0x7f09 036034 storet 4 ,mem_last_clkn 
-0x7f0a 036035 arg mem_timers ,contw 
-0x7f0b 036036 iforce temp 
-0x7f0c 036037 lshift queue ,pdata 
-0x7f0d 036038 iadd contw ,contw 
-0x7f0e 036039 istoret 2 ,contw 
-0x7f0f 036040 bpatchx patch3f_4 ,mem_patch3f 
-0x7f10 036041 rtn 
-:      036043 timer_check_timeout:
-0x7f11 036044 arg 0x800 ,timeup 
-0x7f12 036045 lshift16 timeup ,timeup 
-0x7f13 036046 iadd timeup ,pdata 
-0x7f14 036047 rtn 
-:      036050 timer_reinit:
-0x7f15 036051 arg 0 ,queue 
-:      036052 timer_check:
-0x7f16 036053 bpatchx patch3f_5 ,mem_patch3f 
-0x7f17 036054 fetcht 4 ,mem_last_clkn 
-0x7f18 036055 rshift clkn_bt ,pdata 
-0x7f19 036056 store 4 ,mem_last_clkn 
-0x7f1a 036057 isub temp ,null 
-0x7f1b 036058 ncall timer_check_timeout ,positive 
-0x7f1c 036059 isub temp ,timeup 
-0x7f1d 036060 copy timeup ,temp 
-0x7f1e 036061 arg mem_timers ,contr 
-0x7f1f 036062 copy contr ,contw 
-0x7f20 036063 arg 16 ,loopcnt 
-:      036064 timer_loop:
-0x7f21 036065 ifetch 2 ,contr 
-0x7f22 036066 isub temp ,pdata 
-0x7f23 036067 branch timer_counting ,positive 
-0x7f24 036068 force 0 ,pdata 
-:      036069 timer_counting:
-0x7f25 036070 istore 2 ,contw 
-0x7f26 036071 loop timer_loop 
-0x7f27 036072 arg mem_timers ,contr 
-0x7f28 036073 lshift queue ,pdata 
-0x7f29 036074 iadd contr ,contr 
-0x7f2a 036075 ifetch 2 ,contr 
-0x7f2b 036076 rtn 
-:      036081 clk_add:
-0x7f2c 036082 iadd temp ,temp 
-0x7f2d 036083 copy temp ,loopcnt 
-0x7f2e 036084 setarg 3750 
-0x7f2f 036085 isub loopcnt ,pdata 
-0x7f30 036086 rtn positive 
-0x7f31 036087 sub pdata ,0 ,pdata 
-0x7f32 036088 rshift16 temp ,temp 
-0x7f33 036089 increase 1 ,temp 
-0x7f34 036090 lshift16 temp ,temp 
-0x7f35 036091 ior temp ,temp 
-0x7f36 036092 rtn 
-:      036094 clk_diff_rt:
-0x7f37 036095 call clk_diff 
-0x7f38 036096 branch clk2rt 
-:      036099 clk_diff:
-0x7f39 036100 disable user 
-0x7f3a 036101 isub temp ,pdata 
-0x7f3b 036102 branch clk_diff_pos ,positive 
-0x7f3c 036103 enable user 
-0x7f3d 036104 sub pdata ,0 ,pdata 
-:      036105 clk_diff_pos:
-0x7f3e 036106 rtnbit0 15 
-0x7f3f 036107 arg -61786 ,temp 
-0x7f40 036108 iadd temp ,pdata 
-0x7f41 036109 set0 64 ,pdata 
-0x7f42 036110 rtn 
-:      036112 clk2rt:
-0x7f43 036113 iforce contr 
-0x7f44 036114 rshift16 pdata ,pdata 
-0x7f45 036115 arg 3750 ,temp 
-0x7f46 036116 imul32 temp ,pdata 
-0x7f47 036117 iadd contr ,pdata 
-0x7f48 036118 rtn 
-:      036121 clk2lpo:
-0x7f49 036122 lshift8 pdata ,pdata 
-0x7f4a 036123 lshift4 pdata ,pdata 
-0x7f4b 036124 fetcht 3 ,mem_clks_per_lpo 
-0x7f4c 036125 idiv temp 
-0x7f4d 036126 call wait_div_end 
-0x7f4e 036127 quotient temp 
-0x7f4f 036128 rtn 
-:      036131 clk2bt:
-0x7f50 036132 arg 3750 ,temp 
-0x7f51 036133 idiv temp 
-0x7f52 036134 call wait_div_end 
-0x7f53 036135 quotient pdata 
-0x7f54 036136 lshift16 pdata ,pdata 
-0x7f55 036137 remainder temp 
-0x7f56 036138 ior temp ,temp 
-0x7f57 036139 rtn 
-:      036146 string2dec_from_uart:
-0x7f58 036147 arg 0 ,temp 
-:      036148 string2dec_from_uart_done:
-0x7f59 036149 copy temp ,regc 
-0x7f5a 036150 ifetch 1 ,contru 
-0x7f5b 036151 call uchar2dialog 
-0x7f5c 036152 copy regc ,temp 
-0x7f5d 036153 call swap 
-0x7f5e 036154 arg 10 ,regb 
-0x7f5f 036155 imul32 regb ,pdata 
-0x7f60 036156 iadd temp ,pdata 
-0x7f61 036157 copy pdata ,temp 
-0x7f62 036158 loop string2dec_from_uart_done 
-0x7f63 036159 rtn 
-:      036163 uchar2dialog:
-0x7f64 036164 arg 0x3a ,temp 
-0x7f65 036165 isub temp ,null 
-0x7f66 036166 nbranch uchar2dialog_number ,positive 
-0x7f67 036167 arg 0x61 ,temp 
-0x7f68 036168 isub temp ,null 
-0x7f69 036169 branch uchar2dialog_a2f ,positive 
-0x7f6a 036170 arg 0x37 ,temp 
-0x7f6b 036171 isub temp ,pdata 
-0x7f6c 036172 rtn 
-:      036173 uchar2dialog_number:
-0x7f6d 036174 arg 0x30 ,temp 
-0x7f6e 036175 isub temp ,pdata 
-0x7f6f 036176 rtn 
-:      036177 uchar2dialog_a2f:
-0x7f70 036178 arg 0x57 ,temp 
-0x7f71 036179 isub temp ,pdata 
-0x7f72 036180 rtn 
-:      036182 pn9:
-0x7f73 036183 copy temp ,alarm 
-0x7f74 036184 setarg 0x1ff 
-0x7f75 036185 force 0 ,regb 
-:      036186 pn9_loop:
-0x7f76 036187 rshift3 pdata ,rega 
-0x7f77 036188 rshift rega ,rega 
-0x7f78 036189 ixor rega ,rega 
-0x7f79 036190 isolate1 0 ,rega 
-0x7f7a 036191 setflag true ,9 ,pdata 
-0x7f7b 036192 rshift temp ,temp 
-0x7f7c 036193 isolate1 0 ,pdata 
-0x7f7d 036194 setflag true ,7 ,temp 
-0x7f7e 036195 rshift pdata ,pdata 
-0x7f7f 036196 increase 1 ,regb 
-0x7f80 036197 compare 0 ,regb ,0x7 
-0x7f81 036198 nbranch pn9_loop ,true 
-0x7f82 036199 istoret 1 ,contw 
-0x7f83 036200 loop pn9_loop 
-0x7f84 036201 copy alarm ,temp 
-0x7f85 036202 rtn 
-:      036205 wait_div_end:
-0x7f86 036206 rtn modone 
-0x7f87 036207 branch wait_div_end 
-:      036217 compare_loop:
-:      036218 string_compare:
-0x7f88 036219 ifetch 1 ,rega 
-0x7f89 036220 ifetcht 1 ,regb 
-0x7f8a 036221 isub temp ,null 
-0x7f8b 036222 nrtn zero 
-0x7f8c 036223 increase 1 ,rega 
-0x7f8d 036224 increase 1 ,regb 
-0x7f8e 036225 loop string_compare 
-0x7f8f 036226 force 0 ,null 
-0x7f90 036227 rtn 
-:      036230 ceiling:
-0x7f91 036231 isub temp ,null 
-0x7f92 036232 nrtn positive 
-0x7f93 036233 deposit temp 
-0x7f94 036234 rtn 
-:      036236 swap:
-0x7f95 036237 iadd temp ,pdata 
-0x7f96 036238 isub temp ,temp 
-0x7f97 036239 isub temp ,pdata 
-0x7f98 036240 rtn 
-:      036242 clean_mem:
-0x7f99 036243 arg 0x200 ,loopcnt 
-0x7f9a 036244 arg 0x4000 ,contw 
-0x7f9b 036245 branch memset0 
-:      036248 callback_func:
-0x7f9c 036249 rtn blank 
-0x7f9d 036250 copy pdata ,pc 
-:      036253 wait_uarttx:
-0x7f9e 036254 hfetch 2 ,core_uart_txitems 
-0x7f9f 036255 nbranch wait_uarttx ,blank 
-0x7fa0 036256 rtn 
-:      036258 ice_break:
-0x7fa1 036259 jam 0x1 ,core_ice_ctrl 
-0x7fa2 036260 rtn 
-:      036262 ice_setbp:
-0x7fa3 036263 hstore 2 ,core_ice_break0 
-0x7fa4 036264 hfetch 1 ,core_ice_ctrl 
-0x7fa5 036265 set1 4 ,pdata 
-0x7fa6 036266 hstore 1 ,core_ice_ctrl 
-0x7fa7 036267 rtn 
-:      036268 ice_setbp2:
-0x7fa8 036269 hstore 2 ,core_ice_break1 
-0x7fa9 036270 hfetch 1 ,core_ice_ctrl 
-0x7faa 036271 set1 6 ,pdata 
-0x7fab 036272 hstore 1 ,core_ice_ctrl 
-0x7fac 036273 rtn 
-:      036275 ice_set_write_bp:
-0x7fad 036276 hstore 2 ,core_ice_break0 
-0x7fae 036277 jam 0x30 ,core_ice_ctrl 
-0x7faf 036278 rtn 
-:      036282 test_enable_white:
-0x7fb0 036283 hfetch 1 ,core_config 
-0x7fb1 036284 set0 whiteoff_bit ,pdata 
-0x7fb2 036285 hstore 1 ,core_config 
-0x7fb3 036286 rtn 
-:      036288 check_uart_tx_buff:
-0x7fb4 036289 hfetch 2 ,core_uart_txitems 
-0x7fb5 036290 arg uart_air_control_threshold ,temp 
-:      036291 pdata_sub_temp:
-0x7fb6 036292 isub temp ,null 
-0x7fb7 036293 rtn 
-:      036299 fifo_in:
-0x7fb8 036300 bpatchx patch3f_6 ,mem_patch3f 
-0x7fb9 036301 ifetcht util_fifo_len ,rega 
-0x7fba 036302 and temp ,0xff ,pdata 
-0x7fbb 036303 nbranch fifo_in_push ,blank 
-0x7fbc 036304 rshift8 temp ,pdata 
-0x7fbd 036305 istore util_fifo_len ,rega 
-:      036306 fifo_in_push:
-0x7fbe 036307 increase util_fifo_len + util_fifo_offset ,rega 
-0x7fbf 036308 ifetch 1 ,rega 
-0x7fc0 036309 nbranch assert ,blank 
-0x7fc1 036310 fetch 1 ,mem_fifo_temp 
-0x7fc2 036311 istore 1 ,rega 
-0x7fc3 036312 rtn 
-:      036317 fifo_out:
-0x7fc4 036318 bpatchx patch3f_7 ,mem_patch3f 
-0x7fc5 036319 arg util_fifo_len ,loopcnt 
-0x7fc6 036320 ifetch util_fifo_len ,rega 
-0x7fc7 036321 rtn blank 
-:      036322 fifo_out_loop:
-0x7fc8 036323 ifetch 1 ,rega 
-0x7fc9 036324 nbranch fifo_out_end ,blank 
-0x7fca 036325 increase 1 ,rega 
-0x7fcb 036326 loop fifo_out_loop 
-0x7fcc 036327 branch assert 
-:      036328 fifo_out_end:
-0x7fcd 036329 arg 0 ,temp 
-0x7fce 036330 istoret 1 ,rega 
-0x7fcf 036331 rtn 
-:      036336 fifo_is_empty:
-0x7fd0 036337 ifetch util_fifo_len ,rega 
-0x7fd1 036338 rtn 
-:      036343 fifo_is_full:
-0x7fd2 036344 ifetch 1 ,rega 
-0x7fd3 036345 rtn 
-:      036348 fifo_is_near_full:
-0x7fd4 036349 ifetch 2 ,rega 
-0x7fd5 036350 rtn 
-:      036354 fifo_content_count:
-0x7fd6 036355 arg 0 ,temp 
-:      036356 fifo_content_count_loop:
-0x7fd7 036357 fetch 1 ,contr 
-0x7fd8 036358 loop fifo_content_count_loop ,blank 
-0x7fd9 036359 increase 1 ,temp 
-0x7fda 036360 loop fifo_content_count_loop 
-0x7fdb 036361 copy temp ,pdata 
-0x7fdc 036362 rtn 
-:      036364 not_greater_than:
-0x7fdd 036365 isub temp ,null 
-0x7fde 036366 nrtn positive 
-0x7fdf 036367 copy temp ,pdata 
-0x7fe0 036368 rtn 
-:      036371 disable_positive:
-0x7fe1 036372 force -1 ,null 
-0x7fe2 036373 rtn 
-:      036374 enable_positive:
-:      036375 disable_zero:
-0x7fe3 036376 force 1 ,null 
-0x7fe4 036377 rtn 
-:      036378 enable_zero:
-0x7fe5 036379 force 0 ,null 
-0x7fe6 036380 rtn 
-:      036382 enable_user:
-0x7fe7 036383 enable user 
-0x7fe8 036384 rtn 
-:      036386 disable_user:
-0x7fe9 036387 disable user 
-0x7fea 036388 rtn 
-:      036390 enable_user2:
-0x7feb 036391 enable user2 
-0x7fec 036392 rtn 
-:      036394 disable_user2:
-0x7fed 036395 disable user2 
-0x7fee 036396 rtn 
-:      036398 disable_blank:
-0x7fef 036399 setarg 1 
-0x7ff0 036400 rtn 
-:      036402 enable_blank:
-0x7ff1 036403 setarg 0 
-0x7ff2 036404 rtn 
-:      036407 reverse_byte:
-0x7ff3 036408 copy loopcnt ,pdata 
-0x7ff4 036409 rtn blank 
-0x7ff5 036410 copy contr ,pdata 
-0x7ff6 036411 iadd loopcnt ,pdata 
-0x7ff7 036412 increase -1 ,pdata 
-0x7ff8 036413 copy pdata ,contr 
-:      036414 reverse_loop:
-0x7ff9 036415 ifetch 1 ,contr 
-0x7ffa 036416 increase -2 ,contr 
-0x7ffb 036417 istore 1 ,contw 
-0x7ffc 036418 loop reverse_loop 
-0x7ffd 036419 rtn 
+:      002959 start:
+0x2000 002960 call lpmstate 
+:      002962 soft_reset:
+0x2001 002963 bpatch patch00_0 ,mem_patch00 
+0x2002 002964 clear_stack 
+0x2003 002965 call spi_ncs_gpio_init 
+0x2004 002966 call initialize_radio 
+0x2005 002967 call iicd_init_12m 
+0x2006 002968 call init_param 
+0x2007 002969 call l2cap_init 
+0x2008 002970 bpatch patch00_1 ,mem_patch00 
+0x2009 002971 call rfcomm_init 
+0x200a 002972 call init_lmp 
+0x200b 002973 call ui_init 
+0x200c 002974 call app_init 
+0x200d 002975 ncall load_chip_option ,wake 
+0x200e 002976 bpatch patch00_2 ,mem_patch00 
+0x200f 002977 call app_lpm_init ,wake 
+0x2010 002978 call publickey_init 
+0x2011 002979 call lpm_recover_clk ,wake 
+:      002980 main_loop:
+0x2012 002981 bpatch patch00_3 ,mem_patch00 
+0x2013 002982 call sp_calc_sequence 
+0x2014 002983 call sp_calc_sequence_256 
+0x2015 002984 call sp_calc_sequence_256_check 
+0x2016 002985 call le_dispatch 
+0x2017 002986 bpatch patch00_4 ,mem_patch00 
+0x2018 002987 call idle_dispatch 
+0x2019 002988 call app_process_idle 
+0x201a 002989 call inquiry_dispatch 
+0x201b 002990 call inquiry_scan_dispatch 
+0x201c 002991 call page_scan_dispatch 
+0x201d 002992 call connection_dispatch 
+0x201e 002993 call lpm_dispatch 
+0x201f 002994 call g24_dispatch 
+0x2020 002995 branch main_loop 
+:      002997 connection_dispatch:
+0x2021 002998 call connection_incontext 
+0x2022 002999 rtnmark0 mark_context 
+0x2023 003000 set0 mark_context ,mark 
+0x2024 003001 call context_save 
+0x2025 003002 branch le_disable 
+:      003004 connection_incontext:
+0x2026 003005 bpatch patch00_5 ,mem_patch00 
+0x2027 003006 call context_search_insniff 
+0x2028 003007 nbranch connection_nosniff ,zero 
+0x2029 003008 call context_load 
+0x202a 003009 add rega ,coffset_mode ,contr 
+0x202b 003010 ifetch 1 ,contr 
+0x202c 003011 bbit1 mode_le ,le_conn_dispatch 
+0x202d 003012 bbit1 mode_master ,master_dispatch 
+0x202e 003013 branch slave_dispatch 
+:      003014 connection_nosniff:
+0x202f 003015 call context_get_next 
+0x2030 003016 copy loopcnt ,null 
+0x2031 003017 rtn zero 
+0x2032 003018 call context_load 
+0x2033 003019 fetch 1 ,mem_state 
+0x2034 003020 bbit1 state_inpage ,master_page 
+0x2035 003021 fetch 1 ,mem_mode 
+0x2036 003022 bbit1 mode_master ,master_dispatch 
+0x2037 003023 branch slave_dispatch 
+:      003031 idle_dispatch:
+0x2038 003032 fetch 1 ,mem_hci_cmd 
+0x2039 003033 rtn blank 
+0x203a 003034 beq hci_cmd_inquiry ,idle_inquiry 
+0x203b 003035 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x203c 003036 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x203d 003037 beq hci_cmd_create_conn ,idle_create_conn 
+0x203e 003038 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x203f 003039 call context_search_conn_handle 
+0x2040 003040 rtn zero 
+0x2041 003041 call context_search_plap 
+0x2042 003042 rtn zero 
+:      003043 idle_exit:
+0x2043 003044 jam 0 ,mem_hci_cmd 
+0x2044 003045 rtn 
+:      003047 idle_le_create_conn:
+0x2045 003048 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x2046 003049 jam 0 ,mem_hci_cmd 
+0x2047 003050 rtn 
+:      003052 idle_inquiry:
+0x2048 003053 set1 mark_inquiry_on ,mark 
+0x2049 003054 set0 mark_inquiry_trainb ,mark 
+0x204a 003055 jam param_ninquiry ,mem_ninqy_index 
+0x204b 003056 jam 31 ,mem_nfreq_index_inq 
+0x204c 003057 branch idle_exit 
+:      003059 idle_inquiry_cancel:
+0x204d 003060 set0 mark_inquiry_on ,mark 
+0x204e 003061 force 0 ,stop_watch 
+0x204f 003062 branch idle_exit 
+:      003064 idle_remote_name_req:
+0x2050 003065 call context_search_plap 
+0x2051 003066 rtn zero 
+0x2052 003067 force lmp_name_req ,temp 
+0x2053 003068 jam 5 ,mem_nameres_cnt 
+0x2054 003069 branch idle_start_page 
+:      003071 idle_create_conn:
+0x2055 003072 bpatch patch00_6 ,mem_patch00 
+:      003073 idle_create_conn_device:
+0x2056 003074 fetch 6 ,mem_hci_plap 
+0x2057 003075 branch idle_exit ,blank 
+0x2058 003076 jam reconnect_hid ,memui_reconnect_mode 
+0x2059 003078 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x205a 003079 branch idle_create_conn_cont 
+:      003081 idle_create_conn_cont:
+0x205b 003082 force lmp_version_req ,temp 
+:      003083 idle_start_page:
+0x205c 003084 bpatch patch00_7 ,mem_patch00 
+0x205d 003085 fetch 1 ,mem_page_mode 
+0x205e 003086 branch idle_page_mode_r0 ,blank 
+0x205f 003087 lshift3 pdata ,pdata 
+0x2060 003088 lshift4 pdata ,pdata 
+0x2061 003089 increase -1 ,pdata 
+:      003090 idle_page_mode_r0:
+0x2062 003091 store 1 ,mem_npage 
+0x2063 003092 store 1 ,mem_npage_index 
+0x2064 003093 jam 31 ,mem_nfreq_index_page 
+0x2065 003094 set0 mark_page_trainb ,mark 
+0x2066 003095 call context_new 
+0x2067 003096 nbranch idle_page_fail ,zero 
+0x2068 003097 call get_free_amaddr 
+0x2069 003098 store 1 ,mem_amaddr 
+0x206a 003099 storet 1 ,mem_lmo_opcode2 
+0x206b 003100 fetch 6 ,mem_hci_plap 
+0x206c 003101 store 6 ,mem_plap 
+0x206d 003102 bpatch patch01_0 ,mem_patch01 
+0x206e 003103 call timer_reinit 
+0x206f 003104 force 0 ,pdata 
+0x2070 003105 compare lmp_name_req ,temp ,0xff 
+0x2071 003106 nsetflag true ,state_init_seq ,pdata 
+0x2072 003107 set1 state_inpage ,pdata 
+0x2073 003108 store 1 ,mem_state 
+0x2074 003109 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x2075 003110 call ui_ipc_send_event 
+0x2076 003111 force 0 ,pdata 
+0x2077 003112 setflag true ,smap_name_req ,pdata 
+0x2078 003113 store 1 ,mem_state_map 
+0x2079 003114 setarg 0 
+0x207a 003115 set1 mode_master ,pdata 
+0x207b 003116 store 1 ,mem_mode 
+0x207c 003117 enable master 
+0x207d 003118 call context_save 
+0x207e 003119 disable master 
+0x207f 003120 force page_length_timer ,queue 
+0x2080 003121 fetch 2 ,mem_page_to 
+0x2081 003122 call timer_init 
+0x2082 003123 branch idle_exit 
+:      003124 idle_page_fail:
+0x2083 003125 bpatch patch01_1 ,mem_patch01 
+0x2084 003126 fetch 6 ,mem_hci_plap 
+0x2085 003127 store 6 ,mem_plap 
+0x2086 003128 compare lmp_name_req ,temp ,0xff 
+0x2087 003129 branch idle_name_fail ,true 
+0x2088 003130 branch idle_exit 
+:      003131 idle_name_fail:
+0x2089 003132 arg mem_tmp_buffer ,contw 
+0x208a 003133 arg 8 ,loopcnt 
+0x208b 003134 call memset0 
+0x208c 003135 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x208d 003136 call ui_ipc_send_event 
+0x208e 003137 branch idle_exit 
+:      003144 inquiry_dispatch:
+0x208f 003145 rtnmark0 mark_inquiry_on 
+0x2090 003146 force inquiry_length_timer ,queue 
+0x2091 003147 call timer_check 
+0x2092 003148 nsetflag blank ,mark_inquiry_on ,mark 
+0x2093 003149 nbranch inquiry_start ,blank 
+0x2094 003150 rtn 
+:      003154 inquiry_start:
+0x2095 003155 bpatch patch01_2 ,mem_patch01 
+0x2096 003156 fetcht 2 ,mem_inq_window 
+0x2097 003157 force 4 ,queue 
+0x2098 003158 call sniff_check_window 
+0x2099 003159 rtn user 
+0x209a 003160 call afh_clear 
+0x209b 003161 force 0 ,freq_mode 
+:      003162 inquiry_restart:
+0x209c 003163 rtn timeout 
+0x209d 003164 set0 mark_fhs_already_good ,mark 
+0x209e 003165 set0 mark_fhs_eir ,mark 
+:      003166 inquiry_rx_restart:
+0x209f 003167 add clkn_bt ,1 ,bt_clk 
+0x20a0 003168 isolate1 mark_inquiry_trainb ,mark 
+0x20a1 003169 setflag true ,2 ,freq_mode 
+0x20a2 003170 compare 0x00 ,bt_clk ,0x02 
+0x20a3 003171 nbranch inquiry_receive ,true 
+:      003173 inquiry_transmit:
+0x20a4 003174 bpatch patch01_3 ,mem_patch01 
+0x20a5 003175 fetch 1 ,mem_inquiry_transmit 
+0x20a6 003176 increase 1 ,pdata 
+0x20a7 003177 store 1 ,mem_inquiry_transmit 
+0x20a8 003178 call fetch_giac 
+0x20a9 003179 call tx_radio_freq 
+0x20aa 003180 call fetch_diac 
+0x20ab 003181 call start_transmitter 
+0x20ac 003182 call start_tx_native 
+0x20ad 003183 call send_access_word 
+0x20ae 003184 call end_of_packet 
+0x20af 003185 call inquiry_check_train 
+0x20b0 003186 branch inquiry_restart 
+:      003188 inquiry_check_train:
+0x20b1 003189 bpatch patch01_4 ,mem_patch01 
+0x20b2 003190 fetch 1 ,mem_nfreq_index_inq 
+0x20b3 003191 increase -1 ,pdata 
+0x20b4 003192 store 1 ,mem_nfreq_index_inq 
+0x20b5 003193 rtn positive 
+0x20b6 003194 jam 31 ,mem_nfreq_index_inq 
+0x20b7 003195 fetch 1 ,mem_ninqy_index 
+0x20b8 003196 increase -1 ,pdata 
+0x20b9 003197 store 1 ,mem_ninqy_index 
+0x20ba 003198 rtn positive 
+0x20bb 003199 setflip mark_inquiry_trainb ,mark 
+0x20bc 003200 jam param_ninquiry ,mem_ninqy_index 
+0x20bd 003201 rtn 
+:      003203 inquiry_receive:
+0x20be 003204 bpatch patch01_5 ,mem_patch01 
+0x20bf 003205 call fetch_giac 
+0x20c0 003206 call rx_radio_freq 
+0x20c1 003207 call fetch_diac 
+0x20c2 003208 call start_rx_native 
+0x20c3 003209 call start_receiver 
+0x20c4 003210 call wait_access_clkn_rt 
+0x20c5 003211 branch inquiry_sync ,sync 
+0x20c6 003212 call inquiry_check_train 
+0x20c7 003213 branch inquiry_rx_restart 
+:      003214 inquiry_sync:
+0x20c8 003215 bpatch patch01_6 ,mem_patch01 
+0x20c9 003216 call save_rssi 
+0x20ca 003217 call scan_mode_whiten 
+0x20cb 003218 call receive_packet_whitened 
+0x20cc 003219 set0 mark_rxbuf_inuse ,mark 
+0x20cd 003220 rtnmark0 mark_fhs_already_good 
+:      003221 inquiry_receive_rtn:
+0x20ce 003222 bpatch patch01_7 ,mem_patch01 
+:      003223 inquiry_receive_eir_rtn:
+0x20cf 003224 fetch 1 ,mem_inquiry_rcv 
+0x20d0 003225 increase 1 ,pdata 
+0x20d1 003226 store 1 ,mem_inquiry_rcv 
+0x20d2 003227 rtn 
+:      003235 master_page:
+0x20d3 003236 bpatch patch02_0 ,mem_patch02 
+0x20d4 003237 enable master 
+0x20d5 003238 enable clknt 
+0x20d6 003239 fetch 2 ,mem_page_interval 
+0x20d7 003240 branch master_page_no_interval ,blank 
+0x20d8 003241 force page_interval_timer ,queue 
+0x20d9 003242 call timer_check 
+0x20da 003243 nrtn blank 
+:      003244 master_page_no_interval:
+0x20db 003245 bpatch patch02_1 ,mem_patch02 
+0x20dc 003246 fetcht 2 ,mem_page_window 
+0x20dd 003247 force 40 ,queue 
+0x20de 003248 call sniff_check_window 
+0x20df 003249 branch page_exit ,user 
+0x20e0 003250 force page_length_timer ,queue 
+0x20e1 003251 call timer_check 
+0x20e2 003252 nbranch page_start ,blank 
+0x20e3 003253 fetch 1 ,mem_state_map 
+0x20e4 003254 bbit1 smap_name_req ,master_npage_timeout 
+0x20e5 003255 branch master_page_timeout 
+:      003256 master_npage_timeout:
+0x20e6 003257 arg mem_tmp_buffer ,contw 
+0x20e7 003258 arg 8 ,loopcnt 
+0x20e8 003259 call memset0 
+:      003260 master_page_timeout:
+0x20e9 003261 bpatch patch02_2 ,mem_patch02 
+0x20ea 003262 jam 0 ,mem_state 
+0x20eb 003263 call init_lmp_work 
+0x20ec 003264 jam 0 ,memui_reconnect_mode 
+0x20ed 003265 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x20ee 003266 call ui_ipc_send_event 
+0x20ef 003267 branch page_exit 
+:      003269 page_start:
+0x20f0 003270 bpatch patch02_3 ,mem_patch02 
+0x20f1 003271 force 0 ,timeup 
+0x20f2 003272 until clkn_rt ,meet 
+0x20f3 003273 fetch 1 ,mem_page_clk 
+0x20f4 003274 increase -1 ,pdata 
+0x20f5 003275 ixor clkn_bt ,pdata 
+0x20f6 003276 compare 0 ,pdata ,3 
+0x20f7 003277 nbranch page_start ,true 
+0x20f8 003278 deposit am_addr 
+0x20f9 003279 store 1 ,mem_fhs_am_addr 
+0x20fa 003280 force 0 ,n_tx_slot 
+0x20fb 003281 force 0 ,freq_mode 
+:      003283 page_restart:
+0x20fc 003284 bpatch patch02_4 ,mem_patch02 
+0x20fd 003285 branch page_exit ,timeout 
+0x20fe 003286 call fetch_page_bt_adr 
+0x20ff 003287 arg param_rf_setup ,timeup 
+0x2100 003288 until clkn_rt ,meet 
+:      003289 page_rx_restart:
+0x2101 003290 bpatch patch02_5 ,mem_patch02 
+0x2102 003291 fetch 4 ,mem_page_clk 
+0x2103 003292 iforce bt_clk 
+0x2104 003293 increase 1 ,pdata 
+0x2105 003294 store 4 ,mem_page_clk 
+0x2106 003295 isolate1 mark_page_trainb ,mark 
+0x2107 003296 setflag true ,2 ,freq_mode 
+0x2108 003297 compare 0x00 ,bt_clk ,0x02 
+0x2109 003298 nbranch page_receive ,true 
+0x210a 003299 fetch 1 ,mem_page_transmit 
+0x210b 003300 increase 1 ,pdata 
+0x210c 003301 store 1 ,mem_page_transmit 
+0x210d 003302 call tx_radio_freq 
+0x210e 003303 call start_transmitter 
+0x210f 003304 call start_tx_native 
+0x2110 003305 call send_access_word 
+0x2111 003306 call end_of_packet 
+0x2112 003307 call page_check_train 
+0x2113 003308 branch page_restart 
+:      003309 page_exit:
+0x2114 003310 bpatch patch02_6 ,mem_patch02 
+0x2115 003311 disable master 
+0x2116 003312 fetch 2 ,mem_page_interval 
+0x2117 003313 rtn blank 
+0x2118 003314 force page_interval_timer ,queue 
+0x2119 003315 branch timer_init 
+:      003317 page_check_train:
+0x211a 003318 bpatch patch02_7 ,mem_patch02 
+0x211b 003319 fetch 1 ,mem_nfreq_index_page 
+0x211c 003320 increase -1 ,pdata 
+0x211d 003321 store 1 ,mem_nfreq_index_page 
+0x211e 003322 rtn positive 
+0x211f 003323 jam 31 ,mem_nfreq_index_page 
+0x2120 003324 fetch 1 ,mem_npage_index 
+0x2121 003325 increase -1 ,pdata 
+0x2122 003326 store 1 ,mem_npage_index 
+0x2123 003327 rtn positive 
+0x2124 003328 setflip mark_page_trainb ,mark 
+0x2125 003329 fetch 1 ,mem_npage 
+0x2126 003330 store 1 ,mem_npage_index 
+0x2127 003331 rtn 
+:      003333 page_receive:
+0x2128 003334 bpatch patch03_0 ,mem_patch03 
+0x2129 003335 call rx_radio_freq 
+0x212a 003336 call start_rx_native 
+0x212b 003337 call start_receiver 
+0x212c 003338 call wait_access_clkn_rt 
+0x212d 003339 branch page_sync ,sync 
+0x212e 003340 call page_check_train 
+0x212f 003341 branch page_rx_restart 
+:      003342 page_sync:
+0x2130 003343 call end_of_packet 
+0x2131 003344 fetch 1 ,mem_page_rcv 
+0x2132 003345 increase 1 ,pdata 
+0x2133 003346 store 1 ,mem_page_rcv 
+0x2134 003347 force 0 ,stop_watch 
+0x2135 003348 fetch 4 ,mem_page_clk 
+:      003349 page_send_fhs:
+0x2136 003350 bpatch patch03_1 ,mem_patch03 
+0x2137 003351 call rf_setup_time_master_slot 
+0x2138 003352 call fetch_page_bt_adr 
+0x2139 003353 increase 1 ,n_tx_slot 
+:      003354 page_send_fhs_continue:
+0x213a 003355 and_into 0x1fd ,bt_clk 
+0x213b 003356 and_into 0x1fc ,freq_mode 
+0x213c 003357 call tx_radio_freq 
+0x213d 003358 call start_transmitter 
+0x213e 003359 call start_tx_native 
+0x213f 003360 call send_access_word 
+0x2140 003361 deposit clkn_bt 
+0x2141 003362 store 4 ,mem_clkn_bt 
+0x2142 003363 force 0 ,am_addr 
+0x2143 003364 force type_fhs ,type 
+0x2144 003365 call scan_mode_whiten 
+0x2145 003366 call transmit_packet_whitened 
+:      003367 page_wait_fhs_reply:
+0x2146 003368 bpatch patch03_2 ,mem_patch03 
+0x2147 003369 call rf_setup_time_slave_slot 
+0x2148 003370 or_into 0x02 ,bt_clk 
+0x2149 003371 and_into 0x1fc ,freq_mode 
+0x214a 003372 call rx_radio_freq 
+0x214b 003373 call start_rx_native 
+0x214c 003374 call start_receiver 
+0x214d 003375 call wait_access_clkn_rt 
+0x214e 003376 call end_of_packet ,sync 
+0x214f 003377 branch page_wait_fhs_reply_ok ,sync 
+0x2150 003378 fetch 1 ,mem_fhs_wait_counter 
+0x2151 003379 branch page_restart ,blank 
+0x2152 003380 increase -1 ,pdata 
+0x2153 003381 store 1 ,mem_fhs_wait_counter 
+0x2154 003382 branch page_send_fhs 
+:      003384 page_wait_fhs_reply_ok:
+0x2155 003385 bpatch patch03_3 ,mem_patch03 
+0x2156 003386 fetch 1 ,mem_page_rcv_fhs 
+0x2157 003387 increase 1 ,pdata 
+0x2158 003388 store 1 ,mem_page_rcv_fhs 
+0x2159 003389 call prepare_newconn 
+:      003390 master_newconn_loop:
+0x215a 003391 call master_newconn_once 
+0x215b 003392 branch newconn_poll_responded ,sync 
+0x215c 003393 call new_conn_timeout 
+0x215d 003394 nbranch master_newconn_loop ,blank 
+0x215e 003395 branch page_restart 
+:      003397 newconn_poll_responded:
+0x215f 003398 bpatch patch03_4 ,mem_patch03 
+0x2160 003399 fetch 1 ,mem_state 
+0x2161 003400 set0 state_inpage ,pdata 
+0x2162 003401 store 1 ,mem_state 
+0x2163 003402 call newconn_init 
+0x2164 003403 disable master 
+0x2165 003404 rtn 
+:      003407 master_dispatch:
+0x2166 003408 bpatch patch03_5 ,mem_patch03 
+0x2167 003409 enable master 
+0x2168 003410 enable clknt 
+0x2169 003411 call role_switch_master 
+0x216a 003412 rtn user 
+0x216b 003413 call check_bt_disabled 
+0x216c 003414 call rf_setup_time_master_slot 
+0x216d 003415 add clkn_bt ,1 ,bt_clk 
+0x216e 003416 call fetch_self_bt_adr 
+0x216f 003417 force 0x03 ,freq_mode 
+0x2170 003418 call scheduler_tx_l2cap_pkt 
+0x2171 003419 call prepare_tx 
+0x2172 003420 call tx_radio_freq 
+0x2173 003421 call start_transmitter 
+0x2174 003422 call start_tx_native 
+0x2175 003423 call send_access_word 
+0x2176 003424 call transmit_packet 
+:      003425 master_loop:
+0x2177 003426 bpatch patch03_6 ,mem_patch03 
+0x2178 003427 call parse_lmp 
+0x2179 003428 call master_conn_recv_packet 
+0x217a 003429 nbranch master_notmatch ,match 
+0x217b 003430 call supervision_flush 
+0x217c 003431 call parse_l2cap 
+0x217d 003432 fetch 1 ,mem_master_rcvcnt 
+0x217e 003433 increase 1 ,pdata 
+0x217f 003434 store 1 ,mem_master_rcvcnt 
+:      003435 master_notmatch:
+0x2180 003436 bpatch patch03_7 ,mem_patch03 
+0x2181 003437 call scheduler_process 
+0x2182 003438 call check_master_disconnect 
+0x2183 003439 nrtn master 
+0x2184 003440 call check_attempt 
+0x2185 003441 nbranch master_attempt ,blank 
+:      003442 master_exit:
+0x2186 003443 disable master 
+0x2187 003444 rtn 
+:      003446 master_attempt:
+0x2188 003447 call prepare_tx 
+0x2189 003448 call master_conn_send_packet 
+0x218a 003449 branch master_loop 
+:      003452 check_master_disconnect:
+0x218b 003453 branch check_master_match ,match 
+0x218c 003454 call supervision_update 
+0x218d 003455 branch master_disconnect ,positive 
+:      003456 check_master_match:
+0x218e 003457 call check_disconnect_timeout 
+0x218f 003458 nbranch master_disconnect ,user 
+0x2190 003459 fetch 1 ,mem_state_map 
+0x2191 003460 rtnbit0 smap_name_req 
+0x2192 003461 rtnbit1 smap_name_res 
+0x2193 003462 fetch 1 ,mem_op 
+0x2194 003463 rtnbit1 op_disconn 
+0x2195 003464 call conn_timer_expired 
+0x2196 003465 nrtn blank 
+0x2197 003466 fetch 1 ,mem_nameres_cnt 
+0x2198 003467 increase -1 ,pdata 
+0x2199 003468 store 1 ,mem_nameres_cnt 
+0x219a 003469 nrtn blank 
+0x219b 003470 branch lmp_disconnect 
+:      003472 master_disconnect:
+0x219c 003473 bpatch patch04_0 ,mem_patch04 
+0x219d 003474 call quit_connection 
+0x219e 003475 disable master 
+0x219f 003476 fetch 1 ,mem_state_map 
+0x21a0 003477 bbit1 smap_name_req ,master_name_disconnect 
+0x21a1 003478 rtn 
+:      003480 master_name_disconnect:
+0x21a2 003481 fetch 1 ,mem_state_map 
+0x21a3 003482 rtnbit1 smap_name_res 
+:      003483 master_name_error:
+0x21a4 003484 arg mem_tmp_buffer ,contw 
+0x21a5 003485 arg 8 ,loopcnt 
+0x21a6 003486 branch memset0 
+:      003488 check_disconnect_timeout:
+0x21a7 003489 bpatch patch04_1 ,mem_patch04 
+0x21a8 003490 enable user 
+0x21a9 003491 fetch 1 ,mem_op 
+0x21aa 003492 rtnbit0 op_disconn 
+0x21ab 003493 call conn_timer_expired 
+0x21ac 003494 nrtn blank 
+0x21ad 003495 branch disable_user 
+:      003497 conn_timer_expired:
+0x21ae 003498 fetch 1 ,mem_conn_timer 
+0x21af 003499 increase -1 ,pdata 
+0x21b0 003500 store 1 ,mem_conn_timer 
+0x21b1 003501 rtn 
+:      003503 linkkey_ready:
+0x21b2 003504 bpatch patch04_2 ,mem_patch04 
+0x21b3 003505 fetch 1 ,mem_state 
+0x21b4 003506 bbit1 state_linkkey ,linkkey_set 
+0x21b5 003507 fetch 1 ,mem_pairing_auth 
+0x21b6 003508 branch linkkey_set ,blank 
+0x21b7 003509 jam defalt_pairing_auth ,mem_pairing_auth 
+0x21b8 003510 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x21b9 003511 call ui_ipc_send_event 
+0x21ba 003512 branch linkkey_set 
+:      003513 linkkey_set:
+0x21bb 003514 bpatch patch04_3 ,mem_patch04 
+0x21bc 003515 call context_traverse_linkkey 
+0x21bd 003516 fetch 1 ,mem_state 
+0x21be 003517 set1 state_linkkey ,pdata 
+0x21bf 003518 store 1 ,mem_state 
+0x21c0 003519 jam 1 ,mem_link_key_exists 
+0x21c1 003520 fetch 1 ,mem_conn_sm 
+0x21c2 003521 bne conn_sm_pairing ,linkkey_set_continue 
+:      003522 linkkey_set_continue:
+0x21c3 003523 rtn 
+:      003525 generate_linkkey_continue:
+0x21c4 003526 jam pairing_auth ,mem_pairing_auth 
+:      003527 clear_linkstate:
+0x21c5 003528 fetch 1 ,mem_state 
+0x21c6 003529 set0 state_linkkey ,pdata 
+0x21c7 003530 store 1 ,mem_state 
+0x21c8 003531 rtn 
+:      003535 role_switch_check:
+0x21c9 003536 bpatch patch04_4 ,mem_patch04 
+0x21ca 003537 disable user 
+0x21cb 003538 fetch 2 ,mem_tsniff 
+0x21cc 003539 arg 0xffff ,temp 
+0x21cd 003540 isub temp ,null 
+0x21ce 003541 nrtn zero 
+0x21cf 003542 fetch 4 ,mem_sniff_anchor 
+0x21d0 003543 branch role_switch_clkn ,clknt 
+0x21d1 003544 isub clke_bt ,pdata 
+0x21d2 003545 branch role_switch_clke 
+:      003546 role_switch_clkn:
+0x21d3 003547 isub clkn_bt ,pdata 
+:      003548 role_switch_clke:
+0x21d4 003549 sub pdata ,4 ,null 
+0x21d5 003550 nrtn positive 
+0x21d6 003551 force 0 ,pdata 
+0x21d7 003552 store 2 ,mem_tsniff 
+0x21d8 003553 branch enable_user 
+:      003557 role_switch_prepare:
+0x21d9 003558 copy pdata ,temp 
+0x21da 003559 bpatch patch04_5 ,mem_patch04 
+0x21db 003560 storet 4 ,mem_sniff_anchor 
+:      003561 role_switch_prepare0:
+0x21dc 003562 jam switch_flag_accept ,mem_switch_flag 
+0x21dd 003563 setarg 0xffff 
+0x21de 003564 store 2 ,mem_tsniff 
+0x21df 003565 jam 1 ,mem_sniff_attempt 
+0x21e0 003566 rtn 
+:      003569 role_switch_master:
+0x21e1 003570 bpatch patch04_6 ,mem_patch04 
+0x21e2 003571 call role_switch_check 
+0x21e3 003572 nrtn user 
+0x21e4 003573 disable user 
+0x21e5 003574 jam param_newconnto ,mem_newconnto_counter 
+0x21e6 003575 set0 mark_fhs_already_good ,mark 
+:      003576 roles_waitfhs_loop:
+0x21e7 003577 call rf_setup_time_master_slot 
+0x21e8 003578 call master_recv_packet 
+0x21e9 003579 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x21ea 003580 call new_conn_timeout 
+0x21eb 003581 nbranch roles_waitfhs_loop ,blank 
+:      003582 role_switch_fail_master:
+0x21ec 003583 bpatch patch04_7 ,mem_patch04 
+0x21ed 003584 disable user 
+0x21ee 003585 deposit clkn_bt 
+0x21ef 003586 store 4 ,mem_next_btclk 
+0x21f0 003587 enable clknt 
+0x21f1 003588 enable master 
+0x21f2 003589 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x21f3 003590 branch ui_ipc_send_event 
+:      003592 roles_replyto_fhs:
+0x21f4 003593 bpatch patch05_0 ,mem_patch05 
+0x21f5 003594 call rf_setup_time_slave_slot 
+0x21f6 003595 arg type_id ,type 
+0x21f7 003596 call master_send_packet 
+0x21f8 003597 disable clknt 
+0x21f9 003598 disable master 
+0x21fa 003599 call apply_switch_clke 
+0x21fb 003600 call prepare_newconn 
+:      003601 roles_newconns_loop:
+0x21fc 003602 bpatch patch05_1 ,mem_patch05 
+0x21fd 003603 call slave_newconn_once 
+0x21fe 003604 branch roles_newconns_responded ,match 
+0x21ff 003605 call new_conn_timeout 
+0x2200 003606 nbranch roles_newconns_loop ,blank 
+0x2201 003607 branch role_switch_fail_master 
+:      003608 roles_newconns_responded:
+0x2202 003609 fetch 1 ,mem_mode 
+0x2203 003610 set0 mode_master ,pdata 
+0x2204 003611 store 1 ,mem_mode 
+0x2205 003612 call supervision_flush 
+0x2206 003613 call calc_clke_offset 
+0x2207 003614 enable user 
+0x2208 003615 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x2209 003616 branch ui_ipc_send_event 
+:      003621 context_load:
+0x220a 003622 bpatch patch05_2 ,mem_patch05 
+0x220b 003623 set1 mark_context ,mark 
+0x220c 003624 deposit rega 
+0x220d 003625 store 2 ,mem_context_ptr 
+0x220e 003626 force context_size ,loopcnt 
+0x220f 003627 arg mem_le_state ,contw 
+0x2210 003628 add rega ,coffset_mode ,contr 
+0x2211 003629 ifetch 1 ,contr 
+0x2212 003630 copy rega ,contr 
+0x2213 003631 bbit1 mode_le ,memcpy 
+0x2214 003632 arg mem_state ,contw 
+0x2215 003633 call memcpy 
+0x2216 003634 disable attempt 
+0x2217 003635 fetch 1 ,mem_amaddr 
+0x2218 003636 iforce am_addr 
+0x2219 003637 jam 1 ,mem_current_sniff_attempt 
+0x221a 003638 branch context_load_master ,master 
+0x221b 003639 jam 1 ,mem_current_sniff_attempt 
+:      003640 context_load_master:
+0x221c 003641 fetch 1 ,mem_state 
+0x221d 003642 rtnbit0 state_insniff 
+0x221e 003643 fetch 1 ,mem_sniff_attempt 
+0x221f 003644 store 1 ,mem_current_sniff_attempt 
+0x2220 003645 fetch 1 ,mem_sniff_timeout 
+0x2221 003646 store 1 ,mem_current_sniff_timeout 
+0x2222 003647 rtn 
+:      003649 context_save:
+0x2223 003650 bpatch patch05_3 ,mem_patch05 
+0x2224 003651 fetch 2 ,mem_context_ptr 
+0x2225 003652 iforce contw 
+0x2226 003653 force context_size ,loopcnt 
+0x2227 003654 arg mem_le_state ,contr 
+0x2228 003655 branch memcpy ,le 
+0x2229 003656 arg mem_state ,contr 
+0x222a 003657 branch memcpy 
+:      003661 context_get_next:
+0x222b 003662 arg context_num ,loopcnt 
+0x222c 003663 fetcht 1 ,mem_current_context 
+:      003664 context_get_next_loop:
+0x222d 003665 increase 1 ,temp 
+0x222e 003666 compare context_num ,temp ,0xff 
+0x222f 003667 nbranch context_get_next_cont ,true 
+0x2230 003668 arg 0 ,temp 
+:      003669 context_get_next_cont:
+0x2231 003670 storet 1 ,mem_current_context 
+0x2232 003671 mul32 temp ,context_size ,pdata 
+0x2233 003672 arg mem_context ,rega 
+0x2234 003673 iadd rega ,rega 
+0x2235 003674 ifetch 1 ,rega 
+0x2236 003675 bbit1 state_insniff ,context_get_next_sniff 
+0x2237 003676 rtnbit1 state_inconn 
+0x2238 003677 rtnbit1 state_inpage 
+:      003678 context_get_next_sniff:
+0x2239 003679 loop context_get_next_loop 
+0x223a 003680 rtn 
+:      003682 context_new:
+0x223b 003683 bpatch patch05_4 ,mem_patch05 
+0x223c 003684 arg context_search_empty ,regc 
+0x223d 003685 call context_search 
+0x223e 003686 nrtn zero 
+0x223f 003687 deposit rega 
+0x2240 003688 store 2 ,mem_context_ptr 
+0x2241 003689 force 0 ,null 
+0x2242 003690 rtn 
+:      003694 context_check_all_wack:
+0x2243 003695 call check_esco_amaddr 
+0x2244 003696 branch context_check_esco_wack ,true 
+0x2245 003697 fetch 2 ,mem_context_ptr 
+0x2246 003698 add pdata ,coffset_arq ,contw 
+0x2247 003699 fetch 1 ,mem_arq 
+0x2248 003700 istore 1 ,contw 
+0x2249 003701 arg context_check_a_wack ,regc 
+0x224a 003702 branch context_search 
+:      003704 context_check_esco_wack:
+0x224b 003705 fetch 1 ,mem_arq 
+0x224c 003706 isolate1 wack ,pdata 
+0x224d 003707 branch context_esco_wack ,true 
+0x224e 003708 force 1 ,null 
+0x224f 003709 rtn 
+:      003710 context_esco_wack:
+0x2250 003711 force 0 ,null 
+0x2251 003712 rtn 
+:      003715 context_check_idle:
+0x2252 003716 arg context_check_inconn ,regc 
+0x2253 003717 branch context_search 
+:      003719 context_traverse_linkkey:
+0x2254 003720 fetcht 2 ,mem_context_ptr 
+0x2255 003721 arg context_traverse_clearkey ,regc 
+0x2256 003722 branch context_search 
+:      003726 context_search_conn_handle:
+0x2257 003727 fetcht 1 ,mem_hci_conn_handle 
+:      003728 context_search_conn_handle2:
+0x2258 003729 arg context_search_handle ,regc 
+0x2259 003730 branch context_search 
+:      003732 context_search_plap:
+0x225a 003733 bpatch patch05_5 ,mem_patch05 
+0x225b 003734 fetcht 6 ,mem_hci_plap 
+:      003735 context_search_plap2:
+0x225c 003736 arg context_search_lap ,regc 
+0x225d 003737 branch context_search 
+:      003739 context_search_insniff:
+0x225e 003740 arg context_search_sniff ,regc 
+0x225f 003741 branch context_search 
+:      003743 context_search_sniff_window:
+0x2260 003744 arg context_search_window ,regc 
+:      003745 context_search:
+0x2261 003746 bpatch patch05_6 ,mem_patch05 
+0x2262 003747 arg mem_context ,rega 
+0x2263 003748 arg context_num ,loopcnt 
+:      003749 context_search_loop:
+0x2264 003750 ifetch 1 ,rega 
+0x2265 003751 copy regc ,pc 
+:      003752 context_search_next:
+0x2266 003753 increase context_size ,rega 
+0x2267 003754 loop context_search_loop 
+0x2268 003755 force 1 ,null 
+0x2269 003756 rtn 
+:      003758 context_search_empty:
+0x226a 003759 bbit1 state_inconn ,context_search_next 
+0x226b 003760 bbit1 state_inpage ,context_search_next 
+0x226c 003761 force 0 ,null 
+0x226d 003762 rtn 
+:      003764 context_search_lap:
+0x226e 003765 bbit1 state_inpage ,context_search_lap_cont 
+0x226f 003766 bbit0 state_inconn ,context_search_next 
+:      003767 context_search_lap_cont:
+0x2270 003768 add rega ,coffset_plap ,contr 
+0x2271 003769 ifetch 6 ,contr 
+0x2272 003770 isub temp ,null 
+0x2273 003771 rtn zero 
+0x2274 003772 branch context_search_next 
+:      003774 context_search_handle:
+0x2275 003775 bbit0 state_inconn ,context_search_next 
+0x2276 003776 add rega ,coffset_conn_handle ,contr 
+0x2277 003777 ifetch 1 ,contr 
+0x2278 003778 isub temp ,null 
+0x2279 003779 rtn zero 
+0x227a 003780 branch context_search_next 
+:      003782 context_search_sniff:
+0x227b 003783 bbit0 state_insniff ,context_search_next 
+:      003784 context_search_sniff_loop:
+0x227c 003785 call context_get_anchor 
+0x227d 003786 call sign_pdata_temp 
+0x227e 003787 isub temp ,pdata 
+0x227f 003788 increase 1 ,pdata 
+0x2280 003789 branch context_search_sniff_miss ,positive 
+0x2281 003790 copy contr ,regb 
+0x2282 003791 store 9 ,mem_temp 
+0x2283 003792 fetch 1 ,mem_le_sc_calc 
+0x2284 003793 nbranch context_search_sniff_sc ,blank 
+0x2285 003794 fetch 9 ,mem_temp 
+0x2286 003795 copy regb ,contr 
+0x2287 003796 increase 5 ,pdata 
+0x2288 003797 branch context_search_meet1 
+:      003798 context_search_sniff_sc:
+0x2289 003799 fetch 9 ,mem_temp 
+0x228a 003800 copy regb ,contr 
+0x228b 003801 increase 20 ,pdata 
+:      003802 context_search_meet1:
+0x228c 003803 nbranch context_search_next ,positive 
+:      003804 context_search_meet:
+0x228d 003805 copy temp ,bt_clk 
+0x228e 003806 call context_next_anchor 
+0x228f 003807 force 0 ,null 
+0x2290 003808 rtn 
+:      003811 context_search_sniff_miss:
+0x2291 003812 iforce regb 
+0x2292 003813 add rega ,coffset_tsniff ,contr 
+0x2293 003814 ifetch 2 ,contr 
+0x2294 003815 branch context_search_meet ,blank 
+0x2295 003816 call context_next_anchor 
+0x2296 003817 branch context_search_sniff_loop 
+:      003819 sign_pdata_temp:
+0x2297 003820 rshift16 pdata ,timeup 
+0x2298 003821 rshift8 timeup ,timeup 
+0x2299 003822 branch sign_pdata_temp_p0 ,zero 
+0x229a 003823 compare 0xf ,timeup ,0xf 
+0x229b 003824 nrtn true 
+0x229c 003825 rshift16 temp ,timeup 
+0x229d 003826 rshift8 timeup ,timeup 
+0x229e 003827 nrtn zero 
+0x229f 003828 set1 28 ,temp 
+0x22a0 003829 rtn 
+:      003830 sign_pdata_temp_p0:
+0x22a1 003831 rshift16 temp ,timeup 
+0x22a2 003832 rshift8 timeup ,timeup 
+0x22a3 003833 compare 0xf ,timeup ,0xf 
+0x22a4 003834 nrtn true 
+0x22a5 003835 set1 28 ,pdata 
+0x22a6 003836 rtn 
+:      003838 context_check_inconn:
+0x22a7 003839 bbit0 state_inconn ,context_search_next 
+0x22a8 003840 force 0 ,null 
+0x22a9 003841 rtn 
+:      003843 context_check_a_wack:
+0x22aa 003844 bbit0 state_inconn ,context_search_next 
+0x22ab 003845 add rega ,coffset_mode ,contr 
+0x22ac 003846 ifetch 1 ,contr 
+0x22ad 003847 bbit1 mode_le ,context_search_next 
+0x22ae 003848 add rega ,coffset_arq ,contr 
+0x22af 003849 ifetch 1 ,contr 
+0x22b0 003850 bbit0 wack ,context_search_next 
+0x22b1 003851 force 0 ,null 
+0x22b2 003852 rtn 
+:      003854 context_get_anchor:
+0x22b3 003855 add rega ,coffset_mode ,contr 
+0x22b4 003856 ifetcht 1 ,contr 
+0x22b5 003857 deposit clkn_bt 
+0x22b6 003858 isolate1 mode_master ,temp 
+0x22b7 003859 add rega ,coffset_sniff_anchor ,contr 
+0x22b8 003860 ifetcht 4 ,contr 
+0x22b9 003861 rtn true 
+0x22ba 003862 add rega ,coffset_clk_offset ,contr 
+0x22bb 003863 ifetch 6 ,contr 
+0x22bc 003864 call calc_clke2 
+0x22bd 003865 deposit clke_bt 
+0x22be 003866 rtn 
+:      003868 context_next_anchor:
+0x22bf 003869 add rega ,coffset_tsniff ,contr 
+0x22c0 003870 add rega ,coffset_sniff_anchor ,contw 
+0x22c1 003871 ifetch 2 ,contr 
+0x22c2 003872 iadd temp ,timeup 
+0x22c3 003873 deposit timeup 
+0x22c4 003874 istore 4 ,contw 
+0x22c5 003875 branch le_context_nexthop 
+:      003878 context_search_window:
+0x22c6 003879 bbit0 state_insniff ,context_search_next 
+0x22c7 003880 call context_get_anchor 
+0x22c8 003881 iadd stop_watch ,pdata 
+0x22c9 003882 iadd stop_watch ,pdata 
+0x22ca 003883 iadd queue ,pdata 
+0x22cb 003884 isub temp ,null 
+0x22cc 003885 nbranch context_search_next ,positive 
+0x22cd 003886 force 0 ,null 
+0x22ce 003887 rtn 
+:      003889 context_traverse_clearkey:
+0x22cf 003890 bbit0 state_inconn ,context_search_next 
+0x22d0 003891 deposit temp 
+0x22d1 003892 isub rega ,null 
+0x22d2 003893 branch context_search_next ,null 
+0x22d3 003894 add rega ,coffset_mode ,contr 
+0x22d4 003895 ifetch 1 ,contr 
+0x22d5 003896 bbit1 mode_le ,context_search_next 
+0x22d6 003897 ifetch 1 ,rega 
+0x22d7 003898 set0 state_linkkey ,pdata 
+0x22d8 003899 istore 1 ,rega 
+0x22d9 003900 branch context_search_next 
+:      003903 master_conn_send_packet:
+0x22da 003904 bpatch patch05_7 ,mem_patch05 
+0x22db 003905 call rf_setup_time_master_slot 
+:      003906 master_send_packet:
+0x22dc 003907 add clkn_bt ,1 ,bt_clk 
+0x22dd 003908 call fetch_self_bt_adr 
+0x22de 003909 force 0x03 ,freq_mode 
+0x22df 003910 call tx_radio_freq 
+0x22e0 003911 call start_transmitter 
+0x22e1 003912 call start_tx_native 
+0x22e2 003913 call send_access_word 
+0x22e3 003914 branch transmit_packet 
+:      003916 master_conn_recv_packet:
+0x22e4 003917 bpatch patch06_0 ,mem_patch06 
+0x22e5 003918 call rf_setup_time_slave_slot 
+:      003919 master_recv_packet:
+0x22e6 003920 add clkn_bt ,1 ,bt_clk 
+0x22e7 003921 call fetch_self_bt_adr 
+0x22e8 003922 force 0x03 ,freq_mode 
+0x22e9 003923 call rx_radio_freq 
+0x22ea 003924 call init_rx_packet_flags 
+0x22eb 003925 call prep_crypt 
+0x22ec 003926 call start_rx_native 
+0x22ed 003927 call start_receiver 
+:      003928 master_rx_conn_finish_packet:
+0x22ee 003929 call wait_access_clkn_rt 
+0x22ef 003930 nrtn sync 
+0x22f0 003931 call save_rssi 
+0x22f1 003932 branch receive_packet 
+:      003936 master_newconn_once:
+0x22f2 003937 bpatch patch06_1 ,mem_patch06 
+0x22f3 003938 fetch 1 ,mem_fhs_am_addr 
+0x22f4 003939 iforce am_addr 
+0x22f5 003940 force type_poll ,type 
+0x22f6 003941 call master_conn_send_packet 
+0x22f7 003942 branch master_conn_recv_packet 
+:      003953 inquiry_scan_dispatch:
+0x22f8 003954 fetch 1 ,mem_scan_mode 
+0x22f9 003955 rtnbit0 inq_scan_mode 
+0x22fa 003956 force iscan_interval_timer ,queue 
+0x22fb 003957 call timer_check 
+0x22fc 003958 nrtn blank 
+0x22fd 003959 fetcht 2 ,mem_iscan_window 
+0x22fe 003960 force 4 ,queue 
+0x22ff 003961 call sniff_check_window 
+0x2300 003962 rtn user 
+0x2301 003963 call inquiry_scan_start 
+0x2302 003964 force iscan_interval_timer ,queue 
+0x2303 003965 fetch 2 ,mem_iscan_interval 
+0x2304 003966 nbranch timer_init ,sync 
+0x2305 003967 random pdata 
+0x2306 003968 iand mask3ff ,pdata 
+0x2307 003969 branch timer_init 
+:      003972 inquiry_scan_start:
+0x2308 003973 bpatch patch06_2 ,mem_patch06 
+0x2309 003974 jam 0 ,mem_fhs_am_addr 
+0x230a 003975 disable clknt 
+0x230b 003976 disable attempt 
+0x230c 003977 call afh_clear 
+0x230d 003978 and clkn_bt ,0x1fc ,bt_clk 
+0x230e 003979 force 0x01 ,freq_mode 
+0x230f 003980 call fetch_giac 
+0x2310 003981 call rx_radio_freq 
+0x2311 003982 setflip mark_inquiry_state ,mark 
+0x2312 003983 fetch 1 ,mem_inquiryscan_waitcnt 
+0x2313 003984 increase 1 ,pdata 
+0x2314 003985 store 1 ,mem_inquiryscan_waitcnt 
+0x2315 003986 call fetch_diac 
+0x2316 003987 call start_receiver 
+0x2317 003988 call wait_access_forever 
+0x2318 003989 nrtn sync 
+0x2319 003990 bpatch patch06_3 ,mem_patch06 
+0x231a 003991 force 0 ,stop_watch 
+0x231b 003992 call shutdown_radio 
+0x231c 003993 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x231d 003994 increase 1 ,pdata 
+0x231e 003995 store 1 ,mem_inquiryscan_rcvcnt 
+0x231f 003996 call fetch_giac 
+0x2320 003997 call rf_setup_time_slave_slot 
+0x2321 003998 or_into 0x002 ,bt_clk 
+0x2322 003999 force 0x01 ,freq_mode 
+0x2323 004000 call tx_radio_freq 
+0x2324 004001 call fetch_diac 
+0x2325 004002 call start_transmitter 
+0x2326 004003 call start_tx_external 
+0x2327 004004 deposit clkn_bt 
+0x2328 004005 store 4 ,mem_clkn_bt 
+0x2329 004006 call send_access_word 
+0x232a 004007 force type_fhs ,type 
+0x232b 004008 force 0 ,am_addr 
+0x232c 004009 call scan_mode_whiten 
+0x232d 004010 call transmit_packet_whitened 
+0x232e 004011 call send_eir 
+0x232f 004012 and_into 0x1fd ,bt_clk 
+0x2330 004013 increase 1 ,n_tx_slot 
+0x2331 004014 rtn 
+:      004016 send_eir:
+0x2332 004017 bpatch patch06_4 ,mem_patch06 
+0x2333 004018 fetch 1 ,mem_eir_enable 
+0x2334 004019 rtn blank 
+0x2335 004020 arg mem_eir ,contw 
+0x2336 004021 fetch 1 ,mem_local_name_length 
+0x2337 004022 copy pdata ,loopcnt 
+0x2338 004023 increase 1 ,pdata 
+0x2339 004024 istore 1 ,contw 
+0x233a 004025 copy contw ,temp 
+0x233b 004026 increase 1 ,pdata 
+0x233c 004027 store 2 ,mem_tx_len 
+0x233d 004028 copy temp ,contw 
+0x233e 004029 setarg 0x09 
+0x233f 004030 istore 1 ,contw 
+0x2340 004031 arg mem_local_name ,contr 
+0x2341 004032 call memcpy 
+0x2342 004034 arg mem_all_uuid_128bits ,regc 
+0x2343 004035 arg 4 ,loopcnt 
+0x2344 004036 call get_all_uuid 
+0x2345 004037 arg mem_all_uuid_16bits ,regc 
+0x2346 004038 arg 1 ,loopcnt 
+0x2347 004039 call get_all_uuid 
+0x2348 004041 force type_dm3 ,type 
+0x2349 004042 jam 2 ,mem_tx_lch 
+0x234a 004043 setarg mem_eir 
+0x234b 004044 store 2 ,mem_txptr 
+0x234c 004045 call rf_setup_time_slave_slot 
+0x234d 004046 call tx_radio_freq 
+0x234e 004047 call start_transmitter 
+0x234f 004048 call start_tx_external 
+0x2350 004049 call send_access_word 
+0x2351 004050 call scan_mode_whiten 
+0x2352 004051 call transmit_packet_whitened 
+0x2353 004052 rtn 
+:      004055 get_all_uuid:
+0x2354 004056 copy contw ,temp 
+0x2355 004057 copy regc ,contr 
+0x2356 004058 ifetch 1 ,contr 
+0x2357 004059 rtn blank 
+:      004060 lshift_loop:
+0x2358 004061 lshift pdata ,pdata 
+0x2359 004062 loop lshift_loop 
+0x235a 004063 copy pdata ,rega 
+0x235b 004064 increase 2 ,pdata 
+0x235c 004065 copy pdata ,queue 
+0x235d 004066 fetch 2 ,mem_tx_len 
+0x235e 004067 iadd queue ,pdata 
+0x235f 004068 store 2 ,mem_tx_len 
+0x2360 004069 copy temp ,contw 
+0x2361 004070 copy rega ,pdata 
+0x2362 004071 increase 1 ,pdata 
+0x2363 004072 istore 1 ,contw 
+0x2364 004073 copy regc ,contr 
+0x2365 004074 ifetch 1 ,contr 
+0x2366 004075 ifetch 1 ,contr 
+0x2367 004076 istore 1 ,contw 
+0x2368 004077 copy rega ,loopcnt 
+0x2369 004078 branch memcpy 
+:      004084 page_scan_dispatch:
+0x236a 004085 fetch 1 ,mem_scan_mode 
+0x236b 004086 rtnbit0 page_scan_mode 
+0x236c 004087 force pscan_interval_timer ,queue 
+0x236d 004088 call timer_check 
+0x236e 004089 nrtn blank 
+0x236f 004090 fetcht 2 ,mem_pscan_window 
+0x2370 004091 force 40 ,queue 
+0x2371 004092 call sniff_check_window 
+0x2372 004093 rtn user 
+0x2373 004094 force 0 ,am_addr 
+0x2374 004095 jam param_pagerespto ,mem_fhs_wait_counter 
+0x2375 004096 set0 mark_fhs_already_good ,mark 
+0x2376 004097 call page_scan_start 
+0x2377 004098 force pscan_interval_timer ,queue 
+0x2378 004099 fetch 2 ,mem_pscan_interval 
+0x2379 004100 branch timer_init 
+:      004103 page_scan_start:
+0x237a 004104 bpatch patch06_5 ,mem_patch06 
+0x237b 004105 disable clknt 
+0x237c 004106 call afh_clear 
+0x237d 004107 fetch 1 ,mem_pagescan_waitcnt 
+0x237e 004108 increase 1 ,pdata 
+0x237f 004109 store 1 ,mem_pagescan_waitcnt 
+0x2380 004110 force 0 ,n_tx_slot 
+0x2381 004111 call fetch_self_bt_adr 
+0x2382 004112 add clkn_bt ,1 ,bt_clk 
+0x2383 004113 force 0x02 ,freq_mode 
+0x2384 004114 bpatch patch06_6 ,mem_patch06 
+0x2385 004115 call rx_radio_freq 
+0x2386 004116 call start_receiver 
+0x2387 004117 call wait_access_forever 
+0x2388 004118 nrtn sync 
+0x2389 004119 call shutdown_radio 
+0x238a 004120 fetch 1 ,mem_pagescan_rcvcnt 
+0x238b 004121 increase 1 ,pdata 
+0x238c 004122 store 1 ,mem_pagescan_rcvcnt 
+0x238d 004123 force 0 ,stop_watch 
+0x238e 004124 call rf_setup_time_slave_slot 
+0x238f 004125 or_into 0x002 ,bt_clk 
+0x2390 004126 force 0x01 ,freq_mode 
+0x2391 004127 call tx_radio_freq 
+0x2392 004128 call start_transmitter 
+0x2393 004129 call start_tx_external 
+0x2394 004130 call send_access_word 
+0x2395 004131 call end_of_packet 
+0x2396 004132 force 0 ,am_addr 
+0x2397 004133 arg param_rf_setup ,timeup 
+0x2398 004134 until clke_rt ,meet 
+0x2399 004135 or_into 0x03 ,clke_bt 
+0x239a 004136 and_into 0x1fd ,bt_clk 
+:      004137 page_scan_wait_fhs_restart:
+0x239b 004138 bpatch patch06_7 ,mem_patch06 
+0x239c 004139 increase 1 ,n_tx_slot 
+0x239d 004140 call rx_radio_freq 
+0x239e 004141 call start_receiver 
+0x239f 004142 call wait_access_mhalfbnd 
+0x23a0 004143 nbranch page_scan_wait_fhs_again ,sync 
+0x23a1 004144 call scan_mode_whiten 
+0x23a2 004145 call receive_packet_whitened 
+0x23a3 004146 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      004147 page_scan_wait_fhs_again:
+0x23a4 004148 bpatch patch07_0 ,mem_patch07 
+0x23a5 004149 fetch 1 ,mem_fhs_wait_counter 
+0x23a6 004150 rtn blank 
+0x23a7 004151 increase -1 ,pdata 
+0x23a8 004152 store 1 ,mem_fhs_wait_counter 
+0x23a9 004153 call rf_setup_time_master_slot 
+0x23aa 004154 branch page_scan_wait_fhs_restart 
+:      004157 page_scan_reply_to_fhs:
+0x23ab 004158 bpatch patch07_1 ,mem_patch07 
+0x23ac 004159 set0 1 ,clke_bt 
+0x23ad 004160 set1 0 ,clke_bt 
+0x23ae 004161 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x23af 004162 increase 1 ,pdata 
+0x23b0 004163 store 1 ,mem_pagescan_rcvfhscnt 
+0x23b1 004164 call rf_setup_time_slave_slot 
+0x23b2 004165 or_into 0x02 ,bt_clk 
+0x23b3 004166 call tx_radio_freq 
+0x23b4 004167 call start_transmitter 
+0x23b5 004168 call start_tx_external 
+0x23b6 004169 call send_access_word 
+0x23b7 004170 call end_of_packet 
+:      004171 slave_apply_clke_bt:
+0x23b8 004172 compare 0x03 ,clke_bt ,0x03 
+0x23b9 004173 branch slave_apply_clke_bt_now ,true 
+0x23ba 004174 until null ,mhalfbnd 
+0x23bb 004175 branch slave_apply_clke_bt 
+:      004176 slave_apply_clke_bt_now:
+0x23bc 004177 fetch 4 ,mem_clke_bt 
+0x23bd 004178 or_into 0x03 ,pdata 
+0x23be 004179 icopy clke_bt 
+:      004181 start_slave_connection:
+0x23bf 004182 bpatch patch07_2 ,mem_patch07 
+0x23c0 004183 fetch 6 ,extm_lap 
+0x23c1 004184 store 6 ,mem_plap 
+0x23c2 004185 call prepare_newconn 
+:      004186 slave_newconn_loop:
+0x23c3 004187 call slave_newconn_once 
+0x23c4 004188 branch sconn_successful ,match 
+0x23c5 004189 call new_conn_timeout 
+0x23c6 004190 nbranch slave_newconn_loop ,blank 
+0x23c7 004191 rtn 
+:      004194 sconn_successful:
+0x23c8 004195 bpatch patch07_3 ,mem_patch07 
+0x23c9 004196 call newconn_init 
+0x23ca 004197 call context_new 
+0x23cb 004198 nrtn zero 
+0x23cc 004199 jam 0 ,mem_mode 
+0x23cd 004200 call calc_clke_offset 
+0x23ce 004201 branch context_save 
+:      004206 slave_dispatch:
+0x23cf 004207 bpatch patch07_4 ,mem_patch07 
+0x23d0 004208 call calc_clke 
+0x23d1 004209 call role_switch_slave 
+0x23d2 004210 rtn user 
+:      004211 slave_loop:
+0x23d3 004212 bpatch patch07_5 ,mem_patch07 
+0x23d4 004213 call check_bt_disabled 
+0x23d5 004214 call scheduler_process 
+0x23d6 004215 call slave_conn_recv_packet 
+0x23d7 004216 nbranch slave_notmatch ,match 
+0x23d8 004217 call supervision_flush 
+0x23d9 004218 call scheduler_tx_l2cap_pkt 
+0x23da 004219 call prepare_tx 
+0x23db 004220 call slave_conn_send_packet 
+0x23dc 004221 call parse_l2cap 
+0x23dd 004222 call parse_lmp 
+0x23de 004223 fetch 1 ,mem_slave_rcvcnt 
+0x23df 004224 increase 1 ,pdata 
+0x23e0 004225 store 1 ,mem_slave_rcvcnt 
+0x23e1 004226 call calc_clke_offset 
+:      004227 slave_notmatch:
+0x23e2 004228 bpatch patch07_6 ,mem_patch07 
+0x23e3 004229 call lpm_set_mult 
+0x23e4 004230 call supervision_update 
+0x23e5 004231 branch slave_disconnect ,positive 
+0x23e6 004232 call check_disconnect_timeout 
+0x23e7 004233 nbranch slave_disconnect ,user 
+0x23e8 004234 call check_attempt 
+0x23e9 004235 nbranch slave_loop ,blank 
+0x23ea 004236 rtn 
+:      004238 slave_disconnect:
+0x23eb 004239 bpatch patch07_7 ,mem_patch07 
+0x23ec 004240 jam 0 ,mem_tester_emulate 
+0x23ed 004241 jam 0 ,mem_debug_config 
+0x23ee 004242 call quit_connection 
+0x23ef 004243 set0 mark_testmode ,mark 
+0x23f0 004244 call test_enable_white 
+0x23f1 004245 fetch 1 ,mem_state 
+0x23f2 004246 rtn 
+:      004249 role_switch_slave:
+0x23f3 004250 bpatch patch08_0 ,mem_patch08 
+0x23f4 004251 call role_switch_check 
+0x23f5 004252 nrtn user 
+0x23f6 004253 copy am_addr ,temp 
+0x23f7 004254 call get_free_amaddr 
+0x23f8 004255 store 1 ,mem_fhs_am_addr 
+0x23f9 004256 copy temp ,am_addr 
+0x23fa 004257 jam param_newconnto ,mem_newconnto_counter 
+:      004258 roles_sendfhs_loop:
+0x23fb 004259 bpatch patch08_1 ,mem_patch08 
+0x23fc 004260 call rf_setup_time_master_slot 
+0x23fd 004261 force type_fhs ,type 
+0x23fe 004262 call slave_send_access 
+0x23ff 004263 deposit clkn_bt 
+0x2400 004264 store 4 ,mem_clkn_bt 
+0x2401 004265 call transmit_packet 
+0x2402 004266 call rf_setup_time_slave_slot 
+0x2403 004267 enable user3 
+0x2404 004268 call slave_receive_access 
+0x2405 004269 branch roles_got_fhs_reply ,sync 
+0x2406 004270 call shutdown_radio 
+0x2407 004271 call new_conn_timeout 
+0x2408 004272 nbranch roles_sendfhs_loop ,blank 
+0x2409 004273 rtnmark0 mark_accept_switch 
+0x240a 004274 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x240b 004275 set1 mark_switch_initiated ,mark 
+0x240c 004276 rtn 
+:      004277 roles_got_fhs_reply:
+0x240d 004278 enable clknt 
+0x240e 004279 call prepare_newconn 
+0x240f 004280 call afh_clear 
+:      004281 roles_newconn_loop:
+0x2410 004282 bpatch patch08_2 ,mem_patch08 
+0x2411 004283 call master_newconn_once 
+0x2412 004284 branch roles_newconn_responded ,sync 
+0x2413 004285 call new_conn_timeout 
+0x2414 004286 nbranch roles_newconn_loop ,blank 
+0x2415 004287 disable clknt 
+0x2416 004288 deposit clke_bt 
+0x2417 004289 store 4 ,mem_next_btclk 
+0x2418 004290 rtn 
+:      004291 roles_newconn_responded:
+0x2419 004292 enable master 
+0x241a 004293 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x241b 004294 set0 mark_accept_switch ,mark 
+0x241c 004295 jam lmp_accepted ,mem_lmo_opcode2 
+0x241d 004296 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x241e 004297 call tid_set_reply 
+:      004298 roles_newconn_nolmp:
+0x241f 004299 deposit am_addr 
+0x2420 004300 store 1 ,mem_amaddr 
+0x2421 004301 force 0 ,pdata 
+0x2422 004302 store 6 ,mem_clk_offset 
+0x2423 004303 fetch 1 ,mem_mode 
+0x2424 004304 set1 mode_master ,pdata 
+0x2425 004305 store 1 ,mem_mode 
+0x2426 004306 call supervision_flush 
+0x2427 004307 disable master 
+0x2428 004308 enable user 
+0x2429 004309 rtn 
+:      004313 init_rx_packet_flags:
+0x242a 004314 bpatch patch08_3 ,mem_patch08 
+0x242b 004315 disable match 
+0x242c 004316 set0 mark_loopback ,mark 
+0x242d 004317 set0 mark_am_addr_broadcast ,mark 
+0x242e 004318 set0 mark_longpacket ,mark 
+0x242f 004319 set0 mark_old_packet ,mark 
+0x2430 004320 fetch 1 ,mem_arq 
+0x2431 004321 set0 arqnx ,pdata 
+0x2432 004322 set1 flowx ,pdata 
+0x2433 004323 store 1 ,mem_arq 
+0x2434 004324 rtn 
+:      004326 prepare_newconn:
+0x2435 004327 bpatch patch08_4 ,mem_patch08 
+0x2436 004328 jam param_newconnto ,mem_newconnto_counter 
+0x2437 004329 jam param_newconn_arq ,mem_arq 
+0x2438 004330 fetch 2 ,mem_rx_window_init 
+0x2439 004331 store 2 ,mem_rx_window 
+0x243a 004332 deposit clkn_bt 
+0x243b 004333 store 4 ,mem_next_btclk 
+0x243c 004334 rtn clknt 
+0x243d 004335 deposit clke_bt 
+0x243e 004336 store 4 ,mem_next_btclk 
+0x243f 004337 rtn 
+:      004339 newconn_init:
+0x2440 004340 bpatch patch08_5 ,mem_patch08 
+0x2441 004341 call init_lmp_reinit 
+0x2442 004342 call new_conn_handle 
+0x2443 004343 store 1 ,mem_conn_handle 
+0x2444 004344 setarg 0 
+0x2445 004345 store 2 ,mem_l2cap_rxbuff1_len 
+0x2446 004346 setarg param_supervision_to 
+0x2447 004347 store 2 ,mem_supervision_to 
+0x2448 004348 fetch 1 ,mem_state 
+0x2449 004349 set1 state_inconn ,pdata 
+0x244a 004350 store 1 ,mem_state 
+0x244b 004351 jam 0 ,mem_op 
+0x244c 004352 jam 0 ,mem_state_map 
+0x244d 004353 jam 0 ,mem_lpm_current_mult 
+0x244e 004354 branch supervision_flush 
+:      004357 clear_linkkey:
+0x244f 004358 bpatch patch08_6 ,mem_patch08 
+0x2450 004359 force 0 ,pdata 
+0x2451 004360 store 8 ,mem_link_key 
+0x2452 004361 istore 8 ,contw 
+0x2453 004362 call clear_linkstate 
+0x2454 004363 branch context_traverse_linkkey 
+:      004365 new_conn_timeout:
+0x2455 004366 fetch 1 ,mem_newconnto_counter 
+0x2456 004367 increase -1 ,pdata 
+0x2457 004368 store 1 ,mem_newconnto_counter 
+0x2458 004369 rtn 
+:      004371 new_conn_handle:
+0x2459 004372 fetch 1 ,mem_handle_num 
+0x245a 004373 increase 1 ,pdata 
+0x245b 004374 store 1 ,mem_handle_num 
+0x245c 004375 rtn 
+:      004378 quit_connection:
+0x245d 004379 bpatch patch08_7 ,mem_patch08 
+0x245e 004380 fetch 1 ,mem_hci_cmd 
+0x245f 004381 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x2460 004382 fetch 1 ,mem_lmp_to_send 
+0x2461 004383 bne lmp_name_req ,quit_connection_cont 
+:      004384 quit_connection_name:
+0x2462 004385 call cmd_check_plap 
+0x2463 004386 nbranch quit_connection_cont ,zero 
+0x2464 004387 call master_name_error 
+0x2465 004388 jam 0 ,mem_hci_cmd 
+:      004389 quit_connection_cont:
+0x2466 004390 bpatch patch09_0 ,mem_patch09 
+0x2467 004391 call app_disconn_reason_collect_bt 
+0x2468 004392 call sniff_exit 
+0x2469 004393 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x246a 004394 call ui_ipc_send_event 
+0x246b 004395 call init_lmp_work 
+0x246c 004396 call l2cap_init_work 
+0x246d 004397 call sp_initialize 
+0x246e 004398 fetch 1 ,mem_state 
+0x246f 004399 set0 state_inconn 
+0x2470 004400 store 1 ,mem_state 
+0x2471 004401 jam 0 ,memui_reconnect_mode 
+0x2472 004403 fetch 1 ,mem_state_map 
+0x2473 004404 compare 0x0 ,pdata ,0xc0 
+0x2474 004405 branch quit_connection_not_clear_mark ,true 
+0x2475 004406 set0 mark_rxbuf_inuse ,mark 
+:      004407 quit_connection_not_clear_mark:
+0x2476 004408 fetch 1 ,mem_arq 
+0x2477 004409 bbit0 wack ,quit_connection_not_clear_tx 
+:      004410 quit_connection_not_clear_tx:
+0x2478 004411 fetch 1 ,mem_op 
+0x2479 004412 rtnbit0 op_txl2cap 
+0x247a 004413 set0 mark_tx_l2cap ,mark 
+0x247b 004414 rtn 
+:      004416 slave_newconn_once:
+0x247c 004417 bpatch patch09_1 ,mem_patch09 
+0x247d 004418 fetch 1 ,extm_newconn_am_addr 
+0x247e 004419 rtn blank 
+0x247f 004420 icopy am_addr 
+0x2480 004421 call slave_conn_recv_packet 
+0x2481 004422 nrtn match 
+0x2482 004423 force type_null ,type 
+0x2483 004424 call slave_conn_send_packet 
+0x2484 004425 deposit am_addr 
+0x2485 004426 store 1 ,mem_amaddr 
+0x2486 004427 force 0 ,pdata 
+0x2487 004428 store 1 ,extm_newconn_am_addr 
+0x2488 004429 rtn 
+:      004435 prepare_tx:
+0x2489 004436 bpatch patch09_2 ,mem_patch09 
+0x248a 004437 fetch 1 ,mem_state 
+0x248b 004438 bbit0 state_insco ,prepare_tx_not_sco 
+0x248c 004439 force type_hv3 ,type 
+0x248d 004440 bmark0 mark_esco ,prepare_tx_not_esco 
+0x248e 004441 call check_esco_amaddr 
+0x248f 004442 nbranch prepare_tx_not_sco ,true 
+0x2490 004443 branch prepare_tx_not_sco ,attempt 
+0x2491 004444 call set_wait_ack 
+0x2492 004445 setarg 2 
+0x2493 004446 store 2 ,mem_retransmission_cnt 
+0x2494 004447 rtn 
+:      004448 prepare_tx_not_esco:
+0x2495 004449 nrtn attempt 
+:      004450 prepare_tx_not_sco:
+0x2496 004451 bpatch patch09_3 ,mem_patch09 
+0x2497 004452 call context_check_all_wack 
+0x2498 004453 nbranch prepare_tx_no_retransmit ,zero 
+0x2499 004454 fetch 1 ,mem_arq 
+0x249a 004455 bbit0 wack ,prepare_tx_pollnull 
+:      004456 prepare_tx_retransmit:
+0x249b 004457 bmark1 mark_loopback ,prepare_tx_loopback 
+0x249c 004458 fetch 1 ,mem_debug_config 
+0x249d 004459 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x249e 004460 fetch 2 ,mem_retransmission_cnt 
+0x249f 004461 increase -1 ,pdata 
+0x24a0 004462 store 2 ,mem_retransmission_cnt 
+0x24a1 004463 branch prepare_tx_nomore_retransmit ,blank 
+0x24a2 004464 fetch 1 ,mem_last_type 
+0x24a3 004465 iforce type 
+0x24a4 004466 rtn 
+:      004468 prepare_tx_nomore_retransmit:
+0x24a5 004469 bpatch patch09_4 ,mem_patch09 
+0x24a6 004470 call clear_got_tx 
+:      004471 prepare_tx_no_retransmit:
+0x24a7 004472 call check_esco_amaddr 
+0x24a8 004473 branch prepare_tx_pollnull ,true 
+0x24a9 004474 call send_lmp 
+0x24aa 004475 branch prepare_tx_sendlmp ,user 
+0x24ab 004476 fetch 1 ,mem_op 
+0x24ac 004477 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x24ad 004478 bmark1 mark_loopback ,prepare_tx_loopback 
+0x24ae 004479 fetch 1 ,mem_debug_config 
+0x24af 004480 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      004481 prepare_tx_pollnull:
+0x24b0 004482 force type_poll ,type 
+0x24b1 004483 rtn master 
+0x24b2 004484 force type_null ,type 
+0x24b3 004485 rtn 
+:      004486 prepare_tx_loopback:
+0x24b4 004487 bpatch patch09_5 ,mem_patch09 
+0x24b5 004488 fetch 1 ,mem_rx_type 
+0x24b6 004489 iforce type 
+0x24b7 004490 rtnne 1 
+0x24b8 004491 force type_null ,type 
+0x24b9 004492 rtn 
+:      004493 prepare_tx_txpat:
+0x24ba 004494 fetch 1 ,test_mode_packet_type 
+0x24bb 004495 and pdata ,0xf ,type 
+0x24bc 004496 set1 mark_loopback ,mark 
+0x24bd 004497 rtn 
+:      004498 prepare_tx_sendlmp:
+0x24be 004499 force type_lmp ,type 
+0x24bf 004500 branch set_wait_ack 
+:      004501 prepare_tx_sendl2cap:
+0x24c0 004502 call tx_l2cap_type 
+:      004504 set_wait_ack:
+0x24c1 004505 bpatch patch09_6 ,mem_patch09 
+0x24c2 004506 fetcht 1 ,mem_arq 
+0x24c3 004507 set1 wack ,temp 
+0x24c4 004508 storet 1 ,mem_arq 
+0x24c5 004509 deposit type 
+0x24c6 004510 store 1 ,mem_last_type 
+0x24c7 004511 setarg 0xffff 
+0x24c8 004512 store 2 ,mem_retransmission_cnt 
+0x24c9 004513 rtn 
+:      004515 tx_l2cap_type:
+0x24ca 004516 bpatch patch09_7 ,mem_patch09 
+0x24cb 004517 fetch 1 ,mem_state_map 
+0x24cc 004518 isolate1 smap_edr ,pdata 
+0x24cd 004519 fetch 2 ,mem_tx_len 
+0x24ce 004520 branch tx_l2cap_type_edr ,true 
+0x24cf 004521 force type_dm1 ,type 
+0x24d0 004522 sub pdata ,17 ,null 
+0x24d1 004523 rtn positive 
+0x24d2 004524 force type_dh1 ,type 
+0x24d3 004525 sub pdata ,27 ,null 
+0x24d4 004526 rtn positive 
+0x24d5 004527 force type_dm3 ,type 
+0x24d6 004528 sub pdata ,121 ,null 
+0x24d7 004529 rtn positive 
+0x24d8 004530 force type_dh3 ,type 
+0x24d9 004531 sub pdata ,183 ,null 
+0x24da 004532 rtn positive 
+0x24db 004533 force type_dm5 ,type 
+0x24dc 004534 sub pdata ,224 ,null 
+0x24dd 004535 rtn positive 
+0x24de 004536 force type_dh5 ,type 
+0x24df 004537 rtn 
+:      004538 tx_l2cap_type_edr:
+0x24e0 004539 force type_dm1 ,type 
+0x24e1 004540 sub pdata ,17 ,null 
+0x24e2 004541 rtn positive 
+0x24e3 004542 force type_dh1 ,type 
+0x24e4 004543 sub pdata ,54 ,null 
+0x24e5 004544 rtn positive 
+0x24e6 004545 force type_dm3 ,type 
+0x24e7 004546 arg 367 ,temp 
+0x24e8 004547 isub temp ,null 
+0x24e9 004548 nrtn positive 
+0x24ea 004549 force type_dm5 ,type 
+0x24eb 004550 arg 679 ,temp 
+0x24ec 004551 isub temp ,null 
+0x24ed 004552 nrtn positive 
+0x24ee 004553 force type_dh5 ,type 
+0x24ef 004554 rtn 
+:      004563 slave_receive_master_slot:
+0x24f0 004564 fetch 1 ,mem_state 
+0x24f1 004565 bbit0 state_insniff ,slave_receive_notsniff 
+0x24f2 004566 fetch 2 ,mem_tsniff 
+0x24f3 004567 branch slave_receive_notsniff ,blank 
+0x24f4 004568 nbranch slave_receive_sniff ,attempt 
+:      004569 slave_receive_notsniff:
+0x24f5 004570 call rf_setup_time_master_slot 
+:      004571 slave_receive_access:
+0x24f6 004572 add clke_bt ,1 ,bt_clk 
+:      004573 slave_receive_sniff:
+0x24f7 004574 enable swfine 
+0x24f8 004575 fetch 2 ,mem_rx_window 
+0x24f9 004576 rshift pdata ,pdata 
+0x24fa 004577 arg param_pll_setup ,temp 
+0x24fb 004578 iadd temp ,pdata 
+0x24fc 004579 call ahead_window 
+0x24fd 004580 call fetch_extm_bt_adr 
+0x24fe 004581 force 0x03 ,freq_mode 
+0x24ff 004582 call rx_radio_freq 
+0x2500 004583 call init_rx_packet_flags 
+0x2501 004584 call prep_crypt 
+0x2502 004585 bpatch patch0a_0 ,mem_patch0a 
+0x2503 004586 fetch 2 ,mem_rx_window 
+0x2504 004587 rshift pdata ,pdata 
+0x2505 004588 call ahead_window 
+0x2506 004589 call start_receiver 
+0x2507 004590 enable decode_fec0 
+0x2508 004591 fetch 2 ,mem_rx_window 
+0x2509 004592 arg param_clke_cal ,temp 
+0x250a 004593 iadd temp ,stop_watch 
+0x250b 004594 correlate null ,timeout 
+0x250c 004595 copy clke ,temp 
+0x250d 004596 storet 6 ,mem_sync_clke 
+0x250e 004597 disable decode_fec0 
+0x250f 004598 nrtn sync 
+0x2510 004599 arg param_clke_cal ,clke_rt 
+0x2511 004600 copy bt_clk ,clke_bt 
+0x2512 004601 branch lpm_adjust_clk ,wake 
+0x2513 004602 rtn 
+:      004605 slave_conn_recv_packet:
+0x2514 004606 bpatch patch0a_1 ,mem_patch0a 
+0x2515 004607 call slave_receive_master_slot 
+0x2516 004608 nbranch shutdown_radio ,sync 
+0x2517 004609 call save_rssi 
+0x2518 004610 bmark0 mark_testmode ,receive_packet 
+0x2519 004611 fetch 2 ,mem_tst_pktcnt_sync 
+0x251a 004612 increase 1 ,pdata 
+0x251b 004613 store 2 ,mem_tst_pktcnt_sync 
+:      004614 receive_packet:
+0x251c 004615 rshift bt_clk ,temp 
+0x251d 004616 or temp ,0x40 ,white_init 
+:      004617 receive_packet_whitened:
+0x251e 004618 bpatch patch0a_2 ,mem_patch0a 
+0x251f 004619 enable enable_white 
+0x2520 004620 enable enable_hec 
+0x2521 004621 enable decode_fec1 
+0x2522 004622 parse demod ,bucket ,3 
+0x2523 004623 rshift8 pwindow ,pdata 
+0x2524 004624 store 1 ,mem_temp_am_addr 
+0x2525 004625 parse demod ,bucket ,4 
+0x2526 004626 inject bucket ,7 
+0x2527 004627 copy pwindow ,pdata 
+0x2528 004628 store 1 ,mem_rx_type 
+0x2529 004629 parse demod ,bucket ,3 
+0x252a 004630 rshift8 pwindow ,pdata 
+0x252b 004631 store 1 ,mem_temp_arq 
+0x252c 004632 fetch 1 ,mem_rx_type 
+0x252d 004633 sub pdata ,3 ,null 
+0x252e 004634 branch receive_packet_noedr ,positive 
+0x252f 004635 beq 7 ,receive_packet_noedr 
+0x2530 004636 fetch 1 ,mem_state_map 
+0x2531 004637 isolate1 smap_edr ,pdata 
+0x2532 004638 setflag true ,psk ,radio_ctrl 
+:      004639 receive_packet_noedr:
+0x2533 004640 bpatch patch0a_3 ,mem_patch0a 
+0x2534 004641 parse demod ,bucket ,8 
+0x2535 004642 disable decode_fec1 
+0x2536 004643 disable enable_hec 
+0x2537 004644 branch error_header ,crc_failed 
+0x2538 004645 bmark0 mark_testmode ,receive_packet_amchk 
+0x2539 004646 fetch 2 ,mem_tst_pktcnt_hec 
+0x253a 004647 increase 1 ,pdata 
+0x253b 004648 store 2 ,mem_tst_pktcnt_hec 
+:      004649 receive_packet_amchk:
+0x253c 004650 bpatch patch0a_4 ,mem_patch0a 
+0x253d 004651 fetch 1 ,mem_temp_am_addr 
+0x253e 004652 compare 0 ,pdata ,0x07 
+0x253f 004653 setflag true ,mark_am_addr_broadcast ,mark 
+0x2540 004654 branch am_addr_ok ,true 
+0x2541 004655 icompare 0x07 ,am_addr 
+0x2542 004656 branch am_addr_match ,true 
+0x2543 004657 bmark0 mark_esco ,end_of_packet 
+0x2544 004658 fetcht 1 ,mem_saved_amaddr 
+0x2545 004659 icompare 0x7 ,temp 
+0x2546 004660 nbranch end_of_packet ,true 
+0x2547 004661 fetch 1 ,mem_arq 
+0x2548 004662 set0 arqnx ,pdata 
+0x2549 004663 set1 flowx ,pdata 
+0x254a 004664 store 1 ,mem_arq 
+:      004665 am_addr_match:
+0x254b 004666 enable match 
+:      004667 am_addr_ok:
+0x254c 004668 bpatch patch0a_5 ,mem_patch0a 
+0x254d 004669 fetch 1 ,mem_rx_type 
+0x254e 004670 icopy type 
+0x254f 004671 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x2550 004672 fetcht 1 ,mem_temp_arq 
+0x2551 004673 fetch 1 ,mem_arq 
+0x2552 004674 set0 flow ,pdata 
+0x2553 004675 isolate1 flow ,temp 
+0x2554 004676 setflag true ,flow ,pdata 
+0x2555 004677 isolate1 arqn ,temp 
+0x2556 004678 setflag true ,arqn ,pdata 
+0x2557 004679 store 1 ,mem_arq 
+0x2558 004680 isolate0 arqn ,temp 
+0x2559 004681 branch arqn_bypass ,true 
+0x255a 004682 call clear_got_tx 
+:      004683 arqn_bypass:
+0x255b 004684 bpatch patch0a_6 ,mem_patch0a 
+0x255c 004685 arg 0 ,temp 
+0x255d 004686 call reserve_slot 
+0x255e 004687 and type ,0xf ,pdata 
+0x255f 004688 beq type_poll ,process_poll 
+0x2560 004689 beq type_null ,end_of_packet 
+0x2561 004690 beq type_fhs ,process_fhs 
+0x2562 004691 fetcht 1 ,mem_temp_arq 
+0x2563 004692 fetch 1 ,mem_arq 
+0x2564 004693 icompare 0x04 ,temp 
+0x2565 004694 nbranch rx_type_dispatch ,true 
+0x2566 004695 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x2567 004696 bbit0 bcast1 ,rx_type_dispatch 
+:      004697 failed_seqn:
+0x2568 004698 set1 mark_old_packet ,mark 
+:      004699 rx_type_dispatch:
+0x2569 004700 bpatch patch0a_7 ,mem_patch0a 
+0x256a 004701 deposit type 
+0x256b 004702 beq type_dm1 ,process_dm1 
+0x256c 004703 beq type_dh1 ,process_dh1 
+0x256d 004704 beq type_hv3 ,process_hev 
+0x256e 004705 beq type_3dh1 ,process_3dh1 
+0x256f 004706 arg 4 ,temp 
+0x2570 004707 call reserve_slot 
+0x2571 004708 beq type_dm3 ,process_dm3 
+0x2572 004709 beq type_dh3 ,process_dh3 
+0x2573 004710 arg 8 ,temp 
+0x2574 004711 call reserve_slot 
+0x2575 004712 beq type_dm5 ,process_dm5 
+0x2576 004713 beq type_dh5 ,process_dh5 
+0x2577 004714 rtn 
+:      004717 process_hev:
+0x2578 004718 bpatch patch0b_0 ,mem_patch0b 
+0x2579 004719 enable decode_fec0 
+0x257a 004720 enable enable_crc 
+0x257b 004721 enable encrypt 
+0x257c 004722 arg mem_sco_ibuf ,contw 
+0x257d 004723 force 30 ,loopcnt 
+:      004724 process_hev_loop:
+0x257e 004725 parse demod ,bucket ,8 
+0x257f 004726 rshift3 pwindow ,pdata 
+0x2580 004727 istore 1 ,contw 
+0x2581 004728 loop process_hev_loop 
+0x2582 004729 bmark0 mark_esco ,end_of_packet 
+0x2583 004730 parse demod ,bucket ,16 
+0x2584 004731 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x2585 004732 branch error_payload ,crc_failed 
+0x2586 004733 branch ack_payload 
+:      004736 process_poll:
+0x2587 004737 branch end_of_packet 
+:      004739 process_dm3:
+:      004740 process_dm5:
+0x2588 004741 set1 mark_longpacket ,mark 
+:      004742 process_dm1:
+0x2589 004743 enable decode_fec2 
+0x258a 004744 branch process_dmh 
+:      004746 process_dh3:
+:      004747 process_dh5:
+0x258b 004748 set1 mark_longpacket ,mark 
+:      004749 process_3dh1:
+0x258c 004750 set1 psk3m ,radio_ctrl 
+:      004751 process_dh1:
+0x258d 004752 enable decode_fec0 
+:      004753 process_dmh:
+0x258e 004754 bpatch patch0b_1 ,mem_patch0b 
+0x258f 004755 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x2590 004756 isolate0 psk ,radio_ctrl 
+0x2591 004757 branch process_dmh_noedr ,true 
+0x2592 004758 disable enable_white 
+0x2593 004759 enable decode_fec0 
+0x2594 004760 disable decode_fec2 
+0x2595 004761 add clkn_bt ,2 ,timeup 
+0x2596 004762 correlate clkn_bt ,meet 
+0x2597 004763 nbranch error_payload ,sync 
+0x2598 004764 set1 mark_longpacket ,mark 
+0x2599 004765 enable enable_white 
+:      004766 process_dmh_noedr:
+0x259a 004767 bpatch patch0b_2 ,mem_patch0b 
+0x259b 004768 enable encrypt 
+0x259c 004769 enable enable_crc 
+0x259d 004770 parse demod ,bucket ,3 
+0x259e 004771 rshift8 pwindow ,pdata 
+0x259f 004772 store 1 ,mem_lch_code 
+0x25a0 004773 parse demod ,bucket ,5 
+0x25a1 004774 bmark1 mark_longpacket ,process_dmh_long 
+0x25a2 004775 rshift3 pwindow ,loopcnt 
+0x25a3 004776 rshift3 loopcnt ,loopcnt 
+0x25a4 004777 branch process_dmh_common 
+:      004778 process_dmh_long:
+0x25a5 004779 parse demod ,bucket ,5 
+0x25a6 004780 rshift pwindow ,loopcnt 
+0x25a7 004781 parse demod ,bucket ,3 
+:      004782 process_dmh_common:
+0x25a8 004783 bpatch patch0b_3 ,mem_patch0b 
+0x25a9 004784 deposit loopcnt 
+0x25aa 004785 store 2 ,mem_len 
+0x25ab 004786 branch process_dmh_data_end ,blank 
+0x25ac 004787 isub mask3ff ,null 
+0x25ad 004788 branch error_payload ,positive 
+0x25ae 004789 bpatch patch0b_4 ,mem_patch0b 
+0x25af 004790 set0 mark_fhs_eir ,mark 
+0x25b0 004791 fetch 1 ,mem_lch_code 
+0x25b1 004792 and_into 0x03 ,pdata 
+0x25b2 004793 arg mem_rxbuf ,contw 
+0x25b3 004794 beq llid_lmp ,process_lmp 
+0x25b4 004795 bmark1 mark_testmode ,process_dmh_data 
+0x25b5 004797 fetch 1 ,mem_lch_code 
+0x25b6 004798 and_into 0x03 ,pdata 
+0x25b7 004799 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x25b8 004800 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x25b9 004801 branch error_payload 
+:      004803 process_lmp:
+0x25ba 004804 fetch 2 ,mem_len 
+0x25bb 004805 sub pdata ,0x70 ,null 
+0x25bc 004806 nbranch error_payload ,positive 
+0x25bd 004807 bmark1 mark_old_packet ,ack_payload 
+0x25be 004808 branch process_dmh_data 
+:      004811 process_dmh_data_l2cap_start_pkt:
+0x25bf 004812 bpatch patch0b_5 ,mem_patch0b 
+0x25c0 004813 bmark1 mark_old_packet ,ack_payload 
+0x25c1 004814 fetch 2 ,mem_len 
+0x25c2 004815 arg 0x2e0 ,temp 
+0x25c3 004816 isub temp ,null 
+0x25c4 004817 branch error_payload ,positive 
+0x25c5 004818 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x25c6 004819 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x25c7 004820 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x25c8 004821 branch end_of_packet 
+:      004822 process_dmh_data_into_buff1:
+0x25c9 004823 jam 1 ,mem_l2cap_rxbuff_new 
+0x25ca 004824 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25cb 004825 bne 0 ,end_of_packet 
+0x25cc 004826 arg mem_l2cap_rxbuff1 ,contw 
+0x25cd 004827 branch process_dmh_data 
+:      004828 process_dmh_data_into_buff2:
+0x25ce 004829 jam 2 ,mem_l2cap_rxbuff_new 
+0x25cf 004830 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25d0 004831 bne 0 ,end_of_packet 
+0x25d1 004832 arg mem_l2cap_rxbuff2 ,contw 
+0x25d2 004833 branch process_dmh_data 
+:      004835 process_dmh_data_l2cap_continue_pkt:
+0x25d3 004836 bpatch patch0b_6 ,mem_patch0b 
+0x25d4 004837 bmark1 mark_old_packet ,ack_payload 
+0x25d5 004838 fetch 2 ,mem_len 
+0x25d6 004839 arg 0x2e0 ,temp 
+0x25d7 004840 isub temp ,null 
+0x25d8 004841 branch error_payload ,positive 
+0x25d9 004842 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25da 004843 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x25db 004844 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x25dc 004845 branch end_of_packet 
+:      004846 process_dmh_data_l2cap_continue_pkt1:
+0x25dd 004847 arg mem_l2cap_rxbuff1 ,contw 
+0x25de 004848 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25df 004849 iadd contw ,contw 
+0x25e0 004850 branch process_dmh_data 
+:      004851 process_dmh_data_l2cap_continue_pkt2:
+0x25e1 004852 arg mem_l2cap_rxbuff2 ,contw 
+0x25e2 004853 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25e3 004854 iadd contw ,contw 
+:      004855 process_dmh_data:
+0x25e4 004856 parse demod ,bucket ,8 
+0x25e5 004857 rshift3 pwindow ,pdata 
+0x25e6 004858 istore 1 ,contw 
+0x25e7 004859 loop process_dmh_data 
+:      004860 process_dmh_data_end:
+0x25e8 004861 bpatch patch0b_7 ,mem_patch0b 
+0x25e9 004862 parse demod ,bucket ,16 
+0x25ea 004863 branch error_payload_crc ,crc_failed 
+0x25eb 004864 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x25ec 004865 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x25ed 004866 bmark1 mark_testmode ,process_dmh_cont 
+0x25ee 004867 bmark1 mark_old_packet ,redundant_payload 
+0x25ef 004868 fetch 1 ,mem_lch_code 
+0x25f0 004869 compare 3 ,pdata ,3 
+0x25f1 004870 branch process_dmh_cont ,true 
+0x25f2 004871 fetch 2 ,mem_len 
+0x25f3 004872 branch process_dmh_cont ,blank 
+0x25f4 004873 bpatch patch0c_0 ,mem_patch0c 
+0x25f5 004874 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25f6 004875 beq 1 ,process_l2cap_pass_crc_buff1 
+0x25f7 004876 beq 2 ,process_l2cap_pass_crc_buff2 
+0x25f8 004877 branch assert 
+:      004878 process_l2cap_pass_crc_buff1:
+0x25f9 004879 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25fa 004880 fetcht 2 ,mem_len 
+0x25fb 004881 iadd temp ,pdata 
+0x25fc 004882 store 2 ,mem_l2cap_rxbuff1_len 
+0x25fd 004883 beq 0 ,assert 
+0x25fe 004884 fetcht 2 ,mem_l2cap_rxbuff1 
+0x25ff 004885 increase 4 ,temp 
+0x2600 004886 isub temp ,null 
+0x2601 004887 call l2cap_buff1_inuse ,zero 
+0x2602 004888 branch process_dmh_cont 
+:      004889 process_l2cap_pass_crc_buff2:
+0x2603 004890 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x2604 004891 fetcht 2 ,mem_len 
+0x2605 004892 iadd temp ,pdata 
+0x2606 004893 store 2 ,mem_l2cap_rxbuff2_len 
+0x2607 004894 beq 0 ,assert 
+0x2608 004895 fetcht 2 ,mem_l2cap_rxbuff2 
+0x2609 004896 add temp ,4 ,temp 
+0x260a 004897 isub temp ,null 
+0x260b 004898 call l2cap_buff2_inuse ,zero 
+0x260c 004899 branch process_dmh_cont 
+:      004900 process_dmh_cont:
+0x260d 004901 bpatch patch0c_1 ,mem_patch0c 
+0x260e 004902 fetcht 1 ,mem_state_map 
+0x260f 004903 fetch 1 ,mem_lch_code 
+0x2610 004904 compare 3 ,pdata ,0x03 
+0x2611 004905 setflag true ,smap_rxlmp ,temp 
+0x2612 004906 nsetflag true ,smap_rxl2cap ,temp 
+0x2613 004907 storet 1 ,mem_state_map 
+0x2614 004908 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x2615 004909 set1 mark_rxbuf_inuse ,mark 
+:      004910 process_dmh_cont_rxbuf_not_use:
+0x2616 004911 bmark0 mark_testmode ,ack_payload 
+0x2617 004912 isolate1 smap_rxlmp ,temp 
+0x2618 004913 branch ack_payload ,true 
+0x2619 004914 fetch 2 ,mem_tst_pktcnt_crc 
+0x261a 004915 increase 1 ,pdata 
+0x261b 004916 store 2 ,mem_tst_pktcnt_crc 
+0x261c 004917 set1 mark_loopback ,mark 
+0x261d 004918 set0 smap_rxl2cap ,temp 
+0x261e 004919 set0 mark_rxbuf_inuse ,mark 
+0x261f 004920 storet 1 ,mem_state_map 
+:      004921 ack_payload:
+0x2620 004922 bpatch patch0c_2 ,mem_patch0c 
+0x2621 004923 fetcht 1 ,mem_temp_arq 
+0x2622 004924 fetch 1 ,mem_arq 
+0x2623 004925 set1 arqnx ,pdata 
+0x2624 004926 isolate1 seqn ,temp 
+0x2625 004927 setflag true ,seqn ,pdata 
+0x2626 004928 isolate1 mark_am_addr_broadcast ,mark 
+0x2627 004929 setflag true ,bcast1 ,pdata 
+0x2628 004930 store 1 ,mem_arq 
+0x2629 004931 fetch 2 ,mem_len 
+0x262a 004932 nbranch end_of_packet ,blank 
+0x262b 004933 fetch 1 ,mem_state_map 
+0x262c 004934 set0 smap_rxl2cap ,pdata 
+0x262d 004935 store 1 ,mem_state_map 
+0x262e 004936 fetch 1 ,mem_lch_code 
+0x262f 004937 compare 0x01 ,pdata ,0x07 
+0x2630 004939 branch end_of_packet 
+:      004941 error_header:
+0x2631 004942 bpatch patch0c_3 ,mem_patch0c 
+0x2632 004943 disable match 
+0x2633 004944 fetch 2 ,mem_rx_hec_err 
+0x2634 004945 increase 1 ,pdata 
+0x2635 004946 store 2 ,mem_rx_hec_err 
+0x2636 004947 branch end_of_packet 
+:      004948 error_payload_crc:
+0x2637 004949 fetch 2 ,mem_rx_crc_err 
+0x2638 004950 increase 1 ,pdata 
+0x2639 004951 store 2 ,mem_rx_crc_err 
+0x263a 004952 call discard_pkt 
+0x263b 004953 bmark0 mark_testmode ,error_payload 
+0x263c 004954 set1 mark_loopback ,mark 
+:      004955 error_payload:
+0x263d 004956 branch end_of_packet 
+:      004958 discard_pkt:
+0x263e 004959 bpatch patch0c_4 ,mem_patch0c 
+0x263f 004960 fetch 1 ,mem_lch_code 
+0x2640 004961 compare 3 ,pdata ,0x03 
+0x2641 004962 nbranch discard_pkt_l2cap ,true 
+:      004963 discard_pkt_lmp:
+0x2642 004964 fetcht 1 ,mem_state_map 
+0x2643 004965 set0 smap_rxlmp ,temp 
+0x2644 004966 storet 1 ,mem_state_map 
+0x2645 004967 rtn 
+:      004968 discard_pkt_l2cap:
+0x2646 004971 fetcht 1 ,mem_state_map 
+0x2647 004972 set0 smap_rxl2cap ,temp 
+0x2648 004973 storet 1 ,mem_state_map 
+0x2649 004974 branch h4_send_acl_trigger_clear 
+:      004976 redundant_payload:
+0x264a 004977 fetch 1 ,mem_arq 
+0x264b 004978 set1 arqnx ,pdata 
+0x264c 004979 store 1 ,mem_arq 
+:      004980 end_of_packet:
+0x264d 004981 bpatch patch0c_5 ,mem_patch0c 
+0x264e 004982 disable encode_fec0 
+0x264f 004983 disable encode_fec2 
+0x2650 004984 disable decode_fec0 
+0x2651 004985 disable decode_fec2 
+0x2652 004986 disable enable_crc 
+0x2653 004987 disable encrypt 
+0x2654 004988 disable enable_white 
+0x2655 004989 branch shutdown_radio ,is_rx 
+0x2656 004990 until null ,tx_clear 
+0x2657 004991 nop 100 
+0x2658 004992 branch shutdown_radio 
+:      004994 process_fhs:
+0x2659 004995 bpatch patch0c_6 ,mem_patch0c 
+0x265a 004996 enable enable_crc 
+0x265b 004997 enable decode_fec2 
+0x265c 004998 parse demod ,bucket ,72 
+0x265d 004999 isolate1 58 ,pdata 
+0x265e 005000 setflag true ,mark_fhs_eir ,mark 
+0x265f 005001 copy bt_adr ,temp 
+0x2660 005002 ialigned bt_adr 
+0x2661 005003 ialigned fhs0 
+0x2662 005004 pulse recalc 
+0x2663 005005 setsect 2 ,0xfffff 
+0x2664 005006 setsect 3 ,0x0ffff 
+0x2665 005007 nop 32 
+0x2666 005008 iverify fhs_parity 
+0x2667 005009 deposit lap 
+0x2668 005010 store 3 ,extm_lap 
+0x2669 005011 deposit uap 
+0x266a 005012 store 1 ,extm_uap 
+0x266b 005013 copy temp ,bt_adr 
+0x266c 005014 branch fhs_parity_ok ,true 
+0x266d 005015 branch error_payload 
+:      005016 fhs_parity_ok:
+0x266e 005017 bpatch patch0c_7 ,mem_patch0c 
+0x266f 005018 parse demod ,bucket ,72 
+0x2670 005019 ialigned fhs1 
+0x2671 005020 ialigned am_addr 
+0x2672 005021 ialigned nap 
+0x2673 005022 ialigned regb 
+0x2674 005023 force 0 ,pdata 
+0x2675 005024 parse demod ,bucket ,16 
+0x2676 005025 branch error_payload ,crc_failed 
+0x2677 005026 setarg 0x0ffffffc 
+0x2678 005027 iand regb ,pdata 
+0x2679 005028 store 4 ,mem_clke_bt 
+0x267a 005029 deposit fhs_class 
+0x267b 005030 store 3 ,extm_class 
+0x267c 005031 deposit fhs_misc 
+0x267d 005032 store 1 ,extm_fhs_misc 
+0x267e 005033 deposit am_addr 
+0x267f 005034 store 1 ,extm_newconn_am_addr 
+0x2680 005035 deposit nap 
+0x2681 005036 store 2 ,extm_nap 
+0x2682 005037 deposit bt_clk 
+0x2683 005038 inject rxf ,32 
+0x2684 005039 compare type_fhs ,type ,0x0f 
+0x2685 005040 setflag true ,mark_fhs_already_good ,mark 
+0x2686 005041 branch end_of_packet 
+:      005043 clear_got_tx:
+0x2687 005044 bpatch patch0d_0 ,mem_patch0d 
+0x2688 005045 fetch 1 ,mem_arq 
+0x2689 005046 rtnbit0 wack 
+0x268a 005047 set0 wack ,pdata 
+0x268b 005048 setflip seqnx ,pdata 
+0x268c 005049 store 1 ,mem_arq 
+0x268d 005050 fetch 1 ,mem_last_type 
+0x268e 005051 beq type_lmp ,clear_got_txlmp 
+0x268f 005052 rtneq type_hv3 
+0x2690 005053 fetch 1 ,mem_op 
+0x2691 005054 rtnbit0 op_txl2cap ,pdata 
+0x2692 005055 set0 op_txl2cap ,pdata 
+0x2693 005056 set1 op_pkt_comp ,pdata 
+0x2694 005057 store 1 ,mem_op 
+0x2695 005058 set0 mark_tx_l2cap ,mark 
+0x2696 005059 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x2697 005060 nrtn blank 
+0x2698 005061 fetch 1 ,mem_op 
+0x2699 005062 set0 op_pkt_comp ,pdata 
+0x269a 005063 store 1 ,mem_op 
+0x269b 005064 branch l2cap_malloc_free 
+:      005066 clear_got_txlmp:
+0x269c 005067 bpatch patch0d_1 ,mem_patch0d 
+0x269d 005068 fetch 1 ,mem_lmo_header_opcode 
+0x269e 005069 rshift pdata ,pdata 
+0x269f 005070 beq lmp_start_encryption_req ,start_encryption 
+0x26a0 005071 beq lmp_stop_encryption_req ,stop_encryption 
+0x26a1 005072 beq lmp_unsniff_req ,sniff_exit 
+0x26a2 005073 beq lmp_escape ,clear_lmp_escape 
+0x26a3 005074 rtnne lmp_accepted 
+0x26a4 005075 fetch 1 ,mem_lmo_payload 
+0x26a5 005076 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x26a6 005077 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x26a7 005078 rtn 
+:      005080 clear_lmp_escape:
+0x26a8 005081 fetch 1 ,mem_lmo_payload 
+0x26a9 005082 set1 7 ,pdata 
+0x26aa 005083 rtn 
+:      005084 clear_send_setup_complete:
+0x26ab 005085 rtn master 
+0x26ac 005086 fetch 1 ,mem_state 
+0x26ad 005087 rtnbit1 state_conn_comp 
+0x26ae 005088 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x26af 005089 rtn 
+:      005092 sco_link_req_by_slave:
+0x26b0 005093 rtn master 
+0x26b1 005094 fetch 1 ,mem_mode 
+0x26b2 005095 isolate1 send_sco_when_slave ,pdata 
+0x26b3 005096 branch clean_mem_mode ,true 
+0x26b4 005098 rtn 
+:      005099 clean_mem_mode:
+0x26b5 005100 set0 send_sco_when_slave ,pdata 
+0x26b6 005101 store 1 ,mem_mode 
+0x26b7 005102 rtn 
+:      005104 start_encryption:
+0x26b8 005105 bpatch patch0d_2 ,mem_patch0d 
+0x26b9 005106 fetch 1 ,mem_state_map 
+0x26ba 005107 set1 smap_encryption ,pdata 
+0x26bb 005108 store 1 ,mem_state_map 
+0x26bc 005109 jam 1 ,core_encrypt 
+0x26bd 005110 fetch 1 ,mem_state 
+0x26be 005111 isolate1 state_conn_comp ,pdata 
+0x26bf 005112 rtn 
+:      005114 stop_encryption:
+0x26c0 005115 bpatch patch0d_3 ,mem_patch0d 
+0x26c1 005116 fetch 1 ,mem_state_map 
+0x26c2 005117 set0 smap_encryption ,pdata 
+0x26c3 005118 store 1 ,mem_state_map 
+0x26c4 005119 jam 0 ,core_encrypt 
+0x26c5 005120 rtn 
+:      005123 sniff_init:
+0x26c6 005124 bpatch patch0d_4 ,mem_patch0d 
+0x26c7 005125 copy clkn_bt ,pdata 
+0x26c8 005126 store 4 ,mem_lpm_delay_after_sniff 
+0x26c9 005127 add clkn_bt ,3 ,rega 
+0x26ca 005128 branch sniff_init_master ,master 
+0x26cb 005129 add clke_bt ,3 ,rega 
+:      005130 sniff_init_master:
+0x26cc 005131 fetcht 2 ,mem_tsniff 
+0x26cd 005132 deposit rega 
+0x26ce 005133 set0 27 ,pdata 
+0x26cf 005134 idiv temp 
+0x26d0 005135 fetch 2 ,mem_dsniff 
+0x26d1 005136 call wait_div_end 
+0x26d2 005137 remainder regc 
+0x26d3 005138 isub regc ,pdata 
+0x26d4 005139 branch sniff_init_nowrap ,positive 
+0x26d5 005140 iadd temp ,pdata 
+:      005141 sniff_init_nowrap:
+0x26d6 005142 iadd rega ,pdata 
+0x26d7 005143 store 4 ,mem_sniff_anchor 
+0x26d8 005144 jam switch_flag_init ,mem_switch_flag 
+0x26d9 005145 fetch 1 ,mem_state 
+0x26da 005146 set1 state_insniff ,pdata 
+0x26db 005147 store 1 ,mem_state 
+0x26dc 005148 fetch 1 ,mem_sniff_attempt 
+0x26dd 005149 store 1 ,mem_current_sniff_attempt 
+0x26de 005150 setarg 0 
+0x26df 005151 store 3 ,mem_sniff_rcv 
+0x26e0 005152 store 3 ,mem_sniff_lost 
+0x26e1 005153 store 1 ,mem_sniff_unint_lost 
+0x26e2 005154 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x26e3 005155 call ui_ipc_send_event 
+0x26e4 005156 fetch 2 ,mem_rx_window_sniff 
+0x26e5 005157 store 2 ,mem_rx_window 
+0x26e6 005158 nrtn master 
+0x26e7 005159 add am_addr ,-1 ,queue 
+0x26e8 005160 rtn 
+:      005162 sniff_exit:
+0x26e9 005163 bpatch patch0d_5 ,mem_patch0d 
+0x26ea 005164 fetch 1 ,mem_state 
+0x26eb 005165 rtnbit0 state_insniff 
+0x26ec 005166 set0 state_insniff ,pdata 
+0x26ed 005167 store 1 ,mem_state 
+0x26ee 005168 fetch 2 ,mem_rx_window_init 
+0x26ef 005169 store 2 ,mem_rx_window 
+0x26f0 005170 disable wake 
+0x26f1 005171 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x26f2 005172 branch ui_ipc_send_event 
+:      005175 check_attempt:
+0x26f3 005176 bpatch patch0d_6 ,mem_patch0d 
+0x26f4 005177 enable attempt 
+0x26f5 005178 fetch 1 ,mem_state 
+0x26f6 005179 bbit1 state_insniff ,check_attempt_sniff 
+0x26f7 005180 rtnmark1 mark_testmode 
+0x26f8 005181 fetch 1 ,mem_arq 
+0x26f9 005182 rtnbit1 wack 
+0x26fa 005183 fetch 1 ,mem_lmp_to_send 
+0x26fb 005184 nrtn blank 
+0x26fc 005185 fetch 1 ,mem_op 
+0x26fd 005186 rtnbit1 op_txl2cap 
+:      005187 check_attempt_nomore:
+0x26fe 005188 force 0 ,pdata 
+0x26ff 005189 rtn 
+:      005191 check_attempt_sniff:
+0x2700 005192 bbit0 state_insco ,check_attempt_not_sco 
+0x2701 005193 fetch 1 ,mem_current_sniff_attempt 
+0x2702 005194 beq 2 ,check_attempt_sniff_restore_sco 
+0x2703 005195 fetch 1 ,mem_arq 
+0x2704 005196 bbit1 wack ,check_attempt_notimeout 
+0x2705 005197 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      005198 check_attempt_sniff_restore_sco:
+0x2706 005199 nbranch check_attempt_notimeout ,master 
+0x2707 005200 fetch 1 ,mem_lmp_to_send 
+0x2708 005201 nbranch check_attempt_notimeout ,blank 
+:      005202 check_attempt_sco_master:
+0x2709 005203 fetch 1 ,mem_sco_poll 
+0x270a 005204 increase -1 ,pdata 
+0x270b 005205 store 1 ,mem_sco_poll 
+0x270c 005206 nbranch check_attempt_nomore ,blank 
+0x270d 005207 jam param_sco_poll ,mem_sco_poll 
+0x270e 005208 branch check_attempt_notimeout 
+:      005215 check_attempt_not_sco:
+0x270f 005216 fetch 1 ,mem_current_sniff_attempt 
+0x2710 005217 bne 1 ,check_attempt_notimeout 
+0x2711 005218 fetch 1 ,mem_current_sniff_timeout 
+0x2712 005219 branch check_attempt_notimeout ,blank 
+0x2713 005220 increase -1 ,pdata 
+0x2714 005221 store 1 ,mem_current_sniff_timeout 
+0x2715 005222 fetch 1 ,mem_arq 
+0x2716 005223 rtnbit1 wack 
+0x2717 005224 nrtn match 
+:      005225 check_attempt_notimeout:
+0x2718 005226 fetch 1 ,mem_current_sniff_attempt 
+0x2719 005227 increase -1 ,pdata 
+0x271a 005228 store 1 ,mem_current_sniff_attempt 
+0x271b 005229 rtn 
+:      005240 sniff_check_window:
+0x271c 005241 bpatch patch0d_7 ,mem_patch0d 
+0x271d 005242 disable swfine 
+0x271e 005243 copy temp ,stop_watch 
+0x271f 005244 call context_search_sniff_window 
+0x2720 005245 disable user 
+0x2721 005246 nrtn zero 
+0x2722 005247 force 0 ,stop_watch 
+0x2723 005248 enable user 
+0x2724 005249 rtn 
+:      005252 check_esco_amaddr:
+0x2725 005253 fetch 1 ,mem_esco_addr 
+0x2726 005254 icompare 0xff ,am_addr 
+0x2727 005255 rtn 
+:      005258 parse_l2cap:
+0x2728 005259 bpatch patch0e_0 ,mem_patch0e 
+0x2729 005260 set0 mark_rxbuf_inuse ,mark 
+:      005261 parse_l2cap_cont:
+0x272a 005262 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x272b 005263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x272c 005264 rtn blank 
+0x272d 005265 isolate1 l2cap_inuse_buff1 ,pdata 
+0x272e 005266 arg mem_l2cap_rxbuff1 ,contr 
+0x272f 005267 call process_rx_l2cap_pkt ,true 
+0x2730 005268 bpatch patch0e_1 ,mem_patch0e 
+0x2731 005269 fetch 1 ,mem_l2cap_rx_done 
+0x2732 005270 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x2733 005272 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x2734 005273 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2735 005274 rtnbit0 l2cap_inuse_buff2 
+0x2736 005275 arg mem_l2cap_rxbuff2 ,contr 
+0x2737 005276 call process_rx_l2cap_pkt 
+0x2738 005277 fetch 1 ,mem_l2cap_rx_done 
+0x2739 005278 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x273a 005279 rtn 
+:      005281 parse_l2cap_release_buff1:
+0x273b 005282 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x273c 005283 set0 l2cap_inuse_buff1 ,pdata 
+0x273d 005284 store 1 ,mem_l2cap_rxbuff_inuse 
+0x273e 005285 setarg 0 
+0x273f 005286 store 2 ,mem_l2cap_rxbuff1_len 
+0x2740 005287 rtn 
+:      005288 parse_l2cap_release_buff2:
+0x2741 005289 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2742 005290 set0 l2cap_inuse_buff2 ,pdata 
+0x2743 005291 store 1 ,mem_l2cap_rxbuff_inuse 
+0x2744 005292 setarg 0 
+0x2745 005293 store 2 ,mem_l2cap_rxbuff2_len 
+0x2746 005294 rtn 
+:      005296 l2cap_buff1_inuse:
+0x2747 005297 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2748 005298 set1 l2cap_inuse_buff1 ,pdata 
+0x2749 005299 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274a 005300 rtn 
+:      005302 l2cap_buff2_inuse:
+0x274b 005303 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x274c 005304 set1 l2cap_inuse_buff2 ,pdata 
+0x274d 005305 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274e 005306 rtn 
+:      005312 slave_send_access:
+0x274f 005313 bpatch patch0e_2 ,mem_patch0e 
+0x2750 005314 add clke_bt ,1 ,bt_clk 
+0x2751 005315 call fetch_extm_bt_adr 
+0x2752 005316 force 0x03 ,freq_mode 
+0x2753 005317 call tx_radio_freq 
+0x2754 005318 call start_transmitter 
+0x2755 005319 call start_tx_external 
+0x2756 005320 branch send_access_word 
+:      005323 slave_conn_send_packet:
+0x2757 005324 bpatch patch0e_3 ,mem_patch0e 
+0x2758 005325 call rf_setup_time_slave_slot 
+0x2759 005326 deposit clke_bt 
+0x275a 005327 fetcht 4 ,mem_next_btclk 
+0x275b 005328 isub temp ,pdata 
+0x275c 005329 rtnne 1 
+0x275d 005330 compare type_null ,type ,0x1f 
+0x275e 005331 nbranch slave_conn_send_access ,true 
+0x275f 005332 fetch 1 ,mem_rx_type 
+0x2760 005333 rtn blank 
+:      005334 slave_conn_send_access:
+0x2761 005335 call slave_send_access 
+:      005336 transmit_packet:
+0x2762 005337 compare type_id ,type ,0x1f 
+0x2763 005338 branch end_of_packet ,true 
+0x2764 005339 rshift bt_clk ,temp 
+0x2765 005340 or temp ,0x40 ,white_init 
+:      005341 transmit_packet_whitened:
+0x2766 005342 bpatch patch0e_4 ,mem_patch0e 
+0x2767 005343 enable enable_white 
+0x2768 005344 enable enable_hec 
+0x2769 005345 enable encode_fec1 
+0x276a 005346 set0 mark_longpacket ,mark 
+0x276b 005347 deposit am_addr 
+0x276c 005348 inject mod ,3 
+0x276d 005349 deposit type 
+0x276e 005350 inject mod ,4 
+0x276f 005351 fetch 1 ,mem_arq 
+0x2770 005352 inject bucket ,4 
+0x2771 005353 inject mod ,3 
+0x2772 005354 enable enable_parity 
+0x2773 005355 inject mod ,8 
+0x2774 005356 disable encode_fec1 
+0x2775 005357 disable enable_parity 
+0x2776 005358 disable enable_hec 
+0x2777 005359 set0 psk3m ,radio_ctrl 
+0x2778 005360 arg 0 ,temp 
+0x2779 005361 call reserve_slot 
+0x277a 005362 bpatch patch0e_5 ,mem_patch0e 
+0x277b 005363 and type ,0x1f ,pdata 
+0x277c 005364 beq type_lmp ,transmit_lmp 
+0x277d 005365 beq type_null ,end_of_packet 
+0x277e 005366 beq type_poll ,end_of_packet 
+0x277f 005367 beq type_fhs ,transmit_fhs 
+0x2780 005368 beq type_dm1 ,transmit_dm1 
+0x2781 005369 beq type_dh1 ,transmit_dh1 
+0x2782 005370 beq type_hv3 ,transmit_hev 
+0x2783 005371 beq type_3dh1 ,transmit_3dh1 
+0x2784 005372 arg 4 ,temp 
+0x2785 005373 call reserve_slot 
+0x2786 005374 beq type_dm3 ,transmit_dm3 
+0x2787 005375 beq type_dh3 ,transmit_dh3 
+0x2788 005376 arg 8 ,temp 
+0x2789 005377 call reserve_slot 
+0x278a 005378 beq type_dh5 ,transmit_dh5 
+0x278b 005379 branch transmit_dm5 
+:      005382 transmit_hev:
+0x278c 005383 bpatch patch0e_6 ,mem_patch0e 
+0x278d 005384 enable encode_fec0 
+0x278e 005385 enable enable_crc 
+0x278f 005386 enable encrypt 
+0x2790 005387 force 30 ,loopcnt 
+0x2791 005388 arg mem_sco_obuf ,contr 
+:      005389 transmit_ev_loop:
+0x2792 005390 ifetch 1 ,contr 
+0x2793 005391 inject mod ,8 
+0x2794 005392 loop transmit_ev_loop 
+0x2795 005393 bmark1 mark_esco ,transmit_end 
+0x2796 005394 branch end_of_packet 
+:      005396 transmit_fhs:
+0x2797 005397 bpatch patch0e_7 ,mem_patch0e 
+0x2798 005398 fetch 1 ,mem_fhs_am_addr 
+0x2799 005399 icopy am_addr 
+0x279a 005400 fetch 1 ,mem_fhs_misc 
+0x279b 005401 icopy fhs_misc 
+0x279c 005402 fetch 3 ,mem_class 
+0x279d 005403 icopy fhs_class 
+0x279e 005404 fetch 2 ,mem_nap 
+0x279f 005405 icopy nap 
+0x27a0 005406 enable enable_crc 
+0x27a1 005407 enable encode_fec2 
+0x27a2 005408 copy bt_adr ,rega 
+0x27a3 005409 call fetch_self_bt_adr 
+0x27a4 005410 pulse recalc 
+0x27a5 005411 nop 32 
+0x27a6 005412 copy bt_clk ,timeup 
+0x27a7 005413 fetch 4 ,mem_clkn_bt 
+0x27a8 005414 icopy bt_clk 
+0x27a9 005415 preload fhs0 
+0x27aa 005416 set1 58 ,pdata 
+0x27ab 005417 inject mod ,72 
+0x27ac 005418 preload fhs1 
+0x27ad 005419 inject mod ,72 
+0x27ae 005420 copy timeup ,bt_clk 
+0x27af 005421 copy rega ,bt_adr 
+0x27b0 005422 enable enable_parity 
+0x27b1 005423 inject mod ,16 
+0x27b2 005424 disable enable_parity 
+0x27b3 005425 branch end_of_packet 
+:      005427 transmit_lmp:
+0x27b4 005428 bpatch patch0f_0 ,mem_patch0f 
+0x27b5 005429 enable encrypt 
+0x27b6 005430 enable enable_crc 
+0x27b7 005431 enable encode_fec2 
+0x27b8 005432 fetch 1 ,mem_lmo_header_length 
+0x27b9 005433 and pdata ,0x1f8 ,temp 
+0x27ba 005434 arg mem_lmo_header_length ,contr 
+0x27bb 005435 increase 8 ,temp 
+:      005436 transmit_lmp_loop:
+0x27bc 005437 add temp ,-72 ,regc 
+0x27bd 005438 nbranch transmit_lmp_finish ,positive 
+0x27be 005439 ifetch 9 ,contr 
+0x27bf 005440 inject mod ,72 
+0x27c0 005441 copy regc ,temp 
+0x27c1 005442 branch transmit_lmp_loop 
+:      005443 transmit_lmp_finish:
+0x27c2 005444 ifetch 9 ,contr 
+0x27c3 005445 iinject mod ,temp 
+0x27c4 005446 branch transmit_end 
+:      005448 transmit_dm1:
+0x27c5 005449 enable encode_fec2 
+0x27c6 005450 branch transmit_dmh 
+:      005451 transmit_dm3:
+:      005452 transmit_dm5:
+0x27c7 005453 enable encode_fec2 
+0x27c8 005454 set1 mark_longpacket ,mark 
+0x27c9 005455 branch transmit_dmh 
+:      005457 transmit_3dh1:
+0x27ca 005458 set1 psk3m ,radio_ctrl 
+:      005459 transmit_dh1:
+0x27cb 005460 enable encode_fec0 
+0x27cc 005461 branch transmit_dmh 
+:      005463 transmit_dh3:
+:      005464 transmit_dh5:
+0x27cd 005465 set1 psk3m ,radio_ctrl 
+0x27ce 005466 enable encode_fec0 
+0x27cf 005467 set1 mark_longpacket ,mark 
+:      005469 transmit_dmh:
+0x27d0 005470 bpatch patch0f_1 ,mem_patch0f 
+0x27d1 005471 fetch 1 ,mem_state_map 
+0x27d2 005472 bbit0 smap_edr ,transmit_noedr 
+0x27d3 005473 sub type ,3 ,null 
+0x27d4 005474 branch transmit_noedr ,positive 
+0x27d5 005475 disable encrypt 
+0x27d6 005476 disable encode_fec2 
+0x27d7 005477 enable encode_fec0 
+0x27d8 005478 disable enable_white 
+0x27d9 005479 set1 psk ,radio_ctrl 
+0x27da 005480 isolate1 psk3m ,radio_ctrl 
+0x27db 005481 branch transmit_edr3m ,true 
+0x27dc 005482 setarg 0xabeee 
+0x27dd 005483 inject mod ,20 
+0x27de 005484 branch transmit_edr_sync_end 
+:      005485 transmit_edr3m:
+0x27df 005486 setarg 0x5faeba 
+0x27e0 005487 inject mod ,24 
+0x27e1 005488 setarg 0x12 
+0x27e2 005489 inject mod ,6 
+:      005490 transmit_edr_sync_end:
+0x27e3 005491 enable enable_white 
+0x27e4 005492 set1 mark_longpacket ,mark 
+:      005493 transmit_noedr:
+0x27e5 005494 enable encrypt 
+0x27e6 005495 enable enable_crc 
+0x27e7 005496 bmark1 mark_loopback ,transmit_loopback 
+0x27e8 005497 fetch 1 ,mem_tx_lch 
+0x27e9 005498 inject mod ,3 
+0x27ea 005499 fetch 2 ,mem_tx_len 
+0x27eb 005500 iforce loopcnt 
+0x27ec 005501 bmark1 mark_longpacket ,transmit_long 
+0x27ed 005502 inject mod ,5 
+0x27ee 005503 branch transmit_stuff 
+:      005504 transmit_long:
+0x27ef 005505 inject mod ,13 
+:      005506 transmit_stuff:
+0x27f0 005507 deposit loopcnt 
+0x27f1 005508 branch transmit_end ,blank 
+0x27f2 005509 fetch 2 ,mem_txptr 
+0x27f3 005510 iforce contr 
+:      005511 transmit_stuff_loop:
+0x27f4 005512 ifetch 1 ,contr 
+0x27f5 005513 inject mod ,8 
+0x27f6 005514 loop transmit_stuff_loop 
+:      005517 transmit_end:
+0x27f7 005518 enable enable_parity 
+0x27f8 005519 inject mod ,16 
+0x27f9 005520 disable enable_parity 
+0x27fa 005521 call set_wait_ack 
+0x27fb 005522 fetch 1 ,mem_state_map 
+0x27fc 005523 bbit0 smap_edr ,end_of_packet 
+0x27fd 005524 force 0 ,pdata 
+0x27fe 005525 inject mod ,6 
+0x27ff 005526 branch end_of_packet 
+:      005529 transmit_loopback:
+0x2800 005530 bpatch patch0f_2 ,mem_patch0f 
+0x2801 005531 bmark1 mark_longpacket ,transmit_loopback_long 
+:      005532 transmit_loopback_short:
+0x2802 005533 fetch 1 ,mem_lch_code 
+0x2803 005534 inject mod ,3 
+0x2804 005535 fetch 1 ,mem_len 
+0x2805 005536 iforce regc 
+0x2806 005537 inject mod ,5 
+0x2807 005538 branch transmit_loopback_cont 
+:      005539 transmit_loopback_long:
+0x2808 005540 fetch 1 ,mem_lch_code 
+0x2809 005541 inject mod ,3 
+0x280a 005542 fetch 2 ,mem_len 
+0x280b 005543 iforce regc 
+0x280c 005544 inject mod ,13 
+:      005545 transmit_loopback_cont:
+0x280d 005546 arg mem_rxbuf ,contr 
+:      005547 transmit_loopback_loop:
+0x280e 005548 copy regc ,null 
+0x280f 005549 branch transmit_loopback_end ,zero 
+0x2810 005550 ifetch 1 ,contr 
+0x2811 005551 inject mod ,8 
+0x2812 005552 increase -1 ,regc 
+0x2813 005553 branch transmit_loopback_loop 
+:      005554 transmit_loopback_end:
+0x2814 005555 fetch 2 ,mem_tst_pktcnt_dmh 
+0x2815 005556 increase 1 ,pdata 
+0x2816 005557 store 2 ,mem_tst_pktcnt_dmh 
+0x2817 005558 branch transmit_end 
+:      005561 apply_switch_clke:
+0x2818 005562 fetch 4 ,mem_clke_bt 
+0x2819 005563 add pdata ,7 ,rega 
+0x281a 005564 fetch 2 ,mem_slot_offset 
+0x281b 005565 nbranch apply_switch_nozero ,blank 
+0x281c 005566 increase -3 ,rega 
+0x281d 005567 branch apply_switch_wait_loop 
+:      005568 apply_switch_nozero:
+0x281e 005569 mul32 pdata ,12 ,pdata 
+0x281f 005570 hfetcht 2 ,core_halfslot 
+0x2820 005571 increase 1 ,temp 
+:      005572 apply_switch_loop:
+0x2821 005573 isub temp ,pdata 
+0x2822 005574 nbranch apply_switch_bt ,positive 
+0x2823 005575 increase -1 ,rega 
+0x2824 005576 branch apply_switch_loop 
+:      005577 apply_switch_bt:
+0x2825 005578 sub pdata ,0 ,pdata 
+:      005579 apply_switch_wait_loop:
+0x2826 005580 until null ,oneslot 
+0x2827 005581 compare 0 ,clkn_bt ,3 
+0x2828 005582 nbranch apply_switch_wait_loop ,true 
+0x2829 005583 iforce clke_rt 
+0x282a 005584 copy rega ,clke_bt 
+0x282b 005585 iforce clke_rt 
+0x282c 005586 rtn 
+:      005589 calc_slot_offset:
+0x282d 005590 bpatch patch0f_3 ,mem_patch0f 
+0x282e 005591 until null ,halfslot 
+0x282f 005592 deposit clke 
+0x2830 005593 iforce contr 
+0x2831 005594 rshift16 ,pdata ,pdata 
+0x2832 005595 isub clkn_bt ,loopcnt 
+0x2833 005596 and_into 3 ,loopcnt 
+0x2834 005597 nbranch calc_bt_portion ,zero 
+0x2835 005598 force 0 ,pdata 
+0x2836 005599 branch calc_skip_bt 
+:      005600 calc_bt_portion:
+0x2837 005601 arg 3750 ,temp 
+0x2838 005602 force 0 ,pdata 
+:      005603 calc_slot_offset_loop:
+0x2839 005604 iadd temp ,pdata 
+0x283a 005605 loop calc_slot_offset_loop 
+:      005606 calc_skip_bt:
+0x283b 005607 iadd contr ,pdata 
+0x283c 005608 div pdata ,12 
+0x283d 005609 call wait_div_end 
+0x283e 005610 quotient pdata 
+0x283f 005611 store 2 ,mem_slot_offset 
+0x2840 005612 rtn 
+:      005614 calc_clke_offset:
+0x2841 005615 bpatch patch0f_4 ,mem_patch0f 
+0x2842 005616 deposit clke 
+0x2843 005617 copy clkn ,temp 
+0x2844 005618 isub temp ,null 
+0x2845 005619 nsetflag positive ,44 ,pdata 
+0x2846 005620 isub temp ,temp 
+0x2847 005621 setarg 3750 
+0x2848 005622 isolate0 15 ,temp 
+0x2849 005623 branch calc_clke_pos ,true 
+0x284a 005624 setarg -61786 
+0x284b 005625 iadd temp ,temp 
+:      005626 calc_clke_pos:
+0x284c 005627 storet 6 ,mem_le_clk_offset 
+0x284d 005628 rtn le 
+0x284e 005629 storet 6 ,mem_clk_offset 
+0x284f 005630 rtn 
+:      005632 calc_clke:
+0x2850 005633 disable clknt 
+0x2851 005634 fetch 6 ,mem_le_clk_offset 
+0x2852 005635 branch calc_clke2 ,le 
+0x2853 005636 fetch 6 ,mem_clk_offset 
+:      005637 calc_clke2:
+0x2854 005638 iadd clkn ,alarm 
+0x2855 005639 increase 10 ,alarm 
+0x2856 005640 setarg 3750 
+0x2857 005641 isub alarm ,pdata 
+0x2858 005642 isolate0 15 ,pdata 
+0x2859 005643 branch calc_clke_pos_adj ,true 
+0x285a 005644 setarg 0xf15a 
+0x285b 005645 iadd alarm ,alarm 
+:      005646 calc_clke_pos2:
+0x285c 005647 copy alarm ,clke 
+0x285d 005648 rtn 
+:      005649 calc_clke_pos_adj:
+0x285e 005650 force 0 ,null 
+0x285f 005651 branch calc_clke_pos2 
+:      005658 calc_radio_freq:
+0x2860 005659 bpatch patch0f_5 ,mem_patch0f 
+0x2861 005660 call set_sync_on 
+0x2862 005661 copy bt_clk ,pdata 
+0x2863 005662 and_into 0x180 ,pdata 
+0x2864 005663 compare 3 ,freq_mode ,0x07 
+0x2865 005664 nbranch freq_not_connection ,true 
+0x2866 005665 rshift3 pdata ,pdata 
+0x2867 005666 iadd freq_index ,pdata 
+0x2868 005667 branch do_hop_mod_now 
+:      005668 freq_not_connection:
+0x2869 005669 copy freq_index ,pdata 
+:      005670 do_hop_mod_now:
+0x286a 005671 div pdata ,79 
+0x286b 005672 pulse recalc 
+0x286c 005673 call wait_div_end 
+0x286d 005674 remainder rega 
+0x286e 005675 add rega ,-40 ,temp 
+0x286f 005676 branch odd_half ,positive 
+0x2870 005677 lshift rega ,temp 
+0x2871 005678 branch freq_result 
+:      005679 odd_half:
+0x2872 005680 lshift temp ,temp 
+0x2873 005681 increase 1 ,temp 
+:      005682 freq_result:
+0x2874 005683 bpatch patch0f_6 ,mem_patch0f 
+0x2875 005684 fetch 1 ,mem_mode 
+0x2876 005685 bbit0 afh_change ,afh_process_con 
+:      005686 afh_process_0:
+0x2877 005687 fetch 4 ,mem_afh_instant 
+0x2878 005688 isub bt_clk ,null 
+0x2879 005689 branch afh_process_con ,positive 
+0x287a 005690 call afh_clear 
+0x287b 005691 fetch 1 ,mem_afh_new_mod 
+0x287c 005692 rtn blank 
+0x287d 005693 fetch 1 ,mem_mode 
+0x287e 005694 set1 afh_enable ,pdata 
+0x287f 005695 store 1 ,mem_mode 
+0x2880 005696 fetch 5 ,mem_afh_map_new 
+0x2881 005697 store 5 ,mem_afh_map_lo 
+0x2882 005698 ifetch 5 ,contr 
+0x2883 005699 store 5 ,mem_afh_map_hi 
+0x2884 005700 call afh_process_freq_map 
+:      005701 afh_process_con:
+0x2885 005702 fetch 1 ,mem_mode 
+0x2886 005703 rtnbit0 afh_enable 
+0x2887 005704 isolate1 1 ,bt_clk 
+0x2888 005705 branch afh_same_channel ,true 
+0x2889 005706 rshift3 temp ,rega 
+0x288a 005707 and temp ,7 ,queue 
+0x288b 005708 setarg mem_afh_map_lo 
+0x288c 005709 iadd rega ,rega 
+0x288d 005710 ifetch 1 ,rega 
+0x288e 005711 qisolate0 pdata 
+0x288f 005712 branch afh_process_1 ,true 
+0x2890 005713 deposit temp 
+0x2891 005714 branch afh_process_end 
+:      005715 afh_process_1:
+0x2892 005716 fetch 1 ,mem_afh_used 
+0x2893 005717 iforce regb 
+0x2894 005718 deposit bt_clk 
+0x2895 005719 and_into 0x180 ,pdata 
+0x2896 005720 rshift3 pdata ,pdata 
+0x2897 005721 iadd freq_index ,pdata 
+0x2898 005722 idiv regb 
+0x2899 005723 setarg mem_afh_map 
+0x289a 005724 call wait_div_end 
+0x289b 005725 remainder rega 
+0x289c 005726 iadd rega ,contr 
+0x289d 005727 ifetch 1 ,contr 
+:      005728 afh_process_end:
+0x289e 005729 store 1 ,mem_afh_index 
+0x289f 005730 iforce temp 
+0x28a0 005731 rtn 
+:      005733 afh_same_channel:
+0x28a1 005734 fetch 1 ,mem_afh_index 
+0x28a2 005735 iforce temp 
+0x28a3 005736 rtn 
+:      005738 afh_clear:
+0x28a4 005739 fetch 1 ,mem_mode 
+0x28a5 005740 set0 afh_enable ,pdata 
+0x28a6 005741 set0 afh_change ,pdata 
+0x28a7 005742 store 1 ,mem_mode 
+0x28a8 005743 rtn 
+:      005749 afh_process_freq_map:
+0x28a9 005750 bpatch patch0f_7 ,mem_patch0f 
+0x28aa 005751 arg mem_afh_map ,contw 
+0x28ab 005752 force 10 ,loopcnt 
+0x28ac 005753 call memset0 
+0x28ad 005754 arg mem_afh_map ,contw 
+0x28ae 005755 force 0 ,regc 
+0x28af 005756 force 2 ,queue 
+:      005757 process_freq_3:
+0x28b0 005758 fetch 5 ,mem_afh_map_lo 
+0x28b1 005759 iforce temp 
+0x28b2 005760 compare 2 ,queue ,0xff 
+0x28b3 005761 branch process_freq_1 ,true 
+0x28b4 005762 rshift temp ,temp 
+:      005763 process_freq_1:
+0x28b5 005764 isolate0 0 ,temp 
+0x28b6 005765 branch process_freq_0 ,true 
+0x28b7 005766 deposit regc 
+0x28b8 005767 istore 1 ,contw 
+:      005768 process_freq_0:
+0x28b9 005769 rshift2 temp ,temp 
+0x28ba 005770 increase 2 ,regc 
+0x28bb 005771 compare 40 ,regc ,0xfe 
+0x28bc 005772 nbranch process_freq_2 ,true 
+0x28bd 005773 fetch 5 ,mem_afh_map_hi 
+0x28be 005774 iforce temp 
+0x28bf 005775 compare 2 ,queue ,0xff 
+0x28c0 005776 branch process_freq_2 ,true 
+0x28c1 005777 rshift temp ,temp 
+:      005778 process_freq_2:
+0x28c2 005779 sub regc ,78 ,null 
+0x28c3 005780 branch process_freq_1 ,positive 
+0x28c4 005781 force 1 ,regc 
+0x28c5 005782 increase -1 ,queue 
+0x28c6 005783 nbranch process_freq_3 ,zero 
+0x28c7 005784 arg mem_afh_map ,rega 
+0x28c8 005785 deposit contw 
+0x28c9 005786 isub rega ,pdata 
+0x28ca 005787 store 1 ,mem_afh_used 
+0x28cb 005788 rtn 
+:      005790 rx_radio_freq:
+0x28cc 005791 bpatch patch10_0 ,mem_patch10 
+0x28cd 005792 call calc_radio_freq 
+0x28ce 005793 fetch 1 ,mem_debug_config 
+0x28cf 005794 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x28d0 005795 fetcht 1 ,mem_rx_fixed_freq 
+:      005796 rx_radio_freq_now:
+0x28d1 005797 branch set_freq_rx 
+:      005800 tx_radio_freq:
+0x28d2 005801 bpatch patch10_1 ,mem_patch10 
+0x28d3 005802 call calc_radio_freq 
+0x28d4 005803 fetch 1 ,mem_debug_config 
+0x28d5 005804 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x28d6 005805 fetcht 1 ,mem_tx_fixed_freq 
+:      005806 tx_radio_freq_now:
+0x28d7 005807 branch set_freq_tx 
+:      005810 fetch_giac:
+0x28d8 005811 force 0 ,uap 
+0x28d9 005812 fetch 3 ,mem_glap 
+0x28da 005813 iforce lap 
+0x28db 005814 rtn 
+:      005816 fetch_page_bt_adr:
+0x28dc 005817 bpatch patch10_2 ,mem_patch10 
+0x28dd 005818 fetch 1 ,mem_hci_puap 
+0x28de 005819 icopy uap 
+0x28df 005820 fetch 3 ,mem_hci_plap 
+0x28e0 005821 icopy lap 
+0x28e1 005822 rtn 
+:      005824 fetch_self_bt_adr:
+0x28e2 005825 bpatch patch10_3 ,mem_patch10 
+0x28e3 005826 fetch 2 ,mem_nap 
+0x28e4 005827 icopy nap 
+0x28e5 005828 fetch 1 ,mem_uap 
+0x28e6 005829 icopy uap 
+0x28e7 005830 fetch 3 ,mem_lap 
+0x28e8 005831 icopy lap 
+0x28e9 005832 rtn 
+:      005834 fetch_extm_bt_adr:
+0x28ea 005835 bpatch patch10_4 ,mem_patch10 
+0x28eb 005836 fetch 2 ,mem_pnap 
+0x28ec 005837 icopy nap 
+0x28ed 005838 fetch 1 ,mem_puap 
+0x28ee 005839 icopy uap 
+0x28ef 005840 fetch 3 ,mem_plap 
+0x28f0 005841 icopy lap 
+0x28f1 005842 rtn 
+:      005845 fetch_diac:
+0x28f2 005846 bmark1 mark_all_diac ,fetch_diac_do 
+0x28f3 005847 rtnmark0 mark_inquiry_state 
+0x28f4 005848 rtnmark0 mark_periodical_diac 
+:      005849 fetch_diac_do:
+0x28f5 005850 and_into -256 ,lap 
+0x28f6 005851 pulse recalc 
+0x28f7 005852 nop 32 
+0x28f8 005853 rtn 
+:      005856 shutdown_radio:
+0x28f9 005857 bpatch patch10_5 ,mem_patch10 
+0x28fa 005858 branch shutdown_radio0 ,is_rx 
+0x28fb 005859 jam 0xd4 ,rf_tx_pa_ib 
+0x28fc 005860 nop 4 
+0x28fd 005861 jam 0xd2 ,rf_tx_pa_ib 
+0x28fe 005862 nop 4 
+0x28ff 005863 jam 0xd1 ,rf_tx_pa_ib 
+0x2900 005864 nop 4 
+0x2901 005865 fetch 1 ,mem_tx_power 
+0x2902 005866 beq tx_power_0db ,shutdown_radio_0db 
+0x2903 005867 beq tx_power_3db ,shutdown_radio_3db 
+0x2904 005868 beq tx_power_5db ,shutdown_radio_5db 
+0x2905 005869 beq tx_power_f3db ,shutdown_radio_f3db 
+0x2906 005870 beq tx_power_f5db ,shutdown_radio_f5db 
+0x2907 005871 beq tx_power_pair ,shutdown_radio_pair 
+:      005872 shutdown_radio_5db:
+:      005873 shutdown_radio_0db:
+0x2908 005874 jam 0xd0 ,rf_tx_pa_ib 
+0x2909 005875 jam 0xe0 ,rf_tx_pa_gc 
+:      005876 shutdown_radio0:
+0x290a 005877 force 0 ,radio_ctrl 
+0x290b 005878 disable is_rx 
+0x290c 005879 disable is_tx 
+0x290d 005880 pulse packet_end 
+0x290e 005881 jam 0x0 ,rfen_mdm 
+0x290f 005882 jam 0x0 ,rfen_tx 
+0x2910 005883 jam 0x0 ,rfen_rx 
+0x2911 005884 jam 0 ,rfen_sn 
+0x2912 005885 jam 0x70 ,rfen_msc 
+0x2913 005886 jam 0x0 ,rfen_adc 
+0x2914 005887 rtn 
+:      005889 shutdown_radio_pair:
+:      005890 shutdown_radio_f5db:
+:      005891 shutdown_radio_f3db:
+:      005892 shutdown_radio_3db:
+0x2915 005893 jam 0xd0 ,rf_tx_pa_ib 
+0x2916 005894 jam 0xc0 ,rf_tx_pa_gc 
+0x2917 005895 branch shutdown_radio0 
+:      005897 set_sync_on:
+0x2918 005898 bpatch patch10_6 ,mem_patch10 
+0x2919 005899 jam 0x0 ,rfen_mdm 
+0x291a 005900 jam 0x0 ,rfen_tx 
+0x291b 005901 jam 0x18 ,rfen_rx 
+0x291c 005902 jam 0xa7 ,rfen_sn 
+0x291d 005903 jam 0x7f ,rfen_msc 
+0x291e 005904 rtn 
+:      005906 set_freq_rx:
+0x291f 005907 bpatch patch10_7 ,mem_patch10 
+0x2920 005909 storet 1 ,mem_last_freq 
+0x2921 005910 add temp ,rx_freq_offset ,rega 
+0x2922 005911 jam 0x07 ,rf_balun_ctrim 
+0x2923 005912 branch rf_write_freq 
+:      005913 rf_rx_enable:
+0x2924 005914 bpatch patch11_0 ,mem_patch11 
+0x2925 005915 jam 0xcf ,rfen_tx 
+0x2926 005916 nop 10 
+0x2927 005917 jam 0xff ,rfen_rx 
+0x2928 005918 jam 0xaf ,rfen_sn 
+0x2929 005919 jam 0xff ,rfen_msc 
+0x292a 005920 nop 10 
+0x292b 005921 jam 0xa0 ,rfen_mdm 
+0x292c 005922 rtn 
+:      005924 set_freq_tx_offset:
+0x292d 005925 fetch 1 ,mem_250k_freq_enable 
+0x292e 005926 branch set_freq_tx_2m_offset ,blank 
+:      005927 set_freq_tx_0m_offset:
+0x292f 005928 add temp ,2 ,rega 
+0x2930 005929 rtn 
+:      005930 set_freq_tx_2m_offset:
+0x2931 005931 add temp ,0 ,rega 
+0x2932 005932 rtn 
+:      005934 set_freq_tx:
+0x2933 005935 bpatch patch11_1 ,mem_patch11 
+0x2934 005936 storet 1 ,mem_last_freq 
+0x2935 005937 call set_freq_tx_offset 
+0x2936 005938 call rf_write_freq 
+0x2937 005939 setarg param_pll_setup 
+0x2938 005940 call sleep 
+:      005941 txon:
+0x2939 005942 jam 0x1 ,rfen_adc 
+0x293a 005943 jam 0x3c ,rfen_rx 
+0x293b 005944 jam 0xe0 ,rfen_tx 
+0x293c 005945 jam 0x12 ,rf_balun_ctrim 
+0x293d 005946 nop 10 
+0x293e 005947 jam 0x01 ,rfen_mdm 
+0x293f 005948 jam 0x3d ,rfen_mdm 
+0x2940 005949 nop 10 
+0x2941 005950 jam 0xb7 ,rfen_sn 
+0x2942 005951 nop 10 
+0x2943 005952 jam 0x7f ,rfen_mdm 
+:      005953 txon_power_select:
+0x2944 005954 fetch 1 ,mem_tx_power 
+0x2945 005955 beq tx_power_0db ,set_tx_power_0db 
+0x2946 005956 beq tx_power_3db ,set_tx_power_3db 
+0x2947 005957 beq tx_power_5db ,set_tx_power_5db 
+0x2948 005958 beq tx_power_f3db ,set_tx_power_f3db 
+0x2949 005959 beq tx_power_f5db ,set_tx_power_f5db 
+0x294a 005960 beq tx_power_pair ,set_tx_power_pair 
+:      005961 set_tx_power_0db:
+0x294b 005962 jam 0xf0 ,rf_tx_pa_gc 
+0x294c 005963 call txon_common 
+0x294d 005964 jam 0xd8 ,rf_tx_pa_ib 
+0x294e 005965 rtn 
+:      005967 set_tx_power_3db:
+0x294f 005968 jam 0xdf ,rf_tx_pa_gc 
+0x2950 005969 call txon_common 
+0x2951 005970 jam 0xdf ,rf_tx_pa_ib 
+0x2952 005971 rtn 
+:      005973 set_tx_power_5db:
+0x2953 005974 jam 0xff ,rf_tx_pa_gc 
+0x2954 005975 call txon_common 
+0x2955 005976 jam 0xdf ,rf_tx_pa_ib 
+0x2956 005977 rtn 
+:      005978 set_tx_power_f3db:
+0x2957 005979 jam 0xce ,rf_tx_pa_gc 
+0x2958 005980 call txon_common 
+0x2959 005981 jam 0xd8 ,rf_tx_pa_ib 
+0x295a 005982 rtn 
+:      005984 set_tx_power_f5db:
+0x295b 005985 jam 0xcb ,rf_tx_pa_gc 
+0x295c 005986 call txon_common 
+0x295d 005987 jam 0xd8 ,rf_tx_pa_ib 
+0x295e 005988 rtn 
+:      005990 set_tx_power_pair:
+0x295f 005991 jam 0xd0 ,rf_tx_pa_ib 
+0x2960 005992 jam 0xc0 ,rf_tx_pa_gc 
+0x2961 005993 jam 0x4c ,0x8957 
+0x2962 005994 jam 0x6c ,0x8958 
+0x2963 005995 jam 0x50 ,0x8959 
+0x2964 005996 rtn 
+:      005998 txon_common:
+0x2965 005999 nop 4 
+0x2966 006000 jam 0xd1 ,rf_tx_pa_ib 
+0x2967 006001 nop 4 
+0x2968 006002 jam 0xd2 ,rf_tx_pa_ib 
+0x2969 006003 nop 4 
+0x296a 006004 jam 0xd4 ,rf_tx_pa_ib 
+0x296b 006005 rtn 
+:      006008 initialize_radio:
+0x296c 006009 jam clksel_rc ,core_clksel 
+:      006010 initialize_radio_wait:
+0x296d 006011 fetch 2 ,mem_rf_init_ptr 
+0x296e 006012 bbit0 14 ,initialize_radio_wait 
+0x296f 006013 iforce contr 
+0x2970 006014 arg 0x8900 ,temp 
+:      006015 initialize_radio_loop:
+0x2971 006016 ifetch 1 ,contr 
+0x2972 006017 beq 0xff ,initialize_radio_cont 
+0x2973 006018 ior temp ,contw 
+0x2974 006019 ifetch 1 ,contr 
+0x2975 006020 istore 1 ,contw 
+0x2976 006021 branch initialize_radio_loop 
+:      006022 initialize_radio_cont:
+0x2977 006023 bpatch patch11_2 ,mem_patch11 
+0x2978 006024 call lpm_cal_xtal_startup 
+0x2979 006025 call switchto_dpllclk 
+0x297a 006027 setarg param_dpll_start_delay 
+0x297b 006028 iadd clkn_bt ,pdata 
+0x297c 006029 store 4 ,mem_dpll_clkn 
+0x297d 006030 set1 reset ,radio_ctrl 
+0x297e 006031 force 0 ,radio_ctrl 
+0x297f 006032 ncall do_rccal ,wake 
+0x2980 006033 branch set_rccal 
+:      006036 rf_write_freq:
+0x2981 006037 bpatch patch11_3 ,mem_patch11 
+0x2982 006038 setarg 2400 
+0x2983 006039 iadd rega ,temp 
+0x2984 006040 fetch 1 ,mem_fcomp_mul 
+0x2985 006041 jam 0x04 ,rf_pll_rstn 
+0x2986 006042 imul32 temp ,pdata 
+0x2987 006043 fetcht 1 ,mem_fcomp_div 
+0x2988 006044 idiv temp 
+0x2989 006045 call wait_div_end 
+0x298a 006046 quotient rega 
+0x298b 006047 remainder pdata 
+0x298c 006048 lshift16 pdata ,pdata 
+0x298d 006049 lshift4 pdata ,pdata 
+0x298e 006050 idiv temp 
+0x298f 006051 call wait_div_end 
+0x2990 006052 quotient pdata 
+0x2991 006053 lshift8 pdata ,pdata 
+0x2992 006054 lshift pdata ,pdata 
+0x2993 006055 ior rega ,pdata 
+0x2994 006056 hstore 4 ,rf_pll_intg 
+0x2995 006057 jam 0x44 ,rf_pll_rstn 
+0x2996 006058 jam 0xc4 ,rf_pll_rstn 
+0x2997 006059 rtn 
+:      006062 do_rccal:
+0x2998 006063 bpatch patch11_4 ,mem_patch11 
+0x2999 006064 jam 0x02 ,rfen_adc 
+0x299a 006065 setarg 250000 
+0x299b 006066 call sleep 
+0x299c 006067 jam 0x7f ,rfen_rx 
+0x299d 006068 nop 130 
+0x299e 006069 jam 0x30 ,rf_rccal_ctrl 
+0x299f 006070 jam 0xd0 ,rfen_tx 
+0x29a0 006071 jam 0x70 ,rf_rccal_ctrl 
+0x29a1 006072 jam 0xf0 ,rf_rccal_ctrl 
+0x29a2 006073 force 50 ,loopcnt 
+:      006074 do_rccal_loop:
+0x29a3 006075 hfetch 1 ,rf_rccal_result 
+0x29a4 006076 bbit1 5 ,do_rccal_end 
+0x29a5 006077 loop do_rccal_loop 
+:      006078 do_rccal_end:
+0x29a6 006079 store 1 ,mem_rf_rccal 
+0x29a7 006080 jam 0 ,rfen_tx 
+0x29a8 006081 jam 0 ,rfen_rx 
+0x29a9 006082 jam 0x00 ,rfen_adc 
+0x29aa 006083 rtn 
+:      006085 set_rccal:
+0x29ab 006086 bpatch patch11_5 ,mem_patch11 
+0x29ac 006087 fetch 1 ,mem_rf_rccal 
+0x29ad 006088 set1 5 ,pdata 
+0x29ae 006089 hstore 1 ,rf_rccal_ctrl 
+0x29af 006090 hfetcht 1 ,rf_bpf_ctrim 
+0x29b0 006091 and_into 7 ,temp 
+0x29b1 006092 lshift3 pdata ,pdata 
+0x29b2 006093 ior temp ,pdata 
+0x29b3 006094 hstore 1 ,rf_bpf_ctrim 
+0x29b4 006095 hfetch 1 ,rf_bpf_ib 
+0x29b5 006096 set0 bpf_rccal ,pdata 
+0x29b6 006097 hstore 1 ,rf_bpf_ib 
+0x29b7 006098 hfetch 1 ,rf_adc_rccal 
+0x29b8 006099 set0 adc_rccal ,pdata 
+0x29b9 006100 hstore 1 ,rf_adc_rccal 
+0x29ba 006101 rtn 
+:      006103 save_rssi:
+0x29bb 006104 bpatch patch11_6 ,mem_patch11 
+0x29bc 006105 hfetch 2 ,rf_afc_d2a 
+0x29bd 006106 rshift4 pdata ,pdata 
+0x29be 006107 rshift3 pdata ,pdata 
+0x29bf 006108 sub pdata ,0 ,pdata 
+:      006109 bcd:
+0x29c0 006110 and_into 0xff ,pdata 
+0x29c1 006111 div pdata ,10 
+0x29c2 006112 call wait_div_end 
+0x29c3 006113 quotient pdata 
+0x29c4 006114 lshift4 pdata ,pdata 
+0x29c5 006115 remainder temp 
+0x29c6 006116 ior temp ,pdata 
+0x29c7 006117 store 1 ,mem_rssi 
+0x29c8 006118 rtn 
+:      006121 switchto_dpllclk:
+0x29c9 006122 jam clksel_rc ,core_clksel 
+0x29ca 006123 hfetch 1 ,rf_clkpll_frac + 2 
+0x29cb 006124 set0 4 ,pdata 
+0x29cc 006125 set0 5 ,pdata 
+0x29cd 006126 hstore 1 ,rf_clkpll_frac + 2 
+0x29ce 006127 jam 0x00 ,rfen_ck 
+0x29cf 006128 jam 0x00 ,rfen_msc 
+0x29d0 006129 jam 0x70 ,rfen_msc 
+0x29d1 006130 jam 0xff ,rfen_ck 
+0x29d2 006131 hfetch 1 ,rf_clkpll_frac + 2 
+0x29d3 006132 set1 4 ,pdata 
+0x29d4 006133 set1 5 ,pdata 
+0x29d5 006134 hstore 1 ,rf_clkpll_frac + 2 
+0x29d6 006135 call init_lpm_ctrl 
+0x29d7 006136 hfetch 1 ,rf_clkpll_int 
+0x29d8 006137 set1 7 ,pdata 
+0x29d9 006138 hstore 1 ,rf_clkpll_int 
+0x29da 006139 set0 7 ,pdata 
+0x29db 006140 hstore 1 ,rf_clkpll_int 
+0x29dc 006141 set1 7 ,pdata 
+0x29dd 006142 hstore 1 ,rf_clkpll_int 
+0x29de 006143 jam clksel_dpll ,core_clksel 
+0x29df 006144 nop 1 
+0x29e0 006145 jam clksel_xtal ,core_clksel 
+0x29e1 006146 hfetch 1 ,rf_clkpll_frac + 2 
+0x29e2 006147 and_into 0xcf ,pdata 
+0x29e3 006148 hstore 1 ,rf_clkpll_frac + 2 
+0x29e4 006149 or_into 0x30 ,pdata 
+0x29e5 006150 hstore 1 ,rf_clkpll_frac + 2 
+0x29e6 006151 rtn 
+:      006154 xtal_fast_wake:
+0x29e7 006155 setarg 0xf0f 
+0x29e8 006156 branch lpm_write_config 
+:      006158 init_lpm_ctrl:
+0x29e9 006159 setarg 0x80f 
+0x29ea 006160 branch lpm_write_config 
+:      006164 start_receiver:
+0x29eb 006165 bpatch patch11_7 ,mem_patch11 
+0x29ec 006166 call rf_rx_enable 
+0x29ed 006167 disable is_tx 
+0x29ee 006168 enable is_rx 
+0x29ef 006169 pulse init_encrypt 
+0x29f0 006170 rtn 
+:      006172 prep_crypt:
+0x29f1 006173 bpatch patch12_0 ,mem_patch12 
+0x29f2 006174 fetch 1 ,mem_state_map 
+0x29f3 006175 isolate1 smap_encryption ,pdata 
+0x29f4 006176 setflag true ,0 ,pdata 
+0x29f5 006177 hstore 1 ,core_encrypt 
+0x29f6 006178 arg mem_kc ,contr 
+0x29f7 006179 ifetch 9 ,contr 
+0x29f8 006180 iforce kc_ls 
+0x29f9 006181 ifetch 7 ,contr 
+0x29fa 006182 iforce kc_ms 
+0x29fb 006183 fetch 1 ,mem_key_size 
+0x29fc 006184 add pdata ,-1 ,g1l 
+0x29fd 006185 pulse kc_p_activate 
+0x29fe 006186 rtn 
+:      006188 wait_access_end:
+0x29ff 006189 deposit clke 
+0x2a00 006190 store 6 ,mem_sync_clke 
+0x2a01 006191 disable decode_fec0 
+0x2a02 006192 nbranch shutdown_radio ,sync 
+0x2a03 006193 arg param_clke_cal ,clke_rt 
+0x2a04 006194 increase 1 ,clke_bt 
+0x2a05 006195 and_into 0x1fc ,clke_bt 
+0x2a06 006196 rtn 
+:      006200 wait_access_mhalfbnd:
+0x2a07 006201 enable decode_fec0 
+:      006202 wait_access_mhalfbnd_correlate:
+0x2a08 006203 correlate null ,mhalfbnd 
+0x2a09 006204 branch wait_access_end ,sync 
+0x2a0a 006205 compare 0x02 ,clke_bt ,0x02 
+0x2a0b 006206 nbranch wait_access_mhalfbnd_correlate ,true 
+0x2a0c 006207 branch wait_access_end 
+:      006209 wait_access_clkn_rt:
+0x2a0d 006210 bpatch patch12_1 ,mem_patch12 
+0x2a0e 006211 arg param_conn_access ,timeup 
+0x2a0f 006212 enable decode_fec0 
+0x2a10 006213 correlate clkn_rt ,meet 
+0x2a11 006214 disable decode_fec0 
+0x2a12 006215 nbranch shutdown_radio ,sync 
+0x2a13 006216 rtn 
+:      006218 wait_access_forever:
+0x2a14 006219 bpatch patch12_2 ,mem_patch12 
+0x2a15 006220 enable decode_fec0 
+0x2a16 006221 correlate null ,timeout 
+0x2a17 006222 disable decode_fec0 
+0x2a18 006223 nbranch shutdown_radio ,sync 
+0x2a19 006224 arg param_clke_cal ,clke_rt 
+0x2a1a 006225 and_into 0x1fc ,clke_bt 
+0x2a1b 006226 rtn 
+:      006229 reserve_slot:
+0x2a1c 006230 bpatch patch12_3 ,mem_patch12 
+0x2a1d 006231 iforce rega 
+0x2a1e 006232 deposit bt_clk 
+0x2a1f 006233 iadd temp ,timeup 
+0x2a20 006234 copy timeup ,pdata 
+0x2a21 006235 store 4 ,mem_next_btclk 
+0x2a22 006236 deposit rega 
+0x2a23 006237 rtn 
+:      006240 ahead_window:
+0x2a24 006241 copy pdata ,temp 
+0x2a25 006242 bpatch patch12_4 ,mem_patch12 
+0x2a26 006243 copy temp ,pdata 
+0x2a27 006244 call clk2bt 
+0x2a28 006245 lshift16 bt_clk ,pdata 
+0x2a29 006246 set1 44 ,pdata 
+0x2a2a 006247 call clk_diff 
+0x2a2b 006248 set0 44 ,pdata 
+0x2a2c 006249 call get_clk 
+0x2a2d 006250 call clk_diff 
+0x2a2e 006251 rtn user 
+0x2a2f 006252 call clk2rt 
+0x2a30 006253 iforce stop_watch 
+0x2a31 006254 until null ,timeout 
+0x2a32 006255 rtn 
+:      006258 setup_clk:
+0x2a33 006259 bpatch patch12_5 ,mem_patch12 
+0x2a34 006260 branch setup_clkn ,clknt 
+0x2a35 006261 until clke_rt ,meet 
+:      006262 skip_setup_clke:
+0x2a36 006263 copy clke_bt ,temp 
+0x2a37 006264 branch setup_clknbt 
+:      006265 setup_clkn:
+0x2a38 006266 branch skip_setup_clkn ,attempt 
+0x2a39 006267 until clkn_rt ,meet 
+:      006268 skip_setup_clkn:
+0x2a3a 006269 copy clkn_bt ,temp 
+:      006270 setup_clknbt:
+0x2a3b 006271 branch setup_clk11 ,user 
+0x2a3c 006272 compare 1 ,temp ,3 
+0x2a3d 006273 nbranch setup_clk ,true 
+:      006274 setup_complete:
+0x2a3e 006275 bpatch patch12_6 ,mem_patch12 
+0x2a3f 006276 fetch 1 ,mem_state 
+0x2a40 006277 rtnbit0 state_inconn 
+0x2a41 006278 fetch 4 ,mem_next_btclk 
+0x2a42 006279 isub temp ,pdata 
+0x2a43 006280 nrtn positive 
+0x2a44 006281 sub pdata ,0xff ,null 
+0x2a45 006282 branch setup_clk ,positive 
+0x2a46 006283 rtn 
+:      006284 setup_clk11:
+0x2a47 006285 compare 3 ,temp ,3 
+0x2a48 006286 nbranch setup_clk ,true 
+0x2a49 006287 branch setup_complete 
+:      006289 rf_setup_time:
+0x2a4a 006290 bpatch patch12_7 ,mem_patch12 
+0x2a4b 006291 arg param_rf_setup ,timeup 
+0x2a4c 006292 branch setup_clk 
+:      006294 rf_setup_time_slave_slot:
+0x2a4d 006295 disable user 
+0x2a4e 006296 branch rf_setup_time 
+:      006298 rf_setup_time_master_slot:
+0x2a4f 006299 enable user 
+0x2a50 006300 branch rf_setup_time 
+:      006302 start_transmitter:
+0x2a51 006303 bpatch patch13_0 ,mem_patch13 
+0x2a52 006304 call prep_crypt 
+0x2a53 006305 disable is_rx 
+0x2a54 006306 enable is_tx 
+0x2a55 006307 rtn 
+:      006311 start_tx_native:
+0x2a56 006312 bpatch patch13_1 ,mem_patch13 
+0x2a57 006313 arg param_tx_setup ,timeup 
+0x2a58 006314 until clkn_rt ,meet 
+0x2a59 006315 pulse init_encrypt 
+0x2a5a 006316 rtn 
+:      006318 start_rx_native:
+0x2a5b 006319 bpatch patch13_2 ,mem_patch13 
+0x2a5c 006320 arg param_rx_setup ,timeup 
+0x2a5d 006321 until clkn_rt ,meet 
+0x2a5e 006322 rtn 
+:      006325 start_tx_external:
+0x2a5f 006326 bpatch patch13_3 ,mem_patch13 
+0x2a60 006327 arg param_tx_setup ,timeup 
+0x2a61 006328 until clke_rt ,meet 
+0x2a62 006329 pulse init_encrypt 
+0x2a63 006330 rtn 
+:      006332 send_access_word:
+0x2a64 006333 bpatch patch13_4 ,mem_patch13 
+0x2a65 006334 preload access 
+0x2a66 006335 enable encode_fec0 
+0x2a67 006336 set1 txgfsk ,radio_ctrl 
+0x2a68 006337 inject mod ,72 
+0x2a69 006338 disable encode_fec0 
+0x2a6a 006339 rtn 
+:      006342 scan_mode_whiten:
+0x2a6b 006343 copy xin ,temp 
+0x2a6c 006344 or_into 0x60 ,temp 
+0x2a6d 006345 copy temp ,white_init 
+0x2a6e 006346 rtn 
+:      006351 get_free_amaddr:
+0x2a6f 006352 bpatch patch13_5 ,mem_patch13 
+0x2a70 006353 fetch 1 ,mem_current_amaddr 
+0x2a71 006354 increase 1 ,pdata 
+0x2a72 006355 bne param_esco_addr ,get_free_amaddr_cont 
+0x2a73 006356 force 1 ,pdata 
+:      006357 get_free_amaddr_cont:
+0x2a74 006358 store 1 ,mem_current_amaddr 
+0x2a75 006359 iforce am_addr 
+0x2a76 006360 rtn 
+:      006362 get_clk:
+0x2a77 006363 copy clkn ,temp 
+0x2a78 006364 rtn master 
+0x2a79 006365 copy clke ,temp 
+0x2a7a 006366 rtn 
+:      006368 get_clkbt:
+0x2a7b 006369 deposit clkn_bt 
+0x2a7c 006370 rtn master 
+0x2a7d 006371 deposit clke_bt 
+0x2a7e 006372 rtn 
+:      006375 supervision_update:
+0x2a7f 006376 bpatch patch13_6 ,mem_patch13 
+0x2a80 006377 fetcht 4 ,mem_supervision_timer 
+0x2a81 006378 call get_clkbt 
+0x2a82 006379 isub temp ,timeup 
+0x2a83 006380 deposit timeup 
+0x2a84 006381 fetcht 2 ,mem_supervision_to 
+0x2a85 006382 lshift temp ,temp 
+0x2a86 006383 isub temp ,pdata 
+0x2a87 006384 rtn 
+:      006386 supervision_flush:
+0x2a88 006387 bpatch patch13_7 ,mem_patch13 
+0x2a89 006388 call get_clkbt 
+0x2a8a 006389 store 4 ,mem_supervision_timer 
+0x2a8b 006390 rtn 
+:      006392 assert:
+0x2a8c 006393 bpatch patch14_0 ,mem_patch14 
+0x2a8d 006394 branch assert 
+:      006396 loop:
+0x2a8e 006397 branch loop 
+:      006399 sleep:
+0x2a8f 006400 rtn blank 
+0x2a90 006402 rshift pdata ,pdata 
+0x2a91 006403 increase -3 ,pdata 
+:      006404 sleep_loop:
+0x2a92 006405 increase -1 ,pdata 
+0x2a93 006406 nbranch sleep_loop ,zero 
+0x2a94 006407 force 0 ,pdata 
+0x2a95 006408 rtn 
+:      006412 init_param:
+0x2a96 006414 arg 0x10 ,loopcnt 
+0x2a97 006415 arg 0 ,contw 
+0x2a98 006416 call memset0 
+0x2a99 006417 arg mem_le_state ,contw 
+0x2a9a 006418 arg 10 ,loopcnt 
+0x2a9b 006419 call memset0 
+0x2a9c 006420 jam 0 ,mem_sp_calc 
+0x2a9d 006421 jam 0 ,mem_fifo_temp 
+0x2a9e 006422 jam 0 ,mem_le_testtype 
+0x2a9f 006423 jam 0 ,mem_debug_config 
+0x2aa0 006424 jam 0 ,mem_lmp_conn_state 
+0x2aa1 006425 bpatch patch14_1 ,mem_patch14 
+0x2aa2 006426 jam 0 ,mem_connection_options 
+0x2aa3 006427 jam 0 ,mem_tester_emulate 
+0x2aa4 006428 jam 0 ,mem_tester_cnt 
+0x2aa5 006429 setarg param_glap 
+0x2aa6 006430 store 3 ,mem_glap 
+0x2aa7 006431 setarg param_acl_pktlen 
+0x2aa8 006432 store 2 ,mem_acl_pktlen 
+0x2aa9 006433 jam param_sco_pktlen ,mem_sco_pktlen 
+0x2aaa 006434 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x2aab 006435 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x2aac 006436 setarg param_hci_version 
+0x2aad 006437 store 3 ,mem_hci_version 
+0x2aae 006442 jam 0x60 ,mem_fhs_misc 
+0x2aaf 006443 jam param_max_slot ,mem_max_slot 
+0x2ab0 006444 jam 0x02 ,mem_fw_ver 
+0x2ab1 006445 fetch 1 ,mem_ssp_enable 
+0x2ab2 006446 ncall init_memp ,blank 
+0x2ab3 006447 fetch 1 ,mem_le_secure_connect_enable 
+0x2ab4 006448 ncall init_memp_256 ,blank 
+0x2ab5 006449 bpatch patch14_2 ,mem_patch14 
+0x2ab6 006450 rtn wake 
+0x2ab7 006451 setarg 0 
+0x2ab8 006452 store 2 ,mem_tx_len 
+0x2ab9 006453 rshift clkn_bt ,pdata 
+0x2aba 006454 store 4 ,mem_last_clkn 
+0x2abb 006455 rtn 
+:      006462 lpmstate:
+0x2abc 006463 setarg 0xee21 
+0x2abd 006464 hstore 2 ,core_clkoff 
+0x2abe 006465 hfetch 4 ,core_gpio_in 
+0x2abf 006466 store 4 ,mem_saved_gpio_in 
+0x2ac0 006467 hfetch 1 ,core_lpm_ldocnt 
+0x2ac1 006468 store 1 ,mem_wakup_from_power_flag 
+0x2ac2 006469 bbit0 gpio_latch ,loadcode 
+0x2ac3 006470 enable wake 
+0x2ac4 006471 bbit0 cold_wake ,lpmwake 
+0x2ac5 006472 disable wake 
+0x2ac6 006473 deposit auxcnt 
+0x2ac7 006474 nbranch lpmwake ,blank 
+0x2ac8 006475 hfetch 1 ,core_lpm_ctrl + 3 
+0x2ac9 006476 bbit1 reload_code ,lpmwake 
+0x2aca 006477 arg param_hibernate_clks ,temp 
+0x2acb 006478 branch lpm_enter_sleep 
+:      006479 lpmwake:
+0x2acc 006480 hfetch 3 ,core_lpm_xtalcnt 
+0x2acd 006481 hstore 3 ,core_lpm_reg 
+0x2ace 006482 ifetch 1 ,contr 
+0x2acf 006483 or_into isogate_mask ,pdata 
+0x2ad0 006484 istore 1 ,contw 
+0x2ad1 006485 call lpm_write_ctrl2 
+0x2ad2 006486 hfetch 1 ,core_lpm_isogate 
+0x2ad3 006487 set1 enable_retmem ,pdata 
+0x2ad4 006488 hstore 1 ,core_lpm_isogate 
+0x2ad5 006489 call lpm_write_ctrl2 
+0x2ad6 006490 call lpm_load_context ,wake 
+0x2ad7 006491 hfetch 1 ,core_lpm_reg + 2 
+0x2ad8 006492 set0 gpio_latch ,pdata 
+0x2ad9 006493 hstore 1 ,core_lpm_reg + 2 
+0x2ada 006494 call lpm_write_ctrl2 
+0x2adb 006495 nbranch loadcode ,wake 
+0x2adc 006496 rtnmark0 mark_otp_encrypt 
+0x2add 006497 jam lock_otp ,core_misc_ctrl 
+0x2ade 006498 rtn 
+:      006500 lpm_load_context:
+0x2adf 006501 fetch 1 ,mem_saved_spidctrl 
+0x2ae0 006502 hstore 1 ,core_spid_ctrl 
+0x2ae1 006503 fetch 3 ,mem_saved_gsel 
+0x2ae2 006504 hstore 3 ,core_gpio_sel 
+0x2ae3 006505 fetch 4 ,mem_saved_gpio + 4 
+0x2ae4 006506 hstore 4 ,core_gpio_out0 
+0x2ae5 006507 fetch 4 ,mem_saved_gpio 
+0x2ae6 006508 hstore 4 ,core_gpio_oe0 
+0x2ae7 006509 fetch 8 ,mem_saved_gpio + 8 
+0x2ae8 006510 hstore 8 ,core_gpio_pu0 
+0x2ae9 006511 fetch 8 ,mem_saved_mark 
+0x2aea 006512 iforce mark 
+0x2aeb 006513 hfetch 8 ,core_gpio_wakeup_low 
+0x2aec 006514 store 8 ,mem_gpio_wakeup_low 
+0x2aed 006515 call load_ucode 
+0x2aee 006516 rtn 
+:      006518 lpm_save_context:
+0x2aef 006519 deposit mark 
+0x2af0 006520 store 8 ,mem_saved_mark 
+0x2af1 006521 hfetch 8 ,core_gpio_oe0 
+0x2af2 006522 store 8 ,mem_saved_gpio 
+0x2af3 006523 ifetch 8 ,contr 
+0x2af4 006524 istore 8 ,contw 
+0x2af5 006525 hfetch 3 ,core_gpio_sel 
+0x2af6 006526 store 3 ,mem_saved_gsel 
+0x2af7 006527 hfetch 1 ,core_spid_ctrl 
+0x2af8 006528 store 1 ,mem_saved_spidctrl 
+0x2af9 006529 branch lpm_write_gpio_wakeup 
+:      006531 lpo_calibration:
+0x2afa 006532 hfetch 1 ,core_bist_ctrl 
+0x2afb 006533 nbranch lpo_cal_inited ,blank 
+0x2afc 006534 fetch 3 ,mem_clks_per_lpo 
+0x2afd 006535 nrtn blank 
+0x2afe 006536 jam 0xc0 ,core_bist_ctrl 
+0x2aff 006537 jam ccnt_start ,core_misc_ctrl 
+:      006538 lpo_cal_inited:
+0x2b00 006539 hfetch 1 ,core_perf_status 
+0x2b01 006540 rtnbit0 1 
+0x2b02 006541 hfetch 3 ,core_clk_counter 
+0x2b03 006542 store 3 ,mem_clks_per_lpo 
+0x2b04 006543 rtn 
+:      006547 lpm_adjust_clk:
+0x2b05 006548 bpatch patch14_3 ,mem_patch14 
+0x2b06 006549 deposit clke 
+0x2b07 006550 call clk_diff_rt 
+0x2b08 006551 fetcht 4 ,mem_sleep_counter_all 
+0x2b09 006552 sub temp ,0xff ,null 
+0x2b0a 006553 rtn positive 
+0x2b0b 006554 lshift8 pdata ,pdata 
+0x2b0c 006555 lshift4 pdata ,pdata 
+0x2b0d 006556 idiv temp 
+0x2b0e 006557 call wait_div_end 
+0x2b0f 006558 quotient pdata 
+0x2b10 006559 arg param_lpm_adjmax ,temp 
+0x2b11 006560 call ceiling 
+0x2b12 006561 store 1 ,mem_lpm_adjust 
+0x2b13 006562 nbranch lpm_adjust_positive ,user 
+0x2b14 006563 sub pdata ,0 ,pdata 
+:      006564 lpm_adjust_positive:
+0x2b15 006565 fetcht 3 ,mem_clks_per_lpo 
+0x2b16 006566 iadd temp ,pdata 
+0x2b17 006567 store 3 ,mem_clks_per_lpo 
+:      006568 lpm_clear_counter:
+0x2b18 006569 setarg 0 
+0x2b19 006570 store 4 ,mem_sleep_counter_all 
+0x2b1a 006571 rtn 
+:      006575 lpm_doze:
+0x2b1b 006576 fetch 1 ,mem_lpm_config + 2 
+0x2b1c 006577 set1 reload_code ,pdata 
+0x2b1d 006578 store 1 ,mem_lpm_config + 2 
+0x2b1e 006579 branch lpm_hibernate_normal 
+:      006583 lpm_hibernate:
+0x2b1f 006584 arg param_hibernate_clks ,temp 
+0x2b20 006585 fetch 1 ,mem_lpm_config + 1 
+0x2b21 006586 set0 7 ,pdata 
+0x2b22 006587 store 1 ,mem_lpm_config + 1 
+:      006588 lpm_hibernate_normal:
+0x2b23 006589 bpatch patch14_4 ,mem_patch14 
+0x2b24 006590 call lpm_write_gpio_wakeup 
+0x2b25 006591 fetch 1 ,mem_lpm_hibernate_switch 
+0x2b26 006592 store 1 ,mem_lpm_xtalcnt + 4 
+0x2b27 006593 fetch 1 ,mem_lpm_xtalcnt + 2 
+0x2b28 006594 set1 cold_wake ,pdata 
+0x2b29 006595 store 1 ,mem_lpm_xtalcnt + 2 
+:      006598 lpm_sleep:
+0x2b2a 006599 bpatch patch14_5 ,mem_patch14 
+0x2b2b 006600 call xtal_fast_wake 
+0x2b2c 006601 fetch 4 ,mem_sleep_counter_all 
+0x2b2d 006602 iadd temp ,pdata 
+0x2b2e 006603 store 4 ,mem_sleep_counter_all 
+0x2b2f 006604 call lpm_save_context 
+0x2b30 006605 fetch 5 ,mem_lpm_xtalcnt 
+0x2b31 006606 hstore 4 ,core_lpm_reg 
+0x2b32 006607 rshift32 pdata ,rega 
+0x2b33 006608 until null ,lpo_edge 
+0x2b34 006609 deposit clkn 
+0x2b35 006610 store 6 ,mem_sleep_clkn 
+0x2b36 006611 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x2b37 006612 until null ,lpo_edge 
+0x2b38 006613 until null ,lpo_edge 
+0x2b39 006614 deposit rega 
+0x2b3a 006615 hstore 1 ,core_lpm_isogate 
+0x2b3b 006616 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      006617 lpm_enter_sleep:
+0x2b3c 006618 until null ,lpo_edge 
+0x2b3d 006619 until null ,lpo_edge 
+0x2b3e 006620 hstoret 4 ,core_lpm_reg 
+0x2b3f 006621 jam lpmreg_sel_counter ,core_lpm_wr 
+0x2b40 006622 until null ,never 
+:      006627 lpm_recover_clk:
+0x2b41 006628 bpatch patch14_6 ,mem_patch14 
+0x2b42 006629 setarg 0 
+0x2b43 006630 copy auxcnt ,null 
+0x2b44 006631 branch lpm_recover_timeout ,zero 
+0x2b45 006632 hfetch 1 ,core_lpm_xtalcnt 
+0x2b46 006633 hfetcht 1 ,core_lpm_buckcnt 
+0x2b47 006634 isub temp ,null 
+0x2b48 006635 branch lpm_recover_xtal ,positive 
+0x2b49 006636 deposit temp 
+:      006637 lpm_recover_xtal:
+0x2b4a 006638 isub auxcnt ,pdata 
+0x2b4b 006639 increase 1 ,pdata 
+:      006640 lpm_recover_timeout:
+0x2b4c 006641 increase 8 ,pdata 
+0x2b4d 006642 until null ,lpo_edge 
+0x2b4e 006643 iadd lpo_time ,pdata 
+0x2b4f 006644 fetcht 4 ,mem_sleep_counter 
+0x2b50 006645 iadd temp ,pdata 
+0x2b51 006646 fetcht 3 ,mem_clks_per_lpo 
+0x2b52 006647 imul32 temp ,pdata 
+0x2b53 006648 rshift8 pdata ,pdata 
+0x2b54 006649 rshift4 pdata ,pdata 
+0x2b55 006650 increase param_lpm_fix ,pdata 
+0x2b56 006651 arg 3750 ,temp 
+0x2b57 006652 idiv temp 
+0x2b58 006653 call wait_div_end 
+0x2b59 006654 quotient pdata 
+0x2b5a 006655 lshift16 pdata ,pdata 
+0x2b5b 006656 remainder temp 
+0x2b5c 006657 ior temp ,pdata 
+0x2b5d 006658 fetcht 6 ,mem_sleep_clkn 
+0x2b5e 006659 call clk_add 
+0x2b5f 006660 copy temp ,clkn 
+0x2b60 006661 fetch 6 ,mem_context + coffset_clk_offset 
+0x2b61 006662 call calc_clke2 
+0x2b62 006663 deposit clke 
+0x2b63 006664 store 6 ,mem_pdatatemp 
+0x2b64 006665 deposit auxcnt 
+0x2b65 006666 istore 1 ,contw 
+0x2b66 006667 hfetch 1 ,core_gpio_in1 
+0x2b67 006668 or_into 0xf0 ,pdata 
+0x2b68 006669 istore 1 ,contw 
+0x2b69 006670 rtn 
+:      006672 lpm_dispatch:
+0x2b6a 006673 bpatch patch14_7 ,mem_patch14 
+0x2b6b 006674 call lpo_calibration 
+0x2b6c 006675 fetch 3 ,mem_clks_per_lpo 
+0x2b6d 006676 rtn blank 
+0x2b6e 006677 fetch 1 ,mem_lpm_mode 
+0x2b6f 006678 rtn blank 
+0x2b70 006679 fetch 1 ,mem_ssp_enable 
+0x2b71 006680 branch lpm_dispatch_next ,blank 
+0x2b72 006681 fetch 1 ,mem_sp_local_key_invalid 
+0x2b73 006682 rtn blank 
+:      006683 lpm_dispatch_next:
+0x2b74 006684 fetch 1 ,mem_le_sc_calc 
+0x2b75 006685 nrtn blank 
+0x2b76 006686 call lpm_check_wake_lock 
+0x2b77 006687 nrtn blank 
+0x2b78 006688 fetch 1 ,mem_context 
+0x2b79 006689 compare 3 ,pdata ,0x7 
+0x2b7a 006690 nbranch lpm_dispatch_unconn ,true 
+0x2b7b 006691 fetch 2 ,mem_context + coffset_tsniff 
+0x2b7c 006692 rtn blank 
+0x2b7d 006693 rtn wake 
+0x2b7e 006694 bpatch patch15_0 ,mem_patch15 
+:      006695 lpm_dispatch_next2:
+0x2b7f 006696 fetcht 1 ,mem_lpm_current_mult 
+0x2b80 006697 fetch 2 ,mem_context + coffset_tsniff 
+0x2b81 006698 imul32 temp ,pdata 
+0x2b82 006699 rshift4 temp ,temp 
+0x2b83 006700 rshift2 temp ,temp 
+0x2b84 006701 isub temp ,pdata 
+0x2b85 006702 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x2b86 006703 iadd temp ,pdata 
+0x2b87 006704 fetcht 1 ,mem_lpm_overhead 
+0x2b88 006705 isub temp ,pdata 
+0x2b89 006706 lshift16 pdata ,alarm 
+0x2b8a 006707 bpatch patch15_1 ,mem_patch15 
+0x2b8b 006708 fetch 2 ,mem_context + coffset_rx_window 
+0x2b8c 006709 rshift pdata ,pdata 
+0x2b8d 006710 call clk2bt 
+0x2b8e 006711 deposit alarm 
+0x2b8f 006712 call clk_diff 
+0x2b90 006713 copy clke ,temp 
+0x2b91 006714 call clk_diff_rt 
+0x2b92 006715 rtn user 
+:      006716 lpm_dispatch_sleep:
+0x2b93 006717 call clk2lpo 
+:      006718 lpm_dispatch_lpo:
+0x2b94 006719 bpatch patch15_2 ,mem_patch15 
+0x2b95 006720 fetch 1 ,mem_lpm_xtalcnt 
+0x2b96 006721 isub temp ,null 
+0x2b97 006722 branch lpm_clear_counter ,positive 
+0x2b98 006723 storet 4 ,mem_sleep_counter 
+0x2b99 006724 call app_will_enter_lpm 
+0x2b9a 006725 call l2cap_lpm_save_txbuf 
+0x2b9b 006726 fetcht 4 ,mem_sleep_counter 
+0x2b9c 006727 branch lpm_sleep 
+:      006729 lpm_dispatch_unconn:
+0x2b9d 006730 bpatch patch15_3 ,mem_patch15 
+0x2b9e 006731 fetch 1 ,mem_context 
+0x2b9f 006732 rtnbit1 state_inconn 
+0x2ba0 006733 rtnbit1 state_inpage 
+0x2ba1 006734 fetch 1 ,mem_ssp_enable 
+0x2ba2 006735 branch lpm_unconn_nossp ,blank 
+0x2ba3 006736 fetch 1 ,mem_sp_local_key_invalid 
+0x2ba4 006737 rtn blank 
+:      006738 lpm_unconn_nossp:
+0x2ba5 006739 bpatch patch15_4 ,mem_patch15 
+0x2ba6 006740 fetch 1 ,mem_le_adv_enable 
+0x2ba7 006741 nbranch lpm_unconn_cont ,blank 
+0x2ba8 006742 fetch 1 ,mem_scan_mode 
+0x2ba9 006743 rtn blank 
+:      006744 lpm_unconn_cont:
+0x2baa 006745 fetch 2 ,mem_lpm_interval 
+0x2bab 006746 rtn blank 
+:      006747 lpm_sleep_btclk:
+0x2bac 006748 fetcht 1 ,mem_lpm_overhead 
+0x2bad 006749 isub temp ,pdata 
+0x2bae 006750 arg 7500 ,temp 
+0x2baf 006751 imul32 temp ,pdata 
+0x2bb0 006752 branch lpm_dispatch_sleep 
+:      006754 lpm_set_mult:
+0x2bb1 006755 bpatch patch15_5 ,mem_patch15 
+0x2bb2 006756 disable wake 
+0x2bb3 006757 fetch 1 ,mem_state 
+0x2bb4 006758 rtnbit0 state_insniff 
+0x2bb5 006759 nbranch lpm_not_match ,match 
+0x2bb6 006760 call lpm_match 
+0x2bb7 006761 fetch 2 ,mem_rx_window_sniff 
+0x2bb8 006762 store 2 ,mem_rx_window 
+0x2bb9 006763 fetch 1 ,mem_arq 
+0x2bba 006764 bbit1 wack ,lpm_mult_short 
+0x2bbb 006765 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bbc 006766 call l2cap_malloc_is_fifo_empty 
+0x2bbd 006767 nbranch lpm_mult_short ,blank 
+0x2bbe 006768 fetch 1 ,mem_classic_bt_flag 
+0x2bbf 006769 bbit1 short_mult_flag ,lpm_mult_short 
+:      006770 lpm_mult_wait_timeout:
+0x2bc0 006771 jam 0 ,mem_lpm_current_mult 
+0x2bc1 006772 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bc2 006773 fetch 1 ,mem_lpm_mult_cnt 
+0x2bc3 006774 branch lpm_mult_long ,blank 
+0x2bc4 006775 increase -1 ,pdata 
+0x2bc5 006776 store 1 ,mem_lpm_mult_cnt 
+0x2bc6 006777 rtn 
+:      006780 classic_bt_set_mult_short_flag:
+0x2bc7 006781 arg short_mult_flag ,queue 
+0x2bc8 006782 branch classic_bluetooth_set_flag 
+:      006784 classic_bt_clr_mult_short_flag:
+0x2bc9 006785 arg short_mult_flag ,queue 
+0x2bca 006786 branch classic_bluetooth_clr_flag 
+:      006790 lpm_match:
+0x2bcb 006791 jam 0 ,mem_sniff_unint_lost 
+0x2bcc 006792 fetch 3 ,mem_sniff_rcv 
+0x2bcd 006793 increase 1 ,pdata 
+0x2bce 006794 store 3 ,mem_sniff_rcv 
+0x2bcf 006795 rtn 
+:      006797 lpm_not_match:
+0x2bd0 006798 bpatch patch15_6 ,mem_patch15 
+0x2bd1 006799 fetcht 2 ,mem_rx_window_sniff 
+0x2bd2 006800 rshift temp ,temp 
+0x2bd3 006801 fetch 2 ,mem_rx_window 
+0x2bd4 006802 iadd temp ,pdata 
+0x2bd5 006803 store 2 ,mem_rx_window 
+:      006804 lpm_lost:
+0x2bd6 006805 jam 0 ,mem_lpm_current_mult 
+0x2bd7 006806 fetch 3 ,mem_sniff_lost 
+0x2bd8 006807 increase 1 ,pdata 
+0x2bd9 006808 store 3 ,mem_sniff_lost 
+0x2bda 006809 fetch 1 ,mem_sniff_unint_lost 
+0x2bdb 006810 increase 1 ,pdata 
+0x2bdc 006811 store 1 ,mem_sniff_unint_lost 
+0x2bdd 006812 rtn 
+:      006814 lpm_mult_short:
+0x2bde 006815 jam 0 ,mem_lpm_current_mult 
+0x2bdf 006816 fetch 1 ,mem_lpm_mult_timeout 
+0x2be0 006817 store 1 ,mem_lpm_mult_cnt 
+0x2be1 006818 rtn 
+:      006820 lpm_mult_long:
+0x2be2 006821 fetcht 1 ,mem_lpm_mult 
+0x2be3 006822 storet 1 ,mem_lpm_current_mult 
+0x2be4 006823 rtn 
+:      006825 lpm_cal_xtal_startup:
+0x2be5 006826 bpatch patch15_7 ,mem_patch15 
+0x2be6 006827 fetch 1 ,mem_lpm_xtalcnt 
+0x2be7 006828 nrtn blank 
+0x2be8 006829 jam clksel_rc ,core_clksel 
+0x2be9 006830 setarg 0xf0c 
+0x2bea 006831 call lpm_write_config 
+0x2beb 006832 setarg 200000 
+0x2bec 006833 call sleep 
+0x2bed 006834 until null ,lpo_edge 
+0x2bee 006835 copy lpo_time ,alarm 
+0x2bef 006836 call xtal_fast_wake 
+0x2bf0 006837 jam clksel_xtal ,core_clksel 
+0x2bf1 006838 nop 10 
+0x2bf2 006839 until null ,lpo_edge 
+0x2bf3 006840 deposit lpo_time 
+0x2bf4 006841 isub alarm ,pdata 
+0x2bf5 006842 increase 0x30 ,pdata 
+0x2bf6 006843 arg 0xff ,temp 
+0x2bf7 006844 call ceiling 
+0x2bf8 006845 store 1 ,mem_lpm_xtalcnt 
+0x2bf9 006846 nop 30000 
+0x2bfa 006847 nop 30000 
+0x2bfb 006848 nop 30000 
+0x2bfc 006849 rtn 
+:      006851 lpm_cal_xtal_startup_by_snooze:
+0x2bfd 006852 fetch 1 ,mem_lpm_xtalcnt 
+0x2bfe 006853 nrtn blank 
+0x2bff 006854 jam 0xff ,core_xtal_stable_time 
+0x2c00 006855 jam clksel_rc ,core_clksel 
+0x2c01 006856 call xtal_fast_wake 
+0x2c02 006857 setarg 1000 
+0x2c03 006858 iadd lpo_time ,alarm 
+0x2c04 006859 snooze 
+0x2c05 006860 deposit lpo_time 
+0x2c06 006861 nop 12000 
+0x2c07 006862 nop 12000 
+0x2c08 006863 nop 12000 
+0x2c09 006864 nop 12000 
+0x2c0a 006865 nop 12000 
+0x2c0b 006866 nop 12000 
+0x2c0c 006867 nop 12000 
+0x2c0d 006868 nop 12000 
+0x2c0e 006869 nop 12000 
+0x2c0f 006870 isub alarm ,pdata 
+0x2c10 006871 add pdata ,0x30 ,pdata 
+0x2c11 006872 arg 0xff ,temp 
+0x2c12 006873 call ceiling 
+0x2c13 006874 store 1 ,mem_lpm_xtalcnt 
+0x2c14 006875 nop 30000 
+0x2c15 006876 nop 30000 
+0x2c16 006877 nop 30000 
+0x2c17 006878 rtn 
+:      006883 lpm_write_config:
+0x2c18 006884 arg 0xfff ,contw 
+0x2c19 006885 iand contw ,contw 
+0x2c1a 006886 fetch 1 ,mem_lpm_config 
+0x2c1b 006887 and_into 0xf0 ,pdata 
+0x2c1c 006888 lshift8 pdata ,pdata 
+0x2c1d 006889 ior contw ,pdata 
+0x2c1e 006890 hstore 2 ,core_lpm_reg 
+0x2c1f 006891 ifetch 2 ,contr 
+0x2c20 006892 istore 2 ,contw 
+:      006894 lpm_write_ctrl:
+0x2c21 006895 setarg lpmreg_sel_ctrl 
+0x2c22 006896 branch lpm_write 
+:      006898 lpm_write_ctrl2:
+0x2c23 006899 setarg lpmreg_sel_ctrl2 
+:      006900 lpm_write:
+0x2c24 006901 until null ,lpo_edge 
+0x2c25 006902 hstore 1 ,core_lpm_wr 
+0x2c26 006903 until null ,lpo_edge 
+0x2c27 006904 until null ,lpo_edge 
+0x2c28 006905 rtn 
+:      006908 lpm_write_gpio_wakeup:
+0x2c29 006909 bpatch patch16_0 ,mem_patch16 
+0x2c2a 006910 fetch 4 ,mem_gpio_wakeup_low 
+0x2c2b 006911 hstore 4 ,core_lpm_reg 
+0x2c2c 006912 setarg lpmreg_sel_gpiolow 
+0x2c2d 006913 call lpm_write 
+0x2c2e 006914 fetch 4 ,mem_gpio_wakeup_high 
+0x2c2f 006915 hstore 4 ,core_lpm_reg 
+0x2c30 006916 setarg lpmreg_sel_gpiohigh 
+0x2c31 006917 branch lpm_write 
+:      006919 lpm_get_wake_lock:
+0x2c32 006920 fetch 2 ,mem_lpm_wake_lock 
+0x2c33 006921 qset1 pdata 
+0x2c34 006922 store 2 ,mem_lpm_wake_lock 
+0x2c35 006923 rtn 
+:      006925 lpm_put_wake_lock:
+0x2c36 006926 fetch 2 ,mem_lpm_wake_lock 
+0x2c37 006927 qset0 pdata 
+0x2c38 006928 store 2 ,mem_lpm_wake_lock 
+0x2c39 006929 rtn 
+:      006933 lpm_check_wake_lock:
+0x2c3a 006934 bpatch patch16_1 ,mem_patch16 
+0x2c3b 006935 call app_check_wake_lock 
+0x2c3c 006936 fetch 2 ,mem_lpm_wake_lock 
+0x2c3d 006937 copy pdata ,rega 
+0x2c3e 006938 fetch 1 ,mem_state_map 
+0x2c3f 006939 isolate1 smap_rxlmp ,pdata 
+0x2c40 006940 setflag true ,wake_lock_lmp_rx ,rega 
+0x2c41 006941 fetch 1 ,mem_lmo_opcode1 
+0x2c42 006942 fetcht 1 ,mem_lmo_opcode2 
+0x2c43 006943 iadd temp ,pdata 
+0x2c44 006944 fetcht 1 ,mem_lmp_to_send 
+0x2c45 006945 iadd temp ,pdata 
+0x2c46 006946 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x2c47 006947 fetch 1 ,mem_le_tx_buff_used 
+0x2c48 006948 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x2c49 006949 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x2c4a 006950 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x2c4b 006951 iadd temp ,pdata 
+0x2c4c 006952 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x2c4d 006953 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x2c4e 006954 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x2c4f 006955 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x2c50 006956 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x2c51 006957 fetch 1 ,mem_hci_cmd 
+0x2c52 006958 nsetflag blank ,wake_lock_cmd ,rega 
+0x2c53 006959 fetch 1 ,mem_device_option 
+0x2c54 006960 compare dvc_op_module ,pdata ,0xff 
+0x2c55 006961 call lpm_uart_wake_lock ,true 
+0x2c56 006962 setarg -8 
+0x2c57 006963 iand rega ,rega 
+0x2c58 006964 copy rega ,pdata 
+0x2c59 006965 store 2 ,mem_lpm_wake_lock 
+0x2c5a 006966 rtn 
+:      006968 lpm_uart_wake_lock:
+0x2c5b 006969 hfetch 2 ,core_uart_rxitems 
+0x2c5c 006970 nsetflag blank ,wake_lock_uart_rx ,rega 
+0x2c5d 006971 hfetch 2 ,core_uart_txitems 
+0x2c5e 006972 nsetflag blank ,wake_lock_uart_tx ,rega 
+0x2c5f 006973 rtn 
+:      006975 lpm_shut_down:
+0x2c60 006976 hfetch 4 ,core_lpm_ctrl 
+0x2c61 006977 set0 27 ,pdata 
+0x2c62 006978 hstore 4 ,core_lpm_reg 
+0x2c63 006979 call lpm_write_ctrl 
+0x2c64 006980 branch assert 
+:      006982 lpm_disable_exen_output:
+0x2c65 006983 hfetch 4 ,core_lpm_xtalcnt 
+0x2c66 006984 set0 20 ,pdata 
+0x2c67 006985 hstore 4 ,core_lpm_reg 
+0x2c68 006986 branch lpm_write_ctrl2 
+:      006988 check_bt_disabled:
+0x2c69 006989 fetch 2 ,mem_chip_functions 
+0x2c6a 006990 bbit1 bt_disabled ,assert 
+0x2c6b 006991 rtn 
+:      006992 check_ble_disabled:
+0x2c6c 006993 fetch 2 ,mem_chip_functions 
+0x2c6d 006994 bbit1 ble_disabled ,assert 
+0x2c6e 006995 rtn 
+:      006996 check_module_disabled:
+0x2c6f 006997 fetch 2 ,mem_chip_functions 
+0x2c70 006998 bbit1 module_disable ,assert 
+0x2c71 006999 rtn 
+:      007060 g24_dispatch:
+0x2c72 007061 bpatch patch16_2 ,mem_patch16 
+0x2c73 007062 call g24_head_ptr2regc 
+0x2c74 007063 add regc ,offset_24g_mode ,regb 
+0x2c75 007064 ifetch 1 ,regb 
+0x2c76 007066 rtneq disable_24g 
+0x2c77 007067 beq tx_24g ,g24_transmit_process 
+0x2c78 007068 beq rx_24g ,g24_receive_process 
+0x2c79 007069 rtn 
+:      007071 g24_head_ptr2regc:
+0x2c7a 007072 fetcht 2 ,mem_24g_head_ptr 
+0x2c7b 007073 copy temp ,regc 
+0x2c7c 007074 rtn 
+:      007076 g24_receive_process_init:
+0x2c7d 007077 call g24_receive_init 
+0x2c7e 007078 branch g24_mode_switch_init 
+:      007080 g24_receive_process:
+0x2c7f 007081 call g24_mode_switch 
+0x2c80 007082 call g24_dongle_work_mode_auto 
+0x2c81 007083 call g24_dongle_bind_mode_auto 
+0x2c82 007084 branch g24_dongle_search_mode_auto 
+:      007087 g24_pair_init:
+0x2c83 007090 call g24_set0_mem_pid 
+0x2c84 007091 setarg g24_pair_ch 
+0x2c85 007092 call g24_store_mem_ch 
+0x2c86 007093 call g24_store_mem_pair_txpower 
+0x2c87 007096 add regc ,offset_24g_paring_addr ,rega 
+0x2c88 007097 ifetch 4 ,rega 
+0x2c89 007098 branch g24_store_mem_addr 
+:      007100 g24_ch:
+0x2c8a 007101 call g24_head_ptr2regc 
+0x2c8b 007102 add regc ,offset_24g_current_ch_number ,regb 
+0x2c8c 007103 ifetcht 1 ,regb 
+0x2c8d 007105 call g24_ch_temp_incre_size4 
+0x2c8e 007106 add regc ,offset_24g_current_ch_number ,contw 
+0x2c8f 007108 branch g24_contw_istoret_1byte 
+:      007110 g24_ch_temp_incre_size4:
+0x2c90 007111 call g24_ch_calc 
+0x2c91 007112 increase 1 ,temp 
+0x2c92 007113 and_into 3 ,temp 
+0x2c93 007114 rtn 
+:      007116 g24_ch_calc:
+0x2c94 007117 add regc ,offset_24g_addr ,regb 
+0x2c95 007118 ifetch 1 ,regb 
+0x2c96 007120 and_into 0x03 ,pdata 
+0x2c97 007121 mul32 pdata ,4 ,rega 
+0x2c98 007122 add regc ,offset_24g_ch_map1 ,pdata 
+0x2c99 007124 iadd rega ,pdata 
+0x2c9a 007125 iadd temp ,contr 
+0x2c9b 007126 ifetch 1 ,contr 
+0x2c9c 007128 branch g24_store_mem_ch 
+:      007130 g24_set_device_addr:
+0x2c9d 007131 call g24_store_mem_tx_power_temp 
+0x2c9e 007132 call otp_enable_chgpump 
+0x2c9f 007133 setarg 0x7e2 
+0x2ca0 007134 arg mem_temp ,rega 
+0x2ca1 007135 arg 4 ,temp 
+0x2ca2 007136 call otpd_read_data 
+0x2ca3 007137 call otp_disable_chgpump 
+0x2ca4 007138 fetch 4 ,mem_temp 
+0x2ca5 007139 call g24_store_mem_device_addr 
+0x2ca6 007141 nrtn blank 
+0x2ca7 007142 fetch 4 ,mem_lap 
+0x2ca8 007144 branch g24_store_mem_device_addr 
+:      007146 g24_transmit_rf_sta_init:
+0x2ca9 007147 call g24_set1_mem_rf_last_sta 
+0x2caa 007149 setarg 0 
+0x2cab 007150 call g24_store_mem_sync_cnt 
+:      007152 g24_transmit_rf_ctrl_clear:
+0x2cac 007153 call g24_fetch_mem_data_type 
+0x2cad 007155 and_into bits_data ,pdata 
+0x2cae 007157 branch g24_store_mem_data_type 
+:      007159 g24_hop_ch_enable:
+0x2caf 007160 call g24_fetch_mem_data_type 
+0x2cb0 007162 set1 bit_hop ,pdata 
+0x2cb1 007163 call g24_store_mem_data_type 
+0x2cb2 007166 branch g24_store_mem_txpayload 
+:      007168 g24_transmit_hop_pac_fail:
+0x2cb3 007169 call g24_fetch_mem_rf_work_stage 
+0x2cb4 007171 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+0x2cb5 007172 beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+0x2cb6 007173 rtn 
+:      007175 g24_transmit_hop_pac_fail_wo_hop:
+0x2cb7 007176 call g24_set2_mem_sync_cnt 
+:      007178 g24_transmit_hop_pac_fail_stage1:
+0x2cb8 007179 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2cb9 007180 call g24_mem_set0 
+0x2cba 007182 call g24_store_mem_rf_last_sta 
+0x2cbb 007184 branch g24_transmit_rf_ctrl_clear 
+:      007186 g24_transmit_hop_pac_fail_hop_stage2:
+0x2cbc 007187 call g24_set0_mem_rf_hop_ch 
+0x2cbd 007189 branch g24_transmit_hop_pac_fail_stage1 
+:      007191 g24_transmit_pac_fail_hop_stage3:
+0x2cbe 007192 add regc ,offset_24g_txfail_cnt ,rega 
+0x2cbf 007193 ifetch 1 ,rega 
+0x2cc0 007195 increase 1 ,pdata 
+0x2cc1 007196 add regc ,offset_24g_txfail_cnt ,contw 
+0x2cc2 007197 istore 1 ,contw 
+0x2cc3 007199 beq 0x20 ,g24_tx_attempt_fail 
+0x2cc4 007200 call g24_fetch_mem_rf_hop_ch 
+0x2cc5 007202 beq 1 ,g24_rf_hop_fastly 
+0x2cc6 007203 setarg 1 
+0x2cc7 007204 call g24_store_mem_rf_hop_ch 
+:      007206 g24_rf_hop_attemp_again:
+0x2cc8 007207 call g24_fetch_mem_rf_hop_ch 
+0x2cc9 007209 bne 1 ,g24_transmit_rf_ctrl_clear 
+:      007210 g24_rf_hop_fastly:
+0x2cca 007211 add regc ,offset_24g_hop_fastly_cnt ,rega 
+0x2ccb 007212 ifetch 1 ,rega 
+0x2ccc 007214 increase 1 ,pdata 
+0x2ccd 007215 call g24_store_mem_hop_fastly_cnt 
+0x2cce 007217 beq 4 ,g24_rf_hop_fastly_exit 
+0x2ccf 007218 call g24_ch 
+0x2cd0 007219 call g24_set2_mem_max_retry 
+0x2cd1 007221 branch g24_transmit_packet 
+:      007223 g24_rf_hop_fastly_exit:
+0x2cd2 007224 call g24_set0_mem_hop_fastly_cnt 
+0x2cd3 007226 branch g24_transmit_rf_ctrl_clear 
+:      007228 g24_set0_mem_hop_fastly_cnt:
+0x2cd4 007229 setarg 0 
+:      007230 g24_store_mem_hop_fastly_cnt:
+0x2cd5 007231 add regc ,offset_24g_hop_fastly_cnt ,contw 
+0x2cd6 007232 branch g24_contw_istore_1byte 
+:      007234 g24_transmit_hop_pac_succ_wo_hop:
+0x2cd7 007235 call g24_set2_mem_sync_cnt 
+:      007237 g24_transmit_hop_pac_succ:
+0x2cd8 007238 call g24_set0_mem_rf_hop_ch 
+0x2cd9 007240 call g24_set1_mem_rf_last_sta 
+0x2cda 007242 branch g24_transmit_rf_ctrl_clear 
+:      007244 g24_transmit_succ_rf_config:
+0x2cdb 007245 call g24_fetch_mem_rf_work_stage 
+0x2cdc 007247 beq 3 ,g24_transmit_hop_pac_succ 
+0x2cdd 007248 call g24_fetch_mem_data_type 
+0x2cde 007250 isolate0 bit_hop ,pdata 
+0x2cdf 007251 branch g24_transmit_rf_sta_init ,true 
+0x2ce0 007252 call g24_fetch_mem_rf_work_stage 
+0x2ce1 007254 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+0x2ce2 007255 beq 2 ,g24_transmit_hop_pac_succ 
+0x2ce3 007256 rtn 
+:      007258 g24_rf_sta_check:
+0x2ce4 007259 call g24_fetch_mem_pairing_sm 
+0x2ce5 007261 rtnne state_24g_pairing_success 
+0x2ce6 007262 call g24_rf_laststa_synccnt_check 
+0x2ce7 007263 ncall g24_rf_sync_cnt_check ,user2 
+0x2ce8 007264 rtn 
+:      007266 g24_rf_laststa_synccnt_check:
+0x2ce9 007267 disable user2 
+0x2cea 007268 add regc ,offset_24g_rf_last_sta ,rega 
+0x2ceb 007269 ifetch 1 ,rega 
+0x2cec 007271 rtnne 1 
+0x2ced 007272 add regc ,offset_24g_sync_cnt ,rega 
+0x2cee 007273 ifetch 1 ,rega 
+0x2cef 007275 rtnne 0 
+0x2cf0 007276 setarg 1 
+0x2cf1 007277 call g24_store_mem_rf_work_stage 
+0x2cf2 007279 call g24_set4_mem_max_retry 
+0x2cf3 007281 branch enable_user2 
+:      007283 g24_rf_sync_cnt_check:
+0x2cf4 007284 add regc ,offset_24g_sync_cnt ,rega 
+0x2cf5 007285 ifetch 1 ,rega 
+0x2cf6 007287 branch g24_rf_hop_attemp ,blank 
+0x2cf7 007288 increase -1 ,pdata 
+0x2cf8 007289 call g24_store_mem_sync_cnt 
+0x2cf9 007291 setarg 2 
+0x2cfa 007292 call g24_store_mem_rf_work_stage 
+0x2cfb 007294 call g24_ch 
+0x2cfc 007296 branch g24_set4_mem_max_retry 
+:      007298 g24_store_mem_rf_work_stage:
+0x2cfd 007299 add regc ,offset_24g_rf_work_stage ,contw 
+0x2cfe 007300 branch g24_contw_istore_1byte 
+:      007303 g24_rf_hop_attemp:
+0x2cff 007304 setarg 3 
+0x2d00 007305 call g24_store_mem_rf_work_stage 
+0x2d01 007307 call g24_fetch_mem_rf_hop_ch 
+0x2d02 007309 nbranch g24_rf_hop_attemp_again ,blank 
+0x2d03 007310 call g24_ch 
+:      007312 g24_set2_mem_max_retry:
+0x2d04 007313 setarg 2 
+0x2d05 007314 branch g24_store_mem_max_retry 
+:      007316 g24_transmit_process:
+0x2d06 007317 rtnmark0 mark_24g 
+0x2d07 007318 set1 mark_24g_conext ,mark 
+0x2d08 007319 bpatch patch16_3 ,mem_patch16 
+0x2d09 007320 add regc ,offset_24g_tx_without_int ,rega 
+0x2d0a 007321 ifetch 1 ,rega 
+0x2d0b 007323 beq 1 ,g24_transmit_without_int 
+0x2d0c 007324 call g24_timer_check 
+0x2d0d 007325 nbranch g24_transmit_exit ,user 
+0x2d0e 007326 call g24_interval_calibrate 
+:      007327 g24_transmit_without_int:
+0x2d0f 007328 add regc ,offset_24g_tx_without_int ,contw 
+0x2d10 007329 call g24_mem_set0 
+0x2d11 007331 call g24_txdata_prep 
+0x2d12 007332 nbranch g24_enter_lpm ,user 
+0x2d13 007333 call g24_rf_sta_check 
+:      007334 g24_transmit_start:
+0x2d14 007335 call g24_transmit_packet 
+0x2d15 007336 call g24_power_ctrl 
+:      007337 g24_transmit_exit:
+0x2d16 007338 set0 mark_24g_conext ,mark 
+0x2d17 007339 rtn 
+:      007341 g24_timer_timeout:
+0x2d18 007342 rtn zero 
+0x2d19 007343 set1 28 ,pdata 
+0x2d1a 007344 rtn 
+:      007346 g24_interval_calibrate:
+0x2d1b 007347 add regc ,offset_24g_pac_index ,rega 
+0x2d1c 007348 ifetch 1 ,rega 
+0x2d1d 007350 increase 1 ,pdata 
+0x2d1e 007351 add regc ,offset_24g_pac_index ,contw 
+0x2d1f 007352 istore 1 ,contw 
+0x2d20 007354 beq 4 ,g24_interval_max 
+0x2d21 007355 beq 5 ,g24_interval_min 
+0x2d22 007356 rtn 
+:      007357 g24_interval_max:
+0x2d23 007358 add regc ,offset_24g_interval_max ,rega 
+0x2d24 007359 ifetch 1 ,rega 
+:      007361 g24_interval_update:
+0x2d25 007363 add regc ,offset_24g_interval ,contw 
+0x2d26 007364 branch g24_contw_istore_1byte 
+:      007366 g24_interval_min:
+0x2d27 007367 add regc ,offset_24g_pac_index ,contw 
+0x2d28 007368 call g24_mem_set0 
+0x2d29 007370 add regc ,offset_24g_interval_min ,rega 
+0x2d2a 007371 ifetch 1 ,rega 
+0x2d2b 007373 branch g24_interval_update 
+:      007375 g24_txdata_prep:
+0x2d2c 007376 call g24_fetch_mem_pairing_sm 
+0x2d2d 007378 bne state_24g_pairing_success ,g24_pairing_sm 
+0x2d2e 007379 bpatch patch16_4 ,mem_patch16 
+0x2d2f 007380 call g24_package_data 
+0x2d30 007381 nbranch g24_txdata_last_pac ,user 
+0x2d31 007382 call g24_transmit_prep 
+0x2d32 007383 call g24_power_ctrl_pac_incrs 
+:      007384 g24_txdata_enable_tx:
+0x2d33 007386 setarg ensure_on_24g 
+:      007387 g24_store_mem_ensure:
+0x2d34 007388 add regc ,offset_24g_ensure ,contw 
+0x2d35 007389 branch g24_contw_istore_1byte 
+:      007391 g24_txdata_last_pac:
+0x2d36 007392 add regc ,offset_24g_ensure ,rega 
+0x2d37 007393 ifetch 1 ,rega 
+0x2d38 007395 beq ensure_on_24g ,enable_user 
+0x2d39 007396 rtn 
+:      007398 g24_package_data:
+0x2d3a 007400 add regc ,offset_24g_cb_data ,temp 
+0x2d3b 007401 ifetch 2 ,temp 
+0x2d3c 007403 call callback_func 
+0x2d3d 007404 nrtn user 
+0x2d3e 007405 copy rega ,pdata 
+0x2d3f 007406 store 1 ,mem_rega 
+0x2d40 007407 add regc ,offset_24g_abort_pac ,contw 
+0x2d41 007408 call g24_mem_set0 
+0x2d42 007410 call g24_transmit_rf_ctrl_clear 
+0x2d43 007411 store 1 ,mem_24g_common_temp 
+0x2d44 007412 fetch 1 ,mem_rega 
+0x2d45 007413 copy pdata ,rega 
+0x2d46 007414 add rega ,1 ,temp 
+0x2d47 007415 arg mem_24g_common_temp + 1 ,contw 
+0x2d48 007416 copy rega ,loopcnt 
+0x2d49 007417 copy regb ,contr 
+0x2d4a 007418 call memcpy 
+0x2d4b 007419 arg mem_24g_common_temp ,rega 
+:      007420 g24_put_data_in_buff:
+0x2d4c 007421 rtnmark0 mark_24g_conext 
+0x2d4d 007422 add regc ,offset_24g_datalen ,contw 
+0x2d4e 007423 istoret 1 ,contw 
+0x2d4f 007425 copy temp ,loopcnt 
+0x2d50 007426 add regc ,offset_24g_txbuf ,contw 
+0x2d51 007428 copy rega ,contr 
+0x2d52 007429 branch memcpy 
+:      007431 g24_transmit_prep:
+0x2d53 007433 add regc ,offset_24g_datalen ,rega 
+0x2d54 007434 ifetch 1 ,rega 
+0x2d55 007436 increase 2 ,pdata 
+0x2d56 007437 add regc ,offset_24g_txlen ,contw 
+0x2d57 007438 istore 1 ,contw 
+0x2d58 007441 call g24_fetch_mem_data_type 
+0x2d59 007443 call g24_store_mem_txpayload 
+0x2d5a 007446 add regc ,offset_24g_datalen ,rega 
+0x2d5b 007447 ifetch 1 ,rega 
+0x2d5c 007449 lshift3 pdata ,pdata 
+0x2d5d 007450 add regc ,offset_24g_pid ,rega 
+0x2d5e 007451 ifetcht 1 ,rega 
+0x2d5f 007453 and temp ,0x03 ,temp 
+0x2d60 007454 lshift temp ,temp 
+0x2d61 007455 ior temp ,pdata 
+0x2d62 007456 add regc ,offset_24g_no_ack ,rega 
+0x2d63 007457 ifetcht 1 ,rega 
+0x2d64 007459 iadd temp ,pdata 
+0x2d65 007460 istore 1 ,contw 
+0x2d66 007462 add regc ,offset_24g_datalen ,rega 
+0x2d67 007463 ifetch 1 ,rega 
+0x2d68 007465 iforce loopcnt 
+0x2d69 007466 add regc ,offset_24g_txbuf ,contr 
+0x2d6a 007468 branch memcpy 
+:      007470 g24_send_abort_packet:
+0x2d6b 007471 call g24_set1_mem_abort_pac 
+0x2d6c 007473 call g24_set0_mem_rf_hop_ch 
+0x2d6d 007475 call g24_power_ctrl_reinit 
+0x2d6e 007476 call g24_transmit_rf_ctrl_clear 
+0x2d6f 007477 store 1 ,mem_24g_common_temp 
+0x2d70 007478 call g24_put_data_in_buff_pre 
+0x2d71 007479 call g24_fetch_mem_data_type 
+0x2d72 007481 set1 bit_abort ,pdata 
+0x2d73 007482 call g24_store_mem_data_type 
+0x2d74 007484 call g24_transmit_prep 
+0x2d75 007485 call g24_txdata_enable_tx 
+0x2d76 007486 branch g24_transmit_start 
+:      007488 g24_put_data_in_buff_pre:
+0x2d77 007489 store 1 ,mem_24g_common_temp + 1 
+0x2d78 007490 call g24_fetch_mem_device_addr 
+0x2d79 007492 store 4 ,mem_24g_common_temp + 2 
+0x2d7a 007493 arg 6 ,temp 
+0x2d7b 007494 arg mem_24g_common_temp ,rega 
+0x2d7c 007495 branch g24_put_data_in_buff 
+:      007497 g24_enter_lpm:
+0x2d7d 007498 add regc ,offset_24g_abort_pac ,rega 
+0x2d7e 007499 ifetch 1 ,rega 
+0x2d7f 007501 branch g24_send_abort_packet ,blank 
+:      007502 g24_enter_lpm_prepare:
+0x2d80 007504 add regc ,offset_24g_cb_lpm_prepare ,rega 
+0x2d81 007505 ifetch 2 ,rega 
+0x2d82 007507 branch callback_func 
+:      007509 g24_lpm_long_sleep:
+0x2d83 007510 call g24_head_ptr2regc 
+0x2d84 007512 call lpo_calibration 
+0x2d85 007513 fetch 3 ,mem_clks_per_lpo 
+0x2d86 007514 rtn blank 
+0x2d87 007515 add regc ,offset_24g_cb_lpm_before ,temp 
+0x2d88 007516 ifetch 2 ,temp 
+0x2d89 007518 call callback_func 
+0x2d8a 007519 add regc ,offset_24g_enter_hibernate ,temp 
+0x2d8b 007520 ifetch 8 ,temp 
+0x2d8c 007521 call clk2lpo 
+0x2d8d 007522 storet 4 ,mem_sleep_counter 
+0x2d8e 007523 branch lpm_sleep 
+:      007525 g24_transmit_packet:
+0x2d8f 007526 call g24_head_ptr2regc 
+0x2d90 007527 add regc ,offset_24g_retry ,contw 
+0x2d91 007528 call g24_mem_set0 
+:      007530 g24_transmit_loop:
+0x2d92 007531 call g24_transmit_receive_ack 
+0x2d93 007532 nbranch g24_retransmit ,sync 
+0x2d94 007533 nbranch g24_retransmit ,user3 
+0x2d95 007534 call g24_ackpayload_parse 
+0x2d96 007535 call g24_power_ctrl_ack_incrs 
+:      007536 g24_transmit_next_packet:
+0x2d97 007537 call g24_head_ptr2regc 
+0x2d98 007538 add regc ,offset_24g_pid ,rega 
+0x2d99 007539 ifetch 1 ,rega 
+0x2d9a 007541 increase 1 ,pdata 
+0x2d9b 007542 call g24_store_mem_pid 
+0x2d9c 007544 call g24_fetch_mem_pairing_sm 
+0x2d9d 007546 bne state_24g_pairing_success ,g24_paring_mode 
+0x2d9e 007547 call g24_transmit_succ_rf_config 
+:      007548 g24_transmit_abandon:
+0x2d9f 007549 setarg 0 
+0x2da0 007550 add regc ,offset_24g_txfail_cnt ,contw 
+0x2da1 007551 istore 2 ,contw 
+0x2da2 007555 setarg ensure_off_24g 
+0x2da3 007556 branch g24_store_mem_ensure 
+:      007559 g24_transmit_receive_ack:
+0x2da4 007560 disable user3 
+0x2da5 007561 call g24_transmit 
+0x2da6 007562 call g24_head_ptr2regc 
+0x2da7 007563 add regc ,offset_24g_no_ack ,rega 
+0x2da8 007564 ifetch 1 ,rega 
+0x2da9 007566 beq no_ack_24g ,g24_transmit_no_ack 
+0x2daa 007567 call g24_receive_packet 
+0x2dab 007568 branch g24_end_of_packet 
+:      007569 g24_transmit_no_ack:
+0x2dac 007570 call g24_end_of_packet 
+0x2dad 007571 branch g24_transmit_next_packet 
+:      007574 g24_retransmit:
+0x2dae 007575 bpatch patch16_5 ,mem_patch16 
+0x2daf 007576 add regc ,offset_24g_get_ack_fail ,rega 
+0x2db0 007577 ifetch 1 ,rega 
+0x2db1 007579 increase 1 ,pdata 
+0x2db2 007580 add regc ,offset_24g_get_ack_fail ,contw 
+0x2db3 007581 istore 1 ,contw 
+0x2db4 007583 call g24_fetch_mem_pairing_sm 
+0x2db5 007585 bne state_24g_pairing_success ,g24_tx_paring_retry 
+0x2db6 007586 add regc ,offset_24g_retry ,rega 
+0x2db7 007587 ifetcht 1 ,rega 
+0x2db8 007589 increase 1 ,temp 
+0x2db9 007590 add regc ,offset_24g_retry ,contw 
+0x2dba 007591 istoret 1 ,contw 
+0x2dbb 007593 add regc ,offset_24g_max_retry ,rega 
+0x2dbc 007594 ifetch 1 ,rega 
+0x2dbd 007596 isub temp ,pdata 
+0x2dbe 007597 nbranch g24_transmit_loop ,blank 
+0x2dbf 007598 bpatch patch16_6 ,mem_patch16 
+0x2dc0 007599 call g24_fetch_mem_rf_work_stage 
+0x2dc1 007601 beq 3 ,g24_transmit_pac_fail_hop_stage3 
+0x2dc2 007602 add regc ,offset_24g_hop_pac_retry ,rega 
+0x2dc3 007603 ifetch 1 ,rega 
+0x2dc4 007605 increase 1 ,pdata 
+0x2dc5 007606 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2dc6 007607 istore 1 ,contw 
+0x2dc7 007609 beq 2 ,g24_transmit_hop_pac_fail 
+0x2dc8 007610 call g24_hop_ch_enable 
+0x2dc9 007611 setarg 1 
+0x2dca 007612 call g24_store_mem_max_retry 
+0x2dcb 007614 branch g24_transmit_packet 
+:      007616 g24_tx_paring_retry:
+0x2dcc 007617 add regc ,offset_24g_get_ack_fail ,rega 
+0x2dcd 007618 ifetch 1 ,rega 
+0x2dce 007620 rtnne 0xff 
+0x2dcf 007621 add regc ,offset_24g_get_ack_fail ,contw 
+0x2dd0 007622 call g24_mem_set0 
+0x2dd1 007624 branch g24_stop_24g_mode 
+:      007626 g24_tx_attempt_fail:
+0x2dd2 007627 add regc ,offset_24g_txfail_cnt ,contw 
+0x2dd3 007628 call g24_mem_set0 
+:      007630 g24_stop_24g_mode:
+0x2dd4 007631 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x2dd5 007632 branch ui_ipc_send_event 
+:      007634 g24_ackpayload_parse:
+0x2dd6 007635 call g24_read_len_pid_crc 
+0x2dd7 007636 add regc ,offset_24g_rxdata_length ,rega 
+0x2dd8 007637 ifetch 1 ,rega 
+0x2dd9 007639 rtn blank 
+0x2dda 007640 iforce loopcnt 
+0x2ddb 007641 add regc ,offset_24g_rxbuf_add2 ,contr 
+0x2ddc 007643 add regc ,offset_24g_rxpayload ,contw 
+0x2ddd 007645 branch memcpy 
+:      007648 g24_read_len_pid_crc:
+0x2dde 007650 call g24_fetch_mem_rxbuf_add1 
+0x2ddf 007652 rshift3 pdata ,pdata 
+0x2de0 007653 add regc ,offset_24g_rxdata_length ,contw 
+0x2de1 007654 istore 1 ,contw 
+0x2de2 007657 increase 1 ,pdata 
+0x2de3 007658 add regc ,offset_24g_rxbuf_add1 ,contr 
+0x2de4 007660 iadd contr ,contr 
+0x2de5 007661 ifetch 3 ,contr 
+0x2de6 007662 add regc ,offset_24g_sta_crc ,contw 
+0x2de7 007663 istore 3 ,contw 
+0x2de8 007666 call g24_fetch_mem_rxbuf_add1 
+0x2de9 007668 rshift pdata ,pdata 
+0x2dea 007669 and pdata ,0x03 ,pdata 
+0x2deb 007670 add regc ,offset_24g_sta_pid ,contw 
+0x2dec 007671 istore 1 ,contw 
+0x2ded 007673 rtn 
+:      007675 g24_prep:
+0x2dee 007676 disable enable_crc 
+0x2def 007677 disable enable_white 
+0x2df0 007678 setarg 0x555555 
+0x2df1 007679 iforce crc24_init 
+0x2df2 007680 rtn 
+:      007682 g24_set_freq_tx:
+0x2df3 007683 call set_sync_on 
+0x2df4 007684 add regc ,offset_24g_ch ,rega 
+0x2df5 007685 ifetcht 1 ,rega 
+0x2df6 007687 branch set_freq_tx 
+:      007689 g24_transmit:
+0x2df7 007690 call g24_prep 
+0x2df8 007691 call g24_set_freq_tx 
+0x2df9 007692 set1 txgfsk ,radio_ctrl 
+0x2dfa 007693 enable encode_fec0 
+0x2dfb 007694 enable is_tx 
+0x2dfc 007695 disable is_rx 
+0x2dfd 007696 call le_enable 
+0x2dfe 007697 call g24_fetch_mem_addr 
+0x2dff 007699 iforce access 
+0x2e00 007700 inject mod ,32 
+0x2e01 007701 enable enable_crc 
+0x2e02 007702 add regc ,offset_24g_txlen ,rega 
+0x2e03 007703 ifetch 1 ,rega 
+0x2e04 007705 iforce loopcnt 
+0x2e05 007706 add regc ,offset_24g_txpayload ,contr 
+:      007708 g24tr_loop:
+0x2e06 007709 ifetch 1 ,contr 
+0x2e07 007710 inject mod ,8 
+0x2e08 007711 loop g24tr_loop 
+0x2e09 007712 enable enable_parity 
+0x2e0a 007713 inject mod ,24 
+0x2e0b 007714 disable enable_parity 
+0x2e0c 007715 until null ,tx_clear 
+0x2e0d 007716 bpatch patch16_7 ,mem_patch16 
+0x2e0e 007717 nop 100 
+0x2e0f 007718 disable encode_fec0 
+0x2e10 007719 rtn 
+:      007721 g24_receive_packet:
+0x2e11 007722 disable user3 
+0x2e12 007723 force 0 ,radio_ctrl 
+0x2e13 007724 add regc ,offset_24g_ch ,rega 
+0x2e14 007725 ifetcht 1 ,rega 
+0x2e15 007727 call set_freq_rx 
+0x2e16 007728 call rf_rx_enable 
+:      007729 g24_receive_rxon:
+0x2e17 007730 call g24_prep 
+0x2e18 007731 enable decode_fec0 
+0x2e19 007732 enable is_rx 
+0x2e1a 007733 disable is_tx 
+0x2e1b 007734 call le_enable 
+0x2e1c 007735 call g24_fetch_mem_addr 
+0x2e1d 007737 iforce access 
+0x2e1e 007738 enable swfine 
+0x2e1f 007739 add regc ,offset_24g_rx_window ,rega 
+0x2e20 007740 ifetch 2 ,rega 
+0x2e21 007742 iforce stop_watch 
+0x2e22 007743 correlate null ,timeout 
+0x2e23 007744 nbranch g24_sync_timeout ,sync 
+0x2e24 007745 enable enable_crc 
+0x2e25 007746 parse demod ,bucket ,8 
+0x2e26 007747 rshift3 pwindow ,pdata 
+0x2e27 007748 add regc ,offset_24g_rxbuf ,contw 
+0x2e28 007749 istore 1 ,contw 
+0x2e29 007751 add regc ,offset_24g_mode ,rega 
+0x2e2a 007752 ifetch 1 ,rega 
+0x2e2b 007754 beq rx_24g ,g24_receive_skip 
+0x2e2c 007755 bpatch patch17_0 ,mem_patch17 
+0x2e2d 007756 add regc ,offset_24g_rxbuf ,rega 
+0x2e2e 007757 ifetch 1 ,rega 
+0x2e2f 007759 add regc ,offset_24g_data_type ,rega 
+0x2e30 007760 ifetcht 1 ,rega 
+0x2e31 007762 icompare bits_data ,temp 
+0x2e32 007763 nbranch g24_end_of_packet ,true 
+:      007764 g24_receive_skip:
+0x2e33 007765 parse demod ,bucket ,8 
+0x2e34 007766 rshift3 pwindow ,pdata 
+0x2e35 007767 istore 1 ,contw 
+0x2e36 007768 rshift3 pdata ,pdata 
+0x2e37 007769 and pdata ,0x1f ,loopcnt 
+0x2e38 007770 branch g24rx_nopayload ,zero 
+:      007771 g24rx_loop:
+0x2e39 007772 parse demod ,bucket ,8 
+0x2e3a 007773 rshift3 pwindow ,pdata 
+0x2e3b 007774 istore 1 ,contw 
+0x2e3c 007775 loop g24rx_loop 
+:      007776 g24rx_nopayload:
+0x2e3d 007777 parse demod ,bucket ,24 
+0x2e3e 007778 rshift32 pdata ,pdata 
+0x2e3f 007779 rshift16 pdata ,pdata 
+0x2e40 007780 istore 3 ,contw 
+0x2e41 007781 branch g24_end_of_packet ,crc_failed 
+0x2e42 007782 enable user3 
+0x2e43 007783 disable decode_fec0 
+0x2e44 007784 rtn 
+:      007787 g24_end_of_packet:
+0x2e45 007788 disable encode_fec0 
+0x2e46 007789 disable decode_fec0 
+0x2e47 007790 disable enable_crc 
+0x2e48 007791 disable enable_white 
+0x2e49 007792 branch shutdown_radio ,is_rx 
+0x2e4a 007793 until null ,tx_clear 
+0x2e4b 007794 nop 100 
+0x2e4c 007795 branch shutdown_radio 
+:      007797 g24_sync_timeout:
+0x2e4d 007798 call rssi_noise 
+0x2e4e 007799 branch g24_end_of_packet 
+:      007801 rssi_noise:
+0x2e4f 007802 call save_rssi 
+0x2e50 007803 rtn blank 
+0x2e51 007804 add regc ,offset_rssi_noise_index ,rega 
+0x2e52 007805 ifetcht 1 ,rega 
+0x2e53 007807 arg mem_rssi_noise_buffer ,rega 
+0x2e54 007809 call rssi_noise_store 
+0x2e55 007810 add regc ,offset_rssi_noise_index ,contw 
+:      007812 g24_contw_istoret_1byte:
+0x2e56 007813 istoret 1 ,contw 
+0x2e57 007814 rtn 
+:      007816 rssi_noise_store:
+0x2e58 007817 arg rssi_buf_len_noise ,regb 
+0x2e59 007818 branch rssi_store 
+:      007836 rssi_store:
+0x2e5a 007837 copy rega ,pdata 
+0x2e5b 007838 iadd temp ,contw 
+0x2e5c 007839 fetch 1 ,mem_rssi 
+0x2e5d 007840 istore 1 ,contw 
+0x2e5e 007841 increase 1 ,temp 
+0x2e5f 007842 copy regb ,pdata 
+0x2e60 007843 iand_into temp 
+0x2e61 007844 rtn 
+:      007846 rssi_average:
+0x2e62 007847 arg 0 ,temp 
+0x2e63 007848 copy rega ,contr 
+:      007849 rssi_average_loop:
+0x2e64 007850 ifetch 1 ,contr 
+0x2e65 007851 iadd temp ,temp 
+0x2e66 007852 loop rssi_average_loop 
+0x2e67 007853 rshift8 temp ,temp 
+0x2e68 007854 rtn 
+:      007856 g24_power_ctrl_init:
+0x2e69 007857 call g24_head_ptr2regc 
+0x2e6a 007858 call g24_power_ctrl_incrs_level1 
+0x2e6b 007859 setarg 1 
+0x2e6c 007860 call g24_store_mem_power_ctrl_level 
+:      007862 g24_power_ctrl_reinit:
+0x2e6d 007863 setarg 0 
+0x2e6e 007864 call g24_store_mem_power_ctrl_pac 
+0x2e6f 007866 istore 1 ,contw 
+0x2e70 007868 rtn 
+:      007870 g24_power_ctrl_pac_incrs:
+0x2e71 007871 call g24_fetch_mem_power_ctrl_pac 
+0x2e72 007873 increase 1 ,pdata 
+:      007874 g24_store_mem_power_ctrl_pac:
+0x2e73 007876 add regc ,offset_power_ctrl_packet_cnt ,contw 
+0x2e74 007877 branch g24_contw_istore_1byte 
+:      007879 g24_power_ctrl_ack_incrs:
+0x2e75 007882 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e76 007883 ifetch 1 ,rega 
+0x2e77 007884 increase 1 ,pdata 
+0x2e78 007885 add regc ,offset_power_ctrl_ack_cnt ,contw 
+0x2e79 007886 branch g24_contw_istore_1byte 
+:      007888 g24_power_ctrl:
+0x2e7a 007889 bpatch patch17_1 ,mem_patch17 
+0x2e7b 007890 call g24_fetch_mem_power_ctrl_pac 
+0x2e7c 007892 sub pdata ,power_ctrl_max_packet_cnt ,null 
+0x2e7d 007893 rtn positive 
+0x2e7e 007894 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e7f 007895 ifetcht 1 ,rega 
+0x2e80 007897 isub temp ,temp 
+0x2e81 007898 call g24_power_ctrl_reinit 
+0x2e82 007899 setarg offset_power_ctrl_threshold_up 
+0x2e83 007900 iadd regc ,rega 
+0x2e84 007901 ifetch 1 ,rega 
+0x2e85 007903 isub temp ,null 
+0x2e86 007904 nbranch g24_power_ctrl_incrs ,positive 
+0x2e87 007905 setarg offset_power_ctrl_threshold_down 
+0x2e88 007906 iadd regc ,rega 
+0x2e89 007907 ifetch 1 ,rega 
+0x2e8a 007909 isub temp ,null 
+0x2e8b 007910 branch g24_power_ctrl_decrs ,positive 
+0x2e8c 007911 rtn 
+:      007913 g24_power_ctrl_incrs:
+0x2e8d 007914 add regc ,offset_power_ctrl_level ,rega 
+0x2e8e 007915 ifetch 1 ,rega 
+0x2e8f 007917 beq 2 ,g24_power_ctrl_incrs_level2 
+0x2e90 007918 increase 1 ,pdata 
+0x2e91 007919 call g24_store_mem_power_ctrl_level 
+0x2e92 007921 beq 1 ,g24_power_ctrl_incrs_level1 
+:      007922 g24_power_ctrl_incrs_level2:
+0x2e93 007923 setarg power_ctrl_losspac_thresh_up2 
+0x2e94 007924 call g24_store_mem_power_ctrl_threshold_up 
+0x2e95 007926 setarg power_ctrl_losspac_thresh_down2 
+0x2e96 007927 call g24_store_mem_power_ctrl_threshold_down 
+0x2e97 007930 add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+0x2e98 007932 branch g24_ifetch_rega_store_mem_txpower 
+:      007934 g24_power_ctrl_decrs:
+0x2e99 007935 add regc ,offset_power_ctrl_level ,rega 
+0x2e9a 007936 ifetch 1 ,rega 
+0x2e9b 007938 beq 0 ,g24_power_ctrl_decrs_level0 
+0x2e9c 007939 increase -1 ,pdata 
+0x2e9d 007940 call g24_store_mem_power_ctrl_level 
+0x2e9e 007942 beq 0 ,g24_power_ctrl_decrs_level0 
+:      007943 g24_power_ctrl_decrs_level1:
+:      007946 g24_power_ctrl_incrs_level1:
+0x2e9f 007947 setarg power_ctrl_losspac_thresh_up1 
+0x2ea0 007948 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea1 007950 setarg power_ctrl_losspac_thresh_down1 
+0x2ea2 007951 call g24_store_mem_power_ctrl_threshold_down 
+0x2ea3 007954 setarg offset_power_ctrl_txpwr_level1 
+:      007955 g24_iadd_offset_mem_txpower:
+0x2ea4 007956 iadd regc ,rega 
+:      007957 g24_ifetch_rega_store_mem_txpower:
+0x2ea5 007958 ifetch 1 ,rega 
+0x2ea6 007960 branch g24_store_mem_txpower 
+:      007962 g24_power_ctrl_decrs_level0:
+0x2ea7 007965 setarg power_ctrl_losspac_thresh_up0 
+0x2ea8 007966 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea9 007968 setarg power_ctrl_losspac_thresh_down0 
+0x2eaa 007969 call g24_store_mem_power_ctrl_threshold_down 
+0x2eab 007972 setarg offset_power_ctrl_txpwr_level0 
+0x2eac 007974 branch g24_iadd_offset_mem_txpower 
+:      007988 g24_start_pairing_sm1:
+0x2ead 007989 set1 mark_24g ,mark 
+0x2eae 007990 call g24_pair_init 
+:      007991 g24_set_pairing_sm_1:
+0x2eaf 007993 setarg state_24g_pairing_1 
+0x2eb0 007994 branch g24_store_mem_pairing_sm 
+:      007996 g24_pairing_sm:
+0x2eb1 007997 add regc ,offset_24g_ensure ,rega 
+0x2eb2 007998 ifetch 1 ,rega 
+0x2eb3 008000 beq ensure_on_24g ,enable_user 
+0x2eb4 008001 call g24_fetch_mem_pairing_sm 
+0x2eb5 008003 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+0x2eb6 008004 beq state_24g_pairing_2 ,g24_pairing_sm_2 
+0x2eb7 008005 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+0x2eb8 008006 branch assert 
+:      008008 g24_pairing_sm_1:
+0x2eb9 008009 setarg state_24g_pairing_1_waiting_ack 
+0x2eba 008010 call g24_store_mem_pairing_sm 
+0x2ebb 008012 jam 0xaa ,mem_24g_common_temp 
+0x2ebc 008013 branch g24_pairing_sm_common 
+:      008014 g24_pairing_sm_2:
+0x2ebd 008015 setarg state_24g_pairing_2_waiting_ack 
+0x2ebe 008016 call g24_store_mem_pairing_sm 
+0x2ebf 008018 jam 0x55 ,mem_24g_common_temp 
+0x2ec0 008019 branch g24_pairing_sm_common 
+:      008020 g24_pairing_sm_3:
+0x2ec1 008021 setarg state_24g_pairing_3_waiting_ack 
+0x2ec2 008022 call g24_store_mem_pairing_sm 
+0x2ec3 008024 jam 0x22 ,mem_24g_common_temp 
+:      008025 g24_pairing_sm_common:
+0x2ec4 008026 call g24_fetch_mem_data_type 
+0x2ec5 008028 and_into bits_data ,pdata 
+0x2ec6 008029 store 1 ,mem_24g_common_temp + 1 
+0x2ec7 008030 call g24_fetch_mem_device_addr 
+0x2ec8 008032 store 4 ,mem_24g_common_temp + 2 
+:      008033 g24_put_pairing_data_in_buff:
+0x2ec9 008034 jam 0 ,mem_24g_common_temp + 6 
+0x2eca 008035 arg mem_24g_common_temp ,rega 
+0x2ecb 008036 arg 7 ,temp 
+0x2ecc 008037 call g24_put_data_in_buff 
+0x2ecd 008038 call g24_transmit_prep 
+0x2ece 008039 call g24_txdata_enable_tx 
+0x2ecf 008040 branch enable_user 
+:      008042 g24_paring_mode:
+0x2ed0 008043 call g24_fetch_mem_pairing_sm 
+0x2ed1 008045 rtneq state_24g_pairing_success 
+0x2ed2 008046 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+0x2ed3 008047 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+0x2ed4 008048 beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+0x2ed5 008049 rtn 
+:      008051 g24_pairing_sm_1_waiting_ack:
+0x2ed6 008052 setarg state_24g_pairing_2 
+0x2ed7 008053 call g24_store_mem_pairing_sm 
+0x2ed8 008055 branch g24_transmit_abandon 
+:      008056 g24_pairing_sm_2_waiting_ack:
+0x2ed9 008057 setarg state_24g_pairing_3 
+0x2eda 008058 call g24_store_mem_pairing_sm 
+0x2edb 008060 branch g24_transmit_abandon 
+:      008061 g24_pairing_sm_3_waiting_ack:
+0x2edc 008062 setarg state_24g_pairing_success 
+0x2edd 008063 call g24_store_mem_pairing_sm 
+0x2ede 008065 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x2edf 008066 call ui_ipc_send_event 
+0x2ee0 008067 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ee1 008068 ifetch 4 ,rega 
+0x2ee2 008070 call g24_store_mem_addr 
+0x2ee3 008072 branch g24_transmit_abandon 
+:      008074 g24_auto_pair_start:
+0x2ee4 008075 set0 mark_24g ,mark 
+0x2ee5 008076 call g24_auto_pair_set_device_info 
+0x2ee6 008077 call g24_tx_attemp_data_prep 
+:      008078 g24_auto_pair_restart:
+0x2ee7 008079 call g24_set0_mem_check_dongle_times 
+:      008080 g24_auto_pair_start_loop:
+0x2ee8 008081 nop 2000 
+0x2ee9 008082 call g24_fetch_mem_check_dongle_times 
+0x2eea 008083 beq 0xff ,g24_stop_24g_mode 
+0x2eeb 008084 call g24_transmit_receive_ack 
+0x2eec 008085 nbranch g24_auto_pair_retry ,sync 
+0x2eed 008086 nbranch g24_auto_pair_retry ,user3 
+0x2eee 008087 call g24_ackpayload_parse 
+0x2eef 008088 call g24_head_ptr2regc 
+0x2ef0 008089 add regc ,offset_24g_paring_addr ,rega 
+0x2ef1 008090 ifetcht 4 ,rega 
+0x2ef2 008091 call g24_fetch_mem_addr_isub_temp 
+0x2ef3 008092 branch g24_start_pairing_sm1 ,zero 
+0x2ef4 008093 call g24_head_ptr2regc 
+0x2ef5 008094 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ef6 008095 ifetch 4 ,rega 
+0x2ef7 008096 beq 0 ,g24_auto_pair_restart 
+0x2ef8 008097 call g24_store_mem_addr 
+0x2ef9 008098 branch g24_tx_attemp_dongle_succ 
+:      008100 g24_auto_pair_retry:
+0x2efa 008101 call g24_fetch_mem_check_dongle_times 
+0x2efb 008102 increase 1 ,pdata 
+0x2efc 008103 call g24_store_mem_check_dongle_times 
+0x2efd 008105 call g24_fetch_mem_auto_paring_switch 
+0x2efe 008106 increase 1 ,pdata 
+0x2eff 008107 and_into 1 ,pdata 
+0x2f00 008108 call g24_store_mem_auto_paring_switch 
+0x2f01 008109 beq 0 ,g24_auto_pair_device_attemp 
+0x2f02 008110 beq 1 ,g24_auto_pair_pair_attemp 
+0x2f03 008111 rtn 
+:      008113 g24_fetch_mem_auto_paring_switch:
+0x2f04 008114 setarg offset_24g_auto_pair_switch 
+0x2f05 008115 branch g24_set_rega_ifetch_1byte 
+:      008116 g24_store_mem_auto_paring_switch:
+0x2f06 008117 arg offset_24g_auto_pair_switch ,rega 
+0x2f07 008118 branch g24_set_contw_with_regb_store_1byte 
+:      008120 g24_auto_pair_set_device_info:
+0x2f08 008121 call g24_store_mem_tx_power 
+0x2f09 008122 call g24_fetch_mem_device_addr 
+0x2f0a 008123 call g24_store_mem_addr 
+0x2f0b 008124 branch g24_ch 
+:      008126 g24_auto_pair_device_attemp:
+0x2f0c 008127 call g24_auto_pair_set_device_info 
+0x2f0d 008128 branch g24_auto_pair_start_loop 
+:      008130 g24_auto_pair_pair_attemp:
+0x2f0e 008131 call g24_pair_init 
+0x2f0f 008132 branch g24_auto_pair_start_loop 
+:      008135 g24_start_24g_mode:
+0x2f10 008136 set0 mark_24g ,mark 
+0x2f11 008137 call g24_ch 
+0x2f12 008138 call g24_fetch_mem_pairing_sm 
+0x2f13 008140 rtnne state_24g_pairing_success 
+0x2f14 008141 call g24_tx_attemp_data_prep 
+0x2f15 008142 call g24_set0_mem_check_dongle_times 
+:      008144 g24_tx_attemp_dongle_loop:
+0x2f16 008145 nop 2000 
+0x2f17 008146 call g24_fetch_mem_check_dongle_times 
+0x2f18 008148 beq 0xff ,g24_stop_24g_mode 
+0x2f19 008149 call g24_transmit_receive_ack 
+0x2f1a 008150 nbranch g24_attemp_txdata_retry ,sync 
+0x2f1b 008151 nbranch g24_attemp_txdata_retry ,user3 
+:      008152 g24_tx_attemp_dongle_succ:
+0x2f1c 008153 set1 mark_24g ,mark 
+0x2f1d 008154 call g24_set0_mem_check_dongle_times 
+0x2f1e 008155 setarg state_24g_pairing_success 
+0x2f1f 008156 call g24_store_mem_pairing_sm 
+0x2f20 008158 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x2f21 008159 branch ui_ipc_send_event 
+:      008161 g24_tx_attemp_data_prep:
+0x2f22 008162 set1 mark_24g_conext ,mark 
+0x2f23 008163 jam 0xff ,mem_24g_common_temp 
+0x2f24 008164 call g24_fetch_mem_data_type 
+0x2f25 008166 call g24_put_data_in_buff_pre 
+0x2f26 008167 branch g24_transmit_prep 
+:      008169 g24_attemp_txdata_retry:
+0x2f27 008170 call g24_fetch_mem_check_dongle_times 
+0x2f28 008172 increase 1 ,pdata 
+0x2f29 008173 call g24_store_mem_check_dongle_times 
+0x2f2a 008175 call g24_ch 
+0x2f2b 008176 branch g24_tx_attemp_dongle_loop 
+:      008178 g24_check_51cmd_start_24g:
+0x2f2c 008179 call g24_store_mem_tx_power 
+0x2f2d 008182 setarg state_24g_pairing_success 
+0x2f2e 008183 call g24_store_mem_pairing_sm 
+0x2f2f 008185 branch g24_start_24g_mode 
+:      008194 dongle_init:
+0x2f30 008195 bpatch patch17_2 ,mem_patch17 
+0x2f31 008196 call g24_head_ptr2regc 
+0x2f32 008197 setarg dongle_rxdata_type1 
+0x2f33 008198 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x2f34 008199 istore 2 ,contw 
+0x2f35 008201 call g24_receive_init 
+0x2f36 008202 call usb_init 
+0x2f37 008203 call g24_fetch_mem_pair_mode 
+0x2f38 008205 bpatch patch17_3 ,mem_patch17 
+0x2f39 008206 beq 0x00 ,dongle_auto_bind 
+0x2f3a 008207 beq 0x01 ,dongle_pc_bind 
+0x2f3b 008208 beq 0x0f ,dongle_all_powerful 
+0x2f3c 008209 branch assert 
+:      008211 g24_receive_init:
+0x2f3d 008212 call g24_store_mem_tx_power_temp 
+0x2f3e 008213 arg 0x80 ,loopcnt 
+0x2f3f 008214 arg mem_rssi_noise_buffer ,contw 
+0x2f40 008215 branch memset0 
+:      008217 dongle_all_powerful:
+0x2f41 008218 call dongle_check_mode 
+:      008219 dongle_all_powerful_loop:
+0x2f42 008220 call g24_dongle_work_mode 
+0x2f43 008221 call usb_isr 
+0x2f44 008222 branch dongle_all_powerful_loop 
+:      008224 dongle_pc_bind:
+0x2f45 008225 bpatch patch17_4 ,mem_patch17 
+0x2f46 008226 call dongle_check_mode 
+:      008227 dongle_pc_bind_loop:
+0x2f47 008228 call g24_dongle_work_mode 
+0x2f48 008229 call g24_dongle_bind_mode 
+0x2f49 008230 call usb_isr 
+0x2f4a 008231 call dongle_usb_dispatch 
+0x2f4b 008232 branch dongle_pc_bind_loop 
+:      008234 dongle_check_mode:
+0x2f4c 008238 call g24_set_work_mem_dongle_work_mode 
+0x2f4d 008239 call g24_set0_mem_dongle_mode_init 
+0x2f4e 008240 branch g24_set0_mem_ackpayload_enable 
+:      008242 g24_dongle_work_mode:
+0x2f4f 008243 call g24_fetch_mem_dongle_work_mode 
+0x2f50 008245 rtnne dongle_work 
+:      008246 g24_dongle_work_mode_start:
+0x2f51 008247 call g24_dongle_work_init 
+0x2f52 008248 call g24_ch_process 
+0x2f53 008249 call g24_receive_packet_start 
+0x2f54 008250 branch g24_blank_data_process 
+:      008252 g24_dongle_work_init:
+0x2f55 008253 call g24_fetch_mem_dongle_mode_init 
+0x2f56 008255 rtnbit1 dongle_work 
+0x2f57 008256 set1 dongle_work ,pdata 
+0x2f58 008257 call g24_store_mem_dongle_mode_init 
+0x2f59 008259 call g24_store_mem_tx_power 
+0x2f5a 008262 call g24_set0_mem_ackpayload_enable 
+0x2f5b 008264 jam 0 ,mem_usb_tx_enable 
+0x2f5c 008265 call g24_set1_mem_abort_pac 
+0x2f5d 008267 call g24_dongle_init 
+:      008268 g24_rx_interrupt_clear:
+0x2f5e 008269 add regc ,offset_24g_rxbuf ,contw 
+0x2f5f 008271 arg 66 ,loopcnt 
+0x2f60 008272 branch clear_mem 
+:      008274 g24_dongle_init:
+0x2f61 008275 call g24_set0_mem_pid 
+0x2f62 008277 call g24_fetch_mem_rx_addr 
+0x2f63 008279 call g24_store_mem_addr 
+0x2f64 008281 branch g24_ch 
+:      008283 g24_ch_process:
+0x2f65 008284 bpatch patch17_5 ,mem_patch17 
+0x2f66 008285 call g24_fetch_mem_abort_pac 
+0x2f67 008287 beq 1 ,g24_noise_rssi 
+0x2f68 008288 call g24_fetch_mem_hop_pac 
+0x2f69 008290 beq 1 ,g24_ch 
+0x2f6a 008291 setarg offset_24g_hop_btclk 
+0x2f6b 008292 iadd regc ,rega 
+0x2f6c 008293 ifetcht 4 ,rega 
+0x2f6d 008295 copy clkn_bt ,pdata 
+0x2f6e 008296 isub temp ,null 
+0x2f6f 008297 ncall g24_timer_timeout ,positive 
+0x2f70 008298 copy pdata ,regb 
+0x2f71 008299 setarg offset_24g_hop_btclk 
+0x2f72 008300 iadd regc ,rega 
+0x2f73 008301 ifetch 4 ,rega 
+0x2f74 008302 copy pdata ,temp 
+0x2f75 008304 setarg offset_24g_hop_interval 
+0x2f76 008305 iadd regc ,rega 
+0x2f77 008306 copy temp ,pdata 
+0x2f78 008307 ifetcht 1 ,rega 
+0x2f79 008309 iadd temp ,temp 
+0x2f7a 008310 copy regb ,pdata 
+0x2f7b 008311 isub temp ,null 
+0x2f7c 008312 nrtn positive 
+0x2f7d 008313 set0 28 ,pdata 
+0x2f7e 008314 setarg offset_24g_hop_btclk 
+0x2f7f 008315 iadd regc ,contw 
+0x2f80 008316 istore 4 ,contw 
+:      008318 g24_ch_update:
+0x2f81 008319 call g24_ch 
+0x2f82 008320 call g24_fetch_mem_rf_laststa 
+0x2f83 008322 increase 1 ,pdata 
+0x2f84 008323 call g24_store_mem_rf_laststa 
+0x2f85 008325 rtnne 2 
+0x2f86 008326 call g24_set0_mem_rf_laststa 
+0x2f87 008330 branch g24_set1_mem_abort_pac 
+:      008332 g24_ch_timer_reinit:
+0x2f88 008333 copy clkn_bt ,pdata 
+0x2f89 008334 arg offset_24g_hop_btclk ,rega 
+0x2f8a 008335 call g24_set_contw_with_temp 
+0x2f8b 008336 istore 4 ,contw 
+0x2f8c 008340 branch g24_set0_mem_rf_laststa 
+:      008342 g24_noise_rssi:
+0x2f8d 008343 arg mem_rssi_noise_buffer ,rega 
+0x2f8e 008344 call g24_noise_rssi_average 
+0x2f8f 008345 add regc ,offset_rssi_noise_avg ,contw 
+0x2f90 008346 istoret 1 ,contw 
+0x2f91 008348 sub temp ,rssi_thresh_noise ,null 
+0x2f92 008349 nrtn positive 
+0x2f93 008350 branch g24_ch 
+:      008352 g24_noise_rssi_average:
+0x2f94 008353 arg rssi_buf_len_noise + 1 ,loopcnt 
+0x2f95 008354 branch rssi_average 
+:      008356 g24_blank_data_process:
+0x2f96 008357 call g24_ms_blank_data 
+0x2f97 008358 call g24_kb_blank_data 
+0x2f98 008359 branch g24_kb_mul_blank_data 
+:      008361 g24_ms_blank_data:
+0x2f99 008362 setarg offset_24g_ms_blank_data_enable 
+0x2f9a 008363 call g24_set_rega_ifetch_1byte 
+0x2f9b 008365 rtn blank 
+0x2f9c 008366 arg timer_ms_blank ,queue 
+0x2f9d 008367 call timer_check 
+0x2f9e 008368 nrtn blank 
+0x2f9f 008369 call g24_set0_mem_ms_blank_data_enable 
+:      008371 g24_ms_blank_data_2usb:
+0x2fa0 008372 setarg ms_report_id 
+0x2fa1 008373 store 1 ,mem_usb_mouse_data 
+0x2fa2 008374 setarg 0 
+0x2fa3 008375 istore 7 ,contw 
+0x2fa4 008376 branch g24_data_type1_usbtx_enable 
+:      008378 g24_kb_blank_data:
+0x2fa5 008379 setarg offset_24g_kb_blank_data_enable 
+0x2fa6 008380 call g24_set_rega_ifetch_1byte 
+0x2fa7 008382 rtn blank 
+0x2fa8 008383 arg timer_kb_blank ,queue 
+0x2fa9 008384 call timer_check 
+0x2faa 008385 nrtn blank 
+0x2fab 008386 call g24_set0_mem_kb_blank_data_enable 
+:      008388 g24_kb_blank_data_2usb:
+0x2fac 008389 arg mem_usb_kb_data ,contw 
+0x2fad 008390 arg 2 ,loopcnt 
+0x2fae 008391 call memset0 
+0x2faf 008392 jam kb_normal_report_id ,mem_usb_kb_data 
+0x2fb0 008393 branch g24_kb_data_into_ep1_fifo 
+:      008395 g24_kb_mul_blank_data:
+0x2fb1 008396 setarg offset_24g_kb_mul_blank_data_enable 
+0x2fb2 008397 call g24_set_rega_ifetch_1byte 
+0x2fb3 008399 rtn blank 
+0x2fb4 008400 arg timer_kb_mul_blank ,queue 
+0x2fb5 008401 call timer_check 
+0x2fb6 008402 nrtn blank 
+0x2fb7 008403 call g24_set0_mem_kb_mul_blank_data_enable 
+:      008405 g24_kb_mul_blank_data_2usb:
+0x2fb8 008406 arg mem_usb_kb_multikey ,contw 
+0x2fb9 008407 arg 2 ,loopcnt 
+0x2fba 008408 call memset0 
+0x2fbb 008409 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0x2fbc 008410 branch g24_kb_mul_data_into_ep2_fifo 
+:      008412 g24_dongle_bind_mode:
+0x2fbd 008413 call g24_fetch_mem_dongle_work_mode 
+0x2fbe 008415 rtnne dongle_bind 
+0x2fbf 008416 call g24_dongle_bind_init 
+0x2fc0 008417 branch g24_dongle_bind_data_process 
+:      008419 g24_dongle_bind_init:
+0x2fc1 008420 call g24_fetch_mem_dongle_mode_init 
+0x2fc2 008422 rtnbit1 dongle_bind 
+0x2fc3 008423 set1 dongle_bind ,pdata 
+0x2fc4 008424 call g24_store_mem_dongle_mode_init 
+0x2fc5 008426 call g24_set1_mem_ackpayload_enable 
+0x2fc6 008428 call g24_pair_init 
+0x2fc7 008429 setarg 0 
+0x2fc8 008430 arg offset_dongle_ms_bind_step ,rega 
+0x2fc9 008431 call g24_set_contw_with_temp 
+0x2fca 008433 branch g24_contw_istore_3byte 
+:      008435 g24_dongle_bind_data_process:
+0x2fcb 008436 call g24_receive_transmit_ack 
+0x2fcc 008437 nbranch g24_rx_interrupt_clear ,user3 
+0x2fcd 008438 add regc ,offset_24g_rxbuf ,contr 
+0x2fce 008439 setarg offset_24g_rxdata_temp 
+0x2fcf 008440 iadd regc ,contw 
+0x2fd0 008441 arg 8 ,loopcnt 
+0x2fd1 008442 call memcpy 
+0x2fd2 008443 setarg offset_24g_rxdata_temp_add2 
+0x2fd3 008444 call g24_set_rega_ifetch_1byte 
+0x2fd4 008445 beq datatype_bind ,g24_dongle_bind_first_step 
+0x2fd5 008446 beq datatype_config ,g24_dongle_bind_second_step 
+0x2fd6 008447 beq datatype_ok ,g24_dongle_bind_third_step 
+0x2fd7 008448 beq 0xff ,g24_data_attemp 
+0x2fd8 008449 branch g24_rx_interrupt_clear 
+:      008451 g24_dongle_bind_first_step:
+0x2fd9 008452 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fda 008453 beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+0x2fdb 008454 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+0x2fdc 008455 rtn 
+:      008456 g24_dongle_bind_first_step_mouse:
+0x2fdd 008457 setarg 1 
+0x2fde 008458 call g24_store_mem_ms_bind_step 
+:      008460 g24_dongle_bind_ms_payload_cfg:
+0x2fdf 008461 setarg datatype_mouse 
+0x2fe0 008462 call g24_store_mem_bind_payload 
+:      008464 g24_dongle_bind_payload_cfg:
+0x2fe1 008465 setarg 0x80 
+0x2fe2 008466 arg offset_24g_bind_payload_add1 ,rega 
+0x2fe3 008467 call g24_set_contw_with_regb_store_1byte 
+0x2fe4 008469 call g24_fetch_mem_rx_addr 
+0x2fe5 008471 arg offset_24g_bind_payload_add2 ,rega 
+0x2fe6 008472 call g24_set_contw_with_temp 
+0x2fe7 008474 branch g24_contw_istore_4byte 
+:      008476 g24_dongle_bind_first_step_keyboard:
+0x2fe8 008477 setarg 1 
+0x2fe9 008478 call g24_store_mem_kb_bind_step 
+:      008480 g24_dongle_bind_kb_payload_cfg:
+0x2fea 008481 setarg datatype_keyboard 
+0x2feb 008482 call g24_store_mem_bind_payload 
+0x2fec 008484 branch g24_dongle_bind_payload_cfg 
+:      008486 g24_dongle_bind_second_step:
+0x2fed 008487 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fee 008488 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+0x2fef 008489 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+0x2ff0 008490 rtn 
+:      008491 g24_dongle_bind_second_step_mouse:
+0x2ff1 008492 call g24_dongle_bind_ms_payload_cfg 
+0x2ff2 008493 setarg offset_dongle_ms_bind_step 
+0x2ff3 008494 call g24_set_rega_ifetch_1byte 
+0x2ff4 008496 beq 1 ,g24_dongle_ms_bind_step_set2 
+0x2ff5 008497 rtn 
+:      008498 g24_dongle_ms_bind_step_set2:
+0x2ff6 008499 setarg 2 
+:      008501 g24_store_mem_ms_bind_step:
+0x2ff7 008502 arg offset_dongle_ms_bind_step ,rega 
+0x2ff8 008503 branch g24_set_contw_with_regb_store_1byte 
+:      008505 g24_dongle_bind_second_step_keyboard:
+0x2ff9 008506 call g24_dongle_bind_kb_payload_cfg 
+0x2ffa 008507 setarg offset_dongle_kb_bind_step 
+0x2ffb 008508 call g24_set_rega_ifetch_1byte 
+0x2ffc 008510 beq 1 ,g24_dongle_kb_bind_step_set2 
+0x2ffd 008511 rtn 
+:      008512 g24_dongle_kb_bind_step_set2:
+0x2ffe 008513 setarg 2 
+:      008515 g24_store_mem_kb_bind_step:
+0x2fff 008516 arg offset_dongle_kb_bind_step ,rega 
+0x3000 008517 branch g24_set_contw_with_regb_store_1byte 
+:      008519 g24_dongle_bind_third_step:
+0x3001 008520 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3002 008521 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+0x3003 008522 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+0x3004 008523 rtn 
+:      008524 g24_dongle_bind_third_step_mouse:
+0x3005 008525 setarg offset_dongle_ms_bind_step 
+0x3006 008526 call g24_set_rega_ifetch_1byte 
+0x3007 008528 beq 2 ,g24_dongle_ms_bind_step_success 
+0x3008 008529 rtn 
+:      008530 g24_dongle_ms_bind_step_success:
+0x3009 008531 call g24_fetch_mem_bind_device_status 
+0x300a 008533 or_into 0x01 ,pdata 
+0x300b 008534 call g24_store_mem_bind_device_status 
+:      008536 g24_dongle_bind_exit:
+0x300c 008537 setarg 0 
+0x300d 008538 setarg offset_dongle_ms_bind_step 
+0x300e 008539 iadd regc ,contw 
+0x300f 008540 istore 2 ,contw 
+0x3010 008541 branch g24_rx_interrupt_clear 
+:      008543 g24_dongle_bind_third_step_keyboard:
+0x3011 008544 setarg offset_dongle_kb_bind_step 
+0x3012 008545 call g24_set_rega_ifetch_1byte 
+0x3013 008547 bne 0 ,g24_dongle_kb_bind_step_success 
+0x3014 008548 rtn 
+:      008549 g24_dongle_kb_bind_step_success:
+0x3015 008550 call g24_fetch_mem_bind_device_status 
+0x3016 008552 or_into 0x02 ,pdata 
+0x3017 008553 call g24_store_mem_bind_device_status 
+0x3018 008555 branch g24_dongle_bind_exit 
+:      008558 dongle_usb_dispatch:
+0x3019 008559 fetch 1 ,mem_usb0_get_set_report 
+0x301a 008560 rtn blank 
+0x301b 008561 jam 0 ,mem_usb0_get_set_report 
+0x301c 008562 fetch 2 ,mem_usb_setup_bvalue_temp 
+0x301d 008563 arg pc_set_report ,temp 
+0x301e 008564 isub temp ,null 
+0x301f 008565 nrtn zero 
+0x3020 008567 fetch 1 ,mem_usb0_set_report_data 
+0x3021 008568 rtnne pc_report_id 
+0x3022 008569 fetch 1 ,mem_usb0_set_report_data + 1 
+0x3023 008570 bpatch patch17_6 ,mem_patch17 
+0x3024 008571 beq command_mode ,dongle_dispose_cmd_mode 
+0x3025 008572 beq command_bind ,dongle_dispose_cmd_bind 
+0x3026 008573 beq command_current_project ,dongle_dispose_cmd_current_project 
+0x3027 008574 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+0x3028 008575 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+0x3029 008576 beq command_user_defined ,dongle_dispose_cmd_user_defined 
+:      008577 usb0_data_ready_report_set0:
+0x302a 008578 jam 0 ,mem_usb0_data_ready_report 
+0x302b 008579 rtn 
+:      008580 dongle_dispose_cmd_bind:
+0x302c 008581 fetch 1 ,mem_usb0_set_report_data + 2 
+0x302d 008582 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+0x302e 008583 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+0x302f 008584 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+0x3030 008585 branch usb0_data_ready_report_set0 
+:      008586 dongle_dispose_cmd_get_bind:
+0x3031 008587 call g24_fetch_mem_bind_device_status 
+0x3032 008589 store 1 ,mem_usb0_get_report_data + 1 
+0x3033 008590 branch usb0_data_ready_report_set1 
+:      008591 dongle_dispose_cmd_exit_bind:
+0x3034 008592 call g24_set_work_mem_dongle_work_mode 
+0x3035 008594 call g24_set0_mem_dongle_mode_init 
+0x3036 008596 call g24_fetch_mem_bind_device_status 
+0x3037 008598 store 1 ,mem_usb0_get_report_data + 1 
+0x3038 008599 branch usb0_data_ready_report_set1 
+:      008601 dongle_dispose_cmd_read_mode:
+:      008602 dongle_dispose_in_bind_mode:
+0x3039 008603 jam command_bind ,mem_usb0_get_report_data + 1 
+0x303a 008604 branch usb0_data_ready_report_set1 
+:      008606 dongle_dispose_cmd_mode:
+0x303b 008607 fetch 1 ,mem_usb0_set_report_data + 2 
+0x303c 008608 beq com_mode_bind ,dongle_enter_bind_mode 
+0x303d 008610 branch usb0_data_ready_report_set0 
+:      008611 dongle_enter_bind_mode:
+0x303e 008614 call g24_bind_mode_enable 
+:      008615 usb0_data_ready_report_set1:
+0x303f 008616 jam 1 ,mem_usb0_data_ready_report 
+0x3040 008617 rtn 
+:      008622 dongle_dispose_cmd_current_project:
+0x3041 008623 jam product_id ,mem_usb0_get_report_data + 1 
+0x3042 008624 branch usb0_data_ready_report_set1 
+:      008626 dongle_dispose_cmd_current_mode:
+0x3043 008627 call g24_fetch_mem_dongle_work_mode 
+0x3044 008629 beq dongle_work ,dongle_dispose_in_work_mode 
+0x3045 008630 beq dongle_bind ,dongle_dispose_in_bind_mode 
+0x3046 008632 rtn 
+:      008633 dongle_dispose_in_work_mode:
+0x3047 008634 jam command_mode ,mem_usb0_get_report_data + 1 
+0x3048 008635 branch usb0_data_ready_report_set1 
+:      008640 dongle_dispose_cmd_current_fw_version:
+0x3049 008641 jam fw_version0 ,mem_usb0_get_report_data + 1 
+0x304a 008642 jam fw_version1 ,mem_usb0_get_report_data + 2 
+0x304b 008643 jam fw_version2 ,mem_usb0_get_report_data + 3 
+0x304c 008644 branch usb0_data_ready_report_set1 
+:      008646 dongle_dispose_cmd_user_defined:
+0x304d 008648 call g24_set1_mem_ackpayload_enable 
+0x304e 008649 fetch 1 ,mem_usb0_set_report_data + 2 
+0x304f 008650 increase 2 ,pdata 
+0x3050 008651 copy pdata ,loopcnt 
+0x3051 008652 arg mem_usb0_set_report_data ,contr 
+0x3052 008653 setarg offset_24g_ackpayload 
+0x3053 008654 iadd regc ,contw 
+0x3054 008655 branch memcpy 
+:      008658 dongle_auto_bind:
+0x3055 008659 bpatch patch17_7 ,mem_patch17 
+0x3056 008660 call g24_mode_switch_init 
+:      008661 dongle_auto_bind_loop:
+0x3057 008662 call g24_receive_process 
+0x3058 008663 call usb_isr 
+0x3059 008664 branch dongle_auto_bind_loop 
+:      008666 g24_dongle_work_mode_auto:
+0x305a 008667 call g24_fetch_mem_dongle_work_mode 
+0x305b 008669 rtnne dongle_work 
+0x305c 008670 call g24_dongle_work_mode_start 
+0x305d 008671 branch g24_rx_nodata_process 
+:      008673 g24_dongle_bind_mode_auto:
+0x305e 008674 call g24_fetch_mem_dongle_work_mode 
+0x305f 008676 rtnne dongle_bind 
+0x3060 008677 call g24_dongle_bind_init 
+0x3061 008678 call g24_dongle_bind_data_process 
+0x3062 008679 call g24_fetch_mem_bind_device_status 
+0x3063 008681 rtn blank 
+0x3064 008682 call g24_set0_mem_mode_switch 
+0x3065 008684 call dongle_check_mode 
+0x3066 008685 call g24_enable_nodata_timer 
+:      008686 g24_timer_init:
+0x3067 008687 setarg 0 
+0x3068 008688 add regc ,offset_24g_tx_btclk ,contw 
+0x3069 008690 branch g24_contw_istore_4byte 
+:      008692 g24_timer_check:
+0x306a 008693 call disable_user 
+0x306b 008694 add regc ,offset_24g_tx_btclk ,rega 
+0x306c 008695 ifetcht 4 ,rega 
+0x306d 008697 copy clkn_bt ,pdata 
+0x306e 008698 isub temp ,null 
+0x306f 008699 ncall g24_timer_timeout ,positive 
+0x3070 008700 copy pdata ,regb 
+0x3071 008701 add regc ,offset_24g_tx_btclk ,rega 
+0x3072 008702 ifetch 4 ,rega 
+0x3073 008704 add regc ,offset_24g_interval ,rega 
+0x3074 008705 ifetcht 1 ,rega 
+0x3075 008707 iadd temp ,temp 
+0x3076 008708 copy regb ,pdata 
+0x3077 008709 isub temp ,null 
+0x3078 008710 nrtn positive 
+0x3079 008711 set0 28 ,pdata 
+0x307a 008712 add regc ,offset_24g_tx_btclk ,contw 
+0x307b 008713 istore 4 ,contw 
+0x307c 008715 branch enable_user 
+:      008717 g24_mode_switch_init:
+0x307d 008718 setarg 1 
+0x307e 008719 call g24_store_mem_mode_switch 
+0x307f 008721 call g24_set0_mem_time_slice 
+0x3080 008723 setarg 0xff 
+0x3081 008724 add regc ,offset_24g_interval ,contw 
+0x3082 008725 istore 1 ,contw 
+0x3083 008727 branch g24_timer_init 
+:      008729 g24_mode_switch:
+0x3084 008730 setarg offset_24g_mode_switch 
+0x3085 008731 call g24_set_rega_ifetch_1byte 
+0x3086 008733 rtn blank 
+0x3087 008734 call g24_timer_check 
+0x3088 008735 nrtn user 
+0x3089 008736 call g24_fetch_mem_time_slice 
+0x308a 008738 increase 1 ,pdata 
+0x308b 008739 and_into 1 ,pdata 
+0x308c 008740 call g24_store_mem_time_slice 
+0x308d 008742 beq 0 ,dongle_check_mode 
+0x308e 008743 beq 1 ,g24_bind_mode_enable 
+0x308f 008744 rtn 
+:      008746 g24_bind_mode_enable:
+0x3090 008750 setarg dongle_bind 
+0x3091 008751 call g24_store_mem_dongle_work_mode 
+0x3092 008752 branch g24_set0_mem_dongle_mode_init 
+:      008754 g24_enable_nodata_timer:
+0x3093 008755 setarg 1 
+0x3094 008756 call g24_store_mem_nodata_timer_enable 
+:      008758 g24_enable_nodata_timer_init:
+0x3095 008759 setarg timer_nodata_delay 
+0x3096 008760 arg timer_nodata ,queue 
+0x3097 008761 branch timer_init 
+:      008763 g24_rx_nodata_process:
+0x3098 008764 call g24_fetch_mem_nodata_timer_enable 
+0x3099 008766 rtn blank 
+0x309a 008767 arg timer_nodata ,queue 
+0x309b 008768 call timer_check 
+0x309c 008769 nrtn blank 
+0x309d 008770 call g24_set0_mem_nodata_timer_enable 
+0x309e 008773 setarg dongle_search 
+0x309f 008774 call g24_store_mem_dongle_work_mode 
+0x30a0 008776 call g24_set0_mem_dongle_mode_init 
+0x30a1 008778 branch g24_rx_interrupt_clear 
+:      008780 g24_dongle_search_mode_auto:
+0x30a2 008781 bpatch patch18_0 ,mem_patch18 
+0x30a3 008782 call g24_fetch_mem_dongle_work_mode 
+0x30a4 008784 rtnne dongle_search 
+0x30a5 008785 call g24_dongle_search_mode_init 
+0x30a6 008786 call g24_rx_auto_addr_ch_search 
+0x30a7 008787 call g24_receive_transmit_ack 
+0x30a8 008788 nbranch g24_rx_interrupt_clear ,user3 
+0x30a9 008790 call g24_dongle_search_addr_check 
+0x30aa 008791 call g24_receive_packet_parse ,zero 
+0x30ab 008795 call dongle_check_mode 
+0x30ac 008796 call g24_fetch_mem_dongle_mode_init 
+0x30ad 008798 set1 dongle_work ,pdata 
+0x30ae 008799 call g24_store_mem_dongle_mode_init 
+0x30af 008801 call g24_rx_interrupt_clear 
+0x30b0 008802 call g24_enable_nodata_timer 
+0x30b1 008803 call g24_dongle_search_addr_check 
+0x30b2 008804 branch g24_dg_ch_num_reinit ,zero 
+0x30b3 008805 setarg offset_24g_kb_addr 
+0x30b4 008806 call g24_set_rega_ifetcht_4byte 
+0x30b5 008808 call g24_fetch_mem_addr_isub_temp 
+0x30b6 008809 branch g24_kb_ch_num_reinit ,zero 
+0x30b7 008810 setarg offset_24g_mouse_addr 
+0x30b8 008811 call g24_set_rega_ifetcht_4byte 
+0x30b9 008813 call g24_fetch_mem_addr_isub_temp 
+0x30ba 008814 branch g24_ms_ch_num_reinit ,zero 
+0x30bb 008815 rtn 
+:      008817 g24_dongle_search_addr_check:
+0x30bc 008818 setarg offset_24g_rx_addr 
+0x30bd 008819 call g24_set_rega_ifetcht_4byte 
+:      008821 g24_fetch_mem_addr_isub_temp:
+0x30be 008822 call g24_fetch_mem_addr 
+0x30bf 008824 isub temp ,null 
+0x30c0 008825 rtn 
+:      008827 g24_dg_ch_num_reinit:
+0x30c1 008828 setarg offset_24g_dg_ch_number 
+0x30c2 008829 call g24_set_rega_ifetch_1byte 
+:      008831 g24_current_ch_num_reinit:
+0x30c3 008833 add regc ,offset_24g_current_ch_number ,contw 
+0x30c4 008834 branch g24_contw_istore_1byte 
+:      008836 g24_kb_ch_num_reinit:
+0x30c5 008837 setarg offset_24g_kb_ch_number 
+0x30c6 008838 call g24_set_rega_ifetch_1byte 
+0x30c7 008840 branch g24_current_ch_num_reinit 
+:      008841 g24_ms_ch_num_reinit:
+0x30c8 008842 setarg offset_24g_ms_ch_number 
+0x30c9 008843 call g24_set_rega_ifetch_1byte 
+0x30ca 008845 branch g24_current_ch_num_reinit 
+:      008847 g24_dongle_search_mode_init:
+0x30cb 008848 call g24_fetch_mem_dongle_mode_init 
+0x30cc 008850 rtnbit1 dongle_search 
+0x30cd 008851 set1 dongle_search ,pdata 
+0x30ce 008852 call g24_store_mem_dongle_mode_init 
+0x30cf 008854 call g24_set0_mem_time_slice 
+0x30d0 008856 call g24_set1_mem_ackpayload_enable 
+0x30d1 008858 setarg 0 
+0x30d2 008859 add regc ,offset_rssi_noise_dg_index ,contw 
+0x30d3 008860 istore 3 ,contw 
+0x30d4 008862 arg offset_24g_dg_config_ch_once ,rega 
+0x30d5 008863 call g24_set_contw_with_temp 
+0x30d6 008864 istore 7 ,contw 
+0x30d7 008867 call g24_dongle_search_addr_check 
+0x30d8 008868 nrtn zero 
+0x30d9 008869 add regc ,offset_24g_current_ch_number ,rega 
+0x30da 008870 ifetch 1 ,rega 
+0x30db 008872 arg offset_24g_dg_ch_number ,rega 
+0x30dc 008873 call g24_set_contw_with_regb_store_1byte 
+0x30dd 008875 add regc ,offset_24g_ch ,rega 
+0x30de 008876 ifetch 1 ,rega 
+0x30df 008879 branch g24_store_mem_dg_last_ch 
+:      008881 g24_rx_auto_addr_ch_search:
+0x30e0 008882 bpatch patch18_1 ,mem_patch18 
+0x30e1 008883 call g24_fetch_mem_time_slice 
+0x30e2 008885 increase 1 ,pdata 
+0x30e3 008886 and_into 3 ,pdata 
+0x30e4 008887 call g24_store_mem_time_slice 
+0x30e5 008890 beq 0 ,g24_rx_auto_bind_config_kb 
+0x30e6 008891 beq 1 ,g24_rx_auto_bind_config_dongle 
+0x30e7 008892 beq 2 ,g24_rx_auto_bind_config_mouse 
+0x30e8 008893 beq 3 ,g24_rx_auto_bind_config_dongle 
+0x30e9 008894 rtn 
+:      008896 g24_rx_auto_bind_config_mouse:
+0x30ea 008897 call g24_dongle_bind_ms_payload_cfg 
+0x30eb 008898 setarg offset_24g_mouse_addr 
+0x30ec 008899 call g24_set_rega_ifetch_4byte 
+0x30ed 008901 branch g24_rx_auto_addr_ch_search ,blank 
+0x30ee 008902 call g24_store_mem_addr 
+0x30ef 008904 setarg offset_24g_ms_config_ch_once 
+0x30f0 008905 call g24_set_rega_ifetch_1byte 
+0x30f1 008907 call g24_ms_config_ch_once ,blank 
+0x30f2 008908 setarg offset_24g_ms_last_ch 
+0x30f3 008909 call g24_set_rega_ifetch_1byte 
+0x30f4 008911 call g24_store_mem_ch 
+0x30f5 008913 add regc ,offset_rssi_noise_ms_index ,rega 
+0x30f6 008914 ifetcht 1 ,rega 
+0x30f7 008916 arg mem_rssi_noise_ms_buffer ,rega 
+0x30f8 008917 call rssi_noise_store 
+0x30f9 008918 add regc ,offset_rssi_noise_ms_index ,contw 
+0x30fa 008919 istoret 1 ,contw 
+0x30fb 008921 call g24_noise_rssi_average 
+0x30fc 008922 add regc ,offset_rssi_noise_ms_avg ,contw 
+0x30fd 008923 istoret 1 ,contw 
+0x30fe 008925 sub temp ,rssi_thresh_noise ,null 
+0x30ff 008926 nrtn positive 
+0x3100 008927 setarg offset_24g_ms_ch_number 
+0x3101 008928 call g24_set_rega_ifetcht_1byte 
+0x3102 008930 call g24_ch_temp_incre_size4 
+0x3103 008931 arg offset_24g_ms_ch_number ,rega 
+0x3104 008932 call g24_set_contw_with_regb2 
+0x3105 008933 istoret 1 ,contw 
+:      008935 g24_store_mem_ms_last_ch:
+0x3106 008937 arg offset_24g_ms_last_ch ,rega 
+0x3107 008938 branch g24_set_contw_with_regb_store_1byte 
+:      008940 g24_ms_config_ch_once:
+0x3108 008941 setarg 1 
+0x3109 008942 arg offset_24g_ms_config_ch_once ,rega 
+0x310a 008943 call g24_set_contw_with_regb_store_1byte 
+0x310b 008945 arg 0 ,temp 
+0x310c 008946 call g24_ch_calc 
+0x310d 008949 branch g24_store_mem_ms_last_ch 
+:      008951 g24_rx_auto_bind_config_kb:
+0x310e 008952 call g24_dongle_bind_kb_payload_cfg 
+0x310f 008953 setarg offset_24g_kb_addr 
+0x3110 008954 call g24_set_rega_ifetch_4byte 
+0x3111 008956 branch g24_rx_auto_addr_ch_search ,blank 
+0x3112 008957 call g24_store_mem_addr 
+0x3113 008959 setarg offset_24g_kb_config_ch_once 
+0x3114 008960 call g24_set_rega_ifetch_1byte 
+0x3115 008962 call g24_kb_config_ch_once ,blank 
+0x3116 008963 setarg offset_24g_kb_last_ch 
+0x3117 008964 call g24_set_rega_ifetch_1byte 
+0x3118 008966 call g24_store_mem_ch 
+0x3119 008968 add regc ,offset_rssi_noise_kb_index ,rega 
+0x311a 008969 ifetcht 1 ,rega 
+0x311b 008971 arg mem_rssi_noise_kb_buffer ,rega 
+0x311c 008972 call rssi_noise_store 
+0x311d 008973 add regc ,offset_rssi_noise_kb_index ,contw 
+0x311e 008974 istoret 1 ,contw 
+0x311f 008976 call g24_noise_rssi_average 
+0x3120 008977 add regc ,offset_rssi_noise_kb_avg ,contw 
+0x3121 008978 istoret 1 ,contw 
+0x3122 008980 sub temp ,rssi_thresh_noise ,null 
+0x3123 008981 nrtn positive 
+0x3124 008982 setarg offset_24g_kb_ch_number 
+0x3125 008983 call g24_set_rega_ifetcht_1byte 
+0x3126 008985 call g24_ch_temp_incre_size4 
+0x3127 008986 arg offset_24g_kb_ch_number ,rega 
+0x3128 008987 call g24_set_contw_with_regb2 
+0x3129 008988 istoret 1 ,contw 
+:      008990 g24_store_mem_kb_last_ch:
+0x312a 008992 arg offset_24g_kb_last_ch ,rega 
+0x312b 008993 branch g24_set_contw_with_regb_store_1byte 
+:      008995 g24_kb_config_ch_once:
+0x312c 008996 setarg 1 
+0x312d 008997 arg offset_24g_kb_config_ch_once ,rega 
+0x312e 008998 call g24_set_contw_with_regb_store_1byte 
+0x312f 009000 arg 0 ,temp 
+0x3130 009001 call g24_ch_calc 
+0x3131 009004 branch g24_store_mem_kb_last_ch 
+:      009006 g24_rx_auto_bind_config_dongle:
+0x3132 009007 call g24_dongle_bind_ms_payload_cfg 
+0x3133 009008 call g24_fetch_mem_rx_addr 
+0x3134 009010 call g24_store_mem_addr 
+0x3135 009012 setarg offset_24g_dg_config_ch_once 
+0x3136 009013 call g24_set_rega_ifetch_1byte 
+0x3137 009015 call g24_dg_config_ch_once ,blank 
+0x3138 009016 call g24_dg_store_config_ch 
+0x3139 009017 add regc ,offset_rssi_noise_dg_index ,rega 
+0x313a 009018 ifetcht 1 ,rega 
+0x313b 009020 arg mem_rssi_noise_dg_buffer ,rega 
+0x313c 009021 call rssi_noise_store 
+0x313d 009022 add regc ,offset_rssi_noise_dg_index ,contw 
+0x313e 009023 istoret 1 ,contw 
+0x313f 009025 call g24_noise_rssi_average 
+0x3140 009026 add regc ,offset_rssi_noise_dg_avg ,contw 
+0x3141 009027 istoret 1 ,contw 
+0x3142 009029 sub temp ,rssi_thresh_noise ,null 
+0x3143 009030 nrtn positive 
+0x3144 009031 setarg offset_24g_dg_ch_number 
+0x3145 009032 call g24_set_rega_ifetcht_1byte 
+0x3146 009034 call g24_ch_temp_incre_size4 
+0x3147 009035 arg offset_24g_dg_ch_number ,rega 
+0x3148 009036 call g24_set_contw_with_regb2 
+0x3149 009037 istoret 1 ,contw 
+:      009039 g24_store_mem_dg_last_ch:
+0x314a 009042 arg offset_24g_dg_last_ch ,rega 
+0x314b 009043 branch g24_set_contw_with_regb_store_1byte 
+:      009046 g24_dg_config_ch_once:
+0x314c 009051 setarg 1 
+0x314d 009052 arg offset_24g_dg_config_ch_once ,rega 
+0x314e 009053 call g24_set_contw_with_regb_store_1byte 
+:      009054 g24_dg_store_config_ch:
+0x314f 009055 setarg offset_24g_dg_last_ch 
+0x3150 009056 call g24_set_rega_ifetch_1byte 
+0x3151 009057 branch g24_store_mem_ch 
+:      009060 g24_transmit_ack:
+0x3152 009062 add regc ,offset_24g_rxbuf ,rega 
+0x3153 009063 ifetch 1 ,rega 
+0x3154 009065 call g24_store_mem_data_type 
+0x3155 009068 call g24_read_len_pid_crc 
+0x3156 009070 call g24_fetch_mem_rxbuf_add1 
+0x3157 009072 isolate1 bit_ack_24g ,pdata 
+0x3158 009073 branch g24tx_no_ack ,true 
+:      009074 g24tx_with_ack:
+0x3159 009075 call g24_ackpayload_prep 
+0x315a 009076 call g24_transmit_prep 
+0x315b 009077 call g24_transmit 
+:      009078 g24tx_no_ack:
+0x315c 009079 branch g24_end_of_packet 
+:      009081 g24_ackpayload_prep:
+0x315d 009082 bpatch patch18_2 ,mem_patch18 
+0x315e 009083 add regc ,offset_24g_datalen ,contw 
+0x315f 009084 call g24_mem_set0 
+0x3160 009086 setarg offset_24g_ackpayload_enable 
+0x3161 009087 call g24_set_rega_ifetch_1byte 
+0x3162 009089 rtn blank 
+0x3163 009090 setarg 0x06 
+0x3164 009091 add regc ,offset_24g_datalen ,contw 
+0x3165 009092 istore 1 ,contw 
+0x3166 009094 arg 0x06 ,loopcnt 
+0x3167 009095 setarg offset_24g_bind_payload 
+0x3168 009096 iadd regc ,contr 
+0x3169 009098 add regc ,offset_24g_txbuf ,contw 
+0x316a 009100 branch memcpy 
+:      009103 g24_receive_packet_start:
+0x316b 009104 call g24_receive_transmit_ack 
+0x316c 009105 nbranch g24_rx_interrupt_clear ,user3 
+0x316d 009106 branch g24_receive_packet_parse 
+:      009108 g24_receive_transmit_ack:
+0x316e 009109 call g24_rx_interrupt_clear 
+0x316f 009110 call g24_receive_packet 
+0x3170 009111 nrtn user3 
+0x3171 009112 branch g24_transmit_ack 
+:      009114 g24_receive_packet_parse:
+0x3172 009115 bpatch patch18_3 ,mem_patch18 
+0x3173 009116 call g24_receive_packet_parse_pid_crc 
+0x3174 009117 nbranch g24_rx_interrupt_clear ,user 
+0x3175 009118 add regc ,offset_24g_rxdata_length ,rega 
+0x3176 009119 ifetch 1 ,rega 
+0x3177 009121 branch g24_rx_interrupt_clear ,blank 
+0x3178 009122 increase 2 ,pdata 
+0x3179 009123 iforce loopcnt 
+0x317a 009124 add regc ,offset_24g_rxbuf ,contr 
+0x317b 009126 setarg offset_24g_rxdata_temp 
+0x317c 009127 iadd regc ,contw 
+0x317d 009129 call memcpy 
+0x317e 009130 call g24_set0_mem_mode_switch 
+0x317f 009132 call g24_fetch_mem_pair_mode 
+0x3180 009134 call g24_enable_nodata_timer ,blank 
+0x3181 009135 setarg offset_24g_rxdata_temp_add2 
+0x3182 009136 call g24_set_rega_ifetch_1byte 
+0x3183 009138 beq 0x01 ,g24_data_type1 
+0x3184 009139 beq 0x02 ,g24_data_type2 
+0x3185 009140 beq 0x03 ,g24_data_type3 
+0x3186 009141 beq 0xff ,g24_data_attemp 
+0x3187 009142 branch g24_rx_interrupt_clear 
+:      009144 g24_receive_packet_parse_pid_crc:
+0x3188 009145 call g24_head_ptr2regc 
+0x3189 009146 call disable_user 
+0x318a 009147 add regc ,offset_24g_sta_pid ,rega 
+0x318b 009148 ifetch 1 ,rega 
+0x318c 009150 add regc ,offset_24g_last_pid ,rega 
+0x318d 009151 ifetcht 1 ,rega 
+0x318e 009153 isub temp ,null 
+0x318f 009154 ncall enable_user ,zero 
+0x3190 009155 add regc ,offset_24g_sta_pid ,rega 
+0x3191 009156 ifetch 1 ,rega 
+0x3192 009158 add regc ,offset_24g_last_pid ,contw 
+0x3193 009159 istore 1 ,contw 
+0x3194 009161 add regc ,offset_24g_sta_crc ,rega 
+0x3195 009162 ifetch 3 ,rega 
+0x3196 009164 add regc ,offset_24g_last_crc ,rega 
+0x3197 009165 ifetcht 3 ,rega 
+0x3198 009167 isub temp ,null 
+0x3199 009168 ncall enable_user ,zero 
+0x319a 009169 add regc ,offset_24g_sta_crc ,rega 
+0x319b 009170 ifetch 3 ,rega 
+0x319c 009172 add regc ,offset_24g_last_crc ,contw 
+0x319d 009174 branch g24_contw_istore_3byte 
+:      009176 g24_data_type1:
+0x319e 009177 call g24_ch_timer_reinit 
+0x319f 009178 call g24_fetch_mem_abort_pac 
+0x31a0 009179 store 1 ,mem_temp 
+0x31a1 009181 call g24_fetcht_mem_rxdata_temp 
+0x31a2 009182 fetch 1 ,mem_temp 
+0x31a3 009184 isolate1 bit_abort ,temp 
+0x31a4 009185 setflag true ,0 ,pdata 
+0x31a5 009186 add regc ,offset_24g_abort_pac ,contw 
+0x31a6 009187 istore 1 ,contw 
+0x31a7 009189 beq 1 ,g24_data_attemp_mouse 
+0x31a8 009190 call g24_fetch_mem_hop_pac 
+0x31a9 009192 call g24_fetcht_mem_rxdata_temp 
+0x31aa 009194 isolate1 bit_hop ,temp 
+0x31ab 009195 setflag true ,0 ,pdata 
+0x31ac 009196 call g24_store_mem_hop_pac 
+0x31ad 009198 add regc ,offset_24g_cb_rxdata_type1 ,rega 
+0x31ae 009199 ifetch 2 ,rega 
+0x31af 009201 branch callback_func 
+:      009203 dongle_rxdata_type1:
+0x31b0 009204 setarg ms_report_id 
+0x31b1 009205 store 1 ,mem_usb_mouse_data 
+0x31b2 009206 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b3 009208 istore 7 ,contw 
+0x31b4 009209 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b5 009211 ncall g24_ms_enable_blank_data_forcibly ,blank 
+0x31b6 009212 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b7 009214 call g24_ms_disable_blank_data_forcibly ,blank 
+:      009215 g24_data_type1_usbtx_enable:
+0x31b8 009216 jam usb_ep2_ms ,mem_usb_ep2_data 
+:      009217 g24_data_type1_usbtx_enable_ep2:
+0x31b9 009218 fetch 1 ,mem_usb_tx_enable 
+0x31ba 009219 set1 2 ,pdata 
+0x31bb 009220 store 1 ,mem_usb_tx_enable 
+0x31bc 009221 rtn 
+:      009223 g24_ms_enable_blank_data_forcibly:
+0x31bd 009224 setarg 1 
+0x31be 009225 call g24_store_mem_ms_blank_data_enable 
+:      009227 g24_ms_enable_blank_data_timer:
+0x31bf 009228 setarg timer_ms_blank_delay 
+0x31c0 009229 arg timer_ms_blank ,queue 
+0x31c1 009230 branch timer_init 
+:      009231 g24_ms_disable_blank_data_forcibly:
+0x31c2 009232 call g24_set0_mem_ms_blank_data_enable 
+:      009234 g24_ms_disable_blank_data_timer:
+0x31c3 009235 setarg 0 
+0x31c4 009236 arg timer_ms_blank ,queue 
+0x31c5 009237 branch timer_init 
+:      009239 g24_data_type2:
+0x31c6 009240 call g24_fetcht_mem_rxdata_temp 
+0x31c7 009242 isolate1 bit_abort ,temp 
+0x31c8 009243 branch g24_data_attemp_kbd ,true 
+0x31c9 009244 arg mem_usb_kb_data ,contw 
+0x31ca 009245 call g24_data_type2_reverse_data 
+0x31cb 009246 fetch 8 ,mem_usb_kb_data 
+0x31cc 009247 ncall g24_kb_enable_blank_data_forcibly ,blank 
+0x31cd 009248 fetch 8 ,mem_usb_kb_data 
+0x31ce 009249 call g24_kb_disable_blank_data_forcibly ,blank 
+0x31cf 009250 call g24_head_ptr2regc 
+0x31d0 009251 fetch 8 ,mem_usb_kb_data 
+0x31d1 009252 arg offset_24g_kb_data_sta_data ,rega 
+0x31d2 009253 call g24_set_contw_with_temp 
+0x31d3 009254 istore 8 ,contw 
+0x31d4 009256 setarg offset_24g_kb_data_last_data 
+0x31d5 009257 iadd regc ,rega 
+0x31d6 009258 ifetcht 8 ,rega 
+0x31d7 009260 isub temp ,null 
+0x31d8 009261 ncall g24_kb_data_dispose ,zero 
+0x31d9 009262 setarg offset_24g_kb_data_sta_data 
+0x31da 009263 iadd regc ,rega 
+0x31db 009264 ifetch 8 ,rega 
+0x31dc 009266 arg offset_24g_kb_data_last_data ,rega 
+0x31dd 009267 call g24_set_contw_with_temp 
+0x31de 009268 istore 8 ,contw 
+0x31df 009270 branch g24_rx_interrupt_clear 
+:      009272 g24_data_type2_reverse_data:
+0x31e0 009273 setarg offset_24g_rxdata_temp_add2 
+0x31e1 009274 iadd regc ,contr 
+0x31e2 009276 arg 9 ,loopcnt 
+0x31e3 009277 branch reverse_byte 
+:      009279 g24_kb_enable_blank_data_forcibly:
+0x31e4 009280 setarg 1 
+0x31e5 009281 call g24_store_mem_kb_blank_data_enable 
+:      009283 g24_kb_enable_blank_data_timer:
+0x31e6 009284 setarg timer_kb_blank_delay 
+0x31e7 009285 arg timer_kb_blank ,queue 
+0x31e8 009286 branch timer_init 
+:      009288 g24_kb_disable_blank_data_forcibly:
+0x31e9 009289 call g24_set0_mem_kb_blank_data_enable 
+:      009291 g24_kb_disable_blank_data_timer:
+0x31ea 009292 setarg 0 
+0x31eb 009293 arg timer_kb_blank ,queue 
+0x31ec 009294 branch timer_init 
+:      009296 g24_kb_data_dispose:
+:      009297 g24_kb_data_into_ep1_fifo:
+0x31ed 009298 jam usb_ep1_kb ,mem_usb_ep1_data 
+0x31ee 009299 fetch 1 ,mem_usb_tx_enable 
+0x31ef 009300 set1 1 ,pdata 
+0x31f0 009301 store 1 ,mem_usb_tx_enable 
+0x31f1 009302 rtn 
+:      009304 g24_data_type3:
+0x31f2 009305 arg mem_usb_kb_multikey ,contw 
+0x31f3 009306 call g24_data_type2_reverse_data 
+0x31f4 009307 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f5 009308 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+0x31f6 009309 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f7 009310 call g24_kb_mul_disable_blank_data_forcibly ,blank 
+0x31f8 009311 call g24_head_ptr2regc 
+0x31f9 009312 fetch 3 ,mem_usb_kb_multikey 
+0x31fa 009313 arg offset_24g_kb_multikey_sta_data ,rega 
+0x31fb 009314 call g24_set_contw_with_temp_store_3byte 
+0x31fc 009316 setarg offset_24g_kb_multikey_last_data 
+0x31fd 009317 iadd regc ,rega 
+0x31fe 009318 ifetcht 3 ,rega 
+0x31ff 009320 isub temp ,null 
+0x3200 009321 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+0x3201 009322 setarg offset_24g_kb_multikey_sta_data 
+0x3202 009323 iadd regc ,rega 
+0x3203 009324 ifetch 3 ,rega 
+0x3204 009326 arg offset_24g_kb_multikey_last_data ,rega 
+0x3205 009327 call g24_set_contw_with_temp_store_3byte 
+0x3206 009329 branch g24_rx_interrupt_clear 
+:      009331 g24_kb_mul_data_into_ep2_fifo:
+0x3207 009332 jam usb_ep2_multikey ,mem_usb_ep2_data 
+0x3208 009333 branch g24_data_type1_usbtx_enable_ep2 
+:      009335 g24_kb_mul_enable_blank_data_forcibly:
+0x3209 009336 setarg 1 
+0x320a 009337 call g24_store_mem_kb_mul_blank_data_enable 
+:      009339 g24_kb_mul_enable_blank_data_timer:
+0x320b 009340 setarg timer_kb_mul_blank_delay 
+0x320c 009341 arg timer_kb_mul_blank ,queue 
+0x320d 009342 branch timer_init 
+:      009344 g24_kb_mul_disable_blank_data_forcibly:
+0x320e 009345 call g24_set0_mem_kb_mul_blank_data_enable 
+:      009347 g24_kb_mul_disable_blank_data_timer:
+0x320f 009348 setarg 0 
+0x3210 009349 arg timer_kb_mul_blank ,queue 
+0x3211 009350 branch timer_init 
+:      009352 g24_data_attemp:
+0x3212 009353 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3213 009355 beq datatype_mouse ,g24_data_attemp_mouse 
+0x3214 009356 beq datatype_keyboard ,g24_data_attemp_kbd 
+0x3215 009357 rtn 
+:      009358 g24_data_attemp_mouse:
+0x3216 009359 setarg offset_24g_rxdata_temp_add4 
+0x3217 009360 call g24_set_rega_ifetch_4byte 
+0x3218 009361 arg offset_24g_mouse_addr ,rega 
+0x3219 009362 call g24_set_contw_with_temp 
+0x321a 009365 branch g24_contw_istore_4byte 
+:      009367 g24_data_attemp_kbd:
+0x321b 009368 setarg offset_24g_rxdata_temp_add4 
+0x321c 009369 call g24_set_rega_ifetch_4byte 
+0x321d 009370 arg offset_24g_kb_addr ,rega 
+0x321e 009371 call g24_set_contw_with_temp 
+0x321f 009374 branch g24_contw_istore_4byte 
+:      009376 g24_store_mem_24g_mode:
+0x3220 009377 call g24_head_ptr2regc 
+0x3221 009378 add regc ,offset_24g_mode ,contw 
+0x3222 009379 istore 1 ,contw 
+0x3223 009380 rtn 
+:      009382 g24_fetch_mem_device_addr:
+0x3224 009383 call g24_head_ptr2regc 
+0x3225 009384 add regc ,offset_24g_device_addr ,rega 
+0x3226 009385 branch g24_rega_ifetch_4byte 
+:      009386 g24_store_mem_device_addr:
+0x3227 009387 call g24_head_ptr2regc 
+0x3228 009388 add regc ,offset_24g_device_addr ,contw 
+0x3229 009389 branch g24_contw_istore_4byte 
+:      009391 g24_fetch_mem_addr:
+0x322a 009392 add regc ,offset_24g_addr ,rega 
+0x322b 009393 branch g24_rega_ifetch_4byte 
+:      009394 g24_store_mem_addr:
+0x322c 009395 add regc ,offset_24g_addr ,contw 
+:      009396 g24_contw_istore_4byte:
+0x322d 009397 istore 4 ,contw 
+0x322e 009398 rtn 
+:      009400 g24_store_mem_ch:
+0x322f 009401 add regc ,offset_24g_ch ,contw 
+0x3230 009402 branch g24_contw_istore_1byte 
+:      009404 g24_set0_mem_pid:
+0x3231 009405 setarg 0 
+:      009406 g24_store_mem_pid:
+0x3232 009407 call g24_head_ptr2regc 
+0x3233 009408 add regc ,offset_24g_pid ,contw 
+0x3234 009409 branch g24_contw_istore_1byte 
+:      009411 g24_store_mem_txpayload:
+0x3235 009412 add regc ,offset_24g_txpayload ,contw 
+0x3236 009413 branch g24_contw_istore_1byte 
+:      009415 g24_set4_mem_max_retry:
+0x3237 009416 setarg 4 
+:      009417 g24_store_mem_max_retry:
+0x3238 009418 add regc ,offset_24g_max_retry ,contw 
+0x3239 009419 branch g24_contw_istore_1byte 
+:      009421 g24_fetch_mem_data_type:
+0x323a 009422 add regc ,offset_24g_data_type ,rega 
+0x323b 009423 branch g24_rega_ifetch_1byte 
+:      009424 g24_store_mem_data_type:
+0x323c 009425 add regc ,offset_24g_data_type ,contw 
+0x323d 009426 branch g24_contw_istore_1byte 
+:      009428 g24_set2_mem_sync_cnt:
+0x323e 009429 setarg 2 
+:      009430 g24_store_mem_sync_cnt:
+0x323f 009431 add regc ,offset_24g_sync_cnt ,contw 
+0x3240 009432 branch g24_contw_istore_1byte 
+:      009434 g24_set1_mem_rf_last_sta:
+0x3241 009435 setarg 1 
+:      009436 g24_store_mem_rf_last_sta:
+0x3242 009437 call g24_head_ptr2regc 
+0x3243 009438 add regc ,offset_24g_rf_last_sta ,contw 
+0x3244 009439 branch g24_contw_istore_1byte 
+:      009441 g24_fetch_mem_hop_pac:
+0x3245 009442 call g24_head_ptr2regc 
+0x3246 009443 add regc ,offset_24g_hop_pac ,rega 
+0x3247 009444 branch g24_rega_ifetch_1byte 
+:      009445 g24_set1_mem_hop_pac:
+0x3248 009446 setarg 1 
+:      009447 g24_store_mem_hop_pac:
+0x3249 009448 call g24_head_ptr2regc 
+0x324a 009449 add regc ,offset_24g_hop_pac ,contw 
+0x324b 009450 branch g24_contw_istore_1byte 
+:      009452 g24_fetch_mem_abort_pac:
+0x324c 009453 call g24_head_ptr2regc 
+0x324d 009454 add regc ,offset_24g_abort_pac ,rega 
+0x324e 009455 branch g24_rega_ifetch_1byte 
+:      009456 g24_set1_mem_abort_pac:
+0x324f 009457 setarg 1 
+:      009458 g24_store_mem_abort_pac:
+0x3250 009459 call g24_head_ptr2regc 
+0x3251 009460 add regc ,offset_24g_abort_pac ,contw 
+0x3252 009461 branch g24_contw_istore_1byte 
+:      009463 g24_fetch_mem_pairing_sm:
+0x3253 009464 call g24_head_ptr2regc 
+0x3254 009465 add regc ,offset_24g_pairing_sm ,rega 
+0x3255 009466 branch g24_rega_ifetch_1byte 
+:      009467 g24_store_mem_pairing_sm:
+0x3256 009468 add regc ,offset_24g_pairing_sm ,contw 
+0x3257 009469 branch g24_contw_istore_1byte 
+:      009471 g24_fetch_mem_rf_hop_ch:
+0x3258 009472 add regc ,offset_24g_rf_hop_ch ,rega 
+0x3259 009473 branch g24_rega_ifetch_1byte 
+:      009474 g24_set0_mem_rf_hop_ch:
+0x325a 009475 setarg 0 
+:      009476 g24_store_mem_rf_hop_ch:
+0x325b 009477 add regc ,offset_24g_rf_hop_ch ,contw 
+0x325c 009478 branch g24_contw_istore_1byte 
+:      009480 g24_fetch_mem_rf_work_stage:
+0x325d 009481 add regc ,offset_24g_rf_work_stage ,rega 
+0x325e 009482 branch g24_rega_ifetch_1byte 
+:      009484 g24_fetch_mem_rxbuf_add1:
+0x325f 009485 add regc ,offset_24g_rxbuf_add1 ,rega 
+0x3260 009486 branch g24_rega_ifetch_1byte 
+:      009488 g24_fetch_mem_check_dongle_times:
+0x3261 009489 add regc ,offset_24g_check_dongle_times ,rega 
+0x3262 009490 branch g24_rega_ifetch_1byte 
+:      009491 g24_set0_mem_check_dongle_times:
+0x3263 009492 setarg 0 
+:      009493 g24_store_mem_check_dongle_times:
+0x3264 009494 call g24_head_ptr2regc 
+0x3265 009495 add regc ,offset_24g_check_dongle_times ,contw 
+0x3266 009496 branch g24_contw_istore_1byte 
+:      009498 g24_store_mem_tx_power:
+0x3267 009499 call g24_head_ptr2regc 
+0x3268 009500 add regc ,offset_tx_power_temp ,rega 
+0x3269 009501 ifetch 1 ,rega 
+:      009502 g24_store_mem_txpower:
+0x326a 009503 store 1 ,mem_tx_power 
+0x326b 009504 rtn 
+:      009506 g24_store_mem_tx_power_temp:
+0x326c 009507 call g24_head_ptr2regc 
+0x326d 009508 fetch 1 ,mem_tx_power 
+0x326e 009510 add regc ,offset_tx_power_temp ,contw 
+0x326f 009511 branch g24_contw_istore_1byte 
+:      009513 g24_fetch_mem_power_ctrl_pac:
+0x3270 009514 add regc ,offset_power_ctrl_packet_cnt ,rega 
+0x3271 009515 branch g24_rega_ifetch_1byte 
+:      009517 g24_store_mem_power_ctrl_level:
+0x3272 009518 add regc ,offset_power_ctrl_level ,contw 
+0x3273 009519 branch g24_contw_istore_1byte 
+:      009521 g24_fetcht_mem_rxdata_temp:
+0x3274 009522 setarg offset_24g_rxdata_temp 
+:      009523 g24_set_rega_ifetcht_1byte:
+0x3275 009524 iadd regc ,rega 
+0x3276 009525 ifetcht 1 ,rega 
+0x3277 009526 rtn 
+:      009528 g24_fetch_mem_rf_laststa:
+0x3278 009529 setarg offset_24g_rf_laststa 
+0x3279 009530 branch g24_set_rega_ifetch_1byte 
+:      009531 g24_set0_mem_rf_laststa:
+0x327a 009532 setarg 0 
+:      009533 g24_store_mem_rf_laststa:
+0x327b 009534 arg offset_24g_rf_laststa ,rega 
+0x327c 009535 branch g24_set_contw_with_regb_store_1byte 
+:      009537 g24_fetch_mem_rx_addr:
+0x327d 009538 setarg offset_24g_rx_addr 
+:      009539 g24_set_rega_ifetch_4byte:
+0x327e 009540 call g24_set_rega 
+:      009541 g24_rega_ifetch_4byte:
+0x327f 009542 ifetch 4 ,rega 
+0x3280 009543 rtn 
+:      009545 g24_fetch_mem_time_slice:
+0x3281 009546 setarg offset_24g_time_slice 
+0x3282 009547 branch g24_set_rega_ifetch_1byte 
+:      009548 g24_set0_mem_time_slice:
+0x3283 009549 setarg 0 
+:      009550 g24_store_mem_time_slice:
+0x3284 009551 arg offset_24g_time_slice ,rega 
+0x3285 009552 branch g24_set_contw_with_regb_store_1byte 
+:      009554 g24_set0_mem_mode_switch:
+0x3286 009555 setarg 0 
+:      009556 g24_store_mem_mode_switch:
+0x3287 009557 arg offset_24g_mode_switch ,rega 
+0x3288 009558 branch g24_set_contw_with_regb_store_1byte 
+:      009560 g24_store_mem_bind_payload:
+0x3289 009561 arg offset_24g_bind_payload ,rega 
+0x328a 009562 branch g24_set_contw_with_regb_store_1byte 
+:      009564 g24_fetch_mem_bind_device_status:
+0x328b 009565 setarg offset_dongle_bind_device_status 
+0x328c 009566 branch g24_set_rega_ifetch_1byte 
+:      009567 g24_store_mem_bind_device_status:
+0x328d 009568 arg offset_dongle_bind_device_status ,rega 
+0x328e 009569 branch g24_set_contw_with_regb_store_1byte 
+:      009571 g24_fetch_mem_dongle_work_mode:
+0x328f 009572 setarg offset_dongle_work_mode 
+0x3290 009573 branch g24_set_rega_ifetch_1byte 
+:      009574 g24_set_work_mem_dongle_work_mode:
+0x3291 009575 setarg dongle_work 
+:      009576 g24_store_mem_dongle_work_mode:
+0x3292 009577 arg offset_dongle_work_mode ,rega 
+0x3293 009578 branch g24_set_contw_with_regb_store_1byte 
+:      009580 g24_fetch_mem_dongle_mode_init:
+0x3294 009581 setarg offset_dongle_mode_init 
+0x3295 009582 branch g24_set_rega_ifetch_1byte 
+:      009583 g24_set0_mem_dongle_mode_init:
+0x3296 009584 setarg clear_init 
+:      009585 g24_store_mem_dongle_mode_init:
+0x3297 009586 arg offset_dongle_mode_init ,rega 
+0x3298 009587 branch g24_set_contw_with_regb_store_1byte 
+:      009589 g24_set0_mem_ackpayload_enable:
+0x3299 009590 setarg 0 
+:      009591 g24_store_mem_ackpayload_enable:
+0x329a 009592 arg offset_24g_ackpayload_enable ,rega 
+0x329b 009593 branch g24_set_contw_with_regb_store_1byte 
+:      009594 g24_set1_mem_ackpayload_enable:
+0x329c 009595 setarg 1 
+0x329d 009596 branch g24_store_mem_ackpayload_enable 
+:      009598 g24_fetch_mem_rxdata_temp_add3_7byte:
+0x329e 009599 setarg offset_24g_rxdata_temp_add3 
+0x329f 009600 call g24_set_rega 
+0x32a0 009601 ifetch 7 ,rega 
+0x32a1 009602 rtn 
+:      009604 g24_fetch_mem_nodata_timer_enable:
+0x32a2 009605 setarg offset_24g_nodata_timer_enable 
+0x32a3 009606 branch g24_set_rega_ifetch_1byte 
+:      009607 g24_set0_mem_nodata_timer_enable:
+0x32a4 009608 setarg 0 
+:      009609 g24_store_mem_nodata_timer_enable:
+0x32a5 009610 arg offset_24g_nodata_timer_enable ,rega 
+0x32a6 009611 branch g24_set_contw_with_regb_store_1byte 
+:      009613 g24_set0_mem_ms_blank_data_enable:
+0x32a7 009614 setarg 0 
+:      009615 g24_store_mem_ms_blank_data_enable:
+0x32a8 009616 arg offset_24g_ms_blank_data_enable ,rega 
+0x32a9 009617 branch g24_set_contw_with_regb_store_1byte 
+:      009619 g24_set0_mem_kb_blank_data_enable:
+0x32aa 009620 setarg 0 
+:      009621 g24_store_mem_kb_blank_data_enable:
+0x32ab 009622 arg offset_24g_kb_blank_data_enable ,rega 
+0x32ac 009623 branch g24_set_contw_with_regb_store_1byte 
+:      009625 g24_set0_mem_kb_mul_blank_data_enable:
+0x32ad 009626 setarg 0 
+:      009627 g24_store_mem_kb_mul_blank_data_enable:
+0x32ae 009628 arg offset_24g_kb_mul_blank_data_enable ,rega 
+0x32af 009629 branch g24_set_contw_with_regb_store_1byte 
+:      009631 g24_store_mem_power_ctrl_threshold_up:
+0x32b0 009632 arg offset_power_ctrl_threshold_up ,rega 
+0x32b1 009633 branch g24_set_contw_with_regb_store_1byte 
+:      009635 g24_store_mem_power_ctrl_threshold_down:
+0x32b2 009636 arg offset_power_ctrl_threshold_down ,rega 
+:      009637 g24_set_contw_with_regb_store_1byte:
+0x32b3 009638 call g24_set_contw_with_regb 
+:      009639 g24_contw_istore_1byte:
+0x32b4 009640 istore 1 ,contw 
+0x32b5 009641 rtn 
+:      009643 g24_fetch_mem_pair_mode:
+0x32b6 009644 setarg offset_24g_pair_mode 
+0x32b7 009645 branch g24_set_rega_ifetch_1byte 
+:      009647 g24_store_mem_pair_mode:
+0x32b8 009648 arg offset_24g_pair_mode ,rega 
+0x32b9 009649 branch g24_set_contw_with_regb_store_1byte 
+:      009651 g24_store_mem_pair_txpower:
+0x32ba 009652 setarg offset_24g_pair_txpower 
+0x32bb 009653 call g24_set_rega_ifetch_1byte 
+0x32bc 009654 branch g24_store_mem_txpower 
+:      009656 g24_fetch_mem_rxdata_temp_add3_1byte:
+0x32bd 009657 setarg offset_24g_rxdata_temp_add3 
+0x32be 009658 branch g24_set_rega_ifetch_1byte 
+:      009660 g24_set_contw_with_temp:
+0x32bf 009661 copy pdata ,temp 
+0x32c0 009662 copy rega ,pdata 
+0x32c1 009663 iadd regc ,contw 
+0x32c2 009664 copy temp ,pdata 
+0x32c3 009665 rtn 
+:      009667 g24_set_contw_with_temp_store_3byte:
+0x32c4 009668 call g24_set_contw_with_temp 
+:      009669 g24_contw_istore_3byte:
+0x32c5 009670 istore 3 ,contw 
+0x32c6 009671 rtn 
+:      009673 g24_set_contw_with_regb:
+0x32c7 009674 call g24_head_ptr2regc 
+:      009675 g24_set_contw_with_regb2:
+0x32c8 009676 copy pdata ,regb 
+0x32c9 009677 copy rega ,pdata 
+0x32ca 009678 iadd regc ,contw 
+0x32cb 009679 copy regb ,pdata 
+0x32cc 009680 rtn 
+:      009682 g24_set_rega:
+0x32cd 009683 call g24_head_ptr2regc 
+0x32ce 009684 iadd regc ,rega 
+0x32cf 009685 rtn 
+:      009687 g24_set_rega_ifetch_1byte:
+0x32d0 009688 call g24_set_rega 
+:      009689 g24_rega_ifetch_1byte:
+0x32d1 009690 ifetch 1 ,rega 
+0x32d2 009691 rtn 
+:      009693 g24_set_rega_ifetcht_4byte:
+0x32d3 009694 call g24_set_rega 
+0x32d4 009695 ifetcht 4 ,rega 
+0x32d5 009696 rtn 
+:      009698 g24_mem_set0:
+0x32d6 009699 setarg 0 
+0x32d7 009700 branch g24_contw_istore_1byte 
+:      009704 app_init:
+0x32d8 009705 bpatch patch18_4 ,mem_patch18 
+0x32d9 009706 fetch 1 ,mem_device_option 
+0x32da 009707 branch app_init ,blank 
+0x32db 009709 beq dvc_op_dongle ,dongle_init 
+0x32dc 009710 beq dvc_op_antilost ,antilost_init 
+0x32dd 009711 beq dvc_op_shutter ,shutter_init 
+0x32de 009712 beq dvc_op_module ,module_init 
+0x32df 009713 beq dvc_op_car ,car_init 
+0x32e0 009714 beq dvc_op_remote_car ,remote_car_init 
+0x32e1 009715 bbit1 dvc_op_mouse ,mouse_init 
+0x32e2 009716 rtn 
+:      009718 app_lpm_init:
+0x32e3 009719 bpatch patch18_5 ,mem_patch18 
+0x32e4 009720 jam 0 ,mem_tester_emulate 
+0x32e5 009721 jam 0 ,mem_debug_config 
+0x32e6 009722 jam 0 ,mem_lch_code 
+0x32e7 009723 setarg 0 
+0x32e8 009724 store 5 ,mem_sp_state_start 
+0x32e9 009725 fetch 1 ,mem_device_option 
+0x32ea 009726 branch app_lpm_init ,blank 
+0x32eb 009727 beq dvc_op_module ,module_lpm_init 
+:      009728 app_lpm_init0:
+0x32ec 009729 rtn 
+:      009732 app_process_idle:
+0x32ed 009733 call ui_dispatch 
+0x32ee 009734 call check_51cmd 
+0x32ef 009735 call app_process_bb_event 
+0x32f0 009736 fetch 2 ,mem_cb_idle_process 
+0x32f1 009737 branch callback_func 
+:      009739 app_process_bt:
+0x32f2 009740 fetch 2 ,mem_cb_bt_process 
+0x32f3 009741 branch callback_func 
+:      009743 app_process_ble:
+0x32f4 009744 fetch 2 ,mem_cb_le_process 
+0x32f5 009745 branch callback_func 
+:      009747 app_process_bb_event:
+0x32f6 009748 bpatch patch18_6 ,mem_patch18 
+0x32f7 009750 arg mem_ipc_fifo_bt2c51 ,rega 
+0x32f8 009751 call fifo_out 
+0x32f9 009752 rtn blank 
+0x32fa 009754 copy pdata ,regc 
+0x32fb 009755 call app_event_normal_process 
+0x32fc 009756 branch app_process_bb_event_priority 
+:      009758 app_discard_event:
+0x32fd 009759 arg 0 ,regc 
+0x32fe 009760 rtn 
+:      009765 app_event_normal_process:
+0x32ff 009766 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x3300 009767 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x3301 009768 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x3302 009769 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x3303 009770 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x3304 009771 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x3305 009772 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x3306 009773 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x3307 009774 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x3308 009775 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x3309 009776 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x330a 009777 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x330b 009778 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x330c 009780 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x330d 009781 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x330e 009782 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x330f 009783 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x3310 009784 rtn 
+:      009787 app_evt_bt_conn:
+0x3311 009788 fetch 2 ,mem_ui_state_map 
+0x3312 009789 set1 ui_state_bt_connected ,pdata 
+0x3313 009790 store 2 ,mem_ui_state_map 
+0x3314 009791 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3315 009792 set0 app_disc_by_button ,pdata 
+0x3316 009793 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3317 009794 rtn 
+:      009796 app_event_switch_success:
+0x3318 009797 jam 0 ,mem_switch_fail_master_count 
+0x3319 009798 rtn 
+:      009800 app_event_switch_fail_master:
+0x331a 009801 fetch 1 ,mem_switch_fail_master_count 
+0x331b 009802 increase 1 ,pdata 
+0x331c 009803 store 1 ,mem_switch_fail_master_count 
+0x331d 009804 sub pdata ,1 ,null 
+0x331e 009805 branch app_bt_role_switch ,positive 
+0x331f 009806 jam 0 ,mem_switch_fail_master_count 
+0x3320 009807 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3321 009808 set1 app_disc_switch_fail ,pdata 
+0x3322 009809 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3323 009810 branch app_bt_disconnect 
+:      009812 app_process_bb_event_priority:
+0x3324 009813 fetch 2 ,mem_cb_bb_event_process 
+0x3325 009814 branch callback_func 
+:      009816 app_check_wake_lock:
+0x3326 009817 fetch 2 ,mem_cb_check_wakelock 
+0x3327 009818 branch callback_func 
+:      009820 app_will_enter_lpm:
+0x3328 009821 fetch 2 ,mem_cb_before_lpm 
+0x3329 009822 branch callback_func 
+:      009824 app_event_linkkey_generate:
+0x332a 009825 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332b 009826 set1 app_disc_after_pairing ,pdata 
+0x332c 009827 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332d 009828 branch app_bt_store_reconn_info 
+:      009830 app_event_reconn_start:
+0x332e 009831 fetch 2 ,mem_ui_state_map 
+0x332f 009832 set1 ui_state_bt_reconnect ,pdata 
+0x3330 009833 store 2 ,mem_ui_state_map 
+0x3331 009834 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3332 009835 set1 app_disc_after_reconn ,pdata 
+0x3333 009836 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3334 009837 rtn 
+:      009839 app_evt_setup_complete:
+0x3335 009840 fetch 2 ,mem_ui_state_map 
+0x3336 009841 set1 ui_state_bt_setup_complete ,pdata 
+0x3337 009842 store 2 ,mem_ui_state_map 
+0x3338 009843 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3339 009844 set1 app_disc_after_setup_done ,pdata 
+0x333a 009845 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x333b 009846 rtn 
+:      009848 app_evt_hid_handshake:
+0x333c 009849 fetch 2 ,mem_ui_state_map 
+0x333d 009850 set1 ui_state_bt_hid_handshake ,pdata 
+0x333e 009851 store 2 ,mem_ui_state_map 
+0x333f 009852 rtn 
+:      009854 app_event_enter_sniff:
+0x3340 009855 fetch 2 ,mem_ui_state_map 
+0x3341 009856 set1 ui_state_bt_sniff ,pdata 
+0x3342 009857 store 2 ,mem_ui_state_map 
+0x3343 009858 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3344 009859 set1 app_disc_after_sniff ,pdata 
+0x3345 009860 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3346 009861 rtn 
+:      009863 app_event_exit_sniff:
+0x3347 009864 fetch 2 ,mem_ui_state_map 
+0x3348 009865 set0 ui_state_bt_sniff ,pdata 
+0x3349 009866 store 2 ,mem_ui_state_map 
+0x334a 009867 rtn 
+:      009869 app_le_event_bb_connected:
+0x334b 009870 fetch 2 ,mem_ui_state_map 
+0x334c 009871 set1 ui_state_ble_connected ,pdata 
+0x334d 009872 store 2 ,mem_ui_state_map 
+0x334e 009873 rtn 
+:      009875 app_le_event_bb_disconn:
+0x334f 009876 fetch 2 ,mem_ui_state_map 
+0x3350 009877 set0 ui_state_ble_connected ,pdata 
+0x3351 009878 store 2 ,mem_ui_state_map 
+0x3352 009879 branch app_lpm_mult_disable 
+:      009881 app_bb_event_hid_connected:
+0x3353 009882 fetch 2 ,mem_ui_state_map 
+0x3354 009883 set1 ui_state_bt_hid_conn ,pdata 
+0x3355 009884 store 2 ,mem_ui_state_map 
+0x3356 009885 rtn 
+:      009887 app_evt_button_long_pressed:
+0x3357 009888 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3358 009889 set1 app_disc_by_button ,pdata 
+0x3359 009890 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335a 009891 rtn 
+:      009893 app_event_ml2cap_conn_refused:
+0x335b 009894 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335c 009895 set1 app_disc_l2cap_refused ,pdata 
+0x335d 009896 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335e 009897 branch app_bt_disconnect 
+:      009900 app_evt_timer:
+0x335f 009901 bpatch patch18_7 ,mem_patch18 
+0x3360 009902 store 1 ,mem_app_evt_timer_count 
+:      009903 app_evt_100ms_loop:
+0x3361 009904 fetch 1 ,mem_app_evt_timer_count 
+0x3362 009905 rtn blank 
+0x3363 009906 increase -1 ,pdata 
+0x3364 009907 store 1 ,mem_app_evt_timer_count 
+0x3365 009908 call ui_button_polling 
+0x3366 009909 call app_lpm_wake_auto_lock_timer 
+0x3367 009910 call app_unsniff_delay_timer 
+0x3368 009911 call app_discovery_timer 
+0x3369 009912 call flash_write_spi_sm_timer 
+0x336a 009913 fetch 2 ,mem_cb_event_timer 
+0x336b 009914 call callback_func 
+0x336c 009915 branch app_evt_100ms_loop 
+:      009920 timer_single_step:
+0x336d 009921 ifetch 1 ,regc 
+0x336e 009922 rtn blank 
+0x336f 009923 pincrease -1 
+0x3370 009924 istore 1 ,regc 
+0x3371 009925 nrtn blank 
+0x3372 009926 copy regb ,pdata 
+0x3373 009927 branch callback_func 
+:      009931 timer_single_step_2b:
+0x3374 009932 ifetch 2 ,regc 
+0x3375 009933 rtn blank 
+0x3376 009934 pincrease -1 
+0x3377 009935 istore 2 ,regc 
+0x3378 009936 nrtn blank 
+0x3379 009937 copy regb ,pdata 
+0x337a 009938 branch callback_func 
+:      009940 app_power_timer:
+0x337b 009941 fetcht 2 ,mem_power_param_ptr 
+0x337c 009942 add temp ,power_timer_offset ,regc 
+0x337d 009943 arg app_power_timer_timeout ,regb 
+0x337e 009944 branch timer_single_step 
+:      009946 app_power_timer_timeout:
+0x337f 009947 call app_got_power_state_common 
+0x3380 009948 beq power_starting ,app_enter_power_stanby_state 
+:      009949 app_enter_power_off_state:
+0x3381 009950 branch app_enter_hibernate 
+:      009951 app_enter_power_stanby_state:
+0x3382 009952 setarg power_standby 
+0x3383 009953 istore 1 ,regc 
+0x3384 009954 add temp ,power_standby_cb_offset ,regb 
+:      009955 app_power_cb_common:
+0x3385 009956 ifetch 2 ,regb 
+0x3386 009957 branch callback_func 
+:      009959 app_unsniff_delay_timer:
+0x3387 009960 arg mem_unsniff2sniff_timer_count ,regc 
+0x3388 009961 arg app_unsniff_delay_timeout ,regb 
+0x3389 009962 branch timer_single_step 
+:      009964 app_unsniff_delay_timeout:
+0x338a 009965 call context_check_idle 
+0x338b 009966 branch app_bt_enter_sniff ,zero 
+0x338c 009967 rtn 
+:      009970 app_discovery_timer:
+0x338d 009971 arg mem_discovery_timeout_timer_count ,regc 
+0x338e 009972 arg app_discovery_timeout ,regb 
+0x338f 009973 branch timer_single_step_2b 
+:      009975 app_discovery_timeout:
+0x3390 009976 call app_bt_stop_discovery 
+0x3391 009977 call app_led_off 
+0x3392 009978 fetch 2 ,mem_cb_discovry_timeout 
+0x3393 009979 branch callback_func 
+:      009982 app_bb_event_reconn_failed:
+0x3394 009983 call app_disconn_reason_flag_clear 
+:      009984 app_clear_reconnect_flag:
+0x3395 009985 fetch 2 ,mem_ui_state_map 
+0x3396 009986 set0 ui_state_bt_reconnect ,pdata 
+0x3397 009987 store 2 ,mem_ui_state_map 
+0x3398 009988 rtn 
+:      009990 app_bb_event_bb_disconn:
+0x3399 009991 jam 0 ,mem_unsniff2sniff_timer_count 
+0x339a 009992 fetch 2 ,mem_ui_state_map 
+0x339b 009993 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x339c 009994 isolate0 ui_state_bt_setup_complete ,pdata 
+0x339d 009995 call app_discard_event ,true 
+:      009996 app_bb_event_bb_reconn_disconn:
+0x339e 009997 bpatch patch19_0 ,mem_patch19 
+0x339f 009998 fetch 2 ,mem_ui_state_map 
+0x33a0 009999 set0 ui_state_bt_connected ,pdata 
+0x33a1 010000 set0 ui_state_bt_setup_complete ,pdata 
+0x33a2 010001 set0 ui_state_bt_hid_conn ,pdata 
+0x33a3 010002 set0 ui_state_bt_hid_handshake ,pdata 
+0x33a4 010003 set0 ui_state_bt_reconnect ,pdata 
+0x33a5 010004 store 2 ,mem_ui_state_map 
+0x33a6 010005 branch app_lpm_mult_disable 
+:      010007 app_bb_hibernate:
+0x33a7 010008 call app_disconn_reason_clear 
+0x33a8 010009 branch app_enter_hibernate 
+:      010012 app_disconn_reason_clear:
+0x33a9 010013 setarg 0 
+0x33aa 010014 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33ab 010015 rtn 
+:      010016 app_disconn_reason_flag_clear:
+0x33ac 010017 setarg 0 
+0x33ad 010018 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33ae 010019 rtn 
+:      010021 app_disconn_reason_collect_bt:
+0x33af 010022 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b0 010023 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b1 010024 setarg 0 
+0x33b2 010025 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b3 010026 rtn 
+:      010028 app_disconn_reason_collect_ble:
+0x33b4 010029 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b5 010030 set1 app_disc_ble ,pdata 
+0x33b6 010031 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b7 010032 setarg 0 
+0x33b8 010033 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b9 010034 rtn 
+:      010042 app_check_sniff:
+0x33ba 010043 fetch 1 ,mem_ui_state_map 
+0x33bb 010044 isolate1 ui_state_bt_sniff ,pdata 
+0x33bc 010045 rtn 
+:      010053 app_initflag_store:
+0x33bd 010054 setarg eeprom_init_flag 
+:      010055 app_flag_store:
+0x33be 010056 store 2 ,mem_timeup 
+0x33bf 010057 bpatch patch19_1 ,mem_patch19 
+0x33c0 010058 arg 2 ,temp 
+0x33c1 010059 arg mem_timeup ,rega 
+0x33c2 010060 arg eeprom_module_init_flag ,regb 
+0x33c3 010061 branch iicd_write_eep_data 
+:      010064 app_initflag_check:
+0x33c4 010065 bpatch patch19_2 ,mem_patch19 
+0x33c5 010066 arg 2 ,temp 
+0x33c6 010067 arg mem_pdatatemp ,rega 
+0x33c7 010068 arg eeprom_module_init_flag ,regb 
+0x33c8 010069 call iicd_read_eep_data 
+0x33c9 010070 fetch 2 ,mem_pdatatemp 
+0x33ca 010071 arg eeprom_init_flag ,temp 
+0x33cb 010072 isub temp ,null 
+0x33cc 010073 rtn 
+:      010076 app_start_auto_sniff:
+0x33cd 010077 fetch 1 ,mem_unsniff2sniff_timer 
+0x33ce 010078 store 1 ,mem_unsniff2sniff_timer_count 
+0x33cf 010079 rtn 
+:      010081 app_get_lpm_wake_lock:
+0x33d0 010082 arg wake_lock_app ,queue 
+0x33d1 010083 branch lpm_get_wake_lock 
+:      010085 app_put_lpm_wake_lock:
+0x33d2 010086 arg wake_lock_app ,queue 
+0x33d3 010087 branch lpm_put_wake_lock 
+:      010089 app_lpm_wake_auto_lock:
+0x33d4 010090 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x33d5 010091 branch app_get_lpm_wake_lock 
+:      010093 app_lpm_wake_auto_lock_timer:
+0x33d6 010094 arg mem_wake_up_delay_timer ,regc 
+0x33d7 010095 arg app_put_lpm_wake_lock ,regb 
+0x33d8 010096 branch timer_single_step 
+:      010098 app_l2cap_flow_control_enable:
+0x33d9 010099 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x33da 010100 rtn 
+:      010102 app_l2cap_flow_control_disable:
+0x33db 010103 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x33dc 010104 rtn 
+:      010106 app_bt_set_pincode:
+0x33dd 010107 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x33de 010108 branch ui_ipc_send_cmd 
+:      010110 app_bt_role_switch:
+0x33df 010111 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x33e0 010112 branch ui_ipc_send_cmd 
+:      010114 app_bt_start_reconnect:
+0x33e1 010115 bpatch patch19_3 ,mem_patch19 
+0x33e2 010116 fetch 1 ,mem_app_connection_options 
+0x33e3 010117 store 1 ,mem_connection_options 
+0x33e4 010118 jam app_flag_reconnect ,mem_reconnect_flag 
+0x33e5 010119 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x33e6 010120 branch ui_ipc_send_cmd 
+:      010122 app_bt_reconnect_cancel:
+0x33e7 010123 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x33e8 010124 branch ui_ipc_send_cmd 
+:      010126 app_bt_disconnect:
+0x33e9 010127 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x33ea 010128 branch ui_ipc_send_cmd 
+:      010130 app_bt_start_discovery_short:
+0x33eb 010131 fetch 2 ,mem_discovery_timeout 
+0x33ec 010132 store 2 ,mem_discovery_timeout_timer_count 
+:      010133 app_bt_start_discovery_led_blink:
+0x33ed 010134 call app_led_start_blink 
+:      010135 app_bt_start_discovery:
+0x33ee 010136 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x33ef 010137 branch ui_ipc_send_cmd 
+:      010139 app_bt_stop_discovery:
+0x33f0 010140 setarg 0 
+0x33f1 010141 store 2 ,mem_discovery_timeout_timer_count 
+0x33f2 010142 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x33f3 010143 branch ui_ipc_send_cmd 
+:      010145 app_ble_start_direct_adv:
+0x33f4 010146 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x33f5 010147 branch ui_ipc_send_cmd 
+:      010149 app_ble_stop_direct_adv:
+0x33f6 010150 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x33f7 010151 branch ui_ipc_send_cmd 
+:      010153 app_ble_stop_adv:
+0x33f8 010154 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x33f9 010155 branch ui_ipc_send_cmd 
+:      010157 app_ble_start_adv:
+0x33fa 010158 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x33fb 010159 branch ui_ipc_send_cmd 
+:      010161 app_ble_start_scan:
+0x33fc 010162 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x33fd 010163 branch ui_ipc_send_cmd 
+:      010165 app_ble_stop_scan:
+0x33fe 010166 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x33ff 010167 branch ui_ipc_send_cmd 
+:      010169 app_ble_start_conn:
+0x3400 010170 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x3401 010171 branch ui_ipc_send_cmd 
+:      010173 app_ble_disconnect:
+0x3402 010174 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x3403 010175 branch ui_ipc_send_cmd 
+:      010177 app_led_start_blink:
+0x3404 010178 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x3405 010179 branch ui_ipc_send_cmd 
+:      010181 app_led_on:
+0x3406 010182 jam bt_cmd_led_on ,mem_fifo_temp 
+0x3407 010183 branch ui_ipc_send_cmd 
+:      010185 app_led_stop_blink:
+:      010186 app_led_off:
+0x3408 010187 jam bt_cmd_led_off ,mem_fifo_temp 
+0x3409 010188 branch ui_ipc_send_cmd 
+:      010190 app_enter_hibernate:
+0x340a 010191 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x340b 010192 branch ui_ipc_send_cmd 
+:      010194 app_bt_sniff_exit:
+0x340c 010195 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x340d 010196 branch ui_ipc_send_cmd 
+:      010198 app_bt_enter_sniff:
+0x340e 010199 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x340f 010200 branch ui_ipc_send_cmd 
+:      010202 app_ble_store_reconn_info:
+0x3410 010203 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x3411 010204 branch ui_ipc_send_cmd 
+:      010206 app_bt_store_reconn_info:
+0x3412 010207 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x3413 010208 branch ui_ipc_send_cmd 
+:      010210 app_store_reconn_info:
+0x3414 010211 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x3415 010212 branch ui_ipc_send_cmd 
+:      010214 app_lpm_mult_enable:
+0x3416 010215 set1 mark_lpm_mult_enable ,mark 
+0x3417 010216 rtn 
+:      010218 app_lpm_mult_disable:
+0x3418 010219 set0 mark_lpm_mult_enable ,mark 
+0x3419 010220 rtn 
+:      010240 app_button_long_pressed:
+0x341a 010241 call app_got_power_state_common 
+0x341b 010242 beq power_standby ,app_power_shutting_down 
+:      010243 app_power_starting:
+0x341c 010244 setarg power_starting 
+0x341d 010245 istore 1 ,regc 
+0x341e 010246 add temp ,power_starting_timeout_offset ,rega 
+0x341f 010247 add temp ,power_starting_cb_offset ,regb 
+:      010248 app_power_common:
+0x3420 010249 ifetcht 1 ,rega 
+0x3421 010250 increase 1 ,regc 
+0x3422 010251 istoret 1 ,regc 
+0x3423 010252 branch app_power_cb_common 
+:      010254 app_power_shutting_down:
+0x3424 010255 setarg power_off 
+0x3425 010256 istore 1 ,regc 
+0x3426 010257 fetch 2 ,mem_ui_state_map 
+0x3427 010258 bbit0 ui_state_ble_connected ,app_power_off_end 
+0x3428 010259 call app_ble_disconnect 
+:      010260 app_power_off_end:
+0x3429 010261 fetcht 2 ,mem_power_param_ptr 
+0x342a 010262 add temp ,power_off_timeout_offset ,rega 
+0x342b 010263 add temp ,power_off_cb_offset ,regb 
+0x342c 010264 branch app_power_common 
+:      010266 app_got_power_state_common:
+0x342d 010267 fetcht 2 ,mem_power_param_ptr 
+0x342e 010268 add temp ,power_state_offset ,regc 
+0x342f 010269 ifetch 1 ,regc 
+0x3430 010270 rtn 
+:      010272 app_event_button_up:
+0x3431 010273 call app_got_power_state_common 
+0x3432 010274 bne power_off ,app_power_release 
+0x3433 010275 branch app_enter_hibernate 
+:      010276 app_power_release:
+0x3434 010277 add temp ,ui_butten_up_cb_offset ,regb 
+0x3435 010278 branch app_power_cb_common 
+:      010280 antilost_init:
+0x3436 010281 rtn wake 
+0x3437 010282 jam 0x00 ,core_gpio_sel1 
+0x3438 010283 setarg antilost_le_before_hibernate 
+0x3439 010284 store 2 ,mem_cb_before_hibernate 
+0x343a 010285 setarg keyscan_process_lpm_before 
+0x343b 010286 store 2 ,mem_cb_before_lpm 
+0x343c 010287 setarg antilost_idle_process 
+0x343d 010288 store 2 ,mem_cb_idle_process 
+0x343e 010289 setarg antilost_le_conn_process 
+0x343f 010290 store 2 ,mem_cb_le_process 
+0x3440 010291 setarg antilost_bb_event_process 
+0x3441 010292 store 2 ,mem_cb_bb_event_process 
+0x3442 010293 setarg antilost_le_bb_event_timer 
+0x3443 010294 store 2 ,mem_cb_event_timer 
+0x3444 010295 setarg antilost_le_notification 
+0x3445 010296 store 2 ,mem_cb_ble_transmit 
+0x3446 010297 setarg antilost_lpm_lock_process 
+0x3447 010298 store 2 ,mem_cb_check_wakelock 
+0x3448 010299 setarg antilost_le_receive_data_process 
+0x3449 010300 store 2 ,mem_cb_att_write 
+0x344a 010301 bpatch patch19_4 ,mem_patch19 
+0x344b 010302 call antilost_buzzer_pwm_init 
+0x344c 010303 call keyscan_key_init 
+0x344d 010304 call antilost_adc_init 
+0x344e 010305 call ui_led_init_global 
+0x344f 010306 call ui_button_init 
+0x3450 010307 setarg antilost_key_up_down 
+0x3451 010308 store 2 ,mem_cb_antl_key 
+0x3452 010309 setarg antilost_power_off_cb 
+0x3453 010310 store 2 ,mem_antl_power_off_cb 
+0x3454 010311 setarg antilost_power_starting_cb 
+0x3455 010312 store 2 ,mem_antl_power_starting_cb 
+0x3456 010313 setarg antilost_power_standby_cb 
+0x3457 010314 store 2 ,mem_antl_power_standby_cb 
+0x3458 010315 setarg antilost_led_on_cb 
+0x3459 010316 store 2 ,mem_antl_led_cb_on 
+0x345a 010317 setarg antilost_led_off_cb 
+0x345b 010318 store 2 ,mem_antl_led_cb_off 
+0x345c 010319 setarg antilost_buzzer_on 
+0x345d 010320 store 2 ,mem_antl_buzzer_cb_on 
+0x345e 010321 setarg antilost_buzzer_off 
+0x345f 010322 store 2 ,mem_antl_buzzer_cb_off 
+0x3460 010323 fetch 2 ,mem_ui_state_map 
+0x3461 010324 rtnbit1 ui_state_btn_down 
+0x3462 010325 branch app_enter_hibernate 
+:      010327 antilost_le_before_hibernate:
+0x3463 010328 call antilost_led_buzzer_stop_blink 
+0x3464 010329 branch app_enter_hibernate 
+:      010331 antilost_le_notification:
+0x3465 010332 call le_fifo_check_nearly_full 
+0x3466 010333 nrtn blank 
+0x3467 010334 arg mem_temp_block5 ,rega 
+0x3468 010335 call queue_pop 
+0x3469 010336 nrtn user 
+0x346a 010337 arg mem_temp_block5 ,contr 
+0x346b 010338 branch le_send_notify_from_list 
+:      010340 antilost_power_standby_cb:
+0x346c 010341 fetch 2 ,mem_antl_le_sleep_timeout 
+0x346d 010342 store 2 ,mem_antl_le_sleep_timer 
+0x346e 010343 jam 1 ,mem_antl_key_scan_enable 
+0x346f 010344 branch antilost_fast_adv_start 
+:      010346 antilost_lpm_lock_process:
+0x3470 010347 fetch 1 ,mem_antl_key_state 
+0x3471 010348 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+0x3472 010349 fetch 2 ,mem_ui_state_map 
+0x3473 010350 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+0x3474 010351 fetch 1 ,mem_antl_lost_mode 
+0x3475 010352 beq 1 ,app_get_lpm_wake_lock 
+0x3476 010353 fetch 1 ,mem_antl_queue_curr_num 
+0x3477 010354 nbranch app_get_lpm_wake_lock ,blank 
+0x3478 010355 branch app_put_lpm_wake_lock 
+:      010357 antilost_lpm_ctrl_for_led_buzzer:
+0x3479 010358 fetch 1 ,mem_antl_led_state 
+0x347a 010359 fetcht 1 ,mem_antl_buzzer_state 
+0x347b 010360 ior temp ,pdata 
+0x347c 010361 beq 1 ,app_get_lpm_wake_lock 
+0x347d 010362 branch app_put_lpm_wake_lock 
+:      010364 antilost_bb_event_process:
+0x347e 010365 copy regc ,pdata 
+0x347f 010366 beq bt_evt_button_up ,app_event_button_up 
+0x3480 010367 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x3481 010368 beq bt_evt_le_connected ,antilost_le_process_conn 
+0x3482 010369 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+0x3483 010370 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+0x3484 010371 rtn 
+:      010372 antilost_le_conn_param_update_rsp_recieved:
+0x3485 010373 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x3486 010374 beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+:      010375 antilost_le_conn_param_accepted:
+0x3487 010376 fetch 2 ,mem_le_new_connslavelatency 
+0x3488 010377 branch antilost_master_nonsupport_latency ,blank 
+:      010378 antilost_le_conn_param_updata_procedure_sucsess:
+0x3489 010379 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+0x348a 010380 jam 60 ,mem_antl_conn_update_timer 
+0x348b 010381 rtn 
+:      010383 antilost_le_conn_param_rejected:
+0x348c 010384 fetch 2 ,mem_le_latency 
+0x348d 010385 branch antilost_conn_param_updata_procedure_faild ,blank 
+:      010386 antilost_conn_param_retransimiting:
+0x348e 010387 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x348f 010388 fetcht 2 ,mem_interval_increment 
+0x3490 010389 fetch 2 ,mem_le_interval_min 
+0x3491 010390 iadd temp ,pdata 
+0x3492 010391 store 2 ,mem_le_interval_min 
+0x3493 010392 copy pdata ,rega 
+0x3494 010393 fetch 2 ,mem_le_interval_max 
+0x3495 010394 iadd temp ,pdata 
+0x3496 010395 store 2 ,mem_le_interval_max 
+0x3497 010396 iadd rega ,pdata 
+0x3498 010397 rshift pdata ,temp 
+0x3499 010398 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x349a 010399 idiv temp 
+0x349b 010400 call wait_div_end 
+0x349c 010401 quotient pdata 
+0x349d 010402 store 2 ,mem_le_latency 
+0x349e 010403 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x349f 010404 rtn 
+:      010405 antilost_conn_param_updata_procedure_faild:
+0x34a0 010406 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+0x34a1 010407 rtn 
+:      010409 antilost_master_nonsupport_latency:
+0x34a2 010410 jam 0 ,mem_lpm_mult 
+0x34a3 010411 jam 0 ,mem_antl_send_updata_le_param_timer 
+0x34a4 010412 fetch 2 ,mem_le_new_conninterval 
+0x34a5 010413 fetcht 2 ,mem_antl_le_unnormal_interval_min 
+0x34a6 010414 isub temp ,null 
+0x34a7 010415 setflag positive ,0 ,rega 
+0x34a8 010416 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x34a9 010417 fetcht 2 ,mem_le_new_conninterval 
+0x34aa 010418 isub temp ,pdata 
+0x34ab 010419 setflag positive ,1 ,rega 
+0x34ac 010420 compare 0x03 ,rega ,0x03 
+0x34ad 010421 rtn true 
+0x34ae 010422 fetch 8 ,mem_antl_le_unnormal_interval_min 
+0x34af 010423 store 8 ,mem_le_interval_min 
+0x34b0 010424 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34b1 010425 rtn 
+:      010428 antilost_le_bb_event_timer:
+0x34b2 010430 call app_power_timer 
+0x34b3 010431 call antilost_double_click_timer 
+0x34b4 010432 call antilost_le_fast_adv_timer 
+0x34b5 010433 call antilost_le_sleep_timer 
+0x34b6 010434 call antilost_app_updata_le_param_timer 
+0x34b7 010435 call antilost_conn_update_timer 
+0x34b8 010436 branch antilost_adc_check_timer 
+:      010439 antilost_double_click_timer:
+0x34b9 010440 arg mem_double_click_timer ,regc 
+0x34ba 010441 arg antilost_double_click_timeout ,regb 
+0x34bb 010442 branch timer_single_step 
+:      010443 antilost_double_click_timeout:
+0x34bc 010444 jam 0 ,mem_butten_click_cnt 
+0x34bd 010445 rtn 
+:      010446 antilost_le_fast_adv_timer:
+0x34be 010447 arg mem_antl_fast_adv_timer ,regc 
+0x34bf 010448 arg antilost_le_fast_adv_timeout ,regb 
+0x34c0 010449 branch timer_single_step_2b 
+:      010450 antilost_le_fast_adv_timeout:
+0x34c1 010451 arg mem_antl_slow_adv_led_style ,regc 
+0x34c2 010452 arg mem_antl_slow_adv_lpm_interval ,regb 
+0x34c3 010453 branch antilost_adv_start_common 
+:      010456 antilost_conn_update_timer:
+0x34c4 010457 arg mem_antl_conn_update_timer ,regc 
+0x34c5 010458 arg antilost_conn_update_timer_time_out ,regb 
+0x34c6 010459 branch timer_single_step 
+:      010461 antilost_conn_update_timer_time_out:
+0x34c7 010462 fetch 2 ,mem_le_latency 
+0x34c8 010463 store 1 ,mem_lpm_mult 
+0x34c9 010464 rtn 
+:      010465 antilost_app_updata_le_param_timer:
+0x34ca 010466 arg mem_antl_send_updata_le_param_timer ,regc 
+0x34cb 010467 arg antilost_app_updata_le_param_timeout ,regb 
+0x34cc 010468 branch timer_single_step 
+:      010469 antilost_app_updata_le_param_timeout:
+0x34cd 010470 fetch 1 ,mem_le_state 
+0x34ce 010471 compare 0 ,pdata ,0x60 
+0x34cf 010472 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+0x34d0 010473 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x34d1 010474 call app_lpm_mult_enable 
+0x34d2 010475 branch le_l2cap_tx_update_req 
+:      010476 antilost_wait_for_updata_param_instant_expire:
+0x34d3 010477 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34d4 010478 rtn 
+:      010480 antilost_le_sleep_timer:
+0x34d5 010481 arg mem_antl_le_sleep_timer ,regc 
+0x34d6 010482 arg antilost_le_sleep_timer_timeout ,regb 
+0x34d7 010483 branch timer_single_step_2b 
+:      010486 antilost_le_sleep_timer_timeout:
+0x34d8 010487 branch app_button_long_pressed 
+:      010489 antilost_adc_check_timer:
+0x34d9 010492 arg mem_adc_timer ,regc 
+0x34da 010493 arg antilost_adc_check_timer_timeout ,regb 
+0x34db 010494 branch timer_single_step_2b 
+:      010495 antilost_adc_check_timer_timeout:
+0x34dc 010496 fetch 2 ,mem_adc_timeout 
+0x34dd 010497 store 2 ,mem_adc_timer 
+0x34de 010498 branch antilost_battery_process 
+:      010501 antilost_le_process_conn:
+0x34df 010502 fetch 2 ,mem_adc_timeout 
+0x34e0 010503 store 2 ,mem_adc_timer 
+0x34e1 010504 setarg 0 
+0x34e2 010505 store 2 ,mem_antl_fast_adv_timer 
+0x34e3 010506 store 2 ,mem_antl_le_sleep_timer 
+0x34e4 010507 call antilost_alert_off 
+0x34e5 010508 call antilost_led_buzzer_stop_blink 
+0x34e6 010509 jam 0 ,mem_lpm_mult 
+0x34e7 010510 branch app_ble_stop_adv 
+:      010513 antilost_le_process_discon:
+0x34e8 010516 setarg 0 
+0x34e9 010517 store 4 ,mem_adc_timer 
+0x34ea 010518 store 3 ,mem_antl_conn_updata_procedure_state 
+0x34eb 010519 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x34ec 010521 jam 1 ,mem_alarm_config_notfy_cnt 
+0x34ed 010522 fetch 2 ,mem_antl_le_sleep_timeout 
+0x34ee 010523 store 2 ,mem_antl_le_sleep_timer 
+0x34ef 010524 call queue_init 
+0x34f0 010525 fetch 1 ,mem_antl_power_state 
+0x34f1 010526 rtneq power_off 
+0x34f2 010527 call antilost_fast_adv_start 
+0x34f3 010528 branch antilost_on_off_alarm_after_disconn 
+:      010531 antilost_le_conn_process:
+0x34f4 010533 branch antilost_key_process 
+:      010535 antilost_idle_process:
+0x34f5 010537 fetch 1 ,mem_antl_power_state 
+0x34f6 010538 rtnne power_standby 
+0x34f7 010539 branch antilost_key_process 
+:      010544 antilost_power_starting_cb:
+0x34f8 010545 arg mem_antl_power_starting_buzzer_style ,regc 
+0x34f9 010546 call antilost_buzzer_configuration 
+0x34fa 010547 arg mem_antl_power_starting_led_style ,regc 
+:      010548 antilost_power_common:
+0x34fb 010549 branch antilost_led_configuration 
+:      010551 antilost_power_off_cb:
+0x34fc 010552 jam off ,mem_le_adv_enable 
+0x34fd 010553 arg mem_antl_power_off_buzzer_style ,regc 
+0x34fe 010554 call antilost_buzzer_configuration 
+0x34ff 010555 arg mem_antl_power_off_led_style ,regc 
+0x3500 010556 branch antilost_power_common 
+:      010558 antilost_le_receive_data_process:
+0x3501 010559 fetch 1 ,mem_le_att_opcode 
+0x3502 010560 beq attop_write_request ,antilost_le_parse_att_write_request 
+0x3503 010561 rtn 
+:      010562 antilost_le_parse_att_write_request:
+0x3504 010563 fetch 2 ,mem_le_att_handle 
+0x3505 010565 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+0x3506 010566 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+0x3507 010567 rtn 
+:      010572 antilost_key_process:
+0x3508 010573 fetch 1 ,mem_antl_key_scan_enable 
+0x3509 010574 rtn blank 
+0x350a 010575 branch keyscan_key_process 
+:      010579 antilost_key_up_down:
+0x350b 010580 copy rega ,pdata 
+0x350c 010581 branch antilost_key_is_up ,blank 
+:      010582 antilost_key_is_down:
+0x350d 010583 copy queue ,pdata 
+0x350e 010584 beq 0 ,antilost_key0_down 
+0x350f 010585 rtn 
+:      010586 antilost_key_is_up:
+0x3510 010587 copy queue ,pdata 
+0x3511 010588 beq 0 ,antilost_key0_up 
+0x3512 010589 rtn 
+:      010591 antilost_key0_down:
+0x3513 010592 jam 1 ,mem_antl_key_state 
+0x3514 010593 arg mem_antl_key_buzzer_style ,regc 
+0x3515 010594 call antilost_buzzer_configuration 
+0x3516 010595 arg mem_antl_key_led_style ,regc 
+0x3517 010596 call antilost_led_configuration 
+0x3518 010597 fetch 2 ,mem_ui_state_map 
+0x3519 010598 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+0x351a 010599 branch antilost_butten_down_after_conn 
+:      010601 antilost_key0_up:
+0x351b 010602 jam 0 ,mem_antl_key_state 
+0x351c 010603 branch antilost_double_click_timer_init 
+:      010607 antilost_double_click_timer_init:
+0x351d 010608 fetch 1 ,mem_butten_click_cnt 
+0x351e 010609 rtnne 1 
+0x351f 010610 jam 5 ,mem_double_click_timer 
+0x3520 010611 rtn 
+:      010613 antilost_butten_down_after_conn:
+0x3521 010614 fetch 1 ,mem_butten_click_cnt 
+0x3522 010615 pincrease 1 
+0x3523 010616 store 1 ,mem_butten_click_cnt 
+0x3524 010617 beq 1 ,antilost_click_once 
+0x3525 010618 beq 2 ,antilost_click_twice 
+0x3526 010619 rtn 
+:      010620 antilost_click_once:
+0x3527 010621 call antilost_alert_off 
+0x3528 010622 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+0x3529 010623 arg mem_antl_key0_press ,regc 
+0x352a 010624 branch antilost_prepare_data_and_send 
+:      010625 antilost_click_twice:
+0x352b 010626 jam 0 ,mem_butten_click_cnt 
+0x352c 010627 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+0x352d 010628 arg mem_antl_key0_press ,regc 
+0x352e 010629 call antilost_prepare_data_and_send 
+0x352f 010630 fetch 1 ,mem_antl_lost_mode 
+0x3530 010631 beq 1 ,antilost_alert_on 
+0x3531 010632 rtn 
+:      010634 antilost_butten_down_while_disconn:
+0x3532 010635 fetch 2 ,mem_antl_le_sleep_timeout 
+0x3533 010636 store 2 ,mem_antl_le_sleep_timer 
+0x3534 010637 call antilost_alert_off 
+0x3535 010638 branch antilost_fast_adv_start 
+:      010641 antilost_cmd_parse_for_application:
+0x3536 010642 bpatch patch19_5 ,mem_patch19 
+0x3537 010643 call le_app_receive_data 
+0x3538 010644 ifetch 1 ,rega 
+0x3539 010645 beq opcode3_antl_start_alram ,antilost_on_of_alram 
+0x353a 010646 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+0x353b 010647 rtn 
+:      010649 antilost_on_of_alram:
+0x353c 010650 fetch 1 ,mem_antl_lost_mode 
+0x353d 010651 beq anti_le_alarm_off ,antilost_alert_on 
+0x353e 010652 beq anti_le_alarm_on ,antilost_alert_off 
+0x353f 010653 rtn 
+:      010655 antilost_configuration_for_alram:
+0x3540 010656 ifetch 1 ,regb 
+0x3541 010657 beq 1 ,antilost_set_start_alarm_after_disconn 
+0x3542 010658 beq 0 ,antilost_set_no_alarm_after_disconn 
+0x3543 010659 rtn 
+:      010666 antilost_prepare_data_and_send:
+0x3544 010667 bpatch patch19_6 ,mem_patch19 
+0x3545 010668 fetch 1 ,mem_client_characteristic_configuration_descriptor 
+0x3546 010669 isolate1 notification_enable_bit ,pdata 
+0x3547 010670 nrtn true 
+0x3548 010671 add regc ,6 ,contr 
+0x3549 010672 ifetch 2 ,contr 
+0x354a 010673 byteswap pdata ,pdata 
+0x354b 010674 add pdata ,5 ,loopcnt 
+0x354c 010675 add regc ,3 ,contr 
+0x354d 010676 call calc_check_sum_start 
+0x354e 010677 istore 1 ,contr 
+0x354f 010678 copy regc ,rega 
+0x3550 010679 branch queue_push 
+:      010685 antilost_alert_on:
+0x3551 010686 fetch 1 ,mem_antl_power_state 
+0x3552 010687 rtn blank 
+0x3553 010688 jam 1 ,mem_antl_lost_mode 
+0x3554 010689 arg mem_antl_alert_buzzer_stlye ,regc 
+0x3555 010690 call antilost_buzzer_configuration 
+0x3556 010691 arg mem_antl_alert_led_stlye ,regc 
+0x3557 010692 call antilost_led_configuration 
+0x3558 010693 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3559 010694 jam 1 ,mem_antl_key0_release + 8 
+0x355a 010695 arg mem_antl_key0_release ,regc 
+0x355b 010696 branch antilost_prepare_data_and_send 
+:      010697 antilost_alert_off:
+0x355c 010698 fetch 1 ,mem_antl_lost_mode 
+0x355d 010699 rtn blank 
+0x355e 010700 jam 0 ,mem_antl_lost_mode 
+0x355f 010701 call antilost_led_buzzer_stop_blink 
+0x3560 010702 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3561 010703 jam 0 ,mem_antl_key0_release + 8 
+0x3562 010704 arg mem_antl_key0_release ,regc 
+0x3563 010705 branch antilost_prepare_data_and_send 
+:      010707 antilost_set_start_alarm_after_disconn:
+0x3564 010708 jam 1 ,mem_alarm_config 
+0x3565 010709 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x3566 010710 jam 1 ,mem_antl_key0_release + 8 
+0x3567 010711 arg mem_antl_key0_release ,regc 
+0x3568 010712 branch antilost_prepare_data_and_send 
+:      010713 antilost_set_no_alarm_after_disconn:
+0x3569 010714 jam 0 ,mem_alarm_config 
+0x356a 010715 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x356b 010716 jam 0 ,mem_antl_key0_release + 8 
+0x356c 010717 arg mem_antl_key0_release ,regc 
+0x356d 010718 branch antilost_prepare_data_and_send 
+:      010719 antilost_on_off_alarm_after_disconn:
+0x356e 010720 fetch 1 ,mem_alarm_config 
+0x356f 010721 rtn blank 
+0x3570 010722 branch antilost_alert_on 
+:      010724 antilost_notify_alarm_config_first_time:
+0x3571 010725 ifetch 2 ,rega 
+0x3572 010726 store 2 ,mem_client_characteristic_configuration_descriptor 
+0x3573 010727 isolate1 notification_enable_bit ,pdata 
+0x3574 010728 nrtn true 
+0x3575 010729 fetch 1 ,mem_alarm_config_notfy_cnt 
+0x3576 010730 rtn blank 
+0x3577 010731 jam 0 ,mem_alarm_config_notfy_cnt 
+0x3578 010732 fetch 8 ,mem_antl_le_interval_min 
+0x3579 010733 store 8 ,mem_le_interval_min 
+0x357a 010734 jam 2 ,mem_antl_send_updata_le_param_timer 
+0x357b 010735 call antilost_battery_process 
+0x357c 010736 call antilost_battery_calculate_end 
+0x357d 010737 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x357e 010738 fetch 1 ,mem_alarm_config 
+0x357f 010739 store 1 ,mem_antl_key0_release + 8 
+0x3580 010740 arg mem_antl_key0_release ,regc 
+0x3581 010741 branch antilost_prepare_data_and_send 
+:      010745 antilost_buzzer_configuration:
+0x3582 010746 arg 1 ,rega 
+0x3583 010747 branch antilost_configuration_common 
+:      010748 antilost_led_configuration:
+0x3584 010749 arg 0 ,rega 
+:      010750 antilost_configuration_common:
+0x3585 010751 branch antilost_led_buzzer_style_configuration 
+:      010753 antilost_led_buzzer_stop_blink:
+0x3586 010754 arg 0 ,rega 
+0x3587 010755 call ui_led_blink_stop_global 
+0x3588 010756 arg 1 ,rega 
+0x3589 010757 call ui_led_blink_stop_global 
+0x358a 010758 fetch 1 ,mem_buzzer_pwm_conf 
+0x358b 010759 branch pwm_disable 
+:      010761 antilost_led_buzzer_style_configuration:
+0x358c 010762 call calc_curr_struct_prt 
+0x358d 010763 arg 7 ,loopcnt 
+0x358e 010764 branch ui_led_set_style_global + 2 
+:      010768 antilost_fast_adv_start:
+0x358f 010769 arg mem_antl_fast_adv_led_style ,regc 
+0x3590 010770 arg mem_antl_lpm_interval ,regb 
+:      010771 antilost_adv_start_common:
+0x3591 010772 call antilost_adv_interval_lpm_interval_set 
+0x3592 010773 call antilost_led_configuration 
+0x3593 010774 fetch 2 ,mem_antl_fast_adv_timeout 
+0x3594 010775 store 2 ,mem_antl_fast_adv_timer 
+0x3595 010776 branch app_ble_start_adv 
+:      010778 antilost_adv_interval_lpm_interval_set:
+0x3596 010779 ifetch 2 ,regb 
+0x3597 010780 store 2 ,mem_lpm_interval 
+0x3598 010781 ifetch 2 ,contr 
+0x3599 010782 store 2 ,mem_le_adv_interval 
+0x359a 010783 rtn 
+:      010785 antilost_buzzer_pwm_init:
+0x359b 010786 arg 0 ,rega 
+0x359c 010787 call pwm_init 
+0x359d 010788 fetch 6 ,mem_buzzer_pwm_conf 
+0x359e 010789 store 6 ,mem_pdatatemp 
+0x359f 010790 call pwm_out_set 
+0x35a0 010791 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a1 010792 branch pwm_disable 
+:      010794 antilost_led_on_cb:
+0x35a2 010795 jam 1 ,mem_antl_led_state 
+0x35a3 010796 rtn 
+:      010797 antilost_led_off_cb:
+0x35a4 010798 jam 0 ,mem_antl_led_state 
+0x35a5 010799 rtn 
+:      010803 antilost_buzzer_off:
+0x35a6 010804 jam 0 ,mem_antl_buzzer_state 
+0x35a7 010805 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a8 010806 branch pwm_disable 
+:      010808 antilost_buzzer_on:
+0x35a9 010809 jam 1 ,mem_antl_buzzer_state 
+0x35aa 010810 fetch 6 ,mem_buzzer_pwm_conf 
+0x35ab 010811 store 6 ,mem_pdatatemp 
+0x35ac 010812 branch pwm_out_set 
+:      010816 antilost_adc_init:
+0x35ad 010817 jam 0 ,mem_adc_config_flag 
+0x35ae 010818 branch adc_init_data 
+:      010820 antilost_battery_process:
+0x35af 010821 call adc_set_mode 
+0x35b0 010822 call vdd_calculate_by_mode 
+0x35b1 010823 store 2 ,mem_battery_current_voltage 
+0x35b2 010824 arg mem_battery_calculate_set ,rega 
+0x35b3 010825 call adc_bat_percent_lowpower_out 
+0x35b4 010826 store 1 ,mem_voltage_remain_percent 
+0x35b5 010827 beq 0 ,antilost_low_battery 
+0x35b6 010828 sub pdata ,0x64 ,null 
+0x35b7 010829 nbranch antilost_full_battery ,positive 
+0x35b8 010830 store 1 ,mem_antl_key0_release + 8 
+:      010831 antilost_battery_calculate_end:
+0x35b9 010832 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+0x35ba 010833 arg mem_antl_key0_release ,regc 
+0x35bb 010834 branch antilost_prepare_data_and_send 
+:      010835 antilost_full_battery:
+0x35bc 010836 jam 100 ,mem_antl_key0_release + 8 
+0x35bd 010837 branch antilost_battery_calculate_end 
+:      010839 antilost_low_battery:
+0x35be 010840 branch app_button_long_pressed 
+:      010844 car_init:
+0x35bf 010845 rtn wake 
+0x35c0 010846 hfetch 1 ,core_gpio_sel1 
+0x35c1 010847 and_into 0xf0 ,pdata 
+0x35c2 010848 hstore 1 ,core_gpio_sel1 
+0x35c3 010849 setarg car_le_before_hibernate 
+0x35c4 010850 store 2 ,mem_cb_before_hibernate 
+0x35c5 010852 setarg car_le_process_lpm_before 
+0x35c6 010853 store 2 ,mem_cb_before_lpm 
+0x35c7 010855 setarg app_enter_hibernate 
+0x35c8 010856 store 2 ,mem_cb_discovry_timeout 
+0x35c9 010858 setarg car_scale_process_idle 
+0x35ca 010859 store 2 ,mem_cb_idle_process 
+0x35cb 010861 setarg car_scale_process_bb_event 
+0x35cc 010862 store 2 ,mem_cb_bb_event_process 
+0x35cd 010864 setarg app_get_lpm_wake_lock 
+0x35ce 010865 store 2 ,mem_cb_check_wakelock 
+0x35cf 010867 setarg car_le_receive_data 
+0x35d0 010868 store 2 ,mem_cb_att_write 
+0x35d1 010870 setarg car_le_bb_event_timer 
+0x35d2 010871 store 2 ,mem_cb_event_timer 
+0x35d3 010873 call g24_head_ptr2regc 
+0x35d4 010874 setarg car_24g_receive_data 
+0x35d5 010875 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x35d6 010876 istore 2 ,contw 
+0x35d7 010878 setarg car_power_off_signal 
+0x35d8 010879 store 2 ,mem_remote_car_power_off_cb 
+0x35d9 010881 setarg car_soft_switch_power_on_signal 
+0x35da 010882 store 2 ,mem_remote_car_power_standby_cb 
+0x35db 010884 bpatch patch19_7 ,mem_patch19 
+0x35dc 010885 call car_init_environment 
+0x35dd 010886 call queue_init 
+0x35de 010887 jam 2 ,mem_lpm_mult 
+0x35df 010888 jam power_on ,mem_car_24g_received_pac 
+0x35e0 010889 fetch 1 ,mem_car_config_soft_switch_enable 
+0x35e1 010890 store 1 ,mem_car_hard_soft_switch 
+0x35e2 010891 beq hard_switch ,car_hard_switch_power_on_signal 
+0x35e3 010892 fetch 1 ,mem_car_config_soft_switch_gpio 
+0x35e4 010893 store 1 ,mem_ui_button_gpio 
+0x35e5 010894 jam off ,mem_le_adv_enable 
+:      010895 car_soft_switch_power_on_init:
+0x35e6 010896 call car_ui_led_init 
+0x35e7 010897 call ui_button_init 
+0x35e8 010898 call ui_button_polling 
+0x35e9 010899 jam power_starting ,mem_car_power_state 
+0x35ea 010900 fetch 2 ,mem_ui_state_map 
+0x35eb 010901 rtnbit1 ui_state_btn_down 
+0x35ec 010902 branch app_enter_hibernate 
+:      010904 car_power_off_signal:
+0x35ed 010905 branch car_ui_led_init 
+:      010907 car_hard_switch_power_on_signal:
+0x35ee 010908 jam power_standby ,mem_car_power_state 
+:      010909 car_soft_switch_power_on_signal:
+0x35ef 010910 jam on ,mem_le_adv_enable 
+0x35f0 010911 call car_ui_led_init 
+0x35f1 010912 arg 0 ,rega 
+0x35f2 010913 call ui_led_blink_start_global 
+0x35f3 010915 setarg fast_adv_interval_value_car 
+0x35f4 010916 call shutter_ble_adv_interval_set 
+:      010917 car_le_modified_name_adv:
+0x35f5 010918 arg mem_le_name + 7 ,contw 
+0x35f6 010919 fetch 1 ,mem_le_lap 
+:      010920 car_name_loop:
+0x35f7 010921 and pdata ,0xF0 ,temp 
+0x35f8 010922 rshift4 temp ,temp 
+0x35f9 010923 call car_hex_to_ascii 
+0x35fa 010924 istoret 1 ,contw 
+0x35fb 010925 and pdata ,0x0F ,temp 
+0x35fc 010926 call car_hex_to_ascii 
+0x35fd 010927 istoret 1 ,contw 
+0x35fe 010928 call le_modified_name_att_list 
+0x35ff 010929 fetcht 1 ,mem_le_name_len 
+0x3600 010930 copy temp ,loopcnt 
+0x3601 010931 arg mem_le_adv_data + 2 ,contw 
+0x3602 010932 arg mem_le_name ,contr 
+0x3603 010933 call memcpy 
+:      010934 car_le_modified_name_scan:
+0x3604 010935 fetcht 1 ,mem_le_name_len 
+0x3605 010936 copy temp ,loopcnt 
+0x3606 010937 arg mem_le_scan_data + 2 ,contw 
+0x3607 010938 arg mem_le_name ,contr 
+0x3608 010939 branch memcpy 
+:      010940 car_hex_to_ascii:
+0x3609 010941 sub temp ,9 ,null 
+0x360a 010942 branch car_hex_num ,positive 
+0x360b 010943 add temp ,55 ,temp 
+0x360c 010944 rtn 
+:      010945 car_hex_num:
+0x360d 010946 add temp ,48 ,temp 
+0x360e 010947 rtn 
+:      010949 car_ui_led_init:
+0x360f 010950 fetch 1 ,mem_car_config_blood_led1_gpio 
+0x3610 010951 bne invalid_pin_num ,car_blood_led_gpio_set 
+:      010952 car_ui_led_init_1:
+0x3611 010953 fetch 1 ,mem_car_config_pairing_led_gpio 
+0x3612 010954 bne invalid_pin_num ,car_pairing_led_gpio_set 
+:      010955 car_ui_led_init_2:
+0x3613 010956 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x3614 010957 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+:      010958 car_ui_led_init_3:
+0x3615 010959 fetch 1 ,mem_car_led_num 
+0x3616 010960 copy pdata ,loopcnt 
+0x3617 010961 setarg mem_car_led_map 
+0x3618 010962 copy pdata ,rega 
+:      010963 car_in_lp1:
+0x3619 010964 copy rega ,contr 
+0x361a 010965 ifetch 1 ,contr 
+0x361b 010966 copy contr ,rega 
+0x361c 010967 beq invalid_pin_num ,car_in_lp1_end 
+0x361d 010968 copy pdata ,temp 
+0x361e 010969 call gpio_config_output 
+:      010970 car_in_lp1_end:
+0x361f 010971 loop car_in_lp1 
+:      010972 car_ui_led_init_end:
+0x3620 010973 rtn 
+:      010974 car_blood_led_gpio_set:
+0x3621 010975 fetch 8 ,mem_car_config_blood_led1_gpio 
+0x3622 010976 store 8 ,mem_car_led_map + 2 
+0x3623 010977 branch car_ui_led_init_1 
+:      010978 car_pairing_led_gpio_set:
+0x3624 010979 store 1 ,mem_car_led_map 
+0x3625 010980 branch car_ui_led_init_2 
+:      010981 car_low_voltage_led_gpio_set:
+0x3626 010982 store 1 ,mem_car_led_map + 1 
+0x3627 010983 branch car_ui_led_init_3 
+:      010986 car_init_environment:
+0x3628 010987 arg 0 ,rega 
+0x3629 010988 call pwm_init 
+0x362a 010989 call car_ir_rx_init 
+0x362b 010990 call g24_receive_process_init 
+0x362c 010991 branch car_init_adc_hvin 
+:      010993 car_init_adc_hvin:
+0x362d 010994 jam 100 ,mem_car_notify_vdd_value_last 
+0x362e 010995 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x362f 010996 store 1 ,mem_car_style2_struct_led_gpio 
+0x3630 010997 branch adc_init_data 
+:      010999 car_le_before_hibernate:
+0x3631 011000 call gpio_set_before_lpm_common 
+0x3632 011001 branch keyscan_process_lpm_before 
+:      011003 car_le_process_lpm_before:
+0x3633 011004 branch keyscan_process_lpm_before 
+:      011006 car_key_scan_process:
+0x3634 011009 branch keyscan_key_process 
+:      011011 car_scale_process_idle:
+0x3635 011012 call car_le_send_packet 
+0x3636 011013 call car_ir_receive_process 
+0x3637 011014 call car_g24_status_process 
+0x3638 011015 branch car_key_scan_process 
+:      011017 car_g24_status_process:
+0x3639 011018 fetch 2 ,mem_ui_state_map 
+0x363a 011019 rtnbit1 ui_state_ble_connected 
+0x363b 011020 fetch 1 ,mem_car_24g_received_pac 
+0x363c 011021 beq work_paired ,car_g24_connected_event 
+0x363d 011022 rtn 
+:      011023 car_g24_connected_event:
+0x363e 011024 fetch 1 ,mem_car_24g_status 
+0x363f 011025 rtneq work_paired 
+0x3640 011026 jam work_paired ,mem_car_24g_status 
+0x3641 011027 branch car_g24_connected 
+:      011029 car_le_send_packet:
+0x3642 011030 fetch 2 ,mem_ui_state_map 
+0x3643 011031 rtnbit0 ui_state_ble_connected 
+0x3644 011032 call le_fifo_check_nearly_full 
+0x3645 011033 nrtn blank 
+0x3646 011034 arg mem_car_pop_queue_buff ,rega 
+0x3647 011035 call queue_pop 
+0x3648 011036 nrtn user 
+0x3649 011037 arg mem_car_pop_queue_buff ,contr 
+0x364a 011038 branch le_send_notify_from_list 
+:      011040 car_scale_process_bb_event:
+0x364b 011041 copy regc ,pdata 
+0x364c 011042 beq bt_evt_button_up ,app_event_button_up 
+0x364d 011043 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x364e 011044 beq bt_evt_le_connected ,car_scale_event_le_conn 
+0x364f 011045 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+0x3650 011046 rtn 
+:      011048 car_scale_event_le_conn:
+0x3651 011049 setarg disable_24g 
+0x3652 011050 call g24_store_mem_24g_mode 
+0x3653 011051 branch car_scale_process_conn 
+:      011052 car_g24_connected:
+0x3654 011053 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3655 011054 store 2 ,mem_car_24g_no_data_timeout_timer 
+:      011055 car_scale_process_conn:
+0x3656 011056 jam 0x14 ,mem_car_notify_vdd_timer 
+0x3657 011057 jam 0 ,mem_lpm_mode 
+0x3658 011058 call app_ble_stop_adv 
+0x3659 011059 call app_lpm_mult_enable 
+0x365a 011060 fetch 1 ,mem_car_config_pairing_led_conn_status 
+0x365b 011061 beq 0x01 ,car_pairing_led_conn_status_setting 
+:      011062 car_scale_process_conn_next:
+0x365c 011063 arg 0 ,rega 
+0x365d 011064 branch ui_led_on_global 
+:      011065 car_pairing_led_conn_status_setting:
+0x365e 011066 arg 0 ,rega 
+0x365f 011067 branch ui_led_blink_stop_global 
+:      011069 car_scale_event_le_discon:
+0x3660 011070 setarg rx_24g 
+0x3661 011071 call g24_store_mem_24g_mode 
+:      011072 car_g24_disconnect:
+0x3662 011073 setarg 0 
+0x3663 011074 store 5 ,mem_car_led_control 
+0x3664 011075 setarg 4 
+0x3665 011076 call pwm_disable 
+0x3666 011077 setarg 5 
+0x3667 011078 call pwm_disable 
+0x3668 011079 setarg 20 
+0x3669 011080 call pwm_disable 
+0x366a 011081 setarg 21 
+0x366b 011082 call pwm_disable 
+0x366c 011083 setarg 22 
+0x366d 011084 call pwm_disable 
+0x366e 011085 setarg 7 
+0x366f 011086 call pwm_disable 
+0x3670 011087 call queue_init 
+0x3671 011088 jam 10 ,mem_motor1_speed 
+0x3672 011089 jam 10 ,mem_motor2_speed 
+0x3673 011090 jam 10 ,mem_motor3_speed 
+0x3674 011092 jam 2 ,mem_lpm_mult 
+0x3675 011093 arg 0 ,rega 
+0x3676 011094 call ui_led_blink_start_global 
+0x3677 011096 setarg fast_adv_interval_value_car 
+0x3678 011097 call shutter_ble_adv_interval_set 
+0x3679 011098 branch app_ble_start_adv 
+:      011100 car_le_bb_event_timer:
+0x367a 011102 call car_moto1_blank_data_timer 
+0x367b 011103 call car_moto2_blank_data_timer 
+0x367c 011104 call car_moto3_blank_data_timer 
+0x367d 011105 call app_power_timer 
+0x367e 011106 call car_led_control_timer 
+0x367f 011107 call car_notify_vdd_timer 
+0x3680 011108 call car_24g_no_data_timeout_timer 
+0x3681 011109 call car_ir_breakdown_timer 
+0x3682 011110 branch car_attack_shake_timer 
+:      011112 car_ir_breakdown_timer:
+0x3683 011113 arg mem_car_ir_breakdown_check_timer ,regc 
+0x3684 011114 arg car_ir_breakdown_timeout ,regb 
+0x3685 011115 branch timer_single_step 
+:      011116 car_ir_breakdown_timeout:
+0x3686 011117 call car_ir_gpio_get_status 
+0x3687 011118 nrtn true 
+0x3688 011119 jam 1 ,mem_car_ir_breakdown_flag 
+0x3689 011120 rtn 
+:      011122 car_24g_no_data_timeout_timer:
+0x368a 011123 arg mem_car_24g_no_data_timeout_timer ,regc 
+0x368b 011124 arg car_24g_no_data_timer_timeout ,regb 
+0x368c 011125 branch timer_single_step_2b 
+:      011126 car_24g_no_data_timer_timeout:
+0x368d 011127 jam work_search ,mem_car_24g_status 
+0x368e 011128 branch car_g24_disconnect 
+:      011130 car_attack_shake_timer:
+0x368f 011131 arg mem_car_attack_shake_timer ,regc 
+0x3690 011132 arg car_attack_shake ,regb 
+0x3691 011133 branch timer_single_step 
+:      011134 car_attack_shake:
+0x3692 011135 fetch 1 ,mem_car_attack_shake_flag 
+0x3693 011136 branch car_attack_shake_stop ,blank 
+0x3694 011137 jam 2 ,mem_car_attack_shake_timer 
+0x3695 011138 jam 0 ,mem_car_attack_shake_flag 
+0x3696 011139 setarg 0x0a02 
+0x3697 011140 store 2 ,mem_le_receive_payload 
+0x3698 011141 fetch 1 ,mem_car_config_device_select 
+0x3699 011142 beq device_battle_tank ,car_attack_shake_front_battle_tank 
+:      011143 car_attack_shake_front_battle_car:
+0x369a 011144 branch car_motor_control 
+:      011145 car_attack_shake_front_battle_tank:
+0x369b 011146 setarg 0x0a02 
+0x369c 011147 store 2 ,mem_le_receive_payload + 2 
+0x369d 011148 branch car_motor_control 
+:      011149 car_attack_shake_stop:
+0x369e 011150 setarg 0 
+0x369f 011151 store 4 ,mem_le_receive_payload 
+0x36a0 011152 branch car_motor_control 
+:      011154 car_notify_vdd_timer:
+0x36a1 011155 fetch 1 ,mem_car_config_bat_notify_enable 
+0x36a2 011156 rtn blank 
+0x36a3 011157 fetch 2 ,mem_ui_state_map 
+0x36a4 011158 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+0x36a5 011159 arg mem_car_notify_vdd_timer ,regc 
+0x36a6 011160 arg car_notify_vdd ,regb 
+0x36a7 011161 branch timer_single_step 
+:      011162 car_notify_vdd:
+0x36a8 011163 fetch 1 ,mem_car_notify_vdd_count 
+0x36a9 011164 store 1 ,mem_car_notify_vdd_timer 
+0x36aa 011165 fetch 1 ,mem_car_working_flag 
+0x36ab 011166 nrtn blank 
+:      011167 car_read_hvin:
+0x36ac 011168 call adc_set_mode 
+0x36ad 011169 call vdd_calculate_by_mode 
+0x36ae 011170 store 2 ,mem_vdd_now_vol 
+0x36af 011171 arg mem_vdd_calculate_set ,rega 
+0x36b0 011172 call adc_bat_percent_lowpower_out 
+0x36b1 011173 fetcht 1 ,mem_car_notify_vdd_value_last 
+0x36b2 011174 isub temp ,null 
+0x36b3 011175 branch car_notify_vdd_next2 ,positive 
+0x36b4 011176 store 1 ,mem_car_notify_vdd_value_last 
+0x36b5 011177 copy pdata ,temp 
+:      011178 car_notify_vdd_next2:
+0x36b6 011179 storet 1 ,mem_car_notify_vdd_percent 
+0x36b7 011180 fetch 1 ,mem_car_config_low_voltage_percent 
+0x36b8 011181 isub temp ,null 
+0x36b9 011182 call car_enter_low_bat ,positive 
+0x36ba 011183 storet 1 ,mem_notify_bat_payload 
+0x36bb 011184 arg 6 ,loopcnt 
+0x36bc 011185 arg mem_notify_bat_head ,contr 
+0x36bd 011186 call calc_check_sum_start 
+0x36be 011187 store 1 ,mem_notify_bat_check_sum 
+0x36bf 011188 arg mem_notify_bat_packet ,rega 
+0x36c0 011189 branch queue_push 
+:      011190 car_enter_low_bat:
+0x36c1 011191 fetch 1 ,mem_low_bat_flag 
+0x36c2 011192 nrtn blank 
+0x36c3 011193 jam 1 ,mem_low_bat_flag 
+0x36c4 011194 arg 1 ,rega 
+0x36c5 011195 branch ui_led_blink_start_global 
+:      011196 car_low_bat_led_off:
+0x36c6 011197 arg 1 ,rega 
+0x36c7 011198 branch ui_led_blink_stop_global 
+:      011200 car_led_control_timer:
+0x36c8 011201 arg mem_car_led_control_timer ,regc 
+0x36c9 011202 arg car_led_control ,regb 
+0x36ca 011203 branch timer_single_step 
+:      011204 car_led_control:
+0x36cb 011205 jam 5 ,mem_car_led_control_timer 
+0x36cc 011206 jam 0 ,mem_car_led_no 
+0x36cd 011207 fetch 1 ,mem_car_led_blink_status 
+0x36ce 011208 beq led_on ,car_led_control_blink_off 
+0x36cf 011209 beq led_off ,car_led_control_blink_on 
+:      011210 car_led_control_set:
+0x36d0 011211 arg mem_car_led_control ,contr 
+0x36d1 011212 copy contr ,rega 
+0x36d2 011213 arg 8 ,loopcnt 
+:      011214 car_led_control_timer_next:
+0x36d3 011215 copy rega ,contr 
+0x36d4 011216 ifetch 1 ,contr 
+0x36d5 011217 copy contr ,rega 
+0x36d6 011218 beq led_off ,car_led_control_off 
+0x36d7 011219 beq led_on ,car_led_control_on 
+0x36d8 011220 beq led_blink ,car_led_control_blink 
+:      011221 car_led_control_timer_next_2:
+0x36d9 011222 fetch 1 ,mem_car_led_no 
+0x36da 011223 increase 1 ,pdata 
+0x36db 011224 store 1 ,mem_car_led_no 
+0x36dc 011225 loop car_led_control_timer_next 
+0x36dd 011226 rtn 
+:      011227 car_led_switch:
+0x36de 011228 fetch 1 ,mem_car_led_no 
+0x36df 011229 arg mem_car_config_blood_led_gpio ,regb 
+0x36e0 011230 iadd regb ,regb 
+0x36e1 011231 ifetcht 1 ,regb 
+0x36e2 011232 rtn 
+:      011233 car_led_control_off:
+0x36e3 011234 call car_led_switch 
+0x36e4 011235 call gpio_out_inactive 
+0x36e5 011236 branch car_led_control_timer_next_2 
+:      011237 car_led_control_on:
+0x36e6 011238 call car_led_switch 
+0x36e7 011239 call gpio_out_active 
+0x36e8 011240 branch car_led_control_timer_next_2 
+:      011241 car_led_control_blink:
+0x36e9 011242 fetch 1 ,mem_car_led_blink_status 
+0x36ea 011243 beq led_on ,car_led_control_off 
+0x36eb 011244 branch car_led_control_on 
+:      011245 car_led_control_blink_on:
+0x36ec 011246 jam led_on ,mem_car_led_blink_status 
+0x36ed 011247 branch car_led_control_set 
+:      011248 car_led_control_blink_off:
+0x36ee 011249 jam led_off ,mem_car_led_blink_status 
+0x36ef 011250 branch car_led_control_set 
+:      011254 calc_check_sum_start:
+0x36f0 011255 arg 0 ,rega 
+:      011256 calc_check_sum_loop:
+0x36f1 011257 ifetch 1 ,contr 
+0x36f2 011258 iadd rega ,rega 
+0x36f3 011259 loop calc_check_sum_loop 
+:      011260 calc_check_sum_and:
+0x36f4 011261 and rega ,0xff ,pdata 
+0x36f5 011262 rtn 
+:      011264 car_le_receive_data:
+0x36f6 011265 fetch 1 ,mem_le_att_opcode 
+0x36f7 011266 beq attop_write_request ,car_le_parse_att_write_request 
+0x36f8 011267 rtn 
+:      011268 car_le_parse_att_write_request:
+0x36f9 011269 fetch 2 ,mem_le_att_handle 
+0x36fa 011270 beq att_car_control_handle ,car_control_le_receive 
+0x36fb 011271 rtn 
+:      011283 le_app_receive_data:
+0x36fc 011284 bpatch patch1a_0 ,mem_patch1a 
+0x36fd 011285 ifetch 5 ,rega 
+0x36fe 011286 store 5 ,mem_app_receive_temp 
+0x36ff 011287 fetch 2 ,mem_app_receive_temp 
+0x3700 011288 arg le_receive_packet_head ,temp 
+0x3701 011289 isub temp ,null 
+0x3702 011290 nrtn zero 
+0x3703 011291 fetch 2 ,mem_app_receive_temp + 3 
+0x3704 011292 byteswap pdata ,pdata 
+0x3705 011293 store 2 ,mem_app_receive_temp + 3 
+0x3706 011294 copy pdata ,loopcnt 
+0x3707 011295 increase 5 ,rega 
+0x3708 011296 copy rega ,contr 
+0x3709 011297 arg mem_app_receive_temp + 5 ,contw 
+0x370a 011298 call memcpy 
+0x370b 011299 ifetch 1 ,contr 
+0x370c 011300 store 1 ,mem_app_receive_temp + 15 
+0x370d 011301 arg mem_app_receive_temp + 2 ,rega 
+0x370e 011302 arg mem_app_receive_temp + 5 ,regb 
+0x370f 011303 rtn 
+:      011305 car_control_le_receive:
+0x3710 011306 setarg 0 
+0x3711 011307 store 5 ,mem_le_receive_payload 
+0x3712 011308 store 5 ,mem_le_receive_payload + 5 
+0x3713 011309 call le_app_receive_data 
+0x3714 011310 copy regb ,contr 
+0x3715 011311 arg mem_le_receive_payload ,contw 
+0x3716 011312 arg 10 ,loopcnt 
+0x3717 011313 call memcpy 
+:      011314 car_receive_cmd_select:
+0x3718 011315 bpatch patch1a_1 ,mem_patch1a 
+0x3719 011316 ifetch 1 ,rega 
+0x371a 011317 beq car_cmd_old_car_control ,car_drive_old 
+0x371b 011318 beq car_cmd_old_speed_control ,car_speed_set_old 
+0x371c 011319 beq car_cmd_l_r_motor_control ,car_motor_control 
+0x371d 011320 beq car_cmd_f_b_motor_control ,car_motor_control 
+0x371e 011321 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+0x371f 011322 beq car_cmd_led_control ,car_led_control_receive 
+0x3720 011323 beq car_cmd_device_info ,car_info_request 
+0x3721 011324 rtn 
+:      011326 car_24g_receive_data:
+0x3722 011327 fetch 2 ,mem_ui_state_map 
+0x3723 011328 rtnbit1 ui_state_ble_connected 
+0x3724 011330 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3725 011331 store 2 ,mem_car_24g_no_data_timeout_timer 
+0x3726 011333 jam work_paired ,mem_car_24g_received_pac 
+0x3727 011335 setarg offset_24g_rxdata_temp_add3 
+0x3728 011336 call g24_set_rega 
+0x3729 011337 call car_control_le_receive 
+0x372a 011339 fetch 1 ,mem_app_receive_temp + 2 
+0x372b 011340 beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+0x372c 011341 beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+0x372d 011342 rtn 
+:      011343 car_24g_receive_data_next:
+0x372e 011344 fetch 1 ,mem_le_receive_payload 
+0x372f 011345 ncall car_moto1_enable_blank_data_timer ,blank 
+0x3730 011346 fetch 1 ,mem_le_receive_payload + 2 
+0x3731 011347 ncall car_moto2_enable_blank_data_timer ,blank 
+0x3732 011348 fetch 1 ,mem_le_receive_payload + 4 
+0x3733 011349 ncall car_moto3_enable_blank_data_timer ,blank 
+0x3734 011350 rtn 
+:      011352 car_moto1_enable_blank_data_timer:
+0x3735 011353 jam 5 ,mem_car_moto1_blank_timer 
+0x3736 011354 rtn 
+:      011355 car_moto2_enable_blank_data_timer:
+0x3737 011356 jam 5 ,mem_car_moto2_blank_timer 
+0x3738 011357 rtn 
+:      011358 car_moto3_enable_blank_data_timer:
+0x3739 011359 jam 5 ,mem_car_moto3_blank_timer 
+0x373a 011360 rtn 
+:      011362 car_moto1_blank_data_timer:
+0x373b 011363 arg mem_car_moto1_blank_timer ,regc 
+0x373c 011364 arg car_moto1_blank_data ,regb 
+0x373d 011365 branch timer_single_step 
+:      011366 car_moto2_blank_data_timer:
+0x373e 011367 arg mem_car_moto2_blank_timer ,regc 
+0x373f 011368 arg car_moto2_blank_data ,regb 
+0x3740 011369 branch timer_single_step 
+:      011370 car_moto3_blank_data_timer:
+0x3741 011371 arg mem_car_moto3_blank_timer ,regc 
+0x3742 011372 arg car_moto3_blank_data ,regb 
+0x3743 011373 branch timer_single_step 
+:      011375 car_moto1_blank_data:
+0x3744 011376 jam 0 ,mem_le_receive_payload 
+0x3745 011377 branch car_motor_control 
+:      011378 car_moto2_blank_data:
+0x3746 011379 jam 0 ,mem_le_receive_payload + 2 
+0x3747 011380 branch car_motor_control 
+:      011381 car_moto3_blank_data:
+0x3748 011382 jam 0 ,mem_le_receive_payload + 4 
+0x3749 011383 branch car_motor_control 
+:      011388 car_drive_old:
+0x374a 011389 call car_left_right_control_old 
+0x374b 011390 branch car_front_back_control_old 
+:      011391 car_left_right_control_old:
+0x374c 011392 fetch 1 ,mem_le_receive_payload 
+0x374d 011393 store 1 ,mem_motor2_status 
+0x374e 011394 branch car_motor2_control 
+:      011395 car_front_back_control_old:
+0x374f 011396 fetch 1 ,mem_motor1_speed 
+0x3750 011397 call car_reset_old_speed 
+0x3751 011398 fetch 1 ,mem_le_receive_payload + 1 
+0x3752 011399 store 1 ,mem_motor1_status 
+0x3753 011400 branch car_motor1_control 
+:      011401 car_reset_old_speed:
+0x3754 011402 beq speed_level_2 ,car_reset_old_speed2 
+0x3755 011403 beq speed_level_3 ,car_reset_old_speed3 
+0x3756 011404 store 1 ,mem_motor1_speed 
+0x3757 011405 rtn 
+:      011406 car_reset_old_speed2:
+0x3758 011407 jam speed_level_5 ,mem_motor1_speed 
+0x3759 011408 rtn 
+:      011409 car_reset_old_speed3:
+0x375a 011410 jam speed_level_10 ,mem_motor1_speed 
+0x375b 011411 rtn 
+:      011412 car_speed_set_old:
+0x375c 011413 fetch 1 ,mem_le_receive_payload 
+0x375d 011414 call car_reset_old_speed 
+0x375e 011415 fetch 1 ,mem_motor1_speed 
+0x375f 011416 call car_motor_speed_duty_setting 
+0x3760 011417 call car_motor_speed_duty_transform 
+0x3761 011418 branch pwm_pwm0_duty_set 
+:      011420 car_motor_control:
+0x3762 011421 fetch 1 ,mem_car_24g_go_die_flag 
+0x3763 011422 nrtn blank 
+0x3764 011423 fetch 6 ,mem_le_receive_payload 
+0x3765 011424 store 6 ,mem_motor1_status 
+0x3766 011425 fetch 1 ,mem_motor1_speed 
+0x3767 011426 fetcht 1 ,mem_motor2_speed 
+0x3768 011427 iand temp ,pdata 
+0x3769 011428 fetcht 1 ,mem_motor3_speed 
+0x376a 011429 iand temp ,pdata 
+0x376b 011430 call car_motor_working_flag ,blank 
+0x376c 011431 bpatch patch1a_2 ,mem_patch1a 
+0x376d 011432 call car_motor1_control 
+0x376e 011433 call car_motor2_control 
+0x376f 011434 branch car_motor3_control 
+:      011435 car_motor1_control:
+0x3770 011436 arg mem_motor1_pwm_set ,regb 
+0x3771 011437 arg mem_motor1_status ,contr 
+0x3772 011438 branch car_motor_status_select 
+:      011439 car_motor2_control:
+0x3773 011440 arg mem_motor2_pwm_set ,regb 
+0x3774 011441 arg mem_motor2_status ,contr 
+0x3775 011442 branch car_motor_status_select 
+:      011443 car_motor3_control:
+0x3776 011444 arg mem_motor3_pwm_set ,regb 
+0x3777 011445 arg mem_motor3_status ,contr 
+0x3778 011446 branch car_motor_status_select 
+:      011447 car_motor_working_flag:
+0x3779 011448 jam 0 ,mem_car_working_flag 
+0x377a 011449 rtn 
+:      011451 car_motor_status_select:
+0x377b 011452 ifetch 1 ,contr 
+0x377c 011453 beq motor_stop ,car_motor_stop 
+0x377d 011454 beq go_front ,car_motor_positive 
+0x377e 011455 beq go_back ,car_motor_negative 
+0x377f 011456 rtn 
+:      011457 car_motor_positive:
+0x3780 011458 jam 0 ,mem_motor_select_p_n 
+0x3781 011459 branch car_motor_negative + 1 
+:      011460 car_motor_negative:
+0x3782 011461 jam 1 ,mem_motor_select_p_n 
+0x3783 011462 ifetch 1 ,contr 
+0x3784 011463 store 1 ,mem_car_motor_speed 
+0x3785 011464 ifetch 8 ,regb 
+0x3786 011465 branch car_motor_work 
+:      011467 car_motor_stop:
+0x3787 011468 ifetch 1 ,regb 
+0x3788 011469 call pwm_disable 
+0x3789 011470 increase 1 ,regb 
+0x378a 011471 ifetch 1 ,regb 
+0x378b 011472 branch pwm_disable 
+:      011473 car_motor_work:
+0x378c 011474 store 8 ,mem_motor_pwm_pin1_set 
+0x378d 011475 jam 1 ,mem_car_working_flag 
+0x378e 011476 fetch 1 ,mem_motor_select_p_n 
+0x378f 011477 beq 0 ,car_motor_select_positive 
+:      011478 car_motor_select_negative:
+0x3790 011479 fetch 1 ,mem_motor_pwm_pin2_set 
+0x3791 011480 store 1 ,mem_motor_pwm_pin_set 
+0x3792 011481 fetch 1 ,mem_motor_pwm_pin1_set 
+:      011482 car_motor_work_next:
+0x3793 011483 call pwm_disable 
+0x3794 011484 fetch 1 ,mem_car_motor_speed 
+0x3795 011485 call car_motor_speed_duty_setting 
+0x3796 011486 store 1 ,mem_motor_pwm_dute_set 
+0x3797 011487 fetch 6 ,mem_motor_pwm_pin_set 
+0x3798 011488 store 6 ,mem_pdatatemp 
+0x3799 011489 branch pwm_out_set 
+:      011490 car_motor_select_positive:
+0x379a 011491 fetch 1 ,mem_motor_pwm_pin1_set 
+0x379b 011492 store 1 ,mem_motor_pwm_pin_set 
+0x379c 011493 fetch 1 ,mem_motor_pwm_pin2_set 
+0x379d 011494 branch car_motor_work_next 
+:      011496 car_motor_speed_duty_setting:
+0x379e 011497 mul32 pdata ,5 ,pdata 
+0x379f 011498 add pdata ,50 ,pdata 
+0x37a0 011499 rtn 
+:      011500 car_motor_speed_duty_transform:
+0x37a1 011501 arg 12000 ,temp 
+0x37a2 011502 imul32 temp ,pdata 
+0x37a3 011503 div pdata ,100 
+0x37a4 011504 call wait_div_end 
+0x37a5 011505 quotient temp 
+0x37a6 011506 copy temp ,rega 
+0x37a7 011507 setarg 12000 
+0x37a8 011508 isub temp ,regb 
+0x37a9 011509 rtn 
+:      011512 car_ir_init:
+0x37aa 011513 hfetch 1 ,core_gpio_sel2 
+0x37ab 011514 set1 2 ,pdata 
+0x37ac 011515 hstore 1 ,core_gpio_sel2 
+0x37ad 011516 setarg 158 
+0x37ae 011517 hstore 2 ,core_pwm_pcnt4 
+0x37af 011518 hstore 2 ,core_pwm_ncnt4 
+0x37b0 011519 rtn 
+:      011521 car_ir_data_rx_from_app:
+0x37b1 011522 fetch 1 ,mem_car_24g_go_die_flag 
+0x37b2 011523 nrtn blank 
+0x37b3 011524 fetch 2 ,mem_le_receive_payload 
+0x37b4 011525 store 2 ,mem_ir_data 
+0x37b5 011526 fetch 1 ,mem_car_24g_status 
+0x37b6 011527 bne work_paired ,car_ir_data_tx 
+0x37b7 011528 fetch 2 ,mem_le_lap 
+0x37b8 011529 store 2 ,mem_ir_data 
+:      011530 car_ir_data_tx:
+0x37b9 011531 bpatch patch1a_3 ,mem_patch1a 
+0x37ba 011532 call car_ir_init 
+0x37bb 011533 call car_ir_enable 
+0x37bc 011534 setarg 48000 
+0x37bd 011535 call sleep 
+0x37be 011536 call car_ir_disable 
+0x37bf 011537 setarg 7200 
+0x37c0 011538 call sleep 
+0x37c1 011539 arg 16 ,loopcnt 
+:      011540 car_ir_send_loop:
+0x37c2 011541 call car_ir_enable 
+0x37c3 011542 fetch 2 ,mem_ir_data 
+0x37c4 011543 bbit1 0 ,car_ir_is_bit1 
+0x37c5 011544 setarg 7200 
+0x37c6 011545 call sleep 
+0x37c7 011546 call car_ir_disable 
+0x37c8 011547 branch car_ir_wait_finish 
+:      011549 car_ir_is_bit1:
+0x37c9 011550 setarg 14400 
+0x37ca 011551 call sleep 
+0x37cb 011552 call car_ir_disable 
+:      011553 car_ir_wait_finish:
+0x37cc 011554 setarg 7200 
+0x37cd 011555 call sleep 
+0x37ce 011556 fetch 2 ,mem_ir_data 
+0x37cf 011557 rshift pdata ,pdata 
+0x37d0 011558 store 2 ,mem_ir_data 
+0x37d1 011559 loop car_ir_send_loop 
+0x37d2 011561 jam 2 ,mem_car_attack_shake_timer 
+0x37d3 011562 jam 1 ,mem_car_attack_shake_flag 
+0x37d4 011563 setarg 0x0a01 
+0x37d5 011564 store 2 ,mem_le_receive_payload 
+0x37d6 011565 fetch 1 ,mem_car_config_device_select 
+0x37d7 011566 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+:      011567 car_attack_shake_back_battle_car:
+0x37d8 011568 branch car_motor_control 
+:      011569 car_attack_shake_back_battle_tank:
+0x37d9 011570 setarg 0x0a01 
+0x37da 011571 store 2 ,mem_le_receive_payload + 2 
+0x37db 011572 branch car_motor_control 
+:      011574 car_ir_enable:
+0x37dc 011575 hfetch 1 ,core_gpio_key2 
+0x37dd 011576 or_into 0x40 ,pdata 
+0x37de 011577 hstore 1 ,core_gpio_key2 
+0x37df 011578 rtn 
+:      011579 car_ir_disable:
+0x37e0 011580 hfetch 1 ,core_gpio_key2 
+0x37e1 011581 and_into 0xbf ,pdata 
+0x37e2 011582 hstore 1 ,core_gpio_key2 
+0x37e3 011583 rtn 
+:      011585 car_ir_rx_init:
+0x37e4 011586 fetch 1 ,mem_car_config_ir_enable 
+0x37e5 011587 rtneq 0x00 
+0x37e6 011588 call lpm_disable_exen_output 
+0x37e7 011589 fetcht 1 ,mem_car_config_ir_rx_gpio 
+0x37e8 011590 storet 1 ,mem_ir_rx_gpio 
+0x37e9 011591 call gpio_config_input 
+0x37ea 011592 call car_ir_gpio_get_status 
+0x37eb 011593 nrtn true 
+0x37ec 011594 jam 1 ,mem_car_ir_breakdown_check_timer 
+0x37ed 011595 rtn 
+:      011597 car_ir_receive_process:
+0x37ee 011598 fetch 1 ,mem_car_config_ir_enable 
+0x37ef 011599 rtneq flag_ir_disable 
+0x37f0 011600 fetch 1 ,mem_car_ir_breakdown_flag 
+0x37f1 011601 nrtn blank 
+0x37f2 011602 fetch 2 ,mem_ui_state_map 
+0x37f3 011603 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+0x37f4 011604 fetch 1 ,mem_car_24g_status 
+0x37f5 011605 rtnne work_paired 
+:      011606 car_ir_receive_process_next:
+0x37f6 011607 bpatch patch1a_4 ,mem_patch1a 
+0x37f7 011608 call car_ir_gpio_get_status 
+0x37f8 011609 nrtn true 
+0x37f9 011610 setarg 36000 
+0x37fa 011611 call sleep 
+0x37fb 011612 call car_ir_gpio_get_status 
+0x37fc 011613 nrtn true 
+0x37fd 011614 call car_ir_clk_get 
+:      011615 car_ir_packet_head_wait_end:
+0x37fe 011616 call car_ir_clk_check 
+0x37ff 011617 nrtn positive 
+0x3800 011618 call car_ir_gpio_get_status 
+0x3801 011619 branch car_ir_packet_head_wait_end ,true 
+0x3802 011620 arg 0 ,rega 
+0x3803 011621 arg 16 ,loopcnt 
+0x3804 011622 call car_ir_clk_get 
+:      011623 car_ir_receive_process_loop:
+0x3805 011624 call car_ir_clk_check 
+0x3806 011625 nrtn positive 
+0x3807 011626 call car_ir_gpio_get_status 
+0x3808 011627 nbranch car_ir_receive_process_loop ,true 
+0x3809 011628 setarg 10800 
+0x380a 011629 call sleep 
+0x380b 011630 call car_ir_gpio_get_status 
+0x380c 011631 branch car_ir_get_bit1 ,true 
+:      011632 car_ir_get_bit0:
+0x380d 011633 setarg 0 
+0x380e 011634 rshift rega ,rega 
+0x380f 011635 ior rega ,rega 
+0x3810 011636 loop car_ir_receive_process_loop 
+0x3811 011637 branch car_ir_receive_process_end 
+:      011638 car_ir_get_bit1:
+0x3812 011639 setarg 0x8000 
+0x3813 011640 rshift rega ,rega 
+0x3814 011641 ior rega ,rega 
+0x3815 011642 call car_ir_clk_get 
+:      011643 car_ir_get_bit1_wait_low_end:
+0x3816 011644 call car_ir_clk_check 
+0x3817 011645 nrtn positive 
+0x3818 011646 call car_ir_gpio_get_status 
+0x3819 011647 branch car_ir_get_bit1_wait_low_end ,true 
+0x381a 011648 loop car_ir_receive_process_loop 
+:      011649 car_ir_receive_process_end:
+0x381b 011650 bpatch patch1a_5 ,mem_patch1a 
+0x381c 011651 copy rega ,pdata 
+0x381d 011652 store 2 ,mem_ir_rx_buf 
+0x381e 011653 store 2 ,mem_ir_notify_data + 8 
+0x381f 011654 fetch 1 ,mem_car_24g_status 
+0x3820 011655 beq work_paired ,car_ir_24g_receive_attack 
+:      011656 car_ir_data_notify:
+0x3821 011657 arg 0x07 ,loopcnt 
+0x3822 011658 arg mem_ir_notify_data_head ,contr 
+0x3823 011659 call calc_check_sum_start 
+0x3824 011660 store 1 ,mem_ir_notify_data_check_sum 
+0x3825 011661 arg mem_ir_notify_data ,rega 
+0x3826 011662 branch queue_push 
+:      011664 car_ir_24g_receive_attack:
+0x3827 011665 fetch 1 ,mem_car_24g_ir_receive_attack_count 
+0x3828 011666 increase 1 ,pdata 
+0x3829 011667 store 1 ,mem_car_24g_ir_receive_attack_count 
+0x382a 011668 div pdata ,2 
+0x382b 011669 call wait_div_end 
+0x382c 011670 quotient temp 
+0x382d 011671 remainder pdata 
+0x382e 011672 nbranch car_ir_24g_receive_attack_blink ,blank 
+:      011673 car_ir_24g_receive_attack_off:
+0x382f 011674 fetch 1 ,mem_car_config_led_num 
+0x3830 011675 isub temp ,null 
+0x3831 011676 call car_ir_24g_go_die ,zero 
+0x3832 011677 arg mem_car_led_control ,pdata 
+0x3833 011678 increase -1 ,temp 
+0x3834 011679 iadd temp ,rega 
+0x3835 011680 arg 0 ,pdata 
+0x3836 011681 istore 1 ,rega 
+0x3837 011682 rtn 
+:      011683 car_ir_24g_receive_attack_blink:
+0x3838 011684 arg mem_car_led_control ,pdata 
+0x3839 011685 iadd temp ,rega 
+0x383a 011686 arg 2 ,pdata 
+0x383b 011687 istore 1 ,rega 
+0x383c 011688 rtn 
+:      011689 car_ir_24g_go_die:
+0x383d 011690 jam 1 ,mem_car_24g_go_die_flag 
+0x383e 011691 rtn 
+:      011692 car_ir_clk_get:
+0x383f 011693 copy clkn_bt ,pdata 
+0x3840 011694 store 4 ,mem_ir_receive_clkn 
+0x3841 011695 rtn 
+:      011696 car_ir_clk_check:
+0x3842 011697 copy clkn_bt ,pdata 
+0x3843 011698 fetcht 4 ,mem_ir_receive_clkn 
+0x3844 011699 isub temp ,pdata 
+0x3845 011700 sub pdata ,200 ,null 
+0x3846 011701 rtn 
+:      011703 car_ir_gpio_get_status:
+0x3847 011704 fetcht 1 ,mem_ir_rx_gpio 
+0x3848 011705 branch gpio_get_bit 
+:      011707 car_led_control_receive:
+0x3849 011708 fetch 8 ,mem_le_receive_payload 
+0x384a 011709 store 8 ,mem_car_led_control 
+0x384b 011710 rtn 
+:      011712 car_info_request:
+0x384c 011713 fetch 1 ,mem_car_config_device_select 
+0x384d 011714 store 1 ,mem_car_info_request_payload 
+0x384e 011715 fetch 1 ,mem_car_config_motor_layout 
+0x384f 011716 store 1 ,mem_car_info_request_payload + 1 
+0x3850 011717 fetch 1 ,mem_car_config_ir_enable 
+0x3851 011718 store 1 ,mem_car_info_request_payload + 2 
+0x3852 011719 arg 13 ,loopcnt 
+0x3853 011720 arg mem_car_info_request_head ,contr 
+0x3854 011721 call calc_check_sum_start 
+0x3855 011722 store 1 ,mem_car_info_request_checksum 
+0x3856 011723 arg mem_car_info_request ,rega 
+0x3857 011724 branch queue_push 
+:      011730 light_init:
+0x3858 011731 call clear_eeprom_size_2k 
+0x3859 011732 jam 0x7a ,mem_curr_packet_num 
+0x385a 011733 call light_load_controler_list 
+0x385b 011734 call light_init_crr_cmd_count 
+0x385c 011735 setarg light_pairing_timer 
+0x385d 011736 store 2 ,mem_cb_event_timer 
+0x385e 011737 arg 0 ,rega 
+0x385f 011738 branch pwm_init 
+:      011740 light_pairing_timer:
+0x3860 011741 fetch 2 ,mem_light_pairing_timer 
+0x3861 011742 rtn blank 
+0x3862 011743 increase -1 ,pdata 
+0x3863 011744 store 2 ,mem_light_pairing_timer 
+0x3864 011745 rtnne 0 
+0x3865 011746 jam 0 ,mem_light_pairing_enable 
+0x3866 011747 rtn 
+:      011749 light_init_crr_cmd_count:
+0x3867 011750 bpatch patch1a_6 ,mem_patch1a 
+0x3868 011751 fetch 1 ,mem_light_next_record 
+0x3869 011752 sub pdata ,40 ,null 
+0x386a 011753 rtn positive 
+0x386b 011754 jam 0 ,mem_light_next_record 
+0x386c 011755 rtn 
+:      011757 light_load_controler_list:
+0x386d 011758 arg mem_light_next_record ,rega 
+0x386e 011759 arg 0 ,regb 
+0x386f 011760 arg 81 ,temp 
+0x3870 011761 branch iicd_read_eep_data 
+:      011764 light_find_controler_pairing:
+0x3871 011765 disable user 
+0x3872 011766 fetch 1 ,mem_light_cnum 
+0x3873 011767 copy pdata ,loopcnt 
+0x3874 011769 arg mem_light_clist ,rega 
+0x3875 011770 copy regc ,regb 
+:      011771 light_find_controler_pairing_loop:
+0x3876 011772 bpatch patch1a_7 ,mem_patch1a 
+0x3877 011773 call light_compare_addr_record 
+0x3878 011774 branch enable_user ,zero 
+:      011775 light_find_single_pairing_diff:
+0x3879 011776 increase 4 ,rega 
+0x387a 011777 loop light_find_controler_pairing_loop 
+0x387b 011778 rtn 
+:      011781 light_compare_addr_record:
+0x387c 011782 bpatch patch1b_0 ,mem_patch1b 
+0x387d 011783 ifetch 3 ,rega 
+0x387e 011784 ifetcht 3 ,regb 
+0x387f 011785 isub temp ,null 
+0x3880 011786 rtn 
+:      011788 light_compare_single_record:
+0x3881 011789 bpatch patch1b_1 ,mem_patch1b 
+0x3882 011790 ifetch 3 ,rega 
+0x3883 011791 ifetcht 3 ,regb 
+0x3884 011792 isub temp ,null 
+0x3885 011793 nrtn zero 
+0x3886 011794 ifetch 1 ,contr 
+0x3887 011795 sub pdata ,0 ,null 
+0x3888 011796 rtn zero 
+0x3889 011797 add rega ,3 ,contr 
+0x388a 011798 ifetcht 1 ,contr 
+0x388b 011799 isub temp ,null 
+0x388c 011800 rtn 
+:      011803 light_find_controler_cmd:
+0x388d 011804 bpatch patch1b_2 ,mem_patch1b 
+0x388e 011805 disable user 
+0x388f 011806 fetch 1 ,mem_light_cnum 
+0x3890 011807 copy pdata ,loopcnt 
+0x3891 011809 arg mem_light_clist ,rega 
+0x3892 011810 copy regc ,regb 
+:      011811 light_find_controler_cmd_loop:
+0x3893 011812 call light_compare_single_record 
+0x3894 011813 branch enable_user ,zero 
+0x3895 011814 increase 4 ,rega 
+0x3896 011815 loop light_find_controler_cmd_loop 
+0x3897 011816 rtn 
+:      011819 light_recv_adv:
+0x3898 011820 fetch 1 ,mem_le_scanrsp_rcv 
+0x3899 011821 increase 1 ,pdata 
+0x389a 011822 store 1 ,mem_le_scanrsp_rcv 
+0x389b 011823 arg mem_le_rxbuf + 12 ,regc 
+:      011825 light_anylize_command:
+0x389c 011826 ifetch 2 ,regc 
+0x389d 011827 arg 0x55aa ,temp 
+0x389e 011828 isub temp ,null 
+0x389f 011829 nrtn zero 
+0x38a0 011830 copy contr ,regc 
+0x38a1 011831 ifetcht 3 ,regc 
+0x38a2 011832 setarg 0xffffff 
+0x38a3 011833 isub temp ,null 
+0x38a4 011834 branch light_parse_cmd ,zero 
+0x38a5 011835 call light_find_controler_cmd 
+0x38a6 011836 branch light_parse_cmd ,user 
+0x38a7 011837 rtn 
+:      011839 light_parse_cmd:
+0x38a8 011840 bpatch patch1b_3 ,mem_patch1b 
+0x38a9 011841 increase 4 ,regc 
+0x38aa 011842 ifetch 1 ,regc 
+0x38ab 011843 fetcht 1 ,mem_curr_packet_num 
+0x38ac 011844 isub temp ,null 
+0x38ad 011845 rtn zero 
+0x38ae 011846 store 1 ,mem_curr_packet_num 
+0x38af 011847 fetch 1 ,mem_le_req_rcv 
+0x38b0 011848 increase 1 ,pdata 
+0x38b1 011849 store 1 ,mem_le_req_rcv 
+0x38b2 011851 increase 1 ,regc 
+0x38b3 011852 ifetch 1 ,regc 
+0x38b4 011853 store 1 ,mem_light_crr_cmd_count 
+0x38b5 011854 copy pdata ,loopcnt 
+0x38b6 011855 rtn blank 
+:      011856 light_parse_cmd_loop:
+0x38b7 011857 ifetch 1 ,contr 
+0x38b8 011858 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+0x38b9 011859 beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+0x38ba 011860 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+0x38bb 011861 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+0x38bc 011862 beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+0x38bd 011863 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+0x38be 011864 beq light_cmd_auto_mode ,light_parse_auto_mode 
+0x38bf 011865 beq light_cmd_pairing ,light_parse_pairing 
+0x38c0 011866 loop light_parse_cmd_loop 
+0x38c1 011867 rtn 
+:      011869 light_parse_cmd_pwm0:
+0x38c2 011870 copy contr ,regc 
+0x38c3 011871 fetch 1 ,mem_light_pwm0 
+0x38c4 011872 store 1 ,mem_pdatatemp 
+0x38c5 011873 arg 0 ,temp 
+:      011874 light_parse_cmd_pwm_common:
+0x38c6 011875 storet 1 ,mem_pdatatemp + 1 
+0x38c7 011876 setarg 10000 
+0x38c8 011877 store 3 ,mem_pdatatemp + 2 
+0x38c9 011878 ifetch 1 ,regc 
+0x38ca 011879 store 1 ,mem_pdatatemp + 5 
+0x38cb 011880 call pwm_out_set 
+0x38cc 011881 and regc ,1 ,contr 
+0x38cd 011882 loop light_parse_cmd_loop 
+0x38ce 011883 rtn 
+:      011884 light_parse_cmd_pwm1:
+0x38cf 011885 copy regc ,contr 
+0x38d0 011886 fetch 1 ,mem_light_pwm1 
+0x38d1 011887 store 1 ,mem_pdatatemp 
+0x38d2 011888 arg 1 ,temp 
+0x38d3 011889 branch light_parse_cmd_pwm_common 
+:      011890 light_parse_cmd_pwm2:
+0x38d4 011891 copy regc ,contr 
+0x38d5 011892 fetch 1 ,mem_light_pwm2 
+0x38d6 011893 store 1 ,mem_pdatatemp 
+0x38d7 011894 arg 2 ,temp 
+0x38d8 011895 branch light_parse_cmd_pwm_common 
+:      011896 light_parse_cmd_pwm3:
+0x38d9 011897 copy regc ,contr 
+0x38da 011898 fetch 1 ,mem_light_pwm3 
+0x38db 011899 store 1 ,mem_pdatatemp 
+0x38dc 011900 arg 3 ,temp 
+0x38dd 011901 branch light_parse_cmd_pwm_common 
+:      011902 light_parse_cmd_pwm4:
+0x38de 011903 copy regc ,contr 
+0x38df 011904 fetch 1 ,mem_light_pwm4 
+0x38e0 011905 store 1 ,mem_pdatatemp 
+0x38e1 011906 arg 4 ,temp 
+0x38e2 011907 branch light_parse_cmd_pwm_common 
+:      011908 light_parse_cmd_pwm5:
+0x38e3 011909 copy regc ,contr 
+0x38e4 011910 fetch 1 ,mem_light_pwm5 
+0x38e5 011911 store 1 ,mem_pdatatemp 
+0x38e6 011912 arg 5 ,temp 
+0x38e7 011913 branch light_parse_cmd_pwm_common 
+:      011915 light_parse_auto_mode:
+0x38e8 011916 ifetch 1 ,contr 
+0x38e9 011917 rtn 
+:      011919 light_parse_pairing:
+0x38ea 011920 copy contr ,regc 
+0x38eb 011921 fetch 1 ,mem_light_pairing_enable 
+0x38ec 011922 bne 1 ,light_parse_pairing_abandon 
+0x38ed 011923 call update_controler_list 
+:      011924 light_parse_pairing_abandon:
+0x38ee 011925 and regc ,4 ,contr 
+0x38ef 011926 rtn 
+:      011927 update_controler_list:
+0x38f0 011928 bpatch patch1b_4 ,mem_patch1b 
+0x38f1 011929 call light_find_controler_pairing 
+0x38f2 011930 branch update_conrtoler_list_found ,user 
+0x38f3 011931 fetch 1 ,mem_light_next_record 
+0x38f4 011932 copy pdata ,temp 
+0x38f5 011933 increase 1 ,pdata 
+0x38f6 011934 store 1 ,mem_light_next_record 
+0x38f7 011935 call light_init_crr_cmd_count 
+0x38f8 011936 lshift2 temp ,temp 
+0x38f9 011937 setarg mem_light_clist 
+0x38fa 011938 iadd temp ,contw 
+0x38fb 011939 ifetch 4 ,regc 
+0x38fc 011940 istore 4 ,contw 
+0x38fd 011941 branch update_conrtoler_store_list 
+:      011942 update_conrtoler_list_found:
+0x38fe 011943 add regc ,3 ,contr 
+0x38ff 011944 ifetch 1 ,contr 
+0x3900 011945 rtn blank 
+0x3901 011946 ifetch 4 ,regc 
+0x3902 011947 istore 4 ,rega 
+:      011948 update_conrtoler_store_list:
+0x3903 011949 arg mem_light_next_record ,rega 
+0x3904 011950 arg 0 ,regb 
+0x3905 011951 arg 81 ,temp 
+0x3906 011952 branch iicd_write_eep_data 
+:      011956 lightc_init:
+0x3907 011960 fetcht 1 ,mem_lightc_led_gpio 
+0x3908 011961 call gpio_out_inactive 
+0x3909 011962 rtn 
+:      011965 lightc_dispatch:
+0x390a 011968 fetcht 1 ,mem_lightc_led_gpio 
+0x390b 011969 call gpio_out_active 
+0x390c 011972 fetcht 1 ,mem_lightc_led_gpio 
+0x390d 011973 call gpio_out_inactive 
+0x390e 011976 call lightc_start_adv 
+0x390f 011978 fetch 1 ,mem_adv_time 
+0x3910 011979 nrtn blank 
+0x3911 011981 call lpm_write_gpio_wakeup 
+0x3912 011982 hfetch 4 ,core_lpm_ctrl 
+0x3913 011983 set0 15 ,pdata 
+0x3914 011984 hstore 4 ,core_lpm_reg 
+0x3915 011985 call lpm_write_ctrl 
+0x3916 011986 arg param_hibernate_clks ,temp 
+0x3917 011987 branch lpm_sleep 
+:      011989 lightc_adv:
+0x3918 011990 fetch 1 ,mem_adv_time 
+0x3919 011991 branch le_adv_loop_tx ,blank 
+0x391a 011992 increase -1 ,pdata 
+0x391b 011993 store 1 ,mem_adv_time 
+0x391c 011994 branch le_adv_loop_tx 
+:      011996 lightc_start_adv:
+0x391d 011997 mul32 pdata ,20 ,pdata 
+0x391e 011998 arg mem_cmd0_string ,contr 
+0x391f 011999 iadd contr ,contr 
+0x3920 012000 ifetch 1 ,contr 
+0x3921 012001 rtn blank 
+0x3922 012002 copy pdata ,rega 
+0x3923 012003 copy rega ,loopcnt 
+0x3924 012004 arg mem_le_adv_data + 2 ,contw 
+0x3925 012005 call memcpy 
+0x3926 012006 copy rega ,pdata 
+0x3927 012007 increase 2 ,pdata 
+0x3928 012008 store 1 ,mem_le_adv_data_len 
+0x3929 012009 rtn 
+:      012016 module_init:
+0x392a 012018 rtn wake 
+0x392b 012019 call le_modified_name 
+0x392c 012020 call adc_init_data 
+0x392d 012021 setarg module_process_idle 
+0x392e 012022 store 2 ,mem_cb_idle_process 
+0x392f 012023 setarg module_bt_conn_process 
+0x3930 012024 store 2 ,mem_cb_bt_process 
+0x3931 012025 setarg module_process_bb_event 
+0x3932 012026 store 2 ,mem_cb_bb_event_process 
+0x3933 012027 setarg module_le_conn_process 
+0x3934 012028 store 2 ,mem_cb_le_process 
+0x3935 012029 setarg module_lpm_lock 
+0x3936 012030 store 2 ,mem_cb_check_wakelock 
+0x3937 012031 setarg module_hci_cmd_transmit_le_notify 
+0x3938 012032 store 2 ,mem_cb_ble_transmit 
+0x3939 012033 setarg module_hci_event_receive_spp_data 
+0x393a 012034 store 2 ,mem_cb_receive_spp_data 
+0x393b 012035 setarg module_le_receive_data 
+0x393c 012036 store 2 ,mem_cb_att_write 
+0x393d 012037 setarg module_bb_event_timer 
+0x393e 012038 store 2 ,mem_cb_event_timer 
+0x393f 012040 call module_spp_clear_last_transmite_clock 
+0x3940 012041 bpatch patch1b_5 ,mem_patch1b 
+0x3941 012042 call module_lpm_uart_init 
+0x3942 012043 call module_gpio_init 
+0x3943 012044 call check_module_disabled 
+0x3944 012045 branch module_hci_event_enter_standby_mode 
+:      012048 module_lpm_uart_init:
+0x3945 012049 fetch 4 ,mem_module_uart_rx_buffer 
+0x3946 012050 hstore 4 ,core_uart_rsaddr 
+0x3947 012052 fetch 4 ,mem_module_uart_tx_buffer 
+0x3948 012053 hstore 4 ,core_uart_tsaddr 
+0x3949 012055 hfetch 1 ,core_gpio_sel1 
+0x394a 012056 or_into 0x04 ,pdata 
+0x394b 012057 and_into 0xfc ,pdata 
+0x394c 012058 hstore 1 ,core_gpio_sel1 
+0x394d 012059 jam 0x00 ,core_uart_ctrl 
+0x394e 012061 fetch 2 ,mem_module_uart_rx_buffer 
+0x394f 012062 hstore 2 ,core_uart_rrptr 
+0x3950 012063 fetch 2 ,mem_module_uart_tx_buffer 
+0x3951 012064 hstore 2 ,core_uart_twptr 
+0x3952 012065 hstore 2 ,core_uart_trptrp 
+0x3953 012067 hfetch 4 ,core_gpio_pu0 
+0x3954 012068 set1 7 ,pdata 
+0x3955 012069 hstore 4 ,core_gpio_pu0 
+0x3956 012071 hfetch 2 ,core_clkoff 
+0x3957 012072 set0 clock_off_uart ,pdata 
+0x3958 012073 hstore 2 ,core_clkoff 
+0x3959 012074 call uart_set_baud_by_mem 
+0x395a 012075 jam uartclk_crystal ,core_uart_clksel 
+0x395b 012076 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x395c 012078 fetch 1 ,mem_module_flag 
+0x395d 012079 isolate1 module_flag_uart_flow_control ,pdata 
+0x395e 012080 hfetcht 1 ,core_uart_ctrl 
+0x395f 012081 setflag true ,4 ,temp 
+0x3960 012082 hstoret 1 ,core_uart_ctrl 
+0x3961 012083 rtn 
+:      012087 module_lpm_init:
+0x3962 012088 call module_spp_clear_last_transmite_clock 
+0x3963 012089 branch module_lpm_uart_init 
+:      012092 module_gpio_init:
+0x3964 012097 fetcht 1 ,mem_module_connect_state_gpio 
+0x3965 012098 call gpio_config_output 
+0x3966 012099 call module_set_conn_pin_low 
+0x3967 012101 fetcht 1 ,mem_module_wake_up_gpio 
+0x3968 012102 branch gpio_config_input 
+:      012104 module_lpm_lock:
+0x3969 012105 fetcht 1 ,mem_module_wake_up_gpio 
+0x396a 012106 call gpio_get_bit 
+0x396b 012107 nbranch app_put_lpm_wake_lock ,true 
+0x396c 012108 branch app_get_lpm_wake_lock 
+:      012111 module_le_conn_process:
+0x396d 012112 rtn 
+:      012114 module_bt_conn_process:
+0x396e 012115 call module_spp_enter_sniff 
+0x396f 012116 branch module_control_air_flow 
+:      012118 module_spp_enter_sniff:
+0x3970 012119 fetch 1 ,mem_ui_state_map 
+0x3971 012120 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x3972 012121 bpatch patch1b_6 ,mem_patch1b 
+0x3973 012122 setarg 0x3eff 
+0x3974 012123 fetcht 4 ,mem_last_transmite_clock 
+0x3975 012124 iadd temp ,temp 
+0x3976 012125 copy clkn_bt ,pdata 
+0x3977 012126 isub temp ,null 
+0x3978 012127 nrtn positive 
+0x3979 012128 fetch 2 ,mem_ui_state_map 
+0x397a 012129 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x397b 012130 fetch 1 ,mem_module_flag 
+0x397c 012131 rtnbit1 moudle_task_sniff 
+0x397d 012132 call module_set_sniff_task_flag 
+0x397e 012133 call app_bt_enter_sniff 
+:      012134 module_spp_clear_last_transmite_clock:
+0x397f 012135 copy clkn_bt ,pdata 
+0x3980 012136 store 4 ,mem_last_transmite_clock 
+0x3981 012137 rtn 
+:      012140 module_process_idle:
+0x3982 012141 call module_control_air_flow 
+0x3983 012142 call l2cap_malloc_is_fifo_full 
+0x3984 012143 nrtn blank 
+0x3985 012144 branch module_process 
+:      012147 module_process_bb_event:
+0x3986 012148 copy regc ,pdata 
+0x3987 012149 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x3988 012150 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x3989 012151 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x398a 012152 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x398b 012153 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x398c 012154 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x398d 012155 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x398e 012156 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x398f 012157 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x3990 012158 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x3991 012159 beq bt_evt_le_connected ,module_process_le_conn 
+0x3992 012160 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x3993 012161 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x3994 012162 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x3995 012163 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x3996 012164 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x3997 012165 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x3998 012166 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x3999 012167 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x399a 012168 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x399b 012169 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x399c 012170 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x399d 012171 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x399e 012172 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x399f 012173 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x39a0 012174 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x39a1 012175 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x39a2 012176 rtn 
+:      012179 module_process_bb_event_disconned:
+0x39a3 012180 call module_spp_clear_last_transmite_clock 
+0x39a4 012181 fetch 1 ,mem_flag_pairing_state 
+0x39a5 012182 ncall module_hci_event_bt_pairing_fail ,blank 
+0x39a6 012183 call module_disconn_start 
+0x39a7 012184 fetch 2 ,mem_ui_state_map 
+0x39a8 012185 rtnbit0 ui_state_bt_spp_conn 
+0x39a9 012186 branch module_spp_disconnected 
+:      012188 module_process_spp_connected:
+0x39aa 012189 fetch 2 ,mem_ui_state_map 
+0x39ab 012190 set1 ui_state_bt_spp_conn ,pdata 
+0x39ac 012191 store 2 ,mem_ui_state_map 
+0x39ad 012192 fetch 1 ,mem_module_spp_lpm_mult 
+0x39ae 012193 store 1 ,mem_lpm_mult 
+0x39af 012194 call module_set_conn_pin_low 
+0x39b0 012195 branch module_hci_event_spp_connect 
+:      012197 module_process_spp_disconnected:
+:      012199 module_spp_disconnected:
+0x39b1 012200 fetch 2 ,mem_ui_state_map 
+0x39b2 012201 rtnbit0 ui_state_bt_spp_conn 
+0x39b3 012202 set0 ui_state_bt_spp_conn ,pdata 
+0x39b4 012203 store 2 ,mem_ui_state_map 
+0x39b5 012204 branch module_hci_event_spp_disconnect 
+:      012207 module_process_enter_sniff:
+:      012209 module_sniff_param_check:
+0x39b6 012210 call module_spp_clear_last_transmite_clock 
+0x39b7 012213 fetch 2 ,mem_context + coffset_tsniff 
+0x39b8 012214 rshift pdata ,pdata 
+0x39b9 012215 fetcht 2 ,mem_sniff_param_interval 
+0x39ba 012216 isub temp ,null 
+0x39bb 012217 nbranch module_sniff_param_check_unsniff ,zero 
+0x39bc 012218 branch app_lpm_mult_enable 
+:      012219 module_sniff_param_check_unsniff:
+0x39bd 012220 fetch 1 ,mem_module_flag 
+0x39be 012221 rtnbit1 moudle_task_unsniff 
+0x39bf 012222 hfetch 2 ,core_uart_rxitems 
+0x39c0 012223 ncall module_set_unsniff_task_flag ,blank 
+0x39c1 012224 branch app_bt_sniff_exit 
+:      012226 module_process_exit_sniff:
+0x39c2 012227 call module_clear_sniff_task_flag 
+0x39c3 012228 branch app_lpm_mult_disable 
+:      012230 module_process_setup_complete:
+0x39c4 012231 call module_spp_clear_last_transmite_clock 
+0x39c5 012232 branch module_conn_start 
+:      012234 module_process_bb_even_le_disconn:
+0x39c6 012235 call le_clr_config_more_data 
+0x39c7 012236 call module_disconn_start 
+0x39c8 012237 branch module_hci_event_le_disconnect 
+:      012239 module_process_evt_pincode_req:
+0x39c9 012240 branch app_bt_set_pincode 
+:      012243 module_process_sniff_not_accept:
+0x39ca 012244 branch module_clear_sniff_task_flag 
+:      012247 module_process_unsniff_accept:
+0x39cb 012248 fetch 1 ,mem_module_flag 
+0x39cc 012249 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x39cd 012250 branch module_clear_unsniff_task_flag 
+:      012253 module_process_unsniff_not_accept:
+0x39ce 012254 branch module_clear_unsniff_task_flag 
+:      012257 module_process_le_conn:
+0x39cf 012258 call le_send_att_exchange_mtu_requset 
+0x39d0 012259 call module_conn_start 
+0x39d1 012260 fetch 1 ,mem_module_le_lpm_mult 
+0x39d2 012261 store 1 ,mem_lpm_mult 
+0x39d3 012262 branch module_hci_event_le_connect 
+:      012265 module_process_bb_conn:
+0x39d4 012266 jam 0 ,mem_flag_mode_ssp_pin 
+0x39d5 012267 call module_clear_sniff_task_flag 
+0x39d6 012268 branch module_clear_unsniff_task_flag 
+:      012270 module_process_page_time_out:
+:      012271 module_process_reconn_fail:
+:      012272 module_disconn_start:
+0x39d7 012273 call module_start_adv_discovery_by_command 
+0x39d8 012274 branch module_set_conn_pin_high 
+:      012277 module_process_ble_ltk_lost:
+0x39d9 012278 call le_send_reject_ind 
+0x39da 012279 branch le_send_smp_security_request 
+:      012282 module_set_conn_pin_high:
+0x39db 012283 fetcht 1 ,mem_module_connect_state_gpio 
+0x39dc 012284 branch gpio_out_active 
+:      012286 module_conn_start:
+0x39dd 012287 call module_stop_adv_discovery 
+0x39de 012288 branch module_set_conn_pin_low 
+:      012290 module_stop_adv_discovery:
+0x39df 012291 fetch 1 ,mem_module_state 
+0x39e0 012292 isolate1 moudle_state_bt_bit ,pdata 
+0x39e1 012293 call app_bt_stop_discovery ,true 
+0x39e2 012294 fetch 1 ,mem_module_state 
+0x39e3 012295 isolate1 moudle_state_ble_bit ,pdata 
+0x39e4 012296 call app_ble_stop_adv ,true 
+0x39e5 012297 rtn 
+:      012298 module_set_conn_pin_low:
+0x39e6 012299 fetcht 1 ,mem_module_connect_state_gpio 
+0x39e7 012300 branch gpio_out_inactive 
+:      012302 module_process_with_credit:
+0x39e8 012303 fetch 1 ,mem_credit_flag 
+0x39e9 012304 rtneq credit_disable 
+0x39ea 012305 branch rfcomm_send_uih_without_payload 
+:      012307 module_process:
+0x39eb 012308 hfetch 1 ,core_uart_status 
+0x39ec 012309 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+0x39ed 012310 call uartd_prepare_rx 
+0x39ee 012311 ifetch 1 ,contru 
+0x39ef 012312 bne 0x01 ,module_hci_in_excp 
+0x39f0 012313 hfetch 2 ,core_uart_rxitems 
+0x39f1 012314 sub pdata ,2 ,null 
+0x39f2 012315 rtn positive 
+0x39f3 012316 ifetch 1 ,contru 
+0x39f4 012317 store 1 ,mem_module_uart_opcode 
+0x39f5 012318 ifetcht 1 ,contru 
+0x39f6 012319 copy contru ,rega 
+0x39f7 012320 storet 1 ,mem_module_uart_len 
+0x39f8 012321 add temp ,3 ,temp 
+0x39f9 012322 hfetch 2 ,core_uart_rxitems 
+0x39fa 012323 isub temp ,temp 
+0x39fb 012324 nrtn positive 
+0x39fc 012325 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x39fd 012326 call module_hci_cmd_control 
+0x39fe 012327 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x39ff 012328 rtneq hci_not_discard_packet 
+0x3a00 012329 branch module_hci_dicard_packet 
+:      012331 module_hci_in_excp:
+0x3a01 012332 call delay_10ms 
+0x3a02 012333 call module_hci_event_invalid_packet 
+0x3a03 012334 branch module_hci_release_except 
+:      012337 module_hci_release_except:
+0x3a04 012338 bpatch patch1b_7 ,mem_patch1b 
+0x3a05 012339 hfetch 2 ,core_uart_rxitems 
+0x3a06 012340 rtn blank 
+0x3a07 012341 call uartd_prepare_rx 
+0x3a08 012342 ifetch 1 ,contru 
+0x3a09 012343 sub pdata ,0x01 ,null 
+0x3a0a 012344 ncall module_hci_dicard_bytes ,zero 
+0x3a0b 012345 nbranch module_hci_release_except ,zero 
+0x3a0c 012346 ifetch 1 ,contru 
+0x3a0d 012347 rtneq hci_cmd_spp_data_req 
+0x3a0e 012348 rtneq hci_cmd_set_credit_given 
+0x3a0f 012349 increase -1 ,contru 
+0x3a10 012350 call module_hci_dicard_bytes 
+0x3a11 012351 branch module_hci_release_except 
+:      012353 module_hci_dicard_packet:
+0x3a12 012354 call uartd_prepare_rx 
+0x3a13 012355 increase 2 ,contru 
+0x3a14 012356 ifetch 1 ,contru 
+0x3a15 012357 iadd contru ,contru 
+:      012358 module_hci_dicard_bytes:
+0x3a16 012359 branch uartd_rxdone 
+:      012362 module_hci_cmd_control:
+0x3a17 012363 bpatch patch1c_0 ,mem_patch1c 
+0x3a18 012364 fetch 1 ,mem_module_uart_opcode 
+0x3a19 012365 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x3a1a 012366 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x3a1b 012367 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x3a1c 012368 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x3a1d 012369 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x3a1e 012370 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x3a1f 012371 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x3a20 012372 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x3a21 012373 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x3a22 012374 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x3a23 012375 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+0x3a24 012376 beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+0x3a25 012377 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x3a26 012378 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x3a27 012379 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x3a28 012380 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x3a29 012381 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x3a2a 012382 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x3a2b 012383 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x3a2c 012384 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+0x3a2d 012385 beq hci_cmd_power_set ,module_hci_cmd_power_set 
+0x3a2e 012386 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x3a2f 012387 beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+0x3a30 012388 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+0x3a31 012389 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x3a32 012390 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x3a33 012391 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x3a34 012392 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x3a35 012393 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x3a36 012394 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x3a37 012395 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0x3a38 012396 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x3a39 012397 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x3a3a 012398 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x3a3b 012399 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x3a3c 012400 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x3a3d 012401 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x3a3e 012402 branch module_hci_event_receive_invalid_cmd 
+:      012407 module_hci_cmd_set_bt_addr:
+0x3a3f 012408 fetch 1 ,mem_module_uart_len 
+0x3a40 012409 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a41 012410 ifetch 6 ,contru 
+0x3a42 012411 store 6 ,mem_lap 
+0x3a43 012412 branch module_hci_event_receive_valid_cmd 
+:      012415 module_hci_cmd_set_le_addr:
+0x3a44 012416 fetch 1 ,mem_module_uart_len 
+0x3a45 012417 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a46 012418 ifetch 6 ,contru 
+0x3a47 012419 store 6 ,mem_le_lap 
+0x3a48 012420 branch module_hci_event_receive_valid_cmd 
+:      012424 module_hci_cmd_set_visibility:
+0x3a49 012425 fetch 1 ,mem_module_uart_len 
+0x3a4a 012426 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3a4b 012427 copy rega ,contru 
+0x3a4c 012428 call module_hci_event_receive_valid_cmd 
+0x3a4d 012429 ifetcht 1 ,contru 
+0x3a4e 012430 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a4f 012431 fetch 2 ,mem_ui_state_map 
+0x3a50 012432 rtnbit1 ui_state_ble_connected 
+0x3a51 012433 rtnbit1 ui_state_bt_connected 
+:      012434 module_start_adv_discovery_by_command:
+0x3a52 012435 fetch 1 ,mem_module_state 
+0x3a53 012436 isolate1 moudle_state_bt_bit ,pdata 
+0x3a54 012437 nbranch moudle_start_adv_by_command ,true 
+0x3a55 012438 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a56 012439 and temp ,0x03 ,pdata 
+0x3a57 012440 store 1 ,mem_scan_mode 
+:      012441 moudle_start_adv_by_command:
+0x3a58 012442 fetch 1 ,mem_module_state 
+0x3a59 012443 isolate1 moudle_state_ble_bit ,pdata 
+0x3a5a 012444 nrtn true 
+0x3a5b 012445 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a5c 012446 isolate1 2 ,temp 
+0x3a5d 012447 branch app_ble_start_adv ,true 
+0x3a5e 012448 branch app_ble_stop_adv 
+:      012452 module_hci_cmd_set_bt_name:
+0x3a5f 012453 fetch 1 ,mem_module_uart_len 
+0x3a60 012454 sub pdata ,67 ,null 
+0x3a61 012455 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a62 012456 store 1 ,mem_local_name_length 
+0x3a63 012457 arg 8 ,loopcnt 
+0x3a64 012458 call memset0 
+0x3a65 012459 fetch 1 ,mem_module_uart_len 
+0x3a66 012460 copy pdata ,loopcnt 
+0x3a67 012461 copy rega ,contru 
+0x3a68 012462 arg mem_local_name ,contw 
+0x3a69 012463 call uart_copy_rx_bytes_fast 
+0x3a6a 012464 branch module_hci_event_receive_valid_cmd 
+:      012468 module_hci_cmd_set_le_name:
+0x3a6b 012469 fetch 1 ,mem_module_uart_len 
+0x3a6c 012470 sub pdata ,29 ,null 
+0x3a6d 012471 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a6e 012472 store 1 ,mem_le_name_len 
+0x3a6f 012473 copy pdata ,loopcnt 
+0x3a70 012474 copy rega ,contru 
+0x3a71 012475 arg mem_le_name ,contw 
+0x3a72 012476 call uart_copy_rx_bytes_fast 
+0x3a73 012477 call le_modified_name 
+0x3a74 012478 branch module_hci_event_receive_valid_cmd 
+:      012482 module_hci_cmd_receive_spp_data:
+0x3a75 012483 fetch 1 ,mem_ui_state_map 
+0x3a76 012484 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x3a77 012485 call app_check_sniff 
+0x3a78 012486 branch module_hci_cmd_spp_exit_sniff ,true 
+0x3a79 012487 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a7a 012489 call module_spp_clear_last_transmite_clock 
+0x3a7b 012490 fetch 1 ,mem_remote_credits 
+0x3a7c 012491 rtn blank 
+0x3a7d 012492 fetch 2 ,mem_nl_rx_len_all 
+0x3a7e 012493 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x3a7f 012494 fetch 1 ,mem_module_uart_len 
+0x3a80 012495 store 2 ,mem_nl_rx_len_all 
+0x3a81 012497 copy rega ,contru 
+0x3a82 012500 copy contru ,pdata 
+0x3a83 012501 store 2 ,mem_nl_rx_data_src 
+:      012502 module_hci_cmd_pass_init_ng_rx_len_all:
+0x3a84 012503 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x3a85 012504 branch spp_tx_rfcomm_packet 
+:      012506 module_hci_cmd_spp_exit_sniff:
+0x3a86 012507 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a87 012508 branch module_exit_sniff 
+:      012510 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x3a88 012511 call module_hci_cmd_get_current_patcket_len 
+0x3a89 012512 fetch 2 ,mem_nl_rx_len_all 
+0x3a8a 012513 fetcht 2 ,mem_current_packet_length 
+0x3a8b 012514 isub temp ,pdata 
+0x3a8c 012515 store 2 ,mem_nl_rx_len_all 
+0x3a8d 012516 rtn 
+:      012518 module_hci_cmd_get_current_patcket_len:
+0x3a8e 012519 fetch 2 ,mem_nl_rx_len_all 
+0x3a8f 012520 arg dm_refcom_buff_len ,temp 
+0x3a90 012521 call not_greater_than 
+0x3a91 012522 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x3a92 012523 call not_greater_than 
+0x3a93 012524 fetcht 2 ,mem_pn_max_frame_size 
+0x3a94 012525 call not_greater_than 
+0x3a95 012526 store 2 ,mem_current_packet_length 
+0x3a96 012527 rtn 
+:      012529 module_hci_command_tx_spp_tx_complete:
+0x3a97 012530 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a98 012531 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x3a99 012532 branch module_hci_event_receive_valid_cmd 
+:      012536 module_hci_cmd_receive_le_data:
+0x3a9a 012537 fetch 2 ,mem_ui_state_map 
+0x3a9b 012538 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3a9c 012539 call module_check_ble_encrypt_state 
+0x3a9d 012540 branch module_hci_event_receive_invalid_cmd ,user 
+0x3a9e 012541 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a9f 012542 fetch 1 ,mem_module_flag 
+0x3aa0 012543 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x3aa1 012544 fetch 1 ,mem_module_hci_notify_len 
+0x3aa2 012545 nrtn blank 
+0x3aa3 012546 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aa4 012547 ifetch 2 ,contru 
+0x3aa5 012548 store 2 ,mem_module_hci_notify_handle 
+0x3aa6 012549 copy contru ,pdata 
+0x3aa7 012550 store 2 ,mem_module_hci_nofiy_addr 
+0x3aa8 012551 fetch 1 ,mem_module_uart_len 
+0x3aa9 012552 pincrease -2 
+0x3aaa 012553 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aab 012554 branch module_hci_event_receive_invalid_cmd ,zero 
+0x3aac 012555 store 1 ,mem_module_hci_notify_len 
+0x3aad 012556 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aae 012557 call le_set_config_more_data 
+0x3aaf 012558 call module_hci_cmd_transmit_le_notify 
+0x3ab0 012559 call module_hci_cmd_transmit_le_notify 
+0x3ab1 012560 call module_hci_cmd_transmit_le_notify 
+0x3ab2 012561 fetch 1 ,mem_module_flag 
+0x3ab3 012562 rtnbit0 module_flag_ble_data_finish 
+:      012563 module_hci_cmd_receive_le_data_finish:
+0x3ab4 012564 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3ab5 012565 call module_clear_le_tx_data_flag 
+0x3ab6 012566 branch module_hci_event_receive_valid_cmd 
+:      012568 module_hci_cmd_transmit_le_notify:
+0x3ab7 012569 fetch 1 ,mem_module_hci_notify_len 
+0x3ab8 012570 rtn blank 
+0x3ab9 012571 call le_fifo_check_nearly_full 
+0x3aba 012572 nrtn blank 
+0x3abb 012573 call module_get_le_remote_mtu 
+0x3abc 012574 bpatch patch1c_1 ,mem_patch1c 
+0x3abd 012575 add temp ,-3 ,pdata 
+0x3abe 012576 fetcht 1 ,mem_module_hci_notify_len 
+0x3abf 012577 call not_greater_than 
+0x3ac0 012578 copy pdata ,rega 
+0x3ac1 012579 copy temp ,pdata 
+0x3ac2 012580 isub rega ,pdata 
+0x3ac3 012581 store 1 ,mem_module_hci_notify_len 
+0x3ac4 012582 fetcht 2 ,mem_module_hci_notify_handle 
+0x3ac5 012583 call le_att_malloc_tx_notify 
+0x3ac6 012584 fetch 2 ,mem_module_hci_nofiy_addr 
+0x3ac7 012585 copy pdata ,contru 
+0x3ac8 012586 copy rega ,loopcnt 
+0x3ac9 012587 call uart_copy_rx_bytes_fast 
+0x3aca 012588 copy contru ,pdata 
+0x3acb 012589 store 2 ,mem_module_hci_nofiy_addr 
+0x3acc 012590 fetch 1 ,mem_module_hci_notify_len 
+0x3acd 012591 nrtn blank 
+0x3ace 012592 branch module_set_le_tx_data_flag 
+:      012596 module_get_le_remote_mtu:
+0x3acf 012597 arg 0x17 ,temp 
+0x3ad0 012598 fetch 1 ,mem_module_flag 
+0x3ad1 012599 rtnbit1 module_flag_ble_send_mtu23 
+0x3ad2 012600 fetcht 2 ,mem_le_remote_mtu 
+0x3ad3 012601 rtn 
+:      012603 module_check_ble_encrypt_state:
+0x3ad4 012604 fetch 1 ,mem_module_flag 
+0x3ad5 012605 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x3ad6 012606 branch disable_user 
+:      012610 module_hci_cmd_inquire_status:
+0x3ad7 012611 branch module_hci_event_status_res 
+:      012615 module_hci_cmd_set_pairing_mode:
+0x3ad8 012616 copy rega ,contru 
+0x3ad9 012617 ifetch 1 ,contru 
+0x3ada 012618 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x3adb 012619 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x3adc 012620 beq pairing_passkey ,module_hci_pairing_passkey 
+0x3add 012621 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x3ade 012622 branch module_hci_event_receive_invalid_cmd 
+:      012623 module_hci_pairing_pincode_mode:
+0x3adf 012624 call ssp_disable 
+0x3ae0 012625 jam 0 ,mem_ssp_enable 
+0x3ae1 012626 branch module_hci_event_receive_valid_cmd 
+:      012627 module_hci_pairing_just_work_mode:
+0x3ae2 012628 setarg ssp_mode_just_work_io_cap_data 
+:      012629 module_hci_sspairing_mode:
+0x3ae3 012630 store 3 ,mem_sp_iocap_local 
+0x3ae4 012631 store 1 ,mem_ssp_mode_flag 
+0x3ae5 012632 call ssp_enable 
+0x3ae6 012633 jam 1 ,mem_ssp_enable 
+0x3ae7 012634 branch module_hci_event_receive_valid_cmd 
+:      012635 module_hci_pairing_passkey:
+0x3ae8 012636 setarg ssp_mode_passkey_io_cap_data 
+0x3ae9 012637 branch module_hci_sspairing_mode 
+:      012639 module_hci_pairing_numeric_comparison:
+0x3aea 012640 setarg ssp_mode_ssp_pin_io_cap_data 
+0x3aeb 012641 branch module_hci_sspairing_mode 
+:      012644 module_hci_cmd_set_pincode:
+0x3aec 012645 fetch 1 ,mem_module_uart_len 
+0x3aed 012646 sub pdata ,16 ,null 
+0x3aee 012647 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aef 012648 store 1 ,mem_pin_length 
+0x3af0 012649 copy pdata ,loopcnt 
+0x3af1 012650 arg mem_pin ,contw 
+0x3af2 012651 call uart_copy_rx_bytes 
+0x3af3 012652 branch module_hci_event_receive_valid_cmd 
+:      012656 module_hci_cmd_set_uart_control_mode:
+0x3af4 012657 copy rega ,contru 
+0x3af5 012658 ifetch 1 ,contru 
+0x3af6 012659 hfetcht 1 ,core_uart_ctrl 
+0x3af7 012660 nsetflag blank ,4 ,temp 
+0x3af8 012661 hstoret 1 ,core_uart_ctrl 
+0x3af9 012662 branch module_hci_event_receive_valid_cmd 
+:      012666 module_hci_cmd_set_uart_baud:
+0x3afa 012667 fetch 1 ,mem_module_uart_len 
+0x3afb 012668 copy pdata ,loopcnt 
+0x3afc 012669 copy rega ,contru 
+0x3afd 012670 call string2dec_from_uart 
+0x3afe 012671 setarg uart_clk_24 
+0x3aff 012672 idiv temp 
+0x3b00 012673 call wait_div_end 
+0x3b01 012674 quotient pdata 
+:      012675 module_hci_cmd_set_uart_baud_ok:
+0x3b02 012676 store uart_baud_len ,mem_baud 
+0x3b03 012677 call module_hci_event_receive_valid_cmd 
+0x3b04 012678 call wait_uarttx 
+0x3b05 012679 branch uart_set_baud_by_mem 
+:      012683 module_hci_cmd_version_request:
+0x3b06 012684 arg 2 ,rega 
+0x3b07 012685 arg mem_soft_version_num ,regb 
+0x3b08 012686 arg 0 ,temp 
+0x3b09 012687 branch module_hci_event_set_cmd 
+:      012688 module_hci_event_set_cmd_send_response:
+0x3b0a 012689 store 2 ,mem_event_cmd_response_content 
+0x3b0b 012690 arg mem_event_cmd_response_content ,regb 
+0x3b0c 012691 arg 0 ,temp 
+0x3b0d 012692 branch module_hci_event_set_cmd 
+:      012696 module_hci_cmd_bt_disconnect:
+0x3b0e 012697 fetch 2 ,mem_ui_state_map 
+0x3b0f 012698 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      012699 module_hci_cmd_bt_disconnect_doing:
+0x3b10 012700 call module_hci_event_receive_valid_cmd 
+0x3b11 012701 branch app_bt_disconnect 
+:      012705 module_hci_cmd_ble_disconnect:
+0x3b12 012706 fetch 2 ,mem_ui_state_map 
+0x3b13 012707 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      012708 module_hci_cmd_ble_disconnect_doing:
+0x3b14 012709 call module_hci_event_receive_valid_cmd 
+0x3b15 012710 branch app_ble_disconnect 
+:      012716 module_hci_cmd_set_nvram:
+0x3b16 012717 fetch 1 ,mem_module_uart_len 
+0x3b17 012718 copy pdata ,loopcnt 
+0x3b18 012719 copy rega ,contru 
+0x3b19 012720 fetch 2 ,mem_nv_data_ptr 
+0x3b1a 012721 icopy contw 
+0x3b1b 012722 call uart_copy_rx_bytes_fast 
+0x3b1c 012723 branch module_hci_event_receive_valid_cmd 
+:      012727 module_hci_cmd_confirm_gkey:
+0x3b1d 012728 fetch 1 ,mem_ui_state_map 
+0x3b1e 012729 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x3b1f 012730 ifetch 1 ,contru 
+0x3b20 012731 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x3b21 012732 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x3b22 012733 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x3b23 012734 storet 1 ,mem_flag_mode_ssp_pin 
+0x3b24 012736 call module_hci_event_receive_valid_cmd 
+0x3b25 012738 fetch 1 ,mem_flag_mode_ssp_pin 
+0x3b26 012739 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x3b27 012740 rtn 
+:      012742 dhkey_not_accept:
+0x3b28 012743 jam 0 ,mem_flag_mode_ssp_pin 
+0x3b29 012744 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x3b2a 012745 branch ui_ipc_send_cmd 
+:      012748 module_hci_cmd_spp_number_comparison_result_is1:
+0x3b2b 012749 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x3b2c 012750 branch dhkey_not_accept 
+:      012754 module_hci_cmd_set_credit_given:
+0x3b2d 012755 fetch 1 ,mem_ui_state_map 
+0x3b2e 012756 rtnbit0 ui_state_bt_spp_conn 
+0x3b2f 012757 fetch 1 ,mem_credit_flag 
+0x3b30 012758 rtneq credit_disable 
+0x3b31 012759 ifetch 1 ,contru 
+0x3b32 012760 fetcht 1 ,mem_credit_given 
+0x3b33 012761 iadd temp ,temp 
+0x3b34 012762 storet 1 ,mem_credit_given 
+0x3b35 012763 rtn 
+:      012767 module_hci_cmd_auto_adv:
+0x3b36 012768 arg 0x40 ,loopcnt 
+0x3b37 012769 arg mem_le_adv_data_len ,contw 
+0x3b38 012770 call clear_mem 
+0x3b39 012771 setarg 0 
+0x3b3a 012772 store 1 ,mem_regb 
+0x3b3b 012773 copy rega ,contru 
+:      012774 module_hci_cmd_auto_adv_loop:
+0x3b3c 012775 copy contru ,pdata 
+0x3b3d 012776 store 2 ,mem_regc 
+0x3b3e 012777 call module_hci_cmd_auto_adv_adv_analys 
+0x3b3f 012779 fetch 1 ,mem_regb 
+0x3b40 012780 fetcht 1 ,mem_temp 
+0x3b41 012781 increase 1 ,temp 
+0x3b42 012782 iadd temp ,pdata 
+0x3b43 012783 store 1 ,mem_regb 
+0x3b44 012785 sub pdata ,31 ,null 
+0x3b45 012786 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      012787 module_hci_cmd_auto_adv_store_adv:
+0x3b46 012788 fetcht 1 ,mem_le_adv_data_len 
+0x3b47 012789 setarg mem_le_adv_data 
+0x3b48 012790 iadd temp ,pdata 
+0x3b49 012791 store 2 ,mem_contw 
+0x3b4a 012792 fetcht 1 ,mem_temp 
+0x3b4b 012793 increase 1 ,temp 
+0x3b4c 012794 fetch 1 ,mem_le_adv_data_len 
+0x3b4d 012795 iadd temp ,pdata 
+0x3b4e 012796 store 1 ,mem_le_adv_data_len 
+0x3b4f 012797 branch module_hci_cmd_auto_adv_store_common 
+:      012798 module_hci_cmd_auto_adv_store_scan:
+0x3b50 012799 fetcht 1 ,mem_le_scan_data_len 
+0x3b51 012800 setarg mem_le_scan_data 
+0x3b52 012801 iadd temp ,pdata 
+0x3b53 012802 store 2 ,mem_contw 
+0x3b54 012803 fetcht 1 ,mem_temp 
+0x3b55 012804 increase 1 ,temp 
+0x3b56 012805 fetch 1 ,mem_le_scan_data_len 
+0x3b57 012806 iadd temp ,pdata 
+0x3b58 012807 store 1 ,mem_le_scan_data_len 
+:      012808 module_hci_cmd_auto_adv_store_common:
+0x3b59 012809 fetch 2 ,mem_contw 
+0x3b5a 012810 copy pdata ,contw 
+0x3b5b 012811 fetch 2 ,mem_regc 
+0x3b5c 012812 copy pdata ,contru 
+0x3b5d 012814 copy temp ,loopcnt 
+0x3b5e 012815 call uart_copy_rx_bytes_fast 
+0x3b5f 012817 fetch 1 ,mem_module_uart_len 
+0x3b60 012818 fetcht 1 ,mem_regb 
+0x3b61 012819 isub temp ,null 
+0x3b62 012820 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x3b63 012821 branch module_hci_event_receive_valid_cmd 
+:      012824 module_hci_cmd_auto_adv_adv_analys:
+0x3b64 012825 ifetch 1 ,contru 
+0x3b65 012826 store 1 ,mem_temp 
+0x3b66 012827 ifetch 1 ,contru 
+0x3b67 012828 store 1 ,mem_rega 
+0x3b68 012829 rtn 
+:      012833 module_hci_cmd_power_request:
+0x3b69 012834 arg 0 ,temp 
+0x3b6a 012835 arg 2 ,rega 
+0x3b6b 012836 fetch 2 ,mem_module_vdd_quotient 
+0x3b6c 012837 store 2 ,mem_event_cmd_response_content 
+0x3b6d 012838 arg mem_event_cmd_response_content ,regb 
+0x3b6e 012839 branch module_hci_event_set_cmd 
+:      012843 module_hci_cmd_power_set:
+0x3b6f 012844 fetch 1 ,mem_module_uart_len 
+0x3b70 012845 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b71 012846 ifetch 1 ,contru 
+0x3b72 012847 store 1 ,mem_module_read_vdd_flag 
+0x3b73 012848 setarg 0x00 
+0x3b74 012849 store 2 ,mem_module_vdd_quotient 
+0x3b75 012850 branch module_hci_event_receive_valid_cmd 
+:      012854 module_hci_cmd_passkey_entry:
+0x3b76 012855 ifetch 4 ,contru 
+0x3b77 012856 store 4 ,mem_pin 
+0x3b78 012857 jam 4 ,mem_pin_length 
+0x3b79 012858 jam 0 ,mem_authentication_passkey_times 
+0x3b7a 012859 call module_hci_event_receive_valid_cmd 
+0x3b7b 012860 branch authentication_passkey 
+:      012864 module_hci_cmd_set_gpio:
+0x3b7c 012865 fetch 1 ,mem_module_uart_len 
+0x3b7d 012866 bne 3 ,module_hci_event_receive_invalid_cmd 
+0x3b7e 012867 ifetch 1 ,contru 
+0x3b7f 012868 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+0x3b80 012869 beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+0x3b81 012870 branch module_hci_event_receive_invalid_cmd 
+:      012872 module_set_gpio_input:
+0x3b82 012873 ifetcht 1 ,contru 
+0x3b83 012874 ifetch 1 ,contru 
+0x3b84 012875 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+0x3b85 012876 nsetflag blank ,7 ,temp 
+0x3b86 012877 call gpio_config_input 
+0x3b87 012878 branch module_hci_event_receive_valid_cmd 
+:      012880 module_set_gpio_high_impedance:
+0x3b88 012881 call gpio_set_high_impedance 
+0x3b89 012882 branch module_hci_event_receive_valid_cmd 
+:      012884 module_set_gpio_output:
+0x3b8a 012885 ifetcht 1 ,contru 
+0x3b8b 012886 call gpio_config_output0 
+0x3b8c 012887 ifetch 1 ,contru 
+0x3b8d 012888 isolate1 0 ,pdata 
+0x3b8e 012889 call gpio_out_flag 
+0x3b8f 012890 branch module_hci_event_receive_valid_cmd 
+:      012894 module_hci_cmd_read_gpio:
+0x3b90 012895 fetch 1 ,mem_module_uart_len 
+0x3b91 012896 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b92 012897 ifetcht 1 ,contru 
+0x3b93 012898 call gpio_get_bit 
+0x3b94 012899 setarg 0x0 
+0x3b95 012900 nsetflag true ,0 ,pdata 
+0x3b96 012901 arg 1 ,rega 
+0x3b97 012902 branch module_hci_event_set_cmd_send_response 
+:      012906 module_hci_cmd_le_set_pairing_mode:
+0x3b98 012907 copy rega ,contru 
+0x3b99 012908 ifetch 1 ,contru 
+0x3b9a 012909 copy pdata ,temp 
+0x3b9b 012910 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x3b9c 012911 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x3b9d 012912 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x3b9e 012913 store 1 ,mem_le_pairing_mode 
+0x3b9f 012914 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x3ba0 012915 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x3ba1 012916 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x3ba2 012917 branch module_hci_event_receive_invalid_cmd 
+:      012919 module_le_set_pairing_mode_secure_justwork:
+0x3ba3 012920 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba4 012921 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3ba5 012922 storet 1 ,mem_le_pairing_mode 
+0x3ba6 012923 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3ba7 012924 branch module_le_set_noinputnooutput 
+:      012925 module_le_set_pairing_mode_secure_numeric:
+0x3ba8 012926 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba9 012927 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3baa 012928 storet 1 ,mem_le_pairing_mode 
+0x3bab 012929 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bac 012930 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x3bad 012931 branch module_hci_event_receive_valid_cmd 
+:      012932 module_le_set_pairing_mode_secure_passkey:
+0x3bae 012933 fetch 1 ,mem_le_secure_connect_enable 
+0x3baf 012934 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bb0 012935 storet 1 ,mem_le_pairing_mode 
+0x3bb1 012936 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bb2 012937 branch module_le_set_displayonly 
+:      012938 module_le_set_no_pairing:
+0x3bb3 012939 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      012940 module_le_set_noinputnooutput:
+0x3bb4 012941 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x3bb5 012942 branch module_hci_event_receive_valid_cmd 
+:      012943 module_le_set_pairing_mode_lagacy_just_work:
+0x3bb6 012944 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x3bb7 012945 branch module_le_set_noinputnooutput 
+:      012946 module_le_set_pairing_mode_lagacy_passkey:
+0x3bb8 012947 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      012948 module_le_set_displayonly:
+0x3bb9 012949 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x3bba 012950 branch module_hci_event_receive_valid_cmd 
+:      012954 module_hci_cmd_le_set_adv_data:
+0x3bbb 012955 fetch 1 ,mem_module_uart_len 
+0x3bbc 012956 sub pdata ,31 ,null 
+0x3bbd 012957 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bbe 012958 store 1 ,mem_le_adv_data_len 
+0x3bbf 012959 copy pdata ,loopcnt 
+0x3bc0 012960 copy rega ,contru 
+0x3bc1 012961 arg mem_le_adv_data ,contw 
+0x3bc2 012962 call uart_copy_rx_bytes_fast 
+0x3bc3 012963 branch module_hci_event_receive_valid_cmd 
+:      012967 module_hci_cmd_le_set_scan_data:
+0x3bc4 012968 fetch 1 ,mem_module_uart_len 
+0x3bc5 012969 sub pdata ,31 ,null 
+0x3bc6 012970 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bc7 012971 store 1 ,mem_le_scan_data_len 
+0x3bc8 012972 copy pdata ,loopcnt 
+0x3bc9 012973 copy rega ,contru 
+0x3bca 012974 arg mem_le_scan_data ,contw 
+0x3bcb 012975 call uart_copy_rx_bytes_fast 
+0x3bcc 012976 branch module_hci_event_receive_valid_cmd 
+:      012980 module_hci_cmd_le_send_conn_update_req:
+0x3bcd 012981 fetch 2 ,mem_ui_state_map 
+0x3bce 012982 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3bcf 012983 fetch 1 ,mem_module_uart_len 
+0x3bd0 012984 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x3bd1 012985 copy rega ,contru 
+0x3bd2 012986 ifetch 8 ,contru 
+0x3bd3 012987 store 8 ,mem_le_interval_min 
+0x3bd4 012988 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3bd5 012989 call ui_ipc_send_cmd 
+0x3bd6 012990 branch module_hci_event_receive_valid_cmd 
+:      012994 module_hci_cmd_set_le_adv_parameter:
+0x3bd7 012995 ifetch 2 ,contru 
+0x3bd8 012996 store 2 ,mem_le_adv_interval 
+0x3bd9 012997 branch module_hci_event_receive_valid_cmd 
+:      013001 module_hci_cmd_le_start_pairing:
+0x3bda 013002 fetch 1 ,mem_le_pairing_mode 
+0x3bdb 013003 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bdc 013004 fetch 1 ,mem_le_pairing_state 
+0x3bdd 013005 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x3bde 013006 fetch 1 ,mem_le_enc_state 
+0x3bdf 013007 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x3be0 013008 call check_51cmd_le_smp_sec_req 
+0x3be1 013009 branch module_hci_event_receive_valid_cmd 
+:      013013 module_hci_cmd_set_wake_gpio:
+0x3be2 013014 fetch 1 ,mem_module_uart_len 
+0x3be3 013015 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3be4 013016 ifetch 1 ,contru 
+0x3be5 013017 store 1 ,mem_module_mcu_wake_pin 
+0x3be6 013018 ifetch 4 ,contru 
+0x3be7 013019 store 4 ,mem_module_mcu_wake_delay_us 
+0x3be8 013020 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3be9 013021 call gpio_config_output 
+0x3bea 013022 call module_set_mcu_wake_pin_low 
+0x3beb 013023 branch module_hci_event_receive_valid_cmd 
+:      013027 module_hci_cmd_set_tx_power:
+0x3bec 013028 fetch 1 ,mem_module_uart_len 
+0x3bed 013029 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bee 013030 ifetch 1 ,contru 
+0x3bef 013031 store 1 ,mem_tx_power 
+0x3bf0 013032 branch module_hci_event_receive_valid_cmd 
+:      013036 module_hci_cmd_le_confirm_gkey:
+0x3bf1 013037 ifetch 1 ,contru 
+0x3bf2 013038 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x3bf3 013039 fetch 1 ,mem_le_secure_connect_state 
+0x3bf4 013040 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf5 013041 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf6 013042 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf7 013043 branch module_hci_event_receive_invalid_cmd 
+:      013044 module_hci_cmd_le_confirm_gkey_ok:
+0x3bf8 013045 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x3bf9 013046 branch module_hci_event_receive_valid_cmd 
+:      013048 module_hci_cmd_le_confirm_gkey_fail:
+0x3bfa 013049 call le_send_pairing_confirm_value_failed 
+0x3bfb 013050 branch module_hci_event_receive_valid_cmd 
+:      013054 module_hci_cmd_set_reject_justwork_flag:
+0x3bfc 013055 fetch 1 ,mem_module_uart_len 
+0x3bfd 013056 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bfe 013057 call module_hci_event_receive_valid_cmd 
+0x3bff 013058 ifetch 1 ,contru 
+0x3c00 013059 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x3c01 013060 branch classic_bt_set_reject_justwork_flag 
+:      013064 module_hci_cmd_reset_chip:
+0x3c02 013065 call module_hci_event_receive_valid_cmd 
+0x3c03 013066 call wait_uarttx 
+0x3c04 013067 jam 0x01 ,core_reset 
+0x3c05 013068 branch loop 
+:      013072 module_hci_cmd_le_set_fixed_passkey:
+0x3c06 013073 fetch 1 ,mem_module_uart_len 
+0x3c07 013074 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x3c08 013075 ifetch 1 ,contru 
+0x3c09 013076 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x3c0a 013077 fetch 1 ,mem_module_uart_len 
+0x3c0b 013078 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3c0c 013079 ifetch 4 ,contru 
+0x3c0d 013080 arg 1000000 ,temp 
+0x3c0e 013081 isub temp ,null 
+0x3c0f 013082 branch module_hci_event_receive_invalid_cmd ,positive 
+0x3c10 013083 store 4 ,mem_le_tk 
+0x3c11 013084 call le_set_config_fixed_tk 
+0x3c12 013085 branch module_hci_event_receive_valid_cmd 
+:      013087 module_hci_cmd_le_set_random_passkey:
+0x3c13 013088 call le_clr_config_fixed_tk 
+0x3c14 013089 branch module_hci_event_receive_valid_cmd 
+:      013093 module_hci_test_cmde_close_lpm:
+0x3c15 013094 jam 0 ,mem_lpm_mode 
+0x3c16 013095 branch module_hci_event_receive_valid_cmd 
+:      013100 module_hci_event_receive_invalid_cmd:
+0x3c17 013101 arg 1 ,temp 
+0x3c18 013102 arg 0 ,rega 
+0x3c19 013103 branch module_hci_event_set_cmd 
+:      013106 module_hci_event_receive_valid_cmd:
+0x3c1a 013107 arg 0 ,temp 
+0x3c1b 013108 arg 0 ,rega 
+0x3c1c 013109 branch module_hci_event_set_cmd 
+:      013113 module_hci_event_spp_connect:
+0x3c1d 013114 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x3c1e 013115 branch module_hci_event_enter_standby_mode_len0 
+:      013119 module_hci_event_le_connect:
+0x3c1f 013120 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x3c20 013121 branch module_hci_event_enter_standby_mode_len0 
+:      013125 module_hci_event_spp_disconnect:
+0x3c21 013126 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x3c22 013127 branch module_hci_event_enter_standby_mode_len0 
+:      013131 module_hci_event_le_disconnect:
+0x3c23 013132 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x3c24 013133 branch module_hci_event_enter_standby_mode_len0 
+:      013141 module_hci_event_set_cmd:
+0x3c25 013142 fetch 1 ,mem_module_uart_opcode 
+0x3c26 013143 copy pdata ,regc 
+0x3c27 013144 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x3c28 013145 setarg 2 
+0x3c29 013146 iadd rega ,pdata 
+0x3c2a 013147 call module_hci_prepare_tx 
+0x3c2b 013148 copy regc ,pdata 
+0x3c2c 013149 istore 1 ,contwu 
+0x3c2d 013150 istoret 1 ,contwu 
+0x3c2e 013151 copy rega ,loopcnt 
+0x3c2f 013152 copy regb ,contr 
+0x3c30 013153 call uart_copy_tx_bytes 
+0x3c31 013154 branch uartd_send 
+:      013158 module_hci_event_receive_spp_data:
+0x3c32 013160 call module_spp_clear_last_transmite_clock 
+0x3c33 013161 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x3c34 013162 fetch 1 ,mem_current_length 
+0x3c35 013163 rtn blank 
+0x3c36 013164 call module_hci_prepare_tx 
+0x3c37 013165 fetch 1 ,mem_current_length 
+0x3c38 013166 copy pdata ,loopcnt 
+0x3c39 013167 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3c3a 013168 copy pdata ,contr 
+0x3c3b 013169 call uart_copy_tx_bytes_fast 
+0x3c3c 013170 branch uartd_send 
+:      013174 module_hci_event_receive_le_data:
+0x3c3d 013175 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x3c3e 013176 fetch 1 ,mem_module_le_rx_data_len 
+0x3c3f 013177 icopy loopcnt 
+0x3c40 013178 increase 2 ,pdata 
+0x3c41 013179 call module_hci_prepare_tx 
+0x3c42 013180 fetch 2 ,mem_module_le_rx_data_handle 
+0x3c43 013181 istore 2 ,contwu 
+0x3c44 013182 fetch 2 ,mem_module_le_rx_data_address 
+0x3c45 013183 icopy contr 
+0x3c46 013184 call uart_copy_tx_bytes_fast 
+0x3c47 013185 branch uartd_send 
+:      013189 module_hci_event_enter_standby_mode:
+0x3c48 013190 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      013191 module_hci_event_enter_standby_mode_len0:
+0x3c49 013192 setarg 0 
+0x3c4a 013193 call module_hci_prepare_tx 
+0x3c4b 013194 branch uartd_send 
+:      013198 module_hci_event_status_res:
+0x3c4c 013199 jam hci_event_status_res ,mem_module_uart_opcode 
+0x3c4d 013200 setarg 1 
+0x3c4e 013201 call module_hci_prepare_tx 
+0x3c4f 013203 call module_hci_read_bt_status 
+0x3c50 013205 fetch 2 ,mem_ui_state_map 
+0x3c51 013206 arg ui_state_bt_hid_conn ,queue 
+0x3c52 013207 qisolate1 pdata 
+0x3c53 013208 setflag true ,3 ,temp 
+0x3c54 013210 arg ui_state_ble_connected ,queue 
+0x3c55 013211 qisolate1 pdata 
+0x3c56 013212 setflag true ,5 ,temp 
+0x3c57 013214 fetch 1 ,mem_ui_state_map 
+0x3c58 013215 arg ui_state_bt_spp_conn ,queue 
+0x3c59 013216 qisolate1 pdata 
+0x3c5a 013217 setflag true ,4 ,temp 
+0x3c5b 013219 istoret 1 ,contwu 
+0x3c5c 013220 branch uartd_send 
+:      013224 module_hci_read_bt_status:
+0x3c5d 013225 arg 0 ,temp 
+0x3c5e 013226 fetch 1 ,mem_scan_mode 
+0x3c5f 013227 arg inq_scan_mode ,queue 
+0x3c60 013228 qisolate1 pdata 
+0x3c61 013229 setflag true ,0 ,temp 
+0x3c62 013230 arg page_scan_mode ,queue 
+0x3c63 013231 qisolate1 pdata 
+0x3c64 013232 setflag true ,1 ,temp 
+0x3c65 013234 fetch 1 ,mem_le_adv_enable 
+0x3c66 013235 arg 0 ,queue 
+0x3c67 013236 qisolate1 pdata 
+0x3c68 013237 setflag true ,2 ,temp 
+0x3c69 013238 rtn 
+:      013242 module_hci_event_store_device:
+0x3c6a 013243 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x3c6b 013244 fetch 1 ,mem_nv_data_number 
+0x3c6c 013245 mul32 pdata ,34 ,pdata 
+0x3c6d 013246 icopy loopcnt 
+0x3c6e 013247 call module_hci_prepare_tx 
+0x3c6f 013248 fetch 2 ,mem_nv_data_ptr 
+0x3c70 013249 icopy contr 
+0x3c71 013250 call uart_copy_tx_bytes_fast 
+0x3c72 013251 branch uartd_send 
+:      013255 module_hci_event_gkey_generate:
+0x3c73 013256 jam hci_event_gkey ,mem_module_uart_opcode 
+0x3c74 013257 setarg 4 
+0x3c75 013258 call module_hci_prepare_tx 
+0x3c76 013259 fetch 4 ,mem_gkey 
+0x3c77 013260 istore 4 ,contwu 
+0x3c78 013261 branch uartd_send 
+:      013265 module_hci_event_invalid_packet:
+0x3c79 013266 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x3c7a 013267 hfetch 2 ,core_uart_rxitems 
+0x3c7b 013268 arg 0xff ,temp 
+0x3c7c 013269 call not_greater_than 
+0x3c7d 013270 copy pdata ,loopcnt 
+0x3c7e 013271 call module_hci_prepare_tx 
+0x3c7f 013272 call uartd_prepare_rx 
+0x3c80 013273 call uart_copy_rx2tx 
+0x3c81 013274 branch uartd_send 
+:      013278 module_hci_event_passkey_entry_mode:
+0x3c82 013279 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x3c83 013280 branch module_hci_event_enter_standby_mode_len0 
+:      013284 module_hci_event_le_tk:
+0x3c84 013285 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x3c85 013286 setarg 4 
+0x3c86 013287 call module_hci_prepare_tx 
+0x3c87 013288 fetch 4 ,mem_le_tk 
+0x3c88 013289 istore 4 ,contwu 
+0x3c89 013290 branch uartd_send 
+:      013294 module_hci_event_le_pairing_fail:
+0x3c8a 013295 arg flag_ble_pairing_fail ,rega 
+0x3c8b 013296 branch module_hci_event_pairing_completed 
+:      013298 module_hci_event_le_pairing_success:
+0x3c8c 013299 arg flag_ble_pairing_success ,rega 
+0x3c8d 013300 branch module_hci_event_pairing_completed 
+:      013302 module_hci_event_bt_pairing_fail:
+0x3c8e 013303 arg flag_bt_pairing_fail ,rega 
+0x3c8f 013304 branch module_hci_event_pairing_completed 
+:      013306 module_hci_event_bt_pairing_success:
+0x3c90 013307 arg flag_bt_pairing_success ,rega 
+:      013309 module_hci_event_pairing_completed:
+0x3c91 013310 jam 0 ,mem_flag_mode_ssp_pin 
+0x3c92 013311 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x3c93 013312 setarg 2 
+0x3c94 013313 call module_hci_prepare_tx 
+0x3c95 013314 copy rega ,pdata 
+0x3c96 013315 istore 2 ,contwu 
+0x3c97 013316 branch uartd_send 
+:      013320 module_hci_event_pause_enc:
+0x3c98 013321 arg flag_event_pause_enc ,regc 
+0x3c99 013322 branch module_hci_event_enc 
+:      013324 module_hci_event_start_enc:
+0x3c9a 013325 arg flag_event_start_enc ,regc 
+:      013327 module_hci_event_enc:
+0x3c9b 013328 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x3c9c 013329 setarg 1 
+0x3c9d 013330 call module_hci_prepare_tx 
+0x3c9e 013331 copy regc ,pdata 
+0x3c9f 013332 istore 1 ,contwu 
+0x3ca0 013333 branch uartd_send 
+:      013337 module_hci_event_le_gkey:
+0x3ca1 013338 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x3ca2 013339 setarg 4 
+0x3ca3 013340 call module_hci_prepare_tx 
+0x3ca4 013341 fetch 4 ,mem_gkey 
+0x3ca5 013342 istore 4 ,contwu 
+0x3ca6 013343 branch uartd_send 
+:      013354 module_hci_prepare_tx:
+0x3ca7 013355 jam 0x02 ,mem_module_uart_cmd 
+0x3ca8 013356 store 1 ,mem_module_uart_len 
+0x3ca9 013357 storet 8 ,mem_temp 
+0x3caa 013358 bpatch patch1c_2 ,mem_patch1c 
+0x3cab 013359 call module_set_mcu_wake_pin_high_delay 
+0x3cac 013360 fetcht 8 ,mem_temp 
+0x3cad 013361 call uartd_prepare_tx 
+0x3cae 013362 fetch 3 ,mem_module_uart_cmd 
+0x3caf 013363 istore 3 ,contwu 
+0x3cb0 013364 rtn 
+:      013367 module_set_mcu_wake_pin_high_delay:
+0x3cb1 013368 call module_check_mcu_wake_pin_high 
+0x3cb2 013369 rtn true 
+:      013370 module_set_mcu_wake_pin_h_delay:
+0x3cb3 013371 call module_set_mcu_wake_pin_high 
+0x3cb4 013372 fetch 4 ,mem_module_mcu_wake_delay_us 
+0x3cb5 013373 rshift2 pdata ,pdata 
+0x3cb6 013374 rtn blank 
+0x3cb7 013375 branch delay 
+:      013377 module_set_mcu_wake_pin_high:
+0x3cb8 013379 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cb9 013380 branch gpio_out_active 
+:      013382 module_check_mcu_wake_pin_high:
+0x3cba 013383 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbb 013384 branch gpio_check_active 
+:      013386 module_set_mcu_wake_pin_low:
+0x3cbc 013387 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbd 013388 branch gpio_out_inactive 
+:      013391 delay:
+0x3cbe 013392 increase -1 ,pdata 
+0x3cbf 013393 nop 38 
+0x3cc0 013394 nbranch delay ,blank 
+0x3cc1 013395 rtn 
+:      013404 module_le_receive_data:
+0x3cc2 013405 call module_check_ble_encrypt_state 
+0x3cc3 013406 rtn user 
+0x3cc4 013407 copy rega ,pdata 
+0x3cc5 013408 store 2 ,mem_module_le_rx_data_address 
+0x3cc6 013409 copy regb ,pdata 
+0x3cc7 013410 store 1 ,mem_module_le_rx_data_len 
+0x3cc8 013411 fetch 2 ,mem_le_att_handle 
+0x3cc9 013412 fetcht 2 ,mem_module_data_write_handle 
+0x3cca 013413 isub temp ,null 
+0x3ccb 013414 branch module_le_receive_data_ok ,zero 
+0x3ccc 013415 fetcht 2 ,mem_module_data_write_handle2 
+0x3ccd 013416 isub temp ,null 
+0x3cce 013417 nrtn zero 
+:      013418 module_le_receive_data_ok:
+0x3ccf 013419 store 2 ,mem_module_le_rx_data_handle 
+0x3cd0 013420 branch module_hci_event_receive_le_data 
+:      013425 module_exit_sniff:
+0x3cd1 013426 fetch 1 ,mem_module_flag 
+0x3cd2 013427 rtnbit1 moudle_task_unsniff 
+0x3cd3 013428 call module_set_unsniff_task_flag 
+0x3cd4 013429 branch app_bt_sniff_exit 
+:      013432 module_set_lpm_mult_2:
+0x3cd5 013433 jam 2 ,mem_lpm_mult 
+0x3cd6 013434 rtn 
+:      013438 module_bb_event_timer:
+0x3cd7 013439 branch module_read_vdd_timer 
+:      013441 module_read_vdd_timer:
+0x3cd8 013442 fetch 1 ,mem_module_read_vdd_flag 
+0x3cd9 013443 rtn blank 
+0x3cda 013444 fetch 1 ,mem_module_read_vdd_count 
+0x3cdb 013445 rtn blank 
+0x3cdc 013446 increase -1 ,pdata 
+0x3cdd 013447 store 1 ,mem_module_read_vdd_count 
+0x3cde 013448 nrtn blank 
+0x3cdf 013449 jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+0x3ce0 013450 call adc_set_mode 
+0x3ce1 013451 call vdd_calculate_by_mode 
+0x3ce2 013452 div pdata ,0x64 
+0x3ce3 013453 call wait_div_end 
+0x3ce4 013454 quotient pdata 
+0x3ce5 013455 remainder temp 
+0x3ce6 013456 store 1 ,mem_module_vdd_quotient 
+0x3ce7 013457 storet 1 ,mem_module_vdd_remainder 
+0x3ce8 013458 rtn 
+:      013461 module_control_air_flow:
+0x3ce9 013462 call check_uart_tx_buff 
+0x3cea 013463 branch app_l2cap_flow_control_enable ,positive 
+0x3ceb 013464 branch app_l2cap_flow_control_disable 
+:      013468 module_set_sniff_task_flag:
+0x3cec 013469 arg moudle_task_sniff ,queue 
+0x3ced 013470 branch module_set_state 
+:      013472 module_clear_sniff_task_flag:
+0x3cee 013473 arg moudle_task_sniff ,queue 
+0x3cef 013474 branch module_clr_state 
+:      013476 module_set_unsniff_task_flag:
+0x3cf0 013477 arg moudle_task_unsniff ,queue 
+0x3cf1 013478 branch module_set_state 
+:      013480 module_clear_unsniff_task_flag:
+0x3cf2 013481 arg moudle_task_unsniff ,queue 
+0x3cf3 013482 branch module_clr_state 
+:      013484 module_set_le_tx_data_flag:
+0x3cf4 013485 arg module_flag_ble_data_finish ,queue 
+0x3cf5 013486 branch module_set_state 
+:      013488 module_clear_le_tx_data_flag:
+0x3cf6 013489 arg module_flag_ble_data_finish ,queue 
+0x3cf7 013490 branch module_clr_state 
+:      013492 module_clr_state:
+0x3cf8 013493 fetch 1 ,mem_module_flag 
+0x3cf9 013494 qset0 pdata 
+0x3cfa 013495 store 1 ,mem_module_flag 
+0x3cfb 013496 rtn 
+:      013498 module_set_state:
+0x3cfc 013499 fetch 1 ,mem_module_flag 
+0x3cfd 013500 qset1 pdata 
+0x3cfe 013501 store 1 ,mem_module_flag 
+0x3cff 013502 rtn 
+:      013512 mouse_init:
+0x3d00 013513 call mouse_setting_config 
+0x3d01 013514 call spi_ncs_enable 
+0x3d02 013515 call mouse_init_sunt 
+0x3d03 013516 call mouse_dpi_config 
+0x3d04 013517 call spi_ncs_disable 
+0x3d05 013518 rtn wake 
+0x3d06 013519 call mouse_cheak_enable_usb 
+0x3d07 013520 call mouse_cb_fuction 
+0x3d08 013523 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d09 013524 rtnbit1 mouse_enable_usb 
+0x3d0a 013525 call mouse_wakeup_from_power 
+0x3d0b 013526 rtnmark1 mark_24g 
+0x3d0c 013527 fetch 2 ,mem_ui_state_map 
+0x3d0d 013528 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x3d0e 013529 branch mouse_check_reconn_target 
+:      013532 mouse_delay_4s:
+0x3d0f 013533 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d10 013534 rtnbit0 mouse_enable_init_delay 
+0x3d11 013535 arg 20 ,loopcnt 
+:      013536 mouse_delay_20ms:
+0x3d12 013537 setarg 200000 
+0x3d13 013538 call sleep 
+0x3d14 013539 loop delay_10ms 
+0x3d15 013540 rtn 
+:      013543 mouse_cheak_enable_usb:
+0x3d16 013544 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d17 013545 rtnbit0 mouse_enable_usb 
+0x3d18 013546 branch usb_init 
+:      013549 mouse_cb_fuction:
+0x3d19 013550 setarg mouse_le 
+0x3d1a 013551 store 2 ,mem_cb_le_process 
+0x3d1b 013552 setarg mouse_send_process 
+0x3d1c 013553 store 2 ,mem_cb_bt_process 
+0x3d1d 013554 setarg mouse_process_lpm_before 
+0x3d1e 013555 store 2 ,mem_cb_before_lpm 
+0x3d1f 013556 setarg mouse_priority_bb_event 
+0x3d20 013557 store 2 ,mem_cb_bb_event_process 
+0x3d21 013558 setarg mouse_idle 
+0x3d22 013559 store 2 ,mem_cb_idle_process 
+0x3d23 013560 setarg mouse_before_hibernate 
+0x3d24 013561 store 2 ,mem_cb_before_hibernate 
+0x3d25 013562 setarg le_mouse_bb_event_connect_complete 
+0x3d26 013563 store 2 ,mem_cb_att_write 
+0x3d27 013565 call g24_head_ptr2regc 
+0x3d28 013566 setarg mouse_g24_package_data 
+0x3d29 013567 add regc ,offset_24g_cb_data ,contw 
+0x3d2a 013568 istore 2 ,contw 
+0x3d2b 013569 setarg mouse_g24_enter_lpm 
+0x3d2c 013570 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x3d2d 013571 istore 2 ,contw 
+0x3d2e 013572 setarg mouse_lpm_before_common 
+0x3d2f 013573 add regc ,offset_24g_cb_lpm_before ,contw 
+0x3d30 013574 istore 2 ,contw 
+0x3d31 013576 setarg mouse_bb_event_timer 
+0x3d32 013577 store 2 ,mem_cb_event_timer 
+0x3d33 013578 setarg mouse_spi_write_flash_cb 
+0x3d34 013579 store 2 ,mem_cb_spi_flash_write_complate 
+0x3d35 013580 rtn 
+:      013581 mouse_spi_write_flash_cb:
+:      013582 mouse_spi_init:
+0x3d36 013583 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d37 013584 bbit0 mouse_enable_spi2 ,spid_init 
+0x3d38 013585 branch spid_init2 
+:      013587 mouse_setting_config:
+0x3d39 013588 rtn wake 
+0x3d3a 013589 call g24_set_device_addr 
+0x3d3b 013590 call mouse_gpio_init 
+0x3d3c 013591 call mouse_param_init 
+0x3d3d 013592 call mouse_adc_init 
+0x3d3e 013593 call le_set_config_fixed_ltk 
+0x3d3f 013594 call le_set_justwork 
+0x3d40 013595 call le_set_fixed_ltk 
+0x3d41 013596 call le_set_config_read_authentication 
+0x3d42 013597 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d43 013598 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+0x3d44 013599 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+0x3d45 013600 rtn 
+:      013602 mouse_init_iic:
+0x3d46 013603 call iic_init_390k 
+0x3d47 013604 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d48 013605 isolate1 mouse_enable_2k_eeprom ,pdata 
+0x3d49 013606 ncall clear_eeprom_size_2k ,true 
+0x3d4a 013607 call mouse_load_eeprom_dpi 
+0x3d4b 013608 call mouse_init_environment 
+0x3d4c 013609 call mouse_set_24g_addr_eeprom 
+0x3d4d 013610 branch iicd_read_eep_data 
+:      013612 mouse_wakeup_from_power:
+0x3d4e 013613 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d4f 013614 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+0x3d50 013615 fetch 1 ,mem_wakup_from_power_flag 
+0x3d51 013616 isolate0 gpio_latch ,pdata 
+0x3d52 013617 nrtn true 
+:      013618 mouse_wakeup_no_from_power:
+0x3d53 013619 fetch 1 ,mem_reconn_times_init 
+0x3d54 013620 store 1 ,mem_reconn_times 
+0x3d55 013621 fetch 1 ,mem_config_function_enable 
+0x3d56 013622 rtnbit1 enable_select_device_by_switch 
+:      013623 mouse_start_24g_mode:
+0x3d57 013624 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d58 013625 rtnbit0 mouse_enable_24g 
+0x3d59 013626 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+0x3d5a 013627 branch g24_check_51cmd_start_24g 
+:      013628 le_mouse_bb_event_connect_complete:
+0x3d5b 013629 fetch 1 ,mem_le_att_handle 
+0x3d5c 013630 sub pdata ,26 ,pdata 
+0x3d5d 013631 nrtn zero 
+0x3d5e 013632 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3d5f 013633 call ui_ipc_send_cmd 
+:      013634 mouse_le_write_enable:
+0x3d60 013635 arg write_req_enable_flag ,queue 
+0x3d61 013636 branch mouse_le_enable_connect_flag 
+:      013638 mouse_dpi_up:
+0x3d62 013639 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d63 013640 rtneq dpi_button_state_up 
+0x3d64 013641 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+0x3d65 013642 rtn 
+:      013643 mouse_dpi_config:
+0x3d66 013644 fetch 1 ,mem_config_sensor_motion 
+0x3d67 013645 and pdata ,0x0f ,pdata 
+0x3d68 013646 store 1 ,mem_mouse_dpi 
+0x3d69 013647 branch mouse_seting_dpi + 2 
+:      013650 mouse_dpi_cheak:
+0x3d6a 013651 fetcht 1 ,mem_dpi_button_gpio 
+0x3d6b 013652 call gpio_get_bit 
+0x3d6c 013653 nbranch mouse_dpi_up ,true 
+:      013654 mouse_dpi_down:
+0x3d6d 013655 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d6e 013656 rtneq dpi_button_state_down 
+0x3d6f 013657 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x3d70 013658 fetch 1 ,mem_mouse_dpi 
+0x3d71 013659 increase 1 ,pdata 
+0x3d72 013660 and pdata ,0x03 ,pdata 
+0x3d73 013661 store 1 ,mem_mouse_dpi 
+0x3d74 013662 call mouse_seting_dpi 
+0x3d75 013663 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d76 013664 bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+0x3d77 013665 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+0x3d78 013666 rtn 
+:      013667 mouse_before_store_flash_cpi:
+0x3d79 013668 arg mouse_spi2_clk_gpio ,temp 
+0x3d7a 013669 call gpio_config_output 
+0x3d7b 013670 arg mouse_spi2_sdio_gpio ,temp 
+0x3d7c 013671 call gpio_config_output 
+0x3d7d 013672 branch mouse_store_flash_device_info 
+:      013674 mouse_seting_dpi:
+0x3d7e 013675 bpatch patch1c_3 ,mem_patch1c 
+0x3d7f 013676 call mosue_dpi_led_blink_init 
+0x3d80 013677 fetch 1 ,mem_config_sensor_type 
+0x3d81 013678 beq p3610 ,mouse_seting_3610_dpi 
+0x3d82 013679 beq p3212 ,mouse_seting_3212_dpi 
+0x3d83 013680 fetch 1 ,mem_mouse_dpi 
+0x3d84 013681 beq mouse_dpi_level1 ,mouse_set_cpi1 
+0x3d85 013682 beq mouse_dpi_level2 ,mouse_set_cpi2 
+0x3d86 013683 beq mouse_dpi_level3 ,mouse_set_cpi3 
+0x3d87 013684 beq mouse_dpi_level4 ,mouse_set_cpi4 
+:      013685 mouse_set_cpi2:
+0x3d88 013686 fetch 1 ,mem_320x_dpi_2 
+0x3d89 013687 branch mouse_p3205_dpi 
+:      013688 mouse_set_cpi1:
+0x3d8a 013689 fetch 1 ,mem_320x_dpi_1 
+0x3d8b 013690 branch mouse_p3205_dpi 
+:      013691 mouse_set_cpi3:
+0x3d8c 013692 fetch 1 ,mem_320x_dpi_3 
+0x3d8d 013693 branch mouse_p3205_dpi 
+:      013694 mouse_set_cpi4:
+0x3d8e 013695 fetch 1 ,mem_320x_dpi_4 
+0x3d8f 013696 branch mouse_p3205_dpi 
+:      013697 moue_seting_cpi_count:
+0x3d90 013698 fetch 1 ,mem_config_sensor_type 
+0x3d91 013699 rtneq p3065_xy 
+0x3d92 013700 fetch 1 ,mem_mouse_cpi_count 
+0x3d93 013701 increase 1 ,pdata 
+0x3d94 013702 store 1 ,mem_mouse_cpi_count 
+0x3d95 013703 rtn 
+:      013705 mouse_seting_3212_dpi:
+0x3d96 013706 fetch 1 ,mem_mouse_dpi 
+0x3d97 013707 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+0x3d98 013708 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+0x3d99 013709 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+0x3d9a 013710 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+:      013711 mouse_set_p3212_cpi2:
+0x3d9b 013712 fetch 1 ,mem_3212_dpi_2 
+0x3d9c 013713 branch mouse_p3212_dpi 
+:      013714 mouse_set_p3212_cpi1:
+0x3d9d 013715 fetch 1 ,mem_3212_dpi_1 
+0x3d9e 013716 branch mouse_p3212_dpi 
+:      013717 mouse_set_p3212_cpi3:
+0x3d9f 013718 fetch 1 ,mem_3212_dpi_3 
+0x3da0 013719 branch mouse_p3212_dpi 
+:      013720 mouse_set_p3212_cpi4:
+0x3da1 013721 fetch 1 ,mem_3212_dpi_4 
+:      013722 mouse_p3212_dpi:
+0x3da2 013723 store 1 ,mem_mouse_cpi_count 
+0x3da3 013724 lshift8 pdata ,pdata 
+0x3da4 013725 copy pdata ,rega 
+0x3da5 013726 add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+0x3da6 013727 call twspi_write 
+0x3da7 013728 copy rega ,pdata 
+0x3da8 013729 add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+0x3da9 013730 branch twspi_write 
+:      013732 mouse_seting_3610_dpi:
+0x3daa 013733 fetch 1 ,mem_mouse_dpi 
+0x3dab 013734 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+0x3dac 013735 beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+0x3dad 013736 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+0x3dae 013737 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+:      013738 mouse_set_p3610_cpi2:
+0x3daf 013739 fetch 1 ,mem_3610_dpi_2 
+0x3db0 013740 branch mouse_p3610_dpi 
+:      013741 mouse_set_p3610_cpi1:
+0x3db1 013742 fetch 1 ,mem_3610_dpi_1 
+0x3db2 013743 branch mouse_p3610_dpi 
+:      013744 mouse_set_p3610_cpi3:
+0x3db3 013745 fetch 1 ,mem_3610_dpi_3 
+0x3db4 013746 branch mouse_p3610_dpi 
+:      013747 mouse_set_p3610_cpi4:
+0x3db5 013748 fetch 1 ,mem_3610_dpi_4 
+:      013749 mouse_p3610_dpi:
+0x3db6 013750 store 1 ,mem_mouse_cpi_count 
+0x3db7 013751 call mouse_spi_sdio_gpio_pollup 
+0x3db8 013752 fetch 1 ,mem_mouse_cpi_count 
+:      013753 mouse_reset_p3610_dpi:
+0x3db9 013754 add pdata ,0x80 ,pdata 
+0x3dba 013755 lshift8 pdata ,pdata 
+0x3dbb 013756 add pdata ,mouse_p3610_dpi_address ,pdata 
+0x3dbc 013757 copy pdata ,rega 
+0x3dbd 013758 branch mouse_set_sensor_reg 
+:      013760 mouse_p3205_dpi:
+0x3dbe 013761 store 1 ,mem_mouse_cpi_count 
+0x3dbf 013762 call moue_seting_cpi_count 
+0x3dc0 013763 fetch 1 ,mem_mouse_cpi_count 
+0x3dc1 013764 setarg mouse_dpi_address 
+0x3dc2 013765 call twspi_read 
+0x3dc3 013766 and pdata ,0xf8 ,temp 
+0x3dc4 013767 fetch 1 ,mem_mouse_cpi_count 
+0x3dc5 013768 iadd temp ,pdata 
+0x3dc6 013769 lshift8 pdata ,pdata 
+0x3dc7 013770 add pdata ,mouse_dpi_address ,pdata 
+0x3dc8 013771 branch twspi_write 
+:      013774 mouse_init_environment:
+0x3dc9 013775 call app_initflag_check 
+0x3dca 013776 branch mouse_eeprom_load_recon_info ,zero 
+0x3dcb 013777 call mouse_ble_init_address 
+0x3dcc 013778 call mouse_store_eeprom_device_info 
+0x3dcd 013779 branch app_initflag_store 
+:      013782 mouse_24g_pairing_button:
+0x3dce 013783 fetch 2 ,mem_24g_pairing_timer_count 
+0x3dcf 013784 rtn blank 
+0x3dd0 013785 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dd1 013786 rtnbit0 mouse_enable_24g 
+0x3dd2 013787 rtnbit1 mosue_24g_pairing_flag 
+0x3dd3 013788 rtnmark1 mark_24g 
+0x3dd4 013789 call mouse_check_key_gpio 
+0x3dd5 013790 rtnne mouse_lmr_button 
+0x3dd6 013791 call mouse_devce_led_off 
+0x3dd7 013792 arg mosue_24g_pairing_flag ,queue 
+0x3dd8 013793 call mouse_enable_function_flag 
+0x3dd9 013794 setarg 0 
+0x3dda 013795 store 2 ,mem_mouse_direct_timer 
+0x3ddb 013796 store 1 ,mem_mouse_send_blank_timer 
+0x3ddc 013797 call g24_set0_mem_check_dongle_times 
+0x3ddd 013799 fetch 2 ,mem_ui_state_map 
+0x3dde 013800 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x3ddf 013801 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x3de0 013802 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x3de1 013803 call mouse_stop_discovery 
+0x3de2 013804 branch g24_start_pairing_sm1 
+:      013807 mouse_idle:
+0x3de3 013808 call mouse_24g_pairing_button 
+0x3de4 013809 call ui_check_paring_button 
+0x3de5 013810 call mouse_dpi_cheak 
+0x3de6 013811 call mouse_usb_isr 
+0x3de7 013812 call mouse_wheel_check 
+0x3de8 013813 branch mouse_usb_mode 
+:      013814 mouse_usb_isr:
+0x3de9 013815 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dea 013816 rtnbit0 mouse_enable_usb 
+0x3deb 013817 call usb_isr 
+0x3dec 013818 branch usb_offline_state 
+:      013820 mouse_cheak_usb:
+0x3ded 013821 hfetch 1 ,core_usb_addr 
+0x3dee 013822 bbit0 7 ,mouse_usb_no_exsit 
+0x3def 013823 bbit1 7 ,mouse_usb_exsit 
+0x3df0 013824 rtn 
+:      013825 mouse_usb_no_exsit:
+0x3df1 013826 fetch 1 ,mem_usb_addr 
+0x3df2 013827 rtnbit0 7 
+0x3df3 013828 branch soft_reset_chip 
+:      013829 mouse_usb_exsit:
+0x3df4 013830 fetch 1 ,mem_usb_addr 
+0x3df5 013831 rtnbit1 7 
+0x3df6 013832 branch mouse_stop_bluetooth_mode 
+:      013834 mouse_usb_mode:
+0x3df7 013835 call mouse_cheak_usb 
+0x3df8 013836 hfetch 1 ,core_usb_addr 
+0x3df9 013837 store 1 ,mem_usb_addr 
+0x3dfa 013838 rtnbit0 7 
+0x3dfb 013839 call mouse_clkn_check 
+0x3dfc 013840 fetch 4 ,mem_btclk_sensor 
+0x3dfd 013841 fetcht 1 ,mem_wire_usb_interval 
+0x3dfe 013842 iadd temp ,temp 
+0x3dff 013843 copy clkn_bt ,pdata 
+0x3e00 013844 isub temp ,null 
+0x3e01 013845 nrtn positive 
+0x3e02 013846 store 4 ,mem_btclk_sensor 
+0x3e03 013847 call mouse_motion 
+0x3e04 013848 nrtn user 
+0x3e05 013849 jam 4 ,mem_usb_tx_enable 
+0x3e06 013850 branch mouse_wired_to_usb 
+:      013852 mouse_clkn_check:
+0x3e07 013853 fetcht 4 ,mem_btclk_sensor 
+0x3e08 013854 copy clkn_bt ,pdata 
+0x3e09 013855 isub temp ,null 
+0x3e0a 013856 ncall mouse_clkn_timeout ,positive 
+0x3e0b 013857 rtn 
+:      013858 mouse_clkn_timeout:
+0x3e0c 013859 setarg 0 
+0x3e0d 013860 store 4 ,mem_btclk_sensor 
+0x3e0e 013861 rtn 
+:      013865 mouse_wired_to_usb:
+0x3e0f 013866 fetch 1 ,mem_usb_tx_enable 
+0x3e10 013867 rtnbit0 2 
+0x3e11 013868 branch mouse_data_push 
+:      013869 mouse_data_push:
+0x3e12 013870 hfetch 1 ,core_usb_addr 
+0x3e13 013871 rtnbit0 7 
+0x3e14 013872 jam usb_ep2_ms ,mem_usb_ep2_data 
+0x3e15 013873 setarg ms_report_id 
+0x3e16 013874 store 1 ,mem_usb_mouse_data 
+0x3e17 013875 fetch 7 ,mem_mouse_key 
+0x3e18 013876 istore 7 ,contw 
+0x3e19 013877 rtn 
+:      013880 mouse_enable_clock_qdecoder:
+0x3e1a 013881 hfetch 2 ,core_clkoff 
+0x3e1b 013882 set0 clock_off_qdecoder ,pdata 
+0x3e1c 013883 hstore 2 ,core_clkoff 
+0x3e1d 013884 rtn 
+:      013886 mouse_param_init:
+0x3e1e 013887 setarg 0x8c00 
+0x3e1f 013888 store 2 ,mem_ui_uuid_table 
+0x3e20 013889 setarg 0x8e7a 
+0x3e21 013890 store 2 ,mem_ui_le_uuid_table 
+0x3e22 013891 setarg 0x2402 
+0x3e23 013892 store 2 ,mem_fcomp_mul 
+0x3e24 013893 setarg 0x2580 
+0x3e25 013894 store 3 ,mem_class 
+0x3e26 013895 jam 3 ,mem_lpm_mult_timeout 
+0x3e27 013896 jam 8 ,mem_lpm_overhead 
+0x3e28 013897 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x3e29 013898 setarg 0x0200 
+0x3e2a 013899 store 2 ,mem_lpm_interval 
+0x3e2b 013900 jam 0x17 ,mem_le_local_mtu 
+0x3e2c 013901 jam 0x17 ,mem_le_remote_mtu 
+0x3e2d 013903 setarg 0x0a77 
+0x3e2e 013904 store 2 ,mem_spi_init_clk 
+0x3e2f 013920 setsect 0 ,0x306 
+0x3e30 013921 setsect 1 ,0x4440 
+0x3e31 013922 setsect 2 ,0x10000 
+0x3e32 013923 setsect 3 ,0x4408 
+0x3e33 013924 store 9 ,mem_all_uuid_16bits 
+0x3e34 013925 setsect 0 ,0x1224 
+0x3e35 013926 setsect 1 ,0x4000 
+0x3e36 013927 setsect 2 ,0x0 
+0x3e37 013928 istore 5 ,contw 
+0x3e38 013930 setsect 0 ,0x3ffff 
+0x3e39 013931 setsect 1 ,0x2fe23 
+0x3e3a 013932 setsect 2 ,0x199d9 
+0x3e3b 013933 setsect 3 ,0x20d 
+0x3e3c 013934 store 8 ,mem_features 
+0x3e3d 013936 setarg 0x012c 
+0x3e3e 013937 store 2 ,mem_24g_pairing_timer_count 
+0x3e3f 013938 call le_modified_name 
+0x3e40 013939 fetch mouse_flag_len ,mem_mouse_flag 
+0x3e41 013940 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+0x3e42 013941 call mouse_sensor_set_angle 
+0x3e43 013942 branch mouse_select_adc 
+:      013944 mouse_sensor_set_angle:
+0x3e44 013945 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e45 013946 call gpio_config_input 
+0x3e46 013947 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e47 013948 call gpio_get_bit 
+0x3e48 013949 jam mouse_3clk_angle ,mem_config_sensor_angle 
+0x3e49 013950 rtn true 
+0x3e4a 013951 jam mouse_12clk_angle ,mem_config_sensor_angle 
+0x3e4b 013952 rtn 
+:      013954 mouse_select_adc:
+0x3e4c 013955 fetcht 1 ,mem_select_adc_gpio 
+0x3e4d 013956 call gpio_config_input 
+0x3e4e 013957 fetcht 1 ,mem_select_adc_gpio 
+0x3e4f 013958 call gpio_get_bit 
+0x3e50 013959 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x3e51 013960 rtn true 
+0x3e52 013961 jam adc_config_gpio ,mem_adc_config_flag 
+0x3e53 013962 rtn 
+:      013965 mouse_adc_init:
+0x3e54 013966 fetch 1 ,mem_adc_config_flag 
+0x3e55 013967 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+0x3e56 013968 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+0x3e57 013969 beq adc_config_gpio ,mouse_adc_init_data_io 
+0x3e58 013970 branch mouse_adc_init_data_vinlpm 
+:      013972 mouse_adc_init_data_vinlpm:
+0x3e59 013973 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x3e5a 013974 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x3e5b 013975 isub temp ,pdata 
+0x3e5c 013976 mul32 pdata ,20 ,pdata 
+0x3e5d 013977 div pdata ,100 
+0x3e5e 013978 call wait_div_end 
+0x3e5f 013979 quotient pdata 
+0x3e60 013980 store 2 ,mem_adc_reference_voltage 
+0x3e61 013981 rtn 
+:      013982 mouse_adc_init_data_hvin:
+0x3e62 013983 fetcht 2 ,mem_1v_adc_hvin_data 
+0x3e63 013984 fetch 2 ,mem_5v_adc_hvin_data 
+0x3e64 013985 isub temp ,pdata 
+0x3e65 013986 mul32 pdata ,230 ,pdata 
+0x3e66 013987 div pdata ,400 
+0x3e67 013988 call wait_div_end 
+0x3e68 013989 quotient pdata 
+0x3e69 013990 store 2 ,mem_adc_reference_voltage 
+0x3e6a 013991 rtn 
+:      013992 mouse_adc_init_data_io:
+0x3e6b 013993 fetch 2 ,mem_1v_adc_io_data 
+0x3e6c 013994 store 2 ,mem_adc_reference_voltage 
+0x3e6d 013995 rtn 
+:      013996 mouse_gpio_init:
+0x3e6e 013997 fetcht 1 ,mem_eeprom_wp_gpio 
+0x3e6f 013998 call gpio_config_output 
+0x3e70 013999 call usb_offline_check_init 
+0x3e71 014000 fetcht 1 ,mem_lbutton_gpio 
+0x3e72 014001 call gpio_config_input 
+0x3e73 014002 fetcht 1 ,mem_rbutton_gpio 
+0x3e74 014003 call gpio_config_input 
+0x3e75 014004 fetcht 1 ,mem_mbutton_gpio 
+0x3e76 014005 call gpio_config_input 
+0x3e77 014006 fetcht 1 ,mem_sensor_data_gpio 
+0x3e78 014007 call gpio_config_input 
+0x3e79 014009 fetcht 1 ,mem_sensor_reset_gpio 
+0x3e7a 014010 call gpio_config_output 
+0x3e7b 014012 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e7c 014013 call gpio_config_input 
+0x3e7d 014015 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e7e 014016 call gpio_config_input 
+0x3e7f 014018 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e80 014019 call gpio_config_input 
+0x3e81 014020 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e82 014021 call gpio_config_input 
+0x3e83 014023 fetcht 1 ,mem_bk_button_gpio 
+0x3e84 014024 call gpio_config_input 
+0x3e85 014025 fetcht 1 ,mem_fw_button_gpio 
+0x3e86 014026 call gpio_config_input 
+0x3e87 014028 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+0x3e88 014029 call gpio_config_output 
+0x3e89 014031 fetcht 1 ,mem_config_device1_led_gpio 
+0x3e8a 014032 call gpio_config_output 
+0x3e8b 014034 fetcht 1 ,mem_config_device2_led_gpio 
+0x3e8c 014035 call gpio_config_output 
+0x3e8d 014037 fetcht 1 ,mem_config_device3_led_gpio 
+0x3e8e 014038 call gpio_config_output 
+0x3e8f 014040 fetcht 1 ,mem_dpi_led_gpio 
+0x3e90 014041 call gpio_config_output 
+0x3e91 014043 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3e92 014044 call gpio_config_input 
+0x3e93 014046 fetcht 1 ,mem_config_bt_button_gpio 
+0x3e94 014047 call gpio_config_input 
+0x3e95 014049 fetcht 1 ,mem_dpi_button_gpio 
+0x3e96 014050 branch gpio_config_input 
+:      014052 mouse_wheel_gpio_set_wake:
+0x3e97 014053 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e98 014054 call gpio_set_wake_by_current_state 
+0x3e99 014055 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e9a 014056 call gpio_set_wake_by_current_state 
+0x3e9b 014057 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e9c 014058 call gpio_set_wake_by_current_state 
+0x3e9d 014059 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e9e 014060 branch gpio_set_wake_by_current_state 
+:      014062 mouse_before_hibernate_wheel_gpio_set:
+0x3e9f 014063 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ea0 014064 call mouse_gpio_set_pupd_by_input 
+0x3ea1 014065 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ea2 014066 call mouse_gpio_set_pupd_by_input 
+0x3ea3 014067 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ea4 014068 call mouse_gpio_set_pupd_by_input 
+0x3ea5 014069 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ea6 014070 branch mouse_gpio_set_pupd_by_input 
+:      014072 mouse_gpio_set_pupd_by_input:
+0x3ea7 014073 sub temp ,ui_button_gpio_disable ,null 
+0x3ea8 014074 rtn zero 
+0x3ea9 014075 and temp ,0x7f ,queue 
+0x3eaa 014076 hfetch 4 ,core_gpio_in 
+0x3eab 014077 qisolate1 pdata 
+0x3eac 014078 hfetch 4 ,core_gpio_pu0 
+0x3ead 014079 qsetflag true ,pdata 
+0x3eae 014080 hstore 4 ,core_gpio_pu0 
+0x3eaf 014081 hfetch 4 ,core_gpio_pd0 
+0x3eb0 014082 nqsetflag true ,pdata 
+0x3eb1 014083 hstore 4 ,core_gpio_pd0 
+0x3eb2 014084 rtn 
+:      014086 mouse_before_hibernate:
+0x3eb3 014087 enable user 
+0x3eb4 014088 hfetch 4 ,0x8138 
+0x3eb5 014089 setflag user ,26 ,pdata 
+0x3eb6 014090 hstore 4 ,core_lpm_reg 
+0x3eb7 014091 call lpm_write_ctrl 
+0x3eb8 014092 call mouse_devce_led_off 
+0x3eb9 014093 call mouse_before_hibernate_wheel_gpio_set 
+0x3eba 014095 branch mouse_lpm_before_common 
+:      014099 mouse_process_lpm_before:
+0x3ebb 014100 call mouse_lpm_before_common 
+0x3ebc 014101 fetch 1 ,mem_lpm_current_mult 
+0x3ebd 014102 nrtn blank 
+0x3ebe 014103 branch gpio_clr_wake 
+:      014105 mouse_lpm_before_common:
+0x3ebf 014106 call mouse_wheel_check 
+0x3ec0 014107 arg mouse_spi1_clk_gpio ,temp 
+0x3ec1 014108 fetch mouse_flag_len ,mem_mouse_flag 
+0x3ec2 014109 isolate1 mouse_enable_spi2 ,pdata 
+0x3ec3 014110 call mouse_spi_clk_gpio ,true 
+0x3ec4 014111 call gpio_config_output 
+0x3ec5 014112 call twspi_disable 
+0x3ec6 014116 fetcht 1 ,mem_lbutton_gpio 
+0x3ec7 014117 call gpio_set_wake_by_current_state 
+0x3ec8 014118 fetcht 1 ,mem_rbutton_gpio 
+0x3ec9 014119 call gpio_set_wake_by_current_state 
+0x3eca 014120 fetcht 1 ,mem_mbutton_gpio 
+0x3ecb 014121 call gpio_set_wake_by_current_state 
+0x3ecc 014123 fetcht 1 ,mem_bk_button_gpio 
+0x3ecd 014124 call gpio_set_wake_by_current_state 
+0x3ece 014125 fetcht 1 ,mem_fw_button_gpio 
+0x3ecf 014126 call gpio_set_wake_by_current_state 
+0x3ed0 014127 fetcht 1 ,mem_dpi_button_gpio 
+0x3ed1 014128 call gpio_set_wake_by_current_state 
+0x3ed2 014129 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3ed3 014130 call gpio_set_wake_by_current_state 
+0x3ed4 014131 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ed5 014132 call gpio_set_wake_by_current_state 
+0x3ed6 014133 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ed7 014134 call gpio_set_wake_by_current_state 
+0x3ed8 014135 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ed9 014136 call gpio_set_wake_by_current_state 
+0x3eda 014137 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3edb 014138 call gpio_set_wake_by_current_state 
+0x3edc 014139 fetcht 1 ,mem_sensor_data_gpio 
+0x3edd 014140 branch gpio_set_wake 
+:      014144 mouse_spi_clk_gpio:
+0x3ede 014145 arg mouse_spi2_clk_gpio ,temp 
+0x3edf 014146 rtn 
+:      014148 mouse_wheel_check:
+0x3ee0 014149 bpatch patch1c_4 ,mem_patch1c 
+0x3ee1 014150 call mouse_t_wheel_scan 
+0x3ee2 014151 call mouse_wheel_scan 
+0x3ee3 014152 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3ee4 014153 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee5 014154 store 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee6 014155 isub temp ,null 
+0x3ee7 014156 nbranch app_lpm_wake_auto_lock ,zero 
+0x3ee8 014157 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3ee9 014158 fetcht 1 ,mem_mwheel_b_old_pinlevel 
+0x3eea 014159 store 1 ,mem_mwheel_b_old_pinlevel 
+0x3eeb 014160 isub temp ,null 
+0x3eec 014161 nbranch app_lpm_wake_auto_lock ,zero 
+0x3eed 014162 rtn 
+:      014163 mouse_t_wheel_scan:
+0x3eee 014164 fetch 1 ,mem_whee_ta_data_gpio 
+0x3eef 014165 rtneq gpio_disable 
+0x3ef0 014166 arg 0 ,rega 
+0x3ef1 014167 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ef2 014168 call gpio_get_bit 
+0x3ef3 014169 setflag true ,0 ,rega 
+0x3ef4 014170 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ef5 014171 call gpio_get_bit 
+0x3ef6 014172 setflag true ,1 ,rega 
+0x3ef7 014173 copy rega ,pdata 
+0x3ef8 014174 store 1 ,mem_wheel_tb_new_pinlevel 
+0x3ef9 014175 beq 0x01 ,mouse_t_wheel_scan_judge1 
+0x3efa 014176 beq 0x02 ,mouse_t_wheel_scan_judge2 
+0x3efb 014177 fetch 1 ,mem_wheel_tog 
+0x3efc 014178 bbit1 7 ,mouse_t_wheel_scan_judge3 
+0x3efd 014179 rtn 
+:      014181 mouse_t_wheel_scan_judge1:
+0x3efe 014182 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3eff 014183 beq 0 ,mouse_t_wheel_scan_judge11 
+0x3f00 014184 beq 3 ,mouse_t_wheel_scan_judge12 
+0x3f01 014185 rtn 
+:      014186 mouse_t_wheel_scan_judge2:
+0x3f02 014187 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3f03 014188 beq 0 ,mouse_t_wheel_scan_judge21 
+0x3f04 014189 beq 3 ,mouse_t_wheel_scan_judge22 
+0x3f05 014190 rtn 
+:      014191 mouse_t_wheel_scan_judge11:
+0x3f06 014192 jam 0x82 ,mem_wheel_tog 
+0x3f07 014193 rtn 
+:      014194 mouse_t_wheel_scan_judge12:
+0x3f08 014195 jam 0x81 ,mem_wheel_tog 
+0x3f09 014196 rtn 
+:      014197 mouse_t_wheel_scan_judge21:
+0x3f0a 014198 jam 0x80 ,mem_wheel_tog 
+0x3f0b 014199 rtn 
+:      014200 mouse_t_wheel_scan_judge22:
+0x3f0c 014201 jam 0x83 ,mem_wheel_tog 
+0x3f0d 014202 rtn 
+:      014203 mouse_t_wheel_scan_judge3:
+0x3f0e 014204 fetch 1 ,mem_wheel_tog 
+0x3f0f 014205 set0 7 ,pdata 
+0x3f10 014206 store 1 ,mem_wheel_tog 
+0x3f11 014207 beq 0 ,mouse_t_wheel_scan_judge30 
+0x3f12 014208 beq 1 ,mouse_t_wheel_scan_judge31 
+0x3f13 014209 beq 2 ,mouse_t_wheel_scan_judge32 
+0x3f14 014210 beq 3 ,mouse_t_wheel_scan_judge33 
+0x3f15 014211 rtn 
+:      014212 mouse_t_wheel_scan_judge30:
+0x3f16 014213 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f17 014214 beq 3 ,mouse_wheel_t_forward 
+0x3f18 014215 rtn 
+:      014216 mouse_t_wheel_scan_judge31:
+0x3f19 014217 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1a 014218 beq 0 ,mouse_wheel_t_forward 
+0x3f1b 014219 rtn 
+:      014220 mouse_t_wheel_scan_judge32:
+0x3f1c 014221 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1d 014222 beq 3 ,mouse_wheel_t_back 
+0x3f1e 014223 rtn 
+:      014224 mouse_t_wheel_scan_judge33:
+0x3f1f 014225 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f20 014226 beq 0 ,mouse_wheel_t_back 
+0x3f21 014227 rtn 
+:      014228 mouse_wheel_t_forward:
+0x3f22 014229 fetch 1 ,mem_mouse_tz_data_count1 
+0x3f23 014230 increase 1 ,pdata 
+0x3f24 014231 store 1 ,mem_mouse_tz_data_count1 
+0x3f25 014232 sub pdata ,1 ,null 
+0x3f26 014233 rtn positive 
+0x3f27 014234 jam 0 ,mem_mouse_tz_data_count1 
+0x3f28 014235 fetch 1 ,mem_mouse_tz_data 
+0x3f29 014236 increase 1 ,pdata 
+0x3f2a 014237 store 1 ,mem_mouse_tz_data 
+0x3f2b 014238 rtn 
+:      014239 mouse_wheel_t_back:
+0x3f2c 014240 fetch 1 ,mem_mouse_tz_data_count 
+0x3f2d 014241 increase 1 ,pdata 
+0x3f2e 014242 store 1 ,mem_mouse_tz_data_count 
+0x3f2f 014243 sub pdata ,1 ,null 
+0x3f30 014244 rtn positive 
+0x3f31 014245 jam 0 ,mem_mouse_tz_data_count 
+0x3f32 014246 fetch 1 ,mem_mouse_tz_data 
+0x3f33 014247 increase -1 ,pdata 
+0x3f34 014248 store 1 ,mem_mouse_tz_data 
+0x3f35 014249 rtn 
+:      014252 mouse_wheel_scan:
+0x3f36 014253 fetch 1 ,mem_whee_a_data_gpio 
+0x3f37 014254 rtneq gpio_disable 
+0x3f38 014255 arg 0 ,rega 
+0x3f39 014256 fetcht 1 ,mem_whee_a_data_gpio 
+0x3f3a 014257 call gpio_get_bit 
+0x3f3b 014258 setflag true ,0 ,rega 
+0x3f3c 014259 fetcht 1 ,mem_whee_b_data_gpio 
+0x3f3d 014260 call gpio_get_bit 
+0x3f3e 014261 setflag true ,1 ,rega 
+0x3f3f 014262 copy rega ,pdata 
+0x3f40 014263 store 1 ,mem_mwheel_b_new_pinlevel 
+0x3f41 014264 beq 0x01 ,mouse_wheel_scan_judge1 
+0x3f42 014265 beq 0x02 ,mouse_wheel_scan_judge2 
+0x3f43 014266 fetch 1 ,mem_mwheel_tog 
+0x3f44 014267 bbit1 7 ,mouse_wheel_scan_judge3 
+0x3f45 014268 rtn 
+:      014270 mouse_wheel_scan_judge1:
+0x3f46 014271 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f47 014272 beq 0 ,mouse_wheel_scan_judge11 
+0x3f48 014273 beq 3 ,mouse_wheel_scan_judge12 
+0x3f49 014274 rtn 
+:      014275 mouse_wheel_scan_judge2:
+0x3f4a 014276 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f4b 014277 beq 0 ,mouse_wheel_scan_judge21 
+0x3f4c 014278 beq 3 ,mouse_wheel_scan_judge22 
+0x3f4d 014279 rtn 
+:      014280 mouse_wheel_scan_judge11:
+0x3f4e 014281 jam 0x82 ,mem_mwheel_tog 
+0x3f4f 014282 rtn 
+:      014283 mouse_wheel_scan_judge12:
+0x3f50 014284 jam 0x81 ,mem_mwheel_tog 
+0x3f51 014285 rtn 
+:      014286 mouse_wheel_scan_judge21:
+0x3f52 014287 jam 0x80 ,mem_mwheel_tog 
+0x3f53 014288 rtn 
+:      014289 mouse_wheel_scan_judge22:
+0x3f54 014290 jam 0x83 ,mem_mwheel_tog 
+0x3f55 014291 rtn 
+:      014292 mouse_wheel_scan_judge3:
+0x3f56 014293 fetch 1 ,mem_mwheel_tog 
+0x3f57 014294 set0 7 ,pdata 
+0x3f58 014295 store 1 ,mem_mwheel_tog 
+0x3f59 014296 beq 0 ,mouse_wheel_scan_judge30 
+0x3f5a 014297 beq 1 ,mouse_wheel_scan_judge31 
+0x3f5b 014298 beq 2 ,mouse_wheel_scan_judge32 
+0x3f5c 014299 beq 3 ,mouse_wheel_scan_judge33 
+0x3f5d 014300 rtn 
+:      014301 mouse_wheel_scan_judge30:
+0x3f5e 014302 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f5f 014303 beq 3 ,mouse_wheel_forward 
+0x3f60 014304 rtn 
+:      014305 mouse_wheel_scan_judge31:
+0x3f61 014306 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f62 014307 beq 0 ,mouse_wheel_forward 
+0x3f63 014308 rtn 
+:      014309 mouse_wheel_scan_judge32:
+0x3f64 014310 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f65 014311 beq 3 ,mouse_wheel_back 
+0x3f66 014312 rtn 
+:      014313 mouse_wheel_scan_judge33:
+0x3f67 014314 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f68 014315 beq 0 ,mouse_wheel_back 
+0x3f69 014316 rtn 
+:      014317 mouse_wheel_forward:
+0x3f6a 014318 jam 0 ,mem_mouse_z_data_count1 
+0x3f6b 014319 fetch 1 ,mem_mouse_z_data 
+0x3f6c 014320 increase 1 ,pdata 
+0x3f6d 014321 store 1 ,mem_mouse_z_data 
+0x3f6e 014322 rtn 
+:      014323 mouse_wheel_back:
+0x3f6f 014324 jam 0 ,mem_mouse_z_data_count 
+0x3f70 014325 fetch 1 ,mem_mouse_z_data 
+0x3f71 014326 increase -1 ,pdata 
+0x3f72 014327 store 1 ,mem_mouse_z_data 
+0x3f73 014328 rtn 
+:      014331 mouse_hid_connected:
+0x3f74 014332 setarg hid_handshake_timeout 
+0x3f75 014333 store 1 ,mem_hid_handshake_timer_count 
+0x3f76 014334 rtn 
+:      014336 mouse_send_process:
+0x3f77 014337 fetch 1 ,mem_app_handshake_flag 
+0x3f78 014338 rtn blank 
+0x3f79 014339 call l2cap_malloc_is_fifo_nearly_full 
+0x3f7a 014340 nrtn blank 
+0x3f7b 014341 fetch mouse_flag_len ,mem_mouse_flag 
+0x3f7c 014342 bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+0x3f7d 014343 bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+0x3f7e 014344 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x3f7f 014345 call mouse_motion 
+0x3f80 014346 nrtn user 
+:      014347 mouse_send_data:
+0x3f81 014348 arg 9 ,rega 
+0x3f82 014349 call hid_malloc_tx_buff 
+0x3f83 014350 fetch 2 ,mem_hid_int_remote_cid 
+0x3f84 014351 istore 2 ,contw 
+0x3f85 014352 setarg 0x02a1 
+0x3f86 014353 istore 2 ,contw 
+0x3f87 014354 fetch 7 ,mem_mouse_key 
+0x3f88 014355 istore 7 ,contw 
+0x3f89 014356 rtn 
+:      014359 mouse_send_empty_data:
+0x3f8a 014360 setarg 0 
+0x3f8b 014361 store 7 ,mem_mouse_key 
+0x3f8c 014362 branch mouse_send_data 
+:      014365 mouse_no_data_timer_init:
+0x3f8d 014366 fetch 2 ,mem_mouse_no_data_timeout 
+0x3f8e 014367 store 2 ,mem_mouse_no_data_timer 
+0x3f8f 014368 rtn 
+:      014371 mouse_fill_data_le:
+0x3f90 014372 bpatch patch1c_5 ,mem_patch1c 
+0x3f91 014373 arg 7 ,rega 
+0x3f92 014374 fetcht 2 ,mem_le_notify_handle 
+0x3f93 014375 call le_att_malloc_tx_notify 
+0x3f94 014376 fetch 7 ,mem_mouse_key 
+0x3f95 014377 istore 7 ,contw 
+0x3f96 014378 rtn 
+:      014380 mouse_motion:
+0x3f97 014381 bpatch patch1c_6 ,mem_patch1c 
+0x3f98 014382 disable user 
+0x3f99 014383 setarg 0 
+0x3f9a 014384 store 6 ,mem_mouse_x 
+0x3f9b 014385 call mouse_cheak_sensor_data 
+0x3f9c 014386 call mouse_zwheel 
+0x3f9d 014387 call mouse_t_zwheel 
+0x3f9e 014388 call mouse_key 
+0x3f9f 014389 nrtn user 
+0x3fa0 014390 call mouse_no_data_timer_init 
+0x3fa1 014391 arg mouse_statue_up_flag ,queue 
+0x3fa2 014392 branch mouse_enable_function_flag 
+:      014394 motion_6clk_direction_dispose:
+0x3fa3 014395 fetch 2 ,mem_mouse_x 
+0x3fa4 014396 sub pdata ,0 ,pdata 
+0x3fa5 014397 store 2 ,mem_mouse_x 
+0x3fa6 014398 branch enable_user 
+:      014399 motion_12clk_direction_dispose:
+0x3fa7 014400 fetch 2 ,mem_mouse_y 
+0x3fa8 014401 sub pdata ,0 ,pdata 
+0x3fa9 014402 store 2 ,mem_mouse_y 
+0x3faa 014403 branch enable_user 
+:      014404 motion_9clk_direction_dispose:
+0x3fab 014405 fetch 2 ,mem_mouse_y 
+0x3fac 014406 sub pdata ,0 ,pdata 
+0x3fad 014407 store 2 ,mem_mouse_y 
+0x3fae 014408 fetch 2 ,mem_mouse_x 
+0x3faf 014409 sub pdata ,0 ,pdata 
+0x3fb0 014410 store 2 ,mem_mouse_x 
+0x3fb1 014411 call mouse_sensor_data_swap_places 
+0x3fb2 014412 branch enable_user 
+:      014413 motion_3clk_direction_dispose:
+0x3fb3 014414 call mouse_sensor_data_swap_places 
+0x3fb4 014415 branch enable_user 
+:      014416 mouse_cheak_sensor_data:
+0x3fb5 014417 fetch 1 ,mem_spi_write_flash_sm 
+0x3fb6 014418 rtnne flash_sm_no_buys 
+0x3fb7 014419 fetch 1 ,mem_config_sensor_type 
+0x3fb8 014420 beq p3205 ,mouse_p32xx_sensor_motion 
+0x3fb9 014421 beq p3065 ,mouse_p32xx_sensor_motion 
+0x3fba 014422 beq ka8 ,mouse_p32xx_sensor_motion 
+0x3fbb 014423 beq p3204 ,mouse_p32xx_sensor_motion 
+0x3fbc 014424 beq p3212 ,mouse_p3212_sensor_motion 
+0x3fbd 014425 beq p3610 ,mouse_p3610_sensor_motion 
+0x3fbe 014426 beq p3065_xy ,mouse_p32xx_sensor_motion 
+0x3fbf 014427 branch mouse_p32xx_sensor_motion 
+:      014429 mouse_clear_sensor_data:
+0x3fc0 014430 fetch 1 ,mem_mouse_move_flag 
+0x3fc1 014431 call mouse_read_sensor_common ,blank 
+0x3fc2 014432 jam 1 ,mem_mouse_move_flag 
+0x3fc3 014433 rtn 
+:      014436 mouse_p3212_sensor_motion:
+0x3fc4 014437 call mouse_clear_sensor_data 
+0x3fc5 014438 fetcht 1 ,mem_sensor_data_gpio 
+0x3fc6 014439 call gpio_get_bit 
+0x3fc7 014440 nrtn true 
+0x3fc8 014441 setarg pan_reg_pid_l 
+0x3fc9 014442 call twspi_read 
+0x3fca 014443 bne p32xx_id1 ,mouse_twspi_reset 
+0x3fcb 014444 setarg pan_reg_motion_staus 
+0x3fcc 014445 call twspi_read 
+0x3fcd 014446 rtnbit0 7 
+0x3fce 014447 call mouse_read_sensor_common 
+0x3fcf 014448 call mouse_read_3212sensor_xy_high 
+0x3fd0 014449 store 1 ,mem_mouse_xy_h 
+0x3fd1 014450 rshift4 pdata ,pdata 
+0x3fd2 014451 call extsign_bit3 
+0x3fd3 014452 store 1 ,mem_mouse_x + 1 
+0x3fd4 014453 fetch 1 ,mem_mouse_xy_h 
+0x3fd5 014454 and pdata ,0x0f ,pdata 
+0x3fd6 014455 call extsign_bit3 
+0x3fd7 014456 store 1 ,mem_mouse_y + 1 
+0x3fd8 014457 fetch 1 ,mem_config_sensor_angle 
+0x3fd9 014458 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+0x3fda 014459 beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+0x3fdb 014460 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+0x3fdc 014461 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+0x3fdd 014462 rtn 
+:      014464 mouse_read_3212sensor_xy_high:
+0x3fde 014465 setarg 0x12 
+0x3fdf 014466 branch twspi_read 
+:      014468 mouse_p3065_judge:
+0x3fe0 014469 beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+0x3fe1 014470 branch mouse_twspi_reset 
+:      014472 mouse_p32xx_sensor_motion:
+0x3fe2 014473 call mouse_clear_sensor_data 
+0x3fe3 014474 disable user 
+0x3fe4 014475 fetcht 1 ,mem_sensor_data_gpio 
+0x3fe5 014476 call gpio_get_bit 
+0x3fe6 014477 nrtn true 
+0x3fe7 014478 setarg pan_reg_pid_l 
+0x3fe8 014479 call twspi_read 
+0x3fe9 014480 bne p32xx_id1 ,mouse_p3065_judge 
+:      014481 mouse_p32xx_sensor_motion_1:
+0x3fea 014482 setarg pan_reg_motion_staus 
+0x3feb 014483 call twspi_read 
+0x3fec 014484 rtnbit0 7 
+0x3fed 014485 call mouse_read_sensor_common 
+0x3fee 014486 fetch 1 ,mem_mouse_x 
+0x3fef 014487 call extsign 
+0x3ff0 014488 store 2 ,mem_mouse_x 
+0x3ff1 014489 fetch 1 ,mem_mouse_y 
+0x3ff2 014490 call extsign 
+0x3ff3 014491 store 2 ,mem_mouse_y 
+0x3ff4 014492 fetch 1 ,mem_config_sensor_angle 
+0x3ff5 014493 beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+0x3ff6 014494 beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+0x3ff7 014495 beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+0x3ff8 014496 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+0x3ff9 014497 rtn 
+:      014499 motion32xx_6clk_direction_selection:
+0x3ffa 014500 call motion_6clk_direction_dispose 
+0x3ffb 014501 branch mouse_sensor_sdio_low 
+:      014502 motion32xx_9clk_direction_selection:
+0x3ffc 014503 call motion_9clk_direction_dispose 
+0x3ffd 014504 branch mouse_sensor_sdio_low 
+:      014505 motion32xx_12clk_direction_selection:
+0x3ffe 014506 call motion_12clk_direction_dispose 
+0x3fff 014507 branch mouse_sensor_sdio_low 
+:      014508 motion32xx_3clk_direction_selection:
+0x4000 014509 call motion_3clk_direction_dispose 
+0x4001 014510 branch mouse_sensor_sdio_low 
+:      014512 mouse_sensor_data_swap_places:
+0x4002 014513 fetch 2 ,mem_mouse_y 
+0x4003 014514 fetcht 2 ,mem_mouse_x 
+0x4004 014515 store 2 ,mem_mouse_x 
+0x4005 014516 storet 2 ,mem_mouse_y 
+0x4006 014517 rtn 
+:      014519 mouse_p3610sensor_read:
+0x4007 014520 call spi_ncs_enable 
+0x4008 014521 nop 100 
+0x4009 014522 copy regb ,pdata 
+0x400a 014523 call twspi_read 
+0x400b 014524 copy pdata ,regb 
+0x400c 014525 call spi_ncs_disable 
+0x400d 014526 nop 100 
+0x400e 014527 copy regb ,pdata 
+0x400f 014528 rtn 
+:      014529 mouse_p3610_sensor_motion:
+0x4010 014530 disable user 
+0x4011 014531 fetcht 1 ,mem_sensor_data_gpio 
+0x4012 014532 call gpio_get_bit 
+0x4013 014533 nrtn true 
+0x4014 014534 arg pan_reg_motion_staus ,regb 
+0x4015 014535 call mouse_p3610sensor_read 
+0x4016 014536 rtnbit0 7 
+0x4017 014537 arg pan_reg_pid_l ,regb 
+0x4018 014538 call mouse_p3610sensor_read 
+0x4019 014539 store 1 ,mem_sensor_id1 
+0x401a 014540 bne p3610_id1 ,mouse_init_3610sensor_reset 
+0x401b 014541 fetch 1 ,mem_mouse_move_flag 
+0x401c 014542 call mouse_read_sensor3610_data ,blank 
+0x401d 014543 jam 1 ,mem_mouse_move_flag 
+0x401e 014544 call mouse_read_sensor3610_data 
+0x401f 014545 fetch 1 ,mem_mouse_xy_h 
+0x4020 014546 rshift4 pdata ,pdata 
+0x4021 014547 call extsign_bit3 
+0x4022 014548 store 1 ,mem_mouse_x + 1 
+0x4023 014549 fetch 1 ,mem_mouse_xy_h 
+0x4024 014550 and pdata ,0x0f ,pdata 
+0x4025 014551 call extsign_bit3 
+0x4026 014552 store 1 ,mem_mouse_y + 1 
+0x4027 014553 fetch 1 ,mem_config_sensor_angle 
+0x4028 014554 beq 0 ,motion3610_6clk_direction_selection 
+0x4029 014555 beq 1 ,motion3610_9clk_direction_selection 
+0x402a 014556 beq 2 ,motion3610_12clk_direction_selection 
+0x402b 014557 beq 3 ,motion3610_3clk_direction_selection 
+0x402c 014558 rtn 
+:      014560 mouse_3610_smart_select:
+0x402d 014561 fetch 1 ,mem_sensor_smart_flag 
+0x402e 014562 beq p3610_smart_enable ,mouse_3610_smart_disable 
+0x402f 014563 beq p3610_smart_disable ,mouse_3610_smart_enable 
+0x4030 014564 rtn 
+:      014567 motion3610_6clk_direction_selection:
+0x4031 014568 call motion_6clk_direction_dispose 
+0x4032 014569 branch mouse_3610_smart_select 
+:      014571 motion3610_12clk_direction_selection:
+0x4033 014572 call motion_12clk_direction_dispose 
+0x4034 014573 branch mouse_3610_smart_select 
+:      014575 motion3610_9clk_direction_selection:
+0x4035 014576 call motion_9clk_direction_dispose 
+0x4036 014577 branch mouse_3610_smart_select 
+:      014579 motion3610_3clk_direction_selection:
+0x4037 014580 call motion_3clk_direction_dispose 
+0x4038 014581 branch mouse_3610_smart_select 
+:      014583 mouse_read_sensor3610_data:
+0x4039 014584 call spi_ncs_enable 
+0x403a 014585 call mouse_read_sensor_common 
+0x403b 014586 arg 5 ,pdata 
+0x403c 014587 call twspi_read 
+0x403d 014588 store 1 ,mem_mouse_xy_h 
+0x403e 014589 arg 7 ,pdata 
+0x403f 014590 call twspi_read 
+0x4040 014591 store 1 ,mem_sensor_shutter_hi 
+0x4041 014592 arg 8 ,pdata 
+0x4042 014593 call twspi_read 
+0x4043 014594 store 1 ,mem_sensor_shutter_lo 
+0x4044 014595 branch spi_ncs_disable 
+:      014598 mouse_3610_smart_enable:
+0x4045 014599 fetch 1 ,mem_sensor_shutter_hi 
+0x4046 014600 rtnne 0 
+0x4047 014601 fetch 1 ,mem_sensor_shutter_lo 
+0x4048 014602 sub pdata ,45 ,null 
+0x4049 014603 rtn positive 
+0x404a 014604 jam p3610_smart_enable ,mem_sensor_smart_flag 
+0x404b 014605 setarg 0xba41 
+0x404c 014606 call sensor_write 
+0x404d 014607 setarg 0x0032 
+0x404e 014608 call sensor_write 
+0x404f 014609 setarg 0xb541 
+0x4050 014610 branch sensor_write 
+:      014611 mouse_3610_smart_disable:
+0x4051 014612 fetch 1 ,mem_sensor_shutter_hi 
+0x4052 014613 rtnne 0 
+0x4053 014614 fetch 1 ,mem_sensor_shutter_lo 
+0x4054 014615 sub pdata ,45 ,null 
+0x4055 014616 nrtn positive 
+0x4056 014617 jam p3610_smart_disable ,mem_sensor_smart_flag 
+0x4057 014618 setarg 0xba41 
+0x4058 014619 call sensor_write 
+0x4059 014620 setarg 0x8032 
+0x405a 014621 call sensor_write 
+0x405b 014622 setarg 0xb541 
+0x405c 014623 branch sensor_write 
+:      014627 mouse_read_sensor_common:
+0x405d 014628 arg pan_reg_delta_x ,pdata 
+0x405e 014629 call twspi_read 
+0x405f 014630 store 2 ,mem_mouse_x 
+0x4060 014631 arg pan_reg_delta_y ,pdata 
+0x4061 014632 call twspi_read 
+0x4062 014633 store 2 ,mem_mouse_y 
+0x4063 014634 rtn 
+:      014636 mouse_set_qdecoder_x:
+0x4064 014637 arg mouse_default_xa_gpio ,temp 
+0x4065 014638 call gpio_config_input 
+0x4066 014639 arg mouse_default_xa_gpio ,temp 
+0x4067 014640 call gpio_get_bit 
+0x4068 014641 rtn true 
+0x4069 014642 hfetch 1 ,core_qdec_cntx 
+0x406a 014643 set1 4 ,pdata 
+0x406b 014644 hstore 1 ,core_qdec_cntx 
+0x406c 014645 rtn 
+:      014647 mouse_hardware_zwheel:
+0x406d 014648 fetcht 1 ,mem_mouse_z_data 
+0x406e 014649 hfetch 1 ,core_qdec_cntx 
+0x406f 014650 iadd temp ,pdata 
+0x4070 014651 rtn blank 
+0x4071 014652 store 1 ,mem_mouse_z 
+0x4072 014653 jam 0 ,mem_mouse_z_data 
+0x4073 014654 branch enable_user 
+:      014655 mouse_hardware_zwheel_beforelpm:
+0x4074 014656 fetcht 1 ,mem_mouse_z_data 
+0x4075 014657 hfetch 1 ,core_qdec_cntx 
+0x4076 014658 iadd temp ,pdata 
+0x4077 014659 store 1 ,mem_mouse_z_data 
+0x4078 014660 rtn 
+:      014661 mouse_zwheel:
+0x4079 014662 fetch 1 ,mem_mouse_z_data 
+0x407a 014663 rtn blank 
+0x407b 014664 store 1 ,mem_mouse_z 
+0x407c 014665 jam 0 ,mem_mouse_z_data 
+0x407d 014666 branch enable_user 
+:      014668 mouse_t_zwheel:
+0x407e 014669 fetch 1 ,mem_mouse_tz_data 
+0x407f 014670 rtn blank 
+0x4080 014671 store 1 ,mem_mouse_tz 
+0x4081 014672 jam 0 ,mem_mouse_tz_data 
+0x4082 014673 branch enable_user 
+:      014675 mouse_check_key_gpio:
+0x4083 014676 arg 0 ,rega 
+0x4084 014677 fetcht 1 ,mem_lbutton_gpio 
+0x4085 014678 call gpio_get_bit 
+0x4086 014679 setflag true ,0 ,rega 
+0x4087 014680 fetcht 1 ,mem_rbutton_gpio 
+0x4088 014681 call gpio_get_bit 
+0x4089 014682 setflag true ,1 ,rega 
+0x408a 014683 fetcht 1 ,mem_mbutton_gpio 
+0x408b 014684 call gpio_get_bit 
+0x408c 014685 setflag true ,2 ,rega 
+0x408d 014686 call mouse_check_s_key_gpio 
+:      014687 mouse_check_key_gpio_output:
+0x408e 014688 copy rega ,pdata 
+0x408f 014689 rtn 
+:      014690 mouse_check_s_key_gpio:
+0x4090 014691 fetch 1 ,mem_bk_button_gpio 
+0x4091 014692 rtneq gpio_disable 
+0x4092 014693 fetcht 1 ,mem_bk_button_gpio 
+0x4093 014694 call gpio_get_bit 
+0x4094 014695 setflag true ,3 ,rega 
+0x4095 014696 fetcht 1 ,mem_fw_button_gpio 
+0x4096 014697 call gpio_get_bit 
+0x4097 014698 setflag true ,4 ,rega 
+0x4098 014699 rtn 
+:      014701 mouse_key:
+0x4099 014702 call mouse_check_key_gpio 
+0x409a 014703 call mouse_set_mult 
+0x409b 014704 call mouse_24g_key 
+0x409c 014705 copy rega ,pdata 
+0x409d 014706 fetcht 1 ,mem_mouse_key 
+0x409e 014707 store 1 ,mem_mouse_key 
+0x409f 014708 ixor temp ,pdata 
+0x40a0 014709 sub pdata ,0 ,null 
+0x40a1 014710 rtn zero 
+0x40a2 014711 branch enable_user 
+:      014713 mouse_24g_key:
+0x40a3 014714 rtnmark0 mark_24g 
+0x40a4 014715 copy rega ,pdata 
+0x40a5 014716 rtn blank 
+0x40a6 014717 store 1 ,mem_mouse_key 
+0x40a7 014718 branch enable_user 
+:      014721 mouse_set_mult:
+0x40a8 014722 fetch 2 ,mem_ui_state_map 
+0x40a9 014723 bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+0x40aa 014724 fetch 2 ,mem_ui_state_map 
+0x40ab 014725 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+0x40ac 014726 rtn 
+:      014727 mouse_set_ble_mult:
+0x40ad 014728 copy rega ,pdata 
+0x40ae 014729 nbranch le_set_config_short_mult ,blank 
+0x40af 014730 branch le_clr_config_short_mult 
+:      014731 mouse_set_bt_mult:
+0x40b0 014732 copy rega ,pdata 
+0x40b1 014733 nbranch classic_bt_set_mult_short_flag ,blank 
+0x40b2 014734 branch classic_bt_clr_mult_short_flag 
+:      014737 mouse_sensor_sdio_low:
+0x40b3 014738 bpatch patch1c_7 ,mem_patch1c 
+0x40b4 014739 arg mouse_spi1_sdio_gpio ,temp 
+0x40b5 014740 fetch mouse_flag_len ,mem_mouse_flag 
+0x40b6 014741 isolate1 mouse_enable_spi2 ,pdata 
+0x40b7 014742 call mouse_sensor_sdio_low2 ,true 
+0x40b8 014743 call gpio_get_bit 
+0x40b9 014744 rtn true 
+0x40ba 014745 setarg 0x0a 
+0x40bb 014746 call twspi_read 
+0x40bc 014747 nop 1000 
+0x40bd 014748 branch mouse_sensor_sdio_low 
+:      014749 mouse_sensor_sdio_low2:
+0x40be 014750 arg mouse_spi2_sdio_gpio ,temp 
+0x40bf 014751 rtn 
+:      014753 mouse_spi_sdio_gpio_pollup:
+0x40c0 014754 fetch mouse_flag_len ,mem_mouse_flag 
+0x40c1 014755 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+:      014756 mouse_spi1_sdio_gpio_pollup:
+0x40c2 014757 arg mouse_spi1_sdio_gpio ,temp 
+0x40c3 014758 branch gpio_config_input_without_wake 
+:      014759 mouse_spi2_sdio_gpio_pollup:
+0x40c4 014760 arg mouse_spi2_sdio_gpio ,temp 
+0x40c5 014761 branch gpio_config_input_without_wake 
+:      014764 mouse_init_sunt:
+0x40c6 014765 call mouse_spi_init 
+0x40c7 014766 rtn wake 
+0x40c8 014767 call mouse_spi_sdio_gpio_pollup 
+0x40c9 014768 fetch 1 ,mem_config_sensor_type 
+0x40ca 014769 beq p3610 ,mouse_init_3610sensor 
+:      014770 mouse_init_sensor:
+0x40cb 014771 call mouse_read_sensor_id 
+0x40cc 014772 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+0x40cd 014773 beq p3065_id1 ,mouse_p3065_init_param 
+0x40ce 014774 call mouse_twspi_reset 
+0x40cf 014775 nop 1000 
+0x40d0 014776 branch mouse_init_sensor 
+:      014777 mouse_twspi_reset:
+0x40d1 014778 bpatch patch1d_0 ,mem_patch1d 
+0x40d2 014779 fetch mouse_flag_len ,mem_mouse_flag 
+0x40d3 014780 bbit1 mouse_enable_spi2 ,twspi_reset2 
+0x40d4 014781 branch twspi_reset 
+:      014783 mouse_init_3610sensor:
+0x40d5 014784 call mouse_read_sensor_id 
+0x40d6 014785 beq p3610_id1 ,mouse_init_p3610 
+0x40d7 014786 call mouse_init_3610sensor_reset 
+0x40d8 014787 branch mouse_init_3610sensor 
+:      014789 mouse_read_sensor_id:
+0x40d9 014790 setarg pan_reg_pid_h 
+0x40da 014791 call twspi_read 
+0x40db 014792 store 1 ,mem_sensor_id2 
+0x40dc 014793 setarg pan_reg_pid_l 
+0x40dd 014794 call twspi_read 
+0x40de 014795 store 1 ,mem_sensor_id1 
+0x40df 014796 rtn 
+:      014797 mouse_init_p32xx_id2_judge:
+0x40e0 014798 fetch 1 ,mem_sensor_id2 
+0x40e1 014799 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+0x40e2 014800 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+0x40e3 014801 beq p3212_id2 ,mouse_3212_init_param 
+0x40e4 014802 beq pka8_id2 ,mouse_ka8_init_param 
+0x40e5 014803 rtn 
+:      014804 mouse_ka8_init_param:
+0x40e6 014805 jam ka8 ,mem_config_sensor_type 
+0x40e7 014806 rtn 
+:      014807 mouse_p3065xy_init_param:
+0x40e8 014808 jam p3065_xy ,mem_config_sensor_type 
+0x40e9 014809 rtn 
+:      014810 mouse_p3065_init_param:
+0x40ea 014811 fetch 1 ,mem_sensor_id2 
+0x40eb 014812 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x40ec 014813 jam p3065 ,mem_config_sensor_type 
+0x40ed 014814 rtn 
+:      014815 mouse_3212_init_param:
+0x40ee 014816 jam p3212 ,mem_config_sensor_type 
+0x40ef 014817 call mouse_sensor_disable_wp 
+0x40f0 014818 setarg 0x3426 
+0x40f1 014819 call twspi_write 
+0x40f2 014820 setarg 0x0419 
+0x40f3 014821 call twspi_write 
+:      014822 mouse_sensor_enable_wp:
+0x40f4 014823 setarg 0x0009 
+0x40f5 014824 branch twspi_write 
+:      014825 mouse_sensor_disable_wp:
+0x40f6 014826 setarg 0x5a09 
+0x40f7 014827 branch twspi_write 
+:      014829 mouse_3204_3l_init_param:
+0x40f8 014830 jam p3204 ,mem_config_sensor_type 
+0x40f9 014831 call mouse_sensor_disable_wp 
+0x40fa 014832 setarg 0x0f0d 
+0x40fb 014833 call twspi_write 
+0x40fc 014834 setarg 0xe31d 
+0x40fd 014835 call twspi_write 
+0x40fe 014836 setarg 0xd27d 
+0x40ff 014837 call twspi_write 
+0x4100 014838 call mouse_32xx_init_param 
+0x4101 014839 branch mouse_32xx_init_param_1 
+:      014841 mouse_32xx_init_param:
+0x4102 014842 setarg 0x351b 
+0x4103 014843 call twspi_write 
+0x4104 014844 setarg 0xb428 
+0x4105 014845 call twspi_write 
+0x4106 014846 setarg 0x4629 
+0x4107 014847 call twspi_write 
+0x4108 014848 setarg 0x962a 
+0x4109 014849 call twspi_write 
+0x410a 014850 setarg 0x8c2b 
+0x410b 014851 call twspi_write 
+0x410c 014852 setarg 0x6e2c 
+0x410d 014853 call twspi_write 
+0x410e 014854 setarg 0x642d 
+0x410f 014855 call twspi_write 
+0x4110 014856 setarg 0x5f38 
+0x4111 014857 call twspi_write 
+0x4112 014858 setarg 0x0f39 
+0x4113 014859 call twspi_write 
+0x4114 014860 setarg 0x323a 
+0x4115 014861 call twspi_write 
+0x4116 014862 setarg 0x473b 
+0x4117 014863 call twspi_write 
+0x4118 014864 setarg 0x1042 
+0x4119 014865 branch twspi_write 
+:      014866 mouse_32xx_init_param_1:
+0x411a 014867 setarg 0x2e54 
+0x411b 014868 call twspi_write 
+0x411c 014869 setarg 0xf255 
+0x411d 014870 call twspi_write 
+0x411e 014871 setarg 0xf461 
+0x411f 014872 call twspi_write 
+0x4120 014873 setarg 0x7063 
+0x4121 014874 call twspi_write 
+0x4122 014875 setarg 0x5275 
+0x4123 014876 call twspi_write 
+0x4124 014877 setarg 0x4176 
+0x4125 014878 call twspi_write 
+0x4126 014879 setarg 0xed77 
+0x4127 014880 call twspi_write 
+0x4128 014881 setarg 0x2378 
+0x4129 014882 call twspi_write 
+0x412a 014883 setarg 0x4679 
+0x412b 014884 call twspi_write 
+0x412c 014885 setarg 0xe57a 
+0x412d 014886 call twspi_write 
+0x412e 014887 setarg 0x487c 
+0x412f 014888 call twspi_write 
+0x4130 014889 setarg 0x777e 
+0x4131 014890 call twspi_write 
+0x4132 014891 setarg 0x017f 
+0x4133 014892 call twspi_write 
+0x4134 014893 setarg 0x000b 
+0x4135 014894 call twspi_write 
+0x4136 014895 setarg 0x007f 
+0x4137 014896 call twspi_write 
+0x4138 014897 branch mouse_sensor_enable_wp 
+:      014900 mouse_3205_3t_init_param:
+0x4139 014901 jam p3205 ,mem_config_sensor_type 
+0x413a 014902 call mouse_sensor_disable_wp 
+0x413b 014903 setarg 0x100d 
+0x413c 014904 call twspi_write 
+0x413d 014905 setarg 0xed1d 
+0x413e 014906 call twspi_write 
+0x413f 014907 setarg 0x807d 
+0x4140 014908 call twspi_write 
+0x4141 014909 call mouse_32xx_init_param 
+0x4142 014910 setarg 0x0943 
+0x4143 014911 call twspi_write 
+0x4144 014912 branch mouse_32xx_init_param_1 
+:      014915 mouse_init_3610sensor_reset:
+0x4145 014916 fetcht 1 ,mem_sensor_reset_gpio 
+0x4146 014917 call gpio_out_active 
+0x4147 014918 call delay_10ms 
+0x4148 014919 fetcht 1 ,mem_sensor_reset_gpio 
+0x4149 014920 call gpio_out_inactive 
+0x414a 014921 branch delay_10ms 
+:      014923 mouse_init_p3610:
+0x414b 014924 jam p3610 ,mem_config_sensor_type 
+0x414c 014925 setarg 0xba41 
+0x414d 014926 call sensor_write 
+0x414e 014927 setarg 0x0d11 
+0x414f 014928 call sensor_write 
+0x4150 014929 setarg 0x041b 
+0x4151 014930 call sensor_write 
+0x4152 014931 setarg 0x041c 
+0x4153 014932 call sensor_write 
+0x4154 014933 setarg 0x0f1d 
+0x4155 014934 call sensor_write 
+0x4156 014935 setarg 0x0032 
+0x4157 014936 call sensor_write 
+0x4158 014937 setarg 0xb541 
+0x4159 014938 branch sensor_write 
+:      014942 mouse_set_sensor_reg:
+0x415a 014943 setarg 0xba41 
+0x415b 014944 call sensor_write 
+0x415c 014945 nop 4000 
+0x415d 014946 setarg 0xff7f 
+0x415e 014947 call sensor_write 
+0x415f 014948 copy rega ,pdata 
+0x4160 014949 call sensor_write 
+0x4161 014950 setarg 0x007f 
+0x4162 014951 call sensor_write 
+0x4163 014952 setarg 0xb541 
+0x4164 014953 branch sensor_write 
+:      014955 extsign:
+0x4165 014956 rtnbit0 7 
+0x4166 014957 arg 0xff00 ,temp 
+0x4167 014958 ior temp ,pdata 
+0x4168 014959 rtn 
+:      014961 extsign_bit3:
+0x4169 014962 rtnbit0 3 
+0x416a 014963 arg 0xf0 ,temp 
+0x416b 014964 ior temp ,pdata 
+0x416c 014965 rtn 
+:      014968 mouse_le:
+0x416d 014969 call le_fifo_check_nearly_full 
+0x416e 014970 nrtn blank 
+0x416f 014971 fetch 1 ,mem_le_connect_status_flag 
+0x4170 014972 and pdata ,0x03 ,pdata 
+0x4171 014973 rtnne 0x03 
+0x4172 014974 fetch mouse_flag_len ,mem_mouse_flag 
+0x4173 014975 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+0x4174 014976 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+0x4175 014977 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x4176 014978 call mouse_motion 
+0x4177 014979 nrtn user 
+0x4178 014980 branch mouse_fill_data_le 
+:      014982 mouse_le_send_empty_packet:
+0x4179 014983 setarg 0 
+0x417a 014984 store 7 ,mem_mouse_key 
+0x417b 014985 branch mouse_fill_data_le 
+:      014987 mouse_priority_bb_event:
+0x417c 014988 copy regc ,pdata 
+0x417d 014989 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+0x417e 014990 beq bt_evt_bb_connected ,mouse_stop_discovery 
+0x417f 014991 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+0x4180 014992 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+0x4181 014993 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+0x4182 014994 beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+0x4183 014995 beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+0x4184 014996 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+0x4185 014997 beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+0x4186 014998 beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+0x4187 014999 beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+0x4188 015000 beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+0x4189 015001 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+0x418a 015002 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+0x418b 015003 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+0x418c 015004 beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+0x418d 015005 beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+0x418e 015006 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+0x418f 015007 beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+0x4190 015008 rtn 
+:      015011 mouse_le_pairing_complete:
+0x4191 015012 branch app_ble_store_reconn_info 
+:      015014 mouse_24g_attempt_fail:
+0x4192 015015 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4193 015016 fetch 1 ,mem_reconn_times 
+0x4194 015017 nbranch mouse_polling_device ,blank 
+0x4195 015018 fetch 1 ,mem_device_flag 
+0x4196 015019 fetcht 1 ,mem_24g_device_number 
+0x4197 015020 isub temp ,null 
+0x4198 015021 branch app_enter_hibernate ,zero 
+0x4199 015022 rtn 
+:      015023 mouse_24g_attempt_success:
+0x419a 015024 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419b 015025 rtn 
+:      015026 mouse_24g_pairing_complete:
+0x419c 015027 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419d 015028 arg mosue_24g_pairing_flag ,queue 
+0x419e 015029 call mouse_disable_function_flag 
+0x419f 015030 setarg 0 
+0x41a0 015031 store 2 ,mem_24g_pairing_timer_count 
+0x41a1 015032 jam 0 ,mem_mouse_move_flag 
+0x41a2 015034 fetch 1 ,mem_config_sensor_type 
+0x41a3 015035 sub pdata ,p3610 ,null 
+0x41a4 015036 call mouse_read_sensor3610_data ,zero 
+0x41a5 015037 ncall mouse_read_sensor_common ,zero 
+0x41a6 015039 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x41a7 015040 bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+0x41a8 015041 call mouse_set_24g_addr_eeprom 
+0x41a9 015042 branch iicd_write_protect_eep_data 
+:      015044 mouse_set_24g_addr_eeprom:
+0x41aa 015045 call g24_head_ptr2regc 
+0x41ab 015046 add regc ,offset_24g_addr ,rega 
+0x41ac 015047 arg mouse_g24_addr_eeprom_offect ,regb 
+0x41ad 015048 arg 4 ,temp 
+0x41ae 015049 rtn 
+:      015051 mouse_store_flash_24g_address:
+0x41af 015052 call g24_head_ptr2regc 
+0x41b0 015053 add regc ,offset_24g_addr ,regb 
+0x41b1 015054 ifetch 1 ,regb 
+0x41b2 015055 store 1 ,mem_mouse_24g_addr 
+0x41b3 015056 branch mouse_store_flash_device_info 
+:      015059 mouse_le_pairing_success:
+0x41b4 015060 arg ll_pairing_success_flag ,queue 
+0x41b5 015061 branch mouse_le_enable_connect_flag 
+:      015062 mouse_le_ll_start_encryt:
+0x41b6 015063 jam 2 ,mem_le_start_encrypt_timer 
+0x41b7 015064 arg ll_start_enc_flag ,queue 
+0x41b8 015065 branch mouse_le_enable_connect_flag 
+:      015068 mouse_le_enable_connect_flag:
+0x41b9 015069 fetch 1 ,mem_le_connect_status_flag 
+0x41ba 015070 qset1 pdata 
+0x41bb 015071 store 1 ,mem_le_connect_status_flag 
+0x41bc 015072 rtn 
+:      015074 mouse_le_disable_connect_flag:
+0x41bd 015075 fetch 1 ,mem_le_connect_status_flag 
+0x41be 015076 qset0 pdata 
+0x41bf 015077 store 1 ,mem_le_connect_status_flag 
+0x41c0 015078 rtn 
+:      015079 mouse_le_clean_connect_flag:
+0x41c1 015080 jam 0 ,mem_le_connect_status_flag 
+0x41c2 015081 rtn 
+:      015083 mouse_le_bb_event_connected:
+0x41c3 015084 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c4 015085 set0 app_disc_by_button ,pdata 
+0x41c5 015086 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c6 015087 setarg 0 
+0x41c7 015088 store 2 ,mem_mouse_direct_timer 
+0x41c8 015089 call mouse_no_data_timer_init 
+0x41c9 015090 branch mouse_stop_discovery 
+:      015092 mouse_bb_event_pincode:
+0x41ca 015093 call pincode_reinit 
+0x41cb 015094 branch app_bt_set_pincode 
+:      015095 mouse_bb_event_reconn_timeout:
+:      015096 mouse_bb_event_reconn_failed:
+0x41cc 015097 fetch 1 ,mem_reconn_times 
+0x41cd 015098 nbranch mouse_polling_device ,blank 
+0x41ce 015099 fetch 2 ,mem_ui_state_map 
+0x41cf 015100 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41d0 015101 fetch mouse_flag_len ,mem_mouse_flag 
+0x41d1 015102 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41d2 015103 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+0x41d3 015104 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41d4 015105 branch app_bb_hibernate 
+:      015108 mouse_bt_hid_connected:
+0x41d5 015109 branch mouse_hid_connected 
+:      015111 mouse_bt_event_setup_complete:
+0x41d6 015112 rtn 
+:      015114 mouse_soft_reset:
+0x41d7 015115 call mouse_select_device_enable 
+0x41d8 015116 branch soft_reset_chip 
+:      015118 mouse_bb_disconnected:
+0x41d9 015119 bpatch patch1d_1 ,mem_patch1d 
+0x41da 015120 call mouse_bb_discon_clear_stack 
+0x41db 015121 fetch mouse_flag_len ,mem_mouse_flag 
+0x41dc 015122 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41dd 015123 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41de 015124 fetch 1 ,mem_reconn_times 
+0x41df 015125 nbranch mouse_polling_device ,blank 
+0x41e0 015126 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41e1 015127 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+0x41e2 015128 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41e3 015129 bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+0x41e4 015130 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+0x41e5 015131 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41e6 015132 branch mouse_start_discovery 
+:      015133 mouse_bb_discon_clear_stack:
+0x41e7 015134 setarg 0 
+0x41e8 015135 store 8 ,mem_wheel_tb_old_pinlevel 
+0x41e9 015136 istore 4 ,contw 
+0x41ea 015137 jam 0 ,mem_mouse_send_blank_timer 
+0x41eb 015138 jam 0 ,mem_mouse_move_flag 
+0x41ec 015139 jam app_handshake_null ,mem_app_handshake_flag 
+0x41ed 015140 jam 0 ,mem_ltk_exists 
+0x41ee 015141 rtn 
+:      015143 mouse_event_light_state_pairing:
+0x41ef 015144 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+0x41f0 015145 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41f1 015146 branch mouse_start_discovery 
+:      015147 mouse_event_light_state_hibernate:
+0x41f2 015148 fetch 2 ,mem_ui_state_map 
+0x41f3 015149 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41f4 015150 branch app_bb_hibernate 
+:      015152 mouse4_0_event_bb_disconn:
+0x41f5 015153 call mouse_le_clean_connect_flag 
+0x41f6 015154 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41f7 015155 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41f8 015156 branch app_bb_hibernate 
+:      015158 mouse_bb_event_timer:
+0x41f9 015159 call mouse_adc_read 
+0x41fa 015160 call mouse_24g_delay_timer 
+0x41fb 015161 call mouse_ban_24g_pairing_timer 
+0x41fc 015162 call mouse_dpi_led_blink_delay_timer 
+0x41fd 015163 call mouse_statue_up_timer 
+0x41fe 015165 call mouse_statue_cheak_timer 
+0x41ff 015166 call mouse_select_device 
+0x4200 015167 call mouse_bt_discovery_cheak 
+0x4201 015168 call mouse_low_voltage_led_timer 
+0x4202 015169 call mouse_sensor_led_contrl_timer 
+0x4203 015170 call mouse_check_hid_handshake_timer 
+0x4204 015171 call mouse_check_discovery_timeout_timer 
+0x4205 015172 call mouse_check_direct_timeout_timer 
+0x4206 015173 call mouse_check_no_data_timeout_timer 
+0x4207 015174 call mouse_check_mouse_state_timer 
+0x4208 015175 branch mouse_le_enable_att_list_timer 
+:      015179 mouse_sensor_led_contrl_timer:
+0x4209 015180 fetch 1 ,mem_mouse_sensor_timer_count 
+0x420a 015181 rtn blank 
+0x420b 015182 increase -1 ,pdata 
+0x420c 015183 store 1 ,mem_mouse_sensor_timer_count 
+0x420d 015184 nrtn blank 
+0x420e 015185 branch mouse_sensor_led_contrl 
+:      015186 mouse_sensor_led_contrl:
+0x420f 015187 fetch 1 ,mem_sensor_led_style 
+0x4210 015188 rtneq ui_led_state_blink_stop 
+0x4211 015189 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+:      015190 mouse_sensor_led_blink_state_lighting:
+0x4212 015191 call mouse_sensor_led_on 
+0x4213 015192 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+0x4214 015193 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4215 015194 rtn 
+:      015195 mouse_sensor_led_blink_state_darking:
+0x4216 015196 call mouse_sensor_led_off 
+0x4217 015197 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+0x4218 015198 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4219 015199 rtn 
+:      015201 mouse_sensor_led_blink_stop:
+:      015202 mouse_sensor_reset:
+0x421a 015203 setarg 0x8006 
+0x421b 015204 call twspi_write 
+0x421c 015205 nop 1000 
+0x421d 015206 jam 0x00 ,mem_mouse_sensor_timer_count 
+0x421e 015207 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+0x421f 015208 branch mouse_init_p32xx_id2_judge 
+:      015210 mouse_p3212sensor_led_on:
+0x4220 015211 setarg 0xa006 
+0x4221 015212 call twspi_write 
+0x4222 015213 setarg 0xa005 
+0x4223 015214 branch twspi_write 
+:      015215 mouse_sensor_led_on_global:
+0x4224 015216 jam 0 ,mem_mouse_sensor_timer_count 
+:      015217 mouse_sensor_led_on:
+0x4225 015218 fetch 1 ,mem_config_sensor_type 
+0x4226 015219 beq p3212 ,mouse_p3212sensor_led_on 
+0x4227 015220 setarg 0x0106 
+0x4228 015221 call twspi_write 
+0x4229 015222 setarg 0xa105 
+0x422a 015223 branch twspi_write 
+:      015225 mouse_sensor_led_off_global:
+0x422b 015226 jam 0 ,mem_mouse_sensor_timer_count 
+:      015227 mouse_sensor_led_off:
+0x422c 015228 setarg 0x0906 
+0x422d 015229 branch twspi_write 
+:      015230 mouse_sensor_start_blink:
+0x422e 015231 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x422f 015232 jam ui_led_state_blink_start ,mem_sensor_led_style 
+0x4230 015233 rtn 
+:      015235 mouse_check_hid_handshake_timer:
+0x4231 015236 arg mem_hid_handshake_timer_count ,regc 
+0x4232 015237 arg mouse_bt_hid_handshake ,regb 
+0x4233 015238 branch timer_single_step 
+:      015240 mouse_check_discovery_timeout_timer:
+0x4234 015241 arg mem_mouse_discovery_timer ,regc 
+0x4235 015242 arg mouse_check_discovery_timeout ,regb 
+0x4236 015243 branch timer_single_step_2b 
+:      015245 mouse_check_direct_timeout_timer:
+0x4237 015246 arg mem_mouse_direct_timer ,regc 
+0x4238 015247 arg mouse_check_direct_timeout ,regb 
+0x4239 015248 branch timer_single_step_2b 
+:      015250 mouse_check_no_data_timeout_timer:
+0x423a 015251 arg mem_mouse_no_data_timer ,regc 
+0x423b 015252 arg mouse_check_no_data_timeout ,regb 
+0x423c 015253 branch timer_single_step_2b 
+:      015255 mouse_check_mouse_state_timer:
+0x423d 015256 arg mem_mouse_statue_led_timer ,regc 
+0x423e 015257 arg mouse_statue_led_off ,regb 
+0x423f 015258 branch timer_single_step 
+:      015262 mouse_le_enable_att_list_timer:
+0x4240 015263 arg mem_le_start_encrypt_timer ,regc 
+0x4241 015264 arg mouse_le_enable_att_list ,regb 
+0x4242 015265 branch timer_single_step 
+:      015267 mouse_24g_delay_timer:
+0x4243 015268 arg mem_24g_enter_lpm_timer ,regc 
+0x4244 015269 arg mouse_24g_delay ,regb 
+0x4245 015270 branch timer_single_step 
+:      015272 mouse_ban_24g_pairing_timer:
+0x4246 015273 arg mem_24g_pairing_timer_count ,regc 
+0x4247 015274 arg mouse_ban_24g_pairing ,regb 
+0x4248 015275 branch timer_single_step_2b 
+:      015276 mouse_ban_24g_pairing:
+:      015277 mouse_24g_delay:
+0x4249 015278 rtn 
+:      015281 mosue_dpi_led_blink_init:
+0x424a 015282 fetch mouse_flag_len ,mem_mouse_flag 
+0x424b 015283 rtnbit0 mouse_enable_dpi_led_blink 
+0x424c 015284 jam 10 ,mem_mouse_dpi_led_delay_count 
+0x424d 015285 fetch 1 ,mem_dpi_led_gpio 
+0x424e 015286 store 1 ,mem_mouse_struct_led_gpio 
+0x424f 015287 rtn 
+:      015290 mouse_dpi_led_blink_delay_timer:
+0x4250 015291 arg mem_mouse_dpi_led_delay_count ,regc 
+0x4251 015292 arg mouse_dpi_led_setting ,regb 
+0x4252 015293 branch timer_single_step 
+:      015294 mouse_dpi_led_setting:
+0x4253 015295 fetch 1 ,mem_dpi_led_gpio 
+0x4254 015296 store 1 ,mem_mouse_struct_led_gpio 
+0x4255 015297 setarg led_dpi_blink 
+0x4256 015298 store 2 ,mem_mouse_on_time 
+0x4257 015299 store 2 ,mem_mouse_off_time 
+0x4258 015300 arg 0 ,rega 
+0x4259 015301 fetcht 1 ,mem_mouse_dpi 
+0x425a 015302 increase 1 ,temp 
+0x425b 015303 storet 1 ,mem_mouse_blink_count 
+0x425c 015304 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x425d 015305 rtn 
+:      015307 mouse_le_enable_att_list:
+0x425e 015308 fetch 1 ,mem_le_connect_status_flag 
+0x425f 015309 rtnbit1 ll_pairing_success_flag 
+0x4260 015310 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4261 015311 call ui_ipc_send_cmd 
+0x4262 015312 arg write_req_enable_flag ,queue 
+0x4263 015313 branch mouse_le_enable_connect_flag 
+:      015316 mouse_check_discovery_timeout:
+0x4264 015317 call mouse_stop_discovery 
+0x4265 015318 branch app_enter_hibernate 
+:      015320 mouse_check_direct_timeout:
+0x4266 015321 call app_ble_stop_direct_adv 
+0x4267 015322 fetch 1 ,mem_reconn_times 
+0x4268 015323 nbranch mouse_polling_device ,blank 
+0x4269 015324 branch app_enter_hibernate 
+:      015326 mouse_check_no_data_timeout:
+0x426a 015327 bmark1 mark_24g ,check_51cmd_hibernate 
+0x426b 015328 branch mouse_disconnect 
+:      015332 mouse_bb_event_discovery_btn:
+0x426c 015333 bpatch patch1d_2 ,mem_patch1d 
+0x426d 015334 jam 0 ,mem_mouse_send_blank_timer 
+0x426e 015335 call mouse_disconnect 
+0x426f 015336 call mouse_le_clean_connect_flag 
+0x4270 015337 branch mouse_start_discovery 
+:      015341 mouse3_0_check_reconn_target:
+0x4271 015342 fetch 6 ,mem_hci_plap 
+0x4272 015343 branch app_bt_start_discovery_short ,blank 
+0x4273 015344 call mouse_reconn_setting_led_gpio 
+0x4274 015345 jam 0x17 ,mem_connection_options 
+0x4275 015346 fetch 1 ,mem_ssp_enable 
+0x4276 015347 nbranch app_bt_start_reconnect ,blank 
+0x4277 015348 jam 0x04 ,mem_connection_options 
+0x4278 015349 branch app_bt_start_reconnect 
+:      015351 mouse4_0_check_reconn_target:
+0x4279 015352 fetch 2 ,mem_mouse_direct_timeout 
+0x427a 015353 store 2 ,mem_mouse_direct_timer 
+0x427b 015354 call mouse_reconn_setting_led_gpio 
+0x427c 015355 call app_lpm_mult_disable 
+0x427d 015356 branch check_51cmd_adv 
+:      015358 mouse_reconn_setting_led_gpio:
+0x427e 015359 setarg led_reconnect_blink 
+0x427f 015360 store 2 ,mem_mouse_on_time 
+0x4280 015361 store 2 ,mem_mouse_off_time 
+0x4281 015362 branch mouse_setting_led_gpio_comman 
+:      015364 mouse_discover_setting_led_gpio:
+0x4282 015365 setarg led_discovery_blink 
+0x4283 015366 store 2 ,mem_mouse_on_time 
+0x4284 015367 store 2 ,mem_mouse_off_time 
+:      015368 mouse_setting_led_gpio_comman:
+0x4285 015369 fetch 1 ,mem_device_flag 
+0x4286 015370 beq mode_bt_device1 ,mouse_device_led1 
+0x4287 015371 beq mode_bt_device2 ,mouse_device_led2 
+0x4288 015372 beq mode_bt_device3 ,mouse_device_led3 
+0x4289 015373 rtn 
+:      015374 mouse_device_led1:
+0x428a 015375 fetch 1 ,mem_config_device1_led_gpio 
+0x428b 015376 branch mouse_led_blink 
+:      015377 mouse_device_led2:
+0x428c 015378 fetch 1 ,mem_config_device2_led_gpio 
+0x428d 015379 branch mouse_led_blink 
+:      015380 mouse_device_led3:
+0x428e 015381 fetch 1 ,mem_config_device3_led_gpio 
+:      015382 mouse_led_blink:
+0x428f 015383 store 1 ,mem_temp 
+0x4290 015384 call mouse_devce_led_off 
+0x4291 015385 fetch 1 ,mem_temp 
+0x4292 015386 store 1 ,mem_mouse_struct_led_gpio 
+0x4293 015387 arg 0 ,rega 
+0x4294 015388 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x4295 015389 branch ui_led_blink_start_global 
+:      015391 mouse_led_off:
+0x4296 015392 arg 0 ,rega 
+0x4297 015393 branch ui_led_off_global 
+:      015394 mouse_led_on:
+0x4298 015395 arg 0 ,rega 
+0x4299 015396 branch ui_led_on_global 
+:      015398 mouse4_0_bb_event_discovery_btn:
+0x429a 015399 branch mouse_le_clean_connect_flag 
+:      015401 mouse_bt_hid_handshake:
+0x429b 015402 jam app_handshake_done ,mem_app_handshake_flag 
+0x429c 015403 call app_lpm_mult_enable 
+0x429d 015404 call app_bt_store_reconn_info 
+0x429e 015405 setarg 0 
+0x429f 015406 store 2 ,mem_discovery_timeout_timer_count 
+0x42a0 015407 store 1 ,mem_hid_handshake_timer_count 
+0x42a1 015408 branch app_bt_enter_sniff 
+:      015410 mouse_check_reconn_target:
+0x42a2 015411 call mouse_cheak_select_device_by_switch 
+0x42a3 015412 fetch 1 ,mem_device_flag 
+0x42a4 015413 fetcht 1 ,mem_24g_device_number 
+0x42a5 015414 isub temp ,null 
+0x42a6 015415 branch mouse_connect_24g_mode ,zero 
+0x42a7 015416 fetch 1 ,mem_xrecord_mode 
+0x42a8 015417 beq rec_3_mode ,mouse3_0_check_reconn_target 
+0x42a9 015418 beq rec_4_mode ,mouse4_0_check_reconn_target 
+0x42aa 015419 branch mouse_start_discovery 
+:      015420 mouse_connect_24g_mode:
+0x42ab 015421 call mouse_start_24g_mode 
+0x42ac 015422 rtnmark1 mark_24g 
+0x42ad 015423 fetch 1 ,mem_reconn_times 
+0x42ae 015424 nbranch mouse_polling_device ,blank 
+0x42af 015425 rtn 
+:      015427 mouse_start_discovery:
+0x42b0 015428 bpatch patch1d_3 ,mem_patch1d 
+0x42b1 015429 fetch 2 ,mem_ui_state_map 
+0x42b2 015430 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+0x42b3 015431 fetch mouse_flag_len ,mem_mouse_flag 
+0x42b4 015432 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+0x42b5 015433 random pdata 
+0x42b6 015434 store 1 ,mem_le_lap + 1 
+:      015435 mouse_start_discovery_norandom:
+0x42b7 015436 call app_lpm_mult_disable 
+0x42b8 015437 fetch 2 ,mem_discovery_timeout 
+0x42b9 015438 store 2 ,mem_mouse_discovery_timer 
+0x42ba 015439 jam 6 ,mem_connection_options 
+0x42bb 015440 setarg 0 
+0x42bc 015441 store 2 ,mem_mouse_no_data_timer 
+0x42bd 015442 store 2 ,mem_mouse_direct_timer 
+0x42be 015443 arg mouse_store_eeprom_flag ,queue 
+0x42bf 015444 call mouse_enable_function_flag 
+0x42c0 015445 call mouse_bt_discovery_button_down_disable 
+0x42c1 015446 fetch 1 ,mem_device_option 
+0x42c2 015447 isolate1 mode_4_mouse ,pdata 
+0x42c3 015448 call check_51cmd_adv ,true 
+0x42c4 015449 fetch 1 ,mem_device_option 
+0x42c5 015450 isolate1 mode_3_mouse ,pdata 
+0x42c6 015451 call check_51cmd_start_discovery ,true 
+0x42c7 015452 fetch mouse_flag_len ,mem_mouse_flag 
+0x42c8 015453 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+0x42c9 015454 branch mouse_discover_setting_led_gpio 
+:      015456 mouse_stop_discovery:
+0x42ca 015457 bpatch patch1d_4 ,mem_patch1d 
+0x42cb 015458 fetch 1 ,mem_device_option 
+0x42cc 015459 isolate1 mode_4_mouse ,pdata 
+0x42cd 015460 call mouse_stop_le_adv ,true 
+0x42ce 015461 fetch 1 ,mem_device_option 
+0x42cf 015462 isolate1 mode_3_mouse ,pdata 
+0x42d0 015463 call mouse_stop_bt3_discovery ,true 
+0x42d1 015464 fetch mouse_flag_len ,mem_mouse_flag 
+0x42d2 015465 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+0x42d3 015466 branch mouse_devce_led_off 
+:      015467 mouse_stop_le_adv:
+0x42d4 015468 setarg 0 
+0x42d5 015469 store 2 ,mem_mouse_direct_timer 
+0x42d6 015470 branch check_51cmd_stop_adv 
+:      015471 mouse_stop_bt3_discovery:
+0x42d7 015472 setarg 0 
+0x42d8 015473 store 2 ,mem_mouse_discovery_timer 
+0x42d9 015474 branch check_51cmd_stop_discovery 
+:      015480 mouse_store_remote_bdaddr:
+0x42da 015481 fetch mouse_flag_len ,mem_mouse_flag 
+0x42db 015482 rtnbit0 mouse_store_eeprom_flag 
+0x42dc 015483 arg mouse_store_eeprom_flag ,queue 
+0x42dd 015484 call mouse_disable_function_flag 
+0x42de 015485 call mouse_check_device_addr 
+:      015486 mouse_unplug_clean_bdaddr:
+0x42df 015487 call mouse_before_store_reconn_info 
+0x42e0 015488 fetch mouse_flag_len ,mem_mouse_flag 
+0x42e1 015489 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+0x42e2 015490 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+0x42e3 015491 rtn 
+:      015492 mouse_store_eeprom_device_info:
+0x42e4 015493 arg 88 ,temp 
+0x42e5 015494 arg mem_device_flag ,rega 
+0x42e6 015495 arg mouse_info_eeprom_offect ,regb 
+0x42e7 015496 branch iicd_write_protect_eep_data 
+:      015498 mouse_check_device_addr:
+0x42e8 015499 fetch 1 ,mem_record_bt_mode 
+0x42e9 015500 beq rec_4_mode ,mouse_check_le_device_addr 
+0x42ea 015501 beq rec_3_mode ,mouse_check_bt_device_addr 
+0x42eb 015502 rtn 
+:      015503 mouse_check_le_device_addr:
+0x42ec 015504 store 1 ,mem_device_addr_temp 
+0x42ed 015505 fetch 6 ,mem_le_plap 
+0x42ee 015506 branch mouse_check_bt_device_addr_common 
+:      015507 mouse_check_bt_device_addr:
+0x42ef 015508 store 1 ,mem_device_addr_temp 
+0x42f0 015509 fetch 6 ,mem_plap 
+:      015510 mouse_check_bt_device_addr_common:
+0x42f1 015511 store 6 ,mem_device_addr_temp + 1 
+0x42f2 015512 fetch 7 ,mem_device_addr_temp 
+0x42f3 015513 arg mem_device1_type ,contr 
+0x42f4 015514 arg 3 ,loopcnt 
+:      015515 mouse_check_device_addr_end:
+0x42f5 015516 ifetcht 7 ,contr 
+0x42f6 015517 isub temp ,null 
+0x42f7 015518 branch mouse_clean_addr ,zero 
+0x42f8 015519 increase 22 ,contr 
+0x42f9 015520 loop mouse_check_device_addr_end 
+0x42fa 015521 rtn 
+:      015522 mouse_before_store_reconn_info:
+0x42fb 015523 arg mem_device1_type ,rega 
+0x42fc 015524 fetch 1 ,mem_device_flag 
+0x42fd 015525 increase -1 ,pdata 
+0x42fe 015526 mul32 pdata ,29 ,pdata 
+0x42ff 015527 iadd rega ,rega 
+0x4300 015528 fetch 1 ,mem_record_bt_mode 
+0x4301 015529 istore 1 ,rega 
+0x4302 015530 beq rec_4_mode ,mouse_store_le_device 
+0x4303 015531 beq rec_3_mode ,mouse_store_bt_device 
+0x4304 015532 rtn 
+:      015534 mouse_store_le_device:
+0x4305 015535 fetch 6 ,mem_le_plap 
+0x4306 015536 istore 6 ,contw 
+0x4307 015537 arg mem_le_ltk ,contr 
+0x4308 015538 call memcpy16 
+0x4309 015539 fetch 6 ,mem_le_lap 
+0x430a 015540 istore 6 ,contw 
+0x430b 015541 rtn 
+:      015542 mouse_store_bt_device:
+0x430c 015543 fetch 6 ,mem_plap 
+0x430d 015544 istore 6 ,contw 
+0x430e 015545 arg mem_link_key ,contr 
+0x430f 015546 branch memcpy16 
+:      015548 mouse_clean_addr:
+0x4310 015549 increase -6 ,contr 
+0x4311 015550 copy contr ,contw 
+0x4312 015551 fetcht 6 ,mem_device_addr_temp + 1 
+0x4313 015552 increase 3 ,temp 
+0x4314 015553 istoret 6 ,contw 
+0x4315 015554 rtn 
+:      015558 mouse_eeprom_load_recon_info:
+0x4316 015559 arg 88 ,temp 
+0x4317 015560 arg mem_device_flag ,rega 
+0x4318 015561 arg mouse_info_eeprom_offect ,regb 
+0x4319 015562 call iicd_read_eep_data 
+:      015563 mouse_select_reconn_device:
+0x431a 015564 arg mem_device1_type ,rega 
+0x431b 015565 fetch 1 ,mem_device_flag 
+0x431c 015566 fetcht 1 ,mem_24g_device_number 
+0x431d 015567 isub temp ,null 
+0x431e 015568 rtn zero 
+0x431f 015569 increase -1 ,pdata 
+0x4320 015570 mul32 pdata ,29 ,pdata 
+0x4321 015571 iadd rega ,rega 
+0x4322 015572 ifetch 1 ,rega 
+0x4323 015573 store 1 ,mem_xrecord_mode 
+0x4324 015574 beq rec_3_mode ,mouse_load_bt_device 
+0x4325 015575 beq rec_4_mode ,mouse_load_le_device 
+0x4326 015576 rtn 
+:      015578 mouse_load_bt_device:
+0x4327 015579 ifetch 6 ,contr 
+:      015580 mouse_load_bt_device_end:
+0x4328 015581 store 6 ,mem_hci_plap 
+0x4329 015582 arg mem_link_key ,contw 
+0x432a 015583 call memcpy16 
+0x432b 015584 branch check_link_key_load 
+:      015586 mouse_load_le_device:
+0x432c 015587 ifetch 6 ,contr 
+:      015588 mouse_load_le_device_end:
+0x432d 015589 store 6 ,mem_hci_plap 
+0x432e 015590 arg mem_le_ltk ,contw 
+0x432f 015591 call memcpy16 
+0x4330 015592 ifetch 6 ,contr 
+0x4331 015593 store 6 ,mem_le_lap 
+0x4332 015594 rtn 
+:      015597 mouse_select_device:
+0x4333 015598 fetch 1 ,mem_config_function_enable 
+0x4334 015599 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+0x4335 015600 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+0x4336 015601 branch mouse_select_device_by_combination_key 
+:      015603 mouse_select_device_by_combination_key:
+0x4337 015604 call mouse_check_key_gpio 
+0x4338 015605 beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+:      015606 mouse_select_device_commbination_key_up:
+0x4339 015607 jam 30 ,mem_combination_select_device_count 
+0x433a 015608 fetch 1 ,mem_select_device_button_statue 
+0x433b 015609 rtneq dpi_button_state_up 
+0x433c 015610 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x433d 015611 rtn 
+:      015613 mouse_select_device_commbination_key_down:
+0x433e 015614 call mouse_combination_select_device_timer 
+0x433f 015615 fetch 1 ,mem_select_device_button_statue 
+0x4340 015616 rtneq dpi_button_state_down 
+0x4341 015617 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4342 015618 branch mouse_select_device_enable 
+:      015620 mouse_combination_select_device_timer:
+0x4343 015621 fetch 1 ,mem_combination_select_device_count 
+0x4344 015622 rtn blank 
+0x4345 015623 pincrease -1 
+0x4346 015624 store 1 ,mem_combination_select_device_count 
+0x4347 015625 nrtn blank 
+0x4348 015626 branch mouse_ready_reconnection_by_button 
+:      015628 mouse_select_device_by_button:
+0x4349 015629 fetch 1 ,mem_config_select_device_button_gpio 
+0x434a 015630 rtneq gpio_disable 
+0x434b 015631 fetcht 1 ,mem_config_select_device_button_gpio 
+0x434c 015632 call gpio_get_bit 
+0x434d 015633 branch mouse_select_device_button_down ,true 
+:      015634 mouse_select_device_button_up:
+0x434e 015635 fetch 1 ,mem_select_device_button_statue 
+0x434f 015636 rtneq dpi_button_state_up 
+0x4350 015637 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x4351 015638 fetch mouse_flag_len ,mem_mouse_flag 
+0x4352 015639 rtnbit1 mouse_long_bt_button_flag 
+0x4353 015640 branch mouse_ready_reconnection_by_button 
+:      015642 mouse_select_device_button_down:
+0x4354 015643 fetch 1 ,mem_select_device_button_statue 
+0x4355 015644 rtneq dpi_button_state_down 
+0x4356 015645 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4357 015646 arg mouse_long_bt_button_flag ,queue 
+0x4358 015647 branch mouse_disable_function_flag 
+:      015651 mouse_select_device_by_switch:
+0x4359 015652 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x435a 015653 rtnbit0 enable_select_device_by_switch 
+0x435b 015654 fetch 1 ,mem_device_flag 
+0x435c 015655 beq mode_bt_device1 ,mouse_select1_device 
+0x435d 015656 beq mode_24g_device ,mouse_select2_device 
+0x435e 015657 rtn 
+:      015658 mouse_cheak_select_device_by_switch:
+0x435f 015659 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x4360 015660 rtnbit0 enable_select_device_by_switch 
+0x4361 015661 fetcht 1 ,mem_config_select_device_button_gpio 
+0x4362 015662 call gpio_get_bit 
+0x4363 015663 branch mouse_cheak_select_24gdevice ,true 
+:      015664 mouse_select_btdevice:
+0x4364 015665 jam mode_bt_device1 ,mem_device_flag 
+0x4365 015666 rtn 
+:      015667 mouse_cheak_select_24gdevice:
+0x4366 015668 fetch 1 ,mem_24g_device_number 
+0x4367 015669 store 1 ,mem_device_flag 
+0x4368 015670 rtn 
+:      015671 mouse_select1_device:
+0x4369 015672 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436a 015673 nbranch mouse_ready_reconnection_by_button ,true 
+0x436b 015674 rtn 
+:      015675 mouse_select2_device:
+0x436c 015676 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436d 015677 call gpio_get_bit 
+0x436e 015678 branch mouse_select_device_button_down ,true 
+0x436f 015679 rtn 
+:      015684 mouse_ready_reconnection_by_button:
+0x4370 015685 fetcht 1 ,mem_device_flag 
+0x4371 015686 increase 1 ,temp 
+0x4372 015687 fetch 1 ,mem_device_number 
+0x4373 015688 isub temp ,null 
+0x4374 015689 ncall mouse_select_device_count_clean ,positive 
+0x4375 015690 storet 1 ,mem_device_flag 
+0x4376 015691 jam 0 ,mem_link_key_exists 
+0x4377 015692 call mouse_store_device_number2eeprom 
+0x4378 015693 call mouse_select_device_enable 
+0x4379 015695 branch mouse_set_reconnection 
+:      015697 mouse_store_device_number2eeprom:
+0x437a 015698 arg 1 ,temp 
+0x437b 015699 arg mem_device_flag ,rega 
+0x437c 015700 arg 0 ,regb 
+0x437d 015701 branch iicd_write_eep_data 
+:      015703 mouse_set_reconnection:
+0x437e 015704 call mouse_stop_bluetooth_mode 
+0x437f 015705 call mouse_select_device_disable 
+0x4380 015706 branch mouse_soft_reset 
+:      015707 mouse_stop_bluetooth_mode:
+0x4381 015708 fetch 2 ,mem_ui_state_map 
+0x4382 015709 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x4383 015710 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x4384 015711 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x4385 015712 branch mouse_stop_discovery 
+:      015714 mouse_disconnect:
+0x4386 015715 bpatch patch1d_5 ,mem_patch1d 
+0x4387 015716 setarg 0 
+0x4388 015717 store 2 ,mem_mouse_no_data_timer 
+0x4389 015718 fetch 2 ,mem_ui_state_map 
+0x438a 015719 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x438b 015720 fetch 2 ,mem_ui_state_map 
+0x438c 015721 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x438d 015722 rtn 
+:      015724 mouse_irtual_cable_unplug:
+0x438e 015725 setarg 0x01 
+0x438f 015726 store 6 ,mem_plap 
+0x4390 015727 jam rec_3_mode ,mem_record_bt_mode 
+0x4391 015728 branch mouse_unplug_clean_bdaddr 
+:      015731 mouse_cancel_reconnect:
+0x4392 015732 call mouse_bt_cannel_reconn_enable 
+0x4393 015733 branch check_51cmd_bb_reconn_cancel 
+:      015735 mouse_bt_discovery_by_button:
+0x4394 015736 fetch 1 ,mem_config_bt_button_gpio 
+0x4395 015737 rtneq gpio_disable 
+0x4396 015738 fetcht 1 ,mem_config_bt_button_gpio 
+0x4397 015739 call gpio_get_bit 
+0x4398 015740 branch mouse_bt_discovery_button_down ,true 
+:      015741 mouse_bt_discovery_button_up:
+0x4399 015742 fetch 1 ,mem_ui_button_timeout 
+0x439a 015743 store 1 ,mem_combination_ui_button_count 
+0x439b 015744 fetch 1 ,mem_bt_discovey_button_statue 
+0x439c 015745 rtneq dpi_button_state_up 
+0x439d 015746 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x439e 015747 branch mouse_bt_discovery_button_down_disable 
+:      015748 mouse_bt_discovery_button_down:
+0x439f 015749 call mouse_bt_discovry_timer 
+0x43a0 015750 fetch 1 ,mem_bt_discovey_button_statue 
+0x43a1 015751 rtneq dpi_button_state_down 
+0x43a2 015752 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43a3 015753 call check_51cmd_bb_reconn_cancel 
+0x43a4 015754 branch mouse_bt_discovery_button_down_enable 
+:      015757 mouse_bt_discovery_cheak:
+0x43a5 015758 fetch 1 ,mem_config_function_enable 
+0x43a6 015759 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+:      015760 mouse_bt_discovery_commbination_key:
+0x43a7 015761 call mouse_check_key_gpio 
+0x43a8 015762 beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+:      015763 mouse_bt_discovery_commbination_key_up:
+0x43a9 015764 fetch 1 ,mem_ui_button_timeout 
+0x43aa 015765 store 1 ,mem_combination_ui_button_count 
+0x43ab 015766 fetch 1 ,mem_bt_discovey_button_statue 
+0x43ac 015767 rtneq dpi_button_state_up 
+0x43ad 015768 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x43ae 015769 branch mouse_bt_discovery_button_down_disable 
+:      015772 mouse_bt_discovery_commbination_key_down:
+0x43af 015773 call mouse_bt_discovry_timer 
+0x43b0 015774 fetch 1 ,mem_bt_discovey_button_statue 
+0x43b1 015775 rtneq dpi_button_state_down 
+0x43b2 015776 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43b3 015777 call check_51cmd_bb_reconn_cancel 
+0x43b4 015778 branch mouse_bt_discovery_button_down_enable 
+:      015780 mouse_bt_discovry_timer:
+0x43b5 015781 arg mem_combination_ui_button_count ,regc 
+0x43b6 015782 arg mouse_long_button_bt_discovry ,regb 
+0x43b7 015783 branch timer_single_step 
+:      015785 mouse_long_button_bt_discovry:
+0x43b8 015786 arg mouse_long_bt_button_flag ,queue 
+0x43b9 015787 call mouse_enable_function_flag 
+0x43ba 015788 call app_evt_button_long_pressed 
+0x43bb 015789 branch mouse_bb_event_discovery_btn 
+:      015792 mouse_cpi_enable:
+0x43bc 015793 arg mouse_cpi_flag ,queue 
+0x43bd 015794 branch mouse_enable_function_flag 
+:      015795 mouse_cpi_disable:
+0x43be 015796 arg mouse_cpi_flag ,queue 
+0x43bf 015797 branch mouse_disable_function_flag 
+:      015798 mouse_select_device_enable:
+0x43c0 015799 arg mouse_select_device_flag ,queue 
+0x43c1 015800 branch mouse_enable_function_flag 
+:      015801 mouse_select_device_disable:
+0x43c2 015802 arg mouse_select_device_flag ,queue 
+0x43c3 015803 branch mouse_disable_function_flag 
+:      015804 mouse_bt_cannel_reconn_enable:
+0x43c4 015805 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c5 015806 branch mouse_enable_function_flag 
+:      015807 mouse_bt_cannel_reconn_disable:
+0x43c6 015808 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c7 015809 branch mouse_disable_function_flag 
+:      015810 mouse_bt_discovery_button_down_enable:
+0x43c8 015811 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43c9 015812 branch mouse_enable_function_flag 
+:      015813 mouse_bt_discovery_button_down_disable:
+0x43ca 015814 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43cb 015815 branch mouse_disable_function_flag 
+:      015819 mouse_select_device_count_clean:
+0x43cc 015820 arg 1 ,temp 
+0x43cd 015821 rtn 
+:      015823 mouse_enable_function_flag:
+0x43ce 015824 fetch mouse_flag_len ,mem_mouse_flag 
+0x43cf 015825 qset1 pdata 
+0x43d0 015826 store mouse_flag_len ,mem_mouse_flag 
+0x43d1 015827 rtn 
+:      015829 mouse_disable_function_flag:
+0x43d2 015830 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d3 015831 qset0 pdata 
+0x43d4 015832 store mouse_flag_len ,mem_mouse_flag 
+0x43d5 015833 rtn 
+:      015835 mouse_adc_read:
+0x43d6 015836 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d7 015837 rtnbit0 mouse_enable_adc 
+0x43d8 015838 fetch 1 ,mem_adc_read_timer 
+0x43d9 015839 increase 1 ,pdata 
+0x43da 015840 store 1 ,mem_adc_read_timer 
+0x43db 015841 sub pdata ,10 ,null 
+0x43dc 015842 rtn positive 
+0x43dd 015843 jam 0 ,mem_adc_read_timer 
+0x43de 015844 call adc_set_mode 
+0x43df 015845 call vdd_calculate_by_mode 
+0x43e0 015846 store 2 ,mem_mouse_vdd_now_vol 
+0x43e1 015847 arg mem_mouse_vdd_calculate_set ,rega 
+0x43e2 015848 call adc_bat_percent_lowpower_out 
+0x43e3 015849 fetch 1 ,mem_adc_power_flag 
+0x43e4 015850 bbit1 1 ,mouse_power_down 
+0x43e5 015851 bbit0 0 ,mouse_adc_no_low_voltage 
+0x43e6 015852 branch mouse_adc_low_voltage 
+:      015853 mouse_adc_low_voltage:
+0x43e7 015854 arg mouse_low_voltage_flag ,queue 
+0x43e8 015855 branch mouse_enable_function_flag 
+:      015856 mouse_adc_no_low_voltage:
+0x43e9 015857 arg mouse_low_voltage_flag ,queue 
+0x43ea 015858 branch mouse_disable_function_flag 
+:      015860 mouse_low_voltage_led_timer:
+0x43eb 015861 fetch mouse_flag_len ,mem_mouse_flag 
+0x43ec 015862 rtnbit0 mouse_low_voltage_flag 
+0x43ed 015863 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x43ee 015864 store 1 ,mem_mouse_struct_led_gpio 
+0x43ef 015865 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f0 015866 pincrease 1 
+0x43f1 015867 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f2 015868 sub pdata ,20 ,null 
+0x43f3 015869 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x43f4 015870 beq 2 ,mouse_low_voltage_led_on 
+0x43f5 015871 beq 4 ,mouse_low_voltage_led_off 
+0x43f6 015872 beq 6 ,mouse_low_voltage_led_on 
+0x43f7 015873 beq 8 ,mouse_low_voltage_led_off 
+0x43f8 015874 rtn 
+:      015875 mouse_adc_low_volatage_led_timer_count_clean:
+0x43f9 015876 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x43fa 015877 branch mouse_low_voltage_led_off 
+:      015878 mouse_low_voltage_led_on:
+0x43fb 015879 arg 0 ,rega 
+0x43fc 015880 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x43fd 015881 branch ui_led_on_global 
+:      015882 mouse_low_voltage_led_off:
+0x43fe 015883 arg 0 ,rega 
+0x43ff 015884 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x4400 015885 branch ui_led_off_global 
+:      015887 mouse_g24_package_data:
+0x4401 015888 call mouse_motion 
+0x4402 015889 nrtn user 
+0x4403 015890 arg 7 ,rega 
+0x4404 015891 arg mem_mouse_key ,regb 
+0x4405 015892 rtn 
+:      015894 mouse_g24_enter_lpm:
+0x4406 015895 fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4407 015896 rtn blank 
+0x4408 015898 fetcht 1 ,mem_dpi_button_gpio 
+0x4409 015899 call gpio_get_bit 
+0x440a 015900 call mouse_24g_dpi_delay_init ,true 
+0x440b 015901 fetch 1 ,mem_24g_enter_lpm_timer 
+0x440c 015902 nrtn blank 
+0x440d 015903 call mouse_check_key_gpio 
+0x440e 015904 nrtn blank 
+0x440f 015905 branch g24_lpm_long_sleep 
+:      015907 mouse_24g_dpi_delay_init:
+0x4410 015908 fetch 1 ,mem_dpi_button_gpio 
+0x4411 015909 rtneq ui_button_gpio_disable 
+0x4412 015910 jam 10 ,mem_24g_enter_lpm_timer 
+0x4413 015911 rtn 
+:      015914 mouse_load_flash_info_cheak:
+0x4414 015915 call mouse_load_flash_flag 
+0x4415 015916 fetch 2 ,mem_store_flag 
+0x4416 015917 arg eeprom_init_flag ,temp 
+0x4417 015918 isub temp ,null 
+0x4418 015919 branch mouse_load_flash_device_info ,zero 
+0x4419 015920 storet 2 ,mem_store_flag 
+0x441a 015921 call mouse_ble_init_address 
+0x441b 015922 branch mouse_store_flash_device_info 
+:      015923 mouse_ble_init_address:
+0x441c 015924 fetch 6 ,mem_le_lap 
+0x441d 015925 store 6 ,mem_device1_locall_addr 
+0x441e 015926 add pdata ,0x0100 ,pdata 
+0x441f 015927 store 6 ,mem_device2_locall_addr 
+0x4420 015928 add pdata ,0x0100 ,pdata 
+0x4421 015929 store 6 ,mem_device3_locall_addr 
+0x4422 015930 rtn 
+:      015933 mouse_load_flash_flag:
+0x4423 015934 setarg mem_store_flag 
+0x4424 015935 arg mem_mouse_information_start ,temp 
+0x4425 015936 isub temp ,temp 
+0x4426 015937 fetch 3 ,mem_flash_base 
+0x4427 015938 iadd temp ,pdata 
+0x4428 015939 arg 2 ,temp 
+0x4429 015940 arg mem_store_flag ,rega 
+0x442a 015941 branch spid_read_flash 
+:      015944 mouse_load_flash_device_info:
+0x442b 015945 setarg mem_mouse_information_end 
+0x442c 015946 arg mem_mouse_information_start ,temp 
+0x442d 015947 isub temp ,temp 
+0x442e 015948 fetch 3 ,mem_flash_base 
+0x442f 015949 arg mem_mouse_information_start ,rega 
+0x4430 015950 call spid_read_flash 
+0x4431 015951 call mouse_select_reconn_device 
+0x4432 015952 fetch 4 ,mem_mouse_24g_addr 
+0x4433 015953 call g24_head_ptr2regc 
+0x4434 015954 branch g24_store_mem_addr 
+:      015956 mouse_store_flash_device_info:
+0x4435 015957 setarg mem_mouse_information_end 
+0x4436 015958 arg mem_mouse_information_start ,temp 
+0x4437 015959 isub temp ,temp 
+0x4438 015960 arg mem_mouse_information_start ,rega 
+0x4439 015961 fetch 3 ,mem_flash_base 
+0x443a 015962 branch flash_write 
+:      015964 mouse_store_eerpom_dpi:
+0x443b 015965 arg 1 ,temp 
+0x443c 015966 arg mem_mouse_dpi ,rega 
+0x443d 015967 arg mouse_dpi_eeprom_offect ,regb 
+0x443e 015968 branch iicd_write_protect_eep_data 
+:      015970 mouse_load_eeprom_dpi:
+0x443f 015971 arg 1 ,temp 
+0x4440 015972 arg mem_mouse_dpi ,rega 
+0x4441 015973 arg mouse_dpi_eeprom_offect ,regb 
+0x4442 015974 branch iicd_read_eep_data 
+:      015976 mouse_statue_cheak_timer:
+0x4443 015977 rtnmark1 mark_24g 
+0x4444 015978 fetch mouse_flag_len ,mem_mouse_flag 
+0x4445 015979 rtnbit0 mouse_enable_statue_up 
+0x4446 015980 fetch 1 ,mem_mouse_1step_up_count 
+0x4447 015981 pincrease 1 
+0x4448 015982 and pdata ,0x07 ,pdata 
+0x4449 015983 store 1 ,mem_mouse_1step_up_count 
+0x444a 015984 rtnne 0x07 
+0x444b 015985 fetch 2 ,mem_ui_state_map 
+0x444c 015986 bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+0x444d 015987 bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+0x444e 015988 rtn 
+:      015993 mouse_check_statue_up:
+0x444f 015994 bpatch patch1d_6 ,mem_patch1d 
+0x4450 015995 fetch 1 ,mem_mouse_2step_up_count 
+0x4451 015996 nrtn blank 
+0x4452 015997 fetch mouse_flag_len ,mem_mouse_flag 
+0x4453 015998 rtnbit0 mouse_statue_up_flag 
+0x4454 015999 fetch 1 ,mem_sensor_squal_reg 
+0x4455 016000 call sensor_read 
+0x4456 016001 store 1 ,mem_sensor_iqc 
+0x4457 016002 sub pdata ,0x10 ,null 
+0x4458 016003 branch mouse_statue_up_timer_init ,positive 
+0x4459 016004 jam 0 ,mem_mouse_2step_up_count 
+0x445a 016005 rtn 
+:      016007 mouse_statue_up_timer_init:
+0x445b 016008 jam 30 ,mem_mouse_2step_up_count 
+0x445c 016009 rtn 
+:      016010 mouse_statue_up_timer:
+0x445d 016011 arg mem_mouse_2step_up_count ,regc 
+0x445e 016012 arg mouse_statue_up ,regb 
+0x445f 016013 branch timer_single_step 
+:      016015 mouse_statue_up:
+0x4460 016016 fetch 1 ,mem_sensor_squal_reg 
+0x4461 016017 call twspi_read 
+0x4462 016018 sub pdata ,0x10 ,null 
+0x4463 016019 nrtn positive 
+0x4464 016020 fetch mouse_flag_len ,mem_mouse_flag 
+0x4465 016021 rtnbit0 mouse_statue_up_flag 
+0x4466 016022 arg mouse_statue_up_flag ,queue 
+0x4467 016023 call mouse_disable_function_flag 
+0x4468 016024 jam 0 ,mem_lpm_mult 
+0x4469 016025 jam 30 ,mem_mouse_statue_led_timer 
+0x446a 016026 call mouse_devce_led_off 
+0x446b 016027 fetch mouse_flag_len ,mem_mouse_flag 
+0x446c 016028 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+:      016029 mouse_two_device_statue_up:
+0x446d 016030 fetch 1 ,mem_device_flag 
+0x446e 016031 beq mode_bt_device1 ,mouse_device1_led_on 
+0x446f 016032 beq mode_bt_device2 ,mouse_device_blink_led_init 
+0x4470 016033 rtn 
+:      016034 mouse_three_device_statue_up:
+0x4471 016035 fetch 1 ,mem_device_flag 
+0x4472 016036 beq mode_bt_device1 ,mouse_device1_led_on 
+0x4473 016037 beq mode_bt_device2 ,mouse_device2_led_on 
+0x4474 016038 beq mode_bt_device3 ,mouse_device3_led_on 
+0x4475 016039 rtn 
+:      016041 mouse_device_blink_led_init:
+0x4476 016042 fetch 1 ,mem_config_device1_led_gpio 
+0x4477 016043 branch mouse_led_blink 
+:      016047 mouse_statue_led_off:
+0x4478 016048 jam 0x20 ,mem_lpm_mult 
+0x4479 016049 branch mouse_devce_led_off 
+:      016053 mouse_devce1_led_off:
+0x447a 016054 fetch 1 ,mem_config_device1_led_gpio 
+0x447b 016055 rtneq gpio_disable 
+0x447c 016056 store 1 ,mem_mouse_struct_led_gpio 
+0x447d 016057 branch mouse_led_off 
+:      016059 mouse_devce2_led_off:
+0x447e 016060 fetch 1 ,mem_config_device2_led_gpio 
+0x447f 016061 rtneq gpio_disable 
+0x4480 016062 store 1 ,mem_mouse_struct_led_gpio 
+0x4481 016063 branch mouse_led_off 
+:      016065 mouse_devce_led_off:
+0x4482 016066 call mouse_led_off 
+0x4483 016067 call mouse_devce1_led_off 
+0x4484 016068 call mouse_devce2_led_off 
+:      016069 mouse_devce3_led_off:
+0x4485 016070 fetch 1 ,mem_config_device3_led_gpio 
+0x4486 016071 rtneq gpio_disable 
+0x4487 016072 store 1 ,mem_mouse_struct_led_gpio 
+0x4488 016073 branch mouse_led_off 
+:      016075 mouse_device1_led_on:
+0x4489 016076 fetch 1 ,mem_config_device1_led_gpio 
+0x448a 016077 store 1 ,mem_mouse_struct_led_gpio 
+0x448b 016078 branch mouse_led_on 
+:      016079 mouse_device2_led_on:
+0x448c 016080 fetch 1 ,mem_config_device2_led_gpio 
+0x448d 016081 store 1 ,mem_mouse_struct_led_gpio 
+0x448e 016082 branch mouse_led_on 
+:      016083 mouse_device3_led_on:
+0x448f 016084 fetch 1 ,mem_config_device3_led_gpio 
+0x4490 016085 store 1 ,mem_mouse_struct_led_gpio 
+0x4491 016086 branch mouse_led_on 
+:      016090 mouse_polling_device:
+0x4492 016091 bpatch patch1d_7 ,mem_patch1d 
+0x4493 016092 fetch 1 ,mem_reconn_times 
+0x4494 016093 increase -1 ,pdata 
+0x4495 016094 store 1 ,mem_reconn_times 
+0x4496 016095 fetcht 1 ,mem_device_flag 
+0x4497 016096 increase 1 ,temp 
+0x4498 016097 fetch 1 ,mem_device_number 
+0x4499 016098 isub temp ,null 
+0x449a 016099 ncall mouse_select_device_count_clean ,positive 
+0x449b 016100 storet 1 ,mem_device_flag 
+0x449c 016101 jam 0 ,mem_link_key_exists 
+0x449d 016102 call mouse_store_device_number2eeprom 
+0x449e 016103 call mouse_before_store_reconn_info 
+0x449f 016104 branch mouse_check_reconn_target 
+:      016106 mouse_power_down:
+0x44a0 016107 call mouse_devce_led_off 
+0x44a1 016108 setarg 0 
+0x44a2 016109 store 8 ,mem_gpio_wakeup_low 
+0x44a3 016110 branch lpm_hibernate 
+:      016121 remote_car_init:
+0x44a4 016122 rtn wake 
+0x44a5 016123 hfetch 1 ,core_gpio_sel1 
+0x44a6 016124 and_into 0xf0 ,pdata 
+0x44a7 016125 hstore 1 ,core_gpio_sel1 
+0x44a8 016126 call keyscan_key_init 
+0x44a9 016127 setarg remote_car_le_before_hibernate 
+0x44aa 016128 store 2 ,mem_cb_before_hibernate 
+0x44ab 016130 setarg remote_car_process_lpm_before 
+0x44ac 016131 store 2 ,mem_cb_before_lpm 
+0x44ad 016133 setarg remote_car_scale_process_idle 
+0x44ae 016134 store 2 ,mem_cb_idle_process 
+0x44af 016136 setarg remote_car_scale_process_bb_event 
+0x44b0 016137 store 2 ,mem_cb_bb_event_process 
+0x44b1 016139 setarg app_get_lpm_wake_lock 
+0x44b2 016140 store 2 ,mem_cb_check_wakelock 
+0x44b3 016142 call g24_head_ptr2regc 
+0x44b4 016143 setarg remote_car_g24_package_data 
+0x44b5 016144 add regc ,offset_24g_cb_data ,contw 
+0x44b6 016145 istore 2 ,contw 
+0x44b7 016147 setarg remote_car_g24_enter_lpm 
+0x44b8 016148 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x44b9 016149 istore 2 ,contw 
+0x44ba 016151 setarg remote_car_process_lpm_before 
+0x44bb 016152 add regc ,offset_24g_cb_lpm_before ,contw 
+0x44bc 016153 istore 2 ,contw 
+0x44bd 016155 setarg remote_car_event_timer 
+0x44be 016156 store 2 ,mem_cb_event_timer 
+0x44bf 016158 setarg remote_car_power_off_signal 
+0x44c0 016159 store 2 ,mem_remote_car_power_off_cb 
+0x44c1 016161 setarg remote_car_soft_switch_power_on_signal 
+0x44c2 016162 store 2 ,mem_remote_car_power_standby_cb 
+0x44c3 016164 setarg remote_car_send_key_data 
+0x44c4 016165 store 2 ,mem_cb_remote_car_keyscan 
+0x44c5 016167 bpatch patch1e_0 ,mem_patch1e 
+0x44c6 016168 call remote_car_init_environment 
+0x44c7 016169 call queue_init 
+0x44c8 016170 jam 2 ,mem_lpm_mult 
+0x44c9 016171 fetch 1 ,mem_remote_car_config_soft_switch_enable 
+0x44ca 016172 store 1 ,mem_remote_car_hard_soft_switch 
+0x44cb 016173 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+0x44cc 016174 fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+0x44cd 016175 store 1 ,mem_ui_button_gpio 
+:      016176 remote_car_soft_switch_power_on_init:
+0x44ce 016177 call remote_car_ui_led_init 
+0x44cf 016178 call ui_button_init 
+0x44d0 016179 call ui_button_polling 
+0x44d1 016180 jam power_starting ,mem_remote_car_power_state 
+0x44d2 016181 fetch 2 ,mem_ui_state_map 
+0x44d3 016182 rtnbit1 ui_state_btn_down 
+0x44d4 016183 branch app_enter_hibernate 
+:      016187 remote_car_hard_switch_power_on_signal:
+0x44d5 016188 jam power_standby ,mem_remote_car_power_state 
+:      016189 remote_car_soft_switch_power_on_signal:
+0x44d6 016190 call remote_car_ui_led_init 
+0x44d7 016192 arg 0 ,rega 
+0x44d8 016193 call ui_led_blink_start_global 
+:      016194 remote_car_connect_24g_mode:
+0x44d9 016195 branch g24_auto_pair_start 
+:      016197 remote_car_power_off_signal:
+0x44da 016198 branch remote_car_ui_led_init 
+:      016200 remote_car_ui_led_init:
+0x44db 016201 bpatch patch1e_1 ,mem_patch1e 
+0x44dc 016202 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+0x44dd 016203 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+:      016204 remote_car_ui_led_init_1:
+0x44de 016205 fetcht 1 ,mem_remote_car_led_map 
+0x44df 016206 branch gpio_config_output 
+:      016207 remote_car_pairing_led_gpio_set:
+0x44e0 016208 store 1 ,mem_remote_car_led_map 
+0x44e1 016209 branch remote_car_ui_led_init_1 
+:      016212 remote_car_init_environment:
+0x44e2 016213 call g24_set_device_addr 
+0x44e3 016214 fetch 2 ,mem_remote_car_no_data_timeout 
+0x44e4 016215 store 2 ,mem_remote_car_no_data_timer 
+0x44e5 016216 branch remote_car_get_adc_default_data 
+:      016218 remote_car_le_before_hibernate:
+:      016223 remote_car_in_enter_hibernate:
+0x44e6 016224 call gpio_set_before_lpm_common 
+0x44e7 016225 call remote_car_process_lpm_before 
+0x44e8 016226 branch app_enter_hibernate 
+:      016228 remote_car_process_lpm_before:
+0x44e9 016229 branch keyscan_process_lpm_before 
+:      016231 remote_car_g24_enter_lpm:
+0x44ea 016232 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44eb 016233 rtn blank 
+0x44ec 016235 branch g24_lpm_long_sleep 
+:      016237 remote_car_process_auto_pair_exit:
+0x44ed 016238 rtn 
+:      016240 remote_car_key_scan_process:
+0x44ee 016241 branch keyscan_key_process 
+:      016243 remote_car_scale_process_idle:
+0x44ef 016244 call remote_car_rocker_process 
+0x44f0 016245 call remote_car_24g_status_process 
+0x44f1 016246 branch remote_car_key_scan_process 
+:      016248 remote_car_scale_process_bb_event:
+0x44f2 016249 copy regc ,pdata 
+0x44f3 016250 beq bt_evt_button_up ,app_event_button_up 
+0x44f4 016251 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x44f5 016252 beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+0x44f6 016253 beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+0x44f7 016254 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+0x44f8 016255 rtn 
+:      016257 remote_car_24g_attempt_fail:
+0x44f9 016258 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fa 016259 rtn 
+:      016261 remote_car_24g_pairing_complete:
+0x44fb 016262 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fc 016263 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x44fd 016264 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x44fe 016265 rtn 
+:      016267 remote_car_24g_attempt_success:
+0x44ff 016268 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x4500 016269 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x4501 016270 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x4502 016271 rtn 
+:      016273 remote_car_24g_status_process:
+0x4503 016274 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4504 016275 rtneq power_on 
+0x4505 016276 fetch 1 ,mem_remote_car_24g_status 
+0x4506 016277 rtneq work_paired 
+0x4507 016278 jam work_paired ,mem_remote_car_24g_status 
+:      016279 remote_car_scale_process_paired:
+0x4508 016280 arg 0 ,rega 
+0x4509 016281 branch ui_led_off_global 
+:      016282 remote_car_scale_process_shutdown:
+0x450a 016283 arg 0 ,rega 
+0x450b 016284 call ui_led_off_global 
+0x450c 016285 call remote_car_ui_led_init 
+0x450d 016286 branch app_enter_hibernate 
+:      016288 remote_car_event_timer:
+0x450e 016289 call app_power_timer 
+0x450f 016290 branch remote_car_no_data_timer 
+:      016292 remote_car_no_data_timer:
+0x4510 016293 fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+0x4511 016294 rtn blank 
+0x4512 016295 arg mem_remote_car_no_data_timer ,regc 
+0x4513 016296 arg remote_car_scale_process_shutdown ,regb 
+0x4514 016297 branch timer_single_step_2b 
+:      016300 remote_car_get_adc_default_data:
+0x4515 016301 call remote_car_rocker_get_x 
+0x4516 016302 storet 2 ,mem_current_vdd_value_default_mid_x 
+0x4517 016303 call remote_car_rocker_get_y 
+0x4518 016304 storet 2 ,mem_current_vdd_value_default_mid_y 
+0x4519 016305 rtn 
+:      016306 remote_car_rocker_data_get:
+:      016307 remote_car_rocker_get_x:
+0x451a 016308 fetch 2 ,mem_current_vdd_value_default_mid_x 
+0x451b 016309 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x451c 016310 call remote_car_get_adc_from_gpio6 
+0x451d 016311 call remote_car_rocker_get_value 
+0x451e 016312 store 1 ,mem_rocker_status 
+:      016313 remote_car_rocker_get_y:
+0x451f 016314 fetch 2 ,mem_current_vdd_value_default_mid_y 
+0x4520 016315 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x4521 016316 call remote_car_get_adc_from_gpio7 
+0x4522 016317 call remote_car_rocker_get_value 
+0x4523 016318 store 1 ,mem_rocker_status + 1 
+0x4524 016319 rtn 
+:      016320 remote_car_rocker_get_value:
+0x4525 016321 fetch 2 ,mem_current_vdd_default_range 
+0x4526 016322 copy pdata ,rega 
+0x4527 016323 fetch 2 ,mem_current_vdd_value_default_mid_temp 
+0x4528 016324 call remote_car_rocker_mid_value_adjust 
+0x4529 016325 fetch 1 ,mem_rocker_work_status 
+0x452a 016326 nbranch remote_car_rocker_translate_key ,blank 
+0x452b 016327 nrtn positive 
+0x452c 016328 fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+0x452d 016329 rtn 
+:      016330 remote_car_rocker_mid_value_adjust:
+0x452e 016331 isub temp ,pdata 
+0x452f 016332 branch remote_car_rocker_mid_adjust_positive ,positive 
+0x4530 016333 sub pdata ,0 ,pdata 
+0x4531 016334 jam 1 ,mem_rocker_negative_flag 
+0x4532 016335 isub rega ,null 
+0x4533 016336 rtn 
+:      016337 remote_car_rocker_mid_adjust_positive:
+0x4534 016338 jam 0 ,mem_rocker_negative_flag 
+0x4535 016339 isub rega ,null 
+0x4536 016340 rtn 
+:      016341 remote_car_rocker_translate_key:
+0x4537 016342 nbranch remote_car_rocker_middle_key ,positive 
+0x4538 016343 fetch 1 ,mem_rocker_negative_flag 
+0x4539 016344 nbranch remote_car_rocker_negative_key ,blank 
+:      016345 remote_car_rocker_positive_key:
+0x453a 016346 setarg rocker_positive_key 
+0x453b 016347 rtn 
+:      016348 remote_car_rocker_negative_key:
+0x453c 016349 setarg rocker_negative_key 
+0x453d 016350 rtn 
+:      016351 remote_car_rocker_middle_key:
+0x453e 016352 setarg rocker_middle_key 
+0x453f 016353 rtn 
+:      016354 remote_car_get_adc_from_gpio6:
+0x4540 016355 jam 0x33 ,mem_adc_channel 
+0x4541 016356 branch adc_set_mode 
+:      016357 remote_car_get_adc_from_gpio7:
+0x4542 016358 jam 0x34 ,mem_adc_channel 
+0x4543 016359 branch adc_set_mode 
+:      016362 remote_car_rocker_process:
+0x4544 016363 fetch 1 ,mem_remote_car_config_check_way 
+0x4545 016364 rtnne car_remote_check_rocker 
+:      016365 remote_car_read_rocker_check_start:
+0x4546 016366 bpatch patch1e_2 ,mem_patch1e 
+0x4547 016367 jam 1 ,mem_rocker_work_status 
+0x4548 016368 call remote_car_rocker_data_get 
+0x4549 016369 fetch 2 ,mem_rocker_status 
+0x454a 016370 fetcht 2 ,mem_rocker_last_status 
+0x454b 016371 isub temp ,null 
+0x454c 016372 rtn zero 
+0x454d 016373 store 2 ,mem_rocker_last_status 
+0x454e 016374 call remote_car_rocker_x_to_key 
+0x454f 016375 branch remote_car_rocker_y_to_key 
+:      016377 remote_car_rocker_x_to_key:
+0x4550 016378 fetch 1 ,mem_rocker_x_status 
+0x4551 016379 branch rocker_to_queue_set_0 ,blank 
+0x4552 016380 increase -1 ,pdata 
+0x4553 016381 branch remote_car_rocker_to_key 
+:      016382 remote_car_rocker_y_to_key:
+0x4554 016383 fetch 1 ,mem_rocker_y_status 
+0x4555 016384 branch rocker_to_queue_set_2 ,blank 
+0x4556 016385 increase 1 ,pdata 
+:      016386 remote_car_rocker_to_key:
+0x4557 016387 copy pdata ,queue 
+0x4558 016388 arg 1 ,rega 
+0x4559 016389 branch remote_car_send_key_data 
+:      016391 rocker_to_queue_set_0:
+0x455a 016392 arg 0 ,queue 
+0x455b 016393 arg 0 ,rega 
+0x455c 016394 branch remote_car_send_key_data 
+:      016395 rocker_to_queue_set_2:
+0x455d 016396 arg 2 ,queue 
+0x455e 016397 arg 0 ,rega 
+0x455f 016398 branch remote_car_send_key_data 
+:      016400 remote_car_send_key_data:
+0x4560 016401 copy rega ,pdata 
+0x4561 016402 store 1 ,mem_remote_key_status 
+0x4562 016403 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4563 016404 beq power_on ,g24_auto_pair_start 
+0x4564 016405 fetch 2 ,mem_remote_car_no_data_timeout 
+0x4565 016406 store 2 ,mem_remote_car_no_data_timer 
+0x4566 016407 fetch 1 ,mem_remote_key_status 
+0x4567 016408 branch remote_car_key_is_release ,blank 
+:      016409 remote_car_key_is_press:
+0x4568 016410 bpatch patch1e_3 ,mem_patch1e 
+0x4569 016411 arg 0 ,rega 
+0x456a 016412 call ui_led_on_global 
+:      016413 remote_car_attack_key_press:
+0x456b 016414 copy queue ,pdata 
+0x456c 016415 beq 4 ,remote_car_send_attack_key4_press 
+0x456d 016416 beq 5 ,remote_car_send_attack_key5_press 
+0x456e 016417 beq 6 ,remote_car_send_fire_key6_press 
+:      016420 remote_car_motor_key_press:
+0x456f 016421 call remote_car_device_layout_select 
+0x4570 016422 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+0x4571 016423 beq control_l_r_ten ,remote_car_double_motor_key_press 
+0x4572 016424 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+0x4573 016425 rtn 
+:      016427 remote_car_single_motor_key_is_press:
+0x4574 016428 copy queue ,pdata 
+0x4575 016429 beq 0 ,remote_car_send_motor1_key0_press 
+0x4576 016430 beq 1 ,remote_car_send_motor1_key1_press 
+0x4577 016431 beq 2 ,remote_car_send_motor2_key2_press 
+0x4578 016432 beq 3 ,remote_car_send_motor2_key3_press 
+0x4579 016433 rtn 
+:      016435 remote_car_double_motor_key_press:
+0x457a 016436 copy queue ,pdata 
+0x457b 016437 beq 0 ,remote_car_send_double_motor_key0_press 
+0x457c 016438 beq 1 ,remote_car_send_double_motor_key1_press 
+0x457d 016439 beq 2 ,remote_car_send_double_motor_key2_press 
+0x457e 016440 beq 3 ,remote_car_send_double_motor_key3_press 
+0x457f 016441 rtn 
+:      016443 remote_car_key_is_release:
+0x4580 016444 bpatch patch1e_4 ,mem_patch1e 
+0x4581 016445 arg 0 ,rega 
+0x4582 016446 call ui_led_off_global 
+:      016447 remote_car_attack_key_release:
+0x4583 016448 copy queue ,pdata 
+0x4584 016449 beq 4 ,remote_car_send_attack_key4_rel 
+0x4585 016450 beq 5 ,remote_car_send_attack_key5_rel 
+:      016453 remote_car_motor_key_release:
+0x4586 016454 call remote_car_device_layout_select 
+0x4587 016455 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+0x4588 016456 beq control_l_r_ten ,remote_car_double_motor_key_rel 
+0x4589 016457 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+0x458a 016458 rtn 
+:      016460 remote_car_device_layout_select:
+0x458b 016461 fetch 1 ,mem_remote_car_config_layout 
+0x458c 016462 fetcht 1 ,mem_remote_car_config_key_map 
+0x458d 016463 ior temp ,pdata 
+0x458e 016464 rtn 
+:      016467 remote_car_send_motor1_key0_press:
+0x458f 016468 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4590 016469 branch remote_car_send_key 
+:      016470 remote_car_send_motor1_key1_press:
+0x4591 016471 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x4592 016472 branch remote_car_send_key 
+:      016473 remote_car_send_motor2_key2_press:
+0x4593 016474 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4594 016475 branch remote_car_send_key 
+:      016476 remote_car_send_motor2_key3_press:
+0x4595 016477 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x4596 016478 branch remote_car_send_key 
+:      016481 remote_car_send_double_motor_key0_press:
+0x4597 016482 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4598 016483 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4599 016484 branch remote_car_send_key 
+:      016485 remote_car_send_double_motor_key1_press:
+0x459a 016486 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459b 016487 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x459c 016488 branch remote_car_send_key 
+:      016489 remote_car_send_double_motor_key2_press:
+0x459d 016490 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459e 016491 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x459f 016492 branch remote_car_send_key 
+:      016493 remote_car_send_double_motor_key3_press:
+0x45a0 016494 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x45a1 016495 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x45a2 016496 branch remote_car_send_key 
+:      016499 remote_car_send_attack_key4_press:
+0x45a3 016500 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+0x45a4 016501 branch remote_car_send_key 
+:      016502 remote_car_send_attack_key5_press:
+0x45a5 016503 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+0x45a6 016504 branch remote_car_send_key 
+:      016506 remote_car_send_fire_key6_press:
+0x45a7 016507 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+0x45a8 016508 branch remote_car_send_attack 
+:      016510 remote_car_single_motor_key_rel:
+0x45a9 016511 copy queue ,pdata 
+0x45aa 016512 beq 0 ,remote_car_send_motor1_key0_rel 
+0x45ab 016513 beq 1 ,remote_car_send_motor1_key1_rel 
+0x45ac 016514 beq 2 ,remote_car_send_motor2_key2_rel 
+0x45ad 016515 beq 3 ,remote_car_send_motor2_key3_rel 
+0x45ae 016516 rtn 
+:      016518 remote_car_double_motor_key_rel:
+0x45af 016519 copy queue ,pdata 
+0x45b0 016520 beq 0 ,remote_car_send_double_motor_key0_rel 
+0x45b1 016521 beq 1 ,remote_car_send_double_motor_key1_rel 
+0x45b2 016522 beq 2 ,remote_car_send_double_motor_key2_rel 
+0x45b3 016523 beq 3 ,remote_car_send_double_motor_key3_rel 
+0x45b4 016524 rtn 
+:      016526 remote_car_send_motor1_key0_rel:
+:      016527 remote_car_send_motor1_key1_rel:
+0x45b5 016528 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45b6 016529 branch remote_car_send_key 
+:      016530 remote_car_send_motor2_key2_rel:
+:      016531 remote_car_send_motor2_key3_rel:
+0x45b7 016532 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45b8 016533 branch remote_car_send_key 
+:      016535 remote_car_send_double_motor_key0_rel:
+:      016536 remote_car_send_double_motor_key1_rel:
+:      016537 remote_car_send_double_motor_key2_rel:
+:      016538 remote_car_send_double_motor_key3_rel:
+0x45b9 016539 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45ba 016540 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45bb 016541 branch remote_car_send_key 
+:      016543 remote_car_send_attack_key4_rel:
+:      016544 remote_car_send_attack_key5_rel:
+0x45bc 016545 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+0x45bd 016546 branch remote_car_send_key 
+:      016548 remote_car_send_key:
+0x45be 016549 arg mem_remote_car_24g_motor_packet ,rega 
+0x45bf 016550 branch queue_push 
+:      016551 remote_car_send_attack:
+0x45c0 016552 arg mem_remote_car_24g_fire_packet ,rega 
+0x45c1 016553 branch queue_push 
+:      016555 remote_car_g24_package_data:
+0x45c2 016556 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+0x45c3 016557 beq work_paired ,remote_car_g24_send_empty 
+0x45c4 016558 arg mem_remote_car_24g_tx_temp ,rega 
+0x45c5 016559 call queue_pop 
+0x45c6 016560 nbranch remote_car_moto_data ,user 
+:      016561 remote_car_g24_package_data_continue:
+0x45c7 016562 arg mem_remote_car_24g_tx_temp ,contr 
+0x45c8 016563 ifetch 1 ,contr 
+0x45c9 016564 copy pdata ,rega 
+0x45ca 016565 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+0x45cb 016568 rtn 
+:      016570 remote_car_g24_send_empty:
+0x45cc 016571 jam 0 ,mem_remote_car_24g_pair_success_flag 
+0x45cd 016572 enable user 
+0x45ce 016573 arg 1 ,rega 
+0x45cf 016574 arg mem_remote_car_empty_packet ,regb 
+0x45d0 016575 rtn 
+:      016577 remote_car_moto_data:
+0x45d1 016578 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+0x45d2 016579 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+0x45d3 016580 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+0x45d4 016581 rtn 
+:      016582 remote_car_moto_data_next:
+0x45d5 016583 fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+0x45d6 016584 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d7 016585 fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+0x45d8 016586 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d9 016587 fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+0x45da 016588 nbranch remote_car_moto_data_enable_user ,blank 
+0x45db 016589 rtn 
+:      016590 remote_car_moto_data_enable_user:
+0x45dc 016591 enable user 
+0x45dd 016592 branch remote_car_g24_package_data_continue 
+:      016600 shutter_init:
+0x45de 016601 rtn wake 
+0x45df 016602 hfetch 1 ,core_gpio_sel1 
+0x45e0 016603 and_into 0xfc ,pdata 
+0x45e1 016604 hstore 1 ,core_gpio_sel1 
+0x45e2 016605 setarg shutter_le_before_hibernate 
+0x45e3 016606 store 2 ,mem_cb_before_hibernate 
+0x45e4 016608 setarg shutter_process_lpm_before 
+0x45e5 016609 store 2 ,mem_cb_before_lpm 
+0x45e6 016611 setarg app_enter_hibernate 
+0x45e7 016612 store 2 ,mem_cb_discovry_timeout 
+0x45e8 016614 setarg shutter_process_idle 
+0x45e9 016615 store 2 ,mem_cb_idle_process 
+0x45ea 016617 setarg shutter_process_bb_event 
+0x45eb 016618 store 2 ,mem_cb_bb_event_process 
+0x45ec 016620 setarg shutter_le_scale_lpm_lock 
+0x45ed 016621 store 2 ,mem_cb_check_wakelock 
+0x45ee 016623 setarg ble_shutter_receive_data 
+0x45ef 016624 store 2 ,mem_cb_att_write 
+0x45f0 016626 setarg shutter_le_bb_event_timer 
+0x45f1 016627 store 2 ,mem_cb_event_timer 
+0x45f2 016629 setarg shutter_key_change 
+0x45f3 016630 store 2 ,mem_cb_shutter_keycan 
+0x45f4 016632 setarg shutter_soft_swtich_power_on 
+0x45f5 016633 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+0x45f6 016634 setarg shutter_soft_swtich_power_off 
+0x45f7 016635 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+0x45f8 016637 call le_modified_name 
+0x45f9 016638 call shutter_load_bluetooth_config_by_user_config 
+0x45fa 016639 call shutter_init_bluetooth_config 
+0x45fb 016640 call shutter_init_param 
+0x45fc 016641 call keyscan_key_init 
+0x45fd 016642 call shutter_load_buffer_config_form_datarom 
+0x45fe 016643 call queue_init 
+0x45ff 016644 call ui_led_init_global 
+0x4600 016645 call shutter_load_bluetooth_config 
+0x4601 016646 call shutter_load_bluetooth_config_by_eeprom 
+0x4602 016648 bpatch patch1e_5 ,mem_patch1e 
+0x4603 016649 call classic_shutter_load_reconn_info 
+0x4604 016650 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4605 016651 beq hard_switch ,shutter_hart_swtich_power_on 
+0x4606 016652 fetch 1 ,mem_shutter_soft_switch_button_gpio 
+0x4607 016653 store 1 ,mem_ui_button_gpio 
+0x4608 016654 branch ui_soft_swtich_init 
+:      016657 shutter_hart_swtich_power_on:
+0x4609 016658 jam ui_button_gpio_disable ,mem_ui_button_gpio 
+0x460a 016659 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+0x460b 016660 branch shutter_start_reconnect 
+:      016664 shutter_le_scale_lpm_lock:
+0x460c 016665 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x460d 016666 beq ss_state_power_off ,app_get_lpm_wake_lock 
+0x460e 016667 call l2cap_malloc_get_full_map 
+0x460f 016668 fetch 1 ,mem_used_map 
+0x4610 016669 nbranch app_get_lpm_wake_lock ,blank 
+0x4611 016670 branch app_put_lpm_wake_lock 
+:      016674 shutter_process_bb_event:
+0x4612 016675 copy regc ,pdata 
+0x4613 016677 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0x4614 016678 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0x4615 016679 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0x4616 016680 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0x4617 016681 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0x4618 016682 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0x4619 016683 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0x461a 016684 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0x461b 016685 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+0x461c 016686 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+0x461d 016687 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+0x461e 016689 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+0x461f 016690 beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+0x4620 016691 beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+0x4621 016692 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+0x4622 016694 beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+0x4623 016695 beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+0x4624 016696 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+0x4625 016697 rtn 
+:      016702 classic_shutter_process_baseband_connect:
+0x4626 016703 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4627 016704 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4628 016705 rtn 
+:      016708 classic_shutter_process_baseband_disconnect:
+0x4629 016709 call classic_shutter_disconnect_clear_flag 
+0x462a 016710 branch classic_shutter_process_reconnect_failed 
+:      016712 classic_shutter_disconnect_clear_flag:
+0x462b 016713 jam app_handshake_null ,mem_app_handshake_flag 
+0x462c 016714 jam 0 ,mem_hid_handshake_timer_count 
+0x462d 016715 jam 0 ,mem_unsniff2sniff_timer_count 
+0x462e 016716 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x462f 016717 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4630 016718 branch queue_init 
+:      016721 classic_shutter_process_reconnect_failed:
+0x4631 016722 call app_disconn_reason_clear 
+0x4632 016723 branch shutter_start_bluetooth_discovery 
+:      016726 classic_shutter_process_setup_complete:
+0x4633 016727 call shutter_stop_bluetooth_discovery 
+0x4634 016728 branch app_led_stop_blink 
+:      016731 classic_shutter_process_hid_connect:
+0x4635 016732 setarg hid_handshake_timeout 
+0x4636 016733 store 1 ,mem_hid_handshake_timer_count 
+0x4637 016734 rtn 
+:      016737 classic_shutter_process_hid_disconnect:
+0x4638 016738 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4639 016739 setarg flag_shutter_hid_disconn_timeout 
+0x463a 016740 store 1 ,mem_classic_shutter_hid_disconn_count 
+0x463b 016741 rtn 
+:      016744 classic_shutter_process_hid_handshake:
+0x463c 016745 fetch 1 ,mem_app_handshake_flag 
+0x463d 016746 rtneq app_handshake_done 
+0x463e 016747 jam app_handshake_done ,mem_app_handshake_flag 
+0x463f 016748 call app_lpm_mult_enable 
+0x4640 016749 call app_store_reconn_info 
+0x4641 016750 call shutter_stop_bluetooth_discovery 
+0x4642 016751 call app_led_off 
+0x4643 016752 branch app_bt_enter_sniff 
+:      016755 classic_shutter_process_reconnect_page_timeout:
+0x4644 016756 branch classic_shutter_process_reconnect_failed 
+:      016759 classic_shutter_process_virtual_cable_unplug:
+0x4645 016760 setarg flag_shutter_cable_unplug_timeout 
+0x4646 016761 store 1 ,mem_classic_shutter_cable_unplug_conut 
+0x4647 016762 rtn 
+:      016765 classic_shutter_process_remote_unsniff:
+0x4648 016766 branch app_start_auto_sniff 
+:      016770 classic_shutter_process_store_reconnect_information:
+0x4649 016771 arg nvram_eeprom_offset ,regb 
+0x464a 016772 fetch 1 ,mem_nv_data_number 
+0x464b 016773 mul32 pdata ,34 ,temp 
+0x464c 016774 fetch 2 ,mem_nv_data_ptr 
+0x464d 016775 copy pdata ,rega 
+0x464e 016776 branch iicd_write_eep_data 
+:      016778 classic_shutter_load_reconn_info:
+0x464f 016779 arg nvram_eeprom_offset ,regb 
+0x4650 016780 fetch 1 ,mem_shutter_bluetooth_type 
+0x4651 016781 rtnbit0 classic_shutter 
+0x4652 016782 fetch 1 ,mem_nv_data_number 
+0x4653 016783 rtn blank 
+0x4654 016784 mul32 pdata ,34 ,temp 
+0x4655 016785 fetch 2 ,mem_nv_data_ptr 
+0x4656 016786 copy pdata ,rega 
+0x4657 016787 branch iicd_read_eep_data 
+:      016791 ble_shutter_process_baseband_connect:
+0x4658 016792 call shutter_stop_bluetooth_discovery 
+0x4659 016793 setarg 0 
+0x465a 016794 store 2 ,mem_ble_shutter_reconn_timer 
+0x465b 016795 branch app_led_off 
+:      016798 ble_shutter_process_baseband_disconnect:
+0x465c 016799 call queue_init 
+0x465d 016800 jam 0 ,mem_ble_shutter_enable_notify 
+0x465e 016801 branch shutter_start_reconnect 
+:      016804 ble_shutter_process_reconnect_complete:
+0x465f 016805 call queue_init 
+0x4660 016806 jam 1 ,mem_ble_shutter_enable_notify 
+0x4661 016807 fetch 8 ,mem_ble_shutter_interval_min 
+0x4662 016808 store 8 ,mem_le_interval_min 
+0x4663 016809 call app_lpm_mult_enable 
+0x4664 016810 branch le_l2cap_tx_update_req 
+:      016813 ble_shutter_process_parse_connect_parameter_update_response:
+0x4665 016814 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x4666 016815 rtneq ble_signaling_connect_parameter_update_accepted 
+0x4667 016816 fetch 8 ,mem_ble_shutter_interval_min_new 
+0x4668 016817 rtn blank 
+0x4669 016818 store 8 ,mem_le_interval_min 
+0x466a 016819 branch le_l2cap_tx_update_req 
+:      016823 shutter_process_soft_swtich_button_long_press:
+0x466b 016824 branch ui_soft_switch_botton_long_press 
+:      016826 shutter_process_soft_swtich_button_down:
+0x466c 016827 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x466d 016828 rtneq hard_switch 
+0x466e 016829 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x466f 016830 rtnne ss_state_power_on 
+0x4670 016831 call shutter_store_currenct_led_state 
+0x4671 016832 branch app_led_on 
+:      016834 shutter_store_currenct_led_state:
+0x4672 016835 jam 1 ,mem_shutter_soft_swtich_botton_down 
+0x4673 016836 arg 11 ,loopcnt 
+0x4674 016837 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+0x4675 016838 arg mem_shutter_led_struct_app_led ,contr 
+0x4676 016839 branch memcpy 
+:      016841 shutter_process_soft_swtich_button_up:
+0x4677 016842 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4678 016843 rtneq hard_switch 
+0x4679 016844 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x467a 016845 beq ss_state_power_on ,shutter_load_currenct_led_state 
+0x467b 016846 branch ui_soft_switch_botton_up 
+:      016848 shutter_load_currenct_led_state:
+0x467c 016849 fetch 1 ,mem_shutter_soft_swtich_botton_down 
+0x467d 016850 rtnne 1 
+0x467e 016851 jam 0 ,mem_shutter_soft_swtich_botton_down 
+0x467f 016852 fetch 2 ,mem_ui_state_map 
+0x4680 016853 bbit1 ui_state_bt_connected ,app_led_off 
+0x4681 016854 bbit1 ui_state_ble_connected ,app_led_off 
+0x4682 016855 arg 11 ,loopcnt 
+0x4683 016856 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+0x4684 016857 arg mem_shutter_led_struct_app_led ,contw 
+0x4685 016858 branch memcpy 
+:      016863 shutter_le_bb_event_timer:
+0x4686 016865 call shutter_check_sleep_timer 
+0x4687 016868 call shutter_check_power_off_timer 
+0x4688 016871 call classic_shutter_check_unplug_timer 
+0x4689 016872 call classic_shutter_hid_handshake_timer 
+0x468a 016873 call classic_shutter_hid_disconn_timer 
+0x468b 016876 branch ble_shutter_reconn_timer 
+:      016880 shutter_check_sleep_timer:
+0x468c 016881 arg mem_shutter_sleep_timer ,regc 
+0x468d 016882 arg shutter_sleep_timeout ,regb 
+0x468e 016883 branch timer_single_step_2b 
+:      016884 shutter_sleep_timeout:
+0x468f 016885 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+0x4690 016886 call app_led_off 
+0x4691 016887 call shutter_disconnect_current_connection 
+0x4692 016888 branch shutter_wait_power_off 
+:      016891 shutter_check_power_off_timer:
+0x4693 016892 arg mem_shutter_power_off_timer ,regc 
+0x4694 016893 arg shutter_check_power_off_timeout ,regb 
+0x4695 016894 branch timer_single_step 
+:      016896 shutter_check_power_off_timeout:
+0x4696 016897 fetch 2 ,mem_ui_state_map 
+0x4697 016898 bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+0x4698 016899 bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+0x4699 016900 fetch 1 ,mem_shutter_led_struct_app_led_type 
+0x469a 016901 beq ui_led_state_blink_start ,shutter_wait_power_off 
+0x469b 016902 beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+0x469c 016903 beq ui_led_state_blink_darking ,shutter_wait_power_off 
+0x469d 016904 branch app_enter_hibernate 
+:      016908 classic_shutter_check_unplug_timer:
+0x469e 016909 arg mem_classic_shutter_cable_unplug_conut ,regc 
+0x469f 016910 arg classic_shutter_unplug_timeout ,regb 
+0x46a0 016911 branch timer_single_step 
+:      016913 classic_shutter_unplug_timeout:
+0x46a1 016914 fetch 1 ,mem_control_tasks 
+0x46a2 016915 set1 l2cap_disconnect_interrupt ,pdata 
+0x46a3 016916 set1 l2cap_disconnect_control ,pdata 
+0x46a4 016917 store 1 ,mem_control_tasks 
+0x46a5 016918 rtn 
+:      016920 classic_shutter_hid_handshake_timer:
+0x46a6 016921 arg mem_hid_handshake_timer_count ,regc 
+0x46a7 016922 arg classic_shutter_process_hid_handshake ,regb 
+0x46a8 016923 branch timer_single_step 
+:      016925 classic_shutter_hid_disconn_timer:
+0x46a9 016926 arg mem_classic_shutter_hid_disconn_count ,regc 
+0x46aa 016927 arg app_bt_disconnect ,regb 
+0x46ab 016928 branch timer_single_step 
+:      016933 ble_shutter_reconn_timer:
+0x46ac 016934 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46ad 016935 rtnne ss_state_power_on 
+0x46ae 016936 arg mem_ble_shutter_reconn_timer ,regc 
+0x46af 016937 arg shutter_start_bluetooth_discovery ,regb 
+0x46b0 016938 branch timer_single_step_2b 
+:      016941 shutter_process_idle:
+0x46b1 016942 call shutter_send_data_to_master 
+0x46b2 016943 branch keyscan_key_process 
+:      016946 shutter_process_lpm_before:
+0x46b3 016947 branch keyscan_process_lpm_before 
+:      016949 shutter_le_before_hibernate:
+0x46b4 016950 call gpio_set_before_lpm_common 
+0x46b5 016951 branch shutter_process_lpm_before 
+:      016957 shutter_stop_bluetooth_discovery:
+0x46b6 016958 fetch 1 ,mem_shutter_bluetooth_type 
+0x46b7 016959 bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+0x46b8 016960 bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+0x46b9 016961 rtn 
+:      016963 ble_shutter_stop_bluetooth_discovery:
+0x46ba 016964 fetch 2 ,mem_ble_shutter_connect_timeout 
+0x46bb 016965 store 2 ,mem_shutter_sleep_timeout 
+0x46bc 016966 store 2 ,mem_shutter_sleep_timer 
+0x46bd 016967 branch app_ble_stop_adv 
+:      016969 classic_shutter_stop_bluetooth_discovery:
+0x46be 016970 fetch 2 ,mem_classic_shutter_connect_timeout 
+0x46bf 016971 store 2 ,mem_shutter_sleep_timeout 
+0x46c0 016972 store 2 ,mem_shutter_sleep_timer 
+0x46c1 016973 branch app_bt_stop_discovery 
+:      016975 shutter_start_bluetooth_discovery:
+0x46c2 016976 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46c3 016977 rtnne ss_state_power_on 
+0x46c4 016978 fetch 1 ,mem_shutter_bluetooth_type 
+0x46c5 016979 bbit1 classic_shutter ,classic_shutter_start_discovery 
+0x46c6 016980 bbit1 ble_shutter ,ble_shutter_start_discovery 
+0x46c7 016981 rtn 
+:      016983 classic_shutter_start_discovery:
+0x46c8 016984 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+0x46c9 016985 store 2 ,mem_shutter_sleep_timeout 
+0x46ca 016986 store 2 ,mem_shutter_sleep_timer 
+0x46cb 016987 branch app_bt_start_discovery_short 
+:      016989 ble_shutter_start_discovery:
+0x46cc 016990 fetch 2 ,mem_ui_state_map 
+0x46cd 016991 rtnbit1 ui_state_ble_connected 
+0x46ce 016992 fetch 2 ,mem_ble_shutter_discovery_timeout 
+0x46cf 016993 store 2 ,mem_shutter_sleep_timeout 
+0x46d0 016994 store 2 ,mem_shutter_sleep_timer 
+0x46d1 016995 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+0x46d2 016996 call shutter_ble_adv_interval_set 
+0x46d3 016997 call app_led_start_blink 
+0x46d4 016998 fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+0x46d5 016999 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46d6 017000 fetch 2 ,mem_ui_state_map 
+0x46d7 017001 rtnbit1 ui_state_ble_adv 
+0x46d8 017002 branch app_ble_start_adv 
+:      017005 shutter_start_reconnect:
+0x46d9 017006 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46da 017007 rtnne ss_state_power_on 
+0x46db 017008 fetch 1 ,mem_shutter_bluetooth_type 
+0x46dc 017009 bbit1 classic_shutter ,classic_shutter_start_reconnect 
+0x46dd 017010 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+0x46de 017011 rtn 
+:      017013 classic_shutter_start_reconnect:
+0x46df 017014 call app_check_reconn_target 
+0x46e0 017015 branch shutter_start_bluetooth_discovery ,blank 
+0x46e1 017016 call app_led_on 
+0x46e2 017017 call app_bt_stop_discovery 
+0x46e3 017018 branch app_bt_start_reconnect 
+:      017020 ble_shutter_start_reconnect:
+0x46e4 017021 fetch 2 ,mem_ble_shutter_reconn_timer 
+0x46e5 017022 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+0x46e6 017023 storet 2 ,mem_ble_shutter_reconn_timer 
+0x46e7 017024 nrtn blank 
+0x46e8 017025 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+0x46e9 017026 call shutter_ble_adv_interval_set 
+0x46ea 017027 call app_led_start_blink 
+0x46eb 017028 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+0x46ec 017029 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46ed 017030 fetch 2 ,mem_ui_state_map 
+0x46ee 017031 rtnbit1 ui_state_ble_adv 
+0x46ef 017032 branch app_ble_start_adv 
+:      017035 shutter_ble_adv_interval_set:
+0x46f0 017036 store 2 ,mem_lpm_interval 
+0x46f1 017037 increase -4 ,pdata 
+0x46f2 017038 store 2 ,mem_le_adv_interval 
+0x46f3 017039 rtn 
+:      017042 shutter_disconnect_current_connection:
+0x46f4 017043 fetch 2 ,mem_ui_state_map 
+0x46f5 017044 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x46f6 017045 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x46f7 017046 branch shutter_stop_bluetooth_discovery 
+:      017050 app_check_reconn_target:
+0x46f8 017051 fetch 1 ,mem_nv_data_number 
+0x46f9 017052 copy pdata ,loopcnt 
+0x46fa 017053 fetch 2 ,mem_nv_data_ptr 
+0x46fb 017054 copy pdata ,rega 
+:      017055 app_check_reconn_target_loop:
+0x46fc 017056 ifetch 2 ,rega 
+0x46fd 017057 beq 0 ,found_reconn_device 
+0x46fe 017058 increase nv_data_len ,rega 
+0x46ff 017059 loop app_check_reconn_target_loop 
+0x4700 017060 branch enable_blank 
+:      017062 found_reconn_device:
+0x4701 017063 ifetch 6 ,contr 
+0x4702 017064 store 6 ,mem_hci_plap 
+0x4703 017065 increase 10 ,contr 
+0x4704 017066 arg mem_link_key ,contw 
+0x4705 017067 call memcpy16 
+0x4706 017068 call check_link_key_load 
+0x4707 017069 branch disable_blank 
+:      017075 shutter_check_data_enable:
+0x4708 017076 call disable_user 
+0x4709 017077 fetch 2 ,mem_ui_state_map 
+0x470a 017078 bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+0x470b 017079 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+0x470c 017080 rtn 
+:      017082 shutter_check_bt_data_enable:
+0x470d 017083 fetch 1 ,mem_hid_interrupt_state 
+0x470e 017084 rtnne 0x3f 
+0x470f 017085 branch enable_user 
+:      017087 shutter_check_ble_data_enable:
+0x4710 017088 fetch 1 ,mem_ble_shutter_enable_notify 
+0x4711 017089 rtn blank 
+0x4712 017090 branch enable_user 
+:      017095 shutter_check_bluetooth_conn:
+0x4713 017096 call disable_user 
+0x4714 017097 fetch 2 ,mem_ui_state_map 
+0x4715 017098 rtnbit1 ui_state_bt_connected 
+0x4716 017099 rtnbit1 ui_state_ble_connected 
+0x4717 017100 branch enable_user 
+:      017104 shutter_change_bluetooth_status_bt_disconn:
+0x4718 017105 fetch 1 ,mem_shutter_bluetooth_type 
+0x4719 017106 bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+0x471a 017107 bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+0x471b 017108 rtn 
+:      017110 classic_shutter_change_bluetooth_status_bt_disconn:
+0x471c 017111 fetch 1 ,mem_scan_mode 
+0x471d 017112 rtnne 0x03 
+0x471e 017113 branch shutter_start_reconnect 
+:      017115 ble_shutter_change_bluetooth_status_bt_disconn:
+0x471f 017116 branch shutter_start_reconnect 
+:      017119 shutter_check_send_data:
+0x4720 017120 disable user2 
+0x4721 017121 fetch 2 ,mem_shutter_sleep_timeout 
+0x4722 017122 store 2 ,mem_shutter_sleep_timer 
+0x4723 017124 call shutter_check_bluetooth_conn 
+0x4724 017125 branch shutter_change_bluetooth_status_bt_disconn ,user 
+0x4725 017127 call shutter_check_data_enable 
+0x4726 017128 nrtn user 
+0x4727 017129 enable user2 
+0x4728 017130 rtn 
+:      017134 shutter_key_change:
+0x4729 017135 call shutter_check_send_data 
+0x472a 017136 nrtn user2 
+0x472b 017137 deposit rega 
+0x472c 017138 branch shutter_key_release ,blank 
+:      017139 shutter_key_press:
+0x472d 017140 call app_led_on 
+0x472e 017141 arg mem_key0_press ,regc 
+0x472f 017142 branch push_queue_press_or_release 
+:      017144 shutter_key_release:
+0x4730 017145 call app_led_off 
+0x4731 017146 arg mem_key0_release ,regc 
+:      017148 push_queue_press_or_release:
+0x4732 017149 arg max_queue_num ,pdata 
+0x4733 017150 imul32 queue ,pdata 
+0x4734 017151 iadd regc ,regc 
+:      017154 push_buffer_in_queue:
+0x4735 017155 ifetch 1 ,regc 
+0x4736 017156 rtn blank 
+0x4737 017157 call queue_push_one_byte 
+0x4738 017158 increase 1 ,regc 
+0x4739 017159 branch push_buffer_in_queue 
+:      017162 shutter_send_data_to_master:
+0x473a 017163 fetch 2 ,mem_ui_state_map 
+0x473b 017164 bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+0x473c 017165 bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+0x473d 017166 rtn 
+:      017168 pop_queue_to_ble_data:
+0x473e 017169 call le_fifo_check_nearly_full 
+0x473f 017170 nrtn blank 
+0x4740 017171 call queue_pop_one_byte 
+0x4741 017172 nrtn user 
+0x4742 017173 pincrease -1 
+0x4743 017174 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+0x4744 017175 arg mem_ble_data_buffer1 ,temp 
+0x4745 017176 iadd temp ,contr 
+:      017177 le_send_notify_from_list:
+0x4746 017178 ifetch 1 ,contr 
+0x4747 017179 copy pdata ,rega 
+0x4748 017180 ifetcht 2 ,contr 
+0x4749 017181 call store_contr 
+0x474a 017182 call le_att_malloc_tx_notify 
+0x474b 017183 copy rega ,loopcnt 
+0x474c 017184 call get_contr 
+0x474d 017185 branch memcpy 
+:      017188 pop_queue_to_classic_data:
+0x474e 017189 call l2cap_malloc_is_fifo_nearly_full 
+0x474f 017190 nrtn blank 
+0x4750 017191 call queue_pop_one_byte 
+0x4751 017192 nrtn user 
+0x4752 017193 pincrease -1 
+0x4753 017194 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+0x4754 017195 arg mem_classic_data_buffer1 ,temp 
+0x4755 017196 iadd temp ,contr 
+0x4756 017197 ifetch 5 ,contr 
+0x4757 017198 store 5 ,mem_classic_data_buffer 
+:      017199 classic_send_hid_data:
+0x4758 017200 fetch 1 ,mem_classic_data_buffer 
+0x4759 017201 copy pdata ,rega 
+0x475a 017202 call hid_malloc_tx_buff 
+0x475b 017203 fetch 2 ,mem_hid_int_remote_cid 
+0x475c 017204 istore 2 ,contw 
+0x475d 017205 setarg 0xa1 
+0x475e 017206 istore 1 ,contw 
+0x475f 017207 fetch 4 ,mem_classic_data_buffer + 1 
+0x4760 017208 istore 9 ,contw 
+0x4761 017209 rtn 
+:      017213 queue_push_one_byte:
+0x4762 017214 store 1 ,mem_pdatatemp 
+0x4763 017215 arg mem_pdatatemp ,rega 
+0x4764 017216 branch queue_push 
+:      017218 queue_pop_one_byte:
+0x4765 017219 arg mem_pdatatemp ,rega 
+0x4766 017220 call queue_pop 
+0x4767 017221 nrtn user 
+0x4768 017222 fetch 1 ,mem_pdatatemp 
+0x4769 017223 rtn 
+:      017226 ble_shutter_receive_data:
+0x476a 017227 fetch 2 ,mem_le_att_handle 
+0x476b 017228 beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+0x476c 017229 rtn 
+:      017231 shutter_init_param:
+0x476d 017232 setarg 0x02 
+0x476e 017233 store 1 ,mem_shutter_power_off_timeout 
+0x476f 017235 setarg 0x00200008 
+0x4770 017236 store 4 ,mem_ble_shutter_interval_min 
+0x4771 017237 setarg 0x012c0005 
+0x4772 017238 istore 4 ,contw 
+0x4773 017241 jam 0x17 ,mem_le_local_mtu 
+0x4774 017244 setarg 0x1b 
+0x4775 017245 store 2 ,mem_le_pairing_handle 
+0x4776 017246 call le_set_config_fixed_ltk 
+0x4777 017247 call le_set_fixed_ltk 
+0x4778 017248 call le_set_justwork 
+0x4779 017249 branch le_set_config_read_authentication 
+:      017252 shutter_load_buffer_config_form_datarom:
+0x477a 017254 arg ble_key_value_list_size ,loopcnt 
+0x477b 017255 arg mem_ble_data_buffer1 ,contw 
+0x477c 017256 arg ble_shutter_key_value_list ,contr 
+0x477d 017257 call memcpy_fast 
+0x477e 017258 arg bt_key_value_list_size ,loopcnt 
+0x477f 017259 arg mem_classic_data_buffer1 ,contw 
+0x4780 017260 arg classic_shutter_key_value_list ,contr 
+0x4781 017261 branch memcpy_fast 
+:      017264 shutter_load_ble_gatt_form_datarom:
+0x4782 017265 arg ble_gatt_list_size ,loopcnt 
+0x4783 017266 arg ble_shutter_gatt_list ,contr 
+0x4784 017267 branch memcpy_fast 
+:      017270 shutter_load_bt_sdp_form_datarom:
+0x4785 017271 arg bt_sdp_list_size ,loopcnt 
+0x4786 017272 arg classic_shutter_sdp_list ,contr 
+0x4787 017273 branch memcpy_fast 
+:      017277 shutter_init_bluetooth_config:
+0x4788 017278 call shutter_check_load_config_flag 
+0x4789 017279 nrtn user 
+0x478a 017280 fetch 1 ,mem_shutter_config_select_gpio1 
+0x478b 017281 call shutter_init_bluetooth_config_gpio_input 
+0x478c 017282 fetch 1 ,mem_shutter_config_select_gpio2 
+0x478d 017283 call shutter_init_bluetooth_config_gpio_input 
+0x478e 017284 fetch 1 ,mem_shutter_config_select_gpio3 
+0x478f 017285 branch shutter_init_bluetooth_config_gpio_input 
+:      017287 shutter_init_bluetooth_config_gpio_input:
+0x4790 017288 rtn blank 
+0x4791 017289 or pdata ,0x80 ,temp 
+0x4792 017290 branch gpio_config_input_nowake 
+:      017293 shutter_load_bluetooth_config:
+0x4793 017294 call shutter_check_load_config_flag 
+0x4794 017295 nrtn user 
+0x4795 017296 call shutter_load_bluetooth_config_label 
+0x4796 017297 branch shutter_load_bluetooth_config_by_otp 
+:      017299 shutter_load_bluetooth_config_label:
+0x4797 017300 arg 0 ,rega 
+0x4798 017301 fetch 1 ,mem_shutter_config_select_gpio1 
+0x4799 017302 call shutter_load_bluetooth_config_read_gpio_input 
+0x479a 017303 nsetflag blank ,0 ,rega 
+0x479b 017304 fetch 1 ,mem_shutter_config_select_gpio2 
+0x479c 017305 call shutter_load_bluetooth_config_read_gpio_input 
+0x479d 017306 nsetflag blank ,1 ,rega 
+0x479e 017307 fetch 1 ,mem_shutter_config_select_gpio3 
+0x479f 017308 call shutter_load_bluetooth_config_read_gpio_input 
+0x47a0 017309 nsetflag blank ,2 ,rega 
+0x47a1 017310 copy rega ,pdata 
+0x47a2 017311 store 1 ,mem_shutter_config_label 
+0x47a3 017312 fetch 1 ,mem_shutter_config_size 
+0x47a4 017313 imul32 rega ,pdata 
+0x47a5 017314 fetcht 2 ,mem_shutter_config_otp_base_address 
+0x47a6 017315 iadd temp ,pdata 
+0x47a7 017316 store 2 ,mem_shutter_config_otp_addr 
+0x47a8 017317 rtn 
+:      017319 shutter_load_bluetooth_config_read_gpio_input:
+0x47a9 017320 rtn blank 
+0x47aa 017321 or pdata ,0x80 ,temp 
+0x47ab 017322 call gpio_get_bit 
+0x47ac 017323 nbranch enable_blank ,true 
+0x47ad 017324 branch disable_blank 
+:      017327 shutter_check_load_config_flag:
+0x47ae 017328 call disable_user 
+0x47af 017329 fetch 1 ,mem_shutter_config_user_size 
+0x47b0 017330 nrtn blank 
+0x47b1 017331 fetch 1 ,mem_shutter_config_enable 
+0x47b2 017332 rtn blank 
+0x47b3 017333 branch enable_user 
+:      017336 shutter_load_bluetooth_config_by_otp:
+0x47b4 017337 call otp_enable_chgpump 
+0x47b5 017338 fetch 2 ,mem_shutter_config_otp_addr 
+0x47b6 017339 arg mem_shutter_config_data_temp ,rega 
+0x47b7 017340 fetcht 1 ,mem_shutter_config_size 
+0x47b8 017341 call otpd_read_data 
+0x47b9 017342 call otp_disable_chgpump 
+:      017343 shutter_load_bluetooth_config_store_name:
+0x47ba 017344 fetch 1 ,mem_shutter_config_data_temp 
+0x47bb 017345 copy pdata ,loopcnt 
+0x47bc 017346 store 1 ,mem_le_name_len 
+0x47bd 017347 call memcpy_fast 
+0x47be 017348 fetch 1 ,mem_shutter_config_data_temp 
+0x47bf 017349 copy pdata ,loopcnt 
+0x47c0 017350 store 1 ,mem_local_name_length 
+0x47c1 017351 call memcpy_fast 
+0x47c2 017352 ifetch 1 ,contr 
+0x47c3 017353 store 1 ,mem_shutter_key_num 
+0x47c4 017354 ifetch 1 ,contr 
+0x47c5 017355 store 1 ,mem_shutter_hard_soft_switch_case 
+0x47c6 017356 rtn 
+:      017359 shutter_load_bluetooth_config_by_eeprom:
+0x47c7 017360 fetch 1 ,mem_shutter_bluetooth_type 
+0x47c8 017361 rtnbit0 classic_shutter 
+0x47c9 017362 arg 3 ,temp 
+0x47ca 017363 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47cb 017364 copy pdata ,regb 
+0x47cc 017365 arg mem_shutter_config_eeprom_start_flag ,rega 
+0x47cd 017366 call iicd_read_eep_data 
+0x47ce 017367 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+0x47cf 017368 setarg shutter_eeprom_config_crc 
+0x47d0 017369 isub temp ,null 
+0x47d1 017370 nrtn zero 
+0x47d2 017371 fetch 1 ,mem_shutter_config_user_size 
+0x47d3 017372 rtn blank 
+0x47d4 017373 copy pdata ,temp 
+0x47d5 017374 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47d6 017375 add pdata ,3 ,regb 
+0x47d7 017376 arg mem_shutter_config_data_temp ,rega 
+0x47d8 017377 call iicd_read_eep_data 
+0x47d9 017378 branch shutter_store_config 
+:      017380 shutter_load_bluetooth_config_by_user_config:
+0x47da 017381 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47db 017382 rtn blank 
+0x47dc 017383 call otp_enable_chgpump 
+0x47dd 017384 arg 1 ,temp 
+0x47de 017385 arg mem_shutter_config_user_size ,rega 
+0x47df 017386 call otpd_read_data 
+0x47e0 017388 fetch 1 ,mem_shutter_config_user_size 
+0x47e1 017389 rtn blank 
+0x47e2 017391 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47e3 017392 pincrease 1 
+0x47e4 017393 arg mem_shutter_config_data_temp ,rega 
+0x47e5 017394 fetcht 1 ,mem_shutter_config_user_size 
+0x47e6 017395 call otpd_read_data 
+0x47e7 017396 call otp_disable_chgpump 
+:      017397 shutter_store_config:
+0x47e8 017398 call shutter_load_bluetooth_config_store_name 
+:      017399 shutter_load_bluetooth_config_custom:
+0x47e9 017400 ifetch 2 ,contr 
+0x47ea 017401 rtn blank 
+0x47eb 017402 copy pdata ,contw 
+0x47ec 017403 ifetcht 1 ,contr 
+0x47ed 017404 copy temp ,loopcnt 
+0x47ee 017405 call memcpy 
+0x47ef 017406 branch shutter_load_bluetooth_config_custom 
+:      017410 shutter_random_mac_addr:
+0x47f0 017411 fetch 1 ,mem_shutter_bluetooth_type 
+0x47f1 017412 rtnbit0 classic_shutter 
+0x47f2 017413 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47f3 017414 copy pdata ,regb 
+0x47f4 017415 arg 4 ,temp 
+0x47f5 017416 arg mem_shutter_random_mac_data_temp ,rega 
+0x47f6 017417 call iicd_read_eep_data 
+0x47f7 017418 fetch 1 ,mem_shutter_random_mac_data_temp 
+0x47f8 017419 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+:      017420 shutter_write_random_mac_addr_to_eeprom:
+0x47f9 017421 setarg 1 
+0x47fa 017422 store 1 ,mem_shutter_random_mac_data_temp 
+0x47fb 017423 force 3 ,loopcnt 
+0x47fc 017424 call generate_random_loop 
+0x47fd 017425 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47fe 017426 copy pdata ,regb 
+0x47ff 017427 arg 4 ,temp 
+0x4800 017428 arg mem_shutter_random_mac_data_temp ,rega 
+0x4801 017429 call iicd_write_eep_data 
+:      017430 shutter_write_random_mac_addr:
+0x4802 017431 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+0x4803 017432 store 3 ,mem_lap 
+0x4804 017433 store 3 ,mem_le_lap 
+0x4805 017434 rtn 
+:      017437 shutter_soft_swtich_power_on:
+0x4806 017438 branch shutter_start_reconnect 
+:      017441 shutter_soft_swtich_power_off:
+0x4807 017442 arg 0 ,rega 
+0x4808 017443 arg mem_shutter_power_off_led_style ,regc 
+0x4809 017444 call ui_led_set_style_global 
+0x480a 017445 call shutter_disconnect_current_connection 
+:      017446 shutter_wait_power_off:
+0x480b 017447 fetch 1 ,mem_shutter_power_off_timeout 
+0x480c 017448 store 1 ,mem_shutter_power_off_timer 
+0x480d 017449 rtn 
+:      017453 ui_soft_swtich_init:
+0x480e 017454 setarg ss_state_power_up 
+0x480f 017455 call ui_soft_swtich_init_power_on_time 
+0x4810 017456 jam ui_button_state_up ,mem_ui_button_last_state 
+0x4811 017457 call ui_button_init 
+0x4812 017458 call ui_button_polling 
+0x4813 017459 fetch 2 ,mem_ui_state_map 
+0x4814 017460 rtnbit1 ui_state_btn_down 
+0x4815 017461 branch app_enter_hibernate 
+:      017463 ui_soft_swtich_init_power_on_time:
+0x4816 017464 fetcht 2 ,mem_power_param_ptr 
+0x4817 017465 istore 1 ,temp 
+0x4818 017466 ifetch 1 ,contw 
+0x4819 017467 store 1 ,mem_ui_button_timeout 
+0x481a 017468 rtn 
+:      017471 ui_soft_switch_botton_up:
+0x481b 017472 fetch 2 ,mem_power_param_ptr 
+0x481c 017473 ifetch 1 ,pdata 
+0x481d 017474 rtnne ss_state_power_up 
+0x481e 017475 branch app_enter_hibernate 
+:      017478 ui_soft_switch_botton_long_press:
+0x481f 017479 fetcht 2 ,mem_power_param_ptr 
+0x4820 017480 ifetch 1 ,temp 
+0x4821 017481 beq ss_state_power_on ,ui_soft_switch_power_off 
+:      017482 ui_soft_switch_power_on:
+0x4822 017483 setarg ss_state_power_on 
+0x4823 017484 fetcht 2 ,mem_power_param_ptr 
+0x4824 017485 istore 1 ,temp 
+0x4825 017486 add temp ,ss_power_off_time ,contr 
+0x4826 017487 ifetch 1 ,contr 
+0x4827 017488 istore 1 ,mem_ui_button_timeout 
+0x4828 017489 ifetch 2 ,contr 
+0x4829 017490 branch callback_func 
+:      017492 ui_soft_switch_power_off:
+0x482a 017493 setarg ss_state_power_off 
+0x482b 017494 call ui_soft_swtich_init_power_on_time 
+0x482c 017495 add temp ,ss_power_off_cb ,contr 
+0x482d 017496 ifetch 2 ,contr 
+0x482e 017497 branch app_enter_hibernate ,blank 
+0x482f 017498 branch callback_func 
+:      017504 shutter_byteswap:
+0x4830 017505 store 6 ,mem_tmp_buffer 
+0x4831 017506 fetch 1 ,mem_tmp_buffer 
+0x4832 017507 store 1 ,mem_tmp_buffer + 11 
+0x4833 017508 ifetch 1 ,contr 
+0x4834 017509 store 1 ,mem_tmp_buffer + 10 
+0x4835 017510 ifetch 1 ,contr 
+0x4836 017511 store 1 ,mem_tmp_buffer + 9 
+0x4837 017512 ifetch 1 ,contr 
+0x4838 017513 store 1 ,mem_tmp_buffer + 8 
+0x4839 017514 ifetch 1 ,contr 
+0x483a 017515 store 1 ,mem_tmp_buffer + 7 
+0x483b 017516 ifetch 1 ,contr 
+0x483c 017517 store 1 ,mem_tmp_buffer + 6 
+0x483d 017518 fetch 6 ,mem_tmp_buffer + 6 
+0x483e 017519 rtn 
+:      017521 shutter_random_addr_by_otp:
+0x483f 017522 call load_adc_init 
+0x4840 017523 fetch 1 ,mem_1v_adc_io_data 
+0x4841 017524 store 1 ,mem_le_lap 
+0x4842 017525 fetch 1 ,mem_5v_adc_hvin_data 
+0x4843 017526 istore 1 ,contw 
+0x4844 017527 fetch 1 ,mem_3v_adc_vinlpm_data 
+0x4845 017528 istore 1 ,contw 
+0x4846 017529 fetch 3 ,mem_le_lap 
+0x4847 017530 store 3 ,mem_lap 
+0x4848 017531 rtn 
+:      017543 sim_iic_read_eep_data:
+0x4849 017544 fetch 2 ,mem_eeprom_base 
+0x484a 017545 iadd regb ,pdata 
+0x484b 017546 byteswap pdata ,pdata 
+0x484c 017547 store 2 ,mem_addr_mi 
+0x484d 017548 copy temp ,regb 
+0x484e 017550 call sim_iic_start 
+0x484f 017551 setarg 0xa0 
+0x4850 017552 call sim_iic_send_byte 
+0x4851 017553 fetch 1 ,mem_addr_mi 
+0x4852 017554 call sim_iic_send_byte 
+0x4853 017555 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+0x4854 017556 fetch 1 ,mem_addr_mi + 1 
+0x4855 017557 call sim_iic_send_byte 
+:      017558 sim_iic_read_eep_data_2k:
+0x4856 017559 call sim_iic_stop 
+0x4857 017561 call sim_iic_start 
+0x4858 017562 setarg 0xa1 
+0x4859 017563 call sim_iic_send_byte 
+:      017565 sim_iic_read_eep_data_loop:
+0x485a 017566 call sim_iic_read_byte 
+0x485b 017567 istore 1 ,rega 
+0x485c 017568 increase 1 ,rega 
+0x485d 017569 increase -1 ,regb 
+0x485e 017570 nbranch sim_iic_read_eep_data_loop ,zero 
+0x485f 017571 branch sim_iic_stop 
+:      017582 sim_iic_write_eep_data:
+0x4860 017583 byteswap regb ,pdata 
+0x4861 017584 store 2 ,mem_addr_mi 
+0x4862 017585 copy temp ,regb 
+0x4863 017587 call sim_iic_start 
+0x4864 017588 setarg 0xa0 
+0x4865 017589 call sim_iic_send_byte 
+0x4866 017591 fetch 1 ,mem_addr_mi 
+0x4867 017592 call sim_iic_send_byte 
+0x4868 017593 bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+0x4869 017594 fetch 1 ,mem_addr_mi + 1 
+0x486a 017595 call sim_iic_send_byte 
+:      017596 sim_iic_write_eep_data_loop:
+0x486b 017597 ifetch 1 ,rega 
+0x486c 017598 call sim_iic_send_byte 
+0x486d 017599 increase 1 ,rega 
+0x486e 017600 increase -1 ,regb 
+0x486f 017601 nbranch sim_iic_write_eep_data_loop ,zero 
+0x4870 017602 branch sim_iic_stop 
+:      017606 sim_iic_wait_ack:
+0x4871 017607 arg 10 ,loopcnt 
+0x4872 017608 call sim_iic_release_sda 
+0x4873 017609 call sim_iic_scl_output_high 
+0x4874 017610 call sim_iic_delay 
+:      017611 sim_iic_wait_ack_loop:
+0x4875 017612 call sim_iic_read_sda_level 
+0x4876 017613 branch sim_iic_scl_output_low ,blank 
+0x4877 017614 loop sim_iic_wait_ack_loop 
+0x4878 017615 branch sim_iic_scl_output_low 
+:      017619 sim_iic_ack_slave:
+0x4879 017620 call sim_iic_scl_output_low 
+0x487a 017621 call sim_iic_sda_output_low 
+0x487b 017622 call sim_iic_delay 
+0x487c 017623 call sim_iic_scl_output_high 
+0x487d 017624 call sim_iic_delay 
+0x487e 017625 branch sim_iic_scl_output_low 
+:      017630 sim_iic_read_byte:
+0x487f 017631 arg 8 ,loopcnt 
+0x4880 017632 arg 0 ,regc 
+0x4881 017633 call sim_iic_release_sda 
+:      017634 sim_iic_read_byte_loop:
+0x4882 017635 call sim_iic_scl_output_high 
+0x4883 017636 call sim_iic_delay 
+0x4884 017637 lshift regc ,regc 
+0x4885 017638 call sim_iic_read_sda_level 
+0x4886 017639 iadd regc ,regc 
+0x4887 017640 call sim_iic_delay 
+0x4888 017641 call sim_iic_scl_output_low 
+0x4889 017642 loop sim_iic_read_byte_loop 
+0x488a 017643 call sim_iic_ack_slave 
+0x488b 017644 copy regc ,pdata 
+0x488c 017645 rtn 
+:      017649 sim_iic_send_byte:
+0x488d 017650 arg 8 ,loopcnt 
+0x488e 017651 copy pdata ,regc 
+0x488f 017652 call sim_iic_scl_output_low 
+:      017653 sim_iic_send_byte_loop:
+0x4890 017654 isolate1 7 ,regc 
+0x4891 017655 call sim_iic_sda_output_high ,true 
+0x4892 017656 ncall sim_iic_sda_output_low ,true 
+0x4893 017657 lshift regc ,regc 
+0x4894 017658 call sim_iic_delay 
+0x4895 017659 call sim_iic_scl_output_high 
+0x4896 017660 call sim_iic_delay 
+0x4897 017661 call sim_iic_scl_output_low 
+0x4898 017662 call sim_iic_delay 
+0x4899 017663 loop sim_iic_send_byte_loop 
+0x489a 017664 branch sim_iic_wait_ack 
+:      017668 sim_iic_start:
+0x489b 017669 call sim_iic_sda_output_high 
+0x489c 017670 call sim_iic_scl_output_high 
+0x489d 017671 call sim_iic_delay 
+0x489e 017672 call sim_iic_sda_output_low 
+0x489f 017673 call sim_iic_delay 
+0x48a0 017674 branch sim_iic_scl_output_low 
+:      017678 sim_iic_stop:
+0x48a1 017679 call sim_iic_sda_output_low 
+0x48a2 017680 call sim_iic_scl_output_high 
+0x48a3 017681 call sim_iic_delay 
+0x48a4 017682 call sim_iic_sda_output_high 
+0x48a5 017683 branch sim_iic_delay 
+:      017687 sim_iic_scl_output_high:
+0x48a6 017688 enable user 
+0x48a7 017689 fetch 1 ,sim_iic_scl_gpio_num 
+0x48a8 017690 branch sim_iic_config_gpio 
+:      017693 sim_iic_scl_output_low:
+0x48a9 017694 disable user 
+0x48aa 017695 fetch 1 ,sim_iic_scl_gpio_num 
+0x48ab 017696 branch sim_iic_config_gpio 
+:      017699 sim_iic_sda_output_high:
+0x48ac 017700 enable user 
+0x48ad 017701 fetch 1 ,sim_iic_sda_gpio_num 
+0x48ae 017702 branch sim_iic_config_gpio 
+:      017705 sim_iic_sda_output_low:
+0x48af 017706 disable user 
+0x48b0 017707 fetch 1 ,sim_iic_sda_gpio_num 
+0x48b1 017708 branch sim_iic_config_gpio 
+:      017713 sim_iic_config_gpio:
+0x48b2 017714 and pdata ,0x07 ,queue 
+0x48b3 017715 rshift3 pdata ,pdata 
+0x48b4 017716 arg core_gpio_oe0 ,temp 
+0x48b5 017717 iadd temp ,temp 
+0x48b6 017718 ifetch 1 ,temp 
+0x48b7 017719 qset1 pdata 
+0x48b8 017720 istore 1 ,temp 
+0x48b9 017721 increase 4 ,temp 
+0x48ba 017722 ifetch 1 ,temp 
+0x48bb 017723 qsetflag user ,pdata 
+0x48bc 017724 istore 1 ,temp 
+0x48bd 017725 rtn 
+:      017728 sim_iic_release_sda:
+0x48be 017729 fetch 1 ,sim_iic_sda_gpio_num 
+0x48bf 017730 and pdata ,0x07 ,queue 
+0x48c0 017731 rshift3 pdata ,pdata 
+0x48c1 017732 arg core_gpio_oe0 ,temp 
+0x48c2 017733 iadd temp ,temp 
+0x48c3 017734 ifetch 1 ,temp 
+0x48c4 017735 qset0 pdata 
+0x48c5 017736 istore 1 ,temp 
+0x48c6 017737 rtn 
+:      017742 sim_iic_read_sda_level:
+0x48c7 017743 nop 4 
+0x48c8 017744 fetch 1 ,sim_iic_sda_gpio_num 
+0x48c9 017745 and pdata ,0x07 ,queue 
+0x48ca 017746 rshift3 pdata ,pdata 
+0x48cb 017747 arg core_gpio_in ,temp 
+0x48cc 017748 iadd temp ,temp 
+0x48cd 017749 setarg 0 
+0x48ce 017750 ifetcht 1 ,temp 
+0x48cf 017751 qisolate1 temp 
+0x48d0 017752 setflag true ,0 ,pdata 
+0x48d1 017753 rtn 
+:      017756 sim_iic_delay:
+0x48d2 017758 rtn 
+:      017764 usb_isr:
+0x48d3 017765 bpatch patch1e_6 ,mem_patch1e 
+0x48d4 017766 hfetch 1 ,core_usb_status 
+0x48d5 017767 isolate1 7 ,pdata 
+0x48d6 017768 call usb_init ,true 
+0x48d7 017769 call usb_nak_state_judge 
+0x48d8 017770 hfetch 1 ,core_usb_status 
+0x48d9 017771 store 1 ,mem_usb_status 
+0x48da 017772 hfetch 1 ,core_usb_fifo_empty 
+0x48db 017773 store 1 ,mem_usb_fifo_empty 
+0x48dc 017774 hstore 1 ,core_usb_fifo_empty 
+0x48dd 017775 pinvert 
+0x48de 017776 fetcht 1 ,mem_usb_tx_wait 
+0x48df 017777 iand temp ,pdata 
+0x48e0 017778 store 1 ,mem_usb_tx_wait 
+0x48e1 017779 jam 0xe0 ,core_usb_status 
+0x48e2 017780 fetch 1 ,mem_usb_fifo_empty 
+0x48e3 017781 compare 0x1 ,pdata ,0x1 
+0x48e4 017782 call usb0_fifo_empty ,true 
+0x48e5 017783 fetch 1 ,mem_usb_status 
+0x48e6 017784 compare 0x1 ,pdata ,0x1 
+0x48e7 017785 call usb_status1 ,true 
+0x48e8 017786 call usb_tx 
+0x48e9 017787 branch usb_nak_state 
+:      017789 usb_init:
+0x48ea 017790 bpatch patch1e_7 ,mem_patch1e 
+0x48eb 017791 call usb_init_param 
+0x48ec 017792 jam 0x00 ,core_usb_config 
+0x48ed 017793 nop 10000 
+0x48ee 017794 jam 0xc0 ,core_usb_trig 
+0x48ef 017795 hfetch 2 ,core_clkoff 
+0x48f0 017796 set0 clock_off_usb ,pdata 
+0x48f1 017797 hstore 2 ,core_clkoff 
+0x48f2 017798 jam 0x3c ,core_usb_config 
+0x48f3 017799 jam 0xff ,core_usb_status 
+0x48f4 017800 jam 0xff ,core_usb_fifo_empty 
+0x48f5 017801 jam 0 ,core_usb_addr 
+0x48f6 017802 jam dev_default ,mem_usb0_state 
+0x48f7 017803 setarg mem_usb_clear_mem_end 
+0x48f8 017804 arg mem_usb_clear_mem_start ,contw 
+0x48f9 017805 isub contw ,loopcnt 
+0x48fa 017806 branch clear_mem 
+:      017808 usb_offline_check_init:
+0x48fb 017809 fetcht 1 ,mem_usb_offline_check_gpio 
+0x48fc 017810 branch gpio_config_input 
+:      017811 usb_offline_state:
+0x48fd 017812 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x48fe 017813 rtn blank 
+0x48ff 017814 fetcht 1 ,mem_usb_offline_check_gpio 
+0x4900 017815 call gpio_get_bit 
+0x4901 017816 branch usb_init ,true 
+0x4902 017817 rtn 
+:      017820 usb_nak_state:
+0x4903 017821 arg timer_nak ,queue 
+0x4904 017822 call timer_check 
+0x4905 017823 nrtn blank 
+0x4906 017824 fetch 1 ,mem_usb_wakestate_onetime_flag 
+0x4907 017825 nrtn blank 
+0x4908 017826 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4909 017827 ncall usb_mac_wakeup_judge ,blank 
+0x490a 017828 rtn 
+:      017830 usb_mem_devicedesc_init:
+0x490b 017831 arg mem_devicedesc ,contw 
+0x490c 017832 setsect 0 ,0x11212 
+0x490d 017833 setsect 1 ,0x8000 
+0x490e 017834 setsect 2 ,0x0 
+0x490f 017835 setsect 3 ,0x10000 
+0x4910 017836 istore 9 ,contw 
+0x4911 017837 setsect 0 ,0x22412 
+0x4912 017838 setsect 1 ,0x8604 
+0x4913 017839 setsect 2 ,0x1000 
+0x4914 017840 setsect 3 ,0x8 
+0x4915 017841 istore 9 ,contw 
+0x4916 017842 setsect 0 ,0x1 
+0x4917 017843 istore 1 ,contw 
+0x4918 017844 rtn 
+:      017846 usb_init_param:
+0x4919 017847 jam 2 ,mem_usb0_state 
+0x491a 017848 setarg 0x0 
+0x491b 017849 store 1 ,mem_remain 
+0x491c 017850 store 2 ,mem_usb_zero_packet 
+0x491d 017851 pincrease 1 
+0x491e 017852 store 2 ,mem_usb_ones_packet 
+0x491f 017853 pincrease 1 
+0x4920 017854 store 2 ,mem_usb_two_packet 
+0x4921 017855 setarg hid_kbdata_addr 
+0x4922 017856 store 2 ,mem_hidreportdesc_kb 
+0x4923 017857 setarg hid_msdata_addr 
+0x4924 017858 store 2 ,mem_hidreportdesc_m 
+0x4925 017859 arg mem_confdesc ,contw 
+0x4926 017860 arg hid_confdata_addr ,contr 
+0x4927 017861 call memcpy64 
+0x4928 017862 fetch 1 ,mem_usb_tx_interval 
+0x4929 017863 ncall usb_tx_interval_config ,blank 
+0x492a 017864 branch usb_mem_devicedesc_init 
+:      017866 usb_tx_interval_config:
+0x492b 017867 store 1 ,mem_confdesc + 34 
+0x492c 017868 store 1 ,mem_confdesc + 59 
+0x492d 017869 rtn 
+:      017870 usb_nak_state_judge:
+0x492e 017871 hfetch 1 ,core_usb_status 
+0x492f 017872 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+0x4930 017873 rtn 
+:      017875 usb_nak_state_timer_init:
+0x4931 017876 call usb0_attached_state_judge 
+0x4932 017877 call timer_reinit 
+0x4933 017878 setarg timer_nak_delay 
+0x4934 017879 arg timer_nak ,queue 
+0x4935 017880 branch timer_init 
+:      017882 usb0_attached_state_judge:
+0x4936 017883 fetch 1 ,mem_usb_state 
+0x4937 017884 bne usb_connected ,usb_clear_halt_dispose 
+0x4938 017885 jam 0 ,mem_usb_wakestate_onetime_flag 
+0x4939 017886 jam 0 ,mem_usb_mac_wakeup_trig 
+0x493a 017887 rtn 
+:      017888 usb_clear_halt_dispose:
+0x493b 017889 fetch 1 ,mem_usb_clear_halt 
+0x493c 017890 rtn blank 
+0x493d 017891 jam 0 ,mem_usb_clear_halt 
+0x493e 017892 jam usb_connected ,mem_usb_state 
+0x493f 017893 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4940 017894 rtn 
+:      017896 usb0_fifo_empty:
+0x4941 017897 jam 0x1 ,core_usb_fifo_empty 
+0x4942 017898 branch usb0_tx 
+:      017900 usb_rx_no_data:
+0x4943 017901 fetch 1 ,mem_usb_status 
+0x4944 017902 bbit1 usb_status_setup ,usb_class_type 
+0x4945 017903 rtn 
+:      017905 usb_rx_read:
+0x4946 017906 hfetch 1 ,core_usb_ep 
+0x4947 017907 istore 1 ,contw 
+0x4948 017908 loop usb_rx_read 
+0x4949 017909 rtn 
+:      017911 usb_status1:
+0x494a 017912 bpatch patch1f_0 ,mem_patch1f 
+0x494b 017913 jam 0x11 ,core_usb_status 
+0x494c 017914 hfetch 1 ,core_usb_ep_len 
+0x494d 017915 store 1 ,mem_usb_read_len 
+0x494e 017916 copy pdata ,loopcnt 
+0x494f 017917 branch usb_rx_no_data ,blank 
+0x4950 017918 arg mem_usb_setup ,contw 
+0x4951 017919 call usb_rx_read 
+0x4952 017920 fetch 1 ,mem_usb_read_len 
+0x4953 017921 sub pdata ,7 ,null 
+0x4954 017922 rtn positive 
+:      017923 usb_class_type:
+0x4955 017924 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4956 017925 and_into 0x80 ,pdata 
+0x4957 017926 beq in_device ,usb_in_device 
+0x4958 017927 beq out_device ,usb_out_device 
+0x4959 017928 branch assert 
+:      017930 usb_in_device:
+0x495a 017931 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x495b 017932 rshift4 pdata ,pdata 
+0x495c 017933 rshift pdata ,pdata 
+0x495d 017934 and_into 0x03 ,pdata 
+0x495e 017935 beq standard_req ,usb_in_standard_req 
+0x495f 017936 beq class_req ,usb_in_class_req 
+0x4960 017937 beq manufacturer_req ,usb_in_manufacturer_req 
+0x4961 017938 branch assert 
+:      017940 usb_out_device:
+0x4962 017941 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4963 017942 rshift4 pdata ,pdata 
+0x4964 017943 rshift pdata ,pdata 
+0x4965 017944 and_into 0x03 ,pdata 
+0x4966 017945 beq standard_req ,usb_out_standard_req 
+0x4967 017946 beq class_req ,usb_out_class_req 
+0x4968 017947 beq manufacturer_req ,usb_out_manufacturer_req 
+0x4969 017948 branch assert 
+:      017950 usb_in_standard_req:
+0x496a 017951 fetch 1 ,mem_usb_setup_brequest 
+0x496b 017952 beq get_configuration ,usb0_request_get_configuration 
+0x496c 017953 beq get_descriptor ,usb0_request_get_descriptor 
+0x496d 017954 beq get_interface ,usb0_request_get_interface 
+0x496e 017955 beq get_status ,usb0_request_get_status 
+0x496f 017956 branch usb0_force_stall 
+:      017958 usb_in_class_req:
+0x4970 017959 fetch 1 ,mem_usb_setup_brequest 
+0x4971 017960 beq get_idle ,usb_get_idle 
+0x4972 017961 beq get_report ,usb_get_report 
+0x4973 017962 beq get_protocol ,usb_get_protocol_req 
+0x4974 017963 branch usb0_force_stall 
+:      017965 usb_in_manufacturer_req:
+0x4975 017966 branch usb0_force_stall 
+:      017968 usb_out_standard_req:
+0x4976 017969 fetch 1 ,mem_usb_setup_brequest 
+0x4977 017970 beq clear_feature ,usb0_request_clear_feature 
+0x4978 017971 beq set_feature ,usb0_request_set_feature 
+0x4979 017972 beq set_address ,usb0_request_set_address 
+0x497a 017973 beq set_configuration ,usb0_request_set_configuration 
+0x497b 017974 beq set_interface ,usb0_request_set_interface 
+0x497c 017975 beq set_descriptor ,usb0_force_stall 
+0x497d 017976 branch usb0_force_stall 
+:      017978 usb_out_class_req:
+0x497e 017979 fetch 1 ,mem_usb_setup_brequest 
+0x497f 017980 beq set_idle ,usb_set_idle 
+0x4980 017981 beq set_report ,usb_set_report 
+0x4981 017982 beq set_protocol ,usb_set_protocol_req 
+0x4982 017983 branch usb0_force_stall 
+:      017985 usb_out_manufacturer_req:
+0x4983 017986 branch usb0_force_stall 
+:      017988 usb0_force_stall:
+0x4984 017989 hfetch 1 ,core_usb_stall 
+0x4985 017990 set1 0 ,pdata 
+0x4986 017991 hstore 1 ,core_usb_stall 
+0x4987 017992 branch usb0_reply_zerolen 
+:      017994 usb0_reply_zerolen:
+0x4988 017995 jam 0x40 ,core_usb_clear 
+0x4989 017996 rtn 
+:      017998 usb0_request_get_configuration:
+0x498a 017999 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x498b 018000 bne in_device ,usb0_force_stall 
+0x498c 018001 fetch 1 ,mem_usb_setup_windex 
+0x498d 018002 bne 0 ,usb0_force_stall 
+0x498e 018003 fetch 1 ,mem_usb_setup_windex + 1 
+0x498f 018004 bne 0 ,usb0_force_stall 
+0x4990 018005 fetch 1 ,mem_usb_setup_blength 
+0x4991 018006 bne 1 ,usb0_force_stall 
+0x4992 018007 fetch 1 ,mem_usb_setup_blengthh 
+0x4993 018008 bne 0 ,usb0_force_stall 
+0x4994 018009 fetch 1 ,mem_usb_setup_bvalue 
+0x4995 018010 bne 0 ,usb0_force_stall 
+0x4996 018011 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4997 018012 bne 0 ,usb0_force_stall 
+0x4998 018013 fetch 1 ,mem_usb0_state 
+0x4999 018014 beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+0x499a 018015 beq dev_address ,usb0_request_get_cfg_dev_addr 
+0x499b 018016 branch usb0_force_stall 
+:      018018 usb0_request_get_cfg_dev_cfg:
+0x499c 018019 arg 1 ,regb 
+0x499d 018020 branch usb_send_ones_packet 
+:      018022 usb0_request_get_cfg_dev_addr:
+0x499e 018023 arg 1 ,regb 
+0x499f 018024 branch usb_send_zero_packet 
+:      018026 usb0_request_get_descriptor:
+0x49a0 018027 bpatch patch1f_1 ,mem_patch1f 
+0x49a1 018028 set0 mark_isstr ,mark 
+0x49a2 018029 fetch 1 ,mem_usb_setup_bvalueh 
+0x49a3 018030 beq dsc_device ,dsc_device_info 
+0x49a4 018031 beq dsc_config ,dsc_config_info 
+0x49a5 018032 beq dsc_string ,dsc_string_info 
+0x49a6 018033 beq dsc_hid ,dsc_hid_info 
+0x49a7 018034 beq dsc_hid_report ,dsc_hid_report_info 
+0x49a8 018035 branch usb0_force_stall 
+:      018037 dsc_hid_info:
+0x49a9 018038 jam 0 ,mem_usb_get_protocol_flag 
+0x49aa 018039 fetch 1 ,mem_usb_setup_windex 
+0x49ab 018040 beq 0 ,dsc_hid_info_interface0 
+0x49ac 018041 beq 1 ,dsc_hid_info_interface1 
+0x49ad 018042 branch usb0_force_stall 
+:      018044 dsc_hid_info_interface0:
+0x49ae 018045 arg mem_confdesc + 19 ,rega 
+0x49af 018046 ifetch 1 ,rega 
+0x49b0 018047 iforce regb 
+0x49b1 018048 branch usb0_respond 
+:      018050 dsc_hid_info_interface1:
+0x49b2 018051 arg mem_confdesc + 44 ,rega 
+0x49b3 018052 ifetch 1 ,rega 
+0x49b4 018053 iforce regb 
+0x49b5 018054 branch usb0_respond 
+:      018056 dsc_device_info:
+0x49b6 018060 fetch 1 ,mem_usb_set_high_addr_flag 
+0x49b7 018061 ncall usb_set_high_addr ,blank 
+0x49b8 018062 setarg mem_devicedesc 
+0x49b9 018063 fetcht 1 ,mem_devicedesc 
+:      018064 dsc_info_set_data_len:
+0x49ba 018065 store 2 ,mem_dsc_info_data_pointer 
+0x49bb 018066 storet 1 ,mem_dsc_info_len 
+0x49bc 018067 fetch 1 ,mem_usb_setup_blength 
+0x49bd 018068 isub temp ,null 
+0x49be 018069 nbranch dsc_info_set_current_data_len ,positive 
+:      018070 dsc_info_set_initial_data_len:
+0x49bf 018071 fetch 1 ,mem_dsc_info_len 
+:      018072 dsc_info_set_data_size_completed:
+0x49c0 018073 iforce regb 
+0x49c1 018074 fetch 2 ,mem_dsc_info_data_pointer 
+0x49c2 018075 add pdata ,1 ,pdata 
+0x49c3 018076 iforce rega 
+0x49c4 018077 branch usb0_respond 
+:      018078 dsc_info_set_current_data_len:
+0x49c5 018079 fetch 1 ,mem_usb_setup_blength 
+0x49c6 018080 branch dsc_info_set_data_size_completed 
+:      018082 usb_set_high_addr:
+0x49c7 018083 hfetch 1 ,core_usb_addr 
+0x49c8 018084 ncall usb0_set_addr ,blank 
+0x49c9 018085 jam 0 ,mem_usb_set_high_addr_flag 
+0x49ca 018086 rtn 
+:      018087 usb0_set_addr:
+0x49cb 018088 hfetch 1 ,core_usb_addr 
+0x49cc 018089 set1 7 ,pdata 
+0x49cd 018090 hstore 1 ,core_usb_addr 
+0x49ce 018091 rtn 
+:      018093 dsc_config_info:
+0x49cf 018094 setarg mem_confdesc 
+0x49d0 018095 fetcht 1 ,mem_confdesc 
+0x49d1 018096 branch dsc_info_set_data_len 
+:      018098 dsc_string_info:
+0x49d2 018099 fetch 1 ,mem_usb_setup_bvalue 
+0x49d3 018100 sub pdata ,3 ,null 
+0x49d4 018101 nbranch usb0_force_stall ,positive 
+0x49d5 018102 fetch 1 ,mem_usb_setup_bvalue 
+0x49d6 018103 arg mem_string0 ,rega 
+0x49d7 018104 beq 0 ,usb0_respond_length 
+0x49d8 018105 set1 mark_isstr ,mark 
+0x49d9 018106 arg mem_string1 ,rega 
+0x49da 018107 beq 1 ,usb0_respond_length 
+0x49db 018108 arg mem_string2 ,rega 
+0x49dc 018109 beq 2 ,usb0_respond_length 
+0x49dd 018110 arg mem_string3 ,rega 
+0x49de 018111 beq 3 ,usb0_respond_length 
+0x49df 018112 rtn 
+:      018114 dsc_hid_report_info:
+0x49e0 018115 fetch 2 ,mem_usb_setup_windex 
+0x49e1 018116 beq 1 ,dsc_hid_report_info0 
+0x49e2 018117 fetch 2 ,mem_hidreportdesc_kb 
+0x49e3 018118 copy pdata ,rega 
+0x49e4 018120 branch usb0_respond_length 
+:      018121 dsc_hid_report_info0:
+0x49e5 018122 jam 1 ,mem_usb_device_enumeration_endflag 
+0x49e6 018123 jam usb_got_report_req ,mem_usb_state 
+0x49e7 018124 fetch 2 ,mem_hidreportdesc_m 
+0x49e8 018125 copy pdata ,rega 
+0x49e9 018127 branch usb0_respond_length 
+:      018130 usb0_request_get_interface:
+0x49ea 018131 fetch 1 ,mem_usb0_state 
+0x49eb 018132 bne dev_configured ,usb0_force_stall 
+0x49ec 018133 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x49ed 018134 bne in_interface ,usb0_force_stall 
+0x49ee 018135 fetch 1 ,mem_usb_setup_bvalue 
+0x49ef 018136 bne 0 ,usb0_force_stall 
+0x49f0 018137 fetch 1 ,mem_usb_setup_bvalueh 
+0x49f1 018138 bne 0 ,usb0_force_stall 
+0x49f2 018139 fetch 1 ,mem_usb_setup_blength 
+0x49f3 018140 bne 1 ,usb0_force_stall 
+0x49f4 018141 fetch 1 ,mem_usb_setup_blengthh 
+0x49f5 018142 bne 0 ,usb0_force_stall 
+0x49f6 018143 fetch 1 ,mem_usb_setup_windex 
+0x49f7 018144 bne 0 ,usb0_force_stall 
+0x49f8 018145 fetch 1 ,mem_usb_setup_windex + 1 
+0x49f9 018146 bne 0 ,usb0_force_stall 
+0x49fa 018147 arg 1 ,regb 
+0x49fb 018148 branch usb_send_zero_packet 
+:      018151 usb0_request_get_status:
+0x49fc 018152 fetch 1 ,mem_usb0_state 
+0x49fd 018153 beq dev_default ,usb0_force_stall 
+0x49fe 018154 fetch 1 ,mem_usb_setup_bvalue 
+0x49ff 018155 bne 0 ,usb0_force_stall 
+0x4a00 018156 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a01 018157 bne 0 ,usb0_force_stall 
+0x4a02 018158 fetch 1 ,mem_usb_setup_blength 
+0x4a03 018159 bne 2 ,usb0_force_stall 
+0x4a04 018160 fetch 1 ,mem_usb_setup_blengthh 
+0x4a05 018161 bne 0 ,usb0_force_stall 
+0x4a06 018162 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a07 018163 bne 0 ,usb0_force_stall 
+0x4a08 018164 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a09 018165 beq in_device ,usb0_get_status_in_device 
+0x4a0a 018166 beq in_interface ,usb0_get_status_in_interface 
+0x4a0b 018167 beq in_endpoint ,usb0_get_status_in_endpoint 
+0x4a0c 018168 branch usb0_force_stall 
+:      018170 usb0_get_status_in_device:
+0x4a0d 018171 fetch 1 ,mem_usb_setup_windex 
+0x4a0e 018172 bne 0 ,usb0_force_stall 
+0x4a0f 018173 arg 2 ,regb 
+0x4a10 018174 fetch 1 ,mem_usb_remote_wakeup 
+0x4a11 018175 beq 0x01 ,usb_send_two_packet 
+:      018177 usb_send_zero_packet:
+0x4a12 018178 arg mem_usb_zero_packet ,rega 
+0x4a13 018179 branch usb0_respond 
+:      018180 usb_send_ones_packet:
+0x4a14 018181 arg mem_usb_ones_packet ,rega 
+0x4a15 018182 branch usb0_respond 
+:      018183 usb_send_two_packet:
+0x4a16 018184 arg mem_usb_two_packet ,rega 
+0x4a17 018185 branch usb0_respond 
+:      018187 usb0_get_status_in_interface:
+0x4a18 018188 fetch 1 ,mem_usb0_state 
+0x4a19 018189 bne dev_configured ,usb0_force_stall 
+0x4a1a 018190 arg 2 ,regb 
+0x4a1b 018191 branch usb_send_zero_packet 
+:      018193 usb0_get_status_in_endpoint:
+0x4a1c 018194 fetch 1 ,mem_usb0_state 
+0x4a1d 018195 bne dev_configured ,usb0_force_stall 
+0x4a1e 018196 fetch 1 ,mem_usb_setup_windex 
+0x4a1f 018197 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+0x4a20 018198 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+0x4a21 018199 beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+0x4a22 018200 and_into 0x7f ,pdata 
+0x4a23 018201 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+0x4a24 018202 branch usb0_force_stall 
+:      018204 usb0_get_status_in_ep_in_ep0:
+0x4a25 018205 fetch 1 ,mem_usb_ep0_stall_status 
+:      018206 usb0_get_status_in_ep_in_ack:
+0x4a26 018207 arg 2 ,regb 
+0x4a27 018208 beq 1 ,usb_send_ones_packet 
+0x4a28 018209 branch usb_send_zero_packet 
+:      018210 usb0_get_status_in_ep_in_ep1:
+0x4a29 018211 fetch 1 ,mem_usb_ep1_stall_status 
+0x4a2a 018212 branch usb0_get_status_in_ep_in_ack 
+:      018213 usb0_get_status_in_ep_in_ep2:
+0x4a2b 018214 fetch 1 ,mem_usb_ep2_stall_status 
+0x4a2c 018215 branch usb0_get_status_in_ep_in_ack 
+:      018216 usb0_get_status_in_ep_in_ep3:
+0x4a2d 018217 fetch 1 ,mem_usb_ep3_stall_status 
+0x4a2e 018218 branch usb0_get_status_in_ep_in_ack 
+:      018220 usb_get_idle:
+0x4a2f 018221 jam 1 ,mem_usb_idle_flag 
+0x4a30 018222 arg mem_usb_idle_rate ,rega 
+0x4a31 018223 arg 1 ,regb 
+0x4a32 018224 branch usb0_respond 
+:      018226 usb_get_report:
+0x4a33 018227 fetch 2 ,mem_usb_setup_bvalue 
+0x4a34 018228 arg pc_get_report ,temp 
+0x4a35 018229 isub temp ,null 
+0x4a36 018230 nbranch usb0_force_stall ,zero 
+0x4a37 018231 set0 mark_isstr ,mark 
+:      018232 usb_get_report_dispose:
+0x4a38 018233 fetch 1 ,mem_usb0_data_ready_report 
+0x4a39 018234 nbranch usb_get_report_data_success ,blank 
+0x4a3a 018235 jam pc_get_nondata ,mem_usb0_get_report_data 
+:      018236 usb_get_report_send_data:
+0x4a3b 018237 fetch 1 ,mem_usb_setup_blength 
+0x4a3c 018238 iforce regb 
+0x4a3d 018239 arg mem_usb0_get_report_data ,rega 
+0x4a3e 018240 call usb0_respond 
+:      018241 usb_get_report_data_release:
+0x4a3f 018242 arg mem_usb0_get_report_data ,contw 
+0x4a40 018243 arg 8 ,loopcnt 
+0x4a41 018244 branch memset0 
+:      018245 usb_get_report_data_success:
+0x4a42 018246 jam 0 ,mem_usb0_data_ready_report 
+0x4a43 018247 jam pc_get_data ,mem_usb0_get_report_data 
+0x4a44 018248 branch usb_get_report_send_data 
+:      018250 usb_get_protocol_req:
+0x4a45 018251 fetch 1 ,mem_usb_setup_blength 
+0x4a46 018252 bne 1 ,usb0_force_stall 
+0x4a47 018253 jam 1 ,mem_usb_get_protocol_flag 
+0x4a48 018254 arg 1 ,regb 
+0x4a49 018255 fetch 1 ,mem_usb_set_protocol_value 
+0x4a4a 018256 beq 0 ,usb_get_report_protocol 
+0x4a4b 018257 beq 1 ,usb_get_boot_protocol 
+0x4a4c 018258 branch usb_send_zero_packet 
+:      018259 usb_get_report_protocol:
+0x4a4d 018260 branch usb_send_ones_packet 
+:      018261 usb_get_boot_protocol:
+0x4a4e 018262 branch usb_send_zero_packet 
+:      018267 usb0_request_clear_feature:
+0x4a4f 018268 fetch 1 ,mem_usb0_state 
+0x4a50 018269 bne dev_configured ,usb0_force_stall 
+0x4a51 018270 fetch 1 ,mem_usb_setup_blength 
+0x4a52 018271 bne 0 ,usb0_force_stall 
+0x4a53 018272 fetch 1 ,mem_usb_setup_blengthh 
+0x4a54 018273 bne 0 ,usb0_force_stall 
+0x4a55 018274 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a56 018275 bne 0 ,usb0_force_stall 
+0x4a57 018276 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a58 018277 bne 0 ,usb0_force_stall 
+0x4a59 018278 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a5a 018279 beq out_device ,usb0_request_clear_feature_out_device 
+0x4a5b 018280 beq out_interface ,usb0_request_clear_feature_out_interface 
+0x4a5c 018281 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+0x4a5d 018282 branch usb0_force_stall 
+:      018284 usb0_request_clear_feature_out_device:
+0x4a5e 018285 fetch 1 ,mem_usb_setup_bvalue 
+0x4a5f 018286 bne device_remote_wakeup ,usb0_force_stall 
+0x4a60 018287 hfetch 1 ,core_usb_config 
+0x4a61 018288 set0 7 ,pdata 
+0x4a62 018289 hstore 1 ,core_usb_config 
+0x4a63 018290 jam 0 ,mem_usb_remote_wakeup 
+0x4a64 018291 jam 1 ,mem_usb_clear_remote_wakeup 
+0x4a65 018292 branch usb0_reply_zerolen 
+:      018294 usb0_request_clear_feature_out_interface:
+0x4a66 018295 branch usb0_force_stall 
+:      018297 usb0_request_clear_feature_out_endpoint:
+0x4a67 018298 fetch 1 ,mem_usb_setup_bvalue 
+0x4a68 018299 bne endpoint_halt ,usb0_force_stall 
+0x4a69 018300 fetch 1 ,mem_usb_setup_windex 
+0x4a6a 018301 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+0x4a6b 018302 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+0x4a6c 018303 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+0x4a6d 018304 and_into 0x7f ,pdata 
+0x4a6e 018305 beq 0x00 ,usb0_force_stall_ep0_in_off 
+0x4a6f 018306 branch usb0_force_stall 
+:      018308 usb0_force_stall_ep0_in_off:
+0x4a70 018309 jam 0 ,mem_usb_ep0_stall_status 
+0x4a71 018310 branch usb0_reply_zerolen 
+:      018311 usb0_force_stall_ep1_in_off:
+0x4a72 018312 jam 0 ,mem_usb_ep1_stall_status 
+:      018313 usb0_force_stall_ep1_in_off_reply:
+0x4a73 018314 jam 1 ,mem_usb_clear_halt 
+0x4a74 018315 branch usb0_reply_zerolen 
+:      018316 usb0_force_stall_ep2_in_off:
+0x4a75 018317 jam 0 ,mem_usb_ep2_stall_status 
+0x4a76 018318 branch usb0_force_stall_ep1_in_off_reply 
+:      018319 usb0_force_stall_ep3_in_off:
+0x4a77 018320 jam 0 ,mem_usb_ep3_stall_status 
+0x4a78 018321 branch usb0_force_stall_ep1_in_off_reply 
+:      018324 usb0_request_set_feature:
+0x4a79 018325 fetch 1 ,mem_usb_setup_blength 
+0x4a7a 018326 bne 0 ,usb0_force_stall 
+0x4a7b 018327 fetch 1 ,mem_usb_setup_blengthh 
+0x4a7c 018328 bne 0 ,usb0_force_stall 
+0x4a7d 018329 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a7e 018330 beq out_device ,usb0_request_set_feature_out_device 
+0x4a7f 018331 beq out_interface ,usb0_request_set_feature_out_interface 
+0x4a80 018332 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+0x4a81 018333 branch usb0_force_stall 
+:      018335 usb0_request_set_feature_out_device:
+0x4a82 018336 fetch 1 ,mem_usb_setup_bvalue 
+0x4a83 018337 bne device_remote_wakeup ,usb0_force_stall 
+0x4a84 018338 hfetch 1 ,core_usb_config 
+0x4a85 018339 set1 7 ,pdata 
+0x4a86 018340 hstore 1 ,core_usb_config 
+0x4a87 018341 jam 1 ,mem_usb_remote_wakeup 
+0x4a88 018342 jam usb_sleep ,mem_usb_state 
+0x4a89 018343 jam 0 ,mem_usb_tx_win_enable 
+0x4a8a 018344 call usb0_reply_zerolen 
+:      018345 usb_wakeup_timer_reinit:
+0x4a8b 018346 call timer_reinit 
+0x4a8c 018347 setarg timer_wakeup_delay 
+0x4a8d 018348 arg timer_wakeup ,queue 
+0x4a8e 018349 branch timer_init 
+:      018351 usb0_request_set_feature_out_interface:
+0x4a8f 018352 branch usb0_force_stall 
+:      018354 usb0_request_set_feature_out_endpoint:
+0x4a90 018355 fetch 1 ,mem_usb_setup_bvalue 
+0x4a91 018356 bne endpoint_halt ,usb0_force_stall 
+0x4a92 018357 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a93 018358 bne 0 ,usb0_force_stall 
+0x4a94 018359 fetch 1 ,mem_usb_setup_windex 
+0x4a95 018360 beq in_ep1 ,usb0_force_stall_ep1_in_on 
+0x4a96 018361 beq in_ep2 ,usb0_force_stall_ep2_in_on 
+0x4a97 018362 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+0x4a98 018363 and_into 0x7f ,pdata 
+0x4a99 018364 beq 0x00 ,usb0_force_stall_ep0_in_on 
+0x4a9a 018365 branch usb0_force_stall 
+:      018367 usb0_force_stall_ep0_in_on:
+0x4a9b 018368 jam 1 ,mem_usb_ep0_stall_status 
+0x4a9c 018369 branch usb0_reply_zerolen 
+:      018370 usb0_force_stall_ep1_in_on:
+0x4a9d 018371 jam 1 ,mem_usb_ep1_stall_status 
+0x4a9e 018372 branch usb0_reply_zerolen 
+:      018373 usb0_force_stall_ep2_in_on:
+0x4a9f 018374 jam 1 ,mem_usb_ep2_stall_status 
+0x4aa0 018375 branch usb0_reply_zerolen 
+:      018376 usb0_force_stall_ep3_in_on:
+0x4aa1 018377 jam 1 ,mem_usb_ep3_stall_status 
+0x4aa2 018378 branch usb0_reply_zerolen 
+:      018381 usb0_request_set_address:
+0x4aa3 018382 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4aa4 018383 bne out_device ,usb0_force_stall 
+0x4aa5 018384 fetch 1 ,mem_usb_setup_windex 
+0x4aa6 018385 bne 0 ,usb0_force_stall 
+0x4aa7 018386 fetch 1 ,mem_usb_setup_windex + 1 
+0x4aa8 018387 bne 0 ,usb0_force_stall 
+0x4aa9 018388 fetch 1 ,mem_usb_setup_blength 
+0x4aaa 018389 bne 0 ,usb0_force_stall 
+0x4aab 018390 fetch 1 ,mem_usb_setup_blengthh 
+0x4aac 018391 bne 0 ,usb0_force_stall 
+0x4aad 018392 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aae 018393 bne 0 ,usb0_force_stall 
+0x4aaf 018394 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab0 018395 and_into 0x80 ,pdata 
+0x4ab1 018396 bne 0 ,usb0_force_stall 
+0x4ab2 018397 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab3 018398 bne 0 ,usb_usb0_state_set_dev_addr 
+:      018399 usb_usb0_state_set_dev_default:
+0x4ab4 018400 jam dev_default ,mem_usb0_state 
+:      018401 usb0_request_set_wait_address:
+0x4ab5 018402 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab6 018403 hstore 1 ,core_usb_addr 
+0x4ab7 018404 call usb0_reply_zerolen 
+0x4ab8 018405 jam 1 ,mem_usb_set_high_addr_flag 
+0x4ab9 018406 rtn 
+:      018407 usb_usb0_state_set_dev_addr:
+0x4aba 018408 jam dev_address ,mem_usb0_state 
+0x4abb 018409 branch usb0_request_set_wait_address 
+:      018412 usb0_request_set_configuration:
+0x4abc 018413 fetch 1 ,mem_usb0_state 
+0x4abd 018414 beq dev_default ,usb0_force_stall 
+0x4abe 018415 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4abf 018416 bne out_device ,usb0_force_stall 
+0x4ac0 018417 fetch 1 ,mem_usb_setup_windex 
+0x4ac1 018418 bne 0 ,usb0_force_stall 
+0x4ac2 018419 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ac3 018420 bne 0 ,usb0_force_stall 
+0x4ac4 018421 fetch 1 ,mem_usb_setup_blength 
+0x4ac5 018422 bne 0 ,usb0_force_stall 
+0x4ac6 018423 fetch 1 ,mem_usb_setup_blengthh 
+0x4ac7 018424 bne 0 ,usb0_force_stall 
+0x4ac8 018425 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4ac9 018426 bne 0 ,usb0_force_stall 
+0x4aca 018427 fetch 1 ,mem_usb_setup_bvalue 
+0x4acb 018428 sub pdata ,usb_max_num_cfg ,null 
+0x4acc 018429 nbranch usb0_force_stall ,positive 
+0x4acd 018430 fetch 1 ,mem_usb0_state 
+0x4ace 018431 beq dev_address ,usb0_request_set_cfg_addr_state 
+0x4acf 018432 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+0x4ad0 018433 branch usb0_force_stall 
+:      018435 usb0_request_set_cfg_addr_state:
+:      018436 usb0_request_set_cfg_cfg_state:
+0x4ad1 018437 fetch 1 ,mem_usb_setup_bvalue 
+0x4ad2 018438 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+0x4ad3 018439 jam dev_configured ,mem_usb0_state 
+0x4ad4 018440 branch usb0_reply_zerolen 
+:      018441 usb0_request_set_cfg_stay_addr_state:
+0x4ad5 018442 jam dev_address ,mem_usb0_state 
+0x4ad6 018443 branch usb0_reply_zerolen 
+:      018446 usb0_request_set_interface:
+0x4ad7 018447 fetch 1 ,mem_usb0_state 
+0x4ad8 018448 bne dev_configured ,usb0_force_stall 
+0x4ad9 018449 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4ada 018450 bne out_interface ,usb0_force_stall 
+0x4adb 018451 fetch 1 ,mem_usb_setup_bvalue 
+0x4adc 018452 bne 0 ,usb0_force_stall 
+0x4add 018453 fetch 1 ,mem_usb_setup_bvalueh 
+0x4ade 018454 bne 0 ,usb0_force_stall 
+0x4adf 018455 fetch 1 ,mem_usb_setup_blength 
+0x4ae0 018456 bne 0 ,usb0_force_stall 
+0x4ae1 018457 fetch 1 ,mem_usb_setup_blengthh 
+0x4ae2 018458 bne 0 ,usb0_force_stall 
+0x4ae3 018459 fetch 1 ,mem_usb_setup_windex 
+0x4ae4 018460 bne 0 ,usb0_force_stall 
+0x4ae5 018461 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ae6 018462 bne 0 ,usb0_force_stall 
+0x4ae7 018463 branch usb0_reply_zerolen 
+:      018466 usb_set_idle:
+0x4ae8 018467 jam 1 ,mem_usb_idle_flag 
+0x4ae9 018468 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aea 018469 store 1 ,mem_usb_idle_rate 
+0x4aeb 018470 fetch 1 ,mem_usb_setup_windex 
+0x4aec 018471 sub pdata ,1 ,null 
+0x4aed 018472 call usb_clear_remote_wakeup_set0 ,zero 
+0x4aee 018473 fetch 1 ,mem_usb_state 
+0x4aef 018474 bne usb_resume ,usb0_reply_zerolen 
+0x4af0 018475 jam usb_connected ,mem_usb_state 
+0x4af1 018476 call usb0_reply_zerolen 
+0x4af2 018477 nop 30000 
+0x4af3 018478 nop 30000 
+0x4af4 018479 rtn 
+:      018480 usb_clear_remote_wakeup_set0:
+0x4af5 018481 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4af6 018482 jam 0 ,mem_usb_clear_remote_wakeup 
+0x4af7 018483 jam usb_resume ,mem_usb_state 
+0x4af8 018484 rtn 
+:      018487 usb_set_report:
+0x4af9 018488 jam 1 ,mem_usb0_get_set_report 
+0x4afa 018489 call usb_set_report_resume_judge 
+0x4afb 018490 fetch 2 ,mem_usb_setup_bvalue 
+0x4afc 018491 store 2 ,mem_usb_setup_bvalue_temp 
+0x4afd 018492 fetch 1 ,mem_usb_setup_blength 
+0x4afe 018493 iforce loopcnt 
+0x4aff 018494 arg mem_usb0_setup ,contr 
+0x4b00 018495 arg mem_usb0_set_report_data ,contw 
+0x4b01 018496 call memcpy 
+0x4b02 018497 branch usb0_reply_zerolen 
+:      018499 usb_set_report_resume_judge:
+0x4b03 018500 fetch 2 ,mem_usb_setup_bvalue 
+0x4b04 018501 arg pc_set_report_bvalue ,temp 
+0x4b05 018502 isub temp ,null 
+0x4b06 018503 nrtn zero 
+0x4b07 018504 fetch 2 ,mem_usb_setup_windex 
+0x4b08 018505 arg pc_set_report_windex ,temp 
+0x4b09 018506 isub temp ,null 
+0x4b0a 018507 nrtn zero 
+0x4b0b 018508 fetch 2 ,mem_usb_setup_blength 
+0x4b0c 018509 arg pc_set_report_blength ,temp 
+0x4b0d 018510 isub temp ,null 
+0x4b0e 018511 nrtn zero 
+0x4b0f 018512 jam 1 ,mem_usb_tx_win_enable 
+0x4b10 018513 rtn 
+:      018516 usb_set_protocol_req:
+0x4b11 018517 fetch 1 ,mem_usb_setup_blength 
+0x4b12 018518 bne 0 ,usb0_force_stall 
+0x4b13 018519 fetch 1 ,mem_usb_setup_bvalue 
+0x4b14 018520 beq boot_protocol ,usb_set_boot_protocol 
+0x4b15 018521 beq report_protocol ,usb_set_report_protocol 
+0x4b16 018522 branch usb0_force_stall 
+:      018523 usb_set_boot_protocol:
+0x4b17 018524 jam 0 ,mem_usb_set_protocol_status 
+0x4b18 018525 jam 1 ,mem_usb_set_protocol_value 
+0x4b19 018526 branch usb0_reply_zerolen 
+:      018527 usb_set_report_protocol:
+0x4b1a 018528 jam 1 ,mem_usb_tx_mac_enable 
+0x4b1b 018529 jam 1 ,mem_usb_set_protocol_status 
+0x4b1c 018530 jam 0 ,mem_usb_set_protocol_value 
+0x4b1d 018531 branch usb0_reply_zerolen 
+:      018534 usb0_respond_length:
+0x4b1e 018535 ifetch 1 ,rega 
+0x4b1f 018536 iforce regb 
+0x4b20 018537 increase 1 ,rega 
+:      018539 usb0_respond:
+0x4b21 018540 bpatch patch1f_2 ,mem_patch1f 
+0x4b22 018541 bmark0 mark_isstr ,usb0_respond0 
+0x4b23 018542 add regb ,1 ,pdata 
+0x4b24 018543 lshift pdata ,pdata 
+0x4b25 018544 hstore 1 ,core_usb_dfifo0 
+0x4b26 018545 jam 3 ,core_usb_dfifo0 
+0x4b27 018546 fetch 1 ,mem_usb_setup_blength 
+0x4b28 018547 increase -2 ,pdata 
+0x4b29 018548 rshift pdata ,pdata 
+0x4b2a 018549 store 1 ,mem_usb_setup_blength 
+0x4b2b 018550 beq 0 ,usb_no_respond_data 
+:      018551 usb0_respond0:
+0x4b2c 018552 fetch 2 ,mem_usb_setup_blength 
+0x4b2d 018553 isub regb ,null 
+0x4b2e 018554 branch usb0_respond1 ,positive 
+0x4b2f 018555 copy pdata ,regb 
+:      018556 usb0_respond1:
+0x4b30 018557 deposit rega 
+0x4b31 018558 store 2 ,mem_bufptr 
+0x4b32 018559 deposit regb 
+0x4b33 018560 store 1 ,mem_remain 
+0x4b34 018561 branch usb0_tx 
+:      018563 usb_no_respond_data:
+0x4b35 018564 arg 0 ,queue 
+0x4b36 018565 branch usb_trig 
+:      018568 usb0_tx:
+0x4b37 018569 bpatch patch1f_3 ,mem_patch1f 
+0x4b38 018570 fetch 1 ,mem_remain 
+0x4b39 018571 rtn blank 
+0x4b3a 018572 copy pdata ,loopcnt 
+0x4b3b 018573 sub pdata ,ep0_packet_size ,null 
+0x4b3c 018574 branch usb0_tx_info ,positive 
+0x4b3d 018575 arg ep0_packet_size ,loopcnt 
+:      018576 usb0_tx_info:
+0x4b3e 018577 fetch 1 ,mem_remain 
+0x4b3f 018578 isub loopcnt ,pdata 
+0x4b40 018579 store 1 ,mem_remain 
+0x4b41 018580 fetch 2 ,mem_bufptr 
+0x4b42 018581 copy pdata ,contr 
+:      018582 usb0_tx0:
+0x4b43 018583 ifetch 1 ,contr 
+0x4b44 018584 hstore 1 ,core_usb_dfifo0 
+0x4b45 018585 bmark0 mark_isstr ,usb0_tx1 
+0x4b46 018586 jam 0 ,core_usb_dfifo0 
+:      018587 usb0_tx1:
+0x4b47 018588 loop usb0_tx0 
+0x4b48 018589 copy contr ,pdata 
+0x4b49 018590 store 2 ,mem_bufptr 
+0x4b4a 018591 arg 0 ,queue 
+0x4b4b 018592 call usb_trig 
+0x4b4c 018593 fetch 1 ,mem_remain 
+0x4b4d 018594 nrtn blank 
+0x4b4e 018595 fetch 1 ,mem_usb_state 
+0x4b4f 018596 rtnne usb_got_report_req 
+0x4b50 018597 jam usb_connected ,mem_usb_state 
+0x4b51 018598 rtn 
+:      018601 usb_tx_ep1:
+0x4b52 018602 arg core_usb_dfifo1 ,rega 
+0x4b53 018603 arg 1 ,queue 
+:      018604 usb_tx_loop:
+0x4b54 018605 ifetch 1 ,contr 
+0x4b55 018606 istore 1 ,rega 
+0x4b56 018607 loop usb_tx_loop 
+:      018608 usb_trig:
+0x4b57 018609 setarg 0 
+0x4b58 018610 qset1 pdata 
+0x4b59 018611 hstore 1 ,core_usb_trig 
+0x4b5a 018612 fetcht 1 ,mem_usb_tx_wait 
+0x4b5b 018613 ior temp ,pdata 
+0x4b5c 018614 store 1 ,mem_usb_tx_wait 
+0x4b5d 018615 rtn 
+:      018617 usb_tx_ep2:
+0x4b5e 018618 arg 2 ,queue 
+0x4b5f 018619 arg core_usb_dfifo2 ,rega 
+0x4b60 018620 branch usb_tx_loop 
+:      018622 usb_tx:
+0x4b61 018623 bpatch patch1f_4 ,mem_patch1f 
+0x4b62 018624 fetch 1 ,mem_usb_tx_enable 
+0x4b63 018625 rtn blank 
+0x4b64 018626 fetch 1 ,mem_usb_tx_wait 
+0x4b65 018627 nbranch usb_inwake_state_tx_dispose ,blank 
+0x4b66 018628 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4b67 018629 branch usb_tx_fifo_release ,blank 
+0x4b68 018630 fetch 1 ,mem_usb_state 
+0x4b69 018631 beq usb_sleep ,usb_windows_wakeup 
+0x4b6a 018632 bne usb_connected ,usb_tx_fifo_release 
+0x4b6b 018633 fetch 1 ,mem_usb_clear_remote_wakeup 
+0x4b6c 018634 nbranch usb_tx_fifo_release ,blank 
+0x4b6d 018635 call usb_tx_data_ep1 
+0x4b6e 018636 branch usb_tx_data_ep2 
+:      018638 usb_tx_data_ep1:
+0x4b6f 018639 fetch 1 ,mem_usb_tx_enable 
+0x4b70 018640 rtnbit0 1 
+0x4b71 018641 fetch 1 ,mem_usb_tx_wait 
+0x4b72 018642 rtnbit1 1 
+0x4b73 018643 fetch 1 ,mem_usb_tx_enable 
+0x4b74 018644 set0 1 ,pdata 
+0x4b75 018645 store 1 ,mem_usb_tx_enable 
+0x4b76 018646 fetch 1 ,mem_usb_ep1_data 
+0x4b77 018647 rtn blank 
+0x4b78 018648 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0x4b79 018649 branch assert 
+:      018651 usb_tx_data_ep2:
+0x4b7a 018652 fetch 1 ,mem_usb_tx_enable 
+0x4b7b 018653 rtnbit0 2 
+0x4b7c 018654 fetch 1 ,mem_usb_tx_wait 
+0x4b7d 018655 rtnbit1 2 
+0x4b7e 018656 fetch 1 ,mem_usb_tx_enable 
+0x4b7f 018657 set0 2 ,pdata 
+0x4b80 018658 store 1 ,mem_usb_tx_enable 
+0x4b81 018659 fetch 1 ,mem_usb_ep2_data 
+0x4b82 018660 rtn blank 
+0x4b83 018661 beq usb_ep2_ms ,usb_tx_ms_data 
+0x4b84 018662 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0x4b85 018663 branch assert 
+:      018665 usb_tx_fifo_release:
+0x4b86 018667 arg mem_usb_mouse_data ,contw 
+0x4b87 018668 arg 6 ,loopcnt 
+0x4b88 018669 branch memset0 
+:      018671 usb_tx_ms_data:
+0x4b89 018672 fetch 1 ,mem_usb_idle_flag 
+0x4b8a 018673 fetcht 1 ,mem_usb_get_protocol_flag 
+0x4b8b 018674 iand temp ,pdata 
+0x4b8c 018675 branch usb_tx_ms_data_normal_mode ,blank 
+0x4b8d 018676 fetcht 1 ,mem_usb_set_protocol_status 
+0x4b8e 018677 iadd temp ,pdata 
+0x4b8f 018678 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+0x4b90 018679 branch usb_tx_ms_data_normal_mode 
+:      018681 usb_tx_ms_data_mac_boot_mode:
+0x4b91 018682 jam 0 ,mem_usb_ep2_data 
+:      018683 usb_tx_ms_data_mac_boot_regroup:
+0x4b92 018684 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b93 018685 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b94 018686 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b95 018687 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b96 018688 store 1 ,mem_usb_mouse_data 
+0x4b97 018689 fetch 1 ,mem_usb_mouse_data + 2 
+0x4b98 018690 istore 1 ,contw 
+0x4b99 018691 fetch 1 ,mem_usb_mouse_data + 4 
+0x4b9a 018692 istore 1 ,contw 
+0x4b9b 018693 fetch 1 ,mem_usb_mouse_data + 6 
+0x4b9c 018694 istore 1 ,contw 
+0x4b9d 018695 arg 4 ,loopcnt 
+0x4b9e 018696 arg mem_usb_mouse_data ,contr 
+0x4b9f 018697 branch usb_tx_ep2 
+:      018699 usb_tx_ms_data_normal_mode:
+0x4ba0 018700 jam 0 ,mem_usb_ep2_data 
+:      018701 usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+0x4ba1 018702 arg 8 ,loopcnt 
+0x4ba2 018703 arg mem_usb_mouse_data ,contr 
+0x4ba3 018704 branch usb_tx_ep2 
+:      018706 usb_tx_kb_multikey_data:
+0x4ba4 018707 jam 0 ,mem_usb_ep2_data 
+0x4ba5 018708 arg 3 ,loopcnt 
+0x4ba6 018709 arg mem_usb_kb_multikey ,contr 
+0x4ba7 018710 branch usb_tx_ep2 
+:      018712 usb_tx_kb_normal_data:
+0x4ba8 018713 jam 0 ,mem_usb_ep1_data 
+0x4ba9 018714 arg 8 ,loopcnt 
+0x4baa 018715 arg mem_usb_kb_data ,contr 
+0x4bab 018716 branch usb_tx_ep1 
+:      018718 usb_inwake_state_tx_dispose:
+0x4bac 018719 fetch 1 ,mem_usb_state 
+0x4bad 018720 beq usb_sleep ,usb_clear_tx_wait 
+0x4bae 018721 beq usb_connected ,usb_mac_wakeup_trig 
+0x4baf 018722 rtn 
+:      018723 usb_clear_tx_wait:
+0x4bb0 018724 jam 0 ,mem_usb_tx_wait 
+0x4bb1 018725 rtn 
+:      018726 usb_mac_wakeup_trig:
+0x4bb2 018727 hfetch 1 ,core_usb_config 
+0x4bb3 018728 set1 7 ,pdata 
+0x4bb4 018729 hstore 1 ,core_usb_config 
+0x4bb5 018730 jam 1 ,mem_usb_mac_wakeup_trig 
+0x4bb6 018731 rtn 
+:      018733 usb_mac_wakeup_judge:
+0x4bb7 018734 fetch 1 ,mem_usb_state 
+0x4bb8 018735 rtneq usb_sleep 
+0x4bb9 018736 beq usb_connected ,usb_mac_wakeup 
+0x4bba 018737 rtn 
+:      018738 usb_mac_wakeup:
+0x4bbb 018739 fetch 1 ,mem_usb_mac_wakeup_trig 
+0x4bbc 018740 rtn blank 
+0x4bbd 018741 jam 1 ,mem_usb_wakestate_onetime_flag 
+0x4bbe 018742 branch usb_wakeup 
+:      018744 usb_windows_wakeup:
+0x4bbf 018745 arg timer_wakeup ,queue 
+0x4bc0 018746 call timer_check 
+0x4bc1 018747 nrtn blank 
+:      018748 usb_wakeup:
+0x4bc2 018749 hfetch 1 ,core_usb_config 
+0x4bc3 018750 rtnbit0 7 
+0x4bc4 018751 jam 0xfc ,core_usb_config 
+0x4bc5 018752 nop 30000 
+0x4bc6 018753 jam 0x3c ,core_usb_config 
+0x4bc7 018754 rtn 
+:      018761 hci_rx_h4:
+0x4bc8 018762 bpatch patch1f_5 ,mem_patch1f 
+0x4bc9 018763 fetch 1 ,mem_hci_cmd 
+0x4bca 018764 nrtn blank 
+:      018765 hci_rx_h4_1:
+0x4bcb 018766 call hci_h4_parse_packet 
+0x4bcc 018767 ncall h4_rx_discard_packet ,user 
+0x4bcd 018768 rtn 
+:      018770 hci_h4_parse_packet:
+0x4bce 018771 bpatch patch1f_6 ,mem_patch1f 
+0x4bcf 018772 copy contru ,rega 
+0x4bd0 018773 arg 4 ,temp 
+0x4bd1 018774 ifetch 1 ,contru 
+0x4bd2 018775 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+0x4bd3 018776 increase 1 ,temp 
+0x4bd4 018777 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+0x4bd5 018778 copy contru ,pdata 
+0x4bd6 018779 hstore 2 ,core_uart_rrptr 
+0x4bd7 018780 rtn 
+:      018781 hci_h4_parse_packet_wait_len:
+0x4bd8 018782 hfetch 2 ,core_uart_rxitems 
+0x4bd9 018783 isub temp ,null 
+0x4bda 018784 nbranch hci_h4_parse_packet_wait_len ,positive 
+0x4bdb 018786 disable user 
+0x4bdc 018787 copy rega ,contru 
+0x4bdd 018788 call h4_get_rx_payload_len 
+0x4bde 018789 iadd temp ,temp 
+:      018790 hci_h4_parse_packet_wait:
+0x4bdf 018791 hfetch 2 ,core_uart_rxitems 
+0x4be0 018792 isub temp ,null 
+0x4be1 018793 nbranch hci_h4_parse_packet_wait ,positive 
+0x4be2 018794 copy rega ,contru 
+0x4be3 018795 ifetch 1 ,contru 
+0x4be4 018796 beq hci_h4_type_cmd ,process_hci_cmd 
+0x4be5 018797 branch assert 
+:      018799 h4_rx_discard_packet:
+0x4be6 018800 bpatch patch1f_7 ,mem_patch1f 
+0x4be7 018801 hfetch 2 ,core_uart_rrptr 
+0x4be8 018802 iforce contru 
+0x4be9 018803 call h4_get_rx_payload_len 
+0x4bea 018804 iadd contru ,contru 
+0x4beb 018805 deposit contru 
+0x4bec 018806 hstore 2 ,core_uart_rrptr 
+0x4bed 018807 rtn 
+:      018812 h4_get_rx_payload_len:
+0x4bee 018813 ifetch 1 ,contru 
+0x4bef 018814 increase 2 ,contru 
+0x4bf0 018815 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+0x4bf1 018816 ifetch 1 ,contru 
+0x4bf2 018817 rtn 
+:      018818 h4_get_rx_payload_len_acl:
+0x4bf3 018819 ifetch 2 ,contru 
+0x4bf4 018820 rtn 
+:      018822 h4_get_tx_ptr:
+0x4bf5 018823 hfetch 2 ,core_uart_twptr 
+0x4bf6 018824 increase -5 ,contwu 
+0x4bf7 018825 iadd contwu ,contwu 
+0x4bf8 018826 rtn 
+:      018828 h4_send_packet_event:
+0x4bf9 018829 arg hci_h4_type_event ,temp 
+0x4bfa 018830 branch h4_send_packet 
+:      018831 h4_send_packet_acl:
+0x4bfb 018832 arg hci_h4_type_acl ,temp 
+:      018833 h4_send_packet:
+0x4bfc 018834 bpatchx patch20_0 ,mem_patch20 
+0x4bfd 018835 increase 1 ,loopcnt 
+0x4bfe 018836 hfetch 2 ,core_uart_twptr 
+0x4bff 018837 copy pdata ,contwu 
+0x4c00 018838 copy loopcnt ,pdata 
+0x4c01 018839 istoret 1 ,contwu 
+0x4c02 018840 increase -1 ,pdata 
+0x4c03 018841 iadd contwu ,contwu 
+0x4c04 018842 copy contwu ,pdata 
+0x4c05 018843 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c06 018844 copy temp ,pdata 
+0x4c07 018845 rtneq hci_h4_type_acl 
+0x4c08 018846 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c09 018847 hstore 2 ,core_uart_twptr 
+0x4c0a 018848 branch h4_send_acl_trigger_clear 
+:      018851 h4_send_acl_trigger_clear:
+0x4c0b 018852 setarg 0 
+0x4c0c 018853 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c0d 018854 rtn 
+:      018861 hci_init:
+0x4c0e 018862 rtn wake 
+0x4c0f 018863 setarg hci_idle_dispatch 
+0x4c10 018864 store 2 ,mem_cb_idle_process 
+0x4c11 018866 setarg uart_baud_115200 
+0x4c12 018867 store uart_baud_len ,mem_baud 
+:      018868 hci_lpm_init:
+0x4c13 018869 setarg mem_h5rx_buf 
+0x4c14 018870 hstore 2 ,core_uart_rsaddr 
+0x4c15 018871 setarg mem_h5rx_buf_end 
+0x4c16 018872 hstore 2 ,core_uart_readdr 
+0x4c17 018873 setarg mem_h5tx_buf 
+0x4c18 018874 hstore 2 ,core_uart_tsaddr 
+0x4c19 018875 call hci_sel_init 
+:      018876 hci_reinit:
+0x4c1a 018877 jam 0x0 ,core_uart_ctrl 
+0x4c1b 018878 setarg mem_h5tx_buf 
+0x4c1c 018879 hstore 2 ,core_uart_twptr 
+0x4c1d 018880 hstore 2 ,core_uart_trptrp 
+0x4c1e 018881 setarg mem_h5rx_buf 
+0x4c1f 018882 hstore 2 ,core_uart_rrptr 
+0x4c20 018883 store 2 ,mem_h5rx_rptr 
+:      018884 hci_init_common:
+0x4c21 018885 hfetch 2 ,core_clkoff 
+0x4c22 018886 set0 clock_off_uart ,pdata 
+0x4c23 018887 hstore 2 ,core_clkoff 
+0x4c24 018888 call uart_set_baud_by_mem 
+0x4c25 018889 jam uartclk_dpll ,core_uart_clksel 
+0x4c26 018890 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x4c27 018891 rtn 
+:      018893 hci_sel_init:
+0x4c28 018894 setarg mem_h5tx_buf_end 
+0x4c29 018895 hstore 2 ,core_uart_teaddr 
+0x4c2a 018896 hfetch 1 ,core_gpio_sel1 
+0x4c2b 018897 or_into 0x07 ,pdata 
+0x4c2c 018898 hstore 1 ,core_gpio_sel1 
+0x4c2d 018899 rtn 
+:      018902 hci_rx_packet:
+0x4c2e 018903 bpatchx patch20_1 ,mem_patch20 
+0x4c2f 018904 hfetch 1 ,core_uart_status 
+0x4c30 018905 iforce regb 
+0x4c31 018906 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+0x4c32 018907 hfetch 2 ,core_uart_rxitems 
+0x4c33 018908 iforce regc 
+0x4c34 018909 arg 0x44f ,temp 
+0x4c35 018910 isub temp ,null 
+0x4c36 018911 nrtn zero 
+:      018912 hci_rx_packet_cont:
+0x4c37 018913 hfetch 2 ,core_uart_rrptr 
+0x4c38 018914 iforce contru 
+0x4c39 018915 branch hci_rx_h4 
+:      018917 uart_send_byte:
+0x4c3a 018918 hfetcht 1 ,core_uart_status 
+0x4c3b 018919 isolate1 6 ,temp 
+0x4c3c 018920 branch uart_send_byte ,true 
+0x4c3d 018921 hstore 1 ,core_uart_txd 
+0x4c3e 018922 rtn 
+:      018924 process_hci_cmd:
+0x4c3f 018925 bpatchx patch20_2 ,mem_patch20 
+0x4c40 018926 fetch 1 ,mem_hci_cmd 
+0x4c41 018927 branch process_hci_cmd_cont ,blank 
+0x4c42 018928 enable user 
+0x4c43 018929 rtn 
+:      018930 process_hci_cmd_cont:
+0x4c44 018931 ifetch 2 ,contru 
+0x4c45 018932 iforce alarm 
+0x4c46 018933 iforce queue 
+0x4c47 018934 ifetch 1 ,contru 
+0x4c48 018935 iforce temp 
+0x4c49 018936 rshift2 alarm ,pdata 
+0x4c4a 018937 rshift8 pdata ,pdata 
+0x4c4b 018938 beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+0x4c4c 018939 rtn 
+:      018942 phci_grp_vendor_specific:
+0x4c4d 018943 bpatchx patch20_3 ,mem_patch20 
+0x4c4e 018944 deposit queue 
+0x4c4f 018945 beq hci_vendor_cmd_reset ,hci_normal_reply 
+0x4c50 018946 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+0x4c51 018947 beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+0x4c52 018948 beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+0x4c53 018949 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+0x4c54 018950 beq hci_vendor_cmd_echo ,hci_normal_reply 
+0x4c55 018951 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+0x4c56 018952 beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+0x4c57 018954 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+0x4c58 018955 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+0x4c59 018956 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+0x4c5a 018957 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+0x4c5b 018958 branch hci_normal_reply 
+:      018960 phci_grp_vendor_enter_lpm:
+0x4c5c 018961 call hci_normal_reply 
+0x4c5d 018962 call wait_uarttx 
+0x4c5e 018963 call gpio_pu_uart_tx 
+:      018964 hci_enter_lpm:
+0x4c5f 018965 call app_put_lpm_wake_lock 
+0x4c60 018966 call app_l2cap_flow_control_enable 
+0x4c61 018967 branch gpio_rx_config_input_with_pu 
+:      018969 hci_exit_lpm:
+0x4c62 018970 jam hci_rx_ready ,mem_hci_lt_rx_state 
+0x4c63 018971 call app_get_lpm_wake_lock 
+0x4c64 018972 call hci_lpm_init 
+0x4c65 018973 branch app_l2cap_flow_control_disable 
+:      018975 phci_grp_vendor_chipid:
+0x4c66 018976 call hci_get_cmd_complete_ptr 
+0x4c67 018977 hfetch 2 ,core_chipid 
+0x4c68 018978 istore 2 ,contwu 
+0x4c69 018979 force 6 ,loopcnt 
+0x4c6a 018980 branch hci_command_complete 
+:      018982 phci_grp_vendor_baud:
+0x4c6b 018983 ifetch 2 ,contru 
+0x4c6c 018984 store 2 ,mem_baud 
+0x4c6d 018985 hstore 2 ,core_uart_baud 
+0x4c6e 018986 rtn 
+:      018989 phci_grp_vendor_patch_common:
+0x4c6f 018991 ifetch 1 ,contru 
+0x4c70 018992 copy pdata ,temp 
+0x4c71 018993 hstore 1 ,core_ucode_low 
+0x4c72 018994 ifetch 1 ,contru 
+0x4c73 018995 iadd temp ,temp 
+0x4c74 018996 set1 7 ,pdata 
+0x4c75 018997 hstore 1 ,core_ucode_ctrl 
+0x4c76 018998 ifetch 1 ,contru 
+0x4c77 018999 iadd temp ,temp 
+0x4c78 019000 copy pdata ,loopcnt 
+0x4c79 019001 rtn 
+:      019003 phci_grp_vendor_patch:
+0x4c7a 019004 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c7b 019005 call phci_grp_vendor_patch_common 
+:      019006 phci_grp_vendor_patch_loop:
+0x4c7c 019007 ifetch 1 ,contru 
+0x4c7d 019008 hstore 1 ,core_ucode_data 
+0x4c7e 019009 iadd temp ,temp 
+0x4c7f 019010 loop phci_grp_vendor_patch_loop 
+:      019011 phci_grp_vendor_patch_check_sum:
+0x4c80 019012 and temp ,0xff ,temp 
+0x4c81 019013 ifetch 1 ,contru 
+0x4c82 019014 isub temp ,null 
+0x4c83 019015 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4c84 019016 branch hci_normal_reply 
+:      019019 phci_grp_vendor_patch_sec:
+0x4c85 019020 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c86 019021 call phci_grp_vendor_patch_common 
+0x4c87 019022 store 8 ,mem_pdatatemp 
+:      019023 phci_grp_vendor_patch_sec_loop:
+0x4c88 019024 call do_aes_cbc 
+0x4c89 019025 arg 16 ,loopcnt 
+0x4c8a 019026 arg mem_temp_block0 ,contw 
+0x4c8b 019027 call load_uart_sum_loop 
+0x4c8c 019028 storet 8 ,mem_temp 
+0x4c8d 019029 arg mem_temp_block2 ,contw 
+0x4c8e 019030 call store_aes_result 
+0x4c8f 019031 arg mem_temp_block2 ,rega 
+0x4c90 019032 arg mem_temp_block0 ,regb 
+0x4c91 019033 arg mem_temp_block3 ,contw 
+0x4c92 019034 call xor16 
+0x4c93 019035 arg 16 ,loopcnt 
+0x4c94 019036 arg mem_temp_block3 ,contr 
+0x4c95 019037 call load_ucode_only_loop 
+0x4c96 019038 fetcht 8 ,mem_temp 
+0x4c97 019039 fetch 8 ,mem_pdatatemp 
+0x4c98 019040 increase -16 ,pdata 
+0x4c99 019041 store 8 ,mem_pdatatemp 
+0x4c9a 019042 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+0x4c9b 019043 branch phci_grp_vendor_patch_check_sum 
+:      019045 load_ucode_only_loop:
+0x4c9c 019046 ifetch 1 ,contr 
+0x4c9d 019047 hstore 1 ,core_ucode_data 
+0x4c9e 019048 loop load_ucode_only_loop 
+0x4c9f 019049 rtn 
+:      019051 load_uart_sum_loop:
+0x4ca0 019052 ifetch 1 ,contru 
+0x4ca1 019053 istore 1 ,contw 
+0x4ca2 019054 iadd temp ,temp 
+0x4ca3 019055 loop load_uart_sum_loop 
+0x4ca4 019056 rtn 
+:      019058 phci_grp_vendor_patch_sec_init:
+0x4ca5 019059 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4ca6 019060 arg 0 ,temp 
+0x4ca7 019061 arg 16 ,loopcnt 
+0x4ca8 019062 arg mem_temp_block0 ,contw 
+0x4ca9 019063 call load_uart_sum_loop 
+0x4caa 019064 hfetch 1 ,core_gpio_key2 
+0x4cab 019065 and_into 0xfd ,pdata 
+0x4cac 019066 hstore 1 ,core_gpio_key2 
+0x4cad 019067 arg mem_temp_block0 ,contr 
+0x4cae 019068 arg 16 ,loopcnt 
+0x4caf 019069 call aes_load_data 
+0x4cb0 019070 call aes_init 
+0x4cb1 019071 call aes_clear_data 
+0x4cb2 019072 branch phci_grp_vendor_patch_check_sum 
+:      019075 phci_grp_vendor_done:
+0x4cb3 019076 arg 0x20 ,loopcnt 
+0x4cb4 019077 arg mem_patch00 ,contw 
+0x4cb5 019078 arg 0 ,temp 
+:      019079 phci_grp_vendor_done_loop:
+0x4cb6 019080 ifetch 1 ,contru 
+0x4cb7 019081 istore 1 ,contw 
+0x4cb8 019082 iadd temp ,temp 
+0x4cb9 019083 loop phci_grp_vendor_done_loop 
+0x4cba 019084 and temp ,0xff ,temp 
+0x4cbb 019085 ifetch 1 ,contru 
+0x4cbc 019086 isub temp ,null 
+0x4cbd 019087 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4cbe 019088 jam 0 ,core_ucode_ctrl 
+0x4cbf 019089 call hci_normal_reply 
+0x4cc0 019090 call h4_rx_discard_packet 
+0x4cc1 019091 call clear_key_buf 
+0x4cc2 019092 call wait_uarttx 
+0x4cc3 019093 branch soft_reset 
+:      019095 phci_grp_vendor_patch_bad:
+0x4cc4 019096 jam 0 ,core_ucode_ctrl 
+0x4cc5 019097 branch start 
+:      019099 phci_grp_vendor_bdaddr:
+0x4cc6 019100 ifetch 6 ,contru 
+0x4cc7 019101 store 6 ,mem_lap 
+0x4cc8 019102 branch hci_normal_reply 
+:      019105 phci_grp_vendor_mem:
+0x4cc9 019106 ifetch 1 ,contru 
+0x4cca 019107 store 1 ,mem_hci_curr_len 
+0x4ccb 019108 copy pdata ,loopcnt 
+0x4ccc 019109 ifetch 2 ,contru 
+0x4ccd 019110 store 2 ,mem_hci_curr_target 
+0x4cce 019111 copy pdata ,contw 
+0x4ccf 019112 call uart_copy_rx_bytes 
+0x4cd0 019113 branch hci_normal_reply 
+:      019116 phci_grp_vendor_eep:
+0x4cd1 019117 ifetch 1 ,contru 
+0x4cd2 019118 store 1 ,mem_hci_curr_len 
+0x4cd3 019119 copy pdata ,loopcnt 
+0x4cd4 019120 ifetch 2 ,contru 
+0x4cd5 019121 store 2 ,mem_hci_curr_target 
+0x4cd6 019122 arg mem_l2cap_rxbuff1 ,contw 
+0x4cd7 019123 call uart_copy_rx_bytes 
+0x4cd8 019124 fetcht 1 ,mem_hci_curr_len 
+0x4cd9 019125 arg mem_l2cap_rxbuff1 ,rega 
+0x4cda 019126 fetch 2 ,mem_hci_curr_target 
+0x4cdb 019127 branch iicd_write_ota_data 
+:      019132 hci_normal_reply:
+0x4cdc 019133 force 4 ,loopcnt 
+:      019134 hci_command_complete:
+0x4cdd 019135 call hci_get_payload_ptr 
+0x4cde 019136 force 0x1 ,pdata 
+0x4cdf 019137 istore 1 ,contwu 
+0x4ce0 019138 deposit alarm 
+0x4ce1 019139 istore 3 ,contwu 
+0x4ce2 019140 force hci_event_command_complete ,queue 
+:      019141 hci_send_event:
+0x4ce3 019142 bpatchx patch20_4 ,mem_patch20 
+0x4ce4 019143 call hci_get_packet_ptr 
+0x4ce5 019144 deposit queue 
+0x4ce6 019145 istore 1 ,contwu 
+0x4ce7 019146 deposit loopcnt 
+0x4ce8 019147 istore 1 ,contwu 
+:      019148 hci_send_event_raw:
+0x4ce9 019149 force 5 ,queue 
+0x4cea 019150 increase 2 ,loopcnt 
+:      019151 hci_send_packet:
+0x4ceb 019152 branch h4_send_packet_event 
+:      019154 hci_send_commu_ready_event:
+0x4cec 019155 force hci_event_vendor_specific ,queue 
+0x4ced 019156 call hci_get_payload_ptr 
+0x4cee 019157 setarg hci_vendor_event_commu_ready 
+0x4cef 019158 istore 1 ,contwu 
+0x4cf0 019159 force 1 ,loopcnt 
+0x4cf1 019160 branch hci_send_event 
+:      019162 hci_get_cmd_complete_ptr:
+0x4cf2 019163 force 12 ,contwu 
+0x4cf3 019164 branch hci_get_tx_ptr 
+:      019166 hci_get_payload_ptr:
+0x4cf4 019167 force 8 ,contwu 
+0x4cf5 019168 branch hci_get_tx_ptr 
+:      019170 hci_get_packet_ptr:
+0x4cf6 019171 force 6 ,contwu 
+:      019172 hci_get_tx_ptr:
+0x4cf7 019173 branch h4_get_tx_ptr 
+:      019177 calc_tx_crc16:
+0x4cf8 019178 pulse crc16 
+0x4cf9 019179 enable enable_crc 
+:      019180 crcloop:
+0x4cfa 019181 ifetch 1 ,contwu 
+0x4cfb 019182 inject bucket ,8 
+0x4cfc 019183 loop crcloop 
+0x4cfd 019184 enable enable_parity 
+0x4cfe 019185 inject bucket ,16 
+0x4cff 019186 disable enable_parity 
+0x4d00 019187 disable enable_crc 
+0x4d01 019188 disable crc16 
+0x4d02 019189 byteswap pdata ,pdata 
+0x4d03 019190 rtn 
+:      019194 cmd_exit:
+0x4d04 019195 jam 0 ,mem_hci_cmd 
+0x4d05 019196 rtn 
+:      019197 cmd_check_plap:
+0x4d06 019198 fetch 6 ,mem_hci_plap 
+0x4d07 019199 fetcht 6 ,mem_plap 
+0x4d08 019200 isub temp ,null 
+0x4d09 019201 rtn 
+:      019206 cmd_pair:
+0x4d0a 019207 fetch 1 ,mem_op 
+0x4d0b 019208 bbit1 op_inrand_req ,cmd_pair_passive 
+0x4d0c 019209 call tid_initiate 
+0x4d0d 019210 jam lmp_in_rand ,mem_lmo_opcode2 
+0x4d0e 019211 branch cmd_exit 
+:      019212 cmd_pair_passive:
+0x4d0f 019213 set0 op_inrand_req ,pdata 
+0x4d10 019214 store 1 ,mem_op 
+0x4d11 019215 call lmp_accept_inrand 
+0x4d12 019216 setarg 0 
+0x4d13 019217 setflag master ,smap_lmptid ,pdata 
+0x4d14 019218 store 1 ,mem_lmo_tid2 
+0x4d15 019219 branch cmd_exit 
+0x4d16 019220 rtn 
+:      019221 cmd_in_sniff:
+0x4d17 019222 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x4d18 019223 arg mem_sniff_payload ,contw 
+0x4d19 019224 setarg 0 
+0x4d1a 019225 isolate1 27 ,clke_bt 
+0x4d1b 019226 setflag true ,1 ,pdata 
+0x4d1c 019227 istore 1 ,contw 
+0x4d1d 019228 setarg 0 
+0x4d1e 019229 istore 2 ,contw 
+0x4d1f 019230 fetch 2 ,mem_sniff_param_interval 
+0x4d20 019231 istore 2 ,contw 
+0x4d21 019232 fetch 1 ,mem_sniff_param_attempt 
+0x4d22 019233 istore 2 ,contw 
+0x4d23 019234 fetch 1 ,mem_sniff_param_timeout 
+0x4d24 019235 istore 2 ,contw 
+0x4d25 019236 branch cmd_exit 
+:      019238 cmd_exit_sniff:
+0x4d26 019239 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x4d27 019240 branch cmd_exit 
+:      019242 hci_idle_dispatch:
+0x4d28 019243 call gpio_check_uart_state 
+0x4d29 019244 rtn true 
+0x4d2a 019245 arg uart_wakeup_rx ,temp 
+0x4d2b 019246 call gpio_get_bit 
+0x4d2c 019247 nbranch uart_wake_up ,true 
+0x4d2d 019248 jam hci_rx_wake ,mem_hci_lt_rx_state 
+0x4d2e 019249 rtn 
+:      019250 uart_wake_up:
+0x4d2f 019251 fetch 1 ,mem_hci_lt_rx_state 
+0x4d30 019252 rtnne hci_rx_wake 
+0x4d31 019253 call hci_exit_lpm 
+0x4d32 019254 branch hci_send_commu_ready_event 
+:      019268 hid_rx_process:
+0x4d33 019269 bpatchx patch20_5 ,mem_patch20 
+0x4d34 019270 fetch 2 ,mem_l2cap_payload_ptr 
+0x4d35 019271 copy pdata ,contr 
+0x4d36 019272 ifetch 1 ,contr 
+0x4d37 019273 and pdata ,0x0f ,temp 
+0x4d38 019274 rshift4 pdata ,pdata 
+0x4d39 019275 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x4d3a 019276 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x4d3b 019277 beq hid_type_data ,hid_rx_process_data 
+0x4d3c 019278 beq hid_type_set_report ,hid_rx_process_set_report 
+0x4d3d 019279 beq hid_type_control ,hid_rx_process_hid_control 
+0x4d3e 019280 rtn 
+:      019282 hid_rx_process_hid_control:
+0x4d3f 019283 copy temp ,pdata 
+0x4d40 019284 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x4d41 019285 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x4d42 019286 rtn 
+:      019288 hid_rx_process_virtual_cable_unplug:
+0x4d43 019289 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x4d44 019290 call ui_ipc_send_event 
+0x4d45 019291 fetch 1 ,mem_device_option 
+0x4d46 019292 rtnbit0 dvc_op_mouse 
+0x4d47 019293 copy temp ,pdata 
+0x4d48 019294 beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+0x4d49 019295 rtn 
+:      019296 hid_rx_process_suspend:
+0x4d4a 019297 rtn 
+:      019299 hid_rx_process_set_report:
+0x4d4b 019300 call hid_rx_process_data 
+0x4d4c 019301 arg 0x01 ,rega 
+0x4d4d 019302 call hid_malloc_tx_buff 
+0x4d4e 019303 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d4f 019304 istore 2 ,contw 
+0x4d50 019305 setarg 0x00 
+0x4d51 019306 istore 1 ,contw 
+0x4d52 019307 rtn 
+:      019309 hid_rx_process_handshake:
+0x4d53 019310 arg 1 ,rega 
+0x4d54 019311 call hid_malloc_tx_buff 
+0x4d55 019312 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d56 019313 istore 2 ,contw 
+0x4d57 019314 setarg 0 
+0x4d58 019315 istore 1 ,contw 
+0x4d59 019316 jam 1 ,mem_ui_data_txbuff_length 
+0x4d5a 019317 fetch 1 ,mem_hid_control_state 
+0x4d5b 019318 set1 l2cap_channel_hid_handshake_done 
+0x4d5c 019319 store 1 ,mem_hid_control_state 
+0x4d5d 019320 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x4d5e 019321 branch ui_ipc_send_event 
+:      019323 hid_rx_process_data:
+0x4d5f 019324 ifetch 1 ,contr 
+0x4d60 019325 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x4d61 019326 rtn 
+:      019328 hid_rx_process_data_hid_kb:
+0x4d62 019329 rtn 
+:      019332 hid_malloc_tx_buff:
+0x4d63 019333 call l2cap_malloc 
+0x4d64 019334 copy rega ,temp 
+0x4d65 019335 storet 1 ,mem_ui_data_txbuff_length 
+0x4d66 019336 copy pdata ,contw 
+0x4d67 019337 copy rega ,pdata 
+0x4d68 019338 istore 2 ,contw 
+0x4d69 019339 rtn 
+:      019356 l2cap_init:
+0x4d6a 019357 branch l2cap_init_wake ,wake 
+:      019358 l2cap_init_work:
+0x4d6b 019359 setarg mem_l2cap_xmem_end 
+0x4d6c 019360 arg mem_l2cap_xmem_start ,contw 
+0x4d6d 019361 isub contw ,loopcnt 
+0x4d6e 019362 call clear_mem 
+:      019363 l2cap_init_wake:
+0x4d6f 019364 bpatchx patch20_6 ,mem_patch20 
+0x4d70 019365 setarg mem_sdp_mem_end 
+0x4d71 019366 arg mem_sdp_mem_start ,contw 
+0x4d72 019367 isub contw ,loopcnt 
+0x4d73 019368 call clear_mem 
+0x4d74 019369 setarg mem_l2cap_mem_end 
+0x4d75 019370 arg mem_l2cap_mem_start ,contw 
+0x4d76 019371 isub contw ,loopcnt 
+0x4d77 019372 call clear_mem 
+0x4d78 019373 branch l2cap_lpm_load_txbuf 
+:      019375 process_rx_l2cap_pkt:
+0x4d79 019376 bpatchx patch20_7 ,mem_patch20 
+0x4d7a 019377 copy contr ,temp 
+0x4d7b 019380 copy temp ,contr 
+0x4d7c 019381 ifetch 2 ,contr 
+0x4d7d 019382 store 2 ,mem_l2cap_rx_pkt_length 
+0x4d7e 019383 ifetch 2 ,contr 
+0x4d7f 019384 store 2 ,mem_l2cap_rx_cid 
+0x4d80 019385 deposit contr 
+0x4d81 019386 store 2 ,mem_l2cap_payload_ptr 
+0x4d82 019387 fetch 1 ,memui_reconnect_mode 
+0x4d83 019388 beq no_reconnection ,l2cap_rx_multiplexing 
+0x4d84 019389 branch ml2cap_rx_multiplexing 
+:      019391 l2cap_rx_multiplexing:
+0x4d85 019392 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4d86 019393 branch l2cap_rx_reset_state ,blank 
+0x4d87 019394 bpatchx patch21_0 ,mem_patch21 
+0x4d88 019395 fetch 1 ,mem_l2cap_rx_cid 
+0x4d89 019396 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      019397 l2cap_rx_multiplexing0:
+0x4d8a 019398 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x4d8b 019399 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x4d8c 019400 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x4d8d 019401 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x4d8e 019402 branch l2cap_rx_reset_state 
+:      019404 l2cap_check_map:
+0x4d8f 019407 bpatchx patch21_1 ,mem_patch21 
+0x4d90 019408 call l2cap_malloc_get_full_map 
+0x4d91 019409 fetch 1 ,mem_used_map 
+0x4d92 019410 beq 0 ,set_pdata_0 
+0x4d93 019411 beq 1 ,set_pdata_0 
+0x4d94 019412 beq 2 ,set_pdata_0 
+0x4d95 019413 beq 3 ,set_pdata_0 
+0x4d96 019414 beq 0x81 ,set_pdata_0 
+0x4d97 019415 beq 0xc0 ,set_pdata_0 
+0x4d98 019416 beq 0x80 ,set_pdata_0 
+0x4d99 019417 beq 0x40 ,set_pdata_0 
+0x4d9a 019418 rtn 
+:      019420 set_pdata_0:
+0x4d9b 019421 setarg 0 
+0x4d9c 019422 rtn 
+:      019425 l2cap_call_proc_signal:
+0x4d9d 019426 call l2cap_check_map 
+0x4d9e 019427 nrtn blank 
+:      019428 l2cap_call_proc_signal0:
+0x4d9f 019429 call l2cap_malloc_signal_channel 
+0x4da0 019430 call l2cap_process_signal_pkt 
+0x4da1 019431 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x4da2 019432 branch l2cap_call_proc_no_reply ,blank 
+0x4da3 019433 call l2cap_get_signal_tx_buff 
+0x4da4 019434 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4da5 019435 istore 2 ,contw 
+0x4da6 019436 force l2cap_signal_channel ,pdata 
+0x4da7 019437 istore 2 ,contw 
+0x4da8 019438 branch l2cap_rx_reset_state 
+:      019440 l2cap_call_proc_sigal_pending:
+0x4da9 019441 fetch 1 ,mem_l2cap_pending_item 
+0x4daa 019442 rtn blank 
+0x4dab 019443 copy pdata ,rega 
+0x4dac 019444 bpatchx patch21_2 ,mem_patch21 
+0x4dad 019445 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x4dae 019446 arg 0x100 ,temp 
+0x4daf 019447 iadd temp ,temp 
+0x4db0 019448 copy clkn_bt ,pdata 
+0x4db1 019449 isub temp ,null 
+0x4db2 019450 nrtn positive 
+0x4db3 019451 jam 0 ,mem_l2cap_pending_item 
+0x4db4 019452 copy rega ,pdata 
+0x4db5 019453 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x4db6 019454 branch assert 
+:      019455 l2cap_sdp_conn_succ:
+0x4db7 019456 arg 0 ,debug 
+0x4db8 019457 call l2cap_malloc_signal_channel 
+0x4db9 019458 call restore_l2cap_req_param 
+0x4dba 019459 call l2cap_get_signal_tx_payload 
+0x4dbb 019460 call save_cont_pointers 
+0x4dbc 019461 call send_connection_sdp_res 
+0x4dbd 019462 call l2cap_get_signal_tx_buff 
+0x4dbe 019464 setarg 0x000c 
+0x4dbf 019465 istore 2 ,contw 
+0x4dc0 019466 force l2cap_signal_channel ,pdata 
+0x4dc1 019467 istore 2 ,contw 
+0x4dc2 019468 branch l2cap_rx_reset_state 
+:      019472 l2cap_reset_sdp_map:
+0x4dc3 019473 bpatchx patch21_3 ,mem_patch21 
+0x4dc4 019474 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dc5 019475 increase 4 ,pdata 
+0x4dc6 019476 rshift4 pdata ,pdata 
+0x4dc7 019477 rshift3 pdata ,pdata 
+0x4dc8 019478 add pdata ,1 ,temp 
+0x4dc9 019479 arg mem_tx_fifo3 ,contr 
+0x4dca 019480 ifetch 3 ,contr 
+0x4dcb 019481 rtn blank 
+0x4dcc 019482 store 3 ,mem_tx_fifo_map_temp 
+0x4dcd 019483 fetch 1 ,mem_tx_fifo_map_temp 
+0x4dce 019484 copy pdata ,rega 
+0x4dcf 019485 call check_l2cap_map 
+0x4dd0 019486 copy regb ,pdata 
+0x4dd1 019487 store 1 ,mem_tx_fifo3 
+0x4dd2 019488 rtn 
+:      019490 check_l2cap_map:
+0x4dd3 019491 arg 0 ,queue 
+0x4dd4 019492 arg 0 ,regb 
+:      019494 check_l2cap_map_loop:
+0x4dd5 019495 sub queue ,7 ,null 
+0x4dd6 019496 nrtn positive 
+0x4dd7 019497 qisolate1 rega 
+0x4dd8 019498 branch check_l2cap_map_used ,true 
+0x4dd9 019499 branch check_l2cap_map_used2 
+:      019501 check_l2cap_map_used:
+0x4dda 019502 copy temp ,pdata 
+0x4ddb 019503 branch check_l2cap_map_used2 ,blank 
+0x4ddc 019504 qset1 regb 
+0x4ddd 019505 increase -1 ,temp 
+:      019507 check_l2cap_map_used2:
+0x4dde 019508 increase 1 ,queue 
+0x4ddf 019509 branch check_l2cap_map_loop 
+:      019511 l2cap_call_proc_sdp:
+0x4de0 019512 call l2cap_malloc_is_fifo_empty 
+0x4de1 019513 nrtn blank 
+0x4de2 019514 call l2cap_check_map 
+0x4de3 019515 nrtn blank 
+0x4de4 019516 call l2cap_malloc_sdp_channel 
+0x4de5 019517 call sdp_process 
+0x4de6 019518 call l2cap_reset_sdp_map 
+0x4de7 019519 branch l2cap_call_proc_sdp_common 
+:      019522 ml2cap_call_proc_sdp:
+0x4de8 019523 call l2cap_malloc_is_fifo_empty 
+0x4de9 019524 nrtn blank 
+0x4dea 019525 call l2cap_malloc_sdp_channel 
+0x4deb 019526 call sdp_process 
+:      019527 l2cap_call_proc_sdp_common:
+0x4dec 019528 call l2cap_get_sdp_tx_buff 
+0x4ded 019529 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dee 019530 branch l2cap_call_proc_no_reply ,blank 
+0x4def 019531 istore 2 ,contw 
+0x4df0 019532 fetch 2 ,mem_sdp_remote_cid 
+0x4df1 019533 istore 2 ,contw 
+0x4df2 019534 branch l2cap_rx_reset_state 
+:      019536 l2cap_call_proc_hid:
+0x4df3 019537 call hid_rx_process 
+0x4df4 019538 branch l2cap_rx_reset_state 
+:      019540 l2cap_call_proc_rfcomm:
+0x4df5 019541 bpatchx patch21_4 ,mem_patch21 
+0x4df6 019542 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x4df7 019543 call rfcomm_rx_process 
+0x4df8 019544 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x4df9 019545 rtneq rfcomm_malloc_fail 
+0x4dfa 019546 branch l2cap_rx_reset_state 
+:      019547 l2cap_call_proc_no_reply:
+0x4dfb 019548 call l2cap_malloc_discard 
+:      019550 l2cap_rx_reset_state:
+0x4dfc 019551 setarg 0 
+0x4dfd 019552 store 2 ,mem_l2cap_rx_pkt_length 
+0x4dfe 019553 store 2 ,mem_l2cap_rx_cid 
+0x4dff 019554 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x4e00 019555 rtn 
+:      019557 l2cap_process_signal_pkt:
+0x4e01 019558 bpatchx patch21_5 ,mem_patch21 
+0x4e02 019559 call l2cap_get_signal_tx_payload 
+0x4e03 019560 force 0 ,regb 
+0x4e04 019561 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4e05 019562 copy pdata ,regc 
+0x4e06 019563 fetch 2 ,mem_l2cap_payload_ptr 
+0x4e07 019564 iforce contr 
+:      019565 l2cap_process_signal_pkt_loop:
+0x4e08 019566 call l2cap_process_one_signal 
+0x4e09 019567 deposit regc 
+0x4e0a 019568 increase -4 ,regc 
+0x4e0b 019569 increase -4 ,pdata 
+0x4e0c 019570 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x4e0d 019571 copy regb ,pdata 
+0x4e0e 019572 store 2 ,mem_l2cap_signal_tx_length 
+0x4e0f 019573 rtn 
+:      019575 l2cap_process_one_signal:
+0x4e10 019576 bpatchx patch21_6 ,mem_patch21 
+0x4e11 019577 ifetch 1 ,contr 
+0x4e12 019578 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x4e13 019579 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x4e14 019580 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x4e15 019581 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x4e16 019582 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x4e17 019583 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x4e18 019584 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x4e19 019585 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x4e1a 019586 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x4e1b 019587 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x4e1c 019588 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x4e1d 019589 call l2cap_reject_command 
+:      019590 l2cap_process_one_signal_rtn:
+0x4e1e 019591 rtn 
+:      019593 l2cap_proc_signal_info_req:
+0x4e1f 019594 ifetch 1 ,contr 
+0x4e20 019595 copy pdata ,queue 
+0x4e21 019596 ifetch 2 ,contr 
+0x4e22 019597 copy pdata ,rega 
+0x4e23 019598 copy regc ,pdata 
+0x4e24 019599 isub rega ,regc 
+0x4e25 019600 setarg signal_info_rsp 
+0x4e26 019601 istore 1 ,contw 
+0x4e27 019602 copy queue ,pdata 
+0x4e28 019603 istore 1 ,contw 
+0x4e29 019604 ifetch 2 ,contr 
+:      019605 l2cap_proc_signal_info_req_reply:
+0x4e2a 019606 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x4e2b 019607 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x4e2c 019608 rtn 
+:      019609 l2cap_proc_signal_info_req_ext:
+0x4e2d 019610 setarg 0x020008 
+0x4e2e 019611 istore 6 ,contw 
+0x4e2f 019612 setarg 0x0280 
+0x4e30 019613 istore 4 ,contw 
+0x4e31 019614 force 12 ,pdata 
+0x4e32 019615 branch l2cap_proc_signal_info_req_common 
+:      019616 l2cap_proc_signal_info_req_fix:
+0x4e33 019617 setarg 0x3000c 
+0x4e34 019618 istore 6 ,contw 
+0x4e35 019619 setarg 0x0006 
+0x4e36 019620 istore 8 ,contw 
+0x4e37 019621 force 16 ,pdata 
+:      019622 l2cap_proc_signal_info_req_common:
+0x4e38 019623 iadd regb ,regb 
+0x4e39 019624 branch l2cap_process_one_signal_rtn 
+:      019626 ml2cap_proc_signal_info_req:
+0x4e3a 019627 ifetch 1 ,contr 
+0x4e3b 019628 copy pdata ,queue 
+0x4e3c 019629 ifetch 2 ,contr 
+0x4e3d 019630 copy pdata ,rega 
+0x4e3e 019631 ifetch 2 ,contr 
+0x4e3f 019632 store 2 ,mem_temp 
+0x4e40 019633 copy regc ,pdata 
+0x4e41 019634 isub rega ,regc 
+0x4e42 019635 call l2cap_get_signal_tx_payload 
+0x4e43 019636 setarg signal_info_rsp 
+0x4e44 019637 istore 1 ,contw 
+0x4e45 019638 copy queue ,pdata 
+0x4e46 019639 istore 1 ,contw 
+0x4e47 019640 fetch 2 ,mem_temp 
+0x4e48 019641 branch l2cap_proc_signal_info_req_reply 
+:      019645 l2cap_proc_signal_cmd_reject:
+0x4e49 019646 ifetch 1 ,contr 
+0x4e4a 019647 copy pdata ,queue 
+0x4e4b 019648 ifetch 2 ,contr 
+0x4e4c 019649 copy pdata ,rega 
+0x4e4d 019650 iadd contr ,contr 
+0x4e4e 019651 copy regc ,pdata 
+0x4e4f 019652 isub rega ,regc 
+:      019653 l2cap_proc_signal_cmd_reject_rtn:
+0x4e50 019654 branch l2cap_process_one_signal_rtn 
+:      019656 l2cap_proc_signal_connect_req:
+0x4e51 019657 call save_cont_pointers 
+0x4e52 019660 call load_cont_pointers 
+0x4e53 019661 arg 0 ,debug 
+0x4e54 019662 ifetch 1 ,contr 
+0x4e55 019663 copy pdata ,queue 
+0x4e56 019664 ifetch 2 ,contr 
+0x4e57 019665 copy pdata ,rega 
+0x4e58 019666 ifetch 2 ,contr 
+0x4e59 019667 copy pdata ,temp 
+0x4e5a 019668 ifetch 2 ,contr 
+0x4e5b 019669 copy pdata ,timeup 
+0x4e5c 019670 bpatchx patch21_7 ,mem_patch21 
+0x4e5d 019671 copy temp ,pdata 
+0x4e5e 019672 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x4e5f 019673 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x4e60 019674 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x4e61 019675 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x4e62 019676 call l2cap_reject_command 
+0x4e63 019677 branch l2cap_proc_signal_connect_req_rtn 
+:      019679 l2cap_proc_signal_connect_req_sdp:
+0x4e64 019680 call save_cont_pointers 
+0x4e65 019681 arg l2cap_sdp_channel ,temp 
+0x4e66 019682 fetch 2 ,mem_sdp_remote_cid 
+0x4e67 019683 nbranch already_connected ,blank 
+0x4e68 019684 copy timeup ,pdata 
+0x4e69 019685 store 2 ,mem_sdp_remote_cid 
+0x4e6a 019686 copy clkn_bt ,pdata 
+0x4e6b 019687 store 4 ,mem_l2cap_sdpres_delay_time 
+0x4e6c 019688 call store_l2cap_req_param 
+0x4e6d 019689 branch send_connection_pending 
+:      019691 store_l2cap_req_param:
+0x4e6e 019692 storet 2 ,mem_psm 
+0x4e6f 019693 deposit timeup 
+0x4e70 019694 store 2 ,mem_scid 
+0x4e71 019695 deposit rega 
+0x4e72 019696 store 2 ,mem_cmd_length 
+0x4e73 019697 deposit regb 
+0x4e74 019698 store 2 ,mem_tt2 
+0x4e75 019699 deposit regc 
+0x4e76 019700 store 2 ,mem_tt3 
+0x4e77 019701 deposit queue 
+0x4e78 019702 store 2 ,mem_id 
+0x4e79 019703 rtn 
+:      019705 restore_l2cap_req_param:
+0x4e7a 019706 fetcht 2 ,mem_psm 
+0x4e7b 019707 fetch 2 ,mem_scid 
+0x4e7c 019708 copy pdata ,timeup 
+0x4e7d 019709 fetch 2 ,mem_cmd_length 
+0x4e7e 019710 copy pdata ,rega 
+0x4e7f 019711 fetch 2 ,mem_tt2 
+0x4e80 019712 copy pdata ,regb 
+0x4e81 019713 fetch 2 ,mem_tt3 
+0x4e82 019714 copy pdata ,regc 
+0x4e83 019715 fetch 2 ,mem_id 
+0x4e84 019716 copy pdata ,queue 
+0x4e85 019717 rtn 
+:      019719 l2cap_proc_signal_connect_req_rfcomm:
+0x4e86 019720 call save_cont_pointers 
+0x4e87 019721 setarg l2cap_rfcomm_channel 
+0x4e88 019722 arg l2cap_rfcomm_channel ,temp 
+0x4e89 019723 fetch 2 ,mem_rfcomm_remote_cid 
+0x4e8a 019724 nbranch already_connected ,blank 
+0x4e8b 019725 copy timeup ,pdata 
+0x4e8c 019726 store 2 ,mem_rfcomm_remote_cid 
+0x4e8d 019727 fetch 1 ,mem_rfcomm_state 
+0x4e8e 019728 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e8f 019729 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e90 019730 store 1 ,mem_rfcomm_state 
+0x4e91 019731 branch send_connection_res 
+:      019732 l2cap_proc_signal_connect_req_hid_ctrl:
+0x4e92 019733 call save_cont_pointers 
+0x4e93 019734 arg l2cap_hid_control_channel ,temp 
+0x4e94 019735 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4e95 019736 nbranch already_connected ,blank 
+0x4e96 019737 copy timeup ,pdata 
+0x4e97 019738 store 2 ,mem_hid_ctrl_remote_cid 
+0x4e98 019739 fetch 1 ,mem_hid_control_state 
+0x4e99 019740 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e9a 019741 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e9b 019742 store 1 ,mem_hid_control_state 
+0x4e9c 019743 branch send_connection_res 
+:      019744 l2cap_proc_signal_connect_req_hid_int:
+0x4e9d 019745 call save_cont_pointers 
+0x4e9e 019746 deposit clke 
+0x4e9f 019747 arg l2cap_hid_interrupt_channel ,temp 
+0x4ea0 019748 fetch 2 ,mem_hid_int_remote_cid 
+0x4ea1 019749 nbranch already_connected ,blank 
+0x4ea2 019750 copy timeup ,pdata 
+0x4ea3 019751 store 2 ,mem_hid_int_remote_cid 
+0x4ea4 019752 fetch 1 ,mem_hid_interrupt_state 
+0x4ea5 019753 set1 l2cap_channel_state_conn_req ,pdata 
+0x4ea6 019754 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ea7 019755 store 1 ,mem_hid_interrupt_state 
+0x4ea8 019756 branch send_connection_res 
+:      019758 send_connection_pending:
+0x4ea9 019759 setarg l2cap_connect_pending 
+0x4eaa 019760 store 2 ,meml2cap_t1 
+0x4eab 019761 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x4eac 019762 branch send_connection_res0 
+:      019763 send_connection_sdp_res:
+0x4ead 019764 fetch 1 ,mem_sdp_state 
+0x4eae 019765 set1 l2cap_channel_state_conn_req ,pdata 
+0x4eaf 019766 set1 l2cap_channel_state_conn_res ,pdata 
+0x4eb0 019767 store 1 ,mem_sdp_state 
+:      019768 send_connection_res:
+0x4eb1 019769 setarg l2cap_connect_successful 
+0x4eb2 019770 store 2 ,meml2cap_t1 
+:      019771 send_connection_res0:
+0x4eb3 019772 bpatchx patch22_0 ,mem_patch22 
+0x4eb4 019773 call load_cont_pointers 
+0x4eb5 019774 setarg signal_connect_rsp 
+0x4eb6 019775 istore 1 ,contw 
+0x4eb7 019776 copy queue ,pdata 
+0x4eb8 019777 istore 1 ,contw 
+0x4eb9 019778 setarg 0x0008 
+0x4eba 019779 istore 2 ,contw 
+0x4ebb 019780 copy temp ,pdata 
+0x4ebc 019781 istore 2 ,contw 
+0x4ebd 019782 copy timeup ,pdata 
+0x4ebe 019783 istore 2 ,contw 
+0x4ebf 019784 fetch 2 ,meml2cap_t1 
+0x4ec0 019785 beq l2cap_connect_pending ,connect_pending 
+0x4ec1 019786 isolate0 0 ,debug 
+0x4ec2 019787 branch connect_suc ,true 
+0x4ec3 019788 setarg l2cap_connect_refused_no_resources 
+:      019789 connect_suc:
+0x4ec4 019790 istore 2 ,contw 
+0x4ec5 019791 force 0x0000 ,pdata 
+0x4ec6 019792 istore 2 ,contw 
+0x4ec7 019793 setarg 12 
+0x4ec8 019794 branch connect_req_update_byte_counts 
+:      019795 connect_pending:
+0x4ec9 019796 istore 2 ,contw 
+0x4eca 019797 force 0x0002 ,pdata 
+0x4ecb 019798 istore 2 ,contw 
+0x4ecc 019799 setarg 12 
+0x4ecd 019800 branch connect_req_update_byte_counts 
+:      019802 already_connected:
+0x4ece 019803 set1 0 ,debug 
+0x4ecf 019804 branch send_connection_res 
+:      019805 connect_req_update_byte_counts:
+0x4ed0 019806 iadd regb ,regb 
+0x4ed1 019807 copy regc ,pdata 
+0x4ed2 019808 isub rega ,regc 
+0x4ed3 019809 branch l2cap_proc_signal_connect_req_rtn 
+:      019810 l2cap_proc_signal_connect_req_rtn:
+0x4ed4 019811 branch l2cap_process_one_signal_rtn 
+:      019813 l2cap_proc_signal_connect_rsp:
+0x4ed5 019814 ifetch 1 ,contr 
+0x4ed6 019815 copy pdata ,queue 
+0x4ed7 019816 ifetch 2 ,contr 
+0x4ed8 019817 copy pdata ,rega 
+0x4ed9 019818 copy regc ,pdata 
+0x4eda 019819 isub rega ,regc 
+0x4edb 019820 ifetch 2 ,contr 
+0x4edc 019821 copy pdata ,timeup 
+0x4edd 019822 ifetch 2 ,contr 
+0x4ede 019823 copy pdata ,temp 
+0x4edf 019824 bpatchx patch22_1 ,mem_patch22 
+0x4ee0 019825 setarg l2cap_sdp_channel 
+0x4ee1 019826 isub temp ,null 
+0x4ee2 019827 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x4ee3 019828 setarg l2cap_rfcomm_channel 
+0x4ee4 019829 isub temp ,null 
+0x4ee5 019830 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x4ee6 019831 setarg l2cap_hid_control_channel 
+0x4ee7 019832 isub temp ,null 
+0x4ee8 019833 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x4ee9 019834 setarg l2cap_hid_interrupt_channel 
+0x4eea 019835 isub temp ,null 
+0x4eeb 019836 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x4eec 019837 rtn 
+:      019839 l2cap_proc_signal_connect_rsp_sdp:
+0x4eed 019840 copy timeup ,pdata 
+0x4eee 019841 store 2 ,mem_sdp_remote_cid 
+0x4eef 019842 fetch 1 ,mem_sdp_state 
+0x4ef0 019843 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef1 019844 store 1 ,mem_sdp_state 
+0x4ef2 019845 branch l2cap_process_one_signal_rtn 
+:      019846 l2cap_proc_signal_connect_rsp_rfcomm:
+0x4ef3 019847 copy timeup ,pdata 
+0x4ef4 019848 store 2 ,mem_rfcomm_remote_cid 
+0x4ef5 019849 fetch 1 ,mem_rfcomm_state 
+0x4ef6 019850 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef7 019851 store 1 ,mem_rfcomm_state 
+0x4ef8 019852 rtn 
+:      019853 l2cap_proc_signal_connect_rsp_hid_int:
+0x4ef9 019854 copy timeup ,pdata 
+0x4efa 019855 store 2 ,mem_hid_ctrl_remote_cid 
+0x4efb 019856 fetch 1 ,mem_hid_interrupt_state 
+0x4efc 019857 set1 l2cap_channel_state_conn_res ,pdata 
+0x4efd 019858 store 1 ,mem_hid_interrupt_state 
+0x4efe 019859 rtn 
+:      019860 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x4eff 019861 copy timeup ,pdata 
+0x4f00 019862 store 2 ,mem_hid_int_remote_cid 
+0x4f01 019863 fetch 1 ,mem_hid_control_state 
+0x4f02 019864 set1 l2cap_channel_state_conn_res ,pdata 
+0x4f03 019865 store 1 ,mem_hid_control_state 
+0x4f04 019866 rtn 
+:      019868 l2cap_proc_signal_config_req:
+0x4f05 019869 ifetch 1 ,contr 
+0x4f06 019870 copy pdata ,queue 
+0x4f07 019871 ifetch 2 ,contr 
+0x4f08 019872 copy pdata ,rega 
+0x4f09 019873 copy regc ,pdata 
+0x4f0a 019874 isub rega ,regc 
+0x4f0b 019875 ifetch 2 ,contr 
+0x4f0c 019876 copy pdata ,temp 
+0x4f0d 019877 copy temp ,rega 
+0x4f0e 019878 bpatchx patch22_2 ,mem_patch22 
+0x4f0f 019879 setarg l2cap_sdp_channel 
+0x4f10 019880 isub temp ,null 
+0x4f11 019881 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x4f12 019882 setarg l2cap_rfcomm_channel 
+0x4f13 019883 isub temp ,null 
+0x4f14 019884 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x4f15 019885 setarg l2cap_hid_control_channel 
+0x4f16 019886 isub temp ,null 
+0x4f17 019887 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x4f18 019888 setarg l2cap_hid_interrupt_channel 
+0x4f19 019889 isub temp ,null 
+0x4f1a 019890 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x4f1b 019891 branch l2cap_reject_command 
+:      019893 l2cap_proc_signal_config_req_sdp:
+0x4f1c 019894 copy contw ,timeup 
+0x4f1d 019895 fetch 1 ,mem_sdp_state 
+0x4f1e 019896 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f1f 019897 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f20 019899 store 1 ,mem_sdp_state 
+0x4f21 019900 copy timeup ,contw 
+0x4f22 019901 arg l2cap_sdp_channel ,timeup 
+0x4f23 019902 fetch 2 ,mem_sdp_remote_cid 
+0x4f24 019903 copy pdata ,temp 
+0x4f25 019904 branch l2cap_send_config_rsp 
+:      019905 l2cap_proc_signal_config_req_hid_ctrl:
+0x4f26 019906 copy contw ,timeup 
+0x4f27 019907 fetch 1 ,mem_hid_control_state 
+0x4f28 019908 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f29 019909 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f2a 019911 store 1 ,mem_hid_control_state 
+0x4f2b 019912 copy timeup ,contw 
+0x4f2c 019913 arg l2cap_hid_control_channel ,timeup 
+0x4f2d 019914 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f2e 019915 copy pdata ,temp 
+0x4f2f 019916 branch l2cap_send_config_rsp 
+:      019917 l2cap_proc_signal_config_req_hid_int:
+0x4f30 019918 copy contw ,timeup 
+0x4f31 019919 fetch 1 ,mem_hid_interrupt_state 
+0x4f32 019920 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f33 019921 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f34 019923 store 1 ,mem_hid_interrupt_state 
+0x4f35 019924 copy timeup ,contw 
+0x4f36 019925 arg l2cap_hid_interrupt_channel ,timeup 
+0x4f37 019926 fetch 2 ,mem_hid_int_remote_cid 
+0x4f38 019927 copy pdata ,temp 
+0x4f39 019928 branch l2cap_send_config_rsp 
+:      019929 l2cap_proc_signal_config_req_rfcomm:
+0x4f3a 019930 copy contw ,timeup 
+0x4f3b 019931 fetch 1 ,mem_rfcomm_state 
+0x4f3c 019932 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f3d 019933 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f3e 019935 store 1 ,mem_rfcomm_state 
+0x4f3f 019937 copy timeup ,contw 
+0x4f40 019938 arg l2cap_rfcomm_channel ,timeup 
+0x4f41 019939 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f42 019940 copy pdata ,temp 
+:      019941 l2cap_send_config_rsp:
+0x4f43 019942 bpatchx patch22_3 ,mem_patch22 
+0x4f44 019943 setarg signal_config_rsp 
+0x4f45 019944 istore 1 ,contw 
+0x4f46 019945 copy queue ,pdata 
+0x4f47 019946 istore 1 ,contw 
+0x4f48 019947 setarg 0x0006 
+0x4f49 019948 istore 2 ,contw 
+0x4f4a 019949 copy temp ,pdata 
+0x4f4b 019950 istore 2 ,contw 
+0x4f4c 019951 force 0x00 ,pdata 
+0x4f4d 019952 istore 2 ,contw 
+0x4f4e 019953 force l2cap_config_success ,pdata 
+0x4f4f 019954 istore 2 ,contw 
+0x4f50 019955 force 10 ,pdata 
+0x4f51 019956 iadd regb ,regb 
+0x4f52 019958 storet 2 ,mem_config_req_dest_cid 
+0x4f53 019959 copy queue ,pdata 
+0x4f54 019960 store 1 ,mem_config_identifier 
+0x4f55 019961 force l2cap_sdp_channel ,pdata 
+0x4f56 019962 icompare 0xff ,timeup 
+0x4f57 019963 branch l2cap_send_config_rsp_is_sdp ,true 
+0x4f58 019964 increase 1 ,pdata 
+:      019965 l2cap_send_config_rsp_is_sdp:
+0x4f59 019967 rtn 
+:      019968 l2cap_check_channel_state:
+0x4f5a 019969 disable user 
+0x4f5b 019970 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5c 019971 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x4f5d 019972 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x4f5e 019973 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5f 019974 copy contr ,contw 
+0x4f60 019975 increase -1 ,contw 
+0x4f61 019976 istore 1 ,contw 
+0x4f62 019977 enable user 
+0x4f63 019978 rtn 
+:      019979 l2cap_send_config_req:
+:      019980 l2cap_send_config_req_sdp:
+0x4f64 019981 fetch 1 ,mem_sdp_state 
+0x4f65 019982 call l2cap_check_channel_state 
+0x4f66 019983 nbranch l2cap_send_config_req_rfcomm ,user 
+0x4f67 019984 jam l2cap_sdp_channel ,mem_send_config_req 
+0x4f68 019985 fetch 2 ,mem_sdp_remote_cid 
+0x4f69 019986 store 2 ,mem_config_req_dest_cid 
+0x4f6a 019987 branch l2cap_generate_config_req 
+:      019988 l2cap_send_config_req_rfcomm:
+0x4f6b 019989 fetch 1 ,mem_rfcomm_state 
+0x4f6c 019990 call l2cap_check_channel_state 
+0x4f6d 019991 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x4f6e 019992 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x4f6f 019993 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f70 019994 store 2 ,mem_config_req_dest_cid 
+0x4f71 019995 branch l2cap_generate_config_req 
+:      019996 l2cap_send_config_req_hid_ctrl:
+0x4f72 019997 fetch 1 ,mem_hid_control_state 
+0x4f73 019998 call l2cap_check_channel_state 
+0x4f74 019999 nbranch l2cap_send_config_req_hid_int ,user 
+0x4f75 020000 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x4f76 020001 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f77 020002 store 2 ,mem_config_req_dest_cid 
+0x4f78 020003 branch l2cap_generate_config_req 
+:      020004 l2cap_send_config_req_hid_int:
+0x4f79 020005 fetch 1 ,mem_hid_interrupt_state 
+0x4f7a 020006 call l2cap_check_channel_state 
+0x4f7b 020007 nrtn user 
+0x4f7c 020008 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x4f7d 020009 fetch 2 ,mem_hid_int_remote_cid 
+0x4f7e 020010 store 2 ,mem_config_req_dest_cid 
+:      020013 l2cap_generate_config_req:
+0x4f7f 020014 bpatchx patch22_4 ,mem_patch22 
+0x4f80 020015 call l2cap_get_req_id 
+0x4f81 020016 call l2cap_malloc_signal_channel 
+0x4f82 020017 force 0 ,regb 
+0x4f83 020018 call l2cap_get_signal_tx_payload 
+0x4f84 020019 force signal_config_req ,pdata 
+0x4f85 020020 istore 1 ,contw 
+0x4f86 020021 fetch 1 ,mem_ml2cap_comm_id 
+0x4f87 020022 istore 1 ,contw 
+0x4f88 020023 setarg 0x0008 
+0x4f89 020024 istore 2 ,contw 
+0x4f8a 020025 fetch 2 ,mem_config_req_dest_cid 
+0x4f8b 020026 istore 2 ,contw 
+0x4f8c 020027 setarg 0x0000 
+0x4f8d 020028 istore 2 ,contw 
+0x4f8e 020029 force 1 ,pdata 
+0x4f8f 020030 istore 1 ,contw 
+0x4f90 020031 force 2 ,pdata 
+0x4f91 020032 istore 1 ,contw 
+0x4f92 020033 fetch 1 ,mem_send_config_req 
+0x4f93 020034 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x4f94 020035 setarg l2cap_config_mtu_sdp 
+0x4f95 020036 istore 2 ,contw 
+0x4f96 020037 branch l2cap_generate_config_req_done 
+:      020038 l2cap_generate_config_req_rfcomm:
+0x4f97 020039 setarg l2cap_config_mtu_rfcomm 
+0x4f98 020040 istore 2 ,contw 
+:      020041 l2cap_generate_config_req_done:
+0x4f99 020042 arg 0x0c ,temp 
+0x4f9a 020043 storet 2 ,mem_l2cap_signal_tx_length 
+0x4f9b 020044 call l2cap_get_signal_tx_buff 
+0x4f9c 020045 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4f9d 020046 istore 2 ,contw 
+0x4f9e 020047 force l2cap_signal_channel ,pdata 
+0x4f9f 020048 istore 2 ,contw 
+0x4fa0 020049 jam 0 ,mem_send_config_req 
+:      020050 l2cap_proc_signal_config_req_rtn:
+0x4fa1 020051 branch l2cap_process_one_signal_rtn 
+:      020053 l2cap_proc_signal_config_rsp:
+0x4fa2 020054 increase 1 ,contr 
+0x4fa3 020055 ifetch 2 ,contr 
+0x4fa4 020056 copy pdata ,rega 
+0x4fa5 020057 copy regc ,pdata 
+0x4fa6 020058 isub rega ,regc 
+0x4fa7 020059 ifetch 2 ,contr 
+0x4fa8 020060 copy pdata ,rega 
+0x4fa9 020061 bpatchx patch22_5 ,mem_patch22 
+0x4faa 020062 setarg l2cap_sdp_channel 
+0x4fab 020063 isub rega ,null 
+0x4fac 020064 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x4fad 020065 setarg l2cap_rfcomm_channel 
+0x4fae 020066 isub rega ,null 
+0x4faf 020067 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x4fb0 020068 setarg l2cap_hid_control_channel 
+0x4fb1 020069 isub rega ,null 
+0x4fb2 020070 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x4fb3 020071 setarg l2cap_hid_interrupt_channel 
+0x4fb4 020072 isub rega ,null 
+0x4fb5 020073 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x4fb6 020074 increase 2 ,contr 
+0x4fb7 020075 ifetch 2 ,contr 
+0x4fb8 020076 iforce null 
+0x4fb9 020077 branch l2cap_process_one_signal_rtn 
+:      020078 l2cap_proc_signal_config_rsp_sdp:
+0x4fba 020079 fetch 1 ,mem_sdp_state 
+0x4fbb 020080 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fbc 020081 store 1 ,mem_sdp_state 
+0x4fbd 020082 branch l2cap_process_one_signal_rtn 
+:      020083 l2cap_proc_signal_config_rsp_rfcomm:
+0x4fbe 020084 fetch 1 ,mem_rfcomm_state 
+0x4fbf 020085 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc0 020086 store 1 ,mem_rfcomm_state 
+0x4fc1 020087 branch l2cap_process_one_signal_rtn 
+:      020088 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x4fc2 020089 fetch 1 ,mem_hid_control_state 
+0x4fc3 020090 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc4 020091 store 1 ,mem_hid_control_state 
+0x4fc5 020092 branch l2cap_process_one_signal_rtn 
+:      020093 l2cap_proc_signal_config_rsp_hid_int:
+0x4fc6 020094 fetch 1 ,mem_hid_interrupt_state 
+0x4fc7 020095 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc8 020096 store 1 ,mem_hid_interrupt_state 
+0x4fc9 020097 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x4fca 020098 branch ui_ipc_send_event 
+:      020102 l2cap_proc_signal_disconnect_req:
+0x4fcb 020103 ifetch 1 ,contr 
+0x4fcc 020104 copy pdata ,queue 
+0x4fcd 020105 ifetch 2 ,contr 
+0x4fce 020106 copy pdata ,rega 
+0x4fcf 020107 copy regc ,pdata 
+0x4fd0 020108 isub rega ,regc 
+0x4fd1 020109 ifetch 2 ,contr 
+0x4fd2 020110 copy pdata ,rega 
+0x4fd3 020111 ifetch 2 ,contr 
+0x4fd4 020112 copy pdata ,timeup 
+0x4fd5 020113 copy rega ,temp 
+0x4fd6 020114 call save_cont_pointers 
+0x4fd7 020115 bpatchx patch22_6 ,mem_patch22 
+0x4fd8 020116 setarg l2cap_sdp_channel 
+0x4fd9 020117 isub temp ,null 
+0x4fda 020118 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x4fdb 020119 setarg l2cap_rfcomm_channel 
+0x4fdc 020120 isub temp ,null 
+0x4fdd 020121 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x4fde 020122 setarg l2cap_hid_control_channel 
+0x4fdf 020123 isub temp ,null 
+0x4fe0 020124 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x4fe1 020125 setarg l2cap_hid_interrupt_channel 
+0x4fe2 020126 isub temp ,null 
+0x4fe3 020127 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x4fe4 020128 call l2cap_reject_command 
+0x4fe5 020129 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020130 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x4fe6 020131 copy timeup ,temp 
+0x4fe7 020132 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4fe8 020133 isub temp ,null 
+0x4fe9 020134 branch l2cap_disconnect_hid_control_now ,zero 
+0x4fea 020135 call l2cap_reject_command 
+0x4feb 020136 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020137 l2cap_proc_signal_disconnect_req_hid_int:
+0x4fec 020138 copy timeup ,temp 
+0x4fed 020139 fetch 2 ,mem_hid_int_remote_cid 
+0x4fee 020140 isub temp ,null 
+0x4fef 020141 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x4ff0 020142 call l2cap_reject_command 
+0x4ff1 020143 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020145 l2cap_proc_signal_disconnect_req_sdp:
+0x4ff2 020146 copy timeup ,temp 
+0x4ff3 020147 fetch 2 ,mem_sdp_remote_cid 
+0x4ff4 020148 isub temp ,null 
+0x4ff5 020149 branch l2cap_disconnect_sdp_now ,zero 
+0x4ff6 020150 call l2cap_reject_command 
+0x4ff7 020151 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020152 l2cap_disconnect_hid_control_now:
+0x4ff8 020153 call l2cap_reset_hid_ctrl_state 
+0x4ff9 020154 branch l2cap_send_disconnect_rsp_pkt 
+:      020155 l2cap_disconnect_hid_interrupt_now:
+0x4ffa 020156 call l2cap_reset_hid_int_state 
+0x4ffb 020157 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4ffc 020158 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x4ffd 020166 branch l2cap_send_disconnect_rsp_pkt 
+:      020168 l2cap_disconnect_sdp_now:
+0x4ffe 020169 call l2cap_reset_sdp_channel_state 
+0x4fff 020170 fetch 1 ,mem_upper_sm_ss 
+0x5000 020171 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x5001 020174 branch l2cap_send_disconnect_rsp_pkt 
+:      020175 l2cap_proc_signal_disconnect_req_rfcomm:
+0x5002 020176 copy timeup ,temp 
+0x5003 020177 fetch 2 ,mem_rfcomm_remote_cid 
+0x5004 020178 isub temp ,null 
+0x5005 020179 branch l2cap_disconnect_rfcomm_now ,zero 
+0x5006 020180 call l2cap_reject_command 
+0x5007 020181 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020182 l2cap_disconnect_rfcomm_now:
+0x5008 020183 call l2cap_reset_rfcomm_channel_state 
+0x5009 020184 branch l2cap_send_disconnect_rsp_pkt 
+:      020185 l2cap_send_disconnect_rsp_pkt:
+0x500a 020186 call load_cont_pointers 
+0x500b 020187 setarg signal_disconnect_rsp 
+0x500c 020188 istore 1 ,contw 
+0x500d 020189 copy queue ,pdata 
+0x500e 020190 istore 1 ,contw 
+0x500f 020191 setarg 0x0004 
+0x5010 020192 istore 2 ,contw 
+0x5011 020193 copy rega ,pdata 
+0x5012 020194 istore 2 ,contw 
+0x5013 020195 copy timeup ,pdata 
+0x5014 020196 istore 2 ,contw 
+0x5015 020197 force 8 ,pdata 
+0x5016 020198 branch l2cap_proc_signal_disconnect_req_rtn 
+:      020199 l2cap_proc_signal_disconnect_req_err_rtn:
+0x5017 020200 call load_cont_pointers 
+0x5018 020201 branch l2cap_proc_signal_disconnect_req_rtn 
+:      020202 l2cap_proc_signal_disconnect_req_rtn:
+0x5019 020203 iadd regb ,regb 
+0x501a 020204 branch l2cap_process_one_signal_rtn 
+:      020205 l2cap_proc_signal_disconnect_rsp:
+0x501b 020206 ifetch 1 ,contr 
+0x501c 020207 copy pdata ,queue 
+0x501d 020208 ifetch 2 ,contr 
+0x501e 020209 copy pdata ,rega 
+0x501f 020210 copy regc ,pdata 
+0x5020 020211 isub rega ,regc 
+0x5021 020212 ifetch 2 ,contr 
+0x5022 020213 copy pdata ,timeup 
+0x5023 020214 ifetch 2 ,contr 
+0x5024 020215 copy pdata ,temp 
+0x5025 020216 call save_cont_pointers 
+0x5026 020217 bpatchx patch22_7 ,mem_patch22 
+0x5027 020218 setarg l2cap_sdp_channel 
+0x5028 020219 isub temp ,null 
+0x5029 020220 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x502a 020221 setarg l2cap_rfcomm_channel 
+0x502b 020222 isub temp ,null 
+0x502c 020223 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x502d 020224 setarg l2cap_hid_control_channel 
+0x502e 020225 isub temp ,null 
+0x502f 020226 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x5030 020227 setarg l2cap_hid_interrupt_channel 
+0x5031 020228 isub temp ,null 
+0x5032 020229 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x5033 020230 call l2cap_reject_command 
+0x5034 020231 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      020232 l2cap_proc_signal_disconnect_rsp_sdp:
+0x5035 020233 copy temp ,rega 
+0x5036 020234 copy timeup ,temp 
+0x5037 020235 fetch 2 ,mem_sdp_remote_cid 
+0x5038 020236 isub temp ,null 
+0x5039 020237 call l2cap_reset_sdp_channel_state ,zero 
+0x503a 020238 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020239 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x503b 020240 copy temp ,rega 
+0x503c 020241 copy timeup ,temp 
+0x503d 020242 fetch 2 ,mem_rfcomm_remote_cid 
+0x503e 020243 isub temp ,null 
+0x503f 020244 call l2cap_reset_rfcomm_channel_state ,zero 
+0x5040 020245 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020246 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x5041 020247 copy temp ,rega 
+0x5042 020248 copy timeup ,temp 
+0x5043 020249 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5044 020250 isub temp ,null 
+0x5045 020251 call l2cap_reset_hid_ctrl_state ,zero 
+0x5046 020252 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020253 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5047 020254 copy temp ,rega 
+0x5048 020255 copy timeup ,temp 
+0x5049 020256 fetch 2 ,mem_hid_int_remote_cid 
+0x504a 020257 isub temp ,null 
+0x504b 020258 call l2cap_reset_hid_int_state ,zero 
+0x504c 020259 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020260 l2cap_proc_signal_disconnect_rsp_rtn:
+0x504d 020261 call load_cont_pointers 
+0x504e 020262 branch l2cap_process_one_signal_rtn 
+:      020263 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x504f 020264 branch l2cap_process_one_signal_rtn 
+:      020267 l2cap_proc_signal_echo_req:
+0x5050 020268 ifetch 1 ,contr 
+0x5051 020269 copy pdata ,queue 
+0x5052 020270 ifetch 2 ,contr 
+0x5053 020271 copy pdata ,rega 
+0x5054 020272 iadd contr ,contr 
+0x5055 020273 setarg 9 
+0x5056 020274 istore 1 ,contw 
+0x5057 020275 copy queue ,pdata 
+0x5058 020276 istore 1 ,contw 
+0x5059 020277 force 0x0000 ,pdata 
+0x505a 020278 istore 2 ,contw 
+0x505b 020279 force 4 ,pdata 
+0x505c 020280 iadd regb ,regb 
+0x505d 020281 copy regc ,pdata 
+0x505e 020282 isub rega ,regc 
+0x505f 020283 branch l2cap_process_one_signal_rtn 
+:      020284 l2cap_proc_signal_echo_rsp:
+0x5060 020285 branch l2cap_process_one_signal_rtn 
+:      020287 l2cap_proc_signal_info_rsp:
+0x5061 020288 branch l2cap_process_one_signal_rtn 
+:      020289 l2cap_reject_command:
+0x5062 020290 force 0 ,regb 
+0x5063 020291 call l2cap_get_signal_tx_payload 
+0x5064 020292 setarg signal_cmd_reject 
+0x5065 020293 istore 1 ,contw 
+0x5066 020294 copy queue ,pdata 
+0x5067 020295 istore 1 ,contw 
+0x5068 020296 setarg 2 
+0x5069 020297 istore 2 ,contw 
+0x506a 020298 setarg cmd_not_understood 
+0x506b 020299 istore 2 ,contw 
+0x506c 020300 increase 6 ,regb 
+0x506d 020301 arg 4 ,regc 
+0x506e 020302 branch l2cap_process_one_signal_rtn 
+:      020306 l2cap_reset_rfcomm_channel_state:
+0x506f 020307 setarg 0 
+0x5070 020308 store 2 ,mem_rfcomm_tx_pkt_length 
+0x5071 020309 store 2 ,mem_rfcomm_remote_cid 
+0x5072 020310 jam 0 ,mem_rfcomm_state 
+0x5073 020311 rtn 
+:      020312 l2cap_reset_sdp_channel_state:
+0x5074 020313 setarg 0 
+0x5075 020314 store 2 ,mem_sdp_tx_pkt_length 
+0x5076 020315 store 2 ,mem_sdp_remote_cid 
+0x5077 020316 jam 0 ,mem_sdp_state 
+0x5078 020317 rtn 
+:      020318 l2cap_reset_hid_ctrl_state:
+0x5079 020319 setarg 0 
+0x507a 020320 store 2 ,mem_hid_ctrl_remote_cid 
+0x507b 020321 jam 0 ,mem_hid_control_state 
+0x507c 020322 fetch 1 ,mem_hid_interrupt_state 
+0x507d 020323 beq 0 ,l2cap_reset_hid_disconnected 
+0x507e 020324 rtn 
+:      020326 l2cap_reset_hid_int_state:
+0x507f 020327 setarg 0 
+0x5080 020328 store 2 ,mem_hid_int_remote_cid 
+0x5081 020329 jam 0 ,mem_hid_interrupt_state 
+0x5082 020330 fetch 1 ,mem_hid_control_state 
+0x5083 020331 beq 0 ,l2cap_reset_hid_disconnected 
+0x5084 020332 rtn 
+:      020334 l2cap_reset_hid_disconnected:
+0x5085 020335 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5086 020336 branch ui_ipc_send_event 
+:      020338 l2cap_disconnect_interrupt_req:
+0x5087 020339 fetch 1 ,mem_control_tasks 
+0x5088 020340 set0 l2cap_disconnect_interrupt ,pdata 
+0x5089 020341 store 1 ,mem_control_tasks 
+0x508a 020342 fetch 2 ,mem_hid_int_remote_cid 
+0x508b 020343 rtn blank 
+0x508c 020344 call l2cap_malloc_signal_channel 
+0x508d 020345 fetch 2 ,mem_hid_int_remote_cid 
+0x508e 020346 copy pdata ,rega 
+0x508f 020347 force l2cap_hid_interrupt_channel ,regb 
+0x5090 020348 branch l2cap_generate_disconnect_req 
+:      020349 l2cap_disconnect_control_req:
+0x5091 020350 fetch 1 ,mem_control_tasks 
+0x5092 020351 set0 l2cap_disconnect_control ,pdata 
+0x5093 020352 store 1 ,mem_control_tasks 
+0x5094 020353 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5095 020354 rtn blank 
+0x5096 020355 call l2cap_malloc_signal_channel 
+0x5097 020356 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5098 020357 copy pdata ,rega 
+0x5099 020358 force l2cap_hid_control_channel ,regb 
+:      020359 l2cap_generate_disconnect_req:
+0x509a 020360 call l2cap_get_req_id 
+0x509b 020361 call l2cap_get_signal_tx_payload 
+0x509c 020362 force signal_disconnect_req ,pdata 
+0x509d 020363 istore 1 ,contw 
+0x509e 020364 fetch 1 ,mem_ml2cap_comm_id 
+0x509f 020365 istore 1 ,contw 
+0x50a0 020366 setarg 0x0004 
+0x50a1 020367 istore 2 ,contw 
+0x50a2 020368 copy rega ,pdata 
+0x50a3 020369 istore 2 ,contw 
+0x50a4 020370 copy regb ,pdata 
+0x50a5 020371 istore 2 ,contw 
+0x50a6 020372 force 0x08 ,temp 
+0x50a7 020373 branch ml2cap_send_signal 
+:      020375 ml2cap_send_signal_connect_req:
+0x50a8 020376 bpatchx patch23_0 ,mem_patch23 
+0x50a9 020377 call l2cap_get_req_id 
+0x50aa 020378 call l2cap_get_signal_tx_payload 
+0x50ab 020379 setarg signal_connect_req 
+0x50ac 020380 istore 1 ,contw 
+0x50ad 020381 fetch 1 ,mem_ml2cap_comm_id 
+0x50ae 020382 istore 1 ,contw 
+0x50af 020383 setarg 0x0004 
+0x50b0 020384 istore 2 ,contw 
+0x50b1 020385 copy temp ,pdata 
+0x50b2 020386 istore 2 ,contw 
+0x50b3 020387 copy timeup ,pdata 
+0x50b4 020388 istore 2 ,contw 
+0x50b5 020389 arg 8 ,temp 
+0x50b6 020390 branch ml2cap_send_signal 
+:      020391 ml2cap_send_signal_config_req:
+0x50b7 020392 bpatchx patch23_1 ,mem_patch23 
+0x50b8 020393 call l2cap_get_req_id 
+0x50b9 020394 call l2cap_get_signal_tx_payload 
+0x50ba 020395 setarg signal_config_req 
+0x50bb 020396 istore 1 ,contw 
+0x50bc 020397 fetch 1 ,mem_ml2cap_comm_id 
+0x50bd 020398 istore 1 ,contw 
+0x50be 020399 setarg 0x0008 
+0x50bf 020400 istore 2 ,contw 
+0x50c0 020402 copy temp ,pdata 
+0x50c1 020404 istore 2 ,contw 
+0x50c2 020405 setarg 0x0000 
+0x50c3 020406 istore 2 ,contw 
+0x50c4 020407 setarg 0x01 
+0x50c5 020408 istore 1 ,contw 
+0x50c6 020409 setarg 0x02 
+0x50c7 020410 istore 1 ,contw 
+0x50c8 020411 setarg l2cap_config_mtu_rfcomm 
+0x50c9 020412 istore 2 ,contw 
+0x50ca 020413 arg 0xc ,temp 
+0x50cb 020414 branch ml2cap_send_signal 
+:      020415 ml2cap_send_signal_disconn_req:
+0x50cc 020416 bpatchx patch23_2 ,mem_patch23 
+0x50cd 020417 call l2cap_get_req_id 
+0x50ce 020418 call l2cap_get_signal_tx_payload 
+0x50cf 020419 setarg signal_disconnect_req 
+0x50d0 020420 istore 1 ,contw 
+0x50d1 020421 fetch 1 ,mem_ml2cap_comm_id 
+0x50d2 020422 increase 1 ,pdata 
+0x50d3 020423 copy contw ,rega 
+0x50d4 020424 store 1 ,mem_ml2cap_comm_id 
+0x50d5 020425 copy rega ,contw 
+0x50d6 020426 istore 1 ,contw 
+0x50d7 020427 setarg 0x0004 
+0x50d8 020428 istore 2 ,contw 
+0x50d9 020429 copy temp ,pdata 
+0x50da 020430 istore 2 ,contw 
+0x50db 020431 copy timeup ,pdata 
+0x50dc 020432 istore 2 ,contw 
+0x50dd 020433 arg 0x8 ,temp 
+:      020436 ml2cap_send_signal:
+0x50de 020437 storet 2 ,mem_l2cap_signal_tx_length 
+0x50df 020438 copy temp ,pdata 
+0x50e0 020439 branch l2cap_malloc_discard ,blank 
+0x50e1 020440 call l2cap_get_signal_tx_buff 
+0x50e2 020441 fetch 2 ,mem_l2cap_signal_tx_length 
+0x50e3 020442 istore 2 ,contw 
+0x50e4 020443 force l2cap_signal_channel ,pdata 
+0x50e5 020444 istore 2 ,contw 
+0x50e6 020445 rtn 
+:      020447 msdp_send_req_done:
+0x50e7 020448 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50e8 020449 branch assert ,blank 
+0x50e9 020450 call l2cap_get_sdp_tx_buff 
+0x50ea 020451 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50eb 020452 istore 2 ,contw 
+0x50ec 020453 fetch 2 ,mem_sdp_remote_cid 
+0x50ed 020454 istore 2 ,contw 
+0x50ee 020455 rtn 
+:      020456 ml2cap_rx_multiplexing:
+0x50ef 020457 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50f0 020458 branch l2cap_rx_reset_state ,blank 
+0x50f1 020459 bpatchx patch23_3 ,mem_patch23 
+0x50f2 020460 fetch 1 ,mem_l2cap_rx_cid 
+0x50f3 020461 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x50f4 020462 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x50f5 020463 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x50f6 020464 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x50f7 020465 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x50f8 020466 branch l2cap_rx_reset_state 
+:      020468 ml2cap_call_proc_signal:
+0x50f9 020469 bpatchx patch23_4 ,mem_patch23 
+0x50fa 020470 call l2cap_malloc_signal_channel 
+0x50fb 020471 force 0 ,regb 
+0x50fc 020472 call l2cap_get_signal_tx_payload 
+0x50fd 020473 copy pdata ,contw 
+0x50fe 020474 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50ff 020475 copy pdata ,regc 
+0x5100 020476 fetch 2 ,mem_l2cap_payload_ptr 
+0x5101 020477 iforce contr 
+:      020478 ml2cap_proc_one_comm_loop:
+0x5102 020479 call ml2cap_proc_one_comm 
+0x5103 020480 increase -4 ,regc 
+0x5104 020481 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x5105 020482 copy regb ,temp 
+0x5106 020483 call ml2cap_send_signal 
+0x5107 020484 branch l2cap_rx_reset_state 
+:      020486 ml2cap_proc_one_comm:
+0x5108 020487 ifetch 1 ,contr 
+0x5109 020488 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x510a 020489 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x510b 020490 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x510c 020491 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x510d 020492 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x510e 020493 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x510f 020494 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x5110 020495 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x5111 020496 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x5112 020497 branch ml2cap_proc_send_reject 
+:      020499 ml2cap_proc_signal_connect_req:
+0x5113 020500 call save_cont_pointers 
+0x5114 020502 call load_cont_pointers 
+0x5115 020503 branch l2cap_proc_signal_connect_req 
+:      020504 ml2cap_proc_signal_cmd_reject:
+0x5116 020505 ifetch 1 ,contr 
+0x5117 020506 copy pdata ,queue 
+0x5118 020507 ifetch 2 ,contr 
+0x5119 020508 copy pdata ,rega 
+0x511a 020509 copy regc ,pdata 
+0x511b 020510 isub rega ,regc 
+:      020511 mvptr:
+0x511c 020512 ifetch 1 ,contr 
+0x511d 020513 increase -1 ,rega 
+0x511e 020514 nbranch mvptr ,zero 
+0x511f 020515 rtn 
+:      020516 ml2cap_proc_signal_connect_rsp:
+0x5120 020517 ifetch 1 ,contr 
+0x5121 020518 copy pdata ,queue 
+0x5122 020519 ifetch 2 ,contr 
+0x5123 020520 copy pdata ,rega 
+0x5124 020521 ifetch 2 ,contr 
+0x5125 020522 copy pdata ,timeup 
+0x5126 020523 ifetch 2 ,contr 
+0x5127 020524 copy pdata ,temp 
+0x5128 020525 ifetch 2 ,contr 
+0x5129 020526 sub pdata ,0 ,null 
+0x512a 020527 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x512b 020528 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x512c 020529 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x512d 020530 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      020531 ml2cap_proc_signal_connect_refused_result:
+0x512e 020532 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x512f 020533 call ui_ipc_send_event 
+:      020534 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x5130 020535 ifetch 2 ,contr 
+0x5131 020536 branch mnosucc 
+:      020537 ml2cap_proc_signal_connect_rsp_sucessful:
+0x5132 020538 call save_cont_pointers 
+0x5133 020542 bpatchx patch23_5 ,mem_patch23 
+0x5134 020543 setarg l2cap_sdp_channel 
+0x5135 020544 isub temp ,null 
+0x5136 020545 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5137 020546 setarg l2cap_rfcomm_channel 
+0x5138 020547 isub temp ,null 
+0x5139 020548 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x513a 020549 setarg l2cap_hid_interrupt_channel 
+0x513b 020550 isub temp ,null 
+0x513c 020551 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x513d 020552 setarg l2cap_hid_control_channel 
+0x513e 020553 isub temp ,null 
+0x513f 020554 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x5140 020555 branch mnosucc 
+:      020556 ml2cap_proc_signal_connect_rsp_sdp:
+0x5141 020557 copy timeup ,pdata 
+0x5142 020558 store 2 ,mem_sdp_remote_cid 
+0x5143 020559 fetch 1 ,mem_sdp_state 
+0x5144 020560 set1 l2cap_channel_state_conn_res 
+0x5145 020561 store 1 ,mem_sdp_state 
+0x5146 020562 branch mnosucc1 
+:      020563 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5147 020564 copy timeup ,pdata 
+0x5148 020565 store 2 ,mem_rfcomm_remote_cid 
+0x5149 020566 fetch 1 ,mem_rfcomm_state 
+0x514a 020567 set1 l2cap_channel_state_conn_res 
+0x514b 020568 store 1 ,mem_rfcomm_state 
+0x514c 020569 branch mnosucc1 
+:      020570 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x514d 020571 copy timeup ,pdata 
+0x514e 020572 store 2 ,mem_hid_ctrl_remote_cid 
+0x514f 020573 fetch 1 ,mem_hid_control_state 
+0x5150 020574 set1 l2cap_channel_state_conn_res 
+0x5151 020575 store 1 ,mem_hid_control_state 
+0x5152 020576 branch mnosucc1 
+:      020577 ml2cap_proc_signal_connect_rsp_hid_int:
+0x5153 020578 copy timeup ,pdata 
+0x5154 020579 store 2 ,mem_hid_int_remote_cid 
+0x5155 020580 fetch 1 ,mem_hid_interrupt_state 
+0x5156 020581 set1 l2cap_channel_state_conn_res 
+0x5157 020582 store 1 ,mem_hid_interrupt_state 
+:      020585 mnosucc1:
+0x5158 020586 call load_cont_pointers 
+:      020587 mnosucc:
+0x5159 020588 copy regc ,pdata 
+0x515a 020589 isub rega ,regc 
+0x515b 020590 rtn 
+:      020592 ml2cap_proc_signal_config_rsp:
+0x515c 020593 ifetch 1 ,contr 
+0x515d 020594 copy pdata ,queue 
+0x515e 020595 ifetch 2 ,contr 
+0x515f 020596 copy pdata ,rega 
+0x5160 020597 copy regc ,pdata 
+0x5161 020598 isub rega ,regc 
+0x5162 020599 ifetch 2 ,contr 
+0x5163 020600 copy pdata ,timeup 
+0x5164 020601 ifetch 2 ,contr 
+0x5165 020602 ifetch 2 ,contr 
+0x5166 020603 nbranch mcrsdone1 ,blank 
+0x5167 020604 call save_cont_pointers 
+0x5168 020608 copy timeup ,temp 
+0x5169 020609 bpatchx patch23_6 ,mem_patch23 
+0x516a 020610 setarg l2cap_sdp_channel 
+0x516b 020611 isub temp ,null 
+0x516c 020612 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x516d 020613 setarg l2cap_rfcomm_channel 
+0x516e 020614 isub temp ,null 
+0x516f 020615 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x5170 020616 setarg l2cap_hid_control_channel 
+0x5171 020617 isub temp ,null 
+0x5172 020618 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x5173 020619 setarg l2cap_hid_interrupt_channel 
+0x5174 020620 isub temp ,null 
+0x5175 020621 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      020622 ml2cap_proc_signal_config_rsp_sdp:
+0x5176 020623 fetch 1 ,mem_sdp_state 
+0x5177 020624 set1 l2cap_channel_state_rcv_cfg_res 
+0x5178 020625 store 1 ,mem_sdp_state 
+0x5179 020626 rtn 
+:      020627 ml2cap_proc_signal_config_rsp_rfcomm:
+0x517a 020628 fetch 1 ,mem_rfcomm_state 
+0x517b 020629 set1 l2cap_channel_state_rcv_cfg_res 
+0x517c 020630 store 1 ,mem_rfcomm_state 
+0x517d 020631 rtn 
+:      020632 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x517e 020633 fetch 1 ,mem_hid_control_state 
+0x517f 020634 set1 l2cap_channel_state_rcv_cfg_res 
+0x5180 020635 store 1 ,mem_hid_control_state 
+0x5181 020636 rtn 
+:      020637 ml2cap_proc_signal_config_rsp_hid_int:
+0x5182 020638 fetch 1 ,mem_hid_interrupt_state 
+0x5183 020639 set1 l2cap_channel_state_rcv_cfg_res 
+0x5184 020640 store 1 ,mem_hid_interrupt_state 
+0x5185 020641 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5186 020642 branch ui_ipc_send_event 
+:      020645 mcfrsdone:
+0x5187 020646 call load_cont_pointers 
+:      020647 mcrsdone1:
+0x5188 020648 increase -6 ,rega 
+:      020649 mloop2:
+0x5189 020650 branch mcrsdone ,zero 
+0x518a 020651 increase 1 ,contr 
+0x518b 020652 increase -1 ,rega 
+0x518c 020653 branch mloop2 
+:      020654 mcrsdone:
+0x518d 020655 rtn 
+:      020656 ml2cap_proc_signal_config_req:
+0x518e 020657 ifetch 1 ,contr 
+0x518f 020658 copy pdata ,queue 
+0x5190 020659 ifetch 2 ,contr 
+0x5191 020660 copy pdata ,rega 
+0x5192 020661 copy regc ,pdata 
+0x5193 020662 isub rega ,regc 
+0x5194 020663 ifetch 2 ,contr 
+0x5195 020664 increase 2 ,contr 
+0x5196 020665 copy pdata ,temp 
+0x5197 020666 setarg signal_config_rsp 
+0x5198 020667 istore 1 ,contw 
+0x5199 020668 copy queue ,pdata 
+0x519a 020669 istore 1 ,contw 
+0x519b 020670 increase 2 ,rega 
+0x519c 020671 copy rega ,pdata 
+0x519d 020672 istore 2 ,contw 
+0x519e 020673 call save_cont_pointers 
+0x519f 020674 bpatchx patch23_7 ,mem_patch23 
+0x51a0 020675 setarg l2cap_sdp_channel 
+0x51a1 020676 isub temp ,null 
+0x51a2 020677 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x51a3 020678 setarg l2cap_rfcomm_channel 
+0x51a4 020679 isub temp ,null 
+0x51a5 020680 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x51a6 020681 setarg l2cap_hid_control_channel 
+0x51a7 020682 isub temp ,null 
+0x51a8 020683 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x51a9 020684 setarg l2cap_hid_interrupt_channel 
+0x51aa 020685 isub temp ,null 
+0x51ab 020686 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x51ac 020687 branch mcfgrq_done 
+:      020688 ml2cap_proc_signal_config_req_sdp:
+0x51ad 020689 fetch 1 ,mem_sdp_state 
+0x51ae 020690 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51af 020691 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51b0 020692 store 1 ,mem_sdp_state 
+0x51b1 020693 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x51b2 020694 fetcht 1 ,mem_control_tasks 
+0x51b3 020695 set1 l2cap_init_config_req ,temp 
+0x51b4 020696 storet 1 ,mem_control_tasks 
+0x51b5 020697 copy queue ,pdata 
+0x51b6 020698 increase 1 ,pdata 
+0x51b7 020699 store 1 ,mem_config_identifier 
+0x51b8 020700 fetch 1 ,mem_sdp_state 
+0x51b9 020701 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x51ba 020702 store 1 ,mem_sdp_state 
+:      020703 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x51bb 020704 fetch 2 ,mem_sdp_remote_cid 
+0x51bc 020705 store 2 ,mem_config_req_dest_cid 
+0x51bd 020706 branch mcfgrq_done 
+:      020707 ml2cap_proc_signal_config_req_rfcomm:
+0x51be 020708 fetch 1 ,mem_rfcomm_state 
+0x51bf 020709 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c0 020710 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c1 020711 store 1 ,mem_rfcomm_state 
+0x51c2 020712 fetch 2 ,mem_rfcomm_remote_cid 
+0x51c3 020713 branch mcfgrq_done 
+:      020714 ml2cap_proc_signal_config_req_hid_ctrl:
+0x51c4 020715 fetch 1 ,mem_hid_control_state 
+0x51c5 020716 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c6 020717 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c7 020718 store 1 ,mem_hid_control_state 
+0x51c8 020719 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x51c9 020720 branch mcfgrq_done 
+:      020721 ml2cap_proc_signal_config_req_hid_int:
+0x51ca 020722 fetch 1 ,mem_hid_interrupt_state 
+0x51cb 020723 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51cc 020724 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51cd 020725 store 1 ,mem_hid_interrupt_state 
+0x51ce 020726 fetch 2 ,mem_hid_int_remote_cid 
+:      020729 mcfgrq_done:
+0x51cf 020730 copy pdata ,timeup 
+0x51d0 020731 call load_cont_pointers 
+0x51d1 020733 copy timeup ,pdata 
+0x51d2 020735 istore 2 ,contw 
+0x51d3 020736 force 0x0000 ,pdata 
+0x51d4 020737 istore 2 ,contw 
+0x51d5 020738 force 0x0000 ,pdata 
+0x51d6 020739 istore 2 ,contw 
+0x51d7 020740 force 10 ,pdata 
+0x51d8 020741 iadd regb ,regb 
+0x51d9 020742 increase -6 ,rega 
+:      020743 mloop1:
+0x51da 020744 branch mcrqdone ,zero 
+0x51db 020745 ifetch 1 ,contr 
+0x51dc 020746 istore 1 ,contw 
+0x51dd 020747 increase 1 ,regb 
+0x51de 020748 increase -1 ,rega 
+0x51df 020749 branch mloop1 
+:      020750 mcrqdone:
+0x51e0 020751 rtn 
+:      020752 ml2cap_proc_signal_disconn_req:
+0x51e1 020753 ifetch 1 ,contr 
+0x51e2 020754 copy pdata ,queue 
+0x51e3 020755 ifetch 2 ,contr 
+0x51e4 020756 copy pdata ,rega 
+0x51e5 020757 copy regc ,pdata 
+0x51e6 020758 isub rega ,regc 
+0x51e7 020760 ifetch 2 ,contr 
+0x51e8 020761 copy pdata ,rega 
+0x51e9 020762 ifetch 2 ,contr 
+0x51ea 020763 copy pdata ,timeup 
+0x51eb 020764 call save_cont_pointers 
+0x51ec 020765 bpatchx patch24_0 ,mem_patch24 
+0x51ed 020766 setarg l2cap_sdp_channel 
+0x51ee 020767 copy rega ,temp 
+0x51ef 020768 isub temp ,null 
+0x51f0 020769 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x51f1 020770 setarg l2cap_hid_control_channel 
+0x51f2 020771 copy rega ,temp 
+0x51f3 020772 isub temp ,null 
+0x51f4 020773 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x51f5 020774 setarg l2cap_hid_interrupt_channel 
+0x51f6 020775 copy rega ,temp 
+0x51f7 020776 isub temp ,null 
+0x51f8 020777 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x51f9 020778 branch mclsrfc 
+:      020779 ml2cap_proc_signal_disconn_sdp:
+0x51fa 020780 setarg 0x0000 
+0x51fb 020781 store 2 ,mem_sdp_tx_pkt_length 
+0x51fc 020782 store 2 ,mem_sdp_remote_cid 
+0x51fd 020783 store 1 ,mem_sdp_state 
+0x51fe 020784 branch mclssdp 
+:      020785 ml2cap_proc_signal_disconn_hid_ctrl:
+0x51ff 020786 call l2cap_reset_hid_ctrl_state 
+0x5200 020787 branch mclssdp 
+:      020788 ml2cap_proc_signal_disconn_hid_int:
+0x5201 020789 call l2cap_reset_hid_int_state 
+0x5202 020795 branch mclssdp 
+:      020796 mclsrfc:
+0x5203 020797 setarg 0x0000 
+0x5204 020798 store 2 ,mem_rfcomm_tx_pkt_length 
+:      020799 mclssdp:
+0x5205 020800 call load_cont_pointers 
+0x5206 020801 setarg signal_disconnect_rsp 
+0x5207 020802 istore 1 ,contw 
+0x5208 020803 copy queue ,pdata 
+0x5209 020804 istore 1 ,contw 
+0x520a 020805 setarg 0x0004 
+0x520b 020806 istore 2 ,contw 
+0x520c 020807 copy rega ,pdata 
+0x520d 020808 istore 2 ,contw 
+0x520e 020809 copy timeup ,pdata 
+0x520f 020810 istore 2 ,contw 
+0x5210 020811 force 8 ,pdata 
+0x5211 020812 iadd regb ,regb 
+0x5212 020813 rtn 
+:      020815 ml2cap_proc_signal_disconn_rsp:
+0x5213 020816 ifetch 1 ,contr 
+0x5214 020817 copy pdata ,queue 
+0x5215 020818 ifetch 2 ,contr 
+0x5216 020819 copy pdata ,rega 
+0x5217 020820 ifetch 2 ,contr 
+0x5218 020821 copy pdata ,timeup 
+0x5219 020822 ifetch 2 ,contr 
+0x521a 020823 copy pdata ,temp 
+0x521b 020824 call save_cont_pointers 
+0x521c 020825 bpatchx patch24_1 ,mem_patch24 
+0x521d 020826 fetch 1 ,mem_ml2cap_comm_id 
+0x521e 020827 icompare 0xff ,queue 
+0x521f 020828 nbranch mdisdone ,true 
+0x5220 020829 setarg l2cap_sdp_channel 
+0x5221 020830 isub temp ,null 
+0x5222 020831 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x5223 020832 setarg l2cap_rfcomm_channel 
+0x5224 020833 isub temp ,null 
+0x5225 020834 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5226 020835 branch mdisdone 
+:      020836 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5227 020837 jam 0 ,mem_sdp_remote_cid 
+0x5228 020838 jam 0 ,mem_sdp_state 
+0x5229 020839 branch mdisdone 
+:      020840 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      020843 mdisdone:
+0x522a 020844 call load_cont_pointers 
+0x522b 020845 copy regc ,pdata 
+0x522c 020846 isub rega ,regc 
+0x522d 020847 rtn 
+:      020849 ml2cap_proc_send_reject:
+0x522e 020850 setarg signal_cmd_reject 
+0x522f 020851 istore 1 ,contw 
+0x5230 020852 ifetch 1 ,contr 
+0x5231 020853 istore 1 ,contw 
+0x5232 020854 setarg 0x0002 
+0x5233 020855 istore 2 ,contw 
+0x5234 020856 setarg 0x0000 
+0x5235 020857 istore 2 ,contw 
+0x5236 020858 setarg 0x0006 
+0x5237 020859 iadd regb ,regb 
+0x5238 020860 force 4 ,regc 
+0x5239 020861 rtn 
+:      020864 l2cap_get_req_id:
+0x523a 020865 fetch 1 ,mem_ml2cap_comm_id 
+0x523b 020866 increase 1 ,pdata 
+0x523c 020867 bne 0 ,l2cap_get_req_id_ok 
+0x523d 020868 increase 1 ,pdata 
+:      020869 l2cap_get_req_id_ok:
+0x523e 020870 store 1 ,mem_ml2cap_comm_id 
+0x523f 020871 rtn 
+:      020881 l2cap_malloc:
+0x5240 020882 bpatchx patch24_2 ,mem_patch24 
+0x5241 020883 arg 0 ,regb 
+0x5242 020884 call l2cap_malloc_is_fifo_full 
+0x5243 020885 nbranch assert ,blank 
+0x5244 020886 call l2cap_malloc_get_full_map 
+0x5245 020887 arg mem_tx_buff0 ,regb 
+0x5246 020888 arg 0 ,queue 
+:      020889 l2cap_malloc_loop:
+0x5247 020890 fetcht 1 ,mem_used_map 
+0x5248 020891 qisolate1 temp 
+0x5249 020892 branch l2cap_malloc_next ,true 
+0x524a 020893 call l2cap_malloc_enough 
+0x524b 020894 sub timeup ,0 ,null 
+0x524c 020895 branch l2cap_malloc_next ,positive 
+0x524d 020896 call l2cap_malloc_into_fifo 
+0x524e 020897 branch l2cap_malloc_rtn 
+:      020898 l2cap_malloc_next:
+0x524f 020899 increase 128 ,regb 
+0x5250 020900 increase 1 ,queue 
+0x5251 020901 setarg 8 
+0x5252 020902 isub queue ,null 
+0x5253 020903 branch l2cap_malloc_loop ,positive 
+0x5254 020904 arg 0 ,regb 
+:      020905 l2cap_malloc_rtn:
+0x5255 020906 copy regb ,pdata 
+0x5256 020907 branch assert ,blank 
+0x5257 020908 rtn 
+:      020916 l2cap_malloc_fifo_out:
+0x5258 020917 bpatchx patch24_3 ,mem_patch24 
+0x5259 020918 call l2cap_malloc_fifo_get_first_ptr 
+0x525a 020919 increase 1 ,contr 
+0x525b 020920 ifetch 2 ,contr 
+0x525c 020921 rtn 
+:      020927 l2cap_malloc_free:
+0x525d 020928 bpatchx patch24_4 ,mem_patch24 
+0x525e 020929 call l2cap_malloc_fifo_get_first_ptr 
+0x525f 020930 copy contr ,contw 
+0x5260 020931 copy contr ,temp 
+0x5261 020932 setarg 0 
+0x5262 020933 istore 3 ,contw 
+0x5263 020934 rtn 
+:      020939 l2cap_malloc_discard:
+0x5264 020940 bpatchx patch24_5 ,mem_patch24 
+0x5265 020941 call l2cap_malloc_is_fifo_empty 
+0x5266 020942 branch assert ,blank 
+0x5267 020943 fetch 3 ,mem_tx_fifo2 
+0x5268 020944 store 3 ,mem_tx_fifo3 
+0x5269 020945 fetch 3 ,mem_tx_fifo1 
+0x526a 020946 store 3 ,mem_tx_fifo2 
+0x526b 020947 fetch 3 ,mem_tx_fifo0 
+0x526c 020948 store 3 ,mem_tx_fifo1 
+0x526d 020949 rtn 
+:      020955 l2cap_malloc_is_fifo_full:
+0x526e 020956 bpatchx patch24_6 ,mem_patch24 
+0x526f 020957 fetch 3 ,mem_tx_fifo0 
+0x5270 020958 rtn 
+:      020964 l2cap_malloc_is_fifo_nearly_full:
+0x5271 020965 bpatchx patch24_7 ,mem_patch24 
+0x5272 020966 fetch 3 ,mem_tx_fifo1 
+0x5273 020967 rtn 
+:      020973 l2cap_malloc_is_fifo_empty:
+0x5274 020974 bpatchx patch25_0 ,mem_patch25 
+0x5275 020975 fetch 3 ,mem_tx_fifo3 
+0x5276 020976 rtn 
+:      020981 l2cap_malloc_fifo_get_first_ptr:
+0x5277 020982 call l2cap_malloc_is_fifo_empty 
+0x5278 020983 branch assert ,blank 
+0x5279 020984 arg mem_tx_fifo0 ,contr 
+:      020985 l2cap_malloc_free_loop:
+0x527a 020986 ifetch 3 ,contr 
+0x527b 020987 branch l2cap_malloc_free_loop ,blank 
+0x527c 020988 increase -3 ,contr 
+0x527d 020989 rtn 
+:      020996 l2cap_malloc_get_full_map:
+0x527e 020997 bpatchx patch25_1 ,mem_patch25 
+0x527f 020998 arg 4 ,loopcnt 
+0x5280 020999 arg mem_tx_fifo0_map ,contr 
+0x5281 021000 arg 0 ,temp 
+:      021001 l2cap_malloc_get_full_map_loop:
+0x5282 021002 ifetch 3 ,contr 
+0x5283 021003 and pdata ,0xff ,pdata 
+0x5284 021004 ior temp ,temp 
+0x5285 021005 loop l2cap_malloc_get_full_map_loop 
+0x5286 021006 storet 1 ,mem_used_map 
+0x5287 021007 rtn 
+:      021015 l2cap_malloc_into_fifo:
+0x5288 021016 bpatchx patch25_2 ,mem_patch25 
+0x5289 021017 call l2cap_malloc_is_fifo_full 
+0x528a 021018 nbranch assert ,blank 
+0x528b 021019 call l2cap_malloc_is_fifo_empty 
+0x528c 021020 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x528d 021021 fetch 3 ,mem_tx_fifo1 
+0x528e 021022 store 3 ,mem_tx_fifo0 
+0x528f 021023 ifetch 3 ,contr 
+0x5290 021024 istore 3 ,contw 
+0x5291 021025 ifetch 3 ,contr 
+0x5292 021026 istore 3 ,contw 
+0x5293 021027 setarg 0 
+0x5294 021028 istore 3 ,contw 
+:      021029 l2cap_malloc_into_fifo_no_push:
+0x5295 021030 arg 0 ,temp 
+0x5296 021031 copy timeup ,pdata 
+0x5297 021032 iadd queue ,pdata 
+:      021033 l2cap_malloc_into_fifo_loop:
+0x5298 021034 qset1 temp 
+0x5299 021035 increase 1 ,queue 
+0x529a 021036 isub queue ,null 
+0x529b 021037 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x529c 021039 lshift8 regb ,pdata 
+0x529d 021040 ior temp ,pdata 
+0x529e 021041 store 3 ,mem_tx_fifo3 
+0x529f 021042 rtn 
+:      021052 l2cap_malloc_enough:
+0x52a0 021053 bpatchx patch25_3 ,mem_patch25 
+0x52a1 021054 call l2cap_malloc_get_full_map 
+0x52a2 021055 copy queue ,regc 
+0x52a3 021056 arg 0 ,temp 
+0x52a4 021057 arg 0 ,timeup 
+:      021059 l2cap_malloc_enough_loop:
+0x52a5 021060 copy queue ,pdata 
+0x52a6 021061 beq 8 ,l2cap_malloc_enough_end 
+0x52a7 021062 fetch 1 ,mem_used_map 
+0x52a8 021063 qisolate1 pdata 
+0x52a9 021064 branch l2cap_malloc_enough_end ,true 
+0x52aa 021065 increase 128 ,temp 
+0x52ab 021066 increase 1 ,queue 
+0x52ac 021067 copy rega ,pdata 
+0x52ad 021068 isub temp ,null 
+0x52ae 021069 branch l2cap_malloc_enough_end ,zero 
+0x52af 021070 branch l2cap_malloc_enough_loop ,positive 
+:      021071 l2cap_malloc_enough_end:
+0x52b0 021072 copy temp ,pdata 
+0x52b1 021073 isub rega ,null 
+0x52b2 021074 nbranch l2cap_malloc_enough_rtn ,positive 
+0x52b3 021075 copy queue ,pdata 
+0x52b4 021076 copy regc ,temp 
+0x52b5 021077 isub temp ,timeup 
+:      021078 l2cap_malloc_enough_rtn:
+0x52b6 021079 copy regc ,queue 
+0x52b7 021080 rtn 
+:      021083 l2cap_malloc_signal_channel:
+0x52b8 021084 bpatchx patch25_4 ,mem_patch25 
+0x52b9 021085 arg l2cap_signal_malloc_size ,rega 
+0x52ba 021086 call l2cap_malloc 
+0x52bb 021087 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52bc 021088 increase 4 ,pdata 
+0x52bd 021089 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52be 021090 setarg 0 
+0x52bf 021091 store 2 ,mem_l2cap_signal_tx_length 
+0x52c0 021092 rtn 
+:      021094 l2cap_get_signal_tx_buff:
+0x52c1 021095 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52c2 021096 branch l2cap_util_pdata_to_contw 
+:      021098 l2cap_get_signal_tx_payload:
+0x52c3 021099 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52c4 021100 branch l2cap_util_pdata_to_contw 
+:      021103 l2cap_malloc_sdp_channel:
+0x52c5 021104 bpatchx patch25_5 ,mem_patch25 
+0x52c6 021105 arg sdp_malloc_size ,rega 
+0x52c7 021106 call l2cap_malloc 
+0x52c8 021107 store 2 ,mem_sdp_tx_buff_ptr 
+0x52c9 021108 increase 4 ,pdata 
+0x52ca 021109 store 2 ,mem_sdp_tx_payload_ptr 
+0x52cb 021110 setarg 0 
+0x52cc 021111 store 2 ,mem_sdp_tx_pkt_length 
+0x52cd 021112 rtn 
+:      021114 l2cap_get_sdp_tx_buff:
+0x52ce 021115 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x52cf 021116 branch l2cap_util_pdata_to_contw 
+:      021118 l2cap_get_sdp_tx_payload:
+0x52d0 021119 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x52d1 021120 branch l2cap_util_pdata_to_contw 
+:      021123 l2cap_malloc_rfcomm_channel:
+0x52d2 021124 bpatchx patch25_6 ,mem_patch25 
+0x52d3 021125 call push_stack 
+0x52d4 021126 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x52d5 021127 call l2cap_malloc_is_fifo_full 
+0x52d6 021128 nrtn blank 
+0x52d7 021129 arg rfcomm_malloc_size ,rega 
+0x52d8 021130 call l2cap_malloc 
+0x52d9 021131 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x52da 021132 increase 4 ,pdata 
+0x52db 021133 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x52dc 021134 setarg 0 
+0x52dd 021135 store 2 ,mem_rfcomm_tx_pkt_length 
+0x52de 021136 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x52df 021137 branch pop_stack 
+:      021139 l2cap_get_rfcomm_tx_buff:
+0x52e0 021140 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x52e1 021141 branch l2cap_util_pdata_to_contw 
+:      021143 l2cap_util_pdata_to_contw:
+0x52e2 021144 branch assert ,blank 
+0x52e3 021145 copy pdata ,contw 
+0x52e4 021146 rtn 
+:      021149 l2cap_lpm_save_calc_len:
+0x52e5 021150 bpatchx patch25_7 ,mem_patch25 
+0x52e6 021151 arg 0 ,regb 
+0x52e7 021152 arg mem_tx_fifo0_map ,rega 
+0x52e8 021153 increase -2 ,rega 
+:      021154 l2cap_lpm_save_calc_len_loop:
+0x52e9 021155 increase 2 ,rega 
+0x52ea 021156 setarg mem_tx_fifo_end 
+0x52eb 021157 isub rega ,null 
+0x52ec 021158 branch l2cap_lpm_save_calc_len_end ,zero 
+0x52ed 021159 ifetch 1 ,rega 
+0x52ee 021160 increase 1 ,rega 
+0x52ef 021161 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x52f0 021162 ifetcht 2 ,rega 
+0x52f1 021163 ifetch 2 ,temp 
+0x52f2 021164 iadd regb ,regb 
+0x52f3 021165 increase 4 ,regb 
+0x52f4 021166 branch l2cap_lpm_save_calc_len_loop 
+:      021167 l2cap_lpm_save_calc_len_end:
+0x52f5 021168 copy regb ,pdata 
+0x52f6 021169 rtn 
+:      021172 l2cap_lpm_get_wake_lock:
+0x52f7 021173 arg wake_lock_l2cap_tx ,queue 
+0x52f8 021174 branch lpm_get_wake_lock 
+:      021176 l2cap_lpm_put_wake_lock:
+0x52f9 021177 arg wake_lock_l2cap_tx ,queue 
+0x52fa 021178 branch lpm_put_wake_lock 
+:      021180 l2cap_lpm_save_txbuf:
+0x52fb 021181 bpatchx patch26_0 ,mem_patch26 
+0x52fc 021182 call l2cap_malloc_get_full_map 
+0x52fd 021183 fetch 1 ,mem_used_map 
+0x52fe 021184 rtn blank 
+0x52ff 021185 call l2cap_lpm_save_calc_len 
+0x5300 021186 arg l2cap_lpm_txbuf_len ,temp 
+0x5301 021187 isub temp ,null 
+0x5302 021188 branch l2cap_lpm_get_wake_lock ,positive 
+0x5303 021189 call l2cap_lpm_put_wake_lock 
+0x5304 021190 arg mem_l2cap_lpm_txbuf ,contw 
+0x5305 021191 arg mem_tx_fifo0 ,rega 
+:      021192 l2cap_lpm_save_txbuf_loop:
+0x5306 021193 setarg mem_tx_fifo_end 
+0x5307 021194 isub rega ,null 
+0x5308 021195 rtn zero 
+0x5309 021196 ifetch 1 ,rega 
+0x530a 021197 increase 1 ,rega 
+0x530b 021198 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x530c 021199 istore 2 ,contw 
+0x530d 021200 increase 2 ,rega 
+0x530e 021201 branch l2cap_lpm_save_txbuf_loop 
+:      021202 l2cap_lpm_save_txbuf_nempty:
+0x530f 021203 ifetch 2 ,rega 
+0x5310 021204 increase 2 ,rega 
+0x5311 021205 copy pdata ,contr 
+0x5312 021206 ifetch 2 ,contr 
+0x5313 021207 istore 2 ,contw 
+0x5314 021208 copy pdata ,loopcnt 
+0x5315 021209 increase 2 ,loopcnt 
+0x5316 021210 call memcpy 
+0x5317 021211 branch l2cap_lpm_save_txbuf_loop 
+:      021213 l2cap_lpm_load_txbuf:
+0x5318 021214 bpatchx patch26_1 ,mem_patch26 
+0x5319 021215 call l2cap_malloc_get_full_map 
+0x531a 021216 fetch 1 ,mem_used_map 
+0x531b 021217 rtn blank 
+0x531c 021218 arg mem_tx_fifo0_ptr ,rega 
+0x531d 021219 increase -3 ,rega 
+0x531e 021220 arg mem_l2cap_lpm_txbuf ,contr 
+:      021221 l2cap_lpm_load_txbuf_loop:
+0x531f 021222 increase 3 ,rega 
+0x5320 021223 setarg mem_tx_fifo_end + 1 
+0x5321 021224 isub rega ,null 
+0x5322 021225 rtn zero 
+0x5323 021226 ifetch 2 ,contr 
+0x5324 021227 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x5325 021228 increase 4 ,pdata 
+0x5326 021229 copy pdata ,loopcnt 
+0x5327 021230 copy contr ,regb 
+0x5328 021231 ifetch 2 ,rega 
+0x5329 021232 copy pdata ,contw 
+0x532a 021233 copy regb ,contr 
+0x532b 021234 increase -2 ,contr 
+0x532c 021235 call memcpy 
+0x532d 021236 branch l2cap_lpm_load_txbuf_loop 
+:      021246 le_init_conn:
+0x532e 021247 bpatchx patch26_2 ,mem_patch26 
+0x532f 021248 disable wake 
+0x5330 021249 jam 1 ,mem_le_conn_handle 
+0x5331 021250 jam 3 ,mem_le_state 
+0x5332 021251 jam 1 ,mem_le_arq 
+0x5333 021252 setarg -1 
+0x5334 021253 store 2 ,mem_le_event_count 
+0x5335 021254 force 0 ,pdata 
+0x5336 021255 store 1 ,mem_le_ch 
+0x5337 021256 store 1 ,mem_le_op 
+0x5338 021257 store 3 ,mem_sniff_rcv 
+0x5339 021258 store 3 ,mem_sniff_lost 
+0x533a 021259 store 5 ,mem_le_pcnt_tx 
+0x533b 021260 set1 39 ,pdata 
+0x533c 021261 store 5 ,mem_le_pcnt_rx 
+0x533d 021262 jam 1 ,mem_le_txheader 
+0x533e 021263 jam 0 ,mem_le_txlen 
+0x533f 021264 branch le_supervision_flush 
+:      021266 le_init_master:
+0x5340 021267 bpatchx patch26_3 ,mem_patch26 
+0x5341 021268 enable master 
+0x5342 021269 jam lemode_master ,mem_le_mode 
+0x5343 021270 jam 1 ,mem_le_att_handle 
+0x5344 021271 jam 1 ,mem_le_search_handle_start 
+0x5345 021272 setarg 0xffff 
+0x5346 021273 store 2 ,mem_le_search_handle_end 
+0x5347 021274 force 0 ,pdata 
+0x5348 021275 store 5 ,mem_le_pcnt_rx 
+0x5349 021276 set1 39 ,pdata 
+0x534a 021277 store 5 ,mem_le_pcnt_tx 
+0x534b 021278 branch le_init_conn 
+:      021281 le_init_slave:
+0x534c 021282 bpatchx patch26_4 ,mem_patch26 
+0x534d 021283 disable master 
+0x534e 021284 setarg 0x17 
+0x534f 021285 store 2 ,mem_le_remote_mtu 
+0x5350 021286 jam lemode_slave ,mem_le_mode 
+0x5351 021287 jam 0 ,mem_le_adv_enable 
+0x5352 021288 jam 0 ,mem_lpm_current_mult 
+0x5353 021289 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5354 021290 jam flag_le_enc_null ,mem_le_enc_state 
+0x5355 021291 fetch 2 ,mem_le_superto 
+0x5356 021292 store 2 ,mem_le_init_superto 
+0x5357 021293 fetch 2 ,mem_le_tsniff 
+0x5358 021294 mul32 pdata ,5 ,pdata 
+0x5359 021295 rshift4 pdata ,pdata 
+0x535a 021296 store 2 ,mem_le_superto 
+0x535b 021297 branch le_init_conn 
+:      021303 le_dispatch:
+0x535c 021304 call le_enable 
+0x535d 021305 call le_scan 
+0x535e 021306 call le_adv 
+0x535f 021307 branch le_disable 
+:      021309 le_conn_dispatch:
+0x5360 021310 bpatchx patch26_5 ,mem_patch26 
+0x5361 021311 call le_enable 
+0x5362 021312 call app_process_ble 
+0x5363 021313 fetch 1 ,mem_le_mode 
+0x5364 021314 beq lemode_master ,le_master_dispatch 
+0x5365 021315 branch le_slave_dispatch 
+:      021321 le_master_dispatch:
+0x5366 021322 bpatchx patch26_6 ,mem_patch26 
+0x5367 021323 enable master 
+0x5368 021324 call le_supervision_update 
+0x5369 021325 branch le_master_disconn ,positive 
+0x536a 021326 call check_ble_disabled 
+0x536b 021327 call le_setup 
+0x536c 021328 call le_prepare_tx 
+0x536d 021329 disable match 
+0x536e 021330 call le_transmit_receive_sifs 
+0x536f 021331 nrtn match 
+0x5370 021332 bpatchx patch26_7 ,mem_patch26 
+0x5371 021333 fetch 1 ,mem_le_conn_rcv 
+0x5372 021334 increase 1 ,pdata 
+0x5373 021335 store 1 ,mem_le_conn_rcv 
+0x5374 021336 call le_acknowledge 
+0x5375 021337 disable master 
+0x5376 021338 rtn 
+:      021340 le_master_disconn:
+0x5377 021341 call le_disconnect 
+0x5378 021342 disable master 
+0x5379 021343 rtn 
+:      021348 le_slave_dispatch:
+0x537a 021349 bpatchx patch27_0 ,mem_patch27 
+0x537b 021350 jam 0 ,mem_le_md_count 
+0x537c 021351 call sp_calc_sequence_256 
+0x537d 021352 call le_secure_connect_sm 
+0x537e 021353 disable attempt 
+0x537f 021354 call le_supervision_update 
+0x5380 021355 branch le_slave_disconn ,positive 
+0x5381 021356 call check_ble_disabled 
+0x5382 021357 call le_setup 
+0x5383 021358 call le_receive_slave 
+0x5384 021359 nbranch le_slave_unsync ,sync 
+0x5385 021360 call le_got_first_packet 
+0x5386 021361 branch le_slave_match ,match 
+0x5387 021362 branch le_slave_cont 
+:      021365 le_slave_match:
+0x5388 021366 bpatchx patch27_1 ,mem_patch27 
+0x5389 021367 fetch 1 ,mem_le_md_count 
+0x538a 021368 pincrease 1 
+0x538b 021369 store 1 ,mem_le_md_count 
+0x538c 021370 beq le_md_max_count ,le_slave_cont 
+0x538d 021371 call le_acknowledge 
+0x538e 021372 call le_prepare_tx 
+0x538f 021373 call le_transmit_norx 
+0x5390 021374 call le_parse 
+0x5391 021375 fetch 2 ,mem_cb_ble_transmit 
+0x5392 021376 call callback_func 
+0x5393 021377 call le_check_md 
+0x5394 021378 branch le_slave_more_data ,user 
+:      021379 le_slave_cont:
+0x5395 021380 bpatchx patch27_2 ,mem_patch27 
+0x5396 021381 call le_pairing_sm 
+0x5397 021382 call le_check_paring_time 
+0x5398 021383 call check_51cmd 
+0x5399 021384 fetch 1 ,mem_le_op 
+0x539a 021385 bbit1 op_disconn ,le_slave_disconn 
+:      021386 le_slave_unsync:
+0x539b 021387 bpatchx patch27_3 ,mem_patch27 
+0x539c 021388 call le_lpm_set_mult 
+0x539d 021389 call le_update_channel_map 
+0x539e 021390 call le_update_param 
+0x539f 021391 branch calc_clke_offset 
+:      021394 le_check_md:
+0x53a0 021395 disable user 
+0x53a1 021396 bmark1 mark_ble_rx_md ,enable_user 
+0x53a2 021397 bmark1 mark_ble_tx_md ,enable_user 
+0x53a3 021398 rtn 
+:      021401 le_slave_more_data:
+0x53a4 021402 bpatchx patch27_4 ,mem_patch27 
+0x53a5 021403 enable attempt 
+0x53a6 021404 call le_transmit_receive_sifs_notx 
+0x53a7 021405 branch le_slave_match ,match 
+0x53a8 021406 branch le_slave_cont 
+:      021408 le_slave_disconn:
+:      021411 le_disconnect:
+0x53a9 021412 bpatchx patch27_5 ,mem_patch27 
+0x53aa 021413 call le_clear_connection_info 
+0x53ab 021414 call app_disconn_reason_collect_ble 
+0x53ac 021415 call sp_initialize_256 
+0x53ad 021416 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x53ae 021417 branch ui_ipc_send_event 
+:      021419 le_clear_connection_info:
+0x53af 021420 setarg 0 
+0x53b0 021421 store 9 ,mem_le_tx_buff_used 
+0x53b1 021422 jam 0 ,mem_le_conn_handle 
+0x53b2 021423 jam lemode_idle ,mem_le_mode 
+0x53b3 021424 jam 0 ,mem_le_state 
+0x53b4 021425 jam flag_le_enc_null ,mem_le_enc_state 
+0x53b5 021426 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x53b6 021427 rtn 
+:      021429 le_got_first_packet:
+0x53b7 021430 bpatchx patch27_6 ,mem_patch27 
+0x53b8 021431 fetch 1 ,mem_le_conn_rcv 
+0x53b9 021432 increase 1 ,pdata 
+0x53ba 021433 store 1 ,mem_le_conn_rcv 
+0x53bb 021434 fetch 1 ,mem_le_state 
+0x53bc 021435 rtnbit1 lestate_got_first_packet 
+0x53bd 021436 set1 lestate_got_first_packet 
+0x53be 021437 store 1 ,mem_le_state 
+0x53bf 021438 fetch 2 ,mem_le_init_superto 
+0x53c0 021439 store 2 ,mem_le_superto 
+0x53c1 021440 setarg 0 
+0x53c2 021441 store 4 ,mem_le_transmit_window 
+0x53c3 021442 rtn 
+:      021445 le_enable:
+0x53c4 021446 bpatchx patch27_7 ,mem_patch27 
+0x53c5 021447 jam 0x36 ,rf_adc_goff 
+0x53c6 021448 jam 0x5f ,rf_agc_nsat 
+0x53c7 021449 enable le 
+0x53c8 021450 jam 7 ,rfen_ulp 
+0x53c9 021451 call check_ble_disabled 
+0x53ca 021452 fetch 1 ,mem_250k_freq_enable 
+0x53cb 021453 rtn blank 
+0x53cc 021454 jam 0xb8 ,rf_iq_gain 
+0x53cd 021455 rtn 
+:      021457 le_disable:
+0x53ce 021458 bpatchx patch28_0 ,mem_patch28 
+0x53cf 021459 jam 0x2e ,rf_adc_goff 
+0x53d0 021460 jam 0xff ,rf_agc_nsat 
+0x53d1 021461 disable le 
+0x53d2 021462 jam 3 ,rfen_ulp 
+0x53d3 021463 arg 0 ,stop_watch 
+0x53d4 021464 rtn 
+:      021466 le_prep:
+0x53d5 021467 disable enable_crc 
+0x53d6 021468 disable enable_white 
+0x53d7 021469 fetch 3 ,mem_le_crcinit 
+0x53d8 021470 iforce crc24_init 
+0x53d9 021471 fetch 1 ,mem_le_ch_mapped 
+0x53da 021472 reverse pdata ,temp 
+0x53db 021473 set1 1 ,temp 
+0x53dc 021474 rshift temp ,white_init 
+0x53dd 021475 rtn 
+:      021478 lerx_setfreq:
+0x53de 021479 call le_setfreq 
+0x53df 021480 call set_freq_rx 
+0x53e0 021481 setarg param_pll_setup 
+0x53e1 021482 call sleep 
+0x53e2 021483 branch rf_rx_enable 
+:      021485 letx_setfreq:
+0x53e3 021486 branch txon ,match 
+:      021487 letx_setfreq0:
+0x53e4 021488 call le_setfreq 
+0x53e5 021489 branch set_freq_tx 
+:      021490 le_setfreq:
+0x53e6 021491 bpatchx patch28_1 ,mem_patch28 
+0x53e7 021492 call set_sync_on 
+0x53e8 021493 fetch 1 ,mem_le_testtype 
+0x53e9 021494 nbranch le_ctf_test ,blank 
+0x53ea 021495 fetch 1 ,mem_le_ch_mapped 
+0x53eb 021496 sub pdata ,36 ,null 
+0x53ec 021497 branch le_ctf_normal ,positive 
+0x53ed 021498 force 0 ,temp 
+0x53ee 021499 rtneq 37 
+0x53ef 021500 force 24 ,temp 
+0x53f0 021501 rtneq 38 
+0x53f1 021502 force 78 ,temp 
+0x53f2 021503 rtn 
+:      021505 le_ctf_normal:
+0x53f3 021506 sub pdata ,10 ,null 
+0x53f4 021507 branch le_ctf_low ,positive 
+0x53f5 021508 increase 1 ,pdata 
+:      021510 le_ctf_low:
+0x53f6 021511 lshift pdata ,pdata 
+0x53f7 021512 add pdata ,2 ,temp 
+0x53f8 021513 rtn 
+:      021515 le_ctf_test:
+0x53f9 021516 fetch 1 ,mem_le_ch_mapped 
+0x53fa 021517 lshift pdata ,temp 
+0x53fb 021518 rtn 
+:      021520 le_sca_map:
+0x53fc 021521 arg 500 ,temp 
+0x53fd 021522 rtn blank 
+0x53fe 021523 arg 250 ,temp 
+0x53ff 021524 rtneq 1 
+0x5400 021525 arg 150 ,temp 
+0x5401 021526 rtneq 2 
+0x5402 021527 arg 100 ,temp 
+0x5403 021528 rtneq 3 
+0x5404 021529 arg 75 ,temp 
+0x5405 021530 rtneq 4 
+0x5406 021531 arg 50 ,temp 
+0x5407 021532 rtneq 5 
+0x5408 021533 arg 40 ,temp 
+0x5409 021534 rtneq 6 
+0x540a 021535 arg 20 ,temp 
+0x540b 021536 rtn 
+:      021540 le_adv_access:
+0x540c 021541 setarg 0x8e89be 
+0x540d 021542 lshift8 pdata ,pdata 
+0x540e 021543 or_into 0xd6 ,pdata 
+0x540f 021544 iforce access 
+0x5410 021545 setarg 0x555555 
+0x5411 021546 store 3 ,mem_le_crcinit 
+0x5412 021547 rtn 
+:      021549 le_setup:
+0x5413 021550 bpatchx patch28_2 ,mem_patch28 
+0x5414 021551 enable swfine 
+0x5415 021552 fetch 4 ,mem_le_access 
+0x5416 021553 iforce access 
+0x5417 021554 call le_map_channel 
+0x5418 021555 setarg 0x200 
+0x5419 021556 branch le_setup_master ,master 
+0x541a 021557 fetch 2 ,mem_le_receive_window 
+0x541b 021558 rshift pdata ,pdata 
+:      021559 le_setup_master:
+0x541c 021560 arg param_pll_setup ,temp 
+0x541d 021561 iadd temp ,pdata 
+0x541e 021562 call ahead_window 
+0x541f 021563 deposit clke 
+0x5420 021564 store 6 ,mem_le_rxon_ts 
+0x5421 021565 rtn 
+:      021567 le_next_adv_channel:
+0x5422 021568 bpatchx patch28_3 ,mem_patch28 
+0x5423 021569 fetch 1 ,mem_le_ch_mapped 
+0x5424 021570 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x5425 021571 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5426 021572 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5427 021573 branch le_next_adv_channel_curr_channel_39 
+:      021575 le_next_adv_channel_curr_channel_37:
+0x5428 021576 fetcht 1 ,mem_le_adv_channel_map 
+0x5429 021577 isolate1 bit_adv_channel_map_38 ,temp 
+0x542a 021578 branch set_le_next_adv_channel_38 ,true 
+0x542b 021579 isolate1 bit_adv_channel_map_39 ,temp 
+0x542c 021580 branch set_le_next_adv_channel_39 ,true 
+0x542d 021581 branch set_le_next_adv_channel_37 
+:      021584 le_next_adv_channel_curr_channel_38:
+0x542e 021585 fetcht 1 ,mem_le_adv_channel_map 
+0x542f 021586 isolate1 bit_adv_channel_map_39 ,temp 
+0x5430 021587 branch set_le_next_adv_channel_39 ,true 
+0x5431 021588 isolate1 bit_adv_channel_map_37 ,temp 
+0x5432 021589 branch set_le_next_adv_channel_37 ,true 
+0x5433 021590 branch set_le_next_adv_channel_38 
+:      021593 le_next_adv_channel_curr_channel_39:
+0x5434 021594 fetcht 1 ,mem_le_adv_channel_map 
+0x5435 021595 isolate1 bit_adv_channel_map_37 ,temp 
+0x5436 021596 branch set_le_next_adv_channel_37 ,true 
+0x5437 021597 isolate1 bit_adv_channel_map_38 ,temp 
+0x5438 021598 branch set_le_next_adv_channel_38 ,true 
+0x5439 021599 branch set_le_next_adv_channel_39 
+:      021603 set_le_next_adv_channel_37:
+0x543a 021604 jam 37 ,mem_le_ch_mapped 
+0x543b 021605 fetch 1 ,mem_le_adv_channel_map_temp 
+0x543c 021606 set1 bit_adv_channel_map_37 ,pdata 
+0x543d 021607 store 1 ,mem_le_adv_channel_map_temp 
+0x543e 021608 rtn 
+:      021610 set_le_next_adv_channel_38:
+0x543f 021611 jam 38 ,mem_le_ch_mapped 
+0x5440 021612 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5441 021613 set1 bit_adv_channel_map_38 ,pdata 
+0x5442 021614 store 1 ,mem_le_adv_channel_map_temp 
+0x5443 021615 rtn 
+:      021617 set_le_next_adv_channel_39:
+0x5444 021618 jam 39 ,mem_le_ch_mapped 
+0x5445 021619 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5446 021620 set1 bit_adv_channel_map_39 ,pdata 
+0x5447 021621 store 1 ,mem_le_adv_channel_map_temp 
+0x5448 021622 rtn 
+:      021626 le_context_nexthop:
+0x5449 021627 bpatchx patch28_4 ,mem_patch28 
+0x544a 021628 add rega ,coffset_mode ,contr 
+0x544b 021629 ifetch 1 ,contr 
+0x544c 021630 rtnbit0 mode_le 
+0x544d 021631 add rega ,coffset_le_event_cnt ,contw 
+0x544e 021632 ifetch 2 ,contw 
+0x544f 021633 increase 1 ,pdata 
+0x5450 021634 istore 2 ,contw 
+0x5451 021635 add rega ,coffset_le_hop ,contr 
+0x5452 021636 ifetch 1 ,contr 
+0x5453 021637 add rega ,coffset_le_ch ,contw 
+0x5454 021638 ifetcht 1 ,contw 
+0x5455 021639 iadd temp ,pdata 
+0x5456 021640 sub pdata ,36 ,null 
+0x5457 021641 branch le_nexthop_nowrap ,positive 
+0x5458 021642 increase -37 ,pdata 
+:      021643 le_nexthop_nowrap:
+0x5459 021644 istore 1 ,contw 
+0x545a 021645 rtn 
+:      021648 le_calc_channel_map:
+0x545b 021649 bpatchx patch28_5 ,mem_patch28 
+0x545c 021650 fetch 5 ,mem_le_channel_map 
+0x545d 021651 force 0 ,temp 
+0x545e 021652 force 37 ,loopcnt 
+:      021653 le_count_channels_loop:
+0x545f 021654 bbit0 0 ,le_count_channels_notused 
+0x5460 021655 increase 1 ,temp 
+:      021656 le_count_channels_notused:
+0x5461 021657 rshift pdata ,pdata 
+0x5462 021658 loop le_count_channels_loop 
+0x5463 021659 add temp ,-1 ,pdata 
+0x5464 021660 store 1 ,mem_le_channels 
+0x5465 021661 rtn 
+:      021663 le_map_channel:
+0x5466 021664 bpatchx patch28_6 ,mem_patch28 
+0x5467 021665 fetch 1 ,mem_le_ch 
+0x5468 021666 iforce queue 
+0x5469 021667 fetcht 5 ,mem_le_channel_map 
+0x546a 021668 qisolate1 temp 
+0x546b 021669 branch le_map_channel_end ,true 
+:      021670 le_map_channel_next:
+0x546c 021671 bpatchx patch28_7 ,mem_patch28 
+0x546d 021672 fetch 1 ,mem_le_channels 
+0x546e 021673 isub queue ,pdata 
+0x546f 021674 branch le_map_channel_cont ,positive 
+0x5470 021675 sub pdata ,-1 ,queue 
+0x5471 021676 branch le_map_channel_next 
+:      021677 le_map_channel_cont:
+0x5472 021678 copy queue ,loopcnt 
+0x5473 021679 force 0 ,queue 
+:      021680 le_map_channel_loop:
+0x5474 021681 qisolate1 temp 
+0x5475 021682 branch le_map_channel_skip ,true 
+0x5476 021683 increase 1 ,loopcnt 
+:      021684 le_map_channel_skip:
+0x5477 021685 deposit loopcnt 
+0x5478 021686 branch le_map_channel_end ,blank 
+0x5479 021687 increase 1 ,queue 
+0x547a 021688 increase -1 ,loopcnt 
+0x547b 021689 branch le_map_channel_loop 
+:      021690 le_map_channel_end:
+0x547c 021691 deposit queue 
+0x547d 021692 store 1 ,mem_le_ch_mapped 
+0x547e 021693 rtn 
+:      021696 le_wait_tx:
+0x547f 021697 branch le_wait_master ,master 
+0x5480 021698 until null ,timeout 
+0x5481 021699 rtn 
+:      021701 le_wait_master:
+0x5482 021702 arg 0xea0 ,timeup 
+0x5483 021703 until clkn_rt ,meet 
+0x5484 021704 rtn 
+:      021706 le_receive_adv:
+0x5485 021707 disable swfine 
+0x5486 021708 fetch 2 ,mem_le_scan_window 
+0x5487 021709 copy pdata ,timeup 
+0x5488 021710 branch le_receive_packet 
+:      021713 le_receive_slave:
+0x5489 021714 bpatchx patch29_0 ,mem_patch29 
+0x548a 021715 enable swfine 
+0x548b 021716 fetch 2 ,mem_le_receive_window 
+0x548c 021717 fetcht 4 ,mem_le_transmit_window 
+0x548d 021718 iadd temp ,timeup 
+:      021719 le_receive_packet:
+0x548e 021720 call lerx_setfreq 
+:      021721 le_receive_rxon:
+0x548f 021722 bpatchx patch29_1 ,mem_patch29 
+0x5490 021723 call le_prep 
+0x5491 021724 disable match 
+0x5492 021725 enable decode_fec0 
+0x5493 021726 enable is_rx 
+0x5494 021727 disable is_tx 
+0x5495 021728 copy timeup ,stop_watch 
+0x5496 021729 correlate null ,timeout 
+0x5497 021730 branch le_receive_on_attempt ,attempt 
+0x5498 021731 copy clke ,temp 
+0x5499 021732 storet 6 ,mem_sync_clke 
+:      021733 le_receive_on_attempt:
+0x549a 021734 nbranch end_of_packet ,sync 
+0x549b 021735 branch le_receive_skip ,attempt 
+0x549c 021736 arg param_clke_cal_le ,clke_rt 
+0x549d 021737 copy bt_clk ,clke_bt 
+0x549e 021738 fetch 1 ,mem_le_state 
+0x549f 021739 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x54a0 021740 call lpm_adjust_clk ,wake 
+:      021741 le_receive_skip:
+0x54a1 021742 bpatchx patch29_2 ,mem_patch29 
+0x54a2 021743 call save_rssi 
+0x54a3 021744 enable enable_white 
+0x54a4 021745 enable enable_crc 
+0x54a5 021746 parse demod ,bucket ,8 
+0x54a6 021747 rshift3 pwindow ,pdata 
+0x54a7 021748 store 1 ,mem_le_rxbuf 
+0x54a8 021749 parse demod ,bucket ,8 
+0x54a9 021750 rshift3 pwindow ,pdata 
+0x54aa 021751 istore 1 ,contw 
+0x54ab 021752 and pdata ,0x3f ,loopcnt 
+0x54ac 021753 branch lerx_nopayload ,zero 
+:      021755 lerx_loop:
+0x54ad 021756 parse demod ,bucket ,8 
+0x54ae 021757 rshift3 pwindow ,pdata 
+0x54af 021758 istore 1 ,contw 
+0x54b0 021759 loop lerx_loop 
+:      021761 lerx_nopayload:
+0x54b1 021762 bpatchx patch29_3 ,mem_patch29 
+0x54b2 021763 parse demod ,bucket ,24 
+0x54b3 021764 enable swfine 
+0x54b4 021765 arg param_sifs ,stop_watch 
+0x54b5 021766 rshift32 pdata ,pdata 
+0x54b6 021767 rshift16 pdata ,pdata 
+0x54b7 021768 istore 3 ,contw 
+0x54b8 021769 branch end_of_packet ,crc_failed 
+0x54b9 021770 enable match 
+0x54ba 021771 fetch 1 ,mem_last_freq 
+0x54bb 021772 add pdata ,0 ,rega 
+0x54bc 021773 call rf_write_freq 
+0x54bd 021774 disable decode_fec0 
+0x54be 021775 branch set_sync_on 
+:      021777 le_transmit_receive_sifs:
+0x54bf 021778 bpatchx patch29_4 ,mem_patch29 
+0x54c0 021779 call le_transmit 
+:      021780 le_transmit_receive_sifs_notx:
+0x54c1 021781 fetcht 1 ,mem_last_freq 
+0x54c2 021782 call set_freq_rx 
+0x54c3 021783 call rf_rx_enable 
+0x54c4 021784 enable swfine 
+0x54c5 021785 arg 5500 ,timeup 
+0x54c6 021786 branch le_receive_rxon 
+:      021788 le_transmit_norx:
+0x54c7 021789 call le_transmit 
+0x54c8 021790 branch end_of_packet 
+:      021792 le_transmit:
+0x54c9 021793 bpatchx patch29_5 ,mem_patch29 
+0x54ca 021794 call le_prep 
+0x54cb 021795 call letx_setfreq 
+0x54cc 021796 branch le_transmit0 
+:      021798 le_transmit0:
+0x54cd 021799 set1 txgfsk ,radio_ctrl 
+0x54ce 021800 enable encode_fec0 
+0x54cf 021801 enable is_tx 
+0x54d0 021802 disable is_rx 
+0x54d1 021803 call le_wait_tx 
+0x54d2 021804 rshift16 access ,pdata 
+0x54d3 021805 rshift8 pdata ,pdata 
+0x54d4 021806 rshift4 pdata ,pdata 
+0x54d5 021807 inject mod ,40 
+0x54d6 021808 enable enable_white 
+0x54d7 021809 enable enable_crc 
+0x54d8 021810 bpatchx patch29_6 ,mem_patch29 
+0x54d9 021811 fetch 1 ,mem_le_txheader 
+0x54da 021812 inject mod ,8 
+0x54db 021813 ifetch 1 ,contr 
+0x54dc 021814 and pdata ,0x3f ,loopcnt 
+0x54dd 021815 inject mod ,8 
+0x54de 021816 branch letr_nopayload ,zero 
+:      021817 letr_loop:
+0x54df 021818 ifetch 1 ,contr 
+0x54e0 021819 inject mod ,8 
+0x54e1 021820 loop letr_loop 
+:      021822 letr_nopayload:
+0x54e2 021823 enable enable_parity 
+0x54e3 021824 inject mod ,24 
+0x54e4 021825 disable enable_parity 
+0x54e5 021826 until null ,tx_clear 
+0x54e6 021827 nop 100 
+0x54e7 021828 disable encode_fec0 
+0x54e8 021829 rtn 
+:      021831 le_send_adv_ind:
+0x54e9 021832 bpatchx patch29_7 ,mem_patch29 
+0x54ea 021833 fetch 1 ,mem_le_adv_type 
+0x54eb 021834 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x54ec 021835 fetch 1 ,mem_le_adv_own_addr_type 
+0x54ed 021836 lshift4 pdata ,pdata 
+0x54ee 021837 lshift2 pdata ,pdata 
+0x54ef 021838 store 1 ,mem_le_txheader 
+0x54f0 021839 fetcht 1 ,mem_le_adv_data_len 
+0x54f1 021840 add temp ,6 ,pdata 
+0x54f2 021841 store 1 ,mem_le_txlen 
+0x54f3 021842 fetch 6 ,mem_le_lap 
+0x54f4 021843 store 6 ,mem_le_txpayload 
+0x54f5 021844 copy temp ,loopcnt 
+0x54f6 021845 arg mem_le_adv_data ,contr 
+0x54f7 021846 call memcpy_fast 
+0x54f8 021847 branch le_send_adv_transmit 
+:      021848 le_send_adv_direct_ind:
+0x54f9 021849 fetch 1 ,mem_le_adv_direct_addr_type 
+0x54fa 021850 lshift4 pdata ,pdata 
+0x54fb 021851 lshift2 pdata ,pdata 
+0x54fc 021852 increase 1 ,pdata 
+0x54fd 021853 store 1 ,mem_le_txheader 
+0x54fe 021854 setarg 12 
+0x54ff 021855 store 1 ,mem_le_txlen 
+0x5500 021856 fetch 6 ,mem_le_lap 
+0x5501 021857 store 6 ,mem_le_txpayload 
+0x5502 021858 fetch 6 ,mem_hci_plap 
+0x5503 021859 istore 6 ,contw 
+:      021860 le_send_adv_transmit:
+0x5504 021861 bpatchx patch2a_0 ,mem_patch2a 
+0x5505 021862 fetch 1 ,mem_le_adv_transmit 
+0x5506 021863 increase 1 ,pdata 
+0x5507 021864 store 1 ,mem_le_adv_transmit 
+0x5508 021865 arg 1800 ,stop_watch 
+0x5509 021866 disable match 
+0x550a 021867 branch le_transmit_receive_sifs 
+:      021869 le_send_scan_request:
+0x550b 021870 bpatchx patch2a_1 ,mem_patch2a 
+0x550c 021871 fetch 1 ,mem_le_scan_type 
+0x550d 021872 rtnne le_scan_type_active 
+0x550e 021873 fetch 1 ,mem_le_adv_transmit 
+0x550f 021874 increase 1 ,pdata 
+0x5510 021875 store 1 ,mem_le_adv_transmit 
+0x5511 021876 arg 0x0c03 ,temp 
+0x5512 021877 fetch 1 ,mem_le_scan_own_addr_type 
+0x5513 021878 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5514 021879 copy rega ,pdata 
+0x5515 021880 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x5516 021881 storet 2 ,mem_le_txheader 
+0x5517 021882 fetch 6 ,mem_le_lap 
+0x5518 021883 istore 6 ,contw 
+0x5519 021884 fetch 6 ,mem_le_plap 
+0x551a 021885 istore 6 ,contw 
+0x551b 021886 branch le_transmit_receive_sifs 
+:      021889 le_send_scan_response:
+0x551c 021890 bpatchx patch2a_2 ,mem_patch2a 
+0x551d 021891 arg scan_rsp ,temp 
+0x551e 021892 fetch 1 ,mem_le_adv_own_addr_type 
+0x551f 021893 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5520 021894 storet 1 ,mem_le_txheader 
+0x5521 021895 fetcht 1 ,mem_le_scan_data_len 
+0x5522 021896 add temp ,6 ,pdata 
+0x5523 021897 store 1 ,mem_le_txlen 
+0x5524 021898 fetch 6 ,mem_le_lap 
+0x5525 021899 store 6 ,mem_le_txpayload 
+0x5526 021900 arg mem_le_scan_data ,contr 
+0x5527 021901 copy temp ,loopcnt 
+0x5528 021902 call memcpy_fast 
+0x5529 021903 call le_transmit_norx 
+0x552a 021904 branch le_adv_not_match 
+:      021906 le_connect_request:
+0x552b 021907 bpatchx patch2a_3 ,mem_patch2a 
+0x552c 021908 force -1 ,pdata 
+0x552d 021909 setsect 2 ,1 
+0x552e 021910 store 5 ,mem_le_channel_map 
+0x552f 021911 call le_calc_channel_map 
+0x5530 021912 force 4 ,loopcnt 
+0x5531 021913 arg mem_le_access ,contw 
+0x5532 021914 call generate_random_loop 
+0x5533 021915 fetch 2 ,mem_le_timeout 
+0x5534 021916 store 2 ,mem_le_superto 
+:      021917 le_con_req_hop_retry:
+0x5535 021918 random pdata 
+0x5536 021919 and_into 0xf ,pdata 
+0x5537 021920 sub pdata ,4 ,null 
+0x5538 021921 branch le_con_req_hop_retry ,positive 
+0x5539 021922 store 1 ,mem_le_hop 
+0x553a 021923 store 1 ,mem_tmp1 
+0x553b 021924 bpatchx patch2a_4 ,mem_patch2a 
+0x553c 021925 fetcht 2 ,mem_le_conn_interval 
+0x553d 021926 storet 2 ,mem_le_tsniff 
+0x553e 021927 copy temp ,regc 
+0x553f 021928 add clkn_bt ,7 ,pdata 
+0x5540 021929 idiv regc 
+0x5541 021930 call wait_div_end 
+0x5542 021931 remainder rega 
+0x5543 021932 isub rega ,pdata 
+0x5544 021933 iadd regc ,pdata 
+0x5545 021934 fetcht 2 ,mem_le_dsniff 
+0x5546 021935 iadd temp ,pdata 
+0x5547 021936 store 4 ,mem_le_anchor 
+0x5548 021937 isub clkn_bt ,rega 
+0x5549 021938 increase -6 ,rega 
+0x554a 021939 arg 0x2205 ,regb 
+0x554b 021940 fetch 1 ,mem_le_conn_own_addr_type 
+0x554c 021941 nsetflag blank ,le_sender_addr_bit ,regb 
+0x554d 021942 fetch 1 ,mem_le_conn_peer_addr_type 
+0x554e 021943 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x554f 021944 copy regb ,pdata 
+0x5550 021945 store 2 ,mem_le_txheader 
+0x5551 021946 fetch 6 ,mem_le_lap 
+0x5552 021947 istore 6 ,contw 
+0x5553 021948 fetch 6 ,mem_le_plap 
+0x5554 021949 istore 6 ,contw 
+0x5555 021950 fetch 4 ,mem_le_access 
+0x5556 021951 istore 4 ,contw 
+0x5557 021952 random pdata 
+0x5558 021953 istore 2 ,contw 
+0x5559 021954 random pdata 
+0x555a 021955 istore 1 ,contw 
+0x555b 021956 force 2 ,pdata 
+0x555c 021957 istore 1 ,contw 
+0x555d 021958 rshift2 rega ,pdata 
+0x555e 021959 istore 2 ,contw 
+0x555f 021960 rshift2 regc ,pdata 
+0x5560 021961 istore 2 ,contw 
+0x5561 021962 bpatchx patch2a_5 ,mem_patch2a 
+0x5562 021963 setarg 0 
+0x5563 021964 istore 2 ,contw 
+0x5564 021965 fetch 2 ,mem_le_timeout 
+0x5565 021966 istore 2 ,contw 
+0x5566 021967 fetch 5 ,mem_le_channel_map 
+0x5567 021968 istore 5 ,contw 
+0x5568 021969 fetch 1 ,mem_le_hop 
+0x5569 021970 arg param_le_sca ,temp 
+0x556a 021971 ior temp ,pdata 
+0x556b 021972 istore 1 ,contw 
+0x556c 021973 call le_transmit_norx 
+0x556d 021974 setarg mem_le_txheader 
+0x556e 021975 add pdata ,18 ,contr 
+0x556f 021976 ifetch 3 ,contr 
+0x5570 021977 store 3 ,mem_le_crcinit 
+0x5571 021978 rtn 
+:      021980 le_init_adv:
+0x5572 021981 bpatchx patch2a_6 ,mem_patch2a 
+0x5573 021982 disable master 
+0x5574 021983 branch le_adv_access 
+:      021987 le_update_param:
+0x5575 021988 fetch 1 ,mem_le_state 
+0x5576 021989 rtnbit0 lestate_update_param 
+0x5577 021990 fetch 2 ,mem_le_event_count 
+0x5578 021991 fetcht 2 ,mem_le_instant 
+0x5579 021992 isub temp ,pdata 
+0x557a 021993 nrtn positive 
+0x557b 021994 store 2 ,mem_pdatatemp 
+0x557c 021995 bpatchx patch2a_7 ,mem_patch2a 
+0x557d 021996 fetch 1 ,mem_le_state 
+0x557e 021997 set0 lestate_update_param ,pdata 
+0x557f 021998 set0 lestate_got_first_packet ,pdata 
+0x5580 021999 store 1 ,mem_le_state 
+0x5581 022000 fetch 4 ,mem_le_anchor 
+0x5582 022001 fetcht 2 ,mem_le_tsniff 
+0x5583 022002 storet 2 ,mem_temp 
+0x5584 022003 isub temp ,rega 
+0x5585 022004 bpatchx patch2b_0 ,mem_patch2b 
+0x5586 022005 fetch 1 ,mem_le_new_param 
+0x5587 022006 store 1 ,mem_le_window_size 
+0x5588 022007 ifetcht 2 ,contr 
+0x5589 022008 ifetch 2 ,contr 
+0x558a 022009 lshift2 pdata ,pdata 
+0x558b 022010 store 2 ,mem_le_tsniff 
+0x558c 022011 lshift2 temp ,temp 
+0x558d 022012 iadd temp ,pdata 
+0x558e 022013 ifetcht 4 ,contr 
+0x558f 022014 storet 4 ,mem_le_slave_latency 
+0x5590 022015 iadd rega ,pdata 
+0x5591 022016 copy pdata ,regab 
+0x5592 022017 fetch 2 ,mem_le_tsniff 
+0x5593 022018 fetcht 2 ,mem_temp 
+0x5594 022019 isub temp ,pdata 
+0x5595 022020 fetcht 2 ,mem_pdatatemp 
+0x5596 022021 imul32 temp ,pdata 
+0x5597 022022 iadd regab ,pdata 
+0x5598 022023 store 4 ,mem_le_anchor 
+0x5599 022024 call le_receive_window_size 
+0x559a 022025 fetch 2 ,mem_le_superto 
+0x559b 022026 store 2 ,mem_le_init_superto 
+0x559c 022027 rtn 
+:      022030 le_update_channel_map:
+0x559d 022031 bpatchx patch2b_1 ,mem_patch2b 
+0x559e 022032 fetch 1 ,mem_le_state 
+0x559f 022033 rtnbit0 lestate_update_map 
+0x55a0 022034 fetch 2 ,mem_le_event_count 
+0x55a1 022035 fetcht 2 ,mem_le_instant 
+0x55a2 022036 isub temp ,pdata 
+0x55a3 022037 nrtn positive 
+0x55a4 022038 fetch 1 ,mem_le_state 
+0x55a5 022039 set0 lestate_update_map ,pdata 
+0x55a6 022040 store 1 ,mem_le_state 
+0x55a7 022041 fetch 5 ,mem_le_new_map 
+0x55a8 022042 store 5 ,mem_le_channel_map 
+0x55a9 022043 branch le_calc_channel_map 
+:      022046 le_acknowledge:
+0x55aa 022047 bpatchx patch2b_2 ,mem_patch2b 
+0x55ab 022048 call le_supervision_flush 
+0x55ac 022049 call le_check_wak 
+0x55ad 022050 fetch 1 ,mem_le_rxbuf 
+0x55ae 022051 isolate1 md ,pdata 
+0x55af 022052 setflag true ,mark_ble_rx_md ,mark 
+0x55b0 022053 rshift pdata ,pdata 
+0x55b1 022054 ixor temp ,pdata 
+0x55b2 022055 isolate1 nesn ,pdata 
+0x55b3 022056 setflag true ,mark_old_packet ,mark 
+0x55b4 022057 rtnmark1 mark_old_packet 
+0x55b5 022058 fetch 1 ,mem_le_rxbuf + 1 
+0x55b6 022059 branch le_ack_unenc ,blank 
+0x55b7 022060 fetch 1 ,mem_le_state 
+0x55b8 022061 bbit0 lestate_encryption ,le_ack_unenc 
+0x55b9 022062 call load_sk 
+0x55ba 022063 call le_decrypt 
+0x55bb 022064 nrtn blank 
+:      022065 le_ack_unenc:
+0x55bc 022066 fetcht 1 ,mem_le_arq 
+0x55bd 022067 setflip nesn ,temp 
+0x55be 022068 storet 1 ,mem_le_arq 
+0x55bf 022069 rtn 
+:      022072 le_check_wak:
+0x55c0 022073 bpatchx patch2b_3 ,mem_patch2b 
+0x55c1 022074 fetcht 1 ,mem_le_arq 
+0x55c2 022075 isolate0 wak ,temp 
+0x55c3 022076 rtn true 
+0x55c4 022077 fetch 1 ,mem_le_rxbuf 
+0x55c5 022078 lshift pdata ,pdata 
+0x55c6 022079 ixor temp ,pdata 
+0x55c7 022080 rtnbit0 sn 
+0x55c8 022081 set0 wak ,temp 
+0x55c9 022082 setflip sn ,temp 
+0x55ca 022083 storet 1 ,mem_le_arq 
+0x55cb 022084 compare 3 ,temp ,3 
+0x55cc 022085 nrtn true 
+0x55cd 022086 fetch 1 ,mem_le_txpayload 
+0x55ce 022087 beq ll_start_enc_req ,le_set_enc 
+0x55cf 022088 fetch 1 ,mem_le_enc_state 
+0x55d0 022089 beq flag_le_enc_pause ,le_clear_enc 
+0x55d1 022090 rtn 
+:      022093 le_set_enc:
+0x55d2 022094 fetch 1 ,mem_le_state 
+0x55d3 022095 set1 lestate_encryption ,pdata 
+0x55d4 022096 store 1 ,mem_le_state 
+0x55d5 022097 rtn 
+:      022099 le_clear_enc:
+0x55d6 022100 bpatchx patch2b_4 ,mem_patch2b 
+0x55d7 022101 jam flag_le_enc_null ,mem_le_enc_state 
+0x55d8 022102 arg 0 ,pdata 
+0x55d9 022103 store 4 ,mem_le_last_mic 
+0x55da 022104 store 5 ,mem_le_pcnt_tx 
+0x55db 022105 set1 39 ,pdata 
+0x55dc 022106 store 5 ,mem_le_pcnt_rx 
+0x55dd 022107 fetch 1 ,mem_le_state 
+0x55de 022108 set0 lestate_encryption ,pdata 
+0x55df 022109 store 1 ,mem_le_state 
+0x55e0 022110 rtn 
+:      022113 le_wait_adv:
+0x55e1 022114 bpatchx patch2b_5 ,mem_patch2b 
+0x55e2 022115 call le_next_adv_channel 
+0x55e3 022116 call le_receive_adv 
+0x55e4 022117 fetch 1 ,mem_le_adv_waitcnt 
+0x55e5 022118 increase 1 ,pdata 
+0x55e6 022119 store 1 ,mem_le_adv_waitcnt 
+0x55e7 022120 rtn 
+:      022123 le_scan:
+0x55e8 022124 bpatchx patch2b_6 ,mem_patch2b 
+0x55e9 022125 fetch 1 ,mem_le_scan_enable 
+0x55ea 022126 rtnne le_scan_enable 
+0x55eb 022127 arg le_scan_interval_timer ,queue 
+0x55ec 022128 call timer_check 
+0x55ed 022129 nrtn blank 
+0x55ee 022130 fetch 2 ,mem_le_scan_interval 
+0x55ef 022131 fetcht 2 ,mem_le_scan_window 
+0x55f0 022132 isub temp ,pdata 
+0x55f1 022133 arg le_scan_interval_timer ,queue 
+0x55f2 022134 call timer_init 
+0x55f3 022135 disable master 
+0x55f4 022136 call le_init_adv 
+0x55f5 022137 call le_wait_adv 
+0x55f6 022138 nrtn match 
+0x55f7 022139 bpatchx patch2b_7 ,mem_patch2b 
+0x55f8 022140 fetch 6 ,mem_le_rxbuf + 2 
+0x55f9 022141 store 6 ,mem_le_plap 
+0x55fa 022144 fetch 1 ,mem_le_adv_rcv 
+0x55fb 022145 increase 1 ,pdata 
+0x55fc 022146 store 1 ,mem_le_adv_rcv 
+0x55fd 022147 call le_create_conn 
+0x55fe 022148 rtn master 
+0x55ff 022149 call le_send_scan_request 
+0x5600 022150 nrtn match 
+0x5601 022151 bpatchx patch2c_0 ,mem_patch2c 
+0x5602 022152 fetch 1 ,mem_le_scanrsp_rcv 
+0x5603 022153 increase 1 ,pdata 
+0x5604 022154 store 1 ,mem_le_scanrsp_rcv 
+0x5605 022155 fetch 9 ,mem_le_rxbuf + 8 
+0x5606 022156 store 9 ,mem_tmp_buffer 
+0x5607 022157 rtn 
+:      022159 le_create_conn:
+0x5608 022160 bpatchx patch2c_1 ,mem_patch2c 
+0x5609 022161 fetch 1 ,mem_cmd_le_create_conn 
+0x560a 022162 rtnne hci_cmd_le_create_conn 
+0x560b 022163 fetch 6 ,mem_le_plap 
+0x560c 022164 fetcht 6 ,mem_le_conn_peer_addr 
+0x560d 022165 isub temp ,null 
+0x560e 022166 nrtn zero 
+0x560f 022167 call context_new 
+0x5610 022168 nrtn zero 
+0x5611 022169 call le_connect_request 
+0x5612 022170 call le_init_master 
+0x5613 022171 bpatchx patch2c_2 ,mem_patch2c 
+0x5614 022172 jam 0 ,mem_hci_cmd 
+0x5615 022173 jam 0 ,mem_le_peer_sca 
+0x5616 022174 jam 0 ,mem_le_scan_enable 
+0x5617 022175 jam 0 ,mem_cmd_le_create_conn 
+0x5618 022176 branch context_save 
+:      022178 le_scan_check_sender_addr_type:
+0x5619 022179 arg 1 ,rega 
+0x561a 022180 fetch 1 ,mem_le_rxbuf 
+0x561b 022181 rtnbit1 le_sender_addr_bit 
+0x561c 022182 arg 0 ,rega 
+0x561d 022183 rtn 
+:      022187 le_prepare_tx:
+0x561e 022188 bpatchx patch2c_3 ,mem_patch2c 
+0x561f 022189 fetch 1 ,mem_le_arq 
+0x5620 022190 rtnbit1 wak 
+0x5621 022191 call le_check_tx_md 
+0x5622 022192 call le_fifo_get_first_tx_ptr 
+0x5623 022193 branch le_send_empty ,blank 
+0x5624 022194 ifetch 1 ,contr 
+0x5625 022195 ifetcht 1 ,contr 
+0x5626 022196 copy temp ,rega 
+0x5627 022197 isub rega ,pdata 
+0x5628 022198 arg le_max_paket_len ,temp 
+0x5629 022199 call not_greater_than 
+0x562a 022200 copy pdata ,temp 
+0x562b 022201 ifetch 1 ,contr 
+0x562c 022202 copy pdata ,type 
+0x562d 022203 copy rega ,pdata 
+0x562e 022204 iadd contr ,contr 
+0x562f 022205 arg mem_le_txpayload ,contw 
+0x5630 022206 copy temp ,loopcnt 
+0x5631 022207 call memcpy 
+0x5632 022208 call le_update_tx_type 
+0x5633 022209 call le_send_packet 
+0x5634 022211 call le_fifo_get_first_tx_ptr 
+0x5635 022212 ifetch 1 ,contr 
+0x5636 022213 copy pdata ,rega 
+0x5637 022214 copy contr ,regc 
+0x5638 022215 ifetcht 1 ,contr 
+0x5639 022216 copy temp ,regb 
+0x563a 022217 isub regb ,pdata 
+0x563b 022218 arg le_max_paket_len ,temp 
+0x563c 022219 call not_greater_than 
+0x563d 022220 iadd regb ,pdata 
+0x563e 022221 istore 1 ,regc 
+0x563f 022222 isub rega ,null 
+0x5640 022223 nrtn zero 
+0x5641 022224 branch le_fifo_release_first_node 
+:      022227 le_check_tx_md:
+0x5642 022228 call le_check_continue 
+0x5643 022229 rtnmark1 mark_ble_tx_md 
+0x5644 022230 fetch 1 ,mem_le_configuration 
+0x5645 022231 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5646 022232 call le_fifo_get_second_tx_ptr 
+0x5647 022233 branch le_clear_md ,blank 
+0x5648 022234 branch le_set_md 
+:      022237 le_check_continue:
+0x5649 022238 call le_fifo_get_first_tx_ptr 
+0x564a 022239 branch le_clear_md ,blank 
+0x564b 022240 ifetch 1 ,contr 
+0x564c 022241 ifetcht 1 ,contr 
+0x564d 022242 isub temp ,pdata 
+0x564e 022243 sub pdata ,le_max_paket_len ,null 
+0x564f 022244 branch le_clear_md ,positive 
+:      022245 le_set_md:
+0x5650 022246 set1 mark_ble_tx_md ,mark 
+0x5651 022247 rtn 
+:      022249 le_clear_md:
+0x5652 022250 set0 mark_ble_tx_md ,mark 
+0x5653 022251 rtn 
+:      022253 le_update_tx_type:
+0x5654 022254 copy rega ,pdata 
+0x5655 022255 rtn blank 
+0x5656 022256 arg llid_continue ,type 
+0x5657 022257 rtn 
+:      022260 le_att_check_notification_enable:
+0x5658 022261 bpatchx patch2c_4 ,mem_patch2c 
+0x5659 022262 increase 1 ,temp 
+0x565a 022263 call le_att_get_handle_ptr 
+0x565b 022264 increase -2 ,contr 
+0x565c 022265 ifetch 2 ,contr 
+0x565d 022266 arg client_charactertic_configuration ,temp 
+0x565e 022267 isub temp ,null 
+0x565f 022268 nrtn zero 
+0x5660 022269 increase 1 ,contr 
+0x5661 022270 copy contr ,rega 
+0x5662 022271 ifetch 1 ,contr 
+0x5663 022272 rtn 
+:      022275 le_send_empty:
+0x5664 022276 force 0 ,temp 
+0x5665 022277 force 1 ,type 
+:      022279 le_send_packet:
+0x5666 022280 bpatchx patch2c_5 ,mem_patch2c 
+0x5667 022281 storet 1 ,mem_le_txlen 
+0x5668 022282 fetcht 1 ,mem_le_arq 
+0x5669 022283 set1 wak ,temp 
+0x566a 022284 and temp ,0xfc ,pdata 
+0x566b 022285 ior type ,pdata 
+0x566c 022286 store 1 ,mem_le_arq 
+0x566d 022287 and_into 0x1f ,pdata 
+0x566e 022288 isolate1 mark_ble_tx_md ,mark 
+0x566f 022289 setflag true ,md ,pdata 
+0x5670 022290 store 1 ,mem_le_txheader 
+0x5671 022292 fetch 1 ,mem_le_txheader 
+0x5672 022293 compare 1 ,type ,3 
+0x5673 022294 nbranch le_send_no_txlen ,true 
+0x5674 022295 fetch 1 ,mem_le_txlen 
+0x5675 022296 rtn blank 
+:      022297 le_send_no_txlen:
+0x5676 022298 fetch 1 ,mem_le_state 
+0x5677 022299 rtnbit0 lestate_encryption 
+0x5678 022300 call load_sk 
+0x5679 022301 branch le_encrypt 
+:      022304 get_lpm_wake_ble_rx_lock:
+0x567a 022305 arg wake_lock_ble_rx ,queue 
+0x567b 022306 branch lpm_get_wake_lock 
+:      022308 put_lpm_wake_ble_rx_lock:
+0x567c 022309 arg wake_lock_ble_rx ,queue 
+0x567d 022310 branch lpm_put_wake_lock 
+:      022313 le_parse:
+0x567e 022314 bpatchx patch2c_6 ,mem_patch2c 
+0x567f 022315 rtnmark1 mark_old_packet 
+0x5680 022316 call le_fifo_check_full 
+0x5681 022317 nrtn blank 
+0x5682 022318 fetch 1 ,mem_le_rxbuf 
+0x5683 022319 and pdata ,0x3 ,pdata 
+0x5684 022320 store 1 ,mem_le_packet_llid 
+0x5685 022321 ifetch 1 ,contr 
+0x5686 022322 and pdata ,0x1f ,pdata 
+0x5687 022323 store 1 ,mem_le_packet_size 
+0x5688 022324 rtn blank 
+0x5689 022325 copy contr ,pdata 
+0x568a 022326 store 2 ,mem_le_payload_ptr 
+0x568b 022327 fetch 1 ,mem_le_packet_llid 
+0x568c 022328 beq llid_le_ll ,le_parse_ll 
+:      022329 le_parse_l2cap:
+0x568d 022330 call le_check_l2cap_complete 
+0x568e 022331 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x568f 022332 call put_lpm_wake_ble_rx_lock 
+0x5690 022333 fetch 2 ,mem_le_payload_ptr 
+0x5691 022334 copy pdata ,contr 
+0x5692 022335 ifetch 2 ,contr 
+0x5693 022336 store 2 ,mem_le_l2cap_size 
+0x5694 022337 bpatchx patch2c_7 ,mem_patch2c 
+0x5695 022338 ifetch 2 ,contr 
+0x5696 022339 beq le_l2cap_cid_att ,le_parse_att 
+0x5697 022340 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5698 022341 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5699 022342 rtn 
+:      022345 le_check_l2cap_complete:
+0x569a 022346 fetch 1 ,mem_le_packet_llid 
+0x569b 022347 beq llid_start ,le_check_l2cap_llid_start 
+0x569c 022348 beq llid_continue ,le_check_l2cap_llid_continue 
+0x569d 022349 rtn 
+:      022354 le_check_l2cap_cid_legal:
+0x569e 022355 call enable_user 
+0x569f 022356 arg le_l2cap_cid_att ,temp 
+0x56a0 022357 isub pdata ,null 
+0x56a1 022358 rtn zero 
+0x56a2 022359 arg le_l2cap_cid_signal ,temp 
+0x56a3 022360 isub pdata ,null 
+0x56a4 022361 rtn zero 
+0x56a5 022362 arg le_l2cap_cid_smp ,temp 
+0x56a6 022363 isub pdata ,null 
+0x56a7 022364 rtn zero 
+0x56a8 022365 branch disable_user 
+:      022368 le_check_l2cap_llid_start:
+0x56a9 022369 fetch 2 ,mem_le_payload_ptr 
+0x56aa 022370 copy pdata ,contr 
+0x56ab 022371 ifetch 2 ,contr 
+0x56ac 022372 store 2 ,mem_le_l2cap_size 
+0x56ad 022373 ifetch 2 ,contr 
+0x56ae 022374 call le_check_l2cap_cid_legal 
+0x56af 022375 nrtn user 
+0x56b0 022376 fetcht 1 ,mem_le_packet_size 
+0x56b1 022377 storet 1 ,mem_le_packet_len_recved 
+0x56b2 022378 fetch 2 ,mem_le_l2cap_size 
+0x56b3 022379 increase 4 ,pdata 
+0x56b4 022380 isub temp ,null 
+0x56b5 022381 branch enable_user ,zero 
+0x56b6 022382 fetch 1 ,mem_le_packet_size 
+0x56b7 022383 copy pdata ,loopcnt 
+0x56b8 022384 arg mem_le_l2capbuf ,contw 
+0x56b9 022385 fetch 2 ,mem_le_payload_ptr 
+0x56ba 022386 copy pdata ,contr 
+0x56bb 022387 call memcpy 
+0x56bc 022388 branch disable_user 
+:      022393 le_check_l2cap_continue_legal:
+0x56bd 022394 call enable_user 
+0x56be 022395 fetch 1 ,mem_le_packet_len_recved 
+0x56bf 022396 nrtn blank 
+0x56c0 022397 branch disable_user 
+:      022399 le_check_l2cap_llid_continue:
+0x56c1 022400 call le_check_l2cap_continue_legal 
+0x56c2 022401 nrtn user 
+0x56c3 022402 fetch 1 ,mem_le_packet_len_recved 
+0x56c4 022403 arg mem_le_l2capbuf ,contw 
+0x56c5 022404 iadd contw ,rega 
+0x56c6 022405 fetcht 1 ,mem_le_packet_size 
+0x56c7 022406 iadd temp ,pdata 
+0x56c8 022407 store 1 ,mem_le_packet_len_recved 
+0x56c9 022408 fetch 1 ,mem_le_packet_size 
+0x56ca 022409 copy pdata ,loopcnt 
+0x56cb 022410 copy rega ,contw 
+0x56cc 022411 fetch 2 ,mem_le_payload_ptr 
+0x56cd 022412 copy pdata ,contr 
+0x56ce 022413 call memcpy_fast 
+0x56cf 022414 setarg mem_le_l2capbuf 
+0x56d0 022415 store 2 ,mem_le_payload_ptr 
+0x56d1 022416 fetch 2 ,mem_le_l2cap_size 
+0x56d2 022417 increase 4 ,pdata 
+0x56d3 022418 fetcht 1 ,mem_le_packet_len_recved 
+0x56d4 022419 isub temp ,null 
+0x56d5 022420 branch enable_user ,zero 
+0x56d6 022421 branch disable_user 
+:      022427 le_get_search_att_type:
+0x56d7 022428 call store_contr 
+0x56d8 022429 arg mem_le_search_att_type_length ,contw 
+:      022430 le_get_search_common:
+0x56d9 022431 fetch 2 ,mem_le_l2cap_size 
+0x56da 022432 increase -5 ,pdata 
+:      022433 le_get_search_common2:
+0x56db 022434 istore 1 ,contw 
+0x56dc 022435 copy pdata ,loopcnt 
+0x56dd 022436 call get_contr 
+0x56de 022437 branch memcpy_fast 
+:      022439 le_get_search_att_uuid:
+0x56df 022440 call store_contr 
+0x56e0 022441 arg mem_le_search_uuid_length ,contw 
+0x56e1 022442 branch le_get_search_common 
+:      022446 le_writeatt_cb:
+0x56e2 022447 fetch 2 ,mem_cb_att_write 
+0x56e3 022448 branch callback_func 
+:      022450 le_supervision_update:
+0x56e4 022451 fetcht 4 ,mem_le_supervision_timer 
+0x56e5 022452 call get_clkbt 
+0x56e6 022453 isub temp ,timeup 
+0x56e7 022454 deposit timeup 
+0x56e8 022455 fetcht 2 ,mem_le_superto 
+0x56e9 022456 lshift4 temp ,temp 
+0x56ea 022457 lshift temp ,temp 
+0x56eb 022458 isub temp ,pdata 
+0x56ec 022459 rtn 
+:      022461 le_supervision_flush:
+0x56ed 022462 call get_clkbt 
+0x56ee 022463 store 4 ,mem_le_supervision_timer 
+0x56ef 022464 rtn 
+:      022467 le_adv:
+0x56f0 022468 jam 36 ,mem_le_ch_mapped 
+0x56f1 022469 jam 0 ,mem_le_adv_channel_map_temp 
+:      022470 le_adv_loop:
+0x56f2 022471 bpatchx patch2d_0 ,mem_patch2d 
+0x56f3 022472 fetch 1 ,mem_le_adv_enable 
+0x56f4 022473 rtn blank 
+0x56f5 022474 arg le_adv_interval_timer ,queue 
+0x56f6 022475 call timer_check 
+0x56f7 022476 nrtn blank 
+0x56f8 022477 bpatchx patch2d_1 ,mem_patch2d 
+:      022478 le_adv_loop_tx:
+0x56f9 022479 disable master 
+0x56fa 022480 enable swfine 
+0x56fb 022481 call le_init_adv 
+0x56fc 022482 call le_next_adv_channel 
+0x56fd 022483 call le_send_adv_ind 
+0x56fe 022484 nbranch le_adv_not_match ,match 
+0x56ff 022485 fetch 1 ,mem_le_req_rcv 
+0x5700 022486 increase 1 ,pdata 
+0x5701 022487 store 1 ,mem_le_req_rcv 
+0x5702 022488 fetch 1 ,mem_le_rxbuf 
+0x5703 022489 and pdata ,0x0f ,pdata 
+0x5704 022490 beq scan_req ,le_send_scan_response 
+0x5705 022491 beq connect_req ,le_parse_connect_req 
+:      022492 le_adv_not_match:
+0x5706 022493 bpatchx patch2d_2 ,mem_patch2d 
+0x5707 022494 random pdata 
+0x5708 022495 arg 0x1ff ,temp 
+0x5709 022496 iand temp ,pdata 
+0x570a 022497 add pdata ,250 ,pdata 
+0x570b 022498 call delay 
+0x570c 022499 fetch 1 ,mem_le_adv_channel_map_temp 
+0x570d 022500 fetcht 1 ,mem_le_adv_channel_map 
+0x570e 022501 isub temp ,null 
+0x570f 022502 nbranch le_adv_loop ,zero 
+0x5710 022503 arg le_adv_interval_timer ,queue 
+0x5711 022504 fetch 2 ,mem_le_adv_interval 
+0x5712 022505 branch timer_init 
+:      022508 le_receive_window_size:
+0x5713 022509 bpatchx patch2d_3 ,mem_patch2d 
+0x5714 022510 fetch 1 ,mem_le_peer_sca 
+0x5715 022511 call le_sca_map 
+0x5716 022512 fetch 2 ,mem_le_tsniff 
+0x5717 022513 imul32 temp ,pdata 
+0x5718 022514 arg 375 ,temp 
+0x5719 022515 imul32 temp ,pdata 
+0x571a 022516 arg 100000 ,temp 
+0x571b 022517 idiv temp 
+0x571c 022518 fetch 1 ,mem_le_window_size 
+0x571d 022519 arg 20000 ,temp 
+0x571e 022520 imul32 temp ,pdata 
+0x571f 022521 iadd temp ,pdata 
+0x5720 022522 store 4 ,mem_le_transmit_window 
+0x5721 022523 bpatchx patch2d_4 ,mem_patch2d 
+0x5722 022524 fetch 2 ,mem_rx_window_sniff 
+0x5723 022525 call wait_div_end 
+0x5724 022526 quotient temp 
+0x5725 022527 iadd temp ,pdata 
+0x5726 022528 store 2 ,mem_le_receive_window 
+0x5727 022529 rtn 
+:      022531 le_parse_connect_req:
+0x5728 022532 bpatchx patch2d_5 ,mem_patch2d 
+0x5729 022533 fetch 6 ,mem_le_rxbuf + 8 
+0x572a 022534 fetcht 6 ,mem_le_lap 
+0x572b 022535 isub temp ,null 
+0x572c 022536 nrtn zero 
+0x572d 022537 call le_scan_check_sender_addr_type 
+0x572e 022538 copy rega ,pdata 
+0x572f 022539 store 1 ,mem_le_conn_peer_addr_type 
+0x5730 022540 fetch 7 ,mem_le_rxbuf + 21 
+0x5731 022541 store 7 ,mem_tmp_buffer 
+0x5732 022542 ifetch 8 ,contr 
+0x5733 022543 istore 8 ,contw 
+0x5734 022544 fetch 6 ,mem_le_rxbuf + 2 
+0x5735 022545 store 6 ,mem_le_plap 
+0x5736 022546 increase 6 ,contr 
+0x5737 022547 ifetch 8 ,contr 
+0x5738 022548 store 8 ,mem_le_access 
+0x5739 022549 ifetcht 2 ,contr 
+0x573a 022550 bpatchx patch2d_6 ,mem_patch2d 
+0x573b 022551 lshift2 temp ,temp 
+0x573c 022552 ifetch 2 ,contr 
+0x573d 022553 lshift2 pdata ,pdata 
+0x573e 022554 store 2 ,mem_le_tsniff 
+0x573f 022555 store 4 ,mem_le_anchor 
+0x5740 022556 isub temp ,pdata 
+0x5741 022557 add pdata ,-2 ,clke_bt 
+0x5742 022558 ifetch 9 ,contr 
+0x5743 022559 store 9 ,mem_le_slave_latency 
+0x5744 022560 bpatchx patch2d_7 ,mem_patch2d 
+0x5745 022561 ifetch 1 ,contr 
+0x5746 022562 rshift4 pdata ,temp 
+0x5747 022563 rshift temp ,temp 
+0x5748 022564 storet 1 ,mem_le_peer_sca 
+0x5749 022565 and_into 0x1f ,pdata 
+0x574a 022566 store 1 ,mem_le_hop 
+0x574b 022567 call le_receive_window_size 
+0x574c 022568 call le_calc_channel_map 
+0x574d 022569 call le_init_slave 
+0x574e 022570 call context_new 
+0x574f 022571 nrtn zero 
+0x5750 022572 bpatchx patch2e_0 ,mem_patch2e 
+0x5751 022573 call calc_clke_offset 
+0x5752 022574 call le_l2cap_reset_signaling_identifier 
+0x5753 022575 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5754 022576 call ui_ipc_send_event 
+0x5755 022577 branch context_save 
+:      022580 le_init_attlist_search:
+0x5756 022581 bpatchx patch2e_1 ,mem_patch2e 
+0x5757 022582 fetch 2 ,mem_le_search_handle_start 
+0x5758 022583 iforce regb 
+0x5759 022584 fetch 2 ,mem_le_search_handle_end 
+0x575a 022585 iforce regc 
+0x575b 022586 fetch 2 ,mem_ui_le_uuid_table 
+0x575c 022587 iforce contr 
+0x575d 022588 enable user 
+0x575e 022589 rtn 
+:      022592 le_att_handle_inrange:
+0x575f 022593 ifetch 2 ,contr 
+0x5760 022594 rtn blank 
+0x5761 022595 isub regb ,null 
+0x5762 022596 nrtn positive 
+0x5763 022597 isub regc ,null 
+0x5764 022598 rtn zero 
+0x5765 022599 branch le_att_handle_blank ,positive 
+0x5766 022600 force 1 ,null 
+0x5767 022601 rtn 
+:      022602 le_att_handle_blank:
+0x5768 022603 force 0 ,pdata 
+0x5769 022604 rtn 
+:      022608 le_att_get_handle_ptr:
+0x576a 022609 call le_att_get_handle_ptr2 
+0x576b 022610 branch le_att_get_handle_ptr_found ,zero 
+0x576c 022611 rtn 
+:      022613 le_att_get_handle_ptr2:
+0x576d 022614 bpatchx patch2e_2 ,mem_patch2e 
+0x576e 022615 fetch 2 ,mem_ui_le_uuid_table 
+0x576f 022616 iforce contr 
+:      022617 le_att_get_handle_loop1:
+0x5770 022618 ifetch 2 ,contr 
+0x5771 022619 rtn blank 
+0x5772 022620 isub temp ,null 
+0x5773 022621 rtn zero 
+0x5774 022622 ifetch 1 ,contr 
+0x5775 022623 iadd contr ,contr 
+0x5776 022624 ifetch 1 ,contr 
+0x5777 022625 iadd contr ,contr 
+0x5778 022626 branch le_att_get_handle_loop1 
+:      022627 le_att_get_handle_ptr_found:
+0x5779 022628 ifetch 1 ,contr 
+0x577a 022629 iadd contr ,contr 
+0x577b 022630 rtn 
+:      022634 le_att_get_short_uuid_ptr:
+0x577c 022635 bpatchx patch2e_3 ,mem_patch2e 
+0x577d 022636 fetch 2 ,mem_ui_le_uuid_table 
+0x577e 022637 iforce contr 
+:      022638 le_att_get_short_uuid_loop:
+0x577f 022639 ifetch 2 ,contr 
+0x5780 022640 rtn blank 
+0x5781 022641 ifetch 1 ,contr 
+0x5782 022642 iadd contr ,contr 
+0x5783 022643 increase -2 ,contr 
+0x5784 022644 ifetch 2 ,contr 
+0x5785 022645 isub temp ,null 
+0x5786 022646 rtn zero 
+0x5787 022647 ifetch 1 ,contr 
+0x5788 022648 iadd contr ,contr 
+0x5789 022649 branch le_att_get_short_uuid_loop 
+:      022653 le_att_get_handle_info_from_ptr:
+0x578a 022654 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x578b 022655 branch le_att_get_handle_info_fast 
+:      022657 le_att_get_handle_info:
+0x578c 022658 bpatchx patch2e_4 ,mem_patch2e 
+0x578d 022659 fetch 2 ,mem_ui_le_uuid_table 
+:      022660 le_att_get_handle_info_fast:
+0x578e 022661 iforce contr 
+0x578f 022662 copy temp ,rega 
+:      022663 le_att_get_handle_loop:
+0x5790 022664 ifetch 2 ,contr 
+0x5791 022665 branch le_att_unfind_handle ,blank 
+0x5792 022666 isub rega ,null 
+0x5793 022667 branch le_att_finded_handle ,zero 
+0x5794 022668 ifetch 1 ,contr 
+0x5795 022669 iadd contr ,contr 
+0x5796 022670 ifetch 1 ,contr 
+0x5797 022671 iadd contr ,contr 
+0x5798 022672 branch le_att_get_handle_loop 
+:      022673 le_att_unfind_handle:
+0x5799 022674 branch disable_blank 
+:      022676 le_att_finded_handle:
+0x579a 022677 ifetch 1 ,contr 
+0x579b 022678 store 1 ,mem_le_cur_uuid_length 
+0x579c 022679 copy pdata ,loopcnt 
+0x579d 022680 arg mem_le_cur_uuid ,contw 
+0x579e 022681 call memcpy_fast 
+0x579f 022682 ifetch 1 ,contr 
+0x57a0 022683 store 1 ,mem_le_curr_att_len 
+0x57a1 022684 call store_contr 
+0x57a2 022685 branch enable_blank 
+:      022688 le_modified_name:
+0x57a3 022689 bpatchx patch2e_5 ,mem_patch2e 
+0x57a4 022690 call le_modified_name_att_list 
+0x57a5 022691 branch le_modified_name_adv 
+:      022693 le_modified_name_att_list:
+0x57a6 022694 arg uuid_chrctr_device_name ,temp 
+0x57a7 022695 call le_att_get_short_uuid_ptr 
+0x57a8 022696 rtn blank 
+0x57a9 022697 ifetch 1 ,contr 
+0x57aa 022698 copy contr ,contw 
+0x57ab 022699 fetcht 1 ,mem_le_name_len 
+0x57ac 022700 copy temp ,loopcnt 
+0x57ad 022701 isub temp ,null 
+0x57ae 022702 nbranch le_name_length_longer_than_att ,positive 
+0x57af 022703 isub temp ,temp 
+0x57b0 022704 arg mem_le_name ,contr 
+0x57b1 022705 call memcpy 
+0x57b2 022706 copy temp ,loopcnt 
+0x57b3 022707 ncall memcpy_empty ,zero 
+0x57b4 022708 rtn 
+:      022709 le_name_length_longer_than_att:
+0x57b5 022710 copy pdata ,loopcnt 
+0x57b6 022711 arg mem_le_name ,contr 
+0x57b7 022712 branch memcpy_fast 
+:      022715 le_modified_name_adv:
+0x57b8 022716 arg mem_le_adv_data_len + 32 ,regc 
+0x57b9 022717 arg mem_le_adv_data ,rega 
+0x57ba 022718 call le_modified_name_adv_and_scan 
+0x57bb 022719 setarg 0 
+0x57bc 022720 setflag user ,0 ,pdata 
+0x57bd 022721 store 1 ,mem_pdatatemp 
+0x57be 022722 arg mem_le_scan_data_len + 32 ,regc 
+0x57bf 022723 arg mem_le_scan_data ,rega 
+0x57c0 022724 call le_modified_name_adv_and_scan 
+0x57c1 022725 rtn user 
+0x57c2 022726 fetch 1 ,mem_pdatatemp 
+0x57c3 022727 branch assert ,blank 
+0x57c4 022728 rtn 
+:      022731 le_modified_name_adv_and_scan:
+0x57c5 022732 bpatchx patch2e_6 ,mem_patch2e 
+0x57c6 022733 call enable_user 
+0x57c7 022734 call clear_temp_block 
+0x57c8 022735 arg 0 ,regb 
+0x57c9 022736 arg mem_le_data_temp ,contw 
+0x57ca 022737 call le_modified_name_adv_loop 
+0x57cb 022738 fetch 1 ,mem_le_name_len 
+0x57cc 022739 add pdata ,1 ,temp 
+0x57cd 022740 iadd regb ,rega 
+0x57ce 022741 increase 2 ,rega 
+0x57cf 022742 sub rega ,0x1f ,null 
+0x57d0 022743 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x57d1 022744 istoret 1 ,contw 
+0x57d2 022745 arg gap_adtype_local_name_complete ,temp 
+0x57d3 022746 istoret 1 ,contw 
+0x57d4 022747 iforce loopcnt 
+0x57d5 022748 call memcpy_fast 
+0x57d6 022749 copy rega ,regb 
+:      022750 le_modified_name_adv_and_scan_store_data:
+0x57d7 022751 deposit regb 
+0x57d8 022752 store 1 ,mem_le_data_len_temp 
+0x57d9 022753 arg mem_le_data_len_temp ,contr 
+0x57da 022754 setarg -32 
+0x57db 022755 iadd regc ,contw 
+0x57dc 022756 branch memcpy32 
+:      022758 le_modified_name_adv_and_scan_name_overflow:
+0x57dd 022759 call disable_user 
+0x57de 022760 branch le_modified_name_adv_and_scan_store_data 
+:      022762 le_modified_name_adv_loop:
+0x57df 022763 ifetch 1 ,rega 
+0x57e0 022764 rtn blank 
+0x57e1 022765 pincrease 1 
+0x57e2 022766 ifetcht 1 ,contr 
+0x57e3 022767 sub temp ,gap_adtype_local_name_complete ,null 
+0x57e4 022768 branch le_modified_name_adv_found_name ,zero 
+0x57e5 022769 iadd regb ,regb 
+0x57e6 022770 copy rega ,contr 
+0x57e7 022771 iforce loopcnt 
+0x57e8 022772 call memcpy_fast 
+0x57e9 022773 copy contr ,rega 
+:      022774 le_modified_name_adv_loop2:
+0x57ea 022775 deposit rega 
+0x57eb 022776 isub regc ,null 
+0x57ec 022777 rtn positive 
+0x57ed 022778 branch le_modified_name_adv_loop 
+:      022780 le_modified_name_adv_found_name:
+0x57ee 022781 iadd rega ,rega 
+0x57ef 022782 branch le_modified_name_adv_loop2 
+:      022785 memcpy_empty:
+0x57f0 022786 setarg space 
+0x57f1 022787 istore 1 ,contw 
+0x57f2 022788 loop memcpy_empty 
+0x57f3 022789 rtn 
+:      022792 le_lpm_set_mult:
+0x57f4 022793 bpatchx patch2e_7 ,mem_patch2e 
+0x57f5 022794 disable wake 
+0x57f6 022795 branch le_lpm_set_mult_attempt ,attempt 
+0x57f7 022796 nbranch le_lpm_lost ,match 
+:      022797 le_lpm_set_mult_attempt:
+0x57f8 022798 call lpm_match 
+0x57f9 022799 fetch 2 ,mem_rx_window_sniff 
+0x57fa 022800 store 2 ,mem_le_receive_window 
+0x57fb 022802 nbranch lpm_mult_short ,match 
+0x57fc 022803 bmark1 mark_old_packet ,lpm_mult_short 
+0x57fd 022805 fetch 1 ,mem_le_packet_size 
+0x57fe 022806 nbranch lpm_mult_short ,blank 
+0x57ff 022807 fetch 1 ,mem_le_txlen 
+0x5800 022808 nbranch lpm_mult_short ,blank 
+0x5801 022810 fetch 1 ,mem_le_configuration 
+0x5802 022811 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5803 022813 fetch 1 ,mem_le_state 
+0x5804 022814 bbit1 lestate_update_param ,lpm_mult_short 
+0x5805 022815 branch lpm_mult_wait_timeout 
+:      022817 le_lpm_lost:
+0x5806 022818 fetcht 2 ,mem_rx_window_sniff 
+0x5807 022819 rshift temp ,temp 
+0x5808 022820 fetch 2 ,mem_le_receive_window 
+0x5809 022821 iadd temp ,pdata 
+0x580a 022822 store 2 ,mem_le_receive_window 
+0x580b 022823 branch lpm_lost 
+:      022826 le_set_config_fixed_tk:
+0x580c 022827 arg bit_ble_passkey_fixed_key ,queue 
+0x580d 022828 branch le_set_config 
+:      022830 le_clr_config_fixed_tk:
+0x580e 022831 arg bit_ble_passkey_fixed_key ,queue 
+0x580f 022832 branch le_clr_config 
+:      022834 le_set_config_fixed_ltk:
+0x5810 022835 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5811 022836 branch le_set_config 
+:      022838 le_clr_config_fixed_ltk:
+0x5812 022839 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5813 022840 branch le_clr_config 
+:      022842 le_set_config_more_data:
+0x5814 022843 arg bit_ble_transmit_packet_by_md ,queue 
+0x5815 022844 branch le_set_config 
+:      022846 le_clr_config_more_data:
+0x5816 022847 arg bit_ble_transmit_packet_by_md ,queue 
+0x5817 022848 branch le_clr_config 
+:      022850 le_set_config_read_authentication:
+0x5818 022851 arg bit_ble_read_auth ,queue 
+0x5819 022852 branch le_set_config 
+:      022854 le_clr_config_read_authentication:
+0x581a 022855 arg bit_ble_read_auth ,queue 
+0x581b 022856 branch le_clr_config 
+:      022858 le_set_config_write_authentication:
+0x581c 022859 arg bit_ble_write_auth ,queue 
+0x581d 022860 branch le_set_config 
+:      022862 le_clr_config_write_authentication:
+0x581e 022863 arg bit_ble_write_auth ,queue 
+0x581f 022864 branch le_clr_config 
+:      022866 le_set_config_short_mult:
+0x5820 022867 arg bit_ble_short_mult ,queue 
+0x5821 022868 branch le_set_config 
+:      022870 le_clr_config_short_mult:
+0x5822 022871 arg bit_ble_short_mult ,queue 
+0x5823 022872 branch le_clr_config 
+:      022875 le_set_config:
+0x5824 022876 fetch 1 ,mem_le_configuration 
+0x5825 022877 qset1 pdata 
+0x5826 022878 store 1 ,mem_le_configuration 
+0x5827 022879 rtn 
+:      022881 le_clr_config:
+0x5828 022882 fetch 1 ,mem_le_configuration 
+0x5829 022883 qset0 pdata 
+0x582a 022884 store 1 ,mem_le_configuration 
+0x582b 022885 rtn 
+:      022887 le_set_fixed_ltk:
+0x582c 022888 setarg 0x112233 
+0x582d 022889 store 3 ,mem_le_fixed_ltk 
+0x582e 022890 setarg 0x445566 
+0x582f 022891 istore 3 ,contw 
+0x5830 022892 setarg 0x778899 
+0x5831 022893 istore 3 ,contw 
+0x5832 022894 setarg 0x001122 
+0x5833 022895 istore 3 ,contw 
+0x5834 022896 setarg 0x334455 
+0x5835 022897 istore 3 ,contw 
+0x5836 022898 setarg 0x66 
+0x5837 022899 istore 1 ,contw 
+0x5838 022900 rtn 
+:      022903 le_set_justwork:
+0x5839 022904 setarg 0x01000302 
+0x583a 022905 store 4 ,mem_le_pres 
+0x583b 022906 setarg 0x010010 
+0x583c 022907 store 3 ,mem_le_pres_max_keysize 
+0x583d 022908 jam 1 ,mem_le_pairing_mode 
+0x583e 022909 rtn 
+:      022913 le_fifo_malloc_tx_empty:
+0x583f 022914 arg 0 ,rega 
+0x5840 022915 arg llid_empty ,type 
+0x5841 022916 branch le_fifo_malloc_tx 
+:      022920 le_fifo_malloc_tx_ll:
+0x5842 022921 arg llid_le_ll ,type 
+0x5843 022922 call le_fifo_malloc_tx 
+0x5844 022923 copy regb ,pdata 
+0x5845 022924 istore 1 ,contw 
+0x5846 022925 rtn 
+:      022929 le_fifo_malloc_tx_l2cap:
+0x5847 022930 force llid_l2cap_start ,type 
+0x5848 022931 increase 4 ,rega 
+0x5849 022932 call le_fifo_malloc_tx 
+0x584a 022933 increase -4 ,rega 
+0x584b 022934 copy rega ,pdata 
+0x584c 022935 istore 2 ,contw 
+0x584d 022936 copy regb ,pdata 
+0x584e 022937 istore 2 ,contw 
+0x584f 022938 rtn 
+:      022942 le_fifo_malloc_tx:
+0x5850 022943 sub rega ,240 ,null 
+0x5851 022944 nbranch assert ,positive 
+0x5852 022945 fetch 1 ,mem_le_tx_buff_used 
+0x5853 022946 arg 1 ,temp 
+0x5854 022947 arg le_tx_buff_count ,loopcnt 
+:      022948 le_fifo_malloc_tx_loop:
+0x5855 022949 iand temp ,null 
+0x5856 022950 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5857 022951 lshift temp ,temp 
+0x5858 022952 loop le_fifo_malloc_tx_loop 
+0x5859 022953 branch assert 
+:      022954 le_fifo_malloc_tx_got_empty:
+0x585a 022955 ixor temp ,pdata 
+0x585b 022956 store 1 ,mem_le_tx_buff_used 
+0x585c 022957 sub loopcnt ,le_tx_buff_count ,pdata 
+0x585d 022958 lshift4 pdata ,pdata 
+0x585e 022959 lshift4 pdata ,pdata 
+0x585f 022960 arg mem_le_tx_buffer0 ,temp 
+0x5860 022961 iadd temp ,temp 
+:      022962 le_fifo_tx_find_empty_ptr:
+0x5861 022963 arg 0 ,loopcnt 
+0x5862 022964 arg mem_le_tx_ptr0 ,contr 
+:      022965 le_fifo_tx_find_empty_ptr_loop:
+0x5863 022966 ifetch 2 ,contr 
+0x5864 022967 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5865 022968 copy loopcnt ,pdata 
+0x5866 022969 increase 1 ,loopcnt 
+0x5867 022970 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5868 022971 branch assert 
+:      022974 le_fifo_tx_found_empty_ptr:
+0x5869 022975 increase -2 ,contr 
+0x586a 022976 istoret 2 ,contr 
+0x586b 022977 copy temp ,contw 
+0x586c 022978 copy rega ,pdata 
+0x586d 022979 istore 1 ,contw 
+0x586e 022980 setarg 0 
+0x586f 022981 istore 1 ,contw 
+0x5870 022982 copy type ,pdata 
+0x5871 022983 istore 1 ,contw 
+0x5872 022984 rtn 
+:      022988 le_fifo_get_first_tx_ptr:
+0x5873 022989 fetch 2 ,mem_le_tx_ptr0 
+0x5874 022990 copy pdata ,contr 
+0x5875 022991 rtn 
+:      022993 le_fifo_get_second_tx_ptr:
+0x5876 022994 fetch 2 ,mem_le_tx_ptr1 
+0x5877 022995 copy pdata ,contr 
+0x5878 022996 rtn 
+:      022998 le_fifo_get_last_tx_ptr:
+0x5879 022999 call le_fifo_get_last_tx_ptr0 
+0x587a 023000 copy pdata ,contr 
+0x587b 023001 rtn 
+:      023002 le_fifo_get_last_tx_ptr0:
+0x587c 023003 fetch 2 ,mem_le_tx_ptr3 
+0x587d 023004 nrtn blank 
+0x587e 023005 fetch 2 ,mem_le_tx_ptr2 
+0x587f 023006 nrtn blank 
+0x5880 023007 fetch 2 ,mem_le_tx_ptr1 
+0x5881 023008 nrtn blank 
+0x5882 023009 fetch 2 ,mem_le_tx_ptr0 
+0x5883 023010 rtn 
+:      023012 le_fifo_get_first_l2cap_ptr:
+0x5884 023013 call le_fifo_get_first_tx_ptr 
+0x5885 023014 increase 3 ,contr 
+0x5886 023015 rtn 
+:      023017 le_fifo_get_first_att_ptr:
+0x5887 023018 call le_fifo_get_first_tx_ptr 
+0x5888 023019 increase 7 ,contr 
+0x5889 023020 rtn 
+:      023022 le_fifo_get_last_att_ptr:
+0x588a 023023 call le_fifo_get_last_tx_ptr 
+0x588b 023024 increase 7 ,contr 
+0x588c 023025 rtn 
+:      023027 le_fifo_get_last_l2cap_ptr:
+0x588d 023028 call le_fifo_get_last_tx_ptr 
+0x588e 023029 increase 3 ,contr 
+0x588f 023030 rtn 
+:      023034 le_fifo_check_full:
+0x5890 023035 fetch 2 ,mem_le_tx_ptr3 
+0x5891 023036 rtn 
+:      023039 le_fifo_check_nearly_full:
+0x5892 023040 fetch 2 ,mem_le_tx_ptr2 
+0x5893 023041 rtn 
+:      023044 le_fifo_check_empty:
+0x5894 023045 fetch 2 ,mem_le_tx_ptr0 
+0x5895 023046 rtn 
+:      023049 le_fifo_release_first_node:
+0x5896 023050 fetch 2 ,mem_le_tx_ptr0 
+0x5897 023051 arg mem_le_tx_buffer0 ,temp 
+0x5898 023052 isub temp ,pdata 
+0x5899 023053 rshift4 pdata ,pdata 
+0x589a 023054 rshift4 pdata ,queue 
+0x589b 023055 fetch 1 ,mem_le_tx_buff_used 
+0x589c 023056 qset0 pdata 
+0x589d 023057 store 1 ,mem_le_tx_buff_used 
+0x589e 023058 arg 0 ,loopcnt 
+:      023059 le_fifo_release_first_node_loop:
+0x589f 023060 lshift loopcnt ,pdata 
+0x58a0 023061 arg mem_le_tx_ptr1 ,temp 
+0x58a1 023062 iadd temp ,temp 
+0x58a2 023063 ifetch 2 ,temp 
+0x58a3 023064 increase -2 ,temp 
+0x58a4 023065 istore 2 ,temp 
+0x58a5 023066 copy loopcnt ,pdata 
+0x58a6 023067 increase 1 ,loopcnt 
+0x58a7 023068 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x58a8 023069 setarg 0 
+0x58a9 023070 istore 2 ,temp 
+0x58aa 023071 rtn 
+:      023077 le_parse_att:
+0x58ab 023078 ifetch 3 ,contr 
+0x58ac 023079 store 3 ,mem_le_att_opcode 
+0x58ad 023080 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x58ae 023081 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x58af 023082 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x58b0 023083 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x58b1 023084 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x58b2 023085 beq attop_read_request ,le_parse_att_read_request 
+0x58b3 023086 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x58b4 023087 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x58b5 023088 beq attop_write_request ,le_parse_att_write_request 
+0x58b6 023089 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x58b7 023090 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x58b8 023091 beq attop_write_command ,le_parse_att_write_command 
+0x58b9 023092 rtn 
+:      023095 le_send_att_exchange_mtu_requset:
+0x58ba 023096 force 3 ,rega 
+0x58bb 023097 call le_fifo_malloc_tx_l2cap_gatt 
+0x58bc 023098 setarg attop_exchange_mtu_request 
+0x58bd 023099 istore 1 ,contw 
+0x58be 023100 fetch 2 ,mem_le_local_mtu 
+0x58bf 023101 istore 2 ,contw 
+0x58c0 023102 rtn 
+:      023105 le_parse_att_exchange_mtu_request:
+0x58c1 023106 call le_parse_att_exchange_mtu_response 
+:      023107 le_send_att_exchange_mtu_response:
+0x58c2 023108 force 3 ,rega 
+0x58c3 023109 call le_fifo_malloc_tx_l2cap_gatt 
+0x58c4 023110 setarg attop_exchange_mtu_response 
+0x58c5 023111 istore 1 ,contw 
+0x58c6 023112 fetch 2 ,mem_le_local_mtu 
+0x58c7 023113 istore 2 ,contw 
+0x58c8 023114 rtn 
+:      023116 le_parse_att_exchange_mtu_response:
+0x58c9 023117 rshift8 pdata ,pdata 
+0x58ca 023118 store 2 ,mem_le_remote_mtu 
+0x58cb 023119 rtn 
+:      023121 le_parse_att_find_information_request:
+0x58cc 023122 call le_get_search_handle_start_end_common 
+0x58cd 023123 call enable_user 
+0x58ce 023124 branch le_send_att_find_information_response 
+:      023126 le_send_att_find_information_response:
+0x58cf 023127 arg 3 ,timeup 
+0x58d0 023128 call le_init_attlist_search 
+:      023129 le_send_att_find_information_res_loop:
+0x58d1 023130 call le_att_handle_inrange 
+0x58d2 023131 branch le_send_att_find_information_res_end ,blank 
+0x58d3 023132 nbranch le_send_att_find_information_res_next ,positive 
+0x58d4 023133 increase -2 ,contr 
+0x58d5 023134 call store_contr 
+0x58d6 023135 call get_contw 
+0x58d7 023136 nbranch le_send_att_find_information_res_store_info ,user 
+0x58d8 023137 call push_stack_rega_b_c 
+0x58d9 023138 call disable_user 
+0x58da 023139 force 20 ,rega 
+0x58db 023140 call le_fifo_malloc_tx_l2cap_gatt 
+0x58dc 023141 call pop_stack_rega_b_c 
+0x58dd 023142 setarg attop_find_information_response 
+0x58de 023143 istore 1 ,contw 
+0x58df 023144 setarg uuid_size_16bit 
+0x58e0 023145 istore 1 ,contw 
+:      023146 le_send_att_find_information_res_store_info:
+0x58e1 023147 call get_contr 
+0x58e2 023148 ifetch 2 ,contr 
+0x58e3 023149 istore 2 ,contw 
+0x58e4 023150 ifetch 1 ,contr 
+0x58e5 023151 copy pdata ,loopcnt 
+0x58e6 023152 call memcpy 
+0x58e7 023153 call store_contw 
+0x58e8 023154 increase -1 ,timeup 
+0x58e9 023155 branch le_send_att_find_information_res_end ,zero 
+:      023156 le_send_att_find_information_res_cont:
+0x58ea 023157 ifetch 1 ,contr 
+0x58eb 023158 iadd contr ,contr 
+0x58ec 023159 branch le_send_att_find_information_res_loop 
+:      023160 le_send_att_find_information_res_next:
+0x58ed 023161 ifetch 1 ,contr 
+0x58ee 023162 iadd contr ,contr 
+0x58ef 023163 branch le_send_att_find_information_res_cont 
+:      023164 le_send_att_find_information_res_end:
+0x58f0 023165 branch le_send_att_error_response_notfound ,user 
+0x58f1 023166 branch le_send_auto_len_by_mem 
+:      023169 le_parse_att_find_by_type_value_request:
+0x58f2 023170 call le_get_search_handle_start_end_common 
+0x58f3 023171 ifetch 2 ,contr 
+0x58f4 023172 store 2 ,mem_le_search_uuid 
+0x58f5 023173 call store_contr 
+0x58f6 023174 arg mem_le_search_att_type_length ,contw 
+0x58f7 023175 fetch 2 ,mem_le_l2cap_size 
+0x58f8 023176 increase -7 ,pdata 
+0x58f9 023177 call le_get_search_common2 
+0x58fa 023178 branch le_send_att_find_by_type_value_response 
+:      023181 le_start_end_handle_check_1:
+0x58fb 023182 disable user 
+0x58fc 023183 fetcht 2 ,mem_le_search_handle_start 
+0x58fd 023184 fetch 2 ,mem_le_search_handle_end 
+0x58fe 023185 isub temp ,null 
+0x58ff 023186 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5900 023187 deposit temp 
+0x5901 023188 rtnne 0 
+:      023189 le_start_end_handle_check_1_fail:
+0x5902 023190 enable user 
+0x5903 023191 jam att_err_invalid_handle ,mem_le_err_code 
+0x5904 023192 branch le_send_att_error_response 
+:      023195 le_send_att_find_by_type_value_response:
+0x5905 023196 call le_start_end_handle_check_1 
+0x5906 023197 rtn user 
+0x5907 023198 fetcht 2 ,mem_le_search_uuid 
+0x5908 023199 setarg uuid_gatt_primary_service 
+0x5909 023200 isub temp ,null 
+0x590a 023201 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x590b 023202 branch le_send_att_error_response_notfound 
+:      023205 le_send_att_find_by_type_value_res_primary:
+0x590c 023206 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x590d 023207 fetcht 2 ,mem_le_search_handle_start 
+0x590e 023208 storet 2 ,mem_temp 
+0x590f 023209 call le_att_get_handle_info 
+0x5910 023210 nbranch le_send_att_error_response_notfound ,blank 
+:      023211 le_send_att_find_primary_search_loop:
+0x5911 023212 fetcht 2 ,mem_temp 
+0x5912 023213 call le_att_get_handle_info 
+0x5913 023214 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5914 023215 copy contr ,rega 
+0x5915 023216 fetch 1 ,mem_le_curr_att_len 
+0x5916 023217 copy pdata ,loopcnt 
+0x5917 023218 fetcht 1 ,mem_le_search_att_type_length 
+0x5918 023219 isub temp ,null 
+0x5919 023220 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x591a 023221 arg mem_le_search_att_type ,regb 
+0x591b 023222 call string_compare 
+0x591c 023224 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x591d 023226 fetch 2 ,mem_le_cur_uuid 
+0x591e 023227 fetcht 2 ,mem_le_search_uuid 
+0x591f 023228 isub temp ,null 
+0x5920 023229 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      023230 le_send_att_find_primary_search_loop1:
+0x5921 023231 fetch 2 ,mem_temp 
+0x5922 023232 increase 1 ,pdata 
+0x5923 023233 store 2 ,mem_temp 
+0x5924 023234 branch le_send_att_find_primary_search_loop 
+:      023236 le_send_att_error_response_notfound2:
+0x5925 023237 fetch 1 ,mem_le_search_res 
+0x5926 023238 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5927 023239 branch le_send_att_error_response_notfound 
+:      023242 le_send_att_find_primary_search_end_start_handle_found:
+0x5928 023243 fetch 2 ,mem_le_cur_uuid 
+0x5929 023244 fetcht 2 ,mem_le_search_uuid 
+0x592a 023245 isub temp ,null 
+0x592b 023246 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x592c 023247 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x592d 023249 fetcht 2 ,mem_temp 
+0x592e 023250 storet 2 ,mem_le_cur_handle_start 
+0x592f 023251 branch le_send_att_find_primary_search_loop1 
+:      023253 le_send_att_find_primary_search_end_ending_handle_found:
+0x5930 023254 fetch 1 ,mem_le_search_res 
+0x5931 023255 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5932 023256 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5933 023257 fetcht 2 ,mem_temp 
+0x5934 023258 increase -1 ,temp 
+0x5935 023259 storet 2 ,mem_le_cur_handle_end 
+:      023261 le_send_att_find_primary_search_end:
+0x5936 023262 arg 5 ,rega 
+0x5937 023263 call le_fifo_malloc_tx_l2cap_gatt 
+0x5938 023264 setarg attop_find_by_type_value_response 
+0x5939 023265 istore 1 ,contw 
+0x593a 023266 fetch 2 ,mem_le_cur_handle_start 
+0x593b 023267 istore 2 ,contw 
+0x593c 023268 fetch 2 ,mem_le_cur_handle_end 
+0x593d 023269 istore 2 ,contw 
+0x593e 023270 rtn 
+:      023274 le_parse_att_read_by_type_request:
+0x593f 023275 call le_get_search_handle_start_end_common 
+0x5940 023276 call le_get_search_att_uuid 
+0x5941 023277 branch le_send_att_read_by_type_response 
+:      023279 le_send_att_read_by_type_response:
+0x5942 023280 fetcht 2 ,mem_le_search_handle_start 
+0x5943 023281 storet 2 ,mem_temp 
+0x5944 023282 call le_init_attlist_search 
+0x5945 023283 call le_att_get_handle_ptr2 
+0x5946 023284 increase -2 ,contr 
+0x5947 023285 copy contr ,pdata 
+0x5948 023286 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5949 023288 fetcht 2 ,mem_le_search_uuid 
+0x594a 023289 setarg uuid_chrctr_device_name 
+0x594b 023290 isub temp ,null 
+0x594c 023291 branch le_send_att_read_by_type_res_device_name ,zero 
+0x594d 023292 setarg uuid_gatt_characteristic 
+0x594e 023293 isub temp ,null 
+0x594f 023294 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5950 023295 arg 2 ,timeup 
+:      023296 le_send_att_read_by_type_response_loop:
+0x5951 023297 call le_att_check_handle_end 
+0x5952 023298 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5953 023299 fetcht 2 ,mem_temp 
+0x5954 023300 call le_att_get_handle_info_from_ptr 
+0x5955 023301 beq 1 ,le_send_att_read_by_type_response_end 
+0x5956 023302 call le_att_same_uuid 
+0x5957 023303 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5958 023304 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5959 023305 disable user 
+0x595a 023306 arg 20 ,rega 
+0x595b 023307 call le_fifo_malloc_tx_l2cap_gatt 
+0x595c 023308 setarg attop_read_by_type_response 
+0x595d 023309 istore 1 ,contw 
+0x595e 023310 copy contw ,alarm 
+0x595f 023311 increase 1 ,contw 
+0x5960 023313 call le_send_att_read_by_type_write_properties 
+0x5961 023314 call le_att_next_handle 
+0x5962 023315 call le_att_get_handle_info_from_ptr 
+0x5963 023316 call le_send_att_read_by_type_write_uuid 
+0x5964 023317 fetch 1 ,mem_le_cur_uuid_length 
+0x5965 023318 increase 5 ,pdata 
+0x5966 023319 istore 1 ,alarm 
+0x5967 023320 fetch 1 ,mem_le_cur_uuid_length 
+0x5968 023321 beq 16 ,le_send_att_read_by_type_response_end 
+0x5969 023322 increase -1 ,timeup 
+0x596a 023323 branch le_send_att_read_by_type_response_end ,zero 
+:      023324 le_send_att_read_by_type_response_next_handle:
+0x596b 023325 call le_att_next_handle 
+0x596c 023326 branch le_send_att_read_by_type_response_loop 
+:      023327 le_send_att_read_by_type_response_end:
+0x596d 023328 branch le_send_att_error_response_notfound ,user 
+0x596e 023329 branch le_send_auto_len_by_mem 
+:      023331 le_send_att_read_by_type_res_found_next:
+0x596f 023332 call le_store_att_record 
+0x5970 023333 call le_att_next_handle 
+0x5971 023334 call le_att_get_handle_info_from_ptr 
+0x5972 023335 fetch 1 ,mem_le_cur_uuid_length 
+0x5973 023336 beq 16 ,le_send_att_read_by_type_response_end 
+0x5974 023338 call get_contw 
+0x5975 023339 fetch 2 ,mem_temp 
+0x5976 023340 increase -1 ,pdata 
+0x5977 023341 istore 2 ,contw 
+0x5978 023342 call le_write_att_record_common 
+0x5979 023343 call le_send_att_read_by_type_write_uuid 
+0x597a 023344 increase -1 ,timeup 
+0x597b 023345 branch le_send_att_read_by_type_response_end ,zero 
+0x597c 023346 branch le_send_att_read_by_type_response_next_handle 
+:      023349 le_send_att_read_by_type_write_properties:
+0x597d 023350 fetch 2 ,mem_temp 
+0x597e 023351 istore 2 ,contw 
+0x597f 023353 fetch 1 ,mem_le_curr_att_len 
+0x5980 023354 copy pdata ,loopcnt 
+0x5981 023355 call get_contr 
+0x5982 023356 call memcpy_fast 
+0x5983 023357 branch store_contw 
+:      023358 le_send_att_read_by_type_write_uuid:
+0x5984 023359 call get_contw 
+0x5985 023360 fetch 2 ,mem_temp 
+0x5986 023361 istore 2 ,contw 
+0x5987 023362 call store_contw 
+0x5988 023363 fetch 1 ,mem_le_cur_uuid_length 
+0x5989 023364 copy pdata ,loopcnt 
+0x598a 023365 call get_contw 
+0x598b 023366 call get_contr 
+0x598c 023367 isub loopcnt ,contr 
+0x598d 023368 increase -1 ,contr 
+0x598e 023369 call memcpy_fast 
+0x598f 023370 branch store_contw 
+:      023374 le_send_att_read_by_type_res_not_characteristic:
+0x5990 023375 fetcht 2 ,mem_le_search_handle_start 
+0x5991 023376 storet 2 ,mem_temp 
+:      023377 le_send_att_read_by_type_res_not_char_loop:
+0x5992 023378 call le_att_check_handle_end 
+0x5993 023379 nbranch le_send_att_error_response_notfound ,positive 
+0x5994 023380 call le_att_get_handle_info_from_ptr 
+0x5995 023381 beq 1 ,le_send_att_error_response_notfound 
+0x5996 023382 call le_att_same_uuid 
+0x5997 023383 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      023385 le_send_att_read_by_type_res_not_char_common:
+0x5998 023386 arg 20 ,rega 
+0x5999 023387 call le_fifo_malloc_tx_l2cap_gatt 
+0x599a 023388 setarg attop_read_by_type_response 
+0x599b 023389 istore 1 ,contw 
+0x599c 023390 fetch 1 ,mem_le_curr_att_len 
+0x599d 023391 copy pdata ,loopcnt 
+0x599e 023392 increase 2 ,pdata 
+0x599f 023393 istore 1 ,contw 
+0x59a0 023394 fetch 2 ,mem_temp 
+0x59a1 023395 istore 2 ,contw 
+0x59a2 023396 call get_contr 
+0x59a3 023397 call memcpy_fast 
+0x59a4 023398 call store_contw 
+0x59a5 023399 branch le_send_auto_len_by_mem 
+:      023401 le_send_att_read_by_type_res_not_char_next:
+0x59a6 023402 call le_att_next_handle 
+0x59a7 023403 branch le_send_att_read_by_type_res_not_char_loop 
+:      023406 le_send_att_read_by_type_res_device_name:
+0x59a8 023407 arg uuid_chrctr_device_name ,temp 
+0x59a9 023408 call le_att_get_short_uuid_ptr 
+0x59aa 023409 rtn blank 
+0x59ab 023410 increase -5 ,contr 
+0x59ac 023411 ifetch 2 ,contr 
+0x59ad 023412 store 2 ,mem_temp 
+0x59ae 023413 arg 20 ,rega 
+0x59af 023414 call le_fifo_malloc_tx_l2cap_gatt 
+0x59b0 023415 setarg attop_read_by_type_response 
+0x59b1 023416 istore 1 ,contw 
+0x59b2 023417 fetch 1 ,mem_le_name_len 
+0x59b3 023418 copy pdata ,loopcnt 
+0x59b4 023419 increase 2 ,pdata 
+0x59b5 023420 istore 1 ,contw 
+0x59b6 023421 fetch 2 ,mem_temp 
+0x59b7 023422 istore 2 ,contw 
+0x59b8 023423 arg mem_le_name ,contr 
+0x59b9 023424 call memcpy_fast 
+0x59ba 023425 call store_contw 
+0x59bb 023426 branch le_send_auto_len_by_mem 
+:      023430 le_parse_att_read_request:
+0x59bc 023431 fetcht 2 ,mem_le_att_handle 
+0x59bd 023432 fetch 1 ,mem_le_configuration 
+0x59be 023433 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      023435 le_send_att_read_response:
+0x59bf 023436 call le_att_get_handle_ptr 
+0x59c0 023437 branch le_send_att_error_response_notfound ,blank 
+0x59c1 023438 increase -2 ,contr 
+0x59c2 023439 ifetch 2 ,contr 
+0x59c3 023440 arg uuid_chrctr_device_name ,temp 
+0x59c4 023441 isub temp ,null 
+0x59c5 023442 branch le_send_device_name ,zero 
+0x59c6 023443 ifetch 1 ,contr 
+0x59c7 023444 sub pdata ,22 ,null 
+0x59c8 023445 branch le_send_att_read_response_less ,positive 
+0x59c9 023446 force 22 ,pdata 
+:      023447 le_send_att_read_response_less:
+0x59ca 023448 copy pdata ,regc 
+0x59cb 023449 call store_contr 
+0x59cc 023450 add regc ,1 ,rega 
+0x59cd 023451 call le_fifo_malloc_tx_l2cap_gatt 
+0x59ce 023452 setarg attop_read_response 
+0x59cf 023453 istore 1 ,contw 
+0x59d0 023454 copy regc ,loopcnt 
+0x59d1 023455 call get_contr 
+0x59d2 023456 branch memcpy 
+:      023458 le_send_device_name:
+0x59d3 023459 call store_contr 
+0x59d4 023460 fetch 1 ,mem_le_name_len 
+0x59d5 023461 add pdata ,1 ,rega 
+0x59d6 023462 call le_fifo_malloc_tx_l2cap_gatt 
+0x59d7 023463 setarg attop_read_response 
+0x59d8 023464 istore 1 ,contw 
+0x59d9 023465 fetch 1 ,mem_le_name_len 
+0x59da 023466 copy pdata ,loopcnt 
+0x59db 023467 arg mem_le_name ,contr 
+0x59dc 023468 branch memcpy 
+:      023471 le_send_att_read_response_check_auth:
+0x59dd 023472 fetch 2 ,mem_le_pairing_handle 
+0x59de 023473 isub temp ,null 
+0x59df 023474 nbranch le_send_att_read_response ,zero 
+0x59e0 023476 call le_check_encrypt_state 
+0x59e1 023477 nbranch le_send_att_read_response ,user 
+0x59e2 023478 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x59e3 023479 branch le_send_att_error_response 
+:      023482 le_parse_att_read_blob_request:
+0x59e4 023483 ifetch 2 ,contr 
+0x59e5 023484 store 2 ,mem_le_att_offset 
+:      023485 le_send_att_read_blob_response:
+0x59e6 023486 arg 20 ,rega 
+0x59e7 023487 call le_fifo_malloc_tx_l2cap_gatt 
+0x59e8 023488 setarg attop_read_blob_response 
+0x59e9 023489 istore 1 ,contw 
+0x59ea 023490 fetch 2 ,mem_le_att_offset 
+0x59eb 023491 iforce rega 
+0x59ec 023492 fetcht 2 ,mem_le_att_handle 
+0x59ed 023493 call le_att_get_handle_ptr 
+0x59ee 023494 branch le_send_att_error_response_notfound ,blank 
+0x59ef 023495 ifetch 1 ,contr 
+0x59f0 023496 isub rega ,loopcnt 
+0x59f1 023497 nbranch le_send_att_error_response_notfound ,positive 
+0x59f2 023498 sub loopcnt ,22 ,null 
+0x59f3 023499 branch le_send_att_read_blob_response_less ,positive 
+0x59f4 023500 force 22 ,loopcnt 
+:      023501 le_send_att_read_blob_response_less:
+0x59f5 023502 deposit rega 
+0x59f6 023503 iadd contr ,contr 
+0x59f7 023504 call memcpy_fast 
+0x59f8 023505 call store_contw 
+0x59f9 023506 branch le_send_auto_len_by_mem 
+:      023509 le_parse_att_read_by_group_type_request:
+0x59fa 023510 call le_get_search_handle_start_end_common 
+0x59fb 023511 call le_get_search_att_type 
+0x59fc 023512 branch le_send_att_read_by_group_type_response 
+:      023517 le_send_att_read_by_group_type_response:
+0x59fd 023518 arg 2 ,timeup 
+0x59fe 023519 fetcht 2 ,mem_le_search_handle_start 
+0x59ff 023523 storet 2 ,mem_temp 
+0x5a00 023524 call le_init_attlist_search 
+0x5a01 023525 call le_att_get_handle_ptr2 
+0x5a02 023526 increase -2 ,contr 
+0x5a03 023527 copy contr ,pdata 
+0x5a04 023528 store 2 ,mem_le_cur_attlist_start_ptr 
+:      023529 le_send_att_read_by_group_type_response_loop:
+0x5a05 023530 call le_att_check_handle_end 
+0x5a06 023531 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5a07 023532 fetcht 2 ,mem_temp 
+0x5a08 023533 call le_att_get_handle_info_from_ptr 
+0x5a09 023534 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5a0a 023536 call le_att_same_type 
+0x5a0b 023537 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5a0c 023538 copy timeup ,pdata 
+0x5a0d 023539 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5a0e 023540 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5a0f 023541 disable user 
+0x5a10 023543 arg 20 ,rega 
+0x5a11 023544 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a12 023545 setarg attop_read_by_group_type_response 
+0x5a13 023546 istore 1 ,contw 
+0x5a14 023547 fetch 1 ,mem_le_curr_att_len 
+0x5a15 023548 increase 4 ,pdata 
+0x5a16 023549 istore 1 ,contw 
+0x5a17 023550 call store_contw 
+0x5a18 023551 branch le_send_att_read_by_group_type_store_record 
+:      023552 le_send_att_read_by_group_type_store_write_record:
+0x5a19 023553 fetch 1 ,mem_le_curr_att_len 
+0x5a1a 023554 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5a1b 023555 fetch 2 ,mem_temp 
+0x5a1c 023556 increase -1 ,pdata 
+0x5a1d 023557 store 2 ,mem_le_cur_handle_end 
+0x5a1e 023558 call le_write_att_record 
+:      023559 le_send_att_read_by_group_type_store_record:
+0x5a1f 023560 fetch 2 ,mem_temp 
+0x5a20 023561 store 2 ,mem_le_cur_handle_start 
+0x5a21 023562 call le_store_att_record 
+0x5a22 023563 increase -1 ,timeup 
+:      023565 le_send_att_read_by_group_type_next_handle:
+0x5a23 023566 call le_att_next_handle 
+0x5a24 023567 branch le_send_att_read_by_group_type_response_loop 
+:      023569 le_send_att_read_by_group_type_end0:
+0x5a25 023570 fetch 2 ,mem_temp 
+0x5a26 023571 store 2 ,mem_le_cur_handle_end 
+0x5a27 023572 branch le_send_att_read_by_group_type_end_common 
+:      023573 le_send_att_read_by_group_type_end1:
+0x5a28 023574 fetch 2 ,mem_temp 
+0x5a29 023575 increase -1 ,pdata 
+0x5a2a 023576 store 2 ,mem_le_cur_handle_end 
+0x5a2b 023577 branch le_send_att_read_by_group_type_end_common 
+:      023578 le_send_att_read_by_group_type_end_common:
+0x5a2c 023579 branch le_send_att_error_response_notfound ,user 
+0x5a2d 023580 call le_write_att_record 
+0x5a2e 023581 branch le_send_auto_len_by_mem 
+:      023586 le_parse_att_write_request:
+0x5a2f 023587 copy contr ,rega 
+0x5a30 023588 fetch 2 ,mem_le_l2cap_size 
+0x5a31 023589 add pdata ,-3 ,regb 
+0x5a32 023590 call le_writeatt_cb 
+:      023591 le_send_att_write_response_check_auth:
+0x5a33 023592 fetch 1 ,mem_le_configuration 
+0x5a34 023593 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5a35 023595 fetcht 2 ,mem_le_att_handle 
+0x5a36 023596 fetch 2 ,mem_le_pairing_handle 
+0x5a37 023597 isub temp ,null 
+0x5a38 023598 nbranch le_send_att_write_response ,zero 
+0x5a39 023599 call le_check_encrypt_state 
+0x5a3a 023600 nbranch le_send_att_write_response ,user 
+0x5a3b 023601 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5a3c 023602 branch le_send_att_error_response 
+:      023604 le_send_att_write_response:
+0x5a3d 023605 force 1 ,rega 
+0x5a3e 023606 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a3f 023607 setarg attop_write_response 
+0x5a40 023608 istore 1 ,contw 
+0x5a41 023609 rtn 
+:      023611 le_check_encrypt_state:
+0x5a42 023612 call disable_user 
+0x5a43 023613 fetch 1 ,mem_le_pairing_mode 
+0x5a44 023614 rtneq le_pairing_mode_none 
+0x5a45 023615 fetch 1 ,mem_context 
+0x5a46 023616 rtnbit1 lestate_encryption 
+0x5a47 023617 branch enable_user 
+:      023620 le_parse_att_prepare_write_request:
+0x5a48 023621 add contr ,2 ,rega 
+0x5a49 023622 fetch 2 ,mem_le_l2cap_size 
+0x5a4a 023623 add pdata ,-5 ,regb 
+0x5a4b 023624 call le_writeatt_cb 
+0x5a4c 023625 branch le_send_att_prepare_write_response 
+:      023628 le_send_att_prepare_write_response:
+0x5a4d 023629 fetch 2 ,mem_le_l2cap_size 
+0x5a4e 023630 copy pdata ,rega 
+0x5a4f 023631 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a50 023632 setarg attop_prepare_write_response 
+0x5a51 023633 istore 1 ,contw 
+0x5a52 023634 fetch 2 ,mem_le_att_handle 
+0x5a53 023635 istore 2 ,contw 
+0x5a54 023636 fetch 2 ,mem_le_l2cap_size 
+0x5a55 023637 add pdata ,-5 ,loopcnt 
+0x5a56 023638 fetch 2 ,mem_le_payload_ptr 
+0x5a57 023639 add pdata ,7 ,contr 
+0x5a58 023640 ifetch 2 ,contr 
+0x5a59 023641 istore 2 ,contw 
+0x5a5a 023642 branch memcpy_fast 
+:      023646 le_parse_att_execute_write_request:
+:      023648 le_send_att_execute_write_response:
+0x5a5b 023649 force 1 ,rega 
+0x5a5c 023650 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a5d 023651 setarg attop_execute_write_response 
+0x5a5e 023652 istore 1 ,contw 
+0x5a5f 023653 rtn 
+:      023657 le_parse_att_write_command:
+0x5a60 023658 copy contr ,rega 
+0x5a61 023659 fetch 2 ,mem_le_l2cap_size 
+0x5a62 023660 add pdata ,-3 ,regb 
+0x5a63 023661 branch le_writeatt_cb 
+:      023666 le_att_malloc_tx_notify:
+0x5a64 023667 copy temp ,regc 
+0x5a65 023668 increase 3 ,rega 
+0x5a66 023669 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a67 023670 increase -3 ,rega 
+0x5a68 023671 setarg attop_handle_value_notification 
+0x5a69 023672 istore 1 ,contw 
+0x5a6a 023673 copy regc ,temp 
+0x5a6b 023674 istoret 2 ,contw 
+0x5a6c 023675 rtn 
+:      023678 le_att_malloc_tx_indication:
+0x5a6d 023679 copy temp ,regc 
+0x5a6e 023680 increase 3 ,rega 
+0x5a6f 023681 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a70 023682 increase -3 ,rega 
+0x5a71 023683 setarg attop_handle_value_indication 
+0x5a72 023684 istore 1 ,contw 
+0x5a73 023685 copy regc ,temp 
+0x5a74 023686 istoret 2 ,contw 
+0x5a75 023687 rtn 
+:      023692 le_send_att_error_response_notfound:
+0x5a76 023693 jam att_err_attribute_not_found ,mem_le_err_code 
+:      023694 le_send_att_error_response:
+0x5a77 023695 force 5 ,rega 
+0x5a78 023696 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a79 023697 setarg attop_error_response 
+0x5a7a 023698 istore 1 ,contw 
+0x5a7b 023699 fetch 1 ,mem_le_att_opcode 
+0x5a7c 023700 istore 1 ,contw 
+0x5a7d 023701 fetch 2 ,mem_le_att_handle 
+0x5a7e 023702 istore 2 ,contw 
+0x5a7f 023703 fetch 1 ,mem_le_err_code 
+0x5a80 023704 istore 1 ,contw 
+0x5a81 023705 rtn 
+:      023708 le_fifo_malloc_tx_l2cap_gatt:
+0x5a82 023709 force le_l2cap_cid_att ,regb 
+0x5a83 023710 branch le_fifo_malloc_tx_l2cap 
+:      023713 le_att_next_handle:
+0x5a84 023714 fetcht 2 ,mem_temp 
+0x5a85 023715 increase 1 ,temp 
+0x5a86 023716 storet 2 ,mem_temp 
+0x5a87 023717 rtn 
+:      023719 le_att_check_handle_end:
+0x5a88 023720 fetcht 2 ,mem_temp 
+0x5a89 023721 fetch 2 ,mem_le_search_handle_end 
+0x5a8a 023722 isub temp ,null 
+0x5a8b 023723 rtn 
+:      023726 le_att_same_type:
+0x5a8c 023727 fetcht 1 ,mem_le_search_att_type_length 
+0x5a8d 023728 arg mem_le_search_att_type ,rega 
+:      023729 le_att_check_same_common:
+0x5a8e 023730 fetch 1 ,mem_le_cur_uuid_length 
+0x5a8f 023731 copy pdata ,loopcnt 
+0x5a90 023732 isub temp ,null 
+0x5a91 023733 nrtn zero 
+0x5a92 023734 arg mem_le_cur_uuid ,regb 
+0x5a93 023735 branch string_compare 
+:      023737 le_att_same_uuid:
+0x5a94 023738 fetcht 1 ,mem_le_search_uuid_length 
+0x5a95 023739 arg mem_le_search_uuid ,rega 
+0x5a96 023740 branch le_att_check_same_common 
+:      023743 le_store_att_record:
+0x5a97 023744 fetch 1 ,mem_le_curr_att_len 
+0x5a98 023745 store 1 ,mem_tmp_buffer 
+0x5a99 023746 copy pdata ,loopcnt 
+0x5a9a 023747 call get_contr 
+0x5a9b 023748 branch memcpy_fast 
+:      023751 le_write_att_record:
+0x5a9c 023752 call get_contw 
+0x5a9d 023753 fetch 2 ,mem_le_cur_handle_start 
+0x5a9e 023754 istore 2 ,contw 
+0x5a9f 023755 fetch 2 ,mem_le_cur_handle_end 
+0x5aa0 023756 istore 2 ,contw 
+:      023757 le_write_att_record_common:
+0x5aa1 023758 fetch 1 ,mem_tmp_buffer 
+0x5aa2 023759 copy pdata ,loopcnt 
+0x5aa3 023760 call memcpy_fast 
+0x5aa4 023761 branch store_contw 
+:      023765 le_send_auto_len_by_mem:
+0x5aa5 023766 call get_contw 
+0x5aa6 023767 call le_fifo_get_last_att_ptr 
+0x5aa7 023768 copy contw ,pdata 
+0x5aa8 023769 isub contr ,rega 
+0x5aa9 023770 call le_fifo_get_last_l2cap_ptr 
+0x5aaa 023771 copy rega ,pdata 
+0x5aab 023772 istore 2 ,contr 
+0x5aac 023773 increase 4 ,rega 
+0x5aad 023774 call le_fifo_get_last_tx_ptr 
+0x5aae 023775 copy rega ,pdata 
+0x5aaf 023776 istore 1 ,contr 
+0x5ab0 023777 rtn 
+:      023780 le_get_search_handle_start_end_common:
+0x5ab1 023781 rshift8 pdata ,pdata 
+0x5ab2 023782 store 2 ,mem_le_search_handle_start 
+0x5ab3 023783 ifetch 2 ,contr 
+0x5ab4 023784 store 2 ,mem_le_search_handle_end 
+0x5ab5 023785 rtn 
+:      023790 le_parse_signaling:
+0x5ab6 023791 ifetch 1 ,contr 
+0x5ab7 023792 ifetcht 1 ,contr 
+0x5ab8 023793 ifetcht 2 ,contr 
+0x5ab9 023794 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5aba 023795 rtn 
+:      023796 le_l2cap_parse_conn_parameter_update_rsp:
+0x5abb 023797 ifetch 2 ,contr 
+0x5abc 023798 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5abd 023799 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5abe 023800 branch ui_ipc_send_event 
+:      023806 le_l2cap_tx_update_req:
+0x5abf 023807 arg 0x0c ,rega 
+0x5ac0 023808 arg l2cap_connection_parameter_update_request ,regc 
+0x5ac1 023809 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ac2 023810 setarg 0x08 
+0x5ac3 023811 istore 2 ,contw 
+0x5ac4 023812 fetch 8 ,mem_le_interval_min 
+0x5ac5 023813 istore 8 ,contw 
+0x5ac6 023814 rtn 
+:      023818 le_fifo_malloc_tx_l2cap_signaling:
+0x5ac7 023819 call le_l2cap_update_signaling_identifier 
+0x5ac8 023820 arg le_l2cap_cid_signal ,regb 
+0x5ac9 023821 call le_fifo_malloc_tx_l2cap 
+0x5aca 023822 copy regc ,pdata 
+0x5acb 023823 istore 1 ,contw 
+0x5acc 023824 fetch 1 ,mem_le_signaling_identifier 
+0x5acd 023825 istore 1 ,contw 
+0x5ace 023826 rtn 
+:      023829 le_l2cap_update_signaling_identifier:
+0x5acf 023830 fetch 1 ,mem_le_signaling_identifier 
+0x5ad0 023832 pincrease 1 
+0x5ad1 023833 store 1 ,mem_le_signaling_identifier 
+0x5ad2 023834 rtnne 0 
+:      023836 le_l2cap_reset_signaling_identifier:
+0x5ad3 023837 jam 1 ,mem_le_signaling_identifier 
+0x5ad4 023838 rtn 
+:      023843 le_pairing_mode_init:
+0x5ad5 023844 fetch 1 ,mem_le_pairing_mode 
+0x5ad6 023845 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5ad7 023846 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5ad8 023847 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5ad9 023848 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5ada 023849 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5adb 023850 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5adc 023851 rtn 
+:      023853 le_set_pairing_mode_secure_justwork:
+0x5add 023854 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ade 023855 branch le_set_noinputnooutput 
+:      023856 le_set_pairing_mode_secure_numeric:
+0x5adf 023857 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae0 023858 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ae1 023859 rtn 
+:      023860 le_set_pairing_mode_secure_passkey:
+0x5ae2 023861 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae3 023862 branch le_set_displayonly 
+:      023863 le_set_no_pairing:
+0x5ae4 023864 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      023865 le_set_noinputnooutput:
+0x5ae5 023866 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ae6 023867 rtn 
+:      023868 le_set_pairing_mode_lagacy_just_work:
+0x5ae7 023869 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ae8 023870 branch le_set_noinputnooutput 
+:      023871 le_set_pairing_mode_lagacy_passkey:
+0x5ae9 023872 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      023873 le_set_displayonly:
+0x5aea 023874 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5aeb 023875 rtn 
+:      023878 le_secure_connection_enable:
+0x5aec 023879 fetch 1 ,mem_le_pres_auth 
+0x5aed 023880 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5aee 023881 store 1 ,mem_le_pres_auth 
+0x5aef 023882 rtn 
+:      023883 le_secure_connection_disable:
+0x5af0 023884 fetch 1 ,mem_le_pres_auth 
+0x5af1 023885 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5af2 023886 store 1 ,mem_le_pres_auth 
+0x5af3 023887 rtn 
+:      023889 le_parse_smp:
+0x5af4 023890 ifetch 1 ,contr 
+0x5af5 023891 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5af6 023893 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5af7 023894 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5af8 023895 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5af9 023896 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5afa 023897 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5afb 023898 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5afc 023899 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5afd 023900 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5afe 023901 beq smp_security_request ,le_parse_smp_security_request 
+0x5aff 023902 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5b00 023903 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5b01 023904 rtn 
+:      023908 le_send_smp_security_request:
+0x5b02 023909 force 2 ,rega 
+0x5b03 023910 call le_fifo_malloc_tx_l2cap_smp 
+0x5b04 023911 setarg smp_security_request 
+0x5b05 023912 istore 1 ,contw 
+0x5b06 023913 fetch 1 ,mem_le_pres_auth 
+0x5b07 023914 istore 1 ,contw 
+0x5b08 023915 rtn 
+:      023917 le_parse_smp_pairing_request:
+0x5b09 023918 store 1 ,mem_le_preq 
+0x5b0a 023919 ifetch 6 ,contr 
+0x5b0b 023920 istore 6 ,contw 
+0x5b0c 023921 fetch 1 ,mem_le_pairing_mode 
+0x5b0d 023922 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5b0e 023923 call le_send_smp_pairing_response 
+0x5b0f 023924 call le_check_master_support_secure_connect 
+0x5b10 023925 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5b11 023926 fetch 1 ,mem_le_preq_iocap 
+0x5b12 023927 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5b13 023928 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5b14 023929 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5b15 023930 fetch 1 ,mem_le_pairing_mode 
+0x5b16 023931 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5b17 023932 rtneq le_pairing_mode_secure_connect_passkey 
+:      023933 le_set_tk_0:
+0x5b18 023934 arg 0 ,pdata 
+0x5b19 023935 store 4 ,mem_le_tk 
+0x5b1a 023936 rtn 
+:      023938 le_parse_smp_pairing_req_passkey:
+0x5b1b 023939 fetch 1 ,mem_le_configuration 
+0x5b1c 023940 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      023941 le_genernate_tk:
+0x5b1d 023942 arg mem_le_tk ,rega 
+0x5b1e 023943 copy rega ,contw 
+0x5b1f 023944 arg 3 ,loopcnt 
+0x5b20 023945 call generate_random_loop 
+0x5b21 023946 fetch 2 ,mem_le_tk + 2 
+0x5b22 023947 and_into 0x7 ,pdata 
+0x5b23 023948 store 2 ,mem_le_tk + 2 
+:      023949 le_parse_smp_pairing_req_fixed_passkey:
+0x5b24 023950 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5b25 023951 branch ui_ipc_send_event 
+:      023953 le_check_master_support_secure_connect:
+0x5b26 023954 fetch 1 ,mem_le_preq_auth 
+0x5b27 023955 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5b28 023956 fetch 1 ,mem_le_pairing_mode 
+0x5b29 023957 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5b2a 023958 branch app_ble_disconnect 
+:      023960 le_send_smp_pairing_response:
+0x5b2b 023961 force 7 ,rega 
+0x5b2c 023962 call le_fifo_malloc_tx_l2cap_smp 
+0x5b2d 023963 fetch 7 ,mem_le_pres 
+0x5b2e 023964 istore 7 ,contw 
+0x5b2f 023965 rtn 
+:      023968 le_parse_smp_pairing_confirm:
+0x5b30 023969 copy contr ,rega 
+0x5b31 023970 fetch 1 ,mem_le_pairing_mode 
+0x5b32 023971 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5b33 023972 copy rega ,contr 
+0x5b34 023973 arg mem_le_rconfirm ,contw 
+0x5b35 023974 call memcpy16 
+0x5b36 023975 branch le_send_smp_pairing_confirm 
+:      023976 le_parse_smp_pairing_confirm_secure_passkey:
+0x5b37 023977 copy rega ,contr 
+0x5b38 023978 arg mem_le_rconfirm ,contw 
+0x5b39 023979 call memcpy16 
+0x5b3a 023980 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5b3b 023981 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5b3c 023982 rtn 
+:      023985 le_send_smp_pairing_confirm:
+0x5b3d 023986 fetch 1 ,mem_le_pairing_mode 
+0x5b3e 023987 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5b3f 023988 call generate_confirm 
+0x5b40 023989 force 17 ,rega 
+0x5b41 023990 call le_fifo_malloc_tx_l2cap_smp 
+0x5b42 023991 setarg smp_pairing_confirm 
+0x5b43 023992 istore 1 ,contw 
+0x5b44 023993 branch store_aes_result 
+:      023996 le_send_smp_pairing_confirm_sc:
+0x5b45 023997 arg mem_le_srand ,contw 
+0x5b46 023998 call generate_random 
+0x5b47 023999 call function_f4_cb 
+0x5b48 024000 force 17 ,rega 
+0x5b49 024001 call le_fifo_malloc_tx_l2cap_smp 
+0x5b4a 024002 setarg smp_pairing_confirm 
+0x5b4b 024003 istore 1 ,contw 
+0x5b4c 024004 branch load_inverse_result 
+:      024008 le_parse_smp_pairing_random:
+0x5b4d 024009 copy contr ,rega 
+0x5b4e 024010 fetch 1 ,mem_le_pairing_mode 
+0x5b4f 024011 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5b50 024012 copy rega ,contr 
+0x5b51 024013 call authenticate_rconfirm 
+0x5b52 024014 branch le_parse_smp_pairing_random_success ,zero 
+:      024015 le_send_pairing_confirm_value_failed:
+0x5b53 024016 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      024017 le_send_pairing_failed:
+0x5b54 024018 force 2 ,rega 
+0x5b55 024019 call le_fifo_malloc_tx_l2cap_smp 
+0x5b56 024020 setarg smp_pairing_failed 
+0x5b57 024021 istore 1 ,contw 
+0x5b58 024022 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5b59 024023 istore 1 ,contw 
+:      024024 le_parse_smp_pairing_failed:
+0x5b5a 024025 force smp_pairing_timer ,queue 
+0x5b5b 024026 call timer_stop 
+0x5b5c 024027 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5b5d 024028 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5b5e 024029 branch ui_ipc_send_event 
+:      024031 le_smp_pairing_fail_reason_not_support_pairing:
+0x5b5f 024032 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5b60 024033 branch le_send_pairing_failed 
+:      024036 le_parse_smp_pairing_random_sc:
+0x5b61 024037 arg mem_le_mrand ,contw 
+0x5b62 024038 copy rega ,contr 
+0x5b63 024039 call memcpy16 
+0x5b64 024040 fetch 1 ,mem_le_pairing_mode 
+0x5b65 024041 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5b66 024042 call function_g2 
+0x5b67 024045 call le_send_smp_pairing_random 
+0x5b68 024046 fetch 1 ,mem_le_pairing_mode 
+0x5b69 024047 rtnne le_pairing_mode_secure_connect_numeric 
+0x5b6a 024048 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5b6b 024049 branch ui_ipc_send_event 
+:      024051 le_parse_smp_pairing_random_sc_passkey:
+0x5b6c 024052 call function_f4_ca 
+0x5b6d 024053 arg mem_aes_cmac_temp ,contw 
+0x5b6e 024054 call load_inverse_result 
+0x5b6f 024055 arg mem_aes_cmac_temp ,rega 
+0x5b70 024056 arg mem_le_rconfirm ,regb 
+0x5b71 024057 arg 16 ,loopcnt 
+0x5b72 024058 call string_compare 
+0x5b73 024059 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5b74 024060 branch le_send_smp_pairing_random 
+:      024062 le_parse_smp_pairing_random_success:
+0x5b75 024063 call generate_stk 
+0x5b76 024064 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5b77 024065 call ui_ipc_send_event 
+0x5b78 024066 jam 1 ,mem_ltk_exists 
+0x5b79 024067 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      024069 le_send_smp_pairing_random:
+0x5b7a 024070 force 17 ,rega 
+0x5b7b 024071 call le_fifo_malloc_tx_l2cap_smp 
+0x5b7c 024072 setarg smp_pairing_random 
+0x5b7d 024073 istore 1 ,contw 
+0x5b7e 024074 arg mem_le_srand ,contr 
+0x5b7f 024075 branch memcpy16 
+:      024077 le_parse_smp_encryption_information:
+0x5b80 024078 arg mem_le_peer_ltk ,contw 
+0x5b81 024079 branch memcpy16 
+:      024081 le_send_smp_encryption_information:
+0x5b82 024082 force 17 ,rega 
+0x5b83 024083 call le_fifo_malloc_tx_l2cap_smp 
+0x5b84 024084 setarg smp_encryption_information 
+0x5b85 024085 istore 1 ,contw 
+0x5b86 024086 fetch 1 ,mem_le_configuration 
+0x5b87 024087 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5b88 024088 arg mem_le_ltk ,contr 
+0x5b89 024089 branch memcpy16 
+:      024091 le_send_fixed_ltk:
+0x5b8a 024092 arg mem_le_fixed_ltk ,contr 
+0x5b8b 024093 branch memcpy16 
+:      024096 le_send_smp_master_identification:
+0x5b8c 024097 arg mem_le_ediv ,contw 
+0x5b8d 024098 force 10 ,loopcnt 
+0x5b8e 024099 call generate_random_loop 
+0x5b8f 024100 force 11 ,rega 
+0x5b90 024101 call le_fifo_malloc_tx_l2cap_smp 
+0x5b91 024102 setarg smp_master_identification 
+0x5b92 024103 istore 1 ,contw 
+0x5b93 024104 fetch 2 ,mem_le_ediv 
+0x5b94 024105 istore 2 ,contw 
+0x5b95 024106 fetch 8 ,mem_le_rand 
+0x5b96 024107 istore 8 ,contw 
+0x5b97 024108 rtn 
+:      024110 le_send_smp_identity_information:
+0x5b98 024111 force 17 ,rega 
+0x5b99 024112 call le_fifo_malloc_tx_l2cap_smp 
+0x5b9a 024113 setarg smp_identity_information 
+0x5b9b 024114 istore 1 ,contw 
+0x5b9c 024115 setarg 0 
+0x5b9d 024116 istore 8 ,contw 
+0x5b9e 024117 istore 8 ,contw 
+0x5b9f 024118 rtn 
+:      024121 le_send_smp_identity_address_information:
+0x5ba0 024122 force 8 ,rega 
+0x5ba1 024123 call le_fifo_malloc_tx_l2cap_smp 
+0x5ba2 024124 setarg smp_identity_address_information 
+0x5ba3 024125 istore 1 ,contw 
+0x5ba4 024126 fetch 1 ,mem_le_conn_own_addr_type 
+0x5ba5 024127 istore 1 ,contw 
+0x5ba6 024128 fetch 6 ,mem_le_lap 
+0x5ba7 024129 istore 6 ,contw 
+0x5ba8 024130 rtn 
+:      024133 le_send_pairing_fail_unspecified_reason:
+0x5ba9 024134 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5baa 024135 branch le_send_pairing_failed 
+:      024137 le_check_init_key_distribution:
+0x5bab 024138 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5bac 024139 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5bad 024140 iand temp ,pdata 
+0x5bae 024141 rtn 
+:      024143 le_parse_smp_identity_information:
+0x5baf 024144 arg mem_le_irk ,contw 
+0x5bb0 024145 call memcpy16 
+0x5bb1 024146 call le_check_init_key_distribution 
+0x5bb2 024147 isolate0 le_initator_irk_bit ,pdata 
+0x5bb3 024148 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bb4 024149 fetch 1 ,mem_device_option 
+0x5bb5 024150 rtnne dvc_op_module 
+0x5bb6 024151 call le_check_master_addr_type 
+0x5bb7 024152 nrtn user 
+0x5bb8 024153 branch app_ble_store_reconn_info 
+:      024156 le_check_master_addr_type:
+0x5bb9 024157 call disable_user 
+0x5bba 024158 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5bbb 024159 rtneq master_public_addr 
+0x5bbc 024160 fetch 1 ,mem_le_plap + 5 
+0x5bbd 024161 compare 0xc0 ,pdata ,0xc0 
+0x5bbe 024162 rtn true 
+0x5bbf 024163 branch enable_user 
+:      024165 le_parse_smp_identity_address_information:
+0x5bc0 024166 call le_check_init_key_distribution 
+0x5bc1 024167 isolate0 le_initator_irk_bit ,pdata 
+0x5bc2 024168 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bc3 024169 rtn 
+:      024171 le_parse_smp_master_identification:
+:      024172 le_parse_smp_signing_information:
+:      024173 le_parse_smp_security_request:
+0x5bc4 024174 rtn 
+:      024176 le_parse_smp_public_key:
+0x5bc5 024177 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5bc6 024178 call memcpy64 
+0x5bc7 024179 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bc8 024180 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5bc9 024181 rtn 
+:      024183 le_parse_smp_dhkey_check:
+0x5bca 024184 arg mem_sp_confirm_remote ,contw 
+0x5bcb 024185 call memcpy16 
+0x5bcc 024186 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5bcd 024187 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bce 024188 rtn 
+:      024190 le_send_smp_pairing_public_key:
+0x5bcf 024191 force 65 ,rega 
+0x5bd0 024192 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd1 024193 setarg smp_pairing_public_key 
+0x5bd2 024194 istore 1 ,contw 
+0x5bd3 024195 arg mem_le_pubkey_local_x_256 ,contr 
+0x5bd4 024196 branch memcpy64 
+:      024198 le_send_smp_pairing_dhkey_check:
+0x5bd5 024199 call function_f6_eb 
+0x5bd6 024200 force 17 ,rega 
+0x5bd7 024201 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd8 024202 setarg smp_pairing_dhkey_check 
+0x5bd9 024203 istore 1 ,contw 
+0x5bda 024204 branch load_inverse_result 
+:      024207 le_check_paring_time:
+0x5bdb 024208 fetch 1 ,mem_le_pairing_state 
+0x5bdc 024209 rtneq flag_le_pairing_end 
+0x5bdd 024210 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5bde 024211 isub temp ,null 
+0x5bdf 024212 nrtn positive 
+0x5be0 024213 arg smp_pairing_timer ,queue 
+0x5be1 024214 call timer_check 
+0x5be2 024215 nrtn blank 
+0x5be3 024216 branch le_send_pairing_fail_unspecified_reason 
+:      024218 le_pairing_sm:
+0x5be4 024219 bpatchx patch2f_0 ,mem_patch2f 
+0x5be5 024220 fetch 1 ,mem_le_pairing_state 
+0x5be6 024221 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5be7 024222 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5be8 024223 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5be9 024224 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5bea 024225 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5beb 024226 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5bec 024227 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5bed 024228 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5bee 024229 rtn 
+:      024231 le_pairing_sm_null:
+:      024232 le_pairing_sm_send_sec_req:
+0x5bef 024233 fetch 1 ,mem_le_enc_state 
+0x5bf0 024234 rtnne flag_le_send_start_enc_rsp 
+0x5bf1 024235 jam flag_le_enc_end ,mem_le_enc_state 
+0x5bf2 024236 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5bf3 024237 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5bf4 024238 branch ui_ipc_send_event 
+:      024241 le_pairing_sm_start:
+0x5bf5 024242 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5bf6 024243 branch le_send_smp_security_request 
+:      024245 le_pairing_sm_rcv_pairing_req:
+0x5bf7 024246 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5bf8 024247 setarg timer_smp_pairing_timeout 
+0x5bf9 024248 arg smp_pairing_timer ,queue 
+0x5bfa 024249 branch timer_init 
+:      024251 le_pairing_sm_after_auth:
+0x5bfb 024252 fetch 1 ,mem_le_enc_state 
+0x5bfc 024253 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5bfd 024254 rtn 
+:      024256 le_pairing_sm_after_auth_start_enc:
+0x5bfe 024257 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5bff 024258 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5c00 024259 call ui_ipc_send_event 
+0x5c01 024260 call le_send_smp_encryption_information 
+0x5c02 024261 fetch 1 ,mem_device_option 
+0x5c03 024262 rtnne dvc_op_module 
+0x5c04 024263 call le_check_master_addr_type 
+0x5c05 024264 rtn user 
+0x5c06 024265 branch app_ble_store_reconn_info 
+:      024268 le_pairng_sm_send_enc_information:
+0x5c07 024269 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5c08 024270 branch le_send_smp_master_identification 
+:      024272 le_pairng_sm_send_master_indentification:
+0x5c09 024273 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5c0a 024274 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5c0b 024275 iand temp ,pdata 
+0x5c0c 024276 isolate0 le_initator_irk_bit ,pdata 
+0x5c0d 024277 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5c0e 024278 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5c0f 024279 branch le_send_smp_identity_information 
+:      024281 le_pairng_sm_send_indentity_information:
+0x5c10 024282 call le_send_smp_identity_address_information 
+0x5c11 024283 branch le_parse_start_enc_rsp_after_auth_end 
+:      024286 le_parse_start_enc_rsp_after_auth_end:
+0x5c12 024287 force smp_pairing_timer ,queue 
+0x5c13 024288 call timer_stop 
+0x5c14 024289 jam flag_le_enc_end ,mem_le_enc_state 
+0x5c15 024290 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5c16 024291 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5c17 024292 branch ui_ipc_send_event 
+:      024296 le_secure_connect_sm:
+0x5c18 024297 bpatchx patch2f_1 ,mem_patch2f 
+0x5c19 024298 fetch 1 ,mem_le_pairing_mode 
+0x5c1a 024299 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5c1b 024300 fetch 1 ,mem_le_secure_connect_flag 
+0x5c1c 024301 rtnne le_sp_flag_commit_256 
+0x5c1d 024302 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5c1e 024303 fetch 1 ,mem_le_secure_connect_state 
+0x5c1f 024304 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x5c20 024305 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x5c21 024306 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x5c22 024307 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x5c23 024308 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x5c24 024309 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x5c25 024310 rtn 
+:      024313 le_sc_sm_passkey_wait_confirm:
+0x5c26 024314 fetch 1 ,mem_authentication_passkey_times 
+0x5c27 024315 copy pdata ,queue 
+0x5c28 024316 increase 1 ,pdata 
+0x5c29 024317 store 1 ,mem_authentication_passkey_times 
+0x5c2a 024318 fetch 4 ,mem_le_tk 
+0x5c2b 024319 qisolate1 pdata 
+0x5c2c 024320 setarg 0x80 
+0x5c2d 024321 setflag true ,0 ,pdata 
+0x5c2e 024322 store 1 ,mem_passkey_1bit 
+0x5c2f 024323 branch le_sc_sm_ready_send_pairing_confirm 
+:      024325 le_sc_sm_wait_confirm_gkey:
+0x5c30 024326 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x5c31 024327 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x5c32 024328 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x5c33 024329 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c34 024330 rtn 
+:      024332 le_sc_confirm_gkey_ok:
+0x5c35 024333 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5c36 024334 call ui_ipc_send_event 
+0x5c37 024335 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x5c38 024336 branch le_send_smp_pairing_dhkey_check 
+:      024338 le_sc_sm_receive_dhkey:
+0x5c39 024339 fetch 1 ,mem_sp_dhkey_invalid 
+0x5c3a 024340 beq sp_key_valid_256 ,le_dhkey_ready 
+0x5c3b 024341 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c3c 024342 rtn 
+:      024344 le_dhkey_ready:
+0x5c3d 024345 call function_f5 
+0x5c3e 024349 fetch 1 ,mem_le_pairing_mode 
+0x5c3f 024350 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x5c40 024351 call le_set_tk_0 
+:      024352 le_dhkey_ready_common:
+0x5c41 024353 call function_f6_ea 
+0x5c42 024354 arg mem_aes_cmac_temp ,rega 
+0x5c43 024355 arg mem_sp_confirm_remote ,regb 
+0x5c44 024356 arg 16 ,loopcnt 
+0x5c45 024357 call string_compare 
+0x5c46 024358 branch le_dhkey_check_ok ,zero 
+:      024359 le_dhkey_check_fail:
+0x5c47 024360 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x5c48 024361 branch le_send_pairing_failed 
+:      024364 le_dhkey_check_ok:
+0x5c49 024365 call sp_calc_check_publickey_256 
+0x5c4a 024366 nbranch le_dhkey_check_fail ,zero 
+0x5c4b 024367 jam 1 ,mem_ltk_exists 
+0x5c4c 024368 fetch 1 ,mem_le_pairing_mode 
+0x5c4d 024369 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x5c4e 024370 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x5c4f 024371 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c50 024372 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x5c51 024373 rtn 
+:      024375 le_sc_sm_send_public_key:
+0x5c52 024376 fetch 1 ,mem_le_pairing_mode 
+0x5c53 024377 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x5c54 024378 jam 0 ,mem_passkey_1bit 
+:      024379 le_sc_sm_ready_send_pairing_confirm:
+0x5c55 024380 branch le_send_smp_pairing_confirm 
+:      024382 le_sc_sm_send_public_key_passkey:
+0x5c56 024386 jam 0 ,mem_authentication_passkey_times 
+0x5c57 024387 branch le_parse_smp_pairing_req_passkey 
+:      024390 le_sc_sm_receive_public_key:
+0x5c58 024391 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c59 024392 fetch 1 ,mem_le_sc_local_key_invalid 
+0x5c5a 024393 beq sp_key_valid_256 ,le_public_key_ready 
+0x5c5b 024395 rtn 
+:      024397 le_public_key_ready:
+0x5c5c 024398 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x5c5d 024399 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x5c5e 024400 branch sp_dhkey_calc_256 
+:      024402 le_sc_sm_wait_send_public_key:
+0x5c5f 024403 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c60 024404 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x5c61 024405 branch le_send_smp_pairing_public_key 
+:      024409 le_fifo_malloc_tx_l2cap_smp:
+0x5c62 024410 force le_l2cap_cid_smp ,regb 
+0x5c63 024411 branch le_fifo_malloc_tx_l2cap 
+:      024415 le_parse_ll:
+0x5c64 024416 fetch 1 ,mem_le_rxbuf + 2 
+0x5c65 024417 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x5c66 024418 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x5c67 024419 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x5c68 024420 beq ll_enc_req ,le_parse_enc_req 
+0x5c69 024421 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x5c6a 024422 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x5c6b 024423 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x5c6c 024424 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x5c6d 024425 beq ll_feature_req ,le_parse_feature_req 
+0x5c6e 024426 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x5c6f 024427 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x5c70 024428 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x5c71 024429 beq ll_version_ind ,le_parse_version_ind 
+0x5c72 024430 beq ll_reject_ind ,le_parse_reject_ind 
+0x5c73 024431 beq ll_ping_req ,le_parse_ping_req 
+0x5c74 024432 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x5c75 024433 arg 2 ,rega 
+0x5c76 024434 arg ll_unknown_rsp ,regb 
+0x5c77 024435 call le_fifo_malloc_tx_ll 
+0x5c78 024436 fetch 1 ,mem_le_rxbuf + 2 
+0x5c79 024437 istore 1 ,contw 
+0x5c7a 024438 rtn 
+:      024441 le_parse_connection_update_req:
+0x5c7b 024442 ifetch 9 ,contr 
+0x5c7c 024443 store 9 ,mem_le_new_param 
+0x5c7d 024444 ifetch 2 ,contr 
+0x5c7e 024445 store 2 ,mem_le_instant 
+0x5c7f 024446 fetch 1 ,mem_le_state 
+0x5c80 024447 set1 lestate_update_param ,pdata 
+0x5c81 024448 store 1 ,mem_le_state 
+0x5c82 024449 rtn 
+:      024451 le_parse_channel_map_req:
+0x5c83 024452 ifetch 5 ,contr 
+0x5c84 024453 store 5 ,mem_le_new_map 
+0x5c85 024454 ifetch 2 ,contr 
+0x5c86 024455 store 2 ,mem_le_instant 
+0x5c87 024456 fetcht 2 ,mem_le_event_count 
+0x5c88 024457 isub temp ,null 
+0x5c89 024458 nbranch le_parse_terminate_ind ,positive 
+0x5c8a 024459 fetch 1 ,mem_le_state 
+0x5c8b 024460 set1 lestate_update_map ,pdata 
+0x5c8c 024461 store 1 ,mem_le_state 
+0x5c8d 024462 rtn 
+:      024465 le_parse_terminate_ind:
+0x5c8e 024466 setarg 20 
+0x5c8f 024467 store 2 ,mem_le_superto 
+0x5c90 024468 store 2 ,mem_le_init_superto 
+0x5c91 024469 rtn 
+:      024471 le_send_terminate_ind_user_terminated:
+0x5c92 024472 arg error_remote_user_terminated_connection ,regc 
+:      024475 le_send_terminate_ind:
+0x5c93 024476 arg 2 ,rega 
+0x5c94 024477 arg ll_terminate_ind ,regb 
+0x5c95 024478 call le_fifo_malloc_tx_ll 
+0x5c96 024479 copy regc ,pdata 
+0x5c97 024480 istore 1 ,contw 
+0x5c98 024481 rtn 
+:      024483 le_parse_feature_req:
+:      024485 le_send_feature_rsp:
+0x5c99 024486 arg 9 ,rega 
+0x5c9a 024487 arg ll_feature_rsp ,regb 
+0x5c9b 024488 call le_fifo_malloc_tx_ll 
+0x5c9c 024489 setarg param_le_features 
+0x5c9d 024490 istore 8 ,contw 
+0x5c9e 024491 rtn 
+:      024494 le_parse_version_ind:
+0x5c9f 024495 rtn master 
+:      024496 le_send_version_ind:
+0x5ca0 024497 arg 6 ,rega 
+0x5ca1 024498 arg ll_version_ind ,regb 
+0x5ca2 024499 call le_fifo_malloc_tx_ll 
+0x5ca3 024500 fetch 5 ,mem_lmp_version 
+0x5ca4 024501 istore 5 ,contw 
+0x5ca5 024502 rtn 
+:      024505 le_parse_ping_req:
+0x5ca6 024506 arg ll_ping_rsp ,regb 
+0x5ca7 024507 branch le_send_ll_one_lenth 
+:      024510 le_send_ll_one_lenth:
+0x5ca8 024511 arg 1 ,rega 
+0x5ca9 024512 branch le_fifo_malloc_tx_ll 
+:      024515 le_parse_enc_req:
+0x5caa 024516 ifetch 8 ,contr 
+0x5cab 024517 store 8 ,mem_le_rand 
+0x5cac 024518 ifetch 2 ,contr 
+0x5cad 024519 store 2 ,mem_le_ediv 
+0x5cae 024520 ifetch 8 ,contr 
+0x5caf 024521 store 8 ,mem_le_skdm 
+0x5cb0 024522 ifetch 4 ,contr 
+0x5cb1 024523 store 4 ,mem_le_ivm 
+0x5cb2 024524 call le_send_enc_rsp 
+0x5cb3 024525 bpatchx patch2f_2 ,mem_patch2f 
+0x5cb4 024526 fetch 1 ,mem_le_pairing_state 
+0x5cb5 024527 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x5cb6 024528 fetch 1 ,mem_le_configuration 
+0x5cb7 024529 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x5cb8 024530 fetch 1 ,mem_nv_data_number 
+0x5cb9 024531 ncall load_device_list_mode_4 ,blank 
+0x5cba 024532 fetch 1 ,mem_ltk_exists 
+0x5cbb 024533 beq 0 ,le_ltk_lost 
+:      024534 le_parse_enc_req_after_auth:
+0x5cbc 024535 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x5cbd 024536 call le_send_start_enc_req 
+0x5cbe 024537 branch generate_sk 
+:      024539 le_parse_enc_req_fixed_ltk:
+0x5cbf 024540 jam 1 ,mem_ltk_exists 
+0x5cc0 024541 arg mem_le_fixed_ltk ,contr 
+0x5cc1 024542 arg mem_le_ltk ,contw 
+0x5cc2 024543 call memcpy16 
+0x5cc3 024544 branch le_parse_enc_req_after_auth 
+:      024547 le_ltk_lost:
+0x5cc4 024548 bpatchx patch2f_3 ,mem_patch2f 
+0x5cc5 024549 jam flag_le_enc_null ,mem_le_enc_state 
+0x5cc6 024550 jam flag_le_enc_null ,mem_le_pairing_state 
+0x5cc7 024551 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x5cc8 024552 branch ui_ipc_send_event 
+:      024554 le_send_reject_ind:
+0x5cc9 024555 arg 2 ,rega 
+0x5cca 024556 arg ll_reject_ind ,regb 
+0x5ccb 024557 call le_fifo_malloc_tx_ll 
+0x5ccc 024558 setarg le_err_pin_or_key_missing 
+0x5ccd 024559 istore 1 ,contw 
+0x5cce 024560 rtn 
+:      024562 le_send_enc_rsp:
+0x5ccf 024563 arg mem_le_skds ,contw 
+0x5cd0 024564 force 8 ,loopcnt 
+0x5cd1 024565 call generate_random_loop 
+0x5cd2 024566 arg mem_le_ivs ,contw 
+0x5cd3 024567 force 4 ,loopcnt 
+0x5cd4 024568 call generate_random_loop 
+0x5cd5 024569 arg 13 ,rega 
+0x5cd6 024570 arg ll_enc_rsp ,regb 
+0x5cd7 024571 call le_fifo_malloc_tx_ll 
+0x5cd8 024572 fetch 8 ,mem_le_skds 
+0x5cd9 024573 istore 8 ,contw 
+0x5cda 024574 fetch 4 ,mem_le_ivs 
+0x5cdb 024575 istore 4 ,contw 
+0x5cdc 024576 rtn 
+:      024578 le_send_start_enc_req:
+0x5cdd 024579 arg ll_start_enc_req ,regb 
+0x5cde 024580 branch le_send_ll_one_lenth 
+:      024582 le_send_start_enc_rsp:
+0x5cdf 024583 arg ll_start_enc_rsp ,regb 
+0x5ce0 024584 branch le_send_ll_one_lenth 
+:      024587 le_parse_enc_rsp:
+0x5ce1 024588 ifetch 8 ,contr 
+0x5ce2 024589 store 8 ,mem_le_skds 
+0x5ce3 024590 ifetch 4 ,contr 
+0x5ce4 024591 store 4 ,mem_le_ivs 
+0x5ce5 024592 branch generate_sk 
+:      024594 le_parse_start_enc_req:
+0x5ce6 024595 fetch 1 ,mem_le_state 
+0x5ce7 024596 set1 lestate_encryption ,pdata 
+0x5ce8 024597 store 1 ,mem_le_state 
+0x5ce9 024598 rtn 
+:      024600 le_parse_start_enc_rsp:
+0x5cea 024601 rtn master 
+0x5ceb 024602 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x5cec 024603 call ui_ipc_send_event 
+0x5ced 024604 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x5cee 024605 branch le_send_start_enc_rsp 
+:      024607 le_parse_pause_enc_req:
+0x5cef 024608 jam flag_le_enc_pause ,mem_le_enc_state 
+0x5cf0 024609 call le_send_pause_enc_rsp 
+0x5cf1 024610 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x5cf2 024611 branch ui_ipc_send_event 
+:      024613 le_send_pause_enc_rsp:
+0x5cf3 024614 arg ll_pause_enc_rsp ,regb 
+0x5cf4 024615 branch le_send_ll_one_lenth 
+:      024618 le_parse_feature_rsp:
+:      024619 le_parse_unknown_rsp:
+:      024620 le_parse_pause_enc_rsp:
+:      024621 le_parse_reject_ind:
+:      024622 le_parse_ping_rsp:
+0x5cf5 024623 rtn 
+:      024630 init_lmp:
+0x5cf6 024631 rtn wake 
+:      024632 init_lmp_work:
+0x5cf7 024633 bpatchx patch2f_4 ,mem_patch2f 
+0x5cf8 024634 setarg 0 
+0x5cf9 024635 store 1 ,mem_lmp_to_send 
+0x5cfa 024636 store 1 ,mem_conn_sm 
+0x5cfb 024637 store 1 ,mem_lmo_opcode1 
+0x5cfc 024638 store 1 ,mem_lmo_opcode2 
+0x5cfd 024639 store 1 ,mem_esco_addr 
+0x5cfe 024640 store 1 ,mem_auth_enable 
+0x5cff 024641 store 1 ,mem_connection_options 
+0x5d00 024642 store 1 ,mem_pairing_auth 
+0x5d01 024643 jam switch_flag_init ,mem_switch_flag 
+0x5d02 024644 jam 0 ,mem_switch_fail_master_count 
+0x5d03 024645 jam null_encryp ,mem_wait_encryption 
+:      024646 init_lmp_reinit:
+0x5d04 024647 jam 0 ,mem_pairing_auth 
+0x5d05 024648 jam 0 ,mem_sp_localsm 
+0x5d06 024649 jam 0 ,mem_lmp_conn_state 
+:      024651 parse_rx_done:
+0x5d07 024652 rtn 
+:      024654 parse_lmp:
+0x5d08 024655 bpatchx patch2f_5 ,mem_patch2f 
+0x5d09 024656 call setlocalsm_master ,master 
+0x5d0a 024657 ncall setlocalsm_slave ,master 
+0x5d0b 024658 call lmo_fifo_check 
+0x5d0c 024659 nrtn blank 
+0x5d0d 024660 fetch 1 ,mem_state_map 
+0x5d0e 024661 rtnbit0 smap_rxlmp 
+0x5d0f 024662 set0 smap_rxlmp ,pdata 
+0x5d10 024663 set0 mark_rxbuf_inuse ,mark 
+0x5d11 024664 store 1 ,mem_state_map 
+0x5d12 024665 fetch 1 ,mem_rxbuf 
+0x5d13 024666 fetcht 1 ,mem_state_map 
+0x5d14 024667 isolate1 smap_lmptidinit ,pdata 
+0x5d15 024668 setflag true ,smap_lmptid ,temp 
+0x5d16 024669 storet 1 ,mem_state_map 
+0x5d17 024670 and_into 0x2 ,temp 
+0x5d18 024671 storet 1 ,mem_lmo_tid2 
+0x5d19 024672 fetcht 1 ,mem_state_map 
+0x5d1a 024673 rshift pdata ,pdata 
+0x5d1b 024674 store 1 ,mem_lmi_opcode2 
+0x5d1c 024675 bpatchx patch2f_6 ,mem_patch2f 
+0x5d1d 024676 fetch 1 ,mem_lmi_opcode2 
+0x5d1e 024677 beq lmp_escape ,parse_lmp_escape 
+0x5d1f 024678 beq lmp_accepted ,parse_lmp_accepted 
+0x5d20 024679 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x5d21 024680 beq lmp_set_afh ,parse_lmp_set_afh 
+0x5d22 024681 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x5d23 024682 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x5d24 024683 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x5d25 024684 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x5d26 024685 beq lmp_test_control ,parse_lmp_test_control 
+0x5d27 024686 beq lmp_test_activate ,parse_lmp_test_activate 
+0x5d28 024687 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x5d29 024688 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x5d2a 024689 beq lmp_features_req ,parse_lmp_features_req 
+0x5d2b 024690 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x5d2c 024691 beq lmp_version_req ,parse_lmp_version_req 
+0x5d2d 024692 beq lmp_version_res ,parse_lmp_version_res 
+0x5d2e 024693 beq lmp_detach ,parse_lmp_detach 
+0x5d2f 024694 beq lmp_max_slot ,parse_lmp_max_slot 
+0x5d30 024695 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x5d31 024696 beq lmp_name_req ,parse_lmp_name_req 
+0x5d32 024697 beq lmp_name_res ,parse_lmp_name_res 
+0x5d33 024698 beq lmp_features_res ,parse_lmp_features_res 
+0x5d34 024699 beq lmp_comb_key ,parse_lmp_comb_key 
+0x5d35 024700 beq lmp_au_rand ,parse_lmp_au_rand 
+0x5d36 024701 beq lmp_in_rand ,parse_lmp_in_rand 
+0x5d37 024702 beq lmp_sres ,parse_lmp_sres 
+0x5d38 024703 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x5d39 024704 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x5d3a 024705 beq lmp_max_power ,parse_lmp_max_power 
+0x5d3b 024706 beq lmp_min_power ,parse_lmp_min_power 
+0x5d3c 024707 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x5d3d 024708 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x5d3e 024709 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x5d3f 024710 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x5d40 024711 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x5d41 024712 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x5d42 024713 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x5d43 024714 beq lmp_switch_req ,parse_lmp_switch_req 
+0x5d44 024715 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x5d45 024716 beq lmp_temp_key ,parse_lmp_temp_key 
+0x5d46 024717 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x5d47 024718 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x5d48 024719 beq lmp_unit_key ,parse_lmp_unit_key 
+0x5d49 024720 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x5d4a 024721 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x5d4b 024722 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x5d4c 024723 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x5d4d 024724 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x5d4e 024725 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x5d4f 024726 beq lmp_dhkey_check ,parse_dhkey_check 
+0x5d50 024727 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x5d51 024728 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      024731 reject_unknown_packet:
+0x5d52 024732 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      024733 reject_lmp_packet:
+0x5d53 024734 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5d54 024735 rtn 
+:      024737 parse_lmp_clkoffset_req:
+0x5d55 024738 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x5d56 024739 rtn 
+:      024741 parse_enc_key_size_mask_req:
+0x5d57 024742 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x5d58 024743 rtn 
+:      024745 parse_lmp_set_afh:
+0x5d59 024746 fetch 4 ,mem_rxbuf + 1 
+0x5d5a 024747 lshift pdata ,pdata 
+0x5d5b 024748 store 4 ,mem_afh_instant 
+0x5d5c 024749 fetch 1 ,mem_rxbuf + 5 
+0x5d5d 024750 store 1 ,mem_afh_new_mod 
+0x5d5e 024751 fetch 5 ,mem_rxbuf + 6 
+0x5d5f 024752 store 5 ,mem_afh_map_new 
+0x5d60 024753 fetch 5 ,mem_rxbuf + 11 
+0x5d61 024754 istore 5 ,contw 
+0x5d62 024755 fetch 1 ,mem_mode 
+0x5d63 024756 set1 afh_change ,pdata 
+0x5d64 024757 store 1 ,mem_mode 
+0x5d65 024758 rtn 
+:      024759 parse_lmp_escape:
+0x5d66 024760 bpatchx patch2f_7 ,mem_patch2f 
+0x5d67 024761 fetch 1 ,mem_rxbuf + 1 
+0x5d68 024762 set1 7 ,pdata 
+0x5d69 024763 store 1 ,mem_lmi_opcode2 
+0x5d6a 024764 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x5d6b 024765 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x5d6c 024766 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x5d6d 024767 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x5d6e 024768 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x5d6f 024769 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x5d70 024770 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x5d71 024771 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x5d72 024772 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x5d73 024773 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x5d74 024774 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x5d75 024775 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x5d76 024776 rtneq lmp_ext_features_res 
+:      024779 reject_unknown_ext_packet:
+0x5d77 024780 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d78 024781 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x5d79 024783 rtn 
+:      024784 parse_lmpext_chn_classification_req:
+0x5d7a 024785 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d7b 024786 jam not_support_chn_classification ,mem_lmo_reason2 
+0x5d7c 024787 rtn 
+:      024789 parse_lmpext_iocap_req:
+0x5d7d 024790 call iocap_lmpext_load 
+0x5d7e 024791 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x5d7f 024792 rtn 
+:      024794 parse_lmpext_iocap_res:
+0x5d80 024795 call iocap_lmpext_load 
+0x5d81 024796 branch iocap_lmpext_common 
+:      024798 iocap_lmpext_load:
+0x5d82 024799 arg mem_sp_iocap_remote ,contw 
+0x5d83 024800 fetch 3 ,mem_rxbuf + 2 
+0x5d84 024801 istore 3 ,contw 
+0x5d85 024802 rtn 
+:      024804 iocap_lmpext_common:
+0x5d86 024805 branch master_set_mem_master_sp_flag ,true 
+0x5d87 024806 rtn 
+:      024807 parse_lmpext_accepted:
+0x5d88 024808 fetch 1 ,mem_rxbuf + 3 
+0x5d89 024809 set1 7 ,pdata 
+0x5d8a 024810 store 1 ,mem_lmi_accepted_opcode 
+0x5d8b 024811 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x5d8c 024812 rtn 
+:      024815 parse_lmpext_not_accepted:
+0x5d8d 024816 fetch 1 ,mem_rxbuf + 3 
+0x5d8e 024817 set1 7 ,pdata 
+0x5d8f 024818 store 1 ,mem_lmi_accepted_opcode 
+0x5d90 024819 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x5d91 024820 rtn 
+:      024822 parse_lmpext_accepted_ptt:
+0x5d92 024823 fetch 1 ,mem_ptt 
+0x5d93 024824 fetcht 1 ,mem_state_map 
+0x5d94 024825 nsetflag blank ,smap_edr ,temp 
+0x5d95 024826 storet 1 ,mem_state_map 
+:      024827 parse_lmpext_not_accepted_ptt:
+0x5d96 024828 fetch 1 ,mem_state 
+0x5d97 024829 rtnbit0 state_init_seq 
+0x5d98 024830 set0 state_init_seq ,pdata 
+0x5d99 024831 store 1 ,mem_state 
+0x5d9a 024832 fetch 1 ,mem_auth_enable 
+0x5d9b 024833 nrtn blank 
+0x5d9c 024834 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5d9d 024835 rtn 
+:      024837 parse_lmpext_pause_encrypt:
+0x5d9e 024838 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x5d9f 024839 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5da0 024840 branch tid_reply 
+:      024842 parse_lmpext_pause_encrypt_slave:
+0x5da1 024843 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x5da2 024844 rtn 
+:      024846 parse_lmpext_resume_encrypt:
+0x5da3 024849 call tid_reply 
+0x5da4 024850 branch lmp_start_encryption 
+:      024852 parse_lmpext_features_req:
+0x5da5 024853 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x5da6 024854 rtn 
+:      024856 parse_lmpext_features_res:
+0x5da7 024857 fetcht 1 ,mem_rxbuf + 4 
+0x5da8 024858 and temp ,0x1 ,temp 
+0x5da9 024859 storet 1 ,mem_remote_sppcap 
+0x5daa 024860 fetch 1 ,mem_hci_cmd 
+0x5dab 024861 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x5dac 024862 jam 0 ,mem_hci_cmd 
+:      024863 parse_lmpext_features_res_not_hci:
+0x5dad 024864 fetch 1 ,mem_conn_sm 
+0x5dae 024865 rtnne conn_sm_wait_features_ext 
+0x5daf 024866 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5db0 024867 branch process_conn_sm 
+:      024869 parse_lmp_accepted:
+0x5db1 024870 bpatchx patch30_0 ,mem_patch30 
+0x5db2 024871 fetch 1 ,mem_rxbuf + 1 
+0x5db3 024872 store 1 ,mem_lmi_accepted_opcode 
+0x5db4 024873 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x5db5 024874 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x5db6 024875 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x5db7 024876 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x5db8 024877 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x5db9 024878 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x5dba 024879 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x5dbb 024880 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x5dbc 024881 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x5dbd 024883 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x5dbe 024884 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x5dbf 024885 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x5dc0 024886 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x5dc1 024887 rtn 
+:      024889 parse_lmp_not_accepted:
+0x5dc2 024890 bpatchx patch30_1 ,mem_patch30 
+0x5dc3 024891 fetch 1 ,mem_rxbuf + 1 
+0x5dc4 024892 store 1 ,mem_lmi_accepted_opcode 
+0x5dc5 024893 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x5dc6 024894 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x5dc7 024895 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x5dc8 024896 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x5dc9 024897 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x5dca 024899 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x5dcb 024900 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x5dcc 024901 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x5dcd 024902 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x5dce 024903 rtn 
+:      024905 parse_lmp_accepted_switch:
+0x5dcf 024906 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x5dd0 024907 call ui_ipc_send_event 
+0x5dd1 024908 branch role_switch_prepare0 
+:      024909 parse_lmp_not_accepted_switch:
+0x5dd2 024910 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x5dd3 024911 call ui_ipc_send_event 
+0x5dd4 024912 jam switch_flag_not_accept ,mem_switch_flag 
+0x5dd5 024913 setarg timer_switch_waite 
+0x5dd6 024914 arg switch_wait_timer ,queue 
+0x5dd7 024915 branch timer_init 
+:      024918 parse_lmp_accepted_hostconn:
+0x5dd8 024921 fetch 1 ,mem_lmp_conn_state 
+0x5dd9 024922 set1 received_conn_req ,pdata 
+0x5dda 024923 store 1 ,mem_lmp_conn_state 
+0x5ddb 024924 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x5ddc 024925 call ui_ipc_send_event 
+0x5ddd 024926 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      024928 parse_lmp_accepted_hostconn_ctn:
+0x5dde 024930 fetch 1 ,mem_conn_sm 
+0x5ddf 024931 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x5de0 024934 jam conn_sm_auth_pair ,mem_conn_sm 
+0x5de1 024935 rtn 
+:      024943 parse_lmp_not_accepted_hostconn:
+0x5de2 024944 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x5de3 024945 jam lmp_detach ,mem_lmo_opcode2 
+0x5de4 024947 jam conn_sm_standby ,mem_conn_sm 
+0x5de5 024949 branch parse_rx_done ,true 
+0x5de6 024950 rtn 
+:      024952 parse_lmp_accepted_inrand:
+0x5de7 024953 fetch 1 ,mem_link_key_exists 
+0x5de8 024954 nrtn blank 
+0x5de9 024955 call clear_linkkey 
+0x5dea 024956 call lmp_generate_key 
+0x5deb 024957 rtn master 
+0x5dec 024958 set1 mark_slave_in_rand_accepted ,mark 
+0x5ded 024959 rtn 
+:      024961 parse_lmp_accepted_enc_mode:
+0x5dee 024962 nrtn master 
+0x5def 024963 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x5df0 024964 fetch 1 ,mem_state_map 
+0x5df1 024965 rtnbit0 smap_encryption 
+0x5df2 024966 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5df3 024967 rtn 
+:      024969 parse_lmp_accepted_enc_keysize:
+0x5df4 024970 branch lmp_start_encryption 
+:      024972 parse_lmp_accepted_start_enc:
+0x5df5 024973 call send_create_conn_start_l2cap_timer_sm 
+0x5df6 024974 fetch 1 ,mem_state 
+0x5df7 024975 rtnbit1 state_conn_comp 
+0x5df8 024976 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5df9 024977 fetch 1 ,mem_conn_sm 
+0x5dfa 024978 rtnne conn_sm_encrypt_wait 
+0x5dfb 024979 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x5dfc 024980 rtn 
+:      024982 parse_lmp_accepted_stop_enc:
+0x5dfd 024990 rtn 
+:      024992 parse_lmp_not_accepted_aurand:
+:      024993 parse_lmp_not_accepted_aurand_send_detach:
+0x5dfe 024994 jam lmp_detach ,mem_lmo_opcode2 
+0x5dff 024995 jam other_end_terminated ,mem_disconn_reason_send 
+0x5e00 024996 rtn 
+:      024998 parse_lmp_not_accepted_inrand:
+0x5e01 024999 fetch 1 ,mem_rxbuf + 2 
+0x5e02 025000 beq key_missing ,parse_lmp_inrand_key_missing 
+0x5e03 025001 rtnne pairing_not_allowed 
+0x5e04 025002 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x5e05 025003 jam lmp_detach ,mem_lmo_opcode2 
+0x5e06 025004 rtn 
+:      025005 parse_lmp_inrand_key_missing:
+0x5e07 025006 jam key_missing ,mem_disconn_reason_send 
+0x5e08 025007 jam lmp_detach ,mem_lmo_opcode2 
+0x5e09 025008 rtn 
+:      025010 parse_lmp_not_accepted_name_req:
+0x5e0a 025011 rtn 
+:      025013 parse_lmp_not_accepted_simple_pairing_number:
+0x5e0b 025014 jam sp_stat_null ,mem_sp_state 
+0x5e0c 025015 jam lmp_detach ,mem_lmo_opcode2 
+0x5e0d 025016 branch parse_rx_done 
+:      025018 parse_lmp_not_accepted_dhkey_check:
+0x5e0e 025019 jam sp_stat_null ,mem_sp_state 
+0x5e0f 025020 jam lmp_detach ,mem_lmo_opcode2 
+0x5e10 025021 branch parse_rx_done 
+:      025022 parse_lmp_not_accepted_unsniff_req:
+0x5e11 025023 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x5e12 025024 branch ui_ipc_send_event 
+:      025026 parse_lmp_accepted_unsniff_req:
+0x5e13 025027 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x5e14 025028 call ui_ipc_send_event 
+0x5e15 025029 branch sniff_exit 
+:      025031 parse_lmp_accepted_sniff_req:
+0x5e16 025032 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x5e17 025033 call ui_ipc_send_event 
+0x5e18 025034 setarg 0 
+0x5e19 025035 store 2 ,mem_dsniff 
+0x5e1a 025036 fetch 2 ,mem_sniff_param_interval 
+0x5e1b 025037 lshift pdata ,pdata 
+0x5e1c 025038 store 2 ,mem_tsniff 
+0x5e1d 025039 fetch 1 ,mem_sniff_param_attempt 
+0x5e1e 025040 store 1 ,mem_sniff_attempt 
+0x5e1f 025041 fetch 1 ,mem_sniff_param_timeout 
+0x5e20 025042 store 1 ,mem_sniff_timeout 
+0x5e21 025043 branch sniff_init 
+:      025045 parse_lmp_not_acdcept_sniff_req:
+0x5e22 025046 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x5e23 025047 branch ui_ipc_send_event 
+:      025049 parse_lmp_crypt_key:
+0x5e24 025050 fetcht 1 ,mem_rxbuf + 1 
+0x5e25 025051 storet 1 ,mem_key_size 
+0x5e26 025052 branch accept_lmp_msg 
+:      025054 parse_lmp_setup_complete:
+0x5e27 025055 fetch 1 ,mem_lmp_conn_state 
+0x5e28 025056 set1 received_setup_complete ,pdata 
+0x5e29 025057 store 1 ,mem_lmp_conn_state 
+0x5e2a 025058 rtnbit1 sent_setup_complete 
+0x5e2b 025059 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5e2c 025060 branch parse_rx_done 
+:      025062 parse_lmp_max_slot:
+0x5e2d 025065 rtn 
+:      025067 parse_lmp_max_slot_req:
+0x5e2e 025068 fetch 1 ,mem_max_slot 
+0x5e2f 025069 fetcht 1 ,mem_rxbuf + 1 
+0x5e30 025070 isub temp ,null 
+0x5e31 025072 branch accept_lmp_msg ,positive 
+0x5e32 025073 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e33 025074 jam unspecified_error ,mem_lmo_reason2 
+0x5e34 025075 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x5e35 025076 rtn 
+:      025078 parse_lmp_detach:
+0x5e36 025079 call prepare_disconnect 
+0x5e37 025080 branch accept_lmp_msg 
+:      025082 accept_lmp_msg:
+0x5e38 025083 jam lmp_accepted ,mem_lmo_opcode2 
+0x5e39 025084 rtn 
+:      025086 parse_lmp_incr_power:
+0x5e3a 025087 jam lmp_max_power ,mem_lmo_opcode2 
+0x5e3b 025088 rtn 
+:      025090 parse_lmp_decr_power:
+0x5e3c 025091 jam lmp_min_power ,mem_lmo_opcode2 
+0x5e3d 025092 rtn 
+:      025094 parse_lmp_version_res:
+0x5e3e 025095 fetch 1 ,mem_conn_sm 
+0x5e3f 025096 rtneq conn_sm_wait_version 
+0x5e40 025098 jam conn_sm_send_features ,mem_conn_sm 
+0x5e41 025100 rtn 
+:      025103 parse_lmp_auto_rate:
+0x5e42 025104 rtn 
+:      025106 parse_lmp_in_rand:
+0x5e43 025107 call lmp_copy_rand 
+0x5e44 025108 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x5e45 025109 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x5e46 025110 call ui_ipc_send_event 
+0x5e47 025112 call tid_check 
+0x5e48 025113 nbranch lmp_accept_inrand ,true 
+0x5e49 025115 nbranch parse_lmp_inrand_res ,master 
+0x5e4a 025116 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e4b 025117 jam lmp_in_rand ,mem_lmi_opcode2 
+0x5e4c 025118 jam transaction_collision ,mem_lmo_reason2 
+0x5e4d 025119 rtn 
+:      025120 parse_lmp_inrand_res:
+0x5e4e 025121 fetch 1 ,mem_op 
+0x5e4f 025122 set1 op_inrand_req ,pdata 
+0x5e50 025123 store 1 ,mem_op 
+0x5e51 025124 rtn 
+:      025127 pop_tid_follow:
+0x5e52 025128 fetcht 1 ,mem_state_map 
+0x5e53 025129 nsetflag blank ,smap_lmptid ,temp 
+0x5e54 025130 storet 1 ,mem_state_map 
+0x5e55 025131 rtn 
+:      025134 push_tid_follow:
+0x5e56 025135 fetch 1 ,mem_lmo_tid2 
+0x5e57 025136 rshift pdata ,pdata 
+0x5e58 025137 and_into 1 ,pdata 
+0x5e59 025138 rtn 
+:      025140 parse_lmp_au_rand_moudle:
+0x5e5a 025141 fetch 1 ,mem_nv_data_number 
+0x5e5b 025142 rtn blank 
+0x5e5c 025143 fetch 1 ,mem_pairing_auth 
+0x5e5d 025144 call load_device_list ,blank 
+0x5e5e 025145 rtn 
+:      025147 parse_lmp_au_rand:
+0x5e5f 025148 call parse_lmp_au_rand_moudle 
+0x5e60 025149 call push_tid_follow 
+0x5e61 025150 store 1 ,mem_sres_tid 
+0x5e62 025151 call lmp_copy_rand 
+0x5e63 025152 jam lmp_sres ,mem_lmo_opcode2 
+0x5e64 025153 fetch 1 ,mem_link_key_exists 
+0x5e65 025154 nrtn blank 
+0x5e66 025155 fetch 1 ,mem_state 
+0x5e67 025156 rtnbit1 state_combkey 
+0x5e68 025157 jam key_missing ,mem_lmo_reason2 
+0x5e69 025158 branch reject_lmp_packet 
+:      025160 parse_lmp_sres:
+0x5e6a 025161 arg mem_plap ,rega 
+0x5e6b 025162 call function_e1 
+0x5e6c 025163 fetch 4 ,mem_rxbuf + 1 
+0x5e6d 025164 fetcht 4 ,mem_input_store 
+0x5e6e 025165 isub temp ,null 
+0x5e6f 025166 branch authentication_ok ,zero 
+0x5e70 025167 jam lmp_detach ,mem_lmo_opcode2 
+0x5e71 025168 jam authentication_failure_error ,mem_disconn_reason_send 
+0x5e72 025169 rtn 
+:      025170 authentication_ok:
+0x5e73 025171 call authentication_ok_common 
+0x5e74 025172 fetch 1 ,mem_ssp_enable 
+0x5e75 025173 branch pairing_success ,blank 
+0x5e76 025174 rtn 
+:      025177 authentication_ok_common:
+0x5e77 025178 call copy_aco 
+0x5e78 025179 call linkkey_ready 
+0x5e79 025180 fetch 1 ,mem_op 
+0x5e7a 025181 isolate1 op_auth_req ,pdata 
+0x5e7b 025182 set0 op_auth_req ,pdata 
+0x5e7c 025183 store 1 ,mem_op 
+0x5e7d 025184 fetch 1 ,mem_conn_sm 
+0x5e7e 025185 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x5e7f 025186 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x5e80 025187 rtn 
+:      025188 authentication_ok_conn_sm:
+0x5e81 025189 fetch 1 ,mem_pairing_auth 
+0x5e82 025190 rtnne defalt_pairing_auth 
+0x5e83 025191 fetch 1 ,mem_state_map 
+0x5e84 025192 rtnbit1 smap_encryption 
+0x5e85 025193 branch host_create_conn_encrypt 
+:      025195 parse_lmp_comb_key:
+0x5e86 025196 arg mem_rxbuf + 1 ,rega 
+0x5e87 025197 arg mem_kinit ,regb 
+0x5e88 025198 arg mem_random_number ,contw 
+0x5e89 025199 call xor16 
+0x5e8a 025200 arg mem_plap ,rega 
+0x5e8b 025201 call generate_linkkey 
+0x5e8c 025202 jam lmp_au_rand ,mem_lmo_opcode2 
+0x5e8d 025203 fetch 1 ,mem_state 
+0x5e8e 025204 bbit0 state_combkey ,lmp_generate_key 
+0x5e8f 025205 rtn 
+:      025207 parse_lmp_name_res:
+0x5e90 025208 fetch 2 ,mem_len 
+0x5e91 025209 add pdata ,-3 ,loopcnt 
+0x5e92 025210 fetcht 1 ,mem_rxbuf + 1 
+0x5e93 025211 setarg mem_tmp_buffer 
+0x5e94 025212 iadd temp ,contw 
+0x5e95 025213 arg mem_rxbuf + 3 ,contr 
+0x5e96 025214 call memcpy 
+0x5e97 025215 fetcht 1 ,mem_name_offset 
+0x5e98 025216 fetch 1 ,mem_rxbuf + 2 
+0x5e99 025217 isub temp ,pdata 
+0x5e9a 025218 sub pdata ,14 ,null 
+0x5e9b 025219 branch parse_lmp_name_res_end ,positive 
+0x5e9c 025220 add temp ,14 ,pdata 
+0x5e9d 025221 store 1 ,mem_name_offset 
+0x5e9e 025222 jam lmp_name_req ,mem_lmo_opcode2 
+0x5e9f 025223 rtn 
+:      025224 parse_lmp_name_res_end:
+0x5ea0 025225 fetch 1 ,mem_state_map 
+0x5ea1 025226 set1 smap_name_res ,pdata 
+0x5ea2 025227 store 1 ,mem_state_map 
+0x5ea3 025228 bbit1 smap_name_req ,lmp_disconnect 
+0x5ea4 025229 rtn 
+:      025230 parse_lmp_name_req:
+0x5ea5 025231 fetch 1 ,mem_rxbuf + 1 
+0x5ea6 025232 store 1 ,mem_lmi_opcode2 
+0x5ea7 025233 jam lmp_name_res ,mem_lmo_opcode2 
+0x5ea8 025234 rtn 
+:      025236 parse_lmp_conn_req:
+0x5ea9 025237 branch accept_lmp_msg 
+:      025239 parse_lmp_timing_accuracy_req:
+0x5eaa 025240 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x5eab 025241 rtn 
+:      025243 parse_lmp_features_req:
+0x5eac 025244 jam lmp_features_res ,mem_lmo_opcode2 
+0x5ead 025245 rtn 
+:      025247 parse_lmp_version_req:
+0x5eae 025248 jam lmp_version_res ,mem_lmo_opcode2 
+0x5eaf 025249 rtn 
+:      025251 parse_lmp_supervision_timeout:
+0x5eb0 025254 rtn 
+:      025258 parse_lmp_sniff_subrating_req:
+0x5eb1 025259 fetch 2 ,mem_tsniff 
+0x5eb2 025260 iforce temp 
+0x5eb3 025261 fetch 1 ,mem_rxbuf + 2 
+0x5eb4 025262 store 1 ,mem_subsniff_rate 
+0x5eb5 025263 imul32 temp ,temp 
+0x5eb6 025264 fetch 2 ,mem_rxbuf + 3 
+0x5eb7 025265 lshift pdata ,pdata 
+0x5eb8 025266 store 2 ,mem_subsniff_tcmax 
+0x5eb9 025267 fetch 4 ,mem_rxbuf + 5 
+0x5eba 025268 lshift pdata ,pdata 
+0x5ebb 025269 store 4 ,mem_subsniff_instant 
+0x5ebc 025271 deposit temp 
+0x5ebd 025272 store 2 ,mem_subsniff_tsniff 
+0x5ebe 025273 rtn 
+:      025274 parse_lmpext_packet_type_table_req:
+0x5ebf 025275 fetcht 1 ,mem_ptt 
+0x5ec0 025276 fetch 1 ,mem_rxbuf + 2 
+0x5ec1 025277 ixor temp ,null 
+0x5ec2 025278 nbranch reject_unknown_ext_packet ,zero 
+0x5ec3 025279 isolate1 0 ,pdata 
+0x5ec4 025280 fetch 1 ,mem_state_map 
+0x5ec5 025281 setflag true ,smap_edr ,pdata 
+0x5ec6 025282 store 1 ,mem_state_map 
+0x5ec7 025283 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x5ec8 025284 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x5ec9 025285 rtn 
+:      025288 parse_lmp_sniff_subrating_res:
+:      025289 parse_lmp_preferred_rate:
+:      025290 parse_lmp_max_power:
+:      025291 parse_lmp_min_power:
+0x5eca 025292 rtn 
+:      025293 parse_lmp_page_mode_req:
+0x5ecb 025295 branch accept_lmp_msg 
+:      025296 parse_lmp_page_scan_mode_req:
+0x5ecc 025299 branch accept_lmp_msg 
+:      025303 parse_lmp_slot_offset:
+0x5ecd 025304 fetch 2 ,mem_rxbuf + 1 
+0x5ece 025305 store 2 ,mem_slot_offset 
+0x5ecf 025306 rtn 
+:      025308 parse_lmp_sniff_req_check_sniff_para:
+0x5ed0 025309 fetch 2 ,mem_rxbuf + 4 
+0x5ed1 025310 fetcht 1 ,mem_lpm_mult 
+0x5ed2 025311 imul32 temp ,pdata 
+0x5ed3 025312 arg 0x640 ,temp 
+0x5ed4 025313 isub temp ,null 
+0x5ed5 025315 rtn 
+:      025317 parse_lmp_sniff_req:
+0x5ed6 025318 fetch 2 ,mem_rxbuf + 6 
+0x5ed7 025319 branch lmp_reject_sniff ,blank 
+0x5ed8 025320 call parse_lmp_sniff_req_check_sniff_para 
+0x5ed9 025321 branch lmp_reject_sniff ,positive 
+0x5eda 025322 fetch 1 ,mem_device_option 
+0x5edb 025323 sub pdata ,dvc_op_module ,null 
+0x5edc 025324 call module_set_lpm_mult_2 ,zero 
+0x5edd 025325 fetch 1 ,mem_state 
+0x5ede 025326 bbit1 state_insniff ,lmp_reject_sniff 
+0x5edf 025327 fetch 2 ,mem_rxbuf + 2 
+0x5ee0 025328 lshift pdata ,pdata 
+0x5ee1 025329 store 2 ,mem_dsniff 
+0x5ee2 025330 fetch 2 ,mem_rxbuf + 4 
+0x5ee3 025331 lshift pdata ,pdata 
+0x5ee4 025332 store 2 ,mem_tsniff 
+0x5ee5 025333 fetch 2 ,mem_rxbuf + 6 
+0x5ee6 025334 store 1 ,mem_sniff_attempt 
+0x5ee7 025335 iforce temp 
+0x5ee8 025336 fetch 2 ,mem_rxbuf + 8 
+0x5ee9 025337 store 1 ,mem_sniff_timeout 
+0x5eea 025338 isub temp ,null 
+0x5eeb 025339 nbranch set_big_value_to_attempt ,positive 
+0x5eec 025340 store 1 ,mem_sniff_attempt 
+:      025341 set_big_value_to_attempt:
+0x5eed 025343 jam lmp_accepted ,mem_lmo_opcode2 
+0x5eee 025344 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x5eef 025345 rtn 
+:      025347 lmp_reject_sniff:
+0x5ef0 025348 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5ef1 025349 branch reject_lmp_packet 
+:      025351 parse_lmp_start_encryption_req:
+0x5ef2 025352 call accept_lmp_msg 
+0x5ef3 025353 call lmp_copy_rand 
+0x5ef4 025354 call function_e3 
+0x5ef5 025355 branch start_encryption 
+:      025357 parse_lmp_stop_encryption_req:
+0x5ef6 025358 call accept_lmp_msg 
+0x5ef7 025359 branch stop_encryption 
+:      025362 parse_lmp_switch_req:
+0x5ef8 025363 fetch 4 ,mem_rxbuf + 1 
+0x5ef9 025364 lshift pdata ,pdata 
+0x5efa 025366 branch parse_lmp_switch_accept ,master 
+0x5efb 025367 fetcht 1 ,mem_link_key_exists 
+0x5efc 025368 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      025369 parse_lmp_switch_req_not_accept:
+0x5efd 025370 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5efe 025371 jam lmp_switch_req ,mem_lmi_opcode2 
+0x5eff 025372 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f00 025373 rtn 
+:      025374 parse_lmp_switch_req_clear_mark:
+0x5f01 025375 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x5f02 025376 jam 0 ,mem_conn_sm 
+0x5f03 025377 branch role_switch_prepare 
+:      025379 parse_lmp_switch_accept:
+0x5f04 025380 call role_switch_prepare 
+0x5f05 025381 set1 mark_reconn_recieve_switch ,mark 
+0x5f06 025382 fetch 1 ,mem_connection_options 
+0x5f07 025383 set0 connection_switch ,pdata 
+0x5f08 025384 store 1 ,mem_connection_options 
+0x5f09 025385 branch accept_lmp_msg 
+:      025389 parse_lmp_temp_rand:
+:      025390 parse_lmp_temp_key:
+:      025391 parse_lmp_timing_accuracy_res:
+:      025392 parse_lmp_unit_key:
+:      025393 parse_lmp_use_semi_permanend_key:
+0x5f0a 025394 rtn 
+:      025397 parse_lmp_unsniff_req:
+0x5f0b 025398 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f0c 025399 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x5f0d 025400 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x5f0e 025401 call ui_ipc_send_event 
+0x5f0f 025402 branch sniff_exit 
+:      025404 parse_lmp_encapsulated_header:
+0x5f10 025405 fetch 1 ,mem_rxbuf + 1 
+0x5f11 025406 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f12 025407 fetch 1 ,mem_rxbuf + 2 
+0x5f13 025408 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f14 025409 fetch 1 ,mem_rxbuf + 3 
+0x5f15 025410 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f16 025411 call check_localsm 
+0x5f17 025412 branch parse_lmp_encapsulated_header_master ,true 
+0x5f18 025413 jam sp_stat_key_recv ,mem_sp_state 
+:      025414 parse_lmp_encapsulated_header_master:
+0x5f19 025415 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f1a 025416 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x5f1b 025417 branch parse_rx_done 
+:      025419 parse_lmp_encapsulated_header_reject:
+0x5f1c 025420 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f1d 025421 branch reject_lmp_packet 
+:      025423 parse_lmp_accepted_encapsulated_header:
+0x5f1e 025426 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f1f 025428 rtn 
+:      025429 parse_lmp_accepted_simple_pairing_number:
+0x5f20 025430 fetch 1 ,mem_ssp_mode_flag 
+0x5f21 025431 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x5f22 025432 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      025433 parse_lmp_accepted_simple_pairing_number_common:
+0x5f23 025434 call check_localsm 
+0x5f24 025435 rtn true 
+0x5f25 025436 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f26 025437 rtn 
+:      025439 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x5f27 025440 call g_noninit_number_confirm 
+0x5f28 025441 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x5f29 025442 call ui_ipc_send_event 
+0x5f2a 025443 branch parse_lmp_accepted_simple_pairing_number_common 
+:      025446 parse_lmp_accepted_simple_pairing_number_passkey:
+0x5f2b 025447 call check_localsm 
+0x5f2c 025448 rtn true 
+0x5f2d 025449 fetch 1 ,mem_authentication_passkey_times 
+0x5f2e 025450 beq 19 ,authentication_passkey_end 
+0x5f2f 025451 increase 1 ,pdata 
+0x5f30 025452 store 1 ,mem_authentication_passkey_times 
+:      025455 authentication_passkey:
+0x5f31 025456 jam sp_flag_commit ,mem_sp_flag 
+0x5f32 025457 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f33 025458 fetch 1 ,mem_authentication_passkey_times 
+0x5f34 025459 copy pdata ,queue 
+0x5f35 025460 fetch 6 ,mem_pin 
+0x5f36 025461 qisolate1 pdata 
+0x5f37 025462 setarg 0x80 
+0x5f38 025463 setflag true ,0 ,pdata 
+0x5f39 025464 store 1 ,mem_passkey_1bit 
+0x5f3a 025465 rtn 
+:      025467 authentication_passkey_end:
+0x5f3b 025468 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f3c 025469 rtn 
+:      025471 parse_lmp_accepted_dhkey_check:
+0x5f3d 025472 call parse_lmp_accepted_dhkey_check_common 
+:      025473 pairing_success:
+0x5f3e 025474 fetch 1 ,mem_flag_pairing_state 
+0x5f3f 025475 rtn blank 
+0x5f40 025476 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x5f41 025477 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x5f42 025478 branch ui_ipc_send_event 
+:      025481 parse_lmp_accepted_dhkey_check_common:
+0x5f43 025483 call check_localsm 
+0x5f44 025484 ncall g_noninit ,true 
+0x5f45 025485 call g_init ,true 
+0x5f46 025486 call check_localsm 
+0x5f47 025487 rtn true 
+0x5f48 025488 jam sp_stat_link_key_calc ,mem_sp_state 
+0x5f49 025489 jam sp_flag_commit ,mem_sp_flag 
+0x5f4a 025490 rtn 
+:      025492 parse_simple_pairing_confirm:
+0x5f4b 025493 arg mem_sp_confirm_remote ,contw 
+0x5f4c 025494 arg mem_rxbuf + 1 ,contr 
+0x5f4d 025495 call memcpy16 
+0x5f4e 025496 fetch 1 ,mem_ssp_mode_flag 
+0x5f4f 025497 rtneq ssp_mode_passkey_entry_flag 
+0x5f50 025498 branch master_set_mem_master_sp_flag 
+:      025500 parse_lmp_encapsulated_payload:
+0x5f51 025501 fetch 1 ,mem_master_sp_state 
+0x5f52 025502 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x5f53 025503 fetch 1 ,mem_sp_state 
+0x5f54 025504 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      025505 parse_encapsulated_payload_master:
+0x5f55 025506 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f56 025507 sub pdata ,0x20 ,contw 
+0x5f57 025508 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x5f58 025509 arg mem_sp_pubkey_remote ,contw 
+0x5f59 025510 iadd contw ,contw 
+0x5f5a 025511 fetch 8 ,mem_rxbuf + 1 
+0x5f5b 025512 istore 8 ,contw 
+0x5f5c 025513 fetch 8 ,mem_rxbuf + 9 
+0x5f5d 025514 istore 8 ,contw 
+0x5f5e 025515 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f5f 025516 increase 16 ,pdata 
+0x5f60 025517 store 1 ,mem_sp_remote_key_recv_count 
+0x5f61 025518 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      025519 parse_lmp_encapsulated_payload_completed:
+0x5f62 025520 call check_localsm 
+0x5f63 025521 branch accept_lmp_msg ,true 
+0x5f64 025522 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x5f65 025523 jam sp_stat_key_generate ,mem_sp_state 
+0x5f66 025524 jam sp_flag_commit ,mem_sp_flag 
+0x5f67 025525 branch accept_lmp_msg 
+:      025526 parse_lmp_encapsulated_payload_reject:
+0x5f68 025527 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f69 025528 branch reject_lmp_packet 
+:      025529 parse_lmp_accepted_encapsulated_payload:
+0x5f6a 025530 fetch 1 ,mem_sp_local_key_send_count 
+0x5f6b 025531 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x5f6c 025532 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f6d 025533 branch parse_rx_done 
+:      025535 parse_lmp_encapsulated_payload_all_accepted:
+0x5f6e 025536 call check_localsm 
+0x5f6f 025537 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x5f70 025538 fetch 1 ,mem_ssp_mode_flag 
+0x5f71 025539 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x5f72 025540 jam sp_flag_commit ,mem_sp_flag 
+0x5f73 025541 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f74 025542 branch parse_rx_done 
+:      025544 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x5f75 025545 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x5f76 025546 branch ui_ipc_send_event 
+:      025549 parse_lmp_encapsulated_payload_all_accepted_master:
+0x5f77 025551 branch parse_rx_done 
+:      025553 parse_lmp_simple_pairing_number:
+0x5f78 025554 fetch 1 ,mem_master_sp_state 
+0x5f79 025555 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x5f7a 025556 fetch 1 ,mem_sp_state 
+0x5f7b 025557 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      025558 parse_lmp_simple_pairing_number_master:
+0x5f7c 025559 arg mem_sp_random_remote ,contw 
+0x5f7d 025560 fetch 8 ,mem_rxbuf + 1 
+0x5f7e 025561 istore 8 ,contw 
+0x5f7f 025562 fetch 8 ,mem_rxbuf + 9 
+0x5f80 025563 istore 8 ,contw 
+0x5f81 025564 call check_localsm 
+0x5f82 025565 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x5f83 025566 jam sp_stat_random_send ,mem_sp_state 
+0x5f84 025567 jam sp_flag_commit ,mem_sp_flag 
+0x5f85 025568 branch accept_lmp_msg 
+:      025569 parse_lmp_simple_pairing_number_master0:
+0x5f86 025570 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x5f87 025571 branch master_set_mem_master_sp_flag 
+:      025574 parse_lmp_simple_pairing_number_reject:
+0x5f88 025575 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f89 025576 branch reject_lmp_packet 
+:      025578 parse_dhkey_check:
+0x5f8a 025579 fetch 1 ,mem_master_sp_state 
+0x5f8b 025580 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x5f8c 025581 fetch 1 ,mem_sp_state 
+0x5f8d 025582 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      025583 parse_dhkey_check_master:
+0x5f8e 025584 arg mem_sp_check_result ,contw 
+0x5f8f 025585 arg mem_rxbuf + 1 ,contr 
+0x5f90 025586 call memcpy16 
+0x5f91 025587 call check_localsm 
+0x5f92 025588 branch parse_dhkey_check_master0 ,true 
+0x5f93 025589 fetch 1 ,mem_ssp_mode_flag 
+0x5f94 025590 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      025591 number_comparison_successed:
+0x5f95 025592 jam 0 ,mem_flag_mode_ssp_pin 
+0x5f96 025593 jam sp_stat_confirm_check ,mem_sp_state 
+0x5f97 025594 jam sp_flag_commit ,mem_sp_flag 
+0x5f98 025595 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x5f99 025596 branch parse_rx_done 
+:      025598 parse_dhkey_check_master0:
+0x5f9a 025599 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x5f9b 025600 jam sp_flag_commit ,mem_master_sp_flag 
+0x5f9c 025601 branch parse_rx_done 
+:      025602 parse_lmp_dhkey_check_reject:
+0x5f9d 025603 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f9e 025604 branch reject_lmp_packet 
+:      025606 number_comparison_mode:
+0x5f9f 025607 fetch 1 ,mem_flag_mode_ssp_pin 
+0x5fa0 025608 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x5fa1 025609 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x5fa2 025610 store 1 ,mem_flag_mode_ssp_pin 
+0x5fa3 025611 rtn 
+:      025613 comparison_result:
+0x5fa4 025614 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x5fa5 025615 jam 0 ,mem_flag_mode_ssp_pin 
+0x5fa6 025616 branch parse_lmp_dhkey_check_reject 
+:      025619 parse_lmp_clkoffset_res:
+0x5fa7 025620 branch parse_rx_done 
+:      025622 parse_lmp_encryption_mode_req:
+0x5fa8 025623 fetch 1 ,mem_connection_options 
+0x5fa9 025624 set0 connection_encrypt 
+0x5faa 025625 store 1 ,mem_connection_options 
+0x5fab 025626 call accept_lmp_msg 
+0x5fac 025627 nrtn master 
+0x5fad 025628 fetch 1 ,mem_rxbuf + 1 
+0x5fae 025629 fetcht 1 ,mem_op 
+0x5faf 025630 setflag blank ,op_stop_enc ,temp 
+0x5fb0 025631 nsetflag blank ,op_start_enc ,temp 
+0x5fb1 025632 storet 1 ,mem_op 
+0x5fb2 025633 rtn 
+:      025635 parse_lmp_features_res:
+0x5fb3 025636 fetcht 8 ,mem_rxbuf + 1 
+:      025637 parse_lmp_features_res_not_hci:
+0x5fb4 025638 fetch 1 ,mem_conn_sm 
+0x5fb5 025639 rtnne conn_sm_wait_features_res 
+0x5fb6 025641 fetch 1 ,mem_connection_options 
+0x5fb7 025642 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x5fb8 025644 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x5fb9 025645 rtn 
+:      025646 parse_lmp_send_conn:
+0x5fba 025647 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5fbb 025648 rtn 
+:      025649 parse_lmp_test_activate:
+0x5fbc 025650 fetch 1 ,mem_debug_config 
+0x5fbd 025651 store 1 ,mem_test_mode_old_debug_config 
+0x5fbe 025652 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fbf 025653 jam lmp_test_activate ,mem_lmi_opcode2 
+0x5fc0 025654 rtn 
+:      025655 parse_lmp_test_control:
+0x5fc1 025658 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fc2 025659 jam lmp_test_control ,mem_lmi_opcode2 
+0x5fc3 025660 force 9 ,loopcnt 
+0x5fc4 025661 arg mem_rxbuf + 1 ,contr 
+0x5fc5 025662 arg mem_temp_payload ,contw 
+:      025663 parse_lmp_test_xor:
+0x5fc6 025664 ifetch 1 ,contr 
+0x5fc7 025665 xor_into 0x55 ,pdata 
+0x5fc8 025666 istore 1 ,contw 
+0x5fc9 025667 loop parse_lmp_test_xor 
+0x5fca 025668 fetch 1 ,test_mode_scenario 
+0x5fcb 025669 fetcht 1 ,mem_tester_emulate 
+0x5fcc 025670 set0 tester_no_whitening ,temp 
+0x5fcd 025671 set0 tester_pattern_test ,temp 
+0x5fce 025672 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x5fcf 025673 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x5fd0 025674 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x5fd1 025675 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd2 025676 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x5fd3 025677 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd4 025678 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x5fd5 025679 beq one_pattern ,parse_lmp_test_control_pattern 
+0x5fd6 025680 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x5fd7 025681 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x5fd8 025682 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x5fd9 025683 rtn 
+:      025684 parse_lmp_test_control_exit:
+0x5fda 025686 fetch 1 ,mem_tester_emulate 
+0x5fdb 025687 set1 tester_exit ,pdata 
+0x5fdc 025688 set1 tester_change ,pdata 
+0x5fdd 025689 store 1 ,mem_tester_emulate 
+0x5fde 025690 rtn 
+:      025691 parse_lmp_test_control_pattern:
+0x5fdf 025692 set1 tester_pattern_test ,temp 
+0x5fe0 025693 jam 5 ,mem_lch_code 
+0x5fe1 025694 fetch 2 ,test_mode_data_length 
+0x5fe2 025695 iforce loopcnt 
+0x5fe3 025696 store 2 ,mem_len 
+0x5fe4 025697 arg mem_rxbuf ,contw 
+0x5fe5 025698 call pn9 
+:      025699 parse_lmp_test_control_loopback_nowhite:
+0x5fe6 025700 set1 tester_no_whitening ,temp 
+:      025701 parse_lmp_test_control_loopback:
+0x5fe7 025702 set1 tester_change ,temp 
+0x5fe8 025703 force 0 ,pdata 
+0x5fe9 025704 store 1 ,mem_slave_rcvcnt 
+0x5fea 025705 store 2 ,mem_tst_pktcnt_crc 
+0x5feb 025706 store 2 ,mem_tst_pktcnt_dmh 
+0x5fec 025707 store 2 ,mem_tst_pktcnt_hec 
+0x5fed 025708 store 2 ,mem_tst_pktcnt_sync 
+0x5fee 025709 fetch 1 ,test_mode_hopping_mode 
+0x5fef 025710 compare fixed_freq ,pdata ,0xff 
+0x5ff0 025711 setflag true ,tester_fixed_freq ,temp 
+0x5ff1 025712 storet 1 ,mem_tester_emulate 
+0x5ff2 025713 rtn 
+:      025715 parse_lmp_test_control_pause:
+0x5ff3 025716 set0 mark_testmode ,mark 
+0x5ff4 025717 jam 0 ,mem_tester_emulate 
+0x5ff5 025718 fetch 1 ,mem_debug_config 
+0x5ff6 025719 set0 debug_tx_pattern ,pdata 
+0x5ff7 025720 store 1 ,mem_debug_config 
+0x5ff8 025721 rtn 
+:      025727 lmp_copy_rand:
+0x5ff9 025728 arg mem_rxbuf + 1 ,contr 
+0x5ffa 025729 arg mem_random_number ,contw 
+0x5ffb 025730 branch memcpy16 
+:      025732 lmp_generate_key:
+0x5ffc 025733 jam lmp_comb_key ,mem_lmo_opcode2 
+0x5ffd 025734 rtn 
+:      025736 lmp_start_encryption:
+0x5ffe 025737 nrtn master 
+0x5fff 025738 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x6000 025739 rtn 
+:      025741 lmp_accept_inrand:
+0x6001 025742 arg mem_lap ,rega 
+0x6002 025743 call generate_kinit 
+0x6003 025744 jam lmp_accepted ,mem_lmo_opcode2 
+0x6004 025745 jam lmp_in_rand ,mem_lmi_opcode2 
+0x6005 025746 rtn 
+:      025748 lmp_disconnect:
+0x6006 025749 jam 10 ,mem_conn_timer 
+0x6007 025750 jam lmp_detach ,mem_lmo_opcode2 
+0x6008 025751 jam local_host ,mem_disconn_reason_send 
+0x6009 025752 rtn 
+:      025758 send_lmp:
+0x600a 025759 bpatchx patch30_2 ,mem_patch30 
+0x600b 025760 disable user 
+0x600c 025761 call lmo_fifo_process 
+0x600d 025762 fetch 1 ,mem_lmp_to_send 
+0x600e 025763 rtn blank 
+0x600f 025768 bbit1 7 ,send_lmp_escape 
+:      025769 send_lmp0:
+0x6010 025770 beq lmp_name_req ,send_lmp_name_req 
+0x6011 025771 beq lmp_name_res ,send_lmp_name_res 
+0x6012 025772 beq lmp_accepted ,send_lmp_accepted 
+0x6013 025773 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x6014 025774 beq lmp_features_req ,send_lmp_features_req 
+0x6015 025775 beq lmp_features_res ,send_lmp_features_res 
+0x6016 025776 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x6017 025777 beq lmp_version_req ,send_lmp_version_req 
+0x6018 025778 beq lmp_version_res ,send_lmp_version_res 
+0x6019 025779 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x601a 025780 beq lmp_supervision_timeout ,send_lmp_superto 
+0x601b 025781 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x601c 025782 beq lmp_in_rand ,send_lmp_inrand 
+0x601d 025783 beq lmp_comb_key ,send_lmp_comb_key 
+0x601e 025784 beq lmp_au_rand ,send_lmp_aurand 
+0x601f 025785 beq lmp_sres ,send_lmp_sres 
+0x6020 025786 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6021 025787 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6022 025788 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6023 025789 beq lmp_detach ,send_lmp_detach 
+0x6024 025790 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6025 025791 beq lmp_unit_key ,send_lmp_unit_key 
+0x6026 025793 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6027 025794 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x6028 025795 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x6029 025796 beq lmp_max_slot ,send_lmp_max_slot 
+0x602a 025797 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x602b 025798 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x602c 025799 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x602d 025800 beq lmp_switch_req ,send_lmp_switch_req 
+0x602e 025801 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x602f 025802 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6030 025803 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6031 025804 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6032 025805 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6033 025806 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6034 025807 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6035 025808 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6036 025809 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6037 025810 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x6038 025811 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x6039 025813 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x603a 025814 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x603b 025815 beq lmp_test_activate ,send_lmp_test_activate 
+0x603c 025816 beq lmp_test_control ,send_lmp_test_control 
+:      025817 send_lmp_error:
+0x603d 025818 branch assert 
+0x603e 025819 rtn 
+:      025820 send_lmp_escape:
+0x603f 025821 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6040 025822 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6041 025823 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6042 025824 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6043 025825 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6044 025826 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6045 025827 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6046 025828 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6047 025829 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x6048 025830 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x6049 025831 branch assert 
+:      025837 send_lmp_accepted:
+0x604a 025838 force 2 ,pdata 
+0x604b 025839 call msg_send_lmp 
+0x604c 025840 fetch 1 ,mem_lmi_opcode 
+0x604d 025841 istore 1 ,contw 
+0x604e 025842 call send_lmp_follow 
+0x604f 025843 bpatchx patch30_3 ,mem_patch30 
+0x6050 025844 fetch 1 ,mem_lmi_opcode 
+0x6051 025845 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6052 025846 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6053 025847 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6054 025848 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6055 025849 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6056 025850 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6057 025851 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x6058 025852 rtn 
+:      025854 send_create_conn_start_l2cap_timer_sm:
+0x6059 025855 fetch 1 ,mem_conn_sm 
+0x605a 025856 rtn blank 
+0x605b 025857 jam conn_sm_wait_done ,mem_conn_sm 
+0x605c 025858 setarg timer_enpt_waite 
+0x605d 025859 arg enpt_delay_timer ,queue 
+0x605e 025860 branch timer_init 
+:      025862 send_lmp_accept_sniff_req:
+0x605f 025863 branch sniff_init 
+:      025864 send_lmp_not_accepted:
+0x6060 025865 force 3 ,pdata 
+0x6061 025866 call msg_send_lmp 
+0x6062 025867 fetch 1 ,mem_lmi_opcode 
+0x6063 025868 beq lmp_au_rand ,send_not_accept_aurand 
+0x6064 025869 istore 1 ,contw 
+0x6065 025870 fetch 1 ,mem_lmo_reason 
+0x6066 025871 istore 1 ,contw 
+0x6067 025872 branch send_lmp_follow 
+:      025874 send_not_accept_aurand:
+0x6068 025875 istore 1 ,contw 
+0x6069 025876 fetch 1 ,mem_lmo_reason 
+0x606a 025877 istore 1 ,contw 
+0x606b 025878 arg mem_sres_tid ,temp 
+0x606c 025879 branch special_tid_store 
+:      025881 send_lmpext_accepted:
+0x606d 025882 force 4 ,queue 
+0x606e 025883 call send_lmpext 
+0x606f 025884 setarg lmp_escape 
+0x6070 025885 istore 1 ,contw 
+0x6071 025886 fetch 1 ,mem_lmi_opcode 
+0x6072 025887 set0 7 ,pdata 
+0x6073 025888 istore 1 ,contw 
+0x6074 025889 fetch 1 ,mem_lmi_opcode 
+0x6075 025890 branch send_lmp_follow 
+:      025892 send_lmpext_not_accepted:
+0x6076 025893 force 5 ,queue 
+0x6077 025894 call send_lmpext 
+0x6078 025895 setarg lmp_escape 
+0x6079 025896 istore 1 ,contw 
+0x607a 025897 fetch 1 ,mem_lmi_opcode 
+0x607b 025898 set0 7 ,pdata 
+0x607c 025899 istore 1 ,contw 
+0x607d 025900 fetch 1 ,mem_lmo_reason 
+0x607e 025901 istore 1 ,contw 
+0x607f 025902 branch send_lmp_follow 
+:      025905 send_lmp_accepted_inrand:
+0x6080 025906 call clear_linkkey 
+0x6081 025907 call tid_check 
+0x6082 025908 rtn true 
+0x6083 025909 branch lmp_generate_key 
+:      025911 send_lmp_accepted_enc_mode:
+0x6084 025912 fetch 1 ,mem_op 
+0x6085 025913 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6086 025914 rtnbit0 op_stop_enc 
+0x6087 025915 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6088 025916 set0 op_stop_enc ,pdata 
+0x6089 025917 call tid_reply 
+0x608a 025918 branch send_lmp_accepted_enc_exit 
+:      025919 send_lmp_accepted_enc_start:
+0x608b 025920 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x608c 025921 set0 op_start_enc ,pdata 
+:      025922 send_lmp_accepted_enc_exit:
+0x608d 025923 store 1 ,mem_op 
+0x608e 025924 rtn 
+:      025926 send_lmp_accepted_enc_key:
+0x608f 025927 call check_localsm 
+0x6090 025928 branch lmp_start_encryption ,true 
+0x6091 025929 rtn 
+:      025931 send_lmp_accepted_connection:
+0x6092 025932 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6093 025934 fetch 1 ,mem_lmp_conn_state 
+0x6094 025935 set1 received_conn_req ,pdata 
+0x6095 025936 store 1 ,mem_lmp_conn_state 
+0x6096 025937 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6097 025938 branch ui_ipc_send_event 
+:      025941 send_lmp_accept_dhkey_check:
+0x6098 025942 rtn 
+:      025946 send_lmpext_features_res:
+0x6099 025947 force 12 ,queue 
+0x609a 025948 call send_lmpext 
+0x609b 025949 setarg 0x01 
+0x609c 025950 istore 1 ,contw 
+0x609d 025951 fetch 2 ,mem_lmpext_ssp_enable 
+0x609e 025952 istore 2 ,contw 
+0x609f 025953 setarg 0 
+0x60a0 025954 istore 3 ,contw 
+0x60a1 025955 setarg 0x00 
+0x60a2 025956 istore 4 ,contw 
+0x60a3 025957 branch send_lmp_reply 
+:      025958 send_lmpext_io_cap_res:
+0x60a4 025959 force 5 ,queue 
+0x60a5 025960 call send_lmpext 
+0x60a6 025961 fetch 3 ,mem_sp_iocap_local 
+0x60a7 025962 istore 3 ,contw 
+0x60a8 025963 call send_lmp_reply 
+0x60a9 025964 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x60aa 025965 fetch 1 ,mem_sp_iocap_local 
+0x60ab 025966 beq display_yesno ,responder_iocap_display_yesno 
+0x60ac 025967 beq keyboard_only ,responder_iocap_keyboard_only 
+0x60ad 025968 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x60ae 025969 rtn 
+:      025971 responder_iocap_keyboard_only:
+0x60af 025972 fetch 1 ,mem_sp_iocap_remote 
+0x60b0 025973 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x60b1 025974 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x60b2 025975 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x60b3 025976 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x60b4 025977 rtn 
+:      025980 responder_iocap_display_yesno:
+0x60b5 025981 fetch 1 ,mem_sp_iocap_remote 
+0x60b6 025982 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x60b7 025983 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x60b8 025984 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x60b9 025985 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x60ba 025986 rtn 
+:      025989 responder_iocap_no_input_no_output:
+0x60bb 025990 fetch 1 ,mem_sp_iocap_remote 
+0x60bc 025991 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x60bd 025992 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x60be 025993 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x60bf 025994 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x60c0 025995 rtn 
+:      025997 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      025998 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      025999 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      026000 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      026001 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      026002 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      026003 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      026004 set_ssp_mode_justwork:
+0x60c1 026005 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x60c2 026006 fetch 1 ,mem_classic_bt_flag 
+0x60c3 026007 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x60c4 026008 rtn 
+:      026010 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      026011 set_ssp_mode_numeric_comparison:
+0x60c5 026012 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x60c6 026013 rtn 
+:      026015 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      026016 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      026017 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      026018 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      026019 set_ssp_mode_passkey:
+0x60c7 026020 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x60c8 026021 rtn 
+:      026024 classic_bt_set_reject_justwork_flag:
+0x60c9 026025 arg flag_ssp_reject_justwork ,queue 
+0x60ca 026026 branch classic_bluetooth_set_flag 
+:      026028 classic_bt_clr_reject_justwork_flag:
+0x60cb 026029 arg flag_ssp_reject_justwork ,queue 
+0x60cc 026030 branch classic_bluetooth_clr_flag 
+:      026032 classic_bluetooth_set_flag:
+0x60cd 026033 fetch 1 ,mem_classic_bt_flag 
+0x60ce 026034 qset1 pdata 
+0x60cf 026035 store 1 ,mem_classic_bt_flag 
+0x60d0 026036 rtn 
+:      026038 classic_bluetooth_clr_flag:
+0x60d1 026039 fetch 1 ,mem_classic_bt_flag 
+0x60d2 026040 qset0 pdata 
+0x60d3 026041 store 1 ,mem_classic_bt_flag 
+0x60d4 026042 rtn 
+:      026045 send_lmp_io_cap_req:
+0x60d5 026046 force 5 ,queue 
+0x60d6 026047 call send_lmpext 
+0x60d7 026048 fetch 3 ,mem_sp_iocap_local 
+0x60d8 026049 istore 3 ,contw 
+0x60d9 026050 branch send_lmp_request 
+:      026053 send_lmpext_sniff_subrating_req:
+0x60da 026055 rtn 
+:      026056 send_lmpext_sniff_subrating_res:
+0x60db 026057 force 9 ,queue 
+0x60dc 026058 call send_lmpext 
+0x60dd 026059 fetch 1 ,mem_subsniff_rate 
+0x60de 026060 istore 1 ,contw 
+0x60df 026061 fetch 2 ,mem_subsniff_tcmax 
+0x60e0 026062 istore 2 ,contw 
+0x60e1 026063 fetch 4 ,mem_subsniff_instant 
+0x60e2 026064 istore 4 ,contw 
+0x60e3 026065 branch send_lmp_reply 
+:      026067 send_lmp_name_res:
+0x60e4 026068 force 17 ,pdata 
+0x60e5 026069 call msg_send_lmp 
+0x60e6 026070 fetch 1 ,mem_lmi_opcode 
+0x60e7 026071 copy pdata ,temp 
+0x60e8 026072 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x60e9 026073 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x60ea 026074 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x60eb 026075 rtn 
+:      026076 send_lmp_name_res_offset_ok:
+0x60ec 026077 istore 1 ,contw 
+0x60ed 026078 fetch 1 ,mem_local_name_length 
+0x60ee 026079 istore 1 ,contw 
+0x60ef 026080 arg 14 ,loopcnt 
+0x60f0 026081 setarg mem_local_name 
+0x60f1 026082 iadd temp ,contr 
+0x60f2 026083 call memcpy 
+0x60f3 026084 branch send_lmp_reply 
+:      026087 send_lmp_timing_accuracy_res:
+0x60f4 026088 force 3 ,pdata 
+0x60f5 026089 call msg_send_lmp 
+0x60f6 026090 setarg 0x0114 
+0x60f7 026091 istore 2 ,contw 
+0x60f8 026092 branch send_lmp_reply 
+:      026094 send_lmp_clkoffset_res:
+0x60f9 026096 force 3 ,pdata 
+0x60fa 026097 call msg_send_lmp 
+0x60fb 026098 fetch 4 ,mem_clke_bt 
+0x60fc 026099 isub clkn_bt ,pdata 
+0x60fd 026100 branch send_lmp_clkoffset_res_master ,master 
+0x60fe 026101 sub pdata ,0 ,pdata 
+:      026102 send_lmp_clkoffset_res_master:
+0x60ff 026104 rshift2 pdata ,pdata 
+0x6100 026105 set0 15 ,pdata 
+0x6101 026106 istore 2 ,contw 
+0x6102 026107 branch send_lmp_reply 
+:      026109 send_lmp_version_res:
+0x6103 026110 force 6 ,pdata 
+0x6104 026111 call msg_send_lmp 
+0x6105 026112 fetch 5 ,mem_lmp_version 
+0x6106 026113 istore 5 ,contw 
+0x6107 026114 branch send_lmp_reply 
+:      026116 send_lmp_features_res:
+0x6108 026117 force 9 ,pdata 
+0x6109 026118 call msg_send_lmp 
+0x610a 026119 fetch 8 ,mem_features 
+0x610b 026120 istore 8 ,contw 
+0x610c 026121 branch send_lmp_reply 
+:      026128 send_lmpext_features_req:
+0x610d 026129 force 12 ,queue 
+0x610e 026130 call send_lmpext 
+0x610f 026131 setarg 0x01 
+0x6110 026132 istore 1 ,contw 
+0x6111 026133 fetch 2 ,mem_lmpext_ssp_enable 
+0x6112 026134 istore 2 ,contw 
+0x6113 026135 setarg 0 
+0x6114 026136 istore 3 ,contw 
+0x6115 026137 setarg 0x00 
+0x6116 026138 istore 4 ,contw 
+0x6117 026139 branch send_lmp_request 
+:      026141 send_lmpext_packet_type_table_req:
+0x6118 026142 force 3 ,queue 
+0x6119 026143 call send_lmpext 
+0x611a 026144 fetch 1 ,mem_ptt 
+0x611b 026145 istore 1 ,contw 
+0x611c 026146 disable user 
+0x611d 026147 call send_lmp_request 
+0x611e 026148 nrtn user 
+0x611f 026149 nrtn master 
+0x6120 026150 fetch 1 ,mem_afh_cfg 
+0x6121 026151 rtnbit0 afh_cfg_on 
+0x6122 026152 call afh_init 
+0x6123 026153 branch afh_open_all_channels 
+:      026156 ssp_enable:
+0x6124 026157 bpatchx patch30_4 ,mem_patch30 
+0x6125 026158 fetch 1 ,mem_features + 6 
+0x6126 026159 set1 param_featrue_ssp ,pdata 
+0x6127 026160 store 1 ,mem_features + 6 
+0x6128 026161 setarg param_lmpext_ssp_enable 
+0x6129 026162 store 2 ,mem_lmpext_ssp_enable 
+0x612a 026163 rtn 
+:      026165 ssp_disable:
+0x612b 026166 bpatchx patch30_5 ,mem_patch30 
+0x612c 026167 fetch 1 ,mem_features + 6 
+0x612d 026168 set0 param_featrue_ssp ,pdata 
+0x612e 026169 store 1 ,mem_features + 6 
+0x612f 026170 setarg 0 
+0x6130 026171 store 2 ,mem_lmpext_ssp_enable 
+0x6131 026172 rtn 
+:      026174 afh_init:
+0x6132 026175 jam 0x3 ,mem_afh_cfg 
+0x6133 026176 setarg 0 
+0x6134 026177 store 4 ,mem_afh_timer 
+0x6135 026178 arg mem_afh_map_lo ,contw 
+0x6136 026179 call afh_reset_map 
+0x6137 026180 arg mem_afh_map_new ,contw 
+0x6138 026181 call afh_reset_map 
+0x6139 026182 arg mem_afh_classify_channel_map ,contw 
+0x613a 026183 call afh_reset_map 
+0x613b 026184 branch afh_clear_error_counter 
+:      026185 afh_open_all_channels:
+0x613c 026186 arg mem_afh_map_new ,contw 
+0x613d 026187 call afh_reset_map 
+0x613e 026188 call afh_clear_error_counter 
+0x613f 026189 branch afh_set_send_flag 
+:      026192 afh_reset_map:
+0x6140 026193 setarg 0xffffff 
+0x6141 026194 istore 3 ,contw 
+0x6142 026195 istore 3 ,contw 
+0x6143 026196 istore 3 ,contw 
+0x6144 026197 setarg 0x7f 
+0x6145 026198 istore 1 ,contw 
+0x6146 026199 rtn 
+:      026200 afh_clear_error_counter:
+0x6147 026201 setarg 0 
+0x6148 026202 store 2 ,mem_afh_error_total 
+0x6149 026203 rtn 
+:      026204 afh_set_send_flag:
+0x614a 026205 fetch 1 ,mem_afh_cfg 
+0x614b 026206 set1 send_lmp_set_afh ,pdata 
+0x614c 026207 store 1 ,mem_afh_cfg 
+0x614d 026208 rtn 
+:      026211 send_lmpext_pause_encryption_req:
+0x614e 026212 force 2 ,queue 
+0x614f 026213 call send_lmpext 
+0x6150 026214 nbranch send_lmp_reply ,master 
+0x6151 026216 branch send_lmp_request 
+:      026220 send_lmp_detach:
+0x6152 026221 force 2 ,pdata 
+0x6153 026222 call msg_send_lmp 
+0x6154 026223 fetch 1 ,mem_disconn_reason_send 
+0x6155 026224 istore 1 ,contw 
+0x6156 026225 call send_lmp_request 
+:      026226 prepare_disconnect:
+0x6157 026227 fetch 1 ,mem_op 
+0x6158 026228 set1 op_disconn ,pdata 
+0x6159 026229 store 1 ,mem_op 
+0x615a 026230 jam 50 ,mem_conn_timer 
+0x615b 026231 rtn 
+:      026234 send_lmp_no_payload:
+0x615c 026235 force 1 ,pdata 
+0x615d 026236 call msg_send_lmp 
+0x615e 026237 branch send_lmp_request 
+:      026238 send_lmp_nopayload_reply:
+0x615f 026239 force 1 ,pdata 
+0x6160 026240 call msg_send_lmp 
+0x6161 026241 branch send_lmp_reply 
+:      026244 send_lmp_encryption_mode_req:
+0x6162 026245 force 2 ,pdata 
+0x6163 026246 call msg_send_lmp 
+0x6164 026247 fetch 1 ,mem_state_map 
+0x6165 026248 isolate0 smap_encryption ,pdata 
+0x6166 026249 setflag true ,0 ,pdata 
+0x6167 026250 and_into 1 ,pdata 
+0x6168 026251 istore 1 ,contw 
+0x6169 026252 branch send_lmp_request 
+:      026255 send_lmp_superto:
+0x616a 026256 force 3 ,pdata 
+0x616b 026257 call msg_send_lmp 
+0x616c 026258 fetch 2 ,mem_supervision_to 
+0x616d 026259 istore 2 ,contw 
+0x616e 026260 branch send_lmp_request 
+:      026262 send_lmp_name_req:
+0x616f 026263 jam 250 ,mem_conn_timer 
+0x6170 026264 force 2 ,pdata 
+0x6171 026265 call msg_send_lmp 
+0x6172 026266 fetch 1 ,mem_name_offset 
+0x6173 026267 istore 1 ,contw 
+0x6174 026268 branch send_lmp_request 
+:      026270 send_lmp_test_control:
+0x6175 026271 force 10 ,pdata 
+0x6176 026272 call msg_send_lmp 
+0x6177 026273 arg mem_temp_payload ,contr 
+0x6178 026274 force 9 ,loopcnt 
+:      026275 send_lmp_test_control_loop:
+0x6179 026276 ifetch 1 ,contr 
+0x617a 026277 xor_into 0x55 ,pdata 
+0x617b 026278 istore 1 ,contw 
+0x617c 026279 loop send_lmp_test_control_loop 
+0x617d 026280 branch send_lmp_request 
+:      026282 send_lmp_quality_of_service_req:
+0x617e 026283 branch send_lmp_request 
+:      026284 send_lmp_unit_key:
+0x617f 026285 branch send_lmp_request 
+:      026287 send_lmp_slot_offset:
+0x6180 026288 rtn master 
+0x6181 026289 call calc_slot_offset 
+0x6182 026290 force 9 ,pdata 
+0x6183 026291 call msg_send_lmp 
+0x6184 026292 fetch 2 ,mem_slot_offset 
+0x6185 026293 istore 2 ,contw 
+0x6186 026294 fetch 3 ,mem_lap 
+0x6187 026295 istore 3 ,contw 
+0x6188 026296 fetch 1 ,mem_uap 
+0x6189 026297 istore 1 ,contw 
+0x618a 026298 fetch 2 ,mem_nap 
+0x618b 026299 istore 2 ,contw 
+0x618c 026300 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x618d 026301 set0 mark_switch_initiated ,mark 
+0x618e 026302 call send_lmp_request 
+0x618f 026303 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6190 026304 rtn 
+:      026305 send_lmp_slot_offset_reply:
+0x6191 026306 call send_lmp_reply 
+0x6192 026307 jam lmp_accepted ,mem_lmo_opcode2 
+0x6193 026308 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6194 026309 rtn 
+:      026311 send_lmp_switch_req:
+0x6195 026312 arg 0x200 ,temp 
+0x6196 026313 branch switch_on_native ,master 
+0x6197 026314 deposit clke_bt 
+0x6198 026315 branch switch_slack 
+:      026316 switch_on_native:
+0x6199 026317 deposit clkn_bt 
+:      026318 switch_slack:
+0x619a 026319 deposit bt_clk 
+0x619b 026320 iadd temp ,pdata 
+0x619c 026321 and_into 0x1fc ,pdata 
+0x619d 026322 store 4 ,mem_sniff_anchor 
+0x619e 026323 force 5 ,pdata 
+0x619f 026324 call msg_send_lmp 
+0x61a0 026325 fetch 4 ,mem_sniff_anchor 
+0x61a1 026326 rshift pdata ,pdata 
+0x61a2 026327 istore 4 ,contw 
+0x61a3 026328 branch send_lmp_request 
+:      026330 send_lmp_sniff_req:
+0x61a4 026331 force 10 ,pdata 
+0x61a5 026332 call msg_send_lmp 
+0x61a6 026333 arg mem_sniff_payload ,contr 
+0x61a7 026334 ifetch 9 ,contr 
+0x61a8 026335 istore 9 ,contw 
+0x61a9 026336 branch send_lmp_request 
+:      026339 send_lmp_timing_accuracy_req:
+0x61aa 026341 force 3 ,pdata 
+0x61ab 026342 call msg_send_lmp 
+0x61ac 026343 setarg 0x0114 
+0x61ad 026344 istore 2 ,contw 
+0x61ae 026345 branch send_lmp_request 
+:      026347 send_lmp_unsniff_req:
+0x61af 026349 force 1 ,pdata 
+0x61b0 026350 call msg_send_lmp 
+0x61b1 026359 branch send_lmp_request 
+:      026362 send_lmp_max_slot:
+0x61b2 026363 force 2 ,pdata 
+0x61b3 026364 call msg_send_lmp 
+0x61b4 026365 fetch 1 ,mem_max_slot 
+0x61b5 026366 istore 1 ,contw 
+0x61b6 026367 branch send_lmp_request 
+:      026370 send_lmp_max_slot_req:
+0x61b7 026371 force 2 ,pdata 
+0x61b8 026372 call msg_send_lmp 
+0x61b9 026373 setarg 0x05 
+0x61ba 026374 istore 1 ,contw 
+0x61bb 026375 branch send_lmp_request 
+:      026378 send_lmp_inc_power:
+0x61bc 026379 force 2 ,pdata 
+0x61bd 026380 call msg_send_lmp 
+0x61be 026381 setarg 0x00 
+0x61bf 026382 istore 1 ,contw 
+0x61c0 026383 branch send_lmp_request 
+:      026386 send_lmp_setup_complete_by_module:
+0x61c1 026387 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x61c2 026388 rtn 
+:      026389 send_lmp_setup_complete:
+0x61c3 026390 fetch 1 ,mem_device_option 
+0x61c4 026391 sub pdata ,dvc_op_module ,null 
+0x61c5 026392 call send_lmp_setup_complete_by_module ,zero 
+0x61c6 026393 fetch 1 ,mem_state 
+0x61c7 026394 set1 state_conn_comp ,pdata 
+0x61c8 026395 store 1 ,mem_state 
+0x61c9 026396 copy clkn_bt ,pdata 
+0x61ca 026397 store 4 ,mem_aurand_send_delay_time 
+0x61cb 026398 fetch 1 ,mem_lmp_conn_state 
+0x61cc 026399 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x61cd 026400 set1 sent_setup_complete ,pdata 
+0x61ce 026401 store 1 ,mem_lmp_conn_state 
+0x61cf 026402 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x61d0 026403 call ui_ipc_send_event 
+0x61d1 026404 force 1 ,pdata 
+0x61d2 026405 call msg_send_lmp 
+0x61d3 026406 branch send_lmp_request 
+:      026407 send_lmp_setup_complete_has_sent:
+0x61d4 026408 jam 0 ,mem_lmp_to_send 
+0x61d5 026409 rtn 
+:      026411 send_lmp_version_req:
+0x61d6 026412 force 6 ,pdata 
+0x61d7 026413 call msg_send_lmp 
+0x61d8 026414 fetch 5 ,mem_lmp_version 
+0x61d9 026415 istore 5 ,contw 
+0x61da 026416 branch send_lmp_request 
+:      026418 send_lmp_features_req:
+0x61db 026419 force 9 ,pdata 
+0x61dc 026420 call msg_send_lmp 
+0x61dd 026421 fetch 8 ,mem_features 
+0x61de 026422 istore 8 ,contw 
+0x61df 026423 branch send_lmp_request 
+:      026425 sp_master_send_io_cap_get:
+0x61e0 026426 jam sp_flag_commit ,mem_master_sp_flag 
+0x61e1 026427 fetch 1 ,mem_sp_local_key_invalid 
+0x61e2 026428 rtnne sp_key_valid 
+0x61e3 026429 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x61e4 026430 rtn 
+:      026432 sp_master_send_io_cap_send:
+0x61e5 026433 call tid_initiate 
+0x61e6 026434 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x61e7 026435 jam sp_stat_key_send ,mem_master_sp_state 
+0x61e8 026436 rtn 
+:      026439 sp_master_send_lmp_encapsulated_header:
+0x61e9 026440 call tid_initiate 
+0x61ea 026441 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61eb 026442 jam sp_stat_random_send ,mem_master_sp_state 
+0x61ec 026443 rtn 
+:      026445 sp_master_commitment_compare:
+0x61ed 026446 arg mem_sp_calc_result_high ,rega 
+0x61ee 026447 arg mem_sp_confirm_remote ,regb 
+0x61ef 026448 arg 16 ,loopcnt 
+0x61f0 026449 call string_compare 
+0x61f1 026450 branch sp_master_commitment_compare_success ,zero 
+0x61f2 026451 jam sp_stat_null ,mem_master_sp_state 
+0x61f3 026452 call master_clear_mem_master_sp_flag 
+0x61f4 026453 jam pdu_not_allowed ,mem_lmo_reason2 
+0x61f5 026454 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61f6 026455 branch reject_lmp_packet 
+:      026456 sp_master_commitment_compare_success:
+0x61f7 026457 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x61f8 026458 call master_set_mem_master_sp_flag 
+0x61f9 026459 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61fa 026460 branch accept_lmp_msg 
+:      026464 sp_master_send_lmp_simple_pairing_number:
+0x61fb 026465 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x61fc 026466 rtn 
+:      026470 sp_send_lmp_encapsulated_header:
+0x61fd 026473 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61fe 026475 rtn 
+:      026481 send_lmp_encapsulated_header:
+0x61ff 026482 jam 0 ,mem_sp_local_key_send_count 
+0x6200 026483 force 4 ,pdata 
+0x6201 026484 call msg_send_lmp 
+0x6202 026485 force encapsulated_major_type_p192 ,pdata 
+0x6203 026486 istore 1 ,contw 
+0x6204 026487 force encapsulated_minor_type_p192 ,pdata 
+0x6205 026488 istore 1 ,contw 
+0x6206 026489 force encapsulated_len_p192 ,pdata 
+0x6207 026490 istore 1 ,contw 
+0x6208 026491 call check_localsm 
+0x6209 026492 branch send_lmp_request ,true 
+0x620a 026493 branch send_lmp_reply 
+:      026495 send_lmp_encapsulated_payload:
+0x620b 026497 force 17 ,pdata 
+0x620c 026498 call msg_send_lmp 
+0x620d 026499 fetch 1 ,mem_sp_local_key_send_count 
+0x620e 026500 arg mem_sp_pubkey_local ,contr 
+0x620f 026501 iadd contr ,contr 
+0x6210 026502 ifetch 8 ,contr 
+0x6211 026503 istore 8 ,contw 
+0x6212 026504 ifetch 8 ,contr 
+0x6213 026505 istore 8 ,contw 
+0x6214 026506 fetch 1 ,mem_sp_local_key_send_count 
+0x6215 026507 increase 16 ,pdata 
+0x6216 026508 store 1 ,mem_sp_local_key_send_count 
+0x6217 026509 call check_localsm 
+0x6218 026510 branch send_lmp_request ,true 
+0x6219 026511 branch send_lmp_reply 
+:      026514 sp_send_lmp_simple_pairing_comfirm:
+0x621a 026515 jam sp_stat_random_recv ,mem_sp_state 
+0x621b 026516 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x621c 026517 rtn 
+:      026518 send_lmp_simple_pairing_comfirm:
+0x621d 026521 force 17 ,pdata 
+0x621e 026522 call msg_send_lmp 
+0x621f 026523 arg mem_sp_calc_result_high ,contr 
+0x6220 026524 ifetch 8 ,contr 
+0x6221 026525 istore 8 ,contw 
+0x6222 026526 ifetch 8 ,contr 
+0x6223 026527 istore 8 ,contw 
+0x6224 026528 branch send_lmp_reply 
+:      026530 sp_send_lmp_simple_pairing_number:
+0x6225 026531 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6226 026532 rtn 
+:      026534 send_lmp_simple_pairing_number:
+0x6227 026536 call check_localsm 
+0x6228 026537 call sp_local_random_key_generator ,true 
+0x6229 026538 force 17 ,pdata 
+0x622a 026539 call msg_send_lmp 
+0x622b 026540 arg mem_sp_random_local ,contr 
+0x622c 026541 ifetch 8 ,contr 
+0x622d 026542 istore 8 ,contw 
+0x622e 026543 ifetch 8 ,contr 
+0x622f 026544 istore 8 ,contw 
+0x6230 026545 call check_localsm 
+0x6231 026546 nbranch send_lmp_reply ,true 
+0x6232 026547 branch send_lmp_request ,true 
+:      026549 master_sp_sm_end:
+0x6233 026551 jam sp_stat_done ,mem_master_sp_state 
+:      026552 sp_aurand_send:
+0x6234 026553 call tid_initiate 
+0x6235 026554 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6236 026555 call check_localsm_master 
+0x6237 026556 branch sp_master_key_prarm_push ,true 
+0x6238 026557 branch sp_link_key_prarm_push 
+:      026558 master_sp_send_lmp_dhkey_check:
+0x6239 026559 call tid_reply 
+:      026560 sp_send_lmp_dhkey_check:
+0x623a 026561 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x623b 026562 rtn 
+:      026563 send_lmp_dhkey_check:
+0x623c 026565 force 17 ,pdata 
+0x623d 026566 call msg_send_lmp 
+0x623e 026567 arg mem_sp_calc_result_high ,contr 
+0x623f 026568 ifetch 8 ,contr 
+0x6240 026569 istore 8 ,contw 
+0x6241 026570 ifetch 8 ,contr 
+0x6242 026571 istore 8 ,contw 
+0x6243 026572 call check_localsm 
+0x6244 026573 nbranch send_lmp_reply ,true 
+0x6245 026574 branch send_lmp_request ,true 
+:      026576 send_lmp_enc_key_size_mask_res:
+0x6246 026577 force 3 ,pdata 
+0x6247 026578 call msg_send_lmp 
+0x6248 026579 setarg 0xfffe 
+0x6249 026580 istore 2 ,contw 
+0x624a 026581 branch send_lmp_reply 
+:      026583 send_lmp_auto_rate:
+0x624b 026584 branch send_lmp_request 
+:      026585 send_lmp_clkoffset_req:
+0x624c 026586 branch send_lmp_request 
+:      026587 send_lmp_quality_of_service:
+0x624d 026588 branch send_lmp_request 
+:      026589 send_lmp_test_activate:
+0x624e 026590 branch send_lmp_request 
+:      026595 send_lmp_comb_key:
+0x624f 026596 call generate_random_number 
+0x6250 026597 arg mem_lap ,rega 
+0x6251 026598 call generate_linkkey 
+0x6252 026599 force 17 ,pdata 
+0x6253 026600 call msg_send_lmp 
+0x6254 026601 arg mem_kinit ,rega 
+0x6255 026602 arg mem_random_number ,regb 
+0x6256 026603 call xor16 
+0x6257 026604 nbranch send_lmp_follow ,master 
+0x6258 026605 branch send_lmp_tid 
+:      026607 send_lmp_inrand:
+0x6259 026608 call generate_random_number 
+0x625a 026609 arg mem_plap ,rega 
+0x625b 026610 call generate_kinit 
+:      026611 send_lmp_rand:
+0x625c 026612 force 17 ,pdata 
+0x625d 026613 call msg_send_lmp 
+0x625e 026614 arg mem_random_number ,contr 
+0x625f 026615 call memcpy16 
+0x6260 026616 fetch 1 ,mem_conn_sm 
+0x6261 026617 beq conn_sm_auth_wait ,send_lmp_request 
+0x6262 026618 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6263 026619 branch send_lmp_tid 
+:      026621 send_lmp_aurand:
+0x6264 026622 fetch 1 ,mem_pairing_auth 
+0x6265 026623 branch send_lmp_aurand_notpairing ,blank 
+0x6266 026624 call check_localsm 
+0x6267 026625 call tid_initiate ,true 
+0x6268 026626 ncall tid_reply ,true 
+0x6269 026627 branch send_lmp_aurand_common 
+:      026628 send_lmp_aurand_notpairing:
+0x626a 026629 call tid_initiate 
+:      026630 send_lmp_aurand_common:
+0x626b 026631 call generate_random_number 
+0x626c 026632 branch send_lmp_rand 
+:      026634 send_lmp_sres:
+0x626d 026635 arg mem_lap ,rega 
+0x626e 026636 call function_e1 
+0x626f 026637 force 5 ,pdata 
+0x6270 026638 call msg_send_lmp 
+0x6271 026639 fetch 4 ,mem_input_store 
+0x6272 026640 istore 4 ,contw 
+0x6273 026641 arg mem_sres_tid ,temp 
+0x6274 026642 call special_tid_store 
+0x6275 026643 call copy_aco 
+0x6276 026644 call check_localsm 
+0x6277 026645 branch send_lmp_sres_master ,true 
+0x6278 026646 jam done_encryp ,mem_wait_encryption 
+0x6279 026647 fetch 1 ,mem_pairing_auth 
+0x627a 026648 rtn blank 
+0x627b 026649 jam lmp_au_rand ,mem_lmo_opcode2 
+:      026650 send_lmp_sres_master:
+0x627c 026651 fetch 1 ,mem_link_key_exists 
+0x627d 026652 rtn blank 
+:      026653 send_lmp_sres_startenc:
+0x627e 026654 call check_localsm 
+0x627f 026655 nbranch send_lmp_sres_startenc_slave ,true 
+0x6280 026656 fetch 1 ,mem_auth_enable 
+0x6281 026657 rtn blank 
+0x6282 026658 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6283 026659 rtn 
+:      026660 send_lmp_sres_startenc_slave:
+0x6284 026661 rtnmark0 mark_slave_in_rand_accepted 
+0x6285 026662 set0 mark_slave_in_rand_accepted ,mark 
+0x6286 026663 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6287 026664 rtn 
+:      026668 send_lmp_start_encryption:
+0x6288 026669 call generate_random_number 
+0x6289 026670 call function_e3 
+0x628a 026671 force 17 ,pdata 
+0x628b 026672 call msg_send_lmp 
+0x628c 026673 arg mem_random_number ,contr 
+0x628d 026674 call memcpy16 
+0x628e 026675 branch send_lmp_tid 
+:      026677 send_lmp_stop_encryption_req:
+0x628f 026678 force 1 ,pdata 
+0x6290 026679 call msg_send_lmp 
+0x6291 026680 branch send_lmp_tid 
+:      026682 send_lmp_encryption_key_size_req:
+0x6292 026683 force 2 ,pdata 
+0x6293 026684 call msg_send_lmp 
+0x6294 026685 force 16 ,pdata 
+0x6295 026686 istore 1 ,contw 
+0x6296 026687 store 1 ,mem_key_size 
+0x6297 026688 branch send_lmp_tid 
+:      026690 msg_send_lmp:
+0x6298 026692 lshift3 pdata ,pdata 
+0x6299 026693 or_into 0x07 ,pdata 
+0x629a 026694 store 1 ,mem_lmo_header_length 
+0x629b 026695 arg 17 ,loopcnt 
+0x629c 026696 arg mem_lmo_payload ,contw 
+0x629d 026697 call clear_mem 
+0x629e 026698 arg mem_lmo_payload ,contw 
+0x629f 026699 rtn 
+:      026701 send_lmpext:
+0x62a0 026702 and pdata ,0x7f ,rega 
+0x62a1 026703 jam lmp_escape ,mem_lmp_to_send 
+0x62a2 026704 deposit queue 
+0x62a3 026705 call msg_send_lmp 
+0x62a4 026706 deposit rega 
+0x62a5 026707 istore 1 ,contw 
+0x62a6 026708 rtn 
+:      026710 send_lmp_follow:
+0x62a7 026711 fetch 1 ,mem_lmp_to_send 
+0x62a8 026712 lshift pdata ,pdata 
+0x62a9 026713 fetcht 1 ,mem_state_map 
+0x62aa 026714 isolate1 smap_lmptid ,temp 
+0x62ab 026715 setflag true ,0 ,pdata 
+0x62ac 026716 branch send_lmp_exit 
+:      026719 send_lmp_tid:
+0x62ad 026720 fetcht 1 ,mem_state_map 
+0x62ae 026721 and_into 1 ,temp 
+0x62af 026722 branch send_lmp_end 
+:      026724 send_lmp_reply:
+0x62b0 026725 force 0 ,temp 
+0x62b1 026726 branch send_lmp_end 
+:      026728 send_lmp_request:
+0x62b2 026729 force 1 ,temp 
+:      026730 send_lmp_end:
+0x62b3 026731 fetch 1 ,mem_lmp_to_send 
+0x62b4 026732 lshift pdata ,pdata 
+0x62b5 026733 setflag master ,0 ,pdata 
+0x62b6 026734 ixor temp ,pdata 
+:      026735 send_lmp_exit:
+0x62b7 026736 store 1 ,mem_lmo_header_opcode 
+0x62b8 026737 jam 0 ,mem_lmp_to_send 
+0x62b9 026738 call lmo_fifo_process_lmo0empty 
+0x62ba 026739 enable user 
+0x62bb 026740 rtn 
+:      026743 lmo_fifo_check:
+0x62bc 026744 fetch 1 ,mem_lmo_opcode2 
+0x62bd 026745 rtn blank 
+0x62be 026746 call lmo_fifo_process 
+0x62bf 026747 fetch 1 ,mem_lmo_opcode2 
+0x62c0 026748 rtn 
+:      026750 lmo_fifo_process:
+0x62c1 026751 bpatchx patch30_6 ,mem_patch30 
+0x62c2 026752 fetch 1 ,mem_lmp_to_send 
+0x62c3 026753 branch lmo_fifo_process_lmo0empty ,blank 
+0x62c4 026754 fetch 1 ,mem_lmo_opcode1 
+0x62c5 026755 nrtn blank 
+0x62c6 026756 branch lmo_fifo_process_lmo2to1 
+:      026757 lmo_fifo_process_lmo0empty:
+0x62c7 026758 fetch 1 ,mem_lmo_opcode1 
+0x62c8 026759 branch lmo_fifo_process_lmo1_empty ,blank 
+0x62c9 026760 fetch 3 ,mem_lmo_opcode1 
+0x62ca 026761 store 3 ,mem_lmp_to_send 
+0x62cb 026762 fetcht 1 ,mem_lmo_tid1 
+0x62cc 026763 fetch 1 ,mem_state_map 
+0x62cd 026764 set0 smap_lmptid ,pdata 
+0x62ce 026765 ior temp ,pdata 
+0x62cf 026766 store 1 ,mem_state_map 
+0x62d0 026767 jam 0 ,mem_lmo_opcode1 
+:      026768 lmo_fifo_process_lmo2to1:
+0x62d1 026769 fetch 1 ,mem_lmo_opcode2 
+0x62d2 026770 rtn blank 
+0x62d3 026771 fetch 4 ,mem_lmo_opcode2 
+0x62d4 026772 store 4 ,mem_lmo_opcode1 
+0x62d5 026773 jam 0 ,mem_lmo_opcode2 
+0x62d6 026774 rtn 
+:      026775 lmo_fifo_process_lmo1_empty:
+0x62d7 026776 fetch 1 ,mem_lmo_opcode2 
+0x62d8 026777 rtn blank 
+0x62d9 026778 fetch 3 ,mem_lmo_opcode2 
+0x62da 026779 store 3 ,mem_lmp_to_send 
+0x62db 026780 fetcht 1 ,mem_lmo_tid2 
+0x62dc 026781 fetch 1 ,mem_state_map 
+0x62dd 026782 set0 smap_lmptid ,pdata 
+0x62de 026783 ior temp ,pdata 
+0x62df 026784 store 1 ,mem_state_map 
+0x62e0 026785 jam 0 ,mem_lmo_opcode2 
+0x62e1 026786 rtn 
+:      026789 special_tid_store:
+0x62e2 026790 bpatchx patch30_7 ,mem_patch30 
+0x62e3 026791 fetch 1 ,mem_state_map 
+0x62e4 026792 copy pdata ,regc 
+0x62e5 026793 ifetch 1 ,temp 
+0x62e6 026794 call pop_tid_follow 
+0x62e7 026795 call send_lmp_follow 
+0x62e8 026796 copy regc ,pdata 
+0x62e9 026797 store 1 ,mem_state_map 
+0x62ea 026798 rtn 
+:      026800 tid_reply:
+0x62eb 026801 fetcht 1 ,mem_state_map 
+0x62ec 026802 set0 smap_lmptidinit ,temp 
+0x62ed 026803 storet 1 ,mem_state_map 
+0x62ee 026804 rtn 
+:      026806 tid_initiate:
+0x62ef 026807 fetcht 1 ,mem_state_map 
+0x62f0 026808 set1 smap_lmptidinit ,temp 
+0x62f1 026809 storet 1 ,mem_state_map 
+0x62f2 026810 rtn 
+:      026813 tid_check:
+0x62f3 026814 nsetflag master ,smap_lmptid ,pdata 
+0x62f4 026815 fetcht 1 ,mem_state_map 
+0x62f5 026816 ixor temp ,pdata 
+0x62f6 026817 isolate1 smap_lmptid ,pdata 
+0x62f7 026818 rtn 
+:      026821 tid_set_reply:
+0x62f8 026822 fetch 1 ,mem_state_map 
+0x62f9 026823 setflag master ,smap_lmptid ,pdata 
+0x62fa 026824 store 1 ,mem_state_map 
+0x62fb 026825 rtn 
+:      026828 check_localsm:
+0x62fc 026829 fetch 1 ,mem_sp_localsm 
+0x62fd 026830 compare local_statemachine ,pdata ,0x7f 
+0x62fe 026831 rtn 
+:      026832 setlocalsm_master:
+0x62ff 026833 fetch 1 ,mem_sp_localsm 
+0x6300 026834 set1 7 ,pdata 
+0x6301 026835 store 1 ,mem_sp_localsm 
+0x6302 026836 rtn 
+:      026837 setlocalsm_slave:
+0x6303 026838 fetch 1 ,mem_sp_localsm 
+0x6304 026839 set0 7 ,pdata 
+0x6305 026840 store 1 ,mem_sp_localsm 
+0x6306 026841 rtn 
+:      026842 check_localsm_master:
+0x6307 026843 fetch 1 ,mem_sp_localsm 
+0x6308 026844 isolate1 7 ,pdata 
+0x6309 026845 store 1 ,mem_sp_localsm 
+0x630a 026846 rtn 
+:      026848 generate_random_number:
+0x630b 026850 arg mem_random_number ,contw 
+:      026851 generate_random:
+0x630c 026852 force 16 ,loopcnt 
+:      026853 generate_random_another:
+:      026854 generate_random_loop:
+0x630d 026855 random pdata 
+0x630e 026856 istore 1 ,contw 
+0x630f 026857 loop generate_random_another 
+0x6310 026858 rtn 
+:      026860 generate_linkkey:
+0x6311 026861 call function_e21 
+0x6312 026862 arg mem_link_key ,rega 
+0x6313 026863 arg mem_input_store ,regb 
+0x6314 026864 ifetch 8 ,rega 
+0x6315 026865 fetcht 1 ,mem_state 
+0x6316 026866 nsetflag blank ,state_combkey ,temp 
+0x6317 026867 storet 1 ,mem_state 
+0x6318 026868 copy rega ,contw 
+0x6319 026869 call xor16 
+0x631a 026870 branch generate_linkkey_continue 
+:      026876 process_conn_sm:
+0x631b 026878 bpatchx patch31_0 ,mem_patch31 
+0x631c 026880 call lmo_fifo_check 
+0x631d 026881 nrtn blank 
+:      026882 process_conn_sm_continue:
+0x631e 026883 fetch 1 ,mem_conn_sm 
+0x631f 026884 rtn blank 
+0x6320 026888 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6321 026889 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6322 026890 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6323 026891 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6324 026892 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6325 026893 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6326 026894 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6327 026895 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x6328 026896 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x6329 026897 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x632a 026898 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x632b 026899 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x632c 026900 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x632d 026901 beq conn_sm_send_version ,host_create_conn_send_version 
+0x632e 026902 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x632f 026903 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6330 026904 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6331 026905 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6332 026906 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6333 026907 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6334 026908 beq conn_sm_auth ,host_create_conn_auth 
+0x6335 026909 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6336 026910 beq conn_sm_done ,host_create_conn_done 
+0x6337 026911 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x6338 026912 jam conn_sm_standby ,mem_conn_sm 
+0x6339 026914 rtn 
+:      026915 host_create_conn_done:
+0x633a 026916 fetch 1 ,mem_lmp_conn_state 
+0x633b 026917 rtnbit0 received_setup_complete 
+0x633c 026918 rtnbit0 sent_setup_complete 
+0x633d 026919 jam conn_sm_standby ,mem_conn_sm 
+0x633e 026920 call host_conn_judge_encrypt 
+0x633f 026921 branch scheduler_start_upper_sm 
+:      026923 host_conn_judge_encrypt:
+0x6340 026924 fetch 1 ,mem_connection_options 
+0x6341 026925 rtnbit0 connection_encrypt 
+0x6342 026926 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6343 026927 rtn 
+:      026929 host_create_conn_done_wait:
+0x6344 026930 arg enpt_delay_timer ,queue 
+0x6345 026931 call timer_check 
+0x6346 026932 nrtn blank 
+0x6347 026933 jam conn_sm_done ,mem_conn_sm 
+0x6348 026934 rtn 
+:      026936 host_create_conn_auth:
+0x6349 026937 fetch 1 ,mem_connection_options 
+0x634a 026938 set0 connection_auth ,pdata 
+0x634b 026939 store 1 ,mem_connection_options 
+0x634c 026940 jam conn_sm_auth_wait ,mem_conn_sm 
+0x634d 026941 jam lmp_au_rand ,mem_lmo_opcode2 
+0x634e 026942 rtn 
+:      026943 host_create_conn_auth_wait:
+0x634f 026944 rtn 
+:      026945 host_create_conn_pairing:
+0x6350 026946 fetch 1 ,mem_pincode_state 
+0x6351 026947 rtnne pincode_state_pincode_ready 
+0x6352 026948 call host_auth 
+0x6353 026949 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6354 026950 rtn 
+:      026952 host_create_conn_pairing_wait:
+0x6355 026953 rtn 
+:      026954 host_creat_conn_send_feat_ext:
+0x6356 026955 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6357 026956 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x6358 026957 rtn 
+:      026958 host_create_conn_send_version:
+0x6359 026959 jam conn_sm_wait_version ,mem_conn_sm 
+0x635a 026960 jam lmp_version_req ,mem_lmo_opcode2 
+0x635b 026961 rtn 
+:      026963 host_creat_conn_wait_switch:
+0x635c 026964 fetch 1 ,mem_switch_flag 
+0x635d 026965 rtneq switch_flag_init 
+0x635e 026966 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x635f 026967 arg switch_wait_timer ,queue 
+0x6360 026968 call timer_check 
+0x6361 026969 nrtn blank 
+0x6362 026970 jam switch_flag_init ,mem_switch_flag 
+0x6363 026971 branch host_create_conn_switch 
+:      026972 host_create_conn_switch_accept:
+0x6364 026973 rtn master 
+0x6365 026974 branch host_create_conn_auth_pair 
+:      026976 host_create_conn_send_features:
+0x6366 026977 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6367 026978 jam lmp_features_req ,mem_lmo_opcode2 
+0x6368 026979 rtn 
+:      026980 host_create_conn_send_switch:
+0x6369 026981 jam lmp_switch_req ,mem_lmo_opcode2 
+0x636a 026982 set1 mark_switch_initiated ,mark 
+0x636b 026983 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x636c 026984 setarg 0x1ff 
+0x636d 026985 store 2 ,mem_soft_timer 
+0x636e 026986 rtn 
+:      026987 host_create_conn_send_conn_req:
+0x636f 026988 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6370 026989 jam 0xff ,mem_soft_timer 
+0x6371 026990 set0 mark_reconn_recieve_switch ,mark 
+0x6372 026991 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6373 026992 branch init_lmp_reinit 
+:      026993 host_create_conn_wait_accept:
+0x6374 026994 rtnmark1 mark_reconn_recieve_switch 
+0x6375 026995 fetch 2 ,mem_soft_timer 
+0x6376 026996 sub pdata ,1 ,pdata 
+0x6377 026997 branch host_create_conn_resend ,zero 
+0x6378 026998 store 2 ,mem_soft_timer 
+0x6379 026999 rtn 
+:      027000 host_create_conn_resend:
+0x637a 027001 jam conn_sm_send_switch ,mem_conn_sm 
+0x637b 027002 rtn 
+:      027003 host_create_conn_waiting:
+0x637c 027005 rtn 
+:      027007 host_create_conn_switch:
+0x637d 027008 fetch 1 ,mem_lmp_conn_state 
+0x637e 027009 rtnbit0 sent_setup_complete 
+0x637f 027010 rtnbit0 received_setup_complete 
+0x6380 027011 fetch 1 ,mem_connection_options 
+0x6381 027012 set0 connection_switch ,pdata 
+0x6382 027013 store 1 ,mem_connection_options 
+0x6383 027014 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6384 027015 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6385 027016 rtn 
+:      027018 host_create_conn_send_setup_complete:
+0x6386 027019 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6387 027020 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x6388 027021 rtn 
+:      027023 host_create_conn_wait_setup_complete:
+0x6389 027024 fetch 1 ,mem_lmp_conn_state 
+0x638a 027025 rtnbit0 received_setup_complete 
+0x638b 027026 jam conn_sm_standby ,mem_conn_sm 
+0x638c 027028 rtn 
+:      027029 host_create_conn_wait_setup_complete_rtn:
+0x638d 027030 jam conn_sm_auth_pair ,mem_conn_sm 
+0x638e 027031 rtn 
+:      027033 host_create_conn_master_detach:
+0x638f 027034 fetch 1 ,mem_soft_timer 
+0x6390 027035 increase -1 ,pdata 
+0x6391 027036 branch host_create_conn_send_detach ,blank 
+0x6392 027037 store 1 ,mem_soft_timer 
+0x6393 027038 rtn 
+:      027039 host_create_conn_send_detach:
+0x6394 027040 jam lmp_detach ,mem_lmo_opcode2 
+0x6395 027041 jam local_host ,mem_disconn_reason_send 
+0x6396 027042 jam 0 ,mem_conn_sm 
+0x6397 027043 rtn 
+:      027044 host_create_conn_auth_pair:
+0x6398 027046 fetch 1 ,mem_connection_options 
+0x6399 027047 bbit1 connection_switch ,host_create_conn_switch 
+0x639a 027048 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      027049 host_create_conn_sm_done:
+0x639b 027050 jam conn_sm_done ,mem_conn_sm 
+0x639c 027051 rtn 
+:      027052 host_create_conn_auth_pair_true:
+0x639d 027053 fetch 1 ,mem_link_key_exists 
+0x639e 027054 branch host_create_conn_auth_pair_nokey ,blank 
+0x639f 027055 fetch 1 ,mem_lmp_conn_state 
+0x63a0 027056 rtnbit0 sent_setup_complete 
+0x63a1 027057 rtnbit0 received_setup_complete 
+0x63a2 027058 fetch 4 ,mem_aurand_send_delay_time 
+0x63a3 027059 arg 100 ,temp 
+0x63a4 027060 iadd temp ,temp 
+0x63a5 027061 copy clkn_bt ,pdata 
+0x63a6 027062 isub temp ,null 
+0x63a7 027063 nrtn positive 
+0x63a8 027064 branch host_create_conn_auth 
+:      027068 host_create_conn_auth_pair_nokey:
+0x63a9 027069 jam conn_sm_pairing ,mem_conn_sm 
+0x63aa 027070 jam 4 ,mem_pin_length 
+0x63ab 027071 setarg 0x3030 
+0x63ac 027072 store 2 ,mem_pin 
+0x63ad 027073 istore 2 ,contw 
+0x63ae 027074 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x63af 027075 branch host_create_conn_pairing 
+:      027077 host_create_conn_auth_pair_wait:
+0x63b0 027078 rtn 
+:      027079 host_create_conn_encrypt:
+0x63b1 027080 fetch 1 ,mem_connection_options 
+0x63b2 027081 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x63b3 027082 jam conn_sm_done ,mem_conn_sm 
+0x63b4 027083 rtn 
+:      027085 host_create_conn_encrypt_start:
+0x63b5 027086 fetch 1 ,mem_connection_options 
+0x63b6 027087 set0 connection_encrypt ,pdata 
+0x63b7 027088 store 1 ,mem_connection_options 
+0x63b8 027089 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x63b9 027090 rtn 
+:      027092 host_create_conn_encrypt_wait:
+0x63ba 027093 fetch 1 ,mem_wait_encryption 
+0x63bb 027094 rtn blank 
+0x63bc 027095 jam conn_sm_standby ,mem_conn_sm 
+0x63bd 027096 branch host_create_conn_encrypt_start 
+:      027098 host_create_conn_encrypt_wait_clear:
+0x63be 027099 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x63bf 027100 rtn 
+:      027102 host_auth:
+0x63c0 027103 fetch 1 ,mem_op 
+0x63c1 027104 bbit1 op_inrand_req ,remote_auth 
+0x63c2 027105 call tid_initiate 
+0x63c3 027106 jam lmp_in_rand ,mem_lmo_opcode2 
+0x63c4 027107 branch cmd_exit 
+:      027108 remote_auth:
+0x63c5 027109 fetch 1 ,mem_op 
+0x63c6 027110 set0 op_inrand_req ,pdata 
+0x63c7 027111 store 1 ,mem_op 
+0x63c8 027112 call lmp_accept_inrand 
+0x63c9 027113 call tid_set_reply 
+0x63ca 027114 branch cmd_exit 
+:      027116 pincode_reinit:
+0x63cb 027117 setarg 4 
+0x63cc 027118 store 1 ,mem_pin_length 
+0x63cd 027119 setarg 0x3030 
+0x63ce 027120 istore 2 ,contw 
+0x63cf 027121 istore 2 ,contw 
+0x63d0 027122 rtn 
+:      027128 twspi_reset:
+0x63d1 027129 bpatchx patch31_4 ,mem_patch31 
+0x63d2 027130 hfetch 1 ,core_gpio_oe3 
+0x63d3 027131 arg 0x06 ,temp 
+0x63d4 027132 ior temp ,pdata 
+0x63d5 027133 hstore 1 ,core_gpio_oe3 
+0x63d6 027134 hfetch 1 ,core_gpio_out3 
+0x63d7 027135 ior temp ,pdata 
+0x63d8 027136 hstore 1 ,core_gpio_out3 
+0x63d9 027137 call twspi_disable 
+0x63da 027138 hfetch 1 ,core_gpio_out3 
+0x63db 027139 set0 1 ,pdata 
+0x63dc 027140 set0 2 ,pdata 
+0x63dd 027141 hstore 1 ,core_gpio_out3 
+0x63de 027142 nop 30 
+0x63df 027143 branch twspi_enable 
+:      027145 twspi_reset2:
+0x63e0 027146 hfetch 1 ,core_gpio_oe3 
+0x63e1 027147 arg 0xc0 ,temp 
+0x63e2 027148 ior temp ,pdata 
+0x63e3 027149 hstore 1 ,core_gpio_oe3 
+0x63e4 027150 hfetch 1 ,core_gpio_out3 
+0x63e5 027151 ior temp ,pdata 
+0x63e6 027152 hstore 1 ,core_gpio_out3 
+0x63e7 027153 call twspi_disable 
+0x63e8 027154 hfetch 1 ,core_gpio_out3 
+0x63e9 027155 set0 6 ,pdata 
+0x63ea 027156 set0 7 ,pdata 
+0x63eb 027157 hstore 1 ,core_gpio_out3 
+0x63ec 027158 nop 30 
+0x63ed 027159 branch twspi_enable2 
+:      027161 twspi_disable:
+0x63ee 027162 hfetch 1 ,core_gpio_sel1 
+0x63ef 027163 and pdata ,0xfc ,pdata 
+0x63f0 027164 hstore 1 ,core_gpio_sel1 
+0x63f1 027165 rtn 
+:      027166 twspi_enable:
+0x63f2 027167 hfetch 1 ,core_gpio_sel1 
+0x63f3 027168 or pdata ,0x01 ,pdata 
+0x63f4 027169 hstore 1 ,core_gpio_sel1 
+0x63f5 027170 rtn 
+:      027171 twspi_enable2:
+0x63f6 027172 hfetch 1 ,core_gpio_sel1 
+0x63f7 027173 or pdata ,0x03 ,pdata 
+0x63f8 027174 set0 4 ,pdata 
+0x63f9 027175 hstore 1 ,core_gpio_sel1 
+0x63fa 027176 rtn 
+:      027180 sensor_read:
+0x63fb 027181 copy pdata ,regb 
+0x63fc 027182 call spi_ncs_enable 
+0x63fd 027183 nop 100 
+0x63fe 027184 copy regb ,pdata 
+0x63ff 027185 call twspi_read 
+0x6400 027186 copy pdata ,regb 
+0x6401 027187 call spi_ncs_disable 
+0x6402 027188 nop 100 
+0x6403 027189 copy regb ,pdata 
+0x6404 027190 rtn 
+:      027192 sensor_write:
+0x6405 027193 copy pdata ,regb 
+0x6406 027194 call spi_ncs_enable 
+0x6407 027195 nop 100 
+0x6408 027196 copy regb ,pdata 
+0x6409 027197 call twspi_write 
+0x640a 027198 call spi_ncs_disable 
+0x640b 027199 nop 100 
+0x640c 027200 rtn 
+:      027203 spi_ncs_gpio_init:
+0x640d 027204 fetcht 1 ,mem_spi_ncs_gpio 
+0x640e 027205 branch gpio_config_output 
+:      027208 spi_ncs_enable:
+0x640f 027209 fetcht 1 ,mem_spi_ncs_gpio 
+0x6410 027210 branch gpio_out_active 
+:      027213 spi_ncs_disable:
+0x6411 027214 fetcht 1 ,mem_spi_ncs_gpio 
+0x6412 027215 branch gpio_out_inactive 
+:      027218 twspi_write:
+0x6413 027219 branch spid_write_reg 
+:      027221 twspi_read:
+0x6414 027222 branch spid_read_reg 
+:      027229 read_function_aes:
+0x6415 027230 nbranch read_function ,user 
+0x6416 027231 hfetch 1 ,core_gpio_key2 
+0x6417 027232 or_into 0x2 ,pdata 
+0x6418 027233 hstore 1 ,core_gpio_key2 
+:      027234 read_function:
+0x6419 027235 copy temp ,null 
+0x641a 027236 branch read_fuction_zero ,zero 
+0x641b 027237 copy regc ,pc 
+:      027238 read_fuction_zero:
+0x641c 027239 isolate0 0 ,null 
+0x641d 027240 branch set_ucode_status 
+:      027243 get_block_header:
+0x641e 027244 force 4 ,temp 
+:      027245 get_block_header0:
+0x641f 027246 arg mem_ucode_buf ,rega 
+0x6420 027247 hfetch 1 ,core_gpio_key2 
+0x6421 027248 and_into 0xfd ,pdata 
+0x6422 027249 hstore 1 ,core_gpio_key2 
+0x6423 027250 call read_function 
+0x6424 027251 arg 0x55aa ,rega 
+0x6425 027252 fetch 2 ,mem_ucode_buf 
+0x6426 027253 ifetcht 2 ,contr 
+0x6427 027254 isub rega ,null 
+0x6428 027255 rtn 
+:      027257 read_first_block:
+0x6429 027258 arg 2 ,temp 
+0x642a 027259 arg mem_ucode_ptr ,rega 
+0x642b 027260 call read_function 
+0x642c 027261 fetch 2 ,mem_ucode_ptr 
+0x642d 027262 store 2 ,mem_addr_mi 
+0x642e 027263 call get_iv ,user 
+0x642f 027264 rtn 
+:      027266 get_iv:
+0x6430 027267 arg 16 ,temp 
+0x6431 027268 arg mem_ucode_keybuf ,rega 
+0x6432 027269 hfetch 1 ,core_gpio_key2 
+0x6433 027270 and_into 0xfd ,pdata 
+0x6434 027271 hstore 1 ,core_gpio_key2 
+0x6435 027272 call read_function 
+0x6436 027273 arg mem_ucode_keybuf ,contr 
+0x6437 027274 arg 16 ,loopcnt 
+0x6438 027275 call aes_load_data 
+0x6439 027276 call aes_init 
+0x643a 027277 call aes_clear_data 
+0x643b 027278 branch do_aes_cbc 
+:      027280 load_storage:
+0x643c 027281 disable match 
+0x643d 027282 call get_block_header 
+0x643e 027283 nrtn zero 
+0x643f 027284 enable match 
+0x6440 027285 jam 0x80 ,core_ucode_ctrl 
+0x6441 027286 jam 0 ,core_ucode_hi 
+0x6442 027287 jam 0 ,core_ucode_low 
+0x6443 027288 arg core_ucode_data ,rega 
+0x6444 027289 call read_function_aes 
+0x6445 027290 jam 0x0 ,core_ucode_ctrl 
+:      027291 load_storage_loop:
+0x6446 027292 arg 6 ,temp 
+0x6447 027293 call get_block_header0 
+0x6448 027294 nrtn zero 
+0x6449 027295 ifetch 2 ,contr 
+0x644a 027296 iforce rega 
+0x644b 027297 call read_function 
+0x644c 027298 branch load_storage_loop 
+:      027302 reload_eeprom:
+0x644d 027303 call clean_mem 
+0x644e 027304 setarg 0x1000 
+0x644f 027305 store 2 ,mem_addr_mi 
+0x6450 027306 arg iicd_read_eep ,regc 
+0x6451 027307 arg 2 ,loopcnt 
+:      027308 reload_eeprom_loop:
+0x6452 027309 call get_block_header 
+0x6453 027310 nrtn zero 
+0x6454 027311 fetch 2 ,mem_addr_mi 
+0x6455 027312 byteswap pdata ,pdata 
+0x6456 027313 iadd temp ,pdata 
+0x6457 027314 byteswap pdata ,pdata 
+0x6458 027315 store 2 ,mem_addr_mi 
+0x6459 027316 loop reload_eeprom_loop 
+0x645a 027317 branch load_storage_loop 
+:      027319 loadcode:
+0x645b 027320 call clean_mem 
+0x645c 027321 disable user 
+0x645d 027322 call otp_enable_chgpump 
+0x645e 027323 setarg otp_ucode_flag 
+0x645f 027324 arg mem_otp_ucode_flag ,rega 
+0x6460 027325 arg 2 ,temp 
+0x6461 027326 call otpd_read_data 
+0x6462 027327 fetch 2 ,mem_otp_ucode_flag 
+0x6463 027328 bbit0 otp_uflag_aes ,loadcode_otp 
+0x6464 027329 jam 0x25 ,core_clkoff 
+0x6465 027330 setarg otp_ucode_aeskey 
+0x6466 027331 arg mem_ucode_keybuf ,rega 
+0x6467 027332 arg 16 ,temp 
+0x6468 027333 call otpd_read_data 
+0x6469 027334 jam lock_otp ,core_misc_ctrl 
+0x646a 027335 set1 mark_otp_encrypt ,mark 
+0x646b 027336 arg mem_ucode_keybuf ,contr 
+0x646c 027337 call load_key 
+0x646d 027338 enable user 
+:      027339 loadcode_otp:
+0x646e 027340 jam 0 ,mem_loadcode_times 
+:      027341 loadcode_otp_2:
+0x646f 027342 call loadcode_check_times 
+0x6470 027343 fetch 2 ,mem_otp_ucode_flag 
+0x6471 027344 byteswap pdata ,pdata 
+0x6472 027345 arg 0x7ff ,temp 
+0x6473 027346 iand temp ,pdata 
+0x6474 027347 branch loadcode_iic ,zero 
+0x6475 027348 call otp_set_addr 
+0x6476 027349 arg otpd_read_code ,regc 
+0x6477 027350 call get_iv ,user 
+0x6478 027351 call load_storage 
+0x6479 027352 fetch 1 ,mem_ucode_status 
+0x647a 027353 bbit0 0 ,loadcode_otp_2 
+:      027355 loadcode_iic:
+0x647b 027356 call otp_disable_chgpump 
+0x647c 027357 jam 0 ,mem_loadcode_times 
+:      027358 loadcode_iic_2:
+0x647d 027359 call loadcode_check_times 
+0x647e 027360 call clear_eeprom_size_2k 
+0x647f 027361 fetch 1 ,mem_otp_ucode_flag 
+0x6480 027362 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6481 027363 call loadcode_iic_by_eeprom 
+0x6482 027364 nbranch loadcode_iic_eeprom_2k ,match 
+0x6483 027365 fetch 1 ,mem_ucode_status 
+0x6484 027366 bbit0 0 ,loadcode_iic_2 
+0x6485 027367 branch loadcode_hci 
+:      027368 loadcode_iic_eeprom_2k:
+0x6486 027369 call set_eeprom_size_2k 
+0x6487 027370 fetch 1 ,mem_otp_ucode_flag 
+0x6488 027371 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6489 027372 call loadcode_iic_by_eeprom 
+0x648a 027373 nbranch loadcode_spi ,match 
+0x648b 027374 fetch 1 ,mem_ucode_status 
+0x648c 027375 bbit0 0 ,loadcode_iic_2 
+0x648d 027376 branch loadcode_hci 
+:      027378 loadcode_spi:
+0x648e 027379 jam 0 ,mem_loadcode_times 
+:      027380 loadcode_spi_2:
+0x648f 027381 call loadcode_check_times 
+0x6490 027382 fetch 1 ,mem_otp_ucode_flag 
+0x6491 027383 bbit1 otp_uflag_skip_flash ,loadcode_hci 
+0x6492 027384 setarg 0x0 
+0x6493 027385 store 3 ,mem_addr_hi 
+0x6494 027386 call spid_init_flash 
+0x6495 027387 arg spid_load_flash ,regc 
+0x6496 027388 call read_first_block 
+0x6497 027389 call load_storage 
+0x6498 027390 nbranch loadcode_hci ,match 
+0x6499 027391 fetch 1 ,mem_ucode_status 
+0x649a 027392 bbit0 0 ,loadcode_spi_2 
+:      027394 loadcode_hci:
+0x649b 027395 bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+0x649c 027396 call clear_key_buf 
+:      027397 loadcode_hci_enc:
+0x649d 027398 fetch 1 ,mem_otp_ucode_flag 
+0x649e 027399 bbit0 otp_uflag_hci ,clear_key_buf 
+0x649f 027400 jam 0x21 ,core_clkoff 
+0x64a0 027401 call hci_init 
+:      027402 loadcode_hci_loop:
+0x64a1 027403 call hci_rx_packet 
+0x64a2 027404 branch loadcode_hci_loop 
+:      027406 clear_key_buf:
+0x64a3 027407 setarg 0 
+0x64a4 027408 store 8 ,mem_ucode_keybuf 
+0x64a5 027409 store 8 ,mem_ucode_keybuf + 8 
+0x64a6 027410 force regidx_key ,regext_index 
+0x64a7 027411 call aes_clear 
+0x64a8 027412 jam 0x21 ,core_clkoff 
+0x64a9 027413 rtn 
+:      027416 loadcode_iic_by_eeprom:
+0x64aa 027417 setarg 0x0 
+0x64ab 027418 store 2 ,mem_addr_mi 
+0x64ac 027419 arg iicd_read_eep ,regc 
+0x64ad 027420 call iicd_init_12m 
+0x64ae 027421 call read_first_block 
+0x64af 027422 branch load_storage 
+:      027425 loadcode_check_times:
+0x64b0 027426 fetch 1 ,mem_loadcode_times 
+0x64b1 027427 increase 1 ,pdata 
+0x64b2 027428 sub pdata ,3 ,null 
+0x64b3 027429 nbranch loadcode_error ,positive 
+0x64b4 027430 store 1 ,mem_loadcode_times 
+0x64b5 027431 rtn 
+:      027433 loadcode_error:
+0x64b6 027434 call clear_key_buf 
+0x64b7 027435 call ice_break 
+0x64b8 027436 rtn 
+:      027440 set_ucode_status:
+0x64b9 027441 fetch 1 ,mem_ucode_status 
+0x64ba 027442 lshift pdata ,pdata 
+0x64bb 027443 setflag true ,0 ,pdata 
+0x64bc 027444 isolate0 15 ,rega 
+0x64bd 027445 rtn true 
+0x64be 027446 store 1 ,mem_ucode_status 
+0x64bf 027447 rtn 
+:      027450 decrypt_code:
+0x64c0 027451 hfetch 1 ,core_gpio_key2 
+0x64c1 027452 rtnbit0 1 
+0x64c2 027453 branch decrypt_code_skip 
+:      027454 decrypt_code_loop:
+0x64c3 027455 hfetch 1 ,core_dma_status 
+0x64c4 027456 qisolate1 pdata 
+0x64c5 027457 rtn true 
+:      027458 decrypt_code_skip:
+0x64c6 027459 hfetch 1 ,core_misc_status 
+0x64c7 027460 bbit0 1 ,decrypt_code_loop 
+0x64c8 027461 call do_aes_cbc 
+0x64c9 027462 branch decrypt_code_loop 
+:      027466 load_ucode:
+0x64ca 027467 fetch 2 ,mem_patch_ptr 
+0x64cb 027468 rtn blank 
+0x64cc 027469 jam 0x80 ,core_ucode_ctrl 
+0x64cd 027470 jam 0 ,core_ucode_hi 
+0x64ce 027471 jam 0 ,core_ucode_low 
+0x64cf 027472 fetcht 2 ,mem_patch_len 
+0x64d0 027473 lshift2 temp ,loopcnt 
+0x64d1 027474 iforce contr 
+:      027475 load_ucode_loop:
+0x64d2 027476 ifetch 1 ,contr 
+0x64d3 027477 hstore 1 ,core_ucode_data 
+0x64d4 027478 loop load_ucode_loop 
+0x64d5 027479 jam 0x0 ,core_ucode_ctrl 
+0x64d6 027480 rtn 
+:      027485 spid_init:
+0x64d7 027486 bpatchx patch31_5 ,mem_patch31 
+0x64d8 027487 call spid_init_common 
+0x64d9 027488 branch twspi_enable 
+:      027490 spid_init2:
+0x64da 027491 call spid_init_common 
+0x64db 027492 call twspi_disable 
+0x64dc 027493 branch twspi_enable2 
+:      027495 spid_init_common:
+0x64dd 027496 fetch 1 ,mem_spi_init_clk 
+0x64de 027497 hstore 1 ,core_spid_ctrl 
+0x64df 027498 fetch 1 ,mem_spi_init_delay_time 
+0x64e0 027499 hstore 1 ,core_spid_delay 
+0x64e1 027500 setarg mem_spid_tbuf 
+0x64e2 027501 hstore 2 ,core_spid_txaddr 
+0x64e3 027502 setarg mem_spid_rbuf 
+0x64e4 027503 hstore 2 ,core_spid_rxaddr 
+0x64e5 027504 branch twspi_disable 
+:      027506 spid_reset:
+0x64e6 027507 hfetch 1 ,core_spid_ctrl 
+0x64e7 027508 set1 7 ,pdata 
+0x64e8 027509 hstore 1 ,core_spid_ctrl 
+0x64e9 027510 set0 7 ,pdata 
+0x64ea 027511 hstore 1 ,core_spid_ctrl 
+0x64eb 027512 rtn 
+:      027516 spid_write_reg:
+0x64ec 027517 set1 7 ,pdata 
+0x64ed 027518 store 2 ,mem_spid_tbuf 
+0x64ee 027519 bpatchx patch31_6 ,mem_patch31 
+0x64ef 027520 jam 2 ,core_spid_txlen 
+0x64f0 027521 jam 0 ,core_spid_rxlen 
+0x64f1 027522 jam spid_start ,core_misc_ctrl 
+0x64f2 027523 branch wait_spid_done 
+:      027526 spid_read_reg:
+0x64f3 027527 force 1 ,temp 
+:      027529 spid_read_regs:
+0x64f4 027531 store 1 ,mem_spid_tbuf 
+0x64f5 027532 bpatchx patch31_7 ,mem_patch31 
+0x64f6 027533 jam 1 ,core_spid_txlen 
+0x64f7 027534 hstoret 2 ,core_spid_rxlen 
+0x64f8 027535 jam spid_start ,core_misc_ctrl 
+0x64f9 027536 call wait_spid_done 
+0x64fa 027537 fetch 1 ,mem_spid_rbuf 
+0x64fb 027538 rtn 
+:      027540 wait_spid_done:
+0x64fc 027541 fetch 2 ,mem_afh_error_total 
+0x64fd 027542 increase 1 ,pdata 
+0x64fe 027543 store 2 ,mem_afh_error_total 
+0x64ff 027544 hfetch 1 ,core_dma_status 
+0x6500 027545 bbit0 spid_done ,wait_spid_done 
+0x6501 027546 rtn 
+:      027548 spid_init_flash:
+0x6502 027549 jam 0x40 ,core_spid_ctrl 
+0x6503 027550 jam 0x0 ,core_spid_delay 
+0x6504 027551 hfetch 1 ,core_gpio_sel1 
+0x6505 027552 set0 0 ,pdata 
+0x6506 027553 set1 1 ,pdata 
+0x6507 027554 hstore 1 ,core_gpio_sel1 
+0x6508 027555 setarg 0 
+0x6509 027556 store 4 ,mem_spid_tbuf 
+0x650a 027557 rtn 
+:      027560 spid_unlock_flash:
+0x650b 027561 setarg 0 
+0x650c 027562 hstore 2 ,core_spid_rxlen 
+0x650d 027563 setarg 1 
+0x650e 027564 hstore 2 ,core_spid_txlen 
+0x650f 027565 setarg mem_spid_tbuf 
+0x6510 027566 hstore 2 ,core_spid_txaddr 
+0x6511 027567 jam 6 ,mem_spid_tbuf 
+0x6512 027568 jam spid_start ,core_misc_ctrl 
+0x6513 027569 branch wait_spid_done 
+:      027584 flash_write:
+0x6514 027585 disable user 
+0x6515 027586 copy pdata ,regb 
+0x6516 027587 fetch 1 ,mem_spi_write_flash_sm 
+0x6517 027588 rtnne flash_sm_no_buys 
+0x6518 027589 enable user 
+0x6519 027590 copy regb ,pdata 
+0x651a 027591 branch flash_write_start 
+:      027594 flash_write_spi_sm_timer:
+0x651b 027595 fetch 1 ,mem_spi_write_flash_sm 
+0x651c 027596 beq flash_sm_start ,flash_write_start 
+0x651d 027597 beq flash_sm_erase_sector ,flash_erase_sector 
+0x651e 027598 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+0x651f 027599 beq flash_sm_write_data ,flash_write_data 
+0x6520 027600 beq flash_sm_wait_write_data ,flash_wait_write_data 
+0x6521 027601 rtn 
+:      027603 flash_write_start:
+0x6522 027604 store 3 ,mem_spi_write_addr 
+0x6523 027605 copy rega ,pdata 
+0x6524 027606 store 2 ,mem_spi_write_ptr 
+0x6525 027607 storet 2 ,mem_spi_write_len 
+0x6526 027608 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+0x6527 027609 branch spid_init_flash 
+:      027610 flash_erase_sector:
+0x6528 027611 call spid_init_flash 
+0x6529 027612 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+0x652a 027613 call spid_unlock_flash 
+0x652b 027614 arg mem_spid_tbuf ,rega 
+0x652c 027615 fetch 3 ,mem_spi_write_addr 
+0x652d 027616 jam 4 ,core_spid_txlen 
+0x652e 027617 arg flash_command_sector_erase ,temp 
+0x652f 027618 branch spid_write_flash_common 
+:      027620 flash_wait_erase_sector:
+0x6530 027621 call spid_init_flash 
+0x6531 027622 call spid_unlock_flash 
+0x6532 027623 setarg flash_read_satus 
+0x6533 027624 call spid_read_reg 
+0x6534 027625 rtnbit1 flash_status_wip 
+0x6535 027626 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+0x6536 027627 rtn 
+:      027628 flash_write_data:
+0x6537 027629 call spid_init_flash 
+0x6538 027630 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+0x6539 027631 call spid_unlock_flash 
+0x653a 027632 call flash_data_preserve 
+0x653b 027633 call spid_write_flash 
+0x653c 027634 branch flash_data_recover 
+:      027635 flash_wait_write_data:
+0x653d 027636 call spid_init_flash 
+0x653e 027637 call spid_unlock_flash 
+0x653f 027638 setarg flash_read_satus 
+0x6540 027639 call spid_read_reg 
+0x6541 027640 rtnbit1 flash_status_wip 
+0x6542 027641 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+0x6543 027642 fetch 2 ,mem_cb_spi_flash_write_complate 
+0x6544 027643 branch callback_func 
+:      027644 flash_data_recover:
+0x6545 027645 fetch 4 ,mem_temp 
+0x6546 027646 fetcht 2 ,mem_spi_write_ptr 
+0x6547 027647 increase -4 ,temp 
+0x6548 027648 istore 4 ,temp 
+0x6549 027649 rtn 
+:      027650 flash_data_preserve:
+0x654a 027651 fetcht 2 ,mem_spi_write_ptr 
+0x654b 027652 copy temp ,rega 
+0x654c 027653 increase -4 ,temp 
+0x654d 027654 ifetch 4 ,temp 
+0x654e 027655 store 4 ,mem_temp 
+0x654f 027656 fetcht 2 ,mem_spi_write_len 
+0x6550 027657 fetch 3 ,mem_spi_write_addr 
+0x6551 027658 rtn 
+:      027662 spid_write_flash:
+0x6552 027663 increase 4 ,temp 
+0x6553 027664 hstoret 2 ,core_spid_txlen 
+0x6554 027665 arg flash_command_write_data ,temp 
+0x6555 027666 increase -4 ,rega 
+:      027667 spid_write_flash_common:
+0x6556 027669 istoret 1 ,rega 
+0x6557 027670 rshift16 pdata ,temp 
+0x6558 027671 istoret 1 ,contw 
+0x6559 027672 rshift8 pdata ,temp 
+0x655a 027673 istoret 1 ,contw 
+0x655b 027674 istore 1 ,contw 
+0x655c 027675 deposit rega 
+0x655d 027676 hstore 2 ,core_spid_txaddr 
+0x655e 027677 setarg 0 
+0x655f 027678 hstore 2 ,core_spid_rxlen 
+0x6560 027679 jam spid_start ,core_misc_ctrl 
+0x6561 027680 branch wait_spid_done 
+:      027684 spid_read_flash:
+0x6562 027685 hstoret 2 ,core_spid_rxlen 
+0x6563 027686 rshift16 pdata ,temp 
+0x6564 027687 storet 1 ,mem_addr_hi 
+0x6565 027688 rshift8 pdata ,temp 
+0x6566 027689 storet 1 ,mem_addr_mi 
+0x6567 027690 store 1 ,mem_addr_lo 
+0x6568 027691 setarg 4 
+0x6569 027692 hstore 2 ,core_spid_txlen 
+0x656a 027693 jam flash_command_read_data ,mem_spid_tbuf 
+0x656b 027694 setarg mem_spid_tbuf 
+0x656c 027695 hstore 2 ,core_spid_txaddr 
+0x656d 027696 deposit rega 
+0x656e 027697 hstore 2 ,core_spid_rxaddr 
+0x656f 027698 hfetch 1 ,core_spid_ctrl 
+0x6570 027699 isolate0 15 ,rega 
+0x6571 027700 setflag true ,6 ,pdata 
+0x6572 027701 hstore 1 ,core_spid_ctrl 
+0x6573 027702 jam spid_start ,core_misc_ctrl 
+:      027703 spi_read_flash_wait:
+0x6574 027704 hfetch 1 ,core_dma_status 
+0x6575 027705 bbit1 7 ,spi_read_flash_wait 
+0x6576 027706 arg spid_done ,queue 
+0x6577 027707 branch wait_spid_done 
+:      027711 spid_load_flash:
+0x6578 027712 hstoret 2 ,core_spid_rxlen 
+0x6579 027713 setarg 4 
+0x657a 027714 hstore 2 ,core_spid_txlen 
+0x657b 027715 jam 3 ,mem_spid_tbuf 
+0x657c 027716 setarg mem_spid_tbuf 
+0x657d 027717 hstore 2 ,core_spid_txaddr 
+0x657e 027718 deposit rega 
+0x657f 027719 hstore 2 ,core_spid_rxaddr 
+0x6580 027720 hfetch 1 ,core_spid_ctrl 
+0x6581 027721 isolate0 15 ,rega 
+0x6582 027722 setflag true ,6 ,pdata 
+0x6583 027723 hstore 1 ,core_spid_ctrl 
+0x6584 027724 jam spid_start ,core_misc_ctrl 
+:      027725 spi_load_flash_wait:
+0x6585 027726 hfetch 1 ,core_dma_status 
+0x6586 027727 bbit1 7 ,spi_load_flash_wait 
+0x6587 027728 arg spid_done ,queue 
+0x6588 027729 call decrypt_code 
+0x6589 027730 call wait_spid_done 
+0x658a 027731 isolate1 spid_crcok ,pdata 
+0x658b 027732 call set_ucode_status 
+0x658c 027733 fetch 1 ,mem_addr_hi 
+0x658d 027734 lshift16 pdata ,regb 
+0x658e 027735 fetch 1 ,mem_addr_mi 
+0x658f 027736 lshift8 pdata ,pdata 
+0x6590 027737 ior regb ,regb 
+0x6591 027738 fetch 1 ,mem_addr_lo 
+0x6592 027739 ior regb ,pdata 
+0x6593 027740 iadd temp ,pdata 
+0x6594 027741 store 1 ,mem_addr_lo 
+0x6595 027742 rshift8 pdata ,pdata 
+0x6596 027743 store 1 ,mem_addr_mi 
+0x6597 027744 rshift8 pdata ,pdata 
+0x6598 027745 store 1 ,mem_addr_hi 
+0x6599 027746 rtn 
+:      027751 soft_reset_chip:
+0x659a 027752 jam 1 ,core_reset 
+0x659b 027753 rtn 
+:      027759 iic_init_390k:
+0x659c 027760 jam 12 ,core_iicd_scl_low 
+0x659d 027761 jam 13 ,core_iicd_scl_high 
+0x659e 027762 jam 13 ,core_iicd_start_setup 
+0x659f 027763 jam 13 ,core_iicd_start_hold 
+0x65a0 027764 jam 13 ,core_iicd_stop_setup 
+0x65a1 027765 jam 12 ,core_iicd_data_setup 
+0x65a2 027766 branch iicd_init_gpio 
+:      027769 iicd_init_12m:
+0x65a3 027770 jam 5 ,core_iicd_scl_low 
+0x65a4 027771 jam 7 ,core_iicd_scl_high 
+0x65a5 027772 jam 7 ,core_iicd_start_setup 
+0x65a6 027773 jam 7 ,core_iicd_start_hold 
+0x65a7 027774 jam 7 ,core_iicd_stop_setup 
+0x65a8 027775 jam 5 ,core_iicd_data_setup 
+:      027776 iicd_init_gpio:
+0x65a9 027777 hfetch 1 ,core_gpio_pu3 
+0x65aa 027778 or_into 0xc0 ,pdata 
+0x65ab 027779 hstore 1 ,core_gpio_pu3 
+0x65ac 027780 hfetch 1 ,core_gpio_sel1 
+0x65ad 027781 or_into 0x10 ,pdata 
+0x65ae 027782 hstore 1 ,core_gpio_sel1 
+0x65af 027783 rtn 
+:      027787 wait_iicd_done:
+0x65b0 027788 hfetch 1 ,core_dma_status 
+0x65b1 027789 bbit0 iicd_done ,wait_iicd_done 
+0x65b2 027790 rtn 
+:      027798 iicd_read_data:
+0x65b3 027799 hstore 2 ,core_iicd_txlen 
+0x65b4 027800 deposit rega 
+0x65b5 027801 hstore 2 ,core_iicd_txaddr 
+0x65b6 027802 deposit regb 
+0x65b7 027803 hstore 2 ,core_iicd_rxaddr 
+0x65b8 027804 deposit temp 
+0x65b9 027805 hstore 2 ,core_iicd_rxlen 
+0x65ba 027806 arg 1 ,temp 
+0x65bb 027807 nsetflag blank ,1 ,temp 
+0x65bc 027808 hstore 1 ,core_iicd_ctrl 
+0x65bd 027809 jam iicd_start ,core_misc_ctrl 
+0x65be 027810 branch wait_iicd_done 
+:      027813 set_eeprom_size_2k:
+0x65bf 027814 set1 mark_eeprom_size ,mark 
+0x65c0 027815 jam 0x08 ,mem_eeprom_block_size 
+0x65c1 027816 rtn 
+:      027818 clear_eeprom_size_2k:
+0x65c2 027819 set0 mark_eeprom_size ,mark 
+0x65c3 027820 jam 0x20 ,mem_eeprom_block_size 
+0x65c4 027821 rtn 
+:      027824 iicd_read_eep_data_size_2k:
+0x65c5 027825 fetch 1 ,mem_eeprom_base 
+0x65c6 027826 iadd regb ,pdata 
+0x65c7 027827 store 1 ,mem_addr_mi 
+0x65c8 027828 branch iicd_read_eep_size_2k 
+:      027830 iicd_read_eep_size_2k_lcadcode:
+0x65c9 027831 fetch 2 ,mem_addr_mi 
+0x65ca 027832 byteswap pdata ,pdata 
+0x65cb 027833 store 1 ,mem_addr_mi 
+:      027838 iicd_read_eep_size_2k:
+0x65cc 027839 setarg 3 
+0x65cd 027840 hstore 2 ,core_iicd_txlen 
+0x65ce 027841 jam 0xa0 ,mem_iicd_tbuf 
+0x65cf 027842 jam 0xa1 ,mem_iicd_tbuf + 2 
+0x65d0 027843 branch iicd_read_eep_common 
+:      027849 iicd_write_protect_eep_data:
+0x65d1 027850 storet 2 ,mem_temp 
+0x65d2 027851 call iicd_eeprom_write_enable 
+0x65d3 027852 fetcht 2 ,mem_temp 
+0x65d4 027853 call iicd_write_eep_data 
+0x65d5 027854 branch iicd_eeprom_write_disable 
+:      027856 iicd_eeprom_write_enable:
+0x65d6 027857 fetch 1 ,mem_eeprom_wp_gpio 
+0x65d7 027858 rtneq gpio_disable 
+0x65d8 027859 bbit0 6 ,iicd_wp_gpio_output_low 
+0x65d9 027860 setarg 150000 
+0x65da 027861 call sleep 
+:      027862 iicd_wp_gpio_output_low:
+0x65db 027863 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65dc 027864 branch gpio_out_active 
+:      027866 iicd_eeprom_write_disable:
+0x65dd 027867 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65de 027868 branch gpio_out_inactive 
+:      027873 iicd_read_eep_data:
+0x65df 027874 bpatchx patch32_0 ,mem_patch32 
+0x65e0 027875 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+0x65e1 027876 fetch 2 ,mem_eeprom_base 
+0x65e2 027877 iadd regb ,pdata 
+0x65e3 027878 byteswap pdata ,pdata 
+0x65e4 027879 store 2 ,mem_addr_mi 
+:      027882 iicd_read_eep:
+0x65e5 027883 bpatchx patch32_1 ,mem_patch32 
+0x65e6 027884 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+0x65e7 027885 setarg 4 
+0x65e8 027886 hstore 2 ,core_iicd_txlen 
+0x65e9 027887 jam 0xa0 ,mem_iicd_tbuf 
+0x65ea 027888 jam 0xa1 ,mem_iicd_tbuf + 3 
+:      027889 iicd_read_eep_common:
+0x65eb 027890 setarg mem_iicd_tbuf 
+0x65ec 027891 hstore 2 ,core_iicd_txaddr 
+0x65ed 027892 hstoret 2 ,core_iicd_rxlen 
+0x65ee 027893 deposit rega 
+0x65ef 027894 hstore 2 ,core_iicd_rxaddr 
+0x65f0 027895 setarg 2 
+0x65f1 027896 isolate0 15 ,rega 
+0x65f2 027897 setflag true ,0 ,pdata 
+0x65f3 027898 hstore 1 ,core_iicd_ctrl 
+0x65f4 027899 jam iicd_start ,core_misc_ctrl 
+0x65f5 027900 arg iicd_done ,queue 
+0x65f6 027901 call decrypt_code 
+0x65f7 027902 call wait_iicd_done 
+0x65f8 027903 isolate1 iicd_crcok ,pdata 
+0x65f9 027904 call set_ucode_status 
+0x65fa 027905 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+0x65fb 027906 fetch 2 ,mem_addr_mi 
+0x65fc 027907 byteswap pdata ,pdata 
+0x65fd 027908 iadd temp ,pdata 
+0x65fe 027909 byteswap pdata ,pdata 
+0x65ff 027910 store 2 ,mem_addr_mi 
+0x6600 027911 rtn 
+:      027913 iicd_read_eep_load_code_size_2k:
+0x6601 027914 fetch 1 ,mem_addr_mi 
+0x6602 027915 iadd temp ,pdata 
+0x6603 027916 byteswap pdata ,pdata 
+0x6604 027917 store 2 ,mem_addr_mi 
+0x6605 027918 rtn 
+:      027924 iicd_write_eep_data:
+0x6606 027925 fetch 2 ,mem_eeprom_base 
+0x6607 027926 iadd regb ,pdata 
+:      027929 iicd_write_ota_data:
+0x6608 027930 store 2 ,mem_pdatatemp 
+0x6609 027931 bpatchx patch32_2 ,mem_patch32 
+0x660a 027932 storet 2 ,mem_temp 
+0x660b 027933 copy rega ,pdata 
+0x660c 027934 store 2 ,mem_contr 
+:      027935 iicd_write_eep_loop:
+0x660d 027936 call iicd_eep_transparency 
+0x660e 027938 fetcht 2 ,mem_regb 
+0x660f 027939 fetch 2 ,mem_contr 
+0x6610 027940 copy pdata ,rega 
+0x6611 027941 fetch 2 ,mem_pdatatemp 
+0x6612 027943 call iicd_write_eep 
+0x6613 027945 fetch 2 ,mem_regb 
+0x6614 027946 fetcht 2 ,mem_contr 
+0x6615 027947 iadd temp ,temp 
+0x6616 027948 storet 2 ,mem_contr 
+0x6617 027949 fetcht 2 ,mem_pdatatemp 
+0x6618 027950 iadd temp ,temp 
+0x6619 027951 storet 2 ,mem_pdatatemp 
+0x661a 027952 fetch 2 ,mem_temp 
+0x661b 027953 nbranch iicd_write_eep_loop ,blank 
+0x661c 027954 rtn 
+:      027962 iicd_eep_transparency:
+0x661d 027963 bpatchx patch32_3 ,mem_patch32 
+0x661e 027964 fetch 1 ,mem_eeprom_block_size 
+0x661f 027965 increase -1 ,pdata 
+0x6620 027966 fetcht 2 ,mem_pdatatemp 
+0x6621 027967 ior temp ,pdata 
+0x6622 027968 increase 1 ,pdata 
+0x6623 027969 store 3 ,mem_regc 
+0x6624 027971 fetch 2 ,mem_temp 
+0x6625 027972 iadd temp ,pdata 
+0x6626 027974 fetcht 3 ,mem_regc 
+0x6627 027975 isub temp ,pdata 
+0x6628 027976 nbranch iicd_eep_deal_short_packet ,positive 
+0x6629 027977 store 2 ,mem_temp 
+0x662a 027978 fetch 3 ,mem_regc 
+0x662b 027979 fetcht 2 ,mem_pdatatemp 
+0x662c 027980 isub temp ,pdata 
+0x662d 027981 store 2 ,mem_regb 
+0x662e 027982 rtn 
+:      027983 iicd_eep_deal_short_packet:
+0x662f 027984 fetch 2 ,mem_temp 
+0x6630 027985 store 2 ,mem_regb 
+0x6631 027986 setarg 0 
+0x6632 027987 store 2 ,mem_temp 
+0x6633 027988 rtn 
+:      027990 iicd_write_eep_size_2k:
+0x6634 027991 increase 2 ,temp 
+0x6635 027992 hstoret 2 ,core_iicd_txlen 
+0x6636 027993 increase -2 ,rega 
+0x6637 027994 ifetcht 3 ,rega 
+0x6638 027995 copy temp ,regb 
+0x6639 027996 arg 0xa0 ,temp 
+0x663a 027997 istoret 1 ,rega 
+0x663b 027999 istore 1 ,contw 
+0x663c 028000 branch iicd_write_eep_common 
+:      028003 iicd_write_eep:
+0x663d 028004 copy pdata ,regb 
+0x663e 028005 bpatchx patch32_4 ,mem_patch32 
+0x663f 028006 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+0x6640 028007 copy regb ,pdata 
+0x6641 028008 increase 3 ,temp 
+0x6642 028009 hstoret 2 ,core_iicd_txlen 
+0x6643 028010 increase -3 ,rega 
+0x6644 028011 ifetcht 3 ,rega 
+0x6645 028012 copy temp ,regb 
+0x6646 028013 arg 0xa0 ,temp 
+0x6647 028014 istoret 1 ,rega 
+0x6648 028015 byteswap pdata ,pdata 
+0x6649 028016 istore 2 ,contw 
+:      028017 iicd_write_eep_common:
+0x664a 028018 deposit rega 
+0x664b 028019 hstore 2 ,core_iicd_txaddr 
+0x664c 028020 setarg 0 
+0x664d 028021 hstore 2 ,core_iicd_rxlen 
+0x664e 028022 jam 1 ,core_iicd_ctrl 
+0x664f 028023 jam iicd_start ,core_misc_ctrl 
+0x6650 028024 call wait_iicd_done 
+0x6651 028025 copy regb ,pdata 
+0x6652 028026 istore 3 ,rega 
+:      028028 iic_check_eeprom_standby:
+0x6653 028029 bpatchx patch32_5 ,mem_patch32 
+0x6654 028030 jam 0 ,mem_iicd_tbuf + 3 
+:      028031 iic_check_eeprom_standby_wait:
+0x6655 028032 setarg 1 
+0x6656 028033 hstore 2 ,core_iicd_txlen 
+0x6657 028034 jam 0xa0 ,mem_iicd_tbuf 
+0x6658 028035 setarg mem_iicd_tbuf 
+0x6659 028036 hstore 2 ,core_iicd_txaddr 
+0x665a 028037 setarg 0 
+0x665b 028038 hstore 2 ,core_iicd_rxlen 
+0x665c 028039 hstore 2 ,core_iicd_rxaddr 
+0x665d 028040 setarg 3 
+0x665e 028041 hstore 1 ,core_iicd_ctrl 
+0x665f 028042 jam iicd_start ,core_misc_ctrl 
+0x6660 028043 call wait_iicd_done 
+0x6661 028044 hfetch 1 ,core_dma_status 
+0x6662 028045 rtnbit0 iicd_ack 
+0x6663 028046 nop 1500 
+0x6664 028047 fetch 1 ,mem_iicd_tbuf + 3 
+0x6665 028048 increase 1 ,pdata 
+0x6666 028049 store 1 ,mem_iicd_tbuf + 3 
+0x6667 028050 sub pdata ,40 ,null 
+0x6668 028051 nrtn positive 
+0x6669 028052 branch iic_check_eeprom_standby_wait 
+:      028056 otp_enable_chgpump:
+0x666a 028057 jam 0x70 ,rfen_chgpump 
+0x666b 028058 nop param_chgpump_delay 
+0x666c 028059 rtn 
+:      028061 otp_disable_chgpump:
+0x666d 028062 jam 0x30 ,rfen_chgpump 
+0x666e 028063 rtn 
+:      028065 otp_set_addr:
+0x666f 028066 lshift3 pdata ,pdata 
+0x6670 028067 hstore 2 ,core_otp_addr 
+0x6671 028068 jam 0 ,core_otpd_ctrl 
+0x6672 028069 rtn 
+:      028072 otp_write:
+0x6673 028073 call otp_set_addr 
+0x6674 028074 call otp_ce 
+:      028075 otp_program:
+0x6675 028076 ifetcht 1 ,rega 
+0x6676 028077 increase 1 ,rega 
+0x6677 028078 force 0 ,queue 
+:      028079 otp_program_bit:
+0x6678 028080 qisolate0 temp 
+0x6679 028081 branch otp_skip_0 ,true 
+0x667a 028082 hfetch 1 ,core_otp_din 
+0x667b 028083 set1 6 ,pdata 
+0x667c 028084 set1 7 ,pdata 
+0x667d 028085 hstore 1 ,core_otp_din 
+0x667e 028086 jam 0x02 ,core_otp_ctrl 
+0x667f 028087 jam 0x82 ,core_otp_ctrl 
+0x6680 028088 set0 7 ,pdata 
+0x6681 028089 hstore 1 ,core_otp_din 
+0x6682 028090 jam 0x8a ,core_otp_ctrl 
+0x6683 028091 nop 11 
+0x6684 028092 jam 0xca ,core_otp_ctrl 
+0x6685 028093 nop 33 
+0x6686 028094 jam 0x4a ,core_otp_ctrl 
+0x6687 028095 nop 44 
+0x6688 028096 jam 0xca ,core_otp_ctrl 
+0x6689 028097 nop 22 
+0x668a 028098 jam 0x8a ,core_otp_ctrl 
+0x668b 028099 nop 33 
+0x668c 028100 jam 0x82 ,core_otp_ctrl 
+0x668d 028101 nop 1 
+0x668e 028102 jam 0x92 ,core_otp_ctrl 
+0x668f 028103 nop 10 
+0x6690 028104 jam 0xb2 ,core_otp_ctrl 
+0x6691 028105 hfetch 1 ,core_otp_rdata 
+0x6692 028106 jam 0x92 ,core_otp_ctrl 
+0x6693 028107 nop 1 
+0x6694 028108 jam 0x82 ,core_otp_ctrl 
+0x6695 028109 qisolate0 pdata 
+0x6696 028110 branch otp_program_bit ,true 
+:      028111 otp_skip_0:
+0x6697 028112 hfetch 2 ,core_otp_addr 
+0x6698 028113 increase 1 ,pdata 
+0x6699 028114 hstore 2 ,core_otp_addr 
+0x669a 028115 increase 1 ,queue 
+0x669b 028116 compare 8 ,queue ,0xf 
+0x669c 028117 nbranch otp_program_bit ,true 
+0x669d 028118 loop otp_program 
+0x669e 028119 jam 0x83 ,core_otp_ctrl 
+0x669f 028120 rtn 
+:      028122 otp_ce:
+0x66a0 028123 jam 0x82 ,core_otp_ctrl 
+0x66a1 028124 nop 12 
+0x66a2 028125 jam 0x80 ,core_otp_ctrl 
+0x66a3 028126 jam 0x82 ,core_otp_ctrl 
+0x66a4 028127 nop 150 
+0x66a5 028128 rtn 
+:      028131 otpd_read_init:
+0x66a6 028132 call otp_ce 
+0x66a7 028133 jam 0xa2 ,core_otp_ctrl 
+0x66a8 028134 deposit rega 
+0x66a9 028135 hstore 2 ,core_otpd_addr 
+0x66aa 028136 set1 11 ,temp 
+0x66ab 028137 isolate0 15 ,pdata 
+0x66ac 028138 setflag true ,15 ,temp 
+0x66ad 028139 hstoret 2 ,core_otpd_len 
+0x66ae 028140 jam otpd_start ,core_misc_ctrl 
+0x66af 028141 rtn 
+:      028143 otpd_wait_end:
+0x66b0 028144 hfetch 1 ,core_dma_status 
+0x66b1 028145 bbit0 otpd_done ,otpd_wait_end 
+0x66b2 028146 rtn 
+:      028149 otpd_read_data:
+0x66b3 028150 call otp_set_addr 
+0x66b4 028151 call otpd_read_init 
+0x66b5 028152 call otpd_wait_end 
+0x66b6 028153 jam 0x83 ,core_otp_ctrl 
+0x66b7 028154 rtn 
+:      028159 otpd_read_code:
+0x66b8 028160 hfetch 2 ,core_current_otp_addr 
+0x66b9 028161 hstore 2 ,core_otp_addr 
+0x66ba 028162 call otpd_read_init 
+0x66bb 028163 arg otpd_done ,queue 
+0x66bc 028164 call decrypt_code 
+0x66bd 028165 call otpd_wait_end 
+0x66be 028166 isolate1 otpd_crcok ,pdata 
+0x66bf 028167 call set_ucode_status 
+0x66c0 028168 jam 0x83 ,core_otp_ctrl 
+0x66c1 028169 rtn 
+:      028172 uartd_prepare_tx:
+0x66c2 028173 hfetch 2 ,core_uart_twptr 
+0x66c3 028174 iforce contwu 
+0x66c4 028175 rtn 
+:      028177 uartd_send:
+0x66c5 028178 deposit contwu 
+0x66c6 028179 hstore 2 ,core_uart_twptr 
+0x66c7 028180 rtn 
+:      028182 uartd_rxdone:
+0x66c8 028183 deposit contru 
+0x66c9 028184 hstore 2 ,core_uart_rrptr 
+0x66ca 028185 rtn 
+:      028187 uartd_prepare_rx:
+0x66cb 028188 hfetch 2 ,core_uart_rrptr 
+0x66cc 028189 copy pdata ,contru 
+0x66cd 028190 rtn 
+:      028192 uart_set_baud_by_mem:
+0x66ce 028193 fetch uart_baud_len ,mem_baud 
+0x66cf 028194 hstore uart_baud_len ,core_uart_baud 
+0x66d0 028195 rtn 
+:      028197 uart_copy_tx_bytes_fast:
+0x66d1 028198 deposit loopcnt 
+0x66d2 028199 rtn blank 
+:      028200 uart_copy_tx_bytes_fast_loop:
+0x66d3 028201 increase -8 ,loopcnt 
+0x66d4 028202 call uart_tx_8_bytes ,positive 
+0x66d5 028203 rtn zero 
+0x66d6 028204 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x66d7 028205 increase 8 ,loopcnt 
+:      028206 uart_copy_tx_bytes_fast_loop_four:
+0x66d8 028207 increase -4 ,loopcnt 
+0x66d9 028208 call uart_tx_4_bytes ,positive 
+0x66da 028209 rtn zero 
+0x66db 028210 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x66dc 028211 increase 4 ,loopcnt 
+0x66dd 028212 branch uart_copy_tx_bytes 
+:      028214 uart_tx_8_bytes:
+0x66de 028215 ifetch 8 ,contr 
+0x66df 028216 istore 8 ,contwu 
+0x66e0 028217 rtn 
+:      028219 uart_tx_4_bytes:
+0x66e1 028220 ifetch 4 ,contr 
+0x66e2 028221 istore 4 ,contwu 
+0x66e3 028222 rtn 
+:      028224 uart_copy_tx_bytes:
+0x66e4 028225 deposit loopcnt 
+0x66e5 028226 rtn blank 
+:      028227 uart_copy_tx_bytes_loop:
+0x66e6 028228 ifetch 1 ,contr 
+0x66e7 028229 istore 1 ,contwu 
+0x66e8 028230 loop uart_copy_tx_bytes_loop 
+0x66e9 028231 rtn 
+:      028233 uart_copy_rx_bytes_fast:
+0x66ea 028234 deposit loopcnt 
+0x66eb 028235 rtn blank 
+:      028236 uart_copy_rx_bytes_fast_loop:
+0x66ec 028237 increase -8 ,loopcnt 
+0x66ed 028238 call uart_rx_8_bytes ,positive 
+0x66ee 028239 rtn zero 
+0x66ef 028240 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x66f0 028241 increase 8 ,loopcnt 
+:      028242 uart_copy_rx_bytes_fast_loop_four:
+0x66f1 028243 increase -4 ,loopcnt 
+0x66f2 028244 call uart_rx_4_bytes ,positive 
+0x66f3 028245 rtn zero 
+0x66f4 028246 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x66f5 028247 increase 4 ,loopcnt 
+0x66f6 028248 branch uart_copy_rx_bytes 
+:      028250 uart_rx_8_bytes:
+0x66f7 028251 ifetch 8 ,contru 
+0x66f8 028252 istore 8 ,contw 
+0x66f9 028253 rtn 
+:      028255 uart_rx_4_bytes:
+0x66fa 028256 ifetch 4 ,contru 
+0x66fb 028257 istore 4 ,contw 
+0x66fc 028258 rtn 
+:      028261 uart_copy_rx_bytes:
+0x66fd 028262 deposit loopcnt 
+0x66fe 028263 rtn blank 
+:      028264 uart_copy_rx_bytes_loop:
+0x66ff 028265 ifetch 1 ,contru 
+0x6700 028266 istore 1 ,contw 
+0x6701 028267 loop uart_copy_rx_bytes_loop 
+0x6702 028268 rtn 
+:      028271 uart_copy_rx2tx:
+0x6703 028272 deposit loopcnt 
+0x6704 028273 rtn blank 
+:      028274 uart_copy_rx2tx_loop:
+0x6705 028275 ifetch 1 ,contru 
+0x6706 028276 istore 1 ,contwu 
+0x6707 028277 loop uart_copy_rx2tx_loop 
+0x6708 028278 rtn 
+:      028283 app_store_nvram_event:
+0x6709 028284 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x670a 028285 branch ui_ipc_send_event 
+:      028287 check_51cmd_store_reconn_info:
+:      028288 check_51cmd_update_device_record:
+0x670b 028289 bpatchx patch32_6 ,mem_patch32 
+0x670c 028290 fetch 1 ,mem_nv_data_number 
+0x670d 028291 rtn blank 
+0x670e 028292 call check_nvram 
+0x670f 028293 call init_device_list ,zero 
+0x6710 028294 call nvram_find_addr_from_bd_list 
+:      028295 write_device_record:
+0x6711 028296 fetch 1 ,mem_nv_data_number 
+0x6712 028297 icopy regc 
+0x6713 028298 fetcht 2 ,mem_nv_data_ptr 
+0x6714 028299 storet 2 ,mem_list_item_ptr 
+:      028300 write_device_loop_find:
+0x6715 028301 copy regc ,pdata 
+0x6716 028302 branch app_store_nvram_event ,blank 
+0x6717 028303 increase -1 ,regc 
+0x6718 028304 copy temp ,rega 
+0x6719 028305 ifetch 1 ,rega 
+0x671a 028306 fetcht 1 ,mem_select_list_item 
+0x671b 028307 isub temp ,null 
+0x671c 028308 call set_index_finded_device ,zero 
+0x671d 028309 branch write_device_loop_find0 ,positive 
+0x671e 028310 ifetch 1 ,rega 
+0x671f 028311 increase 1 ,pdata 
+0x6720 028312 istore 1 ,rega 
+:      028313 write_device_loop_find0:
+0x6721 028314 fetcht 2 ,mem_list_item_ptr 
+0x6722 028315 increase nv_data_len ,temp 
+0x6723 028316 storet 2 ,mem_list_item_ptr 
+0x6724 028317 branch write_device_loop_find 
+:      028319 set_index_finded_device:
+0x6725 028320 setarg 0 
+0x6726 028321 istore 1 ,rega 
+0x6727 028322 fetch 1 ,mem_temp_reconn_record 
+0x6728 028323 istore 1 ,contw 
+0x6729 028324 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x672a 028325 arg mem_link_key ,regb 
+:      028326 set_index_find_device_master_addr:
+0x672b 028327 ifetch 6 ,contr 
+0x672c 028328 istore 8 ,contw 
+0x672d 028329 setarg 0 
+0x672e 028330 istore 8 ,contw 
+0x672f 028331 copy regb ,contr 
+:      028332 store_rec_data_common:
+0x6730 028333 call memcpy16 
+0x6731 028334 force 1 ,null 
+0x6732 028335 rtn 
+:      028337 set_index_finded_device_ble_mode:
+0x6733 028338 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6734 028339 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6735 028340 arg mem_le_ltk ,regb 
+0x6736 028341 branch set_index_find_device_master_addr 
+:      028343 set_index_finded_device_irk:
+0x6737 028344 arg mem_le_irk ,contr 
+0x6738 028345 call memcpy16 
+:      028346 store_ble_rec_data_common:
+0x6739 028347 arg mem_le_ltk ,contr 
+0x673a 028348 branch store_rec_data_common 
+:      028350 set_index_finded_device_ediv:
+0x673b 028351 arg mem_le_rand ,contr 
+0x673c 028352 call memcpy16 
+0x673d 028353 branch store_ble_rec_data_common 
+:      028356 nvram_find_addr_from_bd_list:
+0x673e 028357 call disable_user 
+0x673f 028358 fetch 1 ,mem_nv_data_number 
+0x6740 028359 rtn blank 
+0x6741 028360 fetch 2 ,mem_ui_state_map 
+0x6742 028361 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      028362 find_addr_from_bd_list_ble_mode:
+0x6743 028363 bpatchx patch32_7 ,mem_patch32 
+0x6744 028364 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6745 028365 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6746 028366 fetch 1 ,mem_le_plap + 5 
+0x6747 028367 compare 0xc0 ,pdata ,0xc0 
+0x6748 028368 branch find_addr_from_bd_list_static_addr ,true 
+0x6749 028369 compare 0x40 ,pdata ,0xc0 
+0x674a 028370 branch find_addr_from_bd_list_random_addr ,true 
+0x674b 028371 compare 0x00 ,pdata ,0xc0 
+0x674c 028372 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      028373 find_addr_from_bd_list_static_addr:
+0x674d 028374 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x674e 028375 fetch 6 ,mem_le_plap 
+0x674f 028376 branch find_addr_from_bd_list_common 
+:      028378 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6750 028379 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6751 028380 branch find_addr_from_bd_list_common 
+:      028383 find_addr_from_bd_list_random_addr:
+0x6752 028384 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6753 028385 branch find_addr_from_bd_list_common 
+:      028388 find_addr_from_bd_list_spp_mode:
+0x6754 028389 bpatchx patch33_0 ,mem_patch33 
+0x6755 028390 jam rec_3_mode ,mem_temp_reconn_record 
+0x6756 028391 fetch 6 ,mem_plap 
+:      028392 find_addr_from_bd_list_common:
+0x6757 028393 store 6 ,mem_temp_reconn_record + 1 
+0x6758 028394 fetch 2 ,mem_nv_data_ptr 
+0x6759 028395 ifetcht 1 ,pdata 
+0x675a 028396 pincrease 1 
+0x675b 028397 store 2 ,mem_list_item_ptr 
+0x675c 028398 storet 1 ,mem_select_list_item 
+0x675d 028399 fetch 1 ,mem_nv_data_number 
+0x675e 028400 icopy regc 
+:      028401 nvram_find_addr_from_list:
+0x675f 028402 fetch 2 ,mem_list_item_ptr 
+0x6760 028403 copy pdata ,rega 
+0x6761 028404 call nvram_find_addr_from_list_compare 
+0x6762 028405 rtn user 
+0x6763 028406 fetcht 2 ,mem_list_item_ptr 
+0x6764 028407 increase nv_data_len ,temp 
+0x6765 028408 storet 2 ,mem_list_item_ptr 
+0x6766 028409 increase -1 ,temp 
+0x6767 028410 ifetch 1 ,temp 
+0x6768 028411 store 1 ,mem_select_list_item 
+0x6769 028412 increase -1 ,regc 
+0x676a 028413 nbranch nvram_find_addr_from_list ,zero 
+0x676b 028414 fetch 1 ,mem_nv_data_number 
+0x676c 028415 pincrease decreased_one 
+0x676d 028416 store 1 ,mem_select_list_item 
+0x676e 028417 rtn 
+:      028418 nvram_find_addr_from_list_compare:
+0x676f 028419 fetch 1 ,mem_temp_reconn_record 
+0x6770 028420 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      028421 find_master_addr_from_list_compare:
+0x6771 028422 arg mem_temp_reconn_record ,regb 
+0x6772 028423 arg 7 ,loopcnt 
+0x6773 028424 call string_compare 
+0x6774 028425 branch enable_user ,zero 
+0x6775 028426 rtn 
+:      028428 find_addr_from_list_compare_ble_mode:
+0x6776 028429 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6777 028430 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x6778 028431 branch find_master_addr_from_list_compare 
+:      028433 find_irk_form_list_compare:
+0x6779 028434 ifetcht 1 ,rega 
+0x677a 028435 isub temp ,null 
+0x677b 028436 nrtn zero 
+0x677c 028437 arg mem_le_prand ,contw 
+0x677d 028438 arg 16 ,loopcnt 
+0x677e 028439 call clear_mem 
+0x677f 028440 fetch 3 ,mem_le_plap + 3 
+0x6780 028441 store 3 ,mem_le_prand 
+0x6781 028442 call genernate_master_macaddress 
+0x6782 028443 fetch 2 ,mem_le_aes_128 + 13 
+0x6783 028444 byteswap pdata ,pdata 
+0x6784 028445 lshift8 pdata ,temp 
+0x6785 028446 ifetch 1 ,contr 
+0x6786 028447 iadd temp ,pdata 
+0x6787 028448 fetcht 3 ,mem_le_plap 
+0x6788 028449 isub temp ,null 
+0x6789 028450 branch enable_user ,zero 
+0x678a 028451 rtn 
+:      028454 genernate_master_macaddress:
+0x678b 028455 arg mem_le_prand ,contr 
+0x678c 028456 call load_data128 
+0x678d 028458 ifetch 1 ,rega 
+0x678e 028459 call load_regext 
+0x678f 028460 force 0x38 ,aes_ctrl 
+0x6790 028461 force 0x0 ,aes_ctrl 
+0x6791 028462 call wait_aes 
+0x6792 028463 arg mem_le_aes_128 ,contw 
+0x6793 028464 branch store_aes_result 
+:      028466 find_ediv_form_list_compare:
+0x6794 028467 ifetcht 1 ,rega 
+0x6795 028468 isub temp ,null 
+0x6796 028469 nrtn zero 
+0x6797 028470 copy contr ,rega 
+0x6798 028471 add contr ,8 ,regc 
+0x6799 028472 arg mem_le_rand ,regb 
+0x679a 028473 arg 8 ,loopcnt 
+0x679b 028474 call string_compare 
+0x679c 028475 branch enable_user ,zero 
+0x679d 028476 copy regc ,rega 
+0x679e 028477 arg mem_le_irk ,regb 
+0x679f 028478 arg 8 ,loopcnt 
+0x67a0 028479 call string_compare 
+0x67a1 028480 branch enable_user ,zero 
+0x67a2 028481 rtn 
+:      028483 check_nvram:
+0x67a3 028484 fetch 2 ,mem_nv_data_ptr 
+0x67a4 028485 ifetcht 1 ,pdata 
+0x67a5 028486 pincrease nv_data_len 
+0x67a6 028487 ifetch 1 ,pdata 
+0x67a7 028488 isub temp ,null 
+0x67a8 028489 rtn 
+:      028491 init_device_list:
+0x67a9 028492 fetch 1 ,mem_nv_data_number 
+0x67aa 028493 icopy loopcnt 
+0x67ab 028494 fetcht 2 ,mem_nv_data_ptr 
+0x67ac 028495 setarg 0 
+:      028496 init_device_list_loop:
+0x67ad 028497 istore 1 ,temp 
+0x67ae 028498 increase nv_data_len ,temp 
+0x67af 028499 pincrease 1 
+0x67b0 028500 loop init_device_list_loop 
+0x67b1 028501 rtn 
+:      028503 load_device_list:
+0x67b2 028504 bpatchx patch33_1 ,mem_patch33 
+0x67b3 028505 call nvram_find_addr_from_bd_list 
+0x67b4 028506 fetch 1 ,mem_state 
+0x67b5 028507 setflag user ,state_combkey ,pdata 
+0x67b6 028508 store 1 ,mem_state 
+0x67b7 028509 nbranch clear_key_exists ,user 
+0x67b8 028510 add rega ,10 ,contr 
+0x67b9 028512 arg mem_link_key ,contw 
+0x67ba 028513 call memcpy16 
+0x67bb 028514 branch check_link_key_load 
+:      028515 clear_key_exists:
+0x67bc 028516 jam 0 ,mem_link_key_exists 
+0x67bd 028517 rtn 
+:      028519 load_device_list_mode_4:
+0x67be 028520 fetch 9 ,mem_le_ediv 
+0x67bf 028521 branch clear_ltk_exists ,blank 
+0x67c0 028522 call nvram_find_addr_from_bd_list 
+0x67c1 028523 nbranch clear_ltk_exists ,user 
+0x67c2 028524 fetch 2 ,mem_list_item_ptr 
+0x67c3 028525 add pdata ,1 ,contr 
+0x67c4 028526 arg mem_le_irk ,contw 
+0x67c5 028527 call memcpy16 
+0x67c6 028528 arg mem_le_ltk ,contw 
+0x67c7 028529 call memcpy16 
+0x67c8 028530 jam 1 ,mem_ltk_exists 
+0x67c9 028531 rtn 
+:      028533 clear_ltk_exists:
+0x67ca 028534 jam 0 ,mem_ltk_exists 
+0x67cb 028535 rtn 
+:      028538 eeprom_store_le_reconn_info:
+0x67cc 028539 fetch 6 ,mem_le_plap 
+0x67cd 028540 store 6 ,mem_temp_lap 
+0x67ce 028541 jam rec_4_mode ,mem_record_bt_mode 
+0x67cf 028542 branch eeprom_store_reconn_info 
+:      028543 eeprom_store_bd_reconn_info:
+0x67d0 028544 fetch 6 ,mem_plap 
+0x67d1 028545 store 6 ,mem_temp_lap 
+0x67d2 028546 jam rec_3_mode ,mem_record_bt_mode 
+:      028547 eeprom_store_reconn_info:
+0x67d3 028548 fetch 1 ,mem_device_option 
+0x67d4 028549 beq dvc_op_module ,check_51cmd_update_device_record 
+0x67d5 028550 bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+0x67d6 028551 rtn 
+:      028554 check_link_key_load:
+0x67d7 028555 fetch 8 ,mem_link_key 
+0x67d8 028556 fetcht 8 ,mem_link_key + 8 
+0x67d9 028557 ior temp ,pdata 
+0x67da 028558 rtn blank 
+0x67db 028559 jam 1 ,mem_link_key_exists 
+0x67dc 028560 rtn 
+:      028567 gpio_set_wake_by_current_state:
+0x67dd 028568 bpatchx patch33_2 ,mem_patch33 
+0x67de 028569 set1 7 ,temp 
+0x67df 028570 call gpio_get_bit 
+0x67e0 028571 nsetflag true ,7 ,temp 
+:      028576 gpio_set_wake:
+0x67e1 028577 bpatchx patch33_3 ,mem_patch33 
+0x67e2 028578 sub temp ,ui_button_gpio_disable ,null 
+0x67e3 028579 rtn zero 
+0x67e4 028580 isolate0 7 ,temp 
+0x67e5 028581 and temp ,0x1f ,queue 
+0x67e6 028582 fetch 4 ,mem_gpio_wakeup_low 
+0x67e7 028583 qsetflag true ,pdata 
+0x67e8 028584 store 4 ,mem_gpio_wakeup_low 
+0x67e9 028585 fetch 4 ,mem_gpio_wakeup_high 
+0x67ea 028586 nqsetflag true ,pdata 
+0x67eb 028587 store 4 ,mem_gpio_wakeup_high 
+0x67ec 028588 rtn 
+:      028591 gpio_clr_wake:
+0x67ed 028592 bpatchx patch33_4 ,mem_patch33 
+0x67ee 028593 sub temp ,ui_button_gpio_disable ,null 
+0x67ef 028594 rtn zero 
+0x67f0 028595 isolate0 7 ,temp 
+0x67f1 028596 and temp ,0x1f ,queue 
+0x67f2 028597 fetch 4 ,mem_gpio_wakeup_low 
+0x67f3 028598 qset0 pdata 
+0x67f4 028599 store 4 ,mem_gpio_wakeup_low 
+0x67f5 028600 fetch 4 ,mem_gpio_wakeup_high 
+0x67f6 028601 qset0 pdata 
+0x67f7 028602 store 4 ,mem_gpio_wakeup_high 
+0x67f8 028603 rtn 
+:      028606 gpio_config_input_nowake:
+0x67f9 028607 call gpio_clr_wake 
+0x67fa 028608 branch gpio_config_input_without_wake 
+:      028611 gpio_config_input:
+0x67fb 028612 sub temp ,ui_button_gpio_disable ,null 
+0x67fc 028613 rtn zero 
+0x67fd 028614 ncall gpio_set_wake ,wake 
+:      028616 gpio_config_input_without_wake:
+0x67fe 028617 arg core_gpio_pd0 ,contw 
+0x67ff 028618 call gpio_set_bit 
+0x6800 028619 setflip gpio_active_bit ,temp 
+0x6801 028620 arg core_gpio_pu0 ,contw 
+0x6802 028621 call gpio_set_bit 
+0x6803 028622 set0 gpio_active_bit ,temp 
+0x6804 028623 arg core_gpio_oe0 ,contw 
+0x6805 028624 branch gpio_set_bit 
+:      028627 gpio_set_high_impedance:
+0x6806 028628 arg core_gpio_pd0 ,contw 
+0x6807 028629 call gpio_set_bit 
+0x6808 028630 set0 gpio_active_bit ,temp 
+0x6809 028631 arg core_gpio_pu0 ,contw 
+0x680a 028632 call gpio_set_bit 
+0x680b 028633 set0 gpio_active_bit ,temp 
+0x680c 028634 arg core_gpio_oe0 ,contw 
+0x680d 028635 branch gpio_set_bit 
+:      028639 gpio_config_output:
+0x680e 028640 sub temp ,ui_button_gpio_disable ,null 
+0x680f 028641 rtn zero 
+0x6810 028642 setflip gpio_active_bit ,temp 
+0x6811 028643 call gpio_out 
+:      028644 gpio_config_output0:
+0x6812 028645 set1 gpio_active_bit ,temp 
+0x6813 028646 arg core_gpio_oe0 ,contw 
+0x6814 028647 branch gpio_set_bit 
+:      028649 gpio_common:
+0x6815 028650 and temp ,0x07 ,queue 
+0x6816 028651 rshift3 temp ,pdata 
+0x6817 028652 and_into 3 ,pdata 
+0x6818 028653 iadd contw ,contw 
+0x6819 028654 ifetch 1 ,contw 
+0x681a 028655 rtn 
+:      028657 gpio_check_active:
+0x681b 028658 arg core_gpio_out0 ,contw 
+0x681c 028659 branch get_bit_common 
+:      028663 gpio_get_bit:
+0x681d 028664 arg core_gpio_in ,contw 
+:      028665 get_bit_common:
+0x681e 028666 call gpio_common 
+0x681f 028667 isolate1 gpio_active_bit ,temp 
+0x6820 028668 branch gpio_get_bit_reverse ,true 
+0x6821 028669 qisolate0 pdata 
+0x6822 028670 rtn 
+:      028671 gpio_get_bit_reverse:
+0x6823 028672 qisolate1 pdata 
+0x6824 028673 rtn 
+:      028675 gpio_out_inactive:
+0x6825 028676 sub temp ,ui_button_gpio_disable ,null 
+0x6826 028677 rtn zero 
+0x6827 028678 isolate1 7 ,null 
+0x6828 028679 branch gpio_out_flag 
+:      028681 gpio_out_active:
+0x6829 028682 sub temp ,ui_button_gpio_disable ,null 
+0x682a 028683 rtn zero 
+0x682b 028684 isolate0 7 ,null 
+:      028687 gpio_out_flag:
+0x682c 028688 setarg 0 
+0x682d 028689 nsetflag true ,gpio_active_bit ,pdata 
+0x682e 028690 ixor temp ,temp 
+:      028693 gpio_out:
+0x682f 028694 arg core_gpio_out0 ,contw 
+:      028697 gpio_set_bit:
+0x6830 028698 call gpio_common 
+0x6831 028699 isolate1 gpio_active_bit ,temp 
+0x6832 028700 qsetflag true ,pdata 
+0x6833 028701 istore 1 ,contw 
+0x6834 028702 rtn 
+:      028704 gpio_set_before_lpm_common:
+0x6835 028705 arg -1 ,rega 
+0x6836 028706 hfetch 1 ,core_gpio_sel1 
+0x6837 028707 compare 0x02 ,pdata ,0x03 
+0x6838 028708 call neglact4_from_23_pin ,true 
+0x6839 028710 compare 0x01 ,pdata ,0x03 
+0x683a 028711 call neglact2_form_25_pin ,true 
+0x683b 028713 compare 0x03 ,pdata ,0x03 
+0x683c 028714 call neglact2_form_25_pin ,true 
+0x683d 028716 isolate1 2 ,pdata 
+0x683e 028717 call neglect2_from_6_pin ,true 
+0x683f 028719 isolate1 3 ,pdata 
+0x6840 028720 call neglect4_from_9_pin ,true 
+0x6841 028722 isolate1 4 ,pdata 
+0x6842 028723 call neglact2_form_30_pin ,true 
+0x6843 028725 isolate1 6 ,pdata 
+0x6844 028726 nsetflag true ,04 ,rega 
+0x6845 028728 isolate1 7 ,pdata 
+0x6846 028729 nsetflag true ,05 ,rega 
+0x6847 028731 hfetch 1 ,core_gpio_sel2 
+0x6848 028732 isolate1 0 ,pdata 
+0x6849 028733 nsetflag true ,27 ,rega 
+0x684a 028734 isolate1 1 ,pdata 
+0x684b 028735 nsetflag true ,28 ,rega 
+0x684c 028736 isolate1 2 ,pdata 
+0x684d 028737 nsetflag true ,03 ,rega 
+0x684e 028738 isolate1 3 ,pdata 
+0x684f 028739 nsetflag true ,08 ,rega 
+0x6850 028740 isolate1 4 ,pdata 
+0x6851 028741 nsetflag true ,20 ,rega 
+0x6852 028742 isolate1 5 ,pdata 
+0x6853 028743 nsetflag true ,21 ,rega 
+0x6854 028744 isolate1 6 ,pdata 
+0x6855 028745 nsetflag true ,22 ,rega 
+0x6856 028746 isolate1 7 ,pdata 
+0x6857 028747 nsetflag true ,23 ,rega 
+0x6858 028749 hfetch 1 ,core_gpio_sel 
+0x6859 028750 isolate1 0 ,pdata 
+0x685a 028751 nsetflag true ,05 ,rega 
+0x685b 028752 isolate1 1 ,pdata 
+0x685c 028753 nsetflag true ,06 ,rega 
+0x685d 028754 isolate1 2 ,pdata 
+0x685e 028755 nsetflag true ,07 ,rega 
+0x685f 028756 isolate1 3 ,pdata 
+0x6860 028757 nsetflag true ,18 ,rega 
+0x6861 028758 isolate1 4 ,pdata 
+0x6862 028759 nsetflag true ,19 ,rega 
+0x6863 028760 isolate1 5 ,pdata 
+0x6864 028761 nsetflag true ,20 ,rega 
+0x6865 028762 isolate1 6 ,pdata 
+0x6866 028763 nsetflag true ,21 ,rega 
+0x6867 028764 isolate1 7 ,pdata 
+0x6868 028765 nsetflag true ,22 ,rega 
+0x6869 028767 hfetch 1 ,core_uart_ctrl 
+0x686a 028768 isolate1 4 ,pdata 
+0x686b 028769 call neglact2_form_2_pin ,true 
+0x686c 028770 bpatchx patch33_5 ,mem_patch33 
+0x686d 028772 hfetch 4 ,core_gpio_pu0 
+0x686e 028773 hfetcht 4 ,core_gpio_pd0 
+0x686f 028774 ior temp ,pdata 
+0x6870 028775 invert pdata ,pdata 
+0x6871 028776 iand rega ,pdata 
+0x6872 028778 hstore 4 ,core_gpio_oe0 
+0x6873 028779 rtn 
+:      028782 neglect2_from_6_pin:
+0x6874 028783 arg 6 ,queue 
+0x6875 028784 branch neglect_2_pin 
+:      028785 neglect4_from_9_pin:
+0x6876 028786 arg 9 ,queue 
+0x6877 028787 branch neglact_4_pin 
+:      028788 neglact4_from_23_pin:
+0x6878 028789 arg 23 ,queue 
+0x6879 028790 branch neglact_4_pin 
+:      028791 neglact2_form_25_pin:
+0x687a 028792 arg 25 ,queue 
+0x687b 028793 branch neglect_2_pin 
+:      028794 neglact2_form_30_pin:
+0x687c 028795 arg 30 ,queue 
+0x687d 028796 branch neglect_2_pin 
+:      028797 neglact2_form_2_pin:
+0x687e 028798 arg 2 ,queue 
+0x687f 028799 branch neglect_2_pin 
+:      028800 neglact_1_pin:
+0x6880 028801 arg 1 ,loopcnt 
+0x6881 028802 branch neglect_pin_loop 
+:      028803 neglact_4_pin:
+0x6882 028804 arg 4 ,loopcnt 
+0x6883 028805 branch neglect_pin_loop 
+:      028806 neglect_2_pin:
+0x6884 028807 arg 2 ,loopcnt 
+:      028808 neglect_pin_loop:
+0x6885 028809 qset0 rega 
+0x6886 028810 increase 1 ,queue 
+0x6887 028811 loop neglect_pin_loop 
+0x6888 028812 rtn 
+:      028820 gpio_cfg_uart_tx_output:
+0x6889 028821 call gpio_uart2gpio 
+0x688a 028822 arg uart_wakeup_tx ,temp 
+0x688b 028823 branch gpio_config_output 
+:      028825 gpio_pu_uart_tx:
+0x688c 028826 call gpio_cfg_uart_tx_output 
+0x688d 028827 arg uart_wakeup_tx ,temp 
+0x688e 028828 branch gpio_out_inactive 
+:      028832 gpio_rx_config_input_with_pu:
+0x688f 028833 call gpio_uart2gpio 
+0x6890 028834 hfetch 1 ,core_gpio_pu0 
+0x6891 028835 set1 uart_wakeup_rx ,pdata 
+0x6892 028836 hstore 1 ,core_gpio_pu0 
+0x6893 028837 arg uart_wakeup_rx ,temp 
+0x6894 028838 branch gpio_config_input 
+:      028840 gpio_uart2gpio:
+0x6895 028841 hfetch 1 ,core_gpio_sel1 
+0x6896 028842 and_into 0xfb ,pdata 
+0x6897 028843 hstore 1 ,core_gpio_sel1 
+0x6898 028844 rtn 
+:      028846 gpio_check_uart_state:
+0x6899 028847 hfetch 1 ,core_gpio_sel1 
+0x689a 028848 isolate1 2 ,pdata 
+0x689b 028849 rtn 
+:      028851 load_chip_option:
+0x689c 028852 call otp_enable_chgpump 
+0x689d 028853 setarg otp_chip_functions 
+0x689e 028854 arg mem_chip_functions ,rega 
+0x689f 028855 arg 0x02 ,temp 
+0x68a0 028856 call otpd_read_data 
+0x68a1 028857 branch otp_disable_chgpump 
+:      028860 load_adc_init:
+0x68a2 028861 call otp_enable_chgpump 
+0x68a3 028862 setarg otp_adc_io_0_5v_addr 
+0x68a4 028863 arg mem_0_5_adc_io_data ,rega 
+0x68a5 028864 arg 14 ,temp 
+0x68a6 028865 call otpd_read_data 
+0x68a7 028866 branch otp_disable_chgpump 
+:      028870 adc_init_data:
+0x68a8 028871 bpatchx patch33_6 ,mem_patch33 
+0x68a9 028873 call load_adc_init 
+0x68aa 028875 fetch 1 ,mem_adc_config_flag 
+0x68ab 028876 beq adc_config_vinlpm ,adc_init_data_vinlpm 
+0x68ac 028877 beq adc_config_hvin ,adc_init_data_hvin 
+0x68ad 028878 beq adc_config_gpio ,adc_init_data_io 
+0x68ae 028879 rtn 
+:      028881 adc_init_data_vinlpm:
+0x68af 028882 fetcht 2 ,mem_otp_adc_flag 
+0x68b0 028883 setarg otp_adc_flag 
+0x68b1 028884 isub temp ,null 
+0x68b2 028885 branch adc_check_data_vinlpm ,zero 
+0x68b3 028886 setarg 0x4dfa 
+0x68b4 028887 store 2 ,mem_3v_adc_vinlpm_data 
+0x68b5 028888 setarg 0x4894 
+0x68b6 028889 store 2 ,mem_2v_adc_vinlpm_data 
+0x68b7 028890 branch set_vdd_reference_voltage_1v 
+:      028892 adc_check_data_vinlpm:
+0x68b8 028893 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x68b9 028894 nbranch adc_check_2v_vinlpm ,blank 
+0x68ba 028895 setarg 0x4dfa 
+0x68bb 028896 store 2 ,mem_3v_adc_vinlpm_data 
+:      028897 adc_check_2v_vinlpm:
+0x68bc 028898 fetch 2 ,mem_2v_adc_vinlpm_data 
+0x68bd 028899 nbranch set_vdd_reference_voltage_1v ,blank 
+0x68be 028900 setarg 0x4894 
+0x68bf 028901 store 2 ,mem_2v_adc_vinlpm_data 
+:      028902 set_vdd_reference_voltage_1v:
+0x68c0 028903 setarg 100 
+0x68c1 028904 store 2 ,mem_reference_voltage 
+0x68c2 028905 rtn 
+:      028907 adc_init_data_hvin:
+0x68c3 028908 fetcht 2 ,mem_otp_adc_flag 
+0x68c4 028909 setarg otp_adc_flag 
+0x68c5 028910 isub temp ,null 
+0x68c6 028911 branch adc_check_data_hvin ,zero 
+0x68c7 028912 setarg 0x5932 
+0x68c8 028913 store 2 ,mem_5v_adc_hvin_data 
+0x68c9 028914 setarg 0x4323 
+0x68ca 028915 store 2 ,mem_1v_adc_hvin_data 
+0x68cb 028916 branch set_vdd_reference_voltage_4v 
+:      028918 adc_check_data_hvin:
+0x68cc 028919 fetch 2 ,mem_5v_adc_hvin_data 
+0x68cd 028920 nbranch adc_check_1v_hvin ,blank 
+0x68ce 028921 setarg 0x5932 
+0x68cf 028922 store 2 ,mem_5v_adc_hvin_data 
+:      028923 adc_check_1v_hvin:
+0x68d0 028924 fetch 2 ,mem_1v_adc_hvin_data 
+0x68d1 028925 nbranch set_vdd_reference_voltage_4v ,blank 
+0x68d2 028926 setarg 0x4323 
+0x68d3 028927 store 2 ,mem_1v_adc_hvin_data 
+:      028928 set_vdd_reference_voltage_4v:
+0x68d4 028929 setarg 400 
+0x68d5 028930 store 2 ,mem_reference_voltage 
+0x68d6 028931 rtn 
+:      028933 adc_init_data_io:
+0x68d7 028934 fetcht 2 ,mem_otp_adc_flag 
+0x68d8 028935 setarg otp_adc_flag 
+0x68d9 028936 isub temp ,null 
+0x68da 028937 branch adc_check_data_io ,zero 
+0x68db 028938 setarg 0x6946 
+0x68dc 028939 store 2 ,mem_1v_adc_io_data 
+0x68dd 028940 setarg 0x5377 
+0x68de 028941 store 2 ,mem_0_5_adc_io_data 
+0x68df 028942 branch set_vdd_reference_voltage_0_5v 
+:      028944 adc_check_data_io:
+0x68e0 028945 fetch 2 ,mem_1v_adc_io_data 
+0x68e1 028946 nbranch adc_check_0_5v_io ,blank 
+0x68e2 028947 setarg 0x6946 
+0x68e3 028948 store 2 ,mem_1v_adc_io_data 
+:      028949 adc_check_0_5v_io:
+0x68e4 028950 fetch 2 ,mem_0_5_adc_io_data 
+0x68e5 028951 nbranch set_vdd_reference_voltage_0_5v ,blank 
+0x68e6 028952 setarg 0x5377 
+0x68e7 028953 store 2 ,mem_0_5_adc_io_data 
+:      028954 set_vdd_reference_voltage_0_5v:
+0x68e8 028955 setarg 50 
+0x68e9 028956 store 2 ,mem_reference_voltage 
+0x68ea 028957 rtn 
+:      028960 adc_set_mode:
+0x68eb 028961 fetch 1 ,mem_adc_config_flag 
+0x68ec 028962 beq adc_config_vinlpm ,adc_check_vinlpm 
+0x68ed 028963 beq adc_config_hvin ,adc_check_hvin 
+0x68ee 028964 beq adc_config_gpio ,adc_check_gpio 
+0x68ef 028965 rtn 
+:      028966 adc_check_vinlpm:
+0x68f0 028967 jam 0xbf ,rf_adc_mode 
+0x68f1 028968 branch read_adc 
+:      028969 adc_check_hvin:
+0x68f2 028970 jam 0xaf ,rf_adc_mode 
+0x68f3 028971 branch read_adc 
+:      028972 adc_check_gpio:
+0x68f4 028973 jam 0x8f ,rf_adc_mode 
+0x68f5 028974 fetch 1 ,mem_adc_channel 
+0x68f6 028975 hstore 1 ,rf_adc_ch 
+0x68f7 028976 branch read_adc 
+:      028977 read_adc:
+0x68f8 028978 bpatchx patch33_7 ,mem_patch33 
+0x68f9 028979 hfetch 1 ,core_uart_baud + 1 
+0x68fa 028980 set1 7 ,pdata 
+0x68fb 028981 hstore 1 ,core_uart_baud + 1 
+0x68fc 028982 hfetch 1 ,rf_adc_ch 
+0x68fd 028983 or_into 0x30 ,pdata 
+0x68fe 028984 hstore 1 ,rf_adc_ch 
+0x68ff 028985 jam 0x7c ,rfen_adc 
+0x6900 028986 jam 0xaa ,rf_adc_gc 
+0x6901 028987 nop 5000 
+0x6902 028988 hfetcht 2 ,core_adc_sum 
+0x6903 028989 hfetch 1 ,core_uart_baud + 1 
+0x6904 028990 set0 7 ,pdata 
+0x6905 028991 hstore 1 ,core_uart_baud + 1 
+0x6906 028992 storet 2 ,mem_adc_current_value 
+0x6907 028993 rtn 
+:      028995 vdd_calculate_by_mode:
+0x6908 028996 bpatchx patch34_0 ,mem_patch34 
+0x6909 028997 fetch 1 ,mem_adc_config_flag 
+0x690a 028998 beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+0x690b 028999 beq adc_config_hvin ,vdd_calculate_hvin 
+0x690c 029000 beq adc_config_gpio ,vdd_calculate_io 
+0x690d 029001 rtn 
+:      029003 vdd_calculate_vinlpm:
+0x690e 029004 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x690f 029005 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x6910 029006 arg 200 ,regc 
+0x6911 029007 branch vdd_calculate 
+:      029009 vdd_calculate_hvin:
+0x6912 029010 fetch 2 ,mem_5v_adc_hvin_data 
+0x6913 029011 fetcht 2 ,mem_1v_adc_hvin_data 
+0x6914 029012 arg 100 ,regc 
+0x6915 029013 branch vdd_calculate 
+:      029015 vdd_calculate_io:
+0x6916 029016 fetch 2 ,mem_1v_adc_io_data 
+0x6917 029017 fetcht 2 ,mem_0_5_adc_io_data 
+0x6918 029018 arg 50 ,regc 
+0x6919 029019 branch vdd_calculate 
+:      029021 vdd_calculate:
+0x691a 029022 isub temp ,rega 
+0x691b 029023 fetch 2 ,mem_adc_current_value 
+0x691c 029024 isub temp ,pdata 
+0x691d 029025 nbranch vdd_calculate1 ,positive 
+0x691e 029026 fetcht 2 ,mem_reference_voltage 
+0x691f 029027 imul32 temp ,regb 
+0x6920 029028 copy regc ,pdata 
+0x6921 029029 imul32 rega ,pdata 
+0x6922 029030 iadd regb ,pdata 
+:      029031 vdd_calculate2:
+0x6923 029032 idiv rega 
+0x6924 029033 call wait_div_end 
+0x6925 029034 quotient pdata 
+0x6926 029035 rtn 
+:      029037 vdd_calculate1:
+0x6927 029038 copy temp ,pdata 
+0x6928 029039 fetcht 2 ,mem_adc_current_value 
+0x6929 029040 isub temp ,pdata 
+0x692a 029041 fetcht 2 ,mem_reference_voltage 
+0x692b 029042 imul32 temp ,regb 
+0x692c 029043 copy regc ,pdata 
+0x692d 029044 imul32 rega ,pdata 
+0x692e 029045 isub regb ,pdata 
+0x692f 029046 branch vdd_calculate2 
+:      029057 adc_bat_percent_lowpower_out:
+0x6930 029058 ifetch 8 ,rega 
+0x6931 029059 store 8 ,mem_pdatatemp 
+0x6932 029060 fetch 2 ,mem_pdatatemp 
+0x6933 029061 fetcht 2 ,mem_pdatatemp + 2 
+0x6934 029062 isub temp ,rega 
+0x6935 029063 fetch 2 ,mem_pdatatemp + 6 
+0x6936 029064 isub temp ,regb 
+0x6937 029065 fetcht 2 ,mem_pdatatemp + 4 
+0x6938 029066 isub temp ,null 
+0x6939 029067 ncall adc_set_low_power_flag ,positive 
+0x693a 029068 mul32 regb ,100 ,pdata 
+0x693b 029069 idiv rega 
+0x693c 029070 call wait_div_end 
+0x693d 029071 quotient pdata 
+0x693e 029072 call adc_set_no_power_flag ,blank 
+0x693f 029073 rtn 
+:      029074 adc_set_low_power_flag:
+0x6940 029075 fetch 1 ,mem_adc_power_flag 
+0x6941 029076 set1 0 ,pdata 
+0x6942 029077 store 1 ,mem_adc_power_flag 
+0x6943 029078 rtn 
+:      029079 adc_set_no_power_flag:
+0x6944 029080 fetcht 1 ,mem_adc_power_flag 
+0x6945 029081 set1 1 ,temp 
+0x6946 029082 storet 1 ,mem_adc_power_flag 
+0x6947 029083 rtn 
+:      029088 keyscan_key_init:
+0x6948 029089 fetch 2 ,mem_key_num_ptr 
+0x6949 029090 ifetch 1 ,pdata 
+:      029091 keyscan_key_init_next:
+0x694a 029092 rtn blank 
+0x694b 029093 copy pdata ,loopcnt 
+0x694c 029095 fetch 2 ,mem_keyscan_ptr 
+0x694d 029096 increase 3 ,pdata 
+0x694e 029097 copy pdata ,rega 
+:      029098 keyscan_key_init_lp1:
+0x694f 029099 ifetcht 1 ,rega 
+0x6950 029100 call gpio_config_input 
+0x6951 029101 increase key_conf_struct_len ,rega 
+0x6952 029102 loop keyscan_key_init_lp1 
+:      029103 keyscan_key_init_end:
+0x6953 029104 rtn 
+:      029106 keyscan_scan_key:
+0x6954 029107 fetch 2 ,mem_keyscan_ptr 
+0x6955 029108 increase 3 ,pdata 
+0x6956 029109 copy pdata ,rega 
+0x6957 029111 force 0 ,regb 
+0x6958 029112 jam 0 ,mem_key_value_temp 
+:      029113 keyscan_scan_key_lp1:
+0x6959 029114 ifetcht 1 ,rega 
+0x695a 029115 call gpio_get_bit 
+0x695b 029116 bpatchx patch34_1 ,mem_patch34 
+0x695c 029117 fetch 2 ,mem_key_value_temp 
+0x695d 029118 copy regb ,queue 
+0x695e 029119 qsetflag true ,pdata 
+0x695f 029120 store 2 ,mem_key_value_temp 
+0x6960 029121 increase key_conf_struct_len ,rega 
+0x6961 029122 increase 1 ,regb 
+0x6962 029123 fetch 2 ,mem_key_num_ptr 
+0x6963 029124 ifetch 1 ,pdata 
+:      029125 keyscan_scan_key_lp1_next:
+0x6964 029126 ixor regb ,null 
+0x6965 029127 nbranch keyscan_scan_key_lp1 ,zero 
+0x6966 029128 fetch 2 ,mem_key_value_temp 
+0x6967 029129 fetcht 2 ,mem_key_value 
+0x6968 029130 ixor temp ,null 
+0x6969 029131 rtn zero 
+0x696a 029132 enable user 
+0x696b 029133 rtn 
+:      029135 keyscan_process_lpm_before:
+0x696c 029136 fetch 2 ,mem_key_num_ptr 
+0x696d 029137 ifetch 1 ,pdata 
+:      029138 keyscan_process_lpm_before_next:
+0x696e 029139 rtn blank 
+0x696f 029140 copy pdata ,loopcnt 
+0x6970 029141 fetch 2 ,mem_keyscan_ptr 
+0x6971 029142 increase 3 ,pdata 
+0x6972 029143 copy pdata ,rega 
+:      029144 keyscan_process_lpm_before_lp1:
+0x6973 029145 ifetcht 1 ,rega 
+0x6974 029146 call gpio_set_wake_by_current_state 
+0x6975 029147 increase key_conf_struct_len ,rega 
+0x6976 029148 loop keyscan_process_lpm_before_lp1 
+:      029149 keyscan_process_lpm_before_end:
+0x6977 029150 rtn 
+:      029152 keyscan_key_process:
+0x6978 029153 arg key_scan_timer ,queue 
+0x6979 029154 call timer_check 
+0x697a 029155 nrtn blank 
+0x697b 029156 setarg 0x20 
+0x697c 029157 arg key_scan_timer ,queue 
+0x697d 029158 call timer_init 
+0x697e 029159 disable user 
+0x697f 029160 call keyscan_process_lpm_before 
+0x6980 029161 bpatchx patch34_2 ,mem_patch34 
+0x6981 029162 fetch 2 ,mem_key_num_ptr 
+0x6982 029163 ifetch 1 ,pdata 
+:      029164 keyscan_key_process_next:
+0x6983 029165 rtn blank 
+0x6984 029166 call keyscan_scan_key 
+0x6985 029167 nbranch lpm_button_clean_wake_lock ,user 
+0x6986 029168 call lpm_button_get_wake_lock 
+0x6987 029169 disable user 
+0x6988 029170 fetch 2 ,mem_key_value_temp 
+0x6989 029171 store 2 ,mem_key_value_temp4 
+0x698a 029172 jam 0 ,mem_key_value_temp6 
+0x698b 029173 force 0 ,queue 
+:      029174 keyscan_key_lp1:
+0x698c 029175 fetch 2 ,mem_key_value 
+0x698d 029176 rshift pdata ,temp 
+0x698e 029177 storet 2 ,mem_key_value 
+0x698f 029178 and pdata ,0x01 ,pdata 
+0x6990 029179 fetcht 2 ,mem_key_value_temp4 
+0x6991 029180 and temp ,0x01 ,rega 
+0x6992 029181 rshift temp ,temp 
+0x6993 029182 storet 2 ,mem_key_value_temp4 
+0x6994 029183 ixor rega ,null 
+0x6995 029184 ncall keyscan_send_key_data ,zero 
+0x6996 029185 fetch 2 ,mem_key_num_ptr 
+0x6997 029186 ifetch 1 ,pdata 
+:      029187 keyscan_key_lp1_next:
+0x6998 029188 fetcht 1 ,mem_key_value_temp6 
+0x6999 029189 increase 1 ,temp 
+0x699a 029190 storet 1 ,mem_key_value_temp6 
+0x699b 029191 copy temp ,queue 
+0x699c 029192 ixor queue ,null 
+0x699d 029193 nbranch keyscan_key_lp1 ,zero 
+0x699e 029194 fetch 2 ,mem_key_value_temp 
+0x699f 029195 store 2 ,mem_key_value 
+0x69a0 029196 rtn 
+:      029197 keyscan_send_key_data:
+0x69a1 029198 bpatchx patch34_3 ,mem_patch34 
+0x69a2 029199 fetch 2 ,mem_keyscan_ptr 
+0x69a3 029200 increase 1 ,pdata 
+0x69a4 029201 ifetch 2 ,pdata 
+0x69a5 029202 branch callback_func 
+:      029213 pwm_init:
+0x69a6 029214 hfetch 1 ,core_clksel 
+0x69a7 029215 ior rega ,pdata 
+0x69a8 029216 hstore 1 ,core_clksel 
+0x69a9 029217 hfetch 2 ,core_clkoff 
+0x69aa 029218 set0 clock_off_pwm ,pdata 
+0x69ab 029219 hstore 2 ,core_clkoff 
+0x69ac 029220 nop 100 
+0x69ad 029221 rtn 
+:      029232 pwm_out_set:
+0x69ae 029233 fetcht 3 ,mem_pdatatemp + 2 
+0x69af 029234 setarg pwm_12mhz 
+0x69b0 029235 idiv temp 
+0x69b1 029236 call wait_div_end 
+0x69b2 029237 quotient temp 
+0x69b3 029238 fetch 1 ,mem_pdatatemp + 5 
+0x69b4 029239 imul32 temp ,pdata 
+0x69b5 029240 div pdata ,100 
+0x69b6 029241 call wait_div_end 
+0x69b7 029242 quotient rega 
+0x69b8 029243 copy temp ,pdata 
+0x69b9 029244 isub rega ,regb 
+0x69ba 029245 fetch 1 ,mem_pdatatemp + 1 
+0x69bb 029246 call pwm_duty_cycle_set 
+0x69bc 029247 fetch 1 ,mem_pdatatemp 
+0x69bd 029248 branch pwm_enable 
+:      029251 pwm_duty_cycle_set:
+0x69be 029252 beq 0 ,pwm_pwm0_duty_set 
+0x69bf 029253 beq 1 ,pwm_pwm1_duty_set 
+0x69c0 029254 beq 2 ,pwm_pwm2_duty_set 
+0x69c1 029255 beq 3 ,pwm_pwm3_duty_set 
+0x69c2 029256 beq 4 ,pwm_pwm4_duty_set 
+0x69c3 029257 beq 5 ,pwm_pwm5_duty_set 
+:      029258 pwm_pwm0_duty_set:
+0x69c4 029259 arg core_pwm_pcnt0 ,contw 
+0x69c5 029260 branch pwm_set_pncnt 
+:      029261 pwm_pwm1_duty_set:
+0x69c6 029262 arg core_pwm_pcnt1 ,contw 
+0x69c7 029263 branch pwm_set_pncnt 
+:      029264 pwm_pwm2_duty_set:
+0x69c8 029265 arg core_pwm_pcnt2 ,contw 
+0x69c9 029266 branch pwm_set_pncnt 
+:      029267 pwm_pwm3_duty_set:
+0x69ca 029268 arg core_pwm_pcnt3 ,contw 
+0x69cb 029269 branch pwm_set_pncnt 
+:      029270 pwm_pwm4_duty_set:
+0x69cc 029271 arg core_pwm_pcnt4 ,contw 
+0x69cd 029272 branch pwm_set_pncnt 
+:      029273 pwm_pwm5_duty_set:
+0x69ce 029274 arg core_pwm_pcnt5 ,contw 
+0x69cf 029275 branch pwm_set_pncnt 
+:      029276 pwm_set_pncnt:
+0x69d0 029277 copy rega ,pdata 
+0x69d1 029278 istore 2 ,contw 
+0x69d2 029279 copy regb ,pdata 
+0x69d3 029280 istore 2 ,contw 
+0x69d4 029281 rtn 
+:      029285 pwm_enable:
+0x69d5 029286 enable user 
+0x69d6 029287 branch pwm_gpio_set 
+:      029288 pwm_disable:
+0x69d7 029289 disable user 
+:      029290 pwm_gpio_set:
+0x69d8 029291 beq 4 ,pwm_gpio4_set 
+0x69d9 029292 beq 5 ,pwm_gpio5_set 
+0x69da 029293 beq 27 ,pwm_gpio27_set 
+0x69db 029294 beq 28 ,pwm_gpio28_set 
+0x69dc 029295 beq 3 ,pwm_gpio3_set 
+0x69dd 029296 beq 8 ,pwm_gpio8_set 
+0x69de 029297 beq 20 ,pwm_gpio20_set 
+0x69df 029298 beq 21 ,pwm_gpio21_set 
+0x69e0 029299 beq 22 ,pwm_gpio22_set 
+0x69e1 029300 beq 23 ,pwm_gpio23_set 
+0x69e2 029301 rtn 
+:      029304 pwm_gpio4_set:
+0x69e3 029305 arg 6 ,queue 
+0x69e4 029306 branch pwm_one_set_select 
+:      029307 pwm_gpio5_set:
+0x69e5 029308 arg 7 ,queue 
+0x69e6 029309 branch pwm_one_set_select 
+:      029310 pwm_gpio27_set:
+0x69e7 029311 arg 8 ,queue 
+0x69e8 029312 branch pwm_one_set_select 
+:      029313 pwm_gpio28_set:
+0x69e9 029314 arg 9 ,queue 
+0x69ea 029315 branch pwm_one_set_select 
+:      029316 pwm_gpio3_set:
+0x69eb 029317 arg 10 ,queue 
+0x69ec 029318 branch pwm_one_set_select 
+:      029319 pwm_gpio8_set:
+0x69ed 029320 arg 11 ,queue 
+0x69ee 029321 branch pwm_one_set_select 
+:      029322 pwm_gpio20_set:
+0x69ef 029323 arg 12 ,queue 
+0x69f0 029324 branch pwm_tw0_set_select 
+:      029325 pwm_gpio21_set:
+0x69f1 029326 arg 13 ,queue 
+0x69f2 029327 branch pwm_tw0_set_select 
+:      029328 pwm_gpio22_set:
+0x69f3 029329 arg 14 ,queue 
+0x69f4 029330 branch pwm_tw0_set_select 
+:      029331 pwm_gpio23_set:
+0x69f5 029332 arg 15 ,queue 
+0x69f6 029333 branch pwm_tw0_set_select 
+:      029335 pwm_set_select:
+0x69f7 029336 hfetch 2 ,core_gpio_sel1 
+0x69f8 029337 qsetflag user ,pdata 
+0x69f9 029338 hstore 2 ,core_gpio_sel1 
+0x69fa 029339 copy rega ,queue 
+0x69fb 029340 hfetch 1 ,core_gpio_key2 
+0x69fc 029341 qsetflag user ,pdata 
+0x69fd 029342 hstore 1 ,core_gpio_key2 
+0x69fe 029343 rtn 
+:      029345 pwm_one_set_select:
+0x69ff 029346 add queue ,-4 ,rega 
+0x6a00 029347 branch pwm_set_select 
+:      029349 pwm_tw0_set_select:
+0x6a01 029350 add queue ,-10 ,rega 
+0x6a02 029351 branch pwm_set_select 
+:      029356 rfcomm_init:
+0x6a03 029357 rtn wake 
+0x6a04 029358 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a05 029359 jam bits9600 ,memremoterpnbitrate 
+0x6a06 029360 jam databits8 ,memremoteprndatabits 
+0x6a07 029361 jam 0x11 ,memremoteprnxon 
+0x6a08 029362 jam 0x13 ,memremoteprnxoff 
+0x6a09 029363 setarg 0 
+0x6a0a 029364 store 3 ,memremoteprnstopbit 
+0x6a0b 029365 store 1 ,mem_spp_state 
+0x6a0c 029366 jam 0 ,memui_reconnect_mode 
+:      029368 rfcomm_init_spp:
+0x6a0d 029369 bpatchx patch34_4 ,mem_patch34 
+0x6a0e 029370 setarg 0 
+0x6a0f 029371 store 1 ,mem_spp_state 
+0x6a10 029372 store 1 ,mem_remote_spp_channel 
+0x6a11 029373 store 1 ,mem_pn_dlci 
+0x6a12 029374 fetch 1 ,mem_credit_flag 
+0x6a13 029375 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x6a14 029376 jam 0x50 ,mem_credit_given 
+0x6a15 029377 rtn 
+:      029379 rfcomm_init_spp_with_credit:
+0x6a16 029380 jam 0x00 ,mem_credit_given 
+0x6a17 029381 rtn 
+:      029383 set_cr_bit:
+0x6a18 029384 or_into 0x02 ,temp 
+0x6a19 029385 rtn 
+:      029397 rfcomm_calculate_fcs_sabm:
+0x6a1a 029398 copy temp ,pdata 
+0x6a1b 029399 reverse pdata ,pdata 
+0x6a1c 029400 store 1 ,memfcstemp3 
+0x6a1d 029401 force ini_tx_sabm ,pdata 
+0x6a1e 029402 reverse pdata ,pdata 
+0x6a1f 029403 store 1 ,memfcstemp2 
+0x6a20 029404 force 0x01 ,pdata 
+0x6a21 029405 reverse pdata ,pdata 
+0x6a22 029406 store 1 ,memfcstemp1 
+0x6a23 029407 call caculate_fcs 
+0x6a24 029408 copy temp ,pdata 
+0x6a25 029409 rtn 
+:      029410 rfcomm_calculate_fcs_ua:
+0x6a26 029411 reverse pdata ,pdata 
+0x6a27 029412 store 1 ,memfcstemp3 
+0x6a28 029413 force rsp_tx_ua ,pdata 
+0x6a29 029414 reverse pdata ,pdata 
+0x6a2a 029415 store 1 ,memfcstemp2 
+0x6a2b 029416 force 0x01 ,pdata 
+0x6a2c 029417 reverse pdata ,pdata 
+0x6a2d 029418 store 1 ,memfcstemp1 
+0x6a2e 029419 branch caculate_fcs 
+:      029421 rfcomm_calculate_fcs_dlci0:
+0x6a2f 029422 fetch 1 ,mem_rfcomm_initiator 
+0x6a30 029423 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x6a31 029424 setarg 0x70 
+0x6a32 029425 rtn 
+:      029426 rfcomm_calculate_fcs_dlci0_res:
+0x6a33 029427 setarg 0xaa 
+0x6a34 029428 rtn 
+:      029430 rfcomm_save_fcs_uih:
+0x6a35 029431 reverse pdata ,pdata 
+0x6a36 029432 store 1 ,memfcstemp3 
+0x6a37 029433 force rsp_rx_uih ,pdata 
+0x6a38 029434 call caculate_uihdata_fcs 
+0x6a39 029435 fetcht 2 ,mem_contw_temp 
+0x6a3a 029436 copy temp ,contw 
+0x6a3b 029437 istore 1 ,contw 
+0x6a3c 029438 copy contw ,temp 
+0x6a3d 029439 storet 2 ,mem_contw_temp 
+0x6a3e 029440 force rsp_rx_uih_wdata ,pdata 
+0x6a3f 029441 call caculate_uihdata_fcs 
+0x6a40 029442 fetcht 2 ,mem_contw_temp 
+0x6a41 029443 copy temp ,contw 
+0x6a42 029444 istore 1 ,contw 
+0x6a43 029445 rtn 
+:      029454 caculate_uihdata_fcs:
+0x6a44 029455 reverse pdata ,pdata 
+0x6a45 029456 store 1 ,memfcstemp2 
+0x6a46 029457 fetch 2 ,memfcstemp2 
+0x6a47 029458 lshift8 pdata ,pdata 
+0x6a48 029459 store 3 ,mem_mod2div_temp 
+0x6a49 029460 arg 0x107 ,rega 
+0x6a4a 029461 arg 0xf ,regb 
+0x6a4b 029462 call mod2div 
+0x6a4c 029463 xor_into 0xd7 ,pdata 
+0x6a4d 029464 invert pdata ,pdata 
+0x6a4e 029465 reverse pdata ,pdata 
+0x6a4f 029466 rtn 
+:      029476 caculate_fcs:
+0x6a50 029477 fetch 3 ,memfcstemp1 
+0x6a51 029478 store 3 ,mem_mod2div_temp 
+0x6a52 029479 arg 0x107 ,rega 
+0x6a53 029480 arg 0xf ,regb 
+0x6a54 029481 call mod2div 
+0x6a55 029482 lshift8 pdata ,pdata 
+0x6a56 029483 arg 0x7 ,regb 
+0x6a57 029484 call mod2div 
+0x6a58 029485 xor_into 0x2b ,pdata 
+0x6a59 029486 invert pdata ,pdata 
+0x6a5a 029487 reverse pdata ,pdata 
+0x6a5b 029488 copy pdata ,temp 
+0x6a5c 029489 rtn 
+:      029491 mod2div:
+0x6a5d 029492 arg 0 ,regc 
+0x6a5e 029493 copy regb ,loopcnt 
+0x6a5f 029494 call right_shift_n 
+0x6a60 029495 icopy temp 
+:      029496 mod2div_loop:
+0x6a61 029501 copy temp ,pdata 
+0x6a62 029502 lshift regc ,regc 
+0x6a63 029503 bbit0 8 ,mod2div_not_enough_reduction 
+0x6a64 029504 ixor rega ,temp 
+0x6a65 029505 increase 1 ,regc 
+:      029506 mod2div_not_enough_reduction:
+0x6a66 029507 lshift temp ,temp 
+0x6a67 029508 fetch 3 ,mem_mod2div_temp 
+0x6a68 029509 increase -1 ,regb 
+0x6a69 029510 compare 0xff ,regb ,0xff 
+0x6a6a 029511 branch mod2div_end ,true 
+0x6a6b 029512 copy regb ,loopcnt 
+0x6a6c 029513 call right_shift_n 
+0x6a6d 029514 isolate1 0 ,pdata 
+0x6a6e 029515 setflag true ,0 ,temp 
+0x6a6f 029516 branch mod2div_loop 
+:      029517 mod2div_end:
+0x6a70 029519 rshift temp ,pdata 
+0x6a71 029520 rtn 
+:      029522 get_rfcomm_snd_adss:
+0x6a72 029523 fetcht 1 ,mem_pn_dlci 
+:      029524 dlci_to_address_cmd:
+0x6a73 029526 lshift2 temp ,temp 
+0x6a74 029527 set1 rfcomm_address_ext_len ,temp 
+0x6a75 029528 fetch 1 ,mem_rfcomm_initiator 
+0x6a76 029529 ncall set_cr_bit ,blank 
+0x6a77 029530 storet 1 ,mem_rfcomm_send_adss 
+0x6a78 029531 rtn 
+:      029533 channel_to_dlci:
+0x6a79 029535 lshift temp ,temp 
+0x6a7a 029536 fetch 1 ,mem_rfcomm_initiator 
+0x6a7b 029537 setflag blank ,0 ,temp 
+0x6a7c 029539 rtn 
+:      029540 rfcomm_rx_process_dlci0_sabm:
+0x6a7d 029541 fetcht 1 ,mem_current_channel 
+0x6a7e 029542 jam 0xd7 ,mem_current_fcs 
+0x6a7f 029543 call rfcomm_send_ua 
+0x6a80 029544 fetch 1 ,mem_rfcomm_state 
+0x6a81 029545 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6a82 029546 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a83 029547 store 1 ,mem_rfcomm_state 
+0x6a84 029548 jam 0 ,mem_rfcomm_initiator 
+0x6a85 029549 branch rfcomm_rx_process_end 
+:      029550 rfcomm_rx_process_dlci0_ua:
+0x6a86 029551 fetch 1 ,mem_rfcomm_state 
+0x6a87 029552 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a88 029553 store 1 ,mem_rfcomm_state 
+0x6a89 029554 branch rfcomm_rx_process_end 
+:      029557 rfcomm_rx_process:
+0x6a8a 029558 bpatchx patch34_5 ,mem_patch34 
+0x6a8b 029559 fetch 1 ,memui_reconnect_mode 
+0x6a8c 029560 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x6a8d 029561 branch rfcomm_rx_process_reconn 
+:      029563 rfcomm_rx_process_remote_page:
+0x6a8e 029564 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a8f 029565 copy pdata ,contr 
+0x6a90 029566 call get_rfcomm_head_struct 
+0x6a91 029567 fetch 1 ,mem_current_channel 
+0x6a92 029568 beq 0 ,parse_dlci0_rp 
+0x6a93 029569 branch parse_uih_rp 
+:      029570 parse_dlci0_rp:
+0x6a94 029571 bpatchx patch34_6 ,mem_patch34 
+0x6a95 029572 fetch 1 ,mem_current_frame_type 
+0x6a96 029573 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a97 029574 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a98 029575 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x6a99 029576 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x6a9a 029577 rtn 
+:      029580 parse_dlci0_rp_uih:
+0x6a9b 029581 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a9c 029582 copy pdata ,contr 
+0x6a9d 029583 call get_rfcomm_uih_head_struct 
+0x6a9e 029584 fetch 1 ,mem_uih_cmd_type 
+0x6a9f 029585 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6aa0 029586 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6aa1 029587 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6aa2 029588 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6aa3 029589 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6aa4 029590 branch rfcomm_rx_process_end 
+:      029592 parse_dlci0_rp_uih_pn_cmd:
+0x6aa5 029593 call parse_dlci0_rp_uih_pn_res_common 
+0x6aa6 029595 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      029597 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6aa7 029598 fetch 1 ,mem_spp_state 
+0x6aa8 029599 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x6aa9 029600 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6aaa 029601 store 1 ,mem_spp_state 
+0x6aab 029602 call rfcomm_send_param_neg_res 
+0x6aac 029603 branch rfcomm_rx_process_end 
+:      029605 parse_dlci0_rp_uih_pn_res:
+0x6aad 029606 call parse_dlci0_rp_uih_pn_res_common 
+0x6aae 029607 branch rfcomm_rx_process_end 
+:      029609 parse_dlci0_rp_uih_pn_res_common:
+0x6aaf 029610 call get_param_payload_ptr 
+0x6ab0 029611 branch get_rfcomm_prarmer_negotiation 
+:      029613 get_rfcomm_param_modem_status:
+0x6ab1 029614 call get_param_payload_ptr 
+0x6ab2 029615 ifetch 1 ,contr 
+0x6ab3 029616 rshift3 pdata ,pdata 
+0x6ab4 029617 store 1 ,mem_ms_channel 
+0x6ab5 029618 ifetch 1 ,contr 
+0x6ab6 029619 store 1 ,mem_ms_param 
+0x6ab7 029620 rtn 
+:      029623 get_rfcomm_head_struct:
+0x6ab8 029624 ifetch 1 ,contr 
+0x6ab9 029625 store 1 ,mem_current_adss 
+0x6aba 029626 rshift3 pdata ,pdata 
+0x6abb 029627 store 1 ,mem_current_channel 
+0x6abc 029628 ifetch 1 ,contr 
+0x6abd 029629 store 1 ,mem_current_frame_type 
+:      029630 get_rfcomm_current_length:
+0x6abe 029631 call get_rfcomm_length_common 
+0x6abf 029632 storet 2 ,mem_current_length 
+0x6ac0 029633 copy contr ,pdata 
+0x6ac1 029634 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6ac2 029635 rtn 
+:      029637 get_rfcomm_uih_head_struct:
+0x6ac3 029638 ifetch 1 ,contr 
+0x6ac4 029639 rshift pdata ,pdata 
+0x6ac5 029640 store 1 ,mem_uih_cmd_type 
+0x6ac6 029641 call get_rfcomm_length_common 
+0x6ac7 029642 storet 2 ,mem_uih_length 
+0x6ac8 029643 copy contr ,pdata 
+0x6ac9 029644 store 2 ,mem_param_payload_ptr 
+0x6aca 029645 rtn 
+:      029648 get_param_payload_ptr:
+0x6acb 029649 fetch 2 ,mem_param_payload_ptr 
+0x6acc 029650 copy pdata ,contr 
+0x6acd 029651 rtn 
+:      029653 get_rfcomm_length_common:
+0x6ace 029654 ifetch 1 ,contr 
+0x6acf 029655 copy pdata ,temp 
+0x6ad0 029656 rshift temp ,temp 
+0x6ad1 029657 rtnbit1 0 
+0x6ad2 029658 ifetch 1 ,contr 
+0x6ad3 029659 lshift3 pdata ,pdata 
+0x6ad4 029660 lshift4 pdata ,pdata 
+0x6ad5 029661 iadd temp ,temp 
+0x6ad6 029662 rtn 
+:      029664 get_rfcomm_prarmer_negotiation:
+0x6ad7 029665 ifetch 1 ,contr 
+0x6ad8 029666 store 1 ,mem_pn_dlci 
+0x6ad9 029667 ifetch 1 ,contr 
+0x6ada 029668 store 1 ,mem_pn_credit_flow_type_info 
+0x6adb 029669 ifetch 1 ,contr 
+0x6adc 029670 store 1 ,mem_pn_priority 
+0x6add 029671 ifetch 1 ,contr 
+0x6ade 029672 store 1 ,mem_pn_acknowledg_timer 
+0x6adf 029673 ifetch 2 ,contr 
+0x6ae0 029674 store 2 ,mem_pn_max_frame_size 
+0x6ae1 029675 ifetch 1 ,contr 
+0x6ae2 029676 store 1 ,mem_pn_max_retrans 
+0x6ae3 029677 ifetch 1 ,contr 
+0x6ae4 029678 store 1 ,mem_remote_credits 
+0x6ae5 029679 rtn 
+:      029682 parse_dlci0_rp_uih_ms_cmd:
+0x6ae6 029683 call get_rfcomm_param_modem_status 
+0x6ae7 029685 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      029687 parse_dlci0_rp_uih_ms_cmd_spp:
+0x6ae8 029688 fetch 1 ,mem_spp_state 
+0x6ae9 029689 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6aea 029690 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6aeb 029691 store 1 ,mem_spp_state 
+0x6aec 029692 fetcht 1 ,mem_pn_dlci 
+0x6aed 029693 lshift2 temp ,temp 
+0x6aee 029694 or_into 3 ,temp 
+0x6aef 029695 call rfcomm_send_modem_status_res 
+0x6af0 029696 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x6af1 029697 branch rfcomm_rx_process_end 
+:      029699 parse_dlci0_rp_uih_ms_res:
+0x6af2 029700 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x6af3 029701 call ui_ipc_send_event 
+0x6af4 029702 call get_rfcomm_param_modem_status 
+0x6af5 029703 fetch 1 ,mem_ms_channel 
+0x6af6 029704 sub pdata ,1 ,null 
+0x6af7 029705 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x6af8 029706 branch assert 
+:      029707 parse_dlci0_rp_uih_ms_res_spp:
+0x6af9 029708 fetch 1 ,mem_spp_state 
+0x6afa 029709 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6afb 029710 store 1 ,mem_spp_state 
+0x6afc 029711 branch rfcomm_rx_process_end 
+:      029713 parse_dlci0_rp_uih_cmd_port:
+0x6afd 029714 call get_param_payload_ptr 
+0x6afe 029715 ifetch 1 ,contr 
+0x6aff 029716 store 1 ,mem_rpn_dlci 
+0x6b00 029717 call l2cap_malloc_rfcomm_channel 
+0x6b01 029718 call l2cap_get_rfcomm_tx_buff 
+0x6b02 029719 setarg 0x000e 
+0x6b03 029720 istore 2 ,contw 
+0x6b04 029721 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b05 029722 istore 2 ,contw 
+0x6b06 029723 fetch 1 ,mem_rfcomm_initiator 
+0x6b07 029725 lshift pdata ,pdata 
+0x6b08 029726 set1 0 ,pdata 
+0x6b09 029727 istore 1 ,contw 
+0x6b0a 029728 bpatchx patch34_7 ,mem_patch34 
+0x6b0b 029729 setarg 0x15ef 
+0x6b0c 029730 istore 2 ,contw 
+0x6b0d 029731 setarg 0x1191 
+0x6b0e 029732 istore 2 ,contw 
+0x6b0f 029735 fetch 1 ,mem_rpn_dlci 
+0x6b10 029736 istore 1 ,contw 
+0x6b11 029737 setarg 0x000007 
+0x6b12 029738 istore 5 ,contw 
+0x6b13 029741 setarg 0x01 
+0x6b14 029742 istore 2 ,contw 
+0x6b15 029745 call rfcomm_calculate_fcs_dlci0 
+0x6b16 029746 istore 1 ,contw 
+0x6b17 029747 rtn 
+:      029751 parse_uih_rp:
+0x6b18 029752 branch parse_uih_rp_spp 
+:      029754 parse_uih_rp_spp:
+0x6b19 029755 bpatchx patch35_0 ,mem_patch35 
+0x6b1a 029756 fetch 1 ,mem_current_frame_type 
+0x6b1b 029757 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x6b1c 029758 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x6b1d 029759 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b1e 029760 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b1f 029761 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x6b20 029762 rtn 
+:      029763 parse_uih_rp_spp_ua:
+0x6b21 029764 fetch 1 ,mem_spp_state 
+0x6b22 029765 set1 rfcomm_channel_state_ua ,pdata 
+0x6b23 029766 store 1 ,mem_spp_state 
+0x6b24 029767 branch rfcomm_rx_process_end 
+:      029768 parse_uih_rp_spp_sabm:
+0x6b25 029769 fetch 1 ,mem_spp_state 
+0x6b26 029770 set1 rfcomm_channel_state_ua ,pdata 
+0x6b27 029771 set1 rfcomm_channel_state_sabm ,pdata 
+0x6b28 029772 store 1 ,mem_spp_state 
+0x6b29 029773 fetch 1 ,mem_current_adss 
+0x6b2a 029774 call rfcomm_calculate_fcs_ua 
+0x6b2b 029775 store 1 ,mem_current_fcs 
+0x6b2c 029776 call rfcomm_send_ua 
+0x6b2d 029777 fetch 1 ,mem_current_adss 
+0x6b2e 029778 rshift2 pdata ,pdata 
+0x6b2f 029779 store 1 ,mem_pn_dlci 
+0x6b30 029780 lshift2 pdata ,pdata 
+0x6b31 029781 set0 rfcomm_address_cr ,pdata 
+0x6b32 029782 set1 rfcomm_address_ext_len ,pdata 
+0x6b33 029783 arg mem_hiufcs_spp ,temp 
+0x6b34 029784 storet 2 ,mem_contw_temp 
+0x6b35 029785 call rfcomm_save_fcs_uih 
+0x6b36 029786 branch rfcomm_rx_process_end 
+:      029788 parse_uih_spp_uih_credits:
+0x6b37 029789 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b38 029790 copy pdata ,contr 
+0x6b39 029791 increase 1 ,pdata 
+0x6b3a 029792 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b3b 029793 ifetch 1 ,contr 
+0x6b3c 029794 fetcht 1 ,mem_remote_credits 
+0x6b3d 029795 iadd temp ,pdata 
+0x6b3e 029796 store 1 ,mem_remote_credits 
+:      029797 parse_uih_spp_uih:
+0x6b3f 029798 call rfcomm_increase_credit_given 
+:      029799 parse_uih_spp_uih_cont:
+0x6b40 029800 call get_rfcomm_snd_adss 
+0x6b41 029801 call rfcomm_send_uih_without_payload 
+0x6b42 029802 call spp_process_rx_data 
+0x6b43 029803 branch rfcomm_rx_process_end 
+:      029805 parse_uih_rp_spp_disconn_send_event:
+0x6b44 029806 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6b45 029807 call ui_ipc_send_event 
+:      029808 parse_uih_rp_spp_disconn:
+0x6b46 029809 call rfcomm_init_spp 
+0x6b47 029810 fetch 1 ,mem_current_adss 
+0x6b48 029811 call rfcomm_calculate_fcs_ua 
+0x6b49 029812 store 1 ,mem_current_fcs 
+0x6b4a 029813 call rfcomm_send_ua 
+0x6b4b 029814 branch rfcomm_rx_process_end 
+:      029819 rfcomm_rx_process_reconn:
+0x6b4c 029820 fetch 2 ,mem_l2cap_payload_ptr 
+0x6b4d 029821 copy pdata ,contr 
+0x6b4e 029822 call get_rfcomm_head_struct 
+0x6b4f 029823 fetch 1 ,mem_current_channel 
+0x6b50 029824 beq 0 ,parse_dlci0_reconn 
+0x6b51 029825 branch parse_uih_reconn 
+:      029827 parse_dlci0_reconn:
+0x6b52 029828 bpatchx patch35_1 ,mem_patch35 
+0x6b53 029829 fetch 1 ,mem_current_frame_type 
+0x6b54 029830 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6b55 029831 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6b56 029832 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6b57 029833 branch rfcomm_rx_process_end 
+:      029834 parse_dlci0_reconn_uih:
+0x6b58 029835 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b59 029836 copy pdata ,contr 
+0x6b5a 029837 call get_rfcomm_uih_head_struct 
+0x6b5b 029838 fetch 1 ,mem_uih_cmd_type 
+0x6b5c 029839 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5d 029840 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5e 029841 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6b5f 029842 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6b60 029843 branch rfcomm_rx_process_end 
+:      029845 parse_dlci0_reconn_uih_pn_cmd:
+0x6b61 029846 call parse_dlci0_rp_uih_pn_res_common 
+0x6b62 029847 fetch 1 ,mem_pn_dlci 
+0x6b63 029848 rshift pdata ,pdata 
+0x6b64 029849 fetcht 1 ,mem_remote_spp_channel 
+0x6b65 029850 isub temp ,null 
+0x6b66 029851 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6b67 029852 branch assert 
+:      029853 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6b68 029854 fetch 1 ,mem_spp_state 
+0x6b69 029855 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6b6a 029856 store 1 ,mem_spp_state 
+0x6b6b 029857 branch rfcomm_rx_process_end 
+:      029859 parse_dlci0_reconn_uih_ms_cmd:
+0x6b6c 029860 call get_rfcomm_param_modem_status 
+0x6b6d 029861 fetch 1 ,mem_ms_channel 
+0x6b6e 029862 fetcht 1 ,mem_remote_spp_channel 
+0x6b6f 029863 isub temp ,null 
+0x6b70 029864 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6b71 029865 branch assert 
+0x6b72 029866 branch rfcomm_rx_process_end 
+:      029867 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6b73 029868 fetch 1 ,mem_spp_state 
+0x6b74 029869 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6b75 029870 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6b76 029871 store 1 ,mem_spp_state 
+0x6b77 029872 fetcht 1 ,mem_pn_dlci 
+0x6b78 029873 lshift2 temp ,temp 
+0x6b79 029874 or_into 3 ,temp 
+0x6b7a 029875 call rfcomm_send_modem_status_res 
+0x6b7b 029876 branch rfcomm_rx_process_end 
+:      029878 parse_dlci0_reconn_uih_ms_res:
+0x6b7c 029879 call get_rfcomm_param_modem_status 
+0x6b7d 029880 fetch 1 ,mem_ms_channel 
+0x6b7e 029881 fetcht 1 ,mem_remote_spp_channel 
+0x6b7f 029882 isub temp ,null 
+0x6b80 029883 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6b81 029884 branch assert 
+:      029885 parse_dlci0_reconn_uih_ms_res_spp:
+0x6b82 029886 fetch 1 ,mem_spp_state 
+0x6b83 029887 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6b84 029888 store 1 ,mem_spp_state 
+0x6b85 029889 branch rfcomm_rx_process_end 
+:      029891 parse_uih_reconn:
+0x6b86 029892 fetch 1 ,mem_current_channel 
+0x6b87 029893 fetcht 1 ,mem_remote_spp_channel 
+0x6b88 029894 isub temp ,null 
+0x6b89 029895 branch parse_uih_reconn_spp ,zero 
+0x6b8a 029896 branch assert 
+0x6b8b 029897 branch rfcomm_rx_process_end 
+:      029899 parse_uih_reconn_spp:
+0x6b8c 029900 fetch 1 ,mem_current_frame_type 
+0x6b8d 029901 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6b8e 029902 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b8f 029903 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b90 029904 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      029905 parse_uih_reconn_spp_ua:
+0x6b91 029906 fetch 1 ,mem_spp_state 
+0x6b92 029907 set1 rfcomm_channel_state_ua ,pdata 
+0x6b93 029908 store 1 ,mem_spp_state 
+0x6b94 029909 branch rfcomm_rx_process_end 
+:      029910 parse_uih_reconn_spp_sabm:
+0x6b95 029911 branch parse_uih_reconn_spp_sabm 
+:      029912 parse_uih_reconn_spp_disconn:
+0x6b96 029913 branch parse_uih_rp_spp_disconn 
+:      029914 rfcomm_rx_process_end:
+0x6b97 029915 rtn 
+:      029917 rfcomm_send_more_pkt:
+0x6b98 029918 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6b99 029919 rtn blank 
+0x6b9a 029920 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6b9b 029921 branch assert 
+:      029923 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6b9c 029924 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6b9d 029925 call l2cap_malloc_rfcomm_channel 
+0x6b9e 029926 arg spp_slave_channel ,temp 
+0x6b9f 029927 fetcht 1 ,mem_pn_dlci 
+0x6ba0 029928 lshift2 temp ,temp 
+:      029929 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6ba1 029930 or_into 0x03 ,temp 
+0x6ba2 029931 arg 0xaa ,rega 
+0x6ba3 029932 call rfcomm_send_modem_status_cmd 
+0x6ba4 029933 call l2cap_get_rfcomm_tx_buff 
+0x6ba5 029934 copy contw ,contr 
+0x6ba6 029935 ifetch 2 ,contr 
+0x6ba7 029936 branch assert ,blank 
+0x6ba8 029937 rtn 
+:      029939 rfcomm_send_sabm:
+0x6ba9 029940 call l2cap_get_rfcomm_tx_buff 
+0x6baa 029941 setarg 0x0004 
+0x6bab 029942 istore 2 ,contw 
+0x6bac 029943 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bad 029944 istore 2 ,contw 
+0x6bae 029945 fetch 1 ,mem_current_adss 
+0x6baf 029946 istore 1 ,contw 
+0x6bb0 029947 bpatchx patch35_2 ,mem_patch35 
+0x6bb1 029948 setarg 0x013f 
+0x6bb2 029949 istore 2 ,contw 
+0x6bb3 029950 fetch 1 ,mem_current_fcs 
+0x6bb4 029951 istore 1 ,contw 
+0x6bb5 029952 rtn 
+:      029953 rfcomm_send_ua:
+0x6bb6 029954 call l2cap_malloc_rfcomm_channel 
+0x6bb7 029955 call l2cap_get_rfcomm_tx_buff 
+0x6bb8 029956 setarg 0x0004 
+0x6bb9 029957 istore 2 ,contw 
+0x6bba 029958 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bbb 029959 istore 2 ,contw 
+0x6bbc 029960 fetch 1 ,mem_current_adss 
+0x6bbd 029961 istore 1 ,contw 
+0x6bbe 029962 bpatchx patch35_3 ,mem_patch35 
+0x6bbf 029963 setarg 0x0173 
+0x6bc0 029964 istore 2 ,contw 
+0x6bc1 029965 fetch 1 ,mem_current_fcs 
+0x6bc2 029966 istore 1 ,contw 
+0x6bc3 029967 rtn 
+:      029968 rfcomm_send_param_neg_cmd:
+0x6bc4 029969 call l2cap_get_rfcomm_tx_buff 
+0x6bc5 029970 setarg 0x000e 
+0x6bc6 029971 istore 2 ,contw 
+0x6bc7 029972 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bc8 029973 istore 2 ,contw 
+0x6bc9 029974 fetch 1 ,mem_rfcomm_initiator 
+0x6bca 029975 lshift pdata ,pdata 
+0x6bcb 029976 set1 0 ,pdata 
+0x6bcc 029977 istore 1 ,contw 
+0x6bcd 029978 bpatchx patch35_4 ,mem_patch35 
+0x6bce 029979 setarg 0x15ef 
+0x6bcf 029980 istore 2 ,contw 
+0x6bd0 029981 setarg 0x1183 
+0x6bd1 029982 istore 2 ,contw 
+0x6bd2 029983 copy temp ,pdata 
+0x6bd3 029984 istore 1 ,contw 
+0x6bd4 029985 setarg 0x0000f0 
+0x6bd5 029986 istore 3 ,contw 
+0x6bd6 029987 setarg rfcomm_max_frame_size 
+0x6bd7 029988 istore 2 ,contw 
+0x6bd8 029989 setarg 0 
+0x6bd9 029990 istore 1 ,contw 
+0x6bda 029991 setarg 0x01 
+0x6bdb 029992 istore 1 ,contw 
+0x6bdc 029993 call rfcomm_calculate_fcs_dlci0 
+0x6bdd 029994 istore 1 ,contw 
+0x6bde 029995 jam 0x10 ,mem_credit_given 
+0x6bdf 029996 rtn 
+:      029997 rfcomm_send_param_neg_res:
+0x6be0 029998 call l2cap_malloc_rfcomm_channel 
+0x6be1 029999 call l2cap_get_rfcomm_tx_buff 
+0x6be2 030000 setarg 0x000e 
+0x6be3 030001 istore 2 ,contw 
+0x6be4 030002 fetch 2 ,mem_rfcomm_remote_cid 
+0x6be5 030003 istore 2 ,contw 
+0x6be6 030004 fetch 1 ,mem_rfcomm_initiator 
+0x6be7 030005 lshift pdata ,pdata 
+0x6be8 030006 set1 0 ,pdata 
+0x6be9 030007 istore 1 ,contw 
+0x6bea 030008 bpatchx patch35_5 ,mem_patch35 
+0x6beb 030009 setarg 0x15ef 
+0x6bec 030010 istore 2 ,contw 
+0x6bed 030011 setarg 0x1181 
+0x6bee 030012 istore 2 ,contw 
+0x6bef 030013 fetch 1 ,mem_pn_dlci 
+0x6bf0 030014 istore 1 ,contw 
+0x6bf1 030015 setarg 0x0000e0 
+0x6bf2 030016 istore 3 ,contw 
+0x6bf3 030017 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6bf4 030018 istore 2 ,contw 
+0x6bf5 030019 setarg 0x00 
+0x6bf6 030020 istore 1 ,contw 
+0x6bf7 030021 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6bf8 030022 istore 1 ,contw 
+0x6bf9 030023 call rfcomm_calculate_fcs_dlci0 
+0x6bfa 030024 istore 1 ,contw 
+0x6bfb 030025 rtn 
+:      030026 rfcomm_send_modem_status_cmd:
+0x6bfc 030027 call l2cap_get_rfcomm_tx_buff 
+0x6bfd 030028 setarg 0x0008 
+0x6bfe 030029 istore 2 ,contw 
+0x6bff 030030 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c00 030031 istore 2 ,contw 
+0x6c01 030032 fetch 1 ,mem_rfcomm_initiator 
+0x6c02 030033 lshift pdata ,pdata 
+0x6c03 030034 set1 0 ,pdata 
+0x6c04 030035 istore 1 ,contw 
+0x6c05 030036 bpatchx patch35_6 ,mem_patch35 
+0x6c06 030037 setarg 0x09ef 
+0x6c07 030038 istore 2 ,contw 
+0x6c08 030039 setarg 0x05e3 
+0x6c09 030040 istore 2 ,contw 
+0x6c0a 030041 copy temp ,pdata 
+0x6c0b 030042 istore 1 ,contw 
+0x6c0c 030043 setarg 0x8d 
+0x6c0d 030044 istore 1 ,contw 
+0x6c0e 030045 call rfcomm_calculate_fcs_dlci0 
+0x6c0f 030046 istore 1 ,contw 
+0x6c10 030047 rtn 
+:      030049 rfcomm_send_modem_status_res:
+0x6c11 030050 call l2cap_malloc_rfcomm_channel 
+0x6c12 030051 call l2cap_get_rfcomm_tx_buff 
+0x6c13 030052 setarg 0x0008 
+0x6c14 030053 istore 2 ,contw 
+0x6c15 030054 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c16 030055 istore 2 ,contw 
+0x6c17 030056 copy temp ,timeup 
+0x6c18 030057 fetch 1 ,mem_rfcomm_initiator 
+0x6c19 030058 lshift pdata ,pdata 
+0x6c1a 030059 set1 0 ,pdata 
+0x6c1b 030060 istore 1 ,contw 
+0x6c1c 030061 bpatchx patch35_7 ,mem_patch35 
+0x6c1d 030062 setarg 0x09ef 
+0x6c1e 030063 istore 2 ,contw 
+0x6c1f 030064 setarg 0x05e1 
+0x6c20 030065 istore 2 ,contw 
+0x6c21 030066 copy timeup ,pdata 
+0x6c22 030067 istore 1 ,contw 
+0x6c23 030068 setarg 0x8d 
+0x6c24 030069 istore 1 ,contw 
+0x6c25 030070 call rfcomm_calculate_fcs_dlci0 
+0x6c26 030071 istore 1 ,contw 
+0x6c27 030072 rtn 
+:      030074 rfcomm_send_uih_without_payload:
+0x6c28 030075 bpatchx patch36_0 ,mem_patch36 
+0x6c29 030076 fetch 1 ,mem_credit_given 
+0x6c2a 030077 rtn blank 
+0x6c2b 030078 hfetch 2 ,core_uart_rxitems 
+0x6c2c 030079 nrtn blank 
+0x6c2d 030080 copy rega ,pdata 
+0x6c2e 030081 store 1 ,mem_pdatatemp + 1 
+0x6c2f 030082 storet 1 ,mem_pdatatemp 
+0x6c30 030083 call l2cap_malloc_is_fifo_full 
+0x6c31 030084 nrtn blank 
+0x6c32 030085 call l2cap_malloc_rfcomm_channel 
+0x6c33 030086 call l2cap_get_rfcomm_tx_buff 
+0x6c34 030087 setarg 0x05 
+0x6c35 030088 istore 2 ,contw 
+0x6c36 030089 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c37 030090 istore 2 ,contw 
+0x6c38 030091 fetch 1 ,mem_rfcomm_send_adss 
+0x6c39 030092 istore 1 ,contw 
+0x6c3a 030093 setarg 0x01ff 
+0x6c3b 030094 istore 2 ,contw 
+0x6c3c 030095 fetch 1 ,mem_credit_given 
+0x6c3d 030096 istore 1 ,contw 
+0x6c3e 030097 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c3f 030098 istore 1 ,contw 
+0x6c40 030099 jam 0 ,mem_credit_given 
+0x6c41 030100 rtn 
+:      030102 rfcomm_increase_credit_given:
+0x6c42 030103 bpatchx patch36_1 ,mem_patch36 
+0x6c43 030104 fetch 1 ,mem_credit_flag 
+0x6c44 030105 rtneq credit_enable 
+0x6c45 030106 fetch 2 ,mem_current_length 
+0x6c46 030107 rtn blank 
+0x6c47 030108 fetch 1 ,mem_credit_given 
+0x6c48 030109 increase 1 ,pdata 
+0x6c49 030110 store 1 ,mem_credit_given 
+0x6c4a 030111 rtn 
+:      030113 spp_process_rx_data:
+0x6c4b 030114 fetch 2 ,mem_cb_receive_spp_data 
+0x6c4c 030115 branch callback_func 
+:      030117 spp_tx_rfcomm_packet:
+0x6c4d 030118 bpatchx patch36_2 ,mem_patch36 
+0x6c4e 030120 fetch 1 ,mem_remote_credits 
+0x6c4f 030121 rtn blank 
+0x6c50 030122 increase -1 ,pdata 
+0x6c51 030123 store 1 ,mem_remote_credits 
+0x6c52 030124 fetch 2 ,mem_pn_max_frame_size 
+0x6c53 030125 fetcht 2 ,mem_current_packet_length 
+0x6c54 030126 isub temp ,null 
+0x6c55 030127 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6c56 030128 store 2 ,mem_current_packet_length 
+:      030129 ssp_tx_rfcomm_from_uart:
+0x6c57 030130 fetch 1 ,mem_credit_given 
+0x6c58 030131 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6c59 030132 jam 1 ,mem_rfcomm_send_offset 
+0x6c5a 030133 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c5b 030134 store 1 ,mem_rfcomm_send_fcs 
+0x6c5c 030135 setarg rsp_rx_uih_wdata 
+0x6c5d 030136 store 1 ,mem_rfcomm_send_frame_type 
+0x6c5e 030137 branch ssp_tx_rfcomm_from_uart_common 
+:      030138 ssp_tx_rfcomm_from_uart_without_credit:
+0x6c5f 030139 jam 0 ,mem_rfcomm_send_offset 
+0x6c60 030140 fetch 1 ,mem_hiufcs_spp 
+0x6c61 030141 store 1 ,mem_rfcomm_send_fcs 
+0x6c62 030142 setarg rsp_tx_uih 
+0x6c63 030143 store 1 ,mem_rfcomm_send_frame_type 
+:      030144 ssp_tx_rfcomm_from_uart_common:
+0x6c64 030145 bpatchx patch36_3 ,mem_patch36 
+0x6c65 030146 fetch 2 ,mem_current_packet_length 
+0x6c66 030147 sub pdata ,127 ,null 
+0x6c67 030148 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6c68 030149 fetch 1 ,mem_rfcomm_send_offset 
+0x6c69 030150 increase 1 ,pdata 
+0x6c6a 030151 store 1 ,mem_rfcomm_send_offset 
+:      030152 ssp_tx_rfcomm_from_uart_common0:
+0x6c6b 030153 call get_rfcomm_snd_adss 
+0x6c6c 030154 fetch 2 ,mem_current_packet_length 
+0x6c6d 030155 increase 8 ,pdata 
+0x6c6e 030156 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c6f 030157 iadd temp ,rega 
+0x6c70 030159 call l2cap_malloc 
+0x6c71 030160 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c72 030161 increase 4 ,pdata 
+0x6c73 030162 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6c74 030163 copy pdata ,contw 
+0x6c75 030164 fetch 1 ,mem_rfcomm_send_adss 
+0x6c76 030165 istore 1 ,contw 
+0x6c77 030166 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6c78 030167 istore 1 ,contw 
+0x6c79 030168 call ssp_tx_write_length 
+0x6c7a 030169 call ssp_tx_write_given_credit 
+0x6c7b 030170 bpatchx patch36_4 ,mem_patch36 
+0x6c7c 030171 fetch 2 ,mem_nl_rx_data_src 
+0x6c7d 030172 copy pdata ,contru 
+0x6c7e 030173 fetch 2 ,mem_current_packet_length 
+0x6c7f 030174 copy pdata ,loopcnt 
+0x6c80 030175 call uart_copy_rx_bytes_fast 
+0x6c81 030176 copy contw ,temp 
+0x6c82 030177 copy contru ,pdata 
+0x6c83 030178 store 2 ,mem_nl_rx_data_src 
+0x6c84 030179 copy temp ,contw 
+0x6c85 030180 fetch 1 ,mem_rfcomm_send_fcs 
+0x6c86 030181 istore 1 ,contw 
+0x6c87 030182 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c88 030183 copy pdata ,contw 
+0x6c89 030184 fetch 2 ,mem_current_packet_length 
+0x6c8a 030185 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c8b 030186 iadd temp ,pdata 
+0x6c8c 030187 increase 4 ,pdata 
+0x6c8d 030188 istore 2 ,contw 
+0x6c8e 030189 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c8f 030190 istore 2 ,contw 
+0x6c90 030191 jam 0 ,mem_credit_given 
+0x6c91 030192 fetch 2 ,mem_nl_rx_len_all 
+0x6c92 030193 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6c93 030194 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6c94 030195 rtn 
+:      030197 ssp_tx_write_length:
+0x6c95 030198 bpatchx patch36_5 ,mem_patch36 
+0x6c96 030199 fetch 2 ,mem_current_packet_length 
+0x6c97 030200 sub pdata ,0x7f ,null 
+0x6c98 030201 nbranch ssp_tx_write_long_packet ,positive 
+0x6c99 030202 lshift pdata ,pdata 
+0x6c9a 030203 set1 0 ,pdata 
+0x6c9b 030204 istore 1 ,contw 
+0x6c9c 030205 rtn 
+:      030206 ssp_tx_write_long_packet:
+0x6c9d 030207 fetch 2 ,mem_current_packet_length 
+0x6c9e 030208 rshift3 pdata ,pdata 
+0x6c9f 030209 rshift4 pdata ,temp 
+0x6ca0 030210 and_into 0x7f ,pdata 
+0x6ca1 030211 lshift pdata ,pdata 
+0x6ca2 030212 set0 0 ,pdata 
+0x6ca3 030213 istore 1 ,contw 
+0x6ca4 030214 istoret 1 ,contw 
+0x6ca5 030215 rtn 
+:      030216 ssp_tx_write_given_credit:
+0x6ca6 030217 fetch 1 ,mem_credit_given 
+0x6ca7 030218 rtn blank 
+0x6ca8 030219 istore 1 ,contw 
+0x6ca9 030220 rtn 
+:      030225 scheduler_process:
+0x6caa 030226 bpatchx patch36_6 ,mem_patch36 
+0x6cab 030227 call check_51cmd 
+0x6cac 030228 call app_process_bb_event 
+0x6cad 030229 call process_conn_sm 
+0x6cae 030231 bpatchx patch36_7 ,mem_patch36 
+0x6caf 030232 call sp_calc_sequence 
+0x6cb0 030233 call simple_pairing_sequence 
+0x6cb1 030234 call master_simple_paring_sequence 
+0x6cb2 030237 call l2cap_malloc_is_fifo_full 
+0x6cb3 030238 nrtn blank 
+0x6cb4 030240 call l2cap_call_proc_sigal_pending 
+0x6cb5 030241 call l2cap_malloc_is_fifo_full 
+0x6cb6 030242 nrtn blank 
+0x6cb7 030243 bpatchx patch37_0 ,mem_patch37 
+0x6cb8 030245 call process_upper_sm 
+0x6cb9 030246 call l2cap_send_config_req 
+0x6cba 030247 call rfcomm_send_more_pkt 
+:      030248 scheduler_process0:
+0x6cbb 030249 call scheduler_tx_disconnect_hid 
+0x6cbc 030250 bpatchx patch37_1 ,mem_patch37 
+0x6cbd 030253 branch app_process_bt 
+:      030255 scheduler_tx_disconnect_hid:
+0x6cbe 030256 fetch 1 ,mem_control_tasks 
+0x6cbf 030257 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6cc0 030258 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6cc1 030259 rtn 
+:      030261 scheduler_tx_l2cap_pkt:
+0x6cc2 030262 bpatchx patch37_2 ,mem_patch37 
+0x6cc3 030263 call l2cap_malloc_is_fifo_empty 
+0x6cc4 030264 rtn blank 
+0x6cc5 030265 fetch 1 ,mem_op 
+0x6cc6 030266 rtnbit1 op_txl2cap 
+0x6cc7 030267 call l2cap_malloc_fifo_out 
+0x6cc8 030268 store 2 ,mem_txptr 
+0x6cc9 030269 copy pdata ,contr 
+0x6cca 030270 ifetch 2 ,contr 
+0x6ccb 030271 increase 4 ,pdata 
+0x6ccc 030272 store 2 ,mem_tx_len 
+0x6ccd 030273 jam 6 ,mem_tx_lch 
+0x6cce 030274 bpatchx patch37_3 ,mem_patch37 
+0x6ccf 030275 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6cd0 030276 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6cd1 030277 fetch 1 ,mem_op 
+0x6cd2 030278 rtnbit0 op_pkt_comp 
+0x6cd3 030279 set0 op_pkt_comp ,pdata 
+0x6cd4 030280 store 1 ,mem_op 
+0x6cd5 030281 jam 5 ,mem_tx_lch 
+0x6cd6 030282 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6cd7 030283 fetch 2 ,mem_txptr 
+0x6cd8 030284 iadd temp ,pdata 
+0x6cd9 030285 store 2 ,mem_txptr 
+0x6cda 030286 fetch 2 ,mem_tx_len 
+0x6cdb 030287 isub temp ,pdata 
+0x6cdc 030288 store 2 ,mem_tx_len 
+:      030289 scheduler_tx_l2cap_start_pkt:
+0x6cdd 030290 bpatchx patch37_4 ,mem_patch37 
+0x6cde 030291 fetch 2 ,mem_tx_len 
+0x6cdf 030292 branch assert ,blank 
+0x6ce0 030293 arg l2cap_max_pkt_len ,temp 
+0x6ce1 030294 isub temp ,pdata 
+0x6ce2 030295 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ce3 030296 bpatchx patch37_5 ,mem_patch37 
+0x6ce4 030297 storet 2 ,mem_tx_len 
+0x6ce5 030298 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ce6 030299 iadd temp ,pdata 
+0x6ce7 030300 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ce8 030301 branch scheduler_tx_l2cap_pkt_end 
+:      030302 scheduler_tx_l2cap_last_pkt:
+0x6ce9 030303 setarg 0 
+0x6cea 030304 store 2 ,mem_l2cap_tx_multi_offset 
+:      030305 scheduler_tx_l2cap_pkt_end:
+0x6ceb 030306 fetch 1 ,mem_op 
+0x6cec 030307 set1 op_txl2cap ,pdata 
+0x6ced 030308 store 1 ,mem_op 
+0x6cee 030309 rtn 
+:      030311 scheduler_start_upper_sm:
+0x6cef 030312 fetch 1 ,mem_ui_profile_supported 
+0x6cf0 030313 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6cf1 030314 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6cf2 030315 rtn 
+:      030316 scheduler_start_upper_sm_hid:
+0x6cf3 030317 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6cf4 030318 rtn 
+:      030320 process_upper_sm:
+0x6cf5 030321 fetch 1 ,memui_reconnect_mode 
+0x6cf6 030322 nbranch process_upper_sm_reconn ,blank 
+:      030323 process_upper_sm_remote_page:
+0x6cf7 030324 fetch 1 ,mem_upper_sm_remote_page 
+0x6cf8 030326 rtn blank 
+0x6cf9 030328 jam 0 ,mem_upper_sm_remote_page 
+:      030329 process_upper_sm_rp_wait:
+0x6cfa 030330 rtn 
+:      030333 process_upper_sm_reconn:
+0x6cfb 030334 bpatchx patch37_6 ,mem_patch37 
+0x6cfc 030335 fetch 1 ,mem_upper_sm_reconn 
+0x6cfd 030336 rtn blank 
+0x6cfe 030337 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6cff 030338 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6d00 030339 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6d01 030340 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6d02 030341 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6d03 030342 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6d04 030343 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6d05 030344 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6d06 030345 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6d07 030346 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6d08 030347 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6d09 030348 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6d0a 030349 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6d0b 030350 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6d0c 030351 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6d0d 030352 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6d0e 030353 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6d0f 030354 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6d10 030355 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6d11 030356 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6d12 030357 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6d13 030358 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6d14 030359 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6d15 030360 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6d16 030361 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6d17 030362 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6d18 030363 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6d19 030364 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      030365 process_upper_sm_reconn_wait:
+0x6d1a 030366 rtn 
+:      030367 process_upper_sm_reconn_sdp_conn:
+0x6d1b 030368 call upper_sm_send_sdp_conn 
+0x6d1c 030369 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6d1d 030370 fetch 1 ,mem_sdp_state 
+0x6d1e 030371 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d1f 030372 store 1 ,mem_sdp_state 
+0x6d20 030373 rtn 
+:      030374 process_upper_sm_reconn_sdp_cfg:
+0x6d21 030375 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d22 030376 fetch 1 ,mem_sdp_state 
+0x6d23 030377 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6d24 030378 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d25 030379 call upper_sm_send_sdp_cfg 
+0x6d26 030380 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d27 030381 fetch 1 ,mem_sdp_state 
+0x6d28 030382 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d29 030383 store 1 ,mem_sdp_state 
+0x6d2a 030384 rtn 
+:      030385 process_upper_sm_reconn_ss_spp:
+0x6d2b 030386 call l2cap_malloc_is_fifo_empty 
+0x6d2c 030387 nrtn blank 
+0x6d2d 030388 call upper_sm_send_ss_spp 
+0x6d2e 030389 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6d2f 030390 rtn 
+:      030391 process_upper_sm_reconn_sdp_disconn:
+0x6d30 030392 call upper_sm_send_sdp_disconn 
+0x6d31 030393 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6d32 030394 rtn 
+:      030395 process_upper_sm_reconn_hid_ctrl_conn:
+0x6d33 030396 call upper_sm_send_hid_ctrl_conn 
+0x6d34 030397 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6d35 030398 fetch 1 ,mem_hid_control_state 
+0x6d36 030399 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d37 030400 store 1 ,mem_hid_control_state 
+0x6d38 030401 rtn 
+:      030402 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6d39 030403 call upper_sm_send_hid_ctrl_cfg 
+0x6d3a 030404 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6d3b 030405 fetch 1 ,mem_hid_control_state 
+0x6d3c 030406 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d3d 030407 store 1 ,mem_hid_control_state 
+0x6d3e 030408 rtn 
+:      030409 process_upper_sm_reconn_hid_int_conn:
+0x6d3f 030410 call upper_sm_send_hid_int_conn 
+0x6d40 030411 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6d41 030412 fetch 1 ,mem_hid_interrupt_state 
+0x6d42 030413 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d43 030414 store 1 ,mem_hid_interrupt_state 
+0x6d44 030415 rtn 
+:      030416 process_upper_sm_reconn_hid_int_cfg:
+0x6d45 030417 call upper_sm_send_hid_int_cfg 
+0x6d46 030418 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6d47 030419 fetch 1 ,mem_hid_interrupt_state 
+0x6d48 030420 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d49 030421 store 1 ,mem_hid_interrupt_state 
+0x6d4a 030422 rtn 
+:      030423 process_upper_sm_reconn_rfcomm_conn:
+0x6d4b 030424 call upper_sm_send_rfcomm_conn 
+0x6d4c 030425 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6d4d 030426 fetch 1 ,mem_rfcomm_state 
+0x6d4e 030427 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d4f 030428 store 1 ,mem_rfcomm_state 
+0x6d50 030429 rtn 
+:      030430 process_upper_sm_reconn_rfcomm_cfg:
+0x6d51 030431 call upper_sm_send_rfcomm_cfg 
+0x6d52 030432 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6d53 030433 fetch 1 ,mem_rfcomm_state 
+0x6d54 030434 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d55 030435 store 1 ,mem_rfcomm_state 
+0x6d56 030436 rtn 
+:      030437 process_upper_sm_reconn_rfcomm_sabm:
+0x6d57 030438 call upper_sm_send_rfcomm_sabm 
+0x6d58 030439 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6d59 030440 fetch 1 ,mem_rfcomm_state 
+0x6d5a 030441 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6d5b 030442 store 1 ,mem_rfcomm_state 
+0x6d5c 030443 rtn 
+:      030444 process_upper_sm_reconn_spp_cmd_pn:
+0x6d5d 030445 call upper_sm_send_spp_cmd_pn 
+0x6d5e 030446 fetch 1 ,mem_spp_state 
+0x6d5f 030447 set1 rfcomm_channel_state_pn_cmd 
+0x6d60 030448 store 1 ,mem_spp_state 
+0x6d61 030449 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6d62 030450 rtn 
+:      030451 process_upper_sm_reconn_spp_sabm:
+0x6d63 030452 call upper_sm_send_spp_sabm 
+0x6d64 030453 fetch 1 ,mem_spp_state 
+0x6d65 030454 set1 rfcomm_channel_state_sabm 
+0x6d66 030455 store 1 ,mem_spp_state 
+0x6d67 030456 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6d68 030457 fetch 1 ,mem_remote_spp_channel 
+0x6d69 030458 lshift3 pdata ,pdata 
+0x6d6a 030459 or_into 3 ,pdata 
+0x6d6b 030460 arg mem_hiufcs_spp ,temp 
+0x6d6c 030461 storet 2 ,mem_contw_temp 
+0x6d6d 030462 branch rfcomm_save_fcs_uih 
+:      030463 process_upper_sm_reconn_spp_cmd_ms:
+0x6d6e 030464 call upper_sm_send_spp_cmd_ms 
+0x6d6f 030465 fetch 1 ,mem_spp_state 
+0x6d70 030466 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6d71 030467 store 1 ,mem_spp_state 
+0x6d72 030468 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6d73 030469 rtn 
+:      030471 process_upper_sm_reconn_sdp_conn_wait:
+0x6d74 030472 fetch 1 ,mem_sdp_state 
+0x6d75 030473 rtnbit0 l2cap_channel_state_conn_res 
+0x6d76 030474 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d77 030475 branch process_upper_sm_reconn 
+:      030476 process_upper_sm_reconn_sdp_cfg_wait:
+0x6d78 030477 fetch 1 ,mem_sdp_state 
+0x6d79 030478 rtnne l2cap_channel_setup_complete 
+0x6d7a 030479 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      030480 process_upper_sm_reconn_ss_spp_wait:
+0x6d7b 030481 fetch 1 ,mem_message_to_uppersm 
+0x6d7c 030482 rtnne recieve_ss_reasult_hf 
+0x6d7d 030483 jam 0 ,mem_message_to_uppersm 
+0x6d7e 030484 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6d7f 030485 branch process_upper_sm_reconn 
+:      030486 process_upper_sm_reconn_sdp_disconn_wait:
+0x6d80 030487 fetch 1 ,mem_sdp_state 
+0x6d81 030488 nrtn blank 
+0x6d82 030489 fetch 1 ,mem_ui_profile_supported 
+0x6d83 030490 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6d84 030491 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d85 030492 branch process_upper_sm_reconn_termination 
+:      030493 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6d86 030494 fetch 1 ,mem_hid_control_state 
+0x6d87 030495 rtnbit0 l2cap_channel_state_conn_res 
+0x6d88 030496 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6d89 030497 branch process_upper_sm_reconn 
+:      030498 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6d8a 030499 fetch 1 ,mem_hid_control_state 
+0x6d8b 030500 rtnne l2cap_channel_setup_complete 
+0x6d8c 030501 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6d8d 030502 branch process_upper_sm_reconn 
+:      030503 process_upper_sm_reconn_hid_int_conn_wait:
+0x6d8e 030504 fetch 1 ,mem_hid_interrupt_state 
+0x6d8f 030505 rtnbit0 l2cap_channel_state_conn_res 
+0x6d90 030506 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6d91 030507 branch process_upper_sm_reconn 
+:      030508 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6d92 030509 fetch 1 ,mem_hid_interrupt_state 
+0x6d93 030510 rtnne l2cap_channel_setup_complete 
+0x6d94 030511 fetch 1 ,mem_ui_profile_supported 
+0x6d95 030512 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d96 030513 branch process_upper_sm_reconn_termination 
+:      030514 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6d97 030515 fetch 1 ,mem_rfcomm_state 
+0x6d98 030516 rtnbit0 l2cap_channel_state_conn_res 
+0x6d99 030517 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6d9a 030518 branch process_upper_sm_reconn 
+:      030519 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6d9b 030520 fetch 1 ,mem_rfcomm_state 
+0x6d9c 030521 rtnne l2cap_channel_setup_complete 
+0x6d9d 030522 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6d9e 030523 branch process_upper_sm_reconn 
+:      030524 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6d9f 030525 fetch 1 ,mem_rfcomm_state 
+0x6da0 030526 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6da1 030527 fetch 1 ,mem_ui_profile_supported 
+0x6da2 030528 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6da3 030529 branch process_upper_sm_reconn_termination 
+:      030530 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6da4 030531 fetch 1 ,mem_spp_state 
+0x6da5 030532 rtnbit0 rfcomm_channel_state_pn_res 
+0x6da6 030533 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6da7 030534 branch process_upper_sm_reconn 
+:      030535 process_upper_sm_reconn_spp_sabm_wait:
+0x6da8 030536 fetch 1 ,mem_spp_state 
+0x6da9 030537 rtnbit0 rfcomm_channel_state_ua 
+0x6daa 030538 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6dab 030539 branch process_upper_sm_reconn 
+:      030540 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6dac 030541 fetch 1 ,mem_spp_state 
+0x6dad 030542 rtnne rfcomm_channel_setup_complete 
+0x6dae 030543 branch process_upper_sm_reconn_termination 
+:      030545 process_upper_sm_reconn_setup_hid:
+0x6daf 030546 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6db0 030547 branch process_upper_sm_reconn 
+:      030549 process_upper_sm_reconn_setup_rfcomm:
+0x6db1 030550 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6db2 030551 branch process_upper_sm_reconn 
+:      030552 process_upper_sm_reconn_setup_spp:
+0x6db3 030553 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6db4 030554 branch process_upper_sm_reconn 
+:      030558 process_upper_sm_reconn_termination:
+0x6db5 030559 jam 0 ,mem_upper_sm_reconn 
+0x6db6 030560 rtn 
+:      030561 upper_sm_send_sdp_conn:
+0x6db7 030562 bpatchx patch37_7 ,mem_patch37 
+0x6db8 030563 call l2cap_malloc_signal_channel 
+0x6db9 030564 setarg psm_sdp 
+0x6dba 030565 copy pdata ,temp 
+0x6dbb 030566 setarg l2cap_sdp_channel 
+0x6dbc 030567 copy pdata ,timeup 
+0x6dbd 030568 branch ml2cap_send_signal_connect_req 
+:      030570 upper_sm_send_sdp_cfg:
+0x6dbe 030571 bpatchx patch38_0 ,mem_patch38 
+0x6dbf 030572 call l2cap_malloc_signal_channel 
+0x6dc0 030573 fetch 2 ,mem_sdp_remote_cid 
+0x6dc1 030574 copy pdata ,temp 
+0x6dc2 030575 branch ml2cap_send_signal_config_req 
+:      030577 upper_sm_send_sdp_disconn:
+0x6dc3 030578 bpatchx patch38_1 ,mem_patch38 
+0x6dc4 030579 call l2cap_malloc_signal_channel 
+0x6dc5 030580 fetch 2 ,mem_sdp_remote_cid 
+0x6dc6 030581 copy pdata ,temp 
+0x6dc7 030582 arg l2cap_sdp_channel ,timeup 
+0x6dc8 030583 call ml2cap_send_signal_disconn_req 
+0x6dc9 030584 fetch 1 ,mem_sdp_state 
+0x6dca 030585 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6dcb 030586 store 1 ,mem_sdp_state 
+0x6dcc 030587 rtn 
+:      030589 upper_sm_send_ss_spp:
+0x6dcd 030590 bpatchx patch38_2 ,mem_patch38 
+0x6dce 030591 call l2cap_malloc_sdp_channel 
+0x6dcf 030592 call sdp_send_spp_request 
+0x6dd0 030593 branch msdp_send_req_done 
+:      030595 upper_sm_send_rfcomm_conn:
+0x6dd1 030596 bpatchx patch38_3 ,mem_patch38 
+0x6dd2 030597 call l2cap_malloc_signal_channel 
+0x6dd3 030598 setarg psm_rfcomm 
+0x6dd4 030599 copy pdata ,temp 
+0x6dd5 030600 setarg l2cap_rfcomm_channel 
+0x6dd6 030601 copy pdata ,timeup 
+0x6dd7 030602 branch ml2cap_send_signal_connect_req 
+:      030604 upper_sm_send_rfcomm_cfg:
+0x6dd8 030605 bpatchx patch38_4 ,mem_patch38 
+0x6dd9 030606 call l2cap_malloc_signal_channel 
+0x6dda 030607 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ddb 030608 copy pdata ,temp 
+0x6ddc 030609 branch ml2cap_send_signal_config_req 
+:      030611 upper_sm_send_hid_ctrl_conn:
+0x6ddd 030612 bpatchx patch38_5 ,mem_patch38 
+0x6dde 030613 call l2cap_malloc_signal_channel 
+0x6ddf 030614 setarg psm_hid_control 
+0x6de0 030615 copy pdata ,temp 
+0x6de1 030616 setarg l2cap_hid_control_channel 
+0x6de2 030617 copy pdata ,timeup 
+0x6de3 030618 branch ml2cap_send_signal_connect_req 
+:      030620 upper_sm_send_hid_ctrl_cfg:
+0x6de4 030621 bpatchx patch38_6 ,mem_patch38 
+0x6de5 030622 call l2cap_malloc_signal_channel 
+0x6de6 030623 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6de7 030624 copy pdata ,temp 
+0x6de8 030625 branch ml2cap_send_signal_config_req 
+:      030627 upper_sm_send_hid_int_conn:
+0x6de9 030628 bpatchx patch38_7 ,mem_patch38 
+0x6dea 030629 call l2cap_malloc_signal_channel 
+0x6deb 030630 setarg psm_hid_interrupt 
+0x6dec 030631 copy pdata ,temp 
+0x6ded 030632 setarg l2cap_hid_interrupt_channel 
+0x6dee 030633 copy pdata ,timeup 
+0x6def 030634 branch ml2cap_send_signal_connect_req 
+:      030636 upper_sm_send_hid_int_cfg:
+0x6df0 030637 bpatchx patch39_0 ,mem_patch39 
+0x6df1 030638 call l2cap_malloc_signal_channel 
+0x6df2 030639 fetch 2 ,mem_hid_int_remote_cid 
+0x6df3 030640 copy pdata ,temp 
+0x6df4 030641 branch ml2cap_send_signal_config_req 
+:      030643 upper_sm_send_rfcomm_sabm:
+0x6df5 030644 bpatchx patch39_1 ,mem_patch39 
+0x6df6 030645 call l2cap_malloc_rfcomm_channel 
+0x6df7 030647 jam 3 ,mem_current_adss 
+0x6df8 030648 jam 0x1c ,mem_current_fcs 
+0x6df9 030649 call rfcomm_send_sabm 
+0x6dfa 030650 jam 1 ,mem_rfcomm_initiator 
+0x6dfb 030651 rtn 
+:      030653 upper_sm_send_spp_cmd_pn:
+0x6dfc 030654 bpatchx patch39_2 ,mem_patch39 
+0x6dfd 030655 call l2cap_malloc_rfcomm_channel 
+0x6dfe 030656 fetcht 1 ,mem_remote_spp_channel 
+0x6dff 030657 call channel_to_dlci 
+0x6e00 030658 storet 1 ,mem_pn_dlci 
+0x6e01 030659 branch rfcomm_send_param_neg_cmd 
+:      030661 upper_sm_send_spp_sabm:
+0x6e02 030662 bpatchx patch39_3 ,mem_patch39 
+0x6e03 030663 call l2cap_malloc_rfcomm_channel 
+0x6e04 030664 fetcht 1 ,mem_pn_dlci 
+0x6e05 030665 call dlci_to_address_cmd 
+0x6e06 030666 call rfcomm_calculate_fcs_sabm 
+0x6e07 030667 store 1 ,mem_current_fcs 
+0x6e08 030668 fetcht 1 ,mem_pn_dlci 
+0x6e09 030669 call dlci_to_address_cmd 
+0x6e0a 030670 storet 1 ,mem_current_adss 
+0x6e0b 030671 branch rfcomm_send_sabm 
+:      030673 upper_sm_send_spp_cmd_ms:
+0x6e0c 030674 bpatchx patch39_4 ,mem_patch39 
+0x6e0d 030675 call l2cap_malloc_rfcomm_channel 
+0x6e0e 030676 fetcht 1 ,mem_pn_dlci 
+0x6e0f 030677 call dlci_to_address_cmd 
+0x6e10 030678 branch rfcomm_send_modem_status_cmd 
+:      030691 sdp_process:
+0x6e11 030692 bpatchx patch39_5 ,mem_patch39 
+0x6e12 030693 fetch 2 ,mem_l2cap_payload_ptr 
+0x6e13 030694 iforce contr 
+0x6e14 030697 ifetch 1 ,contr 
+0x6e15 030698 copy pdata ,regb 
+0x6e16 030699 store 1 ,mem_sdp_pduid 
+0x6e17 030700 ifetch 2 ,contr 
+0x6e18 030701 store 2 ,mem_sdp_transactionid 
+0x6e19 030702 ifetch 1 ,contr 
+0x6e1a 030703 lshift8 pdata ,timeup 
+0x6e1b 030704 ifetch 1 ,contr 
+0x6e1c 030705 iadd timeup ,timeup 
+0x6e1d 030706 bpatchx patch39_6 ,mem_patch39 
+0x6e1e 030707 copy contr ,temp 
+0x6e1f 030708 arg 4 ,loopcnt 
+0x6e20 030709 arg mem_sdp_handle_list ,contw 
+0x6e21 030710 call memset0 
+0x6e22 030711 copy temp ,contr 
+0x6e23 030712 deposit regb 
+0x6e24 030713 beq sdp_error_res ,sdp_process_error_res 
+0x6e25 030714 beq sdp_search_req ,sdp_process_ss_req 
+0x6e26 030715 beq sdp_search_res ,sdp_process_ss_res 
+0x6e27 030716 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6e28 030717 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6e29 030718 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6e2a 030719 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6e2b 030720 branch sdp_insufficient_resource 
+:      030731 sdp_process_ss_req:
+0x6e2c 030732 bpatchx patch39_7 ,mem_patch39 
+0x6e2d 030733 call ask_serviceclassid 
+0x6e2e 030734 compare 1 ,temp ,0xff 
+0x6e2f 030735 branch ss_empty_rsp ,true 
+0x6e30 030736 compare 0xff ,temp ,0xff 
+0x6e31 030737 branch sdp_invalid_request_syntax ,true 
+0x6e32 030739 ifetch 2 ,contr 
+0x6e33 030740 store 2 ,mem_sdp_record_maxcnt 
+0x6e34 030741 increase -2 ,timeup 
+0x6e35 030743 increase -1 ,timeup 
+0x6e36 030744 nbranch sdp_invalid_pdu_size ,zero 
+0x6e37 030745 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6e38 030746 ifetch 2 ,timeup 
+0x6e39 030747 rtn blank 
+0x6e3a 030748 call search_all_uuid 
+0x6e3b 030749 call l2cap_get_sdp_tx_payload 
+0x6e3c 030750 force 3 ,pdata 
+0x6e3d 030751 istore 1 ,contw 
+0x6e3e 030752 fetch 2 ,mem_sdp_transactionid 
+0x6e3f 030753 istore 2 ,contw 
+0x6e40 030754 lshift2 queue ,pdata 
+0x6e41 030755 add pdata ,5 ,pdata 
+0x6e42 030756 add pdata ,5 ,regc 
+0x6e43 030757 byteswap pdata ,pdata 
+0x6e44 030758 istore 2 ,contw 
+0x6e45 030759 deposit queue 
+0x6e46 030760 byteswap pdata ,pdata 
+0x6e47 030761 istore 2 ,contw 
+0x6e48 030762 istore 2 ,contw 
+0x6e49 030763 arg mem_sdp_handle_list ,contr 
+0x6e4a 030764 copy queue ,loopcnt 
+0x6e4b 030765 branch ss_req_blank ,zero 
+:      030766 ss_req_loop:
+0x6e4c 030767 ifetch 4 ,contr 
+0x6e4d 030768 istore 4 ,contw 
+0x6e4e 030769 loop ss_req_loop 
+:      030770 ss_req_blank:
+0x6e4f 030771 force 0 ,pdata 
+0x6e50 030772 istore 1 ,contw 
+0x6e51 030773 deposit regc 
+0x6e52 030774 store 2 ,mem_sdp_tx_pkt_length 
+0x6e53 030776 rtn 
+:      030787 sdp_process_sa_req:
+0x6e54 030788 bpatchx patch3a_0 ,mem_patch3a 
+0x6e55 030789 ifetch 4 ,contr 
+0x6e56 030790 store 4 ,mem_sdp_record_handle 
+0x6e57 030791 increase -4 ,timeup 
+0x6e58 030792 call sdp_store_maxbyte 
+0x6e59 030793 store 2 ,mem_sdp_attribute_maxbyte 
+0x6e5a 030794 increase -2 ,timeup 
+0x6e5b 030795 call dataelementtype6 
+0x6e5c 030796 branch sdp_invalid_request_syntax ,zero 
+0x6e5d 030797 compare 5 ,rega ,0xff 
+0x6e5e 030799 branch sa_judge_wholerange ,true 
+:      030800 sa_isnot_wholerange:
+0x6e5f 030801 arg mem_sdp_attrib_list ,contw 
+0x6e60 030802 force 0 ,queue 
+0x6e61 030803 branch sa_req_loop 
+:      030804 sa_judge_wholerange:
+0x6e62 030805 ifetch 1 ,contr 
+0x6e63 030806 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6e64 030807 ifetch 2 ,contr 
+0x6e65 030808 nbranch sa_judge_wholerange_false1 ,blank 
+0x6e66 030809 ifetch 1 ,contr 
+0x6e67 030810 bne 0xff ,sa_judge_wholerange_false2 
+0x6e68 030811 ifetch 1 ,contr 
+0x6e69 030812 bne 0xff ,sa_judge_wholerange_false3 
+0x6e6a 030813 branch sa_req_all 
+:      030814 sa_judge_wholerange_false3:
+0x6e6b 030815 increase -5 ,contr 
+0x6e6c 030816 branch sa_isnot_wholerange 
+:      030817 sa_judge_wholerange_false2:
+0x6e6d 030818 increase -4 ,contr 
+0x6e6e 030819 branch sa_isnot_wholerange 
+:      030820 sa_judge_wholerange_false1:
+0x6e6f 030821 increase -3 ,contr 
+0x6e70 030822 branch sa_isnot_wholerange 
+:      030823 sa_req_loop:
+0x6e71 030824 ifetch 1 ,contr 
+0x6e72 030825 beq sdp_attribute_id ,sa_req_one_id 
+0x6e73 030826 beq sdp_attribute_range ,sa_req_range 
+:      030827 sa_req_range:
+0x6e74 030828 ifetch 2 ,contr 
+0x6e75 030829 istore 2 ,contw 
+0x6e76 030830 increase 1 ,queue 
+0x6e77 030831 byteswap pdata ,regb 
+0x6e78 030832 ifetch 2 ,contr 
+0x6e79 030833 byteswap pdata ,pdata 
+:      030834 sa_req_range_id_increase:
+0x6e7a 030835 increase 1 ,regb 
+0x6e7b 030836 isub regb ,null 
+0x6e7c 030837 nbranch sa_req_range_id_finish ,positive 
+0x6e7d 030838 copy pdata ,regc 
+0x6e7e 030839 byteswap regb ,pdata 
+0x6e7f 030840 istore 2 ,contw 
+0x6e80 030841 increase 1 ,queue 
+0x6e81 030842 copy regc ,pdata 
+0x6e82 030843 branch sa_req_range_id_increase 
+:      030844 sa_req_range_id_finish:
+0x6e83 030845 increase -5 ,timeup 
+0x6e84 030846 increase -5 ,rega 
+0x6e85 030847 branch sa_req_check_next_id 
+:      030848 sa_req_one_id:
+0x6e86 030849 ifetch 2 ,contr 
+0x6e87 030850 istore 2 ,contw 
+0x6e88 030851 increase 1 ,queue 
+0x6e89 030852 increase -3 ,timeup 
+0x6e8a 030853 increase -3 ,rega 
+:      030854 sa_req_check_next_id:
+0x6e8b 030855 nbranch sdp_invalid_request_syntax ,positive 
+0x6e8c 030856 nbranch sa_req_loop ,zero 
+0x6e8d 030857 increase -1 ,timeup 
+0x6e8e 030858 nbranch sdp_invalid_request_syntax ,zero 
+0x6e8f 030860 call l2cap_get_sdp_tx_payload 
+0x6e90 030861 increase 10 ,contw 
+0x6e91 030862 arg mem_sdp_attrib_list ,rega 
+:      030863 sa_req_handle_attributelist_next:
+0x6e92 030864 copy queue ,pdata 
+0x6e93 030865 branch sa_req_handle_attributelist_end ,blank 
+0x6e94 030866 ifetch 2 ,rega 
+0x6e95 030867 branch sa_req_handle_attributelist_end ,blank 
+0x6e96 030868 iforce regb 
+0x6e97 030869 fetch 4 ,mem_sdp_record_handle 
+0x6e98 030870 iforce temp 
+0x6e99 030871 call search_handle_attrib 
+0x6e9a 030872 copy contr ,pdata 
+0x6e9b 030873 branch sa_req_handle_attributelist_notfound ,blank 
+0x6e9c 030874 increase -3 ,contr 
+0x6e9d 030875 ifetch 3 ,contr 
+0x6e9e 030876 istore 3 ,contw 
+0x6e9f 030877 call sdp_data_len 
+0x6ea0 030878 iforce loopcnt 
+0x6ea1 030879 call memcpy 
+:      030880 sa_req_handle_attributelist_notfound:
+0x6ea2 030881 increase 2 ,rega 
+0x6ea3 030882 increase -1 ,queue 
+0x6ea4 030883 branch sa_req_handle_attributelist_next 
+:      030885 sa_req_handle_attributelist_end:
+0x6ea5 030886 arg sdp_attribute_res ,rega 
+0x6ea6 030887 call ssa_req_range_lastfreg_common 
+0x6ea7 030888 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6ea8 030889 beq 11 ,sa_empty_rsp 
+0x6ea9 030890 branch ssa_req_range_attrbutes_length_no_continue 
+:      030893 sdp_store_continue_common:
+0x6eaa 030894 ifetch 1 ,contr 
+0x6eab 030895 beq 0 ,sdp_store_continue_0byte 
+0x6eac 030896 beq 1 ,sdp_store_continue_1byte 
+0x6ead 030897 beq 2 ,sdp_store_continue_2byte 
+:      030898 sdp_store_continue_0byte:
+0x6eae 030899 increase -1 ,timeup 
+0x6eaf 030900 branch sdp_store_continue_end 
+:      030901 sdp_store_continue_1byte:
+0x6eb0 030902 ifetch 1 ,contr 
+0x6eb1 030903 increase -2 ,timeup 
+0x6eb2 030904 branch sdp_store_continue_end 
+:      030905 sdp_store_continue_2byte:
+0x6eb3 030906 ifetch 2 ,contr 
+0x6eb4 030907 byteswap pdata ,pdata 
+0x6eb5 030908 increase -3 ,timeup 
+:      030909 sdp_store_continue_end:
+0x6eb6 030910 store 2 ,mem_sdp_continue_byte 
+0x6eb7 030911 rtn 
+:      030913 sa_req_all:
+0x6eb8 030914 increase -5 ,timeup 
+0x6eb9 030915 call sdp_store_continue_common 
+0x6eba 030916 nbranch sdp_invalid_pdu_size ,zero 
+0x6ebb 030917 fetcht 4 ,mem_sdp_record_handle 
+0x6ebc 030918 call search_handle 
+0x6ebd 030919 nbranch sdp_invalid_service_record_handle ,zero 
+0x6ebe 030920 copy contr ,rega 
+0x6ebf 030921 call l2cap_get_sdp_tx_payload 
+0x6ec0 030922 copy rega ,contr 
+0x6ec1 030923 increase 3 ,contw 
+0x6ec2 030924 copy contr ,timeup 
+0x6ec3 030925 call sdp_get_data 
+0x6ec4 030926 copy pdata ,rega 
+0x6ec5 030928 fetch 2 ,mem_sdp_continue_byte 
+0x6ec6 030929 copy pdata ,regb 
+0x6ec7 030930 copy rega ,pdata 
+0x6ec8 030931 isub regb ,regb 
+0x6ec9 030932 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6eca 030933 isub regb ,null 
+0x6ecb 030934 nbranch sa_req_all_fragment_sdp ,positive 
+0x6ecc 030936 disable user 
+0x6ecd 030937 fetch 2 ,mem_sdp_continue_byte 
+0x6ece 030938 branch sa_req_all_fisrt_fragment ,blank 
+0x6ecf 030939 iadd timeup ,contr 
+0x6ed0 030940 increase 3 ,regb 
+0x6ed1 030941 copy regb ,loopcnt 
+0x6ed2 030942 copy loopcnt ,pdata 
+0x6ed3 030943 increase 3 ,pdata 
+0x6ed4 030944 byteswap pdata ,pdata 
+0x6ed5 030945 istore 2 ,contw 
+0x6ed6 030946 copy loopcnt ,pdata 
+0x6ed7 030947 byteswap pdata ,pdata 
+0x6ed8 030948 istore 2 ,contw 
+0x6ed9 030949 branch sa_req_all_answer_attributelist_full_loop 
+:      030950 sa_req_all_fisrt_fragment:
+0x6eda 030951 add rega ,6 ,loopcnt 
+0x6edb 030952 branch sa_req_all_parlength_continue_byte ,user 
+0x6edc 030953 byteswap loopcnt ,pdata 
+0x6edd 030954 branch sa_req_all_parlength_continue_byte_end 
+:      030955 sa_req_all_parlength_continue_byte:
+0x6ede 030956 copy loopcnt ,pdata 
+0x6edf 030957 increase 2 ,pdata 
+0x6ee0 030958 byteswap pdata ,pdata 
+:      030959 sa_req_all_parlength_continue_byte_end:
+0x6ee1 030960 istore 2 ,contw 
+0x6ee2 030961 increase -3 ,loopcnt 
+0x6ee3 030962 byteswap loopcnt ,pdata 
+0x6ee4 030963 istore 2 ,contw 
+0x6ee5 030964 copy timeup ,contr 
+0x6ee6 030965 branch sa_req_all_answer_attributelist_full_loop 
+:      030966 sa_req_all_fragment_sdp:
+0x6ee7 030967 enable user 
+0x6ee8 030969 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6ee9 030970 copy pdata ,rega 
+0x6eea 030971 copy rega ,loopcnt 
+0x6eeb 030972 fetch 2 ,mem_sdp_continue_byte 
+0x6eec 030973 branch sa_req_all_fisrt_fragment ,blank 
+0x6eed 030974 iadd timeup ,contr 
+0x6eee 030975 copy rega ,pdata 
+0x6eef 030976 increase 5 ,pdata 
+0x6ef0 030977 byteswap pdata ,pdata 
+0x6ef1 030978 istore 2 ,contw 
+0x6ef2 030979 copy rega ,pdata 
+0x6ef3 030980 byteswap pdata ,pdata 
+0x6ef4 030981 istore 2 ,contw 
+:      030982 sa_req_all_answer_attributelist_full_loop:
+0x6ef5 030983 call memcpy 
+0x6ef6 030984 nbranch sa_req_all_last_frag_continue ,user 
+0x6ef7 030985 force 2 ,pdata 
+0x6ef8 030986 istore 1 ,contw 
+0x6ef9 030987 copy contr ,pdata 
+0x6efa 030988 isub timeup ,pdata 
+0x6efb 030989 byteswap pdata ,pdata 
+0x6efc 030990 istore 2 ,contw 
+0x6efd 030991 branch sa_req_all_frag_end 
+:      030992 sa_req_all_last_frag_continue:
+0x6efe 030993 force 0 ,pdata 
+0x6eff 030994 istore 1 ,contw 
+:      030995 sa_req_all_frag_end:
+0x6f00 030996 arg sdp_attribute_res ,rega 
+0x6f01 030997 branch ssa_req_range_common 
+:      031008 sdp_process_ssa_req:
+0x6f02 031009 bpatchx patch3a_1 ,mem_patch3a 
+0x6f03 031010 call ask_serviceclassid 
+0x6f04 031011 compare 0xff ,temp ,0xff 
+0x6f05 031012 branch sdp_invalid_request_syntax ,true 
+0x6f06 031013 call sdp_store_maxbyte 
+0x6f07 031014 store 2 ,mem_sdp_attribute_maxbyte 
+0x6f08 031015 increase -2 ,timeup 
+0x6f09 031016 call dataelementtype6 
+0x6f0a 031017 arg mem_sdp_attrib_list ,contw 
+0x6f0b 031018 force 0 ,queue 
+:      031019 ssa_req_loop:
+0x6f0c 031020 ifetch 1 ,contr 
+0x6f0d 031021 beq sdp_attribute_range ,ssa_req_range 
+0x6f0e 031022 ifetch 2 ,contr 
+0x6f0f 031023 istore 2 ,contw 
+0x6f10 031024 increase 1 ,queue 
+0x6f11 031025 increase -3 ,timeup 
+0x6f12 031026 increase -3 ,rega 
+0x6f13 031027 nbranch sdp_invalid_request_syntax ,positive 
+0x6f14 031028 nbranch ssa_req_loop ,zero 
+0x6f15 031029 increase -1 ,timeup 
+0x6f16 031030 nbranch sdp_invalid_request_syntax ,zero 
+0x6f17 031031 call l2cap_get_sdp_tx_payload 
+0x6f18 031032 increase 13 ,contw 
+0x6f19 031033 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6f1a 031034 iforce regc 
+0x6f1b 031035 arg mem_sdp_attrib_list ,rega 
+:      031036 ssa_req_attributelist_next:
+0x6f1c 031037 ifetch 2 ,rega 
+0x6f1d 031038 branch ssa_req_attributelist_end ,blank 
+0x6f1e 031039 iforce regb 
+0x6f1f 031040 call search_attrib 
+0x6f20 031041 branch ssa_req_attributelist_notfound ,blank 
+0x6f21 031042 increase -3 ,contr 
+0x6f22 031043 ifetch 3 ,contr 
+0x6f23 031044 istore 3 ,contw 
+0x6f24 031045 call sdp_data_len 
+0x6f25 031046 iforce loopcnt 
+0x6f26 031047 call memcpy 
+:      031048 ssa_req_attributelist_notfound:
+0x6f27 031049 increase 2 ,rega 
+0x6f28 031050 branch ssa_req_attributelist_next 
+:      031052 ssa_req_attributelist_end:
+0x6f29 031053 call ssa_req_range_lastfreg 
+0x6f2a 031054 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6f2b 031055 beq 14 ,ssa_empty_rsp 
+0x6f2c 031056 call ssa_req_range_attrbutes_length_no_continue 
+0x6f2d 031057 branch ssa_req_range_attrbutes_length_no_continue 
+:      031060 sdp_store_maxbyte:
+0x6f2e 031061 ifetch 2 ,contr 
+0x6f2f 031062 byteswap pdata ,pdata 
+0x6f30 031063 increase -3 ,pdata 
+0x6f31 031064 arg 200 ,temp 
+0x6f32 031065 isub temp ,null 
+0x6f33 031066 nrtn positive 
+0x6f34 031067 setarg 200 
+0x6f35 031068 rtn 
+:      031071 ssa_req_range:
+0x6f36 031072 increase 4 ,contr 
+0x6f37 031073 increase -5 ,timeup 
+0x6f38 031074 increase -5 ,rega 
+0x6f39 031075 nbranch sdp_invalid_request_syntax ,zero 
+0x6f3a 031076 call sdp_store_continue_common 
+0x6f3b 031077 nbranch sdp_invalid_pdu_size ,zero 
+0x6f3c 031078 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6f3d 031079 call search_all_uuid 
+0x6f3e 031080 deposit queue 
+0x6f3f 031081 branch ssa_empty_rsp ,blank 
+0x6f40 031082 store 1 ,mem_handle_humber 
+0x6f41 031084 copy regb ,pdata 
+0x6f42 031085 store 2 ,mem_sdp_all_length 
+0x6f43 031086 arg 0 ,queue 
+0x6f44 031087 arg 0 ,rega 
+0x6f45 031088 call l2cap_get_sdp_tx_payload 
+0x6f46 031089 increase 10 ,contw 
+:      031090 ssa_req_range_find_handle:
+0x6f47 031091 call ssa_req_range_get_length 
+0x6f48 031092 nbranch assert ,user 
+0x6f49 031093 copy contr ,timeup 
+0x6f4a 031094 copy pdata ,regc 
+0x6f4b 031095 iadd rega ,rega 
+0x6f4c 031098 fetch 2 ,mem_sdp_continue_byte 
+0x6f4d 031099 copy pdata ,regb 
+0x6f4e 031100 branch ssa_req_range_first_freg ,blank 
+:      031101 ssa_req_range_later_freg_with_continue:
+0x6f4f 031102 copy rega ,pdata 
+0x6f50 031103 isub regb ,regb 
+0x6f51 031104 branch ssa_req_range_next_handle ,zero 
+0x6f52 031105 nbranch ssa_req_range_next_handle ,positive 
+0x6f53 031106 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f54 031107 isub regb ,null 
+0x6f55 031108 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6f56 031109 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      031112 ssa_req_range_send_not_maxbyte:
+0x6f57 031113 copy regb ,loopcnt 
+0x6f58 031114 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f59 031115 fetch 1 ,mem_handle_humber 
+0x6f5a 031116 increase 1 ,queue 
+0x6f5b 031117 isub queue ,null 
+0x6f5c 031118 branch ssa_req_range_lastfreg ,zero 
+0x6f5d 031119 branch ssa_req_range_freg_with_continue 
+:      031121 ssa_req_range_maxbyte_with_continue:
+0x6f5e 031122 copy pdata ,loopcnt 
+0x6f5f 031123 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f60 031124 branch ssa_req_range_freg_with_continue 
+:      031126 ssa_req_range_maxbyte_with_continue_cpy:
+0x6f61 031127 increase -3 ,contw 
+0x6f62 031128 copy loopcnt ,temp 
+0x6f63 031129 copy regc ,pdata 
+0x6f64 031130 isub regb ,pdata 
+0x6f65 031131 iadd timeup ,contr 
+0x6f66 031132 branch memcpy 
+:      031134 ssa_req_range_next_handle:
+0x6f67 031135 fetch 1 ,mem_handle_humber 
+0x6f68 031136 increase 1 ,queue 
+0x6f69 031137 isub queue ,null 
+0x6f6a 031138 rtn zero 
+0x6f6b 031139 branch ssa_req_range_find_handle 
+:      031141 ssa_req_range_get_length:
+0x6f6c 031142 call disable_user 
+0x6f6d 031143 arg mem_sdp_handle_list ,contr 
+0x6f6e 031144 lshift2 queue ,pdata 
+0x6f6f 031145 iadd contr ,contr 
+0x6f70 031146 ifetcht 4 ,contr 
+0x6f71 031147 call search_handle 
+0x6f72 031148 nrtn zero 
+0x6f73 031149 call sdp_data_len 
+0x6f74 031150 branch enable_user 
+:      031152 ssa_req_range_first_freg:
+0x6f75 031153 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f76 031154 isub rega ,null 
+0x6f77 031155 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6f78 031156 copy rega ,loopcnt 
+0x6f79 031157 copy loopcnt ,temp 
+0x6f7a 031158 copy timeup ,contr 
+0x6f7b 031159 call memcpy 
+0x6f7c 031160 fetch 2 ,mem_sdp_all_length 
+0x6f7d 031161 isub rega ,null 
+0x6f7e 031162 branch ssa_req_range_freg_no_continue ,zero 
+:      031163 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6f7f 031164 call ssa_req_range_freg_with_continue 
+0x6f80 031165 branch ssa_req_range_attrbutes_length 
+:      031167 ssa_req_range_freg_no_continue:
+0x6f81 031168 call ssa_req_range_lastfreg 
+0x6f82 031169 branch ssa_req_range_attrbutes_length 
+:      031171 ssa_req_range_lastfreg:
+0x6f83 031172 arg sdp_searchattrib_res ,rega 
+:      031173 ssa_req_range_lastfreg_common:
+0x6f84 031174 force 0 ,pdata 
+0x6f85 031175 istore 1 ,contw 
+0x6f86 031176 call ssa_req_range_common 
+0x6f87 031177 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6f88 031178 increase -5 ,temp 
+0x6f89 031179 byteswap temp ,pdata 
+0x6f8a 031180 istore 2 ,contw 
+0x6f8b 031181 increase -3 ,temp 
+0x6f8c 031182 byteswap temp ,pdata 
+0x6f8d 031183 istore 2 ,contw 
+0x6f8e 031184 rtn 
+:      031186 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6f8f 031187 copy pdata ,loopcnt 
+0x6f90 031188 copy loopcnt ,temp 
+0x6f91 031189 copy timeup ,contr 
+0x6f92 031190 call memcpy 
+0x6f93 031191 call ssa_req_range_freg_with_continue 
+:      031192 ssa_req_range_attrbutes_length:
+0x6f94 031193 setarg 0x36 
+0x6f95 031194 istore 1 ,contw 
+0x6f96 031195 fetch 2 ,mem_sdp_all_length 
+0x6f97 031196 byteswap pdata ,pdata 
+0x6f98 031197 istore 2 ,contw 
+0x6f99 031198 rtn 
+:      031200 ssa_req_range_attrbutes_length_no_continue:
+0x6f9a 031201 setarg 0x36 
+0x6f9b 031202 istore 1 ,contw 
+0x6f9c 031203 increase -3 ,temp 
+0x6f9d 031204 byteswap temp ,pdata 
+0x6f9e 031205 istore 2 ,contw 
+0x6f9f 031206 rtn 
+:      031208 ssa_req_range_freg_with_continue:
+0x6fa0 031209 arg sdp_searchattrib_res ,rega 
+0x6fa1 031210 setarg 2 
+0x6fa2 031211 istore 1 ,contw 
+0x6fa3 031212 fetch 2 ,mem_sdp_continue_byte 
+0x6fa4 031213 iadd temp ,temp 
+0x6fa5 031214 byteswap temp ,pdata 
+0x6fa6 031215 istore 2 ,contw 
+0x6fa7 031216 call ssa_req_range_common 
+0x6fa8 031217 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6fa9 031218 increase -5 ,temp 
+0x6faa 031219 byteswap temp ,pdata 
+0x6fab 031220 istore 2 ,contw 
+0x6fac 031221 increase -5 ,temp 
+0x6fad 031222 byteswap temp ,pdata 
+0x6fae 031223 istore 2 ,contw 
+0x6faf 031224 rtn 
+:      031226 ssa_req_range_common:
+0x6fb0 031227 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6fb1 031228 isub contw ,pdata 
+0x6fb2 031229 sub pdata ,0 ,pdata 
+0x6fb3 031230 store 2 ,mem_sdp_tx_pkt_length 
+0x6fb4 031231 call l2cap_get_sdp_tx_payload 
+0x6fb5 031232 copy rega ,pdata 
+0x6fb6 031233 istore 1 ,contw 
+0x6fb7 031234 fetch 2 ,mem_sdp_transactionid 
+0x6fb8 031235 istore 2 ,contw 
+0x6fb9 031236 rtn 
+:      031249 sdp_process_ssa_res:
+:      031250 sdp_process_ss_res:
+:      031251 sdp_process_sa_res:
+:      031252 sdp_process_error_res:
+0x6fba 031253 rtn 
+:      031286 sdp_invalid_service_record_handle:
+0x6fbb 031287 setarg 0x0200 
+0x6fbc 031288 store 2 ,mem_sdp_error_code 
+0x6fbd 031289 branch sdp_error_response 
+:      031290 sdp_invalid_pdu_size:
+0x6fbe 031291 setarg 0x0400 
+0x6fbf 031292 store 2 ,mem_sdp_error_code 
+0x6fc0 031293 branch sdp_error_response 
+:      031294 sdp_insufficient_resource:
+0x6fc1 031295 setarg 0x0600 
+0x6fc2 031296 store 2 ,mem_sdp_error_code 
+0x6fc3 031297 branch sdp_error_response 
+:      031298 sdp_invalid_request_syntax:
+0x6fc4 031299 setarg 0x0300 
+0x6fc5 031300 store 2 ,mem_sdp_error_code 
+:      031301 sdp_error_response:
+0x6fc6 031302 call l2cap_get_sdp_tx_payload 
+0x6fc7 031303 istore 1 ,contw 
+0x6fc8 031304 fetch 2 ,mem_sdp_transactionid 
+0x6fc9 031305 istore 2 ,contw 
+0x6fca 031306 setarg 0x0200 
+0x6fcb 031307 istore 2 ,contw 
+0x6fcc 031308 fetch 2 ,mem_sdp_error_code 
+0x6fcd 031309 istore 2 ,contw 
+0x6fce 031310 jam 7 ,mem_sdp_tx_pkt_length 
+0x6fcf 031311 rtn 
+:      031316 ask_serviceclassid:
+0x6fd0 031317 arg 0 ,regb 
+0x6fd1 031318 force 0 ,temp 
+0x6fd2 031319 arg mem_sdp_uuid_search_ptr ,contw 
+0x6fd3 031320 call dataelementtype6 
+0x6fd4 031321 branch asksrv_error ,zero 
+:      031322 classidloop:
+0x6fd5 031323 increase 1 ,regb 
+0x6fd6 031324 ifetch 1 ,contr 
+0x6fd7 031325 increase -1 ,rega 
+0x6fd8 031326 increase -1 ,timeup 
+0x6fd9 031327 compare 0x18 ,pdata ,0xf8 
+0x6fda 031328 nbranch asksrv_error ,true 
+0x6fdb 031329 compare 0x04 ,pdata ,0x07 
+0x6fdc 031330 nbranch cmp032 ,true 
+0x6fdd 031331 force 1 ,temp 
+:      031332 skip2bytes:
+0x6fde 031333 ifetch 1 ,contr 
+0x6fdf 031334 increase -1 ,rega 
+0x6fe0 031335 increase -1 ,timeup 
+0x6fe1 031336 bne 0x00 ,frstbwrong 
+0x6fe2 031337 ifetch 1 ,contr 
+0x6fe3 031338 increase -1 ,rega 
+0x6fe4 031339 increase -1 ,timeup 
+0x6fe5 031340 beq 0x00 ,cmpuuid 
+0x6fe6 031341 branch scndbwrong 
+:      031342 frstbwrong:
+0x6fe7 031343 increase 1 ,contr 
+0x6fe8 031344 increase -1 ,rega 
+0x6fe9 031345 increase -1 ,timeup 
+:      031346 scndbwrong:
+0x6fea 031347 increase 2 ,contr 
+0x6feb 031348 increase -2 ,rega 
+0x6fec 031349 increase -2 ,timeup 
+0x6fed 031350 compare 0x00 ,temp ,0xff 
+0x6fee 031351 branch loopornot ,true 
+0x6fef 031352 increase 12 ,contr 
+0x6ff0 031353 increase -12 ,rega 
+0x6ff1 031354 increase -12 ,timeup 
+0x6ff2 031355 branch loopornot 
+:      031356 cmp032:
+0x6ff3 031357 compare 0x02 ,pdata ,0x07 
+0x6ff4 031358 nbranch cmp016 ,true 
+0x6ff5 031359 branch skip2bytes 
+:      031360 cmp016:
+0x6ff6 031361 compare 0x01 ,pdata ,0x07 
+0x6ff7 031362 nbranch asksrv_error ,true 
+:      031363 cmpuuid:
+0x6ff8 031364 increase -2 ,rega 
+0x6ff9 031365 increase -2 ,timeup 
+0x6ffa 031366 ifetch 2 ,contr 
+0x6ffb 031367 sub regb ,4 ,null 
+0x6ffc 031368 branch uuidsize ,zero 
+0x6ffd 031369 istore 2 ,contw 
+:      031370 uuidsize:
+0x6ffe 031371 compare 0x00 ,temp ,0xff 
+0x6fff 031372 branch loopornot ,true 
+0x7000 031373 copy contr ,temp 
+0x7001 031374 ifetch 1 ,contr 
+0x7002 031375 bne 0x00 ,wrong12b 
+0x7003 031376 ifetch 1 ,contr 
+0x7004 031377 bne 0x00 ,wrong12b 
+0x7005 031378 ifetch 1 ,contr 
+0x7006 031379 bne 0x10 ,wrong12b 
+0x7007 031380 ifetch 1 ,contr 
+0x7008 031381 bne 0x00 ,wrong12b 
+0x7009 031382 ifetch 1 ,contr 
+0x700a 031383 bne 0x80 ,wrong12b 
+0x700b 031384 ifetch 1 ,contr 
+0x700c 031385 bne 0x00 ,wrong12b 
+0x700d 031386 ifetch 1 ,contr 
+0x700e 031387 bne 0x00 ,wrong12b 
+0x700f 031388 ifetch 1 ,contr 
+0x7010 031389 bne 0x80 ,wrong12b 
+0x7011 031390 ifetch 1 ,contr 
+0x7012 031391 bne 0x5f ,wrong12b 
+0x7013 031392 ifetch 1 ,contr 
+0x7014 031393 bne 0x9b ,wrong12b 
+0x7015 031394 ifetch 1 ,contr 
+0x7016 031395 bne 0x34 ,wrong12b 
+0x7017 031396 ifetch 1 ,contr 
+0x7018 031397 beq 0xfb ,chck12dn 
+:      031398 wrong12b:
+0x7019 031399 copy temp ,contr 
+:      031400 wrong12b1:
+0x701a 031401 increase 12 ,contr 
+0x701b 031402 force 0x00 ,queue 
+0x701c 031403 force 0x00 ,temp 
+0x701d 031404 branch chck12dn 
+:      031406 chck12dn:
+0x701e 031407 increase -12 ,timeup 
+0x701f 031408 increase -12 ,rega 
+:      031409 loopornot:
+0x7020 031410 force 0x00 ,temp 
+0x7021 031411 compare 0x00 ,rega ,0xff 
+0x7022 031412 nbranch classidloop ,true 
+0x7023 031413 force 0 ,pdata 
+0x7024 031414 istore 2 ,contw 
+0x7025 031415 rtn 
+:      031416 asksrv_error:
+0x7026 031417 arg 0xff ,temp 
+0x7027 031418 rtn 
+:      031428 dataelementtype6:
+0x7028 031429 bpatchx patch3a_4 ,mem_patch3a 
+0x7029 031430 ifetch 1 ,contr 
+0x702a 031431 increase -1 ,timeup 
+0x702b 031432 compare 0x30 ,pdata ,0xf8 
+0x702c 031433 nbranch dsize_error ,true 
+0x702d 031434 compare 0x07 ,pdata ,0x07 
+0x702e 031435 branch dsize32 ,true 
+0x702f 031436 compare 0x06 ,pdata ,0x07 
+0x7030 031437 branch dsize16 ,true 
+0x7031 031438 compare 0x05 ,pdata ,0x07 
+0x7032 031439 nbranch dsize_error ,true 
+0x7033 031441 ifetch 1 ,contr 
+0x7034 031442 copy pdata ,rega 
+0x7035 031443 increase -1 ,timeup 
+0x7036 031444 branch dsize 
+:      031445 dsize32:
+0x7037 031446 increase 2 ,contr 
+0x7038 031447 increase -2 ,timeup 
+:      031448 dsize16:
+0x7039 031449 ifetch 2 ,contr 
+0x703a 031450 byteswap pdata ,rega 
+0x703b 031451 increase -2 ,timeup 
+:      031452 dsize:
+0x703c 031453 force 0x01 ,pdata 
+0x703d 031454 rtn 
+:      031455 dsize_error:
+0x703e 031456 force 0x00 ,pdata 
+0x703f 031457 rtn 
+:      031467 ss_empty_rsp:
+0x7040 031468 setarg sdp_search_res 
+0x7041 031469 store 1 ,mem_sdp_pduid 
+0x7042 031470 branch empty_response 
+:      031471 sa_empty_rsp:
+0x7043 031472 setarg sdp_attribute_res 
+0x7044 031473 store 1 ,mem_sdp_pduid 
+0x7045 031474 branch empty_response 
+:      031475 ssa_empty_rsp:
+0x7046 031476 setarg sdp_searchattrib_res 
+0x7047 031477 store 1 ,mem_sdp_pduid 
+:      031478 empty_response:
+0x7048 031479 call l2cap_get_sdp_tx_payload 
+0x7049 031482 fetch 1 ,mem_sdp_pduid 
+0x704a 031483 copy pdata ,regb 
+0x704b 031484 istore 1 ,contw 
+0x704c 031485 fetch 2 ,mem_sdp_transactionid 
+0x704d 031486 istore 2 ,contw 
+0x704e 031487 setarg 0x0500 
+0x704f 031488 istore 2 ,contw 
+0x7050 031489 compare sdp_attribute_res ,regb ,0xff 
+0x7051 031490 branch fullsearch ,true 
+0x7052 031491 compare sdp_searchattrib_res ,regb ,0xff 
+0x7053 031492 branch fullsearch ,true 
+0x7054 031493 setarg 0x000000 
+0x7055 031494 istore 5 ,contw 
+0x7056 031495 branch outempty 
+:      031497 fullsearch:
+0x7057 031498 setarg 0x350200 
+0x7058 031499 istore 5 ,contw 
+:      031500 outempty:
+0x7059 031501 jam 10 ,mem_sdp_tx_pkt_length 
+0x705a 031502 rtn 
+:      031505 sdp_data_len:
+0x705b 031506 call store_contw 
+0x705c 031507 call store_contr 
+0x705d 031508 call sdp_get_data 
+0x705e 031509 call get_contw 
+0x705f 031510 call get_contr 
+0x7060 031511 copy temp ,pdata 
+0x7061 031512 rtn 
+:      031515 sdp_get_data:
+0x7062 031516 ifetch 1 ,contr 
+0x7063 031517 and pdata ,0x7 ,loopcnt 
+0x7064 031518 rshift3 pdata ,pdata 
+0x7065 031519 bne 0 ,sdp_get_data_type_not0 
+:      031520 sdp_get_data_type0:
+0x7066 031521 force 1 ,pdata 
+0x7067 031522 force 1 ,temp 
+0x7068 031523 rtn 
+:      031525 sdp_get_data_type_not0_sizeindex01234:
+0x7069 031526 call left_shift_n 
+0x706a 031527 add pdata ,1 ,temp 
+0x706b 031528 rtn 
+:      031529 sdp_get_data_type_not0:
+0x706c 031530 deposit loopcnt 
+0x706d 031531 sub pdata ,4 ,null 
+0x706e 031532 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x706f 031533 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x7070 031534 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x7071 031535 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x7072 031536 rtn 
+:      031538 sdp_get_data_type_not0_sizeindex5:
+0x7073 031539 ifetch 1 ,contr 
+0x7074 031540 add pdata ,2 ,temp 
+0x7075 031541 rtn 
+:      031542 sdp_get_data_type_not0_sizeindex6:
+0x7076 031543 ifetch 2 ,contr 
+0x7077 031544 byteswap pdata ,pdata 
+0x7078 031545 add pdata ,3 ,temp 
+0x7079 031546 rtn 
+:      031547 sdp_get_data_type_not0_sizeindex7:
+0x707a 031548 ifetch 2 ,contr 
+0x707b 031549 byteswap pdata ,pdata 
+0x707c 031550 ifetcht 2 ,contr 
+0x707d 031551 byteswap temp ,temp 
+0x707e 031552 lshift16 temp ,temp 
+0x707f 031553 iadd temp ,pdata 
+0x7080 031554 add pdata ,5 ,temp 
+0x7081 031555 rtn 
+:      031561 search_all_uuid:
+0x7082 031562 bpatchx patch3a_5 ,mem_patch3a 
+0x7083 031563 force 0 ,queue 
+0x7084 031564 arg 0 ,regb 
+0x7085 031565 arg mem_sdp_handle_list ,contw 
+:      031566 search_all_uuid_llop:
+0x7086 031567 ifetch 2 ,timeup 
+0x7087 031568 rtn blank 
+0x7088 031569 call search_uuid 
+0x7089 031570 copy queue ,pdata 
+0x708a 031571 rtneq sdp_max_handle_number 
+0x708b 031572 increase 2 ,timeup 
+0x708c 031573 branch search_all_uuid_llop 
+:      031575 search_uuid:
+0x708d 031577 iforce regc 
+0x708e 031579 fetch 2 ,mem_ui_uuid_table 
+0x708f 031580 iforce contr 
+:      031581 search_uuid_next:
+0x7090 031582 copy queue ,pdata 
+0x7091 031583 rtneq sdp_max_handle_number 
+0x7092 031584 disable user 
+0x7093 031585 ifetch 1 ,contr 
+0x7094 031586 rtn blank 
+0x7095 031587 iforce loopcnt 
+:      031588 search_uuid_loop:
+0x7096 031589 ifetch 2 ,contr 
+0x7097 031590 isub regc ,null 
+0x7098 031591 nbranch search_uuid_not_found ,zero 
+0x7099 031592 enable user 
+:      031593 search_uuid_not_found:
+0x709a 031594 loop search_uuid_loop 
+0x709b 031595 ifetcht 4 ,contr 
+0x709c 031596 copy contr ,rega 
+0x709d 031597 nbranch search_uuid_nomatch ,user 
+0x709e 031598 arg mem_sdp_handle_list ,contr 
+0x709f 031599 arg sdp_max_handle_number ,loopcnt 
+:      031600 search_uuid_check_same_handle:
+0x70a0 031601 ifetch 4 ,contr 
+0x70a1 031602 branch search_uuid_store_handle ,blank 
+0x70a2 031603 isub temp ,null 
+0x70a3 031604 branch search_uuid_nomatch ,zero 
+0x70a4 031605 loop search_uuid_check_same_handle 
+0x70a5 031606 rtn 
+:      031607 search_uuid_store_handle:
+0x70a6 031608 istoret 4 ,contw 
+0x70a7 031609 increase 1 ,queue 
+0x70a8 031610 copy rega ,contr 
+0x70a9 031611 call sdp_data_len 
+0x70aa 031612 iadd regb ,regb 
+0x70ab 031613 iadd contr ,contr 
+0x70ac 031614 branch search_uuid_next 
+:      031615 search_uuid_nomatch:
+0x70ad 031616 copy rega ,contr 
+0x70ae 031617 call sdp_get_data 
+0x70af 031618 iadd contr ,contr 
+0x70b0 031619 branch search_uuid_next 
+:      031625 search_handle:
+0x70b1 031626 bpatchx patch3a_6 ,mem_patch3a 
+0x70b2 031627 fetch 2 ,mem_ui_uuid_table 
+0x70b3 031628 iforce contr 
+:      031629 search_handle_loop:
+0x70b4 031630 ifetch 1 ,contr 
+0x70b5 031631 branch disable_zero ,blank 
+0x70b6 031632 lshift pdata ,pdata 
+0x70b7 031633 iadd contr ,contr 
+0x70b8 031634 ifetch 4 ,contr 
+0x70b9 031635 isub temp ,null 
+0x70ba 031636 rtn zero 
+0x70bb 031637 deposit contw 
+0x70bc 031638 store 2 ,mem_contw 
+0x70bd 031639 storet 8 ,mem_temp 
+0x70be 031640 call sdp_get_data 
+0x70bf 031641 iadd contr ,contr 
+0x70c0 031642 copy contr ,pdata 
+0x70c1 031643 fetcht 2 ,mem_contw 
+0x70c2 031644 copy temp ,contw 
+0x70c3 031645 fetcht 8 ,mem_temp 
+0x70c4 031646 copy pdata ,contr 
+0x70c5 031647 branch search_handle_loop 
+:      031653 search_attrib:
+0x70c6 031654 bpatchx patch3a_7 ,mem_patch3a 
+0x70c7 031655 fetch 2 ,mem_ui_uuid_table 
+0x70c8 031656 iforce contr 
+:      031657 search_attrib_next:
+0x70c9 031658 ifetch 1 ,contr 
+0x70ca 031659 branch search_attrib_end ,blank 
+0x70cb 031660 iforce loopcnt 
+:      031661 search_attrib_loop:
+0x70cc 031662 ifetch 2 ,contr 
+0x70cd 031663 isub regc ,null 
+0x70ce 031664 branch search_attrib_found_uuid ,zero 
+0x70cf 031665 loop search_attrib_loop 
+0x70d0 031666 increase 4 ,contr 
+0x70d1 031667 call sdp_get_data 
+0x70d2 031668 iadd contr ,contr 
+0x70d3 031669 branch search_attrib_next 
+:      031670 search_attrib_found_uuid:
+0x70d4 031671 increase -1 ,loopcnt 
+0x70d5 031672 lshift loopcnt ,pdata 
+0x70d6 031673 iadd contr ,contr 
+0x70d7 031674 increase 4 ,contr 
+0x70d8 031675 call sdp_get_data 
+0x70d9 031676 iadd contr ,timeup 
+:      031677 search_attrib_loop_attribs:
+0x70da 031678 increase 1 ,contr 
+0x70db 031679 ifetch 2 ,contr 
+0x70dc 031680 isub regb ,null 
+0x70dd 031684 branch disable_blank ,zero 
+0x70de 031685 call sdp_data_len 
+0x70df 031686 iadd contr ,contr 
+0x70e0 031687 deposit timeup 
+0x70e1 031688 isub contr ,null 
+0x70e2 031689 branch search_attrib_end ,zero 
+0x70e3 031690 branch search_attrib_loop_attribs 
+:      031691 search_attrib_end:
+0x70e4 031692 force 0 ,contr 
+0x70e5 031693 force 0 ,pdata 
+0x70e6 031694 rtn 
+:      031700 search_handle_attrib:
+0x70e7 031701 bpatchx patch3b_0 ,mem_patch3b 
+0x70e8 031702 fetch 2 ,mem_ui_uuid_table 
+0x70e9 031703 iforce contr 
+:      031704 search_handle_attrib_next:
+0x70ea 031705 ifetch 1 ,contr 
+0x70eb 031706 branch search_handle_attrib_end ,blank 
+0x70ec 031707 lshift pdata ,pdata 
+0x70ed 031708 iadd contr ,contr 
+0x70ee 031709 ifetch 4 ,contr 
+0x70ef 031710 isub temp ,null 
+0x70f0 031711 branch search_handl_attrib_found_handle ,zero 
+0x70f1 031712 call sdp_get_data 
+0x70f2 031713 iadd contr ,contr 
+0x70f3 031714 branch search_handle_attrib_next 
+:      031715 search_handl_attrib_found_handle:
+0x70f4 031716 call sdp_get_data 
+0x70f5 031717 iadd contr ,timeup 
+:      031718 search_handle_attrib_loop_attribs:
+0x70f6 031719 increase 1 ,contr 
+0x70f7 031720 ifetch 2 ,contr 
+0x70f8 031721 isub regb ,null 
+0x70f9 031722 rtn zero 
+0x70fa 031723 call sdp_data_len 
+0x70fb 031724 iadd contr ,contr 
+0x70fc 031725 deposit timeup 
+0x70fd 031726 isub contr ,null 
+0x70fe 031727 branch search_handle_attrib_end ,zero 
+0x70ff 031728 branch search_handle_attrib_loop_attribs 
+:      031729 search_handle_attrib_end:
+0x7100 031730 force 0 ,contr 
+0x7101 031731 rtn 
+:      031735 search_rfcomm_cn:
+0x7102 031736 arg 0x0400 ,regb 
+0x7103 031737 call search_handl_attrib_found_handle 
+0x7104 031738 arg 0x0300 ,regb 
+0x7105 031739 call search_uuid_in_data 
+0x7106 031740 nrtn user 
+0x7107 031741 sub rega ,3 ,null 
+0x7108 031742 branch disable_user ,positive 
+0x7109 031743 ifetch 1 ,contr 
+0x710a 031744 bne 0x08 ,disable_user 
+0x710b 031745 ifetch 1 ,contr 
+0x710c 031746 rtn 
+:      031751 search_uuid_in_data:
+0x710d 031752 bpatchx patch3b_1 ,mem_patch3b 
+0x710e 031753 call sdp_get_data 
+0x710f 031754 copy pdata ,rega 
+:      031755 search_uuid_in_data_loop:
+0x7110 031756 ifetch 1 ,contr 
+0x7111 031757 and pdata ,0x7 ,loopcnt 
+0x7112 031758 rshift3 pdata ,pdata 
+0x7113 031759 sub pdata ,3 ,null 
+0x7114 031760 branch search_uuid_in_data_found_uuid ,zero 
+0x7115 031761 copy loopcnt ,pdata 
+0x7116 031762 beq 5 ,search_uuid_in_data_found_element_index5 
+0x7117 031763 beq 6 ,search_uuid_in_data_found_element_index6 
+0x7118 031764 beq 7 ,search_uuid_in_data_found_element_index7 
+0x7119 031765 increase -1 ,contr 
+0x711a 031766 call sdp_get_data 
+0x711b 031767 iadd contr ,contr 
+0x711c 031768 copy rega ,pdata 
+0x711d 031769 isub temp ,rega 
+0x711e 031770 branch disable_user ,zero 
+0x711f 031771 branch search_uuid_in_data_loop 
+:      031773 search_uuid_in_data_found_element_index5:
+0x7120 031774 increase -2 ,rega 
+0x7121 031775 increase 1 ,contr 
+0x7122 031776 branch search_uuid_in_data_loop 
+:      031777 search_uuid_in_data_found_element_index6:
+0x7123 031778 increase -3 ,rega 
+0x7124 031779 increase 2 ,contr 
+0x7125 031780 branch search_uuid_in_data_loop 
+:      031781 search_uuid_in_data_found_element_index7:
+0x7126 031782 increase -5 ,rega 
+0x7127 031783 increase 4 ,contr 
+0x7128 031784 branch search_uuid_in_data_loop 
+:      031786 search_uuid_in_data_found_uuid:
+0x7129 031787 increase -1 ,rega 
+0x712a 031788 copy loopcnt ,pdata 
+0x712b 031789 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x712c 031790 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x712d 031791 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x712e 031792 branch disable_user 
+:      031793 search_uuid_in_data_type_uuid_128:
+0x712f 031794 increase -12 ,rega 
+:      031795 search_uuid_in_data_type_uuid_32:
+0x7130 031796 ifetch 2 ,contr 
+0x7131 031797 increase -2 ,rega 
+:      031798 search_uuid_in_data_type_uuid_16:
+0x7132 031799 ifetch 2 ,contr 
+0x7133 031800 isub regb ,null 
+0x7134 031801 branch enable_user ,zero 
+0x7135 031802 increase -2 ,rega 
+0x7136 031803 branch disable_user ,zero 
+0x7137 031804 branch search_uuid_in_data_loop 
+:      031863 sdp_send_spp_request:
+0x7138 031864 call l2cap_get_sdp_tx_payload 
+0x7139 031865 copy pdata ,contw 
+0x713a 031866 setarg 6 
+0x713b 031867 istore 1 ,contw 
+0x713c 031868 setarg sdp_tid_spp 
+0x713d 031869 istore 2 ,contw 
+0x713e 031870 setarg 0x0f00 
+0x713f 031871 istore 2 ,contw 
+0x7140 031872 setarg 0x1a0535 
+0x7141 031873 istore 3 ,contw 
+0x7142 031874 setarg 0x0111 
+0x7143 031875 lshift16 pdata ,pdata 
+0x7144 031876 istore 4 ,contw 
+0x7145 031877 setarg 0x2600 
+0x7146 031878 istore 2 ,contw 
+0x7147 031879 setarg 0x0335 
+0x7148 031880 istore 2 ,contw 
+0x7149 031881 setarg 0x0009 
+0x714a 031882 istore 2 ,contw 
+0x714b 031883 setarg 0x0004 
+0x714c 031884 istore 2 ,contw 
+0x714d 031885 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x714e 031886 rtn 
+:      031890 function_g2:
+0x714f 031891 bpatchx patch3b_2 ,mem_patch3b 
+0x7150 031892 jam 80 ,mem_aes_cmac_data_length 
+0x7151 031893 arg memdat ,contw 
+0x7152 031894 arg mem_le_srand ,contr 
+0x7153 031895 call memcpy16 
+0x7154 031896 arg mem_le_pubkey_local_x_256 ,contr 
+0x7155 031897 call memcpy32 
+0x7156 031898 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7157 031899 call memcpy32 
+0x7158 031900 call inverse_memdat 
+0x7159 031901 arg mem_le_mrand ,contr 
+0x715a 031902 call store_inverse_k 
+0x715b 031903 call function_aes_cmac 
+0x715c 031905 arg mem_aes_cmac_temp ,contw 
+0x715d 031906 call load_inverse_result 
+0x715e 031907 setarg 1000000 
+0x715f 031908 copy pdata ,rega 
+0x7160 031909 fetch 4 ,mem_aes_cmac_temp 
+0x7161 031910 idiv rega 
+0x7162 031911 call wait_div_end 
+0x7163 031912 remainder pdata 
+0x7164 031913 store 4 ,mem_gkey 
+0x7165 031915 rtn 
+:      031917 function_f6_eb:
+0x7166 031918 jam 65 ,mem_aes_cmac_data_length 
+0x7167 031919 arg memdat ,contw 
+0x7168 031920 call store_addr_common_a 
+0x7169 031921 call store_addr_common_b 
+0x716a 031922 fetch 3 ,mem_le_pres + 1 
+0x716b 031923 istore 3 ,contw 
+0x716c 031926 call get_r 
+0x716d 031928 arg mem_le_mrand ,contr 
+0x716e 031929 call memcpy16 
+0x716f 031930 arg mem_le_srand ,contr 
+0x7170 031931 call memcpy16 
+0x7171 031932 call inverse_memdat 
+0x7172 031933 arg mem_le_mackey ,contr 
+0x7173 031934 arg mem_aes_cmac_k ,contw 
+0x7174 031935 call memcpy16 
+0x7175 031937 branch function_aes_cmac 
+:      031941 get_r:
+0x7176 031942 fetch 4 ,mem_le_tk 
+0x7177 031943 istore 4 ,contw 
+0x7178 031944 call memset0_4 
+0x7179 031945 branch memset0_8 
+:      031947 function_f6_ea:
+0x717a 031948 bpatchx patch3b_3 ,mem_patch3b 
+0x717b 031949 jam 65 ,mem_aes_cmac_data_length 
+0x717c 031950 arg memdat ,contw 
+0x717d 031951 call store_addr_common_b 
+0x717e 031952 call store_addr_common_a 
+0x717f 031953 fetch 3 ,mem_le_preq + 1 
+0x7180 031954 istore 3 ,contw 
+0x7181 031957 call get_r 
+0x7182 031958 arg mem_le_srand ,contr 
+0x7183 031959 call memcpy16 
+0x7184 031960 arg mem_le_mrand ,contr 
+0x7185 031961 call memcpy16 
+0x7186 031962 call inverse_memdat 
+0x7187 031963 arg mem_le_mackey ,contr 
+0x7188 031964 arg mem_aes_cmac_k ,contw 
+0x7189 031965 call memcpy16 
+0x718a 031967 call function_aes_cmac 
+0x718b 031968 arg mem_aes_cmac_temp ,contw 
+0x718c 031969 branch load_inverse_result 
+:      031971 function_f5:
+0x718d 031972 jam 32 ,mem_aes_cmac_data_length 
+0x718e 031973 arg mem_le_dhkey_256 ,contr 
+0x718f 031974 arg memdat ,contw 
+0x7190 031975 call memcpy32 
+0x7191 031976 call inverse_memdat 
+0x7192 031977 arg mem_le_slat ,contr 
+0x7193 031978 call store_inverse_k 
+0x7194 031979 call function_aes_cmac 
+0x7195 031980 arg mem_aes_cmac_k ,contw 
+0x7196 031981 call store_aes_result 
+0x7197 031982 arg 1 ,temp 
+0x7198 031983 call function_f5_common 
+0x7199 031984 arg mem_le_ltk ,contw 
+0x719a 031985 call load_inverse_result 
+0x719b 031986 arg 0 ,temp 
+0x719c 031987 call function_f5_common 
+0x719d 031988 arg mem_le_mackey ,contw 
+0x719e 031990 branch store_aes_result 
+:      031993 function_f5_common:
+0x719f 031994 bpatchx patch3b_4 ,mem_patch3b 
+0x71a0 031995 jam 53 ,mem_aes_cmac_data_length 
+0x71a1 031996 setarg 0x100 
+0x71a2 031997 store 2 ,memdat 
+0x71a3 031998 call store_addr_common_b 
+0x71a4 031999 call store_addr_common_a 
+0x71a5 032000 arg mem_le_srand ,contr 
+0x71a6 032001 call memcpy16 
+0x71a7 032002 arg mem_le_mrand ,contr 
+0x71a8 032003 call memcpy16 
+0x71a9 032005 setarg 0x6c65 
+0x71aa 032006 istore 2 ,contw 
+0x71ab 032007 setarg 0x6274 
+0x71ac 032008 istore 2 ,contw 
+0x71ad 032009 istoret 1 ,contw 
+0x71ae 032010 call inverse_memdat 
+0x71af 032011 branch function_aes_cmac 
+:      032013 store_addr_common_b:
+0x71b0 032014 fetch 6 ,mem_le_lap 
+0x71b1 032015 istore 6 ,contw 
+0x71b2 032016 fetch 1 ,mem_le_conn_own_addr_type 
+0x71b3 032017 istore 1 ,contw 
+0x71b4 032018 rtn 
+:      032020 store_addr_common_a:
+0x71b5 032021 fetch 6 ,mem_le_plap 
+0x71b6 032022 istore 6 ,contw 
+0x71b7 032027 fetch 1 ,mem_le_conn_peer_addr_type 
+0x71b8 032028 istore 1 ,contw 
+0x71b9 032029 rtn 
+:      032031 function_f4_ca:
+0x71ba 032032 jam 65 ,mem_aes_cmac_data_length 
+0x71bb 032033 fetch 1 ,mem_passkey_1bit 
+0x71bc 032034 store 1 ,memdat 
+0x71bd 032035 arg mem_le_pubkey_local_x_256 ,contr 
+0x71be 032036 call memcpy32 
+0x71bf 032037 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c0 032038 call memcpy32 
+0x71c1 032039 call inverse_memdat 
+0x71c2 032040 arg mem_le_mrand ,contr 
+0x71c3 032041 call store_inverse_k 
+0x71c4 032042 branch function_aes_cmac 
+:      032045 function_f4_cb:
+0x71c5 032046 jam 65 ,mem_aes_cmac_data_length 
+0x71c6 032047 fetch 1 ,mem_passkey_1bit 
+0x71c7 032048 store 1 ,memdat 
+0x71c8 032049 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c9 032050 call memcpy32 
+0x71ca 032051 arg mem_le_pubkey_local_x_256 ,contr 
+0x71cb 032052 call memcpy32 
+0x71cc 032053 call inverse_memdat 
+0x71cd 032054 arg mem_le_srand ,contr 
+0x71ce 032055 call store_inverse_k 
+0x71cf 032056 branch function_aes_cmac 
+:      032058 function_aes_cmac:
+0x71d0 032059 bpatchx patch3b_5 ,mem_patch3b 
+0x71d1 032060 call function_aes_cmac_generate_subkey 
+0x71d2 032064 fetch 1 ,mem_aes_cmac_data_length 
+0x71d3 032065 copy pdata ,temp 
+:      032066 function_ceil16:
+0x71d4 032067 increase 15 ,pdata 
+0x71d5 032068 rshift4 pdata ,pdata 
+0x71d6 032069 copy pdata ,regb 
+0x71d7 032070 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x71d8 032071 and temp ,0x0f ,pdata 
+0x71d9 032072 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x71da 032074 arg mem_aes_cmac_k1 ,regc 
+0x71db 032075 arg memdat ,pdata 
+0x71dc 032076 increase -16 ,pdata 
+0x71dd 032079 iadd temp ,rega 
+0x71de 032080 arg mem_aes_cmac_m_last ,contw 
+0x71df 032081 arg 4 ,loopcnt 
+0x71e0 032082 call xor_loop 
+0x71e1 032086 branch function_aes_cmac_aes 
+:      032088 function_aes_cmac_set_flag_0_balnk:
+0x71e2 032089 arg 1 ,regb 
+0x71e3 032090 arg 0 ,rega 
+0x71e4 032092 branch function_aes_cmac_set_flag_0_common 
+:      032095 function_aes_cmac_set_flag_0:
+0x71e5 032097 and temp ,0x0f ,rega 
+:      032098 function_aes_cmac_set_flag_0_common:
+0x71e6 032099 arg memdat ,pdata 
+0x71e7 032100 iadd temp ,pdata 
+0x71e8 032101 isub rega ,contr 
+0x71e9 032103 arg mem_aes_cmac_temp ,contw 
+0x71ea 032104 call function_aes_cmac_padding 
+0x71eb 032106 arg mem_aes_cmac_k2 ,regc 
+0x71ec 032107 arg mem_aes_cmac_temp ,rega 
+0x71ed 032108 arg mem_aes_cmac_m_last ,contw 
+0x71ee 032109 arg 4 ,loopcnt 
+0x71ef 032110 call xor_loop 
+:      032117 function_aes_cmac_aes:
+0x71f0 032122 call aes_clear_data 
+0x71f1 032123 call aes_init 
+0x71f2 032126 arg memdat ,contr 
+:      032127 function_aes_cmac_aes_loop:
+0x71f3 032129 increase -1 ,regb 
+0x71f4 032130 deposit regb 
+0x71f5 032131 branch function_aes_cmac_aes_loop_end ,blank 
+0x71f6 032132 call load_data128 
+0x71f7 032133 call do_aes_cbc 
+0x71f8 032134 branch function_aes_cmac_aes_loop 
+:      032136 function_aes_cmac_aes_loop_end:
+0x71f9 032137 arg mem_aes_cmac_temp ,contw 
+0x71fa 032138 call store_aes_result 
+0x71fb 032139 arg mem_aes_cmac_m_last ,contr 
+0x71fc 032140 call load_data128 
+0x71fd 032141 call aes_init 
+0x71fe 032142 arg mem_aes_cmac_temp ,contr 
+0x71ff 032143 call load_data128 
+0x7200 032144 branch do_aes_cbc 
+:      032148 load_inverse_result:
+0x7201 032150 copy contw ,rega 
+0x7202 032151 call store_aes_result 
+0x7203 032153 arg 16 ,loopcnt 
+0x7204 032154 branch inverse_data 
+:      032156 store_inverse_k:
+0x7205 032157 arg mem_aes_cmac_k ,contw 
+0x7206 032158 call memcpy16 
+:      032159 inverse_k:
+0x7207 032160 arg 16 ,loopcnt 
+0x7208 032161 arg mem_aes_cmac_k ,rega 
+0x7209 032162 branch inverse_data 
+:      032164 inverse_memdat:
+0x720a 032165 fetch 1 ,mem_aes_cmac_data_length 
+0x720b 032166 copy pdata ,loopcnt 
+0x720c 032167 arg memdat ,rega 
+0x720d 032168 branch inverse_data 
+:      032170 bn_lshift_0_inverse:
+0x720e 032171 ifetch 1 ,rega 
+0x720f 032172 lshift pdata ,pdata 
+0x7210 032173 isolate1 0 ,regc 
+0x7211 032174 setflag true ,0 ,pdata 
+0x7212 032175 isolate1 8 ,pdata 
+0x7213 032176 setflag true ,0 ,regc 
+0x7214 032177 istore 1 ,rega 
+0x7215 032178 increase -1 ,rega 
+0x7216 032179 loop bn_lshift_0_inverse 
+0x7217 032180 rtn 
+:      032182 function_aes_cmac_k1_inverse:
+0x7218 032183 arg mem_aes_cmac_k1 ,rega 
+:      032184 function_aes_cmac_inverse_common:
+0x7219 032185 increase 15 ,rega 
+0x721a 032186 force 16 ,loopcnt 
+0x721b 032187 force 0 ,regc 
+0x721c 032188 branch bn_lshift_0_inverse 
+:      032190 function_aes_cmac_k2_inverse:
+0x721d 032191 arg mem_aes_cmac_k2 ,rega 
+0x721e 032192 branch function_aes_cmac_inverse_common 
+:      032195 function_aes_cmac_generate_subkey:
+0x721f 032196 arg mem_aes_cmac_k ,contr 
+0x7220 032197 call load_key 
+0x7221 032200 force regidx_xor ,regext_index 
+0x7222 032201 call aes_clear 
+0x7223 032202 call aes_clear_data 
+0x7224 032203 call do_aes_ocb 
+0x7225 032208 arg mem_aes_cmac_k1 ,contw 
+0x7226 032209 call store_aes_result 
+:      032210 function_aes_cmac_k1:
+0x7227 032211 bpatchx patch3b_6 ,mem_patch3b 
+0x7228 032212 fetch 1 ,mem_aes_cmac_k1 
+0x7229 032213 isolate1 7 ,pdata 
+0x722a 032214 nbranch function_aes_cmac_k1_0 ,true 
+0x722b 032215 call function_aes_cmac_k1_inverse 
+0x722c 032218 arg mem_aes_cmac_k1 ,regc 
+0x722d 032220 arg mem_aes_cmac_k1 ,contw 
+0x722e 032223 call function_aes_cmac_xor_rb 
+0x722f 032224 branch function_aes_cmac_k2 
+:      032225 function_aes_cmac_k1_0:
+0x7230 032226 call function_aes_cmac_k1_inverse 
+:      032227 function_aes_cmac_k2:
+0x7231 032229 arg mem_aes_cmac_k1 ,contr 
+0x7232 032230 arg mem_aes_cmac_k2 ,contw 
+0x7233 032231 call memcpy16 
+0x7234 032232 fetch 1 ,mem_aes_cmac_k2 
+0x7235 032233 isolate1 7 ,pdata 
+0x7236 032234 nbranch function_aes_cmac_k2_inverse ,true 
+0x7237 032235 call function_aes_cmac_k2_inverse 
+0x7238 032237 arg mem_aes_cmac_k2 ,regc 
+0x7239 032239 arg mem_aes_cmac_k2 ,contw 
+:      032245 function_aes_cmac_xor_rb:
+0x723a 032246 arg 3 ,loopcnt 
+:      032247 function_aes_cmac_xor_rb_loop:
+0x723b 032248 arg 0 ,temp 
+0x723c 032249 call function_aes_cmac_xor_loop_common 
+0x723d 032250 increase 4 ,regc 
+0x723e 032251 loop function_aes_cmac_xor_rb_loop 
+0x723f 032252 arg 0x8700 ,temp 
+0x7240 032253 lshift16 temp ,temp 
+:      032254 function_aes_cmac_xor_loop_common:
+0x7241 032255 ifetch 4 ,regc 
+0x7242 032256 ixor temp ,pdata 
+0x7243 032257 istore 4 ,contw 
+0x7244 032258 rtn 
+:      032264 function_aes_cmac_padding:
+0x7245 032265 bpatchx patch3b_7 ,mem_patch3b 
+0x7246 032266 arg 16 ,loopcnt 
+0x7247 032267 arg 0 ,pdata 
+:      032268 function_aes_cmac_padding_loop:
+0x7248 032269 isub rega ,null 
+0x7249 032270 branch function_aes_cmac_padding_beq_length ,zero 
+0x724a 032271 branch function_aes_cmac_padding_big_length ,positive 
+0x724b 032272 ifetcht 1 ,contr 
+0x724c 032273 istoret 1 ,contw 
+:      032274 function_aes_cmac_padding_loop2:
+0x724d 032275 increase 1 ,pdata 
+0x724e 032276 loop function_aes_cmac_padding_loop 
+0x724f 032277 rtn 
+:      032278 function_aes_cmac_padding_beq_length:
+0x7250 032279 arg 0x80 ,temp 
+:      032280 function_aes_cmac_padding_common:
+0x7251 032281 istoret 1 ,contw 
+0x7252 032282 branch function_aes_cmac_padding_loop2 
+:      032284 function_aes_cmac_padding_big_length:
+0x7253 032285 arg 0 ,temp 
+0x7254 032286 branch function_aes_cmac_padding_common 
+:      032289 generate_kinit:
+0x7255 032290 call function_e22 
+0x7256 032291 arg mem_input_store ,contr 
+0x7257 032292 arg mem_kinit ,contw 
+0x7258 032293 branch memcpy16 
+:      032296 function_e21:
+0x7259 032297 disable user 
+0x725a 032298 call function_expand 
+0x725b 032299 arg mem_random_number ,contr 
+0x725c 032300 arg mem_x ,contw 
+0x725d 032301 force 15 ,loopcnt 
+0x725e 032302 call memcpy 
+0x725f 032303 ifetch 1 ,contr 
+0x7260 032304 xor_into 6 ,pdata 
+0x7261 032305 istore 1 ,contw 
+0x7262 032306 setarg mem_y 
+0x7263 032307 store 2 ,memp_ar_input 
+0x7264 032308 setarg mem_x 
+0x7265 032309 store 2 ,memp_ar_key 
+0x7266 032310 set1 mark_ar2 ,mark 
+0x7267 032311 branch function_ar 
+:      032315 function_e22:
+0x7268 032316 fetcht 1 ,mem_pin_length 
+0x7269 032317 force 16 ,regb 
+0x726a 032318 add temp ,6 ,regc 
+0x726b 032319 sub regc ,16 ,null 
+0x726c 032320 branch function_e22_pin_init ,positive 
+0x726d 032321 force 16 ,regc 
+:      032322 function_e22_pin_init:
+0x726e 032323 arg mem_x ,contw 
+:      032324 function_e22_genx_pin:
+0x726f 032325 arg mem_pin ,contr 
+0x7270 032326 copy temp ,loopcnt 
+0x7271 032327 disable user 
+:      032328 function_e22_genx_loop:
+0x7272 032329 ifetch 1 ,contr 
+0x7273 032330 istore 1 ,contw 
+0x7274 032331 increase -1 ,regb 
+0x7275 032332 branch function_e22_genx_end ,zero 
+0x7276 032333 loop function_e22_genx_loop 
+0x7277 032334 branch function_e22_genx_pin ,user 
+0x7278 032335 enable user 
+0x7279 032336 force 6 ,loopcnt 
+0x727a 032337 copy rega ,contr 
+0x727b 032338 branch function_e22_genx_loop 
+:      032339 function_e22_genx_end:
+0x727c 032340 arg mem_random_number ,contr 
+0x727d 032341 arg mem_y ,contw 
+0x727e 032342 call memcpy16 
+0x727f 032343 fetch 1 ,mem_y15 
+0x7280 032344 ixor regc ,pdata 
+0x7281 032345 store 1 ,mem_y15 
+0x7282 032346 setarg mem_y 
+0x7283 032347 store 2 ,memp_ar_input 
+0x7284 032348 setarg mem_x 
+0x7285 032349 store 2 ,memp_ar_key 
+0x7286 032350 set1 mark_ar2 ,mark 
+0x7287 032351 branch function_ar 
+:      032356 function_e1:
+0x7288 032357 disable user 
+0x7289 032358 call function_expand 
+0x728a 032359 branch function_hash 
+:      032361 function_e3:
+0x728b 032362 arg mem_aco ,rega 
+0x728c 032363 enable user 
+0x728d 032364 call function_expand 
+0x728e 032365 call function_hash 
+0x728f 032366 arg mem_input_store ,contr 
+0x7290 032367 arg mem_kc ,contw 
+0x7291 032368 branch memcpy16 
+:      032371 function_hash:
+0x7292 032372 setarg mem_random_number 
+0x7293 032373 store 2 ,memp_ar_input 
+0x7294 032374 setarg mem_link_key 
+0x7295 032375 store 2 ,memp_ar_key 
+0x7296 032376 set0 mark_ar2 ,mark 
+0x7297 032377 call function_ar 
+0x7298 032378 arg mem_input_store ,rega 
+0x7299 032379 arg mem_random_number ,regb 
+0x729a 032380 arg mem_x ,contw 
+0x729b 032381 call xor16 
+0x729c 032382 arg mem_x ,rega 
+0x729d 032383 arg mem_y ,regb 
+0x729e 032384 copy regb ,contw 
+0x729f 032385 enable user 
+0x72a0 032386 call add16 
+0x72a1 032387 call key_offset 
+0x72a2 032388 setarg mem_y 
+0x72a3 032389 store 2 ,memp_ar_input 
+0x72a4 032390 setarg mem_x 
+0x72a5 032391 store 2 ,memp_ar_key 
+0x72a6 032392 set1 mark_ar2 ,mark 
+0x72a7 032393 branch function_ar 
+:      032397 function_ar:
+0x72a8 032398 jam 0 ,mem_ar_hround 
+0x72a9 032399 fetch 2 ,memp_ar_key 
+0x72aa 032400 iforce contr 
+0x72ab 032401 arg mem_key_store ,contw 
+0x72ac 032402 call memcpy16 
+0x72ad 032403 fetch 2 ,memp_ar_input 
+0x72ae 032404 iforce contr 
+0x72af 032405 arg mem_input_store ,contw 
+0x72b0 032406 call memcpy16 
+:      032408 function_ar_loop:
+0x72b1 032409 call key_scheduling 
+0x72b2 032410 disable user 
+0x72b3 032411 bmark0 mark_ar2 ,function_ar_original 
+0x72b4 032412 fetch 1 ,mem_ar_hround 
+0x72b5 032413 bne 4 ,function_ar_original 
+0x72b6 032414 fetch 2 ,memp_ar_input 
+0x72b7 032415 iforce regb 
+0x72b8 032416 call xor_mod32_ar2 
+:      032417 function_ar_original:
+0x72b9 032418 call xor_mod32 
+0x72ba 032419 call el_boxes 
+0x72bb 032420 fetch 1 ,mem_ar_hround 
+0x72bc 032421 increase 1 ,pdata 
+0x72bd 032422 store 1 ,mem_ar_hround 
+0x72be 032424 call key_scheduling 
+0x72bf 032425 enable user 
+0x72c0 032426 call xor_mod32 
+0x72c1 032427 call pht 
+0x72c2 032428 call permute 
+0x72c3 032429 call pht 
+0x72c4 032430 call permute 
+0x72c5 032431 call pht 
+0x72c6 032432 call permute 
+0x72c7 032433 call pht 
+0x72c8 032434 fetch 1 ,mem_ar_hround 
+0x72c9 032435 increase 1 ,pdata 
+0x72ca 032436 store 1 ,mem_ar_hround 
+0x72cb 032437 bne 16 ,function_ar_loop 
+0x72cc 032438 call key_scheduling 
+0x72cd 032439 disable user 
+0x72ce 032440 branch xor_mod32 
+:      032444 key_scheduling:
+0x72cf 032445 fetch 1 ,mem_ar_hround 
+0x72d0 032446 arg mem_key_store ,contr 
+0x72d1 032447 branch key_sched_zero ,blank 
+0x72d2 032448 iforce regb 
+0x72d3 032449 force 17 ,loopcnt 
+0x72d4 032450 copy contr ,contw 
+:      032451 key_rotateloop:
+0x72d5 032452 ifetch 1 ,contr 
+0x72d6 032453 lshift3 pdata ,temp 
+0x72d7 032454 rshift2 pdata ,pdata 
+0x72d8 032455 rshift3 pdata ,pdata 
+0x72d9 032456 ior temp ,pdata 
+0x72da 032457 istore 1 ,contw 
+0x72db 032458 loop key_rotateloop 
+0x72dc 032459 setarg mem_key_store 
+0x72dd 032460 iadd regb ,contr 
+0x72de 032461 force 16 ,loopcnt 
+0x72df 032462 arg mem_round_key ,contw 
+:      032463 key_select_octet_loop:
+0x72e0 032464 ifetch 1 ,contr 
+0x72e1 032465 istore 1 ,contw 
+0x72e2 032466 compare mem_key_store_end ,contr ,0xff 
+0x72e3 032467 nbranch key_select_octet_nwrap ,true 
+0x72e4 032468 increase -17 ,contr 
+:      032469 key_select_octet_nwrap:
+0x72e5 032470 loop key_select_octet_loop 
+0x72e6 032471 force 0 ,rega 
+0x72e7 032472 add regb ,-1 ,regc 
+0x72e8 032473 lshift2 regc ,regc 
+0x72e9 032474 lshift2 regc ,regc 
+0x72ea 032475 call enable_authrom 
+0x72eb 032476 setarg mem_b_box 
+0x72ec 032477 iadd regc ,regc 
+0x72ed 032478 arg mem_round_key ,contw 
+0x72ee 032479 force 16 ,loopcnt 
+:      032480 bias_round_key_loop:
+0x72ef 032481 ifetcht 1 ,regc 
+0x72f0 032482 ifetch 1 ,contw 
+0x72f1 032483 iadd temp ,pdata 
+0x72f2 032484 istore 1 ,contw 
+0x72f3 032485 increase 1 ,regc 
+0x72f4 032486 loop bias_round_key_loop 
+0x72f5 032487 branch disable_authrom 
+:      032489 key_sched_zero:
+0x72f6 032490 force 16 ,loopcnt 
+0x72f7 032491 force 0 ,temp 
+:      032492 create_byte_16_loop:
+0x72f8 032493 ifetch 1 ,contr 
+0x72f9 032494 ixor temp ,temp 
+0x72fa 032495 loop create_byte_16_loop 
+0x72fb 032496 deposit temp 
+0x72fc 032497 istore 1 ,contr 
+0x72fd 032498 arg mem_key_store ,contr 
+0x72fe 032499 arg mem_round_key ,contw 
+0x72ff 032500 branch memcpy16 
+:      032502 xor_mod32:
+0x7300 032503 arg mem_round_key ,regb 
+:      032504 xor_mod32_ar2:
+0x7301 032505 force 16 ,loopcnt 
+0x7302 032506 arg mem_input_store ,rega 
+0x7303 032507 copy rega ,contw 
+:      032508 xor_mod32_loop:
+0x7304 032509 ifetcht 1 ,rega 
+0x7305 032510 ifetch 1 ,regb 
+0x7306 032511 ixor temp ,alarm 
+0x7307 032512 and loopcnt ,3 ,regc 
+0x7308 032513 nbranch xor_mod32_invert ,user 
+0x7309 032514 xor_into 3 ,regc 
+:      032515 xor_mod32_invert:
+0x730a 032516 sub regc ,1 ,regc 
+0x730b 032517 branch xor_even ,positive 
+0x730c 032518 iadd temp ,alarm 
+:      032519 xor_even:
+0x730d 032520 deposit alarm 
+0x730e 032521 istore 1 ,contw 
+0x730f 032522 increase 1 ,rega 
+0x7310 032523 increase 1 ,regb 
+0x7311 032524 loop xor_mod32_loop 
+0x7312 032525 rtn 
+:      032527 el_boxes:
+0x7313 032528 call enable_authrom 
+0x7314 032529 force 16 ,loopcnt 
+0x7315 032530 arg mem_input_store ,rega 
+:      032531 el_box_loop:
+0x7316 032532 ifetch 1 ,rega 
+0x7317 032533 arg mem_e_box ,contr 
+0x7318 032534 and loopcnt ,3 ,regc 
+0x7319 032535 sub regc ,1 ,null 
+0x731a 032536 branch e_boxes ,positive 
+0x731b 032537 arg mem_l_box ,contr 
+:      032538 e_boxes:
+0x731c 032539 iadd contr ,contr 
+0x731d 032540 ifetch 1 ,contr 
+0x731e 032541 istore 1 ,rega 
+0x731f 032542 increase 1 ,rega 
+0x7320 032543 loop el_box_loop 
+0x7321 032544 branch disable_authrom 
+:      032546 pht:
+0x7322 032547 force 8 ,loopcnt 
+0x7323 032548 arg mem_input_store ,contr 
+0x7324 032549 copy contr ,contw 
+:      032550 pht_loop:
+0x7325 032551 ifetch 1 ,contr 
+0x7326 032552 iforce rega 
+0x7327 032553 ifetch 1 ,contr 
+0x7328 032554 iforce regb 
+0x7329 032555 lshift rega ,pdata 
+0x732a 032556 iadd regb ,pdata 
+0x732b 032557 istore 1 ,contw 
+0x732c 032558 deposit rega 
+0x732d 032559 iadd regb ,pdata 
+0x732e 032560 istore 1 ,contw 
+0x732f 032561 loop pht_loop 
+0x7330 032562 rtn 
+:      032565 permute:
+0x7331 032566 setarg 0x8ae42c 
+0x7332 032567 iforce temp 
+0x7333 032568 force 7 ,loopcnt 
+0x7334 032569 call permute_exchange 
+0x7335 032570 setarg 0xd751b 
+0x7336 032571 iforce temp 
+0x7337 032572 force 5 ,loopcnt 
+0x7338 032573 call permute_exchange 
+0x7339 032574 fetch 1 ,mem_input_store + 15 
+0x733a 032575 iforce rega 
+0x733b 032576 fetch 1 ,mem_input_store + 3 
+0x733c 032577 store 1 ,mem_input_store + 15 
+0x733d 032578 deposit rega 
+0x733e 032579 store 1 ,mem_input_store + 3 
+0x733f 032580 rtn 
+:      032582 permute_exchange:
+0x7340 032583 and temp ,0xf ,regb 
+:      032584 permute_loop:
+0x7341 032585 and temp ,0xf ,pdata 
+0x7342 032586 arg mem_input_store ,contw 
+0x7343 032587 iadd contw ,contw 
+0x7344 032588 ifetch 1 ,contw 
+0x7345 032589 iforce regc 
+0x7346 032590 deposit rega 
+0x7347 032591 istore 1 ,contw 
+0x7348 032592 copy regc ,rega 
+0x7349 032593 rshift4 temp ,temp 
+0x734a 032594 loop permute_loop 
+0x734b 032595 setarg mem_input_store 
+0x734c 032596 iadd regb ,contw 
+0x734d 032597 deposit rega 
+0x734e 032598 istore 1 ,contw 
+0x734f 032599 rtn 
+:      032601 add16:
+0x7350 032602 enable user 
+0x7351 032603 branch xor_add16 
+:      032605 xor16:
+0x7352 032606 disable user 
+:      032607 xor_add16:
+0x7353 032608 force 16 ,loopcnt 
+:      032609 xoradd_loop:
+0x7354 032610 ifetcht 1 ,rega 
+0x7355 032611 ifetch 1 ,regb 
+0x7356 032612 branch xoradd_add ,user 
+0x7357 032613 ixor temp ,pdata 
+0x7358 032614 branch xoradd_store 
+:      032615 xoradd_add:
+0x7359 032616 iadd temp ,pdata 
+:      032617 xoradd_store:
+0x735a 032618 istore 1 ,contw 
+0x735b 032619 increase 1 ,rega 
+0x735c 032620 increase 1 ,regb 
+0x735d 032621 loop xoradd_loop 
+0x735e 032622 rtn 
+:      032625 function_expand:
+0x735f 032626 arg mem_y ,contw 
+0x7360 032627 ifetch 6 ,rega 
+0x7361 032628 istore 6 ,contw 
+0x7362 032629 branch expand_12 ,user 
+0x7363 032630 ifetch 6 ,rega 
+0x7364 032631 branch expand_cont 
+:      032632 expand_12:
+0x7365 032633 ifetch 6 ,contr 
+:      032634 expand_cont:
+0x7366 032635 istore 6 ,contw 
+0x7367 032636 ifetch 4 ,rega 
+0x7368 032637 istore 4 ,contw 
+0x7369 032638 rtn 
+:      032640 key_offset:
+0x736a 032641 arg mem_link_key ,contr 
+0x736b 032642 arg mem_x ,contw 
+0x736c 032643 arg 0 ,temp 
+0x736d 032644 setarg 0x8395a7 
+0x736e 032645 call concatenate_temp24 
+0x736f 032646 setarg 0xb3c1df 
+0x7370 032647 call concatenate_temp24 
+0x7371 032648 setarg 0xe5e9 
+0x7372 032649 call concatenate_temp16 
+0x7373 032650 copy temp ,regab 
+0x7374 032651 disable user 
+0x7375 032652 call key_addxor 
+0x7376 032653 copy regab ,temp 
+0x7377 032654 enable user 
+0x7378 032655 branch key_addxor 
+:      032657 key_addxor:
+0x7379 032658 force 8 ,loopcnt 
+:      032659 key_addxor_loop:
+0x737a 032660 ifetch 1 ,contr 
+0x737b 032661 compare 1 ,loopcnt ,1 
+0x737c 032662 branch key_high ,user 
+0x737d 032663 branch key_xor ,true 
+:      032664 key_add:
+0x737e 032665 iadd temp ,pdata 
+0x737f 032666 branch key_store 
+:      032667 key_high:
+0x7380 032668 branch key_add ,true 
+:      032669 key_xor:
+0x7381 032670 ixor temp ,pdata 
+:      032671 key_store:
+0x7382 032672 istore 1 ,contw 
+0x7383 032673 rshift8 temp ,temp 
+0x7384 032674 loop key_addxor_loop 
+0x7385 032675 rtn 
+:      032677 copy_aco:
+0x7386 032678 fetch 6 ,mem_input_store + 4 
+0x7387 032679 store 6 ,mem_aco 
+0x7388 032680 ifetch 6 ,contr 
+0x7389 032681 istore 6 ,contw 
+0x738a 032682 rtn 
+:      032684 concatenate_temp24:
+0x738b 032685 lshift8 temp ,temp 
+:      032686 concatenate_temp16:
+0x738c 032687 lshift16 temp ,temp 
+0x738d 032688 ior temp ,temp 
+0x738e 032689 rtn 
+:      032693 loop1:
+0x738f 032694 branch loop1 
+:      032698 generate_stk:
+0x7390 032699 bpatchx patch3c_0 ,mem_patch3c 
+0x7391 032700 call function_s1 
+0x7392 032701 arg mem_le_ltk ,contw 
+0x7393 032702 branch store_aes_result 
+:      032705 authenticate_rconfirm:
+0x7394 032706 arg mem_le_srand ,contw 
+0x7395 032707 branch authenticate_mconfirm ,master 
+0x7396 032708 arg mem_le_mrand ,contw 
+:      032709 authenticate_mconfirm:
+0x7397 032710 copy contr ,rega 
+0x7398 032711 call memcpy16 
+0x7399 032712 call function_c1 
+0x739a 032713 arg mem_le_rconfirm ,contr 
+0x739b 032714 branch compare_res 
+:      032716 generate_confirm:
+0x739c 032717 arg mem_le_mrand ,rega 
+0x739d 032718 branch generate_mrand ,master 
+0x739e 032719 arg mem_le_srand ,rega 
+:      032720 generate_mrand:
+0x739f 032721 copy rega ,contw 
+0x73a0 032722 call generate_random 
+0x73a1 032723 branch function_c1 
+:      032725 generate_sk:
+0x73a2 032726 arg mem_le_skdm ,contr 
+0x73a3 032727 call load_data128 
+0x73a4 032728 arg mem_le_ltk ,contr 
+0x73a5 032729 call load_regext 
+0x73a6 032730 force 0x38 ,aes_ctrl 
+0x73a7 032731 force 0x0 ,aes_ctrl 
+0x73a8 032732 call wait_aes 
+0x73a9 032733 arg mem_le_sk ,contw 
+0x73aa 032734 branch store_aes_result 
+:      032737 first_block_counter:
+0x73ab 032738 force 0x49 ,pdata 
+0x73ac 032739 branch first_block 
+:      032740 first_block_data:
+0x73ad 032741 force 1 ,pdata 
+:      032742 first_block:
+0x73ae 032743 force regidx_data ,regext_index 
+0x73af 032744 lshift8 temp ,regext 
+0x73b0 032745 ior regext ,regext 
+0x73b1 032746 increase 1 ,regext_index 
+0x73b2 032747 rshift8 temp ,regext 
+0x73b3 032748 rshift16 regext ,regext 
+0x73b4 032749 fetch 2 ,mem_le_ivm 
+0x73b5 032750 lshift16 ,pdata ,pdata 
+0x73b6 032751 ior regext ,regext 
+0x73b7 032752 increase 1 ,regext_index 
+0x73b8 032753 ifetch 4 ,contr 
+0x73b9 032754 iforce regext 
+0x73ba 032755 increase 1 ,regext_index 
+0x73bb 032756 ifetch 2 ,contr 
+0x73bc 032757 byteswap rega ,regext 
+0x73bd 032758 lshift16 regext ,regext 
+0x73be 032759 ior regext ,regext 
+0x73bf 032760 increase 1 ,regext_index 
+0x73c0 032761 rtn 
+:      032765 generate_mic:
+0x73c1 032766 add regc ,1 ,contr 
+0x73c2 032767 ifetch 1 ,contr 
+0x73c3 032768 iforce rega 
+0x73c4 032769 call first_block_counter 
+0x73c5 032770 call do_aes_ocb 
+0x73c6 032772 force regidx_data ,regext_index 
+0x73c7 032773 ifetch 1 ,regc 
+0x73c8 032774 and_into 0x3 ,pdata 
+0x73c9 032775 lshift16 pdata ,regext 
+0x73ca 032776 set1 8 ,regext 
+0x73cb 032777 call clear_hidata 
+0x73cc 032778 call do_aes_cbc 
+0x73cd 032780 copy rega ,loopcnt 
+0x73ce 032781 add regc ,2 ,contr 
+0x73cf 032782 call padding_data 
+:      032783 generate_mic_loop:
+0x73d0 032784 call aes_load_data 
+0x73d1 032785 call do_aes_cbc 
+0x73d2 032786 deposit loopcnt 
+0x73d3 032787 branch generate_mic_end ,blank 
+0x73d4 032788 branch generate_mic_loop 
+:      032789 generate_mic_end:
+0x73d5 032790 force regidx_result ,regext_index 
+0x73d6 032791 deposit regext 
+0x73d7 032792 store 4 ,mem_le_mic 
+0x73d8 032793 rtn 
+:      032795 aes_crypt_data:
+0x73d9 032796 increase 1 ,rega 
+0x73da 032797 call first_block_data 
+0x73db 032798 copy regc ,contr 
+0x73dc 032799 call aes_load_xor 
+0x73dd 032800 call do_aes_ctr 
+0x73de 032801 call store_enc_data 
+0x73df 032802 increase 16 ,regc 
+0x73e0 032803 increase -16 ,regb 
+0x73e1 032804 branch aes_crypt_data ,positive 
+0x73e2 032805 rtn 
+:      032807 le_encrypt:
+0x73e3 032808 bpatchx patch3c_1 ,mem_patch3c 
+0x73e4 032809 arg mem_le_txheader ,regc 
+0x73e5 032810 fetcht 5 ,mem_le_pcnt_tx 
+0x73e6 032811 call generate_mic 
+0x73e7 032812 force regidx_xor ,regext_index 
+0x73e8 032813 iforce regext 
+0x73e9 032814 force 0 ,rega 
+0x73ea 032815 call first_block_data 
+0x73eb 032816 call do_aes_ctr 
+0x73ec 032817 arg mem_le_txpayload ,regc 
+0x73ed 032818 fetch 1 ,mem_le_txlen 
+0x73ee 032819 add pdata ,-1 ,regb 
+0x73ef 032820 iadd regc ,contw 
+0x73f0 032821 force regidx_result ,regext_index 
+0x73f1 032822 deposit regext 
+0x73f2 032823 istore 4 ,contw 
+0x73f3 032824 call aes_crypt_data 
+0x73f4 032825 fetch 1 ,mem_le_txlen 
+0x73f5 032826 increase 4 ,pdata 
+0x73f6 032827 store 1 ,mem_le_txlen 
+0x73f7 032828 fetcht 5 ,mem_le_pcnt_tx 
+0x73f8 032829 increase 1 ,temp 
+0x73f9 032830 storet 5 ,mem_le_pcnt_tx 
+0x73fa 032831 rtn 
+:      032833 le_decrypt:
+0x73fb 032834 bpatchx patch3c_2 ,mem_patch3c 
+0x73fc 032835 fetch 1 ,mem_le_rxbuf + 1 
+0x73fd 032836 sub pdata ,20 ,null 
+0x73fe 032837 branch le_dec_cont ,positive 
+:      032838 le_dec_cont:
+0x73ff 032839 arg mem_le_rxbuf + 2 ,regc 
+0x7400 032840 add pdata ,-1 ,regb 
+0x7401 032841 increase -4 ,pdata 
+0x7402 032842 store 1 ,mem_le_rxbuf + 1 
+0x7403 032843 iadd regc ,contr 
+0x7404 032844 ifetch 4 ,contr 
+0x7405 032845 force regidx_xor ,regext_index 
+0x7406 032846 iforce regext 
+0x7407 032847 force 0 ,rega 
+0x7408 032848 fetcht 5 ,mem_le_pcnt_rx 
+0x7409 032849 call first_block_data 
+0x740a 032850 call do_aes_ctr 
+0x740b 032851 force regidx_result ,regext_index 
+0x740c 032852 deposit regext 
+0x740d 032853 store 4 ,mem_le_peer_mic 
+0x740e 032854 call aes_crypt_data 
+0x740f 032855 arg mem_le_rxbuf ,regc 
+0x7410 032856 call generate_mic 
+0x7411 032857 fetcht 4 ,mem_le_peer_mic 
+0x7412 032858 isub temp ,pdata 
+0x7413 032859 nrtn blank 
+0x7414 032860 fetch 4 ,mem_le_last_mic 
+0x7415 032861 isub temp ,pdata 
+0x7416 032862 rtn blank 
+0x7417 032863 storet 4 ,mem_le_last_mic 
+0x7418 032864 fetch 5 ,mem_le_pcnt_rx 
+0x7419 032865 increase 1 ,pdata 
+0x741a 032866 store 5 ,mem_le_pcnt_rx 
+0x741b 032867 force 0 ,pdata 
+0x741c 032868 rtn 
+:      032870 wait_aes:
+0x741d 032871 nbranch wait_aes ,aes_ready 
+0x741e 032872 rtn 
+:      032874 do_aes_ocb:
+0x741f 032875 force 0x30 ,aes_ctrl 
+0x7420 032876 force 0x0 ,aes_ctrl 
+0x7421 032877 branch wait_aes 
+:      032879 do_aes_cbc:
+0x7422 032880 force 0x32 ,aes_ctrl 
+0x7423 032881 force 0x2 ,aes_ctrl 
+0x7424 032882 branch wait_aes 
+:      032884 do_aes_ctr:
+0x7425 032885 force 0x34 ,aes_ctrl 
+0x7426 032886 force 0x4 ,aes_ctrl 
+0x7427 032887 branch wait_aes 
+:      032890 aes_init:
+0x7428 032891 force 1 ,aes_ctrl 
+0x7429 032892 force 0 ,aes_ctrl 
+0x742a 032893 rtn 
+:      032894 function_s1:
+0x742b 032895 force regidx_data ,regext_index 
+0x742c 032896 fetch 4 ,mem_le_mrand 
+0x742d 032897 iforce regext 
+0x742e 032898 increase 1 ,regext_index 
+0x742f 032899 ifetch 4 ,contr 
+0x7430 032900 iforce regext 
+0x7431 032901 increase 1 ,regext_index 
+0x7432 032902 fetch 4 ,mem_le_srand 
+0x7433 032903 iforce regext 
+0x7434 032904 increase 1 ,regext_index 
+0x7435 032905 ifetch 4 ,contr 
+0x7436 032906 iforce regext 
+0x7437 032907 increase 1 ,regext_index 
+0x7438 032908 call aes_clear 
+0x7439 032909 increase -4 ,regext_index 
+0x743a 032910 fetch 4 ,mem_le_tk 
+0x743b 032911 copy pdata ,regext 
+0x743c 032912 increase 4 ,regext_index 
+0x743d 032913 force 0x38 ,aes_ctrl 
+0x743e 032914 force 0x8 ,aes_ctrl 
+0x743f 032915 branch wait_aes 
+:      032918 function_c1:
+0x7440 032919 bpatchx patch3c_3 ,mem_patch3c 
+0x7441 032920 fetch 6 ,mem_le_lap 
+0x7442 032921 fetcht 6 ,mem_le_plap 
+0x7443 032922 branch function_c1_master ,master 
+0x7444 032923 fetch 6 ,mem_le_plap 
+0x7445 032924 fetcht 6 ,mem_le_lap 
+:      032925 function_c1_master:
+0x7446 032926 force regidx_xor ,regext_index 
+0x7447 032927 copy temp ,regext 
+0x7448 032928 increase 1 ,regext_index 
+0x7449 032929 rshift32 temp ,regext 
+0x744a 032930 lshift16 pdata ,pdata 
+0x744b 032931 ior regext ,regext 
+0x744c 032932 increase 1 ,regext_index 
+0x744d 032933 rshift32 pdata ,regext 
+0x744e 032934 increase 1 ,regext_index 
+0x744f 032935 force 0 ,regext 
+0x7450 032936 force 0 ,pdata 
+0x7451 032937 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7452 032938 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7453 032939 nbranch function_c1_irat ,master 
+0x7454 032941 fetch 1 ,mem_le_conn_own_addr_type 
+0x7455 032942 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      032943 function_c1_irat:
+0x7456 032944 store 1 ,mem_le_iat 
+0x7457 032945 storet 1 ,mem_le_rat 
+0x7458 032946 force regidx_data ,regext_index 
+0x7459 032947 arg mem_le_iat ,regb 
+0x745a 032948 force 4 ,loopcnt 
+:      032949 function_c1_loop1:
+0x745b 032950 ifetch 4 ,rega 
+0x745c 032951 ifetcht 4 ,regb 
+0x745d 032952 ixor temp ,regext 
+0x745e 032953 increase 1 ,regext_index 
+0x745f 032954 increase 4 ,rega 
+0x7460 032955 increase 4 ,regb 
+0x7461 032956 loop function_c1_loop1 
+0x7462 032957 call aes_clear 
+0x7463 032958 increase -4 ,regext_index 
+0x7464 032959 fetch 4 ,mem_le_tk 
+0x7465 032960 copy pdata ,regext 
+0x7466 032961 increase 4 ,regext_index 
+0x7467 032962 force 0x38 ,aes_ctrl 
+0x7468 032963 force 0xc ,aes_ctrl 
+0x7469 032964 call wait_aes 
+0x746a 032966 call aes_clear_data 
+0x746b 032967 force 0x3a ,aes_ctrl 
+0x746c 032968 force 0x8 ,aes_ctrl 
+0x746d 032969 branch wait_aes 
+:      032971 padding_data:
+0x746e 032972 compare 0 ,loopcnt ,3 
+0x746f 032973 rtn true 
+0x7470 032974 deposit contr 
+0x7471 032975 iadd loopcnt ,contw 
+0x7472 032976 force 0 ,pdata 
+:      032977 padding_loop:
+0x7473 032978 istore 1 ,contw 
+0x7474 032979 increase 1 ,loopcnt 
+0x7475 032980 compare 0 ,loopcnt ,3 
+0x7476 032981 rtn true 
+0x7477 032982 branch padding_loop 
+:      032984 aes_load_data:
+0x7478 032985 force regidx_data ,regext_index 
+:      032986 load_data_loop:
+0x7479 032987 deposit loopcnt 
+0x747a 032988 branch load_data_padding ,blank 
+0x747b 032989 ifetch 4 ,contr 
+0x747c 032990 increase -4 ,loopcnt 
+:      032991 load_data_padding:
+0x747d 032992 iforce regext 
+0x747e 032993 increase 1 ,regext_index 
+0x747f 032994 compare regidx_key ,regext_index ,0xf 
+0x7480 032995 rtn true 
+0x7481 032996 branch load_data_loop 
+:      032998 aes_load_xor:
+0x7482 032999 force regidx_xor ,regext_index 
+0x7483 033000 branch load_regext 
+:      033001 load_key:
+0x7484 033002 force regidx_key ,regext_index 
+0x7485 033003 branch load_regext 
+:      033004 load_data128:
+0x7486 033005 force regidx_data ,regext_index 
+:      033006 load_regext:
+0x7487 033007 force 4 ,loopcnt 
+:      033008 load_regext_loop:
+0x7488 033009 ifetch 4 ,contr 
+0x7489 033010 iforce regext 
+0x748a 033011 increase 1 ,regext_index 
+0x748b 033012 loop load_regext_loop 
+0x748c 033013 rtn 
+:      033015 load_sk:
+0x748d 033016 arg mem_le_sk ,contr 
+0x748e 033017 branch load_key 
+:      033019 clear_hidata:
+0x748f 033020 force 4 ,loopcnt 
+0x7490 033021 branch clear_data_rest 
+:      033023 aes_clear_data:
+0x7491 033024 force regidx_data ,regext_index 
+:      033025 aes_clear:
+0x7492 033026 force 4 ,loopcnt 
+:      033027 clear_loop:
+0x7493 033028 force 0 ,regext 
+:      033029 clear_data_rest:
+0x7494 033030 increase 1 ,regext_index 
+0x7495 033031 loop clear_loop 
+0x7496 033032 rtn 
+:      033034 store_aes_result:
+0x7497 033035 force regidx_result ,regext_index 
+0x7498 033036 force 4 ,loopcnt 
+:      033037 send_aes_result_loop:
+0x7499 033038 deposit regext 
+0x749a 033039 istore 4 ,contw 
+0x749b 033040 increase 1 ,regext_index 
+0x749c 033041 loop send_aes_result_loop 
+0x749d 033042 rtn 
+:      033044 store_enc_data:
+0x749e 033045 force regidx_result ,regext_index 
+0x749f 033046 copy regc ,contw 
+0x74a0 033047 add regb ,1 ,loopcnt 
+0x74a1 033048 sub loopcnt ,15 ,null 
+0x74a2 033049 branch store_enc_loop ,positive 
+0x74a3 033050 force 16 ,loopcnt 
+:      033051 store_enc_loop:
+0x74a4 033052 deposit regext 
+0x74a5 033053 sub loopcnt ,3 ,null 
+0x74a6 033054 branch store_enc_byte ,positive 
+0x74a7 033055 istore 4 ,contw 
+0x74a8 033056 increase -4 ,loopcnt 
+0x74a9 033057 rtn zero 
+0x74aa 033058 increase 1 ,regext_index 
+0x74ab 033059 branch store_enc_loop 
+:      033060 store_enc_byte:
+0x74ac 033061 istore 1 ,contw 
+0x74ad 033062 rshift8 pdata ,pdata 
+0x74ae 033063 loop store_enc_byte 
+0x74af 033064 rtn 
+:      033067 compare_res:
+0x74b0 033068 force regidx_result ,regext_index 
+0x74b1 033069 force 4 ,loopcnt 
+:      033070 compare_res_loop:
+0x74b2 033071 ifetch 4 ,contr 
+0x74b3 033072 isub regext ,null 
+0x74b4 033073 nrtn zero 
+0x74b5 033074 increase 1 ,regext_index 
+0x74b6 033075 loop compare_res_loop 
+0x74b7 033076 force 0 ,null 
+0x74b8 033077 rtn 
+:      033079 enable_authrom:
+0x74b9 033080 hfetch 1 ,core_clkoff 
+0x74ba 033081 set0 clock_off_auth_rom ,pdata 
+0x74bb 033082 hstore 1 ,core_clkoff 
+0x74bc 033083 rtn 
+:      033085 disable_authrom:
+0x74bd 033086 hfetch 1 ,core_clkoff 
+0x74be 033087 set1 clock_off_auth_rom ,pdata 
+0x74bf 033088 hstore 1 ,core_clkoff 
+0x74c0 033089 rtn 
+:      033091 init_memp:
+0x74c1 033092 arg mem_p ,contw 
+0x74c2 033093 setsect 0 ,0x3ffff 
+0x74c3 033094 setsect 1 ,0x3ffff 
+0x74c4 033095 setsect 2 ,0x3ffff 
+0x74c5 033096 setsect 3 ,0x3fbff 
+0x74c6 033097 istore 9 ,contw 
+0x74c7 033098 setsect 0 ,0x3ffff 
+0x74c8 033099 setsect 1 ,0x3ffff 
+0x74c9 033100 setsect 2 ,0x3ffff 
+0x74ca 033101 setsect 3 ,0x3ffff 
+0x74cb 033102 istore 9 ,contw 
+0x74cc 033103 setsect 0 ,0x3ffff 
+0x74cd 033104 setsect 1 ,0x3ffff 
+0x74ce 033105 setsect 2 ,0x3cfff 
+0x74cf 033106 setsect 3 ,0x3ffff 
+0x74d0 033107 istore 9 ,contw 
+0x74d1 033108 setsect 0 ,0x3ffff 
+0x74d2 033109 setsect 1 ,0x3ffff 
+0x74d3 033110 setsect 2 ,0x3ffef 
+0x74d4 033111 setsect 3 ,0x3ffff 
+0x74d5 033112 istore 9 ,contw 
+0x74d6 033113 setsect 0 ,0x3ffff 
+0x74d7 033114 setsect 1 ,0x3ffff 
+0x74d8 033115 setsect 2 ,0x3ffff 
+0x74d9 033116 setsect 3 ,0x3ffff 
+0x74da 033117 istore 9 ,contw 
+0x74db 033118 setsect 0 ,0x3ffff 
+0x74dc 033119 setsect 1 ,0x26c7f 
+0x74dd 033120 setsect 2 ,0x146b 
+0x74de 033121 setsect 3 ,0x37bb3 
+0x74df 033122 istore 9 ,contw 
+0x74e0 033123 setsect 0 ,0x1feb8 
+0x74e1 033124 setsect 1 ,0x10c12 
+0x74e2 033125 setsect 2 ,0x2b722 
+0x74e3 033126 setsect 3 ,0x29fa6 
+0x74e4 033127 istore 9 ,contw 
+0x74e5 033128 setsect 0 ,0xe70f 
+0x74e6 033129 setsect 1 ,0x16720 
+0x74e7 033130 setsect 2 ,0x519e 
+0x74e8 033131 setsect 3 ,0x19084 
+0x74e9 033132 istore 9 ,contw 
+0x74ea 033133 setsect 0 ,0x31012 
+0x74eb 033134 setsect 1 ,0x360bf 
+0x74ec 033135 setsect 2 ,0x3f0af 
+0x74ed 033136 setsect 3 ,0x3d3 
+0x74ee 033137 istore 9 ,contw 
+0x74ef 033138 setsect 0 ,0x3a188 
+0x74f0 033139 setsect 1 ,0x3ad0 
+0x74f1 033140 setsect 2 ,0x3cbf2 
+0x74f2 033141 setsect 3 ,0x243d9 
+0x74f3 033142 istore 9 ,contw 
+0x74f4 033143 setsect 0 ,0x2b030 
+0x74f5 033144 setsect 1 ,0x36a03 
+0x74f6 033145 setsect 2 ,0x11188 
+0x74f7 033146 setsect 3 ,0x1e520 
+0x74f8 033147 istore 9 ,contw 
+0x74f9 033148 setsect 0 ,0x3a11e 
+0x74fa 033149 setsect 1 ,0xfe5d 
+0x74fb 033150 setsect 2 ,0xdd57 
+0x74fc 033151 setsect 3 ,0x1ac93 
+0x74fd 033152 istore 9 ,contw 
+0x74fe 033153 setsect 0 ,0x11ed 
+0x74ff 033154 setsect 1 ,0x218c4 
+0x7500 033155 setsect 2 ,0x8da7 
+0x7501 033156 setsect 3 ,0x257ff 
+0x7502 033157 istore 9 ,contw 
+0x7503 033158 setsect 0 ,0x3192b 
+0x7504 033159 setsect 1 ,0x34641 
+0x7505 033160 setsect 2 ,0x1be0c 
+0x7506 033161 setsect 3 ,0x366ad 
+0x7507 033162 istore 9 ,contw 
+0x7508 033163 setsect 0 ,0x1f83 
+0x7509 033164 setsect 1 ,0x15a23 
+0x750a 033165 setsect 2 ,0x3f9b0 
+0x750b 033166 setsect 3 ,0x3949 
+0x750c 033167 istore 9 ,contw 
+0x750d 033168 setsect 0 ,0x13a51 
+0x750e 033169 setsect 1 ,0x153fd 
+0x750f 033170 setsect 2 ,0x3372a 
+0x7510 033171 setsect 3 ,0xf1bb 
+0x7511 033172 istore 9 ,contw 
+0x7512 033173 setsect 0 ,0x3ae85 
+0x7513 033174 setsect 1 ,0x1eed9 
+0x7514 033175 setsect 2 ,0x9e66 
+0x7515 033176 setsect 3 ,0x1a8 
+0x7516 033177 istore 8 ,contw 
+0x7517 033178 rtn 
+:      033182 init_memp_256:
+0x7518 033183 arg mem_p_256 ,contw 
+0x7519 033184 setsect 0 ,0x3ffff 
+0x751a 033185 setsect 1 ,0x3ffff 
+0x751b 033186 setsect 2 ,0x3ffff 
+0x751c 033187 setsect 3 ,0x3ffff 
+0x751d 033188 istore 9 ,contw 
+0x751e 033189 setsect 0 ,0x3ffff 
+0x751f 033190 setsect 1 ,0x3f 
+0x7520 033191 setsect 2 ,0x0 
+0x7521 033192 setsect 3 ,0x0 
+0x7522 033193 istore 9 ,contw 
+0x7523 033194 setsect 0 ,0x0 
+0x7524 033195 setsect 1 ,0x0 
+0x7525 033196 setsect 2 ,0x1000 
+0x7526 033197 setsect 3 ,0x0 
+0x7527 033198 istore 9 ,contw 
+0x7528 033199 setsect 0 ,0x3ff00 
+0x7529 033200 setsect 1 ,0x3ffff 
+0x752a 033201 setsect 2 ,0x3ffcf 
+0x752b 033202 setsect 3 ,0x3ffff 
+0x752c 033203 istore 9 ,contw 
+0x752d 033204 setsect 0 ,0x3ffff 
+0x752e 033205 setsect 1 ,0x3ffff 
+0x752f 033206 setsect 2 ,0x3ffff 
+0x7530 033207 setsect 3 ,0x3ff 
+0x7531 033208 istore 9 ,contw 
+0x7532 033209 setsect 0 ,0x0 
+0x7533 033210 setsect 1 ,0x0 
+0x7534 033211 setsect 2 ,0x0 
+0x7535 033212 setsect 3 ,0x0 
+0x7536 033213 istore 9 ,contw 
+0x7537 033214 setsect 0 ,0x10000 
+0x7538 033215 setsect 1 ,0x0 
+0x7539 033216 setsect 2 ,0x3f000 
+0x753a 033217 setsect 3 ,0x3ffff 
+0x753b 033218 istore 9 ,contw 
+0x753c 033219 setsect 0 ,0x296ff 
+0x753d 033220 setsect 1 ,0x22630 
+0x753e 033221 setsect 2 ,0x3945d 
+0x753f 033222 setsect 3 ,0x3d284 
+0x7540 033223 istore 9 ,contw 
+0x7541 033224 setsect 0 ,0x333a0 
+0x7542 033225 setsect 1 ,0x4b7a 
+0x7543 033226 setsect 2 ,0x37d8 
+0x7544 033227 setsect 3 ,0x3c9dc 
+0x7545 033228 istore 9 ,contw 
+0x7546 033229 setsect 0 ,0x3a440 
+0x7547 033230 setsect 1 ,0x1b958 
+0x7548 033231 setsect 2 ,0x38bce 
+0x7549 033232 setsect 3 ,0x1091f 
+0x754a 033233 istore 9 ,contw 
+0x754b 033234 setsect 0 ,0x2e12c 
+0x754c 033235 setsect 1 ,0x1f47c 
+0x754d 033236 setsect 2 ,0x356b1 
+0x754e 033237 setsect 3 ,0x2fd47 
+0x754f 033238 istore 9 ,contw 
+0x7550 033239 setsect 0 ,0x6837 
+0x7551 033240 setsect 1 ,0x2ed90 
+0x7552 033241 setsect 2 ,0x1ecec 
+0x7553 033242 setsect 3 ,0x1acc5 
+0x7554 033243 istore 9 ,contw 
+0x7555 033244 setsect 0 ,0x23357 
+0x7556 033245 setsect 1 ,0x18af3 
+0x7557 033246 setsect 2 ,0xf9e1 
+0x7558 033247 setsect 3 ,0x129f0 
+0x7559 033248 istore 9 ,contw 
+0x755a 033249 setsect 0 ,0x2e7eb 
+0x755b 033250 setsect 1 ,0x3e6e3 
+0x755c 033251 setsect 2 ,0x3e1a7 
+0x755d 033252 setsect 3 ,0x10b8b 
+0x755e 033253 istore 9 ,contw 
+0x755f 033254 setsect 0 ,0x24fe3 
+0x7560 033255 setsect 1 ,0x20ef 
+0x7561 033256 setsect 2 ,0x1b5a6 
+0x7562 033257 setsect 3 ,0xdc2f 
+0x7563 033258 istore 9 ,contw 
+0x7564 033259 setsect 0 ,0x13860 
+0x7565 033260 setsect 1 ,0x2bd69 
+0x7566 033261 setsect 2 ,0x391a 
+0x7567 033262 setsect 3 ,0x1b222 
+0x7568 033263 istore 9 ,contw 
+0x7569 033264 rtn 
+:      033267 publickey_init:
+0x756a 033268 fetch 1 ,mem_ssp_enable 
+0x756b 033269 nbranch sp_initialize ,blank 
+0x756c 033270 branch sp_initialize_256 
+:      033272 sp_calc_sequence_256_check:
+0x756d 033273 bpatchx patch3c_4 ,mem_patch3c 
+0x756e 033274 fetch 1 ,mem_ssp_enable 
+0x756f 033275 rtn blank 
+0x7570 033276 fetch 1 ,mem_sp_local_key_invalid 
+0x7571 033277 rtnne sp_key_valid 
+0x7572 033278 fetch 1 ,mem_le_secure_connect_enable 
+0x7573 033279 rtn blank 
+0x7574 033280 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7575 033281 rtneq sp_key_valid_256 
+0x7576 033282 fetch 2 ,mem_ui_state_map 
+0x7577 033283 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x7578 033284 fetch 1 ,mem_le_sc_calc 
+0x7579 033285 beq sp_calc_standby ,sp_initialize_256 
+0x757a 033286 rtn 
+:      033287 stop_publickey_calc_256:
+0x757b 033288 jam sp_calc_standby ,mem_le_sc_calc 
+0x757c 033289 rtn 
+:      033292 sp_initialize:
+0x757d 033293 bpatchx patch3c_5 ,mem_patch3c 
+0x757e 033294 fetch 1 ,mem_ssp_enable 
+0x757f 033295 branch ssp_disable ,blank 
+0x7580 033296 call ssp_enable 
+0x7581 033297 call sp_clear_flags 
+0x7582 033298 branch sp_pubkey_calc 
+:      033300 sp_clear_flags:
+0x7583 033301 setarg 0 
+0x7584 033302 store 8 ,mem_sp_state_start 
+0x7585 033303 store 4 ,mem_sp_flag_start 
+0x7586 033304 store 7 ,mem_sp_iocap_remote 
+0x7587 033305 rtn 
+:      033307 sp_generate_local_key:
+0x7588 033308 jam sp_flag_commit ,mem_sp_flag 
+0x7589 033309 branch sp_generate_local_key0 
+:      033310 sp_master_generate_local_key:
+0x758a 033311 fetch 1 ,mem_sp_local_key_invalid 
+0x758b 033312 beq sp_key_valid ,sp_dhkey_calc 
+0x758c 033313 branch assert 
+:      033314 sp_generate_local_key0:
+0x758d 033315 fetch 1 ,mem_sp_local_key_invalid 
+0x758e 033316 beq sp_key_valid ,sp_start_send_pubkey 
+0x758f 033317 branch sp_pubkey_calc 
+:      033319 sp_start_send_pubkey:
+0x7590 033320 call sp_dhkey_calc 
+0x7591 033321 fetch 1 ,mem_master_sp_state 
+0x7592 033322 nrtn blank 
+0x7593 033323 jam sp_stat_key_send ,mem_sp_state 
+0x7594 033324 rtn 
+:      033327 sp_calc_check_publickey_256:
+0x7595 033328 call sp_calc_b256 
+0x7596 033329 arg mem_le_pubkey_remote_y_256 ,rega 
+0x7597 033330 arg mem_t7_256 ,contw 
+0x7598 033331 call bn_sqrmod_256 
+0x7599 033332 arg mem_le_pubkey_remote_x_256 ,rega 
+0x759a 033333 arg mem_t2_256 ,contw 
+0x759b 033334 call bn_sqrmod_256 
+0x759c 033335 arg mem_t2_256 ,rega 
+0x759d 033336 arg mem_le_pubkey_remote_x_256 ,regb 
+0x759e 033337 arg mem_t2_256 ,contw 
+0x759f 033338 call bn_mulmod_256 
+0x75a0 033339 arg mem_a_256 ,rega 
+0x75a1 033340 arg mem_le_pubkey_remote_x_256 ,regb 
+0x75a2 033341 arg mem_t3_256 ,contw 
+0x75a3 033342 call bn_mulmod_256 
+0x75a4 033343 arg mem_t3_256 ,rega 
+0x75a5 033344 arg mem_t2_256 ,regb 
+0x75a6 033345 arg mem_t2_256 ,contw 
+0x75a7 033346 call bn_addmod_256 
+0x75a8 033347 arg mem_t0_256 ,rega 
+0x75a9 033348 arg mem_t2_256 ,regb 
+0x75aa 033349 arg mem_t0_256 ,contw 
+0x75ab 033350 call bn_addmod_256 
+0x75ac 033351 arg 32 ,loopcnt 
+0x75ad 033352 arg mem_t7_256 ,rega 
+0x75ae 033353 arg mem_t0_256 ,regb 
+0x75af 033354 branch string_compare 
+:      033356 sp_calc_b256:
+0x75b0 033357 arg mem_gy_256 ,rega 
+0x75b1 033358 arg mem_t0_256 ,contw 
+0x75b2 033359 call bn_sqrmod_256 
+0x75b3 033360 arg mem_gx_256 ,rega 
+0x75b4 033361 arg mem_t2_256 ,contw 
+0x75b5 033362 call bn_sqrmod_256 
+0x75b6 033363 arg mem_t2_256 ,rega 
+0x75b7 033364 arg mem_gx_256 ,regb 
+0x75b8 033365 arg mem_t2_256 ,contw 
+0x75b9 033366 call bn_mulmod_256 
+0x75ba 033367 arg mem_a_256 ,rega 
+0x75bb 033368 arg mem_gx_256 ,regb 
+0x75bc 033369 arg mem_t3_256 ,contw 
+0x75bd 033370 call bn_mulmod_256 
+0x75be 033371 arg mem_t3_256 ,rega 
+0x75bf 033372 arg mem_t2_256 ,regb 
+0x75c0 033373 arg mem_t2_256 ,contw 
+0x75c1 033374 call bn_addmod_256 
+0x75c2 033375 arg mem_t0_256 ,rega 
+0x75c3 033376 arg mem_t2_256 ,regb 
+0x75c4 033377 arg mem_t0_256 ,contw 
+0x75c5 033378 branch bn_submod_256 
+:      033380 sp_calc_check_publickey:
+0x75c6 033381 call sp_calc_b 
+0x75c7 033382 arg mem_sp_pubkey_remote_y ,rega 
+0x75c8 033383 arg mem_t7_256 ,contw 
+0x75c9 033384 call bn_sqrmod 
+0x75ca 033385 arg mem_sp_pubkey_remote_x ,rega 
+0x75cb 033386 arg mem_t2_256 ,contw 
+0x75cc 033387 call bn_sqrmod 
+0x75cd 033388 arg mem_t2_256 ,rega 
+0x75ce 033389 arg mem_sp_pubkey_remote_x ,regb 
+0x75cf 033390 arg mem_t2_256 ,contw 
+0x75d0 033391 call bn_mulmod 
+0x75d1 033392 arg mem_a ,rega 
+0x75d2 033393 arg mem_sp_pubkey_remote_x ,regb 
+0x75d3 033394 arg mem_t3_256 ,contw 
+0x75d4 033395 call bn_mulmod 
+0x75d5 033396 arg mem_t3_256 ,rega 
+0x75d6 033397 arg mem_t2_256 ,regb 
+0x75d7 033398 arg mem_t2_256 ,contw 
+0x75d8 033399 call bn_addmod 
+0x75d9 033400 arg mem_t0_256 ,rega 
+0x75da 033401 arg mem_t2_256 ,regb 
+0x75db 033402 arg mem_t0_256 ,contw 
+0x75dc 033403 call bn_addmod 
+0x75dd 033404 arg 24 ,loopcnt 
+0x75de 033405 arg mem_t7_256 ,rega 
+0x75df 033406 arg mem_t0_256 ,regb 
+0x75e0 033407 branch string_compare 
+:      033409 sp_calc_b:
+0x75e1 033410 arg mem_gy ,rega 
+0x75e2 033411 arg mem_t0_256 ,contw 
+0x75e3 033412 call bn_sqrmod 
+0x75e4 033413 arg mem_gx ,rega 
+0x75e5 033414 arg mem_t2_256 ,contw 
+0x75e6 033415 call bn_sqrmod 
+0x75e7 033416 arg mem_t2_256 ,rega 
+0x75e8 033417 arg mem_gx ,regb 
+0x75e9 033418 arg mem_t2_256 ,contw 
+0x75ea 033419 call bn_mulmod 
+0x75eb 033420 arg mem_a ,rega 
+0x75ec 033421 arg mem_gx ,regb 
+0x75ed 033422 arg mem_t3_256 ,contw 
+0x75ee 033423 call bn_mulmod 
+0x75ef 033424 arg mem_t3_256 ,rega 
+0x75f0 033425 arg mem_t2_256 ,regb 
+0x75f1 033426 arg mem_t2_256 ,contw 
+0x75f2 033427 call bn_addmod 
+0x75f3 033428 arg mem_t0_256 ,rega 
+0x75f4 033429 arg mem_t2_256 ,regb 
+0x75f5 033430 arg mem_t0_256 ,contw 
+0x75f6 033431 branch bn_submod 
+:      033434 sp_calculate_commitment:
+0x75f7 033435 fetch 1 ,mem_sp_calc 
+0x75f8 033436 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x75f9 033437 call sp_local_random_key_generator 
+0x75fa 033438 arg mem_sp_prarm_stack ,contw 
+0x75fb 033439 setarg mem_sp_random_local_end 
+0x75fc 033440 istore 2 ,contw 
+0x75fd 033441 setarg mem_sp_pubkey_local_x_end 
+0x75fe 033442 istore 2 ,contw 
+0x75ff 033443 setarg mem_sp_pubkey_remote_x_end 
+0x7600 033444 istore 2 ,contw 
+0x7601 033445 branch sp_calculate_commitment0 
+:      033446 master_sp_calculate_commitment:
+0x7602 033447 arg mem_sp_prarm_stack ,contw 
+0x7603 033448 setarg mem_sp_random_remote_end 
+0x7604 033449 istore 2 ,contw 
+0x7605 033450 setarg mem_sp_pubkey_remote_x_end 
+0x7606 033451 istore 2 ,contw 
+0x7607 033452 setarg mem_sp_pubkey_local_x_end 
+0x7608 033453 istore 2 ,contw 
+:      033454 sp_calculate_commitment0:
+0x7609 033455 call function_f1 
+0x760a 033456 fetch 1 ,mem_master_sp_state 
+0x760b 033457 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x760c 033458 jam sp_flag_commit ,mem_sp_flag 
+0x760d 033459 jam sp_stat_commit_send ,mem_sp_state 
+0x760e 033460 rtn 
+:      033461 master_sp_calculate_commitment0:
+0x760f 033462 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x7610 033463 call sp_master_generate_local_key 
+0x7611 033464 branch master_set_mem_master_sp_flag 
+:      033466 sp_local_random_key_generator:
+0x7612 033467 arg mem_sp_random_local ,contw 
+0x7613 033468 force 8 ,queue 
+0x7614 033469 branch random_generator 
+:      033471 sp_calculate_commitment_wait_dhkey_calc:
+0x7615 033472 jam sp_flag_commit ,mem_sp_flag 
+0x7616 033473 rtn 
+:      033475 sp_confirm_check:
+0x7617 033477 bpatchx patch3c_6 ,mem_patch3c 
+0x7618 033478 arg mem_addr_value ,contw 
+0x7619 033479 fetch 6 ,mem_lap 
+0x761a 033480 istore 6 ,contw 
+0x761b 033481 fetch 6 ,mem_plap 
+0x761c 033482 istore 6 ,contw 
+0x761d 033483 fetch 3 ,mem_sp_iocap_remote 
+0x761e 033484 istore 3 ,contw 
+0x761f 033486 call function_f3a 
+0x7620 033488 arg mem_sp_calc_result_high ,rega 
+0x7621 033489 arg mem_sp_check_result ,regb 
+0x7622 033490 force 4 ,queue 
+0x7623 033491 call compare4 
+0x7624 033492 nbranch sp_confirm_check_failed ,true 
+0x7625 033494 call sp_confirm_check_success 
+0x7626 033495 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7627 033496 branch tid_set_reply 
+:      033498 sp_confirm_check_success:
+0x7628 033499 fetch 1 ,mem_master_sp_state 
+0x7629 033500 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x762a 033501 jam sp_stat_confirm_calc ,mem_sp_state 
+0x762b 033502 jam sp_flag_commit ,mem_sp_flag 
+0x762c 033503 jam lmp_accepted ,mem_lmo_opcode2 
+0x762d 033504 rtn 
+:      033505 sp_confirm_check_success_master:
+0x762e 033506 jam lmp_accepted ,mem_lmo_opcode2 
+0x762f 033507 jam sp_state_end ,mem_master_sp_state 
+0x7630 033508 branch master_set_mem_master_sp_flag 
+:      033511 sp_confirm_check_failed:
+0x7631 033512 fetch 1 ,mem_master_sp_state 
+0x7632 033513 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x7633 033514 jam sp_stat_null ,mem_sp_state 
+0x7634 033515 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7635 033517 jam authentication_failure_error ,mem_lmo_reason2 
+0x7636 033518 rtn 
+:      033519 sp_confirm_check_failed_master:
+0x7637 033520 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7638 033521 jam sp_stat_null ,mem_master_sp_state 
+0x7639 033522 rtn 
+:      033524 sp_confirm_calc:
+0x763a 033525 fetch 1 ,mem_sp_dh_ready 
+0x763b 033526 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x763c 033527 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x763d 033528 branch master_set_mem_master_sp_flag 
+:      033529 sp_confirm_calc_ready:
+0x763e 033530 arg mem_addr_value ,contw 
+0x763f 033531 fetch 6 ,mem_plap 
+0x7640 033532 istore 6 ,contw 
+0x7641 033533 fetch 6 ,mem_lap 
+0x7642 033534 istore 6 ,contw 
+0x7643 033535 fetch 3 ,mem_sp_iocap_local 
+0x7644 033536 istore 3 ,contw 
+0x7645 033538 call function_f3b 
+0x7646 033539 fetch 1 ,mem_master_sp_state 
+0x7647 033540 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x7648 033541 jam sp_stat_confirm_send ,mem_sp_state 
+0x7649 033542 jam sp_flag_commit ,mem_sp_flag 
+0x764a 033543 rtn 
+:      033544 sp_confirm_calc_master:
+0x764b 033545 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x764c 033546 jam sp_flag_commit ,mem_master_sp_flag 
+0x764d 033547 rtn 
+:      033549 sp_master_key_prarm_push:
+0x764e 033550 arg mem_sp_prarm_stack ,contw 
+0x764f 033551 fetch 6 ,mem_plap 
+0x7650 033552 istore 6 ,contw 
+0x7651 033553 fetch 6 ,mem_lap 
+0x7652 033554 istore 6 ,contw 
+0x7653 033555 setarg mem_sp_random_local_end 
+0x7654 033556 istore 2 ,contw 
+0x7655 033557 setarg mem_sp_random_remote_end 
+0x7656 033558 istore 2 ,contw 
+0x7657 033559 branch sp_link_key_calc 
+:      033560 sp_link_key_prarm_push:
+0x7658 033561 jam sp_stat_done ,mem_sp_state 
+0x7659 033562 arg mem_sp_prarm_stack ,contw 
+0x765a 033563 fetch 6 ,mem_lap 
+0x765b 033564 istore 6 ,contw 
+0x765c 033565 fetch 6 ,mem_plap 
+0x765d 033566 istore 6 ,contw 
+0x765e 033567 setarg mem_sp_random_remote_end 
+0x765f 033568 istore 2 ,contw 
+0x7660 033569 setarg mem_sp_random_local_end 
+0x7661 033570 istore 2 ,contw 
+:      033571 sp_link_key_calc:
+0x7662 033573 arg mem_addr_value ,contw 
+0x7663 033574 fetch 6 ,mem_sp_prarm_stack 
+0x7664 033575 istore 6 ,contw 
+0x7665 033576 fetch 6 ,mem_sp_prarm_stack + 6 
+0x7666 033577 istore 6 ,contw 
+0x7667 033579 call function_f2 
+0x7668 033582 jam 1 ,mem_link_key_exists 
+0x7669 033583 arg mem_link_key ,contw 
+0x766a 033584 arg mem_sp_calc_result_high ,contr 
+0x766b 033585 call memcpy16 
+0x766c 033586 branch generate_linkkey_continue 
+:      033589 sp_pubkey_calc:
+0x766d 033590 bpatchx patch3c_7 ,mem_patch3c 
+0x766e 033591 fetch 1 ,mem_sp_local_key_invalid 
+0x766f 033592 rtnne sp_key_invalid 
+0x7670 033593 fetch 1 ,mem_sp_calc 
+0x7671 033594 rtnne sp_calc_standby 
+0x7672 033595 arg mem_sp_private_key ,contw 
+0x7673 033596 force 11 ,queue 
+0x7674 033597 call random_generator 
+0x7675 033598 random pdata 
+0x7676 033599 rshift pdata ,pdata 
+0x7677 033600 istore 2 ,contw 
+0x7678 033602 arg mem_k ,contw 
+0x7679 033603 arg mem_sp_private_key ,contr 
+0x767a 033604 call memcpy24 
+0x767b 033606 arg mem_ax ,contw 
+0x767c 033607 arg mem_gx ,contr 
+0x767d 033608 call memcpy48 
+0x767e 033610 arg mem_az ,contw 
+0x767f 033611 call bn_zero 
+0x7680 033612 jam 1 ,mem_az 
+0x7681 033614 call eckp_calc_init 
+0x7682 033615 jam sp_calc_pubkey ,mem_sp_calc 
+0x7683 033616 rtn 
+:      033618 sp_pubkey_generated:
+0x7684 033619 arg mem_sp_pubkey_local ,contw 
+0x7685 033620 arg mem_bx ,contr 
+0x7686 033621 call memcpy48 
+0x7687 033622 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x7688 033623 jam sp_calc_standby ,mem_sp_calc 
+0x7689 033624 rtn 
+:      033626 sp_dhkey_calc:
+0x768a 033627 bpatchx patch3d_0 ,mem_patch3d 
+0x768b 033628 fetch 1 ,mem_sp_dhkey_invalid 
+0x768c 033629 rtnne sp_key_invalid 
+0x768d 033630 fetch 1 ,mem_sp_calc 
+0x768e 033631 rtnne sp_calc_standby 
+0x768f 033633 arg mem_k ,contw 
+0x7690 033634 arg mem_sp_private_key ,contr 
+0x7691 033635 call memcpy24 
+0x7692 033637 arg mem_ax ,contw 
+0x7693 033638 arg mem_sp_pubkey_remote ,contr 
+0x7694 033639 call memcpy48 
+0x7695 033641 arg mem_az ,contw 
+0x7696 033642 call bn_zero 
+0x7697 033643 jam 1 ,mem_az 
+0x7698 033645 call eckp_calc_init 
+0x7699 033646 jam sp_calc_dhkey ,mem_sp_calc 
+0x769a 033647 rtn 
+:      033649 sp_dhkey_generated:
+0x769b 033650 jam sp_flag_commit ,mem_sp_dh_ready 
+0x769c 033651 arg mem_sp_dhkey ,contw 
+0x769d 033652 arg mem_bx ,contr 
+0x769e 033653 call memcpy24 
+0x769f 033654 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x76a0 033655 jam sp_calc_standby ,mem_sp_calc 
+0x76a1 033656 rtn 
+:      033658 random_generator:
+0x76a2 033659 increase -1 ,queue 
+0x76a3 033660 nrtn positive 
+0x76a4 033661 random pdata 
+0x76a5 033662 istore 2 ,contw 
+0x76a6 033663 branch random_generator 
+:      033664 compare4:
+0x76a7 033665 increase -1 ,queue 
+0x76a8 033666 nbranch compare4_success ,positive 
+0x76a9 033667 ifetch 4 ,rega 
+0x76aa 033668 copy pdata ,temp 
+0x76ab 033669 ifetch 4 ,regb 
+0x76ac 033670 iflip temp ,pdata 
+0x76ad 033671 nbranch compare4_failed ,zero 
+0x76ae 033672 increase 4 ,rega 
+0x76af 033673 increase 4 ,regb 
+0x76b0 033674 branch compare4 
+:      033675 compare4_failed:
+0x76b1 033676 disable true 
+0x76b2 033677 rtn 
+:      033678 compare4_success:
+0x76b3 033679 enable true 
+0x76b4 033680 rtn 
+:      033687 simple_pairing_sequence:
+0x76b5 033688 bpatchx patch3d_1 ,mem_patch3d 
+0x76b6 033689 fetch 1 ,mem_sp_flag 
+0x76b7 033690 rtn blank 
+0x76b8 033691 call lmo_fifo_check 
+0x76b9 033692 nrtn blank 
+0x76ba 033693 jam sp_flag_standby ,mem_sp_flag 
+0x76bb 033694 fetch 1 ,mem_sp_state 
+0x76bc 033695 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x76bd 033696 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x76be 033697 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x76bf 033698 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x76c0 033699 beq sp_stat_key_generate ,sp_generate_local_key 
+0x76c1 033700 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x76c2 033701 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76c3 033702 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76c4 033703 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x76c5 033705 rtn 
+:      033707 master_simple_paring_sequence:
+0x76c6 033708 bpatchx patch3d_2 ,mem_patch3d 
+0x76c7 033709 fetch 1 ,mem_master_sp_flag 
+0x76c8 033710 rtn blank 
+0x76c9 033711 call lmo_fifo_check 
+0x76ca 033712 nrtn blank 
+0x76cb 033713 jam sp_flag_standby ,mem_master_sp_flag 
+0x76cc 033714 fetch 1 ,mem_master_sp_state 
+0x76cd 033715 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x76ce 033716 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x76cf 033717 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x76d0 033718 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x76d1 033719 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x76d2 033720 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x76d3 033721 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76d4 033722 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x76d5 033723 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76d6 033724 beq sp_state_end ,master_sp_sm_end 
+0x76d7 033725 rtn 
+:      033727 master_set_mem_master_sp_flag:
+0x76d8 033728 jam sp_flag_commit ,mem_master_sp_flag 
+0x76d9 033729 rtn 
+:      033731 master_clear_mem_master_sp_flag:
+0x76da 033732 jam sp_flag_standby ,mem_master_sp_flag 
+0x76db 033733 rtn 
+:      033734 sp_calc_sequence:
+0x76dc 033735 bpatchx patch3d_3 ,mem_patch3d 
+0x76dd 033736 fetch 1 ,mem_ssp_enable 
+0x76de 033737 rtn blank 
+0x76df 033738 fetch 1 ,mem_sp_calc 
+0x76e0 033739 rtn blank 
+0x76e1 033740 increase 0x80 ,pdata 
+0x76e2 033741 store 1 ,mem_sp_calc 
+0x76e3 033742 rtnbit1 7 
+0x76e4 033743 fetch 1 ,mem_ec_loopc 
+0x76e5 033744 branch sp_calc_sequence_done ,blank 
+0x76e6 033745 branch eckp_calc 
+:      033747 sp_calc_sequence_done:
+0x76e7 033748 call ecunmapz 
+0x76e8 033749 fetch 1 ,mem_sp_calc 
+0x76e9 033750 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x76ea 033751 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x76eb 033752 rtn 
+:      033755 bn_testbit:
+0x76ec 033756 and pdata ,7 ,queue 
+0x76ed 033757 rshift3 pdata ,pdata 
+0x76ee 033758 iadd contr ,contr 
+0x76ef 033759 ifetch 1 ,contr 
+0x76f0 033760 qisolate0 pdata 
+0x76f1 033761 rtn 
+:      033764 ec_copy:
+0x76f2 033765 call memcpy24 
+0x76f3 033766 call memcpy24 
+0x76f4 033767 branch memcpy24 
+:      033770 bn_eq_zero:
+0x76f5 033771 ifetch 8 ,contr 
+0x76f6 033772 nrtn blank 
+0x76f7 033773 ifetch 8 ,contr 
+0x76f8 033774 nrtn blank 
+0x76f9 033775 ifetch 8 ,contr 
+0x76fa 033776 rtn 
+:      033781 bn_eq_0:
+0x76fb 033782 ifetch 4 ,rega 
+0x76fc 033783 iforce temp 
+0x76fd 033784 ifetch 4 ,regb 
+0x76fe 033785 isub temp ,null 
+0x76ff 033786 nrtn zero 
+0x7700 033787 increase 4 ,rega 
+0x7701 033788 increase 4 ,regb 
+0x7702 033789 loop bn_eq_0 
+0x7703 033790 rtn 
+:      033793 bn_bigeq:
+0x7704 033794 force 6 ,loopcnt 
+0x7705 033795 increase 20 ,rega 
+0x7706 033796 increase 20 ,regb 
+:      033797 bn_bigeq_0:
+0x7707 033798 ifetch 4 ,regb 
+0x7708 033799 iforce temp 
+0x7709 033800 ifetch 4 ,rega 
+0x770a 033801 isub temp ,pdata 
+0x770b 033802 nrtn positive 
+0x770c 033803 nrtn blank 
+0x770d 033804 increase -4 ,rega 
+0x770e 033805 increase -4 ,regb 
+0x770f 033806 loop bn_bigeq_0 
+0x7710 033807 rtn 
+:      033809 bn_add:
+0x7711 033810 force 6 ,loopcnt 
+0x7712 033811 force 0 ,regc 
+:      033812 bn_add_0:
+0x7713 033813 ifetch 4 ,rega 
+0x7714 033814 iforce temp 
+0x7715 033815 ifetch 4 ,regb 
+0x7716 033816 iadd temp ,pdata 
+0x7717 033817 iadd regc ,pdata 
+0x7718 033818 istore 4 ,contw 
+0x7719 033819 isolate1 32 ,pdata 
+0x771a 033820 setflag true ,0 ,regc 
+0x771b 033821 increase 4 ,rega 
+0x771c 033822 increase 4 ,regb 
+0x771d 033823 loop bn_add_0 
+0x771e 033824 rtn 
+:      033826 bn_sub:
+0x771f 033827 force 6 ,loopcnt 
+0x7720 033828 force 0 ,regc 
+:      033829 bn_sub_0:
+0x7721 033830 ifetch 4 ,regb 
+0x7722 033831 iforce temp 
+0x7723 033832 ifetch 4 ,rega 
+0x7724 033833 isub temp ,pdata 
+0x7725 033834 isub regc ,pdata 
+0x7726 033835 istore 4 ,contw 
+0x7727 033836 isolate1 32 ,pdata 
+0x7728 033837 setflag true ,0 ,regc 
+0x7729 033838 increase 4 ,rega 
+0x772a 033839 increase 4 ,regb 
+0x772b 033840 loop bn_sub_0 
+0x772c 033841 rtn 
+:      033843 bn_rshift6:
+0x772d 033844 force 6 ,loopcnt 
+0x772e 033845 increase 20 ,rega 
+:      033846 bn_rshift:
+0x772f 033847 force 0 ,regc 
+:      033848 bn_rshift_0:
+0x7730 033849 ifetch 4 ,rega 
+0x7731 033850 isolate1 0 ,pdata 
+0x7732 033851 setflag true ,1 ,regc 
+0x7733 033852 rshift pdata ,pdata 
+0x7734 033853 isolate1 0 ,regc 
+0x7735 033854 setflag true ,31 ,pdata 
+0x7736 033855 istore 4 ,rega 
+0x7737 033856 increase -4 ,rega 
+0x7738 033857 rshift regc ,regc 
+0x7739 033858 loop bn_rshift_0 
+0x773a 033859 rtn 
+:      033861 bn_lshift:
+0x773b 033862 force 6 ,loopcnt 
+0x773c 033863 force 0 ,regc 
+:      033864 bn_lshift_0:
+0x773d 033865 ifetch 4 ,rega 
+0x773e 033866 isolate1 31 ,pdata 
+0x773f 033867 setflag true ,1 ,regc 
+0x7740 033868 lshift pdata ,pdata 
+0x7741 033869 isolate1 0 ,regc 
+0x7742 033870 setflag true ,0 ,pdata 
+0x7743 033871 istore 4 ,rega 
+0x7744 033872 increase 4 ,rega 
+0x7745 033873 rshift regc ,regc 
+0x7746 033874 loop bn_lshift_0 
+0x7747 033875 rtn 
+:      033877 bn_lshiftmod:
+0x7748 033878 call bn_lshift 
+:      033879 bn_lshiftmod_ismod:
+0x7749 033880 isolate1 0 ,regc 
+0x774a 033881 branch bn_lshiftmod_0 ,true 
+0x774b 033882 arg mem_p ,regb 
+0x774c 033883 copy rega ,regc 
+0x774d 033884 increase -24 ,rega 
+0x774e 033885 call bn_bigeq 
+0x774f 033886 nrtn positive 
+0x7750 033887 copy regc ,rega 
+:      033888 bn_lshiftmod_0:
+0x7751 033889 increase -24 ,rega 
+0x7752 033890 arg mem_p ,regb 
+0x7753 033891 copy rega ,contw 
+0x7754 033892 branch bn_sub 
+:      033895 bn_addmod:
+0x7755 033896 call bn_add 
+0x7756 033897 copy contw ,rega 
+0x7757 033898 branch bn_lshiftmod_ismod 
+:      033900 bn_submod:
+0x7758 033901 call bn_sub 
+0x7759 033902 isolate0 0 ,regc 
+0x775a 033903 rtn true 
+0x775b 033904 arg mem_p ,regb 
+0x775c 033905 add contw ,-24 ,rega 
+0x775d 033906 copy rega ,contw 
+0x775e 033907 branch bn_add 
+:      033910 bn_p192mod:
+0x775f 033911 copy contw ,timeup 
+0x7760 033912 copy rega ,alarm 
+0x7761 033913 arg mem_tmp2 ,regb 
+0x7762 033914 copy regb ,contw 
+0x7763 033915 add rega ,24 ,contr 
+0x7764 033916 ifetch 8 ,contr 
+0x7765 033917 istore 8 ,contw 
+0x7766 033918 istore 8 ,contw 
+0x7767 033919 force 0 ,pdata 
+0x7768 033920 istore 8 ,contw 
+0x7769 033921 copy timeup ,contw 
+0x776a 033922 call bn_addmod 
+0x776b 033923 arg mem_tmp2 ,regb 
+0x776c 033924 copy regb ,contw 
+0x776d 033925 force 0 ,pdata 
+0x776e 033926 istore 8 ,contw 
+0x776f 033927 add alarm ,32 ,contr 
+0x7770 033928 ifetch 8 ,contr 
+0x7771 033929 istore 8 ,contw 
+0x7772 033930 istore 8 ,contw 
+0x7773 033931 copy timeup ,rega 
+0x7774 033932 copy rega ,contw 
+0x7775 033933 call bn_addmod 
+0x7776 033934 arg mem_tmp2 ,regb 
+0x7777 033935 copy regb ,contw 
+0x7778 033936 add alarm ,40 ,contr 
+0x7779 033937 ifetch 8 ,contr 
+0x777a 033938 istore 8 ,contw 
+0x777b 033939 istore 8 ,contw 
+0x777c 033940 istore 8 ,contw 
+0x777d 033941 copy timeup ,rega 
+0x777e 033942 copy rega ,contw 
+0x777f 033943 branch bn_addmod 
+:      033946 bn_load:
+0x7780 033947 force 6 ,loopcnt 
+:      033948 bn_load_0:
+0x7781 033949 ifetch 4 ,contr 
+0x7782 033950 iforce regext 
+0x7783 033951 increase 1 ,regext_index 
+0x7784 033952 loop bn_load_0 
+0x7785 033953 rtn 
+:      033957 bn_mulmod:
+0x7786 033958 copy contw ,timeup 
+0x7787 033959 arg mem_tmp1 ,contw 
+0x7788 033960 call bn_zero 
+0x7789 033961 arg mem_tmp1 ,contw 
+0x778a 033962 copy rega ,contr 
+0x778b 033963 force 0 ,regext_index 
+0x778c 033964 call bn_load 
+0x778d 033965 copy regb ,contr 
+0x778e 033966 call bn_load 
+0x778f 033967 force 0 ,regb 
+:      033968 bn_mulmod_1:
+0x7790 033969 force 0 ,temp 
+0x7791 033970 force 6 ,regc 
+:      033971 bn_mulmod_0:
+0x7792 033972 ifetch 4 ,contw 
+0x7793 033973 iforce rega 
+0x7794 033974 copy regb ,regext_index 
+0x7795 033975 deposit regext 
+0x7796 033976 copy regc ,regext_index 
+0x7797 033977 imul32 regext ,pdata 
+0x7798 033978 iadd rega ,pdata 
+0x7799 033979 iadd temp ,pdata 
+0x779a 033980 istore 4 ,contw 
+0x779b 033981 rshift32 pdata ,temp 
+0x779c 033982 increase 1 ,regc 
+0x779d 033983 compare 12 ,regc ,0xff 
+0x779e 033984 nbranch bn_mulmod_0 ,true 
+0x779f 033985 deposit temp 
+0x77a0 033986 istore 4 ,contw 
+0x77a1 033987 increase -24 ,contw 
+0x77a2 033988 increase 1 ,regb 
+0x77a3 033989 compare 6 ,regb ,0xff 
+0x77a4 033990 nbranch bn_mulmod_1 ,true 
+0x77a5 033991 arg mem_tmp1 ,rega 
+0x77a6 033992 copy timeup ,contw 
+0x77a7 033993 branch bn_p192mod 
+:      033996 bn_sqrmod:
+0x77a8 033997 copy rega ,regb 
+0x77a9 033998 branch bn_mulmod 
+:      034000 bn_rshifteven:
+0x77aa 034001 copy rega ,alarm 
+:      034002 bn_rshifteven_1:
+0x77ab 034003 copy alarm ,rega 
+0x77ac 034004 ifetch 1 ,rega 
+0x77ad 034005 isolate1 0 ,pdata 
+0x77ae 034006 rtn true 
+0x77af 034007 call bn_rshift6 
+0x77b0 034008 ifetch 1 ,regb 
+0x77b1 034009 isolate0 0 ,pdata 
+0x77b2 034010 branch bn_rshifteven_0 ,true 
+0x77b3 034011 arg mem_p ,rega 
+0x77b4 034012 copy regb ,contw 
+0x77b5 034013 call bn_add 
+0x77b6 034014 ifetch 1 ,regb 
+0x77b7 034015 iadd regc ,pdata 
+0x77b8 034016 istore 1 ,regb 
+0x77b9 034017 increase -24 ,regb 
+:      034018 bn_rshifteven_0:
+0x77ba 034019 add regb ,24 ,rega 
+0x77bb 034020 force 7 ,loopcnt 
+0x77bc 034021 call bn_rshift 
+0x77bd 034022 branch bn_rshifteven_1 
+:      034025 bn_invmod:
+0x77be 034026 copy contw ,timeup 
+0x77bf 034027 arg mem_tmp0 ,contw 
+0x77c0 034028 call bn_zero 
+0x77c1 034029 force 0 ,pdata 
+0x77c2 034030 store 4 ,mem_tmp5 
+0x77c3 034031 store 4 ,mem_t2 
+0x77c4 034032 jam 1 ,mem_tmp0 
+0x77c5 034033 arg mem_tmp1 ,contw 
+0x77c6 034034 call bn_zero 
+0x77c7 034035 arg mem_p ,contr 
+0x77c8 034036 arg mem_tmp2 ,contw 
+0x77c9 034037 call memcpy24 
+0x77ca 034038 copy rega ,contr 
+0x77cb 034039 arg mem_tmp3 ,contw 
+0x77cc 034040 call memcpy24 
+:      034041 bn_invmod_2:
+0x77cd 034042 arg mem_tmp3 ,contr 
+0x77ce 034043 call bn_eq_zero 
+0x77cf 034044 branch bn_invmod_0 ,blank 
+0x77d0 034045 arg mem_tmp3 ,rega 
+0x77d1 034046 arg mem_tmp0 ,regb 
+0x77d2 034047 call bn_rshifteven 
+0x77d3 034049 arg mem_tmp2 ,rega 
+0x77d4 034050 arg mem_tmp1 ,regb 
+0x77d5 034051 call bn_rshifteven 
+0x77d6 034052 arg mem_tmp3 ,rega 
+0x77d7 034053 arg mem_tmp2 ,regb 
+0x77d8 034054 call bn_bigeq 
+0x77d9 034055 branch bn_invmod_1 ,positive 
+0x77da 034056 arg mem_tmp2 ,rega 
+0x77db 034057 arg mem_tmp3 ,regb 
+0x77dc 034058 copy rega ,contw 
+0x77dd 034059 call bn_sub 
+0x77de 034060 arg mem_tmp0 ,rega 
+0x77df 034061 arg mem_tmp1 ,regb 
+0x77e0 034062 copy regb ,contw 
+0x77e1 034063 call bn_add 
+0x77e2 034064 ifetch 1 ,rega 
+0x77e3 034065 iadd regc ,regc 
+0x77e4 034066 ifetch 1 ,regb 
+0x77e5 034067 iadd regc ,pdata 
+0x77e6 034068 istore 1 ,regb 
+0x77e7 034069 branch bn_invmod_2 
+:      034070 bn_invmod_1:
+0x77e8 034071 arg mem_tmp3 ,rega 
+0x77e9 034072 arg mem_tmp2 ,regb 
+0x77ea 034073 copy rega ,contw 
+0x77eb 034074 call bn_sub 
+0x77ec 034075 arg mem_tmp1 ,rega 
+0x77ed 034076 arg mem_tmp0 ,regb 
+0x77ee 034077 copy regb ,contw 
+0x77ef 034078 call bn_add 
+0x77f0 034079 ifetch 1 ,rega 
+0x77f1 034080 iadd regc ,regc 
+0x77f2 034081 ifetch 1 ,regb 
+0x77f3 034082 iadd regc ,pdata 
+0x77f4 034083 istore 1 ,regb 
+0x77f5 034084 branch bn_invmod_2 
+:      034085 bn_invmod_0:
+0x77f6 034086 arg mem_tmp0 ,contw 
+0x77f7 034087 call bn_zero 
+0x77f8 034088 fetch 1 ,mem_tmp5 
+0x77f9 034089 store 1 ,mem_tmp0 
+0x77fa 034090 store 1 ,mem_tmp0a 
+0x77fb 034091 arg mem_tmp0 ,rega 
+0x77fc 034092 arg mem_tmp1 ,regb 
+0x77fd 034093 copy regb ,contw 
+0x77fe 034094 call bn_addmod 
+0x77ff 034095 arg mem_p ,rega 
+0x7800 034096 arg mem_tmp1 ,regb 
+0x7801 034097 copy timeup ,contw 
+0x7802 034098 branch bn_submod 
+:      034103 ecdbl:
+0x7803 034104 arg mem_cz ,rega 
+0x7804 034105 arg mem_t2 ,contw 
+0x7805 034106 call bn_sqrmod 
+0x7806 034107 arg mem_t2 ,rega 
+0x7807 034108 arg mem_t3 ,contw 
+0x7808 034109 call bn_sqrmod 
+0x7809 034110 arg mem_a ,rega 
+0x780a 034111 arg mem_t3 ,regb 
+0x780b 034112 arg mem_t3 ,contw 
+0x780c 034113 call bn_mulmod 
+0x780d 034114 arg mem_cx ,rega 
+0x780e 034115 arg mem_t2 ,contw 
+0x780f 034116 call bn_sqrmod 
+0x7810 034117 arg mem_t2 ,contr 
+0x7811 034118 arg mem_t1 ,contw 
+0x7812 034119 call memcpy24 
+0x7813 034120 arg mem_t1 ,rega 
+0x7814 034121 call bn_lshiftmod 
+0x7815 034122 arg mem_t2 ,rega 
+0x7816 034123 arg mem_t1 ,regb 
+0x7817 034124 arg mem_t2 ,contw 
+0x7818 034125 call bn_addmod 
+0x7819 034126 arg mem_t2 ,rega 
+0x781a 034127 arg mem_t3 ,regb 
+0x781b 034128 arg mem_t2 ,contw 
+0x781c 034129 call bn_addmod 
+0x781d 034130 arg mem_cx ,contr 
+0x781e 034131 arg mem_t1 ,contw 
+0x781f 034132 call memcpy24 
+0x7820 034133 arg mem_cy ,rega 
+0x7821 034134 arg mem_t3 ,contw 
+0x7822 034135 call bn_sqrmod 
+0x7823 034136 arg mem_t1 ,rega 
+0x7824 034137 call bn_lshiftmod 
+0x7825 034138 arg mem_t1 ,rega 
+0x7826 034139 call bn_lshiftmod 
+0x7827 034140 arg mem_t1 ,rega 
+0x7828 034141 arg mem_t3 ,regb 
+0x7829 034142 arg mem_t1 ,contw 
+0x782a 034143 call bn_mulmod 
+0x782b 034144 arg mem_t3 ,rega 
+0x782c 034145 arg mem_t0 ,contw 
+0x782d 034146 call bn_sqrmod 
+0x782e 034147 arg mem_t0 ,rega 
+0x782f 034148 call bn_lshiftmod 
+0x7830 034149 arg mem_t0 ,rega 
+0x7831 034150 call bn_lshiftmod 
+0x7832 034151 arg mem_t0 ,rega 
+0x7833 034152 call bn_lshiftmod 
+0x7834 034153 arg mem_cy ,contr 
+0x7835 034154 arg mem_t3 ,contw 
+0x7836 034155 call memcpy24 
+0x7837 034156 arg mem_t3 ,rega 
+0x7838 034157 call bn_lshiftmod 
+0x7839 034158 arg mem_t3 ,rega 
+0x783a 034159 arg mem_cz ,regb 
+0x783b 034160 arg mem_cz ,contw 
+0x783c 034161 call bn_mulmod 
+0x783d 034162 arg mem_t2 ,rega 
+0x783e 034163 arg mem_t3 ,contw 
+0x783f 034164 call bn_sqrmod 
+0x7840 034165 arg mem_t3 ,rega 
+0x7841 034166 arg mem_t1 ,regb 
+0x7842 034167 arg mem_t3 ,contw 
+0x7843 034168 call bn_submod 
+0x7844 034169 arg mem_t3 ,rega 
+0x7845 034170 arg mem_t1 ,regb 
+0x7846 034171 arg mem_cx ,contw 
+0x7847 034172 call bn_submod 
+0x7848 034173 arg mem_t1 ,rega 
+0x7849 034174 arg mem_cx ,regb 
+0x784a 034175 arg mem_t3 ,contw 
+0x784b 034176 call bn_submod 
+0x784c 034177 arg mem_t3 ,rega 
+0x784d 034178 arg mem_t2 ,regb 
+0x784e 034179 arg mem_t3 ,contw 
+0x784f 034180 call bn_mulmod 
+0x7850 034181 arg mem_t3 ,rega 
+0x7851 034182 arg mem_t0 ,regb 
+0x7852 034183 arg mem_cy ,contw 
+0x7853 034184 branch bn_submod 
+:      034188 ecadd:
+0x7854 034189 arg mem_az ,rega 
+0x7855 034190 arg mem_t7 ,contw 
+0x7856 034191 call bn_sqrmod 
+0x7857 034192 arg mem_cx ,rega 
+0x7858 034193 arg mem_t7 ,regb 
+0x7859 034194 arg mem_t0 ,contw 
+0x785a 034195 call bn_mulmod 
+0x785b 034196 arg mem_az ,rega 
+0x785c 034197 arg mem_t7 ,regb 
+0x785d 034198 arg mem_t7 ,contw 
+0x785e 034199 call bn_mulmod 
+0x785f 034200 arg mem_cy ,rega 
+0x7860 034201 arg mem_t7 ,regb 
+0x7861 034202 arg mem_t1 ,contw 
+0x7862 034203 call bn_mulmod 
+0x7863 034204 arg mem_cz ,rega 
+0x7864 034205 arg mem_t7 ,contw 
+0x7865 034206 call bn_sqrmod 
+0x7866 034207 arg mem_ax ,rega 
+0x7867 034208 arg mem_t7 ,regb 
+0x7868 034209 arg mem_t2 ,contw 
+0x7869 034210 call bn_mulmod 
+0x786a 034211 arg mem_cz ,rega 
+0x786b 034212 arg mem_t7 ,regb 
+0x786c 034213 arg mem_t7 ,contw 
+0x786d 034214 call bn_mulmod 
+0x786e 034215 arg mem_ay ,rega 
+0x786f 034216 arg mem_t7 ,regb 
+0x7870 034217 arg mem_t3 ,contw 
+0x7871 034218 call bn_mulmod 
+0x7872 034219 arg mem_t0 ,rega 
+0x7873 034220 arg mem_t2 ,regb 
+0x7874 034221 arg mem_t7 ,contw 
+0x7875 034222 call bn_submod 
+0x7876 034223 arg mem_t0 ,rega 
+0x7877 034224 arg mem_t2 ,regb 
+0x7878 034225 arg mem_t0 ,contw 
+0x7879 034226 call bn_addmod 
+0x787a 034227 arg mem_t1 ,rega 
+0x787b 034228 arg mem_t3 ,regb 
+0x787c 034229 arg mem_t2 ,contw 
+0x787d 034230 call bn_submod 
+0x787e 034231 arg mem_t1 ,rega 
+0x787f 034232 arg mem_t3 ,regb 
+0x7880 034233 arg mem_t1 ,contw 
+0x7881 034234 call bn_addmod 
+0x7882 034235 arg mem_t1 ,rega 
+0x7883 034236 arg mem_t7 ,regb 
+0x7884 034237 arg mem_t1 ,contw 
+0x7885 034238 call bn_mulmod 
+0x7886 034239 arg mem_cz ,rega 
+0x7887 034240 arg mem_az ,regb 
+0x7888 034241 arg mem_t3 ,contw 
+0x7889 034242 call bn_mulmod 
+0x788a 034243 arg mem_t3 ,rega 
+0x788b 034244 arg mem_t7 ,regb 
+0x788c 034245 arg mem_cz ,contw 
+0x788d 034246 call bn_mulmod 
+0x788e 034247 arg mem_t7 ,rega 
+0x788f 034248 arg mem_t7 ,contw 
+0x7890 034249 call bn_sqrmod 
+0x7891 034250 arg mem_t7 ,rega 
+0x7892 034251 arg mem_t0 ,regb 
+0x7893 034252 arg mem_t3 ,contw 
+0x7894 034253 call bn_mulmod 
+0x7895 034254 arg mem_t7 ,rega 
+0x7896 034255 arg mem_t1 ,regb 
+0x7897 034256 arg mem_t1 ,contw 
+0x7898 034257 call bn_mulmod 
+0x7899 034258 arg mem_t2 ,rega 
+0x789a 034259 arg mem_cx ,contw 
+0x789b 034260 call bn_sqrmod 
+0x789c 034261 arg mem_cx ,rega 
+0x789d 034262 arg mem_t3 ,regb 
+0x789e 034263 arg mem_cx ,contw 
+0x789f 034264 call bn_submod 
+0x78a0 034265 arg mem_cx ,contr 
+0x78a1 034266 arg mem_t7 ,contw 
+0x78a2 034267 call memcpy24 
+0x78a3 034268 arg mem_t7 ,rega 
+0x78a4 034269 call bn_lshiftmod 
+0x78a5 034270 arg mem_t3 ,rega 
+0x78a6 034271 arg mem_t7 ,regb 
+0x78a7 034272 arg mem_t3 ,contw 
+0x78a8 034273 call bn_submod 
+0x78a9 034274 arg mem_t3 ,rega 
+0x78aa 034275 arg mem_t2 ,regb 
+0x78ab 034276 arg mem_t2 ,contw 
+0x78ac 034277 call bn_mulmod 
+0x78ad 034278 arg mem_t2 ,rega 
+0x78ae 034279 arg mem_t1 ,regb 
+0x78af 034280 arg mem_cy ,contw 
+0x78b0 034281 call bn_submod 
+0x78b1 034282 arg mem_cy ,rega 
+0x78b2 034283 arg mem_p ,regb 
+0x78b3 034284 arg mem_cy ,contw 
+0x78b4 034285 force 0 ,regc 
+0x78b5 034286 fetch 1 ,mem_cy 
+0x78b6 034287 isolate1 0 ,pdata 
+0x78b7 034288 call bn_add ,true 
+0x78b8 034289 copy regc ,alarm 
+0x78b9 034290 arg mem_cy ,rega 
+0x78ba 034291 call bn_rshift6 
+0x78bb 034292 fetch 1 ,mem_cy5 
+0x78bc 034293 isolate1 0 ,alarm 
+0x78bd 034294 setflag true ,7 ,pdata 
+0x78be 034295 store 1 ,mem_cy5 
+0x78bf 034296 rtn 
+:      034300 eckp_0:
+0x78c0 034301 fetch 1 ,mem_ec_loopc 
+0x78c1 034302 increase -1 ,pdata 
+0x78c2 034303 nrtn positive 
+0x78c3 034304 store 1 ,mem_ec_loopc 
+0x78c4 034305 fetch 1 ,mem_ec_infinite 
+0x78c5 034306 call ecdbl ,blank 
+0x78c6 034307 fetch 1 ,mem_ec_loopc 
+0x78c7 034308 arg mem_k ,contr 
+0x78c8 034309 call bn_testbit 
+0x78c9 034310 branch eckp_0 ,true 
+0x78ca 034311 fetch 1 ,mem_ec_infinite 
+0x78cb 034312 nbranch eckp_1 ,blank 
+0x78cc 034313 call ecadd 
+0x78cd 034314 branch eckp_0 
+:      034315 eckp_1:
+0x78ce 034316 jam 0 ,mem_ec_infinite 
+0x78cf 034317 arg mem_ax ,contr 
+0x78d0 034318 arg mem_cx ,contw 
+0x78d1 034319 call ec_copy 
+0x78d2 034320 branch eckp_0 
+:      034323 ecunmapz:
+0x78d3 034324 arg mem_cz ,rega 
+0x78d4 034325 arg mem_t3 ,contw 
+0x78d5 034326 call bn_invmod 
+0x78d6 034327 arg mem_t3 ,rega 
+0x78d7 034328 arg mem_t1 ,contw 
+0x78d8 034329 call bn_sqrmod 
+0x78d9 034330 arg mem_cx ,rega 
+0x78da 034331 arg mem_t1 ,regb 
+0x78db 034332 arg mem_bx ,contw 
+0x78dc 034333 call bn_mulmod 
+0x78dd 034334 arg mem_t3 ,rega 
+0x78de 034335 arg mem_t1 ,regb 
+0x78df 034336 arg mem_t2 ,contw 
+0x78e0 034337 call bn_mulmod 
+0x78e1 034338 arg mem_cy ,rega 
+0x78e2 034339 arg mem_t2 ,regb 
+0x78e3 034340 arg mem_by ,contw 
+0x78e4 034341 branch bn_mulmod 
+:      034345 sha_endian_swap2:
+0x78e5 034346 ifetch 4 ,contr 
+0x78e6 034347 force 4 ,rega 
+0x78e7 034348 increase 3 ,contw 
+:      034349 sha_endian_loop:
+0x78e8 034350 istore 1 ,contw 
+0x78e9 034351 rshift8 pdata ,pdata 
+0x78ea 034352 increase -2 ,contw 
+0x78eb 034353 increase -1 ,rega 
+0x78ec 034354 nbranch sha_endian_loop ,zero 
+0x78ed 034355 increase 5 ,contw 
+0x78ee 034356 loop sha_endian_swap2 
+0x78ef 034357 rtn 
+:      034360 sha_getw:
+0x78f0 034361 lshift2 queue ,pdata 
+0x78f1 034362 iadd timeup ,contr 
+0x78f2 034363 ifetch 4 ,contr 
+0x78f3 034364 rtn 
+:      034366 sha_r:
+0x78f4 034367 force 16 ,alarm 
+0x78f5 034368 arg memdat ,timeup 
+:      034369 sha_r_loop:
+0x78f6 034370 add alarm ,-7 ,queue 
+0x78f7 034371 call sha_getw 
+0x78f8 034372 iforce temp 
+0x78f9 034373 add alarm ,-16 ,queue 
+0x78fa 034374 call sha_getw 
+0x78fb 034375 iadd temp ,temp 
+0x78fc 034376 add alarm ,-2 ,queue 
+0x78fd 034377 call sha_getw 
+0x78fe 034378 shasx pdata ,1 ,pdata 
+0x78ff 034379 iadd temp ,temp 
+0x7900 034380 add alarm ,-15 ,queue 
+0x7901 034381 call sha_getw 
+0x7902 034382 shasx pdata ,0 ,pdata 
+0x7903 034383 iadd temp ,temp 
+0x7904 034384 lshift2 alarm ,pdata 
+0x7905 034385 iadd timeup ,contw 
+0x7906 034386 istoret 4 ,contw 
+0x7907 034387 increase 1 ,alarm 
+0x7908 034388 compare 64 ,alarm ,0xff 
+0x7909 034389 nbranch sha_r_loop ,true 
+0x790a 034390 rtn 
+:      034393 sha_init:
+0x790b 034394 arg memh0 ,contr 
+0x790c 034395 force 7 ,regext_index 
+:      034396 sha_init_0:
+0x790d 034397 ifetch 4 ,contr 
+0x790e 034398 iforce regext 
+0x790f 034399 increase -1 ,regext_index 
+0x7910 034400 branch sha_init_0 ,positive 
+0x7911 034401 rtn 
+:      034403 sha:
+0x7912 034404 bpatchx patch3d_4 ,mem_patch3d 
+0x7913 034405 call sha_r 
+0x7914 034406 arg memahbak ,contw 
+0x7915 034407 force 0 ,regext_index 
+:      034408 sha_0:
+0x7916 034409 deposit regext 
+0x7917 034410 istore 4 ,contw 
+0x7918 034411 increase 1 ,regext_index 
+0x7919 034412 compare 8 ,regext_index ,0xff 
+0x791a 034413 nbranch sha_0 ,true 
+0x791b 034414 call enable_authrom 
+0x791c 034415 arg memk ,timeup 
+0x791d 034416 arg memdat ,alarm 
+0x791e 034417 force 64 ,loopcnt 
+:      034418 sha_loop:
+0x791f 034419 ifetcht 4 ,alarm 
+0x7920 034420 ifetch 4 ,timeup 
+0x7921 034421 increase 4 ,timeup 
+0x7922 034422 increase 4 ,alarm 
+0x7923 034423 iadd temp ,pdata 
+0x7924 034424 force 7 ,regext_index 
+0x7925 034425 iadd regext ,temp 
+0x7926 034426 force 4 ,regext_index 
+0x7927 034427 shasx regext ,3 ,pdata 
+0x7928 034428 iadd temp ,temp 
+0x7929 034429 force 5 ,regext_index 
+0x792a 034430 deposit regext 
+0x792b 034431 force 6 ,regext_index 
+0x792c 034432 ixor regext ,pdata 
+0x792d 034433 force 4 ,regext_index 
+0x792e 034434 iand regext ,pdata 
+0x792f 034435 force 6 ,regext_index 
+0x7930 034436 ixor regext ,pdata 
+0x7931 034437 iadd temp ,temp 
+0x7932 034438 force 7 ,regext_index 
+0x7933 034439 copy temp ,regext 
+0x7934 034440 force 3 ,regext_index 
+0x7935 034441 deposit regext 
+0x7936 034442 iadd temp ,regext 
+0x7937 034443 force 0 ,regext_index 
+0x7938 034444 deposit regext 
+0x7939 034445 force 1 ,regext_index 
+0x793a 034446 iand regext ,temp 
+0x793b 034447 ior regext ,pdata 
+0x793c 034448 force 2 ,regext_index 
+0x793d 034449 iand regext ,pdata 
+0x793e 034450 ior temp ,temp 
+0x793f 034451 force 0 ,regext_index 
+0x7940 034452 shasx regext ,2 ,pdata 
+0x7941 034453 iadd temp ,pdata 
+0x7942 034454 force 7 ,regext_index 
+0x7943 034455 iadd regext ,regext 
+0x7944 034456 regexrot 
+0x7945 034457 loop sha_loop 
+0x7946 034458 arg memahbak ,contr 
+0x7947 034459 force 0 ,regext_index 
+:      034460 sha_1:
+0x7948 034461 ifetch 4 ,contr 
+0x7949 034462 iadd regext ,regext 
+0x794a 034463 increase 1 ,regext_index 
+0x794b 034464 compare 8 ,regext_index ,0xff 
+0x794c 034465 nbranch sha_1 ,true 
+0x794d 034466 branch disable_authrom 
+:      034469 sha_result:
+0x794e 034470 arg memresult ,contw 
+0x794f 034471 force 7 ,regext_index 
+:      034472 sha_regext_save:
+0x7950 034473 deposit regext 
+0x7951 034474 istore 4 ,contw 
+0x7952 034475 increase -1 ,regext_index 
+0x7953 034476 branch sha_regext_save ,positive 
+0x7954 034477 rtn 
+:      034479 pad_xor:
+0x7955 034481 arg memdat ,contw 
+0x7956 034482 increase -4 ,contr 
+0x7957 034483 sub loopcnt ,16 ,rega 
+:      034484 pad_xor_0:
+0x7958 034485 ifetch 4 ,contr 
+0x7959 034486 ixor temp ,pdata 
+0x795a 034487 istore 4 ,contw 
+0x795b 034488 increase -8 ,contr 
+0x795c 034489 loop pad_xor_0 
+0x795d 034490 copy rega ,loopcnt 
+0x795e 034491 deposit temp 
+:      034492 pad_xor_1:
+0x795f 034493 istore 4 ,contw 
+0x7960 034494 loop pad_xor_1 
+0x7961 034495 rtn 
+:      034497 g_noninit_number_confirm:
+0x7962 034498 call g_noninit0 
+0x7963 034499 call sha_result 
+0x7964 034500 branch g_common0 
+:      034502 g_noninit:
+0x7965 034503 call g_noninit0 
+0x7966 034504 branch g_common0 
+:      034506 g_noninit0:
+0x7967 034507 arg mem_sp_pubkey_remote_x_end ,contr 
+0x7968 034508 arg memdat ,contw 
+0x7969 034509 force 6 ,loopcnt 
+0x796a 034510 call memcpy_dword_swap 
+0x796b 034511 arg mem_sp_pubkey_local_x_end ,contr 
+0x796c 034512 force 6 ,loopcnt 
+0x796d 034513 call memcpy_dword_swap 
+0x796e 034514 arg mem_sp_random_remote_end ,contr 
+0x796f 034515 call memcpy_dword_swap4 
+0x7970 034516 call sha_init 
+0x7971 034517 call sha 
+0x7972 034518 arg mem_sp_random_local_end ,contr 
+0x7973 034519 arg memdat ,contw 
+0x7974 034520 branch g_common 
+:      034522 g_init:
+0x7975 034523 arg mem_sp_pubkey_local_x_end ,contr 
+0x7976 034524 arg memdat ,contw 
+0x7977 034525 force 6 ,loopcnt 
+0x7978 034526 call memcpy_dword_swap 
+0x7979 034527 arg mem_sp_pubkey_remote_x_end ,contr 
+0x797a 034528 force 6 ,loopcnt 
+0x797b 034529 call memcpy_dword_swap 
+0x797c 034530 arg mem_sp_random_local_end ,contr 
+0x797d 034531 call memcpy_dword_swap4 
+0x797e 034532 call sha_init 
+0x797f 034533 call sha 
+0x7980 034534 arg mem_sp_random_remote_end ,contr 
+0x7981 034535 arg memdat ,contw 
+0x7982 034536 call g_common 
+0x7983 034537 branch g_common0 
+:      034539 g_common:
+0x7984 034540 call memcpy_dword_swap4 
+0x7985 034541 setarg 0x800000 
+0x7986 034542 lshift8 pdata ,pdata 
+0x7987 034543 istore 4 ,contw 
+0x7988 034544 force 5 ,loopcnt 
+0x7989 034545 call memset0 
+0x798a 034546 setarg 640 
+0x798b 034547 istore 4 ,contw 
+0x798c 034548 branch sha 
+:      034549 g_common0:
+0x798d 034550 fetch 4 ,memresult 
+0x798e 034552 arg 1000 ,rega 
+0x798f 034553 idiv rega 
+0x7990 034554 call wait_div_end 
+0x7991 034555 remainder pdata 
+0x7992 034556 store 4 ,mem_gkey 
+0x7993 034557 quotient pdata 
+0x7994 034558 arg 1000 ,rega 
+0x7995 034559 idiv rega 
+0x7996 034560 call wait_div_end 
+0x7997 034561 remainder pdata 
+0x7998 034562 arg 1000 ,rega 
+0x7999 034563 imul32 rega ,pdata 
+0x799a 034564 fetcht 4 ,mem_gkey 
+0x799b 034565 iadd temp ,pdata 
+0x799c 034566 store 4 ,mem_gkey 
+0x799d 034567 rtn 
+:      034569 function_f1_no_key:
+0x799e 034570 jam 0 ,mem_passkey_1bit 
+0x799f 034571 branch function_f1_common 
+:      034573 function_f1:
+0x79a0 034574 fetch 1 ,mem_ssp_mode_flag 
+0x79a1 034575 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      034576 function_f1_common:
+0x79a2 034577 bpatchx patch3d_5 ,mem_patch3d 
+0x79a3 034578 setarg 0x363636 
+0x79a4 034579 lshift8 pdata ,temp 
+0x79a5 034580 or_into 0x36 ,temp 
+0x79a6 034581 fetch 2 ,mem_sp_prarm_stack 
+0x79a7 034582 copy pdata ,contr 
+0x79a8 034583 force 4 ,loopcnt 
+0x79a9 034584 call pad_xor 
+0x79aa 034585 call sha_init 
+0x79ab 034586 call sha 
+0x79ac 034587 fetch 2 ,mem_sp_prarm_stack + 2 
+0x79ad 034588 copy pdata ,contr 
+0x79ae 034589 arg memdat ,contw 
+0x79af 034590 force 6 ,loopcnt 
+0x79b0 034591 call memcpy_dword_swap 
+0x79b1 034592 fetch 2 ,mem_sp_prarm_stack + 4 
+0x79b2 034593 copy pdata ,contr 
+0x79b3 034594 force 6 ,loopcnt 
+0x79b4 034595 call memcpy_dword_swap 
+0x79b5 034596 setarg 0x800000 
+0x79b6 034597 istore 3 ,contw 
+0x79b7 034599 fetch 1 ,mem_passkey_1bit 
+0x79b8 034601 istore 1 ,contw 
+0x79b9 034602 force 0 ,pdata 
+0x79ba 034603 istore 8 ,contw 
+0x79bb 034604 setarg 0x0388 
+0x79bc 034605 istore 4 ,contw 
+0x79bd 034606 call sha 
+0x79be 034607 call sha_result 
+0x79bf 034608 arg memresult ,contr 
+0x79c0 034609 arg memahsave ,contw 
+0x79c1 034610 call memcpy32 
+0x79c2 034612 setarg 0x5c5c5c 
+0x79c3 034613 lshift8 pdata ,temp 
+0x79c4 034614 or_into 0x5c ,temp 
+0x79c5 034615 fetch 2 ,mem_sp_prarm_stack 
+0x79c6 034616 copy pdata ,contr 
+0x79c7 034617 force 4 ,loopcnt 
+0x79c8 034618 call pad_xor 
+0x79c9 034619 call sha_init 
+0x79ca 034620 call sha 
+0x79cb 034621 arg memahsave_end ,contr 
+0x79cc 034622 arg memdat ,contw 
+0x79cd 034623 force 8 ,loopcnt 
+0x79ce 034624 call memcpy_dword_swap 
+0x79cf 034625 setarg 0x800000 
+0x79d0 034626 lshift8 pdata ,pdata 
+0x79d1 034627 istore 4 ,contw 
+0x79d2 034628 call bn_zero 
+0x79d3 034629 setarg 0x0300 
+0x79d4 034630 istore 4 ,contw 
+0x79d5 034631 call sha 
+0x79d6 034632 branch sha_result 
+:      034635 function_f2:
+0x79d7 034636 setarg 0x363636 
+0x79d8 034637 lshift8 pdata ,temp 
+0x79d9 034638 or_into 0x36 ,temp 
+0x79da 034639 arg mem_sp_dhkey_end ,contr 
+0x79db 034640 force 6 ,loopcnt 
+0x79dc 034641 call pad_xor 
+0x79dd 034642 call sha_init 
+0x79de 034643 call sha 
+0x79df 034644 fetch 2 ,mem_sp_prarm_stack + 12 
+0x79e0 034645 copy pdata ,contr 
+0x79e1 034646 arg memdat ,contw 
+0x79e2 034647 call memcpy_dword_swap4 
+0x79e3 034648 fetch 2 ,mem_sp_prarm_stack + 14 
+0x79e4 034649 copy pdata ,contr 
+0x79e5 034650 call memcpy_dword_swap4 
+0x79e6 034652 setarg 0x62746c 
+0x79e7 034653 lshift8 pdata ,pdata 
+0x79e8 034654 or_into 0x6b ,pdata 
+0x79e9 034655 istore 4 ,contw 
+0x79ea 034656 arg mem_addr_value_end ,contr 
+0x79eb 034657 force 3 ,loopcnt 
+0x79ec 034658 call memcpy_dword_swap 
+0x79ed 034660 setarg 0x800000 
+0x79ee 034661 lshift8 pdata ,pdata 
+0x79ef 034662 istore 4 ,contw 
+0x79f0 034663 force 0 ,pdata 
+0x79f1 034664 istore 8 ,contw 
+0x79f2 034665 setarg 0x0380 
+0x79f3 034666 istore 4 ,contw 
+0x79f4 034667 call sha 
+0x79f5 034669 call sha_result 
+0x79f6 034670 arg memresult ,contr 
+0x79f7 034671 arg memahsave ,contw 
+0x79f8 034672 call memcpy32 
+0x79f9 034674 setarg 0x5c5c5c 
+0x79fa 034675 lshift8 pdata ,temp 
+0x79fb 034676 or_into 0x5c ,temp 
+0x79fc 034677 arg mem_sp_dhkey_end ,contr 
+0x79fd 034678 force 6 ,loopcnt 
+0x79fe 034679 call pad_xor 
+0x79ff 034680 call sha_init 
+0x7a00 034681 call sha 
+0x7a01 034682 arg memahsave_end ,contr 
+0x7a02 034683 arg memdat ,contw 
+0x7a03 034684 force 8 ,loopcnt 
+0x7a04 034685 call memcpy_dword_swap 
+0x7a05 034686 setarg 0x800000 
+0x7a06 034687 lshift8 pdata ,pdata 
+0x7a07 034688 istore 4 ,contw 
+0x7a08 034689 call bn_zero 
+0x7a09 034690 setarg 0x0300 
+0x7a0a 034691 istore 4 ,contw 
+0x7a0b 034692 call sha 
+0x7a0c 034693 branch sha_result 
+:      034696 function_f3a:
+0x7a0d 034697 fetch 1 ,mem_ssp_mode_flag 
+0x7a0e 034698 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      034699 function_f3a_common:
+0x7a0f 034700 bpatchx patch3d_6 ,mem_patch3d 
+0x7a10 034701 setarg 0x363636 
+0x7a11 034702 lshift8 pdata ,temp 
+0x7a12 034703 or_into 0x36 ,temp 
+0x7a13 034704 arg mem_sp_dhkey_end ,contr 
+0x7a14 034705 force 6 ,loopcnt 
+0x7a15 034706 call pad_xor 
+0x7a16 034707 call sha_init 
+0x7a17 034708 call sha 
+0x7a18 034709 arg mem_sp_random_remote_end ,contr 
+0x7a19 034710 arg memdat ,contw 
+0x7a1a 034711 call memcpy_dword_swap4 
+0x7a1b 034712 arg mem_sp_random_local_end ,contr 
+0x7a1c 034713 call memcpy_dword_swap4 
+0x7a1d 034714 branch function_f3_common 
+:      034716 function_f3a_no_pin:
+0x7a1e 034717 setarg 0 
+0x7a1f 034718 store 4 ,mem_pin 
+0x7a20 034719 branch function_f3a_common 
+:      034721 function_f3b_no_pin:
+0x7a21 034722 setarg 0 
+0x7a22 034723 store 4 ,mem_pin 
+0x7a23 034724 branch function_f3b_common 
+:      034727 function_f3b:
+0x7a24 034728 fetch 1 ,mem_ssp_mode_flag 
+0x7a25 034729 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      034730 function_f3b_common:
+0x7a26 034731 setarg 0x363636 
+0x7a27 034732 lshift8 pdata ,temp 
+0x7a28 034733 or_into 0x36 ,temp 
+0x7a29 034734 arg mem_sp_dhkey_end ,contr 
+0x7a2a 034735 force 6 ,loopcnt 
+0x7a2b 034736 call pad_xor 
+0x7a2c 034737 call sha_init 
+0x7a2d 034738 call sha 
+0x7a2e 034740 arg mem_sp_random_local_end ,contr 
+0x7a2f 034741 arg memdat ,contw 
+0x7a30 034742 call memcpy_dword_swap4 
+0x7a31 034743 arg mem_sp_random_remote_end ,contr 
+0x7a32 034744 call memcpy_dword_swap4 
+:      034745 function_f3_common:
+0x7a33 034746 setarg 0x0 
+0x7a34 034747 istore 8 ,contw 
+0x7a35 034748 istore 4 ,contw 
+0x7a36 034749 fetch 4 ,mem_pin 
+0x7a37 034750 istore 4 ,contw 
+0x7a38 034752 copy contw ,temp 
+0x7a39 034753 jam 0x80 ,mem_addr_padding 
+0x7a3a 034754 copy temp ,contw 
+0x7a3b 034755 arg mem_addr_iocap_end ,contr 
+0x7a3c 034756 call memcpy_dword_swap4 
+0x7a3d 034758 call sha 
+0x7a3e 034760 arg memdat ,contw 
+0x7a3f 034761 force 7 ,loopcnt 
+0x7a40 034762 call memset0 
+0x7a41 034763 istore 4 ,contw 
+0x7a42 034764 setarg 0x03F8 
+0x7a43 034765 istore 4 ,contw 
+0x7a44 034766 call sha 
+0x7a45 034767 call sha_result 
+0x7a46 034769 arg memresult ,contr 
+0x7a47 034770 arg memahsave ,contw 
+0x7a48 034771 call memcpy32 
+0x7a49 034773 setarg 0x5c5c5c 
+0x7a4a 034774 lshift8 pdata ,temp 
+0x7a4b 034775 or_into 0x5c ,temp 
+0x7a4c 034776 arg mem_sp_dhkey_end ,contr 
+0x7a4d 034777 force 6 ,loopcnt 
+0x7a4e 034778 call pad_xor 
+0x7a4f 034779 call sha_init 
+0x7a50 034780 call sha 
+0x7a51 034781 arg memahsave_end ,contr 
+0x7a52 034782 arg memdat ,contw 
+0x7a53 034783 force 8 ,loopcnt 
+0x7a54 034784 call memcpy_dword_swap 
+0x7a55 034785 setarg 0x800000 
+0x7a56 034786 lshift8 pdata ,pdata 
+0x7a57 034787 istore 4 ,contw 
+0x7a58 034788 call bn_zero 
+0x7a59 034789 setarg 0x0300 
+0x7a5a 034790 istore 4 ,contw 
+0x7a5b 034791 call sha 
+0x7a5c 034792 branch sha_result 
+:      034799 eckp_calc_init:
+0x7a5d 034800 jam 192 ,mem_ec_loopc 
+:      034801 eckp_calc_init_1:
+0x7a5e 034802 fetch 1 ,mem_ec_loopc 
+0x7a5f 034803 rtn blank 
+0x7a60 034804 increase -1 ,pdata 
+0x7a61 034805 store 1 ,mem_ec_loopc 
+0x7a62 034806 arg mem_k ,contr 
+0x7a63 034807 call bn_testbit 
+0x7a64 034808 branch eckp_calc_init_1 ,true 
+0x7a65 034809 arg mem_ax ,contr 
+0x7a66 034810 arg mem_cx ,contw 
+0x7a67 034811 branch ec_copy 
+:      034813 eckp_calc:
+0x7a68 034814 call ecdbl 
+0x7a69 034815 fetch 1 ,mem_ec_loopc 
+0x7a6a 034816 increase -1 ,pdata 
+0x7a6b 034817 store 1 ,mem_ec_loopc 
+0x7a6c 034818 arg mem_k ,contr 
+0x7a6d 034819 call bn_testbit 
+0x7a6e 034820 rtn true 
+0x7a6f 034821 branch ecadd 
+:      034823 memcpy_dword_swap4:
+0x7a70 034824 force 4 ,loopcnt 
+:      034825 memcpy_dword_swap:
+0x7a71 034826 increase -4 ,contr 
+:      034827 memcpy_dword_swap_loop:
+0x7a72 034828 ifetch 4 ,contr 
+0x7a73 034829 istore 4 ,contw 
+0x7a74 034830 increase -8 ,contr 
+0x7a75 034831 loop memcpy_dword_swap_loop 
+0x7a76 034832 rtn 
+:      034837 sp_initialize_256:
+0x7a77 034838 bpatchx patch3d_7 ,mem_patch3d 
+0x7a78 034839 fetch 1 ,mem_le_secure_connect_enable 
+0x7a79 034840 branch le_secure_connection_disable ,blank 
+0x7a7a 034841 call le_secure_connection_enable 
+0x7a7b 034842 call sp_clear_flags 
+0x7a7c 034844 branch sp_pubkey_calc_256 
+:      034849 sp_pubkey_calc_256:
+0x7a7d 034850 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7a7e 034851 rtnne sp_key_invalid 
+0x7a7f 034852 fetch 1 ,mem_le_sc_calc 
+0x7a80 034853 rtnne sp_calc_standby 
+0x7a81 034855 arg mem_le_private_key_256 ,contw 
+0x7a82 034856 force 15 ,queue 
+0x7a83 034857 call random_generator 
+0x7a84 034858 random pdata 
+0x7a85 034859 rshift pdata ,pdata 
+0x7a86 034860 istore 2 ,contw 
+0x7a87 034862 arg mem_k_256 ,contw 
+0x7a88 034863 arg mem_le_private_key_256 ,contr 
+0x7a89 034864 call memcpy32 
+0x7a8a 034866 arg mem_ax_256 ,contw 
+0x7a8b 034867 arg mem_gx_256 ,contr 
+0x7a8c 034868 call memcpy64 
+0x7a8d 034870 arg mem_az_256 ,contw 
+0x7a8e 034871 call clear_mem_256 
+0x7a8f 034872 jam 1 ,mem_az_256 
+0x7a90 034874 call eckp_calc_init_256 
+0x7a91 034875 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7a92 034876 rtn 
+:      034878 sp_pubkey_generated_256:
+0x7a93 034879 arg mem_le_pubkey_local_x_256 ,contw 
+0x7a94 034880 arg mem_bx_256 ,contr 
+0x7a95 034881 call memcpy64 
+0x7a96 034882 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x7a97 034883 jam sp_calc_standby ,mem_le_sc_calc 
+0x7a98 034884 rtn 
+:      034888 sp_dhkey_calc_256:
+0x7a99 034889 fetch 1 ,mem_sp_dhkey_invalid 
+0x7a9a 034890 rtnne sp_key_invalid 
+0x7a9b 034891 fetch 1 ,mem_le_sc_calc 
+0x7a9c 034892 rtnne sp_calc_standby 
+0x7a9d 034894 arg mem_k_256 ,contw 
+0x7a9e 034895 arg mem_le_private_key_256 ,contr 
+0x7a9f 034896 call memcpy32 
+0x7aa0 034898 arg mem_ax_256 ,contw 
+0x7aa1 034899 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7aa2 034900 call memcpy64 
+0x7aa3 034902 arg mem_az_256 ,contw 
+0x7aa4 034903 call clear_mem_256 
+0x7aa5 034904 jam 1 ,mem_az_256 
+0x7aa6 034906 call eckp_calc_init_256 
+0x7aa7 034907 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x7aa8 034908 rtn 
+:      034911 sp_dhkey_generated_256:
+0x7aa9 034913 arg mem_le_dhkey_256 ,contw 
+0x7aaa 034914 arg mem_bx_256 ,contr 
+0x7aab 034915 call memcpy32 
+0x7aac 034916 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7aad 034917 jam sp_calc_standby ,mem_le_sc_calc 
+0x7aae 034918 rtn 
+:      034922 sp_calc_sequence_256:
+0x7aaf 034923 fetch 1 ,mem_le_secure_connect_enable 
+0x7ab0 034924 rtn blank 
+0x7ab1 034925 fetch 1 ,mem_le_sc_calc 
+0x7ab2 034926 rtn blank 
+0x7ab3 034927 increase 0x80 ,pdata 
+0x7ab4 034928 store 1 ,mem_le_sc_calc 
+0x7ab5 034929 rtnbit1 7 
+0x7ab6 034930 fetch 2 ,mem_ec_loopc 
+0x7ab7 034931 branch sp_calc_sequence_done_256 ,blank 
+0x7ab8 034932 branch eckp_calc_256 
+:      034934 sp_calc_sequence_done_256:
+0x7ab9 034935 bpatchx patch3e_0 ,mem_patch3e 
+0x7aba 034936 call ecunmapz_256 
+0x7abb 034937 fetch 1 ,mem_le_sc_calc 
+0x7abc 034938 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7abd 034939 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7abe 034940 rtn 
+:      034943 eckp_calc_256:
+0x7abf 034944 call ecdbl_256 
+0x7ac0 034945 fetch 2 ,mem_ec_loopc 
+0x7ac1 034946 increase -1 ,pdata 
+0x7ac2 034947 store 2 ,mem_ec_loopc 
+0x7ac3 034948 arg mem_k_256 ,contr 
+0x7ac4 034949 call bn_testbit 
+0x7ac5 034950 rtn true 
+0x7ac6 034951 branch ecadd_256 
+:      034953 eckp_calc_init_256:
+0x7ac7 034954 bpatchx patch3e_1 ,mem_patch3e 
+0x7ac8 034955 setarg 256 ,pdata 
+0x7ac9 034956 store 2 ,mem_ec_loopc 
+:      034957 eckp_calc_init_256_1:
+0x7aca 034958 fetch 2 ,mem_ec_loopc 
+0x7acb 034959 rtn blank 
+0x7acc 034960 increase -1 ,pdata 
+0x7acd 034961 store 2 ,mem_ec_loopc 
+0x7ace 034962 arg mem_k_256 ,contr 
+0x7acf 034963 call bn_testbit 
+0x7ad0 034964 branch eckp_calc_init_256_1 ,true 
+0x7ad1 034965 arg mem_ax_256 ,contr 
+0x7ad2 034966 arg mem_cx_256 ,contw 
+0x7ad3 034967 branch memcpy96 
+:      034970 ecunmapz_256:
+0x7ad4 034971 arg mem_cz_256 ,rega 
+0x7ad5 034972 arg mem_t3_256 ,contw 
+0x7ad6 034973 call bn_invmod_256 
+0x7ad7 034974 arg mem_t3_256 ,rega 
+0x7ad8 034975 arg mem_t1_256 ,contw 
+0x7ad9 034976 call bn_sqrmod_256 
+0x7ada 034977 arg mem_cx_256 ,rega 
+0x7adb 034978 arg mem_t1_256 ,regb 
+0x7adc 034979 arg mem_bx_256 ,contw 
+0x7add 034980 call bn_mulmod_256 
+0x7ade 034981 arg mem_t3_256 ,rega 
+0x7adf 034982 arg mem_t1_256 ,regb 
+0x7ae0 034983 arg mem_t2_256 ,contw 
+0x7ae1 034984 call bn_mulmod_256 
+0x7ae2 034985 arg mem_cy_256 ,rega 
+0x7ae3 034986 arg mem_t2_256 ,regb 
+0x7ae4 034987 arg mem_by_256 ,contw 
+0x7ae5 034988 branch bn_mulmod_256 
+:      034990 ecdbl_256:
+0x7ae6 034991 arg mem_cz_256 ,rega 
+0x7ae7 034992 arg mem_t2_256 ,contw 
+0x7ae8 034993 call bn_sqrmod_256 
+0x7ae9 034994 arg mem_t2_256 ,rega 
+0x7aea 034995 arg mem_t3_256 ,contw 
+0x7aeb 034996 call bn_sqrmod_256 
+0x7aec 034998 arg mem_a_256 ,rega 
+0x7aed 034999 arg mem_t3_256 ,regb 
+0x7aee 035000 arg mem_t3_256 ,contw 
+0x7aef 035001 call bn_mulmod_256 
+0x7af0 035002 arg mem_cx_256 ,rega 
+0x7af1 035003 arg mem_t2_256 ,contw 
+0x7af2 035004 call bn_sqrmod_256 
+0x7af3 035006 arg mem_t2_256 ,contr 
+0x7af4 035007 arg mem_t1_256 ,contw 
+0x7af5 035008 call memcpy32 
+0x7af6 035009 arg mem_t1_256 ,rega 
+0x7af7 035010 call bn_lshiftmod_256 
+0x7af8 035011 arg mem_t2_256 ,rega 
+0x7af9 035012 arg mem_t1_256 ,regb 
+0x7afa 035013 arg mem_t2_256 ,contw 
+0x7afb 035014 call bn_addmod_256 
+0x7afc 035016 arg mem_t2_256 ,rega 
+0x7afd 035017 arg mem_t3_256 ,regb 
+0x7afe 035018 arg mem_t2_256 ,contw 
+0x7aff 035019 call bn_addmod_256 
+0x7b00 035021 arg mem_cx_256 ,contr 
+0x7b01 035022 arg mem_t1_256 ,contw 
+0x7b02 035023 call memcpy32 
+0x7b03 035024 arg mem_cy_256 ,rega 
+0x7b04 035025 arg mem_t3_256 ,contw 
+0x7b05 035026 call bn_sqrmod_256 
+0x7b06 035027 arg mem_t1_256 ,rega 
+0x7b07 035028 call bn_lshiftmod_256 
+0x7b08 035029 arg mem_t1_256 ,rega 
+0x7b09 035030 call bn_lshiftmod_256 
+0x7b0a 035031 arg mem_t1_256 ,rega 
+0x7b0b 035032 arg mem_t3_256 ,regb 
+0x7b0c 035033 arg mem_t1_256 ,contw 
+0x7b0d 035034 call bn_mulmod_256 
+0x7b0e 035035 arg mem_t3_256 ,rega 
+0x7b0f 035036 arg mem_t0_256 ,contw 
+0x7b10 035037 call bn_sqrmod_256 
+0x7b11 035038 arg mem_t0_256 ,rega 
+0x7b12 035039 call bn_lshiftmod_256 
+0x7b13 035040 arg mem_t0_256 ,rega 
+0x7b14 035041 call bn_lshiftmod_256 
+0x7b15 035042 arg mem_t0_256 ,rega 
+0x7b16 035043 call bn_lshiftmod_256 
+0x7b17 035044 arg mem_cy_256 ,contr 
+0x7b18 035045 arg mem_t3_256 ,contw 
+0x7b19 035046 call memcpy32 
+0x7b1a 035047 arg mem_t3_256 ,rega 
+0x7b1b 035048 call bn_lshiftmod_256 
+0x7b1c 035049 arg mem_t3_256 ,rega 
+0x7b1d 035050 arg mem_cz_256 ,regb 
+0x7b1e 035051 arg mem_cz_256 ,contw 
+0x7b1f 035052 call bn_mulmod_256 
+0x7b20 035055 arg mem_t2_256 ,rega 
+0x7b21 035056 arg mem_t3_256 ,contw 
+0x7b22 035057 call bn_sqrmod_256 
+0x7b23 035059 arg mem_t3_256 ,rega 
+0x7b24 035060 arg mem_t1_256 ,regb 
+0x7b25 035061 arg mem_t3_256 ,contw 
+0x7b26 035062 call bn_submod_256 
+0x7b27 035063 arg mem_t3_256 ,rega 
+0x7b28 035064 arg mem_t1_256 ,regb 
+0x7b29 035065 arg mem_cx_256 ,contw 
+0x7b2a 035066 call bn_submod_256 
+0x7b2b 035067 arg mem_t1_256 ,rega 
+0x7b2c 035068 arg mem_cx_256 ,regb 
+0x7b2d 035069 arg mem_t3_256 ,contw 
+0x7b2e 035070 call bn_submod_256 
+0x7b2f 035071 arg mem_t3_256 ,rega 
+0x7b30 035072 arg mem_t2_256 ,regb 
+0x7b31 035073 arg mem_t3_256 ,contw 
+0x7b32 035074 call bn_mulmod_256 
+0x7b33 035075 arg mem_t3_256 ,rega 
+0x7b34 035076 arg mem_t0_256 ,regb 
+0x7b35 035077 arg mem_cy_256 ,contw 
+0x7b36 035078 branch bn_submod_256 
+:      035080 ecadd_256:
+0x7b37 035082 arg mem_az_256 ,rega 
+0x7b38 035083 arg mem_t7_256 ,contw 
+0x7b39 035084 call bn_sqrmod_256 
+0x7b3a 035085 arg mem_cx_256 ,rega 
+0x7b3b 035086 arg mem_t7_256 ,regb 
+0x7b3c 035087 arg mem_t0_256 ,contw 
+0x7b3d 035088 call bn_mulmod_256 
+0x7b3e 035091 arg mem_az_256 ,rega 
+0x7b3f 035092 arg mem_t7_256 ,regb 
+0x7b40 035093 arg mem_t7_256 ,contw 
+0x7b41 035094 call bn_mulmod_256 
+0x7b42 035095 arg mem_cy_256 ,rega 
+0x7b43 035096 arg mem_t7_256 ,regb 
+0x7b44 035097 arg mem_t1_256 ,contw 
+0x7b45 035098 call bn_mulmod_256 
+0x7b46 035101 arg mem_cz_256 ,rega 
+0x7b47 035102 arg mem_t7_256 ,contw 
+0x7b48 035103 call bn_sqrmod_256 
+0x7b49 035104 arg mem_ax_256 ,rega 
+0x7b4a 035105 arg mem_t7_256 ,regb 
+0x7b4b 035106 arg mem_t2_256 ,contw 
+0x7b4c 035107 call bn_mulmod_256 
+0x7b4d 035109 arg mem_cz_256 ,rega 
+0x7b4e 035110 arg mem_t7_256 ,regb 
+0x7b4f 035111 arg mem_t7_256 ,contw 
+0x7b50 035112 call bn_mulmod_256 
+0x7b51 035113 arg mem_ay_256 ,rega 
+0x7b52 035114 arg mem_t7_256 ,regb 
+0x7b53 035115 arg mem_t3_256 ,contw 
+0x7b54 035116 call bn_mulmod_256 
+0x7b55 035121 arg mem_t0_256 ,regb 
+0x7b56 035122 arg mem_t2_256 ,rega 
+0x7b57 035123 arg mem_t7_256 ,contw 
+0x7b58 035124 call bn_submod_256 
+0x7b59 035125 arg mem_t0_256 ,rega 
+0x7b5a 035126 arg mem_t2_256 ,regb 
+0x7b5b 035127 arg mem_t0_256 ,contw 
+0x7b5c 035128 call bn_addmod_256 
+0x7b5d 035131 arg mem_t1_256 ,regb 
+0x7b5e 035132 arg mem_t3_256 ,rega 
+0x7b5f 035133 arg mem_t2_256 ,contw 
+0x7b60 035134 call bn_submod_256 
+0x7b61 035135 arg mem_t1_256 ,rega 
+0x7b62 035136 arg mem_t3_256 ,regb 
+0x7b63 035137 arg mem_t1_256 ,contw 
+0x7b64 035138 call bn_addmod_256 
+0x7b65 035139 arg mem_t1_256 ,rega 
+0x7b66 035140 arg mem_t7_256 ,regb 
+0x7b67 035141 arg mem_t1_256 ,contw 
+0x7b68 035142 call bn_mulmod_256 
+0x7b69 035143 arg mem_cz_256 ,rega 
+0x7b6a 035144 arg mem_az_256 ,regb 
+0x7b6b 035145 arg mem_t3_256 ,contw 
+0x7b6c 035146 call bn_mulmod_256 
+0x7b6d 035147 arg mem_t3_256 ,rega 
+0x7b6e 035148 arg mem_t7_256 ,regb 
+0x7b6f 035149 arg mem_cz_256 ,contw 
+0x7b70 035150 call bn_mulmod_256 
+0x7b71 035152 arg mem_t7_256 ,rega 
+0x7b72 035153 arg mem_t7_256 ,contw 
+0x7b73 035154 call bn_sqrmod_256 
+0x7b74 035155 arg mem_t7_256 ,rega 
+0x7b75 035156 arg mem_t0_256 ,regb 
+0x7b76 035157 arg mem_t3_256 ,contw 
+0x7b77 035158 call bn_mulmod_256 
+0x7b78 035159 arg mem_t7_256 ,rega 
+0x7b79 035160 arg mem_t1_256 ,regb 
+0x7b7a 035161 arg mem_t1_256 ,contw 
+0x7b7b 035162 call bn_mulmod_256 
+0x7b7c 035163 arg mem_t2_256 ,rega 
+0x7b7d 035164 arg mem_cx_256 ,contw 
+0x7b7e 035165 call bn_sqrmod_256 
+0x7b7f 035166 arg mem_cx_256 ,rega 
+0x7b80 035167 arg mem_t3_256 ,regb 
+0x7b81 035168 arg mem_cx_256 ,contw 
+0x7b82 035169 call bn_submod_256 
+0x7b83 035170 arg mem_cx_256 ,contr 
+0x7b84 035171 arg mem_t7_256 ,contw 
+0x7b85 035172 call memcpy32 
+0x7b86 035173 arg mem_t7_256 ,rega 
+0x7b87 035174 call bn_lshiftmod_256 
+0x7b88 035175 arg mem_t3_256 ,rega 
+0x7b89 035176 arg mem_t7_256 ,regb 
+0x7b8a 035177 arg mem_t3_256 ,contw 
+0x7b8b 035178 call bn_submod_256 
+0x7b8c 035179 arg mem_t3_256 ,rega 
+0x7b8d 035180 arg mem_t2_256 ,regb 
+0x7b8e 035181 arg mem_t2_256 ,contw 
+0x7b8f 035182 call bn_mulmod_256 
+0x7b90 035183 arg mem_t2_256 ,rega 
+0x7b91 035184 arg mem_t1_256 ,regb 
+0x7b92 035185 arg mem_cy_256 ,contw 
+0x7b93 035186 call bn_submod_256 
+0x7b94 035187 arg mem_cy_256 ,rega 
+0x7b95 035188 arg mem_p_256 ,regb 
+0x7b96 035189 arg mem_cy_256 ,contw 
+0x7b97 035190 force 0 ,regc 
+0x7b98 035191 fetch 1 ,mem_cy_256 
+0x7b99 035192 isolate1 0 ,pdata 
+0x7b9a 035193 call bn_add_256 ,true 
+0x7b9b 035194 copy regc ,alarm 
+0x7b9c 035195 arg mem_cy_256 ,rega 
+0x7b9d 035196 call bn_rshift_256 
+0x7b9e 035197 fetch 1 ,mem_cy5_256 
+0x7b9f 035198 isolate1 0 ,alarm 
+0x7ba0 035199 setflag true ,7 ,pdata 
+0x7ba1 035200 store 1 ,mem_cy5_256 
+0x7ba2 035201 rtn 
+:      035203 bn_invmod_256:
+0x7ba3 035204 copy contw ,timeup 
+0x7ba4 035205 arg mem_tmp0_256 ,contw 
+0x7ba5 035206 call clear_mem_256 
+0x7ba6 035207 force 0 ,pdata 
+0x7ba7 035209 store 4 ,mem_t2_256 
+0x7ba8 035210 jam 1 ,mem_tmp0_256 
+0x7ba9 035211 arg mem_tmp1_256 ,contw 
+0x7baa 035212 call clear_mem_512 
+0x7bab 035213 arg mem_p_256 ,contr 
+0x7bac 035214 arg mem_tmp2_256 ,contw 
+0x7bad 035215 call memcpy32 
+0x7bae 035216 copy rega ,contr 
+0x7baf 035217 arg mem_tmp3_256 ,contw 
+0x7bb0 035218 call memcpy32 
+:      035224 bn_invmod_256_2:
+0x7bb1 035225 arg mem_tmp3_256 ,contr 
+0x7bb2 035226 call bn_eq_zero_256 
+0x7bb3 035227 branch bn_invmod_256_0 ,blank 
+0x7bb4 035232 arg mem_tmp3_256 ,rega 
+0x7bb5 035233 arg mem_tmp0_256 ,regb 
+0x7bb6 035234 call bn_rshifteven_256 
+0x7bb7 035235 arg mem_tmp2_256 ,rega 
+0x7bb8 035236 arg mem_tmp1_256 ,regb 
+0x7bb9 035237 call bn_rshifteven_256 
+0x7bba 035239 arg mem_tmp3_256 ,rega 
+0x7bbb 035240 arg mem_tmp2_256 ,regb 
+0x7bbc 035241 call bn_bigeq_256 
+0x7bbd 035242 branch bn_invmod_256_1 ,positive 
+0x7bbe 035243 arg mem_tmp2_256 ,rega 
+0x7bbf 035244 arg mem_tmp3_256 ,regb 
+0x7bc0 035245 copy rega ,contw 
+0x7bc1 035246 call bn_sub_256 
+0x7bc2 035247 arg mem_tmp0_256 ,rega 
+0x7bc3 035248 arg mem_tmp1_256 ,regb 
+0x7bc4 035249 copy regb ,contw 
+0x7bc5 035250 call bn_add_256 
+0x7bc6 035251 ifetch 1 ,rega 
+0x7bc7 035252 iadd regc ,regc 
+0x7bc8 035253 ifetch 1 ,regb 
+0x7bc9 035254 iadd regc ,pdata 
+0x7bca 035255 istore 1 ,regb 
+0x7bcb 035256 branch bn_invmod_256_2 
+:      035257 bn_invmod_256_1:
+0x7bcc 035258 arg mem_tmp3_256 ,rega 
+0x7bcd 035259 arg mem_tmp2_256 ,regb 
+0x7bce 035260 copy rega ,contw 
+0x7bcf 035261 call bn_sub_256 
+0x7bd0 035262 arg mem_tmp1_256 ,rega 
+0x7bd1 035263 arg mem_tmp0_256 ,regb 
+0x7bd2 035264 copy regb ,contw 
+0x7bd3 035265 call bn_add_256 
+0x7bd4 035266 ifetch 1 ,rega 
+0x7bd5 035267 iadd regc ,regc 
+0x7bd6 035268 ifetch 1 ,regb 
+0x7bd7 035269 iadd regc ,pdata 
+0x7bd8 035270 istore 1 ,regb 
+0x7bd9 035271 branch bn_invmod_256_2 
+:      035272 bn_invmod_256_0:
+0x7bda 035274 arg mem_tmp1_256 ,rega 
+0x7bdb 035275 copy timeup ,contw 
+0x7bdc 035276 call bn_p256mod 
+0x7bdd 035278 arg mem_p_256 ,rega 
+0x7bde 035279 copy timeup ,regb 
+0x7bdf 035280 copy timeup ,contw 
+0x7be0 035281 branch bn_submod_256 
+:      035284 bn_mulmod_256:
+0x7be1 035285 copy contw ,timeup 
+0x7be2 035287 force 0 ,regext_index 
+0x7be3 035289 arg mem_tmp1_256 ,contw 
+0x7be4 035290 call clear_mem_512 
+0x7be5 035291 arg mem_regext ,contw 
+0x7be6 035292 call clear_mem_512 
+0x7be7 035296 copy rega ,contr 
+0x7be8 035298 jam 0 ,mem_regext 
+0x7be9 035299 setarg 0 
+0x7bea 035300 call bn_load_mem 
+0x7beb 035301 copy regb ,contr 
+0x7bec 035302 call bn_load_256 
+0x7bed 035305 force 0 ,queue 
+0x7bee 035306 arg mem_tmp1_256 ,contw 
+:      035307 bn_mulmod_256_1:
+0x7bef 035310 arg mem_regext ,temp 
+0x7bf0 035311 copy queue ,regb 
+0x7bf1 035312 lshift2 regb ,pdata 
+0x7bf2 035314 iadd temp ,regb 
+0x7bf3 035315 force 0 ,temp 
+0x7bf4 035316 force 0 ,regc 
+:      035317 bn_mulmod_256_0:
+0x7bf5 035322 ifetch 4 ,contw 
+0x7bf6 035323 iforce rega 
+0x7bf7 035326 ifetch 4 ,regb 
+0x7bf8 035327 copy regc ,regext_index 
+0x7bf9 035328 imul32 regext ,pdata 
+0x7bfa 035329 iadd rega ,pdata 
+0x7bfb 035330 iadd temp ,pdata 
+0x7bfc 035331 istore 4 ,contw 
+0x7bfd 035332 rshift32 pdata ,temp 
+0x7bfe 035333 increase 1 ,regc 
+0x7bff 035334 compare 8 ,regc ,0xff 
+0x7c00 035335 nbranch bn_mulmod_256_0 ,true 
+0x7c01 035337 deposit temp 
+0x7c02 035338 istore 4 ,contw 
+0x7c03 035339 increase -32 ,contw 
+0x7c04 035342 increase 1 ,queue 
+0x7c05 035343 compare 8 ,queue ,0xff 
+0x7c06 035344 nbranch bn_mulmod_256_1 ,true 
+0x7c07 035345 arg mem_tmp1_256 ,rega 
+0x7c08 035346 copy timeup ,contw 
+0x7c09 035347 branch bn_p256mod 
+:      035349 bn_p256mod:
+0x7c0a 035350 bpatchx patch3e_2 ,mem_patch3e 
+0x7c0b 035351 copy contw ,timeup 
+0x7c0c 035352 copy rega ,alarm 
+0x7c0d 035353 arg mem_tmp2_256 ,regb 
+0x7c0e 035354 copy regb ,contw 
+0x7c0f 035355 call memset0_4 
+0x7c10 035356 istore 8 ,contw 
+0x7c11 035357 add rega ,44 ,contr 
+0x7c12 035358 call memcpy8 
+0x7c13 035359 call memcpy12 
+0x7c14 035360 copy regb ,rega 
+0x7c15 035361 call bn_lshiftmod_256 
+0x7c16 035362 arg mem_tmp2_256 ,regb 
+0x7c17 035363 copy alarm ,rega 
+0x7c18 035364 copy timeup ,contw 
+0x7c19 035365 call bn_addmod_256 
+0x7c1a 035367 arg mem_tmp2_256 ,regb 
+0x7c1b 035368 copy regb ,contw 
+0x7c1c 035369 call memset0_4 
+0x7c1d 035370 istore 8 ,contw 
+0x7c1e 035371 add alarm ,48 ,contr 
+0x7c1f 035372 call memcpy16 
+0x7c20 035373 call memset0_4 
+0x7c21 035374 copy regb ,rega 
+0x7c22 035375 call bn_lshiftmod_256 
+0x7c23 035379 arg mem_tmp2_256 ,regb 
+0x7c24 035380 copy timeup ,rega 
+0x7c25 035381 copy rega ,contw 
+0x7c26 035382 call bn_addmod_256 
+0x7c27 035386 arg mem_tmp2_256 ,regb 
+0x7c28 035387 copy regb ,contw 
+0x7c29 035388 add alarm ,32 ,contr 
+0x7c2a 035389 call memcpy12 
+0x7c2b 035390 call memset0_4 
+0x7c2c 035391 istore 8 ,contw 
+0x7c2d 035392 add alarm ,56 ,contr 
+0x7c2e 035393 call memcpy8 
+0x7c2f 035394 copy timeup ,rega 
+0x7c30 035395 copy rega ,contw 
+0x7c31 035396 call bn_addmod_256 
+0x7c32 035400 arg mem_tmp2_256 ,regb 
+0x7c33 035401 copy regb ,contw 
+0x7c34 035402 add alarm ,36 ,contr 
+0x7c35 035403 call memcpy12 
+0x7c36 035404 add alarm ,52 ,contr 
+0x7c37 035405 call memcpy12 
+0x7c38 035406 add alarm ,52 ,contr 
+0x7c39 035407 call memcpy4 
+0x7c3a 035408 add alarm ,32 ,contr 
+0x7c3b 035409 call memcpy4 
+0x7c3c 035410 copy timeup ,rega 
+0x7c3d 035411 copy rega ,contw 
+0x7c3e 035412 call bn_addmod_256 
+0x7c3f 035415 arg mem_tmp2_256 ,regb 
+0x7c40 035416 copy regb ,contw 
+0x7c41 035417 add alarm ,44 ,contr 
+0x7c42 035418 call memcpy12 
+0x7c43 035419 call memset0_4 
+0x7c44 035420 istore 8 ,contw 
+0x7c45 035421 add alarm ,32 ,contr 
+0x7c46 035422 call memcpy4 
+0x7c47 035423 add alarm ,40 ,contr 
+0x7c48 035424 call memcpy4 
+0x7c49 035425 copy timeup ,rega 
+0x7c4a 035426 copy rega ,contw 
+0x7c4b 035427 call bn_submod_256 
+0x7c4c 035430 arg mem_tmp2_256 ,regb 
+0x7c4d 035431 copy regb ,contw 
+0x7c4e 035432 add alarm ,48 ,contr 
+0x7c4f 035433 call memcpy8 
+0x7c50 035434 call memcpy8 
+0x7c51 035435 force 0 ,pdata 
+0x7c52 035436 istore 8 ,contw 
+0x7c53 035437 add alarm ,36 ,contr 
+0x7c54 035438 call memcpy4 
+0x7c55 035439 add alarm ,44 ,contr 
+0x7c56 035440 call memcpy4 
+0x7c57 035441 copy timeup ,rega 
+0x7c58 035442 copy rega ,contw 
+0x7c59 035443 call bn_submod_256 
+0x7c5a 035446 arg mem_tmp2_256 ,regb 
+0x7c5b 035447 copy regb ,contw 
+0x7c5c 035448 add alarm ,52 ,contr 
+0x7c5d 035449 call memcpy12 
+0x7c5e 035450 add alarm ,32 ,contr 
+0x7c5f 035451 call memcpy12 
+0x7c60 035452 call memset0_4 
+0x7c61 035453 add alarm ,48 ,contr 
+0x7c62 035454 call memcpy4 
+0x7c63 035455 copy timeup ,rega 
+0x7c64 035456 copy rega ,contw 
+0x7c65 035457 call bn_submod_256 
+0x7c66 035460 arg mem_tmp2_256 ,regb 
+0x7c67 035461 copy regb ,contw 
+0x7c68 035462 add alarm ,56 ,contr 
+0x7c69 035463 call memcpy8 
+0x7c6a 035464 call memset0_4 
+0x7c6b 035465 add alarm ,36 ,contr 
+0x7c6c 035466 call memcpy12 
+0x7c6d 035467 call memset0_4 
+0x7c6e 035468 add alarm ,52 ,contr 
+0x7c6f 035469 call memcpy4 
+0x7c70 035470 copy timeup ,rega 
+0x7c71 035471 copy rega ,contw 
+0x7c72 035472 branch bn_submod_256 
+:      035475 bn_load_mem:
+0x7c73 035476 force 32 ,loopcnt 
+0x7c74 035477 arg mem_regext ,contw 
+0x7c75 035478 iadd contw ,contw 
+0x7c76 035479 branch memcpy 
+:      035481 bn_load_256:
+0x7c77 035482 force 8 ,loopcnt 
+0x7c78 035483 branch bn_load_0 
+:      035485 bn_sqrmod_256:
+0x7c79 035486 copy rega ,regb 
+0x7c7a 035487 branch bn_mulmod_256 
+:      035489 bn_add_256:
+0x7c7b 035490 force 8 ,loopcnt 
+0x7c7c 035491 branch bn_add + 1 
+:      035493 bn_addmod_256:
+0x7c7d 035494 call bn_add_256 
+0x7c7e 035495 copy contw ,rega 
+0x7c7f 035496 branch bn_lshiftmod_ismod_256 
+:      035498 bn_lshiftmod_256:
+0x7c80 035499 call bn_lshift_256 
+:      035500 bn_lshiftmod_ismod_256:
+0x7c81 035501 isolate1 0 ,regc 
+0x7c82 035502 branch bn_lshiftmod_p_256 ,true 
+0x7c83 035503 arg mem_p_256 ,regb 
+0x7c84 035504 copy rega ,regc 
+0x7c85 035505 increase -32 ,rega 
+0x7c86 035506 call bn_bigeq_256 
+0x7c87 035507 nrtn positive 
+0x7c88 035508 copy regc ,rega 
+0x7c89 035509 branch sub_p2_256 
+:      035511 bn_lshiftmod_p_256:
+0x7c8a 035512 call sub_p2_256 
+0x7c8b 035514 copy rega ,regc 
+0x7c8c 035515 increase -32 ,rega 
+0x7c8d 035516 arg mem_p_256 ,regb 
+0x7c8e 035517 call bn_bigeq_256 
+0x7c8f 035518 nrtn positive 
+0x7c90 035519 copy regc ,rega 
+0x7c91 035520 branch sub_p2_256 
+:      035523 sub_p2_256:
+0x7c92 035524 increase -32 ,rega 
+0x7c93 035525 arg mem_p_256 ,regb 
+0x7c94 035526 copy rega ,contw 
+0x7c95 035527 branch bn_sub_256 
+:      035532 bn_submod_256:
+0x7c96 035533 call bn_sub_256 
+0x7c97 035535 branch bn_submod_256_np ,true 
+0x7c98 035538 add contw ,-32 ,rega 
+0x7c99 035539 arg mem_p_256 ,regb 
+0x7c9a 035540 call bn_bigeq_256 
+0x7c9b 035541 nrtn positive 
+0x7c9c 035542 arg mem_p_256 ,regb 
+0x7c9d 035543 add contw ,-32 ,rega 
+0x7c9e 035545 copy rega ,contw 
+0x7c9f 035546 branch bn_sub_256 
+:      035547 bn_submod_256_np:
+0x7ca0 035548 add contw ,-32 ,rega 
+0x7ca1 035549 arg mem_p_256 ,regb 
+0x7ca2 035550 copy rega ,contw 
+0x7ca3 035551 call bn_add_256 
+0x7ca4 035553 rtn true 
+0x7ca5 035554 add contw ,-32 ,rega 
+0x7ca6 035555 arg mem_p_256 ,regb 
+0x7ca7 035556 copy rega ,contw 
+0x7ca8 035557 branch bn_add_256 
+:      035561 bn_sub_256:
+0x7ca9 035562 force 8 ,loopcnt 
+0x7caa 035563 branch bn_sub + 1 
+:      035565 bn_rshift_256:
+0x7cab 035566 force 8 ,loopcnt 
+0x7cac 035567 increase 28 ,rega 
+0x7cad 035568 branch bn_rshift 
+:      035570 bn_lshift_256:
+0x7cae 035571 force 8 ,loopcnt 
+0x7caf 035572 force 0 ,regc 
+0x7cb0 035573 branch bn_lshift_0 
+:      035575 bn_bigeq_256:
+0x7cb1 035576 force 8 ,loopcnt 
+0x7cb2 035577 increase 28 ,rega 
+0x7cb3 035578 increase 28 ,regb 
+0x7cb4 035579 branch bn_bigeq_0 
+:      035582 bn_eq_zero_256:
+0x7cb5 035583 ifetch 8 ,contr 
+0x7cb6 035584 nrtn blank 
+0x7cb7 035585 branch bn_eq_zero 
+:      035590 bn_rshifteven_256:
+0x7cb8 035591 copy rega ,alarm 
+:      035592 bn_rshifteven_256_1:
+0x7cb9 035593 copy alarm ,rega 
+0x7cba 035594 ifetch 1 ,rega 
+0x7cbb 035595 isolate1 0 ,pdata 
+0x7cbc 035596 rtn true 
+0x7cbd 035597 call bn_rshift_256 
+0x7cbe 035598 ifetch 1 ,regb 
+0x7cbf 035599 isolate0 0 ,pdata 
+0x7cc0 035600 branch bn_rshifteven_256_0 ,true 
+0x7cc1 035601 arg mem_p_256 ,rega 
+0x7cc2 035602 copy regb ,contw 
+0x7cc3 035603 call bn_add_256 
+0x7cc4 035604 ifetch 1 ,regb 
+0x7cc5 035605 iadd regc ,pdata 
+0x7cc6 035606 istore 1 ,regb 
+0x7cc7 035607 increase -32 ,regb 
+:      035608 bn_rshifteven_256_0:
+0x7cc8 035609 add regb ,32 ,rega 
+0x7cc9 035610 force 9 ,loopcnt 
+0x7cca 035611 call bn_rshift 
+0x7ccb 035612 branch bn_rshifteven_256_1 
+:      035616 ui_init:
+0x7ccc 035617 call lpm_disable_exen_output 
+0x7ccd 035618 rtn wake 
+0x7cce 035619 call ui_button_init 
+0x7ccf 035620 call ui_timer_init 
+0x7cd0 035621 branch ui_led_init_global 
+:      035623 ui_dispatch:
+0x7cd1 035624 call ui_led_dispatch 
+0x7cd2 035626 branch ui_timer_check 
+:      035628 ui_button_init:
+0x7cd3 035629 fetch 1 ,mem_ui_button_gpio 
+0x7cd4 035630 rtneq ui_button_gpio_disable 
+0x7cd5 035631 iforce temp 
+0x7cd6 035632 call gpio_config_output 
+0x7cd7 035633 fetcht 1 ,mem_ui_button_gpio 
+0x7cd8 035634 call gpio_out_inactive 
+0x7cd9 035635 nop 100 
+0x7cda 035636 fetcht 1 ,mem_ui_button_gpio 
+0x7cdb 035637 call gpio_config_input 
+0x7cdc 035638 branch ui_button_polling 
+:      035642 ui_button_polling:
+0x7cdd 035643 bpatchx patch3e_3 ,mem_patch3e 
+0x7cde 035644 fetch 1 ,mem_ui_button_gpio 
+0x7cdf 035645 rtneq ui_button_gpio_disable 
+0x7ce0 035646 copy pdata ,temp 
+0x7ce1 035647 call gpio_get_bit 
+0x7ce2 035648 nbranch ui_button_up ,true 
+:      035650 ui_button_down:
+0x7ce3 035651 call ui_button_check_long_press 
+0x7ce4 035652 fetch 2 ,mem_ui_state_map 
+0x7ce5 035653 set1 ui_state_btn_down 
+0x7ce6 035654 store 2 ,mem_ui_state_map 
+0x7ce7 035655 fetch 1 ,mem_ui_button_last_state 
+0x7ce8 035656 rtneq ui_button_state_down 
+0x7ce9 035657 jam ui_button_state_down ,mem_ui_button_last_state 
+0x7cea 035659 fetch 1 ,mem_ui_button_timeout 
+0x7ceb 035660 store 1 ,mem_ui_button_timer 
+0x7cec 035661 call lpm_button_get_wake_lock 
+0x7ced 035662 jam bt_evt_button_down ,mem_fifo_temp 
+0x7cee 035663 branch ui_ipc_send_event 
+:      035664 ui_button_up:
+0x7cef 035665 fetch 2 ,mem_ui_state_map 
+0x7cf0 035666 set0 ui_state_btn_down 
+0x7cf1 035667 store 2 ,mem_ui_state_map 
+0x7cf2 035668 fetch 1 ,mem_ui_button_last_state 
+0x7cf3 035669 rtneq ui_button_state_up 
+0x7cf4 035670 jam ui_button_state_up ,mem_ui_button_last_state 
+0x7cf5 035672 jam 0 ,mem_ui_button_timer 
+0x7cf6 035673 call lpm_button_clean_wake_lock 
+0x7cf7 035674 jam bt_evt_button_up ,mem_fifo_temp 
+0x7cf8 035675 branch ui_ipc_send_event 
+:      035677 ui_button_check_long_press:
+0x7cf9 035678 fetch 1 ,mem_ui_button_timer 
+0x7cfa 035679 rtn blank 
+0x7cfb 035680 increase -1 ,pdata 
+0x7cfc 035681 store 1 ,mem_ui_button_timer 
+0x7cfd 035682 nrtn blank 
+0x7cfe 035684 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+0x7cff 035685 branch ui_ipc_send_event 
+:      035687 lpm_button_get_wake_lock:
+0x7d00 035688 arg wake_lock_button ,queue 
+0x7d01 035689 branch lpm_get_wake_lock 
+:      035691 lpm_button_clean_wake_lock:
+0x7d02 035692 arg wake_lock_button ,queue 
+0x7d03 035693 branch lpm_put_wake_lock 
+:      035715 calc_curr_struct_prt:
+0x7d04 035716 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d05 035717 mul32 rega ,led_offset_length ,regb 
+0x7d06 035718 iadd regb ,regb 
+0x7d07 035719 rtn 
+:      035722 ui_led_init_global:
+0x7d08 035723 fetch 1 ,mem_ui_led_struct_num 
+0x7d09 035724 rtn blank 
+0x7d0a 035725 copy pdata ,loopcnt 
+0x7d0b 035726 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d0c 035727 copy pdata ,regb 
+:      035728 ui_led_init_loop:
+0x7d0d 035729 add regb ,led_offset_led_gpio ,regc 
+0x7d0e 035730 ifetcht 1 ,regc 
+0x7d0f 035731 call gpio_config_output 
+0x7d10 035732 call ui_led_off_static 
+0x7d11 035733 increase led_offset_length ,regb 
+0x7d12 035734 loop ui_led_init_loop 
+0x7d13 035735 rtn 
+:      035739 ui_led_on_global:
+0x7d14 035740 call calc_curr_struct_prt 
+0x7d15 035741 setarg ui_led_state_lighting 
+0x7d16 035742 istore 1 ,regb 
+0x7d17 035743 call ui_led_stop_timer 
+0x7d18 035744 branch ui_led_on_static 
+:      035748 ui_led_blink_stop_global:
+:      035749 ui_led_off_global:
+0x7d19 035750 call calc_curr_struct_prt 
+0x7d1a 035751 setarg ui_led_state_darking 
+0x7d1b 035752 istore 1 ,regb 
+0x7d1c 035753 call ui_led_stop_timer 
+0x7d1d 035754 branch ui_led_off_static 
+:      035758 ui_led_blink_start_global:
+0x7d1e 035759 call calc_curr_struct_prt 
+0x7d1f 035760 setarg ui_led_state_blink_start 
+0x7d20 035761 istore 1 ,regb 
+0x7d21 035762 setarg led_infinite_flash_num 
+0x7d22 035763 istore 1 ,contw 
+0x7d23 035764 branch ui_led_off_static 
+:      035769 ui_led_set_style_global:
+0x7d24 035770 call calc_curr_struct_prt 
+0x7d25 035771 arg led_offset_length ,loopcnt 
+0x7d26 035772 copy regc ,contr 
+0x7d27 035773 copy regb ,contw 
+0x7d28 035774 branch memcpy_fast 
+:      035778 ui_led_dispatch:
+0x7d29 035779 fetch 1 ,mem_ui_led_struct_num 
+0x7d2a 035780 rtn blank 
+0x7d2b 035781 arg 0 ,rega 
+:      035782 ui_led_blink_polling:
+0x7d2c 035783 call ui_led_change_style_by_type 
+0x7d2d 035784 increase 1 ,rega 
+0x7d2e 035785 fetch 1 ,mem_ui_led_struct_num 
+0x7d2f 035786 isub rega ,null 
+0x7d30 035787 rtn zero 
+0x7d31 035788 branch ui_led_blink_polling 
+:      035791 ui_led_off_static:
+0x7d32 035792 add regb ,led_offset_led_gpio ,regc 
+0x7d33 035793 ifetcht 1 ,regc 
+0x7d34 035794 branch gpio_out_inactive 
+:      035797 ui_led_on_static:
+0x7d35 035798 add regb ,led_offset_led_gpio ,regc 
+0x7d36 035799 ifetcht 1 ,regc 
+0x7d37 035800 branch gpio_out_active 
+:      035804 ui_led_change_style_by_type:
+0x7d38 035805 add rega ,ui_led_blink ,queue 
+0x7d39 035806 call timer_check 
+0x7d3a 035807 nrtn blank 
+0x7d3b 035809 call calc_curr_struct_prt 
+0x7d3c 035811 ifetch 1 ,regb 
+0x7d3d 035813 beq ui_led_state_lighting ,ui_led_on_static 
+0x7d3e 035814 beq ui_led_state_darking ,ui_led_off_static 
+0x7d3f 035815 beq ui_led_state_blink_stop ,ui_led_off_static 
+0x7d40 035816 beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+:      035817 ui_led_blink_state_lighting:
+0x7d41 035818 call ui_led_on_static 
+0x7d42 035819 add regb ,led_offset_cb_ledon ,regc 
+0x7d43 035820 call push_stack 
+0x7d44 035821 ifetch 2 ,regc 
+0x7d45 035822 call callback_func 
+0x7d46 035823 call pop_stack 
+0x7d47 035824 setarg ui_led_state_blink_darking 
+0x7d48 035825 istore 1 ,regb 
+0x7d49 035826 add regb ,led_offset_on_time ,regc 
+0x7d4a 035827 ifetch 2 ,regc 
+0x7d4b 035828 branch ui_led_blink_timer_start 
+:      035831 ui_led_blink_state_darking:
+0x7d4c 035832 call ui_led_off_static 
+0x7d4d 035833 add regb ,led_offset_cb_ledoff ,regc 
+0x7d4e 035834 call push_stack 
+0x7d4f 035835 ifetch 2 ,regc 
+0x7d50 035836 call callback_func 
+0x7d51 035837 call pop_stack 
+0x7d52 035839 add regb ,led_offset_blink_count ,regc 
+0x7d53 035840 ifetch 1 ,regc 
+0x7d54 035841 beq led_infinite_flash_num ,ui_led_blink_infinite 
+0x7d55 035842 increase -1 ,pdata 
+0x7d56 035843 istore 1 ,regc 
+0x7d57 035844 branch ui_led_blink_stop_global ,blank 
+:      035845 ui_led_blink_infinite:
+0x7d58 035846 setarg ui_led_state_blink_lighting 
+0x7d59 035847 istore 1 ,regb 
+0x7d5a 035848 add regb ,led_offset_off_time ,regc 
+0x7d5b 035849 ifetch 2 ,regc 
+:      035850 ui_led_blink_timer_start:
+0x7d5c 035851 add rega ,ui_led_blink ,queue 
+0x7d5d 035852 branch timer_init 
+:      035854 ui_led_stop_timer:
+0x7d5e 035855 setarg 0 
+0x7d5f 035856 branch ui_led_blink_timer_start 
+:      035862 ui_timer_timeout:
+0x7d60 035863 setarg 0x1000 
+0x7d61 035864 lshift16 pdata ,pdata 
+0x7d62 035865 iadd regb ,regb 
+0x7d63 035866 rtn 
+:      035868 ui_timer_check:
+0x7d64 035869 bpatchx patch3e_4 ,mem_patch3e 
+0x7d65 035870 arg 0 ,rega 
+0x7d66 035871 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7d67 035872 copy clkn_bt ,regb 
+0x7d68 035873 copy regb ,pdata 
+0x7d69 035874 isub temp ,null 
+0x7d6a 035875 ncall ui_timer_timeout ,positive 
+:      035877 ui_timer_check_loop:
+0x7d6b 035878 copy regb ,pdata 
+0x7d6c 035879 increase 160 ,temp 
+0x7d6d 035880 increase 160 ,temp 
+0x7d6e 035881 isub temp ,null 
+0x7d6f 035882 nbranch ui_timer_check_end ,positive 
+0x7d70 035883 increase 1 ,rega 
+0x7d71 035884 and rega ,0x0f ,pdata 
+0x7d72 035885 nbranch ui_timer_check_loop ,blank 
+0x7d73 035886 arg 0 ,rega 
+0x7d74 035887 call ui_timer_check_send_evt 
+:      035888 ui_timer_init:
+0x7d75 035889 copy clkn_bt ,pdata 
+0x7d76 035890 store 4 ,mem_ui_timer_last_btclk 
+0x7d77 035891 rtn 
+:      035892 ui_timer_check_end:
+0x7d78 035893 bpatchx patch3e_5 ,mem_patch3e 
+0x7d79 035894 copy rega ,pdata 
+0x7d7a 035895 rtn blank 
+0x7d7b 035896 increase -160 ,temp 
+0x7d7c 035897 increase -160 ,temp 
+0x7d7d 035898 set0 28 ,temp 
+0x7d7e 035899 storet 4 ,mem_ui_timer_last_btclk 
+:      035900 ui_timer_check_send_evt:
+0x7d7f 035901 branch app_evt_timer 
+:      035908 ui_ipc_get_lock:
+0x7d80 035909 jam 1 ,mem_ipc_lock_bt 
+:      035910 ui_ipc_get_lock_wait:
+0x7d81 035911 fetch 1 ,mem_ipc_lock_c51 
+0x7d82 035912 nbranch ui_ipc_get_lock_wait ,blank 
+0x7d83 035913 rtn 
+:      035915 ui_ipc_put_lock:
+0x7d84 035916 jam 0 ,mem_ipc_lock_bt 
+0x7d85 035917 rtn 
+:      035921 ui_ipc_send_event:
+0x7d86 035922 bpatchx patch3e_6 ,mem_patch3e 
+0x7d87 035923 call ui_ipc_get_lock 
+0x7d88 035924 copy rega ,pdata 
+0x7d89 035925 store 4 ,mem_ipc_rega_temp 
+0x7d8a 035926 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7d8b 035927 call fifo_in 
+0x7d8c 035928 fetch 4 ,mem_ipc_rega_temp 
+0x7d8d 035929 copy pdata ,rega 
+0x7d8e 035930 branch ui_ipc_put_lock 
+:      035932 ui_ipc_send_cmd:
+0x7d8f 035933 bpatchx patch3e_7 ,mem_patch3e 
+0x7d90 035934 call ui_ipc_get_lock 
+0x7d91 035935 copy rega ,pdata 
+0x7d92 035936 store 4 ,mem_ipc_rega_temp 
+0x7d93 035937 arg mem_ipc_fifo_c512bt ,rega 
+0x7d94 035938 call fifo_in 
+0x7d95 035939 fetch 4 ,mem_ipc_rega_temp 
+0x7d96 035940 copy pdata ,rega 
+0x7d97 035941 branch ui_ipc_put_lock 
+:      035943 ui_ipc_clean_all_fifo:
+0x7d98 035944 setarg 0 
+0x7d99 035945 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7d9a 035946 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7d9b 035947 rtn 
+:      035949 check_51cmd:
+0x7d9c 035950 bpatchx patch3f_0 ,mem_patch3f 
+0x7d9d 035951 fetch 1 ,mem_hci_cmd 
+0x7d9e 035952 nrtn blank 
+0x7d9f 035953 arg mem_ipc_fifo_c512bt ,rega 
+0x7da0 035954 call fifo_is_empty 
+0x7da1 035955 rtn blank 
+0x7da2 035956 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7da3 035957 call check_51cmd_once 
+0x7da4 035958 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7da5 035959 branch check_51cmd ,blank 
+0x7da6 035960 rtn 
+:      035962 check_51cmd_once:
+0x7da7 035963 call ui_ipc_get_lock 
+0x7da8 035964 arg mem_ipc_fifo_c512bt ,rega 
+0x7da9 035965 call fifo_out 
+0x7daa 035966 copy pdata ,temp 
+0x7dab 035967 call ui_ipc_put_lock 
+0x7dac 035968 bpatchx patch3f_1 ,mem_patch3f 
+0x7dad 035969 copy temp ,pdata 
+0x7dae 035970 rtn blank 
+0x7daf 035971 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7db0 035972 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7db1 035973 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7db2 035974 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7db3 035975 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7db4 035976 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7db5 035977 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7db6 035978 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7db7 035979 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7db8 035980 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7db9 035981 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7dba 035982 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7dbb 035983 beq bt_cmd_led_off ,check_51cmd_led_off 
+0x7dbc 035984 beq bt_cmd_led_on ,check_51cmd_led_on 
+0x7dbd 035985 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+0x7dbe 035986 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7dbf 035987 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7dc0 035988 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7dc1 035989 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7dc2 035990 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7dc3 035991 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7dc4 035993 store 1 ,mem_fifo_temp 
+0x7dc5 035994 bpatchx patch3f_2 ,mem_patch3f 
+0x7dc6 035995 call lmo_fifo_check 
+0x7dc7 035996 nbranch check_51cmd_restore ,blank 
+:      035997 check_51cmd_once_continue:
+0x7dc8 035998 fetch 1 ,mem_fifo_temp 
+0x7dc9 035999 bmark0 mark_context ,check_51cmd_check_idle 
+0x7dca 036000 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7dcb 036001 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7dcc 036002 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7dcd 036003 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7dce 036004 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7dcf 036005 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7dd0 036006 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7dd1 036007 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7dd2 036008 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7dd3 036009 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7dd4 036010 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7dd5 036011 rtn 
+:      036013 check_51cmd_check_idle:
+0x7dd6 036014 store 1 ,mem_fifo_temp 
+0x7dd7 036015 call context_check_idle 
+0x7dd8 036016 branch check_51cmd_restore ,zero 
+0x7dd9 036017 call context_search_plap 
+0x7dda 036018 nrtn zero 
+:      036019 check_51cmd_restore:
+0x7ddb 036020 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7ddc 036021 branch ui_ipc_send_cmd 
+:      036026 check_51cmd_start_discovery:
+0x7ddd 036027 fetch 2 ,mem_ui_state_map 
+0x7dde 036028 set1 ui_state_bt_discovery 
+0x7ddf 036029 store 2 ,mem_ui_state_map 
+0x7de0 036030 jam 3 ,mem_scan_mode 
+0x7de1 036031 rtn 
+:      036035 check_51cmd_stop_discovery:
+0x7de2 036036 jam 0 ,mem_hid_handshake_timer_count 
+0x7de3 036037 jam 0 ,mem_scan_mode 
+0x7de4 036038 fetch 2 ,mem_ui_state_map 
+0x7de5 036039 set0 ui_state_bt_discovery 
+0x7de6 036040 store 2 ,mem_ui_state_map 
+0x7de7 036041 rtn 
+:      036045 check_51cmd_reconnect:
+0x7de8 036046 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7de9 036047 rtn 
+:      036051 check_51cmd_disconnect:
+0x7dea 036052 jam lmp_detach ,mem_lmo_opcode2 
+0x7deb 036053 jam other_end_terminated ,mem_disconn_reason_send 
+0x7dec 036054 rtn 
+:      036058 check_51cmd_enter_sniff_subrating:
+0x7ded 036059 rtn 
+:      036063 check_51cmd_exit_sniff_subrating:
+0x7dee 036064 rtn 
+:      036068 check_51cmd_sniff_test:
+0x7def 036069 rtn 
+:      036073 check_51cmd_pincode:
+0x7df0 036074 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7df1 036075 branch cmd_pair 
+:      036079 check_51cmd_inq:
+0x7df2 036080 rtn 
+:      036084 check_51cmd_stop_inq:
+0x7df3 036085 rtn 
+:      036089 check_51cmd_adv:
+0x7df4 036090 jam on ,mem_le_adv_enable 
+0x7df5 036091 jam adv_ind ,mem_le_adv_type 
+0x7df6 036092 fetch 2 ,mem_ui_state_map 
+0x7df7 036093 set1 ui_state_ble_adv ,pdata 
+0x7df8 036094 store 2 ,mem_ui_state_map 
+0x7df9 036095 rtn 
+:      036099 check_51cmd_stop_adv:
+0x7dfa 036100 fetch 2 ,mem_ui_state_map 
+0x7dfb 036101 set0 ui_state_ble_adv ,pdata 
+0x7dfc 036102 store 2 ,mem_ui_state_map 
+0x7dfd 036103 jam off ,mem_le_adv_enable 
+0x7dfe 036104 rtn 
+:      036108 check_51cmd_direct_adv:
+0x7dff 036109 jam on ,mem_le_adv_enable 
+0x7e00 036110 jam adv_direct_ind ,mem_le_adv_type 
+0x7e01 036111 fetch 2 ,mem_ui_state_map 
+0x7e02 036112 set1 ui_state_ble_adv ,pdata 
+0x7e03 036113 store 2 ,mem_ui_state_map 
+0x7e04 036114 rtn 
+:      036118 check_51cmd_stop_direct_adv:
+0x7e05 036119 fetch 2 ,mem_ui_state_map 
+0x7e06 036120 set0 ui_state_ble_adv ,pdata 
+0x7e07 036121 store 2 ,mem_ui_state_map 
+0x7e08 036122 jam off ,mem_le_adv_enable 
+0x7e09 036123 rtn 
+:      036127 check_51cmd_le_disconnect:
+0x7e0a 036128 setarg 20 
+0x7e0b 036129 store 2 ,mem_le_superto 
+0x7e0c 036130 store 2 ,mem_le_init_superto 
+0x7e0d 036131 branch le_send_terminate_ind_user_terminated 
+:      036135 check_51cmd_ble_update_connect_param:
+0x7e0e 036136 branch le_l2cap_tx_update_req 
+:      036140 check_51cmd_led_off:
+0x7e0f 036141 arg 0 ,rega 
+0x7e10 036142 branch ui_led_off_global 
+:      036146 check_51cmd_led_on:
+0x7e11 036147 arg 0 ,rega 
+0x7e12 036148 branch ui_led_on_global 
+:      036152 check_51cmd_led_start_blink:
+0x7e13 036153 arg 0 ,rega 
+0x7e14 036154 branch ui_led_blink_start_global 
+:      036158 check_51cmd_le_start_con:
+0x7e15 036159 jam on ,mem_le_scan_enable 
+0x7e16 036160 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7e17 036163 rtn 
+:      036167 check_51cmd_start_scan:
+0x7e18 036168 jam on ,mem_le_scan_enable 
+0x7e19 036169 rtn 
+:      036173 check_51cmd_stop_scan:
+0x7e1a 036174 jam off ,mem_le_scan_enable 
+0x7e1b 036175 jam 0 ,mem_hci_cmd 
+0x7e1c 036176 rtn 
+:      036180 check_51cmd_hibernate:
+0x7e1d 036181 fetch 2 ,mem_cb_before_hibernate 
+0x7e1e 036182 call callback_func 
+0x7e1f 036183 fetch 1 ,mem_ui_button_gpio 
+0x7e20 036184 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+0x7e21 036185 copy pdata ,temp 
+0x7e22 036186 call gpio_config_input 
+:      036187 check_51cmd_hibernate_btn_disabled:
+0x7e23 036188 call ui_ipc_clean_all_fifo 
+0x7e24 036189 branch lpm_hibernate 
+:      036193 check_51cmd_le_smp_sec_req:
+0x7e25 036194 branch le_send_smp_security_request 
+:      036198 check_51cmd_role_switch:
+0x7e26 036199 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7e27 036200 set1 mark_switch_initiated ,mark 
+0x7e28 036201 nrtn master 
+0x7e29 036202 jam switch_flag_init ,mem_switch_flag 
+0x7e2a 036203 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7e2b 036204 fetch 1 ,mem_connection_options 
+0x7e2c 036205 set0 connection_switch ,pdata 
+0x7e2d 036206 store 1 ,mem_connection_options 
+0x7e2e 036207 rtn 
+:      036211 check_51cmd_bb_reconn_cancel:
+0x7e2f 036212 force page_length_timer ,queue 
+0x7e30 036213 branch timer_stop 
+:      036217 check_51cmd_dhkey_not_accept:
+0x7e31 036218 call tid_set_reply 
+0x7e32 036219 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7e33 036220 branch parse_lmp_dhkey_check_reject 
+:      036223 ui_check_paring_button:
+0x7e34 036224 fetch 1 ,mem_ui_state_map 
+0x7e35 036225 rtnbit0 ui_state_btn_down 
+0x7e36 036226 rtnbit0 ui_state_bt_reconnect 
+0x7e37 036227 branch check_51cmd_bb_reconn_cancel 
+:      036232 queue_init:
+0x7e38 036233 fetch 2 ,mem_queue_ptr 
+0x7e39 036234 add pdata ,queue_offset_curr_num ,contw 
+0x7e3a 036235 setarg 0 
+0x7e3b 036236 istore 3 ,contw 
+0x7e3c 036237 rtn 
+:      036241 queue_push:
+0x7e3d 036242 call disable_user 
+0x7e3e 036243 call queue_full 
+0x7e3f 036244 rtn blank 
+0x7e40 036245 fetch 2 ,mem_queue_ptr 
+0x7e41 036246 add pdata ,queue_offset_curr_num ,regb 
+0x7e42 036247 ifetcht 1 ,regb 
+0x7e43 036248 increase 1 ,temp 
+0x7e44 036249 istoret 1 ,regb 
+0x7e45 036251 ifetcht 1 ,pdata 
+0x7e46 036252 copy temp ,loopcnt 
+0x7e47 036253 add pdata ,queue_offset_write_ptr ,regb 
+0x7e48 036254 ifetch 1 ,regb 
+0x7e49 036255 imul32 temp ,pdata 
+0x7e4a 036256 iadd contr ,contw 
+0x7e4b 036257 copy rega ,contr 
+:      036258 calc_queue_next_ptr:
+0x7e4c 036259 call memcpy 
+0x7e4d 036260 call queue_get_size 
+0x7e4e 036261 pincrease -1 
+0x7e4f 036262 ifetcht 1 ,regb 
+0x7e50 036263 increase 1 ,temp 
+0x7e51 036264 iand temp ,temp 
+0x7e52 036265 istoret 1 ,regb 
+0x7e53 036266 branch enable_user 
+:      036271 queue_pop:
+0x7e54 036272 call disable_user 
+0x7e55 036273 call queue_empty 
+0x7e56 036274 rtn blank 
+0x7e57 036275 fetch 2 ,mem_queue_ptr 
+0x7e58 036276 add pdata ,queue_offset_curr_num ,regb 
+0x7e59 036277 ifetcht 1 ,regb 
+0x7e5a 036278 increase -1 ,temp 
+0x7e5b 036279 istoret 1 ,regb 
+0x7e5c 036280 ifetcht 1 ,pdata 
+0x7e5d 036281 copy temp ,loopcnt 
+0x7e5e 036282 add pdata ,queue_offset_read_ptr ,regb 
+0x7e5f 036283 ifetch 1 ,regb 
+0x7e60 036284 imul32 temp ,pdata 
+0x7e61 036285 iadd contr ,contr 
+0x7e62 036286 increase 1 ,contr 
+0x7e63 036287 copy rega ,contw 
+0x7e64 036288 branch calc_queue_next_ptr 
+:      036292 queue_empty:
+0x7e65 036293 fetch 2 ,mem_queue_ptr 
+0x7e66 036294 add pdata ,queue_offset_curr_num ,contr 
+0x7e67 036295 ifetch 1 ,contr 
+0x7e68 036296 rtn 
+:      036299 queue_full:
+0x7e69 036300 call queue_get_size 
+0x7e6a 036301 ifetcht 1 ,contr 
+0x7e6b 036302 isub temp ,pdata 
+0x7e6c 036303 rtn 
+:      036306 queue_get_size:
+0x7e6d 036307 fetch 2 ,mem_queue_ptr 
+0x7e6e 036308 add pdata ,queue_offset_length ,contr 
+0x7e6f 036309 ifetch 1 ,contr 
+0x7e70 036310 rtn 
+:      036318 right_shift_n:
+0x7e71 036319 sub loopcnt ,0 ,null 
+0x7e72 036320 rtn zero 
+:      036321 right_shift_n_loop:
+0x7e73 036322 rshift pdata ,pdata 
+0x7e74 036323 loop right_shift_n_loop 
+0x7e75 036324 rtn 
+:      036327 left_shift_n:
+0x7e76 036328 force 1 ,pdata 
+0x7e77 036329 sub loopcnt ,0 ,null 
+0x7e78 036330 rtn zero 
+:      036331 left_shift_n_loop:
+0x7e79 036332 lshift pdata ,pdata 
+0x7e7a 036333 loop left_shift_n_loop 
+0x7e7b 036334 rtn 
+:      036335 push_stack:
+0x7e7c 036336 deposit contw 
+0x7e7d 036337 store 2 ,mem_contw 
+0x7e7e 036338 storet 8 ,mem_temp 
+0x7e7f 036339 deposit timeup 
+0x7e80 036340 store 4 ,mem_timeup 
+0x7e81 036341 call push_stack_rega_b_c 
+0x7e82 036342 deposit contr 
+0x7e83 036343 store 2 ,mem_contr 
+0x7e84 036344 rtn 
+:      036346 push_stack_rega_b_c:
+0x7e85 036347 deposit rega 
+0x7e86 036348 store 4 ,mem_rega 
+0x7e87 036349 deposit regb 
+0x7e88 036350 store 4 ,mem_regb 
+0x7e89 036351 deposit regc 
+0x7e8a 036352 store 3 ,mem_regc 
+0x7e8b 036353 rtn 
+:      036355 pop_stack:
+0x7e8c 036356 fetcht 8 ,mem_temp 
+0x7e8d 036357 fetch 4 ,mem_timeup 
+0x7e8e 036358 iforce timeup 
+0x7e8f 036359 call pop_stack_rega_b_c 
+0x7e90 036360 fetch 2 ,mem_contw 
+0x7e91 036361 iforce contw 
+0x7e92 036362 fetch 2 ,mem_contr 
+0x7e93 036363 iforce contr 
+0x7e94 036364 rtn 
+:      036366 pop_stack_rega_b_c:
+0x7e95 036367 fetch 4 ,mem_rega 
+0x7e96 036368 iforce rega 
+0x7e97 036369 fetch 4 ,mem_regb 
+0x7e98 036370 iforce regb 
+0x7e99 036371 fetch 3 ,mem_regc 
+0x7e9a 036372 iforce regc 
+0x7e9b 036373 rtn 
+:      036375 get_contw:
+0x7e9c 036376 fetch 2 ,mem_contw 
+0x7e9d 036377 copy pdata ,contw 
+0x7e9e 036378 rtn 
+:      036379 get_contr:
+0x7e9f 036380 fetch 2 ,mem_contr 
+0x7ea0 036381 copy pdata ,contr 
+0x7ea1 036382 rtn 
+:      036383 store_contw:
+0x7ea2 036384 copy contw ,pdata 
+0x7ea3 036385 store 2 ,mem_contw 
+0x7ea4 036386 rtn 
+:      036387 store_contr:
+0x7ea5 036388 copy contr ,pdata 
+0x7ea6 036389 store 2 ,mem_contr 
+0x7ea7 036390 rtn 
+:      036394 save_cont_pointers:
+0x7ea8 036395 copy contw ,pdata 
+0x7ea9 036396 store 2 ,mem_hold_contw 
+0x7eaa 036397 copy contr ,pdata 
+0x7eab 036398 store 2 ,mem_hold_contr 
+0x7eac 036399 rtn 
+:      036400 load_cont_pointers:
+0x7ead 036401 fetch 2 ,mem_hold_contw 
+0x7eae 036402 copy pdata ,contw 
+0x7eaf 036403 fetch 2 ,mem_hold_contr 
+0x7eb0 036404 copy pdata ,contr 
+0x7eb1 036405 rtn 
+:      036407 memcpy96:
+0x7eb2 036408 call memcpy32 
+:      036409 memcpy64:
+0x7eb3 036410 call memcpy32 
+0x7eb4 036411 branch memcpy32 
+:      036412 memcpy12:
+0x7eb5 036413 call memcpy8 
+:      036414 memcpy4:
+0x7eb6 036415 ifetch 4 ,contr 
+0x7eb7 036416 istore 4 ,contw 
+0x7eb8 036417 rtn 
+:      036418 memcpy8:
+0x7eb9 036419 ifetch 8 ,contr 
+0x7eba 036420 istore 8 ,contw 
+0x7ebb 036421 rtn 
+:      036423 memcpy48:
+0x7ebc 036424 call memcpy16 
+:      036425 memcpy32:
+0x7ebd 036426 call memcpy8 
+:      036427 memcpy24:
+0x7ebe 036428 call memcpy8 
+:      036429 memcpy16:
+0x7ebf 036430 call memcpy8 
+0x7ec0 036431 branch memcpy8 
+:      036435 delay_10ms:
+0x7ec1 036436 arg 10 ,loopcnt 
+:      036437 delay_ms_wait:
+0x7ec2 036438 nop 12000 
+0x7ec3 036439 loop delay_ms_wait 
+0x7ec4 036440 rtn 
+:      036442 bn_zero:
+0x7ec5 036443 force 3 ,loopcnt 
+:      036444 memset0:
+0x7ec6 036445 force 0 ,pdata 
+:      036446 memset8:
+0x7ec7 036447 istore 8 ,contw 
+0x7ec8 036448 loop memset8 
+0x7ec9 036449 rtn 
+:      036451 memset0_8:
+0x7eca 036452 force 0 ,pdata 
+0x7ecb 036453 istore 8 ,contw 
+0x7ecc 036454 rtn 
+:      036455 memset0_4:
+0x7ecd 036456 force 0 ,pdata 
+0x7ece 036457 istore 4 ,contw 
+0x7ecf 036458 rtn 
+:      036460 clear_mem_256:
+0x7ed0 036461 force 4 ,loopcnt 
+0x7ed1 036462 branch memset0 
+:      036463 clear_mem_512:
+0x7ed2 036464 force 8 ,loopcnt 
+0x7ed3 036465 branch memset0 
+:      036467 clear_mem:
+0x7ed4 036468 deposit loopcnt 
+0x7ed5 036469 rtn blank 
+0x7ed6 036470 setarg 0 
+:      036471 clear_mem_loop:
+0x7ed7 036472 istore 1 ,contw 
+0x7ed8 036473 loop clear_mem_loop 
+0x7ed9 036474 rtn 
+:      036477 clear_temp_block:
+0x7eda 036478 arg 32 ,loopcnt 
+0x7edb 036479 arg mem_temp_block0 ,contw 
+0x7edc 036480 branch clear_mem 
+:      036482 xor_loop:
+0x7edd 036483 ifetch 4 ,regc 
+0x7ede 036484 ifetcht 4 ,rega 
+0x7edf 036485 ixor temp ,pdata 
+0x7ee0 036486 istore 4 ,contw 
+0x7ee1 036487 increase 4 ,rega 
+0x7ee2 036488 increase 4 ,regc 
+0x7ee3 036489 loop xor_loop 
+0x7ee4 036490 rtn 
+:      036494 inverse_data:
+0x7ee5 036495 bpatchx patch3f_3 ,mem_patch3f 
+0x7ee6 036496 copy loopcnt ,pdata 
+0x7ee7 036497 sub pdata ,1 ,null 
+0x7ee8 036498 rtn positive 
+0x7ee9 036499 iadd rega ,regb 
+0x7eea 036500 increase -1 ,regb 
+0x7eeb 036501 rshift loopcnt ,loopcnt 
+:      036502 inverse_loop:
+0x7eec 036503 ifetcht 1 ,rega 
+0x7eed 036504 ifetch 1 ,regb 
+0x7eee 036505 istore 1 ,rega 
+0x7eef 036506 istoret 1 ,regb 
+0x7ef0 036507 increase -1 ,regb 
+0x7ef1 036508 increase 1 ,rega 
+0x7ef2 036509 loop inverse_loop 
+0x7ef3 036510 rtn 
+:      036513 memcpy_fast:
+0x7ef4 036514 deposit loopcnt 
+0x7ef5 036515 rtn blank 
+:      036516 memcpy_fast_loop:
+0x7ef6 036517 increase -8 ,loopcnt 
+0x7ef7 036518 call memcpy8 ,positive 
+0x7ef8 036519 rtn zero 
+0x7ef9 036520 branch memcpy_fast_loop ,positive 
+0x7efa 036521 increase 8 ,loopcnt 
+:      036522 memcpy_fast_loop_four:
+0x7efb 036523 increase -4 ,loopcnt 
+0x7efc 036524 call memcpy4 ,positive 
+0x7efd 036525 rtn zero 
+0x7efe 036526 branch memcpy_fast_loop_four ,positive 
+0x7eff 036527 increase 4 ,loopcnt 
+0x7f00 036528 branch memcpy 
+:      036530 memcpy:
+0x7f01 036531 deposit loopcnt 
+0x7f02 036532 rtn blank 
+:      036533 memcpy_loop:
+0x7f03 036534 ifetch 1 ,contr 
+0x7f04 036535 istore 1 ,contw 
+0x7f05 036536 loop memcpy_loop 
+0x7f06 036537 rtn 
+:      036539 timer_stop:
+0x7f07 036540 setarg 0 
+:      036541 timer_init:
+0x7f08 036542 rshift clkn_bt ,temp 
+0x7f09 036543 storet 4 ,mem_last_clkn 
+0x7f0a 036544 arg mem_timers ,contw 
+0x7f0b 036545 iforce temp 
+0x7f0c 036546 lshift queue ,pdata 
+0x7f0d 036547 iadd contw ,contw 
+0x7f0e 036548 istoret 2 ,contw 
+0x7f0f 036549 bpatchx patch3f_4 ,mem_patch3f 
+0x7f10 036550 rtn 
+:      036552 timer_check_timeout:
+0x7f11 036553 arg 0x800 ,timeup 
+0x7f12 036554 lshift16 timeup ,timeup 
+0x7f13 036555 iadd timeup ,pdata 
+0x7f14 036556 rtn 
+:      036559 timer_reinit:
+0x7f15 036560 arg 0 ,queue 
+:      036561 timer_check:
+0x7f16 036562 bpatchx patch3f_5 ,mem_patch3f 
+0x7f17 036563 fetcht 4 ,mem_last_clkn 
+0x7f18 036564 rshift clkn_bt ,pdata 
+0x7f19 036565 store 4 ,mem_last_clkn 
+0x7f1a 036566 isub temp ,null 
+0x7f1b 036567 ncall timer_check_timeout ,positive 
+0x7f1c 036568 isub temp ,timeup 
+0x7f1d 036569 copy timeup ,temp 
+0x7f1e 036570 arg mem_timers ,contr 
+0x7f1f 036571 copy contr ,contw 
+0x7f20 036572 arg 16 ,loopcnt 
+:      036573 timer_loop:
+0x7f21 036574 ifetch 2 ,contr 
+0x7f22 036575 isub temp ,pdata 
+0x7f23 036576 branch timer_counting ,positive 
+0x7f24 036577 force 0 ,pdata 
+:      036578 timer_counting:
+0x7f25 036579 istore 2 ,contw 
+0x7f26 036580 loop timer_loop 
+0x7f27 036581 arg mem_timers ,contr 
+0x7f28 036582 lshift queue ,pdata 
+0x7f29 036583 iadd contr ,contr 
+0x7f2a 036584 ifetch 2 ,contr 
+0x7f2b 036585 rtn 
+:      036590 clk_add:
+0x7f2c 036591 iadd temp ,temp 
+0x7f2d 036592 copy temp ,loopcnt 
+0x7f2e 036593 setarg 3750 
+0x7f2f 036594 isub loopcnt ,pdata 
+0x7f30 036595 rtn positive 
+0x7f31 036596 sub pdata ,0 ,pdata 
+0x7f32 036597 rshift16 temp ,temp 
+0x7f33 036598 increase 1 ,temp 
+0x7f34 036599 lshift16 temp ,temp 
+0x7f35 036600 ior temp ,temp 
+0x7f36 036601 rtn 
+:      036603 clk_diff_rt:
+0x7f37 036604 call clk_diff 
+0x7f38 036605 branch clk2rt 
+:      036608 clk_diff:
+0x7f39 036609 disable user 
+0x7f3a 036610 isub temp ,pdata 
+0x7f3b 036611 branch clk_diff_pos ,positive 
+0x7f3c 036612 enable user 
+0x7f3d 036613 sub pdata ,0 ,pdata 
+:      036614 clk_diff_pos:
+0x7f3e 036615 rtnbit0 15 
+0x7f3f 036616 arg -61786 ,temp 
+0x7f40 036617 iadd temp ,pdata 
+0x7f41 036618 set0 64 ,pdata 
+0x7f42 036619 rtn 
+:      036621 clk2rt:
+0x7f43 036622 iforce contr 
+0x7f44 036623 rshift16 pdata ,pdata 
+0x7f45 036624 arg 3750 ,temp 
+0x7f46 036625 imul32 temp ,pdata 
+0x7f47 036626 iadd contr ,pdata 
+0x7f48 036627 rtn 
+:      036630 clk2lpo:
+0x7f49 036631 lshift8 pdata ,pdata 
+0x7f4a 036632 lshift4 pdata ,pdata 
+0x7f4b 036633 fetcht 3 ,mem_clks_per_lpo 
+0x7f4c 036634 idiv temp 
+0x7f4d 036635 call wait_div_end 
+0x7f4e 036636 quotient temp 
+0x7f4f 036637 rtn 
+:      036640 clk2bt:
+0x7f50 036641 arg 3750 ,temp 
+0x7f51 036642 idiv temp 
+0x7f52 036643 call wait_div_end 
+0x7f53 036644 quotient pdata 
+0x7f54 036645 lshift16 pdata ,pdata 
+0x7f55 036646 remainder temp 
+0x7f56 036647 ior temp ,temp 
+0x7f57 036648 rtn 
+:      036655 string2dec_from_uart:
+0x7f58 036656 arg 0 ,temp 
+:      036657 string2dec_from_uart_done:
+0x7f59 036658 copy temp ,regc 
+0x7f5a 036659 ifetch 1 ,contru 
+0x7f5b 036660 call uchar2dialog 
+0x7f5c 036661 copy regc ,temp 
+0x7f5d 036662 call swap 
+0x7f5e 036663 arg 10 ,regb 
+0x7f5f 036664 imul32 regb ,pdata 
+0x7f60 036665 iadd temp ,pdata 
+0x7f61 036666 copy pdata ,temp 
+0x7f62 036667 loop string2dec_from_uart_done 
+0x7f63 036668 rtn 
+:      036672 uchar2dialog:
+0x7f64 036673 arg 0x3a ,temp 
+0x7f65 036674 isub temp ,null 
+0x7f66 036675 nbranch uchar2dialog_number ,positive 
+0x7f67 036676 arg 0x61 ,temp 
+0x7f68 036677 isub temp ,null 
+0x7f69 036678 branch uchar2dialog_a2f ,positive 
+0x7f6a 036679 arg 0x37 ,temp 
+0x7f6b 036680 isub temp ,pdata 
+0x7f6c 036681 rtn 
+:      036682 uchar2dialog_number:
+0x7f6d 036683 arg 0x30 ,temp 
+0x7f6e 036684 isub temp ,pdata 
+0x7f6f 036685 rtn 
+:      036686 uchar2dialog_a2f:
+0x7f70 036687 arg 0x57 ,temp 
+0x7f71 036688 isub temp ,pdata 
+0x7f72 036689 rtn 
+:      036691 pn9:
+0x7f73 036692 copy temp ,alarm 
+0x7f74 036693 setarg 0x1ff 
+0x7f75 036694 force 0 ,regb 
+:      036695 pn9_loop:
+0x7f76 036696 rshift3 pdata ,rega 
+0x7f77 036697 rshift rega ,rega 
+0x7f78 036698 ixor rega ,rega 
+0x7f79 036699 isolate1 0 ,rega 
+0x7f7a 036700 setflag true ,9 ,pdata 
+0x7f7b 036701 rshift temp ,temp 
+0x7f7c 036702 isolate1 0 ,pdata 
+0x7f7d 036703 setflag true ,7 ,temp 
+0x7f7e 036704 rshift pdata ,pdata 
+0x7f7f 036705 increase 1 ,regb 
+0x7f80 036706 compare 0 ,regb ,0x7 
+0x7f81 036707 nbranch pn9_loop ,true 
+0x7f82 036708 istoret 1 ,contw 
+0x7f83 036709 loop pn9_loop 
+0x7f84 036710 copy alarm ,temp 
+0x7f85 036711 rtn 
+:      036714 wait_div_end:
+0x7f86 036715 rtn modone 
+0x7f87 036716 branch wait_div_end 
+:      036726 compare_loop:
+:      036727 string_compare:
+0x7f88 036728 ifetch 1 ,rega 
+0x7f89 036729 ifetcht 1 ,regb 
+0x7f8a 036730 isub temp ,null 
+0x7f8b 036731 nrtn zero 
+0x7f8c 036732 increase 1 ,rega 
+0x7f8d 036733 increase 1 ,regb 
+0x7f8e 036734 loop string_compare 
+0x7f8f 036735 force 0 ,null 
+0x7f90 036736 rtn 
+:      036739 ceiling:
+0x7f91 036740 isub temp ,null 
+0x7f92 036741 nrtn positive 
+0x7f93 036742 deposit temp 
+0x7f94 036743 rtn 
+:      036745 swap:
+0x7f95 036746 iadd temp ,pdata 
+0x7f96 036747 isub temp ,temp 
+0x7f97 036748 isub temp ,pdata 
+0x7f98 036749 rtn 
+:      036751 clean_mem:
+0x7f99 036752 arg 0x200 ,loopcnt 
+0x7f9a 036753 arg 0x4000 ,contw 
+0x7f9b 036754 branch memset0 
+:      036757 callback_func:
+0x7f9c 036758 rtn blank 
+0x7f9d 036759 copy pdata ,pc 
+:      036762 wait_uarttx:
+0x7f9e 036763 hfetch 2 ,core_uart_txitems 
+0x7f9f 036764 nbranch wait_uarttx ,blank 
+0x7fa0 036765 rtn 
+:      036767 ice_break:
+0x7fa1 036768 jam 0x1 ,core_ice_ctrl 
+0x7fa2 036769 rtn 
+:      036771 ice_setbp:
+0x7fa3 036772 hstore 2 ,core_ice_break0 
+0x7fa4 036773 hfetch 1 ,core_ice_ctrl 
+0x7fa5 036774 set1 4 ,pdata 
+0x7fa6 036775 hstore 1 ,core_ice_ctrl 
+0x7fa7 036776 rtn 
+:      036777 ice_setbp2:
+0x7fa8 036778 hstore 2 ,core_ice_break1 
+0x7fa9 036779 hfetch 1 ,core_ice_ctrl 
+0x7faa 036780 set1 6 ,pdata 
+0x7fab 036781 hstore 1 ,core_ice_ctrl 
+0x7fac 036782 rtn 
+:      036784 ice_set_write_bp:
+0x7fad 036785 hstore 2 ,core_ice_break0 
+0x7fae 036786 jam 0x30 ,core_ice_ctrl 
+0x7faf 036787 rtn 
+:      036791 test_enable_white:
+0x7fb0 036792 hfetch 1 ,core_config 
+0x7fb1 036793 set0 whiteoff_bit ,pdata 
+0x7fb2 036794 hstore 1 ,core_config 
+0x7fb3 036795 rtn 
+:      036797 check_uart_tx_buff:
+0x7fb4 036798 hfetch 2 ,core_uart_txitems 
+0x7fb5 036799 arg uart_air_control_threshold ,temp 
+:      036800 pdata_sub_temp:
+0x7fb6 036801 isub temp ,null 
+0x7fb7 036802 rtn 
+:      036808 fifo_in:
+0x7fb8 036809 bpatchx patch3f_6 ,mem_patch3f 
+0x7fb9 036810 ifetcht util_fifo_len ,rega 
+0x7fba 036811 and temp ,0xff ,pdata 
+0x7fbb 036812 nbranch fifo_in_push ,blank 
+0x7fbc 036813 rshift8 temp ,pdata 
+0x7fbd 036814 istore util_fifo_len ,rega 
+:      036815 fifo_in_push:
+0x7fbe 036816 increase util_fifo_len + util_fifo_offset ,rega 
+0x7fbf 036817 ifetch 1 ,rega 
+0x7fc0 036818 nbranch assert ,blank 
+0x7fc1 036819 fetch 1 ,mem_fifo_temp 
+0x7fc2 036820 istore 1 ,rega 
+0x7fc3 036821 rtn 
+:      036826 fifo_out:
+0x7fc4 036827 bpatchx patch3f_7 ,mem_patch3f 
+0x7fc5 036828 arg util_fifo_len ,loopcnt 
+0x7fc6 036829 ifetch util_fifo_len ,rega 
+0x7fc7 036830 rtn blank 
+:      036831 fifo_out_loop:
+0x7fc8 036832 ifetch 1 ,rega 
+0x7fc9 036833 nbranch fifo_out_end ,blank 
+0x7fca 036834 increase 1 ,rega 
+0x7fcb 036835 loop fifo_out_loop 
+0x7fcc 036836 branch assert 
+:      036837 fifo_out_end:
+0x7fcd 036838 arg 0 ,temp 
+0x7fce 036839 istoret 1 ,rega 
+0x7fcf 036840 rtn 
+:      036845 fifo_is_empty:
+0x7fd0 036846 ifetch util_fifo_len ,rega 
+0x7fd1 036847 rtn 
+:      036852 fifo_is_full:
+0x7fd2 036853 ifetch 1 ,rega 
+0x7fd3 036854 rtn 
+:      036857 fifo_is_near_full:
+0x7fd4 036858 ifetch 2 ,rega 
+0x7fd5 036859 rtn 
+:      036863 fifo_content_count:
+0x7fd6 036864 arg 0 ,temp 
+:      036865 fifo_content_count_loop:
+0x7fd7 036866 fetch 1 ,contr 
+0x7fd8 036867 loop fifo_content_count_loop ,blank 
+0x7fd9 036868 increase 1 ,temp 
+0x7fda 036869 loop fifo_content_count_loop 
+0x7fdb 036870 copy temp ,pdata 
+0x7fdc 036871 rtn 
+:      036873 not_greater_than:
+0x7fdd 036874 isub temp ,null 
+0x7fde 036875 nrtn positive 
+0x7fdf 036876 copy temp ,pdata 
+0x7fe0 036877 rtn 
+:      036880 disable_positive:
+0x7fe1 036881 force -1 ,null 
+0x7fe2 036882 rtn 
+:      036883 enable_positive:
+:      036884 disable_zero:
+0x7fe3 036885 force 1 ,null 
+0x7fe4 036886 rtn 
+:      036887 enable_zero:
+0x7fe5 036888 force 0 ,null 
+0x7fe6 036889 rtn 
+:      036891 enable_user:
+0x7fe7 036892 enable user 
+0x7fe8 036893 rtn 
+:      036895 disable_user:
+0x7fe9 036896 disable user 
+0x7fea 036897 rtn 
+:      036899 enable_user2:
+0x7feb 036900 enable user2 
+0x7fec 036901 rtn 
+:      036903 disable_user2:
+0x7fed 036904 disable user2 
+0x7fee 036905 rtn 
+:      036907 disable_blank:
+0x7fef 036908 setarg 1 
+0x7ff0 036909 rtn 
+:      036911 enable_blank:
+0x7ff1 036912 setarg 0 
+0x7ff2 036913 rtn 
+:      036916 reverse_byte:
+0x7ff3 036917 copy loopcnt ,pdata 
+0x7ff4 036918 rtn blank 
+0x7ff5 036919 copy contr ,pdata 
+0x7ff6 036920 iadd loopcnt ,pdata 
+0x7ff7 036921 increase -1 ,pdata 
+0x7ff8 036922 copy pdata ,contr 
+:      036923 reverse_loop:
+0x7ff9 036924 ifetch 1 ,contr 
+0x7ffa 036925 increase -2 ,contr 
+0x7ffb 036926 istore 1 ,contw 
+0x7ffc 036927 loop reverse_loop 
+0x7ffd 036928 rtn 
               org 0x10001
-:      036424 z_entrance0:
-0x10001 036425 beq zcode_01 ,z_mouse_bb_disconnected
-0x10002 036426 beq zcode_00 ,z_page_wait_fhs_reply_ok
-0x10003 036427 beq zcode_02 ,z_hid_rx_process
-0x10004 036428 rtn
-:      036430 z_mouse_bb_disconnected:
-0x10005 036431 jam 0 ,mem_mouse_enter_sniff_count
-0x10006 036432 jam 0x0e ,mem_sniff_param_interval
-0x10007 036433 call mouse_bb_discon_clear_stack
-0x10008 036434 fetch app_disc_rsn_size ,mem_app_disconn_reason
-0x10009 036435 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
-0x1000a 036436 bbit1 app_disc_by_button ,app_disconn_reason_clear
-0x1000b 036437 bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
-0x1000c 036438 bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
-0x1000d 036439 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-0x1000e 036440 branch mouse_start_discovery
-:      036442 z_mouse_event_light_state_pairing:
-0x1000f 036443 bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
-0x10010 036444 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-0x10011 036445 branch mouse_start_discovery
-:      036446 z_mouse_event_light_state_hibernate:
-0x10012 036447 fetch 2 ,mem_ui_state_map
-0x10013 036448 bbit1 ui_state_btn_down ,mouse_start_discovery
-0x10014 036449 call app_disconn_reason_clear
-0x10015 036450 call p_mouse_check_key_gpio
-0x10016 036451 beq mouse_lmr_button ,z_mouse_null_enter_hibernate_enable
-0x10017 036452 fetch 1 ,mem_mouse_dpi_button_state
-0x10018 036453 branch z_mouse_null_enter_hibernate_enable ,blank
-0x10019 036454 branch app_bb_hibernate
-:      036456 z_mouse_null_enter_hibernate_enable:
-0x1001a 036457 jam 1 ,mem_mouse_null_enter_hibernate_flag
-0x1001b 036458 jam 40 ,mem_mouse_null_enter_hibernate_timer
-0x1001c 036459 rtn
-:      036461 z_page_wait_fhs_reply_ok:
-0x1001d 036462 fetch 1 ,mem_page_rcv_fhs
-0x1001e 036463 increase 1 ,pdata
-0x1001f 036464 store 1 ,mem_page_rcv_fhs
-0x10020 036465 call prepare_newconn
-:      036466 z_master_newconn_loop:
-0x10021 036467 set1 mark_first_packet ,mark
-0x10022 036468 call master_newconn_once
-0x10023 036469 branch z_newconn_poll_responded ,sync
-0x10024 036470 set0 mark_first_packet ,mark
-0x10025 036471 call new_conn_timeout
-0x10026 036472 nbranch z_master_newconn_loop ,blank
-0x10027 036473 branch page_restart
-:      036474 z_newconn_poll_responded:
-0x10028 036475 set0 mark_first_packet ,mark
-0x10029 036476 branch newconn_poll_responded
-:      036478 z_hid_rx_process:
-0x1002a 036479 fetch 2 ,mem_l2cap_payload_ptr
-0x1002b 036480 copy pdata ,contr
-0x1002c 036481 ifetch 1 ,contr
-0x1002d 036482 store 1 ,mem_l2cap_rcv
-0x1002e 036483 and pdata ,0x0f ,temp
-0x1002f 036484 rshift4 pdata ,pdata
-0x10030 036485 beq hid_type_set_protocol ,z_hid_rx_set_protocol
-0x10031 036486 beq hid_type_control ,z_hid_rx_process_hid_control
-0x10032 036487 branch hid_rx_process + 6
-:      036488 z_hid_rx_set_protocol:
-0x10033 036489 call hid_rx_process_handshake
-0x10034 036490 jam 0 ,mem_mouse_bt_boot_mode
-0x10035 036491 fetch 1 ,mem_l2cap_rcv
-0x10036 036492 isolate1 0 ,pdata
-0x10037 036493 rtn true
-0x10038 036494 jam 1 ,mem_mouse_bt_boot_mode
-0x10039 036495 rtn
-:      036497 z_hid_rx_process_hid_control:
-0x1003a 036498 copy temp ,pdata
-0x1003b 036499 beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
-0x1003c 036500 branch hid_rx_process_hid_control + 2
+:      036933 z_entrance0:
+0x10001 036934 beq zcode_00 ,z_page_wait_fhs_reply_ok
+0x10002 036935 rtn
+:      036937 z_page_wait_fhs_reply_ok:
+0x10003 036938 fetch 1 ,mem_page_rcv_fhs
+0x10004 036939 increase 1 ,pdata
+0x10005 036940 store 1 ,mem_page_rcv_fhs
+0x10006 036941 call prepare_newconn
+:      036942 z_master_newconn_loop:
+0x10007 036943 set1 mark_first_packet ,mark
+0x10008 036944 call master_newconn_once
+0x10009 036945 branch z_newconn_poll_responded ,sync
+0x1000a 036946 set0 mark_first_packet ,mark
+0x1000b 036947 call new_conn_timeout
+0x1000c 036948 nbranch z_master_newconn_loop ,blank
+0x1000d 036949 branch page_restart
+:      036950 z_newconn_poll_responded:
+0x1000e 036951 set0 mark_first_packet ,mark
+0x1000f 036952 branch newconn_poll_responded
               org 0x20001
-:      036504 z_entrance1:
-0x20001 036505 beq zcode_10 ,z_send_lmp_escape
-0x20002 036506 beq zcode_11 ,z_send_lmp_accepted
-0x20003 036507 beq zcode_12 ,z_mouse4_0_check_reconn_target
-0x20004 036508 rtn
-:      036510 z_mouse4_0_check_reconn_target:
-0x20005 036511 jam 1 ,mem_le_send_security_request_flag
-0x20006 036512 jam 1 ,mem_mouse_le_reconnect_flag
-0x20007 036513 fetch 2 ,mem_mouse_direct_timeout
-0x20008 036514 fetcht 1 ,mem_mouse_fast_conn_flag
-0x20009 036515 sub temp ,0xff ,null
-0x2000a 036516 nbranch z_mouse4_0_check_reconn_target_next ,zero
-0x2000b 036517 setarg 0x0258
-:      036518 z_mouse4_0_check_reconn_target_next:
-0x2000c 036519 store 2 ,mem_mouse_direct_timer
-0x2000d 036520 call p_mouse_store_eeprom_enable
-0x2000e 036521 call app_lpm_mult_disable
-0x2000f 036522 call p_le_check_adv_flag
-0x20010 036523 setarg adv_flag_bredr_not_supported
-0x20011 036524 istore 1 ,contr
-0x20012 036525 arg mem_le_scan_data ,contr
-0x20013 036526 call p_le_adv_data_update
-0x20014 036527 branch check_51cmd_adv
-:      036529 z_send_lmp_escape:
-0x20015 036530 fetch 1 ,mem_lmp_to_send
-0x20016 036531 beq lmp_ext_features_res ,z_send_lmpext_features_res
-0x20017 036532 beq lmp_ext_features_req ,z_send_lmpext_features_req
-0x20018 036533 branch send_lmp_escape
-:      036534 z_send_lmpext_features_res:
-0x20019 036535 call z_check_ssp_enable
-0x2001a 036536 fetch 1 ,mem_lmp_to_send
-0x2001b 036537 branch send_lmpext_features_res
-:      036538 z_send_lmpext_features_req:
-0x2001c 036539 call z_check_ssp_enable
-0x2001d 036540 fetch 1 ,mem_lmp_to_send
-0x2001e 036541 branch send_lmpext_features_req
-:      036542 z_check_ssp_enable:
-0x2001f 036543 fetch 1 ,mem_ssp_enable
-0x20020 036544 branch ssp_disable ,blank
-0x20021 036545 branch ssp_enable
-:      036547 z_send_lmp_accepted:
-0x20022 036548 force 2 ,pdata
-0x20023 036549 call msg_send_lmp
-0x20024 036550 fetch 1 ,mem_lmi_opcode
-0x20025 036551 istore 1 ,contw
-0x20026 036552 store 1 ,mem_lmi_opcode_temp
-0x20027 036553 call send_lmp_follow
-0x20028 036554 fetch 1 ,mem_lmi_opcode_temp
-0x20029 036555 beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
-0x2002a 036556 branch send_lmp_accepted + 7
-:      036558 z_send_lmp_accepted_max_slot_req:
-0x2002b 036559 fetch 1 ,mem_bt_rcvd_switch_req_accept
-0x2002c 036560 rtn blank
-0x2002d 036561 jam 0 ,mem_bt_rcvd_switch_req_accept
-0x2002e 036562 fetch 1 ,mem_bt_send_lmp_setup_complete
-0x2002f 036563 rtnne 2
-0x20030 036564 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
-0x20031 036565 copy clkn_bt ,pdata
-0x20032 036566 store 4 ,mem_aurand_send_delay_time
-0x20033 036567 rtn
+:      036959 z_entrance1:
+0x20001 036960 beq zcode_10 ,z_mouse_bb_disconnected
+0x20002 036961 beq zcode_11 ,z_hid_rx_process
+0x20003 036962 rtn
+:      036964 z_mouse_bb_disconnected:
+0x20004 036965 jam 0 ,mem_mouse_enter_sniff_count
+0x20005 036966 jam 0x0e ,mem_sniff_param_interval
+0x20006 036967 call mouse_bb_discon_clear_stack
+0x20007 036968 fetch app_disc_rsn_size ,mem_app_disconn_reason
+0x20008 036969 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
+0x20009 036970 bbit1 app_disc_by_button ,app_disconn_reason_clear
+0x2000a 036971 bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
+0x2000b 036972 bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
+0x2000c 036973 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+0x2000d 036974 branch mouse_start_discovery
+:      036976 z_mouse_event_light_state_pairing:
+0x2000e 036977 bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
+0x2000f 036978 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+0x20010 036979 branch mouse_start_discovery
+:      036980 z_mouse_event_light_state_hibernate:
+0x20011 036981 fetch 2 ,mem_ui_state_map
+0x20012 036982 bbit1 ui_state_btn_down ,mouse_start_discovery
+0x20013 036983 call app_disconn_reason_clear
+0x20014 036986 branch app_bb_hibernate
+:      036989 z_hid_rx_process:
+0x20015 036990 fetch 2 ,mem_l2cap_payload_ptr
+0x20016 036991 copy pdata ,contr
+0x20017 036992 ifetch 1 ,contr
+0x20018 036993 store 1 ,mem_l2cap_rcv
+0x20019 036994 and pdata ,0x0f ,temp
+0x2001a 036995 rshift4 pdata ,pdata
+0x2001b 036996 beq hid_type_set_protocol ,z_hid_rx_set_protocol
+0x2001c 036997 beq hid_type_control ,z_hid_rx_process_hid_control
+0x2001d 036998 branch hid_rx_process + 6
+:      036999 z_hid_rx_set_protocol:
+0x2001e 037000 call hid_rx_process_handshake
+0x2001f 037001 jam 0 ,mem_mouse_bt_boot_mode
+0x20020 037002 fetch 1 ,mem_l2cap_rcv
+0x20021 037003 isolate1 0 ,pdata
+0x20022 037004 rtn true
+0x20023 037005 jam 1 ,mem_mouse_bt_boot_mode
+0x20024 037006 rtn
+:      037008 z_hid_rx_process_hid_control:
+0x20025 037009 copy temp ,pdata
+0x20026 037010 beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
+0x20027 037011 branch hid_rx_process_hid_control + 2
               org 0x30001
-:      036571 z_entrance2:
-0x30001 036572 beq zcode_20 ,z_le_update_param
-0x30002 036573 beq zcode_21 ,z_le_update_channel_map
-0x30003 036574 beq zcode_22 ,z_le_mouse_bb_event_connect_complete
-0x30004 036575 beq zcode_23 ,z_quit_connection_cont
-0x30005 036576 rtn
-:      036578 z_le_update_param:
-0x30006 036579 call z_mouse_le_conn_param_check
-0x30007 036580 branch le_update_param + 8
-:      036581 z_mouse_le_lpm_mult_reinit:
-0x30008 036582 fetch 1 ,mem_lpm_mult_init
-0x30009 036583 store 1 ,mem_lpm_mult
-:      036584 z_mouse_le_conn_param_lpm_enable:
-0x3000a 036585 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-0x3000b 036586 rtn
-:      036587 z_mouse_le_conn_param_lpm_disable:
-0x3000c 036588 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-0x3000d 036589 rtn
-:      036590 z_mouse_le_conn_param_check:
-0x3000e 036591 fetch 1 ,mem_le_new_conninterval
-0x3000f 036592 sub pdata ,le_interval_15ms ,null
-0x30010 036593 nbranch z_mouse_le_conn_param_lpm_disable ,positive
-0x30011 036594 fetch 1 ,mem_le_new_connslavelatency
-0x30012 036595 fetcht 1 ,mem_lpm_mult_init
-0x30013 036596 isub temp ,null
-0x30014 036597 branch z_mouse_le_lpm_mult_reinit ,positive
-0x30015 036598 fetch 1 ,mem_le_new_connslavelatency
-0x30016 036599 store 1 ,mem_lpm_mult
-0x30017 036600 branch z_mouse_le_conn_param_lpm_enable
-:      036602 z_le_update_channel_map:
-0x30018 036603 fetch 1 ,mem_le_state
-0x30019 036604 rtnbit0 lestate_update_map
-0x3001a 036605 call z_le_channel_map_overflow_check
-0x3001b 036606 nrtn user
-0x3001c 036607 branch le_update_channel_map + 3
-:      036608 z_le_channel_map_overflow_check:
-0x3001d 036609 enable user
-0x3001e 036610 fetch 1 ,mem_le_event_count + 1
-0x3001f 036611 rshift4 pdata ,pdata
-0x30020 036612 rtnne 0x0f
-0x30021 036613 fetch 1 ,mem_le_instant + 1
-0x30022 036614 rshift4 pdata ,pdata
-0x30023 036615 rtnne 0x00
-0x30024 036616 branch disable_user
-:      036618 z_le_mouse_bb_event_connect_complete:
-0x30025 036619 fetch 1 ,mem_mouse_le_reconnect_flag
-0x30026 036620 nrtn blank
-0x30027 036621 fetch 1 ,mem_le_att_handle
-0x30028 036622 sub pdata ,26 ,pdata
-0x30029 036623 nrtn zero
-0x3002a 036624 jam 0 ,mem_le_start_encrypt_timer
-0x3002b 036625 branch mouse_le_write_enable
-:      036627 z_quit_connection_cont:
-0x3002c 036628 call app_disconn_reason_collect_bt
-0x3002d 036629 call sniff_exit
-0x3002e 036630 jam bt_evt_bb_disconnected ,mem_fifo_temp
-0x3002f 036631 call ui_ipc_send_event
-0x30030 036632 call init_lmp_work
-0x30031 036633 call l2cap_init_work
-0x30032 036634 branch quit_connection_cont + 8
+:      037015 z_entrance2:
+0x30001 037016 beq zcode_20 ,z_send_lmp
+0x30002 037017 rtn
+:      037019 z_send_lmp:
+0x30003 037020 disable user
+0x30004 037021 call lmo_fifo_process
+0x30005 037024 fetch 1 ,mem_lmp_to_send
+0x30006 037025 rtn blank
+0x30007 037026 bbit1 7 ,z_send_lmp_escape
+0x30008 037027 beq lmp_accepted ,z_send_lmp_accepted
+0x30009 037028 beq lmp_setup_complete ,z_send_lmp_setup_complete
+0x3000a 037029 beq lmp_sniff_req ,z_send_lmp_sniff_req
+0x3000b 037030 beq lmp_detach ,z_send_lmp_detach
+0x3000c 037031 branch send_lmp0
+:      037032 z_send_lmp_escape:
+0x3000d 037033 beq lmp_ext_features_res ,z_send_lmpext_features_res
+0x3000e 037034 beq lmp_ext_features_req ,z_send_lmpext_features_req
+0x3000f 037035 branch send_lmp_escape
+:      037036 z_send_lmpext_features_res:
+0x30010 037037 call z_check_ssp_enable
+0x30011 037038 fetch 1 ,mem_lmp_to_send
+0x30012 037039 branch send_lmpext_features_res
+:      037040 z_send_lmpext_features_req:
+0x30013 037041 call z_check_ssp_enable
+0x30014 037042 fetch 1 ,mem_lmp_to_send
+0x30015 037043 branch send_lmpext_features_req
+:      037044 z_check_ssp_enable:
+0x30016 037045 fetch 1 ,mem_ssp_enable
+0x30017 037046 branch ssp_disable ,blank
+0x30018 037047 branch ssp_enable
+:      037049 z_send_lmp_setup_complete:
+0x30019 037050 jam 1 ,mem_bt_send_lmp_setup_complete
+0x3001a 037051 branch send_lmp_setup_complete
+:      037053 z_send_lmp_sniff_req:
+0x3001b 037054 jam 4 ,mem_mouse_bt_send_first_package_timer
+0x3001c 037055 branch send_lmp_sniff_req
+:      037057 z_send_lmp_detach:
+0x3001d 037068 call send_lmp_detach
+0x3001e 037069 fetch 1 ,mem_mouse_bt_reconnect_flag
+0x3001f 037070 rtn blank
+0x30020 037071 fetch 1 ,mem_op
+0x30021 037072 set0 op_disconn ,pdata
+0x30022 037073 store 1 ,mem_op
+0x30023 037074 branch p_mouse_sensor_powerdown
+:      037077 z_send_lmp_accepted:
+0x30024 037078 force 2 ,pdata
+0x30025 037079 call msg_send_lmp
+0x30026 037080 fetch 1 ,mem_lmi_opcode
+0x30027 037081 istore 1 ,contw
+0x30028 037082 store 1 ,mem_lmi_opcode_temp
+0x30029 037083 call send_lmp_follow
+0x3002a 037084 fetch 1 ,mem_lmi_opcode_temp
+0x3002b 037085 beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
+0x3002c 037086 branch send_lmp_accepted + 7
+:      037088 z_send_lmp_accepted_max_slot_req:
+0x3002d 037089 fetch 1 ,mem_bt_rcvd_switch_req_accept
+0x3002e 037090 rtn blank
+0x3002f 037091 jam 0 ,mem_bt_rcvd_switch_req_accept
+0x30030 037092 fetch 1 ,mem_bt_send_lmp_setup_complete
+0x30031 037093 rtnne 2
+0x30032 037094 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x30033 037095 copy clkn_bt ,pdata
+0x30034 037096 store 4 ,mem_aurand_send_delay_time
+0x30035 037097 rtn
               org 0x40001
-:      036638 z_entrance3:
-0x40001 036639 beq zcode_30 ,z_mouse_start_discovery
-0x40002 036640 rtn
-:      036642 z_mouse_start_discovery:
-0x40003 036643 call p_mouse_tx_power_init
-0x40004 036644 jam 0 ,mem_le_send_security_request_flag
-0x40005 036645 jam 1 ,mem_mouse_start_discovery_enable
-0x40006 036646 jam mode_bt_device1 ,mem_device_flag
-0x40007 036647 jam 0 ,mem_mouse_clear_sensor_data_flag
-0x40008 036648 call z_mouse_le_addr_update
-:      036649 z_mouse_start_discovery_norandom:
-0x40009 036650 fetch 3 ,mem_le_lap_high_3b
-0x4000a 036651 store 3 ,mem_le_lap + 3
-0x4000b 036652 call p_mouse_fast_conn_disable
-0x4000c 036653 call app_lpm_mult_disable
-0x4000d 036654 fetch 2 ,mem_discovery_timeout
-0x4000e 036655 store 2 ,mem_mouse_discovery_timer
-0x4000f 036656 jam 6 ,mem_connection_options
-0x40010 036657 setarg 0
-0x40011 036658 store 2 ,mem_mouse_no_data_timer
-0x40012 036659 store 2 ,mem_mouse_direct_timer
-0x40013 036660 call p_mouse_store_eeprom_enable
-0x40014 036661 call mouse_bt_discovery_button_down_disable
-0x40015 036662 fetch 1 ,mem_device_option
-0x40016 036663 isolate1 mode_4_mouse ,pdata
-0x40017 036664 call z_check_51cmd_adv ,true
-0x40018 036665 call mouse_start_discovery_norandom + 13
-0x40019 036666 branch p_mouse_discovery_multi_led_blink
-:      036668 z_check_51cmd_adv:
-0x4001a 036669 jam 0 ,mem_mouse_le_reconnect_flag
-0x4001b 036670 call p_le_check_adv_flag
-0x4001c 036671 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
-0x4001d 036672 istore 1 ,contr
-0x4001e 036673 arg mem_le_adv_swift_pair ,contr
-0x4001f 036674 call p_le_adv_data_update
-0x40020 036675 branch check_51cmd_adv
-:      036677 z_mouse_le_addr_update:
-0x40021 036678 call p_mouse_load_flash_user_data
-0x40022 036679 fetcht 2 ,mem_random_addr_increase_count
-0x40023 036680 increase 1 ,temp
-0x40024 036681 storet 2 ,mem_random_addr_increase_count
-0x40025 036682 storet 2 ,mem_le_lap + 1
-0x40026 036683 call p_mouse_store_flash_user_data
-0x40027 036684 random pdata
-0x40028 036685 store 1 ,mem_le_lap
-0x40029 036686 rtn
+:      037102 z_entrance3:
+0x40001 037103 beq zcode_30 ,z_process_conn_sm
+0x40002 037104 rtn
+:      037106 z_process_conn_sm:
+0x40003 037107 call lmo_fifo_check
+0x40004 037108 nrtn blank
+:      037109 z_process_conn_sm_continue:
+0x40005 037110 fetch 1 ,mem_conn_sm
+0x40006 037111 rtn blank
+0x40007 037112 beq conn_sm_send_conn_req ,z_host_create_conn_send_conn_req
+0x40008 037113 beq conn_sm_wait_switch_after_host_connection ,z_host_creat_conn_wait_switch
+0x40009 037114 branch process_conn_sm_continue + 2
+:      037117 z_host_creat_conn_wait_switch:
+0x4000a 037118 fetch 1 ,mem_switch_flag
+0x4000b 037119 rtneq switch_flag_init
+0x4000c 037120 beq switch_flag_accept ,z_host_create_conn_switch_accept
+0x4000d 037121 branch host_creat_conn_wait_switch + 3
+:      037122 z_host_create_conn_switch_accept:
+0x4000e 037123 rtn master
+:      037124 z_host_create_conn_auth_pair:
+0x4000f 037126 fetch 1 ,mem_connection_options
+0x40010 037127 bbit1 connection_auth ,z_host_create_conn_auth_pair_true
+0x40011 037128 branch host_create_conn_auth_pair + 1
+:      037129 z_host_create_conn_auth_pair_true:
+0x40012 037130 fetch 1 ,mem_bt_send_lmp_setup_complete
+0x40013 037131 beq 1 ,host_create_conn_auth_pair_true
+0x40014 037133 fetch 1 ,mem_link_key_exists
+0x40015 037134 branch host_create_conn_auth_pair_nokey ,blank
+0x40016 037135 fetch 1 ,mem_lmp_conn_state
+0x40017 037136 rtnbit0 sent_setup_complete
+0x40018 037137 rtnbit0 received_setup_complete
+0x40019 037138 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x4001a 037139 rtn blank
+0x4001b 037140 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch
+0x4001c 037141 fetch 4 ,mem_aurand_send_delay_time
+0x4001d 037142 arg 20 ,temp
+0x4001e 037143 iadd temp ,temp
+0x4001f 037144 copy clkn_bt ,pdata
+0x40020 037145 isub temp ,null
+0x40021 037146 nbranch z_bt_send_max_slot_req_accept_after_switch_wait ,positive
+0x40022 037147 branch host_create_conn_auth
+:      037149 z_bt_send_max_slot_req_accept_after_switch_wait:
+0x40023 037150 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x40024 037151 rtn
+:      037153 z_host_create_conn_send_conn_req:
+0x40025 037154 jam 20 ,mem_mouse_send_switch_req_timer
+0x40026 037155 branch host_create_conn_send_conn_req
               org 0x50001
-:      036690 z_entrance4:
-0x50001 036691 rtn
+:      037163 z_entrance4:
+0x50001 037164 beq zcode_40 ,z_le_update_param
+0x50002 037165 beq zcode_41 ,z_le_update_channel_map
+0x50003 037166 rtn
+:      037168 z_le_update_param:
+0x50004 037169 call z_mouse_le_conn_param_check
+0x50005 037170 branch le_update_param + 8
+:      037171 z_mouse_le_lpm_mult_reinit:
+0x50006 037172 fetch 1 ,mem_lpm_mult_init
+0x50007 037173 store 1 ,mem_lpm_mult
+:      037174 z_mouse_le_conn_param_lpm_enable:
+0x50008 037175 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+0x50009 037176 rtn
+:      037177 z_mouse_le_conn_param_lpm_disable:
+0x5000a 037178 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+0x5000b 037179 rtn
+:      037180 z_mouse_le_conn_param_check:
+0x5000c 037181 fetch 1 ,mem_le_new_conninterval
+0x5000d 037182 sub pdata ,le_interval_15ms ,null
+0x5000e 037183 nbranch z_mouse_le_conn_param_lpm_disable ,positive
+0x5000f 037184 fetch 1 ,mem_le_new_connslavelatency
+0x50010 037185 fetcht 1 ,mem_lpm_mult_init
+0x50011 037186 isub temp ,null
+0x50012 037187 branch z_mouse_le_lpm_mult_reinit ,positive
+0x50013 037188 fetch 1 ,mem_le_new_connslavelatency
+0x50014 037189 store 1 ,mem_lpm_mult
+0x50015 037190 branch z_mouse_le_conn_param_lpm_enable
+:      037192 z_le_update_channel_map:
+0x50016 037193 fetch 1 ,mem_le_state
+0x50017 037194 rtnbit0 lestate_update_map
+0x50018 037195 call z_le_channel_map_overflow_check
+0x50019 037196 nrtn user
+0x5001a 037197 branch le_update_channel_map + 3
+:      037198 z_le_channel_map_overflow_check:
+0x5001b 037199 enable user
+0x5001c 037200 fetch 1 ,mem_le_event_count + 1
+0x5001d 037201 rshift4 pdata ,pdata
+0x5001e 037202 rtnne 0x0f
+0x5001f 037203 fetch 1 ,mem_le_instant + 1
+0x50020 037204 rshift4 pdata ,pdata
+0x50021 037205 rtnne 0x00
+0x50022 037206 branch disable_user
               org 0x60001
-:      036696 z_entrance5:
-0x60001 036697 rtn
+:      037212 z_entrance5:
+0x60001 037213 beq zcode_50 ,z_mouse_start_discovery
+0x60002 037214 beq zcode_51 ,z_mouse_24g_attempt_fail
+0x60003 037215 rtn
+:      037218 z_mouse_start_discovery:
+0x60004 037219 call p_mouse_tx_power_init
+0x60005 037220 jam 0 ,mem_mouse_clear_sensor_data_flag
+0x60006 037221 call p_mouse_le_fast_conn_disable
+0x60007 037222 fetch 2 ,mem_ui_state_map
+0x60008 037223 bbit1 ui_state_ble_adv ,z_mouse_start_discovery_norandom
+0x60009 037226 call p_mouse_load_random_addr_increase_count
+0x6000a 037227 fetcht 2 ,mem_random_addr_increase_count
+0x6000b 037228 increase 1 ,temp
+0x6000c 037229 storet 2 ,mem_random_addr_increase_count
+0x6000d 037230 storet 2 ,mem_le_lap + 1
+0x6000e 037231 call p_mouse_store_random_addr_increase_count
+0x6000f 037232 random pdata
+0x60010 037233 store 1 ,mem_le_lap
+:      037234 z_mouse_start_discovery_norandom:
+0x60011 037235 setarg 0xed8e0e
+0x60012 037236 store 3 ,mem_le_lap + 3
+0x60013 037237 call app_lpm_mult_disable
+0x60014 037238 fetch 2 ,mem_discovery_timeout
+0x60015 037239 store 2 ,mem_mouse_discovery_timer
+0x60016 037240 jam 5 ,mem_mouse_bt_ble_led_timer
+0x60017 037241 jam 6 ,mem_connection_options
+0x60018 037242 setarg 0
+0x60019 037243 store 2 ,mem_mouse_no_data_timer
+0x6001a 037244 store 2 ,mem_mouse_direct_timer
+0x6001b 037245 arg mouse_store_eeprom_flag ,queue
+0x6001c 037246 call mouse_enable_function_flag
+0x6001d 037247 call mouse_bt_discovery_button_down_disable
+0x6001e 037248 fetch 1 ,mem_device_option
+0x6001f 037249 isolate1 mode_4_mouse ,pdata
+0x60020 037250 call z_check_51cmd_adv ,true
+0x60021 037251 fetch 1 ,mem_device_option
+0x60022 037252 isolate1 mode_3_mouse ,pdata
+0x60023 037253 call check_51cmd_start_discovery ,true
+0x60024 037256 jam 0 ,mem_mouse_bt_reconnect_flag
+0x60025 037257 branch mouse_start_discovery_norandom + 13
+:      037259 z_check_51cmd_adv:
+0x60026 037260 jam 0 ,mem_mouse_le_reconnect_flag
+0x60027 037261 call p_le_check_adv_flag
+0x60028 037262 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
+0x60029 037263 istore 1 ,contr
+0x6002a 037264 arg mem_le_adv_swift_pair ,contr
+0x6002b 037265 call p_le_adv_data_update
+0x6002c 037266 branch check_51cmd_adv
+:      037268 z_mouse_24g_attempt_fail:
+0x6002d 037269 fetch 1 ,mem_mouse_24g_pair_timer
+0x6002e 037270 nrtn blank
+0x6002f 037271 fetch 1 ,mem_24g_attempt_count
+0x60030 037272 nbranch z_mouse_24g_attempt_fail_again ,blank
+0x60031 037273 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt
+0x60032 037274 call p_mouse_tx_power_init
+0x60033 037275 call p_g24_check_51cmd_stop_24g
+0x60034 037276 jam 0 ,mem_link_key_exists
+0x60035 037277 call p_mouse_setgpio_hibernate
+0x60036 037278 branch app_enter_hibernate
+:      037281 z_mouse_24g_attempt_fail_again:
+0x60037 037282 increase -1 ,pdata
+0x60038 037283 store 1 ,mem_24g_attempt_count
+0x60039 037284 branch p_mouse_start_24g_mode
               org 0x70001
+:      037289 z_entrance6:
+0x70001 037290 beq zcode_60 ,z_g24_start_24g_mode
+0x70002 037291 beq zcode_61 ,z_mouse_24g_pairing_button
+0x70003 037292 rtn
+:      037294 z_g24_start_24g_mode:
+0x70004 037295 set0 mark_24g ,mark
+0x70005 037296 fetch 1 ,mem_24g_attempt_count
+0x70006 037297 and pdata ,0x01 ,pdata
+0x70007 037298 ncall z_g24_fast_conn_all_powerful ,blank
+0x70008 037299 call z_g24_normal_connect ,blank
+0x70009 037300 fetch 1 ,mem_24g_pairing_sm
+0x7000a 037301 rtnne state_24g_pairing_success
+0x7000b 037302 call p_g24_tx_attemp_data_prep
+:      037303 z_g24_tx_attemp_dongle_loop:
+0x7000c 037305 nop 2000
+0x7000d 037309 fetch 1 ,mem_24g_check_dongle_times
+0x7000e 037310 beq 0x70 ,p_g24_stop_g24_mode
+0x7000f 037311 call p_g24_transmit_receive_ack
+0x70010 037312 nbranch z_g24_attemp_txdata_retry ,sync
+0x70011 037313 nbranch z_g24_attemp_txdata_retry ,user3
+:      037314 z_g24_tx_attemp_dongle_succ:
+0x70012 037315 set1 mark_24g ,mark
+0x70013 037316 setarg 0
+0x70014 037317 store 2 ,mem_24g_check_dongle_times
+0x70015 037318 store 1 ,mem_mouse_24g_pair_timer
+0x70016 037319 store 1 ,mem_24g_attempt_count
+0x70017 037320 jam bt_evt_24g_attempt_success ,mem_fifo_temp
+0x70018 037321 call ui_ipc_send_event
+:      037322 z_g24_tx_attemp_dongle_loop_exit:
+0x70019 037323 call p_g24_txbuf_clear
+0x7001a 037324 branch p_g24_transmit_by_interrupt_enable
+:      037339 z_g24_normal_connect:
+0x7001b 037340 call p_mouse_tx_power_init
+0x7001c 037341 fetch 4 ,mem_mouse_24g_addr
+0x7001d 037342 branch z6_g24_ch_syncword_crc8_init
+:      037344 z_g24_fast_conn_all_powerful:
+0x7001e 037345 jam tx_power_pair ,mem_tx_power
+0x7001f 037346 fetch 4 ,mem_mouse_24g_addr_init
+:      037347 z6_g24_ch_syncword_crc8_init:
+0x70020 037348 store 4 ,mem_24g_addr
+0x70021 037349 call p_g24_syncword_crc8
+0x70022 037350 branch p_g24_ch
+:      037353 z_g24_attemp_txdata_retry:
+0x70023 037354 fetch 2 ,mem_24g_check_dongle_times
+0x70024 037355 increase 1 ,pdata
+0x70025 037356 store 2 ,mem_24g_check_dongle_times
+0x70026 037357 call p_g24_ch
+0x70027 037358 branch z_g24_tx_attemp_dongle_loop
+:      037361 z_mouse_24g_pairing_button:
+0x70028 037363 arg mosue_24g_pairing_flag ,queue
+0x70029 037364 call mouse_enable_function_flag
+0x7002a 037365 setarg 0
+0x7002b 037366 store 2 ,mem_mouse_direct_timer
+0x7002c 037367 store 1 ,mem_mouse_send_blank_timer
+0x7002d 037368 store 1 ,mem_24g_attempt_count
+0x7002e 037369 store 2 ,mem_24g_check_dongle_times
+0x7002f 037370 jam 200 ,mem_mouse_24g_pair_timer
+0x70030 037371 call mouse_stop_discovery
+0x70031 037372 branch z6_g24_start_pairing_sm1
+:      037374 z6_g24_start_pairing_sm1:
+0x70032 037375 set1 mark_24g ,mark
+0x70033 037376 call z6_g24_pair_init
+:      037377 z6_g24_set_pairing_sm_1:
+0x70034 037378 jam state_24g_pairing_1 ,mem_24g_pairing_sm
+0x70035 037379 rtn
+:      037381 z6_g24_pair_init:
+0x70036 037382 jam tx_power_pair ,mem_tx_power
+0x70037 037383 jam 0 ,mem_24g_pid
+0x70038 037384 jam g24_pair_ch ,mem_24g_ch
+0x70039 037385 fetch 4 ,mem_24g_paring_addr
+0x7003a 037386 branch p_g24_update_addr_and_synccrc8
               org 0x80001
-:      036707 z_entrance7:
-0x80001 036708 beq zcode_70 ,z_mouse_irtual_cable_unplug
-0x80002 036709 rtn
-:      036711 z_mouse_irtual_cable_unplug:
-0x80003 036712 setarg -1
-0x80004 036713 store 6 ,mem_plap
-0x80005 036714 jam rec_3_mode ,mem_record_bt_mode
-0x80006 036715 jam 0xff ,mem_mouse_fast_conn_flag
-0x80007 036716 call mouse_before_store_reconn_info
-0x80008 036717 jam 0xff ,mem_device1_type
-0x80009 036718 branch p_mouse_store_flash_device_info
+:      037390 z_entrance7:
+0x80001 037391 beq zcode_70 ,z_g24_auto_pair_start
+0x80002 037392 rtn
+:      037394 z_g24_auto_pair_start:
+0x80003 037395 set0 mark_24g ,mark
+0x80004 037396 call z_g24_auto_pair_all_powerful
+0x80005 037397 call p_g24_tx_attemp_data_prep
+:      037398 z_g24_auto_pair_start_loop:
+0x80006 037400 nop 2000
+0x80007 037401 fetch 1 ,mem_24g_check_dongle_times + 1
+0x80008 037402 bbit1 0x02 ,p_g24_stop_g24_mode
+0x80009 037406 call p_g24_transmit_receive_ack
+0x8000a 037407 nbranch z_g24_auto_pair_retry ,sync
+0x8000b 037408 nbranch z_g24_auto_pair_retry ,user3
+0x8000c 037409 call p_g24_ackpayload_parse
+0x8000d 037410 call p_mouse_tx_power_init
+0x8000e 037411 fetch 4 ,mem_24g_addr
+0x8000f 037412 fetcht 4 ,mem_24g_paring_addr
+0x80010 037413 isub temp ,null
+0x80011 037414 branch z_g24_start_pairing_sm1 ,zero
+0x80012 037415 set1 mark_24g ,mark
+0x80013 037416 setarg 0
+0x80014 037417 store 2 ,mem_24g_check_dongle_times
+0x80015 037418 jam bt_evt_24g_attempt_success ,mem_fifo_temp
+0x80016 037419 call ui_ipc_send_event
+0x80017 037420 call p_g24_txbuf_clear
+0x80018 037421 branch p_g24_transmit_by_interrupt_enable
+:      037436 z_g24_auto_pair_retry:
+0x80019 037437 fetch 2 ,mem_24g_check_dongle_times
+0x8001a 037438 increase 1 ,pdata
+0x8001b 037439 store 2 ,mem_24g_check_dongle_times
+0x8001c 037440 branch z_g24_auto_pair_start_loop
+:      037451 z_g24_auto_pair_all_powerful:
+0x8001d 037452 jam tx_power_pair ,mem_tx_power
+0x8001e 037453 setarg 0x0f0f
+0x8001f 037454 store 2 ,mem_24g_addr
+0x80020 037455 istore 2 ,contw
+:      037456 z_g24_ch_syncword_crc8_init:
+0x80021 037457 call p_g24_syncword_crc8
+0x80022 037458 branch p_g24_ch
+:      037460 z_g24_auto_pair_device_attemp:
+0x80023 037461 call z_g24_auto_pair_all_powerful
+0x80024 037462 branch z_g24_auto_pair_start_loop
+:      037464 z_g24_auto_pair_pair_attemp:
+0x80025 037465 call z_g24_pair_init
+0x80026 037466 branch z_g24_auto_pair_start_loop
+:      037468 z_g24_start_pairing_sm1:
+0x80027 037469 set1 mark_24g ,mark
+0x80028 037470 call z_g24_pair_init
+:      037471 z_g24_set_pairing_sm_1:
+0x80029 037472 jam state_24g_pairing_1 ,mem_24g_pairing_sm
+0x8002a 037473 rtn
+:      037475 z_g24_pair_init:
+0x8002b 037476 jam tx_power_pair ,mem_tx_power
+0x8002c 037477 jam 0 ,mem_24g_pid
+0x8002d 037478 jam g24_pair_ch ,mem_24g_ch
+0x8002e 037479 fetch 4 ,mem_24g_paring_addr
+0x8002f 037480 branch p_g24_update_addr_and_synccrc8
               org 0x90001
-:      036723 z_entrance8:
-0x90001 036724 beq zcode_80 ,z_mouse_setting_config
-0x90002 036725 rtn
-:      036727 z_mouse_setting_config:
-0x90003 036728 call mouse_gpio_init
-0x90004 036730 fetcht 1 ,mem_flash_ncs_gpio
-0x90005 036731 call gpio_config_output
-0x90006 036733 call z_mouse_bt_sdp_update
-0x90007 036734 setarg 0
-0x90008 036735 store 2 ,mem_lpm_interval
-0x90009 036736 call load_adc_init
-0x9000a 036737 call mouse_adc_init
-0x9000b 036739 call p_mouse_load_flash_info_check
-0x9000c 036740 fetch 6 ,mem_mouse_24g_addr_init
-0x9000d 036741 fetcht 6 ,mem_device1_addr
-0x9000e 036742 isub temp ,null
-0x9000f 036743 nbranch p_mouse_fast_conn_disable ,zero
-0x90010 036744 call p_mouse_fast_conn_init
-0x90011 036745 rtn
-:      036747 z_mouse_bt_sdp_update:
-0x90012 036748 call enable_authrom
-0x90013 036749 arg 0x8c00 ,contr
-0x90014 036750 arg mem_mouse_uuid_list ,contw
-0x90015 036751 arg 369 ,loopcnt
-0x90016 036752 call memcpy
-0x90017 036754 setarg 0x0f0209
-0x90018 036755 istore 3 ,contw
-0x90019 036756 setarg 0x120009
-0x9001a 036757 istore 3 ,contw
-0x9001b 036759 setarg 0x100209
-0x9001c 036760 istore 3 ,contw
-0x9001d 036761 setarg 0x000009
-0x9001e 036762 istore 3 ,contw
-0x9001f 036763 arg 0x8d71 ,contr
-0x90020 036764 arg 265 ,loopcnt
-0x90021 036765 call memcpy
-0x90022 036767 jam 0 ,mem_mouse_uuid_list + 23
-0x90023 036768 jam 0x6d ,mem_mouse_uuid_list + 15
-0x90024 036769 setarg 0x401f
-0x90025 036770 store 2 ,mem_mouse_uuid_list + 357
-0x90026 036771 setarg 0x6d04
-0x90027 036772 store 2 ,mem_mouse_uuid_list + 462
-0x90028 036773 setarg 0x16b0
-0x90029 036774 store 2 ,mem_mouse_uuid_list + 468
-0x9002a 036776 setarg mem_mouse_uuid_list
-0x9002b 036777 store 2 ,mem_ui_uuid_table
-0x9002c 036778 rtn
+:      037488 z_entrance8:
+0x90001 037489 beq zcode_80 ,z_mouse_setting_config
+0x90002 037490 beq zcode_81 ,z_le_addr_random_config
+0x90003 037492 rtn
+:      037501 z_le_addr_random_config:
+0x90004 037502 call load_adc_init
+0x90005 037503 fetch 2 ,mem_0_5_adc_io_data
+0x90006 037504 nbranch z_le_otp_adc_empty ,blank
+0x90007 037505 setarg 0x1122
+:      037506 z_le_otp_adc_empty:
+0x90008 037507 store 2 ,mem_random_addr_increase_count
+0x90009 037508 rtn
+:      037511 z_mouse_setting_config:
+0x9000a 037512 call p_g24_set_device_addr
+0x9000b 037517 call mouse_gpio_init
+0x9000c 037519 fetcht 1 ,mem_flash_ncs_gpio
+0x9000d 037520 call gpio_config_output
+0x9000e 037522 call mouse_param_init
+0x9000f 037523 call z_mouse_bt_sdp_update
+0x90010 037524 setarg 0
+0x90011 037525 store 2 ,mem_lpm_interval
+0x90012 037526 call load_adc_init
+0x90013 037527 call mouse_adc_init
+0x90014 037528 call le_set_config_fixed_ltk
+0x90015 037529 call le_set_justwork
+0x90016 037530 call le_set_fixed_ltk
+0x90017 037531 call le_set_config_read_authentication
+0x90018 037532 call p_le_addr_random_config
+0x90019 037533 branch p_mouse_load_flash_info_check
+:      037536 z_mouse_bt_sdp_update:
+0x9001a 037537 call enable_authrom
+0x9001b 037538 arg 0x8c00 ,contr
+0x9001c 037539 arg mem_mouse_uuid_list ,contw
+0x9001d 037540 arg 369 ,loopcnt
+0x9001e 037541 call memcpy
+0x9001f 037543 setarg 0x0f0209
+0x90020 037544 istore 3 ,contw
+0x90021 037545 setarg 0x120009
+0x90022 037546 istore 3 ,contw
+0x90023 037548 setarg 0x100209
+0x90024 037549 istore 3 ,contw
+0x90025 037550 setarg 0x000009
+0x90026 037551 istore 3 ,contw
+0x90027 037552 arg 0x8d71 ,contr
+0x90028 037553 arg 265 ,loopcnt
+0x90029 037554 call memcpy
+0x9002a 037556 jam 0 ,mem_mouse_uuid_list + 23
+0x9002b 037557 jam 0x6d ,mem_mouse_uuid_list + 15
+0x9002c 037558 setarg 0x401f
+0x9002d 037559 store 2 ,mem_mouse_uuid_list + 357
+0x9002e 037560 setarg 0x6d04
+0x9002f 037561 store 2 ,mem_mouse_uuid_list + 462
+0x90030 037562 setarg 0x16b0
+0x90031 037563 store 2 ,mem_mouse_uuid_list + 468
+0x90032 037565 setarg mem_mouse_uuid_list
+0x90033 037566 store 2 ,mem_ui_uuid_table
+0x90034 037567 rtn
               org 0xa0001
-:      036784 z_entrance9:
-0xa0001 036785 rtn
+:      037573 z_entrance9:
+0xa0001 037574 beq zcode_90 ,z_g24_pairing_sm
+0xa0002 037575 beq zcode_91 ,z_g24_paring_mode
+0xa0003 037576 beq zcode_92 ,z_mouse_24g_pairing_complete
+0xa0004 037577 rtn
+:      037579 z_g24_pairing_sm:
+0xa0005 037580 fetch 1 ,mem_24g_ensure
+0xa0006 037581 beq ensure_on_24g ,enable_user
+0xa0007 037582 fetch 1 ,mem_24g_pairing_sm
+0xa0008 037583 beq state_24g_pairing_1 ,z_g24_pairing_sm_1
+0xa0009 037584 beq state_24g_pairing_2 ,z_g24_pairing_sm_2
+0xa000a 037585 beq state_24g_pairing_3 ,z_g24_pairing_sm_3
+0xa000b 037586 branch assert
+:      037588 z_g24_pairing_sm_1:
+0xa000c 037589 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm
+0xa000d 037590 jam 0xaa ,mem_24g_common_temp
+0xa000e 037591 branch z_g24_pairing_sm_common
+:      037592 z_g24_pairing_sm_2:
+0xa000f 037593 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm
+0xa0010 037594 jam 0x55 ,mem_24g_common_temp
+0xa0011 037595 branch z_g24_pairing_sm_common
+:      037596 z_g24_pairing_sm_3:
+0xa0012 037597 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm
+0xa0013 037598 jam 0x22 ,mem_24g_common_temp
+:      037599 z_g24_pairing_sm_common:
+0xa0014 037600 fetch 1 ,mem_24g_data_type
+0xa0015 037601 and_into bits_data ,pdata
+0xa0016 037602 store 1 ,mem_24g_common_temp + 1
+0xa0017 037603 fetch 4 ,mem_24g_device_addr
+0xa0018 037604 store 4 ,mem_24g_common_temp + 2
+:      037605 z_g24_put_pairing_data_in_buff:
+0xa0019 037606 jam 0 ,mem_24g_common_temp + 6
+0xa001a 037607 arg mem_24g_common_temp ,rega
+0xa001b 037608 arg 7 ,temp
+0xa001c 037609 call p_g24_put_data_in_buff
+0xa001d 037610 call p_g24_txdata_enable_tx
+0xa001e 037611 branch enable_user
+:      037613 z_g24_paring_mode:
+0xa001f 037614 fetch 1 ,mem_24g_pairing_sm
+0xa0020 037615 rtneq state_24g_pairing_success
+0xa0021 037616 beq state_24g_pairing_1_waiting_ack ,z_g24_pairing_sm_1_waiting_ack
+0xa0022 037617 beq state_24g_pairing_2_waiting_ack ,z_g24_pairing_sm_2_waiting_ack
+0xa0023 037618 beq state_24g_pairing_3_waiting_ack ,z_g24_pairing_sm_3_waiting_ack
+0xa0024 037619 rtn
+:      037621 z_g24_pairing_sm_1_waiting_ack:
+0xa0025 037622 jam state_24g_pairing_2 ,mem_24g_pairing_sm
+0xa0026 037623 branch p_g24_transmit_abandon
+:      037624 z_g24_pairing_sm_2_waiting_ack:
+0xa0027 037625 jam state_24g_pairing_3 ,mem_24g_pairing_sm
+0xa0028 037626 branch p_g24_transmit_abandon
+:      037627 z_g24_pairing_sm_3_waiting_ack:
+0xa0029 037628 jam state_24g_pairing_success ,mem_24g_pairing_sm
+0xa002a 037629 jam bt_evt_24g_pairing_complete ,mem_fifo_temp
+0xa002b 037630 call ui_ipc_send_event
+0xa002c 037631 fetch 4 ,mem_24g_rxpayload + 2
+0xa002d 037632 call p_g24_update_addr_and_synccrc8
+0xa002e 037633 branch p_g24_transmit_abandon
+:      037636 z_mouse_24g_pairing_complete:
+0xa002f 037637 call p_mouse_24g_no_data_timer_init
+0xa0030 037638 jam 1 ,mem_mouse_24g_enter_lpm_enable
+0xa0031 037639 arg mosue_24g_pairing_flag ,queue
+0xa0032 037640 call mouse_disable_function_flag
+0xa0033 037641 setarg 0
+0xa0034 037642 store 2 ,mem_24g_pairing_timer_count
+0xa0035 037643 store 1 ,mem_24g_attempt_count
+0xa0036 037644 jam 0 ,mem_mouse_move_flag
+0xa0037 037646 call mouse_read_sensor_common
+0xa0038 037648 call p_mouse_tx_power_init
+0xa0039 037650 fetch 4 ,mem_24g_addr
+0xa003a 037651 store 4 ,mem_mouse_24g_addr
+0xa003b 037653 branch p_mouse_store_flash_device_info
               org 0xb0001
-:      036790 z_entrancea:
-0xb0001 036791 beq zcode_a0 ,z_mouse_before_hibernate
-0xb0002 036792 beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
-0xb0003 036793 beq zcode_a2 ,z_mouse_le_bb_disconnected
-:      036796 z_mouse_bb_event_reconn_timeout:
-:      036797 z_mouse_bb_event_reconn_failed:
-0xb0004 036798 fetch 2 ,mem_ui_state_map
-0xb0005 036799 rtnbit1 ui_state_btn_down
-0xb0006 036800 rtnbit1 ui_state_bt_discovery
-0xb0007 036801 rtnbit1 ui_state_ble_adv
-0xb0008 036802 fetch mouse_flag_len ,mem_mouse_flag
-0xb0009 036803 rtnbit1 mouse_bt_discovery_button_down_flag
-0xb000a 036804 branch app_bb_hibernate
-:      036806 z_mouse_le_conn_param_update_rsp_recieved:
-0xb000b 036807 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
-0xb000c 036808 rtneq ble_signaling_connect_parameter_update_accepted
-0xb000d 036809 fetch 1 ,mem_le_tsniff
-0xb000e 036810 rshift2 pdata ,pdata
-0xb000f 036811 sub pdata ,le_interval_15ms ,null
-0xb0010 036812 branch z_mouse_le_conn_param_update_rsp_not_accepted ,positive
-0xb0011 036813 setarg le_interval_11_25ms
-0xb0012 036814 store 2 ,mem_le_interval_min
-0xb0013 036815 store 2 ,mem_le_interval_min + 2
-0xb0014 036816 call p_app_updata_le_param
-0xb0015 036817 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-0xb0016 036818 rtn
-:      036820 z_mouse_le_conn_param_update_rsp_not_accepted:
-0xb0017 036821 jam 1 ,mem_mouse_le_updata_not_accepted_flag
-0xb0018 036822 branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
-:      036824 z_mouse_le_bb_disconnected:
-0xb0019 036825 jam 0 ,mem_mouse_le_bb_connected_flag
-0xb001a 036826 setarg le_interval_8_75ms
-0xb001b 036827 store 2 ,mem_le_interval_min
-0xb001c 036828 store 2 ,mem_le_interval_min + 2
-0xb001d 036829 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-0xb001e 036830 jam 0 ,mem_mouse_clear_sensor_data_flag
-0xb001f 036831 call p_mouse_data_init
-0xb0020 036832 call le_clr_config_more_data
-0xb0021 036833 call mouse_bb_disconnected
-0xb0022 036834 call p_mouse_store_flash_device_info
-0xb0023 036835 branch mouse_bb_disconnected
-:      036837 z_mouse_before_hibernate:
-0xb0024 036838 hfetch 4 ,core_lpm_ctrl
-0xb0025 036839 set1 26 ,pdata
-0xb0026 036840 hstore 4 ,core_lpm_reg
-0xb0027 036841 call lpm_write_ctrl
-0xb0028 036842 call disable_authrom
-0xb0029 036843 call p_mouse_multi_led_off
-0xb002a 036844 call p_mouse_store_flash_device_info
-0xb002b 036845 call mouse_before_hibernate_wheel_gpio_set
-0xb002c 036846 call p_mouse_setgpio_hibernate
-0xb002d 036847 call p_flash_deep_power_down
-0xb002e 036848 hfetch 1 ,core_gpio_sel1
-0xb002f 036849 and pdata ,0xf7 ,pdata
-0xb0030 036850 hstore 1 ,core_gpio_sel1
-0xb0031 036851 hfetch 1 ,core_gpio_pd3
-0xb0032 036852 set1 0 ,pdata
-0xb0033 036853 hstore 1 ,core_gpio_pd3
-0xb0034 036854 rtn
+:      037658 z_entrancea:
+0xb0001 037659 beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
+0xb0002 037660 beq zcode_a2 ,z_mouse_le_bb_disconnected
+0xb0003 037661 beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
+0xb0004 037662 beq zcode_a4 ,z_mouse_before_hibernate
+0xb0005 037663 rtn
+:      037666 z_mouse_le_conn_param_update_rsp_recieved:
+0xb0006 037667 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
+0xb0007 037668 rtneq ble_signaling_connect_parameter_update_accepted
+0xb0008 037669 fetch 1 ,mem_le_tsniff
+0xb0009 037670 rshift2 pdata ,pdata
+0xb000a 037671 sub pdata ,le_interval_15ms ,null
+0xb000b 037672 rtn positive
+0xb000c 037673 setarg le_interval_11_25ms
+0xb000d 037674 store 2 ,mem_le_interval_min
+0xb000e 037675 store 2 ,mem_le_interval_min + 2
+0xb000f 037676 call p_app_updata_le_param
+0xb0010 037677 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+0xb0011 037678 rtn
+:      037681 z_mouse_bb_event_reconn_timeout:
+:      037682 z_mouse_bb_event_reconn_failed:
+0xb0012 037683 fetch 2 ,mem_ui_state_map
+0xb0013 037684 rtnbit1 ui_state_btn_down
+0xb0014 037685 rtnbit1 ui_state_bt_discovery
+0xb0015 037686 rtnbit1 ui_state_ble_adv
+0xb0016 037687 fetch mouse_flag_len ,mem_mouse_flag
+0xb0017 037688 rtnbit1 mouse_bt_discovery_button_down_flag
+0xb0018 037689 branch app_bb_hibernate
+:      037691 z_mouse_le_bb_disconnected:
+0xb0019 037692 setarg le_interval_8_75ms
+0xb001a 037693 store 2 ,mem_le_interval_min
+0xb001b 037694 store 2 ,mem_le_interval_min + 2
+0xb001c 037695 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+0xb001d 037696 jam 0 ,mem_mouse_clear_sensor_data_flag
+0xb001e 037697 call p_mouse_data_init
+0xb001f 037698 call le_clr_config_more_data
+0xb0020 037699 branch mouse_bb_disconnected
+:      037702 z_mouse_before_hibernate:
+0xb0021 037703 enable user
+0xb0022 037704 hfetch 4 ,0x8138
+0xb0023 037705 setflag user ,26 ,pdata
+0xb0024 037706 hstore 4 ,core_lpm_reg
+0xb0025 037707 call lpm_write_ctrl
+0xb0026 037708 call disable_authrom
+0xb0027 037709 call p_mouse_device_led_off
+0xb0028 037710 call mouse_before_hibernate_wheel_gpio_set
+0xb0029 037711 call p_mouse_setgpio_hibernate
+0xb002a 037713 call p_flash_deep_power_down
+0xb002b 037714 hfetch 1 ,core_gpio_sel1
+0xb002c 037715 and pdata ,0xf7 ,pdata
+0xb002d 037716 hstore 1 ,core_gpio_sel1
+0xb002e 037717 hfetch 1 ,core_gpio_pd2
+0xb002f 037718 set1 6 ,pdata
+0xb0030 037719 hstore 1 ,core_gpio_pd2
+0xb0031 037721 hfetch 1 ,core_gpio_pd3
+0xb0032 037722 set1 0 ,pdata
+0xb0033 037723 hstore 1 ,core_gpio_pd3
+0xb0034 037724 fetcht 1 ,mem_sensor_data_gpio
+0xb0035 037725 branch gpio_clr_wake
               org 0xc0001
-:      036859 z_entranceb:
-0xc0001 036860 beq zcode_b1 ,z_mouse_sniff_not_accept
-0xc0002 036861 beq zcode_b2 ,z_mouse_enter_sniff_check
-0xc0003 036862 beq zcode_b3 ,z_mouse_le_ll_start_encryt
-0xc0004 036863 beq zcode_b4 ,z_mouse_bb_event_disconnected
-0xc0005 036864 rtn
-:      036866 z_mouse_sniff_not_accept:
-0xc0006 036867 fetch 1 ,mem_mouse_enter_sniff_count
-0xc0007 036868 rtneq 2
-0xc0008 036869 increase 1 ,pdata
-0xc0009 036870 store 1 ,mem_mouse_enter_sniff_count
-0xc000a 036871 jam 0x12 ,mem_sniff_param_interval
-0xc000b 036872 branch app_bt_enter_sniff
-:      036874 z_mouse_enter_sniff_check:
-0xc000c 036875 fetch 1 ,mem_mouse_enter_sniff_count
-0xc000d 036876 rtnne 2
-0xc000e 036877 jam 0 ,mem_mouse_enter_sniff_count
-0xc000f 036878 jam 0x0e ,mem_sniff_param_interval
-0xc0010 036879 branch app_bt_enter_sniff
-:      036881 z_mouse_le_ll_start_encryt:
-0xc0011 036882 fetch 1 ,mem_mouse_le_reconnect_flag
-0xc0012 036883 beq 1 ,z_mouse_le_ll_reconn_start_encryt
-0xc0013 036884 jam 20 ,mem_le_start_encrypt_timer
-0xc0014 036885 branch z_mouse_le_ll_enable_start_enc_flag
-:      036886 z_mouse_le_ll_reconn_start_encryt:
-0xc0015 036887 call p_app_updata_le_param
-0xc0016 036888 jam 10 ,mem_le_start_encrypt_timer
-:      036889 z_mouse_le_ll_enable_start_enc_flag:
-0xc0017 036890 arg ll_start_enc_flag ,queue
-0xc0018 036891 branch mouse_le_enable_connect_flag
-:      036893 z_mouse_bb_event_disconnected:
-0xc0019 036894 jam 0 ,mem_bt_rcvd_switch_req_accept
-0xc001a 036895 jam 0 ,mem_bt_send_lmp_setup_complete
-0xc001b 036896 jam 0 ,mem_mouse_bt_send_first_package_flag
-0xc001c 036897 call p_mouse_store_flash_device_info
-0xc001d 036898 branch mouse_bb_disconnected
+:      037730 z_entranceb:
+0xc0001 037731 beq zcode_b0 ,z_mouse_le_bb_event_connected
+0xc0002 037732 beq zcode_b1 ,z_mouse_sniff_not_accept
+0xc0003 037733 beq zcode_b2 ,z_mouse_enter_sniff_check
+0xc0004 037734 beq zcode_b3 ,z_mouse_le_ll_start_encryt
+0xc0005 037735 beq zcode_b4 ,z_mouse_bb_event_disconnected
+0xc0006 037736 rtn
+:      037738 z_mouse_le_bb_event_connected:
+0xc0007 037739 jam 1 ,mem_mouse_le_bb_connected_flag
+0xc0008 037740 call p_mouse_data_init
+0xc0009 037741 branch mouse_le_bb_event_connected
+:      037743 z_mouse_sniff_not_accept:
+0xc000a 037744 fetch 1 ,mem_mouse_enter_sniff_count
+0xc000b 037745 rtneq 2
+0xc000c 037746 increase 1 ,pdata
+0xc000d 037747 store 1 ,mem_mouse_enter_sniff_count
+0xc000e 037748 jam 0x12 ,mem_sniff_param_interval
+0xc000f 037749 branch app_bt_enter_sniff
+:      037751 z_mouse_enter_sniff_check:
+0xc0010 037752 fetch 1 ,mem_mouse_enter_sniff_count
+0xc0011 037753 rtnne 2
+0xc0012 037754 jam 0 ,mem_mouse_enter_sniff_count
+0xc0013 037755 jam 0x0e ,mem_sniff_param_interval
+0xc0014 037756 branch app_bt_enter_sniff
+:      037758 z_mouse_le_ll_start_encryt:
+0xc0015 037759 fetch 1 ,mem_mouse_le_reconnect_flag
+0xc0016 037760 beq 1 ,z_mouse_le_ll_reconn_start_encryt
+0xc0017 037761 branch z_mouse_le_ll_enable_start_enc_flag
+:      037762 z_mouse_le_ll_reconn_start_encryt:
+0xc0018 037763 call p_app_updata_le_param
+0xc0019 037764 jam 5 ,mem_le_start_encrypt_timer
+:      037765 z_mouse_le_ll_enable_start_enc_flag:
+0xc001a 037766 arg ll_start_enc_flag ,queue
+0xc001b 037767 branch mouse_le_enable_connect_flag
+:      037769 z_mouse_bb_event_disconnected:
+0xc001c 037770 jam 0 ,mem_bt_rcvd_switch_req_accept
+0xc001d 037771 jam 0 ,mem_bt_send_lmp_setup_complete
+0xc001e 037772 jam 0 ,mem_mouse_bt_send_first_package_flag
+0xc001f 037773 branch mouse_bb_disconnected
Index: ZJL_3X_OnlyBLE/output/bt_program23.meta
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.meta	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.meta	(working copy)
@@ -42,16 +42,20 @@
 org 0x0000		// start from patch ram address start
 //define DONGLE
 define MOUSE
-//define G24
+define G24
 define BLE
 define CLASSIC_BT
-define MOUSE_SMOOTHER
+//define MOUSE_SMOOTHER
 define ADC_ENABLE
+define DPI_ENABLE
+//define G24_NEW_RF_HOP
+//define HIGH_REPORT_BT
+//define HIGH_REPORT_G24
 //define P24G_LOG
 //define RF_DEBUG
-//define BLE_RFIO
 define BLE_FAST_CONN_ENABLE
 
+
 //define DEBUGLOG
 //define DEBUGLOG_CALLBACK
 //define DEBUGLOG_EVENT
@@ -77,21 +81,18 @@
 	store 1,mem_tx_power_temp
 	call power_ctrl_pac_succ_cnt_init
 	fetch 1,mem_ui_button_timeout
-	store 1,mem_select_ui_button_count	//bt key timer init
-	call p_mouse_bt_discovery_button_up_init
+	store 1,mem_select_ui_button_count	//select key timer init
+	fetch 1,mem_bt_ui_button_timeout
+	store 1,mem_bt_ui_button_count	//bt key timer init
+	call mouse_bt_discovery_button_down_disable
 	call p_mouse_spi_init
-	call p_drawing_optima_init
 	call p_mouse_cb_fuction
 	call p_mouse_wakeup_from_power
-
-	call le_set_config_fixed_ltk
-	call le_set_justwork
-	call le_set_fixed_ltk
-	call le_set_config_read_authentication
-	call mouse_param_init	
 	branch p_mouse_setting_config
 
 p_mouse_cb_fuction:
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
 	setarg p_mouse_le
 	store 2,mem_cb_le_process
 	setarg p_le_mouse_bb_event_connect_complete
@@ -119,13 +120,7 @@
 p_mouse_wakeup_no_from_power:
 	fetch 1,mem_reconn_times_init
 	store 1,mem_reconn_times
-	fetch 6,mem_le_lap
-	store 6,mem_le_normal_lap
-	fetch 1,mem_power_on_flag
-	rtnbit1 2
-	//power on
-	branch p_mouse_dpi_config_default
-	
+	rtn
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
 	setarg 375
 	store 2,mem_24g_transmit_by_interrupt_exit_count_init
@@ -145,16 +140,19 @@
 	nop 1
 	nop 1
 	nop 1
-	
-
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
 p_patch_array:
 	bbit1 8,pf_patch_ext
-	//patch00_0 is unuseful because of otp
+	//patch00_0 and patch11_2 are unuseful because of otp
 	beq patch00_1,p_soft_reset_1
 	beq patch00_2,p_soft_reset_2
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
-	beq patch11_2,p_initialize_radio_cont
 	beq patch03_3,p_page_wait_fhs_reply_ok
 	beq patch04_6,p_role_switch_master
 	beq patch09_0,p_quit_connection_cont
@@ -167,8 +165,8 @@
 	beq patch1d_1,p_mouse_bb_disconnected
 	beq patch14_1,p_init_param
 	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
 	beq patch18_4,p_device_init
-	beq patch1c_3,p_mouse_seting_dpi
 	beq patch1c_6,p_mouse_motion
 	beq patch1d_2,p_mouse_bb_event_discovery_btn
 	beq patch1d_3,p_mouse_start_discovery
@@ -185,7 +183,6 @@
 	beq patch2c_7,p_le_parse_l2cap
 	beq patch2d_2,p_le_adv_not_match
 	beq patch2e_7,p_le_lpm_setmult
-	beq patch3f_2,p_check_51cmd_once_continue
 	beq patch20_5,p_hid_rx_process
 	beq patch30_0,p_parse_lmp_accepted
 	beq patch30_2,p_send_lmp
@@ -193,6 +190,7 @@
 	beq patch31_4,p_twspi_reset
 	beq patch31_5,p_spid_init
 	beq patch34_0,p_vdd_calculate_by_mode
+	beq patch3f_2,p_check_51cmd_once_continue
 	branch loop
 	
 
@@ -209,7 +207,6 @@
 	rtn
 
 p_soft_reset_1:
-//	call p_mouse_select_device_button_wakeup_check
 	arg mem_sp_state,contw
 	arg 12,loopcnt
 	call clear_mem
@@ -241,12 +238,8 @@
 
 p_lpm_check_wake_lock:
 	rtnmark1 mark_24g
-	fetch 1,mem_mouse_multi_led_state
-	nbranch disable_blank,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch disable_blank,blank
 	fetch 1,mem_mouse_clear_sensor_data_flag
-	branch disable_blank,blank
+	beq 0,disable_blank
 	fetch 1,mem_mouse_le_conn_param_reject
 	beq LE_LPM_DISABLE,disable_blank
 	fetch 2,mem_sdp_remote_cid
@@ -256,7 +249,705 @@
 	branch enable_blank
 
 
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_g24_transmit_by_interrupt_enable
+p_g24_short_sleep:	
+	call p_g24_lpm_wait
+	nrtn user
+	call p_clear_wake
+	setarg 60500
+p_g24_enter_sleep:	
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+  	
+g24_long_sleep_shorter_param_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
+
+
+	
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	fetch 2,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	fetcht 2,mem_24g_transmit_by_interrupt_exit_count_init
+	isub temp,null
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	setarg 100
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	store 1,mem_24g_interval
+	rtn	
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+p_g24_long_sleep:
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
+	call p_g24_lpm_wait
+	nrtn user
+	fetch 3,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_lpm_wait:
+	enable user
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch disable_user,blank
+	fetch 1,mem_lpm_mode
+	branch disable_user,blank
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,disable_user
+	branch p_mouse_setgpio_lpm
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+p_g24_set_device_addr:
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	rtn
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	call power_ctrl_pac_succ_decrs
+	call p_g24_ch
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	jam 2,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+p_g24_txdata_enable_tx:	
+	call p_g24_transmit_prep
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_24g_no_data_timer_init	//nodata timer 20min
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw	//key
+	increase 1,regb
+	ifetch 4,regb
+	istore 4,contw	//x,y
+	increase 4,regb
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 1,regb
+	ifetcht 1,contw	//wheel,twheel
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop
+	rtn
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	jam 0,mem_retry_count
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	store 1,mem_mouse_24g_pair_timer
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+	fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	store 1,mem_24g_get_ack_fail
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+	fetcht 1,mem_24g_retry
+	increase 1,temp
+	storet 1,mem_24g_retry
+	fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch p_g24_transmit_loop,blank
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_pac_fail_hop_stage3
+	fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	store 1,mem_24g_hop_pac_retry
+	beq 2,p_g24_transmit_hop_pac_fail
+	call p_g24_hop_ch_enable
+	jam 1,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	jam 0,mem_24g_get_ack_fail
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_pairing_sm:
+	jam ZCODE_90,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_paring_mode:
+	jam ZCODE_91,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_start_24g_mode:
+	jam ZCODE_60,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_auto_pair_start:
+	jam ZCODE_70,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_transmit_prep:
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
+p_g24_receive_rxon:
+
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+	branch p_g24_end_of_packet,crc_failed
+
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+	fetch 1,mem_rssi_hex_received
+	call p_rssi_signal
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+	rtn
+
+p_g24_sync_timeout:
+	branch p_g24_end_of_packet
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
 
+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_SIGNAL,temp
+	rtn
 p_rssi_average:
 	arg 0,temp
 	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
@@ -278,20 +969,38 @@
 	rtn
 	rtn
 
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
 p_mouse_setgpio_lpm:
 	call p_mouse_set_sdio_high
 	call p_clear_wake
 p_mouse_setgpio_hibernate:	
 	call mouse_lpm_before_common
-	fetcht 1,mem_flash_ncs_gpio
-	call gpio_out_inactive
-
+	call p_flash_ncs_disable
 	hfetch 4,core_gpio_oe0
 	hfetcht 4,core_gpio_pu0
 	ior temp,temp
 	invert temp,temp
 	hstoret 4,core_gpio_pd0
-	hfetch 1,core_gpio_pd1
+	hfetch 1,core_gpio_pd0	
+	set0 6,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set1 5,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd1	
 	set0 2,pdata
 	hstore 1,core_gpio_pd1
 	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
@@ -299,69 +1008,83 @@
 	hstore 1,core_gpio_pd2
 	rtn
 
-p_mouse_before_lpm:
-	rtnmark1 mark_24g
-	call p_mouse_le_txbuff_save
-	call p_mouse_setgpio_lpm
-	fetch 1,mem_context
-	bbit0 state_inconn,p_clear_wake
-	fetch 1,mem_lpm_current_mult
-	nrtn blank
-p_clear_wake:
-	setarg 0
-	store 8,mem_gpio_wakeup_low
-	rtn
-
 p_mouse_set_sdio_high:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
-	branch p_mouse_seting_sensor_type// make sdio high to make 100uA less
+	branch mouse_seting_dpi+2	// make sdio high to make 100uA less	
 
 p_device_init:
-	call initialize_radio
+	call  initialize_radio	// YC1066 1059
 	call app_lpm_mult_enable
 	call enable_authrom
-	branch p_mouse_spi_init,wake
+	branch p_device_wake_from_lpm,wake
 p_device_wake_from_power:
-	fetch 3,mem_le_lap+3
-	store 3,mem_le_lap_high_3B
 	call p_wake_from_power
-//ifdef G24
+	arg 600,temp
+	fetch 2,mem_mouse_no_data_timeout
+	isub temp,temp
+	storet 2,mem_mouse_no_data_led_timeout		// 1min
 //	fetch 1,mem_power_on_flag
-//	bbit1 2,p_mouse_skip_24g_pair
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LR_BUTTON,p_mouse_24g_pairing_button
-//p_mouse_skip_24g_pair:
-//endif
+//	bbit1 2,p_mouse_check_reconn_target
+//ifdef G24
+//	call mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_24g_pairing_button
+//endif	
+//	branch p_mouse_wakeup_from_power
+
 p_mouse_check_reconn_target:
 	call p_mouse_tx_power_init
-	call p_mouse_mode_bt_device1_multi_led_on
+	jam 25,mem_mouse_poweron_led_timer	
+	call p_mouse_adc_read
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch p_mouse_start_24g_mode,zero
 	fetch 1,mem_xrecord_mode
 	beq REC_3_MODE,p_mouse3_0_check_reconn_target
 	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+//	branch p_mouse_null_enter_hibernate_enable	//enter hibernate if it is in its factory state
 	rtn
 
-//p_device_wake_from_lpm:
-//	branch p_mouse_spi_init
+
+p_device_wake_from_lpm:
+	branch p_mouse_spi_init
 
 p_mouse_tx_power_init:
 	fetch 1,mem_tx_power_temp
 	store 1,mem_tx_power
 	rtn
 
-//p_mouse_check_select_device_by_switch:
-//	fetch 1,mem_config_function_enable
-//	branch mouse_cheak_select_device_by_switch+1
-
 p_mouse3_0_check_reconn_target:
-//	call p_mouse_mode_bt_device1_multi_led_blink3s
+	jam 1,mem_mouse_bt_reconnect_flag
 	fetch 6,mem_hci_plap
 	branch app_bt_start_discovery_short,blank
 	branch mouse3_0_check_reconn_target+3
 
 p_mouse4_0_check_reconn_target:
-	jam ZCODE_12,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	fetcht 1,mem_mouse_fast_conn_flag
+	sub temp,0xff,null
+	nbranch p_mouse4_0_check_reconn_target_next,zero
+	setarg 0x0258								//ble fast conn time 1min
+p_mouse4_0_check_reconn_target_next:
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	fetch 3,mem_le_adv_direct_ind
+	store 3,mem_le_adv_data+4
+	
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
 
 p_le_check_adv_flag:
 	arg mem_le_adv_data,rega
@@ -373,47 +1096,34 @@
 	rtneq 0x01
 	branch p_le_check_adv_flag_loop
 
+p_mouse_24g_pairing_button:
+	jam ZCODE_61,mem_zcode_temp_param0
+	branch p_zcode_entrance
 
-//ifdef G24
-//p_mouse_24g_pairing_button:
-//	jam ZCODE_42,mem_zcode_temp_param0
-//	branch p_zcode_entrance
-//endif
 
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
 p_mouse_init_sunt:
 	call p_mouse_spi_init
 	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
 p_mouse_init_sensor:
 	call mouse_read_sensor_id
-	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
 	beq P3065_ID1,p_mouse_p3065_init_param
 	call mouse_twspi_reset
 	nop 1000
 	branch p_mouse_init_sensor
 
-p_mouse_init_p32xx_id2_judge:
-	call p_mouse_sensor_poweron
-	fetch 1,mem_sensor_id2
-	beq P_MX8650,p_mouse_mx8650_init_param
-	beq PKA8_ID2,p_mouse_ka8_init_param
-	branch mouse_init_p32xx_id2_judge
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
 
-p_mouse_mx8650_init_param:
-	jam MX8650,mem_config_sensor_type
-	arg mem_sensor_8650_init,regc
-p_sensor_wr_seq:
-	ifetch 2,regc
-	rtneq 0xff
-	call twspi_write
-	nop 12000
-	increase 2,regc
-	branch p_sensor_wr_seq
 
-p_mouse_ka8_init_param:
-	jam KA8,mem_config_sensor_type
-	rtn
-//	arg mem_sensor_ka8_init,regc
-//	branch p_sensor_wr_seq
 
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
@@ -422,14 +1132,49 @@
 	jam P3065,mem_config_sensor_type
 	rtn
 
+
+p_mouse_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_sensor_powerdown:
+	call p_mouse_spi_init
+	setarg 0x0806
+//	call twspi_read
+//	or pdata,0x08,pdata
+//	lshift8 pdata,pdata
+//	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
 p_mouse_setting_config:
 	jam ZCODE_80,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 //ncs gpio output high
-//p_flash_ncs_disable:
-//	fetcht 1,mem_flash_ncs_gpio
-//	branch gpio_out_inactive
+p_flash_ncs_disable:
+	fetcht 1,mem_flash_ncs_gpio
+	branch gpio_out_inactive
 
 p_spid_init_flash:
 	jam 0x40,core_spid_ctrl
@@ -442,9 +1187,11 @@
 	hstore 1,core_gpio_sel1
 	setarg 0
 	store 4,mem_spid_tbuf
-	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
 	set0 0,pdata
 	hstore 1,core_gpio_pd3
+	
 	rtn
 
 p_mouse_load_flash_info_check:
@@ -461,41 +1208,29 @@
 	fetch 4,mem_mouse_24g_addr_init
 	store 4,mem_mouse_24g_addr
 	store 4,mem_24g_addr
+	call p_mouse_fast_conn_init
 p_mouse_store_flash_device_info:
 	call p_flash_release_deep_power_down
 	call p_flash_erase_sector
 	call p_mouse_information_flash_parameters
 	call p_spid_write_flash
 	call p_wait_flash_done
-	//user flash data
-p_mouse_store_flash_user_data:
-	call p_spid_init_flash
-	arg 7,temp
-	arg mem_mouse_flash_start_temp,rega
-	arg MOUSE_USER_DATA_OFFECT,regb
+p_mouse_store_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
 	fetch 3,mem_flash_base
 	iadd regb,pdata
 	call p_spid_write_flash
 	call p_wait_flash_done
 	call p_flash_deep_power_down
-p_mouse_spi_init:
-	jam 0x76,mem_spi_init_clk
-	branch mouse_spi_init
-
+	branch p_mouse_spi_init
+	
 p_flash_erase_sector:
 	fetch 3,mem_flash_base
 	store 3,mem_spi_write_addr
 	call flash_erase_sector+2
-p_wait_flash_done:
-	setarg 100000
-	call sleep
-	call spid_unlock_flash
-	setarg mem_spid_rbuf
-	hstore 2,core_spid_rxaddr
-	setarg FLASH_READ_SATUS
-	call spid_read_reg
-	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
-	rtn
+	branch p_wait_flash_done
 
 p_spid_write_flash:
 	copy pdata,regc
@@ -510,6 +1245,17 @@
 	istore 4,regb
 	rtn
 
+p_wait_flash_done:
+	setarg 100000	
+	call sleep
+	call spid_unlock_flash
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
+	rtn
+
 p_mouse_information_flash_parameters:
 	setarg mem_mouse_information_end
 	arg mem_mouse_information_start,temp
@@ -523,81 +1269,186 @@
 	call p_mouse_information_flash_parameters
 	branch spid_read_flash
 
-p_mouse_load_flash_device_info:
+p_mouse_load_flash_device_info:	
 	call p_mouse_read_flash
-	call p_mouse_load_flash_user_data
-//	call p_mouse_check_select_device_by_switch
-//	call p_mouse_switch_Hwakeup_byPB
+	call p_mouse_load_random_addr_increase_count
 	call mouse_select_reconn_device
 	fetch 4,mem_mouse_24g_addr
 	store 4,mem_24g_addr
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+//	arg 3,loopcnt
+//	arg mem_device2_addr,contr
+//	call p_pdata_0xff_check
+//	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
 	rtn
 
+
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+	
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn
+	
+
+
+
 p_flash_deep_power_down:
 	jam FLASH_COMMAND_DEEP_POWER_DOWN,mem_temp
 p_spid_write_flash_cmd:
 	call p_spid_init_flash
-	call delay_nop100
+	nop 100					// YC1059
 	call spid_unlock_flash
 	arg mem_write_flash_head_temp,rega
 	fetcht 1,mem_temp
 	call spid_write_flash_common
-	branch delay_nop100
+	nop 100					// YC1059
+	rtn
 
 p_flash_release_deep_power_down:
 	jam FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN,mem_temp
 	branch p_spid_write_flash_cmd
+	
 
-p_mouse_fast_conn_disable:
-	jam 0x5a,mem_mouse_fast_conn_flag
-	rtn
-
-p_mouse_fast_conn_init:
-	jam 0xff,mem_mouse_fast_conn_flag
-	jam 0x34,mem_xrecord_mode
-	fetch 6,mem_24g_allpowerful_addr
-	store 6,mem_le_lap
-	rtn	
-
-
-p_mouse_load_flash_user_data:
+p_mouse_load_random_addr_increase_count:
 	call p_flash_release_deep_power_down
-	arg 7,temp
-	arg mem_mouse_flash_start_temp,rega
-	arg MOUSE_USER_DATA_OFFECT,regb
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
 	fetch 3,mem_flash_base
 	iadd regb,pdata
 	branch spid_read_flash
 
-//p_mouse_select_device_button_wakeup_check:
-//	jam 0,mem_mouse_select_device_button_wakeup_flag
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_config_input
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	call delay_10ms
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	jam 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn
+//**************************end*************************************//
+p_mouse_start_24g_mode:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	branch p_g24_start_24g_mode
+
+
+p_mouse_24g_led_blink:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	fetch 1,mem_mouse_24g_pair_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_24g_pair_timer
+	branch app_enter_hibernate,blank
+	and pdata,0x0f,pdata
+	beq 0x05,p_mouse_24g_led_on
+	beq 0x0a,p_mouse_24g_led_off
+	rtn
+
+p_mouse_discovery_led_blink:
+	fetch 1,mem_mouse_discovery_timer
+	rtn blank
+	fetch 1,mem_mouse_discovery_blink_count
+	increase 1,pdata
+	store 1,mem_mouse_discovery_blink_count
+	beq 5,p_mouse_bt_led_off
+	beq 10,p_mouse_bt_discovery_led_on
+	rtn
 
-//p_mouse_switch_Hwakeup_byPB:
-//	fetch 1,mem_config_function_enable
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
-//	fetch 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn blank
-//p_mouse_switch_device:
-//	fetcht 1,mem_device_flag
-//	increase 1,temp
-//	fetch 1,mem_device_number
-//	isub temp,null
-//	ncall mouse_select_device_count_clean,positive
-//	storet 1,mem_device_flag
-//	branch p_mouse_store_flash_device_info
 
+p_mouse_device_poweron_led_timer:
+	fetch 1,mem_mouse_poweron_led_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_poweron_led_timer
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_device_poweron_g24_led
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_bt_led_on
+	branch p_mouse_bt_led_off
+
+p_mouse_device_poweron_g24_led:
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_24g_led_on
+	branch p_mouse_24g_led_off
+
+
+
+p_mouse_24g_led_off:
+	jam 0,mem_24g_device_led_status
+	fetcht 1,mem_device_24g_led_gpio
+	branch p_gpio_set_input_high_impedance
+
+p_mouse_24g_led_on:
+	jam 1,mem_24g_device_led_status
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	fetcht 1,mem_device_24g_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_24g_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_bt_discovery_led_on:
+	jam 0,mem_mouse_discovery_blink_count
+p_mouse_bt_led_on:
+	fetcht 1,mem_device_bt_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_bt_led_gpio
+	branch gpio_out_active
+
+p_mouse_bt_led_off:	
+	fetcht 1,mem_device_bt_led_gpio
+	branch p_gpio_set_input_pu
+
+
+p_mouse_device_led_off:
+	call p_mouse_bt_led_off
+	branch p_mouse_24g_led_off
+
+
+p_mouse_device_poweron_led_off:
+	jam 0,mem_mouse_poweron_led_timer	
+	rtn
+
+	
+/*
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+*/	
 
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	rtn
 	
 p_mouse_le_txbuff_save:
 	arg mem_le_tx_buffer0,contr
@@ -623,20 +1474,6 @@
 	arg mem_le_tx_buffer3,contw
 	branch p_mouse_le_txbuff_copy
 
-
-p_mouse_le_current_mult_update:
-	jam 0,mem_lpm_mult
-	jam 30,mem_mouse_le_current_mult_timer
-	rtn
-
-p_mouse_data_xy_release:
-	fetch 1,mem_mouse_long_mult_flag
-	rtnne 1
-	setarg 0
-	store 1,mem_mouse_long_mult_flag
-	store 4,mem_mouse_x
-	branch p_mouse_sensor_poweron
-
 p_mouse_le:
 	call le_fifo_check_nearly_full
 	nrtn blank
@@ -652,14 +1489,13 @@
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
 	call mouse_motion
 	nrtn user
-	call p_mouse_le_current_mult_update
+	call p_mouse_current_mult_update
 	call p_mouse_data_xy_release
 	call p_mouse_wheel_trigger
 p_mouse_data_push:
 	arg mem_mouse_key,rega
 	call queue_push
-	call p_mouse_queue_increase,user
-	
+	call p_mouse_queue_increase,user	
 	rtn
 
 p_mouse_data_init:
@@ -693,21 +1529,16 @@
 	branch mouse_fill_data_le
 	
 
+
+
+
 p_mouse_wheel_trigger:
 	fetch 2,mem_mouse_z
 	rtn blank
 	jam 1,mem_mouse_wheel_trigger
-	jam 10,mem_mouse_wheel_trigger_timer
+	jam 2,mem_mouse_wheel_trigger_timer
 	rtn
 
-p_mouse_clear_sensor_data:
-	jam 1,mem_mouse_clear_sensor_data_flag
-	call le_set_config_more_data
-	branch p_mouse_sensor_poweron
-p_mouse_init_sensor_reset:
-	jam 1,mem_mouse_init_sensor_reset_flag
-	branch p_mouse_init_sunt
-
 p_mouse_bt:
 	rtn attempt
 	fetch 1,mem_app_handshake_flag
@@ -721,7 +1552,7 @@
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
 	call mouse_motion
 	nrtn user
-	call p_mouse_le_current_mult_update
+	call p_mouse_current_mult_update
 	call p_mouse_data_xy_release
 	call p_mouse_wheel_trigger
 	fetch 1,mem_mouse_bt_boot_mode
@@ -750,35 +1581,54 @@
 	istore 5,contw
 	rtn
 
+p_mouse_clear_sensor_data:
+	jam 1,mem_mouse_clear_sensor_data_flag
+	call le_set_config_more_data
+	branch p_mouse_init_sensor_reset
+
+//p_mouse_clear_sensor_data:
+//	call le_set_config_more_data
+//	jam 1,mem_mouse_clear_sensor_data_flag
+//	branch p_mouse_sensor_poweron
 
 p_mouse_idle:
 	call ui_check_paring_button
 	call p_mouse_dpi_check
 	branch mouse_wheel_check
 
+
 p_mouse_dpi_check:
 	fetcht 1,mem_dpi_button_gpio
 	call p_gpio_set_input_pd
+	call p_mouse_dpi_check_next
+	fetcht 1,mem_dpi_button_gpio
+	branch p_gpio_set_input_pu
+
+p_mouse_dpi_check_next:
 	fetcht 1,mem_dpi_button_gpio
 	call gpio_get_bit
-	branch p_mouse_dpi_up,true
-	call p_gpio_set_input_pu
+	branch mouse_dpi_up,true
 p_mouse_dpi_down:
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
 	fetch 1,mem_mouse_dpi
 	increase 1,pdata
-	and pdata,0x03,pdata
+	sub pdata,0x03,null
+	ncall disable_blank,positive
+p_mouse_set_dpi:	
 	store 1,mem_mouse_dpi
-//	increase 2,pdata
-//	store 1,mem_mouse_multi_led_blink_count
-//	call p_mouse_dpi_multi_led_blink
-	branch mouse_seting_dpi
-p_mouse_dpi_up:
-	call p_gpio_set_input_pu
-	branch mouse_dpi_up
-
+	call mouse_seting_dpi
+/*				// customer needn't blink
+	fetch 1,mem_mouse_dpi		// dpi = 1, 8-3-1=400ms led off;
+	branch p_mouse_dpi_no_blink,blank
+	mul32 pdata,8,pdata
+	increase -3,pdata
+	store 1,mem_mouse_dpi_blink_count
+*/	
+p_mouse_dpi_no_blink:	
+//	jam 1,mem_mouse_dpi_led_delay_count  //delay 200ms led blink
+	branch p_mouse_store_flash_device_info	
 
 p_mouse_priority_bb_event:
 	copy regc,pdata
@@ -789,28 +1639,24 @@
 	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
 	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
 	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
-	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
+//	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch
 	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
 	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
 	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
 	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
 	branch mouse_priority_bb_event+1
 
 p_mouse_le_bb_event_connected:
 	call p_mouse_init_sensor_reset
-	call app_ble_store_reconn_info
-	jam 1,mem_mouse_le_bb_connected_flag
-	fetch 1,mem_mouse_le_reconnect_flag
-	nbranch p_mouse_le_bb_event_connected_next,blank
-	jam 0x14,mem_mouse_send_secutiry_request_timer
-p_mouse_le_bb_event_connected_next:
-	jam 0,mem_mouse_le_not_tx_disconn
-	jam 0,mem_mouse_start_discovery_enable
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_data_init
-	branch mouse_le_bb_event_connected
+	jam ZCODE_B0,mem_zcode_temp_param0
+	branch p_zcode_entrance
 
 p_mouse_le_bb_disconnected:
+	jam 0,mem_mouse_le_bb_connected_flag
 	call p_mouse_sensor_powerdown_check	//sensor power down
 	jam ZCODE_A2,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -835,19 +1681,16 @@
 	branch p_zcode_entrance
 
 p_mouse_irtual_cable_unplug:
-	jam ZCODE_70,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
 
 p_mouse_sniff_not_accept:
 	jam ZCODE_B1,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_bb_event_connected:
-	call p_mouse_store_eeprom_enable
-	call p_mouse_init_sensor_reset
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_discovey_led_blink_off
 	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_init_sensor_reset
 	branch mouse_stop_discovery
 
 p_mouse_bb_event_disconnected:
@@ -859,104 +1702,77 @@
 	jam ZCODE_B2,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
+p_mouse_24g_pairing_complete:
+	call p_mouse_init_sensor_reset
+	jam ZCODE_92,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam 0,mem_retry_count
+	jam ZCODE_51,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_success:
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_init_sensor_reset
+p_mouse_24g_no_data_timer_init:
+	branch mouse_no_data_timer_init
 
 p_mouse_before_hibernate:
 	call p_mouse_sensor_powerdown_check
-	jam ZCODE_A0,mem_zcode_temp_param0
+	jam ZCODE_A4,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_sensor_powerdown_check:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
 	jam 0,mem_mouse_init_sensor_reset_flag
-p_mouse_sensor_powerdown:
-	call p_mouse_init_sunt
-	setarg 0x06
-	call twspi_read
-	or pdata,0x08,pdata
-	lshift8 pdata,pdata
-	add pdata,0x06,pdata
-	branch twspi_write	//make sdio high
+	branch p_mouse_sensor_powerdown
 
 
 p_mouse_bb_event_timer:
 	call p_mouse_adc_read
 	call p_mouse_low_voltage_led_timer
-	call p_mouse_multi_led_blink_timer
 	call p_mouse_wheel_trigger_timer
-	call p_mouse_null_enter_hibernate_timer
-//	call p_mouse_bt_discovery_check
-	call mouse_check_discovery_timeout_timer
+
 	call p_mouse_select_device_by_button
-//	call p_mouse_check_select_device_by_switch_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call p_mouse_current_mult_update_timer
+	call p_mouse_24g_long_sleep_param_update_timer
 	call mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
-	call p_le_send_smp_security_request_timer
-	call p_mouse_le_current_mult_update_timer	
 	call p_mouse_le_fast_conn_enable_timer
 	call p_mouse_send_switch_req_timer
 	call mouse_check_hid_handshake_timer
 	call p_mouse_bt_check_sniff_req_timeout_timer
-	branch mouse_check_no_data_timeout_timer
-
-p_mouse_store_eeprom_enable:
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	branch mouse_enable_function_flag
-
-
-
-p_mouse_set_select_state:
-	jam 1,mem_select_device_button_press_flag
-	rtn
-
-p_mouse_clear_select_state:
-	jam 0,mem_select_device_button_press_flag
-	rtn
-
-p_mouse_select_device_by_button:
-	fetch 1,mem_select_device_button_press_flag
-	branch p_mouse_select_device_button_up,blank
-p_mouse_select_device_button_down:
-	call p_mouse_bt_discovery_timer
-	fetch 1,mem_select_device_button_statue
-	rtneq PB_BUTTON_STATE_DOWN
-	fetch 2,mem_mouse_direct_timeout
-	store 2,mem_mouse_direct_timer
-	force page_length_timer,queue
-	fetch 2,mem_page_to
-	call timer_init
-	jam PB_BUTTON_STATE_DOWN,mem_select_device_button_statue
-	rtn
+	call p_mouse_discovery_led_blink
+	call p_mouse_24g_led_blink
+	branch p_mouse_device_poweron_led_timer
 
-	
-p_mouse_select_device_button_up:
-	fetch 1,mem_select_device_button_statue
-	rtneq PB_BUTTON_STATE_UP
-	fetch 1,mem_select_ui_button_count
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_mouse_direct_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_discovery_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_poweron_led_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
 	sub pdata,20,null
-	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
-//	ncall p_mouse_ready_reconnection_by_button,blank
-	fetch 1,mem_ui_button_timeout
-	store 1,mem_select_ui_button_count	//combination key timer init 
-	jam PB_BUTTON_STATE_UP,mem_select_device_button_statue	
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,p_mouse_24g_led_on
+	beq 4,p_mouse_24g_led_off
+	beq 6,p_mouse_24g_led_on
+	beq 8,p_mouse_24g_led_off
 	rtn
-
-p_mouse_ready_reconnection_by_button:
-	fetcht 1,mem_device_flag
-	increase 1,temp
-	fetch 1,mem_device_number
-	isub temp,null
-	ncall mouse_select_device_count_clean,positive
-	storet 1,mem_device_flag
-	jam 0,mem_link_key_exists
-	call p_mouse_store_flash_device_info
-//	call mouse_select_device_enable
-//	call p_select_reconn_device
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
-//	branch mouse_set_reconnection
-	branch mouse_ready_reconnection_by_button+8
-
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_24g_led_off
 
 p_mouse_send_switch_req_timer:
 	arg mem_mouse_send_switch_req_timer,regc
@@ -976,27 +1792,6 @@
 	arg mem_le_start_encrypt_timer,regc
 	arg mouse_le_write_enable,regb
 	branch timer_single_step
-
-p_le_send_smp_security_request_timer:
-	fetch 1,mem_mouse_le_bb_connected_flag
-	rtn blank
-	arg mem_mouse_send_secutiry_request_timer,regc
-	arg p_le_pairing_sm_start_check,regb
-	branch timer_single_step
-p_le_pairing_sm_start_check:
-	fetch 1,mem_le_send_security_request_flag
-	nrtn blank
-	branch le_pairing_sm_start
-
-p_mouse_le_current_mult_update_timer:
-	arg mem_mouse_le_current_mult_timer,regc
-	arg p_mouse_le_current_mult_reinit,regb
-	branch timer_single_step
-p_mouse_le_current_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-	jam 1,mem_mouse_long_mult_flag
-	rtn
 p_mouse_le_fast_conn_enable_timer:
 	fetch 1,mem_mouse_fast_conn_flag
 	rtnne 0xff
@@ -1004,10 +1799,10 @@
 	nrtn blank
 	arg mem_mouse_le_fast_conn_enable_timer,regc
 	arg p_mouse_le_fast_conn_enable_timeout,regb
-	branch timer_single_step	
+	branch timer_single_step		
 
 p_mouse_le_fast_conn_enable_timeout:
-	branch p_mouse_start_discovery	
+	branch p_mouse_start_discovery
 
 p_mouse_wheel_trigger_timer:
 	arg mem_mouse_wheel_trigger_timer,regc
@@ -1017,36 +1812,55 @@
 	jam 0,mem_mouse_wheel_trigger
 	rtn
 
-//p_mouse_bt_discovery_check:
-//	fetch 1,mem_device_flag
-//	rtneq MODE_24G_DEVICE
-//p_mouse_bt_discovery_commbination_key:
-//	fetch 1,mem_mouse_dpi_button_state
-//	branch p_mouse_bt_discovery_commbination_key_down,blank
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
-//p_mouse_bt_discovery_commbination_key_up:
-//	fetch 1,mem_ui_button_timeout
-//	store 1,mem_combination_ui_button_count	//combination key timer init
-//	fetch 1,mem_bt_discovey_button_statue
-//	rtneq DPI_BUTTON_STATE_UP
-//	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
-p_mouse_bt_discovery_button_up_init:
-	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	call mouse_disable_function_flag
-	branch mouse_bt_discovery_button_down_disable
-//p_mouse_bt_discovery_commbination_key_down:
-//	jam 40,mem_mouse_null_enter_hibernate_timer
-//	call p_mouse_bt_discovery_timer
-//	branch mouse_bt_discovery_commbination_key_down+1
+p_mouse_current_mult_update_timer:
+	arg mem_mouse_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
+
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+p_mouse_long_mult_flag_enable:	
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+/*
+p_mouse_24g_pairing_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down 
+	branch mouse_bt_discovery_commbination_key_up
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_24g_pairing_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_24g_pairing_timer:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_24g_pairing_button,regb
+	branch timer_single_step	
+*/	
+
+
 
 p_mouse_bt_discovery_timer:
 	arg mem_select_ui_button_count,regc
 	arg p_mouse_long_button_bt_discovery,regb
 	branch timer_single_step
 p_mouse_long_button_bt_discovery:
-	fetch 1,mem_device_flag
-	rtneq MODE_24G_DEVICE
+	fetcht 1,mem_device_flag
+	fetch 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
 	fetch 2,mem_ui_state_map
 	isolate1 UI_STATE_BLE_ADV,pdata
 	call mouse_stop_le_adv,true		//reconnect adv
@@ -1055,25 +1869,76 @@
 	call mouse_cancel_reconnect,true
 	branch mouse_long_button_bt_discovry
 
-p_mouse_fast_conn_adv_switch_timer_reinit:
-	fetch 2,mem_discovery_timeout
-	store 2,mem_mouse_discovery_timer
+
+p_mouse_set_select_state:
+	jam 1,mem_select_device_button_press_flag
+	rtn
+
+p_mouse_clear_select_state:
+	jam 0,mem_select_device_button_press_flag
+	rtn
+	
+
+p_mouse_select_device_by_button:
+	fetch 1,mem_select_device_button_press_flag
+	branch p_mouse_select_device_button_up,blank
+p_mouse_select_device_button_down:
+	call p_mouse_bt_discovery_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_DOWN
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	jam PB_BUTTON_STATE_DOWN,mem_select_device_button_statue
 	rtn
 
+
+	
+p_mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_UP
+	fetch 1,mem_select_ui_button_count
+	sub pdata,20,null
+//	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
+//	ncall p_mouse_ready_reconnection_by_button,blank
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_ui_button_count	//combination key timer init 
+	jam PB_BUTTON_STATE_UP,mem_select_device_button_statue	
+
+	rtn
+
+p_mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call p_mouse_store_flash_device_info
+//	call mouse_select_device_enable
+//	call p_select_reconn_device
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	branch mouse_set_reconnection
+
+
+	
+/*
+
 p_mouse_null_enter_hibernate_timer:
 	fetch 1,mem_mouse_null_enter_hibernate_flag
 	rtn blank
-	arg mem_mouse_null_enter_hibernate_timer,regc
-	arg p_mouse_null_enter_hibernate,regb
-	branch timer_single_step
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
 p_mouse_null_enter_hibernate:
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	branch app_enter_hibernate
-//p_mouse_null_enter_hibernate_check:
-//	fetch 2,mem_ui_state_map
-//	rtnbit1 UI_STATE_BLE_CONNECTED
-//	rtnbit1 UI_STATE_BT_CONNECTED
-//	rtnmark1 mark_24g
 p_mouse_null_enter_hibernate_enable:	//ble never connected
 	jam 1,mem_mouse_null_enter_hibernate_flag
 	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
@@ -1081,149 +1946,61 @@
 p_mouse_null_enter_hibernate_disable:	//ble never connected
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn
+	rtn	
+//p_mouse_null_enter_hibernate_check:
+//	fetch 2,mem_ui_state_map
+//	rtnbit1 UI_STATE_BLE_CONNECTED
+//	rtnbit1 UI_STATE_BT_CONNECTED
+//	rtnmark1 mark_24g
+//	branch p_mouse_null_enter_hibernate_enable
+*/
+p_vdd_calculate_by_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
+	branch vdd_calculate_by_mode+2
 
-p_mouse_multi_led_blink_timer:
-	fetch 1,mem_mouse_multi_led_blink_enable
-	rtn blank
-	fetch 1,mem_mouse_multi_led_type
-	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
-p_mouse_multi_led_type_on:
-	call p_mouse_multi_led_on
-	fetch 1,mem_mouse_multi_led_on_timer
-	increase 1,pdata
-	store 1,mem_mouse_multi_led_on_timer
-	fetcht 1,mem_mouse_multi_led_on_timer_init
-	isub temp,null
-	call p_mouse_multi_led_off_poweron2s,zero
-	rtn
-p_mouse_multi_led_off_poweron2s:
-	jam 0,mem_mouse_multi_led_on_poweron2s_flag
-	branch p_mouse_multi_led_off
-	
-p_mouse_discovery_multi_led_blink:
-	jam 5,mem_mouse_multi_led_blink_timer_init	//300ms
-p_mouse_discovery_multi_led_blink1:
-	jam 0,mem_mouse_multi_led_blink_count_limited
-	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
-p_mouse_multi_led_blink_enable:
-	jam 5,mem_mouse_multi_led_blink_timer
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
-	rtn
-
-//p_mouse_bt_reconn_multi_led_blink:
-//	jam 1,mem_mouse_multi_led_blink_timer_init	//500ms
-//	branch p_mouse_discovery_multi_led_blink1
-
-p_mouse_multi_led_type_blink:
-	arg mem_mouse_multi_led_blink_timer,regc
-	arg p_mouse_multi_led_type_blink_timeout,regb
-	branch timer_single_step
-p_mouse_multi_led_type_blink_timeout:
-	fetch 1,mem_mouse_multi_led_blink_timer_init
-	store 1,mem_mouse_multi_led_blink_timer
-	fetch 1,mem_mouse_multi_led_blink_count_limited
-	branch p_mouse_multi_led_blink_count_no_limited,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	branch p_mouse_multi_led_blink_off,blank
-	increase -1,pdata
-	store 1,mem_mouse_multi_led_blink_count
-p_mouse_multi_led_blink_count_no_limited:
-	fetch 1,mem_mouse_multi_led_state
-	beq ON,p_mouse_multi_led_off
-p_mouse_multi_led_on:
-	jam ON,mem_mouse_multi_led_state
-	fetch 1,mem_mouse_multi_led_on_timer
-	nbranch p_mouse_multi_up_led_on,blank
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nbranch p_mouse_multi_up_led_on,blank
-	fetch 1,mem_mouse_multi_led_type
-	nbranch p_mouse_multi_up_led_on,blank
-	
-	fetch 1,mem_adc_power_flag
-	bbit1 0,p_mouse_low_vdd_led_on
-p_mouse_multi_up_led_on:
-	fetcht 1,mem_mouse_multi_led_gpio
-	set1 gpio_active_bit,temp
-	call gpio_config_output
-	fetcht 1,mem_mouse_multi_led_gpio
-	branch gpio_out_active
-p_mouse_low_vdd_led_on:
-	jam 1,mem_24g_device_led_status
-	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
-	set0 5,pdata
-	hstore 1,core_gpio_pd0
-	fetcht 1,mem_device_24g_led_gpio
-	call gpio_config_output	
-	fetcht 1,mem_device_24g_led_gpio
-	branch gpio_out_inactive
+p_vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch p_vdd_calculate
 
-p_mouse_discovey_led_blink_off:
-	fetch 1,mem_mouse_multi_led_on_timer
-	nrtn blank
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nrtn blank
-p_mouse_multi_led_blink_off:
-	setarg 0
-	store 3,mem_mouse_multi_led_blink_timer
-p_mouse_multi_led_off:
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch p_mouse_multi_led_off_wait_blink_over,blank
-	jam 0,mem_mouse_multi_led_blink_enable
-	jam 0,mem_mouse_multi_led_type
-p_mouse_multi_led_off_wait_blink_over:
-	jam 0,mem_mouse_multi_led_on_timer
-	jam OFF,mem_mouse_multi_led_state
-p_mouse_multi_led_gpio_set_float:
-	fetch 1,mem_mouse_multi_led_gpio
-	rtneq UI_BUTTON_GPIO_DISABLE
-	fetcht 1,mem_mouse_multi_led_gpio
-p_mouse_set_gpio_suspend:
-	call p_gpio_set_input_pu
-p_mouse_low_vdd_led_off:
-	jam 0,mem_24g_device_led_status
-	fetcht 1,mem_device_24g_led_gpio
-	branch p_gpio_set_input_high_impedance
-	
+p_vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch p_vdd_calculate1,positive
+	branch vdd_calculate+4
 
-p_mouse_mode_bt_device1_multi_led_on:
-p_mouse_mode_24g_device_multi_led_on:
-	jam 1,mem_mouse_multi_led_on_poweron2s_flag
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_ON,mem_mouse_multi_led_type
-	jam 0,mem_mouse_multi_led_on_timer
-	rtn
-//p_mouse_mode_bt_device1_multi_led_blink3s:
-//	jam 1,mem_mouse_multi_led_blink_poweron3s_flag
-//p_mouse_mode_24g_device_multi_led_blink3s:
-//	jam 27,mem_mouse_multi_led_blink_count
-//	jam 1,mem_mouse_multi_led_blink_timer_init	//100ms
-//	branch p_mouse_dpi_multi_led_blink+1
-//p_mouse_dpi_multi_led_blink:
-//	jam 5,mem_mouse_multi_led_blink_timer_init	//300ms
-//	jam 1,mem_mouse_multi_led_blink_count_limited
-//	branch p_mouse_multi_led_blink_enable
-	
+p_vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	isub rega,null
+	call p_vdd_calculate2,positive
+	branch vdd_calculate1+3
+	//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
+p_vdd_calculate2:	
+	copy rega,pdata
+	rtn
 
 p_mouse_adc_read:
-	fetch 2,mem_mouse_multi_led_blink_count
-	nrtn blank
 	fetch 1,mem_adc_read_timer
 	increase 1,pdata
 	store 1,mem_adc_read_timer
-	sub pdata,10,null              //1s read adc
+	sub pdata,5,null              //1s read adc
+	nop 100
 	call p_mouse_adc_read_gpio5, positive
 	ncall p_mouse_adc_read_vinlpm,positive
 	call adc_init_data
 	call p_adc_set_mode
-	call vdd_calculate_by_mode
+	call p_vdd_calculate_by_mode
 	store 2,mem_mouse_vdd_now_vol
 	arg mem_mouse_vdd_calculate_set,rega
 	call p_adc_bat_percent_lowpower_out
 	fetch 1,mem_adc_power_flag
 	bbit1 2,p_mouse_set_select_state
-	bbit1 1,app_enter_hibernate
+//	bbit1 1,app_enter_hibernate
 	bbit0 0,p_mouse_adc_no_low_voltage
 	jam 1,mem_mouse_adc_last_low_voltage_flag
 	branch mouse_adc_low_voltage
@@ -1238,43 +2015,18 @@
 	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
 	rtn
 
-p_vdd_calculate_by_mode:
-	fetch 1,mem_adc_config_flag
-	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
-	branch vdd_calculate_by_mode+2
-
-p_vdd_calculate_io:
-	fetch 2,mem_1v_adc_io_data
-	fetcht 2,mem_0_5_adc_io_data
-	arg 50,regc
-	branch p_vdd_calculate
 
-p_vdd_calculate:
-	isub temp,rega
-	fetch 2,mem_adc_current_value
-	isub temp,pdata
-	nbranch p_vdd_calculate1,positive
-	branch vdd_calculate+4
-
-p_vdd_calculate1:
-	copy temp,pdata
-	fetcht 2,mem_adc_current_value
-	isub temp,pdata
-	isub rega,null
-	call p_vdd_calculate2,positive
-	branch vdd_calculate1+3
-
-//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
-p_vdd_calculate2:	
-	copy rega,pdata
-	rtn
 
 p_mouse_adc_no_low_voltage:
 	call mouse_adc_no_low_voltage
+	jam 12,mem_adc_low_volatage_led_timer_count
 	fetch 1,mem_mouse_adc_last_low_voltage_flag
 	rtn blank
 	jam 0,mem_mouse_adc_last_low_voltage_flag
-	branch p_mouse_low_vdd_led_off
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
 
 p_adc_set_mode:
 	fetch 1,mem_adc_config_flag
@@ -1284,7 +2036,11 @@
 	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
 	set0 5,pdata
 	hstore 1,core_gpio_pd0
-	branch adc_check_gpio
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+
 
 p_adc_bat_percent_lowpower_out:
 	ifetch 8,rega
@@ -1314,6 +2070,7 @@
 	call p_mouse_clear_select_state
 	branch p_adc_clear_pb_press_flag
 
+
 p_adc_clear_no_power_flag:
 	fetcht 1,mem_adc_power_flag
 	set0 1,temp
@@ -1329,133 +2086,23 @@
 	fetcht 1,mem_adc_power_flag
 	set0 2,temp
 	storet 1,mem_adc_power_flag
-	rtn
-
-p_mouse_low_voltage_led_timer:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BLE_ADV
-	rtnbit1 UI_STATE_BT_DISCOVERY
-	fetch 2,mem_mouse_multi_led_blink_count
-	nrtn blank
-
-	fetch 1,mem_adc_low_volatage_led_timer_count
-	pincrease 1
-	store 1,mem_adc_low_volatage_led_timer_count
-	beq 5,p_mouse_multi_led_on
-	sub pdata,10,null
-	nbranch p_mouse_adc_low_volatage_led_timer_count_clean,positive
-	rtn
-p_mouse_adc_low_volatage_led_timer_count_clean:
-	jam 1,mem_adc_low_volatage_led_timer_count
-	branch p_mouse_multi_led_off
-
-
-
-p_mouse_sensor_poweron:
-	call p_mouse_spi_init
-//	arg mem_sensor_poweron_init,regc
-//	call p_sensor_wr_seq	
-	setarg 0x8006	// reset to factory settings
-	call twspi_write
-	nop 12000
-p_mouse_dpi_config:
-	fetch 1,mem_mouse_dpi
-	bne 0xff,p_mouse_seting_dpi
-p_mouse_dpi_config_default:
-	fetch 1,mem_config_sensor_motion
-	store 1,mem_mouse_dpi
-p_mouse_seting_dpi:
-p_mouse_seting_sensor_type:
-//	fetch 1,mem_config_sensor_type
-//	beq P3212,p_mouse_seting_3212_dpi
-//	beq P3065_XY,p_mouse_seting_3065XY_dpi
-//	beq MX8650,p_mouse_seting_3065XY_dpi
-//	beq KA8,p_mouse_seting_ka8_dpi
-p_mouse_seting_320x_dpi:
-	fetch 1,mem_mouse_dpi
-	sub pdata,MOUSE_DPI_LEVEL2,null
-	call p_mouse_320x_dpi_recount,zero
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL1,p_mouse_set_cpi1
-	beq MOUSE_DPI_LEVEL4,p_mouse_set_cpi4
-p_mouse_set_cpi3:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi3
-	beq MX8650,p_mouse_3065xy_set_cpi3
-	beq KA8,p_mouse_ka8_set_cpi3
-p_mouse_320x_set_cpi3:	
-	fetch 1,mem_320x_dpi_3
-p_mouse_dpi_store:
-	store 1,mem_mouse_cpi_count
-	branch mouse_p3205_dpi+3
-p_mouse_320x_dpi_recount:
-	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
-	rtn
-
-p_mouse_set_cpi1:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi1
-	beq MX8650,p_mouse_3065xy_set_cpi1
-	beq KA8,p_mouse_ka8_set_cpi1
-p_mouse_320x_set_cpi1:	
-	fetch 1,mem_320x_dpi_1
-	branch p_mouse_dpi_store
-
-p_mouse_set_cpi4:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi4
-	beq MX8650,p_mouse_3065xy_set_cpi4
-	beq KA8,p_mouse_ka8_set_cpi4
-p_mouse_320x_set_cpi4:	
-	fetch 1,mem_320x_dpi_4
-	branch p_mouse_dpi_store
-
-p_mouse_3065xy_set_cpi3:
-	fetch 1,mem_3065xy_dpi_3
-	branch p_mouse_dpi_store
-p_mouse_3065xy_set_cpi1:
-	fetch 1,mem_3065xy_dpi_1
-	branch p_mouse_dpi_store
-p_mouse_3065xy_set_cpi4:
-	fetch 1,mem_3065xy_dpi_4
-	branch p_mouse_dpi_store
-
-p_mouse_ka8_set_cpi3:
-	fetch 1,mem_3065xy_dpi_3
-p_mouse_ka8_dpi_store:
-	increase 3,pdata
-	branch p_mouse_dpi_store
-p_mouse_ka8_set_cpi1:
-	fetch 1,mem_3065xy_dpi_1
-	branch p_mouse_ka8_dpi_store
-p_mouse_ka8_set_cpi4:
-	fetch 1,mem_3065xy_dpi_4
-	branch p_mouse_ka8_dpi_store
-
-//p_mouse_seting_3212_dpi:
-//	fetch 1,mem_mouse_dpi
-//	sub pdata,MOUSE_DPI_LEVEL2,null
-//	call p_mouse_3205_dpi_recount,zero
-//	fetch 1,mem_mouse_dpi
-//	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
-//	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
-//	branch mouse_set_p3212_cpi3
-
+	rtn		
+	
 
-p_mouse_motion:
+p_mouse_motion: 
 	disable user
 	setarg 0
 	store 6,mem_mouse_x
-	call p_mouse_cheak_sensor_data
+	call mouse_cheak_sensor_data
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call p_mouse_key
-	nbranch p_drawing_optima_init,user
-	call p_drawing_optima
+//	call p_mouse_device_led_on,user
+//	ncall p_mouse_device_led_off,user
+	nrtn user
 	branch mouse_motion+9
 
+
 p_mouse_key:
 	call p_mouse_check_key_gpio
 	branch mouse_key+1
@@ -1463,13 +2110,13 @@
 p_mouse_check_key_gpio:
 	arg 0,rega
 	call p_mouse_check_lkey_gpio
-//	call p_mouse_check_rkey_gpio
-//	call p_mouse_check_mkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
 	call p_mouse_check_skey_gpio
 	branch mouse_check_key_gpio_output
 p_mouse_check_skey_gpio:
-//	fetch 1,mem_bk_button_gpio
-//	rtneq GPIO_DISABLE
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
 	call p_mouse_check_bk_key_gpio
 	branch p_mouse_check_fw_key_gpio
 	
@@ -1479,14 +2126,14 @@
 	fetcht 1,mem_lbutton_gpio
 	call gpio_get_bit
 	setflag true,0,rega			//true = 1,input low level
-//	rtn
+	rtn
 p_mouse_check_rkey_gpio:
 	fetcht 1,mem_rbutton_gpio
 	call p_gpio_set_input_pu
 	fetcht 1,mem_rbutton_gpio
 	call gpio_get_bit
 	setflag true,1,rega			//true = 1,input low level
-//	rtn
+	rtn
 p_mouse_check_mkey_gpio:
 	fetcht 1,mem_mbutton_gpio
 	call p_gpio_set_input_pu
@@ -1507,13 +2154,13 @@
 	fetcht 1,mem_fw_button_gpio
 	call gpio_get_bit
 	nsetflag true,4,rega
-p_gpio_set_input_pu:
-	set1 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
+	branch p_gpio_set_input_pu
+
+
+p_gpio_set_input_high_impedance:
 	set0 gpio_active_bit,temp
-	branch p_gpio_set_input_pd4
-	
+	branch gpio_set_high_impedance
+
 p_gpio_set_input_pd:
 	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
@@ -1521,37 +2168,37 @@
 	set1 gpio_active_bit,temp
 p_gpio_set_input_pd4:	
 	arg core_gpio_pd0,contw
-	branch gpio_set_high_impedance+4
-
-p_gpio_set_input_high_impedance:
+	call gpio_set_bit
 	set0 gpio_active_bit,temp
-	branch gpio_set_high_impedance
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
 
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pu1:	
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
 
-p_mouse_cheak_sensor_data:
-//	fetch 1,mem_config_sensor_type
-//	beq P3212,p_mouse_p3212_sensor_motion
-p_mouse_p32xx_sensor_motion:
-	call mouse_clear_sensor_data
-	disable user
-	branch mouse_p32xx_sensor_motion_2
-//p_mouse_p3212_sensor_motion:
-//	call mouse_clear_sensor_data
-//	branch mouse_p3212_sensor_motion_1
 	
 p_mouse_bb_event_discovery_btn:
-	call p_mouse_null_enter_hibernate_disable
-	jam 0,mem_mouse_send_blank_timer
-	fetch 1,mem_mouse_le_not_tx_disconn
-	call mouse_disconnect,blank
-	setarg 0
-	store 2,mem_mouse_no_data_timer
-	branch mouse_bb_event_discovery_btn+3
+	jam 0,mem_mouse_poweron_led_timer
+	isolate1 mark_24g,mark
+	call p_g24_check_51cmd_stop_24g,true
+	branch mouse_bb_event_discovery_btn+1
+
+p_le_addr_random_config:
+	jam ZCODE_81,mem_zcode_temp_param0
+	branch p_zcode_entrance	
 
 p_mouse_start_discovery:
-	jam ZCODE_30,mem_zcode_temp_param0
+	jam 0,mem_mouse_discovery_blink_count
+	jam ZCODE_50,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
+
+
 p_le_adv_data_update:
 	arg mem_le_adv_data+11,contw
 	arg 19,loopcnt
@@ -1559,7 +2206,13 @@
 	branch le_modified_name_adv
 
 p_mouse_stop_discovery:
-	call p_mouse_discovey_led_blink_off
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	store 1,mem_mouse_dpi_blink_count
+	store 1,mem_mouse_blink_count
+	store 1,mem_mouse_discovery_blink_count
+	jam 5,mem_mouse_bt_ble_led_timer
+	call p_mouse_bt_led_off
 	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
 	branch mouse_stop_discovery+1
 
@@ -1581,18 +2234,17 @@
 	jam 37,mem_le_ch_mapped
 	rtn
 
-
 p_le_receive_skip:
 	call save_rssi
 	call p_rssi_signal
 	branch le_receive_skip+2
 
 p_le_update_param:
-	jam ZCODE_20,mem_zcode_temp_param0
+	jam ZCODE_40,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_update_channel_map:
-	jam ZCODE_21,mem_zcode_temp_param0
+	jam ZCODE_41,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_prepare_tx:
@@ -1620,6 +2272,10 @@
 	call p_mouse_data_pull,blank
 	branch le_prepare_tx+4
 
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+	branch p_le_power_ctrl_pac_succ_decrs
+
 p_le_check_tx_retransmit_setmd:
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
@@ -1634,18 +2290,10 @@
 	call le_set_md
 	rtn
 
-p_le_prepare_tx_wak:
-	call p_le_check_tx_retransmit_setmd
+	
+	
 p_le_power_ctrl_pac_succ_decrs:
-power_ctrl_pac_succ_decrs:
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	sub pdata,2,null
-	ncall power_ctrl_pac_succ_cnt_reinit,positive
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtneq 0
-	increase -1,pdata
-	store 1,mem_power_ctrl_pac_succ_cnt
-	rtn
+	branch power_ctrl_pac_succ_decrs
 
 p_mouse_le_reconn_write_enable_timer_reinit:
 	fetch 1,mem_mouse_le_reconnect_flag
@@ -1653,7 +2301,7 @@
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
 	rtneq 0x03
-	jam 2,mem_le_start_encrypt_timer
+	jam 1,mem_le_start_encrypt_timer
 	rtn
 
 p_le_parse:
@@ -1674,19 +2322,8 @@
 	branch le_parse_l2cap
 p_le_parse_ll:
 	fetch 1,mem_le_rxbuf+2
-	beq LL_CONNECTION_UPDATE_REQ,p_le_parse_connection_update_req
 	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
 	branch le_parse_ll+1
-p_le_parse_connection_update_req:
-	call le_parse_connection_update_req
-	fetch 1,mem_mouse_le_updata_not_accepted_flag
-	rtn blank
-//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = LL_CONNECTION_UPDATE_REQ latency = 04	
-p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:	
-	fetch 1,mem_le_new_connslavelatency
-	store 1,mem_lpm_mult
-	store 1,mem_lpm_mult_init
-	rtn		
 p_le_parse_channel_map_req:
 	ifetch 5,contr
 	store 5,mem_le_new_map
@@ -1732,6 +2369,7 @@
 	istore 2,contr
 	rtn
 
+
 p_le_parse_att1:
 	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
 	branch le_parse_att+2
@@ -1740,26 +2378,47 @@
 	fetch 1,mem_le_configuration
 	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
 p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero
+	
 	fetch 2,mem_le_att_handle
 	beq 0x13,le_send_att_error_response_notfound
+
 	fetcht 2,mem_le_att_handle
 	branch le_send_att_read_response
+
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
 p_le_send_att_read_response_check_auth:
 	fetch 2,mem_le_pairing_handle
 	isub temp,null
 	nbranch p_le_send_att_read_response,zero
 	call le_check_encrypt_state
 	nbranch p_le_send_att_read_response,user
-	branch le_send_att_read_response_check_auth+5
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
 	
+
+
 p_le_parse_smp:
 	ifetch 1,contr
-	beq SMP_PAIRING_REQUEST,p_le_parse_smp_pairing_request
 	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
 	branch le_parse_smp+1
-p_le_parse_smp_pairing_request:
-	jam 1,mem_le_send_security_request_flag
-	branch le_parse_smp_pairing_request	
 p_le_parse_smp_pairing_failed:
 	jam ZCODE_82,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -1792,8 +2451,12 @@
 	branch le_lpm_set_mult_attempt+3
 
 p_le_mouse_bb_event_connect_complete:
-	jam ZCODE_22,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
 
 p_twspi_reset:
 	hfetch 1,core_gpio_out3
@@ -1847,8 +2510,7 @@
 	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
+	force 1,am_addr	/* process_fhs will update am_addr, so slave will not receive fhs succeffully sometimes */
 	jam 2,mem_newconnto_counter
 	branch p_roles_waitfhs_loop
 
@@ -1863,8 +2525,13 @@
 	branch process_dmh+1
 
 p_quit_connection_cont:
-	jam ZCODE_23,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	branch quit_connection_cont+8
 
 p_prepare_tx:
 	fetch 1,mem_state
@@ -1892,6 +2559,9 @@
 	rtn blank
 	fetch 1,mem_lpm_mode
 	rtn blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
 	fetch 1,mem_ssp_enable
 	branch p_lpm_dispatch_next,blank
 	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
@@ -1931,11 +2601,11 @@
 	rtn	
 
 p_mouse_bb_disconnected:
-	jam ZCODE_01,mem_zcode_temp_param0
+	jam ZCODE_10,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_hid_rx_process:
-	jam ZCODE_02,mem_zcode_temp_param0
+	jam ZCODE_11,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_parse_lmp_accepted:
@@ -1952,32 +2622,9 @@
 	rtn
 
 p_send_lmp:
-	disable user
-	call lmo_fifo_process
-	fetch 1,mem_lmp_to_send
-	rtn blank
-	bbit1 7,p_send_lmp_escape
-	beq LMP_ACCEPTED,p_send_lmp_accepted
-	beq LMP_SETUP_COMPLETE,p_send_lmp_setup_complete
-	beq LMP_SNIFF_REQ,p_send_lmp_sniff_req
-	branch send_lmp0
-
-p_send_lmp_escape:
-	jam ZCODE_10,mem_zcode_temp_param0
-	branch p_zcode_entrance
-
-p_send_lmp_accepted:
-	jam ZCODE_11,mem_zcode_temp_param0
+	jam ZCODE_20,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
-p_send_lmp_setup_complete:
-	jam 1,mem_bt_send_lmp_setup_complete
-	branch send_lmp_setup_complete
-
-p_send_lmp_sniff_req:
-	jam 4,mem_mouse_bt_send_first_package_timer
-	branch send_lmp_sniff_req
-
 p_process_conn_sm:
 	call lmo_fifo_check
 	nrtn blank
@@ -2042,6 +2689,11 @@
 	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
 	branch check_51cmd_once_continue+2
 
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+
 p_flash_store_le_reconn_info:
 	jam REC_4_MODE,mem_record_bt_mode
 	fetch 6,mem_le_plap
@@ -2061,10 +2713,8 @@
 	call mouse_before_store_reconn_info
 	branch p_mouse_store_flash_device_info
 
-p_check_51cmd_ble_update_connect_param:
-	call le_fifo_check_full
-	nrtn blank
-	branch le_l2cap_tx_update_req
+
+
 
 power_ctrl_pac_succ_cnt_init:
 	jam 1,mem_power_ctrl_level
@@ -2075,7 +2725,15 @@
 	increase 1,pdata
 	store 1,mem_power_ctrl_pac_succ_cnt
 	rtn
-
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
 power_ctrl_pac_succ_cnt_reinit:
 	jam 3,mem_power_ctrl_pac_succ_cnt
 	rtn
@@ -2106,7 +2764,7 @@
 
 power_ctrl_txpower_decrs_check:
 	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtnne 50
+	rtnne 32
 	jam 0,mem_power_ctrl_pac_succ_cnt
 power_ctrl_txpower_decrs:
 	fetcht 1,mem_rssi_avg_received
@@ -2189,12 +2847,7 @@
 //	branch set_tx_power_3db
 	
 p_set_tx_power_5db:
-//	call p_rx_high_sens
-	jam 0xfb,0x894c 
-	jam 0xef,0x894d
-	jam 0xec,0x894e 
-	jam 0x5e,0x894f
-
+	call p_rx_high_sens
 //	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xe0,0x8956
@@ -2230,12 +2883,12 @@
 	jam 0x46,0x894f
 	rtn
 
-//p_rx_high_sens:
-//	jam 0xfb,0x894c 
-//	jam 0xef,0x894d
-//	jam 0xec,0x894e 
-//	jam 0x5e,0x894f
-//	rtn
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
 		
 p_set_tx_power_pair:	//50-100cm distance
 //	jam 0xba,0x894b
@@ -2247,10 +2900,6 @@
 	force 8,radio_ctrl
 	branch shutdown_radio+1
 
-p_initialize_radio_cont:
-	call initialize_radio_cont+1
-	jam clksel_dpll,core_clksel
-	rtn	
 
 // input : mem_zcode_temp_param0 ---- zocde number(0~1f)
 p_zcode_entrance:
@@ -2270,8 +2919,9 @@
 	iadd temp,pdata
 	increase -5,pdata
 	store 3,mem_flash_address
+	
 	call p_flash_release_deep_power_down
-p_zcode_read_loop:
+p_zcode_read_loop:			// YC1059
 	fetch 3,mem_flash_address
 	arg ZCODE_BUFF_SIZE,temp
 	arg mem_zcode_buff,rega
@@ -2279,9 +2929,9 @@
 	fetch 4,mem_zcode_buff
 	fetcht 4,mem_zcode_head	//p_start
 	isub temp,null
-	nbranch p_zcode_read_loop,zero	//sometimes we will lost p_start,read flash again
+	nbranch p_zcode_read_loop,zero
 	call p_mouse_spi_init
-
+	
 	setarg mem_zcode_buff
 	store 2,mem_patch_ptr
 	jam ZCODE_CODE_SIZE,mem_patch_len
@@ -2294,143 +2944,7 @@
 
 
 
-//notice: need to call p_mouse_drawing_optima_init when waked from mult
-p_drawing_optima:
-	fetch 4,mem_mouse_x
-	rtn blank
-	call p_data_abs_check
-	setarg 0x06	//asm_flag enable condition
-	call p_data_greater_than_check
-	setarg 0x03	//asm_flag disable condition
-	call p_data_less_than_check
-	fetch 1,mem_mouse_asm_flag
-	beq 1,p_drawing_optima_modify
-p_drawing_optima_init:
-	arg 5,loopcnt
-	arg mem_mouse_asm_flag,contw
-	branch clear_mem
-
-p_drawing_optima_modify:
-	fetch 2,mem_mouse_x_pre
-	store 2,mem_data_pre
-	fetch 2,mem_mouse_x
-	store 2,mem_data_current
-	call p_drawing_optima_data
-	fetch 2,mem_data_pre
-	store 2,mem_mouse_x_pre
-	fetch 2,mem_data_current
-	store 2,mem_mouse_x
-
-	fetch 2,mem_mouse_y_pre
-	store 2,mem_data_pre
-	fetch 2,mem_mouse_y
-	store 2,mem_data_current
-	call p_drawing_optima_data
-	fetch 2,mem_data_pre
-	store 2,mem_mouse_y_pre
-	fetch 2,mem_data_current
-	store 2,mem_mouse_y
-	rtn
-
-/**********
-input:data_pre,data_current
-output:data_pre,data_current after optima
-***********/
-p_drawing_optima_data:
-	fetch 2,mem_data_pre
-	fetcht 2,mem_data_current
-	iadd temp,pdata
-	store 3,mem_data_sum
-	isolate1 16,pdata
-	branch p_data_sum_overflow,true
-	fetch 1,mem_data_sum+1
-	beq 0xff,p_data_sum_n
-	fetch 1,mem_data_sum
-p_data_store_pre:
-	rshift pdata,pdata
-	store 2,mem_data_pre
-	store 2,mem_data_current
-	rtn
-p_data_sum_overflow:
-	fetch 1,mem_data_sum+1	//sum positive
-	beq 0,p_data_sum_overflow_p
-	fetch 3,mem_data_sum	//全负相加
-	branch p_data_store_pre
-p_data_sum_overflow_p:
-	jam 0,mem_data_sum+2
-	fetch 1,mem_data_sum
-	branch p_data_store_pre
-
-p_data_sum_n:
-	fetch 1,mem_data_sum	//sum negetive
-	call p_pdata_get_half
-	store 1,mem_data_pre
-	store 1,mem_data_current
-	branch p_data_zero,blank
-	setarg 0xff
-p_data_set_direction:	
-	store 1,mem_data_pre+1
-	store 1,mem_data_current+1
-	rtn
-p_data_zero:
-	setarg 0
-	branch p_data_set_direction
-
-p_pdata_get_half:
-	sub pdata,0,pdata
-	store 1,mem_rega
-	fetch 1,mem_rega
-	rshift pdata,pdata
-	store 1,mem_rega
-	fetch 1,mem_rega
-	sub pdata,0,pdata
-	rtn
-
-//rega mouse_x, regb mouse_y, pdata refer
-p_data_greater_than_check:
-	isub rega,null
-	nbranch p_enable_asm,positive
-	isub regb,null
-	nbranch p_enable_asm,positive
-p_disable_asm:
-	jam 0,mem_mouse_asm_flag
-	rtn
-p_data_less_than_check:
-	isub rega,null
-	nrtn positive
-	isub regb,null
-	nrtn positive
-	branch p_disable_asm
-p_enable_asm:
-	jam 1,mem_mouse_asm_flag
-	rtn
-
-p_data_abs_check:
-	fetch 2,mem_mouse_x
-	call p_data_abs
-	copy pdata,rega
-	fetch 2,mem_mouse_y
-	call p_data_abs
-	copy pdata,regb
-	rtn
 
-/***********
-input: data_current
-output:pdata,abs
-************/
-p_data_abs:
-	store 2,mem_data_current
-	fetch 1,mem_data_current+1
-	beq 0xff,p_data_reversal
-	fetch 1,mem_data_current
-p_data_abs_store:
-	and_into 0xff,pdata
-	//output:pdata
-	rtn
-p_data_reversal:
-	fetch 2,mem_data_current
-	sub pdata,0,pdata
-	branch p_data_abs_store
 
 
 
@@ -7641,7 +8155,6 @@
 	setarg STATE_24G_PAIRING_SUCCESS
 	call g24_store_mem_pairing_sm
 	//jam 0,mem_24g_check_dongle_times
-g24_app_tx_attempt_success:	
 	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
 	branch ui_ipc_send_event
 
@@ -13142,7 +13655,6 @@
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
-mouse_dpi_down_setting:
 	fetch 1,mem_mouse_dpi
 	increase 1,pdata
 	and pdata,0x03,pdata
@@ -13926,7 +14438,6 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
-mouse_p3212_sensor_motion_1:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_twspi_reset
@@ -13964,7 +14475,6 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
-mouse_p32xx_sensor_motion_2:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_p3065_judge   
@@ -14727,7 +15237,7 @@
 	arg mouse_bt_hid_handshake,regb
 	branch timer_single_step
 
-mouse_check_discovery_timeout_timer:
+mouse_check_discovery_timeout_timer:	
 	arg mem_mouse_discovery_timer,regc
 	arg mouse_check_discovery_timeout,regb
 	branch timer_single_step_2B
@@ -28707,7 +29217,6 @@
 	hfetch 2,core_clkoff
 	set0 CLOCK_OFF_PWM,pdata
 	hstore 2,core_clkoff
-delay_nop100:	
 	nop 100
 	rtn
 
@@ -36422,9 +36931,34 @@
 
 org 0x10001
 z_entrance0:
-	beq ZCODE_01,z_mouse_bb_disconnected
 	beq ZCODE_00,z_page_wait_fhs_reply_ok
-	beq ZCODE_02,z_hid_rx_process
+	rtn
+
+z_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+z_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch z_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch z_master_newconn_loop,blank
+	branch page_restart
+z_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+
+
+	
+org 0x20001
+
+z_entrance1:
+	beq ZCODE_10,z_mouse_bb_disconnected
+	beq ZCODE_11,z_hid_rx_process
 	rtn
 
 z_mouse_bb_disconnected:
@@ -36447,33 +36981,10 @@
 	fetch 2,mem_ui_state_map
 	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
 	call app_disconn_reason_clear
-	call p_mouse_check_key_gpio	//mult_key pair
-	beq MOUSE_LMR_BUTTON,z_mouse_null_enter_hibernate_enable
-	fetch 1,mem_mouse_dpi_button_state	//dpi key switch
-	branch z_mouse_null_enter_hibernate_enable,blank
+//	call p_mouse_check_key_gpio
+//	rtn true
 	branch app_bb_hibernate
 
-z_mouse_null_enter_hibernate_enable:	//ble never connected
-	jam 1,mem_mouse_null_enter_hibernate_flag
-	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn	
-
-z_page_wait_fhs_reply_ok:
- 	fetch 1, mem_page_rcv_fhs
-	increase 1,pdata
-	store 1, mem_page_rcv_fhs
-	call prepare_newconn
-z_master_newconn_loop:
- 	set1 mark_first_packet,mark
-	call master_newconn_once
-	branch z_newconn_poll_responded,sync
-	set0 mark_first_packet,mark
-	call new_conn_timeout
-	nbranch z_master_newconn_loop,blank
-	branch page_restart
-z_newconn_poll_responded:
-	set0 mark_first_packet,mark
-	branch newconn_poll_responded
 
 z_hid_rx_process:
 	fetch 2,mem_l2cap_payload_ptr
@@ -36497,37 +37008,28 @@
 z_hid_rx_process_hid_control:
 	copy temp,pdata
 	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,p_mouse_irtual_cable_unplug
-	branch hid_rx_process_hid_control+2
+	branch hid_rx_process_hid_control+2	
 
-org 0x20001
+org 0x30001
 
-z_entrance1:
-	beq ZCODE_10,z_send_lmp_escape
-	beq ZCODE_11,z_send_lmp_accepted
-	beq ZCODE_12,z_mouse4_0_check_reconn_target
+z_entrance2:
+	beq ZCODE_20,z_send_lmp
 	rtn
 
-z_mouse4_0_check_reconn_target:
-	jam 1,mem_le_send_security_request_flag
-	jam 1,mem_mouse_le_reconnect_flag
-	fetch 2,mem_mouse_direct_timeout
-	fetcht 1,mem_mouse_fast_conn_flag
-	sub temp,0xff,null
-	nbranch z_mouse4_0_check_reconn_target_next,zero
-	setarg 0x0258								//ble fast conn time 1min
-z_mouse4_0_check_reconn_target_next:
-	store 2,mem_mouse_direct_timer
-	call p_mouse_store_eeprom_enable
-	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-	arg mem_le_scan_data,contr
-	call p_le_adv_data_update
-	branch check_51cmd_adv
+z_send_lmp:
+	disable user
+	call lmo_fifo_process
 
-z_send_lmp_escape:
+	
 	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,z_send_lmp_escape
+	beq LMP_ACCEPTED,z_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,z_send_lmp_setup_complete
+	beq LMP_SNIFF_REQ, z_send_lmp_sniff_req
+	beq LMP_DETACH,z_send_lmp_detach
+	branch send_lmp0
+z_send_lmp_escape:
 	beq LMP_EXT_FEATURES_RES,z_send_lmpext_features_res
 	beq LMP_EXT_FEATURES_REQ,z_send_lmpext_features_req	
 	branch send_lmp_escape
@@ -36544,6 +37046,34 @@
 	branch ssp_disable,blank
 	branch ssp_enable
 
+z_send_lmp_setup_complete:
+	jam 1,mem_bt_send_lmp_setup_complete
+	branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+	jam 4,mem_mouse_bt_send_first_package_timer
+	branch send_lmp_sniff_req
+	
+z_send_lmp_detach:
+/*
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+	fetch  1,mem_mouse_bt_reconnect_flag
+	branch prepare_disconnect,blank
+	branch p_mouse_sensor_powerdown_check
+*/
+	call send_lmp_detach
+	fetch  1,mem_mouse_bt_reconnect_flag
+	rtn blank
+	fetch 1,mem_op
+	set0 op_disconn,pdata
+	store 1,mem_op
+	branch p_mouse_sensor_powerdown
+
+
 z_send_lmp_accepted:
 	force 2,pdata
 	call msg_send_lmp
@@ -36565,14 +37095,74 @@
 	copy clkn_bt,pdata
 	store 4,mem_aurand_send_delay_time
 	rtn
-	
-org 0x30001
 
-z_entrance2:
-	beq ZCODE_20,z_le_update_param
-	beq ZCODE_21,z_le_update_channel_map
-	beq ZCODE_22,z_le_mouse_bb_event_connect_complete
-	beq ZCODE_23,z_quit_connection_cont
+
+org 0x40001
+
+z_entrance3:
+	beq ZCODE_30,z_process_conn_sm
+	rtn
+
+z_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+z_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	beq CONN_SM_SEND_CONN_REQ, z_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,z_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+
+z_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,z_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+z_host_create_conn_switch_accept:
+	rtn master
+z_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,z_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+z_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch z_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+z_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+
+
+
+
+org 0x50001
+
+z_entrance4:
+	beq ZCODE_40,z_le_update_param
+	beq ZCODE_41,z_le_update_channel_map
 	rtn
 
 z_le_update_param:
@@ -36615,55 +37205,56 @@
 	rtnne 0x00
 	branch disable_user
 
-z_le_mouse_bb_event_connect_complete:
-	fetch 1,mem_mouse_le_reconnect_flag
-	nrtn blank
-	fetch 1,mem_le_att_handle
-	sub pdata,26,pdata
-	nrtn zero
-	jam 0,mem_le_start_encrypt_timer
-	branch mouse_le_write_enable
-	
-z_quit_connection_cont:
-	call app_disconn_reason_collect_bt
-	call sniff_exit
-	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
-	call ui_ipc_send_event
-	call init_lmp_work
-	call l2cap_init_work
-	branch quit_connection_cont+8
 
-org 0x40001
 
-z_entrance3:
-	beq ZCODE_30,z_mouse_start_discovery
+org 0x60001
+
+z_entrance5:
+	beq ZCODE_50,z_mouse_start_discovery
+	beq ZCODE_51,z_mouse_24g_attempt_fail
 	rtn
 
+
 z_mouse_start_discovery:
 	call p_mouse_tx_power_init
-	jam 0,mem_le_send_security_request_flag
-	jam 1,mem_mouse_start_discovery_enable
-	jam MODE_BT_DEVICE1,mem_device_flag
 	jam 0,mem_mouse_clear_sensor_data_flag
-	call z_mouse_le_addr_update
+	call p_mouse_le_fast_conn_disable
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,z_mouse_start_discovery_norandom
+	call p_mouse_load_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
 z_mouse_start_discovery_norandom:
-	fetch 3,mem_le_lap_high_3B
+	setarg 0xed8e0e
 	store 3,mem_le_lap+3
-	call p_mouse_fast_conn_disable
 	call app_lpm_mult_disable
 	fetch 2,mem_discovery_timeout
 	store 2,mem_mouse_discovery_timer
+	jam 5,mem_mouse_bt_ble_led_timer
 	jam 6,mem_connection_options
 	setarg 0
 	store 2,mem_mouse_no_data_timer
 	store 2,mem_mouse_direct_timer
-	call p_mouse_store_eeprom_enable
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
 	call mouse_bt_discovery_button_down_disable
 	fetch 1,mem_device_option
 	isolate1 MODE_4_MOUSE,pdata
 	call z_check_51cmd_adv,true
-	call mouse_start_discovery_norandom+13
-	branch p_mouse_discovery_multi_led_blink
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	jam 0,mem_mouse_bt_reconnect_flag
+	branch mouse_start_discovery_norandom+13
 
 z_check_51cmd_adv:
 	jam 0,mem_mouse_le_reconnect_flag
@@ -36674,75 +37265,273 @@
 	call p_le_adv_data_update
 	branch check_51cmd_adv
 
-z_mouse_le_addr_update:
-	call p_mouse_load_flash_user_data	
-	fetcht 2,mem_random_addr_increase_count
-	increase 1,temp
-	storet 2,mem_random_addr_increase_count
-	storet 2,mem_le_lap+1
-	call p_mouse_store_flash_user_data
-	random pdata
-	store 1,mem_le_lap
-	rtn
+z_mouse_24g_attempt_fail:
+	fetch 1,mem_mouse_24g_pair_timer
+	nrtn blank
+	fetch 1,mem_24g_attempt_count
+	nbranch z_mouse_24g_attempt_fail_again,blank
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+	jam 0,mem_link_key_exists
+	call p_mouse_setgpio_hibernate
+	branch app_enter_hibernate
 
-org 0x50001
 
-z_entrance4:
-	rtn
+z_mouse_24g_attempt_fail_again:
+	increase -1,pdata
+	store 1,mem_24g_attempt_count
+	branch p_mouse_start_24g_mode
 
 
-org 0x60001
+org 0x70001
 
-z_entrance5:
+z_entrance6:
+	beq ZCODE_60,z_g24_start_24g_mode
+	beq ZCODE_61,z_mouse_24g_pairing_button
 	rtn
+	
+z_g24_start_24g_mode:
+	set0 mark_24g,mark
+	fetch 1,mem_24g_attempt_count
+	and pdata,0x01,pdata
+	ncall z_g24_fast_conn_all_powerful,blank
+	call z_g24_normal_connect,blank
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+z_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+	nop 2000
+//	call p_mouse_adc_read
+//	fetch 1,mem_select_device_button_press_flag
+//	nbranch p_mouse_select_device_button_down,blank
+	fetch 1,mem_24g_check_dongle_times
+	beq 0x70,p_g24_stop_g24_mode		  
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_attemp_txdata_retry,sync
+	nbranch z_g24_attemp_txdata_retry,user3
+z_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	store 1,mem_mouse_24g_pair_timer
+	store 1,mem_24g_attempt_count
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+z_g24_tx_attemp_dongle_loop_exit:	
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/ 
+
+z_g24_normal_connect:
+	call p_mouse_tx_power_init
+	fetch 4,mem_mouse_24g_addr
+	branch z6_g24_ch_syncword_crc8_init
+
+z_g24_fast_conn_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	fetch 4,mem_mouse_24g_addr_init
+z6_g24_ch_syncword_crc8_init:	
+	store 4,mem_24g_addr
+	call p_g24_syncword_crc8
+	branch p_g24_ch
 
 	
+z_g24_attemp_txdata_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	call p_g24_ch
+	branch z_g24_tx_attemp_dongle_loop
 
 
-org 0x70001
+z_mouse_24g_pairing_button:
+//	rtnmark1 mark_24g
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 1,mem_24g_attempt_count
+	store 2,mem_24g_check_dongle_times
+	jam 200,mem_mouse_24g_pair_timer
+	call mouse_stop_discovery
+	branch z6_g24_start_pairing_sm1
 
+z6_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z6_g24_pair_init
+z6_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z6_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8	
 
 org 0x80001
 
 z_entrance7:
-	beq ZCODE_70,z_mouse_irtual_cable_unplug
+	beq ZCODE_70,z_g24_auto_pair_start
 	rtn
 
-z_mouse_irtual_cable_unplug:
-	setarg -1
-	store 6,mem_plap
-	jam REC_3_MODE,mem_record_bt_mode
-	jam 0xff,mem_mouse_fast_conn_flag
-	call mouse_before_store_reconn_info
-	jam 0xff,mem_device1_type
-	branch p_mouse_store_flash_device_info
+z_g24_auto_pair_start:
+	set0 mark_24g,mark
+	call z_g24_auto_pair_all_powerful
+	call p_g24_tx_attemp_data_prep
+z_g24_auto_pair_start_loop:
+//	call lpo_calibration
+	nop 2000
+	fetch 1,mem_24g_check_dongle_times+1
+	bbit1 0x02,p_g24_stop_g24_mode
+//	call p_mouse_adc_read
+//	fetch 1,mem_select_device_button_press_flag
+//	nbranch p_mouse_select_device_button_down,blank
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_auto_pair_retry,sync
+	nbranch z_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch z_g24_start_pairing_sm1,zero
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z7_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/
+
+z_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	branch z_g24_auto_pair_start_loop
+/*	
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,z_g24_auto_pair_device_attemp
+	beq 1,z_g24_auto_pair_pair_attemp
+	rtn
+*/
+	
+z_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+z_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+	call z_g24_auto_pair_all_powerful
+	branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+	call z_g24_pair_init
+	branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z_g24_pair_init
+z_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+
+
 
 
 org 0x90001
 
 z_entrance8:
 	beq ZCODE_80,z_mouse_setting_config
+	beq ZCODE_81,z_le_addr_random_config
+//	beq ZCODE_82,z_le_parse_smp_pairing_failed
 	rtn
+//z_le_parse_smp_pairing_failed:
+//	call le_parse_smp_pairing_failed
+//	fetch 1,mem_le_state	//disable update conn param
+//	set0 lestate_update_param,pdata
+//	store 1,mem_le_state
+//	branch le_parse_terminate_ind
+
+
+z_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	nbranch z_le_otp_adc_empty,blank
+	setarg 0x1122
+z_le_otp_adc_empty:
+	store 2,mem_random_addr_increase_count
+	rtn
+
 
 z_mouse_setting_config:
+	call p_g24_set_device_addr
+//	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
 	call mouse_gpio_init
-//	call p_mouse_multi_led_gpio_set_float
+
 	fetcht 1,mem_flash_ncs_gpio
 	call gpio_config_output
 	
+	call mouse_param_init
 	call z_mouse_bt_sdp_update
 	setarg 0
 	store 2,mem_lpm_interval
 	call load_adc_init
 	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	call p_le_addr_random_config
+	branch p_mouse_load_flash_info_check
 
-	call p_mouse_load_flash_info_check
-	fetch 6,mem_mouse_24g_addr_init
-	fetcht 6,mem_device1_addr
-	isub temp,null
-	nbranch p_mouse_fast_conn_disable,zero
-	call p_mouse_fast_conn_init
-	rtn
 
 z_mouse_bt_sdp_update:
 	call enable_authrom
@@ -36782,26 +37571,97 @@
 org 0xa0001
 
 z_entrance9:
+	beq ZCODE_90,z_g24_pairing_sm
+	beq ZCODE_91,z_g24_paring_mode
+	beq ZCODE_92,z_mouse_24g_pairing_complete
+	rtn
+
+z_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,z_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,z_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,z_g24_pairing_sm_3
+	branch assert
+
+z_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+z_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+z_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+z_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,z_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,z_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,z_g24_pairing_sm_3_waiting_ack
 	rtn
 
+z_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+
+z_mouse_24g_pairing_complete:
+	call p_mouse_24g_no_data_timer_init
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	store 1,mem_24g_attempt_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_tx_power_init
+	
+	fetch 4,mem_24g_addr
+	store 4,mem_mouse_24g_addr
+
+	branch p_mouse_store_flash_device_info
+
 
 org 0xb0001
 
 z_entranceA:
-	beq ZCODE_A0,z_mouse_before_hibernate
 	beq ZCODE_A1,z_mouse_le_conn_param_update_rsp_recieved
 	beq ZCODE_A2,z_mouse_le_bb_disconnected
-//	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
-//	rtn
-z_mouse_bb_event_reconn_timeout:
-z_mouse_bb_event_reconn_failed:
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BTN_DOWN
-	rtnbit1 UI_STATE_BT_DISCOVERY
-	rtnbit1 UI_STATE_BLE_ADV
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
-	branch app_bb_hibernate
+	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
+	beq ZCODE_A4,z_mouse_before_hibernate
+	rtn
+
 
 z_mouse_le_conn_param_update_rsp_recieved:
 	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
@@ -36809,20 +37669,26 @@
 	fetch 1,mem_le_tsniff
 	rshift2 pdata,pdata
 	sub pdata,LE_INTERVAL_15MS,null
-	branch z_mouse_le_conn_param_update_rsp_not_accepted,positive
+	rtn positive
 	setarg LE_INTERVAL_11_25MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
 	call p_app_updata_le_param
 	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
 	rtn
-//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = CONNECT_IND latency = 0
-z_mouse_le_conn_param_update_rsp_not_accepted:
-	jam 1,mem_mouse_le_updata_not_accepted_flag
-	branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
+
+
+z_mouse_bb_event_reconn_timeout:
+z_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+	branch app_bb_hibernate
 
 z_mouse_le_bb_disconnected:
-	jam 0,mem_mouse_le_bb_connected_flag
 	setarg LE_INTERVAL_8_75MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
@@ -36830,39 +37696,50 @@
 	jam 0,mem_mouse_clear_sensor_data_flag
 	call p_mouse_data_init
 	call le_clr_config_more_data
-	call mouse_bb_disconnected
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
-	
+
+
 z_mouse_before_hibernate:
-	hfetch 4,core_lpm_ctrl
-	set1 26,pdata
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
 	hstore 4,core_lpm_reg
 	call lpm_write_ctrl
 	call disable_authrom
-	call p_mouse_multi_led_off
-	call p_mouse_store_flash_device_info
+	call p_mouse_device_led_off
 	call mouse_before_hibernate_wheel_gpio_set
 	call p_mouse_setgpio_hibernate
+
 	call p_flash_deep_power_down
 	hfetch 1,core_gpio_sel1
 	and pdata,0xf7,pdata
 	hstore 1,core_gpio_sel1  //disable flash spi
-	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set1 6,pdata
+	hstore 1,core_gpio_pd2
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
 	set1 0,pdata
 	hstore 1,core_gpio_pd3
-	rtn	
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_clr_wake
 
 	
 org 0xc0001
 
 z_entranceB:
+	beq ZCODE_B0,z_mouse_le_bb_event_connected
 	beq ZCODE_B1,z_mouse_sniff_not_accept
 	beq ZCODE_B2,z_mouse_enter_sniff_check
 	beq ZCODE_B3,z_mouse_le_ll_start_encryt
 	beq ZCODE_B4,z_mouse_bb_event_disconnected
 	rtn
 
+z_mouse_le_bb_event_connected:
+	jam 1,mem_mouse_le_bb_connected_flag
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
 z_mouse_sniff_not_accept:
 	fetch 1,mem_mouse_enter_sniff_count
 	rtneq 2
@@ -36881,11 +37758,10 @@
 z_mouse_le_ll_start_encryt:
 	fetch 1,mem_mouse_le_reconnect_flag
 	beq 1,z_mouse_le_ll_reconn_start_encryt
-	jam 20,mem_le_start_encrypt_timer
 	branch z_mouse_le_ll_enable_start_enc_flag
 z_mouse_le_ll_reconn_start_encryt:
 	call p_app_updata_le_param
-	jam 10,mem_le_start_encrypt_timer
+	jam 5,mem_le_start_encrypt_timer
 z_mouse_le_ll_enable_start_enc_flag:
 	arg LL_START_ENC_FLAG,queue
 	branch mouse_le_enable_connect_flag
@@ -36894,7 +37770,6 @@
 	jam 0,mem_bt_rcvd_switch_req_accept
 	jam 0,mem_bt_send_lmp_setup_complete
 	jam 0,mem_mouse_bt_send_first_package_flag
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
 
 
Index: ZJL_3X_OnlyBLE/output/bt_program23.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.rom	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/bt_program23.rom	(working copy)
@@ -1,52 +1,46 @@
 00100000001000000000000001000000
-00100000010000000000000110011101
+00100000010000000000010000011001
 01101000000000001100000111011110
-01100000000000001100110011110100
-00100000010000000000010101100000
+01100000000000001100110010111000
+00100000010000000000011101000101
 01101000000000001100011010000101
-01100000000000001100101101001000
-00100000010000000000001010010000
-00100000010000000000000100101101
-00100000010000000000010111110001
-00100000010000000000000000010010
-00100000010000000000000000100011
-00100000010000000101100000010000
-00100000010000000101100000111001
-00100000010000000101100000101100
-00100000010000000101100000011000
-00100000010000000011111000011110
-00100000001000000000000100000010
-01011000000000000000000110001001
+01100000000000001100101101000100
+01101000000000001100101100110000
+01100000000000001100101100110001
+00100000010000000100001111001010
+00100000010000000000001100010100
+00100000010000000000000000001110
+00100000010000000000000000100001
+00100000001000000000001100111000
+01011000000000000000001111101011
+01100000000000010100110100110010
+01011000000000000000010000000101
 01100000000000010100000111101111
-01011000000000000000010010011011
+01011000000000000000011010000100
 01100000000000010100000111111001
-01011000000000000000000110111101
+01011000000000000000010000110100
 01100000000000010100000111110001
-01011000000000000000000010111101
+01011000000000000000001010111001
 01100000000000010100000111101101
-01011000000000000000000111110101
+01011000000000000000010001110001
 01100000000000010100000111110101
-01011000000000000000000111100010
+01011000000000000000010001011100
 01100000000000010100000111110011
-01011000000000000000001000101000
+01011000000000000000010010100110
 01100000000000010100000111101011
-01011000000000000000001000110101
+01011000000000000000010010101101
 01100000000000010100000111111101
 00100000011000000000000000000000
 01011000000000000000000000011001
-01100000000000010100110110000000
-00100100010101011000000000101111
-00100000010000000000000011100110
-00100000010000000000001000101110
+01100000000000010100110101000100
+00100100010101011000000000101001
+00100000010000000000001100010110
+00100000010000000000001100110101
 01101000000000001100011100011111
 01100000000000001100011100011110
-01101000000000110100010010100000
-01100000000000110100101101100100
-01101000000000001100001001000001
-11000011100000010000000000000000
-00100000001000000000001101110011
+00100000011000000000000000000000
 01011000000000000000000101110111
-01100000000000010100110110000000
+01100000000000010100110101000100
 00100000011000000000000000000000
 00100000000000000000000000000001
 00100000000000000000000000000001
@@ -62,64 +56,69 @@
 00100000000000000000000000000001
 00100000000000000000000000000001
 00100000000000000000000000000001
-11000010100001000000000001011001
-11000000000000001000000001110110
-11000000000000010000000001111111
-11000000010000101000010111000010
-11000000010001001000010110010101
-11000000010001010000010111000100
-11000000000011011000010010110000
-11000000000100110000010010110010
-11000000001001000000010011001110
-11000000001001010000010011010000
-11000000001010001000010011011001
-11000000001011001000010011001100
-11000000010100111000010011011110
-11000000010101101000010011110100
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+11000010100001000000000001011000
+11000000000000001000000001110101
+11000000000000010000000001111110
+11000000010000101000011110110001
+11000000010001001000011110000010
+11000000000011011000011010011101
+11000000000100110000011010011111
+11000000001001000000011010111010
+11000000001001010000011011000001
+11000000001010001000011011001010
+11000000001011001000011010111000
+11000000010100111000011011001111
+11000000010101101000011011101000
 11000000011001011011001111100100
-11000000011101001000010100000101
-11000000010100001000000010001000
-11000000010110001000000010001101
-11000000011000100000000011001010
-11000000011100011000001101110101
-11000000011100110000001110011101
-11000000011101010000001111011010
-11000000011101011000001111100001
-11000000011101100000001111100111
+11000000011101001000011011111001
+11000000010100001000000010000111
+11000000010110001000000010001100
+11000000010110010000000010010110
+11000000011000100000001011011100
+11000000011100110000010110001010
+11000000011101010000010111001101
+11000000011101011000010111010011
+11000000011101100000010111011010
 00100000001000000010101010001110
-11000000000111001000001111101010
-11000000001000011000001111110010
-11000000001001010000001111111000
-11000000001010111000001111111011
-11000000001011001000001111111101
-11000000001100011000001111111111
-11000000001100110000010000101111
-11000000001100111000010001001110
-11000000001101010000010010000110
-11000000001110111000010010010001
-11000000011111010000010101001000
-11000000000000101000010100000111
-11000000010000000000010100001001
-11000000010000010000010100010011
-11000000010001000000010100100100
-11000000010001100000010010011101
-11000000010001101000010010101001
-11000000010100000000001100011010
+11000000000111001000010111100011
+11000000001000011000010111101011
+11000000001001010000010111110001
+11000000001010111000010111110100
+11000000001011001000010111110110
+11000000001100011000010111111000
+11000000001100110000011000100010
+11000000001100111000011000111001
+11000000001101010000011001101111
+11000000001110111000011001111010
+11000000000000101000011011111011
+11000000010000000000011011111101
+11000000010000010000011100000111
+11000000010001000000011100001001
+11000000010001100000011010001010
+11000000010001101000011010010110
+11000000010100000000010100101000
+11000000011111010000011100101101
 00100000001000000010101010001110
 00011111111000100010001000000000
-01101000000010001100110011111000
-01011000000000000100110011111111
+01101000000010001100110010111100
+01011000000000000100110011000011
 10011000010000001000101000000000
 00011010001000100111111000000000
 11100000101000001000000000000000
 00011000010000001000010000000001
 00011000010000010000010000000111
-01100000000010001100110011111000
+01100000000010001100110010111100
 00100000011000000000000000000000
 11011000101000000000100110101110
 11011111001000000000000000001100
 00100000010000000111111011010100
-00100000010000000000000101110111
+00100000010000000000001111111100
 00100000010000000110101000000011
 00100000010000000101110011110110
 00100100010101011010110001100101
@@ -132,7 +131,7 @@
 01101000000000001100011001011010
 00100000001110100010000000010010
 01101000000000001100010110110001
-00100000001110100000000010000010
+00100000001110100000000010000001
 00100000001000000010000000010010
 01011000000000000000101000000110
 01100000000000011100010100010000
@@ -140,12 +139,8 @@
 01100000000000010100010100010011
 00100000001000000010101010100010
 11000110000100110000000000000000
-01101000000000001100101100101000
-00100100001110100111111111101111
-01101000000000001100101100101101
-00100100001110100111111111101111
-01101000000000001100011110011110
-00100000001110100111111111101111
+01101000000000001100011110011100
+11000000000000000111111111101111
 01101000000000001100011111000100
 11000000000000001111111111101111
 01101000000000010100001001001000
@@ -153,12 +148,542 @@
 01101000000000001100100000000110
 00100100001110100111111111101111
 00100000001000000111111111110001
+11000110100100110000000000000000
+01101000000000001100110101000001
+11000000000000001000000010101110
+00100000010000000000000101000101
+00100100001101000000000011001010
+00100000010000000000000100101100
+00100000010000000000000101101001
+01101000000000001100110000010001
+11000001111111111000000000000000
+00100000010000000000011101010110
+00100000010000000000000010101010
+01101000000000001100101100100110
+11000000000000001000001111101110
+00100000010000000000000011010101
+00100100011101000000000000000000
+00100000010000000000001011000000
+01011000000000001110110001010100
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01011000000000010111011100000000
+01100000000000011100110000110000
+01110000010010110110110000010100
+00100000011000000000000000000000
+00100000010000000000001010001011
+00100100011101000000000000000000
+00100000010000000000000011000100
+01101000000000010100110101000010
+00011111111000001111111000000001
+01100000000000010100110101000010
+01101000000010010100110101000100
+10011000010001100111110000000000
+00100000010000101000000010111000
+00100000001000000000000010011001
+01110000010011010100000100000000
+01011000000000000000000000000000
+01100000000000010100110101000010
+01011000000000000000000001100100
+01100000000000010100110101000100
+01110000010011000011110000000000
+01101000000000001100110000100111
+01100000000000001100110000100110
+00100000011000000000000000000000
+01101000000000001100110000101000
+01100000000000001100110000100110
+00100000011000000000000000000000
+01101000000000001100110000111100
+00011111111000001111111000000001
+01100000000000001100110000111100
+11000000000000100000000011000001
+11000000000000101000000010111101
+00100000011000000000000000000000
+01101000000000001100110000101101
+00100000010110100000000011011110
+01101000000000001100011011001111
+00011111111001100111110000001010
+00100000011000010000000000000000
+00100000010000000000000011010101
+00100100011101000000000000000000
+01101000000000011100110000110000
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01111000001101000111110000000000
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000001110100111111111101001
+01101000000000001100000010010001
+00100000001110100111111111101001
+01101000000000001100110101000001
+11000000000000001111111111101001
+00100000001000000000001011000011
+01110000010011000010110100000001
+01110000010011010011011000000000
+00100000010000000000000011110001
+01100000000000001100101110011101
+01011000000000000000000000000000
+01100000000000111100101110011110
+01101000000000100100110000111000
+01100000000000100100101110100101
+01110000010011000000000100001100
+01101000000000001100110000000010
+01111001001000000111111000000011
+01100000000000001100110000000010
+00100000010000000000000101001000
+00100000001000000000000010011100
+01101000000000100100000010100000
+01100000000000100100110000111000
+00100000011000000000000000000000
+01110000010011010011011100000001
+01110000010011010011100100000000
+01101000000000001100110000000010
+00011111111000010111111000000111
+01100000000000001100110000000010
+00100000011000000000000000000000
+01101000000000001100110000000010
+01111001001000000111111000000100
+01100000000000001100110000000010
+01100000000000001100101110111101
+00100000011000000000000000000000
+01101000000000001100110000000010
+01111001001111111111111000000100
+01100000000000001100110000000010
+01100000000000001100101110111101
+00100000010000000000011101001100
+00100000010000000000001000000011
+00100000011000000000000000000000
+00100000010000000000011101001100
+01101000000000001100110100111000
+11000000000000001000000100000110
+11000000000000010000000100001010
+00100000011000000000000000000000
+01110000010011010011100100000010
+01110000010011010011010100000000
+01110000010011010011011100000000
+00100000001000000000000011110001
+01110000010011010011011000000000
+00100000001000000000000100000111
+01101000000000010100110000000111
+00011111111000001111111000000001
+01100000000000010100110000000111
+11000010100001010000000110110001
+01101000000000001100110100110110
+11000000000000001000000100010101
+01110000010011010011011000000001
+01101000000000001100110100110110
+11000000100000001000000011110001
+01101000000000001100110100110100
+00011111111000001111111000000001
+01100000000000001100110100110100
+11000000000000100000000100011100
+00100000010000000000001000000011
+01110000010011000100011000000010
+00100000001000000000000101101001
+00100000010000000000011101001100
+01110000010011010011010000000000
+00100000001000000000000011110001
+01110000010011010011100100000010
+01110000010011010011011100000001
+01110000010011010011011000000000
+00100000001000000000000011110001
+01101000000000001100110100111000
+11000000000000011000000100100000
+01101000000000001100110000000010
+00101111111011000000000000000100
+00100000001000001000000011101111
+01101000000000001100110100111000
+11000000000000001000000100011111
+11000000000000010000000100100000
+00100000011000000000000000000000
+01101000000000001100110000010001
+11000001111111111000000000000000
+00100000010000000000000100110001
+00100100010101100000000100111001
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101000000000001100110100110111
+11000001100000001000000000000000
+01101000000000001100110100111001
+11000001100000000000000000000000
+01110000010011010011100000000001
+01110000010011000100011000000100
+00100000001000000111111111101011
+01101000000000001100110100111001
+00100000001110100000000101000000
+00011111111000001111111111111111
+01100000000000001100110100111001
+01110000010011010011100000000010
+01110000010011000100011000000100
+00100000001000000000001000000011
+01110000010011010011100000000011
+01101000000000001100110100110110
+00100100001110100000000100010011
+01110000010011000100011000000010
+00100000001000000000001000000011
+01101000000000001100110000010001
+11000000111111111000000110111100
+00100000010000000000000101001011
+00100000010000000000000111110001
+01110000010011000000011000000001
+00100000011000000000000000000000
+01101000000000010100110100110010
+00100000010000000111111110011100
+00100000001101000000000101010001
+01101000000000111100101110011110
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000000010010100101
+00100000010000000000001100101001
+01110000010011000010110100000000
+00011010001000001111111000000001
+01100000000000001100110000000001
+00100000010000000000000011110001
+01100000000000001100101110011101
+11101000101010001000000000000000
+11101010010000001000000000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11101010010000100000000000000000
+11100000101000100000000000000000
+00011010010000001010010000000100
+11011000101000000100101110100011
+11011111001000000000000000000010
+11101010010000001000000000000000
+11101000101010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11000010000000000000000101100010
+00100000011000000000000000000000
+01110000010011000000101000000000
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000010000000000000110001011
+01101000000000001100110000111101
+11000001000000001000000000000000
+00100100001011000000000110011010
+00100100001101111000000110011010
+00100000010000000000000110000011
+00100000010000000000000110110101
+00100000010000000000011101001000
+01110000010010110101011000000000
+01101000000000001100110000000000
+00011111111000001111111000000001
+01100000000000001100110000000000
+00100000010000000000000110000110
+01101000000000001100110000010001
+11000000111111111000000110001001
+00100000010000000000000100100011
+01011000000000000000000000000000
+01100000000000010100110000000111
+01100000000000001100110000001001
+01100000000000001100110100110101
+01100000000000001100101101011101
+01110000010011000000011000000000
+00100000011000000000000000000000
+11011111001000000000000000000100
+11011000101000000100101110011101
+00100000001000000111111011000110
+01101000000000001100110000000010
+11000010100000100000000011111010
+00100000011000000000000000000000
+00100000010000000000011101000101
+00100000001000000000000110111110
+01111000010101111111110000000000
+00100000010000000000001001101010
+01101000000000001100110000111101
+11000000000000001000000110011000
+00011000000000000010101000000000
+01101000000000100100110000101001
+10011000000000000001001000000000
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000000001000100110
+00100000010101111000001001100010
+00100000011000000000000000000000
+00100000010000000000001001100010
+00100000001000000000000101110100
+01101000000000001100110000001001
+00011111111000001111111000000001
+01100000000000001100110000001001
+01101000000000001100110000010001
+11000000111111111000000110101110
+01101000000010001100110000001010
+00011000010000001000010000000001
+01100000000010001100110000001010
+01101000000000001100110001000110
+10011000010001100111111000000000
+00100100001110100000000101101010
+01101000000000001100110100111000
+11000000000000011000000100001100
+01101000000000001100110100110101
+00011111111000001111111000000001
+01100000000000001100110100110101
+11000000000000010000000100000001
+00100000010000000000000011110101
+01110000010011000100011000000001
+00100000001000000000000101101001
+01101000000000001100110000001001
+11000001111111111000000000000000
+01110000010011000000100100000000
+01011000000000000000000000000000
+01100000000000010100110000000111
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000000000111010110
+01101000000000001100101111111111
+00100000011110100000000000000000
+10011000000000000111001000000000
+11011000110000000100101101111101
+11011000101000000100101111011111
+00100000001000000111111100000001
+01110000000100011100010110010000
+00100000001000000000011110110011
+01110000000100011100010110010001
+00100000001000000000011110110011
+01110000000100011100010101100000
+00100000001000000000011110110011
+01110000000100011100010101110000
+00100000001000000000011110110011
+01110000000100011001111011111111
+01101000000000001100110000000010
+01100000000000001001000110011111
+01101000000000100100110000111000
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000010000000000000111010001
+00100000001000000000000111110001
+01111001001111111000000000100110
+00100000010000000101001111001110
+11011000111000000000000000000011
+00100000001000000100001111010010
+01100000000010001100110000000001
+00011000010000100111001000000000
+11011000101000000100101110011101
+00011010001000100000110000000000
+00100000001000000111111100000001
+01101000000000001100101101111100
+00011111111010010111111000000000
+01100000000000001100101111111111
+00011111111000001111111000000001
+11011000110000000100101101111100
+10011000110000001000110000000000
+11101000110000011000000000000000
+01100000000000011100110000111110
+01101000000000001100101101111100
+00011111111000110111111000000000
+00011111111000010111111000000011
+01100000000000001100110001000100
+00100000011000000000000000000000
+01100000000000100100110000101001
+11011010001000000000000000000000
+11011111001000000000000000000100
+11011000110000000100110000101001
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000000000111100111
+00011010001000100111111000000000
+01100000000000010100110010110010
+01101000000000001100110010110010
+01101000000010001100110010110011
+10011000010000001111111000000000
+01100000000000001100110010110100
+00100000011000000000000000000000
+01101000000000001100110000000001
+00011111111000001111111000000010
+01100000000000001100110000000011
+01101000000000001100110000000010
+01100000000000001100101110111101
+01101000000000001100110000000001
+00011111111010011111111000000000
+01101000000010001100110000000000
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+01101000000010001100110000111101
+10011000010000001111111000000000
+11100000101000001000000000000000
+01101000000000001100110000000001
+10011000000000000111001000000000
+11011000110000000100101110011101
+00100000001000000111111100000001
+01101000000010001100110000001100
+00100000010000000000001000000111
+01100000000010001100110000001100
+00100000011000000000000000000000
+00100000010000000000001000001011
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+01101000000000001100110000101001
+00011111111000010111111000000011
+00011111111011111010001000000100
+01011000000000000100110000010010
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+01100000000000001100110000001011
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+01101000000000001100110000001011
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111000100
+01101000000000100100110000101001
+10011000000000000001001000000000
+00100000010000000010100100011000
+01101000000010001100110000001011
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000010000000010100100100100
+00100000010000000000001000010100
+01111000010101111111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+01111000001010000111110000000000
+01101000000000010100110000000100
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000000001001100110
+01111000010001101111110000000000
+01111000001001011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+00100000010000000000001001011111
+01100000000000001100110010110101
+01101000000010001100110010110100
+10011000010001100111110000000000
+00100100001000101000001001100010
+00100000010000000000001001011111
+01100000000000001100101101111011
+01101000000000001100110001000111
+00011111111001100111110000000010
+00100000001000101000001001000010
+01101000000000001100101101111011
+01101000000010001100110000000010
+10101000010000000000111000000000
+00100100001000001000001001100010
+00100000010000000000001001011111
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101000001001001010
+00100000010000000000001001011111
+11100000101000001000000000000000
+11000010000000000000001001000111
+00011000101000100010001000000000
+00100000010000000000001001011111
+01100000000000001100110100111100
+00011010001000100000101000000000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+01111000010001011111110000000000
+00100000001000110000001001100010
+01111000001101111111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000010000000010100100011000
+01101000000000001100110100111100
+00100000010000000000000001101011
+00100000011000000000000000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00100000011000000000000000000000
+01111000010011011111110000000000
+01111000010001011111110000000000
+00100000010000000010011001001101
+00100000011000000000000000000000
+00100000001000000000001001100010
+00100000010000000010100100011000
+01101000000010001100110000001011
+00100000001000000010100100110011
+00100000010000000101001111000100
+01101000000000100100110000101001
+10011000000000000001001000000000
+00100000010000000000001000010100
+00100000010000000000001001100111
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000010011101111110000000000
+01111000001011011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01101000000000001100110010110100
+00001000000000001000011000001000
+01101000000000001100110000000011
+10011000000000000111001000000000
+11011000110000000100101110111101
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000001010000000
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+01111000010011011111110000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000010100100110000100010
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01101000000000100100110000100010
+01101000000010001100110000100110
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01100000000000100100110000100010
+00100000001000000111111111100111
+00100000010000000010100110111011
+00100000011110100000000000000000
+01101000000010001100110010111011
+11011010001000000000110110011110
+00100000010000000000001010100001
+01100000000010001100110010111011
+00100000011000000000000000000000
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+00100000011000000000000000000000
 11011000010000000000000000000000
 11011111001000000000000000001000
 00011010001000100000110000000000
 11101000110000001000000000000000
 10011000010000001000010000000000
-11000010000000000000000010011110
+11000010000000000000001010101011
 00011000010010010111111000000000
 00011111111000100000010000000000
 11000110100100110000000000000000
@@ -170,16 +695,31 @@
 10011000010000011000010000000000
 00100000011000000000000000000000
 00100000011000000000000000000000
-00100000010000000000000011000111
-00100000010000000000000011000100
+11000110000100110000000000000000
+00100000010000000000001111110010
+00100000010000000000001011000011
+01101000000000001100000001000000
+11000011000000000000001011000000
+01101000000000001000000010100000
+00100100011110100000000000000000
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000011000000000000000000000
+00100000010000000000001011011001
+00100000010000000000001011000000
 00100000010000000011111010111111
-01101000000010001100101101000111
-00100000010000000110100000100101
+00100000010000000000001100111010
 01101000000100100000000001110000
 01101000000110100000000001111000
 10011000010000011000010000000000
 00011000010001000000010000000000
 01100000000110100000000001111100
+01101000000100001000000001111100
+01111001001111111111111000000110
+01100000000100001000000001111100
+01101000000100001000000001111100
+01111001001000000111111000000101
+01100000000100001000000001111100
 01101000000100001000000001111101
 01111001001111111111111000000010
 01100000000100001000000001111101
@@ -187,77 +727,105 @@
 01111001001111111111111000000110
 01100000000100001000000001111110
 00100000011000000000000000000000
-11000110000100110000000000000000
-00100000010000000000000101101101
-00100000010000000000000010101100
-01101000000000001100000001000000
-11000011000000000000000011000100
-01101000000000001000000010100000
-00100100011110100000000000000000
-01011000000000000000000000000000
-01100000000001000000000010100001
-00100000011000000000000000000000
-01101000000000001100101100000000
+01101000000000001100101011111110
 00100000011110100000000000000000
-00100000001000000000001101110101
+00100000001000000011110110000000
 00100000010000000010100101101100
 00100000010000000011010000010110
 00100000010000000111010010111001
-00100000001101011000000100101101
-01101000000000011100010010100011
-01100000000000011100101110110011
+00100000001101011000001011110001
 00100000010000000000000000000001
-00100000010000000000000011010111
-00100000010000000000001011111010
+11011000010000000000001001011000
+01101000000000010100011010101010
+10011000010001100000010000000000
+01100000000010010100101101011001
+00100000010000000000001011110010
+01110000010010110101000000011001
+00100000010000000000010100111100
+11011010001000000100011100100001
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101000001110110011
 01101000000000001100001000010000
-11000000000110011000000011011010
-11000000000110100000000011011101
+11000000000110011000001011110101
+11000000000110100000001011111001
 00100000011000000000000000000000
-01101000000000001100110011110100
+00100000001000000000001100010100
+01101000000000001100110010111000
 01100000000000001100000111011110
 00100000011000000000000000000000
+01110000010010110101010100000001
 01101000000000110100000111010000
 00100000001110100011001111101011
 00100000001000000100001001110100
-01110000000100011100011000010010
-00100000001000000000010111000111
+01110000010001111001111100000001
+01101000000000010100011010101000
+01101000000010001100101101100001
+00011000010001100111110011111111
+00100100001000101000001011111111
+01011000000000000000001001011000
+01110000010001111001111100000001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000011010000011000
+01101000000000011100101101100101
+01100000000000011100001101110100
+00100000010000000000001100001011
+01011000000000000000000000000100
+11100000110000001000000000000000
+11011000110000000100001110010000
+00100000010000000000010111010110
+00100000001000000111110111110100
 11011010001000000100001101110000
 11101010001000001000000000000000
 00100000011110100000000000000000
 10011000110000001010001000000000
 11101000110000001000000000000000
 11000001000000001000000000000000
-00100000001000000000000011100000
-00100000010000000000000100101101
+00100000001000000000001100001100
+01110000000100011100010101100001
+00100000001000000000011110110011
+01110000010000100001001001110110
+00100000001000000011110100110110
+00100000010000000000001100010100
 00100000010000000100000011000000
 00100000010000000100000011011001
-11000000000110000000000011101110
-11000000000110001000000011111101
+11000000000110001000001100100001
 00100000010000000100000011010001
 00100000000000000000001111101000
-00100000001000000000000011101000
-00100000010000000000001101101101
-01101000000000001100011011011110
-11000000001011010000000011110011
-11000000001010100000000011111011
-00100000001000000100000011100000
-01110000010001101110000000000111
-11011010011000000100101101111010
-11101010011000010000000000000000
-11000001011111111000000000000000
-00100000010000000110010000010011
-00100000000000000010111011100000
-00011010011000001010011000000010
-00100000001000000000000011110101
-01110000010001101110000000000010
-00100000011000000000000000000000
-00100000010000000000001101101101
+00100000001000000000001100011000
+01110000010010101111111000000001
+00100000010000000110010000001111
+00100000010000000000001100010110
+00100000001000000110010000010001
+00100000010000000000001100101110
 01101000000000001100011011011110
 11000000001110000100000011101000
 01110000010001101110000000000001
 00100000011000000000000000000000
-01110000000100011100011010000000
-00100000001000000000010111000111
+01110000010000010111001000000000
+01110000010010110110101100011110
+00100000011000000000000000000000
+01101000000000001100101101101010
+11000001100000001000000000000000
+01011000000000000000000000000000
+01100000000000001100101101101010
+01100000000000100100011010011011
+00100000010000000000001100010100
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000010111011100000
+01101000000000001100011101111010
+11000000011111111011110101100110
+00100000001000000011110110000000
+00100000010000000000001100010100
+01011000000000000000100000000110
+00100000001000000110010000010011
+01110000000100011100010110000000
+00100000001000000000011110110011
+01101000000010001100101101000011
+00100000001000000110100000100101
 01110000100000001000011001000000
 01110000100000001000011100000000
 01101000000100001000000010000001
@@ -272,199 +840,262 @@
 01111001001111111111111000000000
 01100000000100001000000001111111
 00100000011000000000000000000000
-00100000010000000000000101011101
+00100000010000000000001110101010
 00100000010000000100010000100011
 01101000000000010100011101111000
 11011000010000001010101001010101
 10011000010001100111110000000000
-00100000001000101000000101001111
+00100000001000101000001110000111
 01100000000010010100011101111000
 00100000010000000100010000011100
 01101000000000001100011011100001
 01100000000000001100011101111010
-01101000000000100100101101001110
+01101000000000100100101101010001
 01100000000000100100011101111011
-01100000000000100100110001100101
-00100000010000000000000101011101
-00100000010000000000000100101111
-00100000010000000000000101000110
-00100000010000000000000100111011
-00100000010000000000000100110010
-00100000010000000000000100000100
-11011000010000000000000000000111
-11011010001000000100101101110010
+01100000000000100100110000101001
+00100000010000000000001110011011
+00100000010000000000001110101010
+00100000010000000000001101100110
+00100000010000000000001101111110
+00100000010000000000001101101010
+00100000010000000000001101110101
+11011000010000000000000000000010
+11011010001000000100011111000010
 11011010010000000000000001011111
 01101000000000011100011100000000
 10011010010000001111111000000000
-00100000010000000000000100111011
-00100000010000000000000100110010
-00100000010000000000000101010101
-01110000010000100001001001110110
-00100000001000000011110100110110
+00100000010000000000001101101010
+00100000010000000000001101110101
+00100000010000000000001110100001
+00100000001000000000001100010100
 01101000000000011100011100000000
 01100000000000011100001000110010
 00100000010000000110010100101010
-01011000000000011000011010100000
-00100000010000000010101010001111
-00100000010000000110010100001011
-01011000000000000000000111111010
-01100000000100010000000010001100
-01011000000000000000000000000101
-00100000010000000110010011110011
-11000010100000000000000100110010
-00100000011000000000000000000000
+00100000001000000000001101110101
 00011111111000100010011000000000
 00011010001000100111111000000000
 00011111111000001111111111111100
 00011111111000100010010000000000
 11101010010000100000000000000000
-01100000000000100100101101001001
+01100000000000100100101101001100
 00011010011000100111111000000000
 00100000010000000110010101010010
-01101000000000100100101101001001
+01101000000000100100101101001100
 11100010010000100000000000000000
 00100000011000000000000000000000
+01011000000000011000011010100000
+00100000010000000010101010001111
+00100000010000000110010100001011
+01011000000000000000000111111010
+01100000000100010000000010001100
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000010100000000000001101110101
+00100000011000000000000000000000
 01011000000000000100011101111111
 11011000010000000100011100100000
 10011000010001100000010000000000
 01101000000000011100011100000000
 11011010001000000100011100100000
 00100000011000000000000000000000
-00100000010000000000000101011101
-00100000010000000000000101000110
+00100000010000000000001110101010
+00100000010000000000001101111110
 00100000001000000110010101100010
-00100000010000000000000101001100
-00100000010000000000000101100110
+00100000010000000000001110000100
+00100000010000000000001110101100
 00100000010000000100001100011010
 01101000000000100100011101111011
-01100000000000100100110001100101
+01100000000000100100110000101001
+11011111001000000000000000000011
+11011000110000000100011100100010
+00100000010000000000001110010010
+00100100001101000000001110011001
+00100000010000000000001110011011
+00100000011000000000000000000000
+00100000010000000111111111100111
+01011000000000001111111111111111
+11101000110010010000000000000000
+10011000010001100111110000000000
+00100100010000101111111111101001
+11000010000000000000001110010100
+00100000011000000000000000000000
+01110000010010110110000101011010
+00100000011000000000000000000000
+01110000010010110110000111111111
+01110000010000100001000000110100
+01011000000011110000111100001111
+01100000000000011100010010100000
+01100000000000011100010010100011
 00100000011000000000000000000000
 01110000000010101010001010111001
-00100000010000000000000100000100
-00100000010000000110100110101100
+00100000010000000000001100111100
+00100000000000000000000001100100
 00100000010000000110010100001011
-11011010001000000100101101001001
+11011010001000000100101101001100
 01101000000010001000101010100010
 00100000010000000110010101010110
-00100000001000000110100110101100
-01110000000010101010001010101011
-00100000001000000000000101010110
-01110000010010110111011101011010
-00100000011000000000000000000000
-01110000010010110111011111111111
-01110000010000100001000000110100
-01101000000000110100110110000010
-01100000000000110100010010100000
+00100000000000000000000001100100
 00100000011000000000000000000000
-00100000010000000000000101011101
-11011000010000000000000000000111
-11011010001000000100101101110010
+01110000000010101010001010101011
+00100000001000000000001110100010
+00100000010000000000001110101010
+11011000010000000000000000000010
+11011010001000000100011111000010
 11011010010000000000000001011111
 01101000000000011100011100000000
 10011010010000001111111000000000
 00100000001000000110010101100010
+01011000000000000000000000000000
+01100000000000010100110000101110
+00100000001000000000000111000000
+01101000000000001100011100100000
+11000001100000010000000000000000
+01101000000000001100101101011101
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100101101011101
+00100000001110100011010000001010
+00011111111000010111111000001111
+11000000000000101000001111011000
+11000000000001010000001111010101
+00100000011000000000000000000000
+01101000000000001100011010101100
+00100000011110100000000000000000
+01101000000000001100101101011100
+00011111111000001111111000000001
+01100000000000001100101101011100
+11000000000000101000001111100101
+11000000000001010000001111100000
+00100000011000000000000000000000
+01101000000000001100101101010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100101101010000
+01101000000000001100011100100000
+11000000000000010000001111010010
+01101000000000001100101101010000
+11000010100000001000001111100001
+00100000001000000000001111100101
+01101000000000001100101101010000
+11000010100000001000001111011000
+00100000001000000000001111010101
+01110000010010110100100100000000
+01101000000010001100101101001010
+00100000001000000000010110111101
+01110000010010110100100100000001
+01101000000100001000000001111100
+01111001001111111111111000000101
+01100000000100001000000001111100
+01101000000010001100101101001010
+00100000010000000110100000001110
+01101000000010001100101101001010
+00100000001000000110100000100101
+01110000010010110101110000000000
+01101000000010001100101101001011
+00100000010000000110100000001110
+01101000000010001100101101001011
+00100000001000000110100000101001
+01101000000010001100101101001011
+00100000001000000000010111001000
+00100000010000000000001111100101
+00100000001000000000001111010101
+01110000010010110101000000000000
+00100000011000000000000000000000
+00100000010000000100010000000001
+01101000000000010100011010011111
+00100000011110100000000000000000
+01110000010011010100000100000001
+01011000000000000000000000000000
+01100000000000010100110101000010
+00100000011000000000000000000000
 11011000110000000001100000000000
 11011000101000000100100000001010
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000110000000001100100000000
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000110000000001101000000000
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000110000000001101100000000
 11011111001000000000000000011011
 00100000001000000111111100000001
 11011000110000000100100000001010
 11011000101000000001100000000000
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000101000000001100100000000
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000101000000001101000000000
-00100000010000000000000101110101
+00100000010000000000001111111010
 11011000101000000001101100000000
-00100000001000000000000101110101
-01110000010000010111001000000000
-01110000010010110100010100011110
-00100000011000000000000000000000
-01101000000000001100101101000100
-11000001100000001000000000000000
-01011000000000000000000000000000
-01100000000000001100101101000100
-01100000000000100100011010011011
-00100000001000000000001101101101
+00100000001000000000001111111010
 00100000010000000101100010010010
 00100100011110100000000000000000
-01101000000000001100101101110111
-11000000011111111000000110010000
+01101000000000001100101101100001
+11000000011111111000010000001100
 01101000000000001100011011000101
 00011111111000010111111000000011
 11000001100000011000000000000000
-01101000000000001100011110011110
-00100000010110100000000110111000
+01101000000000001100011110011100
+00100000010110100000010001011001
 01101000000000100100011011010011
 11000010100000101100000101111001
 00100000010000000011111110010111
 00100100011101000000000000000000
-00100000010000000000000110000000
-00100000010000000000000110000011
-00100000010000000000000110110011
+00100000010000000000001100100110
+00100000010000000000001100101001
+00100000010000000000010000101111
 11011010001000000100011010011010
 00100000010000000111111000111101
-00100000010101000000000110100010
+00100000010101000000010000011110
 00100000011000000000000000000000
-01110000010001111010001000000111
-01110000010001111010001100000100
-01011000000000000100011110100010
+01110000010001111010000000000111
+01110000010001111010000100000100
+01011000000000000100011110100000
 01100000000000010100001000011000
 00100000001000000111111000111000
-01101000000000001100011111000011
+01101000000000001100011111000001
 00011111111000001111111000000001
-01100000000000001100011111000011
+01100000000000001100011111000001
 00100000011000000000000000000000
 11011010001000000100011010011010
 00100000010000000111111001010100
-00100000001101000000000110101010
+00100000001101000000010000100110
 00100000011000000000000000000000
 00100000010000000101011001010010
-01101000000000001100011111000011
+01101000000000001100011111000001
 00011111111001100111110000000001
 00100100010000010101011001010000
-01101000000000001100011111000011
+01101000000000001100011111000001
 00100000011110100000000000000000
 00011111111000001111111111111111
-01100000000000001100011111000011
+01100000000000001100011111000001
 00100000001000000011111110010000
 01101000000000010100011010011111
 00100000011110100000000000000000
 01110000010010000000011000000001
-01110000010010000000011100001010
+01110000010010000000011100000010
 00100000011000000000000000000000
-01110000010001111001111000000001
-00100000010000000101100000010100
-00100000001000000000001101101101
-01110000010010110000000000000001
-00100000001000000000000011100110
 00100000011101110000000000000000
 01101000000000001100000111100010
 00100000011110100000000000000000
 00100000010000000101001001110001
 00100100011110100000000000000000
-01101000000000001100011110011110
-00100000010110100000000110111000
+01101000000000001100011110011100
+00100000010110100000010001011001
 01101000000000100100011011010011
 11000010100000101011111110001010
 11000010100001001011111110001010
 00100000010000000011111110010111
 00100100011101000000000000000000
-00100000010000000000000110000000
-00100000010000000000000110000011
-00100000010000000000000110110011
-01101000000000001100101100000101
-11000000000000001000000111010001
-01101000000000001100101100001100
+00100000010000000000001100100110
+00100000010000000000001100101001
+00100000010000000000010000101111
+01101000000000001100101100000011
+11000000000000001000010001001000
+01101000000000001100101100001010
 00100000011110100000000000000000
 00100000001000000011111110000001
 01101000000000001100011010011010
-01100000000000001100101100000110
+01100000000000001100101100000100
 01101000000000001100011010011011
 11100000101000001000000000000000
 01101000000000001100011010011101
@@ -477,191 +1108,174 @@
 11100000101000010000000000000000
 01011000000000000000001010100001
 11100000101000010000000000000000
-01101000000000101100101100000110
+01101000000000101100101100000100
 11100000101000101000000000000000
 00100000011000000000000000000000
+01110000010001111001110000000001
+00100000010000000101100000010100
+00100000001000000000001100011101
 00100000010000000111111000110100
-00100000010000000000000111100101
+00100000010000000000010001011111
 00100000001000000011111011100000
 01101000000010001100011011100111
-00100000010000000000001111001111
+00100000010000000000010110111111
+00100000010000000000010001100100
+01101000000010001100011011100111
+00100000001000000000010111001000
 01101000000010001100011011100111
 00100000010000000110100000011101
-00100000001000001000000111110011
-00100000010000000000001111001010
+00100000001000001011110101100010
 01101000000000001100011010110110
 11000001000000000000000000000000
 01110000010001101011011000000000
 01101000000000001100011101111010
 00011111111000001111111000000001
-00011111111000010111111000000011
+00011111111001100111110000000011
+00100100010000010111111111101111
 01100000000000001100011101111010
-00100000001000000011110101111110
-00100000010000000000001111001010
-00100000001000000011110101100010
+00100000010000000011110101111110
+00100000001000000000001101011000
 00011010011000100111111000000000
-11000000000010100000001000000011
-11000000000010101000001000001110
-11000000000101001000001000010001
-11000000000110010000001000010011
-11000000001000000000001000010101
-11000000000000100000001000010111
-11000000000010011000001000010111
+11000000000010100000010010000010
+11000000000010101000010010000101
+11000000000101001000010010001001
+11000000000110010000010010001011
+11000000001000000000010010001101
+11000000000000100000010010001111
+11000000000010011000010010001111
 11000000000011001011001111011111
-11000000000100001000001000011011
-11000000000000001000001000011101
-11000000000000010000001000100011
-11000000000101011000001000100110
+11000000000100001000010010010011
+11000000000000001000010010010101
+11000000000000010000010010011000
+11000000000101011000010010011011
+11000000000111001000010010011101
+11000000000111010000010010100000
+11000000000111100000010010100100
 00100000001000000100000101111101
-00100000010000000000000110111011
-00100000010000000011010000010000
-01110000010010110111000100000001
-01101000000000001100011110100001
-00100100001110100000001000001001
-01110000010010110110111100010100
-01110000010010110111100100000000
-01110000010010110110110100000000
-00100000010000000000001010101100
-00100000010000000000000110011101
-00100000001000000100000111000011
-00100000010000000000001000101011
-01110000000100011100011010100010
-00100000001000000000010111000111
+00100000010000000000001100011101
+01110000000100011100010110110000
+00100000001000000000011110110011
+01110000010010110110100000000000
+00100000010000000000010010101001
+01110000000100011100010110100010
+00100000001000000000011110110011
 01110000000010101001100100010010
 00100000001000000111110110001111
-01110000000100011100011010110011
-00100000001000000000010111000111
-01110000000100011100011010100001
-00100000001000000000010111000111
-01110000000100011100011010100011
-00100000001000000000010111000111
-01110000000100011100011001110000
-00100000001000000000010111000111
-01110000000100011100011010110001
-00100000001000000000010111000111
-00100000010000000000001001000101
-00100000010000000000000110111011
-00100000010000000000001010101100
-00100000010000000000001011100111
+01110000000100011100010110110011
+00100000001000000000011110110011
+01110000000100011100010110100001
+00100000001000000000011110110011
+01110000000100011100010110100011
+00100000001000000000011110110011
+00100000010000000100001110001110
+00100000001000000011001110100111
+01110000000100011100010110110001
+00100000001000000000011110110011
 01110000010010000000100100000000
+00100000010000000000001100011101
 00100000001000000100001011001010
-00100000010000000000001000101011
-01110000000100011100011010110100
-00100000001000000000010111000111
-01110000000100011100011010110010
-00100000001000000000010111000111
-00100000010000000000001000101011
-01110000000100011100011010100000
-00100000001000000000010111000111
-01101000000000001100101100000000
+00100000010000000000010010101001
+01110000000100011100010110110100
+00100000001000000000011110110011
+01110000000100011100010110110010
+00100000001000000000011110110011
+00100000010000000000001100011101
+01110000000100011100010110010010
+00100000001000000000011110110011
+00100000010000000000010010101001
+01110000010010110101011000000000
+01110000000100011100010101010001
+00100000001000000000011110110011
+00100000010000000000001100011101
+00100000001000000011111110001101
+00100000010000000000010010101001
+01110000000100011100010110100100
+00100000001000000000011110110011
+01101000000000001100101011111110
 00100000011110100000000000000000
-01110000010010110000000000000000
-00100000010000000000000011100110
-01011000000000000000000000000110
-00100000010000000110010000010100
-00011111111000011111111000001000
-00011111111011010111111000000000
-00011111111000001111111000000110
-00100000001000000110010000010011
-00100000010000000000001011111111
-00100000010000000000001101011101
-00100000010000000000001010101111
-00100000010000000000001010001011
-00100000010000000000001010100010
+01110000010010101111111000000000
+00100000001000000000001100110101
+00100000010000000000010100111100
+00100000010000000000010010111110
+00100000010000000000010011100101
+00100000010000000000010100001001
 00100000010000000100001000110100
-00100000010000000000001001001011
+00100000010000000100001000111010
+00100000010000000000010011101010
+00100000010000000000010011110000
 00100000010000000100001000110111
-00100000010000000000001001110001
-00100000010000000000001001110100
-00100000010000000000001001111100
-00100000010000000000001010000011
-00100000010000000000001001101001
+00100000010000000000010011011010
+00100000010000000000010011011101
+00100000010000000000010011010010
 00100000010000000100001000110001
-00100000010000000000001001101100
-00100000001000000100001000111010
-11011000111000000000000000000111
-00100000001000000100001111001110
-01110000010010111010110100000001
-00100000011000000000000000000000
-01110000010010111010110100000000
-00100000011000000000000000000000
-01101000000000001100101110101101
-00100000001110100000001001010111
-00100000010000000000001010010011
-01101000000000001100011011011001
-11000001000000000000000000000000
-01101000000000010100011010101000
-01100000000000010100011010101110
-00011000000000000000111000000011
-01101000000000010100000010111001
-00100000010000000111111100001000
-01110000010001101101100100000000
-00100000011000000000000000000000
-01101000000000001100011011011001
-11000001000000001000000000000000
-01101000000000001100101101001000
+00100000010000000000010011010101
+00100000010000000000001111000001
+00100000010000000000001110110110
+00100000001000000000001111001001
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000001100011010101110
+00100100001110100000001111010101
+01101000000000001100011010101100
+00100100001110100000001111010101
+01101000000000001100101101010000
+00100100001110100000001111010101
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
 00011111111001100111110000010100
-00100100010000010000001001100000
-01101000000000001100011010000101
-01100000000000001100101101001000
-01110000010001101101100100000001
+00100100010000010000010011010000
+11000000000000010000001111011000
+11000000000000100000001111010101
+11000000000000110000001111011000
+11000000000001000000001111010101
 00100000011000000000000000000000
-01101000000010001100011100100000
-00011000010000001000010000000001
-01101000000000001100011011010010
-10011000010001100111110000000000
-00100100010000010100001111001100
-01100000000010001100011100100000
-01110000010000011011110100000000
-00100000010000000000000100011111
-00100000001000000100001101111000
+01110000010001101100111100000001
+00100000001000000000001111010101
 11011010011000000100100000001001
 11011010010000000110001101111010
 00100000001000000011001101101101
-11011010011000000100101100001011
-11011010010000000000001001101111
+11011010011000000100101100001001
+11011010010000000000010011011000
 00100000001000000011001101101101
-01110000010010110000110000000001
+01110000010010110000101000000001
 00100000011000000000000000000000
 11011010011000000100011011000110
 11011010010000000011110101100000
 00100000001000000011001101101101
-01101000000000001100101101110001
-00100000011110100000000000000000
-11011010011000000100101101101111
-11011010010000000000001001111001
-00100000001000000011001101101101
-01101000000000001100101101110000
-00100100011110100000000000000000
-00100000001000000101101111110101
-11011010011000000100101101000101
-11011010010000000000001001111111
-00100000001000000011001101101101
-01101000000000001100011111000101
-01100000000000001100000101110010
-01110000010010110100010000000001
-00100000011000000000000000000000
-01101000000000001100101101110111
+01101000000000001100101101100001
 11000001111111111000000000000000
-01101000000000001100101101110001
+01101000000000001100101101101000
 00100100011110100000000000000000
-11011010011000000100101110110110
-11011010010000000000001010001010
+11011010011000000100101101101001
+11011010010000000000010011100100
 00100000001000000011001101101101
-00100000001000000000001111100001
+00100000001000000000010111010011
 11011010011000000100100000000111
-11011010010000000000001010001110
+11011010010000000000010011101000
 00100000001000000011001101101101
 01110000010010000000011000000000
 00100000011000000000000000000000
-11011000111000000000000000001001
-00100000010000000100001111010010
-00100000001000000100001111001010
-11011010011000000100101101001000
-11011010010000000000001010010110
+11011010011000000100101101101011
+11011010010000000000010011101101
 00100000001000000011001101101101
-01101000000000001100011100100000
-11000001000000010000000000000000
+01101000000000001100011111000101
+01100000000000001100000101110010
+00100000001000000000010011110101
+11011010011000000100101101101100
+11011010010000000000010011110011
+00100000001000000011001101101101
+01011000000011101010011000000000
+01100000000000011100110000110000
+01110000010010110110101000000001
+00100000011000000000000000000000
+11011010011000000100101101000100
+11011010010000000000010011111010
+00100000001000000011001101101101
+01101000000010001100011100100000
+01101000000000001100011100000011
+10011000010001100111110000000000
+00100000011000101000000000000000
 01101000000000010100011010000010
 00101111111011111111111000001011
 00100000010000001100001011010100
@@ -669,171 +1283,114 @@
 00101111111011111111111000000111
 00100000010000001100001110010010
 00100000001000000100001110111000
-01101000000000010100011010000111
-01100000000000010100011010101100
+01110000010010110110000000000001
 00100000011000000000000000000000
-01101000000000001100011110011111
-00100000011110100000000000000000
-11011010011000000100011110100000
-11011010010000000000001010100111
-00100000001000000011001101101101
-01110000010001111001111100000000
-00100000001000000011010000001010
-01110000010001111001111100000001
-01110000010001111010000000101000
-00100000011000000000000000000000
-01110000010001111001111100000000
-01110000010001111010000000000000
-00100000011000000000000000000000
-01101000000000001100101100100110
-00100000011110100000000000000000
-01101000000000001100101100101001
-11000000000000001000001011000100
-00100000010000000000001011010001
-01101000000000001100101100101110
-00011111111000001111111000000001
-01100000000000001100101100101110
-01101000000010001100101100101010
-10011000010001100111110000000000
-00100000010000101000001010111011
-00100000011000000000000000000000
-01110000010010110011000000000000
-00100000001000000000001011101101
-01110000010010110010101100000101
-01110000010010110010111100000000
-01110000010010110010110100000001
-01110000010010110010110000000101
-01110000010010110010011000000001
-01110000010010110010100100000001
-00100000011000000000000000000000
-11011010011000000100101100101100
-11011010010000000000001011000111
-00100000001000000011001101101101
-01101000000000001100101100101011
-01100000000000001100101100101100
-01101000000000001100101100101111
-00100000001110100000001011001111
-01101000000000001100101100101101
-00100000001110100000001011101011
-00011111111000001111111111111111
-01100000000000001100101100101101
-01101000000000001100101100101000
-11000000000000001000001011101101
-01110000010010110010100000000001
-01101000000000001100101100101110
-00100100001110100000001011011010
-01101000000000001100101100110000
-00100100001110100000001011011010
-01101000000000001100101100101001
-00100100001110100000001011011010
-01101000000000001100001000110001
-11000010100000000000001011011111
-01101000000010001100101100100111
-01111001001000000000010000000111
-00100000010000000110100000001110
-01101000000010001100101100100111
-00100000001000000110100000101001
-01110000010010111011000100000001
-01101000000100001000000001111100
-01111001001111111111111000000101
-01100000000100001000000001111100
-01101000000010001100101110101110
-00100000010000000110100000001110
-01101000000010001100101110101110
-00100000001000000110100000100101
-01101000000000001100101100101110
-00100100011110100000000000000000
-01101000000000001100101100110000
-00100100011110100000000000000000
-01011000000000000000000000000000
-01100000000000011100101100101100
-01101000000000001100101100101101
-00100100001110100000001011110001
-01110000010010110010011000000000
-01110000010010110010100100000000
-01110000010010110010111000000000
-01110000010010110010100000000000
-01101000000000001100101100100111
-11000001011111111000000000000000
-01101000000010001100101100100111
-00100000010000000000001111001010
-01110000010010111011000100000000
-01101000000010001100101110101110
-00100000001000000000001111010101
-01110000010010110011000000000001
-01110000010010110010011000000001
-01110000010010110010100100000000
-01110000010010110010111000000000
+01110000010010110110000000000000
 00100000011000000000000000000000
-01101000000000010100101100101101
-00100100011110100000000000000000
-01101000000000001100011011001110
-00011111111000001111111000000001
-01100000000000001100011011001110
-00011111111001100111110000001010
-00100000010000010000001100010011
-00100100010000010000001100010111
-00100000010000000110100010101000
-00100000010000000000001100110011
-00100000010000000110100100001000
-01100000000000010100011100001111
-11011010001000000100011100001001
-00100000010000000000001100111010
-01101000000000001100001000110001
-11000010100000010000001001000111
-11000010100000001011010000001010
-11000011000000000000001100101110
-01110000010010101111111100000001
-00100000001000000100001111100111
-01101000000000001100101110110001
-00100100001110100000001100010111
-01110000010000100010110100000010
+01101000000000001100101101100000
+00100000001110100000010100010101
+00100000010000000000010011110111
+01101000000000001100011011011001
+11000001000000000000000000000000
+01101000000000010100011010101000
+01100000000000010100011010101110
+00011000000000000000111000000011
+01101000000000010100000010111001
+00100000010000000111111100001000
+01110000010001101101100100000000
 00100000011000000000000000000000
-01110000010001101100111000000000
-01110000010000100010110100000000
+01101000000000001100011011011001
+11000001000000001000000000000000
+01101000000000001100101101000100
+00011111111001100111110000010100
+01101000000000001100011010000101
+01100000000000001100101101000100
+01110000010001101101100100000001
 00100000011000000000000000000000
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000000001101011000
+01101000000000100100011011010011
+11000001000001001000000000000000
+00100000001000000100001101111110
 01101000000000001100001000101101
-11000000000000010000001100011101
+11000000000000010000010100101011
 00100000001000000110100100001010
 01101000000000010100001000100011
 01101000000010010100001000011101
 11011010011000000000000000110010
-00100000001000000000001100100001
+00100000001000000000010100101111
 10011000010001100010001000000000
 01101000000000010100001000101111
 10011000010001100111111000000000
-00100100001000010000001100100110
+00100100001000010000010100110100
 00100000001000000110100100011110
 00011000010000100111111000000000
 01101000000010010100001000101111
 10011000010001100111111000000000
 10011010001001100111110000000000
-00100000010000010000001100101100
+00100000010000010000010100111010
 00100000001000000110100100101010
 00011010001000100111111000000000
 00100000011000000000000000000000
+01101000000000001100011011001110
+00011111111000001111111000000001
+01100000000000001100011011001110
+00011111111001100111110000000101
+00100000000000000000000001100100
+00100000010000010000010101001110
+00100100010000010000010101010010
+00100000010000000110100010101000
+00100000010000000000010101011101
+00100000010000000000010100101000
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000000010101100111
+01101000000000001100001000110001
+11000010100000010000010100000101
+11000011000000000000010101010101
+01110000010010101111110100000001
+00100000001000000100001111100111
+01101000000000001100101101001001
+00100100001110100000010101010010
+01110000010000100010110100000010
+00100000011000000000000000000000
+01110000010001101100111000000000
+01110000010000100010110100000000
+00100000011000000000000000000000
 00100000010000000100001111101001
-01101000000000001100101011111111
+01110000010001101100111100001100
+01101000000000001100101011111101
 00100000011110100000000000000000
-01110000010010101111111100000000
-00100000001000000000001011110111
+01110000010010101111110100000000
+01101000000000001100011011101111
+01100000000000001100011100010101
+00100000001000000100001010010110
 01101000000000001100001000101101
-11000000000000010000001100110110
+11000000000000010000010101100000
 00100000001000000110100011101100
 01101000000100001000000001111100
 01111001001111111111111000000101
 01100000000100001000000001111100
-00100000001000000110100011110100
+01110000100010010111000110001111
+01101000000000001100001000101110
+01100000000100001000100101110011
+00100000001000000110100011111000
 11101010001001000000000000000000
 01100000000001000000101010011010
 01101000000000001100001000101101
-11000000000000010000001101001011
-11000000000000000000001100111111
+11000000000000010000010101111000
+11000000000000000000010101101100
 01101000000000010000101010100000
 01101000000010010000101010011100
 10011000010001100111110000000000
 00100100001000010110100101000100
-00100000010000000000001101010001
+00100000010000000000010101111110
 01101000000010010000101010011110
 10011000010001100111110000000000
 00100100001000010110100101000000
@@ -841,12 +1398,12 @@
 01111001001111111111111000000000
 01100000000000001100001000110001
 00100000011000000000000000000000
-01101000000010010100101110101011
+01101000000010010100101101011110
 01101000000000010000101010100000
 10011000010001100111110000000000
-00100100001000010000001101010101
-00100000010000000000001001001001
-00100000001000000000001101011001
+00100100001000010000010110000010
+00100000010000000000010100000111
+00100000001000000000010110000110
 01101000000010001100001000110001
 01111001001111111000010000000001
 01100000000010001100001000110001
@@ -859,146 +1416,94 @@
 01111001001111111000010000000010
 01100000000010001100001000110001
 00100000011000000000000000000000
-01101000000000100100011011010011
-11000100000000100000000000000000
-01101000000000010100011010000010
-11000011100001011000000000000000
-11000011100000110000000000000000
-01101000000000010100101100101101
-00100100011110100000000000000000
-01101000000000001100011011001111
-00011111111000001111111000000001
-01100000000000001100011011001111
-11000000000000101000001011010001
-00011111111001100111110000001010
-00100100001000010000001101101011
-00100000011000000000000000000000
-01110000010001101100111100000001
-00100000001000000000001011101101
-00100000010000000000000100101101
-01011000000000001000000000000110
-00100000010000000110010000010011
-00100000000000000010111011100000
-01101000000000001100011101111010
-11000000111111111000001101110101
-01101000000000001100011011100001
-01100000000000001100011101111010
-01101000000000001100011101111010
-00011111111001100111110000000001
-00100000010000101000001110000010
-01101000000000001100011101111010
-11000000000000000000001110000100
-11000000000000011000001110001010
-01101000000000001100011011100000
-11000000000000110000001110010000
-11000000000000111000001110010000
-11000000000000010000001110010110
-01101000000000001100011110000001
-01100000000000001100011010110101
-00100000001000000011110111000001
-01110000010001110111101000000010
-00100000011000000000000000000000
-01101000000000001100011011100000
-11000000000000110000001110010010
-11000000000000111000001110010010
-11000000000000010000001110011001
-01101000000000001100011101111111
-00100000001000000000001110000000
-01101000000000001100011011100000
-11000000000000110000001110010100
-11000000000000111000001110010100
-11000000000000010000001110011011
-01101000000000001100011110000010
-00100000001000000000001110000000
-01101000000000001100101100111010
-00100000001000000000001110000000
-01101000000000001100101100111000
-00100000001000000000001110000000
-01101000000000001100101100111011
-00100000001000000000001110000000
-01101000000000001100101100111010
-00011111111000001111111000000011
-00100000001000000000001110000000
-01101000000000001100101100111000
-00100000001000000000001110010111
-01101000000000001100101100111011
-00100000001000000000001110010111
 01111000010101000111110000000000
 01011000000000000000000000000000
 01100000000000110100011010011011
-00100000010000000000001111010111
+00100000010000000011111110110101
 00100000010000000100000001111001
 00100000010000000100000001111110
-00100000010000000000001110100111
-00100100001101000000010111110001
-00100000010000000000010111101000
+00100000010000000000010110010011
+00100100011101000000000000000000
 00100000001000000011111110100000
-00100000010000000000001110101001
+00100000010000000000010110010101
 00100000001000000100000010011010
 11011010001000000000000000000000
-00100000010000000000001110101111
-00100000010000000000001110101101
+00100000010000000000010110011111
+00100000010000000000010110100101
+00100000010000000000010110101011
+00100000010000000000010110011011
 00100000001000000100000010001110
-00100000010000000000001110111111
-00100000001000000000001111000101
+01101000000000001100011011100101
+11000001011111111000000000000000
+00100000010000000000010110110001
+00100000001000000000010110110111
 01101000000010001100011011100010
-00100000010000000000001111001010
+00100000010000000000010111001000
 01101000000010001100011011100010
 00100000010000000110100000011101
 01111001001000001010001000000000
+00100000011000000000000000000000
 01101000000010001100011011100011
-00100000010000000000001111001010
+00100000010000000000010111001000
 01101000000010001100011011100011
 00100000010000000110100000011101
 01111001001000001010001000000001
+00100000011000000000000000000000
 01101000000010001100011011100100
-00100000010000000000001111001010
+00100000010000000000010111001000
 01101000000010001100011011100100
 00100000010000000110100000011101
 01111001001000001010001000000010
 00100000011000000000000000000000
 01101000000010001100011011100101
-00100000010000000000001111001111
+00100000010000000000010110111111
 01101000000010001100011011100101
 00100000010000000110100000011101
 01111101001000001010001000000011
-00100000001000000000001111001010
+00100000001000000000010111001000
 01101000000010001100011011100110
-00100000010000000000001111001111
+00100000010000000000010110111111
 01101000000010001100011011100110
 00100000010000000110100000011101
 01111101001000001010001000000100
-01111001001000000000010000000111
-11011000101000001000000001111000
-00100000010000000110100000110000
+00100000001000000000010111001000
 01111001001111111000010000000111
-00100000001000000000001111010011
+00100000001000000110100000000110
 01111001001111111000010000000111
 11011000101000001000000001111000
 00100000010000000110100000110000
 01111001001000000000010000000111
 11011000101000001000000001111100
-00100000001000000110100000001010
+00100000010000000110100000110000
 01111001001111111000010000000111
-00100000001000000110100000000110
-00100000010000000011111111000000
-01111000010101000111110000000000
-00100000001000000011111111100111
-00100000010000000000001010101100
-01110000010001101011010000000000
-01101000000000001100101101111001
-00100000010110100100001110000110
-01011000000000000000000000000000
-01100000000000010100011010110000
-00100000001000000100001001101111
-01110000000100011100011000110000
-00100000001000000000010111000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+00100000001000000000010111000011
+01110000010010110101000000000000
+00101000000011111111111000100110
+00100000010000001000000111001101
+00100000001000000100001001101101
+01110000000100011100010110000001
+00100000001000000000011110110011
+01110000010010110101110000000000
+01110000000100011100010101010000
+00100000001000000000011110110011
 11011000101000000100001101111011
 11011111001000000000000000010011
 00100000010000000111111100000001
 00100000001000000101011110111000
-00100000010000000000001011100111
-00100000010000000000001101101101
+01011000000000000000000000000000
+01100000000000010100011010101100
+01100000000000001100101101011011
+01100000000000001100011100010100
+01100000000000001100101101011100
+01110000010010110100011100000101
+00100000010000000000001111100101
+00100000010000000000001100101110
 00100000001000000100001011001011
 01101000000000001100010100001111
 00011111111000001111111000000001
@@ -1006,7 +1511,7 @@
 11000000000001100101001110010101
 00100000010000000101010110101010
 00100000010000000101011000011110
-00100000010000000000010101101001
+00100000010000000000011101010110
 00100000001000000101001110001111
 01101000000000001000000000010110
 00011111111000001111111000000001
@@ -1015,36 +1520,38 @@
 01110000000000000001011000100101
 00100000011000000000000000000000
 00100000010000000010100110111011
-00100000010000000000000001101100
+00100000010000000000000001101011
 00100000001000000101010010100011
-01110000000100011100011000100000
-00100000001000000000010111000111
-01110000000100011100011000100001
-00100000001000000000010111000111
+01110000000100011100010101000000
+00100000001000000000011110110011
+01110000000100011100010101000001
+00100000001000000000011110110011
 01101000000000001000010001010110
-11000010100000101000010000011111
-00100000010000000000010101100011
+11000010100000101000011000001100
+00100000010000000000011101001000
 01101000000000001100011110001110
-00100100001110100000010000001001
+00100100001110100000011000000010
 01101000000000001000010000111111
-11000011000000100000010000001101
+11000011000000100000011000000110
 01101000000000001000001011011010
-00100000001110100000010000001101
+00100000001110100000011000000110
 00100000001000000101011001100100
 01101000000000001100011110001110
 00011111111000001111111111111111
 01100000000000001100011110001110
 00100000001000000101011001100100
 01101000000000001100010011000100
-11000000100000101000010000010000
+11000000100000101000011000001001
 01110000010001111000111000000011
 00100000010000000101100010010010
-00100000010110100000000110100110
+00100000010110100000010000100010
 00100000001000000101011000100010
+00100000010000000000011000001110
+00100000001000000000011000011010
 01101000000000001100011011000101
 00011111111000010111111000000011
 11000001100000011000000000000000
-01101000000000001100011111000011
+01101000000000001100011111000001
 00100000011110100000000000000000
 01101000000000001100001111011101
 00100000011110100000000000000000
@@ -1053,21 +1560,13 @@
 01100000000000001100001111011100
 00100000010000000101011001010000
 00100000011000000000000000000000
-00100000010000000000010000010011
-01101000000000001100110101110110
-00011111111001100111110000000010
-00100100010000010000010101100111
-01101000000000001100110101110110
-11000001000000000000000000000000
-00011111111000001111111111111111
-01100000000000001100110101110110
-00100000011000000000000000000000
-01101000000000001100011110100001
+00100000001000000000011101001100
+01101000000000001100011110011111
 00100000011110100000000000000000
 01101000000000001100011011000101
 00011111111000010111111000000011
 11000001000000011000000000000000
-01110000010001101100011000000010
+01110000010001101100011000000001
 00100000011000000000000000000000
 11000110000001111000000000000000
 00100000010000000101100010010000
@@ -1082,37 +1581,29 @@
 00011000110000100111111000000000
 01100000000000010100010100001101
 01101000000000001100010100001100
-11000000000000011000010000111110
+11000000000000011000011000110001
 00100000001000000101011010001101
 01101000000000001000001011011011
-11000000000000000000010001000010
-11000000000000001000010001001001
+11000000000000001000011000110100
 00100000001000000101110001100101
-00100000010000000101110001111011
-01101000000000001100101101100011
-00100000011110100000000000000000
-01101000000000001100001111011000
-01100000000000001100000101110010
-01100000000000001100011111000101
-00100000011000000000000000000000
 11101000110000101000000000000000
 01100000000000101100001111001110
 11101000110000010000000000000000
 01100000000000010000010001011111
 00100000001000000101110010001010
 11101000110000010000000000000000
-11000000000000100000010001010010
-11000000000000110000010001111110
+11000000000000100000011000111101
+11000000000000110000011001101010
 00100000001000000101011010011000
 00100000010000000111111010100101
-00100000010000000000010000101000
+00100000010000000000011000011011
 00100000010000000111111010011111
 11101000110000011000000000000000
 01100000000000011000010001110111
-11000000000010000000010001100001
+11000000000010000000011001001100
 00011111111011001000010000000000
 00011000010001100111110000100100
-00100000001000010000010001101111
+00100000001000010000011001011010
 11011000010000000100011111000110
 01100000000010010100010010111100
 00100000010000000101100010101101
@@ -1133,32 +1624,30 @@
 01011000000000000000000000101011
 11100000110000010000000000000000
 00100000011000000000000000000000
-11000000000001010000010001110001
+11000000000001010000011001011100
 00100000001000000101100010101101
 01101000000010010000010001111000
 01101000000000001100010011101001
-11000010100000011000010001111000
+11000010100000011000011001100011
 01101000000000010000010001111000
 11000000000010011101101001110110
 01101000000010010000010001111000
 00100000001000000101100110111111
 01101000000000010100010011111010
 10011000010001100111110000000000
-00100100001000101000010001110100
+00100100001000101000011001011111
 00100000010000000101101001000010
-00100100001101000000010001110100
-00100000001000000101100111100010
+00100100001101000000011001011111
+01110000000001000111101000000101
+00100000001000000101101001110111
 11101000110000001000000000000000
-11000000000000001000010010000010
-11000000000000101000010010000100
+11000000000000101000011001101101
 00100000001000000101101011110101
-01110000010010110111000000000001
-00100000001000000101101100001001
-01110000000100011100011010000010
-00100000001000000000010111000111
+01110000000100011100010110000010
+00100000001000000000011110110011
 01101000000000001000000000010110
 11000000100100111101011011110010
-00100000010000000000010010001100
+00100000010000000000011001110101
 11011000111000000000000000000000
 01101000000000010100010010000010
 00100000001000000111111100001000
@@ -1168,7 +1657,7 @@
 00011111111000001111111011111010
 00100000001000000011110010111110
 01111000010101011111110000000000
-00100000001101110000010010010100
+00100000001101110000011001111101
 00100100001101101101100000000110
 00100000010000000010101111001011
 01101000000000010100000011000001
@@ -1177,8 +1666,12 @@
 00101111111000000000011000000011
 00100100001000001010101111011110
 00100000001000000101011111111011
-01110000000100011100011000100010
-00100000001000000000010111000111
+01101000000000001100011110011111
+00100100011110100000000000000000
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+00100000001000000011110101100000
 01101000000100001000000001110111
 00011111111000010111111011111101
 01100000000100001000000001110111
@@ -1188,7 +1681,7 @@
 00100000010000000110001111101110
 00011000010000010000010011111101
 00100000000000000000000000001101
-00100000010000000000010010101010
+00100000010000000000011010010111
 01100000000110001000000001110011
 00100000011000000000000000000000
 00100000010000000110010011011101
@@ -1198,8 +1691,8 @@
 01111001001111111111111000000011
 01100000000100001000000010000001
 00100000011000000000000000000000
-01110000000100011100011000000000
-00100000001000000000010111000111
+01110000000100011100010100000000
+00100000001000000000011110110011
 00100000010000000010000111001001
 00100100011101000000000000000000
 01111000010101000111110000000000
@@ -1208,41 +1701,45 @@
 01111001001111111000000000101101
 00100000010000000010101001001111
 00100000010000000010001011100110
-11000101000001011000010010111111
+11000101000001011000011010101100
 00100000010000000010010001010101
-00100100001110100000010010111000
-11000101000101101000010011001000
+00100100001110100000011010100101
+11000101000101101000011010110100
 00100000001000000010000111101100
 00100000010000000010101001001101
 11011000001000000000000000010000
 00100000010000000010001011011100
 01111001001000000000000000101101
 01111001001111111000000000001011
-01101000000000001000000001110111
-10011000000000000000100000000000
+00011000000000000000100000000001
 01110000000000000001000100000010
-00100000001000000000010010111000
+00100000001000000000011010100101
 01101000000000100000000101100101
 00011111111000001111111000001000
 01100000000000100000000101100101
 00100000001000000010000111111000
 11000101000101100010011001001101
 00100000001000000010010110001111
-01110000000100011100011000100011
-00100000001000000000010111000111
+00100000010000000011001110101111
+00100000010000000010011011101001
+01110000000010101001100100000010
+00100000010000000111110110000110
+00100000010000000101110011110111
+00100000010000000100110101101011
+00100000001000000010010001101110
 01101000000000001000000000110000
 00101111111011111111111000000000
-00100000010000001000010011010100
+00100000010000001000011011000101
 00100000001000000010010010001010
 01101000000000001000000001000111
 00101111111011111111111000000011
-00100000010000001000010000100000
-00100100010000001000010101100011
-00100000001000000000010101101001
+00100000010000001000011101001100
+00100100010000001000011101001000
+00100000001000000000011101010110
 00100000010000000010010011110000
 00100100001011000010100011111001
 00100000010000000010100110111011
-00100000010000000000000001101100
+00100000010000000000000001101011
 00100000001000000010010100011000
 11000110000100110000000000000000
 00100000010000000010101011111010
@@ -1250,8 +1747,11 @@
 00100000011110100000000000000000
 01101000000000001100000010010001
 00100000011110100000000000000000
+01101000000000001100011011001111
+00011111111001100111110000001010
+00100000011000010000000000000000
 01101000000000001100011001011010
-00100000001110100000010011101000
+00100000001110100000011011011100
 01101000000000001100010110110001
 00100000011110100000000000000000
 01101000000000001100010011000000
@@ -1278,75 +1778,60 @@
 11000101100001101010101111011110
 00100000010000000101001001110100
 00100100001110100010101111011110
-00100000010110100000010100000010
+00100000010110100000011011110110
 00100000001000000010101110111110
 01110000000000001000101000000001
 01110000000000001000101100000000
 00100000011000000000000000000000
-01110000000100011100011000000001
-00100000001000000000010111000111
-01110000000100011100011000000010
-00100000001000000000010111000111
+01110000000100011100010100010000
+00100000001000000000011110110011
+01110000000100011100010100010001
+00100000001000000000011110110011
 01101000000000001000010101010010
 01100000000000001000010011001001
-11000000000010011000010100001101
+11000000000010011000011100000001
 00100000001000000101110110110100
 00100000010000000101110111001111
-01110000010010110000000100000001
-01101000000000001100101100000011
+01110000010010101111111100000001
+01101000000000001100101100000001
 00100000011110100000000000000000
-01110000010010110000001100000010
+01110000010010110000000100000010
 00100000011000000000000000000000
-01111000010101000111110000000000
-00100000010000000110001011000001
-01101000000000001000000001001000
-00100000011110100000000000000000
-11000010100000111000010100011100
-11000000000000011000010100011110
-11000000000110001000010100100000
-11000000000010111000010100100010
-00100000001000000110000000010000
-01110000000100011100011000010000
-00100000001000000000010111000111
-01110000000100011100011000010001
-00100000001000000000010111000111
-01110000010010110000001100000001
-00100000001000000110000111000011
-01110000010010110000101100000100
-00100000001000000110000110100100
+01110000000100011100010100100000
+00100000001000000000011110110011
 00100000010000000110001010111100
 00100100011110100000000000000000
 01101000000000001000000001010101
 00100000011110100000000000000000
-11000000000000100000010101000110
-11000000000010000000010100101011
+11000000000000100000011100101011
+11000000000010000000011100010000
 00100000001000000110001100100000
 01101000000000001100010101011011
 11000001000000000000000000000000
-11000000000000001000010100101111
+11000000000000001000011100010100
 00100000001000000110001101011111
 00100000011101001000000000000000
 01101000000000001000000101101101
-11000010100000000000010100110011
+11000010100000000000011100011000
 00100000001000000110001110011001
-01101000000000001100101100000011
+01101000000000001100101100000001
 11000000000000001110001110011101
 01101000000000001100000110111101
 00100000001110100110001110101001
 01101000000000001000010011010001
 11000100000000011000000000000000
 11000100000000010000000000000000
-01101000000000001100101100000010
+01101000000000001100101100000000
 00100000011110100000000000000000
-01110000010010110000001000000000
+01110000010010110000000000000000
 01101000000000100000010011101001
 11011000010000000000000000010100
 10011000010000001000010000000000
 00011100010000100111111000000000
 10011000010001100111110000000000
-00100100001000010000010101000100
+00100100001000010000011100101001
 00100000001000000110001101001001
-01110000010010110000001000000001
+01110000010010110000000000000001
 00100000011000000000000000000000
 01110000010010000000100100010100
 00100000001000000110001101101111
@@ -1354,13 +1839,16 @@
 00100100001110100111110111011011
 01101000000000001000101010011001
 11000101100001001111110111010110
-11000000000011111000010101010000
-11000000000100000000010101010011
-11000000000010010000010101011101
+11000000000011111000011100111000
+11000000000100000000011100111011
+11000000000010010000011100110101
 00100000001000000111110111001010
+00100000010000000101100010010000
+00100100011110100000000000000000
+00100000001000000101101010111111
 01110000000000011000010100110100
 01101000000000110000010001001111
-00100000001000000000010101010101
+00100000001000000000011100111101
 01110000000000011000010100110011
 01101000000000110000000001000000
 01100000000000110000000110000110
@@ -1370,59 +1858,64 @@
 00100000010000000100001111010010
 00100000010000000100001011101000
 00100000010000000100001011111011
-00100000001000000000000100011111
-00100000010000000101100010010000
-00100100011110100000000000000000
-00100000001000000101101010111111
-01110000010011010111100100000001
-01110000010011010111011000000000
+00100000001000000000001101011000
+01110000010011010011110100000001
+01110000010011010011101000000000
 00100000011000000000000000000000
-01101000000000001100110101110110
+01101000000000001100110100111010
 00011111111000001111111000000001
-01100000000000001100110101110110
+01100000000000001100110100111010
 00100000011000000000000000000000
-01110000010011010111011000000011
+01101000000000001100110100111010
+00011111111001100111110000000010
+00100100010000010000011101010100
+01101000000000001100110100111010
+11000001000000000000000000000000
+00011111111000001111111111111111
+01100000000000001100110100111010
+00100000011000000000000000000000
+01110000010011010011101000000011
 00100000011000000000000000000000
 01101000000000010100011010000010
 11000011100001011000000000000000
 11000011100000111000000000000000
 11000011100000110000000000000000
-11011010001000000100110011111111
-00100000010000000000000010011011
-01100000000010001100110101110111
+11011010001000000100110011000011
+00100000010000000000001010101000
+01100000000010001100110100111011
 01011000000000000000000010000010
-11000101000100110000010101110011
+11000101000100110000011101100000
 01011000000000000000000010000000
 10011000010001100111110000000000
-00100100001000010000010110001011
-01101000000000001100110101110110
+00100100001000010000011101111000
+01101000000000001100110100111010
 00011111111001100111110000000010
-00100100001000010000010101111011
-01101000000000001100110101110110
-11000000000000000000010110001100
-00100000011000000000000000000000
-01101000000000001100110101110110
-11000001100110010000000000000000
-01110000010011010111011000000000
-01101000000010001100110101110111
+00100100001000010000011101101000
+01101000000000001100110100111010
+11000000000000000000011101111001
+00100000011000000000000000000000
+01101000000000001100110100111010
+11000001100100000000000000000000
+01110000010011010011101000000000
+01101000000010001100110100111011
 01011000000000000000000001110111
-11000101000100110000010110000010
+11000101000100110000011101101111
 01011000000000000000000001110101
 10011000010001100111110000000000
 00100100011000010000000000000000
-01101000000000001100110101111001
-11000000000000000000010110010011
+01101000000000001100110100111101
+11000000000000000000011110000000
 00011111111000001111111111111111
-01100000000000001100110101111001
-11000000000000000000010110010011
+01100000000000001100110100111101
+11000000000000000000011110000000
 01110000010000011101111000000000
 00100000011000000000000000000000
-01110000010011010111011000000000
-01101000000000001100110101111001
-11000000000000010000010110010001
+01110000010011010011101000000000
+01101000000000001100110100111101
+11000000000000010000011101111110
 00011111111000001111111000000001
-01100000000000001100110101111001
-11000000000000001000010110001001
+01100000000000001100110100111101
+11000000000000001000011101110110
 01110000010000011101111000000010
 00100000011000000000000000000000
 01110000010000011101111000000100
@@ -1443,23 +1936,20 @@
 00100000000000000000000000001010
 01110000100010010000001001111101
 01101000000000001100000111011110
-11000000000000010000010110101101
-11000000000000100000010110110101
-11000000000100000000010110111111
-00100000010000000000010110111010
+11000000000000010000011110011010
+11000000000000100000011110011111
+11000000000100000000011110101110
+00100000010000000000011110100100
 01110000100010010101010111010000
 01110000100010010101011011100000
 01110000100010010101100001101100
 00100000001000000010100101001011
-01110000100010010100110011111011
-01110000100010010100110111101111
-01110000100010010100111011101100
-01110000100010010100111101011110
+00100000010000000000011110101001
 01110000100010010101010111010000
 01110000100010010101011011100000
 01110000100010010101100000111100
 00100000001000000010100101010011
-00100000010000000000010110111010
+00100000010000000000011110100100
 01110000100010010101010111010000
 01110000100010010101011011000000
 01110000100010010101100001101100
@@ -1469,539 +1959,49 @@
 01110000100010010100111000101100
 01110000100010010100111101000110
 00100000011000000000000000000000
+01110000100010010100110011111011
+01110000100010010100110111101111
+01110000100010010100111011101100
+01110000100010010100111101011110
+00100000011000000000000000000000
 01110000100010010101011011000010
 01110000100010010101010111010000
 00100000011000000000000000000000
 00011000000000000010101000001000
 00100000001000000010100011111010
-00100000010000000010100101111000
-01110000100000000100001000000101
-00100000011000000000000000000000
-01101000000010001001000111000110
+01101000000010001001000111000101
 00011000010100011000010000000000
-01101000000000001100101101010100
+01101000000000001100101101101101
 10011000010001100111110000000000
-00100000001000101000010111100110
-01100000000010001100101101010100
+00100000001000101000011111010010
+01100000000010001100101101101101
 00011000010000001000010000000001
 01011000000000000000000100000000
 10011000010011111000010000000000
-01101000000000011100101101010101
+01101000000000011100101101101110
 10011000010001100111111000000000
-01101000000010011100101101011000
+01101000000010011100101101110001
 10011000010000001111111000000000
 00011111111000001111111111111011
-01100000000000011100101101011011
-00100000010000000000000101011101
-01101000000000011100101101011011
+01100000000000011100101101110100
+00100000010000000000001110101010
+01101000000000011100101101110100
 11011000010000000000000100000000
 11011010001000000001111100000000
 00100000010000000110010101100010
 01101000000000100001111100000000
-01101000000010100100101101011110
+01101000000010100100101101110111
 10011000010001100111110000000000
-00100100001000101000010111010111
-00100000010000000000000100101101
+00100100001000101000011111000011
+00100000010000000000001100010100
 01011000000000000001111100000000
 01100000000000010100000110011001
 01110000010000011001101101000000
 00100000010000000110010011001010
 01011000000000000000000000000000
 01100000000000100100000110011001
-01101000000000001001000111000110
+01101000000000001001000111000101
 00100000001000000000000000000001
-01101000000000100100011010011011
-00100000011110100000000000000000
-00100000010000000000011000111011
-01011000000000000000000000000110
-00100000010000000000011000101110
-01011000000000000000000000000011
-00100000010000000000011000110100
-01101000000000001100101100001101
-11000000000000001000010111110100
-11011111001000000000000000000101
-11011000101000000100101100001101
-00100000001000000111111011010100
-01101000000000010100101100001110
-01100000000000010001000110111110
-01101000000000010100011010011011
-01100000000000010001000111000000
-00100000010000000000011000000111
-01101000000000010001000110111110
-01100000000000010100101100001110
-01101000000000010001000111000000
-01100000000000010100011010011011
-01101000000000010100101100010000
-01100000000000010001000110111110
-01101000000000010100011010011101
-01100000000000010001000111000000
-00100000010000000000011000000111
-01101000000000010001000110111110
-01100000000000010100101100010000
-01101000000000010001000111000000
-01100000000000010100011010011101
-00100000011000000000000000000000
-01101000000000010001000110111110
-01101000000010010001000111000000
-10011000010000001111111000000000
-01100000000000011001000111000010
-00101111111011111111111000010000
-00100000001000001000011000010100
-01101000000000001001000111000011
-11000000011111111000011000011011
-01101000000000001001000111000010
-00011111111000110111111000000000
-01100000000000010001000110111110
-01100000000000010001000111000000
-00100000011000000000000000000000
-01101000000000001001000111000011
-11000000000000000000011000011000
-01101000000000011001000111000010
-00100000001000000000011000010000
-01110000000100011100010000000000
-01101000000000001001000111000010
-00100000001000000000011000010000
-01101000000000001001000111000010
-00100000010000000000011000100110
-01100000000000001001000110111110
-01100000000000001001000111000000
-00100000001110100000011000100100
-01011000000000000000000011111111
-01100000000000001001000110111111
-01100000000000001001000111000001
-00100000011000000000000000000000
-01011000000000000000000000000000
-00100000001000000000011000100001
-00011111111001100111111000000000
-01100000000000001000101010101110
-01101000000000001000101010101110
-00011111111000110111111000000000
-01100000000000001000101010101110
-01101000000000001000101010101110
-00011111111001100111111000000000
-00100000011000000000000000000000
-10011010001001100111110000000000
-00100100001000010000011000111001
-10011010010001100111110000000000
-00100100001000010000011000111001
-01110000010010110000110100000000
-00100000011000000000000000000000
-10011010001001100111110000000000
-00100100011000010000000000000000
-10011010010001100111110000000000
-00100100011000010000000000000000
-00100000001000000000011000110010
-01110000010010110000110100000001
-00100000011000000000000000000000
-01101000000000010100011010011011
-00100000010000000000011001000010
-00011111111000100010001000000000
-01101000000000010100011010011101
-00100000010000000000011001000010
-00011111111000100010010000000000
-00100000011000000000000000000000
-01100000000000010001000111000000
-01101000000000001001000111000001
-11000000011111111000011001001000
-01101000000000001001000111000000
-00011111111000010111111011111111
-00100000011000000000000000000000
-01101000000000010001000111000000
-00011111111001100111111000000000
-00100000001000000000011001000110
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
                                 
                                 
                                 
@@ -65535,33 +65535,7 @@
                                 
                                 
                                 
-11000000000000001000000000000101
-11000000000000000000000000011101
-11000000000000010000000000101010
-00100000011000000000000000000000
-01110000010010000000100000000000
-01110000010000011110001100001110
-00100000010000000100000111100111
-01101000000000010100001000001000
-11000010100000111100000111110101
-11000010100000000011001110101001
-11000010100000001000000000001111
-11000010100000010000000000010010
-11000010100000011000000000010010
-00100000001000000100001010110000
-11000010100000101000000000010010
-11000010100000011000000000010010
-00100000001000000100001010110000
-01101000000000010100011010000010
-11000010100001100100001010110000
-00100000010000000011001110101001
-00100000010000000000001110101001
-11000000000000111000000000011010
-01101000000000001100011010110110
-00100000001110100000000000011010
-00100000001000000011001110100111
-01110000010001111001111100000001
-01110000010001111010000000101000
+11000000000000000000000000000011
 00100000011000000000000000000000
 01101000000000001000000000001110
 00011111111000001111111000000001
@@ -65569,48 +65543,13 @@
 00100000010000000010010000110101
 01111001001000000000000000101100
 00100000010000000010001011110010
-00100000001011000000000000101000
+00100000001011000000000000001110
 01111001001111111000000000101100
 00100000010000000010010001010101
-00100100001110100000000000100001
+00100100001110100000000000000111
 00100000001000000010000011111100
 01111001001111111000000000101100
 00100000001000000010000101011111
-01101000000000010000001001100100
-00011111111000100000110000000000
-11101000110000001000000000000000
-01100000000000001100101100000100
-00011111111000010000010000001111
-00011111111100011111111000000000
-11000000000000111000000000110011
-11000000000000001000000000111010
-00100000001000000100110100111001
-00100000010000000100110101010011
-01110000010010110000010100000000
-01101000000000001100101100000100
-00101111111011111111111000000000
-00100000011000001000000000000000
-01110000010010110000010100000001
-00100000011000000000000000000000
-00011000010000100111111000000000
-11000000000000101000001000011001
-00100000001000000100110101000001
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
                                 
                                 
                                 
@@ -131071,131 +131010,6 @@
                                 
                                 
                                 
-11000000000010000000000000010101
-11000000000010001000000000100010
-11000000000010010000000000000101
-00100000011000000000000000000000
-01110000010010110111000000000001
-01110000010001111010000100000001
-01101000000000010100011010101000
-01101000000010001100101101110111
-00011000010001100111110011111111
-00100100001000101000000000001100
-01011000000000000000001001011000
-01100000000000010100011010101110
-00100000010000000000001001000101
-00100000010000000011010000011000
-00100000010000000000000011011111
-01011000000000000000000000000100
-11100000110000001000000000000000
-11011000110000000100001110010000
-00100000010000000000001111100011
-00100000001000000111110111110100
-01101000000000001000000001001000
-11000000010000100000000000011001
-11000000010000011000000000011100
-00100000001000000110000000111111
-00100000010000000000000000011111
-01101000000000001000000001001000
-00100000001000000110000010011001
-00100000010000000000000000011111
-01101000000000001000000001001000
-00100000001000000110000100001101
-01101000000000001100011001011010
-00100000001110100110000100101011
-00100000001000000110000100100100
-00011000000000000111111000000010
-00100000010000000110001010011000
-01101000000000001000000001001001
-11100000101000001000000000000000
-01100000000000001100101011111100
-00100000010000000110001010100111
-01101000000000001100101011111100
-11000000000101110000000000101011
-00100000001000000110000001010001
-01101000000000001100101100000001
-00100000011110100000000000000000
-01110000010010110000000100000000
-01101000000000001100101100000011
-11000001100000010000000000000000
-01110000010010110000001000000001
-00011100010000100111111000000000
-01100000000000100000010011101001
-00100000011000000000000000000000
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
                                 
                                 
                                 
@@ -131257,6 +131071,45 @@
                                 
                                 
                                 
+11000000000010000000000000000100
+11000000000010001000000000010101
+00100000011000000000000000000000
+01110000010010000000100000000000
+01110000010000011110001100001110
+00100000010000000100000111100111
+01101000000000010100001000001000
+11000010100000111100000111110101
+11000010100000000011001110101001
+11000010100000001000000000001110
+11000010100000010000000000010001
+11000010100000011000000000010001
+00100000001000000100001010110000
+11000010100000101000000000010001
+11000010100000011000000000010001
+00100000001000000100001010110000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000010000000011001110101001
+00100000001000000011001110100111
+01101000000000010000001001100100
+00011111111000100000110000000000
+11101000110000001000000000000000
+01100000000000001100101100000010
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000000111000000000011110
+11000000000000001000000000100101
+00100000001000000100110100111001
+00100000010000000100110101010011
+01110000010010110000001100000000
+01101000000000001100101100000010
+00101111111011111111111000000000
+00100000011000001000000000000000
+01110000010010110000001100000001
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101000010010010001
+00100000001000000100110101000001
                                 
                                 
                                 
@@ -196607,56 +196460,6 @@
                                 
                                 
                                 
-11000000000100000000000000000110
-11000000000100001000000000011000
-11000000000100010000000000100101
-11000000000100011000000000101100
-00100000011000000000000000000000
-00100000010000000000000000001110
-00100000001000000101010101111101
-01101000000000001100011111000101
-01100000000000001100000101110010
-01110000010001111100010000000000
-00100000011000000000000000000000
-01110000010001111100010000000001
-00100000011000000000000000000000
-01101000000000001100001111010110
-00011111111001100111110000001100
-00100100001000010000000000001100
-01101000000000001100001111011000
-01101000000010001100011111000101
-10011000010001100111110000000000
-00100000001000010000000000001000
-01101000000000001100001111011000
-01100000000000001100000101110010
-00100000001000000000000000001010
-01101000000000001000010000111111
-11000100000000110000000000000000
-00100000010000000000000000011101
-00100100011101000000000000000000
-00100000001000000101010110100000
-01111000001101000111110000000000
-01101000000000001000010001011010
-00011111111100011111111000000000
-11000001100001111000000000000000
-01101000000000001000010001100000
-00011111111100011111111000000000
-11000001100000000000000000000000
-00100000001000000111111111101001
-01101000000000001100011110100001
-00100100011110100000000000000000
-01101000000000001000010001111000
-00011111111001100111111000011010
-00100100011000101000000000000000
-01110000010001101100011000000000
-00100000001000000011110101100000
-00100000010000000011001110101111
-00100000010000000010011011101001
-01110000000010101001100100000010
-00100000010000000111110110000110
-00100000010000000101110011110111
-00100000010000000100110101101011
-00100000001000000010010001101110
                                 
                                 
                                 
@@ -196804,6 +196607,59 @@
                                 
                                 
                                 
+11000000000100000000000000000011
+00100000011000000000000000000000
+01111000010101000111110000000000
+00100000010000000110001011000001
+01101000000000001000000001001000
+00100000011110100000000000000000
+11000010100000111000000000001101
+11000000000000011000000000100100
+11000000000110001000000000011001
+11000000000010111000000000011011
+11000000000000111000000000011101
+00100000001000000110000000010000
+11000000010000100000000000010000
+11000000010000011000000000010011
+00100000001000000110000000111111
+00100000010000000000000000010110
+01101000000000001000000001001000
+00100000001000000110000010011001
+00100000010000000000000000010110
+01101000000000001000000001001000
+00100000001000000110000100001101
+01101000000000001100011001011010
+00100000001110100110000100101011
+00100000001000000110000100100100
+01110000010010110000000100000001
+00100000001000000110000111000011
+01110000010010110000100100000100
+00100000001000000110000110100100
+00100000010000000110000101010010
+01101000000000001100101101010101
+00100000011110100000000000000000
+01101000000000001000000001001011
+01111001001111111111111000000011
+01100000000000001000000001001011
+00100000001000000000001100110101
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001001
+11100000101000001000000000000000
+01100000000000001100101011111100
+00100000010000000110001010100111
+01101000000000001100101011111100
+11000000000101110000000000101101
+00100000001000000110000001010001
+01101000000000001100101011111111
+00100000011110100000000000000000
+01110000010010101111111100000000
+01101000000000001100101100000001
+11000001100000010000000000000000
+01110000010010110000000000000001
+00011100010000100111111000000000
+01100000000000100000010011101001
+00100000011000000000000000000000
                                 
                                 
                                 
@@ -262143,47 +261999,6 @@
                                 
                                 
                                 
-11000000000110000000000000000011
-00100000011000000000000000000000
-00100000010000000000000011010111
-01110000010010110111000000000000
-01110000010010110110110100000001
-01110000010001110010000000000001
-01110000010001111001111000000000
-00100000010000000000000000100001
-01101000000000011100101110110011
-01100000000000011100010010100011
-00100000010000000000000101011111
-00100000010000000011010000011000
-01101000000000010100011010000111
-01100000000000010100011010101100
-01110000000000010110110100000110
-01011000000000000000000000000000
-01100000000000010100011010110000
-01100000000000010100011010101110
-00100000010000000000001001000101
-00100000010000000100001111001010
-01101000000000001100000010010010
-00101111111011111111111000000001
-00100000010000001000000000011010
-00100000010000000100001011000100
-00100000001000000000001010111101
-01110000010001111010000100000000
-00100000010000000000000011011111
-01011000000000000000000000000101
-11100000110000001000000000000000
-11011000110000000100101100010010
-00100000010000000000001111100011
-00100000001000000111110111110100
-00100000010000000000000101100110
-01101000000010010100101101110010
-00011000010000001000010000000001
-01100000000010010100101101110010
-01100000000010010100010010100001
-00100000010000000000000100100100
-00011000000010100111111000000000
-01100000000000001100010010100000
-00100000011000000000000000000000
                                 
                                 
                                 
@@ -262328,6 +262143,44 @@
                                 
                                 
                                 
+11000000000110000000000000000011
+00100000011000000000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100000000000100101
+11000000000010000000000000001010
+00100000001000000110001100100000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001000000000001110
+00100000001000000110001101011111
+00100000011101001000000000000000
+01101000000000001000000101101101
+11000010100000000000000000010010
+00100000001000000110001110011001
+01101000000000001100101100000001
+11000000000000001110001110011101
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001100101100000000
+00100000011110100000000000000000
+01110000010010110000000000000000
+01101000000000100000010011101001
+11011000010000000000000000010100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100001000010000000000100011
+00100000001000000110001101001001
+01110000010010110000000000000001
+00100000011000000000000000000000
+01110000010010000000100100010100
+00100000001000000110001101101111
                                 
                                 
                                 
@@ -327679,7 +327532,6 @@
                                 
                                 
                                 
-00100000011000000000000000000000
                                 
                                 
                                 
@@ -327827,6 +327679,40 @@
                                 
                                 
                                 
+11000000001000000000000000000100
+11000000001000001000000000010110
+00100000011000000000000000000000
+00100000010000000000000000001100
+00100000001000000101010101111101
+01101000000000001100011111000101
+01100000000000001100000101110010
+01110000010001111100010000000000
+00100000011000000000000000000000
+01110000010001111100010000000001
+00100000011000000000000000000000
+01101000000000001100001111010110
+00011111111001100111110000001100
+00100100001000010000000000001010
+01101000000000001100001111011000
+01101000000010001100011111000101
+10011000010001100111110000000000
+00100000001000010000000000000110
+01101000000000001100001111011000
+01100000000000001100000101110010
+00100000001000000000000000001000
+01101000000000001000010000111111
+11000100000000110000000000000000
+00100000010000000000000000011011
+00100100011101000000000000000000
+00100000001000000101010110100000
+01111000001101000111110000000000
+01101000000000001000010001011010
+00011111111100011111111000000000
+11000001100001111000000000000000
+01101000000000001000010001100000
+00011111111100011111111000000000
+11000001100000000000000000000000
+00100000001000000111111111101001
                                 
                                 
                                 
@@ -393215,7 +393101,6 @@
                                 
                                 
                                 
-00100000011000000000000000000000
                                 
                                 
                                 
@@ -393330,6 +393215,63 @@
                                 
                                 
                                 
+11000000001010000000000000000100
+11000000001010001000000000101101
+00100000011000000000000000000000
+00100000010000000000001011110010
+01110000010001111001110000000000
+00100000010000000000001110011001
+01101000000000010100011010000010
+11000010100001011000000000010001
+00100000010000000000001110101100
+01101000000010010100011111000010
+00011000010000001000010000000001
+01100000000010010100011111000010
+01100000000010010100010010100001
+00100000010000000000001101011101
+00011000000010100111111000000000
+01100000000000001100010010100000
+01011000111011011000111000001110
+01100000000000011100010010100011
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000010010110100011100000101
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001000000000100110
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001111110111011101
+01110000010010110101010100000000
+00100000001000000100001011000100
+01110000010001111001111100000000
+00100000010000000000001100001011
+01011000000000000000000000000101
+11100000110000001000000000000000
+11011000110000000100101100010000
+00100000010000000000010111010110
+00100000001000000111110111110100
+01101000000000001100101101011101
+00100100011110100000000000000000
+01101000000000001100101101010111
+00100100001110100000000000110111
+01110000010011010100000100000000
+00100000010000000000001011110010
+00100000010000000000000111001101
+01110000010000011011110100000000
+00100000010000000000001011000101
+00100000001000000011010000001010
+00011111111000001111111111111111
+01100000000000001100101101010111
+00100000001000000000001110110011
                                 
                                 
                                 
@@ -458809,6 +458751,64 @@
                                 
                                 
                                 
+11000000001100000000000000000100
+11000000001100001000000000101000
+00100000011000000000000000000000
+01111001001111111000000000100110
+01101000000000001100101101010111
+00011111111000010111111000000001
+00100100010110100000000000011110
+00100000010110100000000000011011
+01101000000000001100110000010001
+11000001111111111000000000000000
+00100000010000000000000111000100
+00100000000000000000011111010000
+01101000000000001100110000101110
+11000000001110000000000110110011
+00100000010000000000000110001011
+00100100001011000000000000100011
+00100100001101111000000000100011
+01111001001000000000000000100110
+01011000000000000000000000000000
+01100000000000010100110000101110
+01100000000000001100101101011101
+01100000000000001100101101010111
+01110000000010101001100100111100
+00100000010000000111110110000110
+00100000010000000000000110000011
+00100000001000000000001111101110
+00100000010000000000001011110010
+01101000000000100100011101111011
+00100000001000000000000000100000
+01110000010000011101111000100000
+01101000000000100100101101010001
+01100000000000100100110000101001
+00100000010000000000000111100100
+00100000001000000000001000000011
+01101000000000010100110000101110
+00011111111000001111111000000001
+01100000000000010100110000101110
+00100000010000000000001000000011
+00100000001000000000000000001100
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+01100000000000001100101101010111
+01100000000000010100110000101110
+01110000010010110101110111001000
+00100000010000000100001011001010
+00100000001000000000000000110010
+01111001001000000000000000100110
+00100000010000000000000000110110
+01110000010011000001000100000001
+00100000011000000000000000000000
+01110000010000011101111000100000
+01110000010011000000000000000000
+01110000010011000000101101001110
+01101000000000100100110000001101
+00100000001000000000000111100011
                                 
                                 
                                 
@@ -524289,51 +524289,51 @@
                                 
 11000000001110000000000000000011
 00100000011000000000000000000000
-01011111111111111111111111111111
-01100000000000110000000001000000
-01110000000000011000010100110011
-01110000010010110111011111111111
-00100000010000000100001011111011
-01110000010001110010000111111111
-00100000001000000000000100011111
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
+01111001001111111000000000100110
+00100000010000000000000000011101
+00100000010000000000000111000100
+00100000000000000000011111010000
+01101000000000001100110000101111
+11000010100000010000000110110011
+00100000010000000000000110001011
+00100100001011000000000000011001
+00100100001101111000000000011001
+00100000010000000000000110110101
+00100000010000000000001011110010
+01101000000000100100110000101001
+01101000000010100100110000001101
+10011000010001100111110000000000
+00100000001000101000000000100111
+01111001001000000000000000100110
+01011000000000000000000000000000
+01100000000000010100110000101110
+01110000000010101001100100111100
+00100000010000000111110110000110
+00100000010000000000000110000011
+00100000001000000000001111101110
+01101000000000010100110000101110
+00011111111000001111111000000001
+01100000000000010100110000101110
+00100000001000000000000000000110
+01110000010000011101111000100000
+01011000000000000000111100001111
+01100000000000010100110000101001
+11100000101000010000000000000000
+00100000010000000000000111100100
+00100000001000000000001000000011
+00100000010000000000000000011101
+00100000001000000000000000000110
+00100000010000000000000000101011
+00100000001000000000000000000110
+01111001001000000000000000100110
+00100000010000000000000000101011
+01110000010011000001000100000001
+00100000011000000000000000000000
+01110000010000011101111000100000
+01110000010011000000000000000000
+01110000010011000000101101001110
+01101000000000100100110000001101
+00100000001000000000000111100011
                                 
                                 
                                 
@@ -589823,23 +589823,31 @@
                                 
                                 
                                 
-11000000010000000000000000000011
+11000000010000000000000000001010
+11000000010000001000000000000100
+00100000011000000000000000000000
+00100000010000000110100010100010
+01101000000000010100001000011101
+00100100001110100000000000001000
+01011000000000000001000100100010
+01100000000000010100011111000010
 00100000011000000000000000000000
+00100000010000000000000011101100
 00100000010000000011111001101110
-01101000000010001100101101000111
+01101000000010001100101101000011
 00100000010000000110100000001110
-00100000010000000000000000010010
+00100000010000000011111000011110
+00100000010000000000000000011010
 01011000000000000000000000000000
 01100000000000010100000101010100
 00100000010000000110100010100010
 00100000010000000011111001010100
-00100000010000000000000100010010
-01101000000000110100101101001110
-01101000000010110100011100100010
-10011000010001100111110000000000
-00100100001000101000000101011111
-00100000010000000000000101100001
-00100000011000000000000000000000
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+00100000010000000000010111010001
+00100000001000000000001101001010
 00100000010000000111010010111001
 11011000110000001000110000000000
 11011000101000000100100001110110
@@ -655351,15 +655359,65 @@
                                 
                                 
                                 
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
+11000000010010000000000000000101
+11000000010010001000000000011111
+11000000010010010000000000101111
 00100000011000000000000000000000
+01101000000000001100110000000110
+11000000000000001111111111100111
+01101000000000001100110000010001
+11000000000000001000000000001100
+11000000000000010000000000001111
+11000000000000011000000000010010
+00100000001000000010101010001100
+01110000010011000001000100010001
+01110000000100011001111010101010
+00100000001000000000000000010100
+01110000010011000001000100010010
+01110000000100011001111001010101
+00100000001000000000000000010100
+01110000010011000001000100010011
+01110000000100011001111000100010
+01101000000000001100110000000010
+00011111111000010111111000000111
+01100000000000001001000110011111
+01101000000000100100110000111000
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000000000111010001
+00100000010000000000000101001000
+00100000001000000111111111100111
+01101000000000001100110000010001
+11000001011111111000000000000000
+11000000000010001000000000100101
+11000000000010010000000000100111
+11000000000010011000000000101001
+00100000011000000000000000000000
+01110000010011000001000100000010
+00100000001000000000000101111100
+01110000010011000001000100000011
+00100000001000000000000101111100
+01110000010011000001000111111111
+01110000000010101001100100111001
+00100000010000000111110110000110
+01101000000000100100101111100001
+00100000010000000000000111100011
+00100000001000000000000101111100
+00100000010000000000010010100101
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01100000000000001100101101010111
+01110000010001101010011100000000
+00100000010000000100000001011101
+00100000010000000000001011110010
+01101000000000100100110000101001
+01100000000000100100011101111011
+00100000001000000000001101011000
                                 
                                 
                                 
@@ -720837,117 +720895,59 @@
                                 
                                 
                                 
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-                                
-11000000010100000000000000100100
-11000000010100001000000000001011
+11000000010100001000000000000110
 11000000010100010000000000011001
-01101000000000010100011010000010
-11000011100001100000000000000000
-11000011100000110000000000000000
-11000011100001011000000000000000
-01101000000000100100011011010011
-11000011100000101000000000000000
-00100000001000000011001110100111
+11000000010100011000000000010010
+11000000010100100000000000100001
+00100000011000000000000000000000
 01101000000000010100010100001001
 11000001000000000000000000000000
 01101000000000001000010001000001
 00011111111010110111111000000000
 00011111111001100111110000001100
-00100000001000010000000000010111
+00100000011000010000000000000000
 01011000000000000000000000001001
 01100000000000010100010010010110
 01100000000000010100010010011000
-00100000010000000000001000010001
+00100000010000000000010010001001
 01110000010001111100010000000001
 00100000011000000000000000000000
-01110000010010110110001100000001
-00100000001000000000010001000101
-01110000010010110111000100000000
+01101000000000010100011010000010
+11000011100001100000000000000000
+11000011100000110000000000000000
+11000011100001011000000000000000
+01101000000000100100011011010011
+11000011100000101000000000000000
+00100000001000000011001110100111
 01011000000000000000000000000111
 01100000000000010100010010010110
 01100000000000010100010010011000
 01110000010001111100010000000000
-01110000010001111001111000000000
-00100000010000000000000110011101
+01110000010001111001110000000000
+00100000010000000000010000011001
 00100000010000000101100000010110
-00100000010000000100000111011001
-00100000010000000000000100011111
 00100000001000000100000111011001
+01111000001101000111110000000000
 01101000000100100000000100111000
-01111001001000000111111000011010
+01111001001101000111111000011010
 01100000000100100000000001001100
 00100000010000000010110000100001
 00100000010000000111010010111101
-00100000010000000000001011101101
-00100000010000000000000100011111
+00100000010000000000001111100111
 00100000010000000011111010011111
-00100000010000000000000010101110
-00100000010000000000000101010101
+00100000010000000000001011000101
+00100000010000000000001110100001
 01101000000100001000000010000001
 00011111111000010111111011110111
 01100000000100001000000010000001
+01101000000100001000000001111110
+01111001001000000111111000000110
+01100000000100001000000001111110
 01101000000100001000000001111111
 01111001001000000111111000000000
 01100000000100001000000001111111
-00100000011000000000000000000000
-                                
+01101000000010001100011011110011
+00100000001000000110011111101101
                                 
                                 
                                 
@@ -786431,11 +786431,15 @@
                                 
                                 
                                 
-11000000010110001000000000000110
-11000000010110010000000000001100
-11000000010110011000000000010001
-11000000010110100000000000011001
+11000000010110000000000000000111
+11000000010110001000000000001010
+11000000010110010000000000010000
+11000000010110011000000000010101
+11000000010110100000000000011100
 00100000011000000000000000000000
+01110000010010110110100000000001
+00100000010000000000010000011001
+00100000001000000100000111000011
 01101000000000001100100000001000
 11000001000000010000000000000000
 00011111111000001111111000000001
@@ -786447,16 +786451,14 @@
 01110000010010000000100000000000
 01110000010000011110001100001110
 00100000001000000011010000001110
-01101000000000001100011110100001
-11000000000000001000000000010101
-01110000010001101100011000010100
-00100000001000000000000000010111
-00100000010000000000001000010001
-01110000010001101100011000001010
+01101000000000001100011110011111
+11000000000000001000000000011000
+00100000001000000000000000011010
+00100000010000000000010010001001
+01110000010001101100011000000101
 11011000111000000000000000000001
 00100000001000000100000110111001
+01110000010010101111111100000000
 01110000010010110000000100000000
-01110000010010110000001100000000
-01110000010010110000110000000000
-00100000010000000000000100011111
+01110000010010110000101000000000
 00100000001000000100000111011001
Index: ZJL_3X_OnlyBLE/output/flash.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/flash.dat	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/flash.dat	(working copy)
@@ -2,16 +2,16 @@
 02
 aa
 55
-2e
-19
+52
+1f
 20
 20
 00
 40
 20
 40
-01
-9d
+04
+19
 68
 00
 c1
@@ -19,11 +19,11 @@
 60
 00
 cc
-f4
+b8
 20
 40
-05
-60
+07
+45
 68
 00
 c6
@@ -31,111 +31,103 @@
 60
 00
 cb
-48
-20
-40
-02
-90
+44
+68
+00
+cb
+30
+60
+00
+cb
+31
 20
 40
-01
-2d
+43
+ca
 20
 40
-05
-f1
+03
+14
 20
 40
 00
-12
+0e
 20
 40
 00
-23
-20
-40
-58
-10
-20
-40
-58
-39
+21
 20
-40
-58
-2c
 20
-40
+03
+38
 58
-18
-20
-40
-3e
-1e
-20
-20
+00
+03
+eb
+60
 01
-02
+4d
+32
 58
 00
-01
-89
+04
+05
 60
 01
 41
 ef
 58
 00
-04
-9b
+06
+84
 60
 01
 41
 f9
 58
 00
-01
-bd
+04
+34
 60
 01
 41
 f1
 58
 00
-00
-bd
+02
+b9
 60
 01
 41
 ed
 58
 00
-01
-f5
+04
+71
 60
 01
 41
 f5
 58
 00
-01
-e2
+04
+5c
 60
 01
 41
 f3
 58
 00
-02
-28
+04
+a6
 60
 01
 41
 eb
 58
 00
-02
-35
+04
+ad
 60
 01
 41
@@ -151,19 +143,19 @@
 60
 01
 4d
-80
+44
 24
 55
 80
-2f
+29
 20
 40
-00
-e6
+03
+16
 20
 40
-02
-2e
+03
+35
 68
 00
 c7
@@ -172,26 +164,10 @@
 00
 c7
 1e
-68
-03
-44
-a0
+20
 60
-03
-4b
-64
-68
-00
-c2
-41
-c3
-81
 00
 00
-20
-20
-03
-73
 58
 00
 01
@@ -199,7 +175,7 @@
 60
 01
 4d
-80
+44
 20
 60
 00
@@ -260,178 +236,198 @@
 00
 00
 01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
 c2
 84
 00
-59
+58
 c0
 00
 80
-76
+75
 c0
 01
 00
-7f
+7e
 c0
 42
-85
-c2
+87
+b1
 c0
 44
-85
-95
-c0
-45
-05
-c4
+87
+82
 c0
 0d
-84
-b0
+86
+9d
 c0
 13
-04
-b2
+06
+9f
 c0
 24
-04
-ce
+06
+ba
 c0
 25
-04
-d0
+06
+c1
 c0
 28
-84
-d9
+86
+ca
 c0
 2c
-84
-cc
+86
+b8
 c0
 53
-84
-de
+86
+cf
 c0
 56
-84
-f4
+86
+e8
 c0
 65
 b3
 e4
 c0
 74
-85
-05
+86
+f9
 c0
 50
 80
-88
+87
 c0
 58
 80
-8d
+8c
 c0
-62
+59
 00
-ca
+96
 c0
-71
-83
-75
+62
+02
+dc
 c0
 73
-03
-9d
+05
+8a
 c0
 75
-03
-da
+05
+cd
 c0
 75
-83
-e1
+85
+d3
 c0
 76
-03
-e7
+05
+da
 20
 20
 2a
 8e
 c0
 1c
-83
-ea
+85
+e3
 c0
 21
-83
-f2
+85
+eb
 c0
 25
-03
-f8
+05
+f1
 c0
 2b
-83
-fb
+85
+f4
 c0
 2c
-83
-fd
+85
+f6
 c0
 31
-83
-ff
+85
+f8
 c0
 33
-04
-2f
+06
+22
 c0
 33
-84
-4e
+86
+39
 c0
 35
-04
-86
+06
+6f
 c0
 3b
-84
-91
-c0
-7d
-05
-48
+86
+7a
 c0
 02
-85
-07
+86
+fb
 c0
 40
-05
-09
+06
+fd
 c0
 41
-05
-13
+07
+07
 c0
 44
-05
-24
+07
+09
 c0
 46
-04
-9d
+06
+8a
 c0
 46
-84
-a9
+86
+96
 c0
 50
-03
-1a
+05
+28
+c0
+7d
+07
+2d
 20
 20
 2a
@@ -443,11 +439,11 @@
 68
 08
 cc
-f8
+bc
 58
 00
 4c
-ff
+c3
 98
 40
 8a
@@ -471,7 +467,7 @@
 60
 08
 cc
-f8
+bc
 20
 60
 00
@@ -490,8 +486,8 @@
 d4
 20
 40
-01
-77
+03
+fc
 20
 40
 6a
@@ -543,7 +539,7 @@
 20
 3a
 00
-82
+81
 20
 20
 20
@@ -574,26 +570,10 @@
 00
 68
 00
-cb
-28
-24
-3a
-7f
-ef
-68
-00
-cb
-2d
-24
-3a
-7f
-ef
-68
-00
 c7
-9e
-20
-3a
+9c
+c0
+00
 7f
 ef
 68
@@ -624,242 +604,210 @@
 20
 7f
 f1
-d8
-40
-00
+c6
+93
 00
-df
-20
 00
-08
-1a
-22
-0c
+68
 00
-e8
+cd
+41
 c0
-80
 00
-98
+80
+ae
+20
 40
-84
-00
-c2
+01
+45
+24
+34
 00
+ca
+20
+40
+01
+2c
+20
+40
+01
+69
+68
 00
-9e
-18
-49
-7e
+cc
+11
+c1
+ff
+80
 00
-1f
-e2
-04
+20
+40
+07
+56
+20
+40
 00
-c6
-93
+aa
+68
 00
+cb
+26
+c0
 00
-1f
-e6
-fc
-0a
+83
+ee
 20
 40
-7f
-86
-18
-07
-fe
 00
-1f
-f2
-7e
+d5
+24
+74
 00
-18
-07
-04
 00
-98
-41
-84
+20
+40
+02
+c0
+58
 00
+ec
+54
 20
+40
+7f
+49
 60
+0a
+41
+5b
+20
+20
+2b
+2a
+58
+01
+77
 00
-00
+60
+01
+cc
+30
+70
+4b
+6c
+14
 20
 60
 00
 00
 20
 40
+02
+8b
+24
+74
+00
 00
-c7
 20
 40
 00
 c4
-20
-40
-3e
-bf
-68
-08
-cb
-47
-20
-40
 68
-25
+01
+4d
+42
+1f
+e0
+fe
+01
+60
+01
+4d
+42
 68
-12
+09
+4d
+44
+98
+46
+7c
+00
+20
+42
+80
+b8
+20
+20
 00
+99
 70
-68
-1a
+4d
+41
 00
-78
-98
-41
-84
+58
 00
-18
-44
-04
 00
-60
-1a
 00
-7c
-68
-10
-80
-7d
-79
-3f
-fe
-02
-60
-10
-80
-7d
-68
-10
-80
-7e
-79
-3f
-fe
-06
-60
-10
-80
-7e
-20
 60
-00
-00
-c6
-13
-00
-00
-20
-40
 01
-6d
-20
-40
-00
-ac
-68
+4d
+42
+58
 00
-c0
-40
-c3
 00
+64
+60
+01
+4d
+44
+70
+4c
+3c
 00
-c4
 68
 00
-80
-a0
-24
-7a
-00
-00
-58
-00
-00
-00
+cc
+27
 60
-04
 00
-a1
+cc
+26
 20
 60
 00
 00
 68
 00
-cb
+cc
+28
+60
 00
+cc
+26
 20
-7a
+60
 00
 00
-20
-20
-03
-75
-20
-40
-29
-6c
-20
-40
-34
-16
-20
-40
-74
-b9
-20
-35
-81
-2d
 68
-01
-c4
-a3
-60
-01
-cb
-b3
-20
-40
 00
+cc
+3c
+1f
+e0
+fe
 01
-20
-40
+60
 00
-d7
-20
-40
+cc
+3c
+c0
 02
-fa
-68
 00
-c2
-10
+c1
 c0
-19
+02
 80
-da
-c0
-1a
-00
-dd
+bd
 20
 60
 00
@@ -867,2087 +815,2059 @@
 68
 00
 cc
-f4
-60
-00
-c1
-de
+2d
 20
-60
-00
+5a
 00
+de
 68
-03
-41
-d0
-20
-3a
-33
-eb
-20
-20
-42
-74
-70
-11
-c6
-12
-20
-20
-05
-c7
-da
-20
-43
-70
-ea
-20
-80
 00
+c6
+cf
+1f
+e6
+7c
+0a
 20
-7a
-00
+61
 00
-98
-c0
-a2
 00
-e8
-c0
-80
+20
+40
 00
-c1
+d5
+24
+74
 00
-80
 00
+68
+01
+cc
+30
+20
+40
+7f
+49
+60
+0a
+41
+5b
 20
 20
+2b
+2a
+78
+34
+7c
 00
-e0
 20
 40
+2a
+fa
+68
 01
-2d
+c1
+6f
 20
-40
-40
+3a
+7f
+e9
+68
+00
 c0
+91
 20
-40
-40
-d9
-c0
-18
+3a
+7f
+e9
+68
 00
-ee
+cd
+41
 c0
-18
-80
-fd
+00
+ff
+e9
 20
-40
-40
-d1
 20
-00
-03
-e8
-20
-20
-00
-e8
-20
-40
-03
-6d
-68
-00
-c6
-de
-c0
+02
+c3
+70
+4c
 2d
+01
+70
+4d
+36
 00
-f3
-c0
-2a
-00
-fb
-20
 20
 40
-e0
-70
-46
-e0
-07
-da
+00
+f1
 60
-4b
-7a
-ea
-61
 00
+cb
+9d
+58
 00
-c1
-7f
-80
 00
-20
-40
-64
-13
-20
 00
-2e
-e0
-1a
 60
-a6
+03
+cb
+9e
+68
 02
-20
-20
-00
-f5
+4c
+38
+60
+02
+4b
+a5
 70
-46
-e0
+4c
+01
+0c
+68
+00
+cc
 02
+79
 20
+7e
+03
 60
 00
-00
+cc
+02
 20
 40
-03
-6d
-68
+01
+48
+20
+20
 00
-c6
-de
-c0
-38
+9c
+68
+02
 40
-e8
-70
-46
-e0
-01
+a0
+60
+02
+4c
+38
 20
 60
 00
 00
 70
-11
-c6
-80
-20
-20
-05
-c7
-70
-80
-86
-40
+4d
+37
+01
 70
-80
-87
+4d
+39
 00
 68
-10
-80
-81
-79
-3f
-fe
 00
-79
-3f
-fe
-01
+cc
+02
+1f
+e1
+7e
+07
+60
+00
+cc
+02
+20
+60
+00
+00
+68
+00
+cc
+02
 79
 20
 7e
-03
-79
-3f
-fe
 04
 60
-10
-80
-81
-58
-00
 00
+cc
+02
+60
 00
+cb
+bd
+20
 60
-02
-01
-f5
+00
+00
 68
-10
-80
-7f
+00
+cc
+02
 79
 3f
 fe
-00
-60
-10
-80
-7f
-20
+04
 60
 00
+cc
+02
+60
 00
+cb
+bd
 20
 40
-01
-5d
+07
+4c
 20
 40
-44
-23
-68
-01
-47
-78
-d8
-40
-aa
-55
-98
-46
-7c
-00
+02
+03
 20
-22
-81
-4f
 60
-09
-47
-78
+00
+00
 20
 40
-44
-1c
+07
+4c
 68
 00
-c6
-e1
-60
+cd
+38
+c0
 00
-c7
-7a
-68
-02
-4b
-4e
-60
-02
-47
-7b
-60
-02
-4c
-65
-20
-40
+81
+06
+c0
 01
-5d
-20
-40
 01
-2f
+0a
 20
-40
-01
-46
+60
+00
+00
+70
+4d
+39
+02
+70
+4d
+35
+00
+70
+4d
+37
+00
 20
-40
-01
-3b
 20
-40
-01
-32
+00
+f1
+70
+4d
+36
+00
+20
 20
-40
 01
-04
-d8
-40
-00
 07
-da
-20
-4b
-72
-da
-40
-00
-5f
 68
 01
-c7
-00
-9a
-40
+4c
+07
+1f
+e0
 fe
-00
-20
-40
 01
-3b
-20
-40
+60
 01
-32
-20
-40
+4c
+07
+c2
+85
 01
-55
+b1
+68
+00
+cd
+36
+c0
+00
+81
+15
 70
-42
-12
-76
-20
-20
-3d
+4d
 36
-68
 01
-c7
+68
+00
+cd
+36
+c0
+80
+80
+f1
+68
 00
+cd
+34
+1f
+e0
+fe
+01
 60
+00
+cd
+34
+c0
+02
 01
-c2
-32
+1c
 20
 40
-65
-2a
-58
+02
+03
+70
+4c
+46
+02
+20
+20
 01
-86
-a0
+69
 20
 40
-2a
-8f
+07
+4c
+70
+4d
+34
+00
+20
 20
-40
-65
-0b
-58
 00
+f1
+70
+4d
+39
+02
+70
+4d
+37
 01
-fa
-60
-11
-00
-8c
-58
-00
+70
+4d
+36
 00
-05
 20
-40
-64
-f3
-c2
-80
-01
-32
 20
-60
-00
 00
-1f
-e2
-26
-00
-1a
-22
-7e
-00
-1f
-e0
-ff
-fc
-1f
-e2
-24
-00
-ea
-42
+f1
+68
 00
+cd
+38
+c0
+01
+81
+20
+68
 00
-60
+cc
 02
-4b
-49
-1a
-62
-7e
+2f
+ec
 00
+04
 20
-40
-65
-52
+20
+80
+ef
 68
-02
-4b
-49
-e2
-42
 00
+cd
+38
+c0
 00
+81
+1f
+c0
+01
+01
+20
 20
 60
 00
 00
-58
-00
-47
-7f
-d8
-40
-47
-20
-98
-46
-04
-00
 68
-01
-c7
-00
-da
-20
-47
-20
-20
-60
 00
+cc
+11
+c1
+ff
+80
 00
 20
 40
 01
-5d
-20
-40
+31
+24
+56
 01
-46
-20
-20
-65
-62
+39
 20
-40
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cd
+37
+c1
+80
+80
+00
+68
+00
+cd
+39
+c1
+80
+00
+00
+70
+4d
+38
 01
+70
 4c
+46
+04
 20
-40
-01
-66
 20
-40
-43
-1a
+7f
+eb
 68
-02
-47
-7b
+00
+cd
+39
+20
+3a
+01
+40
+1f
+e0
+ff
+ff
 60
+00
+cd
+39
+70
+4d
+38
 02
+70
 4c
-65
+46
+04
 20
-60
-00
+20
+02
+03
+70
+4d
+38
+03
+68
 00
+cd
+36
+24
+3a
+01
+13
 70
-0a
-a2
-b9
+4c
+46
+02
 20
-40
-01
-04
 20
-40
-69
-ac
+02
+03
+68
+00
+cc
+11
+c0
+ff
+81
+bc
 20
 40
-65
-0b
-da
-20
+01
 4b
-49
-68
-08
-8a
-a2
 20
 40
-65
-56
-20
-20
-69
-ac
-70
-0a
-a2
-ab
-20
-20
 01
-56
+f1
 70
-4b
-77
-5a
+4c
+06
+01
 20
 60
 00
 00
-70
-4b
-77
-ff
-70
-42
-10
-34
 68
-03
+01
 4d
-82
-60
+32
+20
+40
+7f
+9c
+20
+34
+01
+51
+68
 03
-44
-a0
+cb
+9e
 20
-60
+7a
 00
 00
 20
+20
+7f
+e7
+20
 40
-01
-5d
-d8
+04
+a5
+20
 40
+03
+29
+70
+4c
+2d
 00
-07
-da
+1a
 20
-4b
-72
-da
-40
+fe
+01
+60
 00
-5f
-68
+cc
 01
-c7
+20
+40
 00
-9a
+f1
+60
+00
+cb
+9d
+e8
+a8
+80
+00
+ea
 40
-fe
+80
 00
-20
-20
-65
-62
-d8
-c0
-18
+98
+41
+fe
 00
-d8
+e0
 a0
-48
-0a
-20
-40
-01
-75
-d8
-c0
-19
+80
 00
-20
+1a
 40
+a4
 01
-75
-d8
-c0
-1a
+ea
+42
 00
-20
+00
+e0
+a2
+00
+00
+1a
 40
-01
-75
+a4
+04
 d8
-c0
-1b
-00
+a0
+4b
+a3
 df
 20
 00
-1b
-20
-20
-7f
-01
-d8
-c0
-48
-0a
-d8
-a0
-18
-00
-20
+02
+ea
 40
-01
-75
-d8
-a0
-19
+80
 00
-20
+e8
+a8
+80
+00
+98
 40
-01
-75
-d8
+fe
+00
+e0
 a0
-1a
+80
 00
-20
+1a
 40
+a4
 01
-75
-d8
-a0
-1b
+c2
 00
-20
-20
 01
-75
-70
-41
-72
-00
-70
-4b
-45
-1e
+62
 20
 60
 00
 00
-68
-00
-cb
-44
-c1
-80
-80
-00
-58
-00
-00
+70
+4c
+0a
 00
+d9
 60
+0d
 00
-cb
-44
-60
+34
+73
 02
-46
-9b
-20
-20
-03
-6d
+00
 20
 40
-58
-92
-24
-7a
-00
-00
-68
-00
-cb
-77
-c0
-7f
-81
-90
+01
+8b
 68
 00
-c6
-c5
-1f
-e1
-7e
-03
+cc
+3d
 c1
-81
-80
 00
-68
+80
 00
-c7
-9e
-20
-5a
+24
+2c
 01
-b8
-68
-02
-46
-d3
-c2
-82
-c1
-79
-20
-40
-3f
-97
+9a
 24
-74
-00
-00
+37
+81
+9a
 20
 40
 01
-80
+83
 20
 40
 01
-83
+b5
 20
 40
+07
+48
+70
+4b
+56
+00
+68
+00
+cc
+00
+1f
+e0
+fe
 01
-b3
-da
-20
-46
-9a
+60
+00
+cc
+00
 20
 40
-7e
-3d
-20
-54
 01
-a2
+86
+68
+00
+cc
+11
+c0
+ff
+81
+89
 20
-60
+40
+01
+23
+58
 00
 00
-70
-47
-a2
+00
+60
+01
+4c
 07
+60
+00
+cc
+09
+60
+00
+cd
+35
+60
+00
+cb
+5d
 70
-47
-a3
-04
-58
+4c
+06
 00
-47
-a2
+20
 60
-01
-42
-18
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+9d
 20
 20
 7e
-38
+c6
 68
 00
-c7
-c3
-1f
-e0
-fe
-01
-60
+cc
+02
+c2
+82
 00
-c7
-c3
+fa
 20
 60
 00
 00
-da
-20
-46
-9a
 20
 40
-7e
-54
+07
+45
 20
-34
-01
-aa
 20
-60
-00
+01
+be
+78
+57
+fc
 00
 20
 40
-56
-52
+02
+6a
 68
 00
-c7
-c3
-1f
-e6
-7c
-01
-24
-41
-56
-50
-68
+cc
+3d
+c0
 00
-c7
-c3
-20
-7a
+81
+98
+18
 00
+2a
 00
-1f
-e0
-ff
-ff
-60
+68
+02
+4c
+29
+98
 00
-c7
-c3
+12
+00
+68
+08
+80
+17
 20
+40
+29
+1f
 20
-3f
-90
-68
-01
-46
-9f
+40
+29
+24
 20
-7a
-00
-00
-70
-48
-06
-01
-70
-48
-07
-0a
+40
+02
+26
+20
+57
+82
+62
 20
 60
 00
 00
-70
-47
-9e
-01
 20
 40
-58
-14
+02
+62
 20
 20
-03
-6d
-70
-4b
-00
 01
-20
-20
-00
-e6
-20
-77
-00
-00
+74
 68
 00
-c1
-e2
-20
-7a
+cc
+09
+1f
+e0
+fe
+01
+60
 00
+cc
+09
+68
 00
-20
+cc
+11
+c0
+ff
+81
+ae
+68
+08
+cc
+0a
+18
 40
-52
-71
-24
-7a
+84
+01
+60
+08
+cc
+0a
+68
 00
+cc
+46
+98
+46
+7e
 00
+24
+3a
+01
+6a
 68
 00
-c7
-9e
-20
-5a
+cd
+38
+c0
 01
-b8
+81
+0c
 68
-02
-46
-d3
-c2
-82
-bf
-8a
-c2
-84
-bf
-8a
-20
-40
-3f
-97
-24
-74
 00
+cd
+35
+1f
+e0
+fe
+01
+60
 00
-20
-40
+cd
+35
+c0
+01
+01
 01
-80
 20
 40
+00
+f5
+70
+4c
+46
 01
-83
 20
-40
+20
 01
-b3
+69
 68
 00
-cb
-05
-c0
+cc
+09
+c1
+ff
+80
 00
-81
-d1
-68
+70
+4c
+09
 00
-cb
-0c
-20
-7a
+58
 00
 00
+00
+60
+01
+4c
+07
+70
+0a
+99
+3a
 20
 20
-3f
-81
+7d
+86
+20
+40
+01
+d6
 68
 00
-c6
-9a
-60
-00
 cb
-06
-68
-00
-c6
-9b
-e0
-a0
-80
-00
-68
+ff
+20
+7a
 00
-c6
-9d
-e0
-a0
-80
 00
-68
-01
-46
-9f
-e0
-a1
+98
 00
+72
 00
-da
+d8
+c0
+4b
+7d
+d8
+a0
+4b
+df
+20
+20
+7f
+01
+70
+11
+c5
+90
+20
 20
-00
 07
+b3
+70
+11
+c5
+91
 20
-40
-4d
-63
+20
+07
+b3
+70
+11
+c5
+60
+20
+20
+07
+b3
+70
+11
+c5
+70
+20
+20
+07
+b3
+70
+11
+9e
+ff
 68
-01
-42
-4e
-e0
-a1
-00
-00
-58
 00
+cc
 02
-a1
-e0
-a1
-00
+60
 00
+91
+9f
 68
 02
-cb
-06
-e0
-a2
-80
-00
-20
+4c
+38
 60
+02
+11
+a0
+d8
+40
 00
-00
+06
+da
 20
-40
-7e
-34
+11
+9e
 20
 40
 01
-e5
+d1
 20
 20
-3e
-e0
-68
-08
-c6
-e7
+01
+f1
+79
+3f
+80
+26
 20
 40
+53
+ce
+d8
+e0
+00
 03
-cf
-68
-08
-c6
-e7
 20
-40
-68
-1d
 20
+43
+d2
+60
+08
+cc
+01
+18
+42
+72
+00
+d8
+a0
+4b
+9d
+1a
+22
+0c
+00
 20
-81
-f3
 20
-40
-03
-ca
+7f
+01
 68
 00
-c6
-b6
-c1
+cb
+7c
+1f
+e9
+7e
 00
+60
 00
+cb
+ff
+1f
+e0
+fe
+01
+d8
+c0
+4b
+7c
+98
+c0
+8c
 00
-70
-46
-b6
+e8
+c1
+80
 00
+60
+01
+cc
+3e
 68
 00
-c7
-7a
+cb
+7c
 1f
-e0
-fe
-01
+e3
+7e
+00
 1f
 e1
 7e
 03
 60
 00
-c7
-7a
-20
-20
-3d
-7e
-20
-40
-03
-ca
-20
+cc
+44
 20
-3d
-62
-1a
-62
-7e
+60
 00
-c0
-0a
-02
-03
-c0
-0a
-82
-0e
-c0
-14
-82
-11
-c0
-19
+00
+60
 02
-13
-c0
+4c
+29
+da
 20
-02
-15
-c0
-02
-02
-17
-c0
-09
-82
-17
-c0
-0c
-b3
+00
+00
 df
+20
+00
+04
+d8
 c0
-10
-82
-1b
+4c
+29
+e8
 c0
+80
+00
+9a
+20
+a2
+00
+c2
 00
-82
-1d
-c0
 01
-02
-23
-c0
-15
-82
-26
-20
-20
-41
-7d
-20
-40
+e7
+1a
+22
+7e
+00
+60
 01
-bb
-20
+4c
+b2
+68
+00
+cc
+b2
+68
+08
+cc
+b3
+98
 40
-34
-10
-70
-4b
-71
-01
+fe
+00
+60
+00
+cc
+b4
+20
+60
+00
+00
 68
 00
-c7
-a1
-24
-3a
+cc
+01
+1f
+e0
+fe
 02
-09
-70
-4b
-6f
-14
-70
-4b
-79
+60
 00
-70
-4b
-6d
+cc
+03
+68
 00
-20
-40
+cc
 02
-ac
-20
+60
+00
+cb
+bd
+68
+00
+cc
+01
+1f
+e9
+fe
+00
+68
+08
+cc
+00
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cc
+3d
+98
 40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cc
 01
+98
+00
+72
+00
+d8
+c0
+4b
 9d
 20
 20
-41
-c3
+7f
+01
+68
+08
+cc
+0c
 20
 40
 02
-2b
-70
-11
-c6
-a2
-20
-20
-05
-c7
-70
-0a
-99
-12
-20
-20
-7d
-8f
-70
-11
-c6
-b3
-20
-20
-05
-c7
-70
-11
-c6
-a1
-20
-20
-05
-c7
-70
-11
-c6
-a3
-20
-20
-05
-c7
-70
-11
-c6
-70
-20
-20
-05
-c7
-70
-11
-c6
-b1
-20
+07
+60
+08
+cc
+0c
 20
-05
-c7
+60
+00
+00
 20
 40
 02
-45
-20
+0b
+18
 40
+84
 01
-bb
+18
+41
+04
+03
 20
-40
-02
-ac
+60
+00
+00
+68
+00
+cc
+29
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4c
+12
+9a
 20
+fe
+00
+98
 40
-02
-e7
-70
-48
-09
+8c
 00
+e8
+c0
+80
+00
+60
+00
+cc
+0b
 20
-20
-42
-ca
-20
-40
-02
-2b
-70
-11
-c6
-b4
-20
-20
-05
-c7
-70
-11
-c6
-b2
-20
-20
-05
-c7
-20
-40
-02
-2b
-70
-11
-c6
-a0
-20
-20
-05
-c7
-68
-00
-cb
-00
-20
-7a
-00
+60
 00
-70
-4b
 00
+78
+44
+fc
 00
-20
-40
+78
+43
+fc
 00
-e6
 58
+55
+55
+55
+98
 00
+1e
 00
-06
-20
-40
-64
-14
-1f
-e1
-fe
-08
+68
+00
+cc
+0b
 1f
 ed
-7e
+84
 00
-1f
-e0
-fe
-06
+79
 20
+04
+01
+18
+43
+1c
+00
 20
-64
-13
+60
+00
+00
 20
 40
+53
+c4
+68
 02
-ff
-20
-40
-03
-5d
+4c
+29
+98
+00
+12
+00
 20
 40
-02
-af
+29
+18
+68
+08
+cc
+0b
 20
 40
-02
-8b
+29
+1f
+58
+00
+05
+00
 20
 40
-02
-a2
+2a
+8f
 20
 40
-42
-34
+29
+24
 20
 40
 02
-4b
-20
-40
-42
+14
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4c
+04
+98
+00
+36
+00
 37
-20
-40
+c1
+84
+00
+24
+2c
 02
-71
+66
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
 20
 40
 02
-74
+5f
+60
+00
+cc
+b5
+68
+08
+cc
+b4
+98
+46
+7c
+00
+24
+22
+82
+62
 20
 40
 02
+5f
+60
+00
+cb
+7b
+68
+00
+cc
+47
+1f
+e6
 7c
-20
-40
 02
-83
 20
-40
+22
+82
+42
+68
+00
+cb
+7b
+68
+08
+cc
 02
-69
-20
+a8
 40
-42
-31
+0e
+00
+24
+20
+82
+62
 20
 40
 02
-6c
-20
-20
-42
-3a
-d8
+5f
 e0
+a0
+80
 00
-07
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
 20
+22
+82
+4a
 20
-43
-ce
-70
-4b
-ad
-01
+40
+02
+5f
+e0
+a0
+80
+00
+c2
+00
+02
+47
+18
+a2
+22
+00
 20
+40
+02
+5f
 60
 00
+cd
+3c
+1a
+22
+0a
 00
-70
-4b
-ad
+09
+80
 00
-20
+18
+78
+28
+7c
+00
+db
 60
+06
+64
+1f
+ef
+7e
 00
+1f
+f1
+7e
 00
-68
+e0
+a1
+80
+00
+78
+45
+fc
 00
-cb
-ad
-20
-3a
-02
-57
 20
-40
+23
 02
-93
-68
-00
-c6
-d9
-c1
+62
+78
+37
+fc
 00
+68
 00
+80
+17
+1f
+e0
+a2
 00
-68
-01
-46
-a8
-60
-01
+20
+40
+29
+81
+78
 46
-ae
-18
+fc
 00
-0e
-03
-68
-01
+20
 40
-b9
+29
+18
+68
+00
+cd
+3c
 20
 40
-7f
-08
-70
-46
-d9
 00
+6b
 20
 60
 00
 00
-68
-00
-c6
-d9
-c1
-00
+09
 80
 00
-68
+08
+19
+89
+7e
 00
-cb
-48
-1f
-e6
-7c
-14
-24
-41
-02
+20
 60
-68
 00
-c6
-85
-60
 00
-cb
-48
-70
-46
-d9
-01
-20
-60
+78
+4d
+fc
 00
+78
+45
+fc
 00
-68
-08
-c7
 20
-18
 40
-84
-01
-68
-00
-c6
-d2
-98
-46
-7c
-00
-24
-41
-43
-cc
-60
-08
-c7
+26
+4d
 20
-70
-41
-bd
+60
+00
 00
 20
-40
-01
-1f
 20
+02
+62
 20
-43
-78
-da
-60
-48
-09
-da
 40
-63
-7a
-20
-20
-33
-6d
-da
-60
-4b
+29
+18
+68
+08
+cc
 0b
-da
-40
-02
-6f
 20
 20
+29
 33
-6d
-70
-4b
-0c
-01
 20
-60
-00
-00
-da
-60
-46
-c6
-da
 40
-3d
-60
-20
-20
-33
-6d
+53
+c4
 68
+02
+4c
+29
+98
 00
-cb
-71
-20
-7a
-00
+12
 00
-da
-60
-4b
-6f
-da
+20
 40
 02
-79
+14
 20
+40
+02
+67
+79
 20
-33
-6d
-68
+2a
 00
-cb
-70
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
 24
-7a
+fc
 00
+68
 00
-20
-20
-5b
-f5
-da
-60
-4b
-45
-da
-40
-02
-7f
-20
-20
-33
-6d
+cc
+b4
+08
+00
+86
+08
 68
 00
-c7
-c5
-60
+cc
+03
+98
 00
-c1
 72
-70
+00
+d8
+c0
 4b
+bd
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+02
+80
+78
+24
+7c
+00
+08
+00
+86
+18
+78
 44
-01
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
 20
 60
 00
 00
+20
+40
+7f
+e9
 68
+0a
+4c
+22
+1c
+42
+7e
 00
-cb
-77
-c1
-ff
-80
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
 00
 68
+02
+4c
+22
+68
+08
+cc
+26
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
 00
-cb
-71
 24
-7a
+61
 00
 00
-da
+79
+3f
+fe
+1c
 60
-4b
-b6
-da
-40
 02
-8a
+4c
+22
 20
 20
-33
-6d
+7f
+e7
 20
+40
+29
+bb
 20
-03
-e1
-da
-60
-48
-07
+7a
+00
+00
+68
+08
+cc
+bb
 da
-40
-02
-8e
 20
+0d
+9e
 20
-33
-6d
-70
-48
-06
-00
+40
+02
+a1
+60
+08
+cc
+bb
 20
 60
 00
 00
-d8
+1a
+22
+7e
+00
+98
+40
+8a
+00
+68
+00
+80
+18
 e0
+a0
+80
 00
-09
-20
+18
 40
-43
-d2
-20
+84
+01
+18
+41
+04
+07
 20
-43
-ca
-da
 60
-4b
-48
-da
+00
+00
+d8
 40
-02
-96
-20
-20
-33
-6d
-68
 00
-c7
+00
+df
 20
-c1
-01
 00
+08
+1a
+22
+0c
 00
-68
-01
-46
-82
-2f
-ef
-fe
-0b
-20
-40
-c2
-d4
-68
-01
-46
-82
-2f
-ef
-fe
-07
-20
+e8
+c0
+80
+00
+98
 40
-c3
-92
-20
-20
-43
-b8
-68
-01
-46
-87
-60
-01
-46
-ac
-20
-60
+84
 00
+c2
 00
-68
+02
+ab
+18
+49
+7e
 00
-c7
-9f
-20
-7a
+1f
+e2
+04
 00
+c6
+93
 00
-da
-60
-47
-a0
-da
-40
-02
-a7
-20
-20
-33
-6d
-70
-47
-9f
 00
-20
-20
-34
+1f
+e6
+fc
 0a
-70
-47
-9f
-01
-70
-47
-a0
-28
 20
-60
+40
+7f
+86
+18
+07
+fe
 00
+1f
+f2
+7e
 00
-70
-47
-9f
+18
+07
+04
 00
-70
-47
-a0
+98
+41
+84
 00
 20
 60
 00
 00
-68
-00
-cb
-26
 20
-7a
+60
 00
 00
-68
+c6
+13
 00
-cb
-29
-c0
 00
-82
-c4
+20
+40
+03
+f2
 20
 40
 02
-d1
+c3
 68
 00
-cb
-2e
-1f
-e0
-fe
-01
-60
+c0
+40
+c3
 00
-cb
-2e
+02
+c0
 68
-08
-cb
-2a
-98
-46
-7c
 00
-20
-42
-82
-bb
-20
-60
+80
+a0
+24
+7a
 00
 00
-70
-4b
-30
+58
 00
-20
-20
-02
-ed
-70
-4b
-2b
-05
-70
-4b
-2f
 00
-70
-4b
-2d
-01
-70
-4b
-2c
-05
-70
-4b
-26
-01
-70
-4b
-29
-01
+00
+60
+04
+00
+a1
 20
 60
 00
 00
-da
-60
-4b
-2c
-da
+20
 40
 02
-c7
+d9
 20
+40
+02
+c0
 20
-33
-6d
-68
-00
-cb
-2b
-60
-00
-cb
-2c
-68
-00
-cb
-2f
+40
+3e
+bf
 20
+40
+03
 3a
-02
-cf
 68
+12
 00
-cb
-2d
-20
-3a
-02
-eb
-1f
-e0
-ff
-ff
-60
+70
+68
+1a
 00
-cb
-2d
-68
-00
-cb
-28
-c0
-00
-82
-ed
-70
-4b
-28
-01
-68
-00
-cb
-2e
-24
-3a
-02
-da
-68
+78
+98
+41
+84
 00
-cb
-30
-24
-3a
-02
-da
-68
+18
+44
+04
 00
-cb
-29
-24
-3a
-02
-da
-68
+60
+1a
 00
-c2
-31
-c2
-80
-02
-df
-68
-08
-cb
-27
-79
-20
-04
-07
-20
-40
-68
-0e
-68
-08
-cb
-27
-20
-20
-68
-29
-70
-4b
-b1
-01
+7c
 68
 10
 80
@@ -2955,1191 +2875,1407 @@
 79
 3f
 fe
-05
+06
 60
 10
 80
 7c
 68
-08
-cb
-ae
+10
+80
+7c
+79
 20
-40
+7e
+05
+60
+10
+80
+7c
 68
-0e
+10
+80
+7d
+79
+3f
+fe
+02
+60
+10
+80
+7d
 68
-08
-cb
-ae
-20
+10
+80
+7e
+79
+3f
+fe
+06
+60
+10
+80
+7e
 20
-68
-25
-68
-00
-cb
-2e
-24
-7a
+60
 00
 00
 68
 00
-cb
-30
-24
+ca
+fe
+20
 7a
 00
 00
-58
-00
-00
+20
+20
+3d
+80
+20
+40
+29
+6c
+20
+40
+34
+16
+20
+40
+74
+b9
+20
+35
+82
+f1
+20
+40
 00
-60
 01
-cb
-2c
-68
-00
-cb
-2d
-24
-3a
+d8
+40
 02
-f1
-70
-4b
-26
-00
-70
-4b
-29
+58
+68
+01
+46
+aa
+98
+46
+04
 00
-70
+60
+09
 4b
-2e
-00
+59
+20
+40
+02
+f2
 70
 4b
-28
-00
+50
+19
+20
+40
+05
+3c
+da
+20
+47
+21
 68
 00
-cb
-27
-c1
-7f
-80
-00
+c7
+20
 68
 08
-cb
-27
-20
-40
+c7
 03
-ca
-70
-4b
-b1
+98
+46
+7c
 00
+20
+22
+83
+b3
 68
-08
-cb
-ae
+00
+c2
+10
+c0
+19
+82
+f5
+c0
+1a
+02
+f9
+20
+60
+00
+00
 20
 20
 03
-d5
-70
-4b
-30
-01
-70
-4b
-26
-01
-70
-4b
-29
+14
+68
 00
-70
-4b
-2e
+cc
+b8
+60
 00
+c1
+de
 20
 60
 00
 00
+70
+4b
+55
+01
 68
+03
+41
+d0
+20
+3a
+33
+eb
+20
+20
+42
+74
+70
+47
+9f
 01
-4b
-2d
-24
-7a
-00
-00
 68
-00
-c6
-ce
-1f
-e0
-fe
 01
-60
-00
-c6
-ce
-1f
-e6
+46
+a8
+68
+08
+cb
+61
+18
+46
 7c
-0a
-20
-41
-03
-13
+ff
 24
-41
-03
-17
-20
-40
+22
+82
+ff
+58
+00
+02
+58
+70
+47
+9f
+01
 68
+01
+46
 a8
+60
+01
+46
+ae
 20
 40
-03
-33
-20
-40
-69
-08
+34
+18
+68
+01
+cb
+65
 60
 01
-47
-0f
-da
-20
-47
-09
+c3
+74
 20
 40
 03
-3a
-68
+0b
+58
 00
-c2
-31
-c2
-81
-02
-47
-c2
+00
+04
+e0
+c0
 80
-b4
-0a
-c3
 00
-03
-2e
-70
-4a
-ff
-01
+d8
+c0
+43
+90
+20
+40
+05
+d6
+20
 20
+7d
+f4
+da
 20
 43
-e7
-68
-00
-cb
-b1
-24
-3a
-03
-17
 70
-42
-2d
-02
+ea
 20
-60
+80
 00
+20
+7a
 00
-70
-46
-ce
 00
-70
-42
-2d
+98
+c0
+a2
 00
-20
-60
+e8
+c0
+80
 00
+c1
 00
-68
+80
 00
-c2
-2d
-c0
-01
+20
+20
 03
-1d
+0c
+70
+11
+c5
+61
 20
 20
-69
-0a
-68
-01
-42
-23
-68
-09
+07
+b3
+70
 42
-1d
-da
-60
-00
-32
+12
+76
+20
 20
+3d
+36
 20
+40
 03
+14
+20
+40
+40
+c0
+20
+40
+40
+d9
+c0
+18
+83
 21
-98
-46
-22
-00
-68
-01
-42
-2f
-98
-46
-7e
+20
+40
+40
+d1
+20
 00
-24
-21
 03
-26
+e8
 20
 20
-69
-1e
+03
 18
-42
-7e
-00
-68
-09
-42
-2f
-98
-46
-7e
-00
-9a
-26
-7c
-00
+70
+4a
+fe
+01
 20
-41
+40
+64
+0f
+20
+40
 03
-2c
+16
 20
 20
-69
-2a
-1a
-22
-7e
+64
+11
+20
+40
+03
+2e
+68
 00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
 20
 60
 00
 00
+70
+41
+72
+00
+70
+4b
+6b
+1e
 20
-40
-43
-e9
+60
+00
+00
 68
 00
-ca
-ff
-20
-7a
+cb
+6a
+c1
+80
+80
 00
+58
 00
-70
-4a
-ff
 00
+00
+60
+00
+cb
+6a
+60
+02
+46
+9b
+20
+40
+03
+14
+58
+00
+80
+06
 20
+40
+64
+13
 20
-02
-f7
+00
+2e
+e0
 68
 00
-c2
-2d
+c7
+7a
 c0
-01
+7f
+bd
+66
+20
+20
+3d
+80
+20
+40
 03
-36
+14
+58
+00
+08
+06
+20
+20
+64
+13
+70
+11
+c5
+80
 20
 20
+07
+b3
 68
-ec
+08
+cb
+43
+20
+20
+68
+25
+70
+80
+86
+40
+70
+80
+87
+00
 68
 10
 80
-7c
+81
 79
 3f
 fe
-05
+00
+79
+3f
+fe
+01
+79
+20
+7e
+03
+79
+3f
+fe
+04
 60
 10
 80
-7c
-20
-20
-68
-f4
-ea
-24
+81
+58
+00
 00
 00
 60
-04
-0a
-9a
+02
+01
+f5
 68
+10
+80
+7f
+79
+3f
+fe
 00
-c2
-2d
-c0
-01
-03
-4b
-c0
+60
+10
+80
+7f
+20
+60
 00
-03
-3f
-68
-01
-0a
-a0
-68
-09
-0a
-9c
-98
-46
-7c
 00
-24
-21
-69
-44
 20
 40
 03
-51
+aa
+20
+40
+44
+23
 68
-09
-0a
-9e
+01
+47
+78
+d8
+40
+aa
+55
 98
 46
 7c
 00
-24
-21
-69
+20
+22
+83
+87
+60
+09
+47
+78
+20
 40
+44
+1c
 68
 00
-c2
-31
-79
-3f
-fe
-00
-60
-00
-c2
-31
-20
+c6
+e1
 60
 00
-00
+c7
+7a
 68
-09
+02
 4b
-ab
-68
-01
-0a
-a0
-98
-46
-7c
-00
-24
-21
-03
-55
+51
+60
+02
+47
+7b
+60
+02
+4c
+29
 20
 40
-02
-49
+03
+9b
 20
+40
+03
+aa
 20
+40
 03
-59
-68
-08
-c2
-31
-79
-3f
-84
-01
-60
-08
-c2
-31
+66
 20
-60
-00
-00
-68
-08
-c2
-31
-79
+40
+03
+7e
 20
-04
-02
-60
-08
-c2
-31
+40
+03
+6a
 20
-60
-00
+40
+03
+75
+d8
+40
 00
-68
-08
-c2
-31
-79
-3f
-84
 02
-60
-08
-c2
-31
+da
 20
-60
-00
+47
+c2
+da
+40
 00
+5f
 68
-02
-46
-d3
-c4
-02
+01
+c7
 00
+9a
+40
+fe
 00
+20
+40
+03
+6a
+20
+40
+03
+75
+20
+40
+03
+a1
+20
+20
+03
+14
 68
 01
-46
-82
-c3
-85
-80
+c7
 00
-c3
-83
+60
+01
+c2
+32
+20
+40
+65
+2a
+20
+20
+03
+75
+1f
+e2
+26
 00
+1a
+22
+7e
 00
-68
-01
-4b
-2d
+1f
+e0
+ff
+fc
+1f
+e2
 24
-7a
 00
+ea
+42
 00
-68
 00
-c6
-cf
-1f
-e0
-fe
-01
 60
+02
+4b
+4c
+1a
+62
+7e
 00
-c6
-cf
-c0
+20
+40
+65
+52
+68
 02
-82
-d1
-1f
-e6
-7c
-0a
-24
-21
-03
-6b
+4b
+4c
+e2
+42
+00
+00
 20
 60
 00
 00
-70
-46
-cf
+58
 01
+86
+a0
 20
-20
-02
-ed
+40
+2a
+8f
 20
 40
+65
+0b
+58
+00
 01
-2d
+fa
+60
+11
+00
+8c
 58
 00
-80
-06
+00
+05
 20
 40
 64
-13
+f3
+c2
+80
+03
+75
 20
+60
 00
-2e
-e0
-68
 00
-c7
-7a
-c0
-ff
-83
-75
-68
+58
 00
-c6
-e1
-60
+47
+7f
+d8
+40
+47
+20
+98
+46
+04
 00
-c7
-7a
 68
-00
-c7
-7a
-1f
-e6
-7c
 01
-20
-42
-83
-82
-68
-00
 c7
-7a
-c0
 00
-03
-84
-c0
-01
-83
-8a
-68
+da
+20
+47
+20
+20
+60
 00
-c6
-e0
-c0
-03
+00
+20
+40
 03
-90
-c0
+aa
+20
+40
 03
-83
-90
-c0
-01
+7e
+20
+20
+65
+62
+20
+40
 03
-96
-68
-00
-c7
-81
-60
-00
-c6
-b5
+84
 20
+40
+03
+ac
 20
-3d
-c1
-70
+40
+43
+1a
+68
+02
 47
-7a
+7b
+60
 02
+4c
+29
+df
 20
-60
-00
 00
-68
-00
-c6
-e0
-c0
-03
 03
-92
+d8
 c0
+47
+22
+20
+40
 03
-83
 92
-c0
-01
+24
+34
 03
 99
-68
-00
-c7
-7f
-20
 20
-03
-80
-68
-00
-c6
-e0
-c0
-03
-03
-94
-c0
-03
-83
-94
-c0
-01
+40
 03
 9b
-68
-00
-c7
-82
-20
 20
-03
-80
-68
+60
 00
-cb
-3a
-20
-20
-03
-80
-68
 00
-cb
-38
-20
 20
-03
-80
-68
+40
+7f
+e7
+58
 00
-cb
-3b
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+03
+94
 20
+60
+00
+00
+70
+4b
+61
+5a
 20
-03
-80
-68
+60
 00
-cb
-3a
-1f
-e0
-fe
-03
+00
+70
+4b
+61
+ff
+70
+42
+10
+34
+58
+0f
+0f
+0f
+60
+01
+c4
+a0
+60
+01
+c4
+a3
 20
+60
+00
+00
+70
+0a
+a2
+b9
 20
+40
 03
-80
-68
+3c
+20
 00
-cb
-38
+00
+64
 20
+40
+65
+0b
+da
 20
-03
-97
+4b
+4c
 68
-00
-cb
-3b
+08
+8a
+a2
 20
+40
+65
+56
 20
-03
-97
-78
-54
-7c
 00
-58
 00
+64
+20
+60
 00
 00
-60
-03
-46
-9b
+70
+0a
+a2
+ab
+20
 20
-40
 03
-d7
+a2
 20
 40
+03
+aa
+d8
 40
-79
-20
-40
-40
-7e
+00
+02
+da
 20
+47
+c2
+da
 40
-03
-a7
-24
-34
-05
-f1
-20
+00
+5f
+68
+01
+c7
+00
+9a
 40
-05
-e8
+fe
+00
 20
 20
-3f
-a0
+65
+62
+58
+00
+00
+00
+60
+01
+4c
+2e
 20
-40
-03
-a9
 20
+01
+c0
+68
+00
+c7
 20
-40
-9a
-da
+c1
+81
+00
+00
+68
+00
+cb
+5d
 20
+7a
 00
 00
+1f
+e0
+ff
+ff
+60
+00
+cb
+5d
 20
-40
+3a
+34
+0a
+1f
+e1
+7e
+0f
+c0
+02
+83
+d8
+c0
+05
 03
-af
+d5
 20
-40
+60
+00
+00
+68
+00
+c6
+ac
+20
+7a
+00
+00
+68
+00
+cb
+5c
+1f
+e0
+fe
+01
+60
+00
+cb
+5c
+c0
+02
+83
+e5
+c0
+05
 03
-ad
+e0
 20
+60
+00
+00
+68
+00
+cb
+50
 20
-40
-8e
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cb
+50
+68
+00
+c7
 20
-40
+c0
+01
 03
-bf
+d2
+68
+00
+cb
+50
+c2
+80
+83
+e1
 20
 20
 03
-c5
+e5
 68
-08
-c6
-e2
+00
+cb
+50
+c2
+80
+83
+d8
+20
 20
-40
 03
-ca
+d5
+70
+4b
+49
+00
 68
 08
-c6
-e2
+cb
+4a
 20
-40
+20
+05
+bd
+70
+4b
+49
+01
 68
-1d
+10
+80
+7c
 79
-20
-a2
-00
+3f
+fe
+05
+60
+10
+80
+7c
 68
 08
-c6
-e3
+cb
+4a
 20
 40
-03
-ca
+68
+0e
 68
 08
-c6
-e3
+cb
+4a
 20
-40
-68
-1d
-79
 20
-a2
-01
 68
-08
-c6
-e4
-20
-40
-03
-ca
+25
+70
+4b
+5c
+00
 68
 08
-c6
-e4
+cb
+4b
 20
 40
 68
-1d
-79
+0e
+68
+08
+cb
+4b
 20
-a2
-02
 20
-60
-00
-00
+68
+29
 68
 08
-c6
-e5
+cb
+4b
+20
+20
+05
+c8
 20
 40
 03
-cf
-68
-08
-c6
 e5
 20
-40
-68
-1d
-7d
-20
-a2
-03
-20
 20
 03
-ca
-68
-08
-c6
-e6
+d5
+70
+4b
+50
+00
 20
-40
-03
-cf
-68
-08
-c6
-e6
+60
+00
+00
 20
 40
+44
+01
 68
-1d
-7d
+01
+46
+9f
 20
-a2
-04
-79
+7a
+00
+00
+70
+4d
+41
+01
+58
+00
+00
+00
+60
+01
+4d
+42
 20
-04
-07
+60
+00
+00
+d8
+c0
+18
+00
 d8
 a0
-80
-78
+48
+0a
 20
 40
-68
-30
-79
-3f
-84
-07
-20
-20
 03
-d3
-79
-3f
-84
-07
+fa
 d8
-a0
-80
-78
+c0
+19
+00
 20
 40
-68
-30
-79
-20
-04
-07
+03
+fa
 d8
-a0
-80
-7c
-20
-20
-68
-0a
-79
-3f
-84
-07
-20
-20
-68
-06
-20
-40
-3f
 c0
-78
-54
-7c
+1a
 00
 20
-20
-3f
-e7
-20
 40
-02
-ac
-70
-46
-b4
-00
-68
+03
+fa
+d8
+c0
+1b
 00
-cb
-79
+df
 20
-5a
-43
-86
-58
-00
 00
-00
-60
-01
-46
-b0
-20
-20
-42
-6f
-70
-11
-c6
-30
+1b
 20
 20
-05
-c7
+7f
+01
+d8
+c0
+48
+0a
 d8
 a0
-43
-7b
-df
-20
+18
 00
-13
 20
 40
-7f
-01
-20
-20
-57
-b8
+03
+fa
+d8
+a0
+19
+00
 20
 40
-02
-e7
+03
+fa
+d8
+a0
+1a
+00
 20
 40
 03
-6d
+fa
+d8
+a0
+1b
+00
 20
 20
-42
+03
+fa
+20
+40
+58
+92
+24
+7a
+00
+00
+68
+00
 cb
+61
+c0
+7f
+84
+0c
 68
 00
+c6
 c5
-0f
 1f
-e0
-fe
-01
-60
+e1
+7e
+03
+c1
+81
+80
 00
-c5
-0f
-c0
-06
-53
-95
+68
+00
+c7
+9c
+20
+5a
+04
+59
+68
+02
+46
+d3
+c2
+82
+c1
+79
 20
 40
-55
-aa
+3f
+97
+24
+74
+00
+00
 20
 40
-56
-1e
+03
+26
 20
 40
-05
-69
+03
+29
+20
+40
+04
+2f
+da
 20
+46
+9a
 20
-53
-8f
+40
+7e
+3d
+20
+54
+04
+1e
+20
+60
+00
+00
+70
+47
+a0
+07
+70
+47
+a1
+04
+58
+00
+47
+a0
+60
+01
+42
+18
+20
+20
+7e
+38
 68
 00
-80
-16
+c7
+c1
 1f
 e0
 fe
 01
 60
 00
-80
-16
+c7
 c1
-94
-00
-00
-70
-00
-16
-25
 20
 60
 00
 00
+da
 20
-40
-29
-bb
+46
+9a
 20
 40
-00
-6c
-20
-20
+7e
 54
-a3
-70
-11
-c6
-20
-20
-20
-05
-c7
-70
-11
-c6
-21
 20
+34
+04
+26
 20
-05
-c7
-68
+60
+00
 00
-84
-56
-c2
-82
-84
-1f
 20
 40
-05
-63
+56
+52
 68
 00
 c7
-8e
+c1
+1f
+e6
+7c
+01
 24
-3a
-04
-09
-68
-00
-84
-3f
-c3
-02
-04
-0d
-68
-00
-82
-da
-20
-3a
-04
-0d
-20
-20
+41
 56
-64
+50
 68
 00
 c7
-8e
+c1
+20
+7a
+00
+00
 1f
 e0
 ff
@@ -4147,1374 +4283,1082 @@
 60
 00
 c7
-8e
+c1
 20
 20
-56
-64
+3f
+90
 68
+01
+46
+9f
+20
+7a
+00
 00
-c4
-c4
-c0
-82
-84
-10
 70
-47
-8e
-03
-20
-40
-58
-92
-20
-5a
+48
+06
 01
-a6
+70
+48
+07
+02
 20
+60
+00
+00
 20
-56
-22
-68
+77
 00
-c6
-c5
-1f
-e1
-7e
-03
-c1
-81
-80
 00
 68
 00
-c7
-c3
+c1
+e2
 20
 7a
 00
 00
-68
-00
-c3
-dd
 20
+40
+52
+71
+24
 7a
 00
 00
 68
 00
-c3
-dc
-79
+c7
+9c
 20
-7e
+5a
 04
-60
-00
-c3
-dc
+59
+68
+02
+46
+d3
+c2
+82
+bf
+8a
+c2
+84
+bf
+8a
 20
 40
-56
-50
-20
-60
+3f
+97
+24
+74
 00
 00
 20
 40
+03
+26
+20
+40
+03
+29
+20
+40
 04
-13
+2f
 68
 00
-cd
-76
-1f
-e6
-7c
-02
-24
-41
-05
-67
+cb
+03
+c0
+00
+84
+48
 68
 00
-cd
-76
-c1
-00
-00
-00
-1f
-e0
-ff
-ff
-60
-00
-cd
-76
-20
-60
-00
-00
-68
-00
-c7
-a1
+cb
+0a
 20
 7a
 00
 00
+20
+20
+3f
+81
 68
 00
 c6
-c5
-1f
-e1
-7e
-03
-c1
-01
-80
-00
-70
-46
-c6
-02
-20
+9a
 60
 00
+cb
+04
+68
 00
 c6
-07
+9b
+e0
+a0
 80
 00
-20
-40
-58
-90
-24
-7a
-00
-00
 68
 00
-82
-d9
-1f
-e1
-7e
-03
-60
-00
-c5
-0c
-e8
-c0
+c6
+9d
+e0
+a0
 80
 00
-1f
-e1
-7e
-1f
-60
-00
-c5
-0b
-20
-7a
-00
-00
-18
-c2
-7e
-00
-60
-01
-45
-0d
 68
-00
-c5
-0c
-c0
 01
-84
-3e
-20
-20
-56
-8d
-68
-00
-82
-db
-c0
+46
+9f
+e0
+a1
 00
-04
-42
-c0
 00
-84
-49
-20
+da
 20
-5c
-65
+00
+07
 20
 40
-5c
-7b
-68
-00
-cb
+4d
 63
-20
-7a
-00
-00
 68
+01
+42
+4e
+e0
+a1
 00
-c3
-d8
-60
 00
-c1
-72
-60
+58
 00
-c7
-c5
-20
-60
+02
+a1
+e0
+a1
 00
 00
-e8
-c2
+68
+02
+cb
+04
+e0
+a2
 80
 00
+20
 60
-02
-c3
-ce
-e8
-c1
 00
 00
-60
+70
+47
+9c
 01
-04
-5f
+20
+40
+58
+14
 20
 20
-5c
-8a
-e8
-c1
-00
-00
-c0
-02
-04
-52
-c0
 03
-04
+1d
+20
+40
 7e
+34
+20
+40
+04
+5f
 20
 20
-56
-98
+3e
+e0
+68
+08
+c6
+e7
 20
 40
-7e
-a5
+05
+bf
 20
 40
 04
-28
+64
+68
+08
+c6
+e7
+20
+20
+05
+c8
+68
+08
+c6
+e7
 20
 40
-7e
-9f
-e8
+68
+1d
+20
+20
+bd
+62
+68
+00
+c6
+b6
 c1
-80
 00
-60
-01
-84
-77
-c0
-08
-04
-61
-1f
-ec
-84
 00
-18
+00
+70
 46
-7c
-24
-20
-21
-04
-6f
-d8
-40
-47
-c6
-60
-09
-44
-bc
-20
-40
-58
-ad
-58
+b6
 00
-8e
+68
+00
+c7
 7a
-60
+1f
+e0
+fe
 01
-44
-bc
-20
+1f
+e6
+7c
+03
+24
+41
+7f
+ef
 60
 00
-00
+c7
+7a
 20
 40
-59
-fa
+3d
+7e
 20
-40
+20
+03
 58
-79
-18
+1a
+62
+7e
+00
 c0
-8c
-07
-e8
+0a
+04
+82
 c0
-80
-00
-c1
-88
-80
-00
-18
+0a
+84
+85
 c0
-8c
-05
-e8
-c1
-00
-00
-d8
-40
-18
-12
-98
-46
-7c
-00
-24
-62
-80
-00
-18
+14
+84
+89
+c0
+19
+04
+8b
 c0
-8d
-fc
-58
-00
-00
-2b
-e0
-c1
-00
-00
 20
-60
-00
-00
+04
+8d
 c0
-05
+02
 04
-71
-20
-20
-58
-ad
-68
+8f
+c0
 09
-04
-78
-68
+84
+8f
+c0
+0c
+b3
+df
+c0
+10
+84
+93
+c0
 00
-c4
-e9
-c2
-81
 84
-78
-68
+95
+c0
 01
 04
-78
+98
 c0
-09
-da
-76
-68
-09
+15
+84
+9b
+c0
+1c
+84
+9d
+c0
+1d
 04
-78
+a0
+c0
+1e
+04
+a4
 20
 20
-59
-bf
+41
+7d
+20
+40
+03
+1d
+70
+11
+c5
+b0
+20
+20
+07
+b3
+70
+4b
 68
-01
-44
-fa
-98
-46
-7c
 00
-24
-22
-84
-74
 20
 40
-5a
-42
-24
-34
 04
-74
+a9
+70
+11
+c5
+a2
 20
 20
-59
-e2
-e8
-c0
-80
-00
-c0
-00
-84
-82
-c0
-02
-84
-84
+07
+b3
+70
+0a
+99
+12
 20
 20
-5a
-f5
+7d
+8f
 70
-4b
+11
+c5
+b3
+20
+20
+07
+b3
 70
-01
+11
+c5
+a1
 20
 20
-5b
-09
+07
+b3
 70
 11
-c6
-82
+c5
+a3
 20
 20
-05
-c7
-68
-00
-80
-16
-c0
-93
-d6
-f2
+07
+b3
 20
 40
-04
-8c
-d8
-e0
-00
-00
-68
-01
-44
-82
+43
+8e
 20
 20
-7f
-08
-18
-0a
-7e
-00
-d8
-40
-01
-ff
-98
-41
-7e
-00
-1f
-e0
-fe
-fa
+33
+a7
+70
+11
+c5
+b1
 20
 20
-3c
-be
-78
-55
-fc
+07
+b3
+70
+48
+09
 00
 20
-37
-04
-94
-24
-36
-d8
-06
-20
 40
-2b
-cb
-68
-01
+03
+1d
+20
+20
+42
+ca
+20
 40
-c1
-60
-01
 04
-4d
-68
-00
-c6
+a9
+70
+11
 c5
-2f
-e0
-06
-03
-24
-20
-ab
-de
+b4
 20
 20
-57
-fb
+07
+b3
 70
 11
-c6
-22
+c5
+b2
 20
 20
-05
-c7
-68
-10
-80
-77
-1f
-e1
-7e
-fd
-60
-10
-80
-77
-68
-18
-80
-73
-18
-41
-84
-02
-60
-18
-80
-73
+07
+b3
 20
 40
-63
-ee
-18
-41
-04
-fd
+03
+1d
+70
+11
+c5
+92
 20
-00
-00
-0d
+20
+07
+b3
 20
 40
 04
-aa
-60
-18
-80
-73
-20
-60
-00
+a9
+70
+4b
+56
 00
+70
+11
+c5
+51
+20
+20
+07
+b3
 20
 40
-64
-dd
-68
-10
-80
-81
-79
+03
+1d
+20
 20
-7e
-00
-79
-3f
-fe
-01
-79
 3f
-fe
-03
-60
-10
-80
-81
+8d
 20
-60
-00
-00
+40
+04
+a9
 70
 11
-c6
-00
-20
+c5
+a4
 20
-05
-c7
 20
-40
-21
-c9
-24
-74
+07
+b3
+68
 00
+ca
+fe
+20
+7a
 00
-78
-54
-7c
 00
 70
+4a
+fe
 00
-11
 20
-79
-3f
-80
-0b
-79
-3f
-80
-2d
 20
-40
-2a
-4f
+03
+35
 20
 40
-22
-e6
-c5
 05
-84
-bf
+3c
 20
 40
-24
-55
-24
-3a
 04
-b8
-c5
-16
-84
-c8
-20
-20
-21
-ec
+be
 20
 40
-2a
-4d
-d8
+04
+e5
 20
-00
-10
+40
+05
+09
 20
 40
-22
-dc
-79
-20
-00
-2d
-79
-3f
-80
-0b
-68
-00
-80
-77
-98
-00
-08
-00
-70
-00
-11
-02
+42
+34
 20
+40
+42
+3a
 20
+40
 04
-b8
-68
-02
-01
-65
-1f
-e0
-fe
-08
-60
-02
-01
-65
-20
-20
-21
-f8
-c5
-16
-26
-4d
-20
-20
-25
-8f
-70
-11
-c6
-23
-20
-20
-05
-c7
-68
-00
-80
-30
-2f
-ef
-fe
-00
+ea
 20
 40
-84
-d4
-20
-20
-24
-8a
-68
-00
-80
-47
-2f
-ef
-fe
-03
+04
+f0
 20
 40
-84
+42
+37
 20
-24
 40
-85
-63
-20
-20
-05
-69
+04
+da
 20
 40
-24
-f0
-24
-2c
-28
-f9
+04
+dd
 20
 40
-29
-bb
+04
+d2
 20
 40
-00
-6c
-20
+42
+31
 20
-25
-18
-c6
-13
-00
-00
+40
+04
+d5
 20
 40
-2a
-fa
-68
-01
+03
 c1
-6f
 20
-7a
-00
-00
-68
-00
-c0
-91
+40
+03
+b6
 20
-7a
+20
+03
+c9
+68
+02
+46
+d3
+c4
+02
 00
 00
 68
 00
 c6
-5a
-20
+ae
+24
 3a
-04
-e8
+03
+d5
 68
 00
-c5
-b1
-20
-7a
-00
-00
+c6
+ac
+24
+3a
+03
+d5
 68
 00
-c4
-c0
+cb
+50
 24
-7a
-00
-00
-20
-40
-2c
 3a
-24
-7a
-00
-00
+03
+d5
 68
 00
-c0
-40
-2f
+c6
+cf
+1f
 e0
-0e
-03
+fe
+01
+60
+00
+c6
+cf
+1f
+e6
+7c
+14
 24
-20
-ab
-9d
-68
+41
+04
+d0
+c0
 01
-40
-42
+03
 d8
-40
-ff
-ff
-98
-46
-7c
-00
+c0
+02
+03
+d5
+c0
+03
+03
+d8
+c0
+04
+03
+d5
 20
-62
-80
+60
+00
 00
+70
+46
+cf
+01
 20
 20
-2b
-7d
-78
-55
-fc
-00
-68
-00
-80
-30
-c4
-00
-80
-00
-24
-36
-ab
-d0
+03
+d5
+da
+60
+48
+09
+da
+40
+63
+7a
 20
+20
+33
+6d
+da
+60
+4b
+09
+da
 40
-2b
-cb
-68
+04
+d8
+20
+20
+33
+6d
+70
+4b
+0a
 01
-40
-c1
+20
 60
-01
 00
-3e
+00
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
 68
 00
+cb
+61
+c1
+ff
 80
-47
-c2
-81
-ab
-de
-c5
-86
-ab
-de
-20
-40
-52
-74
+00
+68
+00
+cb
+68
 24
-3a
-2b
-de
+7a
+00
+00
+da
+60
+4b
+69
+da
+40
+04
+e4
+20
+20
+33
+6d
+20
 20
-5a
 05
-02
+d3
+da
+60
+48
+07
+da
+40
+04
+e8
 20
 20
-2b
-be
+33
+6d
 70
+48
+06
 00
-8a
-01
-70
+20
+60
 00
-8b
 00
+da
+60
+4b
+6b
+da
+40
+04
+ed
 20
+20
+33
+6d
+68
+00
+c7
+c5
 60
 00
+c1
+72
+20
+20
+04
+f5
+da
+60
+4b
+6c
+da
+40
+04
+f3
+20
+20
+33
+6d
+58
+0e
+a6
 00
+60
+01
+cc
+30
 70
-11
-c6
+4b
+6a
 01
 20
-20
-05
-c7
-70
-11
-c6
-02
+60
+00
+00
+da
+60
+4b
+44
+da
+40
+04
+fa
 20
 20
-05
+33
+6d
+68
+08
 c7
+20
 68
 00
-85
-52
-60
+c7
+03
+98
+46
+7c
 00
-84
-c9
-c0
-09
-85
-0d
 20
+62
+80
+00
+68
+01
+46
+82
+2f
+ef
+fe
+0b
 20
-5d
-b4
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
 20
 40
-5d
-cf
+c3
+92
+20
+20
+43
+b8
 70
 4b
+60
 01
-01
-68
-00
-cb
-03
 20
-7a
+60
 00
 00
 70
 4b
-03
-02
+60
+00
 20
 60
 00
 00
-78
-54
-7c
+68
 00
+cb
+60
+20
+3a
+05
+15
 20
 40
-62
-c1
+04
+f7
 68
 00
-80
-48
-20
-7a
+c6
+d9
+c1
 00
 00
-c2
-83
-85
-1c
-c0
+00
+68
 01
-85
-1e
-c0
-18
-85
-20
-c0
-0b
-85
-22
-20
-20
+46
+a8
 60
-10
-70
-11
-c6
-10
-20
-20
-05
-c7
-70
-11
-c6
-11
-20
-20
-05
-c7
-70
-4b
+01
+46
+ae
+18
+00
+0e
 03
+68
 01
-20
-20
-61
-c3
-70
-4b
-0b
-04
-20
-20
-61
-a4
+40
+b9
 20
 40
-62
-bc
-24
-7a
-00
-00
-68
+7f
+08
+70
+46
+d9
 00
-80
-55
 20
-7a
+60
 00
 00
-c0
-02
-05
-46
-c0
-08
-05
-2b
-20
-20
-63
-20
 68
 00
-c5
-5b
+c6
+d9
 c1
 00
-00
-00
-c0
-00
-85
-2f
-20
-20
-63
-5f
-20
-74
 80
 00
 68
 00
-81
-6d
-c2
-80
-05
-33
-20
-20
-63
-99
-68
-00
 cb
-03
-c0
-00
-e3
-9d
-68
-00
-c1
-bd
-20
-3a
-63
-a9
+44
+1f
+e6
+7c
+14
 68
 00
-84
-d1
-c4
-01
-80
-00
-c4
-01
-00
-00
-68
+c6
+85
+60
 00
 cb
-02
+44
+70
+46
+d9
+01
 20
-7a
-00
+60
 00
-70
-4b
-02
 00
 68
-02
-04
-e9
-d8
-40
-00
-14
-98
+08
+c7
+20
+18
 40
 84
+01
+68
 00
-1c
-42
-7e
-00
+c6
+d2
 98
 46
 7c
 00
 24
-21
-05
-44
-20
+41
+43
+cc
+60
+08
+c7
 20
-63
-49
 70
-4b
-02
-01
-20
-60
-00
+41
+bd
 00
-70
-48
-09
-14
 20
+40
+03
+58
+68
+02
+46
+d3
+c1
+04
+80
+00
 20
-63
-6f
 20
-40
-62
-bc
-24
-3a
-7d
-db
+43
+7e
 68
 00
-8a
-99
-c5
-84
-fd
-d6
-c0
-0f
-85
-50
-c0
-10
-05
-53
+c2
+2d
 c0
-09
+01
 05
-5d
+2b
 20
 20
-7d
-ca
-70
+69
+0a
+68
 01
-85
-34
+42
+23
 68
-03
-04
-4f
+09
+42
+1d
+da
+60
+00
+32
 20
 20
 05
-55
-70
-01
-85
-33
-68
-03
+2f
+98
+46
+22
 00
-40
-60
-03
-01
-86
 68
-02
+01
+42
+2f
+98
 46
-d3
-c4
-03
-80
-00
-d8
-e0
+7e
 00
-07
+24
+21
+05
+34
 20
-40
-43
-d2
 20
-40
+69
+1e
+18
 42
-e8
-20
-40
+7e
+00
+68
+09
 42
-fb
-20
-20
-01
-1f
-20
-40
-58
-90
-24
-7a
+2f
+98
+46
+7e
 00
+9a
+26
+7c
 00
 20
+41
+05
+3a
 20
-5a
-bf
-70
-4d
-79
-01
-70
-4d
-76
+20
+69
+2a
+1a
+22
+7e
 00
 20
 60
@@ -5522,2973 +5366,2688 @@
 00
 68
 00
-cd
-76
+c6
+ce
 1f
 e0
 fe
 01
 60
 00
-cd
-76
+c6
+ce
+1f
+e6
+7c
+05
 20
-60
 00
 00
-70
-4d
-76
-03
+64
 20
-60
-00
-00
+41
+05
+4e
+24
+41
+05
+52
+20
+40
 68
+a8
+20
+40
+05
+5d
+20
+40
+05
+28
+60
 01
-46
-82
-c3
-85
-80
-00
-c3
-83
-80
-00
-c3
-83
-00
-00
+47
+0f
 da
 20
-4c
-ff
+47
+09
 20
 40
-00
-9b
-60
-08
-cd
-77
-58
-00
-00
-82
-c5
-13
 05
-73
-58
-00
+67
+68
 00
-80
-98
-46
-7c
+c2
+31
+c2
+81
+05
+05
+c3
 00
-24
-21
 05
-8b
+55
+70
+4a
+fd
+01
+20
+20
+43
+e7
 68
 00
-cd
-76
-1f
-e6
-7c
-02
+cb
+49
 24
-21
+3a
 05
-7b
-68
+52
+70
+42
+2d
+02
+20
+60
 00
-cd
-76
-c0
 00
-05
-8c
+70
+46
+ce
+00
+70
+42
+2d
+00
 20
 60
 00
 00
+20
+40
+43
+e9
+70
+46
+cf
+0c
 68
 00
-cd
-76
-c1
-99
+ca
+fd
+20
+7a
 00
 00
 70
-4d
-76
+4a
+fd
 00
 68
-08
-cd
-77
-58
-00
-00
-77
-c5
-13
-05
-82
-58
-00
-00
-75
-98
-46
-7c
-00
-24
-61
 00
+c6
+ef
+60
 00
+c7
+15
+20
+20
+42
+96
 68
 00
-cd
-79
+c2
+2d
 c0
-00
+01
 05
-93
-1f
-e0
-ff
-ff
 60
-00
-cd
+20
+20
+68
+ec
+68
+10
+80
+7c
 79
-c0
-00
+3f
+fe
 05
-93
+60
+10
+80
+7c
 70
-41
-de
+89
+71
+8f
+68
 00
-20
+c2
+2e
 60
+10
+89
+73
+20
+20
+68
+f8
+ea
+24
 00
 00
-70
-4d
-76
-00
+60
+04
+0a
+9a
 68
 00
-cd
-79
+c2
+2d
 c0
 01
 05
-91
-1f
-e0
-fe
+78
+c0
+00
+05
+6c
+68
 01
-60
+0a
+a0
+68
+09
+0a
+9c
+98
+46
+7c
 00
-cd
+24
+21
+69
+44
+20
+40
+05
+7e
+68
+09
+0a
+9e
+98
+46
+7c
+00
+24
+21
+69
+40
+68
+00
+c2
+31
 79
-c0
+3f
+fe
 00
-85
-89
-70
-41
-de
-02
-20
 60
 00
-00
-70
-41
-de
-04
+c2
+31
 20
 60
 00
 00
-60
-08
-80
-17
-18
-40
-a2
+68
+09
+4b
+5e
+68
+01
+0a
+a0
+98
+46
+7c
 00
+24
+21
+05
+82
 20
 40
-29
-81
-58
-00
 05
-00
+07
 20
-40
-2a
-8f
-70
-89
-06
-01
-70
-89
-00
-3c
-70
-89
+20
+05
+86
+68
+08
+c2
+31
+79
+3f
+84
 01
-e0
+60
+08
+c2
+31
 20
+60
 00
 00
-0a
-70
-89
-02
-01
-70
-89
+68
+08
+c2
+31
+79
+20
+04
 02
-3d
+60
+08
+c2
+31
 20
+60
 00
 00
-0a
-70
-89
-03
-b7
+68
+08
+c2
+31
+79
+3f
+84
+02
+60
+08
+c2
+31
 20
+60
 00
 00
-0a
-70
-89
-02
-7d
-68
+78
+54
+7c
 00
-c1
-de
-c0
-01
-05
-ad
-c0
-02
-05
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+3f
 b5
-c0
-10
-05
-bf
 20
 40
-05
-ba
-70
-89
-55
-d0
-70
-89
-56
-e0
-70
-89
-58
-6c
+40
+79
 20
+40
+40
+7e
 20
-29
-4b
-70
-89
-4c
-fb
-70
-89
-4d
-ef
-70
-89
-4e
-ec
-70
-89
-4f
-5e
-70
-89
-55
-d0
-70
-89
-56
-e0
-70
-89
-58
-3c
+40
+05
+93
+24
+74
+00
+00
 20
 20
-29
-53
+3f
+a0
 20
 40
 05
-ba
-70
-89
-55
-d0
-70
-89
-56
-c0
-70
-89
-58
-6c
+95
 20
 20
-29
-5b
-70
-89
-4c
-5b
-70
-89
-4d
-96
-70
-89
-4e
-2c
-70
-89
-4f
-46
+40
+9a
+da
 20
-60
 00
 00
-70
-89
-56
-c2
-70
-89
-55
-d0
 20
-60
-00
-00
-18
-00
-2a
-08
+40
+05
+9f
 20
+40
+05
+a5
 20
-28
-fa
+40
+05
+ab
 20
 40
-29
-78
-70
-80
-42
 05
+9b
 20
-60
+20
+40
+8e
+68
 00
+c6
+e5
+c1
+7f
+80
 00
+20
+40
+05
+b1
+20
+20
+05
+b7
 68
 08
-91
 c6
-18
-51
-84
-00
-68
-00
-cb
-54
-98
-46
-7c
-00
+e2
 20
-22
-85
-e6
-60
+40
+05
+c8
+68
 08
-cb
-54
-18
+c6
+e2
+20
 40
-84
-01
-58
-00
-01
+68
+1d
+79
+20
+a2
 00
-98
-4f
-84
+20
+60
 00
-68
-01
-cb
-55
-98
-46
-7e
 00
 68
-09
-cb
-58
-98
-40
-fe
-00
-1f
-e0
-ff
-fb
-60
-01
-cb
-5b
+08
+c6
+e3
 20
 40
-01
-5d
+05
+c8
 68
-01
-cb
-5b
-d8
-40
-01
-00
-da
-20
-1f
-00
+08
+c6
+e3
 20
 40
-65
-62
 68
-02
-1f
-00
-68
-0a
-4b
-5e
-98
-46
-7c
-00
-24
-22
-85
-d7
+1d
+79
 20
-40
-01
-2d
-58
-00
-1f
-00
-60
+a2
 01
-41
-99
-70
-41
-9b
-40
 20
-40
-64
-ca
-58
-00
+60
 00
 00
-60
-02
-41
-99
 68
-00
-91
+08
 c6
+e4
 20
+40
+05
+c8
+68
+08
+c6
+e4
 20
-00
-01
+40
 68
-02
-46
-9b
+1d
+79
 20
-7a
-00
-00
+a2
+02
 20
-40
-06
-3b
-58
+60
 00
 00
-06
+68
+08
+c6
+e5
 20
 40
-06
-2e
-58
-00
-00
-03
+05
+bf
+68
+08
+c6
+e5
 20
 40
-06
-34
 68
-00
-cb
-0d
-c0
-00
-85
-f4
-df
+1d
+7d
 20
-00
-05
-d8
-a0
-4b
-0d
+a2
+03
 20
 20
-7e
-d4
-68
-01
-4b
-0e
-60
-01
-11
-be
+05
+c8
 68
-01
-46
-9b
-60
-01
-11
-c0
+08
+c6
+e6
 20
 40
-06
-07
-68
-01
-11
-be
-60
-01
-4b
-0e
-68
-01
-11
-c0
-60
-01
-46
-9b
-68
-01
-4b
-10
-60
-01
-11
-be
+05
+bf
 68
-01
-46
-9d
-60
-01
-11
-c0
+08
+c6
+e6
 20
 40
-06
-07
-68
-01
-11
-be
-60
-01
-4b
-10
 68
-01
-11
-c0
-60
-01
-46
-9d
+1d
+7d
 20
-60
-00
-00
-68
-01
-11
-be
-68
-09
-11
-c0
-98
-40
-fe
-00
-60
-01
-91
-c2
-2f
-ef
-fe
-10
+a2
+04
 20
 20
-86
-14
-68
-00
-91
-c3
-c0
-7f
-86
-1b
-68
-00
-91
-c2
-1f
-e3
-7e
-00
-60
-01
-11
-be
-60
-01
-11
-c0
+05
+c8
+79
+3f
+84
+07
+20
 20
-60
-00
-00
 68
-00
-91
-c3
-c0
-00
 06
-18
-68
-01
-91
-c2
-20
-20
-06
-10
-70
-11
-c4
-00
-68
-00
-91
-c2
-20
-20
-06
-10
-68
-00
-91
-c2
+79
+3f
+84
+07
+d8
+a0
+80
+78
 20
 40
-06
-26
-60
-00
-91
-be
-60
-00
-91
-c0
-20
-3a
-06
-24
-58
-00
-00
-ff
-60
-00
-91
-bf
-60
-00
-91
-c1
-20
-60
-00
-00
-58
-00
-00
-00
-20
-20
-06
-21
-1f
-e6
-7e
-00
-60
-00
-8a
-ae
-68
-00
-8a
-ae
-1f
-e3
-7e
-00
-60
-00
-8a
-ae
 68
-00
-8a
-ae
-1f
-e6
-7e
-00
-20
-60
-00
-00
-9a
-26
-7c
-00
-24
-21
-06
-39
-9a
-46
-7c
-00
-24
-21
-06
-39
-70
-4b
-0d
-00
+30
+79
 20
-60
-00
-00
-9a
-26
-7c
-00
-24
-61
-00
-00
-9a
-46
+04
+07
+d8
+a0
+80
 7c
-00
-24
-61
-00
-00
-20
-20
-06
-32
-70
-4b
-0d
-01
-20
-60
-00
-00
-68
-01
-46
-9b
-20
-40
-06
-42
-1f
-e2
-22
-00
-68
-01
-46
-9d
 20
 40
-06
-42
-1f
-e2
-24
-00
-20
-60
-00
-00
-60
-01
-11
-c0
-68
-00
-91
-c1
-c0
-7f
-86
-48
-68
-00
-91
-c0
-1f
-e1
-7e
-ff
-20
-60
-00
-00
 68
-01
-11
-c0
-1f
-e6
-7e
-00
-20
-20
-06
-46
-39
-f8
-aa
-55
-08
-00
-75
-41
-8f
-1b
-ce
-00
-0a
-0b
-ef
-07
-aa
-55
-01
-00
-57
-41
-00
-aa
-55
-08
-00
-a1
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-08
-00
-ad
-40
-12
-00
-80
-00
-12
-00
-80
-00
-aa
-55
-02
-00
-bb
-40
-20
-00
-aa
-55
-04
-00
-b7
-40
-20
-00
-00
-40
-aa
-55
-04
-00
-bf
-40
-80
-04
-00
-08
-aa
-55
-01
-00
-7a
-4d
-00
-aa
-55
-01
-00
-de
-41
-00
-aa
-55
-0d
-00
-8f
-47
-4b
-ba
-55
-d0
-56
-e0
-57
-88
-58
-6c
-59
-10
-ff
-aa
-55
-02
-00
-c3
-40
-8f
-47
-aa
-55
-01
-00
-00
-40
-06
-aa
-55
-02
-00
-03
-40
-08
-40
-aa
-55
-03
-00
-09
-40
-05
-02
-02
-aa
-55
-02
-00
-10
-40
-20
-02
-aa
-55
-03
-00
-14
-40
-82
-20
-02
-aa
-55
-02
-00
-18
-40
-10
-08
-aa
-55
-02
-00
-1c
-40
-48
-1e
-aa
-55
-01
-00
-20
-40
-20
-aa
-55
-08
-00
-27
-40
-02
-08
-04
-80
-02
-c8
-04
-80
-aa
-55
-02
-00
 30
-40
-05
-31
-aa
-55
-01
-00
-34
-40
-01
-aa
-55
-01
-00
+79
 3f
-40
-04
-aa
-55
-01
-00
-92
-40
-43
-aa
-55
-01
-00
-91
-40
-01
-aa
-55
-01
-00
-72
-41
-20
-aa
-55
-01
-00
-c5
-47
-20
-aa
-55
-02
-00
-d5
-46
-0a
-45
-aa
-55
-01
-00
-07
-42
-06
-aa
-55
-06
-00
-a0
-40
-20
-51
-17
-01
-20
-20
-aa
-55
-0c
-00
-15
-45
-0b
-42
-54
-33
-2e
-30
-20
-4d
-6f
-75
-73
-65
-aa
-55
-05
-00
-e3
-41
-0e
-00
-01
-00
-02
-aa
-55
-01
-00
-5a
-45
-0a
-aa
-55
-01
-00
-62
-46
-03
-aa
-55
-01
-00
-5a
-46
-01
-aa
-55
-01
-00
-8d
-45
-00
-aa
-55
-01
-00
-5a
-41
-00
-aa
-55
-03
-00
-5b
-46
-03
-00
-04
-aa
-55
-01
-00
-84
-46
-01
-aa
-55
-01
-00
-d1
-40
-01
-aa
-55
-0c
-00
-6f
-43
-1f
-02
-01
-05
-03
-03
-12
-18
-03
-19
-c2
-03
-aa
-55
-14
-00
-12
-4b
-06
-ff
-06
-00
-03
-00
-80
-0c
-09
-42
-54
-35
-2e
-31
-20
-4d
-6f
-75
-73
-65
-aa
-55
-0e
-00
-8f
-43
-1f
-0c
-09
-42
-54
-35
-2e
-31
-20
-4d
-6f
-75
-73
-65
-aa
-55
-0c
-00
-af
-43
-0b
-42
-54
-35
-2e
-31
-20
-4d
-6f
-75
-73
-65
-aa
-55
-08
-00
-96
-44
-07
-00
-07
-00
-20
-00
-2c
-01
-aa
-55
-04
-00
-82
-44
-00
-00
-00
-00
-aa
-55
-01
-00
-8d
-44
-07
-aa
-55
-06
-00
-a0
-44
-8e
-45
-34
-0e
-8e
-ed
-aa
-55
-01
-00
-e5
-44
-50
-aa
-55
-02
-00
-6f
-44
-19
-00
-aa
-55
-02
-00
-fa
-44
-22
-00
-aa
-55
-02
-00
-87
-46
-08
-07
-aa
-55
-04
-00
-a8
-46
-50
-00
-70
-17
-aa
-55
-01
-00
-47
-4b
-0a
-aa
-55
-01
-00
-14
-42
-ff
-aa
-55
-01
-00
-86
-46
-ff
-aa
-55
-01
-00
-85
-46
-1e
-aa
-55
-01
-00
-d2
-46
-02
-aa
-55
-01
-00
-03
-47
-02
-aa
-55
-02
-00
-2d
-42
-00
-32
-aa
-55
-06
-00
-09
-47
-13
-01
-ce
-00
-d6
-00
-aa
-55
-02
-00
-ab
-4b
-10
-00
-aa
-55
-19
-00
-e0
-46
-00
-02
-06
-14
-08
-08
-06
-14
-1b
-1c
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-00
-03
-ff
-ff
-aa
-55
-01
-00
-3a
-42
-ff
-aa
-55
-01
-00
-dc
-46
-ff
-aa
-55
-01
-00
-a5
-46
-07
-aa
-55
-01
-00
-6c
-0c
-ff
-aa
-55
-04
-00
-7f
-47
-01
-02
-03
-04
-aa
-55
-04
-00
-38
-4b
-00
-01
-02
-03
-aa
-55
-26
-00
-7a
-4b
-09
-5a
-ff
-27
-ab
-40
-be
-d1
-a0
-41
-a1
-41
-a5
 84
-a7
-ff
-b5
-d0
-b6
-00
-ff
-00
-09
-00
-ff
-09
-5a
-5b
-9a
-0d
-12
-0e
-c5
-53
-48
-09
-00
-ff
-aa
-55
-02
-00
-1b
-42
-13
-47
-aa
-55
-01
-00
-1a
-42
-01
-aa
-55
-40
-00
-c6
-47
-25
-00
-02
-03
-28
-01
-12
-26
-00
-02
-4d
-2a
-07
-00
-00
-00
-00
-00
-00
-00
-27
-00
-02
-02
-29
-02
-00
-00
-28
-00
-02
-08
-29
-02
-11
-01
-29
-00
-02
-03
-28
-01
-0e
-2a
-00
-02
-4d
-2a
-07
-00
-00
-00
-00
-00
-00
-00
-2b
-00
-02
-08
-29
-02
-11
-02
-aa
-55
-01
-00
-83
-4c
-01
-aa
-55
-01
-00
-3e
-4c
-01
-aa
-55
-01
-00
-82
-4c
-04
-aa
-55
-01
-00
-79
-4c
-00
-aa
-55
-02
-00
-40
-4c
-c0
-12
-aa
-55
-03
-00
-62
-4c
-19
-19
-1c
-aa
-55
-10
-00
-4e
-4c
-00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
-4d
-4c
-ff
-aa
-55
-04
-00
-49
-4c
-20
-15
-10
-05
-aa
-55
-06
-00
-82
-4d
-0f
-0f
-0f
-0f
-0f
-0f
-aa
-55
-0a
-00
-9e
-11
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-03
-00
-6c
-4c
+07
+d8
+a0
 80
-4f
-12
-aa
-55
-02
-00
-a9
-4b
-01
-00
-aa
-55
-08
-00
+70
 20
-47
-02
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-01
-00
-77
-4b
-ff
-aa
-55
-01
-00
-74
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+05
+c3
+70
 4b
-ff
-aa
-55
-06
+50
 00
-4e
+28
+0f
+fe
+26
+20
+40
+81
+cd
+20
+20
+42
+6d
+70
+11
+c5
+81
+20
+20
+07
+b3
+70
 4b
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-03
-00
-00
-47
+5c
 00
+70
+11
+c5
 50
+20
+20
+07
+b3
+d8
+a0
+43
+7b
+df
+20
 00
-aa
-55
+13
+20
+40
+7f
 01
+20
+20
+57
+b8
+58
 00
-1f
-47
 00
-aa
-55
-01
 00
-db
-46
-01
-aa
-55
+60
 01
-00
-b6
 46
-01
-aa
-55
-01
-00
-8e
-47
-03
-aa
-55
-01
-00
-ae
-4b
-05
-aa
-55
-01
-00
-27
-4b
-1d
-aa
-55
-02
-00
-2a
-4b
-0a
-03
-aa
-55
-01
-00
-b6
-4b
-0a
-aa
-55
-01
-00
-fd
-4a
-19
-aa
-55
-04
-00
-54
-4b
-ff
-00
+ac
+60
 00
+cb
+5b
+60
 00
-aa
-55
-04
+c7
+14
+60
 00
-5e
+cb
+5c
+70
 4b
+47
+05
 20
+40
+03
+e5
 20
-00
 40
-aa
-55
 03
-00
-55
-4b
-6d
-29
-00
-ff
+2e
 20
 20
+42
+cb
+68
 00
-40
-c0
-58
-80
-06
-c0
-59
+c5
+0f
+1f
+e0
+fe
+01
+60
 00
-0c
-c0
-59
-80
-11
+c5
+0f
 c0
-5a
-00
-19
+06
+53
+95
+20
+40
+55
+aa
 20
-60
-00
-00
+40
+56
+1e
+20
+40
+07
+56
+20
+20
+53
+8f
 68
 00
-c8
-08
-c1
-01
-00
-00
+80
+16
 1f
 e0
 fe
 01
 60
 00
-c8
-08
-70
-41
-e3
-12
-20
-20
-34
-0e
-68
-00
-c8
-08
+80
+16
 c1
-81
+94
 00
 00
 70
-48
-08
 00
-70
-41
-e3
-0e
-20
+16
+25
 20
-34
-0e
-68
+60
 00
-c7
-a1
-c0
 00
-80
-15
-70
-46
-c6
-14
-20
 20
-00
-17
+40
+29
+bb
 20
 40
-02
-11
-70
-46
-c6
-0a
-d8
-e0
 00
-01
+6b
 20
 20
-41
-b9
-70
-4b
-01
-00
-70
-4b
-03
-00
+54
+a3
 70
-4b
-0c
-00
-20
+11
+c5
 40
-01
-1f
 20
 20
+07
+b3
+70
+11
+c5
 41
-d9
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
+20
+20
+07
+b3
+68
 00
+84
+56
+c2
+82
+86
+0c
+20
+40
+07
+48
+68
 00
+c7
+8e
+24
+3a
+06
+02
+68
 00
+84
+3f
+c3
+02
+06
+06
+68
 00
+82
+da
+20
+3a
+06
+06
+20
+20
+56
+64
+68
 00
+c7
+8e
+1f
+e0
+ff
+ff
+60
 00
+c7
+8e
+20
+20
+56
+64
+68
 00
+c4
+c4
+c0
+82
+86
+09
+70
+47
+8e
+03
+20
+40
+58
+92
+20
+5a
+04
+22
+20
+20
+56
+22
+20
+40
+06
+0e
+20
+20
+06
+1a
+68
 00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
 00
+68
 00
+c7
+c1
+20
+7a
 00
 00
+68
 00
+c3
+dd
+20
+7a
 00
 00
+68
 00
+c3
+dc
+79
+20
+7e
+04
+60
 00
+c3
+dc
+20
+40
+56
+50
+20
+60
 00
 00
+20
+20
+07
+4c
+68
 00
+c7
+9f
+20
+7a
 00
 00
+68
 00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+01
+80
 00
+70
+46
+c6
+01
+20
+60
 00
 00
+c6
+07
+80
 00
+20
+40
+58
+90
+24
+7a
 00
 00
+68
 00
+82
+d9
+1f
+e1
+7e
+03
+60
 00
+c5
+0c
+e8
+c0
+80
 00
+1f
+e1
+7e
+1f
+60
 00
+c5
+0b
+20
+7a
 00
 00
+18
+c2
+7e
 00
+60
+01
+45
+0d
+68
 00
+c5
+0c
+c0
+01
+86
+31
+20
+20
+56
+8d
+68
 00
+82
+db
+c0
 00
+86
+34
+20
+20
+5c
+65
+e8
+c2
+80
 00
+60
+02
+c3
+ce
+e8
+c1
 00
 00
+60
+01
+04
+5f
+20
+20
+5c
+8a
+e8
+c1
 00
 00
+c0
+02
+06
+3d
+c0
+03
+06
+6a
+20
+20
+56
+98
+20
+40
+7e
+a5
+20
+40
+06
+1b
+20
+40
+7e
+9f
+e8
+c1
+80
 00
+60
+01
+84
+77
+c0
+08
+06
+4c
+1f
+ec
+84
 00
+18
+46
+7c
+24
+20
+21
+06
+5a
+d8
+40
+47
+c6
+60
+09
+44
+bc
+20
+40
+58
+ad
+58
 00
+8e
+7a
+60
+01
+44
+bc
+20
+60
 00
 00
+20
+40
+59
+fa
+20
+40
+58
+79
+18
+c0
+8c
+07
+e8
+c0
+80
 00
+c1
+88
+80
 00
+18
+c0
+8c
+05
+e8
+c1
 00
-20
-20
 00
+d8
 40
-c0
-50
+18
+12
+98
+46
+7c
 00
 24
-c0
-50
+62
 80
-0b
-c0
-51
 00
-19
-68
-01
-46
-82
-c3
-86
+18
+c0
+8d
+fc
+58
 00
 00
-c3
-83
+2b
+e0
+c1
 00
 00
-c3
-85
-80
+20
+60
 00
-68
-02
-46
-d3
-c3
-82
-80
 00
+c0
+05
+06
+5c
 20
 20
-33
-a7
+58
+ad
 68
-01
-45
 09
-c1
-00
-00
-00
+04
+78
 68
 00
-84
-41
-1f
-eb
-7e
-00
-1f
-e6
-7c
-0c
-20
-21
-00
-17
-58
-00
-00
-09
-60
+c4
+e9
+c2
+81
+86
+63
+68
 01
-44
-96
-60
+04
+78
+c0
+09
+da
+76
+68
+09
+04
+78
+20
+20
+59
+bf
+68
 01
 44
+fa
 98
+46
+7c
+00
+24
+22
+86
+5f
 20
 40
-02
-11
+5a
+42
+24
+34
+06
+5f
 70
-47
-c4
-01
+04
+7a
+05
 20
-60
-00
+20
+5a
+77
+e8
+c0
+80
 00
-70
-4b
-63
-01
+c0
+02
+86
+6d
 20
 20
-04
-45
+5a
+f5
 70
-4b
-71
+11
+c5
+82
+20
+20
+07
+b3
+68
 00
-58
+80
+16
+c0
+93
+d6
+f2
+20
+40
+06
+75
+d8
+e0
 00
 00
-07
-60
+68
 01
 44
-96
-60
+82
+20
+20
+7f
+08
+18
+0a
+7e
+00
+d8
+40
 01
-44
+ff
 98
-70
-47
-c4
-00
-70
-47
-9e
+41
+7e
 00
+1f
+e0
+fe
+fa
 20
-40
-01
-9d
 20
-40
-58
-16
+3c
+be
+78
+55
+fc
+00
 20
-40
-41
-d9
+37
+06
+7d
+24
+36
+d8
+06
 20
 40
+2b
+cb
+68
+01
+40
+c1
+60
 01
-1f
+04
+4d
+68
+00
+c6
+c5
+2f
+e0
+06
+03
+24
 20
+ab
+de
 20
-41
-d9
-68
-12
-01
-38
-79
 20
+57
+fb
+68
+00
+c7
+9f
+24
+7a
+00
+00
+68
+00
+84
+78
+1f
+e6
 7e
 1a
-60
-12
+24
+62
+80
 00
-4c
-20
-40
-2c
-21
 20
-40
-74
-bd
 20
-40
+3d
+60
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
 02
-ed
+60
+18
+80
+73
 20
 40
-01
-1f
+63
+ee
+18
+41
+04
+fd
 20
-40
-3e
-9f
+00
+00
+0d
 20
 40
+06
+97
+60
+18
+80
+73
+20
+60
+00
 00
-ae
 20
 40
-01
-55
+64
+dd
 68
 10
 80
 81
-1f
-e1
-7e
-f7
-60
-10
-80
-81
-68
-10
-80
-7f
 79
 20
 7e
 00
+79
+3f
+fe
+01
+79
+3f
+fe
+03
 60
 10
 80
-7f
+81
 20
 60
 00
 00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
+70
+11
+c5
 00
 20
 20
-00
-40
+07
+b3
 20
-60
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
+40
+21
+c9
+24
+74
 00
 00
+78
+54
+7c
 00
+70
 00
+11
+20
+79
+3f
+80
+0b
+79
+3f
+80
+2d
+20
+40
+2a
+4f
+20
+40
+22
+e6
+c5
+05
+86
+ac
+20
+40
+24
+55
+24
+3a
+06
+a5
+c5
+16
+86
+b4
+20
+20
+21
+ec
+20
+40
+2a
+4d
+d8
+20
 00
+10
+20
+40
+22
+dc
+79
+20
 00
+2d
+79
+3f
+80
+0b
+18
 00
+08
+01
+70
 00
+11
+02
+20
+20
+06
+a5
+68
+02
+01
+65
+1f
+e0
+fe
+08
+60
+02
+01
+65
+20
+20
+21
+f8
+c5
+16
+26
+4d
+20
+20
+25
+8f
+20
+40
+33
+af
+20
+40
+26
+e9
+70
+0a
+99
+02
+20
+40
+7d
+86
+20
+40
+5c
+f7
+20
+40
+4d
+6b
+20
+20
+24
+6e
+68
 00
+80
+30
+2f
+ef
+fe
 00
+20
+40
+86
+c5
+20
+20
+24
+8a
+68
 00
+80
+47
+2f
+ef
+fe
+03
+20
+40
+87
+4c
+24
+40
+87
+48
+20
+20
+07
+56
+20
+40
+24
+f0
+24
+2c
+28
+f9
+20
+40
+29
+bb
+20
+40
 00
+6b
+20
+20
+25
+18
+c6
+13
 00
 00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
 00
 00
+68
 00
+c0
+91
+20
+7a
 00
 00
+68
 00
+c6
+cf
+1f
+e6
+7c
+0a
+20
+61
 00
 00
+68
 00
+c6
+5a
+20
+3a
+06
+dc
+68
 00
+c5
+b1
+20
+7a
 00
 00
+68
 00
+c4
+c0
+24
+7a
 00
 00
+20
+40
+2c
+3a
+24
+7a
 00
 00
+68
 00
+c0
+40
+2f
+e0
+0e
+03
+24
+20
+ab
+9d
+68
+01
+40
+42
+d8
+40
+ff
+ff
+98
+46
+7c
 00
+20
+62
+80
 00
+20
+20
+2b
+7d
+78
+55
+fc
 00
+68
 00
+80
+30
+c4
 00
+80
 00
+24
+36
+ab
+d0
+20
+40
+2b
+cb
+68
+01
+40
+c1
+60
+01
 00
+3e
+68
 00
+80
+47
+c2
+81
+ab
+de
+c5
+86
+ab
+de
+20
+40
+52
+74
+24
+3a
+2b
+de
+20
+5a
+06
+f6
+20
+20
+2b
+be
+70
 00
+8a
+01
+70
 00
+8b
 00
+20
+60
 00
 00
+70
+11
+c5
+10
+20
+20
+07
+b3
+70
+11
+c5
+11
+20
+20
+07
+b3
+68
 00
+85
+52
+60
 00
+84
+c9
+c0
+09
+87
+01
+20
+20
+5d
+b4
+20
+40
+5d
+cf
+70
+4a
+ff
+01
+68
 00
+cb
+01
+20
+7a
 00
 00
+70
+4b
+01
+02
+20
+60
 00
 00
+70
+11
+c5
+20
+20
+20
+07
+b3
+20
+40
+62
+bc
+24
+7a
 00
 00
+68
 00
+80
+55
+20
+7a
 00
 00
+c0
+02
+07
+2b
+c0
+08
+07
+10
+20
+20
+63
+20
+68
 00
+c5
+5b
+c1
 00
 00
 00
+c0
 00
+87
+14
+20
+20
+63
+5f
+20
+74
+80
 00
+68
 00
+81
+6d
+c2
+80
+07
+18
+20
+20
+63
+99
+68
 00
+cb
+01
+c0
 00
+e3
+9d
+68
 00
+c1
+bd
+20
+3a
+63
+a9
+68
 00
+84
+d1
+c4
+01
+80
 00
+c4
+01
 00
 00
+68
 00
+cb
 00
+20
+7a
 00
 00
+70
+4b
 00
 00
+68
+02
+04
+e9
+d8
+40
 00
+14
+98
+40
+84
 00
+1c
+42
+7e
 00
+98
+46
+7c
 00
+24
+21
+07
+29
+20
+20
+63
+49
+70
+4b
 00
+01
+20
+60
 00
 00
+70
+48
+09
+14
+20
+20
+63
+6f
+20
+40
+62
+bc
+24
+3a
+7d
+db
+68
 00
+8a
+99
+c5
+84
+fd
+d6
+c0
+0f
+87
+38
+c0
+10
+07
+3b
+c0
+09
+07
+35
+20
+20
+7d
+ca
+20
+40
+58
+90
+24
+7a
 00
 00
+20
+20
+5a
+bf
+70
+01
+85
+34
+68
+03
+04
+4f
+20
+20
+07
+3d
+70
+01
+85
+33
+68
+03
 00
+40
+60
+03
+01
+86
+68
+02
+46
+d3
+c4
+03
+80
 00
+d8
+e0
 00
+07
+20
+40
+43
+d2
+20
+40
+42
+e8
+20
+40
+42
+fb
+20
+20
+03
+58
+70
+4d
+3d
+01
+70
+4d
+3a
 00
+20
+60
 00
 00
+68
 00
+cd
+3a
+1f
+e0
+fe
+01
+60
 00
+cd
+3a
+20
+60
 00
 00
+68
 00
+cd
+3a
+1f
+e6
+7c
+02
+24
+41
+07
+54
+68
 00
+cd
+3a
+c1
 00
 00
 00
+1f
+e0
+ff
+ff
+60
 00
+cd
+3a
+20
+60
 00
 00
+70
+4d
+3a
+03
+20
+60
 00
 00
+68
+01
+46
+82
+c3
+85
+80
 00
+c3
+83
+80
 00
+c3
+83
 00
 00
+da
+20
+4c
+c3
+20
+40
+02
+a8
+60
+08
+cd
+3b
+58
 00
 00
+82
+c5
+13
+07
+60
+58
 00
 00
+80
+98
+46
+7c
 00
+24
+21
+07
+78
+68
 00
+cd
+3a
+1f
+e6
+7c
+02
+24
+21
+07
+68
+68
 00
+cd
+3a
+c0
 00
+07
+79
+20
+60
 00
 00
+68
 00
+cd
+3a
+c1
+90
 00
 00
+70
+4d
+3a
 00
+68
+08
+cd
+3b
+58
 00
 00
+77
+c5
+13
+07
+6f
+58
 00
 00
+75
+98
+46
+7c
 00
+24
+61
 00
 00
+68
 00
+cd
+3d
+c0
 00
+07
+80
+1f
+e0
+ff
+ff
+60
 00
+cd
+3d
+c0
 00
+07
+80
+70
+41
+de
 00
+20
+60
 00
 00
+70
+4d
+3a
 00
+68
 00
+cd
+3d
+c0
+01
+07
+7e
+1f
+e0
+fe
+01
+60
 00
+cd
+3d
+c0
 00
+87
+76
+70
+41
+de
+02
+20
+60
 00
 00
+70
+41
+de
+04
+20
+60
 00
 00
+60
+08
+80
+17
+18
+40
+a2
 00
+20
+40
+29
+81
+58
 00
+05
 00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
 00
+3c
+70
+89
+01
+e0
+20
 00
 00
-20
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
 20
 00
-40
-c0
-40
 00
+0a
+70
+89
 03
+b7
 20
-60
 00
 00
-20
-40
-3e
-6e
-68
-08
-cb
-47
-20
-40
+0a
+70
+89
+02
+7d
 68
-0e
-20
-40
-00
-12
-58
-00
 00
-00
-60
+c1
+de
+c0
 01
-41
-54
+07
+9a
+c0
+02
+07
+9f
+c0
+10
+07
+ae
 20
 40
-68
-a2
+07
+a4
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+6c
 20
-40
-3e
-54
 20
-40
-01
-12
-68
-03
+29
 4b
-4e
-68
-0b
-47
-22
-98
-46
-7c
-00
-24
-22
-81
-5f
 20
 40
-01
-61
+07
+a9
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+3c
 20
-60
-00
-00
+20
+29
+53
 20
 40
-74
-b9
-d8
+07
+a4
+70
+89
+55
+d0
+70
+89
+56
 c0
-8c
-00
-d8
-a0
-48
-76
-df
+70
+89
+58
+6c
 20
-01
-71
 20
-40
-7f
-01
-58
-0f
-02
-09
-e0
-a1
-80
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
 00
-58
-12
 00
-09
-e0
-a1
-80
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+20
+60
 00
-58
-10
-02
-09
-e0
-a1
-80
 00
-58
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
 00
 00
-09
-e0
-a1
-80
+18
 00
-d8
-c0
-8d
-71
-df
+2a
+08
 20
-01
-09
 20
-40
-7f
-01
-70
-48
-8d
+28
+fa
+68
+08
+91
+c5
+18
+51
+84
 00
-70
-48
-85
+68
+00
+cb
 6d
-58
+98
+46
+7c
 00
-40
-1f
+20
+22
+87
+d2
 60
+08
+cb
+6d
+18
+40
+84
 01
-49
-db
 58
 00
-6d
-04
-60
 01
-4a
-44
-58
 00
-16
-b0
-60
+98
+4f
+84
+00
+68
 01
-4a
-4a
-58
+cb
+6e
+98
+46
+7e
 00
-48
-76
+68
+09
+cb
+71
+98
+40
+fe
+00
+1f
+e0
+ff
+fb
 60
 01
-45
-75
+cb
+74
 20
-60
-00
+40
+03
+aa
+68
+01
+cb
+74
+d8
+40
+01
 00
+da
+20
+1f
 00
+20
+40
+65
+62
+68
+02
+1f
 00
+68
+0a
+4b
+77
+98
+46
+7c
 00
+24
+22
+87
+c3
+20
+40
+03
+14
+58
 00
+1f
 00
+60
+01
+41
+99
+70
+41
+9b
+40
+20
+40
+64
+ca
+58
 00
 00
 00
+60
+02
+41
+99
+68
 00
+91
+c5
+20
+20
 00
+01
+c1
+f3
+aa
+55
+08
 00
+75
+41
+8f
+1b
+ce
 00
+0a
+0b
+ef
+07
+aa
+55
+01
 00
+57
+41
 00
+aa
+55
+08
 00
+a1
 00
 00
 00
@@ -8498,152 +8057,700 @@
 00
 00
 00
+aa
+55
+08
 00
+ad
+40
+12
 00
 00
+02
+12
 00
 00
+02
+aa
+55
+02
 00
+bb
+40
+20
 00
+aa
+55
+04
 00
+b7
+40
+20
 00
 00
+40
+aa
+55
+04
 00
+bf
+40
+80
+04
 00
+08
+aa
+55
+01
 00
+3e
+4d
 00
+aa
+55
+01
 00
+de
+41
 00
+aa
+55
+0d
 00
+8f
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+ff
+aa
+55
+02
 00
+c3
+40
+8f
+47
+aa
+55
+01
 00
 00
+40
+06
+aa
+55
+02
 00
+03
+40
+08
+40
+aa
+55
+03
 00
+09
+40
+05
+02
+02
+aa
+55
+02
 00
+10
+40
+20
+02
+aa
+55
+03
 00
+14
+40
+82
+20
+06
+aa
+55
+02
 00
+18
+40
+10
+08
+aa
+55
+02
 00
+1c
+40
+40
+1e
+aa
+55
+01
 00
+20
+40
+20
+aa
+55
+08
 00
+27
+40
+02
+08
+04
+80
+02
+c8
+04
+80
+aa
+55
+02
 00
+30
+40
+05
+31
+aa
+55
+01
 00
+34
+40
+01
+aa
+55
+01
 00
+3f
+40
+04
+aa
+55
+01
 00
+92
+40
+43
+aa
+55
+01
 00
+91
+40
+01
+aa
+55
+01
 00
+72
+41
+20
+aa
+55
+01
 00
+c5
+47
+20
+aa
+55
+02
 00
+d5
+46
+0a
+45
+aa
+55
+01
 00
+07
+42
+06
+aa
+55
+06
 00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+0c
 00
+15
+45
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+05
 00
+e3
+41
+0e
 00
+01
 00
+02
+aa
+55
+01
 00
+5a
+45
+0a
+aa
+55
+01
 00
+62
+46
+03
+aa
+55
+01
 00
+5a
+46
+01
+aa
+55
+01
 00
+8d
+45
 00
+aa
+55
+01
 00
+5a
+41
 00
+aa
+55
+03
 00
+5b
+46
+03
 00
+04
+aa
+55
+01
 00
-20
-20
+84
+46
+01
+aa
+55
+01
 00
+d1
 40
-c0
-38
+01
+aa
+55
+0c
 00
+6f
+43
+1f
+02
+01
+05
 03
-20
-60
-00
-00
-5f
-ff
-ff
-ff
-60
 03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
 00
-40
-70
-01
-85
-33
-70
+10
 4b
-77
-ff
-20
-40
-42
-fb
-70
-47
-21
+06
 ff
-20
-20
-01
-1f
-00
-00
+06
 00
+03
 00
+80
+0c
+09
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
 00
+8f
+43
+1f
+0c
+09
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
 00
+af
+43
+0b
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+06
 00
+62
+4b
+03
+12
+18
+ff
 00
 00
+aa
+55
+08
 00
+96
+44
+07
 00
+07
 00
+20
 00
+2c
+01
+aa
+55
+04
 00
+82
+44
 00
 00
 00
 00
+aa
+55
+01
 00
+8d
+44
+07
+aa
+55
+06
 00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
 00
+e5
+44
+50
+aa
+55
+02
 00
+6f
+44
+19
 00
+aa
+55
+02
 00
+fa
+44
+22
 00
+aa
+55
+02
 00
+87
+46
+08
+07
+aa
+55
+04
 00
+a8
+46
+50
 00
+70
+17
+aa
+55
+01
 00
+43
+4b
+0a
+aa
+55
+01
 00
+14
+42
+ff
+aa
+55
+01
 00
+86
+46
+ff
+aa
+55
+01
 00
+85
+46
+1e
+aa
+55
+01
 00
+30
+4b
+01
+aa
+55
+01
 00
+d2
+46
+02
+aa
+55
+01
 00
+03
+47
+02
+aa
+55
+02
 00
+2d
+42
+02
+32
+aa
+55
+06
 00
+09
+47
+2c
+01
+11
+01
+20
+01
+aa
+55
+02
 00
+5e
+4b
+10
 00
+aa
+55
+19
 00
+e0
+46
 00
+02
+06
+14
+08
+06
+08
+14
+1b
+1c
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
 00
+03
+ff
+ff
+aa
+55
+01
 00
+3a
+42
+ff
+aa
+55
+01
 00
+dc
+46
+ff
+aa
+55
+01
 00
+a5
+46
+07
+aa
+55
+01
 00
+6c
+0c
+ff
+aa
+55
+01
 00
+f5
+46
+20
+aa
+55
+08
 00
+7f
+47
 00
+01
+02
+03
+15
+1a
+22
+2a
+aa
+55
+02
 00
+1b
+42
+13
+47
+aa
+55
+01
 00
+1a
+42
+01
+aa
+55
+40
 00
+c6
+47
+25
 00
+02
+03
+28
+01
+12
+26
 00
+02
+4d
+2a
+07
 00
 00
 00
@@ -8651,12 +8758,35 @@
 00
 00
 00
+27
 00
+02
+02
+29
+02
 00
 00
+28
 00
+02
+08
+29
+02
+11
+01
+29
 00
+02
+03
+28
+01
+0e
+2a
 00
+02
+4d
+2a
+07
 00
 00
 00
@@ -8664,21 +8794,118 @@
 00
 00
 00
+2b
 00
+02
+08
+29
+02
+11
+02
+aa
+55
+08
 00
+3b
+4b
+07
+02
+35
+12
+22
+aa
+01
 00
+aa
+55
+01
 00
+47
+4c
+01
+aa
+55
+01
 00
+02
+4c
+01
+aa
+55
+01
 00
+46
+4c
+06
+aa
+55
+01
 00
+3d
+4c
 00
+aa
+55
+02
 00
+04
+4c
+c0
+12
+aa
+55
+03
 00
+26
+4c
+0c
+0c
+10
+aa
+55
+10
 00
+12
+4c
 00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
 00
+11
+4c
+ff
+aa
+55
+04
 00
+0d
+4c
+20
+15
+10
+05
+aa
+55
+0a
 00
+9e
+11
 00
 00
 00
@@ -8689,64 +8916,330 @@
 00
 00
 00
+aa
+55
+08
 00
+30
+4c
 00
+48
+30
 00
 00
 00
 00
 00
+aa
+55
+08
 00
+20
+47
+01
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
 00
+3e
+47
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
 00
+5b
+47
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+03
 00
 00
+47
 00
+30
 00
+aa
+55
+02
 00
+03
+42
+90
+1f
+aa
+55
+01
 00
+11
+42
+80
+aa
+55
+01
 00
+1f
+47
 00
+aa
+55
+01
 00
+db
+46
+01
+aa
+55
+01
 00
+8e
+47
+03
+aa
+55
+01
 00
+4b
+4b
+1d
+aa
+55
+01
 00
+4a
+4b
+05
+aa
+55
+01
 00
+46
+4b
+20
+aa
+55
+01
 00
+d9
+46
+01
+aa
+55
+04
 00
+51
+4b
+0f
+0f
+0f
+0f
+aa
+55
+01
 00
+57
+4b
+33
+aa
+55
+01
 00
+25
+4b
+ff
+aa
+55
+02
 00
+29
+4b
+14
+05
+aa
+55
+01
 00
+69
+4b
+0a
+aa
+55
+04
 00
+6d
+4b
+ff
 00
 00
 00
+aa
+55
+04
 00
+77
+4b
+20
+20
 00
+40
+aa
+55
+03
 00
+6e
+4b
+9f
+2f
 00
+ff
+20
+20
 00
+40
+c0
+58
 00
+07
+c0
+58
+80
+0a
+c0
+59
 00
+10
+c0
+59
+80
+15
+c0
+5a
 00
+1c
+20
+60
 00
 00
+70
+4b
+68
+01
+20
+40
+04
+19
+20
+20
+41
+c3
+68
 00
+c8
+08
+c1
+01
 00
 00
+1f
+e0
+fe
+01
+60
 00
+c8
+08
+70
+41
+e3
+12
+20
+20
+34
+0e
+68
 00
+c8
+08
+c1
+81
 00
 00
+70
+48
+08
 00
+70
+41
+e3
+0e
+20
+20
+34
+0e
+68
 00
+c7
+9f
+c0
 00
+80
+18
+20
+20
 00
+1a
+20
+40
+04
+89
+70
+46
+c6
+05
+d8
+e0
 00
+01
+20
+20
+41
+b9
+70
+4a
+ff
 00
+70
+4b
+01
 00
+70
+4b
+0a
 00
+20
+20
+41
+d9
 00
 00
 00
@@ -8806,10 +9299,7 @@
 00
 00
 00
-20
-20
 00
-40
 00
 00
 00
@@ -8878,35 +9368,222 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+50
+80
+06
+c0
+51
 00
+19
+c0
+51
+80
+12
+c0
+52
 00
+21
+20
+60
 00
 00
+68
+01
+45
+09
+c1
 00
 00
 00
+68
 00
+84
+41
+1f
+eb
+7e
 00
+1f
+e6
+7c
+0c
+20
+61
 00
 00
+58
 00
 00
+09
+60
+01
+44
+96
+60
+01
+44
+98
+20
+40
+04
+89
+70
+47
+c4
+01
+20
+60
 00
 00
+68
+01
+46
+82
+c3
+86
 00
 00
+c3
+83
 00
 00
+c3
+85
+80
 00
+68
+02
+46
+d3
+c3
+82
+80
 00
+20
+20
+33
+a7
+58
 00
 00
+07
+60
+01
+44
+96
+60
+01
+44
+98
+70
+47
+c4
 00
+70
+47
+9c
 00
+20
+40
+04
+19
+20
+40
+58
+16
+20
+20
+41
+d9
+78
+34
+7c
 00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
 00
+4c
+20
+40
+2c
+21
+20
+40
+74
+bd
+20
+40
+03
+e7
+20
+40
+3e
+9f
+20
+40
+02
+c5
+20
+40
+03
+a1
+68
+10
+80
+81
+1f
+e1
+7e
+f7
+60
+10
+80
+81
+68
+10
+80
+7e
+79
+20
+7e
+06
+60
+10
+80
+7e
+68
+10
+80
+7f
+79
+20
+7e
 00
+60
+10
+80
+7f
+68
+08
+c6
+f3
+20
+20
+67
+ed
 00
 00
 00
@@ -8947,33 +9624,246 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+48
 00
+05
+c0
+48
+80
+1f
+c0
+49
 00
+2f
+20
+60
 00
 00
+68
 00
+cc
+06
+c0
 00
+ff
+e7
+68
 00
+cc
+11
+c0
 00
+80
+0c
+c0
+01
 00
+0f
+c0
+01
+80
+12
+20
+20
+2a
+8c
+70
+4c
+11
+11
+70
+11
+9e
+aa
+20
+20
 00
+14
+70
+4c
+11
+12
+70
+11
+9e
+55
+20
+20
 00
+14
+70
+4c
+11
+13
+70
+11
+9e
+22
+68
 00
+cc
+02
+1f
+e1
+7e
+07
+60
 00
+91
+9f
+68
+02
+4c
+38
+60
+02
+11
+a0
+70
+11
+a4
 00
+da
+20
+11
+9e
+d8
+40
 00
+07
+20
+40
+01
+d1
+20
+40
+01
+48
+20
+20
+7f
+e7
+68
 00
+cc
+11
+c1
+7f
+80
 00
+c0
+08
+80
+25
+c0
+09
 00
+27
+c0
+09
+80
+29
+20
+60
 00
 00
+70
+4c
+11
+02
+20
+20
+01
+7c
+70
+4c
+11
+03
+20
+20
+01
+7c
+70
+4c
+11
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+e1
+20
+40
+01
+e3
+20
+20
+01
+7c
+20
+40
+04
+a5
+70
+47
+8b
+01
+d8
+e0
 00
+03
+20
+40
+43
+d2
+58
 00
 00
 00
+60
+01
+47
+07
+60
 00
+cb
+57
+70
+46
+a7
 00
+20
+40
+40
+5d
+20
+40
+02
+f2
+68
+02
+4c
+29
+60
+02
+47
+7b
+20
+20
+03
+58
 00
 00
 00
@@ -8990,32 +9880,216 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+40
 00
+0a
+c0
+40
+80
+04
+20
+60
 00
 00
+20
+40
+68
+a2
+68
+01
+42
+1d
+24
+3a
 00
+08
+58
 00
+11
+22
+60
+01
+47
+c2
+20
+60
 00
 00
+20
+40
 00
+ec
+20
+40
+3e
+6e
+68
+08
+cb
+43
+20
+40
+68
+0e
+20
+40
+3e
+1e
+20
+40
 00
+1a
+58
 00
 00
 00
+60
+01
+41
+54
+20
+40
+68
+a2
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+05
+d1
+20
+20
+03
+4a
+20
+40
+74
+b9
+d8
+c0
+8c
 00
+d8
+a0
+48
+76
+df
+20
+01
+71
+20
+40
+7f
+01
+58
+0f
+02
+09
+e0
+a1
+80
 00
+58
+12
 00
+09
+e0
+a1
+80
 00
+58
+10
+02
+09
+e0
+a1
+80
 00
+58
 00
 00
+09
+e0
+a1
+80
 00
+d8
+c0
+8d
+71
+df
+20
+01
+09
+20
+40
+7f
+01
+70
+48
+8d
 00
+70
+48
+85
+6d
+58
 00
+40
+1f
+60
+01
+49
+db
+58
 00
+6d
+04
+60
+01
+4a
+44
+58
 00
+16
+b0
+60
+01
+4a
+4a
+58
 00
+48
+76
+60
+01
+45
+75
+20
+60
 00
 00
 00
@@ -9066,33 +10140,194 @@
 20
 00
 40
+c0
+38
+00
+03
 20
 60
 00
 00
+79
+3f
+80
+26
+20
+40
 00
+1d
+20
+40
+01
+c4
+20
 00
+07
+d0
+68
 00
+cc
+2f
+c2
+81
+01
+b3
+20
+40
+01
+8b
+24
+2c
 00
+19
+24
+37
+80
+19
+20
+40
+01
+b5
+20
+40
+02
+f2
+68
+02
+4c
+29
+68
+0a
+4c
+0d
+98
+46
+7c
 00
+20
+22
+80
+27
+79
+20
 00
+26
+58
 00
 00
 00
+60
+01
+4c
+2e
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+01
+83
+20
+20
+03
+ee
+68
+01
+4c
+2e
+1f
+e0
+fe
+01
+60
+01
+4c
+2e
+20
+20
 00
+06
+70
+41
+de
+20
+58
 00
+0f
+0f
+60
+01
+4c
+29
+e0
+a1
 00
 00
+20
+40
+01
+e4
+20
+20
+02
+03
+20
+40
 00
+1d
+20
+20
 00
+06
+20
+40
 00
+2b
+20
+20
 00
+06
+79
+20
 00
+26
+20
+40
 00
+2b
+70
+4c
+11
+01
+20
+60
 00
 00
+70
+41
+de
+20
+70
+4c
 00
 00
+70
+4c
+0b
+4e
+68
+02
+4c
+0d
+20
+20
+01
+e3
 00
 00
 00
@@ -9157,39 +10392,242 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+30
 00
+04
+c0
+30
+80
+28
+20
+60
 00
 00
+79
+3f
+80
+26
+68
 00
+cb
+57
+1f
+e1
+7e
+01
+24
+5a
 00
+1e
+20
+5a
 00
+1b
+68
 00
+cc
+11
+c1
+ff
+80
 00
+20
+40
+01
+c4
+20
 00
+07
+d0
+68
 00
+cc
+2e
+c0
+38
+01
+b3
+20
+40
+01
+8b
+24
+2c
 00
+23
+24
+37
+80
+23
+79
+20
 00
+26
+58
 00
 00
 00
+60
+01
+4c
+2e
+60
 00
+cb
+5d
+60
 00
+cb
+57
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+01
+83
+20
+20
+03
+ee
+20
+40
+02
+f2
+68
+02
+47
+7b
+20
+20
 00
+20
+70
+41
+de
+20
+68
+02
+4b
+51
+60
+02
+4c
+29
+20
+40
+01
+e4
+20
+20
+02
+03
+68
+01
+4c
+2e
+1f
+e0
+fe
+01
+60
+01
+4c
+2e
+20
+40
+02
+03
+20
+20
 00
+0c
+d8
+e0
 00
+03
+20
+40
+43
+ce
+58
 00
 00
 00
+60
+01
+46
+ae
+60
 00
+c6
+b4
+60
 00
+cb
+57
+60
+01
+4c
+2e
+70
+4b
+5d
+c8
+20
+40
+42
+ca
+20
+20
 00
+32
+79
+20
 00
+26
+20
+40
 00
+36
+70
+4c
+11
+01
+20
+60
 00
 00
+70
+41
+de
+20
+70
+4c
 00
 00
+70
+4c
+0b
+4e
+68
+02
+4c
+0d
+20
+20
+01
+e3
 00
 00
 00
@@ -9210,33 +10648,238 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+28
 00
+04
+c0
+28
+80
+2d
+20
+60
 00
 00
+20
+40
+02
+f2
+70
+47
+9c
 00
+20
+40
+03
+99
+68
+01
+46
+82
+c2
+85
+80
+11
+20
+40
+03
+ac
+68
+09
+47
+c2
+18
+40
+84
+01
+60
+09
+47
+c2
+60
+09
+44
+a1
+20
+40
+03
+5d
+18
+0a
+7e
 00
+60
 00
+c4
+a0
+58
+ed
+8e
+0e
+60
+01
+c4
+a3
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+4b
+47
+05
+70
+01
+6d
+06
+58
 00
 00
 00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
 00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+68
 00
+c0
+92
+2f
+ef
+fe
+01
+20
+40
+80
+26
+68
 00
+c0
+92
+2f
+ef
+fe
 00
+20
+40
+fd
+dd
+70
+4b
+55
 00
+20
+20
+42
+c4
+70
+47
+9f
 00
+20
+40
+03
+0b
+58
 00
 00
+05
+e0
+c0
+80
 00
+d8
+c0
+4b
+10
+20
+40
+05
+d6
+20
+20
+7d
+f4
+68
 00
+cb
+5d
+24
+7a
 00
 00
+68
 00
+cb
+57
+24
+3a
 00
+37
+70
+4d
+41
 00
+20
+40
+02
+f2
+20
+40
+01
+cd
+70
+41
+bd
 00
+20
+40
+02
+c5
+20
+20
+34
+0a
+1f
+e0
+ff
+ff
+60
 00
+cb
+57
+20
+20
+03
+b3
 00
 00
 00
@@ -9261,40 +10904,146 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+20
 00
+04
+c0
+20
+80
+16
+20
+60
 00
 00
+20
+40
 00
+0c
+20
+20
+55
+7d
+68
 00
+c7
+c5
+60
 00
+c1
+72
+70
+47
+c4
 00
+20
+60
 00
 00
+70
+47
+c4
+01
+20
+60
 00
 00
+68
 00
+c3
+d6
+1f
+e6
+7c
+0c
+24
+21
 00
+0a
+68
 00
+c3
+d8
+68
+08
+c7
+c5
+98
+46
+7c
 00
+20
+21
 00
+06
+68
 00
+c3
+d8
+60
 00
+c1
+72
+20
+20
 00
+08
+68
 00
+84
+3f
+c4
+03
 00
 00
+20
+40
 00
+1b
+24
+74
 00
 00
+20
+20
+55
+a0
+78
+34
+7c
 00
+68
 00
+84
+5a
+1f
+f1
+fe
 00
+c1
+87
+80
 00
+68
 00
+84
+60
+1f
+f1
+fe
 00
+c1
+80
 00
 00
+20
+20
+7f
+e9
 00
 00
 00
@@ -9318,21 +11067,6 @@
 00
 00
 00
-20
-20
-00
-40
-20
-60
-00
-00
-00
-00
-00
-00
-00
-00
-00
 00
 00
 00
@@ -9426,46 +11160,162 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+18
 00
+03
+20
+60
 00
 00
+20
+40
+62
+bc
+24
+7a
 00
 00
+68
 00
+80
+55
+20
+7a
 00
 00
+c0
+02
 00
+25
+c0
+08
 00
+0a
+20
+20
+63
+20
+68
 00
+c5
+5b
+c1
 00
 00
 00
+c0
 00
+80
+0e
+20
+20
+63
+5f
+20
+74
+80
 00
+68
 00
+81
+6d
+c2
+80
 00
+12
+20
+20
+63
+99
+68
 00
+cb
+01
+c0
 00
+e3
+9d
+68
 00
+c1
+bd
+20
+3a
+63
+a9
+68
 00
+84
+d1
+c4
+01
+80
 00
+c4
+01
 00
 00
+68
 00
+cb
 00
+20
+7a
 00
 00
+70
+4b
 00
 00
+68
+02
+04
+e9
+d8
+40
 00
+14
+98
+40
+84
 00
+1c
+42
+7e
 00
+98
+46
+7c
 00
+24
+21
 00
+23
+20
+20
+63
+49
+70
+4b
 00
+01
+20
+60
 00
 00
+70
+48
+09
+14
+20
+20
+63
+6f
 00
 00
 00
@@ -9566,180 +11416,244 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+10
 00
+03
+20
+60
 00
 00
+78
+54
+7c
 00
+20
+40
+62
+c1
+68
 00
+80
+48
+20
+7a
 00
 00
+c2
+83
+80
+0d
+c0
+01
+80
+24
+c0
+18
+80
+19
+c0
+0b
+80
+1b
+c0
+03
+80
+1d
 20
 20
-00
-40
+60
+10
 c0
-18
+42
 00
-03
+10
+c0
+41
+80
+13
+20
 20
 60
+3f
+20
+40
 00
+16
+68
 00
+80
+48
+20
+20
+60
+99
 20
 40
 00
-d7
-70
-4b
-70
+16
+68
+00
+80
+48
+20
+20
+61
+0d
+68
 00
+c6
+5a
+20
+3a
+61
+2b
+20
+20
+61
+24
 70
 4b
-6d
 01
-70
-47
-20
 01
+20
+20
+61
+c3
 70
-47
-9e
-00
+4b
+09
+04
 20
-40
-00
-21
-68
-01
-cb
-b3
-60
-01
-c4
-a3
 20
-40
-01
-5f
+61
+a4
 20
 40
-34
-18
+61
+52
 68
-01
-46
-87
-60
-01
-46
-ac
-70
-01
-6d
-06
-58
 00
+cb
+55
+20
+7a
 00
 00
-60
-01
-46
-b0
-60
-01
-46
-ae
-20
-40
-02
-45
-20
-40
-43
-ca
 68
 00
-c0
-92
-2f
-ef
+80
+4b
+79
+3f
 fe
-01
-20
-40
+03
+60
+00
 80
-1a
-20
-40
-42
-c4
+4b
 20
 20
-02
-bd
-70
-47
-a1
+03
+35
+18
 00
+7e
+02
 20
 40
+62
+98
+68
 00
-df
-58
-00
-00
-05
+80
+49
 e0
-c0
+a0
 80
 00
-d8
-c0
-4b
-12
+60
+00
+ca
+fc
 20
 40
-03
-e3
+62
+a7
+68
+00
+ca
+fc
+c0
+17
+00
+2d
 20
 20
-7d
-f4
+60
+51
+68
+00
+ca
+ff
 20
-40
-01
-66
+7a
+00
+00
+70
+4a
+ff
+00
 68
-09
-4b
-72
-18
-40
-84
+00
+cb
 01
-60
-09
+c1
+81
+00
+00
+70
 4b
-72
-60
-09
-44
-a1
-20
-40
+00
 01
-24
-18
-0a
+1c
+42
 7e
 00
-60
+60
+02
+04
+e9
+20
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
-c4
-a0
-20
-60
 00
 00
 00
@@ -9758,17 +11672,166 @@
 00
 00
 00
+20
+20
+00
+40
+c0
+08
+00
+04
+c0
+08
+80
+15
+20
+60
+00
+00
+70
+48
+08
+00
+70
+41
+e3
+0e
+20
+40
+41
+e7
+68
+01
+42
+08
+c2
+83
+c1
+f5
+c2
+80
+33
+a9
+c2
+80
+80
+0e
+c2
+81
+00
+11
+c2
+81
+80
+11
+20
+20
+42
+b0
+c2
+82
+80
+11
+c2
+81
+80
+11
+20
+20
+42
+b0
+68
+01
+46
+82
+c2
+86
+42
+b0
+20
+40
+33
+a9
+20
+20
+33
+a7
+68
+01
+02
+64
+1f
+e2
+0c
 00
+e8
+c0
+80
 00
+60
 00
+cb
+02
+1f
+e1
+04
+0f
+1f
+f1
+fe
 00
+c0
+03
+80
+1e
+c0
 00
+80
+25
+20
+20
+4d
+39
+20
+40
+4d
+53
+70
+4b
+03
 00
+68
 00
+cb
+02
+2f
+ef
+fe
 00
+20
+60
+80
 00
+70
+4b
+03
+01
+20
+60
 00
 00
+18
+42
+7e
+00
+c0
+02
+84
+91
+20
+20
+4d
+41
 00
 00
 00
@@ -9830,210 +11893,122 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-10
 00
-06
-c0
-10
-80
-18
-c0
-11
 00
-25
-c0
-11
-80
-2c
-20
-60
 00
 00
-20
-40
 00
-0e
-20
-20
-55
-7d
-68
 00
-c7
-c5
-60
 00
-c1
-72
-70
-47
-c4
 00
-20
-60
 00
 00
-70
-47
-c4
-01
-20
-60
 00
 00
-68
 00
-c3
-d6
-1f
-e6
-7c
-0c
-24
-21
 00
-0c
-68
 00
-c3
-d8
-68
-08
-c7
-c5
-98
-46
-7c
 00
-20
-21
 00
-08
-68
 00
-c3
-d8
-60
 00
-c1
-72
-20
-20
 00
-0a
-68
 00
-84
-3f
-c4
-03
 00
 00
-20
-40
 00
-1d
-24
-74
 00
 00
-20
-20
-55
-a0
-78
-34
-7c
 00
-68
 00
-84
-5a
-1f
-f1
-fe
 00
-c1
-87
-80
 00
-68
 00
-84
-60
-1f
-f1
-fe
 00
-c1
-80
 00
 00
 20
 20
-7f
-e9
-68
 00
-c7
-a1
-24
-7a
+40
+c0
+00
+00
+03
+20
+60
 00
 00
 68
 00
-84
-78
-1f
-e6
-7e
-1a
-24
-62
 80
+0e
+1f
+e0
+fe
+01
+60
 00
-70
-46
-c6
-00
+80
+0e
 20
+40
+24
+35
+79
 20
-3d
-60
+00
+2c
 20
 40
-33
-af
+22
+f2
 20
-40
-26
-e9
-70
-0a
-99
-02
+2c
+00
+0e
+79
+3f
+80
+2c
 20
 40
-7d
-86
+24
+55
+24
+3a
+00
+07
 20
-40
-5c
-f7
 20
-40
-4d
-6b
+20
+fc
+79
+3f
+80
+2c
 20
 20
-24
-6e
+21
+5f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
 00
 00
@@ -10086,212 +12061,37 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-08
 00
-15
-c0
-08
-80
-22
-c0
-09
 00
-05
-20
-60
 00
 00
-70
-4b
-70
-01
-70
-47
-a1
-01
-68
-01
-46
-a8
-68
-08
-cb
-77
-18
-46
-7c
-ff
-24
-22
-80
-0c
-58
 00
-02
-58
-60
-01
-46
-ae
-20
-40
-02
-45
-20
-40
-34
-18
-20
-40
 00
-df
-58
 00
 00
-04
-e0
-c0
-80
 00
-d8
-c0
-43
-90
-20
-40
-03
-e3
-20
-20
-7d
-f4
-68
 00
-80
-48
-c0
-42
 00
-19
-c0
-41
-80
-1c
-20
-20
-60
-3f
-20
-40
 00
-1f
-68
 00
-80
-48
-20
-20
-60
-99
-20
-40
 00
-1f
-68
 00
-80
-48
-20
-20
-61
-0d
-68
 00
-c6
-5a
-20
-3a
-61
-2b
-20
-20
-61
-24
-18
 00
-7e
-02
-20
-40
-62
-98
-68
 00
-80
-49
-e0
-a0
-80
 00
-60
 00
-ca
-fc
-20
-40
-62
-a7
-68
 00
-ca
-fc
-c0
-17
 00
-2b
-20
-20
-60
-51
-68
 00
-cb
-01
-20
-7a
 00
 00
-70
-4b
-01
 00
-68
 00
-cb
-03
-c1
-81
 00
 00
-70
-4b
-02
-01
-1c
-42
-7e
 00
-60
-02
-04
-e9
-20
-60
 00
 00
 00
@@ -10342,250 +12142,36 @@
 00
 00
 00
-20
-20
 00
-40
-c0
 00
-80
-05
-c0
 00
 00
-1d
-c0
-01
 00
-2a
-20
-60
 00
 00
-70
-48
-08
 00
-70
-41
-e3
-0e
-20
-40
-41
-e7
-68
-01
-42
-08
-c2
-83
-c1
-f5
-c2
-80
-33
-a9
-c2
-80
-80
-0f
-c2
-81
 00
-12
-c2
-81
-80
-12
-20
-20
-42
-b0
-c2
-82
-80
-12
-c2
-81
-80
-12
-20
-20
-42
-b0
-68
-01
-46
-82
-c2
-86
-42
-b0
-20
-40
-33
-a9
-20
-40
-03
-a9
-c0
-03
-80
-1a
-68
 00
-c6
-b6
-20
-3a
 00
-1a
-20
-20
-33
-a7
-70
-47
-9f
-01
-70
-47
-a0
-28
-20
-60
 00
 00
-68
 00
-80
-0e
-1f
-e0
-fe
-01
-60
 00
-80
-0e
-20
-40
-24
-35
-79
-20
 00
-2c
-20
-40
-22
-f2
-20
-2c
 00
-28
-79
-3f
-80
-2c
-20
-40
-24
-55
-24
-3a
 00
-21
-20
-20
-20
-fc
-79
-3f
-80
-2c
-20
-20
-21
-5f
-68
-01
-02
-64
-1f
-e2
-0c
 00
-e8
-c0
-80
 00
-60
 00
-cb
-04
-1f
-e1
-04
-0f
-1f
-f1
-fe
 00
-c0
-03
-80
-33
-c0
 00
-80
-3a
-20
-20
-4d
-39
-20
-40
-4d
-53
-70
-4b
-05
 00
-68
 00
-cb
-04
-2f
-ef
-fe
 00
-20
-60
-80
 00
-70
-4b
-05
-01
-20
-60
 00
 00
-18
-42
-7e
 00
-c0
-02
-82
-19
-20
-20
-4d
-41
 00
 00
 00
@@ -10602,5 +12188,5 @@
 55
 00
 00
-af
-5b
+16
+94
Index: ZJL_3X_OnlyBLE/output/memmap.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/memmap.format	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/memmap.format	(working copy)
@@ -602,10 +602,9 @@
 0x11be mem_data_pre
 0x11c0 mem_data_current
 0x11c2 mem_data_sum
-0x11c5 mem_data_value
-0x11c6 mem_zcode_temp_param0//zcode num
-0x11c7 mem_zcode_temp_param1//patch ram func addr
-0x11c9 mem_zcode_temp_param2//patch ram func addr
+0x11c5 mem_zcode_temp_param0//zcode num
+0x11c6 mem_zcode_temp_param1//patch ram func addr
+0x11c8 mem_zcode_temp_param2//patch ram func addr
 0x4000 mem_patch00
 0x4001 mem_patch01
 0x4002 mem_patch02
@@ -1738,12 +1737,13 @@
 0x478c mem_le_rx_window_inc
 0x478e mem_empty_count
 0x478f mem_rf_init_data_new
-0x479e mem_mouse_clear_sensor_data_flag
-0x479f mem_mouse_null_enter_hibernate_flag
-0x47a0 mem_mouse_null_enter_hibernate_timer
-0x47a1 mem_mouse_le_reconnect_flag
-0x47a2 mem_mouse_data_queue
-0x47c3 mem_mouse_data_queue_num
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
 0x47c4 mem_mouse_le_conn_param_reject
 0x47c5 mem_lpm_mult_init
 0x47c6 mem_mouse_le_uuid_sup
@@ -1757,215 +1757,195 @@
 0x485b mem_le_tx_buffer3_omemalloc
 0x4876 mem_mouse_uuid_list
 0x4afc mem_lmi_opcode_temp
-0x4afd mem_mouse_button_select_device_timer_init
-0x4afe mem_mouse_button_select_device_count
-0x4aff mem_mouse_adc_last_low_voltage_flag
-0x4b00 mem_mouse_init_sensor_reset_flag
-0x4b01 mem_bt_rcvd_switch_req_accept
-0x4b02 mem_bt_send_max_slot_req_accept_after_switch
-0x4b03 mem_bt_send_lmp_setup_complete
-0x4b04 mem_l2cap_rcv
-0x4b05 mem_mouse_bt_boot_mode
-0x4b06 mem_mouse_bt_boot_data
-0x4b0b mem_mouse_bt_send_first_package_timer
-0x4b0c mem_mouse_bt_send_first_package_flag
-0x4b0d mem_mouse_asm_flag
-0x4b0e mem_mouse_x_pre
-0x4b10 mem_mouse_y_pre
-0x4b12 mem_le_adv_swift_pair
-0x4b26 mem_mouse_multi_led_blink_enable
-0x4b27 mem_mouse_multi_led_gpio
-0x4b28 mem_mouse_multi_led_state
-0x4b29 mem_mouse_multi_led_type
-0x4b2a mem_mouse_multi_led_on_timer_init
-0x4b2b mem_mouse_multi_led_blink_timer_init
-0x4b2c mem_mouse_multi_led_blink_timer
-0x4b2d mem_mouse_multi_led_blink_count
-0x4b2e mem_mouse_multi_led_on_timer
-0x4b2f mem_mouse_multi_led_blink_count_limited
-0x4b30 mem_mouse_multi_led_on_poweron2s_flag
-0x4b31 mem_mouse_multi_led_blink_poweron3s_flag
+0x4afd mem_mouse_adc_last_low_voltage_flag
+0x4afe mem_mouse_init_sensor_reset_flag
+0x4aff mem_bt_rcvd_switch_req_accept
+0x4b00 mem_bt_send_max_slot_req_accept_after_switch
+0x4b01 mem_bt_send_lmp_setup_complete
+0x4b02 mem_l2cap_rcv
+0x4b03 mem_mouse_bt_boot_mode
+0x4b04 mem_mouse_bt_boot_data
+0x4b09 mem_mouse_bt_send_first_package_timer
+0x4b0a mem_mouse_bt_send_first_package_flag
+0x4b0b mem_mouse_asm_flag
+0x4b0c mem_mouse_x_pre
+0x4b0e mem_mouse_y_pre
+0x4b10 mem_le_adv_swift_pair
+0x4b23 mem_24g_sw_gpio
+0x4b24 mem_mouse_multi_led_blink_enable
+0x4b25 mem_mouse_multi_led_gpio
+0x4b26 mem_mouse_multi_led_state
+0x4b27 mem_mouse_multi_led_type
+0x4b28 mem_mouse_multi_led_on_timer
+0x4b29 mem_mouse_multi_led_on_timer_init
+0x4b2a mem_mouse_multi_led_blink_timer_init
+0x4b2b mem_mouse_multi_led_blink_timer
+0x4b2c mem_mouse_multi_led_blink_count
+0x4b2d mem_mouse_multi_led_blink_count_limited
+0x4b2e mem_mouse_multi_led_on_poweron2s_flag
+0x4b2f mem_discovery_on_flag
+0x4b30 mem_bt_ui_button_timeout
+0x4b31 mem_bt_ui_button_count
 0x4b32 mem_mouse_priority_bb_event
 0x4b33 mem_mouse_le_parse_l2cap_ptr
 0x4b35 mem_low_power_no_data_off_led_time
-0x4b36 mem_low_power_check_count
-0x4b37 mem_low_power_led_blink_flag
-0x4b38 mem_mouse_3065xy_dpi_seting
-0x4b38 mem_3065xy_dpi_1
-0x4b39 mem_3065xy_dpi_2
-0x4b3a mem_3065xy_dpi_3
-0x4b3b mem_3065xy_dpi_4
-0x4b3c mem_le_att_pnp_id_len
-0x4b3d mem_le_att_pnp_id
-0x4b44 mem_mouse_long_mult_flag
-0x4b45 mem_mouse_le_current_mult_timer
-0x4b46 mem_24g_long_sleep_param_update_timer
-0x4b47 mem_flash_ncs_gpio
-0x4b48 mem_select_ui_button_count
-0x4b49 mem_write_flash_head_temp
-0x4b4d mem_mouse_poweron_led_timer
-0x4b4e mem_mouse_24g_addr_init
-0x4b54 mem_zcode_current_number
-0x4b55 mem_xip_flash_offset
-0x4b58 mem_flash_start_addr
-0x4b5b mem_flash_address
-0x4b5e mem_zcode_head
-0x4b62 mem_mouse_select_device_button_wakeup_flag
-0x4b63 mem_mouse_le_updata_not_accepted_flag
-0x4b64 mem_le_normal_lap
-0x4b6a mem_le_switch_adv_flag
-0x4b6b mem_le_switch_adv_timer
-0x4b6c mem_le_switch_adv_count
-0x4b6d mem_mouse_start_discovery_enable
-0x4b6e mem_mouse_le_adv_start
-0x4b6f mem_mouse_send_secutiry_request_timer
-0x4b70 mem_le_send_security_request_flag
-0x4b71 mem_mouse_le_bb_connected_flag
-0x4b72 mem_mouse_flash_start_temp
-0x4b72 mem_random_addr_increase_count
-0x4b74 mem_mouse_long_button_select_device
-0x4b75 mem_eeprom_init_flag
-0x4b77 mem_mouse_fast_conn_flag
-0x4b78 mem_mouse_latest_mode
-0x4b79 mem_mouse_flash_end_temp
-0x4b79 mem_mouse_le_not_tx_disconn
-0x4b7a mem_sensor_8650_init
-0x4b93 mem_sensor_ka8_init
-0x4ba0 mem_sensor_poweron_init
-0x4ba9 mem_firmware_version
-0x4bab mem_mouse_vdd_0v
-0x4bad mem_select_device_button_press_flag
-0x4bae mem_device_24g_led_gpio
-0x4baf mem_device_bt_led_gpio
-0x4bb0 mem_mouse_discovery_blink_count
-0x4bb1 mem_24g_device_led_status
-0x4bb2 mem_mouse_24g_pair_timer
-0x4bb3 mem_le_lap_high_3B
-0x4bb6 mem_mouse_le_fast_conn_enable_timer
-0x4bb7 mem_24g_rxbuf
-0x4bd9 mem_24g_txbuf
-0x4bf9 mem_24g_txpayload
-0x4c1b mem_24g_rxpayload
-0x4c3b mem_24g_rxdata_length
-0x4c3c mem_24g_pid
-0x4c3d mem_24g_datalen
-0x4c3e mem_24g_data_type
-0x4c3f mem_24g_txlen
-0x4c40 mem_24g_rx_window
-0x4c42 mem_24g_ensure
-0x4c43 mem_24g_txfail_cnt
-0x4c45 mem_24g_get_ack_fail
-0x4c46 mem_24g_retry
-0x4c47 mem_24g_ch
-0x4c48 mem_24g_current_ch_number
-0x4c49 mem_24g_paring_addr
-0x4c4d mem_24g_pairing_sm
-0x4c4e mem_24g_ch_map1
-0x4c52 mem_24g_ch_map2
-0x4c56 mem_24g_ch_map3
-0x4c5a mem_24g_ch_map4
-0x4c5e mem_24g_tx_btclk
-0x4c62 mem_24g_interval
-0x4c63 mem_24g_interval_min
-0x4c64 mem_24g_interval_max
-0x4c65 mem_24g_addr
-0x4c69 mem_24g_abort_pac
-0x4c6a mem_24g_check_dongle_times
-0x4c6c mem_24g_enter_hibernate
-0x4c74 mem_24g_device_addr
-0x4c78 mem_24g_pac_index
-0x4c79 mem_24g_no_ack
-0x4c7a mem_24g_sta_crc
-0x4c7d mem_24g_last_crc
-0x4c80 mem_24g_sta_pid
-0x4c81 mem_24g_last_pid
-0x4c82 mem_24g_max_retry
-0x4c83 mem_24g_mode
-0x4c84 mem_24g_rxdata_temp
-0x4ca6 mem_24g_rx_addr
-0x4caa mem_dongle_mode_init
-0x4cab mem_dongle_work_mode
-0x4cac mem_dongle_ms_bind_step
-0x4cad mem_dongle_kb_bind_step
-0x4cae mem_dongle_bind_device_status
-0x4caf mem_24g_bind_payload
-0x4cb7 mem_24g_abort_packet
-0x4cb8 mem_24g_rf_laststa
-0x4cb9 mem_24g_hop_btclk
-0x4cbd mem_24g_hop_interval
-0x4cbe mem_24g_mode_switch
-0x4cbf mem_24g_ackpayload_enable
-0x4cc0 mem_24g_hop_packet
-0x4cc1 mem_24g_pair_mode
-0x4cc2 mem_24g_nodata_timer_enable
-0x4cc3 mem_24g_time_slice
-0x4cc4 mem_24g_kb_data_sta_data
-0x4ccc mem_24g_kb_data_last_data
-0x4cd4 mem_24g_kb_multikey_sta_data
-0x4cd7 mem_24g_kb_multikey_last_data
-0x4cda mem_24g_kb_blank_data_enable
-0x4cdb mem_24g_kb_mul_blank_data_enable
-0x4cdc mem_24g_ms_blank_data_enable
-0x4cdd mem_24g_kb_addr
-0x4ce1 mem_24g_ms_addr
-0x4ce5 mem_24g_dg_last_ch
-0x4ce6 mem_24g_dg_ch_number
-0x4ce7 mem_24g_dg_config_ch_once
-0x4ce8 mem_24g_kb_last_ch
-0x4ce9 mem_24g_kb_ch_number
-0x4cea mem_24g_kb_config_ch_once
-0x4ceb mem_24g_ms_last_ch
-0x4cec mem_24g_ms_ch_number
-0x4ced mem_24g_ms_config_ch_once
-0x4cee mem_24g_syncword
-0x4cf0 mem_24g_syncword_crc8
-0x4cf1 mem_24g_get_syncword_crc8
-0x4cf2 mem_24g_ota_sta_pid
-0x4cf4 mem_tx_power_temp
-0x4cf5 mem_rssi_hex
-0x4cf6 mem_rssi_noise_avg
-0x4cf7 mem_rssi_noise_index
-0x4cf8 mem_rssi_signal_index
-0x4cf9 mem_rssi_noise_dg_avg
-0x4cfa mem_rssi_noise_kb_avg
-0x4cfb mem_rssi_noise_ms_avg
-0x4cfc mem_rssi_noise_dg_index
-0x4cfd mem_rssi_noise_kb_index
-0x4cfe mem_rssi_noise_ms_index
-0x4cff mem_rssi_signal_buf
-0x4d07 mem_queue_ele_num
-0x4d08 mem_queue_read
-0x4d0a mem_queue_write
-0x4d0c mem_queue_start
-0x4d0c mem_data_ele0
-0x4d2c mem_data_ele1
-0x4d4c mem_data_ele2
-0x4d6c mem_queue_end
-0x4d6c mem_queue_temp
-0x4d6e mem_cb_24g_data
-0x4d70 mem_24g_hop_fastly_cnt
-0x4d71 mem_24g_hop_pac_retry
-0x4d72 mem_24g_rf_hop_ch
-0x4d73 mem_24g_rf_last_sta
-0x4d74 mem_24g_rf_work_stage
-0x4d75 mem_24g_sync_cnt
-0x4d76 mem_power_ctrl_pac_succ_cnt
-0x4d77 mem_rssi_avg_received
-0x4d78 mem_rssi_hex_received
-0x4d79 mem_power_ctrl_level
-0x4d7a mem_seqi
-0x4d7b mem_24g_auto_paring_switch
-0x4d7c mem_24g_paccnt
-0x4d7d mem_24g_transmit_by_interrupt
-0x4d7e mem_24g_transmit_by_interrupt_exit_count
-0x4d80 mem_24g_transmit_by_interrupt_exit_count_init
-0x4d82 mem_24g_allpowerful_addr
-0x4d88 mem_24g_stop_g24_mode
-0x4d89 mem_24g_stop_g24_mode_timeout
-0x4d8b mem_24g_pair_current_ch_num
-0x4d8c mem_24g_powerful_current_ch_num
-0x4d8d mem_24g_search_dongle_action
-0x4d8e mem_24g_search_dongle_count
-0x4d8f mem_24g_search_dongle_ch
-0x4d90 mem_24g_search_dongle_wait
-0x4d91 mem_24g_conn_sm
+0x4b36 mem_low_power_led_blink_flag
+0x4b37 mem_mouse_3065xy_dpi_seting
+0x4b37 mem_3065xy_dpi_1
+0x4b38 mem_3065xy_dpi_2
+0x4b39 mem_3065xy_dpi_3
+0x4b3a mem_3065xy_dpi_4
+0x4b3b mem_le_att_pnp_id_len
+0x4b3c mem_le_att_pnp_id
+0x4b43 mem_flash_ncs_gpio
+0x4b44 mem_select_ui_button_count
+0x4b45 mem_mouse_g24_led_timer
+0x4b46 mem_mouse_bt_ble_poweron_led_timer
+0x4b47 mem_mouse_bt_ble_led_timer
+0x4b48 mem_device_blink_led_state
+0x4b49 mem_24g_device_led_status
+0x4b4a mem_device_24g_led_gpio
+0x4b4b mem_device_bt_led_gpio
+0x4b4c mem_write_flash_head_temp
+0x4b50 mem_mouse_poweron_led_timer
+0x4b51 mem_mouse_24g_addr_init
+0x4b55 mem_mouse_bt_reconnect_flag
+0x4b56 mem_retry_count
+0x4b57 mem_24g_attempt_count
+0x4b58 mem_bt_125hz_cnt
+0x4b59 mem_mouse_no_data_led_timeout
+0x4b5b mem_mouse_dpi_blink_count
+0x4b5c mem_mouse_discovery_blink_count
+0x4b5d mem_mouse_24g_pair_timer
+0x4b5e mem_mouse_vdd_0v
+0x4b60 mem_select_device_button_press_flag
+0x4b61 mem_mouse_fast_conn_flag
+0x4b62 mem_le_adv_ind
+0x4b65 mem_le_adv_direct_ind
+0x4b68 mem_mouse_le_bb_connected_flag
+0x4b69 mem_mouse_le_fast_conn_enable_timer
+0x4b6a mem_mouse_long_mult_flag
+0x4b6b mem_mouse_current_mult_timer
+0x4b6c mem_24g_long_sleep_param_update_timer
+0x4b6d mem_zcode_current_number
+0x4b6e mem_xip_flash_offset
+0x4b71 mem_flash_start_addr
+0x4b74 mem_flash_address
+0x4b77 mem_zcode_head
+0x4b7b mem_24g_rxbuf
+0x4b9d mem_24g_txbuf
+0x4bbd mem_24g_txpayload
+0x4bdf mem_24g_rxpayload
+0x4bff mem_24g_rxdata_length
+0x4c00 mem_24g_pid
+0x4c01 mem_24g_datalen
+0x4c02 mem_24g_data_type
+0x4c03 mem_24g_txlen
+0x4c04 mem_24g_rx_window
+0x4c06 mem_24g_ensure
+0x4c07 mem_24g_txfail_cnt
+0x4c09 mem_24g_get_ack_fail
+0x4c0a mem_24g_retry
+0x4c0b mem_24g_ch
+0x4c0c mem_24g_current_ch_number
+0x4c0d mem_24g_paring_addr
+0x4c11 mem_24g_pairing_sm
+0x4c12 mem_24g_ch_map1
+0x4c16 mem_24g_ch_map2
+0x4c1a mem_24g_ch_map3
+0x4c1e mem_24g_ch_map4
+0x4c22 mem_24g_tx_btclk
+0x4c26 mem_24g_interval
+0x4c27 mem_24g_interval_min
+0x4c28 mem_24g_interval_max
+0x4c29 mem_24g_addr
+0x4c2d mem_24g_abort_pac
+0x4c2e mem_24g_check_dongle_times
+0x4c30 mem_24g_enter_hibernate
+0x4c38 mem_24g_device_addr
+0x4c3c mem_24g_pac_index
+0x4c3d mem_24g_no_ack
+0x4c3e mem_24g_sta_crc
+0x4c41 mem_24g_last_crc
+0x4c44 mem_24g_sta_pid
+0x4c45 mem_24g_last_pid
+0x4c46 mem_24g_max_retry
+0x4c47 mem_24g_mode
+0x4c48 mem_24g_rxdata_temp
+0x4c6a mem_24g_rx_addr
+0x4c6e mem_dongle_mode_init
+0x4c6f mem_dongle_work_mode
+0x4c70 mem_dongle_ms_bind_step
+0x4c71 mem_dongle_kb_bind_step
+0x4c72 mem_dongle_bind_device_status
+0x4c73 mem_24g_bind_payload
+0x4c7b mem_24g_abort_packet
+0x4c7c mem_24g_rf_laststa
+0x4c7d mem_24g_hop_btclk
+0x4c81 mem_24g_hop_interval
+0x4c82 mem_24g_mode_switch
+0x4c83 mem_24g_ackpayload_enable
+0x4c84 mem_24g_hop_packet
+0x4c85 mem_24g_pair_mode
+0x4c86 mem_24g_nodata_timer_enable
+0x4c87 mem_24g_time_slice
+0x4c88 mem_24g_kb_data_sta_data
+0x4c90 mem_24g_kb_data_last_data
+0x4c98 mem_24g_kb_multikey_sta_data
+0x4c9b mem_24g_kb_multikey_last_data
+0x4c9e mem_24g_kb_blank_data_enable
+0x4c9f mem_24g_kb_mul_blank_data_enable
+0x4ca0 mem_24g_ms_blank_data_enable
+0x4ca1 mem_24g_kb_addr
+0x4ca5 mem_24g_ms_addr
+0x4ca9 mem_24g_dg_last_ch
+0x4caa mem_24g_dg_ch_number
+0x4cab mem_24g_dg_config_ch_once
+0x4cac mem_24g_kb_last_ch
+0x4cad mem_24g_kb_ch_number
+0x4cae mem_24g_kb_config_ch_once
+0x4caf mem_24g_ms_last_ch
+0x4cb0 mem_24g_ms_ch_number
+0x4cb1 mem_24g_ms_config_ch_once
+0x4cb2 mem_24g_syncword
+0x4cb4 mem_24g_syncword_crc8
+0x4cb5 mem_24g_get_syncword_crc8
+0x4cb6 mem_24g_ota_sta_pid
+0x4cb8 mem_tx_power_temp
+0x4cb9 mem_rssi_hex
+0x4cba mem_rssi_noise_avg
+0x4cbb mem_rssi_noise_index
+0x4cbc mem_rssi_signal_index
+0x4cbd mem_rssi_noise_dg_avg
+0x4cbe mem_rssi_noise_kb_avg
+0x4cbf mem_rssi_noise_ms_avg
+0x4cc0 mem_rssi_noise_dg_index
+0x4cc1 mem_rssi_noise_kb_index
+0x4cc2 mem_rssi_noise_ms_index
+0x4cc3 mem_rssi_signal_buf
+0x4ccb mem_queue_ele_num
+0x4ccc mem_queue_read
+0x4cce mem_queue_write
+0x4cd0 mem_queue_start
+0x4cd0 mem_data_ele0
+0x4cf0 mem_data_ele1
+0x4d10 mem_data_ele2
+0x4d30 mem_queue_end
+0x4d30 mem_queue_temp
+0x4d32 mem_cb_24g_data
+0x4d34 mem_24g_hop_fastly_cnt
+0x4d35 mem_24g_hop_pac_retry
+0x4d36 mem_24g_rf_hop_ch
+0x4d37 mem_24g_rf_last_sta
+0x4d38 mem_24g_rf_work_stage
+0x4d39 mem_24g_sync_cnt
+0x4d3a mem_power_ctrl_pac_succ_cnt
+0x4d3b mem_rssi_avg_received
+0x4d3c mem_rssi_hex_received
+0x4d3d mem_power_ctrl_level
+0x4d3e mem_seqi
+0x4d3f mem_24g_auto_paring_switch
+0x4d40 mem_24g_paccnt
+0x4d41 mem_24g_transmit_by_interrupt
+0x4d42 mem_24g_transmit_by_interrupt_exit_count
+0x4d44 mem_24g_transmit_by_interrupt_exit_count_init
Index: ZJL_3X_OnlyBLE/output/program.lis
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/program.lis	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/program.lis	(working copy)
@@ -7,63 +7,63 @@
 p_zcode:
 
 p_wake_from_power:
-0001 2040019d call p_mouse_data_init 
+0001 20400419 call p_mouse_data_init 
 0002 6800c1de fetch 1 ,mem_tx_power 
-0003 6000ccf4 store 1 ,mem_tx_power_temp 
-0004 20400560 call power_ctrl_pac_succ_cnt_init 
+0003 6000ccb8 store 1 ,mem_tx_power_temp 
+0004 20400745 call power_ctrl_pac_succ_cnt_init 
 0005 6800c685 fetch 1 ,mem_ui_button_timeout 
-0006 6000cb48 store 1 ,mem_select_ui_button_count 
-0007 20400290 call p_mouse_bt_discovery_button_up_init 
-0008 2040012d call p_mouse_spi_init 
-0009 204005f1 call p_drawing_optima_init 
-000a 20400012 call p_mouse_cb_fuction 
-000b 20400023 call p_mouse_wakeup_from_power 
-000c 20405810 call le_set_config_fixed_ltk 
-000d 20405839 call le_set_justwork 
-000e 2040582c call le_set_fixed_ltk 
-000f 20405818 call le_set_config_read_authentication 
-0010 20403e1e call mouse_param_init 
-0011 20200102 branch p_mouse_setting_config 
+0006 6000cb44 store 1 ,mem_select_ui_button_count 
+0007 6800cb30 fetch 1 ,mem_bt_ui_button_timeout 
+0008 6000cb31 store 1 ,mem_bt_ui_button_count 
+0009 204043ca call mouse_bt_discovery_button_down_disable 
+000a 20400314 call p_mouse_spi_init 
+000b 2040000e call p_mouse_cb_fuction 
+000c 20400021 call p_mouse_wakeup_from_power 
+000d 20200338 branch p_mouse_setting_config 
 
 p_mouse_cb_fuction:
-0012 58000189 setarg p_mouse_le 
-0013 600141ef store 2 ,mem_cb_le_process 
-0014 5800049b setarg p_le_mouse_bb_event_connect_complete 
-0015 600141f9 store 2 ,mem_cb_att_write 
-0016 580001bd setarg p_mouse_bt 
-0017 600141f1 store 2 ,mem_cb_bt_process 
-0018 580000bd setarg p_mouse_before_lpm 
-0019 600141ed store 2 ,mem_cb_before_lpm 
-001a 580001f5 setarg p_mouse_priority_bb_event 
-001b 600141f5 store 2 ,mem_cb_bb_event_process 
-001c 580001e2 setarg p_mouse_idle 
-001d 600141f3 store 2 ,mem_cb_idle_process 
-001e 58000228 setarg p_mouse_before_hibernate 
-001f 600141eb store 2 ,mem_cb_before_hibernate 
-0020 58000235 setarg p_mouse_bb_event_timer 
-0021 600141fd store 2 ,mem_cb_event_timer 
-0022 20600000 rtn 
+000e 580003eb setarg p_mouse_g24_package_data 
+000f 60014d32 store 2 ,mem_cb_24g_data 
+0010 58000405 setarg p_mouse_le 
+0011 600141ef store 2 ,mem_cb_le_process 
+0012 58000684 setarg p_le_mouse_bb_event_connect_complete 
+0013 600141f9 store 2 ,mem_cb_att_write 
+0014 58000434 setarg p_mouse_bt 
+0015 600141f1 store 2 ,mem_cb_bt_process 
+0016 580002b9 setarg p_mouse_before_lpm 
+0017 600141ed store 2 ,mem_cb_before_lpm 
+0018 58000471 setarg p_mouse_priority_bb_event 
+0019 600141f5 store 2 ,mem_cb_bb_event_process 
+001a 5800045c setarg p_mouse_idle 
+001b 600141f3 store 2 ,mem_cb_idle_process 
+001c 580004a6 setarg p_mouse_before_hibernate 
+001d 600141eb store 2 ,mem_cb_before_hibernate 
+001e 580004ad setarg p_mouse_bb_event_timer 
+001f 600141fd store 2 ,mem_cb_event_timer 
+0020 20600000 rtn 
 
 p_mouse_wakeup_from_power:
-0023 58000019 setarg 25 
-0024 60014d80 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0025 2455802f ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
-0026 204000e6 call p_mouse_init_sunt 
-0027 2040022e call p_mouse_sensor_powerdown 
+0021 58000019 setarg 25 
+0022 60014d44 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0023 24558029 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0024 20400316 call p_mouse_init_sunt 
+0025 20400335 call p_mouse_sensor_powerdown 
 
 p_mouse_wakeup_no_from_power:
-0028 6800c71f fetch 1 ,mem_reconn_times_init 
-0029 6000c71e store 1 ,mem_reconn_times 
-002a 680344a0 fetch 6 ,mem_le_lap 
-002b 60034b64 store 6 ,mem_le_normal_lap 
-002c 6800c241 fetch 1 ,mem_power_on_flag 
-002d c3810000 rtnbit1 2 
-002e 20200373 branch p_mouse_dpi_config_default 
+0026 6800c71f fetch 1 ,mem_reconn_times_init 
+0027 6000c71e store 1 ,mem_reconn_times 
+0028 20600000 rtn 
 
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
-002f 58000177 setarg 375 
-0030 60014d80 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0031 20600000 rtn 
+0029 58000177 setarg 375 
+002a 60014d44 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+002b 20600000 rtn 
+002c 20000001 nop 1 
+002d 20000001 nop 1 
+002e 20000001 nop 1 
+002f 20000001 nop 1 
+0030 20000001 nop 1 
+0031 20000001 nop 1 
 0032 20000001 nop 1 
 0033 20000001 nop 1 
 0034 20000001 nop 1 
@@ -80,2185 +80,2648 @@
 003f 20000001 nop 1 
 
 p_patch_array:
-0040 c2840059 bbit1 8 ,pf_patch_ext 
-0041 c0008076 beq patch00_1 ,p_soft_reset_1 
-0042 c001007f beq patch00_2 ,p_soft_reset_2 
-0043 c04285c2 beq patch10_5 ,p_shutdown_radio 
-0044 c0448595 beq patch11_1 ,p_set_freq_tx 
-0045 c04505c4 beq patch11_2 ,p_initialize_radio_cont 
-0046 c00d84b0 beq patch03_3 ,p_page_wait_fhs_reply_ok 
-0047 c01304b2 beq patch04_6 ,p_role_switch_master 
-0048 c02404ce beq patch09_0 ,p_quit_connection_cont 
-0049 c02504d0 beq patch09_2 ,p_prepare_tx 
-004a c02884d9 beq patch0a_1 ,p_slave_conn_recv_packet 
-004b c02c84cc beq patch0b_1 ,p_process_dmh 
-004c c05384de beq patch14_7 ,p_lpm_dispatch 
-004d c05684f4 beq patch15_5 ,p_lpm_set_mult 
-004e c065b3e4 beq patch19_3 ,app_bt_start_reconnect + 3 
-004f c0748505 beq patch1d_1 ,p_mouse_bb_disconnected 
-0050 c0508088 beq patch14_1 ,p_init_param 
-0051 c058808d beq patch16_1 ,p_lpm_check_wake_lock 
-0052 c06200ca beq patch18_4 ,p_device_init 
-0053 c0718375 beq patch1c_3 ,p_mouse_seting_dpi 
-0054 c073039d beq patch1c_6 ,p_mouse_motion 
-0055 c07503da beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-0056 c07583e1 beq patch1d_3 ,p_mouse_start_discovery 
-0057 c07603e7 beq patch1d_4 ,p_mouse_stop_discovery 
-0058 20202a8e branch loop 
+0040 c2840058 bbit1 8 ,pf_patch_ext 
+0041 c0008075 beq patch00_1 ,p_soft_reset_1 
+0042 c001007e beq patch00_2 ,p_soft_reset_2 
+0043 c04287b1 beq patch10_5 ,p_shutdown_radio 
+0044 c0448782 beq patch11_1 ,p_set_freq_tx 
+0045 c00d869d beq patch03_3 ,p_page_wait_fhs_reply_ok 
+0046 c013069f beq patch04_6 ,p_role_switch_master 
+0047 c02406ba beq patch09_0 ,p_quit_connection_cont 
+0048 c02506c1 beq patch09_2 ,p_prepare_tx 
+0049 c02886ca beq patch0a_1 ,p_slave_conn_recv_packet 
+004a c02c86b8 beq patch0b_1 ,p_process_dmh 
+004b c05386cf beq patch14_7 ,p_lpm_dispatch 
+004c c05686e8 beq patch15_5 ,p_lpm_set_mult 
+004d c065b3e4 beq patch19_3 ,app_bt_start_reconnect + 3 
+004e c07486f9 beq patch1d_1 ,p_mouse_bb_disconnected 
+004f c0508087 beq patch14_1 ,p_init_param 
+0050 c058808c beq patch16_1 ,p_lpm_check_wake_lock 
+0051 c0590096 beq patch16_2 ,p_g24_dispatch 
+0052 c06202dc beq patch18_4 ,p_device_init 
+0053 c073058a beq patch1c_6 ,p_mouse_motion 
+0054 c07505cd beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0055 c07585d3 beq patch1d_3 ,p_mouse_start_discovery 
+0056 c07605da beq patch1d_4 ,p_mouse_stop_discovery 
+0057 20202a8e branch loop 
 
 pf_patch_ext:
-0059 c01c83ea beq patch27_1 ,p_le_slave_match 
-005a c02183f2 beq patch28_3 ,p_le_next_adv_channel 
-005b c02503f8 beq patch29_2 ,p_le_receive_skip 
-005c c02b83fb beq patch2a_7 ,p_le_update_param 
-005d c02c83fd beq patch2b_1 ,p_le_update_channel_map 
-005e c03183ff beq patch2c_3 ,p_le_prepare_tx 
-005f c033042f beq patch2c_6 ,p_le_parse 
-0060 c033844e beq patch2c_7 ,p_le_parse_l2cap 
-0061 c0350486 beq patch2d_2 ,p_le_adv_not_match 
-0062 c03b8491 beq patch2e_7 ,p_le_lpm_setmult 
-0063 c07d0548 beq patch3f_2 ,p_check_51cmd_once_continue 
-0064 c0028507 beq patch20_5 ,p_hid_rx_process 
-0065 c0400509 beq patch30_0 ,p_parse_lmp_accepted 
-0066 c0410513 beq patch30_2 ,p_send_lmp 
-0067 c0440524 beq patch31_0 ,p_process_conn_sm 
-0068 c046049d beq patch31_4 ,p_twspi_reset 
-0069 c04684a9 beq patch31_5 ,p_spid_init 
-006a c050031a beq patch34_0 ,p_vdd_calculate_by_mode 
-006b 20202a8e branch loop 
+0058 c01c85e3 beq patch27_1 ,p_le_slave_match 
+0059 c02185eb beq patch28_3 ,p_le_next_adv_channel 
+005a c02505f1 beq patch29_2 ,p_le_receive_skip 
+005b c02b85f4 beq patch2a_7 ,p_le_update_param 
+005c c02c85f6 beq patch2b_1 ,p_le_update_channel_map 
+005d c03185f8 beq patch2c_3 ,p_le_prepare_tx 
+005e c0330622 beq patch2c_6 ,p_le_parse 
+005f c0338639 beq patch2c_7 ,p_le_parse_l2cap 
+0060 c035066f beq patch2d_2 ,p_le_adv_not_match 
+0061 c03b867a beq patch2e_7 ,p_le_lpm_setmult 
+0062 c00286fb beq patch20_5 ,p_hid_rx_process 
+0063 c04006fd beq patch30_0 ,p_parse_lmp_accepted 
+0064 c0410707 beq patch30_2 ,p_send_lmp 
+0065 c0440709 beq patch31_0 ,p_process_conn_sm 
+0066 c046068a beq patch31_4 ,p_twspi_reset 
+0067 c0468696 beq patch31_5 ,p_spid_init 
+0068 c0500528 beq patch34_0 ,p_vdd_calculate_by_mode 
+0069 c07d072d beq patch3f_2 ,p_check_51cmd_once_continue 
+006a 20202a8e branch loop 
 
 p_rssi_signal:
-006c 1fe22200 copy pdata ,rega 
-006d 6808ccf8 fetcht 1 ,mem_rssi_signal_index 
-006e 58004cff setarg mem_rssi_signal_buf 
-006f 98408a00 iadd temp ,contw 
-0070 1a227e00 copy rega ,pdata 
-0071 e0a08000 istore 1 ,contw 
-0072 18408401 increase 1 ,temp 
-0073 18410407 and_into rssi_buf_len_signal ,temp 
-0074 6008ccf8 storet 1 ,mem_rssi_signal_index 
-0075 20600000 rtn 
+006b 1fe22200 copy pdata ,rega 
+006c 6808ccbc fetcht 1 ,mem_rssi_signal_index 
+006d 58004cc3 setarg mem_rssi_signal_buf 
+006e 98408a00 iadd temp ,contw 
+006f 1a227e00 copy rega ,pdata 
+0070 e0a08000 istore 1 ,contw 
+0071 18408401 increase 1 ,temp 
+0072 18410407 and_into rssi_buf_len_signal ,temp 
+0073 6008ccbc storet 1 ,mem_rssi_signal_index 
+0074 20600000 rtn 
 
 p_soft_reset_1:
-0076 d8a009ae arg mem_sp_state ,contw 
-0077 df20000c arg 12 ,loopcnt 
-0078 20407ed4 call clear_mem 
-0079 20400177 call p_mouse_le_txbuff_load 
-007a 20406a03 call rfcomm_init 
-007b 20405cf6 call init_lmp 
-007c 2455ac65 ncall lpm_disable_exen_output ,wake 
-007d 20407ccd call ui_init + 1 
-007e 2020200c branch soft_reset + 11 
+0075 d8a009ae arg mem_sp_state ,contw 
+0076 df20000c arg 12 ,loopcnt 
+0077 20407ed4 call clear_mem 
+0078 204003fc call p_mouse_le_txbuff_load 
+0079 20406a03 call rfcomm_init 
+007a 20405cf6 call init_lmp 
+007b 2455ac65 ncall lpm_disable_exen_output ,wake 
+007c 20407ccd call ui_init + 1 
+007d 2020200c branch soft_reset + 11 
 
 p_soft_reset_2:
-007f 2055b2e3 call app_lpm_init ,wake 
-0080 2040756a call publickey_init 
-0081 2055ab41 call lpm_recover_clk ,wake 
+007e 2055b2e3 call app_lpm_init ,wake 
+007f 2040756a call publickey_init 
+0080 2055ab41 call lpm_recover_clk ,wake 
 
 p_sp_cal_loop:
-0082 204076dc call sp_calc_sequence 
-0083 6800c65a fetch 1 ,mem_ssp_enable 
-0084 203a2012 branch main_loop ,blank 
-0085 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-0086 203a0082 branch p_sp_cal_loop ,blank 
-0087 20202012 branch main_loop 
+0081 204076dc call sp_calc_sequence 
+0082 6800c65a fetch 1 ,mem_ssp_enable 
+0083 203a2012 branch main_loop ,blank 
+0084 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+0085 203a0081 branch p_sp_cal_loop ,blank 
+0086 20202012 branch main_loop 
 
 p_init_param:
-0088 58000a06 setarg param_le_version 
-0089 6001c510 store 3 ,mem_lmp_version 
-008a 58001d87 setarg param_le_subversion 
-008b 60014513 store 2 ,mem_lmp_version + 3 
-008c 20202aa2 branch init_param + 12 
+0087 58000a06 setarg param_le_version 
+0088 6001c510 store 3 ,mem_lmp_version 
+0089 58001d87 setarg param_le_subversion 
+008a 60014513 store 2 ,mem_lmp_version + 3 
+008b 20202aa2 branch init_param + 12 
 
 p_lpm_check_wake_lock:
-008d c6130000 rtnmark1 mark_24g 
-008e 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
-008f 243a7fef nbranch disable_blank ,blank 
-0090 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
-0091 243a7fef nbranch disable_blank ,blank 
-0092 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0093 203a7fef branch disable_blank ,blank 
-0094 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
-0095 c000ffef beq le_lpm_disable ,disable_blank 
-0096 68014248 fetch 2 ,mem_sdp_remote_cid 
-0097 243a7fef nbranch disable_blank ,blank 
-0098 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
-0099 243a7fef nbranch disable_blank ,blank 
-009a 20207ff1 branch enable_blank 
+008c c6130000 rtnmark1 mark_24g 
+008d 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+008e c0007fef beq 0 ,disable_blank 
+008f 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
+0090 c000ffef beq le_lpm_disable ,disable_blank 
+0091 68014248 fetch 2 ,mem_sdp_remote_cid 
+0092 243a7fef nbranch disable_blank ,blank 
+0093 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
+0094 243a7fef nbranch disable_blank ,blank 
+0095 20207ff1 branch enable_blank 
+
+p_g24_dispatch:
+0096 c6930000 rtnmark0 mark_24g 
+0097 6800cd41 fetch 1 ,mem_24g_transmit_by_interrupt 
+0098 c00080ae beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+
+p_g24_transmit_process:
+0099 20400145 call p_g24_txdata_prep 
+009a 243400ca nbranch p_g24_nodata_transmit ,user 
+009b 2040012c call p_g24_rf_sta_check 
+
+p_g24_transmit_start:
+009c 20400169 call p_g24_transmit_packet 
+009d 6800cc11 fetch 1 ,mem_24g_pairing_sm 
+009e c1ff8000 rtnne state_24g_pairing_success 
+009f 20400756 call power_ctrl_start 
+00a0 204000aa call g24_long_sleep_shorter_param_update 
+00a1 6800cb26 fetch 1 ,mem_mouse_multi_led_state 
+00a2 c00083ee beq on ,p_g24_transmit_by_interrupt_enable 
+
+p_g24_short_sleep:
+00a3 204000d5 call p_g24_lpm_wait 
+00a4 24740000 nrtn user 
+00a5 204002c0 call p_clear_wake 
+00a6 5800ec54 setarg 60500 
+
+p_g24_enter_sleep:
+00a7 20407f49 call clk2lpo 
+00a8 600a415b storet 4 ,mem_sleep_counter 
+00a9 20202b2a branch lpm_sleep 
+
+g24_long_sleep_shorter_param_update:
+00aa 58017700 setarg g24_long_sleep_step1 
+00ab 6001cc30 store 3 ,mem_24g_enter_hibernate 
+00ac 704b6c14 jam 20 ,mem_24g_long_sleep_param_update_timer 
+00ad 20600000 rtn 
+
+p_g24_transmit_by_interrupt:
+00ae 2040028b call p_g24_timer_check 
+00af 24740000 nrtn user 
+00b0 204000c4 call p_g24_interval_calibrate 
+00b1 68014d42 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00b2 1fe0fe01 increase 1 ,pdata 
+00b3 60014d42 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00b4 68094d44 fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+00b5 98467c00 isub temp ,null 
+00b6 204280b8 call p_g24_transmit_by_interrupt_exit ,zero 
+00b7 20200099 branch p_g24_transmit_process 
+
+p_g24_transmit_by_interrupt_exit:
+00b8 704d4100 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+00b9 58000000 setarg 0 
+00ba 60014d42 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00bb 58000064 setarg 100 
+00bc 60014d44 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+
+p_g24_interval_min:
+00bd 704c3c00 jam 0 ,mem_24g_pac_index 
+00be 6800cc27 fetch 1 ,mem_24g_interval_min 
+00bf 6000cc26 store 1 ,mem_24g_interval 
+00c0 20600000 rtn 
+
+p_g24_interval_max:
+00c1 6800cc28 fetch 1 ,mem_24g_interval_max 
+00c2 6000cc26 store 1 ,mem_24g_interval 
+00c3 20600000 rtn 
+
+p_g24_interval_calibrate:
+00c4 6800cc3c fetch 1 ,mem_24g_pac_index 
+00c5 1fe0fe01 increase 1 ,pdata 
+00c6 6000cc3c store 1 ,mem_24g_pac_index 
+00c7 c00200c1 beq 4 ,p_g24_interval_max 
+00c8 c00280bd beq 5 ,p_g24_interval_min 
+00c9 20600000 rtn 
+
+p_g24_nodata_transmit:
+00ca 6800cc2d fetch 1 ,mem_24g_abort_pac 
+00cb 205a00de call p_g24_send_abort_packet ,blank 
+
+p_g24_long_sleep:
+00cc 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+00cd 1fe67c0a sub pdata ,10 ,null 
+00ce 20610000 rtn positive 
+00cf 204000d5 call p_g24_lpm_wait 
+00d0 24740000 nrtn user 
+00d1 6801cc30 fetch 3 ,mem_24g_enter_hibernate 
+00d2 20407f49 call clk2lpo 
+00d3 600a415b storet 4 ,mem_sleep_counter 
+00d4 20202b2a branch lpm_sleep 
+
+p_g24_lpm_wait:
+00d5 78347c00 enable user 
+00d6 20402afa call lpo_calibration 
+00d7 6801c16f fetch 3 ,mem_clks_per_lpo 
+00d8 203a7fe9 branch disable_user ,blank 
+00d9 6800c091 fetch 1 ,mem_lpm_mode 
+00da 203a7fe9 branch disable_user ,blank 
+00db 6800cd41 fetch 1 ,mem_24g_transmit_by_interrupt 
+00dc c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
+00dd 202002c3 branch p_mouse_setgpio_lpm 
+
+p_g24_send_abort_packet:
+00de 704c2d01 jam 1 ,mem_24g_abort_pac 
+00df 704d3600 jam 0 ,mem_24g_rf_hop_ch 
+00e0 204000f1 call p_g24_transmit_rf_ctrl_clear 
+00e1 6000cb9d store 1 ,mem_24g_txbuf 
+00e2 58000000 setarg 0 
+00e3 6003cb9e store 7 ,mem_24g_txbuf + 1 
+00e4 68024c38 fetch 4 ,mem_24g_device_addr 
+00e5 60024ba5 store 4 ,mem_24g_txbuf + 8 
+00e6 704c010c jam 12 ,mem_24g_datalen 
+00e7 6800cc02 fetch 1 ,mem_24g_data_type 
+00e8 79207e03 set1 bit_abort ,pdata 
+00e9 6000cc02 store 1 ,mem_24g_data_type 
+00ea 20400148 call p_g24_txdata_enable_tx 
+00eb 2020009c branch p_g24_transmit_start 
+
+p_g24_set_device_addr:
+00ec 680240a0 fetch 4 ,mem_lap 
+00ed 60024c38 store 4 ,mem_24g_device_addr 
+00ee 20600000 rtn 
+
+p_g24_transmit_rf_sta_init:
+00ef 704d3701 jam 1 ,mem_24g_rf_last_sta 
+00f0 704d3900 jam 0 ,mem_24g_sync_cnt 
+
+p_g24_transmit_rf_ctrl_clear:
+00f1 6800cc02 fetch 1 ,mem_24g_data_type 
+00f2 1fe17e07 and_into bits_data ,pdata 
+00f3 6000cc02 store 1 ,mem_24g_data_type 
+00f4 20600000 rtn 
+
+p_g24_hop_ch_enable:
+00f5 6800cc02 fetch 1 ,mem_24g_data_type 
+00f6 79207e04 set1 bit_hop ,pdata 
+00f7 6000cc02 store 1 ,mem_24g_data_type 
+00f8 6000cbbd store 1 ,mem_24g_txpayload 
+00f9 20600000 rtn 
+
+p_g24_hop_ch_disable:
+00fa 6800cc02 fetch 1 ,mem_24g_data_type 
+00fb 793ffe04 set0 bit_hop ,pdata 
+00fc 6000cc02 store 1 ,mem_24g_data_type 
+00fd 6000cbbd store 1 ,mem_24g_txpayload 
+00fe 2040074c call power_ctrl_pac_succ_decrs 
+00ff 20400203 call p_g24_ch 
+0100 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail:
+0101 2040074c call power_ctrl_pac_succ_decrs 
+0102 6800cd38 fetch 1 ,mem_24g_rf_work_stage 
+0103 c0008106 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0104 c001010a beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0105 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail_wo_hop:
+0106 704d3902 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_fail_stage1:
+0107 704d3500 jam 0 ,mem_24g_hop_pac_retry 
+0108 704d3700 jam 0 ,mem_24g_rf_last_sta 
+0109 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+010a 704d3600 jam 0 ,mem_24g_rf_hop_ch 
+010b 20200107 branch p_g24_transmit_hop_pac_fail_stage1 
+
+p_g24_transmit_pac_fail_hop_stage3:
+010c 68014c07 fetch 2 ,mem_24g_txfail_cnt 
+010d 1fe0fe01 increase 1 ,pdata 
+010e 60014c07 store 2 ,mem_24g_txfail_cnt 
+010f c28501b1 bbit1 10 ,p_g24_tx_attempt_fail 
+0110 6800cd36 fetch 1 ,mem_24g_rf_hop_ch 
+0111 c0008115 beq 1 ,p_g24_rf_hop_fastly 
+0112 704d3601 jam 1 ,mem_24g_rf_hop_ch 
+
+p_g24_rf_hop_attemp_again:
+0113 6800cd36 fetch 1 ,mem_24g_rf_hop_ch 
+0114 c08080f1 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+
+p_g24_rf_hop_fastly:
+0115 6800cd34 fetch 1 ,mem_24g_hop_fastly_cnt 
+0116 1fe0fe01 increase 1 ,pdata 
+0117 6000cd34 store 1 ,mem_24g_hop_fastly_cnt 
+0118 c002011c beq 4 ,p_g24_rf_hop_fastly_exit 
+0119 20400203 call p_g24_ch 
+011a 704c4602 jam 2 ,mem_24g_max_retry 
+011b 20200169 branch p_g24_transmit_packet 
+
+p_g24_rf_hop_fastly_exit:
+011c 2040074c call power_ctrl_pac_succ_decrs 
+011d 704d3400 jam 0 ,mem_24g_hop_fastly_cnt 
+011e 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+011f 704d3902 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_succ:
+0120 704d3701 jam 1 ,mem_24g_rf_last_sta 
+0121 704d3600 jam 0 ,mem_24g_rf_hop_ch 
+0122 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_succ_rf_config:
+0123 6800cd38 fetch 1 ,mem_24g_rf_work_stage 
+0124 c0018120 beq 3 ,p_g24_transmit_hop_pac_succ 
+0125 6800cc02 fetch 1 ,mem_24g_data_type 
+0126 2fec0004 isolate0 bit_hop ,pdata 
+0127 202080ef branch p_g24_transmit_rf_sta_init ,true 
+0128 6800cd38 fetch 1 ,mem_24g_rf_work_stage 
+0129 c000811f beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+012a c0010120 beq 2 ,p_g24_transmit_hop_pac_succ 
+012b 20600000 rtn 
+
+p_g24_rf_sta_check:
+012c 6800cc11 fetch 1 ,mem_24g_pairing_sm 
+012d c1ff8000 rtnne state_24g_pairing_success 
+012e 20400131 call p_g24_rf_laststa_synccnt_check 
+012f 24560139 ncall p_g24_rf_sync_cnt_check ,user2 
+0130 20600000 rtn 
+
+p_g24_rf_laststa_synccnt_check:
+0131 78567c00 disable user2 
+0132 6800cd37 fetch 1 ,mem_24g_rf_last_sta 
+0133 c1808000 rtnne 1 
+0134 6800cd39 fetch 1 ,mem_24g_sync_cnt 
+0135 c1800000 rtnne 0 
+0136 704d3801 jam 1 ,mem_24g_rf_work_stage 
+0137 704c4604 jam 4 ,mem_24g_max_retry 
+0138 20207feb branch enable_user2 
+
+p_g24_rf_sync_cnt_check:
+0139 6800cd39 fetch 1 ,mem_24g_sync_cnt 
+013a 203a0140 branch p_g24_rf_hop_attemp ,blank 
+013b 1fe0ffff increase -1 ,pdata 
+013c 6000cd39 store 1 ,mem_24g_sync_cnt 
+013d 704d3802 jam 2 ,mem_24g_rf_work_stage 
+013e 704c4604 jam 4 ,mem_24g_max_retry 
+013f 20200203 branch p_g24_ch 
+
+p_g24_rf_hop_attemp:
+0140 704d3803 jam 3 ,mem_24g_rf_work_stage 
+0141 6800cd36 fetch 1 ,mem_24g_rf_hop_ch 
+0142 243a0113 nbranch p_g24_rf_hop_attemp_again ,blank 
+0143 704c4602 jam 2 ,mem_24g_max_retry 
+0144 20200203 branch p_g24_ch 
+
+p_g24_txdata_prep:
+0145 6800cc11 fetch 1 ,mem_24g_pairing_sm 
+0146 c0ff81bc bne state_24g_pairing_success ,p_g24_pairing_sm 
+
+p_g24_txdata_prep_packeage_data:
+0147 2040014b call p_g24_package_data 
+
+p_g24_txdata_enable_tx:
+0148 204001f1 call p_g24_transmit_prep 
+0149 704c0601 jam ensure_on_24g ,mem_24g_ensure 
+014a 20600000 rtn 
+
+p_g24_package_data:
+014b 68014d32 fetch 2 ,mem_cb_24g_data 
+014c 20407f9c call callback_func 
+014d 20340151 branch p_g24_accumulate_mouse_data ,user 
+014e 6803cb9e fetch 7 ,mem_24g_txbuf + 1 
+014f 207a0000 rtn blank 
+0150 20207fe7 branch enable_user 
+
+p_g24_accumulate_mouse_data:
+0151 204004a5 call p_mouse_24g_no_data_timer_init 
+0152 20400329 call p_mouse_data_xy_release 
+0153 704c2d00 jam 0 ,mem_24g_abort_pac 
+0154 1a20fe01 add rega ,1 ,pdata 
+0155 6000cc01 store 1 ,mem_24g_datalen 
+0156 204000f1 call p_g24_transmit_rf_ctrl_clear 
+0157 6000cb9d store 1 ,mem_24g_txbuf 
+0158 e8a88000 ifetcht 1 ,contw 
+0159 ea408000 ifetch 1 ,regb 
+015a 9841fe00 ior temp ,pdata 
+015b e0a08000 istore 1 ,contw 
+015c 1a40a401 increase 1 ,regb 
+015d ea420000 ifetch 4 ,regb 
+015e e0a20000 istore 4 ,contw 
+015f 1a40a404 increase 4 ,regb 
+0160 d8a04ba3 arg mem_24g_txbuf + 6 ,contw 
+0161 df200002 arg 2 ,loopcnt 
+
+p_g24_accumulation_loop:
+0162 ea408000 ifetch 1 ,regb 
+0163 e8a88000 ifetcht 1 ,contw 
+0164 9840fe00 iadd temp ,pdata 
+0165 e0a08000 istore 1 ,contw 
+0166 1a40a401 increase 1 ,regb 
+0167 c2000162 loop p_g24_accumulation_loop 
+0168 20600000 rtn 
+
+p_g24_transmit_packet:
+0169 704c0a00 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+016a d9600d00 arg param_rx_setup ,timeup 
+016b 34730200 until clkn_rt ,meet 
+016c 2040018b call p_g24_transmit_receive_ack 
+016d 6800cc3d fetch 1 ,mem_24g_no_ack 
+016e c1008000 rtneq no_ack_24g 
+016f 242c019a nbranch p_g24_retransmit ,sync 
+0170 2437819a nbranch p_g24_retransmit ,user3 
+0171 20400183 call p_g24_txbuf_clear 
+0172 204001b5 call p_g24_ackpayload_parse 
+0173 20400748 call power_ctrl_pac_succ_incrs 
+
+p_g24_transmit_next_packet:
+0174 704b5600 jam 0 ,mem_retry_count 
+0175 6800cc00 fetch 1 ,mem_24g_pid 
+0176 1fe0fe01 increase 1 ,pdata 
+0177 6000cc00 store 1 ,mem_24g_pid 
+0178 20400186 call p_g24_hop_enable_packet 
+0179 6800cc11 fetch 1 ,mem_24g_pairing_sm 
+017a c0ff8189 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+017b 20400123 call p_g24_transmit_succ_rf_config 
+
+p_g24_transmit_abandon:
+017c 58000000 setarg 0 
+017d 60014c07 store 2 ,mem_24g_txfail_cnt 
+017e 6000cc09 store 1 ,mem_24g_get_ack_fail 
+017f 6000cd35 store 1 ,mem_24g_hop_pac_retry 
+0180 6000cb5d store 1 ,mem_mouse_24g_pair_timer 
+0181 704c0600 jam ensure_off_24g ,mem_24g_ensure 
+0182 20600000 rtn 
+
+p_g24_txbuf_clear:
+0183 df200004 arg 4 ,loopcnt 
+0184 d8a04b9d arg mem_24g_txbuf ,contw 
+0185 20207ec6 branch memset0 
+
+p_g24_hop_enable_packet:
+0186 6800cc02 fetch 1 ,mem_24g_data_type 
+0187 c28200fa bbit1 bit_hop ,p_g24_hop_ch_disable 
+0188 20600000 rtn 
+
+p_g24_paring_mode_start:
+0189 20400745 call power_ctrl_pac_succ_cnt_init 
+018a 202001be branch p_g24_paring_mode 
+
+p_g24_transmit_receive_ack:
+018b 7857fc00 disable user3 
+018c 2040026a call p_g24_transmit 
+018d 6800cc3d fetch 1 ,mem_24g_no_ack 
+018e c0008198 beq no_ack_24g ,p_g24_transmit_no_ack 
+018f 18002a00 force 0 ,radio_ctrl 
+0190 68024c29 fetch 4 ,mem_24g_addr 
+0191 98001200 iforce access 
+0192 68088017 fetcht 1 ,mem_last_freq 
+0193 2040291f call set_freq_rx 
+0194 20402924 call rf_rx_enable 
+0195 20400226 call p_g24_receive_rxon 
+0196 20578262 call p_g24_end_of_packet ,user3 
+0197 20600000 rtn 
+
+p_g24_transmit_no_ack:
+0198 20400262 call p_g24_end_of_packet 
+0199 20200174 branch p_g24_transmit_next_packet 
+
+p_g24_retransmit:
+019a 6800cc09 fetch 1 ,mem_24g_get_ack_fail 
+019b 1fe0fe01 increase 1 ,pdata 
+019c 6000cc09 store 1 ,mem_24g_get_ack_fail 
+019d 6800cc11 fetch 1 ,mem_24g_pairing_sm 
+019e c0ff81ae bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+019f 6808cc0a fetcht 1 ,mem_24g_retry 
+01a0 18408401 increase 1 ,temp 
+01a1 6008cc0a storet 1 ,mem_24g_retry 
+01a2 6800cc46 fetch 1 ,mem_24g_max_retry 
+01a3 98467e00 isub temp ,pdata 
+01a4 243a016a nbranch p_g24_transmit_loop ,blank 
+01a5 6800cd38 fetch 1 ,mem_24g_rf_work_stage 
+01a6 c001810c beq 3 ,p_g24_transmit_pac_fail_hop_stage3 
+01a7 6800cd35 fetch 1 ,mem_24g_hop_pac_retry 
+01a8 1fe0fe01 increase 1 ,pdata 
+01a9 6000cd35 store 1 ,mem_24g_hop_pac_retry 
+01aa c0010101 beq 2 ,p_g24_transmit_hop_pac_fail 
+01ab 204000f5 call p_g24_hop_ch_enable 
+01ac 704c4601 jam 1 ,mem_24g_max_retry 
+01ad 20200169 branch p_g24_transmit_packet 
+
+p_g24_tx_paring_retry:
+01ae 6800cc09 fetch 1 ,mem_24g_get_ack_fail 
+01af c1ff8000 rtnne 0xff 
+01b0 704c0900 jam 0 ,mem_24g_get_ack_fail 
+
+p_g24_tx_attempt_fail:
+01b1 58000000 setarg 0 
+01b2 60014c07 store 2 ,mem_24g_txfail_cnt 
+
+p_g24_stop_g24_mode:
+01b3 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+01b4 20207d86 branch ui_ipc_send_event 
+
+p_g24_ackpayload_parse:
+01b5 204001d6 call p_g24_read_len_pid_crc 
+01b6 6800cbff fetch 1 ,mem_24g_rxdata_length 
+01b7 207a0000 rtn blank 
+01b8 98007200 iforce loopcnt 
+01b9 d8c04b7d arg mem_24g_rxbuf + 2 ,contr 
+01ba d8a04bdf arg mem_24g_rxpayload ,contw 
+01bb 20207f01 branch memcpy 
+
+p_g24_pairing_sm:
+01bc 7011c590 jam zcode_90 ,mem_zcode_temp_param0 
+01bd 202007b3 branch p_zcode_entrance 
+
+p_g24_paring_mode:
+01be 7011c591 jam zcode_91 ,mem_zcode_temp_param0 
+01bf 202007b3 branch p_zcode_entrance 
+
+p_g24_start_24g_mode:
+01c0 7011c560 jam zcode_60 ,mem_zcode_temp_param0 
+01c1 202007b3 branch p_zcode_entrance 
+
+p_g24_auto_pair_start:
+01c2 7011c570 jam zcode_70 ,mem_zcode_temp_param0 
+01c3 202007b3 branch p_zcode_entrance 
+
+p_g24_tx_attemp_data_prep:
+01c4 70119eff jam 0xff ,mem_24g_common_temp 
+01c5 6800cc02 fetch 1 ,mem_24g_data_type 
+01c6 6000919f store 1 ,mem_24g_common_temp + 1 
+01c7 68024c38 fetch 4 ,mem_24g_device_addr 
+01c8 600211a0 store 4 ,mem_24g_common_temp + 2 
+01c9 d8400006 arg 6 ,temp 
+01ca da20119e arg mem_24g_common_temp ,rega 
+01cb 204001d1 call p_g24_put_data_in_buff 
+01cc 202001f1 branch p_g24_transmit_prep 
+
+p_g24_check_51cmd_stop_24g:
+01cd 793f8026 set0 mark_24g ,mark 
+01ce 204053ce call le_disable 
+
+p_mouse_disable_g24_pairing_flag:
+01cf d8e00003 arg mosue_24g_pairing_flag ,queue 
+01d0 202043d2 branch mouse_disable_function_flag 
+
+p_g24_put_data_in_buff:
+01d1 6008cc01 storet 1 ,mem_24g_datalen 
+01d2 18427200 copy temp ,loopcnt 
+01d3 d8a04b9d arg mem_24g_txbuf ,contw 
+01d4 1a220c00 copy rega ,contr 
+01d5 20207f01 branch memcpy 
+
+p_g24_read_len_pid_crc:
+01d6 6800cb7c fetch 1 ,mem_24g_rxbuf + 1 
+01d7 1fe97e00 rshift3 pdata ,pdata 
+01d8 6000cbff store 1 ,mem_24g_rxdata_length 
+01d9 1fe0fe01 increase 1 ,pdata 
+01da d8c04b7c arg mem_24g_rxbuf + 1 ,contr 
+01db 98c08c00 iadd contr ,contr 
+01dc e8c18000 ifetch 3 ,contr 
+01dd 6001cc3e store 3 ,mem_24g_sta_crc 
+01de 6800cb7c fetch 1 ,mem_24g_rxbuf + 1 
+01df 1fe37e00 rshift pdata ,pdata 
+01e0 1fe17e03 and pdata ,0x03 ,pdata 
+01e1 6000cc44 store 1 ,mem_24g_sta_pid 
+01e2 20600000 rtn 
+
+p_g24_update_addr_and_synccrc8:
+01e3 60024c29 store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+01e4 da200000 arg 0 ,rega 
+01e5 df200004 arg 4 ,loopcnt 
+01e6 d8c04c29 arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+01e7 e8c08000 ifetch 1 ,contr 
+01e8 9a20a200 iadd rega ,rega 
+01e9 c20001e7 loop p_g24_syncword_crc8_loop 
+01ea 1a227e00 copy rega ,pdata 
+01eb 60014cb2 store 2 ,mem_24g_syncword 
+01ec 6800ccb2 fetch 1 ,mem_24g_syncword 
+01ed 6808ccb3 fetcht 1 ,mem_24g_syncword + 1 
+01ee 9840fe00 iadd temp ,pdata 
+01ef 6000ccb4 store 1 ,mem_24g_syncword_crc8 
+01f0 20600000 rtn 
+
+p_g24_transmit_prep:
+01f1 6800cc01 fetch 1 ,mem_24g_datalen 
+01f2 1fe0fe02 increase 2 ,pdata 
+01f3 6000cc03 store 1 ,mem_24g_txlen 
+01f4 6800cc02 fetch 1 ,mem_24g_data_type 
+01f5 6000cbbd store 1 ,mem_24g_txpayload 
+01f6 6800cc01 fetch 1 ,mem_24g_datalen 
+01f7 1fe9fe00 lshift3 pdata ,pdata 
+01f8 6808cc00 fetcht 1 ,mem_24g_pid 
+01f9 18410403 and temp ,0x03 ,temp 
+01fa 18438400 lshift temp ,temp 
+01fb 9841fe00 ior temp ,pdata 
+01fc 6808cc3d fetcht 1 ,mem_24g_no_ack 
+01fd 9840fe00 iadd temp ,pdata 
+01fe e0a08000 istore 1 ,contw 
+01ff 6800cc01 fetch 1 ,mem_24g_datalen 
+0200 98007200 iforce loopcnt 
+0201 d8c04b9d arg mem_24g_txbuf ,contr 
+0202 20207f01 branch memcpy 
+
+p_g24_ch:
+0203 6808cc0c fetcht 1 ,mem_24g_current_ch_number 
+0204 20400207 call p_g24_ch_map_size 
+0205 6008cc0c storet 1 ,mem_24g_current_ch_number 
+0206 20600000 rtn 
+
+p_g24_ch_map_size:
+0207 2040020b call p_g24_ch_calc 
+0208 18408401 increase 1 ,temp 
+0209 18410403 and_into 3 ,temp 
+020a 20600000 rtn 
+
+p_g24_ch_calc:
+020b 6800cc29 fetch 1 ,mem_24g_addr 
+020c 1fe17e03 and_into 0x03 ,pdata 
+020d 1fefa204 mul32 pdata ,4 ,rega 
+020e 58004c12 setarg mem_24g_ch_map1 
+020f 9a20fe00 iadd rega ,pdata 
+0210 98408c00 iadd temp ,contr 
+0211 e8c08000 ifetch 1 ,contr 
+0212 6000cc0b store 1 ,mem_24g_ch 
+0213 20600000 rtn 
+
+p_g24_prep:
+0214 7844fc00 disable enable_crc 
+0215 7843fc00 disable enable_white 
+0216 58555555 setarg 0x555555 
+0217 98001e00 iforce crc24_init 
+0218 6800cc0b fetch 1 ,mem_24g_ch 
+0219 1fed8400 reverse pdata ,temp 
+021a 79200401 set1 1 ,temp 
+021b 18431c00 rshift temp ,white_init 
+021c 20600000 rtn 
+
+p_g24_receive_packet:
+021d 204053c4 call le_enable 
+021e 68024c29 fetch 4 ,mem_24g_addr 
+021f 98001200 iforce access 
+0220 20402918 call set_sync_on 
+0221 6808cc0b fetcht 1 ,mem_24g_ch 
+0222 2040291f call set_freq_rx 
+0223 58000500 setarg param_pll_setup 
+0224 20402a8f call sleep 
+0225 20402924 call rf_rx_enable 
+
+p_g24_receive_rxon:
+0226 20400214 call p_g24_prep 
+0227 7857fc00 disable user3 
+0228 7826fc00 enable decode_fec0 
+0229 7830fc00 enable is_rx 
+022a 78507c00 disable is_tx 
+022b 78287c00 enable swfine 
+022c 68014c04 fetch 2 ,mem_24g_rx_window 
+022d 98003600 iforce stop_watch 
+022e 37c18400 correlate null ,timeout 
+022f 242c0266 nbranch p_g24_sync_timeout ,sync 
+0230 7846fc00 disable decode_fec0 
+0231 7825fc00 enable decode_fec1 
+0232 7823fc00 enable enable_white 
+0233 7824fc00 enable enable_crc 
+0234 2040025f call p_g24_receive_byte 
+0235 6000ccb5 store 1 ,mem_24g_get_syncword_crc8 
+0236 6808ccb4 fetcht 1 ,mem_24g_syncword_crc8 
+0237 98467c00 isub temp ,null 
+0238 24228262 nbranch p_g24_end_of_packet ,zero 
+0239 2040025f call p_g24_receive_byte 
+023a 6000cb7b store 1 ,mem_24g_rxbuf 
+023b 6800cc47 fetch 1 ,mem_24g_mode 
+023c 1fe67c02 sub pdata ,rx_24g ,null 
+023d 20228242 branch p_g24_receive_skip ,zero 
+023e 6800cb7b fetch 1 ,mem_24g_rxbuf 
+023f 6808cc02 fetcht 1 ,mem_24g_data_type 
+0240 a8400e00 icompare bits_data ,temp 
+0241 24208262 nbranch p_g24_end_of_packet ,true 
+
+p_g24_receive_skip:
+0242 2040025f call p_g24_receive_byte 
+0243 e0a08000 istore 1 ,contw 
+0244 1fe97e00 rshift3 pdata ,pdata 
+0245 1fe1721f and pdata ,0x1f ,loopcnt 
+0246 2022824a branch p_g24rx_nopayload ,zero 
+
+p_g24rx_loop:
+0247 2040025f call p_g24_receive_byte 
+0248 e0a08000 istore 1 ,contw 
+0249 c2000247 loop p_g24rx_loop 
+
+p_g24rx_nopayload:
+024a 18a22200 copy contw ,rega 
+024b 2040025f call p_g24_receive_byte 
+024c 6000cd3c store 1 ,mem_rssi_hex_received 
+024d 1a220a00 copy rega ,contw 
+024e 09800018 parse demod ,bucket ,24 
+024f 78287c00 enable swfine 
+0250 db600664 arg param_sifs ,stop_watch 
+0251 1fef7e00 rshift32 pdata ,pdata 
+0252 1ff17e00 rshift16 pdata ,pdata 
+0253 e0a18000 istore 3 ,contw 
+0254 7845fc00 disable decode_fec1 
+0255 20230262 branch p_g24_end_of_packet ,crc_failed 
+0256 7837fc00 enable user3 
+0257 68008017 fetch 1 ,mem_last_freq 
+0258 1fe0a200 add pdata ,0 ,rega 
+0259 20402981 call rf_write_freq 
+025a 7846fc00 disable decode_fec0 
+025b 20402918 call set_sync_on 
+025c 6800cd3c fetch 1 ,mem_rssi_hex_received 
+025d 2040006b call p_rssi_signal 
+025e 20600000 rtn 
+
+p_g24_receive_byte:
+025f 09800008 parse demod ,bucket ,8 
+0260 19897e00 rshift3 pwindow ,pdata 
+0261 20600000 rtn 
+
+p_g24_end_of_packet:
+0262 784dfc00 disable encode_fec1 
+0263 7845fc00 disable decode_fec1 
+0264 2040264d call end_of_packet 
+0265 20600000 rtn 
+
+p_g24_sync_timeout:
+0266 20200262 branch p_g24_end_of_packet 
+
+p_g24_set_freq_tx:
+0267 20402918 call set_sync_on 
+0268 6808cc0b fetcht 1 ,mem_24g_ch 
+0269 20202933 branch set_freq_tx 
+
+p_g24_transmit:
+026a 204053c4 call le_enable 
+026b 68024c29 fetch 4 ,mem_24g_addr 
+026c 98001200 iforce access 
+026d 20400214 call p_g24_prep 
+026e 20400267 call p_g24_set_freq_tx 
+026f 79202a00 set1 txgfsk ,radio_ctrl 
+0270 782efc00 enable encode_fec0 
+0271 78307c00 enable is_tx 
+0272 7850fc00 disable is_rx 
+0273 19317e00 rshift16 access ,pdata 
+0274 1fecfe00 rshift8 pdata ,pdata 
+0275 1ff1fe00 rshift4 pdata ,pdata 
+0276 08008628 inject mod ,40 
+0277 784efc00 disable encode_fec0 
+0278 782dfc00 enable encode_fec1 
+0279 7823fc00 enable enable_white 
+027a 7824fc00 enable enable_crc 
+027b 6800ccb4 fetch 1 ,mem_24g_syncword_crc8 
+027c 08008608 inject mod ,8 
+027d 6800cc03 fetch 1 ,mem_24g_txlen 
+027e 98007200 iforce loopcnt 
+027f d8c04bbd arg mem_24g_txpayload ,contr 
+
+p_g24tr_loop:
+0280 e8c08000 ifetch 1 ,contr 
+0281 08008608 inject mod ,8 
+0282 c2000280 loop p_g24tr_loop 
+0283 78247c00 enable enable_parity 
+0284 08008618 inject mod ,24 
+0285 78447c00 disable enable_parity 
+0286 37d38200 until null ,tx_clear 
+0287 20000064 nop 100 
+0288 784efc00 disable encode_fec0 
+0289 784dfc00 disable encode_fec1 
+028a 20600000 rtn 
+
+p_g24_timer_check:
+028b 20407fe9 call disable_user 
+028c 680a4c22 fetcht 4 ,mem_24g_tx_btclk 
+028d 1c427e00 copy clkn_bt ,pdata 
+028e 98467c00 isub temp ,null 
+028f 24412d18 ncall g24_timer_timeout ,positive 
+0290 1fe22400 copy pdata ,regb 
+0291 68024c22 fetch 4 ,mem_24g_tx_btclk 
+0292 6808cc26 fetcht 1 ,mem_24g_interval 
+0293 98408400 iadd temp ,temp 
+0294 1a427e00 copy regb ,pdata 
+0295 98467c00 isub temp ,null 
+0296 24610000 nrtn positive 
+0297 793ffe1c set0 28 ,pdata 
+0298 60024c22 store 4 ,mem_24g_tx_btclk 
+0299 20207fe7 branch enable_user 
+
+p_rssi_noise:
+029a 204029bb call save_rssi 
+029b 207a0000 rtn blank 
+029c 6808ccbb fetcht 1 ,mem_rssi_noise_index 
+029d da200d9e arg mem_rssi_noise_buffer ,rega 
+029e 204002a1 call p_rssi_store 
+029f 6008ccbb storet 1 ,mem_rssi_noise_index 
+02a0 20600000 rtn 
+
+p_rssi_store:
+02a1 1a227e00 copy rega ,pdata 
+02a2 98408a00 iadd temp ,contw 
+02a3 68008018 fetch 1 ,mem_rssi 
+02a4 e0a08000 istore 1 ,contw 
+02a5 18408401 increase 1 ,temp 
+02a6 18410407 and_into rssi_buf_len_signal ,temp 
+02a7 20600000 rtn 
 
 p_rssi_average:
-009b d8400000 arg 0 ,temp 
-009c df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
-009d 1a220c00 copy rega ,contr 
+02a8 d8400000 arg 0 ,temp 
+02a9 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+02aa 1a220c00 copy rega ,contr 
 
 p_rssi_average_loop:
-009e e8c08000 ifetch 1 ,contr 
-009f 98408400 iadd temp ,temp 
-00a0 c200009e loop p_rssi_average_loop 
-00a1 18497e00 rshift3 temp ,pdata 
-00a2 1fe20400 copy pdata ,temp 
-00a3 c6930000 rtnmark0 mark_24g 
-00a4 1fe6fc0a div pdata ,10 
-00a5 20407f86 call wait_div_end 
-00a6 1807fe00 quotient pdata 
-00a7 1ff27e00 lshift4 pdata ,pdata 
-00a8 18070400 remainder temp 
-00a9 98418400 ior temp ,temp 
-00aa 20600000 rtn 
-00ab 20600000 rtn 
-
-p_mouse_setgpio_lpm:
-00ac 204000c7 call p_mouse_set_sdio_high 
-00ad 204000c4 call p_clear_wake 
-
-p_mouse_setgpio_hibernate:
-00ae 20403ebf call mouse_lpm_before_common 
-00af 6808cb47 fetcht 1 ,mem_flash_ncs_gpio 
-00b0 20406825 call gpio_out_inactive 
-00b1 68120070 hfetch 4 ,core_gpio_oe0 
-00b2 681a0078 hfetcht 4 ,core_gpio_pu0 
-00b3 98418400 ior temp ,temp 
-00b4 18440400 invert temp ,temp 
-00b5 601a007c hstoret 4 ,core_gpio_pd0 
-00b6 6810807d hfetch 1 ,core_gpio_pd1 
-00b7 793ffe02 set0 2 ,pdata 
-00b8 6010807d hstore 1 ,core_gpio_pd1 
-00b9 6810807e hfetch 1 ,core_gpio_pd2 
-00ba 793ffe06 set0 6 ,pdata 
-00bb 6010807e hstore 1 ,core_gpio_pd2 
-00bc 20600000 rtn 
+02ab e8c08000 ifetch 1 ,contr 
+02ac 98408400 iadd temp ,temp 
+02ad c20002ab loop p_rssi_average_loop 
+02ae 18497e00 rshift3 temp ,pdata 
+02af 1fe20400 copy pdata ,temp 
+02b0 c6930000 rtnmark0 mark_24g 
+02b1 1fe6fc0a div pdata ,10 
+02b2 20407f86 call wait_div_end 
+02b3 1807fe00 quotient pdata 
+02b4 1ff27e00 lshift4 pdata ,pdata 
+02b5 18070400 remainder temp 
+02b6 98418400 ior temp ,temp 
+02b7 20600000 rtn 
+02b8 20600000 rtn 
 
 p_mouse_before_lpm:
-00bd c6130000 rtnmark1 mark_24g 
-00be 2040016d call p_mouse_le_txbuff_save 
-00bf 204000ac call p_mouse_setgpio_lpm 
-00c0 6800c040 fetch 1 ,mem_context 
-00c1 c30000c4 bbit0 state_inconn ,p_clear_wake 
-00c2 680080a0 fetch 1 ,mem_lpm_current_mult 
-00c3 247a0000 nrtn blank 
+02b9 c6130000 rtnmark1 mark_24g 
+02ba 204003f2 call p_mouse_le_txbuff_save 
+02bb 204002c3 call p_mouse_setgpio_lpm 
+02bc 6800c040 fetch 1 ,mem_context 
+02bd c30002c0 bbit0 state_inconn ,p_clear_wake 
+02be 680080a0 fetch 1 ,mem_lpm_current_mult 
+02bf 247a0000 nrtn blank 
 
 p_clear_wake:
-00c4 58000000 setarg 0 
-00c5 600400a1 store 8 ,mem_gpio_wakeup_low 
-00c6 20600000 rtn 
+02c0 58000000 setarg 0 
+02c1 600400a1 store 8 ,mem_gpio_wakeup_low 
+02c2 20600000 rtn 
+
+p_mouse_setgpio_lpm:
+02c3 204002d9 call p_mouse_set_sdio_high 
+02c4 204002c0 call p_clear_wake 
+
+p_mouse_setgpio_hibernate:
+02c5 20403ebf call mouse_lpm_before_common 
+02c6 2040033a call p_flash_ncs_disable 
+02c7 68120070 hfetch 4 ,core_gpio_oe0 
+02c8 681a0078 hfetcht 4 ,core_gpio_pu0 
+02c9 98418400 ior temp ,temp 
+02ca 18440400 invert temp ,temp 
+02cb 601a007c hstoret 4 ,core_gpio_pd0 
+02cc 6810807c hfetch 1 ,core_gpio_pd0 
+02cd 793ffe06 set0 6 ,pdata 
+02ce 6010807c hstore 1 ,core_gpio_pd0 
+02cf 6810807c hfetch 1 ,core_gpio_pd0 
+02d0 79207e05 set1 5 ,pdata 
+02d1 6010807c hstore 1 ,core_gpio_pd0 
+02d2 6810807d hfetch 1 ,core_gpio_pd1 
+02d3 793ffe02 set0 2 ,pdata 
+02d4 6010807d hstore 1 ,core_gpio_pd1 
+02d5 6810807e hfetch 1 ,core_gpio_pd2 
+02d6 793ffe06 set0 6 ,pdata 
+02d7 6010807e hstore 1 ,core_gpio_pd2 
+02d8 20600000 rtn 
 
 p_mouse_set_sdio_high:
-00c7 6800cb00 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-00c8 207a0000 rtn blank 
-00c9 20200375 branch p_mouse_seting_sensor_type 
+02d9 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+02da 207a0000 rtn blank 
+02db 20203d80 branch mouse_seting_dpi + 2 
 
 p_device_init:
-00ca 2040296c call initialize_radio 
-00cb 20403416 call app_lpm_mult_enable 
-00cc 204074b9 call enable_authrom 
-00cd 2035812d branch p_mouse_spi_init ,wake 
+02dc 2040296c call initialize_radio 
+02dd 20403416 call app_lpm_mult_enable 
+02de 204074b9 call enable_authrom 
+02df 203582f1 branch p_device_wake_from_lpm ,wake 
 
 p_device_wake_from_power:
-00ce 6801c4a3 fetch 3 ,mem_le_lap + 3 
-00cf 6001cbb3 store 3 ,mem_le_lap_high_3b 
-00d0 20400001 call p_wake_from_power 
+02e0 20400001 call p_wake_from_power 
+02e1 d8400258 arg 600 ,temp 
+02e2 680146aa fetch 2 ,mem_mouse_no_data_timeout 
+02e3 98460400 isub temp ,temp 
+02e4 60094b59 storet 2 ,mem_mouse_no_data_led_timeout 
 
 p_mouse_check_reconn_target:
-00d1 204000d7 call p_mouse_tx_power_init 
-00d2 204002fa call p_mouse_mode_bt_device1_multi_led_on 
-00d3 6800c210 fetch 1 ,mem_xrecord_mode 
-00d4 c01980da beq rec_3_mode ,p_mouse3_0_check_reconn_target 
-00d5 c01a00dd beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-00d6 20600000 rtn 
+02e5 204002f2 call p_mouse_tx_power_init 
+02e6 704b5019 jam 25 ,mem_mouse_poweron_led_timer 
+02e7 2040053c call p_mouse_adc_read 
+02e8 da204721 arg mem_device1_type ,rega 
+02e9 6800c720 fetch 1 ,mem_device_flag 
+02ea 6808c703 fetcht 1 ,mem_24g_device_number 
+02eb 98467c00 isub temp ,null 
+02ec 202283b3 branch p_mouse_start_24g_mode ,zero 
+02ed 6800c210 fetch 1 ,mem_xrecord_mode 
+02ee c01982f5 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+02ef c01a02f9 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+02f0 20600000 rtn 
+
+p_device_wake_from_lpm:
+02f1 20200314 branch p_mouse_spi_init 
 
 p_mouse_tx_power_init:
-00d7 6800ccf4 fetch 1 ,mem_tx_power_temp 
-00d8 6000c1de store 1 ,mem_tx_power 
-00d9 20600000 rtn 
+02f2 6800ccb8 fetch 1 ,mem_tx_power_temp 
+02f3 6000c1de store 1 ,mem_tx_power 
+02f4 20600000 rtn 
 
 p_mouse3_0_check_reconn_target:
-00da 680341d0 fetch 6 ,mem_hci_plap 
-00db 203a33eb branch app_bt_start_discovery_short ,blank 
-00dc 20204274 branch mouse3_0_check_reconn_target + 3 
+02f5 704b5501 jam 1 ,mem_mouse_bt_reconnect_flag 
+02f6 680341d0 fetch 6 ,mem_hci_plap 
+02f7 203a33eb branch app_bt_start_discovery_short ,blank 
+02f8 20204274 branch mouse3_0_check_reconn_target + 3 
 
 p_mouse4_0_check_reconn_target:
-00dd 7011c612 jam zcode_12 ,mem_zcode_temp_param0 
-00de 202005c7 branch p_zcode_entrance 
+02f9 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
+02fa 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+02fb 6808cb61 fetcht 1 ,mem_mouse_fast_conn_flag 
+02fc 18467cff sub temp ,0xff ,null 
+02fd 242282ff nbranch p_mouse4_0_check_reconn_target_next ,zero 
+02fe 58000258 setarg 0x0258 
+
+p_mouse4_0_check_reconn_target_next:
+02ff 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
+0300 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+0301 600146ae store 2 ,mem_mouse_direct_timer 
+0302 20403418 call app_lpm_mult_disable 
+0303 6801cb65 fetch 3 ,mem_le_adv_direct_ind 
+0304 6001c374 store 3 ,mem_le_adv_data + 4 
+0305 2040030b call p_le_check_adv_flag 
+0306 58000004 setarg adv_flag_bredr_not_supported 
+0307 e0c08000 istore 1 ,contr 
+0308 d8c04390 arg mem_le_scan_data ,contr 
+0309 204005d6 call p_le_adv_data_update 
+030a 20207df4 branch check_51cmd_adv 
 
 p_le_check_adv_flag:
-00df da204370 arg mem_le_adv_data ,rega 
+030b da204370 arg mem_le_adv_data ,rega 
 
 p_le_check_adv_flag_loop:
-00e0 ea208000 ifetch 1 ,rega 
-00e1 207a0000 rtn blank 
-00e2 98c0a200 iadd contr ,rega 
-00e3 e8c08000 ifetch 1 ,contr 
-00e4 c1008000 rtneq 0x01 
-00e5 202000e0 branch p_le_check_adv_flag_loop 
+030c ea208000 ifetch 1 ,rega 
+030d 207a0000 rtn blank 
+030e 98c0a200 iadd contr ,rega 
+030f e8c08000 ifetch 1 ,contr 
+0310 c1008000 rtneq 0x01 
+0311 2020030c branch p_le_check_adv_flag_loop 
+
+p_mouse_24g_pairing_button:
+0312 7011c561 jam zcode_61 ,mem_zcode_temp_param0 
+0313 202007b3 branch p_zcode_entrance 
+
+p_mouse_spi_init:
+0314 70421276 jam 0x76 ,mem_spi_init_clk 
+0315 20203d36 branch mouse_spi_init 
 
 p_mouse_init_sunt:
-00e6 2040012d call p_mouse_spi_init 
-00e7 204040c0 call mouse_spi_sdio_gpio_pollup 
+0316 20400314 call p_mouse_spi_init 
+0317 204040c0 call mouse_spi_sdio_gpio_pollup 
 
 p_mouse_init_sensor:
-00e8 204040d9 call mouse_read_sensor_id 
-00e9 c01800ee beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-00ea c01880fd beq p3065_id1 ,p_mouse_p3065_init_param 
-00eb 204040d1 call mouse_twspi_reset 
-00ec 200003e8 nop 1000 
-00ed 202000e8 branch p_mouse_init_sensor 
-
-p_mouse_init_p32xx_id2_judge:
-00ee 2040036d call p_mouse_sensor_poweron 
-00ef 6800c6de fetch 1 ,mem_sensor_id2 
-00f0 c02d00f3 beq p_mx8650 ,p_mouse_mx8650_init_param 
-00f1 c02a00fb beq pka8_id2 ,p_mouse_ka8_init_param 
-00f2 202040e0 branch mouse_init_p32xx_id2_judge 
-
-p_mouse_mx8650_init_param:
-00f3 7046e007 jam mx8650 ,mem_config_sensor_type 
-00f4 da604b7a arg mem_sensor_8650_init ,regc 
-
-p_sensor_wr_seq:
-00f5 ea610000 ifetch 2 ,regc 
-00f6 c17f8000 rtneq 0xff 
-00f7 20406413 call twspi_write 
-00f8 20002ee0 nop 12000 
-00f9 1a60a602 increase 2 ,regc 
-00fa 202000f5 branch p_sensor_wr_seq 
-
-p_mouse_ka8_init_param:
-00fb 7046e002 jam ka8 ,mem_config_sensor_type 
-00fc 20600000 rtn 
+0318 204040d9 call mouse_read_sensor_id 
+0319 c0188321 beq p3065_id1 ,p_mouse_p3065_init_param 
+031a 204040d1 call mouse_twspi_reset 
+031b 200003e8 nop 1000 
+031c 20200318 branch p_mouse_init_sensor 
+
+p_mouse_init_sensor_reset:
+031d 704afe01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+031e 2040640f call spi_ncs_enable 
+031f 20400316 call p_mouse_init_sunt 
+0320 20206411 branch spi_ncs_disable 
 
 p_mouse_p3065_init_param:
-00fd 2040036d call p_mouse_sensor_poweron 
-00fe 6800c6de fetch 1 ,mem_sensor_id2 
-00ff c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-0100 7046e001 jam p3065 ,mem_config_sensor_type 
-0101 20600000 rtn 
+0321 2040032e call p_mouse_sensor_poweron 
+0322 6800c6de fetch 1 ,mem_sensor_id2 
+0323 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0324 7046e001 jam p3065 ,mem_config_sensor_type 
+0325 20600000 rtn 
+
+p_mouse_current_mult_update:
+0326 70417200 jam 0 ,mem_lpm_mult 
+0327 704b6b1e jam 30 ,mem_mouse_current_mult_timer 
+0328 20600000 rtn 
+
+p_mouse_data_xy_release:
+0329 6800cb6a fetch 1 ,mem_mouse_long_mult_flag 
+032a c1808000 rtnne 1 
+032b 58000000 setarg 0 
+032c 6000cb6a store 1 ,mem_mouse_long_mult_flag 
+032d 6002469b store 4 ,mem_mouse_x 
+
+p_mouse_sensor_poweron:
+032e 20400314 call p_mouse_spi_init 
+032f 58008006 setarg 0x8006 
+0330 20406413 call twspi_write 
+0331 20002ee0 nop 12000 
+
+p_mouse_dpi_config:
+0332 6800c77a fetch 1 ,mem_mouse_dpi 
+0333 c07fbd66 beq 0xff ,mouse_dpi_config 
+0334 20203d80 branch mouse_seting_dpi + 2 
+
+p_mouse_sensor_powerdown:
+0335 20400314 call p_mouse_spi_init 
+0336 58000806 setarg 0x0806 
+0337 20206413 branch twspi_write 
 
 p_mouse_setting_config:
-0102 7011c680 jam zcode_80 ,mem_zcode_temp_param0 
-0103 202005c7 branch p_zcode_entrance 
+0338 7011c580 jam zcode_80 ,mem_zcode_temp_param0 
+0339 202007b3 branch p_zcode_entrance 
+
+p_flash_ncs_disable:
+033a 6808cb43 fetcht 1 ,mem_flash_ncs_gpio 
+033b 20206825 branch gpio_out_inactive 
 
 p_spid_init_flash:
-0104 70808640 jam 0x40 ,core_spid_ctrl 
-0105 70808700 jam 0x0 ,core_spid_delay 
-0106 68108081 hfetch 1 ,core_gpio_sel1 
-0107 793ffe00 set0 0 ,pdata 
-0108 793ffe01 set0 1 ,pdata 
-0109 79207e03 set1 3 ,pdata 
-010a 793ffe04 set0 4 ,pdata 
-010b 60108081 hstore 1 ,core_gpio_sel1 
-010c 58000000 setarg 0 
-010d 600201f5 store 4 ,mem_spid_tbuf 
-010e 6810807f hfetch 1 ,core_gpio_pd3 
-010f 793ffe00 set0 0 ,pdata 
-0110 6010807f hstore 1 ,core_gpio_pd3 
-0111 20600000 rtn 
+033c 70808640 jam 0x40 ,core_spid_ctrl 
+033d 70808700 jam 0x0 ,core_spid_delay 
+033e 68108081 hfetch 1 ,core_gpio_sel1 
+033f 793ffe00 set0 0 ,pdata 
+0340 793ffe01 set0 1 ,pdata 
+0341 79207e03 set1 3 ,pdata 
+0342 793ffe04 set0 4 ,pdata 
+0343 60108081 hstore 1 ,core_gpio_sel1 
+0344 58000000 setarg 0 
+0345 600201f5 store 4 ,mem_spid_tbuf 
+0346 6810807f hfetch 1 ,core_gpio_pd3 
+0347 793ffe00 set0 0 ,pdata 
+0348 6010807f hstore 1 ,core_gpio_pd3 
+0349 20600000 rtn 
 
 p_mouse_load_flash_info_check:
-0112 2040015d call p_flash_release_deep_power_down 
-0113 20404423 call mouse_load_flash_flag 
-0114 68014778 fetch 2 ,mem_store_flag 
-0115 d840aa55 arg eeprom_init_flag ,temp 
-0116 98467c00 isub temp ,null 
-0117 2022814f branch p_mouse_load_flash_device_info ,zero 
-0118 60094778 storet 2 ,mem_store_flag 
-0119 2040441c call mouse_ble_init_address 
-011a 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-011b 6000c77a store 1 ,mem_mouse_dpi 
-011c 68024b4e fetch 4 ,mem_mouse_24g_addr_init 
-011d 6002477b store 4 ,mem_mouse_24g_addr 
-011e 60024c65 store 4 ,mem_24g_addr 
+034a 204003aa call p_flash_release_deep_power_down 
+034b 20404423 call mouse_load_flash_flag 
+034c 68014778 fetch 2 ,mem_store_flag 
+034d d840aa55 arg eeprom_init_flag ,temp 
+034e 98467c00 isub temp ,null 
+034f 20228387 branch p_mouse_load_flash_device_info ,zero 
+0350 60094778 storet 2 ,mem_store_flag 
+0351 2040441c call mouse_ble_init_address 
+0352 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+0353 6000c77a store 1 ,mem_mouse_dpi 
+0354 68024b51 fetch 4 ,mem_mouse_24g_addr_init 
+0355 6002477b store 4 ,mem_mouse_24g_addr 
+0356 60024c29 store 4 ,mem_24g_addr 
+0357 2040039b call p_mouse_fast_conn_init 
 
 p_mouse_store_flash_device_info:
-011f 2040015d call p_flash_release_deep_power_down 
-0120 2040012f call p_flash_erase_sector 
-0121 20400146 call p_mouse_information_flash_parameters 
-0122 2040013b call p_spid_write_flash 
-0123 20400132 call p_wait_flash_done 
-
-p_mouse_store_flash_user_data:
-0124 20400104 call p_spid_init_flash 
-0125 d8400007 arg 7 ,temp 
-0126 da204b72 arg mem_mouse_flash_start_temp ,rega 
-0127 da40005f arg mouse_user_data_offect ,regb 
-0128 6801c700 fetch 3 ,mem_flash_base 
-0129 9a40fe00 iadd regb ,pdata 
-012a 2040013b call p_spid_write_flash 
-012b 20400132 call p_wait_flash_done 
-012c 20400155 call p_flash_deep_power_down 
-
-p_mouse_spi_init:
-012d 70421276 jam 0x76 ,mem_spi_init_clk 
-012e 20203d36 branch mouse_spi_init 
+0358 204003aa call p_flash_release_deep_power_down 
+0359 20400366 call p_flash_erase_sector 
+035a 2040037e call p_mouse_information_flash_parameters 
+035b 2040036a call p_spid_write_flash 
+035c 20400375 call p_wait_flash_done 
+
+p_mouse_store_random_addr_increase_count:
+035d d8400002 arg 2 ,temp 
+035e da2047c2 arg mem_random_addr_increase_count ,rega 
+035f da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0360 6801c700 fetch 3 ,mem_flash_base 
+0361 9a40fe00 iadd regb ,pdata 
+0362 2040036a call p_spid_write_flash 
+0363 20400375 call p_wait_flash_done 
+0364 204003a1 call p_flash_deep_power_down 
+0365 20200314 branch p_mouse_spi_init 
 
 p_flash_erase_sector:
-012f 6801c700 fetch 3 ,mem_flash_base 
-0130 6001c232 store 3 ,mem_spi_write_addr 
-0131 2040652a call flash_erase_sector + 2 
-
-p_wait_flash_done:
-0132 580186a0 setarg 100000 
-0133 20402a8f call sleep 
-0134 2040650b call spid_unlock_flash 
-0135 580001fa setarg mem_spid_rbuf 
-0136 6011008c hstore 2 ,core_spid_rxaddr 
-0137 58000005 setarg flash_read_satus 
-0138 204064f3 call spid_read_reg 
-0139 c2800132 bbit1 flash_status_wip ,p_wait_flash_done 
-013a 20600000 rtn 
+0366 6801c700 fetch 3 ,mem_flash_base 
+0367 6001c232 store 3 ,mem_spi_write_addr 
+0368 2040652a call flash_erase_sector + 2 
+0369 20200375 branch p_wait_flash_done 
 
 p_spid_write_flash:
-013b 1fe22600 copy pdata ,regc 
-013c 1a227e00 copy rega ,pdata 
-013d 1fe0fffc increase -4 ,pdata 
-013e 1fe22400 copy pdata ,regb 
-013f ea420000 ifetch 4 ,regb 
-0140 60024b49 store 4 ,mem_write_flash_head_temp 
-0141 1a627e00 copy regc ,pdata 
-0142 20406552 call spid_write_flash 
-0143 68024b49 fetch 4 ,mem_write_flash_head_temp 
-0144 e2420000 istore 4 ,regb 
-0145 20600000 rtn 
+036a 1fe22600 copy pdata ,regc 
+036b 1a227e00 copy rega ,pdata 
+036c 1fe0fffc increase -4 ,pdata 
+036d 1fe22400 copy pdata ,regb 
+036e ea420000 ifetch 4 ,regb 
+036f 60024b4c store 4 ,mem_write_flash_head_temp 
+0370 1a627e00 copy regc ,pdata 
+0371 20406552 call spid_write_flash 
+0372 68024b4c fetch 4 ,mem_write_flash_head_temp 
+0373 e2420000 istore 4 ,regb 
+0374 20600000 rtn 
+
+p_wait_flash_done:
+0375 580186a0 setarg 100000 
+0376 20402a8f call sleep 
+0377 2040650b call spid_unlock_flash 
+0378 580001fa setarg mem_spid_rbuf 
+0379 6011008c hstore 2 ,core_spid_rxaddr 
+037a 58000005 setarg flash_read_satus 
+037b 204064f3 call spid_read_reg 
+037c c2800375 bbit1 flash_status_wip ,p_wait_flash_done 
+037d 20600000 rtn 
 
 p_mouse_information_flash_parameters:
-0146 5800477f setarg mem_mouse_information_end 
-0147 d8404720 arg mem_mouse_information_start ,temp 
-0148 98460400 isub temp ,temp 
-0149 6801c700 fetch 3 ,mem_flash_base 
-014a da204720 arg mem_mouse_information_start ,rega 
-014b 20600000 rtn 
+037e 5800477f setarg mem_mouse_information_end 
+037f d8404720 arg mem_mouse_information_start ,temp 
+0380 98460400 isub temp ,temp 
+0381 6801c700 fetch 3 ,mem_flash_base 
+0382 da204720 arg mem_mouse_information_start ,rega 
+0383 20600000 rtn 
 
 p_mouse_read_flash:
-014c 2040015d call p_flash_release_deep_power_down 
-014d 20400146 call p_mouse_information_flash_parameters 
-014e 20206562 branch spid_read_flash 
+0384 204003aa call p_flash_release_deep_power_down 
+0385 2040037e call p_mouse_information_flash_parameters 
+0386 20206562 branch spid_read_flash 
 
 p_mouse_load_flash_device_info:
-014f 2040014c call p_mouse_read_flash 
-0150 20400166 call p_mouse_load_flash_user_data 
-0151 2040431a call mouse_select_reconn_device 
-0152 6802477b fetch 4 ,mem_mouse_24g_addr 
-0153 60024c65 store 4 ,mem_24g_addr 
-0154 20600000 rtn 
+0387 20400384 call p_mouse_read_flash 
+0388 204003ac call p_mouse_load_random_addr_increase_count 
+0389 2040431a call mouse_select_reconn_device 
+038a 6802477b fetch 4 ,mem_mouse_24g_addr 
+038b 60024c29 store 4 ,mem_24g_addr 
+038c df200003 arg 3 ,loopcnt 
+038d d8c04722 arg mem_device1_addr ,contr 
+038e 20400392 call p_pdata_0xff_check 
+038f 24340399 nbranch p_mouse_le_fast_conn_disable ,user 
+0390 2040039b call p_mouse_fast_conn_init 
+0391 20600000 rtn 
+
+p_pdata_0xff_check:
+0392 20407fe7 call enable_user 
+0393 5800ffff setarg 0xffff 
+
+p_pdata_0xff_check_loop:
+0394 e8c90000 ifetcht 2 ,contr 
+0395 98467c00 isub temp ,null 
+0396 2442ffe9 ncall disable_user ,zero 
+0397 c2000394 loop p_pdata_0xff_check_loop 
+0398 20600000 rtn 
+
+p_mouse_le_fast_conn_disable:
+0399 704b615a jam 0x5a ,mem_mouse_fast_conn_flag 
+039a 20600000 rtn 
+
+p_mouse_fast_conn_init:
+039b 704b61ff jam 0xff ,mem_mouse_fast_conn_flag 
+039c 70421034 jam 0x34 ,mem_xrecord_mode 
+039d 580f0f0f setarg 0x0f0f0f 
+039e 6001c4a0 store 3 ,mem_le_lap 
+039f 6001c4a3 store 3 ,mem_le_lap + 3 
+03a0 20600000 rtn 
 
 p_flash_deep_power_down:
-0155 700aa2b9 jam flash_command_deep_power_down ,mem_temp 
+03a1 700aa2b9 jam flash_command_deep_power_down ,mem_temp 
 
 p_spid_write_flash_cmd:
-0156 20400104 call p_spid_init_flash 
-0157 204069ac call delay_nop100 
-0158 2040650b call spid_unlock_flash 
-0159 da204b49 arg mem_write_flash_head_temp ,rega 
-015a 68088aa2 fetcht 1 ,mem_temp 
-015b 20406556 call spid_write_flash_common 
-015c 202069ac branch delay_nop100 
+03a2 2040033c call p_spid_init_flash 
+03a3 20000064 nop 100 
+03a4 2040650b call spid_unlock_flash 
+03a5 da204b4c arg mem_write_flash_head_temp ,rega 
+03a6 68088aa2 fetcht 1 ,mem_temp 
+03a7 20406556 call spid_write_flash_common 
+03a8 20000064 nop 100 
+03a9 20600000 rtn 
 
 p_flash_release_deep_power_down:
-015d 700aa2ab jam flash_command_release_deep_power_down ,mem_temp 
-015e 20200156 branch p_spid_write_flash_cmd 
-
-p_mouse_fast_conn_disable:
-015f 704b775a jam 0x5a ,mem_mouse_fast_conn_flag 
-0160 20600000 rtn 
+03aa 700aa2ab jam flash_command_release_deep_power_down ,mem_temp 
+03ab 202003a2 branch p_spid_write_flash_cmd 
 
-p_mouse_fast_conn_init:
-0161 704b77ff jam 0xff ,mem_mouse_fast_conn_flag 
-0162 70421034 jam 0x34 ,mem_xrecord_mode 
-0163 68034d82 fetch 6 ,mem_24g_allpowerful_addr 
-0164 600344a0 store 6 ,mem_le_lap 
-0165 20600000 rtn 
-
-p_mouse_load_flash_user_data:
-0166 2040015d call p_flash_release_deep_power_down 
-0167 d8400007 arg 7 ,temp 
-0168 da204b72 arg mem_mouse_flash_start_temp ,rega 
-0169 da40005f arg mouse_user_data_offect ,regb 
-016a 6801c700 fetch 3 ,mem_flash_base 
-016b 9a40fe00 iadd regb ,pdata 
-016c 20206562 branch spid_read_flash 
+p_mouse_load_random_addr_increase_count:
+03ac 204003aa call p_flash_release_deep_power_down 
+03ad d8400002 arg 2 ,temp 
+03ae da2047c2 arg mem_random_addr_increase_count ,rega 
+03af da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+03b0 6801c700 fetch 3 ,mem_flash_base 
+03b1 9a40fe00 iadd regb ,pdata 
+03b2 20206562 branch spid_read_flash 
+
+p_mouse_start_24g_mode:
+03b3 58000000 setarg 0 
+03b4 60014c2e store 2 ,mem_24g_check_dongle_times 
+03b5 202001c0 branch p_g24_start_24g_mode 
+
+p_mouse_24g_led_blink:
+03b6 6800c720 fetch 1 ,mem_device_flag 
+03b7 c1810000 rtnne mode_24g_device 
+03b8 6800cb5d fetch 1 ,mem_mouse_24g_pair_timer 
+03b9 207a0000 rtn blank 
+03ba 1fe0ffff increase -1 ,pdata 
+03bb 6000cb5d store 1 ,mem_mouse_24g_pair_timer 
+03bc 203a340a branch app_enter_hibernate ,blank 
+03bd 1fe17e0f and pdata ,0x0f ,pdata 
+03be c00283d8 beq 0x05 ,p_mouse_24g_led_on 
+03bf c00503d5 beq 0x0a ,p_mouse_24g_led_off 
+03c0 20600000 rtn 
+
+p_mouse_discovery_led_blink:
+03c1 6800c6ac fetch 1 ,mem_mouse_discovery_timer 
+03c2 207a0000 rtn blank 
+03c3 6800cb5c fetch 1 ,mem_mouse_discovery_blink_count 
+03c4 1fe0fe01 increase 1 ,pdata 
+03c5 6000cb5c store 1 ,mem_mouse_discovery_blink_count 
+03c6 c00283e5 beq 5 ,p_mouse_bt_led_off 
+03c7 c00503e0 beq 10 ,p_mouse_bt_discovery_led_on 
+03c8 20600000 rtn 
+
+p_mouse_device_poweron_led_timer:
+03c9 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03ca 207a0000 rtn blank 
+03cb 1fe0ffff increase -1 ,pdata 
+03cc 6000cb50 store 1 ,mem_mouse_poweron_led_timer 
+03cd 6800c720 fetch 1 ,mem_device_flag 
+03ce c00103d2 beq mode_24g_device ,p_mouse_device_poweron_g24_led 
+03cf 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03d0 c28083e1 bbit1 1 ,p_mouse_bt_led_on 
+03d1 202003e5 branch p_mouse_bt_led_off 
+
+p_mouse_device_poweron_g24_led:
+03d2 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03d3 c28083d8 bbit1 1 ,p_mouse_24g_led_on 
+03d4 202003d5 branch p_mouse_24g_led_off 
+
+p_mouse_24g_led_off:
+03d5 704b4900 jam 0 ,mem_24g_device_led_status 
+03d6 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03d7 202005bd branch p_gpio_set_input_high_impedance 
+
+p_mouse_24g_led_on:
+03d8 704b4901 jam 1 ,mem_24g_device_led_status 
+03d9 6810807c hfetch 1 ,core_gpio_pd0 
+03da 793ffe05 set0 5 ,pdata 
+03db 6010807c hstore 1 ,core_gpio_pd0 
+03dc 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03dd 2040680e call gpio_config_output 
+03de 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03df 20206825 branch gpio_out_inactive 
+
+p_mouse_bt_discovery_led_on:
+03e0 704b5c00 jam 0 ,mem_mouse_discovery_blink_count 
+
+p_mouse_bt_led_on:
+03e1 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03e2 2040680e call gpio_config_output 
+03e3 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03e4 20206829 branch gpio_out_active 
+
+p_mouse_bt_led_off:
+03e5 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03e6 202005c8 branch p_gpio_set_input_pu 
+
+p_mouse_device_led_off:
+03e7 204003e5 call p_mouse_bt_led_off 
+03e8 202003d5 branch p_mouse_24g_led_off 
+
+p_mouse_device_poweron_led_off:
+03e9 704b5000 jam 0 ,mem_mouse_poweron_led_timer 
+03ea 20600000 rtn 
+
+p_mouse_g24_package_data:
+03eb 20404401 call mouse_g24_package_data 
+03ec 6801469f fetch 2 ,mem_mouse_z 
+03ed 207a0000 rtn blank 
+
+p_g24_transmit_by_interrupt_enable:
+03ee 704d4101 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+03ef 58000000 setarg 0 
+03f0 60014d42 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+03f1 20600000 rtn 
 
 p_mouse_le_txbuff_save:
-016d d8c01800 arg mem_le_tx_buffer0 ,contr 
-016e d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
-016f 20400175 call p_mouse_le_txbuff_copy 
-0170 d8c01900 arg mem_le_tx_buffer1 ,contr 
-0171 20400175 call p_mouse_le_txbuff_copy 
-0172 d8c01a00 arg mem_le_tx_buffer2 ,contr 
-0173 20400175 call p_mouse_le_txbuff_copy 
-0174 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+03f2 d8c01800 arg mem_le_tx_buffer0 ,contr 
+03f3 d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
+03f4 204003fa call p_mouse_le_txbuff_copy 
+03f5 d8c01900 arg mem_le_tx_buffer1 ,contr 
+03f6 204003fa call p_mouse_le_txbuff_copy 
+03f7 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+03f8 204003fa call p_mouse_le_txbuff_copy 
+03f9 d8c01b00 arg mem_le_tx_buffer3 ,contr 
 
 p_mouse_le_txbuff_copy:
-0175 df20001b arg 27 ,loopcnt 
-0176 20207f01 branch memcpy 
+03fa df20001b arg 27 ,loopcnt 
+03fb 20207f01 branch memcpy 
 
 p_mouse_le_txbuff_load:
-0177 d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
-0178 d8a01800 arg mem_le_tx_buffer0 ,contw 
-0179 20400175 call p_mouse_le_txbuff_copy 
-017a d8a01900 arg mem_le_tx_buffer1 ,contw 
-017b 20400175 call p_mouse_le_txbuff_copy 
-017c d8a01a00 arg mem_le_tx_buffer2 ,contw 
-017d 20400175 call p_mouse_le_txbuff_copy 
-017e d8a01b00 arg mem_le_tx_buffer3 ,contw 
-017f 20200175 branch p_mouse_le_txbuff_copy 
-
-p_mouse_le_current_mult_update:
-0180 70417200 jam 0 ,mem_lpm_mult 
-0181 704b451e jam 30 ,mem_mouse_le_current_mult_timer 
-0182 20600000 rtn 
-
-p_mouse_data_xy_release:
-0183 6800cb44 fetch 1 ,mem_mouse_long_mult_flag 
-0184 c1808000 rtnne 1 
-0185 58000000 setarg 0 
-0186 6000cb44 store 1 ,mem_mouse_long_mult_flag 
-0187 6002469b store 4 ,mem_mouse_x 
-0188 2020036d branch p_mouse_sensor_poweron 
+03fc d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
+03fd d8a01800 arg mem_le_tx_buffer0 ,contw 
+03fe 204003fa call p_mouse_le_txbuff_copy 
+03ff d8a01900 arg mem_le_tx_buffer1 ,contw 
+0400 204003fa call p_mouse_le_txbuff_copy 
+0401 d8a01a00 arg mem_le_tx_buffer2 ,contw 
+0402 204003fa call p_mouse_le_txbuff_copy 
+0403 d8a01b00 arg mem_le_tx_buffer3 ,contw 
+0404 202003fa branch p_mouse_le_txbuff_copy 
 
 p_mouse_le:
-0189 20405892 call le_fifo_check_nearly_full 
-018a 247a0000 nrtn blank 
-018b 6800cb77 fetch 1 ,mem_mouse_fast_conn_flag 
-018c c07f8190 beq 0xff ,p_mouse_le_next 
-018d 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-018e 1fe17e03 and pdata ,0x03 ,pdata 
-018f c1818000 rtnne 0x03 
+0405 20405892 call le_fifo_check_nearly_full 
+0406 247a0000 nrtn blank 
+0407 6800cb61 fetch 1 ,mem_mouse_fast_conn_flag 
+0408 c07f840c beq 0xff ,p_mouse_le_next 
+0409 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+040a 1fe17e03 and pdata ,0x03 ,pdata 
+040b c1818000 rtnne 0x03 
 
 p_mouse_le_next:
-0190 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0191 205a01b8 call p_mouse_clear_sensor_data ,blank 
-0192 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0193 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
-0194 20403f97 call mouse_motion 
-0195 24740000 nrtn user 
-0196 20400180 call p_mouse_le_current_mult_update 
-0197 20400183 call p_mouse_data_xy_release 
-0198 204001b3 call p_mouse_wheel_trigger 
+040c 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+040d 205a0459 call p_mouse_clear_sensor_data ,blank 
+040e 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+040f c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0410 20403f97 call mouse_motion 
+0411 24740000 nrtn user 
+0412 20400326 call p_mouse_current_mult_update 
+0413 20400329 call p_mouse_data_xy_release 
+0414 2040042f call p_mouse_wheel_trigger 
 
 p_mouse_data_push:
-0199 da20469a arg mem_mouse_key ,rega 
-019a 20407e3d call queue_push 
-019b 205401a2 call p_mouse_queue_increase ,user 
-019c 20600000 rtn 
+0415 da20469a arg mem_mouse_key ,rega 
+0416 20407e3d call queue_push 
+0417 2054041e call p_mouse_queue_increase ,user 
+0418 20600000 rtn 
 
 p_mouse_data_init:
-019d 7047a207 jam 7 ,mem_mouse_data_queue 
-019e 7047a304 jam 4 ,mem_mouse_data_queue + 1 
-019f 580047a2 setarg mem_mouse_data_queue 
-01a0 60014218 store 2 ,mem_queue_ptr 
-01a1 20207e38 branch queue_init 
+0419 7047a007 jam 7 ,mem_mouse_data_queue 
+041a 7047a104 jam 4 ,mem_mouse_data_queue + 1 
+041b 580047a0 setarg mem_mouse_data_queue 
+041c 60014218 store 2 ,mem_queue_ptr 
+041d 20207e38 branch queue_init 
 
 p_mouse_queue_increase:
-01a2 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-01a3 1fe0fe01 increase 1 ,pdata 
-01a4 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-01a5 20600000 rtn 
+041e 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+041f 1fe0fe01 increase 1 ,pdata 
+0420 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+0421 20600000 rtn 
 
 p_mouse_data_pull:
-01a6 da20469a arg mem_mouse_key ,rega 
-01a7 20407e54 call queue_pop 
-01a8 203401aa branch p_mouse_fill_data_le ,user 
-01a9 20600000 rtn 
+0422 da20469a arg mem_mouse_key ,rega 
+0423 20407e54 call queue_pop 
+0424 20340426 branch p_mouse_fill_data_le ,user 
+0425 20600000 rtn 
 
 p_mouse_fill_data_le:
-01aa 20405652 call le_clear_md 
-01ab 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-01ac 1fe67c01 sub pdata ,1 ,null 
-01ad 24415650 ncall le_set_md ,positive 
-01ae 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-01af 207a0000 rtn blank 
-01b0 1fe0ffff increase -1 ,pdata 
-01b1 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-01b2 20203f90 branch mouse_fill_data_le 
+0426 20405652 call le_clear_md 
+0427 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0428 1fe67c01 sub pdata ,1 ,null 
+0429 24415650 ncall le_set_md ,positive 
+042a 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+042b 207a0000 rtn blank 
+042c 1fe0ffff increase -1 ,pdata 
+042d 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+042e 20203f90 branch mouse_fill_data_le 
 
 p_mouse_wheel_trigger:
-01b3 6801469f fetch 2 ,mem_mouse_z 
-01b4 207a0000 rtn blank 
-01b5 70480601 jam 1 ,mem_mouse_wheel_trigger 
-01b6 7048070a jam 10 ,mem_mouse_wheel_trigger_timer 
-01b7 20600000 rtn 
-
-p_mouse_clear_sensor_data:
-01b8 70479e01 jam 1 ,mem_mouse_clear_sensor_data_flag 
-01b9 20405814 call le_set_config_more_data 
-01ba 2020036d branch p_mouse_sensor_poweron 
-
-p_mouse_init_sensor_reset:
-01bb 704b0001 jam 1 ,mem_mouse_init_sensor_reset_flag 
-01bc 202000e6 branch p_mouse_init_sunt 
+042f 6801469f fetch 2 ,mem_mouse_z 
+0430 207a0000 rtn blank 
+0431 70480601 jam 1 ,mem_mouse_wheel_trigger 
+0432 70480702 jam 2 ,mem_mouse_wheel_trigger_timer 
+0433 20600000 rtn 
 
 p_mouse_bt:
-01bd 20770000 rtn attempt 
-01be 6800c1e2 fetch 1 ,mem_app_handshake_flag 
-01bf 207a0000 rtn blank 
-01c0 20405271 call l2cap_malloc_is_fifo_nearly_full 
-01c1 247a0000 nrtn blank 
-01c2 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-01c3 205a01b8 call p_mouse_clear_sensor_data ,blank 
-01c4 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-01c5 c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
-01c6 c284bf8a bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
-01c7 20403f97 call mouse_motion 
-01c8 24740000 nrtn user 
-01c9 20400180 call p_mouse_le_current_mult_update 
-01ca 20400183 call p_mouse_data_xy_release 
-01cb 204001b3 call p_mouse_wheel_trigger 
-01cc 6800cb05 fetch 1 ,mem_mouse_bt_boot_mode 
-01cd c00081d1 beq 1 ,p_mouse_send_data_boot_mode 
-01ce 6800cb0c fetch 1 ,mem_mouse_bt_send_first_package_flag 
-01cf 207a0000 rtn blank 
-01d0 20203f81 branch mouse_send_data 
+0434 20770000 rtn attempt 
+0435 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+0436 207a0000 rtn blank 
+0437 20405271 call l2cap_malloc_is_fifo_nearly_full 
+0438 247a0000 nrtn blank 
+0439 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+043a 205a0459 call p_mouse_clear_sensor_data ,blank 
+043b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+043c c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+043d c284bf8a bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
+043e 20403f97 call mouse_motion 
+043f 24740000 nrtn user 
+0440 20400326 call p_mouse_current_mult_update 
+0441 20400329 call p_mouse_data_xy_release 
+0442 2040042f call p_mouse_wheel_trigger 
+0443 6800cb03 fetch 1 ,mem_mouse_bt_boot_mode 
+0444 c0008448 beq 1 ,p_mouse_send_data_boot_mode 
+0445 6800cb0a fetch 1 ,mem_mouse_bt_send_first_package_flag 
+0446 207a0000 rtn blank 
+0447 20203f81 branch mouse_send_data 
 
 p_mouse_send_data_boot_mode:
-01d1 6800c69a fetch 1 ,mem_mouse_key 
-01d2 6000cb06 store 1 ,mem_mouse_bt_boot_data 
-01d3 6800c69b fetch 1 ,mem_mouse_x 
-01d4 e0a08000 istore 1 ,contw 
-01d5 6800c69d fetch 1 ,mem_mouse_y 
-01d6 e0a08000 istore 1 ,contw 
-01d7 6801469f fetch 2 ,mem_mouse_z 
-01d8 e0a10000 istore 2 ,contw 
-01d9 da200007 arg 7 ,rega 
-01da 20404d63 call hid_malloc_tx_buff 
-01db 6801424e fetch 2 ,mem_hid_int_remote_cid 
-01dc e0a10000 istore 2 ,contw 
-01dd 580002a1 setarg 0x02a1 
-01de e0a10000 istore 2 ,contw 
-01df 6802cb06 fetch 5 ,mem_mouse_bt_boot_data 
-01e0 e0a28000 istore 5 ,contw 
-01e1 20600000 rtn 
+0448 6800c69a fetch 1 ,mem_mouse_key 
+0449 6000cb04 store 1 ,mem_mouse_bt_boot_data 
+044a 6800c69b fetch 1 ,mem_mouse_x 
+044b e0a08000 istore 1 ,contw 
+044c 6800c69d fetch 1 ,mem_mouse_y 
+044d e0a08000 istore 1 ,contw 
+044e 6801469f fetch 2 ,mem_mouse_z 
+044f e0a10000 istore 2 ,contw 
+0450 da200007 arg 7 ,rega 
+0451 20404d63 call hid_malloc_tx_buff 
+0452 6801424e fetch 2 ,mem_hid_int_remote_cid 
+0453 e0a10000 istore 2 ,contw 
+0454 580002a1 setarg 0x02a1 
+0455 e0a10000 istore 2 ,contw 
+0456 6802cb04 fetch 5 ,mem_mouse_bt_boot_data 
+0457 e0a28000 istore 5 ,contw 
+0458 20600000 rtn 
+
+p_mouse_clear_sensor_data:
+0459 70479c01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+045a 20405814 call le_set_config_more_data 
+045b 2020031d branch p_mouse_init_sensor_reset 
 
 p_mouse_idle:
-01e2 20407e34 call ui_check_paring_button 
-01e3 204001e5 call p_mouse_dpi_check 
-01e4 20203ee0 branch mouse_wheel_check 
+045c 20407e34 call ui_check_paring_button 
+045d 2040045f call p_mouse_dpi_check 
+045e 20203ee0 branch mouse_wheel_check 
 
 p_mouse_dpi_check:
-01e5 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-01e6 204003cf call p_gpio_set_input_pd 
-01e7 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-01e8 2040681d call gpio_get_bit 
-01e9 202081f3 branch p_mouse_dpi_up ,true 
-01ea 204003ca call p_gpio_set_input_pu 
+045f 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0460 204005bf call p_gpio_set_input_pd 
+0461 20400464 call p_mouse_dpi_check_next 
+0462 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0463 202005c8 branch p_gpio_set_input_pu 
+
+p_mouse_dpi_check_next:
+0464 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0465 2040681d call gpio_get_bit 
+0466 2020bd62 branch mouse_dpi_up ,true 
 
 p_mouse_dpi_down:
-01eb 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
-01ec c1000000 rtneq dpi_button_state_down 
-01ed 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-01ee 6800c77a fetch 1 ,mem_mouse_dpi 
-01ef 1fe0fe01 increase 1 ,pdata 
-01f0 1fe17e03 and pdata ,0x03 ,pdata 
-01f1 6000c77a store 1 ,mem_mouse_dpi 
-01f2 20203d7e branch mouse_seting_dpi 
-
-p_mouse_dpi_up:
-01f3 204003ca call p_gpio_set_input_pu 
-01f4 20203d62 branch mouse_dpi_up 
+0467 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+0468 c1000000 rtneq dpi_button_state_down 
+0469 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+046a 6800c77a fetch 1 ,mem_mouse_dpi 
+046b 1fe0fe01 increase 1 ,pdata 
+046c 1fe67c03 sub pdata ,0x03 ,null 
+046d 24417fef ncall disable_blank ,positive 
+
+p_mouse_set_dpi:
+046e 6000c77a store 1 ,mem_mouse_dpi 
+046f 20403d7e call mouse_seting_dpi 
+
+p_mouse_dpi_no_blink:
+0470 20200358 branch p_mouse_store_flash_device_info 
 
 p_mouse_priority_bb_event:
-01f5 1a627e00 copy regc ,pdata 
-01f6 c00a0203 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-01f7 c00a820e beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-01f8 c0148211 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
-01f9 c0190213 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-01fa c0200215 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-01fb c0020217 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
-01fc c0098217 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
-01fd c00cb3df beq bt_evt_switch_not_accept ,app_bt_role_switch 
-01fe c010821b beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
-01ff c000821d beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
-0200 c0010223 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
-0201 c0158226 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
-0202 2020417d branch mouse_priority_bb_event + 1 
+0471 1a627e00 copy regc ,pdata 
+0472 c00a0482 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+0473 c00a8485 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0474 c0148489 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+0475 c019048b beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0476 c020048d beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+0477 c002048f beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+0478 c009848f beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
+0479 c00cb3df beq bt_evt_switch_not_accept ,app_bt_role_switch 
+047a c0108493 beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
+047b c0008495 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+047c c0010498 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
+047d c015849b beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
+047e c01c849d beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+047f c01d04a0 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0480 c01e04a4 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0481 2020417d branch mouse_priority_bb_event + 1 
 
 p_mouse_le_bb_event_connected:
-0203 204001bb call p_mouse_init_sensor_reset 
-0204 20403410 call app_ble_store_reconn_info 
-0205 704b7101 jam 1 ,mem_mouse_le_bb_connected_flag 
-0206 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-0207 243a0209 nbranch p_mouse_le_bb_event_connected_next ,blank 
-0208 704b6f14 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
-
-p_mouse_le_bb_event_connected_next:
-0209 704b7900 jam 0 ,mem_mouse_le_not_tx_disconn 
-020a 704b6d00 jam 0 ,mem_mouse_start_discovery_enable 
-020b 204002ac call p_mouse_null_enter_hibernate_disable 
-020c 2040019d call p_mouse_data_init 
-020d 202041c3 branch mouse_le_bb_event_connected 
+0482 2040031d call p_mouse_init_sensor_reset 
+0483 7011c5b0 jam zcode_b0 ,mem_zcode_temp_param0 
+0484 202007b3 branch p_zcode_entrance 
 
 p_mouse_le_bb_disconnected:
-020e 2040022b call p_mouse_sensor_powerdown_check 
-020f 7011c6a2 jam zcode_a2 ,mem_zcode_temp_param0 
-0210 202005c7 branch p_zcode_entrance 
+0485 704b6800 jam 0 ,mem_mouse_le_bb_connected_flag 
+0486 204004a9 call p_mouse_sensor_powerdown_check 
+0487 7011c5a2 jam zcode_a2 ,mem_zcode_temp_param0 
+0488 202007b3 branch p_zcode_entrance 
 
 p_mouse_le_enc_info:
 
 p_app_updata_le_param:
-0211 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-0212 20207d8f branch ui_ipc_send_cmd 
+0489 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+048a 20207d8f branch ui_ipc_send_cmd 
 
 p_mouse_le_ll_start_encryt:
-0213 7011c6b3 jam zcode_b3 ,mem_zcode_temp_param0 
-0214 202005c7 branch p_zcode_entrance 
+048b 7011c5b3 jam zcode_b3 ,mem_zcode_temp_param0 
+048c 202007b3 branch p_zcode_entrance 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-0215 7011c6a1 jam zcode_a1 ,mem_zcode_temp_param0 
-0216 202005c7 branch p_zcode_entrance 
+048d 7011c5a1 jam zcode_a1 ,mem_zcode_temp_param0 
+048e 202007b3 branch p_zcode_entrance 
 
 p_mouse_bb_event_reconn_timeout:
 
 p_mouse_bb_event_reconn_failed:
-0217 7011c6a3 jam zcode_a3 ,mem_zcode_temp_param0 
-0218 202005c7 branch p_zcode_entrance 
+048f 7011c5a3 jam zcode_a3 ,mem_zcode_temp_param0 
+0490 202007b3 branch p_zcode_entrance 
 
 p_mouse_irtual_cable_unplug:
-0219 7011c670 jam zcode_70 ,mem_zcode_temp_param0 
-021a 202005c7 branch p_zcode_entrance 
+0491 2040438e call mouse_irtual_cable_unplug 
+0492 202033a7 branch app_bb_hibernate 
 
 p_mouse_sniff_not_accept:
-021b 7011c6b1 jam zcode_b1 ,mem_zcode_temp_param0 
-021c 202005c7 branch p_zcode_entrance 
+0493 7011c5b1 jam zcode_b1 ,mem_zcode_temp_param0 
+0494 202007b3 branch p_zcode_entrance 
 
 p_mouse_bb_event_connected:
-021d 20400245 call p_mouse_store_eeprom_enable 
-021e 204001bb call p_mouse_init_sensor_reset 
-021f 204002ac call p_mouse_null_enter_hibernate_disable 
-0220 204002e7 call p_mouse_discovey_led_blink_off 
-0221 70480900 jam 0 ,mem_mouse_send_switch_req_timer 
-0222 202042ca branch mouse_stop_discovery 
+0495 70480900 jam 0 ,mem_mouse_send_switch_req_timer 
+0496 2040031d call p_mouse_init_sensor_reset 
+0497 202042ca branch mouse_stop_discovery 
 
 p_mouse_bb_event_disconnected:
-0223 2040022b call p_mouse_sensor_powerdown_check 
-0224 7011c6b4 jam zcode_b4 ,mem_zcode_temp_param0 
-0225 202005c7 branch p_zcode_entrance 
+0498 204004a9 call p_mouse_sensor_powerdown_check 
+0499 7011c5b4 jam zcode_b4 ,mem_zcode_temp_param0 
+049a 202007b3 branch p_zcode_entrance 
 
 p_mouse_enter_sniff_check:
-0226 7011c6b2 jam zcode_b2 ,mem_zcode_temp_param0 
-0227 202005c7 branch p_zcode_entrance 
+049b 7011c5b2 jam zcode_b2 ,mem_zcode_temp_param0 
+049c 202007b3 branch p_zcode_entrance 
 
-p_mouse_before_hibernate:
-0228 2040022b call p_mouse_sensor_powerdown_check 
-0229 7011c6a0 jam zcode_a0 ,mem_zcode_temp_param0 
-022a 202005c7 branch p_zcode_entrance 
+p_mouse_24g_pairing_complete:
+049d 2040031d call p_mouse_init_sensor_reset 
+049e 7011c592 jam zcode_92 ,mem_zcode_temp_param0 
+049f 202007b3 branch p_zcode_entrance 
+
+p_mouse_24g_attempt_fail:
+04a0 204004a9 call p_mouse_sensor_powerdown_check 
+04a1 704b5600 jam 0 ,mem_retry_count 
+04a2 7011c551 jam zcode_51 ,mem_zcode_temp_param0 
+04a3 202007b3 branch p_zcode_entrance 
 
-p_mouse_sensor_powerdown_check:
-022b 6800cb00 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-022c 207a0000 rtn blank 
-022d 704b0000 jam 0 ,mem_mouse_init_sensor_reset_flag 
+p_mouse_24g_attempt_success:
+04a4 2040031d call p_mouse_init_sensor_reset 
 
-p_mouse_sensor_powerdown:
-022e 204000e6 call p_mouse_init_sunt 
-022f 58000006 setarg 0x06 
-0230 20406414 call twspi_read 
-0231 1fe1fe08 or pdata ,0x08 ,pdata 
-0232 1fed7e00 lshift8 pdata ,pdata 
-0233 1fe0fe06 add pdata ,0x06 ,pdata 
-0234 20206413 branch twspi_write 
+p_mouse_24g_no_data_timer_init:
+04a5 20203f8d branch mouse_no_data_timer_init 
 
-p_mouse_bb_event_timer:
-0235 204002ff call p_mouse_adc_read 
-0236 2040035d call p_mouse_low_voltage_led_timer 
-0237 204002af call p_mouse_multi_led_blink_timer 
-0238 2040028b call p_mouse_wheel_trigger_timer 
-0239 204002a2 call p_mouse_null_enter_hibernate_timer 
-023a 20404234 call mouse_check_discovery_timeout_timer 
-023b 2040024b call p_mouse_select_device_by_button 
-023c 20404237 call mouse_check_direct_timeout_timer 
-023d 20400271 call p_mouse_le_enable_att_list_timer 
-023e 20400274 call p_le_send_smp_security_request_timer 
-023f 2040027c call p_mouse_le_current_mult_update_timer 
-0240 20400283 call p_mouse_le_fast_conn_enable_timer 
-0241 20400269 call p_mouse_send_switch_req_timer 
-0242 20404231 call mouse_check_hid_handshake_timer 
-0243 2040026c call p_mouse_bt_check_sniff_req_timeout_timer 
-0244 2020423a branch mouse_check_no_data_timeout_timer 
-
-p_mouse_store_eeprom_enable:
-0245 d8e00007 arg mouse_store_eeprom_flag ,queue 
-0246 202043ce branch mouse_enable_function_flag 
-
-p_mouse_set_select_state:
-0247 704bad01 jam 1 ,mem_select_device_button_press_flag 
-0248 20600000 rtn 
-
-p_mouse_clear_select_state:
-0249 704bad00 jam 0 ,mem_select_device_button_press_flag 
-024a 20600000 rtn 
+p_mouse_before_hibernate:
+04a6 204004a9 call p_mouse_sensor_powerdown_check 
+04a7 7011c5a4 jam zcode_a4 ,mem_zcode_temp_param0 
+04a8 202007b3 branch p_zcode_entrance 
 
-p_mouse_select_device_by_button:
-024b 6800cbad fetch 1 ,mem_select_device_button_press_flag 
-024c 203a0257 branch p_mouse_select_device_button_up ,blank 
+p_mouse_sensor_powerdown_check:
+04a9 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+04aa 207a0000 rtn blank 
+04ab 704afe00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+04ac 20200335 branch p_mouse_sensor_powerdown 
 
-p_mouse_select_device_button_down:
-024d 20400293 call p_mouse_bt_discovery_timer 
-024e 6800c6d9 fetch 1 ,mem_select_device_button_statue 
-024f c1000000 rtneq pb_button_state_down 
-0250 680146a8 fetch 2 ,mem_mouse_direct_timeout 
-0251 600146ae store 2 ,mem_mouse_direct_timer 
-0252 18000e03 force page_length_timer ,queue 
-0253 680140b9 fetch 2 ,mem_page_to 
-0254 20407f08 call timer_init 
-0255 7046d900 jam pb_button_state_down ,mem_select_device_button_statue 
-0256 20600000 rtn 
+p_mouse_bb_event_timer:
+04ad 2040053c call p_mouse_adc_read 
+04ae 204004be call p_mouse_low_voltage_led_timer 
+04af 204004e5 call p_mouse_wheel_trigger_timer 
+04b0 20400509 call p_mouse_select_device_by_button 
+04b1 20404234 call mouse_check_discovery_timeout_timer 
+04b2 2040423a call mouse_check_no_data_timeout_timer 
+04b3 204004ea call p_mouse_current_mult_update_timer 
+04b4 204004f0 call p_mouse_24g_long_sleep_param_update_timer 
+04b5 20404237 call mouse_check_direct_timeout_timer 
+04b6 204004da call p_mouse_le_enable_att_list_timer 
+04b7 204004dd call p_mouse_le_fast_conn_enable_timer 
+04b8 204004d2 call p_mouse_send_switch_req_timer 
+04b9 20404231 call mouse_check_hid_handshake_timer 
+04ba 204004d5 call p_mouse_bt_check_sniff_req_timeout_timer 
+04bb 204003c1 call p_mouse_discovery_led_blink 
+04bc 204003b6 call p_mouse_24g_led_blink 
+04bd 202003c9 branch p_mouse_device_poweron_led_timer 
 
-p_mouse_select_device_button_up:
-0257 6800c6d9 fetch 1 ,mem_select_device_button_statue 
-0258 c1008000 rtneq pb_button_state_up 
-0259 6800cb48 fetch 1 ,mem_select_ui_button_count 
-025a 1fe67c14 sub pdata ,20 ,null 
-025b 24410260 ncall p_mouse_ready_reconnection_by_button ,positive 
-025c 6800c685 fetch 1 ,mem_ui_button_timeout 
-025d 6000cb48 store 1 ,mem_select_ui_button_count 
-025e 7046d901 jam pb_button_state_up ,mem_select_device_button_statue 
-025f 20600000 rtn 
+p_mouse_low_voltage_led_timer:
+04be 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+04bf c4020000 rtnbit0 mouse_low_voltage_flag 
+04c0 6800c6ae fetch 1 ,mem_mouse_direct_timer 
+04c1 243a03d5 nbranch p_mouse_24g_led_off ,blank 
+04c2 6800c6ac fetch 1 ,mem_mouse_discovery_timer 
+04c3 243a03d5 nbranch p_mouse_24g_led_off ,blank 
+04c4 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+04c5 243a03d5 nbranch p_mouse_24g_led_off ,blank 
+04c6 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+04c7 1fe0fe01 pincrease 1 
+04c8 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+04c9 1fe67c14 sub pdata ,20 ,null 
+04ca 244104d0 ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+04cb c00103d8 beq 2 ,p_mouse_24g_led_on 
+04cc c00203d5 beq 4 ,p_mouse_24g_led_off 
+04cd c00303d8 beq 6 ,p_mouse_24g_led_on 
+04ce c00403d5 beq 8 ,p_mouse_24g_led_off 
+04cf 20600000 rtn 
 
-p_mouse_ready_reconnection_by_button:
-0260 6808c720 fetcht 1 ,mem_device_flag 
-0261 18408401 increase 1 ,temp 
-0262 6800c6d2 fetch 1 ,mem_device_number 
-0263 98467c00 isub temp ,null 
-0264 244143cc ncall mouse_select_device_count_clean ,positive 
-0265 6008c720 storet 1 ,mem_device_flag 
-0266 7041bd00 jam 0 ,mem_link_key_exists 
-0267 2040011f call p_mouse_store_flash_device_info 
-0268 20204378 branch mouse_ready_reconnection_by_button + 8 
+p_mouse_adc_low_volatage_led_timer_count_clean:
+04d0 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+04d1 202003d5 branch p_mouse_24g_led_off 
 
 p_mouse_send_switch_req_timer:
-0269 da604809 arg mem_mouse_send_switch_req_timer ,regc 
-026a da40637a arg host_create_conn_resend ,regb 
-026b 2020336d branch timer_single_step 
+04d2 da604809 arg mem_mouse_send_switch_req_timer ,regc 
+04d3 da40637a arg host_create_conn_resend ,regb 
+04d4 2020336d branch timer_single_step 
 
 p_mouse_bt_check_sniff_req_timeout_timer:
-026c da604b0b arg mem_mouse_bt_send_first_package_timer ,regc 
-026d da40026f arg p_mouse_bt_send_first_package ,regb 
-026e 2020336d branch timer_single_step 
+04d5 da604b09 arg mem_mouse_bt_send_first_package_timer ,regc 
+04d6 da4004d8 arg p_mouse_bt_send_first_package ,regb 
+04d7 2020336d branch timer_single_step 
 
 p_mouse_bt_send_first_package:
-026f 704b0c01 jam 1 ,mem_mouse_bt_send_first_package_flag 
-0270 20600000 rtn 
+04d8 704b0a01 jam 1 ,mem_mouse_bt_send_first_package_flag 
+04d9 20600000 rtn 
 
 p_mouse_le_enable_att_list_timer:
-0271 da6046c6 arg mem_le_start_encrypt_timer ,regc 
-0272 da403d60 arg mouse_le_write_enable ,regb 
-0273 2020336d branch timer_single_step 
-
-p_le_send_smp_security_request_timer:
-0274 6800cb71 fetch 1 ,mem_mouse_le_bb_connected_flag 
-0275 207a0000 rtn blank 
-0276 da604b6f arg mem_mouse_send_secutiry_request_timer ,regc 
-0277 da400279 arg p_le_pairing_sm_start_check ,regb 
-0278 2020336d branch timer_single_step 
-
-p_le_pairing_sm_start_check:
-0279 6800cb70 fetch 1 ,mem_le_send_security_request_flag 
-027a 247a0000 nrtn blank 
-027b 20205bf5 branch le_pairing_sm_start 
-
-p_mouse_le_current_mult_update_timer:
-027c da604b45 arg mem_mouse_le_current_mult_timer ,regc 
-027d da40027f arg p_mouse_le_current_mult_reinit ,regb 
-027e 2020336d branch timer_single_step 
-
-p_mouse_le_current_mult_reinit:
-027f 6800c7c5 fetch 1 ,mem_lpm_mult_init 
-0280 6000c172 store 1 ,mem_lpm_mult 
-0281 704b4401 jam 1 ,mem_mouse_long_mult_flag 
-0282 20600000 rtn 
+04da da6046c6 arg mem_le_start_encrypt_timer ,regc 
+04db da403d60 arg mouse_le_write_enable ,regb 
+04dc 2020336d branch timer_single_step 
 
 p_mouse_le_fast_conn_enable_timer:
-0283 6800cb77 fetch 1 ,mem_mouse_fast_conn_flag 
-0284 c1ff8000 rtnne 0xff 
-0285 6800cb71 fetch 1 ,mem_mouse_le_bb_connected_flag 
-0286 247a0000 nrtn blank 
-0287 da604bb6 arg mem_mouse_le_fast_conn_enable_timer ,regc 
-0288 da40028a arg p_mouse_le_fast_conn_enable_timeout ,regb 
-0289 2020336d branch timer_single_step 
+04dd 6800cb61 fetch 1 ,mem_mouse_fast_conn_flag 
+04de c1ff8000 rtnne 0xff 
+04df 6800cb68 fetch 1 ,mem_mouse_le_bb_connected_flag 
+04e0 247a0000 nrtn blank 
+04e1 da604b69 arg mem_mouse_le_fast_conn_enable_timer ,regc 
+04e2 da4004e4 arg p_mouse_le_fast_conn_enable_timeout ,regb 
+04e3 2020336d branch timer_single_step 
 
 p_mouse_le_fast_conn_enable_timeout:
-028a 202003e1 branch p_mouse_start_discovery 
+04e4 202005d3 branch p_mouse_start_discovery 
 
 p_mouse_wheel_trigger_timer:
-028b da604807 arg mem_mouse_wheel_trigger_timer ,regc 
-028c da40028e arg p_mouse_wheel_trigger_disable ,regb 
-028d 2020336d branch timer_single_step 
+04e5 da604807 arg mem_mouse_wheel_trigger_timer ,regc 
+04e6 da4004e8 arg p_mouse_wheel_trigger_disable ,regb 
+04e7 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_disable:
-028e 70480600 jam 0 ,mem_mouse_wheel_trigger 
-028f 20600000 rtn 
+04e8 70480600 jam 0 ,mem_mouse_wheel_trigger 
+04e9 20600000 rtn 
+
+p_mouse_current_mult_update_timer:
+04ea da604b6b arg mem_mouse_current_mult_timer ,regc 
+04eb da4004ed arg p_mouse_le_current_mult_reinit ,regb 
+04ec 2020336d branch timer_single_step 
 
-p_mouse_bt_discovery_button_up_init:
-0290 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-0291 204043d2 call mouse_disable_function_flag 
-0292 202043ca branch mouse_bt_discovery_button_down_disable 
+p_mouse_le_current_mult_reinit:
+04ed 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+04ee 6000c172 store 1 ,mem_lpm_mult 
+04ef 202004f5 branch p_mouse_long_mult_flag_enable 
+
+p_mouse_24g_long_sleep_param_update_timer:
+04f0 da604b6c arg mem_24g_long_sleep_param_update_timer ,regc 
+04f1 da4004f3 arg p_mouse_24g_long_sleep_normal_param ,regb 
+04f2 2020336d branch timer_single_step 
+
+p_mouse_24g_long_sleep_normal_param:
+04f3 580ea600 setarg g24_long_sleep_step2 
+04f4 6001cc30 store 3 ,mem_24g_enter_hibernate 
+
+p_mouse_long_mult_flag_enable:
+04f5 704b6a01 jam 1 ,mem_mouse_long_mult_flag 
+04f6 20600000 rtn 
 
 p_mouse_bt_discovery_timer:
-0293 da604b48 arg mem_select_ui_button_count ,regc 
-0294 da400296 arg p_mouse_long_button_bt_discovery ,regb 
-0295 2020336d branch timer_single_step 
+04f7 da604b44 arg mem_select_ui_button_count ,regc 
+04f8 da4004fa arg p_mouse_long_button_bt_discovery ,regb 
+04f9 2020336d branch timer_single_step 
 
 p_mouse_long_button_bt_discovery:
-0296 6800c720 fetch 1 ,mem_device_flag 
-0297 c1010000 rtneq mode_24g_device 
-0298 68014682 fetch 2 ,mem_ui_state_map 
-0299 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-029a 2040c2d4 call mouse_stop_le_adv ,true 
-029b 68014682 fetch 2 ,mem_ui_state_map 
-029c 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-029d 2040c392 call mouse_cancel_reconnect ,true 
-029e 202043b8 branch mouse_long_button_bt_discovry 
-
-p_mouse_fast_conn_adv_switch_timer_reinit:
-029f 68014687 fetch 2 ,mem_discovery_timeout 
-02a0 600146ac store 2 ,mem_mouse_discovery_timer 
-02a1 20600000 rtn 
-
-p_mouse_null_enter_hibernate_timer:
-02a2 6800c79f fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-02a3 207a0000 rtn blank 
-02a4 da6047a0 arg mem_mouse_null_enter_hibernate_timer ,regc 
-02a5 da4002a7 arg p_mouse_null_enter_hibernate ,regb 
-02a6 2020336d branch timer_single_step 
-
-p_mouse_null_enter_hibernate:
-02a7 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-02a8 2020340a branch app_enter_hibernate 
-
-p_mouse_null_enter_hibernate_enable:
-02a9 70479f01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-02aa 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-02ab 20600000 rtn 
-
-p_mouse_null_enter_hibernate_disable:
-02ac 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-02ad 7047a000 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-02ae 20600000 rtn 
-
-p_mouse_multi_led_blink_timer:
-02af 6800cb26 fetch 1 ,mem_mouse_multi_led_blink_enable 
-02b0 207a0000 rtn blank 
-02b1 6800cb29 fetch 1 ,mem_mouse_multi_led_type 
-02b2 c00082c4 beq multi_led_blink ,p_mouse_multi_led_type_blink 
-
-p_mouse_multi_led_type_on:
-02b3 204002d1 call p_mouse_multi_led_on 
-02b4 6800cb2e fetch 1 ,mem_mouse_multi_led_on_timer 
-02b5 1fe0fe01 increase 1 ,pdata 
-02b6 6000cb2e store 1 ,mem_mouse_multi_led_on_timer 
-02b7 6808cb2a fetcht 1 ,mem_mouse_multi_led_on_timer_init 
-02b8 98467c00 isub temp ,null 
-02b9 204282bb call p_mouse_multi_led_off_poweron2s ,zero 
-02ba 20600000 rtn 
-
-p_mouse_multi_led_off_poweron2s:
-02bb 704b3000 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
-02bc 202002ed branch p_mouse_multi_led_off 
-
-p_mouse_discovery_multi_led_blink:
-02bd 704b2b05 jam 5 ,mem_mouse_multi_led_blink_timer_init 
-
-p_mouse_discovery_multi_led_blink1:
-02be 704b2f00 jam 0 ,mem_mouse_multi_led_blink_count_limited 
-02bf 704b2d01 jam 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_enable:
-02c0 704b2c05 jam 5 ,mem_mouse_multi_led_blink_timer 
-02c1 704b2601 jam on ,mem_mouse_multi_led_blink_enable 
-02c2 704b2901 jam multi_led_blink ,mem_mouse_multi_led_type 
-02c3 20600000 rtn 
-
-p_mouse_multi_led_type_blink:
-02c4 da604b2c arg mem_mouse_multi_led_blink_timer ,regc 
-02c5 da4002c7 arg p_mouse_multi_led_type_blink_timeout ,regb 
-02c6 2020336d branch timer_single_step 
-
-p_mouse_multi_led_type_blink_timeout:
-02c7 6800cb2b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-02c8 6000cb2c store 1 ,mem_mouse_multi_led_blink_timer 
-02c9 6800cb2f fetch 1 ,mem_mouse_multi_led_blink_count_limited 
-02ca 203a02cf branch p_mouse_multi_led_blink_count_no_limited ,blank 
-02cb 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
-02cc 203a02eb branch p_mouse_multi_led_blink_off ,blank 
-02cd 1fe0ffff increase -1 ,pdata 
-02ce 6000cb2d store 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_count_no_limited:
-02cf 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
-02d0 c00082ed beq on ,p_mouse_multi_led_off 
-
-p_mouse_multi_led_on:
-02d1 704b2801 jam on ,mem_mouse_multi_led_state 
-02d2 6800cb2e fetch 1 ,mem_mouse_multi_led_on_timer 
-02d3 243a02da nbranch p_mouse_multi_up_led_on ,blank 
-02d4 6800cb30 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-02d5 243a02da nbranch p_mouse_multi_up_led_on ,blank 
-02d6 6800cb29 fetch 1 ,mem_mouse_multi_led_type 
-02d7 243a02da nbranch p_mouse_multi_up_led_on ,blank 
-02d8 6800c231 fetch 1 ,mem_adc_power_flag 
-02d9 c28002df bbit1 0 ,p_mouse_low_vdd_led_on 
-
-p_mouse_multi_up_led_on:
-02da 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-02db 79200407 set1 gpio_active_bit ,temp 
-02dc 2040680e call gpio_config_output 
-02dd 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-02de 20206829 branch gpio_out_active 
-
-p_mouse_low_vdd_led_on:
-02df 704bb101 jam 1 ,mem_24g_device_led_status 
-02e0 6810807c hfetch 1 ,core_gpio_pd0 
-02e1 793ffe05 set0 5 ,pdata 
-02e2 6010807c hstore 1 ,core_gpio_pd0 
-02e3 6808cbae fetcht 1 ,mem_device_24g_led_gpio 
-02e4 2040680e call gpio_config_output 
-02e5 6808cbae fetcht 1 ,mem_device_24g_led_gpio 
-02e6 20206825 branch gpio_out_inactive 
-
-p_mouse_discovey_led_blink_off:
-02e7 6800cb2e fetch 1 ,mem_mouse_multi_led_on_timer 
-02e8 247a0000 nrtn blank 
-02e9 6800cb30 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-02ea 247a0000 nrtn blank 
-
-p_mouse_multi_led_blink_off:
-02eb 58000000 setarg 0 
-02ec 6001cb2c store 3 ,mem_mouse_multi_led_blink_timer 
-
-p_mouse_multi_led_off:
-02ed 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
-02ee 243a02f1 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
-02ef 704b2600 jam 0 ,mem_mouse_multi_led_blink_enable 
-02f0 704b2900 jam 0 ,mem_mouse_multi_led_type 
-
-p_mouse_multi_led_off_wait_blink_over:
-02f1 704b2e00 jam 0 ,mem_mouse_multi_led_on_timer 
-02f2 704b2800 jam off ,mem_mouse_multi_led_state 
-
-p_mouse_multi_led_gpio_set_float:
-02f3 6800cb27 fetch 1 ,mem_mouse_multi_led_gpio 
-02f4 c17f8000 rtneq ui_button_gpio_disable 
-02f5 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-
-p_mouse_set_gpio_suspend:
-02f6 204003ca call p_gpio_set_input_pu 
-
-p_mouse_low_vdd_led_off:
-02f7 704bb100 jam 0 ,mem_24g_device_led_status 
-02f8 6808cbae fetcht 1 ,mem_device_24g_led_gpio 
-02f9 202003d5 branch p_gpio_set_input_high_impedance 
-
-p_mouse_mode_bt_device1_multi_led_on:
-
-p_mouse_mode_24g_device_multi_led_on:
-02fa 704b3001 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-02fb 704b2601 jam on ,mem_mouse_multi_led_blink_enable 
-02fc 704b2900 jam multi_led_on ,mem_mouse_multi_led_type 
-02fd 704b2e00 jam 0 ,mem_mouse_multi_led_on_timer 
-02fe 20600000 rtn 
+04fa 6808c720 fetcht 1 ,mem_device_flag 
+04fb 6800c703 fetch 1 ,mem_24g_device_number 
+04fc 98467c00 isub temp ,null 
+04fd 20628000 rtn zero 
+04fe 68014682 fetch 2 ,mem_ui_state_map 
+04ff 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+0500 2040c2d4 call mouse_stop_le_adv ,true 
+0501 68014682 fetch 2 ,mem_ui_state_map 
+0502 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+0503 2040c392 call mouse_cancel_reconnect ,true 
+0504 202043b8 branch mouse_long_button_bt_discovry 
 
-p_mouse_adc_read:
-02ff 68014b2d fetch 2 ,mem_mouse_multi_led_blink_count 
-0300 247a0000 nrtn blank 
-0301 6800c6ce fetch 1 ,mem_adc_read_timer 
-0302 1fe0fe01 increase 1 ,pdata 
-0303 6000c6ce store 1 ,mem_adc_read_timer 
-0304 1fe67c0a sub pdata ,10 ,null 
-0305 20410313 call p_mouse_adc_read_gpio5 ,positive 
-0306 24410317 ncall p_mouse_adc_read_vinlpm ,positive 
-0307 204068a8 call adc_init_data 
-0308 20400333 call p_adc_set_mode 
-0309 20406908 call vdd_calculate_by_mode 
-030a 6001470f store 2 ,mem_mouse_vdd_now_vol 
-030b da204709 arg mem_mouse_vdd_calculate_set ,rega 
-030c 2040033a call p_adc_bat_percent_lowpower_out 
-030d 6800c231 fetch 1 ,mem_adc_power_flag 
-030e c2810247 bbit1 2 ,p_mouse_set_select_state 
-030f c280b40a bbit1 1 ,app_enter_hibernate 
-0310 c300032e bbit0 0 ,p_mouse_adc_no_low_voltage 
-0311 704aff01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
-0312 202043e7 branch mouse_adc_low_voltage 
+p_mouse_set_select_state:
+0505 704b6001 jam 1 ,mem_select_device_button_press_flag 
+0506 20600000 rtn 
 
-p_mouse_adc_read_gpio5:
-0313 6800cbb1 fetch 1 ,mem_24g_device_led_status 
-0314 243a0317 nbranch p_mouse_adc_read_vinlpm ,blank 
-0315 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
-0316 20600000 rtn 
+p_mouse_clear_select_state:
+0507 704b6000 jam 0 ,mem_select_device_button_press_flag 
+0508 20600000 rtn 
 
-p_mouse_adc_read_vinlpm:
-0317 7046ce00 jam 0 ,mem_adc_read_timer 
-0318 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
-0319 20600000 rtn 
+p_mouse_select_device_by_button:
+0509 6800cb60 fetch 1 ,mem_select_device_button_press_flag 
+050a 203a0515 branch p_mouse_select_device_button_up ,blank 
+
+p_mouse_select_device_button_down:
+050b 204004f7 call p_mouse_bt_discovery_timer 
+050c 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+050d c1000000 rtneq pb_button_state_down 
+050e 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+050f 600146ae store 2 ,mem_mouse_direct_timer 
+0510 18000e03 force page_length_timer ,queue 
+0511 680140b9 fetch 2 ,mem_page_to 
+0512 20407f08 call timer_init 
+0513 7046d900 jam pb_button_state_down ,mem_select_device_button_statue 
+0514 20600000 rtn 
+
+p_mouse_select_device_button_up:
+0515 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+0516 c1008000 rtneq pb_button_state_up 
+0517 6800cb44 fetch 1 ,mem_select_ui_button_count 
+0518 1fe67c14 sub pdata ,20 ,null 
+0519 6800c685 fetch 1 ,mem_ui_button_timeout 
+051a 6000cb44 store 1 ,mem_select_ui_button_count 
+051b 7046d901 jam pb_button_state_up ,mem_select_device_button_statue 
+051c 20600000 rtn 
+
+p_mouse_ready_reconnection_by_button:
+051d 6808c720 fetcht 1 ,mem_device_flag 
+051e 18408401 increase 1 ,temp 
+051f 6800c6d2 fetch 1 ,mem_device_number 
+0520 98467c00 isub temp ,null 
+0521 244143cc ncall mouse_select_device_count_clean ,positive 
+0522 6008c720 storet 1 ,mem_device_flag 
+0523 7041bd00 jam 0 ,mem_link_key_exists 
+0524 20400358 call p_mouse_store_flash_device_info 
+0525 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0526 c1048000 rtneq mouse_bt_discovery_button_long_down_flag 
+0527 2020437e branch mouse_set_reconnection 
 
 p_vdd_calculate_by_mode:
-031a 6800c22d fetch 1 ,mem_adc_config_flag 
-031b c001031d beq adc_config_gpio ,p_vdd_calculate_io 
-031c 2020690a branch vdd_calculate_by_mode + 2 
+0528 6800c22d fetch 1 ,mem_adc_config_flag 
+0529 c001052b beq adc_config_gpio ,p_vdd_calculate_io 
+052a 2020690a branch vdd_calculate_by_mode + 2 
 
 p_vdd_calculate_io:
-031d 68014223 fetch 2 ,mem_1v_adc_io_data 
-031e 6809421d fetcht 2 ,mem_0_5_adc_io_data 
-031f da600032 arg 50 ,regc 
-0320 20200321 branch p_vdd_calculate 
+052b 68014223 fetch 2 ,mem_1v_adc_io_data 
+052c 6809421d fetcht 2 ,mem_0_5_adc_io_data 
+052d da600032 arg 50 ,regc 
+052e 2020052f branch p_vdd_calculate 
 
 p_vdd_calculate:
-0321 98462200 isub temp ,rega 
-0322 6801422f fetch 2 ,mem_adc_current_value 
-0323 98467e00 isub temp ,pdata 
-0324 24210326 nbranch p_vdd_calculate1 ,positive 
-0325 2020691e branch vdd_calculate + 4 
+052f 98462200 isub temp ,rega 
+0530 6801422f fetch 2 ,mem_adc_current_value 
+0531 98467e00 isub temp ,pdata 
+0532 24210534 nbranch p_vdd_calculate1 ,positive 
+0533 2020691e branch vdd_calculate + 4 
 
 p_vdd_calculate1:
-0326 18427e00 copy temp ,pdata 
-0327 6809422f fetcht 2 ,mem_adc_current_value 
-0328 98467e00 isub temp ,pdata 
-0329 9a267c00 isub rega ,null 
-032a 2041032c call p_vdd_calculate2 ,positive 
-032b 2020692a branch vdd_calculate1 + 3 
+0534 18427e00 copy temp ,pdata 
+0535 6809422f fetcht 2 ,mem_adc_current_value 
+0536 98467e00 isub temp ,pdata 
+0537 9a267c00 isub rega ,null 
+0538 2041053a call p_vdd_calculate2 ,positive 
+0539 2020692a branch vdd_calculate1 + 3 
 
 p_vdd_calculate2:
-032c 1a227e00 copy rega ,pdata 
-032d 20600000 rtn 
+053a 1a227e00 copy rega ,pdata 
+053b 20600000 rtn 
+
+p_mouse_adc_read:
+053c 6800c6ce fetch 1 ,mem_adc_read_timer 
+053d 1fe0fe01 increase 1 ,pdata 
+053e 6000c6ce store 1 ,mem_adc_read_timer 
+053f 1fe67c05 sub pdata ,5 ,null 
+0540 20000064 nop 100 
+0541 2041054e call p_mouse_adc_read_gpio5 ,positive 
+0542 24410552 ncall p_mouse_adc_read_vinlpm ,positive 
+0543 204068a8 call adc_init_data 
+0544 2040055d call p_adc_set_mode 
+0545 20400528 call p_vdd_calculate_by_mode 
+0546 6001470f store 2 ,mem_mouse_vdd_now_vol 
+0547 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+0548 20400567 call p_adc_bat_percent_lowpower_out 
+0549 6800c231 fetch 1 ,mem_adc_power_flag 
+054a c2810505 bbit1 2 ,p_mouse_set_select_state 
+054b c3000555 bbit0 0 ,p_mouse_adc_no_low_voltage 
+054c 704afd01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+054d 202043e7 branch mouse_adc_low_voltage 
+
+p_mouse_adc_read_gpio5:
+054e 6800cb49 fetch 1 ,mem_24g_device_led_status 
+054f 243a0552 nbranch p_mouse_adc_read_vinlpm ,blank 
+0550 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
+0551 20600000 rtn 
+
+p_mouse_adc_read_vinlpm:
+0552 7046ce00 jam 0 ,mem_adc_read_timer 
+0553 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
+0554 20600000 rtn 
 
 p_mouse_adc_no_low_voltage:
-032e 204043e9 call mouse_adc_no_low_voltage 
-032f 6800caff fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
-0330 207a0000 rtn blank 
-0331 704aff00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
-0332 202002f7 branch p_mouse_low_vdd_led_off 
+0555 204043e9 call mouse_adc_no_low_voltage 
+0556 7046cf0c jam 12 ,mem_adc_low_volatage_led_timer_count 
+0557 6800cafd fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0558 207a0000 rtn blank 
+0559 704afd00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+055a 6800c6ef fetch 1 ,mem_config_low_voltage_alarm_gpio 
+055b 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+055c 20204296 branch mouse_led_off 
 
 p_adc_set_mode:
-0333 6800c22d fetch 1 ,mem_adc_config_flag 
-0334 c0010336 beq adc_config_gpio ,p_adc_check_gpio 
-0335 202068ec branch adc_set_mode + 1 
+055d 6800c22d fetch 1 ,mem_adc_config_flag 
+055e c0010560 beq adc_config_gpio ,p_adc_check_gpio 
+055f 202068ec branch adc_set_mode + 1 
 
 p_adc_check_gpio:
-0336 6810807c hfetch 1 ,core_gpio_pd0 
-0337 793ffe05 set0 5 ,pdata 
-0338 6010807c hstore 1 ,core_gpio_pd0 
-0339 202068f4 branch adc_check_gpio 
+0560 6810807c hfetch 1 ,core_gpio_pd0 
+0561 793ffe05 set0 5 ,pdata 
+0562 6010807c hstore 1 ,core_gpio_pd0 
+0563 7089718f jam 0x8f ,rf_adc_mode 
+0564 6800c22e fetch 1 ,mem_adc_channel 
+0565 60108973 hstore 1 ,rf_adc_ch 
+0566 202068f8 branch read_adc 
 
 p_adc_bat_percent_lowpower_out:
-033a ea240000 ifetch 8 ,rega 
-033b 60040a9a store 8 ,mem_pdatatemp 
-033c 6800c22d fetch 1 ,mem_adc_config_flag 
-033d c001034b beq adc_config_gpio ,p_adc_check_gpio5 
-033e c000033f beq adc_config_vinlpm ,p_adc_check_vinlpm 
+0567 ea240000 ifetch 8 ,rega 
+0568 60040a9a store 8 ,mem_pdatatemp 
+0569 6800c22d fetch 1 ,mem_adc_config_flag 
+056a c0010578 beq adc_config_gpio ,p_adc_check_gpio5 
+056b c000056c beq adc_config_vinlpm ,p_adc_check_vinlpm 
 
 p_adc_check_vinlpm:
-033f 68010aa0 fetch 2 ,mem_pdatatemp + 6 
-0340 68090a9c fetcht 2 ,mem_pdatatemp + 2 
-0341 98467c00 isub temp ,null 
-0342 24216944 nbranch adc_set_no_power_flag ,positive 
-0343 20400351 call p_adc_clear_no_power_flag 
-0344 68090a9e fetcht 2 ,mem_pdatatemp + 4 
-0345 98467c00 isub temp ,null 
-0346 24216940 nbranch adc_set_low_power_flag ,positive 
+056c 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+056d 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+056e 98467c00 isub temp ,null 
+056f 24216944 nbranch adc_set_no_power_flag ,positive 
+0570 2040057e call p_adc_clear_no_power_flag 
+0571 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+0572 98467c00 isub temp ,null 
+0573 24216940 nbranch adc_set_low_power_flag ,positive 
 
 p_adc_clear_low_power_flag:
-0347 6800c231 fetch 1 ,mem_adc_power_flag 
-0348 793ffe00 set0 0 ,pdata 
-0349 6000c231 store 1 ,mem_adc_power_flag 
-034a 20600000 rtn 
+0574 6800c231 fetch 1 ,mem_adc_power_flag 
+0575 793ffe00 set0 0 ,pdata 
+0576 6000c231 store 1 ,mem_adc_power_flag 
+0577 20600000 rtn 
 
 p_adc_check_gpio5:
-034b 68094bab fetcht 2 ,mem_mouse_vdd_0v 
-034c 68010aa0 fetch 2 ,mem_pdatatemp + 6 
-034d 98467c00 isub temp ,null 
-034e 24210355 nbranch p_adc_set_pb_press_flag ,positive 
-034f 20400249 call p_mouse_clear_select_state 
-0350 20200359 branch p_adc_clear_pb_press_flag 
+0578 68094b5e fetcht 2 ,mem_mouse_vdd_0v 
+0579 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+057a 98467c00 isub temp ,null 
+057b 24210582 nbranch p_adc_set_pb_press_flag ,positive 
+057c 20400507 call p_mouse_clear_select_state 
+057d 20200586 branch p_adc_clear_pb_press_flag 
 
 p_adc_clear_no_power_flag:
-0351 6808c231 fetcht 1 ,mem_adc_power_flag 
-0352 793f8401 set0 1 ,temp 
-0353 6008c231 storet 1 ,mem_adc_power_flag 
-0354 20600000 rtn 
+057e 6808c231 fetcht 1 ,mem_adc_power_flag 
+057f 793f8401 set0 1 ,temp 
+0580 6008c231 storet 1 ,mem_adc_power_flag 
+0581 20600000 rtn 
 
 p_adc_set_pb_press_flag:
-0355 6808c231 fetcht 1 ,mem_adc_power_flag 
-0356 79200402 set1 2 ,temp 
-0357 6008c231 storet 1 ,mem_adc_power_flag 
-0358 20600000 rtn 
+0582 6808c231 fetcht 1 ,mem_adc_power_flag 
+0583 79200402 set1 2 ,temp 
+0584 6008c231 storet 1 ,mem_adc_power_flag 
+0585 20600000 rtn 
 
 p_adc_clear_pb_press_flag:
-0359 6808c231 fetcht 1 ,mem_adc_power_flag 
-035a 793f8402 set0 2 ,temp 
-035b 6008c231 storet 1 ,mem_adc_power_flag 
-035c 20600000 rtn 
-
-p_mouse_low_voltage_led_timer:
-035d 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-035e c4020000 rtnbit0 mouse_low_voltage_flag 
-035f 68014682 fetch 2 ,mem_ui_state_map 
-0360 c3858000 rtnbit1 ui_state_ble_adv 
-0361 c3830000 rtnbit1 ui_state_bt_discovery 
-0362 68014b2d fetch 2 ,mem_mouse_multi_led_blink_count 
-0363 247a0000 nrtn blank 
-0364 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
-0365 1fe0fe01 pincrease 1 
-0366 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
-0367 c00282d1 beq 5 ,p_mouse_multi_led_on 
-0368 1fe67c0a sub pdata ,10 ,null 
-0369 2421036b nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
-036a 20600000 rtn 
-
-p_mouse_adc_low_volatage_led_timer_count_clean:
-036b 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
-036c 202002ed branch p_mouse_multi_led_off 
-
-p_mouse_sensor_poweron:
-036d 2040012d call p_mouse_spi_init 
-036e 58008006 setarg 0x8006 
-036f 20406413 call twspi_write 
-0370 20002ee0 nop 12000 
-
-p_mouse_dpi_config:
-0371 6800c77a fetch 1 ,mem_mouse_dpi 
-0372 c0ff8375 bne 0xff ,p_mouse_seting_dpi 
-
-p_mouse_dpi_config_default:
-0373 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-0374 6000c77a store 1 ,mem_mouse_dpi 
-
-p_mouse_seting_dpi:
-
-p_mouse_seting_sensor_type:
-
-p_mouse_seting_320x_dpi:
-0375 6800c77a fetch 1 ,mem_mouse_dpi 
-0376 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-0377 20428382 call p_mouse_320x_dpi_recount ,zero 
-0378 6800c77a fetch 1 ,mem_mouse_dpi 
-0379 c0000384 beq mouse_dpi_level1 ,p_mouse_set_cpi1 
-037a c001838a beq mouse_dpi_level4 ,p_mouse_set_cpi4 
-
-p_mouse_set_cpi3:
-037b 6800c6e0 fetch 1 ,mem_config_sensor_type 
-037c c0030390 beq p3065_xy ,p_mouse_3065xy_set_cpi3 
-037d c0038390 beq mx8650 ,p_mouse_3065xy_set_cpi3 
-037e c0010396 beq ka8 ,p_mouse_ka8_set_cpi3 
-
-p_mouse_320x_set_cpi3:
-037f 6800c781 fetch 1 ,mem_320x_dpi_3 
-
-p_mouse_dpi_store:
-0380 6000c6b5 store 1 ,mem_mouse_cpi_count 
-0381 20203dc1 branch mouse_p3205_dpi + 3 
-
-p_mouse_320x_dpi_recount:
-0382 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
-0383 20600000 rtn 
-
-p_mouse_set_cpi1:
-0384 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0385 c0030392 beq p3065_xy ,p_mouse_3065xy_set_cpi1 
-0386 c0038392 beq mx8650 ,p_mouse_3065xy_set_cpi1 
-0387 c0010399 beq ka8 ,p_mouse_ka8_set_cpi1 
-
-p_mouse_320x_set_cpi1:
-0388 6800c77f fetch 1 ,mem_320x_dpi_1 
-0389 20200380 branch p_mouse_dpi_store 
-
-p_mouse_set_cpi4:
-038a 6800c6e0 fetch 1 ,mem_config_sensor_type 
-038b c0030394 beq p3065_xy ,p_mouse_3065xy_set_cpi4 
-038c c0038394 beq mx8650 ,p_mouse_3065xy_set_cpi4 
-038d c001039b beq ka8 ,p_mouse_ka8_set_cpi4 
-
-p_mouse_320x_set_cpi4:
-038e 6800c782 fetch 1 ,mem_320x_dpi_4 
-038f 20200380 branch p_mouse_dpi_store 
-
-p_mouse_3065xy_set_cpi3:
-0390 6800cb3a fetch 1 ,mem_3065xy_dpi_3 
-0391 20200380 branch p_mouse_dpi_store 
-
-p_mouse_3065xy_set_cpi1:
-0392 6800cb38 fetch 1 ,mem_3065xy_dpi_1 
-0393 20200380 branch p_mouse_dpi_store 
-
-p_mouse_3065xy_set_cpi4:
-0394 6800cb3b fetch 1 ,mem_3065xy_dpi_4 
-0395 20200380 branch p_mouse_dpi_store 
-
-p_mouse_ka8_set_cpi3:
-0396 6800cb3a fetch 1 ,mem_3065xy_dpi_3 
-
-p_mouse_ka8_dpi_store:
-0397 1fe0fe03 increase 3 ,pdata 
-0398 20200380 branch p_mouse_dpi_store 
-
-p_mouse_ka8_set_cpi1:
-0399 6800cb38 fetch 1 ,mem_3065xy_dpi_1 
-039a 20200397 branch p_mouse_ka8_dpi_store 
-
-p_mouse_ka8_set_cpi4:
-039b 6800cb3b fetch 1 ,mem_3065xy_dpi_4 
-039c 20200397 branch p_mouse_ka8_dpi_store 
+0586 6808c231 fetcht 1 ,mem_adc_power_flag 
+0587 793f8402 set0 2 ,temp 
+0588 6008c231 storet 1 ,mem_adc_power_flag 
+0589 20600000 rtn 
 
 p_mouse_motion:
-039d 78547c00 disable user 
-039e 58000000 setarg 0 
-039f 6003469b store 6 ,mem_mouse_x 
-03a0 204003d7 call p_mouse_cheak_sensor_data 
-03a1 20404079 call mouse_zwheel 
-03a2 2040407e call mouse_t_zwheel 
-03a3 204003a7 call p_mouse_key 
-03a4 243405f1 nbranch p_drawing_optima_init ,user 
-03a5 204005e8 call p_drawing_optima 
-03a6 20203fa0 branch mouse_motion + 9 
+058a 78547c00 disable user 
+058b 58000000 setarg 0 
+058c 6003469b store 6 ,mem_mouse_x 
+058d 20403fb5 call mouse_cheak_sensor_data 
+058e 20404079 call mouse_zwheel 
+058f 2040407e call mouse_t_zwheel 
+0590 20400593 call p_mouse_key 
+0591 24740000 nrtn user 
+0592 20203fa0 branch mouse_motion + 9 
 
 p_mouse_key:
-03a7 204003a9 call p_mouse_check_key_gpio 
-03a8 2020409a branch mouse_key + 1 
+0593 20400595 call p_mouse_check_key_gpio 
+0594 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-03a9 da200000 arg 0 ,rega 
-03aa 204003af call p_mouse_check_lkey_gpio 
-03ab 204003ad call p_mouse_check_skey_gpio 
-03ac 2020408e branch mouse_check_key_gpio_output 
+0595 da200000 arg 0 ,rega 
+0596 2040059f call p_mouse_check_lkey_gpio 
+0597 204005a5 call p_mouse_check_rkey_gpio 
+0598 204005ab call p_mouse_check_mkey_gpio 
+0599 2040059b call p_mouse_check_skey_gpio 
+059a 2020408e branch mouse_check_key_gpio_output 
 
 p_mouse_check_skey_gpio:
-03ad 204003bf call p_mouse_check_bk_key_gpio 
-03ae 202003c5 branch p_mouse_check_fw_key_gpio 
+059b 6800c6e5 fetch 1 ,mem_bk_button_gpio 
+059c c17f8000 rtneq gpio_disable 
+059d 204005b1 call p_mouse_check_bk_key_gpio 
+059e 202005b7 branch p_mouse_check_fw_key_gpio 
 
 p_mouse_check_lkey_gpio:
-03af 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-03b0 204003ca call p_gpio_set_input_pu 
-03b1 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-03b2 2040681d call gpio_get_bit 
-03b3 7920a200 setflag true ,0 ,rega 
+059f 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+05a0 204005c8 call p_gpio_set_input_pu 
+05a1 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+05a2 2040681d call gpio_get_bit 
+05a3 7920a200 setflag true ,0 ,rega 
+05a4 20600000 rtn 
 
 p_mouse_check_rkey_gpio:
-03b4 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-03b5 204003ca call p_gpio_set_input_pu 
-03b6 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-03b7 2040681d call gpio_get_bit 
-03b8 7920a201 setflag true ,1 ,rega 
+05a5 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+05a6 204005c8 call p_gpio_set_input_pu 
+05a7 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+05a8 2040681d call gpio_get_bit 
+05a9 7920a201 setflag true ,1 ,rega 
+05aa 20600000 rtn 
 
 p_mouse_check_mkey_gpio:
-03b9 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-03ba 204003ca call p_gpio_set_input_pu 
-03bb 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-03bc 2040681d call gpio_get_bit 
-03bd 7920a202 setflag true ,2 ,rega 
-03be 20600000 rtn 
+05ab 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05ac 204005c8 call p_gpio_set_input_pu 
+05ad 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05ae 2040681d call gpio_get_bit 
+05af 7920a202 setflag true ,2 ,rega 
+05b0 20600000 rtn 
 
 p_mouse_check_bk_key_gpio:
-03bf 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-03c0 204003cf call p_gpio_set_input_pd 
-03c1 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-03c2 2040681d call gpio_get_bit 
-03c3 7d20a203 nsetflag true ,3 ,rega 
-03c4 202003ca branch p_gpio_set_input_pu 
+05b1 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+05b2 204005bf call p_gpio_set_input_pd 
+05b3 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+05b4 2040681d call gpio_get_bit 
+05b5 7d20a203 nsetflag true ,3 ,rega 
+05b6 202005c8 branch p_gpio_set_input_pu 
 
 p_mouse_check_fw_key_gpio:
-03c5 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-03c6 204003cf call p_gpio_set_input_pd 
-03c7 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-03c8 2040681d call gpio_get_bit 
-03c9 7d20a204 nsetflag true ,4 ,rega 
+05b7 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+05b8 204005bf call p_gpio_set_input_pd 
+05b9 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+05ba 2040681d call gpio_get_bit 
+05bb 7d20a204 nsetflag true ,4 ,rega 
+05bc 202005c8 branch p_gpio_set_input_pu 
 
-p_gpio_set_input_pu:
-03ca 79200407 set1 gpio_active_bit ,temp 
-03cb d8a08078 arg core_gpio_pu0 ,contw 
-03cc 20406830 call gpio_set_bit 
-03cd 793f8407 set0 gpio_active_bit ,temp 
-03ce 202003d3 branch p_gpio_set_input_pd4 
+p_gpio_set_input_high_impedance:
+05bd 793f8407 set0 gpio_active_bit ,temp 
+05be 20206806 branch gpio_set_high_impedance 
 
 p_gpio_set_input_pd:
-03cf 793f8407 set0 gpio_active_bit ,temp 
-03d0 d8a08078 arg core_gpio_pu0 ,contw 
-03d1 20406830 call gpio_set_bit 
-03d2 79200407 set1 gpio_active_bit ,temp 
+05bf 793f8407 set0 gpio_active_bit ,temp 
+05c0 d8a08078 arg core_gpio_pu0 ,contw 
+05c1 20406830 call gpio_set_bit 
+05c2 79200407 set1 gpio_active_bit ,temp 
 
 p_gpio_set_input_pd4:
-03d3 d8a0807c arg core_gpio_pd0 ,contw 
-03d4 2020680a branch gpio_set_high_impedance + 4 
-
-p_gpio_set_input_high_impedance:
-03d5 793f8407 set0 gpio_active_bit ,temp 
-03d6 20206806 branch gpio_set_high_impedance 
+05c3 d8a0807c arg core_gpio_pd0 ,contw 
+05c4 20406830 call gpio_set_bit 
+05c5 793f8407 set0 gpio_active_bit ,temp 
+05c6 d8a08070 arg core_gpio_oe0 ,contw 
+05c7 20206830 branch gpio_set_bit 
 
-p_mouse_cheak_sensor_data:
+p_gpio_set_input_pu:
+05c8 79200407 set1 gpio_active_bit ,temp 
 
-p_mouse_p32xx_sensor_motion:
-03d7 20403fc0 call mouse_clear_sensor_data 
-03d8 78547c00 disable user 
-03d9 20203fe7 branch mouse_p32xx_sensor_motion_2 
+p_gpio_set_input_pu1:
+05c9 d8a08078 arg core_gpio_pu0 ,contw 
+05ca 20406830 call gpio_set_bit 
+05cb 793f8407 set0 gpio_active_bit ,temp 
+05cc 202005c3 branch p_gpio_set_input_pd4 
 
 p_mouse_bb_event_discovery_btn:
-03da 204002ac call p_mouse_null_enter_hibernate_disable 
-03db 7046b400 jam 0 ,mem_mouse_send_blank_timer 
-03dc 6800cb79 fetch 1 ,mem_mouse_le_not_tx_disconn 
-03dd 205a4386 call mouse_disconnect ,blank 
-03de 58000000 setarg 0 
-03df 600146b0 store 2 ,mem_mouse_no_data_timer 
-03e0 2020426f branch mouse_bb_event_discovery_btn + 3 
+05cd 704b5000 jam 0 ,mem_mouse_poweron_led_timer 
+05ce 280ffe26 isolate1 mark_24g ,mark 
+05cf 204081cd call p_g24_check_51cmd_stop_24g ,true 
+05d0 2020426d branch mouse_bb_event_discovery_btn + 1 
+
+p_le_addr_random_config:
+05d1 7011c581 jam zcode_81 ,mem_zcode_temp_param0 
+05d2 202007b3 branch p_zcode_entrance 
 
 p_mouse_start_discovery:
-03e1 7011c630 jam zcode_30 ,mem_zcode_temp_param0 
-03e2 202005c7 branch p_zcode_entrance 
+05d3 704b5c00 jam 0 ,mem_mouse_discovery_blink_count 
+05d4 7011c550 jam zcode_50 ,mem_zcode_temp_param0 
+05d5 202007b3 branch p_zcode_entrance 
 
 p_le_adv_data_update:
-03e3 d8a0437b arg mem_le_adv_data + 11 ,contw 
-03e4 df200013 arg 19 ,loopcnt 
-03e5 20407f01 call memcpy 
-03e6 202057b8 branch le_modified_name_adv 
+05d6 d8a0437b arg mem_le_adv_data + 11 ,contw 
+05d7 df200013 arg 19 ,loopcnt 
+05d8 20407f01 call memcpy 
+05d9 202057b8 branch le_modified_name_adv 
 
 p_mouse_stop_discovery:
-03e7 204002e7 call p_mouse_discovey_led_blink_off 
-03e8 2040036d call p_mouse_sensor_poweron 
-03e9 202042cb branch mouse_stop_discovery + 1 
+05da 58000000 setarg 0 
+05db 600146ac store 2 ,mem_mouse_discovery_timer 
+05dc 6000cb5b store 1 ,mem_mouse_dpi_blink_count 
+05dd 6000c714 store 1 ,mem_mouse_blink_count 
+05de 6000cb5c store 1 ,mem_mouse_discovery_blink_count 
+05df 704b4705 jam 5 ,mem_mouse_bt_ble_led_timer 
+05e0 204003e5 call p_mouse_bt_led_off 
+05e1 2040032e call p_mouse_sensor_poweron 
+05e2 202042cb branch mouse_stop_discovery + 1 
 
 p_le_slave_match:
-03ea 6800c50f fetch 1 ,mem_le_md_count 
-03eb 1fe0fe01 pincrease 1 
-03ec 6000c50f store 1 ,mem_le_md_count 
-03ed c0065395 beq le_md_max_count ,le_slave_cont 
-03ee 204055aa call le_acknowledge 
-03ef 2040561e call le_prepare_tx 
-03f0 20400569 call power_ctrl_start 
-03f1 2020538f branch le_slave_match + 7 
+05e3 6800c50f fetch 1 ,mem_le_md_count 
+05e4 1fe0fe01 pincrease 1 
+05e5 6000c50f store 1 ,mem_le_md_count 
+05e6 c0065395 beq le_md_max_count ,le_slave_cont 
+05e7 204055aa call le_acknowledge 
+05e8 2040561e call le_prepare_tx 
+05e9 20400756 call power_ctrl_start 
+05ea 2020538f branch le_slave_match + 7 
 
 p_le_next_adv_channel:
-03f2 68008016 fetch 1 ,mem_le_ch_mapped 
-03f3 1fe0fe01 increase 1 ,pdata 
-03f4 60008016 store 1 ,mem_le_ch_mapped 
-03f5 c1940000 rtnne 40 
-03f6 70001625 jam 37 ,mem_le_ch_mapped 
-03f7 20600000 rtn 
+05eb 68008016 fetch 1 ,mem_le_ch_mapped 
+05ec 1fe0fe01 increase 1 ,pdata 
+05ed 60008016 store 1 ,mem_le_ch_mapped 
+05ee c1940000 rtnne 40 
+05ef 70001625 jam 37 ,mem_le_ch_mapped 
+05f0 20600000 rtn 
 
 p_le_receive_skip:
-03f8 204029bb call save_rssi 
-03f9 2040006c call p_rssi_signal 
-03fa 202054a3 branch le_receive_skip + 2 
+05f1 204029bb call save_rssi 
+05f2 2040006b call p_rssi_signal 
+05f3 202054a3 branch le_receive_skip + 2 
 
 p_le_update_param:
-03fb 7011c620 jam zcode_20 ,mem_zcode_temp_param0 
-03fc 202005c7 branch p_zcode_entrance 
+05f4 7011c540 jam zcode_40 ,mem_zcode_temp_param0 
+05f5 202007b3 branch p_zcode_entrance 
 
 p_le_update_channel_map:
-03fd 7011c621 jam zcode_21 ,mem_zcode_temp_param0 
-03fe 202005c7 branch p_zcode_entrance 
+05f6 7011c541 jam zcode_41 ,mem_zcode_temp_param0 
+05f7 202007b3 branch p_zcode_entrance 
 
 p_le_prepare_tx:
-03ff 68008456 fetch 1 ,mem_le_arq 
-0400 c282841f bbit1 wak ,p_le_prepare_tx_wak 
-0401 20400563 call power_ctrl_pac_succ_incrs 
-0402 6800c78e fetch 1 ,mem_empty_count 
-0403 243a0409 nbranch p_le_send_empyt ,blank 
-0404 6800843f fetch 1 ,mem_le_state 
-0405 c302040d bbit0 lestate_encryption ,p_le_tx_4 
-0406 680082da fetch 1 ,mem_le_rxbuf + 1 
-0407 203a040d branch p_le_tx_4 ,blank 
-0408 20205664 branch le_send_empty 
+05f8 68008456 fetch 1 ,mem_le_arq 
+05f9 c282860c bbit1 wak ,p_le_prepare_tx_wak 
+05fa 20400748 call power_ctrl_pac_succ_incrs 
+05fb 6800c78e fetch 1 ,mem_empty_count 
+05fc 243a0602 nbranch p_le_send_empyt ,blank 
+05fd 6800843f fetch 1 ,mem_le_state 
+05fe c3020606 bbit0 lestate_encryption ,p_le_tx_4 
+05ff 680082da fetch 1 ,mem_le_rxbuf + 1 
+0600 203a0606 branch p_le_tx_4 ,blank 
+0601 20205664 branch le_send_empty 
 
 p_le_send_empyt:
-0409 6800c78e fetch 1 ,mem_empty_count 
-040a 1fe0ffff increase -1 ,pdata 
-040b 6000c78e store 1 ,mem_empty_count 
-040c 20205664 branch le_send_empty 
+0602 6800c78e fetch 1 ,mem_empty_count 
+0603 1fe0ffff increase -1 ,pdata 
+0604 6000c78e store 1 ,mem_empty_count 
+0605 20205664 branch le_send_empty 
 
 p_le_tx_4:
-040d 6800c4c4 fetch 1 ,mem_le_pairing_state 
-040e c0828410 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-040f 70478e03 jam 3 ,mem_empty_count 
+0606 6800c4c4 fetch 1 ,mem_le_pairing_state 
+0607 c0828609 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0608 70478e03 jam 3 ,mem_empty_count 
 
 p_in_le_tx_4:
-0410 20405892 call le_fifo_check_nearly_full 
-0411 205a01a6 call p_mouse_data_pull ,blank 
-0412 20205622 branch le_prepare_tx + 4 
-
-p_le_check_tx_retransmit_setmd:
-0413 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0414 1fe17e03 and pdata ,0x03 ,pdata 
-0415 c1818000 rtnne 0x03 
-0416 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-0417 207a0000 rtn blank 
-0418 6800c3dd fetch 1 ,mem_le_txlen 
-0419 207a0000 rtn blank 
-041a 6800c3dc fetch 1 ,mem_le_txheader 
-041b 79207e04 set1 md ,pdata 
-041c 6000c3dc store 1 ,mem_le_txheader 
-041d 20405650 call le_set_md 
-041e 20600000 rtn 
+0609 20405892 call le_fifo_check_nearly_full 
+060a 205a0422 call p_mouse_data_pull ,blank 
+060b 20205622 branch le_prepare_tx + 4 
 
 p_le_prepare_tx_wak:
-041f 20400413 call p_le_check_tx_retransmit_setmd 
+060c 2040060e call p_le_check_tx_retransmit_setmd 
+060d 2020061a branch p_le_power_ctrl_pac_succ_decrs 
 
-p_le_power_ctrl_pac_succ_decrs:
+p_le_check_tx_retransmit_setmd:
+060e 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+060f 1fe17e03 and pdata ,0x03 ,pdata 
+0610 c1818000 rtnne 0x03 
+0611 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0612 207a0000 rtn blank 
+0613 6800c3dd fetch 1 ,mem_le_txlen 
+0614 207a0000 rtn blank 
+0615 6800c3dc fetch 1 ,mem_le_txheader 
+0616 79207e04 set1 md ,pdata 
+0617 6000c3dc store 1 ,mem_le_txheader 
+0618 20405650 call le_set_md 
+0619 20600000 rtn 
 
-power_ctrl_pac_succ_decrs:
-0420 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0421 1fe67c02 sub pdata ,2 ,null 
-0422 24410567 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-0423 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0424 c1000000 rtneq 0 
-0425 1fe0ffff increase -1 ,pdata 
-0426 6000cd76 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0427 20600000 rtn 
+p_le_power_ctrl_pac_succ_decrs:
+061a 2020074c branch power_ctrl_pac_succ_decrs 
 
 p_mouse_le_reconn_write_enable_timer_reinit:
-0428 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-0429 207a0000 rtn blank 
-042a 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-042b 1fe17e03 and pdata ,0x03 ,pdata 
-042c c1018000 rtneq 0x03 
-042d 7046c602 jam 2 ,mem_le_start_encrypt_timer 
-042e 20600000 rtn 
+061b 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+061c 207a0000 rtn blank 
+061d 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+061e 1fe17e03 and pdata ,0x03 ,pdata 
+061f c1018000 rtneq 0x03 
+0620 7046c601 jam 1 ,mem_le_start_encrypt_timer 
+0621 20600000 rtn 
 
 p_le_parse:
-042f c6078000 rtnmark1 mark_old_packet 
-0430 20405890 call le_fifo_check_full 
-0431 247a0000 nrtn blank 
-0432 680082d9 fetch 1 ,mem_le_rxbuf 
-0433 1fe17e03 and pdata ,0x3 ,pdata 
-0434 6000c50c store 1 ,mem_le_packet_llid 
-0435 e8c08000 ifetch 1 ,contr 
-0436 1fe17e1f and pdata ,0x1f ,pdata 
-0437 6000c50b store 1 ,mem_le_packet_size 
-0438 207a0000 rtn blank 
-0439 18c27e00 copy contr ,pdata 
-043a 6001450d store 2 ,mem_le_payload_ptr 
-043b 6800c50c fetch 1 ,mem_le_packet_llid 
-043c c001843e beq llid_le_ll ,p_le_parse_ll 
-043d 2020568d branch le_parse_l2cap 
+0622 c6078000 rtnmark1 mark_old_packet 
+0623 20405890 call le_fifo_check_full 
+0624 247a0000 nrtn blank 
+0625 680082d9 fetch 1 ,mem_le_rxbuf 
+0626 1fe17e03 and pdata ,0x3 ,pdata 
+0627 6000c50c store 1 ,mem_le_packet_llid 
+0628 e8c08000 ifetch 1 ,contr 
+0629 1fe17e1f and pdata ,0x1f ,pdata 
+062a 6000c50b store 1 ,mem_le_packet_size 
+062b 207a0000 rtn blank 
+062c 18c27e00 copy contr ,pdata 
+062d 6001450d store 2 ,mem_le_payload_ptr 
+062e 6800c50c fetch 1 ,mem_le_packet_llid 
+062f c0018631 beq llid_le_ll ,p_le_parse_ll 
+0630 2020568d branch le_parse_l2cap 
 
 p_le_parse_ll:
-043e 680082db fetch 1 ,mem_le_rxbuf + 2 
-043f c0000442 beq ll_connection_update_req ,p_le_parse_connection_update_req 
-0440 c0008449 beq ll_channel_map_req ,p_le_parse_channel_map_req 
-0441 20205c65 branch le_parse_ll + 1 
-
-p_le_parse_connection_update_req:
-0442 20405c7b call le_parse_connection_update_req 
-0443 6800cb63 fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
-0444 207a0000 rtn blank 
-
-p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:
-0445 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-0446 6000c172 store 1 ,mem_lpm_mult 
-0447 6000c7c5 store 1 ,mem_lpm_mult_init 
-0448 20600000 rtn 
+0631 680082db fetch 1 ,mem_le_rxbuf + 2 
+0632 c0008634 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0633 20205c65 branch le_parse_ll + 1 
 
 p_le_parse_channel_map_req:
-0449 e8c28000 ifetch 5 ,contr 
-044a 6002c3ce store 5 ,mem_le_new_map 
-044b e8c10000 ifetch 2 ,contr 
-044c 6001045f store 2 ,mem_le_instant 
-044d 20205c8a branch le_parse_channel_map_req + 7 
+0634 e8c28000 ifetch 5 ,contr 
+0635 6002c3ce store 5 ,mem_le_new_map 
+0636 e8c10000 ifetch 2 ,contr 
+0637 6001045f store 2 ,mem_le_instant 
+0638 20205c8a branch le_parse_channel_map_req + 7 
 
 p_le_parse_l2cap:
-044e e8c10000 ifetch 2 ,contr 
-044f c0020452 beq le_l2cap_cid_att ,p_le_parse_att 
-0450 c003047e beq le_l2cap_cid_smp ,p_le_parse_smp 
-0451 20205698 branch le_parse_l2cap + 11 
+0639 e8c10000 ifetch 2 ,contr 
+063a c002063d beq le_l2cap_cid_att ,p_le_parse_att 
+063b c003066a beq le_l2cap_cid_smp ,p_le_parse_smp 
+063c 20205698 branch le_parse_l2cap + 11 
 
 p_le_parse_att:
-0452 20407ea5 call store_contr 
-0453 20400428 call p_mouse_le_reconn_write_enable_timer_reinit 
-0454 20407e9f call get_contr 
-0455 e8c18000 ifetch 3 ,contr 
-0456 60018477 store 3 ,mem_le_att_opcode 
-0457 c0080461 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-0458 1fec8400 rshift8 pdata ,temp 
-0459 18467c24 sub temp ,0x24 ,null 
-045a 2021046f branch p_le_parse_att1 ,positive 
-045b d84047c6 arg mem_mouse_le_uuid_sup ,temp 
-045c 600944bc storet 2 ,mem_ui_le_uuid_table 
-045d 204058ad call le_parse_att + 2 
-045e 58008e7a setarg 0x8e7a 
-045f 600144bc store 2 ,mem_ui_le_uuid_table 
-0460 20600000 rtn 
+063d 20407ea5 call store_contr 
+063e 2040061b call p_mouse_le_reconn_write_enable_timer_reinit 
+063f 20407e9f call get_contr 
+0640 e8c18000 ifetch 3 ,contr 
+0641 60018477 store 3 ,mem_le_att_opcode 
+0642 c008064c beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0643 1fec8400 rshift8 pdata ,temp 
+0644 18467c24 sub temp ,0x24 ,null 
+0645 2021065a branch p_le_parse_att1 ,positive 
+0646 d84047c6 arg mem_mouse_le_uuid_sup ,temp 
+0647 600944bc storet 2 ,mem_ui_le_uuid_table 
+0648 204058ad call le_parse_att + 2 
+0649 58008e7a setarg 0x8e7a 
+064a 600144bc store 2 ,mem_ui_le_uuid_table 
+064b 20600000 rtn 
 
 p_le_parse_att_read_by_group_type_request:
-0461 204059fa call le_parse_att_read_by_group_type_request 
-0462 20405879 call le_fifo_get_last_tx_ptr 
-0463 18c08c07 increase 7 ,contr 
-0464 e8c08000 ifetch 1 ,contr 
-0465 c1888000 rtnne attop_read_by_group_type_response 
-0466 18c08c05 increase 5 ,contr 
-0467 e8c10000 ifetch 2 ,contr 
-0468 d8401812 arg uuid_service_hids ,temp 
-0469 98467c00 isub temp ,null 
-046a 24628000 nrtn zero 
-046b 18c08dfc increase -4 ,contr 
-046c 5800002b setarg 0x2b 
-046d e0c10000 istore 2 ,contr 
-046e 20600000 rtn 
+064c 204059fa call le_parse_att_read_by_group_type_request 
+064d 20405879 call le_fifo_get_last_tx_ptr 
+064e 18c08c07 increase 7 ,contr 
+064f e8c08000 ifetch 1 ,contr 
+0650 c1888000 rtnne attop_read_by_group_type_response 
+0651 18c08c05 increase 5 ,contr 
+0652 e8c10000 ifetch 2 ,contr 
+0653 d8401812 arg uuid_service_hids ,temp 
+0654 98467c00 isub temp ,null 
+0655 24628000 nrtn zero 
+0656 18c08dfc increase -4 ,contr 
+0657 5800002b setarg 0x2b 
+0658 e0c10000 istore 2 ,contr 
+0659 20600000 rtn 
 
 p_le_parse_att1:
-046f c0050471 beq attop_read_request ,p_le_parse_att_read_request 
-0470 202058ad branch le_parse_att + 2 
+065a c005065c beq attop_read_request ,p_le_parse_att_read_request 
+065b 202058ad branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-0471 68090478 fetcht 2 ,mem_le_att_handle 
-0472 6800c4e9 fetch 1 ,mem_le_configuration 
-0473 c2818478 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+065c 68090478 fetcht 2 ,mem_le_att_handle 
+065d 6800c4e9 fetch 1 ,mem_le_configuration 
+065e c2818663 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0474 68010478 fetch 2 ,mem_le_att_handle 
-0475 c009da76 beq 0x13 ,le_send_att_error_response_notfound 
-0476 68090478 fetcht 2 ,mem_le_att_handle 
-0477 202059bf branch le_send_att_read_response 
+065f 68010478 fetch 2 ,mem_le_att_handle 
+0660 c009da76 beq 0x13 ,le_send_att_error_response_notfound 
+0661 68090478 fetcht 2 ,mem_le_att_handle 
+0662 202059bf branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0478 680144fa fetch 2 ,mem_le_pairing_handle 
-0479 98467c00 isub temp ,null 
-047a 24228474 nbranch p_le_send_att_read_response ,zero 
-047b 20405a42 call le_check_encrypt_state 
-047c 24340474 nbranch p_le_send_att_read_response ,user 
-047d 202059e2 branch le_send_att_read_response_check_auth + 5 
+0663 680144fa fetch 2 ,mem_le_pairing_handle 
+0664 98467c00 isub temp ,null 
+0665 2422865f nbranch p_le_send_att_read_response ,zero 
+0666 20405a42 call le_check_encrypt_state 
+0667 2434065f nbranch p_le_send_att_read_response ,user 
+0668 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+0669 20205a77 branch le_send_att_error_response 
 
 p_le_parse_smp:
-047e e8c08000 ifetch 1 ,contr 
-047f c0008482 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
-0480 c0028484 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-0481 20205af5 branch le_parse_smp + 1 
-
-p_le_parse_smp_pairing_request:
-0482 704b7001 jam 1 ,mem_le_send_security_request_flag 
-0483 20205b09 branch le_parse_smp_pairing_request 
+066a e8c08000 ifetch 1 ,contr 
+066b c002866d beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+066c 20205af5 branch le_parse_smp + 1 
 
 p_le_parse_smp_pairing_failed:
-0484 7011c682 jam zcode_82 ,mem_zcode_temp_param0 
-0485 202005c7 branch p_zcode_entrance 
+066d 7011c582 jam zcode_82 ,mem_zcode_temp_param0 
+066e 202007b3 branch p_zcode_entrance 
 
 p_le_adv_not_match:
-0486 68008016 fetch 1 ,mem_le_ch_mapped 
-0487 c093d6f2 bne 39 ,le_adv_loop 
-0488 2040048c call p_le_adv_random_delay 
-0489 d8e00000 arg le_adv_interval_timer ,queue 
-048a 68014482 fetch 2 ,mem_le_adv_interval 
-048b 20207f08 branch timer_init 
+066f 68008016 fetch 1 ,mem_le_ch_mapped 
+0670 c093d6f2 bne 39 ,le_adv_loop 
+0671 20400675 call p_le_adv_random_delay 
+0672 d8e00000 arg le_adv_interval_timer ,queue 
+0673 68014482 fetch 2 ,mem_le_adv_interval 
+0674 20207f08 branch timer_init 
 
 p_le_adv_random_delay:
-048c 180a7e00 random pdata 
-048d d84001ff arg 0x1ff ,temp 
-048e 98417e00 iand temp ,pdata 
-048f 1fe0fefa add pdata ,250 ,pdata 
-0490 20203cbe branch delay 
+0675 180a7e00 random pdata 
+0676 d84001ff arg 0x1ff ,temp 
+0677 98417e00 iand temp ,pdata 
+0678 1fe0fefa add pdata ,250 ,pdata 
+0679 20203cbe branch delay 
 
 p_le_lpm_setmult:
-0491 7855fc00 disable wake 
-0492 20370494 branch p_le_lpm_set_mult_attempt ,attempt 
-0493 2436d806 nbranch le_lpm_lost ,match 
+067a 7855fc00 disable wake 
+067b 2037067d branch p_le_lpm_set_mult_attempt ,attempt 
+067c 2436d806 nbranch le_lpm_lost ,match 
 
 p_le_lpm_set_mult_attempt:
-0494 20402bcb call lpm_match 
-0495 680140c1 fetch 2 ,mem_rx_window_sniff 
-0496 6001044d store 2 ,mem_le_receive_window 
-0497 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0498 2fe00603 compare 3 ,pdata ,3 
-0499 2420abde nbranch lpm_mult_short ,true 
-049a 202057fb branch le_lpm_set_mult_attempt + 3 
+067d 20402bcb call lpm_match 
+067e 680140c1 fetch 2 ,mem_rx_window_sniff 
+067f 6001044d store 2 ,mem_le_receive_window 
+0680 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0681 2fe00603 compare 3 ,pdata ,3 
+0682 2420abde nbranch lpm_mult_short ,true 
+0683 202057fb branch le_lpm_set_mult_attempt + 3 
 
 p_le_mouse_bb_event_connect_complete:
-049b 7011c622 jam zcode_22 ,mem_zcode_temp_param0 
-049c 202005c7 branch p_zcode_entrance 
+0684 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+0685 247a0000 nrtn blank 
+0686 68008478 fetch 1 ,mem_le_att_handle 
+0687 1fe67e1a sub pdata ,26 ,pdata 
+0688 24628000 nrtn zero 
+0689 20203d60 branch mouse_le_write_enable 
 
 p_twspi_reset:
-049d 68108077 hfetch 1 ,core_gpio_out3 
-049e 1fe17efd and_into 0xfd ,pdata 
-049f 60108077 hstore 1 ,core_gpio_out3 
-04a0 68188073 hfetcht 1 ,core_gpio_oe3 
-04a1 18418402 or_into 0x2 ,temp 
-04a2 60188073 hstoret 1 ,core_gpio_oe3 
-04a3 204063ee call twspi_disable 
-04a4 184104fd and_into 0xfd ,temp 
-04a5 2000000d nop 13 
-04a6 204004aa call p_twspi_enable 
-04a7 60188073 hstoret 1 ,core_gpio_oe3 
-04a8 20600000 rtn 
+068a 68108077 hfetch 1 ,core_gpio_out3 
+068b 1fe17efd and_into 0xfd ,pdata 
+068c 60108077 hstore 1 ,core_gpio_out3 
+068d 68188073 hfetcht 1 ,core_gpio_oe3 
+068e 18418402 or_into 0x2 ,temp 
+068f 60188073 hstoret 1 ,core_gpio_oe3 
+0690 204063ee call twspi_disable 
+0691 184104fd and_into 0xfd ,temp 
+0692 2000000d nop 13 
+0693 20400697 call p_twspi_enable 
+0694 60188073 hstoret 1 ,core_gpio_oe3 
+0695 20600000 rtn 
 
 p_spid_init:
-04a9 204064dd call spid_init_common 
+0696 204064dd call spid_init_common 
 
 p_twspi_enable:
-04aa 68108081 hfetch 1 ,core_gpio_sel1 
-04ab 79207e00 set1 0 ,pdata 
-04ac 793ffe01 set0 1 ,pdata 
-04ad 793ffe03 set0 3 ,pdata 
-04ae 60108081 hstore 1 ,core_gpio_sel1 
-04af 20600000 rtn 
+0697 68108081 hfetch 1 ,core_gpio_sel1 
+0698 79207e00 set1 0 ,pdata 
+0699 793ffe01 set0 1 ,pdata 
+069a 793ffe03 set0 3 ,pdata 
+069b 60108081 hstore 1 ,core_gpio_sel1 
+069c 20600000 rtn 
 
 p_page_wait_fhs_reply_ok:
-04b0 7011c600 jam zcode_00 ,mem_zcode_temp_param0 
-04b1 202005c7 branch p_zcode_entrance 
+069d 7011c500 jam zcode_00 ,mem_zcode_temp_param0 
+069e 202007b3 branch p_zcode_entrance 
 
 p_role_switch_master:
-04b2 204021c9 call role_switch_check 
-04b3 24740000 nrtn user 
+069f 204021c9 call role_switch_check 
+06a0 24740000 nrtn user 
 
 p_wait_role_switch_anchor:
-04b4 78547c00 disable user 
-04b5 70001120 jam param_newconnto ,mem_newconnto_counter 
-04b6 793f800b set0 mark_fhs_already_good ,mark 
-04b7 793f802d set0 mark_role_switch_receive_fhs ,mark 
+06a1 78547c00 disable user 
+06a2 70001120 jam param_newconnto ,mem_newconnto_counter 
+06a3 793f800b set0 mark_fhs_already_good ,mark 
+06a4 793f802d set0 mark_role_switch_receive_fhs ,mark 
 
 p_roles_waitfhs_loop:
-04b8 20402a4f call rf_setup_time_master_slot 
-04b9 204022e6 call master_recv_packet 
-04ba c50584bf bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
-04bb 20402455 call new_conn_timeout 
-04bc 243a04b8 nbranch p_roles_waitfhs_loop ,blank 
-04bd c51684c8 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
-04be 202021ec branch role_switch_fail_master 
+06a5 20402a4f call rf_setup_time_master_slot 
+06a6 204022e6 call master_recv_packet 
+06a7 c50586ac bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+06a8 20402455 call new_conn_timeout 
+06a9 243a06a5 nbranch p_roles_waitfhs_loop ,blank 
+06aa c51686b4 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
+06ab 202021ec branch role_switch_fail_master 
 
 p_roles_replyto_fhs:
-04bf 20402a4d call rf_setup_time_slave_slot 
-04c0 d8200010 arg type_id ,type 
-04c1 204022dc call master_send_packet 
-04c2 7920002d set1 mark_role_switch_receive_fhs ,mark 
-04c3 793f800b set0 mark_fhs_already_good ,mark 
-04c4 68008077 fetch 1 ,mem_amaddr 
-04c5 98000800 iforce am_addr 
-04c6 70001102 jam 2 ,mem_newconnto_counter 
-04c7 202004b8 branch p_roles_waitfhs_loop 
+06ac 20402a4d call rf_setup_time_slave_slot 
+06ad d8200010 arg type_id ,type 
+06ae 204022dc call master_send_packet 
+06af 7920002d set1 mark_role_switch_receive_fhs ,mark 
+06b0 793f800b set0 mark_fhs_already_good ,mark 
+06b1 18000801 force 1 ,am_addr 
+06b2 70001102 jam 2 ,mem_newconnto_counter 
+06b3 202006a5 branch p_roles_waitfhs_loop 
 
 p_roles_replyto_fhs1:
-04c8 68020165 fetch 4 ,mem_clke_bt 
-04c9 1fe0fe08 pincrease 8 
-04ca 60020165 store 4 ,mem_clke_bt 
-04cb 202021f8 branch roles_replyto_fhs + 4 
+06b4 68020165 fetch 4 ,mem_clke_bt 
+06b5 1fe0fe08 pincrease 8 
+06b6 60020165 store 4 ,mem_clke_bt 
+06b7 202021f8 branch roles_replyto_fhs + 4 
 
 p_process_dmh:
-04cc c516264d bmark1 mark_first_packet ,end_of_packet 
-04cd 2020258f branch process_dmh + 1 
+06b8 c516264d bmark1 mark_first_packet ,end_of_packet 
+06b9 2020258f branch process_dmh + 1 
 
 p_quit_connection_cont:
-04ce 7011c623 jam zcode_23 ,mem_zcode_temp_param0 
-04cf 202005c7 branch p_zcode_entrance 
+06ba 204033af call app_disconn_reason_collect_bt 
+06bb 204026e9 call sniff_exit 
+06bc 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+06bd 20407d86 call ui_ipc_send_event 
+06be 20405cf7 call init_lmp_work 
+06bf 20404d6b call l2cap_init_work 
+06c0 2020246e branch quit_connection_cont + 8 
 
 p_prepare_tx:
-04d0 68008030 fetch 1 ,mem_state 
-04d1 2feffe00 isolate1 state_inconn ,pdata 
-04d2 204084d4 call p_bt_power_ctrl ,true 
-04d3 2020248a branch prepare_tx + 1 
+06c1 68008030 fetch 1 ,mem_state 
+06c2 2feffe00 isolate1 state_inconn ,pdata 
+06c3 204086c5 call p_bt_power_ctrl ,true 
+06c4 2020248a branch prepare_tx + 1 
 
 p_bt_power_ctrl:
-04d4 68008047 fetch 1 ,mem_arq 
-04d5 2feffe03 isolate1 wack ,pdata 
-04d6 20408420 call power_ctrl_pac_succ_decrs ,true 
-04d7 24408563 ncall power_ctrl_pac_succ_incrs ,true 
-04d8 20200569 branch power_ctrl_start 
+06c5 68008047 fetch 1 ,mem_arq 
+06c6 2feffe03 isolate1 wack ,pdata 
+06c7 2040874c call power_ctrl_pac_succ_decrs ,true 
+06c8 24408748 ncall power_ctrl_pac_succ_incrs ,true 
+06c9 20200756 branch power_ctrl_start 
 
 p_slave_conn_recv_packet:
-04d9 204024f0 call slave_receive_master_slot 
-04da 242c28f9 nbranch shutdown_radio ,sync 
-04db 204029bb call save_rssi 
-04dc 2040006c call p_rssi_signal 
-04dd 20202518 branch slave_conn_recv_packet + 4 
+06ca 204024f0 call slave_receive_master_slot 
+06cb 242c28f9 nbranch shutdown_radio ,sync 
+06cc 204029bb call save_rssi 
+06cd 2040006b call p_rssi_signal 
+06ce 20202518 branch slave_conn_recv_packet + 4 
 
 p_lpm_dispatch:
-04de c6130000 rtnmark1 mark_24g 
-04df 20402afa call lpo_calibration 
-04e0 6801c16f fetch 3 ,mem_clks_per_lpo 
-04e1 207a0000 rtn blank 
-04e2 6800c091 fetch 1 ,mem_lpm_mode 
-04e3 207a0000 rtn blank 
-04e4 6800c65a fetch 1 ,mem_ssp_enable 
-04e5 203a04e8 branch p_lpm_dispatch_next ,blank 
-04e6 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-04e7 207a0000 rtn blank 
+06cf c6130000 rtnmark1 mark_24g 
+06d0 20402afa call lpo_calibration 
+06d1 6801c16f fetch 3 ,mem_clks_per_lpo 
+06d2 207a0000 rtn blank 
+06d3 6800c091 fetch 1 ,mem_lpm_mode 
+06d4 207a0000 rtn blank 
+06d5 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+06d6 1fe67c0a sub pdata ,10 ,null 
+06d7 20610000 rtn positive 
+06d8 6800c65a fetch 1 ,mem_ssp_enable 
+06d9 203a06dc branch p_lpm_dispatch_next ,blank 
+06da 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+06db 207a0000 rtn blank 
 
 p_lpm_dispatch_next:
-04e8 6800c4c0 fetch 1 ,mem_le_sc_calc 
-04e9 247a0000 nrtn blank 
-04ea 20402c3a call lpm_check_wake_lock 
-04eb 247a0000 nrtn blank 
-04ec 6800c040 fetch 1 ,mem_context 
-04ed 2fe00e03 compare 3 ,pdata ,0x7 
-04ee 2420ab9d nbranch lpm_dispatch_unconn ,true 
-04ef 68014042 fetch 2 ,mem_context + coffset_tsniff 
-04f0 d840ffff arg 0xffff ,temp 
-04f1 98467c00 isub temp ,null 
-04f2 20628000 rtn zero 
-04f3 20202b7d branch lpm_dispatch_next + 9 
+06dc 6800c4c0 fetch 1 ,mem_le_sc_calc 
+06dd 247a0000 nrtn blank 
+06de 20402c3a call lpm_check_wake_lock 
+06df 247a0000 nrtn blank 
+06e0 6800c040 fetch 1 ,mem_context 
+06e1 2fe00e03 compare 3 ,pdata ,0x7 
+06e2 2420ab9d nbranch lpm_dispatch_unconn ,true 
+06e3 68014042 fetch 2 ,mem_context + coffset_tsniff 
+06e4 d840ffff arg 0xffff ,temp 
+06e5 98467c00 isub temp ,null 
+06e6 20628000 rtn zero 
+06e7 20202b7d branch lpm_dispatch_next + 9 
 
 p_lpm_set_mult:
-04f4 7855fc00 disable wake 
-04f5 68008030 fetch 1 ,mem_state 
-04f6 c4008000 rtnbit0 state_insniff 
-04f7 2436abd0 nbranch lpm_not_match ,match 
-04f8 20402bcb call lpm_match 
-04f9 680140c1 fetch 2 ,mem_rx_window_sniff 
-04fa 6001003e store 2 ,mem_rx_window 
-04fb 68008047 fetch 1 ,mem_arq 
-04fc c281abde bbit1 wack ,lpm_mult_short 
-04fd c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
-04fe 20405274 call l2cap_malloc_is_fifo_empty 
-04ff 243a2bde nbranch lpm_mult_short ,blank 
-0500 205a0502 call p_lpm_set_attemp_timeout ,blank 
-0501 20202bbe branch lpm_set_mult + 13 
+06e8 7855fc00 disable wake 
+06e9 68008030 fetch 1 ,mem_state 
+06ea c4008000 rtnbit0 state_insniff 
+06eb 2436abd0 nbranch lpm_not_match ,match 
+06ec 20402bcb call lpm_match 
+06ed 680140c1 fetch 2 ,mem_rx_window_sniff 
+06ee 6001003e store 2 ,mem_rx_window 
+06ef 68008047 fetch 1 ,mem_arq 
+06f0 c281abde bbit1 wack ,lpm_mult_short 
+06f1 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+06f2 20405274 call l2cap_malloc_is_fifo_empty 
+06f3 243a2bde nbranch lpm_mult_short ,blank 
+06f4 205a06f6 call p_lpm_set_attemp_timeout ,blank 
+06f5 20202bbe branch lpm_set_mult + 13 
 
 p_lpm_set_attemp_timeout:
-0502 70008a01 jam 1 ,mem_current_sniff_attempt 
-0503 70008b00 jam 0 ,mem_current_sniff_timeout 
-0504 20600000 rtn 
+06f6 70008a01 jam 1 ,mem_current_sniff_attempt 
+06f7 70008b00 jam 0 ,mem_current_sniff_timeout 
+06f8 20600000 rtn 
 
 p_mouse_bb_disconnected:
-0505 7011c601 jam zcode_01 ,mem_zcode_temp_param0 
-0506 202005c7 branch p_zcode_entrance 
+06f9 7011c510 jam zcode_10 ,mem_zcode_temp_param0 
+06fa 202007b3 branch p_zcode_entrance 
 
 p_hid_rx_process:
-0507 7011c602 jam zcode_02 ,mem_zcode_temp_param0 
-0508 202005c7 branch p_zcode_entrance 
+06fb 7011c511 jam zcode_11 ,mem_zcode_temp_param0 
+06fc 202007b3 branch p_zcode_entrance 
 
 p_parse_lmp_accepted:
-0509 68008552 fetch 1 ,mem_rxbuf + 1 
-050a 600084c9 store 1 ,mem_lmi_accepted_opcode 
-050b c009850d beq lmp_switch_req ,p_parse_lmp_accepted_switch 
-050c 20205db4 branch parse_lmp_accepted + 3 
+06fd 68008552 fetch 1 ,mem_rxbuf + 1 
+06fe 600084c9 store 1 ,mem_lmi_accepted_opcode 
+06ff c0098701 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+0700 20205db4 branch parse_lmp_accepted + 3 
 
 p_parse_lmp_accepted_switch:
-050d 20405dcf call parse_lmp_accepted_switch 
-050e 704b0101 jam 1 ,mem_bt_rcvd_switch_req_accept 
-050f 6800cb03 fetch 1 ,mem_bt_send_lmp_setup_complete 
-0510 207a0000 rtn blank 
-0511 704b0302 jam 2 ,mem_bt_send_lmp_setup_complete 
-0512 20600000 rtn 
+0701 20405dcf call parse_lmp_accepted_switch 
+0702 704aff01 jam 1 ,mem_bt_rcvd_switch_req_accept 
+0703 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0704 207a0000 rtn blank 
+0705 704b0102 jam 2 ,mem_bt_send_lmp_setup_complete 
+0706 20600000 rtn 
 
 p_send_lmp:
-0513 78547c00 disable user 
-0514 204062c1 call lmo_fifo_process 
-0515 68008048 fetch 1 ,mem_lmp_to_send 
-0516 207a0000 rtn blank 
-0517 c283851c bbit1 7 ,p_send_lmp_escape 
-0518 c001851e beq lmp_accepted ,p_send_lmp_accepted 
-0519 c0188520 beq lmp_setup_complete ,p_send_lmp_setup_complete 
-051a c00b8522 beq lmp_sniff_req ,p_send_lmp_sniff_req 
-051b 20206010 branch send_lmp0 
-
-p_send_lmp_escape:
-051c 7011c610 jam zcode_10 ,mem_zcode_temp_param0 
-051d 202005c7 branch p_zcode_entrance 
-
-p_send_lmp_accepted:
-051e 7011c611 jam zcode_11 ,mem_zcode_temp_param0 
-051f 202005c7 branch p_zcode_entrance 
-
-p_send_lmp_setup_complete:
-0520 704b0301 jam 1 ,mem_bt_send_lmp_setup_complete 
-0521 202061c3 branch send_lmp_setup_complete 
-
-p_send_lmp_sniff_req:
-0522 704b0b04 jam 4 ,mem_mouse_bt_send_first_package_timer 
-0523 202061a4 branch send_lmp_sniff_req 
+0707 7011c520 jam zcode_20 ,mem_zcode_temp_param0 
+0708 202007b3 branch p_zcode_entrance 
 
 p_process_conn_sm:
-0524 204062bc call lmo_fifo_check 
-0525 247a0000 nrtn blank 
+0709 204062bc call lmo_fifo_check 
+070a 247a0000 nrtn blank 
 
 p_process_conn_sm_continue:
-0526 68008055 fetch 1 ,mem_conn_sm 
-0527 207a0000 rtn blank 
-0528 c0020546 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
-0529 c008052b beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
-052a 20206320 branch process_conn_sm_continue + 2 
+070b 68008055 fetch 1 ,mem_conn_sm 
+070c 207a0000 rtn blank 
+070d c002072b beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+070e c0080710 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
+070f 20206320 branch process_conn_sm_continue + 2 
 
 p_host_creat_conn_wait_switch:
-052b 6800c55b fetch 1 ,mem_switch_flag 
-052c c1000000 rtneq switch_flag_init 
-052d c000852f beq switch_flag_accept ,p_host_create_conn_switch_accept 
-052e 2020635f branch host_creat_conn_wait_switch + 3 
+0710 6800c55b fetch 1 ,mem_switch_flag 
+0711 c1000000 rtneq switch_flag_init 
+0712 c0008714 beq switch_flag_accept ,p_host_create_conn_switch_accept 
+0713 2020635f branch host_creat_conn_wait_switch + 3 
 
 p_host_create_conn_switch_accept:
-052f 20748000 rtn master 
+0714 20748000 rtn master 
 
 p_host_create_conn_auth_pair:
-0530 6800816d fetch 1 ,mem_connection_options 
-0531 c2800533 bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
-0532 20206399 branch host_create_conn_auth_pair + 1 
+0715 6800816d fetch 1 ,mem_connection_options 
+0716 c2800718 bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
+0717 20206399 branch host_create_conn_auth_pair + 1 
 
 p_host_create_conn_auth_pair_true:
-0533 6800cb03 fetch 1 ,mem_bt_send_lmp_setup_complete 
-0534 c000e39d beq 1 ,host_create_conn_auth_pair_true 
-0535 6800c1bd fetch 1 ,mem_link_key_exists 
-0536 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
-0537 680084d1 fetch 1 ,mem_lmp_conn_state 
-0538 c4018000 rtnbit0 sent_setup_complete 
-0539 c4010000 rtnbit0 received_setup_complete 
-053a 6800cb02 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-053b 207a0000 rtn blank 
-053c 704b0200 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
-053d 680204e9 fetch 4 ,mem_aurand_send_delay_time 
-053e d8400014 arg 20 ,temp 
-053f 98408400 iadd temp ,temp 
-0540 1c427e00 copy clkn_bt ,pdata 
-0541 98467c00 isub temp ,null 
-0542 24210544 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
-0543 20206349 branch host_create_conn_auth 
+0718 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0719 c000e39d beq 1 ,host_create_conn_auth_pair_true 
+071a 6800c1bd fetch 1 ,mem_link_key_exists 
+071b 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+071c 680084d1 fetch 1 ,mem_lmp_conn_state 
+071d c4018000 rtnbit0 sent_setup_complete 
+071e c4010000 rtnbit0 received_setup_complete 
+071f 6800cb00 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+0720 207a0000 rtn blank 
+0721 704b0000 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
+0722 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+0723 d8400014 arg 20 ,temp 
+0724 98408400 iadd temp ,temp 
+0725 1c427e00 copy clkn_bt ,pdata 
+0726 98467c00 isub temp ,null 
+0727 24210729 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
+0728 20206349 branch host_create_conn_auth 
 
 p_bt_send_max_slot_req_accept_after_switch_wait:
-0544 704b0201 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-0545 20600000 rtn 
+0729 704b0001 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+072a 20600000 rtn 
 
 p_host_create_conn_send_conn_req:
-0546 70480914 jam 20 ,mem_mouse_send_switch_req_timer 
-0547 2020636f branch host_create_conn_send_conn_req 
+072b 70480914 jam 20 ,mem_mouse_send_switch_req_timer 
+072c 2020636f branch host_create_conn_send_conn_req 
 
 p_check_51cmd_once_continue:
-0548 204062bc call lmo_fifo_check 
-0549 243a7ddb nbranch check_51cmd_restore ,blank 
-054a 68008a99 fetch 1 ,mem_fifo_temp 
-054b c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
-054c c00f8550 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
-054d c0100553 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
-054e c009055d beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
-054f 20207dca branch check_51cmd_once_continue + 2 
+072d 204062bc call lmo_fifo_check 
+072e 243a7ddb nbranch check_51cmd_restore ,blank 
+072f 68008a99 fetch 1 ,mem_fifo_temp 
+0730 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+0731 c00f8738 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+0732 c010073b beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+0733 c0090735 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+0734 20207dca branch check_51cmd_once_continue + 2 
+
+p_check_51cmd_ble_update_connect_param:
+0735 20405890 call le_fifo_check_full 
+0736 247a0000 nrtn blank 
+0737 20205abf branch le_l2cap_tx_update_req 
 
 p_flash_store_le_reconn_info:
-0550 70018534 jam rec_4_mode ,mem_record_bt_mode 
-0551 6803044f fetch 6 ,mem_le_plap 
-0552 20200555 branch p_flash_store_reconn_info 
+0738 70018534 jam rec_4_mode ,mem_record_bt_mode 
+0739 6803044f fetch 6 ,mem_le_plap 
+073a 2020073d branch p_flash_store_reconn_info 
 
 p_flash_store_bd_reconn_info:
-0553 70018533 jam rec_3_mode ,mem_record_bt_mode 
-0554 68030040 fetch 6 ,mem_plap 
+073b 70018533 jam rec_3_mode ,mem_record_bt_mode 
+073c 68030040 fetch 6 ,mem_plap 
 
 p_flash_store_reconn_info:
-0555 60030186 store 6 ,mem_temp_lap 
+073d 60030186 store 6 ,mem_temp_lap 
 
 p_mouse_store_remote_bdaddr:
-0556 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0557 c4038000 rtnbit0 mouse_store_eeprom_flag 
-0558 d8e00007 arg mouse_store_eeprom_flag ,queue 
-0559 204043d2 call mouse_disable_function_flag 
-055a 204042e8 call mouse_check_device_addr 
+073e 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+073f c4038000 rtnbit0 mouse_store_eeprom_flag 
+0740 d8e00007 arg mouse_store_eeprom_flag ,queue 
+0741 204043d2 call mouse_disable_function_flag 
+0742 204042e8 call mouse_check_device_addr 
 
 p_mouse_unplug_clean_bdaddr:
-055b 204042fb call mouse_before_store_reconn_info 
-055c 2020011f branch p_mouse_store_flash_device_info 
-
-p_check_51cmd_ble_update_connect_param:
-055d 20405890 call le_fifo_check_full 
-055e 247a0000 nrtn blank 
-055f 20205abf branch le_l2cap_tx_update_req 
+0743 204042fb call mouse_before_store_reconn_info 
+0744 20200358 branch p_mouse_store_flash_device_info 
 
 power_ctrl_pac_succ_cnt_init:
-0560 704d7901 jam 1 ,mem_power_ctrl_level 
-0561 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-0562 20600000 rtn 
+0745 704d3d01 jam 1 ,mem_power_ctrl_level 
+0746 704d3a00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0747 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-0563 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0564 1fe0fe01 increase 1 ,pdata 
-0565 6000cd76 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0566 20600000 rtn 
+0748 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0749 1fe0fe01 increase 1 ,pdata 
+074a 6000cd3a store 1 ,mem_power_ctrl_pac_succ_cnt 
+074b 20600000 rtn 
+
+power_ctrl_pac_succ_decrs:
+074c 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+074d 1fe67c02 sub pdata ,2 ,null 
+074e 24410754 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+074f 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0750 c1000000 rtneq 0 
+0751 1fe0ffff increase -1 ,pdata 
+0752 6000cd3a store 1 ,mem_power_ctrl_pac_succ_cnt 
+0753 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-0567 704d7603 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-0568 20600000 rtn 
+0754 704d3a03 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0755 20600000 rtn 
 
 power_ctrl_start:
-0569 68014682 fetch 2 ,mem_ui_state_map 
-056a c3858000 rtnbit1 ui_state_ble_adv 
-056b c3838000 rtnbit1 ui_state_bt_reconnect 
-056c c3830000 rtnbit1 ui_state_bt_discovery 
-056d da204cff arg mem_rssi_signal_buf ,rega 
-056e 2040009b call p_rssi_average 
-056f 6008cd77 storet 1 ,mem_rssi_avg_received 
-0570 58000082 setarg rssi_dis_max_24g 
-0571 c5130573 bmark1 mark_24g ,power_ctrl_start_next 
-0572 58000080 setarg rssi_dis_max_ble 
+0756 68014682 fetch 2 ,mem_ui_state_map 
+0757 c3858000 rtnbit1 ui_state_ble_adv 
+0758 c3838000 rtnbit1 ui_state_bt_reconnect 
+0759 c3830000 rtnbit1 ui_state_bt_discovery 
+075a da204cc3 arg mem_rssi_signal_buf ,rega 
+075b 204002a8 call p_rssi_average 
+075c 6008cd3b storet 1 ,mem_rssi_avg_received 
+075d 58000082 setarg rssi_dis_max_24g 
+075e c5130760 bmark1 mark_24g ,power_ctrl_start_next 
+075f 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-0573 98467c00 isub temp ,null 
-0574 2421058b nbranch power_ctrl_txpower_incrs_force ,positive 
-0575 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0576 1fe67c02 sub pdata ,2 ,null 
-0577 2421057b nbranch power_ctrl_txpower_decrs_check ,positive 
-0578 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0579 c000058c beq 0 ,power_ctrl_txpower_incrs 
-057a 20600000 rtn 
+0760 98467c00 isub temp ,null 
+0761 24210778 nbranch power_ctrl_txpower_incrs_force ,positive 
+0762 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0763 1fe67c02 sub pdata ,2 ,null 
+0764 24210768 nbranch power_ctrl_txpower_decrs_check ,positive 
+0765 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0766 c0000779 beq 0 ,power_ctrl_txpower_incrs 
+0767 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-057b 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-057c c1990000 rtnne 50 
-057d 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0768 6800cd3a fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0769 c1900000 rtnne 32 
+076a 704d3a00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-057e 6808cd77 fetcht 1 ,mem_rssi_avg_received 
-057f 58000077 setarg rssi_dis_min_24g 
-0580 c5130582 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-0581 58000075 setarg rssi_dis_min_ble 
+076b 6808cd3b fetcht 1 ,mem_rssi_avg_received 
+076c 58000077 setarg rssi_dis_min_24g 
+076d c513076f bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+076e 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-0582 98467c00 isub temp ,null 
-0583 24610000 nrtn positive 
-0584 6800cd79 fetch 1 ,mem_power_ctrl_level 
-0585 c0000593 beq 0 ,power_ctrl_decrs_level0 
-0586 1fe0ffff increase -1 ,pdata 
-0587 6000cd79 store 1 ,mem_power_ctrl_level 
-0588 c0000593 beq 0 ,power_ctrl_decrs_level0 
+076f 98467c00 isub temp ,null 
+0770 24610000 nrtn positive 
+0771 6800cd3d fetch 1 ,mem_power_ctrl_level 
+0772 c0000780 beq 0 ,power_ctrl_decrs_level0 
+0773 1fe0ffff increase -1 ,pdata 
+0774 6000cd3d store 1 ,mem_power_ctrl_level 
+0775 c0000780 beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-0589 7041de00 jam tx_power_0db ,mem_tx_power 
-058a 20600000 rtn 
+0776 7041de00 jam tx_power_0db ,mem_tx_power 
+0777 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-058b 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0778 704d3a00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-058c 6800cd79 fetch 1 ,mem_power_ctrl_level 
-058d c0010591 beq 2 ,power_ctrl_incrs_level2 
-058e 1fe0fe01 increase 1 ,pdata 
-058f 6000cd79 store 1 ,mem_power_ctrl_level 
-0590 c0008589 beq 1 ,power_ctrl_incrs_level1 
+0779 6800cd3d fetch 1 ,mem_power_ctrl_level 
+077a c001077e beq 2 ,power_ctrl_incrs_level2 
+077b 1fe0fe01 increase 1 ,pdata 
+077c 6000cd3d store 1 ,mem_power_ctrl_level 
+077d c0008776 beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-0591 7041de02 jam tx_power_5db ,mem_tx_power 
-0592 20600000 rtn 
+077e 7041de02 jam tx_power_5db ,mem_tx_power 
+077f 20600000 rtn 
 
 power_ctrl_decrs_level0:
-0593 7041de04 jam tx_power_f5db ,mem_tx_power 
-0594 20600000 rtn 
+0780 7041de04 jam tx_power_f5db ,mem_tx_power 
+0781 20600000 rtn 
 
 p_set_freq_tx:
-0595 60088017 storet 1 ,mem_last_freq 
-0596 1840a200 add temp ,0 ,rega 
-0597 20402981 call rf_write_freq 
-0598 58000500 setarg param_pll_setup 
-0599 20402a8f call sleep 
+0782 60088017 storet 1 ,mem_last_freq 
+0783 1840a200 add temp ,0 ,rega 
+0784 20402981 call rf_write_freq 
+0785 58000500 setarg param_pll_setup 
+0786 20402a8f call sleep 
 
 p_rf_tx_enable:
-059a 70890601 jam 0x1 ,rfen_adc 
-059b 7089003c jam 0x3c ,rfen_rx 
-059c 708901e0 jam 0xe0 ,rfen_tx 
-059d 2000000a nop 10 
-059e 70890201 jam 0x01 ,rfen_mdm 
-059f 7089023d jam 0x3d ,rfen_mdm 
-05a0 2000000a nop 10 
-05a1 708903b7 jam 0xb7 ,rfen_sn 
-05a2 2000000a nop 10 
-05a3 7089027d jam 0x7d ,rfen_mdm 
-05a4 6800c1de fetch 1 ,mem_tx_power 
-05a5 c00105ad beq tx_power_5db ,p_set_tx_power_5db 
-05a6 c00205b5 beq tx_power_f5db ,p_set_tx_power_f5db 
-05a7 c01005bf beq tx_power_pair ,p_set_tx_power_pair 
+0787 70890601 jam 0x1 ,rfen_adc 
+0788 7089003c jam 0x3c ,rfen_rx 
+0789 708901e0 jam 0xe0 ,rfen_tx 
+078a 2000000a nop 10 
+078b 70890201 jam 0x01 ,rfen_mdm 
+078c 7089023d jam 0x3d ,rfen_mdm 
+078d 2000000a nop 10 
+078e 708903b7 jam 0xb7 ,rfen_sn 
+078f 2000000a nop 10 
+0790 7089027d jam 0x7d ,rfen_mdm 
+0791 6800c1de fetch 1 ,mem_tx_power 
+0792 c001079a beq tx_power_5db ,p_set_tx_power_5db 
+0793 c002079f beq tx_power_f5db ,p_set_tx_power_f5db 
+0794 c01007ae beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-05a8 204005ba call p_rx_low_sens 
-05a9 708955d0 jam 0xd0 ,0x8955 
-05aa 708956e0 jam 0xe0 ,0x8956 
-05ab 7089586c jam 0x6c ,0x8958 
-05ac 2020294b branch set_tx_power_0db 
+0795 204007a4 call p_rx_low_sens 
+0796 708955d0 jam 0xd0 ,0x8955 
+0797 708956e0 jam 0xe0 ,0x8956 
+0798 7089586c jam 0x6c ,0x8958 
+0799 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-05ad 70894cfb jam 0xfb ,0x894c 
-05ae 70894def jam 0xef ,0x894d 
-05af 70894eec jam 0xec ,0x894e 
-05b0 70894f5e jam 0x5e ,0x894f 
-05b1 708955d0 jam 0xd0 ,0x8955 
-05b2 708956e0 jam 0xe0 ,0x8956 
-05b3 7089583c jam 0x3c ,0x8958 
-05b4 20202953 branch set_tx_power_5db 
+079a 204007a9 call p_rx_high_sens 
+079b 708955d0 jam 0xd0 ,0x8955 
+079c 708956e0 jam 0xe0 ,0x8956 
+079d 7089583c jam 0x3c ,0x8958 
+079e 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-05b5 204005ba call p_rx_low_sens 
-05b6 708955d0 jam 0xd0 ,0x8955 
-05b7 708956c0 jam 0xc0 ,0x8956 
-05b8 7089586c jam 0x6c ,0x8958 
-05b9 2020295b branch set_tx_power_f5db 
+079f 204007a4 call p_rx_low_sens 
+07a0 708955d0 jam 0xd0 ,0x8955 
+07a1 708956c0 jam 0xc0 ,0x8956 
+07a2 7089586c jam 0x6c ,0x8958 
+07a3 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-05ba 70894c5b jam 0x5b ,0x894c 
-05bb 70894d96 jam 0x96 ,0x894d 
-05bc 70894e2c jam 0x2c ,0x894e 
-05bd 70894f46 jam 0x46 ,0x894f 
-05be 20600000 rtn 
+07a4 70894c5b jam 0x5b ,0x894c 
+07a5 70894d96 jam 0x96 ,0x894d 
+07a6 70894e2c jam 0x2c ,0x894e 
+07a7 70894f46 jam 0x46 ,0x894f 
+07a8 20600000 rtn 
+
+p_rx_high_sens:
+07a9 70894cfb jam 0xfb ,0x894c 
+07aa 70894def jam 0xef ,0x894d 
+07ab 70894eec jam 0xec ,0x894e 
+07ac 70894f5e jam 0x5e ,0x894f 
+07ad 20600000 rtn 
 
 p_set_tx_power_pair:
-05bf 708956c2 jam 0xc2 ,0x8956 
-05c0 708955d0 jam 0xd0 ,0x8955 
-05c1 20600000 rtn 
+07ae 708956c2 jam 0xc2 ,0x8956 
+07af 708955d0 jam 0xd0 ,0x8955 
+07b0 20600000 rtn 
 
 p_shutdown_radio:
-05c2 18002a08 force 8 ,radio_ctrl 
-05c3 202028fa branch shutdown_radio + 1 
-
-p_initialize_radio_cont:
-05c4 20402978 call initialize_radio_cont + 1 
-05c5 70804205 jam clksel_dpll ,core_clksel 
-05c6 20600000 rtn 
+07b1 18002a08 force 8 ,radio_ctrl 
+07b2 202028fa branch shutdown_radio + 1 
 
 p_zcode_entrance:
-05c7 680891c6 fetcht 1 ,mem_zcode_temp_param0 
-05c8 18518400 rshift4 temp ,temp 
-05c9 6800cb54 fetch 1 ,mem_zcode_current_number 
-05ca 98467c00 isub temp ,null 
-05cb 202285e6 branch p_zcode_run ,zero 
-05cc 6008cb54 storet 1 ,mem_zcode_current_number 
-05cd 18408401 increase 1 ,temp 
-05ce 58000100 setarg zcode_buff_size 
-05cf 984f8400 imul32 temp ,temp 
-05d0 6801cb55 fetch 3 ,mem_xip_flash_offset 
-05d1 98467e00 isub temp ,pdata 
-05d2 6809cb58 fetcht 3 ,mem_flash_start_addr 
-05d3 9840fe00 iadd temp ,pdata 
-05d4 1fe0fffb increase -5 ,pdata 
-05d5 6001cb5b store 3 ,mem_flash_address 
-05d6 2040015d call p_flash_release_deep_power_down 
+07b3 680891c5 fetcht 1 ,mem_zcode_temp_param0 
+07b4 18518400 rshift4 temp ,temp 
+07b5 6800cb6d fetch 1 ,mem_zcode_current_number 
+07b6 98467c00 isub temp ,null 
+07b7 202287d2 branch p_zcode_run ,zero 
+07b8 6008cb6d storet 1 ,mem_zcode_current_number 
+07b9 18408401 increase 1 ,temp 
+07ba 58000100 setarg zcode_buff_size 
+07bb 984f8400 imul32 temp ,temp 
+07bc 6801cb6e fetch 3 ,mem_xip_flash_offset 
+07bd 98467e00 isub temp ,pdata 
+07be 6809cb71 fetcht 3 ,mem_flash_start_addr 
+07bf 9840fe00 iadd temp ,pdata 
+07c0 1fe0fffb increase -5 ,pdata 
+07c1 6001cb74 store 3 ,mem_flash_address 
+07c2 204003aa call p_flash_release_deep_power_down 
 
 p_zcode_read_loop:
-05d7 6801cb5b fetch 3 ,mem_flash_address 
-05d8 d8400100 arg zcode_buff_size ,temp 
-05d9 da201f00 arg mem_zcode_buff ,rega 
-05da 20406562 call spid_read_flash 
-05db 68021f00 fetch 4 ,mem_zcode_buff 
-05dc 680a4b5e fetcht 4 ,mem_zcode_head 
-05dd 98467c00 isub temp ,null 
-05de 242285d7 nbranch p_zcode_read_loop ,zero 
-05df 2040012d call p_mouse_spi_init 
-05e0 58001f00 setarg mem_zcode_buff 
-05e1 60014199 store 2 ,mem_patch_ptr 
-05e2 70419b40 jam zcode_code_size ,mem_patch_len 
-05e3 204064ca call load_ucode 
-05e4 58000000 setarg 0 
-05e5 60024199 store 4 ,mem_patch_ptr 
+07c3 6801cb74 fetch 3 ,mem_flash_address 
+07c4 d8400100 arg zcode_buff_size ,temp 
+07c5 da201f00 arg mem_zcode_buff ,rega 
+07c6 20406562 call spid_read_flash 
+07c7 68021f00 fetch 4 ,mem_zcode_buff 
+07c8 680a4b77 fetcht 4 ,mem_zcode_head 
+07c9 98467c00 isub temp ,null 
+07ca 242287c3 nbranch p_zcode_read_loop ,zero 
+07cb 20400314 call p_mouse_spi_init 
+07cc 58001f00 setarg mem_zcode_buff 
+07cd 60014199 store 2 ,mem_patch_ptr 
+07ce 70419b40 jam zcode_code_size ,mem_patch_len 
+07cf 204064ca call load_ucode 
+07d0 58000000 setarg 0 
+07d1 60024199 store 4 ,mem_patch_ptr 
 
 p_zcode_run:
-05e6 680091c6 fetch 1 ,mem_zcode_temp_param0 
-05e7 20200001 branch p_zcode 
-
-p_drawing_optima:
-05e8 6802469b fetch 4 ,mem_mouse_x 
-05e9 207a0000 rtn blank 
-05ea 2040063b call p_data_abs_check 
-05eb 58000006 setarg 0x06 
-05ec 2040062e call p_data_greater_than_check 
-05ed 58000003 setarg 0x03 
-05ee 20400634 call p_data_less_than_check 
-05ef 6800cb0d fetch 1 ,mem_mouse_asm_flag 
-05f0 c00085f4 beq 1 ,p_drawing_optima_modify 
-
-p_drawing_optima_init:
-05f1 df200005 arg 5 ,loopcnt 
-05f2 d8a04b0d arg mem_mouse_asm_flag ,contw 
-05f3 20207ed4 branch clear_mem 
-
-p_drawing_optima_modify:
-05f4 68014b0e fetch 2 ,mem_mouse_x_pre 
-05f5 600111be store 2 ,mem_data_pre 
-05f6 6801469b fetch 2 ,mem_mouse_x 
-05f7 600111c0 store 2 ,mem_data_current 
-05f8 20400607 call p_drawing_optima_data 
-05f9 680111be fetch 2 ,mem_data_pre 
-05fa 60014b0e store 2 ,mem_mouse_x_pre 
-05fb 680111c0 fetch 2 ,mem_data_current 
-05fc 6001469b store 2 ,mem_mouse_x 
-05fd 68014b10 fetch 2 ,mem_mouse_y_pre 
-05fe 600111be store 2 ,mem_data_pre 
-05ff 6801469d fetch 2 ,mem_mouse_y 
-0600 600111c0 store 2 ,mem_data_current 
-0601 20400607 call p_drawing_optima_data 
-0602 680111be fetch 2 ,mem_data_pre 
-0603 60014b10 store 2 ,mem_mouse_y_pre 
-0604 680111c0 fetch 2 ,mem_data_current 
-0605 6001469d store 2 ,mem_mouse_y 
-0606 20600000 rtn 
-
-p_drawing_optima_data:
-0607 680111be fetch 2 ,mem_data_pre 
-0608 680911c0 fetcht 2 ,mem_data_current 
-0609 9840fe00 iadd temp ,pdata 
-060a 600191c2 store 3 ,mem_data_sum 
-060b 2feffe10 isolate1 16 ,pdata 
-060c 20208614 branch p_data_sum_overflow ,true 
-060d 680091c3 fetch 1 ,mem_data_sum + 1 
-060e c07f861b beq 0xff ,p_data_sum_n 
-060f 680091c2 fetch 1 ,mem_data_sum 
-
-p_data_store_pre:
-0610 1fe37e00 rshift pdata ,pdata 
-0611 600111be store 2 ,mem_data_pre 
-0612 600111c0 store 2 ,mem_data_current 
-0613 20600000 rtn 
-
-p_data_sum_overflow:
-0614 680091c3 fetch 1 ,mem_data_sum + 1 
-0615 c0000618 beq 0 ,p_data_sum_overflow_p 
-0616 680191c2 fetch 3 ,mem_data_sum 
-0617 20200610 branch p_data_store_pre 
-
-p_data_sum_overflow_p:
-0618 7011c400 jam 0 ,mem_data_sum + 2 
-0619 680091c2 fetch 1 ,mem_data_sum 
-061a 20200610 branch p_data_store_pre 
-
-p_data_sum_n:
-061b 680091c2 fetch 1 ,mem_data_sum 
-061c 20400626 call p_pdata_get_half 
-061d 600091be store 1 ,mem_data_pre 
-061e 600091c0 store 1 ,mem_data_current 
-061f 203a0624 branch p_data_zero ,blank 
-0620 580000ff setarg 0xff 
-
-p_data_set_direction:
-0621 600091bf store 1 ,mem_data_pre + 1 
-0622 600091c1 store 1 ,mem_data_current + 1 
-0623 20600000 rtn 
-
-p_data_zero:
-0624 58000000 setarg 0 
-0625 20200621 branch p_data_set_direction 
-
-p_pdata_get_half:
-0626 1fe67e00 sub pdata ,0 ,pdata 
-0627 60008aae store 1 ,mem_rega 
-0628 68008aae fetch 1 ,mem_rega 
-0629 1fe37e00 rshift pdata ,pdata 
-062a 60008aae store 1 ,mem_rega 
-062b 68008aae fetch 1 ,mem_rega 
-062c 1fe67e00 sub pdata ,0 ,pdata 
-062d 20600000 rtn 
-
-p_data_greater_than_check:
-062e 9a267c00 isub rega ,null 
-062f 24210639 nbranch p_enable_asm ,positive 
-0630 9a467c00 isub regb ,null 
-0631 24210639 nbranch p_enable_asm ,positive 
-
-p_disable_asm:
-0632 704b0d00 jam 0 ,mem_mouse_asm_flag 
-0633 20600000 rtn 
-
-p_data_less_than_check:
-0634 9a267c00 isub rega ,null 
-0635 24610000 nrtn positive 
-0636 9a467c00 isub regb ,null 
-0637 24610000 nrtn positive 
-0638 20200632 branch p_disable_asm 
-
-p_enable_asm:
-0639 704b0d01 jam 1 ,mem_mouse_asm_flag 
-063a 20600000 rtn 
-
-p_data_abs_check:
-063b 6801469b fetch 2 ,mem_mouse_x 
-063c 20400642 call p_data_abs 
-063d 1fe22200 copy pdata ,rega 
-063e 6801469d fetch 2 ,mem_mouse_y 
-063f 20400642 call p_data_abs 
-0640 1fe22400 copy pdata ,regb 
-0641 20600000 rtn 
-
-p_data_abs:
-0642 600111c0 store 2 ,mem_data_current 
-0643 680091c1 fetch 1 ,mem_data_current + 1 
-0644 c07f8648 beq 0xff ,p_data_reversal 
-0645 680091c0 fetch 1 ,mem_data_current 
-
-p_data_abs_store:
-0646 1fe17eff and_into 0xff ,pdata 
-0647 20600000 rtn 
-
-p_data_reversal:
-0648 680111c0 fetch 2 ,mem_data_current 
-0649 1fe67e00 sub pdata ,0 ,pdata 
-064a 20200646 branch p_data_abs_store 
+07d2 680091c5 fetch 1 ,mem_zcode_temp_param0 
+07d3 20200001 branch p_zcode 
 org 0x2000
 
 start:
@@ -7266,8 +7729,6 @@
 2f1d 20403263 call g24_set0_mem_check_dongle_times 
 2f1e 580000ff setarg state_24g_pairing_success 
 2f1f 20403256 call g24_store_mem_pairing_sm 
-
-g24_app_tx_attempt_success:
 2f20 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
 2f21 20207d86 branch ui_ipc_send_event 
 
@@ -12422,8 +12883,6 @@
 3d6d 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
 3d6e c1000000 rtneq dpi_button_state_down 
 3d6f 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-
-mouse_dpi_down_setting:
 3d70 6800c77a fetch 1 ,mem_mouse_dpi 
 3d71 1fe0fe01 increase 1 ,pdata 
 3d72 1fe17e03 and pdata ,0x03 ,pdata 
@@ -13208,8 +13667,6 @@
 3fc5 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
 3fc6 2040681d call gpio_get_bit 
 3fc7 24608000 nrtn true 
-
-mouse_p3212_sensor_motion_1:
 3fc8 58000000 setarg pan_reg_pid_l 
 3fc9 20406414 call twspi_read 
 3fca c09840d1 bne p32xx_id1 ,mouse_twspi_reset 
@@ -13247,8 +13704,6 @@
 3fe4 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
 3fe5 2040681d call gpio_get_bit 
 3fe6 24608000 nrtn true 
-
-mouse_p32xx_sensor_motion_2:
 3fe7 58000000 setarg pan_reg_pid_l 
 3fe8 20406414 call twspi_read 
 3fe9 c0983fe0 bne p32xx_id1 ,mouse_p3065_judge 
@@ -27580,8 +28035,6 @@
 69a9 68110050 hfetch 2 ,core_clkoff 
 69aa 793ffe0d set0 clock_off_pwm ,pdata 
 69ab 60110050 hstore 2 ,core_clkoff 
-
-delay_nop100:
 69ac 20000064 nop 100 
 69ad 20600000 rtn 
 
@@ -34877,466 +35330,749 @@
 org 0x10001
 
 z_entrance0:
-10001 c0008005  beq zcode_01 ,z_mouse_bb_disconnected
-10002 c000001d  beq zcode_00 ,z_page_wait_fhs_reply_ok
-10003 c001002a  beq zcode_02 ,z_hid_rx_process
-10004 20600000  rtn
-
-z_mouse_bb_disconnected:
-10005 70480800  jam 0 ,mem_mouse_enter_sniff_count
-10006 7041e30e  jam 0x0e ,mem_sniff_param_interval
-10007 204041e7  call mouse_bb_discon_clear_stack
-10008 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
-10009 c283c1f5  bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
-1000a c28033a9  bbit1 app_disc_by_button ,app_disconn_reason_clear
-1000b c280800f  bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
-1000c c2810012  bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
-1000d c2818012  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-1000e 202042b0  branch mouse_start_discovery
-
-z_mouse_event_light_state_pairing:
-1000f c2828012  bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
-10010 c2818012  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-10011 202042b0  branch mouse_start_discovery
-
-z_mouse_event_light_state_hibernate:
-10012 68014682  fetch 2 ,mem_ui_state_map
-10013 c28642b0  bbit1 ui_state_btn_down ,mouse_start_discovery
-10014 204033a9  call app_disconn_reason_clear
-10015 204003a9  call p_mouse_check_key_gpio
-10016 c003801a  beq mouse_lmr_button ,z_mouse_null_enter_hibernate_enable
-10017 6800c6b6  fetch 1 ,mem_mouse_dpi_button_state
-10018 203a001a  branch z_mouse_null_enter_hibernate_enable ,blank
-10019 202033a7  branch app_bb_hibernate
-
-z_mouse_null_enter_hibernate_enable:
-1001a 70479f01  jam 1 ,mem_mouse_null_enter_hibernate_flag
-1001b 7047a028  jam 40 ,mem_mouse_null_enter_hibernate_timer
-1001c 20600000  rtn
+10001 c0000003  beq zcode_00 ,z_page_wait_fhs_reply_ok
+10002 20600000  rtn
 
 z_page_wait_fhs_reply_ok:
-1001d 6800800e  fetch 1 ,mem_page_rcv_fhs
-1001e 1fe0fe01  increase 1 ,pdata
-1001f 6000800e  store 1 ,mem_page_rcv_fhs
-10020 20402435  call prepare_newconn
+10003 6800800e  fetch 1 ,mem_page_rcv_fhs
+10004 1fe0fe01  increase 1 ,pdata
+10005 6000800e  store 1 ,mem_page_rcv_fhs
+10006 20402435  call prepare_newconn
 
 z_master_newconn_loop:
-10021 7920002c  set1 mark_first_packet ,mark
-10022 204022f2  call master_newconn_once
-10023 202c0028  branch z_newconn_poll_responded ,sync
-10024 793f802c  set0 mark_first_packet ,mark
-10025 20402455  call new_conn_timeout
-10026 243a0021  nbranch z_master_newconn_loop ,blank
-10027 202020fc  branch page_restart
+10007 7920002c  set1 mark_first_packet ,mark
+10008 204022f2  call master_newconn_once
+10009 202c000e  branch z_newconn_poll_responded ,sync
+1000a 793f802c  set0 mark_first_packet ,mark
+1000b 20402455  call new_conn_timeout
+1000c 243a0007  nbranch z_master_newconn_loop ,blank
+1000d 202020fc  branch page_restart
 
 z_newconn_poll_responded:
-10028 793f802c  set0 mark_first_packet ,mark
-10029 2020215f  branch newconn_poll_responded
+1000e 793f802c  set0 mark_first_packet ,mark
+1000f 2020215f  branch newconn_poll_responded
+org 0x20001
+
+z_entrance1:
+20001 c0080004  beq zcode_10 ,z_mouse_bb_disconnected
+20002 c0088015  beq zcode_11 ,z_hid_rx_process
+20003 20600000  rtn
+
+z_mouse_bb_disconnected:
+20004 70480800  jam 0 ,mem_mouse_enter_sniff_count
+20005 7041e30e  jam 0x0e ,mem_sniff_param_interval
+20006 204041e7  call mouse_bb_discon_clear_stack
+20007 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
+20008 c283c1f5  bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
+20009 c28033a9  bbit1 app_disc_by_button ,app_disconn_reason_clear
+2000a c280800e  bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
+2000b c2810011  bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
+2000c c2818011  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+2000d 202042b0  branch mouse_start_discovery
+
+z_mouse_event_light_state_pairing:
+2000e c2828011  bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
+2000f c2818011  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+20010 202042b0  branch mouse_start_discovery
+
+z_mouse_event_light_state_hibernate:
+20011 68014682  fetch 2 ,mem_ui_state_map
+20012 c28642b0  bbit1 ui_state_btn_down ,mouse_start_discovery
+20013 204033a9  call app_disconn_reason_clear
+20014 202033a7  branch app_bb_hibernate
 
 z_hid_rx_process:
-1002a 68010264  fetch 2 ,mem_l2cap_payload_ptr
-1002b 1fe20c00  copy pdata ,contr
-1002c e8c08000  ifetch 1 ,contr
-1002d 6000cb04  store 1 ,mem_l2cap_rcv
-1002e 1fe1040f  and pdata ,0x0f ,temp
-1002f 1ff1fe00  rshift4 pdata ,pdata
-10030 c0038033  beq hid_type_set_protocol ,z_hid_rx_set_protocol
-10031 c000803a  beq hid_type_control ,z_hid_rx_process_hid_control
-10032 20204d39  branch hid_rx_process + 6
+20015 68010264  fetch 2 ,mem_l2cap_payload_ptr
+20016 1fe20c00  copy pdata ,contr
+20017 e8c08000  ifetch 1 ,contr
+20018 6000cb02  store 1 ,mem_l2cap_rcv
+20019 1fe1040f  and pdata ,0x0f ,temp
+2001a 1ff1fe00  rshift4 pdata ,pdata
+2001b c003801e  beq hid_type_set_protocol ,z_hid_rx_set_protocol
+2001c c0008025  beq hid_type_control ,z_hid_rx_process_hid_control
+2001d 20204d39  branch hid_rx_process + 6
 
 z_hid_rx_set_protocol:
-10033 20404d53  call hid_rx_process_handshake
-10034 704b0500  jam 0 ,mem_mouse_bt_boot_mode
-10035 6800cb04  fetch 1 ,mem_l2cap_rcv
-10036 2feffe00  isolate1 0 ,pdata
-10037 20608000  rtn true
-10038 704b0501  jam 1 ,mem_mouse_bt_boot_mode
-10039 20600000  rtn
+2001e 20404d53  call hid_rx_process_handshake
+2001f 704b0300  jam 0 ,mem_mouse_bt_boot_mode
+20020 6800cb02  fetch 1 ,mem_l2cap_rcv
+20021 2feffe00  isolate1 0 ,pdata
+20022 20608000  rtn true
+20023 704b0301  jam 1 ,mem_mouse_bt_boot_mode
+20024 20600000  rtn
 
 z_hid_rx_process_hid_control:
-1003a 18427e00  copy temp ,pdata
-1003b c0028219  beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
-1003c 20204d41  branch hid_rx_process_hid_control + 2
-org 0x20001
+20025 18427e00  copy temp ,pdata
+20026 c0028491  beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
+20027 20204d41  branch hid_rx_process_hid_control + 2
+org 0x30001
 
-z_entrance1:
-20001 c0080015  beq zcode_10 ,z_send_lmp_escape
-20002 c0088022  beq zcode_11 ,z_send_lmp_accepted
-20003 c0090005  beq zcode_12 ,z_mouse4_0_check_reconn_target
-20004 20600000  rtn
-
-z_mouse4_0_check_reconn_target:
-20005 704b7001  jam 1 ,mem_le_send_security_request_flag
-20006 7047a101  jam 1 ,mem_mouse_le_reconnect_flag
-20007 680146a8  fetch 2 ,mem_mouse_direct_timeout
-20008 6808cb77  fetcht 1 ,mem_mouse_fast_conn_flag
-20009 18467cff  sub temp ,0xff ,null
-2000a 2422800c  nbranch z_mouse4_0_check_reconn_target_next ,zero
-2000b 58000258  setarg 0x0258
-
-z_mouse4_0_check_reconn_target_next:
-2000c 600146ae  store 2 ,mem_mouse_direct_timer
-2000d 20400245  call p_mouse_store_eeprom_enable
-2000e 20403418  call app_lpm_mult_disable
-2000f 204000df  call p_le_check_adv_flag
-20010 58000004  setarg adv_flag_bredr_not_supported
-20011 e0c08000  istore 1 ,contr
-20012 d8c04390  arg mem_le_scan_data ,contr
-20013 204003e3  call p_le_adv_data_update
-20014 20207df4  branch check_51cmd_adv
+z_entrance2:
+30001 c0100003  beq zcode_20 ,z_send_lmp
+30002 20600000  rtn
+
+z_send_lmp:
+30003 78547c00  disable user
+30004 204062c1  call lmo_fifo_process
+30005 68008048  fetch 1 ,mem_lmp_to_send
+30006 207a0000  rtn blank
+30007 c283800d  bbit1 7 ,z_send_lmp_escape
+30008 c0018024  beq lmp_accepted ,z_send_lmp_accepted
+30009 c0188019  beq lmp_setup_complete ,z_send_lmp_setup_complete
+3000a c00b801b  beq lmp_sniff_req ,z_send_lmp_sniff_req
+3000b c003801d  beq lmp_detach ,z_send_lmp_detach
+3000c 20206010  branch send_lmp0
 
 z_send_lmp_escape:
-20015 68008048  fetch 1 ,mem_lmp_to_send
-20016 c0420019  beq lmp_ext_features_res ,z_send_lmpext_features_res
-20017 c041801c  beq lmp_ext_features_req ,z_send_lmpext_features_req
-20018 2020603f  branch send_lmp_escape
+3000d c0420010  beq lmp_ext_features_res ,z_send_lmpext_features_res
+3000e c0418013  beq lmp_ext_features_req ,z_send_lmpext_features_req
+3000f 2020603f  branch send_lmp_escape
 
 z_send_lmpext_features_res:
-20019 2040001f  call z_check_ssp_enable
-2001a 68008048  fetch 1 ,mem_lmp_to_send
-2001b 20206099  branch send_lmpext_features_res
+30010 20400016  call z_check_ssp_enable
+30011 68008048  fetch 1 ,mem_lmp_to_send
+30012 20206099  branch send_lmpext_features_res
 
 z_send_lmpext_features_req:
-2001c 2040001f  call z_check_ssp_enable
-2001d 68008048  fetch 1 ,mem_lmp_to_send
-2001e 2020610d  branch send_lmpext_features_req
+30013 20400016  call z_check_ssp_enable
+30014 68008048  fetch 1 ,mem_lmp_to_send
+30015 2020610d  branch send_lmpext_features_req
 
 z_check_ssp_enable:
-2001f 6800c65a  fetch 1 ,mem_ssp_enable
-20020 203a612b  branch ssp_disable ,blank
-20021 20206124  branch ssp_enable
+30016 6800c65a  fetch 1 ,mem_ssp_enable
+30017 203a612b  branch ssp_disable ,blank
+30018 20206124  branch ssp_enable
+
+z_send_lmp_setup_complete:
+30019 704b0101  jam 1 ,mem_bt_send_lmp_setup_complete
+3001a 202061c3  branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+3001b 704b0904  jam 4 ,mem_mouse_bt_send_first_package_timer
+3001c 202061a4  branch send_lmp_sniff_req
+
+z_send_lmp_detach:
+3001d 20406152  call send_lmp_detach
+3001e 6800cb55  fetch 1 ,mem_mouse_bt_reconnect_flag
+3001f 207a0000  rtn blank
+30020 6800804b  fetch 1 ,mem_op
+30021 793ffe03  set0 op_disconn ,pdata
+30022 6000804b  store 1 ,mem_op
+30023 20200335  branch p_mouse_sensor_powerdown
 
 z_send_lmp_accepted:
-20022 18007e02  force 2 ,pdata
-20023 20406298  call msg_send_lmp
-20024 68008049  fetch 1 ,mem_lmi_opcode
-20025 e0a08000  istore 1 ,contw
-20026 6000cafc  store 1 ,mem_lmi_opcode_temp
-20027 204062a7  call send_lmp_follow
-20028 6800cafc  fetch 1 ,mem_lmi_opcode_temp
-20029 c017002b  beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
-2002a 20206051  branch send_lmp_accepted + 7
+30024 18007e02  force 2 ,pdata
+30025 20406298  call msg_send_lmp
+30026 68008049  fetch 1 ,mem_lmi_opcode
+30027 e0a08000  istore 1 ,contw
+30028 6000cafc  store 1 ,mem_lmi_opcode_temp
+30029 204062a7  call send_lmp_follow
+3002a 6800cafc  fetch 1 ,mem_lmi_opcode_temp
+3002b c017002d  beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
+3002c 20206051  branch send_lmp_accepted + 7
 
 z_send_lmp_accepted_max_slot_req:
-2002b 6800cb01  fetch 1 ,mem_bt_rcvd_switch_req_accept
-2002c 207a0000  rtn blank
-2002d 704b0100  jam 0 ,mem_bt_rcvd_switch_req_accept
-2002e 6800cb03  fetch 1 ,mem_bt_send_lmp_setup_complete
-2002f c1810000  rtnne 2
-20030 704b0201  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
-20031 1c427e00  copy clkn_bt ,pdata
-20032 600204e9  store 4 ,mem_aurand_send_delay_time
-20033 20600000  rtn
-org 0x30001
+3002d 6800caff  fetch 1 ,mem_bt_rcvd_switch_req_accept
+3002e 207a0000  rtn blank
+3002f 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+30030 6800cb01  fetch 1 ,mem_bt_send_lmp_setup_complete
+30031 c1810000  rtnne 2
+30032 704b0001  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+30033 1c427e00  copy clkn_bt ,pdata
+30034 600204e9  store 4 ,mem_aurand_send_delay_time
+30035 20600000  rtn
+org 0x40001
 
-z_entrance2:
-30001 c0100006  beq zcode_20 ,z_le_update_param
-30002 c0108018  beq zcode_21 ,z_le_update_channel_map
-30003 c0110025  beq zcode_22 ,z_le_mouse_bb_event_connect_complete
-30004 c011802c  beq zcode_23 ,z_quit_connection_cont
-30005 20600000  rtn
+z_entrance3:
+40001 c0180003  beq zcode_30 ,z_process_conn_sm
+40002 20600000  rtn
+
+z_process_conn_sm:
+40003 204062bc  call lmo_fifo_check
+40004 247a0000  nrtn blank
+
+z_process_conn_sm_continue:
+40005 68008055  fetch 1 ,mem_conn_sm
+40006 207a0000  rtn blank
+40007 c0020025  beq conn_sm_send_conn_req ,z_host_create_conn_send_conn_req
+40008 c008000a  beq conn_sm_wait_switch_after_host_connection ,z_host_creat_conn_wait_switch
+40009 20206320  branch process_conn_sm_continue + 2
+
+z_host_creat_conn_wait_switch:
+4000a 6800c55b  fetch 1 ,mem_switch_flag
+4000b c1000000  rtneq switch_flag_init
+4000c c000800e  beq switch_flag_accept ,z_host_create_conn_switch_accept
+4000d 2020635f  branch host_creat_conn_wait_switch + 3
+
+z_host_create_conn_switch_accept:
+4000e 20748000  rtn master
+
+z_host_create_conn_auth_pair:
+4000f 6800816d  fetch 1 ,mem_connection_options
+40010 c2800012  bbit1 connection_auth ,z_host_create_conn_auth_pair_true
+40011 20206399  branch host_create_conn_auth_pair + 1
+
+z_host_create_conn_auth_pair_true:
+40012 6800cb01  fetch 1 ,mem_bt_send_lmp_setup_complete
+40013 c000e39d  beq 1 ,host_create_conn_auth_pair_true
+40014 6800c1bd  fetch 1 ,mem_link_key_exists
+40015 203a63a9  branch host_create_conn_auth_pair_nokey ,blank
+40016 680084d1  fetch 1 ,mem_lmp_conn_state
+40017 c4018000  rtnbit0 sent_setup_complete
+40018 c4010000  rtnbit0 received_setup_complete
+40019 6800cb00  fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch
+4001a 207a0000  rtn blank
+4001b 704b0000  jam 0 ,mem_bt_send_max_slot_req_accept_after_switch
+4001c 680204e9  fetch 4 ,mem_aurand_send_delay_time
+4001d d8400014  arg 20 ,temp
+4001e 98408400  iadd temp ,temp
+4001f 1c427e00  copy clkn_bt ,pdata
+40020 98467c00  isub temp ,null
+40021 24210023  nbranch z_bt_send_max_slot_req_accept_after_switch_wait ,positive
+40022 20206349  branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+40023 704b0001  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+40024 20600000  rtn
+
+z_host_create_conn_send_conn_req:
+40025 70480914  jam 20 ,mem_mouse_send_switch_req_timer
+40026 2020636f  branch host_create_conn_send_conn_req
+org 0x50001
+
+z_entrance4:
+50001 c0200004  beq zcode_40 ,z_le_update_param
+50002 c0208016  beq zcode_41 ,z_le_update_channel_map
+50003 20600000  rtn
 
 z_le_update_param:
-30006 2040000e  call z_mouse_le_conn_param_check
-30007 2020557d  branch le_update_param + 8
+50004 2040000c  call z_mouse_le_conn_param_check
+50005 2020557d  branch le_update_param + 8
 
 z_mouse_le_lpm_mult_reinit:
-30008 6800c7c5  fetch 1 ,mem_lpm_mult_init
-30009 6000c172  store 1 ,mem_lpm_mult
+50006 6800c7c5  fetch 1 ,mem_lpm_mult_init
+50007 6000c172  store 1 ,mem_lpm_mult
 
 z_mouse_le_conn_param_lpm_enable:
-3000a 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-3000b 20600000  rtn
+50008 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+50009 20600000  rtn
 
 z_mouse_le_conn_param_lpm_disable:
-3000c 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-3000d 20600000  rtn
+5000a 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+5000b 20600000  rtn
 
 z_mouse_le_conn_param_check:
-3000e 6800c3d6  fetch 1 ,mem_le_new_conninterval
-3000f 1fe67c0c  sub pdata ,le_interval_15ms ,null
-30010 2421000c  nbranch z_mouse_le_conn_param_lpm_disable ,positive
-30011 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
-30012 6808c7c5  fetcht 1 ,mem_lpm_mult_init
-30013 98467c00  isub temp ,null
-30014 20210008  branch z_mouse_le_lpm_mult_reinit ,positive
-30015 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
-30016 6000c172  store 1 ,mem_lpm_mult
-30017 2020000a  branch z_mouse_le_conn_param_lpm_enable
+5000c 6800c3d6  fetch 1 ,mem_le_new_conninterval
+5000d 1fe67c0c  sub pdata ,le_interval_15ms ,null
+5000e 2421000a  nbranch z_mouse_le_conn_param_lpm_disable ,positive
+5000f 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+50010 6808c7c5  fetcht 1 ,mem_lpm_mult_init
+50011 98467c00  isub temp ,null
+50012 20210006  branch z_mouse_le_lpm_mult_reinit ,positive
+50013 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+50014 6000c172  store 1 ,mem_lpm_mult
+50015 20200008  branch z_mouse_le_conn_param_lpm_enable
 
 z_le_update_channel_map:
-30018 6800843f  fetch 1 ,mem_le_state
-30019 c4030000  rtnbit0 lestate_update_map
-3001a 2040001d  call z_le_channel_map_overflow_check
-3001b 24740000  nrtn user
-3001c 202055a0  branch le_update_channel_map + 3
+50016 6800843f  fetch 1 ,mem_le_state
+50017 c4030000  rtnbit0 lestate_update_map
+50018 2040001b  call z_le_channel_map_overflow_check
+50019 24740000  nrtn user
+5001a 202055a0  branch le_update_channel_map + 3
 
 z_le_channel_map_overflow_check:
-3001d 78347c00  enable user
-3001e 6800845a  fetch 1 ,mem_le_event_count + 1
-3001f 1ff1fe00  rshift4 pdata ,pdata
-30020 c1878000  rtnne 0x0f
-30021 68008460  fetch 1 ,mem_le_instant + 1
-30022 1ff1fe00  rshift4 pdata ,pdata
-30023 c1800000  rtnne 0x00
-30024 20207fe9  branch disable_user
-
-z_le_mouse_bb_event_connect_complete:
-30025 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
-30026 247a0000  nrtn blank
-30027 68008478  fetch 1 ,mem_le_att_handle
-30028 1fe67e1a  sub pdata ,26 ,pdata
-30029 24628000  nrtn zero
-3002a 7046c600  jam 0 ,mem_le_start_encrypt_timer
-3002b 20203d60  branch mouse_le_write_enable
-
-z_quit_connection_cont:
-3002c 204033af  call app_disconn_reason_collect_bt
-3002d 204026e9  call sniff_exit
-3002e 700a9902  jam bt_evt_bb_disconnected ,mem_fifo_temp
-3002f 20407d86  call ui_ipc_send_event
-30030 20405cf7  call init_lmp_work
-30031 20404d6b  call l2cap_init_work
-30032 2020246e  branch quit_connection_cont + 8
-org 0x40001
+5001b 78347c00  enable user
+5001c 6800845a  fetch 1 ,mem_le_event_count + 1
+5001d 1ff1fe00  rshift4 pdata ,pdata
+5001e c1878000  rtnne 0x0f
+5001f 68008460  fetch 1 ,mem_le_instant + 1
+50020 1ff1fe00  rshift4 pdata ,pdata
+50021 c1800000  rtnne 0x00
+50022 20207fe9  branch disable_user
+org 0x60001
 
-z_entrance3:
-40001 c0180003  beq zcode_30 ,z_mouse_start_discovery
-40002 20600000  rtn
+z_entrance5:
+60001 c0280004  beq zcode_50 ,z_mouse_start_discovery
+60002 c028802d  beq zcode_51 ,z_mouse_24g_attempt_fail
+60003 20600000  rtn
 
 z_mouse_start_discovery:
-40003 204000d7  call p_mouse_tx_power_init
-40004 704b7000  jam 0 ,mem_le_send_security_request_flag
-40005 704b6d01  jam 1 ,mem_mouse_start_discovery_enable
-40006 70472001  jam mode_bt_device1 ,mem_device_flag
-40007 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
-40008 20400021  call z_mouse_le_addr_update
+60004 204002f2  call p_mouse_tx_power_init
+60005 70479c00  jam 0 ,mem_mouse_clear_sensor_data_flag
+60006 20400399  call p_mouse_le_fast_conn_disable
+60007 68014682  fetch 2 ,mem_ui_state_map
+60008 c2858011  bbit1 ui_state_ble_adv ,z_mouse_start_discovery_norandom
+60009 204003ac  call p_mouse_load_random_addr_increase_count
+6000a 680947c2  fetcht 2 ,mem_random_addr_increase_count
+6000b 18408401  increase 1 ,temp
+6000c 600947c2  storet 2 ,mem_random_addr_increase_count
+6000d 600944a1  storet 2 ,mem_le_lap + 1
+6000e 2040035d  call p_mouse_store_random_addr_increase_count
+6000f 180a7e00  random pdata
+60010 6000c4a0  store 1 ,mem_le_lap
 
 z_mouse_start_discovery_norandom:
-40009 6801cbb3  fetch 3 ,mem_le_lap_high_3b
-4000a 6001c4a3  store 3 ,mem_le_lap + 3
-4000b 2040015f  call p_mouse_fast_conn_disable
-4000c 20403418  call app_lpm_mult_disable
-4000d 68014687  fetch 2 ,mem_discovery_timeout
-4000e 600146ac  store 2 ,mem_mouse_discovery_timer
-4000f 70016d06  jam 6 ,mem_connection_options
-40010 58000000  setarg 0
-40011 600146b0  store 2 ,mem_mouse_no_data_timer
-40012 600146ae  store 2 ,mem_mouse_direct_timer
-40013 20400245  call p_mouse_store_eeprom_enable
-40014 204043ca  call mouse_bt_discovery_button_down_disable
-40015 6800c092  fetch 1 ,mem_device_option
-40016 2feffe01  isolate1 mode_4_mouse ,pdata
-40017 2040801a  call z_check_51cmd_adv ,true
-40018 204042c4  call mouse_start_discovery_norandom + 13
-40019 202002bd  branch p_mouse_discovery_multi_led_blink
+60011 58ed8e0e  setarg 0xed8e0e
+60012 6001c4a3  store 3 ,mem_le_lap + 3
+60013 20403418  call app_lpm_mult_disable
+60014 68014687  fetch 2 ,mem_discovery_timeout
+60015 600146ac  store 2 ,mem_mouse_discovery_timer
+60016 704b4705  jam 5 ,mem_mouse_bt_ble_led_timer
+60017 70016d06  jam 6 ,mem_connection_options
+60018 58000000  setarg 0
+60019 600146b0  store 2 ,mem_mouse_no_data_timer
+6001a 600146ae  store 2 ,mem_mouse_direct_timer
+6001b d8e00007  arg mouse_store_eeprom_flag ,queue
+6001c 204043ce  call mouse_enable_function_flag
+6001d 204043ca  call mouse_bt_discovery_button_down_disable
+6001e 6800c092  fetch 1 ,mem_device_option
+6001f 2feffe01  isolate1 mode_4_mouse ,pdata
+60020 20408026  call z_check_51cmd_adv ,true
+60021 6800c092  fetch 1 ,mem_device_option
+60022 2feffe00  isolate1 mode_3_mouse ,pdata
+60023 2040fddd  call check_51cmd_start_discovery ,true
+60024 704b5500  jam 0 ,mem_mouse_bt_reconnect_flag
+60025 202042c4  branch mouse_start_discovery_norandom + 13
 
 z_check_51cmd_adv:
-4001a 7047a100  jam 0 ,mem_mouse_le_reconnect_flag
-4001b 204000df  call p_le_check_adv_flag
-4001c 58000005  setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
-4001d e0c08000  istore 1 ,contr
-4001e d8c04b12  arg mem_le_adv_swift_pair ,contr
-4001f 204003e3  call p_le_adv_data_update
-40020 20207df4  branch check_51cmd_adv
-
-z_mouse_le_addr_update:
-40021 20400166  call p_mouse_load_flash_user_data
-40022 68094b72  fetcht 2 ,mem_random_addr_increase_count
-40023 18408401  increase 1 ,temp
-40024 60094b72  storet 2 ,mem_random_addr_increase_count
-40025 600944a1  storet 2 ,mem_le_lap + 1
-40026 20400124  call p_mouse_store_flash_user_data
-40027 180a7e00  random pdata
-40028 6000c4a0  store 1 ,mem_le_lap
-40029 20600000  rtn
-org 0x50001
-
-z_entrance4:
-50001 20600000  rtn
-org 0x60001
-
-z_entrance5:
-60001 20600000  rtn
+60026 70479f00  jam 0 ,mem_mouse_le_reconnect_flag
+60027 2040030b  call p_le_check_adv_flag
+60028 58000005  setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
+60029 e0c08000  istore 1 ,contr
+6002a d8c04b10  arg mem_le_adv_swift_pair ,contr
+6002b 204005d6  call p_le_adv_data_update
+6002c 20207df4  branch check_51cmd_adv
+
+z_mouse_24g_attempt_fail:
+6002d 6800cb5d  fetch 1 ,mem_mouse_24g_pair_timer
+6002e 247a0000  nrtn blank
+6002f 6800cb57  fetch 1 ,mem_24g_attempt_count
+60030 243a0037  nbranch z_mouse_24g_attempt_fail_again ,blank
+60031 704d4100  jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt
+60032 204002f2  call p_mouse_tx_power_init
+60033 204001cd  call p_g24_check_51cmd_stop_24g
+60034 7041bd00  jam 0 ,mem_link_key_exists
+60035 204002c5  call p_mouse_setgpio_hibernate
+60036 2020340a  branch app_enter_hibernate
+
+z_mouse_24g_attempt_fail_again:
+60037 1fe0ffff  increase -1 ,pdata
+60038 6000cb57  store 1 ,mem_24g_attempt_count
+60039 202003b3  branch p_mouse_start_24g_mode
 org 0x70001
+
+z_entrance6:
+70001 c0300004  beq zcode_60 ,z_g24_start_24g_mode
+70002 c0308028  beq zcode_61 ,z_mouse_24g_pairing_button
+70003 20600000  rtn
+
+z_g24_start_24g_mode:
+70004 793f8026  set0 mark_24g ,mark
+70005 6800cb57  fetch 1 ,mem_24g_attempt_count
+70006 1fe17e01  and pdata ,0x01 ,pdata
+70007 245a001e  ncall z_g24_fast_conn_all_powerful ,blank
+70008 205a001b  call z_g24_normal_connect ,blank
+70009 6800cc11  fetch 1 ,mem_24g_pairing_sm
+7000a c1ff8000  rtnne state_24g_pairing_success
+7000b 204001c4  call p_g24_tx_attemp_data_prep
+
+z_g24_tx_attemp_dongle_loop:
+7000c 200007d0  nop 2000
+7000d 6800cc2e  fetch 1 ,mem_24g_check_dongle_times
+7000e c03801b3  beq 0x70 ,p_g24_stop_g24_mode
+7000f 2040018b  call p_g24_transmit_receive_ack
+70010 242c0023  nbranch z_g24_attemp_txdata_retry ,sync
+70011 24378023  nbranch z_g24_attemp_txdata_retry ,user3
+
+z_g24_tx_attemp_dongle_succ:
+70012 79200026  set1 mark_24g ,mark
+70013 58000000  setarg 0
+70014 60014c2e  store 2 ,mem_24g_check_dongle_times
+70015 6000cb5d  store 1 ,mem_mouse_24g_pair_timer
+70016 6000cb57  store 1 ,mem_24g_attempt_count
+70017 700a993c  jam bt_evt_24g_attempt_success ,mem_fifo_temp
+70018 20407d86  call ui_ipc_send_event
+
+z_g24_tx_attemp_dongle_loop_exit:
+70019 20400183  call p_g24_txbuf_clear
+7001a 202003ee  branch p_g24_transmit_by_interrupt_enable
+
+z_g24_normal_connect:
+7001b 204002f2  call p_mouse_tx_power_init
+7001c 6802477b  fetch 4 ,mem_mouse_24g_addr
+7001d 20200020  branch z6_g24_ch_syncword_crc8_init
+
+z_g24_fast_conn_all_powerful:
+7001e 7041de20  jam tx_power_pair ,mem_tx_power
+7001f 68024b51  fetch 4 ,mem_mouse_24g_addr_init
+
+z6_g24_ch_syncword_crc8_init:
+70020 60024c29  store 4 ,mem_24g_addr
+70021 204001e4  call p_g24_syncword_crc8
+70022 20200203  branch p_g24_ch
+
+z_g24_attemp_txdata_retry:
+70023 68014c2e  fetch 2 ,mem_24g_check_dongle_times
+70024 1fe0fe01  increase 1 ,pdata
+70025 60014c2e  store 2 ,mem_24g_check_dongle_times
+70026 20400203  call p_g24_ch
+70027 2020000c  branch z_g24_tx_attemp_dongle_loop
+
+z_mouse_24g_pairing_button:
+70028 d8e00003  arg mosue_24g_pairing_flag ,queue
+70029 204043ce  call mouse_enable_function_flag
+7002a 58000000  setarg 0
+7002b 600146ae  store 2 ,mem_mouse_direct_timer
+7002c 6000c6b4  store 1 ,mem_mouse_send_blank_timer
+7002d 6000cb57  store 1 ,mem_24g_attempt_count
+7002e 60014c2e  store 2 ,mem_24g_check_dongle_times
+7002f 704b5dc8  jam 200 ,mem_mouse_24g_pair_timer
+70030 204042ca  call mouse_stop_discovery
+70031 20200032  branch z6_g24_start_pairing_sm1
+
+z6_g24_start_pairing_sm1:
+70032 79200026  set1 mark_24g ,mark
+70033 20400036  call z6_g24_pair_init
+
+z6_g24_set_pairing_sm_1:
+70034 704c1101  jam state_24g_pairing_1 ,mem_24g_pairing_sm
+70035 20600000  rtn
+
+z6_g24_pair_init:
+70036 7041de20  jam tx_power_pair ,mem_tx_power
+70037 704c0000  jam 0 ,mem_24g_pid
+70038 704c0b4e  jam g24_pair_ch ,mem_24g_ch
+70039 68024c0d  fetch 4 ,mem_24g_paring_addr
+7003a 202001e3  branch p_g24_update_addr_and_synccrc8
 org 0x80001
 
 z_entrance7:
-80001 c0380003  beq zcode_70 ,z_mouse_irtual_cable_unplug
+80001 c0380003  beq zcode_70 ,z_g24_auto_pair_start
 80002 20600000  rtn
 
-z_mouse_irtual_cable_unplug:
-80003 5fffffff  setarg -1
-80004 60030040  store 6 ,mem_plap
-80005 70018533  jam rec_3_mode ,mem_record_bt_mode
-80006 704b77ff  jam 0xff ,mem_mouse_fast_conn_flag
-80007 204042fb  call mouse_before_store_reconn_info
-80008 704721ff  jam 0xff ,mem_device1_type
-80009 2020011f  branch p_mouse_store_flash_device_info
+z_g24_auto_pair_start:
+80003 793f8026  set0 mark_24g ,mark
+80004 2040001d  call z_g24_auto_pair_all_powerful
+80005 204001c4  call p_g24_tx_attemp_data_prep
+
+z_g24_auto_pair_start_loop:
+80006 200007d0  nop 2000
+80007 6800cc2f  fetch 1 ,mem_24g_check_dongle_times + 1
+80008 c28101b3  bbit1 0x02 ,p_g24_stop_g24_mode
+80009 2040018b  call p_g24_transmit_receive_ack
+8000a 242c0019  nbranch z_g24_auto_pair_retry ,sync
+8000b 24378019  nbranch z_g24_auto_pair_retry ,user3
+8000c 204001b5  call p_g24_ackpayload_parse
+8000d 204002f2  call p_mouse_tx_power_init
+8000e 68024c29  fetch 4 ,mem_24g_addr
+8000f 680a4c0d  fetcht 4 ,mem_24g_paring_addr
+80010 98467c00  isub temp ,null
+80011 20228027  branch z_g24_start_pairing_sm1 ,zero
+80012 79200026  set1 mark_24g ,mark
+80013 58000000  setarg 0
+80014 60014c2e  store 2 ,mem_24g_check_dongle_times
+80015 700a993c  jam bt_evt_24g_attempt_success ,mem_fifo_temp
+80016 20407d86  call ui_ipc_send_event
+80017 20400183  call p_g24_txbuf_clear
+80018 202003ee  branch p_g24_transmit_by_interrupt_enable
+
+z_g24_auto_pair_retry:
+80019 68014c2e  fetch 2 ,mem_24g_check_dongle_times
+8001a 1fe0fe01  increase 1 ,pdata
+8001b 60014c2e  store 2 ,mem_24g_check_dongle_times
+8001c 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_all_powerful:
+8001d 7041de20  jam tx_power_pair ,mem_tx_power
+8001e 58000f0f  setarg 0x0f0f
+8001f 60014c29  store 2 ,mem_24g_addr
+80020 e0a10000  istore 2 ,contw
+
+z_g24_ch_syncword_crc8_init:
+80021 204001e4  call p_g24_syncword_crc8
+80022 20200203  branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+80023 2040001d  call z_g24_auto_pair_all_powerful
+80024 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+80025 2040002b  call z_g24_pair_init
+80026 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+80027 79200026  set1 mark_24g ,mark
+80028 2040002b  call z_g24_pair_init
+
+z_g24_set_pairing_sm_1:
+80029 704c1101  jam state_24g_pairing_1 ,mem_24g_pairing_sm
+8002a 20600000  rtn
+
+z_g24_pair_init:
+8002b 7041de20  jam tx_power_pair ,mem_tx_power
+8002c 704c0000  jam 0 ,mem_24g_pid
+8002d 704c0b4e  jam g24_pair_ch ,mem_24g_ch
+8002e 68024c0d  fetch 4 ,mem_24g_paring_addr
+8002f 202001e3  branch p_g24_update_addr_and_synccrc8
 org 0x90001
 
 z_entrance8:
-90001 c0400003  beq zcode_80 ,z_mouse_setting_config
-90002 20600000  rtn
+90001 c040000a  beq zcode_80 ,z_mouse_setting_config
+90002 c0408004  beq zcode_81 ,z_le_addr_random_config
+90003 20600000  rtn
+
+z_le_addr_random_config:
+90004 204068a2  call load_adc_init
+90005 6801421d  fetch 2 ,mem_0_5_adc_io_data
+90006 243a0008  nbranch z_le_otp_adc_empty ,blank
+90007 58001122  setarg 0x1122
+
+z_le_otp_adc_empty:
+90008 600147c2  store 2 ,mem_random_addr_increase_count
+90009 20600000  rtn
 
 z_mouse_setting_config:
-90003 20403e6e  call mouse_gpio_init
-90004 6808cb47  fetcht 1 ,mem_flash_ncs_gpio
-90005 2040680e  call gpio_config_output
-90006 20400012  call z_mouse_bt_sdp_update
-90007 58000000  setarg 0
-90008 60014154  store 2 ,mem_lpm_interval
-90009 204068a2  call load_adc_init
-9000a 20403e54  call mouse_adc_init
-9000b 20400112  call p_mouse_load_flash_info_check
-9000c 68034b4e  fetch 6 ,mem_mouse_24g_addr_init
-9000d 680b4722  fetcht 6 ,mem_device1_addr
-9000e 98467c00  isub temp ,null
-9000f 2422815f  nbranch p_mouse_fast_conn_disable ,zero
-90010 20400161  call p_mouse_fast_conn_init
-90011 20600000  rtn
+9000a 204000ec  call p_g24_set_device_addr
+9000b 20403e6e  call mouse_gpio_init
+9000c 6808cb43  fetcht 1 ,mem_flash_ncs_gpio
+9000d 2040680e  call gpio_config_output
+9000e 20403e1e  call mouse_param_init
+9000f 2040001a  call z_mouse_bt_sdp_update
+90010 58000000  setarg 0
+90011 60014154  store 2 ,mem_lpm_interval
+90012 204068a2  call load_adc_init
+90013 20403e54  call mouse_adc_init
+90014 20405810  call le_set_config_fixed_ltk
+90015 20405839  call le_set_justwork
+90016 2040582c  call le_set_fixed_ltk
+90017 20405818  call le_set_config_read_authentication
+90018 204005d1  call p_le_addr_random_config
+90019 2020034a  branch p_mouse_load_flash_info_check
 
 z_mouse_bt_sdp_update:
-90012 204074b9  call enable_authrom
-90013 d8c08c00  arg 0x8c00 ,contr
-90014 d8a04876  arg mem_mouse_uuid_list ,contw
-90015 df200171  arg 369 ,loopcnt
-90016 20407f01  call memcpy
-90017 580f0209  setarg 0x0f0209
-90018 e0a18000  istore 3 ,contw
-90019 58120009  setarg 0x120009
-9001a e0a18000  istore 3 ,contw
-9001b 58100209  setarg 0x100209
-9001c e0a18000  istore 3 ,contw
-9001d 58000009  setarg 0x000009
-9001e e0a18000  istore 3 ,contw
-9001f d8c08d71  arg 0x8d71 ,contr
-90020 df200109  arg 265 ,loopcnt
-90021 20407f01  call memcpy
-90022 70488d00  jam 0 ,mem_mouse_uuid_list + 23
-90023 7048856d  jam 0x6d ,mem_mouse_uuid_list + 15
-90024 5800401f  setarg 0x401f
-90025 600149db  store 2 ,mem_mouse_uuid_list + 357
-90026 58006d04  setarg 0x6d04
-90027 60014a44  store 2 ,mem_mouse_uuid_list + 462
-90028 580016b0  setarg 0x16b0
-90029 60014a4a  store 2 ,mem_mouse_uuid_list + 468
-9002a 58004876  setarg mem_mouse_uuid_list
-9002b 60014575  store 2 ,mem_ui_uuid_table
-9002c 20600000  rtn
+9001a 204074b9  call enable_authrom
+9001b d8c08c00  arg 0x8c00 ,contr
+9001c d8a04876  arg mem_mouse_uuid_list ,contw
+9001d df200171  arg 369 ,loopcnt
+9001e 20407f01  call memcpy
+9001f 580f0209  setarg 0x0f0209
+90020 e0a18000  istore 3 ,contw
+90021 58120009  setarg 0x120009
+90022 e0a18000  istore 3 ,contw
+90023 58100209  setarg 0x100209
+90024 e0a18000  istore 3 ,contw
+90025 58000009  setarg 0x000009
+90026 e0a18000  istore 3 ,contw
+90027 d8c08d71  arg 0x8d71 ,contr
+90028 df200109  arg 265 ,loopcnt
+90029 20407f01  call memcpy
+9002a 70488d00  jam 0 ,mem_mouse_uuid_list + 23
+9002b 7048856d  jam 0x6d ,mem_mouse_uuid_list + 15
+9002c 5800401f  setarg 0x401f
+9002d 600149db  store 2 ,mem_mouse_uuid_list + 357
+9002e 58006d04  setarg 0x6d04
+9002f 60014a44  store 2 ,mem_mouse_uuid_list + 462
+90030 580016b0  setarg 0x16b0
+90031 60014a4a  store 2 ,mem_mouse_uuid_list + 468
+90032 58004876  setarg mem_mouse_uuid_list
+90033 60014575  store 2 ,mem_ui_uuid_table
+90034 20600000  rtn
 org 0xa0001
 
 z_entrance9:
-a0001 20600000  rtn
+a0001 c0480005  beq zcode_90 ,z_g24_pairing_sm
+a0002 c048801f  beq zcode_91 ,z_g24_paring_mode
+a0003 c049002f  beq zcode_92 ,z_mouse_24g_pairing_complete
+a0004 20600000  rtn
+
+z_g24_pairing_sm:
+a0005 6800cc06  fetch 1 ,mem_24g_ensure
+a0006 c000ffe7  beq ensure_on_24g ,enable_user
+a0007 6800cc11  fetch 1 ,mem_24g_pairing_sm
+a0008 c000800c  beq state_24g_pairing_1 ,z_g24_pairing_sm_1
+a0009 c001000f  beq state_24g_pairing_2 ,z_g24_pairing_sm_2
+a000a c0018012  beq state_24g_pairing_3 ,z_g24_pairing_sm_3
+a000b 20202a8c  branch assert
+
+z_g24_pairing_sm_1:
+a000c 704c1111  jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm
+a000d 70119eaa  jam 0xaa ,mem_24g_common_temp
+a000e 20200014  branch z_g24_pairing_sm_common
+
+z_g24_pairing_sm_2:
+a000f 704c1112  jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm
+a0010 70119e55  jam 0x55 ,mem_24g_common_temp
+a0011 20200014  branch z_g24_pairing_sm_common
+
+z_g24_pairing_sm_3:
+a0012 704c1113  jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm
+a0013 70119e22  jam 0x22 ,mem_24g_common_temp
+
+z_g24_pairing_sm_common:
+a0014 6800cc02  fetch 1 ,mem_24g_data_type
+a0015 1fe17e07  and_into bits_data ,pdata
+a0016 6000919f  store 1 ,mem_24g_common_temp + 1
+a0017 68024c38  fetch 4 ,mem_24g_device_addr
+a0018 600211a0  store 4 ,mem_24g_common_temp + 2
+
+z_g24_put_pairing_data_in_buff:
+a0019 7011a400  jam 0 ,mem_24g_common_temp + 6
+a001a da20119e  arg mem_24g_common_temp ,rega
+a001b d8400007  arg 7 ,temp
+a001c 204001d1  call p_g24_put_data_in_buff
+a001d 20400148  call p_g24_txdata_enable_tx
+a001e 20207fe7  branch enable_user
+
+z_g24_paring_mode:
+a001f 6800cc11  fetch 1 ,mem_24g_pairing_sm
+a0020 c17f8000  rtneq state_24g_pairing_success
+a0021 c0088025  beq state_24g_pairing_1_waiting_ack ,z_g24_pairing_sm_1_waiting_ack
+a0022 c0090027  beq state_24g_pairing_2_waiting_ack ,z_g24_pairing_sm_2_waiting_ack
+a0023 c0098029  beq state_24g_pairing_3_waiting_ack ,z_g24_pairing_sm_3_waiting_ack
+a0024 20600000  rtn
+
+z_g24_pairing_sm_1_waiting_ack:
+a0025 704c1102  jam state_24g_pairing_2 ,mem_24g_pairing_sm
+a0026 2020017c  branch p_g24_transmit_abandon
+
+z_g24_pairing_sm_2_waiting_ack:
+a0027 704c1103  jam state_24g_pairing_3 ,mem_24g_pairing_sm
+a0028 2020017c  branch p_g24_transmit_abandon
+
+z_g24_pairing_sm_3_waiting_ack:
+a0029 704c11ff  jam state_24g_pairing_success ,mem_24g_pairing_sm
+a002a 700a9939  jam bt_evt_24g_pairing_complete ,mem_fifo_temp
+a002b 20407d86  call ui_ipc_send_event
+a002c 68024be1  fetch 4 ,mem_24g_rxpayload + 2
+a002d 204001e3  call p_g24_update_addr_and_synccrc8
+a002e 2020017c  branch p_g24_transmit_abandon
+
+z_mouse_24g_pairing_complete:
+a002f 204004a5  call p_mouse_24g_no_data_timer_init
+a0030 70478b01  jam 1 ,mem_mouse_24g_enter_lpm_enable
+a0031 d8e00003  arg mosue_24g_pairing_flag ,queue
+a0032 204043d2  call mouse_disable_function_flag
+a0033 58000000  setarg 0
+a0034 60014707  store 2 ,mem_24g_pairing_timer_count
+a0035 6000cb57  store 1 ,mem_24g_attempt_count
+a0036 7046a700  jam 0 ,mem_mouse_move_flag
+a0037 2040405d  call mouse_read_sensor_common
+a0038 204002f2  call p_mouse_tx_power_init
+a0039 68024c29  fetch 4 ,mem_24g_addr
+a003a 6002477b  store 4 ,mem_mouse_24g_addr
+a003b 20200358  branch p_mouse_store_flash_device_info
 org 0xb0001
 
 z_entrancea:
-b0001 c0500024  beq zcode_a0 ,z_mouse_before_hibernate
-b0002 c050800b  beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
-b0003 c0510019  beq zcode_a2 ,z_mouse_le_bb_disconnected
+b0001 c0508006  beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
+b0002 c0510019  beq zcode_a2 ,z_mouse_le_bb_disconnected
+b0003 c0518012  beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
+b0004 c0520021  beq zcode_a4 ,z_mouse_before_hibernate
+b0005 20600000  rtn
+
+z_mouse_le_conn_param_update_rsp_recieved:
+b0006 68014509  fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
+b0007 c1000000  rtneq ble_signaling_connect_parameter_update_accepted
+b0008 68008441  fetch 1 ,mem_le_tsniff
+b0009 1feb7e00  rshift2 pdata ,pdata
+b000a 1fe67c0c  sub pdata ,le_interval_15ms ,null
+b000b 20610000  rtn positive
+b000c 58000009  setarg le_interval_11_25ms
+b000d 60014496  store 2 ,mem_le_interval_min
+b000e 60014498  store 2 ,mem_le_interval_min + 2
+b000f 20400489  call p_app_updata_le_param
+b0010 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+b0011 20600000  rtn
 
 z_mouse_bb_event_reconn_timeout:
 
 z_mouse_bb_event_reconn_failed:
-b0004 68014682  fetch 2 ,mem_ui_state_map
-b0005 c3860000  rtnbit1 ui_state_btn_down
-b0006 c3830000  rtnbit1 ui_state_bt_discovery
-b0007 c3858000  rtnbit1 ui_state_ble_adv
-b0008 680246d3  fetch mouse_flag_len ,mem_mouse_flag
-b0009 c3828000  rtnbit1 mouse_bt_discovery_button_down_flag
-b000a 202033a7  branch app_bb_hibernate
-
-z_mouse_le_conn_param_update_rsp_recieved:
-b000b 68014509  fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
-b000c c1000000  rtneq ble_signaling_connect_parameter_update_accepted
-b000d 68008441  fetch 1 ,mem_le_tsniff
-b000e 1feb7e00  rshift2 pdata ,pdata
-b000f 1fe67c0c  sub pdata ,le_interval_15ms ,null
-b0010 20210017  branch z_mouse_le_conn_param_update_rsp_not_accepted ,positive
-b0011 58000009  setarg le_interval_11_25ms
-b0012 60014496  store 2 ,mem_le_interval_min
-b0013 60014498  store 2 ,mem_le_interval_min + 2
-b0014 20400211  call p_app_updata_le_param
-b0015 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-b0016 20600000  rtn
-
-z_mouse_le_conn_param_update_rsp_not_accepted:
-b0017 704b6301  jam 1 ,mem_mouse_le_updata_not_accepted_flag
-b0018 20200445  branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
+b0012 68014682  fetch 2 ,mem_ui_state_map
+b0013 c3860000  rtnbit1 ui_state_btn_down
+b0014 c3830000  rtnbit1 ui_state_bt_discovery
+b0015 c3858000  rtnbit1 ui_state_ble_adv
+b0016 680246d3  fetch mouse_flag_len ,mem_mouse_flag
+b0017 c3828000  rtnbit1 mouse_bt_discovery_button_down_flag
+b0018 202033a7  branch app_bb_hibernate
 
 z_mouse_le_bb_disconnected:
-b0019 704b7100  jam 0 ,mem_mouse_le_bb_connected_flag
-b001a 58000007  setarg le_interval_8_75ms
-b001b 60014496  store 2 ,mem_le_interval_min
-b001c 60014498  store 2 ,mem_le_interval_min + 2
-b001d 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-b001e 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
-b001f 2040019d  call p_mouse_data_init
-b0020 20405816  call le_clr_config_more_data
-b0021 204041d9  call mouse_bb_disconnected
-b0022 2040011f  call p_mouse_store_flash_device_info
-b0023 202041d9  branch mouse_bb_disconnected
+b0019 58000007  setarg le_interval_8_75ms
+b001a 60014496  store 2 ,mem_le_interval_min
+b001b 60014498  store 2 ,mem_le_interval_min + 2
+b001c 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+b001d 70479c00  jam 0 ,mem_mouse_clear_sensor_data_flag
+b001e 20400419  call p_mouse_data_init
+b001f 20405816  call le_clr_config_more_data
+b0020 202041d9  branch mouse_bb_disconnected
 
 z_mouse_before_hibernate:
-b0024 68120138  hfetch 4 ,core_lpm_ctrl
-b0025 79207e1a  set1 26 ,pdata
-b0026 6012004c  hstore 4 ,core_lpm_reg
-b0027 20402c21  call lpm_write_ctrl
-b0028 204074bd  call disable_authrom
-b0029 204002ed  call p_mouse_multi_led_off
-b002a 2040011f  call p_mouse_store_flash_device_info
-b002b 20403e9f  call mouse_before_hibernate_wheel_gpio_set
-b002c 204000ae  call p_mouse_setgpio_hibernate
-b002d 20400155  call p_flash_deep_power_down
-b002e 68108081  hfetch 1 ,core_gpio_sel1
-b002f 1fe17ef7  and pdata ,0xf7 ,pdata
-b0030 60108081  hstore 1 ,core_gpio_sel1
+b0021 78347c00  enable user
+b0022 68120138  hfetch 4 ,0x8138
+b0023 79347e1a  setflag user ,26 ,pdata
+b0024 6012004c  hstore 4 ,core_lpm_reg
+b0025 20402c21  call lpm_write_ctrl
+b0026 204074bd  call disable_authrom
+b0027 204003e7  call p_mouse_device_led_off
+b0028 20403e9f  call mouse_before_hibernate_wheel_gpio_set
+b0029 204002c5  call p_mouse_setgpio_hibernate
+b002a 204003a1  call p_flash_deep_power_down
+b002b 68108081  hfetch 1 ,core_gpio_sel1
+b002c 1fe17ef7  and pdata ,0xf7 ,pdata
+b002d 60108081  hstore 1 ,core_gpio_sel1
+b002e 6810807e  hfetch 1 ,core_gpio_pd2
+b002f 79207e06  set1 6 ,pdata
+b0030 6010807e  hstore 1 ,core_gpio_pd2
 b0031 6810807f  hfetch 1 ,core_gpio_pd3
 b0032 79207e00  set1 0 ,pdata
 b0033 6010807f  hstore 1 ,core_gpio_pd3
-b0034 20600000  rtn
+b0034 6808c6f3  fetcht 1 ,mem_sensor_data_gpio
+b0035 202067ed  branch gpio_clr_wake
 org 0xc0001
 
 z_entranceb:
-c0001 c0588006  beq zcode_b1 ,z_mouse_sniff_not_accept
-c0002 c059000c  beq zcode_b2 ,z_mouse_enter_sniff_check
-c0003 c0598011  beq zcode_b3 ,z_mouse_le_ll_start_encryt
-c0004 c05a0019  beq zcode_b4 ,z_mouse_bb_event_disconnected
-c0005 20600000  rtn
+c0001 c0580007  beq zcode_b0 ,z_mouse_le_bb_event_connected
+c0002 c058800a  beq zcode_b1 ,z_mouse_sniff_not_accept
+c0003 c0590010  beq zcode_b2 ,z_mouse_enter_sniff_check
+c0004 c0598015  beq zcode_b3 ,z_mouse_le_ll_start_encryt
+c0005 c05a001c  beq zcode_b4 ,z_mouse_bb_event_disconnected
+c0006 20600000  rtn
+
+z_mouse_le_bb_event_connected:
+c0007 704b6801  jam 1 ,mem_mouse_le_bb_connected_flag
+c0008 20400419  call p_mouse_data_init
+c0009 202041c3  branch mouse_le_bb_event_connected
 
 z_mouse_sniff_not_accept:
-c0006 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
-c0007 c1010000  rtneq 2
-c0008 1fe0fe01  increase 1 ,pdata
-c0009 6000c808  store 1 ,mem_mouse_enter_sniff_count
-c000a 7041e312  jam 0x12 ,mem_sniff_param_interval
-c000b 2020340e  branch app_bt_enter_sniff
+c000a 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c000b c1010000  rtneq 2
+c000c 1fe0fe01  increase 1 ,pdata
+c000d 6000c808  store 1 ,mem_mouse_enter_sniff_count
+c000e 7041e312  jam 0x12 ,mem_sniff_param_interval
+c000f 2020340e  branch app_bt_enter_sniff
 
 z_mouse_enter_sniff_check:
-c000c 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
-c000d c1810000  rtnne 2
-c000e 70480800  jam 0 ,mem_mouse_enter_sniff_count
-c000f 7041e30e  jam 0x0e ,mem_sniff_param_interval
-c0010 2020340e  branch app_bt_enter_sniff
+c0010 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c0011 c1810000  rtnne 2
+c0012 70480800  jam 0 ,mem_mouse_enter_sniff_count
+c0013 7041e30e  jam 0x0e ,mem_sniff_param_interval
+c0014 2020340e  branch app_bt_enter_sniff
 
 z_mouse_le_ll_start_encryt:
-c0011 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
-c0012 c0008015  beq 1 ,z_mouse_le_ll_reconn_start_encryt
-c0013 7046c614  jam 20 ,mem_le_start_encrypt_timer
-c0014 20200017  branch z_mouse_le_ll_enable_start_enc_flag
+c0015 6800c79f  fetch 1 ,mem_mouse_le_reconnect_flag
+c0016 c0008018  beq 1 ,z_mouse_le_ll_reconn_start_encryt
+c0017 2020001a  branch z_mouse_le_ll_enable_start_enc_flag
 
 z_mouse_le_ll_reconn_start_encryt:
-c0015 20400211  call p_app_updata_le_param
-c0016 7046c60a  jam 10 ,mem_le_start_encrypt_timer
+c0018 20400489  call p_app_updata_le_param
+c0019 7046c605  jam 5 ,mem_le_start_encrypt_timer
 
 z_mouse_le_ll_enable_start_enc_flag:
-c0017 d8e00001  arg ll_start_enc_flag ,queue
-c0018 202041b9  branch mouse_le_enable_connect_flag
+c001a d8e00001  arg ll_start_enc_flag ,queue
+c001b 202041b9  branch mouse_le_enable_connect_flag
 
 z_mouse_bb_event_disconnected:
-c0019 704b0100  jam 0 ,mem_bt_rcvd_switch_req_accept
-c001a 704b0300  jam 0 ,mem_bt_send_lmp_setup_complete
-c001b 704b0c00  jam 0 ,mem_mouse_bt_send_first_package_flag
-c001c 2040011f  call p_mouse_store_flash_device_info
-c001d 202041d9  branch mouse_bb_disconnected
+c001c 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+c001d 704b0100  jam 0 ,mem_bt_send_lmp_setup_complete
+c001e 704b0a00  jam 0 ,mem_mouse_bt_send_first_package_flag
+c001f 202041d9  branch mouse_bb_disconnected
  branch mouse_bb_disconnected
Index: ZJL_3X_OnlyBLE/output/ramcode.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/ramcode.rom	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/ramcode.rom	(working copy)
@@ -1,52 +1,46 @@
 20200040
-2040019d
+20400419
 6800c1de
-6000ccf4
-20400560
+6000ccb8
+20400745
 6800c685
-6000cb48
-20400290
-2040012d
-204005f1
-20400012
-20400023
-20405810
-20405839
-2040582c
-20405818
-20403e1e
-20200102
-58000189
+6000cb44
+6800cb30
+6000cb31
+204043ca
+20400314
+2040000e
+20400021
+20200338
+580003eb
+60014d32
+58000405
 600141ef
-5800049b
+58000684
 600141f9
-580001bd
+58000434
 600141f1
-580000bd
+580002b9
 600141ed
-580001f5
+58000471
 600141f5
-580001e2
+5800045c
 600141f3
-58000228
+580004a6
 600141eb
-58000235
+580004ad
 600141fd
 20600000
 58000019
-60014d80
-2455802f
-204000e6
-2040022e
+60014d44
+24558029
+20400316
+20400335
 6800c71f
 6000c71e
-680344a0
-60034b64
-6800c241
-c3810000
-20200373
+20600000
 58000177
-60014d80
+60014d44
 20600000
 20000001
 20000001
@@ -62,64 +56,69 @@
 20000001
 20000001
 20000001
-c2840059
-c0008076
-c001007f
-c04285c2
-c0448595
-c04505c4
-c00d84b0
-c01304b2
-c02404ce
-c02504d0
-c02884d9
-c02c84cc
-c05384de
-c05684f4
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+c2840058
+c0008075
+c001007e
+c04287b1
+c0448782
+c00d869d
+c013069f
+c02406ba
+c02506c1
+c02886ca
+c02c86b8
+c05386cf
+c05686e8
 c065b3e4
-c0748505
-c0508088
-c058808d
-c06200ca
-c0718375
-c073039d
-c07503da
-c07583e1
-c07603e7
+c07486f9
+c0508087
+c058808c
+c0590096
+c06202dc
+c073058a
+c07505cd
+c07585d3
+c07605da
 20202a8e
-c01c83ea
-c02183f2
-c02503f8
-c02b83fb
-c02c83fd
-c03183ff
-c033042f
-c033844e
-c0350486
-c03b8491
-c07d0548
-c0028507
-c0400509
-c0410513
-c0440524
-c046049d
-c04684a9
-c050031a
+c01c85e3
+c02185eb
+c02505f1
+c02b85f4
+c02c85f6
+c03185f8
+c0330622
+c0338639
+c035066f
+c03b867a
+c00286fb
+c04006fd
+c0410707
+c0440709
+c046068a
+c0468696
+c0500528
+c07d072d
 20202a8e
 1fe22200
-6808ccf8
-58004cff
+6808ccbc
+58004cc3
 98408a00
 1a227e00
 e0a08000
 18408401
 18410407
-6008ccf8
+6008ccbc
 20600000
 d8a009ae
 df20000c
 20407ed4
-20400177
+204003fc
 20406a03
 20405cf6
 2455ac65
@@ -132,7 +131,7 @@
 6800c65a
 203a2012
 6800c5b1
-203a0082
+203a0081
 20202012
 58000a06
 6001c510
@@ -140,12 +139,8 @@
 60014513
 20202aa2
 c6130000
-6800cb28
-243a7fef
-6800cb2d
-243a7fef
-6800c79e
-203a7fef
+6800c79c
+c0007fef
 6800c7c4
 c000ffef
 68014248
@@ -153,12 +148,542 @@
 6800c806
 243a7fef
 20207ff1
+c6930000
+6800cd41
+c00080ae
+20400145
+243400ca
+2040012c
+20400169
+6800cc11
+c1ff8000
+20400756
+204000aa
+6800cb26
+c00083ee
+204000d5
+24740000
+204002c0
+5800ec54
+20407f49
+600a415b
+20202b2a
+58017700
+6001cc30
+704b6c14
+20600000
+2040028b
+24740000
+204000c4
+68014d42
+1fe0fe01
+60014d42
+68094d44
+98467c00
+204280b8
+20200099
+704d4100
+58000000
+60014d42
+58000064
+60014d44
+704c3c00
+6800cc27
+6000cc26
+20600000
+6800cc28
+6000cc26
+20600000
+6800cc3c
+1fe0fe01
+6000cc3c
+c00200c1
+c00280bd
+20600000
+6800cc2d
+205a00de
+6800c6cf
+1fe67c0a
+20610000
+204000d5
+24740000
+6801cc30
+20407f49
+600a415b
+20202b2a
+78347c00
+20402afa
+6801c16f
+203a7fe9
+6800c091
+203a7fe9
+6800cd41
+c000ffe9
+202002c3
+704c2d01
+704d3600
+204000f1
+6000cb9d
+58000000
+6003cb9e
+68024c38
+60024ba5
+704c010c
+6800cc02
+79207e03
+6000cc02
+20400148
+2020009c
+680240a0
+60024c38
+20600000
+704d3701
+704d3900
+6800cc02
+1fe17e07
+6000cc02
+20600000
+6800cc02
+79207e04
+6000cc02
+6000cbbd
+20600000
+6800cc02
+793ffe04
+6000cc02
+6000cbbd
+2040074c
+20400203
+20600000
+2040074c
+6800cd38
+c0008106
+c001010a
+20600000
+704d3902
+704d3500
+704d3700
+202000f1
+704d3600
+20200107
+68014c07
+1fe0fe01
+60014c07
+c28501b1
+6800cd36
+c0008115
+704d3601
+6800cd36
+c08080f1
+6800cd34
+1fe0fe01
+6000cd34
+c002011c
+20400203
+704c4602
+20200169
+2040074c
+704d3400
+202000f1
+704d3902
+704d3701
+704d3600
+202000f1
+6800cd38
+c0018120
+6800cc02
+2fec0004
+202080ef
+6800cd38
+c000811f
+c0010120
+20600000
+6800cc11
+c1ff8000
+20400131
+24560139
+20600000
+78567c00
+6800cd37
+c1808000
+6800cd39
+c1800000
+704d3801
+704c4604
+20207feb
+6800cd39
+203a0140
+1fe0ffff
+6000cd39
+704d3802
+704c4604
+20200203
+704d3803
+6800cd36
+243a0113
+704c4602
+20200203
+6800cc11
+c0ff81bc
+2040014b
+204001f1
+704c0601
+20600000
+68014d32
+20407f9c
+20340151
+6803cb9e
+207a0000
+20207fe7
+204004a5
+20400329
+704c2d00
+1a20fe01
+6000cc01
+204000f1
+6000cb9d
+e8a88000
+ea408000
+9841fe00
+e0a08000
+1a40a401
+ea420000
+e0a20000
+1a40a404
+d8a04ba3
+df200002
+ea408000
+e8a88000
+9840fe00
+e0a08000
+1a40a401
+c2000162
+20600000
+704c0a00
+d9600d00
+34730200
+2040018b
+6800cc3d
+c1008000
+242c019a
+2437819a
+20400183
+204001b5
+20400748
+704b5600
+6800cc00
+1fe0fe01
+6000cc00
+20400186
+6800cc11
+c0ff8189
+20400123
+58000000
+60014c07
+6000cc09
+6000cd35
+6000cb5d
+704c0600
+20600000
+df200004
+d8a04b9d
+20207ec6
+6800cc02
+c28200fa
+20600000
+20400745
+202001be
+7857fc00
+2040026a
+6800cc3d
+c0008198
+18002a00
+68024c29
+98001200
+68088017
+2040291f
+20402924
+20400226
+20578262
+20600000
+20400262
+20200174
+6800cc09
+1fe0fe01
+6000cc09
+6800cc11
+c0ff81ae
+6808cc0a
+18408401
+6008cc0a
+6800cc46
+98467e00
+243a016a
+6800cd38
+c001810c
+6800cd35
+1fe0fe01
+6000cd35
+c0010101
+204000f5
+704c4601
+20200169
+6800cc09
+c1ff8000
+704c0900
+58000000
+60014c07
+700a993a
+20207d86
+204001d6
+6800cbff
+207a0000
+98007200
+d8c04b7d
+d8a04bdf
+20207f01
+7011c590
+202007b3
+7011c591
+202007b3
+7011c560
+202007b3
+7011c570
+202007b3
+70119eff
+6800cc02
+6000919f
+68024c38
+600211a0
+d8400006
+da20119e
+204001d1
+202001f1
+793f8026
+204053ce
+d8e00003
+202043d2
+6008cc01
+18427200
+d8a04b9d
+1a220c00
+20207f01
+6800cb7c
+1fe97e00
+6000cbff
+1fe0fe01
+d8c04b7c
+98c08c00
+e8c18000
+6001cc3e
+6800cb7c
+1fe37e00
+1fe17e03
+6000cc44
+20600000
+60024c29
+da200000
+df200004
+d8c04c29
+e8c08000
+9a20a200
+c20001e7
+1a227e00
+60014cb2
+6800ccb2
+6808ccb3
+9840fe00
+6000ccb4
+20600000
+6800cc01
+1fe0fe02
+6000cc03
+6800cc02
+6000cbbd
+6800cc01
+1fe9fe00
+6808cc00
+18410403
+18438400
+9841fe00
+6808cc3d
+9840fe00
+e0a08000
+6800cc01
+98007200
+d8c04b9d
+20207f01
+6808cc0c
+20400207
+6008cc0c
+20600000
+2040020b
+18408401
+18410403
+20600000
+6800cc29
+1fe17e03
+1fefa204
+58004c12
+9a20fe00
+98408c00
+e8c08000
+6000cc0b
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+6800cc0b
+1fed8400
+79200401
+18431c00
+20600000
+204053c4
+68024c29
+98001200
+20402918
+6808cc0b
+2040291f
+58000500
+20402a8f
+20402924
+20400214
+7857fc00
+7826fc00
+7830fc00
+78507c00
+78287c00
+68014c04
+98003600
+37c18400
+242c0266
+7846fc00
+7825fc00
+7823fc00
+7824fc00
+2040025f
+6000ccb5
+6808ccb4
+98467c00
+24228262
+2040025f
+6000cb7b
+6800cc47
+1fe67c02
+20228242
+6800cb7b
+6808cc02
+a8400e00
+24208262
+2040025f
+e0a08000
+1fe97e00
+1fe1721f
+2022824a
+2040025f
+e0a08000
+c2000247
+18a22200
+2040025f
+6000cd3c
+1a220a00
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+7845fc00
+20230262
+7837fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20402918
+6800cd3c
+2040006b
+20600000
+09800008
+19897e00
+20600000
+784dfc00
+7845fc00
+2040264d
+20600000
+20200262
+20402918
+6808cc0b
+20202933
+204053c4
+68024c29
+98001200
+20400214
+20400267
+79202a00
+782efc00
+78307c00
+7850fc00
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+784efc00
+782dfc00
+7823fc00
+7824fc00
+6800ccb4
+08008608
+6800cc03
+98007200
+d8c04bbd
+e8c08000
+08008608
+c2000280
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+784dfc00
+20600000
+20407fe9
+680a4c22
+1c427e00
+98467c00
+24412d18
+1fe22400
+68024c22
+6808cc26
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+60024c22
+20207fe7
+204029bb
+207a0000
+6808ccbb
+da200d9e
+204002a1
+6008ccbb
+20600000
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+18410407
+20600000
 d8400000
 df200008
 1a220c00
 e8c08000
 98408400
-c200009e
+c20002ab
 18497e00
 1fe20400
 c6930000
@@ -170,16 +695,31 @@
 98418400
 20600000
 20600000
-204000c7
-204000c4
+c6130000
+204003f2
+204002c3
+6800c040
+c30002c0
+680080a0
+247a0000
+58000000
+600400a1
+20600000
+204002d9
+204002c0
 20403ebf
-6808cb47
-20406825
+2040033a
 68120070
 681a0078
 98418400
 18440400
 601a007c
+6810807c
+793ffe06
+6010807c
+6810807c
+79207e05
+6010807c
 6810807d
 793ffe02
 6010807d
@@ -187,77 +727,105 @@
 793ffe06
 6010807e
 20600000
-c6130000
-2040016d
-204000ac
-6800c040
-c30000c4
-680080a0
-247a0000
-58000000
-600400a1
-20600000
-6800cb00
+6800cafe
 207a0000
-20200375
+20203d80
 2040296c
 20403416
 204074b9
-2035812d
-6801c4a3
-6001cbb3
+203582f1
 20400001
-204000d7
-204002fa
+d8400258
+680146aa
+98460400
+60094b59
+204002f2
+704b5019
+2040053c
+da204721
+6800c720
+6808c703
+98467c00
+202283b3
 6800c210
-c01980da
-c01a00dd
+c01982f5
+c01a02f9
 20600000
-6800ccf4
+20200314
+6800ccb8
 6000c1de
 20600000
+704b5501
 680341d0
 203a33eb
 20204274
-7011c612
-202005c7
+70479f01
+680146a8
+6808cb61
+18467cff
+242282ff
+58000258
+70479f01
+680146a8
+600146ae
+20403418
+6801cb65
+6001c374
+2040030b
+58000004
+e0c08000
+d8c04390
+204005d6
+20207df4
 da204370
 ea208000
 207a0000
 98c0a200
 e8c08000
 c1008000
-202000e0
-2040012d
+2020030c
+7011c561
+202007b3
+70421276
+20203d36
+20400314
 204040c0
 204040d9
-c01800ee
-c01880fd
+c0188321
 204040d1
 200003e8
-202000e8
-2040036d
-6800c6de
-c02d00f3
-c02a00fb
-202040e0
-7046e007
-da604b7a
-ea610000
-c17f8000
-20406413
-20002ee0
-1a60a602
-202000f5
-7046e002
-20600000
-2040036d
+20200318
+704afe01
+2040640f
+20400316
+20206411
+2040032e
 6800c6de
 c03840e8
 7046e001
 20600000
-7011c680
-202005c7
+70417200
+704b6b1e
+20600000
+6800cb6a
+c1808000
+58000000
+6000cb6a
+6002469b
+20400314
+58008006
+20406413
+20002ee0
+6800c77a
+c07fbd66
+20203d80
+20400314
+58000806
+20206413
+7011c580
+202007b3
+6808cb43
+20206825
 70808640
 70808700
 68108081
@@ -272,199 +840,262 @@
 793ffe00
 6010807f
 20600000
-2040015d
+204003aa
 20404423
 68014778
 d840aa55
 98467c00
-2022814f
+20228387
 60094778
 2040441c
 6800c6e1
 6000c77a
-68024b4e
+68024b51
 6002477b
-60024c65
-2040015d
-2040012f
-20400146
-2040013b
-20400132
-20400104
-d8400007
-da204b72
+60024c29
+2040039b
+204003aa
+20400366
+2040037e
+2040036a
+20400375
+d8400002
+da2047c2
 da40005f
 6801c700
 9a40fe00
-2040013b
-20400132
-20400155
-70421276
-20203d36
+2040036a
+20400375
+204003a1
+20200314
 6801c700
 6001c232
 2040652a
-580186a0
-20402a8f
-2040650b
-580001fa
-6011008c
-58000005
-204064f3
-c2800132
-20600000
+20200375
 1fe22600
 1a227e00
 1fe0fffc
 1fe22400
 ea420000
-60024b49
+60024b4c
 1a627e00
 20406552
-68024b49
+68024b4c
 e2420000
 20600000
+580186a0
+20402a8f
+2040650b
+580001fa
+6011008c
+58000005
+204064f3
+c2800375
+20600000
 5800477f
 d8404720
 98460400
 6801c700
 da204720
 20600000
-2040015d
-20400146
+204003aa
+2040037e
 20206562
-2040014c
-20400166
+20400384
+204003ac
 2040431a
 6802477b
-60024c65
+60024c29
+df200003
+d8c04722
+20400392
+24340399
+2040039b
+20600000
+20407fe7
+5800ffff
+e8c90000
+98467c00
+2442ffe9
+c2000394
+20600000
+704b615a
+20600000
+704b61ff
+70421034
+580f0f0f
+6001c4a0
+6001c4a3
 20600000
 700aa2b9
-20400104
-204069ac
+2040033c
+20000064
 2040650b
-da204b49
+da204b4c
 68088aa2
 20406556
-202069ac
-700aa2ab
-20200156
-704b775a
-20600000
-704b77ff
-70421034
-68034d82
-600344a0
+20000064
 20600000
-2040015d
-d8400007
-da204b72
+700aa2ab
+202003a2
+204003aa
+d8400002
+da2047c2
 da40005f
 6801c700
 9a40fe00
 20206562
+58000000
+60014c2e
+202001c0
+6800c720
+c1810000
+6800cb5d
+207a0000
+1fe0ffff
+6000cb5d
+203a340a
+1fe17e0f
+c00283d8
+c00503d5
+20600000
+6800c6ac
+207a0000
+6800cb5c
+1fe0fe01
+6000cb5c
+c00283e5
+c00503e0
+20600000
+6800cb50
+207a0000
+1fe0ffff
+6000cb50
+6800c720
+c00103d2
+6800cb50
+c28083e1
+202003e5
+6800cb50
+c28083d8
+202003d5
+704b4900
+6808cb4a
+202005bd
+704b4901
+6810807c
+793ffe05
+6010807c
+6808cb4a
+2040680e
+6808cb4a
+20206825
+704b5c00
+6808cb4b
+2040680e
+6808cb4b
+20206829
+6808cb4b
+202005c8
+204003e5
+202003d5
+704b5000
+20600000
+20404401
+6801469f
+207a0000
+704d4101
+58000000
+60014d42
+20600000
 d8c01800
 d8a0480a
-20400175
+204003fa
 d8c01900
-20400175
+204003fa
 d8c01a00
-20400175
+204003fa
 d8c01b00
 df20001b
 20207f01
 d8c0480a
 d8a01800
-20400175
+204003fa
 d8a01900
-20400175
+204003fa
 d8a01a00
-20400175
+204003fa
 d8a01b00
-20200175
-70417200
-704b451e
-20600000
-6800cb44
-c1808000
-58000000
-6000cb44
-6002469b
-2020036d
+202003fa
 20405892
 247a0000
-6800cb77
-c07f8190
+6800cb61
+c07f840c
 6800c6c5
 1fe17e03
 c1818000
-6800c79e
-205a01b8
+6800c79c
+205a0459
 680246d3
 c282c179
 20403f97
 24740000
-20400180
-20400183
-204001b3
+20400326
+20400329
+2040042f
 da20469a
 20407e3d
-205401a2
+2054041e
 20600000
-7047a207
-7047a304
-580047a2
+7047a007
+7047a104
+580047a0
 60014218
 20207e38
-6800c7c3
+6800c7c1
 1fe0fe01
-6000c7c3
+6000c7c1
 20600000
 da20469a
 20407e54
-203401aa
+20340426
 20600000
 20405652
-6800c7c3
+6800c7c1
 1fe67c01
 24415650
-6800c7c3
+6800c7c1
 207a0000
 1fe0ffff
-6000c7c3
+6000c7c1
 20203f90
 6801469f
 207a0000
 70480601
-7048070a
+70480702
 20600000
-70479e01
-20405814
-2020036d
-704b0001
-202000e6
 20770000
 6800c1e2
 207a0000
 20405271
 247a0000
-6800c79e
-205a01b8
+6800c79c
+205a0459
 680246d3
 c282bf8a
 c284bf8a
 20403f97
 24740000
-20400180
-20400183
-204001b3
-6800cb05
-c00081d1
-6800cb0c
+20400326
+20400329
+2040042f
+6800cb03
+c0008448
+6800cb0a
 207a0000
 20203f81
 6800c69a
-6000cb06
+6000cb04
 6800c69b
 e0a08000
 6800c69d
@@ -477,191 +1108,174 @@
 e0a10000
 580002a1
 e0a10000
-6802cb06
+6802cb04
 e0a28000
 20600000
+70479c01
+20405814
+2020031d
 20407e34
-204001e5
+2040045f
 20203ee0
 6808c6e7
-204003cf
+204005bf
+20400464
+6808c6e7
+202005c8
 6808c6e7
 2040681d
-202081f3
-204003ca
+2020bd62
 6800c6b6
 c1000000
 7046b600
 6800c77a
 1fe0fe01
-1fe17e03
+1fe67c03
+24417fef
 6000c77a
-20203d7e
-204003ca
-20203d62
+20403d7e
+20200358
 1a627e00
-c00a0203
-c00a820e
-c0148211
-c0190213
-c0200215
-c0020217
-c0098217
+c00a0482
+c00a8485
+c0148489
+c019048b
+c020048d
+c002048f
+c009848f
 c00cb3df
-c010821b
-c000821d
-c0010223
-c0158226
+c0108493
+c0008495
+c0010498
+c015849b
+c01c849d
+c01d04a0
+c01e04a4
 2020417d
-204001bb
-20403410
-704b7101
-6800c7a1
-243a0209
-704b6f14
-704b7900
-704b6d00
-204002ac
-2040019d
-202041c3
-2040022b
-7011c6a2
-202005c7
+2040031d
+7011c5b0
+202007b3
+704b6800
+204004a9
+7011c5a2
+202007b3
 700a9912
 20207d8f
-7011c6b3
-202005c7
-7011c6a1
-202005c7
-7011c6a3
-202005c7
-7011c670
-202005c7
-7011c6b1
-202005c7
-20400245
-204001bb
-204002ac
-204002e7
+7011c5b3
+202007b3
+7011c5a1
+202007b3
+7011c5a3
+202007b3
+2040438e
+202033a7
+7011c5b1
+202007b3
 70480900
+2040031d
 202042ca
-2040022b
-7011c6b4
-202005c7
-7011c6b2
-202005c7
-2040022b
-7011c6a0
-202005c7
-6800cb00
-207a0000
-704b0000
-204000e6
-58000006
-20406414
-1fe1fe08
-1fed7e00
-1fe0fe06
-20206413
-204002ff
-2040035d
-204002af
-2040028b
-204002a2
+204004a9
+7011c5b4
+202007b3
+7011c5b2
+202007b3
+2040031d
+7011c592
+202007b3
+204004a9
+704b5600
+7011c551
+202007b3
+2040031d
+20203f8d
+204004a9
+7011c5a4
+202007b3
+6800cafe
+207a0000
+704afe00
+20200335
+2040053c
+204004be
+204004e5
+20400509
 20404234
-2040024b
+2040423a
+204004ea
+204004f0
 20404237
-20400271
-20400274
-2040027c
-20400283
-20400269
+204004da
+204004dd
+204004d2
 20404231
-2040026c
-2020423a
-d8e00007
-202043ce
-704bad01
-20600000
-704bad00
-20600000
-6800cbad
-203a0257
-20400293
-6800c6d9
-c1000000
-680146a8
-600146ae
-18000e03
-680140b9
-20407f08
-7046d900
-20600000
-6800c6d9
-c1008000
-6800cb48
+204004d5
+204003c1
+204003b6
+202003c9
+680246d3
+c4020000
+6800c6ae
+243a03d5
+6800c6ac
+243a03d5
+6800cb50
+243a03d5
+6800c6cf
+1fe0fe01
+6000c6cf
 1fe67c14
-24410260
-6800c685
-6000cb48
-7046d901
+244104d0
+c00103d8
+c00203d5
+c00303d8
+c00403d5
 20600000
-6808c720
-18408401
-6800c6d2
-98467c00
-244143cc
-6008c720
-7041bd00
-2040011f
-20204378
+7046cf01
+202003d5
 da604809
 da40637a
 2020336d
-da604b0b
-da40026f
+da604b09
+da4004d8
 2020336d
-704b0c01
+704b0a01
 20600000
 da6046c6
 da403d60
 2020336d
-6800cb71
-207a0000
-da604b6f
-da400279
-2020336d
-6800cb70
-247a0000
-20205bf5
-da604b45
-da40027f
-2020336d
-6800c7c5
-6000c172
-704b4401
-20600000
-6800cb77
+6800cb61
 c1ff8000
-6800cb71
+6800cb68
 247a0000
-da604bb6
-da40028a
+da604b69
+da4004e4
 2020336d
-202003e1
+202005d3
 da604807
-da40028e
+da4004e8
 2020336d
 70480600
 20600000
-d8e00009
-204043d2
-202043ca
-da604b48
-da400296
+da604b6b
+da4004ed
 2020336d
-6800c720
-c1010000
+6800c7c5
+6000c172
+202004f5
+da604b6c
+da4004f3
+2020336d
+580ea600
+6001cc30
+704b6a01
+20600000
+da604b44
+da4004fa
+2020336d
+6808c720
+6800c703
+98467c00
+20628000
 68014682
 2feffe0b
 2040c2d4
@@ -669,171 +1283,114 @@
 2feffe07
 2040c392
 202043b8
-68014687
-600146ac
-20600000
-6800c79f
-207a0000
-da6047a0
-da4002a7
-2020336d
-70479f00
-2020340a
-70479f01
-7047a028
-20600000
-70479f00
-7047a000
-20600000
-6800cb26
-207a0000
-6800cb29
-c00082c4
-204002d1
-6800cb2e
-1fe0fe01
-6000cb2e
-6808cb2a
-98467c00
-204282bb
+704b6001
 20600000
-704b3000
-202002ed
-704b2b05
-704b2f00
-704b2d01
-704b2c05
-704b2601
-704b2901
+704b6000
 20600000
-da604b2c
-da4002c7
-2020336d
-6800cb2b
-6000cb2c
-6800cb2f
-203a02cf
-6800cb2d
-203a02eb
-1fe0ffff
-6000cb2d
-6800cb28
-c00082ed
-704b2801
-6800cb2e
-243a02da
-6800cb30
-243a02da
-6800cb29
-243a02da
-6800c231
-c28002df
-6808cb27
-79200407
-2040680e
-6808cb27
-20206829
-704bb101
-6810807c
-793ffe05
-6010807c
-6808cbae
-2040680e
-6808cbae
-20206825
-6800cb2e
-247a0000
-6800cb30
-247a0000
-58000000
-6001cb2c
-6800cb2d
-243a02f1
-704b2600
-704b2900
-704b2e00
-704b2800
-6800cb27
-c17f8000
-6808cb27
-204003ca
-704bb100
-6808cbae
-202003d5
-704b3001
-704b2601
-704b2900
-704b2e00
-20600000
-68014b2d
-247a0000
-6800c6ce
-1fe0fe01
-6000c6ce
-1fe67c0a
-20410313
-24410317
-204068a8
-20400333
-20406908
-6001470f
-da204709
-2040033a
-6800c231
-c2810247
-c280b40a
-c300032e
-704aff01
-202043e7
-6800cbb1
-243a0317
-70422d02
+6800cb60
+203a0515
+204004f7
+6800c6d9
+c1000000
+680146a8
+600146ae
+18000e03
+680140b9
+20407f08
+7046d900
 20600000
-7046ce00
-70422d00
+6800c6d9
+c1008000
+6800cb44
+1fe67c14
+6800c685
+6000cb44
+7046d901
 20600000
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+20400358
+680246d3
+c1048000
+2020437e
 6800c22d
-c001031d
+c001052b
 2020690a
 68014223
 6809421d
 da600032
-20200321
+2020052f
 98462200
 6801422f
 98467e00
-24210326
+24210534
 2020691e
 18427e00
 6809422f
 98467e00
 9a267c00
-2041032c
+2041053a
 2020692a
 1a227e00
 20600000
+6800c6ce
+1fe0fe01
+6000c6ce
+1fe67c05
+20000064
+2041054e
+24410552
+204068a8
+2040055d
+20400528
+6001470f
+da204709
+20400567
+6800c231
+c2810505
+c3000555
+704afd01
+202043e7
+6800cb49
+243a0552
+70422d02
+20600000
+7046ce00
+70422d00
+20600000
 204043e9
-6800caff
+7046cf0c
+6800cafd
 207a0000
-704aff00
-202002f7
+704afd00
+6800c6ef
+6000c715
+20204296
 6800c22d
-c0010336
+c0010560
 202068ec
 6810807c
 793ffe05
 6010807c
-202068f4
+7089718f
+6800c22e
+60108973
+202068f8
 ea240000
 60040a9a
 6800c22d
-c001034b
-c000033f
+c0010578
+c000056c
 68010aa0
 68090a9c
 98467c00
 24216944
-20400351
+2040057e
 68090a9e
 98467c00
 24216940
@@ -841,12 +1398,12 @@
 793ffe00
 6000c231
 20600000
-68094bab
+68094b5e
 68010aa0
 98467c00
-24210355
-20400249
-20200359
+24210582
+20400507
+20200586
 6808c231
 793f8401
 6008c231
@@ -859,146 +1416,94 @@
 793f8402
 6008c231
 20600000
-680246d3
-c4020000
-68014682
-c3858000
-c3830000
-68014b2d
-247a0000
-6800c6cf
-1fe0fe01
-6000c6cf
-c00282d1
-1fe67c0a
-2421036b
-20600000
-7046cf01
-202002ed
-2040012d
-58008006
-20406413
-20002ee0
-6800c77a
-c0ff8375
-6800c6e1
-6000c77a
-6800c77a
-1fe67c01
-20428382
-6800c77a
-c0000384
-c001838a
-6800c6e0
-c0030390
-c0038390
-c0010396
-6800c781
-6000c6b5
-20203dc1
-70477a02
-20600000
-6800c6e0
-c0030392
-c0038392
-c0010399
-6800c77f
-20200380
-6800c6e0
-c0030394
-c0038394
-c001039b
-6800c782
-20200380
-6800cb3a
-20200380
-6800cb38
-20200380
-6800cb3b
-20200380
-6800cb3a
-1fe0fe03
-20200380
-6800cb38
-20200397
-6800cb3b
-20200397
 78547c00
 58000000
 6003469b
-204003d7
+20403fb5
 20404079
 2040407e
-204003a7
-243405f1
-204005e8
+20400593
+24740000
 20203fa0
-204003a9
+20400595
 2020409a
 da200000
-204003af
-204003ad
+2040059f
+204005a5
+204005ab
+2040059b
 2020408e
-204003bf
-202003c5
+6800c6e5
+c17f8000
+204005b1
+202005b7
 6808c6e2
-204003ca
+204005c8
 6808c6e2
 2040681d
 7920a200
+20600000
 6808c6e3
-204003ca
+204005c8
 6808c6e3
 2040681d
 7920a201
+20600000
 6808c6e4
-204003ca
+204005c8
 6808c6e4
 2040681d
 7920a202
 20600000
 6808c6e5
-204003cf
+204005bf
 6808c6e5
 2040681d
 7d20a203
-202003ca
+202005c8
 6808c6e6
-204003cf
+204005bf
 6808c6e6
 2040681d
 7d20a204
-79200407
-d8a08078
-20406830
+202005c8
 793f8407
-202003d3
+20206806
 793f8407
 d8a08078
 20406830
 79200407
 d8a0807c
-2020680a
+20406830
 793f8407
-20206806
-20403fc0
-78547c00
-20203fe7
-204002ac
-7046b400
-6800cb79
-205a4386
-58000000
-600146b0
-2020426f
-7011c630
-202005c7
+d8a08070
+20206830
+79200407
+d8a08078
+20406830
+793f8407
+202005c3
+704b5000
+280ffe26
+204081cd
+2020426d
+7011c581
+202007b3
+704b5c00
+7011c550
+202007b3
 d8a0437b
 df200013
 20407f01
 202057b8
-204002e7
-2040036d
+58000000
+600146ac
+6000cb5b
+6000c714
+6000cb5c
+704b4705
+204003e5
+2040032e
 202042cb
 6800c50f
 1fe0fe01
@@ -1006,7 +1511,7 @@
 c0065395
 204055aa
 2040561e
-20400569
+20400756
 2020538f
 68008016
 1fe0fe01
@@ -1015,36 +1520,38 @@
 70001625
 20600000
 204029bb
-2040006c
+2040006b
 202054a3
-7011c620
-202005c7
-7011c621
-202005c7
+7011c540
+202007b3
+7011c541
+202007b3
 68008456
-c282841f
-20400563
+c282860c
+20400748
 6800c78e
-243a0409
+243a0602
 6800843f
-c302040d
+c3020606
 680082da
-203a040d
+203a0606
 20205664
 6800c78e
 1fe0ffff
 6000c78e
 20205664
 6800c4c4
-c0828410
+c0828609
 70478e03
 20405892
-205a01a6
+205a0422
 20205622
+2040060e
+2020061a
 6800c6c5
 1fe17e03
 c1818000
-6800c7c3
+6800c7c1
 207a0000
 6800c3dd
 207a0000
@@ -1053,21 +1560,13 @@
 6000c3dc
 20405650
 20600000
-20400413
-6800cd76
-1fe67c02
-24410567
-6800cd76
-c1000000
-1fe0ffff
-6000cd76
-20600000
-6800c7a1
+2020074c
+6800c79f
 207a0000
 6800c6c5
 1fe17e03
 c1018000
-7046c602
+7046c601
 20600000
 c6078000
 20405890
@@ -1082,37 +1581,29 @@
 18c27e00
 6001450d
 6800c50c
-c001843e
+c0018631
 2020568d
 680082db
-c0000442
-c0008449
+c0008634
 20205c65
-20405c7b
-6800cb63
-207a0000
-6800c3d8
-6000c172
-6000c7c5
-20600000
 e8c28000
 6002c3ce
 e8c10000
 6001045f
 20205c8a
 e8c10000
-c0020452
-c003047e
+c002063d
+c003066a
 20205698
 20407ea5
-20400428
+2040061b
 20407e9f
 e8c18000
 60018477
-c0080461
+c008064c
 1fec8400
 18467c24
-2021046f
+2021065a
 d84047c6
 600944bc
 204058ad
@@ -1133,32 +1624,30 @@
 5800002b
 e0c10000
 20600000
-c0050471
+c005065c
 202058ad
 68090478
 6800c4e9
-c2818478
+c2818663
 68010478
 c009da76
 68090478
 202059bf
 680144fa
 98467c00
-24228474
+2422865f
 20405a42
-24340474
-202059e2
+2434065f
+70047a05
+20205a77
 e8c08000
-c0008482
-c0028484
+c002866d
 20205af5
-704b7001
-20205b09
-7011c682
-202005c7
+7011c582
+202007b3
 68008016
 c093d6f2
-2040048c
+20400675
 d8e00000
 68014482
 20207f08
@@ -1168,7 +1657,7 @@
 1fe0fefa
 20203cbe
 7855fc00
-20370494
+2037067d
 2436d806
 20402bcb
 680140c1
@@ -1177,8 +1666,12 @@
 2fe00603
 2420abde
 202057fb
-7011c622
-202005c7
+6800c79f
+247a0000
+68008478
+1fe67e1a
+24628000
+20203d60
 68108077
 1fe17efd
 60108077
@@ -1188,7 +1681,7 @@
 204063ee
 184104fd
 2000000d
-204004aa
+20400697
 60188073
 20600000
 204064dd
@@ -1198,8 +1691,8 @@
 793ffe03
 60108081
 20600000
-7011c600
-202005c7
+7011c500
+202007b3
 204021c9
 24740000
 78547c00
@@ -1208,41 +1701,45 @@
 793f802d
 20402a4f
 204022e6
-c50584bf
+c50586ac
 20402455
-243a04b8
-c51684c8
+243a06a5
+c51686b4
 202021ec
 20402a4d
 d8200010
 204022dc
 7920002d
 793f800b
-68008077
-98000800
+18000801
 70001102
-202004b8
+202006a5
 68020165
 1fe0fe08
 60020165
 202021f8
 c516264d
 2020258f
-7011c623
-202005c7
+204033af
+204026e9
+700a9902
+20407d86
+20405cf7
+20404d6b
+2020246e
 68008030
 2feffe00
-204084d4
+204086c5
 2020248a
 68008047
 2feffe03
-20408420
-24408563
-20200569
+2040874c
+24408748
+20200756
 204024f0
 242c28f9
 204029bb
-2040006c
+2040006b
 20202518
 c6130000
 20402afa
@@ -1250,8 +1747,11 @@
 207a0000
 6800c091
 207a0000
+6800c6cf
+1fe67c0a
+20610000
 6800c65a
-203a04e8
+203a06dc
 6800c5b1
 207a0000
 6800c4c0
@@ -1278,75 +1778,60 @@
 c586abde
 20405274
 243a2bde
-205a0502
+205a06f6
 20202bbe
 70008a01
 70008b00
 20600000
-7011c601
-202005c7
-7011c602
-202005c7
+7011c510
+202007b3
+7011c511
+202007b3
 68008552
 600084c9
-c009850d
+c0098701
 20205db4
 20405dcf
-704b0101
-6800cb03
+704aff01
+6800cb01
 207a0000
-704b0302
+704b0102
 20600000
-78547c00
-204062c1
-68008048
-207a0000
-c283851c
-c001851e
-c0188520
-c00b8522
-20206010
-7011c610
-202005c7
-7011c611
-202005c7
-704b0301
-202061c3
-704b0b04
-202061a4
+7011c520
+202007b3
 204062bc
 247a0000
 68008055
 207a0000
-c0020546
-c008052b
+c002072b
+c0080710
 20206320
 6800c55b
 c1000000
-c000852f
+c0008714
 2020635f
 20748000
 6800816d
-c2800533
+c2800718
 20206399
-6800cb03
+6800cb01
 c000e39d
 6800c1bd
 203a63a9
 680084d1
 c4018000
 c4010000
-6800cb02
+6800cb00
 207a0000
-704b0200
+704b0000
 680204e9
 d8400014
 98408400
 1c427e00
 98467c00
-24210544
+24210729
 20206349
-704b0201
+704b0001
 20600000
 70480914
 2020636f
@@ -1354,13 +1839,16 @@
 243a7ddb
 68008a99
 c584fdd6
-c00f8550
-c0100553
-c009055d
+c00f8738
+c010073b
+c0090735
 20207dca
+20405890
+247a0000
+20205abf
 70018534
 6803044f
-20200555
+2020073d
 70018533
 68030040
 60030186
@@ -1370,59 +1858,64 @@
 204043d2
 204042e8
 204042fb
-2020011f
-20405890
-247a0000
-20205abf
-704d7901
-704d7600
+20200358
+704d3d01
+704d3a00
 20600000
-6800cd76
+6800cd3a
 1fe0fe01
-6000cd76
+6000cd3a
+20600000
+6800cd3a
+1fe67c02
+24410754
+6800cd3a
+c1000000
+1fe0ffff
+6000cd3a
 20600000
-704d7603
+704d3a03
 20600000
 68014682
 c3858000
 c3838000
 c3830000
-da204cff
-2040009b
-6008cd77
+da204cc3
+204002a8
+6008cd3b
 58000082
-c5130573
+c5130760
 58000080
 98467c00
-2421058b
-6800cd76
+24210778
+6800cd3a
 1fe67c02
-2421057b
-6800cd76
-c000058c
-20600000
-6800cd76
-c1990000
-704d7600
-6808cd77
+24210768
+6800cd3a
+c0000779
+20600000
+6800cd3a
+c1900000
+704d3a00
+6808cd3b
 58000077
-c5130582
+c513076f
 58000075
 98467c00
 24610000
-6800cd79
-c0000593
+6800cd3d
+c0000780
 1fe0ffff
-6000cd79
-c0000593
+6000cd3d
+c0000780
 7041de00
 20600000
-704d7600
-6800cd79
-c0010591
+704d3a00
+6800cd3d
+c001077e
 1fe0fe01
-6000cd79
-c0008589
+6000cd3d
+c0008776
 7041de02
 20600000
 7041de04
@@ -1443,23 +1936,20 @@
 2000000a
 7089027d
 6800c1de
-c00105ad
-c00205b5
-c01005bf
-204005ba
+c001079a
+c002079f
+c01007ae
+204007a4
 708955d0
 708956e0
 7089586c
 2020294b
-70894cfb
-70894def
-70894eec
-70894f5e
+204007a9
 708955d0
 708956e0
 7089583c
 20202953
-204005ba
+204007a4
 708955d0
 708956c0
 7089586c
@@ -1469,143 +1959,46 @@
 70894e2c
 70894f46
 20600000
+70894cfb
+70894def
+70894eec
+70894f5e
+20600000
 708956c2
 708955d0
 20600000
 18002a08
 202028fa
-20402978
-70804205
-20600000
-680891c6
+680891c5
 18518400
-6800cb54
+6800cb6d
 98467c00
-202285e6
-6008cb54
+202287d2
+6008cb6d
 18408401
 58000100
 984f8400
-6801cb55
+6801cb6e
 98467e00
-6809cb58
+6809cb71
 9840fe00
 1fe0fffb
-6001cb5b
-2040015d
-6801cb5b
+6001cb74
+204003aa
+6801cb74
 d8400100
 da201f00
 20406562
 68021f00
-680a4b5e
+680a4b77
 98467c00
-242285d7
-2040012d
+242287c3
+20400314
 58001f00
 60014199
 70419b40
 204064ca
 58000000
 60024199
-680091c6
+680091c5
 20200001
-6802469b
-207a0000
-2040063b
-58000006
-2040062e
-58000003
-20400634
-6800cb0d
-c00085f4
-df200005
-d8a04b0d
-20207ed4
-68014b0e
-600111be
-6801469b
-600111c0
-20400607
-680111be
-60014b0e
-680111c0
-6001469b
-68014b10
-600111be
-6801469d
-600111c0
-20400607
-680111be
-60014b10
-680111c0
-6001469d
-20600000
-680111be
-680911c0
-9840fe00
-600191c2
-2feffe10
-20208614
-680091c3
-c07f861b
-680091c2
-1fe37e00
-600111be
-600111c0
-20600000
-680091c3
-c0000618
-680191c2
-20200610
-7011c400
-680091c2
-20200610
-680091c2
-20400626
-600091be
-600091c0
-203a0624
-580000ff
-600091bf
-600091c1
-20600000
-58000000
-20200621
-1fe67e00
-60008aae
-68008aae
-1fe37e00
-60008aae
-68008aae
-1fe67e00
-20600000
-9a267c00
-24210639
-9a467c00
-24210639
-704b0d00
-20600000
-9a267c00
-24610000
-9a467c00
-24610000
-20200632
-704b0d01
-20600000
-6801469b
-20400642
-1fe22200
-6801469d
-20400642
-1fe22400
-20600000
-600111c0
-680091c1
-c07f8648
-680091c0
-1fe17eff
-20600000
-680111c0
-1fe67e00
-20200646
Index: ZJL_3X_OnlyBLE/output/romcode.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/romcode.rom	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/romcode.rom	(working copy)
@@ -24572,9 +24572,23 @@
 e0a08000
 c2007ff9
 20600000
-c0008005
-c000001d
-c001002a
+c0000003
+20600000
+6800800e
+1fe0fe01
+6000800e
+20402435
+7920002c
+204022f2
+202c000e
+793f802c
+20402455
+243a0007
+202020fc
+793f802c
+2020215f
+c0080004
+c0088015
 20600000
 70480800
 7041e30e
@@ -24582,89 +24596,71 @@
 68014208
 c283c1f5
 c28033a9
-c280800f
-c2810012
-c2818012
+c280800e
+c2810011
+c2818011
 202042b0
-c2828012
-c2818012
+c2828011
+c2818011
 202042b0
 68014682
 c28642b0
 204033a9
-204003a9
-c003801a
-6800c6b6
-203a001a
 202033a7
-70479f01
-7047a028
-20600000
-6800800e
-1fe0fe01
-6000800e
-20402435
-7920002c
-204022f2
-202c0028
-793f802c
-20402455
-243a0021
-202020fc
-793f802c
-2020215f
 68010264
 1fe20c00
 e8c08000
-6000cb04
+6000cb02
 1fe1040f
 1ff1fe00
-c0038033
-c000803a
+c003801e
+c0008025
 20204d39
 20404d53
-704b0500
-6800cb04
+704b0300
+6800cb02
 2feffe00
 20608000
-704b0501
+704b0301
 20600000
 18427e00
-c0028219
+c0028491
 20204d41
-c0080015
-c0088022
-c0090005
-20600000
-704b7001
-7047a101
-680146a8
-6808cb77
-18467cff
-2422800c
-58000258
-600146ae
-20400245
-20403418
-204000df
-58000004
-e0c08000
-d8c04390
-204003e3
-20207df4
+c0100003
+20600000
+78547c00
+204062c1
 68008048
-c0420019
-c041801c
+207a0000
+c283800d
+c0018024
+c0188019
+c00b801b
+c003801d
+20206010
+c0420010
+c0418013
 2020603f
-2040001f
+20400016
 68008048
 20206099
-2040001f
+20400016
 68008048
 2020610d
 6800c65a
 203a612b
 20206124
+704b0101
+202061c3
+704b0904
+202061a4
+20406152
+6800cb55
+207a0000
+6800804b
+793ffe03
+6000804b
+20200335
 18007e02
 20406298
 68008049
@@ -24672,23 +24668,59 @@
 6000cafc
 204062a7
 6800cafc
-c017002b
+c017002d
 20206051
-6800cb01
+6800caff
 207a0000
-704b0100
-6800cb03
+704aff00
+6800cb01
 c1810000
-704b0201
+704b0001
 1c427e00
 600204e9
 20600000
-c0100006
-c0108018
-c0110025
-c011802c
+c0180003
 20600000
-2040000e
+204062bc
+247a0000
+68008055
+207a0000
+c0020025
+c008000a
+20206320
+6800c55b
+c1000000
+c000800e
+2020635f
+20748000
+6800816d
+c2800012
+20206399
+6800cb01
+c000e39d
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+6800cb00
+207a0000
+704b0000
+680204e9
+d8400014
+98408400
+1c427e00
+98467c00
+24210023
+20206349
+704b0001
+20600000
+70480914
+2020636f
+c0200004
+c0208016
+20600000
+2040000c
 2020557d
 6800c7c5
 6000c172
@@ -24698,17 +24730,17 @@
 20600000
 6800c3d6
 1fe67c0c
-2421000c
+2421000a
 6800c3d8
 6808c7c5
 98467c00
-20210008
+20210006
 6800c3d8
 6000c172
-2020000a
+20200008
 6800843f
 c4030000
-2040001d
+2040001b
 24740000
 202055a0
 78347c00
@@ -24719,89 +24751,193 @@
 1ff1fe00
 c1800000
 20207fe9
-6800c7a1
-247a0000
-68008478
-1fe67e1a
-24628000
-7046c600
-20203d60
-204033af
-204026e9
-700a9902
-20407d86
-20405cf7
-20404d6b
-2020246e
-c0180003
+c0280004
+c028802d
 20600000
-204000d7
-704b7000
-704b6d01
-70472001
-70479e00
-20400021
-6801cbb3
+204002f2
+70479c00
+20400399
+68014682
+c2858011
+204003ac
+680947c2
+18408401
+600947c2
+600944a1
+2040035d
+180a7e00
+6000c4a0
+58ed8e0e
 6001c4a3
-2040015f
 20403418
 68014687
 600146ac
+704b4705
 70016d06
 58000000
 600146b0
 600146ae
-20400245
+d8e00007
+204043ce
 204043ca
 6800c092
 2feffe01
-2040801a
-204042c4
-202002bd
-7047a100
-204000df
+20408026
+6800c092
+2feffe00
+2040fddd
+704b5500
+202042c4
+70479f00
+2040030b
 58000005
 e0c08000
-d8c04b12
-204003e3
+d8c04b10
+204005d6
 20207df4
-20400166
-68094b72
-18408401
-60094b72
-600944a1
-20400124
-180a7e00
-6000c4a0
-20600000
-20600000
-20600000
+6800cb5d
+247a0000
+6800cb57
+243a0037
+704d4100
+204002f2
+204001cd
+7041bd00
+204002c5
+2020340a
+1fe0ffff
+6000cb57
+202003b3
+c0300004
+c0308028
+20600000
+793f8026
+6800cb57
+1fe17e01
+245a001e
+205a001b
+6800cc11
+c1ff8000
+204001c4
+200007d0
+6800cc2e
+c03801b3
+2040018b
+242c0023
+24378023
+79200026
+58000000
+60014c2e
+6000cb5d
+6000cb57
+700a993c
+20407d86
+20400183
+202003ee
+204002f2
+6802477b
+20200020
+7041de20
+68024b51
+60024c29
+204001e4
+20200203
+68014c2e
+1fe0fe01
+60014c2e
+20400203
+2020000c
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+6000cb57
+60014c2e
+704b5dc8
+204042ca
+20200032
+79200026
+20400036
+704c1101
+20600000
+7041de20
+704c0000
+704c0b4e
+68024c0d
+202001e3
 c0380003
 20600000
-5fffffff
-60030040
-70018533
-704b77ff
-204042fb
-704721ff
-2020011f
-c0400003
+793f8026
+2040001d
+204001c4
+200007d0
+6800cc2f
+c28101b3
+2040018b
+242c0019
+24378019
+204001b5
+204002f2
+68024c29
+680a4c0d
+98467c00
+20228027
+79200026
+58000000
+60014c2e
+700a993c
+20407d86
+20400183
+202003ee
+68014c2e
+1fe0fe01
+60014c2e
+20200006
+7041de20
+58000f0f
+60014c29
+e0a10000
+204001e4
+20200203
+2040001d
+20200006
+2040002b
+20200006
+79200026
+2040002b
+704c1101
+20600000
+7041de20
+704c0000
+704c0b4e
+68024c0d
+202001e3
+c040000a
+c0408004
+20600000
+204068a2
+6801421d
+243a0008
+58001122
+600147c2
 20600000
+204000ec
 20403e6e
-6808cb47
+6808cb43
 2040680e
-20400012
+20403e1e
+2040001a
 58000000
 60014154
 204068a2
 20403e54
-20400112
-68034b4e
-680b4722
-98467c00
-2422815f
-20400161
-20600000
+20405810
+20405839
+2040582c
+20405818
+204005d1
+2020034a
 204074b9
 d8c08c00
 d8a04876
@@ -24829,64 +24965,127 @@
 58004876
 60014575
 20600000
-20600000
-c0500024
-c050800b
+c0480005
+c048801f
+c049002f
+20600000
+6800cc06
+c000ffe7
+6800cc11
+c000800c
+c001000f
+c0018012
+20202a8c
+704c1111
+70119eaa
+20200014
+704c1112
+70119e55
+20200014
+704c1113
+70119e22
+6800cc02
+1fe17e07
+6000919f
+68024c38
+600211a0
+7011a400
+da20119e
+d8400007
+204001d1
+20400148
+20207fe7
+6800cc11
+c17f8000
+c0088025
+c0090027
+c0098029
+20600000
+704c1102
+2020017c
+704c1103
+2020017c
+704c11ff
+700a9939
+20407d86
+68024be1
+204001e3
+2020017c
+204004a5
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+6000cb57
+7046a700
+2040405d
+204002f2
+68024c29
+6002477b
+20200358
+c0508006
 c0510019
-68014682
-c3860000
-c3830000
-c3858000
-680246d3
-c3828000
-202033a7
+c0518012
+c0520021
+20600000
 68014509
 c1000000
 68008441
 1feb7e00
 1fe67c0c
-20210017
+20610000
 58000009
 60014496
 60014498
-20400211
+20400489
 7047c401
 20600000
-704b6301
-20200445
-704b7100
+68014682
+c3860000
+c3830000
+c3858000
+680246d3
+c3828000
+202033a7
 58000007
 60014496
 60014498
 7047c400
-70479e00
-2040019d
+70479c00
+20400419
 20405816
-204041d9
-2040011f
 202041d9
+78347c00
 68120138
-79207e1a
+79347e1a
 6012004c
 20402c21
 204074bd
-204002ed
-2040011f
+204003e7
 20403e9f
-204000ae
-20400155
+204002c5
+204003a1
 68108081
 1fe17ef7
 60108081
+6810807e
+79207e06
+6010807e
 6810807f
 79207e00
 6010807f
-20600000
-c0588006
-c059000c
-c0598011
-c05a0019
-20600000
+6808c6f3
+202067ed
+c0580007
+c058800a
+c0590010
+c0598015
+c05a001c
+20600000
+704b6801
+20400419
+202041c3
 6800c808
 c1010000
 1fe0fe01
@@ -24898,17 +25097,15 @@
 70480800
 7041e30e
 2020340e
-6800c7a1
-c0008015
-7046c614
-20200017
-20400211
-7046c60a
+6800c79f
+c0008018
+2020001a
+20400489
+7046c605
 d8e00001
 202041b9
+704aff00
 704b0100
-704b0300
-704b0c00
-2040011f
+704b0a00
 202041d9
-0000d494
+000088c9
Index: ZJL_3X_OnlyBLE/output/sched.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/sched.rom	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/output/sched.rom	(working copy)
@@ -6,9 +6,9 @@
 #mem_fcomp_mul:02
 #mem_fcomp_div:24
 mem_iscan_window:12 00
-mem_iscan_interval:80 00
+mem_iscan_interval:00 02
 mem_pscan_window:12 00
-mem_pscan_interval:80 00
+mem_pscan_interval:00 02
 mem_inq_window:20 00
 mem_page_window:20 00
 mem_page_to:00 40
@@ -28,8 +28,6 @@
 57 88
 58 6c
 59 10
-#xtal 16M
-#68 e6
 ff
 mem_rf_init_ptr:mem_rf_init_data_new
 
@@ -45,10 +43,10 @@
 mem_patch11:02
 mem_patch14:82
 mem_patch15:20
-mem_patch16:02
+mem_patch16:06
 mem_patch18:10
 mem_patch19:08
-mem_patch1c:48
+mem_patch1c:40
 mem_patch1d:1e
 mem_patch20:20
 mem_patch27:02
@@ -98,11 +96,11 @@
 45
 
 mem_app_connection_options:06
-mem_lap:20 51 17 01 20 20
+mem_lap:26 10 19 20 18 10
 mem_local_name_length:
 'BT3.0 Mouse
 mem_sniff_param_interval:
-0e 00 
+0e 00 			##mem_sniff_param_interval:0e 00 report 115hz,0c 00 report 125hz	
 01 00 ##mem_sniff_param_attempt:01 00
 02##mem_sniff_param_timeout:00 00
 
@@ -149,10 +147,14 @@
 mem_le_name_len:
 'BT5.1 Mouse
 
+mem_le_adv_ind:03 12 18
+mem_le_adv_direct_ind:ff 00 00
+
+
 
 mem_le_interval_min:
-07 00 #min interval
-07 00 #max interval
+07 00 #min interval	if need 125hz,set 0x0006;else 115hz set 0x0007
+07 00 #max interval	if nedd 125hz,set 0x0006;else 115hz set 0x0007
 20 00 #latency
 2c 01 #timeout
 
@@ -162,7 +164,7 @@
 mem_le_adv_own_addr_type:00
 mem_le_adv_channel_map:07 
 
-mem_le_lap:8e 45 34 0e 8e ed
+mem_le_lap:8e b1 3a 0e 8e ed
 
 mem_le_transmit_window:50
 
@@ -172,55 +174,49 @@
 
 mem_discovery_timeout:08 07#3min
 mem_mouse_direct_timeout:50 00#8s
-mem_mouse_no_data_timeout:70 17#10min
+mem_mouse_no_data_timeout:70 17 #10min
 
 mem_flash_ncs_gpio:0a
 mem_spi_ncs_gpio:ff
 mem_ui_button_gpio:ff
 mem_ui_button_timeout:1e
+mem_bt_ui_button_timeout:01
 
 mem_device_number:02 #max device number
 mem_24g_device_number:02 #devie 2 :24g mode
-mem_adc_config_flag:00 #0 vinlpm 1 hvin 2 gpio
+mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
 mem_adc_channel:32 #gpio5
-mem_mouse_vdd_full_vol:13 01#2.75V
-ce 00#mem_mouse_vdd_empty_vol:5a 00# 2.05V
-d6 00#mem_mouse_vdd_low_vol:64 00  #2.14v
+mem_mouse_vdd_full_vol:2c 01# 3.3v 
+11 01#mem_mouse_vdd_empty_vol:20 01#3.0v
+20 01#mem_mouse_vdd_low_vol:11 01  #3.2v
 
 mem_mouse_vdd_0v:10 00
 
 mem_config_sensor_type:00
-02 #mem_config_sensor_motion:02
-06 #mem_lbutton_gpio:04
-14 #mem_rbutton_gpio:1b
-08 #mem_mbutton_gpio:17
-08 #mem_bk_button_gpio:ff
-06 #mem_fw_button_gpio:ff
-14 #mem_dpi_button_gpio:06
-1b #mem_whee_a_data_gpio:02
-1c #mem_whee_b_data_gpio:03
-ff #mem_whee_ta_data_gpio:ff
-ff #mem_whee_tb_data_gpio:ff
-ff #mem_config_bt_button_gpio:ff
+02 #mem_config_sensor_motion:01
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+08 #mem_mbutton_gpio:15
+06 #mem_bk_button_gpio:ff
+08 #mem_fw_button_gpio:ff
+14 #mem_dpi_button_gpio:05
+1b #mem_whee_a_data_gpio:0b
+1c #mem_whee_b_data_gpio:07
+FF #mem_whee_ta_data_gpio:ff
+FF #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
 ff #mem_config_select_device_button_gpio:ff
 ff #mem_config_paraing_led_gpio:ff
-ff #mem_config_low_voltage_alarm_gpio:08
-ff #mem_config_device1_led_gpio:08
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
 ff #mem_config_device2_led_gpio:ff
 ff #mem_config_device3_led_gpio:ff
-ff #mem_sensor_data_gpio:18
-ff #mem_dpi_led_gpio:08
-00 #mem_config_function_enable:04
-03 #mem_config_sensor_angle:00
-ff #mem_select_sensor_angle_gpio:ff
-ff #mem_select_adc_gpio:ff
-
-#mouse sensor angle
-#0x00 MOUSE_6CLK_ANGLE
-#0X01 MOUSE_9CLK_ANGLE
-#0X02 MOUSE_12CLK_ANGLE
-#0X03 MOUSE_3CLK_ANGLE
-
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+03 #mem_config_sensor_angle
+ff #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
 
 mem_eeprom_wp_gpio:ff
 mem_sensor_reset_gpio:ff
@@ -228,7 +224,7 @@
 mem_usb_offline_check_gpio:ff
 #mem_wire_usb_interval:19 #128
 
-#mem_config_function_enable:
+mem_config_function_enable:
 #bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
 #bit1 ENABLE_MODE_LED
 #bit2 ENABLE_LOW_VOLTAGE_LED
@@ -236,61 +232,24 @@
 #bit4 ENABLE_BT_BUTTON
 #bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
 #bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
-#bit7 ENABLE_SENSOR_MOTION_PIN
-#00
+20
 
 mem_mouse_dpi_seting:
-01##mem_320x_dpi_1
-02##mem_320x_dpi_2
-03##mem_320x_dpi_3
-04##mem_320x_dpi_4
-
-#15##mem_3212_dpi_1#800
-#1f##mem_3212_dpi_2#1200
-#2a##mem_3212_dpi_3#1600
-#3f##mem_3212_dpi_4#2400
+00##mem_320x_dpi_1
+01##mem_320x_dpi_2
+02##mem_320x_dpi_3
+03##mem_320x_dpi_4
+
+15##mem_3212_dpi_1
+1a##mem_3212_dpi_2
+22##mem_3212_dpi_3
+2a##mem_3212_dpi_4
 
 #04##mem_3610_dpi_1
 #05##mem_3610_dpi_2
 #07##mem_3610_dpi_3
 #08##mem_3610_dpi_4
 
-mem_mouse_3065xy_dpi_seting:
-00
-01
-02
-03
-
-mem_sensor_8650_init:
-09 5a
-ff 27
-ab 40
-be d1
-a0 41
-a1 41
-a5 84
-a7 ff
-b5 d0
-b6 00
-ff 00
-09 00
-ff
-
-mem_sensor_ka8_init:
-09 5a
-5b 9a
-0d 12
-0e c5
-53 48
-09 00
-ff
-
-#mem_sensor_poweron_init:
-#06 80
-#09 5a
-#0b f3
-#09 00
-#ff
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
 mem_ui_led_struct_num:01
@@ -306,68 +265,62 @@
 2b 00 02 08 29 02 11 02
 
 
-#mem_le_att_pnp_id_len:07
-#mem_le_att_pnp_id:
-#02		#verdor ID source
-#35 12	#usb verdor ID
-#22 aa 	#product ID
-#01 00	#product version
+mem_le_att_pnp_id_len:07
+mem_le_att_pnp_id:
+02		#verdor ID source
+35 12	#usb verdor ID
+22 aa 	#product ID
+01 00	#product version
 
   
 #24g init
 mem_24g_mode:01#tx
 mem_24g_data_type:01        #mouse 1,kb 2
-mem_24g_max_retry:04#max tx retry
+mem_24g_max_retry:06#max tx retry
 mem_24g_no_ack:00#with ack
 mem_24g_rx_window:c0 12     #400us
-mem_24g_interval:19
-mem_24g_interval_min:19
-mem_24g_interval_max:1c
+mem_24g_interval:0c				#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_min:0c			#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_max:10 			#0x1c 24g report 125hz;0x10,24g report 250hz
 mem_24g_ch_map1:00 13 2c 42
 mem_24g_ch_map2:06 15 36 48
 mem_24g_ch_map3:0f 1a 3a 4c
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
-mem_24g_allpowerful_addr:0f 0f 0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:80 4f 12
-mem_firmware_version:01 00
+mem_24g_enter_hibernate:00 48 30 00 00 00 00 00#10 min     240ms  dpi  B4  B5 check easy
 
-mem_device_flag:
-02
-ff
-ff ff ff ff ff ff
-#mem_device2_type:
-#34
-#11 22 33 44 55 66
-#mem_device3_type:
-#34
-#11 22 33 44 55 66
-mem_mouse_fast_conn_flag:ff
-mem_mouse_long_button_select_device:ff
-mem_mouse_24g_addr_init:ff ff ff ff ff ff
+mem_device_flag:01
+mem_device1_type:34
+mem_device1_addr:ff ff ff ff ff ff
+mem_device2_type:34
+mem_device2_addr:ff ff ff ff ff ff
+mem_device3_type:34
+mem_device3_addr:ff ff ff ff ff ff
 
 
-mem_flash_base:00 50 00
-#mem_eeprom_base:90 1f
-#mem_eeprom_block_size:80
+mem_flash_base:00 30 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
 mem_reconn_times_init:00
 mem_bt_discovey_button_statue:01#default: button up
-mem_mouse_dpi_button_state:01
 mem_empty_count:03
 
-#mem_device_bt_led_gpio:1d
+mem_device_bt_led_gpio:1d
 mem_device_24g_led_gpio:05
 
-mem_mouse_multi_led_gpio:1d
-mem_mouse_multi_led_on_timer_init:0a
-mem_mouse_multi_led_blink_timer_init:03
+mem_mouse_bt_ble_poweron_led_timer:20
+mem_select_device_button_statue:01#default: button up
+mem_mouse_24g_addr_init:0f 0f 0f 0f
+mem_24g_attempt_count:33		#bit0 = 1,first search dongle
 
-mem_mouse_le_fast_conn_enable_timer:0a
 
-#select device timer init 3s
-mem_mouse_button_select_device_timer_init:19
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+mem_mouse_le_fast_conn_enable_timer:0a
 
 #zcode
 mem_zcode_current_number:ff
Index: ZJL_3X_OnlyBLE/program/24g.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/24g.prog	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/24g.prog	(working copy)
@@ -1098,7 +1098,6 @@
 	setarg STATE_24G_PAIRING_SUCCESS
 	call g24_store_mem_pairing_sm
 	//jam 0,mem_24g_check_dongle_times
-g24_app_tx_attempt_success:	
 	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
 	branch ui_ipc_send_event
 
Index: ZJL_3X_OnlyBLE/program/app_mouse.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/app_mouse.prog	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/app_mouse.prog	(working copy)
@@ -158,7 +158,6 @@
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
-mouse_dpi_down_setting:
 	fetch 1,mem_mouse_dpi
 	increase 1,pdata
 	and pdata,0x03,pdata
@@ -972,7 +971,6 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
-mouse_p3212_sensor_motion_1:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_twspi_reset
@@ -1010,7 +1008,6 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
-mouse_p32xx_sensor_motion_2:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_p3065_judge   
@@ -1779,7 +1776,7 @@
 	arg mouse_bt_hid_handshake,regb
 	branch timer_single_step
 
-mouse_check_discovery_timeout_timer:
+mouse_check_discovery_timeout_timer:	
 	arg mem_mouse_discovery_timer,regc
 	arg mouse_check_discovery_timeout,regb
 	branch timer_single_step_2B
Index: ZJL_3X_OnlyBLE/program/patch.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/patch.prog	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/patch.prog	(working copy)
@@ -1,15 +1,19 @@
 //define DONGLE
 define MOUSE
-//define G24
+define G24
 define BLE
 define CLASSIC_BT
-define MOUSE_SMOOTHER
+//define MOUSE_SMOOTHER
 define ADC_ENABLE
+define DPI_ENABLE
+//define G24_NEW_RF_HOP
+//define HIGH_REPORT_BT
+//define HIGH_REPORT_G24
 //define P24G_LOG
 //define RF_DEBUG
-//define BLE_RFIO
 define BLE_FAST_CONN_ENABLE
 
+
 //define DEBUGLOG
 //define DEBUGLOG_CALLBACK
 //define DEBUGLOG_EVENT
@@ -37,26 +41,16 @@
 	store 1,mem_tx_power_temp
 	call power_ctrl_pac_succ_cnt_init
 	fetch 1,mem_ui_button_timeout
-	store 1,mem_select_ui_button_count	//bt key timer init
-	call p_mouse_bt_discovery_button_up_init
+	store 1,mem_select_ui_button_count	//select key timer init
+	fetch 1,mem_bt_ui_button_timeout
+	store 1,mem_bt_ui_button_count	//bt key timer init
+	call mouse_bt_discovery_button_down_disable
 	call p_mouse_spi_init
-ifdef MOUSE_SMOOTHER
+ifdef MOUSE_SMOOTHER	
 	call p_drawing_optima_init
 endif
 	call p_mouse_cb_fuction
 	call p_mouse_wakeup_from_power
-
-ifdef G24
-	fetch 4,mem_lap
-	store 4,mem_24g_device_addr
-endif
-ifdef BLE
-	call le_set_config_fixed_ltk
-	call le_set_justwork
-	call le_set_fixed_ltk
-	call le_set_config_read_authentication
-endif
-	call mouse_param_init	
 	branch p_mouse_setting_config
 
 p_mouse_cb_fuction:
@@ -95,13 +89,7 @@
 p_mouse_wakeup_no_from_power:
 	fetch 1,mem_reconn_times_init
 	store 1,mem_reconn_times
-	fetch 6,mem_le_lap
-	store 6,mem_le_normal_lap
-	fetch 1,mem_power_on_flag
-	rtnbit1 2
-	//power on
-	branch p_mouse_dpi_config_default
-	
+	rtn
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
 	setarg 375
 	store 2,mem_24g_transmit_by_interrupt_exit_count_init
@@ -121,19 +109,19 @@
 	nop 1
 	nop 1
 	nop 1
-	
-
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
 p_patch_array:
 	bbit1 8,pf_patch_ext
-	//patch00_0 is unuseful because of otp
+	//patch00_0 and patch11_2 are unuseful because of otp
 	beq patch00_1,p_soft_reset_1
 	beq patch00_2,p_soft_reset_2
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
-	beq patch11_2,p_initialize_radio_cont
-ifdef BLE_RFIO
-	beq patch0c_5,p_end_of_packet
-endif	
 ifdef CLASSIC_BT
 	beq patch03_3,p_page_wait_fhs_reply_ok
 	beq patch04_6,p_role_switch_master
@@ -148,11 +136,8 @@
 endif	
 	beq patch14_1,p_init_param
 	beq patch16_1,p_lpm_check_wake_lock
-ifdef G24
 	beq patch16_2,p_g24_dispatch
-endif
 	beq patch18_4,p_device_init
-	beq patch1c_3,p_mouse_seting_dpi
 	beq patch1c_6,p_mouse_motion
 	beq patch1d_2,p_mouse_bb_event_discovery_btn
 	beq patch1d_3,p_mouse_start_discovery
@@ -162,10 +147,6 @@
 ifdef BLE
 	beq patch27_1,p_le_slave_match
 	beq patch28_3,p_le_next_adv_channel
-ifdef BLE_RFIO	
-	beq patch29_1,p_le_receive_rxon
-	beq patch29_3,p_lerx_nopayload
-endif	
 	beq patch29_2,p_le_receive_skip
 	beq patch2a_7,p_le_update_param
 	beq patch2b_1,p_le_update_channel_map
@@ -174,7 +155,6 @@
 	beq patch2c_7,p_le_parse_l2cap
 	beq patch2d_2,p_le_adv_not_match
 	beq patch2e_7,p_le_lpm_setmult
-	beq patch3f_2,p_check_51cmd_once_continue
 endif	
 ifdef CLASSIC_BT
 	beq patch20_5,p_hid_rx_process
@@ -184,9 +164,8 @@
 endif
 	beq patch31_4,p_twspi_reset
 	beq patch31_5,p_spid_init
-ifdef ADC_ENABLE
 	beq patch34_0,p_vdd_calculate_by_mode
-endif
+	beq patch3f_2,p_check_51cmd_once_continue
 ifdef DEBUGLOG
 	beq patch2f_6,p_parse_lmp_opcode
 	beq patch37_6,p_process_upper_sm_reconn
@@ -210,7 +189,6 @@
 	rtn
 
 p_soft_reset_1:
-//	call p_mouse_select_device_button_wakeup_check
 	arg mem_sp_state,contw
 	arg 12,loopcnt
 	call clear_mem
@@ -231,6 +209,7 @@
 	call ssp_disable
 ifdef SECURE_CONNECTION
 	call publickey_init
+
 endif
 endif
 	call lpm_recover_clk,wake
@@ -251,12 +230,8 @@
 
 p_lpm_check_wake_lock:
 	rtnmark1 mark_24g
-	fetch 1,mem_mouse_multi_led_state
-	nbranch disable_blank,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch disable_blank,blank
 	fetch 1,mem_mouse_clear_sensor_data_flag
-	branch disable_blank,blank
+	beq 0,disable_blank
 	fetch 1,mem_mouse_le_conn_param_reject
 	beq LE_LPM_DISABLE,disable_blank
 ifdef CLASSIC_BT	
@@ -271,9 +246,6 @@
 ifdef G24
 p_g24_dispatch:
 	rtnmark0 mark_24g
-	fetch 1,mem_24g_conn_sm
-	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
-	bbit1 STATE_24G_RECONN,p_g24_reconn_dispatch
 	fetch 1,mem_24g_transmit_by_interrupt
 	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
 p_g24_transmit_process:
@@ -285,34 +257,33 @@
 	fetch 1,mem_24g_pairing_sm
 	rtnne STATE_24G_PAIRING_SUCCESS
 	call power_ctrl_start
-	setarg G24_LONG_SLEEP_STEP1
-	store 3,mem_24g_enter_hibernate
-	jam 20,mem_24g_long_sleep_param_update_timer
+	call g24_long_sleep_shorter_param_update
 	fetch 1,mem_mouse_multi_led_state
 	beq ON,p_g24_transmit_by_interrupt_enable
-p_g24_short_sleep:
+p_g24_short_sleep:	
 	call p_g24_lpm_wait
 	nrtn user
 	call p_clear_wake
-	setarg 61500
-	branch lpm_dispatch_sleep
-
-p_g24_pair_dispatch:
-	jam ZCODE_60,mem_zcode_temp_param0
-	branch p_zcode_entrance
-
-p_g24_reconn_dispatch:
-	jam ZCODE_53,mem_zcode_temp_param0
-	branch p_zcode_entrance
-
-//g24_long_sleep_shorter_param_update:
+ifdef HIGH_REPORT_G24
+	setarg G24_4MS_INTERVAL_PARAM
+else
+	setarg 60500
+endif
+p_g24_enter_sleep:	
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+  	
+g24_long_sleep_shorter_param_update:
 //	fetch 1,mem_config_function_enable
 //	rtnbit1 ENABLE_SENSOR_MOTION_PIN
-//	setarg G24_LONG_SLEEP_STEP1
-//	store 3,mem_24g_enter_hibernate
-//	jam 20,mem_24g_long_sleep_param_update_timer
-//	rtn
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
 
+
+	
 p_g24_transmit_by_interrupt:
 	call p_g24_timer_check
 	nrtn user
@@ -328,17 +299,17 @@
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	setarg 0
 	store 2,mem_24g_transmit_by_interrupt_exit_count
-	setarg 25
+	setarg 100
 	store 2,mem_24g_transmit_by_interrupt_exit_count_init
 p_g24_interval_min:
 	jam 0,mem_24g_pac_index
 	fetch 1,mem_24g_interval_min
-p_g24_interval_store:
 	store 1,mem_24g_interval
 	rtn
 p_g24_interval_max:
 	fetch 1,mem_24g_interval_max
-	branch p_g24_interval_store	
+	store 1,mem_24g_interval
+	rtn	
 p_g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -350,14 +321,10 @@
 p_g24_nodata_transmit:
 	fetch 1,mem_24g_abort_pac
 	call p_g24_send_abort_packet,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	nrtn blank
-	fetch 1,mem_mouse_multi_led_state
-	rtneq ON
-	fetch 1,mem_24g_transmit_by_interrupt
-	rtneq G24_TX_TIMER_INT_ENABLE
-	call p_g24_search_dongle
 p_g24_long_sleep:
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
 	call p_g24_lpm_wait
 	nrtn user
 	fetch 3,mem_24g_enter_hibernate
@@ -392,45 +359,11 @@
 	call p_g24_txdata_enable_tx
 	branch p_g24_transmit_start
 
-p_g24_search_dongle_init:
-	setarg 0
-	store 3,mem_24g_search_dongle_action
+p_g24_set_device_addr:
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
 	rtn
 
-p_g24_search_dongle:
-	jam ZCODE_71,mem_zcode_temp_param0
-	branch p_zcode_entrance
-
-p_g24_search_dongle_check:
-	jam 0,mem_24g_search_dongle_count
-	fetch 1,mem_24g_search_dongle_action
-	rtnbit1 G24_DISCONN_STATE
-	set1 G24_DISCONN_STATE,pdata
-	store 1,mem_24g_search_dongle_action
-	setarg G24_DISCONN_NODATA_TIMER	//3min
-	store 2,mem_mouse_no_data_timer
-	branch p_mouse_sensor_powerdown
-
-p_g24_search_dongle_success:
-	fetch 1,mem_24g_abort_pac
-	branch p_g24_search_dongle_init,blank
-	jam 0,mem_24g_search_dongle_count
-	fetch 1,mem_24g_search_dongle_action
-	rtnbit0 G24_DISCONN_STATE
-	set0 G24_DISCONN_STATE,pdata
-	store 1,mem_24g_search_dongle_action
-	call mouse_no_data_timer_init
-	branch p_mouse_init_sensor_reset
-
-//p_g24_set_device_addr:
-//	call adc_init_data
-//	fetch 4,mem_2v_adc_vinlpm_data	//adc data from otp
-//	store 4,mem_24g_device_addr	
-//	nrtn blank
-//	fetch 4,mem_lap
-//	store 4,mem_24g_device_addr
-//	rtn
-
 p_g24_transmit_rf_sta_init:
 	jam 1,mem_24g_rf_last_sta
 	jam 0,mem_24g_sync_cnt
@@ -447,44 +380,41 @@
 	//update txpayload
 	store 1,mem_24g_txpayload
 	rtn
-
-p_g24_hop_enable_packet:
-	fetch 1,mem_24g_data_type
-	rtnbit0 bit_hop
 p_g24_hop_ch_disable:
 	fetch 1,mem_24g_data_type
 	set0 bit_hop,pdata
 	store 1,mem_24g_data_type
 	store 1,mem_24g_txpayload
 	call power_ctrl_pac_succ_decrs
-	branch p_g24_ch
+	call p_g24_ch
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
 	
-//p_g24_transmit_hop_pac_fail:
-//	call power_ctrl_pac_succ_decrs
-//	fetch 1,mem_24g_rf_work_stage
-//	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
-//	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
-//	rtn
-//p_g24_transmit_hop_pac_fail_wo_hop:
-//	jam 2,mem_24g_sync_cnt
-//p_g24_transmit_hop_pac_fail_stage1:	
-//	jam 0,mem_24g_hop_pac_retry
-//	jam 0,mem_24g_rf_last_sta
-//	branch p_g24_transmit_rf_ctrl_clear
-
-//p_g24_transmit_hop_pac_fail_hop_stage2:
-//	jam 0,mem_24g_rf_hop_ch
-//	branch p_g24_transmit_hop_pac_fail_stage1
-
-//	
-//p_g24_transmit_pac_fail_hop_stage3:
-//	fetch 2,mem_24g_txfail_cnt
-//	increase 1,pdata
-//	store 2,mem_24g_txfail_cnt
-//	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
-//	fetch 1,mem_24g_rf_hop_ch
-//	beq 1,p_g24_rf_hop_fastly
-//	jam 1,mem_24g_rf_hop_ch
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
 p_g24_rf_hop_attemp_again:
 	fetch 1,mem_24g_rf_hop_ch
 	bne 1,p_g24_transmit_rf_ctrl_clear
@@ -544,20 +474,7 @@
 	store 1,mem_24g_sync_cnt
 	jam 2,mem_24g_rf_work_stage
 	jam 4,mem_24g_max_retry
-p_g24_ch:
-	fetcht 1,mem_24g_current_ch_number
-	fetch 1,mem_24g_addr	
-	and_into 0x03,pdata
-	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
-	setarg mem_24g_ch_map1
-	iadd rega,pdata
-	iadd temp,contr
-	ifetch 1,contr
-	store 1,mem_24g_ch
-	increase 1,temp
-	and_into 3,temp //map size =4
-	storet 1,mem_24g_current_ch_number
-	rtn
+	branch p_g24_ch
 
 p_g24_rf_hop_attemp:
 	jam 3,mem_24g_rf_work_stage
@@ -584,6 +501,7 @@
 	rtn blank
 	branch enable_user	// retransmit
 p_g24_accumulate_mouse_data:
+	call p_mouse_24g_no_data_timer_init	//nodata timer 20min
 	call p_mouse_data_xy_release
 	jam 0,mem_24g_abort_pac
 	add rega,1,pdata
@@ -615,25 +533,29 @@
 	arg param_rx_setup,timeup
 	until clkn_rt,meet
 	call p_g24_transmit_receive_ack
-//	fetch 1,mem_24g_no_ack	//tx noack
-//	rtneq no_ack_24g
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
 	nbranch p_g24_retransmit,sync
 	nbranch p_g24_retransmit,user3
 	call p_g24_txbuf_clear
 	call p_g24_ackpayload_parse
 	call power_ctrl_pac_succ_incrs
 p_g24_transmit_next_packet:
+	jam 0,mem_retry_count
 	fetch 1,mem_24g_pid
 	increase 1,pdata
 	store 1,mem_24g_pid
-	call p_g24_hop_enable_packet	
+	call p_g24_hop_enable_packet
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
 	call p_g24_transmit_succ_rf_config
 p_g24_transmit_abandon:
 	setarg 0
-	store 4,mem_24g_ensure
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
 	store 1,mem_24g_hop_pac_retry
+	store 1,mem_mouse_24g_pair_timer
+	jam ENSURE_OFF_24G,mem_24g_ensure
 	rtn
 
 p_g24_txbuf_clear:
@@ -641,6 +563,16 @@
 	arg mem_24g_txbuf,contw
 	branch memset0
 
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
 p_g24_transmit_receive_ack:
 	disable user3
 	call p_g24_transmit
@@ -649,8 +581,8 @@
 	call test_gpio_low
 endif
 
-//	fetch 1,mem_24g_no_ack
-//	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
 	force 0,radio_ctrl
 	fetch 4,mem_24g_addr
 	iforce access
@@ -660,28 +592,66 @@
 	call p_g24_receive_rxon
 	call p_g24_end_of_packet,user3
 	rtn
-//p_g24_transmit_no_ack:
-//	call p_g24_end_of_packet
-//	branch p_g24_transmit_next_packet
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
 
 p_g24_retransmit:
+ifdef G24_NEW_RF_HOP
+	fetch 1,mem_24g_abort_pac
+	nrtn blank
+	
 	fetch 2,mem_24g_txfail_cnt
 	increase 1,pdata
-	store 2,mem_24g_txfail_cnt
-	bbit1 12,g24_stop_24g_mode
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,p_g24_stop_g24_mode
+
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+
 	call p_g24_tx_hop_ch_process
 	branch p_g24_transmit_loop
-	
+else
+	fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	store 1,mem_24g_get_ack_fail
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+	fetcht 1,mem_24g_retry
+	increase 1,temp
+	storet 1,mem_24g_retry
+	fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch p_g24_transmit_loop,blank
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_pac_fail_hop_stage3
+	fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	store 1,mem_24g_hop_pac_retry
+	beq 2,p_g24_transmit_hop_pac_fail
+	call p_g24_hop_ch_enable
+	jam 1,mem_24g_max_retry
+	branch p_g24_transmit_packet
+endif
+
 p_g24_tx_paring_retry:
+ifdef G24_NEW_RF_HOP
 	fetch 1,mem_24g_txfail_cnt
 	rtnne 0xff
+else
+	fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	jam 0,mem_24g_get_ack_fail
+endif	
 p_g24_tx_attempt_fail:
 	setarg 0
 	store 2,mem_24g_txfail_cnt
-	branch g24_stop_24g_mode
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
 
+ifdef G24_NEW_RF_HOP
 p_g24_tx_fast_hop:
 	call power_ctrl_txpower_incrs
 	call power_ctrl_pac_succ_decrs
@@ -698,6 +668,7 @@
 	beq 8,p_g24_hop_ch_enable
 	beq 12,p_g24_hop_ch_disable
 	rtn
+endif
 
 p_g24_ackpayload_parse:
 	call p_g24_read_len_pid_crc
@@ -708,60 +679,42 @@
 	arg mem_24g_rxpayload,contw	//ack payload buffer 
 	branch memcpy
 
-p_g24_pair_init:
-	jam TX_POWER_f5DB,mem_tx_power
-	jam 0,mem_24g_pid
-	jam G24_PAIR_CH,mem_24g_ch
-	fetch 4,mem_24g_paring_addr
-p_g24_update_addr_and_synccrc8:	
-	store 4,mem_24g_addr
-//output: 1BYTE crc8
-p_g24_syncword_crc8:
-	arg 0,rega
-	arg 4,loopcnt
-	arg mem_24g_addr,contr
-p_g24_syncword_crc8_loop:
-	ifetch 1,contr
-	iadd rega,rega
-	loop p_g24_syncword_crc8_loop
-	copy rega,pdata
-	store 2,mem_24g_syncword
-	fetch 1,mem_24g_syncword
-	fetcht 1,mem_24g_syncword+1
-	iadd temp,pdata
-	store 1,mem_24g_syncword_crc8
-	rtn
-
-p_g24_start_pairing_sm1:
-//	set1 mark_24g,mark
-	call p_g24_pair_init
-p_g24_set_pairing_sm_1:
-	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
-	rtn
-
 p_g24_pairing_sm:
 	jam ZCODE_90,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
-p_g24_paring_mode_start:
-	call power_ctrl_pac_succ_cnt_init
 p_g24_paring_mode:
 	jam ZCODE_91,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_g24_start_24g_mode:
-	jam ZCODE_40,mem_zcode_temp_param0
+	jam ZCODE_60,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_auto_pair_start:
+	jam ZCODE_70,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+
+
 p_g24_check_51cmd_stop_24g:
 	set0 mark_24g,mark
-	jam STATE_24G_STOP,mem_24g_conn_sm
 	call le_disable
 p_mouse_disable_g24_pairing_flag:
 	arg MOSUE_24G_PAIRING_FLAG,queue
 	branch mouse_disable_function_flag
 
-
 p_g24_put_data_in_buff:
 	storet 1,mem_24g_datalen
 	copy temp,loopcnt
@@ -787,7 +740,24 @@
 	store 1,mem_24g_sta_pid
 	rtn
 
-
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
 
 p_g24_transmit_prep:
 ifdef P24G_LOG
@@ -819,37 +789,28 @@
 	arg mem_24g_txbuf,contr
 	branch memcpy
 
-//p_g24_ch:
-//	fetcht 1,mem_24g_current_ch_number
-//	fetch 1,mem_24g_addr	
-//	and_into 0x03,pdata
-//	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
-//	setarg mem_24g_ch_map1
-//	iadd rega,pdata
-//	iadd temp,contr
-//	ifetch 1,contr
-//	store 1,mem_24g_ch
-//	increase 1,temp
-//	and_into 3,temp //map size =4
-//	storet 1,mem_24g_current_ch_number
-//	rtn
-
-//p_g24_ch_map_size:
-//	call p_g24_ch_calc
-//	increase 1,temp
-//	and_into 3,temp //map size =4
-//	rtn
-	
-//p_g24_ch_calc:
-//	fetch 1,mem_24g_addr	
-//	and_into 0x03,pdata
-//	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
-//	setarg mem_24g_ch_map1
-//	iadd rega,pdata
-//	iadd temp,contr
-//	ifetch 1,contr
-//	store 1,mem_24g_ch
-//	rtn
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
 
 p_g24_prep:
 	disable enable_crc
@@ -862,16 +823,16 @@
 	rshift temp,white_init
 	rtn
 
-//p_g24_receive_packet:
-//	call le_enable
-//	fetch 4,mem_24g_addr
-//	iforce access
-//	call set_sync_on
-//	fetcht 1,mem_24g_ch
-//	call set_freq_rx
-//	setarg param_pll_setup
-//	call sleep
-//	call rf_rx_enable
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
 p_g24_receive_rxon:
 
 ifdef RF_DEBUG
@@ -905,9 +866,9 @@
 	nbranch p_g24_end_of_packet,zero
 	call p_g24_receive_byte
 	store 1,mem_24g_rxbuf	//device id
-//	fetch 1,mem_24g_mode
-//	sub pdata,rx_24g,null
-//	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
 	fetch 1,mem_24g_rxbuf
 	fetcht 1,mem_24g_data_type
 	icompare bits_data,temp
@@ -967,11 +928,6 @@
 	rshift3 pwindow,pdata
 	rtn
 	
-p_g24_sync_timeout:
-//ifdef DONGLE
-//	call p_rssi_noise
-//endif
-//	branch p_g24_end_of_packet
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
@@ -981,6 +937,12 @@
 endif
 	rtn
 
+p_g24_sync_timeout:
+ifdef DONGLE
+	call p_rssi_noise
+endif
+	branch p_g24_end_of_packet
+
 p_g24_set_freq_tx:
 	call set_sync_on
 	fetcht 1,mem_24g_ch
@@ -1058,30 +1020,28 @@
 	store 4,mem_24g_tx_btclk
 	branch enable_user
 
-//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
-//ifdef DONGLE
-//	and_into RSSI_BUF_LEN_NOISE,temp
-//endif
-//ifdef MOUSE
-//	and_into RSSI_BUF_LEN_SIGNAL,temp
-//endif
-//	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
+ifdef DONGLE
+	and_into RSSI_BUF_LEN_NOISE,temp
 endif
-
+ifdef MOUSE
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+endif
+	rtn
 p_rssi_average:
 	arg 0,temp
 ifdef DONGLE
@@ -1113,20 +1073,39 @@
 endif
 	rtn
 
+endif
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
 p_mouse_setgpio_lpm:
 	call p_mouse_set_sdio_high
 	call p_clear_wake
 p_mouse_setgpio_hibernate:	
 	call mouse_lpm_before_common
-	fetcht 1,mem_flash_ncs_gpio
-	call gpio_out_inactive
-
+	call p_flash_ncs_disable
 	hfetch 4,core_gpio_oe0
 	hfetcht 4,core_gpio_pu0
 	ior temp,temp
 	invert temp,temp
 	hstoret 4,core_gpio_pd0
-	hfetch 1,core_gpio_pd1
+	hfetch 1,core_gpio_pd0	
+	set0 6,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set1 5,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd1	
 	set0 2,pdata
 	hstore 1,core_gpio_pd1
 	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
@@ -1134,26 +1113,13 @@
 	hstore 1,core_gpio_pd2
 	rtn
 
-p_mouse_before_lpm:
-	rtnmark1 mark_24g
-	call p_mouse_le_txbuff_save
-	call p_mouse_setgpio_lpm
-	fetch 1,mem_context
-	bbit0 state_inconn,p_clear_wake
-	fetch 1,mem_lpm_current_mult
-	nrtn blank
-p_clear_wake:
-	setarg 0
-	store 8,mem_gpio_wakeup_low
-	rtn
-
 p_mouse_set_sdio_high:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
-	branch p_mouse_seting_sensor_type// make sdio high to make 100uA less
+	branch mouse_seting_dpi+2	// make sdio high to make 100uA less	
 
 p_device_init:
-	call initialize_radio
+	call  initialize_radio	// YC1066 1059
 ifdef DEBUGLOG
 	call debuglog_init
 ifdef DEBUGLOG_STATUS
@@ -1166,7 +1132,7 @@
 endif
 	call app_lpm_mult_enable
 	call enable_authrom
-	branch p_mouse_spi_init,wake
+	branch p_device_wake_from_lpm,wake
 p_device_wake_from_power:
 ifdef DEBUGLOG
 ifdef DEBUGLOG_STATUS
@@ -1180,50 +1146,50 @@
 ifdef RF_DEBUG
 	call test_gpio_init
 endif
-ifdef BLE_FAST_CONN_ENABLE
-	fetch 3,mem_le_lap+3
-	store 3,mem_le_lap_high_3B
-endif
 	call p_wake_from_power
-//ifdef G24
+	arg 600,temp
+	fetch 2,mem_mouse_no_data_timeout
+	isub temp,temp
+	storet 2,mem_mouse_no_data_led_timeout		// 1min
 //	fetch 1,mem_power_on_flag
-//	bbit1 2,p_mouse_skip_24g_pair
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LR_BUTTON,p_mouse_24g_pairing_button
-//p_mouse_skip_24g_pair:
-//endif
+//	bbit1 2,p_mouse_check_reconn_target
+//ifdef G24
+//	call mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_24g_pairing_button
+//endif	
+//	branch p_mouse_wakeup_from_power
+
 p_mouse_check_reconn_target:
 	call p_mouse_tx_power_init
-ifdef G24
+	jam 25,mem_mouse_poweron_led_timer	
+	call p_mouse_adc_read
+	arg mem_device1_type,rega
 	fetch 1,mem_device_flag
-	beq MODE_24G_DEVICE,p_mouse_connect_24g_mode
-//	beq MODE_DEFAULT_DEVICE,p_mouse_connect_24g_mode
-endif
-	call p_mouse_mode_bt_device1_multi_led_on
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch p_mouse_start_24g_mode,zero
 	fetch 1,mem_xrecord_mode
 ifdef CLASSIC_BT
 	beq REC_3_MODE,p_mouse3_0_check_reconn_target
 endif
 ifdef BLE
 	beq REC_4_MODE,p_mouse4_0_check_reconn_target
-endif
+endif	
+//	branch p_mouse_null_enter_hibernate_enable	//enter hibernate if it is in its factory state
 	rtn
 
-//p_device_wake_from_lpm:
-//	branch p_mouse_spi_init
+
+p_device_wake_from_lpm:
+	branch p_mouse_spi_init
 
 p_mouse_tx_power_init:
 	fetch 1,mem_tx_power_temp
 	store 1,mem_tx_power
 	rtn
 
-//p_mouse_check_select_device_by_switch:
-//	fetch 1,mem_config_function_enable
-//	branch mouse_cheak_select_device_by_switch+1
-
 ifdef CLASSIC_BT
 p_mouse3_0_check_reconn_target:
-//	call p_mouse_mode_bt_device1_multi_led_blink3s
+	jam 1,mem_mouse_bt_reconnect_flag
 	fetch 6,mem_hci_plap
 	branch app_bt_start_discovery_short,blank
 	branch mouse3_0_check_reconn_target+3
@@ -1231,8 +1197,30 @@
 
 ifdef BLE
 p_mouse4_0_check_reconn_target:
-	jam ZCODE_12,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+ifdef BLE_FAST_CONN_ENABLE
+	fetcht 1,mem_mouse_fast_conn_flag
+	sub temp,0xff,null
+	nbranch p_mouse4_0_check_reconn_target_next,zero
+	setarg 0x0258								//ble fast conn time 1min
+endif
+p_mouse4_0_check_reconn_target_next:
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	fetch 3,mem_le_adv_direct_ind
+	store 3,mem_le_adv_data+4
+	
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
 
 p_le_check_adv_flag:
 	arg mem_le_adv_data,rega
@@ -1243,49 +1231,38 @@
 	ifetch 1,contr	//type
 	rtneq 0x01
 	branch p_le_check_adv_flag_loop
+endif
 
+ifdef G24
+p_mouse_24g_pairing_button:
+	jam ZCODE_61,mem_zcode_temp_param0
+	branch p_zcode_entrance
 endif
 
-//ifdef G24
-//p_mouse_24g_pairing_button:
-//	jam ZCODE_42,mem_zcode_temp_param0
-//	branch p_zcode_entrance
-//endif
 
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
 p_mouse_init_sunt:
 	call p_mouse_spi_init
 	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
 p_mouse_init_sensor:
 	call mouse_read_sensor_id
-	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
 	beq P3065_ID1,p_mouse_p3065_init_param
 	call mouse_twspi_reset
 	nop 1000
 	branch p_mouse_init_sensor
 
-p_mouse_init_p32xx_id2_judge:
-	call p_mouse_sensor_poweron
-	fetch 1,mem_sensor_id2
-	beq P_MX8650,p_mouse_mx8650_init_param
-	beq PKA8_ID2,p_mouse_ka8_init_param
-	branch mouse_init_p32xx_id2_judge
-
-p_mouse_mx8650_init_param:
-	jam MX8650,mem_config_sensor_type
-	arg mem_sensor_8650_init,regc
-p_sensor_wr_seq:
-	ifetch 2,regc
-	rtneq 0xff
-	call twspi_write
-	nop 12000
-	increase 2,regc
-	branch p_sensor_wr_seq
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
 
-p_mouse_ka8_init_param:
-	jam KA8,mem_config_sensor_type
-	rtn
-//	arg mem_sensor_ka8_init,regc
-//	branch p_sensor_wr_seq
 
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
@@ -1294,14 +1271,49 @@
 	jam P3065,mem_config_sensor_type
 	rtn
 
+
+p_mouse_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_sensor_powerdown:
+	call p_mouse_spi_init
+	setarg 0x0806
+//	call twspi_read
+//	or pdata,0x08,pdata
+//	lshift8 pdata,pdata
+//	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
 p_mouse_setting_config:
 	jam ZCODE_80,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 //ncs gpio output high
-//p_flash_ncs_disable:
-//	fetcht 1,mem_flash_ncs_gpio
-//	branch gpio_out_inactive
+p_flash_ncs_disable:
+	fetcht 1,mem_flash_ncs_gpio
+	branch gpio_out_inactive
 
 p_spid_init_flash:
 	jam 0x40,core_spid_ctrl
@@ -1314,9 +1326,11 @@
 	hstore 1,core_gpio_sel1
 	setarg 0
 	store 4,mem_spid_tbuf
-	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
 	set0 0,pdata
 	hstore 1,core_gpio_pd3
+	
 	rtn
 
 p_mouse_load_flash_info_check:
@@ -1333,41 +1347,31 @@
 	fetch 4,mem_mouse_24g_addr_init
 	store 4,mem_mouse_24g_addr
 	store 4,mem_24g_addr
+ifdef BLE_FAST_CONN_ENABLE	
+	call p_mouse_fast_conn_init
+endif	
 p_mouse_store_flash_device_info:
 	call p_flash_release_deep_power_down
 	call p_flash_erase_sector
 	call p_mouse_information_flash_parameters
 	call p_spid_write_flash
 	call p_wait_flash_done
-	//user flash data
-p_mouse_store_flash_user_data:
-	call p_spid_init_flash
-	arg 7,temp
-	arg mem_mouse_flash_start_temp,rega
-	arg MOUSE_USER_DATA_OFFECT,regb
+p_mouse_store_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
 	fetch 3,mem_flash_base
 	iadd regb,pdata
 	call p_spid_write_flash
 	call p_wait_flash_done
 	call p_flash_deep_power_down
-p_mouse_spi_init:
-	jam 0x76,mem_spi_init_clk
-	branch mouse_spi_init
-
+	branch p_mouse_spi_init
+	
 p_flash_erase_sector:
 	fetch 3,mem_flash_base
 	store 3,mem_spi_write_addr
 	call flash_erase_sector+2
-p_wait_flash_done:
-	setarg 100000
-	call sleep
-	call spid_unlock_flash
-	setarg mem_spid_rbuf
-	hstore 2,core_spid_rxaddr
-	setarg FLASH_READ_SATUS
-	call spid_read_reg
-	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
-	rtn
+	branch p_wait_flash_done
 
 p_spid_write_flash:
 	copy pdata,regc
@@ -1382,6 +1386,17 @@
 	istore 4,regb
 	rtn
 
+p_wait_flash_done:
+	setarg 100000	
+	call sleep
+	call spid_unlock_flash
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
+	rtn
+
 p_mouse_information_flash_parameters:
 	setarg mem_mouse_information_end
 	arg mem_mouse_information_start,temp
@@ -1395,98 +1410,180 @@
 	call p_mouse_information_flash_parameters
 	branch spid_read_flash
 
-p_mouse_load_flash_device_info:
+p_mouse_load_flash_device_info:	
 	call p_mouse_read_flash
-	call p_mouse_load_flash_user_data
-//	call p_mouse_check_select_device_by_switch
-//	call p_mouse_switch_Hwakeup_byPB
+	call p_mouse_load_random_addr_increase_count
 	call mouse_select_reconn_device
 	fetch 4,mem_mouse_24g_addr
 	store 4,mem_24g_addr
+ifdef BLE_FAST_CONN_ENABLE
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+//	arg 3,loopcnt
+//	arg mem_device2_addr,contr
+//	call p_pdata_0xff_check
+//	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
+endif	
 	rtn
 
+
+ifdef BLE_FAST_CONN_ENABLE
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+	
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn
+	
+endif
+
+
+
 p_flash_deep_power_down:
 	jam FLASH_COMMAND_DEEP_POWER_DOWN,mem_temp
 p_spid_write_flash_cmd:
 	call p_spid_init_flash
-	call delay_nop100
+	nop 100					// YC1059
 	call spid_unlock_flash
 	arg mem_write_flash_head_temp,rega
 	fetcht 1,mem_temp
 	call spid_write_flash_common
-	branch delay_nop100
+	nop 100					// YC1059
+	rtn
 
 p_flash_release_deep_power_down:
 	jam FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN,mem_temp
 	branch p_spid_write_flash_cmd
+	
 
-ifdef BLE_FAST_CONN_ENABLE
-p_mouse_fast_conn_disable:
-	jam 0x5a,mem_mouse_fast_conn_flag
-	rtn
-
-p_mouse_fast_conn_init:
-	jam 0xff,mem_mouse_fast_conn_flag
-	jam 0x34,mem_xrecord_mode
-	fetch 6,mem_24g_allpowerful_addr
-	store 6,mem_le_lap
-	rtn	
-
-endif
-
-p_mouse_load_flash_user_data:
+p_mouse_load_random_addr_increase_count:
 	call p_flash_release_deep_power_down
-	arg 7,temp
-	arg mem_mouse_flash_start_temp,rega
-	arg MOUSE_USER_DATA_OFFECT,regb
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
 	fetch 3,mem_flash_base
 	iadd regb,pdata
 	branch spid_read_flash
 
-//p_mouse_select_device_button_wakeup_check:
-//	jam 0,mem_mouse_select_device_button_wakeup_flag
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_config_input
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	call delay_10ms
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	jam 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn
+//**************************end*************************************//
+p_mouse_start_24g_mode:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	branch p_g24_start_24g_mode
 
-//p_mouse_switch_Hwakeup_byPB:
-//	fetch 1,mem_config_function_enable
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
-//	fetch 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn blank
-//p_mouse_switch_device:
-//	fetcht 1,mem_device_flag
-//	increase 1,temp
-//	fetch 1,mem_device_number
-//	isub temp,null
-//	ncall mouse_select_device_count_clean,positive
-//	storet 1,mem_device_flag
-//	branch p_mouse_store_flash_device_info
 
-ifdef G24
-p_mouse_connect_24g_mode:
-//	call p_mouse_mode_24g_device_multi_led_blink3s
-p_mouse_start_24g_mode:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtnbit0 MOUSE_ENABLE_24G
-	fetch 1,mem_power_on_flag
-	bbit1 2,p_g24_start_24g_mode	//hibernate goto reconn
-	fetch 4,mem_mouse_24g_addr_init	//power on goto pair
-	store 4,mem_24g_addr
-	call p_mouse_store_flash_device_info	
-p_g24_auto_pair_start:
-	jam ZCODE_41,mem_zcode_temp_param0
-	branch p_zcode_entrance
+p_mouse_24g_led_blink:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	fetch 1,mem_mouse_24g_pair_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_24g_pair_timer
+	branch app_enter_hibernate,blank
+	and pdata,0x0f,pdata
+	beq 0x05,p_mouse_24g_led_on
+	beq 0x0a,p_mouse_24g_led_off
+	rtn
+
+p_mouse_discovery_led_blink:
+	fetch 1,mem_mouse_discovery_timer
+	rtn blank
+	fetch 1,mem_mouse_discovery_blink_count
+	increase 1,pdata
+	store 1,mem_mouse_discovery_blink_count
+	beq 5,p_mouse_bt_led_off
+	beq 10,p_mouse_bt_discovery_led_on
+	rtn
+
+
+p_mouse_device_poweron_led_timer:
+	fetch 1,mem_mouse_poweron_led_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_poweron_led_timer
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_device_poweron_g24_led
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_bt_led_on
+	branch p_mouse_bt_led_off
+
+p_mouse_device_poweron_g24_led:
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_24g_led_on
+	branch p_mouse_24g_led_off
+
 
-endif
+
+p_mouse_24g_led_off:
+	jam 0,mem_24g_device_led_status
+	fetcht 1,mem_device_24g_led_gpio
+	branch p_gpio_set_input_high_impedance
+
+p_mouse_24g_led_on:
+	jam 1,mem_24g_device_led_status
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	fetcht 1,mem_device_24g_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_24g_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_bt_discovery_led_on:
+	jam 0,mem_mouse_discovery_blink_count
+p_mouse_bt_led_on:
+	fetcht 1,mem_device_bt_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_bt_led_gpio
+	branch gpio_out_active
+
+p_mouse_bt_led_off:	
+	fetcht 1,mem_device_bt_led_gpio
+	branch p_gpio_set_input_pu
+
+
+p_mouse_device_led_off:
+	call p_mouse_bt_led_off
+	branch p_mouse_24g_led_off
+
+
+p_mouse_device_poweron_led_off:
+	jam 0,mem_mouse_poweron_led_timer	
+	rtn
+
+	
+/*
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+*/	
 
 ifdef G24
 p_mouse_g24_package_data:
@@ -1525,20 +1622,6 @@
 	arg mem_le_tx_buffer3,contw
 	branch p_mouse_le_txbuff_copy
 
-
-p_mouse_le_current_mult_update:
-	jam 0,mem_lpm_mult
-	jam 30,mem_mouse_le_current_mult_timer
-	rtn
-
-p_mouse_data_xy_release:
-	fetch 1,mem_mouse_long_mult_flag
-	rtnne 1
-	setarg 0
-	store 1,mem_mouse_long_mult_flag
-	store 4,mem_mouse_x
-	branch p_mouse_sensor_poweron
-
 p_mouse_le:
 	call le_fifo_check_nearly_full
 	nrtn blank
@@ -1555,15 +1638,20 @@
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
 	call mouse_motion
+ifdef HIGH_REPORT_BT
+	nbranch p_bt_125hz_clear,user
+	call p_bt_125hz
+	nrtn user7
+else
 	nrtn user
-	call p_mouse_le_current_mult_update
+endif
+	call p_mouse_current_mult_update
 	call p_mouse_data_xy_release
 	call p_mouse_wheel_trigger
 p_mouse_data_push:
 	arg mem_mouse_key,rega
 	call queue_push
-	call p_mouse_queue_increase,user
-	
+	call p_mouse_queue_increase,user	
 ifdef DEBUGLOG
 ifdef DEBUGLOG_MISC
 	setarg DEBUGLOG_DTYPE_MISC
@@ -1628,21 +1716,29 @@
 	
 endif
 
+ifdef HIGH_REPORT_BT
+p_bt_125hz:
+	enable user7
+	fetch 1,mem_bt_125hz_cnt
+	beq 15,p_bt_125hz_clear
+	increase 1,pdata
+	store 1,mem_bt_125hz_cnt
+	rtn
+p_bt_125hz_clear:
+	jam 0,mem_bt_125hz_cnt
+	disable user7
+	rtn	
+endif
+
+
+
 p_mouse_wheel_trigger:
 	fetch 2,mem_mouse_z
 	rtn blank
 	jam 1,mem_mouse_wheel_trigger
-	jam 10,mem_mouse_wheel_trigger_timer
+	jam 2,mem_mouse_wheel_trigger_timer
 	rtn
 
-p_mouse_clear_sensor_data:
-	jam 1,mem_mouse_clear_sensor_data_flag
-	call le_set_config_more_data
-	branch p_mouse_sensor_poweron
-p_mouse_init_sensor_reset:
-	jam 1,mem_mouse_init_sensor_reset_flag
-	branch p_mouse_init_sunt
-
 ifdef CLASSIC_BT
 p_mouse_bt:
 	rtn attempt
@@ -1656,8 +1752,14 @@
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
 	call mouse_motion
+ifdef HIGH_REPORT_BT
+	nbranch p_bt_125hz_clear,user
+	call p_bt_125hz
+	nrtn user7
+else
 	nrtn user
-	call p_mouse_le_current_mult_update
+endif
+	call p_mouse_current_mult_update
 	call p_mouse_data_xy_release
 	call p_mouse_wheel_trigger
 	fetch 1,mem_mouse_bt_boot_mode
@@ -1686,36 +1788,59 @@
 	istore 5,contw
 	rtn
 
+p_mouse_clear_sensor_data:
+	jam 1,mem_mouse_clear_sensor_data_flag
+	call le_set_config_more_data
+	branch p_mouse_init_sensor_reset
 endif
 
+//p_mouse_clear_sensor_data:
+//	call le_set_config_more_data
+//	jam 1,mem_mouse_clear_sensor_data_flag
+//	branch p_mouse_sensor_poweron
+
 p_mouse_idle:
 	call ui_check_paring_button
+ifdef DPI_ENABLE	
 	call p_mouse_dpi_check
+endif	
 	branch mouse_wheel_check
 
+
+ifdef DPI_ENABLE
 p_mouse_dpi_check:
 	fetcht 1,mem_dpi_button_gpio
 	call p_gpio_set_input_pd
+	call p_mouse_dpi_check_next
+	fetcht 1,mem_dpi_button_gpio
+	branch p_gpio_set_input_pu
+
+p_mouse_dpi_check_next:
 	fetcht 1,mem_dpi_button_gpio
 	call gpio_get_bit
-	branch p_mouse_dpi_up,true
-	call p_gpio_set_input_pu
+	branch mouse_dpi_up,true
 p_mouse_dpi_down:
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
 	fetch 1,mem_mouse_dpi
 	increase 1,pdata
-	and pdata,0x03,pdata
+	sub pdata,0x03,null
+	ncall disable_blank,positive
+p_mouse_set_dpi:	
 	store 1,mem_mouse_dpi
-//	increase 2,pdata
-//	store 1,mem_mouse_multi_led_blink_count
-//	call p_mouse_dpi_multi_led_blink
-	branch mouse_seting_dpi
-p_mouse_dpi_up:
-	call p_gpio_set_input_pu
-	branch mouse_dpi_up
-
+	call mouse_seting_dpi
+/*				// customer needn't blink
+	fetch 1,mem_mouse_dpi		// dpi = 1, 8-3-1=400ms led off;
+	branch p_mouse_dpi_no_blink,blank
+	mul32 pdata,8,pdata
+	increase -3,pdata
+	store 1,mem_mouse_dpi_blink_count
+*/	
+p_mouse_dpi_no_blink:	
+//	jam 1,mem_mouse_dpi_led_delay_count  //delay 200ms led blink
+	branch p_mouse_store_flash_device_info	
+endif	
 
 p_mouse_priority_bb_event:
 	copy regc,pdata
@@ -1729,7 +1854,8 @@
 ifdef CLASSIC_BT
 	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
 	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
-	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
+//	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch
 	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
 	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
 	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
@@ -1745,19 +1871,11 @@
 ifdef BLE
 p_mouse_le_bb_event_connected:
 	call p_mouse_init_sensor_reset
-	call app_ble_store_reconn_info
-	jam 1,mem_mouse_le_bb_connected_flag
-	fetch 1,mem_mouse_le_reconnect_flag
-	nbranch p_mouse_le_bb_event_connected_next,blank
-	jam 0x14,mem_mouse_send_secutiry_request_timer
-p_mouse_le_bb_event_connected_next:
-	jam 0,mem_mouse_le_not_tx_disconn
-	jam 0,mem_mouse_start_discovery_enable
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_data_init
-	branch mouse_le_bb_event_connected
+	jam ZCODE_B0,mem_zcode_temp_param0
+	branch p_zcode_entrance
 
 p_mouse_le_bb_disconnected:
+	jam 0,mem_mouse_le_bb_connected_flag
 	call p_mouse_sensor_powerdown_check	//sensor power down
 	jam ZCODE_A2,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -1784,19 +1902,16 @@
 	branch p_zcode_entrance
 
 p_mouse_irtual_cable_unplug:
-	jam ZCODE_70,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
 
 p_mouse_sniff_not_accept:
 	jam ZCODE_B1,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_bb_event_connected:
-	call p_mouse_store_eeprom_enable
-	call p_mouse_init_sensor_reset
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_discovey_led_blink_off
 	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_init_sensor_reset
 	branch mouse_stop_discovery
 
 p_mouse_bb_event_disconnected:
@@ -1812,37 +1927,32 @@
 ifdef G24
 p_mouse_24g_pairing_complete:
 	call p_mouse_init_sensor_reset
-	jam ZCODE_50,mem_zcode_temp_param0
+	jam ZCODE_92,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_24g_attempt_fail:
 	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam 0,mem_retry_count
 	jam ZCODE_51,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_24g_attempt_success:
+//	call p_mouse_null_enter_hibernate_disable
 	call p_mouse_init_sensor_reset
-	jam ZCODE_52,mem_zcode_temp_param0
-	branch p_zcode_entrance
+p_mouse_24g_no_data_timer_init:
+	branch mouse_no_data_timer_init
 endif
 
 p_mouse_before_hibernate:
 	call p_mouse_sensor_powerdown_check
-	jam ZCODE_A0,mem_zcode_temp_param0
+	jam ZCODE_A4,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_sensor_powerdown_check:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
 	jam 0,mem_mouse_init_sensor_reset_flag
-p_mouse_sensor_powerdown:
-	call p_mouse_init_sunt
-	setarg 0x06
-	call twspi_read
-	or pdata,0x08,pdata
-	lshift8 pdata,pdata
-	add pdata,0x06,pdata
-	branch twspi_write	//make sdio high
+	branch p_mouse_sensor_powerdown
 
 
 p_mouse_bb_event_timer:
@@ -1850,22 +1960,18 @@
 	call p_mouse_adc_read
 	call p_mouse_low_voltage_led_timer
 endif
-	call p_mouse_multi_led_blink_timer
 	call p_mouse_wheel_trigger_timer
-	call p_mouse_null_enter_hibernate_timer
-//	call p_mouse_bt_discovery_check
-	call mouse_check_discovery_timeout_timer
+
 	call p_mouse_select_device_by_button
-//	call p_mouse_check_select_device_by_switch_timer
-ifdef G24	
-	call p_mouse_g24_long_sleep_param_update_timer
-	call p_mouse_g24_stop_mode_timeout_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call p_mouse_current_mult_update_timer
+ifdef G24
+	call p_mouse_24g_long_sleep_param_update_timer
 endif
 ifdef BLE	
 	call mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
-	call p_le_send_smp_security_request_timer
-	call p_mouse_le_current_mult_update_timer	
 	call p_mouse_le_fast_conn_enable_timer
 endif
 ifdef CLASSIC_BT
@@ -1873,34 +1979,137 @@
 	call mouse_check_hid_handshake_timer
 	call p_mouse_bt_check_sniff_req_timeout_timer
 endif
-	branch mouse_check_no_data_timeout_timer
+	call p_mouse_discovery_led_blink
+	call p_mouse_24g_led_blink
+	branch p_mouse_device_poweron_led_timer
 
-p_mouse_store_eeprom_enable:
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	branch mouse_enable_function_flag
+ifdef ADC_ENABLE
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_mouse_direct_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_discovery_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_poweron_led_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,p_mouse_24g_led_on
+	beq 4,p_mouse_24g_led_off
+	beq 6,p_mouse_24g_led_on
+	beq 8,p_mouse_24g_led_off
+	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_24g_led_off
+endif
 
+ifdef CLASSIC_BT
+p_mouse_send_switch_req_timer:
+	arg mem_mouse_send_switch_req_timer,regc
+	arg host_create_conn_resend,regb
+	branch timer_single_step
+
+p_mouse_bt_check_sniff_req_timeout_timer:
+	arg mem_mouse_bt_send_first_package_timer,regc
+	arg p_mouse_bt_send_first_package,regb
+	branch timer_single_step
+p_mouse_bt_send_first_package:
+	jam 1,mem_mouse_bt_send_first_package_flag
+	rtn
+endif
+
+
+ifdef BLE
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step
+p_mouse_le_fast_conn_enable_timer:
+	fetch 1,mem_mouse_fast_conn_flag
+	rtnne 0xff
+	fetch 1,mem_mouse_le_bb_connected_flag
+	nrtn blank
+	arg mem_mouse_le_fast_conn_enable_timer,regc
+	arg p_mouse_le_fast_conn_enable_timeout,regb
+	branch timer_single_step		
+
+p_mouse_le_fast_conn_enable_timeout:
+	branch p_mouse_start_discovery
+endif
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_current_mult_update_timer:
+	arg mem_mouse_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
 
 ifdef G24
-p_mouse_g24_long_sleep_param_update_timer:
+p_mouse_24g_long_sleep_param_update_timer:
 	arg mem_24g_long_sleep_param_update_timer,regc
-	arg p_mouse_g24_long_sleep_normal_param,regb
+	arg p_mouse_24g_long_sleep_normal_param,regb
 	branch timer_single_step
-p_mouse_g24_long_sleep_normal_param:
-	setarg G24_LONG_SLEEP_STEP3
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
 	store 3,mem_24g_enter_hibernate
 p_mouse_long_mult_flag_enable:	
 	jam 1,mem_mouse_long_mult_flag
 	rtn
 
-p_mouse_g24_stop_mode_timeout_timer:
-	arg mem_24g_stop_g24_mode_timeout,regc
-	arg p_mouse_g24_stop_mode_timeout,regb
-	branch timer_single_step_2B
-p_mouse_g24_stop_mode_timeout:
-	jam 1,mem_24g_stop_g24_mode
-	rtn
+/*
+p_mouse_24g_pairing_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down 
+	branch mouse_bt_discovery_commbination_key_up
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_24g_pairing_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_24g_pairing_timer:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_24g_pairing_button,regb
+	branch timer_single_step	
+*/	
 endif
 
+
+
+p_mouse_bt_discovery_timer:
+	arg mem_select_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+p_mouse_long_button_bt_discovery:
+	fetcht 1,mem_device_flag
+	fetch 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	branch mouse_long_button_bt_discovry
+
+
 p_mouse_set_select_state:
 	jam 1,mem_select_device_button_press_flag
 	rtn
@@ -1908,6 +2117,7 @@
 p_mouse_clear_select_state:
 	jam 0,mem_select_device_button_press_flag
 	rtn
+	
 
 p_mouse_select_device_by_button:
 	fetch 1,mem_select_device_button_press_flag
@@ -1924,17 +2134,19 @@
 	jam PB_BUTTON_STATE_DOWN,mem_select_device_button_statue
 	rtn
 
+
 	
 p_mouse_select_device_button_up:
 	fetch 1,mem_select_device_button_statue
 	rtneq PB_BUTTON_STATE_UP
 	fetch 1,mem_select_ui_button_count
 	sub pdata,20,null
-	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
+//	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
 //	ncall p_mouse_ready_reconnection_by_button,blank
 	fetch 1,mem_ui_button_timeout
 	store 1,mem_select_ui_button_count	//combination key timer init 
 	jam PB_BUTTON_STATE_UP,mem_select_device_button_statue	
+
 	rtn
 
 p_mouse_ready_reconnection_by_button:
@@ -1948,132 +2160,25 @@
 	call p_mouse_store_flash_device_info
 //	call mouse_select_device_enable
 //	call p_select_reconn_device
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
-//	branch mouse_set_reconnection
-	branch mouse_ready_reconnection_by_button+8
-
-
-ifdef CLASSIC_BT
-p_mouse_send_switch_req_timer:
-	arg mem_mouse_send_switch_req_timer,regc
-	arg host_create_conn_resend,regb
-	branch timer_single_step
-
-p_mouse_bt_check_sniff_req_timeout_timer:
-	arg mem_mouse_bt_send_first_package_timer,regc
-	arg p_mouse_bt_send_first_package,regb
-	branch timer_single_step
-p_mouse_bt_send_first_package:
-	jam 1,mem_mouse_bt_send_first_package_flag
-	rtn
-endif
-
-
-ifdef BLE
-p_mouse_le_enable_att_list_timer:
-	arg mem_le_start_encrypt_timer,regc
-	arg mouse_le_write_enable,regb
-	branch timer_single_step
-
-p_le_send_smp_security_request_timer:
-	fetch 1,mem_mouse_le_bb_connected_flag
-	rtn blank
-	arg mem_mouse_send_secutiry_request_timer,regc
-	arg p_le_pairing_sm_start_check,regb
-	branch timer_single_step
-p_le_pairing_sm_start_check:
-	fetch 1,mem_le_send_security_request_flag
-	nrtn blank
-	branch le_pairing_sm_start
-
-p_mouse_le_current_mult_update_timer:
-	arg mem_mouse_le_current_mult_timer,regc
-	arg p_mouse_le_current_mult_reinit,regb
-	branch timer_single_step
-p_mouse_le_current_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-	jam 1,mem_mouse_long_mult_flag
-	rtn
-p_mouse_le_fast_conn_enable_timer:
-	fetch 1,mem_mouse_fast_conn_flag
-	rtnne 0xff
-	fetch 1,mem_mouse_le_bb_connected_flag
-	nrtn blank
-	arg mem_mouse_le_fast_conn_enable_timer,regc
-	arg p_mouse_le_fast_conn_enable_timeout,regb
-	branch timer_single_step	
-
-p_mouse_le_fast_conn_enable_timeout:
-	branch p_mouse_start_discovery	
-endif
-
-p_mouse_wheel_trigger_timer:
-	arg mem_mouse_wheel_trigger_timer,regc
-	arg p_mouse_wheel_trigger_disable,regb
-	branch timer_single_step
-p_mouse_wheel_trigger_disable:
-	jam 0,mem_mouse_wheel_trigger
-	rtn
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	branch mouse_set_reconnection
 
-//p_mouse_bt_discovery_check:
-//	fetch 1,mem_device_flag
-//	rtneq MODE_24G_DEVICE
-//p_mouse_bt_discovery_commbination_key:
-//	fetch 1,mem_mouse_dpi_button_state
-//	branch p_mouse_bt_discovery_commbination_key_down,blank
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
-//p_mouse_bt_discovery_commbination_key_up:
-//	fetch 1,mem_ui_button_timeout
-//	store 1,mem_combination_ui_button_count	//combination key timer init
-//	fetch 1,mem_bt_discovey_button_statue
-//	rtneq DPI_BUTTON_STATE_UP
-//	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
-p_mouse_bt_discovery_button_up_init:
-	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	call mouse_disable_function_flag
-	branch mouse_bt_discovery_button_down_disable
-//p_mouse_bt_discovery_commbination_key_down:
-//	jam 40,mem_mouse_null_enter_hibernate_timer
-//	call p_mouse_bt_discovery_timer
-//	branch mouse_bt_discovery_commbination_key_down+1
 
-p_mouse_bt_discovery_timer:
-	arg mem_select_ui_button_count,regc
-	arg p_mouse_long_button_bt_discovery,regb
-	branch timer_single_step
-p_mouse_long_button_bt_discovery:
-	fetch 1,mem_device_flag
-	rtneq MODE_24G_DEVICE
-	fetch 2,mem_ui_state_map
-	isolate1 UI_STATE_BLE_ADV,pdata
-	call mouse_stop_le_adv,true		//reconnect adv
-	fetch 2,mem_ui_state_map
-	isolate1 UI_STATE_BT_RECONNECT,pdata
-	call mouse_cancel_reconnect,true
-	branch mouse_long_button_bt_discovry
-
-p_mouse_fast_conn_adv_switch_timer_reinit:
-	fetch 2,mem_discovery_timeout
-	store 2,mem_mouse_discovery_timer
-	rtn
+	
+/*
 
 p_mouse_null_enter_hibernate_timer:
 	fetch 1,mem_mouse_null_enter_hibernate_flag
 	rtn blank
-	arg mem_mouse_null_enter_hibernate_timer,regc
-	arg p_mouse_null_enter_hibernate,regb
-	branch timer_single_step
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
 p_mouse_null_enter_hibernate:
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	branch app_enter_hibernate
-//p_mouse_null_enter_hibernate_check:
-//	fetch 2,mem_ui_state_map
-//	rtnbit1 UI_STATE_BLE_CONNECTED
-//	rtnbit1 UI_STATE_BT_CONNECTED
-//	rtnmark1 mark_24g
 p_mouse_null_enter_hibernate_enable:	//ble never connected
 	jam 1,mem_mouse_null_enter_hibernate_flag
 	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
@@ -2081,150 +2186,62 @@
 p_mouse_null_enter_hibernate_disable:	//ble never connected
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn
+	rtn	
+//p_mouse_null_enter_hibernate_check:
+//	fetch 2,mem_ui_state_map
+//	rtnbit1 UI_STATE_BLE_CONNECTED
+//	rtnbit1 UI_STATE_BT_CONNECTED
+//	rtnmark1 mark_24g
+//	branch p_mouse_null_enter_hibernate_enable
+*/
+p_vdd_calculate_by_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
+	branch vdd_calculate_by_mode+2
 
-p_mouse_multi_led_blink_timer:
-	fetch 1,mem_mouse_multi_led_blink_enable
-	rtn blank
-	fetch 1,mem_mouse_multi_led_type
-	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
-p_mouse_multi_led_type_on:
-	call p_mouse_multi_led_on
-	fetch 1,mem_mouse_multi_led_on_timer
-	increase 1,pdata
-	store 1,mem_mouse_multi_led_on_timer
-	fetcht 1,mem_mouse_multi_led_on_timer_init
-	isub temp,null
-	call p_mouse_multi_led_off_poweron2s,zero
-	rtn
-p_mouse_multi_led_off_poweron2s:
-	jam 0,mem_mouse_multi_led_on_poweron2s_flag
-	branch p_mouse_multi_led_off
-	
-p_mouse_discovery_multi_led_blink:
-	jam 5,mem_mouse_multi_led_blink_timer_init	//300ms
-p_mouse_discovery_multi_led_blink1:
-	jam 0,mem_mouse_multi_led_blink_count_limited
-	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
-p_mouse_multi_led_blink_enable:
-	jam 5,mem_mouse_multi_led_blink_timer
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
-	rtn
-
-//p_mouse_bt_reconn_multi_led_blink:
-//	jam 1,mem_mouse_multi_led_blink_timer_init	//500ms
-//	branch p_mouse_discovery_multi_led_blink1
-
-p_mouse_multi_led_type_blink:
-	arg mem_mouse_multi_led_blink_timer,regc
-	arg p_mouse_multi_led_type_blink_timeout,regb
-	branch timer_single_step
-p_mouse_multi_led_type_blink_timeout:
-	fetch 1,mem_mouse_multi_led_blink_timer_init
-	store 1,mem_mouse_multi_led_blink_timer
-	fetch 1,mem_mouse_multi_led_blink_count_limited
-	branch p_mouse_multi_led_blink_count_no_limited,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	branch p_mouse_multi_led_blink_off,blank
-	increase -1,pdata
-	store 1,mem_mouse_multi_led_blink_count
-p_mouse_multi_led_blink_count_no_limited:
-	fetch 1,mem_mouse_multi_led_state
-	beq ON,p_mouse_multi_led_off
-p_mouse_multi_led_on:
-	jam ON,mem_mouse_multi_led_state
-	fetch 1,mem_mouse_multi_led_on_timer
-	nbranch p_mouse_multi_up_led_on,blank
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nbranch p_mouse_multi_up_led_on,blank
-	fetch 1,mem_mouse_multi_led_type
-	nbranch p_mouse_multi_up_led_on,blank
-	
-	fetch 1,mem_adc_power_flag
-	bbit1 0,p_mouse_low_vdd_led_on
-p_mouse_multi_up_led_on:
-	fetcht 1,mem_mouse_multi_led_gpio
-	set1 gpio_active_bit,temp
-	call gpio_config_output
-	fetcht 1,mem_mouse_multi_led_gpio
-	branch gpio_out_active
-p_mouse_low_vdd_led_on:
-	jam 1,mem_24g_device_led_status
-	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
-	set0 5,pdata
-	hstore 1,core_gpio_pd0
-	fetcht 1,mem_device_24g_led_gpio
-	call gpio_config_output	
-	fetcht 1,mem_device_24g_led_gpio
-	branch gpio_out_inactive
+p_vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch p_vdd_calculate
 
-p_mouse_discovey_led_blink_off:
-	fetch 1,mem_mouse_multi_led_on_timer
-	nrtn blank
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nrtn blank
-p_mouse_multi_led_blink_off:
-	setarg 0
-	store 3,mem_mouse_multi_led_blink_timer
-p_mouse_multi_led_off:
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch p_mouse_multi_led_off_wait_blink_over,blank
-	jam 0,mem_mouse_multi_led_blink_enable
-	jam 0,mem_mouse_multi_led_type
-p_mouse_multi_led_off_wait_blink_over:
-	jam 0,mem_mouse_multi_led_on_timer
-	jam OFF,mem_mouse_multi_led_state
-p_mouse_multi_led_gpio_set_float:
-	fetch 1,mem_mouse_multi_led_gpio
-	rtneq UI_BUTTON_GPIO_DISABLE
-	fetcht 1,mem_mouse_multi_led_gpio
-p_mouse_set_gpio_suspend:
-	call p_gpio_set_input_pu
-p_mouse_low_vdd_led_off:
-	jam 0,mem_24g_device_led_status
-	fetcht 1,mem_device_24g_led_gpio
-	branch p_gpio_set_input_high_impedance
-	
+p_vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch p_vdd_calculate1,positive
+	branch vdd_calculate+4
 
-p_mouse_mode_bt_device1_multi_led_on:
-p_mouse_mode_24g_device_multi_led_on:
-	jam 1,mem_mouse_multi_led_on_poweron2s_flag
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_ON,mem_mouse_multi_led_type
-	jam 0,mem_mouse_multi_led_on_timer
-	rtn
-//p_mouse_mode_bt_device1_multi_led_blink3s:
-//	jam 1,mem_mouse_multi_led_blink_poweron3s_flag
-//p_mouse_mode_24g_device_multi_led_blink3s:
-//	jam 27,mem_mouse_multi_led_blink_count
-//	jam 1,mem_mouse_multi_led_blink_timer_init	//100ms
-//	branch p_mouse_dpi_multi_led_blink+1
-//p_mouse_dpi_multi_led_blink:
-//	jam 5,mem_mouse_multi_led_blink_timer_init	//300ms
-//	jam 1,mem_mouse_multi_led_blink_count_limited
-//	branch p_mouse_multi_led_blink_enable
-	
+p_vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	isub rega,null
+	call p_vdd_calculate2,positive
+	branch vdd_calculate1+3
+	//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
+p_vdd_calculate2:	
+	copy rega,pdata
+	rtn
 
 ifdef ADC_ENABLE
 p_mouse_adc_read:
-	fetch 2,mem_mouse_multi_led_blink_count
-	nrtn blank
 	fetch 1,mem_adc_read_timer
 	increase 1,pdata
 	store 1,mem_adc_read_timer
-	sub pdata,10,null              //1s read adc
+	sub pdata,5,null              //1s read adc
+	nop 100
 	call p_mouse_adc_read_gpio5, positive
 	ncall p_mouse_adc_read_vinlpm,positive
 	call adc_init_data
 	call p_adc_set_mode
-	call vdd_calculate_by_mode
+	call p_vdd_calculate_by_mode
 	store 2,mem_mouse_vdd_now_vol
 	arg mem_mouse_vdd_calculate_set,rega
 	call p_adc_bat_percent_lowpower_out
 	fetch 1,mem_adc_power_flag
 	bbit1 2,p_mouse_set_select_state
-	bbit1 1,app_enter_hibernate
+//	bbit1 1,app_enter_hibernate
 	bbit0 0,p_mouse_adc_no_low_voltage
 	jam 1,mem_mouse_adc_last_low_voltage_flag
 	branch mouse_adc_low_voltage
@@ -2239,43 +2256,18 @@
 	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
 	rtn
 
-p_vdd_calculate_by_mode:
-	fetch 1,mem_adc_config_flag
-	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
-	branch vdd_calculate_by_mode+2
-
-p_vdd_calculate_io:
-	fetch 2,mem_1v_adc_io_data
-	fetcht 2,mem_0_5_adc_io_data
-	arg 50,regc
-	branch p_vdd_calculate
-
-p_vdd_calculate:
-	isub temp,rega
-	fetch 2,mem_adc_current_value
-	isub temp,pdata
-	nbranch p_vdd_calculate1,positive
-	branch vdd_calculate+4
-
-p_vdd_calculate1:
-	copy temp,pdata
-	fetcht 2,mem_adc_current_value
-	isub temp,pdata
-	isub rega,null
-	call p_vdd_calculate2,positive
-	branch vdd_calculate1+3
 
-//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
-p_vdd_calculate2:	
-	copy rega,pdata
-	rtn
 
 p_mouse_adc_no_low_voltage:
 	call mouse_adc_no_low_voltage
+	jam 12,mem_adc_low_volatage_led_timer_count
 	fetch 1,mem_mouse_adc_last_low_voltage_flag
 	rtn blank
 	jam 0,mem_mouse_adc_last_low_voltage_flag
-	branch p_mouse_low_vdd_led_off
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
 
 p_adc_set_mode:
 	fetch 1,mem_adc_config_flag
@@ -2285,7 +2277,11 @@
 	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
 	set0 5,pdata
 	hstore 1,core_gpio_pd0
-	branch adc_check_gpio
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+
 
 p_adc_bat_percent_lowpower_out:
 	ifetch 8,rega
@@ -2315,6 +2311,7 @@
 	call p_mouse_clear_select_state
 	branch p_adc_clear_pb_press_flag
 
+
 p_adc_clear_no_power_flag:
 	fetcht 1,mem_adc_power_flag
 	set0 1,temp
@@ -2330,130 +2327,20 @@
 	fetcht 1,mem_adc_power_flag
 	set0 2,temp
 	storet 1,mem_adc_power_flag
-	rtn
-
-p_mouse_low_voltage_led_timer:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BLE_ADV
-	rtnbit1 UI_STATE_BT_DISCOVERY
-	fetch 2,mem_mouse_multi_led_blink_count
-	nrtn blank
-
-	fetch 1,mem_adc_low_volatage_led_timer_count
-	pincrease 1
-	store 1,mem_adc_low_volatage_led_timer_count
-	beq 5,p_mouse_multi_led_on
-	sub pdata,10,null
-	nbranch p_mouse_adc_low_volatage_led_timer_count_clean,positive
-	rtn
-p_mouse_adc_low_volatage_led_timer_count_clean:
-	jam 1,mem_adc_low_volatage_led_timer_count
-	branch p_mouse_multi_led_off
-
+	rtn		
+	
 endif
 
-
-p_mouse_sensor_poweron:
-	call p_mouse_spi_init
-//	arg mem_sensor_poweron_init,regc
-//	call p_sensor_wr_seq	
-	setarg 0x8006	// reset to factory settings
-	call twspi_write
-	nop 12000
-p_mouse_dpi_config:
-	fetch 1,mem_mouse_dpi
-	bne 0xff,p_mouse_seting_dpi
-p_mouse_dpi_config_default:
-	fetch 1,mem_config_sensor_motion
-	store 1,mem_mouse_dpi
-p_mouse_seting_dpi:
-p_mouse_seting_sensor_type:
-//	fetch 1,mem_config_sensor_type
-//	beq P3212,p_mouse_seting_3212_dpi
-//	beq P3065_XY,p_mouse_seting_3065XY_dpi
-//	beq MX8650,p_mouse_seting_3065XY_dpi
-//	beq KA8,p_mouse_seting_ka8_dpi
-p_mouse_seting_320x_dpi:
-	fetch 1,mem_mouse_dpi
-	sub pdata,MOUSE_DPI_LEVEL2,null
-	call p_mouse_320x_dpi_recount,zero
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL1,p_mouse_set_cpi1
-	beq MOUSE_DPI_LEVEL4,p_mouse_set_cpi4
-p_mouse_set_cpi3:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi3
-	beq MX8650,p_mouse_3065xy_set_cpi3
-	beq KA8,p_mouse_ka8_set_cpi3
-p_mouse_320x_set_cpi3:	
-	fetch 1,mem_320x_dpi_3
-p_mouse_dpi_store:
-	store 1,mem_mouse_cpi_count
-	branch mouse_p3205_dpi+3
-p_mouse_320x_dpi_recount:
-	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
-	rtn
-
-p_mouse_set_cpi1:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi1
-	beq MX8650,p_mouse_3065xy_set_cpi1
-	beq KA8,p_mouse_ka8_set_cpi1
-p_mouse_320x_set_cpi1:	
-	fetch 1,mem_320x_dpi_1
-	branch p_mouse_dpi_store
-
-p_mouse_set_cpi4:
-	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_3065xy_set_cpi4
-	beq MX8650,p_mouse_3065xy_set_cpi4
-	beq KA8,p_mouse_ka8_set_cpi4
-p_mouse_320x_set_cpi4:	
-	fetch 1,mem_320x_dpi_4
-	branch p_mouse_dpi_store
-
-p_mouse_3065xy_set_cpi3:
-	fetch 1,mem_3065xy_dpi_3
-	branch p_mouse_dpi_store
-p_mouse_3065xy_set_cpi1:
-	fetch 1,mem_3065xy_dpi_1
-	branch p_mouse_dpi_store
-p_mouse_3065xy_set_cpi4:
-	fetch 1,mem_3065xy_dpi_4
-	branch p_mouse_dpi_store
-
-p_mouse_ka8_set_cpi3:
-	fetch 1,mem_3065xy_dpi_3
-p_mouse_ka8_dpi_store:
-	increase 3,pdata
-	branch p_mouse_dpi_store
-p_mouse_ka8_set_cpi1:
-	fetch 1,mem_3065xy_dpi_1
-	branch p_mouse_ka8_dpi_store
-p_mouse_ka8_set_cpi4:
-	fetch 1,mem_3065xy_dpi_4
-	branch p_mouse_ka8_dpi_store
-
-//p_mouse_seting_3212_dpi:
-//	fetch 1,mem_mouse_dpi
-//	sub pdata,MOUSE_DPI_LEVEL2,null
-//	call p_mouse_3205_dpi_recount,zero
-//	fetch 1,mem_mouse_dpi
-//	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
-//	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
-//	branch mouse_set_p3212_cpi3
-
-
-p_mouse_motion:
+p_mouse_motion: 
 	disable user
 	setarg 0
 	store 6,mem_mouse_x
-	call p_mouse_cheak_sensor_data
+	call mouse_cheak_sensor_data
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call p_mouse_key
+//	call p_mouse_device_led_on,user
+//	ncall p_mouse_device_led_off,user
 ifdef MOUSE_SMOOTHER	
 	nbranch p_drawing_optima_init,user
 	call p_drawing_optima
@@ -2462,6 +2349,7 @@
 endif
 	branch mouse_motion+9
 
+
 p_mouse_key:
 	call p_mouse_check_key_gpio
 	branch mouse_key+1
@@ -2469,13 +2357,13 @@
 p_mouse_check_key_gpio:
 	arg 0,rega
 	call p_mouse_check_lkey_gpio
-//	call p_mouse_check_rkey_gpio
-//	call p_mouse_check_mkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
 	call p_mouse_check_skey_gpio
 	branch mouse_check_key_gpio_output
 p_mouse_check_skey_gpio:
-//	fetch 1,mem_bk_button_gpio
-//	rtneq GPIO_DISABLE
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
 	call p_mouse_check_bk_key_gpio
 	branch p_mouse_check_fw_key_gpio
 	
@@ -2485,14 +2373,14 @@
 	fetcht 1,mem_lbutton_gpio
 	call gpio_get_bit
 	setflag true,0,rega			//true = 1,input low level
-//	rtn
+	rtn
 p_mouse_check_rkey_gpio:
 	fetcht 1,mem_rbutton_gpio
 	call p_gpio_set_input_pu
 	fetcht 1,mem_rbutton_gpio
 	call gpio_get_bit
 	setflag true,1,rega			//true = 1,input low level
-//	rtn
+	rtn
 p_mouse_check_mkey_gpio:
 	fetcht 1,mem_mbutton_gpio
 	call p_gpio_set_input_pu
@@ -2513,13 +2401,13 @@
 	fetcht 1,mem_fw_button_gpio
 	call gpio_get_bit
 	nsetflag true,4,rega
-p_gpio_set_input_pu:
-	set1 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
+	branch p_gpio_set_input_pu
+
+
+p_gpio_set_input_high_impedance:
 	set0 gpio_active_bit,temp
-	branch p_gpio_set_input_pd4
-	
+	branch gpio_set_high_impedance
+
 p_gpio_set_input_pd:
 	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
@@ -2527,42 +2415,40 @@
 	set1 gpio_active_bit,temp
 p_gpio_set_input_pd4:	
 	arg core_gpio_pd0,contw
-	branch gpio_set_high_impedance+4
-
-p_gpio_set_input_high_impedance:
+	call gpio_set_bit
 	set0 gpio_active_bit,temp
-	branch gpio_set_high_impedance
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
 
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pu1:	
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
 
-p_mouse_cheak_sensor_data:
-//	fetch 1,mem_config_sensor_type
-//	beq P3212,p_mouse_p3212_sensor_motion
-p_mouse_p32xx_sensor_motion:
-	call mouse_clear_sensor_data
-	disable user
-	branch mouse_p32xx_sensor_motion_2
-//p_mouse_p3212_sensor_motion:
-//	call mouse_clear_sensor_data
-//	branch mouse_p3212_sensor_motion_1
 	
 p_mouse_bb_event_discovery_btn:
-	call p_mouse_null_enter_hibernate_disable
+	jam 0,mem_mouse_poweron_led_timer
 ifdef G24	
 	isolate1 mark_24g,mark
 	call p_g24_check_51cmd_stop_24g,true
 endif
-	jam 0,mem_mouse_send_blank_timer
-	fetch 1,mem_mouse_le_not_tx_disconn
-	call mouse_disconnect,blank
-	setarg 0
-	store 2,mem_mouse_no_data_timer
-	branch mouse_bb_event_discovery_btn+3
+	branch mouse_bb_event_discovery_btn+1
 
 ifdef BLE
+p_le_addr_random_config:
+	jam ZCODE_81,mem_zcode_temp_param0
+	branch p_zcode_entrance	
+
 p_mouse_start_discovery:
-	jam ZCODE_30,mem_zcode_temp_param0
+	jam 0,mem_mouse_discovery_blink_count
+	jam ZCODE_50,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
+
+
 p_le_adv_data_update:
 	arg mem_le_adv_data+11,contw
 	arg 19,loopcnt
@@ -2570,7 +2456,13 @@
 	branch le_modified_name_adv
 
 p_mouse_stop_discovery:
-	call p_mouse_discovey_led_blink_off
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	store 1,mem_mouse_dpi_blink_count
+	store 1,mem_mouse_blink_count
+	store 1,mem_mouse_discovery_blink_count
+	jam 5,mem_mouse_bt_ble_led_timer
+	call p_mouse_bt_led_off
 	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
 	branch mouse_stop_discovery+1
 
@@ -2593,68 +2485,17 @@
 	jam 37,mem_le_ch_mapped
 	rtn
 
-ifdef BLE_RFIO
-p_le_receive_rxon:
-ifdef RF_DEBUG
-	call test_h_l_h
-endif
-	call le_prep
-	disable match
-	enable decode_fec0
-	enable is_rx
-	disable is_tx
-	copy timeup,stop_watch
-	correlate null,timeout
-	branch p_le_receive_on_attempt,attempt
-	copy clke,temp
-	storet 6,mem_sync_clke
-p_le_receive_on_attempt:
-	nbranch end_of_packet,sync
-ifdef RF_DEBUG
-	call test_gpio_low
-	call test_gpio_high
-	call test_gpio_low
-endif	
-	branch le_receive_skip,attempt
-	arg param_clke_cal_le,clke_rt
-	copy bt_clk,clke_bt
-	fetch 1,mem_le_state
-	bbit0 lestate_got_first_packet,le_receive_skip
-	call lpm_adjust_clk,wake
-	branch le_receive_skip
-
-p_end_of_packet:
-ifdef RF_DEBUG
-	call test_gpio_low
-endif	
-	branch end_of_packet+1
-	
-p_lerx_nopayload:
-	parse demod,bucket,24
-	enable swfine
-	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
-	rshift32 pdata,pdata
-	rshift16 pdata,pdata
-	istore 3,contw
-	branch end_of_packet,crc_failed
-//ifdef RF_DEBUG
-//	call test_gpio_low
-//	call test_gpio_high
-//endif
-	branch lerx_nopayload+8
-endif
-
 p_le_receive_skip:
 	call save_rssi
 	call p_rssi_signal
 	branch le_receive_skip+2
 
 p_le_update_param:
-	jam ZCODE_20,mem_zcode_temp_param0
+	jam ZCODE_40,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_update_channel_map:
-	jam ZCODE_21,mem_zcode_temp_param0
+	jam ZCODE_41,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_prepare_tx:
@@ -2682,6 +2523,10 @@
 	call p_mouse_data_pull,blank
 	branch le_prepare_tx+4
 
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+	branch p_le_power_ctrl_pac_succ_decrs
+
 p_le_check_tx_retransmit_setmd:
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
@@ -2705,8 +2550,8 @@
 endif
 	rtn
 
-p_le_prepare_tx_wak:
-	call p_le_check_tx_retransmit_setmd
+	
+	
 p_le_power_ctrl_pac_succ_decrs:
 ifdef DEBUGLOG
 ifdef DEBUGLOG_MISC
@@ -2717,15 +2562,7 @@
 	call debuglog_push	
 endif
 endif
-power_ctrl_pac_succ_decrs:
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	sub pdata,2,null
-	ncall power_ctrl_pac_succ_cnt_reinit,positive
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtneq 0
-	increase -1,pdata
-	store 1,mem_power_ctrl_pac_succ_cnt
-	rtn
+	branch power_ctrl_pac_succ_decrs
 
 p_mouse_le_reconn_write_enable_timer_reinit:
 	fetch 1,mem_mouse_le_reconnect_flag
@@ -2733,7 +2570,7 @@
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
 	rtneq 0x03
-	jam 2,mem_le_start_encrypt_timer
+	jam 1,mem_le_start_encrypt_timer
 	rtn
 
 p_le_parse:
@@ -2754,19 +2591,8 @@
 	branch le_parse_l2cap
 p_le_parse_ll:
 	fetch 1,mem_le_rxbuf+2
-	beq LL_CONNECTION_UPDATE_REQ,p_le_parse_connection_update_req
 	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
 	branch le_parse_ll+1
-p_le_parse_connection_update_req:
-	call le_parse_connection_update_req
-	fetch 1,mem_mouse_le_updata_not_accepted_flag
-	rtn blank
-//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = LL_CONNECTION_UPDATE_REQ latency = 04	
-p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:	
-	fetch 1,mem_le_new_connslavelatency
-	store 1,mem_lpm_mult
-	store 1,mem_lpm_mult_init
-	rtn		
 p_le_parse_channel_map_req:
 	ifetch 5,contr
 	store 5,mem_le_new_map
@@ -2812,6 +2638,7 @@
 	istore 2,contr
 	rtn
 
+
 p_le_parse_att1:
 	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
 	branch le_parse_att+2
@@ -2820,26 +2647,47 @@
 	fetch 1,mem_le_configuration
 	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
 p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero
+	
 	fetch 2,mem_le_att_handle
 	beq 0x13,le_send_att_error_response_notfound
+
 	fetcht 2,mem_le_att_handle
 	branch le_send_att_read_response
+
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
 p_le_send_att_read_response_check_auth:
 	fetch 2,mem_le_pairing_handle
 	isub temp,null
 	nbranch p_le_send_att_read_response,zero
 	call le_check_encrypt_state
 	nbranch p_le_send_att_read_response,user
-	branch le_send_att_read_response_check_auth+5
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
 	
+
+
 p_le_parse_smp:
 	ifetch 1,contr
-	beq SMP_PAIRING_REQUEST,p_le_parse_smp_pairing_request
 	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
 	branch le_parse_smp+1
-p_le_parse_smp_pairing_request:
-	jam 1,mem_le_send_security_request_flag
-	branch le_parse_smp_pairing_request	
 p_le_parse_smp_pairing_failed:
 	jam ZCODE_82,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -2872,8 +2720,12 @@
 	branch le_lpm_set_mult_attempt+3
 
 p_le_mouse_bb_event_connect_complete:
-	jam ZCODE_22,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
 endif
 
 p_twspi_reset:
@@ -2929,8 +2781,7 @@
 	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
+	force 1,am_addr	/* process_fhs will update am_addr, so slave will not receive fhs succeffully sometimes */
 	jam 2,mem_newconnto_counter
 	branch p_roles_waitfhs_loop
 
@@ -2945,8 +2796,13 @@
 	branch process_dmh+1
 
 p_quit_connection_cont:
-	jam ZCODE_23,mem_zcode_temp_param0
-	branch p_zcode_entrance
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	branch quit_connection_cont+8
 
 p_prepare_tx:
 	fetch 1,mem_state
@@ -2974,6 +2830,9 @@
 	rtn blank
 	fetch 1,mem_lpm_mode
 	rtn blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
 	fetch 1,mem_ssp_enable
 	branch p_lpm_dispatch_next,blank
 	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
@@ -3013,11 +2872,11 @@
 	rtn	
 
 p_mouse_bb_disconnected:
-	jam ZCODE_01,mem_zcode_temp_param0
+	jam ZCODE_10,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_hid_rx_process:
-	jam ZCODE_02,mem_zcode_temp_param0
+	jam ZCODE_11,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_parse_lmp_accepted:
@@ -3034,45 +2893,9 @@
 	rtn
 
 p_send_lmp:
-	disable user
-	call lmo_fifo_process
-ifdef DEBUGLOG
-ifdef DEBUGLOG_SEND_LMP
-	setarg DEBUGLOG_DTYPE_SEND_LMP
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_lmi_opcode
-	store 1,mem_debuglog_dataval+1
-	fetch 1,mem_lmp_to_send
-	store 1,mem_debuglog_dataval
-	fetch 1,mem_lmp_to_send
-	store 2,mem_debuglog_dataval
-	ncall debuglog_push,blank
-endif
-endif
-	fetch 1,mem_lmp_to_send
-	rtn blank
-	bbit1 7,p_send_lmp_escape
-	beq LMP_ACCEPTED,p_send_lmp_accepted
-	beq LMP_SETUP_COMPLETE,p_send_lmp_setup_complete
-	beq LMP_SNIFF_REQ,p_send_lmp_sniff_req
-	branch send_lmp0
-
-p_send_lmp_escape:
-	jam ZCODE_10,mem_zcode_temp_param0
-	branch p_zcode_entrance
-
-p_send_lmp_accepted:
-	jam ZCODE_11,mem_zcode_temp_param0
+	jam ZCODE_20,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
-p_send_lmp_setup_complete:
-	jam 1,mem_bt_send_lmp_setup_complete
-	branch send_lmp_setup_complete
-
-p_send_lmp_sniff_req:
-	jam 4,mem_mouse_bt_send_first_package_timer
-	branch send_lmp_sniff_req
-
 p_process_conn_sm:
 	call lmo_fifo_check
 	nrtn blank
@@ -3210,6 +3033,11 @@
 	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
 	branch check_51cmd_once_continue+2
 
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+
 p_flash_store_le_reconn_info:
 	jam REC_4_MODE,mem_record_bt_mode
 	fetch 6,mem_le_plap
@@ -3229,10 +3057,8 @@
 	call mouse_before_store_reconn_info
 	branch p_mouse_store_flash_device_info
 
-p_check_51cmd_ble_update_connect_param:
-	call le_fifo_check_full
-	nrtn blank
-	branch le_l2cap_tx_update_req
+
+
 
 power_ctrl_pac_succ_cnt_init:
 	jam 1,mem_power_ctrl_level
@@ -3243,7 +3069,15 @@
 	increase 1,pdata
 	store 1,mem_power_ctrl_pac_succ_cnt
 	rtn
-
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
 power_ctrl_pac_succ_cnt_reinit:
 	jam 3,mem_power_ctrl_pac_succ_cnt
 	rtn
@@ -3285,7 +3119,7 @@
 
 power_ctrl_txpower_decrs_check:
 	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtnne 50
+	rtnne 32
 	jam 0,mem_power_ctrl_pac_succ_cnt
 power_ctrl_txpower_decrs:
 	fetcht 1,mem_rssi_avg_received
@@ -3396,12 +3230,7 @@
 //	branch set_tx_power_3db
 	
 p_set_tx_power_5db:
-//	call p_rx_high_sens
-	jam 0xfb,0x894c 
-	jam 0xef,0x894d
-	jam 0xec,0x894e 
-	jam 0x5e,0x894f
-
+	call p_rx_high_sens
 //	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xe0,0x8956
@@ -3437,12 +3266,12 @@
 	jam 0x46,0x894f
 	rtn
 
-//p_rx_high_sens:
-//	jam 0xfb,0x894c 
-//	jam 0xef,0x894d
-//	jam 0xec,0x894e 
-//	jam 0x5e,0x894f
-//	rtn
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
 		
 p_set_tx_power_pair:	//50-100cm distance
 //	jam 0xba,0x894b
@@ -3454,10 +3283,6 @@
 	force 8,radio_ctrl
 	branch shutdown_radio+1
 
-p_initialize_radio_cont:
-	call initialize_radio_cont+1
-	jam clksel_dpll,core_clksel
-	rtn	
 
 // input : mem_zcode_temp_param0 ---- zocde number(0~1f)
 p_zcode_entrance:
@@ -3488,8 +3313,9 @@
 	iadd temp,pdata
 	increase -5,pdata
 	store 3,mem_flash_address
+	
 	call p_flash_release_deep_power_down
-p_zcode_read_loop:
+p_zcode_read_loop:			// YC1059
 	fetch 3,mem_flash_address
 	arg ZCODE_BUFF_SIZE,temp
 	arg mem_zcode_buff,rega
@@ -3497,9 +3323,9 @@
 	fetch 4,mem_zcode_buff
 	fetcht 4,mem_zcode_head	//p_start
 	isub temp,null
-	nbranch p_zcode_read_loop,zero	//sometimes we will lost p_start,read flash again
+	nbranch p_zcode_read_loop,zero
 	call p_mouse_spi_init
-
+	
 	setarg mem_zcode_buff
 	store 2,mem_patch_ptr
 	jam ZCODE_CODE_SIZE,mem_patch_len
@@ -3510,6 +3336,8 @@
 	fetch 1,mem_zcode_temp_param0
 	branch p_zcode
 
+
+
 ifdef DEBUGLOG 
 pdata_push:
 	store 8,mem_debuglog_pdata
@@ -3628,6 +3456,11 @@
 
 ifdef MOUSE_SMOOTHER
 //notice: need to call p_mouse_drawing_optima_init when waked from mult
+p_drawing_optima_init:
+	arg 5,loopcnt
+	arg mem_mouse_asm_flag,contw
+	branch clear_mem
+
 p_drawing_optima:
 	fetch 4,mem_mouse_x
 	rtn blank
@@ -3638,10 +3471,7 @@
 	call p_data_less_than_check
 	fetch 1,mem_mouse_asm_flag
 	beq 1,p_drawing_optima_modify
-p_drawing_optima_init:
-	arg 5,loopcnt
-	arg mem_mouse_asm_flag,contw
-	branch clear_mem
+	branch p_drawing_optima_init
 
 p_drawing_optima_modify:
 	fetch 2,mem_mouse_x_pre
@@ -3740,9 +3570,11 @@
 
 p_data_abs_check:
 	fetch 2,mem_mouse_x
+	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,rega
 	fetch 2,mem_mouse_y
+	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,regb
 	rtn
@@ -3752,7 +3584,6 @@
 output:pdata,abs
 ************/
 p_data_abs:
-	store 2,mem_data_current
 	fetch 1,mem_data_current+1
 	beq 0xff,p_data_reversal
 	fetch 1,mem_data_current
Index: ZJL_3X_OnlyBLE/program/peripherals.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/peripherals.prog	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/peripherals.prog	(working copy)
@@ -2303,7 +2303,6 @@
 	hfetch 2,core_clkoff
 	set0 CLOCK_OFF_PWM,pdata
 	hstore 2,core_clkoff
-delay_nop100:	
 	nop 100
 	rtn
 
Index: ZJL_3X_OnlyBLE/program/z.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/z.prog	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/program/z.prog	(working copy)
@@ -1,11 +1,34 @@
 
 org 0x10001
 z_entrance0:
-	beq ZCODE_01,z_mouse_bb_disconnected
-ifdef CLASSIC_BT
 	beq ZCODE_00,z_page_wait_fhs_reply_ok
-	beq ZCODE_02,z_hid_rx_process
-endif	
+	rtn
+
+z_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+z_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch z_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch z_master_newconn_loop,blank
+	branch page_restart
+z_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+
+
+	
+org 0x20001
+
+z_entrance1:
+	beq ZCODE_10,z_mouse_bb_disconnected
+	beq ZCODE_11,z_hid_rx_process
 	rtn
 
 z_mouse_bb_disconnected:
@@ -28,34 +51,10 @@
 	fetch 2,mem_ui_state_map
 	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
 	call app_disconn_reason_clear
-	call p_mouse_check_key_gpio	//mult_key pair
-	beq MOUSE_LMR_BUTTON,z_mouse_null_enter_hibernate_enable
-	fetch 1,mem_mouse_dpi_button_state	//dpi key switch
-	branch z_mouse_null_enter_hibernate_enable,blank
+//	call p_mouse_check_key_gpio
+//	rtn true
 	branch app_bb_hibernate
 
-z_mouse_null_enter_hibernate_enable:	//ble never connected
-	jam 1,mem_mouse_null_enter_hibernate_flag
-	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn	
-
-ifdef CLASSIC_BT
-z_page_wait_fhs_reply_ok:
- 	fetch 1, mem_page_rcv_fhs
-	increase 1,pdata
-	store 1, mem_page_rcv_fhs
-	call prepare_newconn
-z_master_newconn_loop:
- 	set1 mark_first_packet,mark
-	call master_newconn_once
-	branch z_newconn_poll_responded,sync
-	set0 mark_first_packet,mark
-	call new_conn_timeout
-	nbranch z_master_newconn_loop,blank
-	branch page_restart
-z_newconn_poll_responded:
-	set0 mark_first_packet,mark
-	branch newconn_poll_responded
 
 z_hid_rx_process:
 	fetch 2,mem_l2cap_payload_ptr
@@ -79,40 +78,41 @@
 z_hid_rx_process_hid_control:
 	copy temp,pdata
 	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,p_mouse_irtual_cable_unplug
-	branch hid_rx_process_hid_control+2
-endif	
+	branch hid_rx_process_hid_control+2	
 
-org 0x20001
+org 0x30001
 
-z_entrance1:
-	beq ZCODE_10,z_send_lmp_escape
-	beq ZCODE_11,z_send_lmp_accepted
-	beq ZCODE_12,z_mouse4_0_check_reconn_target
+z_entrance2:
+	beq ZCODE_20,z_send_lmp
 	rtn
 
-z_mouse4_0_check_reconn_target:
-	jam 1,mem_le_send_security_request_flag
-	jam 1,mem_mouse_le_reconnect_flag
-	fetch 2,mem_mouse_direct_timeout
-ifdef BLE_FAST_CONN_ENABLE
-	fetcht 1,mem_mouse_fast_conn_flag
-	sub temp,0xff,null
-	nbranch z_mouse4_0_check_reconn_target_next,zero
-	setarg 0x0258								//ble fast conn time 1min
-endif
-z_mouse4_0_check_reconn_target_next:
-	store 2,mem_mouse_direct_timer
-	call p_mouse_store_eeprom_enable
-	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-	arg mem_le_scan_data,contr
-	call p_le_adv_data_update
-	branch check_51cmd_adv
+z_send_lmp:
+	disable user
+	call lmo_fifo_process
 
-z_send_lmp_escape:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_SEND_LMP
+	setarg DEBUGLOG_DTYPE_SEND_LMP
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_lmi_opcode
+	store 1,mem_debuglog_dataval+1
+	fetch 1,mem_lmp_to_send
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmp_to_send
+	store 2,mem_debuglog_dataval
+	ncall debuglog_push,blank
+endif
+endif
+	
 	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,z_send_lmp_escape
+	beq LMP_ACCEPTED,z_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,z_send_lmp_setup_complete
+	beq LMP_SNIFF_REQ, z_send_lmp_sniff_req
+	beq LMP_DETACH,z_send_lmp_detach
+	branch send_lmp0
+z_send_lmp_escape:
 	beq LMP_EXT_FEATURES_RES,z_send_lmpext_features_res
 	beq LMP_EXT_FEATURES_REQ,z_send_lmpext_features_req	
 	branch send_lmp_escape
@@ -129,6 +129,34 @@
 	branch ssp_disable,blank
 	branch ssp_enable
 
+z_send_lmp_setup_complete:
+	jam 1,mem_bt_send_lmp_setup_complete
+	branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+	jam 4,mem_mouse_bt_send_first_package_timer
+	branch send_lmp_sniff_req
+	
+z_send_lmp_detach:
+/*
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+	fetch  1,mem_mouse_bt_reconnect_flag
+	branch prepare_disconnect,blank
+	branch p_mouse_sensor_powerdown_check
+*/
+	call send_lmp_detach
+	fetch  1,mem_mouse_bt_reconnect_flag
+	rtn blank
+	fetch 1,mem_op
+	set0 op_disconn,pdata
+	store 1,mem_op
+	branch p_mouse_sensor_powerdown
+
+
 z_send_lmp_accepted:
 	force 2,pdata
 	call msg_send_lmp
@@ -159,14 +187,85 @@
 	copy clkn_bt,pdata
 	store 4,mem_aurand_send_delay_time
 	rtn
-	
-org 0x30001
 
-z_entrance2:
-	beq ZCODE_20,z_le_update_param
-	beq ZCODE_21,z_le_update_channel_map
-	beq ZCODE_22,z_le_mouse_bb_event_connect_complete
-	beq ZCODE_23,z_quit_connection_cont
+
+org 0x40001
+
+z_entrance3:
+	beq ZCODE_30,z_process_conn_sm
+	rtn
+
+z_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+z_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CONN_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CONN_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_conn_sm
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	beq CONN_SM_SEND_CONN_REQ, z_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,z_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+
+z_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,z_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+z_host_create_conn_switch_accept:
+	rtn master
+z_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,z_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+z_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch z_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+z_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+
+
+
+
+org 0x50001
+
+z_entrance4:
+	beq ZCODE_40,z_le_update_param
+	beq ZCODE_41,z_le_update_channel_map
 	rtn
 
 z_le_update_param:
@@ -209,57 +308,62 @@
 	rtnne 0x00
 	branch disable_user
 
-z_le_mouse_bb_event_connect_complete:
-	fetch 1,mem_mouse_le_reconnect_flag
-	nrtn blank
-	fetch 1,mem_le_att_handle
-	sub pdata,26,pdata
-	nrtn zero
-	jam 0,mem_le_start_encrypt_timer
-	branch mouse_le_write_enable
-	
-z_quit_connection_cont:
-	call app_disconn_reason_collect_bt
-	call sniff_exit
-	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
-	call ui_ipc_send_event
-	call init_lmp_work
-	call l2cap_init_work
-	branch quit_connection_cont+8
 
-org 0x40001
 
-z_entrance3:
-	beq ZCODE_30,z_mouse_start_discovery
+org 0x60001
+
+z_entrance5:
+	beq ZCODE_50,z_mouse_start_discovery
+	beq ZCODE_51,z_mouse_24g_attempt_fail
 	rtn
 
+
 z_mouse_start_discovery:
 	call p_mouse_tx_power_init
-	jam 0,mem_le_send_security_request_flag
-	jam 1,mem_mouse_start_discovery_enable
-	jam MODE_BT_DEVICE1,mem_device_flag
 	jam 0,mem_mouse_clear_sensor_data_flag
-	call z_mouse_le_addr_update
+ifdef BLE_FAST_CONN_ENABLE
+	call p_mouse_le_fast_conn_disable
+endif		
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,z_mouse_start_discovery_norandom
+ifdef BLE
+	call p_mouse_load_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+endif
 z_mouse_start_discovery_norandom:
 ifdef BLE_FAST_CONN_ENABLE
-	fetch 3,mem_le_lap_high_3B
+	setarg 0xed8e0e
 	store 3,mem_le_lap+3
-	call p_mouse_fast_conn_disable
 endif
 	call app_lpm_mult_disable
 	fetch 2,mem_discovery_timeout
 	store 2,mem_mouse_discovery_timer
+	jam 5,mem_mouse_bt_ble_led_timer
 	jam 6,mem_connection_options
 	setarg 0
 	store 2,mem_mouse_no_data_timer
 	store 2,mem_mouse_direct_timer
-	call p_mouse_store_eeprom_enable
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
 	call mouse_bt_discovery_button_down_disable
 	fetch 1,mem_device_option
 	isolate1 MODE_4_MOUSE,pdata
 	call z_check_51cmd_adv,true
-	call mouse_start_discovery_norandom+13
-	branch p_mouse_discovery_multi_led_blink
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	jam 0,mem_mouse_bt_reconnect_flag
+	branch mouse_start_discovery_norandom+13
 
 z_check_51cmd_adv:
 	jam 0,mem_mouse_le_reconnect_flag
@@ -270,140 +374,65 @@
 	call p_le_adv_data_update
 	branch check_51cmd_adv
 
-z_mouse_le_addr_update:
-	call p_mouse_load_flash_user_data	
-	fetcht 2,mem_random_addr_increase_count
-	increase 1,temp
-	storet 2,mem_random_addr_increase_count
-	storet 2,mem_le_lap+1
-	call p_mouse_store_flash_user_data
-	random pdata
-	store 1,mem_le_lap
-	rtn
-
-org 0x50001
-
-z_entrance4:
-ifdef G24
-	beq ZCODE_40,z_g24_start_24g_mode
-	beq ZCODE_41,z_g24_auto_pair_start	
-	beq ZCODE_42,z_mouse_24g_pairing_button
-endif
-	rtn
-
-ifdef G24
-z_g24_start_24g_mode:
-	call z_g24_factory_check
-	branch p_g24_auto_pair_start,user
-	set1 mark_24g,mark
-	fetch 1,mem_24g_conn_sm
-	set1 STATE_24G_RECONN,pdata
-	store 1,mem_24g_conn_sm
-	call p_g24_syncword_crc8
-	call p_g24_ch
-	branch z_g24_auto_pair_timeout_init
-
-z_g24_factory_check:
-	arg 2,loopcnt
-	arg mem_24g_addr,contr
-	call enable_user
-	setarg 0xffff
-z4_pdata_0xff_check_loop:
-	ifetcht 2,contr
-	isub temp,null
-	ncall disable_user,zero
-	loop z4_pdata_0xff_check_loop
-	rtn
-
-z_g24_auto_pair_start:
-	set1 mark_24g,mark
-	fetch 1,mem_24g_conn_sm
-	set1 STATE_24G_PAIR,pdata
-	store 1,mem_24g_conn_sm
-z_g24_auto_pair_timeout_init:
-	setarg G24_DISCONN_NODATA_TIMER
-	store 2,mem_24g_stop_g24_mode_timeout
-	jam 0,mem_24g_stop_g24_mode
-	rtn	
-	
-z_mouse_24g_pairing_button:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	call mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	call mouse_stop_discovery
-	branch p_g24_auto_pair_start
-endif	
-
-org 0x60001
-
-z_entrance5:
-ifdef G24
-	beq ZCODE_50,z_mouse_24g_pairing_complete
-	beq ZCODE_51,z_mouse_24g_attempt_fail
-	beq ZCODE_52,z_mouse_24g_attempt_success
-	beq ZCODE_53,z_g24_reconn_dispatch
-endif
-	rtn
-
-ifdef G24
-z_mouse_24g_pairing_complete:
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_disable_function_flag
-	jam 0,mem_mouse_move_flag
-	call mouse_read_sensor_common
-	call p_mouse_tx_power_init
-	branch z_mouse_24g_attempt_success
-
 z_mouse_24g_attempt_fail:
+	fetch 1,mem_mouse_24g_pair_timer
+	nrtn blank
+	fetch 1,mem_24g_attempt_count
+	nbranch z_mouse_24g_attempt_fail_again,blank
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	call p_mouse_tx_power_init
 	call p_g24_check_51cmd_stop_24g
+	jam 0,mem_link_key_exists
+	call p_mouse_setgpio_hibernate
 	branch app_enter_hibernate
 
-z_mouse_24g_attempt_success:
-	jam 0,mem_mouse_long_mult_flag
-	call z_g24_auto_pair_timeout_clear
-	call p_mouse_null_enter_hibernate_disable
-	call mouse_no_data_timer_init
-	fetch 4,mem_24g_addr
-	store 4,mem_mouse_24g_addr
-	call mouse_cheak_select_24gdevice
-	branch p_mouse_store_flash_device_info
 
-z_g24_auto_pair_timeout_clear:
-	setarg 0
-	store 3,mem_24g_stop_g24_mode
-	rtn
+z_mouse_24g_attempt_fail_again:
+	increase -1,pdata
+	store 1,mem_24g_attempt_count
+	branch p_mouse_start_24g_mode
 
-z_g24_reconn_dispatch:
-	fetch 1,mem_24g_stop_g24_mode
-	beq 1,g24_stop_24g_mode
-	call z_g24_tx_attemp_data_prep
+
+org 0x70001
+
+z_entrance6:
+	beq ZCODE_60,z_g24_start_24g_mode
+	beq ZCODE_61,z_mouse_24g_pairing_button
+	rtn
+	
+z_g24_start_24g_mode:
+	set0 mark_24g,mark
+	fetch 1,mem_24g_attempt_count
+	and pdata,0x01,pdata
+	ncall z_g24_fast_conn_all_powerful,blank
+	call z_g24_normal_connect,blank
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+z_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+	nop 2000
+//	call p_mouse_adc_read
+//	fetch 1,mem_select_device_button_press_flag
+//	nbranch p_mouse_select_device_button_down,blank
+	fetch 1,mem_24g_check_dongle_times
+	beq 0x70,p_g24_stop_g24_mode		  
 	call p_g24_transmit_receive_ack
-	nbranch p_g24_ch,sync
-	nbranch p_g24_ch,user3
-	fetch 1,mem_24g_conn_sm
-	set0 STATE_24G_RECONN,pdata
-	store 1,mem_24g_conn_sm
+	nbranch z_g24_attemp_txdata_retry,sync
+	nbranch z_g24_attemp_txdata_retry,user3
 z_g24_tx_attemp_dongle_succ:
-	jam 0,mem_mouse_long_mult_flag
-	call g24_app_tx_attempt_success
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	store 1,mem_mouse_24g_pair_timer
+	store 1,mem_24g_attempt_count
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+z_g24_tx_attemp_dongle_loop_exit:	
 	call p_g24_txbuf_clear
 	branch p_g24_transmit_by_interrupt_enable
 
-
-z_g24_store_dongle_addr:
-	fetch 4,mem_24g_rxpayload+2
-	branch p_g24_update_addr_and_synccrc8
-
+/*
 z_g24_tx_attemp_data_prep:
 	jam 0xff,mem_24g_common_temp
 	fetch 1,mem_24g_data_type
@@ -414,146 +443,93 @@
 	arg mem_24g_common_temp,rega
 	call p_g24_put_data_in_buff
 	branch p_g24_transmit_prep
-endif
-	
-endif
-
-
-org 0x70001
+*/ 
 
-ifdef G24
-z_entrance6:
-//	beq ZCODE_60,z_g24_pair_dispatch
-z_g24_pair_dispatch:
-	fetch 1,mem_24g_stop_g24_mode
-	beq 1,g24_stop_24g_mode
-	jam 0xff,mem_24g_common_temp
-	fetch 1,mem_24g_data_type
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-	arg 6,temp
-	arg mem_24g_common_temp,rega
-	call p_g24_put_data_in_buff
-	call p_g24_transmit_prep
-	call p_g24_transmit_receive_ack
-	nbranch z_g24_pair_txdata_retry,sync
-	nbranch z_g24_pair_txdata_retry,user3
-	call p_g24_ackpayload_parse
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_allpowerful_addr
-	isub temp,null
-	branch z_g24_auto_pair_skip_rx_length,zero
-	fetch 1,mem_24g_rxdata_length	//ack payload length
-	rtnne BIND_ACKPAYLOAD_LENGTH
-z_g24_auto_pair_skip_rx_length:
-//	fetch 1,mem_24g_conn_sm
-//	set0 STATE_24G_PAIR,pdata
-//	store 1,mem_24g_conn_sm
-	jam 0,mem_24g_conn_sm
+z_g24_normal_connect:
 	call p_mouse_tx_power_init
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_paring_addr
-	isub temp,null
-	branch p_g24_start_pairing_sm1,zero
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_device_addr
-	isub temp,null
-	call z7_g24_store_dongle_addr,zero
-	jam 0,mem_mouse_long_mult_flag
-	call g24_app_tx_attempt_success
-	call p_g24_txbuf_clear
-	branch p_g24_transmit_by_interrupt_enable
-
-z7_g24_store_dongle_addr:
-	fetch 4,mem_24g_rxpayload+2
-	branch p_g24_update_addr_and_synccrc8
+	fetch 4,mem_mouse_24g_addr
+	branch z6_g24_ch_syncword_crc8_init
 
-z_g24_pair_txdata_retry:
-z_g24_pair_txdata_switch:
-	fetch 1,mem_24g_auto_paring_switch
-	increase 1,pdata
-	and_into 3,pdata
-	store 1,mem_24g_auto_paring_switch
-	beq 0,z_g24_auto_pair_first_attemp
-	beq 2,z_g24_auto_pair_all_powerful
-	branch p_g24_pair_init
-	
-z_g24_auto_pair_first_attemp:
-	call p_mouse_tx_power_init
-	fetch 4,mem_24g_device_addr
+z_g24_fast_conn_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	fetch 4,mem_mouse_24g_addr_init
+z6_g24_ch_syncword_crc8_init:	
 	store 4,mem_24g_addr
-	fetch 1,mem_24g_pair_current_ch_num
-	store 1,mem_24g_current_ch_number
-	call z_g24_ch_syncword_crc8_init
-	storet 1,mem_24g_pair_current_ch_num
-	rtn
-
-z_g24_ch_syncword_crc8_init:
 	call p_g24_syncword_crc8
 	branch p_g24_ch
 
-z_g24_auto_pair_all_powerful:
-	jam TX_POWER_PAIR,mem_tx_power
-	fetch 4,mem_24g_allpowerful_addr
-	store 4,mem_24g_addr
-	fetch 1,mem_24g_powerful_current_ch_num
-	store 1,mem_24g_current_ch_number
-	call z_g24_ch_syncword_crc8_init
-	storet 1,mem_24g_powerful_current_ch_num
+	
+z_g24_attemp_txdata_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	call p_g24_ch
+	branch z_g24_tx_attemp_dongle_loop
+
+
+z_mouse_24g_pairing_button:
+//	rtnmark1 mark_24g
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 1,mem_24g_attempt_count
+	store 2,mem_24g_check_dongle_times
+	jam 200,mem_mouse_24g_pair_timer
+	call mouse_stop_discovery
+	branch z6_g24_start_pairing_sm1
+
+z6_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z6_g24_pair_init
+z6_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
 	rtn
 
-endif
+z6_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8	
 
 org 0x80001
 
 z_entrance7:
-	beq ZCODE_70,z_mouse_irtual_cable_unplug
-ifdef G24
-	beq ZCODE_71,z_g24_search_dongle	
-endif
+	beq ZCODE_70,z_g24_auto_pair_start
 	rtn
 
-z_mouse_irtual_cable_unplug:
-	setarg -1
-	store 6,mem_plap
-	jam REC_3_MODE,mem_record_bt_mode
-	jam 0xff,mem_mouse_fast_conn_flag
-	call mouse_before_store_reconn_info
-	jam 0xff,mem_device1_type
-	branch p_mouse_store_flash_device_info
-
-ifdef G24
-z_g24_search_dongle:
-	fetch 1,mem_mouse_long_mult_flag
-	rtn blank
-	fetch 1,mem_24g_abort_pac
-	rtn blank
-	fetch 1,mem_24g_search_dongle_wait
-	increase 1,pdata
-	and_into 3,pdata
-	store 1,mem_24g_search_dongle_wait
-	nrtn blank	//400ms
-	jam 0,mem_24g_search_dongle_ch
-z_g24_search_dongle_loop:
-	fetch 1,mem_24g_search_dongle_ch
-	increase 1,pdata
-	store 1,mem_24g_search_dongle_ch
-	sub pdata,G24_CH_NUMBER,null
-	nbranch z_g24_search_dongle_loop_end,positive
-	call z7_g24_tx_attemp_data_prep
+z_g24_auto_pair_start:
+	set0 mark_24g,mark
+	call z_g24_auto_pair_all_powerful
+	call p_g24_tx_attemp_data_prep
+z_g24_auto_pair_start_loop:
+//	call lpo_calibration
+	nop 2000
+	fetch 1,mem_24g_check_dongle_times+1
+	bbit1 0x02,p_g24_stop_g24_mode
+//	call p_mouse_adc_read
+//	fetch 1,mem_select_device_button_press_flag
+//	nbranch p_mouse_select_device_button_down,blank
 	call p_g24_transmit_receive_ack
-	nbranch z_g24_search_dongle_loop_retry,sync
-	nbranch z_g24_search_dongle_loop_retry,user3
-	call p_g24_search_dongle_success
-z_g24_search_dongle_loop_end:
+	nbranch z_g24_auto_pair_retry,sync
+	nbranch z_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch z_g24_start_pairing_sm1,zero
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
 	call p_g24_txbuf_clear
-	fetch 1,mem_24g_search_dongle_count
-	increase 1,pdata
-	store 1,mem_24g_search_dongle_count
-	beq G24_CH_POLL_COUNT,p_g24_search_dongle_check
-	rtn
-	
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
 z7_g24_tx_attemp_data_prep:
 	jam 0xff,mem_24g_common_temp
 	fetch 1,mem_24g_data_type
@@ -564,24 +540,99 @@
 	arg mem_24g_common_temp,rega
 	call p_g24_put_data_in_buff
 	branch p_g24_transmit_prep
+*/
+
+z_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	branch z_g24_auto_pair_start_loop
+/*	
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,z_g24_auto_pair_device_attemp
+	beq 1,z_g24_auto_pair_pair_attemp
+	rtn
+*/
 	
-z_g24_search_dongle_loop_retry:
-	call p_g24_ch
-	branch z_g24_search_dongle_loop
-endif
+z_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+z_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+	call z_g24_auto_pair_all_powerful
+	branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+	call z_g24_pair_init
+	branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z_g24_pair_init
+z_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+
+
+
 
 org 0x90001
 
 z_entrance8:
 	beq ZCODE_80,z_mouse_setting_config
+	beq ZCODE_81,z_le_addr_random_config
+//	beq ZCODE_82,z_le_parse_smp_pairing_failed
+	rtn
+//z_le_parse_smp_pairing_failed:
+//	call le_parse_smp_pairing_failed
+//	fetch 1,mem_le_state	//disable update conn param
+//	set0 lestate_update_param,pdata
+//	store 1,mem_le_state
+//	branch le_parse_terminate_ind
+
+
+ifdef BLE	
+z_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	nbranch z_le_otp_adc_empty,blank
+	setarg 0x1122
+z_le_otp_adc_empty:
+	store 2,mem_random_addr_increase_count
 	rtn
+endif
+
 
 z_mouse_setting_config:
+ifdef G24
+	call p_g24_set_device_addr
+endif
+//	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
 	call mouse_gpio_init
-//	call p_mouse_multi_led_gpio_set_float
+
 	fetcht 1,mem_flash_ncs_gpio
 	call gpio_config_output
 	
+	call mouse_param_init
 ifdef CLASSIC_BT
 	call z_mouse_bt_sdp_update
 endif	
@@ -589,16 +640,15 @@
 	store 2,mem_lpm_interval
 	call load_adc_init
 	call mouse_adc_init
+ifdef BLE	
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	call p_le_addr_random_config
+endif
+	branch p_mouse_load_flash_info_check
 
-	call p_mouse_load_flash_info_check
-ifdef BLE_FAST_CONN_ENABLE
-	fetch 6,mem_mouse_24g_addr_init
-	fetcht 6,mem_device1_addr
-	isub temp,null
-	nbranch p_mouse_fast_conn_disable,zero
-	call p_mouse_fast_conn_init
-endif	
-	rtn
 
 ifdef CLASSIC_BT
 z_mouse_bt_sdp_update:
@@ -640,13 +690,11 @@
 org 0xa0001
 
 z_entrance9:
-ifdef G24
 	beq ZCODE_90,z_g24_pairing_sm
 	beq ZCODE_91,z_g24_paring_mode
-endif
+	beq ZCODE_92,z_mouse_24g_pairing_complete
 	rtn
 
-ifdef G24
 z_g24_pairing_sm:
 	fetch 1,mem_24g_ensure
 	beq ENSURE_ON_24G,enable_user
@@ -702,25 +750,37 @@
 	fetch 4,mem_24g_rxpayload+2
 	call p_g24_update_addr_and_synccrc8
 	branch p_g24_transmit_abandon
-endif
+
+
+z_mouse_24g_pairing_complete:
+	call p_mouse_24g_no_data_timer_init
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	store 1,mem_24g_attempt_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_tx_power_init
+	
+	fetch 4,mem_24g_addr
+	store 4,mem_mouse_24g_addr
+
+	branch p_mouse_store_flash_device_info
+
 
 org 0xb0001
 
 z_entranceA:
-	beq ZCODE_A0,z_mouse_before_hibernate
 	beq ZCODE_A1,z_mouse_le_conn_param_update_rsp_recieved
 	beq ZCODE_A2,z_mouse_le_bb_disconnected
-//	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
-//	rtn
-z_mouse_bb_event_reconn_timeout:
-z_mouse_bb_event_reconn_failed:
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BTN_DOWN
-	rtnbit1 UI_STATE_BT_DISCOVERY
-	rtnbit1 UI_STATE_BLE_ADV
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
-	branch app_bb_hibernate
+	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
+	beq ZCODE_A4,z_mouse_before_hibernate
+	rtn
+
 
 z_mouse_le_conn_param_update_rsp_recieved:
 	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
@@ -728,60 +788,81 @@
 	fetch 1,mem_le_tsniff
 	rshift2 pdata,pdata
 	sub pdata,LE_INTERVAL_15MS,null
-	branch z_mouse_le_conn_param_update_rsp_not_accepted,positive
+	rtn positive
 	setarg LE_INTERVAL_11_25MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
 	call p_app_updata_le_param
 	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
 	rtn
-//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = CONNECT_IND latency = 0
-z_mouse_le_conn_param_update_rsp_not_accepted:
-	jam 1,mem_mouse_le_updata_not_accepted_flag
-	branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
+
+
+z_mouse_bb_event_reconn_timeout:
+z_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+	branch app_bb_hibernate
 
 z_mouse_le_bb_disconnected:
-	jam 0,mem_mouse_le_bb_connected_flag
+ifdef HIGH_REPORT_BT
+	setarg LE_INTERVAL_7_5MS
+else 
 	setarg LE_INTERVAL_8_75MS
+endif
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
 	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
 	jam 0,mem_mouse_clear_sensor_data_flag
 	call p_mouse_data_init
 	call le_clr_config_more_data
-	call mouse_bb_disconnected
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
-	
+
+
 z_mouse_before_hibernate:
-	hfetch 4,core_lpm_ctrl
-	set1 26,pdata
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
 	hstore 4,core_lpm_reg
 	call lpm_write_ctrl
 	call disable_authrom
-	call p_mouse_multi_led_off
-	call p_mouse_store_flash_device_info
+	call p_mouse_device_led_off
 	call mouse_before_hibernate_wheel_gpio_set
 	call p_mouse_setgpio_hibernate
+
 	call p_flash_deep_power_down
 	hfetch 1,core_gpio_sel1
 	and pdata,0xf7,pdata
 	hstore 1,core_gpio_sel1  //disable flash spi
-	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set1 6,pdata
+	hstore 1,core_gpio_pd2
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
 	set1 0,pdata
 	hstore 1,core_gpio_pd3
-	rtn	
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_clr_wake
 
 	
 org 0xc0001
 
 z_entranceB:
+	beq ZCODE_B0,z_mouse_le_bb_event_connected
 	beq ZCODE_B1,z_mouse_sniff_not_accept
 	beq ZCODE_B2,z_mouse_enter_sniff_check
 	beq ZCODE_B3,z_mouse_le_ll_start_encryt
 	beq ZCODE_B4,z_mouse_bb_event_disconnected
 	rtn
 
+z_mouse_le_bb_event_connected:
+	jam 1,mem_mouse_le_bb_connected_flag
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
 z_mouse_sniff_not_accept:
 	fetch 1,mem_mouse_enter_sniff_count
 	rtneq 2
@@ -794,17 +875,20 @@
 	fetch 1,mem_mouse_enter_sniff_count
 	rtnne 2
 	jam 0,mem_mouse_enter_sniff_count
+ifdef HIGH_REPORT_BT
+	jam CLASSIC_INTERVAL_7_5MS,mem_sniff_param_interval	//89Hz
+else
 	jam 0x0e,mem_sniff_param_interval	//89Hz
+endif
 	branch app_bt_enter_sniff
 
 z_mouse_le_ll_start_encryt:
 	fetch 1,mem_mouse_le_reconnect_flag
 	beq 1,z_mouse_le_ll_reconn_start_encryt
-	jam 20,mem_le_start_encrypt_timer
 	branch z_mouse_le_ll_enable_start_enc_flag
 z_mouse_le_ll_reconn_start_encryt:
 	call p_app_updata_le_param
-	jam 10,mem_le_start_encrypt_timer
+	jam 5,mem_le_start_encrypt_timer
 z_mouse_le_ll_enable_start_enc_flag:
 	arg LL_START_ENC_FLAG,queue
 	branch mouse_le_enable_connect_flag
@@ -813,7 +897,6 @@
 	jam 0,mem_bt_rcvd_switch_req_accept
 	jam 0,mem_bt_send_lmp_setup_complete
 	jam 0,mem_mouse_bt_send_first_package_flag
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
 
 
Index: ZJL_3X_OnlyBLE/sched/109x.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/sched/109x.dat	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/sched/109x.dat	(working copy)
@@ -6,9 +6,9 @@
 #mem_fcomp_mul:02
 #mem_fcomp_div:24
 mem_iscan_window:12 00
-mem_iscan_interval:80 00
+mem_iscan_interval:00 02
 mem_pscan_window:12 00
-mem_pscan_interval:80 00
+mem_pscan_interval:00 02
 mem_inq_window:20 00
 mem_page_window:20 00
 mem_page_to:00 40
@@ -28,8 +28,6 @@
 57 88
 58 6c
 59 10
-#xtal 16M
-#68 e6
 ff
 mem_rf_init_ptr:mem_rf_init_data_new
 
Index: ZJL_3X_OnlyBLE/sched/mouse.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/sched/mouse.dat	(revision 2126)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_3X_OnlyBLE/sched/mouse.dat	(working copy)
@@ -8,10 +8,10 @@
 mem_patch11:02
 mem_patch14:82
 mem_patch15:20
-mem_patch16:02
+mem_patch16:06
 mem_patch18:10
 mem_patch19:08
-mem_patch1c:48
+mem_patch1c:40
 mem_patch1d:1e
 mem_patch20:20
 mem_patch27:02
@@ -61,11 +61,11 @@
 45
 
 mem_app_connection_options:06
-mem_lap:20 51 17 01 20 20
+mem_lap:26 10 19 20 18 10
 mem_local_name_length:
 'BT3.0 Mouse
 mem_sniff_param_interval:
-0e 00 
+0e 00 			##mem_sniff_param_interval:0e 00 report 115hz,0c 00 report 125hz	
 01 00 ##mem_sniff_param_attempt:01 00
 02##mem_sniff_param_timeout:00 00
 
@@ -112,10 +112,14 @@
 mem_le_name_len:
 'BT5.1 Mouse
 
+mem_le_adv_ind:03 12 18
+mem_le_adv_direct_ind:ff 00 00
+
+
 
 mem_le_interval_min:
-07 00 #min interval
-07 00 #max interval
+07 00 #min interval	if need 125hz,set 0x0006;else 115hz set 0x0007
+07 00 #max interval	if nedd 125hz,set 0x0006;else 115hz set 0x0007
 20 00 #latency
 2c 01 #timeout
 
@@ -125,7 +129,7 @@
 mem_le_adv_own_addr_type:00
 mem_le_adv_channel_map:07 
 
-mem_le_lap:8e 45 34 0e 8e ed
+mem_le_lap:8e b1 3a 0e 8e ed
 
 mem_le_transmit_window:50
 
@@ -135,55 +139,49 @@
 
 mem_discovery_timeout:08 07#3min
 mem_mouse_direct_timeout:50 00#8s
-mem_mouse_no_data_timeout:70 17#10min
+mem_mouse_no_data_timeout:70 17 #10min
 
 mem_flash_ncs_gpio:0a
 mem_spi_ncs_gpio:ff
 mem_ui_button_gpio:ff
 mem_ui_button_timeout:1e
+mem_bt_ui_button_timeout:01
 
 mem_device_number:02 #max device number
 mem_24g_device_number:02 #devie 2 :24g mode
-mem_adc_config_flag:00 #0 vinlpm 1 hvin 2 gpio
+mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
 mem_adc_channel:32 #gpio5
-mem_mouse_vdd_full_vol:13 01#2.75V
-ce 00#mem_mouse_vdd_empty_vol:5a 00# 2.05V
-d6 00#mem_mouse_vdd_low_vol:64 00  #2.14v
+mem_mouse_vdd_full_vol:2c 01# 3.3v 
+11 01#mem_mouse_vdd_empty_vol:20 01#3.0v
+20 01#mem_mouse_vdd_low_vol:11 01  #3.2v
 
 mem_mouse_vdd_0v:10 00
 
 mem_config_sensor_type:00
-02 #mem_config_sensor_motion:02
-06 #mem_lbutton_gpio:04
-14 #mem_rbutton_gpio:1b
-08 #mem_mbutton_gpio:17
-08 #mem_bk_button_gpio:ff
-06 #mem_fw_button_gpio:ff
-14 #mem_dpi_button_gpio:06
-1b #mem_whee_a_data_gpio:02
-1c #mem_whee_b_data_gpio:03
-ff #mem_whee_ta_data_gpio:ff
-ff #mem_whee_tb_data_gpio:ff
-ff #mem_config_bt_button_gpio:ff
+02 #mem_config_sensor_motion:01
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+08 #mem_mbutton_gpio:15
+06 #mem_bk_button_gpio:ff
+08 #mem_fw_button_gpio:ff
+14 #mem_dpi_button_gpio:05
+1b #mem_whee_a_data_gpio:0b
+1c #mem_whee_b_data_gpio:07
+FF #mem_whee_ta_data_gpio:ff
+FF #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
 ff #mem_config_select_device_button_gpio:ff
 ff #mem_config_paraing_led_gpio:ff
-ff #mem_config_low_voltage_alarm_gpio:08
-ff #mem_config_device1_led_gpio:08
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
 ff #mem_config_device2_led_gpio:ff
 ff #mem_config_device3_led_gpio:ff
-ff #mem_sensor_data_gpio:18
-ff #mem_dpi_led_gpio:08
-00 #mem_config_function_enable:04
-03 #mem_config_sensor_angle:00
-ff #mem_select_sensor_angle_gpio:ff
-ff #mem_select_adc_gpio:ff
-
-#mouse sensor angle
-#0x00 MOUSE_6CLK_ANGLE
-#0X01 MOUSE_9CLK_ANGLE
-#0X02 MOUSE_12CLK_ANGLE
-#0X03 MOUSE_3CLK_ANGLE
-
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+03 #mem_config_sensor_angle
+ff #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
 
 mem_eeprom_wp_gpio:ff
 mem_sensor_reset_gpio:ff
@@ -191,7 +189,7 @@
 mem_usb_offline_check_gpio:ff
 #mem_wire_usb_interval:19 #128
 
-#mem_config_function_enable:
+mem_config_function_enable:
 #bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
 #bit1 ENABLE_MODE_LED
 #bit2 ENABLE_LOW_VOLTAGE_LED
@@ -199,61 +197,24 @@
 #bit4 ENABLE_BT_BUTTON
 #bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
 #bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
-#bit7 ENABLE_SENSOR_MOTION_PIN
-#00
+20
 
 mem_mouse_dpi_seting:
-01##mem_320x_dpi_1
-02##mem_320x_dpi_2
-03##mem_320x_dpi_3
-04##mem_320x_dpi_4
-
-#15##mem_3212_dpi_1#800
-#1f##mem_3212_dpi_2#1200
-#2a##mem_3212_dpi_3#1600
-#3f##mem_3212_dpi_4#2400
+00##mem_320x_dpi_1
+01##mem_320x_dpi_2
+02##mem_320x_dpi_3
+03##mem_320x_dpi_4
+
+15##mem_3212_dpi_1
+1a##mem_3212_dpi_2
+22##mem_3212_dpi_3
+2a##mem_3212_dpi_4
 
 #04##mem_3610_dpi_1
 #05##mem_3610_dpi_2
 #07##mem_3610_dpi_3
 #08##mem_3610_dpi_4
 
-mem_mouse_3065xy_dpi_seting:
-00
-01
-02
-03
-
-mem_sensor_8650_init:
-09 5a
-ff 27
-ab 40
-be d1
-a0 41
-a1 41
-a5 84
-a7 ff
-b5 d0
-b6 00
-ff 00
-09 00
-ff
-
-mem_sensor_ka8_init:
-09 5a
-5b 9a
-0d 12
-0e c5
-53 48
-09 00
-ff
-
-#mem_sensor_poweron_init:
-#06 80
-#09 5a
-#0b f3
-#09 00
-#ff
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
 mem_ui_led_struct_num:01
@@ -269,68 +230,62 @@
 2b 00 02 08 29 02 11 02
 
 
-#mem_le_att_pnp_id_len:07
-#mem_le_att_pnp_id:
-#02		#verdor ID source
-#35 12	#usb verdor ID
-#22 aa 	#product ID
-#01 00	#product version
+mem_le_att_pnp_id_len:07
+mem_le_att_pnp_id:
+02		#verdor ID source
+35 12	#usb verdor ID
+22 aa 	#product ID
+01 00	#product version
 
   
 #24g init
 mem_24g_mode:01#tx
 mem_24g_data_type:01        #mouse 1,kb 2
-mem_24g_max_retry:04#max tx retry
+mem_24g_max_retry:06#max tx retry
 mem_24g_no_ack:00#with ack
 mem_24g_rx_window:c0 12     #400us
-mem_24g_interval:19
-mem_24g_interval_min:19
-mem_24g_interval_max:1c
+mem_24g_interval:0c				#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_min:0c			#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_max:10 			#0x1c 24g report 125hz;0x10,24g report 250hz
 mem_24g_ch_map1:00 13 2c 42
 mem_24g_ch_map2:06 15 36 48
 mem_24g_ch_map3:0f 1a 3a 4c
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
-mem_24g_allpowerful_addr:0f 0f 0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:80 4f 12
-mem_firmware_version:01 00
+mem_24g_enter_hibernate:00 48 30 00 00 00 00 00#10 min     240ms  dpi  B4  B5 check easy
 
-mem_device_flag:
-02
-ff
-ff ff ff ff ff ff
-#mem_device2_type:
-#34
-#11 22 33 44 55 66
-#mem_device3_type:
-#34
-#11 22 33 44 55 66
-mem_mouse_fast_conn_flag:ff
-mem_mouse_long_button_select_device:ff
-mem_mouse_24g_addr_init:ff ff ff ff ff ff
-
-
-mem_flash_base:00 50 00
-#mem_eeprom_base:90 1f
-#mem_eeprom_block_size:80
+mem_device_flag:01
+mem_device1_type:34
+mem_device1_addr:ff ff ff ff ff ff
+mem_device2_type:34
+mem_device2_addr:ff ff ff ff ff ff
+mem_device3_type:34
+mem_device3_addr:ff ff ff ff ff ff
+
+
+mem_flash_base:00 30 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
 mem_reconn_times_init:00
 mem_bt_discovey_button_statue:01#default: button up
-mem_mouse_dpi_button_state:01
 mem_empty_count:03
 
-#mem_device_bt_led_gpio:1d
+mem_device_bt_led_gpio:1d
 mem_device_24g_led_gpio:05
 
-mem_mouse_multi_led_gpio:1d
-mem_mouse_multi_led_on_timer_init:0a
-mem_mouse_multi_led_blink_timer_init:03
+mem_mouse_bt_ble_poweron_led_timer:20
+mem_select_device_button_statue:01#default: button up
+mem_mouse_24g_addr_init:0f 0f 0f 0f
+mem_24g_attempt_count:33		#bit0 = 1,first search dongle
 
-mem_mouse_le_fast_conn_enable_timer:0a
 
-#select device timer init 3s
-mem_mouse_button_select_device_timer_init:19
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+mem_mouse_le_fast_conn_enable_timer:0a
 
 #zcode
 mem_zcode_current_number:ff
Index: ZJL_pm8_BLE&BT/c
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/c	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/c	(working copy)
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+gensched () {
+if [ -f output/sched.rom ];then rm output/sched.rom; fi
+while [ 1 ];do
+	if [ -n "$1" ];then cat sched/$1.dat >> output/sched.rom; else return; fi
+	shift
+done
+}
+
+#enckey="-k 00000000000000000000000000000000"
+
+cd ${0%/*}
+for f in program/*.prog 
+  do if [[ ! $f =~ "bt.prog" && ! $f =~ "patch.prog" && ! $f =~ "sim.prog" ]] ; then progs="$progs $f"; fi; done
+cat program/bt.prog $progs  > output/bt_program23.meta
+
+case $1 in
+s)
+#	gensched sim usb
+	gensched sim
+#	enckey="-k key -i iv"
+	sed '1,4 c define REVD\ndefine ROMCODE\ndefine SIM' -i output/bt_program23.meta;;
+p)
+	echo 'mem_patch00:0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' > output/sched.rom
+	echo 'mem_lap:00 00 00 00 00 00' >> output/sched.rom
+	sed '3 d' -i output/bt_program23.meta;;
+f)
+	gensched test usb fpga
+	enckey="-k key"
+	sed '2 c define FPGA' -i output/bt_program23.meta;;
+t)
+	echo test;gensched test 109x;;
+d)
+        gensched 109x usb
+	sed '2 c define DONGLE' -i output/bt_program23.meta;;
+m)
+        gensched 109x mouse
+	sed '2 c define MOUSE' -i output/bt_program23.meta;;
+esac
+
+
+for f in format/*.format; do if [[ ! $f =~ "bt.format" && ! $f =~ "command.format" ]] ; then fmts="$fmts $f"; fi; done
+cat format/bt.format $fmts format/command.format > output/bt_format.meta
+perl $UTIL/mergepatch.pl 
+perl $UTIL/memalloc.pl
+cd output
+osiuasm bt_program23 -O-W
+sed 's/\(.*\)\r/\1/' -i bt_program23.meta 
+
+
+defs=( FPGA SIM ROMCODE BLE REVA REVB )
+for i in $(seq 0 $((${#defs[@]} - 1))) ; do
+	grep  "^define ${defs[$i]}$" bt_program23.meta -q
+	tsts[$i]=$?
+done
+
+#for i in $(seq 0 $((${#defs[@]} - 1))) ; do echo test ${tsts[$i]};done
+
+geneep -n $enckey
+
+if [[ $2 == "o" ]];then exit;fi
+
+if [ ${tsts[1]} -eq 0 ] ; then
+	sed '8193,24576d' < romcode.rom > romcode0.rom
+	sed '1,8192d' < romcode.rom > romcode1.rom
+	cp romcode0.rom romcode1.rom ../../sim
+	cp romcode.rom ramcode.rom ../../sim
+	if [ -f eeprom.dat ] ; then cp eeprom.dat ../../sim/ ; fi
+	if [ -f otp.rom ] ; then sed '7 c 1' < otp.rom > ../../sim/otp.rom ; fi
+else
+	if [ ${tsts[0]} -eq 0 ] ; then
+		if [ ${tsts[2]} -eq 0 ] ; then
+			sed '8193,24576d' < romcode.rom > romcode0.rom
+			sed '1,8192d' < romcode.rom > romcode1.rom
+			perl $UTIL/rom2mif.pl < romcode.rom > romcode.mif; mv romcode.mif  ../../fpga/
+			echo fpga
+			if [ -f otp.rom ] ; then perl $UTIL/rom2mif.pl < otp.rom > otp.mif; mv otp.mif ../../fpga/ ; fi
+			if [[ $2 == o ]] ; then exit; fi
+			e ku; e hu ramcode.rom 0
+			e su sched.rom;exit 
+		fi
+#		if [[ $1 == "f" ]] ; then 	../../fpga/p u;sleep 1; e su sched.rom;exit; fi
+	fi
+	if [ ! -s ramcode.rom ] ; then exit; fi
+	if [[ $2 =~ e ]];then 
+		e pu;cd ..;e ep;e ku
+	elif [[ $2 =~ [f] ]];then 
+		e ku;e hu romcode.rom 2000;e hu ramcode.rom 0; e su sched.rom;e ku
+	else
+		if [ -f sched.rom ]; then
+			e ku; e hu ramcode.rom 0;e su sched.rom;e pu;e cu
+		else
+			e ku;e hu
+		fi
+	fi
+fi
+
+cd ..
Index: ZJL_pm8_BLE&BT/dflash_download.bat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/dflash_download.bat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/dflash_download.bat	(working copy)
@@ -0,0 +1,12 @@
+call do.bat eep
+e ku
+ping -n 2 127.1 >nul
+e pu
+
+e 8081 8
+
+e fc
+e fp
+e fr 0 10
+e ku
+e au
Index: ZJL_pm8_BLE&BT/do.bat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/do.bat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/do.bat	(working copy)
@@ -0,0 +1,168 @@
+@set FPGA_PATH=fpgajic\fpga
+@set ROM_PATH=.
+@set MV_PATCH=mv\src\yichip
+@set YC_PATCH_FILE=yc_patch_yc1021.h
+@set enc=1
+@set enckey=0000000000000000
+@rem set device_option=shutter
+@rem set device_option=antilost
+@rem set device_option=hci
+@rem set device_option=kb
+@set device_option=mouse
+@rem set device_option=le_kb
+@rem set device_option=dongle
+@rem set device_option=module
+@rem set device_option=prcp
+@rem set device_option=car
+@rem set device_option=remote_car
+@echo off
+
+setlocal enabledelayedexpansion
+for /f %%f in ('dir /b /o program\*.prog') do @if not %%f==bt.prog if not %%f==patch.prog if not %%f==sim.prog set progs=!progs! program\%%f
+type program\bt.prog %progs% > output\bt_program23.meta
+for /f %%f in ('dir /b /o format\*.format') do @if not %%f==bt.format if not %%f==command.format set fmts=!fmts! format\%%f
+type format\bt.format %fmts% format\command.format > output\bt_format.meta
+perl util/mergepatch.pl output/bt_program23.meta
+perl util/memalloc.pl output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+
+if "%device_option%" equ "hci" (
+  copy ..\sched\hci_boot.dat ..\output\sched.rom
+) else if "%device_option%" equ "kb" (
+copy ..\sched\ssp.dat + ..\sched\kb.dat +  ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "le_kb" (
+  copy ..\sched\le_kb.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "mouse" (
+  copy ..\sched\109x.dat + ..\sched\mouse.dat ..\output\sched.rom
+) else if "%device_option%" equ "module" (
+  copy ..\sched\DM_module.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "shutter" (
+  copy ..\sched\shutter.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "antilost" (
+  copy ..\sched\antilost.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "dongle" (
+  copy  ..\sched\109x.dat + ..\sched\usb.dat ..\output\sched.rom
+) else if "%device_option%" equ "prcp" (
+  copy ..\sched\Le_prcp.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "test" (
+  copy ..\sched\test.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "car" (
+  copy ..\sched\car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "remote_car" (
+  copy ..\sched\remote_car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else (
+
+cd ..
+echo **********************************
+echo Error: illegal device_option !
+echo **********************************
+goto end
+) 
+
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+:geneeprom
+@rem echo on
+@echo Start to generate EEPROM code
+copy ..\sched\mouse.dat ..\output\sched.rom
+
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+perl ..\util\a1bugfix.pl
+osiuasm bt_program23 -O-W
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+goto gen_eep_end
+
+
+
+
+:genromrevb
+echo off
+@echo Start to generate EEPROM code
+..\..\regedr\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% b
+goto gen_eep_end
+
+
+:genromrevc
+echo off
+@echo Start to generate EEPROM code
+
+geneep -n -f -z  ramcode.rom sched.rom 0 %enckey% c
+
+rem geneep -n -k key.txt
+
+
+cd ..\output
+copy flash.dat ..\util\flash1.dat
+del flash.dat
+
+cd ..\util
+perl flash_dat2eeprom_dat.pl flash1.dat flash.dat
+copy flash.dat ..\output\flash.dat
+del flash1.dat
+del flash.dat
+
+
+cd ..\output
+echo flash.dat Generated......
+
+if "%device_option%" equ "module" (
+perl eeprom2hciimage_1021s.pl
+echo bt_patch.bin Generated......
+perl bin2array.pl > bt_patch.h
+echo bt_patch.h Generated......
+)
+
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo FLASH Generated.
+echo The Device is %device_option%. 
+echo Use command "e fp" to download FLASH.
+echo **********************************
+goto end
+
+
+
+
+:genrom
+@rem echo on
+perl ..\util\rom2mif.pl romcode
+del ..\..\%FPGA_PATH%\romcode.mif
+copy .\romcode.mif ..\..\%FPGA_PATH%\romcode.mif
+perl ..\util\gen_patch_h.pl >%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% ..\..\%MV_PATCH%\%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% D:\work\yichip\mv_proj\src\inc\%YC_PATCH_FILE%
+cd ..\..\%FPGA_PATH%
+quartus_cdb btspi -c btspi --update_mif
+quartus_asm --read_settings_files=off --write_settings_files=off btspi -c btspi
+quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "p;.\output\btspi.sof" 
+@echo bitstream_compression=on >1
+@echo memory_map_file=on >> 1
+quartus_cpf -c -o 1 -s EP3C55 -d EPCS16 output\btspi.sof output\btspi.jic  
+@rem quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "pi;.\output\btspi.jic"   
+@del 1
+goto end
+
+
+
+:downloadram
+echo on
+@echo Start to download ram code
+e ku
+e hu
+e su sched.rom
+@echo **********************************
+@echo RAM CODE has been downloaded.
+@echo The Device is %device_option%. 
+@echo **********************************
+cd ..
+
+
+:end
Index: ZJL_pm8_BLE&BT/flash_clear.bat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/flash_clear.bat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/flash_clear.bat	(working copy)
@@ -0,0 +1,7 @@
+e pu
+e 8070l20
+e 8081 8
+e fc
+e fr 0 10
+e fp
+e fr 0 10
\ No newline at end of file
Index: ZJL_pm8_BLE&BT/flash_download.bat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/flash_download.bat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/flash_download.bat	(working copy)
@@ -0,0 +1,11 @@
+call do.bat eep
+e ku
+e pu
+
+e 8081 8
+
+e fc
+e fp
+e fr 0 10
+e ku
+e au
Index: ZJL_pm8_BLE&BT/format/Hid.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/Hid.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/Hid.format	(working copy)
@@ -0,0 +1,21 @@
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
Index: ZJL_pm8_BLE&BT/format/app.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app.format	(working copy)
@@ -0,0 +1,326 @@
+
+memalloc(
+
+/* load code */
+1 mem_ucode_status
+2 mem_otp_ucode_flag
+1 mem_spid_tbuf				/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0 mem_iicd_tbuf				/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+1 mem_addr_hi
+1 mem_addr_mi
+1 mem_addr_lo
+1 mem_iicd_addr
+4 mem_spid_rbuf
+2 mem_ucode_buf
+2 mem_ucode_len
+2 mem_sched_addr
+2 mem_ucode_ptr
+16 mem_ucode_keybuf
+18 mem_check_plap_temp
+
+
+1 mem_reconnect_flag
+1 mem_switch_fail_master_count
+1 mem_app_evt_timer_count
+
+)
+
+xmemalloc(
+1 mem_app_handshake_flag
+2 mem_sniff_param_interval
+2 mem_sniff_param_attempt
+2 mem_sniff_param_timeout
+
+/*App Callback Functons*/
+2 mem_cb_check_wakelock
+2 mem_cb_before_hibernate
+2 mem_cb_before_lpm
+2 mem_cb_le_process
+2 mem_cb_bt_process
+2 mem_cb_idle_process
+2 mem_cb_bb_event_process
+2 mem_cb_discovry_timeout
+2 mem_cb_att_write
+2 mem_cb_ble_transmit
+2 mem_cb_event_timer
+2 mem_cb_bt_set_mult
+2 mem_cb_spi_flash_write_complate
+
+
+
+
+2 mem_eeprom_base
+
+1 mem_unsniff2sniff_timer_count
+//lpm mode
+1 mem_wake_up_delay_timer
+
+1 mem_app_connection_options
+
+//
+2 mem_app_disconn_reason
+2 mem_app_disconn_reason_flag
+4 mem_lpm_delay_after_sniff
+1 mem_xrecord_mode
+
+1 mem_eeprom_block_size
+1 mem_spi_init_clk
+1 mem_spi_init_delay_time
+1 mem_spi_ncs_gpio
+
+2 mem_nv_data_ptr
+1 mem_nv_data_number
+
+2 mem_queue_ptr
+
+1 mem_ui_led_struct_num
+2 mem_ui_led_struct_ptr
+
+//adc
+2 mem_0_5_adc_io_data
+2 mem_1v_adc_hvin_data
+2 mem_2v_adc_vinlpm_data
+2 mem_1v_adc_io_data
+2 mem_5v_adc_hvin_data
+2 mem_3v_adc_vinlpm_data
+2 mem_otp_adc_flag
+2 mem_reference_voltage
+1 mem_adc_config_flag
+1 mem_adc_channel
+2 mem_adc_current_value
+1 mem_adc_power_flag	//bit0:low power falg ; bit1:no power flag
+
+3 mem_spi_write_addr
+2 mem_spi_write_ptr
+2 mem_spi_write_len
+1 mem_spi_write_flash_sm
+1 mem_eeprom_wp_gpio
+2 mem_kscan_ptr
+ifdef SPI_SIMULATE
+//spi gpio config
+0 mem_spi_simulate_struct
+1 mem_spi_simulate_cs_gpio
+1 mem_spi_simulate_sclk_gpio
+1 mem_spi_simulate_mosi_gpio
+1 mem_spi_simulate_miso_gpio
+1 mem_spi_simulate_motion_gpio
+//spi slave read byte
+50 mem_spi_simulate_read_byte_slave
+1 mem_spi_simulate_read_byte_slave_temp
+1 mem_spi_simulate_read_length_slave
+1 mem_spi_simulate_read_length_slave_temp
+//spi slave write byte
+50 mem_spi_simulate_write_byte_slave
+1 mem_spi_simulate_write_byte_slave_temp
+1 mem_spi_simulate_write_byte_slave_temp_temp
+1 mem_spi_simulate_write_length_slave
+1 mem_spi_simulate_write_length_slave_temp
+endif
+
+0 mem_key_num_ptr
+2 mem_keyscan_ptr
+
+2 mem_power_param_ptr
+
+0 mem_power_on_flag	//forbid to move this variable
+2 mem_24g_head_ptr
+)
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
Index: ZJL_pm8_BLE&BT/format/app_antiLost.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_antiLost.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_antiLost.format	(working copy)
@@ -0,0 +1,202 @@
+omemalloc(
+// memblock for cover the variables portion at shutter.format
+2 mem_antl_lpm_interval
+2 mem_antl_adv_interval
+2 mem_antl_slow_adv_lpm_interval
+2 mem_antl_slow_adv_adv_interval
+0 mem_antl_led_style
+1 mem_antl_led_type
+1 mem_antl_led_blink_count
+1 mem_antl_led_gpio
+2 mem_antl_led_on_time
+2 mem_antl_led_off_time
+2 mem_antl_led_cb_on
+2 mem_antl_led_cb_off
+
+0 mem_antl_buzzer_style
+1 mem_antl_buzzer_type
+1 mem_antl_buzzer_blink_count
+1 mem_antl_buzzer_gpio
+2 mem_antl_buzzer_on_time
+2 mem_antl_buzzer_off_time
+2 mem_antl_buzzer_cb_on
+2 mem_antl_buzzer_cb_off
+
+0 mem_antl_fast_adv_led_style
+1 mem_antl_fast_adv_led_type
+1 mem_antl_fast_adv_led_blink_count
+1 mem_antl_fast_adv_led_gpio
+2 mem_antl_fast_adv_led_on_time
+2 mem_antl_fast_adv_led_off_time
+
+0 mem_antl_slow_adv_led_style
+1 mem_antl_slow_adv_led_type
+1 mem_antl_slow_adv_led_blink_count
+1 mem_antl_slow_adv_led_gpio
+2 mem_antl_slow_adv_led_on_time
+2 mem_antl_slow_adv_led_off_time
+
+0 mem_antl_power_starting_led_style
+1 mem_antl_power_starting_led_type
+1 mem_antl_power_starting_led_blink_count
+1 mem_antl_power_starting_led_gpio
+2 mem_antl_power_starting_led_on_time
+2 mem_antl_power_starting_led_off_time
+
+7 mem_antl_power_starting_buzzer_style
+
+0 mem_antl_power_off_led_style
+1 mem_antl_power_off_led_type
+1 mem_antl_power_off_led_link_count
+1 mem_antl_power_off_led_gpio
+2 mem_antl_power_off_led_on_time
+2 mem_antl_power_off_led_off_time
+
+0 mem_antl_power_off_buzzer_style
+1 mem_antl_power_off_buzzer_type
+1 mem_antl_power_off_buzzer_link_count
+1 mem_antl_power_off_buzzer_gpio
+2 mem_antl_power_off_buzzer_on_time
+2 mem_antl_power_off_buzzer_off_time
+
+7 mem_antl_alert_led_stlye
+
+0 mem_antl_alert_buzzer_stlye
+1 mem_antl_alert_buzzer_type
+1 mem_antl_alert_buzzer_blink_count
+1 mem_antl_alert_buzzer_gpio
+2 mem_antl_alert_buzzer_on_time
+2 mem_antl_alert_buzzer_off_time
+
+0 mem_antl_key_led_style
+1 mem_antl_key_led_type
+1 mem_antl_key_led_blink_count
+1 mem_antl_key_led_gpio
+2 mem_antl_key_led_on_time
+2 mem_antl_key_led_off_time
+
+7 mem_antl_key_buzzer_style
+
+1 mem_antl_queue_width
+1 mem_antl_queue_depth
+1 mem_antl_queue_curr_num
+1 mem_antl_queue_read_ptr
+1 mem_antl_queue_write_ptr
+80 mem_antl_queue_buff
+
+1 mem_antl_key_scan_enable
+1 mem_antl_led_num
+4 mem_antl_led_gpio_map
+
+0 mem_antl_power_param
+1 mem_antl_power_state
+1 mem_antl_power_timer
+1 mem_antl_power_off_timeout
+1 mem_antl_power_starting_timeout
+2 mem_antl_power_off_cb
+2 mem_antl_power_starting_cb
+2 mem_antl_power_standby_cb
+2 mem_event_button_up_cb
+
+1 mem_antl_key_num
+2 mem_cb_antl_key
+4 mem_antl_key_conf0
+
+15 mem_antl_key0_press
+15 mem_antl_key0_release
+
+///////
+1 mem_antl_conn_updata_procedure_state
+2 mem_client_characteristic_configuration_descriptor
+///////
+
+
+//100ms timer
+2 mem_adc_timer
+1 mem_antl_conn_update_timer
+1 mem_antl_send_updata_le_param_timer
+////
+
+2 mem_antl_le_sleep_timer
+2 mem_antl_fast_adv_timer
+2 mem_antl_fast_adv_timeout
+2 mem_antl_le_sleep_timeout
+1 mem_double_click_timer
+1 mem_butten_click_cnt
+
+//1 mem_dvc_seq
+/////////anti lost alarm state/////
+1 mem_antl_led_state
+1 mem_antl_buzzer_state
+1 mem_antl_key_state
+1 mem_antl_lost_mode
+1 mem_alarm_config
+1 mem_alarm_config_notfy_cnt
+
+6 mem_buzzer_pwm_conf
+
+
+/////////anti lost battery adc read////////
+2 mem_adc_timeout
+1 mem_voltage_remain_percent
+
+0 mem_battery_calculate_set
+2 mem_battery_full_voltage
+2 mem_battery_empty_voltage
+2 mem_battery_low_voltage
+2 mem_battery_current_voltage
+
+
+2 mem_rx_window_sniff_inc
+2 mem_interval_increment
+
+2 mem_antl_le_interval_min
+2 mem_antl_le_interval_max
+2 mem_antl_le_latency
+2 mem_antl_le_timeout
+2 mem_antl_le_unnormal_interval_min
+2 mem_antl_le_unnormal_interval_max
+2 mem_antl_le_unnormal_latency
+2 mem_antl_le_unnormal_timeout
+
+400 mem_AntiLost_le_att_list
+)
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
Index: ZJL_pm8_BLE&BT/format/app_car.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_car.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_car.format	(working copy)
@@ -0,0 +1,287 @@
+
+
+omemalloc(
+1 mem_car_hard_soft_switch
+1 mem_car_queue_each_size
+1 mem_car__queue_length
+
+1 mem_car_queue_curr_num
+1 mem_car_queue_read_ptr
+1 mem_car_queue_write_ptr
+120 mem_car_queue_ele
+
+20 mem_car_pop_queue_buff
+
+1 mem_car_led_num
+10 mem_car_led_map
+
+1 mem_car_style1_led_type
+1 mem_car_style1_blink_count
+1 mem_car_style1_struct_led_gpio
+2 mem_car_style1_on_time
+2 mem_car_style1_off_time
+2 mem_car_style1_cb_ledon
+2 mem_car_style1_cb_ledoff
+
+1 mem_car_style2_led_type
+1 mem_car_style2_blink_count
+1 mem_car_style2_struct_led_gpio
+2 mem_car_style2_on_time
+2 mem_car_style2_off_time
+2 mem_car_style2_cb_ledon
+2 mem_car_style2_cb_ledoff
+
+//////motor
+0 mem_le_receive_data
+2 mem_le_receive_packet_head
+1 mem_le_receive_cmd
+2 mem_le_receive_length
+10 mem_le_receive_payload
+1 mem_le_receive_checksum
+1 mem_motor1_status
+1 mem_motor1_speed
+1 mem_motor2_status
+1 mem_motor2_speed
+1 mem_motor3_status
+1 mem_motor3_speed
+
+0 mem_motor1_pwm_set
+1 mem_motor1_pwm_pin1_set
+1 mem_motor1_pwm_pin2_set
+1 mem_motor1_pwm_pin_set
+1 mem_motor1_pwm_channel_set
+3 mem_motor1_pwm_freq_set
+1 mem_motor1_pwm_dute_set
+0 mem_motor2_pwm_set
+1 mem_motor2_pwm_pin1_set
+1 mem_motor2_pwm_pin2_set
+1 mem_motor2_pwm_pin_set
+1 mem_motor2_pwm_channel_set
+3 mem_motor2_pwm_freq_set
+1 mem_motor2_pwm_dute_set
+0 mem_motor3_pwm_set
+1 mem_motor3_pwm_pin1_set
+1 mem_motor3_pwm_pin2_set
+1 mem_motor3_pwm_pin_set
+1 mem_motor3_pwm_channel_set
+3 mem_motor3_pwm_freq_set
+1 mem_motor3_pwm_dute_set
+
+1 mem_motor_select_p_n
+1 mem_car_motor_status
+1 mem_car_motor_speed
+0 mem_motor_pwm_set
+1 mem_motor_pwm_pin1_set
+1 mem_motor_pwm_pin2_set
+1 mem_motor_pwm_pin_set
+1 mem_motor_pwm_channel_set
+3 mem_motor_pwm_freq_set
+1 mem_motor_pwm_dute_set
+
+1 mem_ir_rx_gpio
+2 mem_ir_data
+2 mem_ir_rx_buf
+4 mem_ir_receive_clkn
+
+3 mem_ir_notify_data
+5 mem_ir_notify_data_head
+2 mem_ir_notify_data_payload
+1 mem_ir_notify_data_check_sum
+1 mem_car_ir_breakdown_check_timer
+1 mem_car_ir_breakdown_flag
+
+0 mem_car_led_control
+1 mem_car_led1_status
+1 mem_car_led2_status
+1 mem_car_led3_status
+1 mem_car_led4_status
+1 mem_car_led5_status
+1 mem_car_led6_status
+1 mem_car_led7_status
+1 mem_car_led8_status
+1 mem_car_led_control_timer
+1 mem_car_led_blink_status
+1 mem_car_led_no
+
+3 mem_car_info_request
+5 mem_car_info_request_head
+8 mem_car_info_request_payload
+1 mem_car_info_request_checksum
+
+0 mem_car_config_param
+1 mem_car_config_setting_flag
+1 mem_car_config_device_select
+1 mem_car_config_motor_layout
+1 mem_car_config_ir_enable
+1 mem_car_config_ir_rx_gpio
+1 mem_car_config_pairing_led_conn_status
+1 mem_car_config_pairing_led_gpio
+1 mem_car_config_led_num
+0 mem_car_config_blood_led_gpio
+1 mem_car_config_blood_led1_gpio
+1 mem_car_config_blood_led2_gpio
+1 mem_car_config_blood_led3_gpio
+1 mem_car_config_blood_led4_gpio
+1 mem_car_config_blood_led5_gpio
+1 mem_car_config_blood_led6_gpio
+1 mem_car_config_blood_led7_gpio
+1 mem_car_config_blood_led8_gpio
+1 mem_car_config_bat_notify_enable
+1 mem_car_config_low_voltage_led_gpio
+1 mem_car_config_low_voltage_percent
+1 mem_car_config_soft_switch_enable
+1 mem_car_config_soft_switch_gpio
+
+1 mem_car_notify_vdd_count
+1 mem_car_notify_vdd_timer
+1 mem_car_notify_vdd_value_last
+1 mem_car_notify_vdd_percent
+1 mem_car_working_flag
+1 mem_low_bat_flag
+
+3 mem_notify_bat_packet
+5 mem_notify_bat_head
+1 mem_notify_bat_payload
+1 mem_notify_bat_check_sum
+
+1 mem_vdd_notify_flag
+2 mem_car_current_vdd_value_temp
+2 mem_car_last_vdd_value
+
+0 mem_vdd_calculate_set
+2 mem_vdd_full_vol
+2 mem_vdd_empty_vol
+2 mem_vdd_low_vol
+2 mem_vdd_now_vol
+
+
+1 mem_car_24g_status
+2 mem_car_24g_no_data_timeout_count
+2 mem_car_24g_no_data_timeout_timer
+
+1 mem_car_24g_ir_receive_attack_count
+1 mem_car_24g_go_die_flag
+1 mem_car_attack_shake_timer
+1 mem_car_attack_shake_flag
+
+0 mem_car_soft_power
+1 mem_car_power_state
+1 mem_car_power_timer
+1 mem_car_power_off_timeout
+1 mem_car_power_starting_timeout
+2 mem_car_power_off_cb
+2 mem_car_power_starting_cb
+2 mem_car_power_standby_cb
+2 mem_car_ui_button_up_cb
+
+
+500 mem_car_le_att_list
+
+1 mem_car_moto1_blank_timer
+1 mem_car_moto2_blank_timer
+1 mem_car_moto3_blank_timer
+1 mem_car_24g_received_pac
+400 mem_24g_car_head_ptr
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
Index: ZJL_pm8_BLE&BT/format/app_light.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_light.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_light.format	(working copy)
@@ -0,0 +1,34 @@
+omemalloc(
+1 mem_light_pwm0
+1 mem_light_pwm1
+1 mem_light_pwm2
+1 mem_light_pwm3
+1 mem_light_pwm4
+1 mem_light_pwm5
+
+1 mem_light_pairing_enable
+2 mem_light_pairing_timer
+1 mem_light_cnum
+1 mem_light_next_record
+80 mem_light_clist
+
+
+1 mem_light_crr_cmd_count
+1 mem_curr_packet_num
+)
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
Index: ZJL_pm8_BLE&BT/format/app_lightc.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_lightc.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_lightc.format	(working copy)
@@ -0,0 +1,30 @@
+omemalloc(
+1 mem_lightc_led_gpio
+6 mem_lightc_row
+6 mem_lightc_col
+
+1 mem_adv_time
+
+20 mem_cmd0_string
+20 mem_cmd1_string
+20 mem_cmd2_string
+20 mem_cmd3_string
+20 mem_cmd4_string
+20 mem_cmd5_string
+20 mem_cmd6_string
+20 mem_cmd7_string
+20 mem_cmd8_string
+20 mem_cmd9_string
+20 mem_cmd10_string
+20 mem_cmd11_string
+20 mem_cmd12_string
+20 mem_cmd13_string
+20 mem_cmd14_string
+20 mem_cmd15_string
+20 mem_cmd16_string
+20 mem_cmd17_string
+20 mem_cmd18_string
+20 mem_cmd19_string
+20 mem_cmd20_string
+)
+
Index: ZJL_pm8_BLE&BT/format/app_module.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_module.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_module.format	(working copy)
@@ -0,0 +1,221 @@
+
+omemalloc(	
+	2 mem_soft_version_num
+	1 mem_module_wake_up_gpio
+	1 mem_module_state_gpio
+	1 mem_module_connect_state_gpio
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_mcu_wake_pin
+	4 mem_module_mcu_wake_delay_us
+
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//uart
+	2 mem_module_uart_rx_buffer
+	2 mem_module_uart_rx_buffer_end
+	2 mem_module_uart_tx_buffer
+	2 mem_module_uart_tx_buffer_end
+
+	//ADC
+	1 mem_module_read_vdd_flag
+	1 mem_module_read_vdd_count
+	1 mem_module_vdd_quotient
+	1 mem_module_vdd_remainder
+
+	//ble
+	1 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+	//ble write handle
+	2 mem_module_data_write_handle
+	2 mem_module_data_write_handle2
+	//flag
+	1 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+
+	4 mem_last_transmite_clock
+	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	600 mem_module_le_att_list
+	0 mem_module_le_att_list_end
+	0 mem_module_nv_data
+	34 mem_module_nv_data0
+	34 mem_module_nv_data1
+	34 mem_module_nv_data2
+	34 mem_module_nv_data3
+	34 mem_module_nv_data4
+)
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
Index: ZJL_pm8_BLE&BT/format/app_mouse.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_mouse.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_mouse.format	(working copy)
@@ -0,0 +1,522 @@
+
+memalloc(
+2 mem_init_cnt
+)
+//dpi eeprom addr
+
+
+cmemalloc 0(
+// Mouse Work Area
+1 mem_mouse_key
+2 mem_mouse_x
+2 mem_mouse_y
+1 mem_mouse_z
+1 mem_mouse_tz
+1 mem_mouse_xy_h
+1 mem_sensor_shutter_hi
+1 mem_sensor_shutter_lo
+1 mem_sensor_smart_flag
+1 mem_sensor_squal_reg
+1 mem_sensor_iqc
+1 mem_mouse_move_flag
+2 mem_mouse_direct_timeout
+2 mem_mouse_no_data_timeout
+2 mem_mouse_discovery_timer
+2 mem_mouse_direct_timer
+2 mem_mouse_no_data_timer
+2 mem_mouse_blank_data_timer
+1 mem_mouse_send_blank_timer
+
+1 mem_mouse_cpi_count
+1 mem_mouse_dpi_button_state
+
+
+//mouse T wheel
+1 mem_wheel_tb_old_pinlevel
+1 mem_wheel_tb_new_pinlevel
+1 mem_wheel_tog 
+1 mem_mouse_tz_data
+1 mem_mouse_tz_data_count
+1 mem_mouse_tz_data_count1
+
+
+1 mem_mwheel_b_old_pinlevel
+1 mem_mwheel_b_new_pinlevel
+1 mem_mwheel_tog 
+1 mem_mouse_z_data
+1 mem_mouse_z_data_count
+1 mem_mouse_z_data_count1
+
+1 mem_reconn_mode
+1 mem_mouse_statue_led_timer  
+1 mem_le_connect_status_flag
+1 mem_le_start_encrypt_timer
+
+7 mem_device_addr_temp
+
+1 mem_adc_read_timer
+1 mem_adc_low_volatage_led_timer_count
+2 mem_adc_reference_voltage
+1 mem_device_number
+2 mem_mouse_flag
+2 mem_mouse_function_enable
+1 mem_combination_select_device_timer_init
+1 mem_combination_select_device_count
+1 mem_select_device_button_statue
+
+1 mem_combination_ui_button_count
+1 mem_bt_discovey_button_statue
+1 mem_sensor_reset_gpio	
+
+1 mem_sensor_id1
+1 mem_sensor_id2
+//eeprom config param
+1 mem_mouse_dpi_led_delay_count
+1 mem_config_sensor_type
+1 mem_config_sensor_motion
+1 mem_lbutton_gpio
+1 mem_rbutton_gpio
+1 mem_mbutton_gpio
+1 mem_bk_button_gpio
+1 mem_fw_button_gpio
+1 mem_dpi_button_gpio
+1 mem_whee_a_data_gpio
+1 mem_whee_b_data_gpio
+1 mem_whee_ta_data_gpio
+1 mem_whee_tb_data_gpio
+1 mem_config_bt_button_gpio
+1 mem_config_select_device_button_gpio
+1 mem_config_paraing_led_gpio
+1 mem_config_low_voltage_alarm_gpio
+1 mem_config_device1_led_gpio
+1 mem_config_device2_led_gpio
+1 mem_config_device3_led_gpio	
+1 mem_sensor_data_gpio
+1 mem_dpi_led_gpio
+1 mem_config_function_enable
+1 mem_config_sensor_angle
+1 mem_select_sensor_angle_gpio
+1 mem_select_adc_gpio
+0 mem_config_end
+//max length 1f								
+4 mem_btclk_sensor
+1 mem_wire_usb_interval
+1 mem_mouse_mode_flag
+1 mem_usb_addr
+3 mem_flash_base
+1 mem_24g_device_number
+1 mem_24g_enter_lpm_timer
+1 mem_mouse_1step_up_count
+1 mem_mouse_2step_up_count
+2 mem_24g_pairing_timer_count
+
+//adc struct
+0 mem_mouse_vdd_calculate_set
+2 mem_mouse_vdd_full_vol
+2 mem_mouse_vdd_empty_vol
+2 mem_mouse_vdd_low_vol
+2 mem_mouse_vdd_now_vol
+// sensor led 
+1 mem_mouse_sensor_timer_count
+1 mem_sensor_led_style
+
+//led struct
+1 mem_mouse_led_type
+1 mem_mouse_blink_count
+1 mem_mouse_struct_led_gpio
+2 mem_mouse_on_time
+2 mem_mouse_off_time
+2 mem_mouse_cb_ledon
+2 mem_mouse_cb_ledoff
+
+//three devices param
+1 mem_reconn_times
+1 mem_reconn_times_init
+0 mem_mouse_information_start
+1 mem_device_flag
+1 mem_device1_type
+6 mem_device1_addr
+16 mem_device1_link_key
+6 mem_device1_locall_addr
+
+1 mem_device2_type
+6 mem_device2_addr
+16 mem_device2_link_key
+6 mem_device2_locall_addr
+
+1 mem_device3_type
+6 mem_device3_addr
+16 mem_device3_link_key
+6 mem_device3_locall_addr
+2 mem_store_flag
+1 mem_mouse_dpi
+4 mem_mouse_24g_addr
+0 mem_mouse_information_end
+
+0 mem_mouse_dpi_seting
+1 mem_320x_dpi_1
+1 mem_320x_dpi_2
+1 mem_320x_dpi_3
+1 mem_320x_dpi_4
+
+1 mem_3212_dpi_1
+1 mem_3212_dpi_2
+1 mem_3212_dpi_3
+1 mem_3212_dpi_4
+
+1 mem_3610_dpi_1
+1 mem_3610_dpi_2
+1 mem_3610_dpi_3
+1 mem_3610_dpi_4
+
+1 mem_mouse_24g_enter_lpm_enable
+
+//-------------- patch variable ------------------
+2 mem_le_rx_window_inc
+1 mem_empty_count
+13 mem_rf_init_data_new
+
+1 mem_mouse_clear_sensor_data_flag
+1 mem_mouse_null_enter_hibernate_flag
+1 mem_mouse_null_enter_hibernate_timer
+1 mem_mouse_le_reconnect_flag
+
+33 mem_mouse_data_queue
+1 mem_mouse_data_queue_num
+
+2 mem_random_addr_increase_count
+1 mem_mouse_le_conn_param_reject
+1 mem_lpm_mult_init
+64 mem_mouse_le_uuid_sup
+
+1 mem_mouse_wheel_trigger
+1 mem_mouse_wheel_trigger_timer
+
+1 mem_mouse_enter_sniff_count
+1 mem_mouse_send_switch_req_timer
+
+27 mem_le_tx_buffer0_omemalloc
+27 mem_le_tx_buffer1_omemalloc
+27 mem_le_tx_buffer2_omemalloc
+27 mem_le_tx_buffer3_omemalloc
+
+
+646 mem_mouse_uuid_list
+1 mem_lmi_opcode_temp
+
+1 mem_mouse_adc_last_low_voltage_flag
+1 mem_mouse_init_sensor_reset_flag
+
+1 mem_bt_rcvd_switch_req_accept
+1 mem_bt_send_max_slot_req_accept_after_switch
+1 mem_bt_send_lmp_setup_complete
+
+1 mem_l2cap_rcv
+1 mem_mouse_bt_boot_mode
+5 mem_mouse_bt_boot_data
+
+1 mem_mouse_bt_send_first_package_timer
+1 mem_mouse_bt_send_first_package_flag
+
+1 mem_mouse_asm_flag
+2 mem_mouse_x_pre
+2 mem_mouse_y_pre
+
+19 mem_le_adv_swift_pair
+
+1 mem_24g_sw_gpio
+
+1 mem_mouse_multi_led_blink_enable
+1 mem_mouse_multi_led_gpio
+1 mem_mouse_multi_led_state
+1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer
+1 mem_mouse_multi_led_on_timer_init
+1 mem_mouse_multi_led_blink_timer_init
+1 mem_mouse_multi_led_blink_timer
+1 mem_mouse_multi_led_blink_count
+1 mem_mouse_multi_led_blink_count_limited
+1 mem_mouse_multi_led_on_poweron2s_flag
+
+1 mem_discovery_on_flag
+1 mem_bt_ui_button_timeout
+1 mem_bt_ui_button_count
+1 mem_mouse_priority_bb_event
+2 mem_mouse_le_parse_l2cap_ptr
+1 mem_low_power_no_data_off_led_time
+1 mem_low_power_led_blink_flag
+0 mem_mouse_3065xy_dpi_seting
+1 mem_3065xy_dpi_1
+1 mem_3065xy_dpi_2
+1 mem_3065xy_dpi_3
+1 mem_3065xy_dpi_4
+
+//modified pnp id
+1 mem_le_att_pnp_id_len
+7 mem_le_att_pnp_id
+
+//flash
+1 mem_flash_ncs_gpio
+1 mem_select_ui_button_count
+
+1 mem_mouse_g24_led_timer
+1 mem_mouse_bt_ble_poweron_led_timer
+1 mem_mouse_bt_ble_led_timer
+1 mem_device_blink_led_state
+1 mem_24g_device_led_status
+
+1 mem_device_24g_led_gpio
+1 mem_device_bt_led_gpio
+
+4 mem_write_flash_head_temp
+1 mem_mouse_poweron_led_timer
+4 mem_mouse_24g_addr_init
+1 mem_mouse_bt_reconnect_flag
+1 mem_retry_count
+1 mem_24g_attempt_count
+1 mem_bt_125hz_cnt
+2 mem_mouse_no_data_led_timeout
+1 mem_mouse_dpi_blink_count
+1 mem_mouse_discovery_blink_count
+1 mem_mouse_24g_pair_timer
+
+2 mem_mouse_vdd_0v
+1 mem_select_device_button_press_flag
+1 mem_mouse_fast_conn_flag
+
+//no motion pin
+1 mem_mouse_long_mult_flag
+1 mem_mouse_current_mult_timer
+1 mem_24g_long_sleep_param_update_timer
+
+//zcode
+1 mem_zcode_current_number
+3 mem_xip_flash_offset
+3 mem_flash_start_addr
+3 mem_flash_address
+4 mem_zcode_head
+)
+
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X03 MOUSE_LR_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a MA8650_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0X07 MA8650
+
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+4 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+6 LE_INTERVAL_7_5MS//7.5ms
+12 CLASSIC_INTERVAL_7_5MS
+14 CLASSIC_INTERVAL_8_75MS
+18 CLASSIC_INTERVAL_11_25MS
+)
+
+(
+0xb9 FLASH_COMMAND_DEEP_POWER_DOWN
+0xab FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+(
+0 DIS_BUTTON_UP
+1 DIS_BT_BUTTON
+2 DIS_COMM_BUTTON
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x0ea600 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
+)
+(
+//PB button state 
+0x00 PB_BUTTON_STATE_DOWN
+0x01 PB_BUTTON_STATE_UP
+)
+
+(
+0x02 MODE_G24_DEVICE
+)
+
Index: ZJL_pm8_BLE&BT/format/app_remote_car.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_remote_car.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_remote_car.format	(working copy)
@@ -0,0 +1,150 @@
+
+omemalloc(
+1 mem_remote_car_hard_soft_switch
+
+1 mem_remote_car_queue_each_size
+1 mem_remote_car_queue_length
+
+1 mem_remote_car_queue_curr_num
+1 mem_remote_car_queue_read_ptr
+1 mem_remote_car_queue_write_ptr
+90 mem_remote_car_queue_ele
+
+1 mem_remote_style_led_type
+1 mem_remote_style_blink_count
+1 mem_remote_style_struct_led_gpio
+2 mem_remote_style_on_time
+2 mem_remote_style_off_time
+2 mem_remote_style_cb_ledon
+2 mem_remote_style_cb_ledoff
+
+
+1 mem_remote_car_led_num
+8 mem_remote_car_led_map
+
+0 mem_remote_car_keyscan
+1 mem_remote_car_key_num
+2 mem_cb_remote_car_keyscan
+
+0 mem_remote_car_key_conf0
+1 mem_remote_car_key_conf0_pin
+0 mem_remote_car_key_conf1
+1 mem_remote_car_key_conf1_pin
+0 mem_remote_car_key_conf2
+1 mem_remote_car_key_conf2_pin
+0 mem_remote_car_key_conf3
+1 mem_remote_car_key_conf3_pin
+0 mem_remote_car_key_conf4
+1 mem_remote_car_key_conf4_pin
+0 mem_remote_car_key_conf5
+1 mem_remote_car_key_conf5_pin
+0 mem_remote_car_key_conf6
+1 mem_remote_car_key_conf6_pin
+
+
+//rocker
+1 mem_rocker_negative_flag
+1 mem_rocker_work_status
+2 mem_current_vdd_value_default_mid_x
+2 mem_current_vdd_value_default_mid_y
+2 mem_current_vdd_value_default_mid_temp
+2 mem_current_vdd_default_range
+2 mem_rocker_last_status
+0 mem_rocker_status
+1 mem_rocker_x_status
+1 mem_rocker_y_status
+
+0 mem_remote_car_config_param
+1 mem_remote_car_config_setting_flag
+1 mem_remote_car_config_key_map
+1 mem_remote_car_config_layout
+1 mem_remote_car_config_connect_led_gpio
+1 mem_remote_car_config_check_way
+1 mem_remote_car_config_soft_switch_enable
+1 mem_remote_car_config_soft_switch_gpio
+1 mem_remote_car_config_timeout_shutdown_enable
+
+0 mem_remote_car_24g_motor_packet
+1 mem_remote_car_24g_motor_packet_lenght
+2 mem_remote_car_24g_motor_send_packet_head
+1 mem_remote_car_24g_motor_send_cmd
+2 mem_remote_car_24g_motor_send_length
+0 mem_remote_car_24g_motor_send_payload
+2 mem_remote_car_24g_motor1_payload
+2 mem_remote_car_24g_motor2_payload
+2 mem_remote_car_24g_motor3_payload
+1 mem_remote_car_24g_motor_send_checksum
+
+0 mem_remote_car_24g_fire_packet
+1 mem_remote_car_24g_fire_packet_lenght
+2 mem_remote_car_24g_fire_send_packet_head
+1 mem_remote_car_24g_fire_send_cmd
+2 mem_remote_car_24g_fire_send_length
+2 mem_remote_car_24g_fire_send_payload
+1 mem_remote_car_24g_fire_send_checksum
+
+15 mem_remote_car_24g_tx_temp
+
+2 mem_remote_car_no_data_timeout
+2 mem_remote_car_no_data_timer
+
+0 mem_remote_car_soft_power
+1 mem_remote_car_power_state
+1 mem_remote_car_power_timer
+1 mem_remote_car_power_off_timeout
+1 mem_remote_car_power_starting_timeout
+2 mem_remote_car_power_off_cb
+2 mem_remote_car_power_starting_cb
+2 mem_remote_car_power_standby_cb
+
+1 mem_remote_key_status
+1 mem_remote_car_24g_status
+
+1 mem_remote_car_24g_auto_work_step
+1 mem_remote_car_24g_pair_success_flag
+1 mem_remote_car_24g_enter_lpm_enable
+1 mem_remote_car_empty_packet
+400 mem_24g_RC_head_ptr
+)
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
Index: ZJL_pm8_BLE&BT/format/app_shutter.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_shutter.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_shutter.format	(working copy)
@@ -0,0 +1,252 @@
+
+
+omemalloc(
+
+////////////////////////////////////
+//shutter common config
+1 mem_shutter_bluetooth_type
+////////////////////////////////////
+
+//shutter config name by GPIO
+1 mem_shutter_config_enable
+2 mem_shutter_config_otp_base_address
+1 mem_shutter_config_size
+1 mem_shutter_config_select_gpio1
+1 mem_shutter_config_select_gpio2
+1 mem_shutter_config_select_gpio3
+
+2 mem_shutter_config_user_otp_address
+2 mem_shutter_config_eeprom_offset_addr
+
+////////
+2 mem_shutter_config_eeprom_start_flag
+1 mem_shutter_config_user_size
+///////
+1 mem_shutter_config_label
+2 mem_shutter_config_otp_addr
+///////////////////////////////////
+
+////////////////////////////////////
+//classic shutter config
+1 mem_classic_shutter_cable_unplug_conut
+1 mem_classic_shutter_hid_disconn_count
+2 mem_classic_shutter_random_mac_offset_addr
+////////////////////////////////////
+
+////////////////////////////////////
+//ble shutter config
+1 mem_ble_shutter_enable_notify
+2 mem_ble_shutter_reconn_dav_interval
+2 mem_ble_shutter_discovery_adv_interval
+2 mem_ble_shutter_reconn_timeout
+2 mem_ble_shutter_reconn_timer
+2 mem_ble_shutter_reconn_blink_on_time
+2 mem_ble_shutter_reconn_blink_off_time
+2 mem_ble_shutter_discovery_blink_on_time
+2 mem_ble_shutter_discovery_blink_off_time
+
+2 mem_ble_shutter_interval_min
+2 mem_ble_shutter_interval_max
+2 mem_ble_shutter_latency
+2 mem_ble_shutter_timeout
+
+2 mem_ble_shutter_interval_min_new
+2 mem_ble_shutter_interval_max_new
+2 mem_ble_shutter_latency_new
+2 mem_ble_shutter_timeout_new
+
+//////////////////shutter sleep timeout//////////////////
+2 mem_classic_shutter_discovery_timeout
+2 mem_classic_shutter_connect_timeout
+2 mem_ble_shutter_discovery_timeout
+2 mem_ble_shutter_connect_timeout
+2 mem_shutter_sleep_timeout
+2 mem_shutter_sleep_timer
+
+/////////////////////////////////////////////////////////////////
+1 mem_shutter_hard_soft_switch_case
+1 mem_shutter_soft_switch_button_gpio
+1 mem_shutter_soft_switch_power_state
+1 mem_shutter_soft_switch_poweron_time
+1 mem_shutter_soft_switch_poweroff_time
+2 mem_shutter_soft_switch_poweron_callback_function
+2 mem_shutter_soft_switch_poweroff_callback_function
+
+
+0 mem_shutter_keyscan
+1 mem_shutter_key_num
+2 mem_cb_shutter_keycan
+1 mem_shutter_key_conf0
+1 mem_shutter_key_conf1
+1 mem_shutter_key_conf2
+1 mem_shutter_key_conf3
+1 mem_shutter_key_conf4
+1 mem_shutter_key_conf5
+1 mem_shutter_key_conf6
+1 mem_shutter_key_conf7
+
+
+5 mem_key0_press
+5 mem_key1_press
+5 mem_key2_press
+5 mem_key3_press
+5 mem_key4_press
+5 mem_key5_press
+5 mem_key6_press
+5 mem_key7_press
+
+5 mem_key0_release	
+5 mem_key1_release
+5 mem_key2_release
+5 mem_key3_release
+5 mem_key4_release
+5 mem_key5_release
+5 mem_key6_release
+5 mem_key7_release
+
+5 mem_ble_data_buffer1
+5 mem_ble_data_buffer2
+5 mem_ble_data_buffer3
+5 mem_ble_data_buffer4
+5 mem_ble_data_buffer5
+5 mem_ble_data_buffer6
+5 mem_ble_data_buffer7
+5 mem_ble_data_buffer8
+50 mem_ble_data_buffer9_58
+
+5 mem_classic_data_buffer
+
+5 mem_classic_data_buffer1
+5 mem_classic_data_buffer2
+5 mem_classic_data_buffer3
+5 mem_classic_data_buffer4
+5 mem_classic_data_buffer5
+5 mem_classic_data_buffer6
+5 mem_classic_data_buffer7
+5 mem_classic_data_buffer8
+50 mem_classic_data_buffer9_58
+
+1 mem_queue_each_size
+1 mem_queue_length
+1 mem_queue_curr_num
+1 mem_queue_read_ptr
+1 mem_queue_write_ptr
+32 mem_queue_ele
+
+
+170 mem_shutter_nv_data
+
+0 mem_shutter_led_struct_app_led
+1 mem_shutter_led_struct_app_led_type
+1 mem_shutter_led_struct_app_led_blink_count
+1 mem_shutter_led_struct_app_led_gpio
+2 mem_shutter_led_struct_app_led_on_time
+2 mem_shutter_led_struct_app_led_off_time
+2 mem_shutter_led_struct_app_led_on_callback
+2 mem_shutter_led_struct_app_led_off_callback
+
+0 mem_shutter_power_off_led_style
+1 mem_shutter_power_off_led_style_type
+1 mem_shutter_power_off_led_style_blink_count
+1 mem_shutter_power_off_led_style_gpio
+2 mem_shutter_power_off_led_style_on_time
+2 mem_shutter_power_off_led_style_off_time
+2 mem_shutter_power_off_led_style_on_callback
+2 mem_shutter_power_off_led_style_off_callback
+
+1 mem_shutter_soft_swtich_botton_down
+11 mem_shutter_soft_swtich_led_struct_temp
+1 mem_shutter_power_off_timeout
+1 mem_shutter_power_off_timer
+
+)
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
Index: ZJL_pm8_BLE&BT/format/app_usb.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_usb.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/app_usb.format	(working copy)
@@ -0,0 +1,203 @@
+
+omemalloc(
+
+)
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+
+(
+0x1A0 AT_baud_115200
+0x4e2 AT_baud_38400
+0x1388 AT_baud_9600
+)
+
+(
+0x4e00 mem_module_rx_buf//0x400
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x01 BIND_ACKPAYLOAD
+0x02 USER_ACKPAYLOAD
+
+0xcf CMD_OTA
+0xc0 CMD_OTA_START
+0xc1 CMD_OTA_DATA
+0xc2 CMD_OTA_EXIT
+0x55 OTA_STA_SUCCESS
+0xaa OTA_STA_FAIL
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
Index: ZJL_pm8_BLE&BT/format/bt.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/bt.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/bt.format	(working copy)
@@ -0,0 +1,1027 @@
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+memalloc(
+/* 00-0f most frequently used area  */
+1 mem_le_adv_transmit
+1 mem_le_adv_waitcnt
+1 mem_le_adv_rcv
+1 mem_le_req_rcv
+1 mem_le_scanrsp_rcv
+1 mem_le_conn_rcv
+
+1 mem_inquiryscan_waitcnt
+1 mem_inquiryscan_rcvcnt
+1 mem_pagescan_waitcnt
+1 mem_pagescan_rcvcnt
+1 mem_pagescan_rcvfhscnt
+1 mem_slave_rcvcnt
+1 mem_page_transmit
+1 mem_page_rcv
+1 mem_page_rcv_fhs
+1 mem_master_rcvcnt
+
+/* 10-1f debug area */
+1 mem_fhs_wait_counter
+1 mem_newconnto_counter
+1 mem_inquiry_transmit
+1 mem_inquiry_rcv
+1 mem_fw_ver
+1 mem_current_context
+1 mem_le_ch_mapped
+1 mem_last_freq
+1 mem_rssi
+1 mem_rx_type
+2 mem_rx_hec_err
+2 mem_rx_crc_err
+2 mem_context_ptr
+8 mem_display
+8 mem_bcd
+
+		/* context swappable area */
+1 mem_state
+1 mem_mode
+2 mem_tsniff
+4 mem_sniff_anchor
+6 mem_clk_offset
+2 mem_rx_window
+3 mem_plap
+1 mem_puap
+2 mem_pnap
+1 mem_conn_handle
+1 mem_arq
+1 mem_lmp_to_send
+1 mem_lmi_opcode
+1 mem_lmo_reason
+1 mem_op
+1 mem_state_map
+4 mem_supervision_timer
+2 mem_supervision_to
+1 mem_name_offset
+1 mem_key_size
+1 mem_conn_sm
+12 mem_aco
+16 mem_kc
+1 mem_conn_timer
+1 mem_sniff_attempt
+1 mem_sniff_timeout
+2 mem_dsniff
+1 mem_amaddr
+1 mem_lmo_opcode1
+1 mem_lmi_opcode1
+1 mem_lmo_reason1
+1 mem_lmo_tid1
+1 mem_lmo_opcode2
+1 mem_lmi_opcode2
+1 mem_lmo_reason2
+1 mem_lmo_tid2
+
+3 mem_hci_version
+2 mem_acl_pktlen
+1 mem_sco_pktlen
+2 mem_acl_pktcnt
+2 mem_sco_pktcnt
+
+1 mem_current_sniff_attempt
+1 mem_current_sniff_timeout
+1 mem_sniff_timeout_temp
+1 mem_nfreq_index_inq
+1 mem_nfreq_index_page
+1 mem_ninqy_index
+1 mem_fhs_misc
+
+
+
+/* lpo related */
+4 mem_subsniff_instant
+1 mem_subsniff_rate
+2 mem_subsniff_tcmax
+1 mem_subsniff_tsniff
+1 mem_lpm_adjust
+6 mem_sync_clke
+1 mem_lpm_current_mult
+4 mem_gpio_wakeup_low
+4 mem_gpio_wakeup_high
+	
+
+/* sco & esco */
+1 mem_air_mode
+1 mem_sco_asso_handle
+2 mem_sco_handle
+1 mem_esco_desco
+1 mem_esco_type
+1 mem_neogotiation_state
+1 mem_saved_amaddr
+1 mem_esco_arq
+1 mem_esco_saved_arq
+30 mem_sco_obuf
+30 mem_sco_ibuf
+1 mem_sco_poll
+
+
+
+//page
+1 mem_npage_index
+1 mem_page_mode
+4 mem_page_clk
+
+
+/* test related */
+2 mem_tst_pktcnt_sync
+2 mem_tst_pktcnt_hec
+2 mem_tst_pktcnt_crc
+2 mem_tst_pktcnt_dmh
+3 mem_tmp_buffer_head
+80 mem_tmp_buffer
+
+
+1 mem_tester_emulate
+0 mem_temp_payload
+1 test_mode_scenario
+1 test_mode_hopping_mode
+1 test_mode_tx_freq
+1 test_mode_rx_freq
+1 test_mode_power_mode
+1 test_mode_poll_period
+1 test_mode_packet_type
+2 test_mode_data_length
+1 mem_test_mode_old_debug_config
+1 mem_tester_cnt
+
+
+/*temp mem*/
+1 mem_temp_am_addr
+1 mem_temp_arq
+
+//
+2 mem_len
+4 mem_clkn_bt
+4 mem_clke_bt
+4 mem_dpll_clkn
+1 mem_connection_options
+
+1 mem_nameres_cnt
+2 mem_txptr
+2 mem_slot_offset
+
+//extm
+1 extm_fhs_misc
+1 extm_newconn_am_addr
+3 extm_class
+3 extm_lap
+1 extm_uap
+3 extm_nap
+
+
+//debug
+1 mem_debug_config
+1 mem_lch_code
+1 mem_fhs_am_addr
+2 mem_dpll_error
+1 mem_select_list_item
+0 mem_temp_reconn_record
+1 mem_record_bt_mode
+6 mem_temp_lap
+2 mem_list_item_ptr
+
+100 mem_eir
+)
+
+
+xmemalloc(
+/* patch enable 0x4000-0x403f  */
+
+1 mem_patch00
+1 mem_patch01
+1 mem_patch02
+1 mem_patch03
+1 mem_patch04
+1 mem_patch05
+1 mem_patch06
+1 mem_patch07
+1 mem_patch08
+1 mem_patch09
+1 mem_patch0a
+1 mem_patch0b
+1 mem_patch0c
+1 mem_patch0d
+1 mem_patch0e
+1 mem_patch0f
+1 mem_patch10
+1 mem_patch11
+1 mem_patch12
+1 mem_patch13
+1 mem_patch14
+1 mem_patch15
+1 mem_patch16
+1 mem_patch17
+1 mem_patch18
+1 mem_patch19
+1 mem_patch1a
+1 mem_patch1b
+1 mem_patch1c
+1 mem_patch1d
+1 mem_patch1e
+1 mem_patch1f
+1 mem_patch20
+1 mem_patch21
+1 mem_patch22
+1 mem_patch23
+1 mem_patch24
+1 mem_patch25
+1 mem_patch26
+1 mem_patch27
+1 mem_patch28
+1 mem_patch29
+1 mem_patch2a
+1 mem_patch2b
+1 mem_patch2c
+1 mem_patch2d
+1 mem_patch2e
+1 mem_patch2f
+1 mem_patch30
+1 mem_patch31
+1 mem_patch32
+1 mem_patch33
+1 mem_patch34
+1 mem_patch35
+1 mem_patch36
+1 mem_patch37
+1 mem_patch38
+1 mem_patch39
+1 mem_patch3a
+1 mem_patch3b
+1 mem_patch3c
+1 mem_patch3d
+1 mem_patch3e
+1 mem_patch3f
+
+	/* 3 device contexts  */
+80 mem_context
+1 mem_current_amaddr
+1 mem_lpm_mode
+1 mem_device_option
+1 mem_scan_mode
+4 mem_last_clkn
+
+	/* parameters */
+8 mem_features
+3 mem_lap
+1 mem_uap
+2 mem_nap
+1 mem_npage
+3 mem_glap
+3 mem_class
+2 mem_iscan_window
+2 mem_iscan_interval
+2 mem_pscan_window
+2 mem_pscan_interval
+2 mem_page_interval
+2 mem_page_window
+2 mem_page_to
+2 mem_inq_window
+1 mem_fcomp_mul
+1 mem_fcomp_div
+2 mem_rx_window_init
+2 mem_rx_window_sniff
+2 mem_rf_init_ptr
+
+	/* connection related */
+1 mem_last_type
+1 mem_last_type_esco
+1 mem_last_type_saved
+2 mem_retransmission_cnt
+4 mem_next_btclk
+
+1 mem_rf_rccal
+1 mem_handle_num
+1 mem_max_slot
+1 mem_eir_enable
+
+/* AFH related */
+4 mem_afh_instant
+2 mem_afh_error_total
+1 mem_afh_cfg
+1 mem_afh_new_mod
+5 mem_afh_map_lo
+5 mem_afh_map_hi
+1 mem_afh_used
+2 mem_afh_index
+11 mem_afh_map_new
+80 mem_afh_map
+4 mem_afh_timer
+10 mem_afh_classify_channel_map
+
+
+	/* lpm related */
+2 mem_chip_functions
+2 mem_lpm_wake_lock
+2 mem_lpm_interval
+1 mem_lpm_overhead
+1 mem_lpm_hibernate_switch
+1 mem_esco_addr
+1 mem_sniff_unint_lost
+1 mem_ptt
+4 mem_sleep_counter   //should be 0x41fc in REVC
+4 mem_sleep_counter_all
+6 mem_sleep_clkn
+3 mem_sniff_rcv
+3 mem_sniff_lost
+3 mem_clks_per_lpo
+
+1 mem_lpm_mult
+1 mem_lpm_mult_timeout
+1 mem_lpm_mult_cnt
+
+/* 8139-813b lpm_ctrl[31:12] */
+3 mem_lpm_config				
+
+1 mem_lpm_xtalcnt
+1 mem_lpm_buckcnt
+1 mem_lpm_ldocnt
+1 mem_lpm_isogate
+1 mem_lpm_isogate_final
+16 mem_saved_gpio	// should be 0x421e in REVC
+3 mem_saved_gsel
+8 mem_saved_mark
+1 mem_saved_spidctrl
+2 mem_patch_ptr
+2 mem_patch_len
+
+32 mem_timers
+
+/*LINK KEY*/
+1 mem_link_key_exists
+16 mem_link_key
+
+
+/* HCI */
+1 mem_hci_cmd
+1 mem_hci_conn_handle
+3 mem_hci_plap
+1 mem_hci_puap
+2 mem_hci_pnap
+
+/*Peripherals*/
+1 mem_uartd_rxitems_got_data
+1 mem_uartd_rxitems_threshold
+2 mem_uartd_rx_timeout
+
+1 mem_loadcode_times
+
+1 mem_tx_lch
+2 mem_tx_len
+
+1 mem_tx_power
+
+1 mem_context_number
+
+1 mem_250k_freq_enable
+
+ifdef DEBUG_RF_INIT
+1 mem_rf_init_data
+endif
+)
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+ifdef RAM_VERSION
+0x4b17 rom_lpm_sleep
+0x4b1d rom_lpm_enter_sleep
+0x4b16 rom_lpm_write_ctrl
+0x6b1a rom_otpd_read_data
+0x6ada rom_otp_write
+else
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+endif
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 24Mhz clock setting */
+ifdef CLK24M
+0x1c86 param_tx_setup
+0x0c00 param_rf_setup
+0x0c00 param_conn_access 
+0x1a00 param_rx_setup
+0x0776 param_clke_cal
+0x0a00 param_pll_setup
+4000 param_dpll_start_delay
+else
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x0600 param_rf_setup
+0x0600 param_conn_access 
+0x03bb param_clke_cal
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+endif
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+ifdef SIM
+20 param_hibernate_clks
+3 param_chgpump_delay
+else
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+endif
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+45 mark_role_switch_receive_fhs
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer չ
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
Index: ZJL_pm8_BLE&BT/format/command.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/command.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/command.format	(working copy)
@@ -0,0 +1,1384 @@
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: ZJL_pm8_BLE&BT/format/g24.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/g24.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/g24.format	(working copy)
@@ -0,0 +1,462 @@
+
+cmemalloc 0 (
+34 mem_24g_rxbuf
+32 mem_24g_txbuf
+34 mem_24g_txpayload
+32 mem_24g_rxpayload
+1 mem_24g_rxdata_length
+1 mem_24g_pid
+1 mem_24g_datalen
+1 mem_24g_data_type
+1 mem_24g_txlen
+2 mem_24g_rx_window
+1 mem_24g_ensure
+2 mem_24g_txfail_cnt
+1 mem_24g_get_ack_fail
+1 mem_24g_retry
+1 mem_24g_ch
+1 mem_24g_current_ch_number
+4 mem_24g_paring_addr
+1 mem_24g_pairing_sm
+4 mem_24g_ch_map1
+4 mem_24g_ch_map2
+4 mem_24g_ch_map3
+4 mem_24g_ch_map4
+4 mem_24g_tx_btclk
+1 mem_24g_interval
+1 mem_24g_interval_min
+1 mem_24g_interval_max
+4 mem_24g_addr
+1 mem_24g_abort_pac
+2 mem_24g_check_dongle_times
+
+8 mem_24g_enter_hibernate
+4 mem_24g_device_addr
+1 mem_24g_pac_index
+1 mem_24g_no_ack
+3 mem_24g_sta_crc
+3 mem_24g_last_crc
+1 mem_24g_sta_pid
+1 mem_24g_last_pid
+1 mem_24g_max_retry
+1 mem_24g_mode
+
+34 mem_24g_rxdata_temp
+4 mem_24g_rx_addr
+1 mem_dongle_mode_init
+1 mem_dongle_work_mode
+1 mem_dongle_ms_bind_step
+1 mem_dongle_kb_bind_step
+1 mem_dongle_bind_device_status
+8 mem_24g_bind_payload
+1 mem_24g_abort_packet
+1 mem_24g_rf_laststa
+4 mem_24g_hop_btclk
+1 mem_24g_hop_interval
+1 mem_24g_mode_switch
+1 mem_24g_ackpayload_enable
+1 mem_24g_hop_packet
+1 mem_24g_pair_mode
+1 mem_24g_nodata_timer_enable
+1 mem_24g_time_slice
+8 mem_24g_kb_data_sta_data
+8 mem_24g_kb_data_last_data
+3 mem_24g_kb_multikey_sta_data
+3 mem_24g_kb_multikey_last_data
+1 mem_24g_kb_blank_data_enable
+1 mem_24g_kb_mul_blank_data_enable
+1 mem_24g_ms_blank_data_enable
+4 mem_24g_kb_addr
+4 mem_24g_ms_addr
+
+1 mem_24g_dg_last_ch
+1 mem_24g_dg_ch_number
+1 mem_24g_dg_config_ch_once
+1 mem_24g_kb_last_ch
+1 mem_24g_kb_ch_number
+1 mem_24g_kb_config_ch_once
+1 mem_24g_ms_last_ch
+1 mem_24g_ms_ch_number
+1 mem_24g_ms_config_ch_once
+
+2 mem_24g_syncword
+1 mem_24g_syncword_crc8
+1 mem_24g_get_syncword_crc8
+2 mem_24g_ota_sta_pid
+
+1 mem_tx_power_temp
+
+1 mem_rssi_hex
+1 mem_rssi_noise_avg
+1 mem_rssi_noise_index
+1 mem_rssi_signal_index
+1 mem_rssi_noise_dg_avg
+1 mem_rssi_noise_kb_avg
+1 mem_rssi_noise_ms_avg
+1 mem_rssi_noise_dg_index
+1 mem_rssi_noise_kb_index
+1 mem_rssi_noise_ms_index
+8 mem_rssi_signal_buf
+
+1 mem_queue_ele_num
+2 mem_queue_read
+2 mem_queue_write
+0 mem_queue_start
+32 mem_data_ele0
+32 mem_data_ele1
+32 mem_data_ele2
+0 mem_queue_end
+2 mem_queue_temp
+
+2 mem_cb_24g_data
+1 mem_24g_hop_fastly_cnt
+1 mem_24g_hop_pac_retry
+1 mem_24g_rf_hop_ch
+1 mem_24g_rf_last_sta
+1 mem_24g_rf_work_stage
+1 mem_24g_sync_cnt
+1 mem_power_ctrl_pac_succ_cnt
+1 mem_rssi_avg_received
+1 mem_rssi_hex_received
+1 mem_power_ctrl_level
+
+1 mem_seqi
+1 mem_24g_auto_paring_switch
+1 mem_24g_paccnt
+1 mem_24g_transmit_by_interrupt
+2 mem_24g_transmit_by_interrupt_exit_count
+2 mem_24g_transmit_by_interrupt_exit_count_init
+)
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	뵥ز
+0x82 COM_TEST_CD		// fcc
+0x83 COM_TEST_DAT		// ݲ
+0X84 COM_TEST_LOW_CH  //Ƶ
+0X85 COM_TEST_MID_CH	//Ƶ
+0X86 COM_TEST_HIG_CH	//Ƶ
+0X87 COM_TEST_SW_HIG	//ԶлƵΪ 1mhz
+0X88 COIM_TEST_SW_LOW	//ԶлƵΪ 1mhz
+0X89 COM_TEST_SW_STOP	//ֹͣԶлƵ
+0X8A COM_TEST_POW_5		//5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//˳ģʽ
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+12210 G24_4MS_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
Index: ZJL_pm8_BLE&BT/format/hci.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/hci.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/hci.format	(working copy)
@@ -0,0 +1,570 @@
+
+
+memalloc(
+1 mem_h5rx_ackcnt
+1 mem_check_err_acl_cont
+
+1 mem_rp_packets
+2 mem_packet_type
+
+2 mem_hci_sniff_conn_handle
+2 mem_hci_sniff_max_interval
+2 mem_hci_sniff_min_interval
+2 mem_hci_sniff_attempt
+2 mem_hci_sniff_timeout
+2 mem_voice_setting
+1 mem_retransmission_effort
+2 mem_sco_ptype
+3 mem_extm_uap_restore
+
+2 mem_h5rx_rptr
+1 mem_h5rx_ack
+1 mem_h5tx_ack
+2 mem_h5tx_rptr
+2 mem_h5tx_wptr
+2 mem_h5tx_free
+1 mem_h5rx_tmp
+1 mem_h5tx_seq
+
+2 mem_hci_acl_queue_wptr
+2 mem_hci_acl_queue_rptr
+2 mem_hci_acl_queue_end
+1 mem_hci_acl_queue_wcnt
+1 mem_hci_acl_cnt
+
+2 mem_hci_acl_tx_trigger_wptr //tx via uart
+
+
+1 mem_hci_curr_len
+2 mem_hci_curr_target 
+) 
+
+xmemalloc(
+
+2 mem_baud
+1 mem_hci_lt_rx_state
+)
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
Index: ZJL_pm8_BLE&BT/format/kscan_peipherals.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/kscan_peipherals.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/kscan_peipherals.format	(working copy)
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
Index: ZJL_pm8_BLE&BT/format/l2cap.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/l2cap.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/l2cap.format	(working copy)
@@ -0,0 +1,442 @@
+
+memalloc(
+0 mem_l2cap_mem_start
+// L2CAP RX 
+2 mem_l2cap_rxbuff1_len
+2 mem_l2cap_rxbuff2_len
+2 mem_l2cap_rxbuff_new
+1 mem_l2cap_rxbuff_inuse
+2 mem_l2cap_payload_ptr
+2 mem_l2cap_rx_pkt_length
+2 mem_l2cap_rx_cid
+1 mem_l2cap_rx_done
+
+
+
+// L2CAP TX Signal channel
+2 mem_l2cap_signal_tx_buff_ptr
+2 mem_l2cap_signal_tx_payload_ptr
+2 mem_l2cap_signal_tx_length
+// L2CAP TX SDP channel
+2 mem_sdp_tx_buff_ptr
+2 mem_sdp_tx_payload_ptr
+2 mem_sdp_tx_pkt_length
+// L2CAP TX RFCOMM channel
+2 mem_rfcomm_tx_buff_ptr
+2 mem_rfcomm_tx_payload_ptr
+2 mem_rfcomm_tx_pkt_length
+
+
+
+//L2CAP Util
+
+2 memL2CAP_T1
+
+1 mem_CONTROL_tasks
+1 mem_send_config_req
+
+
+1 mem_config_identifier
+2 mem_config_req_dest_CID
+1 mem_rfcomm_malloc_fail_flag
+
+//L2CAP STATE MACHINE
+1 mem_message_to_uppersm
+1 mem_upper_sm_remote_page
+1 mem_upper_sm_reconn
+1 mem_upper_sm_ss
+
+
+64 mem_tx_malloc_log
+0 mem_l2cap_mem_end
+
+
+2 mem_scid
+2 mem_cmd_length
+2 mem_tt2
+2 mem_tt3
+2 mem_id
+2 mem_psm
+
+
+4 mem_l2cap_sdpres_delay_time
+)
+
+xmemalloc(
+0 mem_l2cap_xmem_start
+//*******************L2CAP TX MULTI-PACKET*********************//
+2 mem_l2cap_tx_multi_offset //0 means single packet
+
+//*******************CHANNEL ID*********************//
+2 mem_sdp_remote_cid
+2 mem_rfcomm_remote_cid
+2 mem_hid_ctrl_remote_cid
+2 mem_hid_int_remote_cid
+//*******************CHANNEL STATE*********************//
+1 mem_sdp_state
+1 mem_rfcomm_state
+1 mem_hid_control_state
+1 mem_hid_interrupt_state
+1 mem_spp_state
+1 mem_ML2CAP_comm_id
+
+//*******************L2CAP malloc********************//
+1 mem_used_map
+0 mem_tx_fifo0
+1 mem_tx_fifo0_map
+2 mem_tx_fifo0_ptr
+0 mem_tx_fifo1
+1 mem_tx_fifo1_map
+2 mem_tx_fifo1_ptr
+0 mem_tx_fifo2
+1 mem_tx_fifo2_map
+2 mem_tx_fifo2_ptr
+0 mem_tx_fifo3
+1 mem_tx_fifo3_map
+2 mem_tx_fifo3_ptr
+0 mem_tx_fifo_end
+256 mem_l2cap_lpm_txbuf
+//*******************MISC*********************//
+1 mem_l2cap_flow_ctrl_flag
+1 mem_l2cap_pending_item
+0 mem_l2cap_xmem_end
+
+)
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
Index: ZJL_pm8_BLE&BT/format/le.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/le.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/le.format	(working copy)
@@ -0,0 +1,724 @@
+
+memalloc(
+56 mem_le_rxbuf
+262 mem_le_l2capbuf
+
+
+/* security temp */
+4 mem_le_mic
+4 mem_le_peer_mic
+//8 mem_le_skdm
+//8 mem_le_skds
+16 mem_le_peer_ltk
+16 mem_le_mrand
+
+
+/* ========= le context =========== */
+1 mem_le_state
+1 mem_le_mode
+2 mem_le_tsniff
+4 mem_le_anchor
+6 mem_le_clk_offset
+2 mem_le_receive_window
+6 mem_le_plap
+1 mem_le_conn_handle
+1 mem_le_arq
+1 mem_le_ch
+1 mem_le_hop
+2 mem_le_event_count
+4 mem_le_supervision_timer
+2 mem_le_instant
+1 mem_le_channels
+1 mem_le_op
+
+	/* these 3 should NOT be seperated */
+4 mem_le_access
+3 mem_le_crcinit
+1 mem_le_window_size
+
+	/* these 3 should NOT be seperated */
+2 mem_le_slave_latency
+2 mem_le_superto
+5 mem_le_channel_map
+
+2 mem_le_no_using
+1 mem_le_peer_sca
+
+/* should be together */
+1 mem_le_att_opcode
+2 mem_le_att_handle
+
+1 mem_le_err_code
+1 mem_le_ll_pairing_fail_reason
+
+16 mem_le_sk
+
+/* test */
+1 mem_le_testtype
+2 mem_le_test_sync
+2 mem_le_test_pcnt
+
+6 mem_le_rxon_ts
+
+1 mem_le_rx_ll_opcode
+
+2 mem_le_notify_attr_start
+1 mem_le_notify_len
+
+1 mem_cmd_le_create_conn
+
+2 mem_le_cur_attlist_start_ptr
+2 mem_le_cur_handle_start
+2 mem_le_cur_handle_end
+1 mem_le_cur_uuid_length
+16 mem_le_cur_uuid
+
+1 mem_le_curr_att_len
+1 mem_le_search_res
+
+1 mem_le_continue_type
+
+)
+
+
+xmemalloc(
+2 mem_le_dsniff
+
+// parameters
+2 mem_le_conn_interval
+1 mem_le_scan_enable
+2 mem_le_scan_interval
+2 mem_le_scan_window
+
+1 mem_le_adv_enable
+1 mem_le_adv_data_len
+31 mem_le_adv_data
+1 mem_le_scan_data_len
+31 mem_le_scan_data
+
+//modified name
+1 mem_le_name_len
+30 mem_le_name
+
+
+5 mem_le_new_map
+0 mem_le_new_param
+1 mem_le_new_transmitwindowsize
+2 mem_le_new_transmitwindowoffset
+2 mem_le_new_conninterval
+2 mem_le_new_connslavelatency
+2 mem_le_new_connsupervisiontimeout
+
+1 mem_le_txheader
+1 mem_le_txlen
+2 mem_le_txpayload
+2 mem_le_txcid
+1 mem_le_l2cap
+1 mem_le_l2cap_response
+31 mem_le_txbdy
+
+/* smp related */
+5 mem_le_pcnt_tx
+5 mem_le_pcnt_rx
+4 mem_le_last_mic
+4 mem_le_ivm
+4 mem_le_ivs
+16 mem_le_ltk
+1 mem_ltk_exists
+16 mem_le_rconfirm
+16 mem_le_srand
+1 mem_le_iat
+1 mem_le_rat
+1 mem_le_preq
+1 mem_le_preq_iocap
+1 mem_le_preq_oob
+1 mem_le_preq_auth
+1 mem_le_preq_max_keysize
+1 mem_le_preq_init_key_distribution
+1 mem_le_preq_resp_key_distribution
+1 mem_le_pres
+1 mem_le_pres_iocap
+1 mem_le_pres_oob
+1 mem_le_pres_auth
+1 mem_le_pres_max_keysize
+1 mem_le_pres_init_key_distribution
+1 mem_le_pres_resp_key_distribution
+
+/* att related */
+2 mem_le_search_handle_start
+2 mem_le_search_handle_end
+0 mem_le_att_offset
+1 mem_le_search_att_type_length
+16 mem_le_search_att_type
+2 mem_le_notify_handle
+1 mem_le_search_uuid_length
+16 mem_le_search_uuid
+
+
+//START of LE adv parameter structure
+0 mem_le_adv_param
+2 mem_le_adv_interval
+1 mem_le_adv_type
+1 mem_le_adv_own_addr_type
+1 mem_le_adv_direct_addr_type
+6 mem_le_adv_direct_addr
+1 mem_le_adv_channel_map
+//END of LE adv parameter structure
+
+//START of LE conn parameter structure
+0 mem_le_conn_param
+1 mem_le_conn_peer_addr_type
+6 mem_le_conn_peer_addr
+1 mem_le_conn_own_addr_type
+2 mem_le_interval_min
+2 mem_le_interval_max
+2 mem_le_latency
+2 mem_le_timeout
+//START of LE conn parameter structure
+
+//START of LE scan parameter structure
+0 mem_le_scan_params
+1 mem_le_scan_type
+1 mem_le_scan_own_addr_type
+//END of LE scan parameter structure
+
+3 mem_le_lap
+1 mem_le_uap
+2 mem_le_nap
+
+
+2 mem_le_local_mtu
+2 mem_le_remote_mtu
+
+8 mem_le_skdm
+8 mem_le_skds
+
+2 mem_le_init_superto
+2 mem_ui_le_uuid_table
+
+1 mem_le_secure_connect_enable
+1 mem_le_secure_connect_flag
+1 mem_le_sc_calc
+1 mem_le_secure_connect_state
+1 mem_le_sc_confirm_gkey_flag
+1 mem_le_sc_local_key_invalid
+
+
+1 mem_le_pairing_state
+1 mem_le_enc_state
+1 mem_le_pairing_mode
+4 mem_le_tk
+2 mem_le_ediv
+8 mem_le_rand
+16 mem_le_irk
+
+//LE attribute list
+4 mem_le_transmit_window
+
+//ble General configuration 
+1 mem_le_configuration
+16 mem_le_fixed_ltk
+2 mem_le_pairing_handle
+
+//for continue
+2 mem_le_l2cap_size
+1 mem_le_packet_len_recved
+
+//for fifo
+1 mem_le_tx_buff_used
+2 mem_le_tx_ptr0
+2 mem_le_tx_ptr1
+2 mem_le_tx_ptr2
+2 mem_le_tx_ptr3
+
+//ble gatt signaling
+1 mem_le_signaling_identifier
+2 mem_le_l2cap_signaling_conn_param_update_rsp_result
+
+1 mem_le_packet_size
+1 mem_le_packet_llid
+2 mem_le_payload_ptr
+
+1 mem_le_md_count
+
+)
+
+
+(
+0x000001 param_le_features
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	0X2A50 UUID_CHRCTR_PNP_ID	
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
Index: ZJL_pm8_BLE&BT/format/lmp.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/lmp.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/lmp.format	(working copy)
@@ -0,0 +1,224 @@
+
+memalloc(
+
+1 mem_lmo_header_length
+1 mem_lmo_header_opcode
+17 mem_lmo_payload
+1 mem_lmi_accepted_opcode
+1 mem_disconn_reason_send
+1 mem_tx_fixed_freq
+1 mem_rx_fixed_freq
+1 mem_ext_features_page
+2 mem_lmpext_ssp_enable
+1 mem_remote_sppcap
+
+1 mem_lmp_conn_state
+2 mem_soft_timer
+1 mem_pincode_state
+
+1 mem_sres_tid
+1 mem_accptsco_tid
+
+1 mem_auth_enable
+1 mem_wait_encryption
+
+16 mem_sniff_payload
+4 mem_aurand_send_delay_time
+)
+
+xmemalloc(
+3 mem_lmp_version
+2 mem_lmp_subversion
+1 mem_local_name_length
+3 mem_local_name
+64 mem_local_name2
+1 mem_local_name_end
+1 mem_unsniff2sniff_timer
+1 mem_switch_flag
+1 mem_classic_bt_flag
+)
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
Index: ZJL_pm8_BLE&BT/format/memblocks.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/memblocks.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/memblocks.format	(working copy)
@@ -0,0 +1,64 @@
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+ifndef REVD 
+(
+0x4b00 memk
+)
+
+
+endif
+
Index: ZJL_pm8_BLE&BT/format/patch.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/patch.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/patch.format	(working copy)
@@ -0,0 +1,516 @@
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
Index: ZJL_pm8_BLE&BT/format/regs.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/regs.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/regs.format	(working copy)
@@ -0,0 +1,302 @@
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+ifdef REVD
+  0x8700 memk
+endif
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x890a  rf_iq_gain
+  0x890b  rf_agc_nsat
+  0x890f  rf_adc_goff
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa_ib
+  0x8956 rf_tx_pa_gc
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
Index: ZJL_pm8_BLE&BT/format/rfcomm.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/rfcomm.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/rfcomm.format	(working copy)
@@ -0,0 +1,391 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+memalloc(
+1 memRemoteRPNBitRate
+1 memRemotePRNDataBits
+1 memRemotePRNStopBit
+1 memRemotePRNParity
+1 memRemotePRNFlowControl
+1 memRemotePRNXon
+1 memRemotePRNXoff
+
+
+3 mem_mod2div_temp
+2 mem_contw_temp
+2 mem_attrib_list
+
+//rfcomm head
+1 mem_current_adss
+1 mem_current_channel
+1 mem_current_frame_type
+1 mem_current_fcs
+2 mem_current_length
+2 mem_rfcomm_uih_payload_ptr
+
+//rfcomm uih
+1 mem_uih_cmd_type
+2 mem_uih_length
+2 mem_param_payload_ptr
+
+
+//rfcomm modem status
+1 mem_ms_param
+
+//rfcomm pn
+1 mem_pn_credit_flow_type_info
+1 mem_pn_priority
+1 mem_pn_acknowledg_timer
+1 mem_pn_max_retrans
+
+1 mem_rfcomm_send_adss
+1 mem_rfcomm_send_frame_type
+1 mem_rfcomm_send_fcs
+1 mem_rfcomm_send_offset
+
+)
+
+xmemalloc(
+1 mem_pn_dlci
+2 mem_pn_max_frame_size
+
+1 memFCStemp1
+1 memFCStemp2
+1 memFCStemp3
+
+1 mem_rfcomm_initiator
+
+1 mem_remote_spp_channel
+
+1 mem_HIUfcs_SPP
+1 mem_HIUfcs_SPP_WCredits
+
+1 mem_rfcomm_send_more_pkt
+
+1 mem_remote_credits
+1 mem_credit_given
+
+//rfcomm modem status
+1 mem_ms_channel
+
+1 mem_credit_flag
+
+2 mem_rfcomm_max_frame_size
+1 mem_rfcomm_credit_init_data
+
+2 mem_cb_receive_spp_data
+
+2 mem_nl_rx_data_src
+2 mem_nl_rx_len_all
+)
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
\ No newline at end of file
Index: ZJL_pm8_BLE&BT/format/sdp.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/sdp.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/sdp.format	(working copy)
@@ -0,0 +1,70 @@
+
+memalloc(
+0 mem_sdp_mem_start
+8 mem_sdp_uuid_search_ptr
+2 mem_sdp_continue_byte
+1 mem_sdp_pduid
+2 mem_sdp_transactionid
+2 mem_sdp_transactionid_local
+2 mem_sdp_attribute_maxbyte
+2 mem_sdp_record_maxcnt
+4 mem_sdp_record_handle
+1 mem_sdp_LACAP_found
+1 mem_sdp_RFCOMM_found
+0 mem_sdp_handle_list
+32 mem_sdp_attrib_list
+2 mem_sdp_error_code
+2 mem_sdp_all_length
+1 mem_handle_humber
+2 mem_search_uuid
+0 mem_sdp_mem_end
+)
+xmemalloc(
+2 mem_ui_uuid_table
+22 mem_all_uuid_16bits
+34 mem_all_uuid_128bits
+2 mem_sdp_l2capch_ptr
+)
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
Index: ZJL_pm8_BLE&BT/format/security.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/security.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/security.format	(working copy)
@@ -0,0 +1,141 @@
+
+memalloc(
+/* moved from bt.format for 3dh5 1021bytes packet buffer */
+17 mem_rxbuf
+
+16 mem_random_number
+16 mem_round_key
+16 mem_kinit
+
+16 mem_input_store
+16 mem_x
+15 mem_y
+1 mem_y15
+17 mem_key_store
+1 mem_key_store_end
+2 memp_ar_key
+2 memp_ar_input
+10 mem_ar_hround
+
+
+1 mem_ec_infinite
+2 mem_ec_loopc
+1 mem_aes_cmac_data_length
+
+0 memdat
+/* ecc calculation */
+
+24 mem_ax
+24  mem_ay
+24  mem_az
+24 mem_bx
+0 mem_ax_256 //32 bytes
+24 mem_by
+8 mem_bz
+16 mem_ay_256 // 32 bytes
+16 mem_cx
+8 mem_az_256 // 32 bytes
+23 mem_cy
+1 mem_cy5
+0 mem_bx_256 // 32 bytes
+24 mem_cz
+8  mem_k
+16 mem_by_256 // 31 bytes
+16 mem_align
+
+0 mem_bz_256  //32 bytes
+0 mem_tmp1
+24 memahbak
+8 mem_tmp5
+0 mem_cx_256  //32 bytes
+16 memahsave
+16  mem_tmp2
+0 mem_cy_256  // 32 bytes
+0  memahsave_end 
+1  mem_addr_padding 
+7   mem_addr_value         /* 12 bytes     */ 
+0 mem_tmp3
+5 mem_t1
+3  mem_addr_value_end   
+15 mem_addr_iocap_end
+1 mem_cy5_256 // 1 byte
+0 mem_cz_256 // 32 bytes
+0 mem_tmp0
+8 mem_t0
+16 mem_tmp0a
+8  mem_t2
+16 mem_k_256 //32 bytes
+16 mem_t3
+8  mem_tmp1_256 //32 bytes
+24 mem_t7
+
+
+32 mem_tmp5_256
+32  mem_tmp2_256
+0 mem_tmp3_256
+32 mem_t1_256
+0 mem_tmp0_256
+32 mem_t0_256
+32 mem_t2_256
+32 mem_t3_256
+32 mem_t7_256
+
+24 mem_p		
+24 mem_a
+24 mem_b
+24 mem_gx
+24 mem_gy
+32 memh0
+
+//p256
+//2 mem_ec_loopc_256
+//32 mem_ax_256
+//32 mem_ay_256
+//32 mem_az_256
+//32 mem_bx_256
+//32 mem_by_256
+//32 mem_bz_256
+//32 mem_cx_256
+//31 mem_cy_256
+//1 mem_cy5_256
+//32 mem_cz_256
+//32 mem_k_256
+
+
+//32 mem_tmp1_256
+//32 mem_tmp5_256
+//32  mem_tmp2_256
+
+//0 mem_tmp3_256
+//32 mem_t1_256
+//0 mem_tmp0_256
+//32 mem_t0_256
+//32 mem_t2_256
+//32 mem_t3_256
+//32 mem_t7_256
+
+32 mem_p_256		
+32 mem_a_256
+32 mem_gx_256
+32 mem_gy_256
+//4 mem_le_keyid
+16 mem_le_slat
+
+
+//64 mem_regext
+//1 mem_regext_index
+
+//16 mem_le_mackey
+
+
+//1 mem_AES_CMAC_flag
+//16 mem_AES_CMAC_temp
+//16 mem_AES_CMAC_M_last
+
+//4 mem_le_gkey
+
+//16 mem_le_r
+
+)
+
+
Index: ZJL_pm8_BLE&BT/format/simple_pairing.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/simple_pairing.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/simple_pairing.format	(working copy)
@@ -0,0 +1,188 @@
+/* simple pairing page */
+
+memalloc(
+
+//4 mem_hci_ssp_mode
+0 mem_sp_state_start
+1 mem_sp_state
+1 mem_master_sp_state
+1 mem_sp_flag
+1 mem_master_sp_flag
+1 mem_sp_calc
+1 mem_sp_dh_ready
+1 mem_sp_localsm
+1 mem_pairing_auth
+
+0 mem_sp_flag_start
+1 mem_sp_local_key_send_count
+1 mem_sp_remote_key_recv_count
+1 mem_sp_remote_key_invalid
+1 mem_sp_dhkey_invalid
+
+
+4 mem_gkey
+
+
+8 mem_le_pubkey_remote_x_256
+0 mem_sp_pubkey_remote
+24 mem_sp_pubkey_remote_x
+0 mem_sp_pubkey_remote_x_end
+8 mem_le_pubkey_remote_y_256
+24 mem_sp_pubkey_remote_y
+
+8 mem_le_dhkey_256
+24 mem_sp_dhkey
+0 mem_sp_dhkey_end
+
+16 mem_sp_random_local
+0 mem_sp_random_local_end
+16 mem_sp_random_remote
+0 mem_sp_random_remote_end
+0 memresult
+0 mem_sp_calc_result
+4 memh
+4 memg
+4 memf
+4 meme
+0 mem_sp_calc_result_high
+4 memd
+4 memc
+4 memb
+4 mema
+16 mem_sp_check_result
+16 mem_sp_confirm_remote
+16 mem_sp_prarm_stack
+)
+
+xmemalloc(
+1 mem_sp_local_key_invalid
+
+
+32 mem_le_private_key_256
+32 mem_le_pubkey_local_x_256
+32 mem_le_pubkey_local_y_256
+
+24 mem_sp_private_key
+0 mem_sp_pubkey_local
+24 mem_sp_pubkey_local_x
+0 mem_sp_pubkey_local_x_end
+24 mem_sp_pubkey_local_y
+
+1 mem_ssp_enable
+3 mem_sp_iocap_local
+3 mem_sp_iocap_remote
+
+1 mem_flag_mode_ssp_pin
+1 mem_ssp_mode_flag
+1 mem_authentication_passkey_times
+1 mem_passkey_1bit
+1 mem_flag_pairing_state
+
+)
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
Index: ZJL_pm8_BLE&BT/format/ui.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/ui.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/ui.format	(working copy)
@@ -0,0 +1,448 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+memalloc(
+2 mem_UI_data_txbuff_length
+
+1 mem_ipc_skip_continue_proc
+0 mem_ui_timer_temp  //length 4
+4 mem_ipc_rega_temp
+) 
+
+xmemalloc(
+//UI Work area
+1 mem_ipc_lock_bt
+1 mem_ipc_lock_c51
+8 mem_ipc_fifo_bt2c51
+8 mem_ipc_fifo_c512bt
+
+1 mem_ui_button_timer
+1 mem_ui_button_last_state
+4 mem_ui_timer_last_btclk
+2 mem_discovery_timeout_timer_count
+1 mem_hid_handshake_timer_count
+1 memui_reconnect_mode
+2 mem_ui_state_map
+
+//UI Config area
+1 mem_ui_profile_supported
+1 mem_ui_button_timeout
+1 mem_ui_button_gpio
+2 mem_discovery_timeout
+1 mem_pin_length
+16 mem_pin
+
+)
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
Index: ZJL_pm8_BLE&BT/format/utility.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/utility.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/utility.format	(working copy)
@@ -0,0 +1,381 @@
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+memalloc(
+
+/*
+    temp parameter
+*/
+2 mem_hold_contr
+2 mem_hold_contw
+1 mem_fifo_temp
+
+8 mem_pdatatemp
+8 mem_temp //8 bytes
+4 mem_timeup // 4 bytes
+4 mem_rega //4 bytes
+4 mem_regb //4 bytes
+3 mem_regc //3 bytes
+2 mem_contr //2 bytes
+2 mem_contw //2 bytes
+
+1 mem_wakup_from_power_flag
+4 mem_saved_gpio_in
+
+0 mem_shutter_random_mac_data_temp
+0 mem_shutter_config_data_temp
+0 mem_le_adv_channel_map_temp
+0 mem_le_data_len_temp	//1byte
+0 mem_tx_fifo_map_temp
+0 mem_rpn_dlci		//1byte
+0 mem_event_cmd_response_content	//2byte
+0 mem_le_prand		//16byte
+0 mem_AES_CMAC_k	 //16 bytes
+0 mem_regext_index 	//1 bytes
+1 mem_temp_block0
+0 mem_le_data_temp	//15bytes
+15 mem_temp_block1
+0 mem_le_aes_128	//16byte
+0 mem_regext   //64 bytes
+0 mem_AES_CMAC_k1  //16 bytes
+16 mem_temp_block2
+0 mem_AES_CMAC_k2  //16 bytes
+16 mem_temp_block3
+0 mem_AES_CMAC_temp  // 16 bytes
+16 mem_temp_block4
+0 mem_AES_CMAC_M_last // 16 bytes
+1 mem_module_uart_cmd
+1 mem_module_uart_opcode
+1 mem_module_uart_len
+1 mem_module_temp_nl_discard_packet
+12 mem_temp_block5
+0 mem_le_mackey //16 bytes
+0 mem_app_receive_temp
+2 mem_key_value_temp
+2 mem_key_value
+1 mem_key_value_temp1
+1 mem_key_value_temp2
+1 mem_key_value_temp3
+1 mem_key_value_temp4
+1 mem_key_value_temp5
+1 mem_key_value_temp6
+6 mem_temp_block6
+
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+
+2 mem_data_pre
+2 mem_data_current
+3 mem_data_sum
+
+//zcode
+1 mem_zcode_temp_param0	//zcode num
+2 mem_zcode_temp_param1	//patch ram func addr
+2 mem_zcode_temp_param2	//patch ram func addr
+
+
+ifdef DEBUGLOG
+1   mem_debuglog_temp
+1   mem_debuglog_type
+1	mem_debuglog_datalen
+2	mem_debuglog_dataval
+2	mem_debuglog_datatype
+1	mem_debuglog_tail
+8	mem_debuglog_pdata
+endif
+
+)
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+0x1f00 mem_zcode_buff   
+
+
+256 ZCODE_BUFF_SIZE
+64 ZCODE_CODE_SIZE
+0xff ZCODE_FLAG
+
+0x00 ZCODE_00
+0x01 ZCODE_01
+0x02 ZCODE_02
+0x03 ZCODE_03
+0x04 ZCODE_04
+0x05 ZCODE_05
+0x06 ZCODE_06
+0x07 ZCODE_07
+0x10 ZCODE_10
+0x11 ZCODE_11
+0x12 ZCODE_12
+0x13 ZCODE_13
+0x14 ZCODE_14
+0x15 ZCODE_15
+0x16 ZCODE_16
+0x17 ZCODE_17
+0x20 ZCODE_20
+0x21 ZCODE_21
+0x22 ZCODE_22
+0x23 ZCODE_23
+0x24 ZCODE_24
+0x25 ZCODE_25
+0x26 ZCODE_26
+0x27 ZCODE_27 
+0x30 ZCODE_30
+0x31 ZCODE_31
+0x32 ZCODE_32
+0x33 ZCODE_33
+0x34 ZCODE_34
+0x35 ZCODE_35
+0x36 ZCODE_36
+0x37 ZCODE_37 
+0x40 ZCODE_40
+0x41 ZCODE_41
+0x42 ZCODE_42
+0x43 ZCODE_43
+0x44 ZCODE_44
+0x45 ZCODE_45
+0x46 ZCODE_46
+0x47 ZCODE_47
+0x50 ZCODE_50
+0x51 ZCODE_51
+0x52 ZCODE_52
+0x53 ZCODE_53
+0x54 ZCODE_54
+0x55 ZCODE_55
+0x56 ZCODE_56
+0x57 ZCODE_57
+0x60 ZCODE_60
+0x61 ZCODE_61
+0x62 ZCODE_62
+0x63 ZCODE_63
+0x64 ZCODE_64
+0x65 ZCODE_65
+0x66 ZCODE_66
+0x67 ZCODE_67
+0x70 ZCODE_70
+0x71 ZCODE_71
+0x72 ZCODE_72
+0x73 ZCODE_73
+0x74 ZCODE_74
+0x75 ZCODE_75
+0x76 ZCODE_76
+0x77 ZCODE_77
+0x80 ZCODE_80
+0x81 ZCODE_81
+0x82 ZCODE_82
+0x83 ZCODE_83
+0x84 ZCODE_84
+0x85 ZCODE_85
+0x86 ZCODE_86
+0x87 ZCODE_87
+0x90 ZCODE_90
+0x91 ZCODE_91
+0x92 ZCODE_92
+0x93 ZCODE_93
+0x94 ZCODE_94
+0x95 ZCODE_95
+0x96 ZCODE_96
+0x97 ZCODE_97
+0xA0 ZCODE_A0
+0xA1 ZCODE_A1
+0xA2 ZCODE_A2
+0xA3 ZCODE_A3
+0xA4 ZCODE_A4
+0xA5 ZCODE_A5
+0xA6 ZCODE_A6
+0xA7 ZCODE_A7
+0xB0 ZCODE_B0
+0xB1 ZCODE_B1
+0xB2 ZCODE_B2
+0xB3 ZCODE_B3
+0xB4 ZCODE_B4
+0xB5 ZCODE_B5
+0xB6 ZCODE_B6
+0xB7 ZCODE_B7
+0xC0 ZCODE_C0
+0xC1 ZCODE_C1
+0xC2 ZCODE_C2
+0xC3 ZCODE_C3
+0xC4 ZCODE_C4
+0xC5 ZCODE_C5
+0xC6 ZCODE_C6
+0xC7 ZCODE_C7
+0xd0 ZCODE_D0
+0xd1 ZCODE_D1
+0xe0 ZCODE_e0
+0xe1 ZCODE_e1
+0xe2 ZCODE_e2
+
+
+
Index: ZJL_pm8_BLE&BT/format/var.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/var.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/format/var.format	(working copy)
@@ -0,0 +1,442 @@
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
Index: ZJL_pm8_BLE&BT/output/bt_format.meta
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_format.meta	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_format.meta	(working copy)
@@ -0,0 +1,9395 @@
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_power_on_flag//forbid to move this variable
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_le_rx_window_inc
+0x478e mem_empty_count
+0x478f mem_rf_init_data_new
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
+0x47c4 mem_mouse_le_conn_param_reject
+0x47c5 mem_lpm_mult_init
+0x47c6 mem_mouse_le_uuid_sup
+0x4806 mem_mouse_wheel_trigger
+0x4807 mem_mouse_wheel_trigger_timer
+0x4808 mem_mouse_enter_sniff_count
+0x4809 mem_mouse_send_switch_req_timer
+0x480a mem_le_tx_buffer0_omemalloc
+0x4825 mem_le_tx_buffer1_omemalloc
+0x4840 mem_le_tx_buffer2_omemalloc
+0x485b mem_le_tx_buffer3_omemalloc
+0x4876 mem_mouse_uuid_list
+0x4afc mem_lmi_opcode_temp
+0x4afd mem_mouse_adc_last_low_voltage_flag
+0x4afe mem_mouse_init_sensor_reset_flag
+0x4aff mem_bt_rcvd_switch_req_accept
+0x4b00 mem_bt_send_max_slot_req_accept_after_switch
+0x4b01 mem_bt_send_lmp_setup_complete
+0x4b02 mem_l2cap_rcv
+0x4b03 mem_mouse_bt_boot_mode
+0x4b04 mem_mouse_bt_boot_data
+0x4b09 mem_mouse_bt_send_first_package_timer
+0x4b0a mem_mouse_bt_send_first_package_flag
+0x4b0b mem_mouse_asm_flag
+0x4b0c mem_mouse_x_pre
+0x4b0e mem_mouse_y_pre
+0x4b10 mem_le_adv_swift_pair
+0x4b23 mem_24g_sw_gpio
+0x4b24 mem_mouse_multi_led_blink_enable
+0x4b25 mem_mouse_multi_led_gpio
+0x4b26 mem_mouse_multi_led_state
+0x4b27 mem_mouse_multi_led_type
+0x4b28 mem_mouse_multi_led_on_timer
+0x4b29 mem_mouse_multi_led_on_timer_init
+0x4b2a mem_mouse_multi_led_blink_timer_init
+0x4b2b mem_mouse_multi_led_blink_timer
+0x4b2c mem_mouse_multi_led_blink_count
+0x4b2d mem_mouse_multi_led_blink_count_limited
+0x4b2e mem_mouse_multi_led_on_poweron2s_flag
+0x4b2f mem_discovery_on_flag
+0x4b30 mem_bt_ui_button_timeout
+0x4b31 mem_bt_ui_button_count
+0x4b32 mem_mouse_priority_bb_event
+0x4b33 mem_mouse_le_parse_l2cap_ptr
+0x4b35 mem_low_power_no_data_off_led_time
+0x4b36 mem_low_power_led_blink_flag
+0x4b37 mem_mouse_3065xy_dpi_seting
+0x4b37 mem_3065xy_dpi_1
+0x4b38 mem_3065xy_dpi_2
+0x4b39 mem_3065xy_dpi_3
+0x4b3a mem_3065xy_dpi_4
+0x4b3b mem_le_att_pnp_id_len
+0x4b3c mem_le_att_pnp_id
+0x4b43 mem_flash_ncs_gpio
+0x4b44 mem_select_ui_button_count
+0x4b45 mem_mouse_g24_led_timer
+0x4b46 mem_mouse_bt_ble_poweron_led_timer
+0x4b47 mem_mouse_bt_ble_led_timer
+0x4b48 mem_device_blink_led_state
+0x4b49 mem_24g_device_led_status
+0x4b4a mem_device_24g_led_gpio
+0x4b4b mem_device_bt_led_gpio
+0x4b4c mem_write_flash_head_temp
+0x4b50 mem_mouse_poweron_led_timer
+0x4b51 mem_mouse_24g_addr_init
+0x4b55 mem_mouse_bt_reconnect_flag
+0x4b56 mem_retry_count
+0x4b57 mem_24g_attempt_count
+0x4b58 mem_bt_125hz_cnt
+0x4b59 mem_mouse_no_data_led_timeout
+0x4b5b mem_mouse_dpi_blink_count
+0x4b5c mem_mouse_discovery_blink_count
+0x4b5d mem_mouse_24g_pair_timer
+0x4b5e mem_mouse_vdd_0v
+0x4b60 mem_select_device_button_press_flag
+0x4b61 mem_mouse_fast_conn_flag
+0x4b62 mem_mouse_long_mult_flag
+0x4b63 mem_mouse_current_mult_timer
+0x4b64 mem_24g_long_sleep_param_update_timer
+0x4b65 mem_zcode_current_number
+0x4b66 mem_xip_flash_offset
+0x4b69 mem_flash_start_addr
+0x4b6c mem_flash_address
+0x4b6f mem_zcode_head
+0x4b73 mem_24g_rxbuf
+0x4b95 mem_24g_txbuf
+0x4bb5 mem_24g_txpayload
+0x4bd7 mem_24g_rxpayload
+0x4bf7 mem_24g_rxdata_length
+0x4bf8 mem_24g_pid
+0x4bf9 mem_24g_datalen
+0x4bfa mem_24g_data_type
+0x4bfb mem_24g_txlen
+0x4bfc mem_24g_rx_window
+0x4bfe mem_24g_ensure
+0x4bff mem_24g_txfail_cnt
+0x4c01 mem_24g_get_ack_fail
+0x4c02 mem_24g_retry
+0x4c03 mem_24g_ch
+0x4c04 mem_24g_current_ch_number
+0x4c05 mem_24g_paring_addr
+0x4c09 mem_24g_pairing_sm
+0x4c0a mem_24g_ch_map1
+0x4c0e mem_24g_ch_map2
+0x4c12 mem_24g_ch_map3
+0x4c16 mem_24g_ch_map4
+0x4c1a mem_24g_tx_btclk
+0x4c1e mem_24g_interval
+0x4c1f mem_24g_interval_min
+0x4c20 mem_24g_interval_max
+0x4c21 mem_24g_addr
+0x4c25 mem_24g_abort_pac
+0x4c26 mem_24g_check_dongle_times
+0x4c28 mem_24g_enter_hibernate
+0x4c30 mem_24g_device_addr
+0x4c34 mem_24g_pac_index
+0x4c35 mem_24g_no_ack
+0x4c36 mem_24g_sta_crc
+0x4c39 mem_24g_last_crc
+0x4c3c mem_24g_sta_pid
+0x4c3d mem_24g_last_pid
+0x4c3e mem_24g_max_retry
+0x4c3f mem_24g_mode
+0x4c40 mem_24g_rxdata_temp
+0x4c62 mem_24g_rx_addr
+0x4c66 mem_dongle_mode_init
+0x4c67 mem_dongle_work_mode
+0x4c68 mem_dongle_ms_bind_step
+0x4c69 mem_dongle_kb_bind_step
+0x4c6a mem_dongle_bind_device_status
+0x4c6b mem_24g_bind_payload
+0x4c73 mem_24g_abort_packet
+0x4c74 mem_24g_rf_laststa
+0x4c75 mem_24g_hop_btclk
+0x4c79 mem_24g_hop_interval
+0x4c7a mem_24g_mode_switch
+0x4c7b mem_24g_ackpayload_enable
+0x4c7c mem_24g_hop_packet
+0x4c7d mem_24g_pair_mode
+0x4c7e mem_24g_nodata_timer_enable
+0x4c7f mem_24g_time_slice
+0x4c80 mem_24g_kb_data_sta_data
+0x4c88 mem_24g_kb_data_last_data
+0x4c90 mem_24g_kb_multikey_sta_data
+0x4c93 mem_24g_kb_multikey_last_data
+0x4c96 mem_24g_kb_blank_data_enable
+0x4c97 mem_24g_kb_mul_blank_data_enable
+0x4c98 mem_24g_ms_blank_data_enable
+0x4c99 mem_24g_kb_addr
+0x4c9d mem_24g_ms_addr
+0x4ca1 mem_24g_dg_last_ch
+0x4ca2 mem_24g_dg_ch_number
+0x4ca3 mem_24g_dg_config_ch_once
+0x4ca4 mem_24g_kb_last_ch
+0x4ca5 mem_24g_kb_ch_number
+0x4ca6 mem_24g_kb_config_ch_once
+0x4ca7 mem_24g_ms_last_ch
+0x4ca8 mem_24g_ms_ch_number
+0x4ca9 mem_24g_ms_config_ch_once
+0x4caa mem_24g_syncword
+0x4cac mem_24g_syncword_crc8
+0x4cad mem_24g_get_syncword_crc8
+0x4cae mem_24g_ota_sta_pid
+0x4cb0 mem_tx_power_temp
+0x4cb1 mem_rssi_hex
+0x4cb2 mem_rssi_noise_avg
+0x4cb3 mem_rssi_noise_index
+0x4cb4 mem_rssi_signal_index
+0x4cb5 mem_rssi_noise_dg_avg
+0x4cb6 mem_rssi_noise_kb_avg
+0x4cb7 mem_rssi_noise_ms_avg
+0x4cb8 mem_rssi_noise_dg_index
+0x4cb9 mem_rssi_noise_kb_index
+0x4cba mem_rssi_noise_ms_index
+0x4cbb mem_rssi_signal_buf
+0x4cc3 mem_queue_ele_num
+0x4cc4 mem_queue_read
+0x4cc6 mem_queue_write
+0x4cc8 mem_queue_start
+0x4cc8 mem_data_ele0
+0x4ce8 mem_data_ele1
+0x4d08 mem_data_ele2
+0x4d28 mem_queue_end
+0x4d28 mem_queue_temp
+0x4d2a mem_cb_24g_data
+0x4d2c mem_24g_hop_fastly_cnt
+0x4d2d mem_24g_hop_pac_retry
+0x4d2e mem_24g_rf_hop_ch
+0x4d2f mem_24g_rf_last_sta
+0x4d30 mem_24g_rf_work_stage
+0x4d31 mem_24g_sync_cnt
+0x4d32 mem_power_ctrl_pac_succ_cnt
+0x4d33 mem_rssi_avg_received
+0x4d34 mem_rssi_hex_received
+0x4d35 mem_power_ctrl_level
+0x4d36 mem_seqi
+0x4d37 mem_24g_auto_paring_switch
+0x4d38 mem_24g_paccnt
+0x4d39 mem_24g_transmit_by_interrupt
+0x4d3a mem_24g_transmit_by_interrupt_exit_count
+0x4d3c mem_24g_transmit_by_interrupt_exit_count_init
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+
+
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 24Mhz clock setting */
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x0600 param_rf_setup
+0x0600 param_conn_access 
+0x03bb param_clke_cal
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+45 mark_role_switch_receive_fhs
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer չ
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
+
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
+
+
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
+
+
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
+
+0x022b mem_init_cnt
+//dpi eeprom addr
+
+
+
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X03 MOUSE_LR_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a MA8650_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0X07 MA8650
+
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+4 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+6 LE_INTERVAL_7_5MS//7.5ms
+12 CLASSIC_INTERVAL_7_5MS
+14 CLASSIC_INTERVAL_8_75MS
+18 CLASSIC_INTERVAL_11_25MS
+)
+
+(
+0xb9 FLASH_COMMAND_DEEP_POWER_DOWN
+0xab FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+(
+0 DIS_BUTTON_UP
+1 DIS_BT_BUTTON
+2 DIS_COMM_BUTTON
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x0ea600 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
+)
+(
+//PB button state 
+0x00 PB_BUTTON_STATE_DOWN
+0x01 PB_BUTTON_STATE_UP
+)
+
+(
+0x02 MODE_G24_DEVICE
+)
+
+
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
+
+
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
+
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+
+(
+0x1A0 AT_baud_115200
+0x4e2 AT_baud_38400
+0x1388 AT_baud_9600
+)
+
+(
+0x4e00 mem_module_rx_buf//0x400
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x01 BIND_ACKPAYLOAD
+0x02 USER_ACKPAYLOAD
+
+0xcf CMD_OTA
+0xc0 CMD_OTA_START
+0xc1 CMD_OTA_DATA
+0xc2 CMD_OTA_EXIT
+0x55 OTA_STA_SUCCESS
+0xaa OTA_STA_FAIL
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
+
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	뵥ز
+0x82 COM_TEST_CD		// fcc
+0x83 COM_TEST_DAT		// ݲ
+0X84 COM_TEST_LOW_CH  //Ƶ
+0X85 COM_TEST_MID_CH	//Ƶ
+0X86 COM_TEST_HIG_CH	//Ƶ
+0X87 COM_TEST_SW_HIG	//ԶлƵΪ 1mhz
+0X88 COIM_TEST_SW_LOW	//ԶлƵΪ 1mhz
+0X89 COM_TEST_SW_STOP	//ֹͣԶлƵ
+0X8A COM_TEST_POW_5		//5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//˳ģʽ
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+12210 G24_4MS_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
+
+
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
+
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
+
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+
+
+
+
+(
+0x000001 param_le_features
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	0X2A50 UUID_CHRCTR_PNP_ID	
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
+
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+  0x8700 memk
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x890a  rf_iq_gain
+  0x890b  rf_agc_nsat
+  0x890f  rf_adc_goff
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa_ib
+  0x8956 rf_tx_pa_gc
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
+
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+
+
+/* simple pairing page */
+
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_data_pre
+0x11c0 mem_data_current
+0x11c2 mem_data_sum
+0x11c5 mem_zcode_temp_param0//zcode num
+0x11c6 mem_zcode_temp_param1//patch ram func addr
+0x11c8 mem_zcode_temp_param2//patch ram func addr
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+0x1f00 mem_zcode_buff   
+
+
+256 ZCODE_BUFF_SIZE
+64 ZCODE_CODE_SIZE
+0xff ZCODE_FLAG
+
+0x00 ZCODE_00
+0x01 ZCODE_01
+0x02 ZCODE_02
+0x03 ZCODE_03
+0x04 ZCODE_04
+0x05 ZCODE_05
+0x06 ZCODE_06
+0x07 ZCODE_07
+0x10 ZCODE_10
+0x11 ZCODE_11
+0x12 ZCODE_12
+0x13 ZCODE_13
+0x14 ZCODE_14
+0x15 ZCODE_15
+0x16 ZCODE_16
+0x17 ZCODE_17
+0x20 ZCODE_20
+0x21 ZCODE_21
+0x22 ZCODE_22
+0x23 ZCODE_23
+0x24 ZCODE_24
+0x25 ZCODE_25
+0x26 ZCODE_26
+0x27 ZCODE_27 
+0x30 ZCODE_30
+0x31 ZCODE_31
+0x32 ZCODE_32
+0x33 ZCODE_33
+0x34 ZCODE_34
+0x35 ZCODE_35
+0x36 ZCODE_36
+0x37 ZCODE_37 
+0x40 ZCODE_40
+0x41 ZCODE_41
+0x42 ZCODE_42
+0x43 ZCODE_43
+0x44 ZCODE_44
+0x45 ZCODE_45
+0x46 ZCODE_46
+0x47 ZCODE_47
+0x50 ZCODE_50
+0x51 ZCODE_51
+0x52 ZCODE_52
+0x53 ZCODE_53
+0x54 ZCODE_54
+0x55 ZCODE_55
+0x56 ZCODE_56
+0x57 ZCODE_57
+0x60 ZCODE_60
+0x61 ZCODE_61
+0x62 ZCODE_62
+0x63 ZCODE_63
+0x64 ZCODE_64
+0x65 ZCODE_65
+0x66 ZCODE_66
+0x67 ZCODE_67
+0x70 ZCODE_70
+0x71 ZCODE_71
+0x72 ZCODE_72
+0x73 ZCODE_73
+0x74 ZCODE_74
+0x75 ZCODE_75
+0x76 ZCODE_76
+0x77 ZCODE_77
+0x80 ZCODE_80
+0x81 ZCODE_81
+0x82 ZCODE_82
+0x83 ZCODE_83
+0x84 ZCODE_84
+0x85 ZCODE_85
+0x86 ZCODE_86
+0x87 ZCODE_87
+0x90 ZCODE_90
+0x91 ZCODE_91
+0x92 ZCODE_92
+0x93 ZCODE_93
+0x94 ZCODE_94
+0x95 ZCODE_95
+0x96 ZCODE_96
+0x97 ZCODE_97
+0xA0 ZCODE_A0
+0xA1 ZCODE_A1
+0xA2 ZCODE_A2
+0xA3 ZCODE_A3
+0xA4 ZCODE_A4
+0xA5 ZCODE_A5
+0xA6 ZCODE_A6
+0xA7 ZCODE_A7
+0xB0 ZCODE_B0
+0xB1 ZCODE_B1
+0xB2 ZCODE_B2
+0xB3 ZCODE_B3
+0xB4 ZCODE_B4
+0xB5 ZCODE_B5
+0xB6 ZCODE_B6
+0xB7 ZCODE_B7
+0xC0 ZCODE_C0
+0xC1 ZCODE_C1
+0xC2 ZCODE_C2
+0xC3 ZCODE_C3
+0xC4 ZCODE_C4
+0xC5 ZCODE_C5
+0xC6 ZCODE_C6
+0xC7 ZCODE_C7
+0xd0 ZCODE_D0
+0xd1 ZCODE_D1
+0xe0 ZCODE_e0
+0xe1 ZCODE_e1
+0xe2 ZCODE_e2
+
+
+
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: ZJL_pm8_BLE&BT/output/bt_program23.icode
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.icode	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.icode	(working copy)
@@ -0,0 +1,27163 @@
+ 00000000  0x00000047 branch  0x00000040 
+ 00000001  0x0000004e call  0x00000415 
+ 00000002  0x0000004f fetch  0x00000001 , 0x000041de 
+ 00000003  0x00000050 store  0x00000001 , 0x00004cb0 
+ 00000004  0x00000051 call  0x0000070c 
+ 00000005  0x00000052 fetch  0x00000001 , 0x00004685 
+ 00000006  0x00000053 store  0x00000001 , 0x00004b44 
+ 00000007  0x00000054 fetch  0x00000001 , 0x00004b30 
+ 00000008  0x00000055 store  0x00000001 , 0x00004b31 
+ 00000009  0x00000056 call  0x000043ca 
+ 00000010  0x00000057 call  0x00000310 
+ 00000011  0x00000058 call  0x0000079b 
+ 00000012  0x00000059 call  0x0000000f 
+ 00000013  0x0000005a call  0x00000022 
+ 00000014  0x0000005b branch  0x00000334 
+ 00000015  0x0000005e setarg  0x000003e7 
+ 00000016  0x0000005f store  0x00000002 , 0x00004d2a 
+ 00000017  0x00000060 setarg  0x00000401 
+ 00000018  0x00000061 store  0x00000002 , 0x000041ef 
+ 00000019  0x00000062 setarg  0x0000064b 
+ 00000020  0x00000063 store  0x00000002 , 0x000041f9 
+ 00000021  0x00000064 setarg  0x00000430 
+ 00000022  0x00000065 store  0x00000002 , 0x000041f1 
+ 00000023  0x00000066 setarg  0x000002bc 
+ 00000024  0x00000067 store  0x00000002 , 0x000041ed 
+ 00000025  0x00000068 setarg  0x0000046d 
+ 00000026  0x00000069 store  0x00000002 , 0x000041f5 
+ 00000027  0x0000006a setarg  0x00000458 
+ 00000028  0x0000006b store  0x00000002 , 0x000041f3 
+ 00000029  0x0000006c setarg  0x000004a1 
+ 00000030  0x0000006d store  0x00000002 , 0x000041eb 
+ 00000031  0x0000006e setarg  0x000004a8 
+ 00000032  0x0000006f store  0x00000002 , 0x000041fd 
+ 00000033  0x00000070 rtn 
+ 00000034  0x00000073 setarg  0x00000019 
+ 00000035  0x00000074 store  0x00000002 , 0x00004d3c 
+ 00000036  0x00000075 ncall  0x0000002a , 0x0000002b 
+ 00000037  0x00000076 call  0x00000312 
+ 00000038  0x00000077 call  0x00000331 
+ 00000039  0x00000079 fetch  0x00000001 , 0x0000471f 
+ 00000040  0x0000007a store  0x00000001 , 0x0000471e 
+ 00000041  0x0000007b rtn 
+ 00000042  0x0000007d setarg  0x00000177 
+ 00000043  0x0000007e store  0x00000002 , 0x00004d3c 
+ 00000044  0x0000007f rtn 
+ 00000045  0x00000081 nop  0x00000001 
+ 00000046  0x00000082 nop  0x00000001 
+ 00000047  0x00000083 nop  0x00000001 
+ 00000048  0x00000084 nop  0x00000001 
+ 00000049  0x00000085 nop  0x00000001 
+ 00000050  0x00000086 nop  0x00000001 
+ 00000051  0x00000087 nop  0x00000001 
+ 00000052  0x00000088 nop  0x00000001 
+ 00000053  0x00000089 nop  0x00000001 
+ 00000054  0x0000008a nop  0x00000001 
+ 00000055  0x0000008b nop  0x00000001 
+ 00000056  0x0000008c nop  0x00000001 
+ 00000057  0x0000008d nop  0x00000001 
+ 00000058  0x0000008e nop  0x00000001 
+ 00000059  0x0000008f nop  0x00000001 
+ 00000060  0x00000090 nop  0x00000001 
+ 00000061  0x00000091 nop  0x00000001 
+ 00000062  0x00000092 nop  0x00000001 
+ 00000063  0x00000093 nop  0x00000001 
+ 00000064  0x00000096 bbit1  0x00000008 , 0x00000058 
+ 00000065  0x00000098 beq  0x00000001 , 0x00000075 
+ 00000066  0x00000099 beq  0x00000002 , 0x0000007e 
+ 00000067  0x0000009a beq  0x00000085 , 0x00000778 
+ 00000068  0x0000009b beq  0x00000089 , 0x00000749 
+ 00000069  0x0000009c beq  0x0000001b , 0x00000664 
+ 00000070  0x0000009d beq  0x00000026 , 0x00000666 
+ 00000071  0x0000009e beq  0x00000048 , 0x00000681 
+ 00000072  0x0000009f beq  0x0000004a , 0x00000688 
+ 00000073  0x000000a0 beq  0x00000051 , 0x00000691 
+ 00000074  0x000000a1 beq  0x00000059 , 0x0000067f 
+ 00000075  0x000000a2 beq  0x000000a7 , 0x00000696 
+ 00000076  0x000000a3 beq  0x000000ad , 0x000006af 
+ 00000077  0x000000a4 beq  0x000000cb , 0x000033e4 
+ 00000078  0x000000a5 beq  0x000000e9 , 0x000006c0 
+ 00000079  0x000000a6 beq  0x000000a1 , 0x00000087 
+ 00000080  0x000000a7 beq  0x000000b1 , 0x0000008c 
+ 00000081  0x000000a8 beq  0x000000b2 , 0x00000096 
+ 00000082  0x000000a9 beq  0x000000c4 , 0x000002df 
+ 00000083  0x000000aa beq  0x000000e6 , 0x0000057a 
+ 00000084  0x000000ab beq  0x000000ea , 0x00000594 
+ 00000085  0x000000ac beq  0x000000eb , 0x0000059a 
+ 00000086  0x000000ad beq  0x000000ec , 0x000005a1 
+ 00000087  0x000000ae branch  0x00002a8e 
+ 00000088  0x000000b0 beq  0x00000039 , 0x000005aa 
+ 00000089  0x000000b1 beq  0x00000043 , 0x000005b2 
+ 00000090  0x000000b2 beq  0x0000004a , 0x000005b8 
+ 00000091  0x000000b3 beq  0x00000057 , 0x000005bb 
+ 00000092  0x000000b4 beq  0x00000059 , 0x000005bd 
+ 00000093  0x000000b5 beq  0x00000063 , 0x000005bf 
+ 00000094  0x000000b6 beq  0x00000066 , 0x000005e9 
+ 00000095  0x000000b7 beq  0x00000067 , 0x00000600 
+ 00000096  0x000000b8 beq  0x0000006a , 0x00000636 
+ 00000097  0x000000b9 beq  0x00000077 , 0x00000641 
+ 00000098  0x000000ba beq  0x00000005 , 0x000006c2 
+ 00000099  0x000000bb beq  0x00000080 , 0x000006c4 
+ 00000100  0x000000bc beq  0x00000082 , 0x000006ce 
+ 00000101  0x000000bd beq  0x00000088 , 0x000006d0 
+ 00000102  0x000000be beq  0x0000008c , 0x00000651 
+ 00000103  0x000000bf beq  0x0000008d , 0x0000065d 
+ 00000104  0x000000c0 beq  0x000000a0 , 0x00000531 
+ 00000105  0x000000c1 beq  0x000000fa , 0x000006f4 
+ 00000106  0x000000c2 branch  0x00002a8e 
+ 00000107  0x000000c6 copy  0x0000003f , 0x00000011 
+ 00000108  0x000000c7 fetcht  0x00000001 , 0x00004cb4 
+ 00000109  0x000000c8 setarg  0x00004cbb 
+ 00000110  0x000000c9 iadd  0x00000002 , 0x00000005 
+ 00000111  0x000000ca copy  0x00000011 , 0x0000003f 
+ 00000112  0x000000cb istore  0x00000001 , 0x00000005 
+ 00000113  0x000000cc increase  0x00000001 , 0x00000002 
+ 00000114  0x000000cd and_into  0x00000007 , 0x00000002 
+ 00000115  0x000000ce storet  0x00000001 , 0x00004cb4 
+ 00000116  0x000000cf rtn 
+ 00000117  0x000000d2 arg  0x000009ae , 0x00000005 
+ 00000118  0x000000d3 arg  0x0000000c , 0x00000039 
+ 00000119  0x000000d4 call  0x00007ed4 
+ 00000120  0x000000d5 call  0x000003f8 
+ 00000121  0x000000d6 call  0x00006a03 
+ 00000122  0x000000d7 call  0x00005cf6 
+ 00000123  0x000000d8 ncall  0x00002c65 , 0x0000002b 
+ 00000124  0x000000d9 call  0x00007ccd 
+ 00000125  0x000000da branch  0x0000200c 
+ 00000126  0x000000dd call  0x000032e3 , 0x0000002b 
+ 00000127  0x000000de call  0x0000756a 
+ 00000128  0x000000df call  0x00002b41 , 0x0000002b 
+ 00000129  0x000000e1 call  0x000076dc 
+ 00000130  0x000000e2 fetch  0x00000001 , 0x0000465a 
+ 00000131  0x000000e3 branch  0x00002012 , 0x00000034 
+ 00000132  0x000000e4 fetch  0x00000001 , 0x000045b1 
+ 00000133  0x000000e5 branch  0x00000081 , 0x00000034 
+ 00000134  0x000000e6 branch  0x00002012 
+ 00000135  0x000000e9 setarg  0x00000a06 
+ 00000136  0x000000ea store  0x00000003 , 0x00004510 
+ 00000137  0x000000eb setarg  0x00001d87 
+ 00000138  0x000000ec store  0x00000002 , 0x00004513 
+ 00000139  0x000000ed branch  0x00002aa2 
+ 00000140  0x000000f0 rtnmark1  0x00000026 
+ 00000141  0x000000f1 fetch  0x00000001 , 0x0000479c 
+ 00000142  0x000000f2 beq  0x00000000 , 0x00007fef 
+ 00000143  0x000000f3 fetch  0x00000001 , 0x000047c4 
+ 00000144  0x000000f4 beq  0x00000001 , 0x00007fef 
+ 00000145  0x000000f5 fetch  0x00000002 , 0x00004248 
+ 00000146  0x000000f6 nbranch  0x00007fef , 0x00000034 
+ 00000147  0x000000f7 fetch  0x00000001 , 0x00004806 
+ 00000148  0x000000f8 nbranch  0x00007fef , 0x00000034 
+ 00000149  0x000000f9 branch  0x00007ff1 
+ 00000150  0x000000fd rtnmark0  0x00000026 
+ 00000151  0x000000fe fetch  0x00000001 , 0x00004d39 
+ 00000152  0x000000ff beq  0x00000001 , 0x000000ae 
+ 00000153  0x00000101 call  0x00000145 
+ 00000154  0x00000102 nbranch  0x000000ca , 0x00000028 
+ 00000155  0x00000103 call  0x0000012c 
+ 00000156  0x00000105 call  0x00000169 
+ 00000157  0x00000106 fetch  0x00000001 , 0x00004c09 
+ 00000158  0x00000107 rtnne  0x000000ff 
+ 00000159  0x00000108 call  0x0000071d 
+ 00000160  0x00000109 call  0x000000aa 
+ 00000161  0x0000010a fetch  0x00000001 , 0x00004b26 
+ 00000162  0x0000010b beq  0x00000001 , 0x000003ea 
+ 00000163  0x0000010d call  0x000000d5 
+ 00000164  0x0000010e nrtn  0x00000028 
+ 00000165  0x0000010f call  0x000002c3 
+ 00000166  0x00000110 setarg  0x0000ec54 
+ 00000167  0x00000112 call  0x00007f49 
+ 00000168  0x00000113 storet  0x00000004 , 0x0000415b 
+ 00000169  0x00000114 branch  0x00002b2a 
+ 00000170  0x00000119 setarg  0x00017700 
+ 00000171  0x0000011a store  0x00000003 , 0x00004c28 
+ 00000172  0x0000011b jam  0x00000014 , 0x00004b64 
+ 00000173  0x0000011c rtn 
+ 00000174  0x00000121 call  0x0000028e 
+ 00000175  0x00000122 nrtn  0x00000028 
+ 00000176  0x00000123 call  0x000000c4 
+ 00000177  0x00000124 fetch  0x00000002 , 0x00004d3a 
+ 00000178  0x00000125 increase  0x00000001 , 0x0000003f 
+ 00000179  0x00000126 store  0x00000002 , 0x00004d3a 
+ 00000180  0x00000127 fetcht  0x00000002 , 0x00004d3c 
+ 00000181  0x00000128 isub  0x00000002 , 0x0000003e 
+ 00000182  0x00000129 call  0x000000b8 , 0x00000005 
+ 00000183  0x0000012a branch  0x00000099 
+ 00000184  0x0000012c jam  0x00000000 , 0x00004d39 
+ 00000185  0x0000012d setarg  0x00000000 
+ 00000186  0x0000012e store  0x00000002 , 0x00004d3a 
+ 00000187  0x0000012f setarg  0x00000064 
+ 00000188  0x00000130 store  0x00000002 , 0x00004d3c 
+ 00000189  0x00000132 jam  0x00000000 , 0x00004c34 
+ 00000190  0x00000133 fetch  0x00000001 , 0x00004c1f 
+ 00000191  0x00000134 store  0x00000001 , 0x00004c1e 
+ 00000192  0x00000135 rtn 
+ 00000193  0x00000137 fetch  0x00000001 , 0x00004c20 
+ 00000194  0x00000138 store  0x00000001 , 0x00004c1e 
+ 00000195  0x00000139 rtn 
+ 00000196  0x0000013b fetch  0x00000001 , 0x00004c34 
+ 00000197  0x0000013c increase  0x00000001 , 0x0000003f 
+ 00000198  0x0000013d store  0x00000001 , 0x00004c34 
+ 00000199  0x0000013e beq  0x00000004 , 0x000000c1 
+ 00000200  0x0000013f beq  0x00000005 , 0x000000bd 
+ 00000201  0x00000140 rtn 
+ 00000202  0x00000143 fetch  0x00000001 , 0x00004c25 
+ 00000203  0x00000144 call  0x000000de , 0x00000034 
+ 00000204  0x00000146 fetch  0x00000001 , 0x000046cf 
+ 00000205  0x00000147 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00000206  0x00000148 rtn  0x00000002 
+ 00000207  0x00000149 call  0x000000d5 
+ 00000208  0x0000014a nrtn  0x00000028 
+ 00000209  0x0000014b fetch  0x00000003 , 0x00004c28 
+ 00000210  0x0000014c call  0x00007f49 
+ 00000211  0x0000014d storet  0x00000004 , 0x0000415b 
+ 00000212  0x0000014e branch  0x00002b2a 
+ 00000213  0x00000151 enable  0x00000028 
+ 00000214  0x00000152 call  0x00002afa 
+ 00000215  0x00000153 fetch  0x00000003 , 0x0000416f 
+ 00000216  0x00000154 branch  0x00007fe9 , 0x00000034 
+ 00000217  0x00000155 fetch  0x00000001 , 0x00004091 
+ 00000218  0x00000156 branch  0x00007fe9 , 0x00000034 
+ 00000219  0x00000157 fetch  0x00000001 , 0x00004d39 
+ 00000220  0x00000158 beq  0x00000001 , 0x00007fe9 
+ 00000221  0x00000159 branch  0x000002c6 
+ 00000222  0x0000015c jam  0x00000001 , 0x00004c25 
+ 00000223  0x0000015d jam  0x00000000 , 0x00004d2e 
+ 00000224  0x0000015e call  0x000000f1 
+ 00000225  0x0000015f store  0x00000001 , 0x00004b95 
+ 00000226  0x00000160 setarg  0x00000000 
+ 00000227  0x00000161 store  0x00000007 , 0x00004b96 
+ 00000228  0x00000162 fetch  0x00000004 , 0x00004c30 
+ 00000229  0x00000163 store  0x00000004 , 0x00004b9d 
+ 00000230  0x00000164 jam  0x0000000c , 0x00004bf9 
+ 00000231  0x00000165 fetch  0x00000001 , 0x00004bfa 
+ 00000232  0x00000166 set1  0x00000003 , 0x0000003f 
+ 00000233  0x00000167 store  0x00000001 , 0x00004bfa 
+ 00000234  0x00000168 call  0x00000148 
+ 00000235  0x00000169 branch  0x0000009c 
+ 00000236  0x0000016c fetch  0x00000004 , 0x000040a0 
+ 00000237  0x0000016d store  0x00000004 , 0x00004c30 
+ 00000238  0x0000016e rtn 
+ 00000239  0x00000171 jam  0x00000001 , 0x00004d2f 
+ 00000240  0x00000172 jam  0x00000000 , 0x00004d31 
+ 00000241  0x00000174 fetch  0x00000001 , 0x00004bfa 
+ 00000242  0x00000175 and_into  0x00000007 , 0x0000003f 
+ 00000243  0x00000176 store  0x00000001 , 0x00004bfa 
+ 00000244  0x00000177 rtn 
+ 00000245  0x0000017a fetch  0x00000001 , 0x00004bfa 
+ 00000246  0x0000017b set1  0x00000004 , 0x0000003f 
+ 00000247  0x0000017c store  0x00000001 , 0x00004bfa 
+ 00000248  0x0000017e store  0x00000001 , 0x00004bb5 
+ 00000249  0x0000017f rtn 
+ 00000250  0x00000181 fetch  0x00000001 , 0x00004bfa 
+ 00000251  0x00000182 set0  0x00000004 , 0x0000003f 
+ 00000252  0x00000183 store  0x00000001 , 0x00004bfa 
+ 00000253  0x00000184 store  0x00000001 , 0x00004bb5 
+ 00000254  0x00000185 call  0x00000713 
+ 00000255  0x00000186 call  0x00000206 
+ 00000256  0x00000187 rtn 
+ 00000257  0x0000018a call  0x00000713 
+ 00000258  0x0000018b fetch  0x00000001 , 0x00004d30 
+ 00000259  0x0000018c beq  0x00000001 , 0x00000106 
+ 00000260  0x0000018d beq  0x00000002 , 0x0000010a 
+ 00000261  0x0000018e rtn 
+ 00000262  0x00000190 jam  0x00000002 , 0x00004d31 
+ 00000263  0x00000192 jam  0x00000000 , 0x00004d2d 
+ 00000264  0x00000193 jam  0x00000000 , 0x00004d2f 
+ 00000265  0x00000194 branch  0x000000f1 
+ 00000266  0x00000197 jam  0x00000000 , 0x00004d2e 
+ 00000267  0x00000198 branch  0x00000107 
+ 00000268  0x0000019c fetch  0x00000002 , 0x00004bff 
+ 00000269  0x0000019d increase  0x00000001 , 0x0000003f 
+ 00000270  0x0000019e store  0x00000002 , 0x00004bff 
+ 00000271  0x0000019f bbit1  0x0000000a , 0x000001a7 
+ 00000272  0x000001a0 fetch  0x00000001 , 0x00004d2e 
+ 00000273  0x000001a1 beq  0x00000001 , 0x00000115 
+ 00000274  0x000001a2 jam  0x00000001 , 0x00004d2e 
+ 00000275  0x000001a4 fetch  0x00000001 , 0x00004d2e 
+ 00000276  0x000001a5 bne  0x00000001 , 0x000000f1 
+ 00000277  0x000001a7 fetch  0x00000001 , 0x00004d2c 
+ 00000278  0x000001a8 increase  0x00000001 , 0x0000003f 
+ 00000279  0x000001a9 store  0x00000001 , 0x00004d2c 
+ 00000280  0x000001aa beq  0x00000004 , 0x0000011c 
+ 00000281  0x000001ab call  0x00000206 
+ 00000282  0x000001ac jam  0x00000002 , 0x00004c3e 
+ 00000283  0x000001ad branch  0x00000169 
+ 00000284  0x000001b0 call  0x00000713 
+ 00000285  0x000001b1 jam  0x00000000 , 0x00004d2c 
+ 00000286  0x000001b2 branch  0x000000f1 
+ 00000287  0x000001b5 jam  0x00000002 , 0x00004d31 
+ 00000288  0x000001b7 jam  0x00000001 , 0x00004d2f 
+ 00000289  0x000001b8 jam  0x00000000 , 0x00004d2e 
+ 00000290  0x000001b9 branch  0x000000f1 
+ 00000291  0x000001bc fetch  0x00000001 , 0x00004d30 
+ 00000292  0x000001bd beq  0x00000003 , 0x00000120 
+ 00000293  0x000001be fetch  0x00000001 , 0x00004bfa 
+ 00000294  0x000001bf isolate0  0x00000004 , 0x0000003f 
+ 00000295  0x000001c0 branch  0x000000ef , 0x00000001 
+ 00000296  0x000001c1 fetch  0x00000001 , 0x00004d30 
+ 00000297  0x000001c2 beq  0x00000001 , 0x0000011f 
+ 00000298  0x000001c3 beq  0x00000002 , 0x00000120 
+ 00000299  0x000001c4 rtn 
+ 00000300  0x000001c7 fetch  0x00000001 , 0x00004c09 
+ 00000301  0x000001c8 rtnne  0x000000ff 
+ 00000302  0x000001c9 call  0x00000131 
+ 00000303  0x000001ca ncall  0x00000139 , 0x0000002c 
+ 00000304  0x000001cb rtn 
+ 00000305  0x000001ce disable  0x0000002c 
+ 00000306  0x000001cf fetch  0x00000001 , 0x00004d2f 
+ 00000307  0x000001d0 rtnne  0x00000001 
+ 00000308  0x000001d1 fetch  0x00000001 , 0x00004d31 
+ 00000309  0x000001d2 rtnne  0x00000000 
+ 00000310  0x000001d3 jam  0x00000001 , 0x00004d30 
+ 00000311  0x000001d4 jam  0x00000004 , 0x00004c3e 
+ 00000312  0x000001d5 branch  0x00007feb 
+ 00000313  0x000001d8 fetch  0x00000001 , 0x00004d31 
+ 00000314  0x000001d9 branch  0x00000140 , 0x00000034 
+ 00000315  0x000001da increase  0xffffffff , 0x0000003f 
+ 00000316  0x000001db store  0x00000001 , 0x00004d31 
+ 00000317  0x000001dc jam  0x00000002 , 0x00004d30 
+ 00000318  0x000001dd jam  0x00000004 , 0x00004c3e 
+ 00000319  0x000001de branch  0x00000206 
+ 00000320  0x000001e1 jam  0x00000003 , 0x00004d30 
+ 00000321  0x000001e2 fetch  0x00000001 , 0x00004d2e 
+ 00000322  0x000001e3 nbranch  0x00000113 , 0x00000034 
+ 00000323  0x000001e4 jam  0x00000002 , 0x00004c3e 
+ 00000324  0x000001e5 branch  0x00000206 
+ 00000325  0x000001e8 fetch  0x00000001 , 0x00004c09 
+ 00000326  0x000001e9 bne  0x000000ff , 0x000001bf 
+ 00000327  0x000001eb call  0x0000014b 
+ 00000328  0x000001ed call  0x000001f4 
+ 00000329  0x000001ee jam  0x00000001 , 0x00004bfe 
+ 00000330  0x000001ef rtn 
+ 00000331  0x000001f2 fetch  0x00000002 , 0x00004d2a 
+ 00000332  0x000001f3 call  0x00007f9c 
+ 00000333  0x000001f4 branch  0x00000151 , 0x00000028 
+ 00000334  0x000001f5 fetch  0x00000007 , 0x00004b96 
+ 00000335  0x000001f6 rtn  0x00000034 
+ 00000336  0x000001f7 branch  0x00007fe7 
+ 00000337  0x000001f9 call  0x000004a0 
+ 00000338  0x000001fa call  0x00000325 
+ 00000339  0x000001fb jam  0x00000000 , 0x00004c25 
+ 00000340  0x000001fc add  0x00000011 , 0x00000001 , 0x0000003f 
+ 00000341  0x000001fd store  0x00000001 , 0x00004bf9 
+ 00000342  0x000001fe call  0x000000f1 
+ 00000343  0x000001ff store  0x00000001 , 0x00004b95 
+ 00000344  0x00000200 ifetcht  0x00000001 , 0x00000005 
+ 00000345  0x00000201 ifetch  0x00000001 , 0x00000012 
+ 00000346  0x00000202 ior  0x00000002 , 0x0000003f 
+ 00000347  0x00000203 istore  0x00000001 , 0x00000005 
+ 00000348  0x00000204 increase  0x00000001 , 0x00000012 
+ 00000349  0x00000205 ifetch  0x00000004 , 0x00000012 
+ 00000350  0x00000206 istore  0x00000004 , 0x00000005 
+ 00000351  0x00000207 increase  0x00000004 , 0x00000012 
+ 00000352  0x00000208 arg  0x00004b9b , 0x00000005 
+ 00000353  0x00000209 arg  0x00000002 , 0x00000039 
+ 00000354  0x0000020b ifetch  0x00000001 , 0x00000012 
+ 00000355  0x0000020c ifetcht  0x00000001 , 0x00000005 
+ 00000356  0x0000020d iadd  0x00000002 , 0x0000003f 
+ 00000357  0x0000020e istore  0x00000001 , 0x00000005 
+ 00000358  0x0000020f increase  0x00000001 , 0x00000012 
+ 00000359  0x00000210 loop  0x00000162 
+ 00000360  0x00000211 rtn 
+ 00000361  0x00000214 jam  0x00000000 , 0x00004c02 
+ 00000362  0x00000216 arg  0x00000d00 , 0x0000000b 
+ 00000363  0x00000217 until  0x00000023 , 0x00000026 
+ 00000364  0x00000218 call  0x0000018b 
+ 00000365  0x00000219 fetch  0x00000001 , 0x00004c35 
+ 00000366  0x0000021a rtneq  0x00000001 
+ 00000367  0x0000021b nbranch  0x0000019a , 0x00000018 
+ 00000368  0x0000021c nbranch  0x0000019a , 0x0000002f 
+ 00000369  0x0000021d call  0x00000183 
+ 00000370  0x0000021e call  0x000001b8 
+ 00000371  0x0000021f call  0x0000070f 
+ 00000372  0x00000221 jam  0x00000000 , 0x00004b56 
+ 00000373  0x00000222 fetch  0x00000001 , 0x00004bf8 
+ 00000374  0x00000223 increase  0x00000001 , 0x0000003f 
+ 00000375  0x00000224 store  0x00000001 , 0x00004bf8 
+ 00000376  0x00000225 call  0x00000186 
+ 00000377  0x00000226 fetch  0x00000001 , 0x00004c09 
+ 00000378  0x00000227 bne  0x000000ff , 0x00000189 
+ 00000379  0x00000228 call  0x00000123 
+ 00000380  0x0000022a setarg  0x00000000 
+ 00000381  0x0000022b store  0x00000002 , 0x00004bff 
+ 00000382  0x0000022c store  0x00000001 , 0x00004c01 
+ 00000383  0x0000022d store  0x00000001 , 0x00004d2d 
+ 00000384  0x0000022e store  0x00000001 , 0x00004b5d 
+ 00000385  0x0000022f jam  0x00000000 , 0x00004bfe 
+ 00000386  0x00000230 rtn 
+ 00000387  0x00000233 arg  0x00000004 , 0x00000039 
+ 00000388  0x00000234 arg  0x00004b95 , 0x00000005 
+ 00000389  0x00000235 branch  0x00007ec6 
+ 00000390  0x00000238 fetch  0x00000001 , 0x00004bfa 
+ 00000391  0x00000239 bbit1  0x00000004 , 0x000000fa 
+ 00000392  0x0000023a rtn 
+ 00000393  0x0000023e call  0x0000070c 
+ 00000394  0x0000023f branch  0x000001c1 
+ 00000395  0x00000242 disable  0x0000002f 
+ 00000396  0x00000243 call  0x0000026d 
+ 00000397  0x00000246 fetch  0x00000001 , 0x00004c35 
+ 00000398  0x00000247 beq  0x00000001 , 0x00000198 
+ 00000399  0x00000248 force  0x00000000 , 0x00000015 
+ 00000400  0x00000249 fetch  0x00000004 , 0x00004c21 
+ 00000401  0x0000024a iforce  0x00000009 
+ 00000402  0x0000024b fetcht  0x00000001 , 0x00000017 
+ 00000403  0x0000024c call  0x0000291f 
+ 00000404  0x0000024d call  0x00002924 
+ 00000405  0x0000024e call  0x00000229 
+ 00000406  0x0000024f call  0x00000265 , 0x0000002f 
+ 00000407  0x00000250 rtn 
+ 00000408  0x00000252 call  0x00000265 
+ 00000409  0x00000253 branch  0x00000174 
+ 00000410  0x00000257 fetch  0x00000001 , 0x00004c25 
+ 00000411  0x00000258 nrtn  0x00000034 
+ 00000412  0x0000025a fetch  0x00000002 , 0x00004bff 
+ 00000413  0x0000025b increase  0x00000001 , 0x0000003f 
+ 00000414  0x0000025c store  0x00000002 , 0x00004bff 
+ 00000415  0x0000025d fetch  0x00000001 , 0x00004c00 
+ 00000416  0x0000025e bbit1  0x00000004 , 0x000001a9 
+ 00000417  0x00000260 fetch  0x00000001 , 0x00004c09 
+ 00000418  0x00000261 bne  0x000000ff , 0x000001a5 
+ 00000419  0x00000263 call  0x000001ae 
+ 00000420  0x00000264 branch  0x0000016a 
+ 00000421  0x00000267 fetch  0x00000001 , 0x00004bff 
+ 00000422  0x00000268 rtnne  0x000000ff 
+ 00000423  0x0000026a setarg  0x00000000 
+ 00000424  0x0000026b store  0x00000002 , 0x00004bff 
+ 00000425  0x0000026d jam  0x0000003a , 0x00000a99 
+ 00000426  0x0000026e branch  0x00007d86 
+ 00000427  0x00000271 call  0x00000740 
+ 00000428  0x00000272 call  0x00000713 
+ 00000429  0x00000273 branch  0x00000206 
+ 00000430  0x00000276 fetch  0x00000001 , 0x00004c02 
+ 00000431  0x00000277 sub  0x0000003f , 0x0000000b , 0x0000003e 
+ 00000432  0x00000278 nbranch  0x000001ab , 0x00000002 
+ 00000433  0x00000279 increase  0x00000001 , 0x0000003f 
+ 00000434  0x0000027a store  0x00000001 , 0x00004c02 
+ 00000435  0x0000027b beq  0x00000002 , 0x000000f5 
+ 00000436  0x0000027c beq  0x00000006 , 0x000000fa 
+ 00000437  0x0000027d beq  0x00000008 , 0x000000f5 
+ 00000438  0x0000027e beq  0x0000000c , 0x000000fa 
+ 00000439  0x0000027f rtn 
+ 00000440  0x00000282 call  0x000001d9 
+ 00000441  0x00000283 fetch  0x00000001 , 0x00004bf7 
+ 00000442  0x00000284 rtn  0x00000034 
+ 00000443  0x00000285 iforce  0x00000039 
+ 00000444  0x00000286 arg  0x00004b75 , 0x00000006 
+ 00000445  0x00000287 arg  0x00004bd7 , 0x00000005 
+ 00000446  0x00000288 branch  0x00007f01 
+ 00000447  0x0000028b jam  0x00000090 , 0x000011c5 
+ 00000448  0x0000028c branch  0x0000077a 
+ 00000449  0x0000028f jam  0x00000091 , 0x000011c5 
+ 00000450  0x00000290 branch  0x0000077a 
+ 00000451  0x00000293 jam  0x00000060 , 0x000011c5 
+ 00000452  0x00000294 branch  0x0000077a 
+ 00000453  0x00000297 jam  0x00000070 , 0x000011c5 
+ 00000454  0x00000298 branch  0x0000077a 
+ 00000455  0x0000029c jam  0x000000ff , 0x0000119e 
+ 00000456  0x0000029d fetch  0x00000001 , 0x00004bfa 
+ 00000457  0x0000029e store  0x00000001 , 0x0000119f 
+ 00000458  0x0000029f fetch  0x00000004 , 0x00004c30 
+ 00000459  0x000002a0 store  0x00000004 , 0x000011a0 
+ 00000460  0x000002a1 arg  0x00000006 , 0x00000002 
+ 00000461  0x000002a2 arg  0x0000119e , 0x00000011 
+ 00000462  0x000002a3 call  0x000001d4 
+ 00000463  0x000002a4 branch  0x000001f4 
+ 00000464  0x000002a8 set0  0x00000026 , 0x00000000 
+ 00000465  0x000002a9 call  0x000053ce 
+ 00000466  0x000002ab arg  0x00000003 , 0x00000007 
+ 00000467  0x000002ac branch  0x000043d2 
+ 00000468  0x000002af storet  0x00000001 , 0x00004bf9 
+ 00000469  0x000002b0 copy  0x00000002 , 0x00000039 
+ 00000470  0x000002b1 arg  0x00004b95 , 0x00000005 
+ 00000471  0x000002b2 copy  0x00000011 , 0x00000006 
+ 00000472  0x000002b3 branch  0x00007f01 
+ 00000473  0x000002b7 fetch  0x00000001 , 0x00004b74 
+ 00000474  0x000002b8 rshift3  0x0000003f , 0x0000003f 
+ 00000475  0x000002b9 store  0x00000001 , 0x00004bf7 
+ 00000476  0x000002bb increase  0x00000001 , 0x0000003f 
+ 00000477  0x000002bc arg  0x00004b74 , 0x00000006 
+ 00000478  0x000002bd iadd  0x00000006 , 0x00000006 
+ 00000479  0x000002be ifetch  0x00000003 , 0x00000006 
+ 00000480  0x000002bf store  0x00000003 , 0x00004c36 
+ 00000481  0x000002c1 fetch  0x00000001 , 0x00004b74 
+ 00000482  0x000002c2 rshift  0x0000003f , 0x0000003f 
+ 00000483  0x000002c3 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000484  0x000002c4 store  0x00000001 , 0x00004c3c 
+ 00000485  0x000002c5 rtn 
+ 00000486  0x000002c8 store  0x00000004 , 0x00004c21 
+ 00000487  0x000002cb arg  0x00000000 , 0x00000011 
+ 00000488  0x000002cc arg  0x00000004 , 0x00000039 
+ 00000489  0x000002cd arg  0x00004c21 , 0x00000006 
+ 00000490  0x000002cf ifetch  0x00000001 , 0x00000006 
+ 00000491  0x000002d0 iadd  0x00000011 , 0x00000011 
+ 00000492  0x000002d1 loop  0x000001ea 
+ 00000493  0x000002d2 copy  0x00000011 , 0x0000003f 
+ 00000494  0x000002d3 store  0x00000002 , 0x00004caa 
+ 00000495  0x000002d4 fetch  0x00000001 , 0x00004caa 
+ 00000496  0x000002d5 fetcht  0x00000001 , 0x00004cab 
+ 00000497  0x000002d6 iadd  0x00000002 , 0x0000003f 
+ 00000498  0x000002d7 store  0x00000001 , 0x00004cac 
+ 00000499  0x000002d8 rtn 
+ 00000500  0x000002dd fetch  0x00000001 , 0x00004bf9 
+ 00000501  0x000002de increase  0x00000002 , 0x0000003f 
+ 00000502  0x000002df store  0x00000001 , 0x00004bfb 
+ 00000503  0x000002e1 fetch  0x00000001 , 0x00004bfa 
+ 00000504  0x000002e2 store  0x00000001 , 0x00004bb5 
+ 00000505  0x000002e4 fetch  0x00000001 , 0x00004bf9 
+ 00000506  0x000002e5 lshift3  0x0000003f , 0x0000003f 
+ 00000507  0x000002e6 fetcht  0x00000001 , 0x00004bf8 
+ 00000508  0x000002e7 and  0x00000002 , 0x00000003 , 0x00000002 
+ 00000509  0x000002e8 lshift  0x00000002 , 0x00000002 
+ 00000510  0x000002e9 ior  0x00000002 , 0x0000003f 
+ 00000511  0x000002ea fetcht  0x00000001 , 0x00004c35 
+ 00000512  0x000002eb iadd  0x00000002 , 0x0000003f 
+ 00000513  0x000002ec istore  0x00000001 , 0x00000005 
+ 00000514  0x000002ee fetch  0x00000001 , 0x00004bf9 
+ 00000515  0x000002ef iforce  0x00000039 
+ 00000516  0x000002f0 arg  0x00004b95 , 0x00000006 
+ 00000517  0x000002f1 branch  0x00007f01 
+ 00000518  0x000002f4 fetcht  0x00000001 , 0x00004c04 
+ 00000519  0x000002f5 call  0x0000020a 
+ 00000520  0x000002f6 storet  0x00000001 , 0x00004c04 
+ 00000521  0x000002f7 rtn 
+ 00000522  0x000002fa call  0x0000020e 
+ 00000523  0x000002fb increase  0x00000001 , 0x00000002 
+ 00000524  0x000002fc and_into  0x00000003 , 0x00000002 
+ 00000525  0x000002fd rtn 
+ 00000526  0x00000300 fetch  0x00000001 , 0x00004c21 
+ 00000527  0x00000301 and_into  0x00000003 , 0x0000003f 
+ 00000528  0x00000302 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00000529  0x00000303 setarg  0x00004c0a 
+ 00000530  0x00000304 iadd  0x00000011 , 0x0000003f 
+ 00000531  0x00000305 iadd  0x00000002 , 0x00000006 
+ 00000532  0x00000306 ifetch  0x00000001 , 0x00000006 
+ 00000533  0x00000307 store  0x00000001 , 0x00004c03 
+ 00000534  0x00000308 rtn 
+ 00000535  0x0000030b disable  0x00000009 
+ 00000536  0x0000030c disable  0x00000007 
+ 00000537  0x0000030d setarg  0x00555555 
+ 00000538  0x0000030e iforce  0x0000000f 
+ 00000539  0x0000030f fetch  0x00000001 , 0x00004c03 
+ 00000540  0x00000310 reverse  0x0000003f , 0x00000002 
+ 00000541  0x00000311 set1  0x00000001 , 0x00000002 
+ 00000542  0x00000312 rshift  0x00000002 , 0x0000000e 
+ 00000543  0x00000313 rtn 
+ 00000544  0x00000316 call  0x000053c4 
+ 00000545  0x00000317 fetch  0x00000004 , 0x00004c21 
+ 00000546  0x00000318 iforce  0x00000009 
+ 00000547  0x00000319 call  0x00002918 
+ 00000548  0x0000031a fetcht  0x00000001 , 0x00004c03 
+ 00000549  0x0000031b call  0x0000291f 
+ 00000550  0x0000031c setarg  0x00000500 
+ 00000551  0x0000031d call  0x00002a8f 
+ 00000552  0x0000031e call  0x00002924 
+ 00000553  0x00000322 call  0x00000217 
+ 00000554  0x00000323 disable  0x0000002f 
+ 00000555  0x00000324 enable  0x0000000d 
+ 00000556  0x00000325 enable  0x00000021 
+ 00000557  0x00000326 disable  0x00000020 
+ 00000558  0x00000327 enable  0x00000010 
+ 00000559  0x00000328 fetch  0x00000002 , 0x00004bfc 
+ 00000560  0x00000329 iforce  0x0000001b 
+ 00000561  0x0000032a correlate  0x0000003e , 0x00000003 
+ 00000562  0x0000032b nbranch  0x00000269 , 0x00000018 
+ 00000563  0x0000032e disable  0x0000000d 
+ 00000564  0x0000032f enable  0x0000000b 
+ 00000565  0x00000330 enable  0x00000007 
+ 00000566  0x00000331 enable  0x00000009 
+ 00000567  0x00000332 call  0x00000262 
+ 00000568  0x00000333 store  0x00000001 , 0x00004cad 
+ 00000569  0x00000334 fetcht  0x00000001 , 0x00004cac 
+ 00000570  0x00000335 isub  0x00000002 , 0x0000003e 
+ 00000571  0x00000336 nbranch  0x00000265 , 0x00000005 
+ 00000572  0x00000337 call  0x00000262 
+ 00000573  0x00000338 store  0x00000001 , 0x00004b73 
+ 00000574  0x00000339 fetch  0x00000001 , 0x00004c3f 
+ 00000575  0x0000033a sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00000576  0x0000033b branch  0x00000245 , 0x00000005 
+ 00000577  0x0000033c fetch  0x00000001 , 0x00004b73 
+ 00000578  0x0000033d fetcht  0x00000001 , 0x00004bfa 
+ 00000579  0x0000033e icompare  0x00000007 , 0x00000002 
+ 00000580  0x0000033f nbranch  0x00000265 , 0x00000001 
+ 00000581  0x00000341 call  0x00000262 
+ 00000582  0x00000342 istore  0x00000001 , 0x00000005 
+ 00000583  0x00000343 rshift3  0x0000003f , 0x0000003f 
+ 00000584  0x00000344 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00000585  0x00000345 branch  0x0000024d , 0x00000005 
+ 00000586  0x00000347 call  0x00000262 
+ 00000587  0x00000348 istore  0x00000001 , 0x00000005 
+ 00000588  0x00000349 loop  0x0000024a 
+ 00000589  0x0000034c copy  0x00000005 , 0x00000011 
+ 00000590  0x0000034d call  0x00000262 
+ 00000591  0x0000034e store  0x00000001 , 0x00004d34 
+ 00000592  0x0000034f copy  0x00000011 , 0x00000005 
+ 00000593  0x00000350 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00000594  0x00000351 enable  0x00000010 
+ 00000595  0x00000352 arg  0x00000664 , 0x0000001b 
+ 00000596  0x00000353 rshift32  0x0000003f , 0x0000003f 
+ 00000597  0x00000354 rshift16  0x0000003f , 0x0000003f 
+ 00000598  0x00000355 istore  0x00000003 , 0x00000005 
+ 00000599  0x00000356 disable  0x0000000b 
+ 00000600  0x00000357 branch  0x00000265 , 0x00000006 
+ 00000601  0x0000035a enable  0x0000002f 
+ 00000602  0x0000035b fetch  0x00000001 , 0x00000017 
+ 00000603  0x0000035c add  0x0000003f , 0x00000000 , 0x00000011 
+ 00000604  0x0000035d call  0x00002981 
+ 00000605  0x0000035e disable  0x0000000d 
+ 00000606  0x0000035f call  0x00002918 
+ 00000607  0x00000360 fetch  0x00000001 , 0x00004d34 
+ 00000608  0x00000361 call  0x0000006b 
+ 00000609  0x00000362 rtn 
+ 00000610  0x00000365 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000611  0x00000366 rshift3  0x0000000c , 0x0000003f 
+ 00000612  0x00000367 rtn 
+ 00000613  0x0000036a disable  0x0000001b 
+ 00000614  0x0000036b disable  0x0000000b 
+ 00000615  0x0000036c call  0x0000264d 
+ 00000616  0x0000036d rtn 
+ 00000617  0x00000370 branch  0x00000265 
+ 00000618  0x00000373 call  0x00002918 
+ 00000619  0x00000374 fetcht  0x00000001 , 0x00004c03 
+ 00000620  0x00000375 branch  0x00002933 
+ 00000621  0x00000378 call  0x000053c4 
+ 00000622  0x00000379 fetch  0x00000004 , 0x00004c21 
+ 00000623  0x0000037a iforce  0x00000009 
+ 00000624  0x0000037b call  0x00000217 
+ 00000625  0x0000037c call  0x0000026a 
+ 00000626  0x0000037d set1  0x00000000 , 0x00000015 
+ 00000627  0x0000037e enable  0x0000001d 
+ 00000628  0x0000037f enable  0x00000020 
+ 00000629  0x00000380 disable  0x00000021 
+ 00000630  0x00000383 rshift16  0x00000009 , 0x0000003f 
+ 00000631  0x00000384 rshift8  0x0000003f , 0x0000003f 
+ 00000632  0x00000385 rshift4  0x0000003f , 0x0000003f 
+ 00000633  0x00000386 inject  0x00000003 , 0x00000028 
+ 00000634  0x00000387 disable  0x0000001d 
+ 00000635  0x00000388 enable  0x0000001b 
+ 00000636  0x00000389 enable  0x00000007 
+ 00000637  0x0000038a enable  0x00000009 
+ 00000638  0x0000038b fetch  0x00000001 , 0x00004cac 
+ 00000639  0x0000038c inject  0x00000003 , 0x00000008 
+ 00000640  0x0000038d fetch  0x00000001 , 0x00004bfb 
+ 00000641  0x0000038e iforce  0x00000039 
+ 00000642  0x0000038f arg  0x00004bb5 , 0x00000006 
+ 00000643  0x00000391 ifetch  0x00000001 , 0x00000006 
+ 00000644  0x00000392 inject  0x00000003 , 0x00000008 
+ 00000645  0x00000393 loop  0x00000283 
+ 00000646  0x00000396 enable  0x00000008 
+ 00000647  0x00000397 inject  0x00000003 , 0x00000018 
+ 00000648  0x00000398 disable  0x00000008 
+ 00000649  0x00000399 until  0x0000003e , 0x00000027 
+ 00000650  0x0000039a nop  0x00000064 
+ 00000651  0x0000039b disable  0x0000001d 
+ 00000652  0x0000039c disable  0x0000001b 
+ 00000653  0x0000039d rtn 
+ 00000654  0x000003a0 call  0x00007fe9 
+ 00000655  0x000003a1 fetcht  0x00000004 , 0x00004c1a 
+ 00000656  0x000003a2 copy  0x00000022 , 0x0000003f 
+ 00000657  0x000003a3 isub  0x00000002 , 0x0000003e 
+ 00000658  0x000003a4 ncall  0x00002d18 , 0x00000002 
+ 00000659  0x000003a5 copy  0x0000003f , 0x00000012 
+ 00000660  0x000003a6 fetch  0x00000004 , 0x00004c1a 
+ 00000661  0x000003a7 fetcht  0x00000001 , 0x00004c1e 
+ 00000662  0x000003a8 iadd  0x00000002 , 0x00000002 
+ 00000663  0x000003a9 copy  0x00000012 , 0x0000003f 
+ 00000664  0x000003aa isub  0x00000002 , 0x0000003e 
+ 00000665  0x000003ab nrtn  0x00000002 
+ 00000666  0x000003ac set0  0x0000001c , 0x0000003f 
+ 00000667  0x000003ad store  0x00000004 , 0x00004c1a 
+ 00000668  0x000003ae branch  0x00007fe7 
+ 00000669  0x000003b1 call  0x000029bb 
+ 00000670  0x000003b2 rtn  0x00000034 
+ 00000671  0x000003b3 fetcht  0x00000001 , 0x00004cb3 
+ 00000672  0x000003b4 arg  0x00000d9e , 0x00000011 
+ 00000673  0x000003b5 call  0x000002a4 
+ 00000674  0x000003b6 storet  0x00000001 , 0x00004cb3 
+ 00000675  0x000003b7 rtn 
+ 00000676  0x000003ba copy  0x00000011 , 0x0000003f 
+ 00000677  0x000003bb iadd  0x00000002 , 0x00000005 
+ 00000678  0x000003bc fetch  0x00000001 , 0x00000018 
+ 00000679  0x000003bd istore  0x00000001 , 0x00000005 
+ 00000680  0x000003be increase  0x00000001 , 0x00000002 
+ 00000681  0x000003bf and_into  0x00000007 , 0x00000002 
+ 00000682  0x000003c0 rtn 
+ 00000683  0x000003c2 arg  0x00000000 , 0x00000002 
+ 00000684  0x000003c3 arg  0x00000008 , 0x00000039 
+ 00000685  0x000003c4 copy  0x00000011 , 0x00000006 
+ 00000686  0x000003c6 ifetch  0x00000001 , 0x00000006 
+ 00000687  0x000003c7 iadd  0x00000002 , 0x00000002 
+ 00000688  0x000003c8 loop  0x000002ae 
+ 00000689  0x000003c9 rshift3  0x00000002 , 0x0000003f 
+ 00000690  0x000003ca copy  0x0000003f , 0x00000002 
+ 00000691  0x000003cb rtnmark0  0x00000026 
+ 00000692  0x000003cd div  0x0000003f , 0x0000000a 
+ 00000693  0x000003ce call  0x00007f86 
+ 00000694  0x000003cf quotient  0x0000003f 
+ 00000695  0x000003d0 lshift4  0x0000003f , 0x0000003f 
+ 00000696  0x000003d1 remainder  0x00000002 
+ 00000697  0x000003d2 ior  0x00000002 , 0x00000002 
+ 00000698  0x000003d3 rtn 
+ 00000699  0x000003d4 rtn 
+ 00000700  0x000003d8 rtnmark1  0x00000026 
+ 00000701  0x000003d9 call  0x000003ee 
+ 00000702  0x000003da call  0x000002c6 
+ 00000703  0x000003db fetch  0x00000001 , 0x00004040 
+ 00000704  0x000003dc bbit0  0x00000000 , 0x000002c3 
+ 00000705  0x000003dd fetch  0x00000001 , 0x000000a0 
+ 00000706  0x000003de nrtn  0x00000034 
+ 00000707  0x000003e0 setarg  0x00000000 
+ 00000708  0x000003e1 store  0x00000008 , 0x000000a1 
+ 00000709  0x000003e2 rtn 
+ 00000710  0x000003e5 call  0x000002dc 
+ 00000711  0x000003e6 call  0x000002c3 
+ 00000712  0x000003e8 call  0x00003ebf 
+ 00000713  0x000003e9 call  0x00000336 
+ 00000714  0x000003ea hfetch  0x00000004 , 0x00008070 
+ 00000715  0x000003eb hfetcht  0x00000004 , 0x00008078 
+ 00000716  0x000003ec ior  0x00000002 , 0x00000002 
+ 00000717  0x000003ed invert  0x00000002 , 0x00000002 
+ 00000718  0x000003ee hstoret  0x00000004 , 0x0000807c 
+ 00000719  0x000003ef hfetch  0x00000001 , 0x0000807c 
+ 00000720  0x000003f0 set0  0x00000006 , 0x0000003f 
+ 00000721  0x000003f1 hstore  0x00000001 , 0x0000807c 
+ 00000722  0x000003f2 hfetch  0x00000001 , 0x0000807c 
+ 00000723  0x000003f3 set1  0x00000005 , 0x0000003f 
+ 00000724  0x000003f4 hstore  0x00000001 , 0x0000807c 
+ 00000725  0x000003f5 hfetch  0x00000001 , 0x0000807d 
+ 00000726  0x000003f6 set0  0x00000002 , 0x0000003f 
+ 00000727  0x000003f7 hstore  0x00000001 , 0x0000807d 
+ 00000728  0x000003f8 hfetch  0x00000001 , 0x0000807e 
+ 00000729  0x000003f9 set0  0x00000006 , 0x0000003f 
+ 00000730  0x000003fa hstore  0x00000001 , 0x0000807e 
+ 00000731  0x000003fb rtn 
+ 00000732  0x000003fe fetch  0x00000001 , 0x00004afe 
+ 00000733  0x000003ff rtn  0x00000034 
+ 00000734  0x00000400 branch  0x00003d80 
+ 00000735  0x00000403 call  0x0000296c 
+ 00000736  0x00000404 call  0x00003416 
+ 00000737  0x00000405 call  0x000074b9 
+ 00000738  0x00000406 branch  0x000002f5 , 0x0000002b 
+ 00000739  0x00000408 call  0x00000001 
+ 00000740  0x00000409 arg  0x00000258 , 0x00000002 
+ 00000741  0x0000040a fetch  0x00000002 , 0x000046aa 
+ 00000742  0x0000040b isub  0x00000002 , 0x00000002 
+ 00000743  0x0000040c storet  0x00000002 , 0x00004b59 
+ 00000744  0x00000414 call  0x000002f6 
+ 00000745  0x00000415 jam  0x00000019 , 0x00004b50 
+ 00000746  0x00000416 call  0x00000518 
+ 00000747  0x00000417 call  0x000004fb 
+ 00000748  0x00000418 arg  0x00004721 , 0x00000011 
+ 00000749  0x00000419 fetch  0x00000001 , 0x00004720 
+ 00000750  0x0000041a fetcht  0x00000001 , 0x00004703 
+ 00000751  0x0000041b isub  0x00000002 , 0x0000003e 
+ 00000752  0x0000041c branch  0x000003af , 0x00000005 
+ 00000753  0x0000041d fetch  0x00000001 , 0x00004210 
+ 00000754  0x0000041e beq  0x00000033 , 0x000002f9 
+ 00000755  0x0000041f beq  0x00000034 , 0x000002fd 
+ 00000756  0x00000421 rtn 
+ 00000757  0x00000425 branch  0x00000310 
+ 00000758  0x00000428 fetch  0x00000001 , 0x00004cb0 
+ 00000759  0x00000429 store  0x00000001 , 0x000041de 
+ 00000760  0x0000042a rtn 
+ 00000761  0x0000042d jam  0x00000001 , 0x00004b55 
+ 00000762  0x0000042e fetch  0x00000006 , 0x000041d0 
+ 00000763  0x0000042f branch  0x000033eb , 0x00000034 
+ 00000764  0x00000430 branch  0x00004274 
+ 00000765  0x00000433 jam  0x00000001 , 0x0000479f 
+ 00000766  0x00000434 fetch  0x00000002 , 0x000046a8 
+ 00000767  0x00000435 store  0x00000002 , 0x000046ae 
+ 00000768  0x00000436 call  0x00003418 
+ 00000769  0x00000437 call  0x00000307 
+ 00000770  0x00000438 setarg  0x00000004 
+ 00000771  0x00000439 istore  0x00000001 , 0x00000006 
+ 00000772  0x0000043b arg  0x00004390 , 0x00000006 
+ 00000773  0x0000043c call  0x0000059d 
+ 00000774  0x0000043e branch  0x00007df4 
+ 00000775  0x00000441 arg  0x00004370 , 0x00000011 
+ 00000776  0x00000443 ifetch  0x00000001 , 0x00000011 
+ 00000777  0x00000444 rtn  0x00000034 
+ 00000778  0x00000445 iadd  0x00000006 , 0x00000011 
+ 00000779  0x00000446 ifetch  0x00000001 , 0x00000006 
+ 00000780  0x00000447 rtneq  0x00000001 
+ 00000781  0x00000448 branch  0x00000308 
+ 00000782  0x0000044b jam  0x00000061 , 0x000011c5 
+ 00000783  0x0000044c branch  0x0000077a 
+ 00000784  0x00000450 jam  0x00000076 , 0x00004212 
+ 00000785  0x00000451 branch  0x00003d36 
+ 00000786  0x00000454 call  0x00000310 
+ 00000787  0x00000455 call  0x000040c0 
+ 00000788  0x00000459 call  0x000040d9 
+ 00000789  0x0000045a beq  0x00000031 , 0x0000031d 
+ 00000790  0x0000045b call  0x000040d1 
+ 00000791  0x0000045c nop  0x000003e8 
+ 00000792  0x0000045d branch  0x00000314 
+ 00000793  0x00000460 jam  0x00000001 , 0x00004afe 
+ 00000794  0x00000461 call  0x0000640f 
+ 00000795  0x00000462 call  0x00000312 
+ 00000796  0x00000463 branch  0x00006411 
+ 00000797  0x00000468 call  0x0000032a 
+ 00000798  0x00000469 fetch  0x00000001 , 0x000046de 
+ 00000799  0x0000046a beq  0x00000070 , 0x000040e8 
+ 00000800  0x0000046b jam  0x00000001 , 0x000046e0 
+ 00000801  0x0000046c rtn 
+ 00000802  0x00000472 jam  0x00000000 , 0x00004172 
+ 00000803  0x00000473 jam  0x0000001e , 0x00004b63 
+ 00000804  0x00000474 rtn 
+ 00000805  0x00000479 fetch  0x00000001 , 0x00004b62 
+ 00000806  0x0000047a rtnne  0x00000001 
+ 00000807  0x0000047b setarg  0x00000000 
+ 00000808  0x0000047c store  0x00000001 , 0x00004b62 
+ 00000809  0x0000047d store  0x00000004 , 0x0000469b 
+ 00000810  0x0000047f call  0x00000310 
+ 00000811  0x00000480 setarg  0x00008006 
+ 00000812  0x00000481 call  0x00006413 
+ 00000813  0x00000482 nop  0x00002ee0 
+ 00000814  0x00000484 fetch  0x00000001 , 0x0000477a 
+ 00000815  0x00000485 beq  0x000000ff , 0x00003d66 
+ 00000816  0x00000486 branch  0x00003d80 
+ 00000817  0x00000489 call  0x00000310 
+ 00000818  0x0000048a setarg  0x00000806 
+ 00000819  0x0000048f branch  0x00006413 
+ 00000820  0x00000492 jam  0x00000080 , 0x000011c5 
+ 00000821  0x00000493 branch  0x0000077a 
+ 00000822  0x00000497 fetcht  0x00000001 , 0x00004b43 
+ 00000823  0x00000498 branch  0x00006825 
+ 00000824  0x0000049b jam  0x00000040 , 0x00008086 
+ 00000825  0x0000049c jam  0x00000000 , 0x00008087 
+ 00000826  0x0000049d hfetch  0x00000001 , 0x00008081 
+ 00000827  0x0000049e set0  0x00000000 , 0x0000003f 
+ 00000828  0x0000049f set0  0x00000001 , 0x0000003f 
+ 00000829  0x000004a0 set1  0x00000003 , 0x0000003f 
+ 00000830  0x000004a1 set0  0x00000004 , 0x0000003f 
+ 00000831  0x000004a2 hstore  0x00000001 , 0x00008081 
+ 00000832  0x000004a3 setarg  0x00000000 
+ 00000833  0x000004a4 store  0x00000004 , 0x000001f5 
+ 00000834  0x000004a6 hfetch  0x00000001 , 0x0000807f 
+ 00000835  0x000004a7 set0  0x00000000 , 0x0000003f 
+ 00000836  0x000004a8 hstore  0x00000001 , 0x0000807f 
+ 00000837  0x000004aa rtn 
+ 00000838  0x000004ad call  0x000003a6 
+ 00000839  0x000004ae call  0x00004423 
+ 00000840  0x000004af fetch  0x00000002 , 0x00004778 
+ 00000841  0x000004b0 arg  0x0000aa55 , 0x00000002 
+ 00000842  0x000004b1 isub  0x00000002 , 0x0000003e 
+ 00000843  0x000004b2 branch  0x00000383 , 0x00000005 
+ 00000844  0x000004b3 storet  0x00000002 , 0x00004778 
+ 00000845  0x000004b4 call  0x0000441c 
+ 00000846  0x000004b5 fetch  0x00000001 , 0x000046e1 
+ 00000847  0x000004b6 store  0x00000001 , 0x0000477a 
+ 00000848  0x000004b7 fetch  0x00000004 , 0x00004b51 
+ 00000849  0x000004b8 store  0x00000004 , 0x0000477b 
+ 00000850  0x000004b9 store  0x00000004 , 0x00004c21 
+ 00000851  0x000004ba call  0x00000397 
+ 00000852  0x000004bc call  0x000003a6 
+ 00000853  0x000004bd call  0x00000362 
+ 00000854  0x000004be call  0x0000037a 
+ 00000855  0x000004bf call  0x00000366 
+ 00000856  0x000004c0 call  0x00000371 
+ 00000857  0x000004c2 arg  0x00000002 , 0x00000002 
+ 00000858  0x000004c3 arg  0x000047c2 , 0x00000011 
+ 00000859  0x000004c4 arg  0x0000005f , 0x00000012 
+ 00000860  0x000004c5 fetch  0x00000003 , 0x00004700 
+ 00000861  0x000004c6 iadd  0x00000012 , 0x0000003f 
+ 00000862  0x000004c7 call  0x00000366 
+ 00000863  0x000004c8 call  0x00000371 
+ 00000864  0x000004c9 call  0x0000039d 
+ 00000865  0x000004ca branch  0x00000310 
+ 00000866  0x000004cd fetch  0x00000003 , 0x00004700 
+ 00000867  0x000004ce store  0x00000003 , 0x00004232 
+ 00000868  0x000004cf call  0x0000652a 
+ 00000869  0x000004d0 branch  0x00000371 
+ 00000870  0x000004d3 copy  0x0000003f , 0x00000013 
+ 00000871  0x000004d4 copy  0x00000011 , 0x0000003f 
+ 00000872  0x000004d5 increase  0xfffffffc , 0x0000003f 
+ 00000873  0x000004d6 copy  0x0000003f , 0x00000012 
+ 00000874  0x000004d7 ifetch  0x00000004 , 0x00000012 
+ 00000875  0x000004d8 store  0x00000004 , 0x00004b4c 
+ 00000876  0x000004d9 copy  0x00000013 , 0x0000003f 
+ 00000877  0x000004da call  0x00006552 
+ 00000878  0x000004db fetch  0x00000004 , 0x00004b4c 
+ 00000879  0x000004dc istore  0x00000004 , 0x00000012 
+ 00000880  0x000004dd rtn 
+ 00000881  0x000004e0 setarg  0x000186a0 
+ 00000882  0x000004e1 call  0x00002a8f 
+ 00000883  0x000004e2 call  0x0000650b 
+ 00000884  0x000004e3 setarg  0x000001fa 
+ 00000885  0x000004e4 hstore  0x00000002 , 0x0000808c 
+ 00000886  0x000004e5 setarg  0x00000005 
+ 00000887  0x000004e6 call  0x000064f3 
+ 00000888  0x000004e7 bbit1  0x00000000 , 0x00000371 
+ 00000889  0x000004e8 rtn 
+ 00000890  0x000004eb setarg  0x0000477f 
+ 00000891  0x000004ec arg  0x00004720 , 0x00000002 
+ 00000892  0x000004ed isub  0x00000002 , 0x00000002 
+ 00000893  0x000004ee fetch  0x00000003 , 0x00004700 
+ 00000894  0x000004ef arg  0x00004720 , 0x00000011 
+ 00000895  0x000004f0 rtn 
+ 00000896  0x000004f3 call  0x000003a6 
+ 00000897  0x000004f4 call  0x0000037a 
+ 00000898  0x000004f5 branch  0x00006562 
+ 00000899  0x000004f8 call  0x00000380 
+ 00000900  0x000004f9 call  0x000003a8 
+ 00000901  0x000004fa call  0x0000431a 
+ 00000902  0x000004fb fetch  0x00000004 , 0x0000477b 
+ 00000903  0x000004fc store  0x00000004 , 0x00004c21 
+ 00000904  0x000004fd arg  0x00000003 , 0x00000039 
+ 00000905  0x000004fe arg  0x00004722 , 0x00000006 
+ 00000906  0x000004ff call  0x0000038e 
+ 00000907  0x00000500 nbranch  0x00000395 , 0x00000028 
+ 00000908  0x00000505 call  0x00000397 
+ 00000909  0x00000506 rtn 
+ 00000910  0x0000050a call  0x00007fe7 
+ 00000911  0x0000050b setarg  0x0000ffff 
+ 00000912  0x0000050d ifetcht  0x00000002 , 0x00000006 
+ 00000913  0x0000050e isub  0x00000002 , 0x0000003e 
+ 00000914  0x0000050f ncall  0x00007fe9 , 0x00000005 
+ 00000915  0x00000510 loop  0x00000390 
+ 00000916  0x00000511 rtn 
+ 00000917  0x00000514 jam  0x0000005a , 0x00004b61 
+ 00000918  0x00000515 rtn 
+ 00000919  0x00000518 jam  0x000000ff , 0x00004b61 
+ 00000920  0x00000519 jam  0x00000034 , 0x00004210 
+ 00000921  0x0000051a setarg  0x000f0f0f 
+ 00000922  0x0000051b store  0x00000003 , 0x000044a0 
+ 00000923  0x0000051c store  0x00000003 , 0x000044a3 
+ 00000924  0x0000051d rtn 
+ 00000925  0x00000523 jam  0x000000b9 , 0x00000aa2 
+ 00000926  0x00000525 call  0x00000338 
+ 00000927  0x00000526 nop  0x00000064 
+ 00000928  0x00000527 call  0x0000650b 
+ 00000929  0x00000528 arg  0x00004b4c , 0x00000011 
+ 00000930  0x00000529 fetcht  0x00000001 , 0x00000aa2 
+ 00000931  0x0000052a call  0x00006556 
+ 00000932  0x0000052b nop  0x00000064 
+ 00000933  0x0000052c rtn 
+ 00000934  0x0000052f jam  0x000000ab , 0x00000aa2 
+ 00000935  0x00000530 branch  0x0000039e 
+ 00000936  0x00000534 call  0x000003a6 
+ 00000937  0x00000535 arg  0x00000002 , 0x00000002 
+ 00000938  0x00000536 arg  0x000047c2 , 0x00000011 
+ 00000939  0x00000537 arg  0x0000005f , 0x00000012 
+ 00000940  0x00000538 fetch  0x00000003 , 0x00004700 
+ 00000941  0x00000539 iadd  0x00000012 , 0x0000003f 
+ 00000942  0x0000053a branch  0x00006562 
+ 00000943  0x0000053e setarg  0x00000000 
+ 00000944  0x0000053f store  0x00000002 , 0x00004c26 
+ 00000945  0x00000540 branch  0x000001c3 
+ 00000946  0x00000544 fetch  0x00000001 , 0x00004720 
+ 00000947  0x00000545 rtnne  0x00000002 
+ 00000948  0x00000546 fetch  0x00000001 , 0x00004b5d 
+ 00000949  0x00000547 rtn  0x00000034 
+ 00000950  0x00000548 increase  0xffffffff , 0x0000003f 
+ 00000951  0x00000549 store  0x00000001 , 0x00004b5d 
+ 00000952  0x0000054a branch  0x0000340a , 0x00000034 
+ 00000953  0x0000054b and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00000954  0x0000054c beq  0x00000005 , 0x000003d4 
+ 00000955  0x0000054d beq  0x0000000a , 0x000003d1 
+ 00000956  0x0000054e rtn 
+ 00000957  0x00000551 fetch  0x00000001 , 0x000046ac 
+ 00000958  0x00000552 rtn  0x00000034 
+ 00000959  0x00000553 fetch  0x00000001 , 0x00004b5c 
+ 00000960  0x00000554 increase  0x00000001 , 0x0000003f 
+ 00000961  0x00000555 store  0x00000001 , 0x00004b5c 
+ 00000962  0x00000556 beq  0x00000005 , 0x000003e1 
+ 00000963  0x00000557 beq  0x0000000a , 0x000003dc 
+ 00000964  0x00000558 rtn 
+ 00000965  0x0000055c fetch  0x00000001 , 0x00004b50 
+ 00000966  0x0000055d rtn  0x00000034 
+ 00000967  0x0000055e increase  0xffffffff , 0x0000003f 
+ 00000968  0x0000055f store  0x00000001 , 0x00004b50 
+ 00000969  0x00000560 fetch  0x00000001 , 0x00004720 
+ 00000970  0x00000561 beq  0x00000002 , 0x000003ce 
+ 00000971  0x00000562 fetch  0x00000001 , 0x00004b50 
+ 00000972  0x00000563 bbit1  0x00000001 , 0x000003dd 
+ 00000973  0x00000564 branch  0x000003e1 
+ 00000974  0x00000567 fetch  0x00000001 , 0x00004b50 
+ 00000975  0x00000568 bbit1  0x00000001 , 0x000003d4 
+ 00000976  0x00000569 branch  0x000003d1 
+ 00000977  0x0000056e jam  0x00000000 , 0x00004b49 
+ 00000978  0x0000056f fetcht  0x00000001 , 0x00004b4a 
+ 00000979  0x00000570 branch  0x00000584 
+ 00000980  0x00000573 jam  0x00000001 , 0x00004b49 
+ 00000981  0x00000574 hfetch  0x00000001 , 0x0000807c 
+ 00000982  0x00000575 set0  0x00000005 , 0x0000003f 
+ 00000983  0x00000576 hstore  0x00000001 , 0x0000807c 
+ 00000984  0x00000577 fetcht  0x00000001 , 0x00004b4a 
+ 00000985  0x00000578 call  0x0000680e 
+ 00000986  0x00000579 fetcht  0x00000001 , 0x00004b4a 
+ 00000987  0x0000057a branch  0x00006825 
+ 00000988  0x0000057d jam  0x00000000 , 0x00004b5c 
+ 00000989  0x0000057f fetcht  0x00000001 , 0x00004b4b 
+ 00000990  0x00000580 call  0x0000680e 
+ 00000991  0x00000581 fetcht  0x00000001 , 0x00004b4b 
+ 00000992  0x00000582 branch  0x00006829 
+ 00000993  0x00000585 fetcht  0x00000001 , 0x00004b4b 
+ 00000994  0x00000586 branch  0x0000058f 
+ 00000995  0x0000058a call  0x000003e1 
+ 00000996  0x0000058b branch  0x000003d1 
+ 00000997  0x0000058f jam  0x00000000 , 0x00004b50 
+ 00000998  0x00000590 rtn 
+ 00000999  0x000005a3 call  0x00004401 
+ 00001000  0x000005a4 fetch  0x00000002 , 0x0000469f 
+ 00001001  0x000005a5 rtn  0x00000034 
+ 00001002  0x000005a7 jam  0x00000001 , 0x00004d39 
+ 00001003  0x000005a8 setarg  0x00000000 
+ 00001004  0x000005a9 store  0x00000002 , 0x00004d3a 
+ 00001005  0x000005aa rtn 
+ 00001006  0x000005ad arg  0x00001800 , 0x00000006 
+ 00001007  0x000005ae arg  0x0000480a , 0x00000005 
+ 00001008  0x000005af call  0x000003f6 
+ 00001009  0x000005b0 arg  0x00001900 , 0x00000006 
+ 00001010  0x000005b1 call  0x000003f6 
+ 00001011  0x000005b2 arg  0x00001a00 , 0x00000006 
+ 00001012  0x000005b3 call  0x000003f6 
+ 00001013  0x000005b4 arg  0x00001b00 , 0x00000006 
+ 00001014  0x000005b6 arg  0x0000001b , 0x00000039 
+ 00001015  0x000005b7 branch  0x00007f01 
+ 00001016  0x000005ba arg  0x0000480a , 0x00000006 
+ 00001017  0x000005bb arg  0x00001800 , 0x00000005 
+ 00001018  0x000005bc call  0x000003f6 
+ 00001019  0x000005bd arg  0x00001900 , 0x00000005 
+ 00001020  0x000005be call  0x000003f6 
+ 00001021  0x000005bf arg  0x00001a00 , 0x00000005 
+ 00001022  0x000005c0 call  0x000003f6 
+ 00001023  0x000005c1 arg  0x00001b00 , 0x00000005 
+ 00001024  0x000005c2 branch  0x000003f6 
+ 00001025  0x000005c5 call  0x00005892 
+ 00001026  0x000005c6 nrtn  0x00000034 
+ 00001027  0x000005c7 fetch  0x00000001 , 0x00004b61 
+ 00001028  0x000005c8 beq  0x000000ff , 0x00000408 
+ 00001029  0x000005c9 fetch  0x00000001 , 0x000046c5 
+ 00001030  0x000005ca and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001031  0x000005cb rtnne  0x00000003 
+ 00001032  0x000005cd fetch  0x00000001 , 0x0000479c 
+ 00001033  0x000005ce call  0x00000455 , 0x00000034 
+ 00001034  0x000005cf fetch  0x00000004 , 0x000046d3 
+ 00001035  0x000005d0 bbit1  0x00000005 , 0x00004179 
+ 00001036  0x000005d1 call  0x00003f97 
+ 00001037  0x000005d2 nrtn  0x00000028 
+ 00001038  0x000005d3 call  0x00000322 
+ 00001039  0x000005d4 call  0x00000325 
+ 00001040  0x000005d5 call  0x0000042b 
+ 00001041  0x000005d7 arg  0x0000469a , 0x00000011 
+ 00001042  0x000005d8 call  0x00007e3d 
+ 00001043  0x000005d9 call  0x0000041a , 0x00000028 
+ 00001044  0x000005da rtn 
+ 00001045  0x000005dd jam  0x00000007 , 0x000047a0 
+ 00001046  0x000005de jam  0x00000004 , 0x000047a1 
+ 00001047  0x000005df setarg  0x000047a0 
+ 00001048  0x000005e0 store  0x00000002 , 0x00004218 
+ 00001049  0x000005e1 branch  0x00007e38 
+ 00001050  0x000005e4 fetch  0x00000001 , 0x000047c1 
+ 00001051  0x000005e5 increase  0x00000001 , 0x0000003f 
+ 00001052  0x000005e6 store  0x00000001 , 0x000047c1 
+ 00001053  0x000005e7 rtn 
+ 00001054  0x000005ea arg  0x0000469a , 0x00000011 
+ 00001055  0x000005eb call  0x00007e54 
+ 00001056  0x000005ec branch  0x00000422 , 0x00000028 
+ 00001057  0x000005ed rtn 
+ 00001058  0x000005f0 call  0x00005652 
+ 00001059  0x000005f1 fetch  0x00000001 , 0x000047c1 
+ 00001060  0x000005f2 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00001061  0x000005f3 ncall  0x00005650 , 0x00000002 
+ 00001062  0x000005f4 fetch  0x00000001 , 0x000047c1 
+ 00001063  0x000005f5 rtn  0x00000034 
+ 00001064  0x000005f6 increase  0xffffffff , 0x0000003f 
+ 00001065  0x000005f7 store  0x00000001 , 0x000047c1 
+ 00001066  0x000005f8 branch  0x00003f90 
+ 00001067  0x000005ff fetch  0x00000002 , 0x0000469f 
+ 00001068  0x00000600 rtn  0x00000034 
+ 00001069  0x00000601 jam  0x00000001 , 0x00004806 
+ 00001070  0x00000602 jam  0x00000002 , 0x00004807 
+ 00001071  0x00000603 rtn 
+ 00001072  0x00000606 rtn  0x0000002e 
+ 00001073  0x00000607 fetch  0x00000001 , 0x000041e2 
+ 00001074  0x00000608 rtn  0x00000034 
+ 00001075  0x00000609 call  0x00005271 
+ 00001076  0x0000060a nrtn  0x00000034 
+ 00001077  0x0000060b fetch  0x00000001 , 0x0000479c 
+ 00001078  0x0000060c call  0x00000455 , 0x00000034 
+ 00001079  0x0000060d fetch  0x00000004 , 0x000046d3 
+ 00001080  0x0000060e bbit1  0x00000005 , 0x00003f8a 
+ 00001081  0x0000060f bbit1  0x00000009 , 0x00003f8a 
+ 00001082  0x00000610 call  0x00003f97 
+ 00001083  0x00000611 nrtn  0x00000028 
+ 00001084  0x00000612 call  0x00000322 
+ 00001085  0x00000613 call  0x00000325 
+ 00001086  0x00000614 call  0x0000042b 
+ 00001087  0x00000615 fetch  0x00000001 , 0x00004b03 
+ 00001088  0x00000616 beq  0x00000001 , 0x00000444 
+ 00001089  0x00000617 fetch  0x00000001 , 0x00004b0a 
+ 00001090  0x00000618 rtn  0x00000034 
+ 00001091  0x00000619 branch  0x00003f81 
+ 00001092  0x0000061c fetch  0x00000001 , 0x0000469a 
+ 00001093  0x0000061d store  0x00000001 , 0x00004b04 
+ 00001094  0x0000061e fetch  0x00000001 , 0x0000469b 
+ 00001095  0x0000061f istore  0x00000001 , 0x00000005 
+ 00001096  0x00000620 fetch  0x00000001 , 0x0000469d 
+ 00001097  0x00000621 istore  0x00000001 , 0x00000005 
+ 00001098  0x00000622 fetch  0x00000002 , 0x0000469f 
+ 00001099  0x00000623 istore  0x00000002 , 0x00000005 
+ 00001100  0x00000625 arg  0x00000007 , 0x00000011 
+ 00001101  0x00000626 call  0x00004d63 
+ 00001102  0x00000627 fetch  0x00000002 , 0x0000424e 
+ 00001103  0x00000628 istore  0x00000002 , 0x00000005 
+ 00001104  0x00000629 setarg  0x000002a1 
+ 00001105  0x0000062a istore  0x00000002 , 0x00000005 
+ 00001106  0x0000062b fetch  0x00000005 , 0x00004b04 
+ 00001107  0x0000062c istore  0x00000005 , 0x00000005 
+ 00001108  0x0000062d rtn 
+ 00001109  0x00000630 jam  0x00000001 , 0x0000479c 
+ 00001110  0x00000631 call  0x00005814 
+ 00001111  0x00000632 branch  0x00000319 
+ 00001112  0x0000063a call  0x00007e34 
+ 00001113  0x0000063b call  0x0000045b 
+ 00001114  0x0000063c branch  0x00003ee0 
+ 00001115  0x00000640 fetcht  0x00000001 , 0x000046e7 
+ 00001116  0x00000641 call  0x00000586 
+ 00001117  0x00000642 call  0x00000460 
+ 00001118  0x00000643 fetcht  0x00000001 , 0x000046e7 
+ 00001119  0x00000644 branch  0x0000058f 
+ 00001120  0x00000647 fetcht  0x00000001 , 0x000046e7 
+ 00001121  0x00000648 call  0x0000681d 
+ 00001122  0x00000649 branch  0x00003d62 , 0x00000001 
+ 00001123  0x0000064b fetch  0x00000001 , 0x000046b6 
+ 00001124  0x0000064c rtneq  0x00000000 
+ 00001125  0x0000064d jam  0x00000000 , 0x000046b6 
+ 00001126  0x0000064e fetch  0x00000001 , 0x0000477a 
+ 00001127  0x0000064f increase  0x00000001 , 0x0000003f 
+ 00001128  0x00000650 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00001129  0x00000651 ncall  0x00007fef , 0x00000002 
+ 00001130  0x00000653 store  0x00000001 , 0x0000477a 
+ 00001131  0x00000654 call  0x00003d7e 
+ 00001132  0x0000065e branch  0x00000354 
+ 00001133  0x00000661 copy  0x00000013 , 0x0000003f 
+ 00001134  0x00000662 beq  0x00000014 , 0x0000047e 
+ 00001135  0x00000663 beq  0x00000015 , 0x00000481 
+ 00001136  0x00000664 beq  0x00000029 , 0x00000484 
+ 00001137  0x00000665 beq  0x00000032 , 0x00000486 
+ 00001138  0x00000666 beq  0x00000040 , 0x00000488 
+ 00001139  0x00000667 beq  0x00000004 , 0x0000048a 
+ 00001140  0x00000668 beq  0x00000013 , 0x0000048a 
+ 00001141  0x0000066a beq  0x00000019 , 0x000033df 
+ 00001142  0x0000066b beq  0x00000021 , 0x0000048e 
+ 00001143  0x0000066c beq  0x00000001 , 0x00000490 
+ 00001144  0x0000066d beq  0x00000002 , 0x00000493 
+ 00001145  0x0000066e beq  0x0000002b , 0x00000496 
+ 00001146  0x0000066f beq  0x00000039 , 0x00000498 
+ 00001147  0x00000670 beq  0x0000003a , 0x0000049b 
+ 00001148  0x00000671 beq  0x0000003c , 0x0000049f 
+ 00001149  0x00000672 branch  0x0000417d 
+ 00001150  0x00000675 call  0x00000319 
+ 00001151  0x00000676 jam  0x000000b0 , 0x000011c5 
+ 00001152  0x00000677 branch  0x0000077a 
+ 00001153  0x0000067a call  0x000004a4 
+ 00001154  0x0000067b jam  0x000000a2 , 0x000011c5 
+ 00001155  0x0000067c branch  0x0000077a 
+ 00001156  0x00000680 jam  0x00000012 , 0x00000a99 
+ 00001157  0x00000681 branch  0x00007d8f 
+ 00001158  0x00000684 jam  0x000000b3 , 0x000011c5 
+ 00001159  0x00000685 branch  0x0000077a 
+ 00001160  0x00000688 jam  0x000000a1 , 0x000011c5 
+ 00001161  0x00000689 branch  0x0000077a 
+ 00001162  0x0000068e jam  0x000000a3 , 0x000011c5 
+ 00001163  0x0000068f branch  0x0000077a 
+ 00001164  0x00000692 call  0x0000438e 
+ 00001165  0x00000693 branch  0x000033a7 
+ 00001166  0x00000696 jam  0x000000b1 , 0x000011c5 
+ 00001167  0x00000697 branch  0x0000077a 
+ 00001168  0x0000069a jam  0x00000000 , 0x00004809 
+ 00001169  0x0000069b call  0x00000319 
+ 00001170  0x0000069c branch  0x000042ca 
+ 00001171  0x0000069f call  0x000004a4 
+ 00001172  0x000006a0 jam  0x000000b4 , 0x000011c5 
+ 00001173  0x000006a1 branch  0x0000077a 
+ 00001174  0x000006a4 jam  0x000000b2 , 0x000011c5 
+ 00001175  0x000006a5 branch  0x0000077a 
+ 00001176  0x000006a8 call  0x00000319 
+ 00001177  0x000006a9 jam  0x00000092 , 0x000011c5 
+ 00001178  0x000006aa branch  0x0000077a 
+ 00001179  0x000006ad call  0x000004a4 
+ 00001180  0x000006ae jam  0x00000000 , 0x00004b56 
+ 00001181  0x000006af jam  0x00000051 , 0x000011c5 
+ 00001182  0x000006b0 branch  0x0000077a 
+ 00001183  0x000006b4 call  0x00000319 
+ 00001184  0x000006b6 branch  0x00003f8d 
+ 00001185  0x000006b9 call  0x000004a4 
+ 00001186  0x000006ba jam  0x000000a4 , 0x000011c5 
+ 00001187  0x000006bb branch  0x0000077a 
+ 00001188  0x000006be fetch  0x00000001 , 0x00004afe 
+ 00001189  0x000006bf rtn  0x00000034 
+ 00001190  0x000006c0 jam  0x00000000 , 0x00004afe 
+ 00001191  0x000006c1 branch  0x00000331 
+ 00001192  0x000006c5 call  0x00000518 
+ 00001193  0x000006c6 call  0x000004b8 
+ 00001194  0x000006c7 call  0x000004d7 
+ 00001195  0x000006c9 call  0x000004fb 
+ 00001196  0x000006ca call  0x00004234 
+ 00001197  0x000006cb call  0x0000423a 
+ 00001198  0x000006cc call  0x000004dc 
+ 00001199  0x000006cd call  0x000004e2 
+ 00001200  0x000006cf call  0x00004237 
+ 00001201  0x000006d0 call  0x000004d4 
+ 00001202  0x000006d1 call  0x000004cc 
+ 00001203  0x000006d2 call  0x00004231 
+ 00001204  0x000006d3 call  0x000004cf 
+ 00001205  0x000006d4 call  0x000003bd 
+ 00001206  0x000006d5 call  0x000003b2 
+ 00001207  0x000006d6 branch  0x000003c5 
+ 00001208  0x000006d9 fetch  0x00000004 , 0x000046d3 
+ 00001209  0x000006da rtnbit0  0x00000004 
+ 00001210  0x000006db fetch  0x00000001 , 0x000046ae 
+ 00001211  0x000006dc nbranch  0x000003d1 , 0x00000034 
+ 00001212  0x000006dd fetch  0x00000001 , 0x000046ac 
+ 00001213  0x000006de nbranch  0x000003d1 , 0x00000034 
+ 00001214  0x000006df fetch  0x00000001 , 0x00004b50 
+ 00001215  0x000006e0 nbranch  0x000003d1 , 0x00000034 
+ 00001216  0x000006e1 fetch  0x00000001 , 0x000046cf 
+ 00001217  0x000006e2 pincrease  0x00000001 
+ 00001218  0x000006e3 store  0x00000001 , 0x000046cf 
+ 00001219  0x000006e4 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00001220  0x000006e5 ncall  0x000004ca , 0x00000002 
+ 00001221  0x000006e6 beq  0x00000002 , 0x000003d4 
+ 00001222  0x000006e7 beq  0x00000004 , 0x000003d1 
+ 00001223  0x000006e8 beq  0x00000006 , 0x000003d4 
+ 00001224  0x000006e9 beq  0x00000008 , 0x000003d1 
+ 00001225  0x000006ea rtn 
+ 00001226  0x000006ec jam  0x00000001 , 0x000046cf 
+ 00001227  0x000006ed branch  0x000003d1 
+ 00001228  0x000006f0 arg  0x00004809 , 0x00000013 
+ 00001229  0x000006f1 arg  0x0000637a , 0x00000012 
+ 00001230  0x000006f2 branch  0x0000336d 
+ 00001231  0x000006f5 arg  0x00004b09 , 0x00000013 
+ 00001232  0x000006f6 arg  0x000004d2 , 0x00000012 
+ 00001233  0x000006f7 branch  0x0000336d 
+ 00001234  0x000006f9 jam  0x00000001 , 0x00004b0a 
+ 00001235  0x000006fa rtn 
+ 00001236  0x000006fe arg  0x000046c6 , 0x00000013 
+ 00001237  0x000006ff arg  0x00003d60 , 0x00000012 
+ 00001238  0x00000700 branch  0x0000336d 
+ 00001239  0x00000703 arg  0x00004807 , 0x00000013 
+ 00001240  0x00000704 arg  0x000004da , 0x00000012 
+ 00001241  0x00000705 branch  0x0000336d 
+ 00001242  0x00000707 jam  0x00000000 , 0x00004806 
+ 00001243  0x00000708 rtn 
+ 00001244  0x0000070b arg  0x00004b63 , 0x00000013 
+ 00001245  0x0000070c arg  0x000004df , 0x00000012 
+ 00001246  0x0000070d branch  0x0000336d 
+ 00001247  0x0000070f fetch  0x00000001 , 0x000047c5 
+ 00001248  0x00000710 store  0x00000001 , 0x00004172 
+ 00001249  0x00000711 branch  0x000004e7 
+ 00001250  0x00000714 arg  0x00004b64 , 0x00000013 
+ 00001251  0x00000715 arg  0x000004e5 , 0x00000012 
+ 00001252  0x00000716 branch  0x0000336d 
+ 00001253  0x00000718 setarg  0x000ea600 
+ 00001254  0x00000719 store  0x00000003 , 0x00004c28 
+ 00001255  0x0000071b jam  0x00000001 , 0x00004b62 
+ 00001256  0x0000071c rtn 
+ 00001257  0x00000733 arg  0x00004b44 , 0x00000013 
+ 00001258  0x00000734 arg  0x000004ec , 0x00000012 
+ 00001259  0x00000735 branch  0x0000336d 
+ 00001260  0x00000737 fetcht  0x00000001 , 0x00004720 
+ 00001261  0x00000738 fetch  0x00000001 , 0x00004703 
+ 00001262  0x00000739 isub  0x00000002 , 0x0000003e 
+ 00001263  0x0000073a rtn  0x00000005 
+ 00001264  0x0000073b fetch  0x00000002 , 0x00004682 
+ 00001265  0x0000073c isolate1  0x0000000b , 0x0000003f 
+ 00001266  0x0000073d call  0x000042d4 , 0x00000001 
+ 00001267  0x0000073e fetch  0x00000002 , 0x00004682 
+ 00001268  0x0000073f isolate1  0x00000007 , 0x0000003f 
+ 00001269  0x00000740 call  0x00004392 , 0x00000001 
+ 00001270  0x00000741 branch  0x000043b8 
+ 00001271  0x00000745 jam  0x00000001 , 0x00004b60 
+ 00001272  0x00000746 rtn 
+ 00001273  0x00000749 jam  0x00000000 , 0x00004b60 
+ 00001274  0x0000074a rtn 
+ 00001275  0x0000074e fetch  0x00000001 , 0x00004b60 
+ 00001276  0x0000074f branch  0x00000507 , 0x00000034 
+ 00001277  0x00000751 call  0x000004e9 
+ 00001278  0x00000752 fetch  0x00000001 , 0x000046d9 
+ 00001279  0x00000753 rtneq  0x00000000 
+ 00001280  0x00000754 fetch  0x00000002 , 0x000046a8 
+ 00001281  0x00000755 store  0x00000002 , 0x000046ae 
+ 00001282  0x00000756 force  0x00000003 , 0x00000007 
+ 00001283  0x00000757 fetch  0x00000002 , 0x000040b9 
+ 00001284  0x00000758 call  0x00007f08 
+ 00001285  0x00000759 jam  0x00000000 , 0x000046d9 
+ 00001286  0x0000075a rtn 
+ 00001287  0x0000075f fetch  0x00000001 , 0x000046d9 
+ 00001288  0x00000760 rtneq  0x00000001 
+ 00001289  0x00000765 fetch  0x00000001 , 0x00004685 
+ 00001290  0x00000766 store  0x00000001 , 0x00004b44 
+ 00001291  0x00000767 jam  0x00000001 , 0x000046d9 
+ 00001292  0x00000768 rtn 
+ 00001293  0x0000076b fetcht  0x00000001 , 0x00004720 
+ 00001294  0x0000076c increase  0x00000001 , 0x00000002 
+ 00001295  0x0000076d fetch  0x00000001 , 0x000046d2 
+ 00001296  0x0000076e isub  0x00000002 , 0x0000003e 
+ 00001297  0x0000076f ncall  0x000043cc , 0x00000002 
+ 00001298  0x00000770 storet  0x00000001 , 0x00004720 
+ 00001299  0x00000771 jam  0x00000000 , 0x000041bd 
+ 00001300  0x00000772 call  0x00000354 
+ 00001301  0x00000775 fetch  0x00000004 , 0x000046d3 
+ 00001302  0x00000776 rtneq  0x00000009 
+ 00001303  0x00000777 branch  0x0000437e 
+ 00001304  0x0000079a fetch  0x00000001 , 0x000046ce 
+ 00001305  0x0000079b increase  0x00000001 , 0x0000003f 
+ 00001306  0x0000079c store  0x00000001 , 0x000046ce 
+ 00001307  0x0000079d sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00001308  0x0000079e call  0x0000052a , 0x00000002 
+ 00001309  0x0000079f ncall  0x0000052e , 0x00000002 
+ 00001310  0x000007a0 call  0x000068a8 
+ 00001311  0x000007a1 call  0x0000054d 
+ 00001312  0x000007a2 call  0x00006908 
+ 00001313  0x000007a3 store  0x00000002 , 0x0000470f 
+ 00001314  0x000007a4 arg  0x00004709 , 0x00000011 
+ 00001315  0x000007a5 call  0x00000557 
+ 00001316  0x000007a6 fetch  0x00000001 , 0x00004231 
+ 00001317  0x000007a7 bbit1  0x00000002 , 0x000004f7 
+ 00001318  0x000007a8 bbit1  0x00000001 , 0x0000340a 
+ 00001319  0x000007a9 bbit0  0x00000000 , 0x00000545 
+ 00001320  0x000007aa jam  0x00000001 , 0x00004afd 
+ 00001321  0x000007ab branch  0x000043e7 
+ 00001322  0x000007ae fetch  0x00000001 , 0x00004b49 
+ 00001323  0x000007af nbranch  0x0000052e , 0x00000034 
+ 00001324  0x000007b0 jam  0x00000002 , 0x0000422d 
+ 00001325  0x000007b1 rtn 
+ 00001326  0x000007b3 jam  0x00000000 , 0x000046ce 
+ 00001327  0x000007b4 jam  0x00000000 , 0x0000422d 
+ 00001328  0x000007b5 rtn 
+ 00001329  0x000007b8 fetch  0x00000001 , 0x0000422d 
+ 00001330  0x000007b9 beq  0x00000002 , 0x00000534 
+ 00001331  0x000007ba branch  0x0000690a 
+ 00001332  0x000007bd fetch  0x00000002 , 0x00004223 
+ 00001333  0x000007be fetcht  0x00000002 , 0x0000421d 
+ 00001334  0x000007bf arg  0x00000032 , 0x00000013 
+ 00001335  0x000007c0 branch  0x00000538 
+ 00001336  0x000007c3 isub  0x00000002 , 0x00000011 
+ 00001337  0x000007c4 fetch  0x00000002 , 0x0000422f 
+ 00001338  0x000007c5 isub  0x00000002 , 0x0000003f 
+ 00001339  0x000007c6 nbranch  0x0000053d , 0x00000002 
+ 00001340  0x000007c7 branch  0x0000691e 
+ 00001341  0x000007ca copy  0x00000002 , 0x0000003f 
+ 00001342  0x000007cb fetcht  0x00000002 , 0x0000422f 
+ 00001343  0x000007cc isub  0x00000002 , 0x0000003f 
+ 00001344  0x000007cd isub  0x00000011 , 0x0000003e 
+ 00001345  0x000007ce call  0x00000543 , 0x00000002 
+ 00001346  0x000007cf branch  0x0000692a 
+ 00001347  0x000007d3 copy  0x00000011 , 0x0000003f 
+ 00001348  0x000007d4 rtn 
+ 00001349  0x000007d8 call  0x000043e9 
+ 00001350  0x000007d9 jam  0x0000000c , 0x000046cf 
+ 00001351  0x000007da fetch  0x00000001 , 0x00004afd 
+ 00001352  0x000007db rtn  0x00000034 
+ 00001353  0x000007dc jam  0x00000000 , 0x00004afd 
+ 00001354  0x000007dd fetch  0x00000001 , 0x000046ef 
+ 00001355  0x000007de store  0x00000001 , 0x00004715 
+ 00001356  0x000007df branch  0x00004296 
+ 00001357  0x000007e3 fetch  0x00000001 , 0x0000422d 
+ 00001358  0x000007e4 beq  0x00000002 , 0x00000550 
+ 00001359  0x000007e5 branch  0x000068ec 
+ 00001360  0x000007e7 hfetch  0x00000001 , 0x0000807c 
+ 00001361  0x000007e8 set0  0x00000005 , 0x0000003f 
+ 00001362  0x000007e9 hstore  0x00000001 , 0x0000807c 
+ 00001363  0x000007ea jam  0x0000008f , 0x00008971 
+ 00001364  0x000007eb fetch  0x00000001 , 0x0000422e 
+ 00001365  0x000007ec hstore  0x00000001 , 0x00008973 
+ 00001366  0x000007ed branch  0x000068f8 
+ 00001367  0x000007f1 ifetch  0x00000008 , 0x00000011 
+ 00001368  0x000007f2 store  0x00000008 , 0x00000a9a 
+ 00001369  0x000007f3 fetch  0x00000001 , 0x0000422d 
+ 00001370  0x000007f4 beq  0x00000002 , 0x00000568 
+ 00001371  0x000007f5 beq  0x00000000 , 0x0000055c 
+ 00001372  0x000007f7 fetch  0x00000002 , 0x00000aa0 
+ 00001373  0x000007f8 fetcht  0x00000002 , 0x00000a9c 
+ 00001374  0x000007f9 isub  0x00000002 , 0x0000003e 
+ 00001375  0x000007fa nbranch  0x00006944 , 0x00000002 
+ 00001376  0x000007fb call  0x0000056e 
+ 00001377  0x000007fc fetcht  0x00000002 , 0x00000a9e 
+ 00001378  0x000007fd isub  0x00000002 , 0x0000003e 
+ 00001379  0x000007fe nbranch  0x00006940 , 0x00000002 
+ 00001380  0x00000800 fetch  0x00000001 , 0x00004231 
+ 00001381  0x00000801 set0  0x00000000 , 0x0000003f 
+ 00001382  0x00000802 store  0x00000001 , 0x00004231 
+ 00001383  0x00000803 rtn 
+ 00001384  0x00000805 fetcht  0x00000002 , 0x00004b5e 
+ 00001385  0x00000806 fetch  0x00000002 , 0x00000aa0 
+ 00001386  0x00000807 isub  0x00000002 , 0x0000003e 
+ 00001387  0x00000808 nbranch  0x00000572 , 0x00000002 
+ 00001388  0x00000809 call  0x000004f9 
+ 00001389  0x0000080a branch  0x00000576 
+ 00001390  0x0000080e fetcht  0x00000001 , 0x00004231 
+ 00001391  0x0000080f set0  0x00000001 , 0x00000002 
+ 00001392  0x00000810 storet  0x00000001 , 0x00004231 
+ 00001393  0x00000811 rtn 
+ 00001394  0x00000813 fetcht  0x00000001 , 0x00004231 
+ 00001395  0x00000814 set1  0x00000002 , 0x00000002 
+ 00001396  0x00000815 storet  0x00000001 , 0x00004231 
+ 00001397  0x00000816 rtn 
+ 00001398  0x00000819 fetcht  0x00000001 , 0x00004231 
+ 00001399  0x0000081a set0  0x00000002 , 0x00000002 
+ 00001400  0x0000081b storet  0x00000001 , 0x00004231 
+ 00001401  0x0000081c rtn 
+ 00001402  0x00000820 disable  0x00000028 
+ 00001403  0x00000821 setarg  0x00000000 
+ 00001404  0x00000822 store  0x00000006 , 0x0000469b 
+ 00001405  0x00000823 call  0x00003fb5 
+ 00001406  0x00000824 call  0x00004079 
+ 00001407  0x00000825 call  0x0000407e 
+ 00001408  0x00000826 call  0x00004099 
+ 00001409  0x00000829 nbranch  0x0000079b , 0x00000028 
+ 00001410  0x0000082a call  0x0000079e 
+ 00001411  0x0000082b branch  0x00003fa0 
+ 00001412  0x00000865 set0  0x00000007 , 0x00000002 
+ 00001413  0x00000866 branch  0x00006806 
+ 00001414  0x00000869 set0  0x00000007 , 0x00000002 
+ 00001415  0x0000086a arg  0x00008078 , 0x00000005 
+ 00001416  0x0000086b call  0x00006830 
+ 00001417  0x0000086c set1  0x00000007 , 0x00000002 
+ 00001418  0x0000086e arg  0x0000807c , 0x00000005 
+ 00001419  0x0000086f call  0x00006830 
+ 00001420  0x00000870 set0  0x00000007 , 0x00000002 
+ 00001421  0x00000871 arg  0x00008070 , 0x00000005 
+ 00001422  0x00000872 branch  0x00006830 
+ 00001423  0x00000875 set1  0x00000007 , 0x00000002 
+ 00001424  0x00000877 arg  0x00008078 , 0x00000005 
+ 00001425  0x00000878 call  0x00006830 
+ 00001426  0x00000879 set0  0x00000007 , 0x00000002 
+ 00001427  0x0000087a branch  0x0000058a 
+ 00001428  0x0000087e jam  0x00000000 , 0x00004b50 
+ 00001429  0x0000087f isolate1  0x00000026 , 0x00000000 
+ 00001430  0x00000880 call  0x000001d0 , 0x00000001 
+ 00001431  0x00000881 branch  0x0000426d 
+ 00001432  0x00000884 jam  0x00000081 , 0x000011c5 
+ 00001433  0x00000885 branch  0x0000077a 
+ 00001434  0x00000888 jam  0x00000000 , 0x00004b5c 
+ 00001435  0x00000889 jam  0x00000050 , 0x000011c5 
+ 00001436  0x0000088a branch  0x0000077a 
+ 00001437  0x0000088f arg  0x0000437b , 0x00000005 
+ 00001438  0x00000890 arg  0x00000013 , 0x00000039 
+ 00001439  0x00000891 call  0x00007f01 
+ 00001440  0x00000892 branch  0x000057b8 
+ 00001441  0x00000895 setarg  0x00000000 
+ 00001442  0x00000896 store  0x00000002 , 0x000046ac 
+ 00001443  0x00000897 store  0x00000001 , 0x00004b5b 
+ 00001444  0x00000898 store  0x00000001 , 0x00004714 
+ 00001445  0x00000899 store  0x00000001 , 0x00004b5c 
+ 00001446  0x0000089a jam  0x00000005 , 0x00004b47 
+ 00001447  0x0000089b call  0x000003e1 
+ 00001448  0x0000089c call  0x0000032a 
+ 00001449  0x0000089d branch  0x000042cb 
+ 00001450  0x000008a0 fetch  0x00000001 , 0x0000450f 
+ 00001451  0x000008a1 pincrease  0x00000001 
+ 00001452  0x000008a2 store  0x00000001 , 0x0000450f 
+ 00001453  0x000008a3 beq  0x0000000c , 0x00005395 
+ 00001454  0x000008a4 call  0x000055aa 
+ 00001455  0x000008a5 call  0x0000561e 
+ 00001456  0x000008a6 call  0x0000071d 
+ 00001457  0x000008a7 branch  0x0000538f 
+ 00001458  0x000008aa fetch  0x00000001 , 0x00000016 
+ 00001459  0x000008ab increase  0x00000001 , 0x0000003f 
+ 00001460  0x000008ac store  0x00000001 , 0x00000016 
+ 00001461  0x000008ad rtnne  0x00000028 
+ 00001462  0x000008ae jam  0x00000025 , 0x00000016 
+ 00001463  0x000008af rtn 
+ 00001464  0x000008b2 call  0x000029bb 
+ 00001465  0x000008b3 call  0x0000006b 
+ 00001466  0x000008b4 branch  0x000054a3 
+ 00001467  0x000008b7 jam  0x00000040 , 0x000011c5 
+ 00001468  0x000008b8 branch  0x0000077a 
+ 00001469  0x000008bb jam  0x00000041 , 0x000011c5 
+ 00001470  0x000008bc branch  0x0000077a 
+ 00001471  0x000008bf fetch  0x00000001 , 0x00000456 
+ 00001472  0x000008c0 bbit1  0x00000005 , 0x000005d3 
+ 00001473  0x000008c1 call  0x0000070f 
+ 00001474  0x000008c2 fetch  0x00000001 , 0x0000478e 
+ 00001475  0x000008c3 nbranch  0x000005c9 , 0x00000034 
+ 00001476  0x000008c4 fetch  0x00000001 , 0x0000043f 
+ 00001477  0x000008c5 bbit0  0x00000004 , 0x000005cd 
+ 00001478  0x000008c6 fetch  0x00000001 , 0x000002da 
+ 00001479  0x000008c7 branch  0x000005cd , 0x00000034 
+ 00001480  0x000008c8 branch  0x00005664 
+ 00001481  0x000008ca fetch  0x00000001 , 0x0000478e 
+ 00001482  0x000008cb increase  0xffffffff , 0x0000003f 
+ 00001483  0x000008cc store  0x00000001 , 0x0000478e 
+ 00001484  0x000008cd branch  0x00005664 
+ 00001485  0x000008cf fetch  0x00000001 , 0x000044c4 
+ 00001486  0x000008d0 bne  0x00000005 , 0x000005d0 
+ 00001487  0x000008d1 jam  0x00000003 , 0x0000478e 
+ 00001488  0x000008d3 call  0x00005892 
+ 00001489  0x000008d4 call  0x0000041e , 0x00000034 
+ 00001490  0x000008d5 branch  0x00005622 
+ 00001491  0x000008d8 call  0x000005d5 
+ 00001492  0x000008d9 branch  0x000005e1 
+ 00001493  0x000008dc fetch  0x00000001 , 0x000046c5 
+ 00001494  0x000008dd and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001495  0x000008de rtnne  0x00000003 
+ 00001496  0x000008df fetch  0x00000001 , 0x000047c1 
+ 00001497  0x000008e0 rtn  0x00000034 
+ 00001498  0x000008e1 fetch  0x00000001 , 0x000043dd 
+ 00001499  0x000008e2 rtn  0x00000034 
+ 00001500  0x000008e3 fetch  0x00000001 , 0x000043dc 
+ 00001501  0x000008e4 set1  0x00000004 , 0x0000003f 
+ 00001502  0x000008e5 store  0x00000001 , 0x000043dc 
+ 00001503  0x000008e6 call  0x00005650 
+ 00001504  0x000008e7 rtn 
+ 00001505  0x000008ec branch  0x00000713 
+ 00001506  0x000008ef fetch  0x00000001 , 0x0000479f 
+ 00001507  0x000008f0 rtn  0x00000034 
+ 00001508  0x000008f1 fetch  0x00000001 , 0x000046c5 
+ 00001509  0x000008f2 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001510  0x000008f3 rtneq  0x00000003 
+ 00001511  0x000008f4 jam  0x00000001 , 0x000046c6 
+ 00001512  0x000008f5 rtn 
+ 00001513  0x000008f8 rtnmark1  0x0000000f 
+ 00001514  0x000008f9 call  0x00005890 
+ 00001515  0x000008fa nrtn  0x00000034 
+ 00001516  0x000008fb fetch  0x00000001 , 0x000002d9 
+ 00001517  0x000008fc and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001518  0x000008fd store  0x00000001 , 0x0000450c 
+ 00001519  0x000008fe ifetch  0x00000001 , 0x00000006 
+ 00001520  0x000008ff and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00001521  0x00000900 store  0x00000001 , 0x0000450b 
+ 00001522  0x00000901 rtn  0x00000034 
+ 00001523  0x00000902 copy  0x00000006 , 0x0000003f 
+ 00001524  0x00000903 store  0x00000002 , 0x0000450d 
+ 00001525  0x00000904 fetch  0x00000001 , 0x0000450c 
+ 00001526  0x00000905 beq  0x00000003 , 0x000005f8 
+ 00001527  0x00000906 branch  0x0000568d 
+ 00001528  0x00000908 fetch  0x00000001 , 0x000002db 
+ 00001529  0x00000909 beq  0x00000001 , 0x000005fb 
+ 00001530  0x0000090a branch  0x00005c65 
+ 00001531  0x0000090c ifetch  0x00000005 , 0x00000006 
+ 00001532  0x0000090d store  0x00000005 , 0x000043ce 
+ 00001533  0x0000090e ifetch  0x00000002 , 0x00000006 
+ 00001534  0x0000090f store  0x00000002 , 0x0000045f 
+ 00001535  0x00000910 branch  0x00005c8a 
+ 00001536  0x00000913 ifetch  0x00000002 , 0x00000006 
+ 00001537  0x00000914 beq  0x00000004 , 0x00000604 
+ 00001538  0x00000915 beq  0x00000006 , 0x00000631 
+ 00001539  0x00000916 branch  0x00005698 
+ 00001540  0x00000918 call  0x00007ea5 
+ 00001541  0x00000919 call  0x000005e2 
+ 00001542  0x0000091a call  0x00007e9f 
+ 00001543  0x0000091b ifetch  0x00000003 , 0x00000006 
+ 00001544  0x0000091c store  0x00000003 , 0x00000477 
+ 00001545  0x0000091d beq  0x00000010 , 0x00000613 
+ 00001546  0x0000091e rshift8  0x0000003f , 0x00000002 
+ 00001547  0x0000091f sub  0x00000002 , 0x00000024 , 0x0000003e 
+ 00001548  0x00000920 branch  0x00000621 , 0x00000002 
+ 00001549  0x00000921 arg  0x000047c6 , 0x00000002 
+ 00001550  0x00000922 storet  0x00000002 , 0x000044bc 
+ 00001551  0x00000923 call  0x000058ad 
+ 00001552  0x00000924 setarg  0x00008e7a 
+ 00001553  0x00000925 store  0x00000002 , 0x000044bc 
+ 00001554  0x00000926 rtn 
+ 00001555  0x00000929 call  0x000059fa 
+ 00001556  0x0000092a call  0x00005879 
+ 00001557  0x0000092b increase  0x00000007 , 0x00000006 
+ 00001558  0x0000092c ifetch  0x00000001 , 0x00000006 
+ 00001559  0x0000092d rtnne  0x00000011 
+ 00001560  0x0000092e increase  0x00000005 , 0x00000006 
+ 00001561  0x0000092f ifetch  0x00000002 , 0x00000006 
+ 00001562  0x00000930 arg  0x00001812 , 0x00000002 
+ 00001563  0x00000931 isub  0x00000002 , 0x0000003e 
+ 00001564  0x00000932 nrtn  0x00000005 
+ 00001565  0x00000933 increase  0xfffffffc , 0x00000006 
+ 00001566  0x00000934 setarg  0x0000002b 
+ 00001567  0x00000935 istore  0x00000002 , 0x00000006 
+ 00001568  0x00000936 rtn 
+ 00001569  0x0000093a beq  0x0000000a , 0x00000623 
+ 00001570  0x0000093b branch  0x000058ad 
+ 00001571  0x0000093d fetcht  0x00000002 , 0x00000478 
+ 00001572  0x0000093e fetch  0x00000001 , 0x000044e9 
+ 00001573  0x0000093f bbit1  0x00000003 , 0x0000062a 
+ 00001574  0x00000949 fetch  0x00000002 , 0x00000478 
+ 00001575  0x0000094a beq  0x00000013 , 0x00005a76 
+ 00001576  0x0000094c fetcht  0x00000002 , 0x00000478 
+ 00001577  0x0000094d branch  0x000059bf 
+ 00001578  0x0000095c fetch  0x00000002 , 0x000044fa 
+ 00001579  0x0000095d isub  0x00000002 , 0x0000003e 
+ 00001580  0x0000095e nbranch  0x00000626 , 0x00000005 
+ 00001581  0x0000095f call  0x00005a42 
+ 00001582  0x00000960 nbranch  0x00000626 , 0x00000028 
+ 00001583  0x00000961 jam  0x00000005 , 0x0000047a 
+ 00001584  0x00000962 branch  0x00005a77 
+ 00001585  0x00000967 ifetch  0x00000001 , 0x00000006 
+ 00001586  0x00000968 beq  0x00000005 , 0x00000634 
+ 00001587  0x00000969 branch  0x00005af5 
+ 00001588  0x0000096b jam  0x00000082 , 0x000011c5 
+ 00001589  0x0000096c branch  0x0000077a 
+ 00001590  0x0000096f fetch  0x00000001 , 0x00000016 
+ 00001591  0x00000970 bne  0x00000027 , 0x000056f2 
+ 00001592  0x00000971 call  0x0000063c 
+ 00001593  0x00000972 arg  0x00000000 , 0x00000007 
+ 00001594  0x00000973 fetch  0x00000002 , 0x00004482 
+ 00001595  0x00000974 branch  0x00007f08 
+ 00001596  0x00000976 random  0x0000003f 
+ 00001597  0x00000977 arg  0x000001ff , 0x00000002 
+ 00001598  0x00000978 iand  0x00000002 , 0x0000003f 
+ 00001599  0x00000979 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00001600  0x0000097a branch  0x00003cbe 
+ 00001601  0x0000097d disable  0x0000002b 
+ 00001602  0x0000097e branch  0x00000644 , 0x0000002e 
+ 00001603  0x0000097f nbranch  0x00005806 , 0x0000002d 
+ 00001604  0x00000981 call  0x00002bcb 
+ 00001605  0x00000982 fetch  0x00000002 , 0x000040c1 
+ 00001606  0x00000983 store  0x00000002 , 0x0000044d 
+ 00001607  0x00000984 fetch  0x00000001 , 0x000046c5 
+ 00001608  0x00000985 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00001609  0x00000986 nbranch  0x00002bde , 0x00000001 
+ 00001610  0x00000987 branch  0x000057fb 
+ 00001611  0x0000098a fetch  0x00000001 , 0x0000479f 
+ 00001612  0x0000098b nrtn  0x00000034 
+ 00001613  0x0000098c fetch  0x00000001 , 0x00000478 
+ 00001614  0x0000098d sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00001615  0x0000098e nrtn  0x00000005 
+ 00001616  0x0000098f branch  0x00003d60 
+ 00001617  0x00000992 hfetch  0x00000001 , 0x00008077 
+ 00001618  0x00000993 and_into  0x000000fd , 0x0000003f 
+ 00001619  0x00000994 hstore  0x00000001 , 0x00008077 
+ 00001620  0x00000995 hfetcht  0x00000001 , 0x00008073 
+ 00001621  0x00000996 or_into  0x00000002 , 0x00000002 
+ 00001622  0x00000997 hstoret  0x00000001 , 0x00008073 
+ 00001623  0x00000998 call  0x000063ee 
+ 00001624  0x00000999 and_into  0x000000fd , 0x00000002 
+ 00001625  0x0000099a nop  0x0000000d 
+ 00001626  0x0000099b call  0x0000065e 
+ 00001627  0x0000099c hstoret  0x00000001 , 0x00008073 
+ 00001628  0x0000099d rtn 
+ 00001629  0x000009a0 call  0x000064dd 
+ 00001630  0x000009a2 hfetch  0x00000001 , 0x00008081 
+ 00001631  0x000009a3 set1  0x00000000 , 0x0000003f 
+ 00001632  0x000009a4 set0  0x00000001 , 0x0000003f 
+ 00001633  0x000009a5 set0  0x00000003 , 0x0000003f 
+ 00001634  0x000009a6 hstore  0x00000001 , 0x00008081 
+ 00001635  0x000009a7 rtn 
+ 00001636  0x000009ab jam  0x00000000 , 0x000011c5 
+ 00001637  0x000009ac branch  0x0000077a 
+ 00001638  0x000009af call  0x000021c9 
+ 00001639  0x000009b0 nrtn  0x00000028 
+ 00001640  0x000009b2 disable  0x00000028 
+ 00001641  0x000009b3 jam  0x00000020 , 0x00000011 
+ 00001642  0x000009b4 set0  0x0000000b , 0x00000000 
+ 00001643  0x000009b5 set0  0x0000002d , 0x00000000 
+ 00001644  0x000009b7 call  0x00002a4f 
+ 00001645  0x000009b8 call  0x000022e6 
+ 00001646  0x000009b9 bmark1  0x0000000b , 0x00000673 
+ 00001647  0x000009ba call  0x00002455 
+ 00001648  0x000009bb nbranch  0x0000066c , 0x00000034 
+ 00001649  0x000009bc bmark1  0x0000002d , 0x0000067b 
+ 00001650  0x000009bd branch  0x000021ec 
+ 00001651  0x000009c0 call  0x00002a4d 
+ 00001652  0x000009c1 arg  0x00000010 , 0x00000001 
+ 00001653  0x000009c2 call  0x000022dc 
+ 00001654  0x000009c3 set1  0x0000002d , 0x00000000 
+ 00001655  0x000009c4 set0  0x0000000b , 0x00000000 
+ 00001656  0x000009c5 force  0x00000001 , 0x00000004 
+ 00001657  0x000009c6 jam  0x00000002 , 0x00000011 
+ 00001658  0x000009c7 branch  0x0000066c 
+ 00001659  0x000009ca fetch  0x00000004 , 0x00000165 
+ 00001660  0x000009cb pincrease  0x00000008 
+ 00001661  0x000009cc store  0x00000004 , 0x00000165 
+ 00001662  0x000009cd branch  0x000021f8 
+ 00001663  0x000009d0 bmark1  0x0000002c , 0x0000264d 
+ 00001664  0x000009d1 branch  0x0000258f 
+ 00001665  0x000009d4 call  0x000033af 
+ 00001666  0x000009d5 call  0x000026e9 
+ 00001667  0x000009d6 jam  0x00000002 , 0x00000a99 
+ 00001668  0x000009d7 call  0x00007d86 
+ 00001669  0x000009d8 call  0x00005cf7 
+ 00001670  0x000009d9 call  0x00004d6b 
+ 00001671  0x000009da branch  0x0000246e 
+ 00001672  0x000009dd fetch  0x00000001 , 0x00000030 
+ 00001673  0x000009de isolate1  0x00000000 , 0x0000003f 
+ 00001674  0x000009df call  0x0000068c , 0x00000001 
+ 00001675  0x000009e0 branch  0x0000248a 
+ 00001676  0x000009e2 fetch  0x00000001 , 0x00000047 
+ 00001677  0x000009e3 isolate1  0x00000003 , 0x0000003f 
+ 00001678  0x000009e4 call  0x00000713 , 0x00000001 
+ 00001679  0x000009e5 ncall  0x0000070f , 0x00000001 
+ 00001680  0x000009e6 branch  0x0000071d 
+ 00001681  0x000009e9 call  0x000024f0 
+ 00001682  0x000009ea nbranch  0x000028f9 , 0x00000018 
+ 00001683  0x000009eb call  0x000029bb 
+ 00001684  0x000009ec call  0x0000006b 
+ 00001685  0x000009ed branch  0x00002518 
+ 00001686  0x000009f0 rtnmark1  0x00000026 
+ 00001687  0x000009f1 call  0x00002afa 
+ 00001688  0x000009f2 fetch  0x00000003 , 0x0000416f 
+ 00001689  0x000009f3 rtn  0x00000034 
+ 00001690  0x000009f4 fetch  0x00000001 , 0x00004091 
+ 00001691  0x000009f5 rtn  0x00000034 
+ 00001692  0x000009f6 fetch  0x00000001 , 0x000046cf 
+ 00001693  0x000009f7 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00001694  0x000009f8 rtn  0x00000002 
+ 00001695  0x000009f9 fetch  0x00000001 , 0x0000465a 
+ 00001696  0x000009fa branch  0x000006a3 , 0x00000034 
+ 00001697  0x000009fb fetch  0x00000001 , 0x000045b1 
+ 00001698  0x000009fc rtn  0x00000034 
+ 00001699  0x000009fe fetch  0x00000001 , 0x000044c0 
+ 00001700  0x000009ff nrtn  0x00000034 
+ 00001701  0x00000a00 call  0x00002c3a 
+ 00001702  0x00000a01 nrtn  0x00000034 
+ 00001703  0x00000a02 fetch  0x00000001 , 0x00004040 
+ 00001704  0x00000a03 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00001705  0x00000a04 nbranch  0x00002b9d , 0x00000001 
+ 00001706  0x00000a05 fetch  0x00000002 , 0x00004042 
+ 00001707  0x00000a06 arg  0x0000ffff , 0x00000002 
+ 00001708  0x00000a07 isub  0x00000002 , 0x0000003e 
+ 00001709  0x00000a08 rtn  0x00000005 
+ 00001710  0x00000a09 branch  0x00002b7d 
+ 00001711  0x00000a0c disable  0x0000002b 
+ 00001712  0x00000a0d fetch  0x00000001 , 0x00000030 
+ 00001713  0x00000a0e rtnbit0  0x00000001 
+ 00001714  0x00000a0f nbranch  0x00002bd0 , 0x0000002d 
+ 00001715  0x00000a10 call  0x00002bcb 
+ 00001716  0x00000a11 fetch  0x00000002 , 0x000040c1 
+ 00001717  0x00000a12 store  0x00000002 , 0x0000003e 
+ 00001718  0x00000a13 fetch  0x00000001 , 0x00000047 
+ 00001719  0x00000a14 bbit1  0x00000003 , 0x00002bde 
+ 00001720  0x00000a15 bmark0  0x0000000d , 0x00002bde 
+ 00001721  0x00000a16 call  0x00005274 
+ 00001722  0x00000a17 nbranch  0x00002bde , 0x00000034 
+ 00001723  0x00000a18 call  0x000006bd , 0x00000034 
+ 00001724  0x00000a19 branch  0x00002bbe 
+ 00001725  0x00000a1b jam  0x00000001 , 0x0000008a 
+ 00001726  0x00000a1c jam  0x00000000 , 0x0000008b 
+ 00001727  0x00000a1d rtn 
+ 00001728  0x00000a20 jam  0x00000010 , 0x000011c5 
+ 00001729  0x00000a21 branch  0x0000077a 
+ 00001730  0x00000a24 jam  0x00000011 , 0x000011c5 
+ 00001731  0x00000a25 branch  0x0000077a 
+ 00001732  0x00000a28 fetch  0x00000001 , 0x00000552 
+ 00001733  0x00000a29 store  0x00000001 , 0x000004c9 
+ 00001734  0x00000a2a beq  0x00000013 , 0x000006c8 
+ 00001735  0x00000a2b branch  0x00005db4 
+ 00001736  0x00000a2d call  0x00005dcf 
+ 00001737  0x00000a2e jam  0x00000001 , 0x00004aff 
+ 00001738  0x00000a2f fetch  0x00000001 , 0x00004b01 
+ 00001739  0x00000a30 rtn  0x00000034 
+ 00001740  0x00000a31 jam  0x00000002 , 0x00004b01 
+ 00001741  0x00000a32 rtn 
+ 00001742  0x00000a35 jam  0x00000020 , 0x000011c5 
+ 00001743  0x00000a36 branch  0x0000077a 
+ 00001744  0x00000a39 call  0x000062bc 
+ 00001745  0x00000a3a nrtn  0x00000034 
+ 00001746  0x00000a3c fetch  0x00000001 , 0x00000055 
+ 00001747  0x00000a3d rtn  0x00000034 
+ 00001748  0x00000a3e beq  0x00000004 , 0x000006f2 
+ 00001749  0x00000a3f beq  0x00000010 , 0x000006d7 
+ 00001750  0x00000a40 branch  0x00006320 
+ 00001751  0x00000a43 fetch  0x00000001 , 0x0000455b 
+ 00001752  0x00000a44 rtneq  0x00000000 
+ 00001753  0x00000a45 beq  0x00000001 , 0x000006db 
+ 00001754  0x00000a46 branch  0x0000635f 
+ 00001755  0x00000a48 rtn  0x00000029 
+ 00001756  0x00000a4b fetch  0x00000001 , 0x0000016d 
+ 00001757  0x00000a4c bbit1  0x00000000 , 0x000006df 
+ 00001758  0x00000a4d branch  0x00006399 
+ 00001759  0x00000a4f fetch  0x00000001 , 0x00004b01 
+ 00001760  0x00000a50 beq  0x00000001 , 0x0000639d 
+ 00001761  0x00000a52 fetch  0x00000001 , 0x000041bd 
+ 00001762  0x00000a53 branch  0x000063a9 , 0x00000034 
+ 00001763  0x00000a54 fetch  0x00000001 , 0x000004d1 
+ 00001764  0x00000a55 rtnbit0  0x00000003 
+ 00001765  0x00000a56 rtnbit0  0x00000002 
+ 00001766  0x00000a57 fetch  0x00000001 , 0x00004b00 
+ 00001767  0x00000a58 rtn  0x00000034 
+ 00001768  0x00000a59 jam  0x00000000 , 0x00004b00 
+ 00001769  0x00000a5a fetch  0x00000004 , 0x000004e9 
+ 00001770  0x00000a5b arg  0x00000014 , 0x00000002 
+ 00001771  0x00000a5c iadd  0x00000002 , 0x00000002 
+ 00001772  0x00000a5d copy  0x00000022 , 0x0000003f 
+ 00001773  0x00000a5e isub  0x00000002 , 0x0000003e 
+ 00001774  0x00000a5f nbranch  0x000006f0 , 0x00000002 
+ 00001775  0x00000a60 branch  0x00006349 
+ 00001776  0x00000a63 jam  0x00000001 , 0x00004b00 
+ 00001777  0x00000a64 rtn 
+ 00001778  0x00000a67 jam  0x00000014 , 0x00004809 
+ 00001779  0x00000a68 branch  0x0000636f 
+ 00001780  0x00000a6f call  0x000062bc 
+ 00001781  0x00000a70 nbranch  0x00007ddb , 0x00000034 
+ 00001782  0x00000a71 fetch  0x00000001 , 0x00000a99 
+ 00001783  0x00000a72 bmark0  0x00000009 , 0x00007dd6 
+ 00001784  0x00000a73 beq  0x0000001f , 0x000006ff 
+ 00001785  0x00000a74 beq  0x00000020 , 0x00000702 
+ 00001786  0x00000a75 beq  0x00000012 , 0x000006fc 
+ 00001787  0x00000a76 branch  0x00007dca 
+ 00001788  0x00000a79 call  0x00005890 
+ 00001789  0x00000a7a nrtn  0x00000034 
+ 00001790  0x00000a7b branch  0x00005abf 
+ 00001791  0x00000a7e jam  0x00000034 , 0x00000185 
+ 00001792  0x00000a7f fetch  0x00000006 , 0x0000044f 
+ 00001793  0x00000a80 branch  0x00000704 
+ 00001794  0x00000a82 jam  0x00000033 , 0x00000185 
+ 00001795  0x00000a83 fetch  0x00000006 , 0x00000040 
+ 00001796  0x00000a85 store  0x00000006 , 0x00000186 
+ 00001797  0x00000a87 fetch  0x00000004 , 0x000046d3 
+ 00001798  0x00000a88 rtnbit0  0x00000007 
+ 00001799  0x00000a89 arg  0x00000007 , 0x00000007 
+ 00001800  0x00000a8a call  0x000043d2 
+ 00001801  0x00000a8b call  0x000042e8 
+ 00001802  0x00000a8d call  0x000042fb 
+ 00001803  0x00000a8e branch  0x00000354 
+ 00001804  0x00000a94 jam  0x00000001 , 0x00004d35 
+ 00001805  0x00000a95 jam  0x00000000 , 0x00004d32 
+ 00001806  0x00000a96 rtn 
+ 00001807  0x00000a98 fetch  0x00000001 , 0x00004d32 
+ 00001808  0x00000a99 increase  0x00000001 , 0x0000003f 
+ 00001809  0x00000a9a store  0x00000001 , 0x00004d32 
+ 00001810  0x00000a9b rtn 
+ 00001811  0x00000a9d fetch  0x00000001 , 0x00004d32 
+ 00001812  0x00000a9e sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001813  0x00000a9f ncall  0x0000071b , 0x00000002 
+ 00001814  0x00000aa0 fetch  0x00000001 , 0x00004d32 
+ 00001815  0x00000aa1 rtneq  0x00000000 
+ 00001816  0x00000aa2 increase  0xffffffff , 0x0000003f 
+ 00001817  0x00000aa3 store  0x00000001 , 0x00004d32 
+ 00001818  0x00000aa4 rtn 
+ 00001819  0x00000aa6 jam  0x00000003 , 0x00004d32 
+ 00001820  0x00000aa7 rtn 
+ 00001821  0x00000aaa fetch  0x00000002 , 0x00004682 
+ 00001822  0x00000aab rtnbit1  0x0000000b 
+ 00001823  0x00000aac rtnbit1  0x00000007 
+ 00001824  0x00000aad rtnbit1  0x00000006 
+ 00001825  0x00000aaf arg  0x00004cbb , 0x00000011 
+ 00001826  0x00000ab0 call  0x000002ab 
+ 00001827  0x00000ab1 storet  0x00000001 , 0x00004d33 
+ 00001828  0x00000ab3 setarg  0x00000082 
+ 00001829  0x00000ab4 bmark1  0x00000026 , 0x00000727 
+ 00001830  0x00000ab5 setarg  0x00000080 
+ 00001831  0x00000ab7 isub  0x00000002 , 0x0000003e 
+ 00001832  0x00000ab8 nbranch  0x0000073f , 0x00000002 
+ 00001833  0x00000aba fetch  0x00000001 , 0x00004d32 
+ 00001834  0x00000abb sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001835  0x00000abc nbranch  0x0000072f , 0x00000002 
+ 00001836  0x00000abd fetch  0x00000001 , 0x00004d32 
+ 00001837  0x00000abe beq  0x00000000 , 0x00000740 
+ 00001838  0x00000abf rtn 
+ 00001839  0x00000ac2 fetch  0x00000001 , 0x00004d32 
+ 00001840  0x00000ac3 rtnne  0x00000020 
+ 00001841  0x00000ac4 jam  0x00000000 , 0x00004d32 
+ 00001842  0x00000ac6 fetcht  0x00000001 , 0x00004d33 
+ 00001843  0x00000ac7 setarg  0x00000077 
+ 00001844  0x00000ac8 bmark1  0x00000026 , 0x00000736 
+ 00001845  0x00000ac9 setarg  0x00000075 
+ 00001846  0x00000acb isub  0x00000002 , 0x0000003e 
+ 00001847  0x00000acc nrtn  0x00000002 
+ 00001848  0x00000acd fetch  0x00000001 , 0x00004d35 
+ 00001849  0x00000ace beq  0x00000000 , 0x00000747 
+ 00001850  0x00000acf increase  0xffffffff , 0x0000003f 
+ 00001851  0x00000ad0 store  0x00000001 , 0x00004d35 
+ 00001852  0x00000ad1 beq  0x00000000 , 0x00000747 
+ 00001853  0x00000ad4 jam  0x00000000 , 0x000041de 
+ 00001854  0x00000ad5 rtn 
+ 00001855  0x00000ad8 jam  0x00000000 , 0x00004d32 
+ 00001856  0x00000ada fetch  0x00000001 , 0x00004d35 
+ 00001857  0x00000adb beq  0x00000002 , 0x00000745 
+ 00001858  0x00000adc increase  0x00000001 , 0x0000003f 
+ 00001859  0x00000add store  0x00000001 , 0x00004d35 
+ 00001860  0x00000ade beq  0x00000001 , 0x0000073d 
+ 00001861  0x00000ae0 jam  0x00000002 , 0x000041de 
+ 00001862  0x00000ae1 rtn 
+ 00001863  0x00000ae4 jam  0x00000004 , 0x000041de 
+ 00001864  0x00000ae5 rtn 
+ 00001865  0x00000ae9 storet  0x00000001 , 0x00000017 
+ 00001866  0x00000aea add  0x00000002 , 0x00000000 , 0x00000011 
+ 00001867  0x00000aeb call  0x00002981 
+ 00001868  0x00000aec setarg  0x00000500 
+ 00001869  0x00000aed call  0x00002a8f 
+ 00001870  0x00000aef jam  0x00000001 , 0x00008906 
+ 00001871  0x00000af0 jam  0x0000003c , 0x00008900 
+ 00001872  0x00000af1 jam  0x000000e0 , 0x00008901 
+ 00001873  0x00000af2 nop  0x0000000a 
+ 00001874  0x00000af3 jam  0x00000001 , 0x00008902 
+ 00001875  0x00000af4 jam  0x0000003d , 0x00008902 
+ 00001876  0x00000af5 nop  0x0000000a 
+ 00001877  0x00000af6 jam  0x000000b7 , 0x00008903 
+ 00001878  0x00000af7 nop  0x0000000a 
+ 00001879  0x00000af8 jam  0x0000007d , 0x00008902 
+ 00001880  0x00000af9 fetch  0x00000001 , 0x000041de 
+ 00001881  0x00000afc beq  0x00000002 , 0x00000761 
+ 00001882  0x00000afe beq  0x00000004 , 0x00000766 
+ 00001883  0x00000aff beq  0x00000020 , 0x00000775 
+ 00001884  0x00000b02 call  0x0000076b 
+ 00001885  0x00000b04 jam  0x000000d0 , 0x00008955 
+ 00001886  0x00000b05 jam  0x000000e0 , 0x00008956 
+ 00001887  0x00000b07 jam  0x0000006c , 0x00008958 
+ 00001888  0x00000b09 branch  0x0000294b 
+ 00001889  0x00000b16 call  0x00000770 
+ 00001890  0x00000b18 jam  0x000000d0 , 0x00008955 
+ 00001891  0x00000b19 jam  0x000000e0 , 0x00008956 
+ 00001892  0x00000b1b jam  0x0000003c , 0x00008958 
+ 00001893  0x00000b1d branch  0x00002953 
+ 00001894  0x00000b2a call  0x0000076b 
+ 00001895  0x00000b2c jam  0x000000d0 , 0x00008955 
+ 00001896  0x00000b2d jam  0x000000c0 , 0x00008956 
+ 00001897  0x00000b2f jam  0x0000006c , 0x00008958 
+ 00001898  0x00000b31 branch  0x0000295b 
+ 00001899  0x00000b34 jam  0x0000005b , 0x0000894c 
+ 00001900  0x00000b35 jam  0x00000096 , 0x0000894d 
+ 00001901  0x00000b36 jam  0x0000002c , 0x0000894e 
+ 00001902  0x00000b37 jam  0x00000046 , 0x0000894f 
+ 00001903  0x00000b38 rtn 
+ 00001904  0x00000b3b jam  0x000000fb , 0x0000894c 
+ 00001905  0x00000b3c jam  0x000000ef , 0x0000894d 
+ 00001906  0x00000b3d jam  0x000000ec , 0x0000894e 
+ 00001907  0x00000b3e jam  0x0000005e , 0x0000894f 
+ 00001908  0x00000b3f rtn 
+ 00001909  0x00000b43 jam  0x000000c2 , 0x00008956 
+ 00001910  0x00000b44 jam  0x000000d0 , 0x00008955 
+ 00001911  0x00000b45 rtn 
+ 00001912  0x00000b48 force  0x00000008 , 0x00000015 
+ 00001913  0x00000b49 branch  0x000028fa 
+ 00001914  0x00000b4e fetcht  0x00000001 , 0x000011c5 
+ 00001915  0x00000b4f rshift4  0x00000002 , 0x00000002 
+ 00001916  0x00000b50 fetch  0x00000001 , 0x00004b65 
+ 00001917  0x00000b51 isub  0x00000002 , 0x0000003e 
+ 00001918  0x00000b52 branch  0x00000799 , 0x00000005 
+ 00001919  0x00000b53 storet  0x00000001 , 0x00004b65 
+ 00001920  0x00000b54 increase  0x00000001 , 0x00000002 
+ 00001921  0x00000b55 setarg  0x00000100 
+ 00001922  0x00000b56 imul32  0x00000002 , 0x00000002 
+ 00001923  0x00000b57 fetch  0x00000003 , 0x00004b66 
+ 00001924  0x00000b58 isub  0x00000002 , 0x0000003f 
+ 00001925  0x00000b5a fetcht  0x00000003 , 0x00004b69 
+ 00001926  0x00000b5b iadd  0x00000002 , 0x0000003f 
+ 00001927  0x00000b5c increase  0xfffffffb , 0x0000003f 
+ 00001928  0x00000b5d store  0x00000003 , 0x00004b6c 
+ 00001929  0x00000b5f call  0x000003a6 
+ 00001930  0x00000b61 fetch  0x00000003 , 0x00004b6c 
+ 00001931  0x00000b62 arg  0x00000100 , 0x00000002 
+ 00001932  0x00000b63 arg  0x00001f00 , 0x00000011 
+ 00001933  0x00000b64 call  0x00006562 
+ 00001934  0x00000b65 fetch  0x00000004 , 0x00001f00 
+ 00001935  0x00000b66 fetcht  0x00000004 , 0x00004b6f 
+ 00001936  0x00000b67 isub  0x00000002 , 0x0000003e 
+ 00001937  0x00000b68 nbranch  0x0000078a , 0x00000005 
+ 00001938  0x00000b69 call  0x00000310 
+ 00001939  0x00000b6b setarg  0x00001f00 
+ 00001940  0x00000b6c store  0x00000002 , 0x00004199 
+ 00001941  0x00000b6d jam  0x00000040 , 0x0000419b 
+ 00001942  0x00000b6e call  0x000064ca 
+ 00001943  0x00000b6f setarg  0x00000000 
+ 00001944  0x00000b70 store  0x00000004 , 0x00004199 
+ 00001945  0x00000b72 fetch  0x00000001 , 0x000011c5 
+ 00001946  0x00000b73 branch  0x00000001 
+ 00001947  0x00000b7b arg  0x00000005 , 0x00000039 
+ 00001948  0x00000b7c arg  0x00004b0b , 0x00000005 
+ 00001949  0x00000b7d branch  0x00007ed4 
+ 00001950  0x00000b80 fetch  0x00000004 , 0x0000469b 
+ 00001951  0x00000b81 rtn  0x00000034 
+ 00001952  0x00000b82 call  0x000007ef 
+ 00001953  0x00000b83 setarg  0x00000006 
+ 00001954  0x00000b84 call  0x000007e2 
+ 00001955  0x00000b85 setarg  0x00000003 
+ 00001956  0x00000b86 call  0x000007e8 
+ 00001957  0x00000b87 fetch  0x00000001 , 0x00004b0b 
+ 00001958  0x00000b88 beq  0x00000001 , 0x000007a8 
+ 00001959  0x00000b89 branch  0x0000079b 
+ 00001960  0x00000b8c fetch  0x00000002 , 0x00004b0c 
+ 00001961  0x00000b8d store  0x00000002 , 0x000011be 
+ 00001962  0x00000b8e fetch  0x00000002 , 0x0000469b 
+ 00001963  0x00000b8f store  0x00000002 , 0x000011c0 
+ 00001964  0x00000b90 call  0x000007bb 
+ 00001965  0x00000b91 fetch  0x00000002 , 0x000011be 
+ 00001966  0x00000b92 store  0x00000002 , 0x00004b0c 
+ 00001967  0x00000b93 fetch  0x00000002 , 0x000011c0 
+ 00001968  0x00000b94 store  0x00000002 , 0x0000469b 
+ 00001969  0x00000b96 fetch  0x00000002 , 0x00004b0e 
+ 00001970  0x00000b97 store  0x00000002 , 0x000011be 
+ 00001971  0x00000b98 fetch  0x00000002 , 0x0000469d 
+ 00001972  0x00000b99 store  0x00000002 , 0x000011c0 
+ 00001973  0x00000b9a call  0x000007bb 
+ 00001974  0x00000b9b fetch  0x00000002 , 0x000011be 
+ 00001975  0x00000b9c store  0x00000002 , 0x00004b0e 
+ 00001976  0x00000b9d fetch  0x00000002 , 0x000011c0 
+ 00001977  0x00000b9e store  0x00000002 , 0x0000469d 
+ 00001978  0x00000b9f rtn 
+ 00001979  0x00000ba6 fetch  0x00000002 , 0x000011be 
+ 00001980  0x00000ba7 fetcht  0x00000002 , 0x000011c0 
+ 00001981  0x00000ba8 iadd  0x00000002 , 0x0000003f 
+ 00001982  0x00000ba9 store  0x00000003 , 0x000011c2 
+ 00001983  0x00000baa isolate1  0x00000010 , 0x0000003f 
+ 00001984  0x00000bab branch  0x000007c8 , 0x00000001 
+ 00001985  0x00000bac fetch  0x00000001 , 0x000011c3 
+ 00001986  0x00000bad beq  0x000000ff , 0x000007cf 
+ 00001987  0x00000bae fetch  0x00000001 , 0x000011c2 
+ 00001988  0x00000bb0 rshift  0x0000003f , 0x0000003f 
+ 00001989  0x00000bb1 store  0x00000002 , 0x000011be 
+ 00001990  0x00000bb2 store  0x00000002 , 0x000011c0 
+ 00001991  0x00000bb3 rtn 
+ 00001992  0x00000bb5 fetch  0x00000001 , 0x000011c3 
+ 00001993  0x00000bb6 beq  0x00000000 , 0x000007cc 
+ 00001994  0x00000bb7 fetch  0x00000003 , 0x000011c2 
+ 00001995  0x00000bb8 branch  0x000007c4 
+ 00001996  0x00000bba jam  0x00000000 , 0x000011c4 
+ 00001997  0x00000bbb fetch  0x00000001 , 0x000011c2 
+ 00001998  0x00000bbc branch  0x000007c4 
+ 00001999  0x00000bbf fetch  0x00000001 , 0x000011c2 
+ 00002000  0x00000bc0 call  0x000007da 
+ 00002001  0x00000bc1 store  0x00000001 , 0x000011be 
+ 00002002  0x00000bc2 store  0x00000001 , 0x000011c0 
+ 00002003  0x00000bc3 branch  0x000007d8 , 0x00000034 
+ 00002004  0x00000bc4 setarg  0x000000ff 
+ 00002005  0x00000bc6 store  0x00000001 , 0x000011bf 
+ 00002006  0x00000bc7 store  0x00000001 , 0x000011c1 
+ 00002007  0x00000bc8 rtn 
+ 00002008  0x00000bca setarg  0x00000000 
+ 00002009  0x00000bcb branch  0x000007d5 
+ 00002010  0x00000bce sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00002011  0x00000bcf store  0x00000001 , 0x00000aae 
+ 00002012  0x00000bd0 fetch  0x00000001 , 0x00000aae 
+ 00002013  0x00000bd1 rshift  0x0000003f , 0x0000003f 
+ 00002014  0x00000bd2 store  0x00000001 , 0x00000aae 
+ 00002015  0x00000bd3 fetch  0x00000001 , 0x00000aae 
+ 00002016  0x00000bd4 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00002017  0x00000bd5 rtn 
+ 00002018  0x00000bd9 isub  0x00000011 , 0x0000003e 
+ 00002019  0x00000bda nbranch  0x000007ed , 0x00000002 
+ 00002020  0x00000bdb isub  0x00000012 , 0x0000003e 
+ 00002021  0x00000bdc nbranch  0x000007ed , 0x00000002 
+ 00002022  0x00000bde jam  0x00000000 , 0x00004b0b 
+ 00002023  0x00000bdf rtn 
+ 00002024  0x00000be1 isub  0x00000011 , 0x0000003e 
+ 00002025  0x00000be2 nrtn  0x00000002 
+ 00002026  0x00000be3 isub  0x00000012 , 0x0000003e 
+ 00002027  0x00000be4 nrtn  0x00000002 
+ 00002028  0x00000be5 branch  0x000007e6 
+ 00002029  0x00000be7 jam  0x00000001 , 0x00004b0b 
+ 00002030  0x00000be8 rtn 
+ 00002031  0x00000beb fetch  0x00000002 , 0x0000469b 
+ 00002032  0x00000bec store  0x00000002 , 0x000011c0 
+ 00002033  0x00000bed call  0x000007f8 
+ 00002034  0x00000bee copy  0x0000003f , 0x00000011 
+ 00002035  0x00000bef fetch  0x00000002 , 0x0000469d 
+ 00002036  0x00000bf0 store  0x00000002 , 0x000011c0 
+ 00002037  0x00000bf1 call  0x000007f8 
+ 00002038  0x00000bf2 copy  0x0000003f , 0x00000012 
+ 00002039  0x00000bf3 rtn 
+ 00002040  0x00000bfa fetch  0x00000001 , 0x000011c1 
+ 00002041  0x00000bfb beq  0x000000ff , 0x000007fd 
+ 00002042  0x00000bfc fetch  0x00000001 , 0x000011c0 
+ 00002043  0x00000bfe and_into  0x000000ff , 0x0000003f 
+ 00002044  0x00000c00 rtn 
+ 00002045  0x00000c02 fetch  0x00000002 , 0x000011c0 
+ 00002046  0x00000c03 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00002047  0x00000c04 branch  0x000007fb 
+ 00008192  0x00000c11 call  0x00002abc 
+ 00008193  0x00000c14 bpatch  0x00000000 , 0x00004000 
+ 00008194  0x00000c15 clear_stack 
+ 00008195  0x00000c16 call  0x0000640d 
+ 00008196  0x00000c17 call  0x0000296c 
+ 00008197  0x00000c18 call  0x000065a3 
+ 00008198  0x00000c19 call  0x00002a96 
+ 00008199  0x00000c1a call  0x00004d6a 
+ 00008200  0x00000c1b bpatch  0x00000001 , 0x00004000 
+ 00008201  0x00000c1c call  0x00006a03 
+ 00008202  0x00000c1d call  0x00005cf6 
+ 00008203  0x00000c1e call  0x00007ccc 
+ 00008204  0x00000c1f call  0x000032d8 
+ 00008205  0x00000c20 ncall  0x0000689c , 0x0000002b 
+ 00008206  0x00000c21 bpatch  0x00000002 , 0x00004000 
+ 00008207  0x00000c22 call  0x000032e3 , 0x0000002b 
+ 00008208  0x00000c23 call  0x0000756a 
+ 00008209  0x00000c24 call  0x00002b41 , 0x0000002b 
+ 00008210  0x00000c26 bpatch  0x00000003 , 0x00004000 
+ 00008211  0x00000c27 call  0x000076dc 
+ 00008212  0x00000c28 call  0x00007aaf 
+ 00008213  0x00000c29 call  0x0000756d 
+ 00008214  0x00000c2a call  0x0000535c 
+ 00008215  0x00000c2b bpatch  0x00000004 , 0x00004000 
+ 00008216  0x00000c2c call  0x00002038 
+ 00008217  0x00000c2d call  0x000032ed 
+ 00008218  0x00000c2e call  0x0000208f 
+ 00008219  0x00000c2f call  0x000022f8 
+ 00008220  0x00000c30 call  0x0000236a 
+ 00008221  0x00000c31 call  0x00002021 
+ 00008222  0x00000c32 call  0x00002b6a 
+ 00008223  0x00000c33 call  0x00002c72 
+ 00008224  0x00000c34 branch  0x00002012 
+ 00008225  0x00000c37 call  0x00002026 
+ 00008226  0x00000c38 rtnmark0  0x00000009 
+ 00008227  0x00000c39 set0  0x00000009 , 0x00000000 
+ 00008228  0x00000c3a call  0x00002223 
+ 00008229  0x00000c3b branch  0x000053ce 
+ 00008230  0x00000c3e bpatch  0x00000005 , 0x00004000 
+ 00008231  0x00000c3f call  0x0000225e 
+ 00008232  0x00000c40 nbranch  0x0000202f , 0x00000005 
+ 00008233  0x00000c41 call  0x0000220a 
+ 00008234  0x00000c42 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008235  0x00000c43 ifetch  0x00000001 , 0x00000006 
+ 00008236  0x00000c44 bbit1  0x00000000 , 0x00005360 
+ 00008237  0x00000c45 bbit1  0x00000001 , 0x00002166 
+ 00008238  0x00000c46 branch  0x000023cf 
+ 00008239  0x00000c48 call  0x0000222b 
+ 00008240  0x00000c49 copy  0x00000039 , 0x0000003e 
+ 00008241  0x00000c4a rtn  0x00000005 
+ 00008242  0x00000c4b call  0x0000220a 
+ 00008243  0x00000c4c fetch  0x00000001 , 0x00000030 
+ 00008244  0x00000c4d bbit1  0x00000003 , 0x000020d3 
+ 00008245  0x00000c4e fetch  0x00000001 , 0x00000031 
+ 00008246  0x00000c4f bbit1  0x00000001 , 0x00002166 
+ 00008247  0x00000c50 branch  0x000023cf 
+ 00008248  0x00000c59 fetch  0x00000001 , 0x000041ce 
+ 00008249  0x00000c5a rtn  0x00000034 
+ 00008250  0x00000c5b beq  0x00000001 , 0x00002048 
+ 00008251  0x00000c5c beq  0x00000002 , 0x0000204d 
+ 00008252  0x00000c5d beq  0x00000003 , 0x00002050 
+ 00008253  0x00000c5e beq  0x00000005 , 0x00002055 
+ 00008254  0x00000c5f beq  0x0000001b , 0x00002045 
+ 00008255  0x00000c60 call  0x00002257 
+ 00008256  0x00000c61 rtn  0x00000005 
+ 00008257  0x00000c62 call  0x0000225a 
+ 00008258  0x00000c63 rtn  0x00000005 
+ 00008259  0x00000c65 jam  0x00000000 , 0x000041ce 
+ 00008260  0x00000c66 rtn 
+ 00008261  0x00000c69 jam  0x0000001b , 0x0000049b 
+ 00008262  0x00000c6a jam  0x00000000 , 0x000041ce 
+ 00008263  0x00000c6b rtn 
+ 00008264  0x00000c6e set1  0x0000001c , 0x00000000 
+ 00008265  0x00000c6f set0  0x0000001e , 0x00000000 
+ 00008266  0x00000c70 jam  0x000000ff , 0x0000008f 
+ 00008267  0x00000c71 jam  0x0000001f , 0x0000008d 
+ 00008268  0x00000c72 branch  0x00002043 
+ 00008269  0x00000c75 set0  0x0000001c , 0x00000000 
+ 00008270  0x00000c76 force  0x00000000 , 0x0000001b 
+ 00008271  0x00000c77 branch  0x00002043 
+ 00008272  0x00000c7a call  0x0000225a 
+ 00008273  0x00000c7b rtn  0x00000005 
+ 00008274  0x00000c7c force  0x00000001 , 0x00000002 
+ 00008275  0x00000c7d jam  0x00000005 , 0x0000016e 
+ 00008276  0x00000c7e branch  0x0000205c 
+ 00008277  0x00000c81 bpatch  0x00000006 , 0x00004000 
+ 00008278  0x00000c83 fetch  0x00000006 , 0x000041d0 
+ 00008279  0x00000c84 branch  0x00002043 , 0x00000034 
+ 00008280  0x00000c85 jam  0x00000001 , 0x00004681 
+ 00008281  0x00000c87 jam  0x00000003 , 0x00000055 
+ 00008282  0x00000c88 branch  0x0000205b 
+ 00008283  0x00000c8b force  0x00000025 , 0x00000002 
+ 00008284  0x00000c8d bpatch  0x00000007 , 0x00004000 
+ 00008285  0x00000c8e fetch  0x00000001 , 0x000000f1 
+ 00008286  0x00000c8f branch  0x00002062 , 0x00000034 
+ 00008287  0x00000c90 lshift3  0x0000003f , 0x0000003f 
+ 00008288  0x00000c91 lshift4  0x0000003f , 0x0000003f 
+ 00008289  0x00000c92 increase  0xffffffff , 0x0000003f 
+ 00008290  0x00000c94 store  0x00000001 , 0x000040a6 
+ 00008291  0x00000c95 store  0x00000001 , 0x000000f0 
+ 00008292  0x00000c96 jam  0x0000001f , 0x0000008e 
+ 00008293  0x00000c97 set0  0x0000000c , 0x00000000 
+ 00008294  0x00000c98 call  0x0000223b 
+ 00008295  0x00000c99 nbranch  0x00002083 , 0x00000005 
+ 00008296  0x00000c9a call  0x00002a6f 
+ 00008297  0x00000c9b store  0x00000001 , 0x00000077 
+ 00008298  0x00000c9c storet  0x00000001 , 0x0000007c 
+ 00008299  0x00000c9d fetch  0x00000006 , 0x000041d0 
+ 00008300  0x00000c9e store  0x00000006 , 0x00000040 
+ 00008301  0x00000c9f bpatch  0x00000008 , 0x00004001 
+ 00008302  0x00000ca0 call  0x00007f15 
+ 00008303  0x00000ca1 force  0x00000000 , 0x0000003f 
+ 00008304  0x00000ca2 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008305  0x00000ca3 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00008306  0x00000ca4 set1  0x00000003 , 0x0000003f 
+ 00008307  0x00000ca5 store  0x00000001 , 0x00000030 
+ 00008308  0x00000ca6 jam  0x00000003 , 0x00000a99 
+ 00008309  0x00000ca7 call  0x00007d86 
+ 00008310  0x00000ca8 force  0x00000000 , 0x0000003f 
+ 00008311  0x00000ca9 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00008312  0x00000caa store  0x00000001 , 0x0000004c 
+ 00008313  0x00000cab setarg  0x00000000 
+ 00008314  0x00000cac set1  0x00000001 , 0x0000003f 
+ 00008315  0x00000cad store  0x00000001 , 0x00000031 
+ 00008316  0x00000cae enable  0x00000029 
+ 00008317  0x00000caf call  0x00002223 
+ 00008318  0x00000cb0 disable  0x00000029 
+ 00008319  0x00000cb1 force  0x00000003 , 0x00000007 
+ 00008320  0x00000cb2 fetch  0x00000002 , 0x000040b9 
+ 00008321  0x00000cb3 call  0x00007f08 
+ 00008322  0x00000cb4 branch  0x00002043 
+ 00008323  0x00000cb6 bpatch  0x00000009 , 0x00004001 
+ 00008324  0x00000cb7 fetch  0x00000006 , 0x000041d0 
+ 00008325  0x00000cb8 store  0x00000006 , 0x00000040 
+ 00008326  0x00000cb9 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008327  0x00000cba branch  0x00002089 , 0x00000001 
+ 00008328  0x00000cbb branch  0x00002043 
+ 00008329  0x00000cbd arg  0x00000101 , 0x00000005 
+ 00008330  0x00000cbe arg  0x00000008 , 0x00000039 
+ 00008331  0x00000cbf call  0x00007ec6 
+ 00008332  0x00000cc0 jam  0x00000004 , 0x00000a99 
+ 00008333  0x00000cc1 call  0x00007d86 
+ 00008334  0x00000cc2 branch  0x00002043 
+ 00008335  0x00000cca rtnmark0  0x0000001c 
+ 00008336  0x00000ccb force  0x00000001 , 0x00000007 
+ 00008337  0x00000ccc call  0x00007f16 
+ 00008338  0x00000ccd nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00008339  0x00000cce nbranch  0x00002095 , 0x00000034 
+ 00008340  0x00000ccf rtn 
+ 00008341  0x00000cd4 bpatch  0x0000000a , 0x00004001 
+ 00008342  0x00000cd5 fetcht  0x00000002 , 0x000040bb 
+ 00008343  0x00000cd6 force  0x00000004 , 0x00000007 
+ 00008344  0x00000cd7 call  0x0000271c 
+ 00008345  0x00000cd8 rtn  0x00000028 
+ 00008346  0x00000cd9 call  0x000028a4 
+ 00008347  0x00000cda force  0x00000000 , 0x00000024 
+ 00008348  0x00000cdc rtn  0x00000003 
+ 00008349  0x00000cdd set0  0x0000000b , 0x00000000 
+ 00008350  0x00000cde set0  0x00000000 , 0x00000000 
+ 00008351  0x00000ce0 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008352  0x00000ce1 isolate1  0x0000001e , 0x00000000 
+ 00008353  0x00000ce2 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008354  0x00000ce3 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008355  0x00000ce4 nbranch  0x000020be , 0x00000001 
+ 00008356  0x00000ce7 bpatch  0x0000000b , 0x00004001 
+ 00008357  0x00000ce8 fetch  0x00000001 , 0x00000012 
+ 00008358  0x00000ce9 increase  0x00000001 , 0x0000003f 
+ 00008359  0x00000cea store  0x00000001 , 0x00000012 
+ 00008360  0x00000ceb call  0x000028d8 
+ 00008361  0x00000cec call  0x000028d2 
+ 00008362  0x00000ced call  0x000028f2 
+ 00008363  0x00000cee call  0x00002a51 
+ 00008364  0x00000cef call  0x00002a56 
+ 00008365  0x00000cf0 call  0x00002a64 
+ 00008366  0x00000cf1 call  0x0000264d 
+ 00008367  0x00000cf2 call  0x000020b1 
+ 00008368  0x00000cf3 branch  0x0000209c 
+ 00008369  0x00000cf6 bpatch  0x0000000c , 0x00004001 
+ 00008370  0x00000cf7 fetch  0x00000001 , 0x0000008d 
+ 00008371  0x00000cf8 increase  0xffffffff , 0x0000003f 
+ 00008372  0x00000cf9 store  0x00000001 , 0x0000008d 
+ 00008373  0x00000cfa rtn  0x00000002 
+ 00008374  0x00000cfb jam  0x0000001f , 0x0000008d 
+ 00008375  0x00000cfc fetch  0x00000001 , 0x0000008f 
+ 00008376  0x00000cfd increase  0xffffffff , 0x0000003f 
+ 00008377  0x00000cfe store  0x00000001 , 0x0000008f 
+ 00008378  0x00000cff rtn  0x00000002 
+ 00008379  0x00000d00 setflip  0x0000001e , 0x00000000 
+ 00008380  0x00000d01 jam  0x000000ff , 0x0000008f 
+ 00008381  0x00000d02 rtn 
+ 00008382  0x00000d05 bpatch  0x0000000d , 0x00004001 
+ 00008383  0x00000d06 call  0x000028d8 
+ 00008384  0x00000d07 call  0x000028cc 
+ 00008385  0x00000d08 call  0x000028f2 
+ 00008386  0x00000d09 call  0x00002a5b 
+ 00008387  0x00000d0a call  0x000029eb 
+ 00008388  0x00000d0b call  0x00002a0d 
+ 00008389  0x00000d0c branch  0x000020c8 , 0x00000018 
+ 00008390  0x00000d0d call  0x000020b1 
+ 00008391  0x00000d0e branch  0x0000209f 
+ 00008392  0x00000d10 bpatch  0x0000000e , 0x00004001 
+ 00008393  0x00000d11 call  0x000029bb 
+ 00008394  0x00000d12 call  0x00002a6b 
+ 00008395  0x00000d13 call  0x0000251e 
+ 00008396  0x00000d14 set0  0x00000001 , 0x00000000 
+ 00008397  0x00000d15 rtnmark0  0x0000000b 
+ 00008398  0x00000d17 bpatch  0x0000000f , 0x00004001 
+ 00008399  0x00000d19 fetch  0x00000001 , 0x00000013 
+ 00008400  0x00000d1a increase  0x00000001 , 0x0000003f 
+ 00008401  0x00000d1b store  0x00000001 , 0x00000013 
+ 00008402  0x00000d1c rtn 
+ 00008403  0x00000d25 bpatch  0x00000010 , 0x00004002 
+ 00008404  0x00000d26 enable  0x00000029 
+ 00008405  0x00000d27 enable  0x00000030 
+ 00008406  0x00000d28 fetch  0x00000002 , 0x000040b5 
+ 00008407  0x00000d29 branch  0x000020db , 0x00000034 
+ 00008408  0x00000d2a force  0x00000008 , 0x00000007 
+ 00008409  0x00000d2b call  0x00007f16 
+ 00008410  0x00000d2c nrtn  0x00000034 
+ 00008411  0x00000d2e bpatch  0x00000011 , 0x00004002 
+ 00008412  0x00000d2f fetcht  0x00000002 , 0x000040b7 
+ 00008413  0x00000d30 force  0x00000028 , 0x00000007 
+ 00008414  0x00000d31 call  0x0000271c 
+ 00008415  0x00000d32 branch  0x00002114 , 0x00000028 
+ 00008416  0x00000d33 force  0x00000003 , 0x00000007 
+ 00008417  0x00000d34 call  0x00007f16 
+ 00008418  0x00000d35 nbranch  0x000020f0 , 0x00000034 
+ 00008419  0x00000d36 fetch  0x00000001 , 0x0000004c 
+ 00008420  0x00000d37 bbit1  0x00000004 , 0x000020e6 
+ 00008421  0x00000d38 branch  0x000020e9 
+ 00008422  0x00000d3a arg  0x00000101 , 0x00000005 
+ 00008423  0x00000d3b arg  0x00000008 , 0x00000039 
+ 00008424  0x00000d3c call  0x00007ec6 
+ 00008425  0x00000d3e bpatch  0x00000012 , 0x00004002 
+ 00008426  0x00000d3f jam  0x00000000 , 0x00000030 
+ 00008427  0x00000d40 call  0x00005cf7 
+ 00008428  0x00000d41 jam  0x00000000 , 0x00004681 
+ 00008429  0x00000d42 jam  0x00000013 , 0x00000a99 
+ 00008430  0x00000d43 call  0x00007d86 
+ 00008431  0x00000d44 branch  0x00002114 
+ 00008432  0x00000d47 bpatch  0x00000013 , 0x00004002 
+ 00008433  0x00000d48 force  0x00000000 , 0x0000000b 
+ 00008434  0x00000d49 until  0x00000023 , 0x00000026 
+ 00008435  0x00000d4a fetch  0x00000001 , 0x000000f2 
+ 00008436  0x00000d4b increase  0xffffffff , 0x0000003f 
+ 00008437  0x00000d4c ixor  0x00000022 , 0x0000003f 
+ 00008438  0x00000d4d compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00008439  0x00000d4e nbranch  0x000020f0 , 0x00000001 
+ 00008440  0x00000d4f deposit  0x00000004 
+ 00008441  0x00000d50 store  0x00000001 , 0x00000181 
+ 00008442  0x00000d51 force  0x00000000 , 0x00000026 
+ 00008443  0x00000d52 force  0x00000000 , 0x00000024 
+ 00008444  0x00000d55 bpatch  0x00000014 , 0x00004002 
+ 00008445  0x00000d56 branch  0x00002114 , 0x00000003 
+ 00008446  0x00000d57 call  0x000028dc 
+ 00008447  0x00000d58 arg  0x00000600 , 0x0000000b 
+ 00008448  0x00000d59 until  0x00000023 , 0x00000026 
+ 00008449  0x00000d5b bpatch  0x00000015 , 0x00004002 
+ 00008450  0x00000d5c fetch  0x00000004 , 0x000000f2 
+ 00008451  0x00000d5d iforce  0x00000021 
+ 00008452  0x00000d5e increase  0x00000001 , 0x0000003f 
+ 00008453  0x00000d5f store  0x00000004 , 0x000000f2 
+ 00008454  0x00000d60 isolate1  0x0000000c , 0x00000000 
+ 00008455  0x00000d61 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008456  0x00000d62 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008457  0x00000d63 nbranch  0x00002128 , 0x00000001 
+ 00008458  0x00000d64 fetch  0x00000001 , 0x0000000c 
+ 00008459  0x00000d65 increase  0x00000001 , 0x0000003f 
+ 00008460  0x00000d66 store  0x00000001 , 0x0000000c 
+ 00008461  0x00000d67 call  0x000028d2 
+ 00008462  0x00000d68 call  0x00002a51 
+ 00008463  0x00000d69 call  0x00002a56 
+ 00008464  0x00000d6a call  0x00002a64 
+ 00008465  0x00000d6b call  0x0000264d 
+ 00008466  0x00000d6c call  0x0000211a 
+ 00008467  0x00000d6d branch  0x000020fc 
+ 00008468  0x00000d6f bpatch  0x00000016 , 0x00004002 
+ 00008469  0x00000d70 disable  0x00000029 
+ 00008470  0x00000d71 fetch  0x00000002 , 0x000040b5 
+ 00008471  0x00000d72 rtn  0x00000034 
+ 00008472  0x00000d73 force  0x00000008 , 0x00000007 
+ 00008473  0x00000d74 branch  0x00007f08 
+ 00008474  0x00000d77 bpatch  0x00000017 , 0x00004002 
+ 00008475  0x00000d78 fetch  0x00000001 , 0x0000008e 
+ 00008476  0x00000d79 increase  0xffffffff , 0x0000003f 
+ 00008477  0x00000d7a store  0x00000001 , 0x0000008e 
+ 00008478  0x00000d7b rtn  0x00000002 
+ 00008479  0x00000d7c jam  0x0000001f , 0x0000008e 
+ 00008480  0x00000d7d fetch  0x00000001 , 0x000000f0 
+ 00008481  0x00000d7e increase  0xffffffff , 0x0000003f 
+ 00008482  0x00000d7f store  0x00000001 , 0x000000f0 
+ 00008483  0x00000d80 rtn  0x00000002 
+ 00008484  0x00000d81 setflip  0x0000000c , 0x00000000 
+ 00008485  0x00000d82 fetch  0x00000001 , 0x000040a6 
+ 00008486  0x00000d83 store  0x00000001 , 0x000000f0 
+ 00008487  0x00000d84 rtn 
+ 00008488  0x00000d87 bpatch  0x00000018 , 0x00004003 
+ 00008489  0x00000d88 call  0x000028cc 
+ 00008490  0x00000d89 call  0x00002a5b 
+ 00008491  0x00000d8a call  0x000029eb 
+ 00008492  0x00000d8b call  0x00002a0d 
+ 00008493  0x00000d8c branch  0x00002130 , 0x00000018 
+ 00008494  0x00000d8d call  0x0000211a 
+ 00008495  0x00000d8e branch  0x00002101 
+ 00008496  0x00000d90 call  0x0000264d 
+ 00008497  0x00000d91 fetch  0x00000001 , 0x0000000d 
+ 00008498  0x00000d92 increase  0x00000001 , 0x0000003f 
+ 00008499  0x00000d93 store  0x00000001 , 0x0000000d 
+ 00008500  0x00000d94 force  0x00000000 , 0x0000001b 
+ 00008501  0x00000d95 fetch  0x00000004 , 0x000000f2 
+ 00008502  0x00000d97 bpatch  0x00000019 , 0x00004003 
+ 00008503  0x00000d98 call  0x00002a4f 
+ 00008504  0x00000d99 call  0x000028dc 
+ 00008505  0x00000d9a increase  0x00000001 , 0x00000026 
+ 00008506  0x00000d9c and_into  0x000001fd , 0x00000021 
+ 00008507  0x00000d9d and_into  0x000001fc , 0x00000024 
+ 00008508  0x00000d9e call  0x000028d2 
+ 00008509  0x00000d9f call  0x00002a51 
+ 00008510  0x00000da0 call  0x00002a56 
+ 00008511  0x00000da1 call  0x00002a64 
+ 00008512  0x00000da2 deposit  0x00000022 
+ 00008513  0x00000da3 store  0x00000004 , 0x00000161 
+ 00008514  0x00000da4 force  0x00000000 , 0x00000004 
+ 00008515  0x00000da5 force  0x00000002 , 0x00000001 
+ 00008516  0x00000da6 call  0x00002a6b 
+ 00008517  0x00000da7 call  0x00002766 
+ 00008518  0x00000da9 bpatch  0x0000001a , 0x00004003 
+ 00008519  0x00000daa call  0x00002a4d 
+ 00008520  0x00000dab or_into  0x00000002 , 0x00000021 
+ 00008521  0x00000dac and_into  0x000001fc , 0x00000024 
+ 00008522  0x00000dad call  0x000028cc 
+ 00008523  0x00000dae call  0x00002a5b 
+ 00008524  0x00000daf call  0x000029eb 
+ 00008525  0x00000db0 call  0x00002a0d 
+ 00008526  0x00000db1 call  0x0000264d , 0x00000018 
+ 00008527  0x00000db2 branch  0x00002155 , 0x00000018 
+ 00008528  0x00000db3 fetch  0x00000001 , 0x00000010 
+ 00008529  0x00000db4 branch  0x000020fc , 0x00000034 
+ 00008530  0x00000db5 increase  0xffffffff , 0x0000003f 
+ 00008531  0x00000db6 store  0x00000001 , 0x00000010 
+ 00008532  0x00000db7 branch  0x00002136 
+ 00008533  0x00000dba bpatch  0x0000001b , 0x00004003 
+ 00008534  0x00000dbb fetch  0x00000001 , 0x0000000e 
+ 00008535  0x00000dbc increase  0x00000001 , 0x0000003f 
+ 00008536  0x00000dbd store  0x00000001 , 0x0000000e 
+ 00008537  0x00000dbe call  0x00002435 
+ 00008538  0x00000dc0 call  0x000022f2 
+ 00008539  0x00000dc1 branch  0x0000215f , 0x00000018 
+ 00008540  0x00000dc2 call  0x00002455 
+ 00008541  0x00000dc3 nbranch  0x0000215a , 0x00000034 
+ 00008542  0x00000dc4 branch  0x000020fc 
+ 00008543  0x00000dc7 bpatch  0x0000001c , 0x00004003 
+ 00008544  0x00000dc8 fetch  0x00000001 , 0x00000030 
+ 00008545  0x00000dc9 set0  0x00000003 , 0x0000003f 
+ 00008546  0x00000dca store  0x00000001 , 0x00000030 
+ 00008547  0x00000dcb call  0x00002440 
+ 00008548  0x00000dcc disable  0x00000029 
+ 00008549  0x00000dcd rtn 
+ 00008550  0x00000dd1 bpatch  0x0000001d , 0x00004003 
+ 00008551  0x00000dd2 enable  0x00000029 
+ 00008552  0x00000dd3 enable  0x00000030 
+ 00008553  0x00000dd4 call  0x000021e1 
+ 00008554  0x00000dd5 rtn  0x00000028 
+ 00008555  0x00000dd6 call  0x00002c69 
+ 00008556  0x00000dd7 call  0x00002a4f 
+ 00008557  0x00000dd8 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008558  0x00000dd9 call  0x000028e2 
+ 00008559  0x00000dda force  0x00000003 , 0x00000024 
+ 00008560  0x00000ddb call  0x00006cc2 
+ 00008561  0x00000ddc call  0x00002489 
+ 00008562  0x00000ddd call  0x000028d2 
+ 00008563  0x00000dde call  0x00002a51 
+ 00008564  0x00000ddf call  0x00002a56 
+ 00008565  0x00000de0 call  0x00002a64 
+ 00008566  0x00000de1 call  0x00002762 
+ 00008567  0x00000de3 bpatch  0x0000001e , 0x00004003 
+ 00008568  0x00000de4 call  0x00005d08 
+ 00008569  0x00000de5 call  0x000022e4 
+ 00008570  0x00000de6 nbranch  0x00002180 , 0x0000002d 
+ 00008571  0x00000de7 call  0x00002a88 
+ 00008572  0x00000de8 call  0x00002728 
+ 00008573  0x00000de9 fetch  0x00000001 , 0x0000000f 
+ 00008574  0x00000dea increase  0x00000001 , 0x0000003f 
+ 00008575  0x00000deb store  0x00000001 , 0x0000000f 
+ 00008576  0x00000ded bpatch  0x0000001f , 0x00004003 
+ 00008577  0x00000dee call  0x00006caa 
+ 00008578  0x00000def call  0x0000218b 
+ 00008579  0x00000df0 nrtn  0x00000029 
+ 00008580  0x00000df1 call  0x000026f3 
+ 00008581  0x00000df2 nbranch  0x00002188 , 0x00000034 
+ 00008582  0x00000df4 disable  0x00000029 
+ 00008583  0x00000df5 rtn 
+ 00008584  0x00000df8 call  0x00002489 
+ 00008585  0x00000df9 call  0x000022da 
+ 00008586  0x00000dfa branch  0x00002177 
+ 00008587  0x00000dfe branch  0x0000218e , 0x0000002d 
+ 00008588  0x00000dff call  0x00002a7f 
+ 00008589  0x00000e00 branch  0x0000219c , 0x00000002 
+ 00008590  0x00000e02 call  0x000021a7 
+ 00008591  0x00000e03 nbranch  0x0000219c , 0x00000028 
+ 00008592  0x00000e04 fetch  0x00000001 , 0x0000004c 
+ 00008593  0x00000e05 rtnbit0  0x00000004 
+ 00008594  0x00000e06 rtnbit1  0x00000003 
+ 00008595  0x00000e07 fetch  0x00000001 , 0x0000004b 
+ 00008596  0x00000e08 rtnbit1  0x00000003 
+ 00008597  0x00000e09 call  0x000021ae 
+ 00008598  0x00000e0a nrtn  0x00000034 
+ 00008599  0x00000e0b fetch  0x00000001 , 0x0000016e 
+ 00008600  0x00000e0c increase  0xffffffff , 0x0000003f 
+ 00008601  0x00000e0d store  0x00000001 , 0x0000016e 
+ 00008602  0x00000e0e nrtn  0x00000034 
+ 00008603  0x00000e0f branch  0x00006006 
+ 00008604  0x00000e12 bpatch  0x00000020 , 0x00004004 
+ 00008605  0x00000e13 call  0x0000245d 
+ 00008606  0x00000e14 disable  0x00000029 
+ 00008607  0x00000e15 fetch  0x00000001 , 0x0000004c 
+ 00008608  0x00000e16 bbit1  0x00000004 , 0x000021a2 
+ 00008609  0x00000e17 rtn 
+ 00008610  0x00000e1a fetch  0x00000001 , 0x0000004c 
+ 00008611  0x00000e1b rtnbit1  0x00000003 
+ 00008612  0x00000e1d arg  0x00000101 , 0x00000005 
+ 00008613  0x00000e1e arg  0x00000008 , 0x00000039 
+ 00008614  0x00000e1f branch  0x00007ec6 
+ 00008615  0x00000e22 bpatch  0x00000021 , 0x00004004 
+ 00008616  0x00000e23 enable  0x00000028 
+ 00008617  0x00000e24 fetch  0x00000001 , 0x0000004b 
+ 00008618  0x00000e25 rtnbit0  0x00000003 
+ 00008619  0x00000e26 call  0x000021ae 
+ 00008620  0x00000e27 nrtn  0x00000034 
+ 00008621  0x00000e28 branch  0x00007fe9 
+ 00008622  0x00000e2b fetch  0x00000001 , 0x00000072 
+ 00008623  0x00000e2c increase  0xffffffff , 0x0000003f 
+ 00008624  0x00000e2d store  0x00000001 , 0x00000072 
+ 00008625  0x00000e2e rtn 
+ 00008626  0x00000e31 bpatch  0x00000022 , 0x00004004 
+ 00008627  0x00000e32 fetch  0x00000001 , 0x00000030 
+ 00008628  0x00000e33 bbit1  0x00000007 , 0x000021bb 
+ 00008629  0x00000e34 fetch  0x00000001 , 0x000009b5 
+ 00008630  0x00000e35 branch  0x000021bb , 0x00000034 
+ 00008631  0x00000e36 jam  0x00000000 , 0x000009b5 
+ 00008632  0x00000e37 jam  0x00000018 , 0x00000a99 
+ 00008633  0x00000e38 call  0x00007d86 
+ 00008634  0x00000e39 branch  0x000021bb 
+ 00008635  0x00000e3b bpatch  0x00000023 , 0x00004004 
+ 00008636  0x00000e3c call  0x00002254 
+ 00008637  0x00000e3d fetch  0x00000001 , 0x00000030 
+ 00008638  0x00000e3e set1  0x00000007 , 0x0000003f 
+ 00008639  0x00000e3f store  0x00000001 , 0x00000030 
+ 00008640  0x00000e40 jam  0x00000001 , 0x000041bd 
+ 00008641  0x00000e41 fetch  0x00000001 , 0x00000055 
+ 00008642  0x00000e42 bne  0x00000016 , 0x000021c3 
+ 00008643  0x00000e44 rtn 
+ 00008644  0x00000e47 jam  0x00000001 , 0x000009b5 
+ 00008645  0x00000e49 fetch  0x00000001 , 0x00000030 
+ 00008646  0x00000e4a set0  0x00000007 , 0x0000003f 
+ 00008647  0x00000e4b store  0x00000001 , 0x00000030 
+ 00008648  0x00000e4c rtn 
+ 00008649  0x00000e51 bpatch  0x00000024 , 0x00004004 
+ 00008650  0x00000e52 disable  0x00000028 
+ 00008651  0x00000e53 fetch  0x00000002 , 0x00000032 
+ 00008652  0x00000e54 arg  0x0000ffff , 0x00000002 
+ 00008653  0x00000e55 isub  0x00000002 , 0x0000003e 
+ 00008654  0x00000e56 nrtn  0x00000005 
+ 00008655  0x00000e57 fetch  0x00000004 , 0x00000034 
+ 00008656  0x00000e58 branch  0x000021d3 , 0x00000030 
+ 00008657  0x00000e59 isub  0x00000028 , 0x0000003f 
+ 00008658  0x00000e5a branch  0x000021d4 
+ 00008659  0x00000e5c isub  0x00000022 , 0x0000003f 
+ 00008660  0x00000e5e sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00008661  0x00000e5f nrtn  0x00000002 
+ 00008662  0x00000e60 force  0x00000000 , 0x0000003f 
+ 00008663  0x00000e61 store  0x00000002 , 0x00000032 
+ 00008664  0x00000e62 branch  0x00007fe7 
+ 00008665  0x00000e67 copy  0x0000003f , 0x00000002 
+ 00008666  0x00000e68 bpatch  0x00000025 , 0x00004004 
+ 00008667  0x00000e69 storet  0x00000004 , 0x00000034 
+ 00008668  0x00000e6b jam  0x00000001 , 0x0000455b 
+ 00008669  0x00000e6c setarg  0x0000ffff 
+ 00008670  0x00000e6d store  0x00000002 , 0x00000032 
+ 00008671  0x00000e6e jam  0x00000001 , 0x00000073 
+ 00008672  0x00000e6f rtn 
+ 00008673  0x00000e73 bpatch  0x00000026 , 0x00004004 
+ 00008674  0x00000e74 call  0x000021c9 
+ 00008675  0x00000e75 nrtn  0x00000028 
+ 00008676  0x00000e76 disable  0x00000028 
+ 00008677  0x00000e77 jam  0x00000020 , 0x00000011 
+ 00008678  0x00000e78 set0  0x0000000b , 0x00000000 
+ 00008679  0x00000e7a call  0x00002a4f 
+ 00008680  0x00000e7b call  0x000022e6 
+ 00008681  0x00000e7c bmark1  0x0000000b , 0x000021f4 
+ 00008682  0x00000e7d call  0x00002455 
+ 00008683  0x00000e7e nbranch  0x000021e7 , 0x00000034 
+ 00008684  0x00000e80 bpatch  0x00000027 , 0x00004004 
+ 00008685  0x00000e81 disable  0x00000028 
+ 00008686  0x00000e82 deposit  0x00000022 
+ 00008687  0x00000e83 store  0x00000004 , 0x000040ca 
+ 00008688  0x00000e84 enable  0x00000030 
+ 00008689  0x00000e85 enable  0x00000029 
+ 00008690  0x00000e86 jam  0x0000002a , 0x00000a99 
+ 00008691  0x00000e87 branch  0x00007d86 
+ 00008692  0x00000e8a bpatch  0x00000028 , 0x00004005 
+ 00008693  0x00000e8b call  0x00002a4d 
+ 00008694  0x00000e8c arg  0x00000010 , 0x00000001 
+ 00008695  0x00000e8d call  0x000022dc 
+ 00008696  0x00000e8e disable  0x00000030 
+ 00008697  0x00000e8f disable  0x00000029 
+ 00008698  0x00000e90 call  0x00002818 
+ 00008699  0x00000e91 call  0x00002435 
+ 00008700  0x00000e93 bpatch  0x00000029 , 0x00004005 
+ 00008701  0x00000e94 call  0x0000247c 
+ 00008702  0x00000e95 branch  0x00002202 , 0x0000002d 
+ 00008703  0x00000e96 call  0x00002455 
+ 00008704  0x00000e97 nbranch  0x000021fc , 0x00000034 
+ 00008705  0x00000e98 branch  0x000021ec 
+ 00008706  0x00000e9a fetch  0x00000001 , 0x00000031 
+ 00008707  0x00000e9b set0  0x00000001 , 0x0000003f 
+ 00008708  0x00000e9c store  0x00000001 , 0x00000031 
+ 00008709  0x00000e9d call  0x00002a88 
+ 00008710  0x00000e9e call  0x00002841 
+ 00008711  0x00000e9f enable  0x00000028 
+ 00008712  0x00000ea0 jam  0x0000002b , 0x00000a99 
+ 00008713  0x00000ea1 branch  0x00007d86 
+ 00008714  0x00000ea7 bpatch  0x0000002a , 0x00004005 
+ 00008715  0x00000ea8 set1  0x00000009 , 0x00000000 
+ 00008716  0x00000ea9 deposit  0x00000011 
+ 00008717  0x00000eaa store  0x00000002 , 0x0000001e 
+ 00008718  0x00000eab force  0x00000050 , 0x00000039 
+ 00008719  0x00000eac arg  0x0000043f , 0x00000005 
+ 00008720  0x00000ead add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008721  0x00000eae ifetch  0x00000001 , 0x00000006 
+ 00008722  0x00000eaf copy  0x00000011 , 0x00000006 
+ 00008723  0x00000eb0 bbit1  0x00000000 , 0x00007f01 
+ 00008724  0x00000eb1 arg  0x00000030 , 0x00000005 
+ 00008725  0x00000eb2 call  0x00007f01 
+ 00008726  0x00000eb3 disable  0x0000002e 
+ 00008727  0x00000eb4 fetch  0x00000001 , 0x00000077 
+ 00008728  0x00000eb5 iforce  0x00000004 
+ 00008729  0x00000eb6 jam  0x00000001 , 0x0000008a 
+ 00008730  0x00000eb7 branch  0x0000221c , 0x00000029 
+ 00008731  0x00000eb8 jam  0x00000001 , 0x0000008a 
+ 00008732  0x00000eba fetch  0x00000001 , 0x00000030 
+ 00008733  0x00000ebb rtnbit0  0x00000001 
+ 00008734  0x00000ebc fetch  0x00000001 , 0x00000073 
+ 00008735  0x00000ebd store  0x00000001 , 0x0000008a 
+ 00008736  0x00000ebe fetch  0x00000001 , 0x00000074 
+ 00008737  0x00000ebf store  0x00000001 , 0x0000008b 
+ 00008738  0x00000ec0 rtn 
+ 00008739  0x00000ec3 bpatch  0x0000002b , 0x00004005 
+ 00008740  0x00000ec4 fetch  0x00000002 , 0x0000001e 
+ 00008741  0x00000ec5 iforce  0x00000005 
+ 00008742  0x00000ec6 force  0x00000050 , 0x00000039 
+ 00008743  0x00000ec7 arg  0x0000043f , 0x00000006 
+ 00008744  0x00000ec8 branch  0x00007f01 , 0x00000036 
+ 00008745  0x00000ec9 arg  0x00000030 , 0x00000006 
+ 00008746  0x00000eca branch  0x00007f01 
+ 00008747  0x00000ecf arg  0x00000001 , 0x00000039 
+ 00008748  0x00000ed0 fetcht  0x00000001 , 0x00000015 
+ 00008749  0x00000ed2 increase  0x00000001 , 0x00000002 
+ 00008750  0x00000ed3 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008751  0x00000ed4 nbranch  0x00002231 , 0x00000001 
+ 00008752  0x00000ed5 arg  0x00000000 , 0x00000002 
+ 00008753  0x00000ed7 storet  0x00000001 , 0x00000015 
+ 00008754  0x00000ed8 mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00008755  0x00000ed9 arg  0x00004040 , 0x00000011 
+ 00008756  0x00000eda iadd  0x00000011 , 0x00000011 
+ 00008757  0x00000edb ifetch  0x00000001 , 0x00000011 
+ 00008758  0x00000edc bbit1  0x00000001 , 0x00002239 
+ 00008759  0x00000edd rtnbit1  0x00000000 
+ 00008760  0x00000ede rtnbit1  0x00000003 
+ 00008761  0x00000ee0 loop  0x0000222d 
+ 00008762  0x00000ee1 rtn 
+ 00008763  0x00000ee4 bpatch  0x0000002c , 0x00004005 
+ 00008764  0x00000ee5 arg  0x0000226a , 0x00000013 
+ 00008765  0x00000ee6 call  0x00002261 
+ 00008766  0x00000ee7 nrtn  0x00000005 
+ 00008767  0x00000ee8 deposit  0x00000011 
+ 00008768  0x00000ee9 store  0x00000002 , 0x0000001e 
+ 00008769  0x00000eea force  0x00000000 , 0x0000003e 
+ 00008770  0x00000eeb rtn 
+ 00008771  0x00000ef0 call  0x00002725 
+ 00008772  0x00000ef1 branch  0x0000224b , 0x00000001 
+ 00008773  0x00000ef2 fetch  0x00000002 , 0x0000001e 
+ 00008774  0x00000ef3 add  0x0000003f , 0x00000017 , 0x00000005 
+ 00008775  0x00000ef4 fetch  0x00000001 , 0x00000047 
+ 00008776  0x00000ef5 istore  0x00000001 , 0x00000005 
+ 00008777  0x00000ef6 arg  0x000022aa , 0x00000013 
+ 00008778  0x00000ef7 branch  0x00002261 
+ 00008779  0x00000efa fetch  0x00000001 , 0x00000047 
+ 00008780  0x00000efb isolate1  0x00000003 , 0x0000003f 
+ 00008781  0x00000efc branch  0x00002250 , 0x00000001 
+ 00008782  0x00000efd force  0x00000001 , 0x0000003e 
+ 00008783  0x00000efe rtn 
+ 00008784  0x00000f00 force  0x00000000 , 0x0000003e 
+ 00008785  0x00000f01 rtn 
+ 00008786  0x00000f05 arg  0x000022a7 , 0x00000013 
+ 00008787  0x00000f06 branch  0x00002261 
+ 00008788  0x00000f09 fetcht  0x00000002 , 0x0000001e 
+ 00008789  0x00000f0a arg  0x000022cf , 0x00000013 
+ 00008790  0x00000f0b branch  0x00002261 
+ 00008791  0x00000f10 fetcht  0x00000001 , 0x000041cf 
+ 00008792  0x00000f12 arg  0x00002275 , 0x00000013 
+ 00008793  0x00000f13 branch  0x00002261 
+ 00008794  0x00000f16 bpatch  0x0000002d , 0x00004005 
+ 00008795  0x00000f17 fetcht  0x00000006 , 0x000041d0 
+ 00008796  0x00000f19 arg  0x0000226e , 0x00000013 
+ 00008797  0x00000f1a branch  0x00002261 
+ 00008798  0x00000f1d arg  0x0000227b , 0x00000013 
+ 00008799  0x00000f1e branch  0x00002261 
+ 00008800  0x00000f21 arg  0x000022c6 , 0x00000013 
+ 00008801  0x00000f23 bpatch  0x0000002e , 0x00004005 
+ 00008802  0x00000f24 arg  0x00004040 , 0x00000011 
+ 00008803  0x00000f25 arg  0x00000001 , 0x00000039 
+ 00008804  0x00000f27 ifetch  0x00000001 , 0x00000011 
+ 00008805  0x00000f28 copy  0x00000013 , 0x0000003d 
+ 00008806  0x00000f2a increase  0x00000050 , 0x00000011 
+ 00008807  0x00000f2b loop  0x00002264 
+ 00008808  0x00000f2c force  0x00000001 , 0x0000003e 
+ 00008809  0x00000f2d rtn 
+ 00008810  0x00000f30 bbit1  0x00000000 , 0x00002266 
+ 00008811  0x00000f31 bbit1  0x00000003 , 0x00002266 
+ 00008812  0x00000f32 force  0x00000000 , 0x0000003e 
+ 00008813  0x00000f33 rtn 
+ 00008814  0x00000f36 bbit1  0x00000003 , 0x00002270 
+ 00008815  0x00000f37 bbit0  0x00000000 , 0x00002266 
+ 00008816  0x00000f39 add  0x00000011 , 0x00000010 , 0x00000006 
+ 00008817  0x00000f3a ifetch  0x00000006 , 0x00000006 
+ 00008818  0x00000f3b isub  0x00000002 , 0x0000003e 
+ 00008819  0x00000f3c rtn  0x00000005 
+ 00008820  0x00000f3d branch  0x00002266 
+ 00008821  0x00000f40 bbit0  0x00000000 , 0x00002266 
+ 00008822  0x00000f41 add  0x00000011 , 0x00000016 , 0x00000006 
+ 00008823  0x00000f42 ifetch  0x00000001 , 0x00000006 
+ 00008824  0x00000f43 isub  0x00000002 , 0x0000003e 
+ 00008825  0x00000f44 rtn  0x00000005 
+ 00008826  0x00000f45 branch  0x00002266 
+ 00008827  0x00000f48 bbit0  0x00000001 , 0x00002266 
+ 00008828  0x00000f4a call  0x000022b3 
+ 00008829  0x00000f4b call  0x00002297 
+ 00008830  0x00000f4c isub  0x00000002 , 0x0000003f 
+ 00008831  0x00000f4d increase  0x00000001 , 0x0000003f 
+ 00008832  0x00000f4e branch  0x00002291 , 0x00000002 
+ 00008833  0x00000f4f copy  0x00000006 , 0x00000012 
+ 00008834  0x00000f50 store  0x00000009 , 0x00000aa2 
+ 00008835  0x00000f51 fetch  0x00000001 , 0x000044c0 
+ 00008836  0x00000f52 nbranch  0x00002289 , 0x00000034 
+ 00008837  0x00000f53 fetch  0x00000009 , 0x00000aa2 
+ 00008838  0x00000f54 copy  0x00000012 , 0x00000006 
+ 00008839  0x00000f55 increase  0x00000005 , 0x0000003f 
+ 00008840  0x00000f56 branch  0x0000228c 
+ 00008841  0x00000f58 fetch  0x00000009 , 0x00000aa2 
+ 00008842  0x00000f59 copy  0x00000012 , 0x00000006 
+ 00008843  0x00000f5a increase  0x00000014 , 0x0000003f 
+ 00008844  0x00000f5c nbranch  0x00002266 , 0x00000002 
+ 00008845  0x00000f5e copy  0x00000002 , 0x00000021 
+ 00008846  0x00000f5f call  0x000022bf 
+ 00008847  0x00000f60 force  0x00000000 , 0x0000003e 
+ 00008848  0x00000f61 rtn 
+ 00008849  0x00000f65 iforce  0x00000012 
+ 00008850  0x00000f66 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008851  0x00000f67 ifetch  0x00000002 , 0x00000006 
+ 00008852  0x00000f68 branch  0x0000228d , 0x00000034 
+ 00008853  0x00000f69 call  0x000022bf 
+ 00008854  0x00000f6a branch  0x0000227c 
+ 00008855  0x00000f6d rshift16  0x0000003f , 0x0000000b 
+ 00008856  0x00000f6e rshift8  0x0000000b , 0x0000000b 
+ 00008857  0x00000f6f branch  0x000022a1 , 0x00000005 
+ 00008858  0x00000f70 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008859  0x00000f71 nrtn  0x00000001 
+ 00008860  0x00000f72 rshift16  0x00000002 , 0x0000000b 
+ 00008861  0x00000f73 rshift8  0x0000000b , 0x0000000b 
+ 00008862  0x00000f74 nrtn  0x00000005 
+ 00008863  0x00000f75 set1  0x0000001c , 0x00000002 
+ 00008864  0x00000f76 rtn 
+ 00008865  0x00000f78 rshift16  0x00000002 , 0x0000000b 
+ 00008866  0x00000f79 rshift8  0x0000000b , 0x0000000b 
+ 00008867  0x00000f7a compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008868  0x00000f7b nrtn  0x00000001 
+ 00008869  0x00000f7c set1  0x0000001c , 0x0000003f 
+ 00008870  0x00000f7d rtn 
+ 00008871  0x00000f80 bbit0  0x00000000 , 0x00002266 
+ 00008872  0x00000f81 force  0x00000000 , 0x0000003e 
+ 00008873  0x00000f82 rtn 
+ 00008874  0x00000f85 bbit0  0x00000000 , 0x00002266 
+ 00008875  0x00000f86 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008876  0x00000f87 ifetch  0x00000001 , 0x00000006 
+ 00008877  0x00000f88 bbit1  0x00000000 , 0x00002266 
+ 00008878  0x00000f89 add  0x00000011 , 0x00000017 , 0x00000006 
+ 00008879  0x00000f8a ifetch  0x00000001 , 0x00000006 
+ 00008880  0x00000f8b bbit0  0x00000003 , 0x00002266 
+ 00008881  0x00000f8c force  0x00000000 , 0x0000003e 
+ 00008882  0x00000f8d rtn 
+ 00008883  0x00000f90 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008884  0x00000f91 ifetcht  0x00000001 , 0x00000006 
+ 00008885  0x00000f92 deposit  0x00000022 
+ 00008886  0x00000f93 isolate1  0x00000001 , 0x00000002 
+ 00008887  0x00000f94 add  0x00000011 , 0x00000004 , 0x00000006 
+ 00008888  0x00000f95 ifetcht  0x00000004 , 0x00000006 
+ 00008889  0x00000f96 rtn  0x00000001 
+ 00008890  0x00000f97 add  0x00000011 , 0x00000008 , 0x00000006 
+ 00008891  0x00000f98 ifetch  0x00000006 , 0x00000006 
+ 00008892  0x00000f99 call  0x00002854 
+ 00008893  0x00000f9a deposit  0x00000028 
+ 00008894  0x00000f9b rtn 
+ 00008895  0x00000f9e add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008896  0x00000f9f add  0x00000011 , 0x00000004 , 0x00000005 
+ 00008897  0x00000fa0 ifetch  0x00000002 , 0x00000006 
+ 00008898  0x00000fa1 iadd  0x00000002 , 0x0000000b 
+ 00008899  0x00000fa2 deposit  0x0000000b 
+ 00008900  0x00000fa3 istore  0x00000004 , 0x00000005 
+ 00008901  0x00000fa4 branch  0x00005449 
+ 00008902  0x00000fa8 bbit0  0x00000001 , 0x00002266 
+ 00008903  0x00000fa9 call  0x000022b3 
+ 00008904  0x00000faa iadd  0x0000001b , 0x0000003f 
+ 00008905  0x00000fab iadd  0x0000001b , 0x0000003f 
+ 00008906  0x00000fac iadd  0x00000007 , 0x0000003f 
+ 00008907  0x00000fad isub  0x00000002 , 0x0000003e 
+ 00008908  0x00000fae nbranch  0x00002266 , 0x00000002 
+ 00008909  0x00000faf force  0x00000000 , 0x0000003e 
+ 00008910  0x00000fb0 rtn 
+ 00008911  0x00000fb3 bbit0  0x00000000 , 0x00002266 
+ 00008912  0x00000fb4 deposit  0x00000002 
+ 00008913  0x00000fb5 isub  0x00000011 , 0x0000003e 
+ 00008914  0x00000fb6 branch  0x00002266 , 0x0000003e 
+ 00008915  0x00000fb7 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008916  0x00000fb8 ifetch  0x00000001 , 0x00000006 
+ 00008917  0x00000fb9 bbit1  0x00000000 , 0x00002266 
+ 00008918  0x00000fba ifetch  0x00000001 , 0x00000011 
+ 00008919  0x00000fbb set0  0x00000007 , 0x0000003f 
+ 00008920  0x00000fbc istore  0x00000001 , 0x00000011 
+ 00008921  0x00000fbd branch  0x00002266 
+ 00008922  0x00000fc1 bpatch  0x0000002f , 0x00004005 
+ 00008923  0x00000fc2 call  0x00002a4f 
+ 00008924  0x00000fc4 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008925  0x00000fc5 call  0x000028e2 
+ 00008926  0x00000fc6 force  0x00000003 , 0x00000024 
+ 00008927  0x00000fc7 call  0x000028d2 
+ 00008928  0x00000fc8 call  0x00002a51 
+ 00008929  0x00000fc9 call  0x00002a56 
+ 00008930  0x00000fca call  0x00002a64 
+ 00008931  0x00000fcb branch  0x00002762 
+ 00008932  0x00000fce bpatch  0x00000030 , 0x00004006 
+ 00008933  0x00000fcf call  0x00002a4d 
+ 00008934  0x00000fd1 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008935  0x00000fd2 call  0x000028e2 
+ 00008936  0x00000fd3 force  0x00000003 , 0x00000024 
+ 00008937  0x00000fd4 call  0x000028cc 
+ 00008938  0x00000fd5 call  0x0000242a 
+ 00008939  0x00000fd6 call  0x000029f1 
+ 00008940  0x00000fd7 call  0x00002a5b 
+ 00008941  0x00000fd8 call  0x000029eb 
+ 00008942  0x00000fda call  0x00002a0d 
+ 00008943  0x00000fdb nrtn  0x00000018 
+ 00008944  0x00000fdc call  0x000029bb 
+ 00008945  0x00000fdd branch  0x0000251c 
+ 00008946  0x00000fe2 bpatch  0x00000031 , 0x00004006 
+ 00008947  0x00000fe3 fetch  0x00000001 , 0x00000181 
+ 00008948  0x00000fe4 iforce  0x00000004 
+ 00008949  0x00000fe5 force  0x00000001 , 0x00000001 
+ 00008950  0x00000fe6 call  0x000022da 
+ 00008951  0x00000fe7 branch  0x000022e4 
+ 00008952  0x00000ff3 fetch  0x00000001 , 0x00004093 
+ 00008953  0x00000ff4 rtnbit0  0x00000000 
+ 00008954  0x00000ff5 force  0x00000004 , 0x00000007 
+ 00008955  0x00000ff6 call  0x00007f16 
+ 00008956  0x00000ff7 nrtn  0x00000034 
+ 00008957  0x00000ff8 fetcht  0x00000002 , 0x000040ad 
+ 00008958  0x00000ff9 force  0x00000004 , 0x00000007 
+ 00008959  0x00000ffa call  0x0000271c 
+ 00008960  0x00000ffb rtn  0x00000028 
+ 00008961  0x00000ffc call  0x00002308 
+ 00008962  0x00000ffd force  0x00000004 , 0x00000007 
+ 00008963  0x00000ffe fetch  0x00000002 , 0x000040af 
+ 00008964  0x00000fff nbranch  0x00007f08 , 0x00000018 
+ 00008965  0x00001000 random  0x0000003f 
+ 00008966  0x00001001 iand  0x00000035 , 0x0000003f 
+ 00008967  0x00001002 branch  0x00007f08 
+ 00008968  0x00001006 bpatch  0x00000032 , 0x00004006 
+ 00008969  0x00001007 jam  0x00000000 , 0x00000181 
+ 00008970  0x00001008 disable  0x00000030 
+ 00008971  0x00001009 disable  0x0000002e 
+ 00008972  0x0000100a call  0x000028a4 
+ 00008973  0x0000100b and  0x00000022 , 0x000001fc , 0x00000021 
+ 00008974  0x0000100c force  0x00000001 , 0x00000024 
+ 00008975  0x0000100d call  0x000028d8 
+ 00008976  0x0000100e call  0x000028cc 
+ 00008977  0x0000100f setflip  0x0000001d , 0x00000000 
+ 00008978  0x00001010 fetch  0x00000001 , 0x00000006 
+ 00008979  0x00001011 increase  0x00000001 , 0x0000003f 
+ 00008980  0x00001012 store  0x00000001 , 0x00000006 
+ 00008981  0x00001013 call  0x000028f2 
+ 00008982  0x00001014 call  0x000029eb 
+ 00008983  0x00001015 call  0x00002a14 
+ 00008984  0x00001016 nrtn  0x00000018 
+ 00008985  0x00001017 bpatch  0x00000033 , 0x00004006 
+ 00008986  0x00001018 force  0x00000000 , 0x0000001b 
+ 00008987  0x00001019 call  0x000028f9 
+ 00008988  0x0000101a fetch  0x00000001 , 0x00000007 
+ 00008989  0x0000101b increase  0x00000001 , 0x0000003f 
+ 00008990  0x0000101c store  0x00000001 , 0x00000007 
+ 00008991  0x0000101d call  0x000028d8 
+ 00008992  0x0000101e call  0x00002a4d 
+ 00008993  0x0000101f or_into  0x00000002 , 0x00000021 
+ 00008994  0x00001020 force  0x00000001 , 0x00000024 
+ 00008995  0x00001021 call  0x000028d2 
+ 00008996  0x00001022 call  0x000028f2 
+ 00008997  0x00001023 call  0x00002a51 
+ 00008998  0x00001024 call  0x00002a5f 
+ 00008999  0x00001025 deposit  0x00000022 
+ 00009000  0x00001026 store  0x00000004 , 0x00000161 
+ 00009001  0x00001027 call  0x00002a64 
+ 00009002  0x00001028 force  0x00000002 , 0x00000001 
+ 00009003  0x00001029 force  0x00000000 , 0x00000004 
+ 00009004  0x0000102a call  0x00002a6b 
+ 00009005  0x0000102b call  0x00002766 
+ 00009006  0x0000102c call  0x00002332 
+ 00009007  0x0000102d and_into  0x000001fd , 0x00000021 
+ 00009008  0x0000102e increase  0x00000001 , 0x00000026 
+ 00009009  0x0000102f rtn 
+ 00009010  0x00001032 bpatch  0x00000034 , 0x00004006 
+ 00009011  0x00001033 fetch  0x00000001 , 0x000040d1 
+ 00009012  0x00001034 rtn  0x00000034 
+ 00009013  0x00001035 arg  0x0000018e , 0x00000005 
+ 00009014  0x00001036 fetch  0x00000001 , 0x00004515 
+ 00009015  0x00001037 copy  0x0000003f , 0x00000039 
+ 00009016  0x00001038 increase  0x00000001 , 0x0000003f 
+ 00009017  0x00001039 istore  0x00000001 , 0x00000005 
+ 00009018  0x0000103a copy  0x00000005 , 0x00000002 
+ 00009019  0x0000103b increase  0x00000001 , 0x0000003f 
+ 00009020  0x0000103c store  0x00000002 , 0x000041dc 
+ 00009021  0x0000103d copy  0x00000002 , 0x00000005 
+ 00009022  0x0000103e setarg  0x00000009 
+ 00009023  0x0000103f istore  0x00000001 , 0x00000005 
+ 00009024  0x00001040 arg  0x00004516 , 0x00000006 
+ 00009025  0x00001041 call  0x00007f01 
+ 00009026  0x00001043 arg  0x0000458d , 0x00000013 
+ 00009027  0x00001044 arg  0x00000004 , 0x00000039 
+ 00009028  0x00001045 call  0x00002354 
+ 00009029  0x00001046 arg  0x00004577 , 0x00000013 
+ 00009030  0x00001047 arg  0x00000001 , 0x00000039 
+ 00009031  0x00001048 call  0x00002354 
+ 00009032  0x0000104a force  0x0000000a , 0x00000001 
+ 00009033  0x0000104b jam  0x00000002 , 0x000041db 
+ 00009034  0x0000104c setarg  0x0000018e 
+ 00009035  0x0000104d store  0x00000002 , 0x0000016f 
+ 00009036  0x0000104e call  0x00002a4d 
+ 00009037  0x0000104f call  0x000028d2 
+ 00009038  0x00001050 call  0x00002a51 
+ 00009039  0x00001051 call  0x00002a5f 
+ 00009040  0x00001052 call  0x00002a64 
+ 00009041  0x00001053 call  0x00002a6b 
+ 00009042  0x00001054 call  0x00002766 
+ 00009043  0x00001055 rtn 
+ 00009044  0x00001059 copy  0x00000005 , 0x00000002 
+ 00009045  0x0000105a copy  0x00000013 , 0x00000006 
+ 00009046  0x0000105b ifetch  0x00000001 , 0x00000006 
+ 00009047  0x0000105c rtn  0x00000034 
+ 00009048  0x0000105e lshift  0x0000003f , 0x0000003f 
+ 00009049  0x0000105f loop  0x00002358 
+ 00009050  0x00001060 copy  0x0000003f , 0x00000011 
+ 00009051  0x00001061 increase  0x00000002 , 0x0000003f 
+ 00009052  0x00001062 copy  0x0000003f , 0x00000007 
+ 00009053  0x00001063 fetch  0x00000002 , 0x000041dc 
+ 00009054  0x00001064 iadd  0x00000007 , 0x0000003f 
+ 00009055  0x00001065 store  0x00000002 , 0x000041dc 
+ 00009056  0x00001066 copy  0x00000002 , 0x00000005 
+ 00009057  0x00001067 copy  0x00000011 , 0x0000003f 
+ 00009058  0x00001068 increase  0x00000001 , 0x0000003f 
+ 00009059  0x00001069 istore  0x00000001 , 0x00000005 
+ 00009060  0x0000106a copy  0x00000013 , 0x00000006 
+ 00009061  0x0000106b ifetch  0x00000001 , 0x00000006 
+ 00009062  0x0000106c ifetch  0x00000001 , 0x00000006 
+ 00009063  0x0000106d istore  0x00000001 , 0x00000005 
+ 00009064  0x0000106e copy  0x00000011 , 0x00000039 
+ 00009065  0x0000106f branch  0x00007f01 
+ 00009066  0x00001076 fetch  0x00000001 , 0x00004093 
+ 00009067  0x00001077 rtnbit0  0x00000001 
+ 00009068  0x00001078 force  0x00000005 , 0x00000007 
+ 00009069  0x00001079 call  0x00007f16 
+ 00009070  0x0000107a nrtn  0x00000034 
+ 00009071  0x0000107b fetcht  0x00000002 , 0x000040b1 
+ 00009072  0x0000107c force  0x00000028 , 0x00000007 
+ 00009073  0x0000107d call  0x0000271c 
+ 00009074  0x0000107e rtn  0x00000028 
+ 00009075  0x0000107f force  0x00000000 , 0x00000004 
+ 00009076  0x00001080 jam  0x00000008 , 0x00000010 
+ 00009077  0x00001081 set0  0x0000000b , 0x00000000 
+ 00009078  0x00001082 call  0x0000237a 
+ 00009079  0x00001083 force  0x00000005 , 0x00000007 
+ 00009080  0x00001084 fetch  0x00000002 , 0x000040b3 
+ 00009081  0x00001085 branch  0x00007f08 
+ 00009082  0x00001089 bpatch  0x00000035 , 0x00004006 
+ 00009083  0x0000108a disable  0x00000030 
+ 00009084  0x0000108b call  0x000028a4 
+ 00009085  0x0000108c fetch  0x00000001 , 0x00000008 
+ 00009086  0x0000108d increase  0x00000001 , 0x0000003f 
+ 00009087  0x0000108e store  0x00000001 , 0x00000008 
+ 00009088  0x0000108f force  0x00000000 , 0x00000026 
+ 00009089  0x00001090 call  0x000028e2 
+ 00009090  0x00001091 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00009091  0x00001092 force  0x00000002 , 0x00000024 
+ 00009092  0x00001093 bpatch  0x00000036 , 0x00004006 
+ 00009093  0x00001094 call  0x000028cc 
+ 00009094  0x00001095 call  0x000029eb 
+ 00009095  0x00001096 call  0x00002a14 
+ 00009096  0x00001097 nrtn  0x00000018 
+ 00009097  0x00001098 call  0x000028f9 
+ 00009098  0x00001099 fetch  0x00000001 , 0x00000009 
+ 00009099  0x0000109a increase  0x00000001 , 0x0000003f 
+ 00009100  0x0000109b store  0x00000001 , 0x00000009 
+ 00009101  0x0000109c force  0x00000000 , 0x0000001b 
+ 00009102  0x0000109d call  0x00002a4d 
+ 00009103  0x0000109e or_into  0x00000002 , 0x00000021 
+ 00009104  0x0000109f force  0x00000001 , 0x00000024 
+ 00009105  0x000010a0 call  0x000028d2 
+ 00009106  0x000010a1 call  0x00002a51 
+ 00009107  0x000010a2 call  0x00002a5f 
+ 00009108  0x000010a3 call  0x00002a64 
+ 00009109  0x000010a4 call  0x0000264d 
+ 00009110  0x000010a5 force  0x00000000 , 0x00000004 
+ 00009111  0x000010a6 arg  0x00000600 , 0x0000000b 
+ 00009112  0x000010a7 until  0x00000029 , 0x00000026 
+ 00009113  0x000010a8 or_into  0x00000003 , 0x00000028 
+ 00009114  0x000010a9 and_into  0x000001fd , 0x00000021 
+ 00009115  0x000010ab bpatch  0x00000037 , 0x00004006 
+ 00009116  0x000010ac increase  0x00000001 , 0x00000026 
+ 00009117  0x000010ad call  0x000028cc 
+ 00009118  0x000010ae call  0x000029eb 
+ 00009119  0x000010af call  0x00002a07 
+ 00009120  0x000010b0 nbranch  0x000023a4 , 0x00000018 
+ 00009121  0x000010b1 call  0x00002a6b 
+ 00009122  0x000010b2 call  0x0000251e 
+ 00009123  0x000010b3 bmark1  0x0000000b , 0x000023ab 
+ 00009124  0x000010b5 bpatch  0x00000038 , 0x00004007 
+ 00009125  0x000010b6 fetch  0x00000001 , 0x00000010 
+ 00009126  0x000010b7 rtn  0x00000034 
+ 00009127  0x000010b8 increase  0xffffffff , 0x0000003f 
+ 00009128  0x000010b9 store  0x00000001 , 0x00000010 
+ 00009129  0x000010ba call  0x00002a4f 
+ 00009130  0x000010bb branch  0x0000239b 
+ 00009131  0x000010bf bpatch  0x00000039 , 0x00004007 
+ 00009132  0x000010c0 set0  0x00000001 , 0x00000028 
+ 00009133  0x000010c1 set1  0x00000000 , 0x00000028 
+ 00009134  0x000010c2 fetch  0x00000001 , 0x0000000a 
+ 00009135  0x000010c3 increase  0x00000001 , 0x0000003f 
+ 00009136  0x000010c4 store  0x00000001 , 0x0000000a 
+ 00009137  0x000010c5 call  0x00002a4d 
+ 00009138  0x000010c6 or_into  0x00000002 , 0x00000021 
+ 00009139  0x000010c7 call  0x000028d2 
+ 00009140  0x000010c8 call  0x00002a51 
+ 00009141  0x000010c9 call  0x00002a5f 
+ 00009142  0x000010ca call  0x00002a64 
+ 00009143  0x000010cb call  0x0000264d 
+ 00009144  0x000010cd compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00009145  0x000010ce branch  0x000023bc , 0x00000001 
+ 00009146  0x000010cf until  0x0000003e , 0x00000017 
+ 00009147  0x000010d0 branch  0x000023b8 
+ 00009148  0x000010d2 fetch  0x00000004 , 0x00000165 
+ 00009149  0x000010d3 or_into  0x00000003 , 0x0000003f 
+ 00009150  0x000010d4 icopy  0x00000028 
+ 00009151  0x000010d7 bpatch  0x0000003a , 0x00004007 
+ 00009152  0x000010d8 fetch  0x00000006 , 0x00000178 
+ 00009153  0x000010d9 store  0x00000006 , 0x00000040 
+ 00009154  0x000010da call  0x00002435 
+ 00009155  0x000010dc call  0x0000247c 
+ 00009156  0x000010dd branch  0x000023c8 , 0x0000002d 
+ 00009157  0x000010de call  0x00002455 
+ 00009158  0x000010df nbranch  0x000023c3 , 0x00000034 
+ 00009159  0x000010e0 rtn 
+ 00009160  0x000010e4 bpatch  0x0000003b , 0x00004007 
+ 00009161  0x000010e5 call  0x00002440 
+ 00009162  0x000010e6 call  0x0000223b 
+ 00009163  0x000010e7 nrtn  0x00000005 
+ 00009164  0x000010e8 jam  0x00000000 , 0x00000031 
+ 00009165  0x000010e9 call  0x00002841 
+ 00009166  0x000010ea branch  0x00002223 
+ 00009167  0x000010f0 bpatch  0x0000003c , 0x00004007 
+ 00009168  0x000010f1 call  0x00002850 
+ 00009169  0x000010f2 call  0x000023f3 
+ 00009170  0x000010f3 rtn  0x00000028 
+ 00009171  0x000010f5 bpatch  0x0000003d , 0x00004007 
+ 00009172  0x000010f6 call  0x00002c69 
+ 00009173  0x000010f7 call  0x00006caa 
+ 00009174  0x000010f8 call  0x00002514 
+ 00009175  0x000010f9 nbranch  0x000023e2 , 0x0000002d 
+ 00009176  0x000010fa call  0x00002a88 
+ 00009177  0x000010fb call  0x00006cc2 
+ 00009178  0x000010fc call  0x00002489 
+ 00009179  0x000010fd call  0x00002757 
+ 00009180  0x000010fe call  0x00002728 
+ 00009181  0x000010ff call  0x00005d08 
+ 00009182  0x00001100 fetch  0x00000001 , 0x0000000b 
+ 00009183  0x00001101 increase  0x00000001 , 0x0000003f 
+ 00009184  0x00001102 store  0x00000001 , 0x0000000b 
+ 00009185  0x00001103 call  0x00002841 
+ 00009186  0x00001105 bpatch  0x0000003e , 0x00004007 
+ 00009187  0x00001106 call  0x00002bb1 
+ 00009188  0x00001107 call  0x00002a7f 
+ 00009189  0x00001108 branch  0x000023eb , 0x00000002 
+ 00009190  0x00001109 call  0x000021a7 
+ 00009191  0x0000110a nbranch  0x000023eb , 0x00000028 
+ 00009192  0x0000110b call  0x000026f3 
+ 00009193  0x0000110c nbranch  0x000023d3 , 0x00000034 
+ 00009194  0x0000110d rtn 
+ 00009195  0x00001110 bpatch  0x0000003f , 0x00004007 
+ 00009196  0x00001111 jam  0x00000000 , 0x00000151 
+ 00009197  0x00001112 jam  0x00000000 , 0x0000017f 
+ 00009198  0x00001113 call  0x0000245d 
+ 00009199  0x00001114 set0  0x00000011 , 0x00000000 
+ 00009200  0x00001115 call  0x00007fb0 
+ 00009201  0x00001116 fetch  0x00000001 , 0x00000030 
+ 00009202  0x00001117 rtn 
+ 00009203  0x0000111b bpatch  0x00000040 , 0x00004008 
+ 00009204  0x0000111c call  0x000021c9 
+ 00009205  0x0000111d nrtn  0x00000028 
+ 00009206  0x0000111e copy  0x00000004 , 0x00000002 
+ 00009207  0x0000111f call  0x00002a6f 
+ 00009208  0x00001120 store  0x00000001 , 0x00000181 
+ 00009209  0x00001121 copy  0x00000002 , 0x00000004 
+ 00009210  0x00001122 jam  0x00000020 , 0x00000011 
+ 00009211  0x00001124 bpatch  0x00000041 , 0x00004008 
+ 00009212  0x00001125 call  0x00002a4f 
+ 00009213  0x00001126 force  0x00000002 , 0x00000001 
+ 00009214  0x00001127 call  0x0000274f 
+ 00009215  0x00001128 deposit  0x00000022 
+ 00009216  0x00001129 store  0x00000004 , 0x00000161 
+ 00009217  0x0000112a call  0x00002762 
+ 00009218  0x0000112b call  0x00002a4d 
+ 00009219  0x0000112c enable  0x0000002f 
+ 00009220  0x0000112d call  0x000024f6 
+ 00009221  0x0000112e branch  0x0000240d , 0x00000018 
+ 00009222  0x0000112f call  0x000028f9 
+ 00009223  0x00001130 call  0x00002455 
+ 00009224  0x00001131 nbranch  0x000023fb , 0x00000034 
+ 00009225  0x00001132 rtnmark0  0x00000004 
+ 00009226  0x00001133 jam  0x00000034 , 0x0000007c 
+ 00009227  0x00001134 set1  0x00000003 , 0x00000000 
+ 00009228  0x00001135 rtn 
+ 00009229  0x00001137 enable  0x00000030 
+ 00009230  0x00001138 call  0x00002435 
+ 00009231  0x00001139 call  0x000028a4 
+ 00009232  0x0000113b bpatch  0x00000042 , 0x00004008 
+ 00009233  0x0000113c call  0x000022f2 
+ 00009234  0x0000113d branch  0x00002419 , 0x00000018 
+ 00009235  0x0000113e call  0x00002455 
+ 00009236  0x0000113f nbranch  0x00002410 , 0x00000034 
+ 00009237  0x00001140 disable  0x00000030 
+ 00009238  0x00001141 deposit  0x00000028 
+ 00009239  0x00001142 store  0x00000004 , 0x000040ca 
+ 00009240  0x00001143 rtn 
+ 00009241  0x00001145 enable  0x00000029 
+ 00009242  0x00001146 bmark0  0x00000004 , 0x0000241f 
+ 00009243  0x00001147 set0  0x00000004 , 0x00000000 
+ 00009244  0x00001148 jam  0x00000003 , 0x0000007c 
+ 00009245  0x00001149 jam  0x00000033 , 0x0000007d 
+ 00009246  0x0000114a call  0x000062f8 
+ 00009247  0x0000114c deposit  0x00000004 
+ 00009248  0x0000114d store  0x00000001 , 0x00000077 
+ 00009249  0x0000114e force  0x00000000 , 0x0000003f 
+ 00009250  0x0000114f store  0x00000006 , 0x00000038 
+ 00009251  0x00001150 fetch  0x00000001 , 0x00000031 
+ 00009252  0x00001151 set1  0x00000001 , 0x0000003f 
+ 00009253  0x00001152 store  0x00000001 , 0x00000031 
+ 00009254  0x00001153 call  0x00002a88 
+ 00009255  0x00001154 disable  0x00000029 
+ 00009256  0x00001155 enable  0x00000028 
+ 00009257  0x00001156 rtn 
+ 00009258  0x0000115b bpatch  0x00000043 , 0x00004008 
+ 00009259  0x0000115c disable  0x0000002d 
+ 00009260  0x0000115d set0  0x00000005 , 0x00000000 
+ 00009261  0x0000115e set0  0x0000000a , 0x00000000 
+ 00009262  0x0000115f set0  0x00000010 , 0x00000000 
+ 00009263  0x00001160 set0  0x0000000f , 0x00000000 
+ 00009264  0x00001161 fetch  0x00000001 , 0x00000047 
+ 00009265  0x00001162 set0  0x00000005 , 0x0000003f 
+ 00009266  0x00001163 set1  0x00000004 , 0x0000003f 
+ 00009267  0x00001164 store  0x00000001 , 0x00000047 
+ 00009268  0x00001165 rtn 
+ 00009269  0x00001168 bpatch  0x00000044 , 0x00004008 
+ 00009270  0x00001169 jam  0x00000020 , 0x00000011 
+ 00009271  0x0000116a jam  0x00000050 , 0x00000047 
+ 00009272  0x0000116b fetch  0x00000002 , 0x000040bf 
+ 00009273  0x0000116c store  0x00000002 , 0x0000003e 
+ 00009274  0x0000116d deposit  0x00000022 
+ 00009275  0x0000116e store  0x00000004 , 0x000040ca 
+ 00009276  0x0000116f rtn  0x00000030 
+ 00009277  0x00001170 deposit  0x00000028 
+ 00009278  0x00001171 store  0x00000004 , 0x000040ca 
+ 00009279  0x00001172 rtn 
+ 00009280  0x00001175 bpatch  0x00000045 , 0x00004008 
+ 00009281  0x00001176 call  0x00005d04 
+ 00009282  0x00001177 call  0x00002459 
+ 00009283  0x00001178 store  0x00000001 , 0x00000046 
+ 00009284  0x00001179 setarg  0x00000000 
+ 00009285  0x0000117a store  0x00000002 , 0x0000025d 
+ 00009286  0x0000117b setarg  0x00001c80 
+ 00009287  0x0000117c store  0x00000002 , 0x00000051 
+ 00009288  0x0000117d fetch  0x00000001 , 0x00000030 
+ 00009289  0x0000117e set1  0x00000000 , 0x0000003f 
+ 00009290  0x0000117f store  0x00000001 , 0x00000030 
+ 00009291  0x00001180 jam  0x00000000 , 0x0000004b 
+ 00009292  0x00001181 jam  0x00000000 , 0x0000004c 
+ 00009293  0x00001182 jam  0x00000000 , 0x000000a0 
+ 00009294  0x00001183 branch  0x00002a88 
+ 00009295  0x00001187 bpatch  0x00000046 , 0x00004008 
+ 00009296  0x00001188 force  0x00000000 , 0x0000003f 
+ 00009297  0x00001189 store  0x00000008 , 0x000041be 
+ 00009298  0x0000118a istore  0x00000008 , 0x00000005 
+ 00009299  0x0000118b call  0x000021c5 
+ 00009300  0x0000118c branch  0x00002254 
+ 00009301  0x0000118f fetch  0x00000001 , 0x00000011 
+ 00009302  0x00001190 increase  0xffffffff , 0x0000003f 
+ 00009303  0x00001191 store  0x00000001 , 0x00000011 
+ 00009304  0x00001192 rtn 
+ 00009305  0x00001195 fetch  0x00000001 , 0x000040cf 
+ 00009306  0x00001196 increase  0x00000001 , 0x0000003f 
+ 00009307  0x00001197 store  0x00000001 , 0x000040cf 
+ 00009308  0x00001198 rtn 
+ 00009309  0x0000119c bpatch  0x00000047 , 0x00004008 
+ 00009310  0x0000119d fetch  0x00000001 , 0x000041ce 
+ 00009311  0x0000119e beq  0x00000003 , 0x00002462 
+ 00009312  0x0000119f fetch  0x00000001 , 0x00000048 
+ 00009313  0x000011a0 bne  0x00000001 , 0x00002466 
+ 00009314  0x000011a2 call  0x00004d06 
+ 00009315  0x000011a3 nbranch  0x00002466 , 0x00000005 
+ 00009316  0x000011a4 call  0x000021a4 
+ 00009317  0x000011a5 jam  0x00000000 , 0x000041ce 
+ 00009318  0x000011a7 bpatch  0x00000048 , 0x00004009 
+ 00009319  0x000011a8 call  0x000033af 
+ 00009320  0x000011a9 call  0x000026e9 
+ 00009321  0x000011aa jam  0x00000002 , 0x00000a99 
+ 00009322  0x000011ab call  0x00007d86 
+ 00009323  0x000011ac call  0x00005cf7 
+ 00009324  0x000011ad call  0x00004d6b 
+ 00009325  0x000011ae call  0x0000757d 
+ 00009326  0x000011af fetch  0x00000001 , 0x00000030 
+ 00009327  0x000011b0 set0  0x00000000 
+ 00009328  0x000011b1 store  0x00000001 , 0x00000030 
+ 00009329  0x000011b2 jam  0x00000000 , 0x00004681 
+ 00009330  0x000011b4 fetch  0x00000001 , 0x0000004c 
+ 00009331  0x000011b5 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00009332  0x000011b6 branch  0x00002476 , 0x00000001 
+ 00009333  0x000011b7 set0  0x00000001 , 0x00000000 
+ 00009334  0x000011b9 fetch  0x00000001 , 0x00000047 
+ 00009335  0x000011ba bbit0  0x00000003 , 0x00002478 
+ 00009336  0x000011bc fetch  0x00000001 , 0x0000004b 
+ 00009337  0x000011bd rtnbit0  0x00000006 
+ 00009338  0x000011be set0  0x00000002 , 0x00000000 
+ 00009339  0x000011bf rtn 
+ 00009340  0x000011c2 bpatch  0x00000049 , 0x00004009 
+ 00009341  0x000011c3 fetch  0x00000001 , 0x00000174 
+ 00009342  0x000011c4 rtn  0x00000034 
+ 00009343  0x000011c5 icopy  0x00000004 
+ 00009344  0x000011c6 call  0x00002514 
+ 00009345  0x000011c7 nrtn  0x0000002d 
+ 00009346  0x000011c8 force  0x00000000 , 0x00000001 
+ 00009347  0x000011c9 call  0x00002757 
+ 00009348  0x000011ca deposit  0x00000004 
+ 00009349  0x000011cb store  0x00000001 , 0x00000077 
+ 00009350  0x000011cc force  0x00000000 , 0x0000003f 
+ 00009351  0x000011cd store  0x00000001 , 0x00000174 
+ 00009352  0x000011ce rtn 
+ 00009353  0x000011d5 bpatch  0x0000004a , 0x00004009 
+ 00009354  0x000011d6 fetch  0x00000001 , 0x00000030 
+ 00009355  0x000011d7 bbit0  0x00000002 , 0x00002496 
+ 00009356  0x000011d8 force  0x00000007 , 0x00000001 
+ 00009357  0x000011d9 bmark0  0x00000007 , 0x00002495 
+ 00009358  0x000011da call  0x00002725 
+ 00009359  0x000011db nbranch  0x00002496 , 0x00000001 
+ 00009360  0x000011dc branch  0x00002496 , 0x0000002e 
+ 00009361  0x000011dd call  0x000024c1 
+ 00009362  0x000011de setarg  0x00000002 
+ 00009363  0x000011df store  0x00000002 , 0x000040c8 
+ 00009364  0x000011e0 rtn 
+ 00009365  0x000011e2 nrtn  0x0000002e 
+ 00009366  0x000011e4 bpatch  0x0000004b , 0x00004009 
+ 00009367  0x000011e5 call  0x00002243 
+ 00009368  0x000011e6 nbranch  0x000024a7 , 0x00000005 
+ 00009369  0x000011e7 fetch  0x00000001 , 0x00000047 
+ 00009370  0x000011e8 bbit0  0x00000003 , 0x000024b0 
+ 00009371  0x000011ea bmark1  0x00000005 , 0x000024b4 
+ 00009372  0x000011eb fetch  0x00000001 , 0x0000017f 
+ 00009373  0x000011ec bbit1  0x00000006 , 0x000024ba 
+ 00009374  0x000011ed fetch  0x00000002 , 0x000040c8 
+ 00009375  0x000011ee increase  0xffffffff , 0x0000003f 
+ 00009376  0x000011ef store  0x00000002 , 0x000040c8 
+ 00009377  0x000011f0 branch  0x000024a5 , 0x00000034 
+ 00009378  0x000011f1 fetch  0x00000001 , 0x000040c5 
+ 00009379  0x000011f2 iforce  0x00000001 
+ 00009380  0x000011f3 rtn 
+ 00009381  0x000011f6 bpatch  0x0000004c , 0x00004009 
+ 00009382  0x000011f7 call  0x00002687 
+ 00009383  0x000011f9 call  0x00002725 
+ 00009384  0x000011fa branch  0x000024b0 , 0x00000001 
+ 00009385  0x000011fb call  0x0000600a 
+ 00009386  0x000011fc branch  0x000024be , 0x00000028 
+ 00009387  0x000011fd fetch  0x00000001 , 0x0000004b 
+ 00009388  0x000011fe bbit1  0x00000006 , 0x000024c0 
+ 00009389  0x000011ff bmark1  0x00000005 , 0x000024b4 
+ 00009390  0x00001200 fetch  0x00000001 , 0x0000017f 
+ 00009391  0x00001201 bbit1  0x00000006 , 0x000024ba 
+ 00009392  0x00001203 force  0x00000001 , 0x00000001 
+ 00009393  0x00001204 rtn  0x00000029 
+ 00009394  0x00001205 force  0x00000000 , 0x00000001 
+ 00009395  0x00001206 rtn 
+ 00009396  0x00001208 bpatch  0x0000004d , 0x00004009 
+ 00009397  0x00001209 fetch  0x00000001 , 0x00000019 
+ 00009398  0x0000120a iforce  0x00000001 
+ 00009399  0x0000120b rtnne  0x00000001 
+ 00009400  0x0000120c force  0x00000000 , 0x00000001 
+ 00009401  0x0000120d rtn 
+ 00009402  0x0000120f fetch  0x00000001 , 0x00000158 
+ 00009403  0x00001210 and  0x0000003f , 0x0000000f , 0x00000001 
+ 00009404  0x00001211 set1  0x00000005 , 0x00000000 
+ 00009405  0x00001212 rtn 
+ 00009406  0x00001214 force  0x00000013 , 0x00000001 
+ 00009407  0x00001215 branch  0x000024c1 
+ 00009408  0x00001217 call  0x000024ca 
+ 00009409  0x0000121a bpatch  0x0000004e , 0x00004009 
+ 00009410  0x0000121b fetcht  0x00000001 , 0x00000047 
+ 00009411  0x0000121c set1  0x00000003 , 0x00000002 
+ 00009412  0x0000121d storet  0x00000001 , 0x00000047 
+ 00009413  0x0000121e deposit  0x00000001 
+ 00009414  0x0000121f store  0x00000001 , 0x000040c5 
+ 00009415  0x00001220 setarg  0x0000ffff 
+ 00009416  0x00001221 store  0x00000002 , 0x000040c8 
+ 00009417  0x00001222 rtn 
+ 00009418  0x00001225 bpatch  0x0000004f , 0x00004009 
+ 00009419  0x00001226 fetch  0x00000001 , 0x0000004c 
+ 00009420  0x00001227 isolate1  0x00000005 , 0x0000003f 
+ 00009421  0x00001228 fetch  0x00000002 , 0x000041dc 
+ 00009422  0x00001229 branch  0x000024e0 , 0x00000001 
+ 00009423  0x0000122a force  0x00000003 , 0x00000001 
+ 00009424  0x0000122b sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009425  0x0000122c rtn  0x00000002 
+ 00009426  0x0000122d force  0x00000004 , 0x00000001 
+ 00009427  0x0000122e sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00009428  0x0000122f rtn  0x00000002 
+ 00009429  0x00001230 force  0x0000000a , 0x00000001 
+ 00009430  0x00001231 sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00009431  0x00001232 rtn  0x00000002 
+ 00009432  0x00001233 force  0x0000000b , 0x00000001 
+ 00009433  0x00001234 sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00009434  0x00001235 rtn  0x00000002 
+ 00009435  0x00001236 force  0x0000000e , 0x00000001 
+ 00009436  0x00001237 sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00009437  0x00001238 rtn  0x00000002 
+ 00009438  0x00001239 force  0x0000000f , 0x00000001 
+ 00009439  0x0000123a rtn 
+ 00009440  0x0000123c force  0x00000003 , 0x00000001 
+ 00009441  0x0000123d sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009442  0x0000123e rtn  0x00000002 
+ 00009443  0x0000123f force  0x00000004 , 0x00000001 
+ 00009444  0x00001240 sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00009445  0x00001241 rtn  0x00000002 
+ 00009446  0x00001242 force  0x0000000a , 0x00000001 
+ 00009447  0x00001243 arg  0x0000016f , 0x00000002 
+ 00009448  0x00001244 isub  0x00000002 , 0x0000003e 
+ 00009449  0x00001245 nrtn  0x00000002 
+ 00009450  0x00001246 force  0x0000000e , 0x00000001 
+ 00009451  0x00001247 arg  0x000002a7 , 0x00000002 
+ 00009452  0x00001248 isub  0x00000002 , 0x0000003e 
+ 00009453  0x00001249 nrtn  0x00000002 
+ 00009454  0x0000124a force  0x0000000f , 0x00000001 
+ 00009455  0x0000124b rtn 
+ 00009456  0x00001255 fetch  0x00000001 , 0x00000030 
+ 00009457  0x00001256 bbit0  0x00000001 , 0x000024f5 
+ 00009458  0x00001257 fetch  0x00000002 , 0x00000032 
+ 00009459  0x00001258 branch  0x000024f5 , 0x00000034 
+ 00009460  0x00001259 nbranch  0x000024f7 , 0x0000002e 
+ 00009461  0x0000125b call  0x00002a4f 
+ 00009462  0x0000125d add  0x00000028 , 0x00000001 , 0x00000021 
+ 00009463  0x0000125f enable  0x00000010 
+ 00009464  0x00001260 fetch  0x00000002 , 0x0000003e 
+ 00009465  0x00001261 rshift  0x0000003f , 0x0000003f 
+ 00009466  0x00001262 arg  0x00000500 , 0x00000002 
+ 00009467  0x00001263 iadd  0x00000002 , 0x0000003f 
+ 00009468  0x00001264 call  0x00002a24 
+ 00009469  0x00001265 call  0x000028ea 
+ 00009470  0x00001266 force  0x00000003 , 0x00000024 
+ 00009471  0x00001267 call  0x000028cc 
+ 00009472  0x00001268 call  0x0000242a 
+ 00009473  0x00001269 call  0x000029f1 
+ 00009474  0x0000126a bpatch  0x00000050 , 0x0000400a 
+ 00009475  0x0000126b fetch  0x00000002 , 0x0000003e 
+ 00009476  0x0000126c rshift  0x0000003f , 0x0000003f 
+ 00009477  0x0000126d call  0x00002a24 
+ 00009478  0x0000126e call  0x000029eb 
+ 00009479  0x0000126f enable  0x0000000d 
+ 00009480  0x00001270 fetch  0x00000002 , 0x0000003e 
+ 00009481  0x00001271 arg  0x000003bb , 0x00000002 
+ 00009482  0x00001272 iadd  0x00000002 , 0x0000001b 
+ 00009483  0x00001273 correlate  0x0000003e , 0x00000003 
+ 00009484  0x00001274 copy  0x0000001a , 0x00000002 
+ 00009485  0x00001275 storet  0x00000006 , 0x0000009a 
+ 00009486  0x00001276 disable  0x0000000d 
+ 00009487  0x00001277 nrtn  0x00000018 
+ 00009488  0x00001278 arg  0x000003bb , 0x00000029 
+ 00009489  0x00001279 copy  0x00000021 , 0x00000028 
+ 00009490  0x0000127a branch  0x00002b05 , 0x0000002b 
+ 00009491  0x0000127b rtn 
+ 00009492  0x0000127f bpatch  0x00000051 , 0x0000400a 
+ 00009493  0x00001280 call  0x000024f0 
+ 00009494  0x00001281 nbranch  0x000028f9 , 0x00000018 
+ 00009495  0x00001282 call  0x000029bb 
+ 00009496  0x00001283 bmark0  0x00000011 , 0x0000251c 
+ 00009497  0x00001284 fetch  0x00000002 , 0x000000f6 
+ 00009498  0x00001285 increase  0x00000001 , 0x0000003f 
+ 00009499  0x00001286 store  0x00000002 , 0x000000f6 
+ 00009500  0x00001288 rshift  0x00000021 , 0x00000002 
+ 00009501  0x00001289 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00009502  0x0000128b bpatch  0x00000052 , 0x0000400a 
+ 00009503  0x0000128c enable  0x00000007 
+ 00009504  0x0000128d enable  0x0000000a 
+ 00009505  0x0000128e enable  0x0000000b 
+ 00009506  0x0000128f parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009507  0x00001290 rshift8  0x0000000c , 0x0000003f 
+ 00009508  0x00001291 store  0x00000001 , 0x0000015d 
+ 00009509  0x00001292 parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00009510  0x00001293 inject  0x00000000 , 0x00000007 
+ 00009511  0x00001294 copy  0x0000000c , 0x0000003f 
+ 00009512  0x00001295 store  0x00000001 , 0x00000019 
+ 00009513  0x00001296 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009514  0x00001297 rshift8  0x0000000c , 0x0000003f 
+ 00009515  0x00001298 store  0x00000001 , 0x0000015e 
+ 00009516  0x00001299 fetch  0x00000001 , 0x00000019 
+ 00009517  0x0000129a sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00009518  0x0000129b branch  0x00002533 , 0x00000002 
+ 00009519  0x0000129c beq  0x00000007 , 0x00002533 
+ 00009520  0x0000129d fetch  0x00000001 , 0x0000004c 
+ 00009521  0x0000129e isolate1  0x00000005 , 0x0000003f 
+ 00009522  0x0000129f setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00009523  0x000012a1 bpatch  0x00000053 , 0x0000400a 
+ 00009524  0x000012a2 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009525  0x000012a3 disable  0x0000000b 
+ 00009526  0x000012a4 disable  0x0000000a 
+ 00009527  0x000012a5 branch  0x00002631 , 0x00000006 
+ 00009528  0x000012a6 bmark0  0x00000011 , 0x0000253c 
+ 00009529  0x000012a7 fetch  0x00000002 , 0x000000f8 
+ 00009530  0x000012a8 increase  0x00000001 , 0x0000003f 
+ 00009531  0x000012a9 store  0x00000002 , 0x000000f8 
+ 00009532  0x000012ab bpatch  0x00000054 , 0x0000400a 
+ 00009533  0x000012ac fetch  0x00000001 , 0x0000015d 
+ 00009534  0x000012ad compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00009535  0x000012ae setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00009536  0x000012af branch  0x0000254c , 0x00000001 
+ 00009537  0x000012b0 icompare  0x00000007 , 0x00000004 
+ 00009538  0x000012b1 branch  0x0000254b , 0x00000001 
+ 00009539  0x000012b2 bmark0  0x00000007 , 0x0000264d 
+ 00009540  0x000012b3 fetcht  0x00000001 , 0x000000b0 
+ 00009541  0x000012b4 icompare  0x00000007 , 0x00000002 
+ 00009542  0x000012b5 nbranch  0x0000264d , 0x00000001 
+ 00009543  0x000012b6 fetch  0x00000001 , 0x00000047 
+ 00009544  0x000012b7 set0  0x00000005 , 0x0000003f 
+ 00009545  0x000012b8 set1  0x00000004 , 0x0000003f 
+ 00009546  0x000012b9 store  0x00000001 , 0x00000047 
+ 00009547  0x000012bb enable  0x0000002d 
+ 00009548  0x000012bd bpatch  0x00000055 , 0x0000400a 
+ 00009549  0x000012be fetch  0x00000001 , 0x00000019 
+ 00009550  0x000012bf icopy  0x00000001 
+ 00009551  0x000012c0 bmark1  0x0000000a , 0x0000255b 
+ 00009552  0x000012c1 fetcht  0x00000001 , 0x0000015e 
+ 00009553  0x000012c2 fetch  0x00000001 , 0x00000047 
+ 00009554  0x000012c3 set0  0x00000000 , 0x0000003f 
+ 00009555  0x000012c4 isolate1  0x00000000 , 0x00000002 
+ 00009556  0x000012c5 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00009557  0x000012c6 isolate1  0x00000001 , 0x00000002 
+ 00009558  0x000012c7 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00009559  0x000012c8 store  0x00000001 , 0x00000047 
+ 00009560  0x000012c9 isolate0  0x00000001 , 0x00000002 
+ 00009561  0x000012ca branch  0x0000255b , 0x00000001 
+ 00009562  0x000012cb call  0x00002687 
+ 00009563  0x000012cd bpatch  0x00000056 , 0x0000400a 
+ 00009564  0x000012ce arg  0x00000000 , 0x00000002 
+ 00009565  0x000012cf call  0x00002a1c 
+ 00009566  0x000012d0 and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00009567  0x000012d1 beq  0x00000001 , 0x00002587 
+ 00009568  0x000012d2 beq  0x00000000 , 0x0000264d 
+ 00009569  0x000012d3 beq  0x00000002 , 0x00002659 
+ 00009570  0x000012d4 fetcht  0x00000001 , 0x0000015e 
+ 00009571  0x000012d5 fetch  0x00000001 , 0x00000047 
+ 00009572  0x000012d6 icompare  0x00000004 , 0x00000002 
+ 00009573  0x000012d7 nbranch  0x00002569 , 0x00000001 
+ 00009574  0x000012d8 bmark0  0x0000000a , 0x00002568 
+ 00009575  0x000012d9 bbit0  0x00000007 , 0x00002569 
+ 00009576  0x000012db set1  0x0000000f , 0x00000000 
+ 00009577  0x000012dd bpatch  0x00000057 , 0x0000400a 
+ 00009578  0x000012de deposit  0x00000001 
+ 00009579  0x000012df beq  0x00000003 , 0x00002589 
+ 00009580  0x000012e0 beq  0x00000004 , 0x0000258d 
+ 00009581  0x000012e1 beq  0x00000007 , 0x00002578 
+ 00009582  0x000012e2 beq  0x00000008 , 0x0000258c 
+ 00009583  0x000012e3 arg  0x00000004 , 0x00000002 
+ 00009584  0x000012e4 call  0x00002a1c 
+ 00009585  0x000012e5 beq  0x0000000a , 0x00002588 
+ 00009586  0x000012e6 beq  0x0000000b , 0x0000258b 
+ 00009587  0x000012e7 arg  0x00000008 , 0x00000002 
+ 00009588  0x000012e8 call  0x00002a1c 
+ 00009589  0x000012e9 beq  0x0000000e , 0x00002588 
+ 00009590  0x000012ea beq  0x0000000f , 0x0000258b 
+ 00009591  0x000012eb rtn 
+ 00009592  0x000012ef bpatch  0x00000058 , 0x0000400b 
+ 00009593  0x000012f0 enable  0x0000000d 
+ 00009594  0x000012f1 enable  0x00000009 
+ 00009595  0x000012f2 enable  0x0000000e 
+ 00009596  0x000012f3 arg  0x000000d1 , 0x00000005 
+ 00009597  0x000012f4 force  0x0000001e , 0x00000039 
+ 00009598  0x000012f6 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009599  0x000012f7 rshift3  0x0000000c , 0x0000003f 
+ 00009600  0x000012f8 istore  0x00000001 , 0x00000005 
+ 00009601  0x000012f9 loop  0x0000257e 
+ 00009602  0x000012fa bmark0  0x00000007 , 0x0000264d 
+ 00009603  0x000012fb parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009604  0x000012fc nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00009605  0x000012fd branch  0x0000263d , 0x00000006 
+ 00009606  0x000012fe branch  0x00002620 
+ 00009607  0x00001302 branch  0x0000264d 
+ 00009608  0x00001306 set1  0x00000010 , 0x00000000 
+ 00009609  0x00001308 enable  0x0000000c 
+ 00009610  0x00001309 branch  0x0000258e 
+ 00009611  0x0000130d set1  0x00000010 , 0x00000000 
+ 00009612  0x0000130f set1  0x00000002 , 0x00000015 
+ 00009613  0x00001311 enable  0x0000000d 
+ 00009614  0x00001313 bpatch  0x00000059 , 0x0000400b 
+ 00009615  0x00001314 bmark1  0x00000001 , 0x0000264d 
+ 00009616  0x00001315 isolate0  0x00000001 , 0x00000015 
+ 00009617  0x00001316 branch  0x0000259a , 0x00000001 
+ 00009618  0x00001317 disable  0x00000007 
+ 00009619  0x00001318 enable  0x0000000d 
+ 00009620  0x00001319 disable  0x0000000c 
+ 00009621  0x0000131a add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00009622  0x0000131b correlate  0x00000022 , 0x00000026 
+ 00009623  0x0000131c nbranch  0x0000263d , 0x00000018 
+ 00009624  0x0000131d set1  0x00000010 , 0x00000000 
+ 00009625  0x0000131e enable  0x00000007 
+ 00009626  0x00001320 bpatch  0x0000005a , 0x0000400b 
+ 00009627  0x00001321 enable  0x0000000e 
+ 00009628  0x00001322 enable  0x00000009 
+ 00009629  0x00001323 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009630  0x00001324 rshift8  0x0000000c , 0x0000003f 
+ 00009631  0x00001325 store  0x00000001 , 0x00000180 
+ 00009632  0x00001326 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009633  0x00001327 bmark1  0x00000010 , 0x000025a5 
+ 00009634  0x00001328 rshift3  0x0000000c , 0x00000039 
+ 00009635  0x00001329 rshift3  0x00000039 , 0x00000039 
+ 00009636  0x0000132a branch  0x000025a8 
+ 00009637  0x0000132c parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009638  0x0000132d rshift  0x0000000c , 0x00000039 
+ 00009639  0x0000132e parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009640  0x00001330 bpatch  0x0000005b , 0x0000400b 
+ 00009641  0x00001331 deposit  0x00000039 
+ 00009642  0x00001332 store  0x00000002 , 0x0000015f 
+ 00009643  0x00001333 branch  0x000025e8 , 0x00000034 
+ 00009644  0x00001334 isub  0x00000035 , 0x0000003e 
+ 00009645  0x00001335 branch  0x0000263d , 0x00000002 
+ 00009646  0x00001336 bpatch  0x0000005c , 0x0000400b 
+ 00009647  0x00001337 set0  0x00000000 , 0x00000000 
+ 00009648  0x00001338 fetch  0x00000001 , 0x00000180 
+ 00009649  0x00001339 and_into  0x00000003 , 0x0000003f 
+ 00009650  0x0000133a arg  0x00000551 , 0x00000005 
+ 00009651  0x0000133b beq  0x00000003 , 0x000025ba 
+ 00009652  0x0000133c bmark1  0x00000011 , 0x000025e4 
+ 00009653  0x0000133e fetch  0x00000001 , 0x00000180 
+ 00009654  0x0000133f and_into  0x00000003 , 0x0000003f 
+ 00009655  0x00001340 beq  0x00000002 , 0x000025bf 
+ 00009656  0x00001341 beq  0x00000001 , 0x000025d3 
+ 00009657  0x00001342 branch  0x0000263d 
+ 00009658  0x00001345 fetch  0x00000002 , 0x0000015f 
+ 00009659  0x00001346 sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00009660  0x00001347 nbranch  0x0000263d , 0x00000002 
+ 00009661  0x00001348 bmark1  0x0000000f , 0x00002620 
+ 00009662  0x00001349 branch  0x000025e4 
+ 00009663  0x0000134d bpatch  0x0000005d , 0x0000400b 
+ 00009664  0x0000134e bmark1  0x0000000f , 0x00002620 
+ 00009665  0x0000134f fetch  0x00000002 , 0x0000015f 
+ 00009666  0x00001350 arg  0x000002e0 , 0x00000002 
+ 00009667  0x00001351 isub  0x00000002 , 0x0000003e 
+ 00009668  0x00001352 branch  0x0000263d , 0x00000002 
+ 00009669  0x00001353 fetch  0x00000001 , 0x00000263 
+ 00009670  0x00001354 bbit0  0x00000000 , 0x000025c9 
+ 00009671  0x00001355 bbit0  0x00000001 , 0x000025ce 
+ 00009672  0x00001356 branch  0x0000264d 
+ 00009673  0x00001358 jam  0x00000001 , 0x00000261 
+ 00009674  0x00001359 fetch  0x00000002 , 0x0000025d 
+ 00009675  0x0000135a bne  0x00000000 , 0x0000264d 
+ 00009676  0x0000135b arg  0x00001000 , 0x00000005 
+ 00009677  0x0000135c branch  0x000025e4 
+ 00009678  0x0000135e jam  0x00000002 , 0x00000261 
+ 00009679  0x0000135f fetch  0x00000002 , 0x0000025f 
+ 00009680  0x00001360 bne  0x00000000 , 0x0000264d 
+ 00009681  0x00001361 arg  0x00001400 , 0x00000005 
+ 00009682  0x00001362 branch  0x000025e4 
+ 00009683  0x00001365 bpatch  0x0000005e , 0x0000400b 
+ 00009684  0x00001366 bmark1  0x0000000f , 0x00002620 
+ 00009685  0x00001367 fetch  0x00000002 , 0x0000015f 
+ 00009686  0x00001368 arg  0x000002e0 , 0x00000002 
+ 00009687  0x00001369 isub  0x00000002 , 0x0000003e 
+ 00009688  0x0000136a branch  0x0000263d , 0x00000002 
+ 00009689  0x0000136b fetch  0x00000001 , 0x00000261 
+ 00009690  0x0000136c beq  0x00000001 , 0x000025dd 
+ 00009691  0x0000136d beq  0x00000002 , 0x000025e1 
+ 00009692  0x0000136e branch  0x0000264d 
+ 00009693  0x00001370 arg  0x00001000 , 0x00000005 
+ 00009694  0x00001371 fetch  0x00000002 , 0x0000025d 
+ 00009695  0x00001372 iadd  0x00000005 , 0x00000005 
+ 00009696  0x00001373 branch  0x000025e4 
+ 00009697  0x00001375 arg  0x00001400 , 0x00000005 
+ 00009698  0x00001376 fetch  0x00000002 , 0x0000025f 
+ 00009699  0x00001377 iadd  0x00000005 , 0x00000005 
+ 00009700  0x00001379 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009701  0x0000137a rshift3  0x0000000c , 0x0000003f 
+ 00009702  0x0000137b istore  0x00000001 , 0x00000005 
+ 00009703  0x0000137c loop  0x000025e4 
+ 00009704  0x0000137e bpatch  0x0000005f , 0x0000400b 
+ 00009705  0x0000137f parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009706  0x00001380 branch  0x00002637 , 0x00000006 
+ 00009707  0x00001381 fetch  0x00000001 , 0x00004363 
+ 00009708  0x00001382 beq  0x00000001 , 0x0000264d 
+ 00009709  0x00001383 bmark1  0x00000011 , 0x0000260d 
+ 00009710  0x00001384 bmark1  0x0000000f , 0x0000264a 
+ 00009711  0x00001385 fetch  0x00000001 , 0x00000180 
+ 00009712  0x00001386 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009713  0x00001387 branch  0x0000260d , 0x00000001 
+ 00009714  0x00001388 fetch  0x00000002 , 0x0000015f 
+ 00009715  0x00001389 branch  0x0000260d , 0x00000034 
+ 00009716  0x0000138a bpatch  0x00000060 , 0x0000400c 
+ 00009717  0x0000138b fetch  0x00000001 , 0x00000261 
+ 00009718  0x0000138c beq  0x00000001 , 0x000025f9 
+ 00009719  0x0000138d beq  0x00000002 , 0x00002603 
+ 00009720  0x0000138e branch  0x00002a8c 
+ 00009721  0x00001390 fetch  0x00000002 , 0x0000025d 
+ 00009722  0x00001391 fetcht  0x00000002 , 0x0000015f 
+ 00009723  0x00001392 iadd  0x00000002 , 0x0000003f 
+ 00009724  0x00001393 store  0x00000002 , 0x0000025d 
+ 00009725  0x00001394 beq  0x00000000 , 0x00002a8c 
+ 00009726  0x00001395 fetcht  0x00000002 , 0x00001000 
+ 00009727  0x00001396 increase  0x00000004 , 0x00000002 
+ 00009728  0x00001397 isub  0x00000002 , 0x0000003e 
+ 00009729  0x00001398 call  0x00002747 , 0x00000005 
+ 00009730  0x00001399 branch  0x0000260d 
+ 00009731  0x0000139b fetch  0x00000002 , 0x0000025f 
+ 00009732  0x0000139c fetcht  0x00000002 , 0x0000015f 
+ 00009733  0x0000139d iadd  0x00000002 , 0x0000003f 
+ 00009734  0x0000139e store  0x00000002 , 0x0000025f 
+ 00009735  0x0000139f beq  0x00000000 , 0x00002a8c 
+ 00009736  0x000013a0 fetcht  0x00000002 , 0x00001400 
+ 00009737  0x000013a1 add  0x00000002 , 0x00000004 , 0x00000002 
+ 00009738  0x000013a2 isub  0x00000002 , 0x0000003e 
+ 00009739  0x000013a3 call  0x0000274b , 0x00000005 
+ 00009740  0x000013a4 branch  0x0000260d 
+ 00009741  0x000013a6 bpatch  0x00000061 , 0x0000400c 
+ 00009742  0x000013a7 fetcht  0x00000001 , 0x0000004c 
+ 00009743  0x000013a8 fetch  0x00000001 , 0x00000180 
+ 00009744  0x000013a9 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009745  0x000013aa setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00009746  0x000013ab nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00009747  0x000013ac storet  0x00000001 , 0x0000004c 
+ 00009748  0x000013ad nbranch  0x00002616 , 0x00000001 
+ 00009749  0x000013ae set1  0x00000001 , 0x00000000 
+ 00009750  0x000013b0 bmark0  0x00000011 , 0x00002620 
+ 00009751  0x000013b1 isolate1  0x00000006 , 0x00000002 
+ 00009752  0x000013b2 branch  0x00002620 , 0x00000001 
+ 00009753  0x000013b3 fetch  0x00000002 , 0x000000fa 
+ 00009754  0x000013b4 increase  0x00000001 , 0x0000003f 
+ 00009755  0x000013b5 store  0x00000002 , 0x000000fa 
+ 00009756  0x000013b6 set1  0x00000005 , 0x00000000 
+ 00009757  0x000013b7 set0  0x00000007 , 0x00000002 
+ 00009758  0x000013b8 set0  0x00000001 , 0x00000000 
+ 00009759  0x000013b9 storet  0x00000001 , 0x0000004c 
+ 00009760  0x000013bb bpatch  0x00000062 , 0x0000400c 
+ 00009761  0x000013bc fetcht  0x00000001 , 0x0000015e 
+ 00009762  0x000013bd fetch  0x00000001 , 0x00000047 
+ 00009763  0x000013be set1  0x00000005 , 0x0000003f 
+ 00009764  0x000013bf isolate1  0x00000002 , 0x00000002 
+ 00009765  0x000013c0 setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00009766  0x000013c1 isolate1  0x0000000a , 0x00000000 
+ 00009767  0x000013c2 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00009768  0x000013c3 store  0x00000001 , 0x00000047 
+ 00009769  0x000013c4 fetch  0x00000002 , 0x0000015f 
+ 00009770  0x000013c5 nbranch  0x0000264d , 0x00000034 
+ 00009771  0x000013c6 fetch  0x00000001 , 0x0000004c 
+ 00009772  0x000013c7 set0  0x00000007 , 0x0000003f 
+ 00009773  0x000013c8 store  0x00000001 , 0x0000004c 
+ 00009774  0x000013c9 fetch  0x00000001 , 0x00000180 
+ 00009775  0x000013ca compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00009776  0x000013cc branch  0x0000264d 
+ 00009777  0x000013cf bpatch  0x00000063 , 0x0000400c 
+ 00009778  0x000013d0 disable  0x0000002d 
+ 00009779  0x000013d1 fetch  0x00000002 , 0x0000001a 
+ 00009780  0x000013d2 increase  0x00000001 , 0x0000003f 
+ 00009781  0x000013d3 store  0x00000002 , 0x0000001a 
+ 00009782  0x000013d4 branch  0x0000264d 
+ 00009783  0x000013d6 fetch  0x00000002 , 0x0000001c 
+ 00009784  0x000013d7 increase  0x00000001 , 0x0000003f 
+ 00009785  0x000013d8 store  0x00000002 , 0x0000001c 
+ 00009786  0x000013d9 call  0x0000263e 
+ 00009787  0x000013da bmark0  0x00000011 , 0x0000263d 
+ 00009788  0x000013db set1  0x00000005 , 0x00000000 
+ 00009789  0x000013dd branch  0x0000264d 
+ 00009790  0x000013e0 bpatch  0x00000064 , 0x0000400c 
+ 00009791  0x000013e1 fetch  0x00000001 , 0x00000180 
+ 00009792  0x000013e2 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009793  0x000013e3 nbranch  0x00002646 , 0x00000001 
+ 00009794  0x000013e5 fetcht  0x00000001 , 0x0000004c 
+ 00009795  0x000013e6 set0  0x00000006 , 0x00000002 
+ 00009796  0x000013e7 storet  0x00000001 , 0x0000004c 
+ 00009797  0x000013e8 rtn 
+ 00009798  0x000013ec fetcht  0x00000001 , 0x0000004c 
+ 00009799  0x000013ed set0  0x00000007 , 0x00000002 
+ 00009800  0x000013ee storet  0x00000001 , 0x0000004c 
+ 00009801  0x000013ef branch  0x00004c0b 
+ 00009802  0x000013f2 fetch  0x00000001 , 0x00000047 
+ 00009803  0x000013f3 set1  0x00000005 , 0x0000003f 
+ 00009804  0x000013f4 store  0x00000001 , 0x00000047 
+ 00009805  0x000013f6 bpatch  0x00000065 , 0x0000400c 
+ 00009806  0x000013f7 disable  0x0000001d 
+ 00009807  0x000013f8 disable  0x0000001c 
+ 00009808  0x000013f9 disable  0x0000000d 
+ 00009809  0x000013fa disable  0x0000000c 
+ 00009810  0x000013fb disable  0x00000009 
+ 00009811  0x000013fc disable  0x0000000e 
+ 00009812  0x000013fd disable  0x00000007 
+ 00009813  0x000013fe branch  0x000028f9 , 0x00000021 
+ 00009814  0x000013ff until  0x0000003e , 0x00000027 
+ 00009815  0x00001400 nop  0x00000064 
+ 00009816  0x00001401 branch  0x000028f9 
+ 00009817  0x00001404 bpatch  0x00000066 , 0x0000400c 
+ 00009818  0x00001405 enable  0x00000009 
+ 00009819  0x00001406 enable  0x0000000c 
+ 00009820  0x00001407 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009821  0x00001408 isolate1  0x0000003a , 0x0000003f 
+ 00009822  0x00001409 setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00009823  0x0000140a copy  0x00000020 , 0x00000002 
+ 00009824  0x0000140b ialigned  0x00000020 
+ 00009825  0x0000140c ialigned  0x0000001e 
+ 00009826  0x0000140d pulse  0x00000015 
+ 00009827  0x0000140e setsect  0x00000002 , 0x000fffff 
+ 00009828  0x0000140f setsect  0x00000003 , 0x0000ffff 
+ 00009829  0x00001410 nop  0x00000020 
+ 00009830  0x00001411 iverify  0x0000000d 
+ 00009831  0x00001412 deposit  0x0000002c 
+ 00009832  0x00001413 store  0x00000003 , 0x00000178 
+ 00009833  0x00001414 deposit  0x0000002d 
+ 00009834  0x00001415 store  0x00000001 , 0x0000017b 
+ 00009835  0x00001416 copy  0x00000002 , 0x00000020 
+ 00009836  0x00001417 branch  0x0000266e , 0x00000001 
+ 00009837  0x00001418 branch  0x0000263d 
+ 00009838  0x0000141a bpatch  0x00000067 , 0x0000400c 
+ 00009839  0x0000141b parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009840  0x0000141c ialigned  0x0000001f 
+ 00009841  0x0000141d ialigned  0x00000004 
+ 00009842  0x0000141e ialigned  0x0000002e 
+ 00009843  0x0000141f ialigned  0x00000012 
+ 00009844  0x00001420 force  0x00000000 , 0x0000003f 
+ 00009845  0x00001421 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009846  0x00001422 branch  0x0000263d , 0x00000006 
+ 00009847  0x00001423 setarg  0x0ffffffc 
+ 00009848  0x00001424 iand  0x00000012 , 0x0000003f 
+ 00009849  0x00001425 store  0x00000004 , 0x00000165 
+ 00009850  0x00001426 deposit  0x0000001d 
+ 00009851  0x00001427 store  0x00000003 , 0x00000175 
+ 00009852  0x00001428 deposit  0x0000001c 
+ 00009853  0x00001429 store  0x00000001 , 0x00000173 
+ 00009854  0x0000142a deposit  0x00000004 
+ 00009855  0x0000142b store  0x00000001 , 0x00000174 
+ 00009856  0x0000142c deposit  0x0000002e 
+ 00009857  0x0000142d store  0x00000002 , 0x0000017c 
+ 00009858  0x0000142e deposit  0x00000021 
+ 00009859  0x0000142f inject  0x00000001 , 0x00000020 
+ 00009860  0x00001430 compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00009861  0x00001431 setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00009862  0x00001432 branch  0x0000264d 
+ 00009863  0x00001435 bpatch  0x00000068 , 0x0000400d 
+ 00009864  0x00001436 fetch  0x00000001 , 0x00000047 
+ 00009865  0x00001437 rtnbit0  0x00000003 
+ 00009866  0x00001438 set0  0x00000003 , 0x0000003f 
+ 00009867  0x00001439 setflip  0x00000006 , 0x0000003f 
+ 00009868  0x0000143a store  0x00000001 , 0x00000047 
+ 00009869  0x0000143b fetch  0x00000001 , 0x000040c5 
+ 00009870  0x0000143c beq  0x00000013 , 0x0000269c 
+ 00009871  0x0000143d rtneq  0x00000007 
+ 00009872  0x0000143e fetch  0x00000001 , 0x0000004b 
+ 00009873  0x0000143f rtnbit0  0x00000006 , 0x0000003f 
+ 00009874  0x00001440 set0  0x00000006 , 0x0000003f 
+ 00009875  0x00001441 set1  0x00000007 , 0x0000003f 
+ 00009876  0x00001442 store  0x00000001 , 0x0000004b 
+ 00009877  0x00001443 set0  0x00000002 , 0x00000000 
+ 00009878  0x00001444 fetch  0x00000002 , 0x00004246 
+ 00009879  0x00001445 nrtn  0x00000034 
+ 00009880  0x00001446 fetch  0x00000001 , 0x0000004b 
+ 00009881  0x00001447 set0  0x00000007 , 0x0000003f 
+ 00009882  0x00001448 store  0x00000001 , 0x0000004b 
+ 00009883  0x00001449 branch  0x0000525d 
+ 00009884  0x0000144c bpatch  0x00000069 , 0x0000400d 
+ 00009885  0x0000144d fetch  0x00000001 , 0x000004b7 
+ 00009886  0x0000144e rshift  0x0000003f , 0x0000003f 
+ 00009887  0x0000144f beq  0x00000011 , 0x000026b8 
+ 00009888  0x00001450 beq  0x00000012 , 0x000026c0 
+ 00009889  0x00001451 beq  0x00000018 , 0x000026e9 
+ 00009890  0x00001452 beq  0x0000007f , 0x000026a8 
+ 00009891  0x00001453 rtnne  0x00000003 
+ 00009892  0x00001454 fetch  0x00000001 , 0x000004b8 
+ 00009893  0x00001455 beq  0x0000002b , 0x000026b0 
+ 00009894  0x00001456 beq  0x00000011 , 0x000026ab 
+ 00009895  0x00001457 rtn 
+ 00009896  0x0000145a fetch  0x00000001 , 0x000004b8 
+ 00009897  0x0000145b set1  0x00000007 , 0x0000003f 
+ 00009898  0x0000145c rtn 
+ 00009899  0x0000145e rtn  0x00000029 
+ 00009900  0x0000145f fetch  0x00000001 , 0x00000030 
+ 00009901  0x00001460 rtnbit1  0x00000004 
+ 00009902  0x00001461 jam  0x00000031 , 0x0000007c 
+ 00009903  0x00001462 rtn 
+ 00009904  0x00001466 rtn  0x00000029 
+ 00009905  0x00001467 fetch  0x00000001 , 0x00000031 
+ 00009906  0x00001468 isolate1  0x00000004 , 0x0000003f 
+ 00009907  0x00001469 branch  0x000026b5 , 0x00000001 
+ 00009908  0x0000146b rtn 
+ 00009909  0x0000146d set0  0x00000004 , 0x0000003f 
+ 00009910  0x0000146e store  0x00000001 , 0x00000031 
+ 00009911  0x0000146f rtn 
+ 00009912  0x00001472 bpatch  0x0000006a , 0x0000400d 
+ 00009913  0x00001473 fetch  0x00000001 , 0x0000004c 
+ 00009914  0x00001474 set1  0x00000002 , 0x0000003f 
+ 00009915  0x00001475 store  0x00000001 , 0x0000004c 
+ 00009916  0x00001476 jam  0x00000001 , 0x00008011 
+ 00009917  0x00001477 fetch  0x00000001 , 0x00000030 
+ 00009918  0x00001478 isolate1  0x00000004 , 0x0000003f 
+ 00009919  0x00001479 rtn 
+ 00009920  0x0000147c bpatch  0x0000006b , 0x0000400d 
+ 00009921  0x0000147d fetch  0x00000001 , 0x0000004c 
+ 00009922  0x0000147e set0  0x00000002 , 0x0000003f 
+ 00009923  0x0000147f store  0x00000001 , 0x0000004c 
+ 00009924  0x00001480 jam  0x00000000 , 0x00008011 
+ 00009925  0x00001481 rtn 
+ 00009926  0x00001485 bpatch  0x0000006c , 0x0000400d 
+ 00009927  0x00001486 copy  0x00000022 , 0x0000003f 
+ 00009928  0x00001487 store  0x00000004 , 0x0000420c 
+ 00009929  0x00001488 add  0x00000022 , 0x00000003 , 0x00000011 
+ 00009930  0x00001489 branch  0x000026cc , 0x00000029 
+ 00009931  0x0000148a add  0x00000028 , 0x00000003 , 0x00000011 
+ 00009932  0x0000148c fetcht  0x00000002 , 0x00000032 
+ 00009933  0x0000148d deposit  0x00000011 
+ 00009934  0x0000148e set0  0x0000001b , 0x0000003f 
+ 00009935  0x0000148f idiv  0x00000002 
+ 00009936  0x00001490 fetch  0x00000002 , 0x00000075 
+ 00009937  0x00001491 call  0x00007f86 
+ 00009938  0x00001492 remainder  0x00000013 
+ 00009939  0x00001493 isub  0x00000013 , 0x0000003f 
+ 00009940  0x00001494 branch  0x000026d6 , 0x00000002 
+ 00009941  0x00001495 iadd  0x00000002 , 0x0000003f 
+ 00009942  0x00001497 iadd  0x00000011 , 0x0000003f 
+ 00009943  0x00001498 store  0x00000004 , 0x00000034 
+ 00009944  0x00001499 jam  0x00000000 , 0x0000455b 
+ 00009945  0x0000149a fetch  0x00000001 , 0x00000030 
+ 00009946  0x0000149b set1  0x00000001 , 0x0000003f 
+ 00009947  0x0000149c store  0x00000001 , 0x00000030 
+ 00009948  0x0000149d fetch  0x00000001 , 0x00000073 
+ 00009949  0x0000149e store  0x00000001 , 0x0000008a 
+ 00009950  0x0000149f setarg  0x00000000 
+ 00009951  0x000014a0 store  0x00000003 , 0x00004169 
+ 00009952  0x000014a1 store  0x00000003 , 0x0000416c 
+ 00009953  0x000014a2 store  0x00000001 , 0x00004159 
+ 00009954  0x000014a3 jam  0x0000000b , 0x00000a99 
+ 00009955  0x000014a4 call  0x00007d86 
+ 00009956  0x000014a5 fetch  0x00000002 , 0x000040c1 
+ 00009957  0x000014a6 store  0x00000002 , 0x0000003e 
+ 00009958  0x000014a7 nrtn  0x00000029 
+ 00009959  0x000014a8 add  0x00000004 , 0xffffffff , 0x00000007 
+ 00009960  0x000014a9 rtn 
+ 00009961  0x000014ac bpatch  0x0000006d , 0x0000400d 
+ 00009962  0x000014ad fetch  0x00000001 , 0x00000030 
+ 00009963  0x000014ae rtnbit0  0x00000001 
+ 00009964  0x000014af set0  0x00000001 , 0x0000003f 
+ 00009965  0x000014b0 store  0x00000001 , 0x00000030 
+ 00009966  0x000014b1 fetch  0x00000002 , 0x000040bf 
+ 00009967  0x000014b2 store  0x00000002 , 0x0000003e 
+ 00009968  0x000014b3 disable  0x0000002b 
+ 00009969  0x000014b4 jam  0x0000000c , 0x00000a99 
+ 00009970  0x000014b5 branch  0x00007d86 
+ 00009971  0x000014b9 bpatch  0x0000006e , 0x0000400d 
+ 00009972  0x000014ba enable  0x0000002e 
+ 00009973  0x000014bb fetch  0x00000001 , 0x00000030 
+ 00009974  0x000014bc bbit1  0x00000001 , 0x00002700 
+ 00009975  0x000014bd rtnmark1  0x00000011 
+ 00009976  0x000014be fetch  0x00000001 , 0x00000047 
+ 00009977  0x000014bf rtnbit1  0x00000003 
+ 00009978  0x000014c0 fetch  0x00000001 , 0x00000048 
+ 00009979  0x000014c1 nrtn  0x00000034 
+ 00009980  0x000014c2 fetch  0x00000001 , 0x0000004b 
+ 00009981  0x000014c3 rtnbit1  0x00000006 
+ 00009982  0x000014c5 force  0x00000000 , 0x0000003f 
+ 00009983  0x000014c6 rtn 
+ 00009984  0x000014c9 bbit0  0x00000002 , 0x0000270f 
+ 00009985  0x000014ca fetch  0x00000001 , 0x0000008a 
+ 00009986  0x000014cb beq  0x00000002 , 0x00002706 
+ 00009987  0x000014cc fetch  0x00000001 , 0x00000047 
+ 00009988  0x000014cd bbit1  0x00000003 , 0x00002718 
+ 00009989  0x000014ce bmark0  0x00000008 , 0x00002718 
+ 00009990  0x000014d0 nbranch  0x00002718 , 0x00000029 
+ 00009991  0x000014d1 fetch  0x00000001 , 0x00000048 
+ 00009992  0x000014d2 nbranch  0x00002718 , 0x00000034 
+ 00009993  0x000014d4 fetch  0x00000001 , 0x000000ef 
+ 00009994  0x000014d5 increase  0xffffffff , 0x0000003f 
+ 00009995  0x000014d6 store  0x00000001 , 0x000000ef 
+ 00009996  0x000014d7 nbranch  0x000026fe , 0x00000034 
+ 00009997  0x000014d8 jam  0x00000010 , 0x000000ef 
+ 00009998  0x000014d9 branch  0x00002718 
+ 00009999  0x000014e1 fetch  0x00000001 , 0x0000008a 
+ 00010000  0x000014e2 bne  0x00000001 , 0x00002718 
+ 00010001  0x000014e3 fetch  0x00000001 , 0x0000008b 
+ 00010002  0x000014e4 branch  0x00002718 , 0x00000034 
+ 00010003  0x000014e5 increase  0xffffffff , 0x0000003f 
+ 00010004  0x000014e6 store  0x00000001 , 0x0000008b 
+ 00010005  0x000014e7 fetch  0x00000001 , 0x00000047 
+ 00010006  0x000014e8 rtnbit1  0x00000003 
+ 00010007  0x000014e9 nrtn  0x0000002d 
+ 00010008  0x000014eb fetch  0x00000001 , 0x0000008a 
+ 00010009  0x000014ec increase  0xffffffff , 0x0000003f 
+ 00010010  0x000014ed store  0x00000001 , 0x0000008a 
+ 00010011  0x000014ee rtn 
+ 00010012  0x000014fa bpatch  0x0000006f , 0x0000400d 
+ 00010013  0x000014fb disable  0x00000010 
+ 00010014  0x000014fc copy  0x00000002 , 0x0000001b 
+ 00010015  0x000014fd call  0x00002260 
+ 00010016  0x000014fe disable  0x00000028 
+ 00010017  0x000014ff nrtn  0x00000005 
+ 00010018  0x00001500 force  0x00000000 , 0x0000001b 
+ 00010019  0x00001501 enable  0x00000028 
+ 00010020  0x00001502 rtn 
+ 00010021  0x00001506 fetch  0x00000001 , 0x00004158 
+ 00010022  0x00001507 icompare  0x000000ff , 0x00000004 
+ 00010023  0x00001508 rtn 
+ 00010024  0x0000150c bpatch  0x00000070 , 0x0000400e 
+ 00010025  0x0000150d set0  0x00000001 , 0x00000000 
+ 00010026  0x0000150f jam  0x00000000 , 0x0000026a 
+ 00010027  0x00001510 fetch  0x00000001 , 0x00000263 
+ 00010028  0x00001511 rtn  0x00000034 
+ 00010029  0x00001512 isolate1  0x00000000 , 0x0000003f 
+ 00010030  0x00001513 arg  0x00001000 , 0x00000006 
+ 00010031  0x00001514 call  0x00004d79 , 0x00000001 
+ 00010032  0x00001515 bpatch  0x00000071 , 0x0000400e 
+ 00010033  0x00001516 fetch  0x00000001 , 0x0000026a 
+ 00010034  0x00001517 beq  0x00000001 , 0x0000273b 
+ 00010035  0x00001519 jam  0x00000000 , 0x0000026a 
+ 00010036  0x0000151a fetch  0x00000001 , 0x00000263 
+ 00010037  0x0000151b rtnbit0  0x00000001 
+ 00010038  0x0000151c arg  0x00001400 , 0x00000006 
+ 00010039  0x0000151d call  0x00004d79 
+ 00010040  0x0000151e fetch  0x00000001 , 0x0000026a 
+ 00010041  0x0000151f beq  0x00000001 , 0x00002741 
+ 00010042  0x00001520 rtn 
+ 00010043  0x00001523 fetch  0x00000001 , 0x00000263 
+ 00010044  0x00001524 set0  0x00000000 , 0x0000003f 
+ 00010045  0x00001525 store  0x00000001 , 0x00000263 
+ 00010046  0x00001526 setarg  0x00000000 
+ 00010047  0x00001527 store  0x00000002 , 0x0000025d 
+ 00010048  0x00001528 rtn 
+ 00010049  0x0000152a fetch  0x00000001 , 0x00000263 
+ 00010050  0x0000152b set0  0x00000001 , 0x0000003f 
+ 00010051  0x0000152c store  0x00000001 , 0x00000263 
+ 00010052  0x0000152d setarg  0x00000000 
+ 00010053  0x0000152e store  0x00000002 , 0x0000025f 
+ 00010054  0x0000152f rtn 
+ 00010055  0x00001532 fetch  0x00000001 , 0x00000263 
+ 00010056  0x00001533 set1  0x00000000 , 0x0000003f 
+ 00010057  0x00001534 store  0x00000001 , 0x00000263 
+ 00010058  0x00001535 rtn 
+ 00010059  0x00001538 fetch  0x00000001 , 0x00000263 
+ 00010060  0x00001539 set1  0x00000001 , 0x0000003f 
+ 00010061  0x0000153a store  0x00000001 , 0x00000263 
+ 00010062  0x0000153b rtn 
+ 00010063  0x00001542 bpatch  0x00000072 , 0x0000400e 
+ 00010064  0x00001543 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00010065  0x00001544 call  0x000028ea 
+ 00010066  0x00001545 force  0x00000003 , 0x00000024 
+ 00010067  0x00001546 call  0x000028d2 
+ 00010068  0x00001547 call  0x00002a51 
+ 00010069  0x00001548 call  0x00002a5f 
+ 00010070  0x00001549 branch  0x00002a64 
+ 00010071  0x0000154d bpatch  0x00000073 , 0x0000400e 
+ 00010072  0x0000154e call  0x00002a4d 
+ 00010073  0x0000154f deposit  0x00000028 
+ 00010074  0x00001550 fetcht  0x00000004 , 0x000040ca 
+ 00010075  0x00001551 isub  0x00000002 , 0x0000003f 
+ 00010076  0x00001552 rtnne  0x00000001 
+ 00010077  0x00001553 compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00010078  0x00001554 nbranch  0x00002761 , 0x00000001 
+ 00010079  0x00001555 fetch  0x00000001 , 0x00000019 
+ 00010080  0x00001556 rtn  0x00000034 
+ 00010081  0x00001558 call  0x0000274f 
+ 00010082  0x0000155a compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00010083  0x0000155b branch  0x0000264d , 0x00000001 
+ 00010084  0x0000155c rshift  0x00000021 , 0x00000002 
+ 00010085  0x0000155d or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00010086  0x0000155f bpatch  0x00000074 , 0x0000400e 
+ 00010087  0x00001560 enable  0x00000007 
+ 00010088  0x00001561 enable  0x0000000a 
+ 00010089  0x00001562 enable  0x0000001b 
+ 00010090  0x00001563 set0  0x00000010 , 0x00000000 
+ 00010091  0x00001564 deposit  0x00000004 
+ 00010092  0x00001565 inject  0x00000003 , 0x00000003 
+ 00010093  0x00001566 deposit  0x00000001 
+ 00010094  0x00001567 inject  0x00000003 , 0x00000004 
+ 00010095  0x00001568 fetch  0x00000001 , 0x00000047 
+ 00010096  0x00001569 inject  0x00000000 , 0x00000004 
+ 00010097  0x0000156a inject  0x00000003 , 0x00000003 
+ 00010098  0x0000156b enable  0x00000008 
+ 00010099  0x0000156c inject  0x00000003 , 0x00000008 
+ 00010100  0x0000156d disable  0x0000001b 
+ 00010101  0x0000156e disable  0x00000008 
+ 00010102  0x0000156f disable  0x0000000a 
+ 00010103  0x00001570 set0  0x00000002 , 0x00000015 
+ 00010104  0x00001571 arg  0x00000000 , 0x00000002 
+ 00010105  0x00001572 call  0x00002a1c 
+ 00010106  0x00001573 bpatch  0x00000075 , 0x0000400e 
+ 00010107  0x00001574 and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00010108  0x00001575 beq  0x00000013 , 0x000027b4 
+ 00010109  0x00001576 beq  0x00000000 , 0x0000264d 
+ 00010110  0x00001577 beq  0x00000001 , 0x0000264d 
+ 00010111  0x00001578 beq  0x00000002 , 0x00002797 
+ 00010112  0x00001579 beq  0x00000003 , 0x000027c5 
+ 00010113  0x0000157a beq  0x00000004 , 0x000027cb 
+ 00010114  0x0000157b beq  0x00000007 , 0x0000278c 
+ 00010115  0x0000157c beq  0x00000008 , 0x000027ca 
+ 00010116  0x0000157d arg  0x00000004 , 0x00000002 
+ 00010117  0x0000157e call  0x00002a1c 
+ 00010118  0x0000157f beq  0x0000000a , 0x000027c7 
+ 00010119  0x00001580 beq  0x0000000b , 0x000027cd 
+ 00010120  0x00001581 arg  0x00000008 , 0x00000002 
+ 00010121  0x00001582 call  0x00002a1c 
+ 00010122  0x00001583 beq  0x0000000f , 0x000027cd 
+ 00010123  0x00001584 branch  0x000027c7 
+ 00010124  0x00001588 bpatch  0x00000076 , 0x0000400e 
+ 00010125  0x00001589 enable  0x0000001d 
+ 00010126  0x0000158a enable  0x00000009 
+ 00010127  0x0000158b enable  0x0000000e 
+ 00010128  0x0000158c force  0x0000001e , 0x00000039 
+ 00010129  0x0000158d arg  0x000000b3 , 0x00000006 
+ 00010130  0x0000158f ifetch  0x00000001 , 0x00000006 
+ 00010131  0x00001590 inject  0x00000003 , 0x00000008 
+ 00010132  0x00001591 loop  0x00002792 
+ 00010133  0x00001592 bmark1  0x00000007 , 0x000027f7 
+ 00010134  0x00001593 branch  0x0000264d 
+ 00010135  0x00001596 bpatch  0x00000077 , 0x0000400e 
+ 00010136  0x00001597 fetch  0x00000001 , 0x00000181 
+ 00010137  0x00001598 icopy  0x00000004 
+ 00010138  0x00001599 fetch  0x00000001 , 0x00000090 
+ 00010139  0x0000159a icopy  0x0000001c 
+ 00010140  0x0000159b fetch  0x00000003 , 0x000040aa 
+ 00010141  0x0000159c icopy  0x0000001d 
+ 00010142  0x0000159d fetch  0x00000002 , 0x000040a4 
+ 00010143  0x0000159e icopy  0x0000002e 
+ 00010144  0x0000159f enable  0x00000009 
+ 00010145  0x000015a0 enable  0x0000001c 
+ 00010146  0x000015a1 copy  0x00000020 , 0x00000011 
+ 00010147  0x000015a2 call  0x000028e2 
+ 00010148  0x000015a3 pulse  0x00000015 
+ 00010149  0x000015a4 nop  0x00000020 
+ 00010150  0x000015a5 copy  0x00000021 , 0x0000000b 
+ 00010151  0x000015a6 fetch  0x00000004 , 0x00000161 
+ 00010152  0x000015a7 icopy  0x00000021 
+ 00010153  0x000015a8 preload  0x0000001e 
+ 00010154  0x000015a9 set1  0x0000003a , 0x0000003f 
+ 00010155  0x000015aa inject  0x00000003 , 0x00000048 
+ 00010156  0x000015ab preload  0x0000001f 
+ 00010157  0x000015ac inject  0x00000003 , 0x00000048 
+ 00010158  0x000015ad copy  0x0000000b , 0x00000021 
+ 00010159  0x000015ae copy  0x00000011 , 0x00000020 
+ 00010160  0x000015af enable  0x00000008 
+ 00010161  0x000015b0 inject  0x00000003 , 0x00000010 
+ 00010162  0x000015b1 disable  0x00000008 
+ 00010163  0x000015b2 branch  0x0000264d 
+ 00010164  0x000015b5 bpatch  0x00000078 , 0x0000400f 
+ 00010165  0x000015b6 enable  0x0000000e 
+ 00010166  0x000015b7 enable  0x00000009 
+ 00010167  0x000015b8 enable  0x0000001c 
+ 00010168  0x000015b9 fetch  0x00000001 , 0x000004b6 
+ 00010169  0x000015ba and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00010170  0x000015bb arg  0x000004b6 , 0x00000006 
+ 00010171  0x000015bc increase  0x00000008 , 0x00000002 
+ 00010172  0x000015be add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00010173  0x000015bf nbranch  0x000027c2 , 0x00000002 
+ 00010174  0x000015c0 ifetch  0x00000009 , 0x00000006 
+ 00010175  0x000015c1 inject  0x00000003 , 0x00000048 
+ 00010176  0x000015c2 copy  0x00000013 , 0x00000002 
+ 00010177  0x000015c3 branch  0x000027bc 
+ 00010178  0x000015c5 ifetch  0x00000009 , 0x00000006 
+ 00010179  0x000015c6 iinject  0x00000003 , 0x00000002 
+ 00010180  0x000015c7 branch  0x000027f7 
+ 00010181  0x000015ca enable  0x0000001c 
+ 00010182  0x000015cb branch  0x000027d0 
+ 00010183  0x000015ce enable  0x0000001c 
+ 00010184  0x000015cf set1  0x00000010 , 0x00000000 
+ 00010185  0x000015d0 branch  0x000027d0 
+ 00010186  0x000015d3 set1  0x00000002 , 0x00000015 
+ 00010187  0x000015d5 enable  0x0000001d 
+ 00010188  0x000015d6 branch  0x000027d0 
+ 00010189  0x000015da set1  0x00000002 , 0x00000015 
+ 00010190  0x000015db enable  0x0000001d 
+ 00010191  0x000015dc set1  0x00000010 , 0x00000000 
+ 00010192  0x000015df bpatch  0x00000079 , 0x0000400f 
+ 00010193  0x000015e0 fetch  0x00000001 , 0x0000004c 
+ 00010194  0x000015e1 bbit0  0x00000005 , 0x000027e5 
+ 00010195  0x000015e2 sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00010196  0x000015e3 branch  0x000027e5 , 0x00000002 
+ 00010197  0x000015e4 disable  0x0000000e 
+ 00010198  0x000015e5 disable  0x0000001c 
+ 00010199  0x000015e6 enable  0x0000001d 
+ 00010200  0x000015e7 disable  0x00000007 
+ 00010201  0x000015e8 set1  0x00000001 , 0x00000015 
+ 00010202  0x000015e9 isolate1  0x00000002 , 0x00000015 
+ 00010203  0x000015ea branch  0x000027df , 0x00000001 
+ 00010204  0x000015eb setarg  0x000abeee 
+ 00010205  0x000015ec inject  0x00000003 , 0x00000014 
+ 00010206  0x000015ed branch  0x000027e3 
+ 00010207  0x000015ef setarg  0x005faeba 
+ 00010208  0x000015f0 inject  0x00000003 , 0x00000018 
+ 00010209  0x000015f1 setarg  0x00000012 
+ 00010210  0x000015f2 inject  0x00000003 , 0x00000006 
+ 00010211  0x000015f4 enable  0x00000007 
+ 00010212  0x000015f5 set1  0x00000010 , 0x00000000 
+ 00010213  0x000015f7 enable  0x0000000e 
+ 00010214  0x000015f8 enable  0x00000009 
+ 00010215  0x000015f9 bmark1  0x00000005 , 0x00002800 
+ 00010216  0x000015fa fetch  0x00000001 , 0x000041db 
+ 00010217  0x000015fb inject  0x00000003 , 0x00000003 
+ 00010218  0x000015fc fetch  0x00000002 , 0x000041dc 
+ 00010219  0x000015fd iforce  0x00000039 
+ 00010220  0x000015fe bmark1  0x00000010 , 0x000027ef 
+ 00010221  0x000015ff inject  0x00000003 , 0x00000005 
+ 00010222  0x00001600 branch  0x000027f0 
+ 00010223  0x00001602 inject  0x00000003 , 0x0000000d 
+ 00010224  0x00001604 deposit  0x00000039 
+ 00010225  0x00001605 branch  0x000027f7 , 0x00000034 
+ 00010226  0x00001606 fetch  0x00000002 , 0x0000016f 
+ 00010227  0x00001607 iforce  0x00000006 
+ 00010228  0x00001609 ifetch  0x00000001 , 0x00000006 
+ 00010229  0x0000160a inject  0x00000003 , 0x00000008 
+ 00010230  0x0000160b loop  0x000027f4 
+ 00010231  0x0000160f enable  0x00000008 
+ 00010232  0x00001610 inject  0x00000003 , 0x00000010 
+ 00010233  0x00001611 disable  0x00000008 
+ 00010234  0x00001612 call  0x000024c1 
+ 00010235  0x00001613 fetch  0x00000001 , 0x0000004c 
+ 00010236  0x00001614 bbit0  0x00000005 , 0x0000264d 
+ 00010237  0x00001615 force  0x00000000 , 0x0000003f 
+ 00010238  0x00001616 inject  0x00000003 , 0x00000006 
+ 00010239  0x00001617 branch  0x0000264d 
+ 00010240  0x0000161b bpatch  0x0000007a , 0x0000400f 
+ 00010241  0x0000161c bmark1  0x00000010 , 0x00002808 
+ 00010242  0x0000161e fetch  0x00000001 , 0x00000180 
+ 00010243  0x0000161f inject  0x00000003 , 0x00000003 
+ 00010244  0x00001620 fetch  0x00000001 , 0x0000015f 
+ 00010245  0x00001621 iforce  0x00000013 
+ 00010246  0x00001622 inject  0x00000003 , 0x00000005 
+ 00010247  0x00001623 branch  0x0000280d 
+ 00010248  0x00001625 fetch  0x00000001 , 0x00000180 
+ 00010249  0x00001626 inject  0x00000003 , 0x00000003 
+ 00010250  0x00001627 fetch  0x00000002 , 0x0000015f 
+ 00010251  0x00001628 iforce  0x00000013 
+ 00010252  0x00001629 inject  0x00000003 , 0x0000000d 
+ 00010253  0x0000162b arg  0x00000551 , 0x00000006 
+ 00010254  0x0000162d copy  0x00000013 , 0x0000003e 
+ 00010255  0x0000162e branch  0x00002814 , 0x00000005 
+ 00010256  0x0000162f ifetch  0x00000001 , 0x00000006 
+ 00010257  0x00001630 inject  0x00000003 , 0x00000008 
+ 00010258  0x00001631 increase  0xffffffff , 0x00000013 
+ 00010259  0x00001632 branch  0x0000280e 
+ 00010260  0x00001634 fetch  0x00000002 , 0x000000fc 
+ 00010261  0x00001635 increase  0x00000001 , 0x0000003f 
+ 00010262  0x00001636 store  0x00000002 , 0x000000fc 
+ 00010263  0x00001637 branch  0x000027f7 
+ 00010264  0x0000163b fetch  0x00000004 , 0x00000165 
+ 00010265  0x0000163c add  0x0000003f , 0x00000007 , 0x00000011 
+ 00010266  0x0000163d fetch  0x00000002 , 0x00000171 
+ 00010267  0x0000163e nbranch  0x0000281e , 0x00000034 
+ 00010268  0x0000163f increase  0xfffffffd , 0x00000011 
+ 00010269  0x00001640 branch  0x00002826 
+ 00010270  0x00001642 mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00010271  0x00001643 hfetcht  0x00000002 , 0x00008040 
+ 00010272  0x00001644 increase  0x00000001 , 0x00000002 
+ 00010273  0x00001646 isub  0x00000002 , 0x0000003f 
+ 00010274  0x00001647 nbranch  0x00002825 , 0x00000002 
+ 00010275  0x00001648 increase  0xffffffff , 0x00000011 
+ 00010276  0x00001649 branch  0x00002821 
+ 00010277  0x0000164b sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010278  0x0000164d until  0x0000003e , 0x00000023 
+ 00010279  0x0000164e compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00010280  0x0000164f nbranch  0x00002826 , 0x00000001 
+ 00010281  0x00001650 iforce  0x00000029 
+ 00010282  0x00001651 copy  0x00000011 , 0x00000028 
+ 00010283  0x00001652 iforce  0x00000029 
+ 00010284  0x00001653 rtn 
+ 00010285  0x00001657 bpatch  0x0000007b , 0x0000400f 
+ 00010286  0x00001658 until  0x0000003e , 0x00000022 
+ 00010287  0x00001659 deposit  0x0000001a 
+ 00010288  0x0000165a iforce  0x00000006 
+ 00010289  0x0000165b rshift16 , 0x0000003f , 0x0000003f 
+ 00010290  0x0000165c isub  0x00000022 , 0x00000039 
+ 00010291  0x0000165d and_into  0x00000003 , 0x00000039 
+ 00010292  0x0000165e nbranch  0x00002837 , 0x00000005 
+ 00010293  0x0000165f force  0x00000000 , 0x0000003f 
+ 00010294  0x00001660 branch  0x0000283b 
+ 00010295  0x00001662 arg  0x00000ea6 , 0x00000002 
+ 00010296  0x00001663 force  0x00000000 , 0x0000003f 
+ 00010297  0x00001665 iadd  0x00000002 , 0x0000003f 
+ 00010298  0x00001666 loop  0x00002839 
+ 00010299  0x00001668 iadd  0x00000006 , 0x0000003f 
+ 00010300  0x00001669 div  0x0000003f , 0x0000000c 
+ 00010301  0x0000166a call  0x00007f86 
+ 00010302  0x0000166b quotient  0x0000003f 
+ 00010303  0x0000166c store  0x00000002 , 0x00000171 
+ 00010304  0x0000166d rtn 
+ 00010305  0x00001670 bpatch  0x0000007c , 0x0000400f 
+ 00010306  0x00001671 deposit  0x0000001a 
+ 00010307  0x00001672 copy  0x00000019 , 0x00000002 
+ 00010308  0x00001673 isub  0x00000002 , 0x0000003e 
+ 00010309  0x00001674 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00010310  0x00001675 isub  0x00000002 , 0x00000002 
+ 00010311  0x00001676 setarg  0x00000ea6 
+ 00010312  0x00001677 isolate0  0x0000000f , 0x00000002 
+ 00010313  0x00001678 branch  0x0000284c , 0x00000001 
+ 00010314  0x00001679 setarg  0xffff0ea6 
+ 00010315  0x0000167a iadd  0x00000002 , 0x00000002 
+ 00010316  0x0000167c storet  0x00000006 , 0x00000447 
+ 00010317  0x0000167d rtn  0x00000036 
+ 00010318  0x0000167e storet  0x00000006 , 0x00000038 
+ 00010319  0x0000167f rtn 
+ 00010320  0x00001682 disable  0x00000030 
+ 00010321  0x00001683 fetch  0x00000006 , 0x00000447 
+ 00010322  0x00001684 branch  0x00002854 , 0x00000036 
+ 00010323  0x00001685 fetch  0x00000006 , 0x00000038 
+ 00010324  0x00001687 iadd  0x00000019 , 0x00000030 
+ 00010325  0x00001688 increase  0x0000000a , 0x00000030 
+ 00010326  0x00001689 setarg  0x00000ea6 
+ 00010327  0x0000168a isub  0x00000030 , 0x0000003f 
+ 00010328  0x0000168b isolate0  0x0000000f , 0x0000003f 
+ 00010329  0x0000168c branch  0x0000285e , 0x00000001 
+ 00010330  0x0000168d setarg  0x0000f15a 
+ 00010331  0x0000168e iadd  0x00000030 , 0x00000030 
+ 00010332  0x00001690 copy  0x00000030 , 0x0000001a 
+ 00010333  0x00001691 rtn 
+ 00010334  0x00001693 force  0x00000000 , 0x0000003e 
+ 00010335  0x00001694 branch  0x0000285c 
+ 00010336  0x0000169c bpatch  0x0000007d , 0x0000400f 
+ 00010337  0x0000169d call  0x00002918 
+ 00010338  0x0000169e copy  0x00000021 , 0x0000003f 
+ 00010339  0x0000169f and_into  0x00000180 , 0x0000003f 
+ 00010340  0x000016a0 compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00010341  0x000016a1 nbranch  0x00002869 , 0x00000001 
+ 00010342  0x000016a2 rshift3  0x0000003f , 0x0000003f 
+ 00010343  0x000016a3 iadd  0x00000017 , 0x0000003f 
+ 00010344  0x000016a4 branch  0x0000286a 
+ 00010345  0x000016a6 copy  0x00000017 , 0x0000003f 
+ 00010346  0x000016a8 div  0x0000003f , 0x0000004f 
+ 00010347  0x000016a9 pulse  0x00000015 
+ 00010348  0x000016aa call  0x00007f86 
+ 00010349  0x000016ab remainder  0x00000011 
+ 00010350  0x000016ac add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00010351  0x000016ad branch  0x00002872 , 0x00000002 
+ 00010352  0x000016ae lshift  0x00000011 , 0x00000002 
+ 00010353  0x000016af branch  0x00002874 
+ 00010354  0x000016b1 lshift  0x00000002 , 0x00000002 
+ 00010355  0x000016b2 increase  0x00000001 , 0x00000002 
+ 00010356  0x000016b4 bpatch  0x0000007e , 0x0000400f 
+ 00010357  0x000016b5 fetch  0x00000001 , 0x00000031 
+ 00010358  0x000016b6 bbit0  0x00000003 , 0x00002885 
+ 00010359  0x000016b8 fetch  0x00000004 , 0x000040d2 
+ 00010360  0x000016b9 isub  0x00000021 , 0x0000003e 
+ 00010361  0x000016ba branch  0x00002885 , 0x00000002 
+ 00010362  0x000016bb call  0x000028a4 
+ 00010363  0x000016bc fetch  0x00000001 , 0x000040d9 
+ 00010364  0x000016bd rtn  0x00000034 
+ 00010365  0x000016be fetch  0x00000001 , 0x00000031 
+ 00010366  0x000016bf set1  0x00000002 , 0x0000003f 
+ 00010367  0x000016c0 store  0x00000001 , 0x00000031 
+ 00010368  0x000016c1 fetch  0x00000005 , 0x000040e7 
+ 00010369  0x000016c2 store  0x00000005 , 0x000040da 
+ 00010370  0x000016c3 ifetch  0x00000005 , 0x00000006 
+ 00010371  0x000016c4 store  0x00000005 , 0x000040df 
+ 00010372  0x000016c5 call  0x000028a9 
+ 00010373  0x000016c7 fetch  0x00000001 , 0x00000031 
+ 00010374  0x000016c8 rtnbit0  0x00000002 
+ 00010375  0x000016c9 isolate1  0x00000001 , 0x00000021 
+ 00010376  0x000016ca branch  0x000028a1 , 0x00000001 
+ 00010377  0x000016cb rshift3  0x00000002 , 0x00000011 
+ 00010378  0x000016cc and  0x00000002 , 0x00000007 , 0x00000007 
+ 00010379  0x000016cd setarg  0x000040da 
+ 00010380  0x000016ce iadd  0x00000011 , 0x00000011 
+ 00010381  0x000016cf ifetch  0x00000001 , 0x00000011 
+ 00010382  0x000016d0 qisolate0  0x0000003f 
+ 00010383  0x000016d1 branch  0x00002892 , 0x00000001 
+ 00010384  0x000016d2 deposit  0x00000002 
+ 00010385  0x000016d3 branch  0x0000289e 
+ 00010386  0x000016d5 fetch  0x00000001 , 0x000040e4 
+ 00010387  0x000016d6 iforce  0x00000012 
+ 00010388  0x000016d7 deposit  0x00000021 
+ 00010389  0x000016d8 and_into  0x00000180 , 0x0000003f 
+ 00010390  0x000016d9 rshift3  0x0000003f , 0x0000003f 
+ 00010391  0x000016da iadd  0x00000017 , 0x0000003f 
+ 00010392  0x000016db idiv  0x00000012 
+ 00010393  0x000016dc setarg  0x000040f2 
+ 00010394  0x000016dd call  0x00007f86 
+ 00010395  0x000016de remainder  0x00000011 
+ 00010396  0x000016df iadd  0x00000011 , 0x00000006 
+ 00010397  0x000016e0 ifetch  0x00000001 , 0x00000006 
+ 00010398  0x000016e2 store  0x00000001 , 0x000040e5 
+ 00010399  0x000016e3 iforce  0x00000002 
+ 00010400  0x000016e4 rtn 
+ 00010401  0x000016e7 fetch  0x00000001 , 0x000040e5 
+ 00010402  0x000016e8 iforce  0x00000002 
+ 00010403  0x000016e9 rtn 
+ 00010404  0x000016ec fetch  0x00000001 , 0x00000031 
+ 00010405  0x000016ed set0  0x00000002 , 0x0000003f 
+ 00010406  0x000016ee set0  0x00000003 , 0x0000003f 
+ 00010407  0x000016ef store  0x00000001 , 0x00000031 
+ 00010408  0x000016f0 rtn 
+ 00010409  0x000016f7 bpatch  0x0000007f , 0x0000400f 
+ 00010410  0x000016f8 arg  0x000040f2 , 0x00000005 
+ 00010411  0x000016f9 force  0x0000000a , 0x00000039 
+ 00010412  0x000016fa call  0x00007ec6 
+ 00010413  0x000016fb arg  0x000040f2 , 0x00000005 
+ 00010414  0x000016fc force  0x00000000 , 0x00000013 
+ 00010415  0x000016fd force  0x00000002 , 0x00000007 
+ 00010416  0x000016ff fetch  0x00000005 , 0x000040da 
+ 00010417  0x00001700 iforce  0x00000002 
+ 00010418  0x00001701 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010419  0x00001702 branch  0x000028b5 , 0x00000001 
+ 00010420  0x00001703 rshift  0x00000002 , 0x00000002 
+ 00010421  0x00001705 isolate0  0x00000000 , 0x00000002 
+ 00010422  0x00001706 branch  0x000028b9 , 0x00000001 
+ 00010423  0x00001707 deposit  0x00000013 
+ 00010424  0x00001708 istore  0x00000001 , 0x00000005 
+ 00010425  0x0000170a rshift2  0x00000002 , 0x00000002 
+ 00010426  0x0000170b increase  0x00000002 , 0x00000013 
+ 00010427  0x0000170c compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00010428  0x0000170d nbranch  0x000028c2 , 0x00000001 
+ 00010429  0x0000170e fetch  0x00000005 , 0x000040df 
+ 00010430  0x0000170f iforce  0x00000002 
+ 00010431  0x00001710 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010432  0x00001711 branch  0x000028c2 , 0x00000001 
+ 00010433  0x00001712 rshift  0x00000002 , 0x00000002 
+ 00010434  0x00001714 sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00010435  0x00001715 branch  0x000028b5 , 0x00000002 
+ 00010436  0x00001716 force  0x00000001 , 0x00000013 
+ 00010437  0x00001717 increase  0xffffffff , 0x00000007 
+ 00010438  0x00001718 nbranch  0x000028b0 , 0x00000005 
+ 00010439  0x00001719 arg  0x000040f2 , 0x00000011 
+ 00010440  0x0000171a deposit  0x00000005 
+ 00010441  0x0000171b isub  0x00000011 , 0x0000003f 
+ 00010442  0x0000171c store  0x00000001 , 0x000040e4 
+ 00010443  0x0000171d rtn 
+ 00010444  0x00001720 bpatch  0x00000080 , 0x00004010 
+ 00010445  0x00001721 call  0x00002860 
+ 00010446  0x00001722 fetch  0x00000001 , 0x0000017f 
+ 00010447  0x00001723 bbit0  0x00000005 , 0x000028d1 
+ 00010448  0x00001724 fetcht  0x00000001 , 0x000004cc 
+ 00010449  0x00001726 branch  0x0000291f 
+ 00010450  0x0000172a bpatch  0x00000081 , 0x00004010 
+ 00010451  0x0000172b call  0x00002860 
+ 00010452  0x0000172c fetch  0x00000001 , 0x0000017f 
+ 00010453  0x0000172d bbit0  0x00000004 , 0x000028d7 
+ 00010454  0x0000172e fetcht  0x00000001 , 0x000004cb 
+ 00010455  0x00001730 branch  0x00002933 
+ 00010456  0x00001734 force  0x00000000 , 0x0000002d 
+ 00010457  0x00001735 fetch  0x00000003 , 0x000040a7 
+ 00010458  0x00001736 iforce  0x0000002c 
+ 00010459  0x00001737 rtn 
+ 00010460  0x0000173a bpatch  0x00000082 , 0x00004010 
+ 00010461  0x0000173b fetch  0x00000001 , 0x000041d3 
+ 00010462  0x0000173c icopy  0x0000002d 
+ 00010463  0x0000173d fetch  0x00000003 , 0x000041d0 
+ 00010464  0x0000173e icopy  0x0000002c 
+ 00010465  0x0000173f rtn 
+ 00010466  0x00001742 bpatch  0x00000083 , 0x00004010 
+ 00010467  0x00001743 fetch  0x00000002 , 0x000040a4 
+ 00010468  0x00001744 icopy  0x0000002e 
+ 00010469  0x00001745 fetch  0x00000001 , 0x000040a3 
+ 00010470  0x00001746 icopy  0x0000002d 
+ 00010471  0x00001747 fetch  0x00000003 , 0x000040a0 
+ 00010472  0x00001748 icopy  0x0000002c 
+ 00010473  0x00001749 rtn 
+ 00010474  0x0000174c bpatch  0x00000084 , 0x00004010 
+ 00010475  0x0000174d fetch  0x00000002 , 0x00000044 
+ 00010476  0x0000174e icopy  0x0000002e 
+ 00010477  0x0000174f fetch  0x00000001 , 0x00000043 
+ 00010478  0x00001750 icopy  0x0000002d 
+ 00010479  0x00001751 fetch  0x00000003 , 0x00000040 
+ 00010480  0x00001752 icopy  0x0000002c 
+ 00010481  0x00001753 rtn 
+ 00010482  0x00001757 bmark1  0x00000020 , 0x000028f5 
+ 00010483  0x00001758 rtnmark0  0x0000001d 
+ 00010484  0x00001759 rtnmark0  0x0000001f 
+ 00010485  0x0000175b and_into  0xffffff00 , 0x0000002c 
+ 00010486  0x0000175c pulse  0x00000015 
+ 00010487  0x0000175d nop  0x00000020 
+ 00010488  0x0000175e rtn 
+ 00010489  0x00001762 bpatch  0x00000085 , 0x00004010 
+ 00010490  0x00001763 branch  0x0000290a , 0x00000021 
+ 00010491  0x00001764 jam  0x000000d4 , 0x00008955 
+ 00010492  0x00001765 nop  0x00000004 
+ 00010493  0x00001766 jam  0x000000d2 , 0x00008955 
+ 00010494  0x00001767 nop  0x00000004 
+ 00010495  0x00001768 jam  0x000000d1 , 0x00008955 
+ 00010496  0x00001769 nop  0x00000004 
+ 00010497  0x0000176a fetch  0x00000001 , 0x000041de 
+ 00010498  0x0000176b beq  0x00000000 , 0x00002908 
+ 00010499  0x0000176c beq  0x00000001 , 0x00002915 
+ 00010500  0x0000176d beq  0x00000002 , 0x00002908 
+ 00010501  0x0000176e beq  0x00000003 , 0x00002915 
+ 00010502  0x0000176f beq  0x00000004 , 0x00002915 
+ 00010503  0x00001770 beq  0x00000020 , 0x00002915 
+ 00010504  0x00001773 jam  0x000000d0 , 0x00008955 
+ 00010505  0x00001774 jam  0x000000e0 , 0x00008956 
+ 00010506  0x00001776 force  0x00000000 , 0x00000015 
+ 00010507  0x00001777 disable  0x00000021 
+ 00010508  0x00001778 disable  0x00000020 
+ 00010509  0x00001779 pulse  0x0000001e 
+ 00010510  0x0000177a jam  0x00000000 , 0x00008902 
+ 00010511  0x0000177b jam  0x00000000 , 0x00008901 
+ 00010512  0x0000177c jam  0x00000000 , 0x00008900 
+ 00010513  0x0000177d jam  0x00000000 , 0x00008903 
+ 00010514  0x0000177e jam  0x00000070 , 0x00008904 
+ 00010515  0x0000177f jam  0x00000000 , 0x00008906 
+ 00010516  0x00001780 rtn 
+ 00010517  0x00001786 jam  0x000000d0 , 0x00008955 
+ 00010518  0x00001787 jam  0x000000c0 , 0x00008956 
+ 00010519  0x00001788 branch  0x0000290a 
+ 00010520  0x0000178b bpatch  0x00000086 , 0x00004010 
+ 00010521  0x0000178c jam  0x00000000 , 0x00008902 
+ 00010522  0x0000178d jam  0x00000000 , 0x00008901 
+ 00010523  0x0000178e jam  0x00000018 , 0x00008900 
+ 00010524  0x0000178f jam  0x000000a7 , 0x00008903 
+ 00010525  0x00001790 jam  0x0000007f , 0x00008904 
+ 00010526  0x00001791 rtn 
+ 00010527  0x00001794 bpatch  0x00000087 , 0x00004010 
+ 00010528  0x00001796 storet  0x00000001 , 0x00000017 
+ 00010529  0x00001797 add  0x00000002 , 0x00000004 , 0x00000011 
+ 00010530  0x00001798 jam  0x00000007 , 0x0000896d 
+ 00010531  0x00001799 branch  0x00002981 
+ 00010532  0x0000179b bpatch  0x00000088 , 0x00004011 
+ 00010533  0x0000179c jam  0x000000cf , 0x00008901 
+ 00010534  0x0000179d nop  0x0000000a 
+ 00010535  0x0000179e jam  0x000000ff , 0x00008900 
+ 00010536  0x0000179f jam  0x000000af , 0x00008903 
+ 00010537  0x000017a0 jam  0x000000ff , 0x00008904 
+ 00010538  0x000017a1 nop  0x0000000a 
+ 00010539  0x000017a2 jam  0x000000a0 , 0x00008902 
+ 00010540  0x000017a3 rtn 
+ 00010541  0x000017a6 fetch  0x00000001 , 0x000041e0 
+ 00010542  0x000017a7 branch  0x00002931 , 0x00000034 
+ 00010543  0x000017a9 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00010544  0x000017aa rtn 
+ 00010545  0x000017ac add  0x00000002 , 0x00000000 , 0x00000011 
+ 00010546  0x000017ad rtn 
+ 00010547  0x000017b0 bpatch  0x00000089 , 0x00004011 
+ 00010548  0x000017b1 storet  0x00000001 , 0x00000017 
+ 00010549  0x000017b2 call  0x0000292d 
+ 00010550  0x000017b3 call  0x00002981 
+ 00010551  0x000017b4 setarg  0x00000500 
+ 00010552  0x000017b5 call  0x00002a8f 
+ 00010553  0x000017b7 jam  0x00000001 , 0x00008906 
+ 00010554  0x000017b8 jam  0x0000003c , 0x00008900 
+ 00010555  0x000017b9 jam  0x000000e0 , 0x00008901 
+ 00010556  0x000017ba jam  0x00000012 , 0x0000896d 
+ 00010557  0x000017bb nop  0x0000000a 
+ 00010558  0x000017bc jam  0x00000001 , 0x00008902 
+ 00010559  0x000017bd jam  0x0000003d , 0x00008902 
+ 00010560  0x000017be nop  0x0000000a 
+ 00010561  0x000017bf jam  0x000000b7 , 0x00008903 
+ 00010562  0x000017c0 nop  0x0000000a 
+ 00010563  0x000017c1 jam  0x0000007f , 0x00008902 
+ 00010564  0x000017c3 fetch  0x00000001 , 0x000041de 
+ 00010565  0x000017c4 beq  0x00000000 , 0x0000294b 
+ 00010566  0x000017c5 beq  0x00000001 , 0x0000294f 
+ 00010567  0x000017c6 beq  0x00000002 , 0x00002953 
+ 00010568  0x000017c7 beq  0x00000003 , 0x00002957 
+ 00010569  0x000017c8 beq  0x00000004 , 0x0000295b 
+ 00010570  0x000017c9 beq  0x00000020 , 0x0000295f 
+ 00010571  0x000017cb jam  0x000000f0 , 0x00008956 
+ 00010572  0x000017cc call  0x00002965 
+ 00010573  0x000017cd jam  0x000000d8 , 0x00008955 
+ 00010574  0x000017ce rtn 
+ 00010575  0x000017d1 jam  0x000000df , 0x00008956 
+ 00010576  0x000017d2 call  0x00002965 
+ 00010577  0x000017d3 jam  0x000000df , 0x00008955 
+ 00010578  0x000017d4 rtn 
+ 00010579  0x000017d7 jam  0x000000ff , 0x00008956 
+ 00010580  0x000017d8 call  0x00002965 
+ 00010581  0x000017d9 jam  0x000000df , 0x00008955 
+ 00010582  0x000017da rtn 
+ 00010583  0x000017dc jam  0x000000ce , 0x00008956 
+ 00010584  0x000017dd call  0x00002965 
+ 00010585  0x000017de jam  0x000000d8 , 0x00008955 
+ 00010586  0x000017df rtn 
+ 00010587  0x000017e2 jam  0x000000cb , 0x00008956 
+ 00010588  0x000017e3 call  0x00002965 
+ 00010589  0x000017e4 jam  0x000000d8 , 0x00008955 
+ 00010590  0x000017e5 rtn 
+ 00010591  0x000017e8 jam  0x000000d0 , 0x00008955 
+ 00010592  0x000017e9 jam  0x000000c0 , 0x00008956 
+ 00010593  0x000017ea jam  0x0000004c , 0x00008957 
+ 00010594  0x000017eb jam  0x0000006c , 0x00008958 
+ 00010595  0x000017ec jam  0x00000050 , 0x00008959 
+ 00010596  0x000017ed rtn 
+ 00010597  0x000017f0 nop  0x00000004 
+ 00010598  0x000017f1 jam  0x000000d1 , 0x00008955 
+ 00010599  0x000017f2 nop  0x00000004 
+ 00010600  0x000017f3 jam  0x000000d2 , 0x00008955 
+ 00010601  0x000017f4 nop  0x00000004 
+ 00010602  0x000017f5 jam  0x000000d4 , 0x00008955 
+ 00010603  0x000017f6 rtn 
+ 00010604  0x000017fa jam  0x00000006 , 0x00008042 
+ 00010605  0x000017fc fetch  0x00000002 , 0x000040c3 
+ 00010606  0x000017fd bbit0  0x0000000e , 0x0000296d 
+ 00010607  0x000017fe iforce  0x00000006 
+ 00010608  0x000017ff arg  0x00008900 , 0x00000002 
+ 00010609  0x00001801 ifetch  0x00000001 , 0x00000006 
+ 00010610  0x00001802 beq  0x000000ff , 0x00002977 
+ 00010611  0x00001803 ior  0x00000002 , 0x00000005 
+ 00010612  0x00001804 ifetch  0x00000001 , 0x00000006 
+ 00010613  0x00001805 istore  0x00000001 , 0x00000005 
+ 00010614  0x00001806 branch  0x00002971 
+ 00010615  0x00001808 bpatch  0x0000008a , 0x00004011 
+ 00010616  0x00001809 call  0x00002be5 
+ 00010617  0x0000180a call  0x000029c9 
+ 00010618  0x0000180c setarg  0x000007d0 
+ 00010619  0x0000180d iadd  0x00000022 , 0x0000003f 
+ 00010620  0x0000180e store  0x00000004 , 0x00000169 
+ 00010621  0x0000180f set1  0x00000003 , 0x00000015 
+ 00010622  0x00001810 force  0x00000000 , 0x00000015 
+ 00010623  0x00001811 ncall  0x00002998 , 0x0000002b 
+ 00010624  0x00001812 branch  0x000029ab 
+ 00010625  0x00001816 bpatch  0x0000008b , 0x00004011 
+ 00010626  0x00001817 setarg  0x00000960 
+ 00010627  0x00001818 iadd  0x00000011 , 0x00000002 
+ 00010628  0x00001819 fetch  0x00000001 , 0x000040bd 
+ 00010629  0x0000181a jam  0x00000004 , 0x0000895f 
+ 00010630  0x0000181b imul32  0x00000002 , 0x0000003f 
+ 00010631  0x0000181c fetcht  0x00000001 , 0x000040be 
+ 00010632  0x0000181d idiv  0x00000002 
+ 00010633  0x0000181e call  0x00007f86 
+ 00010634  0x0000181f quotient  0x00000011 
+ 00010635  0x00001820 remainder  0x0000003f 
+ 00010636  0x00001821 lshift16  0x0000003f , 0x0000003f 
+ 00010637  0x00001822 lshift4  0x0000003f , 0x0000003f 
+ 00010638  0x00001823 idiv  0x00000002 
+ 00010639  0x00001824 call  0x00007f86 
+ 00010640  0x00001825 quotient  0x0000003f 
+ 00010641  0x00001826 lshift8  0x0000003f , 0x0000003f 
+ 00010642  0x00001827 lshift  0x0000003f , 0x0000003f 
+ 00010643  0x00001828 ior  0x00000011 , 0x0000003f 
+ 00010644  0x00001829 hstore  0x00000004 , 0x00008960 
+ 00010645  0x0000182a jam  0x00000044 , 0x0000895f 
+ 00010646  0x0000182b jam  0x000000c4 , 0x0000895f 
+ 00010647  0x0000182c rtn 
+ 00010648  0x00001830 bpatch  0x0000008c , 0x00004011 
+ 00010649  0x00001831 jam  0x00000002 , 0x00008906 
+ 00010650  0x00001832 setarg  0x0003d090 
+ 00010651  0x00001833 call  0x00002a8f 
+ 00010652  0x00001834 jam  0x0000007f , 0x00008900 
+ 00010653  0x00001835 nop  0x00000082 
+ 00010654  0x00001836 jam  0x00000030 , 0x00008952 
+ 00010655  0x00001837 jam  0x000000d0 , 0x00008901 
+ 00010656  0x00001838 jam  0x00000070 , 0x00008952 
+ 00010657  0x00001839 jam  0x000000f0 , 0x00008952 
+ 00010658  0x0000183a force  0x00000032 , 0x00000039 
+ 00010659  0x0000183c hfetch  0x00000001 , 0x00008980 
+ 00010660  0x0000183d bbit1  0x00000005 , 0x000029a6 
+ 00010661  0x0000183e loop  0x000029a3 
+ 00010662  0x00001840 store  0x00000001 , 0x000040ce 
+ 00010663  0x00001841 jam  0x00000000 , 0x00008901 
+ 00010664  0x00001842 jam  0x00000000 , 0x00008900 
+ 00010665  0x00001843 jam  0x00000000 , 0x00008906 
+ 00010666  0x00001844 rtn 
+ 00010667  0x00001847 bpatch  0x0000008d , 0x00004011 
+ 00010668  0x00001848 fetch  0x00000001 , 0x000040ce 
+ 00010669  0x00001849 set1  0x00000005 , 0x0000003f 
+ 00010670  0x0000184a hstore  0x00000001 , 0x00008952 
+ 00010671  0x0000184b hfetcht  0x00000001 , 0x00008950 
+ 00010672  0x0000184c and_into  0x00000007 , 0x00000002 
+ 00010673  0x0000184d lshift3  0x0000003f , 0x0000003f 
+ 00010674  0x0000184e ior  0x00000002 , 0x0000003f 
+ 00010675  0x0000184f hstore  0x00000001 , 0x00008950 
+ 00010676  0x00001850 hfetch  0x00000001 , 0x00008951 
+ 00010677  0x00001851 set0  0x00000000 , 0x0000003f 
+ 00010678  0x00001852 hstore  0x00000001 , 0x00008951 
+ 00010679  0x00001853 hfetch  0x00000001 , 0x00008952 
+ 00010680  0x00001854 set0  0x00000005 , 0x0000003f 
+ 00010681  0x00001855 hstore  0x00000001 , 0x00008952 
+ 00010682  0x00001856 rtn 
+ 00010683  0x00001859 bpatch  0x0000008e , 0x00004011 
+ 00010684  0x0000185a hfetch  0x00000002 , 0x00008981 
+ 00010685  0x0000185b rshift4  0x0000003f , 0x0000003f 
+ 00010686  0x0000185c rshift3  0x0000003f , 0x0000003f 
+ 00010687  0x0000185d sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010688  0x0000185f and_into  0x000000ff , 0x0000003f 
+ 00010689  0x00001860 div  0x0000003f , 0x0000000a 
+ 00010690  0x00001861 call  0x00007f86 
+ 00010691  0x00001862 quotient  0x0000003f 
+ 00010692  0x00001863 lshift4  0x0000003f , 0x0000003f 
+ 00010693  0x00001864 remainder  0x00000002 
+ 00010694  0x00001865 ior  0x00000002 , 0x0000003f 
+ 00010695  0x00001866 store  0x00000001 , 0x00000018 
+ 00010696  0x00001867 rtn 
+ 00010697  0x0000186b jam  0x00000006 , 0x00008042 
+ 00010698  0x0000186c hfetch  0x00000001 , 0x0000896b 
+ 00010699  0x0000186d set0  0x00000004 , 0x0000003f 
+ 00010700  0x0000186e set0  0x00000005 , 0x0000003f 
+ 00010701  0x0000186f hstore  0x00000001 , 0x0000896b 
+ 00010702  0x00001870 jam  0x00000000 , 0x00008905 
+ 00010703  0x00001871 jam  0x00000000 , 0x00008904 
+ 00010704  0x00001872 jam  0x00000070 , 0x00008904 
+ 00010705  0x00001873 jam  0x000000ff , 0x00008905 
+ 00010706  0x00001874 hfetch  0x00000001 , 0x0000896b 
+ 00010707  0x00001875 set1  0x00000004 , 0x0000003f 
+ 00010708  0x00001876 set1  0x00000005 , 0x0000003f 
+ 00010709  0x00001877 hstore  0x00000001 , 0x0000896b 
+ 00010710  0x00001878 call  0x000029e9 
+ 00010711  0x00001879 hfetch  0x00000001 , 0x00008968 
+ 00010712  0x0000187a set1  0x00000007 , 0x0000003f 
+ 00010713  0x0000187b hstore  0x00000001 , 0x00008968 
+ 00010714  0x0000187c set0  0x00000007 , 0x0000003f 
+ 00010715  0x0000187d hstore  0x00000001 , 0x00008968 
+ 00010716  0x0000187e set1  0x00000007 , 0x0000003f 
+ 00010717  0x0000187f hstore  0x00000001 , 0x00008968 
+ 00010718  0x00001880 jam  0x00000005 , 0x00008042 
+ 00010719  0x00001881 nop  0x00000001 
+ 00010720  0x00001882 jam  0x00000004 , 0x00008042 
+ 00010721  0x00001883 hfetch  0x00000001 , 0x0000896b 
+ 00010722  0x00001884 and_into  0x000000cf , 0x0000003f 
+ 00010723  0x00001885 hstore  0x00000001 , 0x0000896b 
+ 00010724  0x00001886 or_into  0x00000030 , 0x0000003f 
+ 00010725  0x00001887 hstore  0x00000001 , 0x0000896b 
+ 00010726  0x00001888 rtn 
+ 00010727  0x0000188c setarg  0x00000f0f 
+ 00010728  0x0000188d branch  0x00002c18 
+ 00010729  0x00001890 setarg  0x0000080f 
+ 00010730  0x00001891 branch  0x00002c18 
+ 00010731  0x00001896 bpatch  0x0000008f , 0x00004011 
+ 00010732  0x00001897 call  0x00002924 
+ 00010733  0x00001898 disable  0x00000020 
+ 00010734  0x00001899 enable  0x00000021 
+ 00010735  0x0000189a pulse  0x00000016 
+ 00010736  0x0000189b rtn 
+ 00010737  0x0000189e bpatch  0x00000090 , 0x00004012 
+ 00010738  0x0000189f fetch  0x00000001 , 0x0000004c 
+ 00010739  0x000018a0 isolate1  0x00000002 , 0x0000003f 
+ 00010740  0x000018a1 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00010741  0x000018a2 hstore  0x00000001 , 0x00008011 
+ 00010742  0x000018a3 arg  0x00000062 , 0x00000006 
+ 00010743  0x000018a4 ifetch  0x00000009 , 0x00000006 
+ 00010744  0x000018a5 iforce  0x00000032 
+ 00010745  0x000018a6 ifetch  0x00000007 , 0x00000006 
+ 00010746  0x000018a7 iforce  0x00000033 
+ 00010747  0x000018a8 fetch  0x00000001 , 0x00000054 
+ 00010748  0x000018a9 add  0x0000003f , 0xffffffff , 0x00000034 
+ 00010749  0x000018aa pulse  0x0000001a 
+ 00010750  0x000018ab rtn 
+ 00010751  0x000018ae deposit  0x0000001a 
+ 00010752  0x000018af store  0x00000006 , 0x0000009a 
+ 00010753  0x000018b0 disable  0x0000000d 
+ 00010754  0x000018b1 nbranch  0x000028f9 , 0x00000018 
+ 00010755  0x000018b2 arg  0x000003bb , 0x00000029 
+ 00010756  0x000018b3 increase  0x00000001 , 0x00000028 
+ 00010757  0x000018b4 and_into  0x000001fc , 0x00000028 
+ 00010758  0x000018b5 rtn 
+ 00010759  0x000018ba enable  0x0000000d 
+ 00010760  0x000018bc correlate  0x0000003e , 0x00000017 
+ 00010761  0x000018bd branch  0x000029ff , 0x00000018 
+ 00010762  0x000018be compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00010763  0x000018bf nbranch  0x00002a08 , 0x00000001 
+ 00010764  0x000018c0 branch  0x000029ff 
+ 00010765  0x000018c3 bpatch  0x00000091 , 0x00004012 
+ 00010766  0x000018c4 arg  0x00000600 , 0x0000000b 
+ 00010767  0x000018c5 enable  0x0000000d 
+ 00010768  0x000018c6 correlate  0x00000023 , 0x00000026 
+ 00010769  0x000018c7 disable  0x0000000d 
+ 00010770  0x000018c8 nbranch  0x000028f9 , 0x00000018 
+ 00010771  0x000018c9 rtn 
+ 00010772  0x000018cc bpatch  0x00000092 , 0x00004012 
+ 00010773  0x000018cd enable  0x0000000d 
+ 00010774  0x000018ce correlate  0x0000003e , 0x00000003 
+ 00010775  0x000018cf disable  0x0000000d 
+ 00010776  0x000018d0 nbranch  0x000028f9 , 0x00000018 
+ 00010777  0x000018d1 arg  0x000003bb , 0x00000029 
+ 00010778  0x000018d2 and_into  0x000001fc , 0x00000028 
+ 00010779  0x000018d3 rtn 
+ 00010780  0x000018d7 bpatch  0x00000093 , 0x00004012 
+ 00010781  0x000018d8 iforce  0x00000011 
+ 00010782  0x000018d9 deposit  0x00000021 
+ 00010783  0x000018da iadd  0x00000002 , 0x0000000b 
+ 00010784  0x000018db copy  0x0000000b , 0x0000003f 
+ 00010785  0x000018dc store  0x00000004 , 0x000040ca 
+ 00010786  0x000018dd deposit  0x00000011 
+ 00010787  0x000018de rtn 
+ 00010788  0x000018e2 copy  0x0000003f , 0x00000002 
+ 00010789  0x000018e3 bpatch  0x00000094 , 0x00004012 
+ 00010790  0x000018e4 copy  0x00000002 , 0x0000003f 
+ 00010791  0x000018e5 call  0x00007f50 
+ 00010792  0x000018e6 lshift16  0x00000021 , 0x0000003f 
+ 00010793  0x000018e7 set1  0x0000002c , 0x0000003f 
+ 00010794  0x000018e8 call  0x00007f39 
+ 00010795  0x000018e9 set0  0x0000002c , 0x0000003f 
+ 00010796  0x000018ea call  0x00002a77 
+ 00010797  0x000018eb call  0x00007f39 
+ 00010798  0x000018ec rtn  0x00000028 
+ 00010799  0x000018ed call  0x00007f43 
+ 00010800  0x000018ee iforce  0x0000001b 
+ 00010801  0x000018ef until  0x0000003e , 0x00000003 
+ 00010802  0x000018f0 rtn 
+ 00010803  0x000018f4 bpatch  0x00000095 , 0x00004012 
+ 00010804  0x000018f5 branch  0x00002a38 , 0x00000030 
+ 00010805  0x000018f6 until  0x00000029 , 0x00000026 
+ 00010806  0x000018f8 copy  0x00000028 , 0x00000002 
+ 00010807  0x000018f9 branch  0x00002a3b 
+ 00010808  0x000018fb branch  0x00002a3a , 0x0000002e 
+ 00010809  0x000018fc until  0x00000023 , 0x00000026 
+ 00010810  0x000018fe copy  0x00000022 , 0x00000002 
+ 00010811  0x00001900 branch  0x00002a47 , 0x00000028 
+ 00010812  0x00001901 compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00010813  0x00001902 nbranch  0x00002a33 , 0x00000001 
+ 00010814  0x00001904 bpatch  0x00000096 , 0x00004012 
+ 00010815  0x00001905 fetch  0x00000001 , 0x00000030 
+ 00010816  0x00001906 rtnbit0  0x00000000 
+ 00010817  0x00001907 fetch  0x00000004 , 0x000040ca 
+ 00010818  0x00001908 isub  0x00000002 , 0x0000003f 
+ 00010819  0x00001909 nrtn  0x00000002 
+ 00010820  0x0000190a sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00010821  0x0000190b branch  0x00002a33 , 0x00000002 
+ 00010822  0x0000190c rtn 
+ 00010823  0x0000190e compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00010824  0x0000190f nbranch  0x00002a33 , 0x00000001 
+ 00010825  0x00001910 branch  0x00002a3e 
+ 00010826  0x00001913 bpatch  0x00000097 , 0x00004012 
+ 00010827  0x00001914 arg  0x00000600 , 0x0000000b 
+ 00010828  0x00001915 branch  0x00002a33 
+ 00010829  0x00001918 disable  0x00000028 
+ 00010830  0x00001919 branch  0x00002a4a 
+ 00010831  0x0000191c enable  0x00000028 
+ 00010832  0x0000191d branch  0x00002a4a 
+ 00010833  0x00001920 bpatch  0x00000098 , 0x00004013 
+ 00010834  0x00001921 call  0x000029f1 
+ 00010835  0x00001922 disable  0x00000021 
+ 00010836  0x00001923 enable  0x00000020 
+ 00010837  0x00001924 rtn 
+ 00010838  0x00001929 bpatch  0x00000099 , 0x00004013 
+ 00010839  0x0000192a arg  0x00000e43 , 0x0000000b 
+ 00010840  0x0000192b until  0x00000023 , 0x00000026 
+ 00010841  0x0000192c pulse  0x00000016 
+ 00010842  0x0000192d rtn 
+ 00010843  0x00001930 bpatch  0x0000009a , 0x00004013 
+ 00010844  0x00001931 arg  0x00000d00 , 0x0000000b 
+ 00010845  0x00001932 until  0x00000023 , 0x00000026 
+ 00010846  0x00001933 rtn 
+ 00010847  0x00001937 bpatch  0x0000009b , 0x00004013 
+ 00010848  0x00001938 arg  0x00000e43 , 0x0000000b 
+ 00010849  0x00001939 until  0x00000029 , 0x00000026 
+ 00010850  0x0000193a pulse  0x00000016 
+ 00010851  0x0000193b rtn 
+ 00010852  0x0000193e bpatch  0x0000009c , 0x00004013 
+ 00010853  0x0000193f preload  0x00000009 
+ 00010854  0x00001940 enable  0x0000001d 
+ 00010855  0x00001941 set1  0x00000000 , 0x00000015 
+ 00010856  0x00001942 inject  0x00000003 , 0x00000048 
+ 00010857  0x00001943 disable  0x0000001d 
+ 00010858  0x00001944 rtn 
+ 00010859  0x00001948 copy  0x00000025 , 0x00000002 
+ 00010860  0x00001949 or_into  0x00000060 , 0x00000002 
+ 00010861  0x0000194a copy  0x00000002 , 0x0000000e 
+ 00010862  0x0000194b rtn 
+ 00010863  0x00001951 bpatch  0x0000009d , 0x00004013 
+ 00010864  0x00001952 fetch  0x00000001 , 0x00004090 
+ 00010865  0x00001953 increase  0x00000001 , 0x0000003f 
+ 00010866  0x00001954 bne  0x00000007 , 0x00002a74 
+ 00010867  0x00001955 force  0x00000001 , 0x0000003f 
+ 00010868  0x00001957 store  0x00000001 , 0x00004090 
+ 00010869  0x00001958 iforce  0x00000004 
+ 00010870  0x00001959 rtn 
+ 00010871  0x0000195c copy  0x00000019 , 0x00000002 
+ 00010872  0x0000195d rtn  0x00000029 
+ 00010873  0x0000195e copy  0x0000001a , 0x00000002 
+ 00010874  0x0000195f rtn 
+ 00010875  0x00001962 deposit  0x00000022 
+ 00010876  0x00001963 rtn  0x00000029 
+ 00010877  0x00001964 deposit  0x00000028 
+ 00010878  0x00001965 rtn 
+ 00010879  0x00001969 bpatch  0x0000009e , 0x00004013 
+ 00010880  0x0000196a fetcht  0x00000004 , 0x0000004d 
+ 00010881  0x0000196b call  0x00002a7b 
+ 00010882  0x0000196c isub  0x00000002 , 0x0000000b 
+ 00010883  0x0000196d deposit  0x0000000b 
+ 00010884  0x0000196e fetcht  0x00000002 , 0x00000051 
+ 00010885  0x0000196f lshift  0x00000002 , 0x00000002 
+ 00010886  0x00001970 isub  0x00000002 , 0x0000003f 
+ 00010887  0x00001971 rtn 
+ 00010888  0x00001974 bpatch  0x0000009f , 0x00004013 
+ 00010889  0x00001975 call  0x00002a7b 
+ 00010890  0x00001976 store  0x00000004 , 0x0000004d 
+ 00010891  0x00001977 rtn 
+ 00010892  0x0000197a bpatch  0x000000a0 , 0x00004014 
+ 00010893  0x0000197b branch  0x00002a8c 
+ 00010894  0x0000197e branch  0x00002a8e 
+ 00010895  0x00001981 rtn  0x00000034 
+ 00010896  0x00001983 rshift  0x0000003f , 0x0000003f 
+ 00010897  0x00001984 increase  0xfffffffd , 0x0000003f 
+ 00010898  0x00001986 increase  0xffffffff , 0x0000003f 
+ 00010899  0x00001987 nbranch  0x00002a92 , 0x00000005 
+ 00010900  0x00001988 force  0x00000000 , 0x0000003f 
+ 00010901  0x00001989 rtn 
+ 00010902  0x0000198f arg  0x00000010 , 0x00000039 
+ 00010903  0x00001990 arg  0x00000000 , 0x00000005 
+ 00010904  0x00001991 call  0x00007ec6 
+ 00010905  0x00001992 arg  0x0000043f , 0x00000005 
+ 00010906  0x00001993 arg  0x0000000a , 0x00000039 
+ 00010907  0x00001994 call  0x00007ec6 
+ 00010908  0x00001995 jam  0x00000000 , 0x000009b2 
+ 00010909  0x00001996 jam  0x00000000 , 0x00000a99 
+ 00010910  0x00001997 jam  0x00000000 , 0x0000048c 
+ 00010911  0x00001998 jam  0x00000000 , 0x0000017f 
+ 00010912  0x00001999 jam  0x00000000 , 0x000004d1 
+ 00010913  0x0000199a bpatch  0x000000a1 , 0x00004014 
+ 00010914  0x0000199b jam  0x00000000 , 0x0000016d 
+ 00010915  0x0000199c jam  0x00000000 , 0x00000151 
+ 00010916  0x0000199d jam  0x00000000 , 0x0000015c 
+ 00010917  0x0000199e setarg  0x009e8b33 
+ 00010918  0x0000199f store  0x00000003 , 0x000040a7 
+ 00010919  0x000019a0 setarg  0x00000153 
+ 00010920  0x000019a1 store  0x00000002 , 0x00000083 
+ 00010921  0x000019a2 jam  0x0000001e , 0x00000085 
+ 00010922  0x000019a3 jam  0x00000001 , 0x00000086 
+ 00010923  0x000019a4 jam  0x00000007 , 0x00000088 
+ 00010924  0x000019a5 setarg  0x0012e904 
+ 00010925  0x000019a6 store  0x00000003 , 0x00000080 
+ 00010926  0x000019ab jam  0x00000060 , 0x00000090 
+ 00010927  0x000019ac jam  0x00000005 , 0x000040d0 
+ 00010928  0x000019ad jam  0x00000002 , 0x00000014 
+ 00010929  0x000019ae fetch  0x00000001 , 0x0000465a 
+ 00010930  0x000019af ncall  0x000074c1 , 0x00000034 
+ 00010931  0x000019b0 fetch  0x00000001 , 0x000044be 
+ 00010932  0x000019b1 ncall  0x00007518 , 0x00000034 
+ 00010933  0x000019b2 bpatch  0x000000a2 , 0x00004014 
+ 00010934  0x000019b3 rtn  0x0000002b 
+ 00010935  0x000019b4 setarg  0x00000000 
+ 00010936  0x000019b5 store  0x00000002 , 0x000041dc 
+ 00010937  0x000019b6 rshift  0x00000022 , 0x0000003f 
+ 00010938  0x000019b7 store  0x00000004 , 0x00004094 
+ 00010939  0x000019b8 rtn 
+ 00010940  0x000019c0 setarg  0x0000ee21 
+ 00010941  0x000019c1 hstore  0x00000002 , 0x00008050 
+ 00010942  0x000019c2 hfetch  0x00000004 , 0x0000811c 
+ 00010943  0x000019c3 store  0x00000004 , 0x00000abe 
+ 00010944  0x000019c4 hfetch  0x00000001 , 0x0000813e 
+ 00010945  0x000019c5 store  0x00000001 , 0x00000abd 
+ 00010946  0x000019c6 bbit0  0x00000003 , 0x0000645b 
+ 00010947  0x000019c7 enable  0x0000002b 
+ 00010948  0x000019c8 bbit0  0x00000007 , 0x00002acc 
+ 00010949  0x000019c9 disable  0x0000002b 
+ 00010950  0x000019ca deposit  0x00000027 
+ 00010951  0x000019cb nbranch  0x00002acc , 0x00000034 
+ 00010952  0x000019cc hfetch  0x00000001 , 0x0000813b 
+ 00010953  0x000019cd bbit1  0x00000002 , 0x00002acc 
+ 00010954  0x000019ce arg  0xffffffff , 0x00000002 
+ 00010955  0x000019cf branch  0x00002b3c 
+ 00010956  0x000019d1 hfetch  0x00000003 , 0x0000813c 
+ 00010957  0x000019d2 hstore  0x00000003 , 0x0000804c 
+ 00010958  0x000019d3 ifetch  0x00000001 , 0x00000006 
+ 00010959  0x000019d4 or_into  0x000000ef , 0x0000003f 
+ 00010960  0x000019d5 istore  0x00000001 , 0x00000005 
+ 00010961  0x000019d6 call  0x00002c23 
+ 00010962  0x000019d7 hfetch  0x00000001 , 0x0000804f 
+ 00010963  0x000019d8 set1  0x00000004 , 0x0000003f 
+ 00010964  0x000019d9 hstore  0x00000001 , 0x0000804f 
+ 00010965  0x000019da call  0x00002c23 
+ 00010966  0x000019db call  0x00002adf , 0x0000002b 
+ 00010967  0x000019dc hfetch  0x00000001 , 0x0000804e 
+ 00010968  0x000019dd set0  0x00000003 , 0x0000003f 
+ 00010969  0x000019de hstore  0x00000001 , 0x0000804e 
+ 00010970  0x000019df call  0x00002c23 
+ 00010971  0x000019e0 nbranch  0x0000645b , 0x0000002b 
+ 00010972  0x000019e1 rtnmark0  0x0000002b 
+ 00010973  0x000019e2 jam  0x00000008 , 0x00008006 
+ 00010974  0x000019e3 rtn 
+ 00010975  0x000019e6 fetch  0x00000001 , 0x00004198 
+ 00010976  0x000019e7 hstore  0x00000001 , 0x00008086 
+ 00010977  0x000019e8 fetch  0x00000003 , 0x0000418d 
+ 00010978  0x000019e9 hstore  0x00000003 , 0x00008080 
+ 00010979  0x000019ea fetch  0x00000004 , 0x00004181 
+ 00010980  0x000019eb hstore  0x00000004 , 0x00008074 
+ 00010981  0x000019ec fetch  0x00000004 , 0x0000417d 
+ 00010982  0x000019ed hstore  0x00000004 , 0x00008070 
+ 00010983  0x000019ee fetch  0x00000008 , 0x00004185 
+ 00010984  0x000019ef hstore  0x00000008 , 0x00008078 
+ 00010985  0x000019f0 fetch  0x00000008 , 0x00004190 
+ 00010986  0x000019f1 iforce  0x00000000 
+ 00010987  0x000019f2 hfetch  0x00000008 , 0x00008140 
+ 00010988  0x000019f3 store  0x00000008 , 0x000000a1 
+ 00010989  0x000019f4 call  0x000064ca 
+ 00010990  0x000019f5 rtn 
+ 00010991  0x000019f8 deposit  0x00000000 
+ 00010992  0x000019f9 store  0x00000008 , 0x00004190 
+ 00010993  0x000019fa hfetch  0x00000008 , 0x00008070 
+ 00010994  0x000019fb store  0x00000008 , 0x0000417d 
+ 00010995  0x000019fc ifetch  0x00000008 , 0x00000006 
+ 00010996  0x000019fd istore  0x00000008 , 0x00000005 
+ 00010997  0x000019fe hfetch  0x00000003 , 0x00008080 
+ 00010998  0x000019ff store  0x00000003 , 0x0000418d 
+ 00010999  0x00001a00 hfetch  0x00000001 , 0x00008086 
+ 00011000  0x00001a01 store  0x00000001 , 0x00004198 
+ 00011001  0x00001a02 branch  0x00002c29 
+ 00011002  0x00001a05 hfetch  0x00000001 , 0x00008063 
+ 00011003  0x00001a06 nbranch  0x00002b00 , 0x00000034 
+ 00011004  0x00001a07 fetch  0x00000003 , 0x0000416f 
+ 00011005  0x00001a08 nrtn  0x00000034 
+ 00011006  0x00001a09 jam  0x000000c0 , 0x00008063 
+ 00011007  0x00001a0a jam  0x00000080 , 0x00008006 
+ 00011008  0x00001a0c hfetch  0x00000001 , 0x0000812d 
+ 00011009  0x00001a0d rtnbit0  0x00000001 
+ 00011010  0x00001a0e hfetch  0x00000003 , 0x00008149 
+ 00011011  0x00001a0f store  0x00000003 , 0x0000416f 
+ 00011012  0x00001a10 rtn 
+ 00011013  0x00001a15 bpatch  0x000000a3 , 0x00004014 
+ 00011014  0x00001a16 deposit  0x0000001a 
+ 00011015  0x00001a17 call  0x00007f37 
+ 00011016  0x00001a18 fetcht  0x00000004 , 0x0000415f 
+ 00011017  0x00001a19 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00011018  0x00001a1a rtn  0x00000002 
+ 00011019  0x00001a1b lshift8  0x0000003f , 0x0000003f 
+ 00011020  0x00001a1c lshift4  0x0000003f , 0x0000003f 
+ 00011021  0x00001a1d idiv  0x00000002 
+ 00011022  0x00001a1e call  0x00007f86 
+ 00011023  0x00001a1f quotient  0x0000003f 
+ 00011024  0x00001a20 arg  0x000000c8 , 0x00000002 
+ 00011025  0x00001a21 call  0x00007f91 
+ 00011026  0x00001a22 store  0x00000001 , 0x00000099 
+ 00011027  0x00001a23 nbranch  0x00002b15 , 0x00000028 
+ 00011028  0x00001a24 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00011029  0x00001a26 fetcht  0x00000003 , 0x0000416f 
+ 00011030  0x00001a27 iadd  0x00000002 , 0x0000003f 
+ 00011031  0x00001a28 store  0x00000003 , 0x0000416f 
+ 00011032  0x00001a2a setarg  0x00000000 
+ 00011033  0x00001a2b store  0x00000004 , 0x0000415f 
+ 00011034  0x00001a2c rtn 
+ 00011035  0x00001a31 fetch  0x00000001 , 0x00004177 
+ 00011036  0x00001a32 set1  0x00000002 , 0x0000003f 
+ 00011037  0x00001a33 store  0x00000001 , 0x00004177 
+ 00011038  0x00001a34 branch  0x00002b23 
+ 00011039  0x00001a39 arg  0xffffffff , 0x00000002 
+ 00011040  0x00001a3a fetch  0x00000001 , 0x00004176 
+ 00011041  0x00001a3b set0  0x00000007 , 0x0000003f 
+ 00011042  0x00001a3c store  0x00000001 , 0x00004176 
+ 00011043  0x00001a3e bpatch  0x000000a4 , 0x00004014 
+ 00011044  0x00001a3f call  0x00002c29 
+ 00011045  0x00001a40 fetch  0x00000001 , 0x00004157 
+ 00011046  0x00001a41 store  0x00000001 , 0x0000417c 
+ 00011047  0x00001a42 fetch  0x00000001 , 0x0000417a 
+ 00011048  0x00001a43 set1  0x00000007 , 0x0000003f 
+ 00011049  0x00001a44 store  0x00000001 , 0x0000417a 
+ 00011050  0x00001a48 bpatch  0x000000a5 , 0x00004014 
+ 00011051  0x00001a49 call  0x000029e7 
+ 00011052  0x00001a4a fetch  0x00000004 , 0x0000415f 
+ 00011053  0x00001a4b iadd  0x00000002 , 0x0000003f 
+ 00011054  0x00001a4c store  0x00000004 , 0x0000415f 
+ 00011055  0x00001a4d call  0x00002aef 
+ 00011056  0x00001a4e fetch  0x00000005 , 0x00004178 
+ 00011057  0x00001a4f hstore  0x00000004 , 0x0000804c 
+ 00011058  0x00001a50 rshift32  0x0000003f , 0x00000011 
+ 00011059  0x00001a51 until  0x0000003e , 0x00000033 
+ 00011060  0x00001a52 deposit  0x00000019 
+ 00011061  0x00001a53 store  0x00000006 , 0x00004163 
+ 00011062  0x00001a54 jam  0x00000002 , 0x00008005 
+ 00011063  0x00001a55 until  0x0000003e , 0x00000033 
+ 00011064  0x00001a56 until  0x0000003e , 0x00000033 
+ 00011065  0x00001a57 deposit  0x00000011 
+ 00011066  0x00001a58 hstore  0x00000001 , 0x0000804f 
+ 00011067  0x00001a59 jam  0x00000002 , 0x00008005 
+ 00011068  0x00001a5b until  0x0000003e , 0x00000033 
+ 00011069  0x00001a5c until  0x0000003e , 0x00000033 
+ 00011070  0x00001a5d hstoret  0x00000004 , 0x0000804c 
+ 00011071  0x00001a5e jam  0x00000010 , 0x00008005 
+ 00011072  0x00001a5f until  0x0000003e , 0x0000003f 
+ 00011073  0x00001a65 bpatch  0x000000a6 , 0x00004014 
+ 00011074  0x00001a66 setarg  0x00000000 
+ 00011075  0x00001a67 copy  0x00000027 , 0x0000003e 
+ 00011076  0x00001a68 branch  0x00002b4c , 0x00000005 
+ 00011077  0x00001a69 hfetch  0x00000001 , 0x0000813c 
+ 00011078  0x00001a6a hfetcht  0x00000001 , 0x0000813d 
+ 00011079  0x00001a6b isub  0x00000002 , 0x0000003e 
+ 00011080  0x00001a6c branch  0x00002b4a , 0x00000002 
+ 00011081  0x00001a6d deposit  0x00000002 
+ 00011082  0x00001a6f isub  0x00000027 , 0x0000003f 
+ 00011083  0x00001a70 increase  0x00000001 , 0x0000003f 
+ 00011084  0x00001a72 increase  0x00000008 , 0x0000003f 
+ 00011085  0x00001a73 until  0x0000003e , 0x00000033 
+ 00011086  0x00001a74 iadd  0x00000031 , 0x0000003f 
+ 00011087  0x00001a75 fetcht  0x00000004 , 0x0000415b 
+ 00011088  0x00001a76 iadd  0x00000002 , 0x0000003f 
+ 00011089  0x00001a77 fetcht  0x00000003 , 0x0000416f 
+ 00011090  0x00001a78 imul32  0x00000002 , 0x0000003f 
+ 00011091  0x00001a79 rshift8  0x0000003f , 0x0000003f 
+ 00011092  0x00001a7a rshift4  0x0000003f , 0x0000003f 
+ 00011093  0x00001a7b increase  0x0000006e , 0x0000003f 
+ 00011094  0x00001a7c arg  0x00000ea6 , 0x00000002 
+ 00011095  0x00001a7d idiv  0x00000002 
+ 00011096  0x00001a7e call  0x00007f86 
+ 00011097  0x00001a7f quotient  0x0000003f 
+ 00011098  0x00001a80 lshift16  0x0000003f , 0x0000003f 
+ 00011099  0x00001a81 remainder  0x00000002 
+ 00011100  0x00001a82 ior  0x00000002 , 0x0000003f 
+ 00011101  0x00001a83 fetcht  0x00000006 , 0x00004163 
+ 00011102  0x00001a84 call  0x00007f2c 
+ 00011103  0x00001a85 copy  0x00000002 , 0x00000019 
+ 00011104  0x00001a86 fetch  0x00000006 , 0x00004048 
+ 00011105  0x00001a87 call  0x00002854 
+ 00011106  0x00001a88 deposit  0x0000001a 
+ 00011107  0x00001a89 store  0x00000006 , 0x00000a9a 
+ 00011108  0x00001a8a deposit  0x00000027 
+ 00011109  0x00001a8b istore  0x00000001 , 0x00000005 
+ 00011110  0x00001a8c hfetch  0x00000001 , 0x0000811d 
+ 00011111  0x00001a8d or_into  0x000000f0 , 0x0000003f 
+ 00011112  0x00001a8e istore  0x00000001 , 0x00000005 
+ 00011113  0x00001a8f rtn 
+ 00011114  0x00001a92 bpatch  0x000000a7 , 0x00004014 
+ 00011115  0x00001a93 call  0x00002afa 
+ 00011116  0x00001a94 fetch  0x00000003 , 0x0000416f 
+ 00011117  0x00001a95 rtn  0x00000034 
+ 00011118  0x00001a96 fetch  0x00000001 , 0x00004091 
+ 00011119  0x00001a97 rtn  0x00000034 
+ 00011120  0x00001a98 fetch  0x00000001 , 0x0000465a 
+ 00011121  0x00001a99 branch  0x00002b74 , 0x00000034 
+ 00011122  0x00001a9a fetch  0x00000001 , 0x000045b1 
+ 00011123  0x00001a9b rtn  0x00000034 
+ 00011124  0x00001a9d fetch  0x00000001 , 0x000044c0 
+ 00011125  0x00001a9e nrtn  0x00000034 
+ 00011126  0x00001a9f call  0x00002c3a 
+ 00011127  0x00001aa0 nrtn  0x00000034 
+ 00011128  0x00001aa1 fetch  0x00000001 , 0x00004040 
+ 00011129  0x00001aa2 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00011130  0x00001aa3 nbranch  0x00002b9d , 0x00000001 
+ 00011131  0x00001aa4 fetch  0x00000002 , 0x00004042 
+ 00011132  0x00001aa5 rtn  0x00000034 
+ 00011133  0x00001aa6 rtn  0x0000002b 
+ 00011134  0x00001aa7 bpatch  0x000000a8 , 0x00004015 
+ 00011135  0x00001aa9 fetcht  0x00000001 , 0x000000a0 
+ 00011136  0x00001aaa fetch  0x00000002 , 0x00004042 
+ 00011137  0x00001aab imul32  0x00000002 , 0x0000003f 
+ 00011138  0x00001aac rshift4  0x00000002 , 0x00000002 
+ 00011139  0x00001aad rshift2  0x00000002 , 0x00000002 
+ 00011140  0x00001aae isub  0x00000002 , 0x0000003f 
+ 00011141  0x00001aaf fetcht  0x00000004 , 0x00004044 
+ 00011142  0x00001ab0 iadd  0x00000002 , 0x0000003f 
+ 00011143  0x00001ab1 fetcht  0x00000001 , 0x00004156 
+ 00011144  0x00001ab2 isub  0x00000002 , 0x0000003f 
+ 00011145  0x00001ab3 lshift16  0x0000003f , 0x00000030 
+ 00011146  0x00001ab4 bpatch  0x000000a9 , 0x00004015 
+ 00011147  0x00001ab5 fetch  0x00000002 , 0x0000404e 
+ 00011148  0x00001ab6 rshift  0x0000003f , 0x0000003f 
+ 00011149  0x00001ab7 call  0x00007f50 
+ 00011150  0x00001ab8 deposit  0x00000030 
+ 00011151  0x00001ab9 call  0x00007f39 
+ 00011152  0x00001aba copy  0x0000001a , 0x00000002 
+ 00011153  0x00001abb call  0x00007f37 
+ 00011154  0x00001abc rtn  0x00000028 
+ 00011155  0x00001abe call  0x00007f49 
+ 00011156  0x00001ac0 bpatch  0x000000aa , 0x00004015 
+ 00011157  0x00001ac1 fetch  0x00000001 , 0x00004178 
+ 00011158  0x00001ac2 isub  0x00000002 , 0x0000003e 
+ 00011159  0x00001ac3 branch  0x00002b18 , 0x00000002 
+ 00011160  0x00001ac4 storet  0x00000004 , 0x0000415b 
+ 00011161  0x00001ac5 call  0x00003328 
+ 00011162  0x00001ac6 call  0x000052fb 
+ 00011163  0x00001ac7 fetcht  0x00000004 , 0x0000415b 
+ 00011164  0x00001ac8 branch  0x00002b2a 
+ 00011165  0x00001acb bpatch  0x000000ab , 0x00004015 
+ 00011166  0x00001acc fetch  0x00000001 , 0x00004040 
+ 00011167  0x00001acd rtnbit1  0x00000000 
+ 00011168  0x00001ace rtnbit1  0x00000003 
+ 00011169  0x00001acf fetch  0x00000001 , 0x0000465a 
+ 00011170  0x00001ad0 branch  0x00002ba5 , 0x00000034 
+ 00011171  0x00001ad1 fetch  0x00000001 , 0x000045b1 
+ 00011172  0x00001ad2 rtn  0x00000034 
+ 00011173  0x00001ad4 bpatch  0x000000ac , 0x00004015 
+ 00011174  0x00001ad5 fetch  0x00000001 , 0x0000436e 
+ 00011175  0x00001ad6 nbranch  0x00002baa , 0x00000034 
+ 00011176  0x00001ad7 fetch  0x00000001 , 0x00004093 
+ 00011177  0x00001ad8 rtn  0x00000034 
+ 00011178  0x00001ada fetch  0x00000002 , 0x00004154 
+ 00011179  0x00001adb rtn  0x00000034 
+ 00011180  0x00001add fetcht  0x00000001 , 0x00004156 
+ 00011181  0x00001ade isub  0x00000002 , 0x0000003f 
+ 00011182  0x00001adf arg  0x00001d4c , 0x00000002 
+ 00011183  0x00001ae0 imul32  0x00000002 , 0x0000003f 
+ 00011184  0x00001ae1 branch  0x00002b93 
+ 00011185  0x00001ae4 bpatch  0x000000ad , 0x00004015 
+ 00011186  0x00001ae5 disable  0x0000002b 
+ 00011187  0x00001ae6 fetch  0x00000001 , 0x00000030 
+ 00011188  0x00001ae7 rtnbit0  0x00000001 
+ 00011189  0x00001ae8 nbranch  0x00002bd0 , 0x0000002d 
+ 00011190  0x00001ae9 call  0x00002bcb 
+ 00011191  0x00001aea fetch  0x00000002 , 0x000040c1 
+ 00011192  0x00001aeb store  0x00000002 , 0x0000003e 
+ 00011193  0x00001aec fetch  0x00000001 , 0x00000047 
+ 00011194  0x00001aed bbit1  0x00000003 , 0x00002bde 
+ 00011195  0x00001aee bmark0  0x0000000d , 0x00002bde 
+ 00011196  0x00001aef call  0x00005274 
+ 00011197  0x00001af0 nbranch  0x00002bde , 0x00000034 
+ 00011198  0x00001af1 fetch  0x00000001 , 0x0000455c 
+ 00011199  0x00001af2 bbit1  0x00000001 , 0x00002bde 
+ 00011200  0x00001af4 jam  0x00000000 , 0x000000a0 
+ 00011201  0x00001af5 bmark0  0x0000000d , 0x00002bde 
+ 00011202  0x00001af6 fetch  0x00000001 , 0x00004174 
+ 00011203  0x00001af7 branch  0x00002be2 , 0x00000034 
+ 00011204  0x00001af8 increase  0xffffffff , 0x0000003f 
+ 00011205  0x00001af9 store  0x00000001 , 0x00004174 
+ 00011206  0x00001afa rtn 
+ 00011207  0x00001afe arg  0x00000001 , 0x00000007 
+ 00011208  0x00001aff branch  0x000060cd 
+ 00011209  0x00001b02 arg  0x00000001 , 0x00000007 
+ 00011210  0x00001b03 branch  0x000060d1 
+ 00011211  0x00001b08 jam  0x00000000 , 0x00004159 
+ 00011212  0x00001b09 fetch  0x00000003 , 0x00004169 
+ 00011213  0x00001b0a increase  0x00000001 , 0x0000003f 
+ 00011214  0x00001b0b store  0x00000003 , 0x00004169 
+ 00011215  0x00001b0c rtn 
+ 00011216  0x00001b0f bpatch  0x000000ae , 0x00004015 
+ 00011217  0x00001b10 fetcht  0x00000002 , 0x000040c1 
+ 00011218  0x00001b11 rshift  0x00000002 , 0x00000002 
+ 00011219  0x00001b12 fetch  0x00000002 , 0x0000003e 
+ 00011220  0x00001b13 iadd  0x00000002 , 0x0000003f 
+ 00011221  0x00001b14 store  0x00000002 , 0x0000003e 
+ 00011222  0x00001b16 jam  0x00000000 , 0x000000a0 
+ 00011223  0x00001b17 fetch  0x00000003 , 0x0000416c 
+ 00011224  0x00001b18 increase  0x00000001 , 0x0000003f 
+ 00011225  0x00001b19 store  0x00000003 , 0x0000416c 
+ 00011226  0x00001b1a fetch  0x00000001 , 0x00004159 
+ 00011227  0x00001b1b increase  0x00000001 , 0x0000003f 
+ 00011228  0x00001b1c store  0x00000001 , 0x00004159 
+ 00011229  0x00001b1d rtn 
+ 00011230  0x00001b20 jam  0x00000000 , 0x000000a0 
+ 00011231  0x00001b21 fetch  0x00000001 , 0x00004173 
+ 00011232  0x00001b22 store  0x00000001 , 0x00004174 
+ 00011233  0x00001b23 rtn 
+ 00011234  0x00001b26 fetcht  0x00000001 , 0x00004172 
+ 00011235  0x00001b27 storet  0x00000001 , 0x000000a0 
+ 00011236  0x00001b28 rtn 
+ 00011237  0x00001b2b bpatch  0x000000af , 0x00004015 
+ 00011238  0x00001b2c fetch  0x00000001 , 0x00004178 
+ 00011239  0x00001b2d nrtn  0x00000034 
+ 00011240  0x00001b2e jam  0x00000006 , 0x00008042 
+ 00011241  0x00001b2f setarg  0x00000f0c 
+ 00011242  0x00001b30 call  0x00002c18 
+ 00011243  0x00001b31 setarg  0x00030d40 
+ 00011244  0x00001b32 call  0x00002a8f 
+ 00011245  0x00001b33 until  0x0000003e , 0x00000033 
+ 00011246  0x00001b34 copy  0x00000031 , 0x00000030 
+ 00011247  0x00001b35 call  0x000029e7 
+ 00011248  0x00001b36 jam  0x00000004 , 0x00008042 
+ 00011249  0x00001b37 nop  0x0000000a 
+ 00011250  0x00001b38 until  0x0000003e , 0x00000033 
+ 00011251  0x00001b39 deposit  0x00000031 
+ 00011252  0x00001b3a isub  0x00000030 , 0x0000003f 
+ 00011253  0x00001b3b increase  0x00000030 , 0x0000003f 
+ 00011254  0x00001b3c arg  0x000000ff , 0x00000002 
+ 00011255  0x00001b3d call  0x00007f91 
+ 00011256  0x00001b3e store  0x00000001 , 0x00004178 
+ 00011257  0x00001b3f nop  0x00007530 
+ 00011258  0x00001b40 nop  0x00007530 
+ 00011259  0x00001b41 nop  0x00007530 
+ 00011260  0x00001b42 rtn 
+ 00011261  0x00001b45 fetch  0x00000001 , 0x00004178 
+ 00011262  0x00001b46 nrtn  0x00000034 
+ 00011263  0x00001b47 jam  0x000000ff , 0x00008044 
+ 00011264  0x00001b48 jam  0x00000006 , 0x00008042 
+ 00011265  0x00001b49 call  0x000029e7 
+ 00011266  0x00001b4a setarg  0x000003e8 
+ 00011267  0x00001b4b iadd  0x00000031 , 0x00000030 
+ 00011268  0x00001b4c snooze 
+ 00011269  0x00001b4d deposit  0x00000031 
+ 00011270  0x00001b4e nop  0x00002ee0 
+ 00011271  0x00001b4f nop  0x00002ee0 
+ 00011272  0x00001b50 nop  0x00002ee0 
+ 00011273  0x00001b51 nop  0x00002ee0 
+ 00011274  0x00001b52 nop  0x00002ee0 
+ 00011275  0x00001b53 nop  0x00002ee0 
+ 00011276  0x00001b54 nop  0x00002ee0 
+ 00011277  0x00001b55 nop  0x00002ee0 
+ 00011278  0x00001b56 nop  0x00002ee0 
+ 00011279  0x00001b57 isub  0x00000030 , 0x0000003f 
+ 00011280  0x00001b58 add  0x0000003f , 0x00000030 , 0x0000003f 
+ 00011281  0x00001b59 arg  0x000000ff , 0x00000002 
+ 00011282  0x00001b5a call  0x00007f91 
+ 00011283  0x00001b5b store  0x00000001 , 0x00004178 
+ 00011284  0x00001b5c nop  0x00007530 
+ 00011285  0x00001b5d nop  0x00007530 
+ 00011286  0x00001b5e nop  0x00007530 
+ 00011287  0x00001b5f rtn 
+ 00011288  0x00001b65 arg  0x00000fff , 0x00000005 
+ 00011289  0x00001b66 iand  0x00000005 , 0x00000005 
+ 00011290  0x00001b67 fetch  0x00000001 , 0x00004175 
+ 00011291  0x00001b68 and_into  0x000000f0 , 0x0000003f 
+ 00011292  0x00001b69 lshift8  0x0000003f , 0x0000003f 
+ 00011293  0x00001b6a ior  0x00000005 , 0x0000003f 
+ 00011294  0x00001b6b hstore  0x00000002 , 0x0000804c 
+ 00011295  0x00001b6c ifetch  0x00000002 , 0x00000006 
+ 00011296  0x00001b6d istore  0x00000002 , 0x00000005 
+ 00011297  0x00001b70 setarg  0x00000001 
+ 00011298  0x00001b71 branch  0x00002c24 
+ 00011299  0x00001b74 setarg  0x00000002 
+ 00011300  0x00001b76 until  0x0000003e , 0x00000033 
+ 00011301  0x00001b77 hstore  0x00000001 , 0x00008005 
+ 00011302  0x00001b78 until  0x0000003e , 0x00000033 
+ 00011303  0x00001b79 until  0x0000003e , 0x00000033 
+ 00011304  0x00001b7a rtn 
+ 00011305  0x00001b7e bpatch  0x000000b0 , 0x00004016 
+ 00011306  0x00001b7f fetch  0x00000004 , 0x000000a1 
+ 00011307  0x00001b80 hstore  0x00000004 , 0x0000804c 
+ 00011308  0x00001b81 setarg  0x00000004 
+ 00011309  0x00001b82 call  0x00002c24 
+ 00011310  0x00001b83 fetch  0x00000004 , 0x000000a5 
+ 00011311  0x00001b84 hstore  0x00000004 , 0x0000804c 
+ 00011312  0x00001b85 setarg  0x00000008 
+ 00011313  0x00001b86 branch  0x00002c24 
+ 00011314  0x00001b89 fetch  0x00000002 , 0x00004152 
+ 00011315  0x00001b8a qset1  0x0000003f 
+ 00011316  0x00001b8b store  0x00000002 , 0x00004152 
+ 00011317  0x00001b8c rtn 
+ 00011318  0x00001b8f fetch  0x00000002 , 0x00004152 
+ 00011319  0x00001b90 qset0  0x0000003f 
+ 00011320  0x00001b91 store  0x00000002 , 0x00004152 
+ 00011321  0x00001b92 rtn 
+ 00011322  0x00001b97 bpatch  0x000000b1 , 0x00004016 
+ 00011323  0x00001b98 call  0x00003326 
+ 00011324  0x00001b99 fetch  0x00000002 , 0x00004152 
+ 00011325  0x00001b9a copy  0x0000003f , 0x00000011 
+ 00011326  0x00001b9b fetch  0x00000001 , 0x0000004c 
+ 00011327  0x00001b9c isolate1  0x00000006 , 0x0000003f 
+ 00011328  0x00001b9d setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00011329  0x00001b9e fetch  0x00000001 , 0x00000078 
+ 00011330  0x00001b9f fetcht  0x00000001 , 0x0000007c 
+ 00011331  0x00001ba0 iadd  0x00000002 , 0x0000003f 
+ 00011332  0x00001ba1 fetcht  0x00000001 , 0x00000048 
+ 00011333  0x00001ba2 iadd  0x00000002 , 0x0000003f 
+ 00011334  0x00001ba3 nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00011335  0x00001ba4 fetch  0x00000001 , 0x000044ff 
+ 00011336  0x00001ba5 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00011337  0x00001ba6 fetch  0x00000002 , 0x0000025d 
+ 00011338  0x00001ba7 fetcht  0x00000002 , 0x0000025f 
+ 00011339  0x00001ba8 iadd  0x00000002 , 0x0000003f 
+ 00011340  0x00001ba9 nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00011341  0x00001baa fetch  0x00000008 , 0x00004668 
+ 00011342  0x00001bab nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00011343  0x00001bac fetch  0x00000008 , 0x00004670 
+ 00011344  0x00001bad nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00011345  0x00001bae fetch  0x00000001 , 0x000041ce 
+ 00011346  0x00001baf nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00011347  0x00001bb0 fetch  0x00000001 , 0x00004092 
+ 00011348  0x00001bb1 compare  0x0000000a , 0x0000003f , 0x000000ff 
+ 00011349  0x00001bb2 call  0x00002c5b , 0x00000001 
+ 00011350  0x00001bb3 setarg  0xfffffff8 
+ 00011351  0x00001bb4 iand  0x00000011 , 0x00000011 
+ 00011352  0x00001bb5 copy  0x00000011 , 0x0000003f 
+ 00011353  0x00001bb6 store  0x00000002 , 0x00004152 
+ 00011354  0x00001bb7 rtn 
+ 00011355  0x00001bba hfetch  0x00000002 , 0x00008112 
+ 00011356  0x00001bbb nsetflag  0x00000034 , 0x00000006 , 0x00000011 
+ 00011357  0x00001bbc hfetch  0x00000002 , 0x0000810e 
+ 00011358  0x00001bbd nsetflag  0x00000034 , 0x00000005 , 0x00000011 
+ 00011359  0x00001bbe rtn 
+ 00011360  0x00001bc1 hfetch  0x00000004 , 0x00008138 
+ 00011361  0x00001bc2 set0  0x0000001b , 0x0000003f 
+ 00011362  0x00001bc3 hstore  0x00000004 , 0x0000804c 
+ 00011363  0x00001bc4 call  0x00002c21 
+ 00011364  0x00001bc5 branch  0x00002a8c 
+ 00011365  0x00001bc8 hfetch  0x00000004 , 0x0000813c 
+ 00011366  0x00001bc9 set0  0x00000014 , 0x0000003f 
+ 00011367  0x00001bca hstore  0x00000004 , 0x0000804c 
+ 00011368  0x00001bcb branch  0x00002c23 
+ 00011369  0x00001bce fetch  0x00000002 , 0x00004150 
+ 00011370  0x00001bcf bbit1  0x00000000 , 0x00002a8c 
+ 00011371  0x00001bd0 rtn 
+ 00011372  0x00001bd2 fetch  0x00000002 , 0x00004150 
+ 00011373  0x00001bd3 bbit1  0x00000001 , 0x00002a8c 
+ 00011374  0x00001bd4 rtn 
+ 00011375  0x00001bd6 fetch  0x00000002 , 0x00004150 
+ 00011376  0x00001bd7 bbit1  0x00000002 , 0x00002a8c 
+ 00011377  0x00001bd8 rtn 
+ 00011378  0x00001c16 bpatch  0x000000b2 , 0x00004016 
+ 00011379  0x00001c17 call  0x00002c7a 
+ 00011380  0x00001c18 add  0x00000013 , 0x000000cd , 0x00000012 
+ 00011381  0x00001c19 ifetch  0x00000001 , 0x00000012 
+ 00011382  0x00001c1b rtneq  0x00000000 
+ 00011383  0x00001c1c beq  0x00000001 , 0x00002d06 
+ 00011384  0x00001c1d beq  0x00000002 , 0x00002c7f 
+ 00011385  0x00001c1e rtn 
+ 00011386  0x00001c21 fetcht  0x00000002 , 0x00004241 
+ 00011387  0x00001c22 copy  0x00000002 , 0x00000013 
+ 00011388  0x00001c23 rtn 
+ 00011389  0x00001c26 call  0x00002f3d 
+ 00011390  0x00001c27 branch  0x0000307d 
+ 00011391  0x00001c2a call  0x00003084 
+ 00011392  0x00001c2b call  0x0000305a 
+ 00011393  0x00001c2c call  0x0000305e 
+ 00011394  0x00001c2d branch  0x000030a2 
+ 00011395  0x00001c33 call  0x00003231 
+ 00011396  0x00001c34 setarg  0x0000004e 
+ 00011397  0x00001c35 call  0x0000322f 
+ 00011398  0x00001c36 call  0x000032ba 
+ 00011399  0x00001c39 add  0x00000013 , 0x00000092 , 0x00000011 
+ 00011400  0x00001c3a ifetch  0x00000004 , 0x00000011 
+ 00011401  0x00001c3b branch  0x0000322c 
+ 00011402  0x00001c3e call  0x00002c7a 
+ 00011403  0x00001c3f add  0x00000013 , 0x00000091 , 0x00000012 
+ 00011404  0x00001c40 ifetcht  0x00000001 , 0x00000012 
+ 00011405  0x00001c42 call  0x00002c90 
+ 00011406  0x00001c43 add  0x00000013 , 0x00000091 , 0x00000005 
+ 00011407  0x00001c45 branch  0x00002e56 
+ 00011408  0x00001c48 call  0x00002c94 
+ 00011409  0x00001c49 increase  0x00000001 , 0x00000002 
+ 00011410  0x00001c4a and_into  0x00000003 , 0x00000002 
+ 00011411  0x00001c4b rtn 
+ 00011412  0x00001c4e add  0x00000013 , 0x000000ae , 0x00000012 
+ 00011413  0x00001c4f ifetch  0x00000001 , 0x00000012 
+ 00011414  0x00001c51 and_into  0x00000003 , 0x0000003f 
+ 00011415  0x00001c52 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00011416  0x00001c53 add  0x00000013 , 0x00000097 , 0x0000003f 
+ 00011417  0x00001c55 iadd  0x00000011 , 0x0000003f 
+ 00011418  0x00001c56 iadd  0x00000002 , 0x00000006 
+ 00011419  0x00001c57 ifetch  0x00000001 , 0x00000006 
+ 00011420  0x00001c59 branch  0x0000322f 
+ 00011421  0x00001c5c call  0x0000326c 
+ 00011422  0x00001c5d call  0x0000666a 
+ 00011423  0x00001c5e setarg  0x000007e2 
+ 00011424  0x00001c5f arg  0x00000aa2 , 0x00000011 
+ 00011425  0x00001c60 arg  0x00000004 , 0x00000002 
+ 00011426  0x00001c61 call  0x000066b3 
+ 00011427  0x00001c62 call  0x0000666d 
+ 00011428  0x00001c63 fetch  0x00000004 , 0x00000aa2 
+ 00011429  0x00001c64 call  0x00003227 
+ 00011430  0x00001c66 nrtn  0x00000034 
+ 00011431  0x00001c67 fetch  0x00000004 , 0x000040a0 
+ 00011432  0x00001c69 branch  0x00003227 
+ 00011433  0x00001c6c call  0x00003241 
+ 00011434  0x00001c6e setarg  0x00000000 
+ 00011435  0x00001c6f call  0x0000323f 
+ 00011436  0x00001c72 call  0x0000323a 
+ 00011437  0x00001c74 and_into  0x00000007 , 0x0000003f 
+ 00011438  0x00001c76 branch  0x0000323c 
+ 00011439  0x00001c79 call  0x0000323a 
+ 00011440  0x00001c7b set1  0x00000004 , 0x0000003f 
+ 00011441  0x00001c7c call  0x0000323c 
+ 00011442  0x00001c7f branch  0x00003235 
+ 00011443  0x00001c82 call  0x0000325d 
+ 00011444  0x00001c84 beq  0x00000001 , 0x00002cb7 
+ 00011445  0x00001c85 beq  0x00000002 , 0x00002cbc 
+ 00011446  0x00001c86 rtn 
+ 00011447  0x00001c89 call  0x0000323e 
+ 00011448  0x00001c8c add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011449  0x00001c8d call  0x000032d6 
+ 00011450  0x00001c8f call  0x00003242 
+ 00011451  0x00001c91 branch  0x00002cac 
+ 00011452  0x00001c94 call  0x0000325a 
+ 00011453  0x00001c96 branch  0x00002cb8 
+ 00011454  0x00001c99 add  0x00000013 , 0x0000008c , 0x00000011 
+ 00011455  0x00001c9a ifetch  0x00000001 , 0x00000011 
+ 00011456  0x00001c9c increase  0x00000001 , 0x0000003f 
+ 00011457  0x00001c9d add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011458  0x00001c9e istore  0x00000001 , 0x00000005 
+ 00011459  0x00001ca0 beq  0x00000020 , 0x00002dd2 
+ 00011460  0x00001ca1 call  0x00003258 
+ 00011461  0x00001ca3 beq  0x00000001 , 0x00002cca 
+ 00011462  0x00001ca4 setarg  0x00000001 
+ 00011463  0x00001ca5 call  0x0000325b 
+ 00011464  0x00001ca8 call  0x00003258 
+ 00011465  0x00001caa bne  0x00000001 , 0x00002cac 
+ 00011466  0x00001cac add  0x00000013 , 0x000000d3 , 0x00000011 
+ 00011467  0x00001cad ifetch  0x00000001 , 0x00000011 
+ 00011468  0x00001caf increase  0x00000001 , 0x0000003f 
+ 00011469  0x00001cb0 call  0x00002cd5 
+ 00011470  0x00001cb2 beq  0x00000004 , 0x00002cd2 
+ 00011471  0x00001cb3 call  0x00002c8a 
+ 00011472  0x00001cb4 call  0x00002d04 
+ 00011473  0x00001cb6 branch  0x00002d8f 
+ 00011474  0x00001cb9 call  0x00002cd4 
+ 00011475  0x00001cbb branch  0x00002cac 
+ 00011476  0x00001cbe setarg  0x00000000 
+ 00011477  0x00001cc0 add  0x00000013 , 0x000000d3 , 0x00000005 
+ 00011478  0x00001cc1 branch  0x000032b4 
+ 00011479  0x00001cc4 call  0x0000323e 
+ 00011480  0x00001cc7 call  0x0000325a 
+ 00011481  0x00001cc9 call  0x00003241 
+ 00011482  0x00001ccb branch  0x00002cac 
+ 00011483  0x00001cce call  0x0000325d 
+ 00011484  0x00001cd0 beq  0x00000003 , 0x00002cd8 
+ 00011485  0x00001cd1 call  0x0000323a 
+ 00011486  0x00001cd3 isolate0  0x00000004 , 0x0000003f 
+ 00011487  0x00001cd4 branch  0x00002ca9 , 0x00000001 
+ 00011488  0x00001cd5 call  0x0000325d 
+ 00011489  0x00001cd7 beq  0x00000001 , 0x00002cd7 
+ 00011490  0x00001cd8 beq  0x00000002 , 0x00002cd8 
+ 00011491  0x00001cd9 rtn 
+ 00011492  0x00001cdc call  0x00003253 
+ 00011493  0x00001cde rtnne  0x000000ff 
+ 00011494  0x00001cdf call  0x00002ce9 
+ 00011495  0x00001ce0 ncall  0x00002cf4 , 0x0000002c 
+ 00011496  0x00001ce1 rtn 
+ 00011497  0x00001ce4 disable  0x0000002c 
+ 00011498  0x00001ce5 add  0x00000013 , 0x000000ce , 0x00000011 
+ 00011499  0x00001ce6 ifetch  0x00000001 , 0x00000011 
+ 00011500  0x00001ce8 rtnne  0x00000001 
+ 00011501  0x00001ce9 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011502  0x00001cea ifetch  0x00000001 , 0x00000011 
+ 00011503  0x00001cec rtnne  0x00000000 
+ 00011504  0x00001ced setarg  0x00000001 
+ 00011505  0x00001cee call  0x00002cfd 
+ 00011506  0x00001cf0 call  0x00003237 
+ 00011507  0x00001cf2 branch  0x00007feb 
+ 00011508  0x00001cf5 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011509  0x00001cf6 ifetch  0x00000001 , 0x00000011 
+ 00011510  0x00001cf8 branch  0x00002cff , 0x00000034 
+ 00011511  0x00001cf9 increase  0xffffffff , 0x0000003f 
+ 00011512  0x00001cfa call  0x0000323f 
+ 00011513  0x00001cfc setarg  0x00000002 
+ 00011514  0x00001cfd call  0x00002cfd 
+ 00011515  0x00001cff call  0x00002c8a 
+ 00011516  0x00001d01 branch  0x00003237 
+ 00011517  0x00001d04 add  0x00000013 , 0x000000d2 , 0x00000005 
+ 00011518  0x00001d05 branch  0x000032b4 
+ 00011519  0x00001d09 setarg  0x00000003 
+ 00011520  0x00001d0a call  0x00002cfd 
+ 00011521  0x00001d0c call  0x00003258 
+ 00011522  0x00001d0e nbranch  0x00002cc8 , 0x00000034 
+ 00011523  0x00001d0f call  0x00002c8a 
+ 00011524  0x00001d12 setarg  0x00000002 
+ 00011525  0x00001d13 branch  0x00003238 
+ 00011526  0x00001d16 rtnmark0  0x00000026 
+ 00011527  0x00001d17 set1  0x00000027 , 0x00000000 
+ 00011528  0x00001d18 bpatch  0x000000b3 , 0x00004016 
+ 00011529  0x00001d19 add  0x00000013 , 0x0000008e , 0x00000011 
+ 00011530  0x00001d1a ifetch  0x00000001 , 0x00000011 
+ 00011531  0x00001d1c beq  0x00000001 , 0x00002d0f 
+ 00011532  0x00001d1d call  0x0000306a 
+ 00011533  0x00001d1e nbranch  0x00002d16 , 0x00000028 
+ 00011534  0x00001d1f call  0x00002d1b 
+ 00011535  0x00001d21 add  0x00000013 , 0x0000008e , 0x00000005 
+ 00011536  0x00001d22 call  0x000032d6 
+ 00011537  0x00001d24 call  0x00002d2c 
+ 00011538  0x00001d25 nbranch  0x00002d7d , 0x00000028 
+ 00011539  0x00001d26 call  0x00002ce4 
+ 00011540  0x00001d28 call  0x00002d8f 
+ 00011541  0x00001d29 call  0x00002e7a 
+ 00011542  0x00001d2b set0  0x00000027 , 0x00000000 
+ 00011543  0x00001d2c rtn 
+ 00011544  0x00001d2f rtn  0x00000005 
+ 00011545  0x00001d30 set1  0x0000001c , 0x0000003f 
+ 00011546  0x00001d31 rtn 
+ 00011547  0x00001d34 add  0x00000013 , 0x000000c2 , 0x00000011 
+ 00011548  0x00001d35 ifetch  0x00000001 , 0x00000011 
+ 00011549  0x00001d37 increase  0x00000001 , 0x0000003f 
+ 00011550  0x00001d38 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011551  0x00001d39 istore  0x00000001 , 0x00000005 
+ 00011552  0x00001d3b beq  0x00000004 , 0x00002d23 
+ 00011553  0x00001d3c beq  0x00000005 , 0x00002d27 
+ 00011554  0x00001d3d rtn 
+ 00011555  0x00001d3f add  0x00000013 , 0x000000ad , 0x00000011 
+ 00011556  0x00001d40 ifetch  0x00000001 , 0x00000011 
+ 00011557  0x00001d44 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00011558  0x00001d45 branch  0x000032b4 
+ 00011559  0x00001d48 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011560  0x00001d49 call  0x000032d6 
+ 00011561  0x00001d4b add  0x00000013 , 0x000000ac , 0x00000011 
+ 00011562  0x00001d4c ifetch  0x00000001 , 0x00000011 
+ 00011563  0x00001d4e branch  0x00002d25 
+ 00011564  0x00001d51 call  0x00003253 
+ 00011565  0x00001d53 bne  0x000000ff , 0x00002eb1 
+ 00011566  0x00001d54 bpatch  0x000000b4 , 0x00004016 
+ 00011567  0x00001d55 call  0x00002d3a 
+ 00011568  0x00001d56 nbranch  0x00002d36 , 0x00000028 
+ 00011569  0x00001d57 call  0x00002d53 
+ 00011570  0x00001d58 call  0x00002e71 
+ 00011571  0x00001d5b setarg  0x00000001 
+ 00011572  0x00001d5d add  0x00000013 , 0x0000008b , 0x00000005 
+ 00011573  0x00001d5e branch  0x000032b4 
+ 00011574  0x00001d61 add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011575  0x00001d62 ifetch  0x00000001 , 0x00000011 
+ 00011576  0x00001d64 beq  0x00000001 , 0x00007fe7 
+ 00011577  0x00001d65 rtn 
+ 00011578  0x00001d69 add  0x00000013 , 0x000000d8 , 0x00000002 
+ 00011579  0x00001d6a ifetch  0x00000002 , 0x00000002 
+ 00011580  0x00001d6c call  0x00007f9c 
+ 00011581  0x00001d6d nrtn  0x00000028 
+ 00011582  0x00001d6e copy  0x00000011 , 0x0000003f 
+ 00011583  0x00001d6f store  0x00000001 , 0x00000aae 
+ 00011584  0x00001d70 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00011585  0x00001d71 call  0x000032d6 
+ 00011586  0x00001d73 call  0x00002cac 
+ 00011587  0x00001d74 store  0x00000001 , 0x0000119e 
+ 00011588  0x00001d75 fetch  0x00000001 , 0x00000aae 
+ 00011589  0x00001d76 copy  0x0000003f , 0x00000011 
+ 00011590  0x00001d77 add  0x00000011 , 0x00000001 , 0x00000002 
+ 00011591  0x00001d78 arg  0x0000119f , 0x00000005 
+ 00011592  0x00001d79 copy  0x00000011 , 0x00000039 
+ 00011593  0x00001d7a copy  0x00000012 , 0x00000006 
+ 00011594  0x00001d7b call  0x00007f01 
+ 00011595  0x00001d7c arg  0x0000119e , 0x00000011 
+ 00011596  0x00001d7e rtnmark0  0x00000027 
+ 00011597  0x00001d7f add  0x00000013 , 0x00000086 , 0x00000005 
+ 00011598  0x00001d80 istoret  0x00000001 , 0x00000005 
+ 00011599  0x00001d82 copy  0x00000002 , 0x00000039 
+ 00011600  0x00001d83 add  0x00000013 , 0x00000022 , 0x00000005 
+ 00011601  0x00001d85 copy  0x00000011 , 0x00000006 
+ 00011602  0x00001d86 branch  0x00007f01 
+ 00011603  0x00001d8a add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011604  0x00001d8b ifetch  0x00000001 , 0x00000011 
+ 00011605  0x00001d8d increase  0x00000002 , 0x0000003f 
+ 00011606  0x00001d8e add  0x00000013 , 0x00000088 , 0x00000005 
+ 00011607  0x00001d8f istore  0x00000001 , 0x00000005 
+ 00011608  0x00001d92 call  0x0000323a 
+ 00011609  0x00001d94 call  0x00003235 
+ 00011610  0x00001d97 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011611  0x00001d98 ifetch  0x00000001 , 0x00000011 
+ 00011612  0x00001d9a lshift3  0x0000003f , 0x0000003f 
+ 00011613  0x00001d9b add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011614  0x00001d9c ifetcht  0x00000001 , 0x00000011 
+ 00011615  0x00001d9e and  0x00000002 , 0x00000003 , 0x00000002 
+ 00011616  0x00001d9f lshift  0x00000002 , 0x00000002 
+ 00011617  0x00001da0 ior  0x00000002 , 0x0000003f 
+ 00011618  0x00001da1 add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011619  0x00001da2 ifetcht  0x00000001 , 0x00000011 
+ 00011620  0x00001da4 iadd  0x00000002 , 0x0000003f 
+ 00011621  0x00001da5 istore  0x00000001 , 0x00000005 
+ 00011622  0x00001da7 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011623  0x00001da8 ifetch  0x00000001 , 0x00000011 
+ 00011624  0x00001daa iforce  0x00000039 
+ 00011625  0x00001dab add  0x00000013 , 0x00000022 , 0x00000006 
+ 00011626  0x00001dad branch  0x00007f01 
+ 00011627  0x00001db0 call  0x0000324f 
+ 00011628  0x00001db2 call  0x0000325a 
+ 00011629  0x00001db4 call  0x00002e6d 
+ 00011630  0x00001db5 call  0x00002cac 
+ 00011631  0x00001db6 store  0x00000001 , 0x0000119e 
+ 00011632  0x00001db7 call  0x00002d77 
+ 00011633  0x00001db8 call  0x0000323a 
+ 00011634  0x00001dba set1  0x00000003 , 0x0000003f 
+ 00011635  0x00001dbb call  0x0000323c 
+ 00011636  0x00001dbd call  0x00002d53 
+ 00011637  0x00001dbe call  0x00002d33 
+ 00011638  0x00001dbf branch  0x00002d14 
+ 00011639  0x00001dc2 store  0x00000001 , 0x0000119f 
+ 00011640  0x00001dc3 call  0x00003224 
+ 00011641  0x00001dc5 store  0x00000004 , 0x000011a0 
+ 00011642  0x00001dc6 arg  0x00000006 , 0x00000002 
+ 00011643  0x00001dc7 arg  0x0000119e , 0x00000011 
+ 00011644  0x00001dc8 branch  0x00002d4c 
+ 00011645  0x00001dcb add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00011646  0x00001dcc ifetch  0x00000001 , 0x00000011 
+ 00011647  0x00001dce branch  0x00002d6b , 0x00000034 
+ 00011648  0x00001dd1 add  0x00000013 , 0x000000da , 0x00000011 
+ 00011649  0x00001dd2 ifetch  0x00000002 , 0x00000011 
+ 00011650  0x00001dd4 branch  0x00007f9c 
+ 00011651  0x00001dd7 call  0x00002c7a 
+ 00011652  0x00001dd9 call  0x00002afa 
+ 00011653  0x00001dda fetch  0x00000003 , 0x0000416f 
+ 00011654  0x00001ddb rtn  0x00000034 
+ 00011655  0x00001ddc add  0x00000013 , 0x000000dc , 0x00000002 
+ 00011656  0x00001ddd ifetch  0x00000002 , 0x00000002 
+ 00011657  0x00001ddf call  0x00007f9c 
+ 00011658  0x00001de0 add  0x00000013 , 0x000000b6 , 0x00000002 
+ 00011659  0x00001de1 ifetch  0x00000008 , 0x00000002 
+ 00011660  0x00001de2 call  0x00007f49 
+ 00011661  0x00001de3 storet  0x00000004 , 0x0000415b 
+ 00011662  0x00001de4 branch  0x00002b2a 
+ 00011663  0x00001de7 call  0x00002c7a 
+ 00011664  0x00001de8 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011665  0x00001de9 call  0x000032d6 
+ 00011666  0x00001dec call  0x00002da4 
+ 00011667  0x00001ded nbranch  0x00002dae , 0x00000018 
+ 00011668  0x00001dee nbranch  0x00002dae , 0x0000002f 
+ 00011669  0x00001def call  0x00002dd6 
+ 00011670  0x00001df0 call  0x00002e75 
+ 00011671  0x00001df2 call  0x00002c7a 
+ 00011672  0x00001df3 add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011673  0x00001df4 ifetch  0x00000001 , 0x00000011 
+ 00011674  0x00001df6 increase  0x00000001 , 0x0000003f 
+ 00011675  0x00001df7 call  0x00003232 
+ 00011676  0x00001df9 call  0x00003253 
+ 00011677  0x00001dfb bne  0x000000ff , 0x00002ed0 
+ 00011678  0x00001dfc call  0x00002cdb 
+ 00011679  0x00001dfe setarg  0x00000000 
+ 00011680  0x00001dff add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011681  0x00001e00 istore  0x00000002 , 0x00000005 
+ 00011682  0x00001e04 setarg  0x00000000 
+ 00011683  0x00001e05 branch  0x00002d34 
+ 00011684  0x00001e09 disable  0x0000002f 
+ 00011685  0x00001e0a call  0x00002df7 
+ 00011686  0x00001e0b call  0x00002c7a 
+ 00011687  0x00001e0c add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011688  0x00001e0d ifetch  0x00000001 , 0x00000011 
+ 00011689  0x00001e0f beq  0x00000001 , 0x00002dac 
+ 00011690  0x00001e10 call  0x00002e11 
+ 00011691  0x00001e11 branch  0x00002e45 
+ 00011692  0x00001e13 call  0x00002e45 
+ 00011693  0x00001e14 branch  0x00002d97 
+ 00011694  0x00001e18 bpatch  0x000000b5 , 0x00004016 
+ 00011695  0x00001e19 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011696  0x00001e1a ifetch  0x00000001 , 0x00000011 
+ 00011697  0x00001e1c increase  0x00000001 , 0x0000003f 
+ 00011698  0x00001e1d add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011699  0x00001e1e istore  0x00000001 , 0x00000005 
+ 00011700  0x00001e20 call  0x00003253 
+ 00011701  0x00001e22 bne  0x000000ff , 0x00002dcc 
+ 00011702  0x00001e23 add  0x00000013 , 0x0000008f , 0x00000011 
+ 00011703  0x00001e24 ifetcht  0x00000001 , 0x00000011 
+ 00011704  0x00001e26 increase  0x00000001 , 0x00000002 
+ 00011705  0x00001e27 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011706  0x00001e28 istoret  0x00000001 , 0x00000005 
+ 00011707  0x00001e2a add  0x00000013 , 0x000000cc , 0x00000011 
+ 00011708  0x00001e2b ifetch  0x00000001 , 0x00000011 
+ 00011709  0x00001e2d isub  0x00000002 , 0x0000003f 
+ 00011710  0x00001e2e nbranch  0x00002d92 , 0x00000034 
+ 00011711  0x00001e2f bpatch  0x000000b6 , 0x00004016 
+ 00011712  0x00001e30 call  0x0000325d 
+ 00011713  0x00001e32 beq  0x00000003 , 0x00002cbe 
+ 00011714  0x00001e33 add  0x00000013 , 0x000000d1 , 0x00000011 
+ 00011715  0x00001e34 ifetch  0x00000001 , 0x00000011 
+ 00011716  0x00001e36 increase  0x00000001 , 0x0000003f 
+ 00011717  0x00001e37 add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011718  0x00001e38 istore  0x00000001 , 0x00000005 
+ 00011719  0x00001e3a beq  0x00000002 , 0x00002cb3 
+ 00011720  0x00001e3b call  0x00002caf 
+ 00011721  0x00001e3c setarg  0x00000001 
+ 00011722  0x00001e3d call  0x00003238 
+ 00011723  0x00001e3f branch  0x00002d8f 
+ 00011724  0x00001e42 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011725  0x00001e43 ifetch  0x00000001 , 0x00000011 
+ 00011726  0x00001e45 rtnne  0x000000ff 
+ 00011727  0x00001e46 add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011728  0x00001e47 call  0x000032d6 
+ 00011729  0x00001e49 branch  0x00002dd4 
+ 00011730  0x00001e4c add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011731  0x00001e4d call  0x000032d6 
+ 00011732  0x00001e50 jam  0x0000003a , 0x00000a99 
+ 00011733  0x00001e51 branch  0x00007d86 
+ 00011734  0x00001e54 call  0x00002dde 
+ 00011735  0x00001e55 add  0x00000013 , 0x00000084 , 0x00000011 
+ 00011736  0x00001e56 ifetch  0x00000001 , 0x00000011 
+ 00011737  0x00001e58 rtn  0x00000034 
+ 00011738  0x00001e59 iforce  0x00000039 
+ 00011739  0x00001e5a add  0x00000013 , 0x00000002 , 0x00000006 
+ 00011740  0x00001e5c add  0x00000013 , 0x00000064 , 0x00000005 
+ 00011741  0x00001e5e branch  0x00007f01 
+ 00011742  0x00001e63 call  0x0000325f 
+ 00011743  0x00001e65 rshift3  0x0000003f , 0x0000003f 
+ 00011744  0x00001e66 add  0x00000013 , 0x00000084 , 0x00000005 
+ 00011745  0x00001e67 istore  0x00000001 , 0x00000005 
+ 00011746  0x00001e6a increase  0x00000001 , 0x0000003f 
+ 00011747  0x00001e6b add  0x00000013 , 0x00000001 , 0x00000006 
+ 00011748  0x00001e6d iadd  0x00000006 , 0x00000006 
+ 00011749  0x00001e6e ifetch  0x00000003 , 0x00000006 
+ 00011750  0x00001e6f add  0x00000013 , 0x000000c4 , 0x00000005 
+ 00011751  0x00001e70 istore  0x00000003 , 0x00000005 
+ 00011752  0x00001e73 call  0x0000325f 
+ 00011753  0x00001e75 rshift  0x0000003f , 0x0000003f 
+ 00011754  0x00001e76 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00011755  0x00001e77 add  0x00000013 , 0x000000ca , 0x00000005 
+ 00011756  0x00001e78 istore  0x00000001 , 0x00000005 
+ 00011757  0x00001e7a rtn 
+ 00011758  0x00001e7d disable  0x00000009 
+ 00011759  0x00001e7e disable  0x00000007 
+ 00011760  0x00001e7f setarg  0x00555555 
+ 00011761  0x00001e80 iforce  0x0000000f 
+ 00011762  0x00001e81 rtn 
+ 00011763  0x00001e84 call  0x00002918 
+ 00011764  0x00001e85 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011765  0x00001e86 ifetcht  0x00000001 , 0x00000011 
+ 00011766  0x00001e88 branch  0x00002933 
+ 00011767  0x00001e8b call  0x00002dee 
+ 00011768  0x00001e8c call  0x00002df3 
+ 00011769  0x00001e8d set1  0x00000000 , 0x00000015 
+ 00011770  0x00001e8e enable  0x0000001d 
+ 00011771  0x00001e8f enable  0x00000020 
+ 00011772  0x00001e90 disable  0x00000021 
+ 00011773  0x00001e91 call  0x000053c4 
+ 00011774  0x00001e92 call  0x0000322a 
+ 00011775  0x00001e94 iforce  0x00000009 
+ 00011776  0x00001e95 inject  0x00000003 , 0x00000020 
+ 00011777  0x00001e96 enable  0x00000009 
+ 00011778  0x00001e97 add  0x00000013 , 0x00000088 , 0x00000011 
+ 00011779  0x00001e98 ifetch  0x00000001 , 0x00000011 
+ 00011780  0x00001e9a iforce  0x00000039 
+ 00011781  0x00001e9b add  0x00000013 , 0x00000042 , 0x00000006 
+ 00011782  0x00001e9e ifetch  0x00000001 , 0x00000006 
+ 00011783  0x00001e9f inject  0x00000003 , 0x00000008 
+ 00011784  0x00001ea0 loop  0x00002e06 
+ 00011785  0x00001ea1 enable  0x00000008 
+ 00011786  0x00001ea2 inject  0x00000003 , 0x00000018 
+ 00011787  0x00001ea3 disable  0x00000008 
+ 00011788  0x00001ea4 until  0x0000003e , 0x00000027 
+ 00011789  0x00001ea5 bpatch  0x000000b7 , 0x00004016 
+ 00011790  0x00001ea6 nop  0x00000064 
+ 00011791  0x00001ea7 disable  0x0000001d 
+ 00011792  0x00001ea8 rtn 
+ 00011793  0x00001eab disable  0x0000002f 
+ 00011794  0x00001eac force  0x00000000 , 0x00000015 
+ 00011795  0x00001ead add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011796  0x00001eae ifetcht  0x00000001 , 0x00000011 
+ 00011797  0x00001eb0 call  0x0000291f 
+ 00011798  0x00001eb1 call  0x00002924 
+ 00011799  0x00001eb3 call  0x00002dee 
+ 00011800  0x00001eb4 enable  0x0000000d 
+ 00011801  0x00001eb5 enable  0x00000021 
+ 00011802  0x00001eb6 disable  0x00000020 
+ 00011803  0x00001eb7 call  0x000053c4 
+ 00011804  0x00001eb8 call  0x0000322a 
+ 00011805  0x00001eba iforce  0x00000009 
+ 00011806  0x00001ebb enable  0x00000010 
+ 00011807  0x00001ebc add  0x00000013 , 0x00000089 , 0x00000011 
+ 00011808  0x00001ebd ifetch  0x00000002 , 0x00000011 
+ 00011809  0x00001ebf iforce  0x0000001b 
+ 00011810  0x00001ec0 correlate  0x0000003e , 0x00000003 
+ 00011811  0x00001ec1 nbranch  0x00002e4d , 0x00000018 
+ 00011812  0x00001ec2 enable  0x00000009 
+ 00011813  0x00001ec3 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011814  0x00001ec4 rshift3  0x0000000c , 0x0000003f 
+ 00011815  0x00001ec5 add  0x00000013 , 0x00000000 , 0x00000005 
+ 00011816  0x00001ec6 istore  0x00000001 , 0x00000005 
+ 00011817  0x00001ec8 add  0x00000013 , 0x000000cd , 0x00000011 
+ 00011818  0x00001ec9 ifetch  0x00000001 , 0x00000011 
+ 00011819  0x00001ecb beq  0x00000002 , 0x00002e33 
+ 00011820  0x00001ecc bpatch  0x000000b8 , 0x00004017 
+ 00011821  0x00001ecd add  0x00000013 , 0x00000000 , 0x00000011 
+ 00011822  0x00001ece ifetch  0x00000001 , 0x00000011 
+ 00011823  0x00001ed0 add  0x00000013 , 0x00000087 , 0x00000011 
+ 00011824  0x00001ed1 ifetcht  0x00000001 , 0x00000011 
+ 00011825  0x00001ed3 icompare  0x00000007 , 0x00000002 
+ 00011826  0x00001ed4 nbranch  0x00002e45 , 0x00000001 
+ 00011827  0x00001ed6 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011828  0x00001ed7 rshift3  0x0000000c , 0x0000003f 
+ 00011829  0x00001ed8 istore  0x00000001 , 0x00000005 
+ 00011830  0x00001ed9 rshift3  0x0000003f , 0x0000003f 
+ 00011831  0x00001eda and  0x0000003f , 0x0000001f , 0x00000039 
+ 00011832  0x00001edb branch  0x00002e3d , 0x00000005 
+ 00011833  0x00001edd parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011834  0x00001ede rshift3  0x0000000c , 0x0000003f 
+ 00011835  0x00001edf istore  0x00000001 , 0x00000005 
+ 00011836  0x00001ee0 loop  0x00002e39 
+ 00011837  0x00001ee2 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00011838  0x00001ee3 rshift32  0x0000003f , 0x0000003f 
+ 00011839  0x00001ee4 rshift16  0x0000003f , 0x0000003f 
+ 00011840  0x00001ee5 istore  0x00000003 , 0x00000005 
+ 00011841  0x00001ee6 branch  0x00002e45 , 0x00000006 
+ 00011842  0x00001ee7 enable  0x0000002f 
+ 00011843  0x00001ee8 disable  0x0000000d 
+ 00011844  0x00001ee9 rtn 
+ 00011845  0x00001eed disable  0x0000001d 
+ 00011846  0x00001eee disable  0x0000000d 
+ 00011847  0x00001eef disable  0x00000009 
+ 00011848  0x00001ef0 disable  0x00000007 
+ 00011849  0x00001ef1 branch  0x000028f9 , 0x00000021 
+ 00011850  0x00001ef2 until  0x0000003e , 0x00000027 
+ 00011851  0x00001ef3 nop  0x00000064 
+ 00011852  0x00001ef4 branch  0x000028f9 
+ 00011853  0x00001ef7 call  0x00002e4f 
+ 00011854  0x00001ef8 branch  0x00002e45 
+ 00011855  0x00001efb call  0x000029bb 
+ 00011856  0x00001efc rtn  0x00000034 
+ 00011857  0x00001efd add  0x00000013 , 0x000000ea , 0x00000011 
+ 00011858  0x00001efe ifetcht  0x00000001 , 0x00000011 
+ 00011859  0x00001f00 arg  0x00000d9e , 0x00000011 
+ 00011860  0x00001f02 call  0x00002e58 
+ 00011861  0x00001f03 add  0x00000013 , 0x000000ea , 0x00000005 
+ 00011862  0x00001f06 istoret  0x00000001 , 0x00000005 
+ 00011863  0x00001f07 rtn 
+ 00011864  0x00001f0a arg  0x000000ff , 0x00000012 
+ 00011865  0x00001f0b branch  0x00002e5a 
+ 00011866  0x00001f1e copy  0x00000011 , 0x0000003f 
+ 00011867  0x00001f1f iadd  0x00000002 , 0x00000005 
+ 00011868  0x00001f20 fetch  0x00000001 , 0x00000018 
+ 00011869  0x00001f21 istore  0x00000001 , 0x00000005 
+ 00011870  0x00001f22 increase  0x00000001 , 0x00000002 
+ 00011871  0x00001f23 copy  0x00000012 , 0x0000003f 
+ 00011872  0x00001f24 iand_into  0x00000002 
+ 00011873  0x00001f25 rtn 
+ 00011874  0x00001f28 arg  0x00000000 , 0x00000002 
+ 00011875  0x00001f29 copy  0x00000011 , 0x00000006 
+ 00011876  0x00001f2b ifetch  0x00000001 , 0x00000006 
+ 00011877  0x00001f2c iadd  0x00000002 , 0x00000002 
+ 00011878  0x00001f2d loop  0x00002e64 
+ 00011879  0x00001f2e rshift8  0x00000002 , 0x00000002 
+ 00011880  0x00001f2f rtn 
+ 00011881  0x00001f32 call  0x00002c7a 
+ 00011882  0x00001f33 call  0x00002e9f 
+ 00011883  0x00001f34 setarg  0x00000001 
+ 00011884  0x00001f35 call  0x00003272 
+ 00011885  0x00001f38 setarg  0x00000000 
+ 00011886  0x00001f39 call  0x00002e73 
+ 00011887  0x00001f3b istore  0x00000001 , 0x00000005 
+ 00011888  0x00001f3d rtn 
+ 00011889  0x00001f40 call  0x00003270 
+ 00011890  0x00001f42 increase  0x00000001 , 0x0000003f 
+ 00011891  0x00001f45 add  0x00000013 , 0x000000fc , 0x00000005 
+ 00011892  0x00001f46 branch  0x000032b4 
+ 00011893  0x00001f4b add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011894  0x00001f4c ifetch  0x00000001 , 0x00000011 
+ 00011895  0x00001f4d increase  0x00000001 , 0x0000003f 
+ 00011896  0x00001f4e add  0x00000013 , 0x000000fd , 0x00000005 
+ 00011897  0x00001f4f branch  0x000032b4 
+ 00011898  0x00001f52 bpatch  0x000000b9 , 0x00004017 
+ 00011899  0x00001f53 call  0x00003270 
+ 00011900  0x00001f55 sub  0x0000003f , 0x0000007c , 0x0000003e 
+ 00011901  0x00001f56 rtn  0x00000002 
+ 00011902  0x00001f57 add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011903  0x00001f58 ifetcht  0x00000001 , 0x00000011 
+ 00011904  0x00001f5a isub  0x00000002 , 0x00000002 
+ 00011905  0x00001f5b call  0x00002e6d 
+ 00011906  0x00001f5c setarg  0x00000102 
+ 00011907  0x00001f5d iadd  0x00000013 , 0x00000011 
+ 00011908  0x00001f5e ifetch  0x00000001 , 0x00000011 
+ 00011909  0x00001f60 isub  0x00000002 , 0x0000003e 
+ 00011910  0x00001f61 nbranch  0x00002e8d , 0x00000002 
+ 00011911  0x00001f62 setarg  0x00000103 
+ 00011912  0x00001f63 iadd  0x00000013 , 0x00000011 
+ 00011913  0x00001f64 ifetch  0x00000001 , 0x00000011 
+ 00011914  0x00001f66 isub  0x00000002 , 0x0000003e 
+ 00011915  0x00001f67 branch  0x00002e99 , 0x00000002 
+ 00011916  0x00001f68 rtn 
+ 00011917  0x00001f6b add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011918  0x00001f6c ifetch  0x00000001 , 0x00000011 
+ 00011919  0x00001f6e beq  0x00000002 , 0x00002e93 
+ 00011920  0x00001f6f increase  0x00000001 , 0x0000003f 
+ 00011921  0x00001f70 call  0x00003272 
+ 00011922  0x00001f72 beq  0x00000001 , 0x00002e9f 
+ 00011923  0x00001f74 setarg  0x0000000a 
+ 00011924  0x00001f75 call  0x000032b0 
+ 00011925  0x00001f77 setarg  0x00000000 
+ 00011926  0x00001f78 call  0x000032b2 
+ 00011927  0x00001f7b add  0x00000013 , 0x000000ff , 0x00000011 
+ 00011928  0x00001f7d branch  0x00002ea5 
+ 00011929  0x00001f80 add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011930  0x00001f81 ifetch  0x00000001 , 0x00000011 
+ 00011931  0x00001f83 beq  0x00000000 , 0x00002ea7 
+ 00011932  0x00001f84 increase  0xffffffff , 0x0000003f 
+ 00011933  0x00001f85 call  0x00003272 
+ 00011934  0x00001f87 beq  0x00000000 , 0x00002ea7 
+ 00011935  0x00001f8c setarg  0x00000005 
+ 00011936  0x00001f8d call  0x000032b0 
+ 00011937  0x00001f8f setarg  0x00000000 
+ 00011938  0x00001f90 call  0x000032b2 
+ 00011939  0x00001f93 setarg  0x00000100 
+ 00011940  0x00001f95 iadd  0x00000013 , 0x00000011 
+ 00011941  0x00001f97 ifetch  0x00000001 , 0x00000011 
+ 00011942  0x00001f99 branch  0x0000326a 
+ 00011943  0x00001f9e setarg  0x00000002 
+ 00011944  0x00001f9f call  0x000032b0 
+ 00011945  0x00001fa1 setarg  0x00000000 
+ 00011946  0x00001fa2 call  0x000032b2 
+ 00011947  0x00001fa5 setarg  0x00000101 
+ 00011948  0x00001fa7 branch  0x00002ea4 
+ 00011949  0x00001fb6 set1  0x00000026 , 0x00000000 
+ 00011950  0x00001fb7 call  0x00002c83 
+ 00011951  0x00001fba setarg  0x00000001 
+ 00011952  0x00001fbb branch  0x00003256 
+ 00011953  0x00001fbe add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011954  0x00001fbf ifetch  0x00000001 , 0x00000011 
+ 00011955  0x00001fc1 beq  0x00000001 , 0x00007fe7 
+ 00011956  0x00001fc2 call  0x00003253 
+ 00011957  0x00001fc4 beq  0x00000001 , 0x00002eb9 
+ 00011958  0x00001fc5 beq  0x00000002 , 0x00002ebd 
+ 00011959  0x00001fc6 beq  0x00000003 , 0x00002ec1 
+ 00011960  0x00001fc7 branch  0x00002a8c 
+ 00011961  0x00001fca setarg  0x00000011 
+ 00011962  0x00001fcb call  0x00003256 
+ 00011963  0x00001fcd jam  0x000000aa , 0x0000119e 
+ 00011964  0x00001fce branch  0x00002ec4 
+ 00011965  0x00001fd0 setarg  0x00000012 
+ 00011966  0x00001fd1 call  0x00003256 
+ 00011967  0x00001fd3 jam  0x00000055 , 0x0000119e 
+ 00011968  0x00001fd4 branch  0x00002ec4 
+ 00011969  0x00001fd6 setarg  0x00000013 
+ 00011970  0x00001fd7 call  0x00003256 
+ 00011971  0x00001fd9 jam  0x00000022 , 0x0000119e 
+ 00011972  0x00001fdb call  0x0000323a 
+ 00011973  0x00001fdd and_into  0x00000007 , 0x0000003f 
+ 00011974  0x00001fde store  0x00000001 , 0x0000119f 
+ 00011975  0x00001fdf call  0x00003224 
+ 00011976  0x00001fe1 store  0x00000004 , 0x000011a0 
+ 00011977  0x00001fe3 jam  0x00000000 , 0x000011a4 
+ 00011978  0x00001fe4 arg  0x0000119e , 0x00000011 
+ 00011979  0x00001fe5 arg  0x00000007 , 0x00000002 
+ 00011980  0x00001fe6 call  0x00002d4c 
+ 00011981  0x00001fe7 call  0x00002d53 
+ 00011982  0x00001fe8 call  0x00002d33 
+ 00011983  0x00001fe9 branch  0x00007fe7 
+ 00011984  0x00001fec call  0x00003253 
+ 00011985  0x00001fee rtneq  0x000000ff 
+ 00011986  0x00001fef beq  0x00000011 , 0x00002ed6 
+ 00011987  0x00001ff0 beq  0x00000012 , 0x00002ed9 
+ 00011988  0x00001ff1 beq  0x00000013 , 0x00002edc 
+ 00011989  0x00001ff2 rtn 
+ 00011990  0x00001ff5 setarg  0x00000002 
+ 00011991  0x00001ff6 call  0x00003256 
+ 00011992  0x00001ff8 branch  0x00002d9f 
+ 00011993  0x00001ffa setarg  0x00000003 
+ 00011994  0x00001ffb call  0x00003256 
+ 00011995  0x00001ffd branch  0x00002d9f 
+ 00011996  0x00001fff setarg  0x000000ff 
+ 00011997  0x00002000 call  0x00003256 
+ 00011998  0x00002002 jam  0x00000039 , 0x00000a99 
+ 00011999  0x00002003 call  0x00007d86 
+ 00012000  0x00002004 add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012001  0x00002005 ifetch  0x00000004 , 0x00000011 
+ 00012002  0x00002007 call  0x0000322c 
+ 00012003  0x00002009 branch  0x00002d9f 
+ 00012004  0x0000200c set0  0x00000026 , 0x00000000 
+ 00012005  0x0000200d call  0x00002f08 
+ 00012006  0x0000200e call  0x00002f22 
+ 00012007  0x00002010 call  0x00003263 
+ 00012008  0x00002012 nop  0x000007d0 
+ 00012009  0x00002013 call  0x00003261 
+ 00012010  0x00002014 beq  0x000000ff , 0x00002dd4 
+ 00012011  0x00002015 call  0x00002da4 
+ 00012012  0x00002016 nbranch  0x00002efa , 0x00000018 
+ 00012013  0x00002017 nbranch  0x00002efa , 0x0000002f 
+ 00012014  0x00002018 call  0x00002dd6 
+ 00012015  0x00002019 call  0x00002c7a 
+ 00012016  0x0000201a add  0x00000013 , 0x00000092 , 0x00000011 
+ 00012017  0x0000201b ifetcht  0x00000004 , 0x00000011 
+ 00012018  0x0000201c call  0x000030be 
+ 00012019  0x0000201d branch  0x00002ead , 0x00000005 
+ 00012020  0x0000201e call  0x00002c7a 
+ 00012021  0x0000201f add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012022  0x00002020 ifetch  0x00000004 , 0x00000011 
+ 00012023  0x00002021 beq  0x00000000 , 0x00002ee7 
+ 00012024  0x00002022 call  0x0000322c 
+ 00012025  0x00002023 branch  0x00002f1c 
+ 00012026  0x00002026 call  0x00003261 
+ 00012027  0x00002027 increase  0x00000001 , 0x0000003f 
+ 00012028  0x00002028 call  0x00003264 
+ 00012029  0x0000202a call  0x00002f04 
+ 00012030  0x0000202b increase  0x00000001 , 0x0000003f 
+ 00012031  0x0000202c and_into  0x00000001 , 0x0000003f 
+ 00012032  0x0000202d call  0x00002f06 
+ 00012033  0x0000202e beq  0x00000000 , 0x00002f0c 
+ 00012034  0x0000202f beq  0x00000001 , 0x00002f0e 
+ 00012035  0x00002030 rtn 
+ 00012036  0x00002033 setarg  0x0000018b 
+ 00012037  0x00002034 branch  0x000032d0 
+ 00012038  0x00002036 arg  0x0000018b , 0x00000011 
+ 00012039  0x00002037 branch  0x000032b3 
+ 00012040  0x0000203a call  0x00003267 
+ 00012041  0x0000203b call  0x00003224 
+ 00012042  0x0000203c call  0x0000322c 
+ 00012043  0x0000203d branch  0x00002c8a 
+ 00012044  0x00002040 call  0x00002f08 
+ 00012045  0x00002041 branch  0x00002ee8 
+ 00012046  0x00002044 call  0x00002c83 
+ 00012047  0x00002045 branch  0x00002ee8 
+ 00012048  0x00002049 set0  0x00000026 , 0x00000000 
+ 00012049  0x0000204a call  0x00002c8a 
+ 00012050  0x0000204b call  0x00003253 
+ 00012051  0x0000204d rtnne  0x000000ff 
+ 00012052  0x0000204e call  0x00002f22 
+ 00012053  0x0000204f call  0x00003263 
+ 00012054  0x00002052 nop  0x000007d0 
+ 00012055  0x00002053 call  0x00003261 
+ 00012056  0x00002055 beq  0x000000ff , 0x00002dd4 
+ 00012057  0x00002056 call  0x00002da4 
+ 00012058  0x00002057 nbranch  0x00002f27 , 0x00000018 
+ 00012059  0x00002058 nbranch  0x00002f27 , 0x0000002f 
+ 00012060  0x0000205a set1  0x00000026 , 0x00000000 
+ 00012061  0x0000205b call  0x00003263 
+ 00012062  0x0000205c setarg  0x000000ff 
+ 00012063  0x0000205d call  0x00003256 
+ 00012064  0x0000205f jam  0x0000003c , 0x00000a99 
+ 00012065  0x00002060 branch  0x00007d86 
+ 00012066  0x00002063 set1  0x00000027 , 0x00000000 
+ 00012067  0x00002064 jam  0x000000ff , 0x0000119e 
+ 00012068  0x00002065 call  0x0000323a 
+ 00012069  0x00002067 call  0x00002d77 
+ 00012070  0x00002068 branch  0x00002d53 
+ 00012071  0x0000206b call  0x00003261 
+ 00012072  0x0000206d increase  0x00000001 , 0x0000003f 
+ 00012073  0x0000206e call  0x00003264 
+ 00012074  0x00002070 call  0x00002c8a 
+ 00012075  0x00002071 branch  0x00002f16 
+ 00012076  0x00002074 call  0x00003267 
+ 00012077  0x00002077 setarg  0x000000ff 
+ 00012078  0x00002078 call  0x00003256 
+ 00012079  0x0000207a branch  0x00002f10 
+ 00012080  0x00002084 bpatch  0x000000ba , 0x00004017 
+ 00012081  0x00002085 call  0x00002c7a 
+ 00012082  0x00002086 setarg  0x000031b0 
+ 00012083  0x00002087 add  0x00000013 , 0x000000de , 0x00000005 
+ 00012084  0x00002088 istore  0x00000002 , 0x00000005 
+ 00012085  0x0000208a call  0x00002f3d 
+ 00012086  0x0000208b call  0x000048ea 
+ 00012087  0x0000208c call  0x000032b6 
+ 00012088  0x0000208e bpatch  0x000000bb , 0x00004017 
+ 00012089  0x0000208f beq  0x00000000 , 0x00003055 
+ 00012090  0x00002090 beq  0x00000001 , 0x00002f45 
+ 00012091  0x00002091 beq  0x0000000f , 0x00002f41 
+ 00012092  0x00002092 branch  0x00002a8c 
+ 00012093  0x00002095 call  0x0000326c 
+ 00012094  0x00002096 arg  0x00000080 , 0x00000039 
+ 00012095  0x00002097 arg  0x00000d9e , 0x00000005 
+ 00012096  0x00002098 branch  0x00007ec6 
+ 00012097  0x0000209b call  0x00002f4c 
+ 00012098  0x0000209d call  0x00002f4f 
+ 00012099  0x0000209e call  0x000048d3 
+ 00012100  0x0000209f branch  0x00002f42 
+ 00012101  0x000020a2 bpatch  0x000000bc , 0x00004017 
+ 00012102  0x000020a3 call  0x00002f4c 
+ 00012103  0x000020a5 call  0x00002f4f 
+ 00012104  0x000020a6 call  0x00002fbd 
+ 00012105  0x000020a7 call  0x000048d3 
+ 00012106  0x000020a8 call  0x00003019 
+ 00012107  0x000020a9 branch  0x00002f47 
+ 00012108  0x000020af call  0x00003291 
+ 00012109  0x000020b0 call  0x00003296 
+ 00012110  0x000020b1 branch  0x00003299 
+ 00012111  0x000020b4 call  0x0000328f 
+ 00012112  0x000020b6 rtnne  0x00000000 
+ 00012113  0x000020b8 call  0x00002f55 
+ 00012114  0x000020b9 call  0x00002f65 
+ 00012115  0x000020ba call  0x0000316b 
+ 00012116  0x000020bb branch  0x00002f96 
+ 00012117  0x000020be call  0x00003294 
+ 00012118  0x000020c0 rtnbit1  0x00000000 
+ 00012119  0x000020c1 set1  0x00000000 , 0x0000003f 
+ 00012120  0x000020c2 call  0x00003297 
+ 00012121  0x000020c4 call  0x00003267 
+ 00012122  0x000020c7 call  0x00003299 
+ 00012123  0x000020c9 jam  0x00000000 , 0x00000d38 
+ 00012124  0x000020ca call  0x0000324f 
+ 00012125  0x000020cc call  0x00002f61 
+ 00012126  0x000020ce add  0x00000013 , 0x00000000 , 0x00000005 
+ 00012127  0x000020d0 arg  0x00000042 , 0x00000039 
+ 00012128  0x000020d1 branch  0x00007ed4 
+ 00012129  0x000020d4 call  0x00003231 
+ 00012130  0x000020d6 call  0x0000327d 
+ 00012131  0x000020d8 call  0x0000322c 
+ 00012132  0x000020da branch  0x00002c8a 
+ 00012133  0x000020dd bpatch  0x000000bd , 0x00004017 
+ 00012134  0x000020de call  0x0000324c 
+ 00012135  0x000020e0 beq  0x00000001 , 0x00002f8d 
+ 00012136  0x000020e1 call  0x00003245 
+ 00012137  0x000020e3 beq  0x00000001 , 0x00002c8a 
+ 00012138  0x000020e4 setarg  0x00000136 
+ 00012139  0x000020e5 iadd  0x00000013 , 0x00000011 
+ 00012140  0x000020e6 ifetcht  0x00000004 , 0x00000011 
+ 00012141  0x000020e8 copy  0x00000022 , 0x0000003f 
+ 00012142  0x000020e9 isub  0x00000002 , 0x0000003e 
+ 00012143  0x000020ea ncall  0x00002d18 , 0x00000002 
+ 00012144  0x000020eb copy  0x0000003f , 0x00000012 
+ 00012145  0x000020ec setarg  0x00000136 
+ 00012146  0x000020ed iadd  0x00000013 , 0x00000011 
+ 00012147  0x000020ee ifetch  0x00000004 , 0x00000011 
+ 00012148  0x000020ef copy  0x0000003f , 0x00000002 
+ 00012149  0x000020f1 setarg  0x0000013a 
+ 00012150  0x000020f2 iadd  0x00000013 , 0x00000011 
+ 00012151  0x000020f3 copy  0x00000002 , 0x0000003f 
+ 00012152  0x000020f4 ifetcht  0x00000001 , 0x00000011 
+ 00012153  0x000020f6 iadd  0x00000002 , 0x00000002 
+ 00012154  0x000020f7 copy  0x00000012 , 0x0000003f 
+ 00012155  0x000020f8 isub  0x00000002 , 0x0000003e 
+ 00012156  0x000020f9 nrtn  0x00000002 
+ 00012157  0x000020fa set0  0x0000001c , 0x0000003f 
+ 00012158  0x000020fb setarg  0x00000136 
+ 00012159  0x000020fc iadd  0x00000013 , 0x00000005 
+ 00012160  0x000020fd istore  0x00000004 , 0x00000005 
+ 00012161  0x00002100 call  0x00002c8a 
+ 00012162  0x00002101 call  0x00003278 
+ 00012163  0x00002103 increase  0x00000001 , 0x0000003f 
+ 00012164  0x00002104 call  0x0000327b 
+ 00012165  0x00002106 rtnne  0x00000002 
+ 00012166  0x00002107 call  0x0000327a 
+ 00012167  0x0000210b branch  0x0000324f 
+ 00012168  0x0000210e copy  0x00000022 , 0x0000003f 
+ 00012169  0x0000210f arg  0x00000136 , 0x00000011 
+ 00012170  0x00002110 call  0x000032bf 
+ 00012171  0x00002111 istore  0x00000004 , 0x00000005 
+ 00012172  0x00002115 branch  0x0000327a 
+ 00012173  0x00002118 arg  0x00000d9e , 0x00000011 
+ 00012174  0x00002119 call  0x00002f94 
+ 00012175  0x0000211a add  0x00000013 , 0x000000eb , 0x00000005 
+ 00012176  0x0000211b istoret  0x00000001 , 0x00000005 
+ 00012177  0x0000211d sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012178  0x0000211e nrtn  0x00000002 
+ 00012179  0x0000211f branch  0x00002c8a 
+ 00012180  0x00002122 arg  0x00000100 , 0x00000039 
+ 00012181  0x00002123 branch  0x00002e62 
+ 00012182  0x00002126 call  0x00002f99 
+ 00012183  0x00002127 call  0x00002fa5 
+ 00012184  0x00002128 branch  0x00002fb1 
+ 00012185  0x0000212b setarg  0x00000180 
+ 00012186  0x0000212c call  0x000032d0 
+ 00012187  0x0000212e rtn  0x00000034 
+ 00012188  0x0000212f arg  0x0000000b , 0x00000007 
+ 00012189  0x00002130 call  0x00007f16 
+ 00012190  0x00002131 nrtn  0x00000034 
+ 00012191  0x00002132 call  0x000032a7 
+ 00012192  0x00002135 setarg  0x00000001 
+ 00012193  0x00002136 store  0x00000001 , 0x00000d54 
+ 00012194  0x00002137 setarg  0x00000000 
+ 00012195  0x00002138 istore  0x00000007 , 0x00000005 
+ 00012196  0x00002139 branch  0x000031b8 
+ 00012197  0x0000213c setarg  0x0000017e 
+ 00012198  0x0000213d call  0x000032d0 
+ 00012199  0x0000213f rtn  0x00000034 
+ 00012200  0x00002140 arg  0x0000000e , 0x00000007 
+ 00012201  0x00002141 call  0x00007f16 
+ 00012202  0x00002142 nrtn  0x00000034 
+ 00012203  0x00002143 call  0x000032aa 
+ 00012204  0x00002146 arg  0x00000d64 , 0x00000005 
+ 00012205  0x00002147 arg  0x00000002 , 0x00000039 
+ 00012206  0x00002148 call  0x00007ec6 
+ 00012207  0x00002149 jam  0x00000000 , 0x00000d64 
+ 00012208  0x0000214a branch  0x000031ed 
+ 00012209  0x0000214d setarg  0x0000017f 
+ 00012210  0x0000214e call  0x000032d0 
+ 00012211  0x00002150 rtn  0x00000034 
+ 00012212  0x00002151 arg  0x0000000c , 0x00000007 
+ 00012213  0x00002152 call  0x00007f16 
+ 00012214  0x00002153 nrtn  0x00000034 
+ 00012215  0x00002154 call  0x000032ad 
+ 00012216  0x00002157 arg  0x00000d74 , 0x00000005 
+ 00012217  0x00002158 arg  0x00000002 , 0x00000039 
+ 00012218  0x00002159 call  0x00007ec6 
+ 00012219  0x0000215a jam  0x00000003 , 0x00000d74 
+ 00012220  0x0000215b branch  0x00003207 
+ 00012221  0x0000215e call  0x0000328f 
+ 00012222  0x00002160 rtnne  0x00000001 
+ 00012223  0x00002161 call  0x00002fc1 
+ 00012224  0x00002162 branch  0x00002fcb 
+ 00012225  0x00002165 call  0x00003294 
+ 00012226  0x00002167 rtnbit1  0x00000001 
+ 00012227  0x00002168 set1  0x00000001 , 0x0000003f 
+ 00012228  0x00002169 call  0x00003297 
+ 00012229  0x0000216b call  0x0000329c 
+ 00012230  0x0000216d call  0x00002c83 
+ 00012231  0x0000216e setarg  0x00000000 
+ 00012232  0x0000216f arg  0x00000106 , 0x00000011 
+ 00012233  0x00002170 call  0x000032bf 
+ 00012234  0x00002172 branch  0x000032c5 
+ 00012235  0x00002175 call  0x0000316e 
+ 00012236  0x00002176 nbranch  0x00002f5e , 0x0000002f 
+ 00012237  0x00002177 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012238  0x00002178 setarg  0x00000109 
+ 00012239  0x00002179 iadd  0x00000013 , 0x00000005 
+ 00012240  0x0000217a arg  0x00000008 , 0x00000039 
+ 00012241  0x0000217b call  0x00007f01 
+ 00012242  0x0000217c setarg  0x0000010b 
+ 00012243  0x0000217d call  0x000032d0 
+ 00012244  0x0000217e beq  0x000000aa , 0x00002fd9 
+ 00012245  0x0000217f beq  0x00000055 , 0x00002fed 
+ 00012246  0x00002180 beq  0x00000022 , 0x00003001 
+ 00012247  0x00002181 beq  0x000000ff , 0x00003212 
+ 00012248  0x00002182 branch  0x00002f5e 
+ 00012249  0x00002185 call  0x000032bd 
+ 00012250  0x00002186 beq  0x00000001 , 0x00002fdd 
+ 00012251  0x00002187 beq  0x00000002 , 0x00002fe8 
+ 00012252  0x00002188 rtn 
+ 00012253  0x0000218a setarg  0x00000001 
+ 00012254  0x0000218b call  0x00002ff7 
+ 00012255  0x0000218e setarg  0x00000001 
+ 00012256  0x0000218f call  0x00003289 
+ 00012257  0x00002192 setarg  0x00000080 
+ 00012258  0x00002193 arg  0x00000130 , 0x00000011 
+ 00012259  0x00002194 call  0x000032b3 
+ 00012260  0x00002196 call  0x0000327d 
+ 00012261  0x00002198 arg  0x00000131 , 0x00000011 
+ 00012262  0x00002199 call  0x000032bf 
+ 00012263  0x0000219b branch  0x0000322d 
+ 00012264  0x0000219e setarg  0x00000001 
+ 00012265  0x0000219f call  0x00002fff 
+ 00012266  0x000021a2 setarg  0x00000002 
+ 00012267  0x000021a3 call  0x00003289 
+ 00012268  0x000021a5 branch  0x00002fe1 
+ 00012269  0x000021a8 call  0x000032bd 
+ 00012270  0x000021a9 beq  0x00000001 , 0x00002ff1 
+ 00012271  0x000021aa beq  0x00000002 , 0x00002ff9 
+ 00012272  0x000021ab rtn 
+ 00012273  0x000021ad call  0x00002fdf 
+ 00012274  0x000021ae setarg  0x00000106 
+ 00012275  0x000021af call  0x000032d0 
+ 00012276  0x000021b1 beq  0x00000001 , 0x00002ff6 
+ 00012277  0x000021b2 rtn 
+ 00012278  0x000021b4 setarg  0x00000002 
+ 00012279  0x000021b7 arg  0x00000106 , 0x00000011 
+ 00012280  0x000021b8 branch  0x000032b3 
+ 00012281  0x000021bb call  0x00002fea 
+ 00012282  0x000021bc setarg  0x00000107 
+ 00012283  0x000021bd call  0x000032d0 
+ 00012284  0x000021bf beq  0x00000001 , 0x00002ffe 
+ 00012285  0x000021c0 rtn 
+ 00012286  0x000021c2 setarg  0x00000002 
+ 00012287  0x000021c5 arg  0x00000107 , 0x00000011 
+ 00012288  0x000021c6 branch  0x000032b3 
+ 00012289  0x000021c9 call  0x000032bd 
+ 00012290  0x000021ca beq  0x00000001 , 0x00003005 
+ 00012291  0x000021cb beq  0x00000002 , 0x00003011 
+ 00012292  0x000021cc rtn 
+ 00012293  0x000021ce setarg  0x00000106 
+ 00012294  0x000021cf call  0x000032d0 
+ 00012295  0x000021d1 beq  0x00000002 , 0x00003009 
+ 00012296  0x000021d2 rtn 
+ 00012297  0x000021d4 call  0x0000328b 
+ 00012298  0x000021d6 or_into  0x00000001 , 0x0000003f 
+ 00012299  0x000021d7 call  0x0000328d 
+ 00012300  0x000021da setarg  0x00000000 
+ 00012301  0x000021db setarg  0x00000106 
+ 00012302  0x000021dc iadd  0x00000013 , 0x00000005 
+ 00012303  0x000021dd istore  0x00000002 , 0x00000005 
+ 00012304  0x000021de branch  0x00002f5e 
+ 00012305  0x000021e1 setarg  0x00000107 
+ 00012306  0x000021e2 call  0x000032d0 
+ 00012307  0x000021e4 bne  0x00000000 , 0x00003015 
+ 00012308  0x000021e5 rtn 
+ 00012309  0x000021e7 call  0x0000328b 
+ 00012310  0x000021e9 or_into  0x00000002 , 0x0000003f 
+ 00012311  0x000021ea call  0x0000328d 
+ 00012312  0x000021ec branch  0x0000300c 
+ 00012313  0x000021f0 fetch  0x00000001 , 0x00000d50 
+ 00012314  0x000021f1 rtn  0x00000034 
+ 00012315  0x000021f2 jam  0x00000000 , 0x00000d50 
+ 00012316  0x000021f3 fetch  0x00000002 , 0x00000d4e 
+ 00012317  0x000021f4 arg  0x000002ba , 0x00000002 
+ 00012318  0x000021f5 isub  0x00000002 , 0x0000003e 
+ 00012319  0x000021f6 nrtn  0x00000005 
+ 00012320  0x000021f8 fetch  0x00000001 , 0x00000cb6 
+ 00012321  0x000021f9 rtnne  0x000000ba 
+ 00012322  0x000021fa fetch  0x00000001 , 0x00000cb7 
+ 00012323  0x000021fb bpatch  0x000000be , 0x00004017 
+ 00012324  0x000021fc beq  0x000000a0 , 0x0000303b 
+ 00012325  0x000021fd beq  0x000000a1 , 0x0000302c 
+ 00012326  0x000021fe beq  0x000000a6 , 0x00003041 
+ 00012327  0x000021ff beq  0x000000a7 , 0x00003043 
+ 00012328  0x00002200 beq  0x000000a9 , 0x00003049 
+ 00012329  0x00002201 beq  0x000000b0 , 0x0000304d 
+ 00012330  0x00002203 jam  0x00000000 , 0x00000d42 
+ 00012331  0x00002204 rtn 
+ 00012332  0x00002206 fetch  0x00000001 , 0x00000cb8 
+ 00012333  0x00002207 beq  0x00000001 , 0x00003031 
+ 00012334  0x00002208 beq  0x00000084 , 0x00003034 
+ 00012335  0x00002209 beq  0x000000a7 , 0x00003039 
+ 00012336  0x0000220a branch  0x0000302a 
+ 00012337  0x0000220c call  0x0000328b 
+ 00012338  0x0000220e store  0x00000001 , 0x00000cf7 
+ 00012339  0x0000220f branch  0x0000303f 
+ 00012340  0x00002211 call  0x00003291 
+ 00012341  0x00002213 call  0x00003296 
+ 00012342  0x00002215 call  0x0000328b 
+ 00012343  0x00002217 store  0x00000001 , 0x00000cf7 
+ 00012344  0x00002218 branch  0x0000303f 
+ 00012345  0x0000221c jam  0x000000a1 , 0x00000cf7 
+ 00012346  0x0000221d branch  0x0000303f 
+ 00012347  0x00002220 fetch  0x00000001 , 0x00000cb8 
+ 00012348  0x00002221 beq  0x00000081 , 0x0000303e 
+ 00012349  0x00002223 branch  0x0000302a 
+ 00012350  0x00002227 call  0x00003090 
+ 00012351  0x00002229 jam  0x00000001 , 0x00000d42 
+ 00012352  0x0000222a rtn 
+ 00012353  0x00002230 jam  0x00000015 , 0x00000cf7 
+ 00012354  0x00002231 branch  0x0000303f 
+ 00012355  0x00002234 call  0x0000328f 
+ 00012356  0x00002236 beq  0x00000000 , 0x00003047 
+ 00012357  0x00002237 beq  0x00000001 , 0x00003039 
+ 00012358  0x00002239 rtn 
+ 00012359  0x0000223b jam  0x000000a0 , 0x00000cf7 
+ 00012360  0x0000223c branch  0x0000303f 
+ 00012361  0x00002242 jam  0x00000000 , 0x00000cf7 
+ 00012362  0x00002243 jam  0x00000000 , 0x00000cf8 
+ 00012363  0x00002244 jam  0x00000001 , 0x00000cf9 
+ 00012364  0x00002245 branch  0x0000303f 
+ 00012365  0x00002249 call  0x0000329c 
+ 00012366  0x0000224a fetch  0x00000001 , 0x00000cb8 
+ 00012367  0x0000224b increase  0x00000002 , 0x0000003f 
+ 00012368  0x0000224c copy  0x0000003f , 0x00000039 
+ 00012369  0x0000224d arg  0x00000cb6 , 0x00000006 
+ 00012370  0x0000224e setarg  0x0000013c 
+ 00012371  0x0000224f iadd  0x00000013 , 0x00000005 
+ 00012372  0x00002250 branch  0x00007f01 
+ 00012373  0x00002254 bpatch  0x000000bf , 0x00004017 
+ 00012374  0x00002255 call  0x0000307d 
+ 00012375  0x00002257 call  0x00002c7f 
+ 00012376  0x00002258 call  0x000048d3 
+ 00012377  0x00002259 branch  0x00003057 
+ 00012378  0x0000225c call  0x0000328f 
+ 00012379  0x0000225e rtnne  0x00000000 
+ 00012380  0x0000225f call  0x00002f51 
+ 00012381  0x00002260 branch  0x00003098 
+ 00012382  0x00002263 call  0x0000328f 
+ 00012383  0x00002265 rtnne  0x00000001 
+ 00012384  0x00002266 call  0x00002fc1 
+ 00012385  0x00002267 call  0x00002fcb 
+ 00012386  0x00002268 call  0x0000328b 
+ 00012387  0x0000226a rtn  0x00000034 
+ 00012388  0x0000226b call  0x00003286 
+ 00012389  0x0000226d call  0x00002f4c 
+ 00012390  0x0000226e call  0x00003093 
+ 00012391  0x00002270 setarg  0x00000000 
+ 00012392  0x00002271 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012393  0x00002273 branch  0x0000322d 
+ 00012394  0x00002276 call  0x00007fe9 
+ 00012395  0x00002277 add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012396  0x00002278 ifetcht  0x00000004 , 0x00000011 
+ 00012397  0x0000227a copy  0x00000022 , 0x0000003f 
+ 00012398  0x0000227b isub  0x00000002 , 0x0000003e 
+ 00012399  0x0000227c ncall  0x00002d18 , 0x00000002 
+ 00012400  0x0000227d copy  0x0000003f , 0x00000012 
+ 00012401  0x0000227e add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012402  0x0000227f ifetch  0x00000004 , 0x00000011 
+ 00012403  0x00002281 add  0x00000013 , 0x000000ab , 0x00000011 
+ 00012404  0x00002282 ifetcht  0x00000001 , 0x00000011 
+ 00012405  0x00002284 iadd  0x00000002 , 0x00000002 
+ 00012406  0x00002285 copy  0x00000012 , 0x0000003f 
+ 00012407  0x00002286 isub  0x00000002 , 0x0000003e 
+ 00012408  0x00002287 nrtn  0x00000002 
+ 00012409  0x00002288 set0  0x0000001c , 0x0000003f 
+ 00012410  0x00002289 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012411  0x0000228a istore  0x00000004 , 0x00000005 
+ 00012412  0x0000228c branch  0x00007fe7 
+ 00012413  0x0000228f setarg  0x00000001 
+ 00012414  0x00002290 call  0x00003287 
+ 00012415  0x00002292 call  0x00003283 
+ 00012416  0x00002294 setarg  0x000000ff 
+ 00012417  0x00002295 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00012418  0x00002296 istore  0x00000001 , 0x00000005 
+ 00012419  0x00002298 branch  0x00003067 
+ 00012420  0x0000229b setarg  0x0000015c 
+ 00012421  0x0000229c call  0x000032d0 
+ 00012422  0x0000229e rtn  0x00000034 
+ 00012423  0x0000229f call  0x0000306a 
+ 00012424  0x000022a0 nrtn  0x00000028 
+ 00012425  0x000022a1 call  0x00003281 
+ 00012426  0x000022a3 increase  0x00000001 , 0x0000003f 
+ 00012427  0x000022a4 and_into  0x00000001 , 0x0000003f 
+ 00012428  0x000022a5 call  0x00003284 
+ 00012429  0x000022a7 beq  0x00000000 , 0x00002f4c 
+ 00012430  0x000022a8 beq  0x00000001 , 0x00003090 
+ 00012431  0x000022a9 rtn 
+ 00012432  0x000022af setarg  0x00000001 
+ 00012433  0x000022b0 call  0x00003292 
+ 00012434  0x000022b1 branch  0x00003296 
+ 00012435  0x000022b4 setarg  0x00000001 
+ 00012436  0x000022b5 call  0x000032a5 
+ 00012437  0x000022b8 setarg  0x00000280 
+ 00012438  0x000022b9 arg  0x00000008 , 0x00000007 
+ 00012439  0x000022ba branch  0x00007f08 
+ 00012440  0x000022bd call  0x000032a2 
+ 00012441  0x000022bf rtn  0x00000034 
+ 00012442  0x000022c0 arg  0x00000008 , 0x00000007 
+ 00012443  0x000022c1 call  0x00007f16 
+ 00012444  0x000022c2 nrtn  0x00000034 
+ 00012445  0x000022c3 call  0x000032a4 
+ 00012446  0x000022c6 setarg  0x00000007 
+ 00012447  0x000022c7 call  0x00003292 
+ 00012448  0x000022c9 call  0x00003296 
+ 00012449  0x000022cb branch  0x00002f5e 
+ 00012450  0x000022ce bpatch  0x000000c0 , 0x00004018 
+ 00012451  0x000022cf call  0x0000328f 
+ 00012452  0x000022d1 rtnne  0x00000007 
+ 00012453  0x000022d2 call  0x000030cb 
+ 00012454  0x000022d3 call  0x000030e0 
+ 00012455  0x000022d4 call  0x0000316e 
+ 00012456  0x000022d5 nbranch  0x00002f5e , 0x0000002f 
+ 00012457  0x000022d7 call  0x000030bc 
+ 00012458  0x000022d8 call  0x00003172 , 0x00000005 
+ 00012459  0x000022dc call  0x00002f4c 
+ 00012460  0x000022dd call  0x00003294 
+ 00012461  0x000022df set1  0x00000000 , 0x0000003f 
+ 00012462  0x000022e0 call  0x00003297 
+ 00012463  0x000022e2 call  0x00002f5e 
+ 00012464  0x000022e3 call  0x00003093 
+ 00012465  0x000022e4 call  0x000030bc 
+ 00012466  0x000022e5 branch  0x000030c1 , 0x00000005 
+ 00012467  0x000022e6 setarg  0x00000164 
+ 00012468  0x000022e7 call  0x000032d3 
+ 00012469  0x000022e9 call  0x000030be 
+ 00012470  0x000022ea branch  0x000030c5 , 0x00000005 
+ 00012471  0x000022eb setarg  0x00000160 
+ 00012472  0x000022ec call  0x000032d3 
+ 00012473  0x000022ee call  0x000030be 
+ 00012474  0x000022ef branch  0x000030c8 , 0x00000005 
+ 00012475  0x000022f0 rtn 
+ 00012476  0x000022f3 setarg  0x0000012b 
+ 00012477  0x000022f4 call  0x000032d3 
+ 00012478  0x000022f7 call  0x0000322a 
+ 00012479  0x000022f9 isub  0x00000002 , 0x0000003e 
+ 00012480  0x000022fa rtn 
+ 00012481  0x000022fd setarg  0x00000182 
+ 00012482  0x000022fe call  0x000032d0 
+ 00012483  0x00002302 add  0x00000013 , 0x00000091 , 0x00000005 
+ 00012484  0x00002303 branch  0x000032b4 
+ 00012485  0x00002306 setarg  0x00000185 
+ 00012486  0x00002307 call  0x000032d0 
+ 00012487  0x00002309 branch  0x000030c3 
+ 00012488  0x0000230b setarg  0x00000188 
+ 00012489  0x0000230c call  0x000032d0 
+ 00012490  0x0000230e branch  0x000030c3 
+ 00012491  0x00002311 call  0x00003294 
+ 00012492  0x00002313 rtnbit1  0x00000007 
+ 00012493  0x00002314 set1  0x00000007 , 0x0000003f 
+ 00012494  0x00002315 call  0x00003297 
+ 00012495  0x00002317 call  0x00003283 
+ 00012496  0x00002319 call  0x0000329c 
+ 00012497  0x0000231b setarg  0x00000000 
+ 00012498  0x0000231c add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012499  0x0000231d istore  0x00000003 , 0x00000005 
+ 00012500  0x0000231f arg  0x00000183 , 0x00000011 
+ 00012501  0x00002320 call  0x000032bf 
+ 00012502  0x00002321 istore  0x00000007 , 0x00000005 
+ 00012503  0x00002324 call  0x000030bc 
+ 00012504  0x00002325 nrtn  0x00000005 
+ 00012505  0x00002326 add  0x00000013 , 0x00000091 , 0x00000011 
+ 00012506  0x00002327 ifetch  0x00000001 , 0x00000011 
+ 00012507  0x00002329 arg  0x00000182 , 0x00000011 
+ 00012508  0x0000232a call  0x000032b3 
+ 00012509  0x0000232c add  0x00000013 , 0x00000090 , 0x00000011 
+ 00012510  0x0000232d ifetch  0x00000001 , 0x00000011 
+ 00012511  0x00002330 branch  0x0000314a 
+ 00012512  0x00002333 bpatch  0x000000c1 , 0x00004018 
+ 00012513  0x00002334 call  0x00003281 
+ 00012514  0x00002336 increase  0x00000001 , 0x0000003f 
+ 00012515  0x00002337 and_into  0x00000003 , 0x0000003f 
+ 00012516  0x00002338 call  0x00003284 
+ 00012517  0x0000233b beq  0x00000000 , 0x0000310e 
+ 00012518  0x0000233c beq  0x00000001 , 0x00003132 
+ 00012519  0x0000233d beq  0x00000002 , 0x000030ea 
+ 00012520  0x0000233e beq  0x00000003 , 0x00003132 
+ 00012521  0x0000233f rtn 
+ 00012522  0x00002342 call  0x00002fdf 
+ 00012523  0x00002343 setarg  0x00000160 
+ 00012524  0x00002344 call  0x0000327e 
+ 00012525  0x00002346 branch  0x000030e0 , 0x00000034 
+ 00012526  0x00002347 call  0x0000322c 
+ 00012527  0x00002349 setarg  0x00000189 
+ 00012528  0x0000234a call  0x000032d0 
+ 00012529  0x0000234c call  0x00003108 , 0x00000034 
+ 00012530  0x0000234d setarg  0x00000187 
+ 00012531  0x0000234e call  0x000032d0 
+ 00012532  0x00002350 call  0x0000322f 
+ 00012533  0x00002352 add  0x00000013 , 0x000000f7 , 0x00000011 
+ 00012534  0x00002353 ifetcht  0x00000001 , 0x00000011 
+ 00012535  0x00002355 arg  0x00000f9e , 0x00000011 
+ 00012536  0x00002356 call  0x00002e58 
+ 00012537  0x00002357 add  0x00000013 , 0x000000f7 , 0x00000005 
+ 00012538  0x00002358 istoret  0x00000001 , 0x00000005 
+ 00012539  0x0000235a call  0x00002f94 
+ 00012540  0x0000235b add  0x00000013 , 0x000000fa , 0x00000005 
+ 00012541  0x0000235c istoret  0x00000001 , 0x00000005 
+ 00012542  0x0000235e sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012543  0x0000235f nrtn  0x00000002 
+ 00012544  0x00002360 setarg  0x00000188 
+ 00012545  0x00002361 call  0x00003275 
+ 00012546  0x00002363 call  0x00002c90 
+ 00012547  0x00002364 arg  0x00000188 , 0x00000011 
+ 00012548  0x00002365 call  0x000032c8 
+ 00012549  0x00002366 istoret  0x00000001 , 0x00000005 
+ 00012550  0x0000236a arg  0x00000187 , 0x00000011 
+ 00012551  0x0000236b branch  0x000032b3 
+ 00012552  0x0000236e setarg  0x00000001 
+ 00012553  0x0000236f arg  0x00000189 , 0x00000011 
+ 00012554  0x00002370 call  0x000032b3 
+ 00012555  0x00002372 arg  0x00000000 , 0x00000002 
+ 00012556  0x00002373 call  0x00002c94 
+ 00012557  0x00002376 branch  0x00003106 
+ 00012558  0x00002379 call  0x00002fea 
+ 00012559  0x0000237a setarg  0x00000164 
+ 00012560  0x0000237b call  0x0000327e 
+ 00012561  0x0000237d branch  0x000030e0 , 0x00000034 
+ 00012562  0x0000237e call  0x0000322c 
+ 00012563  0x00002380 setarg  0x00000186 
+ 00012564  0x00002381 call  0x000032d0 
+ 00012565  0x00002383 call  0x0000312c , 0x00000034 
+ 00012566  0x00002384 setarg  0x00000184 
+ 00012567  0x00002385 call  0x000032d0 
+ 00012568  0x00002387 call  0x0000322f 
+ 00012569  0x00002389 add  0x00000013 , 0x000000f6 , 0x00000011 
+ 00012570  0x0000238a ifetcht  0x00000001 , 0x00000011 
+ 00012571  0x0000238c arg  0x0000109e , 0x00000011 
+ 00012572  0x0000238d call  0x00002e58 
+ 00012573  0x0000238e add  0x00000013 , 0x000000f6 , 0x00000005 
+ 00012574  0x0000238f istoret  0x00000001 , 0x00000005 
+ 00012575  0x00002391 call  0x00002f94 
+ 00012576  0x00002392 add  0x00000013 , 0x000000f9 , 0x00000005 
+ 00012577  0x00002393 istoret  0x00000001 , 0x00000005 
+ 00012578  0x00002395 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012579  0x00002396 nrtn  0x00000002 
+ 00012580  0x00002397 setarg  0x00000185 
+ 00012581  0x00002398 call  0x00003275 
+ 00012582  0x0000239a call  0x00002c90 
+ 00012583  0x0000239b arg  0x00000185 , 0x00000011 
+ 00012584  0x0000239c call  0x000032c8 
+ 00012585  0x0000239d istoret  0x00000001 , 0x00000005 
+ 00012586  0x000023a1 arg  0x00000184 , 0x00000011 
+ 00012587  0x000023a2 branch  0x000032b3 
+ 00012588  0x000023a5 setarg  0x00000001 
+ 00012589  0x000023a6 arg  0x00000186 , 0x00000011 
+ 00012590  0x000023a7 call  0x000032b3 
+ 00012591  0x000023a9 arg  0x00000000 , 0x00000002 
+ 00012592  0x000023aa call  0x00002c94 
+ 00012593  0x000023ad branch  0x0000312a 
+ 00012594  0x000023b0 call  0x00002fdf 
+ 00012595  0x000023b1 call  0x0000327d 
+ 00012596  0x000023b3 call  0x0000322c 
+ 00012597  0x000023b5 setarg  0x00000183 
+ 00012598  0x000023b6 call  0x000032d0 
+ 00012599  0x000023b8 call  0x0000314c , 0x00000034 
+ 00012600  0x000023b9 call  0x0000314f 
+ 00012601  0x000023ba add  0x00000013 , 0x000000f5 , 0x00000011 
+ 00012602  0x000023bb ifetcht  0x00000001 , 0x00000011 
+ 00012603  0x000023bd arg  0x00000e9e , 0x00000011 
+ 00012604  0x000023be call  0x00002e58 
+ 00012605  0x000023bf add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012606  0x000023c0 istoret  0x00000001 , 0x00000005 
+ 00012607  0x000023c2 call  0x00002f94 
+ 00012608  0x000023c3 add  0x00000013 , 0x000000f8 , 0x00000005 
+ 00012609  0x000023c4 istoret  0x00000001 , 0x00000005 
+ 00012610  0x000023c6 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012611  0x000023c7 nrtn  0x00000002 
+ 00012612  0x000023c8 setarg  0x00000182 
+ 00012613  0x000023c9 call  0x00003275 
+ 00012614  0x000023cb call  0x00002c90 
+ 00012615  0x000023cc arg  0x00000182 , 0x00000011 
+ 00012616  0x000023cd call  0x000032c8 
+ 00012617  0x000023ce istoret  0x00000001 , 0x00000005 
+ 00012618  0x000023d3 arg  0x00000181 , 0x00000011 
+ 00012619  0x000023d4 branch  0x000032b3 
+ 00012620  0x000023dc setarg  0x00000001 
+ 00012621  0x000023dd arg  0x00000183 , 0x00000011 
+ 00012622  0x000023de call  0x000032b3 
+ 00012623  0x000023e0 setarg  0x00000181 
+ 00012624  0x000023e1 call  0x000032d0 
+ 00012625  0x000023e2 branch  0x0000322f 
+ 00012626  0x000023e7 add  0x00000013 , 0x00000000 , 0x00000011 
+ 00012627  0x000023e8 ifetch  0x00000001 , 0x00000011 
+ 00012628  0x000023ea call  0x0000323c 
+ 00012629  0x000023ed call  0x00002dde 
+ 00012630  0x000023ef call  0x0000325f 
+ 00012631  0x000023f1 isolate1  0x00000000 , 0x0000003f 
+ 00012632  0x000023f2 branch  0x0000315c , 0x00000001 
+ 00012633  0x000023f4 call  0x0000315d 
+ 00012634  0x000023f5 call  0x00002d53 
+ 00012635  0x000023f6 call  0x00002df7 
+ 00012636  0x000023f8 branch  0x00002e45 
+ 00012637  0x000023fb bpatch  0x000000c2 , 0x00004018 
+ 00012638  0x000023fc add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012639  0x000023fd call  0x000032d6 
+ 00012640  0x000023ff setarg  0x0000013b 
+ 00012641  0x00002400 call  0x000032d0 
+ 00012642  0x00002402 rtn  0x00000034 
+ 00012643  0x00002403 setarg  0x00000006 
+ 00012644  0x00002404 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012645  0x00002405 istore  0x00000001 , 0x00000005 
+ 00012646  0x00002407 arg  0x00000006 , 0x00000039 
+ 00012647  0x00002408 setarg  0x0000012f 
+ 00012648  0x00002409 iadd  0x00000013 , 0x00000006 
+ 00012649  0x0000240b add  0x00000013 , 0x00000022 , 0x00000005 
+ 00012650  0x0000240d branch  0x00007f01 
+ 00012651  0x00002411 call  0x0000316e 
+ 00012652  0x00002412 nbranch  0x00002f5e , 0x0000002f 
+ 00012653  0x00002413 branch  0x00003172 
+ 00012654  0x00002416 call  0x00002f5e 
+ 00012655  0x00002417 call  0x00002e11 
+ 00012656  0x00002418 nrtn  0x0000002f 
+ 00012657  0x00002419 branch  0x00003152 
+ 00012658  0x0000241c bpatch  0x000000c3 , 0x00004018 
+ 00012659  0x0000241d call  0x00003188 
+ 00012660  0x0000241e nbranch  0x00002f5e , 0x00000028 
+ 00012661  0x0000241f add  0x00000013 , 0x00000084 , 0x00000011 
+ 00012662  0x00002420 ifetch  0x00000001 , 0x00000011 
+ 00012663  0x00002422 branch  0x00002f5e , 0x00000034 
+ 00012664  0x00002423 increase  0x00000002 , 0x0000003f 
+ 00012665  0x00002424 iforce  0x00000039 
+ 00012666  0x00002425 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012667  0x00002427 setarg  0x00000109 
+ 00012668  0x00002428 iadd  0x00000013 , 0x00000005 
+ 00012669  0x0000242a call  0x00007f01 
+ 00012670  0x0000242b call  0x00003286 
+ 00012671  0x0000242d call  0x000032b6 
+ 00012672  0x0000242f call  0x00003093 , 0x00000034 
+ 00012673  0x00002430 setarg  0x0000010b 
+ 00012674  0x00002431 call  0x000032d0 
+ 00012675  0x00002433 beq  0x00000001 , 0x0000319e 
+ 00012676  0x00002434 beq  0x00000002 , 0x000031c6 
+ 00012677  0x00002435 beq  0x00000003 , 0x000031f2 
+ 00012678  0x00002436 beq  0x000000ff , 0x00003212 
+ 00012679  0x00002437 branch  0x00002f5e 
+ 00012680  0x0000243a call  0x00002c7a 
+ 00012681  0x0000243b call  0x00007fe9 
+ 00012682  0x0000243c add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012683  0x0000243d ifetch  0x00000001 , 0x00000011 
+ 00012684  0x0000243f add  0x00000013 , 0x000000cb , 0x00000011 
+ 00012685  0x00002440 ifetcht  0x00000001 , 0x00000011 
+ 00012686  0x00002442 isub  0x00000002 , 0x0000003e 
+ 00012687  0x00002443 ncall  0x00007fe7 , 0x00000005 
+ 00012688  0x00002444 add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012689  0x00002445 ifetch  0x00000001 , 0x00000011 
+ 00012690  0x00002447 add  0x00000013 , 0x000000cb , 0x00000005 
+ 00012691  0x00002448 istore  0x00000001 , 0x00000005 
+ 00012692  0x0000244a add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012693  0x0000244b ifetch  0x00000003 , 0x00000011 
+ 00012694  0x0000244d add  0x00000013 , 0x000000c7 , 0x00000011 
+ 00012695  0x0000244e ifetcht  0x00000003 , 0x00000011 
+ 00012696  0x00002450 isub  0x00000002 , 0x0000003e 
+ 00012697  0x00002451 ncall  0x00007fe7 , 0x00000005 
+ 00012698  0x00002452 add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012699  0x00002453 ifetch  0x00000003 , 0x00000011 
+ 00012700  0x00002455 add  0x00000013 , 0x000000c7 , 0x00000005 
+ 00012701  0x00002457 branch  0x000032c5 
+ 00012702  0x0000245a call  0x00002f88 
+ 00012703  0x0000245b call  0x0000324c 
+ 00012704  0x0000245c store  0x00000001 , 0x00000aa2 
+ 00012705  0x0000245e call  0x00003274 
+ 00012706  0x0000245f fetch  0x00000001 , 0x00000aa2 
+ 00012707  0x00002461 isolate1  0x00000003 , 0x00000002 
+ 00012708  0x00002462 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012709  0x00002463 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012710  0x00002464 istore  0x00000001 , 0x00000005 
+ 00012711  0x00002466 beq  0x00000001 , 0x00003216 
+ 00012712  0x00002467 call  0x00003245 
+ 00012713  0x00002469 call  0x00003274 
+ 00012714  0x0000246b isolate1  0x00000004 , 0x00000002 
+ 00012715  0x0000246c setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012716  0x0000246d call  0x00003249 
+ 00012717  0x0000246f add  0x00000013 , 0x000000de , 0x00000011 
+ 00012718  0x00002470 ifetch  0x00000002 , 0x00000011 
+ 00012719  0x00002472 branch  0x00007f9c 
+ 00012720  0x00002475 setarg  0x00000001 
+ 00012721  0x00002476 store  0x00000001 , 0x00000d54 
+ 00012722  0x00002477 call  0x0000329e 
+ 00012723  0x00002479 istore  0x00000007 , 0x00000005 
+ 00012724  0x0000247a call  0x0000329e 
+ 00012725  0x0000247c ncall  0x000031bd , 0x00000034 
+ 00012726  0x0000247d call  0x0000329e 
+ 00012727  0x0000247f call  0x000031c2 , 0x00000034 
+ 00012728  0x00002481 jam  0x00000020 , 0x00000d52 
+ 00012729  0x00002483 fetch  0x00000001 , 0x00000d38 
+ 00012730  0x00002484 set1  0x00000002 , 0x0000003f 
+ 00012731  0x00002485 store  0x00000001 , 0x00000d38 
+ 00012732  0x00002486 rtn 
+ 00012733  0x00002489 setarg  0x00000001 
+ 00012734  0x0000248a call  0x000032a8 
+ 00012735  0x0000248d setarg  0x00000140 
+ 00012736  0x0000248e arg  0x0000000b , 0x00000007 
+ 00012737  0x0000248f branch  0x00007f08 
+ 00012738  0x00002491 call  0x000032a7 
+ 00012739  0x00002494 setarg  0x00000000 
+ 00012740  0x00002495 arg  0x0000000b , 0x00000007 
+ 00012741  0x00002496 branch  0x00007f08 
+ 00012742  0x00002499 call  0x00003274 
+ 00012743  0x0000249b isolate1  0x00000003 , 0x00000002 
+ 00012744  0x0000249c branch  0x0000321b , 0x00000001 
+ 00012745  0x0000249d arg  0x00000d64 , 0x00000005 
+ 00012746  0x0000249e call  0x000031e0 
+ 00012747  0x0000249f fetch  0x00000008 , 0x00000d64 
+ 00012748  0x000024a0 ncall  0x000031e4 , 0x00000034 
+ 00012749  0x000024a1 fetch  0x00000008 , 0x00000d64 
+ 00012750  0x000024a2 call  0x000031e9 , 0x00000034 
+ 00012751  0x000024a3 call  0x00002c7a 
+ 00012752  0x000024a4 fetch  0x00000008 , 0x00000d64 
+ 00012753  0x000024a5 arg  0x00000168 , 0x00000011 
+ 00012754  0x000024a6 call  0x000032bf 
+ 00012755  0x000024a7 istore  0x00000008 , 0x00000005 
+ 00012756  0x000024a9 setarg  0x00000170 
+ 00012757  0x000024aa iadd  0x00000013 , 0x00000011 
+ 00012758  0x000024ab ifetcht  0x00000008 , 0x00000011 
+ 00012759  0x000024ad isub  0x00000002 , 0x0000003e 
+ 00012760  0x000024ae ncall  0x000031ed , 0x00000005 
+ 00012761  0x000024af setarg  0x00000168 
+ 00012762  0x000024b0 iadd  0x00000013 , 0x00000011 
+ 00012763  0x000024b1 ifetch  0x00000008 , 0x00000011 
+ 00012764  0x000024b3 arg  0x00000170 , 0x00000011 
+ 00012765  0x000024b4 call  0x000032bf 
+ 00012766  0x000024b5 istore  0x00000008 , 0x00000005 
+ 00012767  0x000024b7 branch  0x00002f5e 
+ 00012768  0x000024ba setarg  0x0000010b 
+ 00012769  0x000024bb iadd  0x00000013 , 0x00000006 
+ 00012770  0x000024bd arg  0x00000009 , 0x00000039 
+ 00012771  0x000024be branch  0x00007ff3 
+ 00012772  0x000024c1 setarg  0x00000001 
+ 00012773  0x000024c2 call  0x000032ab 
+ 00012774  0x000024c5 setarg  0x00000140 
+ 00012775  0x000024c6 arg  0x0000000e , 0x00000007 
+ 00012776  0x000024c7 branch  0x00007f08 
+ 00012777  0x000024ca call  0x000032aa 
+ 00012778  0x000024cd setarg  0x00000000 
+ 00012779  0x000024ce arg  0x0000000e , 0x00000007 
+ 00012780  0x000024cf branch  0x00007f08 
+ 00012781  0x000024d3 jam  0x00000010 , 0x00000d51 
+ 00012782  0x000024d4 fetch  0x00000001 , 0x00000d38 
+ 00012783  0x000024d5 set1  0x00000001 , 0x0000003f 
+ 00012784  0x000024d6 store  0x00000001 , 0x00000d38 
+ 00012785  0x000024d7 rtn 
+ 00012786  0x000024da arg  0x00000d74 , 0x00000005 
+ 00012787  0x000024db call  0x000031e0 
+ 00012788  0x000024dc fetch  0x00000002 , 0x00000d75 
+ 00012789  0x000024dd ncall  0x00003209 , 0x00000034 
+ 00012790  0x000024de fetch  0x00000002 , 0x00000d75 
+ 00012791  0x000024df call  0x0000320e , 0x00000034 
+ 00012792  0x000024e0 call  0x00002c7a 
+ 00012793  0x000024e1 fetch  0x00000003 , 0x00000d74 
+ 00012794  0x000024e2 arg  0x00000178 , 0x00000011 
+ 00012795  0x000024e3 call  0x000032c4 
+ 00012796  0x000024e5 setarg  0x0000017b 
+ 00012797  0x000024e6 iadd  0x00000013 , 0x00000011 
+ 00012798  0x000024e7 ifetcht  0x00000003 , 0x00000011 
+ 00012799  0x000024e9 isub  0x00000002 , 0x0000003e 
+ 00012800  0x000024ea ncall  0x00003207 , 0x00000005 
+ 00012801  0x000024eb setarg  0x00000178 
+ 00012802  0x000024ec iadd  0x00000013 , 0x00000011 
+ 00012803  0x000024ed ifetch  0x00000003 , 0x00000011 
+ 00012804  0x000024ef arg  0x0000017b , 0x00000011 
+ 00012805  0x000024f0 call  0x000032c4 
+ 00012806  0x000024f2 branch  0x00002f5e 
+ 00012807  0x000024f5 jam  0x00000021 , 0x00000d52 
+ 00012808  0x000024f6 branch  0x000031b9 
+ 00012809  0x000024f9 setarg  0x00000001 
+ 00012810  0x000024fa call  0x000032ae 
+ 00012811  0x000024fd setarg  0x00000140 
+ 00012812  0x000024fe arg  0x0000000c , 0x00000007 
+ 00012813  0x000024ff branch  0x00007f08 
+ 00012814  0x00002502 call  0x000032ad 
+ 00012815  0x00002505 setarg  0x00000000 
+ 00012816  0x00002506 arg  0x0000000c , 0x00000007 
+ 00012817  0x00002507 branch  0x00007f08 
+ 00012818  0x0000250a call  0x000032bd 
+ 00012819  0x0000250c beq  0x00000001 , 0x00003216 
+ 00012820  0x0000250d beq  0x00000002 , 0x0000321b 
+ 00012821  0x0000250e rtn 
+ 00012822  0x00002510 setarg  0x0000010d 
+ 00012823  0x00002511 call  0x0000327e 
+ 00012824  0x00002512 arg  0x00000160 , 0x00000011 
+ 00012825  0x00002513 call  0x000032bf 
+ 00012826  0x00002516 branch  0x0000322d 
+ 00012827  0x00002519 setarg  0x0000010d 
+ 00012828  0x0000251a call  0x0000327e 
+ 00012829  0x0000251b arg  0x00000164 , 0x00000011 
+ 00012830  0x0000251c call  0x000032bf 
+ 00012831  0x0000251f branch  0x0000322d 
+ 00012832  0x00002522 call  0x00002c7a 
+ 00012833  0x00002523 add  0x00000013 , 0x000000cd , 0x00000005 
+ 00012834  0x00002524 istore  0x00000001 , 0x00000005 
+ 00012835  0x00002525 rtn 
+ 00012836  0x00002528 call  0x00002c7a 
+ 00012837  0x00002529 add  0x00000013 , 0x000000be , 0x00000011 
+ 00012838  0x0000252a branch  0x0000327f 
+ 00012839  0x0000252c call  0x00002c7a 
+ 00012840  0x0000252d add  0x00000013 , 0x000000be , 0x00000005 
+ 00012841  0x0000252e branch  0x0000322d 
+ 00012842  0x00002531 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00012843  0x00002532 branch  0x0000327f 
+ 00012844  0x00002534 add  0x00000013 , 0x000000ae , 0x00000005 
+ 00012845  0x00002536 istore  0x00000004 , 0x00000005 
+ 00012846  0x00002537 rtn 
+ 00012847  0x0000253a add  0x00000013 , 0x00000090 , 0x00000005 
+ 00012848  0x0000253b branch  0x000032b4 
+ 00012849  0x0000253e setarg  0x00000000 
+ 00012850  0x00002540 call  0x00002c7a 
+ 00012851  0x00002541 add  0x00000013 , 0x00000085 , 0x00000005 
+ 00012852  0x00002542 branch  0x000032b4 
+ 00012853  0x00002545 add  0x00000013 , 0x00000042 , 0x00000005 
+ 00012854  0x00002546 branch  0x000032b4 
+ 00012855  0x00002549 setarg  0x00000004 
+ 00012856  0x0000254b add  0x00000013 , 0x000000cc , 0x00000005 
+ 00012857  0x0000254c branch  0x000032b4 
+ 00012858  0x0000254f add  0x00000013 , 0x00000087 , 0x00000011 
+ 00012859  0x00002550 branch  0x000032d1 
+ 00012860  0x00002552 add  0x00000013 , 0x00000087 , 0x00000005 
+ 00012861  0x00002553 branch  0x000032b4 
+ 00012862  0x00002556 setarg  0x00000002 
+ 00012863  0x00002558 add  0x00000013 , 0x000000d0 , 0x00000005 
+ 00012864  0x00002559 branch  0x000032b4 
+ 00012865  0x0000255c setarg  0x00000001 
+ 00012866  0x0000255e call  0x00002c7a 
+ 00012867  0x0000255f add  0x00000013 , 0x000000ce , 0x00000005 
+ 00012868  0x00002560 branch  0x000032b4 
+ 00012869  0x00002563 call  0x00002c7a 
+ 00012870  0x00002564 add  0x00000013 , 0x000000b4 , 0x00000011 
+ 00012871  0x00002565 branch  0x000032d1 
+ 00012872  0x00002567 setarg  0x00000001 
+ 00012873  0x00002569 call  0x00002c7a 
+ 00012874  0x0000256a add  0x00000013 , 0x000000b4 , 0x00000005 
+ 00012875  0x0000256b branch  0x000032b4 
+ 00012876  0x0000256e call  0x00002c7a 
+ 00012877  0x0000256f add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00012878  0x00002570 branch  0x000032d1 
+ 00012879  0x00002572 setarg  0x00000001 
+ 00012880  0x00002574 call  0x00002c7a 
+ 00012881  0x00002575 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012882  0x00002576 branch  0x000032b4 
+ 00012883  0x00002579 call  0x00002c7a 
+ 00012884  0x0000257a add  0x00000013 , 0x00000096 , 0x00000011 
+ 00012885  0x0000257b branch  0x000032d1 
+ 00012886  0x0000257d add  0x00000013 , 0x00000096 , 0x00000005 
+ 00012887  0x0000257e branch  0x000032b4 
+ 00012888  0x00002581 add  0x00000013 , 0x000000cf , 0x00000011 
+ 00012889  0x00002582 branch  0x000032d1 
+ 00012890  0x00002584 setarg  0x00000000 
+ 00012891  0x00002586 add  0x00000013 , 0x000000cf , 0x00000005 
+ 00012892  0x00002587 branch  0x000032b4 
+ 00012893  0x0000258a add  0x00000013 , 0x000000d2 , 0x00000011 
+ 00012894  0x0000258b branch  0x000032d1 
+ 00012895  0x0000258e add  0x00000013 , 0x00000001 , 0x00000011 
+ 00012896  0x0000258f branch  0x000032d1 
+ 00012897  0x00002592 add  0x00000013 , 0x000000b5 , 0x00000011 
+ 00012898  0x00002593 branch  0x000032d1 
+ 00012899  0x00002595 setarg  0x00000000 
+ 00012900  0x00002597 call  0x00002c7a 
+ 00012901  0x00002598 add  0x00000013 , 0x000000b5 , 0x00000005 
+ 00012902  0x00002599 branch  0x000032b4 
+ 00012903  0x0000259c call  0x00002c7a 
+ 00012904  0x0000259d add  0x00000013 , 0x000000fb , 0x00000011 
+ 00012905  0x0000259e ifetch  0x00000001 , 0x00000011 
+ 00012906  0x000025a0 store  0x00000001 , 0x000041de 
+ 00012907  0x000025a1 rtn 
+ 00012908  0x000025a4 call  0x00002c7a 
+ 00012909  0x000025a5 fetch  0x00000001 , 0x000041de 
+ 00012910  0x000025a7 add  0x00000013 , 0x000000fb , 0x00000005 
+ 00012911  0x000025a8 branch  0x000032b4 
+ 00012912  0x000025ab add  0x00000013 , 0x000000fc , 0x00000011 
+ 00012913  0x000025ac branch  0x000032d1 
+ 00012914  0x000025af add  0x00000013 , 0x000000fe , 0x00000005 
+ 00012915  0x000025b0 branch  0x000032b4 
+ 00012916  0x000025b3 setarg  0x00000109 
+ 00012917  0x000025b5 iadd  0x00000013 , 0x00000011 
+ 00012918  0x000025b6 ifetcht  0x00000001 , 0x00000011 
+ 00012919  0x000025b7 rtn 
+ 00012920  0x000025ba setarg  0x00000135 
+ 00012921  0x000025bb branch  0x000032d0 
+ 00012922  0x000025bd setarg  0x00000000 
+ 00012923  0x000025bf arg  0x00000135 , 0x00000011 
+ 00012924  0x000025c0 branch  0x000032b3 
+ 00012925  0x000025c3 setarg  0x0000012b 
+ 00012926  0x000025c5 call  0x000032cd 
+ 00012927  0x000025c7 ifetch  0x00000004 , 0x00000011 
+ 00012928  0x000025c8 rtn 
+ 00012929  0x000025cb setarg  0x0000015f 
+ 00012930  0x000025cc branch  0x000032d0 
+ 00012931  0x000025ce setarg  0x00000000 
+ 00012932  0x000025d0 arg  0x0000015f , 0x00000011 
+ 00012933  0x000025d1 branch  0x000032b3 
+ 00012934  0x000025d4 setarg  0x00000000 
+ 00012935  0x000025d6 arg  0x0000015c , 0x00000011 
+ 00012936  0x000025d7 branch  0x000032b3 
+ 00012937  0x000025da arg  0x0000012f , 0x00000011 
+ 00012938  0x000025db branch  0x000032b3 
+ 00012939  0x000025de setarg  0x00000108 
+ 00012940  0x000025df branch  0x000032d0 
+ 00012941  0x000025e1 arg  0x00000108 , 0x00000011 
+ 00012942  0x000025e2 branch  0x000032b3 
+ 00012943  0x000025e5 setarg  0x00000105 
+ 00012944  0x000025e6 branch  0x000032d0 
+ 00012945  0x000025e8 setarg  0x00000000 
+ 00012946  0x000025ea arg  0x00000105 , 0x00000011 
+ 00012947  0x000025eb branch  0x000032b3 
+ 00012948  0x000025ee setarg  0x00000104 
+ 00012949  0x000025ef branch  0x000032d0 
+ 00012950  0x000025f1 setarg  0x00000000 
+ 00012951  0x000025f3 arg  0x00000104 , 0x00000011 
+ 00012952  0x000025f4 branch  0x000032b3 
+ 00012953  0x000025f7 setarg  0x00000000 
+ 00012954  0x000025f9 arg  0x0000013b , 0x00000011 
+ 00012955  0x000025fa branch  0x000032b3 
+ 00012956  0x000025fc setarg  0x00000001 
+ 00012957  0x000025fd branch  0x0000329a 
+ 00012958  0x00002600 setarg  0x0000010c 
+ 00012959  0x00002601 call  0x000032cd 
+ 00012960  0x00002602 ifetch  0x00000007 , 0x00000011 
+ 00012961  0x00002603 rtn 
+ 00012962  0x00002606 setarg  0x0000015e 
+ 00012963  0x00002607 branch  0x000032d0 
+ 00012964  0x00002609 setarg  0x00000000 
+ 00012965  0x0000260b arg  0x0000015e , 0x00000011 
+ 00012966  0x0000260c branch  0x000032b3 
+ 00012967  0x0000260f setarg  0x00000000 
+ 00012968  0x00002611 arg  0x00000180 , 0x00000011 
+ 00012969  0x00002612 branch  0x000032b3 
+ 00012970  0x00002615 setarg  0x00000000 
+ 00012971  0x00002617 arg  0x0000017e , 0x00000011 
+ 00012972  0x00002618 branch  0x000032b3 
+ 00012973  0x0000261b setarg  0x00000000 
+ 00012974  0x0000261d arg  0x0000017f , 0x00000011 
+ 00012975  0x0000261e branch  0x000032b3 
+ 00012976  0x00002621 arg  0x00000102 , 0x00000011 
+ 00012977  0x00002622 branch  0x000032b3 
+ 00012978  0x00002625 arg  0x00000103 , 0x00000011 
+ 00012979  0x00002627 call  0x000032c7 
+ 00012980  0x00002629 istore  0x00000001 , 0x00000005 
+ 00012981  0x0000262a rtn 
+ 00012982  0x0000262d setarg  0x0000015d 
+ 00012983  0x0000262e branch  0x000032d0 
+ 00012984  0x00002631 arg  0x0000015d , 0x00000011 
+ 00012985  0x00002632 branch  0x000032b3 
+ 00012986  0x00002635 setarg  0x0000018a 
+ 00012987  0x00002636 call  0x000032d0 
+ 00012988  0x00002637 branch  0x0000326a 
+ 00012989  0x0000263a setarg  0x0000010c 
+ 00012990  0x0000263b branch  0x000032d0 
+ 00012991  0x0000263e copy  0x0000003f , 0x00000002 
+ 00012992  0x0000263f copy  0x00000011 , 0x0000003f 
+ 00012993  0x00002640 iadd  0x00000013 , 0x00000005 
+ 00012994  0x00002641 copy  0x00000002 , 0x0000003f 
+ 00012995  0x00002642 rtn 
+ 00012996  0x00002645 call  0x000032bf 
+ 00012997  0x00002647 istore  0x00000003 , 0x00000005 
+ 00012998  0x00002648 rtn 
+ 00012999  0x0000264b call  0x00002c7a 
+ 00013000  0x0000264d copy  0x0000003f , 0x00000012 
+ 00013001  0x0000264e copy  0x00000011 , 0x0000003f 
+ 00013002  0x0000264f iadd  0x00000013 , 0x00000005 
+ 00013003  0x00002650 copy  0x00000012 , 0x0000003f 
+ 00013004  0x00002651 rtn 
+ 00013005  0x00002654 call  0x00002c7a 
+ 00013006  0x00002655 iadd  0x00000013 , 0x00000011 
+ 00013007  0x00002656 rtn 
+ 00013008  0x00002659 call  0x000032cd 
+ 00013009  0x0000265b ifetch  0x00000001 , 0x00000011 
+ 00013010  0x0000265c rtn 
+ 00013011  0x0000265f call  0x000032cd 
+ 00013012  0x00002660 ifetcht  0x00000004 , 0x00000011 
+ 00013013  0x00002661 rtn 
+ 00013014  0x00002664 setarg  0x00000000 
+ 00013015  0x00002665 branch  0x000032b4 
+ 00013016  0x0000266a bpatch  0x000000c4 , 0x00004018 
+ 00013017  0x0000266b fetch  0x00000001 , 0x00004092 
+ 00013018  0x0000266c branch  0x000032d8 , 0x00000034 
+ 00013019  0x0000266e beq  0x00000004 , 0x00002f30 
+ 00013020  0x0000266f beq  0x0000000f , 0x00003436 
+ 00013021  0x00002670 beq  0x00000009 , 0x000045de 
+ 00013022  0x00002671 beq  0x0000000a , 0x0000392a 
+ 00013023  0x00002672 beq  0x0000000e , 0x000035bf 
+ 00013024  0x00002673 beq  0x00000010 , 0x000044a4 
+ 00013025  0x00002674 bbit1  0x00000006 , 0x00003d00 
+ 00013026  0x00002675 rtn 
+ 00013027  0x00002678 bpatch  0x000000c5 , 0x00004018 
+ 00013028  0x00002679 jam  0x00000000 , 0x00000151 
+ 00013029  0x0000267a jam  0x00000000 , 0x0000017f 
+ 00013030  0x0000267b jam  0x00000000 , 0x00000180 
+ 00013031  0x0000267c setarg  0x00000000 
+ 00013032  0x0000267d store  0x00000005 , 0x000009ae 
+ 00013033  0x0000267e fetch  0x00000001 , 0x00004092 
+ 00013034  0x0000267f branch  0x000032e3 , 0x00000034 
+ 00013035  0x00002680 beq  0x0000000a , 0x00003962 
+ 00013036  0x00002682 rtn 
+ 00013037  0x00002686 call  0x00007cd1 
+ 00013038  0x00002687 call  0x00007d9c 
+ 00013039  0x00002688 call  0x000032f6 
+ 00013040  0x00002689 fetch  0x00000002 , 0x000041f3 
+ 00013041  0x0000268a branch  0x00007f9c 
+ 00013042  0x0000268d fetch  0x00000002 , 0x000041f1 
+ 00013043  0x0000268e branch  0x00007f9c 
+ 00013044  0x00002691 fetch  0x00000002 , 0x000041ef 
+ 00013045  0x00002692 branch  0x00007f9c 
+ 00013046  0x00002695 bpatch  0x000000c6 , 0x00004018 
+ 00013047  0x00002697 arg  0x00004668 , 0x00000011 
+ 00013048  0x00002698 call  0x00007fc4 
+ 00013049  0x00002699 rtn  0x00000034 
+ 00013050  0x0000269b copy  0x0000003f , 0x00000013 
+ 00013051  0x0000269c call  0x000032ff 
+ 00013052  0x0000269d branch  0x00003324 
+ 00013053  0x000026a0 arg  0x00000000 , 0x00000013 
+ 00013054  0x000026a1 rtn 
+ 00013055  0x000026a7 beq  0x00000001 , 0x00003311 
+ 00013056  0x000026a8 beq  0x00000010 , 0x00003357 
+ 00013057  0x000026a9 beq  0x00000005 , 0x00003335 
+ 00013058  0x000026aa beq  0x00000012 , 0x0000333c 
+ 00013059  0x000026ab beq  0x00000006 , 0x00003353 
+ 00013060  0x000026ac beq  0x00000004 , 0x00003394 
+ 00013061  0x000026ad beq  0x00000002 , 0x00003399 
+ 00013062  0x000026ae beq  0x00000013 , 0x00003394 
+ 00013063  0x000026af beq  0x00000014 , 0x0000334b 
+ 00013064  0x000026b0 beq  0x00000015 , 0x0000334f 
+ 00013065  0x000026b1 beq  0x00000003 , 0x0000332e 
+ 00013066  0x000026b2 beq  0x0000000b , 0x00003340 
+ 00013067  0x000026b3 beq  0x0000000c , 0x00003347 
+ 00013068  0x000026b5 beq  0x00000016 , 0x0000335b 
+ 00013069  0x000026b6 beq  0x00000018 , 0x0000332a 
+ 00013070  0x000026b7 beq  0x0000002a , 0x0000331a 
+ 00013071  0x000026b8 beq  0x0000002b , 0x00003318 
+ 00013072  0x000026b9 rtn 
+ 00013073  0x000026bd fetch  0x00000002 , 0x00004682 
+ 00013074  0x000026be set1  0x00000000 , 0x0000003f 
+ 00013075  0x000026bf store  0x00000002 , 0x00004682 
+ 00013076  0x000026c0 fetch  0x00000002 , 0x0000420a 
+ 00013077  0x000026c1 set0  0x00000000 , 0x0000003f 
+ 00013078  0x000026c2 store  0x00000002 , 0x0000420a 
+ 00013079  0x000026c3 rtn 
+ 00013080  0x000026c6 jam  0x00000000 , 0x00000229 
+ 00013081  0x000026c7 rtn 
+ 00013082  0x000026ca fetch  0x00000001 , 0x00000229 
+ 00013083  0x000026cb increase  0x00000001 , 0x0000003f 
+ 00013084  0x000026cc store  0x00000001 , 0x00000229 
+ 00013085  0x000026cd sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00013086  0x000026ce branch  0x000033df , 0x00000002 
+ 00013087  0x000026cf jam  0x00000000 , 0x00000229 
+ 00013088  0x000026d0 fetch  0x00000002 , 0x0000420a 
+ 00013089  0x000026d1 set1  0x00000009 , 0x0000003f 
+ 00013090  0x000026d2 store  0x00000002 , 0x0000420a 
+ 00013091  0x000026d3 branch  0x000033e9 
+ 00013092  0x000026d6 fetch  0x00000002 , 0x000041f5 
+ 00013093  0x000026d7 branch  0x00007f9c 
+ 00013094  0x000026da fetch  0x00000002 , 0x000041e9 
+ 00013095  0x000026db branch  0x00007f9c 
+ 00013096  0x000026de fetch  0x00000002 , 0x000041ed 
+ 00013097  0x000026df branch  0x00007f9c 
+ 00013098  0x000026e2 fetch  0x00000002 , 0x0000420a 
+ 00013099  0x000026e3 set1  0x00000001 , 0x0000003f 
+ 00013100  0x000026e4 store  0x00000002 , 0x0000420a 
+ 00013101  0x000026e5 branch  0x00003412 
+ 00013102  0x000026e8 fetch  0x00000002 , 0x00004682 
+ 00013103  0x000026e9 set1  0x00000007 , 0x0000003f 
+ 00013104  0x000026ea store  0x00000002 , 0x00004682 
+ 00013105  0x000026eb fetch  0x00000002 , 0x0000420a 
+ 00013106  0x000026ec set1  0x00000002 , 0x0000003f 
+ 00013107  0x000026ed store  0x00000002 , 0x0000420a 
+ 00013108  0x000026ee rtn 
+ 00013109  0x000026f1 fetch  0x00000002 , 0x00004682 
+ 00013110  0x000026f2 set1  0x00000001 , 0x0000003f 
+ 00013111  0x000026f3 store  0x00000002 , 0x00004682 
+ 00013112  0x000026f4 fetch  0x00000002 , 0x0000420a 
+ 00013113  0x000026f5 set1  0x00000004 , 0x0000003f 
+ 00013114  0x000026f6 store  0x00000002 , 0x0000420a 
+ 00013115  0x000026f7 rtn 
+ 00013116  0x000026fa fetch  0x00000002 , 0x00004682 
+ 00013117  0x000026fb set1  0x00000003 , 0x0000003f 
+ 00013118  0x000026fc store  0x00000002 , 0x00004682 
+ 00013119  0x000026fd rtn 
+ 00013120  0x00002700 fetch  0x00000002 , 0x00004682 
+ 00013121  0x00002701 set1  0x00000005 , 0x0000003f 
+ 00013122  0x00002702 store  0x00000002 , 0x00004682 
+ 00013123  0x00002703 fetch  0x00000002 , 0x0000420a 
+ 00013124  0x00002704 set1  0x00000003 , 0x0000003f 
+ 00013125  0x00002705 store  0x00000002 , 0x0000420a 
+ 00013126  0x00002706 rtn 
+ 00013127  0x00002709 fetch  0x00000002 , 0x00004682 
+ 00013128  0x0000270a set0  0x00000005 , 0x0000003f 
+ 00013129  0x0000270b store  0x00000002 , 0x00004682 
+ 00013130  0x0000270c rtn 
+ 00013131  0x0000270f fetch  0x00000002 , 0x00004682 
+ 00013132  0x00002710 set1  0x00000009 , 0x0000003f 
+ 00013133  0x00002711 store  0x00000002 , 0x00004682 
+ 00013134  0x00002712 rtn 
+ 00013135  0x00002715 fetch  0x00000002 , 0x00004682 
+ 00013136  0x00002716 set0  0x00000009 , 0x0000003f 
+ 00013137  0x00002717 store  0x00000002 , 0x00004682 
+ 00013138  0x00002718 branch  0x00003418 
+ 00013139  0x0000271b fetch  0x00000002 , 0x00004682 
+ 00013140  0x0000271c set1  0x00000002 , 0x0000003f 
+ 00013141  0x0000271d store  0x00000002 , 0x00004682 
+ 00013142  0x0000271e rtn 
+ 00013143  0x00002721 fetch  0x00000002 , 0x0000420a 
+ 00013144  0x00002722 set1  0x00000000 , 0x0000003f 
+ 00013145  0x00002723 store  0x00000002 , 0x0000420a 
+ 00013146  0x00002724 rtn 
+ 00013147  0x00002727 fetch  0x00000002 , 0x0000420a 
+ 00013148  0x00002728 set1  0x00000008 , 0x0000003f 
+ 00013149  0x00002729 store  0x00000002 , 0x0000420a 
+ 00013150  0x0000272a branch  0x000033e9 
+ 00013151  0x0000272e bpatch  0x000000c7 , 0x00004018 
+ 00013152  0x0000272f store  0x00000001 , 0x0000022a 
+ 00013153  0x00002731 fetch  0x00000001 , 0x0000022a 
+ 00013154  0x00002732 rtn  0x00000034 
+ 00013155  0x00002733 increase  0xffffffff , 0x0000003f 
+ 00013156  0x00002734 store  0x00000001 , 0x0000022a 
+ 00013157  0x00002735 call  0x00007cdd 
+ 00013158  0x00002736 call  0x000033d6 
+ 00013159  0x00002737 call  0x00003387 
+ 00013160  0x00002738 call  0x0000338d 
+ 00013161  0x00002739 call  0x0000651b 
+ 00013162  0x0000273a fetch  0x00000002 , 0x000041fd 
+ 00013163  0x0000273b call  0x00007f9c 
+ 00013164  0x0000273c branch  0x00003361 
+ 00013165  0x00002742 ifetch  0x00000001 , 0x00000013 
+ 00013166  0x00002743 rtn  0x00000034 
+ 00013167  0x00002744 pincrease  0xffffffff 
+ 00013168  0x00002745 istore  0x00000001 , 0x00000013 
+ 00013169  0x00002746 nrtn  0x00000034 
+ 00013170  0x00002747 copy  0x00000012 , 0x0000003f 
+ 00013171  0x00002748 branch  0x00007f9c 
+ 00013172  0x0000274d ifetch  0x00000002 , 0x00000013 
+ 00013173  0x0000274e rtn  0x00000034 
+ 00013174  0x0000274f pincrease  0xffffffff 
+ 00013175  0x00002750 istore  0x00000002 , 0x00000013 
+ 00013176  0x00002751 nrtn  0x00000034 
+ 00013177  0x00002752 copy  0x00000012 , 0x0000003f 
+ 00013178  0x00002753 branch  0x00007f9c 
+ 00013179  0x00002756 fetcht  0x00000002 , 0x0000423f 
+ 00013180  0x00002757 add  0x00000002 , 0x00000001 , 0x00000013 
+ 00013181  0x00002758 arg  0x0000337f , 0x00000012 
+ 00013182  0x00002759 branch  0x0000336d 
+ 00013183  0x0000275c call  0x0000342d 
+ 00013184  0x0000275d beq  0x00000001 , 0x00003382 
+ 00013185  0x0000275f branch  0x0000340a 
+ 00013186  0x00002761 setarg  0x00000002 
+ 00013187  0x00002762 istore  0x00000001 , 0x00000013 
+ 00013188  0x00002763 add  0x00000002 , 0x00000008 , 0x00000012 
+ 00013189  0x00002765 ifetch  0x00000002 , 0x00000012 
+ 00013190  0x00002766 branch  0x00007f9c 
+ 00013191  0x00002769 arg  0x00004205 , 0x00000013 
+ 00013192  0x0000276a arg  0x0000338a , 0x00000012 
+ 00013193  0x0000276b branch  0x0000336d 
+ 00013194  0x0000276e call  0x00002252 
+ 00013195  0x0000276f branch  0x0000340e , 0x00000005 
+ 00013196  0x00002770 rtn 
+ 00013197  0x00002774 arg  0x0000467e , 0x00000013 
+ 00013198  0x00002775 arg  0x00003390 , 0x00000012 
+ 00013199  0x00002776 branch  0x00003374 
+ 00013200  0x00002779 call  0x000033f0 
+ 00013201  0x0000277a call  0x00003408 
+ 00013202  0x0000277b fetch  0x00000002 , 0x000041f7 
+ 00013203  0x0000277c branch  0x00007f9c 
+ 00013204  0x00002780 call  0x000033ac 
+ 00013205  0x00002782 fetch  0x00000002 , 0x00004682 
+ 00013206  0x00002783 set0  0x00000007 , 0x0000003f 
+ 00013207  0x00002784 store  0x00000002 , 0x00004682 
+ 00013208  0x00002785 rtn 
+ 00013209  0x00002788 jam  0x00000000 , 0x00004205 
+ 00013210  0x00002789 fetch  0x00000002 , 0x00004682 
+ 00013211  0x0000278a bbit1  0x00000007 , 0x0000339e 
+ 00013212  0x0000278b isolate0  0x00000001 , 0x0000003f 
+ 00013213  0x0000278c call  0x000032fd , 0x00000001 
+ 00013214  0x0000278e bpatch  0x000000c8 , 0x00004019 
+ 00013215  0x0000278f fetch  0x00000002 , 0x00004682 
+ 00013216  0x00002790 set0  0x00000000 , 0x0000003f 
+ 00013217  0x00002791 set0  0x00000001 , 0x0000003f 
+ 00013218  0x00002792 set0  0x00000002 , 0x0000003f 
+ 00013219  0x00002793 set0  0x00000003 , 0x0000003f 
+ 00013220  0x00002794 set0  0x00000007 , 0x0000003f 
+ 00013221  0x00002795 store  0x00000002 , 0x00004682 
+ 00013222  0x00002796 branch  0x00003418 
+ 00013223  0x00002799 call  0x000033a9 
+ 00013224  0x0000279a branch  0x0000340a 
+ 00013225  0x0000279e setarg  0x00000000 
+ 00013226  0x0000279f store  0x00000002 , 0x00004208 
+ 00013227  0x000027a0 rtn 
+ 00013228  0x000027a2 setarg  0x00000000 
+ 00013229  0x000027a3 store  0x00000002 , 0x0000420a 
+ 00013230  0x000027a4 rtn 
+ 00013231  0x000027a7 fetch  0x00000002 , 0x0000420a 
+ 00013232  0x000027a8 store  0x00000002 , 0x00004208 
+ 00013233  0x000027a9 setarg  0x00000000 
+ 00013234  0x000027aa store  0x00000002 , 0x0000420a 
+ 00013235  0x000027ab rtn 
+ 00013236  0x000027ae fetch  0x00000002 , 0x0000420a 
+ 00013237  0x000027af set1  0x00000007 , 0x0000003f 
+ 00013238  0x000027b0 store  0x00000002 , 0x00004208 
+ 00013239  0x000027b1 setarg  0x00000000 
+ 00013240  0x000027b2 store  0x00000002 , 0x0000420a 
+ 00013241  0x000027b3 rtn 
+ 00013242  0x000027bc fetch  0x00000001 , 0x00004682 
+ 00013243  0x000027bd isolate1  0x00000005 , 0x0000003f 
+ 00013244  0x000027be rtn 
+ 00013245  0x000027c7 setarg  0x0000aa55 
+ 00013246  0x000027c9 store  0x00000002 , 0x00000aaa 
+ 00013247  0x000027ca bpatch  0x000000c9 , 0x00004019 
+ 00013248  0x000027cb arg  0x00000002 , 0x00000002 
+ 00013249  0x000027cc arg  0x00000aaa , 0x00000011 
+ 00013250  0x000027cd arg  0x000000c3 , 0x00000012 
+ 00013251  0x000027ce branch  0x00006606 
+ 00013252  0x000027d2 bpatch  0x000000ca , 0x00004019 
+ 00013253  0x000027d3 arg  0x00000002 , 0x00000002 
+ 00013254  0x000027d4 arg  0x00000a9a , 0x00000011 
+ 00013255  0x000027d5 arg  0x000000c3 , 0x00000012 
+ 00013256  0x000027d6 call  0x000065df 
+ 00013257  0x000027d7 fetch  0x00000002 , 0x00000a9a 
+ 00013258  0x000027d8 arg  0x0000aa55 , 0x00000002 
+ 00013259  0x000027d9 isub  0x00000002 , 0x0000003e 
+ 00013260  0x000027da rtn 
+ 00013261  0x000027de fetch  0x00000001 , 0x0000455a 
+ 00013262  0x000027df store  0x00000001 , 0x00004205 
+ 00013263  0x000027e0 rtn 
+ 00013264  0x000027e3 arg  0x00000009 , 0x00000007 
+ 00013265  0x000027e4 branch  0x00002c32 
+ 00013266  0x000027e7 arg  0x00000009 , 0x00000007 
+ 00013267  0x000027e8 branch  0x00002c36 
+ 00013268  0x000027eb jam  0x00000005 , 0x00004206 
+ 00013269  0x000027ec branch  0x000033d0 
+ 00013270  0x000027ef arg  0x00004206 , 0x00000013 
+ 00013271  0x000027f0 arg  0x000033d2 , 0x00000012 
+ 00013272  0x000027f1 branch  0x0000336d 
+ 00013273  0x000027f4 jam  0x00000001 , 0x00004363 
+ 00013274  0x000027f5 rtn 
+ 00013275  0x000027f8 jam  0x00000000 , 0x00004363 
+ 00013276  0x000027f9 rtn 
+ 00013277  0x000027fc jam  0x0000000a , 0x00000a99 
+ 00013278  0x000027fd branch  0x00007d8f 
+ 00013279  0x00002800 jam  0x0000001d , 0x00000a99 
+ 00013280  0x00002801 branch  0x00007d8f 
+ 00013281  0x00002804 bpatch  0x000000cb , 0x00004019 
+ 00013282  0x00002805 fetch  0x00000001 , 0x00004207 
+ 00013283  0x00002806 store  0x00000001 , 0x0000016d 
+ 00013284  0x00002807 jam  0x00000001 , 0x00000228 
+ 00013285  0x00002808 jam  0x00000003 , 0x00000a99 
+ 00013286  0x00002809 branch  0x00007d8f 
+ 00013287  0x0000280c jam  0x0000001e , 0x00000a99 
+ 00013288  0x0000280d branch  0x00007d8f 
+ 00013289  0x00002810 jam  0x00000004 , 0x00000a99 
+ 00013290  0x00002811 branch  0x00007d8f 
+ 00013291  0x00002814 fetch  0x00000002 , 0x00004687 
+ 00013292  0x00002815 store  0x00000002 , 0x0000467e 
+ 00013293  0x00002817 call  0x00003404 
+ 00013294  0x00002819 jam  0x00000001 , 0x00000a99 
+ 00013295  0x0000281a branch  0x00007d8f 
+ 00013296  0x0000281d setarg  0x00000000 
+ 00013297  0x0000281e store  0x00000002 , 0x0000467e 
+ 00013298  0x0000281f jam  0x00000002 , 0x00000a99 
+ 00013299  0x00002820 branch  0x00007d8f 
+ 00013300  0x00002823 jam  0x0000000f , 0x00000a99 
+ 00013301  0x00002824 branch  0x00007d8f 
+ 00013302  0x00002827 jam  0x00000010 , 0x00000a99 
+ 00013303  0x00002828 branch  0x00007d8f 
+ 00013304  0x0000282b jam  0x0000000e , 0x00000a99 
+ 00013305  0x0000282c branch  0x00007d8f 
+ 00013306  0x0000282f jam  0x0000000d , 0x00000a99 
+ 00013307  0x00002830 branch  0x00007d8f 
+ 00013308  0x00002833 jam  0x00000017 , 0x00000a99 
+ 00013309  0x00002834 branch  0x00007d8f 
+ 00013310  0x00002837 jam  0x00000018 , 0x00000a99 
+ 00013311  0x00002838 branch  0x00007d8f 
+ 00013312  0x0000283b jam  0x00000016 , 0x00000a99 
+ 00013313  0x0000283c branch  0x00007d8f 
+ 00013314  0x0000283f jam  0x00000011 , 0x00000a99 
+ 00013315  0x00002840 branch  0x00007d8f 
+ 00013316  0x00002843 jam  0x00000015 , 0x00000a99 
+ 00013317  0x00002844 branch  0x00007d8f 
+ 00013318  0x00002847 jam  0x00000014 , 0x00000a99 
+ 00013319  0x00002848 branch  0x00007d8f 
+ 00013320  0x0000284c jam  0x00000013 , 0x00000a99 
+ 00013321  0x0000284d branch  0x00007d8f 
+ 00013322  0x00002850 jam  0x00000019 , 0x00000a99 
+ 00013323  0x00002851 branch  0x00007d8f 
+ 00013324  0x00002854 jam  0x00000006 , 0x00000a99 
+ 00013325  0x00002855 branch  0x00007d8f 
+ 00013326  0x00002858 jam  0x00000005 , 0x00000a99 
+ 00013327  0x00002859 branch  0x00007d8f 
+ 00013328  0x0000285c jam  0x0000001f , 0x00000a99 
+ 00013329  0x0000285d branch  0x00007d8f 
+ 00013330  0x00002860 jam  0x00000020 , 0x00000a99 
+ 00013331  0x00002861 branch  0x00007d8f 
+ 00013332  0x00002864 jam  0x00000025 , 0x00000a99 
+ 00013333  0x00002865 branch  0x00007d8f 
+ 00013334  0x00002868 set1  0x0000000d , 0x00000000 
+ 00013335  0x00002869 rtn 
+ 00013336  0x0000286c set0  0x0000000d , 0x00000000 
+ 00013337  0x0000286d rtn 
+ 00013338  0x00002882 call  0x0000342d 
+ 00013339  0x00002883 beq  0x00000002 , 0x00003424 
+ 00013340  0x00002885 setarg  0x00000001 
+ 00013341  0x00002886 istore  0x00000001 , 0x00000013 
+ 00013342  0x00002887 add  0x00000002 , 0x00000003 , 0x00000011 
+ 00013343  0x00002888 add  0x00000002 , 0x00000006 , 0x00000012 
+ 00013344  0x0000288a ifetcht  0x00000001 , 0x00000011 
+ 00013345  0x0000288b increase  0x00000001 , 0x00000013 
+ 00013346  0x0000288c istoret  0x00000001 , 0x00000013 
+ 00013347  0x0000288d branch  0x00003385 
+ 00013348  0x00002890 setarg  0x00000000 
+ 00013349  0x00002891 istore  0x00000001 , 0x00000013 
+ 00013350  0x00002892 fetch  0x00000002 , 0x00004682 
+ 00013351  0x00002893 bbit0  0x00000009 , 0x00003429 
+ 00013352  0x00002894 call  0x00003402 
+ 00013353  0x00002896 fetcht  0x00000002 , 0x0000423f 
+ 00013354  0x00002897 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00013355  0x00002898 add  0x00000002 , 0x00000004 , 0x00000012 
+ 00013356  0x00002899 branch  0x00003420 
+ 00013357  0x0000289c fetcht  0x00000002 , 0x0000423f 
+ 00013358  0x0000289d add  0x00000002 , 0x00000000 , 0x00000013 
+ 00013359  0x0000289e ifetch  0x00000001 , 0x00000013 
+ 00013360  0x0000289f rtn 
+ 00013361  0x000028a2 call  0x0000342d 
+ 00013362  0x000028a3 bne  0x00000000 , 0x00003434 
+ 00013363  0x000028a4 branch  0x0000340a 
+ 00013364  0x000028a6 add  0x00000002 , 0x0000000a , 0x00000012 
+ 00013365  0x000028a7 branch  0x00003385 
+ 00013366  0x000028aa rtn  0x0000002b 
+ 00013367  0x000028ab jam  0x00000000 , 0x00008081 
+ 00013368  0x000028ac setarg  0x00003463 
+ 00013369  0x000028ad store  0x00000002 , 0x000041eb 
+ 00013370  0x000028ae setarg  0x0000696c 
+ 00013371  0x000028af store  0x00000002 , 0x000041ed 
+ 00013372  0x000028b0 setarg  0x000034f5 
+ 00013373  0x000028b1 store  0x00000002 , 0x000041f3 
+ 00013374  0x000028b2 setarg  0x000034f4 
+ 00013375  0x000028b3 store  0x00000002 , 0x000041ef 
+ 00013376  0x000028b4 setarg  0x0000347e 
+ 00013377  0x000028b5 store  0x00000002 , 0x000041f5 
+ 00013378  0x000028b6 setarg  0x000034b2 
+ 00013379  0x000028b7 store  0x00000002 , 0x000041fd 
+ 00013380  0x000028b8 setarg  0x00003465 
+ 00013381  0x000028b9 store  0x00000002 , 0x000041fb 
+ 00013382  0x000028ba setarg  0x00003470 
+ 00013383  0x000028bb store  0x00000002 , 0x000041e9 
+ 00013384  0x000028bc setarg  0x00003501 
+ 00013385  0x000028bd store  0x00000002 , 0x000041f9 
+ 00013386  0x000028be bpatch  0x000000cc , 0x00004019 
+ 00013387  0x000028bf call  0x0000359b 
+ 00013388  0x000028c0 call  0x00006948 
+ 00013389  0x000028c1 call  0x000035ad 
+ 00013390  0x000028c2 call  0x00007d08 
+ 00013391  0x000028c3 call  0x00007cd3 
+ 00013392  0x000028c4 setarg  0x0000350b 
+ 00013393  0x000028c5 store  0x00000002 , 0x00004766 
+ 00013394  0x000028c6 setarg  0x000034fc 
+ 00013395  0x000028c7 store  0x00000002 , 0x0000475d 
+ 00013396  0x000028c8 setarg  0x000034f8 
+ 00013397  0x000028c9 store  0x00000002 , 0x0000475f 
+ 00013398  0x000028ca setarg  0x0000346c 
+ 00013399  0x000028cb store  0x00000002 , 0x00004761 
+ 00013400  0x000028cc setarg  0x000035a2 
+ 00013401  0x000028cd store  0x00000002 , 0x000046a9 
+ 00013402  0x000028ce setarg  0x000035a4 
+ 00013403  0x000028cf store  0x00000002 , 0x000046ab 
+ 00013404  0x000028d0 setarg  0x000035a9 
+ 00013405  0x000028d1 store  0x00000002 , 0x000046b4 
+ 00013406  0x000028d2 setarg  0x000035a6 
+ 00013407  0x000028d3 store  0x00000002 , 0x000046b6 
+ 00013408  0x000028d4 fetch  0x00000002 , 0x00004682 
+ 00013409  0x000028d5 rtnbit1  0x0000000c 
+ 00013410  0x000028d6 branch  0x0000340a 
+ 00013411  0x000028d9 call  0x00003586 
+ 00013412  0x000028da branch  0x0000340a 
+ 00013413  0x000028dd call  0x00005892 
+ 00013414  0x000028de nrtn  0x00000034 
+ 00013415  0x000028df arg  0x00000b06 , 0x00000011 
+ 00013416  0x000028e0 call  0x00007e54 
+ 00013417  0x000028e1 nrtn  0x00000028 
+ 00013418  0x000028e2 arg  0x00000b06 , 0x00000006 
+ 00013419  0x000028e3 branch  0x00004746 
+ 00013420  0x000028e6 fetch  0x00000002 , 0x00004797 
+ 00013421  0x000028e7 store  0x00000002 , 0x00004791 
+ 00013422  0x000028e8 jam  0x00000001 , 0x00004753 
+ 00013423  0x000028e9 branch  0x0000358f 
+ 00013424  0x000028ec fetch  0x00000001 , 0x0000479d 
+ 00013425  0x000028ed beq  0x00000001 , 0x00003479 
+ 00013426  0x000028ee fetch  0x00000002 , 0x00004682 
+ 00013427  0x000028ef bbit0  0x00000009 , 0x00003479 
+ 00013428  0x000028f0 fetch  0x00000001 , 0x0000479e 
+ 00013429  0x000028f1 beq  0x00000001 , 0x000033d0 
+ 00013430  0x000028f2 fetch  0x00000001 , 0x00004700 
+ 00013431  0x000028f3 nbranch  0x000033d0 , 0x00000034 
+ 00013432  0x000028f4 branch  0x000033d2 
+ 00013433  0x000028f7 fetch  0x00000001 , 0x0000479b 
+ 00013434  0x000028f8 fetcht  0x00000001 , 0x0000479c 
+ 00013435  0x000028f9 ior  0x00000002 , 0x0000003f 
+ 00013436  0x000028fa beq  0x00000001 , 0x000033d0 
+ 00013437  0x000028fb branch  0x000033d2 
+ 00013438  0x000028fe copy  0x00000013 , 0x0000003f 
+ 00013439  0x000028ff beq  0x0000002d , 0x00003431 
+ 00013440  0x00002900 beq  0x00000010 , 0x0000341a 
+ 00013441  0x00002901 beq  0x00000014 , 0x000034df 
+ 00013442  0x00002902 beq  0x00000015 , 0x000034e8 
+ 00013443  0x00002903 beq  0x00000040 , 0x00003485 
+ 00013444  0x00002904 rtn 
+ 00013445  0x00002906 fetch  0x00000002 , 0x00004509 
+ 00013446  0x00002907 beq  0x00000001 , 0x0000348c 
+ 00013447  0x00002909 fetch  0x00000002 , 0x000043d8 
+ 00013448  0x0000290a branch  0x000034a2 , 0x00000034 
+ 00013449  0x0000290c jam  0x00000002 , 0x0000478a 
+ 00013450  0x0000290d jam  0x0000003c , 0x0000478f 
+ 00013451  0x0000290e rtn 
+ 00013452  0x00002911 fetch  0x00000002 , 0x0000449a 
+ 00013453  0x00002912 branch  0x000034a0 , 0x00000034 
+ 00013454  0x00002914 jam  0x00000001 , 0x0000478a 
+ 00013455  0x00002915 fetcht  0x00000002 , 0x000047b4 
+ 00013456  0x00002916 fetch  0x00000002 , 0x00004496 
+ 00013457  0x00002917 iadd  0x00000002 , 0x0000003f 
+ 00013458  0x00002918 store  0x00000002 , 0x00004496 
+ 00013459  0x00002919 copy  0x0000003f , 0x00000011 
+ 00013460  0x0000291a fetch  0x00000002 , 0x00004498 
+ 00013461  0x0000291b iadd  0x00000002 , 0x0000003f 
+ 00013462  0x0000291c store  0x00000002 , 0x00004498 
+ 00013463  0x0000291d iadd  0x00000011 , 0x0000003f 
+ 00013464  0x0000291e rshift  0x0000003f , 0x00000002 
+ 00013465  0x0000291f fetch  0x00000002 , 0x000047c0 
+ 00013466  0x00002920 idiv  0x00000002 
+ 00013467  0x00002921 call  0x00007f86 
+ 00013468  0x00002922 quotient  0x0000003f 
+ 00013469  0x00002923 store  0x00000002 , 0x0000449a 
+ 00013470  0x00002924 jam  0x00000001 , 0x00004790 
+ 00013471  0x00002925 rtn 
+ 00013472  0x00002927 jam  0x00000003 , 0x0000478a 
+ 00013473  0x00002928 rtn 
+ 00013474  0x0000292b jam  0x00000000 , 0x00004172 
+ 00013475  0x0000292c jam  0x00000000 , 0x00004790 
+ 00013476  0x0000292d fetch  0x00000002 , 0x000043d6 
+ 00013477  0x0000292e fetcht  0x00000002 , 0x000047be 
+ 00013478  0x0000292f isub  0x00000002 , 0x0000003e 
+ 00013479  0x00002930 setflag  0x00000002 , 0x00000000 , 0x00000011 
+ 00013480  0x00002931 fetch  0x00000002 , 0x000047c0 
+ 00013481  0x00002932 fetcht  0x00000002 , 0x000043d6 
+ 00013482  0x00002933 isub  0x00000002 , 0x0000003f 
+ 00013483  0x00002934 setflag  0x00000002 , 0x00000001 , 0x00000011 
+ 00013484  0x00002935 compare  0x00000003 , 0x00000011 , 0x00000003 
+ 00013485  0x00002936 rtn  0x00000001 
+ 00013486  0x00002937 fetch  0x00000008 , 0x000047be 
+ 00013487  0x00002938 store  0x00000008 , 0x00004496 
+ 00013488  0x00002939 jam  0x00000001 , 0x00004790 
+ 00013489  0x0000293a rtn 
+ 00013490  0x0000293f call  0x0000337b 
+ 00013491  0x00002940 call  0x000034b9 
+ 00013492  0x00002941 call  0x000034be 
+ 00013493  0x00002942 call  0x000034d5 
+ 00013494  0x00002943 call  0x000034ca 
+ 00013495  0x00002944 call  0x000034c4 
+ 00013496  0x00002945 branch  0x000034d9 
+ 00013497  0x00002949 arg  0x00004799 , 0x00000013 
+ 00013498  0x0000294a arg  0x000034bc , 0x00000012 
+ 00013499  0x0000294b branch  0x0000336d 
+ 00013500  0x0000294d jam  0x00000000 , 0x0000479a 
+ 00013501  0x0000294e rtn 
+ 00013502  0x00002950 arg  0x00004793 , 0x00000013 
+ 00013503  0x00002951 arg  0x000034c1 , 0x00000012 
+ 00013504  0x00002952 branch  0x00003374 
+ 00013505  0x00002954 arg  0x000046bf , 0x00000013 
+ 00013506  0x00002955 arg  0x0000469e , 0x00000012 
+ 00013507  0x00002956 branch  0x00003591 
+ 00013508  0x0000295a arg  0x0000478f , 0x00000013 
+ 00013509  0x0000295b arg  0x000034c7 , 0x00000012 
+ 00013510  0x0000295c branch  0x0000336d 
+ 00013511  0x0000295f fetch  0x00000002 , 0x0000449a 
+ 00013512  0x00002960 store  0x00000001 , 0x00004172 
+ 00013513  0x00002961 rtn 
+ 00013514  0x00002963 arg  0x00004790 , 0x00000013 
+ 00013515  0x00002964 arg  0x000034cd , 0x00000012 
+ 00013516  0x00002965 branch  0x0000336d 
+ 00013517  0x00002967 fetch  0x00000001 , 0x0000043f 
+ 00013518  0x00002968 compare  0x00000000 , 0x0000003f , 0x00000060 
+ 00013519  0x00002969 nbranch  0x000034d3 , 0x00000001 
+ 00013520  0x0000296a jam  0x00000001 , 0x0000478a 
+ 00013521  0x0000296b call  0x00003416 
+ 00013522  0x0000296c branch  0x00005abf 
+ 00013523  0x0000296e jam  0x00000001 , 0x00004790 
+ 00013524  0x0000296f rtn 
+ 00013525  0x00002972 arg  0x00004791 , 0x00000013 
+ 00013526  0x00002973 arg  0x000034d8 , 0x00000012 
+ 00013527  0x00002974 branch  0x00003374 
+ 00013528  0x00002978 branch  0x0000341a 
+ 00013529  0x0000297d arg  0x0000478d , 0x00000013 
+ 00013530  0x0000297e arg  0x000034dc , 0x00000012 
+ 00013531  0x0000297f branch  0x00003374 
+ 00013532  0x00002981 fetch  0x00000002 , 0x000047a7 
+ 00013533  0x00002982 store  0x00000002 , 0x0000478d 
+ 00013534  0x00002983 branch  0x000035af 
+ 00013535  0x00002987 fetch  0x00000002 , 0x000047a7 
+ 00013536  0x00002988 store  0x00000002 , 0x0000478d 
+ 00013537  0x00002989 setarg  0x00000000 
+ 00013538  0x0000298a store  0x00000002 , 0x00004793 
+ 00013539  0x0000298b store  0x00000002 , 0x00004791 
+ 00013540  0x0000298c call  0x0000355c 
+ 00013541  0x0000298d call  0x00003586 
+ 00013542  0x0000298e jam  0x00000000 , 0x00004172 
+ 00013543  0x0000298f branch  0x000033f8 
+ 00013544  0x00002995 setarg  0x00000000 
+ 00013545  0x00002996 store  0x00000004 , 0x0000478d 
+ 00013546  0x00002997 store  0x00000003 , 0x0000478a 
+ 00013547  0x00002998 store  0x00000002 , 0x00004509 
+ 00013548  0x0000299a jam  0x00000001 , 0x000047a0 
+ 00013549  0x0000299b fetch  0x00000002 , 0x00004797 
+ 00013550  0x0000299c store  0x00000002 , 0x00004791 
+ 00013551  0x0000299d call  0x00007e38 
+ 00013552  0x0000299e fetch  0x00000001 , 0x00004759 
+ 00013553  0x0000299f rtneq  0x00000000 
+ 00013554  0x000029a0 call  0x0000358f 
+ 00013555  0x000029a1 branch  0x0000356e 
+ 00013556  0x000029a6 branch  0x00003508 
+ 00013557  0x000029aa fetch  0x00000001 , 0x00004759 
+ 00013558  0x000029ab rtnne  0x00000002 
+ 00013559  0x000029ac branch  0x00003508 
+ 00013560  0x000029b2 arg  0x000046cd , 0x00000013 
+ 00013561  0x000029b3 call  0x00003582 
+ 00013562  0x000029b4 arg  0x000046c6 , 0x00000013 
+ 00013563  0x000029b6 branch  0x00003584 
+ 00013564  0x000029b9 jam  0x00000000 , 0x0000436e 
+ 00013565  0x000029ba arg  0x000046db , 0x00000013 
+ 00013566  0x000029bb call  0x00003582 
+ 00013567  0x000029bc arg  0x000046d4 , 0x00000013 
+ 00013568  0x000029bd branch  0x000034fb 
+ 00013569  0x000029c0 fetch  0x00000001 , 0x00000477 
+ 00013570  0x000029c1 beq  0x00000012 , 0x00003504 
+ 00013571  0x000029c2 rtn 
+ 00013572  0x000029c4 fetch  0x00000002 , 0x00000478 
+ 00013573  0x000029c6 beq  0x0000000d , 0x00003536 
+ 00013574  0x000029c7 beq  0x0000000b , 0x00003571 
+ 00013575  0x000029c8 rtn 
+ 00013576  0x000029ce fetch  0x00000001 , 0x00004753 
+ 00013577  0x000029cf rtn  0x00000034 
+ 00013578  0x000029d0 branch  0x00006978 
+ 00013579  0x000029d5 copy  0x00000011 , 0x0000003f 
+ 00013580  0x000029d6 branch  0x00003510 , 0x00000034 
+ 00013581  0x000029d8 copy  0x00000007 , 0x0000003f 
+ 00013582  0x000029d9 beq  0x00000000 , 0x00003513 
+ 00013583  0x000029da rtn 
+ 00013584  0x000029dc copy  0x00000007 , 0x0000003f 
+ 00013585  0x000029dd beq  0x00000000 , 0x0000351b 
+ 00013586  0x000029de rtn 
+ 00013587  0x000029e1 jam  0x00000001 , 0x0000479d 
+ 00013588  0x000029e2 arg  0x000046f7 , 0x00000013 
+ 00013589  0x000029e3 call  0x00003582 
+ 00013590  0x000029e4 arg  0x000046f0 , 0x00000013 
+ 00013591  0x000029e5 call  0x00003584 
+ 00013592  0x000029e6 fetch  0x00000002 , 0x00004682 
+ 00013593  0x000029e7 bbit0  0x00000009 , 0x00003532 
+ 00013594  0x000029e8 branch  0x00003521 
+ 00013595  0x000029eb jam  0x00000000 , 0x0000479d 
+ 00013596  0x000029ec branch  0x0000351d 
+ 00013597  0x000029f1 fetch  0x00000001 , 0x0000479a 
+ 00013598  0x000029f2 rtnne  0x00000001 
+ 00013599  0x000029f3 jam  0x00000005 , 0x00004799 
+ 00013600  0x000029f4 rtn 
+ 00013601  0x000029f7 fetch  0x00000001 , 0x0000479a 
+ 00013602  0x000029f8 pincrease  0x00000001 
+ 00013603  0x000029f9 store  0x00000001 , 0x0000479a 
+ 00013604  0x000029fa beq  0x00000001 , 0x00003527 
+ 00013605  0x000029fb beq  0x00000002 , 0x0000352b 
+ 00013606  0x000029fc rtn 
+ 00013607  0x000029fe call  0x0000355c 
+ 00013608  0x000029ff jam  0x00000001 , 0x00004771 
+ 00013609  0x00002a00 arg  0x0000476c , 0x00000013 
+ 00013610  0x00002a01 branch  0x00003544 
+ 00013611  0x00002a03 jam  0x00000000 , 0x0000479a 
+ 00013612  0x00002a04 jam  0x00000002 , 0x00004771 
+ 00013613  0x00002a05 arg  0x0000476c , 0x00000013 
+ 00013614  0x00002a06 call  0x00003544 
+ 00013615  0x00002a07 fetch  0x00000001 , 0x0000479e 
+ 00013616  0x00002a08 beq  0x00000001 , 0x00003551 
+ 00013617  0x00002a09 rtn 
+ 00013618  0x00002a0c fetch  0x00000002 , 0x00004797 
+ 00013619  0x00002a0d store  0x00000002 , 0x00004791 
+ 00013620  0x00002a0e call  0x0000355c 
+ 00013621  0x00002a0f branch  0x0000358f 
+ 00013622  0x00002a13 bpatch  0x000000cd , 0x00004019 
+ 00013623  0x00002a14 call  0x000036fc 
+ 00013624  0x00002a15 ifetch  0x00000001 , 0x00000011 
+ 00013625  0x00002a16 beq  0x00000003 , 0x0000353c 
+ 00013626  0x00002a17 beq  0x00000007 , 0x00003540 
+ 00013627  0x00002a18 rtn 
+ 00013628  0x00002a1b fetch  0x00000001 , 0x0000479e 
+ 00013629  0x00002a1c beq  0x00000000 , 0x00003551 
+ 00013630  0x00002a1d beq  0x00000001 , 0x0000355c 
+ 00013631  0x00002a1e rtn 
+ 00013632  0x00002a21 ifetch  0x00000001 , 0x00000012 
+ 00013633  0x00002a22 beq  0x00000001 , 0x00003564 
+ 00013634  0x00002a23 beq  0x00000000 , 0x00003569 
+ 00013635  0x00002a24 rtn 
+ 00013636  0x00002a2c bpatch  0x000000ce , 0x00004019 
+ 00013637  0x00002a2d fetch  0x00000001 , 0x0000478b 
+ 00013638  0x00002a2e isolate1  0x00000000 , 0x0000003f 
+ 00013639  0x00002a2f nrtn  0x00000001 
+ 00013640  0x00002a30 add  0x00000013 , 0x00000006 , 0x00000006 
+ 00013641  0x00002a31 ifetch  0x00000002 , 0x00000006 
+ 00013642  0x00002a32 byteswap  0x0000003f , 0x0000003f 
+ 00013643  0x00002a33 add  0x0000003f , 0x00000005 , 0x00000039 
+ 00013644  0x00002a34 add  0x00000013 , 0x00000003 , 0x00000006 
+ 00013645  0x00002a35 call  0x000036f0 
+ 00013646  0x00002a36 istore  0x00000001 , 0x00000006 
+ 00013647  0x00002a37 copy  0x00000013 , 0x00000011 
+ 00013648  0x00002a38 branch  0x00007e3d 
+ 00013649  0x00002a3f fetch  0x00000001 , 0x00004759 
+ 00013650  0x00002a40 rtn  0x00000034 
+ 00013651  0x00002a41 jam  0x00000001 , 0x0000479e 
+ 00013652  0x00002a42 arg  0x000046e9 , 0x00000013 
+ 00013653  0x00002a43 call  0x00003582 
+ 00013654  0x00002a44 arg  0x000046e2 , 0x00000013 
+ 00013655  0x00002a45 call  0x00003584 
+ 00013656  0x00002a46 jam  0x00000004 , 0x00004780 
+ 00013657  0x00002a47 jam  0x00000001 , 0x00004783 
+ 00013658  0x00002a48 arg  0x0000477b , 0x00000013 
+ 00013659  0x00002a49 branch  0x00003544 
+ 00013660  0x00002a4b fetch  0x00000001 , 0x0000479e 
+ 00013661  0x00002a4c rtn  0x00000034 
+ 00013662  0x00002a4d jam  0x00000000 , 0x0000479e 
+ 00013663  0x00002a4e call  0x00003586 
+ 00013664  0x00002a4f jam  0x00000004 , 0x00004780 
+ 00013665  0x00002a50 jam  0x00000000 , 0x00004783 
+ 00013666  0x00002a51 arg  0x0000477b , 0x00000013 
+ 00013667  0x00002a52 branch  0x00003544 
+ 00013668  0x00002a55 jam  0x00000001 , 0x0000479f 
+ 00013669  0x00002a56 jam  0x00000007 , 0x00004780 
+ 00013670  0x00002a57 jam  0x00000001 , 0x00004783 
+ 00013671  0x00002a58 arg  0x0000477b , 0x00000013 
+ 00013672  0x00002a59 branch  0x00003544 
+ 00013673  0x00002a5b jam  0x00000000 , 0x0000479f 
+ 00013674  0x00002a5c jam  0x00000007 , 0x00004780 
+ 00013675  0x00002a5d jam  0x00000000 , 0x00004783 
+ 00013676  0x00002a5e arg  0x0000477b , 0x00000013 
+ 00013677  0x00002a5f branch  0x00003544 
+ 00013678  0x00002a61 fetch  0x00000001 , 0x0000479f 
+ 00013679  0x00002a62 rtn  0x00000034 
+ 00013680  0x00002a63 branch  0x00003551 
+ 00013681  0x00002a66 ifetch  0x00000002 , 0x00000011 
+ 00013682  0x00002a67 store  0x00000002 , 0x0000478b 
+ 00013683  0x00002a68 isolate1  0x00000000 , 0x0000003f 
+ 00013684  0x00002a69 nrtn  0x00000001 
+ 00013685  0x00002a6a fetch  0x00000001 , 0x000047a0 
+ 00013686  0x00002a6b rtn  0x00000034 
+ 00013687  0x00002a6c jam  0x00000000 , 0x000047a0 
+ 00013688  0x00002a6d fetch  0x00000008 , 0x000047b6 
+ 00013689  0x00002a6e store  0x00000008 , 0x00004496 
+ 00013690  0x00002a6f jam  0x00000002 , 0x00004790 
+ 00013691  0x00002a70 call  0x000035af 
+ 00013692  0x00002a71 call  0x000035b9 
+ 00013693  0x00002a72 jam  0x00000007 , 0x00004780 
+ 00013694  0x00002a73 fetch  0x00000001 , 0x0000479f 
+ 00013695  0x00002a74 store  0x00000001 , 0x00004783 
+ 00013696  0x00002a75 arg  0x0000477b , 0x00000013 
+ 00013697  0x00002a76 branch  0x00003544 
+ 00013698  0x00002a7b arg  0x00000001 , 0x00000011 
+ 00013699  0x00002a7c branch  0x00003585 
+ 00013700  0x00002a7e arg  0x00000000 , 0x00000011 
+ 00013701  0x00002a80 branch  0x0000358c 
+ 00013702  0x00002a83 arg  0x00000000 , 0x00000011 
+ 00013703  0x00002a84 call  0x00007d19 
+ 00013704  0x00002a85 arg  0x00000001 , 0x00000011 
+ 00013705  0x00002a86 call  0x00007d19 
+ 00013706  0x00002a87 fetch  0x00000001 , 0x000047a1 
+ 00013707  0x00002a88 branch  0x000069d7 
+ 00013708  0x00002a8b call  0x00007d04 
+ 00013709  0x00002a8c arg  0x00000007 , 0x00000039 
+ 00013710  0x00002a8d branch  0x00007d26 
+ 00013711  0x00002a92 arg  0x000046b8 , 0x00000013 
+ 00013712  0x00002a93 arg  0x0000469a , 0x00000012 
+ 00013713  0x00002a95 call  0x00003596 
+ 00013714  0x00002a96 call  0x00003584 
+ 00013715  0x00002a97 fetch  0x00000002 , 0x00004795 
+ 00013716  0x00002a98 store  0x00000002 , 0x00004793 
+ 00013717  0x00002a99 branch  0x000033fa 
+ 00013718  0x00002a9c ifetch  0x00000002 , 0x00000012 
+ 00013719  0x00002a9d store  0x00000002 , 0x00004154 
+ 00013720  0x00002a9e ifetch  0x00000002 , 0x00000006 
+ 00013721  0x00002a9f store  0x00000002 , 0x00004482 
+ 00013722  0x00002aa0 rtn 
+ 00013723  0x00002aa3 arg  0x00000000 , 0x00000011 
+ 00013724  0x00002aa4 call  0x000069a6 
+ 00013725  0x00002aa5 fetch  0x00000006 , 0x000047a1 
+ 00013726  0x00002aa6 store  0x00000006 , 0x00000a9a 
+ 00013727  0x00002aa7 call  0x000069ae 
+ 00013728  0x00002aa8 fetch  0x00000001 , 0x000047a1 
+ 00013729  0x00002aa9 branch  0x000069d7 
+ 00013730  0x00002aac jam  0x00000001 , 0x0000479b 
+ 00013731  0x00002aad rtn 
+ 00013732  0x00002aaf jam  0x00000000 , 0x0000479b 
+ 00013733  0x00002ab0 rtn 
+ 00013734  0x00002ab5 jam  0x00000000 , 0x0000479c 
+ 00013735  0x00002ab6 fetch  0x00000001 , 0x000047a1 
+ 00013736  0x00002ab7 branch  0x000069d7 
+ 00013737  0x00002aba jam  0x00000001 , 0x0000479c 
+ 00013738  0x00002abb fetch  0x00000006 , 0x000047a1 
+ 00013739  0x00002abc store  0x00000006 , 0x00000a9a 
+ 00013740  0x00002abd branch  0x000069ae 
+ 00013741  0x00002ac2 jam  0x00000000 , 0x0000422d 
+ 00013742  0x00002ac3 branch  0x000068a8 
+ 00013743  0x00002ac6 call  0x000068eb 
+ 00013744  0x00002ac7 call  0x00006908 
+ 00013745  0x00002ac8 store  0x00000002 , 0x000047b0 
+ 00013746  0x00002ac9 arg  0x000047aa , 0x00000011 
+ 00013747  0x00002aca call  0x00006930 
+ 00013748  0x00002acb store  0x00000001 , 0x000047a9 
+ 00013749  0x00002acc beq  0x00000000 , 0x000035be 
+ 00013750  0x00002acd sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00013751  0x00002ace nbranch  0x000035bc , 0x00000002 
+ 00013752  0x00002acf store  0x00000001 , 0x00004783 
+ 00013753  0x00002ad1 jam  0x00000005 , 0x00004780 
+ 00013754  0x00002ad2 arg  0x0000477b , 0x00000013 
+ 00013755  0x00002ad3 branch  0x00003544 
+ 00013756  0x00002ad5 jam  0x00000064 , 0x00004783 
+ 00013757  0x00002ad6 branch  0x000035b9 
+ 00013758  0x00002ad9 branch  0x0000341a 
+ 00013759  0x00002ade rtn  0x0000002b 
+ 00013760  0x00002adf hfetch  0x00000001 , 0x00008081 
+ 00013761  0x00002ae0 and_into  0x000000f0 , 0x0000003f 
+ 00013762  0x00002ae1 hstore  0x00000001 , 0x00008081 
+ 00013763  0x00002ae2 setarg  0x00003631 
+ 00013764  0x00002ae3 store  0x00000002 , 0x000041eb 
+ 00013765  0x00002ae5 setarg  0x00003633 
+ 00013766  0x00002ae6 store  0x00000002 , 0x000041ed 
+ 00013767  0x00002ae8 setarg  0x0000340a 
+ 00013768  0x00002ae9 store  0x00000002 , 0x000041f7 
+ 00013769  0x00002aeb setarg  0x00003635 
+ 00013770  0x00002aec store  0x00000002 , 0x000041f3 
+ 00013771  0x00002aee setarg  0x0000364b 
+ 00013772  0x00002aef store  0x00000002 , 0x000041f5 
+ 00013773  0x00002af1 setarg  0x000033d0 
+ 00013774  0x00002af2 store  0x00000002 , 0x000041e9 
+ 00013775  0x00002af4 setarg  0x000036f6 
+ 00013776  0x00002af5 store  0x00000002 , 0x000041f9 
+ 00013777  0x00002af7 setarg  0x0000367a 
+ 00013778  0x00002af8 store  0x00000002 , 0x000041fd 
+ 00013779  0x00002afa call  0x00002c7a 
+ 00013780  0x00002afb setarg  0x00003722 
+ 00013781  0x00002afc add  0x00000013 , 0x000000de , 0x00000005 
+ 00013782  0x00002afd istore  0x00000002 , 0x00000005 
+ 00013783  0x00002aff setarg  0x000035ed 
+ 00013784  0x00002b00 store  0x00000002 , 0x0000475b 
+ 00013785  0x00002b02 setarg  0x000035ef 
+ 00013786  0x00002b03 store  0x00000002 , 0x0000475f 
+ 00013787  0x00002b05 bpatch  0x000000cf , 0x00004019 
+ 00013788  0x00002b06 call  0x00003628 
+ 00013789  0x00002b07 call  0x00007e38 
+ 00013790  0x00002b08 jam  0x00000002 , 0x00004172 
+ 00013791  0x00002b09 jam  0x00000000 , 0x000049f6 
+ 00013792  0x00002b0a fetch  0x00000001 , 0x000047cb 
+ 00013793  0x00002b0b store  0x00000001 , 0x0000469a 
+ 00013794  0x00002b0c beq  0x00000000 , 0x000035ee 
+ 00013795  0x00002b0d fetch  0x00000001 , 0x000047cc 
+ 00013796  0x00002b0e store  0x00000001 , 0x00004686 
+ 00013797  0x00002b0f jam  0x00000000 , 0x0000436e 
+ 00013798  0x00002b11 call  0x0000360f 
+ 00013799  0x00002b12 call  0x00007cd3 
+ 00013800  0x00002b13 call  0x00007cdd 
+ 00013801  0x00002b14 jam  0x00000001 , 0x000047f3 
+ 00013802  0x00002b15 fetch  0x00000002 , 0x00004682 
+ 00013803  0x00002b16 rtnbit1  0x0000000c 
+ 00013804  0x00002b17 branch  0x0000340a 
+ 00013805  0x00002b1a branch  0x0000360f 
+ 00013806  0x00002b1d jam  0x00000002 , 0x000047f3 
+ 00013807  0x00002b1f jam  0x00000001 , 0x0000436e 
+ 00013808  0x00002b20 call  0x0000360f 
+ 00013809  0x00002b21 arg  0x00000000 , 0x00000011 
+ 00013810  0x00002b22 call  0x00007d1e 
+ 00013811  0x00002b24 setarg  0x00000020 
+ 00013812  0x00002b25 call  0x000046f0 
+ 00013813  0x00002b27 arg  0x000043b7 , 0x00000005 
+ 00013814  0x00002b28 fetch  0x00000001 , 0x000044a0 
+ 00013815  0x00002b2a and  0x0000003f , 0x000000f0 , 0x00000002 
+ 00013816  0x00002b2b rshift4  0x00000002 , 0x00000002 
+ 00013817  0x00002b2c call  0x00003609 
+ 00013818  0x00002b2d istoret  0x00000001 , 0x00000005 
+ 00013819  0x00002b2e and  0x0000003f , 0x0000000f , 0x00000002 
+ 00013820  0x00002b2f call  0x00003609 
+ 00013821  0x00002b30 istoret  0x00000001 , 0x00000005 
+ 00013822  0x00002b31 call  0x000057a6 
+ 00013823  0x00002b32 fetcht  0x00000001 , 0x000043af 
+ 00013824  0x00002b33 copy  0x00000002 , 0x00000039 
+ 00013825  0x00002b34 arg  0x00004372 , 0x00000005 
+ 00013826  0x00002b35 arg  0x000043b0 , 0x00000006 
+ 00013827  0x00002b36 call  0x00007f01 
+ 00013828  0x00002b38 fetcht  0x00000001 , 0x000043af 
+ 00013829  0x00002b39 copy  0x00000002 , 0x00000039 
+ 00013830  0x00002b3a arg  0x00004392 , 0x00000005 
+ 00013831  0x00002b3b arg  0x000043b0 , 0x00000006 
+ 00013832  0x00002b3c branch  0x00007f01 
+ 00013833  0x00002b3e sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00013834  0x00002b3f branch  0x0000360d , 0x00000002 
+ 00013835  0x00002b40 add  0x00000002 , 0x00000037 , 0x00000002 
+ 00013836  0x00002b41 rtn 
+ 00013837  0x00002b43 add  0x00000002 , 0x00000030 , 0x00000002 
+ 00013838  0x00002b44 rtn 
+ 00013839  0x00002b47 fetch  0x00000001 , 0x000047c0 
+ 00013840  0x00002b48 bne  0x000000ff , 0x00003621 
+ 00013841  0x00002b4a fetch  0x00000001 , 0x000047be 
+ 00013842  0x00002b4b bne  0x000000ff , 0x00003624 
+ 00013843  0x00002b4d fetch  0x00000001 , 0x000047c9 
+ 00013844  0x00002b4e bne  0x000000ff , 0x00003626 
+ 00013845  0x00002b50 fetch  0x00000001 , 0x0000472c 
+ 00013846  0x00002b51 copy  0x0000003f , 0x00000039 
+ 00013847  0x00002b52 setarg  0x0000472d 
+ 00013848  0x00002b53 copy  0x0000003f , 0x00000011 
+ 00013849  0x00002b55 copy  0x00000011 , 0x00000006 
+ 00013850  0x00002b56 ifetch  0x00000001 , 0x00000006 
+ 00013851  0x00002b57 copy  0x00000006 , 0x00000011 
+ 00013852  0x00002b58 beq  0x000000ff , 0x0000361f 
+ 00013853  0x00002b59 copy  0x0000003f , 0x00000002 
+ 00013854  0x00002b5a call  0x0000680e 
+ 00013855  0x00002b5c loop  0x00003619 
+ 00013856  0x00002b5e rtn 
+ 00013857  0x00002b60 fetch  0x00000008 , 0x000047c0 
+ 00013858  0x00002b61 store  0x00000008 , 0x0000472f 
+ 00013859  0x00002b62 branch  0x00003611 
+ 00013860  0x00002b64 store  0x00000001 , 0x0000472d 
+ 00013861  0x00002b65 branch  0x00003613 
+ 00013862  0x00002b67 store  0x00000001 , 0x0000472e 
+ 00013863  0x00002b68 branch  0x00003615 
+ 00013864  0x00002b6c arg  0x00000000 , 0x00000011 
+ 00013865  0x00002b6d call  0x000069a6 
+ 00013866  0x00002b6e call  0x000037e4 
+ 00013867  0x00002b6f call  0x00002c7d 
+ 00013868  0x00002b70 branch  0x0000362d 
+ 00013869  0x00002b73 jam  0x00000064 , 0x000047cf 
+ 00013870  0x00002b74 fetch  0x00000001 , 0x000047c9 
+ 00013871  0x00002b75 store  0x00000001 , 0x00004744 
+ 00013872  0x00002b76 branch  0x000068a8 
+ 00013873  0x00002b79 call  0x00006835 
+ 00013874  0x00002b7a branch  0x0000696c 
+ 00013875  0x00002b7d branch  0x0000696c 
+ 00013876  0x00002b82 branch  0x00006978 
+ 00013877  0x00002b85 call  0x00003642 
+ 00013878  0x00002b86 call  0x000037ee 
+ 00013879  0x00002b87 call  0x00003639 
+ 00013880  0x00002b88 branch  0x00003634 
+ 00013881  0x00002b8b fetch  0x00000002 , 0x00004682 
+ 00013882  0x00002b8c rtnbit1  0x00000009 
+ 00013883  0x00002b8d fetch  0x00000001 , 0x000049f6 
+ 00013884  0x00002b8e beq  0x00000001 , 0x0000363e 
+ 00013885  0x00002b8f rtn 
+ 00013886  0x00002b91 fetch  0x00000001 , 0x000047ea 
+ 00013887  0x00002b92 rtneq  0x00000001 
+ 00013888  0x00002b93 jam  0x00000001 , 0x000047ea 
+ 00013889  0x00002b94 branch  0x00003654 
+ 00013890  0x00002b97 fetch  0x00000002 , 0x00004682 
+ 00013891  0x00002b98 rtnbit0  0x00000009 
+ 00013892  0x00002b99 call  0x00005892 
+ 00013893  0x00002b9a nrtn  0x00000034 
+ 00013894  0x00002b9b arg  0x00004718 , 0x00000011 
+ 00013895  0x00002b9c call  0x00007e54 
+ 00013896  0x00002b9d nrtn  0x00000028 
+ 00013897  0x00002b9e arg  0x00004718 , 0x00000006 
+ 00013898  0x00002b9f branch  0x00004746 
+ 00013899  0x00002ba2 copy  0x00000013 , 0x0000003f 
+ 00013900  0x00002ba3 beq  0x0000002d , 0x00003431 
+ 00013901  0x00002ba4 beq  0x00000010 , 0x0000341a 
+ 00013902  0x00002ba5 beq  0x00000014 , 0x00003651 
+ 00013903  0x00002ba6 beq  0x00000015 , 0x00003660 
+ 00013904  0x00002ba7 rtn 
+ 00013905  0x00002baa setarg  0x00000000 
+ 00013906  0x00002bab call  0x00003220 
+ 00013907  0x00002bac branch  0x00003656 
+ 00013908  0x00002bae fetch  0x00000002 , 0x000047eb 
+ 00013909  0x00002baf store  0x00000002 , 0x000047ed 
+ 00013910  0x00002bb1 jam  0x00000014 , 0x000047ce 
+ 00013911  0x00002bb2 jam  0x00000000 , 0x00004091 
+ 00013912  0x00002bb3 call  0x000033f8 
+ 00013913  0x00002bb4 call  0x00003416 
+ 00013914  0x00002bb5 fetch  0x00000001 , 0x000047bd 
+ 00013915  0x00002bb6 beq  0x00000001 , 0x0000365e 
+ 00013916  0x00002bb8 arg  0x00000000 , 0x00000011 
+ 00013917  0x00002bb9 branch  0x00007d14 
+ 00013918  0x00002bbb arg  0x00000000 , 0x00000011 
+ 00013919  0x00002bbc branch  0x00007d19 
+ 00013920  0x00002bbf setarg  0x00000002 
+ 00013921  0x00002bc0 call  0x00003220 
+ 00013922  0x00002bc2 setarg  0x00000000 
+ 00013923  0x00002bc3 store  0x00000005 , 0x0000479c 
+ 00013924  0x00002bc4 setarg  0x00000004 
+ 00013925  0x00002bc5 call  0x000069d7 
+ 00013926  0x00002bc6 setarg  0x00000005 
+ 00013927  0x00002bc7 call  0x000069d7 
+ 00013928  0x00002bc8 setarg  0x00000014 
+ 00013929  0x00002bc9 call  0x000069d7 
+ 00013930  0x00002bca setarg  0x00000015 
+ 00013931  0x00002bcb call  0x000069d7 
+ 00013932  0x00002bcc setarg  0x00000016 
+ 00013933  0x00002bcd call  0x000069d7 
+ 00013934  0x00002bce setarg  0x00000007 
+ 00013935  0x00002bcf call  0x000069d7 
+ 00013936  0x00002bd0 call  0x00007e38 
+ 00013937  0x00002bd1 jam  0x0000000a , 0x0000475e 
+ 00013938  0x00002bd2 jam  0x0000000a , 0x00004760 
+ 00013939  0x00002bd3 jam  0x0000000a , 0x00004762 
+ 00013940  0x00002bd5 jam  0x00000002 , 0x00004172 
+ 00013941  0x00002bd6 arg  0x00000000 , 0x00000011 
+ 00013942  0x00002bd7 call  0x00007d1e 
+ 00013943  0x00002bd9 setarg  0x00000020 
+ 00013944  0x00002bda call  0x000046f0 
+ 00013945  0x00002bdb branch  0x000033fa 
+ 00013946  0x00002bdf call  0x0000373b 
+ 00013947  0x00002be0 call  0x0000373e 
+ 00013948  0x00002be1 call  0x00003741 
+ 00013949  0x00002be2 call  0x0000337b 
+ 00013950  0x00002be3 call  0x000036c8 
+ 00013951  0x00002be4 call  0x000036a1 
+ 00013952  0x00002be5 call  0x0000368a 
+ 00013953  0x00002be6 call  0x00003683 
+ 00013954  0x00002be7 branch  0x0000368f 
+ 00013955  0x00002bea arg  0x0000479a , 0x00000013 
+ 00013956  0x00002beb arg  0x00003686 , 0x00000012 
+ 00013957  0x00002bec branch  0x0000336d 
+ 00013958  0x00002bee call  0x00003847 
+ 00013959  0x00002bef nrtn  0x00000001 
+ 00013960  0x00002bf0 jam  0x00000001 , 0x0000479b 
+ 00013961  0x00002bf1 rtn 
+ 00013962  0x00002bf4 arg  0x000047ed , 0x00000013 
+ 00013963  0x00002bf5 arg  0x0000368d , 0x00000012 
+ 00013964  0x00002bf6 branch  0x00003374 
+ 00013965  0x00002bf8 jam  0x00000002 , 0x000047ea 
+ 00013966  0x00002bf9 branch  0x00003662 
+ 00013967  0x00002bfc arg  0x000047f1 , 0x00000013 
+ 00013968  0x00002bfd arg  0x00003692 , 0x00000012 
+ 00013969  0x00002bfe branch  0x0000336d 
+ 00013970  0x00002c00 fetch  0x00000001 , 0x000047f2 
+ 00013971  0x00002c01 branch  0x0000369e , 0x00000034 
+ 00013972  0x00002c02 jam  0x00000002 , 0x000047f1 
+ 00013973  0x00002c03 jam  0x00000000 , 0x000047f2 
+ 00013974  0x00002c04 setarg  0x00000a02 
+ 00013975  0x00002c05 store  0x00000002 , 0x00004752 
+ 00013976  0x00002c06 fetch  0x00000001 , 0x000047b9 
+ 00013977  0x00002c07 beq  0x00000003 , 0x0000369b 
+ 00013978  0x00002c09 branch  0x00003762 
+ 00013979  0x00002c0b setarg  0x00000a02 
+ 00013980  0x00002c0c store  0x00000002 , 0x00004754 
+ 00013981  0x00002c0d branch  0x00003762 
+ 00013982  0x00002c0f setarg  0x00000000 
+ 00013983  0x00002c10 store  0x00000004 , 0x00004752 
+ 00013984  0x00002c11 branch  0x00003762 
+ 00013985  0x00002c14 fetch  0x00000001 , 0x000047c8 
+ 00013986  0x00002c15 rtn  0x00000034 
+ 00013987  0x00002c16 fetch  0x00000002 , 0x00004682 
+ 00013988  0x00002c17 bbit0  0x00000009 , 0x000036c6 
+ 00013989  0x00002c18 arg  0x000047ce , 0x00000013 
+ 00013990  0x00002c19 arg  0x000036a8 , 0x00000012 
+ 00013991  0x00002c1a branch  0x0000336d 
+ 00013992  0x00002c1c fetch  0x00000001 , 0x000047cd 
+ 00013993  0x00002c1d store  0x00000001 , 0x000047ce 
+ 00013994  0x00002c1e fetch  0x00000001 , 0x000047d1 
+ 00013995  0x00002c1f nrtn  0x00000034 
+ 00013996  0x00002c21 call  0x000068eb 
+ 00013997  0x00002c22 call  0x00006908 
+ 00013998  0x00002c23 store  0x00000002 , 0x000047e8 
+ 00013999  0x00002c24 arg  0x000047e2 , 0x00000011 
+ 00014000  0x00002c25 call  0x00006930 
+ 00014001  0x00002c26 fetcht  0x00000001 , 0x000047cf 
+ 00014002  0x00002c27 isub  0x00000002 , 0x0000003e 
+ 00014003  0x00002c28 branch  0x000036b6 , 0x00000002 
+ 00014004  0x00002c29 store  0x00000001 , 0x000047cf 
+ 00014005  0x00002c2a copy  0x0000003f , 0x00000002 
+ 00014006  0x00002c2c storet  0x00000001 , 0x000047d0 
+ 00014007  0x00002c2d fetch  0x00000001 , 0x000047ca 
+ 00014008  0x00002c2e isub  0x00000002 , 0x0000003e 
+ 00014009  0x00002c2f call  0x000036c1 , 0x00000002 
+ 00014010  0x00002c30 storet  0x00000001 , 0x000047db 
+ 00014011  0x00002c31 arg  0x00000006 , 0x00000039 
+ 00014012  0x00002c32 arg  0x000047d6 , 0x00000006 
+ 00014013  0x00002c33 call  0x000036f0 
+ 00014014  0x00002c34 store  0x00000001 , 0x000047dc 
+ 00014015  0x00002c35 arg  0x000047d3 , 0x00000011 
+ 00014016  0x00002c36 branch  0x00007e3d 
+ 00014017  0x00002c38 fetch  0x00000001 , 0x000047d2 
+ 00014018  0x00002c39 nrtn  0x00000034 
+ 00014019  0x00002c3a jam  0x00000001 , 0x000047d2 
+ 00014020  0x00002c3b arg  0x00000001 , 0x00000011 
+ 00014021  0x00002c3c branch  0x00007d1e 
+ 00014022  0x00002c3e arg  0x00000001 , 0x00000011 
+ 00014023  0x00002c3f branch  0x00007d19 
+ 00014024  0x00002c42 arg  0x000047a4 , 0x00000013 
+ 00014025  0x00002c43 arg  0x000036cb , 0x00000012 
+ 00014026  0x00002c44 branch  0x0000336d 
+ 00014027  0x00002c46 jam  0x00000005 , 0x000047a4 
+ 00014028  0x00002c47 jam  0x00000000 , 0x000047a6 
+ 00014029  0x00002c48 fetch  0x00000001 , 0x000047a5 
+ 00014030  0x00002c49 beq  0x00000001 , 0x000036ee 
+ 00014031  0x00002c4a beq  0x00000000 , 0x000036ec 
+ 00014032  0x00002c4c arg  0x0000479c , 0x00000006 
+ 00014033  0x00002c4d copy  0x00000006 , 0x00000011 
+ 00014034  0x00002c4e arg  0x00000008 , 0x00000039 
+ 00014035  0x00002c50 copy  0x00000011 , 0x00000006 
+ 00014036  0x00002c51 ifetch  0x00000001 , 0x00000006 
+ 00014037  0x00002c52 copy  0x00000006 , 0x00000011 
+ 00014038  0x00002c53 beq  0x00000000 , 0x000036e3 
+ 00014039  0x00002c54 beq  0x00000001 , 0x000036e6 
+ 00014040  0x00002c55 beq  0x00000002 , 0x000036e9 
+ 00014041  0x00002c57 fetch  0x00000001 , 0x000047a6 
+ 00014042  0x00002c58 increase  0x00000001 , 0x0000003f 
+ 00014043  0x00002c59 store  0x00000001 , 0x000047a6 
+ 00014044  0x00002c5a loop  0x000036d3 
+ 00014045  0x00002c5b rtn 
+ 00014046  0x00002c5d fetch  0x00000001 , 0x000047a6 
+ 00014047  0x00002c5e arg  0x000047c0 , 0x00000012 
+ 00014048  0x00002c5f iadd  0x00000012 , 0x00000012 
+ 00014049  0x00002c60 ifetcht  0x00000001 , 0x00000012 
+ 00014050  0x00002c61 rtn 
+ 00014051  0x00002c63 call  0x000036de 
+ 00014052  0x00002c64 call  0x00006825 
+ 00014053  0x00002c65 branch  0x000036d9 
+ 00014054  0x00002c67 call  0x000036de 
+ 00014055  0x00002c68 call  0x00006829 
+ 00014056  0x00002c69 branch  0x000036d9 
+ 00014057  0x00002c6b fetch  0x00000001 , 0x000047a5 
+ 00014058  0x00002c6c beq  0x00000001 , 0x000036e3 
+ 00014059  0x00002c6d branch  0x000036e6 
+ 00014060  0x00002c6f jam  0x00000001 , 0x000047a5 
+ 00014061  0x00002c70 branch  0x000036d0 
+ 00014062  0x00002c72 jam  0x00000000 , 0x000047a5 
+ 00014063  0x00002c73 branch  0x000036d0 
+ 00014064  0x00002c78 arg  0x00000000 , 0x00000011 
+ 00014065  0x00002c7a ifetch  0x00000001 , 0x00000006 
+ 00014066  0x00002c7b iadd  0x00000011 , 0x00000011 
+ 00014067  0x00002c7c loop  0x000036f1 
+ 00014068  0x00002c7e and  0x00000011 , 0x000000ff , 0x0000003f 
+ 00014069  0x00002c7f rtn 
+ 00014070  0x00002c82 fetch  0x00000001 , 0x00000477 
+ 00014071  0x00002c83 beq  0x00000012 , 0x000036f9 
+ 00014072  0x00002c84 rtn 
+ 00014073  0x00002c86 fetch  0x00000002 , 0x00000478 
+ 00014074  0x00002c87 beq  0x00000014 , 0x00003710 
+ 00014075  0x00002c88 rtn 
+ 00014076  0x00002c95 bpatch  0x000000d0 , 0x0000401a 
+ 00014077  0x00002c96 ifetch  0x00000005 , 0x00000011 
+ 00014078  0x00002c97 store  0x00000005 , 0x00000b12 
+ 00014079  0x00002c98 fetch  0x00000002 , 0x00000b12 
+ 00014080  0x00002c99 arg  0x00006b5a , 0x00000002 
+ 00014081  0x00002c9a isub  0x00000002 , 0x0000003e 
+ 00014082  0x00002c9b nrtn  0x00000005 
+ 00014083  0x00002c9c fetch  0x00000002 , 0x00000b15 
+ 00014084  0x00002c9d byteswap  0x0000003f , 0x0000003f 
+ 00014085  0x00002c9e store  0x00000002 , 0x00000b15 
+ 00014086  0x00002c9f copy  0x0000003f , 0x00000039 
+ 00014087  0x00002ca0 increase  0x00000005 , 0x00000011 
+ 00014088  0x00002ca1 copy  0x00000011 , 0x00000006 
+ 00014089  0x00002ca2 arg  0x00000b17 , 0x00000005 
+ 00014090  0x00002ca3 call  0x00007f01 
+ 00014091  0x00002ca4 ifetch  0x00000001 , 0x00000006 
+ 00014092  0x00002ca5 store  0x00000001 , 0x00000b21 
+ 00014093  0x00002ca6 arg  0x00000b14 , 0x00000011 
+ 00014094  0x00002ca7 arg  0x00000b17 , 0x00000012 
+ 00014095  0x00002ca8 rtn 
+ 00014096  0x00002cab setarg  0x00000000 
+ 00014097  0x00002cac store  0x00000005 , 0x00004752 
+ 00014098  0x00002cad store  0x00000005 , 0x00004757 
+ 00014099  0x00002cae call  0x000036fc 
+ 00014100  0x00002caf copy  0x00000012 , 0x00000006 
+ 00014101  0x00002cb0 arg  0x00004752 , 0x00000005 
+ 00014102  0x00002cb1 arg  0x0000000a , 0x00000039 
+ 00014103  0x00002cb2 call  0x00007f01 
+ 00014104  0x00002cb4 bpatch  0x000000d1 , 0x0000401a 
+ 00014105  0x00002cb5 ifetch  0x00000001 , 0x00000011 
+ 00014106  0x00002cb6 beq  0x00000002 , 0x0000374a 
+ 00014107  0x00002cb7 beq  0x00000003 , 0x0000375c 
+ 00014108  0x00002cb8 beq  0x00000004 , 0x00003762 
+ 00014109  0x00002cb9 beq  0x00000005 , 0x00003762 
+ 00014110  0x00002cba beq  0x00000006 , 0x000037b1 
+ 00014111  0x00002cbb beq  0x00000007 , 0x00003849 
+ 00014112  0x00002cbc beq  0x00000008 , 0x0000384c 
+ 00014113  0x00002cbd rtn 
+ 00014114  0x00002cc0 fetch  0x00000002 , 0x00004682 
+ 00014115  0x00002cc1 rtnbit1  0x00000009 
+ 00014116  0x00002cc3 fetch  0x00000002 , 0x000047eb 
+ 00014117  0x00002cc4 store  0x00000002 , 0x000047ed 
+ 00014118  0x00002cc6 jam  0x00000001 , 0x000049f6 
+ 00014119  0x00002cc8 setarg  0x0000010c 
+ 00014120  0x00002cc9 call  0x000032cd 
+ 00014121  0x00002cca call  0x00003710 
+ 00014122  0x00002ccc fetch  0x00000001 , 0x00000b14 
+ 00014123  0x00002ccd beq  0x00000004 , 0x0000372e 
+ 00014124  0x00002cce beq  0x00000005 , 0x0000372e 
+ 00014125  0x00002ccf rtn 
+ 00014126  0x00002cd1 fetch  0x00000001 , 0x00004752 
+ 00014127  0x00002cd2 ncall  0x00003735 , 0x00000034 
+ 00014128  0x00002cd3 fetch  0x00000001 , 0x00004754 
+ 00014129  0x00002cd4 ncall  0x00003737 , 0x00000034 
+ 00014130  0x00002cd5 fetch  0x00000001 , 0x00004756 
+ 00014131  0x00002cd6 ncall  0x00003739 , 0x00000034 
+ 00014132  0x00002cd7 rtn 
+ 00014133  0x00002cda jam  0x00000005 , 0x000049f3 
+ 00014134  0x00002cdb rtn 
+ 00014135  0x00002cdd jam  0x00000005 , 0x000049f4 
+ 00014136  0x00002cde rtn 
+ 00014137  0x00002ce0 jam  0x00000005 , 0x000049f5 
+ 00014138  0x00002ce1 rtn 
+ 00014139  0x00002ce4 arg  0x000049f3 , 0x00000013 
+ 00014140  0x00002ce5 arg  0x00003744 , 0x00000012 
+ 00014141  0x00002ce6 branch  0x0000336d 
+ 00014142  0x00002ce8 arg  0x000049f4 , 0x00000013 
+ 00014143  0x00002ce9 arg  0x00003746 , 0x00000012 
+ 00014144  0x00002cea branch  0x0000336d 
+ 00014145  0x00002cec arg  0x000049f5 , 0x00000013 
+ 00014146  0x00002ced arg  0x00003748 , 0x00000012 
+ 00014147  0x00002cee branch  0x0000336d 
+ 00014148  0x00002cf1 jam  0x00000000 , 0x00004752 
+ 00014149  0x00002cf2 branch  0x00003762 
+ 00014150  0x00002cf4 jam  0x00000000 , 0x00004754 
+ 00014151  0x00002cf5 branch  0x00003762 
+ 00014152  0x00002cf7 jam  0x00000000 , 0x00004756 
+ 00014153  0x00002cf8 branch  0x00003762 
+ 00014154  0x00002cfe call  0x0000374c 
+ 00014155  0x00002cff branch  0x0000374f 
+ 00014156  0x00002d01 fetch  0x00000001 , 0x00004752 
+ 00014157  0x00002d02 store  0x00000001 , 0x0000475f 
+ 00014158  0x00002d03 branch  0x00003773 
+ 00014159  0x00002d05 fetch  0x00000001 , 0x0000475e 
+ 00014160  0x00002d06 call  0x00003754 
+ 00014161  0x00002d07 fetch  0x00000001 , 0x00004753 
+ 00014162  0x00002d08 store  0x00000001 , 0x0000475d 
+ 00014163  0x00002d09 branch  0x00003770 
+ 00014164  0x00002d0b beq  0x00000002 , 0x00003758 
+ 00014165  0x00002d0c beq  0x00000003 , 0x0000375a 
+ 00014166  0x00002d0d store  0x00000001 , 0x0000475e 
+ 00014167  0x00002d0e rtn 
+ 00014168  0x00002d10 jam  0x00000005 , 0x0000475e 
+ 00014169  0x00002d11 rtn 
+ 00014170  0x00002d13 jam  0x0000000a , 0x0000475e 
+ 00014171  0x00002d14 rtn 
+ 00014172  0x00002d16 fetch  0x00000001 , 0x00004752 
+ 00014173  0x00002d17 call  0x00003754 
+ 00014174  0x00002d18 fetch  0x00000001 , 0x0000475e 
+ 00014175  0x00002d19 call  0x0000379e 
+ 00014176  0x00002d1a call  0x000037a1 
+ 00014177  0x00002d1b branch  0x000069c4 
+ 00014178  0x00002d1e fetch  0x00000001 , 0x000047f0 
+ 00014179  0x00002d1f nrtn  0x00000034 
+ 00014180  0x00002d20 fetch  0x00000006 , 0x00004752 
+ 00014181  0x00002d21 store  0x00000006 , 0x0000475d 
+ 00014182  0x00002d22 fetch  0x00000001 , 0x0000475e 
+ 00014183  0x00002d23 fetcht  0x00000001 , 0x00004760 
+ 00014184  0x00002d24 iand  0x00000002 , 0x0000003f 
+ 00014185  0x00002d25 fetcht  0x00000001 , 0x00004762 
+ 00014186  0x00002d26 iand  0x00000002 , 0x0000003f 
+ 00014187  0x00002d27 call  0x00003779 , 0x00000034 
+ 00014188  0x00002d28 bpatch  0x000000d2 , 0x0000401a 
+ 00014189  0x00002d29 call  0x00003770 
+ 00014190  0x00002d2a call  0x00003773 
+ 00014191  0x00002d2b branch  0x00003776 
+ 00014192  0x00002d2d arg  0x00004763 , 0x00000012 
+ 00014193  0x00002d2e arg  0x0000475d , 0x00000006 
+ 00014194  0x00002d2f branch  0x0000377b 
+ 00014195  0x00002d31 arg  0x0000476b , 0x00000012 
+ 00014196  0x00002d32 arg  0x0000475f , 0x00000006 
+ 00014197  0x00002d33 branch  0x0000377b 
+ 00014198  0x00002d35 arg  0x00004773 , 0x00000012 
+ 00014199  0x00002d36 arg  0x00004761 , 0x00000006 
+ 00014200  0x00002d37 branch  0x0000377b 
+ 00014201  0x00002d39 jam  0x00000000 , 0x000047d1 
+ 00014202  0x00002d3a rtn 
+ 00014203  0x00002d3d ifetch  0x00000001 , 0x00000006 
+ 00014204  0x00002d3e beq  0x00000000 , 0x00003787 
+ 00014205  0x00002d3f beq  0x00000001 , 0x00003780 
+ 00014206  0x00002d40 beq  0x00000002 , 0x00003782 
+ 00014207  0x00002d41 rtn 
+ 00014208  0x00002d43 jam  0x00000000 , 0x0000477b 
+ 00014209  0x00002d44 branch  0x00003783 
+ 00014210  0x00002d46 jam  0x00000001 , 0x0000477b 
+ 00014211  0x00002d47 ifetch  0x00000001 , 0x00000006 
+ 00014212  0x00002d48 store  0x00000001 , 0x0000477d 
+ 00014213  0x00002d49 ifetch  0x00000008 , 0x00000012 
+ 00014214  0x00002d4a branch  0x0000378c 
+ 00014215  0x00002d4d ifetch  0x00000001 , 0x00000012 
+ 00014216  0x00002d4e call  0x000069d7 
+ 00014217  0x00002d4f increase  0x00000001 , 0x00000012 
+ 00014218  0x00002d50 ifetch  0x00000001 , 0x00000012 
+ 00014219  0x00002d51 branch  0x000069d7 
+ 00014220  0x00002d53 store  0x00000008 , 0x0000477e 
+ 00014221  0x00002d54 jam  0x00000001 , 0x000047d1 
+ 00014222  0x00002d55 fetch  0x00000001 , 0x0000477b 
+ 00014223  0x00002d56 beq  0x00000000 , 0x0000379a 
+ 00014224  0x00002d58 fetch  0x00000001 , 0x0000477f 
+ 00014225  0x00002d59 store  0x00000001 , 0x00004780 
+ 00014226  0x00002d5a fetch  0x00000001 , 0x0000477e 
+ 00014227  0x00002d5c call  0x000069d7 
+ 00014228  0x00002d5d fetch  0x00000001 , 0x0000477d 
+ 00014229  0x00002d5e call  0x0000379e 
+ 00014230  0x00002d5f store  0x00000001 , 0x00004785 
+ 00014231  0x00002d60 fetch  0x00000006 , 0x00004780 
+ 00014232  0x00002d61 store  0x00000006 , 0x00000a9a 
+ 00014233  0x00002d62 branch  0x000069ae 
+ 00014234  0x00002d64 fetch  0x00000001 , 0x0000477e 
+ 00014235  0x00002d65 store  0x00000001 , 0x00004780 
+ 00014236  0x00002d66 fetch  0x00000001 , 0x0000477f 
+ 00014237  0x00002d67 branch  0x00003793 
+ 00014238  0x00002d6a mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00014239  0x00002d6b add  0x0000003f , 0x00000032 , 0x0000003f 
+ 00014240  0x00002d6c rtn 
+ 00014241  0x00002d6e arg  0x00002ee0 , 0x00000002 
+ 00014242  0x00002d6f imul32  0x00000002 , 0x0000003f 
+ 00014243  0x00002d70 div  0x0000003f , 0x00000064 
+ 00014244  0x00002d71 call  0x00007f86 
+ 00014245  0x00002d72 quotient  0x00000002 
+ 00014246  0x00002d73 copy  0x00000002 , 0x00000011 
+ 00014247  0x00002d74 setarg  0x00002ee0 
+ 00014248  0x00002d75 isub  0x00000002 , 0x00000012 
+ 00014249  0x00002d76 rtn 
+ 00014250  0x00002d7a hfetch  0x00000001 , 0x00008082 
+ 00014251  0x00002d7b set1  0x00000002 , 0x0000003f 
+ 00014252  0x00002d7c hstore  0x00000001 , 0x00008082 
+ 00014253  0x00002d7d setarg  0x0000009e 
+ 00014254  0x00002d7e hstore  0x00000002 , 0x00008068 
+ 00014255  0x00002d7f hstore  0x00000002 , 0x0000806a 
+ 00014256  0x00002d80 rtn 
+ 00014257  0x00002d83 fetch  0x00000001 , 0x000047f0 
+ 00014258  0x00002d84 nrtn  0x00000034 
+ 00014259  0x00002d85 fetch  0x00000002 , 0x00004752 
+ 00014260  0x00002d86 store  0x00000002 , 0x00004787 
+ 00014261  0x00002d87 fetch  0x00000001 , 0x000047ea 
+ 00014262  0x00002d88 bne  0x00000001 , 0x000037b9 
+ 00014263  0x00002d89 fetch  0x00000002 , 0x000044a0 
+ 00014264  0x00002d8a store  0x00000002 , 0x00004787 
+ 00014265  0x00002d8c bpatch  0x000000d3 , 0x0000401a 
+ 00014266  0x00002d8d call  0x000037aa 
+ 00014267  0x00002d8e call  0x000037dc 
+ 00014268  0x00002d8f setarg  0x0000bb80 
+ 00014269  0x00002d90 call  0x00002a8f 
+ 00014270  0x00002d91 call  0x000037e0 
+ 00014271  0x00002d92 setarg  0x00001c20 
+ 00014272  0x00002d93 call  0x00002a8f 
+ 00014273  0x00002d94 arg  0x00000010 , 0x00000039 
+ 00014274  0x00002d96 call  0x000037dc 
+ 00014275  0x00002d97 fetch  0x00000002 , 0x00004787 
+ 00014276  0x00002d98 bbit1  0x00000000 , 0x000037c9 
+ 00014277  0x00002d99 setarg  0x00001c20 
+ 00014278  0x00002d9a call  0x00002a8f 
+ 00014279  0x00002d9b call  0x000037e0 
+ 00014280  0x00002d9c branch  0x000037cc 
+ 00014281  0x00002d9f setarg  0x00003840 
+ 00014282  0x00002da0 call  0x00002a8f 
+ 00014283  0x00002da1 call  0x000037e0 
+ 00014284  0x00002da3 setarg  0x00001c20 
+ 00014285  0x00002da4 call  0x00002a8f 
+ 00014286  0x00002da5 fetch  0x00000002 , 0x00004787 
+ 00014287  0x00002da6 rshift  0x0000003f , 0x0000003f 
+ 00014288  0x00002da7 store  0x00000002 , 0x00004787 
+ 00014289  0x00002da8 loop  0x000037c2 
+ 00014290  0x00002daa jam  0x00000002 , 0x000047f1 
+ 00014291  0x00002dab jam  0x00000001 , 0x000047f2 
+ 00014292  0x00002dac setarg  0x00000a01 
+ 00014293  0x00002dad store  0x00000002 , 0x00004752 
+ 00014294  0x00002dae fetch  0x00000001 , 0x000047b9 
+ 00014295  0x00002daf beq  0x00000003 , 0x000037d9 
+ 00014296  0x00002db1 branch  0x00003762 
+ 00014297  0x00002db3 setarg  0x00000a01 
+ 00014298  0x00002db4 store  0x00000002 , 0x00004754 
+ 00014299  0x00002db5 branch  0x00003762 
+ 00014300  0x00002db8 hfetch  0x00000001 , 0x00008085 
+ 00014301  0x00002db9 or_into  0x00000040 , 0x0000003f 
+ 00014302  0x00002dba hstore  0x00000001 , 0x00008085 
+ 00014303  0x00002dbb rtn 
+ 00014304  0x00002dbd hfetch  0x00000001 , 0x00008085 
+ 00014305  0x00002dbe and_into  0x000000bf , 0x0000003f 
+ 00014306  0x00002dbf hstore  0x00000001 , 0x00008085 
+ 00014307  0x00002dc0 rtn 
+ 00014308  0x00002dc3 fetch  0x00000001 , 0x000047bb 
+ 00014309  0x00002dc4 rtneq  0x00000000 
+ 00014310  0x00002dc5 call  0x00002c65 
+ 00014311  0x00002dc6 fetcht  0x00000001 , 0x000047bc 
+ 00014312  0x00002dc7 storet  0x00000001 , 0x00004786 
+ 00014313  0x00002dc8 call  0x000067fb 
+ 00014314  0x00002dc9 call  0x00003847 
+ 00014315  0x00002dca nrtn  0x00000001 
+ 00014316  0x00002dcb jam  0x00000001 , 0x0000479a 
+ 00014317  0x00002dcc rtn 
+ 00014318  0x00002dcf fetch  0x00000001 , 0x000047bb 
+ 00014319  0x00002dd0 rtneq  0x00000000 
+ 00014320  0x00002dd1 fetch  0x00000001 , 0x0000479b 
+ 00014321  0x00002dd2 nrtn  0x00000034 
+ 00014322  0x00002dd3 fetch  0x00000002 , 0x00004682 
+ 00014323  0x00002dd4 bbit1  0x00000009 , 0x000037f6 
+ 00014324  0x00002dd5 fetch  0x00000001 , 0x000047ea 
+ 00014325  0x00002dd6 rtnne  0x00000001 
+ 00014326  0x00002dd8 bpatch  0x000000d4 , 0x0000401a 
+ 00014327  0x00002dd9 call  0x00003847 
+ 00014328  0x00002dda nrtn  0x00000001 
+ 00014329  0x00002ddb setarg  0x00008ca0 
+ 00014330  0x00002ddc call  0x00002a8f 
+ 00014331  0x00002ddd call  0x00003847 
+ 00014332  0x00002dde nrtn  0x00000001 
+ 00014333  0x00002ddf call  0x0000383f 
+ 00014334  0x00002de1 call  0x00003842 
+ 00014335  0x00002de2 nrtn  0x00000002 
+ 00014336  0x00002de3 call  0x00003847 
+ 00014337  0x00002de4 branch  0x000037fe , 0x00000001 
+ 00014338  0x00002de5 arg  0x00000000 , 0x00000011 
+ 00014339  0x00002de6 arg  0x00000010 , 0x00000039 
+ 00014340  0x00002de7 call  0x0000383f 
+ 00014341  0x00002de9 call  0x00003842 
+ 00014342  0x00002dea nrtn  0x00000002 
+ 00014343  0x00002deb call  0x00003847 
+ 00014344  0x00002dec nbranch  0x00003805 , 0x00000001 
+ 00014345  0x00002ded setarg  0x00002a30 
+ 00014346  0x00002dee call  0x00002a8f 
+ 00014347  0x00002def call  0x00003847 
+ 00014348  0x00002df0 branch  0x00003812 , 0x00000001 
+ 00014349  0x00002df2 setarg  0x00000000 
+ 00014350  0x00002df3 rshift  0x00000011 , 0x00000011 
+ 00014351  0x00002df4 ior  0x00000011 , 0x00000011 
+ 00014352  0x00002df5 loop  0x00003805 
+ 00014353  0x00002df6 branch  0x0000381b 
+ 00014354  0x00002df8 setarg  0x00008000 
+ 00014355  0x00002df9 rshift  0x00000011 , 0x00000011 
+ 00014356  0x00002dfa ior  0x00000011 , 0x00000011 
+ 00014357  0x00002dfb call  0x0000383f 
+ 00014358  0x00002dfd call  0x00003842 
+ 00014359  0x00002dfe nrtn  0x00000002 
+ 00014360  0x00002dff call  0x00003847 
+ 00014361  0x00002e00 branch  0x00003816 , 0x00000001 
+ 00014362  0x00002e01 loop  0x00003805 
+ 00014363  0x00002e03 bpatch  0x000000d5 , 0x0000401a 
+ 00014364  0x00002e04 copy  0x00000011 , 0x0000003f 
+ 00014365  0x00002e05 store  0x00000002 , 0x00004789 
+ 00014366  0x00002e06 store  0x00000002 , 0x00004797 
+ 00014367  0x00002e07 fetch  0x00000001 , 0x000047ea 
+ 00014368  0x00002e08 beq  0x00000001 , 0x00003827 
+ 00014369  0x00002e0a arg  0x00000007 , 0x00000039 
+ 00014370  0x00002e0b arg  0x00004792 , 0x00000006 
+ 00014371  0x00002e0c call  0x000036f0 
+ 00014372  0x00002e0d store  0x00000001 , 0x00004799 
+ 00014373  0x00002e0e arg  0x0000478f , 0x00000011 
+ 00014374  0x00002e0f branch  0x00007e3d 
+ 00014375  0x00002e12 fetch  0x00000001 , 0x000047ef 
+ 00014376  0x00002e13 increase  0x00000001 , 0x0000003f 
+ 00014377  0x00002e14 store  0x00000001 , 0x000047ef 
+ 00014378  0x00002e15 div  0x0000003f , 0x00000002 
+ 00014379  0x00002e16 call  0x00007f86 
+ 00014380  0x00002e17 quotient  0x00000002 
+ 00014381  0x00002e18 remainder  0x0000003f 
+ 00014382  0x00002e19 nbranch  0x00003838 , 0x00000034 
+ 00014383  0x00002e1b fetch  0x00000001 , 0x000047bf 
+ 00014384  0x00002e1c isub  0x00000002 , 0x0000003e 
+ 00014385  0x00002e1d call  0x0000383d , 0x00000005 
+ 00014386  0x00002e1e arg  0x0000479c , 0x0000003f 
+ 00014387  0x00002e1f increase  0xffffffff , 0x00000002 
+ 00014388  0x00002e20 iadd  0x00000002 , 0x00000011 
+ 00014389  0x00002e21 arg  0x00000000 , 0x0000003f 
+ 00014390  0x00002e22 istore  0x00000001 , 0x00000011 
+ 00014391  0x00002e23 rtn 
+ 00014392  0x00002e25 arg  0x0000479c , 0x0000003f 
+ 00014393  0x00002e26 iadd  0x00000002 , 0x00000011 
+ 00014394  0x00002e27 arg  0x00000002 , 0x0000003f 
+ 00014395  0x00002e28 istore  0x00000001 , 0x00000011 
+ 00014396  0x00002e29 rtn 
+ 00014397  0x00002e2b jam  0x00000001 , 0x000047f0 
+ 00014398  0x00002e2c rtn 
+ 00014399  0x00002e2e copy  0x00000022 , 0x0000003f 
+ 00014400  0x00002e2f store  0x00000004 , 0x0000478b 
+ 00014401  0x00002e30 rtn 
+ 00014402  0x00002e32 copy  0x00000022 , 0x0000003f 
+ 00014403  0x00002e33 fetcht  0x00000004 , 0x0000478b 
+ 00014404  0x00002e34 isub  0x00000002 , 0x0000003f 
+ 00014405  0x00002e35 sub  0x0000003f , 0x000000c8 , 0x0000003e 
+ 00014406  0x00002e36 rtn 
+ 00014407  0x00002e39 fetcht  0x00000001 , 0x00004786 
+ 00014408  0x00002e3a branch  0x0000681d 
+ 00014409  0x00002e3d fetch  0x00000008 , 0x00004752 
+ 00014410  0x00002e3e store  0x00000008 , 0x0000479c 
+ 00014411  0x00002e3f rtn 
+ 00014412  0x00002e42 fetch  0x00000001 , 0x000047b9 
+ 00014413  0x00002e43 store  0x00000001 , 0x000047af 
+ 00014414  0x00002e44 fetch  0x00000001 , 0x000047ba 
+ 00014415  0x00002e45 store  0x00000001 , 0x000047b0 
+ 00014416  0x00002e46 fetch  0x00000001 , 0x000047bb 
+ 00014417  0x00002e47 store  0x00000001 , 0x000047b1 
+ 00014418  0x00002e48 arg  0x0000000d , 0x00000039 
+ 00014419  0x00002e49 arg  0x000047aa , 0x00000006 
+ 00014420  0x00002e4a call  0x000036f0 
+ 00014421  0x00002e4b store  0x00000001 , 0x000047b7 
+ 00014422  0x00002e4c arg  0x000047a7 , 0x00000011 
+ 00014423  0x00002e4d branch  0x00007e3d 
+ 00014424  0x00002e54 call  0x000065c2 
+ 00014425  0x00002e55 jam  0x0000007a , 0x000046f6 
+ 00014426  0x00002e56 call  0x0000386d 
+ 00014427  0x00002e57 call  0x00003867 
+ 00014428  0x00002e58 setarg  0x00003860 
+ 00014429  0x00002e59 store  0x00000002 , 0x000041fd 
+ 00014430  0x00002e5a arg  0x00000000 , 0x00000011 
+ 00014431  0x00002e5b branch  0x000069a6 
+ 00014432  0x00002e5e fetch  0x00000002 , 0x000046a1 
+ 00014433  0x00002e5f rtn  0x00000034 
+ 00014434  0x00002e60 increase  0xffffffff , 0x0000003f 
+ 00014435  0x00002e61 store  0x00000002 , 0x000046a1 
+ 00014436  0x00002e62 rtnne  0x00000000 
+ 00014437  0x00002e63 jam  0x00000000 , 0x000046a0 
+ 00014438  0x00002e64 rtn 
+ 00014439  0x00002e67 bpatch  0x000000d6 , 0x0000401a 
+ 00014440  0x00002e68 fetch  0x00000001 , 0x000046a4 
+ 00014441  0x00002e69 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00014442  0x00002e6a rtn  0x00000002 
+ 00014443  0x00002e6b jam  0x00000000 , 0x000046a4 
+ 00014444  0x00002e6c rtn 
+ 00014445  0x00002e6f arg  0x000046a4 , 0x00000011 
+ 00014446  0x00002e70 arg  0x00000000 , 0x00000012 
+ 00014447  0x00002e71 arg  0x00000051 , 0x00000002 
+ 00014448  0x00002e72 branch  0x000065df 
+ 00014449  0x00002e76 disable  0x00000028 
+ 00014450  0x00002e77 fetch  0x00000001 , 0x000046a3 
+ 00014451  0x00002e78 copy  0x0000003f , 0x00000039 
+ 00014452  0x00002e7a arg  0x000046a5 , 0x00000011 
+ 00014453  0x00002e7b copy  0x00000013 , 0x00000012 
+ 00014454  0x00002e7d bpatch  0x000000d7 , 0x0000401a 
+ 00014455  0x00002e7e call  0x0000387c 
+ 00014456  0x00002e7f branch  0x00007fe7 , 0x00000005 
+ 00014457  0x00002e81 increase  0x00000004 , 0x00000011 
+ 00014458  0x00002e82 loop  0x00003876 
+ 00014459  0x00002e83 rtn 
+ 00014460  0x00002e87 bpatch  0x000000d8 , 0x0000401b 
+ 00014461  0x00002e88 ifetch  0x00000003 , 0x00000011 
+ 00014462  0x00002e89 ifetcht  0x00000003 , 0x00000012 
+ 00014463  0x00002e8a isub  0x00000002 , 0x0000003e 
+ 00014464  0x00002e8b rtn 
+ 00014465  0x00002e8e bpatch  0x000000d9 , 0x0000401b 
+ 00014466  0x00002e8f ifetch  0x00000003 , 0x00000011 
+ 00014467  0x00002e90 ifetcht  0x00000003 , 0x00000012 
+ 00014468  0x00002e91 isub  0x00000002 , 0x0000003e 
+ 00014469  0x00002e92 nrtn  0x00000005 
+ 00014470  0x00002e93 ifetch  0x00000001 , 0x00000006 
+ 00014471  0x00002e94 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00014472  0x00002e95 rtn  0x00000005 
+ 00014473  0x00002e96 add  0x00000011 , 0x00000003 , 0x00000006 
+ 00014474  0x00002e97 ifetcht  0x00000001 , 0x00000006 
+ 00014475  0x00002e98 isub  0x00000002 , 0x0000003e 
+ 00014476  0x00002e99 rtn 
+ 00014477  0x00002e9d bpatch  0x000000da , 0x0000401b 
+ 00014478  0x00002e9e disable  0x00000028 
+ 00014479  0x00002e9f fetch  0x00000001 , 0x000046a3 
+ 00014480  0x00002ea0 copy  0x0000003f , 0x00000039 
+ 00014481  0x00002ea2 arg  0x000046a5 , 0x00000011 
+ 00014482  0x00002ea3 copy  0x00000013 , 0x00000012 
+ 00014483  0x00002ea5 call  0x00003881 
+ 00014484  0x00002ea6 branch  0x00007fe7 , 0x00000005 
+ 00014485  0x00002ea7 increase  0x00000004 , 0x00000011 
+ 00014486  0x00002ea8 loop  0x00003893 
+ 00014487  0x00002ea9 rtn 
+ 00014488  0x00002ead fetch  0x00000001 , 0x00000004 
+ 00014489  0x00002eae increase  0x00000001 , 0x0000003f 
+ 00014490  0x00002eaf store  0x00000001 , 0x00000004 
+ 00014491  0x00002eb0 arg  0x000002e5 , 0x00000013 
+ 00014492  0x00002eb3 ifetch  0x00000002 , 0x00000013 
+ 00014493  0x00002eb4 arg  0x000055aa , 0x00000002 
+ 00014494  0x00002eb5 isub  0x00000002 , 0x0000003e 
+ 00014495  0x00002eb6 nrtn  0x00000005 
+ 00014496  0x00002eb7 copy  0x00000006 , 0x00000013 
+ 00014497  0x00002eb8 ifetcht  0x00000003 , 0x00000013 
+ 00014498  0x00002eb9 setarg  0x00ffffff 
+ 00014499  0x00002eba isub  0x00000002 , 0x0000003e 
+ 00014500  0x00002ebb branch  0x000038a8 , 0x00000005 
+ 00014501  0x00002ebc call  0x0000388d 
+ 00014502  0x00002ebd branch  0x000038a8 , 0x00000028 
+ 00014503  0x00002ebe rtn 
+ 00014504  0x00002ec1 bpatch  0x000000db , 0x0000401b 
+ 00014505  0x00002ec2 increase  0x00000004 , 0x00000013 
+ 00014506  0x00002ec3 ifetch  0x00000001 , 0x00000013 
+ 00014507  0x00002ec4 fetcht  0x00000001 , 0x000046f6 
+ 00014508  0x00002ec5 isub  0x00000002 , 0x0000003e 
+ 00014509  0x00002ec6 rtn  0x00000005 
+ 00014510  0x00002ec7 store  0x00000001 , 0x000046f6 
+ 00014511  0x00002ec8 fetch  0x00000001 , 0x00000003 
+ 00014512  0x00002ec9 increase  0x00000001 , 0x0000003f 
+ 00014513  0x00002eca store  0x00000001 , 0x00000003 
+ 00014514  0x00002ecc increase  0x00000001 , 0x00000013 
+ 00014515  0x00002ecd ifetch  0x00000001 , 0x00000013 
+ 00014516  0x00002ece store  0x00000001 , 0x000046f5 
+ 00014517  0x00002ecf copy  0x0000003f , 0x00000039 
+ 00014518  0x00002ed0 rtn  0x00000034 
+ 00014519  0x00002ed2 ifetch  0x00000001 , 0x00000006 
+ 00014520  0x00002ed3 beq  0x00000000 , 0x000038c2 
+ 00014521  0x00002ed4 beq  0x00000001 , 0x000038cf 
+ 00014522  0x00002ed5 beq  0x00000002 , 0x000038d4 
+ 00014523  0x00002ed6 beq  0x00000003 , 0x000038d9 
+ 00014524  0x00002ed7 beq  0x00000004 , 0x000038de 
+ 00014525  0x00002ed8 beq  0x00000005 , 0x000038e3 
+ 00014526  0x00002ed9 beq  0x00000006 , 0x000038e8 
+ 00014527  0x00002eda beq  0x000000ff , 0x000038ea 
+ 00014528  0x00002edb loop  0x000038b7 
+ 00014529  0x00002edc rtn 
+ 00014530  0x00002edf copy  0x00000006 , 0x00000013 
+ 00014531  0x00002ee0 fetch  0x00000001 , 0x0000469a 
+ 00014532  0x00002ee1 store  0x00000001 , 0x00000a9a 
+ 00014533  0x00002ee2 arg  0x00000000 , 0x00000002 
+ 00014534  0x00002ee4 storet  0x00000001 , 0x00000a9b 
+ 00014535  0x00002ee5 setarg  0x00002710 
+ 00014536  0x00002ee6 store  0x00000003 , 0x00000a9c 
+ 00014537  0x00002ee7 ifetch  0x00000001 , 0x00000013 
+ 00014538  0x00002ee8 store  0x00000001 , 0x00000a9f 
+ 00014539  0x00002ee9 call  0x000069ae 
+ 00014540  0x00002eea and  0x00000013 , 0x00000001 , 0x00000006 
+ 00014541  0x00002eeb loop  0x000038b7 
+ 00014542  0x00002eec rtn 
+ 00014543  0x00002eee copy  0x00000013 , 0x00000006 
+ 00014544  0x00002eef fetch  0x00000001 , 0x0000469b 
+ 00014545  0x00002ef0 store  0x00000001 , 0x00000a9a 
+ 00014546  0x00002ef1 arg  0x00000001 , 0x00000002 
+ 00014547  0x00002ef2 branch  0x000038c6 
+ 00014548  0x00002ef4 copy  0x00000013 , 0x00000006 
+ 00014549  0x00002ef5 fetch  0x00000001 , 0x0000469c 
+ 00014550  0x00002ef6 store  0x00000001 , 0x00000a9a 
+ 00014551  0x00002ef7 arg  0x00000002 , 0x00000002 
+ 00014552  0x00002ef8 branch  0x000038c6 
+ 00014553  0x00002efa copy  0x00000013 , 0x00000006 
+ 00014554  0x00002efb fetch  0x00000001 , 0x0000469d 
+ 00014555  0x00002efc store  0x00000001 , 0x00000a9a 
+ 00014556  0x00002efd arg  0x00000003 , 0x00000002 
+ 00014557  0x00002efe branch  0x000038c6 
+ 00014558  0x00002f00 copy  0x00000013 , 0x00000006 
+ 00014559  0x00002f01 fetch  0x00000001 , 0x0000469e 
+ 00014560  0x00002f02 store  0x00000001 , 0x00000a9a 
+ 00014561  0x00002f03 arg  0x00000004 , 0x00000002 
+ 00014562  0x00002f04 branch  0x000038c6 
+ 00014563  0x00002f06 copy  0x00000013 , 0x00000006 
+ 00014564  0x00002f07 fetch  0x00000001 , 0x0000469f 
+ 00014565  0x00002f08 store  0x00000001 , 0x00000a9a 
+ 00014566  0x00002f09 arg  0x00000005 , 0x00000002 
+ 00014567  0x00002f0a branch  0x000038c6 
+ 00014568  0x00002f0d ifetch  0x00000001 , 0x00000006 
+ 00014569  0x00002f0e rtn 
+ 00014570  0x00002f11 copy  0x00000006 , 0x00000013 
+ 00014571  0x00002f12 fetch  0x00000001 , 0x000046a0 
+ 00014572  0x00002f13 bne  0x00000001 , 0x000038ee 
+ 00014573  0x00002f14 call  0x000038f0 
+ 00014574  0x00002f16 and  0x00000013 , 0x00000004 , 0x00000006 
+ 00014575  0x00002f17 rtn 
+ 00014576  0x00002f19 bpatch  0x000000dc , 0x0000401b 
+ 00014577  0x00002f1a call  0x00003871 
+ 00014578  0x00002f1b branch  0x000038fe , 0x00000028 
+ 00014579  0x00002f1c fetch  0x00000001 , 0x000046a4 
+ 00014580  0x00002f1d copy  0x0000003f , 0x00000002 
+ 00014581  0x00002f1e increase  0x00000001 , 0x0000003f 
+ 00014582  0x00002f1f store  0x00000001 , 0x000046a4 
+ 00014583  0x00002f20 call  0x00003867 
+ 00014584  0x00002f21 lshift2  0x00000002 , 0x00000002 
+ 00014585  0x00002f22 setarg  0x000046a5 
+ 00014586  0x00002f23 iadd  0x00000002 , 0x00000005 
+ 00014587  0x00002f24 ifetch  0x00000004 , 0x00000013 
+ 00014588  0x00002f25 istore  0x00000004 , 0x00000005 
+ 00014589  0x00002f26 branch  0x00003903 
+ 00014590  0x00002f28 add  0x00000013 , 0x00000003 , 0x00000006 
+ 00014591  0x00002f29 ifetch  0x00000001 , 0x00000006 
+ 00014592  0x00002f2a rtn  0x00000034 
+ 00014593  0x00002f2b ifetch  0x00000004 , 0x00000013 
+ 00014594  0x00002f2c istore  0x00000004 , 0x00000011 
+ 00014595  0x00002f2e arg  0x000046a4 , 0x00000011 
+ 00014596  0x00002f2f arg  0x00000000 , 0x00000012 
+ 00014597  0x00002f30 arg  0x00000051 , 0x00000002 
+ 00014598  0x00002f31 branch  0x00006606 
+ 00014599  0x00002f39 fetcht  0x00000001 , 0x0000469a 
+ 00014600  0x00002f3a call  0x00006825 
+ 00014601  0x00002f3b rtn 
+ 00014602  0x00002f41 fetcht  0x00000001 , 0x0000469a 
+ 00014603  0x00002f42 call  0x00006829 
+ 00014604  0x00002f45 fetcht  0x00000001 , 0x0000469a 
+ 00014605  0x00002f46 call  0x00006825 
+ 00014606  0x00002f49 call  0x0000391d 
+ 00014607  0x00002f4b fetch  0x00000001 , 0x000046a7 
+ 00014608  0x00002f4c nrtn  0x00000034 
+ 00014609  0x00002f4e call  0x00002c29 
+ 00014610  0x00002f4f hfetch  0x00000004 , 0x00008138 
+ 00014611  0x00002f50 set0  0x0000000f , 0x0000003f 
+ 00014612  0x00002f51 hstore  0x00000004 , 0x0000804c 
+ 00014613  0x00002f52 call  0x00002c21 
+ 00014614  0x00002f53 arg  0xffffffff , 0x00000002 
+ 00014615  0x00002f54 branch  0x00002b2a 
+ 00014616  0x00002f57 fetch  0x00000001 , 0x000046a7 
+ 00014617  0x00002f58 branch  0x000056f9 , 0x00000034 
+ 00014618  0x00002f59 increase  0xffffffff , 0x0000003f 
+ 00014619  0x00002f5a store  0x00000001 , 0x000046a7 
+ 00014620  0x00002f5b branch  0x000056f9 
+ 00014621  0x00002f5e mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00014622  0x00002f5f arg  0x000046a8 , 0x00000006 
+ 00014623  0x00002f60 iadd  0x00000006 , 0x00000006 
+ 00014624  0x00002f61 ifetch  0x00000001 , 0x00000006 
+ 00014625  0x00002f62 rtn  0x00000034 
+ 00014626  0x00002f63 copy  0x0000003f , 0x00000011 
+ 00014627  0x00002f64 copy  0x00000011 , 0x00000039 
+ 00014628  0x00002f65 arg  0x00004372 , 0x00000005 
+ 00014629  0x00002f66 call  0x00007f01 
+ 00014630  0x00002f67 copy  0x00000011 , 0x0000003f 
+ 00014631  0x00002f68 increase  0x00000002 , 0x0000003f 
+ 00014632  0x00002f69 store  0x00000001 , 0x0000436f 
+ 00014633  0x00002f6a rtn 
+ 00014634  0x00002f73 rtn  0x0000002b 
+ 00014635  0x00002f74 call  0x000057a3 
+ 00014636  0x00002f75 call  0x000068a8 
+ 00014637  0x00002f76 setarg  0x00003982 
+ 00014638  0x00002f77 store  0x00000002 , 0x000041f3 
+ 00014639  0x00002f78 setarg  0x0000396e 
+ 00014640  0x00002f79 store  0x00000002 , 0x000041f1 
+ 00014641  0x00002f7a setarg  0x00003986 
+ 00014642  0x00002f7b store  0x00000002 , 0x000041f5 
+ 00014643  0x00002f7c setarg  0x0000396d 
+ 00014644  0x00002f7d store  0x00000002 , 0x000041ef 
+ 00014645  0x00002f7e setarg  0x00003969 
+ 00014646  0x00002f7f store  0x00000002 , 0x000041e9 
+ 00014647  0x00002f80 setarg  0x00003ab7 
+ 00014648  0x00002f81 store  0x00000002 , 0x000041fb 
+ 00014649  0x00002f82 setarg  0x00003c32 
+ 00014650  0x00002f83 store  0x00000002 , 0x0000456f 
+ 00014651  0x00002f84 setarg  0x00003cc2 
+ 00014652  0x00002f85 store  0x00000002 , 0x000041f9 
+ 00014653  0x00002f86 setarg  0x00003cd7 
+ 00014654  0x00002f87 store  0x00000002 , 0x000041fd 
+ 00014655  0x00002f89 call  0x0000397f 
+ 00014656  0x00002f8a bpatch  0x000000dd , 0x0000401b 
+ 00014657  0x00002f8b call  0x00003945 
+ 00014658  0x00002f8c call  0x00003964 
+ 00014659  0x00002f8d call  0x00002c6f 
+ 00014660  0x00002f8e branch  0x00003c48 
+ 00014661  0x00002f92 fetch  0x00000004 , 0x000046aa 
+ 00014662  0x00002f93 hstore  0x00000004 , 0x00008054 
+ 00014663  0x00002f95 fetch  0x00000004 , 0x000046ae 
+ 00014664  0x00002f96 hstore  0x00000004 , 0x0000805a 
+ 00014665  0x00002f98 hfetch  0x00000001 , 0x00008081 
+ 00014666  0x00002f99 or_into  0x00000004 , 0x0000003f 
+ 00014667  0x00002f9a and_into  0x000000fc , 0x0000003f 
+ 00014668  0x00002f9b hstore  0x00000001 , 0x00008081 
+ 00014669  0x00002f9c jam  0x00000000 , 0x00008062 
+ 00014670  0x00002f9e fetch  0x00000002 , 0x000046aa 
+ 00014671  0x00002f9f hstore  0x00000002 , 0x00008058 
+ 00014672  0x00002fa0 fetch  0x00000002 , 0x000046ae 
+ 00014673  0x00002fa1 hstore  0x00000002 , 0x0000805e 
+ 00014674  0x00002fa2 hstore  0x00000002 , 0x00008060 
+ 00014675  0x00002fa4 hfetch  0x00000004 , 0x00008078 
+ 00014676  0x00002fa5 set1  0x00000007 , 0x0000003f 
+ 00014677  0x00002fa6 hstore  0x00000004 , 0x00008078 
+ 00014678  0x00002fa8 hfetch  0x00000002 , 0x00008050 
+ 00014679  0x00002fa9 set0  0x0000000f , 0x0000003f 
+ 00014680  0x00002faa hstore  0x00000002 , 0x00008050 
+ 00014681  0x00002fab call  0x000066ce 
+ 00014682  0x00002fac jam  0x00000000 , 0x00008043 
+ 00014683  0x00002fad jam  0x00000081 , 0x00008062 
+ 00014684  0x00002faf fetch  0x00000001 , 0x000046bf 
+ 00014685  0x00002fb0 isolate1  0x00000000 , 0x0000003f 
+ 00014686  0x00002fb1 hfetcht  0x00000001 , 0x00008062 
+ 00014687  0x00002fb2 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00014688  0x00002fb3 hstoret  0x00000001 , 0x00008062 
+ 00014689  0x00002fb4 rtn 
+ 00014690  0x00002fb9 call  0x0000397f 
+ 00014691  0x00002fba branch  0x00003945 
+ 00014692  0x00002fc2 fetcht  0x00000001 , 0x0000469e 
+ 00014693  0x00002fc3 call  0x0000680e 
+ 00014694  0x00002fc4 call  0x000039e6 
+ 00014695  0x00002fc6 fetcht  0x00000001 , 0x0000469c 
+ 00014696  0x00002fc7 branch  0x000067fb 
+ 00014697  0x00002fca fetcht  0x00000001 , 0x0000469c 
+ 00014698  0x00002fcb call  0x0000681d 
+ 00014699  0x00002fcc nbranch  0x000033d2 , 0x00000001 
+ 00014700  0x00002fcd branch  0x000033d0 
+ 00014701  0x00002fd1 rtn 
+ 00014702  0x00002fd4 call  0x00003970 
+ 00014703  0x00002fd5 branch  0x00003ce9 
+ 00014704  0x00002fd8 fetch  0x00000001 , 0x00004682 
+ 00014705  0x00002fd9 bbit0  0x00000004 , 0x0000397f 
+ 00014706  0x00002fda bpatch  0x000000de , 0x0000401b 
+ 00014707  0x00002fdb setarg  0x00003eff 
+ 00014708  0x00002fdc fetcht  0x00000004 , 0x000046c5 
+ 00014709  0x00002fdd iadd  0x00000002 , 0x00000002 
+ 00014710  0x00002fde copy  0x00000022 , 0x0000003f 
+ 00014711  0x00002fdf isub  0x00000002 , 0x0000003e 
+ 00014712  0x00002fe0 nrtn  0x00000002 
+ 00014713  0x00002fe1 fetch  0x00000002 , 0x00004682 
+ 00014714  0x00002fe2 bbit1  0x00000005 , 0x0000397f 
+ 00014715  0x00002fe3 fetch  0x00000001 , 0x000046bf 
+ 00014716  0x00002fe4 rtnbit1  0x00000006 
+ 00014717  0x00002fe5 call  0x00003cec 
+ 00014718  0x00002fe6 call  0x0000340e 
+ 00014719  0x00002fe8 copy  0x00000022 , 0x0000003f 
+ 00014720  0x00002fe9 store  0x00000004 , 0x000046c5 
+ 00014721  0x00002fea rtn 
+ 00014722  0x00002fee call  0x00003ce9 
+ 00014723  0x00002fef call  0x0000526e 
+ 00014724  0x00002ff0 nrtn  0x00000034 
+ 00014725  0x00002ff1 branch  0x000039eb 
+ 00014726  0x00002ff5 copy  0x00000013 , 0x0000003f 
+ 00014727  0x00002ff6 beq  0x00000001 , 0x000039d4 
+ 00014728  0x00002ff7 beq  0x00000002 , 0x000039a3 
+ 00014729  0x00002ff8 beq  0x00000004 , 0x000039d7 
+ 00014730  0x00002ff9 beq  0x00000005 , 0x000039c4 
+ 00014731  0x00002ffa beq  0x00000008 , 0x000039aa 
+ 00014732  0x00002ffb beq  0x00000009 , 0x000039b1 
+ 00014733  0x00002ffc beq  0x0000000a , 0x000039c9 
+ 00014734  0x00002ffd beq  0x0000000b , 0x000039b6 
+ 00014735  0x00002ffe beq  0x0000000c , 0x000039c2 
+ 00014736  0x00002fff beq  0x00000013 , 0x000039d7 
+ 00014737  0x00003000 beq  0x00000014 , 0x000039cf 
+ 00014738  0x00003001 beq  0x00000015 , 0x000039c6 
+ 00014739  0x00003002 beq  0x00000021 , 0x000039ca 
+ 00014740  0x00003003 beq  0x00000023 , 0x000039cb 
+ 00014741  0x00003004 beq  0x00000024 , 0x000039ce 
+ 00014742  0x00003005 beq  0x00000030 , 0x00003c8a 
+ 00014743  0x00003006 beq  0x00000031 , 0x00003c8c 
+ 00014744  0x00003007 beq  0x00000032 , 0x00003c9a 
+ 00014745  0x00003008 beq  0x00000033 , 0x00003c98 
+ 00014746  0x00003009 beq  0x00000034 , 0x00003c84 
+ 00014747  0x0000300a beq  0x00000035 , 0x00003c73 
+ 00014748  0x0000300b beq  0x00000036 , 0x00003c82 
+ 00014749  0x0000300c beq  0x00000037 , 0x00003c8e 
+ 00014750  0x0000300d beq  0x00000038 , 0x00003c90 
+ 00014751  0x0000300e beq  0x0000003b , 0x00003ca1 
+ 00014752  0x0000300f beq  0x0000003d , 0x00003c6a 
+ 00014753  0x00003010 beq  0x00000041 , 0x000039d9 
+ 00014754  0x00003011 rtn 
+ 00014755  0x00003015 call  0x0000397f 
+ 00014756  0x00003016 fetch  0x00000001 , 0x00004665 
+ 00014757  0x00003017 ncall  0x00003c8e , 0x00000034 
+ 00014758  0x00003018 call  0x000039d7 
+ 00014759  0x00003019 fetch  0x00000002 , 0x00004682 
+ 00014760  0x0000301a rtnbit0  0x00000004 
+ 00014761  0x0000301b branch  0x000039b1 
+ 00014762  0x0000301e fetch  0x00000002 , 0x00004682 
+ 00014763  0x0000301f set1  0x00000004 , 0x0000003f 
+ 00014764  0x00003020 store  0x00000002 , 0x00004682 
+ 00014765  0x00003021 fetch  0x00000001 , 0x000046a7 
+ 00014766  0x00003022 store  0x00000001 , 0x00004172 
+ 00014767  0x00003023 call  0x000039e6 
+ 00014768  0x00003024 branch  0x00003c1d 
+ 00014769  0x00003029 fetch  0x00000002 , 0x00004682 
+ 00014770  0x0000302a rtnbit0  0x00000004 
+ 00014771  0x0000302b set0  0x00000004 , 0x0000003f 
+ 00014772  0x0000302c store  0x00000002 , 0x00004682 
+ 00014773  0x0000302d branch  0x00003c21 
+ 00014774  0x00003033 call  0x0000397f 
+ 00014775  0x00003036 fetch  0x00000002 , 0x00004042 
+ 00014776  0x00003037 rshift  0x0000003f , 0x0000003f 
+ 00014777  0x00003038 fetcht  0x00000002 , 0x000041e3 
+ 00014778  0x00003039 isub  0x00000002 , 0x0000003e 
+ 00014779  0x0000303a nbranch  0x000039bd , 0x00000005 
+ 00014780  0x0000303b branch  0x00003416 
+ 00014781  0x0000303d fetch  0x00000001 , 0x000046bf 
+ 00014782  0x0000303e rtnbit1  0x00000005 
+ 00014783  0x0000303f hfetch  0x00000002 , 0x00008112 
+ 00014784  0x00003040 ncall  0x00003cf0 , 0x00000034 
+ 00014785  0x00003041 branch  0x0000340c 
+ 00014786  0x00003044 call  0x00003cee 
+ 00014787  0x00003045 branch  0x00003418 
+ 00014788  0x00003048 call  0x0000397f 
+ 00014789  0x00003049 branch  0x000039dd 
+ 00014790  0x0000304c call  0x00005816 
+ 00014791  0x0000304d call  0x000039d7 
+ 00014792  0x0000304e branch  0x00003c23 
+ 00014793  0x00003051 branch  0x000033dd 
+ 00014794  0x00003055 branch  0x00003cee 
+ 00014795  0x00003059 fetch  0x00000001 , 0x000046bf 
+ 00014796  0x0000305a bbit0  0x00000005 , 0x0000340e 
+ 00014797  0x0000305b branch  0x00003cf2 
+ 00014798  0x0000305f branch  0x00003cf2 
+ 00014799  0x00003063 call  0x000058ba 
+ 00014800  0x00003064 call  0x000039dd 
+ 00014801  0x00003065 fetch  0x00000001 , 0x000046a8 
+ 00014802  0x00003066 store  0x00000001 , 0x00004172 
+ 00014803  0x00003067 branch  0x00003c1f 
+ 00014804  0x0000306b jam  0x00000000 , 0x00004661 
+ 00014805  0x0000306c call  0x00003cee 
+ 00014806  0x0000306d branch  0x00003cf2 
+ 00014807  0x00003072 call  0x00003a52 
+ 00014808  0x00003073 branch  0x000039db 
+ 00014809  0x00003077 call  0x00005cc9 
+ 00014810  0x00003078 branch  0x00005b02 
+ 00014811  0x0000307c fetcht  0x00000001 , 0x0000469e 
+ 00014812  0x0000307d branch  0x00006829 
+ 00014813  0x00003080 call  0x000039df 
+ 00014814  0x00003081 branch  0x000039e6 
+ 00014815  0x00003084 fetch  0x00000001 , 0x000046a1 
+ 00014816  0x00003085 isolate1  0x00000000 , 0x0000003f 
+ 00014817  0x00003086 call  0x000033f0 , 0x00000001 
+ 00014818  0x00003087 fetch  0x00000001 , 0x000046a1 
+ 00014819  0x00003088 isolate1  0x00000001 , 0x0000003f 
+ 00014820  0x00003089 call  0x000033f8 , 0x00000001 
+ 00014821  0x0000308a rtn 
+ 00014822  0x0000308c fetcht  0x00000001 , 0x0000469e 
+ 00014823  0x0000308d branch  0x00006825 
+ 00014824  0x00003090 fetch  0x00000001 , 0x0000456b 
+ 00014825  0x00003091 rtneq  0x00000000 
+ 00014826  0x00003092 branch  0x00006c28 
+ 00014827  0x00003095 hfetch  0x00000001 , 0x0000810c 
+ 00014828  0x00003096 bbit1  0x00000003 , 0x000039e8 
+ 00014829  0x00003097 call  0x000066cb 
+ 00014830  0x00003098 ifetch  0x00000001 , 0x00000003 
+ 00014831  0x00003099 bne  0x00000001 , 0x00003a01 
+ 00014832  0x0000309a hfetch  0x00000002 , 0x00008112 
+ 00014833  0x0000309b sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00014834  0x0000309c rtn  0x00000002 
+ 00014835  0x0000309d ifetch  0x00000001 , 0x00000003 
+ 00014836  0x0000309e store  0x00000001 , 0x00000b03 
+ 00014837  0x0000309f ifetcht  0x00000001 , 0x00000003 
+ 00014838  0x000030a0 copy  0x00000003 , 0x00000011 
+ 00014839  0x000030a1 storet  0x00000001 , 0x00000b04 
+ 00014840  0x000030a2 add  0x00000002 , 0x00000003 , 0x00000002 
+ 00014841  0x000030a3 hfetch  0x00000002 , 0x00008112 
+ 00014842  0x000030a4 isub  0x00000002 , 0x00000002 
+ 00014843  0x000030a5 nrtn  0x00000002 
+ 00014844  0x000030a6 jam  0x00000001 , 0x00000b05 
+ 00014845  0x000030a7 call  0x00003a17 
+ 00014846  0x000030a8 fetch  0x00000001 , 0x00000b05 
+ 00014847  0x000030a9 rtneq  0x00000000 
+ 00014848  0x000030aa branch  0x00003a12 
+ 00014849  0x000030ad call  0x00007ec1 
+ 00014850  0x000030ae call  0x00003c79 
+ 00014851  0x000030af branch  0x00003a04 
+ 00014852  0x000030b3 bpatch  0x000000df , 0x0000401b 
+ 00014853  0x000030b4 hfetch  0x00000002 , 0x00008112 
+ 00014854  0x000030b5 rtn  0x00000034 
+ 00014855  0x000030b6 call  0x000066cb 
+ 00014856  0x000030b7 ifetch  0x00000001 , 0x00000003 
+ 00014857  0x000030b8 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00014858  0x000030b9 ncall  0x00003a16 , 0x00000005 
+ 00014859  0x000030ba nbranch  0x00003a04 , 0x00000005 
+ 00014860  0x000030bb ifetch  0x00000001 , 0x00000003 
+ 00014861  0x000030bc rtneq  0x00000005 
+ 00014862  0x000030bd rtneq  0x00000029 
+ 00014863  0x000030be increase  0xffffffff , 0x00000003 
+ 00014864  0x000030bf call  0x00003a16 
+ 00014865  0x000030c0 branch  0x00003a04 
+ 00014866  0x000030c3 call  0x000066cb 
+ 00014867  0x000030c4 increase  0x00000002 , 0x00000003 
+ 00014868  0x000030c5 ifetch  0x00000001 , 0x00000003 
+ 00014869  0x000030c6 iadd  0x00000003 , 0x00000003 
+ 00014870  0x000030c8 branch  0x000066c8 
+ 00014871  0x000030cc bpatch  0x000000e0 , 0x0000401c 
+ 00014872  0x000030cd fetch  0x00000001 , 0x00000b03 
+ 00014873  0x000030ce beq  0x00000000 , 0x00003a3f 
+ 00014874  0x000030cf beq  0x00000001 , 0x00003a44 
+ 00014875  0x000030d0 beq  0x00000002 , 0x00003a49 
+ 00014876  0x000030d1 beq  0x00000003 , 0x00003a5f 
+ 00014877  0x000030d2 beq  0x00000004 , 0x00003a6b 
+ 00014878  0x000030d3 beq  0x00000005 , 0x00003a75 
+ 00014879  0x000030d4 beq  0x00000009 , 0x00003a9a 
+ 00014880  0x000030d5 beq  0x0000000b , 0x00003ad7 
+ 00014881  0x000030d6 beq  0x0000000c , 0x00003ad8 
+ 00014882  0x000030d7 beq  0x0000000d , 0x00003aec 
+ 00014883  0x000030d8 beq  0x0000000e , 0x00003af4 
+ 00014884  0x000030d9 beq  0x0000000f , 0x00003afa 
+ 00014885  0x000030da beq  0x00000010 , 0x00003b06 
+ 00014886  0x000030db beq  0x00000011 , 0x00003b0e 
+ 00014887  0x000030dc beq  0x00000012 , 0x00003b12 
+ 00014888  0x000030dd beq  0x00000026 , 0x00003b16 
+ 00014889  0x000030de beq  0x00000028 , 0x00003b1d 
+ 00014890  0x000030df beq  0x00000029 , 0x00003b2d 
+ 00014891  0x000030e0 beq  0x0000002a , 0x00003b36 
+ 00014892  0x000030e1 beq  0x0000002b , 0x00003b69 
+ 00014893  0x000030e2 beq  0x0000002c , 0x00003b6f 
+ 00014894  0x000030e3 beq  0x00000030 , 0x00003b76 
+ 00014895  0x000030e4 beq  0x00000031 , 0x00003b7c 
+ 00014896  0x000030e5 beq  0x00000032 , 0x00003b90 
+ 00014897  0x000030e6 beq  0x00000033 , 0x00003b98 
+ 00014898  0x000030e7 beq  0x00000034 , 0x00003bbb 
+ 00014899  0x000030e8 beq  0x00000035 , 0x00003bc4 
+ 00014900  0x000030e9 beq  0x00000036 , 0x00003bcd 
+ 00014901  0x000030ea beq  0x00000037 , 0x00003bd7 
+ 00014902  0x000030eb beq  0x00000038 , 0x00003bda 
+ 00014903  0x000030ec beq  0x00000040 , 0x00003be2 
+ 00014904  0x000030ed beq  0x00000042 , 0x00003bec 
+ 00014905  0x000030ee beq  0x00000048 , 0x00003bf1 
+ 00014906  0x000030ef beq  0x00000049 , 0x00003bfc 
+ 00014907  0x000030f0 beq  0x00000051 , 0x00003c02 
+ 00014908  0x000030f1 beq  0x00000061 , 0x00003c06 
+ 00014909  0x000030f2 beq  0x000000ff , 0x00003c15 
+ 00014910  0x000030f3 branch  0x00003c17 
+ 00014911  0x000030f9 fetch  0x00000001 , 0x00000b04 
+ 00014912  0x000030fa bne  0x00000006 , 0x00003c17 
+ 00014913  0x000030fb ifetch  0x00000006 , 0x00000003 
+ 00014914  0x000030fc store  0x00000006 , 0x000040a0 
+ 00014915  0x000030fd branch  0x00003c1a 
+ 00014916  0x00003101 fetch  0x00000001 , 0x00000b04 
+ 00014917  0x00003102 bne  0x00000006 , 0x00003c17 
+ 00014918  0x00003103 ifetch  0x00000006 , 0x00000003 
+ 00014919  0x00003104 store  0x00000006 , 0x000044a0 
+ 00014920  0x00003105 branch  0x00003c1a 
+ 00014921  0x0000310a fetch  0x00000001 , 0x00000b04 
+ 00014922  0x0000310b bne  0x00000001 , 0x00003c17 
+ 00014923  0x0000310c copy  0x00000011 , 0x00000003 
+ 00014924  0x0000310d call  0x00003c1a 
+ 00014925  0x0000310e ifetcht  0x00000001 , 0x00000003 
+ 00014926  0x0000310f storet  0x00000001 , 0x000046a9 
+ 00014927  0x00003110 fetch  0x00000002 , 0x00004682 
+ 00014928  0x00003111 rtnbit1  0x00000009 
+ 00014929  0x00003112 rtnbit1  0x00000000 
+ 00014930  0x00003114 fetch  0x00000001 , 0x000046a1 
+ 00014931  0x00003115 isolate1  0x00000000 , 0x0000003f 
+ 00014932  0x00003116 nbranch  0x00003a58 , 0x00000001 
+ 00014933  0x00003117 fetcht  0x00000001 , 0x000046a9 
+ 00014934  0x00003118 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00014935  0x00003119 store  0x00000001 , 0x00004093 
+ 00014936  0x0000311b fetch  0x00000001 , 0x000046a1 
+ 00014937  0x0000311c isolate1  0x00000001 , 0x0000003f 
+ 00014938  0x0000311d nrtn  0x00000001 
+ 00014939  0x0000311e fetcht  0x00000001 , 0x000046a9 
+ 00014940  0x0000311f isolate1  0x00000002 , 0x00000002 
+ 00014941  0x00003120 branch  0x000033fa , 0x00000001 
+ 00014942  0x00003121 branch  0x000033f8 
+ 00014943  0x00003126 fetch  0x00000001 , 0x00000b04 
+ 00014944  0x00003127 sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00014945  0x00003128 nbranch  0x00003c17 , 0x00000002 
+ 00014946  0x00003129 store  0x00000001 , 0x00004515 
+ 00014947  0x0000312a arg  0x00000008 , 0x00000039 
+ 00014948  0x0000312b call  0x00007ec6 
+ 00014949  0x0000312c fetch  0x00000001 , 0x00000b04 
+ 00014950  0x0000312d copy  0x0000003f , 0x00000039 
+ 00014951  0x0000312e copy  0x00000011 , 0x00000003 
+ 00014952  0x0000312f arg  0x00004516 , 0x00000005 
+ 00014953  0x00003130 call  0x000066ea 
+ 00014954  0x00003131 branch  0x00003c1a 
+ 00014955  0x00003136 fetch  0x00000001 , 0x00000b04 
+ 00014956  0x00003137 sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00014957  0x00003138 nbranch  0x00003c17 , 0x00000002 
+ 00014958  0x00003139 store  0x00000001 , 0x000043af 
+ 00014959  0x0000313a copy  0x0000003f , 0x00000039 
+ 00014960  0x0000313b copy  0x00000011 , 0x00000003 
+ 00014961  0x0000313c arg  0x000043b0 , 0x00000005 
+ 00014962  0x0000313d call  0x000066ea 
+ 00014963  0x0000313e call  0x000057a3 
+ 00014964  0x0000313f branch  0x00003c1a 
+ 00014965  0x00003144 fetch  0x00000001 , 0x00004682 
+ 00014966  0x00003145 bbit0  0x00000004 , 0x00003c17 
+ 00014967  0x00003146 call  0x000033ba 
+ 00014968  0x00003147 branch  0x00003a86 , 0x00000001 
+ 00014969  0x00003148 jam  0x00000000 , 0x00000b05 
+ 00014970  0x0000314a call  0x0000397f 
+ 00014971  0x0000314b fetch  0x00000001 , 0x00004568 
+ 00014972  0x0000314c rtn  0x00000034 
+ 00014973  0x0000314d fetch  0x00000002 , 0x00004573 
+ 00014974  0x0000314e bne  0x00000000 , 0x00003a84 
+ 00014975  0x0000314f fetch  0x00000001 , 0x00000b04 
+ 00014976  0x00003150 store  0x00000002 , 0x00004573 
+ 00014977  0x00003152 copy  0x00000011 , 0x00000003 
+ 00014978  0x00003155 copy  0x00000003 , 0x0000003f 
+ 00014979  0x00003156 store  0x00000002 , 0x00004571 
+ 00014980  0x00003158 call  0x00003a88 
+ 00014981  0x00003159 branch  0x00006c4d 
+ 00014982  0x0000315c jam  0x00000000 , 0x00000b05 
+ 00014983  0x0000315d branch  0x00003cd1 
+ 00014984  0x00003160 call  0x00003a8e 
+ 00014985  0x00003161 fetch  0x00000002 , 0x00004573 
+ 00014986  0x00003162 fetcht  0x00000002 , 0x0000469f 
+ 00014987  0x00003163 isub  0x00000002 , 0x0000003f 
+ 00014988  0x00003164 store  0x00000002 , 0x00004573 
+ 00014989  0x00003165 rtn 
+ 00014990  0x00003168 fetch  0x00000002 , 0x00004573 
+ 00014991  0x00003169 arg  0x0000006e , 0x00000002 
+ 00014992  0x0000316a call  0x00007fdd 
+ 00014993  0x0000316b fetcht  0x00000002 , 0x0000456c 
+ 00014994  0x0000316c call  0x00007fdd 
+ 00014995  0x0000316d fetcht  0x00000002 , 0x0000455e 
+ 00014996  0x0000316e call  0x00007fdd 
+ 00014997  0x0000316f store  0x00000002 , 0x0000469f 
+ 00014998  0x00003170 rtn 
+ 00014999  0x00003173 jam  0x00000001 , 0x00000b05 
+ 00015000  0x00003174 jam  0x00000005 , 0x00000b03 
+ 00015001  0x00003175 branch  0x00003c1a 
+ 00015002  0x0000317a fetch  0x00000002 , 0x00004682 
+ 00015003  0x0000317b bbit0  0x00000009 , 0x00003c17 
+ 00015004  0x0000317c call  0x00003ad4 
+ 00015005  0x0000317d branch  0x00003c17 , 0x00000028 
+ 00015006  0x0000317e jam  0x00000000 , 0x00000b05 
+ 00015007  0x0000317f fetch  0x00000001 , 0x000046bf 
+ 00015008  0x00003180 bbit1  0x00000004 , 0x00003ab4 
+ 00015009  0x00003181 fetch  0x00000001 , 0x000046c0 
+ 00015010  0x00003182 nrtn  0x00000034 
+ 00015011  0x00003183 jam  0x00000001 , 0x00000b05 
+ 00015012  0x00003184 ifetch  0x00000002 , 0x00000003 
+ 00015013  0x00003185 store  0x00000002 , 0x000046c1 
+ 00015014  0x00003186 copy  0x00000003 , 0x0000003f 
+ 00015015  0x00003187 store  0x00000002 , 0x000046c3 
+ 00015016  0x00003188 fetch  0x00000001 , 0x00000b04 
+ 00015017  0x00003189 pincrease  0xfffffffe 
+ 00015018  0x0000318a nbranch  0x00003c17 , 0x00000002 
+ 00015019  0x0000318b branch  0x00003c17 , 0x00000005 
+ 00015020  0x0000318c store  0x00000001 , 0x000046c0 
+ 00015021  0x0000318d jam  0x00000000 , 0x00000b05 
+ 00015022  0x0000318e call  0x00005814 
+ 00015023  0x0000318f call  0x00003ab7 
+ 00015024  0x00003190 call  0x00003ab7 
+ 00015025  0x00003191 call  0x00003ab7 
+ 00015026  0x00003192 fetch  0x00000001 , 0x000046bf 
+ 00015027  0x00003193 rtnbit0  0x00000004 
+ 00015028  0x00003195 jam  0x00000001 , 0x00000b05 
+ 00015029  0x00003196 call  0x00003cf6 
+ 00015030  0x00003197 branch  0x00003c1a 
+ 00015031  0x0000319a fetch  0x00000001 , 0x000046c0 
+ 00015032  0x0000319b rtn  0x00000034 
+ 00015033  0x0000319c call  0x00005892 
+ 00015034  0x0000319d nrtn  0x00000034 
+ 00015035  0x0000319e call  0x00003acf 
+ 00015036  0x0000319f bpatch  0x000000e1 , 0x0000401c 
+ 00015037  0x000031a0 add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00015038  0x000031a1 fetcht  0x00000001 , 0x000046c0 
+ 00015039  0x000031a2 call  0x00007fdd 
+ 00015040  0x000031a3 copy  0x0000003f , 0x00000011 
+ 00015041  0x000031a4 copy  0x00000002 , 0x0000003f 
+ 00015042  0x000031a5 isub  0x00000011 , 0x0000003f 
+ 00015043  0x000031a6 store  0x00000001 , 0x000046c0 
+ 00015044  0x000031a7 fetcht  0x00000002 , 0x000046c1 
+ 00015045  0x000031a8 call  0x00005a64 
+ 00015046  0x000031a9 fetch  0x00000002 , 0x000046c3 
+ 00015047  0x000031aa copy  0x0000003f , 0x00000003 
+ 00015048  0x000031ab copy  0x00000011 , 0x00000039 
+ 00015049  0x000031ac call  0x000066ea 
+ 00015050  0x000031ad copy  0x00000003 , 0x0000003f 
+ 00015051  0x000031ae store  0x00000002 , 0x000046c3 
+ 00015052  0x000031af fetch  0x00000001 , 0x000046c0 
+ 00015053  0x000031b0 nrtn  0x00000034 
+ 00015054  0x000031b1 branch  0x00003cf4 
+ 00015055  0x000031b6 arg  0x00000017 , 0x00000002 
+ 00015056  0x000031b7 fetch  0x00000001 , 0x000046bf 
+ 00015057  0x000031b8 rtnbit1  0x00000001 
+ 00015058  0x000031b9 fetcht  0x00000002 , 0x000044a8 
+ 00015059  0x000031ba rtn 
+ 00015060  0x000031bd fetch  0x00000001 , 0x000046bf 
+ 00015061  0x000031be bbit1  0x00000002 , 0x00005a42 
+ 00015062  0x000031bf branch  0x00007fe9 
+ 00015063  0x000031c4 branch  0x00003c4c 
+ 00015064  0x000031c9 copy  0x00000011 , 0x00000003 
+ 00015065  0x000031ca ifetch  0x00000001 , 0x00000003 
+ 00015066  0x000031cb beq  0x00000000 , 0x00003adf 
+ 00015067  0x000031cc beq  0x00000001 , 0x00003ae2 
+ 00015068  0x000031cd beq  0x00000002 , 0x00003ae8 
+ 00015069  0x000031ce beq  0x00000003 , 0x00003aea 
+ 00015070  0x000031cf branch  0x00003c17 
+ 00015071  0x000031d1 call  0x0000612b 
+ 00015072  0x000031d2 jam  0x00000000 , 0x0000465a 
+ 00015073  0x000031d3 branch  0x00003c1a 
+ 00015074  0x000031d5 setarg  0x00040003 
+ 00015075  0x000031d7 store  0x00000003 , 0x0000465b 
+ 00015076  0x000031d8 store  0x00000001 , 0x00004662 
+ 00015077  0x000031d9 call  0x00006124 
+ 00015078  0x000031da jam  0x00000001 , 0x0000465a 
+ 00015079  0x000031db branch  0x00003c1a 
+ 00015080  0x000031dd setarg  0x00040002 
+ 00015081  0x000031de branch  0x00003ae3 
+ 00015082  0x000031e1 setarg  0x00040001 
+ 00015083  0x000031e2 branch  0x00003ae3 
+ 00015084  0x000031e6 fetch  0x00000001 , 0x00000b04 
+ 00015085  0x000031e7 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00015086  0x000031e8 nbranch  0x00003c17 , 0x00000002 
+ 00015087  0x000031e9 store  0x00000001 , 0x00004689 
+ 00015088  0x000031ea copy  0x0000003f , 0x00000039 
+ 00015089  0x000031eb arg  0x0000468a , 0x00000005 
+ 00015090  0x000031ec call  0x000066fd 
+ 00015091  0x000031ed branch  0x00003c1a 
+ 00015092  0x000031f2 copy  0x00000011 , 0x00000003 
+ 00015093  0x000031f3 ifetch  0x00000001 , 0x00000003 
+ 00015094  0x000031f4 hfetcht  0x00000001 , 0x00008062 
+ 00015095  0x000031f5 nsetflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00015096  0x000031f6 hstoret  0x00000001 , 0x00008062 
+ 00015097  0x000031f7 branch  0x00003c1a 
+ 00015098  0x000031fc fetch  0x00000001 , 0x00000b04 
+ 00015099  0x000031fd copy  0x0000003f , 0x00000039 
+ 00015100  0x000031fe copy  0x00000011 , 0x00000003 
+ 00015101  0x000031ff call  0x00007f58 
+ 00015102  0x00003200 setarg  0x016e3600 
+ 00015103  0x00003201 idiv  0x00000002 
+ 00015104  0x00003202 call  0x00007f86 
+ 00015105  0x00003203 quotient  0x0000003f 
+ 00015106  0x00003205 store  0x00000002 , 0x00004243 
+ 00015107  0x00003206 call  0x00003c1a 
+ 00015108  0x00003207 call  0x00007f9e 
+ 00015109  0x00003208 branch  0x000066ce 
+ 00015110  0x0000320d arg  0x00000002 , 0x00000011 
+ 00015111  0x0000320e arg  0x0000469a , 0x00000012 
+ 00015112  0x0000320f arg  0x00000000 , 0x00000002 
+ 00015113  0x00003210 branch  0x00003c25 
+ 00015114  0x00003212 store  0x00000002 , 0x00000ac2 
+ 00015115  0x00003213 arg  0x00000ac2 , 0x00000012 
+ 00015116  0x00003214 arg  0x00000000 , 0x00000002 
+ 00015117  0x00003215 branch  0x00003c25 
+ 00015118  0x0000321a fetch  0x00000002 , 0x00004682 
+ 00015119  0x0000321b bbit0  0x00000000 , 0x00003c17 
+ 00015120  0x0000321d call  0x00003c1a 
+ 00015121  0x0000321e branch  0x000033e9 
+ 00015122  0x00003223 fetch  0x00000002 , 0x00004682 
+ 00015123  0x00003224 bbit0  0x00000009 , 0x00003c17 
+ 00015124  0x00003226 call  0x00003c1a 
+ 00015125  0x00003227 branch  0x00003402 
+ 00015126  0x0000322e fetch  0x00000001 , 0x00000b04 
+ 00015127  0x0000322f copy  0x0000003f , 0x00000039 
+ 00015128  0x00003230 copy  0x00000011 , 0x00000003 
+ 00015129  0x00003231 fetch  0x00000002 , 0x00004215 
+ 00015130  0x00003232 icopy  0x00000005 
+ 00015131  0x00003233 call  0x000066ea 
+ 00015132  0x00003234 branch  0x00003c1a 
+ 00015133  0x00003239 fetch  0x00000001 , 0x00004682 
+ 00015134  0x0000323a bbit0  0x00000000 , 0x00003c17 
+ 00015135  0x0000323b ifetch  0x00000001 , 0x00000003 
+ 00015136  0x0000323c fetcht  0x00000001 , 0x00004661 
+ 00015137  0x0000323d setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00015138  0x0000323e set1  0x00000007 , 0x00000002 
+ 00015139  0x0000323f storet  0x00000001 , 0x00004661 
+ 00015140  0x00003241 call  0x00003c1a 
+ 00015141  0x00003243 fetch  0x00000001 , 0x00004661 
+ 00015142  0x00003244 bbit1  0x00000006 , 0x00003b2b 
+ 00015143  0x00003245 rtn 
+ 00015144  0x00003248 jam  0x00000000 , 0x00004661 
+ 00015145  0x00003249 jam  0x00000021 , 0x00000a99 
+ 00015146  0x0000324a branch  0x00007d8f 
+ 00015147  0x0000324e bbit1  0x00000000 , 0x00005f95 
+ 00015148  0x0000324f branch  0x00003b28 
+ 00015149  0x00003254 fetch  0x00000001 , 0x00004682 
+ 00015150  0x00003255 rtnbit0  0x00000004 
+ 00015151  0x00003256 fetch  0x00000001 , 0x0000456b 
+ 00015152  0x00003257 rtneq  0x00000000 
+ 00015153  0x00003258 ifetch  0x00000001 , 0x00000003 
+ 00015154  0x00003259 fetcht  0x00000001 , 0x00004569 
+ 00015155  0x0000325a iadd  0x00000002 , 0x00000002 
+ 00015156  0x0000325b storet  0x00000001 , 0x00004569 
+ 00015157  0x0000325c rtn 
+ 00015158  0x00003261 arg  0x00000040 , 0x00000039 
+ 00015159  0x00003262 arg  0x0000436f , 0x00000005 
+ 00015160  0x00003263 call  0x00007ed4 
+ 00015161  0x00003264 setarg  0x00000000 
+ 00015162  0x00003265 store  0x00000001 , 0x00000ab2 
+ 00015163  0x00003266 copy  0x00000011 , 0x00000003 
+ 00015164  0x00003268 copy  0x00000003 , 0x0000003f 
+ 00015165  0x00003269 store  0x00000002 , 0x00000ab6 
+ 00015166  0x0000326a call  0x00003b64 
+ 00015167  0x0000326c fetch  0x00000001 , 0x00000ab2 
+ 00015168  0x0000326d fetcht  0x00000001 , 0x00000aa2 
+ 00015169  0x0000326e increase  0x00000001 , 0x00000002 
+ 00015170  0x0000326f iadd  0x00000002 , 0x0000003f 
+ 00015171  0x00003270 store  0x00000001 , 0x00000ab2 
+ 00015172  0x00003272 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015173  0x00003273 nbranch  0x00003b50 , 0x00000002 
+ 00015174  0x00003275 fetcht  0x00000001 , 0x0000436f 
+ 00015175  0x00003276 setarg  0x00004370 
+ 00015176  0x00003277 iadd  0x00000002 , 0x0000003f 
+ 00015177  0x00003278 store  0x00000002 , 0x00000abb 
+ 00015178  0x00003279 fetcht  0x00000001 , 0x00000aa2 
+ 00015179  0x0000327a increase  0x00000001 , 0x00000002 
+ 00015180  0x0000327b fetch  0x00000001 , 0x0000436f 
+ 00015181  0x0000327c iadd  0x00000002 , 0x0000003f 
+ 00015182  0x0000327d store  0x00000001 , 0x0000436f 
+ 00015183  0x0000327e branch  0x00003b59 
+ 00015184  0x00003280 fetcht  0x00000001 , 0x0000438f 
+ 00015185  0x00003281 setarg  0x00004390 
+ 00015186  0x00003282 iadd  0x00000002 , 0x0000003f 
+ 00015187  0x00003283 store  0x00000002 , 0x00000abb 
+ 00015188  0x00003284 fetcht  0x00000001 , 0x00000aa2 
+ 00015189  0x00003285 increase  0x00000001 , 0x00000002 
+ 00015190  0x00003286 fetch  0x00000001 , 0x0000438f 
+ 00015191  0x00003287 iadd  0x00000002 , 0x0000003f 
+ 00015192  0x00003288 store  0x00000001 , 0x0000438f 
+ 00015193  0x0000328a fetch  0x00000002 , 0x00000abb 
+ 00015194  0x0000328b copy  0x0000003f , 0x00000005 
+ 00015195  0x0000328c fetch  0x00000002 , 0x00000ab6 
+ 00015196  0x0000328d copy  0x0000003f , 0x00000003 
+ 00015197  0x0000328f copy  0x00000002 , 0x00000039 
+ 00015198  0x00003290 call  0x000066ea 
+ 00015199  0x00003292 fetch  0x00000001 , 0x00000b04 
+ 00015200  0x00003293 fetcht  0x00000001 , 0x00000ab2 
+ 00015201  0x00003294 isub  0x00000002 , 0x0000003e 
+ 00015202  0x00003295 nbranch  0x00003b3c , 0x00000005 
+ 00015203  0x00003296 branch  0x00003c1a 
+ 00015204  0x0000329a ifetch  0x00000001 , 0x00000003 
+ 00015205  0x0000329b store  0x00000001 , 0x00000aa2 
+ 00015206  0x0000329c ifetch  0x00000001 , 0x00000003 
+ 00015207  0x0000329d store  0x00000001 , 0x00000aae 
+ 00015208  0x0000329e rtn 
+ 00015209  0x000032a3 arg  0x00000000 , 0x00000002 
+ 00015210  0x000032a4 arg  0x00000002 , 0x00000011 
+ 00015211  0x000032a5 fetch  0x00000002 , 0x000046b4 
+ 00015212  0x000032a6 store  0x00000002 , 0x00000ac2 
+ 00015213  0x000032a7 arg  0x00000ac2 , 0x00000012 
+ 00015214  0x000032a8 branch  0x00003c25 
+ 00015215  0x000032ad fetch  0x00000001 , 0x00000b04 
+ 00015216  0x000032ae bne  0x00000001 , 0x00003c17 
+ 00015217  0x000032af ifetch  0x00000001 , 0x00000003 
+ 00015218  0x000032b0 store  0x00000001 , 0x000046b2 
+ 00015219  0x000032b1 setarg  0x00000000 
+ 00015220  0x000032b2 store  0x00000002 , 0x000046b4 
+ 00015221  0x000032b3 branch  0x00003c1a 
+ 00015222  0x000032b8 ifetch  0x00000004 , 0x00000003 
+ 00015223  0x000032b9 store  0x00000004 , 0x0000468a 
+ 00015224  0x000032ba jam  0x00000004 , 0x00004689 
+ 00015225  0x000032bb jam  0x00000000 , 0x00004663 
+ 00015226  0x000032bc call  0x00003c1a 
+ 00015227  0x000032bd branch  0x00005f31 
+ 00015228  0x000032c2 fetch  0x00000001 , 0x00000b04 
+ 00015229  0x000032c3 bne  0x00000003 , 0x00003c17 
+ 00015230  0x000032c4 ifetch  0x00000001 , 0x00000003 
+ 00015231  0x000032c5 beq  0x00000000 , 0x00003b82 
+ 00015232  0x000032c6 beq  0x00000001 , 0x00003b8a 
+ 00015233  0x000032c7 branch  0x00003c17 
+ 00015234  0x000032ca ifetcht  0x00000001 , 0x00000003 
+ 00015235  0x000032cb ifetch  0x00000001 , 0x00000003 
+ 00015236  0x000032cc beq  0x00000002 , 0x00003b88 
+ 00015237  0x000032cd nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00015238  0x000032ce call  0x000067fb 
+ 00015239  0x000032cf branch  0x00003c1a 
+ 00015240  0x000032d2 call  0x00006806 
+ 00015241  0x000032d3 branch  0x00003c1a 
+ 00015242  0x000032d6 ifetcht  0x00000001 , 0x00000003 
+ 00015243  0x000032d7 call  0x00006812 
+ 00015244  0x000032d8 ifetch  0x00000001 , 0x00000003 
+ 00015245  0x000032d9 isolate1  0x00000000 , 0x0000003f 
+ 00015246  0x000032da call  0x0000682c 
+ 00015247  0x000032db branch  0x00003c1a 
+ 00015248  0x000032e0 fetch  0x00000001 , 0x00000b04 
+ 00015249  0x000032e1 bne  0x00000001 , 0x00003c17 
+ 00015250  0x000032e2 ifetcht  0x00000001 , 0x00000003 
+ 00015251  0x000032e3 call  0x0000681d 
+ 00015252  0x000032e4 setarg  0x00000000 
+ 00015253  0x000032e5 nsetflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00015254  0x000032e6 arg  0x00000001 , 0x00000011 
+ 00015255  0x000032e7 branch  0x00003b0a 
+ 00015256  0x000032ec copy  0x00000011 , 0x00000003 
+ 00015257  0x000032ed ifetch  0x00000001 , 0x00000003 
+ 00015258  0x000032ee copy  0x0000003f , 0x00000002 
+ 00015259  0x000032ef beq  0x00000081 , 0x00003ba3 
+ 00015260  0x000032f0 beq  0x00000082 , 0x00003ba8 
+ 00015261  0x000032f1 beq  0x00000083 , 0x00003bae 
+ 00015262  0x000032f2 store  0x00000001 , 0x000044c6 
+ 00015263  0x000032f3 beq  0x00000000 , 0x00003bb3 
+ 00015264  0x000032f4 beq  0x00000001 , 0x00003bb6 
+ 00015265  0x000032f5 beq  0x00000002 , 0x00003bb8 
+ 00015266  0x000032f6 branch  0x00003c17 
+ 00015267  0x000032f9 fetch  0x00000001 , 0x000044be 
+ 00015268  0x000032fa branch  0x00003c17 , 0x00000034 
+ 00015269  0x000032fb storet  0x00000001 , 0x000044c6 
+ 00015270  0x000032fc jam  0x0000000d , 0x00004456 
+ 00015271  0x000032fd branch  0x00003bb4 
+ 00015272  0x000032ff fetch  0x00000001 , 0x000044be 
+ 00015273  0x00003300 branch  0x00003c17 , 0x00000034 
+ 00015274  0x00003301 storet  0x00000001 , 0x000044c6 
+ 00015275  0x00003302 jam  0x0000000d , 0x00004456 
+ 00015276  0x00003303 jam  0x00000001 , 0x00004454 
+ 00015277  0x00003304 branch  0x00003c1a 
+ 00015278  0x00003306 fetch  0x00000001 , 0x000044be 
+ 00015279  0x00003307 branch  0x00003c17 , 0x00000034 
+ 00015280  0x00003308 storet  0x00000001 , 0x000044c6 
+ 00015281  0x00003309 jam  0x0000000d , 0x00004456 
+ 00015282  0x0000330a branch  0x00003bb9 
+ 00015283  0x0000330c jam  0x00000000 , 0x00004456 
+ 00015284  0x0000330e jam  0x00000003 , 0x00004454 
+ 00015285  0x0000330f branch  0x00003c1a 
+ 00015286  0x00003311 jam  0x00000005 , 0x00004456 
+ 00015287  0x00003312 branch  0x00003bb4 
+ 00015288  0x00003314 jam  0x00000005 , 0x00004456 
+ 00015289  0x00003316 jam  0x00000000 , 0x00004454 
+ 00015290  0x00003317 branch  0x00003c1a 
+ 00015291  0x0000331c fetch  0x00000001 , 0x00000b04 
+ 00015292  0x0000331d sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015293  0x0000331e nbranch  0x00003c17 , 0x00000002 
+ 00015294  0x0000331f store  0x00000001 , 0x0000436f 
+ 00015295  0x00003320 copy  0x0000003f , 0x00000039 
+ 00015296  0x00003321 copy  0x00000011 , 0x00000003 
+ 00015297  0x00003322 arg  0x00004370 , 0x00000005 
+ 00015298  0x00003323 call  0x000066ea 
+ 00015299  0x00003324 branch  0x00003c1a 
+ 00015300  0x00003329 fetch  0x00000001 , 0x00000b04 
+ 00015301  0x0000332a sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015302  0x0000332b nbranch  0x00003c17 , 0x00000002 
+ 00015303  0x0000332c store  0x00000001 , 0x0000438f 
+ 00015304  0x0000332d copy  0x0000003f , 0x00000039 
+ 00015305  0x0000332e copy  0x00000011 , 0x00000003 
+ 00015306  0x0000332f arg  0x00004390 , 0x00000005 
+ 00015307  0x00003330 call  0x000066ea 
+ 00015308  0x00003331 branch  0x00003c1a 
+ 00015309  0x00003336 fetch  0x00000002 , 0x00004682 
+ 00015310  0x00003337 bbit0  0x00000009 , 0x00003c17 
+ 00015311  0x00003338 fetch  0x00000001 , 0x00000b04 
+ 00015312  0x00003339 bne  0x00000008 , 0x00003c17 
+ 00015313  0x0000333a copy  0x00000011 , 0x00000003 
+ 00015314  0x0000333b ifetch  0x00000008 , 0x00000003 
+ 00015315  0x0000333c store  0x00000008 , 0x00004496 
+ 00015316  0x0000333d jam  0x00000012 , 0x00000a99 
+ 00015317  0x0000333e call  0x00007d8f 
+ 00015318  0x0000333f branch  0x00003c1a 
+ 00015319  0x00003344 ifetch  0x00000002 , 0x00000003 
+ 00015320  0x00003345 store  0x00000002 , 0x00004482 
+ 00015321  0x00003346 branch  0x00003c1a 
+ 00015322  0x0000334b fetch  0x00000001 , 0x000044c6 
+ 00015323  0x0000334c branch  0x00003c17 , 0x00000034 
+ 00015324  0x0000334d fetch  0x00000001 , 0x000044c4 
+ 00015325  0x0000334e bne  0x00000000 , 0x00003c17 
+ 00015326  0x0000334f fetch  0x00000001 , 0x000044c5 
+ 00015327  0x00003350 bne  0x00000000 , 0x00003c17 
+ 00015328  0x00003351 call  0x00007e25 
+ 00015329  0x00003352 branch  0x00003c1a 
+ 00015330  0x00003357 fetch  0x00000001 , 0x00000b04 
+ 00015331  0x00003358 bne  0x00000005 , 0x00003c17 
+ 00015332  0x00003359 ifetch  0x00000001 , 0x00000003 
+ 00015333  0x0000335a store  0x00000001 , 0x000046a2 
+ 00015334  0x0000335b ifetch  0x00000004 , 0x00000003 
+ 00015335  0x0000335c store  0x00000004 , 0x000046a3 
+ 00015336  0x0000335d fetcht  0x00000001 , 0x000046a2 
+ 00015337  0x0000335e call  0x0000680e 
+ 00015338  0x0000335f call  0x00003cbc 
+ 00015339  0x00003360 branch  0x00003c1a 
+ 00015340  0x00003365 fetch  0x00000001 , 0x00000b04 
+ 00015341  0x00003366 bne  0x00000001 , 0x00003c17 
+ 00015342  0x00003367 ifetch  0x00000001 , 0x00000003 
+ 00015343  0x00003368 store  0x00000001 , 0x000041de 
+ 00015344  0x00003369 branch  0x00003c1a 
+ 00015345  0x0000336e ifetch  0x00000001 , 0x00000003 
+ 00015346  0x0000336f beq  0x00000001 , 0x00003bfa 
+ 00015347  0x00003370 fetch  0x00000001 , 0x000044c1 
+ 00015348  0x00003371 beq  0x00000003 , 0x00003bf8 
+ 00015349  0x00003372 beq  0x00000006 , 0x00003bf8 
+ 00015350  0x00003373 beq  0x00000007 , 0x00003bf8 
+ 00015351  0x00003374 branch  0x00003c17 
+ 00015352  0x00003376 jam  0x00000001 , 0x000044c2 
+ 00015353  0x00003377 branch  0x00003c1a 
+ 00015354  0x0000337a call  0x00005b53 
+ 00015355  0x0000337b branch  0x00003c1a 
+ 00015356  0x00003380 fetch  0x00000001 , 0x00000b04 
+ 00015357  0x00003381 bne  0x00000001 , 0x00003c17 
+ 00015358  0x00003382 call  0x00003c1a 
+ 00015359  0x00003383 ifetch  0x00000001 , 0x00000003 
+ 00015360  0x00003384 branch  0x000060cb , 0x00000034 
+ 00015361  0x00003385 branch  0x000060c9 
+ 00015362  0x0000338a call  0x00003c1a 
+ 00015363  0x0000338b call  0x00007f9e 
+ 00015364  0x0000338c jam  0x00000001 , 0x00008010 
+ 00015365  0x0000338d branch  0x00002a8e 
+ 00015366  0x00003392 fetch  0x00000001 , 0x00000b04 
+ 00015367  0x00003393 beq  0x00000000 , 0x00003c17 
+ 00015368  0x00003394 ifetch  0x00000001 , 0x00000003 
+ 00015369  0x00003395 branch  0x00003c13 , 0x00000034 
+ 00015370  0x00003396 fetch  0x00000001 , 0x00000b04 
+ 00015371  0x00003397 bne  0x00000005 , 0x00003c17 
+ 00015372  0x00003398 ifetch  0x00000004 , 0x00000003 
+ 00015373  0x00003399 arg  0x000f4240 , 0x00000002 
+ 00015374  0x0000339a isub  0x00000002 , 0x0000003e 
+ 00015375  0x0000339b branch  0x00003c17 , 0x00000002 
+ 00015376  0x0000339c store  0x00000004 , 0x000044c7 
+ 00015377  0x0000339d call  0x0000580c 
+ 00015378  0x0000339e branch  0x00003c1a 
+ 00015379  0x000033a1 call  0x0000580e 
+ 00015380  0x000033a2 branch  0x00003c1a 
+ 00015381  0x000033a7 jam  0x00000000 , 0x00004091 
+ 00015382  0x000033a8 branch  0x00003c1a 
+ 00015383  0x000033ae arg  0x00000001 , 0x00000002 
+ 00015384  0x000033af arg  0x00000000 , 0x00000011 
+ 00015385  0x000033b0 branch  0x00003c25 
+ 00015386  0x000033b4 arg  0x00000000 , 0x00000002 
+ 00015387  0x000033b5 arg  0x00000000 , 0x00000011 
+ 00015388  0x000033b6 branch  0x00003c25 
+ 00015389  0x000033bb jam  0x00000000 , 0x00000b03 
+ 00015390  0x000033bc branch  0x00003c49 
+ 00015391  0x000033c1 jam  0x00000002 , 0x00000b03 
+ 00015392  0x000033c2 branch  0x00003c49 
+ 00015393  0x000033c7 jam  0x00000003 , 0x00000b03 
+ 00015394  0x000033c8 branch  0x00003c49 
+ 00015395  0x000033cd jam  0x00000005 , 0x00000b03 
+ 00015396  0x000033ce branch  0x00003c49 
+ 00015397  0x000033d7 fetch  0x00000001 , 0x00000b03 
+ 00015398  0x000033d8 copy  0x0000003f , 0x00000013 
+ 00015399  0x000033d9 jam  0x00000006 , 0x00000b03 
+ 00015400  0x000033da setarg  0x00000002 
+ 00015401  0x000033db iadd  0x00000011 , 0x0000003f 
+ 00015402  0x000033dc call  0x00003ca7 
+ 00015403  0x000033dd copy  0x00000013 , 0x0000003f 
+ 00015404  0x000033de istore  0x00000001 , 0x0000000a 
+ 00015405  0x000033df istoret  0x00000001 , 0x0000000a 
+ 00015406  0x000033e0 copy  0x00000011 , 0x00000039 
+ 00015407  0x000033e1 copy  0x00000012 , 0x00000006 
+ 00015408  0x000033e2 call  0x000066e4 
+ 00015409  0x000033e3 branch  0x000066c5 
+ 00015410  0x000033e9 call  0x0000397f 
+ 00015411  0x000033ea jam  0x00000007 , 0x00000b03 
+ 00015412  0x000033eb fetch  0x00000001 , 0x000004ff 
+ 00015413  0x000033ec rtn  0x00000034 
+ 00015414  0x000033ed call  0x00003ca7 
+ 00015415  0x000033ee fetch  0x00000001 , 0x000004ff 
+ 00015416  0x000033ef copy  0x0000003f , 0x00000039 
+ 00015417  0x000033f0 fetch  0x00000002 , 0x00000501 
+ 00015418  0x000033f1 copy  0x0000003f , 0x00000006 
+ 00015419  0x000033f2 call  0x000066d1 
+ 00015420  0x000033f3 branch  0x000066c5 
+ 00015421  0x000033f8 jam  0x00000008 , 0x00000b03 
+ 00015422  0x000033f9 fetch  0x00000001 , 0x000046b6 
+ 00015423  0x000033fa icopy  0x00000039 
+ 00015424  0x000033fb increase  0x00000002 , 0x0000003f 
+ 00015425  0x000033fc call  0x00003ca7 
+ 00015426  0x000033fd fetch  0x00000002 , 0x000046b9 
+ 00015427  0x000033fe istore  0x00000002 , 0x0000000a 
+ 00015428  0x000033ff fetch  0x00000002 , 0x000046b7 
+ 00015429  0x00003400 icopy  0x00000006 
+ 00015430  0x00003401 call  0x000066d1 
+ 00015431  0x00003402 branch  0x000066c5 
+ 00015432  0x00003407 jam  0x00000009 , 0x00000b03 
+ 00015433  0x00003409 setarg  0x00000000 
+ 00015434  0x0000340a call  0x00003ca7 
+ 00015435  0x0000340b branch  0x000066c5 
+ 00015436  0x00003410 jam  0x0000000a , 0x00000b03 
+ 00015437  0x00003411 setarg  0x00000001 
+ 00015438  0x00003412 call  0x00003ca7 
+ 00015439  0x00003414 call  0x00003c5d 
+ 00015440  0x00003416 fetch  0x00000002 , 0x00004682 
+ 00015441  0x00003417 arg  0x00000002 , 0x00000007 
+ 00015442  0x00003418 qisolate1  0x0000003f 
+ 00015443  0x00003419 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00015444  0x0000341b arg  0x00000009 , 0x00000007 
+ 00015445  0x0000341c qisolate1  0x0000003f 
+ 00015446  0x0000341d setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00015447  0x0000341f fetch  0x00000001 , 0x00004682 
+ 00015448  0x00003420 arg  0x00000004 , 0x00000007 
+ 00015449  0x00003421 qisolate1  0x0000003f 
+ 00015450  0x00003422 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00015451  0x00003424 istoret  0x00000001 , 0x0000000a 
+ 00015452  0x00003425 branch  0x000066c5 
+ 00015453  0x0000342a arg  0x00000000 , 0x00000002 
+ 00015454  0x0000342b fetch  0x00000001 , 0x00004093 
+ 00015455  0x0000342c arg  0x00000000 , 0x00000007 
+ 00015456  0x0000342d qisolate1  0x0000003f 
+ 00015457  0x0000342e setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00015458  0x0000342f arg  0x00000001 , 0x00000007 
+ 00015459  0x00003430 qisolate1  0x0000003f 
+ 00015460  0x00003431 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00015461  0x00003433 fetch  0x00000001 , 0x0000436e 
+ 00015462  0x00003434 arg  0x00000000 , 0x00000007 
+ 00015463  0x00003435 qisolate1  0x0000003f 
+ 00015464  0x00003436 setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00015465  0x00003437 rtn 
+ 00015466  0x0000343c jam  0x0000000d , 0x00000b03 
+ 00015467  0x0000343d fetch  0x00000001 , 0x00004217 
+ 00015468  0x0000343e mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00015469  0x0000343f icopy  0x00000039 
+ 00015470  0x00003440 call  0x00003ca7 
+ 00015471  0x00003441 fetch  0x00000002 , 0x00004215 
+ 00015472  0x00003442 icopy  0x00000006 
+ 00015473  0x00003443 call  0x000066d1 
+ 00015474  0x00003444 branch  0x000066c5 
+ 00015475  0x00003449 jam  0x0000000e , 0x00000b03 
+ 00015476  0x0000344a setarg  0x00000004 
+ 00015477  0x0000344b call  0x00003ca7 
+ 00015478  0x0000344c fetch  0x00000004 , 0x000009ba 
+ 00015479  0x0000344d istore  0x00000004 , 0x0000000a 
+ 00015480  0x0000344e branch  0x000066c5 
+ 00015481  0x00003453 jam  0x0000000f , 0x00000b03 
+ 00015482  0x00003454 hfetch  0x00000002 , 0x00008112 
+ 00015483  0x00003455 arg  0x000000ff , 0x00000002 
+ 00015484  0x00003456 call  0x00007fdd 
+ 00015485  0x00003457 copy  0x0000003f , 0x00000039 
+ 00015486  0x00003458 call  0x00003ca7 
+ 00015487  0x00003459 call  0x000066cb 
+ 00015488  0x0000345a call  0x00006703 
+ 00015489  0x0000345b branch  0x000066c5 
+ 00015490  0x00003460 jam  0x00000010 , 0x00000b03 
+ 00015491  0x00003461 branch  0x00003c49 
+ 00015492  0x00003466 jam  0x00000011 , 0x00000b03 
+ 00015493  0x00003467 setarg  0x00000004 
+ 00015494  0x00003468 call  0x00003ca7 
+ 00015495  0x00003469 fetch  0x00000004 , 0x000044c7 
+ 00015496  0x0000346a istore  0x00000004 , 0x0000000a 
+ 00015497  0x0000346b branch  0x000066c5 
+ 00015498  0x00003470 arg  0x00000180 , 0x00000011 
+ 00015499  0x00003471 branch  0x00003c91 
+ 00015500  0x00003474 arg  0x00000080 , 0x00000011 
+ 00015501  0x00003475 branch  0x00003c91 
+ 00015502  0x00003478 arg  0x00000101 , 0x00000011 
+ 00015503  0x00003479 branch  0x00003c91 
+ 00015504  0x0000347c arg  0x00000001 , 0x00000011 
+ 00015505  0x0000347f jam  0x00000000 , 0x00004661 
+ 00015506  0x00003480 jam  0x00000014 , 0x00000b03 
+ 00015507  0x00003481 setarg  0x00000002 
+ 00015508  0x00003482 call  0x00003ca7 
+ 00015509  0x00003483 copy  0x00000011 , 0x0000003f 
+ 00015510  0x00003484 istore  0x00000002 , 0x0000000a 
+ 00015511  0x00003485 branch  0x000066c5 
+ 00015512  0x0000348a arg  0x00000000 , 0x00000013 
+ 00015513  0x0000348b branch  0x00003c9b 
+ 00015514  0x0000348e arg  0x00000001 , 0x00000013 
+ 00015515  0x00003491 jam  0x00000015 , 0x00000b03 
+ 00015516  0x00003492 setarg  0x00000001 
+ 00015517  0x00003493 call  0x00003ca7 
+ 00015518  0x00003494 copy  0x00000013 , 0x0000003f 
+ 00015519  0x00003495 istore  0x00000001 , 0x0000000a 
+ 00015520  0x00003496 branch  0x000066c5 
+ 00015521  0x0000349b jam  0x0000001d , 0x00000b03 
+ 00015522  0x0000349c setarg  0x00000004 
+ 00015523  0x0000349d call  0x00003ca7 
+ 00015524  0x0000349e fetch  0x00000004 , 0x000009ba 
+ 00015525  0x0000349f istore  0x00000004 , 0x0000000a 
+ 00015526  0x000034a0 branch  0x000066c5 
+ 00015527  0x000034ac jam  0x00000002 , 0x00000b02 
+ 00015528  0x000034ad store  0x00000001 , 0x00000b04 
+ 00015529  0x000034ae storet  0x00000008 , 0x00000aa2 
+ 00015530  0x000034af bpatch  0x000000e2 , 0x0000401c 
+ 00015531  0x000034b0 call  0x00003cb1 
+ 00015532  0x000034b1 fetcht  0x00000008 , 0x00000aa2 
+ 00015533  0x000034b2 call  0x000066c2 
+ 00015534  0x000034b3 fetch  0x00000003 , 0x00000b02 
+ 00015535  0x000034b4 istore  0x00000003 , 0x0000000a 
+ 00015536  0x000034b5 rtn 
+ 00015537  0x000034b9 call  0x00003cba 
+ 00015538  0x000034ba rtn  0x00000001 
+ 00015539  0x000034bc call  0x00003cb8 
+ 00015540  0x000034bd fetch  0x00000004 , 0x000046a3 
+ 00015541  0x000034be rshift2  0x0000003f , 0x0000003f 
+ 00015542  0x000034bf rtn  0x00000034 
+ 00015543  0x000034c0 branch  0x00003cbe 
+ 00015544  0x000034c4 fetcht  0x00000001 , 0x000046a2 
+ 00015545  0x000034c5 branch  0x00006829 
+ 00015546  0x000034c8 fetcht  0x00000001 , 0x000046a2 
+ 00015547  0x000034c9 branch  0x0000681b 
+ 00015548  0x000034cc fetcht  0x00000001 , 0x000046a2 
+ 00015549  0x000034cd branch  0x00006825 
+ 00015550  0x000034d1 increase  0xffffffff , 0x0000003f 
+ 00015551  0x000034d2 nop  0x00000026 
+ 00015552  0x000034d3 nbranch  0x00003cbe , 0x00000034 
+ 00015553  0x000034d4 rtn 
+ 00015554  0x000034de call  0x00003ad4 
+ 00015555  0x000034df rtn  0x00000028 
+ 00015556  0x000034e0 copy  0x00000011 , 0x0000003f 
+ 00015557  0x000034e1 store  0x00000002 , 0x000046b7 
+ 00015558  0x000034e2 copy  0x00000012 , 0x0000003f 
+ 00015559  0x000034e3 store  0x00000001 , 0x000046b6 
+ 00015560  0x000034e4 fetch  0x00000002 , 0x00000478 
+ 00015561  0x000034e5 fetcht  0x00000002 , 0x000046bb 
+ 00015562  0x000034e6 isub  0x00000002 , 0x0000003e 
+ 00015563  0x000034e7 branch  0x00003ccf , 0x00000005 
+ 00015564  0x000034e8 fetcht  0x00000002 , 0x000046bd 
+ 00015565  0x000034e9 isub  0x00000002 , 0x0000003e 
+ 00015566  0x000034ea nrtn  0x00000005 
+ 00015567  0x000034ec store  0x00000002 , 0x000046b9 
+ 00015568  0x000034ed branch  0x00003c3d 
+ 00015569  0x000034f3 fetch  0x00000001 , 0x000046bf 
+ 00015570  0x000034f4 rtnbit1  0x00000005 
+ 00015571  0x000034f5 call  0x00003cf0 
+ 00015572  0x000034f6 branch  0x0000340c 
+ 00015573  0x000034fa jam  0x00000002 , 0x00004172 
+ 00015574  0x000034fb rtn 
+ 00015575  0x00003500 branch  0x00003cd8 
+ 00015576  0x00003503 fetch  0x00000001 , 0x000046b2 
+ 00015577  0x00003504 rtn  0x00000034 
+ 00015578  0x00003505 fetch  0x00000001 , 0x000046b3 
+ 00015579  0x00003506 rtn  0x00000034 
+ 00015580  0x00003507 increase  0xffffffff , 0x0000003f 
+ 00015581  0x00003508 store  0x00000001 , 0x000046b3 
+ 00015582  0x00003509 nrtn  0x00000034 
+ 00015583  0x0000350a jam  0x0000000a , 0x000046b3 
+ 00015584  0x0000350b call  0x000068eb 
+ 00015585  0x0000350c call  0x00006908 
+ 00015586  0x0000350d div  0x0000003f , 0x00000064 
+ 00015587  0x0000350e call  0x00007f86 
+ 00015588  0x0000350f quotient  0x0000003f 
+ 00015589  0x00003510 remainder  0x00000002 
+ 00015590  0x00003511 store  0x00000001 , 0x000046b4 
+ 00015591  0x00003512 storet  0x00000001 , 0x000046b5 
+ 00015592  0x00003513 rtn 
+ 00015593  0x00003517 call  0x00007fb4 
+ 00015594  0x00003518 branch  0x000033d9 , 0x00000002 
+ 00015595  0x00003519 branch  0x000033db 
+ 00015596  0x0000351e arg  0x00000006 , 0x00000007 
+ 00015597  0x0000351f branch  0x00003cfc 
+ 00015598  0x00003522 arg  0x00000006 , 0x00000007 
+ 00015599  0x00003523 branch  0x00003cf8 
+ 00015600  0x00003526 arg  0x00000005 , 0x00000007 
+ 00015601  0x00003527 branch  0x00003cfc 
+ 00015602  0x0000352a arg  0x00000005 , 0x00000007 
+ 00015603  0x0000352b branch  0x00003cf8 
+ 00015604  0x0000352e arg  0x00000004 , 0x00000007 
+ 00015605  0x0000352f branch  0x00003cfc 
+ 00015606  0x00003532 arg  0x00000004 , 0x00000007 
+ 00015607  0x00003533 branch  0x00003cf8 
+ 00015608  0x00003536 fetch  0x00000001 , 0x000046bf 
+ 00015609  0x00003537 qset0  0x0000003f 
+ 00015610  0x00003538 store  0x00000001 , 0x000046bf 
+ 00015611  0x00003539 rtn 
+ 00015612  0x0000353c fetch  0x00000001 , 0x000046bf 
+ 00015613  0x0000353d qset1  0x0000003f 
+ 00015614  0x0000353e store  0x00000001 , 0x000046bf 
+ 00015615  0x0000353f rtn 
+ 00015616  0x0000354a call  0x00003d39 
+ 00015617  0x0000354b call  0x0000640f 
+ 00015618  0x0000354c call  0x000040c6 
+ 00015619  0x0000354d call  0x00003d66 
+ 00015620  0x0000354e call  0x00006411 
+ 00015621  0x0000354f rtn  0x0000002b 
+ 00015622  0x00003550 call  0x00003d16 
+ 00015623  0x00003551 call  0x00003d19 
+ 00015624  0x00003554 fetch  0x00000004 , 0x000046d3 
+ 00015625  0x00003555 rtnbit1  0x00000010 
+ 00015626  0x00003556 call  0x00003d4e 
+ 00015627  0x00003557 rtnmark1  0x00000026 
+ 00015628  0x00003558 fetch  0x00000002 , 0x00004682 
+ 00015629  0x00003559 bbit1  0x0000000c , 0x000042b0 
+ 00015630  0x0000355a branch  0x000042a2 
+ 00015631  0x0000355e fetch  0x00000004 , 0x000046d3 
+ 00015632  0x0000355f rtnbit0  0x0000001b 
+ 00015633  0x00003560 arg  0x00000014 , 0x00000039 
+ 00015634  0x00003562 setarg  0x00030d40 
+ 00015635  0x00003563 call  0x00002a8f 
+ 00015636  0x00003564 loop  0x00007ec1 
+ 00015637  0x00003565 rtn 
+ 00015638  0x00003569 fetch  0x00000004 , 0x000046d3 
+ 00015639  0x0000356a rtnbit0  0x00000010 
+ 00015640  0x0000356b branch  0x000048ea 
+ 00015641  0x0000356f setarg  0x0000416d 
+ 00015642  0x00003570 store  0x00000002 , 0x000041ef 
+ 00015643  0x00003571 setarg  0x00003f77 
+ 00015644  0x00003572 store  0x00000002 , 0x000041f1 
+ 00015645  0x00003573 setarg  0x00003ebb 
+ 00015646  0x00003574 store  0x00000002 , 0x000041ed 
+ 00015647  0x00003575 setarg  0x0000417c 
+ 00015648  0x00003576 store  0x00000002 , 0x000041f5 
+ 00015649  0x00003577 setarg  0x00003de3 
+ 00015650  0x00003578 store  0x00000002 , 0x000041f3 
+ 00015651  0x00003579 setarg  0x00003eb3 
+ 00015652  0x0000357a store  0x00000002 , 0x000041eb 
+ 00015653  0x0000357b setarg  0x00003d5b 
+ 00015654  0x0000357c store  0x00000002 , 0x000041f9 
+ 00015655  0x0000357e call  0x00002c7a 
+ 00015656  0x0000357f setarg  0x00004401 
+ 00015657  0x00003580 add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00015658  0x00003581 istore  0x00000002 , 0x00000005 
+ 00015659  0x00003582 setarg  0x00004406 
+ 00015660  0x00003583 add  0x00000013 , 0x000000da , 0x00000005 
+ 00015661  0x00003584 istore  0x00000002 , 0x00000005 
+ 00015662  0x00003585 setarg  0x00003ebf 
+ 00015663  0x00003586 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00015664  0x00003587 istore  0x00000002 , 0x00000005 
+ 00015665  0x00003589 setarg  0x000041f9 
+ 00015666  0x0000358a store  0x00000002 , 0x000041fd 
+ 00015667  0x0000358b setarg  0x00003d36 
+ 00015668  0x0000358c store  0x00000002 , 0x00004201 
+ 00015669  0x0000358d rtn 
+ 00015670  0x00003590 fetch  0x00000004 , 0x000046d3 
+ 00015671  0x00003591 bbit0  0x00000012 , 0x000064d7 
+ 00015672  0x00003592 branch  0x000064da 
+ 00015673  0x00003595 rtn  0x0000002b 
+ 00015674  0x00003596 call  0x00002c9d 
+ 00015675  0x00003597 call  0x00003e6e 
+ 00015676  0x00003598 call  0x00003e1e 
+ 00015677  0x00003599 call  0x00003e54 
+ 00015678  0x0000359a call  0x00005810 
+ 00015679  0x0000359b call  0x00005839 
+ 00015680  0x0000359c call  0x0000582c 
+ 00015681  0x0000359d call  0x00005818 
+ 00015682  0x0000359e fetch  0x00000004 , 0x000046d3 
+ 00015683  0x0000359f bbit1  0x00000014 , 0x00003d46 
+ 00015684  0x000035a0 bbit1  0x00000013 , 0x00004414 
+ 00015685  0x000035a1 rtn 
+ 00015686  0x000035a4 call  0x0000659c 
+ 00015687  0x000035a5 fetch  0x00000004 , 0x000046d3 
+ 00015688  0x000035a6 isolate1  0x00000019 , 0x0000003f 
+ 00015689  0x000035a7 ncall  0x000065c2 , 0x00000001 
+ 00015690  0x000035a8 call  0x0000443f 
+ 00015691  0x000035a9 call  0x00003dc9 
+ 00015692  0x000035aa call  0x000041aa 
+ 00015693  0x000035ab branch  0x000065df 
+ 00015694  0x000035ae fetch  0x00000004 , 0x000046d3 
+ 00015695  0x000035af bbit0  0x0000001e , 0x00003d53 
+ 00015696  0x000035b0 fetch  0x00000001 , 0x00000abd 
+ 00015697  0x000035b1 isolate0  0x00000003 , 0x0000003f 
+ 00015698  0x000035b2 nrtn  0x00000001 
+ 00015699  0x000035b4 fetch  0x00000001 , 0x0000471f 
+ 00015700  0x000035b5 store  0x00000001 , 0x0000471e 
+ 00015701  0x000035b6 fetch  0x00000001 , 0x000046f5 
+ 00015702  0x000035b7 rtnbit1  0x00000006 
+ 00015703  0x000035b9 fetch  0x00000004 , 0x000046d3 
+ 00015704  0x000035ba rtnbit0  0x00000011 
+ 00015705  0x000035bb bbit1  0x0000001d , 0x00002ee4 
+ 00015706  0x000035bc branch  0x00002f2c 
+ 00015707  0x000035be fetch  0x00000001 , 0x00000478 
+ 00015708  0x000035bf sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00015709  0x000035c0 nrtn  0x00000005 
+ 00015710  0x000035c1 jam  0x00000012 , 0x00000a99 
+ 00015711  0x000035c2 call  0x00007d8f 
+ 00015712  0x000035c4 arg  0x00000000 , 0x00000007 
+ 00015713  0x000035c5 branch  0x000041b9 
+ 00015714  0x000035c8 fetch  0x00000001 , 0x000046b6 
+ 00015715  0x000035c9 rtneq  0x00000001 
+ 00015716  0x000035ca jam  0x00000001 , 0x000046b6 
+ 00015717  0x000035cb rtn 
+ 00015718  0x000035cd fetch  0x00000001 , 0x000046e1 
+ 00015719  0x000035ce and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00015720  0x000035cf store  0x00000001 , 0x0000477a 
+ 00015721  0x000035d0 branch  0x00003d80 
+ 00015722  0x000035d4 fetcht  0x00000001 , 0x000046e7 
+ 00015723  0x000035d5 call  0x0000681d 
+ 00015724  0x000035d6 nbranch  0x00003d62 , 0x00000001 
+ 00015725  0x000035d8 fetch  0x00000001 , 0x000046b6 
+ 00015726  0x000035d9 rtneq  0x00000000 
+ 00015727  0x000035da jam  0x00000000 , 0x000046b6 
+ 00015728  0x000035db fetch  0x00000001 , 0x0000477a 
+ 00015729  0x000035dc increase  0x00000001 , 0x0000003f 
+ 00015730  0x000035dd and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00015731  0x000035de store  0x00000001 , 0x0000477a 
+ 00015732  0x000035df call  0x00003d7e 
+ 00015733  0x000035e0 fetch  0x00000004 , 0x000046d3 
+ 00015734  0x000035e1 bbit1  0x00000014 , 0x0000443b 
+ 00015735  0x000035e2 bbit1  0x00000013 , 0x00003d79 
+ 00015736  0x000035e3 rtn 
+ 00015737  0x000035e5 arg  0x0000001e , 0x00000002 
+ 00015738  0x000035e6 call  0x0000680e 
+ 00015739  0x000035e7 arg  0x0000001f , 0x00000002 
+ 00015740  0x000035e8 call  0x0000680e 
+ 00015741  0x000035e9 branch  0x00004435 
+ 00015742  0x000035ec bpatch  0x000000e3 , 0x0000401c 
+ 00015743  0x000035ed call  0x0000424a 
+ 00015744  0x000035ee fetch  0x00000001 , 0x000046e0 
+ 00015745  0x000035ef beq  0x00000005 , 0x00003daa 
+ 00015746  0x000035f0 beq  0x00000004 , 0x00003d96 
+ 00015747  0x000035f1 fetch  0x00000001 , 0x0000477a 
+ 00015748  0x000035f2 beq  0x00000000 , 0x00003d8a 
+ 00015749  0x000035f3 beq  0x00000001 , 0x00003d88 
+ 00015750  0x000035f4 beq  0x00000002 , 0x00003d8c 
+ 00015751  0x000035f5 beq  0x00000003 , 0x00003d8e 
+ 00015752  0x000035f7 fetch  0x00000001 , 0x00004780 
+ 00015753  0x000035f8 branch  0x00003dbe 
+ 00015754  0x000035fa fetch  0x00000001 , 0x0000477f 
+ 00015755  0x000035fb branch  0x00003dbe 
+ 00015756  0x000035fd fetch  0x00000001 , 0x00004781 
+ 00015757  0x000035fe branch  0x00003dbe 
+ 00015758  0x00003600 fetch  0x00000001 , 0x00004782 
+ 00015759  0x00003601 branch  0x00003dbe 
+ 00015760  0x00003603 fetch  0x00000001 , 0x000046e0 
+ 00015761  0x00003604 rtneq  0x00000006 
+ 00015762  0x00003605 fetch  0x00000001 , 0x000046b5 
+ 00015763  0x00003606 increase  0x00000001 , 0x0000003f 
+ 00015764  0x00003607 store  0x00000001 , 0x000046b5 
+ 00015765  0x00003608 rtn 
+ 00015766  0x0000360b fetch  0x00000001 , 0x0000477a 
+ 00015767  0x0000360c beq  0x00000000 , 0x00003d9d 
+ 00015768  0x0000360d beq  0x00000001 , 0x00003d9b 
+ 00015769  0x0000360e beq  0x00000002 , 0x00003d9f 
+ 00015770  0x0000360f beq  0x00000003 , 0x00003da1 
+ 00015771  0x00003611 fetch  0x00000001 , 0x00004784 
+ 00015772  0x00003612 branch  0x00003da2 
+ 00015773  0x00003614 fetch  0x00000001 , 0x00004783 
+ 00015774  0x00003615 branch  0x00003da2 
+ 00015775  0x00003617 fetch  0x00000001 , 0x00004785 
+ 00015776  0x00003618 branch  0x00003da2 
+ 00015777  0x0000361a fetch  0x00000001 , 0x00004786 
+ 00015778  0x0000361c store  0x00000001 , 0x000046b5 
+ 00015779  0x0000361d lshift8  0x0000003f , 0x0000003f 
+ 00015780  0x0000361e copy  0x0000003f , 0x00000011 
+ 00015781  0x0000361f add  0x0000003f , 0x0000000d , 0x0000003f 
+ 00015782  0x00003620 call  0x00006413 
+ 00015783  0x00003621 copy  0x00000011 , 0x0000003f 
+ 00015784  0x00003622 add  0x0000003f , 0x0000000e , 0x0000003f 
+ 00015785  0x00003623 branch  0x00006413 
+ 00015786  0x00003626 fetch  0x00000001 , 0x0000477a 
+ 00015787  0x00003627 beq  0x00000000 , 0x00003db1 
+ 00015788  0x00003628 beq  0x00000001 , 0x00003daf 
+ 00015789  0x00003629 beq  0x00000002 , 0x00003db3 
+ 00015790  0x0000362a beq  0x00000003 , 0x00003db5 
+ 00015791  0x0000362c fetch  0x00000001 , 0x00004788 
+ 00015792  0x0000362d branch  0x00003db6 
+ 00015793  0x0000362f fetch  0x00000001 , 0x00004787 
+ 00015794  0x00003630 branch  0x00003db6 
+ 00015795  0x00003632 fetch  0x00000001 , 0x00004789 
+ 00015796  0x00003633 branch  0x00003db6 
+ 00015797  0x00003635 fetch  0x00000001 , 0x0000478a 
+ 00015798  0x00003637 store  0x00000001 , 0x000046b5 
+ 00015799  0x00003638 call  0x000040c0 
+ 00015800  0x00003639 fetch  0x00000001 , 0x000046b5 
+ 00015801  0x0000363b add  0x0000003f , 0x00000080 , 0x0000003f 
+ 00015802  0x0000363c lshift8  0x0000003f , 0x0000003f 
+ 00015803  0x0000363d add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00015804  0x0000363e copy  0x0000003f , 0x00000011 
+ 00015805  0x0000363f branch  0x0000415a 
+ 00015806  0x00003642 store  0x00000001 , 0x000046b5 
+ 00015807  0x00003643 call  0x00003d90 
+ 00015808  0x00003644 fetch  0x00000001 , 0x000046b5 
+ 00015809  0x00003645 setarg  0x00000006 
+ 00015810  0x00003646 call  0x00006414 
+ 00015811  0x00003647 and  0x0000003f , 0x000000f8 , 0x00000002 
+ 00015812  0x00003648 fetch  0x00000001 , 0x000046b5 
+ 00015813  0x00003649 iadd  0x00000002 , 0x0000003f 
+ 00015814  0x0000364a lshift8  0x0000003f , 0x0000003f 
+ 00015815  0x0000364b add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00015816  0x0000364c branch  0x00006413 
+ 00015817  0x00003650 call  0x000033c4 
+ 00015818  0x00003651 branch  0x00004316 , 0x00000005 
+ 00015819  0x00003652 call  0x0000441c 
+ 00015820  0x00003653 call  0x000042e4 
+ 00015821  0x00003654 branch  0x000033bd 
+ 00015822  0x00003658 fetch  0x00000002 , 0x00004707 
+ 00015823  0x00003659 rtn  0x00000034 
+ 00015824  0x0000365a fetch  0x00000004 , 0x000046d3 
+ 00015825  0x0000365b rtnbit0  0x00000011 
+ 00015826  0x0000365c rtnbit1  0x00000003 
+ 00015827  0x0000365d rtnmark1  0x00000026 
+ 00015828  0x0000365e call  0x00004083 
+ 00015829  0x0000365f rtnne  0x00000007 
+ 00015830  0x00003660 call  0x00004482 
+ 00015831  0x00003661 arg  0x00000003 , 0x00000007 
+ 00015832  0x00003662 call  0x000043ce 
+ 00015833  0x00003663 setarg  0x00000000 
+ 00015834  0x00003664 store  0x00000002 , 0x000046ae 
+ 00015835  0x00003665 store  0x00000001 , 0x000046b4 
+ 00015836  0x00003666 call  0x00003263 
+ 00015837  0x00003668 fetch  0x00000002 , 0x00004682 
+ 00015838  0x00003669 bbit1  0x00000007 , 0x00004392 
+ 00015839  0x0000366a bbit1  0x00000009 , 0x00003402 
+ 00015840  0x0000366b bbit1  0x00000000 , 0x000033e9 
+ 00015841  0x0000366c call  0x000042ca 
+ 00015842  0x0000366d branch  0x00002ead 
+ 00015843  0x00003671 call  0x00003dce 
+ 00015844  0x00003672 call  0x00007e34 
+ 00015845  0x00003673 call  0x00003d6a 
+ 00015846  0x00003674 call  0x00003de9 
+ 00015847  0x00003675 call  0x00003ee0 
+ 00015848  0x00003676 branch  0x00003df7 
+ 00015849  0x00003678 fetch  0x00000004 , 0x000046d3 
+ 00015850  0x00003679 rtnbit0  0x00000010 
+ 00015851  0x0000367a call  0x000048d3 
+ 00015852  0x0000367b branch  0x000048fd 
+ 00015853  0x0000367e hfetch  0x00000001 , 0x00008a04 
+ 00015854  0x0000367f bbit0  0x00000007 , 0x00003df1 
+ 00015855  0x00003680 bbit1  0x00000007 , 0x00003df4 
+ 00015856  0x00003681 rtn 
+ 00015857  0x00003683 fetch  0x00000001 , 0x000046ff 
+ 00015858  0x00003684 rtnbit0  0x00000007 
+ 00015859  0x00003685 branch  0x0000659a 
+ 00015860  0x00003687 fetch  0x00000001 , 0x000046ff 
+ 00015861  0x00003688 rtnbit1  0x00000007 
+ 00015862  0x00003689 branch  0x00004381 
+ 00015863  0x0000368c call  0x00003ded 
+ 00015864  0x0000368d hfetch  0x00000001 , 0x00008a04 
+ 00015865  0x0000368e store  0x00000001 , 0x000046ff 
+ 00015866  0x0000368f rtnbit0  0x00000007 
+ 00015867  0x00003690 call  0x00003e07 
+ 00015868  0x00003691 fetch  0x00000004 , 0x000046f9 
+ 00015869  0x00003692 fetcht  0x00000001 , 0x000046fd 
+ 00015870  0x00003693 iadd  0x00000002 , 0x00000002 
+ 00015871  0x00003694 copy  0x00000022 , 0x0000003f 
+ 00015872  0x00003695 isub  0x00000002 , 0x0000003e 
+ 00015873  0x00003696 nrtn  0x00000002 
+ 00015874  0x00003697 store  0x00000004 , 0x000046f9 
+ 00015875  0x00003698 call  0x00003f97 
+ 00015876  0x00003699 nrtn  0x00000028 
+ 00015877  0x0000369a jam  0x00000004 , 0x00000d38 
+ 00015878  0x0000369b branch  0x00003e0f 
+ 00015879  0x0000369e fetcht  0x00000004 , 0x000046f9 
+ 00015880  0x0000369f copy  0x00000022 , 0x0000003f 
+ 00015881  0x000036a0 isub  0x00000002 , 0x0000003e 
+ 00015882  0x000036a1 ncall  0x00003e0c , 0x00000002 
+ 00015883  0x000036a2 rtn 
+ 00015884  0x000036a4 setarg  0x00000000 
+ 00015885  0x000036a5 store  0x00000004 , 0x000046f9 
+ 00015886  0x000036a6 rtn 
+ 00015887  0x000036ab fetch  0x00000001 , 0x00000d38 
+ 00015888  0x000036ac rtnbit0  0x00000002 
+ 00015889  0x000036ad branch  0x00003e12 
+ 00015890  0x000036af hfetch  0x00000001 , 0x00008a04 
+ 00015891  0x000036b0 rtnbit0  0x00000007 
+ 00015892  0x000036b1 jam  0x00000020 , 0x00000d52 
+ 00015893  0x000036b2 setarg  0x00000001 
+ 00015894  0x000036b3 store  0x00000001 , 0x00000d54 
+ 00015895  0x000036b4 fetch  0x00000007 , 0x0000469a 
+ 00015896  0x000036b5 istore  0x00000007 , 0x00000005 
+ 00015897  0x000036b6 rtn 
+ 00015898  0x000036ba hfetch  0x00000002 , 0x00008050 
+ 00015899  0x000036bb set0  0x0000000b , 0x0000003f 
+ 00015900  0x000036bc hstore  0x00000002 , 0x00008050 
+ 00015901  0x000036bd rtn 
+ 00015902  0x000036c0 setarg  0x00008c00 
+ 00015903  0x000036c1 store  0x00000002 , 0x00004575 
+ 00015904  0x000036c2 setarg  0x00008e7a 
+ 00015905  0x000036c3 store  0x00000002 , 0x000044bc 
+ 00015906  0x000036c4 setarg  0x00002402 
+ 00015907  0x000036c5 store  0x00000002 , 0x000040bd 
+ 00015908  0x000036c6 setarg  0x00002580 
+ 00015909  0x000036c7 store  0x00000003 , 0x000040aa 
+ 00015910  0x000036c8 jam  0x00000003 , 0x00004173 
+ 00015911  0x000036c9 jam  0x00000008 , 0x00004156 
+ 00015912  0x000036ca jam  0x00000001 , 0x000046d9 
+ 00015913  0x000036cb setarg  0x00000200 
+ 00015914  0x000036cc store  0x00000002 , 0x00004154 
+ 00015915  0x000036cd jam  0x00000017 , 0x000044a6 
+ 00015916  0x000036ce jam  0x00000017 , 0x000044a8 
+ 00015917  0x000036d0 setarg  0x00000a77 
+ 00015918  0x000036d1 store  0x00000002 , 0x00004212 
+ 00015919  0x000036e1 setsect  0x00000000 , 0x00000306 
+ 00015920  0x000036e2 setsect  0x00000001 , 0x00004440 
+ 00015921  0x000036e3 setsect  0x00000002 , 0x00010000 
+ 00015922  0x000036e4 setsect  0x00000003 , 0x00004408 
+ 00015923  0x000036e5 store  0x00000009 , 0x00004577 
+ 00015924  0x000036e6 setsect  0x00000000 , 0x00001224 
+ 00015925  0x000036e7 setsect  0x00000001 , 0x00004000 
+ 00015926  0x000036e8 setsect  0x00000002 , 0x00000000 
+ 00015927  0x000036e9 istore  0x00000005 , 0x00000005 
+ 00015928  0x000036eb setsect  0x00000000 , 0x0003ffff 
+ 00015929  0x000036ec setsect  0x00000001 , 0x0002fe23 
+ 00015930  0x000036ed setsect  0x00000002 , 0x000199d9 
+ 00015931  0x000036ee setsect  0x00000003 , 0x0000020d 
+ 00015932  0x000036ef store  0x00000008 , 0x00004098 
+ 00015933  0x000036f1 setarg  0x0000012c 
+ 00015934  0x000036f2 store  0x00000002 , 0x00004707 
+ 00015935  0x000036f3 call  0x000057a3 
+ 00015936  0x000036f4 fetch  0x00000004 , 0x000046d3 
+ 00015937  0x000036f5 rtnbit0  0x0000001f 
+ 00015938  0x000036f6 call  0x00003e44 
+ 00015939  0x000036f7 branch  0x00003e4c 
+ 00015940  0x000036fa fetcht  0x00000001 , 0x000046f7 
+ 00015941  0x000036fb call  0x000067fb 
+ 00015942  0x000036fc fetcht  0x00000001 , 0x000046f7 
+ 00015943  0x000036fd call  0x0000681d 
+ 00015944  0x000036fe jam  0x00000003 , 0x000046f6 
+ 00015945  0x000036ff rtn  0x00000001 
+ 00015946  0x00003700 jam  0x00000002 , 0x000046f6 
+ 00015947  0x00003701 rtn 
+ 00015948  0x00003704 fetcht  0x00000001 , 0x000046f8 
+ 00015949  0x00003705 call  0x000067fb 
+ 00015950  0x00003706 fetcht  0x00000001 , 0x000046f8 
+ 00015951  0x00003707 call  0x0000681d 
+ 00015952  0x00003708 jam  0x00000000 , 0x0000422d 
+ 00015953  0x00003709 rtn  0x00000001 
+ 00015954  0x0000370a jam  0x00000002 , 0x0000422d 
+ 00015955  0x0000370b rtn 
+ 00015956  0x0000370f fetch  0x00000001 , 0x0000422d 
+ 00015957  0x00003710 beq  0x00000000 , 0x00003e59 
+ 00015958  0x00003711 beq  0x00000001 , 0x00003e62 
+ 00015959  0x00003712 beq  0x00000002 , 0x00003e6b 
+ 00015960  0x00003713 branch  0x00003e59 
+ 00015961  0x00003716 fetcht  0x00000002 , 0x00004221 
+ 00015962  0x00003717 fetch  0x00000002 , 0x00004227 
+ 00015963  0x00003718 isub  0x00000002 , 0x0000003f 
+ 00015964  0x00003719 mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00015965  0x0000371a div  0x0000003f , 0x00000064 
+ 00015966  0x0000371b call  0x00007f86 
+ 00015967  0x0000371c quotient  0x0000003f 
+ 00015968  0x0000371d store  0x00000002 , 0x000046d0 
+ 00015969  0x0000371e rtn 
+ 00015970  0x00003720 fetcht  0x00000002 , 0x0000421f 
+ 00015971  0x00003721 fetch  0x00000002 , 0x00004225 
+ 00015972  0x00003722 isub  0x00000002 , 0x0000003f 
+ 00015973  0x00003723 mul32  0x0000003f , 0x000000e6 , 0x0000003f 
+ 00015974  0x00003724 div  0x0000003f , 0x00000190 
+ 00015975  0x00003725 call  0x00007f86 
+ 00015976  0x00003726 quotient  0x0000003f 
+ 00015977  0x00003727 store  0x00000002 , 0x000046d0 
+ 00015978  0x00003728 rtn 
+ 00015979  0x0000372a fetch  0x00000002 , 0x00004223 
+ 00015980  0x0000372b store  0x00000002 , 0x000046d0 
+ 00015981  0x0000372c rtn 
+ 00015982  0x0000372e fetcht  0x00000001 , 0x0000423a 
+ 00015983  0x0000372f call  0x0000680e 
+ 00015984  0x00003730 call  0x000048fb 
+ 00015985  0x00003731 fetcht  0x00000001 , 0x000046e2 
+ 00015986  0x00003732 call  0x000067fb 
+ 00015987  0x00003733 fetcht  0x00000001 , 0x000046e3 
+ 00015988  0x00003734 call  0x000067fb 
+ 00015989  0x00003735 fetcht  0x00000001 , 0x000046e4 
+ 00015990  0x00003736 call  0x000067fb 
+ 00015991  0x00003737 fetcht  0x00000001 , 0x000046f3 
+ 00015992  0x00003738 call  0x000067fb 
+ 00015993  0x0000373a fetcht  0x00000001 , 0x000046dc 
+ 00015994  0x0000373b call  0x0000680e 
+ 00015995  0x0000373d fetcht  0x00000001 , 0x000046e8 
+ 00015996  0x0000373e call  0x000067fb 
+ 00015997  0x00003740 fetcht  0x00000001 , 0x000046e9 
+ 00015998  0x00003741 call  0x000067fb 
+ 00015999  0x00003743 fetcht  0x00000001 , 0x000046ea 
+ 00016000  0x00003744 call  0x000067fb 
+ 00016001  0x00003745 fetcht  0x00000001 , 0x000046eb 
+ 00016002  0x00003746 call  0x000067fb 
+ 00016003  0x00003748 fetcht  0x00000001 , 0x000046e5 
+ 00016004  0x00003749 call  0x000067fb 
+ 00016005  0x0000374a fetcht  0x00000001 , 0x000046e6 
+ 00016006  0x0000374b call  0x000067fb 
+ 00016007  0x0000374d fetcht  0x00000001 , 0x000046ef 
+ 00016008  0x0000374e call  0x0000680e 
+ 00016009  0x00003750 fetcht  0x00000001 , 0x000046f0 
+ 00016010  0x00003751 call  0x0000680e 
+ 00016011  0x00003753 fetcht  0x00000001 , 0x000046f1 
+ 00016012  0x00003754 call  0x0000680e 
+ 00016013  0x00003756 fetcht  0x00000001 , 0x000046f2 
+ 00016014  0x00003757 call  0x0000680e 
+ 00016015  0x00003759 fetcht  0x00000001 , 0x000046f4 
+ 00016016  0x0000375a call  0x0000680e 
+ 00016017  0x0000375c fetcht  0x00000001 , 0x000046ed 
+ 00016018  0x0000375d call  0x000067fb 
+ 00016019  0x0000375f fetcht  0x00000001 , 0x000046ec 
+ 00016020  0x00003760 call  0x000067fb 
+ 00016021  0x00003762 fetcht  0x00000001 , 0x000046e7 
+ 00016022  0x00003763 branch  0x000067fb 
+ 00016023  0x00003766 fetcht  0x00000001 , 0x000046e8 
+ 00016024  0x00003767 call  0x000067dd 
+ 00016025  0x00003768 fetcht  0x00000001 , 0x000046e9 
+ 00016026  0x00003769 call  0x000067dd 
+ 00016027  0x0000376a fetcht  0x00000001 , 0x000046ea 
+ 00016028  0x0000376b call  0x000067dd 
+ 00016029  0x0000376c fetcht  0x00000001 , 0x000046eb 
+ 00016030  0x0000376d branch  0x000067dd 
+ 00016031  0x00003770 fetcht  0x00000001 , 0x000046e8 
+ 00016032  0x00003771 call  0x00003ea7 
+ 00016033  0x00003772 fetcht  0x00000001 , 0x000046e9 
+ 00016034  0x00003773 call  0x00003ea7 
+ 00016035  0x00003774 fetcht  0x00000001 , 0x000046ea 
+ 00016036  0x00003775 call  0x00003ea7 
+ 00016037  0x00003776 fetcht  0x00000001 , 0x000046eb 
+ 00016038  0x00003777 branch  0x00003ea7 
+ 00016039  0x0000377a sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00016040  0x0000377b rtn  0x00000005 
+ 00016041  0x0000377c and  0x00000002 , 0x0000007f , 0x00000007 
+ 00016042  0x0000377d hfetch  0x00000004 , 0x0000811c 
+ 00016043  0x0000377e qisolate1  0x0000003f 
+ 00016044  0x0000377f hfetch  0x00000004 , 0x00008078 
+ 00016045  0x00003780 qsetflag  0x00000001 , 0x0000003f 
+ 00016046  0x00003781 hstore  0x00000004 , 0x00008078 
+ 00016047  0x00003782 hfetch  0x00000004 , 0x0000807c 
+ 00016048  0x00003783 nqsetflag  0x00000001 , 0x0000003f 
+ 00016049  0x00003784 hstore  0x00000004 , 0x0000807c 
+ 00016050  0x00003785 rtn 
+ 00016051  0x00003788 enable  0x00000028 
+ 00016052  0x00003789 hfetch  0x00000004 , 0x00008138 
+ 00016053  0x0000378a setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00016054  0x0000378b hstore  0x00000004 , 0x0000804c 
+ 00016055  0x0000378c call  0x00002c21 
+ 00016056  0x0000378d call  0x00004482 
+ 00016057  0x0000378e call  0x00003e9f 
+ 00016058  0x00003790 branch  0x00003ebf 
+ 00016059  0x00003795 call  0x00003ebf 
+ 00016060  0x00003796 fetch  0x00000001 , 0x000000a0 
+ 00016061  0x00003797 nrtn  0x00000034 
+ 00016062  0x00003798 branch  0x000067ed 
+ 00016063  0x0000379b call  0x00003ee0 
+ 00016064  0x0000379c arg  0x00000019 , 0x00000002 
+ 00016065  0x0000379d fetch  0x00000004 , 0x000046d3 
+ 00016066  0x0000379e isolate1  0x00000012 , 0x0000003f 
+ 00016067  0x0000379f call  0x00003ede , 0x00000001 
+ 00016068  0x000037a0 call  0x0000680e 
+ 00016069  0x000037a1 call  0x000063ee 
+ 00016070  0x000037a5 fetcht  0x00000001 , 0x000046e2 
+ 00016071  0x000037a6 call  0x000067dd 
+ 00016072  0x000037a7 fetcht  0x00000001 , 0x000046e3 
+ 00016073  0x000037a8 call  0x000067dd 
+ 00016074  0x000037a9 fetcht  0x00000001 , 0x000046e4 
+ 00016075  0x000037aa call  0x000067dd 
+ 00016076  0x000037ac fetcht  0x00000001 , 0x000046e5 
+ 00016077  0x000037ad call  0x000067dd 
+ 00016078  0x000037ae fetcht  0x00000001 , 0x000046e6 
+ 00016079  0x000037af call  0x000067dd 
+ 00016080  0x000037b0 fetcht  0x00000001 , 0x000046e7 
+ 00016081  0x000037b1 call  0x000067dd 
+ 00016082  0x000037b2 fetcht  0x00000001 , 0x000046ed 
+ 00016083  0x000037b3 call  0x000067dd 
+ 00016084  0x000037b4 fetcht  0x00000001 , 0x000046e8 
+ 00016085  0x000037b5 call  0x000067dd 
+ 00016086  0x000037b6 fetcht  0x00000001 , 0x000046e9 
+ 00016087  0x000037b7 call  0x000067dd 
+ 00016088  0x000037b8 fetcht  0x00000001 , 0x000046ea 
+ 00016089  0x000037b9 call  0x000067dd 
+ 00016090  0x000037ba fetcht  0x00000001 , 0x000046eb 
+ 00016091  0x000037bb call  0x000067dd 
+ 00016092  0x000037bc fetcht  0x00000001 , 0x000046f3 
+ 00016093  0x000037bd branch  0x000067e1 
+ 00016094  0x000037c2 arg  0x0000001e , 0x00000002 
+ 00016095  0x000037c3 rtn 
+ 00016096  0x000037c6 bpatch  0x000000e4 , 0x0000401c 
+ 00016097  0x000037c7 call  0x00003eee 
+ 00016098  0x000037c8 call  0x00003f36 
+ 00016099  0x000037c9 fetch  0x00000001 , 0x000046b8 
+ 00016100  0x000037ca fetcht  0x00000001 , 0x000046b7 
+ 00016101  0x000037cb store  0x00000001 , 0x000046b7 
+ 00016102  0x000037cc isub  0x00000002 , 0x0000003e 
+ 00016103  0x000037cd nbranch  0x000033d4 , 0x00000005 
+ 00016104  0x000037ce fetch  0x00000001 , 0x000046be 
+ 00016105  0x000037cf fetcht  0x00000001 , 0x000046bd 
+ 00016106  0x000037d0 store  0x00000001 , 0x000046bd 
+ 00016107  0x000037d1 isub  0x00000002 , 0x0000003e 
+ 00016108  0x000037d2 nbranch  0x000033d4 , 0x00000005 
+ 00016109  0x000037d3 rtn 
+ 00016110  0x000037d5 fetch  0x00000001 , 0x000046ea 
+ 00016111  0x000037d6 rtneq  0x000000ff 
+ 00016112  0x000037d7 arg  0x00000000 , 0x00000011 
+ 00016113  0x000037d8 fetcht  0x00000001 , 0x000046ea 
+ 00016114  0x000037d9 call  0x0000681d 
+ 00016115  0x000037da setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016116  0x000037db fetcht  0x00000001 , 0x000046eb 
+ 00016117  0x000037dc call  0x0000681d 
+ 00016118  0x000037dd setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016119  0x000037de copy  0x00000011 , 0x0000003f 
+ 00016120  0x000037df store  0x00000001 , 0x000046b8 
+ 00016121  0x000037e0 beq  0x00000001 , 0x00003efe 
+ 00016122  0x000037e1 beq  0x00000002 , 0x00003f02 
+ 00016123  0x000037e2 fetch  0x00000001 , 0x000046b9 
+ 00016124  0x000037e3 bbit1  0x00000007 , 0x00003f0e 
+ 00016125  0x000037e4 rtn 
+ 00016126  0x000037e7 fetch  0x00000001 , 0x000046b7 
+ 00016127  0x000037e8 beq  0x00000000 , 0x00003f06 
+ 00016128  0x000037e9 beq  0x00000003 , 0x00003f08 
+ 00016129  0x000037ea rtn 
+ 00016130  0x000037ec fetch  0x00000001 , 0x000046b7 
+ 00016131  0x000037ed beq  0x00000000 , 0x00003f0a 
+ 00016132  0x000037ee beq  0x00000003 , 0x00003f0c 
+ 00016133  0x000037ef rtn 
+ 00016134  0x000037f1 jam  0x00000082 , 0x000046b9 
+ 00016135  0x000037f2 rtn 
+ 00016136  0x000037f4 jam  0x00000081 , 0x000046b9 
+ 00016137  0x000037f5 rtn 
+ 00016138  0x000037f7 jam  0x00000080 , 0x000046b9 
+ 00016139  0x000037f8 rtn 
+ 00016140  0x000037fa jam  0x00000083 , 0x000046b9 
+ 00016141  0x000037fb rtn 
+ 00016142  0x000037fd fetch  0x00000001 , 0x000046b9 
+ 00016143  0x000037fe set0  0x00000007 , 0x0000003f 
+ 00016144  0x000037ff store  0x00000001 , 0x000046b9 
+ 00016145  0x00003800 beq  0x00000000 , 0x00003f16 
+ 00016146  0x00003801 beq  0x00000001 , 0x00003f19 
+ 00016147  0x00003802 beq  0x00000002 , 0x00003f1c 
+ 00016148  0x00003803 beq  0x00000003 , 0x00003f1f 
+ 00016149  0x00003804 rtn 
+ 00016150  0x00003806 fetch  0x00000001 , 0x000046b8 
+ 00016151  0x00003807 beq  0x00000003 , 0x00003f22 
+ 00016152  0x00003808 rtn 
+ 00016153  0x0000380a fetch  0x00000001 , 0x000046b8 
+ 00016154  0x0000380b beq  0x00000000 , 0x00003f22 
+ 00016155  0x0000380c rtn 
+ 00016156  0x0000380e fetch  0x00000001 , 0x000046b8 
+ 00016157  0x0000380f beq  0x00000003 , 0x00003f2c 
+ 00016158  0x00003810 rtn 
+ 00016159  0x00003812 fetch  0x00000001 , 0x000046b8 
+ 00016160  0x00003813 beq  0x00000000 , 0x00003f2c 
+ 00016161  0x00003814 rtn 
+ 00016162  0x00003816 fetch  0x00000001 , 0x000046bc 
+ 00016163  0x00003817 increase  0x00000001 , 0x0000003f 
+ 00016164  0x00003818 store  0x00000001 , 0x000046bc 
+ 00016165  0x00003819 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016166  0x0000381a rtn  0x00000002 
+ 00016167  0x0000381b jam  0x00000000 , 0x000046bc 
+ 00016168  0x0000381c fetch  0x00000001 , 0x000046ba 
+ 00016169  0x0000381d increase  0x00000001 , 0x0000003f 
+ 00016170  0x0000381e store  0x00000001 , 0x000046ba 
+ 00016171  0x0000381f rtn 
+ 00016172  0x00003821 fetch  0x00000001 , 0x000046bb 
+ 00016173  0x00003822 increase  0x00000001 , 0x0000003f 
+ 00016174  0x00003823 store  0x00000001 , 0x000046bb 
+ 00016175  0x00003824 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016176  0x00003825 rtn  0x00000002 
+ 00016177  0x00003826 jam  0x00000000 , 0x000046bb 
+ 00016178  0x00003827 fetch  0x00000001 , 0x000046ba 
+ 00016179  0x00003828 increase  0xffffffff , 0x0000003f 
+ 00016180  0x00003829 store  0x00000001 , 0x000046ba 
+ 00016181  0x0000382a rtn 
+ 00016182  0x0000382e fetch  0x00000001 , 0x000046e8 
+ 00016183  0x0000382f rtneq  0x000000ff 
+ 00016184  0x00003830 arg  0x00000000 , 0x00000011 
+ 00016185  0x00003831 fetcht  0x00000001 , 0x000046e8 
+ 00016186  0x00003832 call  0x0000681d 
+ 00016187  0x00003833 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016188  0x00003834 fetcht  0x00000001 , 0x000046e9 
+ 00016189  0x00003835 call  0x0000681d 
+ 00016190  0x00003836 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016191  0x00003837 copy  0x00000011 , 0x0000003f 
+ 00016192  0x00003838 store  0x00000001 , 0x000046be 
+ 00016193  0x00003839 beq  0x00000001 , 0x00003f46 
+ 00016194  0x0000383a beq  0x00000002 , 0x00003f4a 
+ 00016195  0x0000383b fetch  0x00000001 , 0x000046bf 
+ 00016196  0x0000383c bbit1  0x00000007 , 0x00003f56 
+ 00016197  0x0000383d rtn 
+ 00016198  0x00003840 fetch  0x00000001 , 0x000046bd 
+ 00016199  0x00003841 beq  0x00000000 , 0x00003f4e 
+ 00016200  0x00003842 beq  0x00000003 , 0x00003f50 
+ 00016201  0x00003843 rtn 
+ 00016202  0x00003845 fetch  0x00000001 , 0x000046bd 
+ 00016203  0x00003846 beq  0x00000000 , 0x00003f52 
+ 00016204  0x00003847 beq  0x00000003 , 0x00003f54 
+ 00016205  0x00003848 rtn 
+ 00016206  0x0000384a jam  0x00000082 , 0x000046bf 
+ 00016207  0x0000384b rtn 
+ 00016208  0x0000384d jam  0x00000081 , 0x000046bf 
+ 00016209  0x0000384e rtn 
+ 00016210  0x00003850 jam  0x00000080 , 0x000046bf 
+ 00016211  0x00003851 rtn 
+ 00016212  0x00003853 jam  0x00000083 , 0x000046bf 
+ 00016213  0x00003854 rtn 
+ 00016214  0x00003856 fetch  0x00000001 , 0x000046bf 
+ 00016215  0x00003857 set0  0x00000007 , 0x0000003f 
+ 00016216  0x00003858 store  0x00000001 , 0x000046bf 
+ 00016217  0x00003859 beq  0x00000000 , 0x00003f5e 
+ 00016218  0x0000385a beq  0x00000001 , 0x00003f61 
+ 00016219  0x0000385b beq  0x00000002 , 0x00003f64 
+ 00016220  0x0000385c beq  0x00000003 , 0x00003f67 
+ 00016221  0x0000385d rtn 
+ 00016222  0x0000385f fetch  0x00000001 , 0x000046be 
+ 00016223  0x00003860 beq  0x00000003 , 0x00003f6a 
+ 00016224  0x00003861 rtn 
+ 00016225  0x00003863 fetch  0x00000001 , 0x000046be 
+ 00016226  0x00003864 beq  0x00000000 , 0x00003f6a 
+ 00016227  0x00003865 rtn 
+ 00016228  0x00003867 fetch  0x00000001 , 0x000046be 
+ 00016229  0x00003868 beq  0x00000003 , 0x00003f6f 
+ 00016230  0x00003869 rtn 
+ 00016231  0x0000386b fetch  0x00000001 , 0x000046be 
+ 00016232  0x0000386c beq  0x00000000 , 0x00003f6f 
+ 00016233  0x0000386d rtn 
+ 00016234  0x0000386f jam  0x00000000 , 0x000046c2 
+ 00016235  0x00003870 fetch  0x00000001 , 0x000046c0 
+ 00016236  0x00003871 increase  0x00000001 , 0x0000003f 
+ 00016237  0x00003872 store  0x00000001 , 0x000046c0 
+ 00016238  0x00003873 rtn 
+ 00016239  0x00003875 jam  0x00000000 , 0x000046c1 
+ 00016240  0x00003876 fetch  0x00000001 , 0x000046c0 
+ 00016241  0x00003877 increase  0xffffffff , 0x0000003f 
+ 00016242  0x00003878 store  0x00000001 , 0x000046c0 
+ 00016243  0x00003879 rtn 
+ 00016244  0x0000387d setarg  0x00000002 
+ 00016245  0x0000387e store  0x00000001 , 0x00004680 
+ 00016246  0x0000387f rtn 
+ 00016247  0x00003882 fetch  0x00000001 , 0x000041e2 
+ 00016248  0x00003883 rtn  0x00000034 
+ 00016249  0x00003884 call  0x00005271 
+ 00016250  0x00003885 nrtn  0x00000034 
+ 00016251  0x00003886 fetch  0x00000004 , 0x000046d3 
+ 00016252  0x00003887 bbit1  0x00000003 , 0x00003f8a 
+ 00016253  0x00003888 bbit1  0x00000000 , 0x00003f8a 
+ 00016254  0x00003889 bbit1  0x00000005 , 0x00003f8a 
+ 00016255  0x0000388a call  0x00003f97 
+ 00016256  0x0000388b nrtn  0x00000028 
+ 00016257  0x0000388d arg  0x00000009 , 0x00000011 
+ 00016258  0x0000388e call  0x00004d63 
+ 00016259  0x0000388f fetch  0x00000002 , 0x0000424e 
+ 00016260  0x00003890 istore  0x00000002 , 0x00000005 
+ 00016261  0x00003891 setarg  0x000002a1 
+ 00016262  0x00003892 istore  0x00000002 , 0x00000005 
+ 00016263  0x00003893 fetch  0x00000007 , 0x0000469a 
+ 00016264  0x00003894 istore  0x00000007 , 0x00000005 
+ 00016265  0x00003895 rtn 
+ 00016266  0x00003899 setarg  0x00000000 
+ 00016267  0x0000389a store  0x00000007 , 0x0000469a 
+ 00016268  0x0000389b branch  0x00003f81 
+ 00016269  0x0000389f fetch  0x00000002 , 0x000046aa 
+ 00016270  0x000038a0 store  0x00000002 , 0x000046b0 
+ 00016271  0x000038a1 rtn 
+ 00016272  0x000038a5 bpatch  0x000000e5 , 0x0000401c 
+ 00016273  0x000038a6 arg  0x00000007 , 0x00000011 
+ 00016274  0x000038a7 fetcht  0x00000002 , 0x0000446f 
+ 00016275  0x000038a8 call  0x00005a64 
+ 00016276  0x000038a9 fetch  0x00000007 , 0x0000469a 
+ 00016277  0x000038aa istore  0x00000007 , 0x00000005 
+ 00016278  0x000038ab rtn 
+ 00016279  0x000038ae bpatch  0x000000e6 , 0x0000401c 
+ 00016280  0x000038af disable  0x00000028 
+ 00016281  0x000038b0 setarg  0x00000000 
+ 00016282  0x000038b1 store  0x00000006 , 0x0000469b 
+ 00016283  0x000038b2 call  0x00003fb5 
+ 00016284  0x000038b3 call  0x00004079 
+ 00016285  0x000038b4 call  0x0000407e 
+ 00016286  0x000038b5 call  0x00004099 
+ 00016287  0x000038b6 nrtn  0x00000028 
+ 00016288  0x000038b7 call  0x00003f8d 
+ 00016289  0x000038b8 arg  0x00000008 , 0x00000007 
+ 00016290  0x000038b9 branch  0x000043ce 
+ 00016291  0x000038bc fetch  0x00000002 , 0x0000469b 
+ 00016292  0x000038bd sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016293  0x000038be store  0x00000002 , 0x0000469b 
+ 00016294  0x000038bf branch  0x00007fe7 
+ 00016295  0x000038c1 fetch  0x00000002 , 0x0000469d 
+ 00016296  0x000038c2 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016297  0x000038c3 store  0x00000002 , 0x0000469d 
+ 00016298  0x000038c4 branch  0x00007fe7 
+ 00016299  0x000038c6 fetch  0x00000002 , 0x0000469d 
+ 00016300  0x000038c7 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016301  0x000038c8 store  0x00000002 , 0x0000469d 
+ 00016302  0x000038c9 fetch  0x00000002 , 0x0000469b 
+ 00016303  0x000038ca sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016304  0x000038cb store  0x00000002 , 0x0000469b 
+ 00016305  0x000038cc call  0x00004002 
+ 00016306  0x000038cd branch  0x00007fe7 
+ 00016307  0x000038cf call  0x00004002 
+ 00016308  0x000038d0 branch  0x00007fe7 
+ 00016309  0x000038d2 fetch  0x00000001 , 0x00004239 
+ 00016310  0x000038d3 rtnne  0x00000000 
+ 00016311  0x000038d4 fetch  0x00000001 , 0x000046e0 
+ 00016312  0x000038d5 beq  0x00000000 , 0x00003fe2 
+ 00016313  0x000038d6 beq  0x00000001 , 0x00003fe2 
+ 00016314  0x000038d7 beq  0x00000002 , 0x00003fe2 
+ 00016315  0x000038d8 beq  0x00000003 , 0x00003fe2 
+ 00016316  0x000038d9 beq  0x00000004 , 0x00003fc4 
+ 00016317  0x000038da beq  0x00000005 , 0x00004010 
+ 00016318  0x000038db beq  0x00000006 , 0x00003fe2 
+ 00016319  0x000038dc branch  0x00003fe2 
+ 00016320  0x000038df fetch  0x00000001 , 0x000046a7 
+ 00016321  0x000038e0 call  0x0000405d , 0x00000034 
+ 00016322  0x000038e1 jam  0x00000001 , 0x000046a7 
+ 00016323  0x000038e2 rtn 
+ 00016324  0x000038e6 call  0x00003fc0 
+ 00016325  0x000038e7 fetcht  0x00000001 , 0x000046f3 
+ 00016326  0x000038e8 call  0x0000681d 
+ 00016327  0x000038e9 nrtn  0x00000001 
+ 00016328  0x000038ea setarg  0x00000000 
+ 00016329  0x000038eb call  0x00006414 
+ 00016330  0x000038ec bne  0x00000030 , 0x000040d1 
+ 00016331  0x000038ed setarg  0x00000002 
+ 00016332  0x000038ee call  0x00006414 
+ 00016333  0x000038ef rtnbit0  0x00000007 
+ 00016334  0x000038f0 call  0x0000405d 
+ 00016335  0x000038f1 call  0x00003fde 
+ 00016336  0x000038f2 store  0x00000001 , 0x000046a1 
+ 00016337  0x000038f3 rshift4  0x0000003f , 0x0000003f 
+ 00016338  0x000038f4 call  0x00004169 
+ 00016339  0x000038f5 store  0x00000001 , 0x0000469c 
+ 00016340  0x000038f6 fetch  0x00000001 , 0x000046a1 
+ 00016341  0x000038f7 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016342  0x000038f8 call  0x00004169 
+ 00016343  0x000038f9 store  0x00000001 , 0x0000469e 
+ 00016344  0x000038fa fetch  0x00000001 , 0x000046f6 
+ 00016345  0x000038fb beq  0x00000000 , 0x00003fa3 
+ 00016346  0x000038fc beq  0x00000001 , 0x00003fab 
+ 00016347  0x000038fd beq  0x00000002 , 0x00003fa7 
+ 00016348  0x000038fe beq  0x00000003 , 0x00003fb3 
+ 00016349  0x000038ff rtn 
+ 00016350  0x00003902 setarg  0x00000012 
+ 00016351  0x00003903 branch  0x00006414 
+ 00016352  0x00003906 beq  0x00000031 , 0x00003fea 
+ 00016353  0x00003907 branch  0x000040d1 
+ 00016354  0x0000390a call  0x00003fc0 
+ 00016355  0x0000390b disable  0x00000028 
+ 00016356  0x0000390c fetcht  0x00000001 , 0x000046f3 
+ 00016357  0x0000390d call  0x0000681d 
+ 00016358  0x0000390e nrtn  0x00000001 
+ 00016359  0x0000390f setarg  0x00000000 
+ 00016360  0x00003910 call  0x00006414 
+ 00016361  0x00003911 bne  0x00000030 , 0x00003fe0 
+ 00016362  0x00003913 setarg  0x00000002 
+ 00016363  0x00003914 call  0x00006414 
+ 00016364  0x00003915 rtnbit0  0x00000007 
+ 00016365  0x00003916 call  0x0000405d 
+ 00016366  0x00003917 fetch  0x00000001 , 0x0000469b 
+ 00016367  0x00003918 call  0x00004165 
+ 00016368  0x00003919 store  0x00000002 , 0x0000469b 
+ 00016369  0x0000391a fetch  0x00000001 , 0x0000469d 
+ 00016370  0x0000391b call  0x00004165 
+ 00016371  0x0000391c store  0x00000002 , 0x0000469d 
+ 00016372  0x0000391d fetch  0x00000001 , 0x000046f6 
+ 00016373  0x0000391e beq  0x00000000 , 0x00003ffa 
+ 00016374  0x0000391f beq  0x00000001 , 0x00003ffc 
+ 00016375  0x00003920 beq  0x00000002 , 0x00003ffe 
+ 00016376  0x00003921 beq  0x00000003 , 0x00004000 
+ 00016377  0x00003922 rtn 
+ 00016378  0x00003925 call  0x00003fa3 
+ 00016379  0x00003926 branch  0x000040b3 
+ 00016380  0x00003928 call  0x00003fab 
+ 00016381  0x00003929 branch  0x000040b3 
+ 00016382  0x0000392b call  0x00003fa7 
+ 00016383  0x0000392c branch  0x000040b3 
+ 00016384  0x0000392e call  0x00003fb3 
+ 00016385  0x0000392f branch  0x000040b3 
+ 00016386  0x00003932 fetch  0x00000002 , 0x0000469d 
+ 00016387  0x00003933 fetcht  0x00000002 , 0x0000469b 
+ 00016388  0x00003934 store  0x00000002 , 0x0000469b 
+ 00016389  0x00003935 storet  0x00000002 , 0x0000469d 
+ 00016390  0x00003936 rtn 
+ 00016391  0x00003939 call  0x0000640f 
+ 00016392  0x0000393a nop  0x00000064 
+ 00016393  0x0000393b copy  0x00000012 , 0x0000003f 
+ 00016394  0x0000393c call  0x00006414 
+ 00016395  0x0000393d copy  0x0000003f , 0x00000012 
+ 00016396  0x0000393e call  0x00006411 
+ 00016397  0x0000393f nop  0x00000064 
+ 00016398  0x00003940 copy  0x00000012 , 0x0000003f 
+ 00016399  0x00003941 rtn 
+ 00016400  0x00003943 disable  0x00000028 
+ 00016401  0x00003944 fetcht  0x00000001 , 0x000046f3 
+ 00016402  0x00003945 call  0x0000681d 
+ 00016403  0x00003946 nrtn  0x00000001 
+ 00016404  0x00003947 arg  0x00000002 , 0x00000012 
+ 00016405  0x00003948 call  0x00004007 
+ 00016406  0x00003949 rtnbit0  0x00000007 
+ 00016407  0x0000394a arg  0x00000000 , 0x00000012 
+ 00016408  0x0000394b call  0x00004007 
+ 00016409  0x0000394c store  0x00000001 , 0x000046dd 
+ 00016410  0x0000394d bne  0x0000003e , 0x00004145 
+ 00016411  0x0000394e fetch  0x00000001 , 0x000046a7 
+ 00016412  0x0000394f call  0x00004039 , 0x00000034 
+ 00016413  0x00003950 jam  0x00000001 , 0x000046a7 
+ 00016414  0x00003951 call  0x00004039 
+ 00016415  0x00003952 fetch  0x00000001 , 0x000046a1 
+ 00016416  0x00003953 rshift4  0x0000003f , 0x0000003f 
+ 00016417  0x00003954 call  0x00004169 
+ 00016418  0x00003955 store  0x00000001 , 0x0000469c 
+ 00016419  0x00003956 fetch  0x00000001 , 0x000046a1 
+ 00016420  0x00003957 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016421  0x00003958 call  0x00004169 
+ 00016422  0x00003959 store  0x00000001 , 0x0000469e 
+ 00016423  0x0000395a fetch  0x00000001 , 0x000046f6 
+ 00016424  0x0000395b beq  0x00000000 , 0x00004031 
+ 00016425  0x0000395c beq  0x00000001 , 0x00004035 
+ 00016426  0x0000395d beq  0x00000002 , 0x00004033 
+ 00016427  0x0000395e beq  0x00000003 , 0x00004037 
+ 00016428  0x0000395f rtn 
+ 00016429  0x00003962 fetch  0x00000001 , 0x000046a4 
+ 00016430  0x00003963 beq  0x00000000 , 0x00004051 
+ 00016431  0x00003964 beq  0x00000001 , 0x00004045 
+ 00016432  0x00003965 rtn 
+ 00016433  0x00003969 call  0x00003fa3 
+ 00016434  0x0000396a branch  0x0000402d 
+ 00016435  0x0000396d call  0x00003fa7 
+ 00016436  0x0000396e branch  0x0000402d 
+ 00016437  0x00003971 call  0x00003fab 
+ 00016438  0x00003972 branch  0x0000402d 
+ 00016439  0x00003975 call  0x00003fb3 
+ 00016440  0x00003976 branch  0x0000402d 
+ 00016441  0x00003979 call  0x0000640f 
+ 00016442  0x0000397a call  0x0000405d 
+ 00016443  0x0000397b arg  0x00000005 , 0x0000003f 
+ 00016444  0x0000397c call  0x00006414 
+ 00016445  0x0000397d store  0x00000001 , 0x000046a1 
+ 00016446  0x0000397e arg  0x00000007 , 0x0000003f 
+ 00016447  0x0000397f call  0x00006414 
+ 00016448  0x00003980 store  0x00000001 , 0x000046a2 
+ 00016449  0x00003981 arg  0x00000008 , 0x0000003f 
+ 00016450  0x00003982 call  0x00006414 
+ 00016451  0x00003983 store  0x00000001 , 0x000046a3 
+ 00016452  0x00003984 branch  0x00006411 
+ 00016453  0x00003988 fetch  0x00000001 , 0x000046a2 
+ 00016454  0x00003989 rtnne  0x00000000 
+ 00016455  0x0000398a fetch  0x00000001 , 0x000046a3 
+ 00016456  0x0000398b sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016457  0x0000398c rtn  0x00000002 
+ 00016458  0x0000398d jam  0x00000000 , 0x000046a4 
+ 00016459  0x0000398e setarg  0x0000ba41 
+ 00016460  0x0000398f call  0x00006405 
+ 00016461  0x00003990 setarg  0x00000032 
+ 00016462  0x00003991 call  0x00006405 
+ 00016463  0x00003992 setarg  0x0000b541 
+ 00016464  0x00003993 branch  0x00006405 
+ 00016465  0x00003995 fetch  0x00000001 , 0x000046a2 
+ 00016466  0x00003996 rtnne  0x00000000 
+ 00016467  0x00003997 fetch  0x00000001 , 0x000046a3 
+ 00016468  0x00003998 sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016469  0x00003999 nrtn  0x00000002 
+ 00016470  0x0000399a jam  0x00000001 , 0x000046a4 
+ 00016471  0x0000399b setarg  0x0000ba41 
+ 00016472  0x0000399c call  0x00006405 
+ 00016473  0x0000399d setarg  0x00008032 
+ 00016474  0x0000399e call  0x00006405 
+ 00016475  0x0000399f setarg  0x0000b541 
+ 00016476  0x000039a0 branch  0x00006405 
+ 00016477  0x000039a5 arg  0x00000003 , 0x0000003f 
+ 00016478  0x000039a6 call  0x00006414 
+ 00016479  0x000039a7 store  0x00000002 , 0x0000469b 
+ 00016480  0x000039a8 arg  0x00000004 , 0x0000003f 
+ 00016481  0x000039a9 call  0x00006414 
+ 00016482  0x000039aa store  0x00000002 , 0x0000469d 
+ 00016483  0x000039ab rtn 
+ 00016484  0x000039ae arg  0x0000001b , 0x00000002 
+ 00016485  0x000039af call  0x000067fb 
+ 00016486  0x000039b0 arg  0x0000001b , 0x00000002 
+ 00016487  0x000039b1 call  0x0000681d 
+ 00016488  0x000039b2 rtn  0x00000001 
+ 00016489  0x000039b3 hfetch  0x00000001 , 0x00008109 
+ 00016490  0x000039b4 set1  0x00000004 , 0x0000003f 
+ 00016491  0x000039b5 hstore  0x00000001 , 0x00008109 
+ 00016492  0x000039b6 rtn 
+ 00016493  0x000039b9 fetcht  0x00000001 , 0x000046c0 
+ 00016494  0x000039ba hfetch  0x00000001 , 0x00008109 
+ 00016495  0x000039bb iadd  0x00000002 , 0x0000003f 
+ 00016496  0x000039bc rtn  0x00000034 
+ 00016497  0x000039bd store  0x00000001 , 0x0000469f 
+ 00016498  0x000039be jam  0x00000000 , 0x000046c0 
+ 00016499  0x000039bf branch  0x00007fe7 
+ 00016500  0x000039c1 fetcht  0x00000001 , 0x000046c0 
+ 00016501  0x000039c2 hfetch  0x00000001 , 0x00008109 
+ 00016502  0x000039c3 iadd  0x00000002 , 0x0000003f 
+ 00016503  0x000039c4 store  0x00000001 , 0x000046c0 
+ 00016504  0x000039c5 rtn 
+ 00016505  0x000039c7 fetch  0x00000001 , 0x000046c0 
+ 00016506  0x000039c8 rtn  0x00000034 
+ 00016507  0x000039c9 store  0x00000001 , 0x0000469f 
+ 00016508  0x000039ca jam  0x00000000 , 0x000046c0 
+ 00016509  0x000039cb branch  0x00007fe7 
+ 00016510  0x000039ce fetch  0x00000001 , 0x000046ba 
+ 00016511  0x000039cf rtn  0x00000034 
+ 00016512  0x000039d0 store  0x00000001 , 0x000046a0 
+ 00016513  0x000039d1 jam  0x00000000 , 0x000046ba 
+ 00016514  0x000039d2 branch  0x00007fe7 
+ 00016515  0x000039d5 arg  0x00000000 , 0x00000011 
+ 00016516  0x000039d6 fetcht  0x00000001 , 0x000046e2 
+ 00016517  0x000039d7 call  0x0000681d 
+ 00016518  0x000039d8 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016519  0x000039d9 fetcht  0x00000001 , 0x000046e3 
+ 00016520  0x000039da call  0x0000681d 
+ 00016521  0x000039db setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016522  0x000039dc fetcht  0x00000001 , 0x000046e4 
+ 00016523  0x000039dd call  0x0000681d 
+ 00016524  0x000039de setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00016525  0x000039df call  0x00004090 
+ 00016526  0x000039e1 copy  0x00000011 , 0x0000003f 
+ 00016527  0x000039e2 rtn 
+ 00016528  0x000039e4 fetch  0x00000001 , 0x000046e5 
+ 00016529  0x000039e5 rtneq  0x000000ff 
+ 00016530  0x000039e6 fetcht  0x00000001 , 0x000046e5 
+ 00016531  0x000039e7 call  0x0000681d 
+ 00016532  0x000039e8 setflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00016533  0x000039e9 fetcht  0x00000001 , 0x000046e6 
+ 00016534  0x000039ea call  0x0000681d 
+ 00016535  0x000039eb setflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00016536  0x000039ec rtn 
+ 00016537  0x000039ef call  0x00004083 
+ 00016538  0x000039f0 call  0x000040a8 
+ 00016539  0x000039f1 call  0x000040a3 
+ 00016540  0x000039f2 copy  0x00000011 , 0x0000003f 
+ 00016541  0x000039f3 fetcht  0x00000001 , 0x0000469a 
+ 00016542  0x000039f4 store  0x00000001 , 0x0000469a 
+ 00016543  0x000039f5 ixor  0x00000002 , 0x0000003f 
+ 00016544  0x000039f6 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00016545  0x000039f7 rtn  0x00000005 
+ 00016546  0x000039f8 branch  0x00007fe7 
+ 00016547  0x000039fb rtnmark0  0x00000026 
+ 00016548  0x000039fc copy  0x00000011 , 0x0000003f 
+ 00016549  0x000039fd rtn  0x00000034 
+ 00016550  0x000039fe store  0x00000001 , 0x0000469a 
+ 00016551  0x000039ff branch  0x00007fe7 
+ 00016552  0x00003a03 fetch  0x00000002 , 0x00004682 
+ 00016553  0x00003a04 bbit1  0x00000009 , 0x000040ad 
+ 00016554  0x00003a05 fetch  0x00000002 , 0x00004682 
+ 00016555  0x00003a06 bbit1  0x00000000 , 0x000040b0 
+ 00016556  0x00003a07 rtn 
+ 00016557  0x00003a09 copy  0x00000011 , 0x0000003f 
+ 00016558  0x00003a0a nbranch  0x00005820 , 0x00000034 
+ 00016559  0x00003a0b branch  0x00005822 
+ 00016560  0x00003a0d copy  0x00000011 , 0x0000003f 
+ 00016561  0x00003a0e nbranch  0x00002bc7 , 0x00000034 
+ 00016562  0x00003a0f branch  0x00002bc9 
+ 00016563  0x00003a13 bpatch  0x000000e7 , 0x0000401c 
+ 00016564  0x00003a14 arg  0x0000001a , 0x00000002 
+ 00016565  0x00003a15 fetch  0x00000004 , 0x000046d3 
+ 00016566  0x00003a16 isolate1  0x00000012 , 0x0000003f 
+ 00016567  0x00003a17 call  0x000040be , 0x00000001 
+ 00016568  0x00003a18 call  0x0000681d 
+ 00016569  0x00003a19 rtn  0x00000001 
+ 00016570  0x00003a1a setarg  0x0000000a 
+ 00016571  0x00003a1b call  0x00006414 
+ 00016572  0x00003a1c nop  0x000003e8 
+ 00016573  0x00003a1d branch  0x000040b3 
+ 00016574  0x00003a1f arg  0x0000001f , 0x00000002 
+ 00016575  0x00003a20 rtn 
+ 00016576  0x00003a23 fetch  0x00000004 , 0x000046d3 
+ 00016577  0x00003a24 bbit1  0x00000012 , 0x000040c4 
+ 00016578  0x00003a26 arg  0x0000001a , 0x00000002 
+ 00016579  0x00003a27 branch  0x000067fe 
+ 00016580  0x00003a29 arg  0x0000001f , 0x00000002 
+ 00016581  0x00003a2a branch  0x000067fe 
+ 00016582  0x00003a2e call  0x00003d36 
+ 00016583  0x00003a2f rtn  0x0000002b 
+ 00016584  0x00003a30 call  0x000040c0 
+ 00016585  0x00003a31 fetch  0x00000001 , 0x000046e0 
+ 00016586  0x00003a32 beq  0x00000005 , 0x000040d5 
+ 00016587  0x00003a34 call  0x000040d9 
+ 00016588  0x00003a35 beq  0x00000030 , 0x000040e0 
+ 00016589  0x00003a36 beq  0x00000031 , 0x000040ea 
+ 00016590  0x00003a37 call  0x000040d1 
+ 00016591  0x00003a38 nop  0x000003e8 
+ 00016592  0x00003a39 branch  0x000040cb 
+ 00016593  0x00003a3b bpatch  0x000000e8 , 0x0000401d 
+ 00016594  0x00003a3c fetch  0x00000004 , 0x000046d3 
+ 00016595  0x00003a3d bbit1  0x00000012 , 0x000063e0 
+ 00016596  0x00003a3e branch  0x000063d1 
+ 00016597  0x00003a41 call  0x000040d9 
+ 00016598  0x00003a42 beq  0x0000003e , 0x0000414b 
+ 00016599  0x00003a43 call  0x00004145 
+ 00016600  0x00003a44 branch  0x000040d5 
+ 00016601  0x00003a47 setarg  0x00000001 
+ 00016602  0x00003a48 call  0x00006414 
+ 00016603  0x00003a49 store  0x00000001 , 0x000046de 
+ 00016604  0x00003a4a setarg  0x00000000 
+ 00016605  0x00003a4b call  0x00006414 
+ 00016606  0x00003a4c store  0x00000001 , 0x000046dd 
+ 00016607  0x00003a4d rtn 
+ 00016608  0x00003a4f fetch  0x00000001 , 0x000046de 
+ 00016609  0x00003a50 beq  0x000000d1 , 0x00004139 
+ 00016610  0x00003a51 beq  0x000000d2 , 0x000040f8 
+ 00016611  0x00003a52 beq  0x00000002 , 0x000040ee 
+ 00016612  0x00003a53 beq  0x00000054 , 0x000040e6 
+ 00016613  0x00003a54 rtn 
+ 00016614  0x00003a56 jam  0x00000002 , 0x000046e0 
+ 00016615  0x00003a57 rtn 
+ 00016616  0x00003a59 jam  0x00000006 , 0x000046e0 
+ 00016617  0x00003a5a rtn 
+ 00016618  0x00003a5c fetch  0x00000001 , 0x000046de 
+ 00016619  0x00003a5d beq  0x00000070 , 0x000040e8 
+ 00016620  0x00003a5e jam  0x00000001 , 0x000046e0 
+ 00016621  0x00003a5f rtn 
+ 00016622  0x00003a61 jam  0x00000004 , 0x000046e0 
+ 00016623  0x00003a62 call  0x000040f6 
+ 00016624  0x00003a63 setarg  0x00003426 
+ 00016625  0x00003a64 call  0x00006413 
+ 00016626  0x00003a65 setarg  0x00000419 
+ 00016627  0x00003a66 call  0x00006413 
+ 00016628  0x00003a68 setarg  0x00000009 
+ 00016629  0x00003a69 branch  0x00006413 
+ 00016630  0x00003a6b setarg  0x00005a09 
+ 00016631  0x00003a6c branch  0x00006413 
+ 00016632  0x00003a6f jam  0x00000003 , 0x000046e0 
+ 00016633  0x00003a70 call  0x000040f6 
+ 00016634  0x00003a71 setarg  0x00000f0d 
+ 00016635  0x00003a72 call  0x00006413 
+ 00016636  0x00003a73 setarg  0x0000e31d 
+ 00016637  0x00003a74 call  0x00006413 
+ 00016638  0x00003a75 setarg  0x0000d27d 
+ 00016639  0x00003a76 call  0x00006413 
+ 00016640  0x00003a77 call  0x00004102 
+ 00016641  0x00003a78 branch  0x0000411a 
+ 00016642  0x00003a7b setarg  0x0000351b 
+ 00016643  0x00003a7c call  0x00006413 
+ 00016644  0x00003a7d setarg  0x0000b428 
+ 00016645  0x00003a7e call  0x00006413 
+ 00016646  0x00003a7f setarg  0x00004629 
+ 00016647  0x00003a80 call  0x00006413 
+ 00016648  0x00003a81 setarg  0x0000962a 
+ 00016649  0x00003a82 call  0x00006413 
+ 00016650  0x00003a83 setarg  0x00008c2b 
+ 00016651  0x00003a84 call  0x00006413 
+ 00016652  0x00003a85 setarg  0x00006e2c 
+ 00016653  0x00003a86 call  0x00006413 
+ 00016654  0x00003a87 setarg  0x0000642d 
+ 00016655  0x00003a88 call  0x00006413 
+ 00016656  0x00003a89 setarg  0x00005f38 
+ 00016657  0x00003a8a call  0x00006413 
+ 00016658  0x00003a8b setarg  0x00000f39 
+ 00016659  0x00003a8c call  0x00006413 
+ 00016660  0x00003a8d setarg  0x0000323a 
+ 00016661  0x00003a8e call  0x00006413 
+ 00016662  0x00003a8f setarg  0x0000473b 
+ 00016663  0x00003a90 call  0x00006413 
+ 00016664  0x00003a91 setarg  0x00001042 
+ 00016665  0x00003a92 branch  0x00006413 
+ 00016666  0x00003a94 setarg  0x00002e54 
+ 00016667  0x00003a95 call  0x00006413 
+ 00016668  0x00003a96 setarg  0x0000f255 
+ 00016669  0x00003a97 call  0x00006413 
+ 00016670  0x00003a98 setarg  0x0000f461 
+ 00016671  0x00003a99 call  0x00006413 
+ 00016672  0x00003a9a setarg  0x00007063 
+ 00016673  0x00003a9b call  0x00006413 
+ 00016674  0x00003a9c setarg  0x00005275 
+ 00016675  0x00003a9d call  0x00006413 
+ 00016676  0x00003a9e setarg  0x00004176 
+ 00016677  0x00003a9f call  0x00006413 
+ 00016678  0x00003aa0 setarg  0x0000ed77 
+ 00016679  0x00003aa1 call  0x00006413 
+ 00016680  0x00003aa2 setarg  0x00002378 
+ 00016681  0x00003aa3 call  0x00006413 
+ 00016682  0x00003aa4 setarg  0x00004679 
+ 00016683  0x00003aa5 call  0x00006413 
+ 00016684  0x00003aa6 setarg  0x0000e57a 
+ 00016685  0x00003aa7 call  0x00006413 
+ 00016686  0x00003aa8 setarg  0x0000487c 
+ 00016687  0x00003aa9 call  0x00006413 
+ 00016688  0x00003aaa setarg  0x0000777e 
+ 00016689  0x00003aab call  0x00006413 
+ 00016690  0x00003aac setarg  0x0000017f 
+ 00016691  0x00003aad call  0x00006413 
+ 00016692  0x00003aae setarg  0x0000000b 
+ 00016693  0x00003aaf call  0x00006413 
+ 00016694  0x00003ab0 setarg  0x0000007f 
+ 00016695  0x00003ab1 call  0x00006413 
+ 00016696  0x00003ab2 branch  0x000040f4 
+ 00016697  0x00003ab6 jam  0x00000000 , 0x000046e0 
+ 00016698  0x00003ab7 call  0x000040f6 
+ 00016699  0x00003ab8 setarg  0x0000100d 
+ 00016700  0x00003ab9 call  0x00006413 
+ 00016701  0x00003aba setarg  0x0000ed1d 
+ 00016702  0x00003abb call  0x00006413 
+ 00016703  0x00003abc setarg  0x0000807d 
+ 00016704  0x00003abd call  0x00006413 
+ 00016705  0x00003abe call  0x00004102 
+ 00016706  0x00003abf setarg  0x00000943 
+ 00016707  0x00003ac0 call  0x00006413 
+ 00016708  0x00003ac1 branch  0x0000411a 
+ 00016709  0x00003ac5 fetcht  0x00000001 , 0x000046dc 
+ 00016710  0x00003ac6 call  0x00006829 
+ 00016711  0x00003ac7 call  0x00007ec1 
+ 00016712  0x00003ac8 fetcht  0x00000001 , 0x000046dc 
+ 00016713  0x00003ac9 call  0x00006825 
+ 00016714  0x00003aca branch  0x00007ec1 
+ 00016715  0x00003acd jam  0x00000005 , 0x000046e0 
+ 00016716  0x00003ace setarg  0x0000ba41 
+ 00016717  0x00003acf call  0x00006405 
+ 00016718  0x00003ad0 setarg  0x00000d11 
+ 00016719  0x00003ad1 call  0x00006405 
+ 00016720  0x00003ad2 setarg  0x0000041b 
+ 00016721  0x00003ad3 call  0x00006405 
+ 00016722  0x00003ad4 setarg  0x0000041c 
+ 00016723  0x00003ad5 call  0x00006405 
+ 00016724  0x00003ad6 setarg  0x00000f1d 
+ 00016725  0x00003ad7 call  0x00006405 
+ 00016726  0x00003ad8 setarg  0x00000032 
+ 00016727  0x00003ad9 call  0x00006405 
+ 00016728  0x00003ada setarg  0x0000b541 
+ 00016729  0x00003adb branch  0x00006405 
+ 00016730  0x00003ae0 setarg  0x0000ba41 
+ 00016731  0x00003ae1 call  0x00006405 
+ 00016732  0x00003ae2 nop  0x00000fa0 
+ 00016733  0x00003ae3 setarg  0x0000ff7f 
+ 00016734  0x00003ae4 call  0x00006405 
+ 00016735  0x00003ae5 copy  0x00000011 , 0x0000003f 
+ 00016736  0x00003ae6 call  0x00006405 
+ 00016737  0x00003ae7 setarg  0x0000007f 
+ 00016738  0x00003ae8 call  0x00006405 
+ 00016739  0x00003ae9 setarg  0x0000b541 
+ 00016740  0x00003aea branch  0x00006405 
+ 00016741  0x00003aed rtnbit0  0x00000007 
+ 00016742  0x00003aee arg  0x0000ff00 , 0x00000002 
+ 00016743  0x00003aef ior  0x00000002 , 0x0000003f 
+ 00016744  0x00003af0 rtn 
+ 00016745  0x00003af3 rtnbit0  0x00000003 
+ 00016746  0x00003af4 arg  0x000000f0 , 0x00000002 
+ 00016747  0x00003af5 ior  0x00000002 , 0x0000003f 
+ 00016748  0x00003af6 rtn 
+ 00016749  0x00003afa call  0x00005892 
+ 00016750  0x00003afb nrtn  0x00000034 
+ 00016751  0x00003afc fetch  0x00000001 , 0x000046c5 
+ 00016752  0x00003afd and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00016753  0x00003afe rtnne  0x00000003 
+ 00016754  0x00003aff fetch  0x00000004 , 0x000046d3 
+ 00016755  0x00003b00 bbit1  0x00000003 , 0x00004179 
+ 00016756  0x00003b01 bbit1  0x00000000 , 0x00004179 
+ 00016757  0x00003b02 bbit1  0x00000005 , 0x00004179 
+ 00016758  0x00003b03 call  0x00003f97 
+ 00016759  0x00003b04 nrtn  0x00000028 
+ 00016760  0x00003b05 branch  0x00003f90 
+ 00016761  0x00003b08 setarg  0x00000000 
+ 00016762  0x00003b09 store  0x00000007 , 0x0000469a 
+ 00016763  0x00003b0a branch  0x00003f90 
+ 00016764  0x00003b0d copy  0x00000013 , 0x0000003f 
+ 00016765  0x00003b0e beq  0x00000014 , 0x000041c3 
+ 00016766  0x00003b0f beq  0x00000001 , 0x000042ca 
+ 00016767  0x00003b10 beq  0x00000015 , 0x000041d9 
+ 00016768  0x00003b11 beq  0x00000002 , 0x000041d9 
+ 00016769  0x00003b12 beq  0x00000005 , 0x000041d6 
+ 00016770  0x00003b13 beq  0x00000010 , 0x0000426c 
+ 00016771  0x00003b14 beq  0x00000012 , 0x0000429b 
+ 00016772  0x00003b15 beq  0x00000006 , 0x000041d5 
+ 00016773  0x00003b16 beq  0x00000004 , 0x000041cc 
+ 00016774  0x00003b17 beq  0x00000013 , 0x000041cc 
+ 00016775  0x00003b18 beq  0x0000000a , 0x000041ca 
+ 00016776  0x00003b19 beq  0x0000002e , 0x000033cd 
+ 00016777  0x00003b1a beq  0x00000031 , 0x000041b4 
+ 00016778  0x00003b1b beq  0x00000032 , 0x000041b6 
+ 00016779  0x00003b1c beq  0x0000003e , 0x00004191 
+ 00016780  0x00003b1d beq  0x00000027 , 0x0000438e 
+ 00016781  0x00003b1e beq  0x00000039 , 0x0000419c 
+ 00016782  0x00003b1f beq  0x0000003a , 0x00004192 
+ 00016783  0x00003b20 beq  0x0000003c , 0x0000419a 
+ 00016784  0x00003b21 rtn 
+ 00016785  0x00003b25 branch  0x00003410 
+ 00016786  0x00003b28 jam  0x00000001 , 0x0000478b 
+ 00016787  0x00003b29 fetch  0x00000001 , 0x0000471e 
+ 00016788  0x00003b2a nbranch  0x00004492 , 0x00000034 
+ 00016789  0x00003b2b fetch  0x00000001 , 0x00004720 
+ 00016790  0x00003b2c fetcht  0x00000001 , 0x00004703 
+ 00016791  0x00003b2d isub  0x00000002 , 0x0000003e 
+ 00016792  0x00003b2e branch  0x0000340a , 0x00000005 
+ 00016793  0x00003b2f rtn 
+ 00016794  0x00003b31 jam  0x00000001 , 0x0000478b 
+ 00016795  0x00003b32 rtn 
+ 00016796  0x00003b34 jam  0x00000001 , 0x0000478b 
+ 00016797  0x00003b35 arg  0x00000003 , 0x00000007 
+ 00016798  0x00003b36 call  0x000043d2 
+ 00016799  0x00003b37 setarg  0x00000000 
+ 00016800  0x00003b38 store  0x00000002 , 0x00004707 
+ 00016801  0x00003b39 jam  0x00000000 , 0x000046a7 
+ 00016802  0x00003b3b fetch  0x00000001 , 0x000046e0 
+ 00016803  0x00003b3c sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00016804  0x00003b3d call  0x00004039 , 0x00000005 
+ 00016805  0x00003b3e ncall  0x0000405d , 0x00000005 
+ 00016806  0x00003b40 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00016807  0x00003b41 bbit1  0x00000013 , 0x000041af 
+ 00016808  0x00003b42 call  0x000041aa 
+ 00016809  0x00003b43 branch  0x000065d1 
+ 00016810  0x00003b46 call  0x00002c7a 
+ 00016811  0x00003b47 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00016812  0x00003b48 arg  0x0000005b , 0x00000012 
+ 00016813  0x00003b49 arg  0x00000004 , 0x00000002 
+ 00016814  0x00003b4a rtn 
+ 00016815  0x00003b4d call  0x00002c7a 
+ 00016816  0x00003b4e add  0x00000013 , 0x000000ae , 0x00000012 
+ 00016817  0x00003b4f ifetch  0x00000001 , 0x00000012 
+ 00016818  0x00003b50 store  0x00000001 , 0x0000477b 
+ 00016819  0x00003b51 branch  0x00004435 
+ 00016820  0x00003b55 arg  0x00000002 , 0x00000007 
+ 00016821  0x00003b56 branch  0x000041b9 
+ 00016822  0x00003b58 jam  0x00000002 , 0x000046c6 
+ 00016823  0x00003b59 arg  0x00000001 , 0x00000007 
+ 00016824  0x00003b5a branch  0x000041b9 
+ 00016825  0x00003b5e fetch  0x00000001 , 0x000046c5 
+ 00016826  0x00003b5f qset1  0x0000003f 
+ 00016827  0x00003b60 store  0x00000001 , 0x000046c5 
+ 00016828  0x00003b61 rtn 
+ 00016829  0x00003b64 fetch  0x00000001 , 0x000046c5 
+ 00016830  0x00003b65 qset0  0x0000003f 
+ 00016831  0x00003b66 store  0x00000001 , 0x000046c5 
+ 00016832  0x00003b67 rtn 
+ 00016833  0x00003b69 jam  0x00000000 , 0x000046c5 
+ 00016834  0x00003b6a rtn 
+ 00016835  0x00003b6d fetch  0x00000002 , 0x0000420a 
+ 00016836  0x00003b6e set0  0x00000000 , 0x0000003f 
+ 00016837  0x00003b6f store  0x00000002 , 0x0000420a 
+ 00016838  0x00003b70 setarg  0x00000000 
+ 00016839  0x00003b71 store  0x00000002 , 0x000046ae 
+ 00016840  0x00003b72 call  0x00003f8d 
+ 00016841  0x00003b73 branch  0x000042ca 
+ 00016842  0x00003b76 call  0x000063cb 
+ 00016843  0x00003b77 branch  0x000033dd 
+ 00016844  0x00003b7a fetch  0x00000001 , 0x0000471e 
+ 00016845  0x00003b7b nbranch  0x00004492 , 0x00000034 
+ 00016846  0x00003b7c fetch  0x00000002 , 0x00004682 
+ 00016847  0x00003b7d bbit1  0x0000000c , 0x000042b0 
+ 00016848  0x00003b7e fetch  0x00000004 , 0x000046d3 
+ 00016849  0x00003b7f bbit1  0x00000000 , 0x000041d7 
+ 00016850  0x00003b80 bbit1  0x00000005 , 0x000042b0 
+ 00016851  0x00003b81 bbit1  0x00000003 , 0x00002ead 
+ 00016852  0x00003b82 branch  0x000033a7 
+ 00016853  0x00003b86 branch  0x00003f74 
+ 00016854  0x00003b89 rtn 
+ 00016855  0x00003b8c call  0x000043c0 
+ 00016856  0x00003b8d branch  0x0000659a 
+ 00016857  0x00003b90 bpatch  0x000000e9 , 0x0000401d 
+ 00016858  0x00003b91 call  0x000041e7 
+ 00016859  0x00003b92 fetch  0x00000004 , 0x000046d3 
+ 00016860  0x00003b93 bbit1  0x00000000 , 0x000041d7 
+ 00016861  0x00003b94 bbit1  0x00000003 , 0x00002ead 
+ 00016862  0x00003b95 fetch  0x00000001 , 0x0000471e 
+ 00016863  0x00003b96 nbranch  0x00004492 , 0x00000034 
+ 00016864  0x00003b97 fetch  0x00000002 , 0x00004208 
+ 00016865  0x00003b98 bbit1  0x00000007 , 0x000041f5 
+ 00016866  0x00003b99 bbit1  0x00000000 , 0x000033a9 
+ 00016867  0x00003b9a bbit1  0x00000001 , 0x000041ef 
+ 00016868  0x00003b9b bbit1  0x00000002 , 0x000041f2 
+ 00016869  0x00003b9c bbit1  0x00000003 , 0x000041f2 
+ 00016870  0x00003b9d branch  0x000042b0 
+ 00016871  0x00003b9f setarg  0x00000000 
+ 00016872  0x00003ba0 store  0x00000008 , 0x000046b7 
+ 00016873  0x00003ba1 istore  0x00000004 , 0x00000005 
+ 00016874  0x00003ba2 jam  0x00000000 , 0x000046b4 
+ 00016875  0x00003ba3 jam  0x00000000 , 0x000046a7 
+ 00016876  0x00003ba4 jam  0x00000000 , 0x000041e2 
+ 00016877  0x00003ba5 jam  0x00000000 , 0x00004429 
+ 00016878  0x00003ba6 rtn 
+ 00016879  0x00003ba9 bbit1  0x00000005 , 0x000041f2 
+ 00016880  0x00003baa bbit1  0x00000003 , 0x000041f2 
+ 00016881  0x00003bab branch  0x000042b0 
+ 00016882  0x00003bad fetch  0x00000002 , 0x00004682 
+ 00016883  0x00003bae bbit1  0x0000000c , 0x000042b0 
+ 00016884  0x00003baf branch  0x000033a7 
+ 00016885  0x00003bb2 call  0x000041c1 
+ 00016886  0x00003bb3 fetch  0x00000002 , 0x00004208 
+ 00016887  0x00003bb4 bbit1  0x00000000 , 0x000033a9 
+ 00016888  0x00003bb5 branch  0x000033a7 
+ 00016889  0x00003bb8 call  0x000043d6 
+ 00016890  0x00003bb9 call  0x00004243 
+ 00016891  0x00003bba call  0x00004246 
+ 00016892  0x00003bbb call  0x00004250 
+ 00016893  0x00003bbc call  0x0000445d 
+ 00016894  0x00003bbe call  0x00004443 
+ 00016895  0x00003bbf call  0x00004333 
+ 00016896  0x00003bc0 call  0x000043a5 
+ 00016897  0x00003bc1 call  0x000043eb 
+ 00016898  0x00003bc2 call  0x00004209 
+ 00016899  0x00003bc3 call  0x00004231 
+ 00016900  0x00003bc4 call  0x00004234 
+ 00016901  0x00003bc5 call  0x00004237 
+ 00016902  0x00003bc6 call  0x0000423a 
+ 00016903  0x00003bc7 call  0x0000423d 
+ 00016904  0x00003bc8 branch  0x00004240 
+ 00016905  0x00003bcd fetch  0x00000001 , 0x00004711 
+ 00016906  0x00003bce rtn  0x00000034 
+ 00016907  0x00003bcf increase  0xffffffff , 0x0000003f 
+ 00016908  0x00003bd0 store  0x00000001 , 0x00004711 
+ 00016909  0x00003bd1 nrtn  0x00000034 
+ 00016910  0x00003bd2 branch  0x0000420f 
+ 00016911  0x00003bd4 fetch  0x00000001 , 0x00004712 
+ 00016912  0x00003bd5 rtneq  0x00000000 
+ 00016913  0x00003bd6 beq  0x00000005 , 0x00004216 
+ 00016914  0x00003bd8 call  0x00004225 
+ 00016915  0x00003bd9 jam  0x00000005 , 0x00004712 
+ 00016916  0x00003bda jam  0x00000005 , 0x00004711 
+ 00016917  0x00003bdb rtn 
+ 00016918  0x00003bdd call  0x0000422c 
+ 00016919  0x00003bde jam  0x00000004 , 0x00004712 
+ 00016920  0x00003bdf jam  0x00000005 , 0x00004711 
+ 00016921  0x00003be0 rtn 
+ 00016922  0x00003be4 setarg  0x00008006 
+ 00016923  0x00003be5 call  0x00006413 
+ 00016924  0x00003be6 nop  0x000003e8 
+ 00016925  0x00003be7 jam  0x00000000 , 0x00004711 
+ 00016926  0x00003be8 jam  0x00000000 , 0x00004712 
+ 00016927  0x00003be9 branch  0x000040e0 
+ 00016928  0x00003bec setarg  0x0000a006 
+ 00016929  0x00003bed call  0x00006413 
+ 00016930  0x00003bee setarg  0x0000a005 
+ 00016931  0x00003bef branch  0x00006413 
+ 00016932  0x00003bf1 jam  0x00000000 , 0x00004711 
+ 00016933  0x00003bf3 fetch  0x00000001 , 0x000046e0 
+ 00016934  0x00003bf4 beq  0x00000004 , 0x00004220 
+ 00016935  0x00003bf5 setarg  0x00000106 
+ 00016936  0x00003bf6 call  0x00006413 
+ 00016937  0x00003bf7 setarg  0x0000a105 
+ 00016938  0x00003bf8 branch  0x00006413 
+ 00016939  0x00003bfb jam  0x00000000 , 0x00004711 
+ 00016940  0x00003bfd setarg  0x00000906 
+ 00016941  0x00003bfe branch  0x00006413 
+ 00016942  0x00003c00 jam  0x00000005 , 0x00004711 
+ 00016943  0x00003c01 jam  0x00000001 , 0x00004712 
+ 00016944  0x00003c02 rtn 
+ 00016945  0x00003c05 arg  0x00004680 , 0x00000013 
+ 00016946  0x00003c06 arg  0x0000429b , 0x00000012 
+ 00016947  0x00003c07 branch  0x0000336d 
+ 00016948  0x00003c0a arg  0x000046ac , 0x00000013 
+ 00016949  0x00003c0b arg  0x00004264 , 0x00000012 
+ 00016950  0x00003c0c branch  0x00003374 
+ 00016951  0x00003c0f arg  0x000046ae , 0x00000013 
+ 00016952  0x00003c10 arg  0x00004266 , 0x00000012 
+ 00016953  0x00003c11 branch  0x00003374 
+ 00016954  0x00003c14 arg  0x000046b0 , 0x00000013 
+ 00016955  0x00003c15 arg  0x0000426a , 0x00000012 
+ 00016956  0x00003c16 branch  0x00003374 
+ 00016957  0x00003c19 arg  0x000046c4 , 0x00000013 
+ 00016958  0x00003c1a arg  0x00004478 , 0x00000012 
+ 00016959  0x00003c1b branch  0x0000336d 
+ 00016960  0x00003c20 arg  0x000046c6 , 0x00000013 
+ 00016961  0x00003c21 arg  0x0000425e , 0x00000012 
+ 00016962  0x00003c22 branch  0x0000336d 
+ 00016963  0x00003c25 arg  0x00004704 , 0x00000013 
+ 00016964  0x00003c26 arg  0x00004249 , 0x00000012 
+ 00016965  0x00003c27 branch  0x0000336d 
+ 00016966  0x00003c2a arg  0x00004707 , 0x00000013 
+ 00016967  0x00003c2b arg  0x00004249 , 0x00000012 
+ 00016968  0x00003c2c branch  0x00003374 
+ 00016969  0x00003c2f rtn 
+ 00016970  0x00003c33 fetch  0x00000004 , 0x000046d3 
+ 00016971  0x00003c34 rtnbit0  0x00000017 
+ 00016972  0x00003c35 jam  0x0000000a , 0x000046df 
+ 00016973  0x00003c36 fetch  0x00000001 , 0x000046f4 
+ 00016974  0x00003c37 store  0x00000001 , 0x00004715 
+ 00016975  0x00003c38 rtn 
+ 00016976  0x00003c3c arg  0x000046df , 0x00000013 
+ 00016977  0x00003c3d arg  0x00004253 , 0x00000012 
+ 00016978  0x00003c3e branch  0x0000336d 
+ 00016979  0x00003c40 fetch  0x00000001 , 0x000046f4 
+ 00016980  0x00003c41 store  0x00000001 , 0x00004715 
+ 00016981  0x00003c42 setarg  0x00000190 
+ 00016982  0x00003c43 store  0x00000002 , 0x00004716 
+ 00016983  0x00003c44 store  0x00000002 , 0x00004718 
+ 00016984  0x00003c45 arg  0x00000000 , 0x00000011 
+ 00016985  0x00003c46 fetcht  0x00000001 , 0x0000477a 
+ 00016986  0x00003c47 increase  0x00000001 , 0x00000002 
+ 00016987  0x00003c48 storet  0x00000001 , 0x00004714 
+ 00016988  0x00003c49 jam  0x00000001 , 0x00004713 
+ 00016989  0x00003c4a rtn 
+ 00016990  0x00003c4d fetch  0x00000001 , 0x000046c5 
+ 00016991  0x00003c4e rtnbit1  0x00000002 
+ 00016992  0x00003c4f jam  0x00000012 , 0x00000a99 
+ 00016993  0x00003c50 call  0x00007d8f 
+ 00016994  0x00003c51 arg  0x00000000 , 0x00000007 
+ 00016995  0x00003c52 branch  0x000041b9 
+ 00016996  0x00003c56 call  0x000042ca 
+ 00016997  0x00003c57 branch  0x0000340a 
+ 00016998  0x00003c5a call  0x000033f6 
+ 00016999  0x00003c5b fetch  0x00000001 , 0x0000471e 
+ 00017000  0x00003c5c nbranch  0x00004492 , 0x00000034 
+ 00017001  0x00003c5d branch  0x0000340a 
+ 00017002  0x00003c60 bmark1  0x00000026 , 0x00007e1d 
+ 00017003  0x00003c61 branch  0x00004386 
+ 00017004  0x00003c66 bpatch  0x000000ea , 0x0000401d 
+ 00017005  0x00003c67 jam  0x00000000 , 0x000046b4 
+ 00017006  0x00003c68 call  0x00004386 
+ 00017007  0x00003c69 call  0x000041c1 
+ 00017008  0x00003c6a branch  0x000042b0 
+ 00017009  0x00003c6f fetch  0x00000006 , 0x000041d0 
+ 00017010  0x00003c70 branch  0x000033eb , 0x00000034 
+ 00017011  0x00003c71 call  0x0000427e 
+ 00017012  0x00003c72 jam  0x00000017 , 0x0000016d 
+ 00017013  0x00003c73 fetch  0x00000001 , 0x0000465a 
+ 00017014  0x00003c74 nbranch  0x000033e1 , 0x00000034 
+ 00017015  0x00003c75 jam  0x00000004 , 0x0000016d 
+ 00017016  0x00003c76 branch  0x000033e1 
+ 00017017  0x00003c79 fetch  0x00000002 , 0x000046a8 
+ 00017018  0x00003c7a store  0x00000002 , 0x000046ae 
+ 00017019  0x00003c7b call  0x0000427e 
+ 00017020  0x00003c7c call  0x00003418 
+ 00017021  0x00003c7d branch  0x00007df4 
+ 00017022  0x00003c80 setarg  0x000000c8 
+ 00017023  0x00003c81 store  0x00000002 , 0x00004716 
+ 00017024  0x00003c82 store  0x00000002 , 0x00004718 
+ 00017025  0x00003c83 branch  0x00004285 
+ 00017026  0x00003c86 setarg  0x000003e8 
+ 00017027  0x00003c87 store  0x00000002 , 0x00004716 
+ 00017028  0x00003c88 store  0x00000002 , 0x00004718 
+ 00017029  0x00003c8a fetch  0x00000001 , 0x00004720 
+ 00017030  0x00003c8b beq  0x00000001 , 0x0000428a 
+ 00017031  0x00003c8c beq  0x00000002 , 0x0000428c 
+ 00017032  0x00003c8d beq  0x00000003 , 0x0000428e 
+ 00017033  0x00003c8e rtn 
+ 00017034  0x00003c90 fetch  0x00000001 , 0x000046f0 
+ 00017035  0x00003c91 branch  0x0000428f 
+ 00017036  0x00003c93 fetch  0x00000001 , 0x000046f1 
+ 00017037  0x00003c94 branch  0x0000428f 
+ 00017038  0x00003c96 fetch  0x00000001 , 0x000046f2 
+ 00017039  0x00003c98 store  0x00000001 , 0x00000aa2 
+ 00017040  0x00003c99 call  0x00004482 
+ 00017041  0x00003c9a fetch  0x00000001 , 0x00000aa2 
+ 00017042  0x00003c9b store  0x00000001 , 0x00004715 
+ 00017043  0x00003c9c arg  0x00000000 , 0x00000011 
+ 00017044  0x00003c9d jam  0x00000001 , 0x00004713 
+ 00017045  0x00003c9e branch  0x00007d1e 
+ 00017046  0x00003ca1 arg  0x00000000 , 0x00000011 
+ 00017047  0x00003ca2 branch  0x00007d19 
+ 00017048  0x00003ca4 arg  0x00000000 , 0x00000011 
+ 00017049  0x00003ca5 branch  0x00007d14 
+ 00017050  0x00003ca8 branch  0x000041c1 
+ 00017051  0x00003cab jam  0x00000001 , 0x000041e2 
+ 00017052  0x00003cac call  0x00003416 
+ 00017053  0x00003cad call  0x00003412 
+ 00017054  0x00003cae setarg  0x00000000 
+ 00017055  0x00003caf store  0x00000002 , 0x0000467e 
+ 00017056  0x00003cb0 store  0x00000001 , 0x00004680 
+ 00017057  0x00003cb1 branch  0x0000340e 
+ 00017058  0x00003cb4 call  0x0000435f 
+ 00017059  0x00003cb5 fetch  0x00000001 , 0x00004720 
+ 00017060  0x00003cb6 fetcht  0x00000001 , 0x00004703 
+ 00017061  0x00003cb7 isub  0x00000002 , 0x0000003e 
+ 00017062  0x00003cb8 branch  0x000042ab , 0x00000005 
+ 00017063  0x00003cb9 fetch  0x00000001 , 0x00004210 
+ 00017064  0x00003cba beq  0x00000033 , 0x00004271 
+ 00017065  0x00003cbb beq  0x00000034 , 0x00004279 
+ 00017066  0x00003cbc branch  0x000042b0 
+ 00017067  0x00003cbe call  0x00003d57 
+ 00017068  0x00003cbf rtnmark1  0x00000026 
+ 00017069  0x00003cc0 fetch  0x00000001 , 0x0000471e 
+ 00017070  0x00003cc1 nbranch  0x00004492 , 0x00000034 
+ 00017071  0x00003cc2 rtn 
+ 00017072  0x00003cc5 bpatch  0x000000eb , 0x0000401d 
+ 00017073  0x00003cc6 fetch  0x00000002 , 0x00004682 
+ 00017074  0x00003cc7 bbit1  0x0000000b , 0x000042b7 
+ 00017075  0x00003cc8 fetch  0x00000004 , 0x000046d3 
+ 00017076  0x00003cc9 bbit0  0x00000018 , 0x000042b7 
+ 00017077  0x00003cca random  0x0000003f 
+ 00017078  0x00003ccb store  0x00000001 , 0x000044a1 
+ 00017079  0x00003ccd call  0x00003418 
+ 00017080  0x00003cce fetch  0x00000002 , 0x00004687 
+ 00017081  0x00003ccf store  0x00000002 , 0x000046ac 
+ 00017082  0x00003cd0 jam  0x00000006 , 0x0000016d 
+ 00017083  0x00003cd1 setarg  0x00000000 
+ 00017084  0x00003cd2 store  0x00000002 , 0x000046b0 
+ 00017085  0x00003cd3 store  0x00000002 , 0x000046ae 
+ 00017086  0x00003cd4 arg  0x00000007 , 0x00000007 
+ 00017087  0x00003cd5 call  0x000043ce 
+ 00017088  0x00003cd6 call  0x000043ca 
+ 00017089  0x00003cd7 fetch  0x00000001 , 0x00004092 
+ 00017090  0x00003cd8 isolate1  0x00000001 , 0x0000003f 
+ 00017091  0x00003cd9 call  0x00007df4 , 0x00000001 
+ 00017092  0x00003cda fetch  0x00000001 , 0x00004092 
+ 00017093  0x00003cdb isolate1  0x00000000 , 0x0000003f 
+ 00017094  0x00003cdc call  0x00007ddd , 0x00000001 
+ 00017095  0x00003cdd fetch  0x00000004 , 0x000046d3 
+ 00017096  0x00003cde bbit1  0x0000001c , 0x0000422e 
+ 00017097  0x00003cdf branch  0x00004282 
+ 00017098  0x00003ce2 bpatch  0x000000ec , 0x0000401d 
+ 00017099  0x00003ce3 fetch  0x00000001 , 0x00004092 
+ 00017100  0x00003ce4 isolate1  0x00000001 , 0x0000003f 
+ 00017101  0x00003ce5 call  0x000042d4 , 0x00000001 
+ 00017102  0x00003ce6 fetch  0x00000001 , 0x00004092 
+ 00017103  0x00003ce7 isolate1  0x00000000 , 0x0000003f 
+ 00017104  0x00003ce8 call  0x000042d7 , 0x00000001 
+ 00017105  0x00003ce9 fetch  0x00000004 , 0x000046d3 
+ 00017106  0x00003cea bbit1  0x0000001c , 0x0000421a 
+ 00017107  0x00003ceb branch  0x00004482 
+ 00017108  0x00003ced setarg  0x00000000 
+ 00017109  0x00003cee store  0x00000002 , 0x000046ae 
+ 00017110  0x00003cef branch  0x00007dfa 
+ 00017111  0x00003cf1 setarg  0x00000000 
+ 00017112  0x00003cf2 store  0x00000002 , 0x000046ac 
+ 00017113  0x00003cf3 branch  0x00007de2 
+ 00017114  0x00003cfa fetch  0x00000004 , 0x000046d3 
+ 00017115  0x00003cfb rtnbit0  0x00000007 
+ 00017116  0x00003cfc arg  0x00000007 , 0x00000007 
+ 00017117  0x00003cfd call  0x000043d2 
+ 00017118  0x00003cfe call  0x000042e8 
+ 00017119  0x00003d00 call  0x000042fb 
+ 00017120  0x00003d01 fetch  0x00000004 , 0x000046d3 
+ 00017121  0x00003d02 bbit1  0x00000013 , 0x00004435 
+ 00017122  0x00003d03 bbit1  0x00000014 , 0x000042e4 
+ 00017123  0x00003d04 rtn 
+ 00017124  0x00003d06 arg  0x00000058 , 0x00000002 
+ 00017125  0x00003d07 arg  0x00004720 , 0x00000011 
+ 00017126  0x00003d08 arg  0x00000000 , 0x00000012 
+ 00017127  0x00003d09 branch  0x000065d1 
+ 00017128  0x00003d0c fetch  0x00000001 , 0x00000185 
+ 00017129  0x00003d0d beq  0x00000034 , 0x000042ec 
+ 00017130  0x00003d0e beq  0x00000033 , 0x000042ef 
+ 00017131  0x00003d0f rtn 
+ 00017132  0x00003d11 store  0x00000001 , 0x000046c7 
+ 00017133  0x00003d12 fetch  0x00000006 , 0x0000044f 
+ 00017134  0x00003d13 branch  0x000042f1 
+ 00017135  0x00003d15 store  0x00000001 , 0x000046c7 
+ 00017136  0x00003d16 fetch  0x00000006 , 0x00000040 
+ 00017137  0x00003d18 store  0x00000006 , 0x000046c8 
+ 00017138  0x00003d19 fetch  0x00000007 , 0x000046c7 
+ 00017139  0x00003d1a arg  0x00004721 , 0x00000006 
+ 00017140  0x00003d1b arg  0x00000003 , 0x00000039 
+ 00017141  0x00003d1d ifetcht  0x00000007 , 0x00000006 
+ 00017142  0x00003d1e isub  0x00000002 , 0x0000003e 
+ 00017143  0x00003d1f branch  0x00004310 , 0x00000005 
+ 00017144  0x00003d20 increase  0x00000016 , 0x00000006 
+ 00017145  0x00003d21 loop  0x000042f5 
+ 00017146  0x00003d22 rtn 
+ 00017147  0x00003d24 arg  0x00004721 , 0x00000011 
+ 00017148  0x00003d25 fetch  0x00000001 , 0x00004720 
+ 00017149  0x00003d26 increase  0xffffffff , 0x0000003f 
+ 00017150  0x00003d27 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017151  0x00003d28 iadd  0x00000011 , 0x00000011 
+ 00017152  0x00003d29 fetch  0x00000001 , 0x00000185 
+ 00017153  0x00003d2a istore  0x00000001 , 0x00000011 
+ 00017154  0x00003d2b beq  0x00000034 , 0x00004305 
+ 00017155  0x00003d2c beq  0x00000033 , 0x0000430c 
+ 00017156  0x00003d2d rtn 
+ 00017157  0x00003d30 fetch  0x00000006 , 0x0000044f 
+ 00017158  0x00003d31 istore  0x00000006 , 0x00000005 
+ 00017159  0x00003d32 arg  0x00004419 , 0x00000006 
+ 00017160  0x00003d33 call  0x00007ebf 
+ 00017161  0x00003d34 fetch  0x00000006 , 0x000044a0 
+ 00017162  0x00003d35 istore  0x00000006 , 0x00000005 
+ 00017163  0x00003d36 rtn 
+ 00017164  0x00003d38 fetch  0x00000006 , 0x00000040 
+ 00017165  0x00003d39 istore  0x00000006 , 0x00000005 
+ 00017166  0x00003d3a arg  0x000041be , 0x00000006 
+ 00017167  0x00003d3b branch  0x00007ebf 
+ 00017168  0x00003d3e increase  0xfffffffa , 0x00000006 
+ 00017169  0x00003d3f copy  0x00000006 , 0x00000005 
+ 00017170  0x00003d40 fetcht  0x00000006 , 0x000046c8 
+ 00017171  0x00003d41 increase  0x00000003 , 0x00000002 
+ 00017172  0x00003d42 istoret  0x00000006 , 0x00000005 
+ 00017173  0x00003d43 rtn 
+ 00017174  0x00003d48 arg  0x00000058 , 0x00000002 
+ 00017175  0x00003d49 arg  0x00004720 , 0x00000011 
+ 00017176  0x00003d4a arg  0x00000000 , 0x00000012 
+ 00017177  0x00003d4b call  0x000065df 
+ 00017178  0x00003d4d arg  0x00004721 , 0x00000011 
+ 00017179  0x00003d4e fetch  0x00000001 , 0x00004720 
+ 00017180  0x00003d4f fetcht  0x00000001 , 0x00004703 
+ 00017181  0x00003d50 isub  0x00000002 , 0x0000003e 
+ 00017182  0x00003d51 rtn  0x00000005 
+ 00017183  0x00003d52 increase  0xffffffff , 0x0000003f 
+ 00017184  0x00003d53 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017185  0x00003d54 iadd  0x00000011 , 0x00000011 
+ 00017186  0x00003d55 ifetch  0x00000001 , 0x00000011 
+ 00017187  0x00003d56 store  0x00000001 , 0x00004210 
+ 00017188  0x00003d57 beq  0x00000033 , 0x00004327 
+ 00017189  0x00003d58 beq  0x00000034 , 0x0000432c 
+ 00017190  0x00003d59 rtn 
+ 00017191  0x00003d5c ifetch  0x00000006 , 0x00000006 
+ 00017192  0x00003d5e store  0x00000006 , 0x000041d0 
+ 00017193  0x00003d5f arg  0x000041be , 0x00000005 
+ 00017194  0x00003d60 call  0x00007ebf 
+ 00017195  0x00003d61 branch  0x000067d7 
+ 00017196  0x00003d64 ifetch  0x00000006 , 0x00000006 
+ 00017197  0x00003d66 store  0x00000006 , 0x000041d0 
+ 00017198  0x00003d67 arg  0x00004419 , 0x00000005 
+ 00017199  0x00003d68 call  0x00007ebf 
+ 00017200  0x00003d69 ifetch  0x00000006 , 0x00000006 
+ 00017201  0x00003d6a store  0x00000006 , 0x000044a0 
+ 00017202  0x00003d6b rtn 
+ 00017203  0x00003d6f fetch  0x00000001 , 0x000046f5 
+ 00017204  0x00003d70 bbit1  0x00000005 , 0x00004349 
+ 00017205  0x00003d71 bbit1  0x00000006 , 0x00004359 
+ 00017206  0x00003d72 branch  0x00004337 
+ 00017207  0x00003d75 call  0x00004083 
+ 00017208  0x00003d76 beq  0x00000006 , 0x0000433e 
+ 00017209  0x00003d78 jam  0x0000001e , 0x000046d8 
+ 00017210  0x00003d79 fetch  0x00000001 , 0x000046d9 
+ 00017211  0x00003d7a rtneq  0x00000001 
+ 00017212  0x00003d7b jam  0x00000001 , 0x000046d9 
+ 00017213  0x00003d7c rtn 
+ 00017214  0x00003d7f call  0x00004343 
+ 00017215  0x00003d80 fetch  0x00000001 , 0x000046d9 
+ 00017216  0x00003d81 rtneq  0x00000000 
+ 00017217  0x00003d82 jam  0x00000000 , 0x000046d9 
+ 00017218  0x00003d83 branch  0x000043c0 
+ 00017219  0x00003d86 fetch  0x00000001 , 0x000046d8 
+ 00017220  0x00003d87 rtn  0x00000034 
+ 00017221  0x00003d88 pincrease  0xffffffff 
+ 00017222  0x00003d89 store  0x00000001 , 0x000046d8 
+ 00017223  0x00003d8a nrtn  0x00000034 
+ 00017224  0x00003d8b branch  0x00004370 
+ 00017225  0x00003d8e fetch  0x00000001 , 0x000046ed 
+ 00017226  0x00003d8f rtneq  0x000000ff 
+ 00017227  0x00003d90 fetcht  0x00000001 , 0x000046ed 
+ 00017228  0x00003d91 call  0x0000681d 
+ 00017229  0x00003d92 branch  0x00004354 , 0x00000001 
+ 00017230  0x00003d94 fetch  0x00000001 , 0x000046d9 
+ 00017231  0x00003d95 rtneq  0x00000001 
+ 00017232  0x00003d96 jam  0x00000001 , 0x000046d9 
+ 00017233  0x00003d97 fetch  0x00000004 , 0x000046d3 
+ 00017234  0x00003d98 rtnbit1  0x00000006 
+ 00017235  0x00003d99 branch  0x00004370 
+ 00017236  0x00003d9c fetch  0x00000001 , 0x000046d9 
+ 00017237  0x00003d9d rtneq  0x00000000 
+ 00017238  0x00003d9e jam  0x00000000 , 0x000046d9 
+ 00017239  0x00003d9f arg  0x00000006 , 0x00000007 
+ 00017240  0x00003da0 branch  0x000043d2 
+ 00017241  0x00003da5 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017242  0x00003da6 rtnbit0  0x00000006 
+ 00017243  0x00003da7 fetch  0x00000001 , 0x00004720 
+ 00017244  0x00003da8 beq  0x00000001 , 0x00004369 
+ 00017245  0x00003da9 beq  0x00000002 , 0x0000436c 
+ 00017246  0x00003daa rtn 
+ 00017247  0x00003dac fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017248  0x00003dad rtnbit0  0x00000006 
+ 00017249  0x00003dae fetcht  0x00000001 , 0x000046ed 
+ 00017250  0x00003daf call  0x0000681d 
+ 00017251  0x00003db0 branch  0x00004366 , 0x00000001 
+ 00017252  0x00003db2 jam  0x00000001 , 0x00004720 
+ 00017253  0x00003db3 rtn 
+ 00017254  0x00003db5 fetch  0x00000001 , 0x00004703 
+ 00017255  0x00003db6 store  0x00000001 , 0x00004720 
+ 00017256  0x00003db7 rtn 
+ 00017257  0x00003db9 fetcht  0x00000001 , 0x000046ed 
+ 00017258  0x00003dba nbranch  0x00004370 , 0x00000001 
+ 00017259  0x00003dbb rtn 
+ 00017260  0x00003dbd fetcht  0x00000001 , 0x000046ed 
+ 00017261  0x00003dbe call  0x0000681d 
+ 00017262  0x00003dbf branch  0x00004354 , 0x00000001 
+ 00017263  0x00003dc0 rtn 
+ 00017264  0x00003dc6 fetcht  0x00000001 , 0x00004720 
+ 00017265  0x00003dc7 increase  0x00000001 , 0x00000002 
+ 00017266  0x00003dc8 fetch  0x00000001 , 0x000046d2 
+ 00017267  0x00003dc9 isub  0x00000002 , 0x0000003e 
+ 00017268  0x00003dca ncall  0x000043cc , 0x00000002 
+ 00017269  0x00003dcb storet  0x00000001 , 0x00004720 
+ 00017270  0x00003dcc jam  0x00000000 , 0x000041bd 
+ 00017271  0x00003dcd call  0x0000437a 
+ 00017272  0x00003dce call  0x000043c0 
+ 00017273  0x00003dd0 branch  0x0000437e 
+ 00017274  0x00003dd3 arg  0x00000001 , 0x00000002 
+ 00017275  0x00003dd4 arg  0x00004720 , 0x00000011 
+ 00017276  0x00003dd5 arg  0x00000000 , 0x00000012 
+ 00017277  0x00003dd6 branch  0x00006606 
+ 00017278  0x00003dd9 call  0x00004381 
+ 00017279  0x00003dda call  0x000043c2 
+ 00017280  0x00003ddb branch  0x000041d7 
+ 00017281  0x00003ddd fetch  0x00000002 , 0x00004682 
+ 00017282  0x00003dde bbit1  0x00000007 , 0x00004392 
+ 00017283  0x00003ddf bbit1  0x00000009 , 0x00003402 
+ 00017284  0x00003de0 bbit1  0x00000000 , 0x000033e9 
+ 00017285  0x00003de1 branch  0x000042ca 
+ 00017286  0x00003de4 bpatch  0x000000ed , 0x0000401d 
+ 00017287  0x00003de5 setarg  0x00000000 
+ 00017288  0x00003de6 store  0x00000002 , 0x000046b0 
+ 00017289  0x00003de7 fetch  0x00000002 , 0x00004682 
+ 00017290  0x00003de8 bbit1  0x00000009 , 0x00003402 
+ 00017291  0x00003de9 fetch  0x00000002 , 0x00004682 
+ 00017292  0x00003dea bbit1  0x00000000 , 0x000033e9 
+ 00017293  0x00003deb rtn 
+ 00017294  0x00003dee setarg  0x00000001 
+ 00017295  0x00003def store  0x00000006 , 0x00000040 
+ 00017296  0x00003df0 jam  0x00000033 , 0x00000185 
+ 00017297  0x00003df1 branch  0x000042df 
+ 00017298  0x00003df5 call  0x000043c4 
+ 00017299  0x00003df6 branch  0x00007e2f 
+ 00017300  0x00003df9 fetch  0x00000001 , 0x000046ec 
+ 00017301  0x00003dfa rtneq  0x000000ff 
+ 00017302  0x00003dfb fetcht  0x00000001 , 0x000046ec 
+ 00017303  0x00003dfc call  0x0000681d 
+ 00017304  0x00003dfd branch  0x0000439f , 0x00000001 
+ 00017305  0x00003dff fetch  0x00000001 , 0x00004685 
+ 00017306  0x00003e00 store  0x00000001 , 0x000046da 
+ 00017307  0x00003e01 fetch  0x00000001 , 0x000046db 
+ 00017308  0x00003e02 rtneq  0x00000001 
+ 00017309  0x00003e03 jam  0x00000001 , 0x000046db 
+ 00017310  0x00003e04 branch  0x000043ca 
+ 00017311  0x00003e06 call  0x000043b5 
+ 00017312  0x00003e07 fetch  0x00000001 , 0x000046db 
+ 00017313  0x00003e08 rtneq  0x00000000 
+ 00017314  0x00003e09 jam  0x00000000 , 0x000046db 
+ 00017315  0x00003e0a call  0x00007e2f 
+ 00017316  0x00003e0b branch  0x000043c8 
+ 00017317  0x00003e0f fetch  0x00000001 , 0x000046f5 
+ 00017318  0x00003e10 bbit1  0x00000004 , 0x00004394 
+ 00017319  0x00003e12 call  0x00004083 
+ 00017320  0x00003e13 beq  0x00000007 , 0x000043af 
+ 00017321  0x00003e15 fetch  0x00000001 , 0x00004685 
+ 00017322  0x00003e16 store  0x00000001 , 0x000046da 
+ 00017323  0x00003e17 fetch  0x00000001 , 0x000046db 
+ 00017324  0x00003e18 rtneq  0x00000001 
+ 00017325  0x00003e19 jam  0x00000001 , 0x000046db 
+ 00017326  0x00003e1a branch  0x000043ca 
+ 00017327  0x00003e1e call  0x000043b5 
+ 00017328  0x00003e1f fetch  0x00000001 , 0x000046db 
+ 00017329  0x00003e20 rtneq  0x00000000 
+ 00017330  0x00003e21 jam  0x00000000 , 0x000046db 
+ 00017331  0x00003e22 call  0x00007e2f 
+ 00017332  0x00003e23 branch  0x000043c8 
+ 00017333  0x00003e26 arg  0x000046da , 0x00000013 
+ 00017334  0x00003e27 arg  0x000043b8 , 0x00000012 
+ 00017335  0x00003e28 branch  0x0000336d 
+ 00017336  0x00003e2b arg  0x00000006 , 0x00000007 
+ 00017337  0x00003e2c call  0x000043ce 
+ 00017338  0x00003e2d call  0x00003357 
+ 00017339  0x00003e2e branch  0x0000426c 
+ 00017340  0x00003e32 arg  0x00000001 , 0x00000007 
+ 00017341  0x00003e33 branch  0x000043ce 
+ 00017342  0x00003e35 arg  0x00000001 , 0x00000007 
+ 00017343  0x00003e36 branch  0x000043d2 
+ 00017344  0x00003e38 arg  0x00000000 , 0x00000007 
+ 00017345  0x00003e39 branch  0x000043ce 
+ 00017346  0x00003e3b arg  0x00000000 , 0x00000007 
+ 00017347  0x00003e3c branch  0x000043d2 
+ 00017348  0x00003e3e arg  0x00000002 , 0x00000007 
+ 00017349  0x00003e3f branch  0x000043ce 
+ 00017350  0x00003e41 arg  0x00000002 , 0x00000007 
+ 00017351  0x00003e42 branch  0x000043d2 
+ 00017352  0x00003e44 arg  0x00000005 , 0x00000007 
+ 00017353  0x00003e45 branch  0x000043ce 
+ 00017354  0x00003e47 arg  0x00000005 , 0x00000007 
+ 00017355  0x00003e48 branch  0x000043d2 
+ 00017356  0x00003e4d arg  0x00000001 , 0x00000002 
+ 00017357  0x00003e4e rtn 
+ 00017358  0x00003e51 fetch  0x00000004 , 0x000046d3 
+ 00017359  0x00003e52 qset1  0x0000003f 
+ 00017360  0x00003e53 store  0x00000004 , 0x000046d3 
+ 00017361  0x00003e54 rtn 
+ 00017362  0x00003e57 fetch  0x00000004 , 0x000046d3 
+ 00017363  0x00003e58 qset0  0x0000003f 
+ 00017364  0x00003e59 store  0x00000004 , 0x000046d3 
+ 00017365  0x00003e5a rtn 
+ 00017366  0x00003e5d fetch  0x00000004 , 0x000046d3 
+ 00017367  0x00003e5e rtnbit0  0x0000001a 
+ 00017368  0x00003e5f fetch  0x00000001 , 0x000046ce 
+ 00017369  0x00003e60 increase  0x00000001 , 0x0000003f 
+ 00017370  0x00003e61 store  0x00000001 , 0x000046ce 
+ 00017371  0x00003e62 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00017372  0x00003e63 rtn  0x00000002 
+ 00017373  0x00003e64 jam  0x00000000 , 0x000046ce 
+ 00017374  0x00003e65 call  0x000068eb 
+ 00017375  0x00003e66 call  0x00006908 
+ 00017376  0x00003e67 store  0x00000002 , 0x0000470f 
+ 00017377  0x00003e68 arg  0x00004709 , 0x00000011 
+ 00017378  0x00003e69 call  0x00006930 
+ 00017379  0x00003e6a fetch  0x00000001 , 0x00004231 
+ 00017380  0x00003e6b bbit1  0x00000001 , 0x000044a0 
+ 00017381  0x00003e6c bbit0  0x00000000 , 0x000043e9 
+ 00017382  0x00003e6d branch  0x000043e7 
+ 00017383  0x00003e6f arg  0x00000004 , 0x00000007 
+ 00017384  0x00003e70 branch  0x000043ce 
+ 00017385  0x00003e72 arg  0x00000004 , 0x00000007 
+ 00017386  0x00003e73 branch  0x000043d2 
+ 00017387  0x00003e76 fetch  0x00000004 , 0x000046d3 
+ 00017388  0x00003e77 rtnbit0  0x00000004 
+ 00017389  0x00003e78 fetch  0x00000001 , 0x000046ef 
+ 00017390  0x00003e79 store  0x00000001 , 0x00004715 
+ 00017391  0x00003e7a fetch  0x00000001 , 0x000046cf 
+ 00017392  0x00003e7b pincrease  0x00000001 
+ 00017393  0x00003e7c store  0x00000001 , 0x000046cf 
+ 00017394  0x00003e7d sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00017395  0x00003e7e ncall  0x000043f9 , 0x00000002 
+ 00017396  0x00003e7f beq  0x00000002 , 0x000043fb 
+ 00017397  0x00003e80 beq  0x00000004 , 0x000043fe 
+ 00017398  0x00003e81 beq  0x00000006 , 0x000043fb 
+ 00017399  0x00003e82 beq  0x00000008 , 0x000043fe 
+ 00017400  0x00003e83 rtn 
+ 00017401  0x00003e85 jam  0x00000001 , 0x000046cf 
+ 00017402  0x00003e86 branch  0x000043fe 
+ 00017403  0x00003e88 arg  0x00000000 , 0x00000011 
+ 00017404  0x00003e89 jam  0x00000002 , 0x00004713 
+ 00017405  0x00003e8a branch  0x00007d14 
+ 00017406  0x00003e8c arg  0x00000000 , 0x00000011 
+ 00017407  0x00003e8d jam  0x00000002 , 0x00004713 
+ 00017408  0x00003e8e branch  0x00007d19 
+ 00017409  0x00003e91 call  0x00003f97 
+ 00017410  0x00003e92 nrtn  0x00000028 
+ 00017411  0x00003e93 arg  0x00000007 , 0x00000011 
+ 00017412  0x00003e94 arg  0x0000469a , 0x00000012 
+ 00017413  0x00003e95 rtn 
+ 00017414  0x00003e98 fetch  0x00000001 , 0x0000478b 
+ 00017415  0x00003e99 rtn  0x00000034 
+ 00017416  0x00003e9b fetcht  0x00000001 , 0x000046e7 
+ 00017417  0x00003e9c call  0x0000681d 
+ 00017418  0x00003e9d call  0x00004410 , 0x00000001 
+ 00017419  0x00003e9e fetch  0x00000001 , 0x00004704 
+ 00017420  0x00003e9f nrtn  0x00000034 
+ 00017421  0x00003ea0 call  0x00004083 
+ 00017422  0x00003ea1 nrtn  0x00000034 
+ 00017423  0x00003ea2 branch  0x00002d83 
+ 00017424  0x00003ea5 fetch  0x00000001 , 0x000046e7 
+ 00017425  0x00003ea6 rtneq  0x000000ff 
+ 00017426  0x00003ea7 jam  0x0000000a , 0x00004704 
+ 00017427  0x00003ea8 rtn 
+ 00017428  0x00003eac call  0x00004423 
+ 00017429  0x00003ead fetch  0x00000002 , 0x00004778 
+ 00017430  0x00003eae arg  0x0000aa55 , 0x00000002 
+ 00017431  0x00003eaf isub  0x00000002 , 0x0000003e 
+ 00017432  0x00003eb0 branch  0x0000442b , 0x00000005 
+ 00017433  0x00003eb1 storet  0x00000002 , 0x00004778 
+ 00017434  0x00003eb2 call  0x0000441c 
+ 00017435  0x00003eb3 branch  0x00004435 
+ 00017436  0x00003eb5 fetch  0x00000006 , 0x000044a0 
+ 00017437  0x00003eb6 store  0x00000006 , 0x00004738 
+ 00017438  0x00003eb7 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017439  0x00003eb8 store  0x00000006 , 0x00004755 
+ 00017440  0x00003eb9 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017441  0x00003eba store  0x00000006 , 0x00004772 
+ 00017442  0x00003ebb rtn 
+ 00017443  0x00003ebf setarg  0x00004778 
+ 00017444  0x00003ec0 arg  0x00004720 , 0x00000002 
+ 00017445  0x00003ec1 isub  0x00000002 , 0x00000002 
+ 00017446  0x00003ec2 fetch  0x00000003 , 0x00004700 
+ 00017447  0x00003ec3 iadd  0x00000002 , 0x0000003f 
+ 00017448  0x00003ec4 arg  0x00000002 , 0x00000002 
+ 00017449  0x00003ec5 arg  0x00004778 , 0x00000011 
+ 00017450  0x00003ec6 branch  0x00006562 
+ 00017451  0x00003eca setarg  0x0000477f 
+ 00017452  0x00003ecb arg  0x00004720 , 0x00000002 
+ 00017453  0x00003ecc isub  0x00000002 , 0x00000002 
+ 00017454  0x00003ecd fetch  0x00000003 , 0x00004700 
+ 00017455  0x00003ece arg  0x00004720 , 0x00000011 
+ 00017456  0x00003ecf call  0x00006562 
+ 00017457  0x00003ed0 call  0x0000431a 
+ 00017458  0x00003ed1 fetch  0x00000004 , 0x0000477b 
+ 00017459  0x00003ed2 call  0x00002c7a 
+ 00017460  0x00003ed3 branch  0x0000322c 
+ 00017461  0x00003ed6 setarg  0x0000477f 
+ 00017462  0x00003ed7 arg  0x00004720 , 0x00000002 
+ 00017463  0x00003ed8 isub  0x00000002 , 0x00000002 
+ 00017464  0x00003ed9 arg  0x00004720 , 0x00000011 
+ 00017465  0x00003eda fetch  0x00000003 , 0x00004700 
+ 00017466  0x00003edb branch  0x00006514 
+ 00017467  0x00003ede arg  0x00000001 , 0x00000002 
+ 00017468  0x00003edf arg  0x0000477a , 0x00000011 
+ 00017469  0x00003ee0 arg  0x0000005a , 0x00000012 
+ 00017470  0x00003ee1 branch  0x000065d1 
+ 00017471  0x00003ee4 arg  0x00000001 , 0x00000002 
+ 00017472  0x00003ee5 arg  0x0000477a , 0x00000011 
+ 00017473  0x00003ee6 arg  0x0000005a , 0x00000012 
+ 00017474  0x00003ee7 branch  0x000065df 
+ 00017475  0x00003eea rtnmark1  0x00000026 
+ 00017476  0x00003eeb fetch  0x00000004 , 0x000046d3 
+ 00017477  0x00003eec rtnbit0  0x00000016 
+ 00017478  0x00003eed fetch  0x00000001 , 0x00004705 
+ 00017479  0x00003eee pincrease  0x00000001 
+ 00017480  0x00003eef and  0x0000003f , 0x00000007 , 0x0000003f 
+ 00017481  0x00003ef0 store  0x00000001 , 0x00004705 
+ 00017482  0x00003ef1 rtnne  0x00000007 
+ 00017483  0x00003ef2 fetch  0x00000002 , 0x00004682 
+ 00017484  0x00003ef3 bbit1  0x00000000 , 0x0000444f 
+ 00017485  0x00003ef4 bbit1  0x00000009 , 0x0000444f 
+ 00017486  0x00003ef5 rtn 
+ 00017487  0x00003efb bpatch  0x000000ee , 0x0000401d 
+ 00017488  0x00003efc fetch  0x00000001 , 0x00004706 
+ 00017489  0x00003efd nrtn  0x00000034 
+ 00017490  0x00003efe fetch  0x00000004 , 0x000046d3 
+ 00017491  0x00003eff rtnbit0  0x00000008 
+ 00017492  0x00003f00 fetch  0x00000001 , 0x000046a5 
+ 00017493  0x00003f01 call  0x000063fb 
+ 00017494  0x00003f02 store  0x00000001 , 0x000046a6 
+ 00017495  0x00003f03 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017496  0x00003f04 branch  0x0000445b , 0x00000002 
+ 00017497  0x00003f05 jam  0x00000000 , 0x00004706 
+ 00017498  0x00003f06 rtn 
+ 00017499  0x00003f09 jam  0x0000001e , 0x00004706 
+ 00017500  0x00003f0a rtn 
+ 00017501  0x00003f0c arg  0x00004706 , 0x00000013 
+ 00017502  0x00003f0d arg  0x00004460 , 0x00000012 
+ 00017503  0x00003f0e branch  0x0000336d 
+ 00017504  0x00003f11 fetch  0x00000001 , 0x000046a5 
+ 00017505  0x00003f12 call  0x00006414 
+ 00017506  0x00003f13 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017507  0x00003f14 nrtn  0x00000002 
+ 00017508  0x00003f15 fetch  0x00000004 , 0x000046d3 
+ 00017509  0x00003f16 rtnbit0  0x00000008 
+ 00017510  0x00003f17 arg  0x00000008 , 0x00000007 
+ 00017511  0x00003f18 call  0x000043d2 
+ 00017512  0x00003f19 jam  0x00000000 , 0x00004172 
+ 00017513  0x00003f1a jam  0x0000001e , 0x000046c4 
+ 00017514  0x00003f1b call  0x00004482 
+ 00017515  0x00003f1c fetch  0x00000004 , 0x000046d3 
+ 00017516  0x00003f1d bbit1  0x00000015 , 0x00004471 
+ 00017517  0x00003f1f fetch  0x00000001 , 0x00004720 
+ 00017518  0x00003f20 beq  0x00000001 , 0x00004489 
+ 00017519  0x00003f21 beq  0x00000002 , 0x00004476 
+ 00017520  0x00003f22 rtn 
+ 00017521  0x00003f24 fetch  0x00000001 , 0x00004720 
+ 00017522  0x00003f25 beq  0x00000001 , 0x00004489 
+ 00017523  0x00003f26 beq  0x00000002 , 0x0000448c 
+ 00017524  0x00003f27 beq  0x00000003 , 0x0000448f 
+ 00017525  0x00003f28 rtn 
+ 00017526  0x00003f2b fetch  0x00000001 , 0x000046f0 
+ 00017527  0x00003f2c branch  0x0000428f 
+ 00017528  0x00003f31 jam  0x00000020 , 0x00004172 
+ 00017529  0x00003f32 branch  0x00004482 
+ 00017530  0x00003f37 fetch  0x00000001 , 0x000046f0 
+ 00017531  0x00003f38 rtneq  0x000000ff 
+ 00017532  0x00003f39 store  0x00000001 , 0x00004715 
+ 00017533  0x00003f3a branch  0x00004296 
+ 00017534  0x00003f3d fetch  0x00000001 , 0x000046f1 
+ 00017535  0x00003f3e rtneq  0x000000ff 
+ 00017536  0x00003f3f store  0x00000001 , 0x00004715 
+ 00017537  0x00003f40 branch  0x00004296 
+ 00017538  0x00003f43 call  0x00004296 
+ 00017539  0x00003f44 call  0x0000447a 
+ 00017540  0x00003f45 call  0x0000447e 
+ 00017541  0x00003f47 fetch  0x00000001 , 0x000046f2 
+ 00017542  0x00003f48 rtneq  0x000000ff 
+ 00017543  0x00003f49 store  0x00000001 , 0x00004715 
+ 00017544  0x00003f4a branch  0x00004296 
+ 00017545  0x00003f4d fetch  0x00000001 , 0x000046f0 
+ 00017546  0x00003f4e store  0x00000001 , 0x00004715 
+ 00017547  0x00003f4f branch  0x00004298 
+ 00017548  0x00003f51 fetch  0x00000001 , 0x000046f1 
+ 00017549  0x00003f52 store  0x00000001 , 0x00004715 
+ 00017550  0x00003f53 branch  0x00004298 
+ 00017551  0x00003f55 fetch  0x00000001 , 0x000046f2 
+ 00017552  0x00003f56 store  0x00000001 , 0x00004715 
+ 00017553  0x00003f57 branch  0x00004298 
+ 00017554  0x00003f5c bpatch  0x000000ef , 0x0000401d 
+ 00017555  0x00003f5d fetch  0x00000001 , 0x0000471e 
+ 00017556  0x00003f5e increase  0xffffffff , 0x0000003f 
+ 00017557  0x00003f5f store  0x00000001 , 0x0000471e 
+ 00017558  0x00003f60 fetcht  0x00000001 , 0x00004720 
+ 00017559  0x00003f61 increase  0x00000001 , 0x00000002 
+ 00017560  0x00003f62 fetch  0x00000001 , 0x000046d2 
+ 00017561  0x00003f63 isub  0x00000002 , 0x0000003e 
+ 00017562  0x00003f64 ncall  0x000043cc , 0x00000002 
+ 00017563  0x00003f65 storet  0x00000001 , 0x00004720 
+ 00017564  0x00003f66 jam  0x00000000 , 0x000041bd 
+ 00017565  0x00003f67 call  0x0000437a 
+ 00017566  0x00003f68 call  0x000042fb 
+ 00017567  0x00003f69 branch  0x000042a2 
+ 00017568  0x00003f6c call  0x00004482 
+ 00017569  0x00003f6d setarg  0x00000000 
+ 00017570  0x00003f6e store  0x00000008 , 0x000000a1 
+ 00017571  0x00003f6f branch  0x00002b1f 
+ 00017572  0x00003f7b rtn  0x0000002b 
+ 00017573  0x00003f7c hfetch  0x00000001 , 0x00008081 
+ 00017574  0x00003f7d and_into  0x000000f0 , 0x0000003f 
+ 00017575  0x00003f7e hstore  0x00000001 , 0x00008081 
+ 00017576  0x00003f7f call  0x00006948 
+ 00017577  0x00003f80 setarg  0x000044e6 
+ 00017578  0x00003f81 store  0x00000002 , 0x000041eb 
+ 00017579  0x00003f83 setarg  0x000044e9 
+ 00017580  0x00003f84 store  0x00000002 , 0x000041ed 
+ 00017581  0x00003f86 setarg  0x000044ef 
+ 00017582  0x00003f87 store  0x00000002 , 0x000041f3 
+ 00017583  0x00003f89 setarg  0x000044f2 
+ 00017584  0x00003f8a store  0x00000002 , 0x000041f5 
+ 00017585  0x00003f8c setarg  0x000033d0 
+ 00017586  0x00003f8d store  0x00000002 , 0x000041e9 
+ 00017587  0x00003f8f call  0x00002c7a 
+ 00017588  0x00003f90 setarg  0x000045c2 
+ 00017589  0x00003f91 add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00017590  0x00003f92 istore  0x00000002 , 0x00000005 
+ 00017591  0x00003f94 setarg  0x000044ea 
+ 00017592  0x00003f95 add  0x00000013 , 0x000000da , 0x00000005 
+ 00017593  0x00003f96 istore  0x00000002 , 0x00000005 
+ 00017594  0x00003f98 setarg  0x000044e9 
+ 00017595  0x00003f99 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00017596  0x00003f9a istore  0x00000002 , 0x00000005 
+ 00017597  0x00003f9c setarg  0x0000450e 
+ 00017598  0x00003f9d store  0x00000002 , 0x000041fd 
+ 00017599  0x00003f9f setarg  0x000044da 
+ 00017600  0x00003fa0 store  0x00000002 , 0x0000475b 
+ 00017601  0x00003fa2 setarg  0x000044d6 
+ 00017602  0x00003fa3 store  0x00000002 , 0x0000475f 
+ 00017603  0x00003fa5 setarg  0x00004560 
+ 00017604  0x00003fa6 store  0x00000002 , 0x0000470f 
+ 00017605  0x00003fa8 bpatch  0x000000f0 , 0x0000401e 
+ 00017606  0x00003fa9 call  0x000044e2 
+ 00017607  0x00003faa call  0x00007e38 
+ 00017608  0x00003fab jam  0x00000002 , 0x00004172 
+ 00017609  0x00003fac fetch  0x00000001 , 0x0000472b 
+ 00017610  0x00003fad store  0x00000001 , 0x0000469a 
+ 00017611  0x00003fae beq  0x00000000 , 0x000044d5 
+ 00017612  0x00003faf fetch  0x00000001 , 0x0000472c 
+ 00017613  0x00003fb0 store  0x00000001 , 0x00004686 
+ 00017614  0x00003fb2 call  0x000044db 
+ 00017615  0x00003fb3 call  0x00007cd3 
+ 00017616  0x00003fb4 call  0x00007cdd 
+ 00017617  0x00003fb5 jam  0x00000001 , 0x00004757 
+ 00017618  0x00003fb6 fetch  0x00000002 , 0x00004682 
+ 00017619  0x00003fb7 rtnbit1  0x0000000c 
+ 00017620  0x00003fb8 branch  0x0000340a 
+ 00017621  0x00003fbd jam  0x00000002 , 0x00004757 
+ 00017622  0x00003fbf call  0x000044db 
+ 00017623  0x00003fc1 arg  0x00000000 , 0x00000011 
+ 00017624  0x00003fc2 call  0x00007d1e 
+ 00017625  0x00003fc4 branch  0x00002ee4 
+ 00017626  0x00003fc7 branch  0x000044db 
+ 00017627  0x00003fca bpatch  0x000000f1 , 0x0000401e 
+ 00017628  0x00003fcb fetch  0x00000001 , 0x00004729 
+ 00017629  0x00003fcc bne  0x000000ff , 0x000044e0 
+ 00017630  0x00003fce fetcht  0x00000001 , 0x00004706 
+ 00017631  0x00003fcf branch  0x0000680e 
+ 00017632  0x00003fd1 store  0x00000001 , 0x00004706 
+ 00017633  0x00003fd2 branch  0x000044de 
+ 00017634  0x00003fd6 call  0x00002c9d 
+ 00017635  0x00003fd7 fetch  0x00000002 , 0x00004753 
+ 00017636  0x00003fd8 store  0x00000002 , 0x00004755 
+ 00017637  0x00003fd9 branch  0x00004515 
+ 00017638  0x00003fe1 call  0x00006835 
+ 00017639  0x00003fe2 call  0x000044e9 
+ 00017640  0x00003fe3 branch  0x0000340a 
+ 00017641  0x00003fe6 branch  0x0000696c 
+ 00017642  0x00003fe9 fetch  0x00000001 , 0x00004765 
+ 00017643  0x00003fea rtn  0x00000034 
+ 00017644  0x00003fec branch  0x00002d83 
+ 00017645  0x00003fef rtn 
+ 00017646  0x00003ff2 branch  0x00006978 
+ 00017647  0x00003ff5 call  0x00004544 
+ 00017648  0x00003ff6 call  0x00004503 
+ 00017649  0x00003ff7 branch  0x000044ee 
+ 00017650  0x00003ffa copy  0x00000013 , 0x0000003f 
+ 00017651  0x00003ffb beq  0x0000002d , 0x00003431 
+ 00017652  0x00003ffc beq  0x00000010 , 0x0000341a 
+ 00017653  0x00003ffd beq  0x00000039 , 0x000044fb 
+ 00017654  0x00003ffe beq  0x0000003c , 0x000044ff 
+ 00017655  0x00003fff beq  0x0000003a , 0x000044f9 
+ 00017656  0x00004000 rtn 
+ 00017657  0x00004003 jam  0x00000001 , 0x00004765 
+ 00017658  0x00004004 rtn 
+ 00017659  0x00004007 jam  0x00000001 , 0x00004765 
+ 00017660  0x00004008 jam  0x00000001 , 0x00004763 
+ 00017661  0x00004009 jam  0x00000001 , 0x00004764 
+ 00017662  0x0000400a rtn 
+ 00017663  0x0000400d jam  0x00000001 , 0x00004765 
+ 00017664  0x0000400e jam  0x00000001 , 0x00004763 
+ 00017665  0x0000400f jam  0x00000001 , 0x00004764 
+ 00017666  0x00004010 rtn 
+ 00017667  0x00004013 fetch  0x00000001 , 0x00004763 
+ 00017668  0x00004014 rtneq  0x00000000 
+ 00017669  0x00004015 fetch  0x00000001 , 0x00004762 
+ 00017670  0x00004016 rtneq  0x00000001 
+ 00017671  0x00004017 jam  0x00000001 , 0x00004762 
+ 00017672  0x00004019 arg  0x00000000 , 0x00000011 
+ 00017673  0x0000401a branch  0x00007d19 
+ 00017674  0x0000401c arg  0x00000000 , 0x00000011 
+ 00017675  0x0000401d call  0x00007d19 
+ 00017676  0x0000401e call  0x000044db 
+ 00017677  0x0000401f branch  0x0000340a 
+ 00017678  0x00004022 call  0x0000337b 
+ 00017679  0x00004023 branch  0x00004510 
+ 00017680  0x00004026 fetch  0x00000001 , 0x0000472d 
+ 00017681  0x00004027 rtn  0x00000034 
+ 00017682  0x00004028 arg  0x00004755 , 0x00000013 
+ 00017683  0x00004029 arg  0x0000450a , 0x00000012 
+ 00017684  0x0000402a branch  0x00003374 
+ 00017685  0x0000402e call  0x0000451a 
+ 00017686  0x0000402f storet  0x00000002 , 0x0000471a 
+ 00017687  0x00004030 call  0x0000451f 
+ 00017688  0x00004031 storet  0x00000002 , 0x0000471c 
+ 00017689  0x00004032 rtn 
+ 00017690  0x00004035 fetch  0x00000002 , 0x0000471a 
+ 00017691  0x00004036 store  0x00000002 , 0x0000471e 
+ 00017692  0x00004037 call  0x00004540 
+ 00017693  0x00004038 call  0x00004525 
+ 00017694  0x00004039 store  0x00000001 , 0x00004724 
+ 00017695  0x0000403b fetch  0x00000002 , 0x0000471c 
+ 00017696  0x0000403c store  0x00000002 , 0x0000471e 
+ 00017697  0x0000403d call  0x00004542 
+ 00017698  0x0000403e call  0x00004525 
+ 00017699  0x0000403f store  0x00000001 , 0x00004725 
+ 00017700  0x00004040 rtn 
+ 00017701  0x00004042 fetch  0x00000002 , 0x00004720 
+ 00017702  0x00004043 copy  0x0000003f , 0x00000011 
+ 00017703  0x00004044 fetch  0x00000002 , 0x0000471e 
+ 00017704  0x00004045 call  0x0000452e 
+ 00017705  0x00004046 fetch  0x00000001 , 0x00004719 
+ 00017706  0x00004047 nbranch  0x00004537 , 0x00000034 
+ 00017707  0x00004048 nrtn  0x00000002 
+ 00017708  0x00004049 fetcht  0x00000002 , 0x0000471e 
+ 00017709  0x0000404a rtn 
+ 00017710  0x0000404c isub  0x00000002 , 0x0000003f 
+ 00017711  0x0000404d branch  0x00004534 , 0x00000002 
+ 00017712  0x0000404e sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00017713  0x0000404f jam  0x00000001 , 0x00004718 
+ 00017714  0x00004050 isub  0x00000011 , 0x0000003e 
+ 00017715  0x00004051 rtn 
+ 00017716  0x00004053 jam  0x00000000 , 0x00004718 
+ 00017717  0x00004054 isub  0x00000011 , 0x0000003e 
+ 00017718  0x00004055 rtn 
+ 00017719  0x00004057 nbranch  0x0000453e , 0x00000002 
+ 00017720  0x00004058 fetch  0x00000001 , 0x00004718 
+ 00017721  0x00004059 nbranch  0x0000453c , 0x00000034 
+ 00017722  0x0000405b setarg  0x00000001 
+ 00017723  0x0000405c rtn 
+ 00017724  0x0000405e setarg  0x00000002 
+ 00017725  0x0000405f rtn 
+ 00017726  0x00004061 setarg  0x00000000 
+ 00017727  0x00004062 rtn 
+ 00017728  0x00004064 jam  0x00000033 , 0x0000422e 
+ 00017729  0x00004065 branch  0x000068eb 
+ 00017730  0x00004067 jam  0x00000034 , 0x0000422e 
+ 00017731  0x00004068 branch  0x000068eb 
+ 00017732  0x0000406c fetch  0x00000001 , 0x0000472a 
+ 00017733  0x0000406d rtnne  0x00000001 
+ 00017734  0x0000406f bpatch  0x000000f2 , 0x0000401e 
+ 00017735  0x00004070 jam  0x00000001 , 0x00004719 
+ 00017736  0x00004071 call  0x0000451a 
+ 00017737  0x00004072 fetch  0x00000002 , 0x00004724 
+ 00017738  0x00004073 fetcht  0x00000002 , 0x00004722 
+ 00017739  0x00004074 isub  0x00000002 , 0x0000003e 
+ 00017740  0x00004075 rtn  0x00000005 
+ 00017741  0x00004076 store  0x00000002 , 0x00004722 
+ 00017742  0x00004077 call  0x00004550 
+ 00017743  0x00004078 branch  0x00004554 
+ 00017744  0x0000407b fetch  0x00000001 , 0x00004724 
+ 00017745  0x0000407c branch  0x0000455a , 0x00000034 
+ 00017746  0x0000407d increase  0xffffffff , 0x0000003f 
+ 00017747  0x0000407e branch  0x00004557 
+ 00017748  0x00004080 fetch  0x00000001 , 0x00004725 
+ 00017749  0x00004081 branch  0x0000455d , 0x00000034 
+ 00017750  0x00004082 increase  0x00000001 , 0x0000003f 
+ 00017751  0x00004084 copy  0x0000003f , 0x00000007 
+ 00017752  0x00004085 arg  0x00000001 , 0x00000011 
+ 00017753  0x00004086 branch  0x00004560 
+ 00017754  0x00004089 arg  0x00000000 , 0x00000007 
+ 00017755  0x0000408a arg  0x00000000 , 0x00000011 
+ 00017756  0x0000408b branch  0x00004560 
+ 00017757  0x0000408d arg  0x00000002 , 0x00000007 
+ 00017758  0x0000408e arg  0x00000000 , 0x00000011 
+ 00017759  0x0000408f branch  0x00004560 
+ 00017760  0x00004092 copy  0x00000011 , 0x0000003f 
+ 00017761  0x00004093 store  0x00000001 , 0x00004761 
+ 00017762  0x00004094 fetch  0x00000001 , 0x00004763 
+ 00017763  0x00004095 beq  0x00000000 , 0x00002ee4 
+ 00017764  0x00004096 fetch  0x00000002 , 0x00004753 
+ 00017765  0x00004097 store  0x00000002 , 0x00004755 
+ 00017766  0x00004098 fetch  0x00000001 , 0x00004761 
+ 00017767  0x00004099 branch  0x00004580 , 0x00000034 
+ 00017768  0x0000409b bpatch  0x000000f3 , 0x0000401e 
+ 00017769  0x0000409c arg  0x00000000 , 0x00000011 
+ 00017770  0x0000409d call  0x00007d14 
+ 00017771  0x0000409f copy  0x00000007 , 0x0000003f 
+ 00017772  0x000040a0 beq  0x00000004 , 0x000045a3 
+ 00017773  0x000040a1 beq  0x00000005 , 0x000045a5 
+ 00017774  0x000040a2 beq  0x00000006 , 0x000045a7 
+ 00017775  0x000040a6 call  0x0000458b 
+ 00017776  0x000040a7 beq  0x00000000 , 0x00004574 
+ 00017777  0x000040a8 beq  0x00000002 , 0x0000457a 
+ 00017778  0x000040a9 beq  0x00000003 , 0x00004574 
+ 00017779  0x000040aa rtn 
+ 00017780  0x000040ad copy  0x00000007 , 0x0000003f 
+ 00017781  0x000040ae beq  0x00000000 , 0x0000458f 
+ 00017782  0x000040af beq  0x00000001 , 0x00004591 
+ 00017783  0x000040b0 beq  0x00000002 , 0x00004593 
+ 00017784  0x000040b1 beq  0x00000003 , 0x00004595 
+ 00017785  0x000040b2 rtn 
+ 00017786  0x000040b5 copy  0x00000007 , 0x0000003f 
+ 00017787  0x000040b6 beq  0x00000000 , 0x00004597 
+ 00017788  0x000040b7 beq  0x00000001 , 0x0000459a 
+ 00017789  0x000040b8 beq  0x00000002 , 0x0000459d 
+ 00017790  0x000040b9 beq  0x00000003 , 0x000045a0 
+ 00017791  0x000040ba rtn 
+ 00017792  0x000040bd bpatch  0x000000f4 , 0x0000401e 
+ 00017793  0x000040be arg  0x00000000 , 0x00000011 
+ 00017794  0x000040bf call  0x00007d19 
+ 00017795  0x000040c1 copy  0x00000007 , 0x0000003f 
+ 00017796  0x000040c2 beq  0x00000004 , 0x000045bc 
+ 00017797  0x000040c3 beq  0x00000005 , 0x000045bc 
+ 00017798  0x000040c7 call  0x0000458b 
+ 00017799  0x000040c8 beq  0x00000000 , 0x000045a9 
+ 00017800  0x000040c9 beq  0x00000002 , 0x000045af 
+ 00017801  0x000040ca beq  0x00000003 , 0x000045a9 
+ 00017802  0x000040cb rtn 
+ 00017803  0x000040ce fetch  0x00000001 , 0x00004728 
+ 00017804  0x000040cf fetcht  0x00000001 , 0x00004727 
+ 00017805  0x000040d0 ior  0x00000002 , 0x0000003f 
+ 00017806  0x000040d1 rtn 
+ 00017807  0x000040d5 jam  0x00000001 , 0x00004734 
+ 00017808  0x000040d6 branch  0x000045be 
+ 00017809  0x000040d8 jam  0x00000002 , 0x00004734 
+ 00017810  0x000040d9 branch  0x000045be 
+ 00017811  0x000040db jam  0x00000001 , 0x00004736 
+ 00017812  0x000040dc branch  0x000045be 
+ 00017813  0x000040de jam  0x00000002 , 0x00004736 
+ 00017814  0x000040df branch  0x000045be 
+ 00017815  0x000040e3 jam  0x00000001 , 0x00004734 
+ 00017816  0x000040e4 jam  0x00000001 , 0x00004736 
+ 00017817  0x000040e5 branch  0x000045be 
+ 00017818  0x000040e7 jam  0x00000002 , 0x00004734 
+ 00017819  0x000040e8 jam  0x00000002 , 0x00004736 
+ 00017820  0x000040e9 branch  0x000045be 
+ 00017821  0x000040eb jam  0x00000002 , 0x00004734 
+ 00017822  0x000040ec jam  0x00000001 , 0x00004736 
+ 00017823  0x000040ed branch  0x000045be 
+ 00017824  0x000040ef jam  0x00000001 , 0x00004734 
+ 00017825  0x000040f0 jam  0x00000002 , 0x00004736 
+ 00017826  0x000040f1 branch  0x000045be 
+ 00017827  0x000040f5 jam  0x00000001 , 0x00004738 
+ 00017828  0x000040f6 branch  0x000045be 
+ 00017829  0x000040f8 jam  0x00000002 , 0x00004738 
+ 00017830  0x000040f9 branch  0x000045be 
+ 00017831  0x000040fc jam  0x00000001 , 0x00004741 
+ 00017832  0x000040fd branch  0x000045c0 
+ 00017833  0x00004100 copy  0x00000007 , 0x0000003f 
+ 00017834  0x00004101 beq  0x00000000 , 0x000045b5 
+ 00017835  0x00004102 beq  0x00000001 , 0x000045b5 
+ 00017836  0x00004103 beq  0x00000002 , 0x000045b7 
+ 00017837  0x00004104 beq  0x00000003 , 0x000045b7 
+ 00017838  0x00004105 rtn 
+ 00017839  0x00004108 copy  0x00000007 , 0x0000003f 
+ 00017840  0x00004109 beq  0x00000000 , 0x000045b9 
+ 00017841  0x0000410a beq  0x00000001 , 0x000045b9 
+ 00017842  0x0000410b beq  0x00000002 , 0x000045b9 
+ 00017843  0x0000410c beq  0x00000003 , 0x000045b9 
+ 00017844  0x0000410d rtn 
+ 00017845  0x00004111 jam  0x00000000 , 0x00004734 
+ 00017846  0x00004112 branch  0x000045be 
+ 00017847  0x00004115 jam  0x00000000 , 0x00004736 
+ 00017848  0x00004116 branch  0x000045be 
+ 00017849  0x0000411c jam  0x00000000 , 0x00004734 
+ 00017850  0x0000411d jam  0x00000000 , 0x00004736 
+ 00017851  0x0000411e branch  0x000045be 
+ 00017852  0x00004122 jam  0x00000000 , 0x00004738 
+ 00017853  0x00004123 branch  0x000045be 
+ 00017854  0x00004126 arg  0x0000472e , 0x00000011 
+ 00017855  0x00004127 branch  0x00007e3d 
+ 00017856  0x00004129 arg  0x0000473b , 0x00000011 
+ 00017857  0x0000412a branch  0x00007e3d 
+ 00017858  0x0000412d fetch  0x00000001 , 0x00004764 
+ 00017859  0x0000412e beq  0x00000001 , 0x000045cc 
+ 00017860  0x0000412f arg  0x00004744 , 0x00000011 
+ 00017861  0x00004130 call  0x00007e54 
+ 00017862  0x00004131 nbranch  0x000045d1 , 0x00000028 
+ 00017863  0x00004133 arg  0x00004744 , 0x00000006 
+ 00017864  0x00004134 ifetch  0x00000001 , 0x00000006 
+ 00017865  0x00004135 copy  0x0000003f , 0x00000011 
+ 00017866  0x00004136 arg  0x00004745 , 0x00000012 
+ 00017867  0x00004139 rtn 
+ 00017868  0x0000413c jam  0x00000000 , 0x00004764 
+ 00017869  0x0000413d enable  0x00000028 
+ 00017870  0x0000413e arg  0x00000001 , 0x00000011 
+ 00017871  0x0000413f arg  0x00004766 , 0x00000012 
+ 00017872  0x00004140 rtn 
+ 00017873  0x00004143 fetch  0x00000001 , 0x00004747 
+ 00017874  0x00004144 beq  0x00000004 , 0x000045d5 
+ 00017875  0x00004145 beq  0x00000005 , 0x000045d5 
+ 00017876  0x00004146 rtn 
+ 00017877  0x00004148 fetch  0x00000001 , 0x0000474a 
+ 00017878  0x00004149 nbranch  0x000045dc , 0x00000034 
+ 00017879  0x0000414a fetch  0x00000001 , 0x0000474c 
+ 00017880  0x0000414b nbranch  0x000045dc , 0x00000034 
+ 00017881  0x0000414c fetch  0x00000001 , 0x0000474e 
+ 00017882  0x0000414d nbranch  0x000045dc , 0x00000034 
+ 00017883  0x0000414e rtn 
+ 00017884  0x00004150 enable  0x00000028 
+ 00017885  0x00004151 branch  0x000045c7 
+ 00017886  0x0000415a rtn  0x0000002b 
+ 00017887  0x0000415b hfetch  0x00000001 , 0x00008081 
+ 00017888  0x0000415c and_into  0x000000fc , 0x0000003f 
+ 00017889  0x0000415d hstore  0x00000001 , 0x00008081 
+ 00017890  0x0000415e setarg  0x000046b4 
+ 00017891  0x0000415f store  0x00000002 , 0x000041eb 
+ 00017892  0x00004161 setarg  0x000046b3 
+ 00017893  0x00004162 store  0x00000002 , 0x000041ed 
+ 00017894  0x00004164 setarg  0x0000340a 
+ 00017895  0x00004165 store  0x00000002 , 0x000041f7 
+ 00017896  0x00004167 setarg  0x000046b1 
+ 00017897  0x00004168 store  0x00000002 , 0x000041f3 
+ 00017898  0x0000416a setarg  0x00004612 
+ 00017899  0x0000416b store  0x00000002 , 0x000041f5 
+ 00017900  0x0000416d setarg  0x0000460c 
+ 00017901  0x0000416e store  0x00000002 , 0x000041e9 
+ 00017902  0x00004170 setarg  0x0000476a 
+ 00017903  0x00004171 store  0x00000002 , 0x000041f9 
+ 00017904  0x00004173 setarg  0x00004686 
+ 00017905  0x00004174 store  0x00000002 , 0x000041fd 
+ 00017906  0x00004176 setarg  0x00004729 
+ 00017907  0x00004177 store  0x00000002 , 0x000046e7 
+ 00017908  0x00004179 setarg  0x00004806 
+ 00017909  0x0000417a store  0x00000002 , 0x000046e2 
+ 00017910  0x0000417b setarg  0x00004807 
+ 00017911  0x0000417c store  0x00000002 , 0x000046e4 
+ 00017912  0x0000417e call  0x000057a3 
+ 00017913  0x0000417f call  0x000047da 
+ 00017914  0x00004180 call  0x00004788 
+ 00017915  0x00004181 call  0x0000476d 
+ 00017916  0x00004182 call  0x00006948 
+ 00017917  0x00004183 call  0x0000477a 
+ 00017918  0x00004184 call  0x00007e38 
+ 00017919  0x00004185 call  0x00007d08 
+ 00017920  0x00004186 call  0x00004793 
+ 00017921  0x00004187 call  0x000047c7 
+ 00017922  0x00004189 bpatch  0x000000f5 , 0x0000401e 
+ 00017923  0x0000418a call  0x0000464f 
+ 00017924  0x0000418b fetch  0x00000001 , 0x000046dd 
+ 00017925  0x0000418c beq  0x00000000 , 0x00004609 
+ 00017926  0x0000418d fetch  0x00000001 , 0x000046de 
+ 00017927  0x0000418e store  0x00000001 , 0x00004686 
+ 00017928  0x0000418f branch  0x0000480e 
+ 00017929  0x00004193 jam  0x000000ff , 0x00004686 
+ 00017930  0x00004194 jam  0x00000001 , 0x000046df 
+ 00017931  0x00004195 branch  0x000046d9 
+ 00017932  0x0000419a fetch  0x00000001 , 0x000046df 
+ 00017933  0x0000419b beq  0x00000002 , 0x000033d0 
+ 00017934  0x0000419c call  0x0000527e 
+ 00017935  0x0000419d fetch  0x00000001 , 0x00004256 
+ 00017936  0x0000419e nbranch  0x000033d0 , 0x00000034 
+ 00017937  0x0000419f branch  0x000033d2 
+ 00017938  0x000041a4 copy  0x00000013 , 0x0000003f 
+ 00017939  0x000041a6 beq  0x00000001 , 0x00004626 
+ 00017940  0x000041a7 beq  0x00000002 , 0x00004629 
+ 00017941  0x000041a8 beq  0x00000004 , 0x00004631 
+ 00017942  0x000041a9 beq  0x00000005 , 0x00004633 
+ 00017943  0x000041aa beq  0x00000006 , 0x00004635 
+ 00017944  0x000041ab beq  0x00000007 , 0x00004638 
+ 00017945  0x000041ac beq  0x00000012 , 0x0000463c 
+ 00017946  0x000041ad beq  0x00000013 , 0x00004644 
+ 00017947  0x000041ae beq  0x00000027 , 0x00004645 
+ 00017948  0x000041af beq  0x0000002e , 0x00004648 
+ 00017949  0x000041b0 beq  0x0000003d , 0x00004649 
+ 00017950  0x000041b2 beq  0x00000014 , 0x00004658 
+ 00017951  0x000041b3 beq  0x00000015 , 0x0000465c 
+ 00017952  0x000041b4 beq  0x0000003f , 0x0000465f 
+ 00017953  0x000041b5 beq  0x00000040 , 0x00004665 
+ 00017954  0x000041b7 beq  0x00000010 , 0x0000466b 
+ 00017955  0x000041b8 beq  0x0000002c , 0x0000466c 
+ 00017956  0x000041b9 beq  0x0000002d , 0x00004677 
+ 00017957  0x000041ba rtn 
+ 00017958  0x000041c0 jam  0x00000000 , 0x000046ad 
+ 00017959  0x000041c1 jam  0x00000000 , 0x000046ac 
+ 00017960  0x000041c2 rtn 
+ 00017961  0x000041c6 call  0x0000462b 
+ 00017962  0x000041c7 branch  0x00004631 
+ 00017963  0x000041ca jam  0x00000000 , 0x000041e2 
+ 00017964  0x000041cb jam  0x00000000 , 0x00004680 
+ 00017965  0x000041cc jam  0x00000000 , 0x00004205 
+ 00017966  0x000041cd jam  0x00000000 , 0x000046ac 
+ 00017967  0x000041ce jam  0x00000000 , 0x000046ad 
+ 00017968  0x000041cf branch  0x00007e38 
+ 00017969  0x000041d3 call  0x000033a9 
+ 00017970  0x000041d4 branch  0x000046c2 
+ 00017971  0x000041d8 call  0x000046b6 
+ 00017972  0x000041d9 branch  0x00003408 
+ 00017973  0x000041dd setarg  0x00000002 
+ 00017974  0x000041de store  0x00000001 , 0x00004680 
+ 00017975  0x000041df rtn 
+ 00017976  0x000041e3 jam  0x00000000 , 0x000046ac 
+ 00017977  0x000041e4 setarg  0x00000001 
+ 00017978  0x000041e5 store  0x00000001 , 0x000046ad 
+ 00017979  0x000041e6 rtn 
+ 00017980  0x000041ea fetch  0x00000001 , 0x000041e2 
+ 00017981  0x000041eb rtneq  0x00000001 
+ 00017982  0x000041ec jam  0x00000001 , 0x000041e2 
+ 00017983  0x000041ed call  0x00003416 
+ 00017984  0x000041ee call  0x00003414 
+ 00017985  0x000041ef call  0x000046b6 
+ 00017986  0x000041f0 call  0x00003408 
+ 00017987  0x000041f1 branch  0x0000340e 
+ 00017988  0x000041f5 branch  0x00004631 
+ 00017989  0x000041f9 setarg  0x00000005 
+ 00017990  0x000041fa store  0x00000001 , 0x000046ac 
+ 00017991  0x000041fb rtn 
+ 00017992  0x000041ff branch  0x000033cd 
+ 00017993  0x00004204 arg  0x00000000 , 0x00000012 
+ 00017994  0x00004205 fetch  0x00000001 , 0x00004217 
+ 00017995  0x00004206 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00017996  0x00004207 fetch  0x00000002 , 0x00004215 
+ 00017997  0x00004208 copy  0x0000003f , 0x00000011 
+ 00017998  0x00004209 branch  0x00006606 
+ 00017999  0x0000420c arg  0x00000000 , 0x00000012 
+ 00018000  0x0000420d fetch  0x00000001 , 0x0000469a 
+ 00018001  0x0000420e rtnbit0  0x00000001 
+ 00018002  0x0000420f fetch  0x00000001 , 0x00004217 
+ 00018003  0x00004210 rtn  0x00000034 
+ 00018004  0x00004211 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00018005  0x00004212 fetch  0x00000002 , 0x00004215 
+ 00018006  0x00004213 copy  0x0000003f , 0x00000011 
+ 00018007  0x00004214 branch  0x000065df 
+ 00018008  0x00004219 call  0x000046b6 
+ 00018009  0x0000421a setarg  0x00000000 
+ 00018010  0x0000421b store  0x00000002 , 0x000046b7 
+ 00018011  0x0000421c branch  0x00003408 
+ 00018012  0x00004220 call  0x00007e38 
+ 00018013  0x00004221 jam  0x00000000 , 0x000046b0 
+ 00018014  0x00004222 branch  0x000046d9 
+ 00018015  0x00004226 call  0x00007e38 
+ 00018016  0x00004227 jam  0x00000001 , 0x000046b0 
+ 00018017  0x00004228 fetch  0x00000008 , 0x000046c1 
+ 00018018  0x00004229 store  0x00000008 , 0x00004496 
+ 00018019  0x0000422a call  0x00003416 
+ 00018020  0x0000422b branch  0x00005abf 
+ 00018021  0x0000422f fetch  0x00000002 , 0x00004509 
+ 00018022  0x00004230 rtneq  0x00000000 
+ 00018023  0x00004231 fetch  0x00000008 , 0x000046c9 
+ 00018024  0x00004232 rtn  0x00000034 
+ 00018025  0x00004233 store  0x00000008 , 0x00004496 
+ 00018026  0x00004234 branch  0x00005abf 
+ 00018027  0x00004239 branch  0x0000481f 
+ 00018028  0x0000423c fetch  0x00000001 , 0x000046dd 
+ 00018029  0x0000423d rtneq  0x00000000 
+ 00018030  0x0000423e fetch  0x00000001 , 0x000046df 
+ 00018031  0x0000423f rtnne  0x00000001 
+ 00018032  0x00004240 call  0x00004672 
+ 00018033  0x00004241 branch  0x00003406 
+ 00018034  0x00004244 jam  0x00000001 , 0x000048df 
+ 00018035  0x00004245 arg  0x0000000b , 0x00000039 
+ 00018036  0x00004246 arg  0x000048e0 , 0x00000005 
+ 00018037  0x00004247 arg  0x000048c9 , 0x00000006 
+ 00018038  0x00004248 branch  0x00007f01 
+ 00018039  0x0000424b fetch  0x00000001 , 0x000046dd 
+ 00018040  0x0000424c rtneq  0x00000000 
+ 00018041  0x0000424d fetch  0x00000001 , 0x000046df 
+ 00018042  0x0000424e beq  0x00000001 , 0x0000467c 
+ 00018043  0x0000424f branch  0x0000481b 
+ 00018044  0x00004252 fetch  0x00000001 , 0x000048df 
+ 00018045  0x00004253 rtnne  0x00000001 
+ 00018046  0x00004254 jam  0x00000000 , 0x000048df 
+ 00018047  0x00004255 fetch  0x00000002 , 0x00004682 
+ 00018048  0x00004256 bbit1  0x00000000 , 0x00003408 
+ 00018049  0x00004257 bbit1  0x00000009 , 0x00003408 
+ 00018050  0x00004258 arg  0x0000000b , 0x00000039 
+ 00018051  0x00004259 arg  0x000048e0 , 0x00000006 
+ 00018052  0x0000425a arg  0x000048c9 , 0x00000005 
+ 00018053  0x0000425b branch  0x00007f01 
+ 00018054  0x00004262 call  0x0000468c 
+ 00018055  0x00004265 call  0x00004693 
+ 00018056  0x00004268 call  0x0000469e 
+ 00018057  0x00004269 call  0x000046a6 
+ 00018058  0x0000426a call  0x000046a9 
+ 00018059  0x0000426d branch  0x000046ac 
+ 00018060  0x00004272 arg  0x000046db , 0x00000013 
+ 00018061  0x00004273 arg  0x0000468f , 0x00000012 
+ 00018062  0x00004274 branch  0x00003374 
+ 00018063  0x00004276 jam  0x00000002 , 0x000046df 
+ 00018064  0x00004277 call  0x00003408 
+ 00018065  0x00004278 call  0x000046f4 
+ 00018066  0x00004279 branch  0x0000480b 
+ 00018067  0x0000427d arg  0x000048ec , 0x00000013 
+ 00018068  0x0000427e arg  0x00004696 , 0x00000012 
+ 00018069  0x0000427f branch  0x0000336d 
+ 00018070  0x00004282 fetch  0x00000002 , 0x00004682 
+ 00018071  0x00004283 bbit1  0x00000009 , 0x0000480b 
+ 00018072  0x00004284 bbit1  0x00000000 , 0x0000480b 
+ 00018073  0x00004285 fetch  0x00000001 , 0x000048c9 
+ 00018074  0x00004286 beq  0x00000001 , 0x0000480b 
+ 00018075  0x00004287 beq  0x00000004 , 0x0000480b 
+ 00018076  0x00004288 beq  0x00000005 , 0x0000480b 
+ 00018077  0x00004289 branch  0x0000340a 
+ 00018078  0x0000428e arg  0x000046ac , 0x00000013 
+ 00018079  0x0000428f arg  0x000046a1 , 0x00000012 
+ 00018080  0x00004290 branch  0x0000336d 
+ 00018081  0x00004293 fetch  0x00000001 , 0x0000027f 
+ 00018082  0x00004294 set1  0x00000000 , 0x0000003f 
+ 00018083  0x00004295 set1  0x00000007 , 0x0000003f 
+ 00018084  0x00004296 store  0x00000001 , 0x0000027f 
+ 00018085  0x00004297 rtn 
+ 00018086  0x0000429a arg  0x00004680 , 0x00000013 
+ 00018087  0x0000429b arg  0x0000463c , 0x00000012 
+ 00018088  0x0000429c branch  0x0000336d 
+ 00018089  0x0000429f arg  0x000046ad , 0x00000013 
+ 00018090  0x000042a0 arg  0x000033e9 , 0x00000012 
+ 00018091  0x000042a1 branch  0x0000336d 
+ 00018092  0x000042a7 fetch  0x00000001 , 0x000046df 
+ 00018093  0x000042a8 rtnne  0x00000001 
+ 00018094  0x000042a9 arg  0x000046b7 , 0x00000013 
+ 00018095  0x000042aa arg  0x000046c2 , 0x00000012 
+ 00018096  0x000042ab branch  0x00003374 
+ 00018097  0x000042af call  0x0000473a 
+ 00018098  0x000042b0 branch  0x00006978 
+ 00018099  0x000042b4 branch  0x0000696c 
+ 00018100  0x000042b7 call  0x00006835 
+ 00018101  0x000042b8 branch  0x000046b3 
+ 00018102  0x000042bf fetch  0x00000001 , 0x0000469a 
+ 00018103  0x000042c0 bbit1  0x00000001 , 0x000046be 
+ 00018104  0x000042c1 bbit1  0x00000000 , 0x000046ba 
+ 00018105  0x000042c2 rtn 
+ 00018106  0x000042c5 fetch  0x00000002 , 0x000046d7 
+ 00018107  0x000042c6 store  0x00000002 , 0x000046d9 
+ 00018108  0x000042c7 store  0x00000002 , 0x000046db 
+ 00018109  0x000042c8 branch  0x000033f8 
+ 00018110  0x000042cb fetch  0x00000002 , 0x000046d3 
+ 00018111  0x000042cc store  0x00000002 , 0x000046d9 
+ 00018112  0x000042cd store  0x00000002 , 0x000046db 
+ 00018113  0x000042ce branch  0x000033f0 
+ 00018114  0x000042d1 fetch  0x00000001 , 0x000046df 
+ 00018115  0x000042d2 rtnne  0x00000001 
+ 00018116  0x000042d3 fetch  0x00000001 , 0x0000469a 
+ 00018117  0x000042d4 bbit1  0x00000001 , 0x000046c8 
+ 00018118  0x000042d5 bbit1  0x00000000 , 0x000046cc 
+ 00018119  0x000042d6 rtn 
+ 00018120  0x000042d9 fetch  0x00000002 , 0x000046d1 ,
+ 00018121  0x000042da store  0x00000002 , 0x000046d9 
+ 00018122  0x000042db store  0x00000002 , 0x000046db 
+ 00018123  0x000042dc branch  0x000033eb 
+ 00018124  0x000042df fetch  0x00000002 , 0x00004682 
+ 00018125  0x000042e0 rtnbit1  0x00000009 
+ 00018126  0x000042e1 fetch  0x00000002 , 0x000046d5 
+ 00018127  0x000042e2 store  0x00000002 , 0x000046d9 
+ 00018128  0x000042e3 store  0x00000002 , 0x000046db 
+ 00018129  0x000042e4 fetch  0x00000002 , 0x000046b3 
+ 00018130  0x000042e5 call  0x000046f0 
+ 00018131  0x000042e6 call  0x00003404 
+ 00018132  0x000042e7 fetch  0x00000004 , 0x000046bd 
+ 00018133  0x000042e8 store  0x00000004 , 0x000048cc 
+ 00018134  0x000042e9 fetch  0x00000002 , 0x00004682 
+ 00018135  0x000042ea rtnbit1  0x0000000b 
+ 00018136  0x000042eb branch  0x000033fa 
+ 00018137  0x000042ef fetch  0x00000001 , 0x000046df 
+ 00018138  0x000042f0 rtnne  0x00000001 
+ 00018139  0x000042f1 fetch  0x00000001 , 0x0000469a 
+ 00018140  0x000042f2 bbit1  0x00000001 , 0x000046df 
+ 00018141  0x000042f3 bbit1  0x00000000 , 0x000046e4 
+ 00018142  0x000042f4 rtn 
+ 00018143  0x000042f7 call  0x000046f8 
+ 00018144  0x000042f8 branch  0x000046c2 , 0x00000034 
+ 00018145  0x000042f9 call  0x00003406 
+ 00018146  0x000042fa call  0x000033f0 
+ 00018147  0x000042fb branch  0x000033e1 
+ 00018148  0x000042fe fetch  0x00000002 , 0x000046b7 
+ 00018149  0x000042ff fetcht  0x00000002 , 0x000046b5 
+ 00018150  0x00004300 storet  0x00000002 , 0x000046b7 
+ 00018151  0x00004301 nrtn  0x00000034 
+ 00018152  0x00004302 fetch  0x00000002 , 0x000046b1 
+ 00018153  0x00004303 call  0x000046f0 
+ 00018154  0x00004304 call  0x00003404 
+ 00018155  0x00004305 fetch  0x00000004 , 0x000046b9 
+ 00018156  0x00004306 store  0x00000004 , 0x000048cc 
+ 00018157  0x00004307 fetch  0x00000002 , 0x00004682 
+ 00018158  0x00004308 rtnbit1  0x0000000b 
+ 00018159  0x00004309 branch  0x000033fa 
+ 00018160  0x0000430d store  0x00000002 , 0x00004154 
+ 00018161  0x0000430e increase  0xfffffffc , 0x0000003f 
+ 00018162  0x0000430f store  0x00000002 , 0x00004482 
+ 00018163  0x00004310 rtn 
+ 00018164  0x00004314 fetch  0x00000002 , 0x00004682 
+ 00018165  0x00004315 bbit1  0x00000009 , 0x00003402 
+ 00018166  0x00004316 bbit1  0x00000000 , 0x000033e9 
+ 00018167  0x00004317 branch  0x000046b6 
+ 00018168  0x0000431c fetch  0x00000001 , 0x00004217 
+ 00018169  0x0000431d copy  0x0000003f , 0x00000039 
+ 00018170  0x0000431e fetch  0x00000002 , 0x00004215 
+ 00018171  0x0000431f copy  0x0000003f , 0x00000011 
+ 00018172  0x00004321 ifetch  0x00000002 , 0x00000011 
+ 00018173  0x00004322 beq  0x00000000 , 0x00004701 
+ 00018174  0x00004323 increase  0x00000022 , 0x00000011 
+ 00018175  0x00004324 loop  0x000046fc 
+ 00018176  0x00004325 branch  0x00007ff1 
+ 00018177  0x00004328 ifetch  0x00000006 , 0x00000006 
+ 00018178  0x00004329 store  0x00000006 , 0x000041d0 
+ 00018179  0x0000432a increase  0x0000000a , 0x00000006 
+ 00018180  0x0000432b arg  0x000041be , 0x00000005 
+ 00018181  0x0000432c call  0x00007ebf 
+ 00018182  0x0000432d call  0x000067d7 
+ 00018183  0x0000432e branch  0x00007fef 
+ 00018184  0x00004335 call  0x00007fe9 
+ 00018185  0x00004336 fetch  0x00000002 , 0x00004682 
+ 00018186  0x00004337 bbit1  0x00000000 , 0x0000470d 
+ 00018187  0x00004338 bbit1  0x00000009 , 0x00004710 
+ 00018188  0x00004339 rtn 
+ 00018189  0x0000433c fetch  0x00000001 , 0x00004253 
+ 00018190  0x0000433d rtnne  0x0000003f 
+ 00018191  0x0000433e branch  0x00007fe7 
+ 00018192  0x00004341 fetch  0x00000001 , 0x000046b0 
+ 00018193  0x00004342 rtn  0x00000034 
+ 00018194  0x00004343 branch  0x00007fe7 
+ 00018195  0x00004349 call  0x00007fe9 
+ 00018196  0x0000434a fetch  0x00000002 , 0x00004682 
+ 00018197  0x0000434b rtnbit1  0x00000000 
+ 00018198  0x0000434c rtnbit1  0x00000009 
+ 00018199  0x0000434d branch  0x00007fe7 
+ 00018200  0x00004352 fetch  0x00000001 , 0x0000469a 
+ 00018201  0x00004353 bbit1  0x00000001 , 0x0000471c 
+ 00018202  0x00004354 bbit1  0x00000000 , 0x0000471f 
+ 00018203  0x00004355 rtn 
+ 00018204  0x00004358 fetch  0x00000001 , 0x00004093 
+ 00018205  0x00004359 rtnne  0x00000003 
+ 00018206  0x0000435a branch  0x000046d9 
+ 00018207  0x0000435d branch  0x000046d9 
+ 00018208  0x00004361 disable  0x0000002c 
+ 00018209  0x00004362 fetch  0x00000002 , 0x000046d9 
+ 00018210  0x00004363 store  0x00000002 , 0x000046db 
+ 00018211  0x00004365 call  0x00004713 
+ 00018212  0x00004366 branch  0x00004718 , 0x00000028 
+ 00018213  0x00004368 call  0x00004708 
+ 00018214  0x00004369 nrtn  0x00000028 
+ 00018215  0x0000436a enable  0x0000002c 
+ 00018216  0x0000436b rtn 
+ 00018217  0x00004370 call  0x00004720 
+ 00018218  0x00004371 nrtn  0x0000002c 
+ 00018219  0x00004372 deposit  0x00000011 
+ 00018220  0x00004373 branch  0x00004730 , 0x00000034 
+ 00018221  0x00004375 call  0x00003406 
+ 00018222  0x00004376 arg  0x000046f1 , 0x00000013 
+ 00018223  0x00004377 branch  0x00004732 
+ 00018224  0x0000437a call  0x00003408 
+ 00018225  0x0000437b arg  0x00004719 , 0x00000013 
+ 00018226  0x0000437e arg  0x00000005 , 0x0000003f 
+ 00018227  0x0000437f imul32  0x00000007 , 0x0000003f 
+ 00018228  0x00004380 iadd  0x00000013 , 0x00000013 
+ 00018229  0x00004384 ifetch  0x00000001 , 0x00000013 
+ 00018230  0x00004385 rtn  0x00000034 
+ 00018231  0x00004386 call  0x00004762 
+ 00018232  0x00004387 increase  0x00000001 , 0x00000013 
+ 00018233  0x00004388 branch  0x00004735 
+ 00018234  0x0000438c fetch  0x00000002 , 0x00004682 
+ 00018235  0x0000438d bbit1  0x00000009 , 0x0000473e 
+ 00018236  0x0000438e bbit1  0x00000000 , 0x0000474e 
+ 00018237  0x0000438f rtn 
+ 00018238  0x00004392 call  0x00005892 
+ 00018239  0x00004393 nrtn  0x00000034 
+ 00018240  0x00004394 call  0x00004765 
+ 00018241  0x00004395 nrtn  0x00000028 
+ 00018242  0x00004396 pincrease  0xffffffff 
+ 00018243  0x00004397 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018244  0x00004398 arg  0x00004741 , 0x00000002 
+ 00018245  0x00004399 iadd  0x00000002 , 0x00000006 
+ 00018246  0x0000439b ifetch  0x00000001 , 0x00000006 
+ 00018247  0x0000439c copy  0x0000003f , 0x00000011 
+ 00018248  0x0000439d ifetcht  0x00000002 , 0x00000006 
+ 00018249  0x0000439e call  0x00007ea5 
+ 00018250  0x0000439f call  0x00005a64 
+ 00018251  0x000043a0 copy  0x00000011 , 0x00000039 
+ 00018252  0x000043a1 call  0x00007e9f 
+ 00018253  0x000043a2 branch  0x00007f01 
+ 00018254  0x000043a6 call  0x00005271 
+ 00018255  0x000043a7 nrtn  0x00000034 
+ 00018256  0x000043a8 call  0x00004765 
+ 00018257  0x000043a9 nrtn  0x00000028 
+ 00018258  0x000043aa pincrease  0xffffffff 
+ 00018259  0x000043ab mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018260  0x000043ac arg  0x000047a0 , 0x00000002 
+ 00018261  0x000043ad iadd  0x00000002 , 0x00000006 
+ 00018262  0x000043ae ifetch  0x00000005 , 0x00000006 
+ 00018263  0x000043af store  0x00000005 , 0x0000479b 
+ 00018264  0x000043b1 fetch  0x00000001 , 0x0000479b 
+ 00018265  0x000043b2 copy  0x0000003f , 0x00000011 
+ 00018266  0x000043b3 call  0x00004d63 
+ 00018267  0x000043b4 fetch  0x00000002 , 0x0000424e 
+ 00018268  0x000043b5 istore  0x00000002 , 0x00000005 
+ 00018269  0x000043b6 setarg  0x000000a1 
+ 00018270  0x000043b7 istore  0x00000001 , 0x00000005 
+ 00018271  0x000043b8 fetch  0x00000004 , 0x0000479c 
+ 00018272  0x000043b9 istore  0x00000009 , 0x00000005 
+ 00018273  0x000043ba rtn 
+ 00018274  0x000043bf store  0x00000001 , 0x00000a9a 
+ 00018275  0x000043c0 arg  0x00000a9a , 0x00000011 
+ 00018276  0x000043c1 branch  0x00007e3d 
+ 00018277  0x000043c4 arg  0x00000a9a , 0x00000011 
+ 00018278  0x000043c5 call  0x00007e54 
+ 00018279  0x000043c6 nrtn  0x00000028 
+ 00018280  0x000043c7 fetch  0x00000001 , 0x00000a9a 
+ 00018281  0x000043c8 rtn 
+ 00018282  0x000043cc fetch  0x00000002 , 0x00000478 
+ 00018283  0x000043cd beq  0x00000018 , 0x0000465f 
+ 00018284  0x000043ce rtn 
+ 00018285  0x000043d1 setarg  0x00000002 
+ 00018286  0x000043d2 store  0x00000001 , 0x000048eb 
+ 00018287  0x000043d4 setarg  0x00200008 
+ 00018288  0x000043d5 store  0x00000004 , 0x000046c1 
+ 00018289  0x000043d6 setarg  0x012c0005 
+ 00018290  0x000043d7 istore  0x00000004 , 0x00000005 
+ 00018291  0x000043da jam  0x00000017 , 0x000044a6 
+ 00018292  0x000043dd setarg  0x0000001b 
+ 00018293  0x000043de store  0x00000002 , 0x000044fa 
+ 00018294  0x000043df call  0x00005810 
+ 00018295  0x000043e0 call  0x0000582c 
+ 00018296  0x000043e1 call  0x00005839 
+ 00018297  0x000043e2 branch  0x00005818 
+ 00018298  0x000043e7 arg  0x00000028 , 0x00000039 
+ 00018299  0x000043e8 arg  0x00004741 , 0x00000005 
+ 00018300  0x000043e9 arg  0x0000949f , 0x00000006 
+ 00018301  0x000043ea call  0x00007ef4 
+ 00018302  0x000043eb arg  0x00000028 , 0x00000039 
+ 00018303  0x000043ec arg  0x000047a0 , 0x00000005 
+ 00018304  0x000043ed arg  0x000094c7 , 0x00000006 
+ 00018305  0x000043ee branch  0x00007ef4 
+ 00018306  0x000043f2 arg  0x0000017e , 0x00000039 
+ 00018307  0x000043f3 arg  0x0000913a , 0x00000006 
+ 00018308  0x000043f4 branch  0x00007ef4 
+ 00018309  0x000043f8 arg  0x000001e7 , 0x00000039 
+ 00018310  0x000043f9 arg  0x000092b8 , 0x00000006 
+ 00018311  0x000043fa branch  0x00007ef4 
+ 00018312  0x000043ff call  0x000047ae 
+ 00018313  0x00004400 nrtn  0x00000028 
+ 00018314  0x00004401 fetch  0x00000001 , 0x0000469f 
+ 00018315  0x00004402 call  0x00004790 
+ 00018316  0x00004403 fetch  0x00000001 , 0x000046a0 
+ 00018317  0x00004404 call  0x00004790 
+ 00018318  0x00004405 fetch  0x00000001 , 0x000046a1 
+ 00018319  0x00004406 branch  0x00004790 
+ 00018320  0x00004409 rtn  0x00000034 
+ 00018321  0x0000440a or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018322  0x0000440b branch  0x000067f9 
+ 00018323  0x0000440f call  0x000047ae 
+ 00018324  0x00004410 nrtn  0x00000028 
+ 00018325  0x00004411 call  0x00004797 
+ 00018326  0x00004412 branch  0x000047b4 
+ 00018327  0x00004415 arg  0x00000000 , 0x00000011 
+ 00018328  0x00004416 fetch  0x00000001 , 0x0000469f 
+ 00018329  0x00004417 call  0x000047a9 
+ 00018330  0x00004418 nsetflag  0x00000034 , 0x00000000 , 0x00000011 
+ 00018331  0x00004419 fetch  0x00000001 , 0x000046a0 
+ 00018332  0x0000441a call  0x000047a9 
+ 00018333  0x0000441b nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00018334  0x0000441c fetch  0x00000001 , 0x000046a1 
+ 00018335  0x0000441d call  0x000047a9 
+ 00018336  0x0000441e nsetflag  0x00000034 , 0x00000002 , 0x00000011 
+ 00018337  0x0000441f copy  0x00000011 , 0x0000003f 
+ 00018338  0x00004420 store  0x00000001 , 0x000046a9 
+ 00018339  0x00004421 fetch  0x00000001 , 0x0000469e 
+ 00018340  0x00004422 imul32  0x00000011 , 0x0000003f 
+ 00018341  0x00004423 fetcht  0x00000002 , 0x0000469c 
+ 00018342  0x00004424 iadd  0x00000002 , 0x0000003f 
+ 00018343  0x00004425 store  0x00000002 , 0x000046aa 
+ 00018344  0x00004426 rtn 
+ 00018345  0x00004429 rtn  0x00000034 
+ 00018346  0x0000442a or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018347  0x0000442b call  0x0000681d 
+ 00018348  0x0000442c nbranch  0x00007ff1 , 0x00000001 
+ 00018349  0x0000442d branch  0x00007fef 
+ 00018350  0x00004431 call  0x00007fe9 
+ 00018351  0x00004432 fetch  0x00000001 , 0x000046a8 
+ 00018352  0x00004433 nrtn  0x00000034 
+ 00018353  0x00004434 fetch  0x00000001 , 0x0000469b 
+ 00018354  0x00004435 rtn  0x00000034 
+ 00018355  0x00004436 branch  0x00007fe7 
+ 00018356  0x0000443a call  0x0000666a 
+ 00018357  0x0000443b fetch  0x00000002 , 0x000046aa 
+ 00018358  0x0000443c arg  0x00000ac2 , 0x00000011 
+ 00018359  0x0000443d fetcht  0x00000001 , 0x0000469e 
+ 00018360  0x0000443e call  0x000066b3 
+ 00018361  0x0000443f call  0x0000666d 
+ 00018362  0x00004441 fetch  0x00000001 , 0x00000ac2 
+ 00018363  0x00004442 copy  0x0000003f , 0x00000039 
+ 00018364  0x00004443 store  0x00000001 , 0x000043af 
+ 00018365  0x00004444 call  0x00007ef4 
+ 00018366  0x00004445 fetch  0x00000001 , 0x00000ac2 
+ 00018367  0x00004446 copy  0x0000003f , 0x00000039 
+ 00018368  0x00004447 store  0x00000001 , 0x00004515 
+ 00018369  0x00004448 call  0x00007ef4 
+ 00018370  0x00004449 ifetch  0x00000001 , 0x00000006 
+ 00018371  0x0000444a store  0x00000001 , 0x000046e6 
+ 00018372  0x0000444b ifetch  0x00000001 , 0x00000006 
+ 00018373  0x0000444c store  0x00000001 , 0x000046dd 
+ 00018374  0x0000444d rtn 
+ 00018375  0x00004451 fetch  0x00000001 , 0x0000469a 
+ 00018376  0x00004452 rtnbit0  0x00000001 
+ 00018377  0x00004453 arg  0x00000003 , 0x00000002 
+ 00018378  0x00004454 fetch  0x00000002 , 0x000046a4 
+ 00018379  0x00004455 copy  0x0000003f , 0x00000012 
+ 00018380  0x00004456 arg  0x000046a6 , 0x00000011 
+ 00018381  0x00004457 call  0x000065df 
+ 00018382  0x00004458 fetcht  0x00000002 , 0x000046a6 
+ 00018383  0x00004459 setarg  0x00001b3a 
+ 00018384  0x0000445a isub  0x00000002 , 0x0000003e 
+ 00018385  0x0000445b nrtn  0x00000005 
+ 00018386  0x0000445c fetch  0x00000001 , 0x000046a8 
+ 00018387  0x0000445d rtn  0x00000034 
+ 00018388  0x0000445e copy  0x0000003f , 0x00000002 
+ 00018389  0x0000445f fetch  0x00000002 , 0x000046a4 
+ 00018390  0x00004460 add  0x0000003f , 0x00000003 , 0x00000012 
+ 00018391  0x00004461 arg  0x00000ac2 , 0x00000011 
+ 00018392  0x00004462 call  0x000065df 
+ 00018393  0x00004463 branch  0x000047e8 
+ 00018394  0x00004466 fetch  0x00000002 , 0x000046a2 
+ 00018395  0x00004467 rtn  0x00000034 
+ 00018396  0x00004468 call  0x0000666a 
+ 00018397  0x00004469 arg  0x00000001 , 0x00000002 
+ 00018398  0x0000446a arg  0x000046a8 , 0x00000011 
+ 00018399  0x0000446b call  0x000066b3 
+ 00018400  0x0000446d fetch  0x00000001 , 0x000046a8 
+ 00018401  0x0000446e rtn  0x00000034 
+ 00018402  0x00004470 fetch  0x00000002 , 0x000046a2 
+ 00018403  0x00004471 pincrease  0x00000001 
+ 00018404  0x00004472 arg  0x00000ac2 , 0x00000011 
+ 00018405  0x00004473 fetcht  0x00000001 , 0x000046a8 
+ 00018406  0x00004474 call  0x000066b3 
+ 00018407  0x00004475 call  0x0000666d 
+ 00018408  0x00004477 call  0x000047ba 
+ 00018409  0x00004479 ifetch  0x00000002 , 0x00000006 
+ 00018410  0x0000447a rtn  0x00000034 
+ 00018411  0x0000447b copy  0x0000003f , 0x00000005 
+ 00018412  0x0000447c ifetcht  0x00000001 , 0x00000006 
+ 00018413  0x0000447d copy  0x00000002 , 0x00000039 
+ 00018414  0x0000447e call  0x00007f01 
+ 00018415  0x0000447f branch  0x000047e9 
+ 00018416  0x00004484 fetch  0x00000001 , 0x0000469a 
+ 00018417  0x00004485 rtnbit0  0x00000001 
+ 00018418  0x00004486 fetch  0x00000002 , 0x000046ae 
+ 00018419  0x00004487 copy  0x0000003f , 0x00000012 
+ 00018420  0x00004488 arg  0x00000004 , 0x00000002 
+ 00018421  0x00004489 arg  0x00000ac2 , 0x00000011 
+ 00018422  0x0000448a call  0x000065df 
+ 00018423  0x0000448b fetch  0x00000001 , 0x00000ac2 
+ 00018424  0x0000448c bne  0x00000001 , 0x000047f9 
+ 00018425  0x0000448e setarg  0x00000001 
+ 00018426  0x0000448f store  0x00000001 , 0x00000ac2 
+ 00018427  0x00004490 force  0x00000003 , 0x00000039 
+ 00018428  0x00004491 call  0x0000630d 
+ 00018429  0x00004492 fetch  0x00000002 , 0x000046ae 
+ 00018430  0x00004493 copy  0x0000003f , 0x00000012 
+ 00018431  0x00004494 arg  0x00000004 , 0x00000002 
+ 00018432  0x00004495 arg  0x00000ac2 , 0x00000011 
+ 00018433  0x00004496 call  0x00006606 
+ 00018434  0x00004498 fetch  0x00000003 , 0x00000ac3 
+ 00018435  0x00004499 store  0x00000003 , 0x000040a0 
+ 00018436  0x0000449a store  0x00000003 , 0x000044a0 
+ 00018437  0x0000449b rtn 
+ 00018438  0x0000449f branch  0x000046d9 
+ 00018439  0x000044a3 arg  0x00000000 , 0x00000011 
+ 00018440  0x000044a4 arg  0x000048d4 , 0x00000013 
+ 00018441  0x000044a5 call  0x00007d24 
+ 00018442  0x000044a6 call  0x000046f4 
+ 00018443  0x000044a8 fetch  0x00000001 , 0x000048eb 
+ 00018444  0x000044a9 store  0x00000001 , 0x000048ec 
+ 00018445  0x000044aa rtn 
+ 00018446  0x000044af setarg  0x00000000 
+ 00018447  0x000044b0 call  0x00004816 
+ 00018448  0x000044b1 jam  0x00000001 , 0x00004679 
+ 00018449  0x000044b2 call  0x00007cd3 
+ 00018450  0x000044b3 call  0x00007cdd 
+ 00018451  0x000044b4 fetch  0x00000002 , 0x00004682 
+ 00018452  0x000044b5 rtnbit1  0x0000000c 
+ 00018453  0x000044b6 branch  0x0000340a 
+ 00018454  0x000044b9 fetcht  0x00000002 , 0x0000423f 
+ 00018455  0x000044ba istore  0x00000001 , 0x00000002 
+ 00018456  0x000044bb ifetch  0x00000001 , 0x00000005 
+ 00018457  0x000044bc store  0x00000001 , 0x00004685 
+ 00018458  0x000044bd rtn 
+ 00018459  0x000044c1 fetch  0x00000002 , 0x0000423f 
+ 00018460  0x000044c2 ifetch  0x00000001 , 0x0000003f 
+ 00018461  0x000044c3 rtnne  0x00000000 
+ 00018462  0x000044c4 branch  0x0000340a 
+ 00018463  0x000044c8 fetcht  0x00000002 , 0x0000423f 
+ 00018464  0x000044c9 ifetch  0x00000001 , 0x00000002 
+ 00018465  0x000044ca beq  0x00000001 , 0x0000482a 
+ 00018466  0x000044cc setarg  0x00000001 
+ 00018467  0x000044cd fetcht  0x00000002 , 0x0000423f 
+ 00018468  0x000044ce istore  0x00000001 , 0x00000002 
+ 00018469  0x000044cf add  0x00000002 , 0x00000002 , 0x00000006 
+ 00018470  0x000044d0 ifetch  0x00000001 , 0x00000006 
+ 00018471  0x000044d1 istore  0x00000001 , 0x00004685 
+ 00018472  0x000044d2 ifetch  0x00000002 , 0x00000006 
+ 00018473  0x000044d3 branch  0x00007f9c 
+ 00018474  0x000044d6 setarg  0x00000002 
+ 00018475  0x000044d7 call  0x00004816 
+ 00018476  0x000044d8 add  0x00000002 , 0x00000005 , 0x00000006 
+ 00018477  0x000044d9 ifetch  0x00000002 , 0x00000006 
+ 00018478  0x000044da branch  0x0000340a , 0x00000034 
+ 00018479  0x000044db branch  0x00007f9c 
+ 00018480  0x000044e2 store  0x00000006 , 0x00000101 
+ 00018481  0x000044e3 fetch  0x00000001 , 0x00000101 
+ 00018482  0x000044e4 store  0x00000001 , 0x0000010c 
+ 00018483  0x000044e5 ifetch  0x00000001 , 0x00000006 
+ 00018484  0x000044e6 store  0x00000001 , 0x0000010b 
+ 00018485  0x000044e7 ifetch  0x00000001 , 0x00000006 
+ 00018486  0x000044e8 store  0x00000001 , 0x0000010a 
+ 00018487  0x000044e9 ifetch  0x00000001 , 0x00000006 
+ 00018488  0x000044ea store  0x00000001 , 0x00000109 
+ 00018489  0x000044eb ifetch  0x00000001 , 0x00000006 
+ 00018490  0x000044ec store  0x00000001 , 0x00000108 
+ 00018491  0x000044ed ifetch  0x00000001 , 0x00000006 
+ 00018492  0x000044ee store  0x00000001 , 0x00000107 
+ 00018493  0x000044ef fetch  0x00000006 , 0x00000107 
+ 00018494  0x000044f0 rtn 
+ 00018495  0x000044f3 call  0x000068a2 
+ 00018496  0x000044f4 fetch  0x00000001 , 0x00004223 
+ 00018497  0x000044f5 store  0x00000001 , 0x000044a0 
+ 00018498  0x000044f6 fetch  0x00000001 , 0x00004225 
+ 00018499  0x000044f7 istore  0x00000001 , 0x00000005 
+ 00018500  0x000044f8 fetch  0x00000001 , 0x00004227 
+ 00018501  0x000044f9 istore  0x00000001 , 0x00000005 
+ 00018502  0x000044fa fetch  0x00000003 , 0x000044a0 
+ 00018503  0x000044fb store  0x00000003 , 0x000040a0 
+ 00018504  0x000044fc rtn 
+ 00018505  0x00004509 fetch  0x00000002 , 0x00004203 
+ 00018506  0x0000450a iadd  0x00000012 , 0x0000003f 
+ 00018507  0x0000450b byteswap  0x0000003f , 0x0000003f 
+ 00018508  0x0000450c store  0x00000002 , 0x000001f7 
+ 00018509  0x0000450d copy  0x00000002 , 0x00000012 
+ 00018510  0x0000450f call  0x0000489b 
+ 00018511  0x00004510 setarg  0x000000a0 
+ 00018512  0x00004511 call  0x0000488d 
+ 00018513  0x00004512 fetch  0x00000001 , 0x000001f7 
+ 00018514  0x00004513 call  0x0000488d 
+ 00018515  0x00004514 bmark1  0x00000028 , 0x00004856 
+ 00018516  0x00004515 fetch  0x00000001 , 0x000001f8 
+ 00018517  0x00004516 call  0x0000488d 
+ 00018518  0x00004518 call  0x000048a1 
+ 00018519  0x0000451a call  0x0000489b 
+ 00018520  0x0000451b setarg  0x000000a1 
+ 00018521  0x0000451c call  0x0000488d 
+ 00018522  0x0000451f call  0x0000487f 
+ 00018523  0x00004520 istore  0x00000001 , 0x00000011 
+ 00018524  0x00004521 increase  0x00000001 , 0x00000011 
+ 00018525  0x00004522 increase  0xffffffff , 0x00000012 
+ 00018526  0x00004523 nbranch  0x0000485a , 0x00000005 
+ 00018527  0x00004524 branch  0x000048a1 
+ 00018528  0x00004530 byteswap  0x00000012 , 0x0000003f 
+ 00018529  0x00004531 store  0x00000002 , 0x000001f7 
+ 00018530  0x00004532 copy  0x00000002 , 0x00000012 
+ 00018531  0x00004534 call  0x0000489b 
+ 00018532  0x00004535 setarg  0x000000a0 
+ 00018533  0x00004536 call  0x0000488d 
+ 00018534  0x00004538 fetch  0x00000001 , 0x000001f7 
+ 00018535  0x00004539 call  0x0000488d 
+ 00018536  0x0000453a bmark1  0x00000028 , 0x0000486b 
+ 00018537  0x0000453b fetch  0x00000001 , 0x000001f8 
+ 00018538  0x0000453c call  0x0000488d 
+ 00018539  0x0000453e ifetch  0x00000001 , 0x00000011 
+ 00018540  0x0000453f call  0x0000488d 
+ 00018541  0x00004540 increase  0x00000001 , 0x00000011 
+ 00018542  0x00004541 increase  0xffffffff , 0x00000012 
+ 00018543  0x00004542 nbranch  0x0000486b , 0x00000005 
+ 00018544  0x00004543 branch  0x000048a1 
+ 00018545  0x00004548 arg  0x0000000a , 0x00000039 
+ 00018546  0x00004549 call  0x000048be 
+ 00018547  0x0000454a call  0x000048a6 
+ 00018548  0x0000454b call  0x000048d2 
+ 00018549  0x0000454d call  0x000048c7 
+ 00018550  0x0000454e branch  0x000048a9 , 0x00000034 
+ 00018551  0x0000454f loop  0x00004875 
+ 00018552  0x00004550 branch  0x000048a9 
+ 00018553  0x00004555 call  0x000048a9 
+ 00018554  0x00004556 call  0x000048af 
+ 00018555  0x00004557 call  0x000048d2 
+ 00018556  0x00004558 call  0x000048a6 
+ 00018557  0x00004559 call  0x000048d2 
+ 00018558  0x0000455a branch  0x000048a9 
+ 00018559  0x00004560 arg  0x00000008 , 0x00000039 
+ 00018560  0x00004561 arg  0x00000000 , 0x00000013 
+ 00018561  0x00004562 call  0x000048be 
+ 00018562  0x00004564 call  0x000048a6 
+ 00018563  0x00004565 call  0x000048d2 
+ 00018564  0x00004566 lshift  0x00000013 , 0x00000013 
+ 00018565  0x00004567 call  0x000048c7 
+ 00018566  0x00004568 iadd  0x00000013 , 0x00000013 
+ 00018567  0x00004569 call  0x000048d2 
+ 00018568  0x0000456a call  0x000048a9 
+ 00018569  0x0000456b loop  0x00004882 
+ 00018570  0x0000456c call  0x00004879 
+ 00018571  0x0000456d copy  0x00000013 , 0x0000003f 
+ 00018572  0x0000456e rtn 
+ 00018573  0x00004573 arg  0x00000008 , 0x00000039 
+ 00018574  0x00004574 copy  0x0000003f , 0x00000013 
+ 00018575  0x00004575 call  0x000048a9 
+ 00018576  0x00004577 isolate1  0x00000007 , 0x00000013 
+ 00018577  0x00004578 call  0x000048ac , 0x00000001 
+ 00018578  0x00004579 ncall  0x000048af , 0x00000001 
+ 00018579  0x0000457a lshift  0x00000013 , 0x00000013 
+ 00018580  0x0000457b call  0x000048d2 
+ 00018581  0x0000457c call  0x000048a6 
+ 00018582  0x0000457d call  0x000048d2 
+ 00018583  0x0000457e call  0x000048a9 
+ 00018584  0x0000457f call  0x000048d2 
+ 00018585  0x00004580 loop  0x00004890 
+ 00018586  0x00004581 branch  0x00004871 
+ 00018587  0x00004586 call  0x000048ac 
+ 00018588  0x00004587 call  0x000048a6 
+ 00018589  0x00004588 call  0x000048d2 
+ 00018590  0x00004589 call  0x000048af 
+ 00018591  0x0000458a call  0x000048d2 
+ 00018592  0x0000458b branch  0x000048a9 
+ 00018593  0x00004590 call  0x000048af 
+ 00018594  0x00004591 call  0x000048a6 
+ 00018595  0x00004592 call  0x000048d2 
+ 00018596  0x00004593 call  0x000048ac 
+ 00018597  0x00004594 branch  0x000048d2 
+ 00018598  0x00004599 enable  0x00000028 
+ 00018599  0x0000459a fetch  0x00000001 , 0x00004ffe 
+ 00018600  0x0000459b branch  0x000048b2 
+ 00018601  0x0000459f disable  0x00000028 
+ 00018602  0x000045a0 fetch  0x00000001 , 0x00004ffe 
+ 00018603  0x000045a1 branch  0x000048b2 
+ 00018604  0x000045a5 enable  0x00000028 
+ 00018605  0x000045a6 fetch  0x00000001 , 0x00004fff 
+ 00018606  0x000045a7 branch  0x000048b2 
+ 00018607  0x000045ab disable  0x00000028 
+ 00018608  0x000045ac fetch  0x00000001 , 0x00004fff 
+ 00018609  0x000045ad branch  0x000048b2 
+ 00018610  0x000045b3 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018611  0x000045b4 rshift3  0x0000003f , 0x0000003f 
+ 00018612  0x000045b5 arg  0x00008070 , 0x00000002 
+ 00018613  0x000045b6 iadd  0x00000002 , 0x00000002 
+ 00018614  0x000045b7 ifetch  0x00000001 , 0x00000002 
+ 00018615  0x000045b8 qset1  0x0000003f 
+ 00018616  0x000045b9 istore  0x00000001 , 0x00000002 
+ 00018617  0x000045ba increase  0x00000004 , 0x00000002 
+ 00018618  0x000045bb ifetch  0x00000001 , 0x00000002 
+ 00018619  0x000045bc qsetflag  0x00000028 , 0x0000003f 
+ 00018620  0x000045bd istore  0x00000001 , 0x00000002 
+ 00018621  0x000045be rtn 
+ 00018622  0x000045c2 fetch  0x00000001 , 0x00004fff 
+ 00018623  0x000045c3 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018624  0x000045c4 rshift3  0x0000003f , 0x0000003f 
+ 00018625  0x000045c5 arg  0x00008070 , 0x00000002 
+ 00018626  0x000045c6 iadd  0x00000002 , 0x00000002 
+ 00018627  0x000045c7 ifetch  0x00000001 , 0x00000002 
+ 00018628  0x000045c8 qset0  0x0000003f 
+ 00018629  0x000045c9 istore  0x00000001 , 0x00000002 
+ 00018630  0x000045ca rtn 
+ 00018631  0x000045d0 nop  0x00000004 
+ 00018632  0x000045d1 fetch  0x00000001 , 0x00004fff 
+ 00018633  0x000045d2 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018634  0x000045d3 rshift3  0x0000003f , 0x0000003f 
+ 00018635  0x000045d4 arg  0x0000811c , 0x00000002 
+ 00018636  0x000045d5 iadd  0x00000002 , 0x00000002 
+ 00018637  0x000045d6 setarg  0x00000000 
+ 00018638  0x000045d7 ifetcht  0x00000001 , 0x00000002 
+ 00018639  0x000045d8 qisolate1  0x00000002 
+ 00018640  0x000045d9 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018641  0x000045da rtn 
+ 00018642  0x000045df rtn 
+ 00018643  0x000045e6 bpatch  0x000000f6 , 0x0000401e 
+ 00018644  0x000045e7 hfetch  0x00000001 , 0x00008a26 
+ 00018645  0x000045e8 isolate1  0x00000007 , 0x0000003f 
+ 00018646  0x000045e9 call  0x000048ea , 0x00000001 
+ 00018647  0x000045ea call  0x0000492e 
+ 00018648  0x000045eb hfetch  0x00000001 , 0x00008a26 
+ 00018649  0x000045ec store  0x00000001 , 0x00000b22 
+ 00018650  0x000045ed hfetch  0x00000001 , 0x00008a27 
+ 00018651  0x000045ee store  0x00000001 , 0x00000b23 
+ 00018652  0x000045ef hstore  0x00000001 , 0x00008a27 
+ 00018653  0x000045f0 pinvert 
+ 00018654  0x000045f1 fetcht  0x00000001 , 0x00000d37 
+ 00018655  0x000045f2 iand  0x00000002 , 0x0000003f 
+ 00018656  0x000045f3 store  0x00000001 , 0x00000d37 
+ 00018657  0x000045f4 jam  0x000000e0 , 0x00008a26 
+ 00018658  0x000045f5 fetch  0x00000001 , 0x00000b23 
+ 00018659  0x000045f6 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018660  0x000045f7 call  0x00004941 , 0x00000001 
+ 00018661  0x000045f8 fetch  0x00000001 , 0x00000b22 
+ 00018662  0x000045f9 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018663  0x000045fa call  0x0000494a , 0x00000001 
+ 00018664  0x000045fb call  0x00004b61 
+ 00018665  0x000045fc branch  0x00004903 
+ 00018666  0x000045ff bpatch  0x000000f7 , 0x0000401e 
+ 00018667  0x00004600 call  0x00004919 
+ 00018668  0x00004601 jam  0x00000000 , 0x00008a00 
+ 00018669  0x00004602 nop  0x00002710 
+ 00018670  0x00004603 jam  0x000000c0 , 0x00008a10 
+ 00018671  0x00004604 hfetch  0x00000002 , 0x00008050 
+ 00018672  0x00004605 set0  0x0000000a , 0x0000003f 
+ 00018673  0x00004606 hstore  0x00000002 , 0x00008050 
+ 00018674  0x00004607 jam  0x0000003c , 0x00008a00 
+ 00018675  0x00004608 jam  0x000000ff , 0x00008a26 
+ 00018676  0x00004609 jam  0x000000ff , 0x00008a27 
+ 00018677  0x0000460a jam  0x00000000 , 0x00008a04 
+ 00018678  0x0000460b jam  0x00000002 , 0x00000c6b 
+ 00018679  0x0000460c setarg  0x00000d9d 
+ 00018680  0x0000460d arg  0x00000c6e , 0x00000005 
+ 00018681  0x0000460e isub  0x00000005 , 0x00000039 
+ 00018682  0x0000460f branch  0x00007ed4 
+ 00018683  0x00004612 fetcht  0x00000001 , 0x00000c6c 
+ 00018684  0x00004613 branch  0x000067fb 
+ 00018685  0x00004615 fetch  0x00000001 , 0x00000d45 
+ 00018686  0x00004616 rtn  0x00000034 
+ 00018687  0x00004617 fetcht  0x00000001 , 0x00000c6c 
+ 00018688  0x00004618 call  0x0000681d 
+ 00018689  0x00004619 branch  0x000048ea , 0x00000001 
+ 00018690  0x0000461a rtn 
+ 00018691  0x0000461e arg  0x00000000 , 0x00000007 
+ 00018692  0x0000461f call  0x00007f16 
+ 00018693  0x00004620 nrtn  0x00000034 
+ 00018694  0x00004621 fetch  0x00000001 , 0x00000d46 
+ 00018695  0x00004622 nrtn  0x00000034 
+ 00018696  0x00004623 fetch  0x00000001 , 0x00000d45 
+ 00018697  0x00004624 ncall  0x00004bb7 , 0x00000034 
+ 00018698  0x00004625 rtn 
+ 00018699  0x00004628 arg  0x00000b68 , 0x00000005 
+ 00018700  0x00004629 setsect  0x00000000 , 0x00011212 
+ 00018701  0x0000462a setsect  0x00000001 , 0x00008000 
+ 00018702  0x0000462b setsect  0x00000002 , 0x00000000 
+ 00018703  0x0000462c setsect  0x00000003 , 0x00010000 
+ 00018704  0x0000462d istore  0x00000009 , 0x00000005 
+ 00018705  0x0000462e setsect  0x00000000 , 0x00022412 
+ 00018706  0x0000462f setsect  0x00000001 , 0x00008604 
+ 00018707  0x00004630 setsect  0x00000002 , 0x00001000 
+ 00018708  0x00004631 setsect  0x00000003 , 0x00000008 
+ 00018709  0x00004632 istore  0x00000009 , 0x00000005 
+ 00018710  0x00004633 setsect  0x00000000 , 0x00000001 
+ 00018711  0x00004634 istore  0x00000001 , 0x00000005 
+ 00018712  0x00004635 rtn 
+ 00018713  0x00004638 jam  0x00000002 , 0x00000c6b 
+ 00018714  0x00004639 setarg  0x00000000 
+ 00018715  0x0000463a store  0x00000001 , 0x00000b67 
+ 00018716  0x0000463b store  0x00000002 , 0x00000c65 
+ 00018717  0x0000463c pincrease  0x00000001 
+ 00018718  0x0000463d store  0x00000002 , 0x00000c67 
+ 00018719  0x0000463e pincrease  0x00000001 
+ 00018720  0x0000463f store  0x00000002 , 0x00000c69 
+ 00018721  0x00004640 setarg  0x00008ffa 
+ 00018722  0x00004641 store  0x00000002 , 0x00000b7c 
+ 00018723  0x00004642 setarg  0x0000903a 
+ 00018724  0x00004643 store  0x00000002 , 0x00000b7e 
+ 00018725  0x00004644 arg  0x00000b80 , 0x00000005 
+ 00018726  0x00004645 arg  0x000090fe , 0x00000006 
+ 00018727  0x00004646 call  0x00007eb3 
+ 00018728  0x00004647 fetch  0x00000001 , 0x00000c6d 
+ 00018729  0x00004648 ncall  0x0000492b , 0x00000034 
+ 00018730  0x00004649 branch  0x0000490b 
+ 00018731  0x0000464c store  0x00000001 , 0x00000ba2 
+ 00018732  0x0000464d store  0x00000001 , 0x00000bbb 
+ 00018733  0x0000464e rtn 
+ 00018734  0x00004650 hfetch  0x00000001 , 0x00008a26 
+ 00018735  0x00004651 bbit1  0x00000006 , 0x00004931 
+ 00018736  0x00004652 rtn 
+ 00018737  0x00004655 call  0x00004936 
+ 00018738  0x00004656 call  0x00007f15 
+ 00018739  0x00004657 setarg  0x00000280 
+ 00018740  0x00004658 arg  0x00000000 , 0x00000007 
+ 00018741  0x00004659 branch  0x00007f08 
+ 00018742  0x0000465c fetch  0x00000001 , 0x00000d36 
+ 00018743  0x0000465d bne  0x00000002 , 0x0000493b 
+ 00018744  0x0000465e jam  0x00000000 , 0x00000d46 
+ 00018745  0x0000465f jam  0x00000000 , 0x00000d47 
+ 00018746  0x00004660 rtn 
+ 00018747  0x00004662 fetch  0x00000001 , 0x00000d53 
+ 00018748  0x00004663 rtn  0x00000034 
+ 00018749  0x00004664 jam  0x00000000 , 0x00000d53 
+ 00018750  0x00004665 jam  0x00000002 , 0x00000d36 
+ 00018751  0x00004666 jam  0x00000001 , 0x00000d45 
+ 00018752  0x00004667 rtn 
+ 00018753  0x0000466a jam  0x00000001 , 0x00008a27 
+ 00018754  0x0000466b branch  0x00004b37 
+ 00018755  0x0000466e fetch  0x00000001 , 0x00000b22 
+ 00018756  0x0000466f bbit1  0x00000004 , 0x00004955 
+ 00018757  0x00004670 rtn 
+ 00018758  0x00004673 hfetch  0x00000001 , 0x00008a18 
+ 00018759  0x00004674 istore  0x00000001 , 0x00000005 
+ 00018760  0x00004675 loop  0x00004946 
+ 00018761  0x00004676 rtn 
+ 00018762  0x00004679 bpatch  0x000000f8 , 0x0000401f 
+ 00018763  0x0000467a jam  0x00000011 , 0x00008a26 
+ 00018764  0x0000467b hfetch  0x00000001 , 0x00008a20 
+ 00018765  0x0000467c store  0x00000001 , 0x00000b24 
+ 00018766  0x0000467d copy  0x0000003f , 0x00000039 
+ 00018767  0x0000467e branch  0x00004943 , 0x00000034 
+ 00018768  0x0000467f arg  0x00000c6e , 0x00000005 
+ 00018769  0x00004680 call  0x00004946 
+ 00018770  0x00004681 fetch  0x00000001 , 0x00000b24 
+ 00018771  0x00004682 sub  0x0000003f , 0x00000007 , 0x0000003e 
+ 00018772  0x00004683 rtn  0x00000002 
+ 00018773  0x00004685 fetch  0x00000001 , 0x00000c6e 
+ 00018774  0x00004686 and_into  0x00000080 , 0x0000003f 
+ 00018775  0x00004687 beq  0x00000080 , 0x0000495a 
+ 00018776  0x00004688 beq  0x00000000 , 0x00004962 
+ 00018777  0x00004689 branch  0x00002a8c 
+ 00018778  0x0000468c fetch  0x00000001 , 0x00000c6e 
+ 00018779  0x0000468d rshift4  0x0000003f , 0x0000003f 
+ 00018780  0x0000468e rshift  0x0000003f , 0x0000003f 
+ 00018781  0x0000468f and_into  0x00000003 , 0x0000003f 
+ 00018782  0x00004690 beq  0x00000000 , 0x0000496a 
+ 00018783  0x00004691 beq  0x00000001 , 0x00004970 
+ 00018784  0x00004692 beq  0x00000002 , 0x00004975 
+ 00018785  0x00004693 branch  0x00002a8c 
+ 00018786  0x00004696 fetch  0x00000001 , 0x00000c6e 
+ 00018787  0x00004697 rshift4  0x0000003f , 0x0000003f 
+ 00018788  0x00004698 rshift  0x0000003f , 0x0000003f 
+ 00018789  0x00004699 and_into  0x00000003 , 0x0000003f 
+ 00018790  0x0000469a beq  0x00000000 , 0x00004976 
+ 00018791  0x0000469b beq  0x00000001 , 0x0000497e 
+ 00018792  0x0000469c beq  0x00000002 , 0x00004983 
+ 00018793  0x0000469d branch  0x00002a8c 
+ 00018794  0x000046a0 fetch  0x00000001 , 0x00000c6f 
+ 00018795  0x000046a1 beq  0x00000008 , 0x0000498a 
+ 00018796  0x000046a2 beq  0x00000006 , 0x000049a0 
+ 00018797  0x000046a3 beq  0x0000000a , 0x000049ea 
+ 00018798  0x000046a4 beq  0x00000000 , 0x000049fc 
+ 00018799  0x000046a5 branch  0x00004984 
+ 00018800  0x000046a8 fetch  0x00000001 , 0x00000c6f 
+ 00018801  0x000046a9 beq  0x00000002 , 0x00004a2f 
+ 00018802  0x000046aa beq  0x00000001 , 0x00004a33 
+ 00018803  0x000046ab beq  0x00000003 , 0x00004a45 
+ 00018804  0x000046ac branch  0x00004984 
+ 00018805  0x000046af branch  0x00004984 
+ 00018806  0x000046b2 fetch  0x00000001 , 0x00000c6f 
+ 00018807  0x000046b3 beq  0x00000001 , 0x00004a4f 
+ 00018808  0x000046b4 beq  0x00000003 , 0x00004a79 
+ 00018809  0x000046b5 beq  0x00000005 , 0x00004aa3 
+ 00018810  0x000046b6 beq  0x00000009 , 0x00004abc 
+ 00018811  0x000046b7 beq  0x0000000b , 0x00004ad7 
+ 00018812  0x000046b8 beq  0x00000007 , 0x00004984 
+ 00018813  0x000046b9 branch  0x00004984 
+ 00018814  0x000046bc fetch  0x00000001 , 0x00000c6f 
+ 00018815  0x000046bd beq  0x0000000a , 0x00004ae8 
+ 00018816  0x000046be beq  0x00000009 , 0x00004af9 
+ 00018817  0x000046bf beq  0x0000000b , 0x00004b11 
+ 00018818  0x000046c0 branch  0x00004984 
+ 00018819  0x000046c3 branch  0x00004984 
+ 00018820  0x000046c6 hfetch  0x00000001 , 0x00008a11 
+ 00018821  0x000046c7 set1  0x00000000 , 0x0000003f 
+ 00018822  0x000046c8 hstore  0x00000001 , 0x00008a11 
+ 00018823  0x000046c9 branch  0x00004988 
+ 00018824  0x000046cc jam  0x00000040 , 0x00008a12 
+ 00018825  0x000046cd rtn 
+ 00018826  0x000046d0 fetch  0x00000001 , 0x00000c6e 
+ 00018827  0x000046d1 bne  0x00000080 , 0x00004984 
+ 00018828  0x000046d2 fetch  0x00000001 , 0x00000c72 
+ 00018829  0x000046d3 bne  0x00000000 , 0x00004984 
+ 00018830  0x000046d4 fetch  0x00000001 , 0x00000c73 
+ 00018831  0x000046d5 bne  0x00000000 , 0x00004984 
+ 00018832  0x000046d6 fetch  0x00000001 , 0x00000c74 
+ 00018833  0x000046d7 bne  0x00000001 , 0x00004984 
+ 00018834  0x000046d8 fetch  0x00000001 , 0x00000c75 
+ 00018835  0x000046d9 bne  0x00000000 , 0x00004984 
+ 00018836  0x000046da fetch  0x00000001 , 0x00000c70 
+ 00018837  0x000046db bne  0x00000000 , 0x00004984 
+ 00018838  0x000046dc fetch  0x00000001 , 0x00000c71 
+ 00018839  0x000046dd bne  0x00000000 , 0x00004984 
+ 00018840  0x000046de fetch  0x00000001 , 0x00000c6b 
+ 00018841  0x000046df beq  0x00000004 , 0x0000499c 
+ 00018842  0x000046e0 beq  0x00000003 , 0x0000499e 
+ 00018843  0x000046e1 branch  0x00004984 
+ 00018844  0x000046e4 arg  0x00000001 , 0x00000012 
+ 00018845  0x000046e5 branch  0x00004a14 
+ 00018846  0x000046e8 arg  0x00000001 , 0x00000012 
+ 00018847  0x000046e9 branch  0x00004a12 
+ 00018848  0x000046ec bpatch  0x000000f9 , 0x0000401f 
+ 00018849  0x000046ed set0  0x00000023 , 0x00000000 
+ 00018850  0x000046ee fetch  0x00000001 , 0x00000c71 
+ 00018851  0x000046ef beq  0x00000001 , 0x000049b6 
+ 00018852  0x000046f0 beq  0x00000002 , 0x000049cf 
+ 00018853  0x000046f1 beq  0x00000003 , 0x000049d2 
+ 00018854  0x000046f2 beq  0x00000021 , 0x000049a9 
+ 00018855  0x000046f3 beq  0x00000022 , 0x000049e0 
+ 00018856  0x000046f4 branch  0x00004984 
+ 00018857  0x000046f7 jam  0x00000000 , 0x00000d4b 
+ 00018858  0x000046f8 fetch  0x00000001 , 0x00000c72 
+ 00018859  0x000046f9 beq  0x00000000 , 0x000049ae 
+ 00018860  0x000046fa beq  0x00000001 , 0x000049b2 
+ 00018861  0x000046fb branch  0x00004984 
+ 00018862  0x000046fe arg  0x00000b93 , 0x00000011 
+ 00018863  0x000046ff ifetch  0x00000001 , 0x00000011 
+ 00018864  0x00004700 iforce  0x00000012 
+ 00018865  0x00004701 branch  0x00004b21 
+ 00018866  0x00004704 arg  0x00000bac , 0x00000011 
+ 00018867  0x00004705 ifetch  0x00000001 , 0x00000011 
+ 00018868  0x00004706 iforce  0x00000012 
+ 00018869  0x00004707 branch  0x00004b21 
+ 00018870  0x0000470d fetch  0x00000001 , 0x00000d48 
+ 00018871  0x0000470e ncall  0x000049c7 , 0x00000034 
+ 00018872  0x0000470f setarg  0x00000b68 
+ 00018873  0x00004710 fetcht  0x00000001 , 0x00000b68 
+ 00018874  0x00004712 store  0x00000002 , 0x00000d3f 
+ 00018875  0x00004713 storet  0x00000001 , 0x00000d41 
+ 00018876  0x00004714 fetch  0x00000001 , 0x00000c74 
+ 00018877  0x00004715 isub  0x00000002 , 0x0000003e 
+ 00018878  0x00004716 nbranch  0x000049c5 , 0x00000002 
+ 00018879  0x00004718 fetch  0x00000001 , 0x00000d41 
+ 00018880  0x0000471a iforce  0x00000012 
+ 00018881  0x0000471b fetch  0x00000002 , 0x00000d3f 
+ 00018882  0x0000471c add  0x0000003f , 0x00000001 , 0x0000003f 
+ 00018883  0x0000471d iforce  0x00000011 
+ 00018884  0x0000471e branch  0x00004b21 
+ 00018885  0x00004720 fetch  0x00000001 , 0x00000c74 
+ 00018886  0x00004721 branch  0x000049c0 
+ 00018887  0x00004724 hfetch  0x00000001 , 0x00008a04 
+ 00018888  0x00004725 ncall  0x000049cb , 0x00000034 
+ 00018889  0x00004726 jam  0x00000000 , 0x00000d48 
+ 00018890  0x00004727 rtn 
+ 00018891  0x00004729 hfetch  0x00000001 , 0x00008a04 
+ 00018892  0x0000472a set1  0x00000007 , 0x0000003f 
+ 00018893  0x0000472b hstore  0x00000001 , 0x00008a04 
+ 00018894  0x0000472c rtn 
+ 00018895  0x0000472f setarg  0x00000b80 
+ 00018896  0x00004730 fetcht  0x00000001 , 0x00000b80 
+ 00018897  0x00004731 branch  0x000049ba 
+ 00018898  0x00004734 fetch  0x00000001 , 0x00000c70 
+ 00018899  0x00004735 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00018900  0x00004736 nbranch  0x00004984 , 0x00000002 
+ 00018901  0x00004737 fetch  0x00000001 , 0x00000c70 
+ 00018902  0x00004738 arg  0x00000be4 , 0x00000011 
+ 00018903  0x00004739 beq  0x00000000 , 0x00004b1e 
+ 00018904  0x0000473a set1  0x00000023 , 0x00000000 
+ 00018905  0x0000473b arg  0x00000be9 , 0x00000011 
+ 00018906  0x0000473c beq  0x00000001 , 0x00004b1e 
+ 00018907  0x0000473d arg  0x00000c07 , 0x00000011 
+ 00018908  0x0000473e beq  0x00000002 , 0x00004b1e 
+ 00018909  0x0000473f arg  0x00000c47 , 0x00000011 
+ 00018910  0x00004740 beq  0x00000003 , 0x00004b1e 
+ 00018911  0x00004741 rtn 
+ 00018912  0x00004744 fetch  0x00000002 , 0x00000c72 
+ 00018913  0x00004745 beq  0x00000001 , 0x000049e5 
+ 00018914  0x00004746 fetch  0x00000002 , 0x00000b7c 
+ 00018915  0x00004747 copy  0x0000003f , 0x00000011 
+ 00018916  0x00004749 branch  0x00004b1e 
+ 00018917  0x0000474b jam  0x00000001 , 0x00000d45 
+ 00018918  0x0000474c jam  0x00000001 , 0x00000d36 
+ 00018919  0x0000474d fetch  0x00000002 , 0x00000b7e 
+ 00018920  0x0000474e copy  0x0000003f , 0x00000011 
+ 00018921  0x00004750 branch  0x00004b1e 
+ 00018922  0x00004754 fetch  0x00000001 , 0x00000c6b 
+ 00018923  0x00004755 bne  0x00000004 , 0x00004984 
+ 00018924  0x00004756 fetch  0x00000001 , 0x00000c6e 
+ 00018925  0x00004757 bne  0x00000081 , 0x00004984 
+ 00018926  0x00004758 fetch  0x00000001 , 0x00000c70 
+ 00018927  0x00004759 bne  0x00000000 , 0x00004984 
+ 00018928  0x0000475a fetch  0x00000001 , 0x00000c71 
+ 00018929  0x0000475b bne  0x00000000 , 0x00004984 
+ 00018930  0x0000475c fetch  0x00000001 , 0x00000c74 
+ 00018931  0x0000475d bne  0x00000001 , 0x00004984 
+ 00018932  0x0000475e fetch  0x00000001 , 0x00000c75 
+ 00018933  0x0000475f bne  0x00000000 , 0x00004984 
+ 00018934  0x00004760 fetch  0x00000001 , 0x00000c72 
+ 00018935  0x00004761 bne  0x00000000 , 0x00004984 
+ 00018936  0x00004762 fetch  0x00000001 , 0x00000c73 
+ 00018937  0x00004763 bne  0x00000000 , 0x00004984 
+ 00018938  0x00004764 arg  0x00000001 , 0x00000012 
+ 00018939  0x00004765 branch  0x00004a12 
+ 00018940  0x00004769 fetch  0x00000001 , 0x00000c6b 
+ 00018941  0x0000476a beq  0x00000002 , 0x00004984 
+ 00018942  0x0000476b fetch  0x00000001 , 0x00000c70 
+ 00018943  0x0000476c bne  0x00000000 , 0x00004984 
+ 00018944  0x0000476d fetch  0x00000001 , 0x00000c71 
+ 00018945  0x0000476e bne  0x00000000 , 0x00004984 
+ 00018946  0x0000476f fetch  0x00000001 , 0x00000c74 
+ 00018947  0x00004770 bne  0x00000002 , 0x00004984 
+ 00018948  0x00004771 fetch  0x00000001 , 0x00000c75 
+ 00018949  0x00004772 bne  0x00000000 , 0x00004984 
+ 00018950  0x00004773 fetch  0x00000001 , 0x00000c73 
+ 00018951  0x00004774 bne  0x00000000 , 0x00004984 
+ 00018952  0x00004775 fetch  0x00000001 , 0x00000c6e 
+ 00018953  0x00004776 beq  0x00000080 , 0x00004a0d 
+ 00018954  0x00004777 beq  0x00000081 , 0x00004a18 
+ 00018955  0x00004778 beq  0x00000082 , 0x00004a1c 
+ 00018956  0x00004779 branch  0x00004984 
+ 00018957  0x0000477c fetch  0x00000001 , 0x00000c72 
+ 00018958  0x0000477d bne  0x00000000 , 0x00004984 
+ 00018959  0x0000477e arg  0x00000002 , 0x00000012 
+ 00018960  0x0000477f fetch  0x00000001 , 0x00000d39 
+ 00018961  0x00004780 beq  0x00000001 , 0x00004a16 
+ 00018962  0x00004783 arg  0x00000c65 , 0x00000011 
+ 00018963  0x00004784 branch  0x00004b21 
+ 00018964  0x00004786 arg  0x00000c67 , 0x00000011 
+ 00018965  0x00004787 branch  0x00004b21 
+ 00018966  0x00004789 arg  0x00000c69 , 0x00000011 
+ 00018967  0x0000478a branch  0x00004b21 
+ 00018968  0x0000478d fetch  0x00000001 , 0x00000c6b 
+ 00018969  0x0000478e bne  0x00000004 , 0x00004984 
+ 00018970  0x0000478f arg  0x00000002 , 0x00000012 
+ 00018971  0x00004790 branch  0x00004a12 
+ 00018972  0x00004793 fetch  0x00000001 , 0x00000c6b 
+ 00018973  0x00004794 bne  0x00000004 , 0x00004984 
+ 00018974  0x00004795 fetch  0x00000001 , 0x00000c72 
+ 00018975  0x00004796 beq  0x00000081 , 0x00004a29 
+ 00018976  0x00004797 beq  0x00000082 , 0x00004a2b 
+ 00018977  0x00004798 beq  0x00000083 , 0x00004a2d 
+ 00018978  0x00004799 and_into  0x0000007f , 0x0000003f 
+ 00018979  0x0000479a beq  0x00000000 , 0x00004a25 
+ 00018980  0x0000479b branch  0x00004984 
+ 00018981  0x0000479e fetch  0x00000001 , 0x00000d3b 
+ 00018982  0x000047a0 arg  0x00000002 , 0x00000012 
+ 00018983  0x000047a1 beq  0x00000001 , 0x00004a14 
+ 00018984  0x000047a2 branch  0x00004a12 
+ 00018985  0x000047a4 fetch  0x00000001 , 0x00000d3c 
+ 00018986  0x000047a5 branch  0x00004a26 
+ 00018987  0x000047a7 fetch  0x00000001 , 0x00000d3d 
+ 00018988  0x000047a8 branch  0x00004a26 
+ 00018989  0x000047aa fetch  0x00000001 , 0x00000d3e 
+ 00018990  0x000047ab branch  0x00004a26 
+ 00018991  0x000047ae jam  0x00000001 , 0x00000d4c 
+ 00018992  0x000047af arg  0x00000d4d , 0x00000011 
+ 00018993  0x000047b0 arg  0x00000001 , 0x00000012 
+ 00018994  0x000047b1 branch  0x00004b21 
+ 00018995  0x000047b4 fetch  0x00000002 , 0x00000c70 
+ 00018996  0x000047b5 arg  0x000001ba , 0x00000002 
+ 00018997  0x000047b6 isub  0x00000002 , 0x0000003e 
+ 00018998  0x000047b7 nbranch  0x00004984 , 0x00000005 
+ 00018999  0x000047b8 set0  0x00000023 , 0x00000000 
+ 00019000  0x000047ba fetch  0x00000001 , 0x00000d42 
+ 00019001  0x000047bb nbranch  0x00004a42 , 0x00000034 
+ 00019002  0x000047bc jam  0x00000000 , 0x00000cf6 
+ 00019003  0x000047be fetch  0x00000001 , 0x00000c74 
+ 00019004  0x000047bf iforce  0x00000012 
+ 00019005  0x000047c0 arg  0x00000cf6 , 0x00000011 
+ 00019006  0x000047c1 call  0x00004b21 
+ 00019007  0x000047c3 arg  0x00000cf6 , 0x00000005 
+ 00019008  0x000047c4 arg  0x00000008 , 0x00000039 
+ 00019009  0x000047c5 branch  0x00007ec6 
+ 00019010  0x000047c7 jam  0x00000000 , 0x00000d42 
+ 00019011  0x000047c8 jam  0x00000001 , 0x00000cf6 
+ 00019012  0x000047c9 branch  0x00004a3b 
+ 00019013  0x000047cc fetch  0x00000001 , 0x00000c74 
+ 00019014  0x000047cd bne  0x00000001 , 0x00004984 
+ 00019015  0x000047ce jam  0x00000001 , 0x00000d4b 
+ 00019016  0x000047cf arg  0x00000001 , 0x00000012 
+ 00019017  0x000047d0 fetch  0x00000001 , 0x00000d49 
+ 00019018  0x000047d1 beq  0x00000000 , 0x00004a4d 
+ 00019019  0x000047d2 beq  0x00000001 , 0x00004a4e 
+ 00019020  0x000047d3 branch  0x00004a12 
+ 00019021  0x000047d5 branch  0x00004a14 
+ 00019022  0x000047d7 branch  0x00004a12 
+ 00019023  0x000047dd fetch  0x00000001 , 0x00000c6b 
+ 00019024  0x000047de bne  0x00000004 , 0x00004984 
+ 00019025  0x000047df fetch  0x00000001 , 0x00000c74 
+ 00019026  0x000047e0 bne  0x00000000 , 0x00004984 
+ 00019027  0x000047e1 fetch  0x00000001 , 0x00000c75 
+ 00019028  0x000047e2 bne  0x00000000 , 0x00004984 
+ 00019029  0x000047e3 fetch  0x00000001 , 0x00000c71 
+ 00019030  0x000047e4 bne  0x00000000 , 0x00004984 
+ 00019031  0x000047e5 fetch  0x00000001 , 0x00000c73 
+ 00019032  0x000047e6 bne  0x00000000 , 0x00004984 
+ 00019033  0x000047e7 fetch  0x00000001 , 0x00000c6e 
+ 00019034  0x000047e8 beq  0x00000000 , 0x00004a5e 
+ 00019035  0x000047e9 beq  0x00000001 , 0x00004a66 
+ 00019036  0x000047ea beq  0x00000002 , 0x00004a67 
+ 00019037  0x000047eb branch  0x00004984 
+ 00019038  0x000047ee fetch  0x00000001 , 0x00000c70 
+ 00019039  0x000047ef bne  0x00000001 , 0x00004984 
+ 00019040  0x000047f0 hfetch  0x00000001 , 0x00008a00 
+ 00019041  0x000047f1 set0  0x00000007 , 0x0000003f 
+ 00019042  0x000047f2 hstore  0x00000001 , 0x00008a00 
+ 00019043  0x000047f3 jam  0x00000000 , 0x00000d39 
+ 00019044  0x000047f4 jam  0x00000001 , 0x00000d3a 
+ 00019045  0x000047f5 branch  0x00004988 
+ 00019046  0x000047f8 branch  0x00004984 
+ 00019047  0x000047fb fetch  0x00000001 , 0x00000c70 
+ 00019048  0x000047fc bne  0x00000000 , 0x00004984 
+ 00019049  0x000047fd fetch  0x00000001 , 0x00000c72 
+ 00019050  0x000047fe beq  0x00000081 , 0x00004a72 
+ 00019051  0x000047ff beq  0x00000082 , 0x00004a75 
+ 00019052  0x00004800 beq  0x00000083 , 0x00004a77 
+ 00019053  0x00004801 and_into  0x0000007f , 0x0000003f 
+ 00019054  0x00004802 beq  0x00000000 , 0x00004a70 
+ 00019055  0x00004803 branch  0x00004984 
+ 00019056  0x00004806 jam  0x00000000 , 0x00000d3b 
+ 00019057  0x00004807 branch  0x00004988 
+ 00019058  0x00004809 jam  0x00000000 , 0x00000d3c 
+ 00019059  0x0000480b jam  0x00000001 , 0x00000d53 
+ 00019060  0x0000480c branch  0x00004988 
+ 00019061  0x0000480e jam  0x00000000 , 0x00000d3d 
+ 00019062  0x0000480f branch  0x00004a73 
+ 00019063  0x00004811 jam  0x00000000 , 0x00000d3e 
+ 00019064  0x00004812 branch  0x00004a73 
+ 00019065  0x00004816 fetch  0x00000001 , 0x00000c74 
+ 00019066  0x00004817 bne  0x00000000 , 0x00004984 
+ 00019067  0x00004818 fetch  0x00000001 , 0x00000c75 
+ 00019068  0x00004819 bne  0x00000000 , 0x00004984 
+ 00019069  0x0000481a fetch  0x00000001 , 0x00000c6e 
+ 00019070  0x0000481b beq  0x00000000 , 0x00004a82 
+ 00019071  0x0000481c beq  0x00000001 , 0x00004a8f 
+ 00019072  0x0000481d beq  0x00000002 , 0x00004a90 
+ 00019073  0x0000481e branch  0x00004984 
+ 00019074  0x00004821 fetch  0x00000001 , 0x00000c70 
+ 00019075  0x00004822 bne  0x00000001 , 0x00004984 
+ 00019076  0x00004823 hfetch  0x00000001 , 0x00008a00 
+ 00019077  0x00004824 set1  0x00000007 , 0x0000003f 
+ 00019078  0x00004825 hstore  0x00000001 , 0x00008a00 
+ 00019079  0x00004826 jam  0x00000001 , 0x00000d39 
+ 00019080  0x00004827 jam  0x00000003 , 0x00000d36 
+ 00019081  0x00004828 jam  0x00000000 , 0x00000d43 
+ 00019082  0x00004829 call  0x00004988 
+ 00019083  0x0000482b call  0x00007f15 
+ 00019084  0x0000482c setarg  0x00001388 
+ 00019085  0x0000482d arg  0x0000000f , 0x00000007 
+ 00019086  0x0000482e branch  0x00007f08 
+ 00019087  0x00004831 branch  0x00004984 
+ 00019088  0x00004834 fetch  0x00000001 , 0x00000c70 
+ 00019089  0x00004835 bne  0x00000000 , 0x00004984 
+ 00019090  0x00004836 fetch  0x00000001 , 0x00000c71 
+ 00019091  0x00004837 bne  0x00000000 , 0x00004984 
+ 00019092  0x00004838 fetch  0x00000001 , 0x00000c72 
+ 00019093  0x00004839 beq  0x00000081 , 0x00004a9d 
+ 00019094  0x0000483a beq  0x00000082 , 0x00004a9f 
+ 00019095  0x0000483b beq  0x00000083 , 0x00004aa1 
+ 00019096  0x0000483c and_into  0x0000007f , 0x0000003f 
+ 00019097  0x0000483d beq  0x00000000 , 0x00004a9b 
+ 00019098  0x0000483e branch  0x00004984 
+ 00019099  0x00004841 jam  0x00000001 , 0x00000d3b 
+ 00019100  0x00004842 branch  0x00004988 
+ 00019101  0x00004844 jam  0x00000001 , 0x00000d3c 
+ 00019102  0x00004845 branch  0x00004988 
+ 00019103  0x00004847 jam  0x00000001 , 0x00000d3d 
+ 00019104  0x00004848 branch  0x00004988 
+ 00019105  0x0000484a jam  0x00000001 , 0x00000d3e 
+ 00019106  0x0000484b branch  0x00004988 
+ 00019107  0x0000484f fetch  0x00000001 , 0x00000c6e 
+ 00019108  0x00004850 bne  0x00000000 , 0x00004984 
+ 00019109  0x00004851 fetch  0x00000001 , 0x00000c72 
+ 00019110  0x00004852 bne  0x00000000 , 0x00004984 
+ 00019111  0x00004853 fetch  0x00000001 , 0x00000c73 
+ 00019112  0x00004854 bne  0x00000000 , 0x00004984 
+ 00019113  0x00004855 fetch  0x00000001 , 0x00000c74 
+ 00019114  0x00004856 bne  0x00000000 , 0x00004984 
+ 00019115  0x00004857 fetch  0x00000001 , 0x00000c75 
+ 00019116  0x00004858 bne  0x00000000 , 0x00004984 
+ 00019117  0x00004859 fetch  0x00000001 , 0x00000c71 
+ 00019118  0x0000485a bne  0x00000000 , 0x00004984 
+ 00019119  0x0000485b fetch  0x00000001 , 0x00000c70 
+ 00019120  0x0000485c and_into  0x00000080 , 0x0000003f 
+ 00019121  0x0000485d bne  0x00000000 , 0x00004984 
+ 00019122  0x0000485e fetch  0x00000001 , 0x00000c70 
+ 00019123  0x0000485f bne  0x00000000 , 0x00004aba 
+ 00019124  0x00004861 jam  0x00000002 , 0x00000c6b 
+ 00019125  0x00004863 fetch  0x00000001 , 0x00000c70 
+ 00019126  0x00004864 hstore  0x00000001 , 0x00008a04 
+ 00019127  0x00004865 call  0x00004988 
+ 00019128  0x00004866 jam  0x00000001 , 0x00000d48 
+ 00019129  0x00004867 rtn 
+ 00019130  0x00004869 jam  0x00000003 , 0x00000c6b 
+ 00019131  0x0000486a branch  0x00004ab5 
+ 00019132  0x0000486e fetch  0x00000001 , 0x00000c6b 
+ 00019133  0x0000486f beq  0x00000002 , 0x00004984 
+ 00019134  0x00004870 fetch  0x00000001 , 0x00000c6e 
+ 00019135  0x00004871 bne  0x00000000 , 0x00004984 
+ 00019136  0x00004872 fetch  0x00000001 , 0x00000c72 
+ 00019137  0x00004873 bne  0x00000000 , 0x00004984 
+ 00019138  0x00004874 fetch  0x00000001 , 0x00000c73 
+ 00019139  0x00004875 bne  0x00000000 , 0x00004984 
+ 00019140  0x00004876 fetch  0x00000001 , 0x00000c74 
+ 00019141  0x00004877 bne  0x00000000 , 0x00004984 
+ 00019142  0x00004878 fetch  0x00000001 , 0x00000c75 
+ 00019143  0x00004879 bne  0x00000000 , 0x00004984 
+ 00019144  0x0000487a fetch  0x00000001 , 0x00000c71 
+ 00019145  0x0000487b bne  0x00000000 , 0x00004984 
+ 00019146  0x0000487c fetch  0x00000001 , 0x00000c70 
+ 00019147  0x0000487d sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019148  0x0000487e nbranch  0x00004984 , 0x00000002 
+ 00019149  0x0000487f fetch  0x00000001 , 0x00000c6b 
+ 00019150  0x00004880 beq  0x00000003 , 0x00004ad1 
+ 00019151  0x00004881 beq  0x00000004 , 0x00004ad1 
+ 00019152  0x00004882 branch  0x00004984 
+ 00019153  0x00004886 fetch  0x00000001 , 0x00000c70 
+ 00019154  0x00004887 beq  0x00000000 , 0x00004ad5 
+ 00019155  0x00004888 jam  0x00000004 , 0x00000c6b 
+ 00019156  0x00004889 branch  0x00004988 
+ 00019157  0x0000488b jam  0x00000003 , 0x00000c6b 
+ 00019158  0x0000488c branch  0x00004988 
+ 00019159  0x00004890 fetch  0x00000001 , 0x00000c6b 
+ 00019160  0x00004891 bne  0x00000004 , 0x00004984 
+ 00019161  0x00004892 fetch  0x00000001 , 0x00000c6e 
+ 00019162  0x00004893 bne  0x00000001 , 0x00004984 
+ 00019163  0x00004894 fetch  0x00000001 , 0x00000c70 
+ 00019164  0x00004895 bne  0x00000000 , 0x00004984 
+ 00019165  0x00004896 fetch  0x00000001 , 0x00000c71 
+ 00019166  0x00004897 bne  0x00000000 , 0x00004984 
+ 00019167  0x00004898 fetch  0x00000001 , 0x00000c74 
+ 00019168  0x00004899 bne  0x00000000 , 0x00004984 
+ 00019169  0x0000489a fetch  0x00000001 , 0x00000c75 
+ 00019170  0x0000489b bne  0x00000000 , 0x00004984 
+ 00019171  0x0000489c fetch  0x00000001 , 0x00000c72 
+ 00019172  0x0000489d bne  0x00000000 , 0x00004984 
+ 00019173  0x0000489e fetch  0x00000001 , 0x00000c73 
+ 00019174  0x0000489f bne  0x00000000 , 0x00004984 
+ 00019175  0x000048a0 branch  0x00004988 
+ 00019176  0x000048a4 jam  0x00000001 , 0x00000d4c 
+ 00019177  0x000048a5 fetch  0x00000001 , 0x00000c71 
+ 00019178  0x000048a6 store  0x00000001 , 0x00000d4d 
+ 00019179  0x000048a7 fetch  0x00000001 , 0x00000c72 
+ 00019180  0x000048a8 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019181  0x000048a9 call  0x00004af5 , 0x00000005 
+ 00019182  0x000048aa fetch  0x00000001 , 0x00000d36 
+ 00019183  0x000048ab bne  0x00000004 , 0x00004988 
+ 00019184  0x000048ac jam  0x00000002 , 0x00000d36 
+ 00019185  0x000048ad call  0x00004988 
+ 00019186  0x000048ae nop  0x00007530 
+ 00019187  0x000048af nop  0x00007530 
+ 00019188  0x000048b0 rtn 
+ 00019189  0x000048b2 jam  0x00000001 , 0x00000d45 
+ 00019190  0x000048b3 jam  0x00000000 , 0x00000d3a 
+ 00019191  0x000048b4 jam  0x00000004 , 0x00000d36 
+ 00019192  0x000048b5 rtn 
+ 00019193  0x000048b9 jam  0x00000001 , 0x00000d50 
+ 00019194  0x000048ba call  0x00004b03 
+ 00019195  0x000048bb fetch  0x00000002 , 0x00000c70 
+ 00019196  0x000048bc store  0x00000002 , 0x00000d4e 
+ 00019197  0x000048bd fetch  0x00000001 , 0x00000c74 
+ 00019198  0x000048be iforce  0x00000039 
+ 00019199  0x000048bf arg  0x00000c76 , 0x00000006 
+ 00019200  0x000048c0 arg  0x00000cb6 , 0x00000005 
+ 00019201  0x000048c1 call  0x00007f01 
+ 00019202  0x000048c2 branch  0x00004988 
+ 00019203  0x000048c5 fetch  0x00000002 , 0x00000c70 
+ 00019204  0x000048c6 arg  0x00000200 , 0x00000002 
+ 00019205  0x000048c7 isub  0x00000002 , 0x0000003e 
+ 00019206  0x000048c8 nrtn  0x00000005 
+ 00019207  0x000048c9 fetch  0x00000002 , 0x00000c72 
+ 00019208  0x000048ca arg  0x00000000 , 0x00000002 
+ 00019209  0x000048cb isub  0x00000002 , 0x0000003e 
+ 00019210  0x000048cc nrtn  0x00000005 
+ 00019211  0x000048cd fetch  0x00000002 , 0x00000c74 
+ 00019212  0x000048ce arg  0x00000001 , 0x00000002 
+ 00019213  0x000048cf isub  0x00000002 , 0x0000003e 
+ 00019214  0x000048d0 nrtn  0x00000005 
+ 00019215  0x000048d1 jam  0x00000001 , 0x00000d43 
+ 00019216  0x000048d2 rtn 
+ 00019217  0x000048d6 fetch  0x00000001 , 0x00000c74 
+ 00019218  0x000048d7 bne  0x00000000 , 0x00004984 
+ 00019219  0x000048d8 fetch  0x00000001 , 0x00000c70 
+ 00019220  0x000048d9 beq  0x00000000 , 0x00004b17 
+ 00019221  0x000048da beq  0x00000001 , 0x00004b1a 
+ 00019222  0x000048db branch  0x00004984 
+ 00019223  0x000048dd jam  0x00000000 , 0x00000d4a 
+ 00019224  0x000048de jam  0x00000001 , 0x00000d49 
+ 00019225  0x000048df branch  0x00004988 
+ 00019226  0x000048e1 jam  0x00000001 , 0x00000d44 
+ 00019227  0x000048e2 jam  0x00000001 , 0x00000d4a 
+ 00019228  0x000048e3 jam  0x00000000 , 0x00000d49 
+ 00019229  0x000048e4 branch  0x00004988 
+ 00019230  0x000048e8 ifetch  0x00000001 , 0x00000011 
+ 00019231  0x000048e9 iforce  0x00000012 
+ 00019232  0x000048ea increase  0x00000001 , 0x00000011 
+ 00019233  0x000048ed bpatch  0x000000fa , 0x0000401f 
+ 00019234  0x000048ee bmark0  0x00000023 , 0x00004b2c 
+ 00019235  0x000048ef add  0x00000012 , 0x00000001 , 0x0000003f 
+ 00019236  0x000048f0 lshift  0x0000003f , 0x0000003f 
+ 00019237  0x000048f1 hstore  0x00000001 , 0x00008a18 
+ 00019238  0x000048f2 jam  0x00000003 , 0x00008a18 
+ 00019239  0x000048f3 fetch  0x00000001 , 0x00000c74 
+ 00019240  0x000048f4 increase  0xfffffffe , 0x0000003f 
+ 00019241  0x000048f5 rshift  0x0000003f , 0x0000003f 
+ 00019242  0x000048f6 store  0x00000001 , 0x00000c74 
+ 00019243  0x000048f7 beq  0x00000000 , 0x00004b35 
+ 00019244  0x000048f9 fetch  0x00000002 , 0x00000c74 
+ 00019245  0x000048fa isub  0x00000012 , 0x0000003e 
+ 00019246  0x000048fb branch  0x00004b30 , 0x00000002 
+ 00019247  0x000048fc copy  0x0000003f , 0x00000012 
+ 00019248  0x000048fe deposit  0x00000011 
+ 00019249  0x000048ff store  0x00000002 , 0x00000b65 
+ 00019250  0x00004900 deposit  0x00000012 
+ 00019251  0x00004901 store  0x00000001 , 0x00000b67 
+ 00019252  0x00004902 branch  0x00004b37 
+ 00019253  0x00004905 arg  0x00000000 , 0x00000007 
+ 00019254  0x00004906 branch  0x00004b57 
+ 00019255  0x0000490a bpatch  0x000000fb , 0x0000401f 
+ 00019256  0x0000490b fetch  0x00000001 , 0x00000b67 
+ 00019257  0x0000490c rtn  0x00000034 
+ 00019258  0x0000490d copy  0x0000003f , 0x00000039 
+ 00019259  0x0000490e sub  0x0000003f , 0x00000040 , 0x0000003e 
+ 00019260  0x0000490f branch  0x00004b3e , 0x00000002 
+ 00019261  0x00004910 arg  0x00000040 , 0x00000039 
+ 00019262  0x00004912 fetch  0x00000001 , 0x00000b67 
+ 00019263  0x00004913 isub  0x00000039 , 0x0000003f 
+ 00019264  0x00004914 store  0x00000001 , 0x00000b67 
+ 00019265  0x00004915 fetch  0x00000002 , 0x00000b65 
+ 00019266  0x00004916 copy  0x0000003f , 0x00000006 
+ 00019267  0x00004918 ifetch  0x00000001 , 0x00000006 
+ 00019268  0x00004919 hstore  0x00000001 , 0x00008a18 
+ 00019269  0x0000491a bmark0  0x00000023 , 0x00004b47 
+ 00019270  0x0000491b jam  0x00000000 , 0x00008a18 
+ 00019271  0x0000491d loop  0x00004b43 
+ 00019272  0x0000491e copy  0x00000006 , 0x0000003f 
+ 00019273  0x0000491f store  0x00000002 , 0x00000b65 
+ 00019274  0x00004920 arg  0x00000000 , 0x00000007 
+ 00019275  0x00004921 call  0x00004b57 
+ 00019276  0x00004922 fetch  0x00000001 , 0x00000b67 
+ 00019277  0x00004923 nrtn  0x00000034 
+ 00019278  0x00004924 fetch  0x00000001 , 0x00000d36 
+ 00019279  0x00004925 rtnne  0x00000001 
+ 00019280  0x00004926 jam  0x00000002 , 0x00000d36 
+ 00019281  0x00004927 rtn 
+ 00019282  0x0000492b arg  0x00008a19 , 0x00000011 
+ 00019283  0x0000492c arg  0x00000001 , 0x00000007 
+ 00019284  0x0000492e ifetch  0x00000001 , 0x00000006 
+ 00019285  0x0000492f istore  0x00000001 , 0x00000011 
+ 00019286  0x00004930 loop  0x00004b54 
+ 00019287  0x00004932 setarg  0x00000000 
+ 00019288  0x00004933 qset1  0x0000003f 
+ 00019289  0x00004934 hstore  0x00000001 , 0x00008a10 
+ 00019290  0x00004935 fetcht  0x00000001 , 0x00000d37 
+ 00019291  0x00004936 ior  0x00000002 , 0x0000003f 
+ 00019292  0x00004937 store  0x00000001 , 0x00000d37 
+ 00019293  0x00004938 rtn 
+ 00019294  0x0000493b arg  0x00000002 , 0x00000007 
+ 00019295  0x0000493c arg  0x00008a1a , 0x00000011 
+ 00019296  0x0000493d branch  0x00004b54 
+ 00019297  0x00004940 bpatch  0x000000fc , 0x0000401f 
+ 00019298  0x00004941 fetch  0x00000001 , 0x00000d38 
+ 00019299  0x00004942 rtn  0x00000034 
+ 00019300  0x00004943 fetch  0x00000001 , 0x00000d37 
+ 00019301  0x00004944 nbranch  0x00004bac , 0x00000034 
+ 00019302  0x00004945 fetch  0x00000001 , 0x00000d45 
+ 00019303  0x00004946 branch  0x00004b86 , 0x00000034 
+ 00019304  0x00004947 fetch  0x00000001 , 0x00000d36 
+ 00019305  0x00004948 beq  0x00000003 , 0x00004bbf 
+ 00019306  0x00004949 bne  0x00000002 , 0x00004b86 
+ 00019307  0x0000494a fetch  0x00000001 , 0x00000d3a 
+ 00019308  0x0000494b nbranch  0x00004b86 , 0x00000034 
+ 00019309  0x0000494c call  0x00004b6f 
+ 00019310  0x0000494d branch  0x00004b7a 
+ 00019311  0x00004950 fetch  0x00000001 , 0x00000d38 
+ 00019312  0x00004951 rtnbit0  0x00000001 
+ 00019313  0x00004952 fetch  0x00000001 , 0x00000d37 
+ 00019314  0x00004953 rtnbit1  0x00000001 
+ 00019315  0x00004954 fetch  0x00000001 , 0x00000d38 
+ 00019316  0x00004955 set0  0x00000001 , 0x0000003f 
+ 00019317  0x00004956 store  0x00000001 , 0x00000d38 
+ 00019318  0x00004957 fetch  0x00000001 , 0x00000d51 
+ 00019319  0x00004958 rtn  0x00000034 
+ 00019320  0x00004959 beq  0x00000010 , 0x00004ba8 
+ 00019321  0x0000495a branch  0x00002a8c 
+ 00019322  0x0000495d fetch  0x00000001 , 0x00000d38 
+ 00019323  0x0000495e rtnbit0  0x00000002 
+ 00019324  0x0000495f fetch  0x00000001 , 0x00000d37 
+ 00019325  0x00004960 rtnbit1  0x00000002 
+ 00019326  0x00004961 fetch  0x00000001 , 0x00000d38 
+ 00019327  0x00004962 set0  0x00000002 , 0x0000003f 
+ 00019328  0x00004963 store  0x00000001 , 0x00000d38 
+ 00019329  0x00004964 fetch  0x00000001 , 0x00000d52 
+ 00019330  0x00004965 rtn  0x00000034 
+ 00019331  0x00004966 beq  0x00000020 , 0x00004b89 
+ 00019332  0x00004967 beq  0x00000021 , 0x00004ba4 
+ 00019333  0x00004968 branch  0x00002a8c 
+ 00019334  0x0000496c arg  0x00000d54 , 0x00000005 
+ 00019335  0x0000496d arg  0x00000006 , 0x00000039 
+ 00019336  0x0000496e branch  0x00007ec6 
+ 00019337  0x00004971 fetch  0x00000001 , 0x00000d4c 
+ 00019338  0x00004972 fetcht  0x00000001 , 0x00000d4b 
+ 00019339  0x00004973 iand  0x00000002 , 0x0000003f 
+ 00019340  0x00004974 branch  0x00004ba0 , 0x00000034 
+ 00019341  0x00004975 fetcht  0x00000001 , 0x00000d4a 
+ 00019342  0x00004976 iadd  0x00000002 , 0x0000003f 
+ 00019343  0x00004977 beq  0x00000001 , 0x00004b91 
+ 00019344  0x00004978 branch  0x00004ba0 
+ 00019345  0x0000497b jam  0x00000000 , 0x00000d52 
+ 00019346  0x0000497d fetch  0x00000001 , 0x00000d55 
+ 00019347  0x0000497e beq  0x00000002 , 0x00004ba1 
+ 00019348  0x0000497f beq  0x00000003 , 0x00004ba1 
+ 00019349  0x00004980 fetch  0x00000001 , 0x00000d55 
+ 00019350  0x00004981 store  0x00000001 , 0x00000d54 
+ 00019351  0x00004982 fetch  0x00000001 , 0x00000d56 
+ 00019352  0x00004983 istore  0x00000001 , 0x00000005 
+ 00019353  0x00004984 fetch  0x00000001 , 0x00000d58 
+ 00019354  0x00004985 istore  0x00000001 , 0x00000005 
+ 00019355  0x00004986 fetch  0x00000001 , 0x00000d5a 
+ 00019356  0x00004987 istore  0x00000001 , 0x00000005 
+ 00019357  0x00004988 arg  0x00000004 , 0x00000039 
+ 00019358  0x00004989 arg  0x00000d54 , 0x00000006 
+ 00019359  0x0000498a branch  0x00004b5e 
+ 00019360  0x0000498d jam  0x00000000 , 0x00000d52 
+ 00019361  0x0000498f arg  0x00000008 , 0x00000039 
+ 00019362  0x00004990 arg  0x00000d54 , 0x00000006 
+ 00019363  0x00004991 branch  0x00004b5e 
+ 00019364  0x00004994 jam  0x00000000 , 0x00000d52 
+ 00019365  0x00004995 arg  0x00000003 , 0x00000039 
+ 00019366  0x00004996 arg  0x00000d74 , 0x00000006 
+ 00019367  0x00004997 branch  0x00004b5e 
+ 00019368  0x0000499a jam  0x00000000 , 0x00000d51 
+ 00019369  0x0000499b arg  0x00000008 , 0x00000039 
+ 00019370  0x0000499c arg  0x00000d64 , 0x00000006 
+ 00019371  0x0000499d branch  0x00004b52 
+ 00019372  0x000049a0 fetch  0x00000001 , 0x00000d36 
+ 00019373  0x000049a1 beq  0x00000003 , 0x00004bb0 
+ 00019374  0x000049a2 beq  0x00000002 , 0x00004bb2 
+ 00019375  0x000049a3 rtn 
+ 00019376  0x000049a5 jam  0x00000000 , 0x00000d37 
+ 00019377  0x000049a6 rtn 
+ 00019378  0x000049a8 hfetch  0x00000001 , 0x00008a00 
+ 00019379  0x000049a9 set1  0x00000007 , 0x0000003f 
+ 00019380  0x000049aa hstore  0x00000001 , 0x00008a00 
+ 00019381  0x000049ab jam  0x00000001 , 0x00000d47 
+ 00019382  0x000049ac rtn 
+ 00019383  0x000049af fetch  0x00000001 , 0x00000d36 
+ 00019384  0x000049b0 rtneq  0x00000003 
+ 00019385  0x000049b1 beq  0x00000002 , 0x00004bbb 
+ 00019386  0x000049b2 rtn 
+ 00019387  0x000049b4 fetch  0x00000001 , 0x00000d47 
+ 00019388  0x000049b5 rtn  0x00000034 
+ 00019389  0x000049b6 jam  0x00000001 , 0x00000d46 
+ 00019390  0x000049b7 branch  0x00004bc2 
+ 00019391  0x000049ba arg  0x0000000f , 0x00000007 
+ 00019392  0x000049bb call  0x00007f16 
+ 00019393  0x000049bc nrtn  0x00000034 
+ 00019394  0x000049be hfetch  0x00000001 , 0x00008a00 
+ 00019395  0x000049bf rtnbit0  0x00000007 
+ 00019396  0x000049c0 jam  0x000000fc , 0x00008a00 
+ 00019397  0x000049c1 nop  0x00007530 
+ 00019398  0x000049c2 jam  0x0000003c , 0x00008a00 
+ 00019399  0x000049c3 rtn 
+ 00019400  0x000049cb bpatch  0x000000fd , 0x0000401f 
+ 00019401  0x000049cc fetch  0x00000001 , 0x000041ce 
+ 00019402  0x000049cd nrtn  0x00000034 
+ 00019403  0x000049cf call  0x00004bce 
+ 00019404  0x000049d0 ncall  0x00004be6 , 0x00000028 
+ 00019405  0x000049d1 rtn 
+ 00019406  0x000049d4 bpatch  0x000000fe , 0x0000401f 
+ 00019407  0x000049d5 copy  0x00000003 , 0x00000011 
+ 00019408  0x000049d6 arg  0x00000004 , 0x00000002 
+ 00019409  0x000049d7 ifetch  0x00000001 , 0x00000003 
+ 00019410  0x000049d8 beq  0x00000001 , 0x00004bd8 
+ 00019411  0x000049d9 increase  0x00000001 , 0x00000002 
+ 00019412  0x000049da beq  0x00000002 , 0x00004bd8 
+ 00019413  0x000049db copy  0x00000003 , 0x0000003f 
+ 00019414  0x000049dc hstore  0x00000002 , 0x00008058 
+ 00019415  0x000049dd rtn 
+ 00019416  0x000049df hfetch  0x00000002 , 0x00008112 
+ 00019417  0x000049e0 isub  0x00000002 , 0x0000003e 
+ 00019418  0x000049e1 nbranch  0x00004bd8 , 0x00000002 
+ 00019419  0x000049e3 disable  0x00000028 
+ 00019420  0x000049e4 copy  0x00000011 , 0x00000003 
+ 00019421  0x000049e5 call  0x00004bee 
+ 00019422  0x000049e6 iadd  0x00000002 , 0x00000002 
+ 00019423  0x000049e8 hfetch  0x00000002 , 0x00008112 
+ 00019424  0x000049e9 isub  0x00000002 , 0x0000003e 
+ 00019425  0x000049ea nbranch  0x00004bdf , 0x00000002 
+ 00019426  0x000049eb copy  0x00000011 , 0x00000003 
+ 00019427  0x000049ec ifetch  0x00000001 , 0x00000003 
+ 00019428  0x000049ed beq  0x00000001 , 0x00004c3f 
+ 00019429  0x000049ee branch  0x00002a8c 
+ 00019430  0x000049f1 bpatch  0x000000ff , 0x0000401f 
+ 00019431  0x000049f2 hfetch  0x00000002 , 0x00008058 
+ 00019432  0x000049f3 iforce  0x00000003 
+ 00019433  0x000049f4 call  0x00004bee 
+ 00019434  0x000049f5 iadd  0x00000003 , 0x00000003 
+ 00019435  0x000049f6 deposit  0x00000003 
+ 00019436  0x000049f7 hstore  0x00000002 , 0x00008058 
+ 00019437  0x000049f8 rtn 
+ 00019438  0x000049fe ifetch  0x00000001 , 0x00000003 
+ 00019439  0x000049ff increase  0x00000002 , 0x00000003 
+ 00019440  0x00004a00 beq  0x00000002 , 0x00004bf3 
+ 00019441  0x00004a01 ifetch  0x00000001 , 0x00000003 
+ 00019442  0x00004a02 rtn 
+ 00019443  0x00004a04 ifetch  0x00000002 , 0x00000003 
+ 00019444  0x00004a05 rtn 
+ 00019445  0x00004a08 hfetch  0x00000002 , 0x0000805e 
+ 00019446  0x00004a09 increase  0xfffffffb , 0x0000000a 
+ 00019447  0x00004a0a iadd  0x0000000a , 0x0000000a 
+ 00019448  0x00004a0b rtn 
+ 00019449  0x00004a0e arg  0x00000004 , 0x00000002 
+ 00019450  0x00004a0f branch  0x00004bfc 
+ 00019451  0x00004a11 arg  0x00000002 , 0x00000002 
+ 00019452  0x00004a13 bpatchx  0x00000000 , 0x00004020 
+ 00019453  0x00004a14 increase  0x00000001 , 0x00000039 
+ 00019454  0x00004a15 hfetch  0x00000002 , 0x0000805e 
+ 00019455  0x00004a16 copy  0x0000003f , 0x0000000a 
+ 00019456  0x00004a17 copy  0x00000039 , 0x0000003f 
+ 00019457  0x00004a18 istoret  0x00000001 , 0x0000000a 
+ 00019458  0x00004a19 increase  0xffffffff , 0x0000003f 
+ 00019459  0x00004a1a iadd  0x0000000a , 0x0000000a 
+ 00019460  0x00004a1b copy  0x0000000a , 0x0000003f 
+ 00019461  0x00004a1c store  0x00000002 , 0x00000258 
+ 00019462  0x00004a1d copy  0x00000002 , 0x0000003f 
+ 00019463  0x00004a1e rtneq  0x00000002 
+ 00019464  0x00004a1f fetch  0x00000002 , 0x00000258 
+ 00019465  0x00004a20 hstore  0x00000002 , 0x0000805e 
+ 00019466  0x00004a21 branch  0x00004c0b 
+ 00019467  0x00004a25 setarg  0x00000000 
+ 00019468  0x00004a26 store  0x00000002 , 0x00000258 
+ 00019469  0x00004a27 rtn 
+ 00019470  0x00004a2f rtn  0x0000002b 
+ 00019471  0x00004a30 setarg  0x00004d28 
+ 00019472  0x00004a31 store  0x00000002 , 0x000041f3 
+ 00019473  0x00004a33 setarg  0x000001a0 
+ 00019474  0x00004a34 store  0x00000002 , 0x00004243 
+ 00019475  0x00004a36 setarg  0x00001800 
+ 00019476  0x00004a37 hstore  0x00000002 , 0x00008054 
+ 00019477  0x00004a38 setarg  0x00001bff 
+ 00019478  0x00004a39 hstore  0x00000002 , 0x00008056 
+ 00019479  0x00004a3a setarg  0x00001c00 
+ 00019480  0x00004a3b hstore  0x00000002 , 0x0000805a 
+ 00019481  0x00004a3c call  0x00004c28 
+ 00019482  0x00004a3e jam  0x00000000 , 0x00008062 
+ 00019483  0x00004a3f setarg  0x00001c00 
+ 00019484  0x00004a40 hstore  0x00000002 , 0x0000805e 
+ 00019485  0x00004a41 hstore  0x00000002 , 0x00008060 
+ 00019486  0x00004a42 setarg  0x00001800 
+ 00019487  0x00004a43 hstore  0x00000002 , 0x00008058 
+ 00019488  0x00004a44 store  0x00000002 , 0x00000244 
+ 00019489  0x00004a46 hfetch  0x00000002 , 0x00008050 
+ 00019490  0x00004a47 set0  0x0000000f , 0x0000003f 
+ 00019491  0x00004a48 hstore  0x00000002 , 0x00008050 
+ 00019492  0x00004a49 call  0x000066ce 
+ 00019493  0x00004a4a jam  0x00000001 , 0x00008043 
+ 00019494  0x00004a4b jam  0x00000081 , 0x00008062 
+ 00019495  0x00004a4c rtn 
+ 00019496  0x00004a4f setarg  0x00001fff 
+ 00019497  0x00004a50 hstore  0x00000002 , 0x0000805c 
+ 00019498  0x00004a51 hfetch  0x00000001 , 0x00008081 
+ 00019499  0x00004a52 or_into  0x00000007 , 0x0000003f 
+ 00019500  0x00004a53 hstore  0x00000001 , 0x00008081 
+ 00019501  0x00004a54 rtn 
+ 00019502  0x00004a58 bpatchx  0x00000001 , 0x00004020 
+ 00019503  0x00004a59 hfetch  0x00000001 , 0x0000810c 
+ 00019504  0x00004a5a iforce  0x00000012 
+ 00019505  0x00004a5b bbit0  0x00000003 , 0x00004c37 
+ 00019506  0x00004a5c hfetch  0x00000002 , 0x00008112 
+ 00019507  0x00004a5d iforce  0x00000013 
+ 00019508  0x00004a5e arg  0x0000044f , 0x00000002 
+ 00019509  0x00004a5f isub  0x00000002 , 0x0000003e 
+ 00019510  0x00004a60 nrtn  0x00000005 
+ 00019511  0x00004a62 hfetch  0x00000002 , 0x00008058 
+ 00019512  0x00004a63 iforce  0x00000003 
+ 00019513  0x00004a64 branch  0x00004bc8 
+ 00019514  0x00004a67 hfetcht  0x00000001 , 0x0000810c 
+ 00019515  0x00004a68 isolate1  0x00000006 , 0x00000002 
+ 00019516  0x00004a69 branch  0x00004c3a , 0x00000001 
+ 00019517  0x00004a6a hstore  0x00000001 , 0x00008015 
+ 00019518  0x00004a6b rtn 
+ 00019519  0x00004a6e bpatchx  0x00000002 , 0x00004020 
+ 00019520  0x00004a6f fetch  0x00000001 , 0x000041ce 
+ 00019521  0x00004a70 branch  0x00004c44 , 0x00000034 
+ 00019522  0x00004a71 enable  0x00000028 
+ 00019523  0x00004a72 rtn 
+ 00019524  0x00004a74 ifetch  0x00000002 , 0x00000003 
+ 00019525  0x00004a75 iforce  0x00000030 
+ 00019526  0x00004a76 iforce  0x00000007 
+ 00019527  0x00004a77 ifetch  0x00000001 , 0x00000003 
+ 00019528  0x00004a78 iforce  0x00000002 
+ 00019529  0x00004a79 rshift2  0x00000030 , 0x0000003f 
+ 00019530  0x00004a7a rshift8  0x0000003f , 0x0000003f 
+ 00019531  0x00004a7b beq  0x0000003f , 0x00004c4d 
+ 00019532  0x00004a7c rtn 
+ 00019533  0x00004a80 bpatchx  0x00000003 , 0x00004020 
+ 00019534  0x00004a81 deposit  0x00000007 
+ 00019535  0x00004a82 beq  0x00000000 , 0x00004cdc 
+ 00019536  0x00004a83 beq  0x00000001 , 0x00004c66 
+ 00019537  0x00004a84 beq  0x00000002 , 0x00004c6b 
+ 00019538  0x00004a85 beq  0x00000003 , 0x00004c7a 
+ 00019539  0x00004a86 beq  0x00000004 , 0x00004cb3 
+ 00019540  0x00004a87 beq  0x00000005 , 0x00004cdc 
+ 00019541  0x00004a88 beq  0x00000006 , 0x00004cc6 
+ 00019542  0x00004a89 beq  0x00000007 , 0x00004c5c 
+ 00019543  0x00004a8b beq  0x00000010 , 0x00004cc9 
+ 00019544  0x00004a8c beq  0x00000011 , 0x00004cd1 
+ 00019545  0x00004a8d beq  0x00000012 , 0x00004ca5 
+ 00019546  0x00004a8e beq  0x00000013 , 0x00004c85 
+ 00019547  0x00004a8f branch  0x00004cdc 
+ 00019548  0x00004a92 call  0x00004cdc 
+ 00019549  0x00004a93 call  0x00007f9e 
+ 00019550  0x00004a94 call  0x0000688c 
+ 00019551  0x00004a96 call  0x000033d2 
+ 00019552  0x00004a97 call  0x000033d9 
+ 00019553  0x00004a98 branch  0x0000688f 
+ 00019554  0x00004a9b jam  0x00000000 , 0x00004245 
+ 00019555  0x00004a9c call  0x000033d0 
+ 00019556  0x00004a9d call  0x00004c13 
+ 00019557  0x00004a9e branch  0x000033db 
+ 00019558  0x00004aa1 call  0x00004cf2 
+ 00019559  0x00004aa2 hfetch  0x00000002 , 0x00008000 
+ 00019560  0x00004aa3 istore  0x00000002 , 0x0000000a 
+ 00019561  0x00004aa4 force  0x00000006 , 0x00000039 
+ 00019562  0x00004aa5 branch  0x00004cdd 
+ 00019563  0x00004aa8 ifetch  0x00000002 , 0x00000003 
+ 00019564  0x00004aa9 store  0x00000002 , 0x00004243 
+ 00019565  0x00004aaa hstore  0x00000002 , 0x00008052 
+ 00019566  0x00004aab rtn 
+ 00019567  0x00004ab0 ifetch  0x00000001 , 0x00000003 
+ 00019568  0x00004ab1 copy  0x0000003f , 0x00000002 
+ 00019569  0x00004ab2 hstore  0x00000001 , 0x00008024 
+ 00019570  0x00004ab3 ifetch  0x00000001 , 0x00000003 
+ 00019571  0x00004ab4 iadd  0x00000002 , 0x00000002 
+ 00019572  0x00004ab5 set1  0x00000007 , 0x0000003f 
+ 00019573  0x00004ab6 hstore  0x00000001 , 0x00008023 
+ 00019574  0x00004ab7 ifetch  0x00000001 , 0x00000003 
+ 00019575  0x00004ab8 iadd  0x00000002 , 0x00000002 
+ 00019576  0x00004ab9 copy  0x0000003f , 0x00000039 
+ 00019577  0x00004aba rtn 
+ 00019578  0x00004abd bmark1  0x0000002b , 0x00004cc4 
+ 00019579  0x00004abe call  0x00004c6f 
+ 00019580  0x00004ac0 ifetch  0x00000001 , 0x00000003 
+ 00019581  0x00004ac1 hstore  0x00000001 , 0x00008025 
+ 00019582  0x00004ac2 iadd  0x00000002 , 0x00000002 
+ 00019583  0x00004ac3 loop  0x00004c7c 
+ 00019584  0x00004ac5 and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019585  0x00004ac6 ifetch  0x00000001 , 0x00000003 
+ 00019586  0x00004ac7 isub  0x00000002 , 0x0000003e 
+ 00019587  0x00004ac8 nbranch  0x00004cc4 , 0x00000005 
+ 00019588  0x00004ac9 branch  0x00004cdc 
+ 00019589  0x00004acd bmark0  0x0000002b , 0x00004cc4 
+ 00019590  0x00004ace call  0x00004c6f 
+ 00019591  0x00004acf store  0x00000008 , 0x00000a9a 
+ 00019592  0x00004ad1 call  0x00007422 
+ 00019593  0x00004ad2 arg  0x00000010 , 0x00000039 
+ 00019594  0x00004ad3 arg  0x00000ac2 , 0x00000005 
+ 00019595  0x00004ad4 call  0x00004ca0 
+ 00019596  0x00004ad5 storet  0x00000008 , 0x00000aa2 
+ 00019597  0x00004ad6 arg  0x00000ad2 , 0x00000005 
+ 00019598  0x00004ad7 call  0x00007497 
+ 00019599  0x00004ad8 arg  0x00000ad2 , 0x00000011 
+ 00019600  0x00004ad9 arg  0x00000ac2 , 0x00000012 
+ 00019601  0x00004ada arg  0x00000ae2 , 0x00000005 
+ 00019602  0x00004adb call  0x00007352 
+ 00019603  0x00004adc arg  0x00000010 , 0x00000039 
+ 00019604  0x00004add arg  0x00000ae2 , 0x00000006 
+ 00019605  0x00004ade call  0x00004c9c 
+ 00019606  0x00004adf fetcht  0x00000008 , 0x00000aa2 
+ 00019607  0x00004ae0 fetch  0x00000008 , 0x00000a9a 
+ 00019608  0x00004ae1 increase  0xfffffff0 , 0x0000003f 
+ 00019609  0x00004ae2 store  0x00000008 , 0x00000a9a 
+ 00019610  0x00004ae3 nbranch  0x00004c88 , 0x00000034 
+ 00019611  0x00004ae4 branch  0x00004c80 
+ 00019612  0x00004ae7 ifetch  0x00000001 , 0x00000006 
+ 00019613  0x00004ae8 hstore  0x00000001 , 0x00008025 
+ 00019614  0x00004ae9 loop  0x00004c9c 
+ 00019615  0x00004aea rtn 
+ 00019616  0x00004aed ifetch  0x00000001 , 0x00000003 
+ 00019617  0x00004aee istore  0x00000001 , 0x00000005 
+ 00019618  0x00004aef iadd  0x00000002 , 0x00000002 
+ 00019619  0x00004af0 loop  0x00004ca0 
+ 00019620  0x00004af1 rtn 
+ 00019621  0x00004af4 bmark0  0x0000002b , 0x00004cc4 
+ 00019622  0x00004af5 arg  0x00000000 , 0x00000002 
+ 00019623  0x00004af6 arg  0x00000010 , 0x00000039 
+ 00019624  0x00004af7 arg  0x00000ac2 , 0x00000005 
+ 00019625  0x00004af8 call  0x00004ca0 
+ 00019626  0x00004af9 hfetch  0x00000001 , 0x00008085 
+ 00019627  0x00004afa and_into  0x000000fd , 0x0000003f 
+ 00019628  0x00004afb hstore  0x00000001 , 0x00008085 
+ 00019629  0x00004afc arg  0x00000ac2 , 0x00000006 
+ 00019630  0x00004afd arg  0x00000010 , 0x00000039 
+ 00019631  0x00004afe call  0x00007478 
+ 00019632  0x00004aff call  0x00007428 
+ 00019633  0x00004b00 call  0x00007491 
+ 00019634  0x00004b01 branch  0x00004c80 
+ 00019635  0x00004b05 arg  0x00000020 , 0x00000039 
+ 00019636  0x00004b06 arg  0x00004000 , 0x00000005 
+ 00019637  0x00004b07 arg  0x00000000 , 0x00000002 
+ 00019638  0x00004b09 ifetch  0x00000001 , 0x00000003 
+ 00019639  0x00004b0a istore  0x00000001 , 0x00000005 
+ 00019640  0x00004b0b iadd  0x00000002 , 0x00000002 
+ 00019641  0x00004b0c loop  0x00004cb6 
+ 00019642  0x00004b0d and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019643  0x00004b0e ifetch  0x00000001 , 0x00000003 
+ 00019644  0x00004b0f isub  0x00000002 , 0x0000003e 
+ 00019645  0x00004b10 nbranch  0x00004cc4 , 0x00000005 
+ 00019646  0x00004b11 jam  0x00000000 , 0x00008023 
+ 00019647  0x00004b12 call  0x00004cdc 
+ 00019648  0x00004b13 call  0x00004be6 
+ 00019649  0x00004b14 call  0x000064a3 
+ 00019650  0x00004b15 call  0x00007f9e 
+ 00019651  0x00004b16 branch  0x00002001 
+ 00019652  0x00004b19 jam  0x00000000 , 0x00008023 
+ 00019653  0x00004b1a branch  0x00002000 
+ 00019654  0x00004b1d ifetch  0x00000006 , 0x00000003 
+ 00019655  0x00004b1e store  0x00000006 , 0x000040a0 
+ 00019656  0x00004b1f branch  0x00004cdc 
+ 00019657  0x00004b23 ifetch  0x00000001 , 0x00000003 
+ 00019658  0x00004b24 store  0x00000001 , 0x0000025a 
+ 00019659  0x00004b25 copy  0x0000003f , 0x00000039 
+ 00019660  0x00004b26 ifetch  0x00000002 , 0x00000003 
+ 00019661  0x00004b27 store  0x00000002 , 0x0000025b 
+ 00019662  0x00004b28 copy  0x0000003f , 0x00000005 
+ 00019663  0x00004b29 call  0x000066fd 
+ 00019664  0x00004b2a branch  0x00004cdc 
+ 00019665  0x00004b2e ifetch  0x00000001 , 0x00000003 
+ 00019666  0x00004b2f store  0x00000001 , 0x0000025a 
+ 00019667  0x00004b30 copy  0x0000003f , 0x00000039 
+ 00019668  0x00004b31 ifetch  0x00000002 , 0x00000003 
+ 00019669  0x00004b32 store  0x00000002 , 0x0000025b 
+ 00019670  0x00004b33 arg  0x00001000 , 0x00000005 
+ 00019671  0x00004b34 call  0x000066fd 
+ 00019672  0x00004b35 fetcht  0x00000001 , 0x0000025a 
+ 00019673  0x00004b36 arg  0x00001000 , 0x00000011 
+ 00019674  0x00004b37 fetch  0x00000002 , 0x0000025b 
+ 00019675  0x00004b38 branch  0x00006608 
+ 00019676  0x00004b3e force  0x00000004 , 0x00000039 
+ 00019677  0x00004b40 call  0x00004cf4 
+ 00019678  0x00004b41 force  0x00000001 , 0x0000003f 
+ 00019679  0x00004b42 istore  0x00000001 , 0x0000000a 
+ 00019680  0x00004b43 deposit  0x00000030 
+ 00019681  0x00004b44 istore  0x00000003 , 0x0000000a 
+ 00019682  0x00004b45 force  0x0000000e , 0x00000007 
+ 00019683  0x00004b47 bpatchx  0x00000004 , 0x00004020 
+ 00019684  0x00004b48 call  0x00004cf6 
+ 00019685  0x00004b49 deposit  0x00000007 
+ 00019686  0x00004b4a istore  0x00000001 , 0x0000000a 
+ 00019687  0x00004b4b deposit  0x00000039 
+ 00019688  0x00004b4c istore  0x00000001 , 0x0000000a 
+ 00019689  0x00004b4e force  0x00000005 , 0x00000007 
+ 00019690  0x00004b4f increase  0x00000002 , 0x00000039 
+ 00019691  0x00004b51 branch  0x00004bf9 
+ 00019692  0x00004b54 force  0x000000ff , 0x00000007 
+ 00019693  0x00004b55 call  0x00004cf4 
+ 00019694  0x00004b56 setarg  0x00000001 
+ 00019695  0x00004b57 istore  0x00000001 , 0x0000000a 
+ 00019696  0x00004b58 force  0x00000001 , 0x00000039 
+ 00019697  0x00004b59 branch  0x00004ce3 
+ 00019698  0x00004b5c force  0x0000000c , 0x0000000a 
+ 00019699  0x00004b5d branch  0x00004cf7 
+ 00019700  0x00004b60 force  0x00000008 , 0x0000000a 
+ 00019701  0x00004b61 branch  0x00004cf7 
+ 00019702  0x00004b64 force  0x00000006 , 0x0000000a 
+ 00019703  0x00004b66 branch  0x00004bf5 
+ 00019704  0x00004b6b pulse  0x0000000f 
+ 00019705  0x00004b6c enable  0x00000009 
+ 00019706  0x00004b6e ifetch  0x00000001 , 0x0000000a 
+ 00019707  0x00004b6f inject  0x00000000 , 0x00000008 
+ 00019708  0x00004b70 loop  0x00004cfa 
+ 00019709  0x00004b71 enable  0x00000008 
+ 00019710  0x00004b72 inject  0x00000000 , 0x00000010 
+ 00019711  0x00004b73 disable  0x00000008 
+ 00019712  0x00004b74 disable  0x00000009 
+ 00019713  0x00004b75 disable  0x0000000f 
+ 00019714  0x00004b76 byteswap  0x0000003f , 0x0000003f 
+ 00019715  0x00004b77 rtn 
+ 00019716  0x00004b7c jam  0x00000000 , 0x000041ce 
+ 00019717  0x00004b7d rtn 
+ 00019718  0x00004b7f fetch  0x00000006 , 0x000041d0 
+ 00019719  0x00004b80 fetcht  0x00000006 , 0x00000040 
+ 00019720  0x00004b81 isub  0x00000002 , 0x0000003e 
+ 00019721  0x00004b82 rtn 
+ 00019722  0x00004b88 fetch  0x00000001 , 0x0000004b 
+ 00019723  0x00004b89 bbit1  0x00000002 , 0x00004d0f 
+ 00019724  0x00004b8a call  0x000062ef 
+ 00019725  0x00004b8b jam  0x00000008 , 0x0000007c 
+ 00019726  0x00004b8c branch  0x00004d04 
+ 00019727  0x00004b8e set0  0x00000002 , 0x0000003f 
+ 00019728  0x00004b8f store  0x00000001 , 0x0000004b 
+ 00019729  0x00004b90 call  0x00006001 
+ 00019730  0x00004b91 setarg  0x00000000 
+ 00019731  0x00004b92 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00019732  0x00004b93 store  0x00000001 , 0x0000007f 
+ 00019733  0x00004b94 branch  0x00004d04 
+ 00019734  0x00004b95 rtn 
+ 00019735  0x00004b97 jam  0x00000017 , 0x0000007c 
+ 00019736  0x00004b98 arg  0x000004d9 , 0x00000005 
+ 00019737  0x00004b99 setarg  0x00000000 
+ 00019738  0x00004b9a isolate1  0x0000001b , 0x00000028 
+ 00019739  0x00004b9b setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00019740  0x00004b9c istore  0x00000001 , 0x00000005 
+ 00019741  0x00004b9d setarg  0x00000000 
+ 00019742  0x00004b9e istore  0x00000002 , 0x00000005 
+ 00019743  0x00004b9f fetch  0x00000002 , 0x000041e3 
+ 00019744  0x00004ba0 istore  0x00000002 , 0x00000005 
+ 00019745  0x00004ba1 fetch  0x00000001 , 0x000041e5 
+ 00019746  0x00004ba2 istore  0x00000002 , 0x00000005 
+ 00019747  0x00004ba3 fetch  0x00000001 , 0x000041e7 
+ 00019748  0x00004ba4 istore  0x00000002 , 0x00000005 
+ 00019749  0x00004ba5 branch  0x00004d04 
+ 00019750  0x00004ba8 jam  0x00000018 , 0x0000007c 
+ 00019751  0x00004ba9 branch  0x00004d04 
+ 00019752  0x00004bac call  0x00006899 
+ 00019753  0x00004bad rtn  0x00000001 
+ 00019754  0x00004bae arg  0x00000007 , 0x00000002 
+ 00019755  0x00004baf call  0x0000681d 
+ 00019756  0x00004bb0 nbranch  0x00004d2f , 0x00000001 
+ 00019757  0x00004bb1 jam  0x00000001 , 0x00004245 
+ 00019758  0x00004bb2 rtn 
+ 00019759  0x00004bb4 fetch  0x00000001 , 0x00004245 
+ 00019760  0x00004bb5 rtnne  0x00000001 
+ 00019761  0x00004bb6 call  0x00004c62 
+ 00019762  0x00004bb7 branch  0x00004cec 
+ 00019763  0x00004bc6 bpatchx  0x00000005 , 0x00004020 
+ 00019764  0x00004bc7 fetch  0x00000002 , 0x00000264 
+ 00019765  0x00004bc8 copy  0x0000003f , 0x00000006 
+ 00019766  0x00004bc9 ifetch  0x00000001 , 0x00000006 
+ 00019767  0x00004bca and  0x0000003f , 0x0000000f , 0x00000002 
+ 00019768  0x00004bcb rshift4  0x0000003f , 0x0000003f 
+ 00019769  0x00004bcc beq  0x00000009 , 0x00004d53 
+ 00019770  0x00004bcd beq  0x00000007 , 0x00004d53 
+ 00019771  0x00004bce beq  0x0000000a , 0x00004d5f 
+ 00019772  0x00004bcf beq  0x00000005 , 0x00004d4b 
+ 00019773  0x00004bd0 beq  0x00000001 , 0x00004d3f 
+ 00019774  0x00004bd1 rtn 
+ 00019775  0x00004bd4 copy  0x00000002 , 0x0000003f 
+ 00019776  0x00004bd5 beq  0x00000005 , 0x00004d43 
+ 00019777  0x00004bd6 beq  0x00000003 , 0x00004d4a 
+ 00019778  0x00004bd7 rtn 
+ 00019779  0x00004bda jam  0x00000027 , 0x00000a99 
+ 00019780  0x00004bdb call  0x00007d86 
+ 00019781  0x00004bdc fetch  0x00000001 , 0x00004092 
+ 00019782  0x00004bdd rtnbit0  0x00000006 
+ 00019783  0x00004bde copy  0x00000002 , 0x0000003f 
+ 00019784  0x00004bdf beq  0x00000005 , 0x0000438e 
+ 00019785  0x00004be0 rtn 
+ 00019786  0x00004be2 rtn 
+ 00019787  0x00004be5 call  0x00004d5f 
+ 00019788  0x00004be6 arg  0x00000001 , 0x00000011 
+ 00019789  0x00004be7 call  0x00004d63 
+ 00019790  0x00004be8 fetch  0x00000002 , 0x0000424c 
+ 00019791  0x00004be9 istore  0x00000002 , 0x00000005 
+ 00019792  0x00004bea setarg  0x00000000 
+ 00019793  0x00004beb istore  0x00000001 , 0x00000005 
+ 00019794  0x00004bec rtn 
+ 00019795  0x00004bef arg  0x00000001 , 0x00000011 
+ 00019796  0x00004bf0 call  0x00004d63 
+ 00019797  0x00004bf1 fetch  0x00000002 , 0x0000424c 
+ 00019798  0x00004bf2 istore  0x00000002 , 0x00000005 
+ 00019799  0x00004bf3 setarg  0x00000000 
+ 00019800  0x00004bf4 istore  0x00000001 , 0x00000005 
+ 00019801  0x00004bf5 jam  0x00000001 , 0x00000a8e 
+ 00019802  0x00004bf6 fetch  0x00000001 , 0x00004252 
+ 00019803  0x00004bf7 set1  0x00000006 
+ 00019804  0x00004bf8 store  0x00000001 , 0x00004252 
+ 00019805  0x00004bf9 jam  0x00000012 , 0x00000a99 
+ 00019806  0x00004bfa branch  0x00007d86 
+ 00019807  0x00004bfd ifetch  0x00000001 , 0x00000006 
+ 00019808  0x00004bfe beq  0x00000001 , 0x00004d62 
+ 00019809  0x00004bff rtn 
+ 00019810  0x00004c02 rtn 
+ 00019811  0x00004c06 call  0x00005240 
+ 00019812  0x00004c07 copy  0x00000011 , 0x00000002 
+ 00019813  0x00004c08 storet  0x00000001 , 0x00000a8e 
+ 00019814  0x00004c09 copy  0x0000003f , 0x00000005 
+ 00019815  0x00004c0a copy  0x00000011 , 0x0000003f 
+ 00019816  0x00004c0b istore  0x00000002 , 0x00000005 
+ 00019817  0x00004c0c rtn 
+ 00019818  0x00004c1e branch  0x00004d6f , 0x0000002b 
+ 00019819  0x00004c20 setarg  0x00004365 
+ 00019820  0x00004c21 arg  0x00004246 , 0x00000005 
+ 00019821  0x00004c22 isub  0x00000005 , 0x00000039 
+ 00019822  0x00004c23 call  0x00007ed4 
+ 00019823  0x00004c25 bpatchx  0x00000006 , 0x00004020 
+ 00019824  0x00004c26 setarg  0x00000551 
+ 00019825  0x00004c27 arg  0x00000511 , 0x00000005 
+ 00019826  0x00004c28 isub  0x00000005 , 0x00000039 
+ 00019827  0x00004c29 call  0x00007ed4 
+ 00019828  0x00004c2a setarg  0x000002c9 
+ 00019829  0x00004c2b arg  0x0000025d , 0x00000005 
+ 00019830  0x00004c2c isub  0x00000005 , 0x00000039 
+ 00019831  0x00004c2d call  0x00007ed4 
+ 00019832  0x00004c2e branch  0x00005318 
+ 00019833  0x00004c31 bpatchx  0x00000007 , 0x00004020 
+ 00019834  0x00004c32 copy  0x00000006 , 0x00000002 
+ 00019835  0x00004c35 copy  0x00000002 , 0x00000006 
+ 00019836  0x00004c36 ifetch  0x00000002 , 0x00000006 
+ 00019837  0x00004c37 store  0x00000002 , 0x00000266 
+ 00019838  0x00004c38 ifetch  0x00000002 , 0x00000006 
+ 00019839  0x00004c39 store  0x00000002 , 0x00000268 
+ 00019840  0x00004c3a deposit  0x00000006 
+ 00019841  0x00004c3b store  0x00000002 , 0x00000264 
+ 00019842  0x00004c3c fetch  0x00000001 , 0x00004681 
+ 00019843  0x00004c3d beq  0x00000000 , 0x00004d85 
+ 00019844  0x00004c3e branch  0x000050ef 
+ 00019845  0x00004c41 fetch  0x00000002 , 0x00000266 
+ 00019846  0x00004c42 branch  0x00004dfc , 0x00000034 
+ 00019847  0x00004c43 bpatchx  0x00000008 , 0x00004021 
+ 00019848  0x00004c44 fetch  0x00000001 , 0x00000268 
+ 00019849  0x00004c45 beq  0x00000001 , 0x00004d9d 
+ 00019850  0x00004c47 beq  0x00000050 , 0x00004de0 
+ 00019851  0x00004c48 beq  0x00000051 , 0x00004df5 
+ 00019852  0x00004c49 beq  0x00000052 , 0x00004df3 
+ 00019853  0x00004c4a beq  0x00000053 , 0x00004df3 
+ 00019854  0x00004c4b branch  0x00004dfc 
+ 00019855  0x00004c50 bpatchx  0x00000009 , 0x00004021 
+ 00019856  0x00004c51 call  0x0000527e 
+ 00019857  0x00004c52 fetch  0x00000001 , 0x00004256 
+ 00019858  0x00004c53 beq  0x00000000 , 0x00004d9b 
+ 00019859  0x00004c54 beq  0x00000001 , 0x00004d9b 
+ 00019860  0x00004c55 beq  0x00000002 , 0x00004d9b 
+ 00019861  0x00004c56 beq  0x00000003 , 0x00004d9b 
+ 00019862  0x00004c57 beq  0x00000081 , 0x00004d9b 
+ 00019863  0x00004c58 beq  0x000000c0 , 0x00004d9b 
+ 00019864  0x00004c59 beq  0x00000080 , 0x00004d9b 
+ 00019865  0x00004c5a beq  0x00000040 , 0x00004d9b 
+ 00019866  0x00004c5b rtn 
+ 00019867  0x00004c5e setarg  0x00000000 
+ 00019868  0x00004c5f rtn 
+ 00019869  0x00004c63 call  0x00004d8f 
+ 00019870  0x00004c64 nrtn  0x00000034 
+ 00019871  0x00004c66 call  0x000052b8 
+ 00019872  0x00004c67 call  0x00004e01 
+ 00019873  0x00004c68 fetcht  0x00000002 , 0x0000026f 
+ 00019874  0x00004c69 branch  0x00004dfb , 0x00000034 
+ 00019875  0x00004c6a call  0x000052c1 
+ 00019876  0x00004c6b fetch  0x00000002 , 0x0000026f 
+ 00019877  0x00004c6c istore  0x00000002 , 0x00000005 
+ 00019878  0x00004c6d force  0x00000001 , 0x0000003f 
+ 00019879  0x00004c6e istore  0x00000002 , 0x00000005 
+ 00019880  0x00004c6f branch  0x00004dfc 
+ 00019881  0x00004c72 fetch  0x00000001 , 0x00004364 
+ 00019882  0x00004c73 rtn  0x00000034 
+ 00019883  0x00004c74 copy  0x0000003f , 0x00000011 
+ 00019884  0x00004c75 bpatchx  0x0000000a , 0x00004021 
+ 00019885  0x00004c76 fetch  0x00000004 , 0x000002d5 
+ 00019886  0x00004c77 arg  0x00000100 , 0x00000002 
+ 00019887  0x00004c78 iadd  0x00000002 , 0x00000002 
+ 00019888  0x00004c79 copy  0x00000022 , 0x0000003f 
+ 00019889  0x00004c7a isub  0x00000002 , 0x0000003e 
+ 00019890  0x00004c7b nrtn  0x00000002 
+ 00019891  0x00004c7c jam  0x00000000 , 0x00004364 
+ 00019892  0x00004c7d copy  0x00000011 , 0x0000003f 
+ 00019893  0x00004c7e beq  0x00000050 , 0x00004db7 
+ 00019894  0x00004c7f branch  0x00002a8c 
+ 00019895  0x00004c81 arg  0x00000000 , 0x00000008 
+ 00019896  0x00004c82 call  0x000052b8 
+ 00019897  0x00004c83 call  0x00004e7a 
+ 00019898  0x00004c84 call  0x000052c3 
+ 00019899  0x00004c85 call  0x00007ea8 
+ 00019900  0x00004c86 call  0x00004ead 
+ 00019901  0x00004c87 call  0x000052c1 
+ 00019902  0x00004c89 setarg  0x0000000c 
+ 00019903  0x00004c8a istore  0x00000002 , 0x00000005 
+ 00019904  0x00004c8b force  0x00000001 , 0x0000003f 
+ 00019905  0x00004c8c istore  0x00000002 , 0x00000005 
+ 00019906  0x00004c8d branch  0x00004dfc 
+ 00019907  0x00004c92 bpatchx  0x0000000b , 0x00004021 
+ 00019908  0x00004c93 fetch  0x00000002 , 0x00000275 
+ 00019909  0x00004c94 increase  0x00000004 , 0x0000003f 
+ 00019910  0x00004c95 rshift4  0x0000003f , 0x0000003f 
+ 00019911  0x00004c96 rshift3  0x0000003f , 0x0000003f 
+ 00019912  0x00004c97 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00019913  0x00004c98 arg  0x00004260 , 0x00000006 
+ 00019914  0x00004c99 ifetch  0x00000003 , 0x00000006 
+ 00019915  0x00004c9a rtn  0x00000034 
+ 00019916  0x00004c9b store  0x00000003 , 0x00000ac2 
+ 00019917  0x00004c9c fetch  0x00000001 , 0x00000ac2 
+ 00019918  0x00004c9d copy  0x0000003f , 0x00000011 
+ 00019919  0x00004c9e call  0x00004dd3 
+ 00019920  0x00004c9f copy  0x00000012 , 0x0000003f 
+ 00019921  0x00004ca0 store  0x00000001 , 0x00004260 
+ 00019922  0x00004ca1 rtn 
+ 00019923  0x00004ca4 arg  0x00000000 , 0x00000007 
+ 00019924  0x00004ca5 arg  0x00000000 , 0x00000012 
+ 00019925  0x00004ca8 sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00019926  0x00004ca9 nrtn  0x00000002 
+ 00019927  0x00004caa qisolate1  0x00000011 
+ 00019928  0x00004cab branch  0x00004dda , 0x00000001 
+ 00019929  0x00004cac branch  0x00004dde 
+ 00019930  0x00004caf copy  0x00000002 , 0x0000003f 
+ 00019931  0x00004cb0 branch  0x00004dde , 0x00000034 
+ 00019932  0x00004cb1 qset1  0x00000012 
+ 00019933  0x00004cb2 increase  0xffffffff , 0x00000002 
+ 00019934  0x00004cb5 increase  0x00000001 , 0x00000007 
+ 00019935  0x00004cb6 branch  0x00004dd5 
+ 00019936  0x00004cb9 call  0x00005274 
+ 00019937  0x00004cba nrtn  0x00000034 
+ 00019938  0x00004cbb call  0x00004d8f 
+ 00019939  0x00004cbc nrtn  0x00000034 
+ 00019940  0x00004cbd call  0x000052c5 
+ 00019941  0x00004cbe call  0x00006e11 
+ 00019942  0x00004cbf call  0x00004dc3 
+ 00019943  0x00004cc0 branch  0x00004dec 
+ 00019944  0x00004cc4 call  0x00005274 
+ 00019945  0x00004cc5 nrtn  0x00000034 
+ 00019946  0x00004cc6 call  0x000052c5 
+ 00019947  0x00004cc7 call  0x00006e11 
+ 00019948  0x00004cc9 call  0x000052ce 
+ 00019949  0x00004cca fetch  0x00000002 , 0x00000275 
+ 00019950  0x00004ccb branch  0x00004dfb , 0x00000034 
+ 00019951  0x00004ccc istore  0x00000002 , 0x00000005 
+ 00019952  0x00004ccd fetch  0x00000002 , 0x00004248 
+ 00019953  0x00004cce istore  0x00000002 , 0x00000005 
+ 00019954  0x00004ccf branch  0x00004dfc 
+ 00019955  0x00004cd2 call  0x00004d33 
+ 00019956  0x00004cd3 branch  0x00004dfc 
+ 00019957  0x00004cd6 bpatchx  0x0000000c , 0x00004021 
+ 00019958  0x00004cd7 jam  0x00000000 , 0x00000284 
+ 00019959  0x00004cd8 call  0x00006a8a 
+ 00019960  0x00004cd9 fetch  0x00000001 , 0x00000284 
+ 00019961  0x00004cda rtneq  0x00000001 
+ 00019962  0x00004cdb branch  0x00004dfc 
+ 00019963  0x00004cdd call  0x00005264 
+ 00019964  0x00004ce0 setarg  0x00000000 
+ 00019965  0x00004ce1 store  0x00000002 , 0x00000266 
+ 00019966  0x00004ce2 store  0x00000002 , 0x00000268 
+ 00019967  0x00004ce3 jam  0x00000001 , 0x0000026a 
+ 00019968  0x00004ce4 rtn 
+ 00019969  0x00004ce7 bpatchx  0x0000000d , 0x00004021 
+ 00019970  0x00004ce8 call  0x000052c3 
+ 00019971  0x00004ce9 force  0x00000000 , 0x00000012 
+ 00019972  0x00004cea fetch  0x00000002 , 0x00000266 
+ 00019973  0x00004ceb copy  0x0000003f , 0x00000013 
+ 00019974  0x00004cec fetch  0x00000002 , 0x00000264 
+ 00019975  0x00004ced iforce  0x00000006 
+ 00019976  0x00004cef call  0x00004e10 
+ 00019977  0x00004cf0 deposit  0x00000013 
+ 00019978  0x00004cf1 increase  0xfffffffc , 0x00000013 
+ 00019979  0x00004cf2 increase  0xfffffffc , 0x0000003f 
+ 00019980  0x00004cf3 nbranch  0x00004e08 , 0x00000034 
+ 00019981  0x00004cf4 copy  0x00000012 , 0x0000003f 
+ 00019982  0x00004cf5 store  0x00000002 , 0x0000026f 
+ 00019983  0x00004cf6 rtn 
+ 00019984  0x00004cf9 bpatchx  0x0000000e , 0x00004021 
+ 00019985  0x00004cfa ifetch  0x00000001 , 0x00000006 
+ 00019986  0x00004cfb beq  0x00000001 , 0x00004e49 
+ 00019987  0x00004cfc beq  0x00000002 , 0x00004e51 
+ 00019988  0x00004cfd beq  0x00000003 , 0x00004ed5 
+ 00019989  0x00004cfe beq  0x00000004 , 0x00004f05 
+ 00019990  0x00004cff beq  0x00000005 , 0x00004fa2 
+ 00019991  0x00004d00 beq  0x00000006 , 0x00004fcb 
+ 00019992  0x00004d01 beq  0x00000007 , 0x0000501b 
+ 00019993  0x00004d02 beq  0x00000008 , 0x00005050 
+ 00019994  0x00004d03 beq  0x00000009 , 0x00005060 
+ 00019995  0x00004d04 beq  0x0000000a , 0x00004e1f 
+ 00019996  0x00004d05 beq  0x0000000b , 0x00005061 
+ 00019997  0x00004d06 call  0x00005062 
+ 00019998  0x00004d08 rtn 
+ 00019999  0x00004d0b ifetch  0x00000001 , 0x00000006 
+ 00020000  0x00004d0c copy  0x0000003f , 0x00000007 
+ 00020001  0x00004d0d ifetch  0x00000002 , 0x00000006 
+ 00020002  0x00004d0e copy  0x0000003f , 0x00000011 
+ 00020003  0x00004d0f copy  0x00000013 , 0x0000003f 
+ 00020004  0x00004d10 isub  0x00000011 , 0x00000013 
+ 00020005  0x00004d11 setarg  0x0000000b 
+ 00020006  0x00004d12 istore  0x00000001 , 0x00000005 
+ 00020007  0x00004d13 copy  0x00000007 , 0x0000003f 
+ 00020008  0x00004d14 istore  0x00000001 , 0x00000005 
+ 00020009  0x00004d15 ifetch  0x00000002 , 0x00000006 
+ 00020010  0x00004d17 beq  0x00000002 , 0x00004e2d 
+ 00020011  0x00004d18 beq  0x00000003 , 0x00004e33 
+ 00020012  0x00004d19 rtn 
+ 00020013  0x00004d1b setarg  0x00020008 
+ 00020014  0x00004d1c istore  0x00000006 , 0x00000005 
+ 00020015  0x00004d1d setarg  0x00000280 
+ 00020016  0x00004d1e istore  0x00000004 , 0x00000005 
+ 00020017  0x00004d1f force  0x0000000c , 0x0000003f 
+ 00020018  0x00004d20 branch  0x00004e38 
+ 00020019  0x00004d22 setarg  0x0003000c 
+ 00020020  0x00004d23 istore  0x00000006 , 0x00000005 
+ 00020021  0x00004d24 setarg  0x00000006 
+ 00020022  0x00004d25 istore  0x00000008 , 0x00000005 
+ 00020023  0x00004d26 force  0x00000010 , 0x0000003f 
+ 00020024  0x00004d28 iadd  0x00000012 , 0x00000012 
+ 00020025  0x00004d29 branch  0x00004e1e 
+ 00020026  0x00004d2c ifetch  0x00000001 , 0x00000006 
+ 00020027  0x00004d2d copy  0x0000003f , 0x00000007 
+ 00020028  0x00004d2e ifetch  0x00000002 , 0x00000006 
+ 00020029  0x00004d2f copy  0x0000003f , 0x00000011 
+ 00020030  0x00004d30 ifetch  0x00000002 , 0x00000006 
+ 00020031  0x00004d31 store  0x00000002 , 0x00000aa2 
+ 00020032  0x00004d32 copy  0x00000013 , 0x0000003f 
+ 00020033  0x00004d33 isub  0x00000011 , 0x00000013 
+ 00020034  0x00004d34 call  0x000052c3 
+ 00020035  0x00004d35 setarg  0x0000000b 
+ 00020036  0x00004d36 istore  0x00000001 , 0x00000005 
+ 00020037  0x00004d37 copy  0x00000007 , 0x0000003f 
+ 00020038  0x00004d38 istore  0x00000001 , 0x00000005 
+ 00020039  0x00004d39 fetch  0x00000002 , 0x00000aa2 
+ 00020040  0x00004d3a branch  0x00004e2a 
+ 00020041  0x00004d3f ifetch  0x00000001 , 0x00000006 
+ 00020042  0x00004d40 copy  0x0000003f , 0x00000007 
+ 00020043  0x00004d41 ifetch  0x00000002 , 0x00000006 
+ 00020044  0x00004d42 copy  0x0000003f , 0x00000011 
+ 00020045  0x00004d43 iadd  0x00000006 , 0x00000006 
+ 00020046  0x00004d44 copy  0x00000013 , 0x0000003f 
+ 00020047  0x00004d45 isub  0x00000011 , 0x00000013 
+ 00020048  0x00004d47 branch  0x00004e1e 
+ 00020049  0x00004d4a call  0x00007ea8 
+ 00020050  0x00004d4d call  0x00007ead 
+ 00020051  0x00004d4e arg  0x00000000 , 0x00000008 
+ 00020052  0x00004d4f ifetch  0x00000001 , 0x00000006 
+ 00020053  0x00004d50 copy  0x0000003f , 0x00000007 
+ 00020054  0x00004d51 ifetch  0x00000002 , 0x00000006 
+ 00020055  0x00004d52 copy  0x0000003f , 0x00000011 
+ 00020056  0x00004d53 ifetch  0x00000002 , 0x00000006 
+ 00020057  0x00004d54 copy  0x0000003f , 0x00000002 
+ 00020058  0x00004d55 ifetch  0x00000002 , 0x00000006 
+ 00020059  0x00004d56 copy  0x0000003f , 0x0000000b 
+ 00020060  0x00004d57 bpatchx  0x0000000f , 0x00004021 
+ 00020061  0x00004d58 copy  0x00000002 , 0x0000003f 
+ 00020062  0x00004d59 beq  0x00000001 , 0x00004e64 
+ 00020063  0x00004d5a beq  0x00000003 , 0x00004e86 
+ 00020064  0x00004d5b beq  0x00000011 , 0x00004e92 
+ 00020065  0x00004d5c beq  0x00000013 , 0x00004e9d 
+ 00020066  0x00004d5d call  0x00005062 
+ 00020067  0x00004d5e branch  0x00004ed4 
+ 00020068  0x00004d61 call  0x00007ea8 
+ 00020069  0x00004d62 arg  0x00000050 , 0x00000002 
+ 00020070  0x00004d63 fetch  0x00000002 , 0x00004248 
+ 00020071  0x00004d64 nbranch  0x00004ece , 0x00000034 
+ 00020072  0x00004d65 copy  0x0000000b , 0x0000003f 
+ 00020073  0x00004d66 store  0x00000002 , 0x00004248 
+ 00020074  0x00004d67 copy  0x00000022 , 0x0000003f 
+ 00020075  0x00004d68 store  0x00000004 , 0x000002d5 
+ 00020076  0x00004d69 call  0x00004e6e 
+ 00020077  0x00004d6a branch  0x00004ea9 
+ 00020078  0x00004d6d storet  0x00000002 , 0x000002d3 
+ 00020079  0x00004d6e deposit  0x0000000b 
+ 00020080  0x00004d6f store  0x00000002 , 0x000002c9 
+ 00020081  0x00004d70 deposit  0x00000011 
+ 00020082  0x00004d71 store  0x00000002 , 0x000002cb 
+ 00020083  0x00004d72 deposit  0x00000012 
+ 00020084  0x00004d73 store  0x00000002 , 0x000002cd 
+ 00020085  0x00004d74 deposit  0x00000013 
+ 00020086  0x00004d75 store  0x00000002 , 0x000002cf 
+ 00020087  0x00004d76 deposit  0x00000007 
+ 00020088  0x00004d77 store  0x00000002 , 0x000002d1 
+ 00020089  0x00004d78 rtn 
+ 00020090  0x00004d7b fetcht  0x00000002 , 0x000002d3 
+ 00020091  0x00004d7c fetch  0x00000002 , 0x000002c9 
+ 00020092  0x00004d7d copy  0x0000003f , 0x0000000b 
+ 00020093  0x00004d7e fetch  0x00000002 , 0x000002cb 
+ 00020094  0x00004d7f copy  0x0000003f , 0x00000011 
+ 00020095  0x00004d80 fetch  0x00000002 , 0x000002cd 
+ 00020096  0x00004d81 copy  0x0000003f , 0x00000012 
+ 00020097  0x00004d82 fetch  0x00000002 , 0x000002cf 
+ 00020098  0x00004d83 copy  0x0000003f , 0x00000013 
+ 00020099  0x00004d84 fetch  0x00000002 , 0x000002d1 
+ 00020100  0x00004d85 copy  0x0000003f , 0x00000007 
+ 00020101  0x00004d86 rtn 
+ 00020102  0x00004d89 call  0x00007ea8 
+ 00020103  0x00004d8a setarg  0x00000051 
+ 00020104  0x00004d8b arg  0x00000051 , 0x00000002 
+ 00020105  0x00004d8c fetch  0x00000002 , 0x0000424a 
+ 00020106  0x00004d8d nbranch  0x00004ece , 0x00000034 
+ 00020107  0x00004d8e copy  0x0000000b , 0x0000003f 
+ 00020108  0x00004d8f store  0x00000002 , 0x0000424a 
+ 00020109  0x00004d90 fetch  0x00000001 , 0x00004251 
+ 00020110  0x00004d91 set1  0x00000000 , 0x0000003f 
+ 00020111  0x00004d92 set1  0x00000001 , 0x0000003f 
+ 00020112  0x00004d93 store  0x00000001 , 0x00004251 
+ 00020113  0x00004d94 branch  0x00004eb1 
+ 00020114  0x00004d96 call  0x00007ea8 
+ 00020115  0x00004d97 arg  0x00000052 , 0x00000002 
+ 00020116  0x00004d98 fetch  0x00000002 , 0x0000424c 
+ 00020117  0x00004d99 nbranch  0x00004ece , 0x00000034 
+ 00020118  0x00004d9a copy  0x0000000b , 0x0000003f 
+ 00020119  0x00004d9b store  0x00000002 , 0x0000424c 
+ 00020120  0x00004d9c fetch  0x00000001 , 0x00004252 
+ 00020121  0x00004d9d set1  0x00000000 , 0x0000003f 
+ 00020122  0x00004d9e set1  0x00000001 , 0x0000003f 
+ 00020123  0x00004d9f store  0x00000001 , 0x00004252 
+ 00020124  0x00004da0 branch  0x00004eb1 
+ 00020125  0x00004da2 call  0x00007ea8 
+ 00020126  0x00004da3 deposit  0x0000001a 
+ 00020127  0x00004da4 arg  0x00000053 , 0x00000002 
+ 00020128  0x00004da5 fetch  0x00000002 , 0x0000424e 
+ 00020129  0x00004da6 nbranch  0x00004ece , 0x00000034 
+ 00020130  0x00004da7 copy  0x0000000b , 0x0000003f 
+ 00020131  0x00004da8 store  0x00000002 , 0x0000424e 
+ 00020132  0x00004da9 fetch  0x00000001 , 0x00004253 
+ 00020133  0x00004daa set1  0x00000000 , 0x0000003f 
+ 00020134  0x00004dab set1  0x00000001 , 0x0000003f 
+ 00020135  0x00004dac store  0x00000001 , 0x00004253 
+ 00020136  0x00004dad branch  0x00004eb1 
+ 00020137  0x00004db0 setarg  0x00000001 
+ 00020138  0x00004db1 store  0x00000002 , 0x0000027d 
+ 00020139  0x00004db2 jam  0x00000050 , 0x00004364 
+ 00020140  0x00004db3 branch  0x00004eb3 
+ 00020141  0x00004db5 fetch  0x00000001 , 0x00004250 
+ 00020142  0x00004db6 set1  0x00000000 , 0x0000003f 
+ 00020143  0x00004db7 set1  0x00000001 , 0x0000003f 
+ 00020144  0x00004db8 store  0x00000001 , 0x00004250 
+ 00020145  0x00004dba setarg  0x00000000 
+ 00020146  0x00004dbb store  0x00000002 , 0x0000027d 
+ 00020147  0x00004dbd bpatchx  0x00000010 , 0x00004022 
+ 00020148  0x00004dbe call  0x00007ead 
+ 00020149  0x00004dbf setarg  0x00000003 
+ 00020150  0x00004dc0 istore  0x00000001 , 0x00000005 
+ 00020151  0x00004dc1 copy  0x00000007 , 0x0000003f 
+ 00020152  0x00004dc2 istore  0x00000001 , 0x00000005 
+ 00020153  0x00004dc3 setarg  0x00000008 
+ 00020154  0x00004dc4 istore  0x00000002 , 0x00000005 
+ 00020155  0x00004dc5 copy  0x00000002 , 0x0000003f 
+ 00020156  0x00004dc6 istore  0x00000002 , 0x00000005 
+ 00020157  0x00004dc7 copy  0x0000000b , 0x0000003f 
+ 00020158  0x00004dc8 istore  0x00000002 , 0x00000005 
+ 00020159  0x00004dc9 fetch  0x00000002 , 0x0000027d 
+ 00020160  0x00004dca beq  0x00000001 , 0x00004ec9 
+ 00020161  0x00004dcb isolate0  0x00000000 , 0x00000008 
+ 00020162  0x00004dcc branch  0x00004ec4 , 0x00000001 
+ 00020163  0x00004dcd setarg  0x00000004 
+ 00020164  0x00004dcf istore  0x00000002 , 0x00000005 
+ 00020165  0x00004dd0 force  0x00000000 , 0x0000003f 
+ 00020166  0x00004dd1 istore  0x00000002 , 0x00000005 
+ 00020167  0x00004dd2 setarg  0x0000000c 
+ 00020168  0x00004dd3 branch  0x00004ed0 
+ 00020169  0x00004dd5 istore  0x00000002 , 0x00000005 
+ 00020170  0x00004dd6 force  0x00000002 , 0x0000003f 
+ 00020171  0x00004dd7 istore  0x00000002 , 0x00000005 
+ 00020172  0x00004dd8 setarg  0x0000000c 
+ 00020173  0x00004dd9 branch  0x00004ed0 
+ 00020174  0x00004ddc set1  0x00000000 , 0x00000008 
+ 00020175  0x00004ddd branch  0x00004eb1 
+ 00020176  0x00004ddf iadd  0x00000012 , 0x00000012 
+ 00020177  0x00004de0 copy  0x00000013 , 0x0000003f 
+ 00020178  0x00004de1 isub  0x00000011 , 0x00000013 
+ 00020179  0x00004de2 branch  0x00004ed4 
+ 00020180  0x00004de4 branch  0x00004e1e 
+ 00020181  0x00004de7 ifetch  0x00000001 , 0x00000006 
+ 00020182  0x00004de8 copy  0x0000003f , 0x00000007 
+ 00020183  0x00004de9 ifetch  0x00000002 , 0x00000006 
+ 00020184  0x00004dea copy  0x0000003f , 0x00000011 
+ 00020185  0x00004deb copy  0x00000013 , 0x0000003f 
+ 00020186  0x00004dec isub  0x00000011 , 0x00000013 
+ 00020187  0x00004ded ifetch  0x00000002 , 0x00000006 
+ 00020188  0x00004dee copy  0x0000003f , 0x0000000b 
+ 00020189  0x00004def ifetch  0x00000002 , 0x00000006 
+ 00020190  0x00004df0 copy  0x0000003f , 0x00000002 
+ 00020191  0x00004df1 bpatchx  0x00000011 , 0x00004022 
+ 00020192  0x00004df2 setarg  0x00000050 
+ 00020193  0x00004df3 isub  0x00000002 , 0x0000003e 
+ 00020194  0x00004df4 branch  0x00004eed , 0x00000005 
+ 00020195  0x00004df5 setarg  0x00000051 
+ 00020196  0x00004df6 isub  0x00000002 , 0x0000003e 
+ 00020197  0x00004df7 branch  0x00004ef3 , 0x00000005 
+ 00020198  0x00004df8 setarg  0x00000052 
+ 00020199  0x00004df9 isub  0x00000002 , 0x0000003e 
+ 00020200  0x00004dfa branch  0x00004eff , 0x00000005 
+ 00020201  0x00004dfb setarg  0x00000053 
+ 00020202  0x00004dfc isub  0x00000002 , 0x0000003e 
+ 00020203  0x00004dfd branch  0x00004ef9 , 0x00000005 
+ 00020204  0x00004dfe rtn 
+ 00020205  0x00004e01 copy  0x0000000b , 0x0000003f 
+ 00020206  0x00004e02 store  0x00000002 , 0x00004248 
+ 00020207  0x00004e03 fetch  0x00000001 , 0x00004250 
+ 00020208  0x00004e04 set1  0x00000001 , 0x0000003f 
+ 00020209  0x00004e05 store  0x00000001 , 0x00004250 
+ 00020210  0x00004e06 branch  0x00004e1e 
+ 00020211  0x00004e08 copy  0x0000000b , 0x0000003f 
+ 00020212  0x00004e09 store  0x00000002 , 0x0000424a 
+ 00020213  0x00004e0a fetch  0x00000001 , 0x00004251 
+ 00020214  0x00004e0b set1  0x00000001 , 0x0000003f 
+ 00020215  0x00004e0c store  0x00000001 , 0x00004251 
+ 00020216  0x00004e0d rtn 
+ 00020217  0x00004e0f copy  0x0000000b , 0x0000003f 
+ 00020218  0x00004e10 store  0x00000002 , 0x0000424c 
+ 00020219  0x00004e11 fetch  0x00000001 , 0x00004253 
+ 00020220  0x00004e12 set1  0x00000001 , 0x0000003f 
+ 00020221  0x00004e13 store  0x00000001 , 0x00004253 
+ 00020222  0x00004e14 rtn 
+ 00020223  0x00004e16 copy  0x0000000b , 0x0000003f 
+ 00020224  0x00004e17 store  0x00000002 , 0x0000424e 
+ 00020225  0x00004e18 fetch  0x00000001 , 0x00004252 
+ 00020226  0x00004e19 set1  0x00000001 , 0x0000003f 
+ 00020227  0x00004e1a store  0x00000001 , 0x00004252 
+ 00020228  0x00004e1b rtn 
+ 00020229  0x00004e1e ifetch  0x00000001 , 0x00000006 
+ 00020230  0x00004e1f copy  0x0000003f , 0x00000007 
+ 00020231  0x00004e20 ifetch  0x00000002 , 0x00000006 
+ 00020232  0x00004e21 copy  0x0000003f , 0x00000011 
+ 00020233  0x00004e22 copy  0x00000013 , 0x0000003f 
+ 00020234  0x00004e23 isub  0x00000011 , 0x00000013 
+ 00020235  0x00004e24 ifetch  0x00000002 , 0x00000006 
+ 00020236  0x00004e25 copy  0x0000003f , 0x00000002 
+ 00020237  0x00004e26 copy  0x00000002 , 0x00000011 
+ 00020238  0x00004e27 bpatchx  0x00000012 , 0x00004022 
+ 00020239  0x00004e28 setarg  0x00000050 
+ 00020240  0x00004e29 isub  0x00000002 , 0x0000003e 
+ 00020241  0x00004e2a branch  0x00004f1c , 0x00000005 
+ 00020242  0x00004e2b setarg  0x00000051 
+ 00020243  0x00004e2c isub  0x00000002 , 0x0000003e 
+ 00020244  0x00004e2d branch  0x00004f3a , 0x00000005 
+ 00020245  0x00004e2e setarg  0x00000052 
+ 00020246  0x00004e2f isub  0x00000002 , 0x0000003e 
+ 00020247  0x00004e30 branch  0x00004f26 , 0x00000005 
+ 00020248  0x00004e31 setarg  0x00000053 
+ 00020249  0x00004e32 isub  0x00000002 , 0x0000003e 
+ 00020250  0x00004e33 branch  0x00004f30 , 0x00000005 
+ 00020251  0x00004e34 branch  0x00005062 
+ 00020252  0x00004e37 copy  0x00000005 , 0x0000000b 
+ 00020253  0x00004e38 fetch  0x00000001 , 0x00004250 
+ 00020254  0x00004e39 set1  0x00000004 , 0x0000003f 
+ 00020255  0x00004e3a set1  0x00000003 , 0x0000003f 
+ 00020256  0x00004e3c store  0x00000001 , 0x00004250 
+ 00020257  0x00004e3d copy  0x0000000b , 0x00000005 
+ 00020258  0x00004e3e arg  0x00000050 , 0x0000000b 
+ 00020259  0x00004e3f fetch  0x00000002 , 0x00004248 
+ 00020260  0x00004e40 copy  0x0000003f , 0x00000002 
+ 00020261  0x00004e41 branch  0x00004f43 
+ 00020262  0x00004e43 copy  0x00000005 , 0x0000000b 
+ 00020263  0x00004e44 fetch  0x00000001 , 0x00004252 
+ 00020264  0x00004e45 set1  0x00000004 , 0x0000003f 
+ 00020265  0x00004e46 set1  0x00000003 , 0x0000003f 
+ 00020266  0x00004e48 store  0x00000001 , 0x00004252 
+ 00020267  0x00004e49 copy  0x0000000b , 0x00000005 
+ 00020268  0x00004e4a arg  0x00000052 , 0x0000000b 
+ 00020269  0x00004e4b fetch  0x00000002 , 0x0000424c 
+ 00020270  0x00004e4c copy  0x0000003f , 0x00000002 
+ 00020271  0x00004e4d branch  0x00004f43 
+ 00020272  0x00004e4f copy  0x00000005 , 0x0000000b 
+ 00020273  0x00004e50 fetch  0x00000001 , 0x00004253 
+ 00020274  0x00004e51 set1  0x00000004 , 0x0000003f 
+ 00020275  0x00004e52 set1  0x00000003 , 0x0000003f 
+ 00020276  0x00004e54 store  0x00000001 , 0x00004253 
+ 00020277  0x00004e55 copy  0x0000000b , 0x00000005 
+ 00020278  0x00004e56 arg  0x00000053 , 0x0000000b 
+ 00020279  0x00004e57 fetch  0x00000002 , 0x0000424e 
+ 00020280  0x00004e58 copy  0x0000003f , 0x00000002 
+ 00020281  0x00004e59 branch  0x00004f43 
+ 00020282  0x00004e5b copy  0x00000005 , 0x0000000b 
+ 00020283  0x00004e5c fetch  0x00000001 , 0x00004251 
+ 00020284  0x00004e5d set1  0x00000004 , 0x0000003f 
+ 00020285  0x00004e5e set1  0x00000003 , 0x0000003f 
+ 00020286  0x00004e60 store  0x00000001 , 0x00004251 
+ 00020287  0x00004e62 copy  0x0000000b , 0x00000005 
+ 00020288  0x00004e63 arg  0x00000051 , 0x0000000b 
+ 00020289  0x00004e64 fetch  0x00000002 , 0x0000424a 
+ 00020290  0x00004e65 copy  0x0000003f , 0x00000002 
+ 00020291  0x00004e67 bpatchx  0x00000013 , 0x00004022 
+ 00020292  0x00004e68 setarg  0x00000005 
+ 00020293  0x00004e69 istore  0x00000001 , 0x00000005 
+ 00020294  0x00004e6a copy  0x00000007 , 0x0000003f 
+ 00020295  0x00004e6b istore  0x00000001 , 0x00000005 
+ 00020296  0x00004e6c setarg  0x00000006 
+ 00020297  0x00004e6d istore  0x00000002 , 0x00000005 
+ 00020298  0x00004e6e copy  0x00000002 , 0x0000003f 
+ 00020299  0x00004e6f istore  0x00000002 , 0x00000005 
+ 00020300  0x00004e70 force  0x00000000 , 0x0000003f 
+ 00020301  0x00004e71 istore  0x00000002 , 0x00000005 
+ 00020302  0x00004e72 force  0x00000000 , 0x0000003f 
+ 00020303  0x00004e73 istore  0x00000002 , 0x00000005 
+ 00020304  0x00004e74 force  0x0000000a , 0x0000003f 
+ 00020305  0x00004e75 iadd  0x00000012 , 0x00000012 
+ 00020306  0x00004e77 storet  0x00000002 , 0x00000282 
+ 00020307  0x00004e78 copy  0x00000007 , 0x0000003f 
+ 00020308  0x00004e79 store  0x00000001 , 0x00000281 
+ 00020309  0x00004e7a force  0x00000050 , 0x0000003f 
+ 00020310  0x00004e7b icompare  0x000000ff , 0x0000000b 
+ 00020311  0x00004e7c branch  0x00004f59 , 0x00000001 
+ 00020312  0x00004e7d increase  0x00000001 , 0x0000003f 
+ 00020313  0x00004e80 rtn 
+ 00020314  0x00004e82 disable  0x00000028 
+ 00020315  0x00004e83 rtnbit1  0x00000002 , 0x0000003f 
+ 00020316  0x00004e84 rtnbit0  0x00000000 , 0x0000003f 
+ 00020317  0x00004e85 rtnbit0  0x00000001 , 0x0000003f 
+ 00020318  0x00004e86 set1  0x00000002 , 0x0000003f 
+ 00020319  0x00004e87 copy  0x00000006 , 0x00000005 
+ 00020320  0x00004e88 increase  0xffffffff , 0x00000005 
+ 00020321  0x00004e89 istore  0x00000001 , 0x00000005 
+ 00020322  0x00004e8a enable  0x00000028 
+ 00020323  0x00004e8b rtn 
+ 00020324  0x00004e8e fetch  0x00000001 , 0x00004250 
+ 00020325  0x00004e8f call  0x00004f5a 
+ 00020326  0x00004e90 nbranch  0x00004f6b , 0x00000028 
+ 00020327  0x00004e91 jam  0x00000050 , 0x00000280 
+ 00020328  0x00004e92 fetch  0x00000002 , 0x00004248 
+ 00020329  0x00004e93 store  0x00000002 , 0x00000282 
+ 00020330  0x00004e94 branch  0x00004f7f 
+ 00020331  0x00004e96 fetch  0x00000001 , 0x00004251 
+ 00020332  0x00004e97 call  0x00004f5a 
+ 00020333  0x00004e98 nbranch  0x00004f72 , 0x00000028 
+ 00020334  0x00004e99 jam  0x00000051 , 0x00000280 
+ 00020335  0x00004e9a fetch  0x00000002 , 0x0000424a 
+ 00020336  0x00004e9b store  0x00000002 , 0x00000282 
+ 00020337  0x00004e9c branch  0x00004f7f 
+ 00020338  0x00004e9e fetch  0x00000001 , 0x00004252 
+ 00020339  0x00004e9f call  0x00004f5a 
+ 00020340  0x00004ea0 nbranch  0x00004f79 , 0x00000028 
+ 00020341  0x00004ea1 jam  0x00000052 , 0x00000280 
+ 00020342  0x00004ea2 fetch  0x00000002 , 0x0000424c 
+ 00020343  0x00004ea3 store  0x00000002 , 0x00000282 
+ 00020344  0x00004ea4 branch  0x00004f7f 
+ 00020345  0x00004ea6 fetch  0x00000001 , 0x00004253 
+ 00020346  0x00004ea7 call  0x00004f5a 
+ 00020347  0x00004ea8 nrtn  0x00000028 
+ 00020348  0x00004ea9 jam  0x00000053 , 0x00000280 
+ 00020349  0x00004eaa fetch  0x00000002 , 0x0000424e 
+ 00020350  0x00004eab store  0x00000002 , 0x00000282 
+ 00020351  0x00004eaf bpatchx  0x00000014 , 0x00004022 
+ 00020352  0x00004eb0 call  0x0000523a 
+ 00020353  0x00004eb1 call  0x000052b8 
+ 00020354  0x00004eb2 force  0x00000000 , 0x00000012 
+ 00020355  0x00004eb3 call  0x000052c3 
+ 00020356  0x00004eb4 force  0x00000004 , 0x0000003f 
+ 00020357  0x00004eb5 istore  0x00000001 , 0x00000005 
+ 00020358  0x00004eb6 fetch  0x00000001 , 0x00004255 
+ 00020359  0x00004eb7 istore  0x00000001 , 0x00000005 
+ 00020360  0x00004eb8 setarg  0x00000008 
+ 00020361  0x00004eb9 istore  0x00000002 , 0x00000005 
+ 00020362  0x00004eba fetch  0x00000002 , 0x00000282 
+ 00020363  0x00004ebb istore  0x00000002 , 0x00000005 
+ 00020364  0x00004ebc setarg  0x00000000 
+ 00020365  0x00004ebd istore  0x00000002 , 0x00000005 
+ 00020366  0x00004ebe force  0x00000001 , 0x0000003f 
+ 00020367  0x00004ebf istore  0x00000001 , 0x00000005 
+ 00020368  0x00004ec0 force  0x00000002 , 0x0000003f 
+ 00020369  0x00004ec1 istore  0x00000001 , 0x00000005 
+ 00020370  0x00004ec2 fetch  0x00000001 , 0x00000280 
+ 00020371  0x00004ec3 beq  0x00000051 , 0x00004f97 
+ 00020372  0x00004ec4 setarg  0x00000030 
+ 00020373  0x00004ec5 istore  0x00000002 , 0x00000005 
+ 00020374  0x00004ec6 branch  0x00004f99 
+ 00020375  0x00004ec8 setarg  0x000003e3 
+ 00020376  0x00004ec9 istore  0x00000002 , 0x00000005 
+ 00020377  0x00004ecb arg  0x0000000c , 0x00000002 
+ 00020378  0x00004ecc storet  0x00000002 , 0x0000026f 
+ 00020379  0x00004ecd call  0x000052c1 
+ 00020380  0x00004ece fetch  0x00000002 , 0x0000026f 
+ 00020381  0x00004ecf istore  0x00000002 , 0x00000005 
+ 00020382  0x00004ed0 force  0x00000001 , 0x0000003f 
+ 00020383  0x00004ed1 istore  0x00000002 , 0x00000005 
+ 00020384  0x00004ed2 jam  0x00000000 , 0x00000280 
+ 00020385  0x00004ed4 branch  0x00004e1e 
+ 00020386  0x00004ed7 increase  0x00000001 , 0x00000006 
+ 00020387  0x00004ed8 ifetch  0x00000002 , 0x00000006 
+ 00020388  0x00004ed9 copy  0x0000003f , 0x00000011 
+ 00020389  0x00004eda copy  0x00000013 , 0x0000003f 
+ 00020390  0x00004edb isub  0x00000011 , 0x00000013 
+ 00020391  0x00004edc ifetch  0x00000002 , 0x00000006 
+ 00020392  0x00004edd copy  0x0000003f , 0x00000011 
+ 00020393  0x00004ede bpatchx  0x00000015 , 0x00004022 
+ 00020394  0x00004edf setarg  0x00000050 
+ 00020395  0x00004ee0 isub  0x00000011 , 0x0000003e 
+ 00020396  0x00004ee1 branch  0x00004fba , 0x00000005 
+ 00020397  0x00004ee2 setarg  0x00000051 
+ 00020398  0x00004ee3 isub  0x00000011 , 0x0000003e 
+ 00020399  0x00004ee4 branch  0x00004fbe , 0x00000005 
+ 00020400  0x00004ee5 setarg  0x00000052 
+ 00020401  0x00004ee6 isub  0x00000011 , 0x0000003e 
+ 00020402  0x00004ee7 branch  0x00004fc2 , 0x00000005 
+ 00020403  0x00004ee8 setarg  0x00000053 
+ 00020404  0x00004ee9 isub  0x00000011 , 0x0000003e 
+ 00020405  0x00004eea branch  0x00004fc6 , 0x00000005 
+ 00020406  0x00004eeb increase  0x00000002 , 0x00000006 
+ 00020407  0x00004eec ifetch  0x00000002 , 0x00000006 
+ 00020408  0x00004eed iforce  0x0000003e 
+ 00020409  0x00004eee branch  0x00004e1e 
+ 00020410  0x00004ef0 fetch  0x00000001 , 0x00004250 
+ 00020411  0x00004ef1 set1  0x00000005 , 0x0000003f 
+ 00020412  0x00004ef2 store  0x00000001 , 0x00004250 
+ 00020413  0x00004ef3 branch  0x00004e1e 
+ 00020414  0x00004ef5 fetch  0x00000001 , 0x00004251 
+ 00020415  0x00004ef6 set1  0x00000005 , 0x0000003f 
+ 00020416  0x00004ef7 store  0x00000001 , 0x00004251 
+ 00020417  0x00004ef8 branch  0x00004e1e 
+ 00020418  0x00004efa fetch  0x00000001 , 0x00004252 
+ 00020419  0x00004efb set1  0x00000005 , 0x0000003f 
+ 00020420  0x00004efc store  0x00000001 , 0x00004252 
+ 00020421  0x00004efd branch  0x00004e1e 
+ 00020422  0x00004eff fetch  0x00000001 , 0x00004253 
+ 00020423  0x00004f00 set1  0x00000005 , 0x0000003f 
+ 00020424  0x00004f01 store  0x00000001 , 0x00004253 
+ 00020425  0x00004f02 jam  0x00000006 , 0x00000a99 
+ 00020426  0x00004f03 branch  0x00007d86 
+ 00020427  0x00004f08 ifetch  0x00000001 , 0x00000006 
+ 00020428  0x00004f09 copy  0x0000003f , 0x00000007 
+ 00020429  0x00004f0a ifetch  0x00000002 , 0x00000006 
+ 00020430  0x00004f0b copy  0x0000003f , 0x00000011 
+ 00020431  0x00004f0c copy  0x00000013 , 0x0000003f 
+ 00020432  0x00004f0d isub  0x00000011 , 0x00000013 
+ 00020433  0x00004f0e ifetch  0x00000002 , 0x00000006 
+ 00020434  0x00004f0f copy  0x0000003f , 0x00000011 
+ 00020435  0x00004f10 ifetch  0x00000002 , 0x00000006 
+ 00020436  0x00004f11 copy  0x0000003f , 0x0000000b 
+ 00020437  0x00004f12 copy  0x00000011 , 0x00000002 
+ 00020438  0x00004f13 call  0x00007ea8 
+ 00020439  0x00004f14 bpatchx  0x00000016 , 0x00004022 
+ 00020440  0x00004f15 setarg  0x00000050 
+ 00020441  0x00004f16 isub  0x00000002 , 0x0000003e 
+ 00020442  0x00004f17 branch  0x00004ff2 , 0x00000005 
+ 00020443  0x00004f18 setarg  0x00000051 
+ 00020444  0x00004f19 isub  0x00000002 , 0x0000003e 
+ 00020445  0x00004f1a branch  0x00005002 , 0x00000005 
+ 00020446  0x00004f1b setarg  0x00000052 
+ 00020447  0x00004f1c isub  0x00000002 , 0x0000003e 
+ 00020448  0x00004f1d branch  0x00004fe6 , 0x00000005 
+ 00020449  0x00004f1e setarg  0x00000053 
+ 00020450  0x00004f1f isub  0x00000002 , 0x0000003e 
+ 00020451  0x00004f20 branch  0x00004fec , 0x00000005 
+ 00020452  0x00004f21 call  0x00005062 
+ 00020453  0x00004f22 branch  0x00005017 
+ 00020454  0x00004f24 copy  0x0000000b , 0x00000002 
+ 00020455  0x00004f25 fetch  0x00000002 , 0x0000424c 
+ 00020456  0x00004f26 isub  0x00000002 , 0x0000003e 
+ 00020457  0x00004f27 branch  0x00004ff8 , 0x00000005 
+ 00020458  0x00004f28 call  0x00005062 
+ 00020459  0x00004f29 branch  0x00005017 
+ 00020460  0x00004f2b copy  0x0000000b , 0x00000002 
+ 00020461  0x00004f2c fetch  0x00000002 , 0x0000424e 
+ 00020462  0x00004f2d isub  0x00000002 , 0x0000003e 
+ 00020463  0x00004f2e branch  0x00004ffa , 0x00000005 
+ 00020464  0x00004f2f call  0x00005062 
+ 00020465  0x00004f30 branch  0x00005017 
+ 00020466  0x00004f33 copy  0x0000000b , 0x00000002 
+ 00020467  0x00004f34 fetch  0x00000002 , 0x00004248 
+ 00020468  0x00004f35 isub  0x00000002 , 0x0000003e 
+ 00020469  0x00004f36 branch  0x00004ffe , 0x00000005 
+ 00020470  0x00004f37 call  0x00005062 
+ 00020471  0x00004f38 branch  0x00005017 
+ 00020472  0x00004f3a call  0x00005079 
+ 00020473  0x00004f3b branch  0x0000500a 
+ 00020474  0x00004f3d call  0x0000507f 
+ 00020475  0x00004f3e fetch  0x00000002 , 0x0000424c 
+ 00020476  0x00004f3f branch  0x0000500a , 0x00000034 
+ 00020477  0x00004f47 branch  0x0000500a 
+ 00020478  0x00004f4a call  0x00005074 
+ 00020479  0x00004f4b fetch  0x00000001 , 0x00000288 
+ 00020480  0x00004f4c nbranch  0x0000500a , 0x00000034 
+ 00020481  0x00004f4f branch  0x0000500a 
+ 00020482  0x00004f51 copy  0x0000000b , 0x00000002 
+ 00020483  0x00004f52 fetch  0x00000002 , 0x0000424a 
+ 00020484  0x00004f53 isub  0x00000002 , 0x0000003e 
+ 00020485  0x00004f54 branch  0x00005008 , 0x00000005 
+ 00020486  0x00004f55 call  0x00005062 
+ 00020487  0x00004f56 branch  0x00005017 
+ 00020488  0x00004f58 call  0x0000506f 
+ 00020489  0x00004f59 branch  0x0000500a 
+ 00020490  0x00004f5b call  0x00007ead 
+ 00020491  0x00004f5c setarg  0x00000007 
+ 00020492  0x00004f5d istore  0x00000001 , 0x00000005 
+ 00020493  0x00004f5e copy  0x00000007 , 0x0000003f 
+ 00020494  0x00004f5f istore  0x00000001 , 0x00000005 
+ 00020495  0x00004f60 setarg  0x00000004 
+ 00020496  0x00004f61 istore  0x00000002 , 0x00000005 
+ 00020497  0x00004f62 copy  0x00000011 , 0x0000003f 
+ 00020498  0x00004f63 istore  0x00000002 , 0x00000005 
+ 00020499  0x00004f64 copy  0x0000000b , 0x0000003f 
+ 00020500  0x00004f65 istore  0x00000002 , 0x00000005 
+ 00020501  0x00004f66 force  0x00000008 , 0x0000003f 
+ 00020502  0x00004f67 branch  0x00005019 
+ 00020503  0x00004f69 call  0x00007ead 
+ 00020504  0x00004f6a branch  0x00005019 
+ 00020505  0x00004f6c iadd  0x00000012 , 0x00000012 
+ 00020506  0x00004f6d branch  0x00004e1e 
+ 00020507  0x00004f6f ifetch  0x00000001 , 0x00000006 
+ 00020508  0x00004f70 copy  0x0000003f , 0x00000007 
+ 00020509  0x00004f71 ifetch  0x00000002 , 0x00000006 
+ 00020510  0x00004f72 copy  0x0000003f , 0x00000011 
+ 00020511  0x00004f73 copy  0x00000013 , 0x0000003f 
+ 00020512  0x00004f74 isub  0x00000011 , 0x00000013 
+ 00020513  0x00004f75 ifetch  0x00000002 , 0x00000006 
+ 00020514  0x00004f76 copy  0x0000003f , 0x0000000b 
+ 00020515  0x00004f77 ifetch  0x00000002 , 0x00000006 
+ 00020516  0x00004f78 copy  0x0000003f , 0x00000002 
+ 00020517  0x00004f79 call  0x00007ea8 
+ 00020518  0x00004f7a bpatchx  0x00000017 , 0x00004022 
+ 00020519  0x00004f7b setarg  0x00000050 
+ 00020520  0x00004f7c isub  0x00000002 , 0x0000003e 
+ 00020521  0x00004f7d branch  0x00005035 , 0x00000005 
+ 00020522  0x00004f7e setarg  0x00000051 
+ 00020523  0x00004f7f isub  0x00000002 , 0x0000003e 
+ 00020524  0x00004f80 branch  0x0000503b , 0x00000005 
+ 00020525  0x00004f81 setarg  0x00000052 
+ 00020526  0x00004f82 isub  0x00000002 , 0x0000003e 
+ 00020527  0x00004f83 branch  0x00005041 , 0x00000005 
+ 00020528  0x00004f84 setarg  0x00000053 
+ 00020529  0x00004f85 isub  0x00000002 , 0x0000003e 
+ 00020530  0x00004f86 branch  0x00005047 , 0x00000005 
+ 00020531  0x00004f87 call  0x00005062 
+ 00020532  0x00004f88 branch  0x0000504f 
+ 00020533  0x00004f8a copy  0x00000002 , 0x00000011 
+ 00020534  0x00004f8b copy  0x0000000b , 0x00000002 
+ 00020535  0x00004f8c fetch  0x00000002 , 0x00004248 
+ 00020536  0x00004f8d isub  0x00000002 , 0x0000003e 
+ 00020537  0x00004f8e call  0x00005074 , 0x00000005 
+ 00020538  0x00004f8f branch  0x0000504d 
+ 00020539  0x00004f91 copy  0x00000002 , 0x00000011 
+ 00020540  0x00004f92 copy  0x0000000b , 0x00000002 
+ 00020541  0x00004f93 fetch  0x00000002 , 0x0000424a 
+ 00020542  0x00004f94 isub  0x00000002 , 0x0000003e 
+ 00020543  0x00004f95 call  0x0000506f , 0x00000005 
+ 00020544  0x00004f96 branch  0x0000504d 
+ 00020545  0x00004f98 copy  0x00000002 , 0x00000011 
+ 00020546  0x00004f99 copy  0x0000000b , 0x00000002 
+ 00020547  0x00004f9a fetch  0x00000002 , 0x0000424c 
+ 00020548  0x00004f9b isub  0x00000002 , 0x0000003e 
+ 00020549  0x00004f9c call  0x00005079 , 0x00000005 
+ 00020550  0x00004f9d branch  0x0000504d 
+ 00020551  0x00004f9f copy  0x00000002 , 0x00000011 
+ 00020552  0x00004fa0 copy  0x0000000b , 0x00000002 
+ 00020553  0x00004fa1 fetch  0x00000002 , 0x0000424e 
+ 00020554  0x00004fa2 isub  0x00000002 , 0x0000003e 
+ 00020555  0x00004fa3 call  0x0000507f , 0x00000005 
+ 00020556  0x00004fa4 branch  0x0000504d 
+ 00020557  0x00004fa6 call  0x00007ead 
+ 00020558  0x00004fa7 branch  0x00004e1e 
+ 00020559  0x00004fa9 branch  0x00004e1e 
+ 00020560  0x00004fad ifetch  0x00000001 , 0x00000006 
+ 00020561  0x00004fae copy  0x0000003f , 0x00000007 
+ 00020562  0x00004faf ifetch  0x00000002 , 0x00000006 
+ 00020563  0x00004fb0 copy  0x0000003f , 0x00000011 
+ 00020564  0x00004fb1 iadd  0x00000006 , 0x00000006 
+ 00020565  0x00004fb2 setarg  0x00000009 
+ 00020566  0x00004fb3 istore  0x00000001 , 0x00000005 
+ 00020567  0x00004fb4 copy  0x00000007 , 0x0000003f 
+ 00020568  0x00004fb5 istore  0x00000001 , 0x00000005 
+ 00020569  0x00004fb6 force  0x00000000 , 0x0000003f 
+ 00020570  0x00004fb7 istore  0x00000002 , 0x00000005 
+ 00020571  0x00004fb8 force  0x00000004 , 0x0000003f 
+ 00020572  0x00004fb9 iadd  0x00000012 , 0x00000012 
+ 00020573  0x00004fba copy  0x00000013 , 0x0000003f 
+ 00020574  0x00004fbb isub  0x00000011 , 0x00000013 
+ 00020575  0x00004fbc branch  0x00004e1e 
+ 00020576  0x00004fbe branch  0x00004e1e 
+ 00020577  0x00004fc1 branch  0x00004e1e 
+ 00020578  0x00004fc3 force  0x00000000 , 0x00000012 
+ 00020579  0x00004fc4 call  0x000052c3 
+ 00020580  0x00004fc5 setarg  0x00000001 
+ 00020581  0x00004fc6 istore  0x00000001 , 0x00000005 
+ 00020582  0x00004fc7 copy  0x00000007 , 0x0000003f 
+ 00020583  0x00004fc8 istore  0x00000001 , 0x00000005 
+ 00020584  0x00004fc9 setarg  0x00000002 
+ 00020585  0x00004fca istore  0x00000002 , 0x00000005 
+ 00020586  0x00004fcb setarg  0x00000000 
+ 00020587  0x00004fcc istore  0x00000002 , 0x00000005 
+ 00020588  0x00004fcd increase  0x00000006 , 0x00000012 
+ 00020589  0x00004fce arg  0x00000004 , 0x00000013 
+ 00020590  0x00004fcf branch  0x00004e1e 
+ 00020591  0x00004fd4 setarg  0x00000000 
+ 00020592  0x00004fd5 store  0x00000002 , 0x0000027b 
+ 00020593  0x00004fd6 store  0x00000002 , 0x0000424a 
+ 00020594  0x00004fd7 jam  0x00000000 , 0x00004251 
+ 00020595  0x00004fd8 rtn 
+ 00020596  0x00004fda setarg  0x00000000 
+ 00020597  0x00004fdb store  0x00000002 , 0x00000275 
+ 00020598  0x00004fdc store  0x00000002 , 0x00004248 
+ 00020599  0x00004fdd jam  0x00000000 , 0x00004250 
+ 00020600  0x00004fde rtn 
+ 00020601  0x00004fe0 setarg  0x00000000 
+ 00020602  0x00004fe1 store  0x00000002 , 0x0000424c 
+ 00020603  0x00004fe2 jam  0x00000000 , 0x00004252 
+ 00020604  0x00004fe3 fetch  0x00000001 , 0x00004253 
+ 00020605  0x00004fe4 beq  0x00000000 , 0x00005085 
+ 00020606  0x00004fe5 rtn 
+ 00020607  0x00004fe8 setarg  0x00000000 
+ 00020608  0x00004fe9 store  0x00000002 , 0x0000424e 
+ 00020609  0x00004fea jam  0x00000000 , 0x00004253 
+ 00020610  0x00004feb fetch  0x00000001 , 0x00004252 
+ 00020611  0x00004fec beq  0x00000000 , 0x00005085 
+ 00020612  0x00004fed rtn 
+ 00020613  0x00004ff0 jam  0x00000007 , 0x00000a99 
+ 00020614  0x00004ff1 branch  0x00007d86 
+ 00020615  0x00004ff4 fetch  0x00000001 , 0x0000027f 
+ 00020616  0x00004ff5 set0  0x00000000 , 0x0000003f 
+ 00020617  0x00004ff6 store  0x00000001 , 0x0000027f 
+ 00020618  0x00004ff7 fetch  0x00000002 , 0x0000424e 
+ 00020619  0x00004ff8 rtn  0x00000034 
+ 00020620  0x00004ff9 call  0x000052b8 
+ 00020621  0x00004ffa fetch  0x00000002 , 0x0000424e 
+ 00020622  0x00004ffb copy  0x0000003f , 0x00000011 
+ 00020623  0x00004ffc force  0x00000053 , 0x00000012 
+ 00020624  0x00004ffd branch  0x0000509a 
+ 00020625  0x00004fff fetch  0x00000001 , 0x0000027f 
+ 00020626  0x00005000 set0  0x00000007 , 0x0000003f 
+ 00020627  0x00005001 store  0x00000001 , 0x0000027f 
+ 00020628  0x00005002 fetch  0x00000002 , 0x0000424c 
+ 00020629  0x00005003 rtn  0x00000034 
+ 00020630  0x00005004 call  0x000052b8 
+ 00020631  0x00005005 fetch  0x00000002 , 0x0000424c 
+ 00020632  0x00005006 copy  0x0000003f , 0x00000011 
+ 00020633  0x00005007 force  0x00000052 , 0x00000012 
+ 00020634  0x00005009 call  0x0000523a 
+ 00020635  0x0000500a call  0x000052c3 
+ 00020636  0x0000500b force  0x00000006 , 0x0000003f 
+ 00020637  0x0000500c istore  0x00000001 , 0x00000005 
+ 00020638  0x0000500d fetch  0x00000001 , 0x00004255 
+ 00020639  0x0000500e istore  0x00000001 , 0x00000005 
+ 00020640  0x0000500f setarg  0x00000004 
+ 00020641  0x00005010 istore  0x00000002 , 0x00000005 
+ 00020642  0x00005011 copy  0x00000011 , 0x0000003f 
+ 00020643  0x00005012 istore  0x00000002 , 0x00000005 
+ 00020644  0x00005013 copy  0x00000012 , 0x0000003f 
+ 00020645  0x00005014 istore  0x00000002 , 0x00000005 
+ 00020646  0x00005015 force  0x00000008 , 0x00000002 
+ 00020647  0x00005016 branch  0x000050de 
+ 00020648  0x00005019 bpatchx  0x00000018 , 0x00004023 
+ 00020649  0x0000501a call  0x0000523a 
+ 00020650  0x0000501b call  0x000052c3 
+ 00020651  0x0000501c setarg  0x00000002 
+ 00020652  0x0000501d istore  0x00000001 , 0x00000005 
+ 00020653  0x0000501e fetch  0x00000001 , 0x00004255 
+ 00020654  0x0000501f istore  0x00000001 , 0x00000005 
+ 00020655  0x00005020 setarg  0x00000004 
+ 00020656  0x00005021 istore  0x00000002 , 0x00000005 
+ 00020657  0x00005022 copy  0x00000002 , 0x0000003f 
+ 00020658  0x00005023 istore  0x00000002 , 0x00000005 
+ 00020659  0x00005024 copy  0x0000000b , 0x0000003f 
+ 00020660  0x00005025 istore  0x00000002 , 0x00000005 
+ 00020661  0x00005026 arg  0x00000008 , 0x00000002 
+ 00020662  0x00005027 branch  0x000050de 
+ 00020663  0x00005029 bpatchx  0x00000019 , 0x00004023 
+ 00020664  0x0000502a call  0x0000523a 
+ 00020665  0x0000502b call  0x000052c3 
+ 00020666  0x0000502c setarg  0x00000004 
+ 00020667  0x0000502d istore  0x00000001 , 0x00000005 
+ 00020668  0x0000502e fetch  0x00000001 , 0x00004255 
+ 00020669  0x0000502f istore  0x00000001 , 0x00000005 
+ 00020670  0x00005030 setarg  0x00000008 
+ 00020671  0x00005031 istore  0x00000002 , 0x00000005 
+ 00020672  0x00005033 copy  0x00000002 , 0x0000003f 
+ 00020673  0x00005035 istore  0x00000002 , 0x00000005 
+ 00020674  0x00005036 setarg  0x00000000 
+ 00020675  0x00005037 istore  0x00000002 , 0x00000005 
+ 00020676  0x00005038 setarg  0x00000001 
+ 00020677  0x00005039 istore  0x00000001 , 0x00000005 
+ 00020678  0x0000503a setarg  0x00000002 
+ 00020679  0x0000503b istore  0x00000001 , 0x00000005 
+ 00020680  0x0000503c setarg  0x000003e3 
+ 00020681  0x0000503d istore  0x00000002 , 0x00000005 
+ 00020682  0x0000503e arg  0x0000000c , 0x00000002 
+ 00020683  0x0000503f branch  0x000050de 
+ 00020684  0x00005041 bpatchx  0x0000001a , 0x00004023 
+ 00020685  0x00005042 call  0x0000523a 
+ 00020686  0x00005043 call  0x000052c3 
+ 00020687  0x00005044 setarg  0x00000006 
+ 00020688  0x00005045 istore  0x00000001 , 0x00000005 
+ 00020689  0x00005046 fetch  0x00000001 , 0x00004255 
+ 00020690  0x00005047 increase  0x00000001 , 0x0000003f 
+ 00020691  0x00005048 copy  0x00000005 , 0x00000011 
+ 00020692  0x00005049 store  0x00000001 , 0x00004255 
+ 00020693  0x0000504a copy  0x00000011 , 0x00000005 
+ 00020694  0x0000504b istore  0x00000001 , 0x00000005 
+ 00020695  0x0000504c setarg  0x00000004 
+ 00020696  0x0000504d istore  0x00000002 , 0x00000005 
+ 00020697  0x0000504e copy  0x00000002 , 0x0000003f 
+ 00020698  0x0000504f istore  0x00000002 , 0x00000005 
+ 00020699  0x00005050 copy  0x0000000b , 0x0000003f 
+ 00020700  0x00005051 istore  0x00000002 , 0x00000005 
+ 00020701  0x00005052 arg  0x00000008 , 0x00000002 
+ 00020702  0x00005056 storet  0x00000002 , 0x0000026f 
+ 00020703  0x00005057 copy  0x00000002 , 0x0000003f 
+ 00020704  0x00005058 branch  0x00005264 , 0x00000034 
+ 00020705  0x00005059 call  0x000052c1 
+ 00020706  0x0000505a fetch  0x00000002 , 0x0000026f 
+ 00020707  0x0000505b istore  0x00000002 , 0x00000005 
+ 00020708  0x0000505c force  0x00000001 , 0x0000003f 
+ 00020709  0x0000505d istore  0x00000002 , 0x00000005 
+ 00020710  0x0000505e rtn 
+ 00020711  0x00005061 fetch  0x00000002 , 0x00000275 
+ 00020712  0x00005062 branch  0x00002a8c , 0x00000034 
+ 00020713  0x00005063 call  0x000052ce 
+ 00020714  0x00005064 fetch  0x00000002 , 0x00000275 
+ 00020715  0x00005065 istore  0x00000002 , 0x00000005 
+ 00020716  0x00005066 fetch  0x00000002 , 0x00004248 
+ 00020717  0x00005067 istore  0x00000002 , 0x00000005 
+ 00020718  0x00005068 rtn 
+ 00020719  0x0000506a fetch  0x00000002 , 0x00000266 
+ 00020720  0x0000506b branch  0x00004dfc , 0x00000034 
+ 00020721  0x0000506c bpatchx  0x0000001b , 0x00004023 
+ 00020722  0x0000506d fetch  0x00000001 , 0x00000268 
+ 00020723  0x0000506e beq  0x00000001 , 0x000050f9 
+ 00020724  0x0000506f beq  0x00000050 , 0x00004de8 
+ 00020725  0x00005070 beq  0x00000051 , 0x00004df5 
+ 00020726  0x00005071 beq  0x00000052 , 0x00004df3 
+ 00020727  0x00005072 beq  0x00000053 , 0x00004df3 
+ 00020728  0x00005073 branch  0x00004dfc 
+ 00020729  0x00005076 bpatchx  0x0000001c , 0x00004023 
+ 00020730  0x00005077 call  0x000052b8 
+ 00020731  0x00005078 force  0x00000000 , 0x00000012 
+ 00020732  0x00005079 call  0x000052c3 
+ 00020733  0x0000507a copy  0x0000003f , 0x00000005 
+ 00020734  0x0000507b fetch  0x00000002 , 0x00000266 
+ 00020735  0x0000507c copy  0x0000003f , 0x00000013 
+ 00020736  0x0000507d fetch  0x00000002 , 0x00000264 
+ 00020737  0x0000507e iforce  0x00000006 
+ 00020738  0x00005080 call  0x00005108 
+ 00020739  0x00005081 increase  0xfffffffc , 0x00000013 
+ 00020740  0x00005082 nbranch  0x00005102 , 0x00000005 
+ 00020741  0x00005083 copy  0x00000012 , 0x00000002 
+ 00020742  0x00005084 call  0x000050de 
+ 00020743  0x00005085 branch  0x00004dfc 
+ 00020744  0x00005088 ifetch  0x00000001 , 0x00000006 
+ 00020745  0x00005089 beq  0x00000002 , 0x00005113 
+ 00020746  0x0000508a beq  0x00000001 , 0x00005116 
+ 00020747  0x0000508b beq  0x00000003 , 0x00005120 
+ 00020748  0x0000508c beq  0x00000005 , 0x0000515c 
+ 00020749  0x0000508d beq  0x00000004 , 0x0000518e 
+ 00020750  0x0000508e beq  0x00000007 , 0x00005213 
+ 00020751  0x0000508f beq  0x00000006 , 0x000051e1 
+ 00020752  0x00005090 beq  0x00000008 , 0x00005050 
+ 00020753  0x00005091 beq  0x0000000a , 0x00004e3a 
+ 00020754  0x00005092 branch  0x0000522e 
+ 00020755  0x00005095 call  0x00007ea8 
+ 00020756  0x00005097 call  0x00007ead 
+ 00020757  0x00005098 branch  0x00004e51 
+ 00020758  0x0000509a ifetch  0x00000001 , 0x00000006 
+ 00020759  0x0000509b copy  0x0000003f , 0x00000007 
+ 00020760  0x0000509c ifetch  0x00000002 , 0x00000006 
+ 00020761  0x0000509d copy  0x0000003f , 0x00000011 
+ 00020762  0x0000509e copy  0x00000013 , 0x0000003f 
+ 00020763  0x0000509f isub  0x00000011 , 0x00000013 
+ 00020764  0x000050a1 ifetch  0x00000001 , 0x00000006 
+ 00020765  0x000050a2 increase  0xffffffff , 0x00000011 
+ 00020766  0x000050a3 nbranch  0x0000511c , 0x00000005 
+ 00020767  0x000050a4 rtn 
+ 00020768  0x000050a6 ifetch  0x00000001 , 0x00000006 
+ 00020769  0x000050a7 copy  0x0000003f , 0x00000007 
+ 00020770  0x000050a8 ifetch  0x00000002 , 0x00000006 
+ 00020771  0x000050a9 copy  0x0000003f , 0x00000011 
+ 00020772  0x000050aa ifetch  0x00000002 , 0x00000006 
+ 00020773  0x000050ab copy  0x0000003f , 0x0000000b 
+ 00020774  0x000050ac ifetch  0x00000002 , 0x00000006 
+ 00020775  0x000050ad copy  0x0000003f , 0x00000002 
+ 00020776  0x000050ae ifetch  0x00000002 , 0x00000006 
+ 00020777  0x000050af sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00020778  0x000050b0 branch  0x00005132 , 0x00000005 
+ 00020779  0x000050b1 beq  0x00000002 , 0x0000512e 
+ 00020780  0x000050b2 beq  0x00000004 , 0x0000512e 
+ 00020781  0x000050b3 branch  0x00005130 
+ 00020782  0x000050b5 jam  0x00000016 , 0x00000a99 
+ 00020783  0x000050b6 call  0x00007d86 
+ 00020784  0x000050b8 ifetch  0x00000002 , 0x00000006 
+ 00020785  0x000050b9 branch  0x00005159 
+ 00020786  0x000050bb call  0x00007ea8 
+ 00020787  0x000050bf bpatchx  0x0000001d , 0x00004023 
+ 00020788  0x000050c0 setarg  0x00000050 
+ 00020789  0x000050c1 isub  0x00000002 , 0x0000003e 
+ 00020790  0x000050c2 branch  0x00005141 , 0x00000005 
+ 00020791  0x000050c3 setarg  0x00000051 
+ 00020792  0x000050c4 isub  0x00000002 , 0x0000003e 
+ 00020793  0x000050c5 branch  0x00005147 , 0x00000005 
+ 00020794  0x000050c6 setarg  0x00000053 
+ 00020795  0x000050c7 isub  0x00000002 , 0x0000003e 
+ 00020796  0x000050c8 branch  0x00005153 , 0x00000005 
+ 00020797  0x000050c9 setarg  0x00000052 
+ 00020798  0x000050ca isub  0x00000002 , 0x0000003e 
+ 00020799  0x000050cb branch  0x0000514d , 0x00000005 
+ 00020800  0x000050cc branch  0x00005159 
+ 00020801  0x000050ce copy  0x0000000b , 0x0000003f 
+ 00020802  0x000050cf store  0x00000002 , 0x00004248 
+ 00020803  0x000050d0 fetch  0x00000001 , 0x00004250 
+ 00020804  0x000050d1 set1  0x00000001 
+ 00020805  0x000050d2 store  0x00000001 , 0x00004250 
+ 00020806  0x000050d3 branch  0x00005158 
+ 00020807  0x000050d5 copy  0x0000000b , 0x0000003f 
+ 00020808  0x000050d6 store  0x00000002 , 0x0000424a 
+ 00020809  0x000050d7 fetch  0x00000001 , 0x00004251 
+ 00020810  0x000050d8 set1  0x00000001 
+ 00020811  0x000050d9 store  0x00000001 , 0x00004251 
+ 00020812  0x000050da branch  0x00005158 
+ 00020813  0x000050dc copy  0x0000000b , 0x0000003f 
+ 00020814  0x000050dd store  0x00000002 , 0x0000424c 
+ 00020815  0x000050de fetch  0x00000001 , 0x00004252 
+ 00020816  0x000050df set1  0x00000001 
+ 00020817  0x000050e0 store  0x00000001 , 0x00004252 
+ 00020818  0x000050e1 branch  0x00005158 
+ 00020819  0x000050e3 copy  0x0000000b , 0x0000003f 
+ 00020820  0x000050e4 store  0x00000002 , 0x0000424e 
+ 00020821  0x000050e5 fetch  0x00000001 , 0x00004253 
+ 00020822  0x000050e6 set1  0x00000001 
+ 00020823  0x000050e7 store  0x00000001 , 0x00004253 
+ 00020824  0x000050eb call  0x00007ead 
+ 00020825  0x000050ed copy  0x00000013 , 0x0000003f 
+ 00020826  0x000050ee isub  0x00000011 , 0x00000013 
+ 00020827  0x000050ef rtn 
+ 00020828  0x000050f2 ifetch  0x00000001 , 0x00000006 
+ 00020829  0x000050f3 copy  0x0000003f , 0x00000007 
+ 00020830  0x000050f4 ifetch  0x00000002 , 0x00000006 
+ 00020831  0x000050f5 copy  0x0000003f , 0x00000011 
+ 00020832  0x000050f6 copy  0x00000013 , 0x0000003f 
+ 00020833  0x000050f7 isub  0x00000011 , 0x00000013 
+ 00020834  0x000050f8 ifetch  0x00000002 , 0x00000006 
+ 00020835  0x000050f9 copy  0x0000003f , 0x0000000b 
+ 00020836  0x000050fa ifetch  0x00000002 , 0x00000006 
+ 00020837  0x000050fb ifetch  0x00000002 , 0x00000006 
+ 00020838  0x000050fc nbranch  0x00005188 , 0x00000034 
+ 00020839  0x000050fd call  0x00007ea8 
+ 00020840  0x00005101 copy  0x0000000b , 0x00000002 
+ 00020841  0x00005102 bpatchx  0x0000001e , 0x00004023 
+ 00020842  0x00005103 setarg  0x00000050 
+ 00020843  0x00005104 isub  0x00000002 , 0x0000003e 
+ 00020844  0x00005105 branch  0x00005176 , 0x00000005 
+ 00020845  0x00005106 setarg  0x00000051 
+ 00020846  0x00005107 isub  0x00000002 , 0x0000003e 
+ 00020847  0x00005108 branch  0x0000517a , 0x00000005 
+ 00020848  0x00005109 setarg  0x00000052 
+ 00020849  0x0000510a isub  0x00000002 , 0x0000003e 
+ 00020850  0x0000510b branch  0x0000517e , 0x00000005 
+ 00020851  0x0000510c setarg  0x00000053 
+ 00020852  0x0000510d isub  0x00000002 , 0x0000003e 
+ 00020853  0x0000510e branch  0x00005182 , 0x00000005 
+ 00020854  0x00005110 fetch  0x00000001 , 0x00004250 
+ 00020855  0x00005111 set1  0x00000005 
+ 00020856  0x00005112 store  0x00000001 , 0x00004250 
+ 00020857  0x00005113 rtn 
+ 00020858  0x00005115 fetch  0x00000001 , 0x00004251 
+ 00020859  0x00005116 set1  0x00000005 
+ 00020860  0x00005117 store  0x00000001 , 0x00004251 
+ 00020861  0x00005118 rtn 
+ 00020862  0x0000511a fetch  0x00000001 , 0x00004252 
+ 00020863  0x0000511b set1  0x00000005 
+ 00020864  0x0000511c store  0x00000001 , 0x00004252 
+ 00020865  0x0000511d rtn 
+ 00020866  0x0000511f fetch  0x00000001 , 0x00004253 
+ 00020867  0x00005120 set1  0x00000005 
+ 00020868  0x00005121 store  0x00000001 , 0x00004253 
+ 00020869  0x00005122 jam  0x00000006 , 0x00000a99 
+ 00020870  0x00005123 branch  0x00007d86 
+ 00020871  0x00005127 call  0x00007ead 
+ 00020872  0x00005129 increase  0xfffffffa , 0x00000011 
+ 00020873  0x0000512b branch  0x0000518d , 0x00000005 
+ 00020874  0x0000512c increase  0x00000001 , 0x00000006 
+ 00020875  0x0000512d increase  0xffffffff , 0x00000011 
+ 00020876  0x0000512e branch  0x00005189 
+ 00020877  0x00005130 rtn 
+ 00020878  0x00005132 ifetch  0x00000001 , 0x00000006 
+ 00020879  0x00005133 copy  0x0000003f , 0x00000007 
+ 00020880  0x00005134 ifetch  0x00000002 , 0x00000006 
+ 00020881  0x00005135 copy  0x0000003f , 0x00000011 
+ 00020882  0x00005136 copy  0x00000013 , 0x0000003f 
+ 00020883  0x00005137 isub  0x00000011 , 0x00000013 
+ 00020884  0x00005138 ifetch  0x00000002 , 0x00000006 
+ 00020885  0x00005139 increase  0x00000002 , 0x00000006 
+ 00020886  0x0000513a copy  0x0000003f , 0x00000002 
+ 00020887  0x0000513b setarg  0x00000005 
+ 00020888  0x0000513c istore  0x00000001 , 0x00000005 
+ 00020889  0x0000513d copy  0x00000007 , 0x0000003f 
+ 00020890  0x0000513e istore  0x00000001 , 0x00000005 
+ 00020891  0x0000513f increase  0x00000002 , 0x00000011 
+ 00020892  0x00005140 copy  0x00000011 , 0x0000003f 
+ 00020893  0x00005141 istore  0x00000002 , 0x00000005 
+ 00020894  0x00005142 call  0x00007ea8 
+ 00020895  0x00005143 bpatchx  0x0000001f , 0x00004023 
+ 00020896  0x00005144 setarg  0x00000050 
+ 00020897  0x00005145 isub  0x00000002 , 0x0000003e 
+ 00020898  0x00005146 branch  0x000051ad , 0x00000005 
+ 00020899  0x00005147 setarg  0x00000051 
+ 00020900  0x00005148 isub  0x00000002 , 0x0000003e 
+ 00020901  0x00005149 branch  0x000051be , 0x00000005 
+ 00020902  0x0000514a setarg  0x00000052 
+ 00020903  0x0000514b isub  0x00000002 , 0x0000003e 
+ 00020904  0x0000514c branch  0x000051c4 , 0x00000005 
+ 00020905  0x0000514d setarg  0x00000053 
+ 00020906  0x0000514e isub  0x00000002 , 0x0000003e 
+ 00020907  0x0000514f branch  0x000051ca , 0x00000005 
+ 00020908  0x00005150 branch  0x000051cf 
+ 00020909  0x00005152 fetch  0x00000001 , 0x00004250 
+ 00020910  0x00005153 set1  0x00000004 , 0x0000003f 
+ 00020911  0x00005154 set1  0x00000003 , 0x0000003f 
+ 00020912  0x00005155 store  0x00000001 , 0x00004250 
+ 00020913  0x00005156 bbit1  0x00000002 , 0x000051bb 
+ 00020914  0x00005157 fetcht  0x00000001 , 0x0000027f 
+ 00020915  0x00005158 set1  0x00000006 , 0x00000002 
+ 00020916  0x00005159 storet  0x00000001 , 0x0000027f 
+ 00020917  0x0000515a copy  0x00000007 , 0x0000003f 
+ 00020918  0x0000515b increase  0x00000001 , 0x0000003f 
+ 00020919  0x0000515c store  0x00000001 , 0x00000281 
+ 00020920  0x0000515d fetch  0x00000001 , 0x00004250 
+ 00020921  0x0000515e set1  0x00000002 , 0x0000003f 
+ 00020922  0x0000515f store  0x00000001 , 0x00004250 
+ 00020923  0x00005161 fetch  0x00000002 , 0x00004248 
+ 00020924  0x00005162 store  0x00000002 , 0x00000282 
+ 00020925  0x00005163 branch  0x000051cf 
+ 00020926  0x00005165 fetch  0x00000001 , 0x00004251 
+ 00020927  0x00005166 set1  0x00000004 , 0x0000003f 
+ 00020928  0x00005167 set1  0x00000003 , 0x0000003f 
+ 00020929  0x00005168 store  0x00000001 , 0x00004251 
+ 00020930  0x00005169 fetch  0x00000002 , 0x0000424a 
+ 00020931  0x0000516a branch  0x000051cf 
+ 00020932  0x0000516c fetch  0x00000001 , 0x00004252 
+ 00020933  0x0000516d set1  0x00000004 , 0x0000003f 
+ 00020934  0x0000516e set1  0x00000003 , 0x0000003f 
+ 00020935  0x0000516f store  0x00000001 , 0x00004252 
+ 00020936  0x00005170 fetch  0x00000002 , 0x0000424c 
+ 00020937  0x00005171 branch  0x000051cf 
+ 00020938  0x00005173 fetch  0x00000001 , 0x00004253 
+ 00020939  0x00005174 set1  0x00000004 , 0x0000003f 
+ 00020940  0x00005175 set1  0x00000003 , 0x0000003f 
+ 00020941  0x00005176 store  0x00000001 , 0x00004253 
+ 00020942  0x00005177 fetch  0x00000002 , 0x0000424e 
+ 00020943  0x0000517b copy  0x0000003f , 0x0000000b 
+ 00020944  0x0000517c call  0x00007ead 
+ 00020945  0x0000517e copy  0x0000000b , 0x0000003f 
+ 00020946  0x00005180 istore  0x00000002 , 0x00000005 
+ 00020947  0x00005181 force  0x00000000 , 0x0000003f 
+ 00020948  0x00005182 istore  0x00000002 , 0x00000005 
+ 00020949  0x00005183 force  0x00000000 , 0x0000003f 
+ 00020950  0x00005184 istore  0x00000002 , 0x00000005 
+ 00020951  0x00005185 force  0x0000000a , 0x0000003f 
+ 00020952  0x00005186 iadd  0x00000012 , 0x00000012 
+ 00020953  0x00005187 increase  0xfffffffa , 0x00000011 
+ 00020954  0x00005189 branch  0x000051e0 , 0x00000005 
+ 00020955  0x0000518a ifetch  0x00000001 , 0x00000006 
+ 00020956  0x0000518b istore  0x00000001 , 0x00000005 
+ 00020957  0x0000518c increase  0x00000001 , 0x00000012 
+ 00020958  0x0000518d increase  0xffffffff , 0x00000011 
+ 00020959  0x0000518e branch  0x000051da 
+ 00020960  0x00005190 rtn 
+ 00020961  0x00005192 ifetch  0x00000001 , 0x00000006 
+ 00020962  0x00005193 copy  0x0000003f , 0x00000007 
+ 00020963  0x00005194 ifetch  0x00000002 , 0x00000006 
+ 00020964  0x00005195 copy  0x0000003f , 0x00000011 
+ 00020965  0x00005196 copy  0x00000013 , 0x0000003f 
+ 00020966  0x00005197 isub  0x00000011 , 0x00000013 
+ 00020967  0x00005199 ifetch  0x00000002 , 0x00000006 
+ 00020968  0x0000519a copy  0x0000003f , 0x00000011 
+ 00020969  0x0000519b ifetch  0x00000002 , 0x00000006 
+ 00020970  0x0000519c copy  0x0000003f , 0x0000000b 
+ 00020971  0x0000519d call  0x00007ea8 
+ 00020972  0x0000519e bpatchx  0x00000020 , 0x00004024 
+ 00020973  0x0000519f setarg  0x00000050 
+ 00020974  0x000051a0 copy  0x00000011 , 0x00000002 
+ 00020975  0x000051a1 isub  0x00000002 , 0x0000003e 
+ 00020976  0x000051a2 branch  0x000051fa , 0x00000005 
+ 00020977  0x000051a3 setarg  0x00000052 
+ 00020978  0x000051a4 copy  0x00000011 , 0x00000002 
+ 00020979  0x000051a5 isub  0x00000002 , 0x0000003e 
+ 00020980  0x000051a6 branch  0x000051ff , 0x00000005 
+ 00020981  0x000051a7 setarg  0x00000053 
+ 00020982  0x000051a8 copy  0x00000011 , 0x00000002 
+ 00020983  0x000051a9 isub  0x00000002 , 0x0000003e 
+ 00020984  0x000051aa branch  0x00005201 , 0x00000005 
+ 00020985  0x000051ab branch  0x00005203 
+ 00020986  0x000051ad setarg  0x00000000 
+ 00020987  0x000051ae store  0x00000002 , 0x00000275 
+ 00020988  0x000051af store  0x00000002 , 0x00004248 
+ 00020989  0x000051b0 store  0x00000001 , 0x00004250 
+ 00020990  0x000051b1 branch  0x00005205 
+ 00020991  0x000051b3 call  0x00005079 
+ 00020992  0x000051b4 branch  0x00005205 
+ 00020993  0x000051b6 call  0x0000507f 
+ 00020994  0x000051bc branch  0x00005205 
+ 00020995  0x000051be setarg  0x00000000 
+ 00020996  0x000051bf store  0x00000002 , 0x0000027b 
+ 00020997  0x000051c1 call  0x00007ead 
+ 00020998  0x000051c2 setarg  0x00000007 
+ 00020999  0x000051c3 istore  0x00000001 , 0x00000005 
+ 00021000  0x000051c4 copy  0x00000007 , 0x0000003f 
+ 00021001  0x000051c5 istore  0x00000001 , 0x00000005 
+ 00021002  0x000051c6 setarg  0x00000004 
+ 00021003  0x000051c7 istore  0x00000002 , 0x00000005 
+ 00021004  0x000051c8 copy  0x00000011 , 0x0000003f 
+ 00021005  0x000051c9 istore  0x00000002 , 0x00000005 
+ 00021006  0x000051ca copy  0x0000000b , 0x0000003f 
+ 00021007  0x000051cb istore  0x00000002 , 0x00000005 
+ 00021008  0x000051cc force  0x00000008 , 0x0000003f 
+ 00021009  0x000051cd iadd  0x00000012 , 0x00000012 
+ 00021010  0x000051ce rtn 
+ 00021011  0x000051d1 ifetch  0x00000001 , 0x00000006 
+ 00021012  0x000051d2 copy  0x0000003f , 0x00000007 
+ 00021013  0x000051d3 ifetch  0x00000002 , 0x00000006 
+ 00021014  0x000051d4 copy  0x0000003f , 0x00000011 
+ 00021015  0x000051d5 ifetch  0x00000002 , 0x00000006 
+ 00021016  0x000051d6 copy  0x0000003f , 0x0000000b 
+ 00021017  0x000051d7 ifetch  0x00000002 , 0x00000006 
+ 00021018  0x000051d8 copy  0x0000003f , 0x00000002 
+ 00021019  0x000051d9 call  0x00007ea8 
+ 00021020  0x000051da bpatchx  0x00000021 , 0x00004024 
+ 00021021  0x000051db fetch  0x00000001 , 0x00004255 
+ 00021022  0x000051dc icompare  0x000000ff , 0x00000007 
+ 00021023  0x000051dd nbranch  0x0000522a , 0x00000001 
+ 00021024  0x000051de setarg  0x00000050 
+ 00021025  0x000051df isub  0x00000002 , 0x0000003e 
+ 00021026  0x000051e0 branch  0x00005227 , 0x00000005 
+ 00021027  0x000051e1 setarg  0x00000051 
+ 00021028  0x000051e2 isub  0x00000002 , 0x0000003e 
+ 00021029  0x000051e3 branch  0x0000522a , 0x00000005 
+ 00021030  0x000051e4 branch  0x0000522a 
+ 00021031  0x000051e6 jam  0x00000000 , 0x00004248 
+ 00021032  0x000051e7 jam  0x00000000 , 0x00004250 
+ 00021033  0x000051e8 branch  0x0000522a 
+ 00021034  0x000051ed call  0x00007ead 
+ 00021035  0x000051ee copy  0x00000013 , 0x0000003f 
+ 00021036  0x000051ef isub  0x00000011 , 0x00000013 
+ 00021037  0x000051f0 rtn 
+ 00021038  0x000051f3 setarg  0x00000001 
+ 00021039  0x000051f4 istore  0x00000001 , 0x00000005 
+ 00021040  0x000051f5 ifetch  0x00000001 , 0x00000006 
+ 00021041  0x000051f6 istore  0x00000001 , 0x00000005 
+ 00021042  0x000051f7 setarg  0x00000002 
+ 00021043  0x000051f8 istore  0x00000002 , 0x00000005 
+ 00021044  0x000051f9 setarg  0x00000000 
+ 00021045  0x000051fa istore  0x00000002 , 0x00000005 
+ 00021046  0x000051fb setarg  0x00000006 
+ 00021047  0x000051fc iadd  0x00000012 , 0x00000012 
+ 00021048  0x000051fd force  0x00000004 , 0x00000013 
+ 00021049  0x000051fe rtn 
+ 00021050  0x00005202 fetch  0x00000001 , 0x00004255 
+ 00021051  0x00005203 increase  0x00000001 , 0x0000003f 
+ 00021052  0x00005204 bne  0x00000000 , 0x0000523e 
+ 00021053  0x00005205 increase  0x00000001 , 0x0000003f 
+ 00021054  0x00005207 store  0x00000001 , 0x00004255 
+ 00021055  0x00005208 rtn 
+ 00021056  0x00005213 bpatchx  0x00000022 , 0x00004024 
+ 00021057  0x00005214 arg  0x00000000 , 0x00000012 
+ 00021058  0x00005215 call  0x0000526e 
+ 00021059  0x00005216 nbranch  0x00002a8c , 0x00000034 
+ 00021060  0x00005217 call  0x0000527e 
+ 00021061  0x00005218 arg  0x00001800 , 0x00000012 
+ 00021062  0x00005219 arg  0x00000000 , 0x00000007 
+ 00021063  0x0000521b fetcht  0x00000001 , 0x00004256 
+ 00021064  0x0000521c qisolate1  0x00000002 
+ 00021065  0x0000521d branch  0x0000524f , 0x00000001 
+ 00021066  0x0000521e call  0x000052a0 
+ 00021067  0x0000521f sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00021068  0x00005220 branch  0x0000524f , 0x00000002 
+ 00021069  0x00005221 call  0x00005288 
+ 00021070  0x00005222 branch  0x00005255 
+ 00021071  0x00005224 increase  0x00000080 , 0x00000012 
+ 00021072  0x00005225 increase  0x00000001 , 0x00000007 
+ 00021073  0x00005226 setarg  0x00000008 
+ 00021074  0x00005227 isub  0x00000007 , 0x0000003e 
+ 00021075  0x00005228 branch  0x00005247 , 0x00000002 
+ 00021076  0x00005229 arg  0x00000000 , 0x00000012 
+ 00021077  0x0000522b copy  0x00000012 , 0x0000003f 
+ 00021078  0x0000522c branch  0x00002a8c , 0x00000034 
+ 00021079  0x0000522d rtn 
+ 00021080  0x00005236 bpatchx  0x00000023 , 0x00004024 
+ 00021081  0x00005237 call  0x00005277 
+ 00021082  0x00005238 increase  0x00000001 , 0x00000006 
+ 00021083  0x00005239 ifetch  0x00000002 , 0x00000006 
+ 00021084  0x0000523a rtn 
+ 00021085  0x00005241 bpatchx  0x00000024 , 0x00004024 
+ 00021086  0x00005242 call  0x00005277 
+ 00021087  0x00005243 copy  0x00000006 , 0x00000005 
+ 00021088  0x00005244 copy  0x00000006 , 0x00000002 
+ 00021089  0x00005245 setarg  0x00000000 
+ 00021090  0x00005246 istore  0x00000003 , 0x00000005 
+ 00021091  0x00005247 rtn 
+ 00021092  0x0000524d bpatchx  0x00000025 , 0x00004024 
+ 00021093  0x0000524e call  0x00005274 
+ 00021094  0x0000524f branch  0x00002a8c , 0x00000034 
+ 00021095  0x00005250 fetch  0x00000003 , 0x0000425d 
+ 00021096  0x00005251 store  0x00000003 , 0x00004260 
+ 00021097  0x00005252 fetch  0x00000003 , 0x0000425a 
+ 00021098  0x00005253 store  0x00000003 , 0x0000425d 
+ 00021099  0x00005254 fetch  0x00000003 , 0x00004257 
+ 00021100  0x00005255 store  0x00000003 , 0x0000425a 
+ 00021101  0x00005256 rtn 
+ 00021102  0x0000525d bpatchx  0x00000026 , 0x00004024 
+ 00021103  0x0000525e fetch  0x00000003 , 0x00004257 
+ 00021104  0x0000525f rtn 
+ 00021105  0x00005266 bpatchx  0x00000027 , 0x00004024 
+ 00021106  0x00005267 fetch  0x00000003 , 0x0000425a 
+ 00021107  0x00005268 rtn 
+ 00021108  0x0000526f bpatchx  0x00000028 , 0x00004025 
+ 00021109  0x00005270 fetch  0x00000003 , 0x00004260 
+ 00021110  0x00005271 rtn 
+ 00021111  0x00005277 call  0x00005274 
+ 00021112  0x00005278 branch  0x00002a8c , 0x00000034 
+ 00021113  0x00005279 arg  0x00004257 , 0x00000006 
+ 00021114  0x0000527b ifetch  0x00000003 , 0x00000006 
+ 00021115  0x0000527c branch  0x0000527a , 0x00000034 
+ 00021116  0x0000527d increase  0xfffffffd , 0x00000006 
+ 00021117  0x0000527e rtn 
+ 00021118  0x00005286 bpatchx  0x00000029 , 0x00004025 
+ 00021119  0x00005287 arg  0x00000004 , 0x00000039 
+ 00021120  0x00005288 arg  0x00004257 , 0x00000006 
+ 00021121  0x00005289 arg  0x00000000 , 0x00000002 
+ 00021122  0x0000528b ifetch  0x00000003 , 0x00000006 
+ 00021123  0x0000528c and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00021124  0x0000528d ior  0x00000002 , 0x00000002 
+ 00021125  0x0000528e loop  0x00005282 
+ 00021126  0x0000528f storet  0x00000001 , 0x00004256 
+ 00021127  0x00005290 rtn 
+ 00021128  0x00005299 bpatchx  0x0000002a , 0x00004025 
+ 00021129  0x0000529a call  0x0000526e 
+ 00021130  0x0000529b nbranch  0x00002a8c , 0x00000034 
+ 00021131  0x0000529c call  0x00005274 
+ 00021132  0x0000529d branch  0x00005295 , 0x00000034 
+ 00021133  0x0000529e fetch  0x00000003 , 0x0000425a 
+ 00021134  0x0000529f store  0x00000003 , 0x00004257 
+ 00021135  0x000052a0 ifetch  0x00000003 , 0x00000006 
+ 00021136  0x000052a1 istore  0x00000003 , 0x00000005 
+ 00021137  0x000052a2 ifetch  0x00000003 , 0x00000006 
+ 00021138  0x000052a3 istore  0x00000003 , 0x00000005 
+ 00021139  0x000052a4 setarg  0x00000000 
+ 00021140  0x000052a5 istore  0x00000003 , 0x00000005 
+ 00021141  0x000052a7 arg  0x00000000 , 0x00000002 
+ 00021142  0x000052a8 copy  0x0000000b , 0x0000003f 
+ 00021143  0x000052a9 iadd  0x00000007 , 0x0000003f 
+ 00021144  0x000052ab qset1  0x00000002 
+ 00021145  0x000052ac increase  0x00000001 , 0x00000007 
+ 00021146  0x000052ad isub  0x00000007 , 0x0000003e 
+ 00021147  0x000052ae nbranch  0x00005298 , 0x00000005 
+ 00021148  0x000052b0 lshift8  0x00000012 , 0x0000003f 
+ 00021149  0x000052b1 ior  0x00000002 , 0x0000003f 
+ 00021150  0x000052b2 store  0x00000003 , 0x00004260 
+ 00021151  0x000052b3 rtn 
+ 00021152  0x000052be bpatchx  0x0000002b , 0x00004025 
+ 00021153  0x000052bf call  0x0000527e 
+ 00021154  0x000052c0 copy  0x00000007 , 0x00000013 
+ 00021155  0x000052c1 arg  0x00000000 , 0x00000002 
+ 00021156  0x000052c2 arg  0x00000000 , 0x0000000b 
+ 00021157  0x000052c5 copy  0x00000007 , 0x0000003f 
+ 00021158  0x000052c6 beq  0x00000008 , 0x000052b0 
+ 00021159  0x000052c7 fetch  0x00000001 , 0x00004256 
+ 00021160  0x000052c8 qisolate1  0x0000003f 
+ 00021161  0x000052c9 branch  0x000052b0 , 0x00000001 
+ 00021162  0x000052ca increase  0x00000080 , 0x00000002 
+ 00021163  0x000052cb increase  0x00000001 , 0x00000007 
+ 00021164  0x000052cc copy  0x00000011 , 0x0000003f 
+ 00021165  0x000052cd isub  0x00000002 , 0x0000003e 
+ 00021166  0x000052ce branch  0x000052b0 , 0x00000005 
+ 00021167  0x000052cf branch  0x000052a5 , 0x00000002 
+ 00021168  0x000052d1 copy  0x00000002 , 0x0000003f 
+ 00021169  0x000052d2 isub  0x00000011 , 0x0000003e 
+ 00021170  0x000052d3 nbranch  0x000052b6 , 0x00000002 
+ 00021171  0x000052d4 copy  0x00000007 , 0x0000003f 
+ 00021172  0x000052d5 copy  0x00000013 , 0x00000002 
+ 00021173  0x000052d6 isub  0x00000002 , 0x0000000b 
+ 00021174  0x000052d8 copy  0x00000013 , 0x00000007 
+ 00021175  0x000052d9 rtn 
+ 00021176  0x000052dd bpatchx  0x0000002c , 0x00004025 
+ 00021177  0x000052de arg  0x0000007f , 0x00000011 
+ 00021178  0x000052df call  0x00005240 
+ 00021179  0x000052e0 store  0x00000002 , 0x0000026b 
+ 00021180  0x000052e1 increase  0x00000004 , 0x0000003f 
+ 00021181  0x000052e2 store  0x00000002 , 0x0000026d 
+ 00021182  0x000052e3 setarg  0x00000000 
+ 00021183  0x000052e4 store  0x00000002 , 0x0000026f 
+ 00021184  0x000052e5 rtn 
+ 00021185  0x000052e8 fetch  0x00000002 , 0x0000026b 
+ 00021186  0x000052e9 branch  0x000052e2 
+ 00021187  0x000052ec fetch  0x00000002 , 0x0000026d 
+ 00021188  0x000052ed branch  0x000052e2 
+ 00021189  0x000052f1 bpatchx  0x0000002d , 0x00004025 
+ 00021190  0x000052f2 arg  0x000000fa , 0x00000011 
+ 00021191  0x000052f3 call  0x00005240 
+ 00021192  0x000052f4 store  0x00000002 , 0x00000271 
+ 00021193  0x000052f5 increase  0x00000004 , 0x0000003f 
+ 00021194  0x000052f6 store  0x00000002 , 0x00000273 
+ 00021195  0x000052f7 setarg  0x00000000 
+ 00021196  0x000052f8 store  0x00000002 , 0x00000275 
+ 00021197  0x000052f9 rtn 
+ 00021198  0x000052fc fetch  0x00000002 , 0x00000271 
+ 00021199  0x000052fd branch  0x000052e2 
+ 00021200  0x00005300 fetch  0x00000002 , 0x00000273 
+ 00021201  0x00005301 branch  0x000052e2 
+ 00021202  0x00005305 bpatchx  0x0000002e , 0x00004025 
+ 00021203  0x00005306 call  0x00007e7c 
+ 00021204  0x00005307 jam  0x00000001 , 0x00000284 
+ 00021205  0x00005308 call  0x0000526e 
+ 00021206  0x00005309 nrtn  0x00000034 
+ 00021207  0x0000530a arg  0x0000007f , 0x00000011 
+ 00021208  0x0000530b call  0x00005240 
+ 00021209  0x0000530c store  0x00000002 , 0x00000277 
+ 00021210  0x0000530d increase  0x00000004 , 0x0000003f 
+ 00021211  0x0000530e store  0x00000002 , 0x00000279 
+ 00021212  0x0000530f setarg  0x00000000 
+ 00021213  0x00005310 store  0x00000002 , 0x0000027b 
+ 00021214  0x00005311 jam  0x00000000 , 0x00000284 
+ 00021215  0x00005312 branch  0x00007e8c 
+ 00021216  0x00005315 fetch  0x00000002 , 0x00000277 
+ 00021217  0x00005316 branch  0x000052e2 
+ 00021218  0x00005319 branch  0x00002a8c , 0x00000034 
+ 00021219  0x0000531a copy  0x0000003f , 0x00000005 
+ 00021220  0x0000531b rtn 
+ 00021221  0x0000531f bpatchx  0x0000002f , 0x00004025 
+ 00021222  0x00005320 arg  0x00000000 , 0x00000012 
+ 00021223  0x00005321 arg  0x00004257 , 0x00000011 
+ 00021224  0x00005322 increase  0xfffffffe , 0x00000011 
+ 00021225  0x00005324 increase  0x00000002 , 0x00000011 
+ 00021226  0x00005325 setarg  0x00004263 
+ 00021227  0x00005326 isub  0x00000011 , 0x0000003e 
+ 00021228  0x00005327 branch  0x000052f5 , 0x00000005 
+ 00021229  0x00005328 ifetch  0x00000001 , 0x00000011 
+ 00021230  0x00005329 increase  0x00000001 , 0x00000011 
+ 00021231  0x0000532a branch  0x000052e9 , 0x00000034 
+ 00021232  0x0000532b ifetcht  0x00000002 , 0x00000011 
+ 00021233  0x0000532c ifetch  0x00000002 , 0x00000002 
+ 00021234  0x0000532d iadd  0x00000012 , 0x00000012 
+ 00021235  0x0000532e increase  0x00000004 , 0x00000012 
+ 00021236  0x0000532f branch  0x000052e9 
+ 00021237  0x00005331 copy  0x00000012 , 0x0000003f 
+ 00021238  0x00005332 rtn 
+ 00021239  0x00005336 arg  0x0000000c , 0x00000007 
+ 00021240  0x00005337 branch  0x00002c32 
+ 00021241  0x0000533a arg  0x0000000c , 0x00000007 
+ 00021242  0x0000533b branch  0x00002c36 
+ 00021243  0x0000533e bpatchx  0x00000030 , 0x00004026 
+ 00021244  0x0000533f call  0x0000527e 
+ 00021245  0x00005340 fetch  0x00000001 , 0x00004256 
+ 00021246  0x00005341 rtn  0x00000034 
+ 00021247  0x00005342 call  0x000052e5 
+ 00021248  0x00005343 arg  0x00000100 , 0x00000002 
+ 00021249  0x00005344 isub  0x00000002 , 0x0000003e 
+ 00021250  0x00005345 branch  0x000052f7 , 0x00000002 
+ 00021251  0x00005346 call  0x000052f9 
+ 00021252  0x00005347 arg  0x00004263 , 0x00000005 
+ 00021253  0x00005348 arg  0x00004257 , 0x00000011 
+ 00021254  0x0000534a setarg  0x00004263 
+ 00021255  0x0000534b isub  0x00000011 , 0x0000003e 
+ 00021256  0x0000534c rtn  0x00000005 
+ 00021257  0x0000534d ifetch  0x00000001 , 0x00000011 
+ 00021258  0x0000534e increase  0x00000001 , 0x00000011 
+ 00021259  0x0000534f nbranch  0x0000530f , 0x00000034 
+ 00021260  0x00005350 istore  0x00000002 , 0x00000005 
+ 00021261  0x00005351 increase  0x00000002 , 0x00000011 
+ 00021262  0x00005352 branch  0x00005306 
+ 00021263  0x00005354 ifetch  0x00000002 , 0x00000011 
+ 00021264  0x00005355 increase  0x00000002 , 0x00000011 
+ 00021265  0x00005356 copy  0x0000003f , 0x00000006 
+ 00021266  0x00005357 ifetch  0x00000002 , 0x00000006 
+ 00021267  0x00005358 istore  0x00000002 , 0x00000005 
+ 00021268  0x00005359 copy  0x0000003f , 0x00000039 
+ 00021269  0x0000535a increase  0x00000002 , 0x00000039 
+ 00021270  0x0000535b call  0x00007f01 
+ 00021271  0x0000535c branch  0x00005306 
+ 00021272  0x0000535f bpatchx  0x00000031 , 0x00004026 
+ 00021273  0x00005360 call  0x0000527e 
+ 00021274  0x00005361 fetch  0x00000001 , 0x00004256 
+ 00021275  0x00005362 rtn  0x00000034 
+ 00021276  0x00005363 arg  0x00004258 , 0x00000011 
+ 00021277  0x00005364 increase  0xfffffffd , 0x00000011 
+ 00021278  0x00005365 arg  0x00004263 , 0x00000006 
+ 00021279  0x00005367 increase  0x00000003 , 0x00000011 
+ 00021280  0x00005368 setarg  0x00004264 
+ 00021281  0x00005369 isub  0x00000011 , 0x0000003e 
+ 00021282  0x0000536a rtn  0x00000005 
+ 00021283  0x0000536b ifetch  0x00000002 , 0x00000006 
+ 00021284  0x0000536c branch  0x0000531f , 0x00000034 
+ 00021285  0x0000536d increase  0x00000004 , 0x0000003f 
+ 00021286  0x0000536e copy  0x0000003f , 0x00000039 
+ 00021287  0x0000536f copy  0x00000006 , 0x00000012 
+ 00021288  0x00005370 ifetch  0x00000002 , 0x00000011 
+ 00021289  0x00005371 copy  0x0000003f , 0x00000005 
+ 00021290  0x00005372 copy  0x00000012 , 0x00000006 
+ 00021291  0x00005373 increase  0xfffffffe , 0x00000006 
+ 00021292  0x00005374 call  0x00007f01 
+ 00021293  0x00005375 branch  0x0000531f 
+ 00021294  0x00005380 bpatchx  0x00000032 , 0x00004026 
+ 00021295  0x00005381 disable  0x0000002b 
+ 00021296  0x00005382 jam  0x00000001 , 0x00000455 
+ 00021297  0x00005383 jam  0x00000003 , 0x0000043f 
+ 00021298  0x00005384 jam  0x00000001 , 0x00000456 
+ 00021299  0x00005385 setarg  0xffffffff 
+ 00021300  0x00005386 store  0x00000002 , 0x00000459 
+ 00021301  0x00005387 force  0x00000000 , 0x0000003f 
+ 00021302  0x00005388 store  0x00000001 , 0x00000457 
+ 00021303  0x00005389 store  0x00000001 , 0x00000462 
+ 00021304  0x0000538a store  0x00000003 , 0x00004169 
+ 00021305  0x0000538b store  0x00000003 , 0x0000416c 
+ 00021306  0x0000538c store  0x00000005 , 0x00004403 
+ 00021307  0x0000538d set1  0x00000027 , 0x0000003f 
+ 00021308  0x0000538e store  0x00000005 , 0x00004408 
+ 00021309  0x0000538f jam  0x00000001 , 0x000043dc 
+ 00021310  0x00005390 jam  0x00000000 , 0x000043dd 
+ 00021311  0x00005391 branch  0x000056ed 
+ 00021312  0x00005394 bpatchx  0x00000033 , 0x00004026 
+ 00021313  0x00005395 enable  0x00000029 
+ 00021314  0x00005396 jam  0x00000003 , 0x00000440 
+ 00021315  0x00005397 jam  0x00000001 , 0x00000478 
+ 00021316  0x00005398 jam  0x00000001 , 0x0000445a 
+ 00021317  0x00005399 setarg  0x0000ffff 
+ 00021318  0x0000539a store  0x00000002 , 0x0000445c 
+ 00021319  0x0000539b force  0x00000000 , 0x0000003f 
+ 00021320  0x0000539c store  0x00000005 , 0x00004408 
+ 00021321  0x0000539d set1  0x00000027 , 0x0000003f 
+ 00021322  0x0000539e store  0x00000005 , 0x00004403 
+ 00021323  0x0000539f branch  0x0000532e 
+ 00021324  0x000053a3 bpatchx  0x00000034 , 0x00004026 
+ 00021325  0x000053a4 disable  0x00000029 
+ 00021326  0x000053a5 setarg  0x00000017 
+ 00021327  0x000053a6 store  0x00000002 , 0x000044a8 
+ 00021328  0x000053a7 jam  0x00000001 , 0x00000440 
+ 00021329  0x000053a8 jam  0x00000000 , 0x0000436e 
+ 00021330  0x000053a9 jam  0x00000000 , 0x000000a0 
+ 00021331  0x000053aa jam  0x00000000 , 0x000044c4 
+ 00021332  0x000053ab jam  0x00000000 , 0x000044c5 
+ 00021333  0x000053ac fetch  0x00000002 , 0x0000046d 
+ 00021334  0x000053ad store  0x00000002 , 0x000044ba 
+ 00021335  0x000053ae fetch  0x00000002 , 0x00000441 
+ 00021336  0x000053af mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00021337  0x000053b0 rshift4  0x0000003f , 0x0000003f 
+ 00021338  0x000053b1 store  0x00000002 , 0x0000046d 
+ 00021339  0x000053b2 branch  0x0000532e 
+ 00021340  0x000053b9 call  0x000053c4 
+ 00021341  0x000053ba call  0x000055e8 
+ 00021342  0x000053bb call  0x000056f0 
+ 00021343  0x000053bc branch  0x000053ce 
+ 00021344  0x000053bf bpatchx  0x00000035 , 0x00004026 
+ 00021345  0x000053c0 call  0x000053c4 
+ 00021346  0x000053c1 call  0x000032f4 
+ 00021347  0x000053c2 fetch  0x00000001 , 0x00000440 
+ 00021348  0x000053c3 beq  0x00000003 , 0x00005366 
+ 00021349  0x000053c4 branch  0x0000537a 
+ 00021350  0x000053cb bpatchx  0x00000036 , 0x00004026 
+ 00021351  0x000053cc enable  0x00000029 
+ 00021352  0x000053cd call  0x000056e4 
+ 00021353  0x000053ce branch  0x00005377 , 0x00000002 
+ 00021354  0x000053cf call  0x00002c6c 
+ 00021355  0x000053d0 call  0x00005413 
+ 00021356  0x000053d1 call  0x0000561e 
+ 00021357  0x000053d2 disable  0x0000002d 
+ 00021358  0x000053d3 call  0x000054bf 
+ 00021359  0x000053d4 nrtn  0x0000002d 
+ 00021360  0x000053d5 bpatchx  0x00000037 , 0x00004026 
+ 00021361  0x000053d6 fetch  0x00000001 , 0x00000005 
+ 00021362  0x000053d7 increase  0x00000001 , 0x0000003f 
+ 00021363  0x000053d8 store  0x00000001 , 0x00000005 
+ 00021364  0x000053d9 call  0x000055aa 
+ 00021365  0x000053da disable  0x00000029 
+ 00021366  0x000053db rtn 
+ 00021367  0x000053de call  0x000053a9 
+ 00021368  0x000053df disable  0x00000029 
+ 00021369  0x000053e0 rtn 
+ 00021370  0x000053e6 bpatchx  0x00000038 , 0x00004027 
+ 00021371  0x000053e7 jam  0x00000000 , 0x0000450f 
+ 00021372  0x000053e8 call  0x00007aaf 
+ 00021373  0x000053e9 call  0x00005c18 
+ 00021374  0x000053ea disable  0x0000002e 
+ 00021375  0x000053eb call  0x000056e4 
+ 00021376  0x000053ec branch  0x000053a9 , 0x00000002 
+ 00021377  0x000053ed call  0x00002c6c 
+ 00021378  0x000053ee call  0x00005413 
+ 00021379  0x000053ef call  0x00005489 
+ 00021380  0x000053f0 nbranch  0x0000539b , 0x00000018 
+ 00021381  0x000053f1 call  0x000053b7 
+ 00021382  0x000053f2 branch  0x00005388 , 0x0000002d 
+ 00021383  0x000053f3 branch  0x00005395 
+ 00021384  0x000053f7 bpatchx  0x00000039 , 0x00004027 
+ 00021385  0x000053f8 fetch  0x00000001 , 0x0000450f 
+ 00021386  0x000053f9 pincrease  0x00000001 
+ 00021387  0x000053fa store  0x00000001 , 0x0000450f 
+ 00021388  0x000053fb beq  0x0000000c , 0x00005395 
+ 00021389  0x000053fc call  0x000055aa 
+ 00021390  0x000053fd call  0x0000561e 
+ 00021391  0x000053fe call  0x000054c7 
+ 00021392  0x000053ff call  0x0000567e 
+ 00021393  0x00005400 fetch  0x00000002 , 0x000041fb 
+ 00021394  0x00005401 call  0x00007f9c 
+ 00021395  0x00005402 call  0x000053a0 
+ 00021396  0x00005403 branch  0x000053a4 , 0x00000028 
+ 00021397  0x00005405 bpatchx  0x0000003a , 0x00004027 
+ 00021398  0x00005406 call  0x00005be4 
+ 00021399  0x00005407 call  0x00005bdb 
+ 00021400  0x00005408 call  0x00007d9c 
+ 00021401  0x00005409 fetch  0x00000001 , 0x00000462 
+ 00021402  0x0000540a bbit1  0x00000003 , 0x000053a9 
+ 00021403  0x0000540c bpatchx  0x0000003b , 0x00004027 
+ 00021404  0x0000540d call  0x000057f4 
+ 00021405  0x0000540e call  0x0000559d 
+ 00021406  0x0000540f call  0x00005575 
+ 00021407  0x00005410 branch  0x00002841 
+ 00021408  0x00005414 disable  0x00000028 
+ 00021409  0x00005415 bmark1  0x0000002a , 0x00007fe7 
+ 00021410  0x00005416 bmark1  0x00000029 , 0x00007fe7 
+ 00021411  0x00005417 rtn 
+ 00021412  0x0000541b bpatchx  0x0000003c , 0x00004027 
+ 00021413  0x0000541c enable  0x0000002e 
+ 00021414  0x0000541d call  0x000054c1 
+ 00021415  0x0000541e branch  0x00005388 , 0x0000002d 
+ 00021416  0x0000541f branch  0x00005395 
+ 00021417  0x00005425 bpatchx  0x0000003d , 0x00004027 
+ 00021418  0x00005426 call  0x000053af 
+ 00021419  0x00005427 call  0x000033b4 
+ 00021420  0x00005428 call  0x00007a77 
+ 00021421  0x00005429 jam  0x00000015 , 0x00000a99 
+ 00021422  0x0000542a branch  0x00007d86 
+ 00021423  0x0000542d setarg  0x00000000 
+ 00021424  0x0000542e store  0x00000009 , 0x000044ff 
+ 00021425  0x0000542f jam  0x00000000 , 0x00000455 
+ 00021426  0x00005430 jam  0x00000000 , 0x00000440 
+ 00021427  0x00005431 jam  0x00000000 , 0x0000043f 
+ 00021428  0x00005432 jam  0x00000000 , 0x000044c5 
+ 00021429  0x00005433 jam  0x00000000 , 0x000044c4 
+ 00021430  0x00005434 rtn 
+ 00021431  0x00005437 bpatchx  0x0000003e , 0x00004027 
+ 00021432  0x00005438 fetch  0x00000001 , 0x00000005 
+ 00021433  0x00005439 increase  0x00000001 , 0x0000003f 
+ 00021434  0x0000543a store  0x00000001 , 0x00000005 
+ 00021435  0x0000543b fetch  0x00000001 , 0x0000043f 
+ 00021436  0x0000543c rtnbit1  0x00000003 
+ 00021437  0x0000543d set1  0x00000003 
+ 00021438  0x0000543e store  0x00000001 , 0x0000043f 
+ 00021439  0x0000543f fetch  0x00000002 , 0x000044ba 
+ 00021440  0x00005440 store  0x00000002 , 0x0000046d 
+ 00021441  0x00005441 setarg  0x00000000 
+ 00021442  0x00005442 store  0x00000004 , 0x000044e5 
+ 00021443  0x00005443 rtn 
+ 00021444  0x00005447 bpatchx  0x0000003f , 0x00004027 
+ 00021445  0x00005448 jam  0x00000036 , 0x0000890f 
+ 00021446  0x00005449 jam  0x0000005f , 0x0000890b 
+ 00021447  0x0000544a enable  0x00000036 
+ 00021448  0x0000544b jam  0x00000007 , 0x00008914 
+ 00021449  0x0000544c call  0x00002c6c 
+ 00021450  0x0000544d fetch  0x00000001 , 0x000041e0 
+ 00021451  0x0000544e rtn  0x00000034 
+ 00021452  0x0000544f jam  0x000000b8 , 0x0000890a 
+ 00021453  0x00005450 rtn 
+ 00021454  0x00005453 bpatchx  0x00000040 , 0x00004028 
+ 00021455  0x00005454 jam  0x0000002e , 0x0000890f 
+ 00021456  0x00005455 jam  0x000000ff , 0x0000890b 
+ 00021457  0x00005456 disable  0x00000036 
+ 00021458  0x00005457 jam  0x00000003 , 0x00008914 
+ 00021459  0x00005458 arg  0x00000000 , 0x0000001b 
+ 00021460  0x00005459 rtn 
+ 00021461  0x0000545c disable  0x00000009 
+ 00021462  0x0000545d disable  0x00000007 
+ 00021463  0x0000545e fetch  0x00000003 , 0x00000467 
+ 00021464  0x0000545f iforce  0x0000000f 
+ 00021465  0x00005460 fetch  0x00000001 , 0x00000016 
+ 00021466  0x00005461 reverse  0x0000003f , 0x00000002 
+ 00021467  0x00005462 set1  0x00000001 , 0x00000002 
+ 00021468  0x00005463 rshift  0x00000002 , 0x0000000e 
+ 00021469  0x00005464 rtn 
+ 00021470  0x00005468 call  0x000053e6 
+ 00021471  0x00005469 call  0x0000291f 
+ 00021472  0x0000546a setarg  0x00000500 
+ 00021473  0x0000546b call  0x00002a8f 
+ 00021474  0x0000546c branch  0x00002924 
+ 00021475  0x0000546f branch  0x00002939 , 0x0000002d 
+ 00021476  0x00005471 call  0x000053e6 
+ 00021477  0x00005472 branch  0x00002933 
+ 00021478  0x00005474 bpatchx  0x00000041 , 0x00004028 
+ 00021479  0x00005475 call  0x00002918 
+ 00021480  0x00005476 fetch  0x00000001 , 0x0000048c 
+ 00021481  0x00005477 nbranch  0x000053f9 , 0x00000034 
+ 00021482  0x00005478 fetch  0x00000001 , 0x00000016 
+ 00021483  0x00005479 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021484  0x0000547a branch  0x000053f3 , 0x00000002 
+ 00021485  0x0000547b force  0x00000000 , 0x00000002 
+ 00021486  0x0000547c rtneq  0x00000025 
+ 00021487  0x0000547d force  0x00000018 , 0x00000002 
+ 00021488  0x0000547e rtneq  0x00000026 
+ 00021489  0x0000547f force  0x0000004e , 0x00000002 
+ 00021490  0x00005480 rtn 
+ 00021491  0x00005483 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00021492  0x00005484 branch  0x000053f6 , 0x00000002 
+ 00021493  0x00005485 increase  0x00000001 , 0x0000003f 
+ 00021494  0x00005488 lshift  0x0000003f , 0x0000003f 
+ 00021495  0x00005489 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00021496  0x0000548a rtn 
+ 00021497  0x0000548d fetch  0x00000001 , 0x00000016 
+ 00021498  0x0000548e lshift  0x0000003f , 0x00000002 
+ 00021499  0x0000548f rtn 
+ 00021500  0x00005492 arg  0x000001f4 , 0x00000002 
+ 00021501  0x00005493 rtn  0x00000034 
+ 00021502  0x00005494 arg  0x000000fa , 0x00000002 
+ 00021503  0x00005495 rtneq  0x00000001 
+ 00021504  0x00005496 arg  0x00000096 , 0x00000002 
+ 00021505  0x00005497 rtneq  0x00000002 
+ 00021506  0x00005498 arg  0x00000064 , 0x00000002 
+ 00021507  0x00005499 rtneq  0x00000003 
+ 00021508  0x0000549a arg  0x0000004b , 0x00000002 
+ 00021509  0x0000549b rtneq  0x00000004 
+ 00021510  0x0000549c arg  0x00000032 , 0x00000002 
+ 00021511  0x0000549d rtneq  0x00000005 
+ 00021512  0x0000549e arg  0x00000028 , 0x00000002 
+ 00021513  0x0000549f rtneq  0x00000006 
+ 00021514  0x000054a0 arg  0x00000014 , 0x00000002 
+ 00021515  0x000054a1 rtn 
+ 00021516  0x000054a6 setarg  0x008e89be 
+ 00021517  0x000054a7 lshift8  0x0000003f , 0x0000003f 
+ 00021518  0x000054a8 or_into  0x000000d6 , 0x0000003f 
+ 00021519  0x000054a9 iforce  0x00000009 
+ 00021520  0x000054aa setarg  0x00555555 
+ 00021521  0x000054ab store  0x00000003 , 0x00000467 
+ 00021522  0x000054ac rtn 
+ 00021523  0x000054af bpatchx  0x00000042 , 0x00004028 
+ 00021524  0x000054b0 enable  0x00000010 
+ 00021525  0x000054b1 fetch  0x00000004 , 0x00000463 
+ 00021526  0x000054b2 iforce  0x00000009 
+ 00021527  0x000054b3 call  0x00005466 
+ 00021528  0x000054b4 setarg  0x00000200 
+ 00021529  0x000054b5 branch  0x0000541c , 0x00000029 
+ 00021530  0x000054b6 fetch  0x00000002 , 0x0000044d 
+ 00021531  0x000054b7 rshift  0x0000003f , 0x0000003f 
+ 00021532  0x000054b9 arg  0x00000500 , 0x00000002 
+ 00021533  0x000054ba iadd  0x00000002 , 0x0000003f 
+ 00021534  0x000054bb call  0x00002a24 
+ 00021535  0x000054bc deposit  0x0000001a 
+ 00021536  0x000054bd store  0x00000006 , 0x00000491 
+ 00021537  0x000054be rtn 
+ 00021538  0x000054c1 bpatchx  0x00000043 , 0x00004028 
+ 00021539  0x000054c2 fetch  0x00000001 , 0x00000016 
+ 00021540  0x000054c3 beq  0x00000025 , 0x00005428 
+ 00021541  0x000054c4 beq  0x00000026 , 0x0000542e 
+ 00021542  0x000054c5 beq  0x00000027 , 0x00005434 
+ 00021543  0x000054c6 branch  0x00005434 
+ 00021544  0x000054c9 fetcht  0x00000001 , 0x0000448d 
+ 00021545  0x000054ca isolate1  0x00000001 , 0x00000002 
+ 00021546  0x000054cb branch  0x0000543f , 0x00000001 
+ 00021547  0x000054cc isolate1  0x00000002 , 0x00000002 
+ 00021548  0x000054cd branch  0x00005444 , 0x00000001 
+ 00021549  0x000054ce branch  0x0000543a 
+ 00021550  0x000054d2 fetcht  0x00000001 , 0x0000448d 
+ 00021551  0x000054d3 isolate1  0x00000002 , 0x00000002 
+ 00021552  0x000054d4 branch  0x00005444 , 0x00000001 
+ 00021553  0x000054d5 isolate1  0x00000000 , 0x00000002 
+ 00021554  0x000054d6 branch  0x0000543a , 0x00000001 
+ 00021555  0x000054d7 branch  0x0000543f 
+ 00021556  0x000054db fetcht  0x00000001 , 0x0000448d 
+ 00021557  0x000054dc isolate1  0x00000000 , 0x00000002 
+ 00021558  0x000054dd branch  0x0000543a , 0x00000001 
+ 00021559  0x000054de isolate1  0x00000001 , 0x00000002 
+ 00021560  0x000054df branch  0x0000543f , 0x00000001 
+ 00021561  0x000054e0 branch  0x00005444 
+ 00021562  0x000054e5 jam  0x00000025 , 0x00000016 
+ 00021563  0x000054e6 fetch  0x00000001 , 0x00000ac2 
+ 00021564  0x000054e7 set1  0x00000000 , 0x0000003f 
+ 00021565  0x000054e8 store  0x00000001 , 0x00000ac2 
+ 00021566  0x000054e9 rtn 
+ 00021567  0x000054ec jam  0x00000026 , 0x00000016 
+ 00021568  0x000054ed fetch  0x00000001 , 0x00000ac2 
+ 00021569  0x000054ee set1  0x00000001 , 0x0000003f 
+ 00021570  0x000054ef store  0x00000001 , 0x00000ac2 
+ 00021571  0x000054f0 rtn 
+ 00021572  0x000054f3 jam  0x00000027 , 0x00000016 
+ 00021573  0x000054f4 fetch  0x00000001 , 0x00000ac2 
+ 00021574  0x000054f5 set1  0x00000002 , 0x0000003f 
+ 00021575  0x000054f6 store  0x00000001 , 0x00000ac2 
+ 00021576  0x000054f7 rtn 
+ 00021577  0x000054fc bpatchx  0x00000044 , 0x00004028 
+ 00021578  0x000054fd add  0x00000011 , 0x00000001 , 0x00000006 
+ 00021579  0x000054fe ifetch  0x00000001 , 0x00000006 
+ 00021580  0x000054ff rtnbit0  0x00000000 
+ 00021581  0x00005500 add  0x00000011 , 0x0000001a , 0x00000005 
+ 00021582  0x00005501 ifetch  0x00000002 , 0x00000005 
+ 00021583  0x00005502 increase  0x00000001 , 0x0000003f 
+ 00021584  0x00005503 istore  0x00000002 , 0x00000005 
+ 00021585  0x00005504 add  0x00000011 , 0x00000019 , 0x00000006 
+ 00021586  0x00005505 ifetch  0x00000001 , 0x00000006 
+ 00021587  0x00005506 add  0x00000011 , 0x00000018 , 0x00000005 
+ 00021588  0x00005507 ifetcht  0x00000001 , 0x00000005 
+ 00021589  0x00005508 iadd  0x00000002 , 0x0000003f 
+ 00021590  0x00005509 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021591  0x0000550a branch  0x00005459 , 0x00000002 
+ 00021592  0x0000550b increase  0xffffffdb , 0x0000003f 
+ 00021593  0x0000550d istore  0x00000001 , 0x00000005 
+ 00021594  0x0000550e rtn 
+ 00021595  0x00005512 bpatchx  0x00000045 , 0x00004028 
+ 00021596  0x00005513 fetch  0x00000005 , 0x0000046f 
+ 00021597  0x00005514 force  0x00000000 , 0x00000002 
+ 00021598  0x00005515 force  0x00000025 , 0x00000039 
+ 00021599  0x00005517 bbit0  0x00000000 , 0x00005461 
+ 00021600  0x00005518 increase  0x00000001 , 0x00000002 
+ 00021601  0x0000551a rshift  0x0000003f , 0x0000003f 
+ 00021602  0x0000551b loop  0x0000545f 
+ 00021603  0x0000551c add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00021604  0x0000551d store  0x00000001 , 0x00000461 
+ 00021605  0x0000551e rtn 
+ 00021606  0x00005521 bpatchx  0x00000046 , 0x00004028 
+ 00021607  0x00005522 fetch  0x00000001 , 0x00000457 
+ 00021608  0x00005523 iforce  0x00000007 
+ 00021609  0x00005524 fetcht  0x00000005 , 0x0000046f 
+ 00021610  0x00005525 qisolate1  0x00000002 
+ 00021611  0x00005526 branch  0x0000547c , 0x00000001 
+ 00021612  0x00005528 bpatchx  0x00000047 , 0x00004028 
+ 00021613  0x00005529 fetch  0x00000001 , 0x00000461 
+ 00021614  0x0000552a isub  0x00000007 , 0x0000003f 
+ 00021615  0x0000552b branch  0x00005472 , 0x00000002 
+ 00021616  0x0000552c sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00021617  0x0000552d branch  0x0000546c 
+ 00021618  0x0000552f copy  0x00000007 , 0x00000039 
+ 00021619  0x00005530 force  0x00000000 , 0x00000007 
+ 00021620  0x00005532 qisolate1  0x00000002 
+ 00021621  0x00005533 branch  0x00005477 , 0x00000001 
+ 00021622  0x00005534 increase  0x00000001 , 0x00000039 
+ 00021623  0x00005536 deposit  0x00000039 
+ 00021624  0x00005537 branch  0x0000547c , 0x00000034 
+ 00021625  0x00005538 increase  0x00000001 , 0x00000007 
+ 00021626  0x00005539 increase  0xffffffff , 0x00000039 
+ 00021627  0x0000553a branch  0x00005474 
+ 00021628  0x0000553c deposit  0x00000007 
+ 00021629  0x0000553d store  0x00000001 , 0x00000016 
+ 00021630  0x0000553e rtn 
+ 00021631  0x00005542 branch  0x00005482 , 0x00000029 
+ 00021632  0x00005543 until  0x0000003e , 0x00000003 
+ 00021633  0x00005544 rtn 
+ 00021634  0x00005547 arg  0x00000ea0 , 0x0000000b 
+ 00021635  0x00005548 until  0x00000023 , 0x00000026 
+ 00021636  0x00005549 rtn 
+ 00021637  0x0000554c disable  0x00000010 
+ 00021638  0x0000554d fetch  0x00000002 , 0x0000436c 
+ 00021639  0x0000554e copy  0x0000003f , 0x0000000b 
+ 00021640  0x0000554f branch  0x0000548e 
+ 00021641  0x00005553 bpatchx  0x00000048 , 0x00004029 
+ 00021642  0x00005554 enable  0x00000010 
+ 00021643  0x00005555 fetch  0x00000002 , 0x0000044d 
+ 00021644  0x00005556 fetcht  0x00000004 , 0x000044e5 
+ 00021645  0x00005557 iadd  0x00000002 , 0x0000000b 
+ 00021646  0x00005559 call  0x000053de 
+ 00021647  0x0000555b bpatchx  0x00000049 , 0x00004029 
+ 00021648  0x0000555c call  0x000053d5 
+ 00021649  0x0000555d disable  0x0000002d 
+ 00021650  0x0000555e enable  0x0000000d 
+ 00021651  0x0000555f enable  0x00000021 
+ 00021652  0x00005560 disable  0x00000020 
+ 00021653  0x00005561 copy  0x0000000b , 0x0000001b 
+ 00021654  0x00005562 correlate  0x0000003e , 0x00000003 
+ 00021655  0x00005563 branch  0x0000549a , 0x0000002e 
+ 00021656  0x00005564 copy  0x0000001a , 0x00000002 
+ 00021657  0x00005565 storet  0x00000006 , 0x0000009a 
+ 00021658  0x00005567 nbranch  0x0000264d , 0x00000018 
+ 00021659  0x00005568 branch  0x000054a1 , 0x0000002e 
+ 00021660  0x00005569 arg  0x000001e0 , 0x00000029 
+ 00021661  0x0000556a copy  0x00000021 , 0x00000028 
+ 00021662  0x0000556b fetch  0x00000001 , 0x0000043f 
+ 00021663  0x0000556c bbit0  0x00000003 , 0x000054a1 
+ 00021664  0x0000556d call  0x00002b05 , 0x0000002b 
+ 00021665  0x0000556f bpatchx  0x0000004a , 0x00004029 
+ 00021666  0x00005570 call  0x000029bb 
+ 00021667  0x00005571 enable  0x00000007 
+ 00021668  0x00005572 enable  0x00000009 
+ 00021669  0x00005573 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021670  0x00005574 rshift3  0x0000000c , 0x0000003f 
+ 00021671  0x00005575 store  0x00000001 , 0x000002d9 
+ 00021672  0x00005576 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021673  0x00005577 rshift3  0x0000000c , 0x0000003f 
+ 00021674  0x00005578 istore  0x00000001 , 0x00000005 
+ 00021675  0x00005579 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021676  0x0000557a branch  0x000054b1 , 0x00000005 
+ 00021677  0x0000557d parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021678  0x0000557e rshift3  0x0000000c , 0x0000003f 
+ 00021679  0x0000557f istore  0x00000001 , 0x00000005 
+ 00021680  0x00005580 loop  0x000054ad 
+ 00021681  0x00005583 bpatchx  0x0000004b , 0x00004029 
+ 00021682  0x00005584 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00021683  0x00005585 enable  0x00000010 
+ 00021684  0x00005586 arg  0x00000664 , 0x0000001b 
+ 00021685  0x00005587 rshift32  0x0000003f , 0x0000003f 
+ 00021686  0x00005588 rshift16  0x0000003f , 0x0000003f 
+ 00021687  0x00005589 istore  0x00000003 , 0x00000005 
+ 00021688  0x0000558a branch  0x0000264d , 0x00000006 
+ 00021689  0x0000558b enable  0x0000002d 
+ 00021690  0x0000558c fetch  0x00000001 , 0x00000017 
+ 00021691  0x0000558d add  0x0000003f , 0x00000000 , 0x00000011 
+ 00021692  0x0000558e call  0x00002981 
+ 00021693  0x0000558f disable  0x0000000d 
+ 00021694  0x00005590 branch  0x00002918 
+ 00021695  0x00005593 bpatchx  0x0000004c , 0x00004029 
+ 00021696  0x00005594 call  0x000054c9 
+ 00021697  0x00005596 fetcht  0x00000001 , 0x00000017 
+ 00021698  0x00005597 call  0x0000291f 
+ 00021699  0x00005598 call  0x00002924 
+ 00021700  0x00005599 enable  0x00000010 
+ 00021701  0x0000559a arg  0x0000157c , 0x0000000b 
+ 00021702  0x0000559b branch  0x0000548f 
+ 00021703  0x0000559e call  0x000054c9 
+ 00021704  0x0000559f branch  0x0000264d 
+ 00021705  0x000055a2 bpatchx  0x0000004d , 0x00004029 
+ 00021706  0x000055a3 call  0x000053d5 
+ 00021707  0x000055a4 call  0x000053e3 
+ 00021708  0x000055a5 branch  0x000054cd 
+ 00021709  0x000055a8 set1  0x00000000 , 0x00000015 
+ 00021710  0x000055a9 enable  0x0000001d 
+ 00021711  0x000055aa enable  0x00000020 
+ 00021712  0x000055ab disable  0x00000021 
+ 00021713  0x000055ac call  0x0000547f 
+ 00021714  0x000055ad rshift16  0x00000009 , 0x0000003f 
+ 00021715  0x000055ae rshift8  0x0000003f , 0x0000003f 
+ 00021716  0x000055af rshift4  0x0000003f , 0x0000003f 
+ 00021717  0x000055b0 inject  0x00000003 , 0x00000028 
+ 00021718  0x000055b1 enable  0x00000007 
+ 00021719  0x000055b2 enable  0x00000009 
+ 00021720  0x000055b3 bpatchx  0x0000004e , 0x00004029 
+ 00021721  0x000055b4 fetch  0x00000001 , 0x000043dc 
+ 00021722  0x000055b5 inject  0x00000003 , 0x00000008 
+ 00021723  0x000055b6 ifetch  0x00000001 , 0x00000006 
+ 00021724  0x000055b7 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021725  0x000055b8 inject  0x00000003 , 0x00000008 
+ 00021726  0x000055b9 branch  0x000054e2 , 0x00000005 
+ 00021727  0x000055bb ifetch  0x00000001 , 0x00000006 
+ 00021728  0x000055bc inject  0x00000003 , 0x00000008 
+ 00021729  0x000055bd loop  0x000054df 
+ 00021730  0x000055c0 enable  0x00000008 
+ 00021731  0x000055c1 inject  0x00000003 , 0x00000018 
+ 00021732  0x000055c2 disable  0x00000008 
+ 00021733  0x000055c3 until  0x0000003e , 0x00000027 
+ 00021734  0x000055c4 nop  0x00000064 
+ 00021735  0x000055c5 disable  0x0000001d 
+ 00021736  0x000055c6 rtn 
+ 00021737  0x000055c9 bpatchx  0x0000004f , 0x00004029 
+ 00021738  0x000055ca fetch  0x00000001 , 0x00004484 
+ 00021739  0x000055cb beq  0x00000001 , 0x000054f9 
+ 00021740  0x000055cc fetch  0x00000001 , 0x00004485 
+ 00021741  0x000055cd lshift4  0x0000003f , 0x0000003f 
+ 00021742  0x000055ce lshift2  0x0000003f , 0x0000003f 
+ 00021743  0x000055cf store  0x00000001 , 0x000043dc 
+ 00021744  0x000055d0 fetcht  0x00000001 , 0x0000436f 
+ 00021745  0x000055d1 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021746  0x000055d2 store  0x00000001 , 0x000043dd 
+ 00021747  0x000055d3 fetch  0x00000006 , 0x000044a0 
+ 00021748  0x000055d4 store  0x00000006 , 0x000043de 
+ 00021749  0x000055d5 copy  0x00000002 , 0x00000039 
+ 00021750  0x000055d6 arg  0x00004370 , 0x00000006 
+ 00021751  0x000055d7 call  0x00007ef4 
+ 00021752  0x000055d8 branch  0x00005504 
+ 00021753  0x000055da fetch  0x00000001 , 0x00004486 
+ 00021754  0x000055db lshift4  0x0000003f , 0x0000003f 
+ 00021755  0x000055dc lshift2  0x0000003f , 0x0000003f 
+ 00021756  0x000055dd increase  0x00000001 , 0x0000003f 
+ 00021757  0x000055de store  0x00000001 , 0x000043dc 
+ 00021758  0x000055df setarg  0x0000000c 
+ 00021759  0x000055e0 store  0x00000001 , 0x000043dd 
+ 00021760  0x000055e1 fetch  0x00000006 , 0x000044a0 
+ 00021761  0x000055e2 store  0x00000006 , 0x000043de 
+ 00021762  0x000055e3 fetch  0x00000006 , 0x000041d0 
+ 00021763  0x000055e4 istore  0x00000006 , 0x00000005 
+ 00021764  0x000055e6 bpatchx  0x00000050 , 0x0000402a 
+ 00021765  0x000055e7 fetch  0x00000001 , 0x00000000 
+ 00021766  0x000055e8 increase  0x00000001 , 0x0000003f 
+ 00021767  0x000055e9 store  0x00000001 , 0x00000000 
+ 00021768  0x000055ea arg  0x00000708 , 0x0000001b 
+ 00021769  0x000055eb disable  0x0000002d 
+ 00021770  0x000055ec branch  0x000054bf 
+ 00021771  0x000055ef bpatchx  0x00000051 , 0x0000402a 
+ 00021772  0x000055f0 fetch  0x00000001 , 0x0000449e 
+ 00021773  0x000055f1 rtnne  0x00000001 
+ 00021774  0x000055f2 fetch  0x00000001 , 0x00000000 
+ 00021775  0x000055f3 increase  0x00000001 , 0x0000003f 
+ 00021776  0x000055f4 store  0x00000001 , 0x00000000 
+ 00021777  0x000055f5 arg  0x00000c03 , 0x00000002 
+ 00021778  0x000055f6 fetch  0x00000001 , 0x0000449f 
+ 00021779  0x000055f7 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021780  0x000055f8 copy  0x00000011 , 0x0000003f 
+ 00021781  0x000055f9 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00021782  0x000055fa storet  0x00000002 , 0x000043dc 
+ 00021783  0x000055fb fetch  0x00000006 , 0x000044a0 
+ 00021784  0x000055fc istore  0x00000006 , 0x00000005 
+ 00021785  0x000055fd fetch  0x00000006 , 0x0000044f 
+ 00021786  0x000055fe istore  0x00000006 , 0x00000005 
+ 00021787  0x000055ff branch  0x000054bf 
+ 00021788  0x00005603 bpatchx  0x00000052 , 0x0000402a 
+ 00021789  0x00005604 arg  0x00000004 , 0x00000002 
+ 00021790  0x00005605 fetch  0x00000001 , 0x00004485 
+ 00021791  0x00005606 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021792  0x00005607 storet  0x00000001 , 0x000043dc 
+ 00021793  0x00005608 fetcht  0x00000001 , 0x0000438f 
+ 00021794  0x00005609 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021795  0x0000560a store  0x00000001 , 0x000043dd 
+ 00021796  0x0000560b fetch  0x00000006 , 0x000044a0 
+ 00021797  0x0000560c store  0x00000006 , 0x000043de 
+ 00021798  0x0000560d arg  0x00004390 , 0x00000006 
+ 00021799  0x0000560e copy  0x00000002 , 0x00000039 
+ 00021800  0x0000560f call  0x00007ef4 
+ 00021801  0x00005610 call  0x000054c7 
+ 00021802  0x00005611 branch  0x00005706 
+ 00021803  0x00005614 bpatchx  0x00000053 , 0x0000402a 
+ 00021804  0x00005615 force  0xffffffff , 0x0000003f 
+ 00021805  0x00005616 setsect  0x00000002 , 0x00000001 
+ 00021806  0x00005617 store  0x00000005 , 0x0000046f 
+ 00021807  0x00005618 call  0x0000545b 
+ 00021808  0x00005619 force  0x00000004 , 0x00000039 
+ 00021809  0x0000561a arg  0x00000463 , 0x00000005 
+ 00021810  0x0000561b call  0x0000630d 
+ 00021811  0x0000561c fetch  0x00000002 , 0x0000449c 
+ 00021812  0x0000561d store  0x00000002 , 0x0000046d 
+ 00021813  0x0000561f random  0x0000003f 
+ 00021814  0x00005620 and_into  0x0000000f , 0x0000003f 
+ 00021815  0x00005621 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00021816  0x00005622 branch  0x00005535 , 0x00000002 
+ 00021817  0x00005623 store  0x00000001 , 0x00000458 
+ 00021818  0x00005624 store  0x00000001 , 0x000006e6 
+ 00021819  0x00005625 bpatchx  0x00000054 , 0x0000402a 
+ 00021820  0x00005626 fetcht  0x00000002 , 0x00004367 
+ 00021821  0x00005627 storet  0x00000002 , 0x00000441 
+ 00021822  0x00005628 copy  0x00000002 , 0x00000013 
+ 00021823  0x00005629 add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00021824  0x0000562a idiv  0x00000013 
+ 00021825  0x0000562b call  0x00007f86 
+ 00021826  0x0000562c remainder  0x00000011 
+ 00021827  0x0000562d isub  0x00000011 , 0x0000003f 
+ 00021828  0x0000562e iadd  0x00000013 , 0x0000003f 
+ 00021829  0x0000562f fetcht  0x00000002 , 0x00004365 
+ 00021830  0x00005630 iadd  0x00000002 , 0x0000003f 
+ 00021831  0x00005631 store  0x00000004 , 0x00000443 
+ 00021832  0x00005632 isub  0x00000022 , 0x00000011 
+ 00021833  0x00005633 increase  0xfffffffa , 0x00000011 
+ 00021834  0x00005634 arg  0x00002205 , 0x00000012 
+ 00021835  0x00005635 fetch  0x00000001 , 0x00004495 
+ 00021836  0x00005636 nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00021837  0x00005637 fetch  0x00000001 , 0x0000448e 
+ 00021838  0x00005638 nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00021839  0x00005639 copy  0x00000012 , 0x0000003f 
+ 00021840  0x0000563a store  0x00000002 , 0x000043dc 
+ 00021841  0x0000563b fetch  0x00000006 , 0x000044a0 
+ 00021842  0x0000563c istore  0x00000006 , 0x00000005 
+ 00021843  0x0000563d fetch  0x00000006 , 0x0000044f 
+ 00021844  0x0000563e istore  0x00000006 , 0x00000005 
+ 00021845  0x0000563f fetch  0x00000004 , 0x00000463 
+ 00021846  0x00005640 istore  0x00000004 , 0x00000005 
+ 00021847  0x00005641 random  0x0000003f 
+ 00021848  0x00005642 istore  0x00000002 , 0x00000005 
+ 00021849  0x00005643 random  0x0000003f 
+ 00021850  0x00005644 istore  0x00000001 , 0x00000005 
+ 00021851  0x00005645 force  0x00000002 , 0x0000003f 
+ 00021852  0x00005646 istore  0x00000001 , 0x00000005 
+ 00021853  0x00005647 rshift2  0x00000011 , 0x0000003f 
+ 00021854  0x00005648 istore  0x00000002 , 0x00000005 
+ 00021855  0x00005649 rshift2  0x00000013 , 0x0000003f 
+ 00021856  0x0000564a istore  0x00000002 , 0x00000005 
+ 00021857  0x0000564b bpatchx  0x00000055 , 0x0000402a 
+ 00021858  0x0000564c setarg  0x00000000 
+ 00021859  0x0000564d istore  0x00000002 , 0x00000005 
+ 00021860  0x0000564e fetch  0x00000002 , 0x0000449c 
+ 00021861  0x0000564f istore  0x00000002 , 0x00000005 
+ 00021862  0x00005650 fetch  0x00000005 , 0x0000046f 
+ 00021863  0x00005651 istore  0x00000005 , 0x00000005 
+ 00021864  0x00005652 fetch  0x00000001 , 0x00000458 
+ 00021865  0x00005653 arg  0x000000a0 , 0x00000002 
+ 00021866  0x00005654 ior  0x00000002 , 0x0000003f 
+ 00021867  0x00005655 istore  0x00000001 , 0x00000005 
+ 00021868  0x00005656 call  0x000054c7 
+ 00021869  0x00005657 setarg  0x000043dc 
+ 00021870  0x00005658 add  0x0000003f , 0x00000012 , 0x00000006 
+ 00021871  0x00005659 ifetch  0x00000003 , 0x00000006 
+ 00021872  0x0000565a store  0x00000003 , 0x00000467 
+ 00021873  0x0000565b rtn 
+ 00021874  0x0000565e bpatchx  0x00000056 , 0x0000402a 
+ 00021875  0x0000565f disable  0x00000029 
+ 00021876  0x00005660 branch  0x0000540c 
+ 00021877  0x00005665 fetch  0x00000001 , 0x0000043f 
+ 00021878  0x00005666 rtnbit0  0x00000005 
+ 00021879  0x00005667 fetch  0x00000002 , 0x00000459 
+ 00021880  0x00005668 fetcht  0x00000002 , 0x0000045f 
+ 00021881  0x00005669 isub  0x00000002 , 0x0000003f 
+ 00021882  0x0000566a nrtn  0x00000002 
+ 00021883  0x0000566b store  0x00000002 , 0x00000a9a 
+ 00021884  0x0000566c bpatchx  0x00000057 , 0x0000402a 
+ 00021885  0x0000566d fetch  0x00000001 , 0x0000043f 
+ 00021886  0x0000566e set0  0x00000005 , 0x0000003f 
+ 00021887  0x0000566f set0  0x00000003 , 0x0000003f 
+ 00021888  0x00005670 store  0x00000001 , 0x0000043f 
+ 00021889  0x00005671 fetch  0x00000004 , 0x00000443 
+ 00021890  0x00005672 fetcht  0x00000002 , 0x00000441 
+ 00021891  0x00005673 storet  0x00000002 , 0x00000aa2 
+ 00021892  0x00005674 isub  0x00000002 , 0x00000011 
+ 00021893  0x00005675 bpatchx  0x00000058 , 0x0000402b 
+ 00021894  0x00005676 fetch  0x00000001 , 0x000043d3 
+ 00021895  0x00005677 store  0x00000001 , 0x0000046a 
+ 00021896  0x00005678 ifetcht  0x00000002 , 0x00000006 
+ 00021897  0x00005679 ifetch  0x00000002 , 0x00000006 
+ 00021898  0x0000567a lshift2  0x0000003f , 0x0000003f 
+ 00021899  0x0000567b store  0x00000002 , 0x00000441 
+ 00021900  0x0000567c lshift2  0x00000002 , 0x00000002 
+ 00021901  0x0000567d iadd  0x00000002 , 0x0000003f 
+ 00021902  0x0000567e ifetcht  0x00000004 , 0x00000006 
+ 00021903  0x0000567f storet  0x00000004 , 0x0000046b 
+ 00021904  0x00005680 iadd  0x00000011 , 0x0000003f 
+ 00021905  0x00005681 copy  0x0000003f , 0x00000014 
+ 00021906  0x00005682 fetch  0x00000002 , 0x00000441 
+ 00021907  0x00005683 fetcht  0x00000002 , 0x00000aa2 
+ 00021908  0x00005684 isub  0x00000002 , 0x0000003f 
+ 00021909  0x00005685 fetcht  0x00000002 , 0x00000a9a 
+ 00021910  0x00005686 imul32  0x00000002 , 0x0000003f 
+ 00021911  0x00005687 iadd  0x00000014 , 0x0000003f 
+ 00021912  0x00005688 store  0x00000004 , 0x00000443 
+ 00021913  0x00005689 call  0x00005713 
+ 00021914  0x0000568a fetch  0x00000002 , 0x0000046d 
+ 00021915  0x0000568b store  0x00000002 , 0x000044ba 
+ 00021916  0x0000568c rtn 
+ 00021917  0x00005690 bpatchx  0x00000059 , 0x0000402b 
+ 00021918  0x00005691 fetch  0x00000001 , 0x0000043f 
+ 00021919  0x00005692 rtnbit0  0x00000006 
+ 00021920  0x00005693 fetch  0x00000002 , 0x00000459 
+ 00021921  0x00005694 fetcht  0x00000002 , 0x0000045f 
+ 00021922  0x00005695 isub  0x00000002 , 0x0000003f 
+ 00021923  0x00005696 nrtn  0x00000002 
+ 00021924  0x00005697 fetch  0x00000001 , 0x0000043f 
+ 00021925  0x00005698 set0  0x00000006 , 0x0000003f 
+ 00021926  0x00005699 store  0x00000001 , 0x0000043f 
+ 00021927  0x0000569a fetch  0x00000005 , 0x000043ce 
+ 00021928  0x0000569b store  0x00000005 , 0x0000046f 
+ 00021929  0x0000569c branch  0x0000545b 
+ 00021930  0x000056a0 bpatchx  0x0000005a , 0x0000402b 
+ 00021931  0x000056a1 call  0x000056ed 
+ 00021932  0x000056a2 call  0x000055c0 
+ 00021933  0x000056a3 fetch  0x00000001 , 0x000002d9 
+ 00021934  0x000056a4 isolate1  0x00000004 , 0x0000003f 
+ 00021935  0x000056a5 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00021936  0x000056a6 rshift  0x0000003f , 0x0000003f 
+ 00021937  0x000056a7 ixor  0x00000002 , 0x0000003f 
+ 00021938  0x000056a8 isolate1  0x00000002 , 0x0000003f 
+ 00021939  0x000056a9 setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00021940  0x000056aa rtnmark1  0x0000000f 
+ 00021941  0x000056ab fetch  0x00000001 , 0x000002da 
+ 00021942  0x000056ac branch  0x000055bc , 0x00000034 
+ 00021943  0x000056ad fetch  0x00000001 , 0x0000043f 
+ 00021944  0x000056ae bbit0  0x00000004 , 0x000055bc 
+ 00021945  0x000056af call  0x0000748d 
+ 00021946  0x000056b0 call  0x000073fb 
+ 00021947  0x000056b1 nrtn  0x00000034 
+ 00021948  0x000056b3 fetcht  0x00000001 , 0x00000456 
+ 00021949  0x000056b4 setflip  0x00000002 , 0x00000002 
+ 00021950  0x000056b5 storet  0x00000001 , 0x00000456 
+ 00021951  0x000056b6 rtn 
+ 00021952  0x000056ba bpatchx  0x0000005b , 0x0000402b 
+ 00021953  0x000056bb fetcht  0x00000001 , 0x00000456 
+ 00021954  0x000056bc isolate0  0x00000005 , 0x00000002 
+ 00021955  0x000056bd rtn  0x00000001 
+ 00021956  0x000056be fetch  0x00000001 , 0x000002d9 
+ 00021957  0x000056bf lshift  0x0000003f , 0x0000003f 
+ 00021958  0x000056c0 ixor  0x00000002 , 0x0000003f 
+ 00021959  0x000056c1 rtnbit0  0x00000003 
+ 00021960  0x000056c2 set0  0x00000005 , 0x00000002 
+ 00021961  0x000056c3 setflip  0x00000003 , 0x00000002 
+ 00021962  0x000056c4 storet  0x00000001 , 0x00000456 
+ 00021963  0x000056c5 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00021964  0x000056c6 nrtn  0x00000001 
+ 00021965  0x000056c7 fetch  0x00000001 , 0x000043de 
+ 00021966  0x000056c8 beq  0x00000005 , 0x000055d2 
+ 00021967  0x000056c9 fetch  0x00000001 , 0x000044c5 
+ 00021968  0x000056ca beq  0x00000002 , 0x000055d6 
+ 00021969  0x000056cb rtn 
+ 00021970  0x000056cf fetch  0x00000001 , 0x0000043f 
+ 00021971  0x000056d0 set1  0x00000004 , 0x0000003f 
+ 00021972  0x000056d1 store  0x00000001 , 0x0000043f 
+ 00021973  0x000056d2 rtn 
+ 00021974  0x000056d5 bpatchx  0x0000005c , 0x0000402b 
+ 00021975  0x000056d6 jam  0x00000000 , 0x000044c5 
+ 00021976  0x000056d7 arg  0x00000000 , 0x0000003f 
+ 00021977  0x000056d8 store  0x00000004 , 0x0000440d 
+ 00021978  0x000056d9 store  0x00000005 , 0x00004403 
+ 00021979  0x000056da set1  0x00000027 , 0x0000003f 
+ 00021980  0x000056db store  0x00000005 , 0x00004408 
+ 00021981  0x000056dc fetch  0x00000001 , 0x0000043f 
+ 00021982  0x000056dd set0  0x00000004 , 0x0000003f 
+ 00021983  0x000056de store  0x00000001 , 0x0000043f 
+ 00021984  0x000056df rtn 
+ 00021985  0x000056e3 bpatchx  0x0000005d , 0x0000402b 
+ 00021986  0x000056e4 call  0x00005422 
+ 00021987  0x000056e5 call  0x00005485 
+ 00021988  0x000056e6 fetch  0x00000001 , 0x00000001 
+ 00021989  0x000056e7 increase  0x00000001 , 0x0000003f 
+ 00021990  0x000056e8 store  0x00000001 , 0x00000001 
+ 00021991  0x000056e9 rtn 
+ 00021992  0x000056ed bpatchx  0x0000005e , 0x0000402b 
+ 00021993  0x000056ee fetch  0x00000001 , 0x00004369 
+ 00021994  0x000056ef rtnne  0x00000001 
+ 00021995  0x000056f0 arg  0x00000002 , 0x00000007 
+ 00021996  0x000056f1 call  0x00007f16 
+ 00021997  0x000056f2 nrtn  0x00000034 
+ 00021998  0x000056f3 fetch  0x00000002 , 0x0000436a 
+ 00021999  0x000056f4 fetcht  0x00000002 , 0x0000436c 
+ 00022000  0x000056f5 isub  0x00000002 , 0x0000003f 
+ 00022001  0x000056f6 arg  0x00000002 , 0x00000007 
+ 00022002  0x000056f7 call  0x00007f08 
+ 00022003  0x000056f8 disable  0x00000029 
+ 00022004  0x000056f9 call  0x00005572 
+ 00022005  0x000056fa call  0x000055e1 
+ 00022006  0x000056fb nrtn  0x0000002d 
+ 00022007  0x000056fc bpatchx  0x0000005f , 0x0000402b 
+ 00022008  0x000056fd fetch  0x00000006 , 0x000002db 
+ 00022009  0x000056fe store  0x00000006 , 0x0000044f 
+ 00022010  0x00005701 fetch  0x00000001 , 0x00000002 
+ 00022011  0x00005702 increase  0x00000001 , 0x0000003f 
+ 00022012  0x00005703 store  0x00000001 , 0x00000002 
+ 00022013  0x00005704 call  0x00005608 
+ 00022014  0x00005705 rtn  0x00000029 
+ 00022015  0x00005706 call  0x0000550b 
+ 00022016  0x00005707 nrtn  0x0000002d 
+ 00022017  0x00005708 bpatchx  0x00000060 , 0x0000402c 
+ 00022018  0x00005709 fetch  0x00000001 , 0x00000004 
+ 00022019  0x0000570a increase  0x00000001 , 0x0000003f 
+ 00022020  0x0000570b store  0x00000001 , 0x00000004 
+ 00022021  0x0000570c fetch  0x00000009 , 0x000002e1 
+ 00022022  0x0000570d store  0x00000009 , 0x00000101 
+ 00022023  0x0000570e rtn 
+ 00022024  0x00005711 bpatchx  0x00000061 , 0x0000402c 
+ 00022025  0x00005712 fetch  0x00000001 , 0x0000049b 
+ 00022026  0x00005713 rtnne  0x0000001b 
+ 00022027  0x00005714 fetch  0x00000006 , 0x0000044f 
+ 00022028  0x00005715 fetcht  0x00000006 , 0x0000448f 
+ 00022029  0x00005716 isub  0x00000002 , 0x0000003e 
+ 00022030  0x00005717 nrtn  0x00000005 
+ 00022031  0x00005718 call  0x0000223b 
+ 00022032  0x00005719 nrtn  0x00000005 
+ 00022033  0x0000571a call  0x0000552b 
+ 00022034  0x0000571b call  0x00005340 
+ 00022035  0x0000571c bpatchx  0x00000062 , 0x0000402c 
+ 00022036  0x0000571d jam  0x00000000 , 0x000041ce 
+ 00022037  0x0000571e jam  0x00000000 , 0x00000476 
+ 00022038  0x0000571f jam  0x00000000 , 0x00004369 
+ 00022039  0x00005720 jam  0x00000000 , 0x0000049b 
+ 00022040  0x00005721 branch  0x00002223 
+ 00022041  0x00005724 arg  0x00000001 , 0x00000011 
+ 00022042  0x00005725 fetch  0x00000001 , 0x000002d9 
+ 00022043  0x00005726 rtnbit1  0x00000006 
+ 00022044  0x00005727 arg  0x00000000 , 0x00000011 
+ 00022045  0x00005728 rtn 
+ 00022046  0x0000572d bpatchx  0x00000063 , 0x0000402c 
+ 00022047  0x0000572e fetch  0x00000001 , 0x00000456 
+ 00022048  0x0000572f rtnbit1  0x00000005 
+ 00022049  0x00005730 call  0x00005642 
+ 00022050  0x00005731 call  0x00005873 
+ 00022051  0x00005732 branch  0x00005664 , 0x00000034 
+ 00022052  0x00005733 ifetch  0x00000001 , 0x00000006 
+ 00022053  0x00005734 ifetcht  0x00000001 , 0x00000006 
+ 00022054  0x00005735 copy  0x00000002 , 0x00000011 
+ 00022055  0x00005736 isub  0x00000011 , 0x0000003f 
+ 00022056  0x00005737 arg  0x0000001b , 0x00000002 
+ 00022057  0x00005738 call  0x00007fdd 
+ 00022058  0x00005739 copy  0x0000003f , 0x00000002 
+ 00022059  0x0000573a ifetch  0x00000001 , 0x00000006 
+ 00022060  0x0000573b copy  0x0000003f , 0x00000001 
+ 00022061  0x0000573c copy  0x00000011 , 0x0000003f 
+ 00022062  0x0000573d iadd  0x00000006 , 0x00000006 
+ 00022063  0x0000573e arg  0x000043de , 0x00000005 
+ 00022064  0x0000573f copy  0x00000002 , 0x00000039 
+ 00022065  0x00005740 call  0x00007f01 
+ 00022066  0x00005741 call  0x00005654 
+ 00022067  0x00005742 call  0x00005666 
+ 00022068  0x00005744 call  0x00005873 
+ 00022069  0x00005745 ifetch  0x00000001 , 0x00000006 
+ 00022070  0x00005746 copy  0x0000003f , 0x00000011 
+ 00022071  0x00005747 copy  0x00000006 , 0x00000013 
+ 00022072  0x00005748 ifetcht  0x00000001 , 0x00000006 
+ 00022073  0x00005749 copy  0x00000002 , 0x00000012 
+ 00022074  0x0000574a isub  0x00000012 , 0x0000003f 
+ 00022075  0x0000574b arg  0x0000001b , 0x00000002 
+ 00022076  0x0000574c call  0x00007fdd 
+ 00022077  0x0000574d iadd  0x00000012 , 0x0000003f 
+ 00022078  0x0000574e istore  0x00000001 , 0x00000013 
+ 00022079  0x0000574f isub  0x00000011 , 0x0000003e 
+ 00022080  0x00005750 nrtn  0x00000005 
+ 00022081  0x00005751 branch  0x00005896 
+ 00022082  0x00005755 call  0x00005649 
+ 00022083  0x00005756 rtnmark1  0x00000029 
+ 00022084  0x00005757 fetch  0x00000001 , 0x000044e9 
+ 00022085  0x00005758 bbit0  0x00000002 , 0x00005652 
+ 00022086  0x00005759 call  0x00005876 
+ 00022087  0x0000575a branch  0x00005652 , 0x00000034 
+ 00022088  0x0000575b branch  0x00005650 
+ 00022089  0x0000575f call  0x00005873 
+ 00022090  0x00005760 branch  0x00005652 , 0x00000034 
+ 00022091  0x00005761 ifetch  0x00000001 , 0x00000006 
+ 00022092  0x00005762 ifetcht  0x00000001 , 0x00000006 
+ 00022093  0x00005763 isub  0x00000002 , 0x0000003f 
+ 00022094  0x00005764 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00022095  0x00005765 branch  0x00005652 , 0x00000002 
+ 00022096  0x00005767 set1  0x00000029 , 0x00000000 
+ 00022097  0x00005768 rtn 
+ 00022098  0x0000576b set0  0x00000029 , 0x00000000 
+ 00022099  0x0000576c rtn 
+ 00022100  0x0000576f copy  0x00000011 , 0x0000003f 
+ 00022101  0x00005770 rtn  0x00000034 
+ 00022102  0x00005771 arg  0x00000001 , 0x00000001 
+ 00022103  0x00005772 rtn 
+ 00022104  0x00005776 bpatchx  0x00000064 , 0x0000402c 
+ 00022105  0x00005777 increase  0x00000001 , 0x00000002 
+ 00022106  0x00005778 call  0x0000576a 
+ 00022107  0x00005779 increase  0xfffffffe , 0x00000006 
+ 00022108  0x0000577a ifetch  0x00000002 , 0x00000006 
+ 00022109  0x0000577b arg  0x00002902 , 0x00000002 
+ 00022110  0x0000577c isub  0x00000002 , 0x0000003e 
+ 00022111  0x0000577d nrtn  0x00000005 
+ 00022112  0x0000577e increase  0x00000001 , 0x00000006 
+ 00022113  0x0000577f copy  0x00000006 , 0x00000011 
+ 00022114  0x00005780 ifetch  0x00000001 , 0x00000006 
+ 00022115  0x00005781 rtn 
+ 00022116  0x00005785 force  0x00000000 , 0x00000002 
+ 00022117  0x00005786 force  0x00000001 , 0x00000001 
+ 00022118  0x00005789 bpatchx  0x00000065 , 0x0000402c 
+ 00022119  0x0000578a storet  0x00000001 , 0x000043dd 
+ 00022120  0x0000578b fetcht  0x00000001 , 0x00000456 
+ 00022121  0x0000578c set1  0x00000005 , 0x00000002 
+ 00022122  0x0000578d and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00022123  0x0000578e ior  0x00000001 , 0x0000003f 
+ 00022124  0x0000578f store  0x00000001 , 0x00000456 
+ 00022125  0x00005790 and_into  0x0000001f , 0x0000003f 
+ 00022126  0x00005791 isolate1  0x00000029 , 0x00000000 
+ 00022127  0x00005792 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00022128  0x00005793 store  0x00000001 , 0x000043dc 
+ 00022129  0x00005795 fetch  0x00000001 , 0x000043dc 
+ 00022130  0x00005796 compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00022131  0x00005797 nbranch  0x00005676 , 0x00000001 
+ 00022132  0x00005798 fetch  0x00000001 , 0x000043dd 
+ 00022133  0x00005799 rtn  0x00000034 
+ 00022134  0x0000579b fetch  0x00000001 , 0x0000043f 
+ 00022135  0x0000579c rtnbit0  0x00000004 
+ 00022136  0x0000579d call  0x0000748d 
+ 00022137  0x0000579e branch  0x000073e3 
+ 00022138  0x000057a2 arg  0x00000000 , 0x00000007 
+ 00022139  0x000057a3 branch  0x00002c32 
+ 00022140  0x000057a6 arg  0x00000000 , 0x00000007 
+ 00022141  0x000057a7 branch  0x00002c36 
+ 00022142  0x000057ab bpatchx  0x00000066 , 0x0000402c 
+ 00022143  0x000057ac rtnmark1  0x0000000f 
+ 00022144  0x000057ad call  0x00005890 
+ 00022145  0x000057ae nrtn  0x00000034 
+ 00022146  0x000057af fetch  0x00000001 , 0x000002d9 
+ 00022147  0x000057b0 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00022148  0x000057b1 store  0x00000001 , 0x0000450c 
+ 00022149  0x000057b2 ifetch  0x00000001 , 0x00000006 
+ 00022150  0x000057b3 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00022151  0x000057b4 store  0x00000001 , 0x0000450b 
+ 00022152  0x000057b5 rtn  0x00000034 
+ 00022153  0x000057b6 copy  0x00000006 , 0x0000003f 
+ 00022154  0x000057b7 store  0x00000002 , 0x0000450d 
+ 00022155  0x000057b8 fetch  0x00000001 , 0x0000450c 
+ 00022156  0x000057b9 beq  0x00000003 , 0x00005c64 
+ 00022157  0x000057bb call  0x0000569a 
+ 00022158  0x000057bc nbranch  0x0000567a , 0x00000028 
+ 00022159  0x000057bd call  0x0000567c 
+ 00022160  0x000057be fetch  0x00000002 , 0x0000450d 
+ 00022161  0x000057bf copy  0x0000003f , 0x00000006 
+ 00022162  0x000057c0 ifetch  0x00000002 , 0x00000006 
+ 00022163  0x000057c1 store  0x00000002 , 0x000044fc 
+ 00022164  0x000057c2 bpatchx  0x00000067 , 0x0000402c 
+ 00022165  0x000057c3 ifetch  0x00000002 , 0x00000006 
+ 00022166  0x000057c4 beq  0x00000004 , 0x000058ab 
+ 00022167  0x000057c5 beq  0x00000006 , 0x00005af4 
+ 00022168  0x000057c6 beq  0x00000005 , 0x00005ab6 
+ 00022169  0x000057c7 rtn 
+ 00022170  0x000057cb fetch  0x00000001 , 0x0000450c 
+ 00022171  0x000057cc beq  0x00000002 , 0x000056a9 
+ 00022172  0x000057cd beq  0x00000001 , 0x000056c1 
+ 00022173  0x000057ce rtn 
+ 00022174  0x000057d4 call  0x00007fe7 
+ 00022175  0x000057d5 arg  0x00000004 , 0x00000002 
+ 00022176  0x000057d6 isub  0x0000003f , 0x0000003e 
+ 00022177  0x000057d7 rtn  0x00000005 
+ 00022178  0x000057d8 arg  0x00000005 , 0x00000002 
+ 00022179  0x000057d9 isub  0x0000003f , 0x0000003e 
+ 00022180  0x000057da rtn  0x00000005 
+ 00022181  0x000057db arg  0x00000006 , 0x00000002 
+ 00022182  0x000057dc isub  0x0000003f , 0x0000003e 
+ 00022183  0x000057dd rtn  0x00000005 
+ 00022184  0x000057de branch  0x00007fe9 
+ 00022185  0x000057e2 fetch  0x00000002 , 0x0000450d 
+ 00022186  0x000057e3 copy  0x0000003f , 0x00000006 
+ 00022187  0x000057e4 ifetch  0x00000002 , 0x00000006 
+ 00022188  0x000057e5 store  0x00000002 , 0x000044fc 
+ 00022189  0x000057e6 ifetch  0x00000002 , 0x00000006 
+ 00022190  0x000057e7 call  0x0000569e 
+ 00022191  0x000057e8 nrtn  0x00000028 
+ 00022192  0x000057e9 fetcht  0x00000001 , 0x0000450b 
+ 00022193  0x000057ea storet  0x00000001 , 0x000044fe 
+ 00022194  0x000057eb fetch  0x00000002 , 0x000044fc 
+ 00022195  0x000057ec increase  0x00000004 , 0x0000003f 
+ 00022196  0x000057ed isub  0x00000002 , 0x0000003e 
+ 00022197  0x000057ee branch  0x00007fe7 , 0x00000005 
+ 00022198  0x000057ef fetch  0x00000001 , 0x0000450b 
+ 00022199  0x000057f0 copy  0x0000003f , 0x00000039 
+ 00022200  0x000057f1 arg  0x00000311 , 0x00000005 
+ 00022201  0x000057f2 fetch  0x00000002 , 0x0000450d 
+ 00022202  0x000057f3 copy  0x0000003f , 0x00000006 
+ 00022203  0x000057f4 call  0x00007f01 
+ 00022204  0x000057f5 branch  0x00007fe9 
+ 00022205  0x000057fb call  0x00007fe7 
+ 00022206  0x000057fc fetch  0x00000001 , 0x000044fe 
+ 00022207  0x000057fd nrtn  0x00000034 
+ 00022208  0x000057fe branch  0x00007fe9 
+ 00022209  0x00005801 call  0x000056bd 
+ 00022210  0x00005802 nrtn  0x00000028 
+ 00022211  0x00005803 fetch  0x00000001 , 0x000044fe 
+ 00022212  0x00005804 arg  0x00000311 , 0x00000005 
+ 00022213  0x00005805 iadd  0x00000005 , 0x00000011 
+ 00022214  0x00005806 fetcht  0x00000001 , 0x0000450b 
+ 00022215  0x00005807 iadd  0x00000002 , 0x0000003f 
+ 00022216  0x00005808 store  0x00000001 , 0x000044fe 
+ 00022217  0x00005809 fetch  0x00000001 , 0x0000450b 
+ 00022218  0x0000580a copy  0x0000003f , 0x00000039 
+ 00022219  0x0000580b copy  0x00000011 , 0x00000005 
+ 00022220  0x0000580c fetch  0x00000002 , 0x0000450d 
+ 00022221  0x0000580d copy  0x0000003f , 0x00000006 
+ 00022222  0x0000580e call  0x00007ef4 
+ 00022223  0x0000580f setarg  0x00000311 
+ 00022224  0x00005810 store  0x00000002 , 0x0000450d 
+ 00022225  0x00005811 fetch  0x00000002 , 0x000044fc 
+ 00022226  0x00005812 increase  0x00000004 , 0x0000003f 
+ 00022227  0x00005813 fetcht  0x00000001 , 0x000044fe 
+ 00022228  0x00005814 isub  0x00000002 , 0x0000003e 
+ 00022229  0x00005815 branch  0x00007fe7 , 0x00000005 
+ 00022230  0x00005816 branch  0x00007fe9 
+ 00022231  0x0000581d call  0x00007ea5 
+ 00022232  0x0000581e arg  0x0000445e , 0x00000005 
+ 00022233  0x00005820 fetch  0x00000002 , 0x000044fc 
+ 00022234  0x00005821 increase  0xfffffffb , 0x0000003f 
+ 00022235  0x00005823 istore  0x00000001 , 0x00000005 
+ 00022236  0x00005824 copy  0x0000003f , 0x00000039 
+ 00022237  0x00005825 call  0x00007e9f 
+ 00022238  0x00005826 branch  0x00007ef4 
+ 00022239  0x00005829 call  0x00007ea5 
+ 00022240  0x0000582a arg  0x00004471 , 0x00000005 
+ 00022241  0x0000582b branch  0x000056d9 
+ 00022242  0x00005830 fetch  0x00000002 , 0x000041f9 
+ 00022243  0x00005831 branch  0x00007f9c 
+ 00022244  0x00005834 fetcht  0x00000004 , 0x0000045b 
+ 00022245  0x00005835 call  0x00002a7b 
+ 00022246  0x00005836 isub  0x00000002 , 0x0000000b 
+ 00022247  0x00005837 deposit  0x0000000b 
+ 00022248  0x00005838 fetcht  0x00000002 , 0x0000046d 
+ 00022249  0x00005839 lshift4  0x00000002 , 0x00000002 
+ 00022250  0x0000583a lshift  0x00000002 , 0x00000002 
+ 00022251  0x0000583b isub  0x00000002 , 0x0000003f 
+ 00022252  0x0000583c rtn 
+ 00022253  0x0000583f call  0x00002a7b 
+ 00022254  0x00005840 store  0x00000004 , 0x0000045b 
+ 00022255  0x00005841 rtn 
+ 00022256  0x00005845 jam  0x00000024 , 0x00000016 
+ 00022257  0x00005846 jam  0x00000000 , 0x00000ac2 
+ 00022258  0x00005848 bpatchx  0x00000068 , 0x0000402d 
+ 00022259  0x00005849 fetch  0x00000001 , 0x0000436e 
+ 00022260  0x0000584a rtn  0x00000034 
+ 00022261  0x0000584b arg  0x00000000 , 0x00000007 
+ 00022262  0x0000584c call  0x00007f16 
+ 00022263  0x0000584d nrtn  0x00000034 
+ 00022264  0x0000584e bpatchx  0x00000069 , 0x0000402d 
+ 00022265  0x00005850 disable  0x00000029 
+ 00022266  0x00005851 enable  0x00000010 
+ 00022267  0x00005852 call  0x00005572 
+ 00022268  0x00005853 call  0x00005422 
+ 00022269  0x00005854 call  0x000054e9 
+ 00022270  0x00005855 nbranch  0x00005706 , 0x0000002d 
+ 00022271  0x00005856 fetch  0x00000001 , 0x00000003 
+ 00022272  0x00005857 increase  0x00000001 , 0x0000003f 
+ 00022273  0x00005858 store  0x00000001 , 0x00000003 
+ 00022274  0x00005859 fetch  0x00000001 , 0x000002d9 
+ 00022275  0x0000585a and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00022276  0x0000585b beq  0x00000003 , 0x0000551c 
+ 00022277  0x0000585c beq  0x00000005 , 0x00005728 
+ 00022278  0x0000585e bpatchx  0x0000006a , 0x0000402d 
+ 00022279  0x0000585f random  0x0000003f 
+ 00022280  0x00005860 arg  0x000001ff , 0x00000002 
+ 00022281  0x00005861 iand  0x00000002 , 0x0000003f 
+ 00022282  0x00005862 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00022283  0x00005863 call  0x00003cbe 
+ 00022284  0x00005864 fetch  0x00000001 , 0x00000ac2 
+ 00022285  0x00005865 fetcht  0x00000001 , 0x0000448d 
+ 00022286  0x00005866 isub  0x00000002 , 0x0000003e 
+ 00022287  0x00005867 nbranch  0x000056f2 , 0x00000005 
+ 00022288  0x00005868 arg  0x00000000 , 0x00000007 
+ 00022289  0x00005869 fetch  0x00000002 , 0x00004482 
+ 00022290  0x0000586a branch  0x00007f08 
+ 00022291  0x0000586e bpatchx  0x0000006b , 0x0000402d 
+ 00022292  0x0000586f fetch  0x00000001 , 0x00000476 
+ 00022293  0x00005870 call  0x000053fc 
+ 00022294  0x00005871 fetch  0x00000002 , 0x00000441 
+ 00022295  0x00005872 imul32  0x00000002 , 0x0000003f 
+ 00022296  0x00005873 arg  0x00000177 , 0x00000002 
+ 00022297  0x00005874 imul32  0x00000002 , 0x0000003f 
+ 00022298  0x00005875 arg  0x000186a0 , 0x00000002 
+ 00022299  0x00005876 idiv  0x00000002 
+ 00022300  0x00005877 fetch  0x00000001 , 0x0000046a 
+ 00022301  0x00005878 arg  0x00004e20 , 0x00000002 
+ 00022302  0x00005879 imul32  0x00000002 , 0x0000003f 
+ 00022303  0x0000587a iadd  0x00000002 , 0x0000003f 
+ 00022304  0x0000587b store  0x00000004 , 0x000044e5 
+ 00022305  0x0000587c bpatchx  0x0000006c , 0x0000402d 
+ 00022306  0x0000587d fetch  0x00000002 , 0x000040c1 
+ 00022307  0x0000587e call  0x00007f86 
+ 00022308  0x0000587f quotient  0x00000002 
+ 00022309  0x00005880 iadd  0x00000002 , 0x0000003f 
+ 00022310  0x00005881 store  0x00000002 , 0x0000044d 
+ 00022311  0x00005882 rtn 
+ 00022312  0x00005885 bpatchx  0x0000006d , 0x0000402d 
+ 00022313  0x00005886 fetch  0x00000006 , 0x000002e1 
+ 00022314  0x00005887 fetcht  0x00000006 , 0x000044a0 
+ 00022315  0x00005888 isub  0x00000002 , 0x0000003e 
+ 00022316  0x00005889 nrtn  0x00000005 
+ 00022317  0x0000588a call  0x00005619 
+ 00022318  0x0000588b copy  0x00000011 , 0x0000003f 
+ 00022319  0x0000588c store  0x00000001 , 0x0000448e 
+ 00022320  0x0000588d fetch  0x00000007 , 0x000002ee 
+ 00022321  0x0000588e store  0x00000007 , 0x00000101 
+ 00022322  0x0000588f ifetch  0x00000008 , 0x00000006 
+ 00022323  0x00005890 istore  0x00000008 , 0x00000005 
+ 00022324  0x00005891 fetch  0x00000006 , 0x000002db 
+ 00022325  0x00005892 store  0x00000006 , 0x0000044f 
+ 00022326  0x00005893 increase  0x00000006 , 0x00000006 
+ 00022327  0x00005894 ifetch  0x00000008 , 0x00000006 
+ 00022328  0x00005895 store  0x00000008 , 0x00000463 
+ 00022329  0x00005896 ifetcht  0x00000002 , 0x00000006 
+ 00022330  0x00005897 bpatchx  0x0000006e , 0x0000402d 
+ 00022331  0x00005898 lshift2  0x00000002 , 0x00000002 
+ 00022332  0x00005899 ifetch  0x00000002 , 0x00000006 
+ 00022333  0x0000589a lshift2  0x0000003f , 0x0000003f 
+ 00022334  0x0000589b store  0x00000002 , 0x00000441 
+ 00022335  0x0000589c store  0x00000004 , 0x00000443 
+ 00022336  0x0000589d isub  0x00000002 , 0x0000003f 
+ 00022337  0x0000589e add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00022338  0x0000589f ifetch  0x00000009 , 0x00000006 
+ 00022339  0x000058a0 store  0x00000009 , 0x0000046b 
+ 00022340  0x000058a1 bpatchx  0x0000006f , 0x0000402d 
+ 00022341  0x000058a2 ifetch  0x00000001 , 0x00000006 
+ 00022342  0x000058a3 rshift4  0x0000003f , 0x00000002 
+ 00022343  0x000058a4 rshift  0x00000002 , 0x00000002 
+ 00022344  0x000058a5 storet  0x00000001 , 0x00000476 
+ 00022345  0x000058a6 and_into  0x0000001f , 0x0000003f 
+ 00022346  0x000058a7 store  0x00000001 , 0x00000458 
+ 00022347  0x000058a8 call  0x00005713 
+ 00022348  0x000058a9 call  0x0000545b 
+ 00022349  0x000058aa call  0x0000534c 
+ 00022350  0x000058ab call  0x0000223b 
+ 00022351  0x000058ac nrtn  0x00000005 
+ 00022352  0x000058ad bpatchx  0x00000070 , 0x0000402e 
+ 00022353  0x000058ae call  0x00002841 
+ 00022354  0x000058af call  0x00005ad3 
+ 00022355  0x000058b0 jam  0x00000014 , 0x00000a99 
+ 00022356  0x000058b1 call  0x00007d86 
+ 00022357  0x000058b2 branch  0x00002223 
+ 00022358  0x000058b6 bpatchx  0x00000071 , 0x0000402e 
+ 00022359  0x000058b7 fetch  0x00000002 , 0x0000445a 
+ 00022360  0x000058b8 iforce  0x00000012 
+ 00022361  0x000058b9 fetch  0x00000002 , 0x0000445c 
+ 00022362  0x000058ba iforce  0x00000013 
+ 00022363  0x000058bb fetch  0x00000002 , 0x000044bc 
+ 00022364  0x000058bc iforce  0x00000006 
+ 00022365  0x000058bd enable  0x00000028 
+ 00022366  0x000058be rtn 
+ 00022367  0x000058c2 ifetch  0x00000002 , 0x00000006 
+ 00022368  0x000058c3 rtn  0x00000034 
+ 00022369  0x000058c4 isub  0x00000012 , 0x0000003e 
+ 00022370  0x000058c5 nrtn  0x00000002 
+ 00022371  0x000058c6 isub  0x00000013 , 0x0000003e 
+ 00022372  0x000058c7 rtn  0x00000005 
+ 00022373  0x000058c8 branch  0x00005768 , 0x00000002 
+ 00022374  0x000058c9 force  0x00000001 , 0x0000003e 
+ 00022375  0x000058ca rtn 
+ 00022376  0x000058cc force  0x00000000 , 0x0000003f 
+ 00022377  0x000058cd rtn 
+ 00022378  0x000058d2 call  0x0000576d 
+ 00022379  0x000058d3 branch  0x00005779 , 0x00000005 
+ 00022380  0x000058d4 rtn 
+ 00022381  0x000058d7 bpatchx  0x00000072 , 0x0000402e 
+ 00022382  0x000058d8 fetch  0x00000002 , 0x000044bc 
+ 00022383  0x000058d9 iforce  0x00000006 
+ 00022384  0x000058db ifetch  0x00000002 , 0x00000006 
+ 00022385  0x000058dc rtn  0x00000034 
+ 00022386  0x000058dd isub  0x00000002 , 0x0000003e 
+ 00022387  0x000058de rtn  0x00000005 
+ 00022388  0x000058df ifetch  0x00000001 , 0x00000006 
+ 00022389  0x000058e0 iadd  0x00000006 , 0x00000006 
+ 00022390  0x000058e1 ifetch  0x00000001 , 0x00000006 
+ 00022391  0x000058e2 iadd  0x00000006 , 0x00000006 
+ 00022392  0x000058e3 branch  0x00005770 
+ 00022393  0x000058e5 ifetch  0x00000001 , 0x00000006 
+ 00022394  0x000058e6 iadd  0x00000006 , 0x00000006 
+ 00022395  0x000058e7 rtn 
+ 00022396  0x000058ec bpatchx  0x00000073 , 0x0000402e 
+ 00022397  0x000058ed fetch  0x00000002 , 0x000044bc 
+ 00022398  0x000058ee iforce  0x00000006 
+ 00022399  0x000058f0 ifetch  0x00000002 , 0x00000006 
+ 00022400  0x000058f1 rtn  0x00000034 
+ 00022401  0x000058f2 ifetch  0x00000001 , 0x00000006 
+ 00022402  0x000058f3 iadd  0x00000006 , 0x00000006 
+ 00022403  0x000058f4 increase  0xfffffffe , 0x00000006 
+ 00022404  0x000058f5 ifetch  0x00000002 , 0x00000006 
+ 00022405  0x000058f6 isub  0x00000002 , 0x0000003e 
+ 00022406  0x000058f7 rtn  0x00000005 
+ 00022407  0x000058f8 ifetch  0x00000001 , 0x00000006 
+ 00022408  0x000058f9 iadd  0x00000006 , 0x00000006 
+ 00022409  0x000058fa branch  0x0000577f 
+ 00022410  0x000058ff fetch  0x00000002 , 0x0000049c 
+ 00022411  0x00005900 branch  0x0000578e 
+ 00022412  0x00005903 bpatchx  0x00000074 , 0x0000402e 
+ 00022413  0x00005904 fetch  0x00000002 , 0x000044bc 
+ 00022414  0x00005906 iforce  0x00000006 
+ 00022415  0x00005907 copy  0x00000002 , 0x00000011 
+ 00022416  0x00005909 ifetch  0x00000002 , 0x00000006 
+ 00022417  0x0000590a branch  0x00005799 , 0x00000034 
+ 00022418  0x0000590b isub  0x00000011 , 0x0000003e 
+ 00022419  0x0000590c branch  0x0000579a , 0x00000005 
+ 00022420  0x0000590d ifetch  0x00000001 , 0x00000006 
+ 00022421  0x0000590e iadd  0x00000006 , 0x00000006 
+ 00022422  0x0000590f ifetch  0x00000001 , 0x00000006 
+ 00022423  0x00005910 iadd  0x00000006 , 0x00000006 
+ 00022424  0x00005911 branch  0x00005790 
+ 00022425  0x00005913 branch  0x00007fef 
+ 00022426  0x00005916 ifetch  0x00000001 , 0x00000006 
+ 00022427  0x00005917 store  0x00000001 , 0x000004a2 
+ 00022428  0x00005918 copy  0x0000003f , 0x00000039 
+ 00022429  0x00005919 arg  0x000004a3 , 0x00000005 
+ 00022430  0x0000591a call  0x00007ef4 
+ 00022431  0x0000591b ifetch  0x00000001 , 0x00000006 
+ 00022432  0x0000591c store  0x00000001 , 0x000004b3 
+ 00022433  0x0000591d call  0x00007ea5 
+ 00022434  0x0000591e branch  0x00007ff1 
+ 00022435  0x00005922 bpatchx  0x00000075 , 0x0000402e 
+ 00022436  0x00005923 call  0x000057a6 
+ 00022437  0x00005924 branch  0x000057b8 
+ 00022438  0x00005927 arg  0x00002a00 , 0x00000002 
+ 00022439  0x00005928 call  0x0000577c 
+ 00022440  0x00005929 rtn  0x00000034 
+ 00022441  0x0000592a ifetch  0x00000001 , 0x00000006 
+ 00022442  0x0000592b copy  0x00000006 , 0x00000005 
+ 00022443  0x0000592c fetcht  0x00000001 , 0x000043af 
+ 00022444  0x0000592d copy  0x00000002 , 0x00000039 
+ 00022445  0x0000592e isub  0x00000002 , 0x0000003e 
+ 00022446  0x0000592f nbranch  0x000057b5 , 0x00000002 
+ 00022447  0x00005930 isub  0x00000002 , 0x00000002 
+ 00022448  0x00005931 arg  0x000043b0 , 0x00000006 
+ 00022449  0x00005932 call  0x00007f01 
+ 00022450  0x00005933 copy  0x00000002 , 0x00000039 
+ 00022451  0x00005934 ncall  0x000057f0 , 0x00000005 
+ 00022452  0x00005935 rtn 
+ 00022453  0x00005937 copy  0x0000003f , 0x00000039 
+ 00022454  0x00005938 arg  0x000043b0 , 0x00000006 
+ 00022455  0x00005939 branch  0x00007ef4 
+ 00022456  0x0000593d arg  0x0000438f , 0x00000013 
+ 00022457  0x0000593e arg  0x00004370 , 0x00000011 
+ 00022458  0x0000593f call  0x000057c5 
+ 00022459  0x00005940 setarg  0x00000000 
+ 00022460  0x00005941 setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00022461  0x00005942 store  0x00000001 , 0x00000a9a 
+ 00022462  0x00005943 arg  0x000043af , 0x00000013 
+ 00022463  0x00005944 arg  0x00004390 , 0x00000011 
+ 00022464  0x00005945 call  0x000057c5 
+ 00022465  0x00005946 rtn  0x00000028 
+ 00022466  0x00005947 fetch  0x00000001 , 0x00000a9a 
+ 00022467  0x00005948 branch  0x00002a8c , 0x00000034 
+ 00022468  0x00005949 rtn 
+ 00022469  0x0000594d bpatchx  0x00000076 , 0x0000402e 
+ 00022470  0x0000594e call  0x00007fe7 
+ 00022471  0x0000594f call  0x00007eda 
+ 00022472  0x00005950 arg  0x00000000 , 0x00000012 
+ 00022473  0x00005951 arg  0x00000ac3 , 0x00000005 
+ 00022474  0x00005952 call  0x000057df 
+ 00022475  0x00005953 fetch  0x00000001 , 0x000043af 
+ 00022476  0x00005954 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00022477  0x00005955 iadd  0x00000012 , 0x00000011 
+ 00022478  0x00005956 increase  0x00000002 , 0x00000011 
+ 00022479  0x00005957 sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00022480  0x00005958 nbranch  0x000057dd , 0x00000002 
+ 00022481  0x00005959 istoret  0x00000001 , 0x00000005 
+ 00022482  0x0000595a arg  0x00000009 , 0x00000002 
+ 00022483  0x0000595b istoret  0x00000001 , 0x00000005 
+ 00022484  0x0000595c iforce  0x00000039 
+ 00022485  0x0000595d call  0x00007ef4 
+ 00022486  0x0000595e copy  0x00000011 , 0x00000012 
+ 00022487  0x00005960 deposit  0x00000012 
+ 00022488  0x00005961 store  0x00000001 , 0x00000ac2 
+ 00022489  0x00005962 arg  0x00000ac2 , 0x00000006 
+ 00022490  0x00005963 setarg  0xffffffe0 
+ 00022491  0x00005964 iadd  0x00000013 , 0x00000005 
+ 00022492  0x00005965 branch  0x00007ebd 
+ 00022493  0x00005968 call  0x00007fe9 
+ 00022494  0x00005969 branch  0x000057d7 
+ 00022495  0x0000596c ifetch  0x00000001 , 0x00000011 
+ 00022496  0x0000596d rtn  0x00000034 
+ 00022497  0x0000596e pincrease  0x00000001 
+ 00022498  0x0000596f ifetcht  0x00000001 , 0x00000006 
+ 00022499  0x00005970 sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00022500  0x00005971 branch  0x000057ee , 0x00000005 
+ 00022501  0x00005972 iadd  0x00000012 , 0x00000012 
+ 00022502  0x00005973 copy  0x00000011 , 0x00000006 
+ 00022503  0x00005974 iforce  0x00000039 
+ 00022504  0x00005975 call  0x00007ef4 
+ 00022505  0x00005976 copy  0x00000006 , 0x00000011 
+ 00022506  0x00005978 deposit  0x00000011 
+ 00022507  0x00005979 isub  0x00000013 , 0x0000003e 
+ 00022508  0x0000597a rtn  0x00000002 
+ 00022509  0x0000597b branch  0x000057df 
+ 00022510  0x0000597e iadd  0x00000011 , 0x00000011 
+ 00022511  0x0000597f branch  0x000057ea 
+ 00022512  0x00005983 setarg  0x00000020 
+ 00022513  0x00005984 istore  0x00000001 , 0x00000005 
+ 00022514  0x00005985 loop  0x000057f0 
+ 00022515  0x00005986 rtn 
+ 00022516  0x0000598a bpatchx  0x00000077 , 0x0000402e 
+ 00022517  0x0000598b disable  0x0000002b 
+ 00022518  0x0000598c branch  0x000057f8 , 0x0000002e 
+ 00022519  0x0000598d nbranch  0x00005806 , 0x0000002d 
+ 00022520  0x0000598f call  0x00002bcb 
+ 00022521  0x00005990 fetch  0x00000002 , 0x000040c1 
+ 00022522  0x00005991 store  0x00000002 , 0x0000044d 
+ 00022523  0x00005993 nbranch  0x00002bde , 0x0000002d 
+ 00022524  0x00005994 bmark1  0x0000000f , 0x00002bde 
+ 00022525  0x00005996 fetch  0x00000001 , 0x0000450b 
+ 00022526  0x00005997 nbranch  0x00002bde , 0x00000034 
+ 00022527  0x00005998 fetch  0x00000001 , 0x000043dd 
+ 00022528  0x00005999 nbranch  0x00002bde , 0x00000034 
+ 00022529  0x0000599b fetch  0x00000001 , 0x000044e9 
+ 00022530  0x0000599c bbit1  0x00000005 , 0x00002bde 
+ 00022531  0x0000599e fetch  0x00000001 , 0x0000043f 
+ 00022532  0x0000599f bbit1  0x00000005 , 0x00002bde 
+ 00022533  0x000059a0 branch  0x00002bc0 
+ 00022534  0x000059a3 fetcht  0x00000002 , 0x000040c1 
+ 00022535  0x000059a4 rshift  0x00000002 , 0x00000002 
+ 00022536  0x000059a5 fetch  0x00000002 , 0x0000044d 
+ 00022537  0x000059a6 iadd  0x00000002 , 0x0000003f 
+ 00022538  0x000059a7 store  0x00000002 , 0x0000044d 
+ 00022539  0x000059a8 branch  0x00002bd6 
+ 00022540  0x000059ac arg  0x00000000 , 0x00000007 
+ 00022541  0x000059ad branch  0x00005824 
+ 00022542  0x000059b0 arg  0x00000000 , 0x00000007 
+ 00022543  0x000059b1 branch  0x00005828 
+ 00022544  0x000059b4 arg  0x00000001 , 0x00000007 
+ 00022545  0x000059b5 branch  0x00005824 
+ 00022546  0x000059b8 arg  0x00000001 , 0x00000007 
+ 00022547  0x000059b9 branch  0x00005828 
+ 00022548  0x000059bc arg  0x00000002 , 0x00000007 
+ 00022549  0x000059bd branch  0x00005824 
+ 00022550  0x000059c0 arg  0x00000002 , 0x00000007 
+ 00022551  0x000059c1 branch  0x00005828 
+ 00022552  0x000059c4 arg  0x00000003 , 0x00000007 
+ 00022553  0x000059c5 branch  0x00005824 
+ 00022554  0x000059c8 arg  0x00000003 , 0x00000007 
+ 00022555  0x000059c9 branch  0x00005828 
+ 00022556  0x000059cc arg  0x00000004 , 0x00000007 
+ 00022557  0x000059cd branch  0x00005824 
+ 00022558  0x000059d0 arg  0x00000004 , 0x00000007 
+ 00022559  0x000059d1 branch  0x00005828 
+ 00022560  0x000059d4 arg  0x00000005 , 0x00000007 
+ 00022561  0x000059d5 branch  0x00005824 
+ 00022562  0x000059d8 arg  0x00000005 , 0x00000007 
+ 00022563  0x000059d9 branch  0x00005828 
+ 00022564  0x000059dd fetch  0x00000001 , 0x000044e9 
+ 00022565  0x000059de qset1  0x0000003f 
+ 00022566  0x000059df store  0x00000001 , 0x000044e9 
+ 00022567  0x000059e0 rtn 
+ 00022568  0x000059e3 fetch  0x00000001 , 0x000044e9 
+ 00022569  0x000059e4 qset0  0x0000003f 
+ 00022570  0x000059e5 store  0x00000001 , 0x000044e9 
+ 00022571  0x000059e6 rtn 
+ 00022572  0x000059e9 setarg  0x00112233 
+ 00022573  0x000059ea store  0x00000003 , 0x000044ea 
+ 00022574  0x000059eb setarg  0x00445566 
+ 00022575  0x000059ec istore  0x00000003 , 0x00000005 
+ 00022576  0x000059ed setarg  0x00778899 
+ 00022577  0x000059ee istore  0x00000003 , 0x00000005 
+ 00022578  0x000059ef setarg  0x00001122 
+ 00022579  0x000059f0 istore  0x00000003 , 0x00000005 
+ 00022580  0x000059f1 setarg  0x00334455 
+ 00022581  0x000059f2 istore  0x00000003 , 0x00000005 
+ 00022582  0x000059f3 setarg  0x00000066 
+ 00022583  0x000059f4 istore  0x00000001 , 0x00000005 
+ 00022584  0x000059f5 rtn 
+ 00022585  0x000059f9 setarg  0x01000302 
+ 00022586  0x000059fa store  0x00000004 , 0x00004453 
+ 00022587  0x000059fb setarg  0x00010010 
+ 00022588  0x000059fc store  0x00000003 , 0x00004457 
+ 00022589  0x000059fd jam  0x00000001 , 0x000044c6 
+ 00022590  0x000059fe rtn 
+ 00022591  0x00005a03 arg  0x00000000 , 0x00000011 
+ 00022592  0x00005a04 arg  0x00000001 , 0x00000001 
+ 00022593  0x00005a05 branch  0x00005850 
+ 00022594  0x00005a0a arg  0x00000003 , 0x00000001 
+ 00022595  0x00005a0b call  0x00005850 
+ 00022596  0x00005a0c copy  0x00000012 , 0x0000003f 
+ 00022597  0x00005a0d istore  0x00000001 , 0x00000005 
+ 00022598  0x00005a0e rtn 
+ 00022599  0x00005a13 force  0x00000002 , 0x00000001 
+ 00022600  0x00005a14 increase  0x00000004 , 0x00000011 
+ 00022601  0x00005a15 call  0x00005850 
+ 00022602  0x00005a16 increase  0xfffffffc , 0x00000011 
+ 00022603  0x00005a17 copy  0x00000011 , 0x0000003f 
+ 00022604  0x00005a18 istore  0x00000002 , 0x00000005 
+ 00022605  0x00005a19 copy  0x00000012 , 0x0000003f 
+ 00022606  0x00005a1a istore  0x00000002 , 0x00000005 
+ 00022607  0x00005a1b rtn 
+ 00022608  0x00005a20 sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00022609  0x00005a21 nbranch  0x00002a8c , 0x00000002 
+ 00022610  0x00005a22 fetch  0x00000001 , 0x000044ff 
+ 00022611  0x00005a23 arg  0x00000001 , 0x00000002 
+ 00022612  0x00005a24 arg  0x00000004 , 0x00000039 
+ 00022613  0x00005a26 iand  0x00000002 , 0x0000003e 
+ 00022614  0x00005a27 branch  0x0000585a , 0x00000005 
+ 00022615  0x00005a28 lshift  0x00000002 , 0x00000002 
+ 00022616  0x00005a29 loop  0x00005855 
+ 00022617  0x00005a2a branch  0x00002a8c 
+ 00022618  0x00005a2c ixor  0x00000002 , 0x0000003f 
+ 00022619  0x00005a2d store  0x00000001 , 0x000044ff 
+ 00022620  0x00005a2e sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00022621  0x00005a2f lshift4  0x0000003f , 0x0000003f 
+ 00022622  0x00005a30 lshift4  0x0000003f , 0x0000003f 
+ 00022623  0x00005a31 arg  0x00001800 , 0x00000002 
+ 00022624  0x00005a32 iadd  0x00000002 , 0x00000002 
+ 00022625  0x00005a34 arg  0x00000000 , 0x00000039 
+ 00022626  0x00005a35 arg  0x00004500 , 0x00000006 
+ 00022627  0x00005a37 ifetch  0x00000002 , 0x00000006 
+ 00022628  0x00005a38 branch  0x00005869 , 0x00000034 
+ 00022629  0x00005a39 copy  0x00000039 , 0x0000003f 
+ 00022630  0x00005a3a increase  0x00000001 , 0x00000039 
+ 00022631  0x00005a3b bne  0x00000004 , 0x00005863 
+ 00022632  0x00005a3c branch  0x00002a8c 
+ 00022633  0x00005a40 increase  0xfffffffe , 0x00000006 
+ 00022634  0x00005a41 istoret  0x00000002 , 0x00000006 
+ 00022635  0x00005a42 copy  0x00000002 , 0x00000005 
+ 00022636  0x00005a43 copy  0x00000011 , 0x0000003f 
+ 00022637  0x00005a44 istore  0x00000001 , 0x00000005 
+ 00022638  0x00005a45 setarg  0x00000000 
+ 00022639  0x00005a46 istore  0x00000001 , 0x00000005 
+ 00022640  0x00005a47 copy  0x00000001 , 0x0000003f 
+ 00022641  0x00005a48 istore  0x00000001 , 0x00000005 
+ 00022642  0x00005a49 rtn 
+ 00022643  0x00005a4e fetch  0x00000002 , 0x00004500 
+ 00022644  0x00005a4f copy  0x0000003f , 0x00000006 
+ 00022645  0x00005a50 rtn 
+ 00022646  0x00005a53 fetch  0x00000002 , 0x00004502 
+ 00022647  0x00005a54 copy  0x0000003f , 0x00000006 
+ 00022648  0x00005a55 rtn 
+ 00022649  0x00005a58 call  0x0000587c 
+ 00022650  0x00005a59 copy  0x0000003f , 0x00000006 
+ 00022651  0x00005a5a rtn 
+ 00022652  0x00005a5c fetch  0x00000002 , 0x00004506 
+ 00022653  0x00005a5d nrtn  0x00000034 
+ 00022654  0x00005a5e fetch  0x00000002 , 0x00004504 
+ 00022655  0x00005a5f nrtn  0x00000034 
+ 00022656  0x00005a60 fetch  0x00000002 , 0x00004502 
+ 00022657  0x00005a61 nrtn  0x00000034 
+ 00022658  0x00005a62 fetch  0x00000002 , 0x00004500 
+ 00022659  0x00005a63 rtn 
+ 00022660  0x00005a66 call  0x00005873 
+ 00022661  0x00005a67 increase  0x00000003 , 0x00000006 
+ 00022662  0x00005a68 rtn 
+ 00022663  0x00005a6b call  0x00005873 
+ 00022664  0x00005a6c increase  0x00000007 , 0x00000006 
+ 00022665  0x00005a6d rtn 
+ 00022666  0x00005a70 call  0x00005879 
+ 00022667  0x00005a71 increase  0x00000007 , 0x00000006 
+ 00022668  0x00005a72 rtn 
+ 00022669  0x00005a75 call  0x00005879 
+ 00022670  0x00005a76 increase  0x00000003 , 0x00000006 
+ 00022671  0x00005a77 rtn 
+ 00022672  0x00005a7c fetch  0x00000002 , 0x00004506 
+ 00022673  0x00005a7d rtn 
+ 00022674  0x00005a81 fetch  0x00000002 , 0x00004504 
+ 00022675  0x00005a82 rtn 
+ 00022676  0x00005a86 fetch  0x00000002 , 0x00004500 
+ 00022677  0x00005a87 rtn 
+ 00022678  0x00005a8b fetch  0x00000002 , 0x00004500 
+ 00022679  0x00005a8c arg  0x00001800 , 0x00000002 
+ 00022680  0x00005a8d isub  0x00000002 , 0x0000003f 
+ 00022681  0x00005a8e rshift4  0x0000003f , 0x0000003f 
+ 00022682  0x00005a8f rshift4  0x0000003f , 0x00000007 
+ 00022683  0x00005a90 fetch  0x00000001 , 0x000044ff 
+ 00022684  0x00005a91 qset0  0x0000003f 
+ 00022685  0x00005a92 store  0x00000001 , 0x000044ff 
+ 00022686  0x00005a93 arg  0x00000000 , 0x00000039 
+ 00022687  0x00005a95 lshift  0x00000039 , 0x0000003f 
+ 00022688  0x00005a96 arg  0x00004502 , 0x00000002 
+ 00022689  0x00005a97 iadd  0x00000002 , 0x00000002 
+ 00022690  0x00005a98 ifetch  0x00000002 , 0x00000002 
+ 00022691  0x00005a99 increase  0xfffffffe , 0x00000002 
+ 00022692  0x00005a9a istore  0x00000002 , 0x00000002 
+ 00022693  0x00005a9b copy  0x00000039 , 0x0000003f 
+ 00022694  0x00005a9c increase  0x00000001 , 0x00000039 
+ 00022695  0x00005a9d bne  0x00000003 , 0x0000589f 
+ 00022696  0x00005a9e setarg  0x00000000 
+ 00022697  0x00005a9f istore  0x00000002 , 0x00000002 
+ 00022698  0x00005aa0 rtn 
+ 00022699  0x00005aa7 ifetch  0x00000003 , 0x00000006 
+ 00022700  0x00005aa8 store  0x00000003 , 0x00000477 
+ 00022701  0x00005aa9 beq  0x00000002 , 0x000058c1 
+ 00022702  0x00005aaa beq  0x00000003 , 0x000058c9 
+ 00022703  0x00005aab beq  0x00000004 , 0x000058cc 
+ 00022704  0x00005aac beq  0x00000006 , 0x000058f2 
+ 00022705  0x00005aad beq  0x00000008 , 0x0000593f 
+ 00022706  0x00005aae beq  0x0000000a , 0x000059bc 
+ 00022707  0x00005aaf beq  0x0000000c , 0x000059e4 
+ 00022708  0x00005ab0 beq  0x00000010 , 0x000059fa 
+ 00022709  0x00005ab1 beq  0x00000012 , 0x00005a2f 
+ 00022710  0x00005ab2 beq  0x00000016 , 0x00005a48 
+ 00022711  0x00005ab3 beq  0x00000018 , 0x00005a5b 
+ 00022712  0x00005ab4 beq  0x00000052 , 0x00005a60 
+ 00022713  0x00005ab5 rtn 
+ 00022714  0x00005ab9 force  0x00000003 , 0x00000011 
+ 00022715  0x00005aba call  0x00005a82 
+ 00022716  0x00005abb setarg  0x00000002 
+ 00022717  0x00005abc istore  0x00000001 , 0x00000005 
+ 00022718  0x00005abd fetch  0x00000002 , 0x000044a6 
+ 00022719  0x00005abe istore  0x00000002 , 0x00000005 
+ 00022720  0x00005abf rtn 
+ 00022721  0x00005ac3 call  0x000058c9 
+ 00022722  0x00005ac5 force  0x00000003 , 0x00000011 
+ 00022723  0x00005ac6 call  0x00005a82 
+ 00022724  0x00005ac7 setarg  0x00000003 
+ 00022725  0x00005ac8 istore  0x00000001 , 0x00000005 
+ 00022726  0x00005ac9 fetch  0x00000002 , 0x000044a6 
+ 00022727  0x00005aca istore  0x00000002 , 0x00000005 
+ 00022728  0x00005acb rtn 
+ 00022729  0x00005ace rshift8  0x0000003f , 0x0000003f 
+ 00022730  0x00005acf store  0x00000002 , 0x000044a8 
+ 00022731  0x00005ad0 rtn 
+ 00022732  0x00005ad3 call  0x00005ab1 
+ 00022733  0x00005ad4 call  0x00007fe7 
+ 00022734  0x00005ad5 branch  0x000058cf 
+ 00022735  0x00005ad8 arg  0x00000003 , 0x0000000b 
+ 00022736  0x00005ad9 call  0x00005756 
+ 00022737  0x00005adb call  0x0000575f 
+ 00022738  0x00005adc branch  0x000058f0 , 0x00000034 
+ 00022739  0x00005add nbranch  0x000058ed , 0x00000002 
+ 00022740  0x00005ade increase  0xfffffffe , 0x00000006 
+ 00022741  0x00005adf call  0x00007ea5 
+ 00022742  0x00005ae0 call  0x00007e9c 
+ 00022743  0x00005ae1 nbranch  0x000058e1 , 0x00000028 
+ 00022744  0x00005ae2 call  0x00007e85 
+ 00022745  0x00005ae3 call  0x00007fe9 
+ 00022746  0x00005ae4 force  0x00000014 , 0x00000011 
+ 00022747  0x00005ae5 call  0x00005a82 
+ 00022748  0x00005ae6 call  0x00007e95 
+ 00022749  0x00005ae7 setarg  0x00000005 
+ 00022750  0x00005ae8 istore  0x00000001 , 0x00000005 
+ 00022751  0x00005ae9 setarg  0x00000001 
+ 00022752  0x00005aea istore  0x00000001 , 0x00000005 
+ 00022753  0x00005aec call  0x00007e9f 
+ 00022754  0x00005aed ifetch  0x00000002 , 0x00000006 
+ 00022755  0x00005aee istore  0x00000002 , 0x00000005 
+ 00022756  0x00005aef ifetch  0x00000001 , 0x00000006 
+ 00022757  0x00005af0 copy  0x0000003f , 0x00000039 
+ 00022758  0x00005af1 call  0x00007f01 
+ 00022759  0x00005af2 call  0x00007ea2 
+ 00022760  0x00005af3 increase  0xffffffff , 0x0000000b 
+ 00022761  0x00005af4 branch  0x000058f0 , 0x00000005 
+ 00022762  0x00005af6 ifetch  0x00000001 , 0x00000006 
+ 00022763  0x00005af7 iadd  0x00000006 , 0x00000006 
+ 00022764  0x00005af8 branch  0x000058d1 
+ 00022765  0x00005afa ifetch  0x00000001 , 0x00000006 
+ 00022766  0x00005afb iadd  0x00000006 , 0x00000006 
+ 00022767  0x00005afc branch  0x000058ea 
+ 00022768  0x00005afe branch  0x00005a76 , 0x00000028 
+ 00022769  0x00005aff branch  0x00005aa5 
+ 00022770  0x00005b03 call  0x00005ab1 
+ 00022771  0x00005b04 ifetch  0x00000002 , 0x00000006 
+ 00022772  0x00005b05 store  0x00000002 , 0x00004472 
+ 00022773  0x00005b06 call  0x00007ea5 
+ 00022774  0x00005b07 arg  0x0000445e , 0x00000005 
+ 00022775  0x00005b08 fetch  0x00000002 , 0x000044fc 
+ 00022776  0x00005b09 increase  0xfffffff9 , 0x0000003f 
+ 00022777  0x00005b0a call  0x000056db 
+ 00022778  0x00005b0b branch  0x00005905 
+ 00022779  0x00005b0f disable  0x00000028 
+ 00022780  0x00005b10 fetcht  0x00000002 , 0x0000445a 
+ 00022781  0x00005b11 fetch  0x00000002 , 0x0000445c 
+ 00022782  0x00005b12 isub  0x00000002 , 0x0000003e 
+ 00022783  0x00005b13 nbranch  0x00005902 , 0x00000002 
+ 00022784  0x00005b14 deposit  0x00000002 
+ 00022785  0x00005b15 rtnne  0x00000000 
+ 00022786  0x00005b17 enable  0x00000028 
+ 00022787  0x00005b18 jam  0x00000001 , 0x0000047a 
+ 00022788  0x00005b19 branch  0x00005a77 
+ 00022789  0x00005b1d call  0x000058fb 
+ 00022790  0x00005b1e rtn  0x00000028 
+ 00022791  0x00005b1f fetcht  0x00000002 , 0x00004472 
+ 00022792  0x00005b20 setarg  0x00002800 
+ 00022793  0x00005b21 isub  0x00000002 , 0x0000003e 
+ 00022794  0x00005b22 branch  0x0000590c , 0x00000005 
+ 00022795  0x00005b23 branch  0x00005a76 
+ 00022796  0x00005b27 jam  0x00000000 , 0x000004b4 
+ 00022797  0x00005b28 fetcht  0x00000002 , 0x0000445a 
+ 00022798  0x00005b29 storet  0x00000002 , 0x00000aa2 
+ 00022799  0x00005b2a call  0x0000578c 
+ 00022800  0x00005b2b nbranch  0x00005a76 , 0x00000034 
+ 00022801  0x00005b2d fetcht  0x00000002 , 0x00000aa2 
+ 00022802  0x00005b2e call  0x0000578c 
+ 00022803  0x00005b2f nbranch  0x00005925 , 0x00000034 
+ 00022804  0x00005b30 copy  0x00000006 , 0x00000011 
+ 00022805  0x00005b31 fetch  0x00000001 , 0x000004b3 
+ 00022806  0x00005b32 copy  0x0000003f , 0x00000039 
+ 00022807  0x00005b33 fetcht  0x00000001 , 0x0000445e 
+ 00022808  0x00005b34 isub  0x00000002 , 0x0000003e 
+ 00022809  0x00005b35 nbranch  0x00005921 , 0x00000005 
+ 00022810  0x00005b36 arg  0x0000445f , 0x00000012 
+ 00022811  0x00005b37 call  0x00007f88 
+ 00022812  0x00005b39 branch  0x00005928 , 0x00000005 
+ 00022813  0x00005b3b fetch  0x00000002 , 0x000004a3 
+ 00022814  0x00005b3c fetcht  0x00000002 , 0x00004472 
+ 00022815  0x00005b3d isub  0x00000002 , 0x0000003e 
+ 00022816  0x00005b3e branch  0x00005930 , 0x00000005 
+ 00022817  0x00005b40 fetch  0x00000002 , 0x00000aa2 
+ 00022818  0x00005b41 increase  0x00000001 , 0x0000003f 
+ 00022819  0x00005b42 store  0x00000002 , 0x00000aa2 
+ 00022820  0x00005b43 branch  0x00005911 
+ 00022821  0x00005b46 fetch  0x00000001 , 0x000004b4 
+ 00022822  0x00005b47 beq  0x00000001 , 0x00005930 
+ 00022823  0x00005b48 branch  0x00005a76 
+ 00022824  0x00005b4c fetch  0x00000002 , 0x000004a3 
+ 00022825  0x00005b4d fetcht  0x00000002 , 0x00004472 
+ 00022826  0x00005b4e isub  0x00000002 , 0x0000003e 
+ 00022827  0x00005b4f nbranch  0x00005921 , 0x00000005 
+ 00022828  0x00005b50 jam  0x00000001 , 0x000004b4 
+ 00022829  0x00005b52 fetcht  0x00000002 , 0x00000aa2 
+ 00022830  0x00005b53 storet  0x00000002 , 0x0000049e 
+ 00022831  0x00005b54 branch  0x00005921 
+ 00022832  0x00005b57 fetch  0x00000001 , 0x000004b4 
+ 00022833  0x00005b58 beq  0x00000000 , 0x00005921 
+ 00022834  0x00005b59 jam  0x00000002 , 0x000004b4 
+ 00022835  0x00005b5a fetcht  0x00000002 , 0x00000aa2 
+ 00022836  0x00005b5b increase  0xffffffff , 0x00000002 
+ 00022837  0x00005b5c storet  0x00000002 , 0x000004a0 
+ 00022838  0x00005b5f arg  0x00000005 , 0x00000011 
+ 00022839  0x00005b60 call  0x00005a82 
+ 00022840  0x00005b61 setarg  0x00000007 
+ 00022841  0x00005b62 istore  0x00000001 , 0x00000005 
+ 00022842  0x00005b63 fetch  0x00000002 , 0x0000049e 
+ 00022843  0x00005b64 istore  0x00000002 , 0x00000005 
+ 00022844  0x00005b65 fetch  0x00000002 , 0x000004a0 
+ 00022845  0x00005b66 istore  0x00000002 , 0x00000005 
+ 00022846  0x00005b67 rtn 
+ 00022847  0x00005b6c call  0x00005ab1 
+ 00022848  0x00005b6d call  0x000056df 
+ 00022849  0x00005b6e branch  0x00005942 
+ 00022850  0x00005b71 fetcht  0x00000002 , 0x0000445a 
+ 00022851  0x00005b72 storet  0x00000002 , 0x00000aa2 
+ 00022852  0x00005b73 call  0x00005756 
+ 00022853  0x00005b74 call  0x0000576d 
+ 00022854  0x00005b75 increase  0xfffffffe , 0x00000006 
+ 00022855  0x00005b76 copy  0x00000006 , 0x0000003f 
+ 00022856  0x00005b77 store  0x00000002 , 0x0000049c 
+ 00022857  0x00005b79 fetcht  0x00000002 , 0x00004472 
+ 00022858  0x00005b7a setarg  0x00002a00 
+ 00022859  0x00005b7b isub  0x00000002 , 0x0000003e 
+ 00022860  0x00005b7c branch  0x000059a8 , 0x00000005 
+ 00022861  0x00005b7d setarg  0x00002803 
+ 00022862  0x00005b7e isub  0x00000002 , 0x0000003e 
+ 00022863  0x00005b7f nbranch  0x00005990 , 0x00000005 
+ 00022864  0x00005b80 arg  0x00000002 , 0x0000000b 
+ 00022865  0x00005b82 call  0x00005a88 
+ 00022866  0x00005b83 nbranch  0x0000596d , 0x00000002 
+ 00022867  0x00005b84 fetcht  0x00000002 , 0x00000aa2 
+ 00022868  0x00005b85 call  0x0000578a 
+ 00022869  0x00005b86 beq  0x00000001 , 0x0000596d 
+ 00022870  0x00005b87 call  0x00005a94 
+ 00022871  0x00005b88 nbranch  0x0000596b , 0x00000005 
+ 00022872  0x00005b89 nbranch  0x0000596f , 0x00000028 
+ 00022873  0x00005b8a disable  0x00000028 
+ 00022874  0x00005b8b arg  0x00000014 , 0x00000011 
+ 00022875  0x00005b8c call  0x00005a82 
+ 00022876  0x00005b8d setarg  0x00000009 
+ 00022877  0x00005b8e istore  0x00000001 , 0x00000005 
+ 00022878  0x00005b8f copy  0x00000005 , 0x00000030 
+ 00022879  0x00005b90 increase  0x00000001 , 0x00000005 
+ 00022880  0x00005b92 call  0x0000597d 
+ 00022881  0x00005b93 call  0x00005a84 
+ 00022882  0x00005b94 call  0x0000578a 
+ 00022883  0x00005b95 call  0x00005984 
+ 00022884  0x00005b96 fetch  0x00000001 , 0x000004a2 
+ 00022885  0x00005b97 increase  0x00000005 , 0x0000003f 
+ 00022886  0x00005b98 istore  0x00000001 , 0x00000030 
+ 00022887  0x00005b99 fetch  0x00000001 , 0x000004a2 
+ 00022888  0x00005b9a beq  0x00000010 , 0x0000596d 
+ 00022889  0x00005b9b increase  0xffffffff , 0x0000000b 
+ 00022890  0x00005b9c branch  0x0000596d , 0x00000005 
+ 00022891  0x00005b9e call  0x00005a84 
+ 00022892  0x00005b9f branch  0x00005951 
+ 00022893  0x00005ba1 branch  0x00005a76 , 0x00000028 
+ 00022894  0x00005ba2 branch  0x00005aa5 
+ 00022895  0x00005ba5 call  0x00005a97 
+ 00022896  0x00005ba6 call  0x00005a84 
+ 00022897  0x00005ba7 call  0x0000578a 
+ 00022898  0x00005ba8 fetch  0x00000001 , 0x000004a2 
+ 00022899  0x00005ba9 beq  0x00000010 , 0x0000596d 
+ 00022900  0x00005bab call  0x00007e9c 
+ 00022901  0x00005bac fetch  0x00000002 , 0x00000aa2 
+ 00022902  0x00005bad increase  0xffffffff , 0x0000003f 
+ 00022903  0x00005bae istore  0x00000002 , 0x00000005 
+ 00022904  0x00005baf call  0x00005aa1 
+ 00022905  0x00005bb0 call  0x00005984 
+ 00022906  0x00005bb1 increase  0xffffffff , 0x0000000b 
+ 00022907  0x00005bb2 branch  0x0000596d , 0x00000005 
+ 00022908  0x00005bb3 branch  0x0000596b 
+ 00022909  0x00005bb7 fetch  0x00000002 , 0x00000aa2 
+ 00022910  0x00005bb8 istore  0x00000002 , 0x00000005 
+ 00022911  0x00005bba fetch  0x00000001 , 0x000004b3 
+ 00022912  0x00005bbb copy  0x0000003f , 0x00000039 
+ 00022913  0x00005bbc call  0x00007e9f 
+ 00022914  0x00005bbd call  0x00007ef4 
+ 00022915  0x00005bbe branch  0x00007ea2 
+ 00022916  0x00005bc0 call  0x00007e9c 
+ 00022917  0x00005bc1 fetch  0x00000002 , 0x00000aa2 
+ 00022918  0x00005bc2 istore  0x00000002 , 0x00000005 
+ 00022919  0x00005bc3 call  0x00007ea2 
+ 00022920  0x00005bc4 fetch  0x00000001 , 0x000004a2 
+ 00022921  0x00005bc5 copy  0x0000003f , 0x00000039 
+ 00022922  0x00005bc6 call  0x00007e9c 
+ 00022923  0x00005bc7 call  0x00007e9f 
+ 00022924  0x00005bc8 isub  0x00000039 , 0x00000006 
+ 00022925  0x00005bc9 increase  0xffffffff , 0x00000006 
+ 00022926  0x00005bca call  0x00007ef4 
+ 00022927  0x00005bcb branch  0x00007ea2 
+ 00022928  0x00005bd0 fetcht  0x00000002 , 0x0000445a 
+ 00022929  0x00005bd1 storet  0x00000002 , 0x00000aa2 
+ 00022930  0x00005bd3 call  0x00005a88 
+ 00022931  0x00005bd4 nbranch  0x00005a76 , 0x00000002 
+ 00022932  0x00005bd5 call  0x0000578a 
+ 00022933  0x00005bd6 beq  0x00000001 , 0x00005a76 
+ 00022934  0x00005bd7 call  0x00005a94 
+ 00022935  0x00005bd8 nbranch  0x000059a6 , 0x00000005 
+ 00022936  0x00005bdb arg  0x00000014 , 0x00000011 
+ 00022937  0x00005bdc call  0x00005a82 
+ 00022938  0x00005bdd setarg  0x00000009 
+ 00022939  0x00005bde istore  0x00000001 , 0x00000005 
+ 00022940  0x00005bdf fetch  0x00000001 , 0x000004b3 
+ 00022941  0x00005be0 copy  0x0000003f , 0x00000039 
+ 00022942  0x00005be1 increase  0x00000002 , 0x0000003f 
+ 00022943  0x00005be2 istore  0x00000001 , 0x00000005 
+ 00022944  0x00005be3 fetch  0x00000002 , 0x00000aa2 
+ 00022945  0x00005be4 istore  0x00000002 , 0x00000005 
+ 00022946  0x00005be5 call  0x00007e9f 
+ 00022947  0x00005be6 call  0x00007ef4 
+ 00022948  0x00005be7 call  0x00007ea2 
+ 00022949  0x00005be8 branch  0x00005aa5 
+ 00022950  0x00005beb call  0x00005a84 
+ 00022951  0x00005bec branch  0x00005992 
+ 00022952  0x00005bf0 arg  0x00002a00 , 0x00000002 
+ 00022953  0x00005bf1 call  0x0000577c 
+ 00022954  0x00005bf2 rtn  0x00000034 
+ 00022955  0x00005bf3 increase  0xfffffffb , 0x00000006 
+ 00022956  0x00005bf4 ifetch  0x00000002 , 0x00000006 
+ 00022957  0x00005bf5 store  0x00000002 , 0x00000aa2 
+ 00022958  0x00005bf6 arg  0x00000014 , 0x00000011 
+ 00022959  0x00005bf7 call  0x00005a82 
+ 00022960  0x00005bf8 setarg  0x00000009 
+ 00022961  0x00005bf9 istore  0x00000001 , 0x00000005 
+ 00022962  0x00005bfa fetch  0x00000001 , 0x000043af 
+ 00022963  0x00005bfb copy  0x0000003f , 0x00000039 
+ 00022964  0x00005bfc increase  0x00000002 , 0x0000003f 
+ 00022965  0x00005bfd istore  0x00000001 , 0x00000005 
+ 00022966  0x00005bfe fetch  0x00000002 , 0x00000aa2 
+ 00022967  0x00005bff istore  0x00000002 , 0x00000005 
+ 00022968  0x00005c00 arg  0x000043b0 , 0x00000006 
+ 00022969  0x00005c01 call  0x00007ef4 
+ 00022970  0x00005c02 call  0x00007ea2 
+ 00022971  0x00005c03 branch  0x00005aa5 
+ 00022972  0x00005c08 fetcht  0x00000002 , 0x00000478 
+ 00022973  0x00005c09 fetch  0x00000001 , 0x000044e9 
+ 00022974  0x00005c0a bbit1  0x00000003 , 0x000059dd 
+ 00022975  0x00005c0d call  0x0000576a 
+ 00022976  0x00005c0e branch  0x00005a76 , 0x00000034 
+ 00022977  0x00005c0f increase  0xfffffffe , 0x00000006 
+ 00022978  0x00005c10 ifetch  0x00000002 , 0x00000006 
+ 00022979  0x00005c11 arg  0x00002a00 , 0x00000002 
+ 00022980  0x00005c12 isub  0x00000002 , 0x0000003e 
+ 00022981  0x00005c13 branch  0x000059d3 , 0x00000005 
+ 00022982  0x00005c14 ifetch  0x00000001 , 0x00000006 
+ 00022983  0x00005c15 sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00022984  0x00005c16 branch  0x000059ca , 0x00000002 
+ 00022985  0x00005c17 force  0x00000016 , 0x0000003f 
+ 00022986  0x00005c19 copy  0x0000003f , 0x00000013 
+ 00022987  0x00005c1a call  0x00007ea5 
+ 00022988  0x00005c1b add  0x00000013 , 0x00000001 , 0x00000011 
+ 00022989  0x00005c1c call  0x00005a82 
+ 00022990  0x00005c1d setarg  0x0000000b 
+ 00022991  0x00005c1e istore  0x00000001 , 0x00000005 
+ 00022992  0x00005c1f copy  0x00000013 , 0x00000039 
+ 00022993  0x00005c20 call  0x00007e9f 
+ 00022994  0x00005c21 branch  0x00007f01 
+ 00022995  0x00005c24 call  0x00007ea5 
+ 00022996  0x00005c25 fetch  0x00000001 , 0x000043af 
+ 00022997  0x00005c26 add  0x0000003f , 0x00000001 , 0x00000011 
+ 00022998  0x00005c27 call  0x00005a82 
+ 00022999  0x00005c28 setarg  0x0000000b 
+ 00023000  0x00005c29 istore  0x00000001 , 0x00000005 
+ 00023001  0x00005c2a fetch  0x00000001 , 0x000043af 
+ 00023002  0x00005c2b copy  0x0000003f , 0x00000039 
+ 00023003  0x00005c2c arg  0x000043b0 , 0x00000006 
+ 00023004  0x00005c2d branch  0x00007f01 
+ 00023005  0x00005c31 fetch  0x00000002 , 0x000044fa 
+ 00023006  0x00005c32 isub  0x00000002 , 0x0000003e 
+ 00023007  0x00005c33 nbranch  0x000059bf , 0x00000005 
+ 00023008  0x00005c35 call  0x00005a42 
+ 00023009  0x00005c36 nbranch  0x000059bf , 0x00000028 
+ 00023010  0x00005c37 jam  0x00000005 , 0x0000047a 
+ 00023011  0x00005c38 branch  0x00005a77 
+ 00023012  0x00005c3c ifetch  0x00000002 , 0x00000006 
+ 00023013  0x00005c3d store  0x00000002 , 0x0000445e 
+ 00023014  0x00005c3f arg  0x00000014 , 0x00000011 
+ 00023015  0x00005c40 call  0x00005a82 
+ 00023016  0x00005c41 setarg  0x0000000d 
+ 00023017  0x00005c42 istore  0x00000001 , 0x00000005 
+ 00023018  0x00005c43 fetch  0x00000002 , 0x0000445e 
+ 00023019  0x00005c44 iforce  0x00000011 
+ 00023020  0x00005c45 fetcht  0x00000002 , 0x00000478 
+ 00023021  0x00005c46 call  0x0000576a 
+ 00023022  0x00005c47 branch  0x00005a76 , 0x00000034 
+ 00023023  0x00005c48 ifetch  0x00000001 , 0x00000006 
+ 00023024  0x00005c49 isub  0x00000011 , 0x00000039 
+ 00023025  0x00005c4a nbranch  0x00005a76 , 0x00000002 
+ 00023026  0x00005c4b sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00023027  0x00005c4c branch  0x000059f5 , 0x00000002 
+ 00023028  0x00005c4d force  0x00000016 , 0x00000039 
+ 00023029  0x00005c4f deposit  0x00000011 
+ 00023030  0x00005c50 iadd  0x00000006 , 0x00000006 
+ 00023031  0x00005c51 call  0x00007ef4 
+ 00023032  0x00005c52 call  0x00007ea2 
+ 00023033  0x00005c53 branch  0x00005aa5 
+ 00023034  0x00005c57 call  0x00005ab1 
+ 00023035  0x00005c58 call  0x000056d7 
+ 00023036  0x00005c59 branch  0x000059fd 
+ 00023037  0x00005c5f arg  0x00000002 , 0x0000000b 
+ 00023038  0x00005c60 fetcht  0x00000002 , 0x0000445a 
+ 00023039  0x00005c64 storet  0x00000002 , 0x00000aa2 
+ 00023040  0x00005c65 call  0x00005756 
+ 00023041  0x00005c66 call  0x0000576d 
+ 00023042  0x00005c67 increase  0xfffffffe , 0x00000006 
+ 00023043  0x00005c68 copy  0x00000006 , 0x0000003f 
+ 00023044  0x00005c69 store  0x00000002 , 0x0000049c 
+ 00023045  0x00005c6b call  0x00005a88 
+ 00023046  0x00005c6c nbranch  0x00005a25 , 0x00000002 
+ 00023047  0x00005c6d fetcht  0x00000002 , 0x00000aa2 
+ 00023048  0x00005c6e call  0x0000578a 
+ 00023049  0x00005c6f beq  0x00000001 , 0x00005a28 
+ 00023050  0x00005c71 call  0x00005a8c 
+ 00023051  0x00005c72 nbranch  0x00005a23 , 0x00000005 
+ 00023052  0x00005c73 copy  0x0000000b , 0x0000003f 
+ 00023053  0x00005c74 beq  0x00000000 , 0x00005a28 
+ 00023054  0x00005c75 nbranch  0x00005a19 , 0x00000028 
+ 00023055  0x00005c76 disable  0x00000028 
+ 00023056  0x00005c78 arg  0x00000014 , 0x00000011 
+ 00023057  0x00005c79 call  0x00005a82 
+ 00023058  0x00005c7a setarg  0x00000011 
+ 00023059  0x00005c7b istore  0x00000001 , 0x00000005 
+ 00023060  0x00005c7c fetch  0x00000001 , 0x000004b3 
+ 00023061  0x00005c7d increase  0x00000004 , 0x0000003f 
+ 00023062  0x00005c7e istore  0x00000001 , 0x00000005 
+ 00023063  0x00005c7f call  0x00007ea2 
+ 00023064  0x00005c80 branch  0x00005a1f 
+ 00023065  0x00005c82 fetch  0x00000001 , 0x000004b3 
+ 00023066  0x00005c83 beq  0x00000010 , 0x00005a28 
+ 00023067  0x00005c84 fetch  0x00000002 , 0x00000aa2 
+ 00023068  0x00005c85 increase  0xffffffff , 0x0000003f 
+ 00023069  0x00005c86 store  0x00000002 , 0x000004a0 
+ 00023070  0x00005c87 call  0x00005a9c 
+ 00023071  0x00005c89 fetch  0x00000002 , 0x00000aa2 
+ 00023072  0x00005c8a store  0x00000002 , 0x0000049e 
+ 00023073  0x00005c8b call  0x00005a97 
+ 00023074  0x00005c8c increase  0xffffffff , 0x0000000b 
+ 00023075  0x00005c8f call  0x00005a84 
+ 00023076  0x00005c90 branch  0x00005a05 
+ 00023077  0x00005c93 fetch  0x00000002 , 0x00000aa2 
+ 00023078  0x00005c94 store  0x00000002 , 0x000004a0 
+ 00023079  0x00005c95 branch  0x00005a2c 
+ 00023080  0x00005c97 fetch  0x00000002 , 0x00000aa2 
+ 00023081  0x00005c98 increase  0xffffffff , 0x0000003f 
+ 00023082  0x00005c99 store  0x00000002 , 0x000004a0 
+ 00023083  0x00005c9a branch  0x00005a2c 
+ 00023084  0x00005c9c branch  0x00005a76 , 0x00000028 
+ 00023085  0x00005c9d call  0x00005a9c 
+ 00023086  0x00005c9e branch  0x00005aa5 
+ 00023087  0x00005ca4 copy  0x00000006 , 0x00000011 
+ 00023088  0x00005ca5 fetch  0x00000002 , 0x000044fc 
+ 00023089  0x00005ca6 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023090  0x00005ca7 call  0x000056e2 
+ 00023091  0x00005ca9 fetch  0x00000001 , 0x000044e9 
+ 00023092  0x00005caa bbit0  0x00000004 , 0x00005a3d 
+ 00023093  0x00005cac fetcht  0x00000002 , 0x00000478 
+ 00023094  0x00005cad fetch  0x00000002 , 0x000044fa 
+ 00023095  0x00005cae isub  0x00000002 , 0x0000003e 
+ 00023096  0x00005caf nbranch  0x00005a3d , 0x00000005 
+ 00023097  0x00005cb0 call  0x00005a42 
+ 00023098  0x00005cb1 nbranch  0x00005a3d , 0x00000028 
+ 00023099  0x00005cb2 jam  0x00000005 , 0x0000047a 
+ 00023100  0x00005cb3 branch  0x00005a77 
+ 00023101  0x00005cb6 force  0x00000001 , 0x00000011 
+ 00023102  0x00005cb7 call  0x00005a82 
+ 00023103  0x00005cb8 setarg  0x00000013 
+ 00023104  0x00005cb9 istore  0x00000001 , 0x00000005 
+ 00023105  0x00005cba rtn 
+ 00023106  0x00005cbd call  0x00007fe9 
+ 00023107  0x00005cbe fetch  0x00000001 , 0x000044c6 
+ 00023108  0x00005cbf rtneq  0x00000000 
+ 00023109  0x00005cc0 fetch  0x00000001 , 0x00004040 
+ 00023110  0x00005cc1 rtnbit1  0x00000004 
+ 00023111  0x00005cc2 branch  0x00007fe7 
+ 00023112  0x00005cc6 add  0x00000006 , 0x00000002 , 0x00000011 
+ 00023113  0x00005cc7 fetch  0x00000002 , 0x000044fc 
+ 00023114  0x00005cc8 add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00023115  0x00005cc9 call  0x000056e2 
+ 00023116  0x00005cca branch  0x00005a4d 
+ 00023117  0x00005cce fetch  0x00000002 , 0x000044fc 
+ 00023118  0x00005ccf copy  0x0000003f , 0x00000011 
+ 00023119  0x00005cd0 call  0x00005a82 
+ 00023120  0x00005cd1 setarg  0x00000017 
+ 00023121  0x00005cd2 istore  0x00000001 , 0x00000005 
+ 00023122  0x00005cd3 fetch  0x00000002 , 0x00000478 
+ 00023123  0x00005cd4 istore  0x00000002 , 0x00000005 
+ 00023124  0x00005cd5 fetch  0x00000002 , 0x000044fc 
+ 00023125  0x00005cd6 add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00023126  0x00005cd7 fetch  0x00000002 , 0x0000450d 
+ 00023127  0x00005cd8 add  0x0000003f , 0x00000007 , 0x00000006 
+ 00023128  0x00005cd9 ifetch  0x00000002 , 0x00000006 
+ 00023129  0x00005cda istore  0x00000002 , 0x00000005 
+ 00023130  0x00005cdb branch  0x00007ef4 
+ 00023131  0x00005ce2 force  0x00000001 , 0x00000011 
+ 00023132  0x00005ce3 call  0x00005a82 
+ 00023133  0x00005ce4 setarg  0x00000019 
+ 00023134  0x00005ce5 istore  0x00000001 , 0x00000005 
+ 00023135  0x00005ce6 rtn 
+ 00023136  0x00005ceb copy  0x00000006 , 0x00000011 
+ 00023137  0x00005cec fetch  0x00000002 , 0x000044fc 
+ 00023138  0x00005ced add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023139  0x00005cee branch  0x000056e2 
+ 00023140  0x00005cf4 copy  0x00000002 , 0x00000013 
+ 00023141  0x00005cf5 increase  0x00000003 , 0x00000011 
+ 00023142  0x00005cf6 call  0x00005a82 
+ 00023143  0x00005cf7 increase  0xfffffffd , 0x00000011 
+ 00023144  0x00005cf8 setarg  0x0000001b 
+ 00023145  0x00005cf9 istore  0x00000001 , 0x00000005 
+ 00023146  0x00005cfa copy  0x00000013 , 0x00000002 
+ 00023147  0x00005cfb istoret  0x00000002 , 0x00000005 
+ 00023148  0x00005cfc rtn 
+ 00023149  0x00005d00 copy  0x00000002 , 0x00000013 
+ 00023150  0x00005d01 increase  0x00000003 , 0x00000011 
+ 00023151  0x00005d02 call  0x00005a82 
+ 00023152  0x00005d03 increase  0xfffffffd , 0x00000011 
+ 00023153  0x00005d04 setarg  0x0000001d 
+ 00023154  0x00005d05 istore  0x00000001 , 0x00000005 
+ 00023155  0x00005d06 copy  0x00000013 , 0x00000002 
+ 00023156  0x00005d07 istoret  0x00000002 , 0x00000005 
+ 00023157  0x00005d08 rtn 
+ 00023158  0x00005d0e jam  0x0000000a , 0x0000047a 
+ 00023159  0x00005d10 force  0x00000005 , 0x00000011 
+ 00023160  0x00005d11 call  0x00005a82 
+ 00023161  0x00005d12 setarg  0x00000001 
+ 00023162  0x00005d13 istore  0x00000001 , 0x00000005 
+ 00023163  0x00005d14 fetch  0x00000001 , 0x00000477 
+ 00023164  0x00005d15 istore  0x00000001 , 0x00000005 
+ 00023165  0x00005d16 fetch  0x00000002 , 0x00000478 
+ 00023166  0x00005d17 istore  0x00000002 , 0x00000005 
+ 00023167  0x00005d18 fetch  0x00000001 , 0x0000047a 
+ 00023168  0x00005d19 istore  0x00000001 , 0x00000005 
+ 00023169  0x00005d1a rtn 
+ 00023170  0x00005d1e force  0x00000004 , 0x00000012 
+ 00023171  0x00005d1f branch  0x00005847 
+ 00023172  0x00005d23 fetcht  0x00000002 , 0x00000aa2 
+ 00023173  0x00005d24 increase  0x00000001 , 0x00000002 
+ 00023174  0x00005d25 storet  0x00000002 , 0x00000aa2 
+ 00023175  0x00005d26 rtn 
+ 00023176  0x00005d29 fetcht  0x00000002 , 0x00000aa2 
+ 00023177  0x00005d2a fetch  0x00000002 , 0x0000445c 
+ 00023178  0x00005d2b isub  0x00000002 , 0x0000003e 
+ 00023179  0x00005d2c rtn 
+ 00023180  0x00005d30 fetcht  0x00000001 , 0x0000445e 
+ 00023181  0x00005d31 arg  0x0000445f , 0x00000011 
+ 00023182  0x00005d33 fetch  0x00000001 , 0x000004a2 
+ 00023183  0x00005d34 copy  0x0000003f , 0x00000039 
+ 00023184  0x00005d35 isub  0x00000002 , 0x0000003e 
+ 00023185  0x00005d36 nrtn  0x00000005 
+ 00023186  0x00005d37 arg  0x000004a3 , 0x00000012 
+ 00023187  0x00005d38 branch  0x00007f88 
+ 00023188  0x00005d3b fetcht  0x00000001 , 0x00004471 
+ 00023189  0x00005d3c arg  0x00004472 , 0x00000011 
+ 00023190  0x00005d3d branch  0x00005a8e 
+ 00023191  0x00005d41 fetch  0x00000001 , 0x000004b3 
+ 00023192  0x00005d42 store  0x00000001 , 0x00000101 
+ 00023193  0x00005d43 copy  0x0000003f , 0x00000039 
+ 00023194  0x00005d44 call  0x00007e9f 
+ 00023195  0x00005d45 branch  0x00007ef4 
+ 00023196  0x00005d49 call  0x00007e9c 
+ 00023197  0x00005d4a fetch  0x00000002 , 0x0000049e 
+ 00023198  0x00005d4b istore  0x00000002 , 0x00000005 
+ 00023199  0x00005d4c fetch  0x00000002 , 0x000004a0 
+ 00023200  0x00005d4d istore  0x00000002 , 0x00000005 
+ 00023201  0x00005d4f fetch  0x00000001 , 0x00000101 
+ 00023202  0x00005d50 copy  0x0000003f , 0x00000039 
+ 00023203  0x00005d51 call  0x00007ef4 
+ 00023204  0x00005d52 branch  0x00007ea2 
+ 00023205  0x00005d57 call  0x00007e9c 
+ 00023206  0x00005d58 call  0x0000588a 
+ 00023207  0x00005d59 copy  0x00000005 , 0x0000003f 
+ 00023208  0x00005d5a isub  0x00000006 , 0x00000011 
+ 00023209  0x00005d5b call  0x0000588d 
+ 00023210  0x00005d5c copy  0x00000011 , 0x0000003f 
+ 00023211  0x00005d5d istore  0x00000002 , 0x00000006 
+ 00023212  0x00005d5e increase  0x00000004 , 0x00000011 
+ 00023213  0x00005d5f call  0x00005879 
+ 00023214  0x00005d60 copy  0x00000011 , 0x0000003f 
+ 00023215  0x00005d61 istore  0x00000001 , 0x00000006 
+ 00023216  0x00005d62 rtn 
+ 00023217  0x00005d66 rshift8  0x0000003f , 0x0000003f 
+ 00023218  0x00005d67 store  0x00000002 , 0x0000445a 
+ 00023219  0x00005d68 ifetch  0x00000002 , 0x00000006 
+ 00023220  0x00005d69 store  0x00000002 , 0x0000445c 
+ 00023221  0x00005d6a rtn 
+ 00023222  0x00005d70 ifetch  0x00000001 , 0x00000006 
+ 00023223  0x00005d71 ifetcht  0x00000001 , 0x00000006 
+ 00023224  0x00005d72 ifetcht  0x00000002 , 0x00000006 
+ 00023225  0x00005d73 beq  0x00000013 , 0x00005abb 
+ 00023226  0x00005d74 rtn 
+ 00023227  0x00005d76 ifetch  0x00000002 , 0x00000006 
+ 00023228  0x00005d77 store  0x00000002 , 0x00004509 
+ 00023229  0x00005d78 jam  0x00000040 , 0x00000a99 
+ 00023230  0x00005d79 branch  0x00007d86 
+ 00023231  0x00005d80 arg  0x0000000c , 0x00000011 
+ 00023232  0x00005d81 arg  0x00000012 , 0x00000013 
+ 00023233  0x00005d82 call  0x00005ac7 
+ 00023234  0x00005d83 setarg  0x00000008 
+ 00023235  0x00005d84 istore  0x00000002 , 0x00000005 
+ 00023236  0x00005d85 fetch  0x00000008 , 0x00004496 
+ 00023237  0x00005d86 istore  0x00000008 , 0x00000005 
+ 00023238  0x00005d87 rtn 
+ 00023239  0x00005d8c call  0x00005acf 
+ 00023240  0x00005d8d arg  0x00000005 , 0x00000012 
+ 00023241  0x00005d8e call  0x00005847 
+ 00023242  0x00005d8f copy  0x00000013 , 0x0000003f 
+ 00023243  0x00005d90 istore  0x00000001 , 0x00000005 
+ 00023244  0x00005d91 fetch  0x00000001 , 0x00004508 
+ 00023245  0x00005d92 istore  0x00000001 , 0x00000005 
+ 00023246  0x00005d93 rtn 
+ 00023247  0x00005d97 fetch  0x00000001 , 0x00004508 
+ 00023248  0x00005d99 pincrease  0x00000001 
+ 00023249  0x00005d9a store  0x00000001 , 0x00004508 
+ 00023250  0x00005d9b rtnne  0x00000000 
+ 00023251  0x00005d9e jam  0x00000001 , 0x00004508 
+ 00023252  0x00005d9f rtn 
+ 00023253  0x00005da5 fetch  0x00000001 , 0x000044c6 
+ 00023254  0x00005da6 beq  0x00000000 , 0x00005ae4 
+ 00023255  0x00005da7 beq  0x00000001 , 0x00005ae7 
+ 00023256  0x00005da8 beq  0x00000002 , 0x00005ae9 
+ 00023257  0x00005da9 beq  0x00000081 , 0x00005add 
+ 00023258  0x00005daa beq  0x00000082 , 0x00005adf 
+ 00023259  0x00005dab beq  0x00000083 , 0x00005ae2 
+ 00023260  0x00005dac rtn 
+ 00023261  0x00005daf jam  0x0000000d , 0x00004456 
+ 00023262  0x00005db0 branch  0x00005ae5 
+ 00023263  0x00005db2 jam  0x0000000d , 0x00004456 
+ 00023264  0x00005db3 jam  0x00000001 , 0x00004454 
+ 00023265  0x00005db4 rtn 
+ 00023266  0x00005db6 jam  0x0000000d , 0x00004456 
+ 00023267  0x00005db7 branch  0x00005aea 
+ 00023268  0x00005db9 jam  0x00000000 , 0x00004456 
+ 00023269  0x00005dbb jam  0x00000003 , 0x00004454 
+ 00023270  0x00005dbc rtn 
+ 00023271  0x00005dbe jam  0x00000005 , 0x00004456 
+ 00023272  0x00005dbf branch  0x00005ae5 
+ 00023273  0x00005dc1 jam  0x00000005 , 0x00004456 
+ 00023274  0x00005dc3 jam  0x00000000 , 0x00004454 
+ 00023275  0x00005dc4 rtn 
+ 00023276  0x00005dc8 fetch  0x00000001 , 0x00004456 
+ 00023277  0x00005dc9 set1  0x00000003 , 0x0000003f 
+ 00023278  0x00005dca store  0x00000001 , 0x00004456 
+ 00023279  0x00005dcb rtn 
+ 00023280  0x00005dcd fetch  0x00000001 , 0x00004456 
+ 00023281  0x00005dce set0  0x00000003 , 0x0000003f 
+ 00023282  0x00005dcf store  0x00000001 , 0x00004456 
+ 00023283  0x00005dd0 rtn 
+ 00023284  0x00005dd3 ifetch  0x00000001 , 0x00000006 
+ 00023285  0x00005dd4 beq  0x00000001 , 0x00005b09 
+ 00023286  0x00005dd6 beq  0x00000003 , 0x00005b30 
+ 00023287  0x00005dd7 beq  0x00000004 , 0x00005b4d 
+ 00023288  0x00005dd8 beq  0x00000005 , 0x00005b5a 
+ 00023289  0x00005dd9 beq  0x00000006 , 0x00005b80 
+ 00023290  0x00005dda beq  0x00000007 , 0x00005bc4 
+ 00023291  0x00005ddb beq  0x00000008 , 0x00005baf 
+ 00023292  0x00005ddc beq  0x00000009 , 0x00005bc0 
+ 00023293  0x00005ddd beq  0x0000000a , 0x00005bc4 
+ 00023294  0x00005dde beq  0x0000000b , 0x00005bc4 
+ 00023295  0x00005ddf beq  0x0000000c , 0x00005bc5 
+ 00023296  0x00005de0 beq  0x0000000d , 0x00005bca 
+ 00023297  0x00005de1 rtn 
+ 00023298  0x00005de6 force  0x00000002 , 0x00000011 
+ 00023299  0x00005de7 call  0x00005c62 
+ 00023300  0x00005de8 setarg  0x0000000b 
+ 00023301  0x00005de9 istore  0x00000001 , 0x00000005 
+ 00023302  0x00005dea fetch  0x00000001 , 0x00004456 
+ 00023303  0x00005deb istore  0x00000001 , 0x00000005 
+ 00023304  0x00005dec rtn 
+ 00023305  0x00005def store  0x00000001 , 0x0000444c 
+ 00023306  0x00005df0 ifetch  0x00000006 , 0x00000006 
+ 00023307  0x00005df1 istore  0x00000006 , 0x00000005 
+ 00023308  0x00005df2 fetch  0x00000001 , 0x000044c6 
+ 00023309  0x00005df3 beq  0x00000000 , 0x00005b5f 
+ 00023310  0x00005df4 call  0x00005b2b 
+ 00023311  0x00005df5 call  0x00005b26 
+ 00023312  0x00005df6 jam  0x00000003 , 0x000044c4 
+ 00023313  0x00005df7 fetch  0x00000001 , 0x0000444d 
+ 00023314  0x00005df8 beq  0x00000000 , 0x00005b18 
+ 00023315  0x00005df9 beq  0x00000001 , 0x00005b18 
+ 00023316  0x00005dfa beq  0x00000003 , 0x00005b18 
+ 00023317  0x00005dfb fetch  0x00000001 , 0x000044c6 
+ 00023318  0x00005dfc beq  0x00000002 , 0x00005b1b 
+ 00023319  0x00005dfd rtneq  0x00000083 
+ 00023320  0x00005dff arg  0x00000000 , 0x0000003f 
+ 00023321  0x00005e00 store  0x00000004 , 0x000044c7 
+ 00023322  0x00005e01 rtn 
+ 00023323  0x00005e04 fetch  0x00000001 , 0x000044e9 
+ 00023324  0x00005e05 bbit1  0x00000000 , 0x00005b24 
+ 00023325  0x00005e07 arg  0x000044c7 , 0x00000011 
+ 00023326  0x00005e08 copy  0x00000011 , 0x00000005 
+ 00023327  0x00005e09 arg  0x00000003 , 0x00000039 
+ 00023328  0x00005e0a call  0x0000630d 
+ 00023329  0x00005e0b fetch  0x00000002 , 0x000044c9 
+ 00023330  0x00005e0c and_into  0x00000007 , 0x0000003f 
+ 00023331  0x00005e0d store  0x00000002 , 0x000044c9 
+ 00023332  0x00005e0f jam  0x00000034 , 0x00000a99 
+ 00023333  0x00005e10 branch  0x00007d86 
+ 00023334  0x00005e13 fetch  0x00000001 , 0x0000444f 
+ 00023335  0x00005e14 rtnbit1  0x00000003 
+ 00023336  0x00005e15 fetch  0x00000001 , 0x000044c6 
+ 00023337  0x00005e16 rtnbit0  0x00000007 
+ 00023338  0x00005e17 branch  0x00003402 
+ 00023339  0x00005e1a force  0x00000007 , 0x00000011 
+ 00023340  0x00005e1b call  0x00005c62 
+ 00023341  0x00005e1c fetch  0x00000007 , 0x00004453 
+ 00023342  0x00005e1d istore  0x00000007 , 0x00000005 
+ 00023343  0x00005e1e rtn 
+ 00023344  0x00005e22 copy  0x00000006 , 0x00000011 
+ 00023345  0x00005e23 fetch  0x00000001 , 0x000044c6 
+ 00023346  0x00005e24 beq  0x00000083 , 0x00005b37 
+ 00023347  0x00005e25 copy  0x00000011 , 0x00000006 
+ 00023348  0x00005e26 arg  0x0000442a , 0x00000005 
+ 00023349  0x00005e27 call  0x00007ebf 
+ 00023350  0x00005e28 branch  0x00005b3d 
+ 00023351  0x00005e2a copy  0x00000011 , 0x00000006 
+ 00023352  0x00005e2b arg  0x0000442a , 0x00000005 
+ 00023353  0x00005e2c call  0x00007ebf 
+ 00023354  0x00005e2d jam  0x00000002 , 0x000044bf 
+ 00023355  0x00005e2e jam  0x00000008 , 0x000044c1 
+ 00023356  0x00005e2f rtn 
+ 00023357  0x00005e33 fetch  0x00000001 , 0x000044c6 
+ 00023358  0x00005e34 bbit1  0x00000007 , 0x00005b45 
+ 00023359  0x00005e35 call  0x0000739c 
+ 00023360  0x00005e36 force  0x00000011 , 0x00000011 
+ 00023361  0x00005e37 call  0x00005c62 
+ 00023362  0x00005e38 setarg  0x00000003 
+ 00023363  0x00005e39 istore  0x00000001 , 0x00000005 
+ 00023364  0x00005e3a branch  0x00007497 
+ 00023365  0x00005e3e arg  0x0000443a , 0x00000005 
+ 00023366  0x00005e3f call  0x0000630c 
+ 00023367  0x00005e40 call  0x000071c5 
+ 00023368  0x00005e41 force  0x00000011 , 0x00000011 
+ 00023369  0x00005e42 call  0x00005c62 
+ 00023370  0x00005e43 setarg  0x00000003 
+ 00023371  0x00005e44 istore  0x00000001 , 0x00000005 
+ 00023372  0x00005e45 branch  0x00007201 
+ 00023373  0x00005e4a copy  0x00000006 , 0x00000011 
+ 00023374  0x00005e4b fetch  0x00000001 , 0x000044c6 
+ 00023375  0x00005e4c bbit1  0x00000007 , 0x00005b61 
+ 00023376  0x00005e4d copy  0x00000011 , 0x00000006 
+ 00023377  0x00005e4e call  0x00007394 
+ 00023378  0x00005e4f branch  0x00005b75 , 0x00000005 
+ 00023379  0x00005e51 jam  0x00000004 , 0x0000047b 
+ 00023380  0x00005e53 force  0x00000002 , 0x00000011 
+ 00023381  0x00005e54 call  0x00005c62 
+ 00023382  0x00005e55 setarg  0x00000005 
+ 00023383  0x00005e56 istore  0x00000001 , 0x00000005 
+ 00023384  0x00005e57 fetch  0x00000001 , 0x0000047b 
+ 00023385  0x00005e58 istore  0x00000001 , 0x00000005 
+ 00023386  0x00005e5a force  0x0000000a , 0x00000007 
+ 00023387  0x00005e5b call  0x00007f07 
+ 00023388  0x00005e5c jam  0x00000000 , 0x000044c4 
+ 00023389  0x00005e5d jam  0x00000030 , 0x00000a99 
+ 00023390  0x00005e5e branch  0x00007d86 
+ 00023391  0x00005e61 jam  0x00000005 , 0x0000047b 
+ 00023392  0x00005e62 branch  0x00005b54 
+ 00023393  0x00005e66 arg  0x0000042f , 0x00000005 
+ 00023394  0x00005e67 copy  0x00000011 , 0x00000006 
+ 00023395  0x00005e68 call  0x00007ebf 
+ 00023396  0x00005e69 fetch  0x00000001 , 0x000044c6 
+ 00023397  0x00005e6a beq  0x00000083 , 0x00005b6c 
+ 00023398  0x00005e6b call  0x0000714f 
+ 00023399  0x00005e6e call  0x00005b7a 
+ 00023400  0x00005e6f fetch  0x00000001 , 0x000044c6 
+ 00023401  0x00005e70 rtnne  0x00000082 
+ 00023402  0x00005e71 jam  0x0000003b , 0x00000a99 
+ 00023403  0x00005e72 branch  0x00007d86 
+ 00023404  0x00005e75 call  0x000071ba 
+ 00023405  0x00005e76 arg  0x00000af2 , 0x00000005 
+ 00023406  0x00005e77 call  0x00007201 
+ 00023407  0x00005e78 arg  0x00000af2 , 0x00000011 
+ 00023408  0x00005e79 arg  0x0000442a , 0x00000012 
+ 00023409  0x00005e7a arg  0x00000010 , 0x00000039 
+ 00023410  0x00005e7b call  0x00007f88 
+ 00023411  0x00005e7c nbranch  0x00005b53 , 0x00000005 
+ 00023412  0x00005e7d branch  0x00005b7a 
+ 00023413  0x00005e80 call  0x00007390 
+ 00023414  0x00005e81 jam  0x00000031 , 0x00000a99 
+ 00023415  0x00005e82 call  0x00007d86 
+ 00023416  0x00005e83 jam  0x00000001 , 0x00004429 
+ 00023417  0x00005e84 jam  0x00000005 , 0x000044c4 
+ 00023418  0x00005e87 force  0x00000011 , 0x00000011 
+ 00023419  0x00005e88 call  0x00005c62 
+ 00023420  0x00005e89 setarg  0x00000004 
+ 00023421  0x00005e8a istore  0x00000001 , 0x00000005 
+ 00023422  0x00005e8b arg  0x0000443a , 0x00000006 
+ 00023423  0x00005e8c branch  0x00007ebf 
+ 00023424  0x00005e8f arg  0x0000041f , 0x00000005 
+ 00023425  0x00005e90 branch  0x00007ebf 
+ 00023426  0x00005e93 force  0x00000011 , 0x00000011 
+ 00023427  0x00005e94 call  0x00005c62 
+ 00023428  0x00005e95 setarg  0x00000006 
+ 00023429  0x00005e96 istore  0x00000001 , 0x00000005 
+ 00023430  0x00005e97 fetch  0x00000001 , 0x000044e9 
+ 00023431  0x00005e98 bbit1  0x00000001 , 0x00005b8a 
+ 00023432  0x00005e99 arg  0x00004419 , 0x00000006 
+ 00023433  0x00005e9a branch  0x00007ebf 
+ 00023434  0x00005e9d arg  0x000044ea , 0x00000006 
+ 00023435  0x00005e9e branch  0x00007ebf 
+ 00023436  0x00005ea2 arg  0x000044cb , 0x00000005 
+ 00023437  0x00005ea3 force  0x0000000a , 0x00000039 
+ 00023438  0x00005ea4 call  0x0000630d 
+ 00023439  0x00005ea5 force  0x0000000b , 0x00000011 
+ 00023440  0x00005ea6 call  0x00005c62 
+ 00023441  0x00005ea7 setarg  0x00000007 
+ 00023442  0x00005ea8 istore  0x00000001 , 0x00000005 
+ 00023443  0x00005ea9 fetch  0x00000002 , 0x000044cb 
+ 00023444  0x00005eaa istore  0x00000002 , 0x00000005 
+ 00023445  0x00005eab fetch  0x00000008 , 0x000044cd 
+ 00023446  0x00005eac istore  0x00000008 , 0x00000005 
+ 00023447  0x00005ead rtn 
+ 00023448  0x00005eb0 force  0x00000011 , 0x00000011 
+ 00023449  0x00005eb1 call  0x00005c62 
+ 00023450  0x00005eb2 setarg  0x00000008 
+ 00023451  0x00005eb3 istore  0x00000001 , 0x00000005 
+ 00023452  0x00005eb4 setarg  0x00000000 
+ 00023453  0x00005eb5 istore  0x00000008 , 0x00000005 
+ 00023454  0x00005eb6 istore  0x00000008 , 0x00000005 
+ 00023455  0x00005eb7 rtn 
+ 00023456  0x00005ebb force  0x00000008 , 0x00000011 
+ 00023457  0x00005ebc call  0x00005c62 
+ 00023458  0x00005ebd setarg  0x00000009 
+ 00023459  0x00005ebe istore  0x00000001 , 0x00000005 
+ 00023460  0x00005ebf fetch  0x00000001 , 0x00004495 
+ 00023461  0x00005ec0 istore  0x00000001 , 0x00000005 
+ 00023462  0x00005ec1 fetch  0x00000006 , 0x000044a0 
+ 00023463  0x00005ec2 istore  0x00000006 , 0x00000005 
+ 00023464  0x00005ec3 rtn 
+ 00023465  0x00005ec7 jam  0x00000008 , 0x0000047b 
+ 00023466  0x00005ec8 branch  0x00005b54 
+ 00023467  0x00005ecb fetch  0x00000001 , 0x00004458 
+ 00023468  0x00005ecc fetcht  0x00000001 , 0x00004458 
+ 00023469  0x00005ecd iand  0x00000002 , 0x0000003f 
+ 00023470  0x00005ece rtn 
+ 00023471  0x00005ed1 arg  0x000044d5 , 0x00000005 
+ 00023472  0x00005ed2 call  0x00007ebf 
+ 00023473  0x00005ed3 call  0x00005bab 
+ 00023474  0x00005ed4 isolate0  0x00000001 , 0x0000003f 
+ 00023475  0x00005ed5 branch  0x00005ba9 , 0x00000001 
+ 00023476  0x00005ed6 fetch  0x00000001 , 0x00004092 
+ 00023477  0x00005ed7 rtnne  0x0000000a 
+ 00023478  0x00005ed8 call  0x00005bb9 
+ 00023479  0x00005ed9 nrtn  0x00000028 
+ 00023480  0x00005eda branch  0x00003410 
+ 00023481  0x00005ede call  0x00007fe9 
+ 00023482  0x00005edf fetch  0x00000001 , 0x0000448e 
+ 00023483  0x00005ee0 rtneq  0x00000000 
+ 00023484  0x00005ee1 fetch  0x00000001 , 0x00000454 
+ 00023485  0x00005ee2 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00023486  0x00005ee3 rtn  0x00000001 
+ 00023487  0x00005ee4 branch  0x00007fe7 
+ 00023488  0x00005ee7 call  0x00005bab 
+ 00023489  0x00005ee8 isolate0  0x00000001 , 0x0000003f 
+ 00023490  0x00005ee9 branch  0x00005ba9 , 0x00000001 
+ 00023491  0x00005eea rtn 
+ 00023492  0x00005eef rtn 
+ 00023493  0x00005ef2 arg  0x000009be , 0x00000005 
+ 00023494  0x00005ef3 call  0x00007eb3 
+ 00023495  0x00005ef4 jam  0x00000002 , 0x000044bf 
+ 00023496  0x00005ef5 jam  0x00000001 , 0x000044c1 
+ 00023497  0x00005ef6 rtn 
+ 00023498  0x00005ef9 arg  0x00000a6e , 0x00000005 
+ 00023499  0x00005efa call  0x00007ebf 
+ 00023500  0x00005efb jam  0x00000006 , 0x000044c1 
+ 00023501  0x00005efc jam  0x00000002 , 0x000044bf 
+ 00023502  0x00005efd rtn 
+ 00023503  0x00005f00 force  0x00000041 , 0x00000011 
+ 00023504  0x00005f01 call  0x00005c62 
+ 00023505  0x00005f02 setarg  0x0000000c 
+ 00023506  0x00005f03 istore  0x00000001 , 0x00000005 
+ 00023507  0x00005f04 arg  0x000045d2 , 0x00000006 
+ 00023508  0x00005f05 branch  0x00007eb3 
+ 00023509  0x00005f08 call  0x00007166 
+ 00023510  0x00005f09 force  0x00000011 , 0x00000011 
+ 00023511  0x00005f0a call  0x00005c62 
+ 00023512  0x00005f0b setarg  0x0000000d 
+ 00023513  0x00005f0c istore  0x00000001 , 0x00000005 
+ 00023514  0x00005f0d branch  0x00007201 
+ 00023515  0x00005f11 fetch  0x00000001 , 0x000044c4 
+ 00023516  0x00005f12 rtneq  0x000000ff 
+ 00023517  0x00005f13 arg  0x00000003 , 0x00000002 
+ 00023518  0x00005f14 isub  0x00000002 , 0x0000003e 
+ 00023519  0x00005f15 nrtn  0x00000002 
+ 00023520  0x00005f16 arg  0x0000000a , 0x00000007 
+ 00023521  0x00005f17 call  0x00007f16 
+ 00023522  0x00005f18 nrtn  0x00000034 
+ 00023523  0x00005f19 branch  0x00005ba9 
+ 00023524  0x00005f1c bpatchx  0x00000078 , 0x0000402f 
+ 00023525  0x00005f1d fetch  0x00000001 , 0x000044c4 
+ 00023526  0x00005f1e beq  0x00000000 , 0x00005bef 
+ 00023527  0x00005f1f beq  0x00000001 , 0x00005bf5 
+ 00023528  0x00005f20 beq  0x00000002 , 0x00005bef 
+ 00023529  0x00005f21 beq  0x00000003 , 0x00005bf7 
+ 00023530  0x00005f22 beq  0x00000005 , 0x00005bfb 
+ 00023531  0x00005f23 beq  0x00000007 , 0x00005c07 
+ 00023532  0x00005f24 beq  0x00000008 , 0x00005c09 
+ 00023533  0x00005f25 beq  0x00000009 , 0x00005c10 
+ 00023534  0x00005f26 rtn 
+ 00023535  0x00005f2a fetch  0x00000001 , 0x000044c5 
+ 00023536  0x00005f2b rtnne  0x00000004 
+ 00023537  0x00005f2c jam  0x000000ff , 0x000044c5 
+ 00023538  0x00005f2d jam  0x000000ff , 0x000044c4 
+ 00023539  0x00005f2e jam  0x0000003f , 0x00000a99 
+ 00023540  0x00005f2f branch  0x00007d86 
+ 00023541  0x00005f33 jam  0x00000002 , 0x000044c4 
+ 00023542  0x00005f34 branch  0x00005b02 
+ 00023543  0x00005f37 jam  0x00000004 , 0x000044c4 
+ 00023544  0x00005f38 setarg  0x00017700 
+ 00023545  0x00005f39 arg  0x0000000a , 0x00000007 
+ 00023546  0x00005f3a branch  0x00007f08 
+ 00023547  0x00005f3d fetch  0x00000001 , 0x000044c5 
+ 00023548  0x00005f3e beq  0x00000004 , 0x00005bfe 
+ 00023549  0x00005f3f rtn 
+ 00023550  0x00005f42 jam  0x00000007 , 0x000044c4 
+ 00023551  0x00005f43 jam  0x00000029 , 0x00000a99 
+ 00023552  0x00005f44 call  0x00007d86 
+ 00023553  0x00005f45 call  0x00005b82 
+ 00023554  0x00005f46 fetch  0x00000001 , 0x00004092 
+ 00023555  0x00005f47 rtnne  0x0000000a 
+ 00023556  0x00005f48 call  0x00005bb9 
+ 00023557  0x00005f49 rtn  0x00000028 
+ 00023558  0x00005f4a branch  0x00003410 
+ 00023559  0x00005f4e jam  0x00000008 , 0x000044c4 
+ 00023560  0x00005f4f branch  0x00005b8c 
+ 00023561  0x00005f52 fetch  0x00000001 , 0x00004452 
+ 00023562  0x00005f53 fetcht  0x00000001 , 0x00004459 
+ 00023563  0x00005f54 iand  0x00000002 , 0x0000003f 
+ 00023564  0x00005f55 isolate0  0x00000001 , 0x0000003f 
+ 00023565  0x00005f56 branch  0x00005c12 , 0x00000001 
+ 00023566  0x00005f57 jam  0x00000009 , 0x000044c4 
+ 00023567  0x00005f58 branch  0x00005b98 
+ 00023568  0x00005f5b call  0x00005ba0 
+ 00023569  0x00005f5c branch  0x00005c12 
+ 00023570  0x00005f60 force  0x0000000a , 0x00000007 
+ 00023571  0x00005f61 call  0x00007f07 
+ 00023572  0x00005f62 jam  0x000000ff , 0x000044c5 
+ 00023573  0x00005f63 jam  0x000000ff , 0x000044c4 
+ 00023574  0x00005f64 jam  0x0000003e , 0x00000a99 
+ 00023575  0x00005f65 branch  0x00007d86 
+ 00023576  0x00005f6a bpatchx  0x00000079 , 0x0000402f 
+ 00023577  0x00005f6b fetch  0x00000001 , 0x000044c6 
+ 00023578  0x00005f6c rtnbit0  0x00000007 
+ 00023579  0x00005f6d fetch  0x00000001 , 0x000044bf 
+ 00023580  0x00005f6e rtnne  0x00000002 
+ 00023581  0x00005f6f jam  0x00000000 , 0x000044bf 
+ 00023582  0x00005f70 fetch  0x00000001 , 0x000044c1 
+ 00023583  0x00005f71 beq  0x00000001 , 0x00005c58 
+ 00023584  0x00005f72 beq  0x00000002 , 0x00005c5f 
+ 00023585  0x00005f73 beq  0x00000003 , 0x00005c52 
+ 00023586  0x00005f74 beq  0x00000006 , 0x00005c39 
+ 00023587  0x00005f75 beq  0x00000007 , 0x00005c30 
+ 00023588  0x00005f76 beq  0x00000008 , 0x00005c26 
+ 00023589  0x00005f77 rtn 
+ 00023590  0x00005f7b fetch  0x00000001 , 0x00004663 
+ 00023591  0x00005f7c copy  0x0000003f , 0x00000007 
+ 00023592  0x00005f7d increase  0x00000001 , 0x0000003f 
+ 00023593  0x00005f7e store  0x00000001 , 0x00004663 
+ 00023594  0x00005f7f fetch  0x00000004 , 0x000044c7 
+ 00023595  0x00005f80 qisolate1  0x0000003f 
+ 00023596  0x00005f81 setarg  0x00000080 
+ 00023597  0x00005f82 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00023598  0x00005f83 store  0x00000001 , 0x00004664 
+ 00023599  0x00005f84 branch  0x00005c55 
+ 00023600  0x00005f87 fetch  0x00000001 , 0x000044c2 
+ 00023601  0x00005f88 jam  0x00000000 , 0x000044c2 
+ 00023602  0x00005f89 beq  0x00000001 , 0x00005c35 
+ 00023603  0x00005f8a jam  0x00000002 , 0x000044bf 
+ 00023604  0x00005f8b rtn 
+ 00023605  0x00005f8e jam  0x00000031 , 0x00000a99 
+ 00023606  0x00005f8f call  0x00007d86 
+ 00023607  0x00005f90 jam  0x00000005 , 0x000044c4 
+ 00023608  0x00005f91 branch  0x00005bd5 
+ 00023609  0x00005f94 fetch  0x00000001 , 0x000009b9 
+ 00023610  0x00005f95 beq  0x00000003 , 0x00005c3d 
+ 00023611  0x00005f96 jam  0x00000002 , 0x000044bf 
+ 00023612  0x00005f97 rtn 
+ 00023613  0x00005f9a call  0x0000718d 
+ 00023614  0x00005f9e fetch  0x00000001 , 0x000044c6 
+ 00023615  0x00005f9f beq  0x00000083 , 0x00005c41 
+ 00023616  0x00005fa0 call  0x00005b18 
+ 00023617  0x00005fa2 call  0x0000717a 
+ 00023618  0x00005fa3 arg  0x00000af2 , 0x00000011 
+ 00023619  0x00005fa4 arg  0x00000a6e , 0x00000012 
+ 00023620  0x00005fa5 arg  0x00000010 , 0x00000039 
+ 00023621  0x00005fa6 call  0x00007f88 
+ 00023622  0x00005fa7 branch  0x00005c49 , 0x00000005 
+ 00023623  0x00005fa9 jam  0x0000000b , 0x0000047b 
+ 00023624  0x00005faa branch  0x00005b54 
+ 00023625  0x00005fae call  0x00007595 
+ 00023626  0x00005faf nbranch  0x00005c47 , 0x00000005 
+ 00023627  0x00005fb0 jam  0x00000001 , 0x00004429 
+ 00023628  0x00005fb1 fetch  0x00000001 , 0x000044c6 
+ 00023629  0x00005fb2 beq  0x00000081 , 0x00005c35 
+ 00023630  0x00005fb3 beq  0x00000083 , 0x00005c35 
+ 00023631  0x00005fb4 jam  0x00000002 , 0x000044bf 
+ 00023632  0x00005fb5 jam  0x00000007 , 0x000044c1 
+ 00023633  0x00005fb6 rtn 
+ 00023634  0x00005fb9 fetch  0x00000001 , 0x000044c6 
+ 00023635  0x00005fba beq  0x00000083 , 0x00005c56 
+ 00023636  0x00005fbb jam  0x00000000 , 0x00004664 
+ 00023637  0x00005fbd branch  0x00005b3d 
+ 00023638  0x00005fc3 jam  0x00000000 , 0x00004663 
+ 00023639  0x00005fc4 branch  0x00005b1b 
+ 00023640  0x00005fc8 jam  0x00000002 , 0x000044bf 
+ 00023641  0x00005fc9 fetch  0x00000001 , 0x000044c3 
+ 00023642  0x00005fca beq  0x00000003 , 0x00005c5c 
+ 00023643  0x00005fcc rtn 
+ 00023644  0x00005fcf jam  0x00000002 , 0x000044c1 
+ 00023645  0x00005fd0 jam  0x00000000 , 0x000009b9 
+ 00023646  0x00005fd1 branch  0x00007a99 
+ 00023647  0x00005fd4 jam  0x00000002 , 0x000044bf 
+ 00023648  0x00005fd5 jam  0x00000003 , 0x000044c1 
+ 00023649  0x00005fd6 branch  0x00005bcf 
+ 00023650  0x00005fdb force  0x00000006 , 0x00000012 
+ 00023651  0x00005fdc branch  0x00005847 
+ 00023652  0x00005fe1 fetch  0x00000001 , 0x000002db 
+ 00023653  0x00005fe2 beq  0x00000000 , 0x00005c7b 
+ 00023654  0x00005fe3 beq  0x00000001 , 0x00005c83 
+ 00023655  0x00005fe4 beq  0x00000002 , 0x00005c8e 
+ 00023656  0x00005fe5 beq  0x00000003 , 0x00005caa 
+ 00023657  0x00005fe6 beq  0x00000004 , 0x00005ce1 
+ 00023658  0x00005fe7 beq  0x00000005 , 0x00005ce6 
+ 00023659  0x00005fe8 beq  0x00000006 , 0x00005cea 
+ 00023660  0x00005fe9 beq  0x00000007 , 0x00005cf5 
+ 00023661  0x00005fea beq  0x00000008 , 0x00005c99 
+ 00023662  0x00005feb beq  0x00000009 , 0x00005cf5 
+ 00023663  0x00005fec beq  0x0000000a , 0x00005cef 
+ 00023664  0x00005fed beq  0x0000000b , 0x00005cf5 
+ 00023665  0x00005fee beq  0x0000000c , 0x00005c9f 
+ 00023666  0x00005fef beq  0x0000000d , 0x00005cf5 
+ 00023667  0x00005ff0 beq  0x00000012 , 0x00005ca6 
+ 00023668  0x00005ff1 beq  0x00000013 , 0x00005cf5 
+ 00023669  0x00005ff2 arg  0x00000002 , 0x00000011 
+ 00023670  0x00005ff3 arg  0x00000007 , 0x00000012 
+ 00023671  0x00005ff4 call  0x00005842 
+ 00023672  0x00005ff5 fetch  0x00000001 , 0x000002db 
+ 00023673  0x00005ff6 istore  0x00000001 , 0x00000005 
+ 00023674  0x00005ff7 rtn 
+ 00023675  0x00005ffb ifetch  0x00000009 , 0x00000006 
+ 00023676  0x00005ffc store  0x00000009 , 0x000043d3 
+ 00023677  0x00005ffd ifetch  0x00000002 , 0x00000006 
+ 00023678  0x00005ffe store  0x00000002 , 0x0000045f 
+ 00023679  0x00005fff fetch  0x00000001 , 0x0000043f 
+ 00023680  0x00006000 set1  0x00000005 , 0x0000003f 
+ 00023681  0x00006001 store  0x00000001 , 0x0000043f 
+ 00023682  0x00006002 rtn 
+ 00023683  0x00006005 ifetch  0x00000005 , 0x00000006 
+ 00023684  0x00006006 store  0x00000005 , 0x000043ce 
+ 00023685  0x00006007 ifetch  0x00000002 , 0x00000006 
+ 00023686  0x00006008 store  0x00000002 , 0x0000045f 
+ 00023687  0x00006009 fetcht  0x00000002 , 0x00000459 
+ 00023688  0x0000600a isub  0x00000002 , 0x0000003e 
+ 00023689  0x0000600b nbranch  0x00005c8e , 0x00000002 
+ 00023690  0x0000600c fetch  0x00000001 , 0x0000043f 
+ 00023691  0x0000600d set1  0x00000006 , 0x0000003f 
+ 00023692  0x0000600e store  0x00000001 , 0x0000043f 
+ 00023693  0x0000600f rtn 
+ 00023694  0x00006013 setarg  0x00000014 
+ 00023695  0x00006014 store  0x00000002 , 0x0000046d 
+ 00023696  0x00006015 store  0x00000002 , 0x000044ba 
+ 00023697  0x00006016 rtn 
+ 00023698  0x00006019 arg  0x00000013 , 0x00000013 
+ 00023699  0x0000601d arg  0x00000002 , 0x00000011 
+ 00023700  0x0000601e arg  0x00000002 , 0x00000012 
+ 00023701  0x0000601f call  0x00005842 
+ 00023702  0x00006020 copy  0x00000013 , 0x0000003f 
+ 00023703  0x00006021 istore  0x00000001 , 0x00000005 
+ 00023704  0x00006022 rtn 
+ 00023705  0x00006027 arg  0x00000009 , 0x00000011 
+ 00023706  0x00006028 arg  0x00000009 , 0x00000012 
+ 00023707  0x00006029 call  0x00005842 
+ 00023708  0x0000602a setarg  0x00000001 
+ 00023709  0x0000602b istore  0x00000008 , 0x00000005 
+ 00023710  0x0000602c rtn 
+ 00023711  0x00006030 rtn  0x00000029 
+ 00023712  0x00006032 arg  0x00000006 , 0x00000011 
+ 00023713  0x00006033 arg  0x0000000c , 0x00000012 
+ 00023714  0x00006034 call  0x00005842 
+ 00023715  0x00006035 fetch  0x00000005 , 0x00004510 
+ 00023716  0x00006036 istore  0x00000005 , 0x00000005 
+ 00023717  0x00006037 rtn 
+ 00023718  0x0000603b arg  0x00000013 , 0x00000012 
+ 00023719  0x0000603c branch  0x00005ca8 
+ 00023720  0x00006040 arg  0x00000001 , 0x00000011 
+ 00023721  0x00006041 branch  0x00005842 
+ 00023722  0x00006045 ifetch  0x00000008 , 0x00000006 
+ 00023723  0x00006046 store  0x00000008 , 0x000044cd 
+ 00023724  0x00006047 ifetch  0x00000002 , 0x00000006 
+ 00023725  0x00006048 store  0x00000002 , 0x000044cb 
+ 00023726  0x00006049 ifetch  0x00000008 , 0x00000006 
+ 00023727  0x0000604a store  0x00000008 , 0x000044aa 
+ 00023728  0x0000604b ifetch  0x00000004 , 0x00000006 
+ 00023729  0x0000604c store  0x00000004 , 0x00004411 
+ 00023730  0x0000604d call  0x00005ccf 
+ 00023731  0x0000604e bpatchx  0x0000007a , 0x0000402f 
+ 00023732  0x0000604f fetch  0x00000001 , 0x000044c4 
+ 00023733  0x00006050 beq  0x00000005 , 0x00005cbc 
+ 00023734  0x00006051 fetch  0x00000001 , 0x000044e9 
+ 00023735  0x00006052 bbit1  0x00000001 , 0x00005cbf 
+ 00023736  0x00006053 fetch  0x00000001 , 0x00004217 
+ 00023737  0x00006054 ncall  0x000067be , 0x00000034 
+ 00023738  0x00006055 fetch  0x00000001 , 0x00004429 
+ 00023739  0x00006056 beq  0x00000000 , 0x00005cc4 
+ 00023740  0x00006058 jam  0x00000001 , 0x000044c5 
+ 00023741  0x00006059 call  0x00005cdd 
+ 00023742  0x0000605a branch  0x000073a2 
+ 00023743  0x0000605d jam  0x00000001 , 0x00004429 
+ 00023744  0x0000605e arg  0x000044ea , 0x00000006 
+ 00023745  0x0000605f arg  0x00004419 , 0x00000005 
+ 00023746  0x00006060 call  0x00007ebf 
+ 00023747  0x00006061 branch  0x00005cbc 
+ 00023748  0x00006065 bpatchx  0x0000007b , 0x0000402f 
+ 00023749  0x00006066 jam  0x00000000 , 0x000044c5 
+ 00023750  0x00006067 jam  0x00000000 , 0x000044c4 
+ 00023751  0x00006068 jam  0x00000041 , 0x00000a99 
+ 00023752  0x00006069 branch  0x00007d86 
+ 00023753  0x0000606c arg  0x00000002 , 0x00000011 
+ 00023754  0x0000606d arg  0x0000000d , 0x00000012 
+ 00023755  0x0000606e call  0x00005842 
+ 00023756  0x0000606f setarg  0x00000006 
+ 00023757  0x00006070 istore  0x00000001 , 0x00000005 
+ 00023758  0x00006071 rtn 
+ 00023759  0x00006074 arg  0x000044b2 , 0x00000005 
+ 00023760  0x00006075 force  0x00000008 , 0x00000039 
+ 00023761  0x00006076 call  0x0000630d 
+ 00023762  0x00006077 arg  0x00004415 , 0x00000005 
+ 00023763  0x00006078 force  0x00000004 , 0x00000039 
+ 00023764  0x00006079 call  0x0000630d 
+ 00023765  0x0000607a arg  0x0000000d , 0x00000011 
+ 00023766  0x0000607b arg  0x00000004 , 0x00000012 
+ 00023767  0x0000607c call  0x00005842 
+ 00023768  0x0000607d fetch  0x00000008 , 0x000044b2 
+ 00023769  0x0000607e istore  0x00000008 , 0x00000005 
+ 00023770  0x0000607f fetch  0x00000004 , 0x00004415 
+ 00023771  0x00006080 istore  0x00000004 , 0x00000005 
+ 00023772  0x00006081 rtn 
+ 00023773  0x00006084 arg  0x00000005 , 0x00000012 
+ 00023774  0x00006085 branch  0x00005ca8 
+ 00023775  0x00006088 arg  0x00000006 , 0x00000012 
+ 00023776  0x00006089 branch  0x00005ca8 
+ 00023777  0x0000608d ifetch  0x00000008 , 0x00000006 
+ 00023778  0x0000608e store  0x00000008 , 0x000044b2 
+ 00023779  0x0000608f ifetch  0x00000004 , 0x00000006 
+ 00023780  0x00006090 store  0x00000004 , 0x00004415 
+ 00023781  0x00006091 branch  0x000073a2 
+ 00023782  0x00006094 fetch  0x00000001 , 0x0000043f 
+ 00023783  0x00006095 set1  0x00000004 , 0x0000003f 
+ 00023784  0x00006096 store  0x00000001 , 0x0000043f 
+ 00023785  0x00006097 rtn 
+ 00023786  0x0000609a rtn  0x00000029 
+ 00023787  0x0000609b jam  0x00000032 , 0x00000a99 
+ 00023788  0x0000609c call  0x00007d86 
+ 00023789  0x0000609d jam  0x00000004 , 0x000044c5 
+ 00023790  0x0000609e branch  0x00005cdf 
+ 00023791  0x000060a1 jam  0x00000002 , 0x000044c5 
+ 00023792  0x000060a2 call  0x00005cf3 
+ 00023793  0x000060a3 jam  0x00000033 , 0x00000a99 
+ 00023794  0x000060a4 branch  0x00007d86 
+ 00023795  0x000060a7 arg  0x0000000b , 0x00000012 
+ 00023796  0x000060a8 branch  0x00005ca8 
+ 00023797  0x000060b0 rtn 
+ 00023798  0x000060b8 rtn  0x0000002b 
+ 00023799  0x000060ba bpatchx  0x0000007c , 0x0000402f 
+ 00023800  0x000060bb setarg  0x00000000 
+ 00023801  0x000060bc store  0x00000001 , 0x00000048 
+ 00023802  0x000060bd store  0x00000001 , 0x00000055 
+ 00023803  0x000060be store  0x00000001 , 0x00000078 
+ 00023804  0x000060bf store  0x00000001 , 0x0000007c 
+ 00023805  0x000060c0 store  0x00000001 , 0x00004158 
+ 00023806  0x000060c1 store  0x00000001 , 0x000004d7 
+ 00023807  0x000060c2 store  0x00000001 , 0x0000016d 
+ 00023808  0x000060c3 store  0x00000001 , 0x000009b5 
+ 00023809  0x000060c4 jam  0x00000000 , 0x0000455b 
+ 00023810  0x000060c5 jam  0x00000000 , 0x00000229 
+ 00023811  0x000060c6 jam  0x00000000 , 0x000004d8 
+ 00023812  0x000060c8 jam  0x00000000 , 0x000009b5 
+ 00023813  0x000060c9 jam  0x00000000 , 0x000009b4 
+ 00023814  0x000060ca jam  0x00000000 , 0x000004d1 
+ 00023815  0x000060cd rtn 
+ 00023816  0x000060d0 bpatchx  0x0000007d , 0x0000402f 
+ 00023817  0x000060d1 call  0x000062ff , 0x00000029 
+ 00023818  0x000060d2 ncall  0x00006303 , 0x00000029 
+ 00023819  0x000060d3 call  0x000062bc 
+ 00023820  0x000060d4 nrtn  0x00000034 
+ 00023821  0x000060d5 fetch  0x00000001 , 0x0000004c 
+ 00023822  0x000060d6 rtnbit0  0x00000006 
+ 00023823  0x000060d7 set0  0x00000006 , 0x0000003f 
+ 00023824  0x000060d8 set0  0x00000001 , 0x00000000 
+ 00023825  0x000060d9 store  0x00000001 , 0x0000004c 
+ 00023826  0x000060da fetch  0x00000001 , 0x00000551 
+ 00023827  0x000060db fetcht  0x00000001 , 0x0000004c 
+ 00023828  0x000060dc isolate1  0x00000000 , 0x0000003f 
+ 00023829  0x000060dd setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00023830  0x000060de storet  0x00000001 , 0x0000004c 
+ 00023831  0x000060df and_into  0x00000002 , 0x00000002 
+ 00023832  0x000060e0 storet  0x00000001 , 0x0000007f 
+ 00023833  0x000060e1 fetcht  0x00000001 , 0x0000004c 
+ 00023834  0x000060e2 rshift  0x0000003f , 0x0000003f 
+ 00023835  0x000060e3 store  0x00000001 , 0x0000007d 
+ 00023836  0x000060e4 bpatchx  0x0000007e , 0x0000402f 
+ 00023837  0x000060e5 fetch  0x00000001 , 0x0000007d 
+ 00023838  0x000060e6 beq  0x0000007f , 0x00005d66 
+ 00023839  0x000060e7 beq  0x00000003 , 0x00005db1 
+ 00023840  0x000060e8 beq  0x00000004 , 0x00005dc2 
+ 00023841  0x000060e9 beq  0x0000003c , 0x00005d59 
+ 00023842  0x000060ea beq  0x00000005 , 0x00005d55 
+ 00023843  0x000060eb beq  0x0000000f , 0x00005fa8 
+ 00023844  0x000060ec beq  0x00000010 , 0x00005e24 
+ 00023845  0x000060ed beq  0x00000023 , 0x00005e42 
+ 00023846  0x000060ee beq  0x00000039 , 0x00005fc1 
+ 00023847  0x000060ef beq  0x00000038 , 0x00005fbc 
+ 00023848  0x000060f0 beq  0x00000031 , 0x00005e27 
+ 00023849  0x000060f1 beq  0x00000037 , 0x00005eb0 
+ 00023850  0x000060f2 beq  0x00000027 , 0x00005eac 
+ 00023851  0x000060f3 beq  0x00000033 , 0x00005ea9 
+ 00023852  0x000060f4 beq  0x00000025 , 0x00005eae 
+ 00023853  0x000060f5 beq  0x00000026 , 0x00005e3e 
+ 00023854  0x000060f6 beq  0x00000007 , 0x00005e36 
+ 00023855  0x000060f7 beq  0x0000002d , 0x00005e2d 
+ 00023856  0x000060f8 beq  0x0000002e , 0x00005e2e 
+ 00023857  0x000060f9 beq  0x00000001 , 0x00005ea5 
+ 00023858  0x000060fa beq  0x00000002 , 0x00005e90 
+ 00023859  0x000060fb beq  0x00000028 , 0x00005fb3 
+ 00023860  0x000060fc beq  0x00000009 , 0x00005e86 
+ 00023861  0x000060fd beq  0x0000000b , 0x00005e5f 
+ 00023862  0x000060fe beq  0x00000008 , 0x00005e43 
+ 00023863  0x000060ff beq  0x0000000c , 0x00005e6a 
+ 00023864  0x00006100 beq  0x0000001f , 0x00005e3a 
+ 00023865  0x00006101 beq  0x00000020 , 0x00005e3c 
+ 00023866  0x00006102 beq  0x00000021 , 0x00005eca 
+ 00023867  0x00006103 beq  0x00000022 , 0x00005eca 
+ 00023868  0x00006104 beq  0x00000035 , 0x00005ecb 
+ 00023869  0x00006105 beq  0x00000036 , 0x00005ecc 
+ 00023870  0x00006106 beq  0x00000024 , 0x00005eca 
+ 00023871  0x00006107 beq  0x00000034 , 0x00005ecd 
+ 00023872  0x00006108 beq  0x00000017 , 0x00005ed6 
+ 00023873  0x00006109 beq  0x00000011 , 0x00005ef2 
+ 00023874  0x0000610a beq  0x00000012 , 0x00005ef6 
+ 00023875  0x0000610b beq  0x00000013 , 0x00005ef8 
+ 00023876  0x0000610c beq  0x0000000d , 0x00005f0a 
+ 00023877  0x0000610d beq  0x0000000e , 0x00005f0a 
+ 00023878  0x0000610e beq  0x0000002f , 0x00005eaa 
+ 00023879  0x0000610f beq  0x00000030 , 0x00005f0a 
+ 00023880  0x00006110 beq  0x0000000a , 0x00005f0a 
+ 00023881  0x00006111 beq  0x00000018 , 0x00005f0b 
+ 00023882  0x00006112 beq  0x00000032 , 0x00005f0a 
+ 00023883  0x00006113 beq  0x0000003d , 0x00005f10 
+ 00023884  0x00006114 beq  0x0000003e , 0x00005f51 
+ 00023885  0x00006115 beq  0x0000003f , 0x00005f4b 
+ 00023886  0x00006116 beq  0x00000040 , 0x00005f78 
+ 00023887  0x00006117 beq  0x00000041 , 0x00005f8a 
+ 00023888  0x00006118 beq  0x00000006 , 0x00005fa7 
+ 00023889  0x00006119 beq  0x0000003a , 0x00005d57 
+ 00023890  0x0000611d jam  0x00000019 , 0x0000007e 
+ 00023891  0x0000611f jam  0x00000004 , 0x0000007c 
+ 00023892  0x00006120 rtn 
+ 00023893  0x00006123 jam  0x00000006 , 0x0000007c 
+ 00023894  0x00006124 rtn 
+ 00023895  0x00006127 jam  0x0000003b , 0x0000007c 
+ 00023896  0x00006128 rtn 
+ 00023897  0x0000612b fetch  0x00000004 , 0x00000552 
+ 00023898  0x0000612c lshift  0x0000003f , 0x0000003f 
+ 00023899  0x0000612d store  0x00000004 , 0x000040d2 
+ 00023900  0x0000612e fetch  0x00000001 , 0x00000556 
+ 00023901  0x0000612f store  0x00000001 , 0x000040d9 
+ 00023902  0x00006130 fetch  0x00000005 , 0x00000557 
+ 00023903  0x00006131 store  0x00000005 , 0x000040e7 
+ 00023904  0x00006132 fetch  0x00000005 , 0x0000055c 
+ 00023905  0x00006133 istore  0x00000005 , 0x00000005 
+ 00023906  0x00006134 fetch  0x00000001 , 0x00000031 
+ 00023907  0x00006135 set1  0x00000003 , 0x0000003f 
+ 00023908  0x00006136 store  0x00000001 , 0x00000031 
+ 00023909  0x00006137 rtn 
+ 00023910  0x00006139 bpatchx  0x0000007f , 0x0000402f 
+ 00023911  0x0000613a fetch  0x00000001 , 0x00000552 
+ 00023912  0x0000613b set1  0x00000007 , 0x0000003f 
+ 00023913  0x0000613c store  0x00000001 , 0x0000007d 
+ 00023914  0x0000613d beq  0x00000081 , 0x00005d88 
+ 00023915  0x0000613e beq  0x00000082 , 0x00005d8d 
+ 00023916  0x0000613f beq  0x00000095 , 0x00005eb1 
+ 00023917  0x00006140 beq  0x00000096 , 0x00005eca 
+ 00023918  0x00006141 beq  0x0000008b , 0x00005ebf 
+ 00023919  0x00006142 beq  0x00000083 , 0x00005da5 
+ 00023920  0x00006143 beq  0x00000084 , 0x00005da7 
+ 00023921  0x00006144 beq  0x00000090 , 0x00005d7a 
+ 00023922  0x00006145 beq  0x00000097 , 0x00005d9e 
+ 00023923  0x00006146 beq  0x00000098 , 0x00005da3 
+ 00023924  0x00006147 beq  0x00000099 , 0x00005d7d 
+ 00023925  0x00006148 beq  0x0000009a , 0x00005d80 
+ 00023926  0x00006149 rtneq  0x00000084 
+ 00023927  0x0000614d jam  0x00000082 , 0x0000007c 
+ 00023928  0x0000614e jam  0x00000019 , 0x0000007e 
+ 00023929  0x00006150 rtn 
+ 00023930  0x00006152 jam  0x00000082 , 0x0000007c 
+ 00023931  0x00006153 jam  0x0000002e , 0x0000007e 
+ 00023932  0x00006154 rtn 
+ 00023933  0x00006157 call  0x00005d82 
+ 00023934  0x00006158 jam  0x0000009a , 0x0000007c 
+ 00023935  0x00006159 rtn 
+ 00023936  0x0000615c call  0x00005d82 
+ 00023937  0x0000615d branch  0x00005d86 
+ 00023938  0x00006160 arg  0x0000465e , 0x00000005 
+ 00023939  0x00006161 fetch  0x00000003 , 0x00000553 
+ 00023940  0x00006162 istore  0x00000003 , 0x00000005 
+ 00023941  0x00006163 rtn 
+ 00023942  0x00006166 branch  0x000076d8 , 0x00000001 
+ 00023943  0x00006167 rtn 
+ 00023944  0x00006169 fetch  0x00000001 , 0x00000554 
+ 00023945  0x0000616a set1  0x00000007 , 0x0000003f 
+ 00023946  0x0000616b store  0x00000001 , 0x000004c9 
+ 00023947  0x0000616c beq  0x0000008b , 0x00005d92 
+ 00023948  0x0000616d rtn 
+ 00023949  0x00006171 fetch  0x00000001 , 0x00000554 
+ 00023950  0x00006172 set1  0x00000007 , 0x0000003f 
+ 00023951  0x00006173 store  0x00000001 , 0x000004c9 
+ 00023952  0x00006174 beq  0x0000008b , 0x00005d96 
+ 00023953  0x00006175 rtn 
+ 00023954  0x00006178 fetch  0x00000001 , 0x0000415a 
+ 00023955  0x00006179 fetcht  0x00000001 , 0x0000004c 
+ 00023956  0x0000617a nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00023957  0x0000617b storet  0x00000001 , 0x0000004c 
+ 00023958  0x0000617d fetch  0x00000001 , 0x00000030 
+ 00023959  0x0000617e rtnbit0  0x00000005 
+ 00023960  0x0000617f set0  0x00000005 , 0x0000003f 
+ 00023961  0x00006180 store  0x00000001 , 0x00000030 
+ 00023962  0x00006181 fetch  0x00000001 , 0x000004d7 
+ 00023963  0x00006182 nrtn  0x00000034 
+ 00023964  0x00006183 jam  0x00000031 , 0x0000007c 
+ 00023965  0x00006184 rtn 
+ 00023966  0x00006187 nbranch  0x00005da1 , 0x00000029 
+ 00023967  0x00006188 jam  0x00000012 , 0x0000007c 
+ 00023968  0x00006189 branch  0x000062eb 
+ 00023969  0x0000618c jam  0x00000097 , 0x0000007c 
+ 00023970  0x0000618d rtn 
+ 00023971  0x00006192 call  0x000062eb 
+ 00023972  0x00006193 branch  0x00005ffe 
+ 00023973  0x00006196 jam  0x00000084 , 0x0000007c 
+ 00023974  0x00006197 rtn 
+ 00023975  0x0000619a fetcht  0x00000001 , 0x00000555 
+ 00023976  0x0000619b and  0x00000002 , 0x00000001 , 0x00000002 
+ 00023977  0x0000619c storet  0x00000001 , 0x000004d0 
+ 00023978  0x0000619d fetch  0x00000001 , 0x000041ce 
+ 00023979  0x0000619e bne  0x00000051 , 0x00005dad 
+ 00023980  0x0000619f jam  0x00000000 , 0x000041ce 
+ 00023981  0x000061a1 fetch  0x00000001 , 0x00000055 
+ 00023982  0x000061a2 rtnne  0x00000015 
+ 00023983  0x000061a3 jam  0x00000004 , 0x00000055 
+ 00023984  0x000061a4 branch  0x0000631b 
+ 00023985  0x000061a7 bpatchx  0x00000080 , 0x00004030 
+ 00023986  0x000061a8 fetch  0x00000001 , 0x00000552 
+ 00023987  0x000061a9 store  0x00000001 , 0x000004c9 
+ 00023988  0x000061aa beq  0x00000033 , 0x00005dd8 
+ 00023989  0x000061ab beq  0x00000008 , 0x00005de7 
+ 00023990  0x000061ac beq  0x0000000f , 0x00005dee 
+ 00023991  0x000061ad beq  0x00000010 , 0x00005df4 
+ 00023992  0x000061ae beq  0x00000011 , 0x00005df5 
+ 00023993  0x000061af beq  0x00000012 , 0x00005dfd 
+ 00023994  0x000061b0 beq  0x00000018 , 0x00005e13 
+ 00023995  0x000061b1 beq  0x00000017 , 0x00005e16 
+ 00023996  0x000061b2 beq  0x00000013 , 0x00005dcf 
+ 00023997  0x000061b4 beq  0x0000003d , 0x00005f1e 
+ 00023998  0x000061b5 beq  0x0000003e , 0x00005f6a 
+ 00023999  0x000061b6 beq  0x00000040 , 0x00005f20 
+ 00024000  0x000061b7 beq  0x00000041 , 0x00005f3d 
+ 00024001  0x000061b8 rtn 
+ 00024002  0x000061bb bpatchx  0x00000081 , 0x00004030 
+ 00024003  0x000061bc fetch  0x00000001 , 0x00000552 
+ 00024004  0x000061bd store  0x00000001 , 0x000004c9 
+ 00024005  0x000061be beq  0x00000001 , 0x00005e0a 
+ 00024006  0x000061bf beq  0x00000033 , 0x00005de2 
+ 00024007  0x000061c0 beq  0x0000000b , 0x00005dfe 
+ 00024008  0x000061c1 beq  0x00000008 , 0x00005e01 
+ 00024009  0x000061c2 beq  0x00000013 , 0x00005dd2 
+ 00024010  0x000061c4 beq  0x00000040 , 0x00005e0b 
+ 00024011  0x000061c5 beq  0x00000041 , 0x00005e0e 
+ 00024012  0x000061c6 beq  0x00000018 , 0x00005e11 
+ 00024013  0x000061c7 beq  0x00000017 , 0x00005e22 
+ 00024014  0x000061c8 rtn 
+ 00024015  0x000061cb jam  0x00000020 , 0x00000a99 
+ 00024016  0x000061cc call  0x00007d86 
+ 00024017  0x000061cd branch  0x000021dc 
+ 00024018  0x000061cf jam  0x00000019 , 0x00000a99 
+ 00024019  0x000061d0 call  0x00007d86 
+ 00024020  0x000061d1 jam  0x00000002 , 0x0000455b 
+ 00024021  0x000061d2 setarg  0x00000050 
+ 00024022  0x000061d3 arg  0x00000006 , 0x00000007 
+ 00024023  0x000061d4 branch  0x00007f08 
+ 00024024  0x000061da fetch  0x00000001 , 0x000004d1 
+ 00024025  0x000061db set1  0x00000000 , 0x0000003f 
+ 00024026  0x000061dc store  0x00000001 , 0x000004d1 
+ 00024027  0x000061dd jam  0x00000001 , 0x00000a99 
+ 00024028  0x000061de call  0x00007d86 
+ 00024029  0x000061df jam  0x0000008b , 0x0000007c 
+ 00024030  0x000061e3 fetch  0x00000001 , 0x00000055 
+ 00024031  0x000061e4 bne  0x00000005 , 0x00005d07 
+ 00024032  0x000061e7 jam  0x00000006 , 0x00000055 
+ 00024033  0x000061e8 rtn 
+ 00024034  0x000061f1 jam  0x0000000b , 0x000004ca 
+ 00024035  0x000061f2 jam  0x00000007 , 0x0000007c 
+ 00024036  0x000061f4 jam  0x00000000 , 0x00000055 
+ 00024037  0x000061f6 branch  0x00005d07 , 0x00000001 
+ 00024038  0x000061f7 rtn 
+ 00024039  0x000061fa fetch  0x00000001 , 0x000041bd 
+ 00024040  0x000061fb nrtn  0x00000034 
+ 00024041  0x000061fc call  0x0000244f 
+ 00024042  0x000061fd call  0x00005ffc 
+ 00024043  0x000061fe rtn  0x00000029 
+ 00024044  0x000061ff set1  0x00000021 , 0x00000000 
+ 00024045  0x00006200 rtn 
+ 00024046  0x00006203 nrtn  0x00000029 
+ 00024047  0x00006204 jam  0x00000010 , 0x0000007c 
+ 00024048  0x00006205 fetch  0x00000001 , 0x0000004c 
+ 00024049  0x00006206 rtnbit0  0x00000002 
+ 00024050  0x00006207 jam  0x00000012 , 0x0000007c 
+ 00024051  0x00006208 rtn 
+ 00024052  0x0000620b branch  0x00005ffe 
+ 00024053  0x0000620e call  0x00006059 
+ 00024054  0x0000620f fetch  0x00000001 , 0x00000030 
+ 00024055  0x00006210 rtnbit1  0x00000004 
+ 00024056  0x00006211 jam  0x00000031 , 0x0000007c 
+ 00024057  0x00006212 fetch  0x00000001 , 0x00000055 
+ 00024058  0x00006213 rtnne  0x0000000a 
+ 00024059  0x00006214 jam  0x0000000b , 0x00000055 
+ 00024060  0x00006215 rtn 
+ 00024061  0x0000621f rtn 
+ 00024062  0x00006223 jam  0x00000007 , 0x0000007c 
+ 00024063  0x00006224 jam  0x00000013 , 0x000004ca 
+ 00024064  0x00006225 rtn 
+ 00024065  0x00006228 fetch  0x00000001 , 0x00000553 
+ 00024066  0x00006229 beq  0x00000006 , 0x00005e07 
+ 00024067  0x0000622a rtnne  0x00000018 
+ 00024068  0x0000622b jam  0x00000018 , 0x000004ca 
+ 00024069  0x0000622c jam  0x00000007 , 0x0000007c 
+ 00024070  0x0000622d rtn 
+ 00024071  0x0000622f jam  0x00000006 , 0x000004ca 
+ 00024072  0x00006230 jam  0x00000007 , 0x0000007c 
+ 00024073  0x00006231 rtn 
+ 00024074  0x00006234 rtn 
+ 00024075  0x00006237 jam  0x00000000 , 0x000009ae 
+ 00024076  0x00006238 jam  0x00000007 , 0x0000007c 
+ 00024077  0x00006239 branch  0x00005d07 
+ 00024078  0x0000623c jam  0x00000000 , 0x000009ae 
+ 00024079  0x0000623d jam  0x00000007 , 0x0000007c 
+ 00024080  0x0000623e branch  0x00005d07 
+ 00024081  0x00006240 jam  0x00000024 , 0x00000a99 
+ 00024082  0x00006241 branch  0x00007d86 
+ 00024083  0x00006244 jam  0x00000023 , 0x00000a99 
+ 00024084  0x00006245 call  0x00007d86 
+ 00024085  0x00006246 branch  0x000026e9 
+ 00024086  0x00006249 jam  0x00000022 , 0x00000a99 
+ 00024087  0x0000624a call  0x00007d86 
+ 00024088  0x0000624b setarg  0x00000000 
+ 00024089  0x0000624c store  0x00000002 , 0x00000075 
+ 00024090  0x0000624d fetch  0x00000002 , 0x000041e3 
+ 00024091  0x0000624e lshift  0x0000003f , 0x0000003f 
+ 00024092  0x0000624f store  0x00000002 , 0x00000032 
+ 00024093  0x00006250 fetch  0x00000001 , 0x000041e5 
+ 00024094  0x00006251 store  0x00000001 , 0x00000073 
+ 00024095  0x00006252 fetch  0x00000001 , 0x000041e7 
+ 00024096  0x00006253 store  0x00000001 , 0x00000074 
+ 00024097  0x00006254 branch  0x000026c6 
+ 00024098  0x00006257 jam  0x00000021 , 0x00000a99 
+ 00024099  0x00006258 branch  0x00007d86 
+ 00024100  0x0000625b fetcht  0x00000001 , 0x00000552 
+ 00024101  0x0000625c storet  0x00000001 , 0x00000054 
+ 00024102  0x0000625d branch  0x00005e38 
+ 00024103  0x00006260 fetch  0x00000001 , 0x000004d1 
+ 00024104  0x00006261 set1  0x00000002 , 0x0000003f 
+ 00024105  0x00006262 store  0x00000001 , 0x000004d1 
+ 00024106  0x00006263 rtnbit1  0x00000003 
+ 00024107  0x00006264 jam  0x00000031 , 0x0000007c 
+ 00024108  0x00006265 branch  0x00005d07 
+ 00024109  0x0000626a rtn 
+ 00024110  0x0000626d fetch  0x00000001 , 0x000040d0 
+ 00024111  0x0000626e fetcht  0x00000001 , 0x00000552 
+ 00024112  0x0000626f isub  0x00000002 , 0x0000003e 
+ 00024113  0x00006271 branch  0x00005e38 , 0x00000002 
+ 00024114  0x00006272 jam  0x00000004 , 0x0000007c 
+ 00024115  0x00006273 jam  0x0000001f , 0x0000007e 
+ 00024116  0x00006274 jam  0x0000002e , 0x0000007d 
+ 00024117  0x00006275 rtn 
+ 00024118  0x00006278 call  0x00006157 
+ 00024119  0x00006279 branch  0x00005e38 
+ 00024120  0x0000627c jam  0x00000003 , 0x0000007c 
+ 00024121  0x0000627d rtn 
+ 00024122  0x00006280 jam  0x00000021 , 0x0000007c 
+ 00024123  0x00006281 rtn 
+ 00024124  0x00006284 jam  0x00000022 , 0x0000007c 
+ 00024125  0x00006285 rtn 
+ 00024126  0x00006288 fetch  0x00000001 , 0x00000055 
+ 00024127  0x00006289 rtneq  0x00000013 
+ 00024128  0x0000628b jam  0x00000002 , 0x00000055 
+ 00024129  0x0000628d rtn 
+ 00024130  0x00006291 rtn 
+ 00024131  0x00006294 call  0x00005ff9 
+ 00024132  0x00006295 jam  0x00000001 , 0x000004d4 
+ 00024133  0x00006296 jam  0x0000000a , 0x00000a99 
+ 00024134  0x00006297 call  0x00007d86 
+ 00024135  0x00006299 call  0x000062f3 
+ 00024136  0x0000629a nbranch  0x00006001 , 0x00000001 
+ 00024137  0x0000629c nbranch  0x00005e4e , 0x00000029 
+ 00024138  0x0000629d jam  0x00000004 , 0x0000007c 
+ 00024139  0x0000629e jam  0x00000008 , 0x0000007d 
+ 00024140  0x0000629f jam  0x00000023 , 0x0000007e 
+ 00024141  0x000062a0 rtn 
+ 00024142  0x000062a2 fetch  0x00000001 , 0x0000004b 
+ 00024143  0x000062a3 set1  0x00000002 , 0x0000003f 
+ 00024144  0x000062a4 store  0x00000001 , 0x0000004b 
+ 00024145  0x000062a5 rtn 
+ 00024146  0x000062a9 fetcht  0x00000001 , 0x0000004c 
+ 00024147  0x000062aa nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00024148  0x000062ab storet  0x00000001 , 0x0000004c 
+ 00024149  0x000062ac rtn 
+ 00024150  0x000062b0 fetch  0x00000001 , 0x0000007f 
+ 00024151  0x000062b1 rshift  0x0000003f , 0x0000003f 
+ 00024152  0x000062b2 and_into  0x00000001 , 0x0000003f 
+ 00024153  0x000062b3 rtn 
+ 00024154  0x000062b6 fetch  0x00000001 , 0x00004217 
+ 00024155  0x000062b7 rtn  0x00000034 
+ 00024156  0x000062b8 fetch  0x00000001 , 0x000009b5 
+ 00024157  0x000062b9 call  0x000067b2 , 0x00000034 
+ 00024158  0x000062ba rtn 
+ 00024159  0x000062bd call  0x00005e5a 
+ 00024160  0x000062be call  0x00005e56 
+ 00024161  0x000062bf store  0x00000001 , 0x000004d5 
+ 00024162  0x000062c0 call  0x00005ff9 
+ 00024163  0x000062c1 jam  0x0000000c , 0x0000007c 
+ 00024164  0x000062c2 fetch  0x00000001 , 0x000041bd 
+ 00024165  0x000062c3 nrtn  0x00000034 
+ 00024166  0x000062c4 fetch  0x00000001 , 0x00000030 
+ 00024167  0x000062c5 rtnbit1  0x00000006 
+ 00024168  0x000062c6 jam  0x00000006 , 0x0000007e 
+ 00024169  0x000062c7 branch  0x00005d53 
+ 00024170  0x000062ca arg  0x00000040 , 0x00000011 
+ 00024171  0x000062cb call  0x00007288 
+ 00024172  0x000062cc fetch  0x00000004 , 0x00000552 
+ 00024173  0x000062cd fetcht  0x00000004 , 0x00000592 
+ 00024174  0x000062ce isub  0x00000002 , 0x0000003e 
+ 00024175  0x000062cf branch  0x00005e73 , 0x00000005 
+ 00024176  0x000062d0 jam  0x00000007 , 0x0000007c 
+ 00024177  0x000062d1 jam  0x00000005 , 0x000004ca 
+ 00024178  0x000062d2 rtn 
+ 00024179  0x000062d4 call  0x00005e77 
+ 00024180  0x000062d5 fetch  0x00000001 , 0x0000465a 
+ 00024181  0x000062d6 branch  0x00005f3e , 0x00000034 
+ 00024182  0x000062d7 rtn 
+ 00024183  0x000062db call  0x00007386 
+ 00024184  0x000062dc call  0x000021b2 
+ 00024185  0x000062dd fetch  0x00000001 , 0x0000004b 
+ 00024186  0x000062de isolate1  0x00000001 , 0x0000003f 
+ 00024187  0x000062df set0  0x00000001 , 0x0000003f 
+ 00024188  0x000062e0 store  0x00000001 , 0x0000004b 
+ 00024189  0x000062e1 fetch  0x00000001 , 0x00000055 
+ 00024190  0x000062e2 beq  0x00000019 , 0x00005e81 
+ 00024191  0x000062e3 beq  0x00000018 , 0x00005e81 
+ 00024192  0x000062e4 rtn 
+ 00024193  0x000062e6 fetch  0x00000001 , 0x000009b5 
+ 00024194  0x000062e7 rtnne  0x00000000 
+ 00024195  0x000062e8 fetch  0x00000001 , 0x0000004c 
+ 00024196  0x000062e9 rtnbit1  0x00000002 
+ 00024197  0x000062ea branch  0x000063b1 
+ 00024198  0x000062ed arg  0x00000552 , 0x00000011 
+ 00024199  0x000062ee arg  0x00000582 , 0x00000012 
+ 00024200  0x000062ef arg  0x00000562 , 0x00000005 
+ 00024201  0x000062f0 call  0x00007352 
+ 00024202  0x000062f1 arg  0x00000040 , 0x00000011 
+ 00024203  0x000062f2 call  0x00006311 
+ 00024204  0x000062f3 jam  0x0000000b , 0x0000007c 
+ 00024205  0x000062f4 fetch  0x00000001 , 0x00000030 
+ 00024206  0x000062f5 bbit0  0x00000006 , 0x00005ffc 
+ 00024207  0x000062f6 rtn 
+ 00024208  0x000062f9 fetch  0x00000002 , 0x0000015f 
+ 00024209  0x000062fa add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00024210  0x000062fb fetcht  0x00000001 , 0x00000552 
+ 00024211  0x000062fc setarg  0x00000101 
+ 00024212  0x000062fd iadd  0x00000002 , 0x00000005 
+ 00024213  0x000062fe arg  0x00000554 , 0x00000006 
+ 00024214  0x000062ff call  0x00007f01 
+ 00024215  0x00006300 fetcht  0x00000001 , 0x00000053 
+ 00024216  0x00006301 fetch  0x00000001 , 0x00000553 
+ 00024217  0x00006302 isub  0x00000002 , 0x0000003f 
+ 00024218  0x00006303 sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00024219  0x00006304 branch  0x00005ea0 , 0x00000002 
+ 00024220  0x00006305 add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00024221  0x00006306 store  0x00000001 , 0x00000053 
+ 00024222  0x00006307 jam  0x00000001 , 0x0000007c 
+ 00024223  0x00006308 rtn 
+ 00024224  0x0000630a fetch  0x00000001 , 0x0000004c 
+ 00024225  0x0000630b set1  0x00000003 , 0x0000003f 
+ 00024226  0x0000630c store  0x00000001 , 0x0000004c 
+ 00024227  0x0000630d bbit1  0x00000004 , 0x00006006 
+ 00024228  0x0000630e rtn 
+ 00024229  0x00006310 fetch  0x00000001 , 0x00000552 
+ 00024230  0x00006311 store  0x00000001 , 0x0000007d 
+ 00024231  0x00006312 jam  0x00000002 , 0x0000007c 
+ 00024232  0x00006313 rtn 
+ 00024233  0x00006316 branch  0x00005e38 
+ 00024234  0x00006319 jam  0x00000030 , 0x0000007c 
+ 00024235  0x0000631a rtn 
+ 00024236  0x0000631d jam  0x00000028 , 0x0000007c 
+ 00024237  0x0000631e rtn 
+ 00024238  0x00006321 jam  0x00000026 , 0x0000007c 
+ 00024239  0x00006322 rtn 
+ 00024240  0x00006327 rtn 
+ 00024241  0x0000632c fetch  0x00000002 , 0x00000032 
+ 00024242  0x0000632d iforce  0x00000002 
+ 00024243  0x0000632e fetch  0x00000001 , 0x00000553 
+ 00024244  0x0000632f store  0x00000001 , 0x00000095 
+ 00024245  0x00006330 imul32  0x00000002 , 0x00000002 
+ 00024246  0x00006331 fetch  0x00000002 , 0x00000554 
+ 00024247  0x00006332 lshift  0x0000003f , 0x0000003f 
+ 00024248  0x00006333 store  0x00000002 , 0x00000096 
+ 00024249  0x00006334 fetch  0x00000004 , 0x00000556 
+ 00024250  0x00006335 lshift  0x0000003f , 0x0000003f 
+ 00024251  0x00006336 store  0x00000004 , 0x00000091 
+ 00024252  0x00006338 deposit  0x00000002 
+ 00024253  0x00006339 store  0x00000002 , 0x00000098 
+ 00024254  0x0000633a rtn 
+ 00024255  0x0000633c fetcht  0x00000001 , 0x0000415a 
+ 00024256  0x0000633d fetch  0x00000001 , 0x00000553 
+ 00024257  0x0000633e ixor  0x00000002 , 0x0000003e 
+ 00024258  0x0000633f nbranch  0x00005d77 , 0x00000005 
+ 00024259  0x00006340 isolate1  0x00000000 , 0x0000003f 
+ 00024260  0x00006341 fetch  0x00000001 , 0x0000004c 
+ 00024261  0x00006342 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00024262  0x00006343 store  0x00000001 , 0x0000004c 
+ 00024263  0x00006344 jam  0x00000081 , 0x0000007c 
+ 00024264  0x00006345 jam  0x0000008b , 0x0000007d 
+ 00024265  0x00006346 rtn 
+ 00024266  0x0000634d rtn 
+ 00024267  0x00006350 branch  0x00005e38 
+ 00024268  0x00006354 branch  0x00005e38 
+ 00024269  0x00006359 fetch  0x00000002 , 0x00000552 
+ 00024270  0x0000635a store  0x00000002 , 0x00000171 
+ 00024271  0x0000635b rtn 
+ 00024272  0x0000635e fetch  0x00000002 , 0x00000555 
+ 00024273  0x0000635f fetcht  0x00000001 , 0x00004172 
+ 00024274  0x00006360 imul32  0x00000002 , 0x0000003f 
+ 00024275  0x00006361 arg  0x00000640 , 0x00000002 
+ 00024276  0x00006362 isub  0x00000002 , 0x0000003e 
+ 00024277  0x00006364 rtn 
+ 00024278  0x00006367 fetch  0x00000002 , 0x00000557 
+ 00024279  0x00006368 branch  0x00005ef0 , 0x00000034 
+ 00024280  0x00006369 call  0x00005ed0 
+ 00024281  0x0000636a branch  0x00005ef0 , 0x00000002 
+ 00024282  0x0000636b fetch  0x00000001 , 0x00004092 
+ 00024283  0x0000636c sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00024284  0x0000636d call  0x00003cd5 , 0x00000005 
+ 00024285  0x0000636e fetch  0x00000001 , 0x00000030 
+ 00024286  0x0000636f bbit1  0x00000001 , 0x00005ef0 
+ 00024287  0x00006370 fetch  0x00000002 , 0x00000553 
+ 00024288  0x00006371 lshift  0x0000003f , 0x0000003f 
+ 00024289  0x00006372 store  0x00000002 , 0x00000075 
+ 00024290  0x00006373 fetch  0x00000002 , 0x00000555 
+ 00024291  0x00006374 lshift  0x0000003f , 0x0000003f 
+ 00024292  0x00006375 store  0x00000002 , 0x00000032 
+ 00024293  0x00006376 fetch  0x00000002 , 0x00000557 
+ 00024294  0x00006377 store  0x00000001 , 0x00000073 
+ 00024295  0x00006378 iforce  0x00000002 
+ 00024296  0x00006379 fetch  0x00000002 , 0x00000559 
+ 00024297  0x0000637a store  0x00000001 , 0x00000074 
+ 00024298  0x0000637b isub  0x00000002 , 0x0000003e 
+ 00024299  0x0000637c nbranch  0x00005eed , 0x00000002 
+ 00024300  0x0000637d store  0x00000001 , 0x00000073 
+ 00024301  0x00006380 jam  0x00000003 , 0x0000007c 
+ 00024302  0x00006381 jam  0x00000017 , 0x0000007d 
+ 00024303  0x00006382 rtn 
+ 00024304  0x00006385 jam  0x00000024 , 0x0000007e 
+ 00024305  0x00006386 branch  0x00005d53 
+ 00024306  0x00006389 call  0x00005e38 
+ 00024307  0x0000638a call  0x00005ff9 
+ 00024308  0x0000638b call  0x0000728b 
+ 00024309  0x0000638c branch  0x000026b8 
+ 00024310  0x0000638f call  0x00005e38 
+ 00024311  0x00006390 branch  0x000026c0 
+ 00024312  0x00006394 fetch  0x00000004 , 0x00000552 
+ 00024313  0x00006395 lshift  0x0000003f , 0x0000003f 
+ 00024314  0x00006397 branch  0x00005f04 , 0x00000029 
+ 00024315  0x00006398 fetcht  0x00000001 , 0x000041bd 
+ 00024316  0x00006399 nbranch  0x00005f01 , 0x00000034 
+ 00024317  0x0000639b jam  0x00000004 , 0x0000007c 
+ 00024318  0x0000639c jam  0x00000013 , 0x0000007d 
+ 00024319  0x0000639d jam  0x00000024 , 0x0000007e 
+ 00024320  0x0000639e rtn 
+ 00024321  0x000063a0 jam  0x00000034 , 0x0000007c 
+ 00024322  0x000063a1 jam  0x00000000 , 0x00000055 
+ 00024323  0x000063a2 branch  0x000021d9 
+ 00024324  0x000063a5 call  0x000021d9 
+ 00024325  0x000063a6 set1  0x00000022 , 0x00000000 
+ 00024326  0x000063a7 fetch  0x00000001 , 0x0000016d 
+ 00024327  0x000063a8 set0  0x00000002 , 0x0000003f 
+ 00024328  0x000063a9 store  0x00000001 , 0x0000016d 
+ 00024329  0x000063aa branch  0x00005e38 
+ 00024330  0x000063b3 rtn 
+ 00024331  0x000063b7 jam  0x00000003 , 0x0000007c 
+ 00024332  0x000063b8 jam  0x00000018 , 0x0000007d 
+ 00024333  0x000063b9 jam  0x0000002e , 0x00000a99 
+ 00024334  0x000063ba call  0x00007d86 
+ 00024335  0x000063bb branch  0x000026e9 
+ 00024336  0x000063be fetch  0x00000001 , 0x00000552 
+ 00024337  0x000063bf bne  0x00000001 , 0x00005f1c 
+ 00024338  0x000063c0 fetch  0x00000001 , 0x00000553 
+ 00024339  0x000063c1 bne  0x00000001 , 0x00005f1c 
+ 00024340  0x000063c2 fetch  0x00000001 , 0x00000554 
+ 00024341  0x000063c3 bne  0x00000030 , 0x00005f1c 
+ 00024342  0x000063c4 call  0x000062fc 
+ 00024343  0x000063c5 branch  0x00005f19 , 0x00000001 
+ 00024344  0x000063c6 jam  0x00000001 , 0x000009ae 
+ 00024345  0x000063c8 jam  0x00000003 , 0x0000007c 
+ 00024346  0x000063c9 jam  0x0000003d , 0x0000007d 
+ 00024347  0x000063ca branch  0x00005d07 
+ 00024348  0x000063cd jam  0x00000024 , 0x0000007e 
+ 00024349  0x000063ce branch  0x00005d53 
+ 00024350  0x000063d3 jam  0x0000003e , 0x0000007c 
+ 00024351  0x000063d5 rtn 
+ 00024352  0x000063d7 fetch  0x00000001 , 0x00004662 
+ 00024353  0x000063d8 beq  0x00000001 , 0x00005f27 
+ 00024354  0x000063d9 beq  0x00000002 , 0x00005f2b 
+ 00024355  0x000063db call  0x000062fc 
+ 00024356  0x000063dc rtn  0x00000001 
+ 00024357  0x000063dd jam  0x00000008 , 0x000009ae 
+ 00024358  0x000063de rtn 
+ 00024359  0x000063e1 call  0x00007962 
+ 00024360  0x000063e2 jam  0x00000035 , 0x00000a99 
+ 00024361  0x000063e3 call  0x00007d86 
+ 00024362  0x000063e4 branch  0x00005f23 
+ 00024363  0x000063e8 call  0x000062fc 
+ 00024364  0x000063e9 rtn  0x00000001 
+ 00024365  0x000063ea fetch  0x00000001 , 0x00004663 
+ 00024366  0x000063eb beq  0x00000013 , 0x00005f3b 
+ 00024367  0x000063ec increase  0x00000001 , 0x0000003f 
+ 00024368  0x000063ed store  0x00000001 , 0x00004663 
+ 00024369  0x000063f1 jam  0x00000001 , 0x000009b0 
+ 00024370  0x000063f2 jam  0x00000004 , 0x000009ae 
+ 00024371  0x000063f3 fetch  0x00000001 , 0x00004663 
+ 00024372  0x000063f4 copy  0x0000003f , 0x00000007 
+ 00024373  0x000063f5 fetch  0x00000006 , 0x0000468a 
+ 00024374  0x000063f6 qisolate1  0x0000003f 
+ 00024375  0x000063f7 setarg  0x00000080 
+ 00024376  0x000063f8 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024377  0x000063f9 store  0x00000001 , 0x00004664 
+ 00024378  0x000063fa rtn 
+ 00024379  0x000063fd jam  0x00000008 , 0x000009ae 
+ 00024380  0x000063fe rtn 
+ 00024381  0x00006401 call  0x00005f43 
+ 00024382  0x00006403 fetch  0x00000001 , 0x00004665 
+ 00024383  0x00006404 rtn  0x00000034 
+ 00024384  0x00006405 jam  0x00000000 , 0x00004665 
+ 00024385  0x00006406 jam  0x00000038 , 0x00000a99 
+ 00024386  0x00006407 branch  0x00007d86 
+ 00024387  0x0000640c call  0x000062fc 
+ 00024388  0x0000640d ncall  0x00007965 , 0x00000001 
+ 00024389  0x0000640e call  0x00007975 , 0x00000001 
+ 00024390  0x0000640f call  0x000062fc 
+ 00024391  0x00006410 rtn  0x00000001 
+ 00024392  0x00006411 jam  0x0000000c , 0x000009ae 
+ 00024393  0x00006412 jam  0x00000001 , 0x000009b0 
+ 00024394  0x00006413 rtn 
+ 00024395  0x00006416 arg  0x00000a6e , 0x00000005 
+ 00024396  0x00006417 arg  0x00000552 , 0x00000006 
+ 00024397  0x00006418 call  0x00007ebf 
+ 00024398  0x00006419 fetch  0x00000001 , 0x00004662 
+ 00024399  0x0000641a rtneq  0x00000002 
+ 00024400  0x0000641b branch  0x000076d8 
+ 00024401  0x0000641e fetch  0x00000001 , 0x000009af 
+ 00024402  0x0000641f beq  0x00000007 , 0x00005f55 
+ 00024403  0x00006420 fetch  0x00000001 , 0x000009ae 
+ 00024404  0x00006421 bne  0x00000001 , 0x00005f68 
+ 00024405  0x00006423 fetch  0x00000001 , 0x000009b7 
+ 00024406  0x00006424 sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00024407  0x00006425 nbranch  0x00005f68 , 0x00000002 
+ 00024408  0x00006426 arg  0x000009c6 , 0x00000005 
+ 00024409  0x00006427 iadd  0x00000005 , 0x00000005 
+ 00024410  0x00006428 fetch  0x00000008 , 0x00000552 
+ 00024411  0x00006429 istore  0x00000008 , 0x00000005 
+ 00024412  0x0000642a fetch  0x00000008 , 0x0000055a 
+ 00024413  0x0000642b istore  0x00000008 , 0x00000005 
+ 00024414  0x0000642c fetch  0x00000001 , 0x000009b7 
+ 00024415  0x0000642d increase  0x00000010 , 0x0000003f 
+ 00024416  0x0000642e store  0x00000001 , 0x000009b7 
+ 00024417  0x0000642f bne  0x00000030 , 0x00005e38 
+ 00024418  0x00006431 call  0x000062fc 
+ 00024419  0x00006432 branch  0x00005e38 , 0x00000001 
+ 00024420  0x00006433 jam  0x00000001 , 0x000009b8 
+ 00024421  0x00006434 jam  0x00000002 , 0x000009ae 
+ 00024422  0x00006435 jam  0x00000001 , 0x000009b0 
+ 00024423  0x00006436 branch  0x00005e38 
+ 00024424  0x00006438 jam  0x00000024 , 0x0000007e 
+ 00024425  0x00006439 branch  0x00005d53 
+ 00024426  0x0000643b fetch  0x00000001 , 0x000009b6 
+ 00024427  0x0000643c beq  0x00000030 , 0x00005f6e 
+ 00024428  0x0000643d jam  0x0000003e , 0x0000007c 
+ 00024429  0x0000643e branch  0x00005d07 
+ 00024430  0x00006441 call  0x000062fc 
+ 00024431  0x00006442 branch  0x00005f77 , 0x00000001 
+ 00024432  0x00006443 fetch  0x00000001 , 0x00004662 
+ 00024433  0x00006444 beq  0x00000002 , 0x00005f75 
+ 00024434  0x00006445 jam  0x00000001 , 0x000009b0 
+ 00024435  0x00006446 jam  0x00000004 , 0x000009ae 
+ 00024436  0x00006447 branch  0x00005d07 
+ 00024437  0x0000644a jam  0x00000036 , 0x00000a99 
+ 00024438  0x0000644b branch  0x00007d86 
+ 00024439  0x00006450 branch  0x00005d07 
+ 00024440  0x00006453 fetch  0x00000001 , 0x000009af 
+ 00024441  0x00006454 beq  0x00000007 , 0x00005f7c 
+ 00024442  0x00006455 fetch  0x00000001 , 0x000009ae 
+ 00024443  0x00006456 bne  0x00000006 , 0x00005f88 
+ 00024444  0x00006458 arg  0x00000a2e , 0x00000005 
+ 00024445  0x00006459 fetch  0x00000008 , 0x00000552 
+ 00024446  0x0000645a istore  0x00000008 , 0x00000005 
+ 00024447  0x0000645b fetch  0x00000008 , 0x0000055a 
+ 00024448  0x0000645c istore  0x00000008 , 0x00000005 
+ 00024449  0x0000645d call  0x000062fc 
+ 00024450  0x0000645e branch  0x00005f86 , 0x00000001 
+ 00024451  0x0000645f jam  0x00000007 , 0x000009ae 
+ 00024452  0x00006460 jam  0x00000001 , 0x000009b0 
+ 00024453  0x00006461 branch  0x00005e38 
+ 00024454  0x00006463 jam  0x00000004 , 0x000009af 
+ 00024455  0x00006464 branch  0x000076d8 
+ 00024456  0x00006468 jam  0x00000024 , 0x0000007e 
+ 00024457  0x00006469 branch  0x00005d53 
+ 00024458  0x0000646c fetch  0x00000001 , 0x000009af 
+ 00024459  0x0000646d beq  0x0000000b , 0x00005f8e 
+ 00024460  0x0000646e fetch  0x00000001 , 0x000009ae 
+ 00024461  0x0000646f bne  0x00000008 , 0x00005f9d 
+ 00024462  0x00006471 arg  0x00000a5e , 0x00000005 
+ 00024463  0x00006472 arg  0x00000552 , 0x00000006 
+ 00024464  0x00006473 call  0x00007ebf 
+ 00024465  0x00006474 call  0x000062fc 
+ 00024466  0x00006475 branch  0x00005f9a , 0x00000001 
+ 00024467  0x00006476 fetch  0x00000001 , 0x00004662 
+ 00024468  0x00006477 beq  0x00000001 , 0x00005f9f 
+ 00024469  0x00006479 jam  0x00000000 , 0x00004661 
+ 00024470  0x0000647a jam  0x00000009 , 0x000009ae 
+ 00024471  0x0000647b jam  0x00000001 , 0x000009b0 
+ 00024472  0x0000647c jam  0x00000041 , 0x0000007d 
+ 00024473  0x0000647d branch  0x00005d07 
+ 00024474  0x00006480 jam  0x00000009 , 0x000009af 
+ 00024475  0x00006481 jam  0x00000001 , 0x000009b1 
+ 00024476  0x00006482 branch  0x00005d07 
+ 00024477  0x00006484 jam  0x00000024 , 0x0000007e 
+ 00024478  0x00006485 branch  0x00005d53 
+ 00024479  0x00006488 fetch  0x00000001 , 0x00004661 
+ 00024480  0x00006489 bbit1  0x00000007 , 0x00005fa4 
+ 00024481  0x0000648a set1  0x00000006 , 0x0000003f 
+ 00024482  0x0000648b store  0x00000001 , 0x00004661 
+ 00024483  0x0000648c rtn 
+ 00024484  0x0000648f bbit1  0x00000000 , 0x00005f95 
+ 00024485  0x00006490 jam  0x00000000 , 0x00004661 
+ 00024486  0x00006491 branch  0x00005f9d 
+ 00024487  0x00006495 branch  0x00005d07 
+ 00024488  0x00006498 fetch  0x00000001 , 0x0000016d 
+ 00024489  0x00006499 set0  0x00000001 
+ 00024490  0x0000649a store  0x00000001 , 0x0000016d 
+ 00024491  0x0000649b call  0x00005e38 
+ 00024492  0x0000649c nrtn  0x00000029 
+ 00024493  0x0000649d fetch  0x00000001 , 0x00000552 
+ 00024494  0x0000649e fetcht  0x00000001 , 0x0000004b 
+ 00024495  0x0000649f setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00024496  0x000064a0 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024497  0x000064a1 storet  0x00000001 , 0x0000004b 
+ 00024498  0x000064a2 rtn 
+ 00024499  0x000064a5 fetcht  0x00000008 , 0x00000552 
+ 00024500  0x000064a7 fetch  0x00000001 , 0x00000055 
+ 00024501  0x000064a8 rtnne  0x00000003 
+ 00024502  0x000064aa fetch  0x00000001 , 0x0000016d 
+ 00024503  0x000064ab bbit0  0x00000004 , 0x00005fba 
+ 00024504  0x000064ad jam  0x00000014 , 0x00000055 
+ 00024505  0x000064ae rtn 
+ 00024506  0x000064b0 jam  0x00000004 , 0x00000055 
+ 00024507  0x000064b1 rtn 
+ 00024508  0x000064b3 fetch  0x00000001 , 0x0000017f 
+ 00024509  0x000064b4 store  0x00000001 , 0x0000015b 
+ 00024510  0x000064b5 jam  0x00000003 , 0x0000007c 
+ 00024511  0x000064b6 jam  0x00000038 , 0x0000007d 
+ 00024512  0x000064b7 rtn 
+ 00024513  0x000064bb jam  0x00000003 , 0x0000007c 
+ 00024514  0x000064bc jam  0x00000039 , 0x0000007d 
+ 00024515  0x000064bd force  0x00000009 , 0x00000039 
+ 00024516  0x000064be arg  0x00000552 , 0x00000006 
+ 00024517  0x000064bf arg  0x00000152 , 0x00000005 
+ 00024518  0x000064c1 ifetch  0x00000001 , 0x00000006 
+ 00024519  0x000064c2 xor_into  0x00000055 , 0x0000003f 
+ 00024520  0x000064c3 istore  0x00000001 , 0x00000005 
+ 00024521  0x000064c4 loop  0x00005fc6 
+ 00024522  0x000064c5 fetch  0x00000001 , 0x00000152 
+ 00024523  0x000064c6 fetcht  0x00000001 , 0x00000151 
+ 00024524  0x000064c7 set0  0x00000007 , 0x00000002 
+ 00024525  0x000064c8 set0  0x00000004 , 0x00000002 
+ 00024526  0x000064c9 beq  0x000000ff , 0x00005fda 
+ 00024527  0x000064ca beq  0x00000000 , 0x00005ff3 
+ 00024528  0x000064cb beq  0x00000005 , 0x00005fe7 
+ 00024529  0x000064cc beq  0x00000007 , 0x00005fe6 
+ 00024530  0x000064cd beq  0x00000006 , 0x00005fe7 
+ 00024531  0x000064ce beq  0x00000008 , 0x00005fe6 
+ 00024532  0x000064cf beq  0x00000001 , 0x00005fdf 
+ 00024533  0x000064d0 beq  0x00000002 , 0x00005fdf 
+ 00024534  0x000064d1 beq  0x00000003 , 0x00005fdf 
+ 00024535  0x000064d2 beq  0x00000009 , 0x00005fdf 
+ 00024536  0x000064d3 beq  0x00000004 , 0x00005fdf 
+ 00024537  0x000064d4 rtn 
+ 00024538  0x000064d7 fetch  0x00000001 , 0x00000151 
+ 00024539  0x000064d8 set1  0x00000003 , 0x0000003f 
+ 00024540  0x000064d9 set1  0x00000002 , 0x0000003f 
+ 00024541  0x000064da store  0x00000001 , 0x00000151 
+ 00024542  0x000064db rtn 
+ 00024543  0x000064dd set1  0x00000004 , 0x00000002 
+ 00024544  0x000064de jam  0x00000005 , 0x00000180 
+ 00024545  0x000064df fetch  0x00000002 , 0x00000159 
+ 00024546  0x000064e0 iforce  0x00000039 
+ 00024547  0x000064e1 store  0x00000002 , 0x0000015f 
+ 00024548  0x000064e2 arg  0x00000551 , 0x00000005 
+ 00024549  0x000064e3 call  0x00007f73 
+ 00024550  0x000064e5 set1  0x00000007 , 0x00000002 
+ 00024551  0x000064e7 set1  0x00000002 , 0x00000002 
+ 00024552  0x000064e8 force  0x00000000 , 0x0000003f 
+ 00024553  0x000064e9 store  0x00000001 , 0x0000000b 
+ 00024554  0x000064ea store  0x00000002 , 0x000000fa 
+ 00024555  0x000064eb store  0x00000002 , 0x000000fc 
+ 00024556  0x000064ec store  0x00000002 , 0x000000f8 
+ 00024557  0x000064ed store  0x00000002 , 0x000000f6 
+ 00024558  0x000064ee fetch  0x00000001 , 0x00000153 
+ 00024559  0x000064ef compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00024560  0x000064f0 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00024561  0x000064f1 storet  0x00000001 , 0x00000151 
+ 00024562  0x000064f2 rtn 
+ 00024563  0x000064f5 set0  0x00000011 , 0x00000000 
+ 00024564  0x000064f6 jam  0x00000000 , 0x00000151 
+ 00024565  0x000064f7 fetch  0x00000001 , 0x0000017f 
+ 00024566  0x000064f8 set0  0x00000006 , 0x0000003f 
+ 00024567  0x000064f9 store  0x00000001 , 0x0000017f 
+ 00024568  0x000064fa rtn 
+ 00024569  0x00006501 arg  0x00000552 , 0x00000006 
+ 00024570  0x00006502 arg  0x00000562 , 0x00000005 
+ 00024571  0x00006503 branch  0x00007ebf 
+ 00024572  0x00006506 jam  0x00000009 , 0x0000007c 
+ 00024573  0x00006507 rtn 
+ 00024574  0x0000650a nrtn  0x00000029 
+ 00024575  0x0000650b jam  0x00000011 , 0x0000007c 
+ 00024576  0x0000650c rtn 
+ 00024577  0x0000650f arg  0x000040a0 , 0x00000011 
+ 00024578  0x00006510 call  0x00007255 
+ 00024579  0x00006511 jam  0x00000003 , 0x0000007c 
+ 00024580  0x00006512 jam  0x00000008 , 0x0000007d 
+ 00024581  0x00006513 rtn 
+ 00024582  0x00006516 jam  0x0000000a , 0x00000072 
+ 00024583  0x00006517 jam  0x00000007 , 0x0000007c 
+ 00024584  0x00006518 jam  0x00000016 , 0x000004ca 
+ 00024585  0x00006519 rtn 
+ 00024586  0x00006520 bpatchx  0x00000082 , 0x00004030 
+ 00024587  0x00006521 disable  0x00000028 
+ 00024588  0x00006522 call  0x000062c1 
+ 00024589  0x00006523 fetch  0x00000001 , 0x00000048 
+ 00024590  0x00006524 rtn  0x00000034 
+ 00024591  0x00006529 bbit1  0x00000007 , 0x0000603f 
+ 00024592  0x0000652b beq  0x00000001 , 0x0000616f 
+ 00024593  0x0000652c beq  0x00000002 , 0x000060e4 
+ 00024594  0x0000652d beq  0x00000003 , 0x0000604a 
+ 00024595  0x0000652e beq  0x00000004 , 0x00006060 
+ 00024596  0x0000652f beq  0x00000027 , 0x000061db 
+ 00024597  0x00006530 beq  0x00000028 , 0x00006108 
+ 00024598  0x00006531 beq  0x00000030 , 0x000060f4 
+ 00024599  0x00006532 beq  0x00000025 , 0x000061d6 
+ 00024600  0x00006533 beq  0x00000026 , 0x00006103 
+ 00024601  0x00006534 beq  0x00000031 , 0x000061c3 
+ 00024602  0x00006535 beq  0x00000037 , 0x0000616a 
+ 00024603  0x00006536 beq  0x00000033 , 0x0000615c 
+ 00024604  0x00006537 beq  0x00000008 , 0x00006259 
+ 00024605  0x00006538 beq  0x00000009 , 0x0000624f 
+ 00024606  0x00006539 beq  0x0000000b , 0x00006264 
+ 00024607  0x0000653a beq  0x0000000c , 0x0000626d 
+ 00024608  0x0000653b beq  0x0000000f , 0x00006162 
+ 00024609  0x0000653c beq  0x00000010 , 0x00006292 
+ 00024610  0x0000653d beq  0x00000011 , 0x00006288 
+ 00024611  0x0000653e beq  0x00000007 , 0x00006152 
+ 00024612  0x0000653f beq  0x0000002a , 0x0000617e 
+ 00024613  0x00006540 beq  0x0000000a , 0x0000617f 
+ 00024614  0x00006542 beq  0x0000001f , 0x000061bc 
+ 00024615  0x00006543 beq  0x00000006 , 0x000060f9 
+ 00024616  0x00006544 beq  0x00000021 , 0x0000615f 
+ 00024617  0x00006545 beq  0x0000002d , 0x000061b2 
+ 00024618  0x00006546 beq  0x0000002e , 0x000061b7 
+ 00024619  0x00006547 beq  0x00000022 , 0x0000615f 
+ 00024620  0x00006548 beq  0x00000034 , 0x00006180 
+ 00024621  0x00006549 beq  0x00000013 , 0x00006195 
+ 00024622  0x0000654a beq  0x00000017 , 0x000061a4 
+ 00024623  0x0000654b beq  0x00000012 , 0x0000628f 
+ 00024624  0x0000654c beq  0x0000002f , 0x000061aa 
+ 00024625  0x0000654d beq  0x00000018 , 0x000061af 
+ 00024626  0x0000654e beq  0x0000003d , 0x000061ff 
+ 00024627  0x0000654f beq  0x0000003e , 0x0000620b 
+ 00024628  0x00006550 beq  0x0000003f , 0x0000621d 
+ 00024629  0x00006551 beq  0x00000040 , 0x00006227 
+ 00024630  0x00006552 beq  0x00000041 , 0x0000623c 
+ 00024631  0x00006553 beq  0x00000023 , 0x0000624b 
+ 00024632  0x00006554 beq  0x0000003b , 0x00006246 
+ 00024633  0x00006556 beq  0x00000005 , 0x0000624c 
+ 00024634  0x00006557 beq  0x00000029 , 0x0000624d 
+ 00024635  0x00006558 beq  0x00000038 , 0x0000624e 
+ 00024636  0x00006559 beq  0x00000039 , 0x00006175 
+ 00024637  0x0000655b branch  0x00002a8c 
+ 00024638  0x0000655c rtn 
+ 00024639  0x0000655e beq  0x00000081 , 0x0000606d 
+ 00024640  0x0000655f beq  0x00000084 , 0x00006099 
+ 00024641  0x00006560 beq  0x00000082 , 0x00006076 
+ 00024642  0x00006561 beq  0x00000083 , 0x0000610d 
+ 00024643  0x00006562 beq  0x0000008b , 0x00006118 
+ 00024644  0x00006563 beq  0x00000097 , 0x0000614e 
+ 00024645  0x00006564 beq  0x00000099 , 0x000060d5 
+ 00024646  0x00006565 beq  0x0000009a , 0x000060a4 
+ 00024647  0x00006566 beq  0x00000095 , 0x000060da 
+ 00024648  0x00006567 beq  0x00000096 , 0x000060db 
+ 00024649  0x00006568 branch  0x00002a8c 
+ 00024650  0x0000656f force  0x00000002 , 0x0000003f 
+ 00024651  0x00006570 call  0x00006298 
+ 00024652  0x00006571 fetch  0x00000001 , 0x00000049 
+ 00024653  0x00006572 istore  0x00000001 , 0x00000005 
+ 00024654  0x00006573 call  0x000062a7 
+ 00024655  0x00006574 bpatchx  0x00000083 , 0x00004030 
+ 00024656  0x00006575 fetch  0x00000001 , 0x00000049 
+ 00024657  0x00006576 beq  0x00000008 , 0x00006080 
+ 00024658  0x00006577 beq  0x0000000f , 0x00006084 
+ 00024659  0x00006578 beq  0x00000010 , 0x0000608f 
+ 00024660  0x00006579 beq  0x00000017 , 0x0000605f 
+ 00024661  0x0000657a beq  0x00000033 , 0x00006092 
+ 00024662  0x0000657b beq  0x00000041 , 0x00006098 
+ 00024663  0x0000657c beq  0x00000011 , 0x00006059 
+ 00024664  0x0000657d rtn 
+ 00024665  0x00006580 fetch  0x00000001 , 0x00000055 
+ 00024666  0x00006581 rtn  0x00000034 
+ 00024667  0x00006582 jam  0x0000001b , 0x00000055 
+ 00024668  0x00006583 setarg  0x0000000c 
+ 00024669  0x00006584 arg  0x00000007 , 0x00000007 
+ 00024670  0x00006585 branch  0x00007f08 
+ 00024671  0x00006588 branch  0x000026c6 
+ 00024672  0x0000658a force  0x00000003 , 0x0000003f 
+ 00024673  0x0000658b call  0x00006298 
+ 00024674  0x0000658c fetch  0x00000001 , 0x00000049 
+ 00024675  0x0000658d beq  0x0000000b , 0x00006068 
+ 00024676  0x0000658e istore  0x00000001 , 0x00000005 
+ 00024677  0x0000658f fetch  0x00000001 , 0x0000004a 
+ 00024678  0x00006590 istore  0x00000001 , 0x00000005 
+ 00024679  0x00006591 branch  0x000062a7 
+ 00024680  0x00006594 istore  0x00000001 , 0x00000005 
+ 00024681  0x00006595 fetch  0x00000001 , 0x0000004a 
+ 00024682  0x00006596 istore  0x00000001 , 0x00000005 
+ 00024683  0x00006597 arg  0x000004d5 , 0x00000002 
+ 00024684  0x00006598 branch  0x000062e2 
+ 00024685  0x0000659b force  0x00000004 , 0x00000007 
+ 00024686  0x0000659c call  0x000062a0 
+ 00024687  0x0000659d setarg  0x0000007f 
+ 00024688  0x0000659e istore  0x00000001 , 0x00000005 
+ 00024689  0x0000659f fetch  0x00000001 , 0x00000049 
+ 00024690  0x000065a0 set0  0x00000007 , 0x0000003f 
+ 00024691  0x000065a1 istore  0x00000001 , 0x00000005 
+ 00024692  0x000065a2 fetch  0x00000001 , 0x00000049 
+ 00024693  0x000065a3 branch  0x000062a7 
+ 00024694  0x000065a6 force  0x00000005 , 0x00000007 
+ 00024695  0x000065a7 call  0x000062a0 
+ 00024696  0x000065a8 setarg  0x0000007f 
+ 00024697  0x000065a9 istore  0x00000001 , 0x00000005 
+ 00024698  0x000065aa fetch  0x00000001 , 0x00000049 
+ 00024699  0x000065ab set0  0x00000007 , 0x0000003f 
+ 00024700  0x000065ac istore  0x00000001 , 0x00000005 
+ 00024701  0x000065ad fetch  0x00000001 , 0x0000004a 
+ 00024702  0x000065ae istore  0x00000001 , 0x00000005 
+ 00024703  0x000065af branch  0x000062a7 
+ 00024704  0x000065b3 call  0x0000244f 
+ 00024705  0x000065b4 call  0x000062f3 
+ 00024706  0x000065b5 rtn  0x00000001 
+ 00024707  0x000065b6 branch  0x00005ffc 
+ 00024708  0x000065b9 fetch  0x00000001 , 0x0000004b 
+ 00024709  0x000065ba bbit1  0x00000005 , 0x0000608b 
+ 00024710  0x000065bb rtnbit0  0x00000004 
+ 00024711  0x000065bc jam  0x00000012 , 0x0000007c 
+ 00024712  0x000065bd set0  0x00000004 , 0x0000003f 
+ 00024713  0x000065be call  0x000062eb 
+ 00024714  0x000065bf branch  0x0000608d 
+ 00024715  0x000065c1 jam  0x00000010 , 0x0000007c 
+ 00024716  0x000065c2 set0  0x00000005 , 0x0000003f 
+ 00024717  0x000065c4 store  0x00000001 , 0x0000004b 
+ 00024718  0x000065c5 rtn 
+ 00024719  0x000065c8 call  0x000062fc 
+ 00024720  0x000065c9 branch  0x00005ffe , 0x00000001 
+ 00024721  0x000065ca rtn 
+ 00024722  0x000065cd jam  0x0000008b , 0x0000007c 
+ 00024723  0x000065cf fetch  0x00000001 , 0x000004d1 
+ 00024724  0x000065d0 set1  0x00000000 , 0x0000003f 
+ 00024725  0x000065d1 store  0x00000001 , 0x000004d1 
+ 00024726  0x000065d2 jam  0x00000001 , 0x00000a99 
+ 00024727  0x000065d3 branch  0x00007d86 
+ 00024728  0x000065d7 rtn 
+ 00024729  0x000065dc force  0x0000000c , 0x00000007 
+ 00024730  0x000065dd call  0x000062a0 
+ 00024731  0x000065de setarg  0x00000001 
+ 00024732  0x000065df istore  0x00000001 , 0x00000005 
+ 00024733  0x000065e0 fetch  0x00000002 , 0x000004ce 
+ 00024734  0x000065e1 istore  0x00000002 , 0x00000005 
+ 00024735  0x000065e2 setarg  0x00000000 
+ 00024736  0x000065e3 istore  0x00000003 , 0x00000005 
+ 00024737  0x000065e4 setarg  0x00000000 
+ 00024738  0x000065e5 istore  0x00000004 , 0x00000005 
+ 00024739  0x000065e6 branch  0x000062b0 
+ 00024740  0x000065e8 force  0x00000005 , 0x00000007 
+ 00024741  0x000065e9 call  0x000062a0 
+ 00024742  0x000065ea fetch  0x00000003 , 0x0000465b 
+ 00024743  0x000065eb istore  0x00000003 , 0x00000005 
+ 00024744  0x000065ec call  0x000062b0 
+ 00024745  0x000065ed jam  0x00000001 , 0x00004665 
+ 00024746  0x000065ee fetch  0x00000001 , 0x0000465b 
+ 00024747  0x000065ef beq  0x00000001 , 0x000060b5 
+ 00024748  0x000065f0 beq  0x00000002 , 0x000060af 
+ 00024749  0x000065f1 beq  0x00000003 , 0x000060bb 
+ 00024750  0x000065f2 rtn 
+ 00024751  0x000065f5 fetch  0x00000001 , 0x0000465e 
+ 00024752  0x000065f6 beq  0x00000000 , 0x000060c7 
+ 00024753  0x000065f7 beq  0x00000001 , 0x000060c7 
+ 00024754  0x000065f8 beq  0x00000002 , 0x000060c7 
+ 00024755  0x000065f9 beq  0x00000003 , 0x000060c1 
+ 00024756  0x000065fa rtn 
+ 00024757  0x000065fe fetch  0x00000001 , 0x0000465e 
+ 00024758  0x000065ff beq  0x00000000 , 0x000060c1 
+ 00024759  0x00006600 beq  0x00000001 , 0x000060c5 
+ 00024760  0x00006601 beq  0x00000002 , 0x000060c7 
+ 00024761  0x00006602 beq  0x00000003 , 0x000060c1 
+ 00024762  0x00006603 rtn 
+ 00024763  0x00006607 fetch  0x00000001 , 0x0000465e 
+ 00024764  0x00006608 beq  0x00000000 , 0x000060c1 
+ 00024765  0x00006609 beq  0x00000001 , 0x000060c1 
+ 00024766  0x0000660a beq  0x00000002 , 0x000060c1 
+ 00024767  0x0000660b beq  0x00000003 , 0x000060c1 
+ 00024768  0x0000660c rtn 
+ 00024769  0x00006616 jam  0x00000003 , 0x00004662 
+ 00024770  0x00006617 fetch  0x00000001 , 0x0000455c 
+ 00024771  0x00006618 bbit1  0x00000000 , 0x000033e9 
+ 00024772  0x00006619 rtn 
+ 00024773  0x0000661d jam  0x00000001 , 0x00004662 
+ 00024774  0x0000661e rtn 
+ 00024775  0x00006625 jam  0x00000002 , 0x00004662 
+ 00024776  0x00006626 rtn 
+ 00024777  0x0000662a arg  0x00000000 , 0x00000007 
+ 00024778  0x0000662b branch  0x000060cd 
+ 00024779  0x0000662e arg  0x00000000 , 0x00000007 
+ 00024780  0x0000662f branch  0x000060d1 
+ 00024781  0x00006632 fetch  0x00000001 , 0x0000455c 
+ 00024782  0x00006633 qset1  0x0000003f 
+ 00024783  0x00006634 store  0x00000001 , 0x0000455c 
+ 00024784  0x00006635 rtn 
+ 00024785  0x00006638 fetch  0x00000001 , 0x0000455c 
+ 00024786  0x00006639 qset0  0x0000003f 
+ 00024787  0x0000663a store  0x00000001 , 0x0000455c 
+ 00024788  0x0000663b rtn 
+ 00024789  0x0000663f force  0x00000005 , 0x00000007 
+ 00024790  0x00006640 call  0x000062a0 
+ 00024791  0x00006641 fetch  0x00000003 , 0x0000465b 
+ 00024792  0x00006642 istore  0x00000003 , 0x00000005 
+ 00024793  0x00006643 branch  0x000062b2 
+ 00024794  0x00006648 rtn 
+ 00024795  0x0000664a force  0x00000009 , 0x00000007 
+ 00024796  0x0000664b call  0x000062a0 
+ 00024797  0x0000664c fetch  0x00000001 , 0x00000095 
+ 00024798  0x0000664d istore  0x00000001 , 0x00000005 
+ 00024799  0x0000664e fetch  0x00000002 , 0x00000096 
+ 00024800  0x0000664f istore  0x00000002 , 0x00000005 
+ 00024801  0x00006650 fetch  0x00000004 , 0x00000091 
+ 00024802  0x00006651 istore  0x00000004 , 0x00000005 
+ 00024803  0x00006652 branch  0x000062b0 
+ 00024804  0x00006655 force  0x00000011 , 0x0000003f 
+ 00024805  0x00006656 call  0x00006298 
+ 00024806  0x00006657 fetch  0x00000001 , 0x00000049 
+ 00024807  0x00006658 copy  0x0000003f , 0x00000002 
+ 00024808  0x00006659 beq  0x00000000 , 0x000060ec 
+ 00024809  0x0000665a beq  0x0000000e , 0x000060ec 
+ 00024810  0x0000665b beq  0x0000001c , 0x000060ec 
+ 00024811  0x0000665c rtn 
+ 00024812  0x0000665e istore  0x00000001 , 0x00000005 
+ 00024813  0x0000665f fetch  0x00000001 , 0x00004515 
+ 00024814  0x00006660 istore  0x00000001 , 0x00000005 
+ 00024815  0x00006661 arg  0x0000000e , 0x00000039 
+ 00024816  0x00006662 setarg  0x00004516 
+ 00024817  0x00006663 iadd  0x00000002 , 0x00000006 
+ 00024818  0x00006664 call  0x00007f01 
+ 00024819  0x00006665 branch  0x000062b0 
+ 00024820  0x00006669 force  0x00000003 , 0x0000003f 
+ 00024821  0x0000666a call  0x00006298 
+ 00024822  0x0000666b setarg  0x00000114 
+ 00024823  0x0000666c istore  0x00000002 , 0x00000005 
+ 00024824  0x0000666d branch  0x000062b0 
+ 00024825  0x00006671 force  0x00000003 , 0x0000003f 
+ 00024826  0x00006672 call  0x00006298 
+ 00024827  0x00006673 fetch  0x00000004 , 0x00000165 
+ 00024828  0x00006674 isub  0x00000022 , 0x0000003f 
+ 00024829  0x00006675 branch  0x000060ff , 0x00000029 
+ 00024830  0x00006676 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00024831  0x00006679 rshift2  0x0000003f , 0x0000003f 
+ 00024832  0x0000667a set0  0x0000000f , 0x0000003f 
+ 00024833  0x0000667b istore  0x00000002 , 0x00000005 
+ 00024834  0x0000667c branch  0x000062b0 
+ 00024835  0x0000667f force  0x00000006 , 0x0000003f 
+ 00024836  0x00006680 call  0x00006298 
+ 00024837  0x00006681 fetch  0x00000005 , 0x00004510 
+ 00024838  0x00006682 istore  0x00000005 , 0x00000005 
+ 00024839  0x00006683 branch  0x000062b0 
+ 00024840  0x00006686 force  0x00000009 , 0x0000003f 
+ 00024841  0x00006687 call  0x00006298 
+ 00024842  0x00006688 fetch  0x00000008 , 0x00004098 
+ 00024843  0x00006689 istore  0x00000008 , 0x00000005 
+ 00024844  0x0000668a branch  0x000062b0 
+ 00024845  0x00006692 force  0x0000000c , 0x00000007 
+ 00024846  0x00006693 call  0x000062a0 
+ 00024847  0x00006694 setarg  0x00000001 
+ 00024848  0x00006695 istore  0x00000001 , 0x00000005 
+ 00024849  0x00006696 fetch  0x00000002 , 0x000004ce 
+ 00024850  0x00006697 istore  0x00000002 , 0x00000005 
+ 00024851  0x00006698 setarg  0x00000000 
+ 00024852  0x00006699 istore  0x00000003 , 0x00000005 
+ 00024853  0x0000669a setarg  0x00000000 
+ 00024854  0x0000669b istore  0x00000004 , 0x00000005 
+ 00024855  0x0000669c branch  0x000062b2 
+ 00024856  0x0000669f force  0x00000003 , 0x00000007 
+ 00024857  0x000066a0 call  0x000062a0 
+ 00024858  0x000066a1 fetch  0x00000001 , 0x0000415a 
+ 00024859  0x000066a2 istore  0x00000001 , 0x00000005 
+ 00024860  0x000066a3 disable  0x00000028 
+ 00024861  0x000066a4 call  0x000062b2 
+ 00024862  0x000066a5 nrtn  0x00000028 
+ 00024863  0x000066a6 nrtn  0x00000029 
+ 00024864  0x000066a7 fetch  0x00000001 , 0x000040d8 
+ 00024865  0x000066a8 rtnbit0  0x00000000 
+ 00024866  0x000066a9 call  0x00006132 
+ 00024867  0x000066aa branch  0x0000613c 
+ 00024868  0x000066ae bpatchx  0x00000084 , 0x00004030 
+ 00024869  0x000066af fetch  0x00000001 , 0x0000409e 
+ 00024870  0x000066b0 set1  0x00000003 , 0x0000003f 
+ 00024871  0x000066b1 store  0x00000001 , 0x0000409e 
+ 00024872  0x000066b2 setarg  0x00000101 
+ 00024873  0x000066b3 store  0x00000002 , 0x000004ce 
+ 00024874  0x000066b4 rtn 
+ 00024875  0x000066b7 bpatchx  0x00000085 , 0x00004030 
+ 00024876  0x000066b8 fetch  0x00000001 , 0x0000409e 
+ 00024877  0x000066b9 set0  0x00000003 , 0x0000003f 
+ 00024878  0x000066ba store  0x00000001 , 0x0000409e 
+ 00024879  0x000066bb setarg  0x00000000 
+ 00024880  0x000066bc store  0x00000002 , 0x000004ce 
+ 00024881  0x000066bd rtn 
+ 00024882  0x000066c0 jam  0x00000003 , 0x000040d8 
+ 00024883  0x000066c1 setarg  0x00000000 
+ 00024884  0x000066c2 store  0x00000004 , 0x00004142 
+ 00024885  0x000066c3 arg  0x000040da , 0x00000005 
+ 00024886  0x000066c4 call  0x00006140 
+ 00024887  0x000066c5 arg  0x000040e7 , 0x00000005 
+ 00024888  0x000066c6 call  0x00006140 
+ 00024889  0x000066c7 arg  0x00004146 , 0x00000005 
+ 00024890  0x000066c8 call  0x00006140 
+ 00024891  0x000066c9 branch  0x00006147 
+ 00024892  0x000066cb arg  0x000040e7 , 0x00000005 
+ 00024893  0x000066cc call  0x00006140 
+ 00024894  0x000066cd call  0x00006147 
+ 00024895  0x000066ce branch  0x0000614a 
+ 00024896  0x000066d2 setarg  0x00ffffff 
+ 00024897  0x000066d3 istore  0x00000003 , 0x00000005 
+ 00024898  0x000066d4 istore  0x00000003 , 0x00000005 
+ 00024899  0x000066d5 istore  0x00000003 , 0x00000005 
+ 00024900  0x000066d6 setarg  0x0000007f 
+ 00024901  0x000066d7 istore  0x00000001 , 0x00000005 
+ 00024902  0x000066d8 rtn 
+ 00024903  0x000066da setarg  0x00000000 
+ 00024904  0x000066db store  0x00000002 , 0x000040d6 
+ 00024905  0x000066dc rtn 
+ 00024906  0x000066de fetch  0x00000001 , 0x000040d8 
+ 00024907  0x000066df set1  0x00000002 , 0x0000003f 
+ 00024908  0x000066e0 store  0x00000001 , 0x000040d8 
+ 00024909  0x000066e1 rtn 
+ 00024910  0x000066e5 force  0x00000002 , 0x00000007 
+ 00024911  0x000066e6 call  0x000062a0 
+ 00024912  0x000066e7 nbranch  0x000062b0 , 0x00000029 
+ 00024913  0x000066e9 branch  0x000062b2 
+ 00024914  0x000066ee force  0x00000002 , 0x0000003f 
+ 00024915  0x000066ef call  0x00006298 
+ 00024916  0x000066f0 fetch  0x00000001 , 0x000004ca 
+ 00024917  0x000066f1 istore  0x00000001 , 0x00000005 
+ 00024918  0x000066f2 call  0x000062b2 
+ 00024919  0x000066f4 fetch  0x00000001 , 0x0000004b 
+ 00024920  0x000066f5 set1  0x00000003 , 0x0000003f 
+ 00024921  0x000066f6 store  0x00000001 , 0x0000004b 
+ 00024922  0x000066f7 jam  0x00000032 , 0x00000072 
+ 00024923  0x000066f8 rtn 
+ 00024924  0x000066fc force  0x00000001 , 0x0000003f 
+ 00024925  0x000066fd call  0x00006298 
+ 00024926  0x000066fe branch  0x000062b2 
+ 00024927  0x00006700 force  0x00000001 , 0x0000003f 
+ 00024928  0x00006701 call  0x00006298 
+ 00024929  0x00006702 branch  0x000062b0 
+ 00024930  0x00006706 force  0x00000002 , 0x0000003f 
+ 00024931  0x00006707 call  0x00006298 
+ 00024932  0x00006708 fetch  0x00000001 , 0x0000004c 
+ 00024933  0x00006709 isolate0  0x00000002 , 0x0000003f 
+ 00024934  0x0000670a setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024935  0x0000670b and_into  0x00000001 , 0x0000003f 
+ 00024936  0x0000670c istore  0x00000001 , 0x00000005 
+ 00024937  0x0000670d branch  0x000062b2 
+ 00024938  0x00006711 force  0x00000003 , 0x0000003f 
+ 00024939  0x00006712 call  0x00006298 
+ 00024940  0x00006713 fetch  0x00000002 , 0x00000051 
+ 00024941  0x00006714 istore  0x00000002 , 0x00000005 
+ 00024942  0x00006715 branch  0x000062b2 
+ 00024943  0x00006718 jam  0x000000fa , 0x00000072 
+ 00024944  0x00006719 force  0x00000002 , 0x0000003f 
+ 00024945  0x0000671a call  0x00006298 
+ 00024946  0x0000671b fetch  0x00000001 , 0x00000053 
+ 00024947  0x0000671c istore  0x00000001 , 0x00000005 
+ 00024948  0x0000671d branch  0x000062b2 
+ 00024949  0x00006720 force  0x0000000a , 0x0000003f 
+ 00024950  0x00006721 call  0x00006298 
+ 00024951  0x00006722 arg  0x00000152 , 0x00000006 
+ 00024952  0x00006723 force  0x00000009 , 0x00000039 
+ 00024953  0x00006725 ifetch  0x00000001 , 0x00000006 
+ 00024954  0x00006726 xor_into  0x00000055 , 0x0000003f 
+ 00024955  0x00006727 istore  0x00000001 , 0x00000005 
+ 00024956  0x00006728 loop  0x00006179 
+ 00024957  0x00006729 branch  0x000062b2 
+ 00024958  0x0000672c branch  0x000062b2 
+ 00024959  0x0000672e branch  0x000062b2 
+ 00024960  0x00006731 rtn  0x00000029 
+ 00024961  0x00006732 call  0x0000282d 
+ 00024962  0x00006733 force  0x00000009 , 0x0000003f 
+ 00024963  0x00006734 call  0x00006298 
+ 00024964  0x00006735 fetch  0x00000002 , 0x00000171 
+ 00024965  0x00006736 istore  0x00000002 , 0x00000005 
+ 00024966  0x00006737 fetch  0x00000003 , 0x000040a0 
+ 00024967  0x00006738 istore  0x00000003 , 0x00000005 
+ 00024968  0x00006739 fetch  0x00000001 , 0x000040a3 
+ 00024969  0x0000673a istore  0x00000001 , 0x00000005 
+ 00024970  0x0000673b fetch  0x00000002 , 0x000040a4 
+ 00024971  0x0000673c istore  0x00000002 , 0x00000005 
+ 00024972  0x0000673d bmark0  0x00000003 , 0x00006191 
+ 00024973  0x0000673e set0  0x00000003 , 0x00000000 
+ 00024974  0x0000673f call  0x000062b2 
+ 00024975  0x00006740 jam  0x00000013 , 0x0000007c 
+ 00024976  0x00006741 rtn 
+ 00024977  0x00006743 call  0x000062b0 
+ 00024978  0x00006744 jam  0x00000003 , 0x0000007c 
+ 00024979  0x00006745 jam  0x00000013 , 0x0000007d 
+ 00024980  0x00006746 rtn 
+ 00024981  0x00006749 arg  0x00000200 , 0x00000002 
+ 00024982  0x0000674a branch  0x00006199 , 0x00000029 
+ 00024983  0x0000674b deposit  0x00000028 
+ 00024984  0x0000674c branch  0x0000619a 
+ 00024985  0x0000674e deposit  0x00000022 
+ 00024986  0x00006750 deposit  0x00000021 
+ 00024987  0x00006751 iadd  0x00000002 , 0x0000003f 
+ 00024988  0x00006752 and_into  0x000001fc , 0x0000003f 
+ 00024989  0x00006753 store  0x00000004 , 0x00000034 
+ 00024990  0x00006754 force  0x00000005 , 0x0000003f 
+ 00024991  0x00006755 call  0x00006298 
+ 00024992  0x00006756 fetch  0x00000004 , 0x00000034 
+ 00024993  0x00006757 rshift  0x0000003f , 0x0000003f 
+ 00024994  0x00006758 istore  0x00000004 , 0x00000005 
+ 00024995  0x00006759 branch  0x000062b2 
+ 00024996  0x0000675c force  0x0000000a , 0x0000003f 
+ 00024997  0x0000675d call  0x00006298 
+ 00024998  0x0000675e arg  0x000004d9 , 0x00000006 
+ 00024999  0x0000675f ifetch  0x00000009 , 0x00000006 
+ 00025000  0x00006760 istore  0x00000009 , 0x00000005 
+ 00025001  0x00006761 branch  0x000062b2 
+ 00025002  0x00006766 force  0x00000003 , 0x0000003f 
+ 00025003  0x00006767 call  0x00006298 
+ 00025004  0x00006768 setarg  0x00000114 
+ 00025005  0x00006769 istore  0x00000002 , 0x00000005 
+ 00025006  0x0000676a branch  0x000062b2 
+ 00025007  0x0000676e force  0x00000001 , 0x0000003f 
+ 00025008  0x0000676f call  0x00006298 
+ 00025009  0x00006778 branch  0x000062b2 
+ 00025010  0x0000677c force  0x00000002 , 0x0000003f 
+ 00025011  0x0000677d call  0x00006298 
+ 00025012  0x0000677e fetch  0x00000001 , 0x000040d0 
+ 00025013  0x0000677f istore  0x00000001 , 0x00000005 
+ 00025014  0x00006780 branch  0x000062b2 
+ 00025015  0x00006784 force  0x00000002 , 0x0000003f 
+ 00025016  0x00006785 call  0x00006298 
+ 00025017  0x00006786 setarg  0x00000005 
+ 00025018  0x00006787 istore  0x00000001 , 0x00000005 
+ 00025019  0x00006788 branch  0x000062b2 
+ 00025020  0x0000678c force  0x00000002 , 0x0000003f 
+ 00025021  0x0000678d call  0x00006298 
+ 00025022  0x0000678e setarg  0x00000000 
+ 00025023  0x0000678f istore  0x00000001 , 0x00000005 
+ 00025024  0x00006790 branch  0x000062b2 
+ 00025025  0x00006794 jam  0x0000002e , 0x0000007c 
+ 00025026  0x00006795 rtn 
+ 00025027  0x00006797 fetch  0x00000001 , 0x00004092 
+ 00025028  0x00006798 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025029  0x00006799 call  0x000061c1 , 0x00000005 
+ 00025030  0x0000679a fetch  0x00000001 , 0x00000030 
+ 00025031  0x0000679b set1  0x00000004 , 0x0000003f 
+ 00025032  0x0000679c store  0x00000001 , 0x00000030 
+ 00025033  0x0000679d copy  0x00000022 , 0x0000003f 
+ 00025034  0x0000679e store  0x00000004 , 0x000004e9 
+ 00025035  0x0000679f fetch  0x00000001 , 0x000004d1 
+ 00025036  0x000067a0 bbit1  0x00000003 , 0x000061d4 
+ 00025037  0x000067a1 set1  0x00000003 , 0x0000003f 
+ 00025038  0x000067a2 store  0x00000001 , 0x000004d1 
+ 00025039  0x000067a3 jam  0x00000005 , 0x00000a99 
+ 00025040  0x000067a4 call  0x00007d86 
+ 00025041  0x000067a5 force  0x00000001 , 0x0000003f 
+ 00025042  0x000067a6 call  0x00006298 
+ 00025043  0x000067a7 branch  0x000062b2 
+ 00025044  0x000067a9 jam  0x00000000 , 0x00000048 
+ 00025045  0x000067aa rtn 
+ 00025046  0x000067ad force  0x00000006 , 0x0000003f 
+ 00025047  0x000067ae call  0x00006298 
+ 00025048  0x000067af fetch  0x00000005 , 0x00004510 
+ 00025049  0x000067b0 istore  0x00000005 , 0x00000005 
+ 00025050  0x000067b1 branch  0x000062b2 
+ 00025051  0x000067b4 force  0x00000009 , 0x0000003f 
+ 00025052  0x000067b5 call  0x00006298 
+ 00025053  0x000067b6 fetch  0x00000008 , 0x00004098 
+ 00025054  0x000067b7 istore  0x00000008 , 0x00000005 
+ 00025055  0x000067b8 branch  0x000062b2 
+ 00025056  0x000067bb jam  0x00000001 , 0x000009b1 
+ 00025057  0x000067bc fetch  0x00000001 , 0x000045b1 
+ 00025058  0x000067bd rtnne  0x00000001 
+ 00025059  0x000067be jam  0x00000013 , 0x000009af 
+ 00025060  0x000067bf rtn 
+ 00025061  0x000067c2 call  0x000062ef 
+ 00025062  0x000067c3 jam  0x00000099 , 0x0000007c 
+ 00025063  0x000067c4 jam  0x00000003 , 0x000009af 
+ 00025064  0x000067c5 rtn 
+ 00025065  0x000067c9 call  0x000062ef 
+ 00025066  0x000067ca jam  0x0000003d , 0x0000007c 
+ 00025067  0x000067cb jam  0x00000007 , 0x000009af 
+ 00025068  0x000067cc rtn 
+ 00025069  0x000067cf arg  0x00000a4e , 0x00000011 
+ 00025070  0x000067d0 arg  0x00000a6e , 0x00000012 
+ 00025071  0x000067d1 arg  0x00000010 , 0x00000039 
+ 00025072  0x000067d2 call  0x00007f88 
+ 00025073  0x000067d3 branch  0x000061f7 , 0x00000005 
+ 00025074  0x000067d4 jam  0x00000000 , 0x000009af 
+ 00025075  0x000067d5 call  0x000076da 
+ 00025076  0x000067d6 jam  0x00000024 , 0x0000007e 
+ 00025077  0x000067d7 jam  0x00000040 , 0x0000007d 
+ 00025078  0x000067d8 branch  0x00005d53 
+ 00025079  0x000067da jam  0x0000000a , 0x000009af 
+ 00025080  0x000067db call  0x000076d8 
+ 00025081  0x000067dc jam  0x00000040 , 0x0000007d 
+ 00025082  0x000067dd branch  0x00005e38 
+ 00025083  0x000067e2 jam  0x00000040 , 0x0000007c 
+ 00025084  0x000067e3 rtn 
+ 00025085  0x000067ea jam  0x0000003d , 0x0000007c 
+ 00025086  0x000067ec rtn 
+ 00025087  0x000067f3 jam  0x00000000 , 0x000009b6 
+ 00025088  0x000067f4 force  0x00000004 , 0x0000003f 
+ 00025089  0x000067f5 call  0x00006298 
+ 00025090  0x000067f6 force  0x00000001 , 0x0000003f 
+ 00025091  0x000067f7 istore  0x00000001 , 0x00000005 
+ 00025092  0x000067f8 force  0x00000001 , 0x0000003f 
+ 00025093  0x000067f9 istore  0x00000001 , 0x00000005 
+ 00025094  0x000067fa force  0x00000030 , 0x0000003f 
+ 00025095  0x000067fb istore  0x00000001 , 0x00000005 
+ 00025096  0x000067fc call  0x000062fc 
+ 00025097  0x000067fd branch  0x000062b2 , 0x00000001 
+ 00025098  0x000067fe branch  0x000062b0 
+ 00025099  0x00006802 force  0x00000011 , 0x0000003f 
+ 00025100  0x00006803 call  0x00006298 
+ 00025101  0x00006804 fetch  0x00000001 , 0x000009b6 
+ 00025102  0x00006805 arg  0x0000462a , 0x00000006 
+ 00025103  0x00006806 iadd  0x00000006 , 0x00000006 
+ 00025104  0x00006807 ifetch  0x00000008 , 0x00000006 
+ 00025105  0x00006808 istore  0x00000008 , 0x00000005 
+ 00025106  0x00006809 ifetch  0x00000008 , 0x00000006 
+ 00025107  0x0000680a istore  0x00000008 , 0x00000005 
+ 00025108  0x0000680b fetch  0x00000001 , 0x000009b6 
+ 00025109  0x0000680c increase  0x00000010 , 0x0000003f 
+ 00025110  0x0000680d store  0x00000001 , 0x000009b6 
+ 00025111  0x0000680e call  0x000062fc 
+ 00025112  0x0000680f branch  0x000062b2 , 0x00000001 
+ 00025113  0x00006810 branch  0x000062b0 
+ 00025114  0x00006814 jam  0x00000006 , 0x000009ae 
+ 00025115  0x00006815 jam  0x0000003f , 0x0000007c 
+ 00025116  0x00006816 rtn 
+ 00025117  0x0000681a force  0x00000011 , 0x0000003f 
+ 00025118  0x0000681b call  0x00006298 
+ 00025119  0x0000681c arg  0x00000a4e , 0x00000006 
+ 00025120  0x0000681d ifetch  0x00000008 , 0x00000006 
+ 00025121  0x0000681e istore  0x00000008 , 0x00000005 
+ 00025122  0x0000681f ifetch  0x00000008 , 0x00000006 
+ 00025123  0x00006820 istore  0x00000008 , 0x00000005 
+ 00025124  0x00006821 branch  0x000062b0 
+ 00025125  0x00006824 jam  0x00000040 , 0x0000007c 
+ 00025126  0x00006825 rtn 
+ 00025127  0x00006829 call  0x000062fc 
+ 00025128  0x0000682a call  0x00007612 , 0x00000001 
+ 00025129  0x0000682b force  0x00000011 , 0x0000003f 
+ 00025130  0x0000682c call  0x00006298 
+ 00025131  0x0000682d arg  0x00000a1e , 0x00000006 
+ 00025132  0x0000682e ifetch  0x00000008 , 0x00000006 
+ 00025133  0x0000682f istore  0x00000008 , 0x00000005 
+ 00025134  0x00006830 ifetch  0x00000008 , 0x00000006 
+ 00025135  0x00006831 istore  0x00000008 , 0x00000005 
+ 00025136  0x00006832 call  0x000062fc 
+ 00025137  0x00006833 nbranch  0x000062b0 , 0x00000001 
+ 00025138  0x00006834 branch  0x000062b2 , 0x00000001 
+ 00025139  0x00006838 jam  0x0000000f , 0x000009af 
+ 00025140  0x0000683a call  0x000062ef 
+ 00025141  0x0000683b jam  0x0000000b , 0x0000007c 
+ 00025142  0x0000683c call  0x00006307 
+ 00025143  0x0000683d branch  0x0000764e , 0x00000001 
+ 00025144  0x0000683e branch  0x00007658 
+ 00025145  0x00006840 call  0x000062eb 
+ 00025146  0x00006842 jam  0x00000041 , 0x0000007c 
+ 00025147  0x00006843 rtn 
+ 00025148  0x00006846 force  0x00000011 , 0x0000003f 
+ 00025149  0x00006847 call  0x00006298 
+ 00025150  0x00006848 arg  0x00000a4e , 0x00000006 
+ 00025151  0x00006849 ifetch  0x00000008 , 0x00000006 
+ 00025152  0x0000684a istore  0x00000008 , 0x00000005 
+ 00025153  0x0000684b ifetch  0x00000008 , 0x00000006 
+ 00025154  0x0000684c istore  0x00000008 , 0x00000005 
+ 00025155  0x0000684d call  0x000062fc 
+ 00025156  0x0000684e nbranch  0x000062b0 , 0x00000001 
+ 00025157  0x0000684f branch  0x000062b2 , 0x00000001 
+ 00025158  0x00006852 force  0x00000003 , 0x0000003f 
+ 00025159  0x00006853 call  0x00006298 
+ 00025160  0x00006854 setarg  0x0000fffe 
+ 00025161  0x00006855 istore  0x00000002 , 0x00000005 
+ 00025162  0x00006856 branch  0x000062b0 
+ 00025163  0x00006859 branch  0x000062b2 
+ 00025164  0x0000685b branch  0x000062b2 
+ 00025165  0x0000685d branch  0x000062b2 
+ 00025166  0x0000685f branch  0x000062b2 
+ 00025167  0x00006865 call  0x0000630b 
+ 00025168  0x00006866 arg  0x000040a0 , 0x00000011 
+ 00025169  0x00006867 call  0x00006311 
+ 00025170  0x00006868 force  0x00000011 , 0x0000003f 
+ 00025171  0x00006869 call  0x00006298 
+ 00025172  0x0000686a arg  0x00000582 , 0x00000011 
+ 00025173  0x0000686b arg  0x00000562 , 0x00000012 
+ 00025174  0x0000686c call  0x00007352 
+ 00025175  0x0000686d nbranch  0x000062a7 , 0x00000029 
+ 00025176  0x0000686e branch  0x000062ad 
+ 00025177  0x00006871 call  0x0000630b 
+ 00025178  0x00006872 arg  0x00000040 , 0x00000011 
+ 00025179  0x00006873 call  0x00007255 
+ 00025180  0x00006875 force  0x00000011 , 0x0000003f 
+ 00025181  0x00006876 call  0x00006298 
+ 00025182  0x00006877 arg  0x00000562 , 0x00000006 
+ 00025183  0x00006878 call  0x00007ebf 
+ 00025184  0x00006879 fetch  0x00000001 , 0x00000055 
+ 00025185  0x0000687a beq  0x00000019 , 0x000062b2 
+ 00025186  0x0000687b beq  0x00000018 , 0x000062b2 
+ 00025187  0x0000687c branch  0x000062ad 
+ 00025188  0x0000687f fetch  0x00000001 , 0x000009b5 
+ 00025189  0x00006880 branch  0x0000626a , 0x00000034 
+ 00025190  0x00006881 call  0x000062fc 
+ 00025191  0x00006882 call  0x000062ef , 0x00000001 
+ 00025192  0x00006883 ncall  0x000062eb , 0x00000001 
+ 00025193  0x00006884 branch  0x0000626b 
+ 00025194  0x00006886 call  0x000062ef 
+ 00025195  0x00006888 call  0x0000630b 
+ 00025196  0x00006889 branch  0x0000625c 
+ 00025197  0x0000688c arg  0x000040a0 , 0x00000011 
+ 00025198  0x0000688d call  0x00007288 
+ 00025199  0x0000688e force  0x00000005 , 0x0000003f 
+ 00025200  0x0000688f call  0x00006298 
+ 00025201  0x00006890 fetch  0x00000004 , 0x00000592 
+ 00025202  0x00006891 istore  0x00000004 , 0x00000005 
+ 00025203  0x00006892 arg  0x000004d5 , 0x00000002 
+ 00025204  0x00006893 call  0x000062e2 
+ 00025205  0x00006894 call  0x00007386 
+ 00025206  0x00006895 call  0x000062fc 
+ 00025207  0x00006896 branch  0x0000627c , 0x00000001 
+ 00025208  0x00006897 jam  0x00000001 , 0x000004d8 
+ 00025209  0x00006898 fetch  0x00000001 , 0x000009b5 
+ 00025210  0x00006899 rtn  0x00000034 
+ 00025211  0x0000689a jam  0x0000000b , 0x0000007c 
+ 00025212  0x0000689c fetch  0x00000001 , 0x000041bd 
+ 00025213  0x0000689d rtn  0x00000034 
+ 00025214  0x0000689f call  0x000062fc 
+ 00025215  0x000068a0 nbranch  0x00006284 , 0x00000001 
+ 00025216  0x000068a1 fetch  0x00000001 , 0x000004d7 
+ 00025217  0x000068a2 rtn  0x00000034 
+ 00025218  0x000068a3 jam  0x0000000f , 0x0000007c 
+ 00025219  0x000068a4 rtn 
+ 00025220  0x000068a6 rtnmark0  0x00000021 
+ 00025221  0x000068a7 set0  0x00000021 , 0x00000000 
+ 00025222  0x000068a8 jam  0x0000000f , 0x0000007c 
+ 00025223  0x000068a9 rtn 
+ 00025224  0x000068ae call  0x0000630b 
+ 00025225  0x000068af call  0x0000728b 
+ 00025226  0x000068b0 force  0x00000011 , 0x0000003f 
+ 00025227  0x000068b1 call  0x00006298 
+ 00025228  0x000068b2 arg  0x00000562 , 0x00000006 
+ 00025229  0x000068b3 call  0x00007ebf 
+ 00025230  0x000068b4 branch  0x000062ad 
+ 00025231  0x000068b7 force  0x00000001 , 0x0000003f 
+ 00025232  0x000068b8 call  0x00006298 
+ 00025233  0x000068b9 branch  0x000062ad 
+ 00025234  0x000068bc force  0x00000002 , 0x0000003f 
+ 00025235  0x000068bd call  0x00006298 
+ 00025236  0x000068be force  0x00000010 , 0x0000003f 
+ 00025237  0x000068bf istore  0x00000001 , 0x00000005 
+ 00025238  0x000068c0 store  0x00000001 , 0x00000054 
+ 00025239  0x000068c1 branch  0x000062ad 
+ 00025240  0x000068c5 lshift3  0x0000003f , 0x0000003f 
+ 00025241  0x000068c6 or_into  0x00000007 , 0x0000003f 
+ 00025242  0x000068c7 store  0x00000001 , 0x000004b6 
+ 00025243  0x000068c8 arg  0x00000011 , 0x00000039 
+ 00025244  0x000068c9 arg  0x000004b8 , 0x00000005 
+ 00025245  0x000068ca call  0x00007ed4 
+ 00025246  0x000068cb arg  0x000004b8 , 0x00000005 
+ 00025247  0x000068cc rtn 
+ 00025248  0x000068cf and  0x0000003f , 0x0000007f , 0x00000011 
+ 00025249  0x000068d0 jam  0x0000007f , 0x00000048 
+ 00025250  0x000068d1 deposit  0x00000007 
+ 00025251  0x000068d2 call  0x00006298 
+ 00025252  0x000068d3 deposit  0x00000011 
+ 00025253  0x000068d4 istore  0x00000001 , 0x00000005 
+ 00025254  0x000068d5 rtn 
+ 00025255  0x000068d8 fetch  0x00000001 , 0x00000048 
+ 00025256  0x000068d9 lshift  0x0000003f , 0x0000003f 
+ 00025257  0x000068da fetcht  0x00000001 , 0x0000004c 
+ 00025258  0x000068db isolate1  0x00000001 , 0x00000002 
+ 00025259  0x000068dc setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025260  0x000068dd branch  0x000062b7 
+ 00025261  0x000068e1 fetcht  0x00000001 , 0x0000004c 
+ 00025262  0x000068e2 and_into  0x00000001 , 0x00000002 
+ 00025263  0x000068e3 branch  0x000062b3 
+ 00025264  0x000068e6 force  0x00000000 , 0x00000002 
+ 00025265  0x000068e7 branch  0x000062b3 
+ 00025266  0x000068ea force  0x00000001 , 0x00000002 
+ 00025267  0x000068ec fetch  0x00000001 , 0x00000048 
+ 00025268  0x000068ed lshift  0x0000003f , 0x0000003f 
+ 00025269  0x000068ee setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00025270  0x000068ef ixor  0x00000002 , 0x0000003f 
+ 00025271  0x000068f1 store  0x00000001 , 0x000004b7 
+ 00025272  0x000068f2 jam  0x00000000 , 0x00000048 
+ 00025273  0x000068f3 call  0x000062c7 
+ 00025274  0x000068f4 enable  0x00000028 
+ 00025275  0x000068f5 rtn 
+ 00025276  0x000068f9 fetch  0x00000001 , 0x0000007c 
+ 00025277  0x000068fa rtn  0x00000034 
+ 00025278  0x000068fb call  0x000062c1 
+ 00025279  0x000068fc fetch  0x00000001 , 0x0000007c 
+ 00025280  0x000068fd rtn 
+ 00025281  0x00006900 bpatchx  0x00000086 , 0x00004030 
+ 00025282  0x00006901 fetch  0x00000001 , 0x00000048 
+ 00025283  0x00006902 branch  0x000062c7 , 0x00000034 
+ 00025284  0x00006903 fetch  0x00000001 , 0x00000078 
+ 00025285  0x00006904 nrtn  0x00000034 
+ 00025286  0x00006905 branch  0x000062d1 
+ 00025287  0x00006907 fetch  0x00000001 , 0x00000078 
+ 00025288  0x00006908 branch  0x000062d7 , 0x00000034 
+ 00025289  0x00006909 fetch  0x00000003 , 0x00000078 
+ 00025290  0x0000690a store  0x00000003 , 0x00000048 
+ 00025291  0x0000690b fetcht  0x00000001 , 0x0000007b 
+ 00025292  0x0000690c fetch  0x00000001 , 0x0000004c 
+ 00025293  0x0000690d set0  0x00000001 , 0x0000003f 
+ 00025294  0x0000690e ior  0x00000002 , 0x0000003f 
+ 00025295  0x0000690f store  0x00000001 , 0x0000004c 
+ 00025296  0x00006910 jam  0x00000000 , 0x00000078 
+ 00025297  0x00006912 fetch  0x00000001 , 0x0000007c 
+ 00025298  0x00006913 rtn  0x00000034 
+ 00025299  0x00006914 fetch  0x00000004 , 0x0000007c 
+ 00025300  0x00006915 store  0x00000004 , 0x00000078 
+ 00025301  0x00006916 jam  0x00000000 , 0x0000007c 
+ 00025302  0x00006917 rtn 
+ 00025303  0x00006919 fetch  0x00000001 , 0x0000007c 
+ 00025304  0x0000691a rtn  0x00000034 
+ 00025305  0x0000691b fetch  0x00000003 , 0x0000007c 
+ 00025306  0x0000691c store  0x00000003 , 0x00000048 
+ 00025307  0x0000691d fetcht  0x00000001 , 0x0000007f 
+ 00025308  0x0000691e fetch  0x00000001 , 0x0000004c 
+ 00025309  0x0000691f set0  0x00000001 , 0x0000003f 
+ 00025310  0x00006920 ior  0x00000002 , 0x0000003f 
+ 00025311  0x00006921 store  0x00000001 , 0x0000004c 
+ 00025312  0x00006922 jam  0x00000000 , 0x0000007c 
+ 00025313  0x00006923 rtn 
+ 00025314  0x00006927 bpatchx  0x00000087 , 0x00004030 
+ 00025315  0x00006928 fetch  0x00000001 , 0x0000004c 
+ 00025316  0x00006929 copy  0x0000003f , 0x00000013 
+ 00025317  0x0000692a ifetch  0x00000001 , 0x00000002 
+ 00025318  0x0000692b call  0x00005e52 
+ 00025319  0x0000692c call  0x000062a7 
+ 00025320  0x0000692d copy  0x00000013 , 0x0000003f 
+ 00025321  0x0000692e store  0x00000001 , 0x0000004c 
+ 00025322  0x0000692f rtn 
+ 00025323  0x00006932 fetcht  0x00000001 , 0x0000004c 
+ 00025324  0x00006933 set0  0x00000000 , 0x00000002 
+ 00025325  0x00006934 storet  0x00000001 , 0x0000004c 
+ 00025326  0x00006935 rtn 
+ 00025327  0x00006938 fetcht  0x00000001 , 0x0000004c 
+ 00025328  0x00006939 set1  0x00000000 , 0x00000002 
+ 00025329  0x0000693a storet  0x00000001 , 0x0000004c 
+ 00025330  0x0000693b rtn 
+ 00025331  0x0000693f nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025332  0x00006940 fetcht  0x00000001 , 0x0000004c 
+ 00025333  0x00006941 ixor  0x00000002 , 0x0000003f 
+ 00025334  0x00006942 isolate1  0x00000001 , 0x0000003f 
+ 00025335  0x00006943 rtn 
+ 00025336  0x00006947 fetch  0x00000001 , 0x0000004c 
+ 00025337  0x00006948 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025338  0x00006949 store  0x00000001 , 0x0000004c 
+ 00025339  0x0000694a rtn 
+ 00025340  0x0000694e fetch  0x00000001 , 0x000009b4 
+ 00025341  0x0000694f compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00025342  0x00006950 rtn 
+ 00025343  0x00006952 fetch  0x00000001 , 0x000009b4 
+ 00025344  0x00006953 set1  0x00000007 , 0x0000003f 
+ 00025345  0x00006954 store  0x00000001 , 0x000009b4 
+ 00025346  0x00006955 rtn 
+ 00025347  0x00006957 fetch  0x00000001 , 0x000009b4 
+ 00025348  0x00006958 set0  0x00000007 , 0x0000003f 
+ 00025349  0x00006959 store  0x00000001 , 0x000009b4 
+ 00025350  0x0000695a rtn 
+ 00025351  0x0000695c fetch  0x00000001 , 0x000009b4 
+ 00025352  0x0000695d isolate1  0x00000007 , 0x0000003f 
+ 00025353  0x0000695e store  0x00000001 , 0x000009b4 
+ 00025354  0x0000695f rtn 
+ 00025355  0x00006963 arg  0x00000562 , 0x00000005 
+ 00025356  0x00006965 force  0x00000010 , 0x00000039 
+ 00025357  0x00006968 random  0x0000003f 
+ 00025358  0x00006969 istore  0x00000001 , 0x00000005 
+ 00025359  0x0000696a loop  0x0000630d 
+ 00025360  0x0000696b rtn 
+ 00025361  0x0000696e call  0x00007259 
+ 00025362  0x0000696f arg  0x000041be , 0x00000011 
+ 00025363  0x00006970 arg  0x00000592 , 0x00000012 
+ 00025364  0x00006971 ifetch  0x00000008 , 0x00000011 
+ 00025365  0x00006972 fetcht  0x00000001 , 0x00000030 
+ 00025366  0x00006973 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00025367  0x00006974 storet  0x00000001 , 0x00000030 
+ 00025368  0x00006975 copy  0x00000011 , 0x00000005 
+ 00025369  0x00006976 call  0x00007352 
+ 00025370  0x00006977 branch  0x000021c4 
+ 00025371  0x0000697f bpatchx  0x00000088 , 0x00004031 
+ 00025372  0x00006981 call  0x000062bc 
+ 00025373  0x00006982 nrtn  0x00000034 
+ 00025374  0x00006984 fetch  0x00000001 , 0x00000055 
+ 00025375  0x00006985 rtn  0x00000034 
+ 00025376  0x00006989 beq  0x00000004 , 0x0000636f 
+ 00025377  0x0000698a beq  0x00000005 , 0x00006374 
+ 00025378  0x0000698b beq  0x00000002 , 0x00006366 
+ 00025379  0x0000698c beq  0x00000003 , 0x0000637c 
+ 00025380  0x0000698d beq  0x0000000e , 0x00006369 
+ 00025381  0x0000698e beq  0x00000006 , 0x00006398 
+ 00025382  0x0000698f beq  0x00000007 , 0x000063b0 
+ 00025383  0x00006990 beq  0x00000009 , 0x000063b1 
+ 00025384  0x00006991 beq  0x0000000a , 0x000063ba 
+ 00025385  0x00006992 beq  0x0000000b , 0x000063be 
+ 00025386  0x00006993 beq  0x0000000c , 0x00006386 
+ 00025387  0x00006994 beq  0x0000000d , 0x00006389 
+ 00025388  0x00006995 beq  0x0000000f , 0x0000638f 
+ 00025389  0x00006996 beq  0x00000012 , 0x00006359 
+ 00025390  0x00006997 beq  0x00000013 , 0x0000637c 
+ 00025391  0x00006998 beq  0x00000010 , 0x0000635c 
+ 00025392  0x00006999 beq  0x00000014 , 0x00006356 
+ 00025393  0x0000699a beq  0x00000015 , 0x0000637c 
+ 00025394  0x0000699b beq  0x00000016 , 0x00006350 
+ 00025395  0x0000699c beq  0x00000018 , 0x00006355 
+ 00025396  0x0000699d beq  0x00000017 , 0x00006349 
+ 00025397  0x0000699e beq  0x00000019 , 0x0000634f 
+ 00025398  0x0000699f beq  0x0000001a , 0x0000633a 
+ 00025399  0x000069a0 beq  0x0000001b , 0x00006344 
+ 00025400  0x000069a1 jam  0x00000000 , 0x00000055 
+ 00025401  0x000069a3 rtn 
+ 00025402  0x000069a5 fetch  0x00000001 , 0x000004d1 
+ 00025403  0x000069a6 rtnbit0  0x00000002 
+ 00025404  0x000069a7 rtnbit0  0x00000003 
+ 00025405  0x000069a8 jam  0x00000000 , 0x00000055 
+ 00025406  0x000069a9 call  0x00006340 
+ 00025407  0x000069aa branch  0x00006cef 
+ 00025408  0x000069ad fetch  0x00000001 , 0x0000016d 
+ 00025409  0x000069ae rtnbit0  0x00000001 
+ 00025410  0x000069af jam  0x0000000a , 0x00000055 
+ 00025411  0x000069b0 rtn 
+ 00025412  0x000069b3 arg  0x00000007 , 0x00000007 
+ 00025413  0x000069b4 call  0x00007f16 
+ 00025414  0x000069b5 nrtn  0x00000034 
+ 00025415  0x000069b6 jam  0x0000001a , 0x00000055 
+ 00025416  0x000069b7 rtn 
+ 00025417  0x000069ba fetch  0x00000001 , 0x0000016d 
+ 00025418  0x000069bb set0  0x00000000 , 0x0000003f 
+ 00025419  0x000069bc store  0x00000001 , 0x0000016d 
+ 00025420  0x000069bd jam  0x00000019 , 0x00000055 
+ 00025421  0x000069be jam  0x0000000b , 0x0000007c 
+ 00025422  0x000069bf rtn 
+ 00025423  0x000069c1 rtn 
+ 00025424  0x000069c3 fetch  0x00000001 , 0x000004d4 
+ 00025425  0x000069c4 rtnne  0x00000002 
+ 00025426  0x000069c5 call  0x000063c0 
+ 00025427  0x000069c6 jam  0x00000018 , 0x00000055 
+ 00025428  0x000069c7 rtn 
+ 00025429  0x000069ca rtn 
+ 00025430  0x000069cc jam  0x00000015 , 0x00000055 
+ 00025431  0x000069cd jam  0x00000083 , 0x0000007c 
+ 00025432  0x000069ce rtn 
+ 00025433  0x000069d0 jam  0x00000013 , 0x00000055 
+ 00025434  0x000069d1 jam  0x00000025 , 0x0000007c 
+ 00025435  0x000069d2 rtn 
+ 00025436  0x000069d5 fetch  0x00000001 , 0x0000455b 
+ 00025437  0x000069d6 rtneq  0x00000000 
+ 00025438  0x000069d7 beq  0x00000001 , 0x00006364 
+ 00025439  0x000069d8 arg  0x00000006 , 0x00000007 
+ 00025440  0x000069d9 call  0x00007f16 
+ 00025441  0x000069da nrtn  0x00000034 
+ 00025442  0x000069db jam  0x00000000 , 0x0000455b 
+ 00025443  0x000069dc branch  0x0000637d 
+ 00025444  0x000069de rtn  0x00000029 
+ 00025445  0x000069df branch  0x00006398 
+ 00025446  0x000069e2 jam  0x00000003 , 0x00000055 
+ 00025447  0x000069e3 jam  0x00000027 , 0x0000007c 
+ 00025448  0x000069e4 rtn 
+ 00025449  0x000069e6 jam  0x00000013 , 0x0000007c 
+ 00025450  0x000069e7 set1  0x00000003 , 0x00000000 
+ 00025451  0x000069e8 jam  0x00000005 , 0x00000055 
+ 00025452  0x000069e9 setarg  0x000001ff 
+ 00025453  0x000069ea store  0x00000002 , 0x000004d2 
+ 00025454  0x000069eb rtn 
+ 00025455  0x000069ed jam  0x00000005 , 0x00000055 
+ 00025456  0x000069ee jam  0x000000ff , 0x000004d2 
+ 00025457  0x000069ef set0  0x00000022 , 0x00000000 
+ 00025458  0x000069f0 jam  0x00000033 , 0x0000007c 
+ 00025459  0x000069f1 branch  0x00005d04 
+ 00025460  0x000069f3 rtnmark1  0x00000022 
+ 00025461  0x000069f4 fetch  0x00000002 , 0x000004d2 
+ 00025462  0x000069f5 sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025463  0x000069f6 branch  0x0000637a , 0x00000005 
+ 00025464  0x000069f7 store  0x00000002 , 0x000004d2 
+ 00025465  0x000069f8 rtn 
+ 00025466  0x000069fa jam  0x0000000e , 0x00000055 
+ 00025467  0x000069fb rtn 
+ 00025468  0x000069fe rtn 
+ 00025469  0x00006a01 fetch  0x00000001 , 0x000004d1 
+ 00025470  0x00006a02 rtnbit0  0x00000003 
+ 00025471  0x00006a03 rtnbit0  0x00000002 
+ 00025472  0x00006a04 fetch  0x00000001 , 0x0000016d 
+ 00025473  0x00006a05 set0  0x00000002 , 0x0000003f 
+ 00025474  0x00006a06 store  0x00000001 , 0x0000016d 
+ 00025475  0x00006a07 jam  0x00000013 , 0x0000007c 
+ 00025476  0x00006a08 jam  0x00000010 , 0x00000055 
+ 00025477  0x00006a09 rtn 
+ 00025478  0x00006a0c jam  0x0000000d , 0x00000055 
+ 00025479  0x00006a0d jam  0x00000031 , 0x0000007c 
+ 00025480  0x00006a0e rtn 
+ 00025481  0x00006a11 fetch  0x00000001 , 0x000004d1 
+ 00025482  0x00006a12 rtnbit0  0x00000002 
+ 00025483  0x00006a13 jam  0x00000000 , 0x00000055 
+ 00025484  0x00006a15 rtn 
+ 00025485  0x00006a17 jam  0x00000006 , 0x00000055 
+ 00025486  0x00006a18 rtn 
+ 00025487  0x00006a1b fetch  0x00000001 , 0x000004d2 
+ 00025488  0x00006a1c increase  0xffffffff , 0x0000003f 
+ 00025489  0x00006a1d branch  0x00006394 , 0x00000034 
+ 00025490  0x00006a1e store  0x00000001 , 0x000004d2 
+ 00025491  0x00006a1f rtn 
+ 00025492  0x00006a21 jam  0x00000007 , 0x0000007c 
+ 00025493  0x00006a22 jam  0x00000016 , 0x000004ca 
+ 00025494  0x00006a23 jam  0x00000000 , 0x00000055 
+ 00025495  0x00006a24 rtn 
+ 00025496  0x00006a27 fetch  0x00000001 , 0x0000016d 
+ 00025497  0x00006a28 bbit1  0x00000002 , 0x0000637d 
+ 00025498  0x00006a29 bbit1  0x00000000 , 0x0000639d 
+ 00025499  0x00006a2b jam  0x0000001a , 0x00000055 
+ 00025500  0x00006a2c rtn 
+ 00025501  0x00006a2e fetch  0x00000001 , 0x000041bd 
+ 00025502  0x00006a2f branch  0x000063a9 , 0x00000034 
+ 00025503  0x00006a30 fetch  0x00000001 , 0x000004d1 
+ 00025504  0x00006a31 rtnbit0  0x00000003 
+ 00025505  0x00006a32 rtnbit0  0x00000002 
+ 00025506  0x00006a33 fetch  0x00000004 , 0x000004e9 
+ 00025507  0x00006a34 arg  0x00000064 , 0x00000002 
+ 00025508  0x00006a35 iadd  0x00000002 , 0x00000002 
+ 00025509  0x00006a36 copy  0x00000022 , 0x0000003f 
+ 00025510  0x00006a37 isub  0x00000002 , 0x0000003e 
+ 00025511  0x00006a38 nrtn  0x00000002 
+ 00025512  0x00006a39 branch  0x00006349 
+ 00025513  0x00006a3e jam  0x00000016 , 0x00000055 
+ 00025514  0x00006a3f jam  0x00000004 , 0x00004689 
+ 00025515  0x00006a40 setarg  0x00003030 
+ 00025516  0x00006a41 store  0x00000002 , 0x0000468a 
+ 00025517  0x00006a42 istore  0x00000002 , 0x00000005 
+ 00025518  0x00006a43 jam  0x00000002 , 0x000004d4 
+ 00025519  0x00006a44 branch  0x00006350 
+ 00025520  0x00006a47 rtn 
+ 00025521  0x00006a49 fetch  0x00000001 , 0x0000016d 
+ 00025522  0x00006a4a bbit1  0x00000001 , 0x000063b5 
+ 00025523  0x00006a4b jam  0x0000001a , 0x00000055 
+ 00025524  0x00006a4c rtn 
+ 00025525  0x00006a4f fetch  0x00000001 , 0x0000016d 
+ 00025526  0x00006a50 set0  0x00000001 , 0x0000003f 
+ 00025527  0x00006a51 store  0x00000001 , 0x0000016d 
+ 00025528  0x00006a52 jam  0x0000000f , 0x0000007c 
+ 00025529  0x00006a53 rtn 
+ 00025530  0x00006a56 fetch  0x00000001 , 0x000004d8 
+ 00025531  0x00006a57 rtn  0x00000034 
+ 00025532  0x00006a58 jam  0x00000000 , 0x00000055 
+ 00025533  0x00006a59 branch  0x000063b5 
+ 00025534  0x00006a5c jam  0x0000000c , 0x00000055 
+ 00025535  0x00006a5d rtn 
+ 00025536  0x00006a60 fetch  0x00000001 , 0x0000004b 
+ 00025537  0x00006a61 bbit1  0x00000002 , 0x000063c5 
+ 00025538  0x00006a62 call  0x000062ef 
+ 00025539  0x00006a63 jam  0x00000008 , 0x0000007c 
+ 00025540  0x00006a64 branch  0x00004d04 
+ 00025541  0x00006a66 fetch  0x00000001 , 0x0000004b 
+ 00025542  0x00006a67 set0  0x00000002 , 0x0000003f 
+ 00025543  0x00006a68 store  0x00000001 , 0x0000004b 
+ 00025544  0x00006a69 call  0x00006001 
+ 00025545  0x00006a6a call  0x000062f8 
+ 00025546  0x00006a6b branch  0x00004d04 
+ 00025547  0x00006a6e setarg  0x00000004 
+ 00025548  0x00006a6f store  0x00000001 , 0x00004689 
+ 00025549  0x00006a70 setarg  0x00003030 
+ 00025550  0x00006a71 istore  0x00000002 , 0x00000005 
+ 00025551  0x00006a72 istore  0x00000002 , 0x00000005 
+ 00025552  0x00006a73 rtn 
+ 00025553  0x00006a7a bpatchx  0x0000008c , 0x00004031 
+ 00025554  0x00006a7b hfetch  0x00000001 , 0x00008073 
+ 00025555  0x00006a7c arg  0x00000006 , 0x00000002 
+ 00025556  0x00006a7d ior  0x00000002 , 0x0000003f 
+ 00025557  0x00006a7e hstore  0x00000001 , 0x00008073 
+ 00025558  0x00006a7f hfetch  0x00000001 , 0x00008077 
+ 00025559  0x00006a80 ior  0x00000002 , 0x0000003f 
+ 00025560  0x00006a81 hstore  0x00000001 , 0x00008077 
+ 00025561  0x00006a82 call  0x000063ee 
+ 00025562  0x00006a83 hfetch  0x00000001 , 0x00008077 
+ 00025563  0x00006a84 set0  0x00000001 , 0x0000003f 
+ 00025564  0x00006a85 set0  0x00000002 , 0x0000003f 
+ 00025565  0x00006a86 hstore  0x00000001 , 0x00008077 
+ 00025566  0x00006a87 nop  0x0000001e 
+ 00025567  0x00006a88 branch  0x000063f2 
+ 00025568  0x00006a8b hfetch  0x00000001 , 0x00008073 
+ 00025569  0x00006a8c arg  0x000000c0 , 0x00000002 
+ 00025570  0x00006a8d ior  0x00000002 , 0x0000003f 
+ 00025571  0x00006a8e hstore  0x00000001 , 0x00008073 
+ 00025572  0x00006a8f hfetch  0x00000001 , 0x00008077 
+ 00025573  0x00006a90 ior  0x00000002 , 0x0000003f 
+ 00025574  0x00006a91 hstore  0x00000001 , 0x00008077 
+ 00025575  0x00006a92 call  0x000063ee 
+ 00025576  0x00006a93 hfetch  0x00000001 , 0x00008077 
+ 00025577  0x00006a94 set0  0x00000006 , 0x0000003f 
+ 00025578  0x00006a95 set0  0x00000007 , 0x0000003f 
+ 00025579  0x00006a96 hstore  0x00000001 , 0x00008077 
+ 00025580  0x00006a97 nop  0x0000001e 
+ 00025581  0x00006a98 branch  0x000063f6 
+ 00025582  0x00006a9b hfetch  0x00000001 , 0x00008081 
+ 00025583  0x00006a9c and  0x0000003f , 0x000000fc , 0x0000003f 
+ 00025584  0x00006a9d hstore  0x00000001 , 0x00008081 
+ 00025585  0x00006a9e rtn 
+ 00025586  0x00006aa0 hfetch  0x00000001 , 0x00008081 
+ 00025587  0x00006aa1 or  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025588  0x00006aa2 hstore  0x00000001 , 0x00008081 
+ 00025589  0x00006aa3 rtn 
+ 00025590  0x00006aa5 hfetch  0x00000001 , 0x00008081 
+ 00025591  0x00006aa6 or  0x0000003f , 0x00000003 , 0x0000003f 
+ 00025592  0x00006aa7 set0  0x00000004 , 0x0000003f 
+ 00025593  0x00006aa8 hstore  0x00000001 , 0x00008081 
+ 00025594  0x00006aa9 rtn 
+ 00025595  0x00006aae copy  0x0000003f , 0x00000012 
+ 00025596  0x00006aaf call  0x0000640f 
+ 00025597  0x00006ab0 nop  0x00000064 
+ 00025598  0x00006ab1 copy  0x00000012 , 0x0000003f 
+ 00025599  0x00006ab2 call  0x00006414 
+ 00025600  0x00006ab3 copy  0x0000003f , 0x00000012 
+ 00025601  0x00006ab4 call  0x00006411 
+ 00025602  0x00006ab5 nop  0x00000064 
+ 00025603  0x00006ab6 copy  0x00000012 , 0x0000003f 
+ 00025604  0x00006ab7 rtn 
+ 00025605  0x00006aba copy  0x0000003f , 0x00000012 
+ 00025606  0x00006abb call  0x0000640f 
+ 00025607  0x00006abc nop  0x00000064 
+ 00025608  0x00006abd copy  0x00000012 , 0x0000003f 
+ 00025609  0x00006abe call  0x00006413 
+ 00025610  0x00006abf call  0x00006411 
+ 00025611  0x00006ac0 nop  0x00000064 
+ 00025612  0x00006ac1 rtn 
+ 00025613  0x00006ac5 fetcht  0x00000001 , 0x00004214 
+ 00025614  0x00006ac6 branch  0x0000680e 
+ 00025615  0x00006aca fetcht  0x00000001 , 0x00004214 
+ 00025616  0x00006acb branch  0x00006829 
+ 00025617  0x00006acf fetcht  0x00000001 , 0x00004214 
+ 00025618  0x00006ad0 branch  0x00006825 
+ 00025619  0x00006ad4 branch  0x000064ec 
+ 00025620  0x00006ad7 branch  0x000064f3 
+ 00025621  0x00006adf nbranch  0x00006419 , 0x00000028 
+ 00025622  0x00006ae0 hfetch  0x00000001 , 0x00008085 
+ 00025623  0x00006ae1 or_into  0x00000002 , 0x0000003f 
+ 00025624  0x00006ae2 hstore  0x00000001 , 0x00008085 
+ 00025625  0x00006ae4 copy  0x00000002 , 0x0000003e 
+ 00025626  0x00006ae5 branch  0x0000641c , 0x00000005 
+ 00025627  0x00006ae6 copy  0x00000013 , 0x0000003d 
+ 00025628  0x00006ae8 isolate0  0x00000000 , 0x0000003e 
+ 00025629  0x00006ae9 branch  0x000064b9 
+ 00025630  0x00006aed force  0x00000004 , 0x00000002 
+ 00025631  0x00006aef arg  0x000001fe , 0x00000011 
+ 00025632  0x00006af0 hfetch  0x00000001 , 0x00008085 
+ 00025633  0x00006af1 and_into  0x000000fd , 0x0000003f 
+ 00025634  0x00006af2 hstore  0x00000001 , 0x00008085 
+ 00025635  0x00006af3 call  0x00006419 
+ 00025636  0x00006af4 arg  0x000055aa , 0x00000011 
+ 00025637  0x00006af5 fetch  0x00000002 , 0x000001fe 
+ 00025638  0x00006af6 ifetcht  0x00000002 , 0x00000006 
+ 00025639  0x00006af7 isub  0x00000011 , 0x0000003e 
+ 00025640  0x00006af8 rtn 
+ 00025641  0x00006afb arg  0x00000002 , 0x00000002 
+ 00025642  0x00006afc arg  0x00000204 , 0x00000011 
+ 00025643  0x00006afd call  0x00006419 
+ 00025644  0x00006afe fetch  0x00000002 , 0x00000204 
+ 00025645  0x00006aff store  0x00000002 , 0x000001f7 
+ 00025646  0x00006b00 call  0x00006430 , 0x00000028 
+ 00025647  0x00006b01 rtn 
+ 00025648  0x00006b04 arg  0x00000010 , 0x00000002 
+ 00025649  0x00006b05 arg  0x00000206 , 0x00000011 
+ 00025650  0x00006b06 hfetch  0x00000001 , 0x00008085 
+ 00025651  0x00006b07 and_into  0x000000fd , 0x0000003f 
+ 00025652  0x00006b08 hstore  0x00000001 , 0x00008085 
+ 00025653  0x00006b09 call  0x00006419 
+ 00025654  0x00006b0a arg  0x00000206 , 0x00000006 
+ 00025655  0x00006b0b arg  0x00000010 , 0x00000039 
+ 00025656  0x00006b0c call  0x00007478 
+ 00025657  0x00006b0d call  0x00007428 
+ 00025658  0x00006b0e call  0x00007491 
+ 00025659  0x00006b0f branch  0x00007422 
+ 00025660  0x00006b12 disable  0x0000002d 
+ 00025661  0x00006b13 call  0x0000641e 
+ 00025662  0x00006b14 nrtn  0x00000005 
+ 00025663  0x00006b15 enable  0x0000002d 
+ 00025664  0x00006b16 jam  0x00000080 , 0x00008023 
+ 00025665  0x00006b17 jam  0x00000000 , 0x00008022 
+ 00025666  0x00006b18 jam  0x00000000 , 0x00008024 
+ 00025667  0x00006b19 arg  0x00008025 , 0x00000011 
+ 00025668  0x00006b1a call  0x00006415 
+ 00025669  0x00006b1b jam  0x00000000 , 0x00008023 
+ 00025670  0x00006b1d arg  0x00000006 , 0x00000002 
+ 00025671  0x00006b1e call  0x0000641f 
+ 00025672  0x00006b1f nrtn  0x00000005 
+ 00025673  0x00006b20 ifetch  0x00000002 , 0x00000006 
+ 00025674  0x00006b21 iforce  0x00000011 
+ 00025675  0x00006b22 call  0x00006419 
+ 00025676  0x00006b23 branch  0x00006446 
+ 00025677  0x00006b28 call  0x00007f99 
+ 00025678  0x00006b29 setarg  0x00001000 
+ 00025679  0x00006b2a store  0x00000002 , 0x000001f7 
+ 00025680  0x00006b2b arg  0x000065e5 , 0x00000013 
+ 00025681  0x00006b2c arg  0x00000002 , 0x00000039 
+ 00025682  0x00006b2e call  0x0000641e 
+ 00025683  0x00006b2f nrtn  0x00000005 
+ 00025684  0x00006b30 fetch  0x00000002 , 0x000001f7 
+ 00025685  0x00006b31 byteswap  0x0000003f , 0x0000003f 
+ 00025686  0x00006b32 iadd  0x00000002 , 0x0000003f 
+ 00025687  0x00006b33 byteswap  0x0000003f , 0x0000003f 
+ 00025688  0x00006b34 store  0x00000002 , 0x000001f7 
+ 00025689  0x00006b35 loop  0x00006452 
+ 00025690  0x00006b36 branch  0x00006446 
+ 00025691  0x00006b39 call  0x00007f99 
+ 00025692  0x00006b3a disable  0x00000028 
+ 00025693  0x00006b3b call  0x0000666a 
+ 00025694  0x00006b3c setarg  0x00000000 
+ 00025695  0x00006b3d arg  0x000001f3 , 0x00000011 
+ 00025696  0x00006b3e arg  0x00000002 , 0x00000002 
+ 00025697  0x00006b3f call  0x000066b3 
+ 00025698  0x00006b40 fetch  0x00000002 , 0x000001f3 
+ 00025699  0x00006b41 bbit0  0x00000007 , 0x0000646e 
+ 00025700  0x00006b42 jam  0x00000025 , 0x00008050 
+ 00025701  0x00006b43 setarg  0x000007f0 
+ 00025702  0x00006b44 arg  0x00000206 , 0x00000011 
+ 00025703  0x00006b45 arg  0x00000010 , 0x00000002 
+ 00025704  0x00006b46 call  0x000066b3 
+ 00025705  0x00006b47 jam  0x00000008 , 0x00008006 
+ 00025706  0x00006b48 set1  0x0000002b , 0x00000000 
+ 00025707  0x00006b49 arg  0x00000206 , 0x00000006 
+ 00025708  0x00006b4a call  0x00007484 
+ 00025709  0x00006b4b enable  0x00000028 
+ 00025710  0x00006b4d jam  0x00000000 , 0x000041da 
+ 00025711  0x00006b4f call  0x000064b0 
+ 00025712  0x00006b50 fetch  0x00000002 , 0x000001f3 
+ 00025713  0x00006b51 byteswap  0x0000003f , 0x0000003f 
+ 00025714  0x00006b52 arg  0x000007ff , 0x00000002 
+ 00025715  0x00006b53 iand  0x00000002 , 0x0000003f 
+ 00025716  0x00006b54 branch  0x0000647b , 0x00000005 
+ 00025717  0x00006b55 call  0x0000666f 
+ 00025718  0x00006b56 arg  0x000066b8 , 0x00000013 
+ 00025719  0x00006b57 call  0x00006430 , 0x00000028 
+ 00025720  0x00006b58 call  0x0000643c 
+ 00025721  0x00006b59 fetch  0x00000001 , 0x000001f2 
+ 00025722  0x00006b5a bbit0  0x00000000 , 0x0000646f 
+ 00025723  0x00006b5d call  0x0000666d 
+ 00025724  0x00006b5e jam  0x00000000 , 0x000041da 
+ 00025725  0x00006b60 call  0x000064b0 
+ 00025726  0x00006b61 call  0x000065c2 
+ 00025727  0x00006b62 fetch  0x00000001 , 0x000001f3 
+ 00025728  0x00006b63 bbit1  0x00000006 , 0x0000648e 
+ 00025729  0x00006b64 call  0x000064aa 
+ 00025730  0x00006b65 nbranch  0x00006486 , 0x0000002d 
+ 00025731  0x00006b66 fetch  0x00000001 , 0x000001f2 
+ 00025732  0x00006b67 bbit0  0x00000000 , 0x0000647d 
+ 00025733  0x00006b68 branch  0x0000649b 
+ 00025734  0x00006b6a call  0x000065bf 
+ 00025735  0x00006b6b fetch  0x00000001 , 0x000001f3 
+ 00025736  0x00006b6c bbit1  0x00000006 , 0x0000648e 
+ 00025737  0x00006b6d call  0x000064aa 
+ 00025738  0x00006b6e nbranch  0x0000648e , 0x0000002d 
+ 00025739  0x00006b6f fetch  0x00000001 , 0x000001f2 
+ 00025740  0x00006b70 bbit0  0x00000000 , 0x0000647d 
+ 00025741  0x00006b71 branch  0x0000649b 
+ 00025742  0x00006b74 jam  0x00000000 , 0x000041da 
+ 00025743  0x00006b76 call  0x000064b0 
+ 00025744  0x00006b77 fetch  0x00000001 , 0x000001f3 
+ 00025745  0x00006b78 bbit1  0x00000005 , 0x0000649b 
+ 00025746  0x00006b79 setarg  0x00000000 
+ 00025747  0x00006b7a store  0x00000003 , 0x000001f6 
+ 00025748  0x00006b7b call  0x00006502 
+ 00025749  0x00006b7c arg  0x00006578 , 0x00000013 
+ 00025750  0x00006b7d call  0x00006429 
+ 00025751  0x00006b7e call  0x0000643c 
+ 00025752  0x00006b7f nbranch  0x0000649b , 0x0000002d 
+ 00025753  0x00006b80 fetch  0x00000001 , 0x000001f2 
+ 00025754  0x00006b81 bbit0  0x00000000 , 0x0000648f 
+ 00025755  0x00006b84 bmark1  0x0000002b , 0x0000649d 
+ 00025756  0x00006b85 call  0x000064a3 
+ 00025757  0x00006b87 fetch  0x00000001 , 0x000001f3 
+ 00025758  0x00006b88 bbit0  0x00000004 , 0x000064a3 
+ 00025759  0x00006b89 jam  0x00000021 , 0x00008050 
+ 00025760  0x00006b8a call  0x00004c0e 
+ 00025761  0x00006b8c call  0x00004c2e 
+ 00025762  0x00006b8d branch  0x000064a1 
+ 00025763  0x00006b90 setarg  0x00000000 
+ 00025764  0x00006b91 store  0x00000008 , 0x00000206 
+ 00025765  0x00006b92 store  0x00000008 , 0x0000020e 
+ 00025766  0x00006b93 force  0x00000004 , 0x00000038 
+ 00025767  0x00006b94 call  0x00007492 
+ 00025768  0x00006b95 jam  0x00000021 , 0x00008050 
+ 00025769  0x00006b96 rtn 
+ 00025770  0x00006b9a setarg  0x00000000 
+ 00025771  0x00006b9b store  0x00000002 , 0x000001f7 
+ 00025772  0x00006b9c arg  0x000065e5 , 0x00000013 
+ 00025773  0x00006b9d call  0x000065a3 
+ 00025774  0x00006b9e call  0x00006429 
+ 00025775  0x00006b9f branch  0x0000643c 
+ 00025776  0x00006ba3 fetch  0x00000001 , 0x000041da 
+ 00025777  0x00006ba4 increase  0x00000001 , 0x0000003f 
+ 00025778  0x00006ba5 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00025779  0x00006ba6 nbranch  0x000064b6 , 0x00000002 
+ 00025780  0x00006ba7 store  0x00000001 , 0x000041da 
+ 00025781  0x00006ba8 rtn 
+ 00025782  0x00006bab call  0x000064a3 
+ 00025783  0x00006bac call  0x00007fa1 
+ 00025784  0x00006bad rtn 
+ 00025785  0x00006bb2 fetch  0x00000001 , 0x000001f2 
+ 00025786  0x00006bb3 lshift  0x0000003f , 0x0000003f 
+ 00025787  0x00006bb4 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025788  0x00006bb5 isolate0  0x0000000f , 0x00000011 
+ 00025789  0x00006bb6 rtn  0x00000001 
+ 00025790  0x00006bb7 store  0x00000001 , 0x000001f2 
+ 00025791  0x00006bb8 rtn 
+ 00025792  0x00006bbc hfetch  0x00000001 , 0x00008085 
+ 00025793  0x00006bbd rtnbit0  0x00000001 
+ 00025794  0x00006bbe branch  0x000064c6 
+ 00025795  0x00006bc0 hfetch  0x00000001 , 0x0000812c 
+ 00025796  0x00006bc1 qisolate1  0x0000003f 
+ 00025797  0x00006bc2 rtn  0x00000001 
+ 00025798  0x00006bc4 hfetch  0x00000001 , 0x00008108 
+ 00025799  0x00006bc5 bbit0  0x00000001 , 0x000064c3 
+ 00025800  0x00006bc6 call  0x00007422 
+ 00025801  0x00006bc7 branch  0x000064c3 
+ 00025802  0x00006bcc fetch  0x00000002 , 0x00004199 
+ 00025803  0x00006bcd rtn  0x00000034 
+ 00025804  0x00006bce jam  0x00000080 , 0x00008023 
+ 00025805  0x00006bcf jam  0x00000000 , 0x00008022 
+ 00025806  0x00006bd0 jam  0x00000000 , 0x00008024 
+ 00025807  0x00006bd1 fetcht  0x00000002 , 0x0000419b 
+ 00025808  0x00006bd2 lshift2  0x00000002 , 0x00000039 
+ 00025809  0x00006bd3 iforce  0x00000006 
+ 00025810  0x00006bd5 ifetch  0x00000001 , 0x00000006 
+ 00025811  0x00006bd6 hstore  0x00000001 , 0x00008025 
+ 00025812  0x00006bd7 loop  0x000064d2 
+ 00025813  0x00006bd8 jam  0x00000000 , 0x00008023 
+ 00025814  0x00006bd9 rtn 
+ 00025815  0x00006bdf bpatchx  0x0000008d , 0x00004031 
+ 00025816  0x00006be0 call  0x000064dd 
+ 00025817  0x00006be1 branch  0x000063f2 
+ 00025818  0x00006be4 call  0x000064dd 
+ 00025819  0x00006be5 call  0x000063ee 
+ 00025820  0x00006be6 branch  0x000063f6 
+ 00025821  0x00006be9 fetch  0x00000001 , 0x00004212 
+ 00025822  0x00006bea hstore  0x00000001 , 0x00008086 
+ 00025823  0x00006beb fetch  0x00000001 , 0x00004213 
+ 00025824  0x00006bec hstore  0x00000001 , 0x00008087 
+ 00025825  0x00006bed setarg  0x000001f5 
+ 00025826  0x00006bee hstore  0x00000002 , 0x0000808a 
+ 00025827  0x00006bef setarg  0x000001fa 
+ 00025828  0x00006bf0 hstore  0x00000002 , 0x0000808c 
+ 00025829  0x00006bf1 branch  0x000063ee 
+ 00025830  0x00006bf4 hfetch  0x00000001 , 0x00008086 
+ 00025831  0x00006bf5 set1  0x00000007 , 0x0000003f 
+ 00025832  0x00006bf6 hstore  0x00000001 , 0x00008086 
+ 00025833  0x00006bf7 set0  0x00000007 , 0x0000003f 
+ 00025834  0x00006bf8 hstore  0x00000001 , 0x00008086 
+ 00025835  0x00006bf9 rtn 
+ 00025836  0x00006bfe set1  0x00000007 , 0x0000003f 
+ 00025837  0x00006bff store  0x00000002 , 0x000001f5 
+ 00025838  0x00006c00 bpatchx  0x0000008e , 0x00004031 
+ 00025839  0x00006c01 jam  0x00000002 , 0x00008088 
+ 00025840  0x00006c02 jam  0x00000000 , 0x0000808e 
+ 00025841  0x00006c03 jam  0x00000002 , 0x00008006 
+ 00025842  0x00006c04 branch  0x000064fc 
+ 00025843  0x00006c08 force  0x00000001 , 0x00000002 
+ 00025844  0x00006c0c store  0x00000001 , 0x000001f5 
+ 00025845  0x00006c0d bpatchx  0x0000008f , 0x00004031 
+ 00025846  0x00006c0e jam  0x00000001 , 0x00008088 
+ 00025847  0x00006c0f hstoret  0x00000002 , 0x0000808e 
+ 00025848  0x00006c10 jam  0x00000002 , 0x00008006 
+ 00025849  0x00006c11 call  0x000064fc 
+ 00025850  0x00006c12 fetch  0x00000001 , 0x000001fa 
+ 00025851  0x00006c13 rtn 
+ 00025852  0x00006c16 fetch  0x00000002 , 0x000040d6 
+ 00025853  0x00006c17 increase  0x00000001 , 0x0000003f 
+ 00025854  0x00006c18 store  0x00000002 , 0x000040d6 
+ 00025855  0x00006c19 hfetch  0x00000001 , 0x0000812c 
+ 00025856  0x00006c1a bbit0  0x00000003 , 0x000064fc 
+ 00025857  0x00006c1b rtn 
+ 00025858  0x00006c1e jam  0x00000040 , 0x00008086 
+ 00025859  0x00006c1f jam  0x00000000 , 0x00008087 
+ 00025860  0x00006c20 hfetch  0x00000001 , 0x00008081 
+ 00025861  0x00006c21 set0  0x00000000 , 0x0000003f 
+ 00025862  0x00006c22 set1  0x00000001 , 0x0000003f 
+ 00025863  0x00006c23 hstore  0x00000001 , 0x00008081 
+ 00025864  0x00006c24 setarg  0x00000000 
+ 00025865  0x00006c25 store  0x00000004 , 0x000001f5 
+ 00025866  0x00006c26 rtn 
+ 00025867  0x00006c2a setarg  0x00000000 
+ 00025868  0x00006c2b hstore  0x00000002 , 0x0000808e 
+ 00025869  0x00006c2c setarg  0x00000001 
+ 00025870  0x00006c2d hstore  0x00000002 , 0x00008088 
+ 00025871  0x00006c2e setarg  0x000001f5 
+ 00025872  0x00006c2f hstore  0x00000002 , 0x0000808a 
+ 00025873  0x00006c30 jam  0x00000006 , 0x000001f5 
+ 00025874  0x00006c31 jam  0x00000002 , 0x00008006 
+ 00025875  0x00006c32 branch  0x000064fc 
+ 00025876  0x00006c42 disable  0x00000028 
+ 00025877  0x00006c43 copy  0x0000003f , 0x00000012 
+ 00025878  0x00006c44 fetch  0x00000001 , 0x00004239 
+ 00025879  0x00006c45 rtnne  0x00000000 
+ 00025880  0x00006c46 enable  0x00000028 
+ 00025881  0x00006c47 copy  0x00000012 , 0x0000003f 
+ 00025882  0x00006c48 branch  0x00006522 
+ 00025883  0x00006c4c fetch  0x00000001 , 0x00004239 
+ 00025884  0x00006c4d beq  0x00000001 , 0x00006522 
+ 00025885  0x00006c4e beq  0x00000002 , 0x00006528 
+ 00025886  0x00006c4f beq  0x00000003 , 0x00006530 
+ 00025887  0x00006c50 beq  0x00000004 , 0x00006537 
+ 00025888  0x00006c51 beq  0x00000005 , 0x0000653d 
+ 00025889  0x00006c52 rtn 
+ 00025890  0x00006c55 store  0x00000003 , 0x00004232 
+ 00025891  0x00006c56 copy  0x00000011 , 0x0000003f 
+ 00025892  0x00006c57 store  0x00000002 , 0x00004235 
+ 00025893  0x00006c58 storet  0x00000002 , 0x00004237 
+ 00025894  0x00006c59 jam  0x00000002 , 0x00004239 
+ 00025895  0x00006c5a branch  0x00006502 
+ 00025896  0x00006c5c call  0x00006502 
+ 00025897  0x00006c5d jam  0x00000003 , 0x00004239 
+ 00025898  0x00006c5e call  0x0000650b 
+ 00025899  0x00006c5f arg  0x000001f5 , 0x00000011 
+ 00025900  0x00006c60 fetch  0x00000003 , 0x00004232 
+ 00025901  0x00006c61 jam  0x00000004 , 0x00008088 
+ 00025902  0x00006c62 arg  0x00000020 , 0x00000002 
+ 00025903  0x00006c63 branch  0x00006556 
+ 00025904  0x00006c66 call  0x00006502 
+ 00025905  0x00006c67 call  0x0000650b 
+ 00025906  0x00006c68 setarg  0x00000005 
+ 00025907  0x00006c69 call  0x000064f3 
+ 00025908  0x00006c6a rtnbit1  0x00000000 
+ 00025909  0x00006c6b jam  0x00000004 , 0x00004239 
+ 00025910  0x00006c6c rtn 
+ 00025911  0x00006c6e call  0x00006502 
+ 00025912  0x00006c6f jam  0x00000005 , 0x00004239 
+ 00025913  0x00006c70 call  0x0000650b 
+ 00025914  0x00006c71 call  0x0000654a 
+ 00025915  0x00006c72 call  0x00006552 
+ 00025916  0x00006c73 branch  0x00006545 
+ 00025917  0x00006c75 call  0x00006502 
+ 00025918  0x00006c76 call  0x0000650b 
+ 00025919  0x00006c77 setarg  0x00000005 
+ 00025920  0x00006c78 call  0x000064f3 
+ 00025921  0x00006c79 rtnbit1  0x00000000 
+ 00025922  0x00006c7a jam  0x00000000 , 0x00004239 
+ 00025923  0x00006c7b fetch  0x00000002 , 0x00004201 
+ 00025924  0x00006c7c branch  0x00007f9c 
+ 00025925  0x00006c7e fetch  0x00000004 , 0x00000aa2 
+ 00025926  0x00006c7f fetcht  0x00000002 , 0x00004235 
+ 00025927  0x00006c80 increase  0xfffffffc , 0x00000002 
+ 00025928  0x00006c81 istore  0x00000004 , 0x00000002 
+ 00025929  0x00006c82 rtn 
+ 00025930  0x00006c84 fetcht  0x00000002 , 0x00004235 
+ 00025931  0x00006c85 copy  0x00000002 , 0x00000011 
+ 00025932  0x00006c86 increase  0xfffffffc , 0x00000002 
+ 00025933  0x00006c87 ifetch  0x00000004 , 0x00000002 
+ 00025934  0x00006c88 store  0x00000004 , 0x00000aa2 
+ 00025935  0x00006c89 fetcht  0x00000002 , 0x00004237 
+ 00025936  0x00006c8a fetch  0x00000003 , 0x00004232 
+ 00025937  0x00006c8b rtn 
+ 00025938  0x00006c90 increase  0x00000004 , 0x00000002 
+ 00025939  0x00006c91 hstoret  0x00000002 , 0x00008088 
+ 00025940  0x00006c92 arg  0x00000002 , 0x00000002 
+ 00025941  0x00006c93 increase  0xfffffffc , 0x00000011 
+ 00025942  0x00006c96 istoret  0x00000001 , 0x00000011 
+ 00025943  0x00006c97 rshift16  0x0000003f , 0x00000002 
+ 00025944  0x00006c98 istoret  0x00000001 , 0x00000005 
+ 00025945  0x00006c99 rshift8  0x0000003f , 0x00000002 
+ 00025946  0x00006c9a istoret  0x00000001 , 0x00000005 
+ 00025947  0x00006c9b istore  0x00000001 , 0x00000005 
+ 00025948  0x00006c9c deposit  0x00000011 
+ 00025949  0x00006c9d hstore  0x00000002 , 0x0000808a 
+ 00025950  0x00006c9e setarg  0x00000000 
+ 00025951  0x00006c9f hstore  0x00000002 , 0x0000808e 
+ 00025952  0x00006ca0 jam  0x00000002 , 0x00008006 
+ 00025953  0x00006ca1 branch  0x000064fc 
+ 00025954  0x00006ca6 hstoret  0x00000002 , 0x0000808e 
+ 00025955  0x00006ca7 rshift16  0x0000003f , 0x00000002 
+ 00025956  0x00006ca8 storet  0x00000001 , 0x000001f6 
+ 00025957  0x00006ca9 rshift8  0x0000003f , 0x00000002 
+ 00025958  0x00006caa storet  0x00000001 , 0x000001f7 
+ 00025959  0x00006cab store  0x00000001 , 0x000001f8 
+ 00025960  0x00006cac setarg  0x00000004 
+ 00025961  0x00006cad hstore  0x00000002 , 0x00008088 
+ 00025962  0x00006cae jam  0x00000003 , 0x000001f5 
+ 00025963  0x00006caf setarg  0x000001f5 
+ 00025964  0x00006cb0 hstore  0x00000002 , 0x0000808a 
+ 00025965  0x00006cb1 deposit  0x00000011 
+ 00025966  0x00006cb2 hstore  0x00000002 , 0x0000808c 
+ 00025967  0x00006cb3 hfetch  0x00000001 , 0x00008086 
+ 00025968  0x00006cb4 isolate0  0x0000000f , 0x00000011 
+ 00025969  0x00006cb5 setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025970  0x00006cb6 hstore  0x00000001 , 0x00008086 
+ 00025971  0x00006cb7 jam  0x00000002 , 0x00008006 
+ 00025972  0x00006cb9 hfetch  0x00000001 , 0x0000812c 
+ 00025973  0x00006cba bbit1  0x00000007 , 0x00006574 
+ 00025974  0x00006cbb arg  0x00000003 , 0x00000007 
+ 00025975  0x00006cbc branch  0x000064fc 
+ 00025976  0x00006cc1 hstoret  0x00000002 , 0x0000808e 
+ 00025977  0x00006cc2 setarg  0x00000004 
+ 00025978  0x00006cc3 hstore  0x00000002 , 0x00008088 
+ 00025979  0x00006cc4 jam  0x00000003 , 0x000001f5 
+ 00025980  0x00006cc5 setarg  0x000001f5 
+ 00025981  0x00006cc6 hstore  0x00000002 , 0x0000808a 
+ 00025982  0x00006cc7 deposit  0x00000011 
+ 00025983  0x00006cc8 hstore  0x00000002 , 0x0000808c 
+ 00025984  0x00006cc9 hfetch  0x00000001 , 0x00008086 
+ 00025985  0x00006cca isolate0  0x0000000f , 0x00000011 
+ 00025986  0x00006ccb setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025987  0x00006ccc hstore  0x00000001 , 0x00008086 
+ 00025988  0x00006ccd jam  0x00000002 , 0x00008006 
+ 00025989  0x00006ccf hfetch  0x00000001 , 0x0000812c 
+ 00025990  0x00006cd0 bbit1  0x00000007 , 0x00006585 
+ 00025991  0x00006cd1 arg  0x00000003 , 0x00000007 
+ 00025992  0x00006cd2 call  0x000064c0 
+ 00025993  0x00006cd3 call  0x000064fc 
+ 00025994  0x00006cd4 isolate1  0x00000002 , 0x0000003f 
+ 00025995  0x00006cd5 call  0x000064b9 
+ 00025996  0x00006cd6 fetch  0x00000001 , 0x000001f6 
+ 00025997  0x00006cd7 lshift16  0x0000003f , 0x00000012 
+ 00025998  0x00006cd8 fetch  0x00000001 , 0x000001f7 
+ 00025999  0x00006cd9 lshift8  0x0000003f , 0x0000003f 
+ 00026000  0x00006cda ior  0x00000012 , 0x00000012 
+ 00026001  0x00006cdb fetch  0x00000001 , 0x000001f8 
+ 00026002  0x00006cdc ior  0x00000012 , 0x0000003f 
+ 00026003  0x00006cdd iadd  0x00000002 , 0x0000003f 
+ 00026004  0x00006cde store  0x00000001 , 0x000001f8 
+ 00026005  0x00006cdf rshift8  0x0000003f , 0x0000003f 
+ 00026006  0x00006ce0 store  0x00000001 , 0x000001f7 
+ 00026007  0x00006ce1 rshift8  0x0000003f , 0x0000003f 
+ 00026008  0x00006ce2 store  0x00000001 , 0x000001f6 
+ 00026009  0x00006ce3 rtn 
+ 00026010  0x00006ce9 jam  0x00000001 , 0x00008010 
+ 00026011  0x00006cea rtn 
+ 00026012  0x00006cf1 jam  0x0000000c , 0x00008091 
+ 00026013  0x00006cf2 jam  0x0000000d , 0x00008092 
+ 00026014  0x00006cf3 jam  0x0000000d , 0x00008093 
+ 00026015  0x00006cf4 jam  0x0000000d , 0x00008094 
+ 00026016  0x00006cf5 jam  0x0000000d , 0x00008095 
+ 00026017  0x00006cf6 jam  0x0000000c , 0x00008096 
+ 00026018  0x00006cf7 branch  0x000065a9 
+ 00026019  0x00006cfb jam  0x00000005 , 0x00008091 
+ 00026020  0x00006cfc jam  0x00000007 , 0x00008092 
+ 00026021  0x00006cfd jam  0x00000007 , 0x00008093 
+ 00026022  0x00006cfe jam  0x00000007 , 0x00008094 
+ 00026023  0x00006cff jam  0x00000007 , 0x00008095 
+ 00026024  0x00006d00 jam  0x00000005 , 0x00008096 
+ 00026025  0x00006d02 hfetch  0x00000001 , 0x0000807b 
+ 00026026  0x00006d03 or_into  0x000000c0 , 0x0000003f 
+ 00026027  0x00006d04 hstore  0x00000001 , 0x0000807b 
+ 00026028  0x00006d05 hfetch  0x00000001 , 0x00008081 
+ 00026029  0x00006d06 or_into  0x00000010 , 0x0000003f 
+ 00026030  0x00006d07 hstore  0x00000001 , 0x00008081 
+ 00026031  0x00006d08 rtn 
+ 00026032  0x00006d0d hfetch  0x00000001 , 0x0000812c 
+ 00026033  0x00006d0e bbit0  0x00000005 , 0x000065b0 
+ 00026034  0x00006d0f rtn 
+ 00026035  0x00006d18 hstore  0x00000002 , 0x00008098 
+ 00026036  0x00006d19 deposit  0x00000011 
+ 00026037  0x00006d1a hstore  0x00000002 , 0x0000809a 
+ 00026038  0x00006d1b deposit  0x00000012 
+ 00026039  0x00006d1c hstore  0x00000002 , 0x0000809c 
+ 00026040  0x00006d1d deposit  0x00000002 
+ 00026041  0x00006d1e hstore  0x00000002 , 0x0000809e 
+ 00026042  0x00006d1f arg  0x00000001 , 0x00000002 
+ 00026043  0x00006d20 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00026044  0x00006d21 hstore  0x00000001 , 0x00008090 
+ 00026045  0x00006d22 jam  0x00000004 , 0x00008006 
+ 00026046  0x00006d23 branch  0x000065b0 
+ 00026047  0x00006d27 set1  0x00000028 , 0x00000000 
+ 00026048  0x00006d28 jam  0x00000008 , 0x00004211 
+ 00026049  0x00006d29 rtn 
+ 00026050  0x00006d2c set0  0x00000028 , 0x00000000 
+ 00026051  0x00006d2d jam  0x00000020 , 0x00004211 
+ 00026052  0x00006d2e rtn 
+ 00026053  0x00006d32 fetch  0x00000001 , 0x00004203 
+ 00026054  0x00006d33 iadd  0x00000012 , 0x0000003f 
+ 00026055  0x00006d34 store  0x00000001 , 0x000001f7 
+ 00026056  0x00006d35 branch  0x000065cc 
+ 00026057  0x00006d38 fetch  0x00000002 , 0x000001f7 
+ 00026058  0x00006d39 byteswap  0x0000003f , 0x0000003f 
+ 00026059  0x00006d3a store  0x00000001 , 0x000001f7 
+ 00026060  0x00006d40 setarg  0x00000003 
+ 00026061  0x00006d41 hstore  0x00000002 , 0x00008098 
+ 00026062  0x00006d42 jam  0x000000a0 , 0x000001f6 
+ 00026063  0x00006d43 jam  0x000000a1 , 0x000001f8 
+ 00026064  0x00006d44 branch  0x000065eb 
+ 00026065  0x00006d4b storet  0x00000002 , 0x00000aa2 
+ 00026066  0x00006d4c call  0x000065d6 
+ 00026067  0x00006d4d fetcht  0x00000002 , 0x00000aa2 
+ 00026068  0x00006d4e call  0x00006606 
+ 00026069  0x00006d4f branch  0x000065dd 
+ 00026070  0x00006d52 fetch  0x00000001 , 0x0000423a 
+ 00026071  0x00006d53 rtneq  0x000000ff 
+ 00026072  0x00006d54 bbit0  0x00000006 , 0x000065db 
+ 00026073  0x00006d55 setarg  0x000249f0 
+ 00026074  0x00006d56 call  0x00002a8f 
+ 00026075  0x00006d58 fetcht  0x00000001 , 0x0000423a 
+ 00026076  0x00006d59 branch  0x00006829 
+ 00026077  0x00006d5c fetcht  0x00000001 , 0x0000423a 
+ 00026078  0x00006d5d branch  0x00006825 
+ 00026079  0x00006d63 bpatchx  0x00000090 , 0x00004032 
+ 00026080  0x00006d64 bmark1  0x00000028 , 0x000065c5 
+ 00026081  0x00006d65 fetch  0x00000002 , 0x00004203 
+ 00026082  0x00006d66 iadd  0x00000012 , 0x0000003f 
+ 00026083  0x00006d67 byteswap  0x0000003f , 0x0000003f 
+ 00026084  0x00006d68 store  0x00000002 , 0x000001f7 
+ 00026085  0x00006d6c bpatchx  0x00000091 , 0x00004032 
+ 00026086  0x00006d6d bmark1  0x00000028 , 0x000065c9 
+ 00026087  0x00006d6e setarg  0x00000004 
+ 00026088  0x00006d6f hstore  0x00000002 , 0x00008098 
+ 00026089  0x00006d70 jam  0x000000a0 , 0x000001f6 
+ 00026090  0x00006d71 jam  0x000000a1 , 0x000001f9 
+ 00026091  0x00006d73 setarg  0x000001f6 
+ 00026092  0x00006d74 hstore  0x00000002 , 0x0000809a 
+ 00026093  0x00006d75 hstoret  0x00000002 , 0x0000809e 
+ 00026094  0x00006d76 deposit  0x00000011 
+ 00026095  0x00006d77 hstore  0x00000002 , 0x0000809c 
+ 00026096  0x00006d78 setarg  0x00000002 
+ 00026097  0x00006d79 isolate0  0x0000000f , 0x00000011 
+ 00026098  0x00006d7a setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026099  0x00006d7b hstore  0x00000001 , 0x00008090 
+ 00026100  0x00006d7c jam  0x00000004 , 0x00008006 
+ 00026101  0x00006d7d arg  0x00000005 , 0x00000007 
+ 00026102  0x00006d7e call  0x000064c0 
+ 00026103  0x00006d7f call  0x000065b0 
+ 00026104  0x00006d80 isolate1  0x00000004 , 0x0000003f 
+ 00026105  0x00006d81 call  0x000064b9 
+ 00026106  0x00006d82 bmark1  0x00000028 , 0x00006601 
+ 00026107  0x00006d83 fetch  0x00000002 , 0x000001f7 
+ 00026108  0x00006d84 byteswap  0x0000003f , 0x0000003f 
+ 00026109  0x00006d85 iadd  0x00000002 , 0x0000003f 
+ 00026110  0x00006d86 byteswap  0x0000003f , 0x0000003f 
+ 00026111  0x00006d87 store  0x00000002 , 0x000001f7 
+ 00026112  0x00006d88 rtn 
+ 00026113  0x00006d8b fetch  0x00000001 , 0x000001f7 
+ 00026114  0x00006d8c iadd  0x00000002 , 0x0000003f 
+ 00026115  0x00006d8d byteswap  0x0000003f , 0x0000003f 
+ 00026116  0x00006d8e store  0x00000002 , 0x000001f7 
+ 00026117  0x00006d8f rtn 
+ 00026118  0x00006d96 fetch  0x00000002 , 0x00004203 
+ 00026119  0x00006d97 iadd  0x00000012 , 0x0000003f 
+ 00026120  0x00006d9b store  0x00000002 , 0x00000a9a 
+ 00026121  0x00006d9c bpatchx  0x00000092 , 0x00004032 
+ 00026122  0x00006d9d storet  0x00000002 , 0x00000aa2 
+ 00026123  0x00006d9e copy  0x00000011 , 0x0000003f 
+ 00026124  0x00006d9f store  0x00000002 , 0x00000ab9 
+ 00026125  0x00006da1 call  0x0000661d 
+ 00026126  0x00006da3 fetcht  0x00000002 , 0x00000ab2 
+ 00026127  0x00006da4 fetch  0x00000002 , 0x00000ab9 
+ 00026128  0x00006da5 copy  0x0000003f , 0x00000011 
+ 00026129  0x00006da6 fetch  0x00000002 , 0x00000a9a 
+ 00026130  0x00006da8 call  0x0000663d 
+ 00026131  0x00006daa fetch  0x00000002 , 0x00000ab2 
+ 00026132  0x00006dab fetcht  0x00000002 , 0x00000ab9 
+ 00026133  0x00006dac iadd  0x00000002 , 0x00000002 
+ 00026134  0x00006dad storet  0x00000002 , 0x00000ab9 
+ 00026135  0x00006dae fetcht  0x00000002 , 0x00000a9a 
+ 00026136  0x00006daf iadd  0x00000002 , 0x00000002 
+ 00026137  0x00006db0 storet  0x00000002 , 0x00000a9a 
+ 00026138  0x00006db1 fetch  0x00000002 , 0x00000aa2 
+ 00026139  0x00006db2 nbranch  0x0000660d , 0x00000034 
+ 00026140  0x00006db3 rtn 
+ 00026141  0x00006dbc bpatchx  0x00000093 , 0x00004032 
+ 00026142  0x00006dbd fetch  0x00000001 , 0x00004211 
+ 00026143  0x00006dbe increase  0xffffffff , 0x0000003f 
+ 00026144  0x00006dbf fetcht  0x00000002 , 0x00000a9a 
+ 00026145  0x00006dc0 ior  0x00000002 , 0x0000003f 
+ 00026146  0x00006dc1 increase  0x00000001 , 0x0000003f 
+ 00026147  0x00006dc2 store  0x00000003 , 0x00000ab6 
+ 00026148  0x00006dc4 fetch  0x00000002 , 0x00000aa2 
+ 00026149  0x00006dc5 iadd  0x00000002 , 0x0000003f 
+ 00026150  0x00006dc7 fetcht  0x00000003 , 0x00000ab6 
+ 00026151  0x00006dc8 isub  0x00000002 , 0x0000003f 
+ 00026152  0x00006dc9 nbranch  0x0000662f , 0x00000002 
+ 00026153  0x00006dca store  0x00000002 , 0x00000aa2 
+ 00026154  0x00006dcb fetch  0x00000003 , 0x00000ab6 
+ 00026155  0x00006dcc fetcht  0x00000002 , 0x00000a9a 
+ 00026156  0x00006dcd isub  0x00000002 , 0x0000003f 
+ 00026157  0x00006dce store  0x00000002 , 0x00000ab2 
+ 00026158  0x00006dcf rtn 
+ 00026159  0x00006dd1 fetch  0x00000002 , 0x00000aa2 
+ 00026160  0x00006dd2 store  0x00000002 , 0x00000ab2 
+ 00026161  0x00006dd3 setarg  0x00000000 
+ 00026162  0x00006dd4 store  0x00000002 , 0x00000aa2 
+ 00026163  0x00006dd5 rtn 
+ 00026164  0x00006dd8 increase  0x00000002 , 0x00000002 
+ 00026165  0x00006dd9 hstoret  0x00000002 , 0x00008098 
+ 00026166  0x00006dda increase  0xfffffffe , 0x00000011 
+ 00026167  0x00006ddb ifetcht  0x00000003 , 0x00000011 
+ 00026168  0x00006ddc copy  0x00000002 , 0x00000012 
+ 00026169  0x00006ddd arg  0x000000a0 , 0x00000002 
+ 00026170  0x00006dde istoret  0x00000001 , 0x00000011 
+ 00026171  0x00006de0 istore  0x00000001 , 0x00000005 
+ 00026172  0x00006de1 branch  0x0000664a 
+ 00026173  0x00006de5 copy  0x0000003f , 0x00000012 
+ 00026174  0x00006de6 bpatchx  0x00000094 , 0x00004032 
+ 00026175  0x00006de7 bmark1  0x00000028 , 0x00006634 
+ 00026176  0x00006de8 copy  0x00000012 , 0x0000003f 
+ 00026177  0x00006de9 increase  0x00000003 , 0x00000002 
+ 00026178  0x00006dea hstoret  0x00000002 , 0x00008098 
+ 00026179  0x00006deb increase  0xfffffffd , 0x00000011 
+ 00026180  0x00006dec ifetcht  0x00000003 , 0x00000011 
+ 00026181  0x00006ded copy  0x00000002 , 0x00000012 
+ 00026182  0x00006dee arg  0x000000a0 , 0x00000002 
+ 00026183  0x00006def istoret  0x00000001 , 0x00000011 
+ 00026184  0x00006df0 byteswap  0x0000003f , 0x0000003f 
+ 00026185  0x00006df1 istore  0x00000002 , 0x00000005 
+ 00026186  0x00006df3 deposit  0x00000011 
+ 00026187  0x00006df4 hstore  0x00000002 , 0x0000809a 
+ 00026188  0x00006df5 setarg  0x00000000 
+ 00026189  0x00006df6 hstore  0x00000002 , 0x0000809e 
+ 00026190  0x00006df7 jam  0x00000001 , 0x00008090 
+ 00026191  0x00006df8 jam  0x00000004 , 0x00008006 
+ 00026192  0x00006df9 call  0x000065b0 
+ 00026193  0x00006dfa copy  0x00000012 , 0x0000003f 
+ 00026194  0x00006dfb istore  0x00000003 , 0x00000011 
+ 00026195  0x00006dfe bpatchx  0x00000095 , 0x00004032 
+ 00026196  0x00006dff jam  0x00000000 , 0x000001f9 
+ 00026197  0x00006e01 setarg  0x00000001 
+ 00026198  0x00006e02 hstore  0x00000002 , 0x00008098 
+ 00026199  0x00006e03 jam  0x000000a0 , 0x000001f6 
+ 00026200  0x00006e04 setarg  0x000001f6 
+ 00026201  0x00006e05 hstore  0x00000002 , 0x0000809a 
+ 00026202  0x00006e06 setarg  0x00000000 
+ 00026203  0x00006e07 hstore  0x00000002 , 0x0000809e 
+ 00026204  0x00006e08 hstore  0x00000002 , 0x0000809c 
+ 00026205  0x00006e09 setarg  0x00000003 
+ 00026206  0x00006e0a hstore  0x00000001 , 0x00008090 
+ 00026207  0x00006e0b jam  0x00000004 , 0x00008006 
+ 00026208  0x00006e0c call  0x000065b0 
+ 00026209  0x00006e0d hfetch  0x00000001 , 0x0000812c 
+ 00026210  0x00006e0e rtnbit0  0x00000006 
+ 00026211  0x00006e0f nop  0x000005dc 
+ 00026212  0x00006e10 fetch  0x00000001 , 0x000001f9 
+ 00026213  0x00006e11 increase  0x00000001 , 0x0000003f 
+ 00026214  0x00006e12 store  0x00000001 , 0x000001f9 
+ 00026215  0x00006e13 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00026216  0x00006e14 nrtn  0x00000002 
+ 00026217  0x00006e15 branch  0x00006655 
+ 00026218  0x00006e1a jam  0x00000070 , 0x00008973 
+ 00026219  0x00006e1b nop  0x00000bb8 
+ 00026220  0x00006e1c rtn 
+ 00026221  0x00006e1f jam  0x00000030 , 0x00008973 
+ 00026222  0x00006e20 rtn 
+ 00026223  0x00006e23 lshift3  0x0000003f , 0x0000003f 
+ 00026224  0x00006e24 hstore  0x00000002 , 0x00008045 
+ 00026225  0x00006e25 jam  0x00000000 , 0x0000804b 
+ 00026226  0x00006e26 rtn 
+ 00026227  0x00006e2a call  0x0000666f 
+ 00026228  0x00006e2b call  0x000066a0 
+ 00026229  0x00006e2d ifetcht  0x00000001 , 0x00000011 
+ 00026230  0x00006e2e increase  0x00000001 , 0x00000011 
+ 00026231  0x00006e2f force  0x00000000 , 0x00000007 
+ 00026232  0x00006e31 qisolate0  0x00000002 
+ 00026233  0x00006e32 branch  0x00006697 , 0x00000001 
+ 00026234  0x00006e33 hfetch  0x00000001 , 0x00008046 
+ 00026235  0x00006e34 set1  0x00000006 , 0x0000003f 
+ 00026236  0x00006e35 set1  0x00000007 , 0x0000003f 
+ 00026237  0x00006e36 hstore  0x00000001 , 0x00008046 
+ 00026238  0x00006e37 jam  0x00000002 , 0x00008047 
+ 00026239  0x00006e38 jam  0x00000082 , 0x00008047 
+ 00026240  0x00006e39 set0  0x00000007 , 0x0000003f 
+ 00026241  0x00006e3a hstore  0x00000001 , 0x00008046 
+ 00026242  0x00006e3b jam  0x0000008a , 0x00008047 
+ 00026243  0x00006e3c nop  0x0000000b 
+ 00026244  0x00006e3d jam  0x000000ca , 0x00008047 
+ 00026245  0x00006e3e nop  0x00000021 
+ 00026246  0x00006e3f jam  0x0000004a , 0x00008047 
+ 00026247  0x00006e40 nop  0x0000002c 
+ 00026248  0x00006e41 jam  0x000000ca , 0x00008047 
+ 00026249  0x00006e42 nop  0x00000016 
+ 00026250  0x00006e43 jam  0x0000008a , 0x00008047 
+ 00026251  0x00006e44 nop  0x00000021 
+ 00026252  0x00006e45 jam  0x00000082 , 0x00008047 
+ 00026253  0x00006e46 nop  0x00000001 
+ 00026254  0x00006e47 jam  0x00000092 , 0x00008047 
+ 00026255  0x00006e48 nop  0x0000000a 
+ 00026256  0x00006e49 jam  0x000000b2 , 0x00008047 
+ 00026257  0x00006e4a hfetch  0x00000001 , 0x00008007 
+ 00026258  0x00006e4b jam  0x00000092 , 0x00008047 
+ 00026259  0x00006e4c nop  0x00000001 
+ 00026260  0x00006e4d jam  0x00000082 , 0x00008047 
+ 00026261  0x00006e4e qisolate0  0x0000003f 
+ 00026262  0x00006e4f branch  0x00006678 , 0x00000001 
+ 00026263  0x00006e51 hfetch  0x00000002 , 0x00008045 
+ 00026264  0x00006e52 increase  0x00000001 , 0x0000003f 
+ 00026265  0x00006e53 hstore  0x00000002 , 0x00008045 
+ 00026266  0x00006e54 increase  0x00000001 , 0x00000007 
+ 00026267  0x00006e55 compare  0x00000008 , 0x00000007 , 0x0000000f 
+ 00026268  0x00006e56 nbranch  0x00006678 , 0x00000001 
+ 00026269  0x00006e57 loop  0x00006675 
+ 00026270  0x00006e58 jam  0x00000083 , 0x00008047 
+ 00026271  0x00006e59 rtn 
+ 00026272  0x00006e5c jam  0x00000082 , 0x00008047 
+ 00026273  0x00006e5d nop  0x0000000c 
+ 00026274  0x00006e5e jam  0x00000080 , 0x00008047 
+ 00026275  0x00006e5f jam  0x00000082 , 0x00008047 
+ 00026276  0x00006e60 nop  0x00000096 
+ 00026277  0x00006e61 rtn 
+ 00026278  0x00006e65 call  0x000066a0 
+ 00026279  0x00006e66 jam  0x000000a2 , 0x00008047 
+ 00026280  0x00006e67 deposit  0x00000011 
+ 00026281  0x00006e68 hstore  0x00000002 , 0x00008048 
+ 00026282  0x00006e69 set1  0x0000000b , 0x00000002 
+ 00026283  0x00006e6a isolate0  0x0000000f , 0x0000003f 
+ 00026284  0x00006e6b setflag  0x00000001 , 0x0000000f , 0x00000002 
+ 00026285  0x00006e6c hstoret  0x00000002 , 0x0000804a 
+ 00026286  0x00006e6d jam  0x00000001 , 0x00008006 
+ 00026287  0x00006e6e rtn 
+ 00026288  0x00006e71 hfetch  0x00000001 , 0x0000812c 
+ 00026289  0x00006e72 bbit0  0x00000001 , 0x000066b0 
+ 00026290  0x00006e73 rtn 
+ 00026291  0x00006e77 call  0x0000666f 
+ 00026292  0x00006e78 call  0x000066a6 
+ 00026293  0x00006e79 call  0x000066b0 
+ 00026294  0x00006e7a jam  0x00000083 , 0x00008047 
+ 00026295  0x00006e7b rtn 
+ 00026296  0x00006e81 hfetch  0x00000002 , 0x00008124 
+ 00026297  0x00006e82 hstore  0x00000002 , 0x00008045 
+ 00026298  0x00006e83 call  0x000066a6 
+ 00026299  0x00006e84 arg  0x00000001 , 0x00000007 
+ 00026300  0x00006e85 call  0x000064c0 
+ 00026301  0x00006e86 call  0x000066b0 
+ 00026302  0x00006e87 isolate1  0x00000000 , 0x0000003f 
+ 00026303  0x00006e88 call  0x000064b9 
+ 00026304  0x00006e89 jam  0x00000083 , 0x00008047 
+ 00026305  0x00006e8a rtn 
+ 00026306  0x00006e8e hfetch  0x00000002 , 0x0000805e 
+ 00026307  0x00006e8f iforce  0x0000000a 
+ 00026308  0x00006e90 rtn 
+ 00026309  0x00006e93 deposit  0x0000000a 
+ 00026310  0x00006e94 hstore  0x00000002 , 0x0000805e 
+ 00026311  0x00006e95 rtn 
+ 00026312  0x00006e98 deposit  0x00000003 
+ 00026313  0x00006e99 hstore  0x00000002 , 0x00008058 
+ 00026314  0x00006e9a rtn 
+ 00026315  0x00006e9d hfetch  0x00000002 , 0x00008058 
+ 00026316  0x00006e9e copy  0x0000003f , 0x00000003 
+ 00026317  0x00006e9f rtn 
+ 00026318  0x00006ea2 fetch  0x00000002 , 0x00004243 
+ 00026319  0x00006ea3 hstore  0x00000002 , 0x00008052 
+ 00026320  0x00006ea4 rtn 
+ 00026321  0x00006ea7 deposit  0x00000039 
+ 00026322  0x00006ea8 rtn  0x00000034 
+ 00026323  0x00006eaa increase  0xfffffff8 , 0x00000039 
+ 00026324  0x00006eab call  0x000066de , 0x00000002 
+ 00026325  0x00006eac rtn  0x00000005 
+ 00026326  0x00006ead branch  0x000066d3 , 0x00000002 
+ 00026327  0x00006eae increase  0x00000008 , 0x00000039 
+ 00026328  0x00006eb0 increase  0xfffffffc , 0x00000039 
+ 00026329  0x00006eb1 call  0x000066e1 , 0x00000002 
+ 00026330  0x00006eb2 rtn  0x00000005 
+ 00026331  0x00006eb3 branch  0x000066d8 , 0x00000002 
+ 00026332  0x00006eb4 increase  0x00000004 , 0x00000039 
+ 00026333  0x00006eb5 branch  0x000066e4 
+ 00026334  0x00006eb8 ifetch  0x00000008 , 0x00000006 
+ 00026335  0x00006eb9 istore  0x00000008 , 0x0000000a 
+ 00026336  0x00006eba rtn 
+ 00026337  0x00006ebd ifetch  0x00000004 , 0x00000006 
+ 00026338  0x00006ebe istore  0x00000004 , 0x0000000a 
+ 00026339  0x00006ebf rtn 
+ 00026340  0x00006ec2 deposit  0x00000039 
+ 00026341  0x00006ec3 rtn  0x00000034 
+ 00026342  0x00006ec5 ifetch  0x00000001 , 0x00000006 
+ 00026343  0x00006ec6 istore  0x00000001 , 0x0000000a 
+ 00026344  0x00006ec7 loop  0x000066e6 
+ 00026345  0x00006ec8 rtn 
+ 00026346  0x00006ecb deposit  0x00000039 
+ 00026347  0x00006ecc rtn  0x00000034 
+ 00026348  0x00006ece increase  0xfffffff8 , 0x00000039 
+ 00026349  0x00006ecf call  0x000066f7 , 0x00000002 
+ 00026350  0x00006ed0 rtn  0x00000005 
+ 00026351  0x00006ed1 branch  0x000066ec , 0x00000002 
+ 00026352  0x00006ed2 increase  0x00000008 , 0x00000039 
+ 00026353  0x00006ed4 increase  0xfffffffc , 0x00000039 
+ 00026354  0x00006ed5 call  0x000066fa , 0x00000002 
+ 00026355  0x00006ed6 rtn  0x00000005 
+ 00026356  0x00006ed7 branch  0x000066f1 , 0x00000002 
+ 00026357  0x00006ed8 increase  0x00000004 , 0x00000039 
+ 00026358  0x00006ed9 branch  0x000066fd 
+ 00026359  0x00006edc ifetch  0x00000008 , 0x00000003 
+ 00026360  0x00006edd istore  0x00000008 , 0x00000005 
+ 00026361  0x00006ede rtn 
+ 00026362  0x00006ee1 ifetch  0x00000004 , 0x00000003 
+ 00026363  0x00006ee2 istore  0x00000004 , 0x00000005 
+ 00026364  0x00006ee3 rtn 
+ 00026365  0x00006ee7 deposit  0x00000039 
+ 00026366  0x00006ee8 rtn  0x00000034 
+ 00026367  0x00006eea ifetch  0x00000001 , 0x00000003 
+ 00026368  0x00006eeb istore  0x00000001 , 0x00000005 
+ 00026369  0x00006eec loop  0x000066ff 
+ 00026370  0x00006eed rtn 
+ 00026371  0x00006ef1 deposit  0x00000039 
+ 00026372  0x00006ef2 rtn  0x00000034 
+ 00026373  0x00006ef4 ifetch  0x00000001 , 0x00000003 
+ 00026374  0x00006ef5 istore  0x00000001 , 0x0000000a 
+ 00026375  0x00006ef6 loop  0x00006705 
+ 00026376  0x00006ef7 rtn 
+ 00026377  0x00006efd jam  0x0000003d , 0x00000a99 
+ 00026378  0x00006efe branch  0x00007d86 
+ 00026379  0x00006f02 bpatchx  0x00000096 , 0x00004032 
+ 00026380  0x00006f03 fetch  0x00000001 , 0x00004217 
+ 00026381  0x00006f04 rtn  0x00000034 
+ 00026382  0x00006f05 call  0x000067a3 
+ 00026383  0x00006f06 call  0x000067a9 , 0x00000005 
+ 00026384  0x00006f07 call  0x0000673e 
+ 00026385  0x00006f09 fetch  0x00000001 , 0x00004217 
+ 00026386  0x00006f0a icopy  0x00000013 
+ 00026387  0x00006f0b fetcht  0x00000002 , 0x00004215 
+ 00026388  0x00006f0c storet  0x00000002 , 0x0000018c 
+ 00026389  0x00006f0e copy  0x00000013 , 0x0000003f 
+ 00026390  0x00006f0f branch  0x00006709 , 0x00000034 
+ 00026391  0x00006f10 increase  0xffffffff , 0x00000013 
+ 00026392  0x00006f11 copy  0x00000002 , 0x00000011 
+ 00026393  0x00006f12 ifetch  0x00000001 , 0x00000011 
+ 00026394  0x00006f13 fetcht  0x00000001 , 0x00000184 
+ 00026395  0x00006f14 isub  0x00000002 , 0x0000003e 
+ 00026396  0x00006f15 call  0x00006725 , 0x00000005 
+ 00026397  0x00006f16 branch  0x00006721 , 0x00000002 
+ 00026398  0x00006f17 ifetch  0x00000001 , 0x00000011 
+ 00026399  0x00006f18 increase  0x00000001 , 0x0000003f 
+ 00026400  0x00006f19 istore  0x00000001 , 0x00000011 
+ 00026401  0x00006f1b fetcht  0x00000002 , 0x0000018c 
+ 00026402  0x00006f1c increase  0x00000022 , 0x00000002 
+ 00026403  0x00006f1d storet  0x00000002 , 0x0000018c 
+ 00026404  0x00006f1e branch  0x00006715 
+ 00026405  0x00006f21 setarg  0x00000000 
+ 00026406  0x00006f22 istore  0x00000001 , 0x00000011 
+ 00026407  0x00006f23 fetch  0x00000001 , 0x00000185 
+ 00026408  0x00006f24 istore  0x00000001 , 0x00000005 
+ 00026409  0x00006f25 bne  0x00000033 , 0x00006733 
+ 00026410  0x00006f26 arg  0x000041be , 0x00000012 
+ 00026411  0x00006f28 ifetch  0x00000006 , 0x00000006 
+ 00026412  0x00006f29 istore  0x00000008 , 0x00000005 
+ 00026413  0x00006f2a setarg  0x00000000 
+ 00026414  0x00006f2b istore  0x00000008 , 0x00000005 
+ 00026415  0x00006f2c copy  0x00000012 , 0x00000006 
+ 00026416  0x00006f2e call  0x00007ebf 
+ 00026417  0x00006f2f force  0x00000001 , 0x0000003e 
+ 00026418  0x00006f30 rtn 
+ 00026419  0x00006f33 beq  0x00000036 , 0x00006737 
+ 00026420  0x00006f34 beq  0x00000037 , 0x0000673b 
+ 00026421  0x00006f35 arg  0x00004419 , 0x00000012 
+ 00026422  0x00006f36 branch  0x0000672b 
+ 00026423  0x00006f39 arg  0x000044d5 , 0x00000006 
+ 00026424  0x00006f3a call  0x00007ebf 
+ 00026425  0x00006f3c arg  0x00004419 , 0x00000006 
+ 00026426  0x00006f3d branch  0x00006730 
+ 00026427  0x00006f40 arg  0x000044cd , 0x00000006 
+ 00026428  0x00006f41 call  0x00007ebf 
+ 00026429  0x00006f42 branch  0x00006739 
+ 00026430  0x00006f46 call  0x00007fe9 
+ 00026431  0x00006f47 fetch  0x00000001 , 0x00004217 
+ 00026432  0x00006f48 rtn  0x00000034 
+ 00026433  0x00006f49 fetch  0x00000002 , 0x00004682 
+ 00026434  0x00006f4a bbit1  0x00000000 , 0x00006754 
+ 00026435  0x00006f4c bpatchx  0x00000097 , 0x00004032 
+ 00026436  0x00006f4d fetch  0x00000001 , 0x0000448e 
+ 00026437  0x00006f4e beq  0x00000000 , 0x0000674d 
+ 00026438  0x00006f4f fetch  0x00000001 , 0x00000454 
+ 00026439  0x00006f50 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026440  0x00006f51 branch  0x0000674d , 0x00000001 
+ 00026441  0x00006f52 compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026442  0x00006f53 branch  0x00006752 , 0x00000001 
+ 00026443  0x00006f54 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026444  0x00006f55 branch  0x00006750 , 0x00000001 
+ 00026445  0x00006f57 jam  0x00000035 , 0x00000185 
+ 00026446  0x00006f58 fetch  0x00000006 , 0x0000044f 
+ 00026447  0x00006f59 branch  0x00006757 
+ 00026448  0x00006f5c jam  0x00000037 , 0x00000185 
+ 00026449  0x00006f5d branch  0x00006757 
+ 00026450  0x00006f61 jam  0x00000036 , 0x00000185 
+ 00026451  0x00006f62 branch  0x00006757 
+ 00026452  0x00006f66 bpatchx  0x00000098 , 0x00004033 
+ 00026453  0x00006f67 jam  0x00000033 , 0x00000185 
+ 00026454  0x00006f68 fetch  0x00000006 , 0x00000040 
+ 00026455  0x00006f6a store  0x00000006 , 0x00000186 
+ 00026456  0x00006f6b fetch  0x00000002 , 0x00004215 
+ 00026457  0x00006f6c ifetcht  0x00000001 , 0x0000003f 
+ 00026458  0x00006f6d pincrease  0x00000001 
+ 00026459  0x00006f6e store  0x00000002 , 0x0000018c 
+ 00026460  0x00006f6f storet  0x00000001 , 0x00000184 
+ 00026461  0x00006f70 fetch  0x00000001 , 0x00004217 
+ 00026462  0x00006f71 icopy  0x00000013 
+ 00026463  0x00006f73 fetch  0x00000002 , 0x0000018c 
+ 00026464  0x00006f74 copy  0x0000003f , 0x00000011 
+ 00026465  0x00006f75 call  0x0000676f 
+ 00026466  0x00006f76 rtn  0x00000028 
+ 00026467  0x00006f77 fetcht  0x00000002 , 0x0000018c 
+ 00026468  0x00006f78 increase  0x00000022 , 0x00000002 
+ 00026469  0x00006f79 storet  0x00000002 , 0x0000018c 
+ 00026470  0x00006f7a increase  0xffffffff , 0x00000002 
+ 00026471  0x00006f7b ifetch  0x00000001 , 0x00000002 
+ 00026472  0x00006f7c store  0x00000001 , 0x00000184 
+ 00026473  0x00006f7d increase  0xffffffff , 0x00000013 
+ 00026474  0x00006f7e nbranch  0x0000675f , 0x00000005 
+ 00026475  0x00006f7f fetch  0x00000001 , 0x00004217 
+ 00026476  0x00006f80 pincrease  0xffffffff 
+ 00026477  0x00006f81 store  0x00000001 , 0x00000184 
+ 00026478  0x00006f82 rtn 
+ 00026479  0x00006f84 fetch  0x00000001 , 0x00000185 
+ 00026480  0x00006f85 bne  0x00000033 , 0x00006776 
+ 00026481  0x00006f87 arg  0x00000185 , 0x00000012 
+ 00026482  0x00006f88 arg  0x00000007 , 0x00000039 
+ 00026483  0x00006f89 call  0x00007f88 
+ 00026484  0x00006f8a branch  0x00007fe7 , 0x00000005 
+ 00026485  0x00006f8b rtn 
+ 00026486  0x00006f8e beq  0x00000036 , 0x00006779 
+ 00026487  0x00006f8f beq  0x00000037 , 0x00006794 
+ 00026488  0x00006f90 branch  0x00006771 
+ 00026489  0x00006f93 ifetcht  0x00000001 , 0x00000011 
+ 00026490  0x00006f94 isub  0x00000002 , 0x0000003e 
+ 00026491  0x00006f95 nrtn  0x00000005 
+ 00026492  0x00006f96 arg  0x00000ac2 , 0x00000005 
+ 00026493  0x00006f97 arg  0x00000010 , 0x00000039 
+ 00026494  0x00006f98 call  0x00007ed4 
+ 00026495  0x00006f99 fetch  0x00000003 , 0x00000452 
+ 00026496  0x00006f9a store  0x00000003 , 0x00000ac2 
+ 00026497  0x00006f9b call  0x0000678b 
+ 00026498  0x00006f9c fetch  0x00000002 , 0x00000adf 
+ 00026499  0x00006f9d byteswap  0x0000003f , 0x0000003f 
+ 00026500  0x00006f9e lshift8  0x0000003f , 0x00000002 
+ 00026501  0x00006f9f ifetch  0x00000001 , 0x00000006 
+ 00026502  0x00006fa0 iadd  0x00000002 , 0x0000003f 
+ 00026503  0x00006fa1 fetcht  0x00000003 , 0x0000044f 
+ 00026504  0x00006fa2 isub  0x00000002 , 0x0000003e 
+ 00026505  0x00006fa3 branch  0x00007fe7 , 0x00000005 
+ 00026506  0x00006fa4 rtn 
+ 00026507  0x00006fa8 arg  0x00000ac2 , 0x00000006 
+ 00026508  0x00006fa9 call  0x00007486 
+ 00026509  0x00006fab ifetch  0x00000001 , 0x00000011 
+ 00026510  0x00006fac call  0x00007487 
+ 00026511  0x00006fad force  0x00000038 , 0x00000036 
+ 00026512  0x00006fae force  0x00000000 , 0x00000036 
+ 00026513  0x00006faf call  0x0000741d 
+ 00026514  0x00006fb0 arg  0x00000ad2 , 0x00000005 
+ 00026515  0x00006fb1 branch  0x00007497 
+ 00026516  0x00006fb4 ifetcht  0x00000001 , 0x00000011 
+ 00026517  0x00006fb5 isub  0x00000002 , 0x0000003e 
+ 00026518  0x00006fb6 nrtn  0x00000005 
+ 00026519  0x00006fb7 copy  0x00000006 , 0x00000011 
+ 00026520  0x00006fb8 add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026521  0x00006fb9 arg  0x000044cd , 0x00000012 
+ 00026522  0x00006fba arg  0x00000008 , 0x00000039 
+ 00026523  0x00006fbb call  0x00007f88 
+ 00026524  0x00006fbc branch  0x00007fe7 , 0x00000005 
+ 00026525  0x00006fbd copy  0x00000013 , 0x00000011 
+ 00026526  0x00006fbe arg  0x000044d5 , 0x00000012 
+ 00026527  0x00006fbf arg  0x00000008 , 0x00000039 
+ 00026528  0x00006fc0 call  0x00007f88 
+ 00026529  0x00006fc1 branch  0x00007fe7 , 0x00000005 
+ 00026530  0x00006fc2 rtn 
+ 00026531  0x00006fc5 fetch  0x00000002 , 0x00004215 
+ 00026532  0x00006fc6 ifetcht  0x00000001 , 0x0000003f 
+ 00026533  0x00006fc7 pincrease  0x00000022 
+ 00026534  0x00006fc8 ifetch  0x00000001 , 0x0000003f 
+ 00026535  0x00006fc9 isub  0x00000002 , 0x0000003e 
+ 00026536  0x00006fca rtn 
+ 00026537  0x00006fcd fetch  0x00000001 , 0x00004217 
+ 00026538  0x00006fce icopy  0x00000039 
+ 00026539  0x00006fcf fetcht  0x00000002 , 0x00004215 
+ 00026540  0x00006fd0 setarg  0x00000000 
+ 00026541  0x00006fd2 istore  0x00000001 , 0x00000002 
+ 00026542  0x00006fd3 increase  0x00000022 , 0x00000002 
+ 00026543  0x00006fd4 pincrease  0x00000001 
+ 00026544  0x00006fd5 loop  0x000067ad 
+ 00026545  0x00006fd6 rtn 
+ 00026546  0x00006fd9 bpatchx  0x00000099 , 0x00004033 
+ 00026547  0x00006fda call  0x0000673e 
+ 00026548  0x00006fdb fetch  0x00000001 , 0x00000030 
+ 00026549  0x00006fdc setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026550  0x00006fdd store  0x00000001 , 0x00000030 
+ 00026551  0x00006fde nbranch  0x000067bc , 0x00000028 
+ 00026552  0x00006fdf add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026553  0x00006fe1 arg  0x000041be , 0x00000005 
+ 00026554  0x00006fe2 call  0x00007ebf 
+ 00026555  0x00006fe3 branch  0x000067d7 
+ 00026556  0x00006fe5 jam  0x00000000 , 0x000041bd 
+ 00026557  0x00006fe6 rtn 
+ 00026558  0x00006fe9 fetch  0x00000009 , 0x000044cb 
+ 00026559  0x00006fea branch  0x000067ca , 0x00000034 
+ 00026560  0x00006feb call  0x0000673e 
+ 00026561  0x00006fec nbranch  0x000067ca , 0x00000028 
+ 00026562  0x00006fed fetch  0x00000002 , 0x0000018c 
+ 00026563  0x00006fee add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026564  0x00006fef arg  0x000044d5 , 0x00000005 
+ 00026565  0x00006ff0 call  0x00007ebf 
+ 00026566  0x00006ff1 arg  0x00004419 , 0x00000005 
+ 00026567  0x00006ff2 call  0x00007ebf 
+ 00026568  0x00006ff3 jam  0x00000001 , 0x00004429 
+ 00026569  0x00006ff4 rtn 
+ 00026570  0x00006ff7 jam  0x00000000 , 0x00004429 
+ 00026571  0x00006ff8 rtn 
+ 00026572  0x00006ffc fetch  0x00000006 , 0x0000044f 
+ 00026573  0x00006ffd store  0x00000006 , 0x00000186 
+ 00026574  0x00006ffe jam  0x00000034 , 0x00000185 
+ 00026575  0x00006fff branch  0x000067d3 
+ 00026576  0x00007001 fetch  0x00000006 , 0x00000040 
+ 00026577  0x00007002 store  0x00000006 , 0x00000186 
+ 00026578  0x00007003 jam  0x00000033 , 0x00000185 
+ 00026579  0x00007005 fetch  0x00000001 , 0x00004092 
+ 00026580  0x00007006 beq  0x0000000a , 0x0000670b 
+ 00026581  0x00007007 bbit1  0x00000006 , 0x000042da 
+ 00026582  0x00007008 rtn 
+ 00026583  0x0000700c fetch  0x00000008 , 0x000041be 
+ 00026584  0x0000700d fetcht  0x00000008 , 0x000041c6 
+ 00026585  0x0000700e ior  0x00000002 , 0x0000003f 
+ 00026586  0x0000700f rtn  0x00000034 
+ 00026587  0x00007010 jam  0x00000001 , 0x000041bd 
+ 00026588  0x00007011 rtn 
+ 00026589  0x00007019 bpatchx  0x0000009a , 0x00004033 
+ 00026590  0x0000701a set1  0x00000007 , 0x00000002 
+ 00026591  0x0000701b call  0x0000681d 
+ 00026592  0x0000701c nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00026593  0x00007022 bpatchx  0x0000009b , 0x00004033 
+ 00026594  0x00007023 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026595  0x00007024 rtn  0x00000005 
+ 00026596  0x00007025 isolate0  0x00000007 , 0x00000002 
+ 00026597  0x00007026 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026598  0x00007027 fetch  0x00000004 , 0x000000a1 
+ 00026599  0x00007028 qsetflag  0x00000001 , 0x0000003f 
+ 00026600  0x00007029 store  0x00000004 , 0x000000a1 
+ 00026601  0x0000702a fetch  0x00000004 , 0x000000a5 
+ 00026602  0x0000702b nqsetflag  0x00000001 , 0x0000003f 
+ 00026603  0x0000702c store  0x00000004 , 0x000000a5 
+ 00026604  0x0000702d rtn 
+ 00026605  0x00007031 bpatchx  0x0000009c , 0x00004033 
+ 00026606  0x00007032 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026607  0x00007033 rtn  0x00000005 
+ 00026608  0x00007034 isolate0  0x00000007 , 0x00000002 
+ 00026609  0x00007035 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026610  0x00007036 fetch  0x00000004 , 0x000000a1 
+ 00026611  0x00007037 qset0  0x0000003f 
+ 00026612  0x00007038 store  0x00000004 , 0x000000a1 
+ 00026613  0x00007039 fetch  0x00000004 , 0x000000a5 
+ 00026614  0x0000703a qset0  0x0000003f 
+ 00026615  0x0000703b store  0x00000004 , 0x000000a5 
+ 00026616  0x0000703c rtn 
+ 00026617  0x00007040 call  0x000067ed 
+ 00026618  0x00007041 branch  0x000067fe 
+ 00026619  0x00007045 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026620  0x00007046 rtn  0x00000005 
+ 00026621  0x00007047 ncall  0x000067e1 , 0x0000002b 
+ 00026622  0x0000704a arg  0x0000807c , 0x00000005 
+ 00026623  0x0000704b call  0x00006830 
+ 00026624  0x0000704c setflip  0x00000007 , 0x00000002 
+ 00026625  0x0000704d arg  0x00008078 , 0x00000005 
+ 00026626  0x0000704e call  0x00006830 
+ 00026627  0x0000704f set0  0x00000007 , 0x00000002 
+ 00026628  0x00007050 arg  0x00008070 , 0x00000005 
+ 00026629  0x00007051 branch  0x00006830 
+ 00026630  0x00007055 arg  0x0000807c , 0x00000005 
+ 00026631  0x00007056 call  0x00006830 
+ 00026632  0x00007057 set0  0x00000007 , 0x00000002 
+ 00026633  0x00007058 arg  0x00008078 , 0x00000005 
+ 00026634  0x00007059 call  0x00006830 
+ 00026635  0x0000705a set0  0x00000007 , 0x00000002 
+ 00026636  0x0000705b arg  0x00008070 , 0x00000005 
+ 00026637  0x0000705c branch  0x00006830 
+ 00026638  0x00007061 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026639  0x00007062 rtn  0x00000005 
+ 00026640  0x00007063 setflip  0x00000007 , 0x00000002 
+ 00026641  0x00007064 call  0x0000682f 
+ 00026642  0x00007066 set1  0x00000007 , 0x00000002 
+ 00026643  0x00007067 arg  0x00008070 , 0x00000005 
+ 00026644  0x00007068 branch  0x00006830 
+ 00026645  0x0000706b and  0x00000002 , 0x00000007 , 0x00000007 
+ 00026646  0x0000706c rshift3  0x00000002 , 0x0000003f 
+ 00026647  0x0000706d and_into  0x00000003 , 0x0000003f 
+ 00026648  0x0000706e iadd  0x00000005 , 0x00000005 
+ 00026649  0x0000706f ifetch  0x00000001 , 0x00000005 
+ 00026650  0x00007070 rtn 
+ 00026651  0x00007073 arg  0x00008074 , 0x00000005 
+ 00026652  0x00007074 branch  0x0000681e 
+ 00026653  0x00007079 arg  0x0000811c , 0x00000005 
+ 00026654  0x0000707b call  0x00006815 
+ 00026655  0x0000707c isolate1  0x00000007 , 0x00000002 
+ 00026656  0x0000707d branch  0x00006823 , 0x00000001 
+ 00026657  0x0000707e qisolate0  0x0000003f 
+ 00026658  0x0000707f rtn 
+ 00026659  0x00007081 qisolate1  0x0000003f 
+ 00026660  0x00007082 rtn 
+ 00026661  0x00007085 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026662  0x00007086 rtn  0x00000005 
+ 00026663  0x00007087 isolate1  0x00000007 , 0x0000003e 
+ 00026664  0x00007088 branch  0x0000682c 
+ 00026665  0x0000708b sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026666  0x0000708c rtn  0x00000005 
+ 00026667  0x0000708d isolate0  0x00000007 , 0x0000003e 
+ 00026668  0x00007091 setarg  0x00000000 
+ 00026669  0x00007092 nsetflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00026670  0x00007093 ixor  0x00000002 , 0x00000002 
+ 00026671  0x00007097 arg  0x00008074 , 0x00000005 
+ 00026672  0x0000709b call  0x00006815 
+ 00026673  0x0000709c isolate1  0x00000007 , 0x00000002 
+ 00026674  0x0000709d qsetflag  0x00000001 , 0x0000003f 
+ 00026675  0x0000709e istore  0x00000001 , 0x00000005 
+ 00026676  0x0000709f rtn 
+ 00026677  0x000070a2 arg  0xffffffff , 0x00000011 
+ 00026678  0x000070a3 hfetch  0x00000001 , 0x00008081 
+ 00026679  0x000070a4 compare  0x00000002 , 0x0000003f , 0x00000003 
+ 00026680  0x000070a5 call  0x00006878 , 0x00000001 
+ 00026681  0x000070a7 compare  0x00000001 , 0x0000003f , 0x00000003 
+ 00026682  0x000070a8 call  0x0000687a , 0x00000001 
+ 00026683  0x000070aa compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00026684  0x000070ab call  0x0000687a , 0x00000001 
+ 00026685  0x000070ad isolate1  0x00000002 , 0x0000003f 
+ 00026686  0x000070ae call  0x00006874 , 0x00000001 
+ 00026687  0x000070b0 isolate1  0x00000003 , 0x0000003f 
+ 00026688  0x000070b1 call  0x00006876 , 0x00000001 
+ 00026689  0x000070b3 isolate1  0x00000004 , 0x0000003f 
+ 00026690  0x000070b4 call  0x0000687c , 0x00000001 
+ 00026691  0x000070b6 isolate1  0x00000006 , 0x0000003f 
+ 00026692  0x000070b7 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00026693  0x000070b9 isolate1  0x00000007 , 0x0000003f 
+ 00026694  0x000070ba nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026695  0x000070bc hfetch  0x00000001 , 0x00008082 
+ 00026696  0x000070bd isolate1  0x00000000 , 0x0000003f 
+ 00026697  0x000070be nsetflag  0x00000001 , 0x0000001b , 0x00000011 
+ 00026698  0x000070bf isolate1  0x00000001 , 0x0000003f 
+ 00026699  0x000070c0 nsetflag  0x00000001 , 0x0000001c , 0x00000011 
+ 00026700  0x000070c1 isolate1  0x00000002 , 0x0000003f 
+ 00026701  0x000070c2 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00026702  0x000070c3 isolate1  0x00000003 , 0x0000003f 
+ 00026703  0x000070c4 nsetflag  0x00000001 , 0x00000008 , 0x00000011 
+ 00026704  0x000070c5 isolate1  0x00000004 , 0x0000003f 
+ 00026705  0x000070c6 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026706  0x000070c7 isolate1  0x00000005 , 0x0000003f 
+ 00026707  0x000070c8 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026708  0x000070c9 isolate1  0x00000006 , 0x0000003f 
+ 00026709  0x000070ca nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026710  0x000070cb isolate1  0x00000007 , 0x0000003f 
+ 00026711  0x000070cc nsetflag  0x00000001 , 0x00000017 , 0x00000011 
+ 00026712  0x000070ce hfetch  0x00000001 , 0x00008080 
+ 00026713  0x000070cf isolate1  0x00000000 , 0x0000003f 
+ 00026714  0x000070d0 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026715  0x000070d1 isolate1  0x00000001 , 0x0000003f 
+ 00026716  0x000070d2 nsetflag  0x00000001 , 0x00000006 , 0x00000011 
+ 00026717  0x000070d3 isolate1  0x00000002 , 0x0000003f 
+ 00026718  0x000070d4 nsetflag  0x00000001 , 0x00000007 , 0x00000011 
+ 00026719  0x000070d5 isolate1  0x00000003 , 0x0000003f 
+ 00026720  0x000070d6 nsetflag  0x00000001 , 0x00000012 , 0x00000011 
+ 00026721  0x000070d7 isolate1  0x00000004 , 0x0000003f 
+ 00026722  0x000070d8 nsetflag  0x00000001 , 0x00000013 , 0x00000011 
+ 00026723  0x000070d9 isolate1  0x00000005 , 0x0000003f 
+ 00026724  0x000070da nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026725  0x000070db isolate1  0x00000006 , 0x0000003f 
+ 00026726  0x000070dc nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026727  0x000070dd isolate1  0x00000007 , 0x0000003f 
+ 00026728  0x000070de nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026729  0x000070e0 hfetch  0x00000001 , 0x00008062 
+ 00026730  0x000070e1 isolate1  0x00000004 , 0x0000003f 
+ 00026731  0x000070e2 call  0x0000687e , 0x00000001 
+ 00026732  0x000070e3 bpatchx  0x0000009d , 0x00004033 
+ 00026733  0x000070e5 hfetch  0x00000004 , 0x00008078 
+ 00026734  0x000070e6 hfetcht  0x00000004 , 0x0000807c 
+ 00026735  0x000070e7 ior  0x00000002 , 0x0000003f 
+ 00026736  0x000070e8 invert  0x0000003f , 0x0000003f 
+ 00026737  0x000070e9 iand  0x00000011 , 0x0000003f 
+ 00026738  0x000070eb hstore  0x00000004 , 0x00008070 
+ 00026739  0x000070ec rtn 
+ 00026740  0x000070f0 arg  0x00000006 , 0x00000007 
+ 00026741  0x000070f1 branch  0x00006884 
+ 00026742  0x000070f3 arg  0x00000009 , 0x00000007 
+ 00026743  0x000070f4 branch  0x00006882 
+ 00026744  0x000070f6 arg  0x00000017 , 0x00000007 
+ 00026745  0x000070f7 branch  0x00006882 
+ 00026746  0x000070f9 arg  0x00000019 , 0x00000007 
+ 00026747  0x000070fa branch  0x00006884 
+ 00026748  0x000070fc arg  0x0000001e , 0x00000007 
+ 00026749  0x000070fd branch  0x00006884 
+ 00026750  0x000070ff arg  0x00000002 , 0x00000007 
+ 00026751  0x00007100 branch  0x00006884 
+ 00026752  0x00007102 arg  0x00000001 , 0x00000039 
+ 00026753  0x00007103 branch  0x00006885 
+ 00026754  0x00007105 arg  0x00000004 , 0x00000039 
+ 00026755  0x00007106 branch  0x00006885 
+ 00026756  0x00007108 arg  0x00000002 , 0x00000039 
+ 00026757  0x0000710a qset0  0x00000011 
+ 00026758  0x0000710b increase  0x00000001 , 0x00000007 
+ 00026759  0x0000710c loop  0x00006885 
+ 00026760  0x0000710d rtn 
+ 00026761  0x00007116 call  0x00006895 
+ 00026762  0x00007117 arg  0x00000006 , 0x00000002 
+ 00026763  0x00007118 branch  0x0000680e 
+ 00026764  0x0000711b call  0x00006889 
+ 00026765  0x0000711c arg  0x00000006 , 0x00000002 
+ 00026766  0x0000711d branch  0x00006825 
+ 00026767  0x00007122 call  0x00006895 
+ 00026768  0x00007123 hfetch  0x00000001 , 0x00008078 
+ 00026769  0x00007124 set1  0x00000007 , 0x0000003f 
+ 00026770  0x00007125 hstore  0x00000001 , 0x00008078 
+ 00026771  0x00007126 arg  0x00000007 , 0x00000002 
+ 00026772  0x00007127 branch  0x000067fb 
+ 00026773  0x0000712a hfetch  0x00000001 , 0x00008081 
+ 00026774  0x0000712b and_into  0x000000fb , 0x0000003f 
+ 00026775  0x0000712c hstore  0x00000001 , 0x00008081 
+ 00026776  0x0000712d rtn 
+ 00026777  0x00007130 hfetch  0x00000001 , 0x00008081 
+ 00026778  0x00007131 isolate1  0x00000002 , 0x0000003f 
+ 00026779  0x00007132 rtn 
+ 00026780  0x00007135 call  0x0000666a 
+ 00026781  0x00007136 setarg  0x000007e0 
+ 00026782  0x00007137 arg  0x00004150 , 0x00000011 
+ 00026783  0x00007138 arg  0x00000002 , 0x00000002 
+ 00026784  0x00007139 call  0x000066b3 
+ 00026785  0x0000713a branch  0x0000666d 
+ 00026786  0x0000713e call  0x0000666a 
+ 00026787  0x0000713f setarg  0x000007e2 
+ 00026788  0x00007140 arg  0x0000421d , 0x00000011 
+ 00026789  0x00007141 arg  0x0000000e , 0x00000002 
+ 00026790  0x00007142 call  0x000066b3 
+ 00026791  0x00007143 branch  0x0000666d 
+ 00026792  0x00007148 bpatchx  0x0000009e , 0x00004033 
+ 00026793  0x0000714a call  0x000068a2 
+ 00026794  0x0000714c fetch  0x00000001 , 0x0000422d 
+ 00026795  0x0000714d beq  0x00000000 , 0x000068af 
+ 00026796  0x0000714e beq  0x00000001 , 0x000068c3 
+ 00026797  0x0000714f beq  0x00000002 , 0x000068d7 
+ 00026798  0x00007150 rtn 
+ 00026799  0x00007153 fetcht  0x00000002 , 0x00004229 
+ 00026800  0x00007154 setarg  0x0000aa55 
+ 00026801  0x00007155 isub  0x00000002 , 0x0000003e 
+ 00026802  0x00007156 branch  0x000068b8 , 0x00000005 
+ 00026803  0x00007157 setarg  0x00004dfa 
+ 00026804  0x00007158 store  0x00000002 , 0x00004227 
+ 00026805  0x00007159 setarg  0x00004894 
+ 00026806  0x0000715a store  0x00000002 , 0x00004221 
+ 00026807  0x0000715b branch  0x000068c0 
+ 00026808  0x0000715e fetch  0x00000002 , 0x00004227 
+ 00026809  0x0000715f nbranch  0x000068bc , 0x00000034 
+ 00026810  0x00007160 setarg  0x00004dfa 
+ 00026811  0x00007161 store  0x00000002 , 0x00004227 
+ 00026812  0x00007163 fetch  0x00000002 , 0x00004221 
+ 00026813  0x00007164 nbranch  0x000068c0 , 0x00000034 
+ 00026814  0x00007165 setarg  0x00004894 
+ 00026815  0x00007166 store  0x00000002 , 0x00004221 
+ 00026816  0x00007168 setarg  0x00000064 
+ 00026817  0x00007169 store  0x00000002 , 0x0000422b 
+ 00026818  0x0000716a rtn 
+ 00026819  0x0000716d fetcht  0x00000002 , 0x00004229 
+ 00026820  0x0000716e setarg  0x0000aa55 
+ 00026821  0x0000716f isub  0x00000002 , 0x0000003e 
+ 00026822  0x00007170 branch  0x000068cc , 0x00000005 
+ 00026823  0x00007171 setarg  0x00005932 
+ 00026824  0x00007172 store  0x00000002 , 0x00004225 
+ 00026825  0x00007173 setarg  0x00004323 
+ 00026826  0x00007174 store  0x00000002 , 0x0000421f 
+ 00026827  0x00007175 branch  0x000068d4 
+ 00026828  0x00007178 fetch  0x00000002 , 0x00004225 
+ 00026829  0x00007179 nbranch  0x000068d0 , 0x00000034 
+ 00026830  0x0000717a setarg  0x00005932 
+ 00026831  0x0000717b store  0x00000002 , 0x00004225 
+ 00026832  0x0000717d fetch  0x00000002 , 0x0000421f 
+ 00026833  0x0000717e nbranch  0x000068d4 , 0x00000034 
+ 00026834  0x0000717f setarg  0x00004323 
+ 00026835  0x00007180 store  0x00000002 , 0x0000421f 
+ 00026836  0x00007182 setarg  0x00000190 
+ 00026837  0x00007183 store  0x00000002 , 0x0000422b 
+ 00026838  0x00007184 rtn 
+ 00026839  0x00007187 fetcht  0x00000002 , 0x00004229 
+ 00026840  0x00007188 setarg  0x0000aa55 
+ 00026841  0x00007189 isub  0x00000002 , 0x0000003e 
+ 00026842  0x0000718a branch  0x000068e0 , 0x00000005 
+ 00026843  0x0000718b setarg  0x00006946 
+ 00026844  0x0000718c store  0x00000002 , 0x00004223 
+ 00026845  0x0000718d setarg  0x00005377 
+ 00026846  0x0000718e store  0x00000002 , 0x0000421d 
+ 00026847  0x0000718f branch  0x000068e8 
+ 00026848  0x00007192 fetch  0x00000002 , 0x00004223 
+ 00026849  0x00007193 nbranch  0x000068e4 , 0x00000034 
+ 00026850  0x00007194 setarg  0x00006946 
+ 00026851  0x00007195 store  0x00000002 , 0x00004223 
+ 00026852  0x00007197 fetch  0x00000002 , 0x0000421d 
+ 00026853  0x00007198 nbranch  0x000068e8 , 0x00000034 
+ 00026854  0x00007199 setarg  0x00005377 
+ 00026855  0x0000719a store  0x00000002 , 0x0000421d 
+ 00026856  0x0000719c setarg  0x00000032 
+ 00026857  0x0000719d store  0x00000002 , 0x0000422b 
+ 00026858  0x0000719e rtn 
+ 00026859  0x000071a2 fetch  0x00000001 , 0x0000422d 
+ 00026860  0x000071a3 beq  0x00000000 , 0x000068f0 
+ 00026861  0x000071a4 beq  0x00000001 , 0x000068f2 
+ 00026862  0x000071a5 beq  0x00000002 , 0x000068f4 
+ 00026863  0x000071a6 rtn 
+ 00026864  0x000071a8 jam  0x000000bf , 0x00008971 
+ 00026865  0x000071a9 branch  0x000068f8 
+ 00026866  0x000071ab jam  0x000000af , 0x00008971 
+ 00026867  0x000071ac branch  0x000068f8 
+ 00026868  0x000071ae jam  0x0000008f , 0x00008971 
+ 00026869  0x000071af fetch  0x00000001 , 0x0000422e 
+ 00026870  0x000071b0 hstore  0x00000001 , 0x00008973 
+ 00026871  0x000071b1 branch  0x000068f8 
+ 00026872  0x000071b3 bpatchx  0x0000009f , 0x00004033 
+ 00026873  0x000071b4 hfetch  0x00000001 , 0x00008053 
+ 00026874  0x000071b5 set1  0x00000007 , 0x0000003f 
+ 00026875  0x000071b6 hstore  0x00000001 , 0x00008053 
+ 00026876  0x000071b7 hfetch  0x00000001 , 0x00008973 
+ 00026877  0x000071b8 or_into  0x00000030 , 0x0000003f 
+ 00026878  0x000071b9 hstore  0x00000001 , 0x00008973 
+ 00026879  0x000071ba jam  0x0000007c , 0x00008906 
+ 00026880  0x000071bb jam  0x000000aa , 0x00008972 
+ 00026881  0x000071bc nop  0x00001388 
+ 00026882  0x000071bd hfetcht  0x00000002 , 0x00008150 
+ 00026883  0x000071be hfetch  0x00000001 , 0x00008053 
+ 00026884  0x000071bf set0  0x00000007 , 0x0000003f 
+ 00026885  0x000071c0 hstore  0x00000001 , 0x00008053 
+ 00026886  0x000071c1 storet  0x00000002 , 0x0000422f 
+ 00026887  0x000071c2 rtn 
+ 00026888  0x000071c5 bpatchx  0x000000a0 , 0x00004034 
+ 00026889  0x000071c6 fetch  0x00000001 , 0x0000422d 
+ 00026890  0x000071c7 beq  0x00000000 , 0x0000690e 
+ 00026891  0x000071c8 beq  0x00000001 , 0x00006912 
+ 00026892  0x000071c9 beq  0x00000002 , 0x00006916 
+ 00026893  0x000071ca rtn 
+ 00026894  0x000071cd fetch  0x00000002 , 0x00004227 
+ 00026895  0x000071ce fetcht  0x00000002 , 0x00004221 
+ 00026896  0x000071cf arg  0x000000c8 , 0x00000013 
+ 00026897  0x000071d0 branch  0x0000691a 
+ 00026898  0x000071d3 fetch  0x00000002 , 0x00004225 
+ 00026899  0x000071d4 fetcht  0x00000002 , 0x0000421f 
+ 00026900  0x000071d5 arg  0x00000064 , 0x00000013 
+ 00026901  0x000071d6 branch  0x0000691a 
+ 00026902  0x000071d9 fetch  0x00000002 , 0x00004223 
+ 00026903  0x000071da fetcht  0x00000002 , 0x0000421d 
+ 00026904  0x000071db arg  0x00000032 , 0x00000013 
+ 00026905  0x000071dc branch  0x0000691a 
+ 00026906  0x000071df isub  0x00000002 , 0x00000011 
+ 00026907  0x000071e0 fetch  0x00000002 , 0x0000422f 
+ 00026908  0x000071e1 isub  0x00000002 , 0x0000003f 
+ 00026909  0x000071e2 nbranch  0x00006927 , 0x00000002 
+ 00026910  0x000071e3 fetcht  0x00000002 , 0x0000422b 
+ 00026911  0x000071e4 imul32  0x00000002 , 0x00000012 
+ 00026912  0x000071e5 copy  0x00000013 , 0x0000003f 
+ 00026913  0x000071e6 imul32  0x00000011 , 0x0000003f 
+ 00026914  0x000071e7 iadd  0x00000012 , 0x0000003f 
+ 00026915  0x000071e9 idiv  0x00000011 
+ 00026916  0x000071ea call  0x00007f86 
+ 00026917  0x000071eb quotient  0x0000003f 
+ 00026918  0x000071ec rtn 
+ 00026919  0x000071ef copy  0x00000002 , 0x0000003f 
+ 00026920  0x000071f0 fetcht  0x00000002 , 0x0000422f 
+ 00026921  0x000071f1 isub  0x00000002 , 0x0000003f 
+ 00026922  0x000071f2 fetcht  0x00000002 , 0x0000422b 
+ 00026923  0x000071f3 imul32  0x00000002 , 0x00000012 
+ 00026924  0x000071f4 copy  0x00000013 , 0x0000003f 
+ 00026925  0x000071f5 imul32  0x00000011 , 0x0000003f 
+ 00026926  0x000071f6 isub  0x00000012 , 0x0000003f 
+ 00026927  0x000071f7 branch  0x00006923 
+ 00026928  0x00007203 ifetch  0x00000008 , 0x00000011 
+ 00026929  0x00007204 store  0x00000008 , 0x00000a9a 
+ 00026930  0x00007205 fetch  0x00000002 , 0x00000a9a 
+ 00026931  0x00007206 fetcht  0x00000002 , 0x00000a9c 
+ 00026932  0x00007207 isub  0x00000002 , 0x00000011 
+ 00026933  0x00007208 fetch  0x00000002 , 0x00000aa0 
+ 00026934  0x00007209 isub  0x00000002 , 0x00000012 
+ 00026935  0x0000720a fetcht  0x00000002 , 0x00000a9e 
+ 00026936  0x0000720b isub  0x00000002 , 0x0000003e 
+ 00026937  0x0000720c ncall  0x00006940 , 0x00000002 
+ 00026938  0x0000720d mul32  0x00000012 , 0x00000064 , 0x0000003f 
+ 00026939  0x0000720e idiv  0x00000011 
+ 00026940  0x0000720f call  0x00007f86 
+ 00026941  0x00007210 quotient  0x0000003f 
+ 00026942  0x00007211 call  0x00006944 , 0x00000034 
+ 00026943  0x00007212 rtn 
+ 00026944  0x00007214 fetch  0x00000001 , 0x00004231 
+ 00026945  0x00007215 set1  0x00000000 , 0x0000003f 
+ 00026946  0x00007216 store  0x00000001 , 0x00004231 
+ 00026947  0x00007217 rtn 
+ 00026948  0x00007219 fetcht  0x00000001 , 0x00004231 
+ 00026949  0x0000721a set1  0x00000001 , 0x00000002 
+ 00026950  0x0000721b storet  0x00000001 , 0x00004231 
+ 00026951  0x0000721c rtn 
+ 00026952  0x00007222 fetch  0x00000002 , 0x0000423d 
+ 00026953  0x00007223 ifetch  0x00000001 , 0x0000003f 
+ 00026954  0x00007225 rtn  0x00000034 
+ 00026955  0x00007226 copy  0x0000003f , 0x00000039 
+ 00026956  0x00007228 fetch  0x00000002 , 0x0000423d 
+ 00026957  0x00007229 increase  0x00000003 , 0x0000003f 
+ 00026958  0x0000722a copy  0x0000003f , 0x00000011 
+ 00026959  0x0000722c ifetcht  0x00000001 , 0x00000011 
+ 00026960  0x0000722d call  0x000067fb 
+ 00026961  0x0000722e increase  0x00000001 , 0x00000011 
+ 00026962  0x0000722f loop  0x0000694f 
+ 00026963  0x00007231 rtn 
+ 00026964  0x00007234 fetch  0x00000002 , 0x0000423d 
+ 00026965  0x00007235 increase  0x00000003 , 0x0000003f 
+ 00026966  0x00007236 copy  0x0000003f , 0x00000011 
+ 00026967  0x00007238 force  0x00000000 , 0x00000012 
+ 00026968  0x00007239 jam  0x00000000 , 0x00000b12 
+ 00026969  0x0000723b ifetcht  0x00000001 , 0x00000011 
+ 00026970  0x0000723c call  0x0000681d 
+ 00026971  0x0000723d bpatchx  0x000000a1 , 0x00004034 
+ 00026972  0x0000723e fetch  0x00000002 , 0x00000b12 
+ 00026973  0x0000723f copy  0x00000012 , 0x00000007 
+ 00026974  0x00007240 qsetflag  0x00000001 , 0x0000003f 
+ 00026975  0x00007241 store  0x00000002 , 0x00000b12 
+ 00026976  0x00007242 increase  0x00000001 , 0x00000011 
+ 00026977  0x00007243 increase  0x00000001 , 0x00000012 
+ 00026978  0x00007244 fetch  0x00000002 , 0x0000423d 
+ 00026979  0x00007245 ifetch  0x00000001 , 0x0000003f 
+ 00026980  0x00007247 ixor  0x00000012 , 0x0000003e 
+ 00026981  0x00007248 nbranch  0x00006959 , 0x00000005 
+ 00026982  0x00007249 fetch  0x00000002 , 0x00000b12 
+ 00026983  0x0000724a fetcht  0x00000002 , 0x00000b14 
+ 00026984  0x0000724b ixor  0x00000002 , 0x0000003e 
+ 00026985  0x0000724c rtn  0x00000005 
+ 00026986  0x0000724d enable  0x00000028 
+ 00026987  0x0000724e rtn 
+ 00026988  0x00007251 fetch  0x00000002 , 0x0000423d 
+ 00026989  0x00007252 ifetch  0x00000001 , 0x0000003f 
+ 00026990  0x00007254 rtn  0x00000034 
+ 00026991  0x00007255 copy  0x0000003f , 0x00000039 
+ 00026992  0x00007256 fetch  0x00000002 , 0x0000423d 
+ 00026993  0x00007257 increase  0x00000003 , 0x0000003f 
+ 00026994  0x00007258 copy  0x0000003f , 0x00000011 
+ 00026995  0x0000725a ifetcht  0x00000001 , 0x00000011 
+ 00026996  0x0000725b call  0x000067dd 
+ 00026997  0x0000725c increase  0x00000001 , 0x00000011 
+ 00026998  0x0000725d loop  0x00006973 
+ 00026999  0x0000725f rtn 
+ 00027000  0x00007262 arg  0x00000009 , 0x00000007 
+ 00027001  0x00007263 call  0x00007f16 
+ 00027002  0x00007264 nrtn  0x00000034 
+ 00027003  0x00007265 setarg  0x00000020 
+ 00027004  0x00007266 arg  0x00000009 , 0x00000007 
+ 00027005  0x00007267 call  0x00007f08 
+ 00027006  0x00007268 disable  0x00000028 
+ 00027007  0x00007269 call  0x0000696c 
+ 00027008  0x0000726a bpatchx  0x000000a2 , 0x00004034 
+ 00027009  0x0000726b fetch  0x00000002 , 0x0000423d 
+ 00027010  0x0000726c ifetch  0x00000001 , 0x0000003f 
+ 00027011  0x0000726e rtn  0x00000034 
+ 00027012  0x0000726f call  0x00006954 
+ 00027013  0x00007270 nbranch  0x00007d02 , 0x00000028 
+ 00027014  0x00007271 call  0x00007d00 
+ 00027015  0x00007272 disable  0x00000028 
+ 00027016  0x00007273 fetch  0x00000002 , 0x00000b12 
+ 00027017  0x00007274 store  0x00000002 , 0x00000b19 
+ 00027018  0x00007275 jam  0x00000000 , 0x00000b1b 
+ 00027019  0x00007276 force  0x00000000 , 0x00000007 
+ 00027020  0x00007278 fetch  0x00000002 , 0x00000b14 
+ 00027021  0x00007279 rshift  0x0000003f , 0x00000002 
+ 00027022  0x0000727a storet  0x00000002 , 0x00000b14 
+ 00027023  0x0000727b and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00027024  0x0000727c fetcht  0x00000002 , 0x00000b19 
+ 00027025  0x0000727d and  0x00000002 , 0x00000001 , 0x00000011 
+ 00027026  0x0000727e rshift  0x00000002 , 0x00000002 
+ 00027027  0x0000727f storet  0x00000002 , 0x00000b19 
+ 00027028  0x00007280 ixor  0x00000011 , 0x0000003e 
+ 00027029  0x00007281 ncall  0x000069a1 , 0x00000005 
+ 00027030  0x00007282 fetch  0x00000002 , 0x0000423d 
+ 00027031  0x00007283 ifetch  0x00000001 , 0x0000003f 
+ 00027032  0x00007285 fetcht  0x00000001 , 0x00000b1b 
+ 00027033  0x00007286 increase  0x00000001 , 0x00000002 
+ 00027034  0x00007287 storet  0x00000001 , 0x00000b1b 
+ 00027035  0x00007288 copy  0x00000002 , 0x00000007 
+ 00027036  0x00007289 ixor  0x00000007 , 0x0000003e 
+ 00027037  0x0000728a nbranch  0x0000698c , 0x00000005 
+ 00027038  0x0000728b fetch  0x00000002 , 0x00000b12 
+ 00027039  0x0000728c store  0x00000002 , 0x00000b14 
+ 00027040  0x0000728d rtn 
+ 00027041  0x0000728f bpatchx  0x000000a3 , 0x00004034 
+ 00027042  0x00007290 fetch  0x00000002 , 0x0000423d 
+ 00027043  0x00007291 increase  0x00000001 , 0x0000003f 
+ 00027044  0x00007292 ifetch  0x00000002 , 0x0000003f 
+ 00027045  0x00007293 branch  0x00007f9c 
+ 00027046  0x0000729f hfetch  0x00000001 , 0x00008042 
+ 00027047  0x000072a0 ior  0x00000011 , 0x0000003f 
+ 00027048  0x000072a1 hstore  0x00000001 , 0x00008042 
+ 00027049  0x000072a2 hfetch  0x00000002 , 0x00008050 
+ 00027050  0x000072a3 set0  0x0000000d , 0x0000003f 
+ 00027051  0x000072a4 hstore  0x00000002 , 0x00008050 
+ 00027052  0x000072a5 nop  0x00000064 
+ 00027053  0x000072a6 rtn 
+ 00027054  0x000072b2 fetcht  0x00000003 , 0x00000a9c 
+ 00027055  0x000072b3 setarg  0x00b71b00 
+ 00027056  0x000072b4 idiv  0x00000002 
+ 00027057  0x000072b5 call  0x00007f86 
+ 00027058  0x000072b6 quotient  0x00000002 
+ 00027059  0x000072b7 fetch  0x00000001 , 0x00000a9f 
+ 00027060  0x000072b8 imul32  0x00000002 , 0x0000003f 
+ 00027061  0x000072b9 div  0x0000003f , 0x00000064 
+ 00027062  0x000072ba call  0x00007f86 
+ 00027063  0x000072bb quotient  0x00000011 
+ 00027064  0x000072bc copy  0x00000002 , 0x0000003f 
+ 00027065  0x000072bd isub  0x00000011 , 0x00000012 
+ 00027066  0x000072be fetch  0x00000001 , 0x00000a9b 
+ 00027067  0x000072bf call  0x000069be 
+ 00027068  0x000072c0 fetch  0x00000001 , 0x00000a9a 
+ 00027069  0x000072c1 branch  0x000069d5 
+ 00027070  0x000072c5 beq  0x00000000 , 0x000069c4 
+ 00027071  0x000072c6 beq  0x00000001 , 0x000069c6 
+ 00027072  0x000072c7 beq  0x00000002 , 0x000069c8 
+ 00027073  0x000072c8 beq  0x00000003 , 0x000069ca 
+ 00027074  0x000072c9 beq  0x00000004 , 0x000069cc 
+ 00027075  0x000072ca beq  0x00000005 , 0x000069ce 
+ 00027076  0x000072cc arg  0x000080a0 , 0x00000005 
+ 00027077  0x000072cd branch  0x000069d0 
+ 00027078  0x000072cf arg  0x000080a4 , 0x00000005 
+ 00027079  0x000072d0 branch  0x000069d0 
+ 00027080  0x000072d2 arg  0x000080a8 , 0x00000005 
+ 00027081  0x000072d3 branch  0x000069d0 
+ 00027082  0x000072d5 arg  0x00008064 , 0x00000005 
+ 00027083  0x000072d6 branch  0x000069d0 
+ 00027084  0x000072d8 arg  0x00008068 , 0x00000005 
+ 00027085  0x000072d9 branch  0x000069d0 
+ 00027086  0x000072db arg  0x0000806c , 0x00000005 
+ 00027087  0x000072dc branch  0x000069d0 
+ 00027088  0x000072de copy  0x00000011 , 0x0000003f 
+ 00027089  0x000072df istore  0x00000002 , 0x00000005 
+ 00027090  0x000072e0 copy  0x00000012 , 0x0000003f 
+ 00027091  0x000072e1 istore  0x00000002 , 0x00000005 
+ 00027092  0x000072e2 rtn 
+ 00027093  0x000072e7 enable  0x00000028 
+ 00027094  0x000072e8 branch  0x000069d8 
+ 00027095  0x000072ea disable  0x00000028 
+ 00027096  0x000072ec beq  0x00000004 , 0x000069e3 
+ 00027097  0x000072ed beq  0x00000005 , 0x000069e5 
+ 00027098  0x000072ee beq  0x0000001b , 0x000069e7 
+ 00027099  0x000072ef beq  0x0000001c , 0x000069e9 
+ 00027100  0x000072f0 beq  0x00000003 , 0x000069eb 
+ 00027101  0x000072f1 beq  0x00000008 , 0x000069ed 
+ 00027102  0x000072f2 beq  0x00000014 , 0x000069ef 
+ 00027103  0x000072f3 beq  0x00000015 , 0x000069f1 
+ 00027104  0x000072f4 beq  0x00000016 , 0x000069f3 
+ 00027105  0x000072f5 beq  0x00000017 , 0x000069f5 
+ 00027106  0x000072f6 rtn 
+ 00027107  0x000072fa arg  0x00000006 , 0x00000007 
+ 00027108  0x000072fb branch  0x000069ff 
+ 00027109  0x000072fd arg  0x00000007 , 0x00000007 
+ 00027110  0x000072fe branch  0x000069ff 
+ 00027111  0x00007300 arg  0x00000008 , 0x00000007 
+ 00027112  0x00007301 branch  0x000069ff 
+ 00027113  0x00007303 arg  0x00000009 , 0x00000007 
+ 00027114  0x00007304 branch  0x000069ff 
+ 00027115  0x00007306 arg  0x0000000a , 0x00000007 
+ 00027116  0x00007307 branch  0x000069ff 
+ 00027117  0x00007309 arg  0x0000000b , 0x00000007 
+ 00027118  0x0000730a branch  0x000069ff 
+ 00027119  0x0000730c arg  0x0000000c , 0x00000007 
+ 00027120  0x0000730d branch  0x00006a01 
+ 00027121  0x0000730f arg  0x0000000d , 0x00000007 
+ 00027122  0x00007310 branch  0x00006a01 
+ 00027123  0x00007312 arg  0x0000000e , 0x00000007 
+ 00027124  0x00007313 branch  0x00006a01 
+ 00027125  0x00007315 arg  0x0000000f , 0x00000007 
+ 00027126  0x00007316 branch  0x00006a01 
+ 00027127  0x00007319 hfetch  0x00000002 , 0x00008081 
+ 00027128  0x0000731a qsetflag  0x00000028 , 0x0000003f 
+ 00027129  0x0000731b hstore  0x00000002 , 0x00008081 
+ 00027130  0x0000731c copy  0x00000011 , 0x00000007 
+ 00027131  0x0000731d hfetch  0x00000001 , 0x00008085 
+ 00027132  0x0000731e qsetflag  0x00000028 , 0x0000003f 
+ 00027133  0x0000731f hstore  0x00000001 , 0x00008085 
+ 00027134  0x00007320 rtn 
+ 00027135  0x00007323 add  0x00000007 , 0xfffffffc , 0x00000011 
+ 00027136  0x00007324 branch  0x000069f7 
+ 00027137  0x00007327 add  0x00000007 , 0xfffffff6 , 0x00000011 
+ 00027138  0x00007328 branch  0x000069f7 
+ 00027139  0x0000732e rtn  0x0000002b 
+ 00027140  0x0000732f jam  0x00000000 , 0x00004567 
+ 00027141  0x00007330 jam  0x00000003 , 0x000004ed 
+ 00027142  0x00007331 jam  0x00000003 , 0x000004ee 
+ 00027143  0x00007332 jam  0x00000011 , 0x000004f2 
+ 00027144  0x00007333 jam  0x00000013 , 0x000004f3 
+ 00027145  0x00007334 setarg  0x00000000 
+ 00027146  0x00007335 store  0x00000003 , 0x000004ef 
+ 00027147  0x00007336 store  0x00000001 , 0x00004254 
+ 00027148  0x00007337 jam  0x00000000 , 0x00004681 
+ 00027149  0x0000733a bpatchx  0x000000a4 , 0x00004034 
+ 00027150  0x0000733b setarg  0x00000000 
+ 00027151  0x0000733c store  0x00000001 , 0x00004254 
+ 00027152  0x0000733d store  0x00000001 , 0x00004564 
+ 00027153  0x0000733e store  0x00000001 , 0x0000455d 
+ 00027154  0x0000733f fetch  0x00000001 , 0x0000456b 
+ 00027155  0x00007340 beq  0x00000001 , 0x00006a16 
+ 00027156  0x00007341 jam  0x00000050 , 0x00004569 
+ 00027157  0x00007342 rtn 
+ 00027158  0x00007345 jam  0x00000000 , 0x00004569 
+ 00027159  0x00007346 rtn 
+ 00027160  0x00007349 or_into  0x00000002 , 0x00000002 
+ 00027161  0x0000734a rtn 
+ 00027162  0x00007357 copy  0x00000002 , 0x0000003f 
+ 00027163  0x00007358 reverse  0x0000003f , 0x0000003f 
+ 00027164  0x00007359 store  0x00000001 , 0x00004562 
+ 00027165  0x0000735a force  0x0000003f , 0x0000003f 
+ 00027166  0x0000735b reverse  0x0000003f , 0x0000003f 
+ 00027167  0x0000735c store  0x00000001 , 0x00004561 
+ 00027168  0x0000735d force  0x00000001 , 0x0000003f 
+ 00027169  0x0000735e reverse  0x0000003f , 0x0000003f 
+ 00027170  0x0000735f store  0x00000001 , 0x00004560 
+ 00027171  0x00007360 call  0x00006a50 
+ 00027172  0x00007361 copy  0x00000002 , 0x0000003f 
+ 00027173  0x00007362 rtn 
+ 00027174  0x00007364 reverse  0x0000003f , 0x0000003f 
+ 00027175  0x00007365 store  0x00000001 , 0x00004562 
+ 00027176  0x00007366 force  0x00000073 , 0x0000003f 
+ 00027177  0x00007367 reverse  0x0000003f , 0x0000003f 
+ 00027178  0x00007368 store  0x00000001 , 0x00004561 
+ 00027179  0x00007369 force  0x00000001 , 0x0000003f 
+ 00027180  0x0000736a reverse  0x0000003f , 0x0000003f 
+ 00027181  0x0000736b store  0x00000001 , 0x00004560 
+ 00027182  0x0000736c branch  0x00006a50 
+ 00027183  0x0000736f fetch  0x00000001 , 0x00004563 
+ 00027184  0x00007370 branch  0x00006a33 , 0x00000034 
+ 00027185  0x00007371 setarg  0x00000070 
+ 00027186  0x00007372 rtn 
+ 00027187  0x00007374 setarg  0x000000aa 
+ 00027188  0x00007375 rtn 
+ 00027189  0x00007378 reverse  0x0000003f , 0x0000003f 
+ 00027190  0x00007379 store  0x00000001 , 0x00004562 
+ 00027191  0x0000737a force  0x000000ef , 0x0000003f 
+ 00027192  0x0000737b call  0x00006a44 
+ 00027193  0x0000737c fetcht  0x00000002 , 0x000004f7 
+ 00027194  0x0000737d copy  0x00000002 , 0x00000005 
+ 00027195  0x0000737e istore  0x00000001 , 0x00000005 
+ 00027196  0x0000737f copy  0x00000005 , 0x00000002 
+ 00027197  0x00007380 storet  0x00000002 , 0x000004f7 
+ 00027198  0x00007381 force  0x000000ff , 0x0000003f 
+ 00027199  0x00007382 call  0x00006a44 
+ 00027200  0x00007383 fetcht  0x00000002 , 0x000004f7 
+ 00027201  0x00007384 copy  0x00000002 , 0x00000005 
+ 00027202  0x00007385 istore  0x00000001 , 0x00000005 
+ 00027203  0x00007386 rtn 
+ 00027204  0x00007390 reverse  0x0000003f , 0x0000003f 
+ 00027205  0x00007391 store  0x00000001 , 0x00004561 
+ 00027206  0x00007392 fetch  0x00000002 , 0x00004561 
+ 00027207  0x00007393 lshift8  0x0000003f , 0x0000003f 
+ 00027208  0x00007394 store  0x00000003 , 0x000004f4 
+ 00027209  0x00007395 arg  0x00000107 , 0x00000011 
+ 00027210  0x00007396 arg  0x0000000f , 0x00000012 
+ 00027211  0x00007397 call  0x00006a5d 
+ 00027212  0x00007398 xor_into  0x000000d7 , 0x0000003f 
+ 00027213  0x00007399 invert  0x0000003f , 0x0000003f 
+ 00027214  0x0000739a reverse  0x0000003f , 0x0000003f 
+ 00027215  0x0000739b rtn 
+ 00027216  0x000073a6 fetch  0x00000003 , 0x00004560 
+ 00027217  0x000073a7 store  0x00000003 , 0x000004f4 
+ 00027218  0x000073a8 arg  0x00000107 , 0x00000011 
+ 00027219  0x000073a9 arg  0x0000000f , 0x00000012 
+ 00027220  0x000073aa call  0x00006a5d 
+ 00027221  0x000073ab lshift8  0x0000003f , 0x0000003f 
+ 00027222  0x000073ac arg  0x00000007 , 0x00000012 
+ 00027223  0x000073ad call  0x00006a5d 
+ 00027224  0x000073ae xor_into  0x0000002b , 0x0000003f 
+ 00027225  0x000073af invert  0x0000003f , 0x0000003f 
+ 00027226  0x000073b0 reverse  0x0000003f , 0x0000003f 
+ 00027227  0x000073b1 copy  0x0000003f , 0x00000002 
+ 00027228  0x000073b2 rtn 
+ 00027229  0x000073b5 arg  0x00000000 , 0x00000013 
+ 00027230  0x000073b6 copy  0x00000012 , 0x00000039 
+ 00027231  0x000073b7 call  0x00007e71 
+ 00027232  0x000073b8 icopy  0x00000002 
+ 00027233  0x000073be copy  0x00000002 , 0x0000003f 
+ 00027234  0x000073bf lshift  0x00000013 , 0x00000013 
+ 00027235  0x000073c0 bbit0  0x00000008 , 0x00006a66 
+ 00027236  0x000073c1 ixor  0x00000011 , 0x00000002 
+ 00027237  0x000073c2 increase  0x00000001 , 0x00000013 
+ 00027238  0x000073c4 lshift  0x00000002 , 0x00000002 
+ 00027239  0x000073c5 fetch  0x00000003 , 0x000004f4 
+ 00027240  0x000073c6 increase  0xffffffff , 0x00000012 
+ 00027241  0x000073c7 compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00027242  0x000073c8 branch  0x00006a70 , 0x00000001 
+ 00027243  0x000073c9 copy  0x00000012 , 0x00000039 
+ 00027244  0x000073ca call  0x00007e71 
+ 00027245  0x000073cb isolate1  0x00000000 , 0x0000003f 
+ 00027246  0x000073cc setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00027247  0x000073cd branch  0x00006a61 
+ 00027248  0x000073d0 rshift  0x00000002 , 0x0000003f 
+ 00027249  0x000073d1 rtn 
+ 00027250  0x000073d4 fetcht  0x00000001 , 0x0000455d 
+ 00027251  0x000073d7 lshift2  0x00000002 , 0x00000002 
+ 00027252  0x000073d8 set1  0x00000000 , 0x00000002 
+ 00027253  0x000073d9 fetch  0x00000001 , 0x00004563 
+ 00027254  0x000073da ncall  0x00006a18 , 0x00000034 
+ 00027255  0x000073db storet  0x00000001 , 0x0000050d 
+ 00027256  0x000073dc rtn 
+ 00027257  0x000073e0 lshift  0x00000002 , 0x00000002 
+ 00027258  0x000073e1 fetch  0x00000001 , 0x00004563 
+ 00027259  0x000073e2 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00027260  0x000073e4 rtn 
+ 00027261  0x000073e6 fetcht  0x00000001 , 0x000004fc 
+ 00027262  0x000073e7 jam  0x000000d7 , 0x000004fe 
+ 00027263  0x000073e8 call  0x00006bb6 
+ 00027264  0x000073e9 fetch  0x00000001 , 0x00004251 
+ 00027265  0x000073ea set1  0x00000006 , 0x0000003f 
+ 00027266  0x000073eb set1  0x00000007 , 0x0000003f 
+ 00027267  0x000073ec store  0x00000001 , 0x00004251 
+ 00027268  0x000073ed jam  0x00000000 , 0x00004563 
+ 00027269  0x000073ee branch  0x00006b97 
+ 00027270  0x000073f0 fetch  0x00000001 , 0x00004251 
+ 00027271  0x000073f1 set1  0x00000007 , 0x0000003f 
+ 00027272  0x000073f2 store  0x00000001 , 0x00004251 
+ 00027273  0x000073f3 branch  0x00006b97 
+ 00027274  0x000073f7 bpatchx  0x000000a5 , 0x00004034 
+ 00027275  0x000073f8 fetch  0x00000001 , 0x00004681 
+ 00027276  0x000073f9 beq  0x00000000 , 0x00006a8e 
+ 00027277  0x000073fa branch  0x00006b4c 
+ 00027278  0x000073fd fetch  0x00000002 , 0x00000264 
+ 00027279  0x000073fe copy  0x0000003f , 0x00000006 
+ 00027280  0x000073ff call  0x00006ab8 
+ 00027281  0x00007400 fetch  0x00000001 , 0x000004fc 
+ 00027282  0x00007401 beq  0x00000000 , 0x00006a94 
+ 00027283  0x00007402 branch  0x00006b18 
+ 00027284  0x00007404 bpatchx  0x000000a6 , 0x00004034 
+ 00027285  0x00007405 fetch  0x00000001 , 0x000004fd 
+ 00027286  0x00007406 beq  0x0000003f , 0x00006a7d 
+ 00027287  0x00007407 beq  0x00000073 , 0x00006a86 
+ 00027288  0x00007408 beq  0x000000ef , 0x00006a9b 
+ 00027289  0x00007409 beq  0x00000053 , 0x00006b44 
+ 00027290  0x0000740a rtn 
+ 00027291  0x0000740e fetch  0x00000002 , 0x00000501 
+ 00027292  0x0000740f copy  0x0000003f , 0x00000006 
+ 00027293  0x00007410 call  0x00006ac3 
+ 00027294  0x00007411 fetch  0x00000001 , 0x00000503 
+ 00027295  0x00007412 beq  0x00000041 , 0x00006aa5 
+ 00027296  0x00007413 beq  0x00000040 , 0x00006aad 
+ 00027297  0x00007414 beq  0x00000071 , 0x00006ae6 
+ 00027298  0x00007415 beq  0x00000070 , 0x00006af2 
+ 00027299  0x00007416 beq  0x00000049 , 0x00006afd 
+ 00027300  0x00007417 branch  0x00006b97 
+ 00027301  0x0000741a call  0x00006aaf 
+ 00027302  0x0000741c branch  0x00006aa7 
+ 00027303  0x0000741f fetch  0x00000001 , 0x00004254 
+ 00027304  0x00007420 set1  0x00000000 , 0x0000003f 
+ 00027305  0x00007421 set1  0x00000001 , 0x0000003f 
+ 00027306  0x00007422 store  0x00000001 , 0x00004254 
+ 00027307  0x00007423 call  0x00006be0 
+ 00027308  0x00007424 branch  0x00006b97 
+ 00027309  0x00007427 call  0x00006aaf 
+ 00027310  0x00007428 branch  0x00006b97 
+ 00027311  0x0000742b call  0x00006acb 
+ 00027312  0x0000742c branch  0x00006ad7 
+ 00027313  0x0000742f call  0x00006acb 
+ 00027314  0x00007430 ifetch  0x00000001 , 0x00000006 
+ 00027315  0x00007431 rshift3  0x0000003f , 0x0000003f 
+ 00027316  0x00007432 store  0x00000001 , 0x0000456a 
+ 00027317  0x00007433 ifetch  0x00000001 , 0x00000006 
+ 00027318  0x00007434 store  0x00000001 , 0x00000508 
+ 00027319  0x00007435 rtn 
+ 00027320  0x00007439 ifetch  0x00000001 , 0x00000006 
+ 00027321  0x0000743a store  0x00000001 , 0x000004fb 
+ 00027322  0x0000743b rshift3  0x0000003f , 0x0000003f 
+ 00027323  0x0000743c store  0x00000001 , 0x000004fc 
+ 00027324  0x0000743d ifetch  0x00000001 , 0x00000006 
+ 00027325  0x0000743e store  0x00000001 , 0x000004fd 
+ 00027326  0x00007440 call  0x00006ace 
+ 00027327  0x00007441 storet  0x00000002 , 0x000004ff 
+ 00027328  0x00007442 copy  0x00000006 , 0x0000003f 
+ 00027329  0x00007443 store  0x00000002 , 0x00000501 
+ 00027330  0x00007444 rtn 
+ 00027331  0x00007447 ifetch  0x00000001 , 0x00000006 
+ 00027332  0x00007448 rshift  0x0000003f , 0x0000003f 
+ 00027333  0x00007449 store  0x00000001 , 0x00000503 
+ 00027334  0x0000744a call  0x00006ace 
+ 00027335  0x0000744b storet  0x00000002 , 0x00000504 
+ 00027336  0x0000744c copy  0x00000006 , 0x0000003f 
+ 00027337  0x0000744d store  0x00000002 , 0x00000506 
+ 00027338  0x0000744e rtn 
+ 00027339  0x00007452 fetch  0x00000002 , 0x00000506 
+ 00027340  0x00007453 copy  0x0000003f , 0x00000006 
+ 00027341  0x00007454 rtn 
+ 00027342  0x00007457 ifetch  0x00000001 , 0x00000006 
+ 00027343  0x00007458 copy  0x0000003f , 0x00000002 
+ 00027344  0x00007459 rshift  0x00000002 , 0x00000002 
+ 00027345  0x0000745a rtnbit1  0x00000000 
+ 00027346  0x0000745b ifetch  0x00000001 , 0x00000006 
+ 00027347  0x0000745c lshift3  0x0000003f , 0x0000003f 
+ 00027348  0x0000745d lshift4  0x0000003f , 0x0000003f 
+ 00027349  0x0000745e iadd  0x00000002 , 0x00000002 
+ 00027350  0x0000745f rtn 
+ 00027351  0x00007462 ifetch  0x00000001 , 0x00000006 
+ 00027352  0x00007463 store  0x00000001 , 0x0000455d 
+ 00027353  0x00007464 ifetch  0x00000001 , 0x00000006 
+ 00027354  0x00007465 store  0x00000001 , 0x00000509 
+ 00027355  0x00007466 ifetch  0x00000001 , 0x00000006 
+ 00027356  0x00007467 store  0x00000001 , 0x0000050a 
+ 00027357  0x00007468 ifetch  0x00000001 , 0x00000006 
+ 00027358  0x00007469 store  0x00000001 , 0x0000050b 
+ 00027359  0x0000746a ifetch  0x00000002 , 0x00000006 
+ 00027360  0x0000746b store  0x00000002 , 0x0000455e 
+ 00027361  0x0000746c ifetch  0x00000001 , 0x00000006 
+ 00027362  0x0000746d store  0x00000001 , 0x0000050c 
+ 00027363  0x0000746e ifetch  0x00000001 , 0x00000006 
+ 00027364  0x0000746f store  0x00000001 , 0x00004568 
+ 00027365  0x00007470 rtn 
+ 00027366  0x00007474 call  0x00006ab1 
+ 00027367  0x00007476 branch  0x00006ae8 
+ 00027368  0x00007479 fetch  0x00000001 , 0x00004254 
+ 00027369  0x0000747a set1  0x00000005 , 0x0000003f 
+ 00027370  0x0000747b set1  0x00000006 , 0x0000003f 
+ 00027371  0x0000747c store  0x00000001 , 0x00004254 
+ 00027372  0x0000747d fetcht  0x00000001 , 0x0000455d 
+ 00027373  0x0000747e lshift2  0x00000002 , 0x00000002 
+ 00027374  0x0000747f or_into  0x00000003 , 0x00000002 
+ 00027375  0x00007480 call  0x00006c11 
+ 00027376  0x00007481 jam  0x00000003 , 0x00004567 
+ 00027377  0x00007482 branch  0x00006b97 
+ 00027378  0x00007485 jam  0x00000008 , 0x00000a99 
+ 00027379  0x00007486 call  0x00007d86 
+ 00027380  0x00007487 call  0x00006ab1 
+ 00027381  0x00007488 fetch  0x00000001 , 0x0000456a 
+ 00027382  0x00007489 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027383  0x0000748a branch  0x00006af9 , 0x00000005 
+ 00027384  0x0000748b branch  0x00002a8c 
+ 00027385  0x0000748d fetch  0x00000001 , 0x00004254 
+ 00027386  0x0000748e set1  0x00000007 , 0x0000003f 
+ 00027387  0x0000748f store  0x00000001 , 0x00004254 
+ 00027388  0x00007490 branch  0x00006b97 
+ 00027389  0x00007493 call  0x00006acb 
+ 00027390  0x00007494 ifetch  0x00000001 , 0x00000006 
+ 00027391  0x00007495 store  0x00000001 , 0x00000ac2 
+ 00027392  0x00007496 call  0x000052d2 
+ 00027393  0x00007497 call  0x000052e0 
+ 00027394  0x00007498 setarg  0x0000000e 
+ 00027395  0x00007499 istore  0x00000002 , 0x00000005 
+ 00027396  0x0000749a fetch  0x00000002 , 0x0000424a 
+ 00027397  0x0000749b istore  0x00000002 , 0x00000005 
+ 00027398  0x0000749c fetch  0x00000001 , 0x00004563 
+ 00027399  0x0000749e lshift  0x0000003f , 0x0000003f 
+ 00027400  0x0000749f set1  0x00000000 , 0x0000003f 
+ 00027401  0x000074a0 istore  0x00000001 , 0x00000005 
+ 00027402  0x000074a1 bpatchx  0x000000a7 , 0x00004034 
+ 00027403  0x000074a2 setarg  0x000015ef 
+ 00027404  0x000074a3 istore  0x00000002 , 0x00000005 
+ 00027405  0x000074a4 setarg  0x00001191 
+ 00027406  0x000074a5 istore  0x00000002 , 0x00000005 
+ 00027407  0x000074a8 fetch  0x00000001 , 0x00000ac2 
+ 00027408  0x000074a9 istore  0x00000001 , 0x00000005 
+ 00027409  0x000074aa setarg  0x00000007 
+ 00027410  0x000074ab istore  0x00000005 , 0x00000005 
+ 00027411  0x000074ae setarg  0x00000001 
+ 00027412  0x000074af istore  0x00000002 , 0x00000005 
+ 00027413  0x000074b2 call  0x00006a2f 
+ 00027414  0x000074b3 istore  0x00000001 , 0x00000005 
+ 00027415  0x000074b4 rtn 
+ 00027416  0x000074b9 branch  0x00006b19 
+ 00027417  0x000074bc bpatchx  0x000000a8 , 0x00004035 
+ 00027418  0x000074bd fetch  0x00000001 , 0x000004fd 
+ 00027419  0x000074be beq  0x00000073 , 0x00006b21 
+ 00027420  0x000074bf beq  0x0000003f , 0x00006b25 
+ 00027421  0x000074c0 beq  0x000000ef , 0x00006b3f 
+ 00027422  0x000074c1 beq  0x000000ff , 0x00006b37 
+ 00027423  0x000074c2 beq  0x00000053 , 0x00006b46 
+ 00027424  0x000074c3 rtn 
+ 00027425  0x000074c5 fetch  0x00000001 , 0x00004254 
+ 00027426  0x000074c6 set1  0x00000003 , 0x0000003f 
+ 00027427  0x000074c7 store  0x00000001 , 0x00004254 
+ 00027428  0x000074c8 branch  0x00006b97 
+ 00027429  0x000074ca fetch  0x00000001 , 0x00004254 
+ 00027430  0x000074cb set1  0x00000003 , 0x0000003f 
+ 00027431  0x000074cc set1  0x00000002 , 0x0000003f 
+ 00027432  0x000074cd store  0x00000001 , 0x00004254 
+ 00027433  0x000074ce fetch  0x00000001 , 0x000004fb 
+ 00027434  0x000074cf call  0x00006a26 
+ 00027435  0x000074d0 store  0x00000001 , 0x000004fe 
+ 00027436  0x000074d1 call  0x00006bb6 
+ 00027437  0x000074d2 fetch  0x00000001 , 0x000004fb 
+ 00027438  0x000074d3 rshift2  0x0000003f , 0x0000003f 
+ 00027439  0x000074d4 store  0x00000001 , 0x0000455d 
+ 00027440  0x000074d5 lshift2  0x0000003f , 0x0000003f 
+ 00027441  0x000074d6 set0  0x00000001 , 0x0000003f 
+ 00027442  0x000074d7 set1  0x00000000 , 0x0000003f 
+ 00027443  0x000074d8 arg  0x00004565 , 0x00000002 
+ 00027444  0x000074d9 storet  0x00000002 , 0x000004f7 
+ 00027445  0x000074da call  0x00006a35 
+ 00027446  0x000074db branch  0x00006b97 
+ 00027447  0x000074de fetch  0x00000002 , 0x00000501 
+ 00027448  0x000074df copy  0x0000003f , 0x00000006 
+ 00027449  0x000074e0 increase  0x00000001 , 0x0000003f 
+ 00027450  0x000074e1 store  0x00000002 , 0x00000501 
+ 00027451  0x000074e2 ifetch  0x00000001 , 0x00000006 
+ 00027452  0x000074e3 fetcht  0x00000001 , 0x00004568 
+ 00027453  0x000074e4 iadd  0x00000002 , 0x0000003f 
+ 00027454  0x000074e5 store  0x00000001 , 0x00004568 
+ 00027455  0x000074e7 call  0x00006c42 
+ 00027456  0x000074e9 call  0x00006a72 
+ 00027457  0x000074ea call  0x00006c28 
+ 00027458  0x000074eb call  0x00006c4b 
+ 00027459  0x000074ec branch  0x00006b97 
+ 00027460  0x000074ef jam  0x00000009 , 0x00000a99 
+ 00027461  0x000074f0 call  0x00007d86 
+ 00027462  0x000074f2 call  0x00006a0d 
+ 00027463  0x000074f3 fetch  0x00000001 , 0x000004fb 
+ 00027464  0x000074f4 call  0x00006a26 
+ 00027465  0x000074f5 store  0x00000001 , 0x000004fe 
+ 00027466  0x000074f6 call  0x00006bb6 
+ 00027467  0x000074f7 branch  0x00006b97 
+ 00027468  0x000074fd fetch  0x00000002 , 0x00000264 
+ 00027469  0x000074fe copy  0x0000003f , 0x00000006 
+ 00027470  0x000074ff call  0x00006ab8 
+ 00027471  0x00007500 fetch  0x00000001 , 0x000004fc 
+ 00027472  0x00007501 beq  0x00000000 , 0x00006b52 
+ 00027473  0x00007502 branch  0x00006b86 
+ 00027474  0x00007505 bpatchx  0x000000a9 , 0x00004035 
+ 00027475  0x00007506 fetch  0x00000001 , 0x000004fd 
+ 00027476  0x00007507 beq  0x0000003f , 0x00006a7d 
+ 00027477  0x00007508 beq  0x00000073 , 0x00006a86 
+ 00027478  0x00007509 beq  0x000000ef , 0x00006b58 
+ 00027479  0x0000750a branch  0x00006b97 
+ 00027480  0x0000750c fetch  0x00000002 , 0x00000501 
+ 00027481  0x0000750d copy  0x0000003f , 0x00000006 
+ 00027482  0x0000750e call  0x00006ac3 
+ 00027483  0x0000750f fetch  0x00000001 , 0x00000503 
+ 00027484  0x00007510 beq  0x00000041 , 0x00006b61 
+ 00027485  0x00007511 beq  0x00000040 , 0x00006b61 
+ 00027486  0x00007512 beq  0x00000071 , 0x00006b6c 
+ 00027487  0x00007513 beq  0x00000070 , 0x00006b7c 
+ 00027488  0x00007514 branch  0x00006b97 
+ 00027489  0x00007517 call  0x00006aaf 
+ 00027490  0x00007518 fetch  0x00000001 , 0x0000455d 
+ 00027491  0x00007519 rshift  0x0000003f , 0x0000003f 
+ 00027492  0x0000751a fetcht  0x00000001 , 0x00004564 
+ 00027493  0x0000751b isub  0x00000002 , 0x0000003e 
+ 00027494  0x0000751c branch  0x00006b68 , 0x00000005 
+ 00027495  0x0000751d branch  0x00002a8c 
+ 00027496  0x0000751f fetch  0x00000001 , 0x00004254 
+ 00027497  0x00007520 set1  0x00000001 , 0x0000003f 
+ 00027498  0x00007521 store  0x00000001 , 0x00004254 
+ 00027499  0x00007522 branch  0x00006b97 
+ 00027500  0x00007525 call  0x00006ab1 
+ 00027501  0x00007526 fetch  0x00000001 , 0x0000456a 
+ 00027502  0x00007527 fetcht  0x00000001 , 0x00004564 
+ 00027503  0x00007528 isub  0x00000002 , 0x0000003e 
+ 00027504  0x00007529 branch  0x00006b73 , 0x00000005 
+ 00027505  0x0000752a branch  0x00002a8c 
+ 00027506  0x0000752b branch  0x00006b97 
+ 00027507  0x0000752d fetch  0x00000001 , 0x00004254 
+ 00027508  0x0000752e set1  0x00000005 , 0x0000003f 
+ 00027509  0x0000752f set1  0x00000006 , 0x0000003f 
+ 00027510  0x00007530 store  0x00000001 , 0x00004254 
+ 00027511  0x00007531 fetcht  0x00000001 , 0x0000455d 
+ 00027512  0x00007532 lshift2  0x00000002 , 0x00000002 
+ 00027513  0x00007533 or_into  0x00000003 , 0x00000002 
+ 00027514  0x00007534 call  0x00006c11 
+ 00027515  0x00007535 branch  0x00006b97 
+ 00027516  0x00007538 call  0x00006ab1 
+ 00027517  0x00007539 fetch  0x00000001 , 0x0000456a 
+ 00027518  0x0000753a fetcht  0x00000001 , 0x00004564 
+ 00027519  0x0000753b isub  0x00000002 , 0x0000003e 
+ 00027520  0x0000753c branch  0x00006b82 , 0x00000005 
+ 00027521  0x0000753d branch  0x00002a8c 
+ 00027522  0x0000753f fetch  0x00000001 , 0x00004254 
+ 00027523  0x00007540 set1  0x00000007 , 0x0000003f 
+ 00027524  0x00007541 store  0x00000001 , 0x00004254 
+ 00027525  0x00007542 branch  0x00006b97 
+ 00027526  0x00007545 fetch  0x00000001 , 0x000004fc 
+ 00027527  0x00007546 fetcht  0x00000001 , 0x00004564 
+ 00027528  0x00007547 isub  0x00000002 , 0x0000003e 
+ 00027529  0x00007548 branch  0x00006b8c , 0x00000005 
+ 00027530  0x00007549 branch  0x00002a8c 
+ 00027531  0x0000754a branch  0x00006b97 
+ 00027532  0x0000754d fetch  0x00000001 , 0x000004fd 
+ 00027533  0x0000754e beq  0x00000073 , 0x00006b91 
+ 00027534  0x0000754f beq  0x000000ef , 0x00006b3f 
+ 00027535  0x00007550 beq  0x000000ff , 0x00006b37 
+ 00027536  0x00007551 beq  0x00000053 , 0x00006b96 
+ 00027537  0x00007553 fetch  0x00000001 , 0x00004254 
+ 00027538  0x00007554 set1  0x00000003 , 0x0000003f 
+ 00027539  0x00007555 store  0x00000001 , 0x00004254 
+ 00027540  0x00007556 branch  0x00006b97 
+ 00027541  0x00007558 branch  0x00006b95 
+ 00027542  0x0000755a branch  0x00006b46 
+ 00027543  0x0000755c rtn 
+ 00027544  0x0000755f fetch  0x00000001 , 0x00004567 
+ 00027545  0x00007560 rtn  0x00000034 
+ 00027546  0x00007561 beq  0x00000003 , 0x00006b9c 
+ 00027547  0x00007562 branch  0x00002a8c 
+ 00027548  0x00007565 jam  0x00000000 , 0x00004567 
+ 00027549  0x00007566 call  0x000052d2 
+ 00027550  0x00007567 arg  0x00000001 , 0x00000002 
+ 00027551  0x00007568 fetcht  0x00000001 , 0x0000455d 
+ 00027552  0x00007569 lshift2  0x00000002 , 0x00000002 
+ 00027553  0x0000756b or_into  0x00000003 , 0x00000002 
+ 00027554  0x0000756c arg  0x000000aa , 0x00000011 
+ 00027555  0x0000756d call  0x00006bfc 
+ 00027556  0x0000756e call  0x000052e0 
+ 00027557  0x0000756f copy  0x00000005 , 0x00000006 
+ 00027558  0x00007570 ifetch  0x00000002 , 0x00000006 
+ 00027559  0x00007571 branch  0x00002a8c , 0x00000034 
+ 00027560  0x00007572 rtn 
+ 00027561  0x00007575 call  0x000052e0 
+ 00027562  0x00007576 setarg  0x00000004 
+ 00027563  0x00007577 istore  0x00000002 , 0x00000005 
+ 00027564  0x00007578 fetch  0x00000002 , 0x0000424a 
+ 00027565  0x00007579 istore  0x00000002 , 0x00000005 
+ 00027566  0x0000757a fetch  0x00000001 , 0x000004fb 
+ 00027567  0x0000757b istore  0x00000001 , 0x00000005 
+ 00027568  0x0000757c bpatchx  0x000000aa , 0x00004035 
+ 00027569  0x0000757d setarg  0x0000013f 
+ 00027570  0x0000757e istore  0x00000002 , 0x00000005 
+ 00027571  0x0000757f fetch  0x00000001 , 0x000004fe 
+ 00027572  0x00007580 istore  0x00000001 , 0x00000005 
+ 00027573  0x00007581 rtn 
+ 00027574  0x00007583 call  0x000052d2 
+ 00027575  0x00007584 call  0x000052e0 
+ 00027576  0x00007585 setarg  0x00000004 
+ 00027577  0x00007586 istore  0x00000002 , 0x00000005 
+ 00027578  0x00007587 fetch  0x00000002 , 0x0000424a 
+ 00027579  0x00007588 istore  0x00000002 , 0x00000005 
+ 00027580  0x00007589 fetch  0x00000001 , 0x000004fb 
+ 00027581  0x0000758a istore  0x00000001 , 0x00000005 
+ 00027582  0x0000758b bpatchx  0x000000ab , 0x00004035 
+ 00027583  0x0000758c setarg  0x00000173 
+ 00027584  0x0000758d istore  0x00000002 , 0x00000005 
+ 00027585  0x0000758e fetch  0x00000001 , 0x000004fe 
+ 00027586  0x0000758f istore  0x00000001 , 0x00000005 
+ 00027587  0x00007590 rtn 
+ 00027588  0x00007592 call  0x000052e0 
+ 00027589  0x00007593 setarg  0x0000000e 
+ 00027590  0x00007594 istore  0x00000002 , 0x00000005 
+ 00027591  0x00007595 fetch  0x00000002 , 0x0000424a 
+ 00027592  0x00007596 istore  0x00000002 , 0x00000005 
+ 00027593  0x00007597 fetch  0x00000001 , 0x00004563 
+ 00027594  0x00007598 lshift  0x0000003f , 0x0000003f 
+ 00027595  0x00007599 set1  0x00000000 , 0x0000003f 
+ 00027596  0x0000759a istore  0x00000001 , 0x00000005 
+ 00027597  0x0000759b bpatchx  0x000000ac , 0x00004035 
+ 00027598  0x0000759c setarg  0x000015ef 
+ 00027599  0x0000759d istore  0x00000002 , 0x00000005 
+ 00027600  0x0000759e setarg  0x00001183 
+ 00027601  0x0000759f istore  0x00000002 , 0x00000005 
+ 00027602  0x000075a0 copy  0x00000002 , 0x0000003f 
+ 00027603  0x000075a1 istore  0x00000001 , 0x00000005 
+ 00027604  0x000075a2 setarg  0x000000f0 
+ 00027605  0x000075a3 istore  0x00000003 , 0x00000005 
+ 00027606  0x000075a4 setarg  0x0000007f 
+ 00027607  0x000075a5 istore  0x00000002 , 0x00000005 
+ 00027608  0x000075a6 setarg  0x00000000 
+ 00027609  0x000075a7 istore  0x00000001 , 0x00000005 
+ 00027610  0x000075a8 setarg  0x00000001 
+ 00027611  0x000075a9 istore  0x00000001 , 0x00000005 
+ 00027612  0x000075aa call  0x00006a2f 
+ 00027613  0x000075ab istore  0x00000001 , 0x00000005 
+ 00027614  0x000075ac jam  0x00000010 , 0x00004569 
+ 00027615  0x000075ad rtn 
+ 00027616  0x000075af call  0x000052d2 
+ 00027617  0x000075b0 call  0x000052e0 
+ 00027618  0x000075b1 setarg  0x0000000e 
+ 00027619  0x000075b2 istore  0x00000002 , 0x00000005 
+ 00027620  0x000075b3 fetch  0x00000002 , 0x0000424a 
+ 00027621  0x000075b4 istore  0x00000002 , 0x00000005 
+ 00027622  0x000075b5 fetch  0x00000001 , 0x00004563 
+ 00027623  0x000075b6 lshift  0x0000003f , 0x0000003f 
+ 00027624  0x000075b7 set1  0x00000000 , 0x0000003f 
+ 00027625  0x000075b8 istore  0x00000001 , 0x00000005 
+ 00027626  0x000075b9 bpatchx  0x000000ad , 0x00004035 
+ 00027627  0x000075ba setarg  0x000015ef 
+ 00027628  0x000075bb istore  0x00000002 , 0x00000005 
+ 00027629  0x000075bc setarg  0x00001181 
+ 00027630  0x000075bd istore  0x00000002 , 0x00000005 
+ 00027631  0x000075be fetch  0x00000001 , 0x0000455d 
+ 00027632  0x000075bf istore  0x00000001 , 0x00000005 
+ 00027633  0x000075c0 setarg  0x000000e0 
+ 00027634  0x000075c1 istore  0x00000003 , 0x00000005 
+ 00027635  0x000075c2 fetch  0x00000002 , 0x0000456c 
+ 00027636  0x000075c3 istore  0x00000002 , 0x00000005 
+ 00027637  0x000075c4 setarg  0x00000000 
+ 00027638  0x000075c5 istore  0x00000001 , 0x00000005 
+ 00027639  0x000075c6 fetch  0x00000001 , 0x0000456e 
+ 00027640  0x000075c7 istore  0x00000001 , 0x00000005 
+ 00027641  0x000075c8 call  0x00006a2f 
+ 00027642  0x000075c9 istore  0x00000001 , 0x00000005 
+ 00027643  0x000075ca rtn 
+ 00027644  0x000075cc call  0x000052e0 
+ 00027645  0x000075cd setarg  0x00000008 
+ 00027646  0x000075ce istore  0x00000002 , 0x00000005 
+ 00027647  0x000075cf fetch  0x00000002 , 0x0000424a 
+ 00027648  0x000075d0 istore  0x00000002 , 0x00000005 
+ 00027649  0x000075d1 fetch  0x00000001 , 0x00004563 
+ 00027650  0x000075d2 lshift  0x0000003f , 0x0000003f 
+ 00027651  0x000075d3 set1  0x00000000 , 0x0000003f 
+ 00027652  0x000075d4 istore  0x00000001 , 0x00000005 
+ 00027653  0x000075d5 bpatchx  0x000000ae , 0x00004035 
+ 00027654  0x000075d6 setarg  0x000009ef 
+ 00027655  0x000075d7 istore  0x00000002 , 0x00000005 
+ 00027656  0x000075d8 setarg  0x000005e3 
+ 00027657  0x000075d9 istore  0x00000002 , 0x00000005 
+ 00027658  0x000075da copy  0x00000002 , 0x0000003f 
+ 00027659  0x000075db istore  0x00000001 , 0x00000005 
+ 00027660  0x000075dc setarg  0x0000008d 
+ 00027661  0x000075dd istore  0x00000001 , 0x00000005 
+ 00027662  0x000075de call  0x00006a2f 
+ 00027663  0x000075df istore  0x00000001 , 0x00000005 
+ 00027664  0x000075e0 rtn 
+ 00027665  0x000075e3 call  0x000052d2 
+ 00027666  0x000075e4 call  0x000052e0 
+ 00027667  0x000075e5 setarg  0x00000008 
+ 00027668  0x000075e6 istore  0x00000002 , 0x00000005 
+ 00027669  0x000075e7 fetch  0x00000002 , 0x0000424a 
+ 00027670  0x000075e8 istore  0x00000002 , 0x00000005 
+ 00027671  0x000075e9 copy  0x00000002 , 0x0000000b 
+ 00027672  0x000075ea fetch  0x00000001 , 0x00004563 
+ 00027673  0x000075eb lshift  0x0000003f , 0x0000003f 
+ 00027674  0x000075ec set1  0x00000000 , 0x0000003f 
+ 00027675  0x000075ed istore  0x00000001 , 0x00000005 
+ 00027676  0x000075ee bpatchx  0x000000af , 0x00004035 
+ 00027677  0x000075ef setarg  0x000009ef 
+ 00027678  0x000075f0 istore  0x00000002 , 0x00000005 
+ 00027679  0x000075f1 setarg  0x000005e1 
+ 00027680  0x000075f2 istore  0x00000002 , 0x00000005 
+ 00027681  0x000075f3 copy  0x0000000b , 0x0000003f 
+ 00027682  0x000075f4 istore  0x00000001 , 0x00000005 
+ 00027683  0x000075f5 setarg  0x0000008d 
+ 00027684  0x000075f6 istore  0x00000001 , 0x00000005 
+ 00027685  0x000075f7 call  0x00006a2f 
+ 00027686  0x000075f8 istore  0x00000001 , 0x00000005 
+ 00027687  0x000075f9 rtn 
+ 00027688  0x000075fc bpatchx  0x000000b0 , 0x00004036 
+ 00027689  0x000075fd fetch  0x00000001 , 0x00004569 
+ 00027690  0x000075fe rtn  0x00000034 
+ 00027691  0x000075ff hfetch  0x00000002 , 0x00008112 
+ 00027692  0x00007600 nrtn  0x00000034 
+ 00027693  0x00007601 copy  0x00000011 , 0x0000003f 
+ 00027694  0x00007602 store  0x00000001 , 0x00000a9b 
+ 00027695  0x00007603 storet  0x00000001 , 0x00000a9a 
+ 00027696  0x00007604 call  0x0000526e 
+ 00027697  0x00007605 nrtn  0x00000034 
+ 00027698  0x00007606 call  0x000052d2 
+ 00027699  0x00007607 call  0x000052e0 
+ 00027700  0x00007608 setarg  0x00000005 
+ 00027701  0x00007609 istore  0x00000002 , 0x00000005 
+ 00027702  0x0000760a fetch  0x00000002 , 0x0000424a 
+ 00027703  0x0000760b istore  0x00000002 , 0x00000005 
+ 00027704  0x0000760c fetch  0x00000001 , 0x0000050d 
+ 00027705  0x0000760d istore  0x00000001 , 0x00000005 
+ 00027706  0x0000760e setarg  0x000001ff 
+ 00027707  0x0000760f istore  0x00000002 , 0x00000005 
+ 00027708  0x00007610 fetch  0x00000001 , 0x00004569 
+ 00027709  0x00007611 istore  0x00000001 , 0x00000005 
+ 00027710  0x00007612 fetch  0x00000001 , 0x00004566 
+ 00027711  0x00007613 istore  0x00000001 , 0x00000005 
+ 00027712  0x00007614 jam  0x00000000 , 0x00004569 
+ 00027713  0x00007615 rtn 
+ 00027714  0x00007618 bpatchx  0x000000b1 , 0x00004036 
+ 00027715  0x00007619 fetch  0x00000001 , 0x0000456b 
+ 00027716  0x0000761a rtneq  0x00000001 
+ 00027717  0x0000761b fetch  0x00000002 , 0x000004ff 
+ 00027718  0x0000761c rtn  0x00000034 
+ 00027719  0x0000761d fetch  0x00000001 , 0x00004569 
+ 00027720  0x0000761e increase  0x00000001 , 0x0000003f 
+ 00027721  0x0000761f store  0x00000001 , 0x00004569 
+ 00027722  0x00007620 rtn 
+ 00027723  0x00007623 fetch  0x00000002 , 0x0000456f 
+ 00027724  0x00007624 branch  0x00007f9c 
+ 00027725  0x00007627 bpatchx  0x000000b2 , 0x00004036 
+ 00027726  0x00007629 fetch  0x00000001 , 0x00004568 
+ 00027727  0x0000762a rtn  0x00000034 
+ 00027728  0x0000762b increase  0xffffffff , 0x0000003f 
+ 00027729  0x0000762c store  0x00000001 , 0x00004568 
+ 00027730  0x0000762d fetch  0x00000002 , 0x0000455e 
+ 00027731  0x0000762e fetcht  0x00000002 , 0x0000469f 
+ 00027732  0x0000762f isub  0x00000002 , 0x0000003e 
+ 00027733  0x00007630 branch  0x00006c57 , 0x00000002 
+ 00027734  0x00007631 store  0x00000002 , 0x0000469f 
+ 00027735  0x00007633 fetch  0x00000001 , 0x00004569 
+ 00027736  0x00007634 branch  0x00006c5f , 0x00000034 
+ 00027737  0x00007635 jam  0x00000001 , 0x00000510 
+ 00027738  0x00007636 fetch  0x00000001 , 0x00004566 
+ 00027739  0x00007637 store  0x00000001 , 0x0000050f 
+ 00027740  0x00007638 setarg  0x000000ff 
+ 00027741  0x00007639 store  0x00000001 , 0x0000050e 
+ 00027742  0x0000763a branch  0x00006c64 
+ 00027743  0x0000763c jam  0x00000000 , 0x00000510 
+ 00027744  0x0000763d fetch  0x00000001 , 0x00004565 
+ 00027745  0x0000763e store  0x00000001 , 0x0000050f 
+ 00027746  0x0000763f setarg  0x000000ef 
+ 00027747  0x00007640 store  0x00000001 , 0x0000050e 
+ 00027748  0x00007642 bpatchx  0x000000b3 , 0x00004036 
+ 00027749  0x00007643 fetch  0x00000002 , 0x0000469f 
+ 00027750  0x00007644 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027751  0x00007645 branch  0x00006c6b , 0x00000002 
+ 00027752  0x00007646 fetch  0x00000001 , 0x00000510 
+ 00027753  0x00007647 increase  0x00000001 , 0x0000003f 
+ 00027754  0x00007648 store  0x00000001 , 0x00000510 
+ 00027755  0x0000764a call  0x00006a72 
+ 00027756  0x0000764b fetch  0x00000002 , 0x0000469f 
+ 00027757  0x0000764c increase  0x00000008 , 0x0000003f 
+ 00027758  0x0000764d fetcht  0x00000001 , 0x00000510 
+ 00027759  0x0000764e iadd  0x00000002 , 0x00000011 
+ 00027760  0x00007650 call  0x00005240 
+ 00027761  0x00007651 store  0x00000002 , 0x00000277 
+ 00027762  0x00007652 increase  0x00000004 , 0x0000003f 
+ 00027763  0x00007653 store  0x00000002 , 0x00000279 
+ 00027764  0x00007654 copy  0x0000003f , 0x00000005 
+ 00027765  0x00007655 fetch  0x00000001 , 0x0000050d 
+ 00027766  0x00007656 istore  0x00000001 , 0x00000005 
+ 00027767  0x00007657 fetch  0x00000001 , 0x0000050e 
+ 00027768  0x00007658 istore  0x00000001 , 0x00000005 
+ 00027769  0x00007659 call  0x00006c95 
+ 00027770  0x0000765a call  0x00006ca6 
+ 00027771  0x0000765b bpatchx  0x000000b4 , 0x00004036 
+ 00027772  0x0000765c fetch  0x00000002 , 0x00004571 
+ 00027773  0x0000765d copy  0x0000003f , 0x00000003 
+ 00027774  0x0000765e fetch  0x00000002 , 0x0000469f 
+ 00027775  0x0000765f copy  0x0000003f , 0x00000039 
+ 00027776  0x00007660 call  0x000066ea 
+ 00027777  0x00007661 copy  0x00000005 , 0x00000002 
+ 00027778  0x00007662 copy  0x00000003 , 0x0000003f 
+ 00027779  0x00007663 store  0x00000002 , 0x00004571 
+ 00027780  0x00007664 copy  0x00000002 , 0x00000005 
+ 00027781  0x00007665 fetch  0x00000001 , 0x0000050f 
+ 00027782  0x00007666 istore  0x00000001 , 0x00000005 
+ 00027783  0x00007667 fetch  0x00000002 , 0x00000277 
+ 00027784  0x00007668 copy  0x0000003f , 0x00000005 
+ 00027785  0x00007669 fetch  0x00000002 , 0x0000469f 
+ 00027786  0x0000766a fetcht  0x00000001 , 0x00000510 
+ 00027787  0x0000766b iadd  0x00000002 , 0x0000003f 
+ 00027788  0x0000766c increase  0x00000004 , 0x0000003f 
+ 00027789  0x0000766d istore  0x00000002 , 0x00000005 
+ 00027790  0x0000766e fetch  0x00000002 , 0x0000424a 
+ 00027791  0x0000766f istore  0x00000002 , 0x00000005 
+ 00027792  0x00007670 jam  0x00000000 , 0x00004569 
+ 00027793  0x00007671 fetch  0x00000002 , 0x00004573 
+ 00027794  0x00007672 beq  0x00000000 , 0x00003a97 
+ 00027795  0x00007673 jam  0x00000000 , 0x00000b05 
+ 00027796  0x00007674 rtn 
+ 00027797  0x00007677 bpatchx  0x000000b5 , 0x00004036 
+ 00027798  0x00007678 fetch  0x00000002 , 0x0000469f 
+ 00027799  0x00007679 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027800  0x0000767a nbranch  0x00006c9d , 0x00000002 
+ 00027801  0x0000767b lshift  0x0000003f , 0x0000003f 
+ 00027802  0x0000767c set1  0x00000000 , 0x0000003f 
+ 00027803  0x0000767d istore  0x00000001 , 0x00000005 
+ 00027804  0x0000767e rtn 
+ 00027805  0x00007680 fetch  0x00000002 , 0x0000469f 
+ 00027806  0x00007681 rshift3  0x0000003f , 0x0000003f 
+ 00027807  0x00007682 rshift4  0x0000003f , 0x00000002 
+ 00027808  0x00007683 and_into  0x0000007f , 0x0000003f 
+ 00027809  0x00007684 lshift  0x0000003f , 0x0000003f 
+ 00027810  0x00007685 set0  0x00000000 , 0x0000003f 
+ 00027811  0x00007686 istore  0x00000001 , 0x00000005 
+ 00027812  0x00007687 istoret  0x00000001 , 0x00000005 
+ 00027813  0x00007688 rtn 
+ 00027814  0x0000768a fetch  0x00000001 , 0x00004569 
+ 00027815  0x0000768b rtn  0x00000034 
+ 00027816  0x0000768c istore  0x00000001 , 0x00000005 
+ 00027817  0x0000768d rtn 
+ 00027818  0x00007693 bpatchx  0x000000b6 , 0x00004036 
+ 00027819  0x00007694 call  0x00007d9c 
+ 00027820  0x00007695 call  0x000032f6 
+ 00027821  0x00007696 call  0x0000631b 
+ 00027822  0x00007698 bpatchx  0x000000b7 , 0x00004036 
+ 00027823  0x00007699 call  0x000076dc 
+ 00027824  0x0000769a call  0x000076b5 
+ 00027825  0x0000769b call  0x000076c6 
+ 00027826  0x0000769e call  0x0000526e 
+ 00027827  0x0000769f nrtn  0x00000034 
+ 00027828  0x000076a1 call  0x00004da9 
+ 00027829  0x000076a2 call  0x0000526e 
+ 00027830  0x000076a3 nrtn  0x00000034 
+ 00027831  0x000076a4 bpatchx  0x000000b8 , 0x00004037 
+ 00027832  0x000076a6 call  0x00006cf5 
+ 00027833  0x000076a7 call  0x00004f64 
+ 00027834  0x000076a8 call  0x00006b98 
+ 00027835  0x000076aa call  0x00006cbe 
+ 00027836  0x000076ab bpatchx  0x000000b9 , 0x00004037 
+ 00027837  0x000076ae branch  0x000032f2 
+ 00027838  0x000076b1 fetch  0x00000001 , 0x0000027f 
+ 00027839  0x000076b2 bbit1  0x00000000 , 0x00005087 
+ 00027840  0x000076b3 bbit1  0x00000007 , 0x00005091 
+ 00027841  0x000076b4 rtn 
+ 00027842  0x000076b7 bpatchx  0x000000ba , 0x00004037 
+ 00027843  0x000076b8 call  0x00005274 
+ 00027844  0x000076b9 rtn  0x00000034 
+ 00027845  0x000076ba fetch  0x00000001 , 0x0000004b 
+ 00027846  0x000076bb rtnbit1  0x00000006 
+ 00027847  0x000076bc call  0x00005258 
+ 00027848  0x000076bd store  0x00000002 , 0x0000016f 
+ 00027849  0x000076be copy  0x0000003f , 0x00000006 
+ 00027850  0x000076bf ifetch  0x00000002 , 0x00000006 
+ 00027851  0x000076c0 increase  0x00000004 , 0x0000003f 
+ 00027852  0x000076c1 store  0x00000002 , 0x000041dc 
+ 00027853  0x000076c2 jam  0x00000006 , 0x000041db 
+ 00027854  0x000076c3 bpatchx  0x000000bb , 0x00004037 
+ 00027855  0x000076c4 fetch  0x00000002 , 0x00004246 
+ 00027856  0x000076c5 branch  0x00006cdd , 0x00000034 
+ 00027857  0x000076c6 fetch  0x00000001 , 0x0000004b 
+ 00027858  0x000076c7 rtnbit0  0x00000007 
+ 00027859  0x000076c8 set0  0x00000007 , 0x0000003f 
+ 00027860  0x000076c9 store  0x00000001 , 0x0000004b 
+ 00027861  0x000076ca jam  0x00000005 , 0x000041db 
+ 00027862  0x000076cb fetcht  0x00000002 , 0x00004246 
+ 00027863  0x000076cc fetch  0x00000002 , 0x0000016f 
+ 00027864  0x000076cd iadd  0x00000002 , 0x0000003f 
+ 00027865  0x000076ce store  0x00000002 , 0x0000016f 
+ 00027866  0x000076cf fetch  0x00000002 , 0x000041dc 
+ 00027867  0x000076d0 isub  0x00000002 , 0x0000003f 
+ 00027868  0x000076d1 store  0x00000002 , 0x000041dc 
+ 00027869  0x000076d3 bpatchx  0x000000bc , 0x00004037 
+ 00027870  0x000076d4 fetch  0x00000002 , 0x000041dc 
+ 00027871  0x000076d5 branch  0x00002a8c , 0x00000034 
+ 00027872  0x000076d6 arg  0x00000104 , 0x00000002 
+ 00027873  0x000076d7 isub  0x00000002 , 0x0000003f 
+ 00027874  0x000076d8 nbranch  0x00006ce9 , 0x00000002 
+ 00027875  0x000076d9 bpatchx  0x000000bd , 0x00004037 
+ 00027876  0x000076da storet  0x00000002 , 0x000041dc 
+ 00027877  0x000076db fetch  0x00000002 , 0x00004246 
+ 00027878  0x000076dc iadd  0x00000002 , 0x0000003f 
+ 00027879  0x000076dd store  0x00000002 , 0x00004246 
+ 00027880  0x000076de branch  0x00006ceb 
+ 00027881  0x000076e0 setarg  0x00000000 
+ 00027882  0x000076e1 store  0x00000002 , 0x00004246 
+ 00027883  0x000076e3 fetch  0x00000001 , 0x0000004b 
+ 00027884  0x000076e4 set1  0x00000006 , 0x0000003f 
+ 00027885  0x000076e5 store  0x00000001 , 0x0000004b 
+ 00027886  0x000076e6 rtn 
+ 00027887  0x000076e9 fetch  0x00000001 , 0x00004684 
+ 00027888  0x000076ea bbit1  0x00000000 , 0x00006cf3 
+ 00027889  0x000076eb jam  0x00000001 , 0x00000287 
+ 00027890  0x000076ec rtn 
+ 00027891  0x000076ee jam  0x0000000f , 0x00000287 
+ 00027892  0x000076ef rtn 
+ 00027893  0x000076f2 fetch  0x00000001 , 0x00004681 
+ 00027894  0x000076f3 nbranch  0x00006cfb , 0x00000034 
+ 00027895  0x000076f5 fetch  0x00000001 , 0x00000286 
+ 00027896  0x000076f7 rtn  0x00000034 
+ 00027897  0x000076f9 jam  0x00000000 , 0x00000286 
+ 00027898  0x000076fb rtn 
+ 00027899  0x000076ff bpatchx  0x000000be , 0x00004037 
+ 00027900  0x00007700 fetch  0x00000001 , 0x00000287 
+ 00027901  0x00007701 rtn  0x00000034 
+ 00027902  0x00007702 beq  0x00000001 , 0x00006d1b 
+ 00027903  0x00007703 beq  0x00000002 , 0x00006d74 
+ 00027904  0x00007704 beq  0x00000003 , 0x00006d21 
+ 00027905  0x00007705 beq  0x00000004 , 0x00006d78 
+ 00027906  0x00007706 beq  0x0000003b , 0x00006d2b 
+ 00027907  0x00007707 beq  0x0000003c , 0x00006d7b 
+ 00027908  0x00007708 beq  0x0000000d , 0x00006d30 
+ 00027909  0x00007709 beq  0x0000000e , 0x00006d80 
+ 00027910  0x0000770a beq  0x0000000f , 0x00006d33 
+ 00027911  0x0000770b beq  0x00000010 , 0x00006d86 
+ 00027912  0x0000770c beq  0x00000011 , 0x00006d39 
+ 00027913  0x0000770d beq  0x00000012 , 0x00006d8a 
+ 00027914  0x0000770e beq  0x00000013 , 0x00006d3f 
+ 00027915  0x0000770f beq  0x00000014 , 0x00006d8e 
+ 00027916  0x00007710 beq  0x00000015 , 0x00006d45 
+ 00027917  0x00007711 beq  0x00000016 , 0x00006d92 
+ 00027918  0x00007712 beq  0x00000017 , 0x00006d4b 
+ 00027919  0x00007713 beq  0x00000018 , 0x00006d97 
+ 00027920  0x00007714 beq  0x00000019 , 0x00006d51 
+ 00027921  0x00007715 beq  0x0000001a , 0x00006d9b 
+ 00027922  0x00007716 beq  0x0000001b , 0x00006d57 
+ 00027923  0x00007717 beq  0x0000001c , 0x00006d9f 
+ 00027924  0x00007718 beq  0x0000001d , 0x00006d5d 
+ 00027925  0x00007719 beq  0x0000001e , 0x00006da4 
+ 00027926  0x0000771a beq  0x0000001f , 0x00006d63 
+ 00027927  0x0000771b beq  0x00000020 , 0x00006da8 
+ 00027928  0x0000771c beq  0x00000021 , 0x00006d6e 
+ 00027929  0x0000771d beq  0x00000022 , 0x00006dac 
+ 00027930  0x0000771f rtn 
+ 00027931  0x00007721 call  0x00006db7 
+ 00027932  0x00007722 jam  0x00000002 , 0x00000287 
+ 00027933  0x00007723 fetch  0x00000001 , 0x00004250 
+ 00027934  0x00007724 set1  0x00000000 , 0x0000003f 
+ 00027935  0x00007725 store  0x00000001 , 0x00004250 
+ 00027936  0x00007726 rtn 
+ 00027937  0x00007728 jam  0x00000004 , 0x00000287 
+ 00027938  0x00007729 fetch  0x00000001 , 0x00004250 
+ 00027939  0x0000772a rtnbit1  0x00000002 
+ 00027940  0x0000772b jam  0x00000003 , 0x00000287 
+ 00027941  0x0000772c call  0x00006dbe 
+ 00027942  0x0000772d jam  0x00000004 , 0x00000287 
+ 00027943  0x0000772e fetch  0x00000001 , 0x00004250 
+ 00027944  0x0000772f set1  0x00000002 , 0x0000003f 
+ 00027945  0x00007730 store  0x00000001 , 0x00004250 
+ 00027946  0x00007731 rtn 
+ 00027947  0x00007733 call  0x00005274 
+ 00027948  0x00007734 nrtn  0x00000034 
+ 00027949  0x00007735 call  0x00006dcd 
+ 00027950  0x00007736 jam  0x0000003c , 0x00000287 
+ 00027951  0x00007737 rtn 
+ 00027952  0x00007739 call  0x00006dc3 
+ 00027953  0x0000773a jam  0x0000000e , 0x00000287 
+ 00027954  0x0000773b rtn 
+ 00027955  0x0000773d call  0x00006ddd 
+ 00027956  0x0000773e jam  0x00000010 , 0x00000287 
+ 00027957  0x0000773f fetch  0x00000001 , 0x00004252 
+ 00027958  0x00007740 set1  0x00000000 , 0x0000003f 
+ 00027959  0x00007741 store  0x00000001 , 0x00004252 
+ 00027960  0x00007742 rtn 
+ 00027961  0x00007744 call  0x00006de4 
+ 00027962  0x00007745 jam  0x00000012 , 0x00000287 
+ 00027963  0x00007746 fetch  0x00000001 , 0x00004252 
+ 00027964  0x00007747 set1  0x00000002 , 0x0000003f 
+ 00027965  0x00007748 store  0x00000001 , 0x00004252 
+ 00027966  0x00007749 rtn 
+ 00027967  0x0000774b call  0x00006de9 
+ 00027968  0x0000774c jam  0x00000014 , 0x00000287 
+ 00027969  0x0000774d fetch  0x00000001 , 0x00004253 
+ 00027970  0x0000774e set1  0x00000000 , 0x0000003f 
+ 00027971  0x0000774f store  0x00000001 , 0x00004253 
+ 00027972  0x00007750 rtn 
+ 00027973  0x00007752 call  0x00006df0 
+ 00027974  0x00007753 jam  0x00000016 , 0x00000287 
+ 00027975  0x00007754 fetch  0x00000001 , 0x00004253 
+ 00027976  0x00007755 set1  0x00000002 , 0x0000003f 
+ 00027977  0x00007756 store  0x00000001 , 0x00004253 
+ 00027978  0x00007757 rtn 
+ 00027979  0x00007759 call  0x00006dd1 
+ 00027980  0x0000775a jam  0x00000018 , 0x00000287 
+ 00027981  0x0000775b fetch  0x00000001 , 0x00004251 
+ 00027982  0x0000775c set1  0x00000000 , 0x0000003f 
+ 00027983  0x0000775d store  0x00000001 , 0x00004251 
+ 00027984  0x0000775e rtn 
+ 00027985  0x00007760 call  0x00006dd8 
+ 00027986  0x00007761 jam  0x0000001a , 0x00000287 
+ 00027987  0x00007762 fetch  0x00000001 , 0x00004251 
+ 00027988  0x00007763 set1  0x00000002 , 0x0000003f 
+ 00027989  0x00007764 store  0x00000001 , 0x00004251 
+ 00027990  0x00007765 rtn 
+ 00027991  0x00007767 call  0x00006df5 
+ 00027992  0x00007768 jam  0x0000001c , 0x00000287 
+ 00027993  0x00007769 fetch  0x00000001 , 0x00004251 
+ 00027994  0x0000776a set1  0x00000006 , 0x0000003f 
+ 00027995  0x0000776b store  0x00000001 , 0x00004251 
+ 00027996  0x0000776c rtn 
+ 00027997  0x0000776e call  0x00006dfc 
+ 00027998  0x0000776f fetch  0x00000001 , 0x00004254 
+ 00027999  0x00007770 set1  0x00000000 
+ 00028000  0x00007771 store  0x00000001 , 0x00004254 
+ 00028001  0x00007772 jam  0x0000001e , 0x00000287 
+ 00028002  0x00007773 rtn 
+ 00028003  0x00007775 call  0x00006e02 
+ 00028004  0x00007776 fetch  0x00000001 , 0x00004254 
+ 00028005  0x00007777 set1  0x00000002 
+ 00028006  0x00007778 store  0x00000001 , 0x00004254 
+ 00028007  0x00007779 jam  0x00000020 , 0x00000287 
+ 00028008  0x0000777a fetch  0x00000001 , 0x00004564 
+ 00028009  0x0000777b lshift3  0x0000003f , 0x0000003f 
+ 00028010  0x0000777c or_into  0x00000003 , 0x0000003f 
+ 00028011  0x0000777d arg  0x00004565 , 0x00000002 
+ 00028012  0x0000777e storet  0x00000002 , 0x000004f7 
+ 00028013  0x0000777f branch  0x00006a35 
+ 00028014  0x00007781 call  0x00006e0c 
+ 00028015  0x00007782 fetch  0x00000001 , 0x00004254 
+ 00028016  0x00007783 set1  0x00000004 
+ 00028017  0x00007784 store  0x00000001 , 0x00004254 
+ 00028018  0x00007785 jam  0x00000022 , 0x00000287 
+ 00028019  0x00007786 rtn 
+ 00028020  0x00007789 fetch  0x00000001 , 0x00004250 
+ 00028021  0x0000778a rtnbit0  0x00000001 
+ 00028022  0x0000778b jam  0x00000003 , 0x00000287 
+ 00028023  0x0000778c branch  0x00006cfb 
+ 00028024  0x0000778e fetch  0x00000001 , 0x00004250 
+ 00028025  0x0000778f rtnne  0x0000003f 
+ 00028026  0x00007790 jam  0x0000003b , 0x00000287 
+ 00028027  0x00007792 fetch  0x00000001 , 0x00000285 
+ 00028028  0x00007793 rtnne  0x00000017 
+ 00028029  0x00007794 jam  0x00000000 , 0x00000285 
+ 00028030  0x00007795 jam  0x0000000d , 0x00000287 
+ 00028031  0x00007796 branch  0x00006cfb 
+ 00028032  0x00007798 fetch  0x00000001 , 0x00004250 
+ 00028033  0x00007799 nrtn  0x00000034 
+ 00028034  0x0000779a fetch  0x00000001 , 0x00004684 
+ 00028035  0x0000779b bbit1  0x00000000 , 0x00006daf 
+ 00028036  0x0000779c bbit1  0x00000006 , 0x00006db1 
+ 00028037  0x0000779d branch  0x00006db5 
+ 00028038  0x0000779f fetch  0x00000001 , 0x00004252 
+ 00028039  0x000077a0 rtnbit0  0x00000001 
+ 00028040  0x000077a1 jam  0x00000011 , 0x00000287 
+ 00028041  0x000077a2 branch  0x00006cfb 
+ 00028042  0x000077a4 fetch  0x00000001 , 0x00004252 
+ 00028043  0x000077a5 rtnne  0x0000003f 
+ 00028044  0x000077a6 jam  0x00000013 , 0x00000287 
+ 00028045  0x000077a7 branch  0x00006cfb 
+ 00028046  0x000077a9 fetch  0x00000001 , 0x00004253 
+ 00028047  0x000077aa rtnbit0  0x00000001 
+ 00028048  0x000077ab jam  0x00000015 , 0x00000287 
+ 00028049  0x000077ac branch  0x00006cfb 
+ 00028050  0x000077ae fetch  0x00000001 , 0x00004253 
+ 00028051  0x000077af rtnne  0x0000003f 
+ 00028052  0x000077b0 fetch  0x00000001 , 0x00004684 
+ 00028053  0x000077b1 bbit1  0x00000006 , 0x00006db1 
+ 00028054  0x000077b2 branch  0x00006db5 
+ 00028055  0x000077b4 fetch  0x00000001 , 0x00004251 
+ 00028056  0x000077b5 rtnbit0  0x00000001 
+ 00028057  0x000077b6 jam  0x00000019 , 0x00000287 
+ 00028058  0x000077b7 branch  0x00006cfb 
+ 00028059  0x000077b9 fetch  0x00000001 , 0x00004251 
+ 00028060  0x000077ba rtnne  0x0000003f 
+ 00028061  0x000077bb jam  0x0000001b , 0x00000287 
+ 00028062  0x000077bc branch  0x00006cfb 
+ 00028063  0x000077be fetch  0x00000001 , 0x00004251 
+ 00028064  0x000077bf rtnne  0x000000ff 
+ 00028065  0x000077c0 fetch  0x00000001 , 0x00004684 
+ 00028066  0x000077c1 bbit1  0x00000006 , 0x00006db3 
+ 00028067  0x000077c2 branch  0x00006db5 
+ 00028068  0x000077c4 fetch  0x00000001 , 0x00004254 
+ 00028069  0x000077c5 rtnbit0  0x00000001 
+ 00028070  0x000077c6 jam  0x0000001f , 0x00000287 
+ 00028071  0x000077c7 branch  0x00006cfb 
+ 00028072  0x000077c9 fetch  0x00000001 , 0x00004254 
+ 00028073  0x000077ca rtnbit0  0x00000003 
+ 00028074  0x000077cb jam  0x00000021 , 0x00000287 
+ 00028075  0x000077cc branch  0x00006cfb 
+ 00028076  0x000077ce fetch  0x00000001 , 0x00004254 
+ 00028077  0x000077cf rtnne  0x000000ff 
+ 00028078  0x000077d0 branch  0x00006db5 
+ 00028079  0x000077d3 jam  0x0000000f , 0x00000287 
+ 00028080  0x000077d4 branch  0x00006cfb 
+ 00028081  0x000077d7 jam  0x00000017 , 0x00000287 
+ 00028082  0x000077d8 branch  0x00006cfb 
+ 00028083  0x000077da jam  0x0000001d , 0x00000287 
+ 00028084  0x000077db branch  0x00006cfb 
+ 00028085  0x000077e0 jam  0x00000000 , 0x00000287 
+ 00028086  0x000077e1 rtn 
+ 00028087  0x000077e3 bpatchx  0x000000bf , 0x00004037 
+ 00028088  0x000077e4 call  0x000052b8 
+ 00028089  0x000077e5 setarg  0x00000001 
+ 00028090  0x000077e6 copy  0x0000003f , 0x00000002 
+ 00028091  0x000077e7 setarg  0x00000050 
+ 00028092  0x000077e8 copy  0x0000003f , 0x0000000b 
+ 00028093  0x000077e9 branch  0x000050a8 
+ 00028094  0x000077ec bpatchx  0x000000c0 , 0x00004038 
+ 00028095  0x000077ed call  0x000052b8 
+ 00028096  0x000077ee fetch  0x00000002 , 0x00004248 
+ 00028097  0x000077ef copy  0x0000003f , 0x00000002 
+ 00028098  0x000077f0 branch  0x000050b7 
+ 00028099  0x000077f3 bpatchx  0x000000c1 , 0x00004038 
+ 00028100  0x000077f4 call  0x000052b8 
+ 00028101  0x000077f5 fetch  0x00000002 , 0x00004248 
+ 00028102  0x000077f6 copy  0x0000003f , 0x00000002 
+ 00028103  0x000077f7 arg  0x00000050 , 0x0000000b 
+ 00028104  0x000077f8 call  0x000050cc 
+ 00028105  0x000077f9 fetch  0x00000001 , 0x00004250 
+ 00028106  0x000077fa set0  0x00000005 , 0x0000003f 
+ 00028107  0x000077fb store  0x00000001 , 0x00004250 
+ 00028108  0x000077fc rtn 
+ 00028109  0x000077ff bpatchx  0x000000c2 , 0x00004038 
+ 00028110  0x00007800 call  0x000052c5 
+ 00028111  0x00007801 call  0x00007138 
+ 00028112  0x00007802 branch  0x000050e7 
+ 00028113  0x00007805 bpatchx  0x000000c3 , 0x00004038 
+ 00028114  0x00007806 call  0x000052b8 
+ 00028115  0x00007807 setarg  0x00000003 
+ 00028116  0x00007808 copy  0x0000003f , 0x00000002 
+ 00028117  0x00007809 setarg  0x00000051 
+ 00028118  0x0000780a copy  0x0000003f , 0x0000000b 
+ 00028119  0x0000780b branch  0x000050a8 
+ 00028120  0x0000780e bpatchx  0x000000c4 , 0x00004038 
+ 00028121  0x0000780f call  0x000052b8 
+ 00028122  0x00007810 fetch  0x00000002 , 0x0000424a 
+ 00028123  0x00007811 copy  0x0000003f , 0x00000002 
+ 00028124  0x00007812 branch  0x000050b7 
+ 00028125  0x00007815 bpatchx  0x000000c5 , 0x00004038 
+ 00028126  0x00007816 call  0x000052b8 
+ 00028127  0x00007817 setarg  0x00000011 
+ 00028128  0x00007818 copy  0x0000003f , 0x00000002 
+ 00028129  0x00007819 setarg  0x00000052 
+ 00028130  0x0000781a copy  0x0000003f , 0x0000000b 
+ 00028131  0x0000781b branch  0x000050a8 
+ 00028132  0x0000781e bpatchx  0x000000c6 , 0x00004038 
+ 00028133  0x0000781f call  0x000052b8 
+ 00028134  0x00007820 fetch  0x00000002 , 0x0000424c 
+ 00028135  0x00007821 copy  0x0000003f , 0x00000002 
+ 00028136  0x00007822 branch  0x000050b7 
+ 00028137  0x00007825 bpatchx  0x000000c7 , 0x00004038 
+ 00028138  0x00007826 call  0x000052b8 
+ 00028139  0x00007827 setarg  0x00000013 
+ 00028140  0x00007828 copy  0x0000003f , 0x00000002 
+ 00028141  0x00007829 setarg  0x00000053 
+ 00028142  0x0000782a copy  0x0000003f , 0x0000000b 
+ 00028143  0x0000782b branch  0x000050a8 
+ 00028144  0x0000782e bpatchx  0x000000c8 , 0x00004039 
+ 00028145  0x0000782f call  0x000052b8 
+ 00028146  0x00007830 fetch  0x00000002 , 0x0000424e 
+ 00028147  0x00007831 copy  0x0000003f , 0x00000002 
+ 00028148  0x00007832 branch  0x000050b7 
+ 00028149  0x00007835 bpatchx  0x000000c9 , 0x00004039 
+ 00028150  0x00007836 call  0x000052d2 
+ 00028151  0x00007838 jam  0x00000003 , 0x000004fb 
+ 00028152  0x00007839 jam  0x0000001c , 0x000004fe 
+ 00028153  0x0000783a call  0x00006ba9 
+ 00028154  0x0000783b jam  0x00000001 , 0x00004563 
+ 00028155  0x0000783c rtn 
+ 00028156  0x0000783f bpatchx  0x000000ca , 0x00004039 
+ 00028157  0x00007840 call  0x000052d2 
+ 00028158  0x00007841 fetcht  0x00000001 , 0x00004564 
+ 00028159  0x00007842 call  0x00006a79 
+ 00028160  0x00007843 storet  0x00000001 , 0x0000455d 
+ 00028161  0x00007844 branch  0x00006bc4 
+ 00028162  0x00007847 bpatchx  0x000000cb , 0x00004039 
+ 00028163  0x00007848 call  0x000052d2 
+ 00028164  0x00007849 fetcht  0x00000001 , 0x0000455d 
+ 00028165  0x0000784a call  0x00006a73 
+ 00028166  0x0000784b call  0x00006a1a 
+ 00028167  0x0000784c store  0x00000001 , 0x000004fe 
+ 00028168  0x0000784d fetcht  0x00000001 , 0x0000455d 
+ 00028169  0x0000784e call  0x00006a73 
+ 00028170  0x0000784f storet  0x00000001 , 0x000004fb 
+ 00028171  0x00007850 branch  0x00006ba9 
+ 00028172  0x00007853 bpatchx  0x000000cc , 0x00004039 
+ 00028173  0x00007854 call  0x000052d2 
+ 00028174  0x00007855 fetcht  0x00000001 , 0x0000455d 
+ 00028175  0x00007856 call  0x00006a73 
+ 00028176  0x00007857 branch  0x00006bfc 
+ 00028177  0x00007865 bpatchx  0x000000cd , 0x00004039 
+ 00028178  0x00007866 fetch  0x00000002 , 0x00000264 
+ 00028179  0x00007867 iforce  0x00000006 
+ 00028180  0x0000786a ifetch  0x00000001 , 0x00000006 
+ 00028181  0x0000786b copy  0x0000003f , 0x00000012 
+ 00028182  0x0000786c store  0x00000001 , 0x0000051b 
+ 00028183  0x0000786d ifetch  0x00000002 , 0x00000006 
+ 00028184  0x0000786e store  0x00000002 , 0x0000051c 
+ 00028185  0x0000786f ifetch  0x00000001 , 0x00000006 
+ 00028186  0x00007870 lshift8  0x0000003f , 0x0000000b 
+ 00028187  0x00007871 ifetch  0x00000001 , 0x00000006 
+ 00028188  0x00007872 iadd  0x0000000b , 0x0000000b 
+ 00028189  0x00007873 bpatchx  0x000000ce , 0x00004039 
+ 00028190  0x00007874 copy  0x00000006 , 0x00000002 
+ 00028191  0x00007875 arg  0x00000004 , 0x00000039 
+ 00028192  0x00007876 arg  0x0000052a , 0x00000005 
+ 00028193  0x00007877 call  0x00007ec6 
+ 00028194  0x00007878 copy  0x00000002 , 0x00000006 
+ 00028195  0x00007879 deposit  0x00000012 
+ 00028196  0x0000787a beq  0x00000001 , 0x00006fba 
+ 00028197  0x0000787b beq  0x00000002 , 0x00006e2c 
+ 00028198  0x0000787c beq  0x00000003 , 0x00006fba 
+ 00028199  0x0000787d beq  0x00000004 , 0x00006e54 
+ 00028200  0x0000787e beq  0x00000005 , 0x00006fba 
+ 00028201  0x0000787f beq  0x00000006 , 0x00006f02 
+ 00028202  0x00007880 beq  0x00000007 , 0x00006fba 
+ 00028203  0x00007881 branch  0x00006fc1 
+ 00028204  0x0000788d bpatchx  0x000000cf , 0x00004039 
+ 00028205  0x0000788e call  0x00006fd0 
+ 00028206  0x0000788f compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00028207  0x00007890 branch  0x00007040 , 0x00000001 
+ 00028208  0x00007891 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028209  0x00007892 branch  0x00006fc4 , 0x00000001 
+ 00028210  0x00007894 ifetch  0x00000002 , 0x00000006 
+ 00028211  0x00007895 store  0x00000002 , 0x00000522 
+ 00028212  0x00007896 increase  0xfffffffe , 0x0000000b 
+ 00028213  0x00007898 increase  0xffffffff , 0x0000000b 
+ 00028214  0x00007899 nbranch  0x00006fbe , 0x00000005 
+ 00028215  0x0000789a arg  0x00000511 , 0x0000000b 
+ 00028216  0x0000789b ifetch  0x00000002 , 0x0000000b 
+ 00028217  0x0000789c rtn  0x00000034 
+ 00028218  0x0000789d call  0x00007082 
+ 00028219  0x0000789e call  0x000052d0 
+ 00028220  0x0000789f force  0x00000003 , 0x0000003f 
+ 00028221  0x000078a0 istore  0x00000001 , 0x00000005 
+ 00028222  0x000078a1 fetch  0x00000002 , 0x0000051c 
+ 00028223  0x000078a2 istore  0x00000002 , 0x00000005 
+ 00028224  0x000078a3 lshift2  0x00000007 , 0x0000003f 
+ 00028225  0x000078a4 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00028226  0x000078a5 add  0x0000003f , 0x00000005 , 0x00000013 
+ 00028227  0x000078a6 byteswap  0x0000003f , 0x0000003f 
+ 00028228  0x000078a7 istore  0x00000002 , 0x00000005 
+ 00028229  0x000078a8 deposit  0x00000007 
+ 00028230  0x000078a9 byteswap  0x0000003f , 0x0000003f 
+ 00028231  0x000078aa istore  0x00000002 , 0x00000005 
+ 00028232  0x000078ab istore  0x00000002 , 0x00000005 
+ 00028233  0x000078ac arg  0x0000052a , 0x00000006 
+ 00028234  0x000078ad copy  0x00000007 , 0x00000039 
+ 00028235  0x000078ae branch  0x00006e4f , 0x00000005 
+ 00028236  0x000078b0 ifetch  0x00000004 , 0x00000006 
+ 00028237  0x000078b1 istore  0x00000004 , 0x00000005 
+ 00028238  0x000078b2 loop  0x00006e4c 
+ 00028239  0x000078b4 force  0x00000000 , 0x0000003f 
+ 00028240  0x000078b5 istore  0x00000001 , 0x00000005 
+ 00028241  0x000078b6 deposit  0x00000013 
+ 00028242  0x000078b7 store  0x00000002 , 0x00000275 
+ 00028243  0x000078b9 rtn 
+ 00028244  0x000078c5 bpatchx  0x000000d0 , 0x0000403a 
+ 00028245  0x000078c6 ifetch  0x00000004 , 0x00000006 
+ 00028246  0x000078c7 store  0x00000004 , 0x00000524 
+ 00028247  0x000078c8 increase  0xfffffffc , 0x0000000b 
+ 00028248  0x000078c9 call  0x00006f2e 
+ 00028249  0x000078ca store  0x00000002 , 0x00000520 
+ 00028250  0x000078cb increase  0xfffffffe , 0x0000000b 
+ 00028251  0x000078cc call  0x00007028 
+ 00028252  0x000078cd branch  0x00006fc4 , 0x00000005 
+ 00028253  0x000078ce compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00028254  0x000078d0 branch  0x00006e62 , 0x00000001 
+ 00028255  0x000078d2 arg  0x0000052a , 0x00000005 
+ 00028256  0x000078d3 force  0x00000000 , 0x00000007 
+ 00028257  0x000078d4 branch  0x00006e71 
+ 00028258  0x000078d6 ifetch  0x00000001 , 0x00000006 
+ 00028259  0x000078d7 bne  0x0000000a , 0x00006fc4 
+ 00028260  0x000078d8 ifetch  0x00000002 , 0x00000006 
+ 00028261  0x000078d9 nbranch  0x00006e6f , 0x00000034 
+ 00028262  0x000078da ifetch  0x00000001 , 0x00000006 
+ 00028263  0x000078db bne  0x000000ff , 0x00006e6d 
+ 00028264  0x000078dc ifetch  0x00000001 , 0x00000006 
+ 00028265  0x000078dd bne  0x000000ff , 0x00006e6b 
+ 00028266  0x000078de branch  0x00006eb8 
+ 00028267  0x000078e0 increase  0xfffffffb , 0x00000006 
+ 00028268  0x000078e1 branch  0x00006e5f 
+ 00028269  0x000078e3 increase  0xfffffffc , 0x00000006 
+ 00028270  0x000078e4 branch  0x00006e5f 
+ 00028271  0x000078e6 increase  0xfffffffd , 0x00000006 
+ 00028272  0x000078e7 branch  0x00006e5f 
+ 00028273  0x000078e9 ifetch  0x00000001 , 0x00000006 
+ 00028274  0x000078ea beq  0x00000009 , 0x00006e86 
+ 00028275  0x000078eb beq  0x0000000a , 0x00006e74 
+ 00028276  0x000078ed ifetch  0x00000002 , 0x00000006 
+ 00028277  0x000078ee istore  0x00000002 , 0x00000005 
+ 00028278  0x000078ef increase  0x00000001 , 0x00000007 
+ 00028279  0x000078f0 byteswap  0x0000003f , 0x00000012 
+ 00028280  0x000078f1 ifetch  0x00000002 , 0x00000006 
+ 00028281  0x000078f2 byteswap  0x0000003f , 0x0000003f 
+ 00028282  0x000078f4 increase  0x00000001 , 0x00000012 
+ 00028283  0x000078f5 isub  0x00000012 , 0x0000003e 
+ 00028284  0x000078f6 nbranch  0x00006e83 , 0x00000002 
+ 00028285  0x000078f7 copy  0x0000003f , 0x00000013 
+ 00028286  0x000078f8 byteswap  0x00000012 , 0x0000003f 
+ 00028287  0x000078f9 istore  0x00000002 , 0x00000005 
+ 00028288  0x000078fa increase  0x00000001 , 0x00000007 
+ 00028289  0x000078fb copy  0x00000013 , 0x0000003f 
+ 00028290  0x000078fc branch  0x00006e7a 
+ 00028291  0x000078fe increase  0xfffffffb , 0x0000000b 
+ 00028292  0x000078ff increase  0xfffffffb , 0x00000011 
+ 00028293  0x00007900 branch  0x00006e8b 
+ 00028294  0x00007902 ifetch  0x00000002 , 0x00000006 
+ 00028295  0x00007903 istore  0x00000002 , 0x00000005 
+ 00028296  0x00007904 increase  0x00000001 , 0x00000007 
+ 00028297  0x00007905 increase  0xfffffffd , 0x0000000b 
+ 00028298  0x00007906 increase  0xfffffffd , 0x00000011 
+ 00028299  0x00007908 nbranch  0x00006fc4 , 0x00000002 
+ 00028300  0x00007909 nbranch  0x00006e71 , 0x00000005 
+ 00028301  0x0000790a increase  0xffffffff , 0x0000000b 
+ 00028302  0x0000790b nbranch  0x00006fc4 , 0x00000005 
+ 00028303  0x0000790d call  0x000052d0 
+ 00028304  0x0000790e increase  0x0000000a , 0x00000005 
+ 00028305  0x0000790f arg  0x0000052a , 0x00000011 
+ 00028306  0x00007911 copy  0x00000007 , 0x0000003f 
+ 00028307  0x00007912 branch  0x00006ea5 , 0x00000034 
+ 00028308  0x00007913 ifetch  0x00000002 , 0x00000011 
+ 00028309  0x00007914 branch  0x00006ea5 , 0x00000034 
+ 00028310  0x00007915 iforce  0x00000012 
+ 00028311  0x00007916 fetch  0x00000004 , 0x00000524 
+ 00028312  0x00007917 iforce  0x00000002 
+ 00028313  0x00007918 call  0x000070e7 
+ 00028314  0x00007919 copy  0x00000006 , 0x0000003f 
+ 00028315  0x0000791a branch  0x00006ea2 , 0x00000034 
+ 00028316  0x0000791b increase  0xfffffffd , 0x00000006 
+ 00028317  0x0000791c ifetch  0x00000003 , 0x00000006 
+ 00028318  0x0000791d istore  0x00000003 , 0x00000005 
+ 00028319  0x0000791e call  0x0000705b 
+ 00028320  0x0000791f iforce  0x00000039 
+ 00028321  0x00007920 call  0x00007f01 
+ 00028322  0x00007922 increase  0x00000002 , 0x00000011 
+ 00028323  0x00007923 increase  0xffffffff , 0x00000007 
+ 00028324  0x00007924 branch  0x00006e92 
+ 00028325  0x00007927 arg  0x00000005 , 0x00000011 
+ 00028326  0x00007928 call  0x00006f84 
+ 00028327  0x00007929 fetch  0x00000002 , 0x00000275 
+ 00028328  0x0000792a beq  0x0000000b , 0x00007043 
+ 00028329  0x0000792b branch  0x00006f9a 
+ 00028330  0x0000792f ifetch  0x00000001 , 0x00000006 
+ 00028331  0x00007930 beq  0x00000000 , 0x00006eae 
+ 00028332  0x00007931 beq  0x00000001 , 0x00006eb0 
+ 00028333  0x00007932 beq  0x00000002 , 0x00006eb3 
+ 00028334  0x00007934 increase  0xffffffff , 0x0000000b 
+ 00028335  0x00007935 branch  0x00006eb6 
+ 00028336  0x00007937 ifetch  0x00000001 , 0x00000006 
+ 00028337  0x00007938 increase  0xfffffffe , 0x0000000b 
+ 00028338  0x00007939 branch  0x00006eb6 
+ 00028339  0x0000793b ifetch  0x00000002 , 0x00000006 
+ 00028340  0x0000793c byteswap  0x0000003f , 0x0000003f 
+ 00028341  0x0000793d increase  0xfffffffd , 0x0000000b 
+ 00028342  0x0000793f store  0x00000002 , 0x00000519 
+ 00028343  0x00007940 rtn 
+ 00028344  0x00007943 increase  0xfffffffb , 0x0000000b 
+ 00028345  0x00007944 call  0x00006eaa 
+ 00028346  0x00007945 nbranch  0x00006fbe , 0x00000005 
+ 00028347  0x00007946 fetcht  0x00000004 , 0x00000524 
+ 00028348  0x00007947 call  0x000070b1 
+ 00028349  0x00007948 nbranch  0x00006fbb , 0x00000005 
+ 00028350  0x00007949 copy  0x00000006 , 0x00000011 
+ 00028351  0x0000794a call  0x000052d0 
+ 00028352  0x0000794b copy  0x00000011 , 0x00000006 
+ 00028353  0x0000794c increase  0x00000003 , 0x00000005 
+ 00028354  0x0000794d copy  0x00000006 , 0x0000000b 
+ 00028355  0x0000794e call  0x00007062 
+ 00028356  0x0000794f copy  0x0000003f , 0x00000011 
+ 00028357  0x00007951 fetch  0x00000002 , 0x00000519 
+ 00028358  0x00007952 copy  0x0000003f , 0x00000012 
+ 00028359  0x00007953 copy  0x00000011 , 0x0000003f 
+ 00028360  0x00007954 isub  0x00000012 , 0x00000012 
+ 00028361  0x00007955 fetch  0x00000002 , 0x00000520 
+ 00028362  0x00007956 isub  0x00000012 , 0x0000003e 
+ 00028363  0x00007957 nbranch  0x00006ee7 , 0x00000002 
+ 00028364  0x00007959 disable  0x00000028 
+ 00028365  0x0000795a fetch  0x00000002 , 0x00000519 
+ 00028366  0x0000795b branch  0x00006eda , 0x00000034 
+ 00028367  0x0000795c iadd  0x0000000b , 0x00000006 
+ 00028368  0x0000795d increase  0x00000003 , 0x00000012 
+ 00028369  0x0000795e copy  0x00000012 , 0x00000039 
+ 00028370  0x0000795f copy  0x00000039 , 0x0000003f 
+ 00028371  0x00007960 increase  0x00000003 , 0x0000003f 
+ 00028372  0x00007961 byteswap  0x0000003f , 0x0000003f 
+ 00028373  0x00007962 istore  0x00000002 , 0x00000005 
+ 00028374  0x00007963 copy  0x00000039 , 0x0000003f 
+ 00028375  0x00007964 byteswap  0x0000003f , 0x0000003f 
+ 00028376  0x00007965 istore  0x00000002 , 0x00000005 
+ 00028377  0x00007966 branch  0x00006ef5 
+ 00028378  0x00007968 add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028379  0x00007969 branch  0x00006ede , 0x00000028 
+ 00028380  0x0000796a byteswap  0x00000039 , 0x0000003f 
+ 00028381  0x0000796b branch  0x00006ee1 
+ 00028382  0x0000796d copy  0x00000039 , 0x0000003f 
+ 00028383  0x0000796e increase  0x00000002 , 0x0000003f 
+ 00028384  0x0000796f byteswap  0x0000003f , 0x0000003f 
+ 00028385  0x00007971 istore  0x00000002 , 0x00000005 
+ 00028386  0x00007972 increase  0xfffffffd , 0x00000039 
+ 00028387  0x00007973 byteswap  0x00000039 , 0x0000003f 
+ 00028388  0x00007974 istore  0x00000002 , 0x00000005 
+ 00028389  0x00007975 copy  0x0000000b , 0x00000006 
+ 00028390  0x00007976 branch  0x00006ef5 
+ 00028391  0x00007978 enable  0x00000028 
+ 00028392  0x0000797a fetch  0x00000002 , 0x00000520 
+ 00028393  0x0000797b copy  0x0000003f , 0x00000011 
+ 00028394  0x0000797c copy  0x00000011 , 0x00000039 
+ 00028395  0x0000797d fetch  0x00000002 , 0x00000519 
+ 00028396  0x0000797e branch  0x00006eda , 0x00000034 
+ 00028397  0x0000797f iadd  0x0000000b , 0x00000006 
+ 00028398  0x00007980 copy  0x00000011 , 0x0000003f 
+ 00028399  0x00007981 increase  0x00000005 , 0x0000003f 
+ 00028400  0x00007982 byteswap  0x0000003f , 0x0000003f 
+ 00028401  0x00007983 istore  0x00000002 , 0x00000005 
+ 00028402  0x00007984 copy  0x00000011 , 0x0000003f 
+ 00028403  0x00007985 byteswap  0x0000003f , 0x0000003f 
+ 00028404  0x00007986 istore  0x00000002 , 0x00000005 
+ 00028405  0x00007988 call  0x00007f01 
+ 00028406  0x00007989 nbranch  0x00006efe , 0x00000028 
+ 00028407  0x0000798a force  0x00000002 , 0x0000003f 
+ 00028408  0x0000798b istore  0x00000001 , 0x00000005 
+ 00028409  0x0000798c copy  0x00000006 , 0x0000003f 
+ 00028410  0x0000798d isub  0x0000000b , 0x0000003f 
+ 00028411  0x0000798e byteswap  0x0000003f , 0x0000003f 
+ 00028412  0x0000798f istore  0x00000002 , 0x00000005 
+ 00028413  0x00007990 branch  0x00006f00 
+ 00028414  0x00007992 force  0x00000000 , 0x0000003f 
+ 00028415  0x00007993 istore  0x00000001 , 0x00000005 
+ 00028416  0x00007995 arg  0x00000005 , 0x00000011 
+ 00028417  0x00007996 branch  0x00006fb0 
+ 00028418  0x000079a2 bpatchx  0x000000d1 , 0x0000403a 
+ 00028419  0x000079a3 call  0x00006fd0 
+ 00028420  0x000079a4 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028421  0x000079a5 branch  0x00006fc4 , 0x00000001 
+ 00028422  0x000079a6 call  0x00006f2e 
+ 00028423  0x000079a7 store  0x00000002 , 0x00000520 
+ 00028424  0x000079a8 increase  0xfffffffe , 0x0000000b 
+ 00028425  0x000079a9 call  0x00007028 
+ 00028426  0x000079aa arg  0x0000052a , 0x00000005 
+ 00028427  0x000079ab force  0x00000000 , 0x00000007 
+ 00028428  0x000079ad ifetch  0x00000001 , 0x00000006 
+ 00028429  0x000079ae beq  0x0000000a , 0x00006f36 
+ 00028430  0x000079af ifetch  0x00000002 , 0x00000006 
+ 00028431  0x000079b0 istore  0x00000002 , 0x00000005 
+ 00028432  0x000079b1 increase  0x00000001 , 0x00000007 
+ 00028433  0x000079b2 increase  0xfffffffd , 0x0000000b 
+ 00028434  0x000079b3 increase  0xfffffffd , 0x00000011 
+ 00028435  0x000079b4 nbranch  0x00006fc4 , 0x00000002 
+ 00028436  0x000079b5 nbranch  0x00006f0c , 0x00000005 
+ 00028437  0x000079b6 increase  0xffffffff , 0x0000000b 
+ 00028438  0x000079b7 nbranch  0x00006fc4 , 0x00000005 
+ 00028439  0x000079b8 call  0x000052d0 
+ 00028440  0x000079b9 increase  0x0000000d , 0x00000005 
+ 00028441  0x000079ba fetch  0x00000002 , 0x00000511 
+ 00028442  0x000079bb iforce  0x00000013 
+ 00028443  0x000079bc arg  0x0000052a , 0x00000011 
+ 00028444  0x000079be ifetch  0x00000002 , 0x00000011 
+ 00028445  0x000079bf branch  0x00006f29 , 0x00000034 
+ 00028446  0x000079c0 iforce  0x00000012 
+ 00028447  0x000079c1 call  0x000070c6 
+ 00028448  0x000079c2 branch  0x00006f27 , 0x00000034 
+ 00028449  0x000079c3 increase  0xfffffffd , 0x00000006 
+ 00028450  0x000079c4 ifetch  0x00000003 , 0x00000006 
+ 00028451  0x000079c5 istore  0x00000003 , 0x00000005 
+ 00028452  0x000079c6 call  0x0000705b 
+ 00028453  0x000079c7 iforce  0x00000039 
+ 00028454  0x000079c8 call  0x00007f01 
+ 00028455  0x000079ca increase  0x00000002 , 0x00000011 
+ 00028456  0x000079cb branch  0x00006f1c 
+ 00028457  0x000079ce call  0x00006f83 
+ 00028458  0x000079cf fetch  0x00000002 , 0x00000275 
+ 00028459  0x000079d0 beq  0x0000000e , 0x00007046 
+ 00028460  0x000079d1 call  0x00006f9a 
+ 00028461  0x000079d2 branch  0x00006f9a 
+ 00028462  0x000079d6 ifetch  0x00000002 , 0x00000006 
+ 00028463  0x000079d7 byteswap  0x0000003f , 0x0000003f 
+ 00028464  0x000079d8 increase  0xfffffffd , 0x0000003f 
+ 00028465  0x000079d9 arg  0x000000c8 , 0x00000002 
+ 00028466  0x000079da isub  0x00000002 , 0x0000003e 
+ 00028467  0x000079db nrtn  0x00000002 
+ 00028468  0x000079dc setarg  0x000000c8 
+ 00028469  0x000079dd rtn 
+ 00028470  0x000079e1 increase  0x00000004 , 0x00000006 
+ 00028471  0x000079e2 increase  0xfffffffb , 0x0000000b 
+ 00028472  0x000079e3 increase  0xfffffffb , 0x00000011 
+ 00028473  0x000079e4 nbranch  0x00006fc4 , 0x00000005 
+ 00028474  0x000079e5 call  0x00006eaa 
+ 00028475  0x000079e6 nbranch  0x00006fbe , 0x00000005 
+ 00028476  0x000079e7 arg  0x00000511 , 0x0000000b 
+ 00028477  0x000079e8 call  0x00007082 
+ 00028478  0x000079e9 deposit  0x00000007 
+ 00028479  0x000079ea branch  0x00007046 , 0x00000034 
+ 00028480  0x000079eb store  0x00000001 , 0x0000054e 
+ 00028481  0x000079ed copy  0x00000012 , 0x0000003f 
+ 00028482  0x000079ee store  0x00000002 , 0x0000054c 
+ 00028483  0x000079ef arg  0x00000000 , 0x00000007 
+ 00028484  0x000079f0 arg  0x00000000 , 0x00000011 
+ 00028485  0x000079f1 call  0x000052d0 
+ 00028486  0x000079f2 increase  0x0000000a , 0x00000005 
+ 00028487  0x000079f4 call  0x00006f6c 
+ 00028488  0x000079f5 nbranch  0x00002a8c , 0x00000028 
+ 00028489  0x000079f6 copy  0x00000006 , 0x0000000b 
+ 00028490  0x000079f7 copy  0x0000003f , 0x00000013 
+ 00028491  0x000079f8 iadd  0x00000011 , 0x00000011 
+ 00028492  0x000079fb fetch  0x00000002 , 0x00000519 
+ 00028493  0x000079fc copy  0x0000003f , 0x00000012 
+ 00028494  0x000079fd branch  0x00006f75 , 0x00000034 
+ 00028495  0x000079ff copy  0x00000011 , 0x0000003f 
+ 00028496  0x00007a00 isub  0x00000012 , 0x00000012 
+ 00028497  0x00007a01 branch  0x00006f67 , 0x00000005 
+ 00028498  0x00007a02 nbranch  0x00006f67 , 0x00000002 
+ 00028499  0x00007a03 fetch  0x00000002 , 0x00000520 
+ 00028500  0x00007a04 isub  0x00000012 , 0x0000003e 
+ 00028501  0x00007a05 branch  0x00006f5e , 0x00000005 
+ 00028502  0x00007a06 nbranch  0x00006f5e , 0x00000002 
+ 00028503  0x00007a0a copy  0x00000012 , 0x00000039 
+ 00028504  0x00007a0b call  0x00006f61 
+ 00028505  0x00007a0c fetch  0x00000001 , 0x0000054e 
+ 00028506  0x00007a0d increase  0x00000001 , 0x00000007 
+ 00028507  0x00007a0e isub  0x00000007 , 0x0000003e 
+ 00028508  0x00007a0f branch  0x00006f83 , 0x00000005 
+ 00028509  0x00007a10 branch  0x00006fa0 
+ 00028510  0x00007a13 copy  0x0000003f , 0x00000039 
+ 00028511  0x00007a14 call  0x00006f61 
+ 00028512  0x00007a15 branch  0x00006fa0 
+ 00028513  0x00007a18 increase  0xfffffffd , 0x00000005 
+ 00028514  0x00007a19 copy  0x00000039 , 0x00000002 
+ 00028515  0x00007a1a copy  0x00000013 , 0x0000003f 
+ 00028516  0x00007a1b isub  0x00000012 , 0x0000003f 
+ 00028517  0x00007a1c iadd  0x0000000b , 0x00000006 
+ 00028518  0x00007a1d branch  0x00007f01 
+ 00028519  0x00007a20 fetch  0x00000001 , 0x0000054e 
+ 00028520  0x00007a21 increase  0x00000001 , 0x00000007 
+ 00028521  0x00007a22 isub  0x00000007 , 0x0000003e 
+ 00028522  0x00007a23 rtn  0x00000005 
+ 00028523  0x00007a24 branch  0x00006f47 
+ 00028524  0x00007a27 call  0x00007fe9 
+ 00028525  0x00007a28 arg  0x0000052a , 0x00000006 
+ 00028526  0x00007a29 lshift2  0x00000007 , 0x0000003f 
+ 00028527  0x00007a2a iadd  0x00000006 , 0x00000006 
+ 00028528  0x00007a2b ifetcht  0x00000004 , 0x00000006 
+ 00028529  0x00007a2c call  0x000070b1 
+ 00028530  0x00007a2d nrtn  0x00000005 
+ 00028531  0x00007a2e call  0x0000705b 
+ 00028532  0x00007a2f branch  0x00007fe7 
+ 00028533  0x00007a32 fetch  0x00000002 , 0x00000520 
+ 00028534  0x00007a33 isub  0x00000011 , 0x0000003e 
+ 00028535  0x00007a34 nbranch  0x00006f8f , 0x00000002 
+ 00028536  0x00007a35 copy  0x00000011 , 0x00000039 
+ 00028537  0x00007a36 copy  0x00000039 , 0x00000002 
+ 00028538  0x00007a37 copy  0x0000000b , 0x00000006 
+ 00028539  0x00007a38 call  0x00007f01 
+ 00028540  0x00007a39 fetch  0x00000002 , 0x0000054c 
+ 00028541  0x00007a3a isub  0x00000011 , 0x0000003e 
+ 00028542  0x00007a3b branch  0x00006f81 , 0x00000005 
+ 00028543  0x00007a3d call  0x00006fa0 
+ 00028544  0x00007a3e branch  0x00006f94 
+ 00028545  0x00007a41 call  0x00006f83 
+ 00028546  0x00007a42 branch  0x00006f94 
+ 00028547  0x00007a45 arg  0x00000007 , 0x00000011 
+ 00028548  0x00007a47 force  0x00000000 , 0x0000003f 
+ 00028549  0x00007a48 istore  0x00000001 , 0x00000005 
+ 00028550  0x00007a49 call  0x00006fb0 
+ 00028551  0x00007a4a fetcht  0x00000002 , 0x00000275 
+ 00028552  0x00007a4b increase  0xfffffffb , 0x00000002 
+ 00028553  0x00007a4c byteswap  0x00000002 , 0x0000003f 
+ 00028554  0x00007a4d istore  0x00000002 , 0x00000005 
+ 00028555  0x00007a4e increase  0xfffffffd , 0x00000002 
+ 00028556  0x00007a4f byteswap  0x00000002 , 0x0000003f 
+ 00028557  0x00007a50 istore  0x00000002 , 0x00000005 
+ 00028558  0x00007a51 rtn 
+ 00028559  0x00007a54 copy  0x0000003f , 0x00000039 
+ 00028560  0x00007a55 copy  0x00000039 , 0x00000002 
+ 00028561  0x00007a56 copy  0x0000000b , 0x00000006 
+ 00028562  0x00007a57 call  0x00007f01 
+ 00028563  0x00007a58 call  0x00006fa0 
+ 00028564  0x00007a5a setarg  0x00000036 
+ 00028565  0x00007a5b istore  0x00000001 , 0x00000005 
+ 00028566  0x00007a5c fetch  0x00000002 , 0x0000054c 
+ 00028567  0x00007a5d byteswap  0x0000003f , 0x0000003f 
+ 00028568  0x00007a5e istore  0x00000002 , 0x00000005 
+ 00028569  0x00007a5f rtn 
+ 00028570  0x00007a62 setarg  0x00000036 
+ 00028571  0x00007a63 istore  0x00000001 , 0x00000005 
+ 00028572  0x00007a64 increase  0xfffffffd , 0x00000002 
+ 00028573  0x00007a65 byteswap  0x00000002 , 0x0000003f 
+ 00028574  0x00007a66 istore  0x00000002 , 0x00000005 
+ 00028575  0x00007a67 rtn 
+ 00028576  0x00007a6a arg  0x00000007 , 0x00000011 
+ 00028577  0x00007a6b setarg  0x00000002 
+ 00028578  0x00007a6c istore  0x00000001 , 0x00000005 
+ 00028579  0x00007a6d fetch  0x00000002 , 0x00000519 
+ 00028580  0x00007a6e iadd  0x00000002 , 0x00000002 
+ 00028581  0x00007a6f byteswap  0x00000002 , 0x0000003f 
+ 00028582  0x00007a70 istore  0x00000002 , 0x00000005 
+ 00028583  0x00007a71 call  0x00006fb0 
+ 00028584  0x00007a72 fetcht  0x00000002 , 0x00000275 
+ 00028585  0x00007a73 increase  0xfffffffb , 0x00000002 
+ 00028586  0x00007a74 byteswap  0x00000002 , 0x0000003f 
+ 00028587  0x00007a75 istore  0x00000002 , 0x00000005 
+ 00028588  0x00007a76 increase  0xfffffffb , 0x00000002 
+ 00028589  0x00007a77 byteswap  0x00000002 , 0x0000003f 
+ 00028590  0x00007a78 istore  0x00000002 , 0x00000005 
+ 00028591  0x00007a79 rtn 
+ 00028592  0x00007a7c fetch  0x00000002 , 0x00000273 
+ 00028593  0x00007a7d isub  0x00000005 , 0x0000003f 
+ 00028594  0x00007a7e sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028595  0x00007a7f store  0x00000002 , 0x00000275 
+ 00028596  0x00007a80 call  0x000052d0 
+ 00028597  0x00007a81 copy  0x00000011 , 0x0000003f 
+ 00028598  0x00007a82 istore  0x00000001 , 0x00000005 
+ 00028599  0x00007a83 fetch  0x00000002 , 0x0000051c 
+ 00028600  0x00007a84 istore  0x00000002 , 0x00000005 
+ 00028601  0x00007a85 rtn 
+ 00028602  0x00007a96 rtn 
+ 00028603  0x00007ab8 setarg  0x00000200 
+ 00028604  0x00007ab9 store  0x00000002 , 0x0000054a 
+ 00028605  0x00007aba branch  0x00006fc6 
+ 00028606  0x00007abc setarg  0x00000400 
+ 00028607  0x00007abd store  0x00000002 , 0x0000054a 
+ 00028608  0x00007abe branch  0x00006fc6 
+ 00028609  0x00007ac0 setarg  0x00000600 
+ 00028610  0x00007ac1 store  0x00000002 , 0x0000054a 
+ 00028611  0x00007ac2 branch  0x00006fc6 
+ 00028612  0x00007ac4 setarg  0x00000300 
+ 00028613  0x00007ac5 store  0x00000002 , 0x0000054a 
+ 00028614  0x00007ac7 call  0x000052d0 
+ 00028615  0x00007ac8 istore  0x00000001 , 0x00000005 
+ 00028616  0x00007ac9 fetch  0x00000002 , 0x0000051c 
+ 00028617  0x00007aca istore  0x00000002 , 0x00000005 
+ 00028618  0x00007acb setarg  0x00000200 
+ 00028619  0x00007acc istore  0x00000002 , 0x00000005 
+ 00028620  0x00007acd fetch  0x00000002 , 0x0000054a 
+ 00028621  0x00007ace istore  0x00000002 , 0x00000005 
+ 00028622  0x00007acf jam  0x00000007 , 0x00000275 
+ 00028623  0x00007ad0 rtn 
+ 00028624  0x00007ad6 arg  0x00000000 , 0x00000012 
+ 00028625  0x00007ad7 force  0x00000000 , 0x00000002 
+ 00028626  0x00007ad8 arg  0x00000511 , 0x00000005 
+ 00028627  0x00007ad9 call  0x00007028 
+ 00028628  0x00007ada branch  0x00007026 , 0x00000005 
+ 00028629  0x00007adc increase  0x00000001 , 0x00000012 
+ 00028630  0x00007add ifetch  0x00000001 , 0x00000006 
+ 00028631  0x00007ade increase  0xffffffff , 0x00000011 
+ 00028632  0x00007adf increase  0xffffffff , 0x0000000b 
+ 00028633  0x00007ae0 compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028634  0x00007ae1 nbranch  0x00007026 , 0x00000001 
+ 00028635  0x00007ae2 compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028636  0x00007ae3 nbranch  0x00006ff3 , 0x00000001 
+ 00028637  0x00007ae4 force  0x00000001 , 0x00000002 
+ 00028638  0x00007ae6 ifetch  0x00000001 , 0x00000006 
+ 00028639  0x00007ae7 increase  0xffffffff , 0x00000011 
+ 00028640  0x00007ae8 increase  0xffffffff , 0x0000000b 
+ 00028641  0x00007ae9 bne  0x00000000 , 0x00006fe7 
+ 00028642  0x00007aea ifetch  0x00000001 , 0x00000006 
+ 00028643  0x00007aeb increase  0xffffffff , 0x00000011 
+ 00028644  0x00007aec increase  0xffffffff , 0x0000000b 
+ 00028645  0x00007aed beq  0x00000000 , 0x00006ff8 
+ 00028646  0x00007aee branch  0x00006fea 
+ 00028647  0x00007af0 increase  0x00000001 , 0x00000006 
+ 00028648  0x00007af1 increase  0xffffffff , 0x00000011 
+ 00028649  0x00007af2 increase  0xffffffff , 0x0000000b 
+ 00028650  0x00007af4 increase  0x00000002 , 0x00000006 
+ 00028651  0x00007af5 increase  0xfffffffe , 0x00000011 
+ 00028652  0x00007af6 increase  0xfffffffe , 0x0000000b 
+ 00028653  0x00007af7 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028654  0x00007af8 branch  0x00007020 , 0x00000001 
+ 00028655  0x00007af9 increase  0x0000000c , 0x00000006 
+ 00028656  0x00007afa increase  0xfffffff4 , 0x00000011 
+ 00028657  0x00007afb increase  0xfffffff4 , 0x0000000b 
+ 00028658  0x00007afc branch  0x00007020 
+ 00028659  0x00007afe compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028660  0x00007aff nbranch  0x00006ff6 , 0x00000001 
+ 00028661  0x00007b00 branch  0x00006fde 
+ 00028662  0x00007b02 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028663  0x00007b03 nbranch  0x00007026 , 0x00000001 
+ 00028664  0x00007b05 increase  0xfffffffe , 0x00000011 
+ 00028665  0x00007b06 increase  0xfffffffe , 0x0000000b 
+ 00028666  0x00007b07 ifetch  0x00000002 , 0x00000006 
+ 00028667  0x00007b08 sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028668  0x00007b09 branch  0x00006ffe , 0x00000005 
+ 00028669  0x00007b0a istore  0x00000002 , 0x00000005 
+ 00028670  0x00007b0c compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028671  0x00007b0d branch  0x00007020 , 0x00000001 
+ 00028672  0x00007b0e copy  0x00000006 , 0x00000002 
+ 00028673  0x00007b0f ifetch  0x00000001 , 0x00000006 
+ 00028674  0x00007b10 bne  0x00000000 , 0x00007019 
+ 00028675  0x00007b11 ifetch  0x00000001 , 0x00000006 
+ 00028676  0x00007b12 bne  0x00000000 , 0x00007019 
+ 00028677  0x00007b13 ifetch  0x00000001 , 0x00000006 
+ 00028678  0x00007b14 bne  0x00000010 , 0x00007019 
+ 00028679  0x00007b15 ifetch  0x00000001 , 0x00000006 
+ 00028680  0x00007b16 bne  0x00000000 , 0x00007019 
+ 00028681  0x00007b17 ifetch  0x00000001 , 0x00000006 
+ 00028682  0x00007b18 bne  0x00000080 , 0x00007019 
+ 00028683  0x00007b19 ifetch  0x00000001 , 0x00000006 
+ 00028684  0x00007b1a bne  0x00000000 , 0x00007019 
+ 00028685  0x00007b1b ifetch  0x00000001 , 0x00000006 
+ 00028686  0x00007b1c bne  0x00000000 , 0x00007019 
+ 00028687  0x00007b1d ifetch  0x00000001 , 0x00000006 
+ 00028688  0x00007b1e bne  0x00000080 , 0x00007019 
+ 00028689  0x00007b1f ifetch  0x00000001 , 0x00000006 
+ 00028690  0x00007b20 bne  0x0000005f , 0x00007019 
+ 00028691  0x00007b21 ifetch  0x00000001 , 0x00000006 
+ 00028692  0x00007b22 bne  0x0000009b , 0x00007019 
+ 00028693  0x00007b23 ifetch  0x00000001 , 0x00000006 
+ 00028694  0x00007b24 bne  0x00000034 , 0x00007019 
+ 00028695  0x00007b25 ifetch  0x00000001 , 0x00000006 
+ 00028696  0x00007b26 beq  0x000000fb , 0x0000701e 
+ 00028697  0x00007b28 copy  0x00000002 , 0x00000006 
+ 00028698  0x00007b2a increase  0x0000000c , 0x00000006 
+ 00028699  0x00007b2b force  0x00000000 , 0x00000007 
+ 00028700  0x00007b2c force  0x00000000 , 0x00000002 
+ 00028701  0x00007b2d branch  0x0000701e 
+ 00028702  0x00007b30 increase  0xfffffff4 , 0x0000000b 
+ 00028703  0x00007b31 increase  0xfffffff4 , 0x00000011 
+ 00028704  0x00007b33 force  0x00000000 , 0x00000002 
+ 00028705  0x00007b34 compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028706  0x00007b35 nbranch  0x00006fd5 , 0x00000001 
+ 00028707  0x00007b36 force  0x00000000 , 0x0000003f 
+ 00028708  0x00007b37 istore  0x00000002 , 0x00000005 
+ 00028709  0x00007b38 rtn 
+ 00028710  0x00007b3a arg  0x000000ff , 0x00000002 
+ 00028711  0x00007b3b rtn 
+ 00028712  0x00007b46 bpatchx  0x000000d4 , 0x0000403a 
+ 00028713  0x00007b47 ifetch  0x00000001 , 0x00000006 
+ 00028714  0x00007b48 increase  0xffffffff , 0x0000000b 
+ 00028715  0x00007b49 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028716  0x00007b4a nbranch  0x0000703e , 0x00000001 
+ 00028717  0x00007b4b compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028718  0x00007b4c branch  0x00007037 , 0x00000001 
+ 00028719  0x00007b4d compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028720  0x00007b4e branch  0x00007039 , 0x00000001 
+ 00028721  0x00007b4f compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028722  0x00007b50 nbranch  0x0000703e , 0x00000001 
+ 00028723  0x00007b52 ifetch  0x00000001 , 0x00000006 
+ 00028724  0x00007b53 copy  0x0000003f , 0x00000011 
+ 00028725  0x00007b54 increase  0xffffffff , 0x0000000b 
+ 00028726  0x00007b55 branch  0x0000703c 
+ 00028727  0x00007b57 increase  0x00000002 , 0x00000006 
+ 00028728  0x00007b58 increase  0xfffffffe , 0x0000000b 
+ 00028729  0x00007b5a ifetch  0x00000002 , 0x00000006 
+ 00028730  0x00007b5b byteswap  0x0000003f , 0x00000011 
+ 00028731  0x00007b5c increase  0xfffffffe , 0x0000000b 
+ 00028732  0x00007b5e force  0x00000001 , 0x0000003f 
+ 00028733  0x00007b5f rtn 
+ 00028734  0x00007b61 force  0x00000000 , 0x0000003f 
+ 00028735  0x00007b62 rtn 
+ 00028736  0x00007b6d setarg  0x00000003 
+ 00028737  0x00007b6e store  0x00000001 , 0x0000051b 
+ 00028738  0x00007b6f branch  0x00007048 
+ 00028739  0x00007b71 setarg  0x00000005 
+ 00028740  0x00007b72 store  0x00000001 , 0x0000051b 
+ 00028741  0x00007b73 branch  0x00007048 
+ 00028742  0x00007b75 setarg  0x00000007 
+ 00028743  0x00007b76 store  0x00000001 , 0x0000051b 
+ 00028744  0x00007b78 call  0x000052d0 
+ 00028745  0x00007b7b fetch  0x00000001 , 0x0000051b 
+ 00028746  0x00007b7c copy  0x0000003f , 0x00000012 
+ 00028747  0x00007b7d istore  0x00000001 , 0x00000005 
+ 00028748  0x00007b7e fetch  0x00000002 , 0x0000051c 
+ 00028749  0x00007b7f istore  0x00000002 , 0x00000005 
+ 00028750  0x00007b80 setarg  0x00000500 
+ 00028751  0x00007b81 istore  0x00000002 , 0x00000005 
+ 00028752  0x00007b82 compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028753  0x00007b83 branch  0x00007057 , 0x00000001 
+ 00028754  0x00007b84 compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028755  0x00007b85 branch  0x00007057 , 0x00000001 
+ 00028756  0x00007b86 setarg  0x00000000 
+ 00028757  0x00007b87 istore  0x00000005 , 0x00000005 
+ 00028758  0x00007b88 branch  0x00007059 
+ 00028759  0x00007b8b setarg  0x00350200 
+ 00028760  0x00007b8c istore  0x00000005 , 0x00000005 
+ 00028761  0x00007b8e jam  0x0000000a , 0x00000275 
+ 00028762  0x00007b8f rtn 
+ 00028763  0x00007b93 call  0x00007ea2 
+ 00028764  0x00007b94 call  0x00007ea5 
+ 00028765  0x00007b95 call  0x00007062 
+ 00028766  0x00007b96 call  0x00007e9c 
+ 00028767  0x00007b97 call  0x00007e9f 
+ 00028768  0x00007b98 copy  0x00000002 , 0x0000003f 
+ 00028769  0x00007b99 rtn 
+ 00028770  0x00007b9d ifetch  0x00000001 , 0x00000006 
+ 00028771  0x00007b9e and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028772  0x00007b9f rshift3  0x0000003f , 0x0000003f 
+ 00028773  0x00007ba0 bne  0x00000000 , 0x0000706c 
+ 00028774  0x00007ba2 force  0x00000001 , 0x0000003f 
+ 00028775  0x00007ba3 force  0x00000001 , 0x00000002 
+ 00028776  0x00007ba4 rtn 
+ 00028777  0x00007ba7 call  0x00007e76 
+ 00028778  0x00007ba8 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028779  0x00007ba9 rtn 
+ 00028780  0x00007bab deposit  0x00000039 
+ 00028781  0x00007bac sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028782  0x00007bad branch  0x00007069 , 0x00000002 
+ 00028783  0x00007bae beq  0x00000005 , 0x00007073 
+ 00028784  0x00007baf beq  0x00000006 , 0x00007076 
+ 00028785  0x00007bb0 beq  0x00000007 , 0x0000707a 
+ 00028786  0x00007bb1 rtn 
+ 00028787  0x00007bb4 ifetch  0x00000001 , 0x00000006 
+ 00028788  0x00007bb5 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028789  0x00007bb6 rtn 
+ 00028790  0x00007bb8 ifetch  0x00000002 , 0x00000006 
+ 00028791  0x00007bb9 byteswap  0x0000003f , 0x0000003f 
+ 00028792  0x00007bba add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028793  0x00007bbb rtn 
+ 00028794  0x00007bbd ifetch  0x00000002 , 0x00000006 
+ 00028795  0x00007bbe byteswap  0x0000003f , 0x0000003f 
+ 00028796  0x00007bbf ifetcht  0x00000002 , 0x00000006 
+ 00028797  0x00007bc0 byteswap  0x00000002 , 0x00000002 
+ 00028798  0x00007bc1 lshift16  0x00000002 , 0x00000002 
+ 00028799  0x00007bc2 iadd  0x00000002 , 0x0000003f 
+ 00028800  0x00007bc3 add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028801  0x00007bc4 rtn 
+ 00028802  0x00007bcb bpatchx  0x000000d5 , 0x0000403a 
+ 00028803  0x00007bcc force  0x00000000 , 0x00000007 
+ 00028804  0x00007bcd arg  0x00000000 , 0x00000012 
+ 00028805  0x00007bce arg  0x0000052a , 0x00000005 
+ 00028806  0x00007bd0 ifetch  0x00000002 , 0x0000000b 
+ 00028807  0x00007bd1 rtn  0x00000034 
+ 00028808  0x00007bd2 call  0x0000708d 
+ 00028809  0x00007bd3 copy  0x00000007 , 0x0000003f 
+ 00028810  0x00007bd4 rtneq  0x00000007 
+ 00028811  0x00007bd5 increase  0x00000002 , 0x0000000b 
+ 00028812  0x00007bd6 branch  0x00007086 
+ 00028813  0x00007bda iforce  0x00000013 
+ 00028814  0x00007bdc fetch  0x00000002 , 0x00004575 
+ 00028815  0x00007bdd iforce  0x00000006 
+ 00028816  0x00007bdf copy  0x00000007 , 0x0000003f 
+ 00028817  0x00007be0 rtneq  0x00000007 
+ 00028818  0x00007be1 disable  0x00000028 
+ 00028819  0x00007be2 ifetch  0x00000001 , 0x00000006 
+ 00028820  0x00007be3 rtn  0x00000034 
+ 00028821  0x00007be4 iforce  0x00000039 
+ 00028822  0x00007be6 ifetch  0x00000002 , 0x00000006 
+ 00028823  0x00007be7 isub  0x00000013 , 0x0000003e 
+ 00028824  0x00007be8 nbranch  0x0000709a , 0x00000005 
+ 00028825  0x00007be9 enable  0x00000028 
+ 00028826  0x00007beb loop  0x00007096 
+ 00028827  0x00007bec ifetcht  0x00000004 , 0x00000006 
+ 00028828  0x00007bed copy  0x00000006 , 0x00000011 
+ 00028829  0x00007bee nbranch  0x000070ad , 0x00000028 
+ 00028830  0x00007bef arg  0x0000052a , 0x00000006 
+ 00028831  0x00007bf0 arg  0x00000007 , 0x00000039 
+ 00028832  0x00007bf2 ifetch  0x00000004 , 0x00000006 
+ 00028833  0x00007bf3 branch  0x000070a6 , 0x00000034 
+ 00028834  0x00007bf4 isub  0x00000002 , 0x0000003e 
+ 00028835  0x00007bf5 branch  0x000070ad , 0x00000005 
+ 00028836  0x00007bf6 loop  0x000070a0 
+ 00028837  0x00007bf7 rtn 
+ 00028838  0x00007bf9 istoret  0x00000004 , 0x00000005 
+ 00028839  0x00007bfa increase  0x00000001 , 0x00000007 
+ 00028840  0x00007bfb copy  0x00000011 , 0x00000006 
+ 00028841  0x00007bfc call  0x0000705b 
+ 00028842  0x00007bfd iadd  0x00000012 , 0x00000012 
+ 00028843  0x00007bfe iadd  0x00000006 , 0x00000006 
+ 00028844  0x00007bff branch  0x00007090 
+ 00028845  0x00007c01 copy  0x00000011 , 0x00000006 
+ 00028846  0x00007c02 call  0x00007062 
+ 00028847  0x00007c03 iadd  0x00000006 , 0x00000006 
+ 00028848  0x00007c04 branch  0x00007090 
+ 00028849  0x00007c0b bpatchx  0x000000d6 , 0x0000403a 
+ 00028850  0x00007c0c fetch  0x00000002 , 0x00004575 
+ 00028851  0x00007c0d iforce  0x00000006 
+ 00028852  0x00007c0f ifetch  0x00000001 , 0x00000006 
+ 00028853  0x00007c10 branch  0x00007fe3 , 0x00000034 
+ 00028854  0x00007c11 lshift  0x0000003f , 0x0000003f 
+ 00028855  0x00007c12 iadd  0x00000006 , 0x00000006 
+ 00028856  0x00007c13 ifetch  0x00000004 , 0x00000006 
+ 00028857  0x00007c14 isub  0x00000002 , 0x0000003e 
+ 00028858  0x00007c15 rtn  0x00000005 
+ 00028859  0x00007c16 deposit  0x00000005 
+ 00028860  0x00007c17 store  0x00000002 , 0x00000abb 
+ 00028861  0x00007c18 storet  0x00000008 , 0x00000aa2 
+ 00028862  0x00007c19 call  0x00007062 
+ 00028863  0x00007c1a iadd  0x00000006 , 0x00000006 
+ 00028864  0x00007c1b copy  0x00000006 , 0x0000003f 
+ 00028865  0x00007c1c fetcht  0x00000002 , 0x00000abb 
+ 00028866  0x00007c1d copy  0x00000002 , 0x00000005 
+ 00028867  0x00007c1e fetcht  0x00000008 , 0x00000aa2 
+ 00028868  0x00007c1f copy  0x0000003f , 0x00000006 
+ 00028869  0x00007c20 branch  0x000070b4 
+ 00028870  0x00007c27 bpatchx  0x000000d7 , 0x0000403a 
+ 00028871  0x00007c28 fetch  0x00000002 , 0x00004575 
+ 00028872  0x00007c29 iforce  0x00000006 
+ 00028873  0x00007c2b ifetch  0x00000001 , 0x00000006 
+ 00028874  0x00007c2c branch  0x000070e4 , 0x00000034 
+ 00028875  0x00007c2d iforce  0x00000039 
+ 00028876  0x00007c2f ifetch  0x00000002 , 0x00000006 
+ 00028877  0x00007c30 isub  0x00000013 , 0x0000003e 
+ 00028878  0x00007c31 branch  0x000070d4 , 0x00000005 
+ 00028879  0x00007c32 loop  0x000070cc 
+ 00028880  0x00007c33 increase  0x00000004 , 0x00000006 
+ 00028881  0x00007c34 call  0x00007062 
+ 00028882  0x00007c35 iadd  0x00000006 , 0x00000006 
+ 00028883  0x00007c36 branch  0x000070c9 
+ 00028884  0x00007c38 increase  0xffffffff , 0x00000039 
+ 00028885  0x00007c39 lshift  0x00000039 , 0x0000003f 
+ 00028886  0x00007c3a iadd  0x00000006 , 0x00000006 
+ 00028887  0x00007c3b increase  0x00000004 , 0x00000006 
+ 00028888  0x00007c3c call  0x00007062 
+ 00028889  0x00007c3d iadd  0x00000006 , 0x0000000b 
+ 00028890  0x00007c3f increase  0x00000001 , 0x00000006 
+ 00028891  0x00007c40 ifetch  0x00000002 , 0x00000006 
+ 00028892  0x00007c41 isub  0x00000012 , 0x0000003e 
+ 00028893  0x00007c45 branch  0x00007fef , 0x00000005 
+ 00028894  0x00007c46 call  0x0000705b 
+ 00028895  0x00007c47 iadd  0x00000006 , 0x00000006 
+ 00028896  0x00007c48 deposit  0x0000000b 
+ 00028897  0x00007c49 isub  0x00000006 , 0x0000003e 
+ 00028898  0x00007c4a branch  0x000070e4 , 0x00000005 
+ 00028899  0x00007c4b branch  0x000070da 
+ 00028900  0x00007c4d force  0x00000000 , 0x00000006 
+ 00028901  0x00007c4e force  0x00000000 , 0x0000003f 
+ 00028902  0x00007c4f rtn 
+ 00028903  0x00007c56 bpatchx  0x000000d8 , 0x0000403b 
+ 00028904  0x00007c57 fetch  0x00000002 , 0x00004575 
+ 00028905  0x00007c58 iforce  0x00000006 
+ 00028906  0x00007c5a ifetch  0x00000001 , 0x00000006 
+ 00028907  0x00007c5b branch  0x00007100 , 0x00000034 
+ 00028908  0x00007c5c lshift  0x0000003f , 0x0000003f 
+ 00028909  0x00007c5d iadd  0x00000006 , 0x00000006 
+ 00028910  0x00007c5e ifetch  0x00000004 , 0x00000006 
+ 00028911  0x00007c5f isub  0x00000002 , 0x0000003e 
+ 00028912  0x00007c60 branch  0x000070f4 , 0x00000005 
+ 00028913  0x00007c61 call  0x00007062 
+ 00028914  0x00007c62 iadd  0x00000006 , 0x00000006 
+ 00028915  0x00007c63 branch  0x000070ea 
+ 00028916  0x00007c65 call  0x00007062 
+ 00028917  0x00007c66 iadd  0x00000006 , 0x0000000b 
+ 00028918  0x00007c68 increase  0x00000001 , 0x00000006 
+ 00028919  0x00007c69 ifetch  0x00000002 , 0x00000006 
+ 00028920  0x00007c6a isub  0x00000012 , 0x0000003e 
+ 00028921  0x00007c6b rtn  0x00000005 
+ 00028922  0x00007c6c call  0x0000705b 
+ 00028923  0x00007c6d iadd  0x00000006 , 0x00000006 
+ 00028924  0x00007c6e deposit  0x0000000b 
+ 00028925  0x00007c6f isub  0x00000006 , 0x0000003e 
+ 00028926  0x00007c70 branch  0x00007100 , 0x00000005 
+ 00028927  0x00007c71 branch  0x000070f6 
+ 00028928  0x00007c73 force  0x00000000 , 0x00000006 
+ 00028929  0x00007c74 rtn 
+ 00028930  0x00007c79 arg  0x00000400 , 0x00000012 
+ 00028931  0x00007c7a call  0x000070f4 
+ 00028932  0x00007c7b arg  0x00000300 , 0x00000012 
+ 00028933  0x00007c7c call  0x0000710d 
+ 00028934  0x00007c7d nrtn  0x00000028 
+ 00028935  0x00007c7e sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028936  0x00007c7f branch  0x00007fe9 , 0x00000002 
+ 00028937  0x00007c80 ifetch  0x00000001 , 0x00000006 
+ 00028938  0x00007c81 bne  0x00000008 , 0x00007fe9 
+ 00028939  0x00007c82 ifetch  0x00000001 , 0x00000006 
+ 00028940  0x00007c83 rtn 
+ 00028941  0x00007c89 bpatchx  0x000000d9 , 0x0000403b 
+ 00028942  0x00007c8a call  0x00007062 
+ 00028943  0x00007c8b copy  0x0000003f , 0x00000011 
+ 00028944  0x00007c8d ifetch  0x00000001 , 0x00000006 
+ 00028945  0x00007c8e and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028946  0x00007c8f rshift3  0x0000003f , 0x0000003f 
+ 00028947  0x00007c90 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028948  0x00007c91 branch  0x00007129 , 0x00000005 
+ 00028949  0x00007c92 copy  0x00000039 , 0x0000003f 
+ 00028950  0x00007c93 beq  0x00000005 , 0x00007120 
+ 00028951  0x00007c94 beq  0x00000006 , 0x00007123 
+ 00028952  0x00007c95 beq  0x00000007 , 0x00007126 
+ 00028953  0x00007c96 increase  0xffffffff , 0x00000006 
+ 00028954  0x00007c97 call  0x00007062 
+ 00028955  0x00007c98 iadd  0x00000006 , 0x00000006 
+ 00028956  0x00007c99 copy  0x00000011 , 0x0000003f 
+ 00028957  0x00007c9a isub  0x00000002 , 0x00000011 
+ 00028958  0x00007c9b branch  0x00007fe9 , 0x00000005 
+ 00028959  0x00007c9c branch  0x00007110 
+ 00028960  0x00007c9f increase  0xfffffffe , 0x00000011 
+ 00028961  0x00007ca0 increase  0x00000001 , 0x00000006 
+ 00028962  0x00007ca1 branch  0x00007110 
+ 00028963  0x00007ca3 increase  0xfffffffd , 0x00000011 
+ 00028964  0x00007ca4 increase  0x00000002 , 0x00000006 
+ 00028965  0x00007ca5 branch  0x00007110 
+ 00028966  0x00007ca7 increase  0xfffffffb , 0x00000011 
+ 00028967  0x00007ca8 increase  0x00000004 , 0x00000006 
+ 00028968  0x00007ca9 branch  0x00007110 
+ 00028969  0x00007cac increase  0xffffffff , 0x00000011 
+ 00028970  0x00007cad copy  0x00000039 , 0x0000003f 
+ 00028971  0x00007cae beq  0x00000001 , 0x00007132 
+ 00028972  0x00007caf beq  0x00000002 , 0x00007130 
+ 00028973  0x00007cb0 beq  0x00000004 , 0x0000712f 
+ 00028974  0x00007cb1 branch  0x00007fe9 
+ 00028975  0x00007cb3 increase  0xfffffff4 , 0x00000011 
+ 00028976  0x00007cb5 ifetch  0x00000002 , 0x00000006 
+ 00028977  0x00007cb6 increase  0xfffffffe , 0x00000011 
+ 00028978  0x00007cb8 ifetch  0x00000002 , 0x00000006 
+ 00028979  0x00007cb9 isub  0x00000012 , 0x0000003e 
+ 00028980  0x00007cba branch  0x00007fe7 , 0x00000005 
+ 00028981  0x00007cbb increase  0xfffffffe , 0x00000011 
+ 00028982  0x00007cbc branch  0x00007fe9 , 0x00000005 
+ 00028983  0x00007cbd branch  0x00007110 
+ 00028984  0x00007cf9 call  0x000052d0 
+ 00028985  0x00007cfa copy  0x0000003f , 0x00000005 
+ 00028986  0x00007cfb setarg  0x00000006 
+ 00028987  0x00007cfc istore  0x00000001 , 0x00000005 
+ 00028988  0x00007cfd setarg  0x0000006e 
+ 00028989  0x00007cfe istore  0x00000002 , 0x00000005 
+ 00028990  0x00007cff setarg  0x00000f00 
+ 00028991  0x00007d00 istore  0x00000002 , 0x00000005 
+ 00028992  0x00007d01 setarg  0x001a0535 
+ 00028993  0x00007d02 istore  0x00000003 , 0x00000005 
+ 00028994  0x00007d03 setarg  0x00000111 
+ 00028995  0x00007d04 lshift16  0x0000003f , 0x0000003f 
+ 00028996  0x00007d05 istore  0x00000004 , 0x00000005 
+ 00028997  0x00007d06 setarg  0x00002600 
+ 00028998  0x00007d07 istore  0x00000002 , 0x00000005 
+ 00028999  0x00007d08 setarg  0x00000335 
+ 00029000  0x00007d09 istore  0x00000002 , 0x00000005 
+ 00029001  0x00007d0a setarg  0x00000009 
+ 00029002  0x00007d0b istore  0x00000002 , 0x00000005 
+ 00029003  0x00007d0c setarg  0x00000004 
+ 00029004  0x00007d0d istore  0x00000002 , 0x00000005 
+ 00029005  0x00007d0e jam  0x00000014 , 0x00000275 
+ 00029006  0x00007d0f rtn 
+ 00029007  0x00007d14 bpatchx  0x000000da , 0x0000403b 
+ 00029008  0x00007d15 jam  0x00000050 , 0x000005e5 
+ 00029009  0x00007d16 arg  0x000005e6 , 0x00000005 
+ 00029010  0x00007d17 arg  0x0000443a , 0x00000006 
+ 00029011  0x00007d18 call  0x00007ebf 
+ 00029012  0x00007d19 arg  0x000045d2 , 0x00000006 
+ 00029013  0x00007d1a call  0x00007ebd 
+ 00029014  0x00007d1b arg  0x000009be , 0x00000006 
+ 00029015  0x00007d1c call  0x00007ebd 
+ 00029016  0x00007d1d call  0x0000720a 
+ 00029017  0x00007d1e arg  0x0000042f , 0x00000006 
+ 00029018  0x00007d1f call  0x00007205 
+ 00029019  0x00007d20 call  0x000071d0 
+ 00029020  0x00007d22 arg  0x00000af2 , 0x00000005 
+ 00029021  0x00007d23 call  0x00007201 
+ 00029022  0x00007d24 setarg  0x000f4240 
+ 00029023  0x00007d25 copy  0x0000003f , 0x00000011 
+ 00029024  0x00007d26 fetch  0x00000004 , 0x00000af2 
+ 00029025  0x00007d27 idiv  0x00000011 
+ 00029026  0x00007d28 call  0x00007f86 
+ 00029027  0x00007d29 remainder  0x0000003f 
+ 00029028  0x00007d2a store  0x00000004 , 0x000009ba 
+ 00029029  0x00007d2c rtn 
+ 00029030  0x00007d2f jam  0x00000041 , 0x000005e5 
+ 00029031  0x00007d30 arg  0x000005e6 , 0x00000005 
+ 00029032  0x00007d31 call  0x000071b5 
+ 00029033  0x00007d32 call  0x000071b0 
+ 00029034  0x00007d33 fetch  0x00000003 , 0x00004454 
+ 00029035  0x00007d34 istore  0x00000003 , 0x00000005 
+ 00029036  0x00007d37 call  0x00007176 
+ 00029037  0x00007d39 arg  0x0000042f , 0x00000006 
+ 00029038  0x00007d3a call  0x00007ebf 
+ 00029039  0x00007d3b arg  0x0000443a , 0x00000006 
+ 00029040  0x00007d3c call  0x00007ebf 
+ 00029041  0x00007d3d call  0x0000720a 
+ 00029042  0x00007d3e arg  0x00000b12 , 0x00000006 
+ 00029043  0x00007d3f arg  0x00000ac2 , 0x00000005 
+ 00029044  0x00007d40 call  0x00007ebf 
+ 00029045  0x00007d42 branch  0x000071d0 
+ 00029046  0x00007d47 fetch  0x00000004 , 0x000044c7 
+ 00029047  0x00007d48 istore  0x00000004 , 0x00000005 
+ 00029048  0x00007d49 call  0x00007ecd 
+ 00029049  0x00007d4a branch  0x00007eca 
+ 00029050  0x00007d4d bpatchx  0x000000db , 0x0000403b 
+ 00029051  0x00007d4e jam  0x00000041 , 0x000005e5 
+ 00029052  0x00007d4f arg  0x000005e6 , 0x00000005 
+ 00029053  0x00007d50 call  0x000071b0 
+ 00029054  0x00007d51 call  0x000071b5 
+ 00029055  0x00007d52 fetch  0x00000003 , 0x0000444d 
+ 00029056  0x00007d53 istore  0x00000003 , 0x00000005 
+ 00029057  0x00007d56 call  0x00007176 
+ 00029058  0x00007d57 arg  0x0000443a , 0x00000006 
+ 00029059  0x00007d58 call  0x00007ebf 
+ 00029060  0x00007d59 arg  0x0000042f , 0x00000006 
+ 00029061  0x00007d5a call  0x00007ebf 
+ 00029062  0x00007d5b call  0x0000720a 
+ 00029063  0x00007d5c arg  0x00000b12 , 0x00000006 
+ 00029064  0x00007d5d arg  0x00000ac2 , 0x00000005 
+ 00029065  0x00007d5e call  0x00007ebf 
+ 00029066  0x00007d60 call  0x000071d0 
+ 00029067  0x00007d61 arg  0x00000af2 , 0x00000005 
+ 00029068  0x00007d62 branch  0x00007201 
+ 00029069  0x00007d65 jam  0x00000020 , 0x000005e5 
+ 00029070  0x00007d66 arg  0x000009fe , 0x00000006 
+ 00029071  0x00007d67 arg  0x000005e6 , 0x00000005 
+ 00029072  0x00007d68 call  0x00007ebd 
+ 00029073  0x00007d69 call  0x0000720a 
+ 00029074  0x00007d6a arg  0x0000099e , 0x00000006 
+ 00029075  0x00007d6b call  0x00007205 
+ 00029076  0x00007d6c call  0x000071d0 
+ 00029077  0x00007d6d arg  0x00000ac2 , 0x00000005 
+ 00029078  0x00007d6e call  0x00007497 
+ 00029079  0x00007d6f arg  0x00000001 , 0x00000002 
+ 00029080  0x00007d70 call  0x0000719f 
+ 00029081  0x00007d71 arg  0x00004419 , 0x00000005 
+ 00029082  0x00007d72 call  0x00007201 
+ 00029083  0x00007d73 arg  0x00000000 , 0x00000002 
+ 00029084  0x00007d74 call  0x0000719f 
+ 00029085  0x00007d75 arg  0x00000b12 , 0x00000005 
+ 00029086  0x00007d77 branch  0x00007497 
+ 00029087  0x00007d7b bpatchx  0x000000dc , 0x0000403b 
+ 00029088  0x00007d7c jam  0x00000035 , 0x000005e5 
+ 00029089  0x00007d7d setarg  0x00000100 
+ 00029090  0x00007d7e store  0x00000002 , 0x000005e6 
+ 00029091  0x00007d7f call  0x000071b0 
+ 00029092  0x00007d80 call  0x000071b5 
+ 00029093  0x00007d81 arg  0x0000443a , 0x00000006 
+ 00029094  0x00007d82 call  0x00007ebf 
+ 00029095  0x00007d83 arg  0x0000042f , 0x00000006 
+ 00029096  0x00007d84 call  0x00007ebf 
+ 00029097  0x00007d86 setarg  0x00006c65 
+ 00029098  0x00007d87 istore  0x00000002 , 0x00000005 
+ 00029099  0x00007d88 setarg  0x00006274 
+ 00029100  0x00007d89 istore  0x00000002 , 0x00000005 
+ 00029101  0x00007d8a istoret  0x00000001 , 0x00000005 
+ 00029102  0x00007d8b call  0x0000720a 
+ 00029103  0x00007d8c branch  0x000071d0 
+ 00029104  0x00007d8f fetch  0x00000006 , 0x000044a0 
+ 00029105  0x00007d90 istore  0x00000006 , 0x00000005 
+ 00029106  0x00007d91 fetch  0x00000001 , 0x00004495 
+ 00029107  0x00007d92 istore  0x00000001 , 0x00000005 
+ 00029108  0x00007d93 rtn 
+ 00029109  0x00007d96 fetch  0x00000006 , 0x0000044f 
+ 00029110  0x00007d97 istore  0x00000006 , 0x00000005 
+ 00029111  0x00007d9c fetch  0x00000001 , 0x0000448e 
+ 00029112  0x00007d9d istore  0x00000001 , 0x00000005 
+ 00029113  0x00007d9e rtn 
+ 00029114  0x00007da1 jam  0x00000041 , 0x000005e5 
+ 00029115  0x00007da2 fetch  0x00000001 , 0x00004664 
+ 00029116  0x00007da3 store  0x00000001 , 0x000005e6 
+ 00029117  0x00007da4 arg  0x000045d2 , 0x00000006 
+ 00029118  0x00007da5 call  0x00007ebd 
+ 00029119  0x00007da6 arg  0x000009be , 0x00000006 
+ 00029120  0x00007da7 call  0x00007ebd 
+ 00029121  0x00007da8 call  0x0000720a 
+ 00029122  0x00007da9 arg  0x0000042f , 0x00000006 
+ 00029123  0x00007daa call  0x00007205 
+ 00029124  0x00007dab branch  0x000071d0 
+ 00029125  0x00007daf jam  0x00000041 , 0x000005e5 
+ 00029126  0x00007db0 fetch  0x00000001 , 0x00004664 
+ 00029127  0x00007db1 store  0x00000001 , 0x000005e6 
+ 00029128  0x00007db2 arg  0x000009be , 0x00000006 
+ 00029129  0x00007db3 call  0x00007ebd 
+ 00029130  0x00007db4 arg  0x000045d2 , 0x00000006 
+ 00029131  0x00007db5 call  0x00007ebd 
+ 00029132  0x00007db6 call  0x0000720a 
+ 00029133  0x00007db7 arg  0x0000443a , 0x00000006 
+ 00029134  0x00007db8 call  0x00007205 
+ 00029135  0x00007db9 branch  0x000071d0 
+ 00029136  0x00007dbc bpatchx  0x000000dd , 0x0000403b 
+ 00029137  0x00007dbd call  0x0000721f 
+ 00029138  0x00007dc1 fetch  0x00000001 , 0x000005e5 
+ 00029139  0x00007dc2 copy  0x0000003f , 0x00000002 
+ 00029140  0x00007dc4 increase  0x0000000f , 0x0000003f 
+ 00029141  0x00007dc5 rshift4  0x0000003f , 0x0000003f 
+ 00029142  0x00007dc6 copy  0x0000003f , 0x00000012 
+ 00029143  0x00007dc7 branch  0x000071e2 , 0x00000034 
+ 00029144  0x00007dc8 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029145  0x00007dc9 nbranch  0x000071e5 , 0x00000034 
+ 00029146  0x00007dcb arg  0x00000ad2 , 0x00000013 
+ 00029147  0x00007dcc arg  0x000005e6 , 0x0000003f 
+ 00029148  0x00007dcd increase  0xfffffff0 , 0x0000003f 
+ 00029149  0x00007dd0 iadd  0x00000002 , 0x00000011 
+ 00029150  0x00007dd1 arg  0x00000b02 , 0x00000005 
+ 00029151  0x00007dd2 arg  0x00000004 , 0x00000039 
+ 00029152  0x00007dd3 call  0x00007edd 
+ 00029153  0x00007dd7 branch  0x000071f0 
+ 00029154  0x00007dda arg  0x00000001 , 0x00000012 
+ 00029155  0x00007ddb arg  0x00000000 , 0x00000011 
+ 00029156  0x00007ddd branch  0x000071e6 
+ 00029157  0x00007de2 and  0x00000002 , 0x0000000f , 0x00000011 
+ 00029158  0x00007de4 arg  0x000005e6 , 0x0000003f 
+ 00029159  0x00007de5 iadd  0x00000002 , 0x0000003f 
+ 00029160  0x00007de6 isub  0x00000011 , 0x00000006 
+ 00029161  0x00007de8 arg  0x00000af2 , 0x00000005 
+ 00029162  0x00007de9 call  0x00007245 
+ 00029163  0x00007deb arg  0x00000ae2 , 0x00000013 
+ 00029164  0x00007dec arg  0x00000af2 , 0x00000011 
+ 00029165  0x00007ded arg  0x00000b02 , 0x00000005 
+ 00029166  0x00007dee arg  0x00000004 , 0x00000039 
+ 00029167  0x00007def call  0x00007edd 
+ 00029168  0x00007dfb call  0x00007491 
+ 00029169  0x00007dfc call  0x00007428 
+ 00029170  0x00007dff arg  0x000005e6 , 0x00000006 
+ 00029171  0x00007e02 increase  0xffffffff , 0x00000012 
+ 00029172  0x00007e03 deposit  0x00000012 
+ 00029173  0x00007e04 branch  0x000071f9 , 0x00000034 
+ 00029174  0x00007e05 call  0x00007486 
+ 00029175  0x00007e06 call  0x00007422 
+ 00029176  0x00007e07 branch  0x000071f3 
+ 00029177  0x00007e0a arg  0x00000af2 , 0x00000005 
+ 00029178  0x00007e0b call  0x00007497 
+ 00029179  0x00007e0c arg  0x00000b02 , 0x00000006 
+ 00029180  0x00007e0d call  0x00007486 
+ 00029181  0x00007e0e call  0x00007428 
+ 00029182  0x00007e0f arg  0x00000af2 , 0x00000006 
+ 00029183  0x00007e10 call  0x00007486 
+ 00029184  0x00007e11 branch  0x00007422 
+ 00029185  0x00007e17 copy  0x00000005 , 0x00000011 
+ 00029186  0x00007e18 call  0x00007497 
+ 00029187  0x00007e1a arg  0x00000010 , 0x00000039 
+ 00029188  0x00007e1b branch  0x00007ee5 
+ 00029189  0x00007e1e arg  0x00000ac2 , 0x00000005 
+ 00029190  0x00007e1f call  0x00007ebf 
+ 00029191  0x00007e21 arg  0x00000010 , 0x00000039 
+ 00029192  0x00007e22 arg  0x00000ac2 , 0x00000011 
+ 00029193  0x00007e23 branch  0x00007ee5 
+ 00029194  0x00007e26 fetch  0x00000001 , 0x000005e5 
+ 00029195  0x00007e27 copy  0x0000003f , 0x00000039 
+ 00029196  0x00007e28 arg  0x000005e6 , 0x00000011 
+ 00029197  0x00007e29 branch  0x00007ee5 
+ 00029198  0x00007e2c ifetch  0x00000001 , 0x00000011 
+ 00029199  0x00007e2d lshift  0x0000003f , 0x0000003f 
+ 00029200  0x00007e2e isolate1  0x00000000 , 0x00000013 
+ 00029201  0x00007e2f setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00029202  0x00007e30 isolate1  0x00000008 , 0x0000003f 
+ 00029203  0x00007e31 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00029204  0x00007e32 istore  0x00000001 , 0x00000011 
+ 00029205  0x00007e33 increase  0xffffffff , 0x00000011 
+ 00029206  0x00007e34 loop  0x0000720e 
+ 00029207  0x00007e35 rtn 
+ 00029208  0x00007e38 arg  0x00000ad2 , 0x00000011 
+ 00029209  0x00007e3a increase  0x0000000f , 0x00000011 
+ 00029210  0x00007e3b force  0x00000010 , 0x00000039 
+ 00029211  0x00007e3c force  0x00000000 , 0x00000013 
+ 00029212  0x00007e3d branch  0x0000720e 
+ 00029213  0x00007e40 arg  0x00000ae2 , 0x00000011 
+ 00029214  0x00007e41 branch  0x00007219 
+ 00029215  0x00007e45 arg  0x00000ac2 , 0x00000006 
+ 00029216  0x00007e46 call  0x00007484 
+ 00029217  0x00007e49 force  0x00000008 , 0x00000038 
+ 00029218  0x00007e4a call  0x00007492 
+ 00029219  0x00007e4b call  0x00007491 
+ 00029220  0x00007e4c call  0x0000741f 
+ 00029221  0x00007e51 arg  0x00000ad2 , 0x00000005 
+ 00029222  0x00007e52 call  0x00007497 
+ 00029223  0x00007e54 bpatchx  0x000000de , 0x0000403b 
+ 00029224  0x00007e55 fetch  0x00000001 , 0x00000ad2 
+ 00029225  0x00007e56 isolate1  0x00000007 , 0x0000003f 
+ 00029226  0x00007e57 nbranch  0x00007230 , 0x00000001 
+ 00029227  0x00007e58 call  0x00007218 
+ 00029228  0x00007e5b arg  0x00000ad2 , 0x00000013 
+ 00029229  0x00007e5d arg  0x00000ad2 , 0x00000005 
+ 00029230  0x00007e60 call  0x0000723a 
+ 00029231  0x00007e61 branch  0x00007231 
+ 00029232  0x00007e63 call  0x00007218 
+ 00029233  0x00007e66 arg  0x00000ad2 , 0x00000006 
+ 00029234  0x00007e67 arg  0x00000ae2 , 0x00000005 
+ 00029235  0x00007e68 call  0x00007ebf 
+ 00029236  0x00007e69 fetch  0x00000001 , 0x00000ae2 
+ 00029237  0x00007e6a isolate1  0x00000007 , 0x0000003f 
+ 00029238  0x00007e6b nbranch  0x0000721d , 0x00000001 
+ 00029239  0x00007e6c call  0x0000721d 
+ 00029240  0x00007e6e arg  0x00000ae2 , 0x00000013 
+ 00029241  0x00007e70 arg  0x00000ae2 , 0x00000005 
+ 00029242  0x00007e77 arg  0x00000003 , 0x00000039 
+ 00029243  0x00007e79 arg  0x00000000 , 0x00000002 
+ 00029244  0x00007e7a call  0x00007241 
+ 00029245  0x00007e7b increase  0x00000004 , 0x00000013 
+ 00029246  0x00007e7c loop  0x0000723b 
+ 00029247  0x00007e7d arg  0x00008700 , 0x00000002 
+ 00029248  0x00007e7e lshift16  0x00000002 , 0x00000002 
+ 00029249  0x00007e80 ifetch  0x00000004 , 0x00000013 
+ 00029250  0x00007e81 ixor  0x00000002 , 0x0000003f 
+ 00029251  0x00007e82 istore  0x00000004 , 0x00000005 
+ 00029252  0x00007e83 rtn 
+ 00029253  0x00007e8a bpatchx  0x000000df , 0x0000403b 
+ 00029254  0x00007e8b arg  0x00000010 , 0x00000039 
+ 00029255  0x00007e8c arg  0x00000000 , 0x0000003f 
+ 00029256  0x00007e8e isub  0x00000011 , 0x0000003e 
+ 00029257  0x00007e8f branch  0x00007250 , 0x00000005 
+ 00029258  0x00007e90 branch  0x00007253 , 0x00000002 
+ 00029259  0x00007e91 ifetcht  0x00000001 , 0x00000006 
+ 00029260  0x00007e92 istoret  0x00000001 , 0x00000005 
+ 00029261  0x00007e94 increase  0x00000001 , 0x0000003f 
+ 00029262  0x00007e95 loop  0x00007248 
+ 00029263  0x00007e96 rtn 
+ 00029264  0x00007e98 arg  0x00000080 , 0x00000002 
+ 00029265  0x00007e9a istoret  0x00000001 , 0x00000005 
+ 00029266  0x00007e9b branch  0x0000724d 
+ 00029267  0x00007e9e arg  0x00000000 , 0x00000002 
+ 00029268  0x00007e9f branch  0x00007251 
+ 00029269  0x00007ea3 call  0x00007268 
+ 00029270  0x00007ea4 arg  0x00000592 , 0x00000006 
+ 00029271  0x00007ea5 arg  0x00000582 , 0x00000005 
+ 00029272  0x00007ea6 branch  0x00007ebf 
+ 00029273  0x00007eaa disable  0x00000028 
+ 00029274  0x00007eab call  0x0000735f 
+ 00029275  0x00007eac arg  0x00000562 , 0x00000006 
+ 00029276  0x00007ead arg  0x000005a2 , 0x00000005 
+ 00029277  0x00007eae force  0x0000000f , 0x00000039 
+ 00029278  0x00007eaf call  0x00007f01 
+ 00029279  0x00007eb0 ifetch  0x00000001 , 0x00000006 
+ 00029280  0x00007eb1 xor_into  0x00000006 , 0x0000003f 
+ 00029281  0x00007eb2 istore  0x00000001 , 0x00000005 
+ 00029282  0x00007eb3 setarg  0x000005b2 
+ 00029283  0x00007eb4 store  0x00000002 , 0x000005d6 
+ 00029284  0x00007eb5 setarg  0x000005a2 
+ 00029285  0x00007eb6 store  0x00000002 , 0x000005d4 
+ 00029286  0x00007eb7 set1  0x00000012 , 0x00000000 
+ 00029287  0x00007eb8 branch  0x000072a8 
+ 00029288  0x00007ebd fetcht  0x00000001 , 0x00004689 
+ 00029289  0x00007ebe force  0x00000010 , 0x00000012 
+ 00029290  0x00007ebf add  0x00000002 , 0x00000006 , 0x00000013 
+ 00029291  0x00007ec0 sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00029292  0x00007ec1 branch  0x0000726e , 0x00000002 
+ 00029293  0x00007ec2 force  0x00000010 , 0x00000013 
+ 00029294  0x00007ec4 arg  0x000005a2 , 0x00000005 
+ 00029295  0x00007ec6 arg  0x0000468a , 0x00000006 
+ 00029296  0x00007ec7 copy  0x00000002 , 0x00000039 
+ 00029297  0x00007ec8 disable  0x00000028 
+ 00029298  0x00007eca ifetch  0x00000001 , 0x00000006 
+ 00029299  0x00007ecb istore  0x00000001 , 0x00000005 
+ 00029300  0x00007ecc increase  0xffffffff , 0x00000012 
+ 00029301  0x00007ecd branch  0x0000727c , 0x00000005 
+ 00029302  0x00007ece loop  0x00007272 
+ 00029303  0x00007ecf branch  0x0000726f , 0x00000028 
+ 00029304  0x00007ed0 enable  0x00000028 
+ 00029305  0x00007ed1 force  0x00000006 , 0x00000039 
+ 00029306  0x00007ed2 copy  0x00000011 , 0x00000006 
+ 00029307  0x00007ed3 branch  0x00007272 
+ 00029308  0x00007ed5 arg  0x00000562 , 0x00000006 
+ 00029309  0x00007ed6 arg  0x000005b2 , 0x00000005 
+ 00029310  0x00007ed7 call  0x00007ebf 
+ 00029311  0x00007ed8 fetch  0x00000001 , 0x000005c1 
+ 00029312  0x00007ed9 ixor  0x00000013 , 0x0000003f 
+ 00029313  0x00007eda store  0x00000001 , 0x000005c1 
+ 00029314  0x00007edb setarg  0x000005b2 
+ 00029315  0x00007edc store  0x00000002 , 0x000005d6 
+ 00029316  0x00007edd setarg  0x000005a2 
+ 00029317  0x00007ede store  0x00000002 , 0x000005d4 
+ 00029318  0x00007edf set1  0x00000012 , 0x00000000 
+ 00029319  0x00007ee0 branch  0x000072a8 
+ 00029320  0x00007ee6 disable  0x00000028 
+ 00029321  0x00007ee7 call  0x0000735f 
+ 00029322  0x00007ee8 branch  0x00007292 
+ 00029323  0x00007eeb arg  0x00000056 , 0x00000011 
+ 00029324  0x00007eec enable  0x00000028 
+ 00029325  0x00007eed call  0x0000735f 
+ 00029326  0x00007eee call  0x00007292 
+ 00029327  0x00007eef arg  0x00000592 , 0x00000006 
+ 00029328  0x00007ef0 arg  0x00000062 , 0x00000005 
+ 00029329  0x00007ef1 branch  0x00007ebf 
+ 00029330  0x00007ef5 setarg  0x00000562 
+ 00029331  0x00007ef6 store  0x00000002 , 0x000005d6 
+ 00029332  0x00007ef7 setarg  0x000041be 
+ 00029333  0x00007ef8 store  0x00000002 , 0x000005d4 
+ 00029334  0x00007ef9 set0  0x00000012 , 0x00000000 
+ 00029335  0x00007efa call  0x000072a8 
+ 00029336  0x00007efb arg  0x00000592 , 0x00000011 
+ 00029337  0x00007efc arg  0x00000562 , 0x00000012 
+ 00029338  0x00007efd arg  0x000005a2 , 0x00000005 
+ 00029339  0x00007efe call  0x00007352 
+ 00029340  0x00007eff arg  0x000005a2 , 0x00000011 
+ 00029341  0x00007f00 arg  0x000005b2 , 0x00000012 
+ 00029342  0x00007f01 copy  0x00000012 , 0x00000005 
+ 00029343  0x00007f02 enable  0x00000028 
+ 00029344  0x00007f03 call  0x00007350 
+ 00029345  0x00007f04 call  0x0000736a 
+ 00029346  0x00007f05 setarg  0x000005b2 
+ 00029347  0x00007f06 store  0x00000002 , 0x000005d6 
+ 00029348  0x00007f07 setarg  0x000005a2 
+ 00029349  0x00007f08 store  0x00000002 , 0x000005d4 
+ 00029350  0x00007f09 set1  0x00000012 , 0x00000000 
+ 00029351  0x00007f0a branch  0x000072a8 
+ 00029352  0x00007f0f jam  0x00000000 , 0x000005d8 
+ 00029353  0x00007f10 fetch  0x00000002 , 0x000005d4 
+ 00029354  0x00007f11 iforce  0x00000006 
+ 00029355  0x00007f12 arg  0x000005c2 , 0x00000005 
+ 00029356  0x00007f13 call  0x00007ebf 
+ 00029357  0x00007f14 fetch  0x00000002 , 0x000005d6 
+ 00029358  0x00007f15 iforce  0x00000006 
+ 00029359  0x00007f16 arg  0x00000592 , 0x00000005 
+ 00029360  0x00007f17 call  0x00007ebf 
+ 00029361  0x00007f1a call  0x000072cf 
+ 00029362  0x00007f1b disable  0x00000028 
+ 00029363  0x00007f1c bmark0  0x00000012 , 0x000072b9 
+ 00029364  0x00007f1d fetch  0x00000001 , 0x000005d8 
+ 00029365  0x00007f1e bne  0x00000004 , 0x000072b9 
+ 00029366  0x00007f1f fetch  0x00000002 , 0x000005d6 
+ 00029367  0x00007f20 iforce  0x00000012 
+ 00029368  0x00007f21 call  0x00007301 
+ 00029369  0x00007f23 call  0x00007300 
+ 00029370  0x00007f24 call  0x00007313 
+ 00029371  0x00007f25 fetch  0x00000001 , 0x000005d8 
+ 00029372  0x00007f26 increase  0x00000001 , 0x0000003f 
+ 00029373  0x00007f27 store  0x00000001 , 0x000005d8 
+ 00029374  0x00007f29 call  0x000072cf 
+ 00029375  0x00007f2a enable  0x00000028 
+ 00029376  0x00007f2b call  0x00007300 
+ 00029377  0x00007f2c call  0x00007322 
+ 00029378  0x00007f2d call  0x00007331 
+ 00029379  0x00007f2e call  0x00007322 
+ 00029380  0x00007f2f call  0x00007331 
+ 00029381  0x00007f30 call  0x00007322 
+ 00029382  0x00007f31 call  0x00007331 
+ 00029383  0x00007f32 call  0x00007322 
+ 00029384  0x00007f33 fetch  0x00000001 , 0x000005d8 
+ 00029385  0x00007f34 increase  0x00000001 , 0x0000003f 
+ 00029386  0x00007f35 store  0x00000001 , 0x000005d8 
+ 00029387  0x00007f36 bne  0x00000010 , 0x000072b1 
+ 00029388  0x00007f37 call  0x000072cf 
+ 00029389  0x00007f38 disable  0x00000028 
+ 00029390  0x00007f39 branch  0x00007300 
+ 00029391  0x00007f3e fetch  0x00000001 , 0x000005d8 
+ 00029392  0x00007f3f arg  0x000005c2 , 0x00000006 
+ 00029393  0x00007f40 branch  0x000072f6 , 0x00000034 
+ 00029394  0x00007f41 iforce  0x00000012 
+ 00029395  0x00007f42 force  0x00000011 , 0x00000039 
+ 00029396  0x00007f43 copy  0x00000006 , 0x00000005 
+ 00029397  0x00007f45 ifetch  0x00000001 , 0x00000006 
+ 00029398  0x00007f46 lshift3  0x0000003f , 0x00000002 
+ 00029399  0x00007f47 rshift2  0x0000003f , 0x0000003f 
+ 00029400  0x00007f48 rshift3  0x0000003f , 0x0000003f 
+ 00029401  0x00007f49 ior  0x00000002 , 0x0000003f 
+ 00029402  0x00007f4a istore  0x00000001 , 0x00000005 
+ 00029403  0x00007f4b loop  0x000072d5 
+ 00029404  0x00007f4c setarg  0x000005c2 
+ 00029405  0x00007f4d iadd  0x00000012 , 0x00000006 
+ 00029406  0x00007f4e force  0x00000010 , 0x00000039 
+ 00029407  0x00007f4f arg  0x00000572 , 0x00000005 
+ 00029408  0x00007f51 ifetch  0x00000001 , 0x00000006 
+ 00029409  0x00007f52 istore  0x00000001 , 0x00000005 
+ 00029410  0x00007f53 compare  0x000005d3 , 0x00000006 , 0x000000ff 
+ 00029411  0x00007f54 nbranch  0x000072e5 , 0x00000001 
+ 00029412  0x00007f55 increase  0xffffffef , 0x00000006 
+ 00029413  0x00007f57 loop  0x000072e0 
+ 00029414  0x00007f58 force  0x00000000 , 0x00000011 
+ 00029415  0x00007f59 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029416  0x00007f5a lshift2  0x00000013 , 0x00000013 
+ 00029417  0x00007f5b lshift2  0x00000013 , 0x00000013 
+ 00029418  0x00007f5c call  0x000074b9 
+ 00029419  0x00007f5d setarg  0x00008400 
+ 00029420  0x00007f5e iadd  0x00000013 , 0x00000013 
+ 00029421  0x00007f5f arg  0x00000572 , 0x00000005 
+ 00029422  0x00007f60 force  0x00000010 , 0x00000039 
+ 00029423  0x00007f62 ifetcht  0x00000001 , 0x00000013 
+ 00029424  0x00007f63 ifetch  0x00000001 , 0x00000005 
+ 00029425  0x00007f64 iadd  0x00000002 , 0x0000003f 
+ 00029426  0x00007f65 istore  0x00000001 , 0x00000005 
+ 00029427  0x00007f66 increase  0x00000001 , 0x00000013 
+ 00029428  0x00007f67 loop  0x000072ef 
+ 00029429  0x00007f68 branch  0x000074bd 
+ 00029430  0x00007f6b force  0x00000010 , 0x00000039 
+ 00029431  0x00007f6c force  0x00000000 , 0x00000002 
+ 00029432  0x00007f6e ifetch  0x00000001 , 0x00000006 
+ 00029433  0x00007f6f ixor  0x00000002 , 0x00000002 
+ 00029434  0x00007f70 loop  0x000072f8 
+ 00029435  0x00007f71 deposit  0x00000002 
+ 00029436  0x00007f72 istore  0x00000001 , 0x00000006 
+ 00029437  0x00007f73 arg  0x000005c2 , 0x00000006 
+ 00029438  0x00007f74 arg  0x00000572 , 0x00000005 
+ 00029439  0x00007f75 branch  0x00007ebf 
+ 00029440  0x00007f78 arg  0x00000572 , 0x00000012 
+ 00029441  0x00007f7a force  0x00000010 , 0x00000039 
+ 00029442  0x00007f7b arg  0x00000592 , 0x00000011 
+ 00029443  0x00007f7c copy  0x00000011 , 0x00000005 
+ 00029444  0x00007f7e ifetcht  0x00000001 , 0x00000011 
+ 00029445  0x00007f7f ifetch  0x00000001 , 0x00000012 
+ 00029446  0x00007f80 ixor  0x00000002 , 0x00000030 
+ 00029447  0x00007f81 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029448  0x00007f82 nbranch  0x0000730a , 0x00000028 
+ 00029449  0x00007f83 xor_into  0x00000003 , 0x00000013 
+ 00029450  0x00007f85 sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029451  0x00007f86 branch  0x0000730d , 0x00000002 
+ 00029452  0x00007f87 iadd  0x00000002 , 0x00000030 
+ 00029453  0x00007f89 deposit  0x00000030 
+ 00029454  0x00007f8a istore  0x00000001 , 0x00000005 
+ 00029455  0x00007f8b increase  0x00000001 , 0x00000011 
+ 00029456  0x00007f8c increase  0x00000001 , 0x00000012 
+ 00029457  0x00007f8d loop  0x00007304 
+ 00029458  0x00007f8e rtn 
+ 00029459  0x00007f91 call  0x000074b9 
+ 00029460  0x00007f92 force  0x00000010 , 0x00000039 
+ 00029461  0x00007f93 arg  0x00000592 , 0x00000011 
+ 00029462  0x00007f95 ifetch  0x00000001 , 0x00000011 
+ 00029463  0x00007f96 arg  0x00008500 , 0x00000006 
+ 00029464  0x00007f97 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029465  0x00007f98 sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029466  0x00007f99 branch  0x0000731c , 0x00000002 
+ 00029467  0x00007f9a arg  0x00008600 , 0x00000006 
+ 00029468  0x00007f9c iadd  0x00000006 , 0x00000006 
+ 00029469  0x00007f9d ifetch  0x00000001 , 0x00000006 
+ 00029470  0x00007f9e istore  0x00000001 , 0x00000011 
+ 00029471  0x00007f9f increase  0x00000001 , 0x00000011 
+ 00029472  0x00007fa0 loop  0x00007316 
+ 00029473  0x00007fa1 branch  0x000074bd 
+ 00029474  0x00007fa4 force  0x00000008 , 0x00000039 
+ 00029475  0x00007fa5 arg  0x00000592 , 0x00000006 
+ 00029476  0x00007fa6 copy  0x00000006 , 0x00000005 
+ 00029477  0x00007fa8 ifetch  0x00000001 , 0x00000006 
+ 00029478  0x00007fa9 iforce  0x00000011 
+ 00029479  0x00007faa ifetch  0x00000001 , 0x00000006 
+ 00029480  0x00007fab iforce  0x00000012 
+ 00029481  0x00007fac lshift  0x00000011 , 0x0000003f 
+ 00029482  0x00007fad iadd  0x00000012 , 0x0000003f 
+ 00029483  0x00007fae istore  0x00000001 , 0x00000005 
+ 00029484  0x00007faf deposit  0x00000011 
+ 00029485  0x00007fb0 iadd  0x00000012 , 0x0000003f 
+ 00029486  0x00007fb1 istore  0x00000001 , 0x00000005 
+ 00029487  0x00007fb2 loop  0x00007325 
+ 00029488  0x00007fb3 rtn 
+ 00029489  0x00007fb7 setarg  0x008ae42c 
+ 00029490  0x00007fb8 iforce  0x00000002 
+ 00029491  0x00007fb9 force  0x00000007 , 0x00000039 
+ 00029492  0x00007fba call  0x00007340 
+ 00029493  0x00007fbb setarg  0x000d751b 
+ 00029494  0x00007fbc iforce  0x00000002 
+ 00029495  0x00007fbd force  0x00000005 , 0x00000039 
+ 00029496  0x00007fbe call  0x00007340 
+ 00029497  0x00007fbf fetch  0x00000001 , 0x000005a1 
+ 00029498  0x00007fc0 iforce  0x00000011 
+ 00029499  0x00007fc1 fetch  0x00000001 , 0x00000595 
+ 00029500  0x00007fc2 store  0x00000001 , 0x000005a1 
+ 00029501  0x00007fc3 deposit  0x00000011 
+ 00029502  0x00007fc4 store  0x00000001 , 0x00000595 
+ 00029503  0x00007fc5 rtn 
+ 00029504  0x00007fc8 and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029505  0x00007fca and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029506  0x00007fcb arg  0x00000592 , 0x00000005 
+ 00029507  0x00007fcc iadd  0x00000005 , 0x00000005 
+ 00029508  0x00007fcd ifetch  0x00000001 , 0x00000005 
+ 00029509  0x00007fce iforce  0x00000013 
+ 00029510  0x00007fcf deposit  0x00000011 
+ 00029511  0x00007fd0 istore  0x00000001 , 0x00000005 
+ 00029512  0x00007fd1 copy  0x00000013 , 0x00000011 
+ 00029513  0x00007fd2 rshift4  0x00000002 , 0x00000002 
+ 00029514  0x00007fd3 loop  0x00007341 
+ 00029515  0x00007fd4 setarg  0x00000592 
+ 00029516  0x00007fd5 iadd  0x00000012 , 0x00000005 
+ 00029517  0x00007fd6 deposit  0x00000011 
+ 00029518  0x00007fd7 istore  0x00000001 , 0x00000005 
+ 00029519  0x00007fd8 rtn 
+ 00029520  0x00007fdb enable  0x00000028 
+ 00029521  0x00007fdc branch  0x00007353 
+ 00029522  0x00007fdf disable  0x00000028 
+ 00029523  0x00007fe1 force  0x00000010 , 0x00000039 
+ 00029524  0x00007fe3 ifetcht  0x00000001 , 0x00000011 
+ 00029525  0x00007fe4 ifetch  0x00000001 , 0x00000012 
+ 00029526  0x00007fe5 branch  0x00007359 , 0x00000028 
+ 00029527  0x00007fe6 ixor  0x00000002 , 0x0000003f 
+ 00029528  0x00007fe7 branch  0x0000735a 
+ 00029529  0x00007fe9 iadd  0x00000002 , 0x0000003f 
+ 00029530  0x00007feb istore  0x00000001 , 0x00000005 
+ 00029531  0x00007fec increase  0x00000001 , 0x00000011 
+ 00029532  0x00007fed increase  0x00000001 , 0x00000012 
+ 00029533  0x00007fee loop  0x00007354 
+ 00029534  0x00007fef rtn 
+ 00029535  0x00007ff3 arg  0x000005b2 , 0x00000005 
+ 00029536  0x00007ff4 ifetch  0x00000006 , 0x00000011 
+ 00029537  0x00007ff5 istore  0x00000006 , 0x00000005 
+ 00029538  0x00007ff6 branch  0x00007365 , 0x00000028 
+ 00029539  0x00007ff7 ifetch  0x00000006 , 0x00000011 
+ 00029540  0x00007ff8 branch  0x00007366 
+ 00029541  0x00007ffa ifetch  0x00000006 , 0x00000006 
+ 00029542  0x00007ffc istore  0x00000006 , 0x00000005 
+ 00029543  0x00007ffd ifetch  0x00000004 , 0x00000011 
+ 00029544  0x00007ffe istore  0x00000004 , 0x00000005 
+ 00029545  0x00007fff rtn 
+ 00029546  0x00008002 arg  0x000041be , 0x00000006 
+ 00029547  0x00008003 arg  0x000005a2 , 0x00000005 
+ 00029548  0x00008004 arg  0x00000000 , 0x00000002 
+ 00029549  0x00008005 setarg  0x008395a7 
+ 00029550  0x00008006 call  0x0000738b 
+ 00029551  0x00008007 setarg  0x00b3c1df 
+ 00029552  0x00008008 call  0x0000738b 
+ 00029553  0x00008009 setarg  0x0000e5e9 
+ 00029554  0x0000800a call  0x0000738c 
+ 00029555  0x0000800b copy  0x00000002 , 0x00000014 
+ 00029556  0x0000800c disable  0x00000028 
+ 00029557  0x0000800d call  0x00007379 
+ 00029558  0x0000800e copy  0x00000014 , 0x00000002 
+ 00029559  0x0000800f enable  0x00000028 
+ 00029560  0x00008010 branch  0x00007379 
+ 00029561  0x00008013 force  0x00000008 , 0x00000039 
+ 00029562  0x00008015 ifetch  0x00000001 , 0x00000006 
+ 00029563  0x00008016 compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029564  0x00008017 branch  0x00007380 , 0x00000028 
+ 00029565  0x00008018 branch  0x00007381 , 0x00000001 
+ 00029566  0x0000801a iadd  0x00000002 , 0x0000003f 
+ 00029567  0x0000801b branch  0x00007382 
+ 00029568  0x0000801d branch  0x0000737e , 0x00000001 
+ 00029569  0x0000801f ixor  0x00000002 , 0x0000003f 
+ 00029570  0x00008021 istore  0x00000001 , 0x00000005 
+ 00029571  0x00008022 rshift8  0x00000002 , 0x00000002 
+ 00029572  0x00008023 loop  0x0000737a 
+ 00029573  0x00008024 rtn 
+ 00029574  0x00008027 fetch  0x00000006 , 0x00000596 
+ 00029575  0x00008028 store  0x00000006 , 0x00000056 
+ 00029576  0x00008029 ifetch  0x00000006 , 0x00000006 
+ 00029577  0x0000802a istore  0x00000006 , 0x00000005 
+ 00029578  0x0000802b rtn 
+ 00029579  0x0000802e lshift8  0x00000002 , 0x00000002 
+ 00029580  0x00008030 lshift16  0x00000002 , 0x00000002 
+ 00029581  0x00008031 ior  0x00000002 , 0x00000002 
+ 00029582  0x00008032 rtn 
+ 00029583  0x00008037 branch  0x0000738f 
+ 00029584  0x0000803c bpatchx  0x000000e0 , 0x0000403c 
+ 00029585  0x0000803d call  0x0000742b 
+ 00029586  0x0000803e arg  0x00004419 , 0x00000005 
+ 00029587  0x0000803f branch  0x00007497 
+ 00029588  0x00008043 arg  0x0000443a , 0x00000005 
+ 00029589  0x00008044 branch  0x00007397 , 0x00000029 
+ 00029590  0x00008045 arg  0x0000042f , 0x00000005 
+ 00029591  0x00008047 copy  0x00000006 , 0x00000011 
+ 00029592  0x00008048 call  0x00007ebf 
+ 00029593  0x00008049 call  0x00007440 
+ 00029594  0x0000804a arg  0x0000442a , 0x00000006 
+ 00029595  0x0000804b branch  0x000074b0 
+ 00029596  0x0000804e arg  0x0000042f , 0x00000011 
+ 00029597  0x0000804f branch  0x0000739f , 0x00000029 
+ 00029598  0x00008050 arg  0x0000443a , 0x00000011 
+ 00029599  0x00008052 copy  0x00000011 , 0x00000005 
+ 00029600  0x00008053 call  0x0000630c 
+ 00029601  0x00008054 branch  0x00007440 
+ 00029602  0x00008057 arg  0x000044aa , 0x00000006 
+ 00029603  0x00008058 call  0x00007486 
+ 00029604  0x00008059 arg  0x00004419 , 0x00000006 
+ 00029605  0x0000805a call  0x00007487 
+ 00029606  0x0000805b force  0x00000038 , 0x00000036 
+ 00029607  0x0000805c force  0x00000000 , 0x00000036 
+ 00029608  0x0000805d call  0x0000741d 
+ 00029609  0x0000805e arg  0x0000047c , 0x00000005 
+ 00029610  0x0000805f branch  0x00007497 
+ 00029611  0x00008063 force  0x00000049 , 0x0000003f 
+ 00029612  0x00008064 branch  0x000073ae 
+ 00029613  0x00008066 force  0x00000001 , 0x0000003f 
+ 00029614  0x00008068 force  0x00000000 , 0x00000038 
+ 00029615  0x00008069 lshift8  0x00000002 , 0x0000002f 
+ 00029616  0x0000806a ior  0x0000002f , 0x0000002f 
+ 00029617  0x0000806b increase  0x00000001 , 0x00000038 
+ 00029618  0x0000806c rshift8  0x00000002 , 0x0000002f 
+ 00029619  0x0000806d rshift16  0x0000002f , 0x0000002f 
+ 00029620  0x0000806e fetch  0x00000002 , 0x00004411 
+ 00029621  0x0000806f lshift16 , 0x0000003f , 0x0000003f 
+ 00029622  0x00008070 ior  0x0000002f , 0x0000002f 
+ 00029623  0x00008071 increase  0x00000001 , 0x00000038 
+ 00029624  0x00008072 ifetch  0x00000004 , 0x00000006 
+ 00029625  0x00008073 iforce  0x0000002f 
+ 00029626  0x00008074 increase  0x00000001 , 0x00000038 
+ 00029627  0x00008075 ifetch  0x00000002 , 0x00000006 
+ 00029628  0x00008076 byteswap  0x00000011 , 0x0000002f 
+ 00029629  0x00008077 lshift16  0x0000002f , 0x0000002f 
+ 00029630  0x00008078 ior  0x0000002f , 0x0000002f 
+ 00029631  0x00008079 increase  0x00000001 , 0x00000038 
+ 00029632  0x0000807a rtn 
+ 00029633  0x0000807f add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029634  0x00008080 ifetch  0x00000001 , 0x00000006 
+ 00029635  0x00008081 iforce  0x00000011 
+ 00029636  0x00008082 call  0x000073ab 
+ 00029637  0x00008083 call  0x0000741f 
+ 00029638  0x00008085 force  0x00000000 , 0x00000038 
+ 00029639  0x00008086 ifetch  0x00000001 , 0x00000013 
+ 00029640  0x00008087 and_into  0x00000003 , 0x0000003f 
+ 00029641  0x00008088 lshift16  0x0000003f , 0x0000002f 
+ 00029642  0x00008089 set1  0x00000008 , 0x0000002f 
+ 00029643  0x0000808a call  0x0000748f 
+ 00029644  0x0000808b call  0x00007422 
+ 00029645  0x0000808d copy  0x00000011 , 0x00000039 
+ 00029646  0x0000808e add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029647  0x0000808f call  0x0000746e 
+ 00029648  0x00008091 call  0x00007478 
+ 00029649  0x00008092 call  0x00007422 
+ 00029650  0x00008093 deposit  0x00000039 
+ 00029651  0x00008094 branch  0x000073d5 , 0x00000034 
+ 00029652  0x00008095 branch  0x000073d0 
+ 00029653  0x00008097 force  0x0000000c , 0x00000038 
+ 00029654  0x00008098 deposit  0x0000002f 
+ 00029655  0x00008099 store  0x00000004 , 0x00000417 
+ 00029656  0x0000809a rtn 
+ 00029657  0x0000809d increase  0x00000001 , 0x00000011 
+ 00029658  0x0000809e call  0x000073ad 
+ 00029659  0x0000809f copy  0x00000013 , 0x00000006 
+ 00029660  0x000080a0 call  0x00007482 
+ 00029661  0x000080a1 call  0x00007425 
+ 00029662  0x000080a2 call  0x0000749e 
+ 00029663  0x000080a3 increase  0x00000010 , 0x00000013 
+ 00029664  0x000080a4 increase  0xfffffff0 , 0x00000012 
+ 00029665  0x000080a5 branch  0x000073d9 , 0x00000002 
+ 00029666  0x000080a6 rtn 
+ 00029667  0x000080a9 bpatchx  0x000000e1 , 0x0000403c 
+ 00029668  0x000080aa arg  0x000043dc , 0x00000013 
+ 00029669  0x000080ab fetcht  0x00000005 , 0x00004403 
+ 00029670  0x000080ac call  0x000073c1 
+ 00029671  0x000080ad force  0x00000008 , 0x00000038 
+ 00029672  0x000080ae iforce  0x0000002f 
+ 00029673  0x000080af force  0x00000000 , 0x00000011 
+ 00029674  0x000080b0 call  0x000073ad 
+ 00029675  0x000080b1 call  0x00007425 
+ 00029676  0x000080b2 arg  0x000043de , 0x00000013 
+ 00029677  0x000080b3 fetch  0x00000001 , 0x000043dd 
+ 00029678  0x000080b4 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029679  0x000080b5 iadd  0x00000013 , 0x00000005 
+ 00029680  0x000080b6 force  0x0000000c , 0x00000038 
+ 00029681  0x000080b7 deposit  0x0000002f 
+ 00029682  0x000080b8 istore  0x00000004 , 0x00000005 
+ 00029683  0x000080b9 call  0x000073d9 
+ 00029684  0x000080ba fetch  0x00000001 , 0x000043dd 
+ 00029685  0x000080bb increase  0x00000004 , 0x0000003f 
+ 00029686  0x000080bc store  0x00000001 , 0x000043dd 
+ 00029687  0x000080bd fetcht  0x00000005 , 0x00004403 
+ 00029688  0x000080be increase  0x00000001 , 0x00000002 
+ 00029689  0x000080bf storet  0x00000005 , 0x00004403 
+ 00029690  0x000080c0 rtn 
+ 00029691  0x000080c3 bpatchx  0x000000e2 , 0x0000403c 
+ 00029692  0x000080c4 fetch  0x00000001 , 0x000002da 
+ 00029693  0x000080c5 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00029694  0x000080c6 branch  0x000073ff , 0x00000002 
+ 00029695  0x000080c8 arg  0x000002db , 0x00000013 
+ 00029696  0x000080c9 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029697  0x000080ca increase  0xfffffffc , 0x0000003f 
+ 00029698  0x000080cb store  0x00000001 , 0x000002da 
+ 00029699  0x000080cc iadd  0x00000013 , 0x00000006 
+ 00029700  0x000080cd ifetch  0x00000004 , 0x00000006 
+ 00029701  0x000080ce force  0x00000008 , 0x00000038 
+ 00029702  0x000080cf iforce  0x0000002f 
+ 00029703  0x000080d0 force  0x00000000 , 0x00000011 
+ 00029704  0x000080d1 fetcht  0x00000005 , 0x00004408 
+ 00029705  0x000080d2 call  0x000073ad 
+ 00029706  0x000080d3 call  0x00007425 
+ 00029707  0x000080d4 force  0x0000000c , 0x00000038 
+ 00029708  0x000080d5 deposit  0x0000002f 
+ 00029709  0x000080d6 store  0x00000004 , 0x0000041b 
+ 00029710  0x000080d7 call  0x000073d9 
+ 00029711  0x000080d8 arg  0x000002d9 , 0x00000013 
+ 00029712  0x000080d9 call  0x000073c1 
+ 00029713  0x000080da fetcht  0x00000004 , 0x0000041b 
+ 00029714  0x000080db isub  0x00000002 , 0x0000003f 
+ 00029715  0x000080dc nrtn  0x00000034 
+ 00029716  0x000080dd fetch  0x00000004 , 0x0000440d 
+ 00029717  0x000080de isub  0x00000002 , 0x0000003f 
+ 00029718  0x000080df rtn  0x00000034 
+ 00029719  0x000080e0 storet  0x00000004 , 0x0000440d 
+ 00029720  0x000080e1 fetch  0x00000005 , 0x00004408 
+ 00029721  0x000080e2 increase  0x00000001 , 0x0000003f 
+ 00029722  0x000080e3 store  0x00000005 , 0x00004408 
+ 00029723  0x000080e4 force  0x00000000 , 0x0000003f 
+ 00029724  0x000080e5 rtn 
+ 00029725  0x000080e8 nbranch  0x0000741d , 0x00000037 
+ 00029726  0x000080e9 rtn 
+ 00029727  0x000080ec force  0x00000030 , 0x00000036 
+ 00029728  0x000080ed force  0x00000000 , 0x00000036 
+ 00029729  0x000080ee branch  0x0000741d 
+ 00029730  0x000080f1 force  0x00000032 , 0x00000036 
+ 00029731  0x000080f2 force  0x00000002 , 0x00000036 
+ 00029732  0x000080f3 branch  0x0000741d 
+ 00029733  0x000080f6 force  0x00000034 , 0x00000036 
+ 00029734  0x000080f7 force  0x00000004 , 0x00000036 
+ 00029735  0x000080f8 branch  0x0000741d 
+ 00029736  0x000080fc force  0x00000001 , 0x00000036 
+ 00029737  0x000080fd force  0x00000000 , 0x00000036 
+ 00029738  0x000080fe rtn 
+ 00029739  0x00008100 force  0x00000000 , 0x00000038 
+ 00029740  0x00008101 fetch  0x00000004 , 0x0000042f 
+ 00029741  0x00008102 iforce  0x0000002f 
+ 00029742  0x00008103 increase  0x00000001 , 0x00000038 
+ 00029743  0x00008104 ifetch  0x00000004 , 0x00000006 
+ 00029744  0x00008105 iforce  0x0000002f 
+ 00029745  0x00008106 increase  0x00000001 , 0x00000038 
+ 00029746  0x00008107 fetch  0x00000004 , 0x0000443a 
+ 00029747  0x00008108 iforce  0x0000002f 
+ 00029748  0x00008109 increase  0x00000001 , 0x00000038 
+ 00029749  0x0000810a ifetch  0x00000004 , 0x00000006 
+ 00029750  0x0000810b iforce  0x0000002f 
+ 00029751  0x0000810c increase  0x00000001 , 0x00000038 
+ 00029752  0x0000810d call  0x00007492 
+ 00029753  0x0000810e increase  0xfffffffc , 0x00000038 
+ 00029754  0x0000810f fetch  0x00000004 , 0x000044c7 
+ 00029755  0x00008110 copy  0x0000003f , 0x0000002f 
+ 00029756  0x00008111 increase  0x00000004 , 0x00000038 
+ 00029757  0x00008112 force  0x00000038 , 0x00000036 
+ 00029758  0x00008113 force  0x00000008 , 0x00000036 
+ 00029759  0x00008114 branch  0x0000741d 
+ 00029760  0x00008118 bpatchx  0x000000e3 , 0x0000403c 
+ 00029761  0x00008119 fetch  0x00000006 , 0x000044a0 
+ 00029762  0x0000811a fetcht  0x00000006 , 0x0000044f 
+ 00029763  0x0000811b branch  0x00007446 , 0x00000029 
+ 00029764  0x0000811c fetch  0x00000006 , 0x0000044f 
+ 00029765  0x0000811d fetcht  0x00000006 , 0x000044a0 
+ 00029766  0x0000811f force  0x00000008 , 0x00000038 
+ 00029767  0x00008120 copy  0x00000002 , 0x0000002f 
+ 00029768  0x00008121 increase  0x00000001 , 0x00000038 
+ 00029769  0x00008122 rshift32  0x00000002 , 0x0000002f 
+ 00029770  0x00008123 lshift16  0x0000003f , 0x0000003f 
+ 00029771  0x00008124 ior  0x0000002f , 0x0000002f 
+ 00029772  0x00008125 increase  0x00000001 , 0x00000038 
+ 00029773  0x00008126 rshift32  0x0000003f , 0x0000002f 
+ 00029774  0x00008127 increase  0x00000001 , 0x00000038 
+ 00029775  0x00008128 force  0x00000000 , 0x0000002f 
+ 00029776  0x00008129 force  0x00000000 , 0x0000003f 
+ 00029777  0x0000812a fetch  0x00000001 , 0x0000448e 
+ 00029778  0x0000812b fetcht  0x00000001 , 0x00004485 
+ 00029779  0x0000812c nbranch  0x00007456 , 0x00000029 
+ 00029780  0x0000812e fetch  0x00000001 , 0x00004495 
+ 00029781  0x0000812f fetcht  0x00000001 , 0x0000448e 
+ 00029782  0x00008131 store  0x00000001 , 0x0000444a 
+ 00029783  0x00008132 storet  0x00000001 , 0x0000444b 
+ 00029784  0x00008133 force  0x00000000 , 0x00000038 
+ 00029785  0x00008134 arg  0x0000444a , 0x00000012 
+ 00029786  0x00008135 force  0x00000004 , 0x00000039 
+ 00029787  0x00008137 ifetch  0x00000004 , 0x00000011 
+ 00029788  0x00008138 ifetcht  0x00000004 , 0x00000012 
+ 00029789  0x00008139 ixor  0x00000002 , 0x0000002f 
+ 00029790  0x0000813a increase  0x00000001 , 0x00000038 
+ 00029791  0x0000813b increase  0x00000004 , 0x00000011 
+ 00029792  0x0000813c increase  0x00000004 , 0x00000012 
+ 00029793  0x0000813d loop  0x0000745b 
+ 00029794  0x0000813e call  0x00007492 
+ 00029795  0x0000813f increase  0xfffffffc , 0x00000038 
+ 00029796  0x00008140 fetch  0x00000004 , 0x000044c7 
+ 00029797  0x00008141 copy  0x0000003f , 0x0000002f 
+ 00029798  0x00008142 increase  0x00000004 , 0x00000038 
+ 00029799  0x00008143 force  0x00000038 , 0x00000036 
+ 00029800  0x00008144 force  0x0000000c , 0x00000036 
+ 00029801  0x00008145 call  0x0000741d 
+ 00029802  0x00008147 call  0x00007491 
+ 00029803  0x00008148 force  0x0000003a , 0x00000036 
+ 00029804  0x00008149 force  0x00000008 , 0x00000036 
+ 00029805  0x0000814a branch  0x0000741d 
+ 00029806  0x0000814d compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029807  0x0000814e rtn  0x00000001 
+ 00029808  0x0000814f deposit  0x00000006 
+ 00029809  0x00008150 iadd  0x00000039 , 0x00000005 
+ 00029810  0x00008151 force  0x00000000 , 0x0000003f 
+ 00029811  0x00008153 istore  0x00000001 , 0x00000005 
+ 00029812  0x00008154 increase  0x00000001 , 0x00000039 
+ 00029813  0x00008155 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029814  0x00008156 rtn  0x00000001 
+ 00029815  0x00008157 branch  0x00007473 
+ 00029816  0x0000815a force  0x00000000 , 0x00000038 
+ 00029817  0x0000815c deposit  0x00000039 
+ 00029818  0x0000815d branch  0x0000747d , 0x00000034 
+ 00029819  0x0000815e ifetch  0x00000004 , 0x00000006 
+ 00029820  0x0000815f increase  0xfffffffc , 0x00000039 
+ 00029821  0x00008161 iforce  0x0000002f 
+ 00029822  0x00008162 increase  0x00000001 , 0x00000038 
+ 00029823  0x00008163 compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029824  0x00008164 rtn  0x00000001 
+ 00029825  0x00008165 branch  0x00007479 
+ 00029826  0x00008168 force  0x00000008 , 0x00000038 
+ 00029827  0x00008169 branch  0x00007487 
+ 00029828  0x0000816b force  0x00000004 , 0x00000038 
+ 00029829  0x0000816c branch  0x00007487 
+ 00029830  0x0000816e force  0x00000000 , 0x00000038 
+ 00029831  0x00008170 force  0x00000004 , 0x00000039 
+ 00029832  0x00008172 ifetch  0x00000004 , 0x00000006 
+ 00029833  0x00008173 iforce  0x0000002f 
+ 00029834  0x00008174 increase  0x00000001 , 0x00000038 
+ 00029835  0x00008175 loop  0x00007488 
+ 00029836  0x00008176 rtn 
+ 00029837  0x00008179 arg  0x0000047c , 0x00000006 
+ 00029838  0x0000817a branch  0x00007484 
+ 00029839  0x0000817d force  0x00000004 , 0x00000039 
+ 00029840  0x0000817e branch  0x00007494 
+ 00029841  0x00008181 force  0x00000000 , 0x00000038 
+ 00029842  0x00008183 force  0x00000004 , 0x00000039 
+ 00029843  0x00008185 force  0x00000000 , 0x0000002f 
+ 00029844  0x00008187 increase  0x00000001 , 0x00000038 
+ 00029845  0x00008188 loop  0x00007493 
+ 00029846  0x00008189 rtn 
+ 00029847  0x0000818c force  0x0000000c , 0x00000038 
+ 00029848  0x0000818d force  0x00000004 , 0x00000039 
+ 00029849  0x0000818f deposit  0x0000002f 
+ 00029850  0x00008190 istore  0x00000004 , 0x00000005 
+ 00029851  0x00008191 increase  0x00000001 , 0x00000038 
+ 00029852  0x00008192 loop  0x00007499 
+ 00029853  0x00008193 rtn 
+ 00029854  0x00008196 force  0x0000000c , 0x00000038 
+ 00029855  0x00008197 copy  0x00000013 , 0x00000005 
+ 00029856  0x00008198 add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029857  0x00008199 sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029858  0x0000819a branch  0x000074a4 , 0x00000002 
+ 00029859  0x0000819b force  0x00000010 , 0x00000039 
+ 00029860  0x0000819d deposit  0x0000002f 
+ 00029861  0x0000819e sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029862  0x0000819f branch  0x000074ac , 0x00000002 
+ 00029863  0x000081a0 istore  0x00000004 , 0x00000005 
+ 00029864  0x000081a1 increase  0xfffffffc , 0x00000039 
+ 00029865  0x000081a2 rtn  0x00000005 
+ 00029866  0x000081a3 increase  0x00000001 , 0x00000038 
+ 00029867  0x000081a4 branch  0x000074a4 
+ 00029868  0x000081a6 istore  0x00000001 , 0x00000005 
+ 00029869  0x000081a7 rshift8  0x0000003f , 0x0000003f 
+ 00029870  0x000081a8 loop  0x000074ac 
+ 00029871  0x000081a9 rtn 
+ 00029872  0x000081ad force  0x0000000c , 0x00000038 
+ 00029873  0x000081ae force  0x00000004 , 0x00000039 
+ 00029874  0x000081b0 ifetch  0x00000004 , 0x00000006 
+ 00029875  0x000081b1 isub  0x0000002f , 0x0000003e 
+ 00029876  0x000081b2 nrtn  0x00000005 
+ 00029877  0x000081b3 increase  0x00000001 , 0x00000038 
+ 00029878  0x000081b4 loop  0x000074b2 
+ 00029879  0x000081b5 force  0x00000000 , 0x0000003e 
+ 00029880  0x000081b6 rtn 
+ 00029881  0x000081b9 hfetch  0x00000001 , 0x00008050 
+ 00029882  0x000081ba set0  0x00000000 , 0x0000003f 
+ 00029883  0x000081bb hstore  0x00000001 , 0x00008050 
+ 00029884  0x000081bc rtn 
+ 00029885  0x000081bf hfetch  0x00000001 , 0x00008050 
+ 00029886  0x000081c0 set1  0x00000000 , 0x0000003f 
+ 00029887  0x000081c1 hstore  0x00000001 , 0x00008050 
+ 00029888  0x000081c2 rtn 
+ 00029889  0x000081c5 arg  0x00000886 , 0x00000005 
+ 00029890  0x000081c6 setsect  0x00000000 , 0x0003ffff 
+ 00029891  0x000081c7 setsect  0x00000001 , 0x0003ffff 
+ 00029892  0x000081c8 setsect  0x00000002 , 0x0003ffff 
+ 00029893  0x000081c9 setsect  0x00000003 , 0x0003fbff 
+ 00029894  0x000081ca istore  0x00000009 , 0x00000005 
+ 00029895  0x000081cb setsect  0x00000000 , 0x0003ffff 
+ 00029896  0x000081cc setsect  0x00000001 , 0x0003ffff 
+ 00029897  0x000081cd setsect  0x00000002 , 0x0003ffff 
+ 00029898  0x000081ce setsect  0x00000003 , 0x0003ffff 
+ 00029899  0x000081cf istore  0x00000009 , 0x00000005 
+ 00029900  0x000081d0 setsect  0x00000000 , 0x0003ffff 
+ 00029901  0x000081d1 setsect  0x00000001 , 0x0003ffff 
+ 00029902  0x000081d2 setsect  0x00000002 , 0x0003cfff 
+ 00029903  0x000081d3 setsect  0x00000003 , 0x0003ffff 
+ 00029904  0x000081d4 istore  0x00000009 , 0x00000005 
+ 00029905  0x000081d5 setsect  0x00000000 , 0x0003ffff 
+ 00029906  0x000081d6 setsect  0x00000001 , 0x0003ffff 
+ 00029907  0x000081d7 setsect  0x00000002 , 0x0003ffef 
+ 00029908  0x000081d8 setsect  0x00000003 , 0x0003ffff 
+ 00029909  0x000081d9 istore  0x00000009 , 0x00000005 
+ 00029910  0x000081da setsect  0x00000000 , 0x0003ffff 
+ 00029911  0x000081db setsect  0x00000001 , 0x0003ffff 
+ 00029912  0x000081dc setsect  0x00000002 , 0x0003ffff 
+ 00029913  0x000081dd setsect  0x00000003 , 0x0003ffff 
+ 00029914  0x000081de istore  0x00000009 , 0x00000005 
+ 00029915  0x000081df setsect  0x00000000 , 0x0003ffff 
+ 00029916  0x000081e0 setsect  0x00000001 , 0x00026c7f 
+ 00029917  0x000081e1 setsect  0x00000002 , 0x0000146b 
+ 00029918  0x000081e2 setsect  0x00000003 , 0x00037bb3 
+ 00029919  0x000081e3 istore  0x00000009 , 0x00000005 
+ 00029920  0x000081e4 setsect  0x00000000 , 0x0001feb8 
+ 00029921  0x000081e5 setsect  0x00000001 , 0x00010c12 
+ 00029922  0x000081e6 setsect  0x00000002 , 0x0002b722 
+ 00029923  0x000081e7 setsect  0x00000003 , 0x00029fa6 
+ 00029924  0x000081e8 istore  0x00000009 , 0x00000005 
+ 00029925  0x000081e9 setsect  0x00000000 , 0x0000e70f 
+ 00029926  0x000081ea setsect  0x00000001 , 0x00016720 
+ 00029927  0x000081eb setsect  0x00000002 , 0x0000519e 
+ 00029928  0x000081ec setsect  0x00000003 , 0x00019084 
+ 00029929  0x000081ed istore  0x00000009 , 0x00000005 
+ 00029930  0x000081ee setsect  0x00000000 , 0x00031012 
+ 00029931  0x000081ef setsect  0x00000001 , 0x000360bf 
+ 00029932  0x000081f0 setsect  0x00000002 , 0x0003f0af 
+ 00029933  0x000081f1 setsect  0x00000003 , 0x000003d3 
+ 00029934  0x000081f2 istore  0x00000009 , 0x00000005 
+ 00029935  0x000081f3 setsect  0x00000000 , 0x0003a188 
+ 00029936  0x000081f4 setsect  0x00000001 , 0x00003ad0 
+ 00029937  0x000081f5 setsect  0x00000002 , 0x0003cbf2 
+ 00029938  0x000081f6 setsect  0x00000003 , 0x000243d9 
+ 00029939  0x000081f7 istore  0x00000009 , 0x00000005 
+ 00029940  0x000081f8 setsect  0x00000000 , 0x0002b030 
+ 00029941  0x000081f9 setsect  0x00000001 , 0x00036a03 
+ 00029942  0x000081fa setsect  0x00000002 , 0x00011188 
+ 00029943  0x000081fb setsect  0x00000003 , 0x0001e520 
+ 00029944  0x000081fc istore  0x00000009 , 0x00000005 
+ 00029945  0x000081fd setsect  0x00000000 , 0x0003a11e 
+ 00029946  0x000081fe setsect  0x00000001 , 0x0000fe5d 
+ 00029947  0x000081ff setsect  0x00000002 , 0x0000dd57 
+ 00029948  0x00008200 setsect  0x00000003 , 0x0001ac93 
+ 00029949  0x00008201 istore  0x00000009 , 0x00000005 
+ 00029950  0x00008202 setsect  0x00000000 , 0x000011ed 
+ 00029951  0x00008203 setsect  0x00000001 , 0x000218c4 
+ 00029952  0x00008204 setsect  0x00000002 , 0x00008da7 
+ 00029953  0x00008205 setsect  0x00000003 , 0x000257ff 
+ 00029954  0x00008206 istore  0x00000009 , 0x00000005 
+ 00029955  0x00008207 setsect  0x00000000 , 0x0003192b 
+ 00029956  0x00008208 setsect  0x00000001 , 0x00034641 
+ 00029957  0x00008209 setsect  0x00000002 , 0x0001be0c 
+ 00029958  0x0000820a setsect  0x00000003 , 0x000366ad 
+ 00029959  0x0000820b istore  0x00000009 , 0x00000005 
+ 00029960  0x0000820c setsect  0x00000000 , 0x00001f83 
+ 00029961  0x0000820d setsect  0x00000001 , 0x00015a23 
+ 00029962  0x0000820e setsect  0x00000002 , 0x0003f9b0 
+ 00029963  0x0000820f setsect  0x00000003 , 0x00003949 
+ 00029964  0x00008210 istore  0x00000009 , 0x00000005 
+ 00029965  0x00008211 setsect  0x00000000 , 0x00013a51 
+ 00029966  0x00008212 setsect  0x00000001 , 0x000153fd 
+ 00029967  0x00008213 setsect  0x00000002 , 0x0003372a 
+ 00029968  0x00008214 setsect  0x00000003 , 0x0000f1bb 
+ 00029969  0x00008215 istore  0x00000009 , 0x00000005 
+ 00029970  0x00008216 setsect  0x00000000 , 0x0003ae85 
+ 00029971  0x00008217 setsect  0x00000001 , 0x0001eed9 
+ 00029972  0x00008218 setsect  0x00000002 , 0x00009e66 
+ 00029973  0x00008219 setsect  0x00000003 , 0x000001a8 
+ 00029974  0x0000821a istore  0x00000008 , 0x00000005 
+ 00029975  0x0000821b rtn 
+ 00029976  0x00008220 arg  0x0000091e , 0x00000005 
+ 00029977  0x00008221 setsect  0x00000000 , 0x0003ffff 
+ 00029978  0x00008222 setsect  0x00000001 , 0x0003ffff 
+ 00029979  0x00008223 setsect  0x00000002 , 0x0003ffff 
+ 00029980  0x00008224 setsect  0x00000003 , 0x0003ffff 
+ 00029981  0x00008225 istore  0x00000009 , 0x00000005 
+ 00029982  0x00008226 setsect  0x00000000 , 0x0003ffff 
+ 00029983  0x00008227 setsect  0x00000001 , 0x0000003f 
+ 00029984  0x00008228 setsect  0x00000002 , 0x00000000 
+ 00029985  0x00008229 setsect  0x00000003 , 0x00000000 
+ 00029986  0x0000822a istore  0x00000009 , 0x00000005 
+ 00029987  0x0000822b setsect  0x00000000 , 0x00000000 
+ 00029988  0x0000822c setsect  0x00000001 , 0x00000000 
+ 00029989  0x0000822d setsect  0x00000002 , 0x00001000 
+ 00029990  0x0000822e setsect  0x00000003 , 0x00000000 
+ 00029991  0x0000822f istore  0x00000009 , 0x00000005 
+ 00029992  0x00008230 setsect  0x00000000 , 0x0003ff00 
+ 00029993  0x00008231 setsect  0x00000001 , 0x0003ffff 
+ 00029994  0x00008232 setsect  0x00000002 , 0x0003ffcf 
+ 00029995  0x00008233 setsect  0x00000003 , 0x0003ffff 
+ 00029996  0x00008234 istore  0x00000009 , 0x00000005 
+ 00029997  0x00008235 setsect  0x00000000 , 0x0003ffff 
+ 00029998  0x00008236 setsect  0x00000001 , 0x0003ffff 
+ 00029999  0x00008237 setsect  0x00000002 , 0x0003ffff 
+ 00030000  0x00008238 setsect  0x00000003 , 0x000003ff 
+ 00030001  0x00008239 istore  0x00000009 , 0x00000005 
+ 00030002  0x0000823a setsect  0x00000000 , 0x00000000 
+ 00030003  0x0000823b setsect  0x00000001 , 0x00000000 
+ 00030004  0x0000823c setsect  0x00000002 , 0x00000000 
+ 00030005  0x0000823d setsect  0x00000003 , 0x00000000 
+ 00030006  0x0000823e istore  0x00000009 , 0x00000005 
+ 00030007  0x0000823f setsect  0x00000000 , 0x00010000 
+ 00030008  0x00008240 setsect  0x00000001 , 0x00000000 
+ 00030009  0x00008241 setsect  0x00000002 , 0x0003f000 
+ 00030010  0x00008242 setsect  0x00000003 , 0x0003ffff 
+ 00030011  0x00008243 istore  0x00000009 , 0x00000005 
+ 00030012  0x00008244 setsect  0x00000000 , 0x000296ff 
+ 00030013  0x00008245 setsect  0x00000001 , 0x00022630 
+ 00030014  0x00008246 setsect  0x00000002 , 0x0003945d 
+ 00030015  0x00008247 setsect  0x00000003 , 0x0003d284 
+ 00030016  0x00008248 istore  0x00000009 , 0x00000005 
+ 00030017  0x00008249 setsect  0x00000000 , 0x000333a0 
+ 00030018  0x0000824a setsect  0x00000001 , 0x00004b7a 
+ 00030019  0x0000824b setsect  0x00000002 , 0x000037d8 
+ 00030020  0x0000824c setsect  0x00000003 , 0x0003c9dc 
+ 00030021  0x0000824d istore  0x00000009 , 0x00000005 
+ 00030022  0x0000824e setsect  0x00000000 , 0x0003a440 
+ 00030023  0x0000824f setsect  0x00000001 , 0x0001b958 
+ 00030024  0x00008250 setsect  0x00000002 , 0x00038bce 
+ 00030025  0x00008251 setsect  0x00000003 , 0x0001091f 
+ 00030026  0x00008252 istore  0x00000009 , 0x00000005 
+ 00030027  0x00008253 setsect  0x00000000 , 0x0002e12c 
+ 00030028  0x00008254 setsect  0x00000001 , 0x0001f47c 
+ 00030029  0x00008255 setsect  0x00000002 , 0x000356b1 
+ 00030030  0x00008256 setsect  0x00000003 , 0x0002fd47 
+ 00030031  0x00008257 istore  0x00000009 , 0x00000005 
+ 00030032  0x00008258 setsect  0x00000000 , 0x00006837 
+ 00030033  0x00008259 setsect  0x00000001 , 0x0002ed90 
+ 00030034  0x0000825a setsect  0x00000002 , 0x0001ecec 
+ 00030035  0x0000825b setsect  0x00000003 , 0x0001acc5 
+ 00030036  0x0000825c istore  0x00000009 , 0x00000005 
+ 00030037  0x0000825d setsect  0x00000000 , 0x00023357 
+ 00030038  0x0000825e setsect  0x00000001 , 0x00018af3 
+ 00030039  0x0000825f setsect  0x00000002 , 0x0000f9e1 
+ 00030040  0x00008260 setsect  0x00000003 , 0x000129f0 
+ 00030041  0x00008261 istore  0x00000009 , 0x00000005 
+ 00030042  0x00008262 setsect  0x00000000 , 0x0002e7eb 
+ 00030043  0x00008263 setsect  0x00000001 , 0x0003e6e3 
+ 00030044  0x00008264 setsect  0x00000002 , 0x0003e1a7 
+ 00030045  0x00008265 setsect  0x00000003 , 0x00010b8b 
+ 00030046  0x00008266 istore  0x00000009 , 0x00000005 
+ 00030047  0x00008267 setsect  0x00000000 , 0x00024fe3 
+ 00030048  0x00008268 setsect  0x00000001 , 0x000020ef 
+ 00030049  0x00008269 setsect  0x00000002 , 0x0001b5a6 
+ 00030050  0x0000826a setsect  0x00000003 , 0x0000dc2f 
+ 00030051  0x0000826b istore  0x00000009 , 0x00000005 
+ 00030052  0x0000826c setsect  0x00000000 , 0x00013860 
+ 00030053  0x0000826d setsect  0x00000001 , 0x0002bd69 
+ 00030054  0x0000826e setsect  0x00000002 , 0x0000391a 
+ 00030055  0x0000826f setsect  0x00000003 , 0x0001b222 
+ 00030056  0x00008270 istore  0x00000009 , 0x00000005 
+ 00030057  0x00008271 rtn 
+ 00030058  0x00008275 fetch  0x00000001 , 0x0000465a 
+ 00030059  0x00008276 nbranch  0x0000757d , 0x00000034 
+ 00030060  0x00008277 branch  0x00007a77 
+ 00030061  0x0000827a bpatchx  0x000000e4 , 0x0000403c 
+ 00030062  0x0000827b fetch  0x00000001 , 0x0000465a 
+ 00030063  0x0000827c rtn  0x00000034 
+ 00030064  0x0000827d fetch  0x00000001 , 0x000045b1 
+ 00030065  0x0000827e rtnne  0x00000001 
+ 00030066  0x0000827f fetch  0x00000001 , 0x000044be 
+ 00030067  0x00008280 rtn  0x00000034 
+ 00030068  0x00008281 fetch  0x00000001 , 0x000044c3 
+ 00030069  0x00008282 rtneq  0x00000003 
+ 00030070  0x00008283 fetch  0x00000002 , 0x00004682 
+ 00030071  0x00008284 bbit1  0x00000000 , 0x0000757b 
+ 00030072  0x00008285 fetch  0x00000001 , 0x000044c0 
+ 00030073  0x00008286 beq  0x00000000 , 0x00007a77 
+ 00030074  0x00008287 rtn 
+ 00030075  0x00008289 jam  0x00000000 , 0x000044c0 
+ 00030076  0x0000828a rtn 
+ 00030077  0x0000828e bpatchx  0x000000e5 , 0x0000403c 
+ 00030078  0x0000828f fetch  0x00000001 , 0x0000465a 
+ 00030079  0x00008290 branch  0x0000612b , 0x00000034 
+ 00030080  0x00008291 call  0x00006124 
+ 00030081  0x00008292 call  0x00007583 
+ 00030082  0x00008293 branch  0x0000766d 
+ 00030083  0x00008296 setarg  0x00000000 
+ 00030084  0x00008297 store  0x00000008 , 0x000009ae 
+ 00030085  0x00008298 store  0x00000004 , 0x000009b6 
+ 00030086  0x00008299 store  0x00000007 , 0x0000465e 
+ 00030087  0x0000829a rtn 
+ 00030088  0x0000829d jam  0x00000001 , 0x000009b0 
+ 00030089  0x0000829e branch  0x0000758d 
+ 00030090  0x000082a0 fetch  0x00000001 , 0x000045b1 
+ 00030091  0x000082a1 beq  0x00000001 , 0x0000768a 
+ 00030092  0x000082a2 branch  0x00002a8c 
+ 00030093  0x000082a4 fetch  0x00000001 , 0x000045b1 
+ 00030094  0x000082a5 beq  0x00000001 , 0x00007590 
+ 00030095  0x000082a6 branch  0x0000766d 
+ 00030096  0x000082a9 call  0x0000768a 
+ 00030097  0x000082aa fetch  0x00000001 , 0x000009af 
+ 00030098  0x000082ab nrtn  0x00000034 
+ 00030099  0x000082ac jam  0x00000003 , 0x000009ae 
+ 00030100  0x000082ad rtn 
+ 00030101  0x000082b1 call  0x000075b0 
+ 00030102  0x000082b2 arg  0x000009de , 0x00000011 
+ 00030103  0x000082b3 arg  0x00000866 , 0x00000005 
+ 00030104  0x000082b4 call  0x00007c79 
+ 00030105  0x000082b5 arg  0x000009be , 0x00000011 
+ 00030106  0x000082b6 arg  0x00000826 , 0x00000005 
+ 00030107  0x000082b7 call  0x00007c79 
+ 00030108  0x000082b8 arg  0x00000826 , 0x00000011 
+ 00030109  0x000082b9 arg  0x000009be , 0x00000012 
+ 00030110  0x000082ba arg  0x00000826 , 0x00000005 
+ 00030111  0x000082bb call  0x00007be1 
+ 00030112  0x000082bc arg  0x0000093e , 0x00000011 
+ 00030113  0x000082bd arg  0x000009be , 0x00000012 
+ 00030114  0x000082be arg  0x00000846 , 0x00000005 
+ 00030115  0x000082bf call  0x00007be1 
+ 00030116  0x000082c0 arg  0x00000846 , 0x00000011 
+ 00030117  0x000082c1 arg  0x00000826 , 0x00000012 
+ 00030118  0x000082c2 arg  0x00000826 , 0x00000005 
+ 00030119  0x000082c3 call  0x00007c7d 
+ 00030120  0x000082c4 arg  0x00000806 , 0x00000011 
+ 00030121  0x000082c5 arg  0x00000826 , 0x00000012 
+ 00030122  0x000082c6 arg  0x00000806 , 0x00000005 
+ 00030123  0x000082c7 call  0x00007c7d 
+ 00030124  0x000082c8 arg  0x00000020 , 0x00000039 
+ 00030125  0x000082c9 arg  0x00000866 , 0x00000011 
+ 00030126  0x000082ca arg  0x00000806 , 0x00000012 
+ 00030127  0x000082cb branch  0x00007f88 
+ 00030128  0x000082ce arg  0x0000097e , 0x00000011 
+ 00030129  0x000082cf arg  0x00000806 , 0x00000005 
+ 00030130  0x000082d0 call  0x00007c79 
+ 00030131  0x000082d1 arg  0x0000095e , 0x00000011 
+ 00030132  0x000082d2 arg  0x00000826 , 0x00000005 
+ 00030133  0x000082d3 call  0x00007c79 
+ 00030134  0x000082d4 arg  0x00000826 , 0x00000011 
+ 00030135  0x000082d5 arg  0x0000095e , 0x00000012 
+ 00030136  0x000082d6 arg  0x00000826 , 0x00000005 
+ 00030137  0x000082d7 call  0x00007be1 
+ 00030138  0x000082d8 arg  0x0000093e , 0x00000011 
+ 00030139  0x000082d9 arg  0x0000095e , 0x00000012 
+ 00030140  0x000082da arg  0x00000846 , 0x00000005 
+ 00030141  0x000082db call  0x00007be1 
+ 00030142  0x000082dc arg  0x00000846 , 0x00000011 
+ 00030143  0x000082dd arg  0x00000826 , 0x00000012 
+ 00030144  0x000082de arg  0x00000826 , 0x00000005 
+ 00030145  0x000082df call  0x00007c7d 
+ 00030146  0x000082e0 arg  0x00000806 , 0x00000011 
+ 00030147  0x000082e1 arg  0x00000826 , 0x00000012 
+ 00030148  0x000082e2 arg  0x00000806 , 0x00000005 
+ 00030149  0x000082e3 branch  0x00007c96 
+ 00030150  0x000082e6 call  0x000075e1 
+ 00030151  0x000082e7 arg  0x000009e6 , 0x00000011 
+ 00030152  0x000082e8 arg  0x00000866 , 0x00000005 
+ 00030153  0x000082e9 call  0x000077a8 
+ 00030154  0x000082ea arg  0x000009c6 , 0x00000011 
+ 00030155  0x000082eb arg  0x00000826 , 0x00000005 
+ 00030156  0x000082ec call  0x000077a8 
+ 00030157  0x000082ed arg  0x00000826 , 0x00000011 
+ 00030158  0x000082ee arg  0x000009c6 , 0x00000012 
+ 00030159  0x000082ef arg  0x00000826 , 0x00000005 
+ 00030160  0x000082f0 call  0x00007786 
+ 00030161  0x000082f1 arg  0x0000089e , 0x00000011 
+ 00030162  0x000082f2 arg  0x000009c6 , 0x00000012 
+ 00030163  0x000082f3 arg  0x00000846 , 0x00000005 
+ 00030164  0x000082f4 call  0x00007786 
+ 00030165  0x000082f5 arg  0x00000846 , 0x00000011 
+ 00030166  0x000082f6 arg  0x00000826 , 0x00000012 
+ 00030167  0x000082f7 arg  0x00000826 , 0x00000005 
+ 00030168  0x000082f8 call  0x00007755 
+ 00030169  0x000082f9 arg  0x00000806 , 0x00000011 
+ 00030170  0x000082fa arg  0x00000826 , 0x00000012 
+ 00030171  0x000082fb arg  0x00000806 , 0x00000005 
+ 00030172  0x000082fc call  0x00007755 
+ 00030173  0x000082fd arg  0x00000018 , 0x00000039 
+ 00030174  0x000082fe arg  0x00000866 , 0x00000011 
+ 00030175  0x000082ff arg  0x00000806 , 0x00000012 
+ 00030176  0x00008300 branch  0x00007f88 
+ 00030177  0x00008303 arg  0x000008e6 , 0x00000011 
+ 00030178  0x00008304 arg  0x00000806 , 0x00000005 
+ 00030179  0x00008305 call  0x000077a8 
+ 00030180  0x00008306 arg  0x000008ce , 0x00000011 
+ 00030181  0x00008307 arg  0x00000826 , 0x00000005 
+ 00030182  0x00008308 call  0x000077a8 
+ 00030183  0x00008309 arg  0x00000826 , 0x00000011 
+ 00030184  0x0000830a arg  0x000008ce , 0x00000012 
+ 00030185  0x0000830b arg  0x00000826 , 0x00000005 
+ 00030186  0x0000830c call  0x00007786 
+ 00030187  0x0000830d arg  0x0000089e , 0x00000011 
+ 00030188  0x0000830e arg  0x000008ce , 0x00000012 
+ 00030189  0x0000830f arg  0x00000846 , 0x00000005 
+ 00030190  0x00008310 call  0x00007786 
+ 00030191  0x00008311 arg  0x00000846 , 0x00000011 
+ 00030192  0x00008312 arg  0x00000826 , 0x00000012 
+ 00030193  0x00008313 arg  0x00000826 , 0x00000005 
+ 00030194  0x00008314 call  0x00007755 
+ 00030195  0x00008315 arg  0x00000806 , 0x00000011 
+ 00030196  0x00008316 arg  0x00000826 , 0x00000012 
+ 00030197  0x00008317 arg  0x00000806 , 0x00000005 
+ 00030198  0x00008318 branch  0x00007758 
+ 00030199  0x0000831c fetch  0x00000001 , 0x000009b2 
+ 00030200  0x0000831d bne  0x00000000 , 0x00007615 
+ 00030201  0x0000831e call  0x00007612 
+ 00030202  0x0000831f arg  0x00000a7e , 0x00000005 
+ 00030203  0x00008320 setarg  0x00000a2e 
+ 00030204  0x00008321 istore  0x00000002 , 0x00000005 
+ 00030205  0x00008322 setarg  0x00004642 
+ 00030206  0x00008323 istore  0x00000002 , 0x00000005 
+ 00030207  0x00008324 setarg  0x000009de 
+ 00030208  0x00008325 istore  0x00000002 , 0x00000005 
+ 00030209  0x00008326 branch  0x00007609 
+ 00030210  0x00008328 arg  0x00000a7e , 0x00000005 
+ 00030211  0x00008329 setarg  0x00000a3e 
+ 00030212  0x0000832a istore  0x00000002 , 0x00000005 
+ 00030213  0x0000832b setarg  0x000009de 
+ 00030214  0x0000832c istore  0x00000002 , 0x00000005 
+ 00030215  0x0000832d setarg  0x00004642 
+ 00030216  0x0000832e istore  0x00000002 , 0x00000005 
+ 00030217  0x00008330 call  0x000079a0 
+ 00030218  0x00008331 fetch  0x00000001 , 0x000009af 
+ 00030219  0x00008332 beq  0x00000004 , 0x0000760f 
+ 00030220  0x00008333 jam  0x00000001 , 0x000009b0 
+ 00030221  0x00008334 jam  0x00000005 , 0x000009ae 
+ 00030222  0x00008335 rtn 
+ 00030223  0x00008337 jam  0x00000014 , 0x000009af 
+ 00030224  0x00008338 call  0x0000758a 
+ 00030225  0x00008339 branch  0x000076d8 
+ 00030226  0x0000833c arg  0x00000a1e , 0x00000005 
+ 00030227  0x0000833d force  0x00000008 , 0x00000007 
+ 00030228  0x0000833e branch  0x000076a2 
+ 00030229  0x00008341 jam  0x00000001 , 0x000009b0 
+ 00030230  0x00008342 rtn 
+ 00030231  0x00008346 bpatchx  0x000000e6 , 0x0000403c 
+ 00030232  0x00008347 arg  0x00000727 , 0x00000005 
+ 00030233  0x00008348 fetch  0x00000006 , 0x000040a0 
+ 00030234  0x00008349 istore  0x00000006 , 0x00000005 
+ 00030235  0x0000834a fetch  0x00000006 , 0x00000040 
+ 00030236  0x0000834b istore  0x00000006 , 0x00000005 
+ 00030237  0x0000834c fetch  0x00000003 , 0x0000465e 
+ 00030238  0x0000834d istore  0x00000003 , 0x00000005 
+ 00030239  0x0000834f call  0x00007a0d 
+ 00030240  0x00008351 arg  0x00000a4e , 0x00000011 
+ 00030241  0x00008352 arg  0x00000a5e , 0x00000012 
+ 00030242  0x00008353 force  0x00000004 , 0x00000007 
+ 00030243  0x00008354 call  0x000076a7 
+ 00030244  0x00008355 nbranch  0x00007631 , 0x00000001 
+ 00030245  0x00008357 call  0x00007628 
+ 00030246  0x00008358 jam  0x00000041 , 0x0000007d 
+ 00030247  0x00008359 branch  0x000062f8 
+ 00030248  0x0000835c fetch  0x00000001 , 0x000009af 
+ 00030249  0x0000835d beq  0x00000009 , 0x0000762e 
+ 00030250  0x0000835e jam  0x0000000a , 0x000009ae 
+ 00030251  0x0000835f jam  0x00000001 , 0x000009b0 
+ 00030252  0x00008360 jam  0x00000003 , 0x0000007c 
+ 00030253  0x00008361 rtn 
+ 00030254  0x00008363 jam  0x00000003 , 0x0000007c 
+ 00030255  0x00008364 jam  0x00000015 , 0x000009af 
+ 00030256  0x00008365 branch  0x000076d8 
+ 00030257  0x00008369 fetch  0x00000001 , 0x000009af 
+ 00030258  0x0000836a beq  0x00000009 , 0x00007637 
+ 00030259  0x0000836b jam  0x00000000 , 0x000009ae 
+ 00030260  0x0000836c jam  0x00000004 , 0x0000007c 
+ 00030261  0x0000836e jam  0x00000005 , 0x0000007e 
+ 00030262  0x0000836f rtn 
+ 00030263  0x00008371 jam  0x00000004 , 0x0000007c 
+ 00030264  0x00008372 jam  0x00000000 , 0x000009af 
+ 00030265  0x00008373 rtn 
+ 00030266  0x00008376 fetch  0x00000001 , 0x000009b3 
+ 00030267  0x00008377 beq  0x00000001 , 0x0000763e 
+ 00030268  0x00008378 jam  0x0000000a , 0x000009af 
+ 00030269  0x00008379 branch  0x000076d8 
+ 00030270  0x0000837b arg  0x00000727 , 0x00000005 
+ 00030271  0x0000837c fetch  0x00000006 , 0x00000040 
+ 00030272  0x0000837d istore  0x00000006 , 0x00000005 
+ 00030273  0x0000837e fetch  0x00000006 , 0x000040a0 
+ 00030274  0x0000837f istore  0x00000006 , 0x00000005 
+ 00030275  0x00008380 fetch  0x00000003 , 0x0000465b 
+ 00030276  0x00008381 istore  0x00000003 , 0x00000005 
+ 00030277  0x00008383 call  0x00007a24 
+ 00030278  0x00008384 fetch  0x00000001 , 0x000009af 
+ 00030279  0x00008385 beq  0x0000000a , 0x0000764b 
+ 00030280  0x00008386 jam  0x0000000b , 0x000009ae 
+ 00030281  0x00008387 jam  0x00000001 , 0x000009b0 
+ 00030282  0x00008388 rtn 
+ 00030283  0x0000838a jam  0x0000000b , 0x000009af 
+ 00030284  0x0000838b jam  0x00000001 , 0x000009b1 
+ 00030285  0x0000838c rtn 
+ 00030286  0x0000838f arg  0x00000a7e , 0x00000005 
+ 00030287  0x00008390 fetch  0x00000006 , 0x00000040 
+ 00030288  0x00008391 istore  0x00000006 , 0x00000005 
+ 00030289  0x00008392 fetch  0x00000006 , 0x000040a0 
+ 00030290  0x00008393 istore  0x00000006 , 0x00000005 
+ 00030291  0x00008394 setarg  0x00000a2e 
+ 00030292  0x00008395 istore  0x00000002 , 0x00000005 
+ 00030293  0x00008396 setarg  0x00000a3e 
+ 00030294  0x00008397 istore  0x00000002 , 0x00000005 
+ 00030295  0x00008398 branch  0x00007662 
+ 00030296  0x0000839a jam  0x0000000f , 0x000009ae 
+ 00030297  0x0000839b arg  0x00000a7e , 0x00000005 
+ 00030298  0x0000839c fetch  0x00000006 , 0x000040a0 
+ 00030299  0x0000839d istore  0x00000006 , 0x00000005 
+ 00030300  0x0000839e fetch  0x00000006 , 0x00000040 
+ 00030301  0x0000839f istore  0x00000006 , 0x00000005 
+ 00030302  0x000083a0 setarg  0x00000a3e 
+ 00030303  0x000083a1 istore  0x00000002 , 0x00000005 
+ 00030304  0x000083a2 setarg  0x00000a2e 
+ 00030305  0x000083a3 istore  0x00000002 , 0x00000005 
+ 00030306  0x000083a6 arg  0x00000727 , 0x00000005 
+ 00030307  0x000083a7 fetch  0x00000006 , 0x00000a7e 
+ 00030308  0x000083a8 istore  0x00000006 , 0x00000005 
+ 00030309  0x000083a9 fetch  0x00000006 , 0x00000a84 
+ 00030310  0x000083aa istore  0x00000006 , 0x00000005 
+ 00030311  0x000083ac call  0x000079d7 
+ 00030312  0x000083af jam  0x00000001 , 0x000041bd 
+ 00030313  0x000083b0 arg  0x000041be , 0x00000005 
+ 00030314  0x000083b1 arg  0x00000a4e , 0x00000006 
+ 00030315  0x000083b2 call  0x00007ebf 
+ 00030316  0x000083b3 branch  0x000021c4 
+ 00030317  0x000083b7 bpatchx  0x000000e7 , 0x0000403c 
+ 00030318  0x000083b8 fetch  0x00000001 , 0x000045b1 
+ 00030319  0x000083b9 rtnne  0x00000000 
+ 00030320  0x000083ba fetch  0x00000001 , 0x000009b2 
+ 00030321  0x000083bb rtnne  0x00000000 
+ 00030322  0x000083bc arg  0x00004612 , 0x00000005 
+ 00030323  0x000083bd force  0x0000000b , 0x00000007 
+ 00030324  0x000083be call  0x000076a2 
+ 00030325  0x000083bf random  0x0000003f 
+ 00030326  0x000083c0 rshift  0x0000003f , 0x0000003f 
+ 00030327  0x000083c1 istore  0x00000002 , 0x00000005 
+ 00030328  0x000083c3 arg  0x000006be , 0x00000005 
+ 00030329  0x000083c4 arg  0x00004612 , 0x00000006 
+ 00030330  0x000083c5 call  0x00007ebe 
+ 00030331  0x000083c7 arg  0x000005e6 , 0x00000005 
+ 00030332  0x000083c8 arg  0x000008ce , 0x00000006 
+ 00030333  0x000083c9 call  0x00007ebc 
+ 00030334  0x000083cb arg  0x00000616 , 0x00000005 
+ 00030335  0x000083cc call  0x00007ec5 
+ 00030336  0x000083cd jam  0x00000001 , 0x00000616 
+ 00030337  0x000083cf call  0x00007a5d 
+ 00030338  0x000083d0 jam  0x00000001 , 0x000009b2 
+ 00030339  0x000083d1 rtn 
+ 00030340  0x000083d4 arg  0x0000462a , 0x00000005 
+ 00030341  0x000083d5 arg  0x0000062e , 0x00000006 
+ 00030342  0x000083d6 call  0x00007ebc 
+ 00030343  0x000083d7 jam  0x00000001 , 0x000045b1 
+ 00030344  0x000083d8 jam  0x00000000 , 0x000009b2 
+ 00030345  0x000083d9 rtn 
+ 00030346  0x000083dc bpatchx  0x000000e8 , 0x0000403d 
+ 00030347  0x000083dd fetch  0x00000001 , 0x000009b9 
+ 00030348  0x000083de rtnne  0x00000000 
+ 00030349  0x000083df fetch  0x00000001 , 0x000009b2 
+ 00030350  0x000083e0 rtnne  0x00000000 
+ 00030351  0x000083e2 arg  0x000006be , 0x00000005 
+ 00030352  0x000083e3 arg  0x00004612 , 0x00000006 
+ 00030353  0x000083e4 call  0x00007ebe 
+ 00030354  0x000083e6 arg  0x000005e6 , 0x00000005 
+ 00030355  0x000083e7 arg  0x000009c6 , 0x00000006 
+ 00030356  0x000083e8 call  0x00007ebc 
+ 00030357  0x000083ea arg  0x00000616 , 0x00000005 
+ 00030358  0x000083eb call  0x00007ec5 
+ 00030359  0x000083ec jam  0x00000001 , 0x00000616 
+ 00030360  0x000083ee call  0x00007a5d 
+ 00030361  0x000083ef jam  0x00000002 , 0x000009b2 
+ 00030362  0x000083f0 rtn 
+ 00030363  0x000083f3 jam  0x00000001 , 0x000009b3 
+ 00030364  0x000083f4 arg  0x00000a06 , 0x00000005 
+ 00030365  0x000083f5 arg  0x0000062e , 0x00000006 
+ 00030366  0x000083f6 call  0x00007ebe 
+ 00030367  0x000083f7 jam  0x00000001 , 0x000009b9 
+ 00030368  0x000083f8 jam  0x00000000 , 0x000009b2 
+ 00030369  0x000083f9 rtn 
+ 00030370  0x000083fc increase  0xffffffff , 0x00000007 
+ 00030371  0x000083fd nrtn  0x00000002 
+ 00030372  0x000083fe random  0x0000003f 
+ 00030373  0x000083ff istore  0x00000002 , 0x00000005 
+ 00030374  0x00008400 branch  0x000076a2 
+ 00030375  0x00008402 increase  0xffffffff , 0x00000007 
+ 00030376  0x00008403 nbranch  0x000076b3 , 0x00000002 
+ 00030377  0x00008404 ifetch  0x00000004 , 0x00000011 
+ 00030378  0x00008405 copy  0x0000003f , 0x00000002 
+ 00030379  0x00008406 ifetch  0x00000004 , 0x00000012 
+ 00030380  0x00008407 iflip  0x00000002 , 0x0000003f 
+ 00030381  0x00008408 nbranch  0x000076b1 , 0x00000005 
+ 00030382  0x00008409 increase  0x00000004 , 0x00000011 
+ 00030383  0x0000840a increase  0x00000004 , 0x00000012 
+ 00030384  0x0000840b branch  0x000076a7 
+ 00030385  0x0000840d disable  0x00000001 
+ 00030386  0x0000840e rtn 
+ 00030387  0x00008410 enable  0x00000001 
+ 00030388  0x00008411 rtn 
+ 00030389  0x00008419 bpatchx  0x000000e9 , 0x0000403d 
+ 00030390  0x0000841a fetch  0x00000001 , 0x000009b0 
+ 00030391  0x0000841b rtn  0x00000034 
+ 00030392  0x0000841c call  0x000062bc 
+ 00030393  0x0000841d nrtn  0x00000034 
+ 00030394  0x0000841e jam  0x00000000 , 0x000009b0 
+ 00030395  0x0000841f fetch  0x00000001 , 0x000009ae 
+ 00030396  0x00008420 beq  0x00000003 , 0x000061fd 
+ 00030397  0x00008421 beq  0x00000005 , 0x0000621a 
+ 00030398  0x00008422 beq  0x00000007 , 0x00006225 
+ 00030399  0x00008423 beq  0x0000000b , 0x0000623a 
+ 00030400  0x00008424 beq  0x00000002 , 0x00007588 
+ 00030401  0x00008425 beq  0x00000004 , 0x000075f7 
+ 00030402  0x00008426 beq  0x00000009 , 0x00007617 
+ 00030403  0x00008427 beq  0x0000000a , 0x0000763a 
+ 00030404  0x00008428 beq  0x0000000c , 0x00007658 
+ 00030405  0x0000842a rtn 
+ 00030406  0x0000842d bpatchx  0x000000ea , 0x0000403d 
+ 00030407  0x0000842e fetch  0x00000001 , 0x000009b1 
+ 00030408  0x0000842f rtn  0x00000034 
+ 00030409  0x00008430 call  0x000062bc 
+ 00030410  0x00008431 nrtn  0x00000034 
+ 00030411  0x00008432 jam  0x00000000 , 0x000009b1 
+ 00030412  0x00008433 fetch  0x00000001 , 0x000009af 
+ 00030413  0x00008434 beq  0x00000012 , 0x000061e0 
+ 00030414  0x00008435 beq  0x00000013 , 0x000061e5 
+ 00030415  0x00008436 beq  0x00000003 , 0x000061e9 
+ 00030416  0x00008437 beq  0x00000004 , 0x00007602 
+ 00030417  0x00008438 beq  0x00000014 , 0x000061ed 
+ 00030418  0x00008439 beq  0x00000007 , 0x000061fb 
+ 00030419  0x0000843a beq  0x0000000a , 0x0000763a 
+ 00030420  0x0000843b beq  0x0000000b , 0x00006239 
+ 00030421  0x0000843c beq  0x00000009 , 0x00007617 
+ 00030422  0x0000843d beq  0x00000015 , 0x00006233 
+ 00030423  0x0000843e rtn 
+ 00030424  0x00008441 jam  0x00000001 , 0x000009b1 
+ 00030425  0x00008442 rtn 
+ 00030426  0x00008445 jam  0x00000000 , 0x000009b1 
+ 00030427  0x00008446 rtn 
+ 00030428  0x00008448 bpatchx  0x000000eb , 0x0000403d 
+ 00030429  0x00008449 fetch  0x00000001 , 0x0000465a 
+ 00030430  0x0000844a rtn  0x00000034 
+ 00030431  0x0000844b fetch  0x00000001 , 0x000009b2 
+ 00030432  0x0000844c rtn  0x00000034 
+ 00030433  0x0000844d increase  0x00000080 , 0x0000003f 
+ 00030434  0x0000844e store  0x00000001 , 0x000009b2 
+ 00030435  0x0000844f rtnbit1  0x00000007 
+ 00030436  0x00008450 fetch  0x00000001 , 0x000005e3 
+ 00030437  0x00008451 branch  0x000076e7 , 0x00000034 
+ 00030438  0x00008452 branch  0x00007a68 
+ 00030439  0x00008455 call  0x000078d3 
+ 00030440  0x00008456 fetch  0x00000001 , 0x000009b2 
+ 00030441  0x00008457 beq  0x00000001 , 0x00007684 
+ 00030442  0x00008458 beq  0x00000002 , 0x0000769b 
+ 00030443  0x00008459 rtn 
+ 00030444  0x0000845d and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030445  0x0000845e rshift3  0x0000003f , 0x0000003f 
+ 00030446  0x0000845f iadd  0x00000006 , 0x00000006 
+ 00030447  0x00008460 ifetch  0x00000001 , 0x00000006 
+ 00030448  0x00008461 qisolate0  0x0000003f 
+ 00030449  0x00008462 rtn 
+ 00030450  0x00008466 call  0x00007ebe 
+ 00030451  0x00008467 call  0x00007ebe 
+ 00030452  0x00008468 branch  0x00007ebe 
+ 00030453  0x0000846c ifetch  0x00000008 , 0x00000006 
+ 00030454  0x0000846d nrtn  0x00000034 
+ 00030455  0x0000846e ifetch  0x00000008 , 0x00000006 
+ 00030456  0x0000846f nrtn  0x00000034 
+ 00030457  0x00008470 ifetch  0x00000008 , 0x00000006 
+ 00030458  0x00008471 rtn 
+ 00030459  0x00008477 ifetch  0x00000004 , 0x00000011 
+ 00030460  0x00008478 iforce  0x00000002 
+ 00030461  0x00008479 ifetch  0x00000004 , 0x00000012 
+ 00030462  0x0000847a isub  0x00000002 , 0x0000003e 
+ 00030463  0x0000847b nrtn  0x00000005 
+ 00030464  0x0000847c increase  0x00000004 , 0x00000011 
+ 00030465  0x0000847d increase  0x00000004 , 0x00000012 
+ 00030466  0x0000847e loop  0x000076fb 
+ 00030467  0x0000847f rtn 
+ 00030468  0x00008483 force  0x00000006 , 0x00000039 
+ 00030469  0x00008484 increase  0x00000014 , 0x00000011 
+ 00030470  0x00008485 increase  0x00000014 , 0x00000012 
+ 00030471  0x00008487 ifetch  0x00000004 , 0x00000012 
+ 00030472  0x00008488 iforce  0x00000002 
+ 00030473  0x00008489 ifetch  0x00000004 , 0x00000011 
+ 00030474  0x0000848a isub  0x00000002 , 0x0000003f 
+ 00030475  0x0000848b nrtn  0x00000002 
+ 00030476  0x0000848c nrtn  0x00000034 
+ 00030477  0x0000848d increase  0xfffffffc , 0x00000011 
+ 00030478  0x0000848e increase  0xfffffffc , 0x00000012 
+ 00030479  0x0000848f loop  0x00007707 
+ 00030480  0x00008490 rtn 
+ 00030481  0x00008493 force  0x00000006 , 0x00000039 
+ 00030482  0x00008494 force  0x00000000 , 0x00000013 
+ 00030483  0x00008496 ifetch  0x00000004 , 0x00000011 
+ 00030484  0x00008497 iforce  0x00000002 
+ 00030485  0x00008498 ifetch  0x00000004 , 0x00000012 
+ 00030486  0x00008499 iadd  0x00000002 , 0x0000003f 
+ 00030487  0x0000849a iadd  0x00000013 , 0x0000003f 
+ 00030488  0x0000849b istore  0x00000004 , 0x00000005 
+ 00030489  0x0000849c isolate1  0x00000020 , 0x0000003f 
+ 00030490  0x0000849d setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030491  0x0000849e increase  0x00000004 , 0x00000011 
+ 00030492  0x0000849f increase  0x00000004 , 0x00000012 
+ 00030493  0x000084a0 loop  0x00007713 
+ 00030494  0x000084a1 rtn 
+ 00030495  0x000084a4 force  0x00000006 , 0x00000039 
+ 00030496  0x000084a5 force  0x00000000 , 0x00000013 
+ 00030497  0x000084a7 ifetch  0x00000004 , 0x00000012 
+ 00030498  0x000084a8 iforce  0x00000002 
+ 00030499  0x000084a9 ifetch  0x00000004 , 0x00000011 
+ 00030500  0x000084aa isub  0x00000002 , 0x0000003f 
+ 00030501  0x000084ab isub  0x00000013 , 0x0000003f 
+ 00030502  0x000084ac istore  0x00000004 , 0x00000005 
+ 00030503  0x000084ad isolate1  0x00000020 , 0x0000003f 
+ 00030504  0x000084ae setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030505  0x000084af increase  0x00000004 , 0x00000011 
+ 00030506  0x000084b0 increase  0x00000004 , 0x00000012 
+ 00030507  0x000084b1 loop  0x00007721 
+ 00030508  0x000084b2 rtn 
+ 00030509  0x000084b5 force  0x00000006 , 0x00000039 
+ 00030510  0x000084b6 increase  0x00000014 , 0x00000011 
+ 00030511  0x000084b8 force  0x00000000 , 0x00000013 
+ 00030512  0x000084ba ifetch  0x00000004 , 0x00000011 
+ 00030513  0x000084bb isolate1  0x00000000 , 0x0000003f 
+ 00030514  0x000084bc setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030515  0x000084bd rshift  0x0000003f , 0x0000003f 
+ 00030516  0x000084be isolate1  0x00000000 , 0x00000013 
+ 00030517  0x000084bf setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030518  0x000084c0 istore  0x00000004 , 0x00000011 
+ 00030519  0x000084c1 increase  0xfffffffc , 0x00000011 
+ 00030520  0x000084c2 rshift  0x00000013 , 0x00000013 
+ 00030521  0x000084c3 loop  0x00007730 
+ 00030522  0x000084c4 rtn 
+ 00030523  0x000084c7 force  0x00000006 , 0x00000039 
+ 00030524  0x000084c8 force  0x00000000 , 0x00000013 
+ 00030525  0x000084ca ifetch  0x00000004 , 0x00000011 
+ 00030526  0x000084cb isolate1  0x0000001f , 0x0000003f 
+ 00030527  0x000084cc setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030528  0x000084cd lshift  0x0000003f , 0x0000003f 
+ 00030529  0x000084ce isolate1  0x00000000 , 0x00000013 
+ 00030530  0x000084cf setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030531  0x000084d0 istore  0x00000004 , 0x00000011 
+ 00030532  0x000084d1 increase  0x00000004 , 0x00000011 
+ 00030533  0x000084d2 rshift  0x00000013 , 0x00000013 
+ 00030534  0x000084d3 loop  0x0000773d 
+ 00030535  0x000084d4 rtn 
+ 00030536  0x000084d7 call  0x0000773b 
+ 00030537  0x000084d9 isolate1  0x00000000 , 0x00000013 
+ 00030538  0x000084da branch  0x00007751 , 0x00000001 
+ 00030539  0x000084db arg  0x00000886 , 0x00000012 
+ 00030540  0x000084dc copy  0x00000011 , 0x00000013 
+ 00030541  0x000084dd increase  0xffffffe8 , 0x00000011 
+ 00030542  0x000084de call  0x00007704 
+ 00030543  0x000084df nrtn  0x00000002 
+ 00030544  0x000084e0 copy  0x00000013 , 0x00000011 
+ 00030545  0x000084e2 increase  0xffffffe8 , 0x00000011 
+ 00030546  0x000084e3 arg  0x00000886 , 0x00000012 
+ 00030547  0x000084e4 copy  0x00000011 , 0x00000005 
+ 00030548  0x000084e5 branch  0x0000771f 
+ 00030549  0x000084e9 call  0x00007711 
+ 00030550  0x000084ea copy  0x00000005 , 0x00000011 
+ 00030551  0x000084eb branch  0x00007749 
+ 00030552  0x000084ee call  0x0000771f 
+ 00030553  0x000084ef isolate0  0x00000000 , 0x00000013 
+ 00030554  0x000084f0 rtn  0x00000001 
+ 00030555  0x000084f1 arg  0x00000886 , 0x00000012 
+ 00030556  0x000084f2 add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030557  0x000084f3 copy  0x00000011 , 0x00000005 
+ 00030558  0x000084f4 branch  0x00007711 
+ 00030559  0x000084f8 copy  0x00000005 , 0x0000000b 
+ 00030560  0x000084f9 copy  0x00000011 , 0x00000030 
+ 00030561  0x000084fa arg  0x00000716 , 0x00000012 
+ 00030562  0x000084fb copy  0x00000012 , 0x00000005 
+ 00030563  0x000084fc add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030564  0x000084fd ifetch  0x00000008 , 0x00000006 
+ 00030565  0x000084fe istore  0x00000008 , 0x00000005 
+ 00030566  0x000084ff istore  0x00000008 , 0x00000005 
+ 00030567  0x00008500 force  0x00000000 , 0x0000003f 
+ 00030568  0x00008501 istore  0x00000008 , 0x00000005 
+ 00030569  0x00008502 copy  0x0000000b , 0x00000005 
+ 00030570  0x00008503 call  0x00007755 
+ 00030571  0x00008504 arg  0x00000716 , 0x00000012 
+ 00030572  0x00008505 copy  0x00000012 , 0x00000005 
+ 00030573  0x00008506 force  0x00000000 , 0x0000003f 
+ 00030574  0x00008507 istore  0x00000008 , 0x00000005 
+ 00030575  0x00008508 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030576  0x00008509 ifetch  0x00000008 , 0x00000006 
+ 00030577  0x0000850a istore  0x00000008 , 0x00000005 
+ 00030578  0x0000850b istore  0x00000008 , 0x00000005 
+ 00030579  0x0000850c copy  0x0000000b , 0x00000011 
+ 00030580  0x0000850d copy  0x00000011 , 0x00000005 
+ 00030581  0x0000850e call  0x00007755 
+ 00030582  0x0000850f arg  0x00000716 , 0x00000012 
+ 00030583  0x00008510 copy  0x00000012 , 0x00000005 
+ 00030584  0x00008511 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030585  0x00008512 ifetch  0x00000008 , 0x00000006 
+ 00030586  0x00008513 istore  0x00000008 , 0x00000005 
+ 00030587  0x00008514 istore  0x00000008 , 0x00000005 
+ 00030588  0x00008515 istore  0x00000008 , 0x00000005 
+ 00030589  0x00008516 copy  0x0000000b , 0x00000011 
+ 00030590  0x00008517 copy  0x00000011 , 0x00000005 
+ 00030591  0x00008518 branch  0x00007755 
+ 00030592  0x0000851c force  0x00000006 , 0x00000039 
+ 00030593  0x0000851e ifetch  0x00000004 , 0x00000006 
+ 00030594  0x0000851f iforce  0x0000002f 
+ 00030595  0x00008520 increase  0x00000001 , 0x00000038 
+ 00030596  0x00008521 loop  0x00007781 
+ 00030597  0x00008522 rtn 
+ 00030598  0x00008527 copy  0x00000005 , 0x0000000b 
+ 00030599  0x00008528 arg  0x000006e6 , 0x00000005 
+ 00030600  0x00008529 call  0x00007ec5 
+ 00030601  0x0000852a arg  0x000006e6 , 0x00000005 
+ 00030602  0x0000852b copy  0x00000011 , 0x00000006 
+ 00030603  0x0000852c force  0x00000000 , 0x00000038 
+ 00030604  0x0000852d call  0x00007780 
+ 00030605  0x0000852e copy  0x00000012 , 0x00000006 
+ 00030606  0x0000852f call  0x00007780 
+ 00030607  0x00008530 force  0x00000000 , 0x00000012 
+ 00030608  0x00008532 force  0x00000000 , 0x00000002 
+ 00030609  0x00008533 force  0x00000006 , 0x00000013 
+ 00030610  0x00008535 ifetch  0x00000004 , 0x00000005 
+ 00030611  0x00008536 iforce  0x00000011 
+ 00030612  0x00008537 copy  0x00000012 , 0x00000038 
+ 00030613  0x00008538 deposit  0x0000002f 
+ 00030614  0x00008539 copy  0x00000013 , 0x00000038 
+ 00030615  0x0000853a imul32  0x0000002f , 0x0000003f 
+ 00030616  0x0000853b iadd  0x00000011 , 0x0000003f 
+ 00030617  0x0000853c iadd  0x00000002 , 0x0000003f 
+ 00030618  0x0000853d istore  0x00000004 , 0x00000005 
+ 00030619  0x0000853e rshift32  0x0000003f , 0x00000002 
+ 00030620  0x0000853f increase  0x00000001 , 0x00000013 
+ 00030621  0x00008540 compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030622  0x00008541 nbranch  0x00007792 , 0x00000001 
+ 00030623  0x00008542 deposit  0x00000002 
+ 00030624  0x00008543 istore  0x00000004 , 0x00000005 
+ 00030625  0x00008544 increase  0xffffffe8 , 0x00000005 
+ 00030626  0x00008545 increase  0x00000001 , 0x00000012 
+ 00030627  0x00008546 compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030628  0x00008547 nbranch  0x00007790 , 0x00000001 
+ 00030629  0x00008548 arg  0x000006e6 , 0x00000011 
+ 00030630  0x00008549 copy  0x0000000b , 0x00000005 
+ 00030631  0x0000854a branch  0x0000775f 
+ 00030632  0x0000854e copy  0x00000011 , 0x00000012 
+ 00030633  0x0000854f branch  0x00007786 
+ 00030634  0x00008552 copy  0x00000011 , 0x00000030 
+ 00030635  0x00008554 copy  0x00000030 , 0x00000011 
+ 00030636  0x00008555 ifetch  0x00000001 , 0x00000011 
+ 00030637  0x00008556 isolate1  0x00000000 , 0x0000003f 
+ 00030638  0x00008557 rtn  0x00000001 
+ 00030639  0x00008558 call  0x0000772d 
+ 00030640  0x00008559 ifetch  0x00000001 , 0x00000012 
+ 00030641  0x0000855a isolate0  0x00000000 , 0x0000003f 
+ 00030642  0x0000855b branch  0x000077ba , 0x00000001 
+ 00030643  0x0000855c arg  0x00000886 , 0x00000011 
+ 00030644  0x0000855d copy  0x00000012 , 0x00000005 
+ 00030645  0x0000855e call  0x00007711 
+ 00030646  0x0000855f ifetch  0x00000001 , 0x00000012 
+ 00030647  0x00008560 iadd  0x00000013 , 0x0000003f 
+ 00030648  0x00008561 istore  0x00000001 , 0x00000012 
+ 00030649  0x00008562 increase  0xffffffe8 , 0x00000012 
+ 00030650  0x00008564 add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030651  0x00008565 force  0x00000007 , 0x00000039 
+ 00030652  0x00008566 call  0x0000772f 
+ 00030653  0x00008567 branch  0x000077ab 
+ 00030654  0x0000856b copy  0x00000005 , 0x0000000b 
+ 00030655  0x0000856c arg  0x00000746 , 0x00000005 
+ 00030656  0x0000856d call  0x00007ec5 
+ 00030657  0x0000856e force  0x00000000 , 0x0000003f 
+ 00030658  0x0000856f store  0x00000004 , 0x000006fe 
+ 00030659  0x00008570 store  0x00000004 , 0x0000075e 
+ 00030660  0x00008571 jam  0x00000001 , 0x00000746 
+ 00030661  0x00008572 arg  0x000006e6 , 0x00000005 
+ 00030662  0x00008573 call  0x00007ec5 
+ 00030663  0x00008574 arg  0x00000886 , 0x00000006 
+ 00030664  0x00008575 arg  0x00000716 , 0x00000005 
+ 00030665  0x00008576 call  0x00007ebe 
+ 00030666  0x00008577 copy  0x00000011 , 0x00000006 
+ 00030667  0x00008578 arg  0x0000072e , 0x00000005 
+ 00030668  0x00008579 call  0x00007ebe 
+ 00030669  0x0000857b arg  0x0000072e , 0x00000006 
+ 00030670  0x0000857c call  0x000076f5 
+ 00030671  0x0000857d branch  0x000077f6 , 0x00000034 
+ 00030672  0x0000857e arg  0x0000072e , 0x00000011 
+ 00030673  0x0000857f arg  0x00000746 , 0x00000012 
+ 00030674  0x00008580 call  0x000077aa 
+ 00030675  0x00008582 arg  0x00000716 , 0x00000011 
+ 00030676  0x00008583 arg  0x000006e6 , 0x00000012 
+ 00030677  0x00008584 call  0x000077aa 
+ 00030678  0x00008585 arg  0x0000072e , 0x00000011 
+ 00030679  0x00008586 arg  0x00000716 , 0x00000012 
+ 00030680  0x00008587 call  0x00007704 
+ 00030681  0x00008588 branch  0x000077e8 , 0x00000002 
+ 00030682  0x00008589 arg  0x00000716 , 0x00000011 
+ 00030683  0x0000858a arg  0x0000072e , 0x00000012 
+ 00030684  0x0000858b copy  0x00000011 , 0x00000005 
+ 00030685  0x0000858c call  0x0000771f 
+ 00030686  0x0000858d arg  0x00000746 , 0x00000011 
+ 00030687  0x0000858e arg  0x000006e6 , 0x00000012 
+ 00030688  0x0000858f copy  0x00000012 , 0x00000005 
+ 00030689  0x00008590 call  0x00007711 
+ 00030690  0x00008591 ifetch  0x00000001 , 0x00000011 
+ 00030691  0x00008592 iadd  0x00000013 , 0x00000013 
+ 00030692  0x00008593 ifetch  0x00000001 , 0x00000012 
+ 00030693  0x00008594 iadd  0x00000013 , 0x0000003f 
+ 00030694  0x00008595 istore  0x00000001 , 0x00000012 
+ 00030695  0x00008596 branch  0x000077cd 
+ 00030696  0x00008598 arg  0x0000072e , 0x00000011 
+ 00030697  0x00008599 arg  0x00000716 , 0x00000012 
+ 00030698  0x0000859a copy  0x00000011 , 0x00000005 
+ 00030699  0x0000859b call  0x0000771f 
+ 00030700  0x0000859c arg  0x000006e6 , 0x00000011 
+ 00030701  0x0000859d arg  0x00000746 , 0x00000012 
+ 00030702  0x0000859e copy  0x00000012 , 0x00000005 
+ 00030703  0x0000859f call  0x00007711 
+ 00030704  0x000085a0 ifetch  0x00000001 , 0x00000011 
+ 00030705  0x000085a1 iadd  0x00000013 , 0x00000013 
+ 00030706  0x000085a2 ifetch  0x00000001 , 0x00000012 
+ 00030707  0x000085a3 iadd  0x00000013 , 0x0000003f 
+ 00030708  0x000085a4 istore  0x00000001 , 0x00000012 
+ 00030709  0x000085a5 branch  0x000077cd 
+ 00030710  0x000085a7 arg  0x00000746 , 0x00000005 
+ 00030711  0x000085a8 call  0x00007ec5 
+ 00030712  0x000085a9 fetch  0x00000001 , 0x000006fe 
+ 00030713  0x000085aa store  0x00000001 , 0x00000746 
+ 00030714  0x000085ab store  0x00000001 , 0x0000074e 
+ 00030715  0x000085ac arg  0x00000746 , 0x00000011 
+ 00030716  0x000085ad arg  0x000006e6 , 0x00000012 
+ 00030717  0x000085ae copy  0x00000012 , 0x00000005 
+ 00030718  0x000085af call  0x00007755 
+ 00030719  0x000085b0 arg  0x00000886 , 0x00000011 
+ 00030720  0x000085b1 arg  0x000006e6 , 0x00000012 
+ 00030721  0x000085b2 copy  0x0000000b , 0x00000005 
+ 00030722  0x000085b3 branch  0x00007758 
+ 00030723  0x000085b9 arg  0x000006a6 , 0x00000011 
+ 00030724  0x000085ba arg  0x0000075e , 0x00000005 
+ 00030725  0x000085bb call  0x000077a8 
+ 00030726  0x000085bc arg  0x0000075e , 0x00000011 
+ 00030727  0x000085bd arg  0x00000776 , 0x00000005 
+ 00030728  0x000085be call  0x000077a8 
+ 00030729  0x000085bf arg  0x0000089e , 0x00000011 
+ 00030730  0x000085c0 arg  0x00000776 , 0x00000012 
+ 00030731  0x000085c1 arg  0x00000776 , 0x00000005 
+ 00030732  0x000085c2 call  0x00007786 
+ 00030733  0x000085c3 arg  0x00000676 , 0x00000011 
+ 00030734  0x000085c4 arg  0x0000075e , 0x00000005 
+ 00030735  0x000085c5 call  0x000077a8 
+ 00030736  0x000085c6 arg  0x0000075e , 0x00000006 
+ 00030737  0x000085c7 arg  0x0000072e , 0x00000005 
+ 00030738  0x000085c8 call  0x00007ebe 
+ 00030739  0x000085c9 arg  0x0000072e , 0x00000011 
+ 00030740  0x000085ca call  0x00007748 
+ 00030741  0x000085cb arg  0x0000075e , 0x00000011 
+ 00030742  0x000085cc arg  0x0000072e , 0x00000012 
+ 00030743  0x000085cd arg  0x0000075e , 0x00000005 
+ 00030744  0x000085ce call  0x00007755 
+ 00030745  0x000085cf arg  0x0000075e , 0x00000011 
+ 00030746  0x000085d0 arg  0x00000776 , 0x00000012 
+ 00030747  0x000085d1 arg  0x0000075e , 0x00000005 
+ 00030748  0x000085d2 call  0x00007755 
+ 00030749  0x000085d3 arg  0x00000676 , 0x00000006 
+ 00030750  0x000085d4 arg  0x0000072e , 0x00000005 
+ 00030751  0x000085d5 call  0x00007ebe 
+ 00030752  0x000085d6 arg  0x0000068e , 0x00000011 
+ 00030753  0x000085d7 arg  0x00000776 , 0x00000005 
+ 00030754  0x000085d8 call  0x000077a8 
+ 00030755  0x000085d9 arg  0x0000072e , 0x00000011 
+ 00030756  0x000085da call  0x00007748 
+ 00030757  0x000085db arg  0x0000072e , 0x00000011 
+ 00030758  0x000085dc call  0x00007748 
+ 00030759  0x000085dd arg  0x0000072e , 0x00000011 
+ 00030760  0x000085de arg  0x00000776 , 0x00000012 
+ 00030761  0x000085df arg  0x0000072e , 0x00000005 
+ 00030762  0x000085e0 call  0x00007786 
+ 00030763  0x000085e1 arg  0x00000776 , 0x00000011 
+ 00030764  0x000085e2 arg  0x00000746 , 0x00000005 
+ 00030765  0x000085e3 call  0x000077a8 
+ 00030766  0x000085e4 arg  0x00000746 , 0x00000011 
+ 00030767  0x000085e5 call  0x00007748 
+ 00030768  0x000085e6 arg  0x00000746 , 0x00000011 
+ 00030769  0x000085e7 call  0x00007748 
+ 00030770  0x000085e8 arg  0x00000746 , 0x00000011 
+ 00030771  0x000085e9 call  0x00007748 
+ 00030772  0x000085ea arg  0x0000068e , 0x00000006 
+ 00030773  0x000085eb arg  0x00000776 , 0x00000005 
+ 00030774  0x000085ec call  0x00007ebe 
+ 00030775  0x000085ed arg  0x00000776 , 0x00000011 
+ 00030776  0x000085ee call  0x00007748 
+ 00030777  0x000085ef arg  0x00000776 , 0x00000011 
+ 00030778  0x000085f0 arg  0x000006a6 , 0x00000012 
+ 00030779  0x000085f1 arg  0x000006a6 , 0x00000005 
+ 00030780  0x000085f2 call  0x00007786 
+ 00030781  0x000085f3 arg  0x0000075e , 0x00000011 
+ 00030782  0x000085f4 arg  0x00000776 , 0x00000005 
+ 00030783  0x000085f5 call  0x000077a8 
+ 00030784  0x000085f6 arg  0x00000776 , 0x00000011 
+ 00030785  0x000085f7 arg  0x0000072e , 0x00000012 
+ 00030786  0x000085f8 arg  0x00000776 , 0x00000005 
+ 00030787  0x000085f9 call  0x00007758 
+ 00030788  0x000085fa arg  0x00000776 , 0x00000011 
+ 00030789  0x000085fb arg  0x0000072e , 0x00000012 
+ 00030790  0x000085fc arg  0x00000676 , 0x00000005 
+ 00030791  0x000085fd call  0x00007758 
+ 00030792  0x000085fe arg  0x0000072e , 0x00000011 
+ 00030793  0x000085ff arg  0x00000676 , 0x00000012 
+ 00030794  0x00008600 arg  0x00000776 , 0x00000005 
+ 00030795  0x00008601 call  0x00007758 
+ 00030796  0x00008602 arg  0x00000776 , 0x00000011 
+ 00030797  0x00008603 arg  0x0000075e , 0x00000012 
+ 00030798  0x00008604 arg  0x00000776 , 0x00000005 
+ 00030799  0x00008605 call  0x00007786 
+ 00030800  0x00008606 arg  0x00000776 , 0x00000011 
+ 00030801  0x00008607 arg  0x00000746 , 0x00000012 
+ 00030802  0x00008608 arg  0x0000068e , 0x00000005 
+ 00030803  0x00008609 branch  0x00007758 
+ 00030804  0x0000860e arg  0x00000616 , 0x00000011 
+ 00030805  0x0000860f arg  0x0000078e , 0x00000005 
+ 00030806  0x00008610 call  0x000077a8 
+ 00030807  0x00008611 arg  0x00000676 , 0x00000011 
+ 00030808  0x00008612 arg  0x0000078e , 0x00000012 
+ 00030809  0x00008613 arg  0x00000746 , 0x00000005 
+ 00030810  0x00008614 call  0x00007786 
+ 00030811  0x00008615 arg  0x00000616 , 0x00000011 
+ 00030812  0x00008616 arg  0x0000078e , 0x00000012 
+ 00030813  0x00008617 arg  0x0000078e , 0x00000005 
+ 00030814  0x00008618 call  0x00007786 
+ 00030815  0x00008619 arg  0x0000068e , 0x00000011 
+ 00030816  0x0000861a arg  0x0000078e , 0x00000012 
+ 00030817  0x0000861b arg  0x0000072e , 0x00000005 
+ 00030818  0x0000861c call  0x00007786 
+ 00030819  0x0000861d arg  0x000006a6 , 0x00000011 
+ 00030820  0x0000861e arg  0x0000078e , 0x00000005 
+ 00030821  0x0000861f call  0x000077a8 
+ 00030822  0x00008620 arg  0x000005e6 , 0x00000011 
+ 00030823  0x00008621 arg  0x0000078e , 0x00000012 
+ 00030824  0x00008622 arg  0x0000075e , 0x00000005 
+ 00030825  0x00008623 call  0x00007786 
+ 00030826  0x00008624 arg  0x000006a6 , 0x00000011 
+ 00030827  0x00008625 arg  0x0000078e , 0x00000012 
+ 00030828  0x00008626 arg  0x0000078e , 0x00000005 
+ 00030829  0x00008627 call  0x00007786 
+ 00030830  0x00008628 arg  0x000005fe , 0x00000011 
+ 00030831  0x00008629 arg  0x0000078e , 0x00000012 
+ 00030832  0x0000862a arg  0x00000776 , 0x00000005 
+ 00030833  0x0000862b call  0x00007786 
+ 00030834  0x0000862c arg  0x00000746 , 0x00000011 
+ 00030835  0x0000862d arg  0x0000075e , 0x00000012 
+ 00030836  0x0000862e arg  0x0000078e , 0x00000005 
+ 00030837  0x0000862f call  0x00007758 
+ 00030838  0x00008630 arg  0x00000746 , 0x00000011 
+ 00030839  0x00008631 arg  0x0000075e , 0x00000012 
+ 00030840  0x00008632 arg  0x00000746 , 0x00000005 
+ 00030841  0x00008633 call  0x00007755 
+ 00030842  0x00008634 arg  0x0000072e , 0x00000011 
+ 00030843  0x00008635 arg  0x00000776 , 0x00000012 
+ 00030844  0x00008636 arg  0x0000075e , 0x00000005 
+ 00030845  0x00008637 call  0x00007758 
+ 00030846  0x00008638 arg  0x0000072e , 0x00000011 
+ 00030847  0x00008639 arg  0x00000776 , 0x00000012 
+ 00030848  0x0000863a arg  0x0000072e , 0x00000005 
+ 00030849  0x0000863b call  0x00007755 
+ 00030850  0x0000863c arg  0x0000072e , 0x00000011 
+ 00030851  0x0000863d arg  0x0000078e , 0x00000012 
+ 00030852  0x0000863e arg  0x0000072e , 0x00000005 
+ 00030853  0x0000863f call  0x00007786 
+ 00030854  0x00008640 arg  0x000006a6 , 0x00000011 
+ 00030855  0x00008641 arg  0x00000616 , 0x00000012 
+ 00030856  0x00008642 arg  0x00000776 , 0x00000005 
+ 00030857  0x00008643 call  0x00007786 
+ 00030858  0x00008644 arg  0x00000776 , 0x00000011 
+ 00030859  0x00008645 arg  0x0000078e , 0x00000012 
+ 00030860  0x00008646 arg  0x000006a6 , 0x00000005 
+ 00030861  0x00008647 call  0x00007786 
+ 00030862  0x00008648 arg  0x0000078e , 0x00000011 
+ 00030863  0x00008649 arg  0x0000078e , 0x00000005 
+ 00030864  0x0000864a call  0x000077a8 
+ 00030865  0x0000864b arg  0x0000078e , 0x00000011 
+ 00030866  0x0000864c arg  0x00000746 , 0x00000012 
+ 00030867  0x0000864d arg  0x00000776 , 0x00000005 
+ 00030868  0x0000864e call  0x00007786 
+ 00030869  0x0000864f arg  0x0000078e , 0x00000011 
+ 00030870  0x00008650 arg  0x0000072e , 0x00000012 
+ 00030871  0x00008651 arg  0x0000072e , 0x00000005 
+ 00030872  0x00008652 call  0x00007786 
+ 00030873  0x00008653 arg  0x0000075e , 0x00000011 
+ 00030874  0x00008654 arg  0x00000676 , 0x00000005 
+ 00030875  0x00008655 call  0x000077a8 
+ 00030876  0x00008656 arg  0x00000676 , 0x00000011 
+ 00030877  0x00008657 arg  0x00000776 , 0x00000012 
+ 00030878  0x00008658 arg  0x00000676 , 0x00000005 
+ 00030879  0x00008659 call  0x00007758 
+ 00030880  0x0000865a arg  0x00000676 , 0x00000006 
+ 00030881  0x0000865b arg  0x0000078e , 0x00000005 
+ 00030882  0x0000865c call  0x00007ebe 
+ 00030883  0x0000865d arg  0x0000078e , 0x00000011 
+ 00030884  0x0000865e call  0x00007748 
+ 00030885  0x0000865f arg  0x00000776 , 0x00000011 
+ 00030886  0x00008660 arg  0x0000078e , 0x00000012 
+ 00030887  0x00008661 arg  0x00000776 , 0x00000005 
+ 00030888  0x00008662 call  0x00007758 
+ 00030889  0x00008663 arg  0x00000776 , 0x00000011 
+ 00030890  0x00008664 arg  0x0000075e , 0x00000012 
+ 00030891  0x00008665 arg  0x0000075e , 0x00000005 
+ 00030892  0x00008666 call  0x00007786 
+ 00030893  0x00008667 arg  0x0000075e , 0x00000011 
+ 00030894  0x00008668 arg  0x0000072e , 0x00000012 
+ 00030895  0x00008669 arg  0x0000068e , 0x00000005 
+ 00030896  0x0000866a call  0x00007758 
+ 00030897  0x0000866b arg  0x0000068e , 0x00000011 
+ 00030898  0x0000866c arg  0x00000886 , 0x00000012 
+ 00030899  0x0000866d arg  0x0000068e , 0x00000005 
+ 00030900  0x0000866e force  0x00000000 , 0x00000013 
+ 00030901  0x0000866f fetch  0x00000001 , 0x0000068e 
+ 00030902  0x00008670 isolate1  0x00000000 , 0x0000003f 
+ 00030903  0x00008671 call  0x00007711 , 0x00000001 
+ 00030904  0x00008672 copy  0x00000013 , 0x00000030 
+ 00030905  0x00008673 arg  0x0000068e , 0x00000011 
+ 00030906  0x00008674 call  0x0000772d 
+ 00030907  0x00008675 fetch  0x00000001 , 0x000006a5 
+ 00030908  0x00008676 isolate1  0x00000000 , 0x00000030 
+ 00030909  0x00008677 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030910  0x00008678 store  0x00000001 , 0x000006a5 
+ 00030911  0x00008679 rtn 
+ 00030912  0x0000867e fetch  0x00000001 , 0x000005e3 
+ 00030913  0x0000867f increase  0xffffffff , 0x0000003f 
+ 00030914  0x00008680 nrtn  0x00000002 
+ 00030915  0x00008681 store  0x00000001 , 0x000005e3 
+ 00030916  0x00008682 fetch  0x00000001 , 0x000005e2 
+ 00030917  0x00008683 call  0x00007803 , 0x00000034 
+ 00030918  0x00008684 fetch  0x00000001 , 0x000005e3 
+ 00030919  0x00008685 arg  0x000006be , 0x00000006 
+ 00030920  0x00008686 call  0x000076ec 
+ 00030921  0x00008687 branch  0x000078c0 , 0x00000001 
+ 00030922  0x00008688 fetch  0x00000001 , 0x000005e2 
+ 00030923  0x00008689 nbranch  0x000078ce , 0x00000034 
+ 00030924  0x0000868a call  0x00007854 
+ 00030925  0x0000868b branch  0x000078c0 
+ 00030926  0x0000868d jam  0x00000000 , 0x000005e2 
+ 00030927  0x0000868e arg  0x000005e6 , 0x00000006 
+ 00030928  0x0000868f arg  0x00000676 , 0x00000005 
+ 00030929  0x00008690 call  0x000076f2 
+ 00030930  0x00008691 branch  0x000078c0 
+ 00030931  0x00008695 arg  0x000006a6 , 0x00000011 
+ 00030932  0x00008696 arg  0x00000776 , 0x00000005 
+ 00030933  0x00008697 call  0x000077be 
+ 00030934  0x00008698 arg  0x00000776 , 0x00000011 
+ 00030935  0x00008699 arg  0x0000072e , 0x00000005 
+ 00030936  0x0000869a call  0x000077a8 
+ 00030937  0x0000869b arg  0x00000676 , 0x00000011 
+ 00030938  0x0000869c arg  0x0000072e , 0x00000012 
+ 00030939  0x0000869d arg  0x0000062e , 0x00000005 
+ 00030940  0x0000869e call  0x00007786 
+ 00030941  0x0000869f arg  0x00000776 , 0x00000011 
+ 00030942  0x000086a0 arg  0x0000072e , 0x00000012 
+ 00030943  0x000086a1 arg  0x0000075e , 0x00000005 
+ 00030944  0x000086a2 call  0x00007786 
+ 00030945  0x000086a3 arg  0x0000068e , 0x00000011 
+ 00030946  0x000086a4 arg  0x0000075e , 0x00000012 
+ 00030947  0x000086a5 arg  0x00000646 , 0x00000005 
+ 00030948  0x000086a6 branch  0x00007786 
+ 00030949  0x000086ab ifetch  0x00000004 , 0x00000006 
+ 00030950  0x000086ac force  0x00000004 , 0x00000011 
+ 00030951  0x000086ad increase  0x00000003 , 0x00000005 
+ 00030952  0x000086af istore  0x00000001 , 0x00000005 
+ 00030953  0x000086b0 rshift8  0x0000003f , 0x0000003f 
+ 00030954  0x000086b1 increase  0xfffffffe , 0x00000005 
+ 00030955  0x000086b2 increase  0xffffffff , 0x00000011 
+ 00030956  0x000086b3 nbranch  0x000078e8 , 0x00000005 
+ 00030957  0x000086b4 increase  0x00000005 , 0x00000005 
+ 00030958  0x000086b5 loop  0x000078e5 
+ 00030959  0x000086b6 rtn 
+ 00030960  0x000086ba lshift2  0x00000007 , 0x0000003f 
+ 00030961  0x000086bb iadd  0x0000000b , 0x00000006 
+ 00030962  0x000086bc ifetch  0x00000004 , 0x00000006 
+ 00030963  0x000086bd rtn 
+ 00030964  0x000086c0 force  0x00000010 , 0x00000030 
+ 00030965  0x000086c1 arg  0x000005e6 , 0x0000000b 
+ 00030966  0x000086c3 add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030967  0x000086c4 call  0x000078f0 
+ 00030968  0x000086c5 iforce  0x00000002 
+ 00030969  0x000086c6 add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030970  0x000086c7 call  0x000078f0 
+ 00030971  0x000086c8 iadd  0x00000002 , 0x00000002 
+ 00030972  0x000086c9 add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030973  0x000086ca call  0x000078f0 
+ 00030974  0x000086cb shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030975  0x000086cc iadd  0x00000002 , 0x00000002 
+ 00030976  0x000086cd add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030977  0x000086ce call  0x000078f0 
+ 00030978  0x000086cf shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030979  0x000086d0 iadd  0x00000002 , 0x00000002 
+ 00030980  0x000086d1 lshift2  0x00000030 , 0x0000003f 
+ 00030981  0x000086d2 iadd  0x0000000b , 0x00000005 
+ 00030982  0x000086d3 istoret  0x00000004 , 0x00000005 
+ 00030983  0x000086d4 increase  0x00000001 , 0x00000030 
+ 00030984  0x000086d5 compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030985  0x000086d6 nbranch  0x000078f6 , 0x00000001 
+ 00030986  0x000086d7 rtn 
+ 00030987  0x000086db arg  0x000008fe , 0x00000006 
+ 00030988  0x000086dc force  0x00000007 , 0x00000038 
+ 00030989  0x000086de ifetch  0x00000004 , 0x00000006 
+ 00030990  0x000086df iforce  0x0000002f 
+ 00030991  0x000086e0 increase  0xffffffff , 0x00000038 
+ 00030992  0x000086e1 branch  0x0000790d , 0x00000002 
+ 00030993  0x000086e2 rtn 
+ 00030994  0x000086e5 bpatchx  0x000000ec , 0x0000403d 
+ 00030995  0x000086e6 call  0x000078f4 
+ 00030996  0x000086e7 arg  0x000006e6 , 0x00000005 
+ 00030997  0x000086e8 force  0x00000000 , 0x00000038 
+ 00030998  0x000086ea deposit  0x0000002f 
+ 00030999  0x000086eb istore  0x00000004 , 0x00000005 
+ 00031000  0x000086ec increase  0x00000001 , 0x00000038 
+ 00031001  0x000086ed compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031002  0x000086ee nbranch  0x00007916 , 0x00000001 
+ 00031003  0x000086ef call  0x000074b9 
+ 00031004  0x000086f0 arg  0x00008700 , 0x0000000b 
+ 00031005  0x000086f1 arg  0x000005e6 , 0x00000030 
+ 00031006  0x000086f2 force  0x00000040 , 0x00000039 
+ 00031007  0x000086f4 ifetcht  0x00000004 , 0x00000030 
+ 00031008  0x000086f5 ifetch  0x00000004 , 0x0000000b 
+ 00031009  0x000086f6 increase  0x00000004 , 0x0000000b 
+ 00031010  0x000086f7 increase  0x00000004 , 0x00000030 
+ 00031011  0x000086f8 iadd  0x00000002 , 0x0000003f 
+ 00031012  0x000086f9 force  0x00000007 , 0x00000038 
+ 00031013  0x000086fa iadd  0x0000002f , 0x00000002 
+ 00031014  0x000086fb force  0x00000004 , 0x00000038 
+ 00031015  0x000086fc shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00031016  0x000086fd iadd  0x00000002 , 0x00000002 
+ 00031017  0x000086fe force  0x00000005 , 0x00000038 
+ 00031018  0x000086ff deposit  0x0000002f 
+ 00031019  0x00008700 force  0x00000006 , 0x00000038 
+ 00031020  0x00008701 ixor  0x0000002f , 0x0000003f 
+ 00031021  0x00008702 force  0x00000004 , 0x00000038 
+ 00031022  0x00008703 iand  0x0000002f , 0x0000003f 
+ 00031023  0x00008704 force  0x00000006 , 0x00000038 
+ 00031024  0x00008705 ixor  0x0000002f , 0x0000003f 
+ 00031025  0x00008706 iadd  0x00000002 , 0x00000002 
+ 00031026  0x00008707 force  0x00000007 , 0x00000038 
+ 00031027  0x00008708 copy  0x00000002 , 0x0000002f 
+ 00031028  0x00008709 force  0x00000003 , 0x00000038 
+ 00031029  0x0000870a deposit  0x0000002f 
+ 00031030  0x0000870b iadd  0x00000002 , 0x0000002f 
+ 00031031  0x0000870c force  0x00000000 , 0x00000038 
+ 00031032  0x0000870d deposit  0x0000002f 
+ 00031033  0x0000870e force  0x00000001 , 0x00000038 
+ 00031034  0x0000870f iand  0x0000002f , 0x00000002 
+ 00031035  0x00008710 ior  0x0000002f , 0x0000003f 
+ 00031036  0x00008711 force  0x00000002 , 0x00000038 
+ 00031037  0x00008712 iand  0x0000002f , 0x0000003f 
+ 00031038  0x00008713 ior  0x00000002 , 0x00000002 
+ 00031039  0x00008714 force  0x00000000 , 0x00000038 
+ 00031040  0x00008715 shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00031041  0x00008716 iadd  0x00000002 , 0x0000003f 
+ 00031042  0x00008717 force  0x00000007 , 0x00000038 
+ 00031043  0x00008718 iadd  0x0000002f , 0x0000002f 
+ 00031044  0x00008719 regexrot 
+ 00031045  0x0000871a loop  0x0000791f 
+ 00031046  0x0000871b arg  0x000006e6 , 0x00000006 
+ 00031047  0x0000871c force  0x00000000 , 0x00000038 
+ 00031048  0x0000871e ifetch  0x00000004 , 0x00000006 
+ 00031049  0x0000871f iadd  0x0000002f , 0x0000002f 
+ 00031050  0x00008720 increase  0x00000001 , 0x00000038 
+ 00031051  0x00008721 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031052  0x00008722 nbranch  0x00007948 , 0x00000001 
+ 00031053  0x00008723 branch  0x000074bd 
+ 00031054  0x00008727 arg  0x00000a3e , 0x00000005 
+ 00031055  0x00008728 force  0x00000007 , 0x00000038 
+ 00031056  0x0000872a deposit  0x0000002f 
+ 00031057  0x0000872b istore  0x00000004 , 0x00000005 
+ 00031058  0x0000872c increase  0xffffffff , 0x00000038 
+ 00031059  0x0000872d branch  0x00007950 , 0x00000002 
+ 00031060  0x0000872e rtn 
+ 00031061  0x00008732 arg  0x000005e6 , 0x00000005 
+ 00031062  0x00008733 increase  0xfffffffc , 0x00000006 
+ 00031063  0x00008734 sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00031064  0x00008736 ifetch  0x00000004 , 0x00000006 
+ 00031065  0x00008737 ixor  0x00000002 , 0x0000003f 
+ 00031066  0x00008738 istore  0x00000004 , 0x00000005 
+ 00031067  0x00008739 increase  0xfffffff8 , 0x00000006 
+ 00031068  0x0000873a loop  0x00007958 
+ 00031069  0x0000873b copy  0x00000011 , 0x00000039 
+ 00031070  0x0000873c deposit  0x00000002 
+ 00031071  0x0000873e istore  0x00000004 , 0x00000005 
+ 00031072  0x0000873f loop  0x0000795f 
+ 00031073  0x00008740 rtn 
+ 00031074  0x00008743 call  0x00007967 
+ 00031075  0x00008744 call  0x0000794e 
+ 00031076  0x00008745 branch  0x0000798d 
+ 00031077  0x00008748 call  0x00007967 
+ 00031078  0x00008749 branch  0x0000798d 
+ 00031079  0x0000874c arg  0x000009de , 0x00000006 
+ 00031080  0x0000874d arg  0x000005e6 , 0x00000005 
+ 00031081  0x0000874e force  0x00000006 , 0x00000039 
+ 00031082  0x0000874f call  0x00007a71 
+ 00031083  0x00008750 arg  0x00004642 , 0x00000006 
+ 00031084  0x00008751 force  0x00000006 , 0x00000039 
+ 00031085  0x00008752 call  0x00007a71 
+ 00031086  0x00008753 arg  0x00000a3e , 0x00000006 
+ 00031087  0x00008754 call  0x00007a70 
+ 00031088  0x00008755 call  0x0000790b 
+ 00031089  0x00008756 call  0x00007912 
+ 00031090  0x00008757 arg  0x00000a2e , 0x00000006 
+ 00031091  0x00008758 arg  0x000005e6 , 0x00000005 
+ 00031092  0x00008759 branch  0x00007984 
+ 00031093  0x0000875c arg  0x00004642 , 0x00000006 
+ 00031094  0x0000875d arg  0x000005e6 , 0x00000005 
+ 00031095  0x0000875e force  0x00000006 , 0x00000039 
+ 00031096  0x0000875f call  0x00007a71 
+ 00031097  0x00008760 arg  0x000009de , 0x00000006 
+ 00031098  0x00008761 force  0x00000006 , 0x00000039 
+ 00031099  0x00008762 call  0x00007a71 
+ 00031100  0x00008763 arg  0x00000a2e , 0x00000006 
+ 00031101  0x00008764 call  0x00007a70 
+ 00031102  0x00008765 call  0x0000790b 
+ 00031103  0x00008766 call  0x00007912 
+ 00031104  0x00008767 arg  0x00000a3e , 0x00000006 
+ 00031105  0x00008768 arg  0x000005e6 , 0x00000005 
+ 00031106  0x00008769 call  0x00007984 
+ 00031107  0x0000876a branch  0x0000798d 
+ 00031108  0x0000876d call  0x00007a70 
+ 00031109  0x0000876e setarg  0x00800000 
+ 00031110  0x0000876f lshift8  0x0000003f , 0x0000003f 
+ 00031111  0x00008770 istore  0x00000004 , 0x00000005 
+ 00031112  0x00008771 force  0x00000005 , 0x00000039 
+ 00031113  0x00008772 call  0x00007ec6 
+ 00031114  0x00008773 setarg  0x00000280 
+ 00031115  0x00008774 istore  0x00000004 , 0x00000005 
+ 00031116  0x00008775 branch  0x00007912 
+ 00031117  0x00008777 fetch  0x00000004 , 0x00000a3e 
+ 00031118  0x00008779 arg  0x000003e8 , 0x00000011 
+ 00031119  0x0000877a idiv  0x00000011 
+ 00031120  0x0000877b call  0x00007f86 
+ 00031121  0x0000877c remainder  0x0000003f 
+ 00031122  0x0000877d store  0x00000004 , 0x000009ba 
+ 00031123  0x0000877e quotient  0x0000003f 
+ 00031124  0x0000877f arg  0x000003e8 , 0x00000011 
+ 00031125  0x00008780 idiv  0x00000011 
+ 00031126  0x00008781 call  0x00007f86 
+ 00031127  0x00008782 remainder  0x0000003f 
+ 00031128  0x00008783 arg  0x000003e8 , 0x00000011 
+ 00031129  0x00008784 imul32  0x00000011 , 0x0000003f 
+ 00031130  0x00008785 fetcht  0x00000004 , 0x000009ba 
+ 00031131  0x00008786 iadd  0x00000002 , 0x0000003f 
+ 00031132  0x00008787 store  0x00000004 , 0x000009ba 
+ 00031133  0x00008788 rtn 
+ 00031134  0x0000878b jam  0x00000000 , 0x00004664 
+ 00031135  0x0000878c branch  0x000079a2 
+ 00031136  0x0000878f fetch  0x00000001 , 0x00004662 
+ 00031137  0x00008790 bne  0x00000002 , 0x0000799e 
+ 00031138  0x00008792 bpatchx  0x000000ed , 0x0000403d 
+ 00031139  0x00008793 setarg  0x00363636 
+ 00031140  0x00008794 lshift8  0x0000003f , 0x00000002 
+ 00031141  0x00008795 or_into  0x00000036 , 0x00000002 
+ 00031142  0x00008796 fetch  0x00000002 , 0x00000a7e 
+ 00031143  0x00008797 copy  0x0000003f , 0x00000006 
+ 00031144  0x00008798 force  0x00000004 , 0x00000039 
+ 00031145  0x00008799 call  0x00007955 
+ 00031146  0x0000879a call  0x0000790b 
+ 00031147  0x0000879b call  0x00007912 
+ 00031148  0x0000879c fetch  0x00000002 , 0x00000a80 
+ 00031149  0x0000879d copy  0x0000003f , 0x00000006 
+ 00031150  0x0000879e arg  0x000005e6 , 0x00000005 
+ 00031151  0x0000879f force  0x00000006 , 0x00000039 
+ 00031152  0x000087a0 call  0x00007a71 
+ 00031153  0x000087a1 fetch  0x00000002 , 0x00000a82 
+ 00031154  0x000087a2 copy  0x0000003f , 0x00000006 
+ 00031155  0x000087a3 force  0x00000006 , 0x00000039 
+ 00031156  0x000087a4 call  0x00007a71 
+ 00031157  0x000087a5 setarg  0x00800000 
+ 00031158  0x000087a6 istore  0x00000003 , 0x00000005 
+ 00031159  0x000087a8 fetch  0x00000001 , 0x00004664 
+ 00031160  0x000087aa istore  0x00000001 , 0x00000005 
+ 00031161  0x000087ab force  0x00000000 , 0x0000003f 
+ 00031162  0x000087ac istore  0x00000008 , 0x00000005 
+ 00031163  0x000087ad setarg  0x00000388 
+ 00031164  0x000087ae istore  0x00000004 , 0x00000005 
+ 00031165  0x000087af call  0x00007912 
+ 00031166  0x000087b0 call  0x0000794e 
+ 00031167  0x000087b1 arg  0x00000a3e , 0x00000006 
+ 00031168  0x000087b2 arg  0x00000706 , 0x00000005 
+ 00031169  0x000087b3 call  0x00007ebd 
+ 00031170  0x000087b5 setarg  0x005c5c5c 
+ 00031171  0x000087b6 lshift8  0x0000003f , 0x00000002 
+ 00031172  0x000087b7 or_into  0x0000005c , 0x00000002 
+ 00031173  0x000087b8 fetch  0x00000002 , 0x00000a7e 
+ 00031174  0x000087b9 copy  0x0000003f , 0x00000006 
+ 00031175  0x000087ba force  0x00000004 , 0x00000039 
+ 00031176  0x000087bb call  0x00007955 
+ 00031177  0x000087bc call  0x0000790b 
+ 00031178  0x000087bd call  0x00007912 
+ 00031179  0x000087be arg  0x00000726 , 0x00000006 
+ 00031180  0x000087bf arg  0x000005e6 , 0x00000005 
+ 00031181  0x000087c0 force  0x00000008 , 0x00000039 
+ 00031182  0x000087c1 call  0x00007a71 
+ 00031183  0x000087c2 setarg  0x00800000 
+ 00031184  0x000087c3 lshift8  0x0000003f , 0x0000003f 
+ 00031185  0x000087c4 istore  0x00000004 , 0x00000005 
+ 00031186  0x000087c5 call  0x00007ec5 
+ 00031187  0x000087c6 setarg  0x00000300 
+ 00031188  0x000087c7 istore  0x00000004 , 0x00000005 
+ 00031189  0x000087c8 call  0x00007912 
+ 00031190  0x000087c9 branch  0x0000794e 
+ 00031191  0x000087cd setarg  0x00363636 
+ 00031192  0x000087ce lshift8  0x0000003f , 0x00000002 
+ 00031193  0x000087cf or_into  0x00000036 , 0x00000002 
+ 00031194  0x000087d0 arg  0x00000a1e , 0x00000006 
+ 00031195  0x000087d1 force  0x00000006 , 0x00000039 
+ 00031196  0x000087d2 call  0x00007955 
+ 00031197  0x000087d3 call  0x0000790b 
+ 00031198  0x000087d4 call  0x00007912 
+ 00031199  0x000087d5 fetch  0x00000002 , 0x00000a8a 
+ 00031200  0x000087d6 copy  0x0000003f , 0x00000006 
+ 00031201  0x000087d7 arg  0x000005e6 , 0x00000005 
+ 00031202  0x000087d8 call  0x00007a70 
+ 00031203  0x000087d9 fetch  0x00000002 , 0x00000a8c 
+ 00031204  0x000087da copy  0x0000003f , 0x00000006 
+ 00031205  0x000087db call  0x00007a70 
+ 00031206  0x000087dd setarg  0x0062746c 
+ 00031207  0x000087de lshift8  0x0000003f , 0x0000003f 
+ 00031208  0x000087df or_into  0x0000006b , 0x0000003f 
+ 00031209  0x000087e0 istore  0x00000004 , 0x00000005 
+ 00031210  0x000087e1 arg  0x00000733 , 0x00000006 
+ 00031211  0x000087e2 force  0x00000003 , 0x00000039 
+ 00031212  0x000087e3 call  0x00007a71 
+ 00031213  0x000087e5 setarg  0x00800000 
+ 00031214  0x000087e6 lshift8  0x0000003f , 0x0000003f 
+ 00031215  0x000087e7 istore  0x00000004 , 0x00000005 
+ 00031216  0x000087e8 force  0x00000000 , 0x0000003f 
+ 00031217  0x000087e9 istore  0x00000008 , 0x00000005 
+ 00031218  0x000087ea setarg  0x00000380 
+ 00031219  0x000087eb istore  0x00000004 , 0x00000005 
+ 00031220  0x000087ec call  0x00007912 
+ 00031221  0x000087ee call  0x0000794e 
+ 00031222  0x000087ef arg  0x00000a3e , 0x00000006 
+ 00031223  0x000087f0 arg  0x00000706 , 0x00000005 
+ 00031224  0x000087f1 call  0x00007ebd 
+ 00031225  0x000087f3 setarg  0x005c5c5c 
+ 00031226  0x000087f4 lshift8  0x0000003f , 0x00000002 
+ 00031227  0x000087f5 or_into  0x0000005c , 0x00000002 
+ 00031228  0x000087f6 arg  0x00000a1e , 0x00000006 
+ 00031229  0x000087f7 force  0x00000006 , 0x00000039 
+ 00031230  0x000087f8 call  0x00007955 
+ 00031231  0x000087f9 call  0x0000790b 
+ 00031232  0x000087fa call  0x00007912 
+ 00031233  0x000087fb arg  0x00000726 , 0x00000006 
+ 00031234  0x000087fc arg  0x000005e6 , 0x00000005 
+ 00031235  0x000087fd force  0x00000008 , 0x00000039 
+ 00031236  0x000087fe call  0x00007a71 
+ 00031237  0x000087ff setarg  0x00800000 
+ 00031238  0x00008800 lshift8  0x0000003f , 0x0000003f 
+ 00031239  0x00008801 istore  0x00000004 , 0x00000005 
+ 00031240  0x00008802 call  0x00007ec5 
+ 00031241  0x00008803 setarg  0x00000300 
+ 00031242  0x00008804 istore  0x00000004 , 0x00000005 
+ 00031243  0x00008805 call  0x00007912 
+ 00031244  0x00008806 branch  0x0000794e 
+ 00031245  0x0000880a fetch  0x00000001 , 0x00004662 
+ 00031246  0x0000880b bne  0x00000002 , 0x00007a1e 
+ 00031247  0x0000880d bpatchx  0x000000ee , 0x0000403d 
+ 00031248  0x0000880e setarg  0x00363636 
+ 00031249  0x0000880f lshift8  0x0000003f , 0x00000002 
+ 00031250  0x00008810 or_into  0x00000036 , 0x00000002 
+ 00031251  0x00008811 arg  0x00000a1e , 0x00000006 
+ 00031252  0x00008812 force  0x00000006 , 0x00000039 
+ 00031253  0x00008813 call  0x00007955 
+ 00031254  0x00008814 call  0x0000790b 
+ 00031255  0x00008815 call  0x00007912 
+ 00031256  0x00008816 arg  0x00000a3e , 0x00000006 
+ 00031257  0x00008817 arg  0x000005e6 , 0x00000005 
+ 00031258  0x00008818 call  0x00007a70 
+ 00031259  0x00008819 arg  0x00000a2e , 0x00000006 
+ 00031260  0x0000881a call  0x00007a70 
+ 00031261  0x0000881b branch  0x00007a33 
+ 00031262  0x0000881e setarg  0x00000000 
+ 00031263  0x0000881f store  0x00000004 , 0x0000468a 
+ 00031264  0x00008820 branch  0x00007a0f 
+ 00031265  0x00008823 setarg  0x00000000 
+ 00031266  0x00008824 store  0x00000004 , 0x0000468a 
+ 00031267  0x00008825 branch  0x00007a26 
+ 00031268  0x00008829 fetch  0x00000001 , 0x00004662 
+ 00031269  0x0000882a bne  0x00000002 , 0x00007a21 
+ 00031270  0x0000882c setarg  0x00363636 
+ 00031271  0x0000882d lshift8  0x0000003f , 0x00000002 
+ 00031272  0x0000882e or_into  0x00000036 , 0x00000002 
+ 00031273  0x0000882f arg  0x00000a1e , 0x00000006 
+ 00031274  0x00008830 force  0x00000006 , 0x00000039 
+ 00031275  0x00008831 call  0x00007955 
+ 00031276  0x00008832 call  0x0000790b 
+ 00031277  0x00008833 call  0x00007912 
+ 00031278  0x00008835 arg  0x00000a2e , 0x00000006 
+ 00031279  0x00008836 arg  0x000005e6 , 0x00000005 
+ 00031280  0x00008837 call  0x00007a70 
+ 00031281  0x00008838 arg  0x00000a3e , 0x00000006 
+ 00031282  0x00008839 call  0x00007a70 
+ 00031283  0x0000883b setarg  0x00000000 
+ 00031284  0x0000883c istore  0x00000008 , 0x00000005 
+ 00031285  0x0000883d istore  0x00000004 , 0x00000005 
+ 00031286  0x0000883e fetch  0x00000004 , 0x0000468a 
+ 00031287  0x0000883f istore  0x00000004 , 0x00000005 
+ 00031288  0x00008841 copy  0x00000005 , 0x00000002 
+ 00031289  0x00008842 jam  0x00000080 , 0x00000726 
+ 00031290  0x00008843 copy  0x00000002 , 0x00000005 
+ 00031291  0x00008844 arg  0x00000736 , 0x00000006 
+ 00031292  0x00008845 call  0x00007a70 
+ 00031293  0x00008847 call  0x00007912 
+ 00031294  0x00008849 arg  0x000005e6 , 0x00000005 
+ 00031295  0x0000884a force  0x00000007 , 0x00000039 
+ 00031296  0x0000884b call  0x00007ec6 
+ 00031297  0x0000884c istore  0x00000004 , 0x00000005 
+ 00031298  0x0000884d setarg  0x000003f8 
+ 00031299  0x0000884e istore  0x00000004 , 0x00000005 
+ 00031300  0x0000884f call  0x00007912 
+ 00031301  0x00008850 call  0x0000794e 
+ 00031302  0x00008852 arg  0x00000a3e , 0x00000006 
+ 00031303  0x00008853 arg  0x00000706 , 0x00000005 
+ 00031304  0x00008854 call  0x00007ebd 
+ 00031305  0x00008856 setarg  0x005c5c5c 
+ 00031306  0x00008857 lshift8  0x0000003f , 0x00000002 
+ 00031307  0x00008858 or_into  0x0000005c , 0x00000002 
+ 00031308  0x00008859 arg  0x00000a1e , 0x00000006 
+ 00031309  0x0000885a force  0x00000006 , 0x00000039 
+ 00031310  0x0000885b call  0x00007955 
+ 00031311  0x0000885c call  0x0000790b 
+ 00031312  0x0000885d call  0x00007912 
+ 00031313  0x0000885e arg  0x00000726 , 0x00000006 
+ 00031314  0x0000885f arg  0x000005e6 , 0x00000005 
+ 00031315  0x00008860 force  0x00000008 , 0x00000039 
+ 00031316  0x00008861 call  0x00007a71 
+ 00031317  0x00008862 setarg  0x00800000 
+ 00031318  0x00008863 lshift8  0x0000003f , 0x0000003f 
+ 00031319  0x00008864 istore  0x00000004 , 0x00000005 
+ 00031320  0x00008865 call  0x00007ec5 
+ 00031321  0x00008866 setarg  0x00000300 
+ 00031322  0x00008867 istore  0x00000004 , 0x00000005 
+ 00031323  0x00008868 call  0x00007912 
+ 00031324  0x00008869 branch  0x0000794e 
+ 00031325  0x00008871 jam  0x000000c0 , 0x000005e3 
+ 00031326  0x00008873 fetch  0x00000001 , 0x000005e3 
+ 00031327  0x00008874 rtn  0x00000034 
+ 00031328  0x00008875 increase  0xffffffff , 0x0000003f 
+ 00031329  0x00008876 store  0x00000001 , 0x000005e3 
+ 00031330  0x00008877 arg  0x000006be , 0x00000006 
+ 00031331  0x00008878 call  0x000076ec 
+ 00031332  0x00008879 branch  0x00007a5e , 0x00000001 
+ 00031333  0x0000887a arg  0x000005e6 , 0x00000006 
+ 00031334  0x0000887b arg  0x00000676 , 0x00000005 
+ 00031335  0x0000887c branch  0x000076f2 
+ 00031336  0x0000887f call  0x00007803 
+ 00031337  0x00008880 fetch  0x00000001 , 0x000005e3 
+ 00031338  0x00008881 increase  0xffffffff , 0x0000003f 
+ 00031339  0x00008882 store  0x00000001 , 0x000005e3 
+ 00031340  0x00008883 arg  0x000006be , 0x00000006 
+ 00031341  0x00008884 call  0x000076ec 
+ 00031342  0x00008885 rtn  0x00000001 
+ 00031343  0x00008886 branch  0x00007854 
+ 00031344  0x00008889 force  0x00000004 , 0x00000039 
+ 00031345  0x0000888b increase  0xfffffffc , 0x00000006 
+ 00031346  0x0000888d ifetch  0x00000004 , 0x00000006 
+ 00031347  0x0000888e istore  0x00000004 , 0x00000005 
+ 00031348  0x0000888f increase  0xfffffff8 , 0x00000006 
+ 00031349  0x00008890 loop  0x00007a72 
+ 00031350  0x00008891 rtn 
+ 00031351  0x00008897 bpatchx  0x000000ef , 0x0000403d 
+ 00031352  0x00008898 fetch  0x00000001 , 0x000044be 
+ 00031353  0x00008899 branch  0x00005af0 , 0x00000034 
+ 00031354  0x0000889a call  0x00005aec 
+ 00031355  0x0000889b call  0x00007583 
+ 00031356  0x0000889d branch  0x00007a7d 
+ 00031357  0x000088a3 fetch  0x00000001 , 0x000044c3 
+ 00031358  0x000088a4 rtnne  0x00000000 
+ 00031359  0x000088a5 fetch  0x00000001 , 0x000044c0 
+ 00031360  0x000088a6 rtnne  0x00000000 
+ 00031361  0x000088a8 arg  0x000045b2 , 0x00000005 
+ 00031362  0x000088a9 force  0x0000000f , 0x00000007 
+ 00031363  0x000088aa call  0x000076a2 
+ 00031364  0x000088ab random  0x0000003f 
+ 00031365  0x000088ac rshift  0x0000003f , 0x0000003f 
+ 00031366  0x000088ad istore  0x00000002 , 0x00000005 
+ 00031367  0x000088af arg  0x00000766 , 0x00000005 
+ 00031368  0x000088b0 arg  0x000045b2 , 0x00000006 
+ 00031369  0x000088b1 call  0x00007ebd 
+ 00031370  0x000088b3 arg  0x00000646 , 0x00000005 
+ 00031371  0x000088b4 arg  0x0000095e , 0x00000006 
+ 00031372  0x000088b5 call  0x00007eb3 
+ 00031373  0x000088b7 arg  0x00000686 , 0x00000005 
+ 00031374  0x000088b8 call  0x00007ed0 
+ 00031375  0x000088b9 jam  0x00000001 , 0x00000686 
+ 00031376  0x000088bb call  0x00007ac7 
+ 00031377  0x000088bc jam  0x00000003 , 0x000044c0 
+ 00031378  0x000088bd rtn 
+ 00031379  0x000088c0 arg  0x000045d2 , 0x00000005 
+ 00031380  0x000088c1 arg  0x000006a6 , 0x00000006 
+ 00031381  0x000088c2 call  0x00007eb3 
+ 00031382  0x000088c3 jam  0x00000003 , 0x000044c3 
+ 00031383  0x000088c4 jam  0x00000000 , 0x000044c0 
+ 00031384  0x000088c5 rtn 
+ 00031385  0x000088ca fetch  0x00000001 , 0x000009b9 
+ 00031386  0x000088cb rtnne  0x00000000 
+ 00031387  0x000088cc fetch  0x00000001 , 0x000044c0 
+ 00031388  0x000088cd rtnne  0x00000000 
+ 00031389  0x000088cf arg  0x00000766 , 0x00000005 
+ 00031390  0x000088d0 arg  0x000045b2 , 0x00000006 
+ 00031391  0x000088d1 call  0x00007ebd 
+ 00031392  0x000088d3 arg  0x00000646 , 0x00000005 
+ 00031393  0x000088d4 arg  0x000009be , 0x00000006 
+ 00031394  0x000088d5 call  0x00007eb3 
+ 00031395  0x000088d7 arg  0x00000686 , 0x00000005 
+ 00031396  0x000088d8 call  0x00007ed0 
+ 00031397  0x000088d9 jam  0x00000001 , 0x00000686 
+ 00031398  0x000088db call  0x00007ac7 
+ 00031399  0x000088dc jam  0x00000004 , 0x000044c0 
+ 00031400  0x000088dd rtn 
+ 00031401  0x000088e2 arg  0x000009fe , 0x00000005 
+ 00031402  0x000088e3 arg  0x000006a6 , 0x00000006 
+ 00031403  0x000088e4 call  0x00007ebd 
+ 00031404  0x000088e5 jam  0x00000003 , 0x000009b9 
+ 00031405  0x000088e6 jam  0x00000000 , 0x000044c0 
+ 00031406  0x000088e7 rtn 
+ 00031407  0x000088ec fetch  0x00000001 , 0x000044be 
+ 00031408  0x000088ed rtn  0x00000034 
+ 00031409  0x000088ee fetch  0x00000001 , 0x000044c0 
+ 00031410  0x000088ef rtn  0x00000034 
+ 00031411  0x000088f0 increase  0x00000080 , 0x0000003f 
+ 00031412  0x000088f1 store  0x00000001 , 0x000044c0 
+ 00031413  0x000088f2 rtnbit1  0x00000007 
+ 00031414  0x000088f3 fetch  0x00000002 , 0x000005e3 
+ 00031415  0x000088f4 branch  0x00007ab9 , 0x00000034 
+ 00031416  0x000088f5 branch  0x00007abf 
+ 00031417  0x000088f8 bpatchx  0x000000f0 , 0x0000403e 
+ 00031418  0x000088f9 call  0x00007ad4 
+ 00031419  0x000088fa fetch  0x00000001 , 0x000044c0 
+ 00031420  0x000088fb beq  0x00000003 , 0x00007a93 
+ 00031421  0x000088fc beq  0x00000004 , 0x00007aa9 
+ 00031422  0x000088fd rtn 
+ 00031423  0x00008901 call  0x00007ae6 
+ 00031424  0x00008902 fetch  0x00000002 , 0x000005e3 
+ 00031425  0x00008903 increase  0xffffffff , 0x0000003f 
+ 00031426  0x00008904 store  0x00000002 , 0x000005e3 
+ 00031427  0x00008905 arg  0x00000766 , 0x00000006 
+ 00031428  0x00008906 call  0x000076ec 
+ 00031429  0x00008907 rtn  0x00000001 
+ 00031430  0x00008908 branch  0x00007b37 
+ 00031431  0x0000890b bpatchx  0x000000f1 , 0x0000403e 
+ 00031432  0x0000890c setarg  0x00000100 , 0x0000003f 
+ 00031433  0x0000890d store  0x00000002 , 0x000005e3 
+ 00031434  0x0000890f fetch  0x00000002 , 0x000005e3 
+ 00031435  0x00008910 rtn  0x00000034 
+ 00031436  0x00008911 increase  0xffffffff , 0x0000003f 
+ 00031437  0x00008912 store  0x00000002 , 0x000005e3 
+ 00031438  0x00008913 arg  0x00000766 , 0x00000006 
+ 00031439  0x00008914 call  0x000076ec 
+ 00031440  0x00008915 branch  0x00007aca , 0x00000001 
+ 00031441  0x00008916 arg  0x00000646 , 0x00000006 
+ 00031442  0x00008917 arg  0x00000706 , 0x00000005 
+ 00031443  0x00008918 branch  0x00007eb2 
+ 00031444  0x0000891c arg  0x00000746 , 0x00000011 
+ 00031445  0x0000891d arg  0x00000846 , 0x00000005 
+ 00031446  0x0000891e call  0x00007ba3 
+ 00031447  0x0000891f arg  0x00000846 , 0x00000011 
+ 00031448  0x00008920 arg  0x000007e6 , 0x00000005 
+ 00031449  0x00008921 call  0x00007c79 
+ 00031450  0x00008922 arg  0x00000706 , 0x00000011 
+ 00031451  0x00008923 arg  0x000007e6 , 0x00000012 
+ 00031452  0x00008924 arg  0x000006a6 , 0x00000005 
+ 00031453  0x00008925 call  0x00007be1 
+ 00031454  0x00008926 arg  0x00000846 , 0x00000011 
+ 00031455  0x00008927 arg  0x000007e6 , 0x00000012 
+ 00031456  0x00008928 arg  0x00000826 , 0x00000005 
+ 00031457  0x00008929 call  0x00007be1 
+ 00031458  0x0000892a arg  0x00000726 , 0x00000011 
+ 00031459  0x0000892b arg  0x00000826 , 0x00000012 
+ 00031460  0x0000892c arg  0x000006c6 , 0x00000005 
+ 00031461  0x0000892d branch  0x00007be1 
+ 00031462  0x00008930 arg  0x00000746 , 0x00000011 
+ 00031463  0x00008931 arg  0x00000826 , 0x00000005 
+ 00031464  0x00008932 call  0x00007c79 
+ 00031465  0x00008933 arg  0x00000826 , 0x00000011 
+ 00031466  0x00008934 arg  0x00000846 , 0x00000005 
+ 00031467  0x00008935 call  0x00007c79 
+ 00031468  0x00008937 arg  0x0000093e , 0x00000011 
+ 00031469  0x00008938 arg  0x00000846 , 0x00000012 
+ 00031470  0x00008939 arg  0x00000846 , 0x00000005 
+ 00031471  0x0000893a call  0x00007be1 
+ 00031472  0x0000893b arg  0x00000706 , 0x00000011 
+ 00031473  0x0000893c arg  0x00000826 , 0x00000005 
+ 00031474  0x0000893d call  0x00007c79 
+ 00031475  0x0000893f arg  0x00000826 , 0x00000006 
+ 00031476  0x00008940 arg  0x000007e6 , 0x00000005 
+ 00031477  0x00008941 call  0x00007ebd 
+ 00031478  0x00008942 arg  0x000007e6 , 0x00000011 
+ 00031479  0x00008943 call  0x00007c80 
+ 00031480  0x00008944 arg  0x00000826 , 0x00000011 
+ 00031481  0x00008945 arg  0x000007e6 , 0x00000012 
+ 00031482  0x00008946 arg  0x00000826 , 0x00000005 
+ 00031483  0x00008947 call  0x00007c7d 
+ 00031484  0x00008949 arg  0x00000826 , 0x00000011 
+ 00031485  0x0000894a arg  0x00000846 , 0x00000012 
+ 00031486  0x0000894b arg  0x00000826 , 0x00000005 
+ 00031487  0x0000894c call  0x00007c7d 
+ 00031488  0x0000894e arg  0x00000706 , 0x00000006 
+ 00031489  0x0000894f arg  0x000007e6 , 0x00000005 
+ 00031490  0x00008950 call  0x00007ebd 
+ 00031491  0x00008951 arg  0x00000726 , 0x00000011 
+ 00031492  0x00008952 arg  0x00000846 , 0x00000005 
+ 00031493  0x00008953 call  0x00007c79 
+ 00031494  0x00008954 arg  0x000007e6 , 0x00000011 
+ 00031495  0x00008955 call  0x00007c80 
+ 00031496  0x00008956 arg  0x000007e6 , 0x00000011 
+ 00031497  0x00008957 call  0x00007c80 
+ 00031498  0x00008958 arg  0x000007e6 , 0x00000011 
+ 00031499  0x00008959 arg  0x00000846 , 0x00000012 
+ 00031500  0x0000895a arg  0x000007e6 , 0x00000005 
+ 00031501  0x0000895b call  0x00007be1 
+ 00031502  0x0000895c arg  0x00000846 , 0x00000011 
+ 00031503  0x0000895d arg  0x00000806 , 0x00000005 
+ 00031504  0x0000895e call  0x00007c79 
+ 00031505  0x0000895f arg  0x00000806 , 0x00000011 
+ 00031506  0x00008960 call  0x00007c80 
+ 00031507  0x00008961 arg  0x00000806 , 0x00000011 
+ 00031508  0x00008962 call  0x00007c80 
+ 00031509  0x00008963 arg  0x00000806 , 0x00000011 
+ 00031510  0x00008964 call  0x00007c80 
+ 00031511  0x00008965 arg  0x00000726 , 0x00000006 
+ 00031512  0x00008966 arg  0x00000846 , 0x00000005 
+ 00031513  0x00008967 call  0x00007ebd 
+ 00031514  0x00008968 arg  0x00000846 , 0x00000011 
+ 00031515  0x00008969 call  0x00007c80 
+ 00031516  0x0000896a arg  0x00000846 , 0x00000011 
+ 00031517  0x0000896b arg  0x00000746 , 0x00000012 
+ 00031518  0x0000896c arg  0x00000746 , 0x00000005 
+ 00031519  0x0000896d call  0x00007be1 
+ 00031520  0x00008970 arg  0x00000826 , 0x00000011 
+ 00031521  0x00008971 arg  0x00000846 , 0x00000005 
+ 00031522  0x00008972 call  0x00007c79 
+ 00031523  0x00008974 arg  0x00000846 , 0x00000011 
+ 00031524  0x00008975 arg  0x000007e6 , 0x00000012 
+ 00031525  0x00008976 arg  0x00000846 , 0x00000005 
+ 00031526  0x00008977 call  0x00007c96 
+ 00031527  0x00008978 arg  0x00000846 , 0x00000011 
+ 00031528  0x00008979 arg  0x000007e6 , 0x00000012 
+ 00031529  0x0000897a arg  0x00000706 , 0x00000005 
+ 00031530  0x0000897b call  0x00007c96 
+ 00031531  0x0000897c arg  0x000007e6 , 0x00000011 
+ 00031532  0x0000897d arg  0x00000706 , 0x00000012 
+ 00031533  0x0000897e arg  0x00000846 , 0x00000005 
+ 00031534  0x0000897f call  0x00007c96 
+ 00031535  0x00008980 arg  0x00000846 , 0x00000011 
+ 00031536  0x00008981 arg  0x00000826 , 0x00000012 
+ 00031537  0x00008982 arg  0x00000846 , 0x00000005 
+ 00031538  0x00008983 call  0x00007be1 
+ 00031539  0x00008984 arg  0x00000846 , 0x00000011 
+ 00031540  0x00008985 arg  0x00000806 , 0x00000012 
+ 00031541  0x00008986 arg  0x00000726 , 0x00000005 
+ 00031542  0x00008987 branch  0x00007c96 
+ 00031543  0x0000898b arg  0x00000686 , 0x00000011 
+ 00031544  0x0000898c arg  0x00000866 , 0x00000005 
+ 00031545  0x0000898d call  0x00007c79 
+ 00031546  0x0000898e arg  0x00000706 , 0x00000011 
+ 00031547  0x0000898f arg  0x00000866 , 0x00000012 
+ 00031548  0x00008990 arg  0x00000806 , 0x00000005 
+ 00031549  0x00008991 call  0x00007be1 
+ 00031550  0x00008994 arg  0x00000686 , 0x00000011 
+ 00031551  0x00008995 arg  0x00000866 , 0x00000012 
+ 00031552  0x00008996 arg  0x00000866 , 0x00000005 
+ 00031553  0x00008997 call  0x00007be1 
+ 00031554  0x00008998 arg  0x00000726 , 0x00000011 
+ 00031555  0x00008999 arg  0x00000866 , 0x00000012 
+ 00031556  0x0000899a arg  0x000007e6 , 0x00000005 
+ 00031557  0x0000899b call  0x00007be1 
+ 00031558  0x0000899e arg  0x00000746 , 0x00000011 
+ 00031559  0x0000899f arg  0x00000866 , 0x00000005 
+ 00031560  0x000089a0 call  0x00007c79 
+ 00031561  0x000089a1 arg  0x00000646 , 0x00000011 
+ 00031562  0x000089a2 arg  0x00000866 , 0x00000012 
+ 00031563  0x000089a3 arg  0x00000826 , 0x00000005 
+ 00031564  0x000089a4 call  0x00007be1 
+ 00031565  0x000089a6 arg  0x00000746 , 0x00000011 
+ 00031566  0x000089a7 arg  0x00000866 , 0x00000012 
+ 00031567  0x000089a8 arg  0x00000866 , 0x00000005 
+ 00031568  0x000089a9 call  0x00007be1 
+ 00031569  0x000089aa arg  0x00000666 , 0x00000011 
+ 00031570  0x000089ab arg  0x00000866 , 0x00000012 
+ 00031571  0x000089ac arg  0x00000846 , 0x00000005 
+ 00031572  0x000089ad call  0x00007be1 
+ 00031573  0x000089b2 arg  0x00000806 , 0x00000012 
+ 00031574  0x000089b3 arg  0x00000826 , 0x00000011 
+ 00031575  0x000089b4 arg  0x00000866 , 0x00000005 
+ 00031576  0x000089b5 call  0x00007c96 
+ 00031577  0x000089b6 arg  0x00000806 , 0x00000011 
+ 00031578  0x000089b7 arg  0x00000826 , 0x00000012 
+ 00031579  0x000089b8 arg  0x00000806 , 0x00000005 
+ 00031580  0x000089b9 call  0x00007c7d 
+ 00031581  0x000089bc arg  0x000007e6 , 0x00000012 
+ 00031582  0x000089bd arg  0x00000846 , 0x00000011 
+ 00031583  0x000089be arg  0x00000826 , 0x00000005 
+ 00031584  0x000089bf call  0x00007c96 
+ 00031585  0x000089c0 arg  0x000007e6 , 0x00000011 
+ 00031586  0x000089c1 arg  0x00000846 , 0x00000012 
+ 00031587  0x000089c2 arg  0x000007e6 , 0x00000005 
+ 00031588  0x000089c3 call  0x00007c7d 
+ 00031589  0x000089c4 arg  0x000007e6 , 0x00000011 
+ 00031590  0x000089c5 arg  0x00000866 , 0x00000012 
+ 00031591  0x000089c6 arg  0x000007e6 , 0x00000005 
+ 00031592  0x000089c7 call  0x00007be1 
+ 00031593  0x000089c8 arg  0x00000746 , 0x00000011 
+ 00031594  0x000089c9 arg  0x00000686 , 0x00000012 
+ 00031595  0x000089ca arg  0x00000846 , 0x00000005 
+ 00031596  0x000089cb call  0x00007be1 
+ 00031597  0x000089cc arg  0x00000846 , 0x00000011 
+ 00031598  0x000089cd arg  0x00000866 , 0x00000012 
+ 00031599  0x000089ce arg  0x00000746 , 0x00000005 
+ 00031600  0x000089cf call  0x00007be1 
+ 00031601  0x000089d1 arg  0x00000866 , 0x00000011 
+ 00031602  0x000089d2 arg  0x00000866 , 0x00000005 
+ 00031603  0x000089d3 call  0x00007c79 
+ 00031604  0x000089d4 arg  0x00000866 , 0x00000011 
+ 00031605  0x000089d5 arg  0x00000806 , 0x00000012 
+ 00031606  0x000089d6 arg  0x00000846 , 0x00000005 
+ 00031607  0x000089d7 call  0x00007be1 
+ 00031608  0x000089d8 arg  0x00000866 , 0x00000011 
+ 00031609  0x000089d9 arg  0x000007e6 , 0x00000012 
+ 00031610  0x000089da arg  0x000007e6 , 0x00000005 
+ 00031611  0x000089db call  0x00007be1 
+ 00031612  0x000089dc arg  0x00000826 , 0x00000011 
+ 00031613  0x000089dd arg  0x00000706 , 0x00000005 
+ 00031614  0x000089de call  0x00007c79 
+ 00031615  0x000089df arg  0x00000706 , 0x00000011 
+ 00031616  0x000089e0 arg  0x00000846 , 0x00000012 
+ 00031617  0x000089e1 arg  0x00000706 , 0x00000005 
+ 00031618  0x000089e2 call  0x00007c96 
+ 00031619  0x000089e3 arg  0x00000706 , 0x00000006 
+ 00031620  0x000089e4 arg  0x00000866 , 0x00000005 
+ 00031621  0x000089e5 call  0x00007ebd 
+ 00031622  0x000089e6 arg  0x00000866 , 0x00000011 
+ 00031623  0x000089e7 call  0x00007c80 
+ 00031624  0x000089e8 arg  0x00000846 , 0x00000011 
+ 00031625  0x000089e9 arg  0x00000866 , 0x00000012 
+ 00031626  0x000089ea arg  0x00000846 , 0x00000005 
+ 00031627  0x000089eb call  0x00007c96 
+ 00031628  0x000089ec arg  0x00000846 , 0x00000011 
+ 00031629  0x000089ed arg  0x00000826 , 0x00000012 
+ 00031630  0x000089ee arg  0x00000826 , 0x00000005 
+ 00031631  0x000089ef call  0x00007be1 
+ 00031632  0x000089f0 arg  0x00000826 , 0x00000011 
+ 00031633  0x000089f1 arg  0x000007e6 , 0x00000012 
+ 00031634  0x000089f2 arg  0x00000726 , 0x00000005 
+ 00031635  0x000089f3 call  0x00007c96 
+ 00031636  0x000089f4 arg  0x00000726 , 0x00000011 
+ 00031637  0x000089f5 arg  0x0000091e , 0x00000012 
+ 00031638  0x000089f6 arg  0x00000726 , 0x00000005 
+ 00031639  0x000089f7 force  0x00000000 , 0x00000013 
+ 00031640  0x000089f8 fetch  0x00000001 , 0x00000726 
+ 00031641  0x000089f9 isolate1  0x00000000 , 0x0000003f 
+ 00031642  0x000089fa call  0x00007c7b , 0x00000001 
+ 00031643  0x000089fb copy  0x00000013 , 0x00000030 
+ 00031644  0x000089fc arg  0x00000726 , 0x00000011 
+ 00031645  0x000089fd call  0x00007cab 
+ 00031646  0x000089fe fetch  0x00000001 , 0x00000745 
+ 00031647  0x000089ff isolate1  0x00000000 , 0x00000030 
+ 00031648  0x00008a00 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031649  0x00008a01 store  0x00000001 , 0x00000745 
+ 00031650  0x00008a02 rtn 
+ 00031651  0x00008a05 copy  0x00000005 , 0x0000000b 
+ 00031652  0x00008a06 arg  0x00000806 , 0x00000005 
+ 00031653  0x00008a07 call  0x00007ed0 
+ 00031654  0x00008a08 force  0x00000000 , 0x0000003f 
+ 00031655  0x00008a0a store  0x00000004 , 0x00000826 
+ 00031656  0x00008a0b jam  0x00000001 , 0x00000806 
+ 00031657  0x00008a0c arg  0x00000786 , 0x00000005 
+ 00031658  0x00008a0d call  0x00007ed2 
+ 00031659  0x00008a0e arg  0x0000091e , 0x00000006 
+ 00031660  0x00008a0f arg  0x000007c6 , 0x00000005 
+ 00031661  0x00008a10 call  0x00007ebd 
+ 00031662  0x00008a11 copy  0x00000011 , 0x00000006 
+ 00031663  0x00008a12 arg  0x000007e6 , 0x00000005 
+ 00031664  0x00008a13 call  0x00007ebd 
+ 00031665  0x00008a1a arg  0x000007e6 , 0x00000006 
+ 00031666  0x00008a1b call  0x00007cb5 
+ 00031667  0x00008a1c branch  0x00007bda , 0x00000034 
+ 00031668  0x00008a21 arg  0x000007e6 , 0x00000011 
+ 00031669  0x00008a22 arg  0x00000806 , 0x00000012 
+ 00031670  0x00008a23 call  0x00007cb8 
+ 00031671  0x00008a24 arg  0x000007c6 , 0x00000011 
+ 00031672  0x00008a25 arg  0x00000786 , 0x00000012 
+ 00031673  0x00008a26 call  0x00007cb8 
+ 00031674  0x00008a28 arg  0x000007e6 , 0x00000011 
+ 00031675  0x00008a29 arg  0x000007c6 , 0x00000012 
+ 00031676  0x00008a2a call  0x00007cb1 
+ 00031677  0x00008a2b branch  0x00007bcc , 0x00000002 
+ 00031678  0x00008a2c arg  0x000007c6 , 0x00000011 
+ 00031679  0x00008a2d arg  0x000007e6 , 0x00000012 
+ 00031680  0x00008a2e copy  0x00000011 , 0x00000005 
+ 00031681  0x00008a2f call  0x00007ca9 
+ 00031682  0x00008a30 arg  0x00000806 , 0x00000011 
+ 00031683  0x00008a31 arg  0x00000786 , 0x00000012 
+ 00031684  0x00008a32 copy  0x00000012 , 0x00000005 
+ 00031685  0x00008a33 call  0x00007c7b 
+ 00031686  0x00008a34 ifetch  0x00000001 , 0x00000011 
+ 00031687  0x00008a35 iadd  0x00000013 , 0x00000013 
+ 00031688  0x00008a36 ifetch  0x00000001 , 0x00000012 
+ 00031689  0x00008a37 iadd  0x00000013 , 0x0000003f 
+ 00031690  0x00008a38 istore  0x00000001 , 0x00000012 
+ 00031691  0x00008a39 branch  0x00007bb1 
+ 00031692  0x00008a3b arg  0x000007e6 , 0x00000011 
+ 00031693  0x00008a3c arg  0x000007c6 , 0x00000012 
+ 00031694  0x00008a3d copy  0x00000011 , 0x00000005 
+ 00031695  0x00008a3e call  0x00007ca9 
+ 00031696  0x00008a3f arg  0x00000786 , 0x00000011 
+ 00031697  0x00008a40 arg  0x00000806 , 0x00000012 
+ 00031698  0x00008a41 copy  0x00000012 , 0x00000005 
+ 00031699  0x00008a42 call  0x00007c7b 
+ 00031700  0x00008a43 ifetch  0x00000001 , 0x00000011 
+ 00031701  0x00008a44 iadd  0x00000013 , 0x00000013 
+ 00031702  0x00008a45 ifetch  0x00000001 , 0x00000012 
+ 00031703  0x00008a46 iadd  0x00000013 , 0x0000003f 
+ 00031704  0x00008a47 istore  0x00000001 , 0x00000012 
+ 00031705  0x00008a48 branch  0x00007bb1 
+ 00031706  0x00008a4b arg  0x00000786 , 0x00000011 
+ 00031707  0x00008a4c copy  0x0000000b , 0x00000005 
+ 00031708  0x00008a4d call  0x00007c0a 
+ 00031709  0x00008a4f arg  0x0000091e , 0x00000011 
+ 00031710  0x00008a50 copy  0x0000000b , 0x00000012 
+ 00031711  0x00008a51 copy  0x0000000b , 0x00000005 
+ 00031712  0x00008a52 branch  0x00007c96 
+ 00031713  0x00008a56 copy  0x00000005 , 0x0000000b 
+ 00031714  0x00008a58 force  0x00000000 , 0x00000038 
+ 00031715  0x00008a5a arg  0x00000786 , 0x00000005 
+ 00031716  0x00008a5b call  0x00007ed2 
+ 00031717  0x00008a5c arg  0x00000ad2 , 0x00000005 
+ 00031718  0x00008a5d call  0x00007ed2 
+ 00031719  0x00008a61 copy  0x00000011 , 0x00000006 
+ 00031720  0x00008a63 jam  0x00000000 , 0x00000ad2 
+ 00031721  0x00008a64 setarg  0x00000000 
+ 00031722  0x00008a65 call  0x00007c73 
+ 00031723  0x00008a66 copy  0x00000012 , 0x00000006 
+ 00031724  0x00008a67 call  0x00007c77 
+ 00031725  0x00008a6a force  0x00000000 , 0x00000007 
+ 00031726  0x00008a6b arg  0x00000786 , 0x00000005 
+ 00031727  0x00008a6f arg  0x00000ad2 , 0x00000002 
+ 00031728  0x00008a70 copy  0x00000007 , 0x00000012 
+ 00031729  0x00008a71 lshift2  0x00000012 , 0x0000003f 
+ 00031730  0x00008a73 iadd  0x00000002 , 0x00000012 
+ 00031731  0x00008a74 force  0x00000000 , 0x00000002 
+ 00031732  0x00008a75 force  0x00000000 , 0x00000013 
+ 00031733  0x00008a7b ifetch  0x00000004 , 0x00000005 
+ 00031734  0x00008a7c iforce  0x00000011 
+ 00031735  0x00008a7f ifetch  0x00000004 , 0x00000012 
+ 00031736  0x00008a80 copy  0x00000013 , 0x00000038 
+ 00031737  0x00008a81 imul32  0x0000002f , 0x0000003f 
+ 00031738  0x00008a82 iadd  0x00000011 , 0x0000003f 
+ 00031739  0x00008a83 iadd  0x00000002 , 0x0000003f 
+ 00031740  0x00008a84 istore  0x00000004 , 0x00000005 
+ 00031741  0x00008a85 rshift32  0x0000003f , 0x00000002 
+ 00031742  0x00008a86 increase  0x00000001 , 0x00000013 
+ 00031743  0x00008a87 compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031744  0x00008a88 nbranch  0x00007bf5 , 0x00000001 
+ 00031745  0x00008a8a deposit  0x00000002 
+ 00031746  0x00008a8b istore  0x00000004 , 0x00000005 
+ 00031747  0x00008a8c increase  0xffffffe0 , 0x00000005 
+ 00031748  0x00008a8f increase  0x00000001 , 0x00000007 
+ 00031749  0x00008a90 compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031750  0x00008a91 nbranch  0x00007bef , 0x00000001 
+ 00031751  0x00008a92 arg  0x00000786 , 0x00000011 
+ 00031752  0x00008a93 copy  0x0000000b , 0x00000005 
+ 00031753  0x00008a94 branch  0x00007c0a 
+ 00031754  0x00008a97 bpatchx  0x000000f2 , 0x0000403e 
+ 00031755  0x00008a98 copy  0x00000005 , 0x0000000b 
+ 00031756  0x00008a99 copy  0x00000011 , 0x00000030 
+ 00031757  0x00008a9a arg  0x000007c6 , 0x00000012 
+ 00031758  0x00008a9b copy  0x00000012 , 0x00000005 
+ 00031759  0x00008a9c call  0x00007ecd 
+ 00031760  0x00008a9d istore  0x00000008 , 0x00000005 
+ 00031761  0x00008a9e add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031762  0x00008a9f call  0x00007eb9 
+ 00031763  0x00008aa0 call  0x00007eb5 
+ 00031764  0x00008aa1 copy  0x00000012 , 0x00000011 
+ 00031765  0x00008aa2 call  0x00007c80 
+ 00031766  0x00008aa3 arg  0x000007c6 , 0x00000012 
+ 00031767  0x00008aa4 copy  0x00000030 , 0x00000011 
+ 00031768  0x00008aa5 copy  0x0000000b , 0x00000005 
+ 00031769  0x00008aa6 call  0x00007c7d 
+ 00031770  0x00008aa8 arg  0x000007c6 , 0x00000012 
+ 00031771  0x00008aa9 copy  0x00000012 , 0x00000005 
+ 00031772  0x00008aaa call  0x00007ecd 
+ 00031773  0x00008aab istore  0x00000008 , 0x00000005 
+ 00031774  0x00008aac add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031775  0x00008aad call  0x00007ebf 
+ 00031776  0x00008aae call  0x00007ecd 
+ 00031777  0x00008aaf copy  0x00000012 , 0x00000011 
+ 00031778  0x00008ab0 call  0x00007c80 
+ 00031779  0x00008ab4 arg  0x000007c6 , 0x00000012 
+ 00031780  0x00008ab5 copy  0x0000000b , 0x00000011 
+ 00031781  0x00008ab6 copy  0x00000011 , 0x00000005 
+ 00031782  0x00008ab7 call  0x00007c7d 
+ 00031783  0x00008abb arg  0x000007c6 , 0x00000012 
+ 00031784  0x00008abc copy  0x00000012 , 0x00000005 
+ 00031785  0x00008abd add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031786  0x00008abe call  0x00007eb5 
+ 00031787  0x00008abf call  0x00007ecd 
+ 00031788  0x00008ac0 istore  0x00000008 , 0x00000005 
+ 00031789  0x00008ac1 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031790  0x00008ac2 call  0x00007eb9 
+ 00031791  0x00008ac3 copy  0x0000000b , 0x00000011 
+ 00031792  0x00008ac4 copy  0x00000011 , 0x00000005 
+ 00031793  0x00008ac5 call  0x00007c7d 
+ 00031794  0x00008ac9 arg  0x000007c6 , 0x00000012 
+ 00031795  0x00008aca copy  0x00000012 , 0x00000005 
+ 00031796  0x00008acb add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031797  0x00008acc call  0x00007eb5 
+ 00031798  0x00008acd add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031799  0x00008ace call  0x00007eb5 
+ 00031800  0x00008acf add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031801  0x00008ad0 call  0x00007eb6 
+ 00031802  0x00008ad1 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031803  0x00008ad2 call  0x00007eb6 
+ 00031804  0x00008ad3 copy  0x0000000b , 0x00000011 
+ 00031805  0x00008ad4 copy  0x00000011 , 0x00000005 
+ 00031806  0x00008ad5 call  0x00007c7d 
+ 00031807  0x00008ad8 arg  0x000007c6 , 0x00000012 
+ 00031808  0x00008ad9 copy  0x00000012 , 0x00000005 
+ 00031809  0x00008ada add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031810  0x00008adb call  0x00007eb5 
+ 00031811  0x00008adc call  0x00007ecd 
+ 00031812  0x00008add istore  0x00000008 , 0x00000005 
+ 00031813  0x00008ade add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031814  0x00008adf call  0x00007eb6 
+ 00031815  0x00008ae0 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031816  0x00008ae1 call  0x00007eb6 
+ 00031817  0x00008ae2 copy  0x0000000b , 0x00000011 
+ 00031818  0x00008ae3 copy  0x00000011 , 0x00000005 
+ 00031819  0x00008ae4 call  0x00007c96 
+ 00031820  0x00008ae7 arg  0x000007c6 , 0x00000012 
+ 00031821  0x00008ae8 copy  0x00000012 , 0x00000005 
+ 00031822  0x00008ae9 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031823  0x00008aea call  0x00007eb9 
+ 00031824  0x00008aeb call  0x00007eb9 
+ 00031825  0x00008aec force  0x00000000 , 0x0000003f 
+ 00031826  0x00008aed istore  0x00000008 , 0x00000005 
+ 00031827  0x00008aee add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031828  0x00008aef call  0x00007eb6 
+ 00031829  0x00008af0 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031830  0x00008af1 call  0x00007eb6 
+ 00031831  0x00008af2 copy  0x0000000b , 0x00000011 
+ 00031832  0x00008af3 copy  0x00000011 , 0x00000005 
+ 00031833  0x00008af4 call  0x00007c96 
+ 00031834  0x00008af7 arg  0x000007c6 , 0x00000012 
+ 00031835  0x00008af8 copy  0x00000012 , 0x00000005 
+ 00031836  0x00008af9 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031837  0x00008afa call  0x00007eb5 
+ 00031838  0x00008afb add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031839  0x00008afc call  0x00007eb5 
+ 00031840  0x00008afd call  0x00007ecd 
+ 00031841  0x00008afe add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031842  0x00008aff call  0x00007eb6 
+ 00031843  0x00008b00 copy  0x0000000b , 0x00000011 
+ 00031844  0x00008b01 copy  0x00000011 , 0x00000005 
+ 00031845  0x00008b02 call  0x00007c96 
+ 00031846  0x00008b05 arg  0x000007c6 , 0x00000012 
+ 00031847  0x00008b06 copy  0x00000012 , 0x00000005 
+ 00031848  0x00008b07 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031849  0x00008b08 call  0x00007eb9 
+ 00031850  0x00008b09 call  0x00007ecd 
+ 00031851  0x00008b0a add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031852  0x00008b0b call  0x00007eb5 
+ 00031853  0x00008b0c call  0x00007ecd 
+ 00031854  0x00008b0d add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031855  0x00008b0e call  0x00007eb6 
+ 00031856  0x00008b0f copy  0x0000000b , 0x00000011 
+ 00031857  0x00008b10 copy  0x00000011 , 0x00000005 
+ 00031858  0x00008b11 branch  0x00007c96 
+ 00031859  0x00008b15 force  0x00000020 , 0x00000039 
+ 00031860  0x00008b16 arg  0x00000ad2 , 0x00000005 
+ 00031861  0x00008b17 iadd  0x00000005 , 0x00000005 
+ 00031862  0x00008b18 branch  0x00007f01 
+ 00031863  0x00008b1b force  0x00000008 , 0x00000039 
+ 00031864  0x00008b1c branch  0x00007781 
+ 00031865  0x00008b1f copy  0x00000011 , 0x00000012 
+ 00031866  0x00008b20 branch  0x00007be1 
+ 00031867  0x00008b23 force  0x00000008 , 0x00000039 
+ 00031868  0x00008b24 branch  0x00007712 
+ 00031869  0x00008b27 call  0x00007c7b 
+ 00031870  0x00008b28 copy  0x00000005 , 0x00000011 
+ 00031871  0x00008b29 branch  0x00007c81 
+ 00031872  0x00008b2c call  0x00007cae 
+ 00031873  0x00008b2e isolate1  0x00000000 , 0x00000013 
+ 00031874  0x00008b2f branch  0x00007c8a , 0x00000001 
+ 00031875  0x00008b30 arg  0x0000091e , 0x00000012 
+ 00031876  0x00008b31 copy  0x00000011 , 0x00000013 
+ 00031877  0x00008b32 increase  0xffffffe0 , 0x00000011 
+ 00031878  0x00008b33 call  0x00007cb1 
+ 00031879  0x00008b34 nrtn  0x00000002 
+ 00031880  0x00008b35 copy  0x00000013 , 0x00000011 
+ 00031881  0x00008b36 branch  0x00007c92 
+ 00031882  0x00008b39 call  0x00007c92 
+ 00031883  0x00008b3b copy  0x00000011 , 0x00000013 
+ 00031884  0x00008b3c increase  0xffffffe0 , 0x00000011 
+ 00031885  0x00008b3d arg  0x0000091e , 0x00000012 
+ 00031886  0x00008b3e call  0x00007cb1 
+ 00031887  0x00008b3f nrtn  0x00000002 
+ 00031888  0x00008b40 copy  0x00000013 , 0x00000011 
+ 00031889  0x00008b41 branch  0x00007c92 
+ 00031890  0x00008b45 increase  0xffffffe0 , 0x00000011 
+ 00031891  0x00008b46 arg  0x0000091e , 0x00000012 
+ 00031892  0x00008b47 copy  0x00000011 , 0x00000005 
+ 00031893  0x00008b48 branch  0x00007ca9 
+ 00031894  0x00008b4e call  0x00007ca9 
+ 00031895  0x00008b50 branch  0x00007ca0 , 0x00000001 
+ 00031896  0x00008b53 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031897  0x00008b54 arg  0x0000091e , 0x00000012 
+ 00031898  0x00008b55 call  0x00007cb1 
+ 00031899  0x00008b56 nrtn  0x00000002 
+ 00031900  0x00008b57 arg  0x0000091e , 0x00000012 
+ 00031901  0x00008b58 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031902  0x00008b5a copy  0x00000011 , 0x00000005 
+ 00031903  0x00008b5b branch  0x00007ca9 
+ 00031904  0x00008b5d add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031905  0x00008b5e arg  0x0000091e , 0x00000012 
+ 00031906  0x00008b5f copy  0x00000011 , 0x00000005 
+ 00031907  0x00008b60 call  0x00007c7b 
+ 00031908  0x00008b62 rtn  0x00000001 
+ 00031909  0x00008b63 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031910  0x00008b64 arg  0x0000091e , 0x00000012 
+ 00031911  0x00008b65 copy  0x00000011 , 0x00000005 
+ 00031912  0x00008b66 branch  0x00007c7b 
+ 00031913  0x00008b6b force  0x00000008 , 0x00000039 
+ 00031914  0x00008b6c branch  0x00007720 
+ 00031915  0x00008b6f force  0x00000008 , 0x00000039 
+ 00031916  0x00008b70 increase  0x0000001c , 0x00000011 
+ 00031917  0x00008b71 branch  0x0000772f 
+ 00031918  0x00008b74 force  0x00000008 , 0x00000039 
+ 00031919  0x00008b75 force  0x00000000 , 0x00000013 
+ 00031920  0x00008b76 branch  0x0000773d 
+ 00031921  0x00008b79 force  0x00000008 , 0x00000039 
+ 00031922  0x00008b7a increase  0x0000001c , 0x00000011 
+ 00031923  0x00008b7b increase  0x0000001c , 0x00000012 
+ 00031924  0x00008b7c branch  0x00007707 
+ 00031925  0x00008b80 ifetch  0x00000008 , 0x00000006 
+ 00031926  0x00008b81 nrtn  0x00000034 
+ 00031927  0x00008b82 branch  0x000076f5 
+ 00031928  0x00008b88 copy  0x00000011 , 0x00000030 
+ 00031929  0x00008b8a copy  0x00000030 , 0x00000011 
+ 00031930  0x00008b8b ifetch  0x00000001 , 0x00000011 
+ 00031931  0x00008b8c isolate1  0x00000000 , 0x0000003f 
+ 00031932  0x00008b8d rtn  0x00000001 
+ 00031933  0x00008b8e call  0x00007cab 
+ 00031934  0x00008b8f ifetch  0x00000001 , 0x00000012 
+ 00031935  0x00008b90 isolate0  0x00000000 , 0x0000003f 
+ 00031936  0x00008b91 branch  0x00007cc8 , 0x00000001 
+ 00031937  0x00008b92 arg  0x0000091e , 0x00000011 
+ 00031938  0x00008b93 copy  0x00000012 , 0x00000005 
+ 00031939  0x00008b94 call  0x00007c7b 
+ 00031940  0x00008b95 ifetch  0x00000001 , 0x00000012 
+ 00031941  0x00008b96 iadd  0x00000013 , 0x0000003f 
+ 00031942  0x00008b97 istore  0x00000001 , 0x00000012 
+ 00031943  0x00008b98 increase  0xffffffe0 , 0x00000012 
+ 00031944  0x00008b9a add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031945  0x00008b9b force  0x00000009 , 0x00000039 
+ 00031946  0x00008b9c call  0x0000772f 
+ 00031947  0x00008b9d branch  0x00007cb9 
+ 00031948  0x00008ba2 call  0x00002c65 
+ 00031949  0x00008ba3 rtn  0x0000002b 
+ 00031950  0x00008ba4 call  0x00007cd3 
+ 00031951  0x00008ba5 call  0x00007d75 
+ 00031952  0x00008ba6 branch  0x00007d08 
+ 00031953  0x00008ba9 call  0x00007d29 
+ 00031954  0x00008bab branch  0x00007d64 
+ 00031955  0x00008bae fetch  0x00000001 , 0x00004686 
+ 00031956  0x00008baf rtneq  0x000000ff 
+ 00031957  0x00008bb0 iforce  0x00000002 
+ 00031958  0x00008bb1 call  0x0000680e 
+ 00031959  0x00008bb2 fetcht  0x00000001 , 0x00004686 
+ 00031960  0x00008bb3 call  0x00006825 
+ 00031961  0x00008bb4 nop  0x00000064 
+ 00031962  0x00008bb5 fetcht  0x00000001 , 0x00004686 
+ 00031963  0x00008bb6 call  0x000067fb 
+ 00031964  0x00008bb7 branch  0x00007cdd 
+ 00031965  0x00008bbc bpatchx  0x000000f3 , 0x0000403e 
+ 00031966  0x00008bbd fetch  0x00000001 , 0x00004686 
+ 00031967  0x00008bbe rtneq  0x000000ff 
+ 00031968  0x00008bbf copy  0x0000003f , 0x00000002 
+ 00031969  0x00008bc0 call  0x0000681d 
+ 00031970  0x00008bc1 nbranch  0x00007cef , 0x00000001 
+ 00031971  0x00008bc4 call  0x00007cf9 
+ 00031972  0x00008bc5 fetch  0x00000002 , 0x00004682 
+ 00031973  0x00008bc6 set1  0x0000000c 
+ 00031974  0x00008bc7 store  0x00000002 , 0x00004682 
+ 00031975  0x00008bc8 fetch  0x00000001 , 0x00004679 
+ 00031976  0x00008bc9 rtneq  0x00000000 
+ 00031977  0x00008bca jam  0x00000000 , 0x00004679 
+ 00031978  0x00008bcc fetch  0x00000001 , 0x00004685 
+ 00031979  0x00008bcd store  0x00000001 , 0x00004678 
+ 00031980  0x00008bce call  0x00007d00 
+ 00031981  0x00008bcf jam  0x0000002c , 0x00000a99 
+ 00031982  0x00008bd0 branch  0x00007d86 
+ 00031983  0x00008bd2 fetch  0x00000002 , 0x00004682 
+ 00031984  0x00008bd3 set0  0x0000000c 
+ 00031985  0x00008bd4 store  0x00000002 , 0x00004682 
+ 00031986  0x00008bd5 fetch  0x00000001 , 0x00004679 
+ 00031987  0x00008bd6 rtneq  0x00000001 
+ 00031988  0x00008bd7 jam  0x00000001 , 0x00004679 
+ 00031989  0x00008bd9 jam  0x00000000 , 0x00004678 
+ 00031990  0x00008bda call  0x00007d02 
+ 00031991  0x00008bdb jam  0x0000002d , 0x00000a99 
+ 00031992  0x00008bdc branch  0x00007d86 
+ 00031993  0x00008bdf fetch  0x00000001 , 0x00004678 
+ 00031994  0x00008be0 rtn  0x00000034 
+ 00031995  0x00008be1 increase  0xffffffff , 0x0000003f 
+ 00031996  0x00008be2 store  0x00000001 , 0x00004678 
+ 00031997  0x00008be3 nrtn  0x00000034 
+ 00031998  0x00008be5 jam  0x00000010 , 0x00000a99 
+ 00031999  0x00008be6 branch  0x00007d86 
+ 00032000  0x00008be9 arg  0x00000007 , 0x00000007 
+ 00032001  0x00008bea branch  0x00002c32 
+ 00032002  0x00008bed arg  0x00000007 , 0x00000007 
+ 00032003  0x00008bee branch  0x00002c36 
+ 00032004  0x00008c05 fetch  0x00000002 , 0x0000421b 
+ 00032005  0x00008c06 mul32  0x00000011 , 0x0000000b , 0x00000012 
+ 00032006  0x00008c07 iadd  0x00000012 , 0x00000012 
+ 00032007  0x00008c08 rtn 
+ 00032008  0x00008c0c fetch  0x00000001 , 0x0000421a 
+ 00032009  0x00008c0d rtn  0x00000034 
+ 00032010  0x00008c0e copy  0x0000003f , 0x00000039 
+ 00032011  0x00008c0f fetch  0x00000002 , 0x0000421b 
+ 00032012  0x00008c10 copy  0x0000003f , 0x00000012 
+ 00032013  0x00008c12 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032014  0x00008c13 ifetcht  0x00000001 , 0x00000013 
+ 00032015  0x00008c14 call  0x0000680e 
+ 00032016  0x00008c15 call  0x00007d32 
+ 00032017  0x00008c16 increase  0x0000000b , 0x00000012 
+ 00032018  0x00008c17 loop  0x00007d0d 
+ 00032019  0x00008c18 rtn 
+ 00032020  0x00008c1d call  0x00007d04 
+ 00032021  0x00008c1e setarg  0x00000002 
+ 00032022  0x00008c1f istore  0x00000001 , 0x00000012 
+ 00032023  0x00008c20 call  0x00007d5e 
+ 00032024  0x00008c21 branch  0x00007d35 
+ 00032025  0x00008c27 call  0x00007d04 
+ 00032026  0x00008c28 setarg  0x00000003 
+ 00032027  0x00008c29 istore  0x00000001 , 0x00000012 
+ 00032028  0x00008c2a call  0x00007d5e 
+ 00032029  0x00008c2b branch  0x00007d32 
+ 00032030  0x00008c30 call  0x00007d04 
+ 00032031  0x00008c31 setarg  0x00000001 
+ 00032032  0x00008c32 istore  0x00000001 , 0x00000012 
+ 00032033  0x00008c33 setarg  0x000000ff 
+ 00032034  0x00008c34 istore  0x00000001 , 0x00000005 
+ 00032035  0x00008c35 branch  0x00007d32 
+ 00032036  0x00008c3b call  0x00007d04 
+ 00032037  0x00008c3c arg  0x0000000b , 0x00000039 
+ 00032038  0x00008c3d copy  0x00000013 , 0x00000006 
+ 00032039  0x00008c3e copy  0x00000012 , 0x00000005 
+ 00032040  0x00008c3f branch  0x00007ef4 
+ 00032041  0x00008c44 fetch  0x00000001 , 0x0000421a 
+ 00032042  0x00008c45 rtn  0x00000034 
+ 00032043  0x00008c46 arg  0x00000000 , 0x00000011 
+ 00032044  0x00008c48 call  0x00007d38 
+ 00032045  0x00008c49 increase  0x00000001 , 0x00000011 
+ 00032046  0x00008c4a fetch  0x00000001 , 0x0000421a 
+ 00032047  0x00008c4b isub  0x00000011 , 0x0000003e 
+ 00032048  0x00008c4c rtn  0x00000005 
+ 00032049  0x00008c4d branch  0x00007d2c 
+ 00032050  0x00008c51 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032051  0x00008c52 ifetcht  0x00000001 , 0x00000013 
+ 00032052  0x00008c53 branch  0x00006825 
+ 00032053  0x00008c57 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032054  0x00008c58 ifetcht  0x00000001 , 0x00000013 
+ 00032055  0x00008c59 branch  0x00006829 
+ 00032056  0x00008c5e add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032057  0x00008c5f call  0x00007f16 
+ 00032058  0x00008c60 nrtn  0x00000034 
+ 00032059  0x00008c62 call  0x00007d04 
+ 00032060  0x00008c64 ifetch  0x00000001 , 0x00000012 
+ 00032061  0x00008c66 beq  0x00000002 , 0x00007d35 
+ 00032062  0x00008c67 beq  0x00000003 , 0x00007d32 
+ 00032063  0x00008c68 beq  0x00000000 , 0x00007d32 
+ 00032064  0x00008c69 beq  0x00000005 , 0x00007d4c 
+ 00032065  0x00008c6b call  0x00007d35 
+ 00032066  0x00008c6c add  0x00000012 , 0x00000007 , 0x00000013 
+ 00032067  0x00008c6d call  0x00007e7c 
+ 00032068  0x00008c6e ifetch  0x00000002 , 0x00000013 
+ 00032069  0x00008c6f call  0x00007f9c 
+ 00032070  0x00008c70 call  0x00007e8c 
+ 00032071  0x00008c71 setarg  0x00000005 
+ 00032072  0x00008c72 istore  0x00000001 , 0x00000012 
+ 00032073  0x00008c73 add  0x00000012 , 0x00000003 , 0x00000013 
+ 00032074  0x00008c74 ifetch  0x00000002 , 0x00000013 
+ 00032075  0x00008c75 branch  0x00007d5c 
+ 00032076  0x00008c79 call  0x00007d32 
+ 00032077  0x00008c7a add  0x00000012 , 0x00000009 , 0x00000013 
+ 00032078  0x00008c7b call  0x00007e7c 
+ 00032079  0x00008c7c ifetch  0x00000002 , 0x00000013 
+ 00032080  0x00008c7d call  0x00007f9c 
+ 00032081  0x00008c7e call  0x00007e8c 
+ 00032082  0x00008c80 add  0x00000012 , 0x00000001 , 0x00000013 
+ 00032083  0x00008c81 ifetch  0x00000001 , 0x00000013 
+ 00032084  0x00008c82 beq  0x000000ff , 0x00007d58 
+ 00032085  0x00008c83 increase  0xffffffff , 0x0000003f 
+ 00032086  0x00008c84 istore  0x00000001 , 0x00000013 
+ 00032087  0x00008c85 branch  0x00007d19 , 0x00000034 
+ 00032088  0x00008c87 setarg  0x00000004 
+ 00032089  0x00008c88 istore  0x00000001 , 0x00000012 
+ 00032090  0x00008c89 add  0x00000012 , 0x00000005 , 0x00000013 
+ 00032091  0x00008c8a ifetch  0x00000002 , 0x00000013 
+ 00032092  0x00008c8c add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032093  0x00008c8d branch  0x00007f08 
+ 00032094  0x00008c90 setarg  0x00000000 
+ 00032095  0x00008c91 branch  0x00007d5c 
+ 00032096  0x00008c98 setarg  0x00001000 
+ 00032097  0x00008c99 lshift16  0x0000003f , 0x0000003f 
+ 00032098  0x00008c9a iadd  0x00000012 , 0x00000012 
+ 00032099  0x00008c9b rtn 
+ 00032100  0x00008c9e bpatchx  0x000000f4 , 0x0000403e 
+ 00032101  0x00008c9f arg  0x00000000 , 0x00000011 
+ 00032102  0x00008ca0 fetcht  0x00000004 , 0x0000467a 
+ 00032103  0x00008ca1 copy  0x00000022 , 0x00000012 
+ 00032104  0x00008ca2 copy  0x00000012 , 0x0000003f 
+ 00032105  0x00008ca3 isub  0x00000002 , 0x0000003e 
+ 00032106  0x00008ca4 ncall  0x00007d60 , 0x00000002 
+ 00032107  0x00008ca7 copy  0x00000012 , 0x0000003f 
+ 00032108  0x00008ca8 increase  0x000000a0 , 0x00000002 
+ 00032109  0x00008ca9 increase  0x000000a0 , 0x00000002 
+ 00032110  0x00008caa isub  0x00000002 , 0x0000003e 
+ 00032111  0x00008cab nbranch  0x00007d78 , 0x00000002 
+ 00032112  0x00008cac increase  0x00000001 , 0x00000011 
+ 00032113  0x00008cad and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00032114  0x00008cae nbranch  0x00007d6b , 0x00000034 
+ 00032115  0x00008caf arg  0x00000000 , 0x00000011 
+ 00032116  0x00008cb0 call  0x00007d7f 
+ 00032117  0x00008cb2 copy  0x00000022 , 0x0000003f 
+ 00032118  0x00008cb3 store  0x00000004 , 0x0000467a 
+ 00032119  0x00008cb4 rtn 
+ 00032120  0x00008cb6 bpatchx  0x000000f5 , 0x0000403e 
+ 00032121  0x00008cb7 copy  0x00000011 , 0x0000003f 
+ 00032122  0x00008cb8 rtn  0x00000034 
+ 00032123  0x00008cb9 increase  0xffffff60 , 0x00000002 
+ 00032124  0x00008cba increase  0xffffff60 , 0x00000002 
+ 00032125  0x00008cbb set0  0x0000001c , 0x00000002 
+ 00032126  0x00008cbc storet  0x00000004 , 0x0000467a 
+ 00032127  0x00008cbe branch  0x0000335f 
+ 00032128  0x00008cc6 jam  0x00000001 , 0x00004666 
+ 00032129  0x00008cc8 fetch  0x00000001 , 0x00004667 
+ 00032130  0x00008cc9 nbranch  0x00007d81 , 0x00000034 
+ 00032131  0x00008cca rtn 
+ 00032132  0x00008ccd jam  0x00000000 , 0x00004666 
+ 00032133  0x00008cce rtn 
+ 00032134  0x00008cd3 bpatchx  0x000000f6 , 0x0000403e 
+ 00032135  0x00008cd4 call  0x00007d80 
+ 00032136  0x00008cd5 copy  0x00000011 , 0x0000003f 
+ 00032137  0x00008cd6 store  0x00000004 , 0x00000a91 
+ 00032138  0x00008cd7 arg  0x00004668 , 0x00000011 
+ 00032139  0x00008cd8 call  0x00007fb8 
+ 00032140  0x00008cd9 fetch  0x00000004 , 0x00000a91 
+ 00032141  0x00008cda copy  0x0000003f , 0x00000011 
+ 00032142  0x00008cdb branch  0x00007d84 
+ 00032143  0x00008cde bpatchx  0x000000f7 , 0x0000403e 
+ 00032144  0x00008cdf call  0x00007d80 
+ 00032145  0x00008ce0 copy  0x00000011 , 0x0000003f 
+ 00032146  0x00008ce1 store  0x00000004 , 0x00000a91 
+ 00032147  0x00008ce2 arg  0x00004670 , 0x00000011 
+ 00032148  0x00008ce3 call  0x00007fb8 
+ 00032149  0x00008ce4 fetch  0x00000004 , 0x00000a91 
+ 00032150  0x00008ce5 copy  0x0000003f , 0x00000011 
+ 00032151  0x00008ce6 branch  0x00007d84 
+ 00032152  0x00008ce9 setarg  0x00000000 
+ 00032153  0x00008cea store  0x00000008 , 0x00004670 
+ 00032154  0x00008ceb store  0x00000008 , 0x00004668 
+ 00032155  0x00008cec rtn 
+ 00032156  0x00008cef bpatchx  0x000000f8 , 0x0000403f 
+ 00032157  0x00008cf0 fetch  0x00000001 , 0x000041ce 
+ 00032158  0x00008cf1 nrtn  0x00000034 
+ 00032159  0x00008cf2 arg  0x00004670 , 0x00000011 
+ 00032160  0x00008cf3 call  0x00007fd0 
+ 00032161  0x00008cf4 rtn  0x00000034 
+ 00032162  0x00008cf5 jam  0x00000000 , 0x00000a90 
+ 00032163  0x00008cf6 call  0x00007da7 
+ 00032164  0x00008cf7 fetch  0x00000001 , 0x00000a90 
+ 00032165  0x00008cf8 branch  0x00007d9c , 0x00000034 
+ 00032166  0x00008cf9 rtn 
+ 00032167  0x00008cfc call  0x00007d80 
+ 00032168  0x00008cfd arg  0x00004670 , 0x00000011 
+ 00032169  0x00008cfe call  0x00007fc4 
+ 00032170  0x00008cff copy  0x0000003f , 0x00000002 
+ 00032171  0x00008d00 call  0x00007d84 
+ 00032172  0x00008d01 bpatchx  0x000000f9 , 0x0000403f 
+ 00032173  0x00008d02 copy  0x00000002 , 0x0000003f 
+ 00032174  0x00008d03 rtn  0x00000034 
+ 00032175  0x00008d04 beq  0x00000001 , 0x00007ddd 
+ 00032176  0x00008d05 beq  0x00000002 , 0x00007de2 
+ 00032177  0x00008d06 beq  0x00000003 , 0x00007de8 
+ 00032178  0x00008d07 beq  0x00000007 , 0x00007ded 
+ 00032179  0x00008d08 beq  0x00000008 , 0x00007dee 
+ 00032180  0x00008d09 beq  0x00000009 , 0x00007def 
+ 00032181  0x00008d0a beq  0x0000000b , 0x00007df2 
+ 00032182  0x00008d0b beq  0x0000000c , 0x00007df3 
+ 00032183  0x00008d0c beq  0x0000000d , 0x00007df4 
+ 00032184  0x00008d0d beq  0x0000000e , 0x00007dfa 
+ 00032185  0x00008d0e beq  0x0000000f , 0x00007dff 
+ 00032186  0x00008d0f beq  0x00000010 , 0x00007e05 
+ 00032187  0x00008d10 beq  0x00000013 , 0x00007e0f 
+ 00032188  0x00008d11 beq  0x00000014 , 0x00007e11 
+ 00032189  0x00008d12 beq  0x00000015 , 0x00007e13 
+ 00032190  0x00008d13 beq  0x00000016 , 0x00007e15 
+ 00032191  0x00008d14 beq  0x00000017 , 0x00007e18 
+ 00032192  0x00008d15 beq  0x00000018 , 0x00007e1a 
+ 00032193  0x00008d16 beq  0x00000019 , 0x00007e1d 
+ 00032194  0x00008d17 beq  0x0000001b , 0x00007e25 
+ 00032195  0x00008d18 beq  0x0000001e , 0x00007e2f 
+ 00032196  0x00008d1a store  0x00000001 , 0x00000a99 
+ 00032197  0x00008d1b bpatchx  0x000000fa , 0x0000403f 
+ 00032198  0x00008d1c call  0x000062bc 
+ 00032199  0x00008d1d nbranch  0x00007ddb , 0x00000034 
+ 00032200  0x00008d1f fetch  0x00000001 , 0x00000a99 
+ 00032201  0x00008d20 bmark0  0x00000009 , 0x00007dd6 
+ 00032202  0x00008d21 beq  0x00000004 , 0x00007dea 
+ 00032203  0x00008d22 beq  0x00000005 , 0x00004d17 
+ 00032204  0x00008d23 beq  0x00000006 , 0x00004d26 
+ 00032205  0x00008d24 beq  0x0000000a , 0x00007df0 
+ 00032206  0x00008d25 beq  0x00000011 , 0x00007e0a 
+ 00032207  0x00008d26 beq  0x00000012 , 0x00007e0e 
+ 00032208  0x00008d27 beq  0x0000001d , 0x00007e26 
+ 00032209  0x00008d28 beq  0x0000001f , 0x000067cc 
+ 00032210  0x00008d29 beq  0x00000020 , 0x000067d0 
+ 00032211  0x00008d2a beq  0x00000021 , 0x00007e31 
+ 00032212  0x00008d2b beq  0x00000025 , 0x0000670b 
+ 00032213  0x00008d2c rtn 
+ 00032214  0x00008d2f store  0x00000001 , 0x00000a99 
+ 00032215  0x00008d30 call  0x00002252 
+ 00032216  0x00008d31 branch  0x00007ddb , 0x00000005 
+ 00032217  0x00008d32 call  0x0000225a 
+ 00032218  0x00008d33 nrtn  0x00000005 
+ 00032219  0x00008d35 jam  0x00000001 , 0x00000a90 
+ 00032220  0x00008d36 branch  0x00007d8f 
+ 00032221  0x00008d3c fetch  0x00000002 , 0x00004682 
+ 00032222  0x00008d3d set1  0x00000006 
+ 00032223  0x00008d3e store  0x00000002 , 0x00004682 
+ 00032224  0x00008d3f jam  0x00000003 , 0x00004093 
+ 00032225  0x00008d40 rtn 
+ 00032226  0x00008d45 jam  0x00000000 , 0x00004680 
+ 00032227  0x00008d46 jam  0x00000000 , 0x00004093 
+ 00032228  0x00008d47 fetch  0x00000002 , 0x00004682 
+ 00032229  0x00008d48 set0  0x00000006 
+ 00032230  0x00008d49 store  0x00000002 , 0x00004682 
+ 00032231  0x00008d4a rtn 
+ 00032232  0x00008d4f jam  0x00000005 , 0x000041ce 
+ 00032233  0x00008d50 rtn 
+ 00032234  0x00008d55 jam  0x00000007 , 0x0000007c 
+ 00032235  0x00008d56 jam  0x00000013 , 0x000004ca 
+ 00032236  0x00008d57 rtn 
+ 00032237  0x00008d5c rtn 
+ 00032238  0x00008d61 rtn 
+ 00032239  0x00008d66 rtn 
+ 00032240  0x00008d6b jam  0x00000002 , 0x000004d4 
+ 00032241  0x00008d6c branch  0x00004d0a 
+ 00032242  0x00008d71 rtn 
+ 00032243  0x00008d76 rtn 
+ 00032244  0x00008d7b jam  0x00000001 , 0x0000436e 
+ 00032245  0x00008d7c jam  0x00000000 , 0x00004484 
+ 00032246  0x00008d7d fetch  0x00000002 , 0x00004682 
+ 00032247  0x00008d7e set1  0x0000000b , 0x0000003f 
+ 00032248  0x00008d7f store  0x00000002 , 0x00004682 
+ 00032249  0x00008d80 rtn 
+ 00032250  0x00008d85 fetch  0x00000002 , 0x00004682 
+ 00032251  0x00008d86 set0  0x0000000b , 0x0000003f 
+ 00032252  0x00008d87 store  0x00000002 , 0x00004682 
+ 00032253  0x00008d88 jam  0x00000000 , 0x0000436e 
+ 00032254  0x00008d89 rtn 
+ 00032255  0x00008d8e jam  0x00000001 , 0x0000436e 
+ 00032256  0x00008d8f jam  0x00000001 , 0x00004484 
+ 00032257  0x00008d90 fetch  0x00000002 , 0x00004682 
+ 00032258  0x00008d91 set1  0x0000000b , 0x0000003f 
+ 00032259  0x00008d92 store  0x00000002 , 0x00004682 
+ 00032260  0x00008d93 rtn 
+ 00032261  0x00008d98 fetch  0x00000002 , 0x00004682 
+ 00032262  0x00008d99 set0  0x0000000b , 0x0000003f 
+ 00032263  0x00008d9a store  0x00000002 , 0x00004682 
+ 00032264  0x00008d9b jam  0x00000000 , 0x0000436e 
+ 00032265  0x00008d9c rtn 
+ 00032266  0x00008da1 setarg  0x00000014 
+ 00032267  0x00008da2 store  0x00000002 , 0x0000046d 
+ 00032268  0x00008da3 store  0x00000002 , 0x000044ba 
+ 00032269  0x00008da4 branch  0x00005c92 
+ 00032270  0x00008da9 branch  0x00005abf 
+ 00032271  0x00008dae arg  0x00000000 , 0x00000011 
+ 00032272  0x00008daf branch  0x00007d19 
+ 00032273  0x00008db4 arg  0x00000000 , 0x00000011 
+ 00032274  0x00008db5 branch  0x00007d14 
+ 00032275  0x00008dba arg  0x00000000 , 0x00000011 
+ 00032276  0x00008dbb branch  0x00007d1e 
+ 00032277  0x00008dc0 jam  0x00000001 , 0x00004369 
+ 00032278  0x00008dc1 jam  0x0000001b , 0x000041ce 
+ 00032279  0x00008dc4 rtn 
+ 00032280  0x00008dc9 jam  0x00000001 , 0x00004369 
+ 00032281  0x00008dca rtn 
+ 00032282  0x00008dcf jam  0x00000000 , 0x00004369 
+ 00032283  0x00008dd0 jam  0x00000000 , 0x000041ce 
+ 00032284  0x00008dd1 rtn 
+ 00032285  0x00008dd6 fetch  0x00000002 , 0x000041eb 
+ 00032286  0x00008dd7 call  0x00007f9c 
+ 00032287  0x00008dd8 fetch  0x00000001 , 0x00004686 
+ 00032288  0x00008dd9 beq  0x000000ff , 0x00007e23 
+ 00032289  0x00008dda copy  0x0000003f , 0x00000002 
+ 00032290  0x00008ddb call  0x000067fb 
+ 00032291  0x00008ddd call  0x00007d98 
+ 00032292  0x00008dde branch  0x00002b1f 
+ 00032293  0x00008de3 branch  0x00005b02 
+ 00032294  0x00008de8 jam  0x00000034 , 0x0000007c 
+ 00032295  0x00008de9 set1  0x00000003 , 0x00000000 
+ 00032296  0x00008dea nrtn  0x00000029 
+ 00032297  0x00008deb jam  0x00000000 , 0x0000455b 
+ 00032298  0x00008dec jam  0x00000013 , 0x0000007c 
+ 00032299  0x00008ded fetch  0x00000001 , 0x0000016d 
+ 00032300  0x00008dee set0  0x00000002 , 0x0000003f 
+ 00032301  0x00008def store  0x00000001 , 0x0000016d 
+ 00032302  0x00008df0 rtn 
+ 00032303  0x00008df5 force  0x00000003 , 0x00000007 
+ 00032304  0x00008df6 branch  0x00007f07 
+ 00032305  0x00008dfb call  0x000062f8 
+ 00032306  0x00008dfc jam  0x00000041 , 0x0000007d 
+ 00032307  0x00008dfd branch  0x00005f9d 
+ 00032308  0x00008e01 fetch  0x00000001 , 0x00004682 
+ 00032309  0x00008e02 rtnbit0  0x0000000c 
+ 00032310  0x00008e03 rtnbit0  0x00000007 
+ 00032311  0x00008e04 branch  0x00007e2f 
+ 00032312  0x00008e0a fetch  0x00000002 , 0x00004218 
+ 00032313  0x00008e0b add  0x0000003f , 0x00000002 , 0x00000005 
+ 00032314  0x00008e0c setarg  0x00000000 
+ 00032315  0x00008e0d istore  0x00000003 , 0x00000005 
+ 00032316  0x00008e0e rtn 
+ 00032317  0x00008e13 call  0x00007fe9 
+ 00032318  0x00008e14 call  0x00007e69 
+ 00032319  0x00008e15 rtn  0x00000034 
+ 00032320  0x00008e16 fetch  0x00000002 , 0x00004218 
+ 00032321  0x00008e17 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032322  0x00008e18 ifetcht  0x00000001 , 0x00000012 
+ 00032323  0x00008e19 increase  0x00000001 , 0x00000002 
+ 00032324  0x00008e1a istoret  0x00000001 , 0x00000012 
+ 00032325  0x00008e1c ifetcht  0x00000001 , 0x0000003f 
+ 00032326  0x00008e1d copy  0x00000002 , 0x00000039 
+ 00032327  0x00008e1e add  0x0000003f , 0x00000004 , 0x00000012 
+ 00032328  0x00008e1f ifetch  0x00000001 , 0x00000012 
+ 00032329  0x00008e20 imul32  0x00000002 , 0x0000003f 
+ 00032330  0x00008e21 iadd  0x00000006 , 0x00000005 
+ 00032331  0x00008e22 copy  0x00000011 , 0x00000006 
+ 00032332  0x00008e24 call  0x00007f01 
+ 00032333  0x00008e25 call  0x00007e6d 
+ 00032334  0x00008e26 pincrease  0xffffffff 
+ 00032335  0x00008e27 ifetcht  0x00000001 , 0x00000012 
+ 00032336  0x00008e28 increase  0x00000001 , 0x00000002 
+ 00032337  0x00008e29 iand  0x00000002 , 0x00000002 
+ 00032338  0x00008e2a istoret  0x00000001 , 0x00000012 
+ 00032339  0x00008e2b branch  0x00007fe7 
+ 00032340  0x00008e31 call  0x00007fe9 
+ 00032341  0x00008e32 call  0x00007e65 
+ 00032342  0x00008e33 rtn  0x00000034 
+ 00032343  0x00008e34 fetch  0x00000002 , 0x00004218 
+ 00032344  0x00008e35 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032345  0x00008e36 ifetcht  0x00000001 , 0x00000012 
+ 00032346  0x00008e37 increase  0xffffffff , 0x00000002 
+ 00032347  0x00008e38 istoret  0x00000001 , 0x00000012 
+ 00032348  0x00008e39 ifetcht  0x00000001 , 0x0000003f 
+ 00032349  0x00008e3a copy  0x00000002 , 0x00000039 
+ 00032350  0x00008e3b add  0x0000003f , 0x00000003 , 0x00000012 
+ 00032351  0x00008e3c ifetch  0x00000001 , 0x00000012 
+ 00032352  0x00008e3d imul32  0x00000002 , 0x0000003f 
+ 00032353  0x00008e3e iadd  0x00000006 , 0x00000006 
+ 00032354  0x00008e3f increase  0x00000001 , 0x00000006 
+ 00032355  0x00008e40 copy  0x00000011 , 0x00000005 
+ 00032356  0x00008e41 branch  0x00007e4c 
+ 00032357  0x00008e46 fetch  0x00000002 , 0x00004218 
+ 00032358  0x00008e47 add  0x0000003f , 0x00000002 , 0x00000006 
+ 00032359  0x00008e48 ifetch  0x00000001 , 0x00000006 
+ 00032360  0x00008e49 rtn 
+ 00032361  0x00008e4d call  0x00007e6d 
+ 00032362  0x00008e4e ifetcht  0x00000001 , 0x00000006 
+ 00032363  0x00008e4f isub  0x00000002 , 0x0000003f 
+ 00032364  0x00008e50 rtn 
+ 00032365  0x00008e54 fetch  0x00000002 , 0x00004218 
+ 00032366  0x00008e55 add  0x0000003f , 0x00000001 , 0x00000006 
+ 00032367  0x00008e56 ifetch  0x00000001 , 0x00000006 
+ 00032368  0x00008e57 rtn 
+ 00032369  0x00008e60 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032370  0x00008e61 rtn  0x00000005 
+ 00032371  0x00008e63 rshift  0x0000003f , 0x0000003f 
+ 00032372  0x00008e64 loop  0x00007e73 
+ 00032373  0x00008e65 rtn 
+ 00032374  0x00008e69 force  0x00000001 , 0x0000003f 
+ 00032375  0x00008e6a sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032376  0x00008e6b rtn  0x00000005 
+ 00032377  0x00008e6d lshift  0x0000003f , 0x0000003f 
+ 00032378  0x00008e6e loop  0x00007e79 
+ 00032379  0x00008e6f rtn 
+ 00032380  0x00008e71 deposit  0x00000005 
+ 00032381  0x00008e72 store  0x00000002 , 0x00000abb 
+ 00032382  0x00008e73 storet  0x00000008 , 0x00000aa2 
+ 00032383  0x00008e74 deposit  0x0000000b 
+ 00032384  0x00008e75 store  0x00000004 , 0x00000aaa 
+ 00032385  0x00008e76 call  0x00007e85 
+ 00032386  0x00008e77 deposit  0x00000006 
+ 00032387  0x00008e78 store  0x00000002 , 0x00000ab9 
+ 00032388  0x00008e79 rtn 
+ 00032389  0x00008e7c deposit  0x00000011 
+ 00032390  0x00008e7d store  0x00000004 , 0x00000aae 
+ 00032391  0x00008e7e deposit  0x00000012 
+ 00032392  0x00008e7f store  0x00000004 , 0x00000ab2 
+ 00032393  0x00008e80 deposit  0x00000013 
+ 00032394  0x00008e81 store  0x00000003 , 0x00000ab6 
+ 00032395  0x00008e82 rtn 
+ 00032396  0x00008e85 fetcht  0x00000008 , 0x00000aa2 
+ 00032397  0x00008e86 fetch  0x00000004 , 0x00000aaa 
+ 00032398  0x00008e87 iforce  0x0000000b 
+ 00032399  0x00008e88 call  0x00007e95 
+ 00032400  0x00008e89 fetch  0x00000002 , 0x00000abb 
+ 00032401  0x00008e8a iforce  0x00000005 
+ 00032402  0x00008e8b fetch  0x00000002 , 0x00000ab9 
+ 00032403  0x00008e8c iforce  0x00000006 
+ 00032404  0x00008e8d rtn 
+ 00032405  0x00008e90 fetch  0x00000004 , 0x00000aae 
+ 00032406  0x00008e91 iforce  0x00000011 
+ 00032407  0x00008e92 fetch  0x00000004 , 0x00000ab2 
+ 00032408  0x00008e93 iforce  0x00000012 
+ 00032409  0x00008e94 fetch  0x00000003 , 0x00000ab6 
+ 00032410  0x00008e95 iforce  0x00000013 
+ 00032411  0x00008e96 rtn 
+ 00032412  0x00008e99 fetch  0x00000002 , 0x00000abb 
+ 00032413  0x00008e9a copy  0x0000003f , 0x00000005 
+ 00032414  0x00008e9b rtn 
+ 00032415  0x00008e9d fetch  0x00000002 , 0x00000ab9 
+ 00032416  0x00008e9e copy  0x0000003f , 0x00000006 
+ 00032417  0x00008e9f rtn 
+ 00032418  0x00008ea1 copy  0x00000005 , 0x0000003f 
+ 00032419  0x00008ea2 store  0x00000002 , 0x00000abb 
+ 00032420  0x00008ea3 rtn 
+ 00032421  0x00008ea5 copy  0x00000006 , 0x0000003f 
+ 00032422  0x00008ea6 store  0x00000002 , 0x00000ab9 
+ 00032423  0x00008ea7 rtn 
+ 00032424  0x00008eac copy  0x00000005 , 0x0000003f 
+ 00032425  0x00008ead store  0x00000002 , 0x00000a97 
+ 00032426  0x00008eae copy  0x00000006 , 0x0000003f 
+ 00032427  0x00008eaf store  0x00000002 , 0x00000a95 
+ 00032428  0x00008eb0 rtn 
+ 00032429  0x00008eb2 fetch  0x00000002 , 0x00000a97 
+ 00032430  0x00008eb3 copy  0x0000003f , 0x00000005 
+ 00032431  0x00008eb4 fetch  0x00000002 , 0x00000a95 
+ 00032432  0x00008eb5 copy  0x0000003f , 0x00000006 
+ 00032433  0x00008eb6 rtn 
+ 00032434  0x00008eb9 call  0x00007ebd 
+ 00032435  0x00008ebb call  0x00007ebd 
+ 00032436  0x00008ebc branch  0x00007ebd 
+ 00032437  0x00008ebe call  0x00007eb9 
+ 00032438  0x00008ec0 ifetch  0x00000004 , 0x00000006 
+ 00032439  0x00008ec1 istore  0x00000004 , 0x00000005 
+ 00032440  0x00008ec2 rtn 
+ 00032441  0x00008ec4 ifetch  0x00000008 , 0x00000006 
+ 00032442  0x00008ec5 istore  0x00000008 , 0x00000005 
+ 00032443  0x00008ec6 rtn 
+ 00032444  0x00008ec9 call  0x00007ebf 
+ 00032445  0x00008ecb call  0x00007eb9 
+ 00032446  0x00008ecd call  0x00007eb9 
+ 00032447  0x00008ecf call  0x00007eb9 
+ 00032448  0x00008ed0 branch  0x00007eb9 
+ 00032449  0x00008ed5 arg  0x0000000a , 0x00000039 
+ 00032450  0x00008ed7 nop  0x00002ee0 
+ 00032451  0x00008ed8 loop  0x00007ec2 
+ 00032452  0x00008ed9 rtn 
+ 00032453  0x00008edc force  0x00000003 , 0x00000039 
+ 00032454  0x00008ede force  0x00000000 , 0x0000003f 
+ 00032455  0x00008ee0 istore  0x00000008 , 0x00000005 
+ 00032456  0x00008ee1 loop  0x00007ec7 
+ 00032457  0x00008ee2 rtn 
+ 00032458  0x00008ee5 force  0x00000000 , 0x0000003f 
+ 00032459  0x00008ee6 istore  0x00000008 , 0x00000005 
+ 00032460  0x00008ee7 rtn 
+ 00032461  0x00008ee9 force  0x00000000 , 0x0000003f 
+ 00032462  0x00008eea istore  0x00000004 , 0x00000005 
+ 00032463  0x00008eeb rtn 
+ 00032464  0x00008eee force  0x00000004 , 0x00000039 
+ 00032465  0x00008eef branch  0x00007ec6 
+ 00032466  0x00008ef1 force  0x00000008 , 0x00000039 
+ 00032467  0x00008ef2 branch  0x00007ec6 
+ 00032468  0x00008ef5 deposit  0x00000039 
+ 00032469  0x00008ef6 rtn  0x00000034 
+ 00032470  0x00008ef7 setarg  0x00000000 
+ 00032471  0x00008ef9 istore  0x00000001 , 0x00000005 
+ 00032472  0x00008efa loop  0x00007ed7 
+ 00032473  0x00008efb rtn 
+ 00032474  0x00008eff arg  0x00000020 , 0x00000039 
+ 00032475  0x00008f00 arg  0x00000ac2 , 0x00000005 
+ 00032476  0x00008f01 branch  0x00007ed4 
+ 00032477  0x00008f04 ifetch  0x00000004 , 0x00000013 
+ 00032478  0x00008f05 ifetcht  0x00000004 , 0x00000011 
+ 00032479  0x00008f06 ixor  0x00000002 , 0x0000003f 
+ 00032480  0x00008f07 istore  0x00000004 , 0x00000005 
+ 00032481  0x00008f08 increase  0x00000004 , 0x00000011 
+ 00032482  0x00008f09 increase  0x00000004 , 0x00000013 
+ 00032483  0x00008f0a loop  0x00007edd 
+ 00032484  0x00008f0b rtn 
+ 00032485  0x00008f10 bpatchx  0x000000fb , 0x0000403f 
+ 00032486  0x00008f11 copy  0x00000039 , 0x0000003f 
+ 00032487  0x00008f12 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00032488  0x00008f13 rtn  0x00000002 
+ 00032489  0x00008f14 iadd  0x00000011 , 0x00000012 
+ 00032490  0x00008f15 increase  0xffffffff , 0x00000012 
+ 00032491  0x00008f16 rshift  0x00000039 , 0x00000039 
+ 00032492  0x00008f18 ifetcht  0x00000001 , 0x00000011 
+ 00032493  0x00008f19 ifetch  0x00000001 , 0x00000012 
+ 00032494  0x00008f1a istore  0x00000001 , 0x00000011 
+ 00032495  0x00008f1b istoret  0x00000001 , 0x00000012 
+ 00032496  0x00008f1c increase  0xffffffff , 0x00000012 
+ 00032497  0x00008f1d increase  0x00000001 , 0x00000011 
+ 00032498  0x00008f1e loop  0x00007eec 
+ 00032499  0x00008f1f rtn 
+ 00032500  0x00008f23 deposit  0x00000039 
+ 00032501  0x00008f24 rtn  0x00000034 
+ 00032502  0x00008f26 increase  0xfffffff8 , 0x00000039 
+ 00032503  0x00008f27 call  0x00007eb9 , 0x00000002 
+ 00032504  0x00008f28 rtn  0x00000005 
+ 00032505  0x00008f29 branch  0x00007ef6 , 0x00000002 
+ 00032506  0x00008f2a increase  0x00000008 , 0x00000039 
+ 00032507  0x00008f2c increase  0xfffffffc , 0x00000039 
+ 00032508  0x00008f2d call  0x00007eb6 , 0x00000002 
+ 00032509  0x00008f2e rtn  0x00000005 
+ 00032510  0x00008f2f branch  0x00007efb , 0x00000002 
+ 00032511  0x00008f30 increase  0x00000004 , 0x00000039 
+ 00032512  0x00008f31 branch  0x00007f01 
+ 00032513  0x00008f34 deposit  0x00000039 
+ 00032514  0x00008f35 rtn  0x00000034 
+ 00032515  0x00008f37 ifetch  0x00000001 , 0x00000006 
+ 00032516  0x00008f38 istore  0x00000001 , 0x00000005 
+ 00032517  0x00008f39 loop  0x00007f03 
+ 00032518  0x00008f3a rtn 
+ 00032519  0x00008f3d setarg  0x00000000 
+ 00032520  0x00008f3f rshift  0x00000022 , 0x00000002 
+ 00032521  0x00008f40 storet  0x00000004 , 0x00004094 
+ 00032522  0x00008f41 arg  0x0000419d , 0x00000005 
+ 00032523  0x00008f42 iforce  0x00000002 
+ 00032524  0x00008f43 lshift  0x00000007 , 0x0000003f 
+ 00032525  0x00008f44 iadd  0x00000005 , 0x00000005 
+ 00032526  0x00008f45 istoret  0x00000002 , 0x00000005 
+ 00032527  0x00008f46 bpatchx  0x000000fc , 0x0000403f 
+ 00032528  0x00008f47 rtn 
+ 00032529  0x00008f4a arg  0x00000800 , 0x0000000b 
+ 00032530  0x00008f4b lshift16  0x0000000b , 0x0000000b 
+ 00032531  0x00008f4c iadd  0x0000000b , 0x0000003f 
+ 00032532  0x00008f4d rtn 
+ 00032533  0x00008f51 arg  0x00000000 , 0x00000007 
+ 00032534  0x00008f53 bpatchx  0x000000fd , 0x0000403f 
+ 00032535  0x00008f54 fetcht  0x00000004 , 0x00004094 
+ 00032536  0x00008f55 rshift  0x00000022 , 0x0000003f 
+ 00032537  0x00008f56 store  0x00000004 , 0x00004094 
+ 00032538  0x00008f57 isub  0x00000002 , 0x0000003e 
+ 00032539  0x00008f58 ncall  0x00007f11 , 0x00000002 
+ 00032540  0x00008f59 isub  0x00000002 , 0x0000000b 
+ 00032541  0x00008f5a copy  0x0000000b , 0x00000002 
+ 00032542  0x00008f5b arg  0x0000419d , 0x00000006 
+ 00032543  0x00008f5c copy  0x00000006 , 0x00000005 
+ 00032544  0x00008f5d arg  0x00000010 , 0x00000039 
+ 00032545  0x00008f5f ifetch  0x00000002 , 0x00000006 
+ 00032546  0x00008f60 isub  0x00000002 , 0x0000003f 
+ 00032547  0x00008f61 branch  0x00007f25 , 0x00000002 
+ 00032548  0x00008f62 force  0x00000000 , 0x0000003f 
+ 00032549  0x00008f64 istore  0x00000002 , 0x00000005 
+ 00032550  0x00008f65 loop  0x00007f21 
+ 00032551  0x00008f66 arg  0x0000419d , 0x00000006 
+ 00032552  0x00008f67 lshift  0x00000007 , 0x0000003f 
+ 00032553  0x00008f68 iadd  0x00000006 , 0x00000006 
+ 00032554  0x00008f69 ifetch  0x00000002 , 0x00000006 
+ 00032555  0x00008f6a rtn 
+ 00032556  0x00008f70 iadd  0x00000002 , 0x00000002 
+ 00032557  0x00008f71 copy  0x00000002 , 0x00000039 
+ 00032558  0x00008f72 setarg  0x00000ea6 
+ 00032559  0x00008f73 isub  0x00000039 , 0x0000003f 
+ 00032560  0x00008f74 rtn  0x00000002 
+ 00032561  0x00008f75 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032562  0x00008f76 rshift16  0x00000002 , 0x00000002 
+ 00032563  0x00008f77 increase  0x00000001 , 0x00000002 
+ 00032564  0x00008f78 lshift16  0x00000002 , 0x00000002 
+ 00032565  0x00008f79 ior  0x00000002 , 0x00000002 
+ 00032566  0x00008f7a rtn 
+ 00032567  0x00008f7d call  0x00007f39 
+ 00032568  0x00008f7e branch  0x00007f43 
+ 00032569  0x00008f82 disable  0x00000028 
+ 00032570  0x00008f83 isub  0x00000002 , 0x0000003f 
+ 00032571  0x00008f84 branch  0x00007f3e , 0x00000002 
+ 00032572  0x00008f85 enable  0x00000028 
+ 00032573  0x00008f86 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032574  0x00008f88 rtnbit0  0x0000000f 
+ 00032575  0x00008f89 arg  0xffff0ea6 , 0x00000002 
+ 00032576  0x00008f8a iadd  0x00000002 , 0x0000003f 
+ 00032577  0x00008f8b set0  0x00000040 , 0x0000003f 
+ 00032578  0x00008f8c rtn 
+ 00032579  0x00008f8f iforce  0x00000006 
+ 00032580  0x00008f90 rshift16  0x0000003f , 0x0000003f 
+ 00032581  0x00008f91 arg  0x00000ea6 , 0x00000002 
+ 00032582  0x00008f92 imul32  0x00000002 , 0x0000003f 
+ 00032583  0x00008f93 iadd  0x00000006 , 0x0000003f 
+ 00032584  0x00008f94 rtn 
+ 00032585  0x00008f98 lshift8  0x0000003f , 0x0000003f 
+ 00032586  0x00008f99 lshift4  0x0000003f , 0x0000003f 
+ 00032587  0x00008f9a fetcht  0x00000003 , 0x0000416f 
+ 00032588  0x00008f9b idiv  0x00000002 
+ 00032589  0x00008f9c call  0x00007f86 
+ 00032590  0x00008f9d quotient  0x00000002 
+ 00032591  0x00008f9e rtn 
+ 00032592  0x00008fa2 arg  0x00000ea6 , 0x00000002 
+ 00032593  0x00008fa3 idiv  0x00000002 
+ 00032594  0x00008fa4 call  0x00007f86 
+ 00032595  0x00008fa5 quotient  0x0000003f 
+ 00032596  0x00008fa6 lshift16  0x0000003f , 0x0000003f 
+ 00032597  0x00008fa7 remainder  0x00000002 
+ 00032598  0x00008fa8 ior  0x00000002 , 0x00000002 
+ 00032599  0x00008fa9 rtn 
+ 00032600  0x00008fb1 arg  0x00000000 , 0x00000002 
+ 00032601  0x00008fb3 copy  0x00000002 , 0x00000013 
+ 00032602  0x00008fb4 ifetch  0x00000001 , 0x00000003 
+ 00032603  0x00008fb5 call  0x00007f64 
+ 00032604  0x00008fb6 copy  0x00000013 , 0x00000002 
+ 00032605  0x00008fb7 call  0x00007f95 
+ 00032606  0x00008fb8 arg  0x0000000a , 0x00000012 
+ 00032607  0x00008fb9 imul32  0x00000012 , 0x0000003f 
+ 00032608  0x00008fba iadd  0x00000002 , 0x0000003f 
+ 00032609  0x00008fbb copy  0x0000003f , 0x00000002 
+ 00032610  0x00008fbc loop  0x00007f59 
+ 00032611  0x00008fbd rtn 
+ 00032612  0x00008fc2 arg  0x0000003a , 0x00000002 
+ 00032613  0x00008fc3 isub  0x00000002 , 0x0000003e 
+ 00032614  0x00008fc4 nbranch  0x00007f6d , 0x00000002 
+ 00032615  0x00008fc5 arg  0x00000061 , 0x00000002 
+ 00032616  0x00008fc6 isub  0x00000002 , 0x0000003e 
+ 00032617  0x00008fc7 branch  0x00007f70 , 0x00000002 
+ 00032618  0x00008fc8 arg  0x00000037 , 0x00000002 
+ 00032619  0x00008fc9 isub  0x00000002 , 0x0000003f 
+ 00032620  0x00008fca rtn 
+ 00032621  0x00008fcc arg  0x00000030 , 0x00000002 
+ 00032622  0x00008fcd isub  0x00000002 , 0x0000003f 
+ 00032623  0x00008fce rtn 
+ 00032624  0x00008fd0 arg  0x00000057 , 0x00000002 
+ 00032625  0x00008fd1 isub  0x00000002 , 0x0000003f 
+ 00032626  0x00008fd2 rtn 
+ 00032627  0x00008fd5 copy  0x00000002 , 0x00000030 
+ 00032628  0x00008fd6 setarg  0x000001ff 
+ 00032629  0x00008fd7 force  0x00000000 , 0x00000012 
+ 00032630  0x00008fd9 rshift3  0x0000003f , 0x00000011 
+ 00032631  0x00008fda rshift  0x00000011 , 0x00000011 
+ 00032632  0x00008fdb ixor  0x00000011 , 0x00000011 
+ 00032633  0x00008fdc isolate1  0x00000000 , 0x00000011 
+ 00032634  0x00008fdd setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032635  0x00008fde rshift  0x00000002 , 0x00000002 
+ 00032636  0x00008fdf isolate1  0x00000000 , 0x0000003f 
+ 00032637  0x00008fe0 setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032638  0x00008fe1 rshift  0x0000003f , 0x0000003f 
+ 00032639  0x00008fe2 increase  0x00000001 , 0x00000012 
+ 00032640  0x00008fe3 compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032641  0x00008fe4 nbranch  0x00007f76 , 0x00000001 
+ 00032642  0x00008fe5 istoret  0x00000001 , 0x00000005 
+ 00032643  0x00008fe6 loop  0x00007f76 
+ 00032644  0x00008fe7 copy  0x00000030 , 0x00000002 
+ 00032645  0x00008fe8 rtn 
+ 00032646  0x00008fec rtn  0x00000035 
+ 00032647  0x00008fed branch  0x00007f86 
+ 00032648  0x00008ff9 ifetch  0x00000001 , 0x00000011 
+ 00032649  0x00008ffa ifetcht  0x00000001 , 0x00000012 
+ 00032650  0x00008ffb isub  0x00000002 , 0x0000003e 
+ 00032651  0x00008ffc nrtn  0x00000005 
+ 00032652  0x00008ffd increase  0x00000001 , 0x00000011 
+ 00032653  0x00008ffe increase  0x00000001 , 0x00000012 
+ 00032654  0x00008fff loop  0x00007f88 
+ 00032655  0x00009000 force  0x00000000 , 0x0000003e 
+ 00032656  0x00009001 rtn 
+ 00032657  0x00009005 isub  0x00000002 , 0x0000003e 
+ 00032658  0x00009006 nrtn  0x00000002 
+ 00032659  0x00009007 deposit  0x00000002 
+ 00032660  0x00009008 rtn 
+ 00032661  0x0000900b iadd  0x00000002 , 0x0000003f 
+ 00032662  0x0000900c isub  0x00000002 , 0x00000002 
+ 00032663  0x0000900d isub  0x00000002 , 0x0000003f 
+ 00032664  0x0000900e rtn 
+ 00032665  0x00009011 arg  0x00000200 , 0x00000039 
+ 00032666  0x00009012 arg  0x00004000 , 0x00000005 
+ 00032667  0x00009013 branch  0x00007ec6 
+ 00032668  0x00009017 rtn  0x00000034 
+ 00032669  0x00009018 copy  0x0000003f , 0x0000003d 
+ 00032670  0x0000901c hfetch  0x00000002 , 0x0000810e 
+ 00032671  0x0000901d nbranch  0x00007f9e , 0x00000034 
+ 00032672  0x0000901e rtn 
+ 00032673  0x00009021 jam  0x00000001 , 0x00008203 
+ 00032674  0x00009022 rtn 
+ 00032675  0x00009025 hstore  0x00000002 , 0x00008205 
+ 00032676  0x00009026 hfetch  0x00000001 , 0x00008203 
+ 00032677  0x00009027 set1  0x00000004 , 0x0000003f 
+ 00032678  0x00009028 hstore  0x00000001 , 0x00008203 
+ 00032679  0x00009029 rtn 
+ 00032680  0x0000902b hstore  0x00000002 , 0x00008207 
+ 00032681  0x0000902c hfetch  0x00000001 , 0x00008203 
+ 00032682  0x0000902d set1  0x00000006 , 0x0000003f 
+ 00032683  0x0000902e hstore  0x00000001 , 0x00008203 
+ 00032684  0x0000902f rtn 
+ 00032685  0x00009032 hstore  0x00000002 , 0x00008205 
+ 00032686  0x00009033 jam  0x00000030 , 0x00008203 
+ 00032687  0x00009034 rtn 
+ 00032688  0x00009039 hfetch  0x00000001 , 0x00008043 
+ 00032689  0x0000903a set0  0x00000004 , 0x0000003f 
+ 00032690  0x0000903b hstore  0x00000001 , 0x00008043 
+ 00032691  0x0000903c rtn 
+ 00032692  0x0000903f hfetch  0x00000002 , 0x0000810e 
+ 00032693  0x00009040 arg  0x00000200 , 0x00000002 
+ 00032694  0x00009042 isub  0x00000002 , 0x0000003e 
+ 00032695  0x00009043 rtn 
+ 00032696  0x0000904a bpatchx  0x000000fe , 0x0000403f 
+ 00032697  0x0000904b ifetcht  0x00000008 , 0x00000011 
+ 00032698  0x0000904c and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032699  0x0000904d nbranch  0x00007fbe , 0x00000034 
+ 00032700  0x0000904e rshift8  0x00000002 , 0x0000003f 
+ 00032701  0x0000904f istore  0x00000008 , 0x00000011 
+ 00032702  0x00009051 increase  0x00000007 , 0x00000011 
+ 00032703  0x00009052 ifetch  0x00000001 , 0x00000011 
+ 00032704  0x00009053 nbranch  0x00002a8c , 0x00000034 
+ 00032705  0x00009054 fetch  0x00000001 , 0x00000a99 
+ 00032706  0x00009055 istore  0x00000001 , 0x00000011 
+ 00032707  0x00009056 rtn 
+ 00032708  0x0000905c bpatchx  0x000000ff , 0x0000403f 
+ 00032709  0x0000905d arg  0x00000008 , 0x00000039 
+ 00032710  0x0000905e ifetch  0x00000008 , 0x00000011 
+ 00032711  0x0000905f rtn  0x00000034 
+ 00032712  0x00009061 ifetch  0x00000001 , 0x00000011 
+ 00032713  0x00009062 nbranch  0x00007fcd , 0x00000034 
+ 00032714  0x00009063 increase  0x00000001 , 0x00000011 
+ 00032715  0x00009064 loop  0x00007fc8 
+ 00032716  0x00009065 branch  0x00002a8c 
+ 00032717  0x00009067 arg  0x00000000 , 0x00000002 
+ 00032718  0x00009068 istoret  0x00000001 , 0x00000011 
+ 00032719  0x00009069 rtn 
+ 00032720  0x0000906f ifetch  0x00000008 , 0x00000011 
+ 00032721  0x00009070 rtn 
+ 00032722  0x00009076 ifetch  0x00000001 , 0x00000011 
+ 00032723  0x00009077 rtn 
+ 00032724  0x0000907b ifetch  0x00000002 , 0x00000011 
+ 00032725  0x0000907c rtn 
+ 00032726  0x00009081 arg  0x00000000 , 0x00000002 
+ 00032727  0x00009083 fetch  0x00000001 , 0x00000006 
+ 00032728  0x00009084 loop  0x00007fd7 , 0x00000034 
+ 00032729  0x00009085 increase  0x00000001 , 0x00000002 
+ 00032730  0x00009086 loop  0x00007fd7 
+ 00032731  0x00009087 copy  0x00000002 , 0x0000003f 
+ 00032732  0x00009088 rtn 
+ 00032733  0x0000908b isub  0x00000002 , 0x0000003e 
+ 00032734  0x0000908c nrtn  0x00000002 
+ 00032735  0x0000908d copy  0x00000002 , 0x0000003f 
+ 00032736  0x0000908e rtn 
+ 00032737  0x00009092 force  0xffffffff , 0x0000003e 
+ 00032738  0x00009093 rtn 
+ 00032739  0x00009096 force  0x00000001 , 0x0000003e 
+ 00032740  0x00009097 rtn 
+ 00032741  0x00009099 force  0x00000000 , 0x0000003e 
+ 00032742  0x0000909a rtn 
+ 00032743  0x0000909d enable  0x00000028 
+ 00032744  0x0000909e rtn 
+ 00032745  0x000090a1 disable  0x00000028 
+ 00032746  0x000090a2 rtn 
+ 00032747  0x000090a5 enable  0x0000002c 
+ 00032748  0x000090a6 rtn 
+ 00032749  0x000090a9 disable  0x0000002c 
+ 00032750  0x000090aa rtn 
+ 00032751  0x000090ad setarg  0x00000001 
+ 00032752  0x000090ae rtn 
+ 00032753  0x000090b1 setarg  0x00000000 
+ 00032754  0x000090b2 rtn 
+ 00032755  0x000090b6 copy  0x00000039 , 0x0000003f 
+ 00032756  0x000090b7 rtn  0x00000034 
+ 00032757  0x000090b8 copy  0x00000006 , 0x0000003f 
+ 00032758  0x000090b9 iadd  0x00000039 , 0x0000003f 
+ 00032759  0x000090ba increase  0xffffffff , 0x0000003f 
+ 00032760  0x000090bb copy  0x0000003f , 0x00000006 
+ 00032761  0x000090bd ifetch  0x00000001 , 0x00000006 
+ 00032762  0x000090be increase  0xfffffffe , 0x00000006 
+ 00032763  0x000090bf istore  0x00000001 , 0x00000005 
+ 00032764  0x000090c0 loop  0x00007ff9 
+ 00032765  0x000090c1 rtn 
+ 00065537  0x000090c7 beq  0x00000000 , 0x00010003 
+ 00065538  0x000090c8 rtn 
+ 00065539  0x000090cb fetch  0x00000001 , 0x0000000e 
+ 00065540  0x000090cc increase  0x00000001 , 0x0000003f 
+ 00065541  0x000090cd store  0x00000001 , 0x0000000e 
+ 00065542  0x000090ce call  0x00002435 
+ 00065543  0x000090d0 set1  0x0000002c , 0x00000000 
+ 00065544  0x000090d1 call  0x000022f2 
+ 00065545  0x000090d2 branch  0x0001000e , 0x00000018 
+ 00065546  0x000090d3 set0  0x0000002c , 0x00000000 
+ 00065547  0x000090d4 call  0x00002455 
+ 00065548  0x000090d5 nbranch  0x00010007 , 0x00000034 
+ 00065549  0x000090d6 branch  0x000020fc 
+ 00065550  0x000090d8 set0  0x0000002c , 0x00000000 
+ 00065551  0x000090d9 branch  0x0000215f 
+ 00131073  0x000090e1 beq  0x00000010 , 0x00020004 
+ 00131074  0x000090e2 beq  0x00000011 , 0x00020015 
+ 00131075  0x000090e3 rtn 
+ 00131076  0x000090e6 jam  0x00000000 , 0x00004808 
+ 00131077  0x000090e7 jam  0x0000000e , 0x000041e3 
+ 00131078  0x000090e8 call  0x000041e7 
+ 00131079  0x000090e9 fetch  0x00000002 , 0x00004208 
+ 00131080  0x000090ea bbit1  0x00000007 , 0x000041f5 
+ 00131081  0x000090eb bbit1  0x00000000 , 0x000033a9 
+ 00131082  0x000090ec bbit1  0x00000001 , 0x0002000e 
+ 00131083  0x000090ed bbit1  0x00000002 , 0x00020011 
+ 00131084  0x000090ee bbit1  0x00000003 , 0x00020011 
+ 00131085  0x000090ef branch  0x000042b0 
+ 00131086  0x000090f2 bbit1  0x00000005 , 0x00020011 
+ 00131087  0x000090f3 bbit1  0x00000003 , 0x00020011 
+ 00131088  0x000090f4 branch  0x000042b0 
+ 00131089  0x000090f6 fetch  0x00000002 , 0x00004682 
+ 00131090  0x000090f7 bbit1  0x0000000c , 0x000042b0 
+ 00131091  0x000090f8 call  0x000033a9 
+ 00131092  0x000090fb branch  0x000033a7 
+ 00131093  0x000090ff fetch  0x00000002 , 0x00000264 
+ 00131094  0x00009100 copy  0x0000003f , 0x00000006 
+ 00131095  0x00009101 ifetch  0x00000001 , 0x00000006 
+ 00131096  0x00009102 store  0x00000001 , 0x00004b02 
+ 00131097  0x00009103 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00131098  0x00009104 rshift4  0x0000003f , 0x0000003f 
+ 00131099  0x00009105 beq  0x00000007 , 0x0002001e 
+ 00131100  0x00009106 beq  0x00000001 , 0x00020025 
+ 00131101  0x00009107 branch  0x00004d39 
+ 00131102  0x00009109 call  0x00004d53 
+ 00131103  0x0000910a jam  0x00000000 , 0x00004b03 
+ 00131104  0x0000910b fetch  0x00000001 , 0x00004b02 
+ 00131105  0x0000910c isolate1  0x00000000 , 0x0000003f 
+ 00131106  0x0000910d rtn  0x00000001 
+ 00131107  0x0000910e jam  0x00000001 , 0x00004b03 
+ 00131108  0x0000910f rtn 
+ 00131109  0x00009112 copy  0x00000002 , 0x0000003f 
+ 00131110  0x00009113 beq  0x00000005 , 0x0000048c 
+ 00131111  0x00009114 branch  0x00004d41 
+ 00196609  0x00009119 beq  0x00000020 , 0x00030003 
+ 00196610  0x0000911a rtn 
+ 00196611  0x0000911d disable  0x00000028 
+ 00196612  0x0000911e call  0x000062c1 
+ 00196613  0x00009121 fetch  0x00000001 , 0x00000048 
+ 00196614  0x00009122 rtn  0x00000034 
+ 00196615  0x00009123 bbit1  0x00000007 , 0x0003000d 
+ 00196616  0x00009124 beq  0x00000003 , 0x00030024 
+ 00196617  0x00009125 beq  0x00000031 , 0x00030019 
+ 00196618  0x00009126 beq  0x00000017 , 0x0003001b 
+ 00196619  0x00009127 beq  0x00000007 , 0x0003001d 
+ 00196620  0x00009128 branch  0x00006010 
+ 00196621  0x0000912a beq  0x00000084 , 0x00030010 
+ 00196622  0x0000912b beq  0x00000083 , 0x00030013 
+ 00196623  0x0000912c branch  0x0000603f 
+ 00196624  0x0000912e call  0x00030016 
+ 00196625  0x0000912f fetch  0x00000001 , 0x00000048 
+ 00196626  0x00009130 branch  0x00006099 
+ 00196627  0x00009132 call  0x00030016 
+ 00196628  0x00009133 fetch  0x00000001 , 0x00000048 
+ 00196629  0x00009134 branch  0x0000610d 
+ 00196630  0x00009136 fetch  0x00000001 , 0x0000465a 
+ 00196631  0x00009137 branch  0x0000612b , 0x00000034 
+ 00196632  0x00009138 branch  0x00006124 
+ 00196633  0x0000913b jam  0x00000001 , 0x00004b01 
+ 00196634  0x0000913c branch  0x000061c3 
+ 00196635  0x0000913f jam  0x00000004 , 0x00004b09 
+ 00196636  0x00009140 branch  0x000061a4 
+ 00196637  0x0000914d call  0x00006152 
+ 00196638  0x0000914e fetch  0x00000001 , 0x00004b55 
+ 00196639  0x0000914f rtn  0x00000034 
+ 00196640  0x00009150 fetch  0x00000001 , 0x0000004b 
+ 00196641  0x00009151 set0  0x00000003 , 0x0000003f 
+ 00196642  0x00009152 store  0x00000001 , 0x0000004b 
+ 00196643  0x00009153 branch  0x00000331 
+ 00196644  0x00009157 force  0x00000002 , 0x0000003f 
+ 00196645  0x00009158 call  0x00006298 
+ 00196646  0x00009159 fetch  0x00000001 , 0x00000049 
+ 00196647  0x0000915a istore  0x00000001 , 0x00000005 
+ 00196648  0x0000915b store  0x00000001 , 0x00004afc 
+ 00196649  0x0000915c call  0x000062a7 
+ 00196650  0x0000915d fetch  0x00000001 , 0x00004afc 
+ 00196651  0x0000915e beq  0x0000002e , 0x0003002d 
+ 00196652  0x0000915f branch  0x00006051 
+ 00196653  0x00009162 fetch  0x00000001 , 0x00004aff 
+ 00196654  0x00009163 rtn  0x00000034 
+ 00196655  0x00009164 jam  0x00000000 , 0x00004aff 
+ 00196656  0x00009165 fetch  0x00000001 , 0x00004b01 
+ 00196657  0x00009166 rtnne  0x00000002 
+ 00196658  0x00009167 jam  0x00000001 , 0x00004b00 
+ 00196659  0x00009168 copy  0x00000022 , 0x0000003f 
+ 00196660  0x00009169 store  0x00000004 , 0x000004e9 
+ 00196661  0x0000916a rtn 
+ 00262145  0x00009170 beq  0x00000030 , 0x00040003 
+ 00262146  0x00009171 rtn 
+ 00262147  0x00009174 call  0x000062bc 
+ 00262148  0x00009175 nrtn  0x00000034 
+ 00262149  0x00009177 fetch  0x00000001 , 0x00000055 
+ 00262150  0x00009178 rtn  0x00000034 
+ 00262151  0x00009179 beq  0x00000004 , 0x00040025 
+ 00262152  0x0000917a beq  0x00000010 , 0x0004000a 
+ 00262153  0x0000917b branch  0x00006320 
+ 00262154  0x0000917f fetch  0x00000001 , 0x0000455b 
+ 00262155  0x00009180 rtneq  0x00000000 
+ 00262156  0x00009181 beq  0x00000001 , 0x0004000e 
+ 00262157  0x00009182 branch  0x0000635f 
+ 00262158  0x00009184 rtn  0x00000029 
+ 00262159  0x00009187 fetch  0x00000001 , 0x0000016d 
+ 00262160  0x00009188 bbit1  0x00000000 , 0x00040012 
+ 00262161  0x00009189 branch  0x00006399 
+ 00262162  0x0000918b fetch  0x00000001 , 0x00004b01 
+ 00262163  0x0000918c beq  0x00000001 , 0x0000639d 
+ 00262164  0x0000918e fetch  0x00000001 , 0x000041bd 
+ 00262165  0x0000918f branch  0x000063a9 , 0x00000034 
+ 00262166  0x00009190 fetch  0x00000001 , 0x000004d1 
+ 00262167  0x00009191 rtnbit0  0x00000003 
+ 00262168  0x00009192 rtnbit0  0x00000002 
+ 00262169  0x00009193 fetch  0x00000001 , 0x00004b00 
+ 00262170  0x00009194 rtn  0x00000034 
+ 00262171  0x00009195 jam  0x00000000 , 0x00004b00 
+ 00262172  0x00009196 fetch  0x00000004 , 0x000004e9 
+ 00262173  0x00009197 arg  0x00000014 , 0x00000002 
+ 00262174  0x00009198 iadd  0x00000002 , 0x00000002 
+ 00262175  0x00009199 copy  0x00000022 , 0x0000003f 
+ 00262176  0x0000919a isub  0x00000002 , 0x0000003e 
+ 00262177  0x0000919b nbranch  0x00040023 , 0x00000002 
+ 00262178  0x0000919c branch  0x00006349 
+ 00262179  0x0000919f jam  0x00000001 , 0x00004b00 
+ 00262180  0x000091a0 rtn 
+ 00262181  0x000091a3 jam  0x00000014 , 0x00004809 
+ 00262182  0x000091a4 branch  0x0000636f 
+ 00327681  0x000091ad beq  0x00000040 , 0x00050004 
+ 00327682  0x000091ae beq  0x00000041 , 0x00050016 
+ 00327683  0x000091af rtn 
+ 00327684  0x000091b2 call  0x0005000c 
+ 00327685  0x000091b3 branch  0x0000557d 
+ 00327686  0x000091b5 fetch  0x00000001 , 0x000047c5 
+ 00327687  0x000091b6 store  0x00000001 , 0x00004172 
+ 00327688  0x000091b8 jam  0x00000000 , 0x000047c4 
+ 00327689  0x000091b9 rtn 
+ 00327690  0x000091bb jam  0x00000001 , 0x000047c4 
+ 00327691  0x000091bc rtn 
+ 00327692  0x000091be fetch  0x00000001 , 0x000043d6 
+ 00327693  0x000091bf sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00327694  0x000091c0 nbranch  0x0005000a , 0x00000002 
+ 00327695  0x000091c1 fetch  0x00000001 , 0x000043d8 
+ 00327696  0x000091c2 fetcht  0x00000001 , 0x000047c5 
+ 00327697  0x000091c3 isub  0x00000002 , 0x0000003e 
+ 00327698  0x000091c4 branch  0x00050006 , 0x00000002 
+ 00327699  0x000091c5 fetch  0x00000001 , 0x000043d8 
+ 00327700  0x000091c6 store  0x00000001 , 0x00004172 
+ 00327701  0x000091c7 branch  0x00050008 
+ 00327702  0x000091ca fetch  0x00000001 , 0x0000043f 
+ 00327703  0x000091cb rtnbit0  0x00000006 
+ 00327704  0x000091cc call  0x0005001b 
+ 00327705  0x000091cd nrtn  0x00000028 
+ 00327706  0x000091ce branch  0x000055a0 
+ 00327707  0x000091d0 enable  0x00000028 
+ 00327708  0x000091d1 fetch  0x00000001 , 0x0000045a 
+ 00327709  0x000091d2 rshift4  0x0000003f , 0x0000003f 
+ 00327710  0x000091d3 rtnne  0x0000000f 
+ 00327711  0x000091d4 fetch  0x00000001 , 0x00000460 
+ 00327712  0x000091d5 rshift4  0x0000003f , 0x0000003f 
+ 00327713  0x000091d6 rtnne  0x00000000 
+ 00327714  0x000091d7 branch  0x00007fe9 
+ 00393217  0x000091de beq  0x00000050 , 0x00060004 
+ 00393218  0x000091df beq  0x00000051 , 0x0006002d 
+ 00393219  0x000091e0 rtn 
+ 00393220  0x000091e4 call  0x000002f6 
+ 00393221  0x000091e5 jam  0x00000000 , 0x0000479c 
+ 00393222  0x000091e6 call  0x00000395 
+ 00393223  0x000091e7 fetch  0x00000002 , 0x00004682 
+ 00393224  0x000091e8 bbit1  0x0000000b , 0x00060011 
+ 00393225  0x000091eb call  0x000003a8 
+ 00393226  0x000091ec fetcht  0x00000002 , 0x000047c2 
+ 00393227  0x000091ed increase  0x00000001 , 0x00000002 
+ 00393228  0x000091ee storet  0x00000002 , 0x000047c2 
+ 00393229  0x000091ef storet  0x00000002 , 0x000044a1 
+ 00393230  0x000091f0 call  0x00000359 
+ 00393231  0x000091f1 random  0x0000003f 
+ 00393232  0x000091f2 store  0x00000001 , 0x000044a0 
+ 00393233  0x000091f4 setarg  0x00ed8e0e 
+ 00393234  0x000091f5 store  0x00000003 , 0x000044a3 
+ 00393235  0x000091f6 call  0x00003418 
+ 00393236  0x000091f7 fetch  0x00000002 , 0x00004687 
+ 00393237  0x000091f8 store  0x00000002 , 0x000046ac 
+ 00393238  0x000091f9 jam  0x00000005 , 0x00004b47 
+ 00393239  0x000091fa jam  0x00000006 , 0x0000016d 
+ 00393240  0x000091fb setarg  0x00000000 
+ 00393241  0x000091fc store  0x00000002 , 0x000046b0 
+ 00393242  0x000091fd store  0x00000002 , 0x000046ae 
+ 00393243  0x000091fe arg  0x00000007 , 0x00000007 
+ 00393244  0x000091ff call  0x000043ce 
+ 00393245  0x00009200 call  0x000043ca 
+ 00393246  0x00009201 fetch  0x00000001 , 0x00004092 
+ 00393247  0x00009202 isolate1  0x00000001 , 0x0000003f 
+ 00393248  0x00009203 call  0x00060026 , 0x00000001 
+ 00393249  0x00009204 fetch  0x00000001 , 0x00004092 
+ 00393250  0x00009205 isolate1  0x00000000 , 0x0000003f 
+ 00393251  0x00009206 call  0x00007ddd , 0x00000001 
+ 00393252  0x00009209 jam  0x00000000 , 0x00004b55 
+ 00393253  0x0000920a branch  0x000042c4 
+ 00393254  0x0000920d jam  0x00000000 , 0x0000479f 
+ 00393255  0x0000920e call  0x00000307 
+ 00393256  0x0000920f setarg  0x00000005 
+ 00393257  0x00009210 istore  0x00000001 , 0x00000006 
+ 00393258  0x00009211 arg  0x00004b10 , 0x00000006 
+ 00393259  0x00009212 call  0x0000059d 
+ 00393260  0x00009213 branch  0x00007df4 
+ 00393261  0x00009216 fetch  0x00000001 , 0x00004b5d 
+ 00393262  0x00009217 nrtn  0x00000034 
+ 00393263  0x00009218 fetch  0x00000001 , 0x00004b57 
+ 00393264  0x00009219 nbranch  0x00060037 , 0x00000034 
+ 00393265  0x0000921a jam  0x00000000 , 0x00004d39 
+ 00393266  0x0000921b call  0x000002f6 
+ 00393267  0x0000921c call  0x000001d0 
+ 00393268  0x0000921d jam  0x00000000 , 0x000041bd 
+ 00393269  0x0000921e call  0x000002c8 
+ 00393270  0x0000921f branch  0x0000340a 
+ 00393271  0x00009223 increase  0xffffffff , 0x0000003f 
+ 00393272  0x00009224 store  0x00000001 , 0x00004b57 
+ 00393273  0x00009225 branch  0x000003af 
+ 00458753  0x0000922b beq  0x00000060 , 0x00070004 
+ 00458754  0x0000922c beq  0x00000061 , 0x0007002b 
+ 00458755  0x0000922d rtn 
+ 00458756  0x00009230 set0  0x00000026 , 0x00000000 
+ 00458757  0x00009231 fetch  0x00000001 , 0x00004b57 
+ 00458758  0x00009232 and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00458759  0x00009233 ncall  0x00070021 , 0x00000034 
+ 00458760  0x00009234 call  0x0007001e , 0x00000034 
+ 00458761  0x00009235 fetch  0x00000001 , 0x00004c09 
+ 00458762  0x00009236 rtnne  0x000000ff 
+ 00458763  0x00009237 call  0x000001c7 
+ 00458764  0x0000923a nop  0x000007d0 
+ 00458765  0x0000923b call  0x00000518 
+ 00458766  0x0000923c fetch  0x00000001 , 0x00004b60 
+ 00458767  0x0000923d nbranch  0x000004fd , 0x00000034 
+ 00458768  0x0000923e fetch  0x00000001 , 0x00004c26 
+ 00458769  0x0000923f beq  0x00000070 , 0x000001a9 
+ 00458770  0x00009240 call  0x0000018b 
+ 00458771  0x00009241 nbranch  0x00070026 , 0x00000018 
+ 00458772  0x00009242 nbranch  0x00070026 , 0x0000002f 
+ 00458773  0x00009244 set1  0x00000026 , 0x00000000 
+ 00458774  0x00009245 setarg  0x00000000 
+ 00458775  0x00009246 store  0x00000002 , 0x00004c26 
+ 00458776  0x00009247 store  0x00000001 , 0x00004b5d 
+ 00458777  0x00009248 store  0x00000001 , 0x00004b57 
+ 00458778  0x00009249 jam  0x0000003c , 0x00000a99 
+ 00458779  0x0000924a call  0x00007d86 
+ 00458780  0x0000924c call  0x00000183 
+ 00458781  0x0000924d branch  0x000003ea 
+ 00458782  0x0000925d call  0x000002f6 
+ 00458783  0x0000925e fetch  0x00000004 , 0x0000477b 
+ 00458784  0x0000925f branch  0x00070023 
+ 00458785  0x00009262 jam  0x00000020 , 0x000041de 
+ 00458786  0x00009263 fetch  0x00000004 , 0x00004b51 
+ 00458787  0x00009265 store  0x00000004 , 0x00004c21 
+ 00458788  0x00009266 call  0x000001e7 
+ 00458789  0x00009267 branch  0x00000206 
+ 00458790  0x0000926b fetch  0x00000002 , 0x00004c26 
+ 00458791  0x0000926c increase  0x00000001 , 0x0000003f 
+ 00458792  0x0000926d store  0x00000002 , 0x00004c26 
+ 00458793  0x0000926e call  0x00000206 
+ 00458794  0x0000926f branch  0x0007000c 
+ 00458795  0x00009274 arg  0x00000003 , 0x00000007 
+ 00458796  0x00009275 call  0x000043ce 
+ 00458797  0x00009276 setarg  0x00000000 
+ 00458798  0x00009277 store  0x00000002 , 0x000046ae 
+ 00458799  0x00009278 store  0x00000001 , 0x000046b4 
+ 00458800  0x00009279 store  0x00000001 , 0x00004b57 
+ 00458801  0x0000927a store  0x00000002 , 0x00004c26 
+ 00458802  0x0000927b jam  0x000000c8 , 0x00004b5d 
+ 00458803  0x0000927c call  0x000042ca 
+ 00458804  0x0000927d branch  0x00070035 
+ 00458805  0x00009280 set1  0x00000026 , 0x00000000 
+ 00458806  0x00009281 call  0x00070039 
+ 00458807  0x00009283 jam  0x00000001 , 0x00004c09 
+ 00458808  0x00009284 rtn 
+ 00458809  0x00009287 jam  0x00000020 , 0x000041de 
+ 00458810  0x00009288 jam  0x00000000 , 0x00004bf8 
+ 00458811  0x00009289 jam  0x0000004e , 0x00004c03 
+ 00458812  0x0000928a fetch  0x00000004 , 0x00004c05 
+ 00458813  0x0000928b branch  0x000001e6 
+ 00524289  0x00009290 beq  0x00000070 , 0x00080003 
+ 00524290  0x00009291 rtn 
+ 00524291  0x00009294 set0  0x00000026 , 0x00000000 
+ 00524292  0x00009295 call  0x00080020 
+ 00524293  0x00009296 call  0x000001c7 
+ 00524294  0x00009299 nop  0x000007d0 
+ 00524295  0x0000929a fetch  0x00000001 , 0x00004c27 
+ 00524296  0x0000929b bbit1  0x00000002 , 0x000001a9 
+ 00524297  0x0000929c call  0x00000518 
+ 00524298  0x0000929d fetch  0x00000001 , 0x00004b60 
+ 00524299  0x0000929e nbranch  0x000004fd , 0x00000034 
+ 00524300  0x0000929f call  0x0000018b 
+ 00524301  0x000092a0 nbranch  0x0008001c , 0x00000018 
+ 00524302  0x000092a1 nbranch  0x0008001c , 0x0000002f 
+ 00524303  0x000092a2 call  0x000001b8 
+ 00524304  0x000092a3 call  0x000002f6 
+ 00524305  0x000092a4 fetch  0x00000004 , 0x00004c21 
+ 00524306  0x000092a5 fetcht  0x00000004 , 0x00004c05 
+ 00524307  0x000092a6 isub  0x00000002 , 0x0000003e 
+ 00524308  0x000092a7 branch  0x0008002a , 0x00000005 
+ 00524309  0x000092a8 set1  0x00000026 , 0x00000000 
+ 00524310  0x000092a9 setarg  0x00000000 
+ 00524311  0x000092aa store  0x00000002 , 0x00004c26 
+ 00524312  0x000092ab jam  0x0000003c , 0x00000a99 
+ 00524313  0x000092ac call  0x00007d86 
+ 00524314  0x000092ad call  0x00000183 
+ 00524315  0x000092ae branch  0x000003ea 
+ 00524316  0x000092be fetch  0x00000002 , 0x00004c26 
+ 00524317  0x000092bf increase  0x00000001 , 0x0000003f 
+ 00524318  0x000092c0 store  0x00000002 , 0x00004c26 
+ 00524319  0x000092c1 branch  0x00080006 
+ 00524320  0x000092cd jam  0x00000020 , 0x000041de 
+ 00524321  0x000092ce setarg  0x00000f0f 
+ 00524322  0x000092cf store  0x00000002 , 0x00004c21 
+ 00524323  0x000092d0 istore  0x00000002 , 0x00000005 
+ 00524324  0x000092d2 call  0x000001e7 
+ 00524325  0x000092d3 branch  0x00000206 
+ 00524326  0x000092d6 call  0x00080020 
+ 00524327  0x000092d7 branch  0x00080006 
+ 00524328  0x000092da call  0x0008002e 
+ 00524329  0x000092db branch  0x00080006 
+ 00524330  0x000092de set1  0x00000026 , 0x00000000 
+ 00524331  0x000092df call  0x0008002e 
+ 00524332  0x000092e1 jam  0x00000001 , 0x00004c09 
+ 00524333  0x000092e2 rtn 
+ 00524334  0x000092e5 jam  0x00000020 , 0x000041de 
+ 00524335  0x000092e6 jam  0x00000000 , 0x00004bf8 
+ 00524336  0x000092e7 jam  0x0000004e , 0x00004c03 
+ 00524337  0x000092e8 fetch  0x00000004 , 0x00004c05 
+ 00524338  0x000092e9 branch  0x000001e6 
+ 00589825  0x000092f2 beq  0x00000080 , 0x0009000a 
+ 00589826  0x000092f3 beq  0x00000081 , 0x00090004 
+ 00589827  0x000092f5 rtn 
+ 00589828  0x000092ff call  0x000068a2 
+ 00589829  0x00009300 fetch  0x00000002 , 0x0000421d 
+ 00589830  0x00009301 nbranch  0x00090008 , 0x00000034 
+ 00589831  0x00009302 setarg  0x00001122 
+ 00589832  0x00009304 store  0x00000002 , 0x000047c2 
+ 00589833  0x00009305 rtn 
+ 00589834  0x00009309 call  0x000000ec 
+ 00589835  0x0000930e call  0x00003e6e 
+ 00589836  0x00009310 fetcht  0x00000001 , 0x00004b43 
+ 00589837  0x00009311 call  0x0000680e 
+ 00589838  0x00009313 call  0x00003e1e 
+ 00589839  0x00009314 call  0x0009001a 
+ 00589840  0x00009315 setarg  0x00000000 
+ 00589841  0x00009316 store  0x00000002 , 0x00004154 
+ 00589842  0x00009317 call  0x000068a2 
+ 00589843  0x00009318 call  0x00003e54 
+ 00589844  0x00009319 call  0x00005810 
+ 00589845  0x0000931a call  0x00005839 
+ 00589846  0x0000931b call  0x0000582c 
+ 00589847  0x0000931c call  0x00005818 
+ 00589848  0x0000931d call  0x00000598 
+ 00589849  0x0000931e branch  0x00000346 
+ 00589850  0x00009322 call  0x000074b9 
+ 00589851  0x00009323 arg  0x00008c00 , 0x00000006 
+ 00589852  0x00009324 arg  0x00004876 , 0x00000005 
+ 00589853  0x00009325 arg  0x00000171 , 0x00000039 
+ 00589854  0x00009326 call  0x00007f01 
+ 00589855  0x00009328 setarg  0x000f0209 
+ 00589856  0x00009329 istore  0x00000003 , 0x00000005 
+ 00589857  0x0000932a setarg  0x00120009 
+ 00589858  0x0000932b istore  0x00000003 , 0x00000005 
+ 00589859  0x0000932d setarg  0x00100209 
+ 00589860  0x0000932e istore  0x00000003 , 0x00000005 
+ 00589861  0x0000932f setarg  0x00000009 
+ 00589862  0x00009330 istore  0x00000003 , 0x00000005 
+ 00589863  0x00009331 arg  0x00008d71 , 0x00000006 
+ 00589864  0x00009332 arg  0x00000109 , 0x00000039 
+ 00589865  0x00009333 call  0x00007f01 
+ 00589866  0x00009335 jam  0x00000000 , 0x0000488d 
+ 00589867  0x00009336 jam  0x0000006d , 0x00004885 
+ 00589868  0x00009337 setarg  0x0000401f 
+ 00589869  0x00009338 store  0x00000002 , 0x000049db 
+ 00589870  0x00009339 setarg  0x00006d04 
+ 00589871  0x0000933a store  0x00000002 , 0x00004a44 
+ 00589872  0x0000933b setarg  0x000016b0 
+ 00589873  0x0000933c store  0x00000002 , 0x00004a4a 
+ 00589874  0x0000933e setarg  0x00004876 
+ 00589875  0x0000933f store  0x00000002 , 0x00004575 
+ 00589876  0x00009340 rtn 
+ 00655361  0x00009347 beq  0x00000090 , 0x000a0005 
+ 00655362  0x00009348 beq  0x00000091 , 0x000a001f 
+ 00655363  0x00009349 beq  0x00000092 , 0x000a002f 
+ 00655364  0x0000934a rtn 
+ 00655365  0x0000934d fetch  0x00000001 , 0x00004bfe 
+ 00655366  0x0000934e beq  0x00000001 , 0x00007fe7 
+ 00655367  0x0000934f fetch  0x00000001 , 0x00004c09 
+ 00655368  0x00009350 beq  0x00000001 , 0x000a000c 
+ 00655369  0x00009351 beq  0x00000002 , 0x000a000f 
+ 00655370  0x00009352 beq  0x00000003 , 0x000a0012 
+ 00655371  0x00009353 branch  0x00002a8c 
+ 00655372  0x00009356 jam  0x00000011 , 0x00004c09 
+ 00655373  0x00009357 jam  0x000000aa , 0x0000119e 
+ 00655374  0x00009358 branch  0x000a0014 
+ 00655375  0x0000935a jam  0x00000012 , 0x00004c09 
+ 00655376  0x0000935b jam  0x00000055 , 0x0000119e 
+ 00655377  0x0000935c branch  0x000a0014 
+ 00655378  0x0000935e jam  0x00000013 , 0x00004c09 
+ 00655379  0x0000935f jam  0x00000022 , 0x0000119e 
+ 00655380  0x00009361 fetch  0x00000001 , 0x00004bfa 
+ 00655381  0x00009362 and_into  0x00000007 , 0x0000003f 
+ 00655382  0x00009363 store  0x00000001 , 0x0000119f 
+ 00655383  0x00009364 fetch  0x00000004 , 0x00004c30 
+ 00655384  0x00009365 store  0x00000004 , 0x000011a0 
+ 00655385  0x00009367 jam  0x00000000 , 0x000011a4 
+ 00655386  0x00009368 arg  0x0000119e , 0x00000011 
+ 00655387  0x00009369 arg  0x00000007 , 0x00000002 
+ 00655388  0x0000936a call  0x000001d4 
+ 00655389  0x0000936b call  0x00000148 
+ 00655390  0x0000936c branch  0x00007fe7 
+ 00655391  0x0000936f fetch  0x00000001 , 0x00004c09 
+ 00655392  0x00009370 rtneq  0x000000ff 
+ 00655393  0x00009371 beq  0x00000011 , 0x000a0025 
+ 00655394  0x00009372 beq  0x00000012 , 0x000a0027 
+ 00655395  0x00009373 beq  0x00000013 , 0x000a0029 
+ 00655396  0x00009374 rtn 
+ 00655397  0x00009377 jam  0x00000002 , 0x00004c09 
+ 00655398  0x00009378 branch  0x0000017c 
+ 00655399  0x0000937a jam  0x00000003 , 0x00004c09 
+ 00655400  0x0000937b branch  0x0000017c 
+ 00655401  0x0000937d jam  0x000000ff , 0x00004c09 
+ 00655402  0x0000937e jam  0x00000039 , 0x00000a99 
+ 00655403  0x0000937f call  0x00007d86 
+ 00655404  0x00009380 fetch  0x00000004 , 0x00004bd9 
+ 00655405  0x00009381 call  0x000001e6 
+ 00655406  0x00009382 branch  0x0000017c 
+ 00655407  0x00009386 call  0x000004a0 
+ 00655408  0x00009387 jam  0x00000001 , 0x0000478b 
+ 00655409  0x00009388 arg  0x00000003 , 0x00000007 
+ 00655410  0x00009389 call  0x000043d2 
+ 00655411  0x0000938a setarg  0x00000000 
+ 00655412  0x0000938b store  0x00000002 , 0x00004707 
+ 00655413  0x0000938c store  0x00000001 , 0x00004b57 
+ 00655414  0x0000938d jam  0x00000000 , 0x000046a7 
+ 00655415  0x0000938f call  0x0000405d 
+ 00655416  0x00009391 call  0x000002f6 
+ 00655417  0x00009393 fetch  0x00000004 , 0x00004c21 
+ 00655418  0x00009394 store  0x00000004 , 0x0000477b 
+ 00655419  0x00009396 branch  0x00000354 
+ 00720897  0x0000939c beq  0x000000a1 , 0x000b0006 
+ 00720898  0x0000939d beq  0x000000a2 , 0x000b0019 
+ 00720899  0x0000939e beq  0x000000a3 , 0x000b0012 
+ 00720900  0x0000939f beq  0x000000a4 , 0x000b0021 
+ 00720901  0x000093a0 rtn 
+ 00720902  0x000093a4 fetch  0x00000002 , 0x00004509 
+ 00720903  0x000093a5 rtneq  0x00000000 
+ 00720904  0x000093a6 fetch  0x00000001 , 0x00000441 
+ 00720905  0x000093a7 rshift2  0x0000003f , 0x0000003f 
+ 00720906  0x000093a8 sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00720907  0x000093a9 rtn  0x00000002 
+ 00720908  0x000093aa setarg  0x00000009 
+ 00720909  0x000093ab store  0x00000002 , 0x00004496 
+ 00720910  0x000093ac store  0x00000002 , 0x00004498 
+ 00720911  0x000093ad call  0x00000484 
+ 00720912  0x000093ae jam  0x00000001 , 0x000047c4 
+ 00720913  0x000093af rtn 
+ 00720914  0x000093b4 fetch  0x00000002 , 0x00004682 
+ 00720915  0x000093b5 rtnbit1  0x0000000c 
+ 00720916  0x000093b6 rtnbit1  0x00000006 
+ 00720917  0x000093b7 rtnbit1  0x0000000b 
+ 00720918  0x000093b8 fetch  0x00000004 , 0x000046d3 
+ 00720919  0x000093b9 rtnbit1  0x00000005 
+ 00720920  0x000093ba branch  0x000033a7 
+ 00720921  0x000093bd setarg  0x00000007 
+ 00720922  0x000093be store  0x00000002 , 0x00004496 
+ 00720923  0x000093bf store  0x00000002 , 0x00004498 
+ 00720924  0x000093c0 jam  0x00000000 , 0x000047c4 
+ 00720925  0x000093c1 jam  0x00000000 , 0x0000479c 
+ 00720926  0x000093c2 call  0x00000415 
+ 00720927  0x000093c3 call  0x00005816 
+ 00720928  0x000093c4 branch  0x000041d9 
+ 00720929  0x000093c8 enable  0x00000028 
+ 00720930  0x000093c9 hfetch  0x00000004 , 0x00008138 
+ 00720931  0x000093ca setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00720932  0x000093cb hstore  0x00000004 , 0x0000804c 
+ 00720933  0x000093cc call  0x00002c21 
+ 00720934  0x000093cd call  0x000074bd 
+ 00720935  0x000093ce call  0x000003e3 
+ 00720936  0x000093cf call  0x00003e9f 
+ 00720937  0x000093d0 call  0x000002c8 
+ 00720938  0x000093d2 call  0x0000039d 
+ 00720939  0x000093d3 hfetch  0x00000001 , 0x00008081 
+ 00720940  0x000093d4 and  0x0000003f , 0x000000f7 , 0x0000003f 
+ 00720941  0x000093d5 hstore  0x00000001 , 0x00008081 
+ 00720942  0x000093d6 hfetch  0x00000001 , 0x0000807e 
+ 00720943  0x000093d7 set1  0x00000006 , 0x0000003f 
+ 00720944  0x000093d8 hstore  0x00000001 , 0x0000807e 
+ 00720945  0x000093da hfetch  0x00000001 , 0x0000807f 
+ 00720946  0x000093db set1  0x00000000 , 0x0000003f 
+ 00720947  0x000093dc hstore  0x00000001 , 0x0000807f 
+ 00720948  0x000093dd fetcht  0x00000001 , 0x000046f3 
+ 00720949  0x000093de branch  0x000067ed 
+ 00786433  0x000093e4 beq  0x000000b0 , 0x000c0007 
+ 00786434  0x000093e5 beq  0x000000b1 , 0x000c0009 
+ 00786435  0x000093e6 beq  0x000000b2 , 0x000c000f 
+ 00786436  0x000093e7 beq  0x000000b3 , 0x000c0014 
+ 00786437  0x000093e8 beq  0x000000b4 , 0x000c001b 
+ 00786438  0x000093e9 rtn 
+ 00786439  0x000093ec call  0x00000415 
+ 00786440  0x000093ed branch  0x000041c3 
+ 00786441  0x000093f0 fetch  0x00000001 , 0x00004808 
+ 00786442  0x000093f1 rtneq  0x00000002 
+ 00786443  0x000093f2 increase  0x00000001 , 0x0000003f 
+ 00786444  0x000093f3 store  0x00000001 , 0x00004808 
+ 00786445  0x000093f4 jam  0x00000012 , 0x000041e3 
+ 00786446  0x000093f5 branch  0x0000340e 
+ 00786447  0x000093f8 fetch  0x00000001 , 0x00004808 
+ 00786448  0x000093f9 rtnne  0x00000002 
+ 00786449  0x000093fa jam  0x00000000 , 0x00004808 
+ 00786450  0x000093fb jam  0x0000000e , 0x000041e3 
+ 00786451  0x000093fc branch  0x0000340e 
+ 00786452  0x000093ff fetch  0x00000001 , 0x0000479f 
+ 00786453  0x00009400 beq  0x00000001 , 0x000c0017 
+ 00786454  0x00009401 branch  0x000c0019 
+ 00786455  0x00009403 call  0x00000484 
+ 00786456  0x00009404 jam  0x00000005 , 0x000046c6 
+ 00786457  0x00009406 arg  0x00000001 , 0x00000007 
+ 00786458  0x00009407 branch  0x000041b9 
+ 00786459  0x0000940a jam  0x00000000 , 0x00004aff 
+ 00786460  0x0000940b jam  0x00000000 , 0x00004b01 
+ 00786461  0x0000940c jam  0x00000000 , 0x00004b0a 
+ 00786462  0x0000940d branch  0x000041d9 
Index: ZJL_pm8_BLE&BT/output/bt_program23.list
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.list	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.list	(working copy)
@@ -0,0 +1,31662 @@
+              include "bt_format "
+              org 0x0000
+:      000070 p_start:
+0x0000 000071 branch p_patch_array 
+:      000074 p_zcode:
+:      000077 p_wake_from_power:
+0x0001 000078 call p_mouse_data_init 
+0x0002 000079 fetch 1 ,mem_tx_power 
+0x0003 000080 store 1 ,mem_tx_power_temp 
+0x0004 000081 call power_ctrl_pac_succ_cnt_init 
+0x0005 000082 fetch 1 ,mem_ui_button_timeout 
+0x0006 000083 store 1 ,mem_select_ui_button_count 
+0x0007 000084 fetch 1 ,mem_bt_ui_button_timeout 
+0x0008 000085 store 1 ,mem_bt_ui_button_count 
+0x0009 000086 call mouse_bt_discovery_button_down_disable 
+0x000a 000087 call p_mouse_spi_init 
+0x000b 000088 call p_drawing_optima_init 
+0x000c 000089 call p_mouse_cb_fuction 
+0x000d 000090 call p_mouse_wakeup_from_power 
+0x000e 000091 branch p_mouse_setting_config 
+:      000093 p_mouse_cb_fuction:
+0x000f 000094 setarg p_mouse_g24_package_data 
+0x0010 000095 store 2 ,mem_cb_24g_data 
+0x0011 000096 setarg p_mouse_le 
+0x0012 000097 store 2 ,mem_cb_le_process 
+0x0013 000098 setarg p_le_mouse_bb_event_connect_complete 
+0x0014 000099 store 2 ,mem_cb_att_write 
+0x0015 000100 setarg p_mouse_bt 
+0x0016 000101 store 2 ,mem_cb_bt_process 
+0x0017 000102 setarg p_mouse_before_lpm 
+0x0018 000103 store 2 ,mem_cb_before_lpm 
+0x0019 000104 setarg p_mouse_priority_bb_event 
+0x001a 000105 store 2 ,mem_cb_bb_event_process 
+0x001b 000106 setarg p_mouse_idle 
+0x001c 000107 store 2 ,mem_cb_idle_process 
+0x001d 000108 setarg p_mouse_before_hibernate 
+0x001e 000109 store 2 ,mem_cb_before_hibernate 
+0x001f 000110 setarg p_mouse_bb_event_timer 
+0x0020 000111 store 2 ,mem_cb_event_timer 
+0x0021 000112 rtn 
+:      000114 p_mouse_wakeup_from_power:
+0x0022 000115 setarg 25 
+0x0023 000116 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x0024 000117 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0x0025 000118 call p_mouse_init_sunt 
+0x0026 000119 call p_mouse_sensor_powerdown 
+:      000120 p_mouse_wakeup_no_from_power:
+0x0027 000121 fetch 1 ,mem_reconn_times_init 
+0x0028 000122 store 1 ,mem_reconn_times 
+0x0029 000123 rtn 
+:      000124 p_mouse_24g_transmit_by_interrupt_exit_count_max:
+0x002a 000125 setarg 375 
+0x002b 000126 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x002c 000127 rtn 
+0x002d 000129 nop 1 
+0x002e 000130 nop 1 
+0x002f 000131 nop 1 
+0x0030 000132 nop 1 
+0x0031 000133 nop 1 
+0x0032 000134 nop 1 
+0x0033 000135 nop 1 
+0x0034 000136 nop 1 
+0x0035 000137 nop 1 
+0x0036 000138 nop 1 
+0x0037 000139 nop 1 
+0x0038 000140 nop 1 
+0x0039 000141 nop 1 
+0x003a 000142 nop 1 
+0x003b 000143 nop 1 
+0x003c 000144 nop 1 
+0x003d 000145 nop 1 
+0x003e 000146 nop 1 
+0x003f 000147 nop 1 
+:      000149 p_patch_array:
+0x0040 000150 bbit1 8 ,pf_patch_ext 
+0x0041 000152 beq patch00_1 ,p_soft_reset_1 
+0x0042 000153 beq patch00_2 ,p_soft_reset_2 
+0x0043 000154 beq patch10_5 ,p_shutdown_radio 
+0x0044 000155 beq patch11_1 ,p_set_freq_tx 
+0x0045 000156 beq patch03_3 ,p_page_wait_fhs_reply_ok 
+0x0046 000157 beq patch04_6 ,p_role_switch_master 
+0x0047 000158 beq patch09_0 ,p_quit_connection_cont 
+0x0048 000159 beq patch09_2 ,p_prepare_tx 
+0x0049 000160 beq patch0a_1 ,p_slave_conn_recv_packet 
+0x004a 000161 beq patch0b_1 ,p_process_dmh 
+0x004b 000162 beq patch14_7 ,p_lpm_dispatch 
+0x004c 000163 beq patch15_5 ,p_lpm_set_mult 
+0x004d 000164 beq patch19_3 ,app_bt_start_reconnect + 3 
+0x004e 000165 beq patch1d_1 ,p_mouse_bb_disconnected 
+0x004f 000166 beq patch14_1 ,p_init_param 
+0x0050 000167 beq patch16_1 ,p_lpm_check_wake_lock 
+0x0051 000168 beq patch16_2 ,p_g24_dispatch 
+0x0052 000169 beq patch18_4 ,p_device_init 
+0x0053 000170 beq patch1c_6 ,p_mouse_motion 
+0x0054 000171 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0x0055 000172 beq patch1d_3 ,p_mouse_start_discovery 
+0x0056 000173 beq patch1d_4 ,p_mouse_stop_discovery 
+0x0057 000174 branch loop 
+:      000175 pf_patch_ext:
+0x0058 000176 beq patch27_1 ,p_le_slave_match 
+0x0059 000177 beq patch28_3 ,p_le_next_adv_channel 
+0x005a 000178 beq patch29_2 ,p_le_receive_skip 
+0x005b 000179 beq patch2a_7 ,p_le_update_param 
+0x005c 000180 beq patch2b_1 ,p_le_update_channel_map 
+0x005d 000181 beq patch2c_3 ,p_le_prepare_tx 
+0x005e 000182 beq patch2c_6 ,p_le_parse 
+0x005f 000183 beq patch2c_7 ,p_le_parse_l2cap 
+0x0060 000184 beq patch2d_2 ,p_le_adv_not_match 
+0x0061 000185 beq patch2e_7 ,p_le_lpm_setmult 
+0x0062 000186 beq patch20_5 ,p_hid_rx_process 
+0x0063 000187 beq patch30_0 ,p_parse_lmp_accepted 
+0x0064 000188 beq patch30_2 ,p_send_lmp 
+0x0065 000189 beq patch31_0 ,p_process_conn_sm 
+0x0066 000190 beq patch31_4 ,p_twspi_reset 
+0x0067 000191 beq patch31_5 ,p_spid_init 
+0x0068 000192 beq patch34_0 ,p_vdd_calculate_by_mode 
+0x0069 000193 beq patch3f_2 ,p_check_51cmd_once_continue 
+0x006a 000194 branch loop 
+:      000197 p_rssi_signal:
+0x006b 000198 copy pdata ,rega 
+0x006c 000199 fetcht 1 ,mem_rssi_signal_index 
+0x006d 000200 setarg mem_rssi_signal_buf 
+0x006e 000201 iadd temp ,contw 
+0x006f 000202 copy rega ,pdata 
+0x0070 000203 istore 1 ,contw 
+0x0071 000204 increase 1 ,temp 
+0x0072 000205 and_into rssi_buf_len_signal ,temp 
+0x0073 000206 storet 1 ,mem_rssi_signal_index 
+0x0074 000207 rtn 
+:      000209 p_soft_reset_1:
+0x0075 000210 arg mem_sp_state ,contw 
+0x0076 000211 arg 12 ,loopcnt 
+0x0077 000212 call clear_mem 
+0x0078 000213 call p_mouse_le_txbuff_load 
+0x0079 000214 call rfcomm_init 
+0x007a 000215 call init_lmp 
+0x007b 000216 ncall lpm_disable_exen_output ,wake 
+0x007c 000217 call ui_init + 1 
+0x007d 000218 branch soft_reset + 11 
+:      000220 p_soft_reset_2:
+0x007e 000221 call app_lpm_init ,wake 
+0x007f 000222 call publickey_init 
+0x0080 000223 call lpm_recover_clk ,wake 
+:      000224 p_sp_cal_loop:
+0x0081 000225 call sp_calc_sequence 
+0x0082 000226 fetch 1 ,mem_ssp_enable 
+0x0083 000227 branch main_loop ,blank 
+0x0084 000228 fetch 1 ,mem_sp_local_key_invalid 
+0x0085 000229 branch p_sp_cal_loop ,blank 
+0x0086 000230 branch main_loop 
+:      000232 p_init_param:
+0x0087 000233 setarg param_le_version 
+0x0088 000234 store 3 ,mem_lmp_version 
+0x0089 000235 setarg param_le_subversion 
+0x008a 000236 store 2 ,mem_lmp_version + 3 
+0x008b 000237 branch init_param + 12 
+:      000239 p_lpm_check_wake_lock:
+0x008c 000240 rtnmark1 mark_24g 
+0x008d 000241 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x008e 000242 beq 0 ,disable_blank 
+0x008f 000243 fetch 1 ,mem_mouse_le_conn_param_reject 
+0x0090 000244 beq le_lpm_disable ,disable_blank 
+0x0091 000245 fetch 2 ,mem_sdp_remote_cid 
+0x0092 000246 nbranch disable_blank ,blank 
+0x0093 000247 fetch 1 ,mem_mouse_wheel_trigger 
+0x0094 000248 nbranch disable_blank ,blank 
+0x0095 000249 branch enable_blank 
+:      000252 p_g24_dispatch:
+0x0096 000253 rtnmark0 mark_24g 
+0x0097 000254 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x0098 000255 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+:      000256 p_g24_transmit_process:
+0x0099 000257 call p_g24_txdata_prep 
+0x009a 000258 nbranch p_g24_nodata_transmit ,user 
+0x009b 000259 call p_g24_rf_sta_check 
+:      000260 p_g24_transmit_start:
+0x009c 000261 call p_g24_transmit_packet 
+0x009d 000262 fetch 1 ,mem_24g_pairing_sm 
+0x009e 000263 rtnne state_24g_pairing_success 
+0x009f 000264 call power_ctrl_start 
+0x00a0 000265 call g24_long_sleep_shorter_param_update 
+0x00a1 000266 fetch 1 ,mem_mouse_multi_led_state 
+0x00a2 000267 beq on ,p_g24_transmit_by_interrupt_enable 
+:      000268 p_g24_short_sleep:
+0x00a3 000269 call p_g24_lpm_wait 
+0x00a4 000270 nrtn user 
+0x00a5 000271 call p_clear_wake 
+0x00a6 000272 setarg 60500 
+:      000273 p_g24_enter_sleep:
+0x00a7 000274 call clk2lpo 
+0x00a8 000275 storet 4 ,mem_sleep_counter 
+0x00a9 000276 branch lpm_sleep 
+:      000278 g24_long_sleep_shorter_param_update:
+0x00aa 000281 setarg g24_long_sleep_step1 
+0x00ab 000282 store 3 ,mem_24g_enter_hibernate 
+0x00ac 000283 jam 20 ,mem_24g_long_sleep_param_update_timer 
+0x00ad 000284 rtn 
+:      000288 p_g24_transmit_by_interrupt:
+0x00ae 000289 call p_g24_timer_check 
+0x00af 000290 nrtn user 
+0x00b0 000291 call p_g24_interval_calibrate 
+0x00b1 000292 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b2 000293 increase 1 ,pdata 
+0x00b3 000294 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b4 000295 fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0x00b5 000296 isub temp ,null 
+0x00b6 000297 call p_g24_transmit_by_interrupt_exit ,zero 
+0x00b7 000298 branch p_g24_transmit_process 
+:      000299 p_g24_transmit_by_interrupt_exit:
+0x00b8 000300 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x00b9 000301 setarg 0 
+0x00ba 000302 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00bb 000303 setarg 100 
+0x00bc 000304 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+:      000305 p_g24_interval_min:
+0x00bd 000306 jam 0 ,mem_24g_pac_index 
+0x00be 000307 fetch 1 ,mem_24g_interval_min 
+0x00bf 000308 store 1 ,mem_24g_interval 
+0x00c0 000309 rtn 
+:      000310 p_g24_interval_max:
+0x00c1 000311 fetch 1 ,mem_24g_interval_max 
+0x00c2 000312 store 1 ,mem_24g_interval 
+0x00c3 000313 rtn 
+:      000314 p_g24_interval_calibrate:
+0x00c4 000315 fetch 1 ,mem_24g_pac_index 
+0x00c5 000316 increase 1 ,pdata 
+0x00c6 000317 store 1 ,mem_24g_pac_index 
+0x00c7 000318 beq 4 ,p_g24_interval_max 
+0x00c8 000319 beq 5 ,p_g24_interval_min 
+0x00c9 000320 rtn 
+:      000322 p_g24_nodata_transmit:
+0x00ca 000323 fetch 1 ,mem_24g_abort_pac 
+0x00cb 000324 call p_g24_send_abort_packet ,blank 
+:      000325 p_g24_long_sleep:
+0x00cc 000326 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x00cd 000327 sub pdata ,10 ,null 
+0x00ce 000328 rtn positive 
+0x00cf 000329 call p_g24_lpm_wait 
+0x00d0 000330 nrtn user 
+0x00d1 000331 fetch 3 ,mem_24g_enter_hibernate 
+0x00d2 000332 call clk2lpo 
+0x00d3 000333 storet 4 ,mem_sleep_counter 
+0x00d4 000334 branch lpm_sleep 
+:      000336 p_g24_lpm_wait:
+0x00d5 000337 enable user 
+0x00d6 000338 call lpo_calibration 
+0x00d7 000339 fetch 3 ,mem_clks_per_lpo 
+0x00d8 000340 branch disable_user ,blank 
+0x00d9 000341 fetch 1 ,mem_lpm_mode 
+0x00da 000342 branch disable_user ,blank 
+0x00db 000343 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x00dc 000344 beq g24_tx_timer_int_enable ,disable_user 
+0x00dd 000345 branch p_mouse_setgpio_lpm 
+:      000347 p_g24_send_abort_packet:
+0x00de 000348 jam 1 ,mem_24g_abort_pac 
+0x00df 000349 jam 0 ,mem_24g_rf_hop_ch 
+0x00e0 000350 call p_g24_transmit_rf_ctrl_clear 
+0x00e1 000351 store 1 ,mem_24g_txbuf 
+0x00e2 000352 setarg 0 
+0x00e3 000353 store 7 ,mem_24g_txbuf + 1 
+0x00e4 000354 fetch 4 ,mem_24g_device_addr 
+0x00e5 000355 store 4 ,mem_24g_txbuf + 8 
+0x00e6 000356 jam 12 ,mem_24g_datalen 
+0x00e7 000357 fetch 1 ,mem_24g_data_type 
+0x00e8 000358 set1 bit_abort ,pdata 
+0x00e9 000359 store 1 ,mem_24g_data_type 
+0x00ea 000360 call p_g24_txdata_enable_tx 
+0x00eb 000361 branch p_g24_transmit_start 
+:      000363 p_g24_set_device_addr:
+0x00ec 000364 fetch 4 ,mem_lap 
+0x00ed 000365 store 4 ,mem_24g_device_addr 
+0x00ee 000366 rtn 
+:      000368 p_g24_transmit_rf_sta_init:
+0x00ef 000369 jam 1 ,mem_24g_rf_last_sta 
+0x00f0 000370 jam 0 ,mem_24g_sync_cnt 
+:      000371 p_g24_transmit_rf_ctrl_clear:
+0x00f1 000372 fetch 1 ,mem_24g_data_type 
+0x00f2 000373 and_into bits_data ,pdata 
+0x00f3 000374 store 1 ,mem_24g_data_type 
+0x00f4 000375 rtn 
+:      000377 p_g24_hop_ch_enable:
+0x00f5 000378 fetch 1 ,mem_24g_data_type 
+0x00f6 000379 set1 bit_hop ,pdata 
+0x00f7 000380 store 1 ,mem_24g_data_type 
+0x00f8 000382 store 1 ,mem_24g_txpayload 
+0x00f9 000383 rtn 
+:      000384 p_g24_hop_ch_disable:
+0x00fa 000385 fetch 1 ,mem_24g_data_type 
+0x00fb 000386 set0 bit_hop ,pdata 
+0x00fc 000387 store 1 ,mem_24g_data_type 
+0x00fd 000388 store 1 ,mem_24g_txpayload 
+0x00fe 000389 call power_ctrl_pac_succ_decrs 
+0x00ff 000390 call p_g24_ch 
+0x0100 000391 rtn 
+:      000393 p_g24_transmit_hop_pac_fail:
+0x0101 000394 call power_ctrl_pac_succ_decrs 
+0x0102 000395 fetch 1 ,mem_24g_rf_work_stage 
+0x0103 000396 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0x0104 000397 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0x0105 000398 rtn 
+:      000399 p_g24_transmit_hop_pac_fail_wo_hop:
+0x0106 000400 jam 2 ,mem_24g_sync_cnt 
+:      000401 p_g24_transmit_hop_pac_fail_stage1:
+0x0107 000402 jam 0 ,mem_24g_hop_pac_retry 
+0x0108 000403 jam 0 ,mem_24g_rf_last_sta 
+0x0109 000404 branch p_g24_transmit_rf_ctrl_clear 
+:      000406 p_g24_transmit_hop_pac_fail_hop_stage2:
+0x010a 000407 jam 0 ,mem_24g_rf_hop_ch 
+0x010b 000408 branch p_g24_transmit_hop_pac_fail_stage1 
+:      000411 p_g24_transmit_pac_fail_hop_stage3:
+0x010c 000412 fetch 2 ,mem_24g_txfail_cnt 
+0x010d 000413 increase 1 ,pdata 
+0x010e 000414 store 2 ,mem_24g_txfail_cnt 
+0x010f 000415 bbit1 10 ,p_g24_tx_attempt_fail 
+0x0110 000416 fetch 1 ,mem_24g_rf_hop_ch 
+0x0111 000417 beq 1 ,p_g24_rf_hop_fastly 
+0x0112 000418 jam 1 ,mem_24g_rf_hop_ch 
+:      000419 p_g24_rf_hop_attemp_again:
+0x0113 000420 fetch 1 ,mem_24g_rf_hop_ch 
+0x0114 000421 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+:      000422 p_g24_rf_hop_fastly:
+0x0115 000423 fetch 1 ,mem_24g_hop_fastly_cnt 
+0x0116 000424 increase 1 ,pdata 
+0x0117 000425 store 1 ,mem_24g_hop_fastly_cnt 
+0x0118 000426 beq 4 ,p_g24_rf_hop_fastly_exit 
+0x0119 000427 call p_g24_ch 
+0x011a 000428 jam 2 ,mem_24g_max_retry 
+0x011b 000429 branch p_g24_transmit_packet 
+:      000431 p_g24_rf_hop_fastly_exit:
+0x011c 000432 call power_ctrl_pac_succ_decrs 
+0x011d 000433 jam 0 ,mem_24g_hop_fastly_cnt 
+0x011e 000434 branch p_g24_transmit_rf_ctrl_clear 
+:      000436 p_g24_transmit_hop_pac_succ_wo_hop:
+0x011f 000437 jam 2 ,mem_24g_sync_cnt 
+:      000438 p_g24_transmit_hop_pac_succ:
+0x0120 000439 jam 1 ,mem_24g_rf_last_sta 
+0x0121 000440 jam 0 ,mem_24g_rf_hop_ch 
+0x0122 000441 branch p_g24_transmit_rf_ctrl_clear 
+:      000443 p_g24_transmit_succ_rf_config:
+0x0123 000444 fetch 1 ,mem_24g_rf_work_stage 
+0x0124 000445 beq 3 ,p_g24_transmit_hop_pac_succ 
+0x0125 000446 fetch 1 ,mem_24g_data_type 
+0x0126 000447 isolate0 bit_hop ,pdata 
+0x0127 000448 branch p_g24_transmit_rf_sta_init ,true 
+0x0128 000449 fetch 1 ,mem_24g_rf_work_stage 
+0x0129 000450 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0x012a 000451 beq 2 ,p_g24_transmit_hop_pac_succ 
+0x012b 000452 rtn 
+:      000454 p_g24_rf_sta_check:
+0x012c 000455 fetch 1 ,mem_24g_pairing_sm 
+0x012d 000456 rtnne state_24g_pairing_success 
+0x012e 000457 call p_g24_rf_laststa_synccnt_check 
+0x012f 000458 ncall p_g24_rf_sync_cnt_check ,user2 
+0x0130 000459 rtn 
+:      000461 p_g24_rf_laststa_synccnt_check:
+0x0131 000462 disable user2 
+0x0132 000463 fetch 1 ,mem_24g_rf_last_sta 
+0x0133 000464 rtnne 1 
+0x0134 000465 fetch 1 ,mem_24g_sync_cnt 
+0x0135 000466 rtnne 0 
+0x0136 000467 jam 1 ,mem_24g_rf_work_stage 
+0x0137 000468 jam 4 ,mem_24g_max_retry 
+0x0138 000469 branch enable_user2 
+:      000471 p_g24_rf_sync_cnt_check:
+0x0139 000472 fetch 1 ,mem_24g_sync_cnt 
+0x013a 000473 branch p_g24_rf_hop_attemp ,blank 
+0x013b 000474 increase -1 ,pdata 
+0x013c 000475 store 1 ,mem_24g_sync_cnt 
+0x013d 000476 jam 2 ,mem_24g_rf_work_stage 
+0x013e 000477 jam 4 ,mem_24g_max_retry 
+0x013f 000478 branch p_g24_ch 
+:      000480 p_g24_rf_hop_attemp:
+0x0140 000481 jam 3 ,mem_24g_rf_work_stage 
+0x0141 000482 fetch 1 ,mem_24g_rf_hop_ch 
+0x0142 000483 nbranch p_g24_rf_hop_attemp_again ,blank 
+0x0143 000484 jam 2 ,mem_24g_max_retry 
+0x0144 000485 branch p_g24_ch 
+:      000487 p_g24_txdata_prep:
+0x0145 000488 fetch 1 ,mem_24g_pairing_sm 
+0x0146 000489 bne state_24g_pairing_success ,p_g24_pairing_sm 
+:      000490 p_g24_txdata_prep_packeage_data:
+0x0147 000491 call p_g24_package_data 
+:      000492 p_g24_txdata_enable_tx:
+0x0148 000493 call p_g24_transmit_prep 
+0x0149 000494 jam ensure_on_24g ,mem_24g_ensure 
+0x014a 000495 rtn 
+:      000497 p_g24_package_data:
+0x014b 000498 fetch 2 ,mem_cb_24g_data 
+0x014c 000499 call callback_func 
+0x014d 000500 branch p_g24_accumulate_mouse_data ,user 
+0x014e 000501 fetch 7 ,mem_24g_txbuf + 1 
+0x014f 000502 rtn blank 
+0x0150 000503 branch enable_user 
+:      000504 p_g24_accumulate_mouse_data:
+0x0151 000505 call p_mouse_24g_no_data_timer_init 
+0x0152 000506 call p_mouse_data_xy_release 
+0x0153 000507 jam 0 ,mem_24g_abort_pac 
+0x0154 000508 add rega ,1 ,pdata 
+0x0155 000509 store 1 ,mem_24g_datalen 
+0x0156 000510 call p_g24_transmit_rf_ctrl_clear 
+0x0157 000511 store 1 ,mem_24g_txbuf 
+0x0158 000512 ifetcht 1 ,contw 
+0x0159 000513 ifetch 1 ,regb 
+0x015a 000514 ior temp ,pdata 
+0x015b 000515 istore 1 ,contw 
+0x015c 000516 increase 1 ,regb 
+0x015d 000517 ifetch 4 ,regb 
+0x015e 000518 istore 4 ,contw 
+0x015f 000519 increase 4 ,regb 
+0x0160 000520 arg mem_24g_txbuf + 6 ,contw 
+0x0161 000521 arg 2 ,loopcnt 
+:      000522 p_g24_accumulation_loop:
+0x0162 000523 ifetch 1 ,regb 
+0x0163 000524 ifetcht 1 ,contw 
+0x0164 000525 iadd temp ,pdata 
+0x0165 000526 istore 1 ,contw 
+0x0166 000527 increase 1 ,regb 
+0x0167 000528 loop p_g24_accumulation_loop 
+0x0168 000529 rtn 
+:      000531 p_g24_transmit_packet:
+0x0169 000532 jam 0 ,mem_24g_retry 
+:      000533 p_g24_transmit_loop:
+0x016a 000534 arg param_rx_setup ,timeup 
+0x016b 000535 until clkn_rt ,meet 
+0x016c 000536 call p_g24_transmit_receive_ack 
+0x016d 000537 fetch 1 ,mem_24g_no_ack 
+0x016e 000538 rtneq no_ack_24g 
+0x016f 000539 nbranch p_g24_retransmit ,sync 
+0x0170 000540 nbranch p_g24_retransmit ,user3 
+0x0171 000541 call p_g24_txbuf_clear 
+0x0172 000542 call p_g24_ackpayload_parse 
+0x0173 000543 call power_ctrl_pac_succ_incrs 
+:      000544 p_g24_transmit_next_packet:
+0x0174 000545 jam 0 ,mem_retry_count 
+0x0175 000546 fetch 1 ,mem_24g_pid 
+0x0176 000547 increase 1 ,pdata 
+0x0177 000548 store 1 ,mem_24g_pid 
+0x0178 000549 call p_g24_hop_enable_packet 
+0x0179 000550 fetch 1 ,mem_24g_pairing_sm 
+0x017a 000551 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0x017b 000552 call p_g24_transmit_succ_rf_config 
+:      000553 p_g24_transmit_abandon:
+0x017c 000554 setarg 0 
+0x017d 000555 store 2 ,mem_24g_txfail_cnt 
+0x017e 000556 store 1 ,mem_24g_get_ack_fail 
+0x017f 000557 store 1 ,mem_24g_hop_pac_retry 
+0x0180 000558 store 1 ,mem_mouse_24g_pair_timer 
+0x0181 000559 jam ensure_off_24g ,mem_24g_ensure 
+0x0182 000560 rtn 
+:      000562 p_g24_txbuf_clear:
+0x0183 000563 arg 4 ,loopcnt 
+0x0184 000564 arg mem_24g_txbuf ,contw 
+0x0185 000565 branch memset0 
+:      000567 p_g24_hop_enable_packet:
+0x0186 000568 fetch 1 ,mem_24g_data_type 
+0x0187 000569 bbit1 bit_hop ,p_g24_hop_ch_disable 
+0x0188 000570 rtn 
+:      000573 p_g24_paring_mode_start:
+0x0189 000574 call power_ctrl_pac_succ_cnt_init 
+0x018a 000575 branch p_g24_paring_mode 
+:      000577 p_g24_transmit_receive_ack:
+0x018b 000578 disable user3 
+0x018c 000579 call p_g24_transmit 
+0x018d 000582 fetch 1 ,mem_24g_no_ack 
+0x018e 000583 beq no_ack_24g ,p_g24_transmit_no_ack 
+0x018f 000584 force 0 ,radio_ctrl 
+0x0190 000585 fetch 4 ,mem_24g_addr 
+0x0191 000586 iforce access 
+0x0192 000587 fetcht 1 ,mem_last_freq 
+0x0193 000588 call set_freq_rx 
+0x0194 000589 call rf_rx_enable 
+0x0195 000590 call p_g24_receive_rxon 
+0x0196 000591 call p_g24_end_of_packet ,user3 
+0x0197 000592 rtn 
+:      000593 p_g24_transmit_no_ack:
+0x0198 000594 call p_g24_end_of_packet 
+0x0199 000595 branch p_g24_transmit_next_packet 
+:      000597 p_g24_retransmit:
+0x019a 000599 fetch 1 ,mem_24g_abort_pac 
+0x019b 000600 nrtn blank 
+0x019c 000602 fetch 2 ,mem_24g_txfail_cnt 
+0x019d 000603 increase 1 ,pdata 
+0x019e 000604 store 2 ,mem_24g_txfail_cnt 
+0x019f 000605 fetch 1 ,mem_24g_txfail_cnt + 1 
+0x01a0 000606 bbit1 4 ,p_g24_stop_g24_mode 
+0x01a1 000608 fetch 1 ,mem_24g_pairing_sm 
+0x01a2 000609 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0x01a3 000611 call p_g24_tx_hop_ch_process 
+0x01a4 000612 branch p_g24_transmit_loop 
+:      000614 p_g24_tx_paring_retry:
+0x01a5 000615 fetch 1 ,mem_24g_txfail_cnt 
+0x01a6 000616 rtnne 0xff 
+:      000617 p_g24_tx_attempt_fail:
+0x01a7 000618 setarg 0 
+0x01a8 000619 store 2 ,mem_24g_txfail_cnt 
+:      000620 p_g24_stop_g24_mode:
+0x01a9 000621 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x01aa 000622 branch ui_ipc_send_event 
+:      000624 p_g24_tx_fast_hop:
+0x01ab 000625 call power_ctrl_txpower_incrs 
+0x01ac 000626 call power_ctrl_pac_succ_decrs 
+0x01ad 000627 branch p_g24_ch 
+:      000629 p_g24_tx_hop_ch_process:
+0x01ae 000630 fetch 1 ,mem_24g_retry 
+0x01af 000631 sub pdata ,11 ,null 
+0x01b0 000632 nbranch p_g24_tx_fast_hop ,positive 
+0x01b1 000633 increase 1 ,pdata 
+0x01b2 000634 store 1 ,mem_24g_retry 
+0x01b3 000635 beq 2 ,p_g24_hop_ch_enable 
+0x01b4 000636 beq 6 ,p_g24_hop_ch_disable 
+0x01b5 000637 beq 8 ,p_g24_hop_ch_enable 
+0x01b6 000638 beq 12 ,p_g24_hop_ch_disable 
+0x01b7 000639 rtn 
+:      000641 p_g24_ackpayload_parse:
+0x01b8 000642 call p_g24_read_len_pid_crc 
+0x01b9 000643 fetch 1 ,mem_24g_rxdata_length 
+0x01ba 000644 rtn blank 
+0x01bb 000645 iforce loopcnt 
+0x01bc 000646 arg mem_24g_rxbuf + 2 ,contr 
+0x01bd 000647 arg mem_24g_rxpayload ,contw 
+0x01be 000648 branch memcpy 
+:      000650 p_g24_pairing_sm:
+0x01bf 000651 jam zcode_90 ,mem_zcode_temp_param0 
+0x01c0 000652 branch p_zcode_entrance 
+:      000654 p_g24_paring_mode:
+0x01c1 000655 jam zcode_91 ,mem_zcode_temp_param0 
+0x01c2 000656 branch p_zcode_entrance 
+:      000658 p_g24_start_24g_mode:
+0x01c3 000659 jam zcode_60 ,mem_zcode_temp_param0 
+0x01c4 000660 branch p_zcode_entrance 
+:      000662 p_g24_auto_pair_start:
+0x01c5 000663 jam zcode_70 ,mem_zcode_temp_param0 
+0x01c6 000664 branch p_zcode_entrance 
+:      000667 p_g24_tx_attemp_data_prep:
+0x01c7 000668 jam 0xff ,mem_24g_common_temp 
+0x01c8 000669 fetch 1 ,mem_24g_data_type 
+0x01c9 000670 store 1 ,mem_24g_common_temp + 1 
+0x01ca 000671 fetch 4 ,mem_24g_device_addr 
+0x01cb 000672 store 4 ,mem_24g_common_temp + 2 
+0x01cc 000673 arg 6 ,temp 
+0x01cd 000674 arg mem_24g_common_temp ,rega 
+0x01ce 000675 call p_g24_put_data_in_buff 
+0x01cf 000676 branch p_g24_transmit_prep 
+:      000679 p_g24_check_51cmd_stop_24g:
+0x01d0 000680 set0 mark_24g ,mark 
+0x01d1 000681 call le_disable 
+:      000682 p_mouse_disable_g24_pairing_flag:
+0x01d2 000683 arg mosue_24g_pairing_flag ,queue 
+0x01d3 000684 branch mouse_disable_function_flag 
+:      000686 p_g24_put_data_in_buff:
+0x01d4 000687 storet 1 ,mem_24g_datalen 
+0x01d5 000688 copy temp ,loopcnt 
+0x01d6 000689 arg mem_24g_txbuf ,contw 
+0x01d7 000690 copy rega ,contr 
+0x01d8 000691 branch memcpy 
+:      000693 p_g24_read_len_pid_crc:
+0x01d9 000695 fetch 1 ,mem_24g_rxbuf + 1 
+0x01da 000696 rshift3 pdata ,pdata 
+0x01db 000697 store 1 ,mem_24g_rxdata_length 
+0x01dc 000699 increase 1 ,pdata 
+0x01dd 000700 arg mem_24g_rxbuf + 1 ,contr 
+0x01de 000701 iadd contr ,contr 
+0x01df 000702 ifetch 3 ,contr 
+0x01e0 000703 store 3 ,mem_24g_sta_crc 
+0x01e1 000705 fetch 1 ,mem_24g_rxbuf + 1 
+0x01e2 000706 rshift pdata ,pdata 
+0x01e3 000707 and pdata ,0x03 ,pdata 
+0x01e4 000708 store 1 ,mem_24g_sta_pid 
+0x01e5 000709 rtn 
+:      000711 p_g24_update_addr_and_synccrc8:
+0x01e6 000712 store 4 ,mem_24g_addr 
+:      000714 p_g24_syncword_crc8:
+0x01e7 000715 arg 0 ,rega 
+0x01e8 000716 arg 4 ,loopcnt 
+0x01e9 000717 arg mem_24g_addr ,contr 
+:      000718 p_g24_syncword_crc8_loop:
+0x01ea 000719 ifetch 1 ,contr 
+0x01eb 000720 iadd rega ,rega 
+0x01ec 000721 loop p_g24_syncword_crc8_loop 
+0x01ed 000722 copy rega ,pdata 
+0x01ee 000723 store 2 ,mem_24g_syncword 
+0x01ef 000724 fetch 1 ,mem_24g_syncword 
+0x01f0 000725 fetcht 1 ,mem_24g_syncword + 1 
+0x01f1 000726 iadd temp ,pdata 
+0x01f2 000727 store 1 ,mem_24g_syncword_crc8 
+0x01f3 000728 rtn 
+:      000730 p_g24_transmit_prep:
+0x01f4 000733 fetch 1 ,mem_24g_datalen 
+0x01f5 000734 increase 2 ,pdata 
+0x01f6 000735 store 1 ,mem_24g_txlen 
+0x01f7 000737 fetch 1 ,mem_24g_data_type 
+0x01f8 000738 store 1 ,mem_24g_txpayload 
+0x01f9 000740 fetch 1 ,mem_24g_datalen 
+0x01fa 000741 lshift3 pdata ,pdata 
+0x01fb 000742 fetcht 1 ,mem_24g_pid 
+0x01fc 000743 and temp ,0x03 ,temp 
+0x01fd 000744 lshift temp ,temp 
+0x01fe 000745 ior temp ,pdata 
+0x01ff 000746 fetcht 1 ,mem_24g_no_ack 
+0x0200 000747 iadd temp ,pdata 
+0x0201 000748 istore 1 ,contw 
+0x0202 000750 fetch 1 ,mem_24g_datalen 
+0x0203 000751 iforce loopcnt 
+0x0204 000752 arg mem_24g_txbuf ,contr 
+0x0205 000753 branch memcpy 
+:      000755 p_g24_ch:
+0x0206 000756 fetcht 1 ,mem_24g_current_ch_number 
+0x0207 000757 call p_g24_ch_map_size 
+0x0208 000758 storet 1 ,mem_24g_current_ch_number 
+0x0209 000759 rtn 
+:      000761 p_g24_ch_map_size:
+0x020a 000762 call p_g24_ch_calc 
+0x020b 000763 increase 1 ,temp 
+0x020c 000764 and_into 3 ,temp 
+0x020d 000765 rtn 
+:      000767 p_g24_ch_calc:
+0x020e 000768 fetch 1 ,mem_24g_addr 
+0x020f 000769 and_into 0x03 ,pdata 
+0x0210 000770 mul32 pdata ,4 ,rega 
+0x0211 000771 setarg mem_24g_ch_map1 
+0x0212 000772 iadd rega ,pdata 
+0x0213 000773 iadd temp ,contr 
+0x0214 000774 ifetch 1 ,contr 
+0x0215 000775 store 1 ,mem_24g_ch 
+0x0216 000776 rtn 
+:      000778 p_g24_prep:
+0x0217 000779 disable enable_crc 
+0x0218 000780 disable enable_white 
+0x0219 000781 setarg 0x555555 
+0x021a 000782 iforce crc24_init 
+0x021b 000783 fetch 1 ,mem_24g_ch 
+0x021c 000784 reverse pdata ,temp 
+0x021d 000785 set1 1 ,temp 
+0x021e 000786 rshift temp ,white_init 
+0x021f 000787 rtn 
+:      000789 p_g24_receive_packet:
+0x0220 000790 call le_enable 
+0x0221 000791 fetch 4 ,mem_24g_addr 
+0x0222 000792 iforce access 
+0x0223 000793 call set_sync_on 
+0x0224 000794 fetcht 1 ,mem_24g_ch 
+0x0225 000795 call set_freq_rx 
+0x0226 000796 setarg param_pll_setup 
+0x0227 000797 call sleep 
+0x0228 000798 call rf_rx_enable 
+:      000799 p_g24_receive_rxon:
+0x0229 000802 call p_g24_prep 
+0x022a 000803 disable user3 
+0x022b 000804 enable decode_fec0 
+0x022c 000805 enable is_rx 
+0x022d 000806 disable is_tx 
+0x022e 000807 enable swfine 
+0x022f 000808 fetch 2 ,mem_24g_rx_window 
+0x0230 000809 iforce stop_watch 
+0x0231 000810 correlate null ,timeout 
+0x0232 000811 nbranch p_g24_sync_timeout ,sync 
+0x0233 000814 disable decode_fec0 
+0x0234 000815 enable decode_fec1 
+0x0235 000816 enable enable_white 
+0x0236 000817 enable enable_crc 
+0x0237 000818 call p_g24_receive_byte 
+0x0238 000819 store 1 ,mem_24g_get_syncword_crc8 
+0x0239 000820 fetcht 1 ,mem_24g_syncword_crc8 
+0x023a 000821 isub temp ,null 
+0x023b 000822 nbranch p_g24_end_of_packet ,zero 
+0x023c 000823 call p_g24_receive_byte 
+0x023d 000824 store 1 ,mem_24g_rxbuf 
+0x023e 000825 fetch 1 ,mem_24g_mode 
+0x023f 000826 sub pdata ,rx_24g ,null 
+0x0240 000827 branch p_g24_receive_skip ,zero 
+0x0241 000828 fetch 1 ,mem_24g_rxbuf 
+0x0242 000829 fetcht 1 ,mem_24g_data_type 
+0x0243 000830 icompare bits_data ,temp 
+0x0244 000831 nbranch p_g24_end_of_packet ,true 
+:      000832 p_g24_receive_skip:
+0x0245 000833 call p_g24_receive_byte 
+0x0246 000834 istore 1 ,contw 
+0x0247 000835 rshift3 pdata ,pdata 
+0x0248 000836 and pdata ,0x1f ,loopcnt 
+0x0249 000837 branch p_g24rx_nopayload ,zero 
+:      000838 p_g24rx_loop:
+0x024a 000839 call p_g24_receive_byte 
+0x024b 000840 istore 1 ,contw 
+0x024c 000841 loop p_g24rx_loop 
+:      000842 p_g24rx_nopayload:
+0x024d 000844 copy contw ,rega 
+0x024e 000845 call p_g24_receive_byte 
+0x024f 000846 store 1 ,mem_rssi_hex_received 
+0x0250 000847 copy rega ,contw 
+0x0251 000848 parse demod ,bucket ,24 
+0x0252 000849 enable swfine 
+0x0253 000850 arg param_sifs ,stop_watch 
+0x0254 000851 rshift32 pdata ,pdata 
+0x0255 000852 rshift16 pdata ,pdata 
+0x0256 000853 istore 3 ,contw 
+0x0257 000854 disable decode_fec1 
+0x0258 000855 branch p_g24_end_of_packet ,crc_failed 
+0x0259 000858 enable user3 
+0x025a 000859 fetch 1 ,mem_last_freq 
+0x025b 000860 add pdata ,0 ,rega 
+0x025c 000861 call rf_write_freq 
+0x025d 000862 disable decode_fec0 
+0x025e 000863 call set_sync_on 
+0x025f 000864 fetch 1 ,mem_rssi_hex_received 
+0x0260 000865 call p_rssi_signal 
+0x0261 000866 rtn 
+:      000868 p_g24_receive_byte:
+0x0262 000869 parse demod ,bucket ,8 
+0x0263 000870 rshift3 pwindow ,pdata 
+0x0264 000871 rtn 
+:      000873 p_g24_end_of_packet:
+0x0265 000874 disable encode_fec1 
+0x0266 000875 disable decode_fec1 
+0x0267 000876 call end_of_packet 
+0x0268 000877 rtn 
+:      000879 p_g24_sync_timeout:
+0x0269 000880 branch p_g24_end_of_packet 
+:      000882 p_g24_set_freq_tx:
+0x026a 000883 call set_sync_on 
+0x026b 000884 fetcht 1 ,mem_24g_ch 
+0x026c 000885 branch set_freq_tx 
+:      000887 p_g24_transmit:
+0x026d 000888 call le_enable 
+0x026e 000889 fetch 4 ,mem_24g_addr 
+0x026f 000890 iforce access 
+0x0270 000891 call p_g24_prep 
+0x0271 000892 call p_g24_set_freq_tx 
+0x0272 000893 set1 txgfsk ,radio_ctrl 
+0x0273 000894 enable encode_fec0 
+0x0274 000895 enable is_tx 
+0x0275 000896 disable is_rx 
+0x0276 000899 rshift16 access ,pdata 
+0x0277 000900 rshift8 pdata ,pdata 
+0x0278 000901 rshift4 pdata ,pdata 
+0x0279 000902 inject mod ,40 
+0x027a 000903 disable encode_fec0 
+0x027b 000904 enable encode_fec1 
+0x027c 000905 enable enable_white 
+0x027d 000906 enable enable_crc 
+0x027e 000907 fetch 1 ,mem_24g_syncword_crc8 
+0x027f 000908 inject mod ,8 
+0x0280 000909 fetch 1 ,mem_24g_txlen 
+0x0281 000910 iforce loopcnt 
+0x0282 000911 arg mem_24g_txpayload ,contr 
+:      000912 p_g24tr_loop:
+0x0283 000913 ifetch 1 ,contr 
+0x0284 000914 inject mod ,8 
+0x0285 000915 loop p_g24tr_loop 
+0x0286 000918 enable enable_parity 
+0x0287 000919 inject mod ,24 
+0x0288 000920 disable enable_parity 
+0x0289 000921 until null ,tx_clear 
+0x028a 000922 nop 100 
+0x028b 000923 disable encode_fec0 
+0x028c 000924 disable encode_fec1 
+0x028d 000925 rtn 
+:      000927 p_g24_timer_check:
+0x028e 000928 call disable_user 
+0x028f 000929 fetcht 4 ,mem_24g_tx_btclk 
+0x0290 000930 copy clkn_bt ,pdata 
+0x0291 000931 isub temp ,null 
+0x0292 000932 ncall g24_timer_timeout ,positive 
+0x0293 000933 copy pdata ,regb 
+0x0294 000934 fetch 4 ,mem_24g_tx_btclk 
+0x0295 000935 fetcht 1 ,mem_24g_interval 
+0x0296 000936 iadd temp ,temp 
+0x0297 000937 copy regb ,pdata 
+0x0298 000938 isub temp ,null 
+0x0299 000939 nrtn positive 
+0x029a 000940 set0 28 ,pdata 
+0x029b 000941 store 4 ,mem_24g_tx_btclk 
+0x029c 000942 branch enable_user 
+:      000944 p_rssi_noise:
+0x029d 000945 call save_rssi 
+0x029e 000946 rtn blank 
+0x029f 000947 fetcht 1 ,mem_rssi_noise_index 
+0x02a0 000948 arg mem_rssi_noise_buffer ,rega 
+0x02a1 000949 call p_rssi_store 
+0x02a2 000950 storet 1 ,mem_rssi_noise_index 
+0x02a3 000951 rtn 
+:      000953 p_rssi_store:
+0x02a4 000954 copy rega ,pdata 
+0x02a5 000955 iadd temp ,contw 
+0x02a6 000956 fetch 1 ,mem_rssi 
+0x02a7 000957 istore 1 ,contw 
+0x02a8 000958 increase 1 ,temp 
+0x02a9 000959 and_into rssi_buf_len_signal ,temp 
+0x02aa 000960 rtn 
+:      000961 p_rssi_average:
+0x02ab 000962 arg 0 ,temp 
+0x02ac 000963 arg rssi_buf_len_signal + 1 ,loopcnt 
+0x02ad 000964 copy rega ,contr 
+:      000965 p_rssi_average_loop:
+0x02ae 000966 ifetch 1 ,contr 
+0x02af 000967 iadd temp ,temp 
+0x02b0 000968 loop p_rssi_average_loop 
+0x02b1 000969 rshift3 temp ,pdata 
+0x02b2 000970 copy pdata ,temp 
+0x02b3 000971 rtnmark0 mark_24g 
+0x02b4 000973 div pdata ,10 
+0x02b5 000974 call wait_div_end 
+0x02b6 000975 quotient pdata 
+0x02b7 000976 lshift4 pdata ,pdata 
+0x02b8 000977 remainder temp 
+0x02b9 000978 ior temp ,temp 
+0x02ba 000979 rtn 
+0x02bb 000980 rtn 
+:      000983 p_mouse_before_lpm:
+0x02bc 000984 rtnmark1 mark_24g 
+0x02bd 000985 call p_mouse_le_txbuff_save 
+0x02be 000986 call p_mouse_setgpio_lpm 
+0x02bf 000987 fetch 1 ,mem_context 
+0x02c0 000988 bbit0 state_inconn ,p_clear_wake 
+0x02c1 000989 fetch 1 ,mem_lpm_current_mult 
+0x02c2 000990 nrtn blank 
+:      000991 p_clear_wake:
+0x02c3 000992 setarg 0 
+0x02c4 000993 store 8 ,mem_gpio_wakeup_low 
+0x02c5 000994 rtn 
+:      000996 p_mouse_setgpio_lpm:
+0x02c6 000997 call p_mouse_set_sdio_high 
+0x02c7 000998 call p_clear_wake 
+:      000999 p_mouse_setgpio_hibernate:
+0x02c8 001000 call mouse_lpm_before_common 
+0x02c9 001001 call p_flash_ncs_disable 
+0x02ca 001002 hfetch 4 ,core_gpio_oe0 
+0x02cb 001003 hfetcht 4 ,core_gpio_pu0 
+0x02cc 001004 ior temp ,temp 
+0x02cd 001005 invert temp ,temp 
+0x02ce 001006 hstoret 4 ,core_gpio_pd0 
+0x02cf 001007 hfetch 1 ,core_gpio_pd0 
+0x02d0 001008 set0 6 ,pdata 
+0x02d1 001009 hstore 1 ,core_gpio_pd0 
+0x02d2 001010 hfetch 1 ,core_gpio_pd0 
+0x02d3 001011 set1 5 ,pdata 
+0x02d4 001012 hstore 1 ,core_gpio_pd0 
+0x02d5 001013 hfetch 1 ,core_gpio_pd1 
+0x02d6 001014 set0 2 ,pdata 
+0x02d7 001015 hstore 1 ,core_gpio_pd1 
+0x02d8 001016 hfetch 1 ,core_gpio_pd2 
+0x02d9 001017 set0 6 ,pdata 
+0x02da 001018 hstore 1 ,core_gpio_pd2 
+0x02db 001019 rtn 
+:      001021 p_mouse_set_sdio_high:
+0x02dc 001022 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x02dd 001023 rtn blank 
+0x02de 001024 branch mouse_seting_dpi + 2 
+:      001026 p_device_init:
+0x02df 001027 call initialize_radio 
+0x02e0 001028 call app_lpm_mult_enable 
+0x02e1 001029 call enable_authrom 
+0x02e2 001030 branch p_device_wake_from_lpm ,wake 
+:      001031 p_device_wake_from_power:
+0x02e3 001032 call p_wake_from_power 
+0x02e4 001033 arg 600 ,temp 
+0x02e5 001034 fetch 2 ,mem_mouse_no_data_timeout 
+0x02e6 001035 isub temp ,temp 
+0x02e7 001036 storet 2 ,mem_mouse_no_data_led_timeout 
+:      001043 p_mouse_check_reconn_target:
+0x02e8 001044 call p_mouse_tx_power_init 
+0x02e9 001045 jam 25 ,mem_mouse_poweron_led_timer 
+0x02ea 001046 call p_mouse_adc_read 
+0x02eb 001047 call p_mouse_select_device_by_button 
+0x02ec 001048 arg mem_device1_type ,rega 
+0x02ed 001049 fetch 1 ,mem_device_flag 
+0x02ee 001050 fetcht 1 ,mem_24g_device_number 
+0x02ef 001051 isub temp ,null 
+0x02f0 001052 branch p_mouse_start_24g_mode ,zero 
+0x02f1 001053 fetch 1 ,mem_xrecord_mode 
+0x02f2 001054 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+0x02f3 001055 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+0x02f4 001057 rtn 
+:      001060 p_device_wake_from_lpm:
+0x02f5 001061 branch p_mouse_spi_init 
+:      001063 p_mouse_tx_power_init:
+0x02f6 001064 fetch 1 ,mem_tx_power_temp 
+0x02f7 001065 store 1 ,mem_tx_power 
+0x02f8 001066 rtn 
+:      001068 p_mouse3_0_check_reconn_target:
+0x02f9 001069 jam 1 ,mem_mouse_bt_reconnect_flag 
+0x02fa 001070 fetch 6 ,mem_hci_plap 
+0x02fb 001071 branch app_bt_start_discovery_short ,blank 
+0x02fc 001072 branch mouse3_0_check_reconn_target + 3 
+:      001074 p_mouse4_0_check_reconn_target:
+0x02fd 001075 jam 1 ,mem_mouse_le_reconnect_flag 
+0x02fe 001076 fetch 2 ,mem_mouse_direct_timeout 
+0x02ff 001077 store 2 ,mem_mouse_direct_timer 
+0x0300 001078 call app_lpm_mult_disable 
+0x0301 001079 call p_le_check_adv_flag 
+0x0302 001080 setarg adv_flag_bredr_not_supported 
+0x0303 001081 istore 1 ,contr 
+0x0304 001083 arg mem_le_scan_data ,contr 
+0x0305 001084 call p_le_adv_data_update 
+0x0306 001086 branch check_51cmd_adv 
+:      001088 p_le_check_adv_flag:
+0x0307 001089 arg mem_le_adv_data ,rega 
+:      001090 p_le_check_adv_flag_loop:
+0x0308 001091 ifetch 1 ,rega 
+0x0309 001092 rtn blank 
+0x030a 001093 iadd contr ,rega 
+0x030b 001094 ifetch 1 ,contr 
+0x030c 001095 rtneq 0x01 
+0x030d 001096 branch p_le_check_adv_flag_loop 
+:      001098 p_mouse_24g_pairing_button:
+0x030e 001099 jam zcode_61 ,mem_zcode_temp_param0 
+0x030f 001100 branch p_zcode_entrance 
+:      001103 p_mouse_spi_init:
+0x0310 001104 jam 0x76 ,mem_spi_init_clk 
+0x0311 001105 branch mouse_spi_init 
+:      001107 p_mouse_init_sunt:
+0x0312 001108 call p_mouse_spi_init 
+0x0313 001109 call mouse_spi_sdio_gpio_pollup 
+:      001112 p_mouse_init_sensor:
+0x0314 001113 call mouse_read_sensor_id 
+0x0315 001114 beq p3065_id1 ,p_mouse_p3065_init_param 
+0x0316 001115 call mouse_twspi_reset 
+0x0317 001116 nop 1000 
+0x0318 001117 branch p_mouse_init_sensor 
+:      001119 p_mouse_init_sensor_reset:
+0x0319 001120 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0x031a 001121 call spi_ncs_enable 
+0x031b 001122 call p_mouse_init_sunt 
+0x031c 001123 branch spi_ncs_disable 
+:      001127 p_mouse_p3065_init_param:
+0x031d 001128 call p_mouse_sensor_poweron 
+0x031e 001129 fetch 1 ,mem_sensor_id2 
+0x031f 001130 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x0320 001131 jam p3065 ,mem_config_sensor_type 
+0x0321 001132 rtn 
+:      001135 p_mouse_current_mult_update:
+0x0322 001138 jam 0 ,mem_lpm_mult 
+0x0323 001139 jam 30 ,mem_mouse_current_mult_timer 
+0x0324 001140 rtn 
+:      001142 p_mouse_data_xy_release:
+0x0325 001145 fetch 1 ,mem_mouse_long_mult_flag 
+0x0326 001146 rtnne 1 
+0x0327 001147 setarg 0 
+0x0328 001148 store 1 ,mem_mouse_long_mult_flag 
+0x0329 001149 store 4 ,mem_mouse_x 
+:      001150 p_mouse_sensor_poweron:
+0x032a 001151 call p_mouse_spi_init 
+0x032b 001152 setarg 0x8006 
+0x032c 001153 call twspi_write 
+0x032d 001154 nop 12000 
+:      001155 p_mouse_dpi_config:
+0x032e 001156 fetch 1 ,mem_mouse_dpi 
+0x032f 001157 beq 0xff ,mouse_dpi_config 
+0x0330 001158 branch mouse_seting_dpi + 2 
+:      001160 p_mouse_sensor_powerdown:
+0x0331 001161 call p_mouse_spi_init 
+0x0332 001162 setarg 0x0806 
+0x0333 001167 branch twspi_write 
+:      001169 p_mouse_setting_config:
+0x0334 001170 jam zcode_80 ,mem_zcode_temp_param0 
+0x0335 001171 branch p_zcode_entrance 
+:      001174 p_flash_ncs_disable:
+0x0336 001175 fetcht 1 ,mem_flash_ncs_gpio 
+0x0337 001176 branch gpio_out_inactive 
+:      001178 p_spid_init_flash:
+0x0338 001179 jam 0x40 ,core_spid_ctrl 
+0x0339 001180 jam 0x0 ,core_spid_delay 
+0x033a 001181 hfetch 1 ,core_gpio_sel1 
+0x033b 001182 set0 0 ,pdata 
+0x033c 001183 set0 1 ,pdata 
+0x033d 001184 set1 3 ,pdata 
+0x033e 001185 set0 4 ,pdata 
+0x033f 001186 hstore 1 ,core_gpio_sel1 
+0x0340 001187 setarg 0 
+0x0341 001188 store 4 ,mem_spid_tbuf 
+0x0342 001190 hfetch 1 ,core_gpio_pd3 
+0x0343 001191 set0 0 ,pdata 
+0x0344 001192 hstore 1 ,core_gpio_pd3 
+0x0345 001194 rtn 
+:      001196 p_mouse_load_flash_info_check:
+0x0346 001197 call p_flash_release_deep_power_down 
+0x0347 001198 call mouse_load_flash_flag 
+0x0348 001199 fetch 2 ,mem_store_flag 
+0x0349 001200 arg eeprom_init_flag ,temp 
+0x034a 001201 isub temp ,null 
+0x034b 001202 branch p_mouse_load_flash_device_info ,zero 
+0x034c 001203 storet 2 ,mem_store_flag 
+0x034d 001204 call mouse_ble_init_address 
+0x034e 001205 fetch 1 ,mem_config_sensor_motion 
+0x034f 001206 store 1 ,mem_mouse_dpi 
+0x0350 001207 fetch 4 ,mem_mouse_24g_addr_init 
+0x0351 001208 store 4 ,mem_mouse_24g_addr 
+0x0352 001209 store 4 ,mem_24g_addr 
+0x0353 001210 call p_mouse_fast_conn_init 
+:      001211 p_mouse_store_flash_device_info:
+0x0354 001212 call p_flash_release_deep_power_down 
+0x0355 001213 call p_flash_erase_sector 
+0x0356 001214 call p_mouse_information_flash_parameters 
+0x0357 001215 call p_spid_write_flash 
+0x0358 001216 call p_wait_flash_done 
+:      001217 p_mouse_store_random_addr_increase_count:
+0x0359 001218 arg 2 ,temp 
+0x035a 001219 arg mem_random_addr_increase_count ,rega 
+0x035b 001220 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x035c 001221 fetch 3 ,mem_flash_base 
+0x035d 001222 iadd regb ,pdata 
+0x035e 001223 call p_spid_write_flash 
+0x035f 001224 call p_wait_flash_done 
+0x0360 001225 call p_flash_deep_power_down 
+0x0361 001226 branch p_mouse_spi_init 
+:      001228 p_flash_erase_sector:
+0x0362 001229 fetch 3 ,mem_flash_base 
+0x0363 001230 store 3 ,mem_spi_write_addr 
+0x0364 001231 call flash_erase_sector + 2 
+0x0365 001232 branch p_wait_flash_done 
+:      001234 p_spid_write_flash:
+0x0366 001235 copy pdata ,regc 
+0x0367 001236 copy rega ,pdata 
+0x0368 001237 increase -4 ,pdata 
+0x0369 001238 copy pdata ,regb 
+0x036a 001239 ifetch 4 ,regb 
+0x036b 001240 store 4 ,mem_write_flash_head_temp 
+0x036c 001241 copy regc ,pdata 
+0x036d 001242 call spid_write_flash 
+0x036e 001243 fetch 4 ,mem_write_flash_head_temp 
+0x036f 001244 istore 4 ,regb 
+0x0370 001245 rtn 
+:      001247 p_wait_flash_done:
+0x0371 001248 setarg 100000 
+0x0372 001249 call sleep 
+0x0373 001250 call spid_unlock_flash 
+0x0374 001251 setarg mem_spid_rbuf 
+0x0375 001252 hstore 2 ,core_spid_rxaddr 
+0x0376 001253 setarg flash_read_satus 
+0x0377 001254 call spid_read_reg 
+0x0378 001255 bbit1 flash_status_wip ,p_wait_flash_done 
+0x0379 001256 rtn 
+:      001258 p_mouse_information_flash_parameters:
+0x037a 001259 setarg mem_mouse_information_end 
+0x037b 001260 arg mem_mouse_information_start ,temp 
+0x037c 001261 isub temp ,temp 
+0x037d 001262 fetch 3 ,mem_flash_base 
+0x037e 001263 arg mem_mouse_information_start ,rega 
+0x037f 001264 rtn 
+:      001266 p_mouse_read_flash:
+0x0380 001267 call p_flash_release_deep_power_down 
+0x0381 001268 call p_mouse_information_flash_parameters 
+0x0382 001269 branch spid_read_flash 
+:      001271 p_mouse_load_flash_device_info:
+0x0383 001272 call p_mouse_read_flash 
+0x0384 001273 call p_mouse_load_random_addr_increase_count 
+0x0385 001274 call mouse_select_reconn_device 
+0x0386 001275 fetch 4 ,mem_mouse_24g_addr 
+0x0387 001276 store 4 ,mem_24g_addr 
+0x0388 001277 arg 3 ,loopcnt 
+0x0389 001278 arg mem_device1_addr ,contr 
+0x038a 001279 call p_pdata_0xff_check 
+0x038b 001280 nbranch p_mouse_le_fast_conn_disable ,user 
+0x038c 001285 call p_mouse_fast_conn_init 
+0x038d 001286 rtn 
+:      001289 p_pdata_0xff_check:
+0x038e 001290 call enable_user 
+0x038f 001291 setarg 0xffff 
+:      001292 p_pdata_0xff_check_loop:
+0x0390 001293 ifetcht 2 ,contr 
+0x0391 001294 isub temp ,null 
+0x0392 001295 ncall disable_user ,zero 
+0x0393 001296 loop p_pdata_0xff_check_loop 
+0x0394 001297 rtn 
+:      001299 p_mouse_le_fast_conn_disable:
+0x0395 001300 jam 0x5a ,mem_mouse_fast_conn_flag 
+0x0396 001301 rtn 
+:      001303 p_mouse_fast_conn_init:
+0x0397 001304 jam 0xff ,mem_mouse_fast_conn_flag 
+0x0398 001305 jam 0x34 ,mem_xrecord_mode 
+0x0399 001306 setarg 0x0f0f0f 
+0x039a 001307 store 3 ,mem_le_lap 
+0x039b 001308 store 3 ,mem_le_lap + 3 
+0x039c 001309 rtn 
+:      001314 p_flash_deep_power_down:
+0x039d 001315 jam flash_command_deep_power_down ,mem_temp 
+:      001316 p_spid_write_flash_cmd:
+0x039e 001317 call p_spid_init_flash 
+0x039f 001318 nop 100 
+0x03a0 001319 call spid_unlock_flash 
+0x03a1 001320 arg mem_write_flash_head_temp ,rega 
+0x03a2 001321 fetcht 1 ,mem_temp 
+0x03a3 001322 call spid_write_flash_common 
+0x03a4 001323 nop 100 
+0x03a5 001324 rtn 
+:      001326 p_flash_release_deep_power_down:
+0x03a6 001327 jam flash_command_release_deep_power_down ,mem_temp 
+0x03a7 001328 branch p_spid_write_flash_cmd 
+:      001331 p_mouse_load_random_addr_increase_count:
+0x03a8 001332 call p_flash_release_deep_power_down 
+0x03a9 001333 arg 2 ,temp 
+0x03aa 001334 arg mem_random_addr_increase_count ,rega 
+0x03ab 001335 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x03ac 001336 fetch 3 ,mem_flash_base 
+0x03ad 001337 iadd regb ,pdata 
+0x03ae 001338 branch spid_read_flash 
+:      001341 p_mouse_start_24g_mode:
+0x03af 001342 setarg 0 
+0x03b0 001343 store 2 ,mem_24g_check_dongle_times 
+0x03b1 001344 branch p_g24_start_24g_mode 
+:      001347 p_mouse_24g_led_blink:
+0x03b2 001348 fetch 1 ,mem_device_flag 
+0x03b3 001349 rtnne mode_24g_device 
+0x03b4 001350 fetch 1 ,mem_mouse_24g_pair_timer 
+0x03b5 001351 rtn blank 
+0x03b6 001352 increase -1 ,pdata 
+0x03b7 001353 store 1 ,mem_mouse_24g_pair_timer 
+0x03b8 001354 branch app_enter_hibernate ,blank 
+0x03b9 001355 and pdata ,0x0f ,pdata 
+0x03ba 001356 beq 0x05 ,p_mouse_24g_led_on 
+0x03bb 001357 beq 0x0a ,p_mouse_24g_led_off 
+0x03bc 001358 rtn 
+:      001360 p_mouse_discovery_led_blink:
+0x03bd 001361 fetch 1 ,mem_mouse_discovery_timer 
+0x03be 001362 rtn blank 
+0x03bf 001363 fetch 1 ,mem_mouse_discovery_blink_count 
+0x03c0 001364 increase 1 ,pdata 
+0x03c1 001365 store 1 ,mem_mouse_discovery_blink_count 
+0x03c2 001366 beq 5 ,p_mouse_bt_led_off 
+0x03c3 001367 beq 10 ,p_mouse_bt_discovery_led_on 
+0x03c4 001368 rtn 
+:      001371 p_mouse_device_poweron_led_timer:
+0x03c5 001372 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03c6 001373 rtn blank 
+0x03c7 001374 increase -1 ,pdata 
+0x03c8 001375 store 1 ,mem_mouse_poweron_led_timer 
+0x03c9 001376 fetch 1 ,mem_device_flag 
+0x03ca 001377 beq mode_24g_device ,p_mouse_device_poweron_g24_led 
+0x03cb 001378 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03cc 001379 bbit1 1 ,p_mouse_bt_led_on 
+0x03cd 001380 branch p_mouse_bt_led_off 
+:      001382 p_mouse_device_poweron_g24_led:
+0x03ce 001383 fetch 1 ,mem_mouse_poweron_led_timer 
+0x03cf 001384 bbit1 1 ,p_mouse_24g_led_on 
+0x03d0 001385 branch p_mouse_24g_led_off 
+:      001389 p_mouse_24g_led_off:
+0x03d1 001390 jam 0 ,mem_24g_device_led_status 
+0x03d2 001391 fetcht 1 ,mem_device_24g_led_gpio 
+0x03d3 001392 branch p_gpio_set_input_high_impedance 
+:      001394 p_mouse_24g_led_on:
+0x03d4 001395 jam 1 ,mem_24g_device_led_status 
+0x03d5 001396 hfetch 1 ,core_gpio_pd0 
+0x03d6 001397 set0 5 ,pdata 
+0x03d7 001398 hstore 1 ,core_gpio_pd0 
+0x03d8 001399 fetcht 1 ,mem_device_24g_led_gpio 
+0x03d9 001400 call gpio_config_output 
+0x03da 001401 fetcht 1 ,mem_device_24g_led_gpio 
+0x03db 001402 branch gpio_out_inactive 
+:      001404 p_mouse_bt_discovery_led_on:
+0x03dc 001405 jam 0 ,mem_mouse_discovery_blink_count 
+:      001406 p_mouse_bt_led_on:
+0x03dd 001407 fetcht 1 ,mem_device_bt_led_gpio 
+0x03de 001408 call gpio_config_output 
+0x03df 001409 fetcht 1 ,mem_device_bt_led_gpio 
+0x03e0 001410 branch gpio_out_active 
+:      001412 p_mouse_bt_led_off:
+0x03e1 001413 fetcht 1 ,mem_device_bt_led_gpio 
+0x03e2 001414 branch p_gpio_set_input_pu 
+:      001417 p_mouse_device_led_off:
+0x03e3 001418 call p_mouse_bt_led_off 
+0x03e4 001419 branch p_mouse_24g_led_off 
+:      001422 p_mouse_device_poweron_led_off:
+0x03e5 001423 jam 0 ,mem_mouse_poweron_led_timer 
+0x03e6 001424 rtn 
+:      001442 p_mouse_g24_package_data:
+0x03e7 001443 call mouse_g24_package_data 
+0x03e8 001444 fetch 2 ,mem_mouse_z 
+0x03e9 001445 rtn blank 
+:      001446 p_g24_transmit_by_interrupt_enable:
+0x03ea 001447 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0x03eb 001448 setarg 0 
+0x03ec 001449 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0x03ed 001450 rtn 
+:      001452 p_mouse_le_txbuff_save:
+0x03ee 001453 arg mem_le_tx_buffer0 ,contr 
+0x03ef 001454 arg mem_le_tx_buffer0_omemalloc ,contw 
+0x03f0 001455 call p_mouse_le_txbuff_copy 
+0x03f1 001456 arg mem_le_tx_buffer1 ,contr 
+0x03f2 001457 call p_mouse_le_txbuff_copy 
+0x03f3 001458 arg mem_le_tx_buffer2 ,contr 
+0x03f4 001459 call p_mouse_le_txbuff_copy 
+0x03f5 001460 arg mem_le_tx_buffer3 ,contr 
+:      001461 p_mouse_le_txbuff_copy:
+0x03f6 001462 arg 27 ,loopcnt 
+0x03f7 001463 branch memcpy 
+:      001465 p_mouse_le_txbuff_load:
+0x03f8 001466 arg mem_le_tx_buffer0_omemalloc ,contr 
+0x03f9 001467 arg mem_le_tx_buffer0 ,contw 
+0x03fa 001468 call p_mouse_le_txbuff_copy 
+0x03fb 001469 arg mem_le_tx_buffer1 ,contw 
+0x03fc 001470 call p_mouse_le_txbuff_copy 
+0x03fd 001471 arg mem_le_tx_buffer2 ,contw 
+0x03fe 001472 call p_mouse_le_txbuff_copy 
+0x03ff 001473 arg mem_le_tx_buffer3 ,contw 
+0x0400 001474 branch p_mouse_le_txbuff_copy 
+:      001476 p_mouse_le:
+0x0401 001477 call le_fifo_check_nearly_full 
+0x0402 001478 nrtn blank 
+0x0403 001479 fetch 1 ,mem_mouse_fast_conn_flag 
+0x0404 001480 beq 0xff ,p_mouse_le_next 
+0x0405 001481 fetch 1 ,mem_le_connect_status_flag 
+0x0406 001482 and pdata ,0x03 ,pdata 
+0x0407 001483 rtnne 0x03 
+:      001484 p_mouse_le_next:
+0x0408 001485 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x0409 001486 call p_mouse_clear_sensor_data ,blank 
+0x040a 001487 fetch mouse_flag_len ,mem_mouse_flag 
+0x040b 001488 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x040c 001489 call mouse_motion 
+0x040d 001490 nrtn user 
+0x040e 001491 call p_mouse_current_mult_update 
+0x040f 001492 call p_mouse_data_xy_release 
+0x0410 001493 call p_mouse_wheel_trigger 
+:      001494 p_mouse_data_push:
+0x0411 001495 arg mem_mouse_key ,rega 
+0x0412 001496 call queue_push 
+0x0413 001497 call p_mouse_queue_increase ,user 
+0x0414 001498 rtn 
+:      001500 p_mouse_data_init:
+0x0415 001501 jam 7 ,mem_mouse_data_queue 
+0x0416 001502 jam 4 ,mem_mouse_data_queue + 1 
+0x0417 001503 setarg mem_mouse_data_queue 
+0x0418 001504 store 2 ,mem_queue_ptr 
+0x0419 001505 branch queue_init 
+:      001507 p_mouse_queue_increase:
+0x041a 001508 fetch 1 ,mem_mouse_data_queue_num 
+0x041b 001509 increase 1 ,pdata 
+0x041c 001510 store 1 ,mem_mouse_data_queue_num 
+0x041d 001511 rtn 
+:      001513 p_mouse_data_pull:
+0x041e 001514 arg mem_mouse_key ,rega 
+0x041f 001515 call queue_pop 
+0x0420 001516 branch p_mouse_fill_data_le ,user 
+0x0421 001517 rtn 
+:      001519 p_mouse_fill_data_le:
+0x0422 001520 call le_clear_md 
+0x0423 001521 fetch 1 ,mem_mouse_data_queue_num 
+0x0424 001522 sub pdata ,1 ,null 
+0x0425 001523 ncall le_set_md ,positive 
+0x0426 001524 fetch 1 ,mem_mouse_data_queue_num 
+0x0427 001525 rtn blank 
+0x0428 001526 increase -1 ,pdata 
+0x0429 001527 store 1 ,mem_mouse_data_queue_num 
+0x042a 001528 branch mouse_fill_data_le 
+:      001534 p_mouse_wheel_trigger:
+0x042b 001535 fetch 2 ,mem_mouse_z 
+0x042c 001536 rtn blank 
+0x042d 001537 jam 1 ,mem_mouse_wheel_trigger 
+0x042e 001538 jam 2 ,mem_mouse_wheel_trigger_timer 
+0x042f 001539 rtn 
+:      001541 p_mouse_bt:
+0x0430 001542 rtn attempt 
+0x0431 001543 fetch 1 ,mem_app_handshake_flag 
+0x0432 001544 rtn blank 
+0x0433 001545 call l2cap_malloc_is_fifo_nearly_full 
+0x0434 001546 nrtn blank 
+0x0435 001547 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x0436 001548 call p_mouse_clear_sensor_data ,blank 
+0x0437 001549 fetch mouse_flag_len ,mem_mouse_flag 
+0x0438 001550 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x0439 001551 bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
+0x043a 001552 call mouse_motion 
+0x043b 001553 nrtn user 
+0x043c 001554 call p_mouse_current_mult_update 
+0x043d 001555 call p_mouse_data_xy_release 
+0x043e 001556 call p_mouse_wheel_trigger 
+0x043f 001557 fetch 1 ,mem_mouse_bt_boot_mode 
+0x0440 001558 beq 1 ,p_mouse_send_data_boot_mode 
+0x0441 001559 fetch 1 ,mem_mouse_bt_send_first_package_flag 
+0x0442 001560 rtn blank 
+0x0443 001561 branch mouse_send_data 
+:      001563 p_mouse_send_data_boot_mode:
+0x0444 001564 fetch 1 ,mem_mouse_key 
+0x0445 001565 store 1 ,mem_mouse_bt_boot_data 
+0x0446 001566 fetch 1 ,mem_mouse_x 
+0x0447 001567 istore 1 ,contw 
+0x0448 001568 fetch 1 ,mem_mouse_y 
+0x0449 001569 istore 1 ,contw 
+0x044a 001570 fetch 2 ,mem_mouse_z 
+0x044b 001571 istore 2 ,contw 
+0x044c 001573 arg 7 ,rega 
+0x044d 001574 call hid_malloc_tx_buff 
+0x044e 001575 fetch 2 ,mem_hid_int_remote_cid 
+0x044f 001576 istore 2 ,contw 
+0x0450 001577 setarg 0x02a1 
+0x0451 001578 istore 2 ,contw 
+0x0452 001579 fetch 5 ,mem_mouse_bt_boot_data 
+0x0453 001580 istore 5 ,contw 
+0x0454 001581 rtn 
+:      001583 p_mouse_clear_sensor_data:
+0x0455 001584 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0x0456 001585 call le_set_config_more_data 
+0x0457 001586 branch p_mouse_init_sensor_reset 
+:      001593 p_mouse_idle:
+0x0458 001594 call ui_check_paring_button 
+0x0459 001595 call p_mouse_dpi_check 
+0x045a 001596 branch mouse_wheel_check 
+:      001599 p_mouse_dpi_check:
+0x045b 001600 fetcht 1 ,mem_dpi_button_gpio 
+0x045c 001601 call p_gpio_set_input_pd 
+0x045d 001602 call p_mouse_dpi_check_next 
+0x045e 001603 fetcht 1 ,mem_dpi_button_gpio 
+0x045f 001604 branch p_gpio_set_input_pu 
+:      001606 p_mouse_dpi_check_next:
+0x0460 001607 fetcht 1 ,mem_dpi_button_gpio 
+0x0461 001608 call gpio_get_bit 
+0x0462 001609 branch mouse_dpi_up ,true 
+:      001610 p_mouse_dpi_down:
+0x0463 001611 fetch 1 ,mem_mouse_dpi_button_state 
+0x0464 001612 rtneq dpi_button_state_down 
+0x0465 001613 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x0466 001614 fetch 1 ,mem_mouse_dpi 
+0x0467 001615 increase 1 ,pdata 
+0x0468 001616 sub pdata ,0x03 ,null 
+0x0469 001617 ncall disable_blank ,positive 
+:      001618 p_mouse_set_dpi:
+0x046a 001619 store 1 ,mem_mouse_dpi 
+0x046b 001620 call mouse_seting_dpi 
+:      001628 p_mouse_dpi_no_blink:
+0x046c 001630 branch p_mouse_store_flash_device_info 
+:      001632 p_mouse_priority_bb_event:
+0x046d 001633 copy regc ,pdata 
+0x046e 001634 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+0x046f 001635 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0x0470 001636 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+0x0471 001637 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0x0472 001638 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+0x0473 001639 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+0x0474 001640 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
+0x0475 001642 beq bt_evt_switch_not_accept ,app_bt_role_switch 
+0x0476 001643 beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
+0x0477 001644 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+0x0478 001645 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
+0x0479 001646 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
+0x047a 001647 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+0x047b 001648 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0x047c 001649 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0x047d 001650 branch mouse_priority_bb_event + 1 
+:      001652 p_mouse_le_bb_event_connected:
+0x047e 001653 call p_mouse_init_sensor_reset 
+0x047f 001654 jam zcode_b0 ,mem_zcode_temp_param0 
+0x0480 001655 branch p_zcode_entrance 
+:      001657 p_mouse_le_bb_disconnected:
+0x0481 001658 call p_mouse_sensor_powerdown_check 
+0x0482 001659 jam zcode_a2 ,mem_zcode_temp_param0 
+0x0483 001660 branch p_zcode_entrance 
+:      001662 p_mouse_le_enc_info:
+:      001663 p_app_updata_le_param:
+0x0484 001664 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x0485 001665 branch ui_ipc_send_cmd 
+:      001667 p_mouse_le_ll_start_encryt:
+0x0486 001668 jam zcode_b3 ,mem_zcode_temp_param0 
+0x0487 001669 branch p_zcode_entrance 
+:      001671 p_mouse_le_conn_param_update_rsp_recieved:
+0x0488 001672 jam zcode_a1 ,mem_zcode_temp_param0 
+0x0489 001673 branch p_zcode_entrance 
+:      001676 p_mouse_bb_event_reconn_timeout:
+:      001677 p_mouse_bb_event_reconn_failed:
+0x048a 001678 jam zcode_a3 ,mem_zcode_temp_param0 
+0x048b 001679 branch p_zcode_entrance 
+:      001681 p_mouse_irtual_cable_unplug:
+0x048c 001682 call mouse_irtual_cable_unplug 
+0x048d 001683 branch app_bb_hibernate 
+:      001685 p_mouse_sniff_not_accept:
+0x048e 001686 jam zcode_b1 ,mem_zcode_temp_param0 
+0x048f 001687 branch p_zcode_entrance 
+:      001689 p_mouse_bb_event_connected:
+0x0490 001690 jam 0 ,mem_mouse_send_switch_req_timer 
+0x0491 001691 call p_mouse_init_sensor_reset 
+0x0492 001692 branch mouse_stop_discovery 
+:      001694 p_mouse_bb_event_disconnected:
+0x0493 001695 call p_mouse_sensor_powerdown_check 
+0x0494 001696 jam zcode_b4 ,mem_zcode_temp_param0 
+0x0495 001697 branch p_zcode_entrance 
+:      001699 p_mouse_enter_sniff_check:
+0x0496 001700 jam zcode_b2 ,mem_zcode_temp_param0 
+0x0497 001701 branch p_zcode_entrance 
+:      001703 p_mouse_24g_pairing_complete:
+0x0498 001704 call p_mouse_init_sensor_reset 
+0x0499 001705 jam zcode_92 ,mem_zcode_temp_param0 
+0x049a 001706 branch p_zcode_entrance 
+:      001708 p_mouse_24g_attempt_fail:
+0x049b 001709 call p_mouse_sensor_powerdown_check 
+0x049c 001710 jam 0 ,mem_retry_count 
+0x049d 001711 jam zcode_51 ,mem_zcode_temp_param0 
+0x049e 001712 branch p_zcode_entrance 
+:      001714 p_mouse_24g_attempt_success:
+0x049f 001716 call p_mouse_init_sensor_reset 
+:      001717 p_mouse_24g_no_data_timer_init:
+0x04a0 001718 branch mouse_no_data_timer_init 
+:      001720 p_mouse_before_hibernate:
+0x04a1 001721 call p_mouse_sensor_powerdown_check 
+0x04a2 001722 jam zcode_a4 ,mem_zcode_temp_param0 
+0x04a3 001723 branch p_zcode_entrance 
+:      001725 p_mouse_sensor_powerdown_check:
+0x04a4 001726 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x04a5 001727 rtn blank 
+0x04a6 001728 jam 0 ,mem_mouse_init_sensor_reset_flag 
+0x04a7 001729 branch p_mouse_sensor_powerdown 
+:      001732 p_mouse_bb_event_timer:
+0x04a8 001733 call p_mouse_adc_read 
+0x04a9 001734 call p_mouse_low_voltage_led_timer 
+0x04aa 001735 call p_mouse_wheel_trigger_timer 
+0x04ab 001737 call p_mouse_select_device_by_button 
+0x04ac 001738 call mouse_check_discovery_timeout_timer 
+0x04ad 001739 call mouse_check_no_data_timeout_timer 
+0x04ae 001740 call p_mouse_current_mult_update_timer 
+0x04af 001741 call p_mouse_24g_long_sleep_param_update_timer 
+0x04b0 001743 call mouse_check_direct_timeout_timer 
+0x04b1 001744 call p_mouse_le_enable_att_list_timer 
+0x04b2 001745 call p_mouse_send_switch_req_timer 
+0x04b3 001746 call mouse_check_hid_handshake_timer 
+0x04b4 001747 call p_mouse_bt_check_sniff_req_timeout_timer 
+0x04b5 001748 call p_mouse_discovery_led_blink 
+0x04b6 001749 call p_mouse_24g_led_blink 
+0x04b7 001750 branch p_mouse_device_poweron_led_timer 
+:      001752 p_mouse_low_voltage_led_timer:
+0x04b8 001753 fetch mouse_flag_len ,mem_mouse_flag 
+0x04b9 001754 rtnbit0 mouse_low_voltage_flag 
+0x04ba 001755 fetch 1 ,mem_mouse_direct_timer 
+0x04bb 001756 nbranch p_mouse_24g_led_off ,blank 
+0x04bc 001757 fetch 1 ,mem_mouse_discovery_timer 
+0x04bd 001758 nbranch p_mouse_24g_led_off ,blank 
+0x04be 001759 fetch 1 ,mem_mouse_poweron_led_timer 
+0x04bf 001760 nbranch p_mouse_24g_led_off ,blank 
+0x04c0 001761 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x04c1 001762 pincrease 1 
+0x04c2 001763 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x04c3 001764 sub pdata ,20 ,null 
+0x04c4 001765 ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x04c5 001766 beq 2 ,p_mouse_24g_led_on 
+0x04c6 001767 beq 4 ,p_mouse_24g_led_off 
+0x04c7 001768 beq 6 ,p_mouse_24g_led_on 
+0x04c8 001769 beq 8 ,p_mouse_24g_led_off 
+0x04c9 001770 rtn 
+:      001771 p_mouse_adc_low_volatage_led_timer_count_clean:
+0x04ca 001772 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x04cb 001773 branch p_mouse_24g_led_off 
+:      001775 p_mouse_send_switch_req_timer:
+0x04cc 001776 arg mem_mouse_send_switch_req_timer ,regc 
+0x04cd 001777 arg host_create_conn_resend ,regb 
+0x04ce 001778 branch timer_single_step 
+:      001780 p_mouse_bt_check_sniff_req_timeout_timer:
+0x04cf 001781 arg mem_mouse_bt_send_first_package_timer ,regc 
+0x04d0 001782 arg p_mouse_bt_send_first_package ,regb 
+0x04d1 001783 branch timer_single_step 
+:      001784 p_mouse_bt_send_first_package:
+0x04d2 001785 jam 1 ,mem_mouse_bt_send_first_package_flag 
+0x04d3 001786 rtn 
+:      001789 p_mouse_le_enable_att_list_timer:
+0x04d4 001790 arg mem_le_start_encrypt_timer ,regc 
+0x04d5 001791 arg mouse_le_write_enable ,regb 
+0x04d6 001792 branch timer_single_step 
+:      001794 p_mouse_wheel_trigger_timer:
+0x04d7 001795 arg mem_mouse_wheel_trigger_timer ,regc 
+0x04d8 001796 arg p_mouse_wheel_trigger_disable ,regb 
+0x04d9 001797 branch timer_single_step 
+:      001798 p_mouse_wheel_trigger_disable:
+0x04da 001799 jam 0 ,mem_mouse_wheel_trigger 
+0x04db 001800 rtn 
+:      001802 p_mouse_current_mult_update_timer:
+0x04dc 001803 arg mem_mouse_current_mult_timer ,regc 
+0x04dd 001804 arg p_mouse_le_current_mult_reinit ,regb 
+0x04de 001805 branch timer_single_step 
+:      001806 p_mouse_le_current_mult_reinit:
+0x04df 001807 fetch 1 ,mem_lpm_mult_init 
+0x04e0 001808 store 1 ,mem_lpm_mult 
+0x04e1 001809 branch p_mouse_long_mult_flag_enable 
+:      001811 p_mouse_24g_long_sleep_param_update_timer:
+0x04e2 001812 arg mem_24g_long_sleep_param_update_timer ,regc 
+0x04e3 001813 arg p_mouse_24g_long_sleep_normal_param ,regb 
+0x04e4 001814 branch timer_single_step 
+:      001815 p_mouse_24g_long_sleep_normal_param:
+0x04e5 001816 setarg g24_long_sleep_step2 
+0x04e6 001817 store 3 ,mem_24g_enter_hibernate 
+:      001818 p_mouse_long_mult_flag_enable:
+0x04e7 001819 jam 1 ,mem_mouse_long_mult_flag 
+0x04e8 001820 rtn 
+:      001842 p_mouse_bt_discovery_timer:
+0x04e9 001843 arg mem_select_ui_button_count ,regc 
+0x04ea 001844 arg p_mouse_long_button_bt_discovery ,regb 
+0x04eb 001845 branch timer_single_step 
+:      001846 p_mouse_long_button_bt_discovery:
+0x04ec 001847 fetcht 1 ,mem_device_flag 
+0x04ed 001848 fetch 1 ,mem_24g_device_number 
+0x04ee 001849 isub temp ,null 
+0x04ef 001850 rtn zero 
+0x04f0 001851 fetch 2 ,mem_ui_state_map 
+0x04f1 001852 isolate1 ui_state_ble_adv ,pdata 
+0x04f2 001853 call mouse_stop_le_adv ,true 
+0x04f3 001854 fetch 2 ,mem_ui_state_map 
+0x04f4 001855 isolate1 ui_state_bt_reconnect ,pdata 
+0x04f5 001856 call mouse_cancel_reconnect ,true 
+0x04f6 001857 branch mouse_long_button_bt_discovry 
+:      001860 p_mouse_set_select_state:
+0x04f7 001861 jam 1 ,mem_select_device_button_press_flag 
+0x04f8 001862 rtn 
+:      001864 p_mouse_clear_select_state:
+0x04f9 001865 jam 0 ,mem_select_device_button_press_flag 
+0x04fa 001866 rtn 
+:      001869 p_mouse_select_device_by_button:
+0x04fb 001870 fetch 1 ,mem_select_device_button_press_flag 
+0x04fc 001871 branch p_mouse_select_device_button_up ,blank 
+:      001872 p_mouse_select_device_button_down:
+0x04fd 001873 call p_mouse_bt_discovery_timer 
+0x04fe 001874 fetch 1 ,mem_select_device_button_statue 
+0x04ff 001875 rtneq pb_button_state_down 
+0x0500 001876 fetch 2 ,mem_mouse_direct_timeout 
+0x0501 001877 store 2 ,mem_mouse_direct_timer 
+0x0502 001878 force page_length_timer ,queue 
+0x0503 001879 fetch 2 ,mem_page_to 
+0x0504 001880 call timer_init 
+0x0505 001881 jam pb_button_state_down ,mem_select_device_button_statue 
+0x0506 001882 rtn 
+:      001886 p_mouse_select_device_button_up:
+0x0507 001887 fetch 1 ,mem_select_device_button_statue 
+0x0508 001888 rtneq pb_button_state_up 
+0x0509 001893 fetch 1 ,mem_ui_button_timeout 
+0x050a 001894 store 1 ,mem_select_ui_button_count 
+0x050b 001895 jam pb_button_state_up ,mem_select_device_button_statue 
+0x050c 001896 rtn 
+:      001898 p_mouse_ready_reconnection_by_button:
+0x050d 001899 fetcht 1 ,mem_device_flag 
+0x050e 001900 increase 1 ,temp 
+0x050f 001901 fetch 1 ,mem_device_number 
+0x0510 001902 isub temp ,null 
+0x0511 001903 ncall mouse_select_device_count_clean ,positive 
+0x0512 001904 storet 1 ,mem_device_flag 
+0x0513 001905 jam 0 ,mem_link_key_exists 
+0x0514 001906 call p_mouse_store_flash_device_info 
+0x0515 001909 fetch mouse_flag_len ,mem_mouse_flag 
+0x0516 001910 rtneq mouse_bt_discovery_button_long_down_flag 
+0x0517 001911 branch mouse_set_reconnection 
+:      001945 p_mouse_adc_read:
+0x0518 001946 fetch 1 ,mem_adc_read_timer 
+0x0519 001947 increase 1 ,pdata 
+0x051a 001948 store 1 ,mem_adc_read_timer 
+0x051b 001949 sub pdata ,10 ,null 
+0x051c 001950 call p_mouse_adc_read_gpio5 ,positive 
+0x051d 001951 ncall p_mouse_adc_read_vinlpm ,positive 
+0x051e 001952 call adc_init_data 
+0x051f 001953 call p_adc_set_mode 
+0x0520 001954 call vdd_calculate_by_mode 
+0x0521 001955 store 2 ,mem_mouse_vdd_now_vol 
+0x0522 001956 arg mem_mouse_vdd_calculate_set ,rega 
+0x0523 001957 call p_adc_bat_percent_lowpower_out 
+0x0524 001958 fetch 1 ,mem_adc_power_flag 
+0x0525 001959 bbit1 2 ,p_mouse_set_select_state 
+0x0526 001960 bbit1 1 ,app_enter_hibernate 
+0x0527 001961 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0x0528 001962 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x0529 001963 branch mouse_adc_low_voltage 
+:      001965 p_mouse_adc_read_gpio5:
+0x052a 001966 fetch 1 ,mem_24g_device_led_status 
+0x052b 001967 nbranch p_mouse_adc_read_vinlpm ,blank 
+0x052c 001968 jam adc_config_gpio ,mem_adc_config_flag 
+0x052d 001969 rtn 
+:      001970 p_mouse_adc_read_vinlpm:
+0x052e 001971 jam 0 ,mem_adc_read_timer 
+0x052f 001972 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x0530 001973 rtn 
+:      001975 p_vdd_calculate_by_mode:
+0x0531 001976 fetch 1 ,mem_adc_config_flag 
+0x0532 001977 beq adc_config_gpio ,p_vdd_calculate_io 
+0x0533 001978 branch vdd_calculate_by_mode + 2 
+:      001980 p_vdd_calculate_io:
+0x0534 001981 fetch 2 ,mem_1v_adc_io_data 
+0x0535 001982 fetcht 2 ,mem_0_5_adc_io_data 
+0x0536 001983 arg 50 ,regc 
+0x0537 001984 branch p_vdd_calculate 
+:      001986 p_vdd_calculate:
+0x0538 001987 isub temp ,rega 
+0x0539 001988 fetch 2 ,mem_adc_current_value 
+0x053a 001989 isub temp ,pdata 
+0x053b 001990 nbranch p_vdd_calculate1 ,positive 
+0x053c 001991 branch vdd_calculate + 4 
+:      001993 p_vdd_calculate1:
+0x053d 001994 copy temp ,pdata 
+0x053e 001995 fetcht 2 ,mem_adc_current_value 
+0x053f 001996 isub temp ,pdata 
+0x0540 001997 isub rega ,null 
+0x0541 001998 call p_vdd_calculate2 ,positive 
+0x0542 001999 branch vdd_calculate1 + 3 
+:      002002 p_vdd_calculate2:
+0x0543 002003 copy rega ,pdata 
+0x0544 002004 rtn 
+:      002007 p_mouse_adc_no_low_voltage:
+0x0545 002008 call mouse_adc_no_low_voltage 
+0x0546 002009 jam 12 ,mem_adc_low_volatage_led_timer_count 
+0x0547 002010 fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x0548 002011 rtn blank 
+0x0549 002012 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0x054a 002013 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x054b 002014 store 1 ,mem_mouse_struct_led_gpio 
+0x054c 002015 branch mouse_led_off 
+:      002018 p_adc_set_mode:
+0x054d 002019 fetch 1 ,mem_adc_config_flag 
+0x054e 002020 beq adc_config_gpio ,p_adc_check_gpio 
+0x054f 002021 branch adc_set_mode + 1 
+:      002022 p_adc_check_gpio:
+0x0550 002023 hfetch 1 ,core_gpio_pd0 
+0x0551 002024 set0 5 ,pdata 
+0x0552 002025 hstore 1 ,core_gpio_pd0 
+0x0553 002026 jam 0x8f ,rf_adc_mode 
+0x0554 002027 fetch 1 ,mem_adc_channel 
+0x0555 002028 hstore 1 ,rf_adc_ch 
+0x0556 002029 branch read_adc 
+:      002032 p_adc_bat_percent_lowpower_out:
+0x0557 002033 ifetch 8 ,rega 
+0x0558 002034 store 8 ,mem_pdatatemp 
+0x0559 002035 fetch 1 ,mem_adc_config_flag 
+0x055a 002036 beq adc_config_gpio ,p_adc_check_gpio5 
+0x055b 002037 beq adc_config_vinlpm ,p_adc_check_vinlpm 
+:      002038 p_adc_check_vinlpm:
+0x055c 002039 fetch 2 ,mem_pdatatemp + 6 
+0x055d 002040 fetcht 2 ,mem_pdatatemp + 2 
+0x055e 002041 isub temp ,null 
+0x055f 002042 nbranch adc_set_no_power_flag ,positive 
+0x0560 002043 call p_adc_clear_no_power_flag 
+0x0561 002044 fetcht 2 ,mem_pdatatemp + 4 
+0x0562 002045 isub temp ,null 
+0x0563 002046 nbranch adc_set_low_power_flag ,positive 
+:      002047 p_adc_clear_low_power_flag:
+0x0564 002048 fetch 1 ,mem_adc_power_flag 
+0x0565 002049 set0 0 ,pdata 
+0x0566 002050 store 1 ,mem_adc_power_flag 
+0x0567 002051 rtn 
+:      002052 p_adc_check_gpio5:
+0x0568 002053 fetcht 2 ,mem_mouse_vdd_0v 
+0x0569 002054 fetch 2 ,mem_pdatatemp + 6 
+0x056a 002055 isub temp ,null 
+0x056b 002056 nbranch p_adc_set_pb_press_flag ,positive 
+0x056c 002057 call p_mouse_clear_select_state 
+0x056d 002058 branch p_adc_clear_pb_press_flag 
+:      002061 p_adc_clear_no_power_flag:
+0x056e 002062 fetcht 1 ,mem_adc_power_flag 
+0x056f 002063 set0 1 ,temp 
+0x0570 002064 storet 1 ,mem_adc_power_flag 
+0x0571 002065 rtn 
+:      002066 p_adc_set_pb_press_flag:
+0x0572 002067 fetcht 1 ,mem_adc_power_flag 
+0x0573 002068 set1 2 ,temp 
+0x0574 002069 storet 1 ,mem_adc_power_flag 
+0x0575 002070 rtn 
+:      002072 p_adc_clear_pb_press_flag:
+0x0576 002073 fetcht 1 ,mem_adc_power_flag 
+0x0577 002074 set0 2 ,temp 
+0x0578 002075 storet 1 ,mem_adc_power_flag 
+0x0579 002076 rtn 
+:      002079 p_mouse_motion:
+0x057a 002080 disable user 
+0x057b 002081 setarg 0 
+0x057c 002082 store 6 ,mem_mouse_x 
+0x057d 002083 call mouse_cheak_sensor_data 
+0x057e 002084 call mouse_zwheel 
+0x057f 002085 call mouse_t_zwheel 
+0x0580 002086 call mouse_key 
+0x0581 002089 nbranch p_drawing_optima_init ,user 
+0x0582 002090 call p_drawing_optima 
+0x0583 002091 branch mouse_motion + 9 
+:      002148 p_gpio_set_input_high_impedance:
+0x0584 002149 set0 gpio_active_bit ,temp 
+0x0585 002150 branch gpio_set_high_impedance 
+:      002152 p_gpio_set_input_pd:
+0x0586 002153 set0 gpio_active_bit ,temp 
+0x0587 002154 arg core_gpio_pu0 ,contw 
+0x0588 002155 call gpio_set_bit 
+0x0589 002156 set1 gpio_active_bit ,temp 
+:      002157 p_gpio_set_input_pd4:
+0x058a 002158 arg core_gpio_pd0 ,contw 
+0x058b 002159 call gpio_set_bit 
+0x058c 002160 set0 gpio_active_bit ,temp 
+0x058d 002161 arg core_gpio_oe0 ,contw 
+0x058e 002162 branch gpio_set_bit 
+:      002164 p_gpio_set_input_pu:
+0x058f 002165 set1 gpio_active_bit ,temp 
+:      002166 p_gpio_set_input_pu1:
+0x0590 002167 arg core_gpio_pu0 ,contw 
+0x0591 002168 call gpio_set_bit 
+0x0592 002169 set0 gpio_active_bit ,temp 
+0x0593 002170 branch p_gpio_set_input_pd4 
+:      002173 p_mouse_bb_event_discovery_btn:
+0x0594 002174 jam 0 ,mem_mouse_poweron_led_timer 
+0x0595 002175 isolate1 mark_24g ,mark 
+0x0596 002176 call p_g24_check_51cmd_stop_24g ,true 
+0x0597 002177 branch mouse_bb_event_discovery_btn + 1 
+:      002179 p_le_addr_random_config:
+0x0598 002180 jam zcode_81 ,mem_zcode_temp_param0 
+0x0599 002181 branch p_zcode_entrance 
+:      002183 p_mouse_start_discovery:
+0x059a 002184 jam 0 ,mem_mouse_discovery_blink_count 
+0x059b 002185 jam zcode_50 ,mem_zcode_temp_param0 
+0x059c 002186 branch p_zcode_entrance 
+:      002190 p_le_adv_data_update:
+0x059d 002191 arg mem_le_adv_data + 11 ,contw 
+0x059e 002192 arg 19 ,loopcnt 
+0x059f 002193 call memcpy 
+0x05a0 002194 branch le_modified_name_adv 
+:      002196 p_mouse_stop_discovery:
+0x05a1 002197 setarg 0 
+0x05a2 002198 store 2 ,mem_mouse_discovery_timer 
+0x05a3 002199 store 1 ,mem_mouse_dpi_blink_count 
+0x05a4 002200 store 1 ,mem_mouse_blink_count 
+0x05a5 002201 store 1 ,mem_mouse_discovery_blink_count 
+0x05a6 002202 jam 5 ,mem_mouse_bt_ble_led_timer 
+0x05a7 002203 call p_mouse_bt_led_off 
+0x05a8 002204 call p_mouse_sensor_poweron 
+0x05a9 002205 branch mouse_stop_discovery + 1 
+:      002207 p_le_slave_match:
+0x05aa 002208 fetch 1 ,mem_le_md_count 
+0x05ab 002209 pincrease 1 
+0x05ac 002210 store 1 ,mem_le_md_count 
+0x05ad 002211 beq le_md_max_count ,le_slave_cont 
+0x05ae 002212 call le_acknowledge 
+0x05af 002213 call le_prepare_tx 
+0x05b0 002214 call power_ctrl_start 
+0x05b1 002215 branch le_slave_match + 7 
+:      002217 p_le_next_adv_channel:
+0x05b2 002218 fetch 1 ,mem_le_ch_mapped 
+0x05b3 002219 increase 1 ,pdata 
+0x05b4 002220 store 1 ,mem_le_ch_mapped 
+0x05b5 002221 rtnne 40 
+0x05b6 002222 jam 37 ,mem_le_ch_mapped 
+0x05b7 002223 rtn 
+:      002225 p_le_receive_skip:
+0x05b8 002226 call save_rssi 
+0x05b9 002227 call p_rssi_signal 
+0x05ba 002228 branch le_receive_skip + 2 
+:      002230 p_le_update_param:
+0x05bb 002231 jam zcode_40 ,mem_zcode_temp_param0 
+0x05bc 002232 branch p_zcode_entrance 
+:      002234 p_le_update_channel_map:
+0x05bd 002235 jam zcode_41 ,mem_zcode_temp_param0 
+0x05be 002236 branch p_zcode_entrance 
+:      002238 p_le_prepare_tx:
+0x05bf 002239 fetch 1 ,mem_le_arq 
+0x05c0 002240 bbit1 wak ,p_le_prepare_tx_wak 
+0x05c1 002241 call power_ctrl_pac_succ_incrs 
+0x05c2 002242 fetch 1 ,mem_empty_count 
+0x05c3 002243 nbranch p_le_send_empyt ,blank 
+0x05c4 002244 fetch 1 ,mem_le_state 
+0x05c5 002245 bbit0 lestate_encryption ,p_le_tx_4 
+0x05c6 002246 fetch 1 ,mem_le_rxbuf + 1 
+0x05c7 002247 branch p_le_tx_4 ,blank 
+0x05c8 002248 branch le_send_empty 
+:      002249 p_le_send_empyt:
+0x05c9 002250 fetch 1 ,mem_empty_count 
+0x05ca 002251 increase -1 ,pdata 
+0x05cb 002252 store 1 ,mem_empty_count 
+0x05cc 002253 branch le_send_empty 
+:      002254 p_le_tx_4:
+0x05cd 002255 fetch 1 ,mem_le_pairing_state 
+0x05ce 002256 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0x05cf 002257 jam 3 ,mem_empty_count 
+:      002258 p_in_le_tx_4:
+0x05d0 002259 call le_fifo_check_nearly_full 
+0x05d1 002260 call p_mouse_data_pull ,blank 
+0x05d2 002261 branch le_prepare_tx + 4 
+:      002263 p_le_prepare_tx_wak:
+0x05d3 002264 call p_le_check_tx_retransmit_setmd 
+0x05d4 002265 branch p_le_power_ctrl_pac_succ_decrs 
+:      002267 p_le_check_tx_retransmit_setmd:
+0x05d5 002268 fetch 1 ,mem_le_connect_status_flag 
+0x05d6 002269 and pdata ,0x03 ,pdata 
+0x05d7 002270 rtnne 0x03 
+0x05d8 002271 fetch 1 ,mem_mouse_data_queue_num 
+0x05d9 002272 rtn blank 
+0x05da 002273 fetch 1 ,mem_le_txlen 
+0x05db 002274 rtn blank 
+0x05dc 002275 fetch 1 ,mem_le_txheader 
+0x05dd 002276 set1 md ,pdata 
+0x05de 002277 store 1 ,mem_le_txheader 
+0x05df 002278 call le_set_md 
+0x05e0 002279 rtn 
+:      002283 p_le_power_ctrl_pac_succ_decrs:
+0x05e1 002284 branch power_ctrl_pac_succ_decrs 
+:      002286 p_mouse_le_reconn_write_enable_timer_reinit:
+0x05e2 002287 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x05e3 002288 rtn blank 
+0x05e4 002289 fetch 1 ,mem_le_connect_status_flag 
+0x05e5 002290 and pdata ,0x03 ,pdata 
+0x05e6 002291 rtneq 0x03 
+0x05e7 002292 jam 1 ,mem_le_start_encrypt_timer 
+0x05e8 002293 rtn 
+:      002295 p_le_parse:
+0x05e9 002296 rtnmark1 mark_old_packet 
+0x05ea 002297 call le_fifo_check_full 
+0x05eb 002298 nrtn blank 
+0x05ec 002299 fetch 1 ,mem_le_rxbuf 
+0x05ed 002300 and pdata ,0x3 ,pdata 
+0x05ee 002301 store 1 ,mem_le_packet_llid 
+0x05ef 002302 ifetch 1 ,contr 
+0x05f0 002303 and pdata ,0x1f ,pdata 
+0x05f1 002304 store 1 ,mem_le_packet_size 
+0x05f2 002305 rtn blank 
+0x05f3 002306 copy contr ,pdata 
+0x05f4 002307 store 2 ,mem_le_payload_ptr 
+0x05f5 002308 fetch 1 ,mem_le_packet_llid 
+0x05f6 002309 beq llid_le_ll ,p_le_parse_ll 
+0x05f7 002310 branch le_parse_l2cap 
+:      002311 p_le_parse_ll:
+0x05f8 002312 fetch 1 ,mem_le_rxbuf + 2 
+0x05f9 002313 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0x05fa 002314 branch le_parse_ll + 1 
+:      002315 p_le_parse_channel_map_req:
+0x05fb 002316 ifetch 5 ,contr 
+0x05fc 002317 store 5 ,mem_le_new_map 
+0x05fd 002318 ifetch 2 ,contr 
+0x05fe 002319 store 2 ,mem_le_instant 
+0x05ff 002320 branch le_parse_channel_map_req + 7 
+:      002322 p_le_parse_l2cap:
+0x0600 002323 ifetch 2 ,contr 
+0x0601 002324 beq le_l2cap_cid_att ,p_le_parse_att 
+0x0602 002325 beq le_l2cap_cid_smp ,p_le_parse_smp 
+0x0603 002326 branch le_parse_l2cap + 11 
+:      002327 p_le_parse_att:
+0x0604 002328 call store_contr 
+0x0605 002329 call p_mouse_le_reconn_write_enable_timer_reinit 
+0x0606 002330 call get_contr 
+0x0607 002331 ifetch 3 ,contr 
+0x0608 002332 store 3 ,mem_le_att_opcode 
+0x0609 002333 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0x060a 002334 rshift8 pdata ,temp 
+0x060b 002335 sub temp ,0x24 ,null 
+0x060c 002336 branch p_le_parse_att1 ,positive 
+0x060d 002337 arg mem_mouse_le_uuid_sup ,temp 
+0x060e 002338 storet 2 ,mem_ui_le_uuid_table 
+0x060f 002339 call le_parse_att + 2 
+0x0610 002340 setarg 0x8e7a 
+0x0611 002341 store 2 ,mem_ui_le_uuid_table 
+0x0612 002342 rtn 
+:      002344 p_le_parse_att_read_by_group_type_request:
+0x0613 002345 call le_parse_att_read_by_group_type_request 
+0x0614 002346 call le_fifo_get_last_tx_ptr 
+0x0615 002347 increase 7 ,contr 
+0x0616 002348 ifetch 1 ,contr 
+0x0617 002349 rtnne attop_read_by_group_type_response 
+0x0618 002350 increase 5 ,contr 
+0x0619 002351 ifetch 2 ,contr 
+0x061a 002352 arg uuid_service_hids ,temp 
+0x061b 002353 isub temp ,null 
+0x061c 002354 nrtn zero 
+0x061d 002355 increase -4 ,contr 
+0x061e 002356 setarg 0x2b 
+0x061f 002357 istore 2 ,contr 
+0x0620 002358 rtn 
+:      002361 p_le_parse_att1:
+0x0621 002362 beq attop_read_request ,p_le_parse_att_read_request 
+0x0622 002363 branch le_parse_att + 2 
+:      002364 p_le_parse_att_read_request:
+0x0623 002365 fetcht 2 ,mem_le_att_handle 
+0x0624 002366 fetch 1 ,mem_le_configuration 
+0x0625 002367 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+:      002368 p_le_send_att_read_response:
+0x0626 002377 fetch 2 ,mem_le_att_handle 
+0x0627 002378 beq 0x13 ,le_send_att_error_response_notfound 
+0x0628 002380 fetcht 2 ,mem_le_att_handle 
+0x0629 002381 branch le_send_att_read_response 
+:      002395 p_le_send_att_read_response_check_auth:
+0x062a 002396 fetch 2 ,mem_le_pairing_handle 
+0x062b 002397 isub temp ,null 
+0x062c 002398 nbranch p_le_send_att_read_response ,zero 
+0x062d 002399 call le_check_encrypt_state 
+0x062e 002400 nbranch p_le_send_att_read_response ,user 
+0x062f 002401 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x0630 002402 branch le_send_att_error_response 
+:      002406 p_le_parse_smp:
+0x0631 002407 ifetch 1 ,contr 
+0x0632 002408 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+0x0633 002409 branch le_parse_smp + 1 
+:      002410 p_le_parse_smp_pairing_failed:
+0x0634 002411 jam zcode_82 ,mem_zcode_temp_param0 
+0x0635 002412 branch p_zcode_entrance 
+:      002414 p_le_adv_not_match:
+0x0636 002415 fetch 1 ,mem_le_ch_mapped 
+0x0637 002416 bne 39 ,le_adv_loop 
+0x0638 002417 call p_le_adv_random_delay 
+0x0639 002418 arg le_adv_interval_timer ,queue 
+0x063a 002419 fetch 2 ,mem_le_adv_interval 
+0x063b 002420 branch timer_init 
+:      002421 p_le_adv_random_delay:
+0x063c 002422 random pdata 
+0x063d 002423 arg 0x1ff ,temp 
+0x063e 002424 iand temp ,pdata 
+0x063f 002425 add pdata ,250 ,pdata 
+0x0640 002426 branch delay 
+:      002428 p_le_lpm_setmult:
+0x0641 002429 disable wake 
+0x0642 002430 branch p_le_lpm_set_mult_attempt ,attempt 
+0x0643 002431 nbranch le_lpm_lost ,match 
+:      002432 p_le_lpm_set_mult_attempt:
+0x0644 002433 call lpm_match 
+0x0645 002434 fetch 2 ,mem_rx_window_sniff 
+0x0646 002435 store 2 ,mem_le_receive_window 
+0x0647 002436 fetch 1 ,mem_le_connect_status_flag 
+0x0648 002437 compare 3 ,pdata ,3 
+0x0649 002438 nbranch lpm_mult_short ,true 
+0x064a 002439 branch le_lpm_set_mult_attempt + 3 
+:      002441 p_le_mouse_bb_event_connect_complete:
+0x064b 002442 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x064c 002443 nrtn blank 
+0x064d 002444 fetch 1 ,mem_le_att_handle 
+0x064e 002445 sub pdata ,26 ,pdata 
+0x064f 002446 nrtn zero 
+0x0650 002447 branch mouse_le_write_enable 
+:      002449 p_twspi_reset:
+0x0651 002450 hfetch 1 ,core_gpio_out3 
+0x0652 002451 and_into 0xfd ,pdata 
+0x0653 002452 hstore 1 ,core_gpio_out3 
+0x0654 002453 hfetcht 1 ,core_gpio_oe3 
+0x0655 002454 or_into 0x2 ,temp 
+0x0656 002455 hstoret 1 ,core_gpio_oe3 
+0x0657 002456 call twspi_disable 
+0x0658 002457 and_into 0xfd ,temp 
+0x0659 002458 nop 13 
+0x065a 002459 call p_twspi_enable 
+0x065b 002460 hstoret 1 ,core_gpio_oe3 
+0x065c 002461 rtn 
+:      002463 p_spid_init:
+0x065d 002464 call spid_init_common 
+:      002465 p_twspi_enable:
+0x065e 002466 hfetch 1 ,core_gpio_sel1 
+0x065f 002467 set1 0 ,pdata 
+0x0660 002468 set0 1 ,pdata 
+0x0661 002469 set0 3 ,pdata 
+0x0662 002470 hstore 1 ,core_gpio_sel1 
+0x0663 002471 rtn 
+:      002474 p_page_wait_fhs_reply_ok:
+0x0664 002475 jam zcode_00 ,mem_zcode_temp_param0 
+0x0665 002476 branch p_zcode_entrance 
+:      002478 p_role_switch_master:
+0x0666 002479 call role_switch_check 
+0x0667 002480 nrtn user 
+:      002481 p_wait_role_switch_anchor:
+0x0668 002482 disable user 
+0x0669 002483 jam param_newconnto ,mem_newconnto_counter 
+0x066a 002484 set0 mark_fhs_already_good ,mark 
+0x066b 002485 set0 mark_role_switch_receive_fhs ,mark 
+:      002486 p_roles_waitfhs_loop:
+0x066c 002487 call rf_setup_time_master_slot 
+0x066d 002488 call master_recv_packet 
+0x066e 002489 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+0x066f 002490 call new_conn_timeout 
+0x0670 002491 nbranch p_roles_waitfhs_loop ,blank 
+0x0671 002492 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
+0x0672 002493 branch role_switch_fail_master 
+:      002495 p_roles_replyto_fhs:
+0x0673 002496 call rf_setup_time_slave_slot 
+0x0674 002497 arg type_id ,type 
+0x0675 002498 call master_send_packet 
+0x0676 002499 set1 mark_role_switch_receive_fhs ,mark 
+0x0677 002500 set0 mark_fhs_already_good ,mark 
+0x0678 002501 force 1 ,am_addr 
+0x0679 002502 jam 2 ,mem_newconnto_counter 
+0x067a 002503 branch p_roles_waitfhs_loop 
+:      002505 p_roles_replyto_fhs1:
+0x067b 002506 fetch 4 ,mem_clke_bt 
+0x067c 002507 pincrease 8 
+0x067d 002508 store 4 ,mem_clke_bt 
+0x067e 002509 branch roles_replyto_fhs + 4 
+:      002511 p_process_dmh:
+0x067f 002512 bmark1 mark_first_packet ,end_of_packet 
+0x0680 002513 branch process_dmh + 1 
+:      002515 p_quit_connection_cont:
+0x0681 002516 call app_disconn_reason_collect_bt 
+0x0682 002517 call sniff_exit 
+0x0683 002518 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x0684 002519 call ui_ipc_send_event 
+0x0685 002520 call init_lmp_work 
+0x0686 002521 call l2cap_init_work 
+0x0687 002522 branch quit_connection_cont + 8 
+:      002524 p_prepare_tx:
+0x0688 002525 fetch 1 ,mem_state 
+0x0689 002526 isolate1 state_inconn ,pdata 
+0x068a 002527 call p_bt_power_ctrl ,true 
+0x068b 002528 branch prepare_tx + 1 
+:      002529 p_bt_power_ctrl:
+0x068c 002530 fetch 1 ,mem_arq 
+0x068d 002531 isolate1 wack ,pdata 
+0x068e 002532 call power_ctrl_pac_succ_decrs ,true 
+0x068f 002533 ncall power_ctrl_pac_succ_incrs ,true 
+0x0690 002534 branch power_ctrl_start 
+:      002536 p_slave_conn_recv_packet:
+0x0691 002537 call slave_receive_master_slot 
+0x0692 002538 nbranch shutdown_radio ,sync 
+0x0693 002539 call save_rssi 
+0x0694 002540 call p_rssi_signal 
+0x0695 002541 branch slave_conn_recv_packet + 4 
+:      002543 p_lpm_dispatch:
+0x0696 002544 rtnmark1 mark_24g 
+0x0697 002545 call lpo_calibration 
+0x0698 002546 fetch 3 ,mem_clks_per_lpo 
+0x0699 002547 rtn blank 
+0x069a 002548 fetch 1 ,mem_lpm_mode 
+0x069b 002549 rtn blank 
+0x069c 002550 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x069d 002551 sub pdata ,10 ,null 
+0x069e 002552 rtn positive 
+0x069f 002553 fetch 1 ,mem_ssp_enable 
+0x06a0 002554 branch p_lpm_dispatch_next ,blank 
+0x06a1 002555 fetch 1 ,mem_sp_local_key_invalid 
+0x06a2 002556 rtn blank 
+:      002557 p_lpm_dispatch_next:
+0x06a3 002558 fetch 1 ,mem_le_sc_calc 
+0x06a4 002559 nrtn blank 
+0x06a5 002560 call lpm_check_wake_lock 
+0x06a6 002561 nrtn blank 
+0x06a7 002562 fetch 1 ,mem_context 
+0x06a8 002563 compare 3 ,pdata ,0x7 
+0x06a9 002564 nbranch lpm_dispatch_unconn ,true 
+0x06aa 002565 fetch 2 ,mem_context + coffset_tsniff 
+0x06ab 002566 arg 0xffff ,temp 
+0x06ac 002567 isub temp ,null 
+0x06ad 002568 rtn zero 
+0x06ae 002569 branch lpm_dispatch_next + 9 
+:      002571 p_lpm_set_mult:
+0x06af 002572 disable wake 
+0x06b0 002573 fetch 1 ,mem_state 
+0x06b1 002574 rtnbit0 state_insniff 
+0x06b2 002575 nbranch lpm_not_match ,match 
+0x06b3 002576 call lpm_match 
+0x06b4 002577 fetch 2 ,mem_rx_window_sniff 
+0x06b5 002578 store 2 ,mem_rx_window 
+0x06b6 002579 fetch 1 ,mem_arq 
+0x06b7 002580 bbit1 wack ,lpm_mult_short 
+0x06b8 002581 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x06b9 002582 call l2cap_malloc_is_fifo_empty 
+0x06ba 002583 nbranch lpm_mult_short ,blank 
+0x06bb 002584 call p_lpm_set_attemp_timeout ,blank 
+0x06bc 002585 branch lpm_set_mult + 13 
+:      002586 p_lpm_set_attemp_timeout:
+0x06bd 002587 jam 1 ,mem_current_sniff_attempt 
+0x06be 002588 jam 0 ,mem_current_sniff_timeout 
+0x06bf 002589 rtn 
+:      002591 p_mouse_bb_disconnected:
+0x06c0 002592 jam zcode_10 ,mem_zcode_temp_param0 
+0x06c1 002593 branch p_zcode_entrance 
+:      002595 p_hid_rx_process:
+0x06c2 002596 jam zcode_11 ,mem_zcode_temp_param0 
+0x06c3 002597 branch p_zcode_entrance 
+:      002599 p_parse_lmp_accepted:
+0x06c4 002600 fetch 1 ,mem_rxbuf + 1 
+0x06c5 002601 store 1 ,mem_lmi_accepted_opcode 
+0x06c6 002602 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+0x06c7 002603 branch parse_lmp_accepted + 3 
+:      002604 p_parse_lmp_accepted_switch:
+0x06c8 002605 call parse_lmp_accepted_switch 
+0x06c9 002606 jam 1 ,mem_bt_rcvd_switch_req_accept 
+0x06ca 002607 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0x06cb 002608 rtn blank 
+0x06cc 002609 jam 2 ,mem_bt_send_lmp_setup_complete 
+0x06cd 002610 rtn 
+:      002612 p_send_lmp:
+0x06ce 002613 jam zcode_20 ,mem_zcode_temp_param0 
+0x06cf 002614 branch p_zcode_entrance 
+:      002616 p_process_conn_sm:
+0x06d0 002617 call lmo_fifo_check 
+0x06d1 002618 nrtn blank 
+:      002619 p_process_conn_sm_continue:
+0x06d2 002620 fetch 1 ,mem_conn_sm 
+0x06d3 002621 rtn blank 
+0x06d4 002622 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+0x06d5 002623 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
+0x06d6 002624 branch process_conn_sm_continue + 2 
+:      002626 p_host_creat_conn_wait_switch:
+0x06d7 002627 fetch 1 ,mem_switch_flag 
+0x06d8 002628 rtneq switch_flag_init 
+0x06d9 002629 beq switch_flag_accept ,p_host_create_conn_switch_accept 
+0x06da 002630 branch host_creat_conn_wait_switch + 3 
+:      002631 p_host_create_conn_switch_accept:
+0x06db 002632 rtn master 
+:      002633 p_host_create_conn_auth_pair:
+0x06dc 002635 fetch 1 ,mem_connection_options 
+0x06dd 002636 bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
+0x06de 002637 branch host_create_conn_auth_pair + 1 
+:      002638 p_host_create_conn_auth_pair_true:
+0x06df 002639 fetch 1 ,mem_bt_send_lmp_setup_complete 
+0x06e0 002640 beq 1 ,host_create_conn_auth_pair_true 
+0x06e1 002642 fetch 1 ,mem_link_key_exists 
+0x06e2 002643 branch host_create_conn_auth_pair_nokey ,blank 
+0x06e3 002644 fetch 1 ,mem_lmp_conn_state 
+0x06e4 002645 rtnbit0 sent_setup_complete 
+0x06e5 002646 rtnbit0 received_setup_complete 
+0x06e6 002647 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x06e7 002648 rtn blank 
+0x06e8 002649 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x06e9 002650 fetch 4 ,mem_aurand_send_delay_time 
+0x06ea 002651 arg 20 ,temp 
+0x06eb 002652 iadd temp ,temp 
+0x06ec 002653 copy clkn_bt ,pdata 
+0x06ed 002654 isub temp ,null 
+0x06ee 002655 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
+0x06ef 002656 branch host_create_conn_auth 
+:      002658 p_bt_send_max_slot_req_accept_after_switch_wait:
+0x06f0 002659 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+0x06f1 002660 rtn 
+:      002662 p_host_create_conn_send_conn_req:
+0x06f2 002663 jam 20 ,mem_mouse_send_switch_req_timer 
+0x06f3 002664 branch host_create_conn_send_conn_req 
+:      002670 p_check_51cmd_once_continue:
+0x06f4 002671 call lmo_fifo_check 
+0x06f5 002672 nbranch check_51cmd_restore ,blank 
+0x06f6 002673 fetch 1 ,mem_fifo_temp 
+0x06f7 002674 bmark0 mark_context ,check_51cmd_check_idle 
+0x06f8 002675 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+0x06f9 002676 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+0x06fa 002677 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+0x06fb 002678 branch check_51cmd_once_continue + 2 
+:      002680 p_check_51cmd_ble_update_connect_param:
+0x06fc 002681 call le_fifo_check_full 
+0x06fd 002682 nrtn blank 
+0x06fe 002683 branch le_l2cap_tx_update_req 
+:      002685 p_flash_store_le_reconn_info:
+0x06ff 002686 jam rec_4_mode ,mem_record_bt_mode 
+0x0700 002687 fetch 6 ,mem_le_plap 
+0x0701 002688 branch p_flash_store_reconn_info 
+:      002689 p_flash_store_bd_reconn_info:
+0x0702 002690 jam rec_3_mode ,mem_record_bt_mode 
+0x0703 002691 fetch 6 ,mem_plap 
+:      002692 p_flash_store_reconn_info:
+0x0704 002693 store 6 ,mem_temp_lap 
+:      002694 p_mouse_store_remote_bdaddr:
+0x0705 002695 fetch mouse_flag_len ,mem_mouse_flag 
+0x0706 002696 rtnbit0 mouse_store_eeprom_flag 
+0x0707 002697 arg mouse_store_eeprom_flag ,queue 
+0x0708 002698 call mouse_disable_function_flag 
+0x0709 002699 call mouse_check_device_addr 
+:      002700 p_mouse_unplug_clean_bdaddr:
+0x070a 002701 call mouse_before_store_reconn_info 
+0x070b 002702 branch p_mouse_store_flash_device_info 
+:      002707 power_ctrl_pac_succ_cnt_init:
+0x070c 002708 jam 1 ,mem_power_ctrl_level 
+0x070d 002709 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0x070e 002710 rtn 
+:      002711 power_ctrl_pac_succ_incrs:
+0x070f 002712 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0710 002713 increase 1 ,pdata 
+0x0711 002714 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0712 002715 rtn 
+:      002716 power_ctrl_pac_succ_decrs:
+0x0713 002717 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0714 002718 sub pdata ,2 ,null 
+0x0715 002719 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0x0716 002720 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0717 002721 rtneq 0 
+0x0718 002722 increase -1 ,pdata 
+0x0719 002723 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x071a 002724 rtn 
+:      002725 power_ctrl_pac_succ_cnt_reinit:
+0x071b 002726 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0x071c 002727 rtn 
+:      002729 power_ctrl_start:
+0x071d 002730 fetch 2 ,mem_ui_state_map 
+0x071e 002731 rtnbit1 ui_state_ble_adv 
+0x071f 002732 rtnbit1 ui_state_bt_reconnect 
+0x0720 002733 rtnbit1 ui_state_bt_discovery 
+0x0721 002735 arg mem_rssi_signal_buf ,rega 
+0x0722 002736 call p_rssi_average 
+0x0723 002737 storet 1 ,mem_rssi_avg_received 
+0x0724 002739 setarg rssi_dis_max_24g 
+0x0725 002740 bmark1 mark_24g ,power_ctrl_start_next 
+0x0726 002741 setarg rssi_dis_max_ble 
+:      002742 power_ctrl_start_next:
+0x0727 002743 isub temp ,null 
+0x0728 002744 nbranch power_ctrl_txpower_incrs_force ,positive 
+0x0729 002746 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x072a 002747 sub pdata ,2 ,null 
+0x072b 002748 nbranch power_ctrl_txpower_decrs_check ,positive 
+0x072c 002749 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x072d 002750 beq 0 ,power_ctrl_txpower_incrs 
+0x072e 002751 rtn 
+:      002753 power_ctrl_txpower_decrs_check:
+0x072f 002754 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0730 002755 rtnne 32 
+0x0731 002756 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002757 power_ctrl_txpower_decrs:
+0x0732 002758 fetcht 1 ,mem_rssi_avg_received 
+0x0733 002759 setarg rssi_dis_min_24g 
+0x0734 002760 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0x0735 002761 setarg rssi_dis_min_ble 
+:      002762 power_ctrl_txpower_decrs_next:
+0x0736 002763 isub temp ,null 
+0x0737 002764 nrtn positive 
+0x0738 002765 fetch 1 ,mem_power_ctrl_level 
+0x0739 002766 beq 0 ,power_ctrl_decrs_level0 
+0x073a 002767 increase -1 ,pdata 
+0x073b 002768 store 1 ,mem_power_ctrl_level 
+0x073c 002769 beq 0 ,power_ctrl_decrs_level0 
+:      002770 power_ctrl_decrs_level1:
+:      002771 power_ctrl_incrs_level1:
+0x073d 002772 jam tx_power_0db ,mem_tx_power 
+0x073e 002773 rtn 
+:      002775 power_ctrl_txpower_incrs_force:
+0x073f 002776 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002777 power_ctrl_txpower_incrs:
+0x0740 002778 fetch 1 ,mem_power_ctrl_level 
+0x0741 002779 beq 2 ,power_ctrl_incrs_level2 
+0x0742 002780 increase 1 ,pdata 
+0x0743 002781 store 1 ,mem_power_ctrl_level 
+0x0744 002782 beq 1 ,power_ctrl_incrs_level1 
+:      002783 power_ctrl_incrs_level2:
+0x0745 002784 jam tx_power_5db ,mem_tx_power 
+0x0746 002785 rtn 
+:      002787 power_ctrl_decrs_level0:
+0x0747 002788 jam tx_power_f5db ,mem_tx_power 
+0x0748 002789 rtn 
+:      002792 p_set_freq_tx:
+0x0749 002793 storet 1 ,mem_last_freq 
+0x074a 002794 add temp ,0 ,rega 
+0x074b 002795 call rf_write_freq 
+0x074c 002796 setarg param_pll_setup 
+0x074d 002797 call sleep 
+:      002798 p_rf_tx_enable:
+0x074e 002799 jam 0x1 ,rfen_adc 
+0x074f 002800 jam 0x3c ,rfen_rx 
+0x0750 002801 jam 0xe0 ,rfen_tx 
+0x0751 002802 nop 10 
+0x0752 002803 jam 0x01 ,rfen_mdm 
+0x0753 002804 jam 0x3d ,rfen_mdm 
+0x0754 002805 nop 10 
+0x0755 002806 jam 0xb7 ,rfen_sn 
+0x0756 002807 nop 10 
+0x0757 002808 jam 0x7d ,rfen_mdm 
+0x0758 002809 fetch 1 ,mem_tx_power 
+0x0759 002812 beq tx_power_5db ,p_set_tx_power_5db 
+0x075a 002814 beq tx_power_f5db ,p_set_tx_power_f5db 
+0x075b 002815 beq tx_power_pair ,p_set_tx_power_pair 
+:      002817 p_set_tx_power_0db:
+0x075c 002818 call p_rx_low_sens 
+0x075d 002820 jam 0xd0 ,0x8955 
+0x075e 002821 jam 0xe0 ,0x8956 
+0x075f 002823 jam 0x6c ,0x8958 
+0x0760 002825 branch set_tx_power_0db 
+:      002837 p_set_tx_power_5db:
+0x0761 002838 call p_rx_high_sens 
+0x0762 002840 jam 0xd0 ,0x8955 
+0x0763 002841 jam 0xe0 ,0x8956 
+0x0764 002843 jam 0x3c ,0x8958 
+0x0765 002845 branch set_tx_power_5db 
+:      002857 p_set_tx_power_f5db:
+0x0766 002858 call p_rx_low_sens 
+0x0767 002860 jam 0xd0 ,0x8955 
+0x0768 002861 jam 0xc0 ,0x8956 
+0x0769 002863 jam 0x6c ,0x8958 
+0x076a 002865 branch set_tx_power_f5db 
+:      002867 p_rx_low_sens:
+0x076b 002868 jam 0x5b ,0x894c 
+0x076c 002869 jam 0x96 ,0x894d 
+0x076d 002870 jam 0x2c ,0x894e 
+0x076e 002871 jam 0x46 ,0x894f 
+0x076f 002872 rtn 
+:      002874 p_rx_high_sens:
+0x0770 002875 jam 0xfb ,0x894c 
+0x0771 002876 jam 0xef ,0x894d 
+0x0772 002877 jam 0xec ,0x894e 
+0x0773 002878 jam 0x5e ,0x894f 
+0x0774 002879 rtn 
+:      002881 p_set_tx_power_pair:
+0x0775 002883 jam 0xc2 ,0x8956 
+0x0776 002884 jam 0xd0 ,0x8955 
+0x0777 002885 rtn 
+:      002887 p_shutdown_radio:
+0x0778 002888 force 8 ,radio_ctrl 
+0x0779 002889 branch shutdown_radio + 1 
+:      002893 p_zcode_entrance:
+0x077a 002894 fetcht 1 ,mem_zcode_temp_param0 
+0x077b 002895 rshift4 temp ,temp 
+0x077c 002896 fetch 1 ,mem_zcode_current_number 
+0x077d 002897 isub temp ,null 
+0x077e 002898 branch p_zcode_run ,zero 
+0x077f 002899 storet 1 ,mem_zcode_current_number 
+0x0780 002900 increase 1 ,temp 
+0x0781 002901 setarg zcode_buff_size 
+0x0782 002902 imul32 temp ,temp 
+0x0783 002903 fetch 3 ,mem_xip_flash_offset 
+0x0784 002904 isub temp ,pdata 
+0x0785 002906 fetcht 3 ,mem_flash_start_addr 
+0x0786 002907 iadd temp ,pdata 
+0x0787 002908 increase -5 ,pdata 
+0x0788 002909 store 3 ,mem_flash_address 
+0x0789 002911 call p_flash_release_deep_power_down 
+:      002912 p_zcode_read_loop:
+0x078a 002913 fetch 3 ,mem_flash_address 
+0x078b 002914 arg zcode_buff_size ,temp 
+0x078c 002915 arg mem_zcode_buff ,rega 
+0x078d 002916 call spid_read_flash 
+0x078e 002917 fetch 4 ,mem_zcode_buff 
+0x078f 002918 fetcht 4 ,mem_zcode_head 
+0x0790 002919 isub temp ,null 
+0x0791 002920 nbranch p_zcode_read_loop ,zero 
+0x0792 002921 call p_mouse_spi_init 
+0x0793 002923 setarg mem_zcode_buff 
+0x0794 002924 store 2 ,mem_patch_ptr 
+0x0795 002925 jam zcode_code_size ,mem_patch_len 
+0x0796 002926 call load_ucode 
+0x0797 002927 setarg 0 
+0x0798 002928 store 4 ,mem_patch_ptr 
+:      002929 p_zcode_run:
+0x0799 002930 fetch 1 ,mem_zcode_temp_param0 
+0x079a 002931 branch p_zcode 
+:      002938 p_drawing_optima_init:
+0x079b 002939 arg 5 ,loopcnt 
+0x079c 002940 arg mem_mouse_asm_flag ,contw 
+0x079d 002941 branch clear_mem 
+:      002943 p_drawing_optima:
+0x079e 002944 fetch 4 ,mem_mouse_x 
+0x079f 002945 rtn blank 
+0x07a0 002946 call p_data_abs_check 
+0x07a1 002947 setarg 0x06 
+0x07a2 002948 call p_data_greater_than_check 
+0x07a3 002949 setarg 0x03 
+0x07a4 002950 call p_data_less_than_check 
+0x07a5 002951 fetch 1 ,mem_mouse_asm_flag 
+0x07a6 002952 beq 1 ,p_drawing_optima_modify 
+0x07a7 002953 branch p_drawing_optima_init 
+:      002955 p_drawing_optima_modify:
+0x07a8 002956 fetch 2 ,mem_mouse_x_pre 
+0x07a9 002957 store 2 ,mem_data_pre 
+0x07aa 002958 fetch 2 ,mem_mouse_x 
+0x07ab 002959 store 2 ,mem_data_current 
+0x07ac 002960 call p_drawing_optima_data 
+0x07ad 002961 fetch 2 ,mem_data_pre 
+0x07ae 002962 store 2 ,mem_mouse_x_pre 
+0x07af 002963 fetch 2 ,mem_data_current 
+0x07b0 002964 store 2 ,mem_mouse_x 
+0x07b1 002966 fetch 2 ,mem_mouse_y_pre 
+0x07b2 002967 store 2 ,mem_data_pre 
+0x07b3 002968 fetch 2 ,mem_mouse_y 
+0x07b4 002969 store 2 ,mem_data_current 
+0x07b5 002970 call p_drawing_optima_data 
+0x07b6 002971 fetch 2 ,mem_data_pre 
+0x07b7 002972 store 2 ,mem_mouse_y_pre 
+0x07b8 002973 fetch 2 ,mem_data_current 
+0x07b9 002974 store 2 ,mem_mouse_y 
+0x07ba 002975 rtn 
+:      002981 p_drawing_optima_data:
+0x07bb 002982 fetch 2 ,mem_data_pre 
+0x07bc 002983 fetcht 2 ,mem_data_current 
+0x07bd 002984 iadd temp ,pdata 
+0x07be 002985 store 3 ,mem_data_sum 
+0x07bf 002986 isolate1 16 ,pdata 
+0x07c0 002987 branch p_data_sum_overflow ,true 
+0x07c1 002988 fetch 1 ,mem_data_sum + 1 
+0x07c2 002989 beq 0xff ,p_data_sum_n 
+0x07c3 002990 fetch 1 ,mem_data_sum 
+:      002991 p_data_store_pre:
+0x07c4 002992 rshift pdata ,pdata 
+0x07c5 002993 store 2 ,mem_data_pre 
+0x07c6 002994 store 2 ,mem_data_current 
+0x07c7 002995 rtn 
+:      002996 p_data_sum_overflow:
+0x07c8 002997 fetch 1 ,mem_data_sum + 1 
+0x07c9 002998 beq 0 ,p_data_sum_overflow_p 
+0x07ca 002999 fetch 3 ,mem_data_sum 
+0x07cb 003000 branch p_data_store_pre 
+:      003001 p_data_sum_overflow_p:
+0x07cc 003002 jam 0 ,mem_data_sum + 2 
+0x07cd 003003 fetch 1 ,mem_data_sum 
+0x07ce 003004 branch p_data_store_pre 
+:      003006 p_data_sum_n:
+0x07cf 003007 fetch 1 ,mem_data_sum 
+0x07d0 003008 call p_pdata_get_half 
+0x07d1 003009 store 1 ,mem_data_pre 
+0x07d2 003010 store 1 ,mem_data_current 
+0x07d3 003011 branch p_data_zero ,blank 
+0x07d4 003012 setarg 0xff 
+:      003013 p_data_set_direction:
+0x07d5 003014 store 1 ,mem_data_pre + 1 
+0x07d6 003015 store 1 ,mem_data_current + 1 
+0x07d7 003016 rtn 
+:      003017 p_data_zero:
+0x07d8 003018 setarg 0 
+0x07d9 003019 branch p_data_set_direction 
+:      003021 p_pdata_get_half:
+0x07da 003022 sub pdata ,0 ,pdata 
+0x07db 003023 store 1 ,mem_rega 
+0x07dc 003024 fetch 1 ,mem_rega 
+0x07dd 003025 rshift pdata ,pdata 
+0x07de 003026 store 1 ,mem_rega 
+0x07df 003027 fetch 1 ,mem_rega 
+0x07e0 003028 sub pdata ,0 ,pdata 
+0x07e1 003029 rtn 
+:      003032 p_data_greater_than_check:
+0x07e2 003033 isub rega ,null 
+0x07e3 003034 nbranch p_enable_asm ,positive 
+0x07e4 003035 isub regb ,null 
+0x07e5 003036 nbranch p_enable_asm ,positive 
+:      003037 p_disable_asm:
+0x07e6 003038 jam 0 ,mem_mouse_asm_flag 
+0x07e7 003039 rtn 
+:      003040 p_data_less_than_check:
+0x07e8 003041 isub rega ,null 
+0x07e9 003042 nrtn positive 
+0x07ea 003043 isub regb ,null 
+0x07eb 003044 nrtn positive 
+0x07ec 003045 branch p_disable_asm 
+:      003046 p_enable_asm:
+0x07ed 003047 jam 1 ,mem_mouse_asm_flag 
+0x07ee 003048 rtn 
+:      003050 p_data_abs_check:
+0x07ef 003051 fetch 2 ,mem_mouse_x 
+0x07f0 003052 store 2 ,mem_data_current 
+0x07f1 003053 call p_data_abs 
+0x07f2 003054 copy pdata ,rega 
+0x07f3 003055 fetch 2 ,mem_mouse_y 
+0x07f4 003056 store 2 ,mem_data_current 
+0x07f5 003057 call p_data_abs 
+0x07f6 003058 copy pdata ,regb 
+0x07f7 003059 rtn 
+:      003065 p_data_abs:
+0x07f8 003066 fetch 1 ,mem_data_current + 1 
+0x07f9 003067 beq 0xff ,p_data_reversal 
+0x07fa 003068 fetch 1 ,mem_data_current 
+:      003069 p_data_abs_store:
+0x07fb 003070 and_into 0xff ,pdata 
+0x07fc 003072 rtn 
+:      003073 p_data_reversal:
+0x07fd 003074 fetch 2 ,mem_data_current 
+0x07fe 003075 sub pdata ,0 ,pdata 
+0x07ff 003076 branch p_data_abs_store 
+              org 0x2000
+:      003088 start:
+0x2000 003089 call lpmstate 
+:      003091 soft_reset:
+0x2001 003092 bpatch patch00_0 ,mem_patch00 
+0x2002 003093 clear_stack 
+0x2003 003094 call spi_ncs_gpio_init 
+0x2004 003095 call initialize_radio 
+0x2005 003096 call iicd_init_12m 
+0x2006 003097 call init_param 
+0x2007 003098 call l2cap_init 
+0x2008 003099 bpatch patch00_1 ,mem_patch00 
+0x2009 003100 call rfcomm_init 
+0x200a 003101 call init_lmp 
+0x200b 003102 call ui_init 
+0x200c 003103 call app_init 
+0x200d 003104 ncall load_chip_option ,wake 
+0x200e 003105 bpatch patch00_2 ,mem_patch00 
+0x200f 003106 call app_lpm_init ,wake 
+0x2010 003107 call publickey_init 
+0x2011 003108 call lpm_recover_clk ,wake 
+:      003109 main_loop:
+0x2012 003110 bpatch patch00_3 ,mem_patch00 
+0x2013 003111 call sp_calc_sequence 
+0x2014 003112 call sp_calc_sequence_256 
+0x2015 003113 call sp_calc_sequence_256_check 
+0x2016 003114 call le_dispatch 
+0x2017 003115 bpatch patch00_4 ,mem_patch00 
+0x2018 003116 call idle_dispatch 
+0x2019 003117 call app_process_idle 
+0x201a 003118 call inquiry_dispatch 
+0x201b 003119 call inquiry_scan_dispatch 
+0x201c 003120 call page_scan_dispatch 
+0x201d 003121 call connection_dispatch 
+0x201e 003122 call lpm_dispatch 
+0x201f 003123 call g24_dispatch 
+0x2020 003124 branch main_loop 
+:      003126 connection_dispatch:
+0x2021 003127 call connection_incontext 
+0x2022 003128 rtnmark0 mark_context 
+0x2023 003129 set0 mark_context ,mark 
+0x2024 003130 call context_save 
+0x2025 003131 branch le_disable 
+:      003133 connection_incontext:
+0x2026 003134 bpatch patch00_5 ,mem_patch00 
+0x2027 003135 call context_search_insniff 
+0x2028 003136 nbranch connection_nosniff ,zero 
+0x2029 003137 call context_load 
+0x202a 003138 add rega ,coffset_mode ,contr 
+0x202b 003139 ifetch 1 ,contr 
+0x202c 003140 bbit1 mode_le ,le_conn_dispatch 
+0x202d 003141 bbit1 mode_master ,master_dispatch 
+0x202e 003142 branch slave_dispatch 
+:      003143 connection_nosniff:
+0x202f 003144 call context_get_next 
+0x2030 003145 copy loopcnt ,null 
+0x2031 003146 rtn zero 
+0x2032 003147 call context_load 
+0x2033 003148 fetch 1 ,mem_state 
+0x2034 003149 bbit1 state_inpage ,master_page 
+0x2035 003150 fetch 1 ,mem_mode 
+0x2036 003151 bbit1 mode_master ,master_dispatch 
+0x2037 003152 branch slave_dispatch 
+:      003160 idle_dispatch:
+0x2038 003161 fetch 1 ,mem_hci_cmd 
+0x2039 003162 rtn blank 
+0x203a 003163 beq hci_cmd_inquiry ,idle_inquiry 
+0x203b 003164 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x203c 003165 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x203d 003166 beq hci_cmd_create_conn ,idle_create_conn 
+0x203e 003167 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x203f 003168 call context_search_conn_handle 
+0x2040 003169 rtn zero 
+0x2041 003170 call context_search_plap 
+0x2042 003171 rtn zero 
+:      003172 idle_exit:
+0x2043 003173 jam 0 ,mem_hci_cmd 
+0x2044 003174 rtn 
+:      003176 idle_le_create_conn:
+0x2045 003177 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x2046 003178 jam 0 ,mem_hci_cmd 
+0x2047 003179 rtn 
+:      003181 idle_inquiry:
+0x2048 003182 set1 mark_inquiry_on ,mark 
+0x2049 003183 set0 mark_inquiry_trainb ,mark 
+0x204a 003184 jam param_ninquiry ,mem_ninqy_index 
+0x204b 003185 jam 31 ,mem_nfreq_index_inq 
+0x204c 003186 branch idle_exit 
+:      003188 idle_inquiry_cancel:
+0x204d 003189 set0 mark_inquiry_on ,mark 
+0x204e 003190 force 0 ,stop_watch 
+0x204f 003191 branch idle_exit 
+:      003193 idle_remote_name_req:
+0x2050 003194 call context_search_plap 
+0x2051 003195 rtn zero 
+0x2052 003196 force lmp_name_req ,temp 
+0x2053 003197 jam 5 ,mem_nameres_cnt 
+0x2054 003198 branch idle_start_page 
+:      003200 idle_create_conn:
+0x2055 003201 bpatch patch00_6 ,mem_patch00 
+:      003202 idle_create_conn_device:
+0x2056 003203 fetch 6 ,mem_hci_plap 
+0x2057 003204 branch idle_exit ,blank 
+0x2058 003205 jam reconnect_hid ,memui_reconnect_mode 
+0x2059 003207 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x205a 003208 branch idle_create_conn_cont 
+:      003210 idle_create_conn_cont:
+0x205b 003211 force lmp_version_req ,temp 
+:      003212 idle_start_page:
+0x205c 003213 bpatch patch00_7 ,mem_patch00 
+0x205d 003214 fetch 1 ,mem_page_mode 
+0x205e 003215 branch idle_page_mode_r0 ,blank 
+0x205f 003216 lshift3 pdata ,pdata 
+0x2060 003217 lshift4 pdata ,pdata 
+0x2061 003218 increase -1 ,pdata 
+:      003219 idle_page_mode_r0:
+0x2062 003220 store 1 ,mem_npage 
+0x2063 003221 store 1 ,mem_npage_index 
+0x2064 003222 jam 31 ,mem_nfreq_index_page 
+0x2065 003223 set0 mark_page_trainb ,mark 
+0x2066 003224 call context_new 
+0x2067 003225 nbranch idle_page_fail ,zero 
+0x2068 003226 call get_free_amaddr 
+0x2069 003227 store 1 ,mem_amaddr 
+0x206a 003228 storet 1 ,mem_lmo_opcode2 
+0x206b 003229 fetch 6 ,mem_hci_plap 
+0x206c 003230 store 6 ,mem_plap 
+0x206d 003231 bpatch patch01_0 ,mem_patch01 
+0x206e 003232 call timer_reinit 
+0x206f 003233 force 0 ,pdata 
+0x2070 003234 compare lmp_name_req ,temp ,0xff 
+0x2071 003235 nsetflag true ,state_init_seq ,pdata 
+0x2072 003236 set1 state_inpage ,pdata 
+0x2073 003237 store 1 ,mem_state 
+0x2074 003238 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x2075 003239 call ui_ipc_send_event 
+0x2076 003240 force 0 ,pdata 
+0x2077 003241 setflag true ,smap_name_req ,pdata 
+0x2078 003242 store 1 ,mem_state_map 
+0x2079 003243 setarg 0 
+0x207a 003244 set1 mode_master ,pdata 
+0x207b 003245 store 1 ,mem_mode 
+0x207c 003246 enable master 
+0x207d 003247 call context_save 
+0x207e 003248 disable master 
+0x207f 003249 force page_length_timer ,queue 
+0x2080 003250 fetch 2 ,mem_page_to 
+0x2081 003251 call timer_init 
+0x2082 003252 branch idle_exit 
+:      003253 idle_page_fail:
+0x2083 003254 bpatch patch01_1 ,mem_patch01 
+0x2084 003255 fetch 6 ,mem_hci_plap 
+0x2085 003256 store 6 ,mem_plap 
+0x2086 003257 compare lmp_name_req ,temp ,0xff 
+0x2087 003258 branch idle_name_fail ,true 
+0x2088 003259 branch idle_exit 
+:      003260 idle_name_fail:
+0x2089 003261 arg mem_tmp_buffer ,contw 
+0x208a 003262 arg 8 ,loopcnt 
+0x208b 003263 call memset0 
+0x208c 003264 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x208d 003265 call ui_ipc_send_event 
+0x208e 003266 branch idle_exit 
+:      003273 inquiry_dispatch:
+0x208f 003274 rtnmark0 mark_inquiry_on 
+0x2090 003275 force inquiry_length_timer ,queue 
+0x2091 003276 call timer_check 
+0x2092 003277 nsetflag blank ,mark_inquiry_on ,mark 
+0x2093 003278 nbranch inquiry_start ,blank 
+0x2094 003279 rtn 
+:      003283 inquiry_start:
+0x2095 003284 bpatch patch01_2 ,mem_patch01 
+0x2096 003285 fetcht 2 ,mem_inq_window 
+0x2097 003286 force 4 ,queue 
+0x2098 003287 call sniff_check_window 
+0x2099 003288 rtn user 
+0x209a 003289 call afh_clear 
+0x209b 003290 force 0 ,freq_mode 
+:      003291 inquiry_restart:
+0x209c 003292 rtn timeout 
+0x209d 003293 set0 mark_fhs_already_good ,mark 
+0x209e 003294 set0 mark_fhs_eir ,mark 
+:      003295 inquiry_rx_restart:
+0x209f 003296 add clkn_bt ,1 ,bt_clk 
+0x20a0 003297 isolate1 mark_inquiry_trainb ,mark 
+0x20a1 003298 setflag true ,2 ,freq_mode 
+0x20a2 003299 compare 0x00 ,bt_clk ,0x02 
+0x20a3 003300 nbranch inquiry_receive ,true 
+:      003302 inquiry_transmit:
+0x20a4 003303 bpatch patch01_3 ,mem_patch01 
+0x20a5 003304 fetch 1 ,mem_inquiry_transmit 
+0x20a6 003305 increase 1 ,pdata 
+0x20a7 003306 store 1 ,mem_inquiry_transmit 
+0x20a8 003307 call fetch_giac 
+0x20a9 003308 call tx_radio_freq 
+0x20aa 003309 call fetch_diac 
+0x20ab 003310 call start_transmitter 
+0x20ac 003311 call start_tx_native 
+0x20ad 003312 call send_access_word 
+0x20ae 003313 call end_of_packet 
+0x20af 003314 call inquiry_check_train 
+0x20b0 003315 branch inquiry_restart 
+:      003317 inquiry_check_train:
+0x20b1 003318 bpatch patch01_4 ,mem_patch01 
+0x20b2 003319 fetch 1 ,mem_nfreq_index_inq 
+0x20b3 003320 increase -1 ,pdata 
+0x20b4 003321 store 1 ,mem_nfreq_index_inq 
+0x20b5 003322 rtn positive 
+0x20b6 003323 jam 31 ,mem_nfreq_index_inq 
+0x20b7 003324 fetch 1 ,mem_ninqy_index 
+0x20b8 003325 increase -1 ,pdata 
+0x20b9 003326 store 1 ,mem_ninqy_index 
+0x20ba 003327 rtn positive 
+0x20bb 003328 setflip mark_inquiry_trainb ,mark 
+0x20bc 003329 jam param_ninquiry ,mem_ninqy_index 
+0x20bd 003330 rtn 
+:      003332 inquiry_receive:
+0x20be 003333 bpatch patch01_5 ,mem_patch01 
+0x20bf 003334 call fetch_giac 
+0x20c0 003335 call rx_radio_freq 
+0x20c1 003336 call fetch_diac 
+0x20c2 003337 call start_rx_native 
+0x20c3 003338 call start_receiver 
+0x20c4 003339 call wait_access_clkn_rt 
+0x20c5 003340 branch inquiry_sync ,sync 
+0x20c6 003341 call inquiry_check_train 
+0x20c7 003342 branch inquiry_rx_restart 
+:      003343 inquiry_sync:
+0x20c8 003344 bpatch patch01_6 ,mem_patch01 
+0x20c9 003345 call save_rssi 
+0x20ca 003346 call scan_mode_whiten 
+0x20cb 003347 call receive_packet_whitened 
+0x20cc 003348 set0 mark_rxbuf_inuse ,mark 
+0x20cd 003349 rtnmark0 mark_fhs_already_good 
+:      003350 inquiry_receive_rtn:
+0x20ce 003351 bpatch patch01_7 ,mem_patch01 
+:      003352 inquiry_receive_eir_rtn:
+0x20cf 003353 fetch 1 ,mem_inquiry_rcv 
+0x20d0 003354 increase 1 ,pdata 
+0x20d1 003355 store 1 ,mem_inquiry_rcv 
+0x20d2 003356 rtn 
+:      003364 master_page:
+0x20d3 003365 bpatch patch02_0 ,mem_patch02 
+0x20d4 003366 enable master 
+0x20d5 003367 enable clknt 
+0x20d6 003368 fetch 2 ,mem_page_interval 
+0x20d7 003369 branch master_page_no_interval ,blank 
+0x20d8 003370 force page_interval_timer ,queue 
+0x20d9 003371 call timer_check 
+0x20da 003372 nrtn blank 
+:      003373 master_page_no_interval:
+0x20db 003374 bpatch patch02_1 ,mem_patch02 
+0x20dc 003375 fetcht 2 ,mem_page_window 
+0x20dd 003376 force 40 ,queue 
+0x20de 003377 call sniff_check_window 
+0x20df 003378 branch page_exit ,user 
+0x20e0 003379 force page_length_timer ,queue 
+0x20e1 003380 call timer_check 
+0x20e2 003381 nbranch page_start ,blank 
+0x20e3 003382 fetch 1 ,mem_state_map 
+0x20e4 003383 bbit1 smap_name_req ,master_npage_timeout 
+0x20e5 003384 branch master_page_timeout 
+:      003385 master_npage_timeout:
+0x20e6 003386 arg mem_tmp_buffer ,contw 
+0x20e7 003387 arg 8 ,loopcnt 
+0x20e8 003388 call memset0 
+:      003389 master_page_timeout:
+0x20e9 003390 bpatch patch02_2 ,mem_patch02 
+0x20ea 003391 jam 0 ,mem_state 
+0x20eb 003392 call init_lmp_work 
+0x20ec 003393 jam 0 ,memui_reconnect_mode 
+0x20ed 003394 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x20ee 003395 call ui_ipc_send_event 
+0x20ef 003396 branch page_exit 
+:      003398 page_start:
+0x20f0 003399 bpatch patch02_3 ,mem_patch02 
+0x20f1 003400 force 0 ,timeup 
+0x20f2 003401 until clkn_rt ,meet 
+0x20f3 003402 fetch 1 ,mem_page_clk 
+0x20f4 003403 increase -1 ,pdata 
+0x20f5 003404 ixor clkn_bt ,pdata 
+0x20f6 003405 compare 0 ,pdata ,3 
+0x20f7 003406 nbranch page_start ,true 
+0x20f8 003407 deposit am_addr 
+0x20f9 003408 store 1 ,mem_fhs_am_addr 
+0x20fa 003409 force 0 ,n_tx_slot 
+0x20fb 003410 force 0 ,freq_mode 
+:      003412 page_restart:
+0x20fc 003413 bpatch patch02_4 ,mem_patch02 
+0x20fd 003414 branch page_exit ,timeout 
+0x20fe 003415 call fetch_page_bt_adr 
+0x20ff 003416 arg param_rf_setup ,timeup 
+0x2100 003417 until clkn_rt ,meet 
+:      003418 page_rx_restart:
+0x2101 003419 bpatch patch02_5 ,mem_patch02 
+0x2102 003420 fetch 4 ,mem_page_clk 
+0x2103 003421 iforce bt_clk 
+0x2104 003422 increase 1 ,pdata 
+0x2105 003423 store 4 ,mem_page_clk 
+0x2106 003424 isolate1 mark_page_trainb ,mark 
+0x2107 003425 setflag true ,2 ,freq_mode 
+0x2108 003426 compare 0x00 ,bt_clk ,0x02 
+0x2109 003427 nbranch page_receive ,true 
+0x210a 003428 fetch 1 ,mem_page_transmit 
+0x210b 003429 increase 1 ,pdata 
+0x210c 003430 store 1 ,mem_page_transmit 
+0x210d 003431 call tx_radio_freq 
+0x210e 003432 call start_transmitter 
+0x210f 003433 call start_tx_native 
+0x2110 003434 call send_access_word 
+0x2111 003435 call end_of_packet 
+0x2112 003436 call page_check_train 
+0x2113 003437 branch page_restart 
+:      003438 page_exit:
+0x2114 003439 bpatch patch02_6 ,mem_patch02 
+0x2115 003440 disable master 
+0x2116 003441 fetch 2 ,mem_page_interval 
+0x2117 003442 rtn blank 
+0x2118 003443 force page_interval_timer ,queue 
+0x2119 003444 branch timer_init 
+:      003446 page_check_train:
+0x211a 003447 bpatch patch02_7 ,mem_patch02 
+0x211b 003448 fetch 1 ,mem_nfreq_index_page 
+0x211c 003449 increase -1 ,pdata 
+0x211d 003450 store 1 ,mem_nfreq_index_page 
+0x211e 003451 rtn positive 
+0x211f 003452 jam 31 ,mem_nfreq_index_page 
+0x2120 003453 fetch 1 ,mem_npage_index 
+0x2121 003454 increase -1 ,pdata 
+0x2122 003455 store 1 ,mem_npage_index 
+0x2123 003456 rtn positive 
+0x2124 003457 setflip mark_page_trainb ,mark 
+0x2125 003458 fetch 1 ,mem_npage 
+0x2126 003459 store 1 ,mem_npage_index 
+0x2127 003460 rtn 
+:      003462 page_receive:
+0x2128 003463 bpatch patch03_0 ,mem_patch03 
+0x2129 003464 call rx_radio_freq 
+0x212a 003465 call start_rx_native 
+0x212b 003466 call start_receiver 
+0x212c 003467 call wait_access_clkn_rt 
+0x212d 003468 branch page_sync ,sync 
+0x212e 003469 call page_check_train 
+0x212f 003470 branch page_rx_restart 
+:      003471 page_sync:
+0x2130 003472 call end_of_packet 
+0x2131 003473 fetch 1 ,mem_page_rcv 
+0x2132 003474 increase 1 ,pdata 
+0x2133 003475 store 1 ,mem_page_rcv 
+0x2134 003476 force 0 ,stop_watch 
+0x2135 003477 fetch 4 ,mem_page_clk 
+:      003478 page_send_fhs:
+0x2136 003479 bpatch patch03_1 ,mem_patch03 
+0x2137 003480 call rf_setup_time_master_slot 
+0x2138 003481 call fetch_page_bt_adr 
+0x2139 003482 increase 1 ,n_tx_slot 
+:      003483 page_send_fhs_continue:
+0x213a 003484 and_into 0x1fd ,bt_clk 
+0x213b 003485 and_into 0x1fc ,freq_mode 
+0x213c 003486 call tx_radio_freq 
+0x213d 003487 call start_transmitter 
+0x213e 003488 call start_tx_native 
+0x213f 003489 call send_access_word 
+0x2140 003490 deposit clkn_bt 
+0x2141 003491 store 4 ,mem_clkn_bt 
+0x2142 003492 force 0 ,am_addr 
+0x2143 003493 force type_fhs ,type 
+0x2144 003494 call scan_mode_whiten 
+0x2145 003495 call transmit_packet_whitened 
+:      003496 page_wait_fhs_reply:
+0x2146 003497 bpatch patch03_2 ,mem_patch03 
+0x2147 003498 call rf_setup_time_slave_slot 
+0x2148 003499 or_into 0x02 ,bt_clk 
+0x2149 003500 and_into 0x1fc ,freq_mode 
+0x214a 003501 call rx_radio_freq 
+0x214b 003502 call start_rx_native 
+0x214c 003503 call start_receiver 
+0x214d 003504 call wait_access_clkn_rt 
+0x214e 003505 call end_of_packet ,sync 
+0x214f 003506 branch page_wait_fhs_reply_ok ,sync 
+0x2150 003507 fetch 1 ,mem_fhs_wait_counter 
+0x2151 003508 branch page_restart ,blank 
+0x2152 003509 increase -1 ,pdata 
+0x2153 003510 store 1 ,mem_fhs_wait_counter 
+0x2154 003511 branch page_send_fhs 
+:      003513 page_wait_fhs_reply_ok:
+0x2155 003514 bpatch patch03_3 ,mem_patch03 
+0x2156 003515 fetch 1 ,mem_page_rcv_fhs 
+0x2157 003516 increase 1 ,pdata 
+0x2158 003517 store 1 ,mem_page_rcv_fhs 
+0x2159 003518 call prepare_newconn 
+:      003519 master_newconn_loop:
+0x215a 003520 call master_newconn_once 
+0x215b 003521 branch newconn_poll_responded ,sync 
+0x215c 003522 call new_conn_timeout 
+0x215d 003523 nbranch master_newconn_loop ,blank 
+0x215e 003524 branch page_restart 
+:      003526 newconn_poll_responded:
+0x215f 003527 bpatch patch03_4 ,mem_patch03 
+0x2160 003528 fetch 1 ,mem_state 
+0x2161 003529 set0 state_inpage ,pdata 
+0x2162 003530 store 1 ,mem_state 
+0x2163 003531 call newconn_init 
+0x2164 003532 disable master 
+0x2165 003533 rtn 
+:      003536 master_dispatch:
+0x2166 003537 bpatch patch03_5 ,mem_patch03 
+0x2167 003538 enable master 
+0x2168 003539 enable clknt 
+0x2169 003540 call role_switch_master 
+0x216a 003541 rtn user 
+0x216b 003542 call check_bt_disabled 
+0x216c 003543 call rf_setup_time_master_slot 
+0x216d 003544 add clkn_bt ,1 ,bt_clk 
+0x216e 003545 call fetch_self_bt_adr 
+0x216f 003546 force 0x03 ,freq_mode 
+0x2170 003547 call scheduler_tx_l2cap_pkt 
+0x2171 003548 call prepare_tx 
+0x2172 003549 call tx_radio_freq 
+0x2173 003550 call start_transmitter 
+0x2174 003551 call start_tx_native 
+0x2175 003552 call send_access_word 
+0x2176 003553 call transmit_packet 
+:      003554 master_loop:
+0x2177 003555 bpatch patch03_6 ,mem_patch03 
+0x2178 003556 call parse_lmp 
+0x2179 003557 call master_conn_recv_packet 
+0x217a 003558 nbranch master_notmatch ,match 
+0x217b 003559 call supervision_flush 
+0x217c 003560 call parse_l2cap 
+0x217d 003561 fetch 1 ,mem_master_rcvcnt 
+0x217e 003562 increase 1 ,pdata 
+0x217f 003563 store 1 ,mem_master_rcvcnt 
+:      003564 master_notmatch:
+0x2180 003565 bpatch patch03_7 ,mem_patch03 
+0x2181 003566 call scheduler_process 
+0x2182 003567 call check_master_disconnect 
+0x2183 003568 nrtn master 
+0x2184 003569 call check_attempt 
+0x2185 003570 nbranch master_attempt ,blank 
+:      003571 master_exit:
+0x2186 003572 disable master 
+0x2187 003573 rtn 
+:      003575 master_attempt:
+0x2188 003576 call prepare_tx 
+0x2189 003577 call master_conn_send_packet 
+0x218a 003578 branch master_loop 
+:      003581 check_master_disconnect:
+0x218b 003582 branch check_master_match ,match 
+0x218c 003583 call supervision_update 
+0x218d 003584 branch master_disconnect ,positive 
+:      003585 check_master_match:
+0x218e 003586 call check_disconnect_timeout 
+0x218f 003587 nbranch master_disconnect ,user 
+0x2190 003588 fetch 1 ,mem_state_map 
+0x2191 003589 rtnbit0 smap_name_req 
+0x2192 003590 rtnbit1 smap_name_res 
+0x2193 003591 fetch 1 ,mem_op 
+0x2194 003592 rtnbit1 op_disconn 
+0x2195 003593 call conn_timer_expired 
+0x2196 003594 nrtn blank 
+0x2197 003595 fetch 1 ,mem_nameres_cnt 
+0x2198 003596 increase -1 ,pdata 
+0x2199 003597 store 1 ,mem_nameres_cnt 
+0x219a 003598 nrtn blank 
+0x219b 003599 branch lmp_disconnect 
+:      003601 master_disconnect:
+0x219c 003602 bpatch patch04_0 ,mem_patch04 
+0x219d 003603 call quit_connection 
+0x219e 003604 disable master 
+0x219f 003605 fetch 1 ,mem_state_map 
+0x21a0 003606 bbit1 smap_name_req ,master_name_disconnect 
+0x21a1 003607 rtn 
+:      003609 master_name_disconnect:
+0x21a2 003610 fetch 1 ,mem_state_map 
+0x21a3 003611 rtnbit1 smap_name_res 
+:      003612 master_name_error:
+0x21a4 003613 arg mem_tmp_buffer ,contw 
+0x21a5 003614 arg 8 ,loopcnt 
+0x21a6 003615 branch memset0 
+:      003617 check_disconnect_timeout:
+0x21a7 003618 bpatch patch04_1 ,mem_patch04 
+0x21a8 003619 enable user 
+0x21a9 003620 fetch 1 ,mem_op 
+0x21aa 003621 rtnbit0 op_disconn 
+0x21ab 003622 call conn_timer_expired 
+0x21ac 003623 nrtn blank 
+0x21ad 003624 branch disable_user 
+:      003626 conn_timer_expired:
+0x21ae 003627 fetch 1 ,mem_conn_timer 
+0x21af 003628 increase -1 ,pdata 
+0x21b0 003629 store 1 ,mem_conn_timer 
+0x21b1 003630 rtn 
+:      003632 linkkey_ready:
+0x21b2 003633 bpatch patch04_2 ,mem_patch04 
+0x21b3 003634 fetch 1 ,mem_state 
+0x21b4 003635 bbit1 state_linkkey ,linkkey_set 
+0x21b5 003636 fetch 1 ,mem_pairing_auth 
+0x21b6 003637 branch linkkey_set ,blank 
+0x21b7 003638 jam defalt_pairing_auth ,mem_pairing_auth 
+0x21b8 003639 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x21b9 003640 call ui_ipc_send_event 
+0x21ba 003641 branch linkkey_set 
+:      003642 linkkey_set:
+0x21bb 003643 bpatch patch04_3 ,mem_patch04 
+0x21bc 003644 call context_traverse_linkkey 
+0x21bd 003645 fetch 1 ,mem_state 
+0x21be 003646 set1 state_linkkey ,pdata 
+0x21bf 003647 store 1 ,mem_state 
+0x21c0 003648 jam 1 ,mem_link_key_exists 
+0x21c1 003649 fetch 1 ,mem_conn_sm 
+0x21c2 003650 bne conn_sm_pairing ,linkkey_set_continue 
+:      003651 linkkey_set_continue:
+0x21c3 003652 rtn 
+:      003654 generate_linkkey_continue:
+0x21c4 003655 jam pairing_auth ,mem_pairing_auth 
+:      003656 clear_linkstate:
+0x21c5 003657 fetch 1 ,mem_state 
+0x21c6 003658 set0 state_linkkey ,pdata 
+0x21c7 003659 store 1 ,mem_state 
+0x21c8 003660 rtn 
+:      003664 role_switch_check:
+0x21c9 003665 bpatch patch04_4 ,mem_patch04 
+0x21ca 003666 disable user 
+0x21cb 003667 fetch 2 ,mem_tsniff 
+0x21cc 003668 arg 0xffff ,temp 
+0x21cd 003669 isub temp ,null 
+0x21ce 003670 nrtn zero 
+0x21cf 003671 fetch 4 ,mem_sniff_anchor 
+0x21d0 003672 branch role_switch_clkn ,clknt 
+0x21d1 003673 isub clke_bt ,pdata 
+0x21d2 003674 branch role_switch_clke 
+:      003675 role_switch_clkn:
+0x21d3 003676 isub clkn_bt ,pdata 
+:      003677 role_switch_clke:
+0x21d4 003678 sub pdata ,4 ,null 
+0x21d5 003679 nrtn positive 
+0x21d6 003680 force 0 ,pdata 
+0x21d7 003681 store 2 ,mem_tsniff 
+0x21d8 003682 branch enable_user 
+:      003686 role_switch_prepare:
+0x21d9 003687 copy pdata ,temp 
+0x21da 003688 bpatch patch04_5 ,mem_patch04 
+0x21db 003689 storet 4 ,mem_sniff_anchor 
+:      003690 role_switch_prepare0:
+0x21dc 003691 jam switch_flag_accept ,mem_switch_flag 
+0x21dd 003692 setarg 0xffff 
+0x21de 003693 store 2 ,mem_tsniff 
+0x21df 003694 jam 1 ,mem_sniff_attempt 
+0x21e0 003695 rtn 
+:      003698 role_switch_master:
+0x21e1 003699 bpatch patch04_6 ,mem_patch04 
+0x21e2 003700 call role_switch_check 
+0x21e3 003701 nrtn user 
+0x21e4 003702 disable user 
+0x21e5 003703 jam param_newconnto ,mem_newconnto_counter 
+0x21e6 003704 set0 mark_fhs_already_good ,mark 
+:      003705 roles_waitfhs_loop:
+0x21e7 003706 call rf_setup_time_master_slot 
+0x21e8 003707 call master_recv_packet 
+0x21e9 003708 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x21ea 003709 call new_conn_timeout 
+0x21eb 003710 nbranch roles_waitfhs_loop ,blank 
+:      003711 role_switch_fail_master:
+0x21ec 003712 bpatch patch04_7 ,mem_patch04 
+0x21ed 003713 disable user 
+0x21ee 003714 deposit clkn_bt 
+0x21ef 003715 store 4 ,mem_next_btclk 
+0x21f0 003716 enable clknt 
+0x21f1 003717 enable master 
+0x21f2 003718 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x21f3 003719 branch ui_ipc_send_event 
+:      003721 roles_replyto_fhs:
+0x21f4 003722 bpatch patch05_0 ,mem_patch05 
+0x21f5 003723 call rf_setup_time_slave_slot 
+0x21f6 003724 arg type_id ,type 
+0x21f7 003725 call master_send_packet 
+0x21f8 003726 disable clknt 
+0x21f9 003727 disable master 
+0x21fa 003728 call apply_switch_clke 
+0x21fb 003729 call prepare_newconn 
+:      003730 roles_newconns_loop:
+0x21fc 003731 bpatch patch05_1 ,mem_patch05 
+0x21fd 003732 call slave_newconn_once 
+0x21fe 003733 branch roles_newconns_responded ,match 
+0x21ff 003734 call new_conn_timeout 
+0x2200 003735 nbranch roles_newconns_loop ,blank 
+0x2201 003736 branch role_switch_fail_master 
+:      003737 roles_newconns_responded:
+0x2202 003738 fetch 1 ,mem_mode 
+0x2203 003739 set0 mode_master ,pdata 
+0x2204 003740 store 1 ,mem_mode 
+0x2205 003741 call supervision_flush 
+0x2206 003742 call calc_clke_offset 
+0x2207 003743 enable user 
+0x2208 003744 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x2209 003745 branch ui_ipc_send_event 
+:      003750 context_load:
+0x220a 003751 bpatch patch05_2 ,mem_patch05 
+0x220b 003752 set1 mark_context ,mark 
+0x220c 003753 deposit rega 
+0x220d 003754 store 2 ,mem_context_ptr 
+0x220e 003755 force context_size ,loopcnt 
+0x220f 003756 arg mem_le_state ,contw 
+0x2210 003757 add rega ,coffset_mode ,contr 
+0x2211 003758 ifetch 1 ,contr 
+0x2212 003759 copy rega ,contr 
+0x2213 003760 bbit1 mode_le ,memcpy 
+0x2214 003761 arg mem_state ,contw 
+0x2215 003762 call memcpy 
+0x2216 003763 disable attempt 
+0x2217 003764 fetch 1 ,mem_amaddr 
+0x2218 003765 iforce am_addr 
+0x2219 003766 jam 1 ,mem_current_sniff_attempt 
+0x221a 003767 branch context_load_master ,master 
+0x221b 003768 jam 1 ,mem_current_sniff_attempt 
+:      003769 context_load_master:
+0x221c 003770 fetch 1 ,mem_state 
+0x221d 003771 rtnbit0 state_insniff 
+0x221e 003772 fetch 1 ,mem_sniff_attempt 
+0x221f 003773 store 1 ,mem_current_sniff_attempt 
+0x2220 003774 fetch 1 ,mem_sniff_timeout 
+0x2221 003775 store 1 ,mem_current_sniff_timeout 
+0x2222 003776 rtn 
+:      003778 context_save:
+0x2223 003779 bpatch patch05_3 ,mem_patch05 
+0x2224 003780 fetch 2 ,mem_context_ptr 
+0x2225 003781 iforce contw 
+0x2226 003782 force context_size ,loopcnt 
+0x2227 003783 arg mem_le_state ,contr 
+0x2228 003784 branch memcpy ,le 
+0x2229 003785 arg mem_state ,contr 
+0x222a 003786 branch memcpy 
+:      003790 context_get_next:
+0x222b 003791 arg context_num ,loopcnt 
+0x222c 003792 fetcht 1 ,mem_current_context 
+:      003793 context_get_next_loop:
+0x222d 003794 increase 1 ,temp 
+0x222e 003795 compare context_num ,temp ,0xff 
+0x222f 003796 nbranch context_get_next_cont ,true 
+0x2230 003797 arg 0 ,temp 
+:      003798 context_get_next_cont:
+0x2231 003799 storet 1 ,mem_current_context 
+0x2232 003800 mul32 temp ,context_size ,pdata 
+0x2233 003801 arg mem_context ,rega 
+0x2234 003802 iadd rega ,rega 
+0x2235 003803 ifetch 1 ,rega 
+0x2236 003804 bbit1 state_insniff ,context_get_next_sniff 
+0x2237 003805 rtnbit1 state_inconn 
+0x2238 003806 rtnbit1 state_inpage 
+:      003807 context_get_next_sniff:
+0x2239 003808 loop context_get_next_loop 
+0x223a 003809 rtn 
+:      003811 context_new:
+0x223b 003812 bpatch patch05_4 ,mem_patch05 
+0x223c 003813 arg context_search_empty ,regc 
+0x223d 003814 call context_search 
+0x223e 003815 nrtn zero 
+0x223f 003816 deposit rega 
+0x2240 003817 store 2 ,mem_context_ptr 
+0x2241 003818 force 0 ,null 
+0x2242 003819 rtn 
+:      003823 context_check_all_wack:
+0x2243 003824 call check_esco_amaddr 
+0x2244 003825 branch context_check_esco_wack ,true 
+0x2245 003826 fetch 2 ,mem_context_ptr 
+0x2246 003827 add pdata ,coffset_arq ,contw 
+0x2247 003828 fetch 1 ,mem_arq 
+0x2248 003829 istore 1 ,contw 
+0x2249 003830 arg context_check_a_wack ,regc 
+0x224a 003831 branch context_search 
+:      003833 context_check_esco_wack:
+0x224b 003834 fetch 1 ,mem_arq 
+0x224c 003835 isolate1 wack ,pdata 
+0x224d 003836 branch context_esco_wack ,true 
+0x224e 003837 force 1 ,null 
+0x224f 003838 rtn 
+:      003839 context_esco_wack:
+0x2250 003840 force 0 ,null 
+0x2251 003841 rtn 
+:      003844 context_check_idle:
+0x2252 003845 arg context_check_inconn ,regc 
+0x2253 003846 branch context_search 
+:      003848 context_traverse_linkkey:
+0x2254 003849 fetcht 2 ,mem_context_ptr 
+0x2255 003850 arg context_traverse_clearkey ,regc 
+0x2256 003851 branch context_search 
+:      003855 context_search_conn_handle:
+0x2257 003856 fetcht 1 ,mem_hci_conn_handle 
+:      003857 context_search_conn_handle2:
+0x2258 003858 arg context_search_handle ,regc 
+0x2259 003859 branch context_search 
+:      003861 context_search_plap:
+0x225a 003862 bpatch patch05_5 ,mem_patch05 
+0x225b 003863 fetcht 6 ,mem_hci_plap 
+:      003864 context_search_plap2:
+0x225c 003865 arg context_search_lap ,regc 
+0x225d 003866 branch context_search 
+:      003868 context_search_insniff:
+0x225e 003869 arg context_search_sniff ,regc 
+0x225f 003870 branch context_search 
+:      003872 context_search_sniff_window:
+0x2260 003873 arg context_search_window ,regc 
+:      003874 context_search:
+0x2261 003875 bpatch patch05_6 ,mem_patch05 
+0x2262 003876 arg mem_context ,rega 
+0x2263 003877 arg context_num ,loopcnt 
+:      003878 context_search_loop:
+0x2264 003879 ifetch 1 ,rega 
+0x2265 003880 copy regc ,pc 
+:      003881 context_search_next:
+0x2266 003882 increase context_size ,rega 
+0x2267 003883 loop context_search_loop 
+0x2268 003884 force 1 ,null 
+0x2269 003885 rtn 
+:      003887 context_search_empty:
+0x226a 003888 bbit1 state_inconn ,context_search_next 
+0x226b 003889 bbit1 state_inpage ,context_search_next 
+0x226c 003890 force 0 ,null 
+0x226d 003891 rtn 
+:      003893 context_search_lap:
+0x226e 003894 bbit1 state_inpage ,context_search_lap_cont 
+0x226f 003895 bbit0 state_inconn ,context_search_next 
+:      003896 context_search_lap_cont:
+0x2270 003897 add rega ,coffset_plap ,contr 
+0x2271 003898 ifetch 6 ,contr 
+0x2272 003899 isub temp ,null 
+0x2273 003900 rtn zero 
+0x2274 003901 branch context_search_next 
+:      003903 context_search_handle:
+0x2275 003904 bbit0 state_inconn ,context_search_next 
+0x2276 003905 add rega ,coffset_conn_handle ,contr 
+0x2277 003906 ifetch 1 ,contr 
+0x2278 003907 isub temp ,null 
+0x2279 003908 rtn zero 
+0x227a 003909 branch context_search_next 
+:      003911 context_search_sniff:
+0x227b 003912 bbit0 state_insniff ,context_search_next 
+:      003913 context_search_sniff_loop:
+0x227c 003914 call context_get_anchor 
+0x227d 003915 call sign_pdata_temp 
+0x227e 003916 isub temp ,pdata 
+0x227f 003917 increase 1 ,pdata 
+0x2280 003918 branch context_search_sniff_miss ,positive 
+0x2281 003919 copy contr ,regb 
+0x2282 003920 store 9 ,mem_temp 
+0x2283 003921 fetch 1 ,mem_le_sc_calc 
+0x2284 003922 nbranch context_search_sniff_sc ,blank 
+0x2285 003923 fetch 9 ,mem_temp 
+0x2286 003924 copy regb ,contr 
+0x2287 003925 increase 5 ,pdata 
+0x2288 003926 branch context_search_meet1 
+:      003927 context_search_sniff_sc:
+0x2289 003928 fetch 9 ,mem_temp 
+0x228a 003929 copy regb ,contr 
+0x228b 003930 increase 20 ,pdata 
+:      003931 context_search_meet1:
+0x228c 003932 nbranch context_search_next ,positive 
+:      003933 context_search_meet:
+0x228d 003934 copy temp ,bt_clk 
+0x228e 003935 call context_next_anchor 
+0x228f 003936 force 0 ,null 
+0x2290 003937 rtn 
+:      003940 context_search_sniff_miss:
+0x2291 003941 iforce regb 
+0x2292 003942 add rega ,coffset_tsniff ,contr 
+0x2293 003943 ifetch 2 ,contr 
+0x2294 003944 branch context_search_meet ,blank 
+0x2295 003945 call context_next_anchor 
+0x2296 003946 branch context_search_sniff_loop 
+:      003948 sign_pdata_temp:
+0x2297 003949 rshift16 pdata ,timeup 
+0x2298 003950 rshift8 timeup ,timeup 
+0x2299 003951 branch sign_pdata_temp_p0 ,zero 
+0x229a 003952 compare 0xf ,timeup ,0xf 
+0x229b 003953 nrtn true 
+0x229c 003954 rshift16 temp ,timeup 
+0x229d 003955 rshift8 timeup ,timeup 
+0x229e 003956 nrtn zero 
+0x229f 003957 set1 28 ,temp 
+0x22a0 003958 rtn 
+:      003959 sign_pdata_temp_p0:
+0x22a1 003960 rshift16 temp ,timeup 
+0x22a2 003961 rshift8 timeup ,timeup 
+0x22a3 003962 compare 0xf ,timeup ,0xf 
+0x22a4 003963 nrtn true 
+0x22a5 003964 set1 28 ,pdata 
+0x22a6 003965 rtn 
+:      003967 context_check_inconn:
+0x22a7 003968 bbit0 state_inconn ,context_search_next 
+0x22a8 003969 force 0 ,null 
+0x22a9 003970 rtn 
+:      003972 context_check_a_wack:
+0x22aa 003973 bbit0 state_inconn ,context_search_next 
+0x22ab 003974 add rega ,coffset_mode ,contr 
+0x22ac 003975 ifetch 1 ,contr 
+0x22ad 003976 bbit1 mode_le ,context_search_next 
+0x22ae 003977 add rega ,coffset_arq ,contr 
+0x22af 003978 ifetch 1 ,contr 
+0x22b0 003979 bbit0 wack ,context_search_next 
+0x22b1 003980 force 0 ,null 
+0x22b2 003981 rtn 
+:      003983 context_get_anchor:
+0x22b3 003984 add rega ,coffset_mode ,contr 
+0x22b4 003985 ifetcht 1 ,contr 
+0x22b5 003986 deposit clkn_bt 
+0x22b6 003987 isolate1 mode_master ,temp 
+0x22b7 003988 add rega ,coffset_sniff_anchor ,contr 
+0x22b8 003989 ifetcht 4 ,contr 
+0x22b9 003990 rtn true 
+0x22ba 003991 add rega ,coffset_clk_offset ,contr 
+0x22bb 003992 ifetch 6 ,contr 
+0x22bc 003993 call calc_clke2 
+0x22bd 003994 deposit clke_bt 
+0x22be 003995 rtn 
+:      003997 context_next_anchor:
+0x22bf 003998 add rega ,coffset_tsniff ,contr 
+0x22c0 003999 add rega ,coffset_sniff_anchor ,contw 
+0x22c1 004000 ifetch 2 ,contr 
+0x22c2 004001 iadd temp ,timeup 
+0x22c3 004002 deposit timeup 
+0x22c4 004003 istore 4 ,contw 
+0x22c5 004004 branch le_context_nexthop 
+:      004007 context_search_window:
+0x22c6 004008 bbit0 state_insniff ,context_search_next 
+0x22c7 004009 call context_get_anchor 
+0x22c8 004010 iadd stop_watch ,pdata 
+0x22c9 004011 iadd stop_watch ,pdata 
+0x22ca 004012 iadd queue ,pdata 
+0x22cb 004013 isub temp ,null 
+0x22cc 004014 nbranch context_search_next ,positive 
+0x22cd 004015 force 0 ,null 
+0x22ce 004016 rtn 
+:      004018 context_traverse_clearkey:
+0x22cf 004019 bbit0 state_inconn ,context_search_next 
+0x22d0 004020 deposit temp 
+0x22d1 004021 isub rega ,null 
+0x22d2 004022 branch context_search_next ,null 
+0x22d3 004023 add rega ,coffset_mode ,contr 
+0x22d4 004024 ifetch 1 ,contr 
+0x22d5 004025 bbit1 mode_le ,context_search_next 
+0x22d6 004026 ifetch 1 ,rega 
+0x22d7 004027 set0 state_linkkey ,pdata 
+0x22d8 004028 istore 1 ,rega 
+0x22d9 004029 branch context_search_next 
+:      004032 master_conn_send_packet:
+0x22da 004033 bpatch patch05_7 ,mem_patch05 
+0x22db 004034 call rf_setup_time_master_slot 
+:      004035 master_send_packet:
+0x22dc 004036 add clkn_bt ,1 ,bt_clk 
+0x22dd 004037 call fetch_self_bt_adr 
+0x22de 004038 force 0x03 ,freq_mode 
+0x22df 004039 call tx_radio_freq 
+0x22e0 004040 call start_transmitter 
+0x22e1 004041 call start_tx_native 
+0x22e2 004042 call send_access_word 
+0x22e3 004043 branch transmit_packet 
+:      004045 master_conn_recv_packet:
+0x22e4 004046 bpatch patch06_0 ,mem_patch06 
+0x22e5 004047 call rf_setup_time_slave_slot 
+:      004048 master_recv_packet:
+0x22e6 004049 add clkn_bt ,1 ,bt_clk 
+0x22e7 004050 call fetch_self_bt_adr 
+0x22e8 004051 force 0x03 ,freq_mode 
+0x22e9 004052 call rx_radio_freq 
+0x22ea 004053 call init_rx_packet_flags 
+0x22eb 004054 call prep_crypt 
+0x22ec 004055 call start_rx_native 
+0x22ed 004056 call start_receiver 
+:      004057 master_rx_conn_finish_packet:
+0x22ee 004058 call wait_access_clkn_rt 
+0x22ef 004059 nrtn sync 
+0x22f0 004060 call save_rssi 
+0x22f1 004061 branch receive_packet 
+:      004065 master_newconn_once:
+0x22f2 004066 bpatch patch06_1 ,mem_patch06 
+0x22f3 004067 fetch 1 ,mem_fhs_am_addr 
+0x22f4 004068 iforce am_addr 
+0x22f5 004069 force type_poll ,type 
+0x22f6 004070 call master_conn_send_packet 
+0x22f7 004071 branch master_conn_recv_packet 
+:      004082 inquiry_scan_dispatch:
+0x22f8 004083 fetch 1 ,mem_scan_mode 
+0x22f9 004084 rtnbit0 inq_scan_mode 
+0x22fa 004085 force iscan_interval_timer ,queue 
+0x22fb 004086 call timer_check 
+0x22fc 004087 nrtn blank 
+0x22fd 004088 fetcht 2 ,mem_iscan_window 
+0x22fe 004089 force 4 ,queue 
+0x22ff 004090 call sniff_check_window 
+0x2300 004091 rtn user 
+0x2301 004092 call inquiry_scan_start 
+0x2302 004093 force iscan_interval_timer ,queue 
+0x2303 004094 fetch 2 ,mem_iscan_interval 
+0x2304 004095 nbranch timer_init ,sync 
+0x2305 004096 random pdata 
+0x2306 004097 iand mask3ff ,pdata 
+0x2307 004098 branch timer_init 
+:      004101 inquiry_scan_start:
+0x2308 004102 bpatch patch06_2 ,mem_patch06 
+0x2309 004103 jam 0 ,mem_fhs_am_addr 
+0x230a 004104 disable clknt 
+0x230b 004105 disable attempt 
+0x230c 004106 call afh_clear 
+0x230d 004107 and clkn_bt ,0x1fc ,bt_clk 
+0x230e 004108 force 0x01 ,freq_mode 
+0x230f 004109 call fetch_giac 
+0x2310 004110 call rx_radio_freq 
+0x2311 004111 setflip mark_inquiry_state ,mark 
+0x2312 004112 fetch 1 ,mem_inquiryscan_waitcnt 
+0x2313 004113 increase 1 ,pdata 
+0x2314 004114 store 1 ,mem_inquiryscan_waitcnt 
+0x2315 004115 call fetch_diac 
+0x2316 004116 call start_receiver 
+0x2317 004117 call wait_access_forever 
+0x2318 004118 nrtn sync 
+0x2319 004119 bpatch patch06_3 ,mem_patch06 
+0x231a 004120 force 0 ,stop_watch 
+0x231b 004121 call shutdown_radio 
+0x231c 004122 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x231d 004123 increase 1 ,pdata 
+0x231e 004124 store 1 ,mem_inquiryscan_rcvcnt 
+0x231f 004125 call fetch_giac 
+0x2320 004126 call rf_setup_time_slave_slot 
+0x2321 004127 or_into 0x002 ,bt_clk 
+0x2322 004128 force 0x01 ,freq_mode 
+0x2323 004129 call tx_radio_freq 
+0x2324 004130 call fetch_diac 
+0x2325 004131 call start_transmitter 
+0x2326 004132 call start_tx_external 
+0x2327 004133 deposit clkn_bt 
+0x2328 004134 store 4 ,mem_clkn_bt 
+0x2329 004135 call send_access_word 
+0x232a 004136 force type_fhs ,type 
+0x232b 004137 force 0 ,am_addr 
+0x232c 004138 call scan_mode_whiten 
+0x232d 004139 call transmit_packet_whitened 
+0x232e 004140 call send_eir 
+0x232f 004141 and_into 0x1fd ,bt_clk 
+0x2330 004142 increase 1 ,n_tx_slot 
+0x2331 004143 rtn 
+:      004145 send_eir:
+0x2332 004146 bpatch patch06_4 ,mem_patch06 
+0x2333 004147 fetch 1 ,mem_eir_enable 
+0x2334 004148 rtn blank 
+0x2335 004149 arg mem_eir ,contw 
+0x2336 004150 fetch 1 ,mem_local_name_length 
+0x2337 004151 copy pdata ,loopcnt 
+0x2338 004152 increase 1 ,pdata 
+0x2339 004153 istore 1 ,contw 
+0x233a 004154 copy contw ,temp 
+0x233b 004155 increase 1 ,pdata 
+0x233c 004156 store 2 ,mem_tx_len 
+0x233d 004157 copy temp ,contw 
+0x233e 004158 setarg 0x09 
+0x233f 004159 istore 1 ,contw 
+0x2340 004160 arg mem_local_name ,contr 
+0x2341 004161 call memcpy 
+0x2342 004163 arg mem_all_uuid_128bits ,regc 
+0x2343 004164 arg 4 ,loopcnt 
+0x2344 004165 call get_all_uuid 
+0x2345 004166 arg mem_all_uuid_16bits ,regc 
+0x2346 004167 arg 1 ,loopcnt 
+0x2347 004168 call get_all_uuid 
+0x2348 004170 force type_dm3 ,type 
+0x2349 004171 jam 2 ,mem_tx_lch 
+0x234a 004172 setarg mem_eir 
+0x234b 004173 store 2 ,mem_txptr 
+0x234c 004174 call rf_setup_time_slave_slot 
+0x234d 004175 call tx_radio_freq 
+0x234e 004176 call start_transmitter 
+0x234f 004177 call start_tx_external 
+0x2350 004178 call send_access_word 
+0x2351 004179 call scan_mode_whiten 
+0x2352 004180 call transmit_packet_whitened 
+0x2353 004181 rtn 
+:      004184 get_all_uuid:
+0x2354 004185 copy contw ,temp 
+0x2355 004186 copy regc ,contr 
+0x2356 004187 ifetch 1 ,contr 
+0x2357 004188 rtn blank 
+:      004189 lshift_loop:
+0x2358 004190 lshift pdata ,pdata 
+0x2359 004191 loop lshift_loop 
+0x235a 004192 copy pdata ,rega 
+0x235b 004193 increase 2 ,pdata 
+0x235c 004194 copy pdata ,queue 
+0x235d 004195 fetch 2 ,mem_tx_len 
+0x235e 004196 iadd queue ,pdata 
+0x235f 004197 store 2 ,mem_tx_len 
+0x2360 004198 copy temp ,contw 
+0x2361 004199 copy rega ,pdata 
+0x2362 004200 increase 1 ,pdata 
+0x2363 004201 istore 1 ,contw 
+0x2364 004202 copy regc ,contr 
+0x2365 004203 ifetch 1 ,contr 
+0x2366 004204 ifetch 1 ,contr 
+0x2367 004205 istore 1 ,contw 
+0x2368 004206 copy rega ,loopcnt 
+0x2369 004207 branch memcpy 
+:      004213 page_scan_dispatch:
+0x236a 004214 fetch 1 ,mem_scan_mode 
+0x236b 004215 rtnbit0 page_scan_mode 
+0x236c 004216 force pscan_interval_timer ,queue 
+0x236d 004217 call timer_check 
+0x236e 004218 nrtn blank 
+0x236f 004219 fetcht 2 ,mem_pscan_window 
+0x2370 004220 force 40 ,queue 
+0x2371 004221 call sniff_check_window 
+0x2372 004222 rtn user 
+0x2373 004223 force 0 ,am_addr 
+0x2374 004224 jam param_pagerespto ,mem_fhs_wait_counter 
+0x2375 004225 set0 mark_fhs_already_good ,mark 
+0x2376 004226 call page_scan_start 
+0x2377 004227 force pscan_interval_timer ,queue 
+0x2378 004228 fetch 2 ,mem_pscan_interval 
+0x2379 004229 branch timer_init 
+:      004232 page_scan_start:
+0x237a 004233 bpatch patch06_5 ,mem_patch06 
+0x237b 004234 disable clknt 
+0x237c 004235 call afh_clear 
+0x237d 004236 fetch 1 ,mem_pagescan_waitcnt 
+0x237e 004237 increase 1 ,pdata 
+0x237f 004238 store 1 ,mem_pagescan_waitcnt 
+0x2380 004239 force 0 ,n_tx_slot 
+0x2381 004240 call fetch_self_bt_adr 
+0x2382 004241 add clkn_bt ,1 ,bt_clk 
+0x2383 004242 force 0x02 ,freq_mode 
+0x2384 004243 bpatch patch06_6 ,mem_patch06 
+0x2385 004244 call rx_radio_freq 
+0x2386 004245 call start_receiver 
+0x2387 004246 call wait_access_forever 
+0x2388 004247 nrtn sync 
+0x2389 004248 call shutdown_radio 
+0x238a 004249 fetch 1 ,mem_pagescan_rcvcnt 
+0x238b 004250 increase 1 ,pdata 
+0x238c 004251 store 1 ,mem_pagescan_rcvcnt 
+0x238d 004252 force 0 ,stop_watch 
+0x238e 004253 call rf_setup_time_slave_slot 
+0x238f 004254 or_into 0x002 ,bt_clk 
+0x2390 004255 force 0x01 ,freq_mode 
+0x2391 004256 call tx_radio_freq 
+0x2392 004257 call start_transmitter 
+0x2393 004258 call start_tx_external 
+0x2394 004259 call send_access_word 
+0x2395 004260 call end_of_packet 
+0x2396 004261 force 0 ,am_addr 
+0x2397 004262 arg param_rf_setup ,timeup 
+0x2398 004263 until clke_rt ,meet 
+0x2399 004264 or_into 0x03 ,clke_bt 
+0x239a 004265 and_into 0x1fd ,bt_clk 
+:      004266 page_scan_wait_fhs_restart:
+0x239b 004267 bpatch patch06_7 ,mem_patch06 
+0x239c 004268 increase 1 ,n_tx_slot 
+0x239d 004269 call rx_radio_freq 
+0x239e 004270 call start_receiver 
+0x239f 004271 call wait_access_mhalfbnd 
+0x23a0 004272 nbranch page_scan_wait_fhs_again ,sync 
+0x23a1 004273 call scan_mode_whiten 
+0x23a2 004274 call receive_packet_whitened 
+0x23a3 004275 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      004276 page_scan_wait_fhs_again:
+0x23a4 004277 bpatch patch07_0 ,mem_patch07 
+0x23a5 004278 fetch 1 ,mem_fhs_wait_counter 
+0x23a6 004279 rtn blank 
+0x23a7 004280 increase -1 ,pdata 
+0x23a8 004281 store 1 ,mem_fhs_wait_counter 
+0x23a9 004282 call rf_setup_time_master_slot 
+0x23aa 004283 branch page_scan_wait_fhs_restart 
+:      004286 page_scan_reply_to_fhs:
+0x23ab 004287 bpatch patch07_1 ,mem_patch07 
+0x23ac 004288 set0 1 ,clke_bt 
+0x23ad 004289 set1 0 ,clke_bt 
+0x23ae 004290 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x23af 004291 increase 1 ,pdata 
+0x23b0 004292 store 1 ,mem_pagescan_rcvfhscnt 
+0x23b1 004293 call rf_setup_time_slave_slot 
+0x23b2 004294 or_into 0x02 ,bt_clk 
+0x23b3 004295 call tx_radio_freq 
+0x23b4 004296 call start_transmitter 
+0x23b5 004297 call start_tx_external 
+0x23b6 004298 call send_access_word 
+0x23b7 004299 call end_of_packet 
+:      004300 slave_apply_clke_bt:
+0x23b8 004301 compare 0x03 ,clke_bt ,0x03 
+0x23b9 004302 branch slave_apply_clke_bt_now ,true 
+0x23ba 004303 until null ,mhalfbnd 
+0x23bb 004304 branch slave_apply_clke_bt 
+:      004305 slave_apply_clke_bt_now:
+0x23bc 004306 fetch 4 ,mem_clke_bt 
+0x23bd 004307 or_into 0x03 ,pdata 
+0x23be 004308 icopy clke_bt 
+:      004310 start_slave_connection:
+0x23bf 004311 bpatch patch07_2 ,mem_patch07 
+0x23c0 004312 fetch 6 ,extm_lap 
+0x23c1 004313 store 6 ,mem_plap 
+0x23c2 004314 call prepare_newconn 
+:      004315 slave_newconn_loop:
+0x23c3 004316 call slave_newconn_once 
+0x23c4 004317 branch sconn_successful ,match 
+0x23c5 004318 call new_conn_timeout 
+0x23c6 004319 nbranch slave_newconn_loop ,blank 
+0x23c7 004320 rtn 
+:      004323 sconn_successful:
+0x23c8 004324 bpatch patch07_3 ,mem_patch07 
+0x23c9 004325 call newconn_init 
+0x23ca 004326 call context_new 
+0x23cb 004327 nrtn zero 
+0x23cc 004328 jam 0 ,mem_mode 
+0x23cd 004329 call calc_clke_offset 
+0x23ce 004330 branch context_save 
+:      004335 slave_dispatch:
+0x23cf 004336 bpatch patch07_4 ,mem_patch07 
+0x23d0 004337 call calc_clke 
+0x23d1 004338 call role_switch_slave 
+0x23d2 004339 rtn user 
+:      004340 slave_loop:
+0x23d3 004341 bpatch patch07_5 ,mem_patch07 
+0x23d4 004342 call check_bt_disabled 
+0x23d5 004343 call scheduler_process 
+0x23d6 004344 call slave_conn_recv_packet 
+0x23d7 004345 nbranch slave_notmatch ,match 
+0x23d8 004346 call supervision_flush 
+0x23d9 004347 call scheduler_tx_l2cap_pkt 
+0x23da 004348 call prepare_tx 
+0x23db 004349 call slave_conn_send_packet 
+0x23dc 004350 call parse_l2cap 
+0x23dd 004351 call parse_lmp 
+0x23de 004352 fetch 1 ,mem_slave_rcvcnt 
+0x23df 004353 increase 1 ,pdata 
+0x23e0 004354 store 1 ,mem_slave_rcvcnt 
+0x23e1 004355 call calc_clke_offset 
+:      004356 slave_notmatch:
+0x23e2 004357 bpatch patch07_6 ,mem_patch07 
+0x23e3 004358 call lpm_set_mult 
+0x23e4 004359 call supervision_update 
+0x23e5 004360 branch slave_disconnect ,positive 
+0x23e6 004361 call check_disconnect_timeout 
+0x23e7 004362 nbranch slave_disconnect ,user 
+0x23e8 004363 call check_attempt 
+0x23e9 004364 nbranch slave_loop ,blank 
+0x23ea 004365 rtn 
+:      004367 slave_disconnect:
+0x23eb 004368 bpatch patch07_7 ,mem_patch07 
+0x23ec 004369 jam 0 ,mem_tester_emulate 
+0x23ed 004370 jam 0 ,mem_debug_config 
+0x23ee 004371 call quit_connection 
+0x23ef 004372 set0 mark_testmode ,mark 
+0x23f0 004373 call test_enable_white 
+0x23f1 004374 fetch 1 ,mem_state 
+0x23f2 004375 rtn 
+:      004378 role_switch_slave:
+0x23f3 004379 bpatch patch08_0 ,mem_patch08 
+0x23f4 004380 call role_switch_check 
+0x23f5 004381 nrtn user 
+0x23f6 004382 copy am_addr ,temp 
+0x23f7 004383 call get_free_amaddr 
+0x23f8 004384 store 1 ,mem_fhs_am_addr 
+0x23f9 004385 copy temp ,am_addr 
+0x23fa 004386 jam param_newconnto ,mem_newconnto_counter 
+:      004387 roles_sendfhs_loop:
+0x23fb 004388 bpatch patch08_1 ,mem_patch08 
+0x23fc 004389 call rf_setup_time_master_slot 
+0x23fd 004390 force type_fhs ,type 
+0x23fe 004391 call slave_send_access 
+0x23ff 004392 deposit clkn_bt 
+0x2400 004393 store 4 ,mem_clkn_bt 
+0x2401 004394 call transmit_packet 
+0x2402 004395 call rf_setup_time_slave_slot 
+0x2403 004396 enable user3 
+0x2404 004397 call slave_receive_access 
+0x2405 004398 branch roles_got_fhs_reply ,sync 
+0x2406 004399 call shutdown_radio 
+0x2407 004400 call new_conn_timeout 
+0x2408 004401 nbranch roles_sendfhs_loop ,blank 
+0x2409 004402 rtnmark0 mark_accept_switch 
+0x240a 004403 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x240b 004404 set1 mark_switch_initiated ,mark 
+0x240c 004405 rtn 
+:      004406 roles_got_fhs_reply:
+0x240d 004407 enable clknt 
+0x240e 004408 call prepare_newconn 
+0x240f 004409 call afh_clear 
+:      004410 roles_newconn_loop:
+0x2410 004411 bpatch patch08_2 ,mem_patch08 
+0x2411 004412 call master_newconn_once 
+0x2412 004413 branch roles_newconn_responded ,sync 
+0x2413 004414 call new_conn_timeout 
+0x2414 004415 nbranch roles_newconn_loop ,blank 
+0x2415 004416 disable clknt 
+0x2416 004417 deposit clke_bt 
+0x2417 004418 store 4 ,mem_next_btclk 
+0x2418 004419 rtn 
+:      004420 roles_newconn_responded:
+0x2419 004421 enable master 
+0x241a 004422 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x241b 004423 set0 mark_accept_switch ,mark 
+0x241c 004424 jam lmp_accepted ,mem_lmo_opcode2 
+0x241d 004425 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x241e 004426 call tid_set_reply 
+:      004427 roles_newconn_nolmp:
+0x241f 004428 deposit am_addr 
+0x2420 004429 store 1 ,mem_amaddr 
+0x2421 004430 force 0 ,pdata 
+0x2422 004431 store 6 ,mem_clk_offset 
+0x2423 004432 fetch 1 ,mem_mode 
+0x2424 004433 set1 mode_master ,pdata 
+0x2425 004434 store 1 ,mem_mode 
+0x2426 004435 call supervision_flush 
+0x2427 004436 disable master 
+0x2428 004437 enable user 
+0x2429 004438 rtn 
+:      004442 init_rx_packet_flags:
+0x242a 004443 bpatch patch08_3 ,mem_patch08 
+0x242b 004444 disable match 
+0x242c 004445 set0 mark_loopback ,mark 
+0x242d 004446 set0 mark_am_addr_broadcast ,mark 
+0x242e 004447 set0 mark_longpacket ,mark 
+0x242f 004448 set0 mark_old_packet ,mark 
+0x2430 004449 fetch 1 ,mem_arq 
+0x2431 004450 set0 arqnx ,pdata 
+0x2432 004451 set1 flowx ,pdata 
+0x2433 004452 store 1 ,mem_arq 
+0x2434 004453 rtn 
+:      004455 prepare_newconn:
+0x2435 004456 bpatch patch08_4 ,mem_patch08 
+0x2436 004457 jam param_newconnto ,mem_newconnto_counter 
+0x2437 004458 jam param_newconn_arq ,mem_arq 
+0x2438 004459 fetch 2 ,mem_rx_window_init 
+0x2439 004460 store 2 ,mem_rx_window 
+0x243a 004461 deposit clkn_bt 
+0x243b 004462 store 4 ,mem_next_btclk 
+0x243c 004463 rtn clknt 
+0x243d 004464 deposit clke_bt 
+0x243e 004465 store 4 ,mem_next_btclk 
+0x243f 004466 rtn 
+:      004468 newconn_init:
+0x2440 004469 bpatch patch08_5 ,mem_patch08 
+0x2441 004470 call init_lmp_reinit 
+0x2442 004471 call new_conn_handle 
+0x2443 004472 store 1 ,mem_conn_handle 
+0x2444 004473 setarg 0 
+0x2445 004474 store 2 ,mem_l2cap_rxbuff1_len 
+0x2446 004475 setarg param_supervision_to 
+0x2447 004476 store 2 ,mem_supervision_to 
+0x2448 004477 fetch 1 ,mem_state 
+0x2449 004478 set1 state_inconn ,pdata 
+0x244a 004479 store 1 ,mem_state 
+0x244b 004480 jam 0 ,mem_op 
+0x244c 004481 jam 0 ,mem_state_map 
+0x244d 004482 jam 0 ,mem_lpm_current_mult 
+0x244e 004483 branch supervision_flush 
+:      004486 clear_linkkey:
+0x244f 004487 bpatch patch08_6 ,mem_patch08 
+0x2450 004488 force 0 ,pdata 
+0x2451 004489 store 8 ,mem_link_key 
+0x2452 004490 istore 8 ,contw 
+0x2453 004491 call clear_linkstate 
+0x2454 004492 branch context_traverse_linkkey 
+:      004494 new_conn_timeout:
+0x2455 004495 fetch 1 ,mem_newconnto_counter 
+0x2456 004496 increase -1 ,pdata 
+0x2457 004497 store 1 ,mem_newconnto_counter 
+0x2458 004498 rtn 
+:      004500 new_conn_handle:
+0x2459 004501 fetch 1 ,mem_handle_num 
+0x245a 004502 increase 1 ,pdata 
+0x245b 004503 store 1 ,mem_handle_num 
+0x245c 004504 rtn 
+:      004507 quit_connection:
+0x245d 004508 bpatch patch08_7 ,mem_patch08 
+0x245e 004509 fetch 1 ,mem_hci_cmd 
+0x245f 004510 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x2460 004511 fetch 1 ,mem_lmp_to_send 
+0x2461 004512 bne lmp_name_req ,quit_connection_cont 
+:      004513 quit_connection_name:
+0x2462 004514 call cmd_check_plap 
+0x2463 004515 nbranch quit_connection_cont ,zero 
+0x2464 004516 call master_name_error 
+0x2465 004517 jam 0 ,mem_hci_cmd 
+:      004518 quit_connection_cont:
+0x2466 004519 bpatch patch09_0 ,mem_patch09 
+0x2467 004520 call app_disconn_reason_collect_bt 
+0x2468 004521 call sniff_exit 
+0x2469 004522 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x246a 004523 call ui_ipc_send_event 
+0x246b 004524 call init_lmp_work 
+0x246c 004525 call l2cap_init_work 
+0x246d 004526 call sp_initialize 
+0x246e 004527 fetch 1 ,mem_state 
+0x246f 004528 set0 state_inconn 
+0x2470 004529 store 1 ,mem_state 
+0x2471 004530 jam 0 ,memui_reconnect_mode 
+0x2472 004532 fetch 1 ,mem_state_map 
+0x2473 004533 compare 0x0 ,pdata ,0xc0 
+0x2474 004534 branch quit_connection_not_clear_mark ,true 
+0x2475 004535 set0 mark_rxbuf_inuse ,mark 
+:      004536 quit_connection_not_clear_mark:
+0x2476 004537 fetch 1 ,mem_arq 
+0x2477 004538 bbit0 wack ,quit_connection_not_clear_tx 
+:      004539 quit_connection_not_clear_tx:
+0x2478 004540 fetch 1 ,mem_op 
+0x2479 004541 rtnbit0 op_txl2cap 
+0x247a 004542 set0 mark_tx_l2cap ,mark 
+0x247b 004543 rtn 
+:      004545 slave_newconn_once:
+0x247c 004546 bpatch patch09_1 ,mem_patch09 
+0x247d 004547 fetch 1 ,extm_newconn_am_addr 
+0x247e 004548 rtn blank 
+0x247f 004549 icopy am_addr 
+0x2480 004550 call slave_conn_recv_packet 
+0x2481 004551 nrtn match 
+0x2482 004552 force type_null ,type 
+0x2483 004553 call slave_conn_send_packet 
+0x2484 004554 deposit am_addr 
+0x2485 004555 store 1 ,mem_amaddr 
+0x2486 004556 force 0 ,pdata 
+0x2487 004557 store 1 ,extm_newconn_am_addr 
+0x2488 004558 rtn 
+:      004564 prepare_tx:
+0x2489 004565 bpatch patch09_2 ,mem_patch09 
+0x248a 004566 fetch 1 ,mem_state 
+0x248b 004567 bbit0 state_insco ,prepare_tx_not_sco 
+0x248c 004568 force type_hv3 ,type 
+0x248d 004569 bmark0 mark_esco ,prepare_tx_not_esco 
+0x248e 004570 call check_esco_amaddr 
+0x248f 004571 nbranch prepare_tx_not_sco ,true 
+0x2490 004572 branch prepare_tx_not_sco ,attempt 
+0x2491 004573 call set_wait_ack 
+0x2492 004574 setarg 2 
+0x2493 004575 store 2 ,mem_retransmission_cnt 
+0x2494 004576 rtn 
+:      004577 prepare_tx_not_esco:
+0x2495 004578 nrtn attempt 
+:      004579 prepare_tx_not_sco:
+0x2496 004580 bpatch patch09_3 ,mem_patch09 
+0x2497 004581 call context_check_all_wack 
+0x2498 004582 nbranch prepare_tx_no_retransmit ,zero 
+0x2499 004583 fetch 1 ,mem_arq 
+0x249a 004584 bbit0 wack ,prepare_tx_pollnull 
+:      004585 prepare_tx_retransmit:
+0x249b 004586 bmark1 mark_loopback ,prepare_tx_loopback 
+0x249c 004587 fetch 1 ,mem_debug_config 
+0x249d 004588 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x249e 004589 fetch 2 ,mem_retransmission_cnt 
+0x249f 004590 increase -1 ,pdata 
+0x24a0 004591 store 2 ,mem_retransmission_cnt 
+0x24a1 004592 branch prepare_tx_nomore_retransmit ,blank 
+0x24a2 004593 fetch 1 ,mem_last_type 
+0x24a3 004594 iforce type 
+0x24a4 004595 rtn 
+:      004597 prepare_tx_nomore_retransmit:
+0x24a5 004598 bpatch patch09_4 ,mem_patch09 
+0x24a6 004599 call clear_got_tx 
+:      004600 prepare_tx_no_retransmit:
+0x24a7 004601 call check_esco_amaddr 
+0x24a8 004602 branch prepare_tx_pollnull ,true 
+0x24a9 004603 call send_lmp 
+0x24aa 004604 branch prepare_tx_sendlmp ,user 
+0x24ab 004605 fetch 1 ,mem_op 
+0x24ac 004606 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x24ad 004607 bmark1 mark_loopback ,prepare_tx_loopback 
+0x24ae 004608 fetch 1 ,mem_debug_config 
+0x24af 004609 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      004610 prepare_tx_pollnull:
+0x24b0 004611 force type_poll ,type 
+0x24b1 004612 rtn master 
+0x24b2 004613 force type_null ,type 
+0x24b3 004614 rtn 
+:      004615 prepare_tx_loopback:
+0x24b4 004616 bpatch patch09_5 ,mem_patch09 
+0x24b5 004617 fetch 1 ,mem_rx_type 
+0x24b6 004618 iforce type 
+0x24b7 004619 rtnne 1 
+0x24b8 004620 force type_null ,type 
+0x24b9 004621 rtn 
+:      004622 prepare_tx_txpat:
+0x24ba 004623 fetch 1 ,test_mode_packet_type 
+0x24bb 004624 and pdata ,0xf ,type 
+0x24bc 004625 set1 mark_loopback ,mark 
+0x24bd 004626 rtn 
+:      004627 prepare_tx_sendlmp:
+0x24be 004628 force type_lmp ,type 
+0x24bf 004629 branch set_wait_ack 
+:      004630 prepare_tx_sendl2cap:
+0x24c0 004631 call tx_l2cap_type 
+:      004633 set_wait_ack:
+0x24c1 004634 bpatch patch09_6 ,mem_patch09 
+0x24c2 004635 fetcht 1 ,mem_arq 
+0x24c3 004636 set1 wack ,temp 
+0x24c4 004637 storet 1 ,mem_arq 
+0x24c5 004638 deposit type 
+0x24c6 004639 store 1 ,mem_last_type 
+0x24c7 004640 setarg 0xffff 
+0x24c8 004641 store 2 ,mem_retransmission_cnt 
+0x24c9 004642 rtn 
+:      004644 tx_l2cap_type:
+0x24ca 004645 bpatch patch09_7 ,mem_patch09 
+0x24cb 004646 fetch 1 ,mem_state_map 
+0x24cc 004647 isolate1 smap_edr ,pdata 
+0x24cd 004648 fetch 2 ,mem_tx_len 
+0x24ce 004649 branch tx_l2cap_type_edr ,true 
+0x24cf 004650 force type_dm1 ,type 
+0x24d0 004651 sub pdata ,17 ,null 
+0x24d1 004652 rtn positive 
+0x24d2 004653 force type_dh1 ,type 
+0x24d3 004654 sub pdata ,27 ,null 
+0x24d4 004655 rtn positive 
+0x24d5 004656 force type_dm3 ,type 
+0x24d6 004657 sub pdata ,121 ,null 
+0x24d7 004658 rtn positive 
+0x24d8 004659 force type_dh3 ,type 
+0x24d9 004660 sub pdata ,183 ,null 
+0x24da 004661 rtn positive 
+0x24db 004662 force type_dm5 ,type 
+0x24dc 004663 sub pdata ,224 ,null 
+0x24dd 004664 rtn positive 
+0x24de 004665 force type_dh5 ,type 
+0x24df 004666 rtn 
+:      004667 tx_l2cap_type_edr:
+0x24e0 004668 force type_dm1 ,type 
+0x24e1 004669 sub pdata ,17 ,null 
+0x24e2 004670 rtn positive 
+0x24e3 004671 force type_dh1 ,type 
+0x24e4 004672 sub pdata ,54 ,null 
+0x24e5 004673 rtn positive 
+0x24e6 004674 force type_dm3 ,type 
+0x24e7 004675 arg 367 ,temp 
+0x24e8 004676 isub temp ,null 
+0x24e9 004677 nrtn positive 
+0x24ea 004678 force type_dm5 ,type 
+0x24eb 004679 arg 679 ,temp 
+0x24ec 004680 isub temp ,null 
+0x24ed 004681 nrtn positive 
+0x24ee 004682 force type_dh5 ,type 
+0x24ef 004683 rtn 
+:      004692 slave_receive_master_slot:
+0x24f0 004693 fetch 1 ,mem_state 
+0x24f1 004694 bbit0 state_insniff ,slave_receive_notsniff 
+0x24f2 004695 fetch 2 ,mem_tsniff 
+0x24f3 004696 branch slave_receive_notsniff ,blank 
+0x24f4 004697 nbranch slave_receive_sniff ,attempt 
+:      004698 slave_receive_notsniff:
+0x24f5 004699 call rf_setup_time_master_slot 
+:      004700 slave_receive_access:
+0x24f6 004701 add clke_bt ,1 ,bt_clk 
+:      004702 slave_receive_sniff:
+0x24f7 004703 enable swfine 
+0x24f8 004704 fetch 2 ,mem_rx_window 
+0x24f9 004705 rshift pdata ,pdata 
+0x24fa 004706 arg param_pll_setup ,temp 
+0x24fb 004707 iadd temp ,pdata 
+0x24fc 004708 call ahead_window 
+0x24fd 004709 call fetch_extm_bt_adr 
+0x24fe 004710 force 0x03 ,freq_mode 
+0x24ff 004711 call rx_radio_freq 
+0x2500 004712 call init_rx_packet_flags 
+0x2501 004713 call prep_crypt 
+0x2502 004714 bpatch patch0a_0 ,mem_patch0a 
+0x2503 004715 fetch 2 ,mem_rx_window 
+0x2504 004716 rshift pdata ,pdata 
+0x2505 004717 call ahead_window 
+0x2506 004718 call start_receiver 
+0x2507 004719 enable decode_fec0 
+0x2508 004720 fetch 2 ,mem_rx_window 
+0x2509 004721 arg param_clke_cal ,temp 
+0x250a 004722 iadd temp ,stop_watch 
+0x250b 004723 correlate null ,timeout 
+0x250c 004724 copy clke ,temp 
+0x250d 004725 storet 6 ,mem_sync_clke 
+0x250e 004726 disable decode_fec0 
+0x250f 004727 nrtn sync 
+0x2510 004728 arg param_clke_cal ,clke_rt 
+0x2511 004729 copy bt_clk ,clke_bt 
+0x2512 004730 branch lpm_adjust_clk ,wake 
+0x2513 004731 rtn 
+:      004734 slave_conn_recv_packet:
+0x2514 004735 bpatch patch0a_1 ,mem_patch0a 
+0x2515 004736 call slave_receive_master_slot 
+0x2516 004737 nbranch shutdown_radio ,sync 
+0x2517 004738 call save_rssi 
+0x2518 004739 bmark0 mark_testmode ,receive_packet 
+0x2519 004740 fetch 2 ,mem_tst_pktcnt_sync 
+0x251a 004741 increase 1 ,pdata 
+0x251b 004742 store 2 ,mem_tst_pktcnt_sync 
+:      004743 receive_packet:
+0x251c 004744 rshift bt_clk ,temp 
+0x251d 004745 or temp ,0x40 ,white_init 
+:      004746 receive_packet_whitened:
+0x251e 004747 bpatch patch0a_2 ,mem_patch0a 
+0x251f 004748 enable enable_white 
+0x2520 004749 enable enable_hec 
+0x2521 004750 enable decode_fec1 
+0x2522 004751 parse demod ,bucket ,3 
+0x2523 004752 rshift8 pwindow ,pdata 
+0x2524 004753 store 1 ,mem_temp_am_addr 
+0x2525 004754 parse demod ,bucket ,4 
+0x2526 004755 inject bucket ,7 
+0x2527 004756 copy pwindow ,pdata 
+0x2528 004757 store 1 ,mem_rx_type 
+0x2529 004758 parse demod ,bucket ,3 
+0x252a 004759 rshift8 pwindow ,pdata 
+0x252b 004760 store 1 ,mem_temp_arq 
+0x252c 004761 fetch 1 ,mem_rx_type 
+0x252d 004762 sub pdata ,3 ,null 
+0x252e 004763 branch receive_packet_noedr ,positive 
+0x252f 004764 beq 7 ,receive_packet_noedr 
+0x2530 004765 fetch 1 ,mem_state_map 
+0x2531 004766 isolate1 smap_edr ,pdata 
+0x2532 004767 setflag true ,psk ,radio_ctrl 
+:      004768 receive_packet_noedr:
+0x2533 004769 bpatch patch0a_3 ,mem_patch0a 
+0x2534 004770 parse demod ,bucket ,8 
+0x2535 004771 disable decode_fec1 
+0x2536 004772 disable enable_hec 
+0x2537 004773 branch error_header ,crc_failed 
+0x2538 004774 bmark0 mark_testmode ,receive_packet_amchk 
+0x2539 004775 fetch 2 ,mem_tst_pktcnt_hec 
+0x253a 004776 increase 1 ,pdata 
+0x253b 004777 store 2 ,mem_tst_pktcnt_hec 
+:      004778 receive_packet_amchk:
+0x253c 004779 bpatch patch0a_4 ,mem_patch0a 
+0x253d 004780 fetch 1 ,mem_temp_am_addr 
+0x253e 004781 compare 0 ,pdata ,0x07 
+0x253f 004782 setflag true ,mark_am_addr_broadcast ,mark 
+0x2540 004783 branch am_addr_ok ,true 
+0x2541 004784 icompare 0x07 ,am_addr 
+0x2542 004785 branch am_addr_match ,true 
+0x2543 004786 bmark0 mark_esco ,end_of_packet 
+0x2544 004787 fetcht 1 ,mem_saved_amaddr 
+0x2545 004788 icompare 0x7 ,temp 
+0x2546 004789 nbranch end_of_packet ,true 
+0x2547 004790 fetch 1 ,mem_arq 
+0x2548 004791 set0 arqnx ,pdata 
+0x2549 004792 set1 flowx ,pdata 
+0x254a 004793 store 1 ,mem_arq 
+:      004794 am_addr_match:
+0x254b 004795 enable match 
+:      004796 am_addr_ok:
+0x254c 004797 bpatch patch0a_5 ,mem_patch0a 
+0x254d 004798 fetch 1 ,mem_rx_type 
+0x254e 004799 icopy type 
+0x254f 004800 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x2550 004801 fetcht 1 ,mem_temp_arq 
+0x2551 004802 fetch 1 ,mem_arq 
+0x2552 004803 set0 flow ,pdata 
+0x2553 004804 isolate1 flow ,temp 
+0x2554 004805 setflag true ,flow ,pdata 
+0x2555 004806 isolate1 arqn ,temp 
+0x2556 004807 setflag true ,arqn ,pdata 
+0x2557 004808 store 1 ,mem_arq 
+0x2558 004809 isolate0 arqn ,temp 
+0x2559 004810 branch arqn_bypass ,true 
+0x255a 004811 call clear_got_tx 
+:      004812 arqn_bypass:
+0x255b 004813 bpatch patch0a_6 ,mem_patch0a 
+0x255c 004814 arg 0 ,temp 
+0x255d 004815 call reserve_slot 
+0x255e 004816 and type ,0xf ,pdata 
+0x255f 004817 beq type_poll ,process_poll 
+0x2560 004818 beq type_null ,end_of_packet 
+0x2561 004819 beq type_fhs ,process_fhs 
+0x2562 004820 fetcht 1 ,mem_temp_arq 
+0x2563 004821 fetch 1 ,mem_arq 
+0x2564 004822 icompare 0x04 ,temp 
+0x2565 004823 nbranch rx_type_dispatch ,true 
+0x2566 004824 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x2567 004825 bbit0 bcast1 ,rx_type_dispatch 
+:      004826 failed_seqn:
+0x2568 004827 set1 mark_old_packet ,mark 
+:      004828 rx_type_dispatch:
+0x2569 004829 bpatch patch0a_7 ,mem_patch0a 
+0x256a 004830 deposit type 
+0x256b 004831 beq type_dm1 ,process_dm1 
+0x256c 004832 beq type_dh1 ,process_dh1 
+0x256d 004833 beq type_hv3 ,process_hev 
+0x256e 004834 beq type_3dh1 ,process_3dh1 
+0x256f 004835 arg 4 ,temp 
+0x2570 004836 call reserve_slot 
+0x2571 004837 beq type_dm3 ,process_dm3 
+0x2572 004838 beq type_dh3 ,process_dh3 
+0x2573 004839 arg 8 ,temp 
+0x2574 004840 call reserve_slot 
+0x2575 004841 beq type_dm5 ,process_dm5 
+0x2576 004842 beq type_dh5 ,process_dh5 
+0x2577 004843 rtn 
+:      004846 process_hev:
+0x2578 004847 bpatch patch0b_0 ,mem_patch0b 
+0x2579 004848 enable decode_fec0 
+0x257a 004849 enable enable_crc 
+0x257b 004850 enable encrypt 
+0x257c 004851 arg mem_sco_ibuf ,contw 
+0x257d 004852 force 30 ,loopcnt 
+:      004853 process_hev_loop:
+0x257e 004854 parse demod ,bucket ,8 
+0x257f 004855 rshift3 pwindow ,pdata 
+0x2580 004856 istore 1 ,contw 
+0x2581 004857 loop process_hev_loop 
+0x2582 004858 bmark0 mark_esco ,end_of_packet 
+0x2583 004859 parse demod ,bucket ,16 
+0x2584 004860 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x2585 004861 branch error_payload ,crc_failed 
+0x2586 004862 branch ack_payload 
+:      004865 process_poll:
+0x2587 004866 branch end_of_packet 
+:      004868 process_dm3:
+:      004869 process_dm5:
+0x2588 004870 set1 mark_longpacket ,mark 
+:      004871 process_dm1:
+0x2589 004872 enable decode_fec2 
+0x258a 004873 branch process_dmh 
+:      004875 process_dh3:
+:      004876 process_dh5:
+0x258b 004877 set1 mark_longpacket ,mark 
+:      004878 process_3dh1:
+0x258c 004879 set1 psk3m ,radio_ctrl 
+:      004880 process_dh1:
+0x258d 004881 enable decode_fec0 
+:      004882 process_dmh:
+0x258e 004883 bpatch patch0b_1 ,mem_patch0b 
+0x258f 004884 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x2590 004885 isolate0 psk ,radio_ctrl 
+0x2591 004886 branch process_dmh_noedr ,true 
+0x2592 004887 disable enable_white 
+0x2593 004888 enable decode_fec0 
+0x2594 004889 disable decode_fec2 
+0x2595 004890 add clkn_bt ,2 ,timeup 
+0x2596 004891 correlate clkn_bt ,meet 
+0x2597 004892 nbranch error_payload ,sync 
+0x2598 004893 set1 mark_longpacket ,mark 
+0x2599 004894 enable enable_white 
+:      004895 process_dmh_noedr:
+0x259a 004896 bpatch patch0b_2 ,mem_patch0b 
+0x259b 004897 enable encrypt 
+0x259c 004898 enable enable_crc 
+0x259d 004899 parse demod ,bucket ,3 
+0x259e 004900 rshift8 pwindow ,pdata 
+0x259f 004901 store 1 ,mem_lch_code 
+0x25a0 004902 parse demod ,bucket ,5 
+0x25a1 004903 bmark1 mark_longpacket ,process_dmh_long 
+0x25a2 004904 rshift3 pwindow ,loopcnt 
+0x25a3 004905 rshift3 loopcnt ,loopcnt 
+0x25a4 004906 branch process_dmh_common 
+:      004907 process_dmh_long:
+0x25a5 004908 parse demod ,bucket ,5 
+0x25a6 004909 rshift pwindow ,loopcnt 
+0x25a7 004910 parse demod ,bucket ,3 
+:      004911 process_dmh_common:
+0x25a8 004912 bpatch patch0b_3 ,mem_patch0b 
+0x25a9 004913 deposit loopcnt 
+0x25aa 004914 store 2 ,mem_len 
+0x25ab 004915 branch process_dmh_data_end ,blank 
+0x25ac 004916 isub mask3ff ,null 
+0x25ad 004917 branch error_payload ,positive 
+0x25ae 004918 bpatch patch0b_4 ,mem_patch0b 
+0x25af 004919 set0 mark_fhs_eir ,mark 
+0x25b0 004920 fetch 1 ,mem_lch_code 
+0x25b1 004921 and_into 0x03 ,pdata 
+0x25b2 004922 arg mem_rxbuf ,contw 
+0x25b3 004923 beq llid_lmp ,process_lmp 
+0x25b4 004924 bmark1 mark_testmode ,process_dmh_data 
+0x25b5 004926 fetch 1 ,mem_lch_code 
+0x25b6 004927 and_into 0x03 ,pdata 
+0x25b7 004928 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x25b8 004929 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x25b9 004930 branch error_payload 
+:      004932 process_lmp:
+0x25ba 004933 fetch 2 ,mem_len 
+0x25bb 004934 sub pdata ,0x70 ,null 
+0x25bc 004935 nbranch error_payload ,positive 
+0x25bd 004936 bmark1 mark_old_packet ,ack_payload 
+0x25be 004937 branch process_dmh_data 
+:      004940 process_dmh_data_l2cap_start_pkt:
+0x25bf 004941 bpatch patch0b_5 ,mem_patch0b 
+0x25c0 004942 bmark1 mark_old_packet ,ack_payload 
+0x25c1 004943 fetch 2 ,mem_len 
+0x25c2 004944 arg 0x2e0 ,temp 
+0x25c3 004945 isub temp ,null 
+0x25c4 004946 branch error_payload ,positive 
+0x25c5 004947 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x25c6 004948 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x25c7 004949 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x25c8 004950 branch end_of_packet 
+:      004951 process_dmh_data_into_buff1:
+0x25c9 004952 jam 1 ,mem_l2cap_rxbuff_new 
+0x25ca 004953 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25cb 004954 bne 0 ,end_of_packet 
+0x25cc 004955 arg mem_l2cap_rxbuff1 ,contw 
+0x25cd 004956 branch process_dmh_data 
+:      004957 process_dmh_data_into_buff2:
+0x25ce 004958 jam 2 ,mem_l2cap_rxbuff_new 
+0x25cf 004959 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25d0 004960 bne 0 ,end_of_packet 
+0x25d1 004961 arg mem_l2cap_rxbuff2 ,contw 
+0x25d2 004962 branch process_dmh_data 
+:      004964 process_dmh_data_l2cap_continue_pkt:
+0x25d3 004965 bpatch patch0b_6 ,mem_patch0b 
+0x25d4 004966 bmark1 mark_old_packet ,ack_payload 
+0x25d5 004967 fetch 2 ,mem_len 
+0x25d6 004968 arg 0x2e0 ,temp 
+0x25d7 004969 isub temp ,null 
+0x25d8 004970 branch error_payload ,positive 
+0x25d9 004971 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25da 004972 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x25db 004973 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x25dc 004974 branch end_of_packet 
+:      004975 process_dmh_data_l2cap_continue_pkt1:
+0x25dd 004976 arg mem_l2cap_rxbuff1 ,contw 
+0x25de 004977 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25df 004978 iadd contw ,contw 
+0x25e0 004979 branch process_dmh_data 
+:      004980 process_dmh_data_l2cap_continue_pkt2:
+0x25e1 004981 arg mem_l2cap_rxbuff2 ,contw 
+0x25e2 004982 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25e3 004983 iadd contw ,contw 
+:      004984 process_dmh_data:
+0x25e4 004985 parse demod ,bucket ,8 
+0x25e5 004986 rshift3 pwindow ,pdata 
+0x25e6 004987 istore 1 ,contw 
+0x25e7 004988 loop process_dmh_data 
+:      004989 process_dmh_data_end:
+0x25e8 004990 bpatch patch0b_7 ,mem_patch0b 
+0x25e9 004991 parse demod ,bucket ,16 
+0x25ea 004992 branch error_payload_crc ,crc_failed 
+0x25eb 004993 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x25ec 004994 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x25ed 004995 bmark1 mark_testmode ,process_dmh_cont 
+0x25ee 004996 bmark1 mark_old_packet ,redundant_payload 
+0x25ef 004997 fetch 1 ,mem_lch_code 
+0x25f0 004998 compare 3 ,pdata ,3 
+0x25f1 004999 branch process_dmh_cont ,true 
+0x25f2 005000 fetch 2 ,mem_len 
+0x25f3 005001 branch process_dmh_cont ,blank 
+0x25f4 005002 bpatch patch0c_0 ,mem_patch0c 
+0x25f5 005003 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25f6 005004 beq 1 ,process_l2cap_pass_crc_buff1 
+0x25f7 005005 beq 2 ,process_l2cap_pass_crc_buff2 
+0x25f8 005006 branch assert 
+:      005007 process_l2cap_pass_crc_buff1:
+0x25f9 005008 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25fa 005009 fetcht 2 ,mem_len 
+0x25fb 005010 iadd temp ,pdata 
+0x25fc 005011 store 2 ,mem_l2cap_rxbuff1_len 
+0x25fd 005012 beq 0 ,assert 
+0x25fe 005013 fetcht 2 ,mem_l2cap_rxbuff1 
+0x25ff 005014 increase 4 ,temp 
+0x2600 005015 isub temp ,null 
+0x2601 005016 call l2cap_buff1_inuse ,zero 
+0x2602 005017 branch process_dmh_cont 
+:      005018 process_l2cap_pass_crc_buff2:
+0x2603 005019 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x2604 005020 fetcht 2 ,mem_len 
+0x2605 005021 iadd temp ,pdata 
+0x2606 005022 store 2 ,mem_l2cap_rxbuff2_len 
+0x2607 005023 beq 0 ,assert 
+0x2608 005024 fetcht 2 ,mem_l2cap_rxbuff2 
+0x2609 005025 add temp ,4 ,temp 
+0x260a 005026 isub temp ,null 
+0x260b 005027 call l2cap_buff2_inuse ,zero 
+0x260c 005028 branch process_dmh_cont 
+:      005029 process_dmh_cont:
+0x260d 005030 bpatch patch0c_1 ,mem_patch0c 
+0x260e 005031 fetcht 1 ,mem_state_map 
+0x260f 005032 fetch 1 ,mem_lch_code 
+0x2610 005033 compare 3 ,pdata ,0x03 
+0x2611 005034 setflag true ,smap_rxlmp ,temp 
+0x2612 005035 nsetflag true ,smap_rxl2cap ,temp 
+0x2613 005036 storet 1 ,mem_state_map 
+0x2614 005037 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x2615 005038 set1 mark_rxbuf_inuse ,mark 
+:      005039 process_dmh_cont_rxbuf_not_use:
+0x2616 005040 bmark0 mark_testmode ,ack_payload 
+0x2617 005041 isolate1 smap_rxlmp ,temp 
+0x2618 005042 branch ack_payload ,true 
+0x2619 005043 fetch 2 ,mem_tst_pktcnt_crc 
+0x261a 005044 increase 1 ,pdata 
+0x261b 005045 store 2 ,mem_tst_pktcnt_crc 
+0x261c 005046 set1 mark_loopback ,mark 
+0x261d 005047 set0 smap_rxl2cap ,temp 
+0x261e 005048 set0 mark_rxbuf_inuse ,mark 
+0x261f 005049 storet 1 ,mem_state_map 
+:      005050 ack_payload:
+0x2620 005051 bpatch patch0c_2 ,mem_patch0c 
+0x2621 005052 fetcht 1 ,mem_temp_arq 
+0x2622 005053 fetch 1 ,mem_arq 
+0x2623 005054 set1 arqnx ,pdata 
+0x2624 005055 isolate1 seqn ,temp 
+0x2625 005056 setflag true ,seqn ,pdata 
+0x2626 005057 isolate1 mark_am_addr_broadcast ,mark 
+0x2627 005058 setflag true ,bcast1 ,pdata 
+0x2628 005059 store 1 ,mem_arq 
+0x2629 005060 fetch 2 ,mem_len 
+0x262a 005061 nbranch end_of_packet ,blank 
+0x262b 005062 fetch 1 ,mem_state_map 
+0x262c 005063 set0 smap_rxl2cap ,pdata 
+0x262d 005064 store 1 ,mem_state_map 
+0x262e 005065 fetch 1 ,mem_lch_code 
+0x262f 005066 compare 0x01 ,pdata ,0x07 
+0x2630 005068 branch end_of_packet 
+:      005070 error_header:
+0x2631 005071 bpatch patch0c_3 ,mem_patch0c 
+0x2632 005072 disable match 
+0x2633 005073 fetch 2 ,mem_rx_hec_err 
+0x2634 005074 increase 1 ,pdata 
+0x2635 005075 store 2 ,mem_rx_hec_err 
+0x2636 005076 branch end_of_packet 
+:      005077 error_payload_crc:
+0x2637 005078 fetch 2 ,mem_rx_crc_err 
+0x2638 005079 increase 1 ,pdata 
+0x2639 005080 store 2 ,mem_rx_crc_err 
+0x263a 005081 call discard_pkt 
+0x263b 005082 bmark0 mark_testmode ,error_payload 
+0x263c 005083 set1 mark_loopback ,mark 
+:      005084 error_payload:
+0x263d 005085 branch end_of_packet 
+:      005087 discard_pkt:
+0x263e 005088 bpatch patch0c_4 ,mem_patch0c 
+0x263f 005089 fetch 1 ,mem_lch_code 
+0x2640 005090 compare 3 ,pdata ,0x03 
+0x2641 005091 nbranch discard_pkt_l2cap ,true 
+:      005092 discard_pkt_lmp:
+0x2642 005093 fetcht 1 ,mem_state_map 
+0x2643 005094 set0 smap_rxlmp ,temp 
+0x2644 005095 storet 1 ,mem_state_map 
+0x2645 005096 rtn 
+:      005097 discard_pkt_l2cap:
+0x2646 005100 fetcht 1 ,mem_state_map 
+0x2647 005101 set0 smap_rxl2cap ,temp 
+0x2648 005102 storet 1 ,mem_state_map 
+0x2649 005103 branch h4_send_acl_trigger_clear 
+:      005105 redundant_payload:
+0x264a 005106 fetch 1 ,mem_arq 
+0x264b 005107 set1 arqnx ,pdata 
+0x264c 005108 store 1 ,mem_arq 
+:      005109 end_of_packet:
+0x264d 005110 bpatch patch0c_5 ,mem_patch0c 
+0x264e 005111 disable encode_fec0 
+0x264f 005112 disable encode_fec2 
+0x2650 005113 disable decode_fec0 
+0x2651 005114 disable decode_fec2 
+0x2652 005115 disable enable_crc 
+0x2653 005116 disable encrypt 
+0x2654 005117 disable enable_white 
+0x2655 005118 branch shutdown_radio ,is_rx 
+0x2656 005119 until null ,tx_clear 
+0x2657 005120 nop 100 
+0x2658 005121 branch shutdown_radio 
+:      005123 process_fhs:
+0x2659 005124 bpatch patch0c_6 ,mem_patch0c 
+0x265a 005125 enable enable_crc 
+0x265b 005126 enable decode_fec2 
+0x265c 005127 parse demod ,bucket ,72 
+0x265d 005128 isolate1 58 ,pdata 
+0x265e 005129 setflag true ,mark_fhs_eir ,mark 
+0x265f 005130 copy bt_adr ,temp 
+0x2660 005131 ialigned bt_adr 
+0x2661 005132 ialigned fhs0 
+0x2662 005133 pulse recalc 
+0x2663 005134 setsect 2 ,0xfffff 
+0x2664 005135 setsect 3 ,0x0ffff 
+0x2665 005136 nop 32 
+0x2666 005137 iverify fhs_parity 
+0x2667 005138 deposit lap 
+0x2668 005139 store 3 ,extm_lap 
+0x2669 005140 deposit uap 
+0x266a 005141 store 1 ,extm_uap 
+0x266b 005142 copy temp ,bt_adr 
+0x266c 005143 branch fhs_parity_ok ,true 
+0x266d 005144 branch error_payload 
+:      005145 fhs_parity_ok:
+0x266e 005146 bpatch patch0c_7 ,mem_patch0c 
+0x266f 005147 parse demod ,bucket ,72 
+0x2670 005148 ialigned fhs1 
+0x2671 005149 ialigned am_addr 
+0x2672 005150 ialigned nap 
+0x2673 005151 ialigned regb 
+0x2674 005152 force 0 ,pdata 
+0x2675 005153 parse demod ,bucket ,16 
+0x2676 005154 branch error_payload ,crc_failed 
+0x2677 005155 setarg 0x0ffffffc 
+0x2678 005156 iand regb ,pdata 
+0x2679 005157 store 4 ,mem_clke_bt 
+0x267a 005158 deposit fhs_class 
+0x267b 005159 store 3 ,extm_class 
+0x267c 005160 deposit fhs_misc 
+0x267d 005161 store 1 ,extm_fhs_misc 
+0x267e 005162 deposit am_addr 
+0x267f 005163 store 1 ,extm_newconn_am_addr 
+0x2680 005164 deposit nap 
+0x2681 005165 store 2 ,extm_nap 
+0x2682 005166 deposit bt_clk 
+0x2683 005167 inject rxf ,32 
+0x2684 005168 compare type_fhs ,type ,0x0f 
+0x2685 005169 setflag true ,mark_fhs_already_good ,mark 
+0x2686 005170 branch end_of_packet 
+:      005172 clear_got_tx:
+0x2687 005173 bpatch patch0d_0 ,mem_patch0d 
+0x2688 005174 fetch 1 ,mem_arq 
+0x2689 005175 rtnbit0 wack 
+0x268a 005176 set0 wack ,pdata 
+0x268b 005177 setflip seqnx ,pdata 
+0x268c 005178 store 1 ,mem_arq 
+0x268d 005179 fetch 1 ,mem_last_type 
+0x268e 005180 beq type_lmp ,clear_got_txlmp 
+0x268f 005181 rtneq type_hv3 
+0x2690 005182 fetch 1 ,mem_op 
+0x2691 005183 rtnbit0 op_txl2cap ,pdata 
+0x2692 005184 set0 op_txl2cap ,pdata 
+0x2693 005185 set1 op_pkt_comp ,pdata 
+0x2694 005186 store 1 ,mem_op 
+0x2695 005187 set0 mark_tx_l2cap ,mark 
+0x2696 005188 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x2697 005189 nrtn blank 
+0x2698 005190 fetch 1 ,mem_op 
+0x2699 005191 set0 op_pkt_comp ,pdata 
+0x269a 005192 store 1 ,mem_op 
+0x269b 005193 branch l2cap_malloc_free 
+:      005195 clear_got_txlmp:
+0x269c 005196 bpatch patch0d_1 ,mem_patch0d 
+0x269d 005197 fetch 1 ,mem_lmo_header_opcode 
+0x269e 005198 rshift pdata ,pdata 
+0x269f 005199 beq lmp_start_encryption_req ,start_encryption 
+0x26a0 005200 beq lmp_stop_encryption_req ,stop_encryption 
+0x26a1 005201 beq lmp_unsniff_req ,sniff_exit 
+0x26a2 005202 beq lmp_escape ,clear_lmp_escape 
+0x26a3 005203 rtnne lmp_accepted 
+0x26a4 005204 fetch 1 ,mem_lmo_payload 
+0x26a5 005205 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x26a6 005206 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x26a7 005207 rtn 
+:      005209 clear_lmp_escape:
+0x26a8 005210 fetch 1 ,mem_lmo_payload 
+0x26a9 005211 set1 7 ,pdata 
+0x26aa 005212 rtn 
+:      005213 clear_send_setup_complete:
+0x26ab 005214 rtn master 
+0x26ac 005215 fetch 1 ,mem_state 
+0x26ad 005216 rtnbit1 state_conn_comp 
+0x26ae 005217 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x26af 005218 rtn 
+:      005221 sco_link_req_by_slave:
+0x26b0 005222 rtn master 
+0x26b1 005223 fetch 1 ,mem_mode 
+0x26b2 005224 isolate1 send_sco_when_slave ,pdata 
+0x26b3 005225 branch clean_mem_mode ,true 
+0x26b4 005227 rtn 
+:      005228 clean_mem_mode:
+0x26b5 005229 set0 send_sco_when_slave ,pdata 
+0x26b6 005230 store 1 ,mem_mode 
+0x26b7 005231 rtn 
+:      005233 start_encryption:
+0x26b8 005234 bpatch patch0d_2 ,mem_patch0d 
+0x26b9 005235 fetch 1 ,mem_state_map 
+0x26ba 005236 set1 smap_encryption ,pdata 
+0x26bb 005237 store 1 ,mem_state_map 
+0x26bc 005238 jam 1 ,core_encrypt 
+0x26bd 005239 fetch 1 ,mem_state 
+0x26be 005240 isolate1 state_conn_comp ,pdata 
+0x26bf 005241 rtn 
+:      005243 stop_encryption:
+0x26c0 005244 bpatch patch0d_3 ,mem_patch0d 
+0x26c1 005245 fetch 1 ,mem_state_map 
+0x26c2 005246 set0 smap_encryption ,pdata 
+0x26c3 005247 store 1 ,mem_state_map 
+0x26c4 005248 jam 0 ,core_encrypt 
+0x26c5 005249 rtn 
+:      005252 sniff_init:
+0x26c6 005253 bpatch patch0d_4 ,mem_patch0d 
+0x26c7 005254 copy clkn_bt ,pdata 
+0x26c8 005255 store 4 ,mem_lpm_delay_after_sniff 
+0x26c9 005256 add clkn_bt ,3 ,rega 
+0x26ca 005257 branch sniff_init_master ,master 
+0x26cb 005258 add clke_bt ,3 ,rega 
+:      005259 sniff_init_master:
+0x26cc 005260 fetcht 2 ,mem_tsniff 
+0x26cd 005261 deposit rega 
+0x26ce 005262 set0 27 ,pdata 
+0x26cf 005263 idiv temp 
+0x26d0 005264 fetch 2 ,mem_dsniff 
+0x26d1 005265 call wait_div_end 
+0x26d2 005266 remainder regc 
+0x26d3 005267 isub regc ,pdata 
+0x26d4 005268 branch sniff_init_nowrap ,positive 
+0x26d5 005269 iadd temp ,pdata 
+:      005270 sniff_init_nowrap:
+0x26d6 005271 iadd rega ,pdata 
+0x26d7 005272 store 4 ,mem_sniff_anchor 
+0x26d8 005273 jam switch_flag_init ,mem_switch_flag 
+0x26d9 005274 fetch 1 ,mem_state 
+0x26da 005275 set1 state_insniff ,pdata 
+0x26db 005276 store 1 ,mem_state 
+0x26dc 005277 fetch 1 ,mem_sniff_attempt 
+0x26dd 005278 store 1 ,mem_current_sniff_attempt 
+0x26de 005279 setarg 0 
+0x26df 005280 store 3 ,mem_sniff_rcv 
+0x26e0 005281 store 3 ,mem_sniff_lost 
+0x26e1 005282 store 1 ,mem_sniff_unint_lost 
+0x26e2 005283 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x26e3 005284 call ui_ipc_send_event 
+0x26e4 005285 fetch 2 ,mem_rx_window_sniff 
+0x26e5 005286 store 2 ,mem_rx_window 
+0x26e6 005287 nrtn master 
+0x26e7 005288 add am_addr ,-1 ,queue 
+0x26e8 005289 rtn 
+:      005291 sniff_exit:
+0x26e9 005292 bpatch patch0d_5 ,mem_patch0d 
+0x26ea 005293 fetch 1 ,mem_state 
+0x26eb 005294 rtnbit0 state_insniff 
+0x26ec 005295 set0 state_insniff ,pdata 
+0x26ed 005296 store 1 ,mem_state 
+0x26ee 005297 fetch 2 ,mem_rx_window_init 
+0x26ef 005298 store 2 ,mem_rx_window 
+0x26f0 005299 disable wake 
+0x26f1 005300 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x26f2 005301 branch ui_ipc_send_event 
+:      005304 check_attempt:
+0x26f3 005305 bpatch patch0d_6 ,mem_patch0d 
+0x26f4 005306 enable attempt 
+0x26f5 005307 fetch 1 ,mem_state 
+0x26f6 005308 bbit1 state_insniff ,check_attempt_sniff 
+0x26f7 005309 rtnmark1 mark_testmode 
+0x26f8 005310 fetch 1 ,mem_arq 
+0x26f9 005311 rtnbit1 wack 
+0x26fa 005312 fetch 1 ,mem_lmp_to_send 
+0x26fb 005313 nrtn blank 
+0x26fc 005314 fetch 1 ,mem_op 
+0x26fd 005315 rtnbit1 op_txl2cap 
+:      005316 check_attempt_nomore:
+0x26fe 005317 force 0 ,pdata 
+0x26ff 005318 rtn 
+:      005320 check_attempt_sniff:
+0x2700 005321 bbit0 state_insco ,check_attempt_not_sco 
+0x2701 005322 fetch 1 ,mem_current_sniff_attempt 
+0x2702 005323 beq 2 ,check_attempt_sniff_restore_sco 
+0x2703 005324 fetch 1 ,mem_arq 
+0x2704 005325 bbit1 wack ,check_attempt_notimeout 
+0x2705 005326 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      005327 check_attempt_sniff_restore_sco:
+0x2706 005328 nbranch check_attempt_notimeout ,master 
+0x2707 005329 fetch 1 ,mem_lmp_to_send 
+0x2708 005330 nbranch check_attempt_notimeout ,blank 
+:      005331 check_attempt_sco_master:
+0x2709 005332 fetch 1 ,mem_sco_poll 
+0x270a 005333 increase -1 ,pdata 
+0x270b 005334 store 1 ,mem_sco_poll 
+0x270c 005335 nbranch check_attempt_nomore ,blank 
+0x270d 005336 jam param_sco_poll ,mem_sco_poll 
+0x270e 005337 branch check_attempt_notimeout 
+:      005344 check_attempt_not_sco:
+0x270f 005345 fetch 1 ,mem_current_sniff_attempt 
+0x2710 005346 bne 1 ,check_attempt_notimeout 
+0x2711 005347 fetch 1 ,mem_current_sniff_timeout 
+0x2712 005348 branch check_attempt_notimeout ,blank 
+0x2713 005349 increase -1 ,pdata 
+0x2714 005350 store 1 ,mem_current_sniff_timeout 
+0x2715 005351 fetch 1 ,mem_arq 
+0x2716 005352 rtnbit1 wack 
+0x2717 005353 nrtn match 
+:      005354 check_attempt_notimeout:
+0x2718 005355 fetch 1 ,mem_current_sniff_attempt 
+0x2719 005356 increase -1 ,pdata 
+0x271a 005357 store 1 ,mem_current_sniff_attempt 
+0x271b 005358 rtn 
+:      005369 sniff_check_window:
+0x271c 005370 bpatch patch0d_7 ,mem_patch0d 
+0x271d 005371 disable swfine 
+0x271e 005372 copy temp ,stop_watch 
+0x271f 005373 call context_search_sniff_window 
+0x2720 005374 disable user 
+0x2721 005375 nrtn zero 
+0x2722 005376 force 0 ,stop_watch 
+0x2723 005377 enable user 
+0x2724 005378 rtn 
+:      005381 check_esco_amaddr:
+0x2725 005382 fetch 1 ,mem_esco_addr 
+0x2726 005383 icompare 0xff ,am_addr 
+0x2727 005384 rtn 
+:      005387 parse_l2cap:
+0x2728 005388 bpatch patch0e_0 ,mem_patch0e 
+0x2729 005389 set0 mark_rxbuf_inuse ,mark 
+:      005390 parse_l2cap_cont:
+0x272a 005391 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x272b 005392 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x272c 005393 rtn blank 
+0x272d 005394 isolate1 l2cap_inuse_buff1 ,pdata 
+0x272e 005395 arg mem_l2cap_rxbuff1 ,contr 
+0x272f 005396 call process_rx_l2cap_pkt ,true 
+0x2730 005397 bpatch patch0e_1 ,mem_patch0e 
+0x2731 005398 fetch 1 ,mem_l2cap_rx_done 
+0x2732 005399 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x2733 005401 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x2734 005402 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2735 005403 rtnbit0 l2cap_inuse_buff2 
+0x2736 005404 arg mem_l2cap_rxbuff2 ,contr 
+0x2737 005405 call process_rx_l2cap_pkt 
+0x2738 005406 fetch 1 ,mem_l2cap_rx_done 
+0x2739 005407 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x273a 005408 rtn 
+:      005410 parse_l2cap_release_buff1:
+0x273b 005411 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x273c 005412 set0 l2cap_inuse_buff1 ,pdata 
+0x273d 005413 store 1 ,mem_l2cap_rxbuff_inuse 
+0x273e 005414 setarg 0 
+0x273f 005415 store 2 ,mem_l2cap_rxbuff1_len 
+0x2740 005416 rtn 
+:      005417 parse_l2cap_release_buff2:
+0x2741 005418 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2742 005419 set0 l2cap_inuse_buff2 ,pdata 
+0x2743 005420 store 1 ,mem_l2cap_rxbuff_inuse 
+0x2744 005421 setarg 0 
+0x2745 005422 store 2 ,mem_l2cap_rxbuff2_len 
+0x2746 005423 rtn 
+:      005425 l2cap_buff1_inuse:
+0x2747 005426 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2748 005427 set1 l2cap_inuse_buff1 ,pdata 
+0x2749 005428 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274a 005429 rtn 
+:      005431 l2cap_buff2_inuse:
+0x274b 005432 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x274c 005433 set1 l2cap_inuse_buff2 ,pdata 
+0x274d 005434 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274e 005435 rtn 
+:      005441 slave_send_access:
+0x274f 005442 bpatch patch0e_2 ,mem_patch0e 
+0x2750 005443 add clke_bt ,1 ,bt_clk 
+0x2751 005444 call fetch_extm_bt_adr 
+0x2752 005445 force 0x03 ,freq_mode 
+0x2753 005446 call tx_radio_freq 
+0x2754 005447 call start_transmitter 
+0x2755 005448 call start_tx_external 
+0x2756 005449 branch send_access_word 
+:      005452 slave_conn_send_packet:
+0x2757 005453 bpatch patch0e_3 ,mem_patch0e 
+0x2758 005454 call rf_setup_time_slave_slot 
+0x2759 005455 deposit clke_bt 
+0x275a 005456 fetcht 4 ,mem_next_btclk 
+0x275b 005457 isub temp ,pdata 
+0x275c 005458 rtnne 1 
+0x275d 005459 compare type_null ,type ,0x1f 
+0x275e 005460 nbranch slave_conn_send_access ,true 
+0x275f 005461 fetch 1 ,mem_rx_type 
+0x2760 005462 rtn blank 
+:      005463 slave_conn_send_access:
+0x2761 005464 call slave_send_access 
+:      005465 transmit_packet:
+0x2762 005466 compare type_id ,type ,0x1f 
+0x2763 005467 branch end_of_packet ,true 
+0x2764 005468 rshift bt_clk ,temp 
+0x2765 005469 or temp ,0x40 ,white_init 
+:      005470 transmit_packet_whitened:
+0x2766 005471 bpatch patch0e_4 ,mem_patch0e 
+0x2767 005472 enable enable_white 
+0x2768 005473 enable enable_hec 
+0x2769 005474 enable encode_fec1 
+0x276a 005475 set0 mark_longpacket ,mark 
+0x276b 005476 deposit am_addr 
+0x276c 005477 inject mod ,3 
+0x276d 005478 deposit type 
+0x276e 005479 inject mod ,4 
+0x276f 005480 fetch 1 ,mem_arq 
+0x2770 005481 inject bucket ,4 
+0x2771 005482 inject mod ,3 
+0x2772 005483 enable enable_parity 
+0x2773 005484 inject mod ,8 
+0x2774 005485 disable encode_fec1 
+0x2775 005486 disable enable_parity 
+0x2776 005487 disable enable_hec 
+0x2777 005488 set0 psk3m ,radio_ctrl 
+0x2778 005489 arg 0 ,temp 
+0x2779 005490 call reserve_slot 
+0x277a 005491 bpatch patch0e_5 ,mem_patch0e 
+0x277b 005492 and type ,0x1f ,pdata 
+0x277c 005493 beq type_lmp ,transmit_lmp 
+0x277d 005494 beq type_null ,end_of_packet 
+0x277e 005495 beq type_poll ,end_of_packet 
+0x277f 005496 beq type_fhs ,transmit_fhs 
+0x2780 005497 beq type_dm1 ,transmit_dm1 
+0x2781 005498 beq type_dh1 ,transmit_dh1 
+0x2782 005499 beq type_hv3 ,transmit_hev 
+0x2783 005500 beq type_3dh1 ,transmit_3dh1 
+0x2784 005501 arg 4 ,temp 
+0x2785 005502 call reserve_slot 
+0x2786 005503 beq type_dm3 ,transmit_dm3 
+0x2787 005504 beq type_dh3 ,transmit_dh3 
+0x2788 005505 arg 8 ,temp 
+0x2789 005506 call reserve_slot 
+0x278a 005507 beq type_dh5 ,transmit_dh5 
+0x278b 005508 branch transmit_dm5 
+:      005511 transmit_hev:
+0x278c 005512 bpatch patch0e_6 ,mem_patch0e 
+0x278d 005513 enable encode_fec0 
+0x278e 005514 enable enable_crc 
+0x278f 005515 enable encrypt 
+0x2790 005516 force 30 ,loopcnt 
+0x2791 005517 arg mem_sco_obuf ,contr 
+:      005518 transmit_ev_loop:
+0x2792 005519 ifetch 1 ,contr 
+0x2793 005520 inject mod ,8 
+0x2794 005521 loop transmit_ev_loop 
+0x2795 005522 bmark1 mark_esco ,transmit_end 
+0x2796 005523 branch end_of_packet 
+:      005525 transmit_fhs:
+0x2797 005526 bpatch patch0e_7 ,mem_patch0e 
+0x2798 005527 fetch 1 ,mem_fhs_am_addr 
+0x2799 005528 icopy am_addr 
+0x279a 005529 fetch 1 ,mem_fhs_misc 
+0x279b 005530 icopy fhs_misc 
+0x279c 005531 fetch 3 ,mem_class 
+0x279d 005532 icopy fhs_class 
+0x279e 005533 fetch 2 ,mem_nap 
+0x279f 005534 icopy nap 
+0x27a0 005535 enable enable_crc 
+0x27a1 005536 enable encode_fec2 
+0x27a2 005537 copy bt_adr ,rega 
+0x27a3 005538 call fetch_self_bt_adr 
+0x27a4 005539 pulse recalc 
+0x27a5 005540 nop 32 
+0x27a6 005541 copy bt_clk ,timeup 
+0x27a7 005542 fetch 4 ,mem_clkn_bt 
+0x27a8 005543 icopy bt_clk 
+0x27a9 005544 preload fhs0 
+0x27aa 005545 set1 58 ,pdata 
+0x27ab 005546 inject mod ,72 
+0x27ac 005547 preload fhs1 
+0x27ad 005548 inject mod ,72 
+0x27ae 005549 copy timeup ,bt_clk 
+0x27af 005550 copy rega ,bt_adr 
+0x27b0 005551 enable enable_parity 
+0x27b1 005552 inject mod ,16 
+0x27b2 005553 disable enable_parity 
+0x27b3 005554 branch end_of_packet 
+:      005556 transmit_lmp:
+0x27b4 005557 bpatch patch0f_0 ,mem_patch0f 
+0x27b5 005558 enable encrypt 
+0x27b6 005559 enable enable_crc 
+0x27b7 005560 enable encode_fec2 
+0x27b8 005561 fetch 1 ,mem_lmo_header_length 
+0x27b9 005562 and pdata ,0x1f8 ,temp 
+0x27ba 005563 arg mem_lmo_header_length ,contr 
+0x27bb 005564 increase 8 ,temp 
+:      005565 transmit_lmp_loop:
+0x27bc 005566 add temp ,-72 ,regc 
+0x27bd 005567 nbranch transmit_lmp_finish ,positive 
+0x27be 005568 ifetch 9 ,contr 
+0x27bf 005569 inject mod ,72 
+0x27c0 005570 copy regc ,temp 
+0x27c1 005571 branch transmit_lmp_loop 
+:      005572 transmit_lmp_finish:
+0x27c2 005573 ifetch 9 ,contr 
+0x27c3 005574 iinject mod ,temp 
+0x27c4 005575 branch transmit_end 
+:      005577 transmit_dm1:
+0x27c5 005578 enable encode_fec2 
+0x27c6 005579 branch transmit_dmh 
+:      005580 transmit_dm3:
+:      005581 transmit_dm5:
+0x27c7 005582 enable encode_fec2 
+0x27c8 005583 set1 mark_longpacket ,mark 
+0x27c9 005584 branch transmit_dmh 
+:      005586 transmit_3dh1:
+0x27ca 005587 set1 psk3m ,radio_ctrl 
+:      005588 transmit_dh1:
+0x27cb 005589 enable encode_fec0 
+0x27cc 005590 branch transmit_dmh 
+:      005592 transmit_dh3:
+:      005593 transmit_dh5:
+0x27cd 005594 set1 psk3m ,radio_ctrl 
+0x27ce 005595 enable encode_fec0 
+0x27cf 005596 set1 mark_longpacket ,mark 
+:      005598 transmit_dmh:
+0x27d0 005599 bpatch patch0f_1 ,mem_patch0f 
+0x27d1 005600 fetch 1 ,mem_state_map 
+0x27d2 005601 bbit0 smap_edr ,transmit_noedr 
+0x27d3 005602 sub type ,3 ,null 
+0x27d4 005603 branch transmit_noedr ,positive 
+0x27d5 005604 disable encrypt 
+0x27d6 005605 disable encode_fec2 
+0x27d7 005606 enable encode_fec0 
+0x27d8 005607 disable enable_white 
+0x27d9 005608 set1 psk ,radio_ctrl 
+0x27da 005609 isolate1 psk3m ,radio_ctrl 
+0x27db 005610 branch transmit_edr3m ,true 
+0x27dc 005611 setarg 0xabeee 
+0x27dd 005612 inject mod ,20 
+0x27de 005613 branch transmit_edr_sync_end 
+:      005614 transmit_edr3m:
+0x27df 005615 setarg 0x5faeba 
+0x27e0 005616 inject mod ,24 
+0x27e1 005617 setarg 0x12 
+0x27e2 005618 inject mod ,6 
+:      005619 transmit_edr_sync_end:
+0x27e3 005620 enable enable_white 
+0x27e4 005621 set1 mark_longpacket ,mark 
+:      005622 transmit_noedr:
+0x27e5 005623 enable encrypt 
+0x27e6 005624 enable enable_crc 
+0x27e7 005625 bmark1 mark_loopback ,transmit_loopback 
+0x27e8 005626 fetch 1 ,mem_tx_lch 
+0x27e9 005627 inject mod ,3 
+0x27ea 005628 fetch 2 ,mem_tx_len 
+0x27eb 005629 iforce loopcnt 
+0x27ec 005630 bmark1 mark_longpacket ,transmit_long 
+0x27ed 005631 inject mod ,5 
+0x27ee 005632 branch transmit_stuff 
+:      005633 transmit_long:
+0x27ef 005634 inject mod ,13 
+:      005635 transmit_stuff:
+0x27f0 005636 deposit loopcnt 
+0x27f1 005637 branch transmit_end ,blank 
+0x27f2 005638 fetch 2 ,mem_txptr 
+0x27f3 005639 iforce contr 
+:      005640 transmit_stuff_loop:
+0x27f4 005641 ifetch 1 ,contr 
+0x27f5 005642 inject mod ,8 
+0x27f6 005643 loop transmit_stuff_loop 
+:      005646 transmit_end:
+0x27f7 005647 enable enable_parity 
+0x27f8 005648 inject mod ,16 
+0x27f9 005649 disable enable_parity 
+0x27fa 005650 call set_wait_ack 
+0x27fb 005651 fetch 1 ,mem_state_map 
+0x27fc 005652 bbit0 smap_edr ,end_of_packet 
+0x27fd 005653 force 0 ,pdata 
+0x27fe 005654 inject mod ,6 
+0x27ff 005655 branch end_of_packet 
+:      005658 transmit_loopback:
+0x2800 005659 bpatch patch0f_2 ,mem_patch0f 
+0x2801 005660 bmark1 mark_longpacket ,transmit_loopback_long 
+:      005661 transmit_loopback_short:
+0x2802 005662 fetch 1 ,mem_lch_code 
+0x2803 005663 inject mod ,3 
+0x2804 005664 fetch 1 ,mem_len 
+0x2805 005665 iforce regc 
+0x2806 005666 inject mod ,5 
+0x2807 005667 branch transmit_loopback_cont 
+:      005668 transmit_loopback_long:
+0x2808 005669 fetch 1 ,mem_lch_code 
+0x2809 005670 inject mod ,3 
+0x280a 005671 fetch 2 ,mem_len 
+0x280b 005672 iforce regc 
+0x280c 005673 inject mod ,13 
+:      005674 transmit_loopback_cont:
+0x280d 005675 arg mem_rxbuf ,contr 
+:      005676 transmit_loopback_loop:
+0x280e 005677 copy regc ,null 
+0x280f 005678 branch transmit_loopback_end ,zero 
+0x2810 005679 ifetch 1 ,contr 
+0x2811 005680 inject mod ,8 
+0x2812 005681 increase -1 ,regc 
+0x2813 005682 branch transmit_loopback_loop 
+:      005683 transmit_loopback_end:
+0x2814 005684 fetch 2 ,mem_tst_pktcnt_dmh 
+0x2815 005685 increase 1 ,pdata 
+0x2816 005686 store 2 ,mem_tst_pktcnt_dmh 
+0x2817 005687 branch transmit_end 
+:      005690 apply_switch_clke:
+0x2818 005691 fetch 4 ,mem_clke_bt 
+0x2819 005692 add pdata ,7 ,rega 
+0x281a 005693 fetch 2 ,mem_slot_offset 
+0x281b 005694 nbranch apply_switch_nozero ,blank 
+0x281c 005695 increase -3 ,rega 
+0x281d 005696 branch apply_switch_wait_loop 
+:      005697 apply_switch_nozero:
+0x281e 005698 mul32 pdata ,12 ,pdata 
+0x281f 005699 hfetcht 2 ,core_halfslot 
+0x2820 005700 increase 1 ,temp 
+:      005701 apply_switch_loop:
+0x2821 005702 isub temp ,pdata 
+0x2822 005703 nbranch apply_switch_bt ,positive 
+0x2823 005704 increase -1 ,rega 
+0x2824 005705 branch apply_switch_loop 
+:      005706 apply_switch_bt:
+0x2825 005707 sub pdata ,0 ,pdata 
+:      005708 apply_switch_wait_loop:
+0x2826 005709 until null ,oneslot 
+0x2827 005710 compare 0 ,clkn_bt ,3 
+0x2828 005711 nbranch apply_switch_wait_loop ,true 
+0x2829 005712 iforce clke_rt 
+0x282a 005713 copy rega ,clke_bt 
+0x282b 005714 iforce clke_rt 
+0x282c 005715 rtn 
+:      005718 calc_slot_offset:
+0x282d 005719 bpatch patch0f_3 ,mem_patch0f 
+0x282e 005720 until null ,halfslot 
+0x282f 005721 deposit clke 
+0x2830 005722 iforce contr 
+0x2831 005723 rshift16 ,pdata ,pdata 
+0x2832 005724 isub clkn_bt ,loopcnt 
+0x2833 005725 and_into 3 ,loopcnt 
+0x2834 005726 nbranch calc_bt_portion ,zero 
+0x2835 005727 force 0 ,pdata 
+0x2836 005728 branch calc_skip_bt 
+:      005729 calc_bt_portion:
+0x2837 005730 arg 3750 ,temp 
+0x2838 005731 force 0 ,pdata 
+:      005732 calc_slot_offset_loop:
+0x2839 005733 iadd temp ,pdata 
+0x283a 005734 loop calc_slot_offset_loop 
+:      005735 calc_skip_bt:
+0x283b 005736 iadd contr ,pdata 
+0x283c 005737 div pdata ,12 
+0x283d 005738 call wait_div_end 
+0x283e 005739 quotient pdata 
+0x283f 005740 store 2 ,mem_slot_offset 
+0x2840 005741 rtn 
+:      005743 calc_clke_offset:
+0x2841 005744 bpatch patch0f_4 ,mem_patch0f 
+0x2842 005745 deposit clke 
+0x2843 005746 copy clkn ,temp 
+0x2844 005747 isub temp ,null 
+0x2845 005748 nsetflag positive ,44 ,pdata 
+0x2846 005749 isub temp ,temp 
+0x2847 005750 setarg 3750 
+0x2848 005751 isolate0 15 ,temp 
+0x2849 005752 branch calc_clke_pos ,true 
+0x284a 005753 setarg -61786 
+0x284b 005754 iadd temp ,temp 
+:      005755 calc_clke_pos:
+0x284c 005756 storet 6 ,mem_le_clk_offset 
+0x284d 005757 rtn le 
+0x284e 005758 storet 6 ,mem_clk_offset 
+0x284f 005759 rtn 
+:      005761 calc_clke:
+0x2850 005762 disable clknt 
+0x2851 005763 fetch 6 ,mem_le_clk_offset 
+0x2852 005764 branch calc_clke2 ,le 
+0x2853 005765 fetch 6 ,mem_clk_offset 
+:      005766 calc_clke2:
+0x2854 005767 iadd clkn ,alarm 
+0x2855 005768 increase 10 ,alarm 
+0x2856 005769 setarg 3750 
+0x2857 005770 isub alarm ,pdata 
+0x2858 005771 isolate0 15 ,pdata 
+0x2859 005772 branch calc_clke_pos_adj ,true 
+0x285a 005773 setarg 0xf15a 
+0x285b 005774 iadd alarm ,alarm 
+:      005775 calc_clke_pos2:
+0x285c 005776 copy alarm ,clke 
+0x285d 005777 rtn 
+:      005778 calc_clke_pos_adj:
+0x285e 005779 force 0 ,null 
+0x285f 005780 branch calc_clke_pos2 
+:      005787 calc_radio_freq:
+0x2860 005788 bpatch patch0f_5 ,mem_patch0f 
+0x2861 005789 call set_sync_on 
+0x2862 005790 copy bt_clk ,pdata 
+0x2863 005791 and_into 0x180 ,pdata 
+0x2864 005792 compare 3 ,freq_mode ,0x07 
+0x2865 005793 nbranch freq_not_connection ,true 
+0x2866 005794 rshift3 pdata ,pdata 
+0x2867 005795 iadd freq_index ,pdata 
+0x2868 005796 branch do_hop_mod_now 
+:      005797 freq_not_connection:
+0x2869 005798 copy freq_index ,pdata 
+:      005799 do_hop_mod_now:
+0x286a 005800 div pdata ,79 
+0x286b 005801 pulse recalc 
+0x286c 005802 call wait_div_end 
+0x286d 005803 remainder rega 
+0x286e 005804 add rega ,-40 ,temp 
+0x286f 005805 branch odd_half ,positive 
+0x2870 005806 lshift rega ,temp 
+0x2871 005807 branch freq_result 
+:      005808 odd_half:
+0x2872 005809 lshift temp ,temp 
+0x2873 005810 increase 1 ,temp 
+:      005811 freq_result:
+0x2874 005812 bpatch patch0f_6 ,mem_patch0f 
+0x2875 005813 fetch 1 ,mem_mode 
+0x2876 005814 bbit0 afh_change ,afh_process_con 
+:      005815 afh_process_0:
+0x2877 005816 fetch 4 ,mem_afh_instant 
+0x2878 005817 isub bt_clk ,null 
+0x2879 005818 branch afh_process_con ,positive 
+0x287a 005819 call afh_clear 
+0x287b 005820 fetch 1 ,mem_afh_new_mod 
+0x287c 005821 rtn blank 
+0x287d 005822 fetch 1 ,mem_mode 
+0x287e 005823 set1 afh_enable ,pdata 
+0x287f 005824 store 1 ,mem_mode 
+0x2880 005825 fetch 5 ,mem_afh_map_new 
+0x2881 005826 store 5 ,mem_afh_map_lo 
+0x2882 005827 ifetch 5 ,contr 
+0x2883 005828 store 5 ,mem_afh_map_hi 
+0x2884 005829 call afh_process_freq_map 
+:      005830 afh_process_con:
+0x2885 005831 fetch 1 ,mem_mode 
+0x2886 005832 rtnbit0 afh_enable 
+0x2887 005833 isolate1 1 ,bt_clk 
+0x2888 005834 branch afh_same_channel ,true 
+0x2889 005835 rshift3 temp ,rega 
+0x288a 005836 and temp ,7 ,queue 
+0x288b 005837 setarg mem_afh_map_lo 
+0x288c 005838 iadd rega ,rega 
+0x288d 005839 ifetch 1 ,rega 
+0x288e 005840 qisolate0 pdata 
+0x288f 005841 branch afh_process_1 ,true 
+0x2890 005842 deposit temp 
+0x2891 005843 branch afh_process_end 
+:      005844 afh_process_1:
+0x2892 005845 fetch 1 ,mem_afh_used 
+0x2893 005846 iforce regb 
+0x2894 005847 deposit bt_clk 
+0x2895 005848 and_into 0x180 ,pdata 
+0x2896 005849 rshift3 pdata ,pdata 
+0x2897 005850 iadd freq_index ,pdata 
+0x2898 005851 idiv regb 
+0x2899 005852 setarg mem_afh_map 
+0x289a 005853 call wait_div_end 
+0x289b 005854 remainder rega 
+0x289c 005855 iadd rega ,contr 
+0x289d 005856 ifetch 1 ,contr 
+:      005857 afh_process_end:
+0x289e 005858 store 1 ,mem_afh_index 
+0x289f 005859 iforce temp 
+0x28a0 005860 rtn 
+:      005862 afh_same_channel:
+0x28a1 005863 fetch 1 ,mem_afh_index 
+0x28a2 005864 iforce temp 
+0x28a3 005865 rtn 
+:      005867 afh_clear:
+0x28a4 005868 fetch 1 ,mem_mode 
+0x28a5 005869 set0 afh_enable ,pdata 
+0x28a6 005870 set0 afh_change ,pdata 
+0x28a7 005871 store 1 ,mem_mode 
+0x28a8 005872 rtn 
+:      005878 afh_process_freq_map:
+0x28a9 005879 bpatch patch0f_7 ,mem_patch0f 
+0x28aa 005880 arg mem_afh_map ,contw 
+0x28ab 005881 force 10 ,loopcnt 
+0x28ac 005882 call memset0 
+0x28ad 005883 arg mem_afh_map ,contw 
+0x28ae 005884 force 0 ,regc 
+0x28af 005885 force 2 ,queue 
+:      005886 process_freq_3:
+0x28b0 005887 fetch 5 ,mem_afh_map_lo 
+0x28b1 005888 iforce temp 
+0x28b2 005889 compare 2 ,queue ,0xff 
+0x28b3 005890 branch process_freq_1 ,true 
+0x28b4 005891 rshift temp ,temp 
+:      005892 process_freq_1:
+0x28b5 005893 isolate0 0 ,temp 
+0x28b6 005894 branch process_freq_0 ,true 
+0x28b7 005895 deposit regc 
+0x28b8 005896 istore 1 ,contw 
+:      005897 process_freq_0:
+0x28b9 005898 rshift2 temp ,temp 
+0x28ba 005899 increase 2 ,regc 
+0x28bb 005900 compare 40 ,regc ,0xfe 
+0x28bc 005901 nbranch process_freq_2 ,true 
+0x28bd 005902 fetch 5 ,mem_afh_map_hi 
+0x28be 005903 iforce temp 
+0x28bf 005904 compare 2 ,queue ,0xff 
+0x28c0 005905 branch process_freq_2 ,true 
+0x28c1 005906 rshift temp ,temp 
+:      005907 process_freq_2:
+0x28c2 005908 sub regc ,78 ,null 
+0x28c3 005909 branch process_freq_1 ,positive 
+0x28c4 005910 force 1 ,regc 
+0x28c5 005911 increase -1 ,queue 
+0x28c6 005912 nbranch process_freq_3 ,zero 
+0x28c7 005913 arg mem_afh_map ,rega 
+0x28c8 005914 deposit contw 
+0x28c9 005915 isub rega ,pdata 
+0x28ca 005916 store 1 ,mem_afh_used 
+0x28cb 005917 rtn 
+:      005919 rx_radio_freq:
+0x28cc 005920 bpatch patch10_0 ,mem_patch10 
+0x28cd 005921 call calc_radio_freq 
+0x28ce 005922 fetch 1 ,mem_debug_config 
+0x28cf 005923 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x28d0 005924 fetcht 1 ,mem_rx_fixed_freq 
+:      005925 rx_radio_freq_now:
+0x28d1 005926 branch set_freq_rx 
+:      005929 tx_radio_freq:
+0x28d2 005930 bpatch patch10_1 ,mem_patch10 
+0x28d3 005931 call calc_radio_freq 
+0x28d4 005932 fetch 1 ,mem_debug_config 
+0x28d5 005933 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x28d6 005934 fetcht 1 ,mem_tx_fixed_freq 
+:      005935 tx_radio_freq_now:
+0x28d7 005936 branch set_freq_tx 
+:      005939 fetch_giac:
+0x28d8 005940 force 0 ,uap 
+0x28d9 005941 fetch 3 ,mem_glap 
+0x28da 005942 iforce lap 
+0x28db 005943 rtn 
+:      005945 fetch_page_bt_adr:
+0x28dc 005946 bpatch patch10_2 ,mem_patch10 
+0x28dd 005947 fetch 1 ,mem_hci_puap 
+0x28de 005948 icopy uap 
+0x28df 005949 fetch 3 ,mem_hci_plap 
+0x28e0 005950 icopy lap 
+0x28e1 005951 rtn 
+:      005953 fetch_self_bt_adr:
+0x28e2 005954 bpatch patch10_3 ,mem_patch10 
+0x28e3 005955 fetch 2 ,mem_nap 
+0x28e4 005956 icopy nap 
+0x28e5 005957 fetch 1 ,mem_uap 
+0x28e6 005958 icopy uap 
+0x28e7 005959 fetch 3 ,mem_lap 
+0x28e8 005960 icopy lap 
+0x28e9 005961 rtn 
+:      005963 fetch_extm_bt_adr:
+0x28ea 005964 bpatch patch10_4 ,mem_patch10 
+0x28eb 005965 fetch 2 ,mem_pnap 
+0x28ec 005966 icopy nap 
+0x28ed 005967 fetch 1 ,mem_puap 
+0x28ee 005968 icopy uap 
+0x28ef 005969 fetch 3 ,mem_plap 
+0x28f0 005970 icopy lap 
+0x28f1 005971 rtn 
+:      005974 fetch_diac:
+0x28f2 005975 bmark1 mark_all_diac ,fetch_diac_do 
+0x28f3 005976 rtnmark0 mark_inquiry_state 
+0x28f4 005977 rtnmark0 mark_periodical_diac 
+:      005978 fetch_diac_do:
+0x28f5 005979 and_into -256 ,lap 
+0x28f6 005980 pulse recalc 
+0x28f7 005981 nop 32 
+0x28f8 005982 rtn 
+:      005985 shutdown_radio:
+0x28f9 005986 bpatch patch10_5 ,mem_patch10 
+0x28fa 005987 branch shutdown_radio0 ,is_rx 
+0x28fb 005988 jam 0xd4 ,rf_tx_pa_ib 
+0x28fc 005989 nop 4 
+0x28fd 005990 jam 0xd2 ,rf_tx_pa_ib 
+0x28fe 005991 nop 4 
+0x28ff 005992 jam 0xd1 ,rf_tx_pa_ib 
+0x2900 005993 nop 4 
+0x2901 005994 fetch 1 ,mem_tx_power 
+0x2902 005995 beq tx_power_0db ,shutdown_radio_0db 
+0x2903 005996 beq tx_power_3db ,shutdown_radio_3db 
+0x2904 005997 beq tx_power_5db ,shutdown_radio_5db 
+0x2905 005998 beq tx_power_f3db ,shutdown_radio_f3db 
+0x2906 005999 beq tx_power_f5db ,shutdown_radio_f5db 
+0x2907 006000 beq tx_power_pair ,shutdown_radio_pair 
+:      006001 shutdown_radio_5db:
+:      006002 shutdown_radio_0db:
+0x2908 006003 jam 0xd0 ,rf_tx_pa_ib 
+0x2909 006004 jam 0xe0 ,rf_tx_pa_gc 
+:      006005 shutdown_radio0:
+0x290a 006006 force 0 ,radio_ctrl 
+0x290b 006007 disable is_rx 
+0x290c 006008 disable is_tx 
+0x290d 006009 pulse packet_end 
+0x290e 006010 jam 0x0 ,rfen_mdm 
+0x290f 006011 jam 0x0 ,rfen_tx 
+0x2910 006012 jam 0x0 ,rfen_rx 
+0x2911 006013 jam 0 ,rfen_sn 
+0x2912 006014 jam 0x70 ,rfen_msc 
+0x2913 006015 jam 0x0 ,rfen_adc 
+0x2914 006016 rtn 
+:      006018 shutdown_radio_pair:
+:      006019 shutdown_radio_f5db:
+:      006020 shutdown_radio_f3db:
+:      006021 shutdown_radio_3db:
+0x2915 006022 jam 0xd0 ,rf_tx_pa_ib 
+0x2916 006023 jam 0xc0 ,rf_tx_pa_gc 
+0x2917 006024 branch shutdown_radio0 
+:      006026 set_sync_on:
+0x2918 006027 bpatch patch10_6 ,mem_patch10 
+0x2919 006028 jam 0x0 ,rfen_mdm 
+0x291a 006029 jam 0x0 ,rfen_tx 
+0x291b 006030 jam 0x18 ,rfen_rx 
+0x291c 006031 jam 0xa7 ,rfen_sn 
+0x291d 006032 jam 0x7f ,rfen_msc 
+0x291e 006033 rtn 
+:      006035 set_freq_rx:
+0x291f 006036 bpatch patch10_7 ,mem_patch10 
+0x2920 006038 storet 1 ,mem_last_freq 
+0x2921 006039 add temp ,rx_freq_offset ,rega 
+0x2922 006040 jam 0x07 ,rf_balun_ctrim 
+0x2923 006041 branch rf_write_freq 
+:      006042 rf_rx_enable:
+0x2924 006043 bpatch patch11_0 ,mem_patch11 
+0x2925 006044 jam 0xcf ,rfen_tx 
+0x2926 006045 nop 10 
+0x2927 006046 jam 0xff ,rfen_rx 
+0x2928 006047 jam 0xaf ,rfen_sn 
+0x2929 006048 jam 0xff ,rfen_msc 
+0x292a 006049 nop 10 
+0x292b 006050 jam 0xa0 ,rfen_mdm 
+0x292c 006051 rtn 
+:      006053 set_freq_tx_offset:
+0x292d 006054 fetch 1 ,mem_250k_freq_enable 
+0x292e 006055 branch set_freq_tx_2m_offset ,blank 
+:      006056 set_freq_tx_0m_offset:
+0x292f 006057 add temp ,2 ,rega 
+0x2930 006058 rtn 
+:      006059 set_freq_tx_2m_offset:
+0x2931 006060 add temp ,0 ,rega 
+0x2932 006061 rtn 
+:      006063 set_freq_tx:
+0x2933 006064 bpatch patch11_1 ,mem_patch11 
+0x2934 006065 storet 1 ,mem_last_freq 
+0x2935 006066 call set_freq_tx_offset 
+0x2936 006067 call rf_write_freq 
+0x2937 006068 setarg param_pll_setup 
+0x2938 006069 call sleep 
+:      006070 txon:
+0x2939 006071 jam 0x1 ,rfen_adc 
+0x293a 006072 jam 0x3c ,rfen_rx 
+0x293b 006073 jam 0xe0 ,rfen_tx 
+0x293c 006074 jam 0x12 ,rf_balun_ctrim 
+0x293d 006075 nop 10 
+0x293e 006076 jam 0x01 ,rfen_mdm 
+0x293f 006077 jam 0x3d ,rfen_mdm 
+0x2940 006078 nop 10 
+0x2941 006079 jam 0xb7 ,rfen_sn 
+0x2942 006080 nop 10 
+0x2943 006081 jam 0x7f ,rfen_mdm 
+:      006082 txon_power_select:
+0x2944 006083 fetch 1 ,mem_tx_power 
+0x2945 006084 beq tx_power_0db ,set_tx_power_0db 
+0x2946 006085 beq tx_power_3db ,set_tx_power_3db 
+0x2947 006086 beq tx_power_5db ,set_tx_power_5db 
+0x2948 006087 beq tx_power_f3db ,set_tx_power_f3db 
+0x2949 006088 beq tx_power_f5db ,set_tx_power_f5db 
+0x294a 006089 beq tx_power_pair ,set_tx_power_pair 
+:      006090 set_tx_power_0db:
+0x294b 006091 jam 0xf0 ,rf_tx_pa_gc 
+0x294c 006092 call txon_common 
+0x294d 006093 jam 0xd8 ,rf_tx_pa_ib 
+0x294e 006094 rtn 
+:      006096 set_tx_power_3db:
+0x294f 006097 jam 0xdf ,rf_tx_pa_gc 
+0x2950 006098 call txon_common 
+0x2951 006099 jam 0xdf ,rf_tx_pa_ib 
+0x2952 006100 rtn 
+:      006102 set_tx_power_5db:
+0x2953 006103 jam 0xff ,rf_tx_pa_gc 
+0x2954 006104 call txon_common 
+0x2955 006105 jam 0xdf ,rf_tx_pa_ib 
+0x2956 006106 rtn 
+:      006107 set_tx_power_f3db:
+0x2957 006108 jam 0xce ,rf_tx_pa_gc 
+0x2958 006109 call txon_common 
+0x2959 006110 jam 0xd8 ,rf_tx_pa_ib 
+0x295a 006111 rtn 
+:      006113 set_tx_power_f5db:
+0x295b 006114 jam 0xcb ,rf_tx_pa_gc 
+0x295c 006115 call txon_common 
+0x295d 006116 jam 0xd8 ,rf_tx_pa_ib 
+0x295e 006117 rtn 
+:      006119 set_tx_power_pair:
+0x295f 006120 jam 0xd0 ,rf_tx_pa_ib 
+0x2960 006121 jam 0xc0 ,rf_tx_pa_gc 
+0x2961 006122 jam 0x4c ,0x8957 
+0x2962 006123 jam 0x6c ,0x8958 
+0x2963 006124 jam 0x50 ,0x8959 
+0x2964 006125 rtn 
+:      006127 txon_common:
+0x2965 006128 nop 4 
+0x2966 006129 jam 0xd1 ,rf_tx_pa_ib 
+0x2967 006130 nop 4 
+0x2968 006131 jam 0xd2 ,rf_tx_pa_ib 
+0x2969 006132 nop 4 
+0x296a 006133 jam 0xd4 ,rf_tx_pa_ib 
+0x296b 006134 rtn 
+:      006137 initialize_radio:
+0x296c 006138 jam clksel_rc ,core_clksel 
+:      006139 initialize_radio_wait:
+0x296d 006140 fetch 2 ,mem_rf_init_ptr 
+0x296e 006141 bbit0 14 ,initialize_radio_wait 
+0x296f 006142 iforce contr 
+0x2970 006143 arg 0x8900 ,temp 
+:      006144 initialize_radio_loop:
+0x2971 006145 ifetch 1 ,contr 
+0x2972 006146 beq 0xff ,initialize_radio_cont 
+0x2973 006147 ior temp ,contw 
+0x2974 006148 ifetch 1 ,contr 
+0x2975 006149 istore 1 ,contw 
+0x2976 006150 branch initialize_radio_loop 
+:      006151 initialize_radio_cont:
+0x2977 006152 bpatch patch11_2 ,mem_patch11 
+0x2978 006153 call lpm_cal_xtal_startup 
+0x2979 006154 call switchto_dpllclk 
+0x297a 006156 setarg param_dpll_start_delay 
+0x297b 006157 iadd clkn_bt ,pdata 
+0x297c 006158 store 4 ,mem_dpll_clkn 
+0x297d 006159 set1 reset ,radio_ctrl 
+0x297e 006160 force 0 ,radio_ctrl 
+0x297f 006161 ncall do_rccal ,wake 
+0x2980 006162 branch set_rccal 
+:      006165 rf_write_freq:
+0x2981 006166 bpatch patch11_3 ,mem_patch11 
+0x2982 006167 setarg 2400 
+0x2983 006168 iadd rega ,temp 
+0x2984 006169 fetch 1 ,mem_fcomp_mul 
+0x2985 006170 jam 0x04 ,rf_pll_rstn 
+0x2986 006171 imul32 temp ,pdata 
+0x2987 006172 fetcht 1 ,mem_fcomp_div 
+0x2988 006173 idiv temp 
+0x2989 006174 call wait_div_end 
+0x298a 006175 quotient rega 
+0x298b 006176 remainder pdata 
+0x298c 006177 lshift16 pdata ,pdata 
+0x298d 006178 lshift4 pdata ,pdata 
+0x298e 006179 idiv temp 
+0x298f 006180 call wait_div_end 
+0x2990 006181 quotient pdata 
+0x2991 006182 lshift8 pdata ,pdata 
+0x2992 006183 lshift pdata ,pdata 
+0x2993 006184 ior rega ,pdata 
+0x2994 006185 hstore 4 ,rf_pll_intg 
+0x2995 006186 jam 0x44 ,rf_pll_rstn 
+0x2996 006187 jam 0xc4 ,rf_pll_rstn 
+0x2997 006188 rtn 
+:      006191 do_rccal:
+0x2998 006192 bpatch patch11_4 ,mem_patch11 
+0x2999 006193 jam 0x02 ,rfen_adc 
+0x299a 006194 setarg 250000 
+0x299b 006195 call sleep 
+0x299c 006196 jam 0x7f ,rfen_rx 
+0x299d 006197 nop 130 
+0x299e 006198 jam 0x30 ,rf_rccal_ctrl 
+0x299f 006199 jam 0xd0 ,rfen_tx 
+0x29a0 006200 jam 0x70 ,rf_rccal_ctrl 
+0x29a1 006201 jam 0xf0 ,rf_rccal_ctrl 
+0x29a2 006202 force 50 ,loopcnt 
+:      006203 do_rccal_loop:
+0x29a3 006204 hfetch 1 ,rf_rccal_result 
+0x29a4 006205 bbit1 5 ,do_rccal_end 
+0x29a5 006206 loop do_rccal_loop 
+:      006207 do_rccal_end:
+0x29a6 006208 store 1 ,mem_rf_rccal 
+0x29a7 006209 jam 0 ,rfen_tx 
+0x29a8 006210 jam 0 ,rfen_rx 
+0x29a9 006211 jam 0x00 ,rfen_adc 
+0x29aa 006212 rtn 
+:      006214 set_rccal:
+0x29ab 006215 bpatch patch11_5 ,mem_patch11 
+0x29ac 006216 fetch 1 ,mem_rf_rccal 
+0x29ad 006217 set1 5 ,pdata 
+0x29ae 006218 hstore 1 ,rf_rccal_ctrl 
+0x29af 006219 hfetcht 1 ,rf_bpf_ctrim 
+0x29b0 006220 and_into 7 ,temp 
+0x29b1 006221 lshift3 pdata ,pdata 
+0x29b2 006222 ior temp ,pdata 
+0x29b3 006223 hstore 1 ,rf_bpf_ctrim 
+0x29b4 006224 hfetch 1 ,rf_bpf_ib 
+0x29b5 006225 set0 bpf_rccal ,pdata 
+0x29b6 006226 hstore 1 ,rf_bpf_ib 
+0x29b7 006227 hfetch 1 ,rf_adc_rccal 
+0x29b8 006228 set0 adc_rccal ,pdata 
+0x29b9 006229 hstore 1 ,rf_adc_rccal 
+0x29ba 006230 rtn 
+:      006232 save_rssi:
+0x29bb 006233 bpatch patch11_6 ,mem_patch11 
+0x29bc 006234 hfetch 2 ,rf_afc_d2a 
+0x29bd 006235 rshift4 pdata ,pdata 
+0x29be 006236 rshift3 pdata ,pdata 
+0x29bf 006237 sub pdata ,0 ,pdata 
+:      006238 bcd:
+0x29c0 006239 and_into 0xff ,pdata 
+0x29c1 006240 div pdata ,10 
+0x29c2 006241 call wait_div_end 
+0x29c3 006242 quotient pdata 
+0x29c4 006243 lshift4 pdata ,pdata 
+0x29c5 006244 remainder temp 
+0x29c6 006245 ior temp ,pdata 
+0x29c7 006246 store 1 ,mem_rssi 
+0x29c8 006247 rtn 
+:      006250 switchto_dpllclk:
+0x29c9 006251 jam clksel_rc ,core_clksel 
+0x29ca 006252 hfetch 1 ,rf_clkpll_frac + 2 
+0x29cb 006253 set0 4 ,pdata 
+0x29cc 006254 set0 5 ,pdata 
+0x29cd 006255 hstore 1 ,rf_clkpll_frac + 2 
+0x29ce 006256 jam 0x00 ,rfen_ck 
+0x29cf 006257 jam 0x00 ,rfen_msc 
+0x29d0 006258 jam 0x70 ,rfen_msc 
+0x29d1 006259 jam 0xff ,rfen_ck 
+0x29d2 006260 hfetch 1 ,rf_clkpll_frac + 2 
+0x29d3 006261 set1 4 ,pdata 
+0x29d4 006262 set1 5 ,pdata 
+0x29d5 006263 hstore 1 ,rf_clkpll_frac + 2 
+0x29d6 006264 call init_lpm_ctrl 
+0x29d7 006265 hfetch 1 ,rf_clkpll_int 
+0x29d8 006266 set1 7 ,pdata 
+0x29d9 006267 hstore 1 ,rf_clkpll_int 
+0x29da 006268 set0 7 ,pdata 
+0x29db 006269 hstore 1 ,rf_clkpll_int 
+0x29dc 006270 set1 7 ,pdata 
+0x29dd 006271 hstore 1 ,rf_clkpll_int 
+0x29de 006272 jam clksel_dpll ,core_clksel 
+0x29df 006273 nop 1 
+0x29e0 006274 jam clksel_xtal ,core_clksel 
+0x29e1 006275 hfetch 1 ,rf_clkpll_frac + 2 
+0x29e2 006276 and_into 0xcf ,pdata 
+0x29e3 006277 hstore 1 ,rf_clkpll_frac + 2 
+0x29e4 006278 or_into 0x30 ,pdata 
+0x29e5 006279 hstore 1 ,rf_clkpll_frac + 2 
+0x29e6 006280 rtn 
+:      006283 xtal_fast_wake:
+0x29e7 006284 setarg 0xf0f 
+0x29e8 006285 branch lpm_write_config 
+:      006287 init_lpm_ctrl:
+0x29e9 006288 setarg 0x80f 
+0x29ea 006289 branch lpm_write_config 
+:      006293 start_receiver:
+0x29eb 006294 bpatch patch11_7 ,mem_patch11 
+0x29ec 006295 call rf_rx_enable 
+0x29ed 006296 disable is_tx 
+0x29ee 006297 enable is_rx 
+0x29ef 006298 pulse init_encrypt 
+0x29f0 006299 rtn 
+:      006301 prep_crypt:
+0x29f1 006302 bpatch patch12_0 ,mem_patch12 
+0x29f2 006303 fetch 1 ,mem_state_map 
+0x29f3 006304 isolate1 smap_encryption ,pdata 
+0x29f4 006305 setflag true ,0 ,pdata 
+0x29f5 006306 hstore 1 ,core_encrypt 
+0x29f6 006307 arg mem_kc ,contr 
+0x29f7 006308 ifetch 9 ,contr 
+0x29f8 006309 iforce kc_ls 
+0x29f9 006310 ifetch 7 ,contr 
+0x29fa 006311 iforce kc_ms 
+0x29fb 006312 fetch 1 ,mem_key_size 
+0x29fc 006313 add pdata ,-1 ,g1l 
+0x29fd 006314 pulse kc_p_activate 
+0x29fe 006315 rtn 
+:      006317 wait_access_end:
+0x29ff 006318 deposit clke 
+0x2a00 006319 store 6 ,mem_sync_clke 
+0x2a01 006320 disable decode_fec0 
+0x2a02 006321 nbranch shutdown_radio ,sync 
+0x2a03 006322 arg param_clke_cal ,clke_rt 
+0x2a04 006323 increase 1 ,clke_bt 
+0x2a05 006324 and_into 0x1fc ,clke_bt 
+0x2a06 006325 rtn 
+:      006329 wait_access_mhalfbnd:
+0x2a07 006330 enable decode_fec0 
+:      006331 wait_access_mhalfbnd_correlate:
+0x2a08 006332 correlate null ,mhalfbnd 
+0x2a09 006333 branch wait_access_end ,sync 
+0x2a0a 006334 compare 0x02 ,clke_bt ,0x02 
+0x2a0b 006335 nbranch wait_access_mhalfbnd_correlate ,true 
+0x2a0c 006336 branch wait_access_end 
+:      006338 wait_access_clkn_rt:
+0x2a0d 006339 bpatch patch12_1 ,mem_patch12 
+0x2a0e 006340 arg param_conn_access ,timeup 
+0x2a0f 006341 enable decode_fec0 
+0x2a10 006342 correlate clkn_rt ,meet 
+0x2a11 006343 disable decode_fec0 
+0x2a12 006344 nbranch shutdown_radio ,sync 
+0x2a13 006345 rtn 
+:      006347 wait_access_forever:
+0x2a14 006348 bpatch patch12_2 ,mem_patch12 
+0x2a15 006349 enable decode_fec0 
+0x2a16 006350 correlate null ,timeout 
+0x2a17 006351 disable decode_fec0 
+0x2a18 006352 nbranch shutdown_radio ,sync 
+0x2a19 006353 arg param_clke_cal ,clke_rt 
+0x2a1a 006354 and_into 0x1fc ,clke_bt 
+0x2a1b 006355 rtn 
+:      006358 reserve_slot:
+0x2a1c 006359 bpatch patch12_3 ,mem_patch12 
+0x2a1d 006360 iforce rega 
+0x2a1e 006361 deposit bt_clk 
+0x2a1f 006362 iadd temp ,timeup 
+0x2a20 006363 copy timeup ,pdata 
+0x2a21 006364 store 4 ,mem_next_btclk 
+0x2a22 006365 deposit rega 
+0x2a23 006366 rtn 
+:      006369 ahead_window:
+0x2a24 006370 copy pdata ,temp 
+0x2a25 006371 bpatch patch12_4 ,mem_patch12 
+0x2a26 006372 copy temp ,pdata 
+0x2a27 006373 call clk2bt 
+0x2a28 006374 lshift16 bt_clk ,pdata 
+0x2a29 006375 set1 44 ,pdata 
+0x2a2a 006376 call clk_diff 
+0x2a2b 006377 set0 44 ,pdata 
+0x2a2c 006378 call get_clk 
+0x2a2d 006379 call clk_diff 
+0x2a2e 006380 rtn user 
+0x2a2f 006381 call clk2rt 
+0x2a30 006382 iforce stop_watch 
+0x2a31 006383 until null ,timeout 
+0x2a32 006384 rtn 
+:      006387 setup_clk:
+0x2a33 006388 bpatch patch12_5 ,mem_patch12 
+0x2a34 006389 branch setup_clkn ,clknt 
+0x2a35 006390 until clke_rt ,meet 
+:      006391 skip_setup_clke:
+0x2a36 006392 copy clke_bt ,temp 
+0x2a37 006393 branch setup_clknbt 
+:      006394 setup_clkn:
+0x2a38 006395 branch skip_setup_clkn ,attempt 
+0x2a39 006396 until clkn_rt ,meet 
+:      006397 skip_setup_clkn:
+0x2a3a 006398 copy clkn_bt ,temp 
+:      006399 setup_clknbt:
+0x2a3b 006400 branch setup_clk11 ,user 
+0x2a3c 006401 compare 1 ,temp ,3 
+0x2a3d 006402 nbranch setup_clk ,true 
+:      006403 setup_complete:
+0x2a3e 006404 bpatch patch12_6 ,mem_patch12 
+0x2a3f 006405 fetch 1 ,mem_state 
+0x2a40 006406 rtnbit0 state_inconn 
+0x2a41 006407 fetch 4 ,mem_next_btclk 
+0x2a42 006408 isub temp ,pdata 
+0x2a43 006409 nrtn positive 
+0x2a44 006410 sub pdata ,0xff ,null 
+0x2a45 006411 branch setup_clk ,positive 
+0x2a46 006412 rtn 
+:      006413 setup_clk11:
+0x2a47 006414 compare 3 ,temp ,3 
+0x2a48 006415 nbranch setup_clk ,true 
+0x2a49 006416 branch setup_complete 
+:      006418 rf_setup_time:
+0x2a4a 006419 bpatch patch12_7 ,mem_patch12 
+0x2a4b 006420 arg param_rf_setup ,timeup 
+0x2a4c 006421 branch setup_clk 
+:      006423 rf_setup_time_slave_slot:
+0x2a4d 006424 disable user 
+0x2a4e 006425 branch rf_setup_time 
+:      006427 rf_setup_time_master_slot:
+0x2a4f 006428 enable user 
+0x2a50 006429 branch rf_setup_time 
+:      006431 start_transmitter:
+0x2a51 006432 bpatch patch13_0 ,mem_patch13 
+0x2a52 006433 call prep_crypt 
+0x2a53 006434 disable is_rx 
+0x2a54 006435 enable is_tx 
+0x2a55 006436 rtn 
+:      006440 start_tx_native:
+0x2a56 006441 bpatch patch13_1 ,mem_patch13 
+0x2a57 006442 arg param_tx_setup ,timeup 
+0x2a58 006443 until clkn_rt ,meet 
+0x2a59 006444 pulse init_encrypt 
+0x2a5a 006445 rtn 
+:      006447 start_rx_native:
+0x2a5b 006448 bpatch patch13_2 ,mem_patch13 
+0x2a5c 006449 arg param_rx_setup ,timeup 
+0x2a5d 006450 until clkn_rt ,meet 
+0x2a5e 006451 rtn 
+:      006454 start_tx_external:
+0x2a5f 006455 bpatch patch13_3 ,mem_patch13 
+0x2a60 006456 arg param_tx_setup ,timeup 
+0x2a61 006457 until clke_rt ,meet 
+0x2a62 006458 pulse init_encrypt 
+0x2a63 006459 rtn 
+:      006461 send_access_word:
+0x2a64 006462 bpatch patch13_4 ,mem_patch13 
+0x2a65 006463 preload access 
+0x2a66 006464 enable encode_fec0 
+0x2a67 006465 set1 txgfsk ,radio_ctrl 
+0x2a68 006466 inject mod ,72 
+0x2a69 006467 disable encode_fec0 
+0x2a6a 006468 rtn 
+:      006471 scan_mode_whiten:
+0x2a6b 006472 copy xin ,temp 
+0x2a6c 006473 or_into 0x60 ,temp 
+0x2a6d 006474 copy temp ,white_init 
+0x2a6e 006475 rtn 
+:      006480 get_free_amaddr:
+0x2a6f 006481 bpatch patch13_5 ,mem_patch13 
+0x2a70 006482 fetch 1 ,mem_current_amaddr 
+0x2a71 006483 increase 1 ,pdata 
+0x2a72 006484 bne param_esco_addr ,get_free_amaddr_cont 
+0x2a73 006485 force 1 ,pdata 
+:      006486 get_free_amaddr_cont:
+0x2a74 006487 store 1 ,mem_current_amaddr 
+0x2a75 006488 iforce am_addr 
+0x2a76 006489 rtn 
+:      006491 get_clk:
+0x2a77 006492 copy clkn ,temp 
+0x2a78 006493 rtn master 
+0x2a79 006494 copy clke ,temp 
+0x2a7a 006495 rtn 
+:      006497 get_clkbt:
+0x2a7b 006498 deposit clkn_bt 
+0x2a7c 006499 rtn master 
+0x2a7d 006500 deposit clke_bt 
+0x2a7e 006501 rtn 
+:      006504 supervision_update:
+0x2a7f 006505 bpatch patch13_6 ,mem_patch13 
+0x2a80 006506 fetcht 4 ,mem_supervision_timer 
+0x2a81 006507 call get_clkbt 
+0x2a82 006508 isub temp ,timeup 
+0x2a83 006509 deposit timeup 
+0x2a84 006510 fetcht 2 ,mem_supervision_to 
+0x2a85 006511 lshift temp ,temp 
+0x2a86 006512 isub temp ,pdata 
+0x2a87 006513 rtn 
+:      006515 supervision_flush:
+0x2a88 006516 bpatch patch13_7 ,mem_patch13 
+0x2a89 006517 call get_clkbt 
+0x2a8a 006518 store 4 ,mem_supervision_timer 
+0x2a8b 006519 rtn 
+:      006521 assert:
+0x2a8c 006522 bpatch patch14_0 ,mem_patch14 
+0x2a8d 006523 branch assert 
+:      006525 loop:
+0x2a8e 006526 branch loop 
+:      006528 sleep:
+0x2a8f 006529 rtn blank 
+0x2a90 006531 rshift pdata ,pdata 
+0x2a91 006532 increase -3 ,pdata 
+:      006533 sleep_loop:
+0x2a92 006534 increase -1 ,pdata 
+0x2a93 006535 nbranch sleep_loop ,zero 
+0x2a94 006536 force 0 ,pdata 
+0x2a95 006537 rtn 
+:      006541 init_param:
+0x2a96 006543 arg 0x10 ,loopcnt 
+0x2a97 006544 arg 0 ,contw 
+0x2a98 006545 call memset0 
+0x2a99 006546 arg mem_le_state ,contw 
+0x2a9a 006547 arg 10 ,loopcnt 
+0x2a9b 006548 call memset0 
+0x2a9c 006549 jam 0 ,mem_sp_calc 
+0x2a9d 006550 jam 0 ,mem_fifo_temp 
+0x2a9e 006551 jam 0 ,mem_le_testtype 
+0x2a9f 006552 jam 0 ,mem_debug_config 
+0x2aa0 006553 jam 0 ,mem_lmp_conn_state 
+0x2aa1 006554 bpatch patch14_1 ,mem_patch14 
+0x2aa2 006555 jam 0 ,mem_connection_options 
+0x2aa3 006556 jam 0 ,mem_tester_emulate 
+0x2aa4 006557 jam 0 ,mem_tester_cnt 
+0x2aa5 006558 setarg param_glap 
+0x2aa6 006559 store 3 ,mem_glap 
+0x2aa7 006560 setarg param_acl_pktlen 
+0x2aa8 006561 store 2 ,mem_acl_pktlen 
+0x2aa9 006562 jam param_sco_pktlen ,mem_sco_pktlen 
+0x2aaa 006563 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x2aab 006564 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x2aac 006565 setarg param_hci_version 
+0x2aad 006566 store 3 ,mem_hci_version 
+0x2aae 006571 jam 0x60 ,mem_fhs_misc 
+0x2aaf 006572 jam param_max_slot ,mem_max_slot 
+0x2ab0 006573 jam 0x02 ,mem_fw_ver 
+0x2ab1 006574 fetch 1 ,mem_ssp_enable 
+0x2ab2 006575 ncall init_memp ,blank 
+0x2ab3 006576 fetch 1 ,mem_le_secure_connect_enable 
+0x2ab4 006577 ncall init_memp_256 ,blank 
+0x2ab5 006578 bpatch patch14_2 ,mem_patch14 
+0x2ab6 006579 rtn wake 
+0x2ab7 006580 setarg 0 
+0x2ab8 006581 store 2 ,mem_tx_len 
+0x2ab9 006582 rshift clkn_bt ,pdata 
+0x2aba 006583 store 4 ,mem_last_clkn 
+0x2abb 006584 rtn 
+:      006591 lpmstate:
+0x2abc 006592 setarg 0xee21 
+0x2abd 006593 hstore 2 ,core_clkoff 
+0x2abe 006594 hfetch 4 ,core_gpio_in 
+0x2abf 006595 store 4 ,mem_saved_gpio_in 
+0x2ac0 006596 hfetch 1 ,core_lpm_ldocnt 
+0x2ac1 006597 store 1 ,mem_wakup_from_power_flag 
+0x2ac2 006598 bbit0 gpio_latch ,loadcode 
+0x2ac3 006599 enable wake 
+0x2ac4 006600 bbit0 cold_wake ,lpmwake 
+0x2ac5 006601 disable wake 
+0x2ac6 006602 deposit auxcnt 
+0x2ac7 006603 nbranch lpmwake ,blank 
+0x2ac8 006604 hfetch 1 ,core_lpm_ctrl + 3 
+0x2ac9 006605 bbit1 reload_code ,lpmwake 
+0x2aca 006606 arg param_hibernate_clks ,temp 
+0x2acb 006607 branch lpm_enter_sleep 
+:      006608 lpmwake:
+0x2acc 006609 hfetch 3 ,core_lpm_xtalcnt 
+0x2acd 006610 hstore 3 ,core_lpm_reg 
+0x2ace 006611 ifetch 1 ,contr 
+0x2acf 006612 or_into isogate_mask ,pdata 
+0x2ad0 006613 istore 1 ,contw 
+0x2ad1 006614 call lpm_write_ctrl2 
+0x2ad2 006615 hfetch 1 ,core_lpm_isogate 
+0x2ad3 006616 set1 enable_retmem ,pdata 
+0x2ad4 006617 hstore 1 ,core_lpm_isogate 
+0x2ad5 006618 call lpm_write_ctrl2 
+0x2ad6 006619 call lpm_load_context ,wake 
+0x2ad7 006620 hfetch 1 ,core_lpm_reg + 2 
+0x2ad8 006621 set0 gpio_latch ,pdata 
+0x2ad9 006622 hstore 1 ,core_lpm_reg + 2 
+0x2ada 006623 call lpm_write_ctrl2 
+0x2adb 006624 nbranch loadcode ,wake 
+0x2adc 006625 rtnmark0 mark_otp_encrypt 
+0x2add 006626 jam lock_otp ,core_misc_ctrl 
+0x2ade 006627 rtn 
+:      006629 lpm_load_context:
+0x2adf 006630 fetch 1 ,mem_saved_spidctrl 
+0x2ae0 006631 hstore 1 ,core_spid_ctrl 
+0x2ae1 006632 fetch 3 ,mem_saved_gsel 
+0x2ae2 006633 hstore 3 ,core_gpio_sel 
+0x2ae3 006634 fetch 4 ,mem_saved_gpio + 4 
+0x2ae4 006635 hstore 4 ,core_gpio_out0 
+0x2ae5 006636 fetch 4 ,mem_saved_gpio 
+0x2ae6 006637 hstore 4 ,core_gpio_oe0 
+0x2ae7 006638 fetch 8 ,mem_saved_gpio + 8 
+0x2ae8 006639 hstore 8 ,core_gpio_pu0 
+0x2ae9 006640 fetch 8 ,mem_saved_mark 
+0x2aea 006641 iforce mark 
+0x2aeb 006642 hfetch 8 ,core_gpio_wakeup_low 
+0x2aec 006643 store 8 ,mem_gpio_wakeup_low 
+0x2aed 006644 call load_ucode 
+0x2aee 006645 rtn 
+:      006647 lpm_save_context:
+0x2aef 006648 deposit mark 
+0x2af0 006649 store 8 ,mem_saved_mark 
+0x2af1 006650 hfetch 8 ,core_gpio_oe0 
+0x2af2 006651 store 8 ,mem_saved_gpio 
+0x2af3 006652 ifetch 8 ,contr 
+0x2af4 006653 istore 8 ,contw 
+0x2af5 006654 hfetch 3 ,core_gpio_sel 
+0x2af6 006655 store 3 ,mem_saved_gsel 
+0x2af7 006656 hfetch 1 ,core_spid_ctrl 
+0x2af8 006657 store 1 ,mem_saved_spidctrl 
+0x2af9 006658 branch lpm_write_gpio_wakeup 
+:      006660 lpo_calibration:
+0x2afa 006661 hfetch 1 ,core_bist_ctrl 
+0x2afb 006662 nbranch lpo_cal_inited ,blank 
+0x2afc 006663 fetch 3 ,mem_clks_per_lpo 
+0x2afd 006664 nrtn blank 
+0x2afe 006665 jam 0xc0 ,core_bist_ctrl 
+0x2aff 006666 jam ccnt_start ,core_misc_ctrl 
+:      006667 lpo_cal_inited:
+0x2b00 006668 hfetch 1 ,core_perf_status 
+0x2b01 006669 rtnbit0 1 
+0x2b02 006670 hfetch 3 ,core_clk_counter 
+0x2b03 006671 store 3 ,mem_clks_per_lpo 
+0x2b04 006672 rtn 
+:      006676 lpm_adjust_clk:
+0x2b05 006677 bpatch patch14_3 ,mem_patch14 
+0x2b06 006678 deposit clke 
+0x2b07 006679 call clk_diff_rt 
+0x2b08 006680 fetcht 4 ,mem_sleep_counter_all 
+0x2b09 006681 sub temp ,0xff ,null 
+0x2b0a 006682 rtn positive 
+0x2b0b 006683 lshift8 pdata ,pdata 
+0x2b0c 006684 lshift4 pdata ,pdata 
+0x2b0d 006685 idiv temp 
+0x2b0e 006686 call wait_div_end 
+0x2b0f 006687 quotient pdata 
+0x2b10 006688 arg param_lpm_adjmax ,temp 
+0x2b11 006689 call ceiling 
+0x2b12 006690 store 1 ,mem_lpm_adjust 
+0x2b13 006691 nbranch lpm_adjust_positive ,user 
+0x2b14 006692 sub pdata ,0 ,pdata 
+:      006693 lpm_adjust_positive:
+0x2b15 006694 fetcht 3 ,mem_clks_per_lpo 
+0x2b16 006695 iadd temp ,pdata 
+0x2b17 006696 store 3 ,mem_clks_per_lpo 
+:      006697 lpm_clear_counter:
+0x2b18 006698 setarg 0 
+0x2b19 006699 store 4 ,mem_sleep_counter_all 
+0x2b1a 006700 rtn 
+:      006704 lpm_doze:
+0x2b1b 006705 fetch 1 ,mem_lpm_config + 2 
+0x2b1c 006706 set1 reload_code ,pdata 
+0x2b1d 006707 store 1 ,mem_lpm_config + 2 
+0x2b1e 006708 branch lpm_hibernate_normal 
+:      006712 lpm_hibernate:
+0x2b1f 006713 arg param_hibernate_clks ,temp 
+0x2b20 006714 fetch 1 ,mem_lpm_config + 1 
+0x2b21 006715 set0 7 ,pdata 
+0x2b22 006716 store 1 ,mem_lpm_config + 1 
+:      006717 lpm_hibernate_normal:
+0x2b23 006718 bpatch patch14_4 ,mem_patch14 
+0x2b24 006719 call lpm_write_gpio_wakeup 
+0x2b25 006720 fetch 1 ,mem_lpm_hibernate_switch 
+0x2b26 006721 store 1 ,mem_lpm_xtalcnt + 4 
+0x2b27 006722 fetch 1 ,mem_lpm_xtalcnt + 2 
+0x2b28 006723 set1 cold_wake ,pdata 
+0x2b29 006724 store 1 ,mem_lpm_xtalcnt + 2 
+:      006727 lpm_sleep:
+0x2b2a 006728 bpatch patch14_5 ,mem_patch14 
+0x2b2b 006729 call xtal_fast_wake 
+0x2b2c 006730 fetch 4 ,mem_sleep_counter_all 
+0x2b2d 006731 iadd temp ,pdata 
+0x2b2e 006732 store 4 ,mem_sleep_counter_all 
+0x2b2f 006733 call lpm_save_context 
+0x2b30 006734 fetch 5 ,mem_lpm_xtalcnt 
+0x2b31 006735 hstore 4 ,core_lpm_reg 
+0x2b32 006736 rshift32 pdata ,rega 
+0x2b33 006737 until null ,lpo_edge 
+0x2b34 006738 deposit clkn 
+0x2b35 006739 store 6 ,mem_sleep_clkn 
+0x2b36 006740 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x2b37 006741 until null ,lpo_edge 
+0x2b38 006742 until null ,lpo_edge 
+0x2b39 006743 deposit rega 
+0x2b3a 006744 hstore 1 ,core_lpm_isogate 
+0x2b3b 006745 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      006746 lpm_enter_sleep:
+0x2b3c 006747 until null ,lpo_edge 
+0x2b3d 006748 until null ,lpo_edge 
+0x2b3e 006749 hstoret 4 ,core_lpm_reg 
+0x2b3f 006750 jam lpmreg_sel_counter ,core_lpm_wr 
+0x2b40 006751 until null ,never 
+:      006756 lpm_recover_clk:
+0x2b41 006757 bpatch patch14_6 ,mem_patch14 
+0x2b42 006758 setarg 0 
+0x2b43 006759 copy auxcnt ,null 
+0x2b44 006760 branch lpm_recover_timeout ,zero 
+0x2b45 006761 hfetch 1 ,core_lpm_xtalcnt 
+0x2b46 006762 hfetcht 1 ,core_lpm_buckcnt 
+0x2b47 006763 isub temp ,null 
+0x2b48 006764 branch lpm_recover_xtal ,positive 
+0x2b49 006765 deposit temp 
+:      006766 lpm_recover_xtal:
+0x2b4a 006767 isub auxcnt ,pdata 
+0x2b4b 006768 increase 1 ,pdata 
+:      006769 lpm_recover_timeout:
+0x2b4c 006770 increase 8 ,pdata 
+0x2b4d 006771 until null ,lpo_edge 
+0x2b4e 006772 iadd lpo_time ,pdata 
+0x2b4f 006773 fetcht 4 ,mem_sleep_counter 
+0x2b50 006774 iadd temp ,pdata 
+0x2b51 006775 fetcht 3 ,mem_clks_per_lpo 
+0x2b52 006776 imul32 temp ,pdata 
+0x2b53 006777 rshift8 pdata ,pdata 
+0x2b54 006778 rshift4 pdata ,pdata 
+0x2b55 006779 increase param_lpm_fix ,pdata 
+0x2b56 006780 arg 3750 ,temp 
+0x2b57 006781 idiv temp 
+0x2b58 006782 call wait_div_end 
+0x2b59 006783 quotient pdata 
+0x2b5a 006784 lshift16 pdata ,pdata 
+0x2b5b 006785 remainder temp 
+0x2b5c 006786 ior temp ,pdata 
+0x2b5d 006787 fetcht 6 ,mem_sleep_clkn 
+0x2b5e 006788 call clk_add 
+0x2b5f 006789 copy temp ,clkn 
+0x2b60 006790 fetch 6 ,mem_context + coffset_clk_offset 
+0x2b61 006791 call calc_clke2 
+0x2b62 006792 deposit clke 
+0x2b63 006793 store 6 ,mem_pdatatemp 
+0x2b64 006794 deposit auxcnt 
+0x2b65 006795 istore 1 ,contw 
+0x2b66 006796 hfetch 1 ,core_gpio_in1 
+0x2b67 006797 or_into 0xf0 ,pdata 
+0x2b68 006798 istore 1 ,contw 
+0x2b69 006799 rtn 
+:      006801 lpm_dispatch:
+0x2b6a 006802 bpatch patch14_7 ,mem_patch14 
+0x2b6b 006803 call lpo_calibration 
+0x2b6c 006804 fetch 3 ,mem_clks_per_lpo 
+0x2b6d 006805 rtn blank 
+0x2b6e 006806 fetch 1 ,mem_lpm_mode 
+0x2b6f 006807 rtn blank 
+0x2b70 006808 fetch 1 ,mem_ssp_enable 
+0x2b71 006809 branch lpm_dispatch_next ,blank 
+0x2b72 006810 fetch 1 ,mem_sp_local_key_invalid 
+0x2b73 006811 rtn blank 
+:      006812 lpm_dispatch_next:
+0x2b74 006813 fetch 1 ,mem_le_sc_calc 
+0x2b75 006814 nrtn blank 
+0x2b76 006815 call lpm_check_wake_lock 
+0x2b77 006816 nrtn blank 
+0x2b78 006817 fetch 1 ,mem_context 
+0x2b79 006818 compare 3 ,pdata ,0x7 
+0x2b7a 006819 nbranch lpm_dispatch_unconn ,true 
+0x2b7b 006820 fetch 2 ,mem_context + coffset_tsniff 
+0x2b7c 006821 rtn blank 
+0x2b7d 006822 rtn wake 
+0x2b7e 006823 bpatch patch15_0 ,mem_patch15 
+:      006824 lpm_dispatch_next2:
+0x2b7f 006825 fetcht 1 ,mem_lpm_current_mult 
+0x2b80 006826 fetch 2 ,mem_context + coffset_tsniff 
+0x2b81 006827 imul32 temp ,pdata 
+0x2b82 006828 rshift4 temp ,temp 
+0x2b83 006829 rshift2 temp ,temp 
+0x2b84 006830 isub temp ,pdata 
+0x2b85 006831 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x2b86 006832 iadd temp ,pdata 
+0x2b87 006833 fetcht 1 ,mem_lpm_overhead 
+0x2b88 006834 isub temp ,pdata 
+0x2b89 006835 lshift16 pdata ,alarm 
+0x2b8a 006836 bpatch patch15_1 ,mem_patch15 
+0x2b8b 006837 fetch 2 ,mem_context + coffset_rx_window 
+0x2b8c 006838 rshift pdata ,pdata 
+0x2b8d 006839 call clk2bt 
+0x2b8e 006840 deposit alarm 
+0x2b8f 006841 call clk_diff 
+0x2b90 006842 copy clke ,temp 
+0x2b91 006843 call clk_diff_rt 
+0x2b92 006844 rtn user 
+:      006845 lpm_dispatch_sleep:
+0x2b93 006846 call clk2lpo 
+:      006847 lpm_dispatch_lpo:
+0x2b94 006848 bpatch patch15_2 ,mem_patch15 
+0x2b95 006849 fetch 1 ,mem_lpm_xtalcnt 
+0x2b96 006850 isub temp ,null 
+0x2b97 006851 branch lpm_clear_counter ,positive 
+0x2b98 006852 storet 4 ,mem_sleep_counter 
+0x2b99 006853 call app_will_enter_lpm 
+0x2b9a 006854 call l2cap_lpm_save_txbuf 
+0x2b9b 006855 fetcht 4 ,mem_sleep_counter 
+0x2b9c 006856 branch lpm_sleep 
+:      006858 lpm_dispatch_unconn:
+0x2b9d 006859 bpatch patch15_3 ,mem_patch15 
+0x2b9e 006860 fetch 1 ,mem_context 
+0x2b9f 006861 rtnbit1 state_inconn 
+0x2ba0 006862 rtnbit1 state_inpage 
+0x2ba1 006863 fetch 1 ,mem_ssp_enable 
+0x2ba2 006864 branch lpm_unconn_nossp ,blank 
+0x2ba3 006865 fetch 1 ,mem_sp_local_key_invalid 
+0x2ba4 006866 rtn blank 
+:      006867 lpm_unconn_nossp:
+0x2ba5 006868 bpatch patch15_4 ,mem_patch15 
+0x2ba6 006869 fetch 1 ,mem_le_adv_enable 
+0x2ba7 006870 nbranch lpm_unconn_cont ,blank 
+0x2ba8 006871 fetch 1 ,mem_scan_mode 
+0x2ba9 006872 rtn blank 
+:      006873 lpm_unconn_cont:
+0x2baa 006874 fetch 2 ,mem_lpm_interval 
+0x2bab 006875 rtn blank 
+:      006876 lpm_sleep_btclk:
+0x2bac 006877 fetcht 1 ,mem_lpm_overhead 
+0x2bad 006878 isub temp ,pdata 
+0x2bae 006879 arg 7500 ,temp 
+0x2baf 006880 imul32 temp ,pdata 
+0x2bb0 006881 branch lpm_dispatch_sleep 
+:      006883 lpm_set_mult:
+0x2bb1 006884 bpatch patch15_5 ,mem_patch15 
+0x2bb2 006885 disable wake 
+0x2bb3 006886 fetch 1 ,mem_state 
+0x2bb4 006887 rtnbit0 state_insniff 
+0x2bb5 006888 nbranch lpm_not_match ,match 
+0x2bb6 006889 call lpm_match 
+0x2bb7 006890 fetch 2 ,mem_rx_window_sniff 
+0x2bb8 006891 store 2 ,mem_rx_window 
+0x2bb9 006892 fetch 1 ,mem_arq 
+0x2bba 006893 bbit1 wack ,lpm_mult_short 
+0x2bbb 006894 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bbc 006895 call l2cap_malloc_is_fifo_empty 
+0x2bbd 006896 nbranch lpm_mult_short ,blank 
+0x2bbe 006897 fetch 1 ,mem_classic_bt_flag 
+0x2bbf 006898 bbit1 short_mult_flag ,lpm_mult_short 
+:      006899 lpm_mult_wait_timeout:
+0x2bc0 006900 jam 0 ,mem_lpm_current_mult 
+0x2bc1 006901 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bc2 006902 fetch 1 ,mem_lpm_mult_cnt 
+0x2bc3 006903 branch lpm_mult_long ,blank 
+0x2bc4 006904 increase -1 ,pdata 
+0x2bc5 006905 store 1 ,mem_lpm_mult_cnt 
+0x2bc6 006906 rtn 
+:      006909 classic_bt_set_mult_short_flag:
+0x2bc7 006910 arg short_mult_flag ,queue 
+0x2bc8 006911 branch classic_bluetooth_set_flag 
+:      006913 classic_bt_clr_mult_short_flag:
+0x2bc9 006914 arg short_mult_flag ,queue 
+0x2bca 006915 branch classic_bluetooth_clr_flag 
+:      006919 lpm_match:
+0x2bcb 006920 jam 0 ,mem_sniff_unint_lost 
+0x2bcc 006921 fetch 3 ,mem_sniff_rcv 
+0x2bcd 006922 increase 1 ,pdata 
+0x2bce 006923 store 3 ,mem_sniff_rcv 
+0x2bcf 006924 rtn 
+:      006926 lpm_not_match:
+0x2bd0 006927 bpatch patch15_6 ,mem_patch15 
+0x2bd1 006928 fetcht 2 ,mem_rx_window_sniff 
+0x2bd2 006929 rshift temp ,temp 
+0x2bd3 006930 fetch 2 ,mem_rx_window 
+0x2bd4 006931 iadd temp ,pdata 
+0x2bd5 006932 store 2 ,mem_rx_window 
+:      006933 lpm_lost:
+0x2bd6 006934 jam 0 ,mem_lpm_current_mult 
+0x2bd7 006935 fetch 3 ,mem_sniff_lost 
+0x2bd8 006936 increase 1 ,pdata 
+0x2bd9 006937 store 3 ,mem_sniff_lost 
+0x2bda 006938 fetch 1 ,mem_sniff_unint_lost 
+0x2bdb 006939 increase 1 ,pdata 
+0x2bdc 006940 store 1 ,mem_sniff_unint_lost 
+0x2bdd 006941 rtn 
+:      006943 lpm_mult_short:
+0x2bde 006944 jam 0 ,mem_lpm_current_mult 
+0x2bdf 006945 fetch 1 ,mem_lpm_mult_timeout 
+0x2be0 006946 store 1 ,mem_lpm_mult_cnt 
+0x2be1 006947 rtn 
+:      006949 lpm_mult_long:
+0x2be2 006950 fetcht 1 ,mem_lpm_mult 
+0x2be3 006951 storet 1 ,mem_lpm_current_mult 
+0x2be4 006952 rtn 
+:      006954 lpm_cal_xtal_startup:
+0x2be5 006955 bpatch patch15_7 ,mem_patch15 
+0x2be6 006956 fetch 1 ,mem_lpm_xtalcnt 
+0x2be7 006957 nrtn blank 
+0x2be8 006958 jam clksel_rc ,core_clksel 
+0x2be9 006959 setarg 0xf0c 
+0x2bea 006960 call lpm_write_config 
+0x2beb 006961 setarg 200000 
+0x2bec 006962 call sleep 
+0x2bed 006963 until null ,lpo_edge 
+0x2bee 006964 copy lpo_time ,alarm 
+0x2bef 006965 call xtal_fast_wake 
+0x2bf0 006966 jam clksel_xtal ,core_clksel 
+0x2bf1 006967 nop 10 
+0x2bf2 006968 until null ,lpo_edge 
+0x2bf3 006969 deposit lpo_time 
+0x2bf4 006970 isub alarm ,pdata 
+0x2bf5 006971 increase 0x30 ,pdata 
+0x2bf6 006972 arg 0xff ,temp 
+0x2bf7 006973 call ceiling 
+0x2bf8 006974 store 1 ,mem_lpm_xtalcnt 
+0x2bf9 006975 nop 30000 
+0x2bfa 006976 nop 30000 
+0x2bfb 006977 nop 30000 
+0x2bfc 006978 rtn 
+:      006980 lpm_cal_xtal_startup_by_snooze:
+0x2bfd 006981 fetch 1 ,mem_lpm_xtalcnt 
+0x2bfe 006982 nrtn blank 
+0x2bff 006983 jam 0xff ,core_xtal_stable_time 
+0x2c00 006984 jam clksel_rc ,core_clksel 
+0x2c01 006985 call xtal_fast_wake 
+0x2c02 006986 setarg 1000 
+0x2c03 006987 iadd lpo_time ,alarm 
+0x2c04 006988 snooze 
+0x2c05 006989 deposit lpo_time 
+0x2c06 006990 nop 12000 
+0x2c07 006991 nop 12000 
+0x2c08 006992 nop 12000 
+0x2c09 006993 nop 12000 
+0x2c0a 006994 nop 12000 
+0x2c0b 006995 nop 12000 
+0x2c0c 006996 nop 12000 
+0x2c0d 006997 nop 12000 
+0x2c0e 006998 nop 12000 
+0x2c0f 006999 isub alarm ,pdata 
+0x2c10 007000 add pdata ,0x30 ,pdata 
+0x2c11 007001 arg 0xff ,temp 
+0x2c12 007002 call ceiling 
+0x2c13 007003 store 1 ,mem_lpm_xtalcnt 
+0x2c14 007004 nop 30000 
+0x2c15 007005 nop 30000 
+0x2c16 007006 nop 30000 
+0x2c17 007007 rtn 
+:      007012 lpm_write_config:
+0x2c18 007013 arg 0xfff ,contw 
+0x2c19 007014 iand contw ,contw 
+0x2c1a 007015 fetch 1 ,mem_lpm_config 
+0x2c1b 007016 and_into 0xf0 ,pdata 
+0x2c1c 007017 lshift8 pdata ,pdata 
+0x2c1d 007018 ior contw ,pdata 
+0x2c1e 007019 hstore 2 ,core_lpm_reg 
+0x2c1f 007020 ifetch 2 ,contr 
+0x2c20 007021 istore 2 ,contw 
+:      007023 lpm_write_ctrl:
+0x2c21 007024 setarg lpmreg_sel_ctrl 
+0x2c22 007025 branch lpm_write 
+:      007027 lpm_write_ctrl2:
+0x2c23 007028 setarg lpmreg_sel_ctrl2 
+:      007029 lpm_write:
+0x2c24 007030 until null ,lpo_edge 
+0x2c25 007031 hstore 1 ,core_lpm_wr 
+0x2c26 007032 until null ,lpo_edge 
+0x2c27 007033 until null ,lpo_edge 
+0x2c28 007034 rtn 
+:      007037 lpm_write_gpio_wakeup:
+0x2c29 007038 bpatch patch16_0 ,mem_patch16 
+0x2c2a 007039 fetch 4 ,mem_gpio_wakeup_low 
+0x2c2b 007040 hstore 4 ,core_lpm_reg 
+0x2c2c 007041 setarg lpmreg_sel_gpiolow 
+0x2c2d 007042 call lpm_write 
+0x2c2e 007043 fetch 4 ,mem_gpio_wakeup_high 
+0x2c2f 007044 hstore 4 ,core_lpm_reg 
+0x2c30 007045 setarg lpmreg_sel_gpiohigh 
+0x2c31 007046 branch lpm_write 
+:      007048 lpm_get_wake_lock:
+0x2c32 007049 fetch 2 ,mem_lpm_wake_lock 
+0x2c33 007050 qset1 pdata 
+0x2c34 007051 store 2 ,mem_lpm_wake_lock 
+0x2c35 007052 rtn 
+:      007054 lpm_put_wake_lock:
+0x2c36 007055 fetch 2 ,mem_lpm_wake_lock 
+0x2c37 007056 qset0 pdata 
+0x2c38 007057 store 2 ,mem_lpm_wake_lock 
+0x2c39 007058 rtn 
+:      007062 lpm_check_wake_lock:
+0x2c3a 007063 bpatch patch16_1 ,mem_patch16 
+0x2c3b 007064 call app_check_wake_lock 
+0x2c3c 007065 fetch 2 ,mem_lpm_wake_lock 
+0x2c3d 007066 copy pdata ,rega 
+0x2c3e 007067 fetch 1 ,mem_state_map 
+0x2c3f 007068 isolate1 smap_rxlmp ,pdata 
+0x2c40 007069 setflag true ,wake_lock_lmp_rx ,rega 
+0x2c41 007070 fetch 1 ,mem_lmo_opcode1 
+0x2c42 007071 fetcht 1 ,mem_lmo_opcode2 
+0x2c43 007072 iadd temp ,pdata 
+0x2c44 007073 fetcht 1 ,mem_lmp_to_send 
+0x2c45 007074 iadd temp ,pdata 
+0x2c46 007075 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x2c47 007076 fetch 1 ,mem_le_tx_buff_used 
+0x2c48 007077 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x2c49 007078 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x2c4a 007079 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x2c4b 007080 iadd temp ,pdata 
+0x2c4c 007081 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x2c4d 007082 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x2c4e 007083 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x2c4f 007084 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x2c50 007085 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x2c51 007086 fetch 1 ,mem_hci_cmd 
+0x2c52 007087 nsetflag blank ,wake_lock_cmd ,rega 
+0x2c53 007088 fetch 1 ,mem_device_option 
+0x2c54 007089 compare dvc_op_module ,pdata ,0xff 
+0x2c55 007090 call lpm_uart_wake_lock ,true 
+0x2c56 007091 setarg -8 
+0x2c57 007092 iand rega ,rega 
+0x2c58 007093 copy rega ,pdata 
+0x2c59 007094 store 2 ,mem_lpm_wake_lock 
+0x2c5a 007095 rtn 
+:      007097 lpm_uart_wake_lock:
+0x2c5b 007098 hfetch 2 ,core_uart_rxitems 
+0x2c5c 007099 nsetflag blank ,wake_lock_uart_rx ,rega 
+0x2c5d 007100 hfetch 2 ,core_uart_txitems 
+0x2c5e 007101 nsetflag blank ,wake_lock_uart_tx ,rega 
+0x2c5f 007102 rtn 
+:      007104 lpm_shut_down:
+0x2c60 007105 hfetch 4 ,core_lpm_ctrl 
+0x2c61 007106 set0 27 ,pdata 
+0x2c62 007107 hstore 4 ,core_lpm_reg 
+0x2c63 007108 call lpm_write_ctrl 
+0x2c64 007109 branch assert 
+:      007111 lpm_disable_exen_output:
+0x2c65 007112 hfetch 4 ,core_lpm_xtalcnt 
+0x2c66 007113 set0 20 ,pdata 
+0x2c67 007114 hstore 4 ,core_lpm_reg 
+0x2c68 007115 branch lpm_write_ctrl2 
+:      007117 check_bt_disabled:
+0x2c69 007118 fetch 2 ,mem_chip_functions 
+0x2c6a 007119 bbit1 bt_disabled ,assert 
+0x2c6b 007120 rtn 
+:      007121 check_ble_disabled:
+0x2c6c 007122 fetch 2 ,mem_chip_functions 
+0x2c6d 007123 bbit1 ble_disabled ,assert 
+0x2c6e 007124 rtn 
+:      007125 check_module_disabled:
+0x2c6f 007126 fetch 2 ,mem_chip_functions 
+0x2c70 007127 bbit1 module_disable ,assert 
+0x2c71 007128 rtn 
+:      007189 g24_dispatch:
+0x2c72 007190 bpatch patch16_2 ,mem_patch16 
+0x2c73 007191 call g24_head_ptr2regc 
+0x2c74 007192 add regc ,offset_24g_mode ,regb 
+0x2c75 007193 ifetch 1 ,regb 
+0x2c76 007195 rtneq disable_24g 
+0x2c77 007196 beq tx_24g ,g24_transmit_process 
+0x2c78 007197 beq rx_24g ,g24_receive_process 
+0x2c79 007198 rtn 
+:      007200 g24_head_ptr2regc:
+0x2c7a 007201 fetcht 2 ,mem_24g_head_ptr 
+0x2c7b 007202 copy temp ,regc 
+0x2c7c 007203 rtn 
+:      007205 g24_receive_process_init:
+0x2c7d 007206 call g24_receive_init 
+0x2c7e 007207 branch g24_mode_switch_init 
+:      007209 g24_receive_process:
+0x2c7f 007210 call g24_mode_switch 
+0x2c80 007211 call g24_dongle_work_mode_auto 
+0x2c81 007212 call g24_dongle_bind_mode_auto 
+0x2c82 007213 branch g24_dongle_search_mode_auto 
+:      007216 g24_pair_init:
+0x2c83 007219 call g24_set0_mem_pid 
+0x2c84 007220 setarg g24_pair_ch 
+0x2c85 007221 call g24_store_mem_ch 
+0x2c86 007222 call g24_store_mem_pair_txpower 
+0x2c87 007225 add regc ,offset_24g_paring_addr ,rega 
+0x2c88 007226 ifetch 4 ,rega 
+0x2c89 007227 branch g24_store_mem_addr 
+:      007229 g24_ch:
+0x2c8a 007230 call g24_head_ptr2regc 
+0x2c8b 007231 add regc ,offset_24g_current_ch_number ,regb 
+0x2c8c 007232 ifetcht 1 ,regb 
+0x2c8d 007234 call g24_ch_temp_incre_size4 
+0x2c8e 007235 add regc ,offset_24g_current_ch_number ,contw 
+0x2c8f 007237 branch g24_contw_istoret_1byte 
+:      007239 g24_ch_temp_incre_size4:
+0x2c90 007240 call g24_ch_calc 
+0x2c91 007241 increase 1 ,temp 
+0x2c92 007242 and_into 3 ,temp 
+0x2c93 007243 rtn 
+:      007245 g24_ch_calc:
+0x2c94 007246 add regc ,offset_24g_addr ,regb 
+0x2c95 007247 ifetch 1 ,regb 
+0x2c96 007249 and_into 0x03 ,pdata 
+0x2c97 007250 mul32 pdata ,4 ,rega 
+0x2c98 007251 add regc ,offset_24g_ch_map1 ,pdata 
+0x2c99 007253 iadd rega ,pdata 
+0x2c9a 007254 iadd temp ,contr 
+0x2c9b 007255 ifetch 1 ,contr 
+0x2c9c 007257 branch g24_store_mem_ch 
+:      007259 g24_set_device_addr:
+0x2c9d 007260 call g24_store_mem_tx_power_temp 
+0x2c9e 007261 call otp_enable_chgpump 
+0x2c9f 007262 setarg 0x7e2 
+0x2ca0 007263 arg mem_temp ,rega 
+0x2ca1 007264 arg 4 ,temp 
+0x2ca2 007265 call otpd_read_data 
+0x2ca3 007266 call otp_disable_chgpump 
+0x2ca4 007267 fetch 4 ,mem_temp 
+0x2ca5 007268 call g24_store_mem_device_addr 
+0x2ca6 007270 nrtn blank 
+0x2ca7 007271 fetch 4 ,mem_lap 
+0x2ca8 007273 branch g24_store_mem_device_addr 
+:      007275 g24_transmit_rf_sta_init:
+0x2ca9 007276 call g24_set1_mem_rf_last_sta 
+0x2caa 007278 setarg 0 
+0x2cab 007279 call g24_store_mem_sync_cnt 
+:      007281 g24_transmit_rf_ctrl_clear:
+0x2cac 007282 call g24_fetch_mem_data_type 
+0x2cad 007284 and_into bits_data ,pdata 
+0x2cae 007286 branch g24_store_mem_data_type 
+:      007288 g24_hop_ch_enable:
+0x2caf 007289 call g24_fetch_mem_data_type 
+0x2cb0 007291 set1 bit_hop ,pdata 
+0x2cb1 007292 call g24_store_mem_data_type 
+0x2cb2 007295 branch g24_store_mem_txpayload 
+:      007297 g24_transmit_hop_pac_fail:
+0x2cb3 007298 call g24_fetch_mem_rf_work_stage 
+0x2cb4 007300 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+0x2cb5 007301 beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+0x2cb6 007302 rtn 
+:      007304 g24_transmit_hop_pac_fail_wo_hop:
+0x2cb7 007305 call g24_set2_mem_sync_cnt 
+:      007307 g24_transmit_hop_pac_fail_stage1:
+0x2cb8 007308 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2cb9 007309 call g24_mem_set0 
+0x2cba 007311 call g24_store_mem_rf_last_sta 
+0x2cbb 007313 branch g24_transmit_rf_ctrl_clear 
+:      007315 g24_transmit_hop_pac_fail_hop_stage2:
+0x2cbc 007316 call g24_set0_mem_rf_hop_ch 
+0x2cbd 007318 branch g24_transmit_hop_pac_fail_stage1 
+:      007320 g24_transmit_pac_fail_hop_stage3:
+0x2cbe 007321 add regc ,offset_24g_txfail_cnt ,rega 
+0x2cbf 007322 ifetch 1 ,rega 
+0x2cc0 007324 increase 1 ,pdata 
+0x2cc1 007325 add regc ,offset_24g_txfail_cnt ,contw 
+0x2cc2 007326 istore 1 ,contw 
+0x2cc3 007328 beq 0x20 ,g24_tx_attempt_fail 
+0x2cc4 007329 call g24_fetch_mem_rf_hop_ch 
+0x2cc5 007331 beq 1 ,g24_rf_hop_fastly 
+0x2cc6 007332 setarg 1 
+0x2cc7 007333 call g24_store_mem_rf_hop_ch 
+:      007335 g24_rf_hop_attemp_again:
+0x2cc8 007336 call g24_fetch_mem_rf_hop_ch 
+0x2cc9 007338 bne 1 ,g24_transmit_rf_ctrl_clear 
+:      007339 g24_rf_hop_fastly:
+0x2cca 007340 add regc ,offset_24g_hop_fastly_cnt ,rega 
+0x2ccb 007341 ifetch 1 ,rega 
+0x2ccc 007343 increase 1 ,pdata 
+0x2ccd 007344 call g24_store_mem_hop_fastly_cnt 
+0x2cce 007346 beq 4 ,g24_rf_hop_fastly_exit 
+0x2ccf 007347 call g24_ch 
+0x2cd0 007348 call g24_set2_mem_max_retry 
+0x2cd1 007350 branch g24_transmit_packet 
+:      007352 g24_rf_hop_fastly_exit:
+0x2cd2 007353 call g24_set0_mem_hop_fastly_cnt 
+0x2cd3 007355 branch g24_transmit_rf_ctrl_clear 
+:      007357 g24_set0_mem_hop_fastly_cnt:
+0x2cd4 007358 setarg 0 
+:      007359 g24_store_mem_hop_fastly_cnt:
+0x2cd5 007360 add regc ,offset_24g_hop_fastly_cnt ,contw 
+0x2cd6 007361 branch g24_contw_istore_1byte 
+:      007363 g24_transmit_hop_pac_succ_wo_hop:
+0x2cd7 007364 call g24_set2_mem_sync_cnt 
+:      007366 g24_transmit_hop_pac_succ:
+0x2cd8 007367 call g24_set0_mem_rf_hop_ch 
+0x2cd9 007369 call g24_set1_mem_rf_last_sta 
+0x2cda 007371 branch g24_transmit_rf_ctrl_clear 
+:      007373 g24_transmit_succ_rf_config:
+0x2cdb 007374 call g24_fetch_mem_rf_work_stage 
+0x2cdc 007376 beq 3 ,g24_transmit_hop_pac_succ 
+0x2cdd 007377 call g24_fetch_mem_data_type 
+0x2cde 007379 isolate0 bit_hop ,pdata 
+0x2cdf 007380 branch g24_transmit_rf_sta_init ,true 
+0x2ce0 007381 call g24_fetch_mem_rf_work_stage 
+0x2ce1 007383 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+0x2ce2 007384 beq 2 ,g24_transmit_hop_pac_succ 
+0x2ce3 007385 rtn 
+:      007387 g24_rf_sta_check:
+0x2ce4 007388 call g24_fetch_mem_pairing_sm 
+0x2ce5 007390 rtnne state_24g_pairing_success 
+0x2ce6 007391 call g24_rf_laststa_synccnt_check 
+0x2ce7 007392 ncall g24_rf_sync_cnt_check ,user2 
+0x2ce8 007393 rtn 
+:      007395 g24_rf_laststa_synccnt_check:
+0x2ce9 007396 disable user2 
+0x2cea 007397 add regc ,offset_24g_rf_last_sta ,rega 
+0x2ceb 007398 ifetch 1 ,rega 
+0x2cec 007400 rtnne 1 
+0x2ced 007401 add regc ,offset_24g_sync_cnt ,rega 
+0x2cee 007402 ifetch 1 ,rega 
+0x2cef 007404 rtnne 0 
+0x2cf0 007405 setarg 1 
+0x2cf1 007406 call g24_store_mem_rf_work_stage 
+0x2cf2 007408 call g24_set4_mem_max_retry 
+0x2cf3 007410 branch enable_user2 
+:      007412 g24_rf_sync_cnt_check:
+0x2cf4 007413 add regc ,offset_24g_sync_cnt ,rega 
+0x2cf5 007414 ifetch 1 ,rega 
+0x2cf6 007416 branch g24_rf_hop_attemp ,blank 
+0x2cf7 007417 increase -1 ,pdata 
+0x2cf8 007418 call g24_store_mem_sync_cnt 
+0x2cf9 007420 setarg 2 
+0x2cfa 007421 call g24_store_mem_rf_work_stage 
+0x2cfb 007423 call g24_ch 
+0x2cfc 007425 branch g24_set4_mem_max_retry 
+:      007427 g24_store_mem_rf_work_stage:
+0x2cfd 007428 add regc ,offset_24g_rf_work_stage ,contw 
+0x2cfe 007429 branch g24_contw_istore_1byte 
+:      007432 g24_rf_hop_attemp:
+0x2cff 007433 setarg 3 
+0x2d00 007434 call g24_store_mem_rf_work_stage 
+0x2d01 007436 call g24_fetch_mem_rf_hop_ch 
+0x2d02 007438 nbranch g24_rf_hop_attemp_again ,blank 
+0x2d03 007439 call g24_ch 
+:      007441 g24_set2_mem_max_retry:
+0x2d04 007442 setarg 2 
+0x2d05 007443 branch g24_store_mem_max_retry 
+:      007445 g24_transmit_process:
+0x2d06 007446 rtnmark0 mark_24g 
+0x2d07 007447 set1 mark_24g_conext ,mark 
+0x2d08 007448 bpatch patch16_3 ,mem_patch16 
+0x2d09 007449 add regc ,offset_24g_tx_without_int ,rega 
+0x2d0a 007450 ifetch 1 ,rega 
+0x2d0b 007452 beq 1 ,g24_transmit_without_int 
+0x2d0c 007453 call g24_timer_check 
+0x2d0d 007454 nbranch g24_transmit_exit ,user 
+0x2d0e 007455 call g24_interval_calibrate 
+:      007456 g24_transmit_without_int:
+0x2d0f 007457 add regc ,offset_24g_tx_without_int ,contw 
+0x2d10 007458 call g24_mem_set0 
+0x2d11 007460 call g24_txdata_prep 
+0x2d12 007461 nbranch g24_enter_lpm ,user 
+0x2d13 007462 call g24_rf_sta_check 
+:      007463 g24_transmit_start:
+0x2d14 007464 call g24_transmit_packet 
+0x2d15 007465 call g24_power_ctrl 
+:      007466 g24_transmit_exit:
+0x2d16 007467 set0 mark_24g_conext ,mark 
+0x2d17 007468 rtn 
+:      007470 g24_timer_timeout:
+0x2d18 007471 rtn zero 
+0x2d19 007472 set1 28 ,pdata 
+0x2d1a 007473 rtn 
+:      007475 g24_interval_calibrate:
+0x2d1b 007476 add regc ,offset_24g_pac_index ,rega 
+0x2d1c 007477 ifetch 1 ,rega 
+0x2d1d 007479 increase 1 ,pdata 
+0x2d1e 007480 add regc ,offset_24g_pac_index ,contw 
+0x2d1f 007481 istore 1 ,contw 
+0x2d20 007483 beq 4 ,g24_interval_max 
+0x2d21 007484 beq 5 ,g24_interval_min 
+0x2d22 007485 rtn 
+:      007486 g24_interval_max:
+0x2d23 007487 add regc ,offset_24g_interval_max ,rega 
+0x2d24 007488 ifetch 1 ,rega 
+:      007490 g24_interval_update:
+0x2d25 007492 add regc ,offset_24g_interval ,contw 
+0x2d26 007493 branch g24_contw_istore_1byte 
+:      007495 g24_interval_min:
+0x2d27 007496 add regc ,offset_24g_pac_index ,contw 
+0x2d28 007497 call g24_mem_set0 
+0x2d29 007499 add regc ,offset_24g_interval_min ,rega 
+0x2d2a 007500 ifetch 1 ,rega 
+0x2d2b 007502 branch g24_interval_update 
+:      007504 g24_txdata_prep:
+0x2d2c 007505 call g24_fetch_mem_pairing_sm 
+0x2d2d 007507 bne state_24g_pairing_success ,g24_pairing_sm 
+0x2d2e 007508 bpatch patch16_4 ,mem_patch16 
+0x2d2f 007509 call g24_package_data 
+0x2d30 007510 nbranch g24_txdata_last_pac ,user 
+0x2d31 007511 call g24_transmit_prep 
+0x2d32 007512 call g24_power_ctrl_pac_incrs 
+:      007513 g24_txdata_enable_tx:
+0x2d33 007515 setarg ensure_on_24g 
+:      007516 g24_store_mem_ensure:
+0x2d34 007517 add regc ,offset_24g_ensure ,contw 
+0x2d35 007518 branch g24_contw_istore_1byte 
+:      007520 g24_txdata_last_pac:
+0x2d36 007521 add regc ,offset_24g_ensure ,rega 
+0x2d37 007522 ifetch 1 ,rega 
+0x2d38 007524 beq ensure_on_24g ,enable_user 
+0x2d39 007525 rtn 
+:      007527 g24_package_data:
+0x2d3a 007529 add regc ,offset_24g_cb_data ,temp 
+0x2d3b 007530 ifetch 2 ,temp 
+0x2d3c 007532 call callback_func 
+0x2d3d 007533 nrtn user 
+0x2d3e 007534 copy rega ,pdata 
+0x2d3f 007535 store 1 ,mem_rega 
+0x2d40 007536 add regc ,offset_24g_abort_pac ,contw 
+0x2d41 007537 call g24_mem_set0 
+0x2d42 007539 call g24_transmit_rf_ctrl_clear 
+0x2d43 007540 store 1 ,mem_24g_common_temp 
+0x2d44 007541 fetch 1 ,mem_rega 
+0x2d45 007542 copy pdata ,rega 
+0x2d46 007543 add rega ,1 ,temp 
+0x2d47 007544 arg mem_24g_common_temp + 1 ,contw 
+0x2d48 007545 copy rega ,loopcnt 
+0x2d49 007546 copy regb ,contr 
+0x2d4a 007547 call memcpy 
+0x2d4b 007548 arg mem_24g_common_temp ,rega 
+:      007549 g24_put_data_in_buff:
+0x2d4c 007550 rtnmark0 mark_24g_conext 
+0x2d4d 007551 add regc ,offset_24g_datalen ,contw 
+0x2d4e 007552 istoret 1 ,contw 
+0x2d4f 007554 copy temp ,loopcnt 
+0x2d50 007555 add regc ,offset_24g_txbuf ,contw 
+0x2d51 007557 copy rega ,contr 
+0x2d52 007558 branch memcpy 
+:      007560 g24_transmit_prep:
+0x2d53 007562 add regc ,offset_24g_datalen ,rega 
+0x2d54 007563 ifetch 1 ,rega 
+0x2d55 007565 increase 2 ,pdata 
+0x2d56 007566 add regc ,offset_24g_txlen ,contw 
+0x2d57 007567 istore 1 ,contw 
+0x2d58 007570 call g24_fetch_mem_data_type 
+0x2d59 007572 call g24_store_mem_txpayload 
+0x2d5a 007575 add regc ,offset_24g_datalen ,rega 
+0x2d5b 007576 ifetch 1 ,rega 
+0x2d5c 007578 lshift3 pdata ,pdata 
+0x2d5d 007579 add regc ,offset_24g_pid ,rega 
+0x2d5e 007580 ifetcht 1 ,rega 
+0x2d5f 007582 and temp ,0x03 ,temp 
+0x2d60 007583 lshift temp ,temp 
+0x2d61 007584 ior temp ,pdata 
+0x2d62 007585 add regc ,offset_24g_no_ack ,rega 
+0x2d63 007586 ifetcht 1 ,rega 
+0x2d64 007588 iadd temp ,pdata 
+0x2d65 007589 istore 1 ,contw 
+0x2d66 007591 add regc ,offset_24g_datalen ,rega 
+0x2d67 007592 ifetch 1 ,rega 
+0x2d68 007594 iforce loopcnt 
+0x2d69 007595 add regc ,offset_24g_txbuf ,contr 
+0x2d6a 007597 branch memcpy 
+:      007599 g24_send_abort_packet:
+0x2d6b 007600 call g24_set1_mem_abort_pac 
+0x2d6c 007602 call g24_set0_mem_rf_hop_ch 
+0x2d6d 007604 call g24_power_ctrl_reinit 
+0x2d6e 007605 call g24_transmit_rf_ctrl_clear 
+0x2d6f 007606 store 1 ,mem_24g_common_temp 
+0x2d70 007607 call g24_put_data_in_buff_pre 
+0x2d71 007608 call g24_fetch_mem_data_type 
+0x2d72 007610 set1 bit_abort ,pdata 
+0x2d73 007611 call g24_store_mem_data_type 
+0x2d74 007613 call g24_transmit_prep 
+0x2d75 007614 call g24_txdata_enable_tx 
+0x2d76 007615 branch g24_transmit_start 
+:      007617 g24_put_data_in_buff_pre:
+0x2d77 007618 store 1 ,mem_24g_common_temp + 1 
+0x2d78 007619 call g24_fetch_mem_device_addr 
+0x2d79 007621 store 4 ,mem_24g_common_temp + 2 
+0x2d7a 007622 arg 6 ,temp 
+0x2d7b 007623 arg mem_24g_common_temp ,rega 
+0x2d7c 007624 branch g24_put_data_in_buff 
+:      007626 g24_enter_lpm:
+0x2d7d 007627 add regc ,offset_24g_abort_pac ,rega 
+0x2d7e 007628 ifetch 1 ,rega 
+0x2d7f 007630 branch g24_send_abort_packet ,blank 
+:      007631 g24_enter_lpm_prepare:
+0x2d80 007633 add regc ,offset_24g_cb_lpm_prepare ,rega 
+0x2d81 007634 ifetch 2 ,rega 
+0x2d82 007636 branch callback_func 
+:      007638 g24_lpm_long_sleep:
+0x2d83 007639 call g24_head_ptr2regc 
+0x2d84 007641 call lpo_calibration 
+0x2d85 007642 fetch 3 ,mem_clks_per_lpo 
+0x2d86 007643 rtn blank 
+0x2d87 007644 add regc ,offset_24g_cb_lpm_before ,temp 
+0x2d88 007645 ifetch 2 ,temp 
+0x2d89 007647 call callback_func 
+0x2d8a 007648 add regc ,offset_24g_enter_hibernate ,temp 
+0x2d8b 007649 ifetch 8 ,temp 
+0x2d8c 007650 call clk2lpo 
+0x2d8d 007651 storet 4 ,mem_sleep_counter 
+0x2d8e 007652 branch lpm_sleep 
+:      007654 g24_transmit_packet:
+0x2d8f 007655 call g24_head_ptr2regc 
+0x2d90 007656 add regc ,offset_24g_retry ,contw 
+0x2d91 007657 call g24_mem_set0 
+:      007659 g24_transmit_loop:
+0x2d92 007660 call g24_transmit_receive_ack 
+0x2d93 007661 nbranch g24_retransmit ,sync 
+0x2d94 007662 nbranch g24_retransmit ,user3 
+0x2d95 007663 call g24_ackpayload_parse 
+0x2d96 007664 call g24_power_ctrl_ack_incrs 
+:      007665 g24_transmit_next_packet:
+0x2d97 007666 call g24_head_ptr2regc 
+0x2d98 007667 add regc ,offset_24g_pid ,rega 
+0x2d99 007668 ifetch 1 ,rega 
+0x2d9a 007670 increase 1 ,pdata 
+0x2d9b 007671 call g24_store_mem_pid 
+0x2d9c 007673 call g24_fetch_mem_pairing_sm 
+0x2d9d 007675 bne state_24g_pairing_success ,g24_paring_mode 
+0x2d9e 007676 call g24_transmit_succ_rf_config 
+:      007677 g24_transmit_abandon:
+0x2d9f 007678 setarg 0 
+0x2da0 007679 add regc ,offset_24g_txfail_cnt ,contw 
+0x2da1 007680 istore 2 ,contw 
+0x2da2 007684 setarg ensure_off_24g 
+0x2da3 007685 branch g24_store_mem_ensure 
+:      007688 g24_transmit_receive_ack:
+0x2da4 007689 disable user3 
+0x2da5 007690 call g24_transmit 
+0x2da6 007691 call g24_head_ptr2regc 
+0x2da7 007692 add regc ,offset_24g_no_ack ,rega 
+0x2da8 007693 ifetch 1 ,rega 
+0x2da9 007695 beq no_ack_24g ,g24_transmit_no_ack 
+0x2daa 007696 call g24_receive_packet 
+0x2dab 007697 branch g24_end_of_packet 
+:      007698 g24_transmit_no_ack:
+0x2dac 007699 call g24_end_of_packet 
+0x2dad 007700 branch g24_transmit_next_packet 
+:      007703 g24_retransmit:
+0x2dae 007704 bpatch patch16_5 ,mem_patch16 
+0x2daf 007705 add regc ,offset_24g_get_ack_fail ,rega 
+0x2db0 007706 ifetch 1 ,rega 
+0x2db1 007708 increase 1 ,pdata 
+0x2db2 007709 add regc ,offset_24g_get_ack_fail ,contw 
+0x2db3 007710 istore 1 ,contw 
+0x2db4 007712 call g24_fetch_mem_pairing_sm 
+0x2db5 007714 bne state_24g_pairing_success ,g24_tx_paring_retry 
+0x2db6 007715 add regc ,offset_24g_retry ,rega 
+0x2db7 007716 ifetcht 1 ,rega 
+0x2db8 007718 increase 1 ,temp 
+0x2db9 007719 add regc ,offset_24g_retry ,contw 
+0x2dba 007720 istoret 1 ,contw 
+0x2dbb 007722 add regc ,offset_24g_max_retry ,rega 
+0x2dbc 007723 ifetch 1 ,rega 
+0x2dbd 007725 isub temp ,pdata 
+0x2dbe 007726 nbranch g24_transmit_loop ,blank 
+0x2dbf 007727 bpatch patch16_6 ,mem_patch16 
+0x2dc0 007728 call g24_fetch_mem_rf_work_stage 
+0x2dc1 007730 beq 3 ,g24_transmit_pac_fail_hop_stage3 
+0x2dc2 007731 add regc ,offset_24g_hop_pac_retry ,rega 
+0x2dc3 007732 ifetch 1 ,rega 
+0x2dc4 007734 increase 1 ,pdata 
+0x2dc5 007735 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2dc6 007736 istore 1 ,contw 
+0x2dc7 007738 beq 2 ,g24_transmit_hop_pac_fail 
+0x2dc8 007739 call g24_hop_ch_enable 
+0x2dc9 007740 setarg 1 
+0x2dca 007741 call g24_store_mem_max_retry 
+0x2dcb 007743 branch g24_transmit_packet 
+:      007745 g24_tx_paring_retry:
+0x2dcc 007746 add regc ,offset_24g_get_ack_fail ,rega 
+0x2dcd 007747 ifetch 1 ,rega 
+0x2dce 007749 rtnne 0xff 
+0x2dcf 007750 add regc ,offset_24g_get_ack_fail ,contw 
+0x2dd0 007751 call g24_mem_set0 
+0x2dd1 007753 branch g24_stop_24g_mode 
+:      007755 g24_tx_attempt_fail:
+0x2dd2 007756 add regc ,offset_24g_txfail_cnt ,contw 
+0x2dd3 007757 call g24_mem_set0 
+:      007759 g24_stop_24g_mode:
+0x2dd4 007760 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x2dd5 007761 branch ui_ipc_send_event 
+:      007763 g24_ackpayload_parse:
+0x2dd6 007764 call g24_read_len_pid_crc 
+0x2dd7 007765 add regc ,offset_24g_rxdata_length ,rega 
+0x2dd8 007766 ifetch 1 ,rega 
+0x2dd9 007768 rtn blank 
+0x2dda 007769 iforce loopcnt 
+0x2ddb 007770 add regc ,offset_24g_rxbuf_add2 ,contr 
+0x2ddc 007772 add regc ,offset_24g_rxpayload ,contw 
+0x2ddd 007774 branch memcpy 
+:      007777 g24_read_len_pid_crc:
+0x2dde 007779 call g24_fetch_mem_rxbuf_add1 
+0x2ddf 007781 rshift3 pdata ,pdata 
+0x2de0 007782 add regc ,offset_24g_rxdata_length ,contw 
+0x2de1 007783 istore 1 ,contw 
+0x2de2 007786 increase 1 ,pdata 
+0x2de3 007787 add regc ,offset_24g_rxbuf_add1 ,contr 
+0x2de4 007789 iadd contr ,contr 
+0x2de5 007790 ifetch 3 ,contr 
+0x2de6 007791 add regc ,offset_24g_sta_crc ,contw 
+0x2de7 007792 istore 3 ,contw 
+0x2de8 007795 call g24_fetch_mem_rxbuf_add1 
+0x2de9 007797 rshift pdata ,pdata 
+0x2dea 007798 and pdata ,0x03 ,pdata 
+0x2deb 007799 add regc ,offset_24g_sta_pid ,contw 
+0x2dec 007800 istore 1 ,contw 
+0x2ded 007802 rtn 
+:      007804 g24_prep:
+0x2dee 007805 disable enable_crc 
+0x2def 007806 disable enable_white 
+0x2df0 007807 setarg 0x555555 
+0x2df1 007808 iforce crc24_init 
+0x2df2 007809 rtn 
+:      007811 g24_set_freq_tx:
+0x2df3 007812 call set_sync_on 
+0x2df4 007813 add regc ,offset_24g_ch ,rega 
+0x2df5 007814 ifetcht 1 ,rega 
+0x2df6 007816 branch set_freq_tx 
+:      007818 g24_transmit:
+0x2df7 007819 call g24_prep 
+0x2df8 007820 call g24_set_freq_tx 
+0x2df9 007821 set1 txgfsk ,radio_ctrl 
+0x2dfa 007822 enable encode_fec0 
+0x2dfb 007823 enable is_tx 
+0x2dfc 007824 disable is_rx 
+0x2dfd 007825 call le_enable 
+0x2dfe 007826 call g24_fetch_mem_addr 
+0x2dff 007828 iforce access 
+0x2e00 007829 inject mod ,32 
+0x2e01 007830 enable enable_crc 
+0x2e02 007831 add regc ,offset_24g_txlen ,rega 
+0x2e03 007832 ifetch 1 ,rega 
+0x2e04 007834 iforce loopcnt 
+0x2e05 007835 add regc ,offset_24g_txpayload ,contr 
+:      007837 g24tr_loop:
+0x2e06 007838 ifetch 1 ,contr 
+0x2e07 007839 inject mod ,8 
+0x2e08 007840 loop g24tr_loop 
+0x2e09 007841 enable enable_parity 
+0x2e0a 007842 inject mod ,24 
+0x2e0b 007843 disable enable_parity 
+0x2e0c 007844 until null ,tx_clear 
+0x2e0d 007845 bpatch patch16_7 ,mem_patch16 
+0x2e0e 007846 nop 100 
+0x2e0f 007847 disable encode_fec0 
+0x2e10 007848 rtn 
+:      007850 g24_receive_packet:
+0x2e11 007851 disable user3 
+0x2e12 007852 force 0 ,radio_ctrl 
+0x2e13 007853 add regc ,offset_24g_ch ,rega 
+0x2e14 007854 ifetcht 1 ,rega 
+0x2e15 007856 call set_freq_rx 
+0x2e16 007857 call rf_rx_enable 
+:      007858 g24_receive_rxon:
+0x2e17 007859 call g24_prep 
+0x2e18 007860 enable decode_fec0 
+0x2e19 007861 enable is_rx 
+0x2e1a 007862 disable is_tx 
+0x2e1b 007863 call le_enable 
+0x2e1c 007864 call g24_fetch_mem_addr 
+0x2e1d 007866 iforce access 
+0x2e1e 007867 enable swfine 
+0x2e1f 007868 add regc ,offset_24g_rx_window ,rega 
+0x2e20 007869 ifetch 2 ,rega 
+0x2e21 007871 iforce stop_watch 
+0x2e22 007872 correlate null ,timeout 
+0x2e23 007873 nbranch g24_sync_timeout ,sync 
+0x2e24 007874 enable enable_crc 
+0x2e25 007875 parse demod ,bucket ,8 
+0x2e26 007876 rshift3 pwindow ,pdata 
+0x2e27 007877 add regc ,offset_24g_rxbuf ,contw 
+0x2e28 007878 istore 1 ,contw 
+0x2e29 007880 add regc ,offset_24g_mode ,rega 
+0x2e2a 007881 ifetch 1 ,rega 
+0x2e2b 007883 beq rx_24g ,g24_receive_skip 
+0x2e2c 007884 bpatch patch17_0 ,mem_patch17 
+0x2e2d 007885 add regc ,offset_24g_rxbuf ,rega 
+0x2e2e 007886 ifetch 1 ,rega 
+0x2e2f 007888 add regc ,offset_24g_data_type ,rega 
+0x2e30 007889 ifetcht 1 ,rega 
+0x2e31 007891 icompare bits_data ,temp 
+0x2e32 007892 nbranch g24_end_of_packet ,true 
+:      007893 g24_receive_skip:
+0x2e33 007894 parse demod ,bucket ,8 
+0x2e34 007895 rshift3 pwindow ,pdata 
+0x2e35 007896 istore 1 ,contw 
+0x2e36 007897 rshift3 pdata ,pdata 
+0x2e37 007898 and pdata ,0x1f ,loopcnt 
+0x2e38 007899 branch g24rx_nopayload ,zero 
+:      007900 g24rx_loop:
+0x2e39 007901 parse demod ,bucket ,8 
+0x2e3a 007902 rshift3 pwindow ,pdata 
+0x2e3b 007903 istore 1 ,contw 
+0x2e3c 007904 loop g24rx_loop 
+:      007905 g24rx_nopayload:
+0x2e3d 007906 parse demod ,bucket ,24 
+0x2e3e 007907 rshift32 pdata ,pdata 
+0x2e3f 007908 rshift16 pdata ,pdata 
+0x2e40 007909 istore 3 ,contw 
+0x2e41 007910 branch g24_end_of_packet ,crc_failed 
+0x2e42 007911 enable user3 
+0x2e43 007912 disable decode_fec0 
+0x2e44 007913 rtn 
+:      007916 g24_end_of_packet:
+0x2e45 007917 disable encode_fec0 
+0x2e46 007918 disable decode_fec0 
+0x2e47 007919 disable enable_crc 
+0x2e48 007920 disable enable_white 
+0x2e49 007921 branch shutdown_radio ,is_rx 
+0x2e4a 007922 until null ,tx_clear 
+0x2e4b 007923 nop 100 
+0x2e4c 007924 branch shutdown_radio 
+:      007926 g24_sync_timeout:
+0x2e4d 007927 call rssi_noise 
+0x2e4e 007928 branch g24_end_of_packet 
+:      007930 rssi_noise:
+0x2e4f 007931 call save_rssi 
+0x2e50 007932 rtn blank 
+0x2e51 007933 add regc ,offset_rssi_noise_index ,rega 
+0x2e52 007934 ifetcht 1 ,rega 
+0x2e53 007936 arg mem_rssi_noise_buffer ,rega 
+0x2e54 007938 call rssi_noise_store 
+0x2e55 007939 add regc ,offset_rssi_noise_index ,contw 
+:      007941 g24_contw_istoret_1byte:
+0x2e56 007942 istoret 1 ,contw 
+0x2e57 007943 rtn 
+:      007945 rssi_noise_store:
+0x2e58 007946 arg rssi_buf_len_noise ,regb 
+0x2e59 007947 branch rssi_store 
+:      007965 rssi_store:
+0x2e5a 007966 copy rega ,pdata 
+0x2e5b 007967 iadd temp ,contw 
+0x2e5c 007968 fetch 1 ,mem_rssi 
+0x2e5d 007969 istore 1 ,contw 
+0x2e5e 007970 increase 1 ,temp 
+0x2e5f 007971 copy regb ,pdata 
+0x2e60 007972 iand_into temp 
+0x2e61 007973 rtn 
+:      007975 rssi_average:
+0x2e62 007976 arg 0 ,temp 
+0x2e63 007977 copy rega ,contr 
+:      007978 rssi_average_loop:
+0x2e64 007979 ifetch 1 ,contr 
+0x2e65 007980 iadd temp ,temp 
+0x2e66 007981 loop rssi_average_loop 
+0x2e67 007982 rshift8 temp ,temp 
+0x2e68 007983 rtn 
+:      007985 g24_power_ctrl_init:
+0x2e69 007986 call g24_head_ptr2regc 
+0x2e6a 007987 call g24_power_ctrl_incrs_level1 
+0x2e6b 007988 setarg 1 
+0x2e6c 007989 call g24_store_mem_power_ctrl_level 
+:      007991 g24_power_ctrl_reinit:
+0x2e6d 007992 setarg 0 
+0x2e6e 007993 call g24_store_mem_power_ctrl_pac 
+0x2e6f 007995 istore 1 ,contw 
+0x2e70 007997 rtn 
+:      007999 g24_power_ctrl_pac_incrs:
+0x2e71 008000 call g24_fetch_mem_power_ctrl_pac 
+0x2e72 008002 increase 1 ,pdata 
+:      008003 g24_store_mem_power_ctrl_pac:
+0x2e73 008005 add regc ,offset_power_ctrl_packet_cnt ,contw 
+0x2e74 008006 branch g24_contw_istore_1byte 
+:      008008 g24_power_ctrl_ack_incrs:
+0x2e75 008011 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e76 008012 ifetch 1 ,rega 
+0x2e77 008013 increase 1 ,pdata 
+0x2e78 008014 add regc ,offset_power_ctrl_ack_cnt ,contw 
+0x2e79 008015 branch g24_contw_istore_1byte 
+:      008017 g24_power_ctrl:
+0x2e7a 008018 bpatch patch17_1 ,mem_patch17 
+0x2e7b 008019 call g24_fetch_mem_power_ctrl_pac 
+0x2e7c 008021 sub pdata ,power_ctrl_max_packet_cnt ,null 
+0x2e7d 008022 rtn positive 
+0x2e7e 008023 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e7f 008024 ifetcht 1 ,rega 
+0x2e80 008026 isub temp ,temp 
+0x2e81 008027 call g24_power_ctrl_reinit 
+0x2e82 008028 setarg offset_power_ctrl_threshold_up 
+0x2e83 008029 iadd regc ,rega 
+0x2e84 008030 ifetch 1 ,rega 
+0x2e85 008032 isub temp ,null 
+0x2e86 008033 nbranch g24_power_ctrl_incrs ,positive 
+0x2e87 008034 setarg offset_power_ctrl_threshold_down 
+0x2e88 008035 iadd regc ,rega 
+0x2e89 008036 ifetch 1 ,rega 
+0x2e8a 008038 isub temp ,null 
+0x2e8b 008039 branch g24_power_ctrl_decrs ,positive 
+0x2e8c 008040 rtn 
+:      008042 g24_power_ctrl_incrs:
+0x2e8d 008043 add regc ,offset_power_ctrl_level ,rega 
+0x2e8e 008044 ifetch 1 ,rega 
+0x2e8f 008046 beq 2 ,g24_power_ctrl_incrs_level2 
+0x2e90 008047 increase 1 ,pdata 
+0x2e91 008048 call g24_store_mem_power_ctrl_level 
+0x2e92 008050 beq 1 ,g24_power_ctrl_incrs_level1 
+:      008051 g24_power_ctrl_incrs_level2:
+0x2e93 008052 setarg power_ctrl_losspac_thresh_up2 
+0x2e94 008053 call g24_store_mem_power_ctrl_threshold_up 
+0x2e95 008055 setarg power_ctrl_losspac_thresh_down2 
+0x2e96 008056 call g24_store_mem_power_ctrl_threshold_down 
+0x2e97 008059 add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+0x2e98 008061 branch g24_ifetch_rega_store_mem_txpower 
+:      008063 g24_power_ctrl_decrs:
+0x2e99 008064 add regc ,offset_power_ctrl_level ,rega 
+0x2e9a 008065 ifetch 1 ,rega 
+0x2e9b 008067 beq 0 ,g24_power_ctrl_decrs_level0 
+0x2e9c 008068 increase -1 ,pdata 
+0x2e9d 008069 call g24_store_mem_power_ctrl_level 
+0x2e9e 008071 beq 0 ,g24_power_ctrl_decrs_level0 
+:      008072 g24_power_ctrl_decrs_level1:
+:      008075 g24_power_ctrl_incrs_level1:
+0x2e9f 008076 setarg power_ctrl_losspac_thresh_up1 
+0x2ea0 008077 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea1 008079 setarg power_ctrl_losspac_thresh_down1 
+0x2ea2 008080 call g24_store_mem_power_ctrl_threshold_down 
+0x2ea3 008083 setarg offset_power_ctrl_txpwr_level1 
+:      008084 g24_iadd_offset_mem_txpower:
+0x2ea4 008085 iadd regc ,rega 
+:      008086 g24_ifetch_rega_store_mem_txpower:
+0x2ea5 008087 ifetch 1 ,rega 
+0x2ea6 008089 branch g24_store_mem_txpower 
+:      008091 g24_power_ctrl_decrs_level0:
+0x2ea7 008094 setarg power_ctrl_losspac_thresh_up0 
+0x2ea8 008095 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea9 008097 setarg power_ctrl_losspac_thresh_down0 
+0x2eaa 008098 call g24_store_mem_power_ctrl_threshold_down 
+0x2eab 008101 setarg offset_power_ctrl_txpwr_level0 
+0x2eac 008103 branch g24_iadd_offset_mem_txpower 
+:      008117 g24_start_pairing_sm1:
+0x2ead 008118 set1 mark_24g ,mark 
+0x2eae 008119 call g24_pair_init 
+:      008120 g24_set_pairing_sm_1:
+0x2eaf 008122 setarg state_24g_pairing_1 
+0x2eb0 008123 branch g24_store_mem_pairing_sm 
+:      008125 g24_pairing_sm:
+0x2eb1 008126 add regc ,offset_24g_ensure ,rega 
+0x2eb2 008127 ifetch 1 ,rega 
+0x2eb3 008129 beq ensure_on_24g ,enable_user 
+0x2eb4 008130 call g24_fetch_mem_pairing_sm 
+0x2eb5 008132 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+0x2eb6 008133 beq state_24g_pairing_2 ,g24_pairing_sm_2 
+0x2eb7 008134 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+0x2eb8 008135 branch assert 
+:      008137 g24_pairing_sm_1:
+0x2eb9 008138 setarg state_24g_pairing_1_waiting_ack 
+0x2eba 008139 call g24_store_mem_pairing_sm 
+0x2ebb 008141 jam 0xaa ,mem_24g_common_temp 
+0x2ebc 008142 branch g24_pairing_sm_common 
+:      008143 g24_pairing_sm_2:
+0x2ebd 008144 setarg state_24g_pairing_2_waiting_ack 
+0x2ebe 008145 call g24_store_mem_pairing_sm 
+0x2ebf 008147 jam 0x55 ,mem_24g_common_temp 
+0x2ec0 008148 branch g24_pairing_sm_common 
+:      008149 g24_pairing_sm_3:
+0x2ec1 008150 setarg state_24g_pairing_3_waiting_ack 
+0x2ec2 008151 call g24_store_mem_pairing_sm 
+0x2ec3 008153 jam 0x22 ,mem_24g_common_temp 
+:      008154 g24_pairing_sm_common:
+0x2ec4 008155 call g24_fetch_mem_data_type 
+0x2ec5 008157 and_into bits_data ,pdata 
+0x2ec6 008158 store 1 ,mem_24g_common_temp + 1 
+0x2ec7 008159 call g24_fetch_mem_device_addr 
+0x2ec8 008161 store 4 ,mem_24g_common_temp + 2 
+:      008162 g24_put_pairing_data_in_buff:
+0x2ec9 008163 jam 0 ,mem_24g_common_temp + 6 
+0x2eca 008164 arg mem_24g_common_temp ,rega 
+0x2ecb 008165 arg 7 ,temp 
+0x2ecc 008166 call g24_put_data_in_buff 
+0x2ecd 008167 call g24_transmit_prep 
+0x2ece 008168 call g24_txdata_enable_tx 
+0x2ecf 008169 branch enable_user 
+:      008171 g24_paring_mode:
+0x2ed0 008172 call g24_fetch_mem_pairing_sm 
+0x2ed1 008174 rtneq state_24g_pairing_success 
+0x2ed2 008175 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+0x2ed3 008176 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+0x2ed4 008177 beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+0x2ed5 008178 rtn 
+:      008180 g24_pairing_sm_1_waiting_ack:
+0x2ed6 008181 setarg state_24g_pairing_2 
+0x2ed7 008182 call g24_store_mem_pairing_sm 
+0x2ed8 008184 branch g24_transmit_abandon 
+:      008185 g24_pairing_sm_2_waiting_ack:
+0x2ed9 008186 setarg state_24g_pairing_3 
+0x2eda 008187 call g24_store_mem_pairing_sm 
+0x2edb 008189 branch g24_transmit_abandon 
+:      008190 g24_pairing_sm_3_waiting_ack:
+0x2edc 008191 setarg state_24g_pairing_success 
+0x2edd 008192 call g24_store_mem_pairing_sm 
+0x2ede 008194 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x2edf 008195 call ui_ipc_send_event 
+0x2ee0 008196 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ee1 008197 ifetch 4 ,rega 
+0x2ee2 008199 call g24_store_mem_addr 
+0x2ee3 008201 branch g24_transmit_abandon 
+:      008203 g24_auto_pair_start:
+0x2ee4 008204 set0 mark_24g ,mark 
+0x2ee5 008205 call g24_auto_pair_set_device_info 
+0x2ee6 008206 call g24_tx_attemp_data_prep 
+:      008207 g24_auto_pair_restart:
+0x2ee7 008208 call g24_set0_mem_check_dongle_times 
+:      008209 g24_auto_pair_start_loop:
+0x2ee8 008210 nop 2000 
+0x2ee9 008211 call g24_fetch_mem_check_dongle_times 
+0x2eea 008212 beq 0xff ,g24_stop_24g_mode 
+0x2eeb 008213 call g24_transmit_receive_ack 
+0x2eec 008214 nbranch g24_auto_pair_retry ,sync 
+0x2eed 008215 nbranch g24_auto_pair_retry ,user3 
+0x2eee 008216 call g24_ackpayload_parse 
+0x2eef 008217 call g24_head_ptr2regc 
+0x2ef0 008218 add regc ,offset_24g_paring_addr ,rega 
+0x2ef1 008219 ifetcht 4 ,rega 
+0x2ef2 008220 call g24_fetch_mem_addr_isub_temp 
+0x2ef3 008221 branch g24_start_pairing_sm1 ,zero 
+0x2ef4 008222 call g24_head_ptr2regc 
+0x2ef5 008223 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ef6 008224 ifetch 4 ,rega 
+0x2ef7 008225 beq 0 ,g24_auto_pair_restart 
+0x2ef8 008226 call g24_store_mem_addr 
+0x2ef9 008227 branch g24_tx_attemp_dongle_succ 
+:      008229 g24_auto_pair_retry:
+0x2efa 008230 call g24_fetch_mem_check_dongle_times 
+0x2efb 008231 increase 1 ,pdata 
+0x2efc 008232 call g24_store_mem_check_dongle_times 
+0x2efd 008234 call g24_fetch_mem_auto_paring_switch 
+0x2efe 008235 increase 1 ,pdata 
+0x2eff 008236 and_into 1 ,pdata 
+0x2f00 008237 call g24_store_mem_auto_paring_switch 
+0x2f01 008238 beq 0 ,g24_auto_pair_device_attemp 
+0x2f02 008239 beq 1 ,g24_auto_pair_pair_attemp 
+0x2f03 008240 rtn 
+:      008242 g24_fetch_mem_auto_paring_switch:
+0x2f04 008243 setarg offset_24g_auto_pair_switch 
+0x2f05 008244 branch g24_set_rega_ifetch_1byte 
+:      008245 g24_store_mem_auto_paring_switch:
+0x2f06 008246 arg offset_24g_auto_pair_switch ,rega 
+0x2f07 008247 branch g24_set_contw_with_regb_store_1byte 
+:      008249 g24_auto_pair_set_device_info:
+0x2f08 008250 call g24_store_mem_tx_power 
+0x2f09 008251 call g24_fetch_mem_device_addr 
+0x2f0a 008252 call g24_store_mem_addr 
+0x2f0b 008253 branch g24_ch 
+:      008255 g24_auto_pair_device_attemp:
+0x2f0c 008256 call g24_auto_pair_set_device_info 
+0x2f0d 008257 branch g24_auto_pair_start_loop 
+:      008259 g24_auto_pair_pair_attemp:
+0x2f0e 008260 call g24_pair_init 
+0x2f0f 008261 branch g24_auto_pair_start_loop 
+:      008264 g24_start_24g_mode:
+0x2f10 008265 set0 mark_24g ,mark 
+0x2f11 008266 call g24_ch 
+0x2f12 008267 call g24_fetch_mem_pairing_sm 
+0x2f13 008269 rtnne state_24g_pairing_success 
+0x2f14 008270 call g24_tx_attemp_data_prep 
+0x2f15 008271 call g24_set0_mem_check_dongle_times 
+:      008273 g24_tx_attemp_dongle_loop:
+0x2f16 008274 nop 2000 
+0x2f17 008275 call g24_fetch_mem_check_dongle_times 
+0x2f18 008277 beq 0xff ,g24_stop_24g_mode 
+0x2f19 008278 call g24_transmit_receive_ack 
+0x2f1a 008279 nbranch g24_attemp_txdata_retry ,sync 
+0x2f1b 008280 nbranch g24_attemp_txdata_retry ,user3 
+:      008281 g24_tx_attemp_dongle_succ:
+0x2f1c 008282 set1 mark_24g ,mark 
+0x2f1d 008283 call g24_set0_mem_check_dongle_times 
+0x2f1e 008284 setarg state_24g_pairing_success 
+0x2f1f 008285 call g24_store_mem_pairing_sm 
+0x2f20 008287 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x2f21 008288 branch ui_ipc_send_event 
+:      008290 g24_tx_attemp_data_prep:
+0x2f22 008291 set1 mark_24g_conext ,mark 
+0x2f23 008292 jam 0xff ,mem_24g_common_temp 
+0x2f24 008293 call g24_fetch_mem_data_type 
+0x2f25 008295 call g24_put_data_in_buff_pre 
+0x2f26 008296 branch g24_transmit_prep 
+:      008298 g24_attemp_txdata_retry:
+0x2f27 008299 call g24_fetch_mem_check_dongle_times 
+0x2f28 008301 increase 1 ,pdata 
+0x2f29 008302 call g24_store_mem_check_dongle_times 
+0x2f2a 008304 call g24_ch 
+0x2f2b 008305 branch g24_tx_attemp_dongle_loop 
+:      008307 g24_check_51cmd_start_24g:
+0x2f2c 008308 call g24_store_mem_tx_power 
+0x2f2d 008311 setarg state_24g_pairing_success 
+0x2f2e 008312 call g24_store_mem_pairing_sm 
+0x2f2f 008314 branch g24_start_24g_mode 
+:      008323 dongle_init:
+0x2f30 008324 bpatch patch17_2 ,mem_patch17 
+0x2f31 008325 call g24_head_ptr2regc 
+0x2f32 008326 setarg dongle_rxdata_type1 
+0x2f33 008327 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x2f34 008328 istore 2 ,contw 
+0x2f35 008330 call g24_receive_init 
+0x2f36 008331 call usb_init 
+0x2f37 008332 call g24_fetch_mem_pair_mode 
+0x2f38 008334 bpatch patch17_3 ,mem_patch17 
+0x2f39 008335 beq 0x00 ,dongle_auto_bind 
+0x2f3a 008336 beq 0x01 ,dongle_pc_bind 
+0x2f3b 008337 beq 0x0f ,dongle_all_powerful 
+0x2f3c 008338 branch assert 
+:      008340 g24_receive_init:
+0x2f3d 008341 call g24_store_mem_tx_power_temp 
+0x2f3e 008342 arg 0x80 ,loopcnt 
+0x2f3f 008343 arg mem_rssi_noise_buffer ,contw 
+0x2f40 008344 branch memset0 
+:      008346 dongle_all_powerful:
+0x2f41 008347 call dongle_check_mode 
+:      008348 dongle_all_powerful_loop:
+0x2f42 008349 call g24_dongle_work_mode 
+0x2f43 008350 call usb_isr 
+0x2f44 008351 branch dongle_all_powerful_loop 
+:      008353 dongle_pc_bind:
+0x2f45 008354 bpatch patch17_4 ,mem_patch17 
+0x2f46 008355 call dongle_check_mode 
+:      008356 dongle_pc_bind_loop:
+0x2f47 008357 call g24_dongle_work_mode 
+0x2f48 008358 call g24_dongle_bind_mode 
+0x2f49 008359 call usb_isr 
+0x2f4a 008360 call dongle_usb_dispatch 
+0x2f4b 008361 branch dongle_pc_bind_loop 
+:      008363 dongle_check_mode:
+0x2f4c 008367 call g24_set_work_mem_dongle_work_mode 
+0x2f4d 008368 call g24_set0_mem_dongle_mode_init 
+0x2f4e 008369 branch g24_set0_mem_ackpayload_enable 
+:      008371 g24_dongle_work_mode:
+0x2f4f 008372 call g24_fetch_mem_dongle_work_mode 
+0x2f50 008374 rtnne dongle_work 
+:      008375 g24_dongle_work_mode_start:
+0x2f51 008376 call g24_dongle_work_init 
+0x2f52 008377 call g24_ch_process 
+0x2f53 008378 call g24_receive_packet_start 
+0x2f54 008379 branch g24_blank_data_process 
+:      008381 g24_dongle_work_init:
+0x2f55 008382 call g24_fetch_mem_dongle_mode_init 
+0x2f56 008384 rtnbit1 dongle_work 
+0x2f57 008385 set1 dongle_work ,pdata 
+0x2f58 008386 call g24_store_mem_dongle_mode_init 
+0x2f59 008388 call g24_store_mem_tx_power 
+0x2f5a 008391 call g24_set0_mem_ackpayload_enable 
+0x2f5b 008393 jam 0 ,mem_usb_tx_enable 
+0x2f5c 008394 call g24_set1_mem_abort_pac 
+0x2f5d 008396 call g24_dongle_init 
+:      008397 g24_rx_interrupt_clear:
+0x2f5e 008398 add regc ,offset_24g_rxbuf ,contw 
+0x2f5f 008400 arg 66 ,loopcnt 
+0x2f60 008401 branch clear_mem 
+:      008403 g24_dongle_init:
+0x2f61 008404 call g24_set0_mem_pid 
+0x2f62 008406 call g24_fetch_mem_rx_addr 
+0x2f63 008408 call g24_store_mem_addr 
+0x2f64 008410 branch g24_ch 
+:      008412 g24_ch_process:
+0x2f65 008413 bpatch patch17_5 ,mem_patch17 
+0x2f66 008414 call g24_fetch_mem_abort_pac 
+0x2f67 008416 beq 1 ,g24_noise_rssi 
+0x2f68 008417 call g24_fetch_mem_hop_pac 
+0x2f69 008419 beq 1 ,g24_ch 
+0x2f6a 008420 setarg offset_24g_hop_btclk 
+0x2f6b 008421 iadd regc ,rega 
+0x2f6c 008422 ifetcht 4 ,rega 
+0x2f6d 008424 copy clkn_bt ,pdata 
+0x2f6e 008425 isub temp ,null 
+0x2f6f 008426 ncall g24_timer_timeout ,positive 
+0x2f70 008427 copy pdata ,regb 
+0x2f71 008428 setarg offset_24g_hop_btclk 
+0x2f72 008429 iadd regc ,rega 
+0x2f73 008430 ifetch 4 ,rega 
+0x2f74 008431 copy pdata ,temp 
+0x2f75 008433 setarg offset_24g_hop_interval 
+0x2f76 008434 iadd regc ,rega 
+0x2f77 008435 copy temp ,pdata 
+0x2f78 008436 ifetcht 1 ,rega 
+0x2f79 008438 iadd temp ,temp 
+0x2f7a 008439 copy regb ,pdata 
+0x2f7b 008440 isub temp ,null 
+0x2f7c 008441 nrtn positive 
+0x2f7d 008442 set0 28 ,pdata 
+0x2f7e 008443 setarg offset_24g_hop_btclk 
+0x2f7f 008444 iadd regc ,contw 
+0x2f80 008445 istore 4 ,contw 
+:      008447 g24_ch_update:
+0x2f81 008448 call g24_ch 
+0x2f82 008449 call g24_fetch_mem_rf_laststa 
+0x2f83 008451 increase 1 ,pdata 
+0x2f84 008452 call g24_store_mem_rf_laststa 
+0x2f85 008454 rtnne 2 
+0x2f86 008455 call g24_set0_mem_rf_laststa 
+0x2f87 008459 branch g24_set1_mem_abort_pac 
+:      008461 g24_ch_timer_reinit:
+0x2f88 008462 copy clkn_bt ,pdata 
+0x2f89 008463 arg offset_24g_hop_btclk ,rega 
+0x2f8a 008464 call g24_set_contw_with_temp 
+0x2f8b 008465 istore 4 ,contw 
+0x2f8c 008469 branch g24_set0_mem_rf_laststa 
+:      008471 g24_noise_rssi:
+0x2f8d 008472 arg mem_rssi_noise_buffer ,rega 
+0x2f8e 008473 call g24_noise_rssi_average 
+0x2f8f 008474 add regc ,offset_rssi_noise_avg ,contw 
+0x2f90 008475 istoret 1 ,contw 
+0x2f91 008477 sub temp ,rssi_thresh_noise ,null 
+0x2f92 008478 nrtn positive 
+0x2f93 008479 branch g24_ch 
+:      008481 g24_noise_rssi_average:
+0x2f94 008482 arg rssi_buf_len_noise + 1 ,loopcnt 
+0x2f95 008483 branch rssi_average 
+:      008485 g24_blank_data_process:
+0x2f96 008486 call g24_ms_blank_data 
+0x2f97 008487 call g24_kb_blank_data 
+0x2f98 008488 branch g24_kb_mul_blank_data 
+:      008490 g24_ms_blank_data:
+0x2f99 008491 setarg offset_24g_ms_blank_data_enable 
+0x2f9a 008492 call g24_set_rega_ifetch_1byte 
+0x2f9b 008494 rtn blank 
+0x2f9c 008495 arg timer_ms_blank ,queue 
+0x2f9d 008496 call timer_check 
+0x2f9e 008497 nrtn blank 
+0x2f9f 008498 call g24_set0_mem_ms_blank_data_enable 
+:      008500 g24_ms_blank_data_2usb:
+0x2fa0 008501 setarg ms_report_id 
+0x2fa1 008502 store 1 ,mem_usb_mouse_data 
+0x2fa2 008503 setarg 0 
+0x2fa3 008504 istore 7 ,contw 
+0x2fa4 008505 branch g24_data_type1_usbtx_enable 
+:      008507 g24_kb_blank_data:
+0x2fa5 008508 setarg offset_24g_kb_blank_data_enable 
+0x2fa6 008509 call g24_set_rega_ifetch_1byte 
+0x2fa7 008511 rtn blank 
+0x2fa8 008512 arg timer_kb_blank ,queue 
+0x2fa9 008513 call timer_check 
+0x2faa 008514 nrtn blank 
+0x2fab 008515 call g24_set0_mem_kb_blank_data_enable 
+:      008517 g24_kb_blank_data_2usb:
+0x2fac 008518 arg mem_usb_kb_data ,contw 
+0x2fad 008519 arg 2 ,loopcnt 
+0x2fae 008520 call memset0 
+0x2faf 008521 jam kb_normal_report_id ,mem_usb_kb_data 
+0x2fb0 008522 branch g24_kb_data_into_ep1_fifo 
+:      008524 g24_kb_mul_blank_data:
+0x2fb1 008525 setarg offset_24g_kb_mul_blank_data_enable 
+0x2fb2 008526 call g24_set_rega_ifetch_1byte 
+0x2fb3 008528 rtn blank 
+0x2fb4 008529 arg timer_kb_mul_blank ,queue 
+0x2fb5 008530 call timer_check 
+0x2fb6 008531 nrtn blank 
+0x2fb7 008532 call g24_set0_mem_kb_mul_blank_data_enable 
+:      008534 g24_kb_mul_blank_data_2usb:
+0x2fb8 008535 arg mem_usb_kb_multikey ,contw 
+0x2fb9 008536 arg 2 ,loopcnt 
+0x2fba 008537 call memset0 
+0x2fbb 008538 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0x2fbc 008539 branch g24_kb_mul_data_into_ep2_fifo 
+:      008541 g24_dongle_bind_mode:
+0x2fbd 008542 call g24_fetch_mem_dongle_work_mode 
+0x2fbe 008544 rtnne dongle_bind 
+0x2fbf 008545 call g24_dongle_bind_init 
+0x2fc0 008546 branch g24_dongle_bind_data_process 
+:      008548 g24_dongle_bind_init:
+0x2fc1 008549 call g24_fetch_mem_dongle_mode_init 
+0x2fc2 008551 rtnbit1 dongle_bind 
+0x2fc3 008552 set1 dongle_bind ,pdata 
+0x2fc4 008553 call g24_store_mem_dongle_mode_init 
+0x2fc5 008555 call g24_set1_mem_ackpayload_enable 
+0x2fc6 008557 call g24_pair_init 
+0x2fc7 008558 setarg 0 
+0x2fc8 008559 arg offset_dongle_ms_bind_step ,rega 
+0x2fc9 008560 call g24_set_contw_with_temp 
+0x2fca 008562 branch g24_contw_istore_3byte 
+:      008564 g24_dongle_bind_data_process:
+0x2fcb 008565 call g24_receive_transmit_ack 
+0x2fcc 008566 nbranch g24_rx_interrupt_clear ,user3 
+0x2fcd 008567 add regc ,offset_24g_rxbuf ,contr 
+0x2fce 008568 setarg offset_24g_rxdata_temp 
+0x2fcf 008569 iadd regc ,contw 
+0x2fd0 008570 arg 8 ,loopcnt 
+0x2fd1 008571 call memcpy 
+0x2fd2 008572 setarg offset_24g_rxdata_temp_add2 
+0x2fd3 008573 call g24_set_rega_ifetch_1byte 
+0x2fd4 008574 beq datatype_bind ,g24_dongle_bind_first_step 
+0x2fd5 008575 beq datatype_config ,g24_dongle_bind_second_step 
+0x2fd6 008576 beq datatype_ok ,g24_dongle_bind_third_step 
+0x2fd7 008577 beq 0xff ,g24_data_attemp 
+0x2fd8 008578 branch g24_rx_interrupt_clear 
+:      008580 g24_dongle_bind_first_step:
+0x2fd9 008581 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fda 008582 beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+0x2fdb 008583 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+0x2fdc 008584 rtn 
+:      008585 g24_dongle_bind_first_step_mouse:
+0x2fdd 008586 setarg 1 
+0x2fde 008587 call g24_store_mem_ms_bind_step 
+:      008589 g24_dongle_bind_ms_payload_cfg:
+0x2fdf 008590 setarg datatype_mouse 
+0x2fe0 008591 call g24_store_mem_bind_payload 
+:      008593 g24_dongle_bind_payload_cfg:
+0x2fe1 008594 setarg 0x80 
+0x2fe2 008595 arg offset_24g_bind_payload_add1 ,rega 
+0x2fe3 008596 call g24_set_contw_with_regb_store_1byte 
+0x2fe4 008598 call g24_fetch_mem_rx_addr 
+0x2fe5 008600 arg offset_24g_bind_payload_add2 ,rega 
+0x2fe6 008601 call g24_set_contw_with_temp 
+0x2fe7 008603 branch g24_contw_istore_4byte 
+:      008605 g24_dongle_bind_first_step_keyboard:
+0x2fe8 008606 setarg 1 
+0x2fe9 008607 call g24_store_mem_kb_bind_step 
+:      008609 g24_dongle_bind_kb_payload_cfg:
+0x2fea 008610 setarg datatype_keyboard 
+0x2feb 008611 call g24_store_mem_bind_payload 
+0x2fec 008613 branch g24_dongle_bind_payload_cfg 
+:      008615 g24_dongle_bind_second_step:
+0x2fed 008616 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fee 008617 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+0x2fef 008618 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+0x2ff0 008619 rtn 
+:      008620 g24_dongle_bind_second_step_mouse:
+0x2ff1 008621 call g24_dongle_bind_ms_payload_cfg 
+0x2ff2 008622 setarg offset_dongle_ms_bind_step 
+0x2ff3 008623 call g24_set_rega_ifetch_1byte 
+0x2ff4 008625 beq 1 ,g24_dongle_ms_bind_step_set2 
+0x2ff5 008626 rtn 
+:      008627 g24_dongle_ms_bind_step_set2:
+0x2ff6 008628 setarg 2 
+:      008630 g24_store_mem_ms_bind_step:
+0x2ff7 008631 arg offset_dongle_ms_bind_step ,rega 
+0x2ff8 008632 branch g24_set_contw_with_regb_store_1byte 
+:      008634 g24_dongle_bind_second_step_keyboard:
+0x2ff9 008635 call g24_dongle_bind_kb_payload_cfg 
+0x2ffa 008636 setarg offset_dongle_kb_bind_step 
+0x2ffb 008637 call g24_set_rega_ifetch_1byte 
+0x2ffc 008639 beq 1 ,g24_dongle_kb_bind_step_set2 
+0x2ffd 008640 rtn 
+:      008641 g24_dongle_kb_bind_step_set2:
+0x2ffe 008642 setarg 2 
+:      008644 g24_store_mem_kb_bind_step:
+0x2fff 008645 arg offset_dongle_kb_bind_step ,rega 
+0x3000 008646 branch g24_set_contw_with_regb_store_1byte 
+:      008648 g24_dongle_bind_third_step:
+0x3001 008649 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3002 008650 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+0x3003 008651 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+0x3004 008652 rtn 
+:      008653 g24_dongle_bind_third_step_mouse:
+0x3005 008654 setarg offset_dongle_ms_bind_step 
+0x3006 008655 call g24_set_rega_ifetch_1byte 
+0x3007 008657 beq 2 ,g24_dongle_ms_bind_step_success 
+0x3008 008658 rtn 
+:      008659 g24_dongle_ms_bind_step_success:
+0x3009 008660 call g24_fetch_mem_bind_device_status 
+0x300a 008662 or_into 0x01 ,pdata 
+0x300b 008663 call g24_store_mem_bind_device_status 
+:      008665 g24_dongle_bind_exit:
+0x300c 008666 setarg 0 
+0x300d 008667 setarg offset_dongle_ms_bind_step 
+0x300e 008668 iadd regc ,contw 
+0x300f 008669 istore 2 ,contw 
+0x3010 008670 branch g24_rx_interrupt_clear 
+:      008672 g24_dongle_bind_third_step_keyboard:
+0x3011 008673 setarg offset_dongle_kb_bind_step 
+0x3012 008674 call g24_set_rega_ifetch_1byte 
+0x3013 008676 bne 0 ,g24_dongle_kb_bind_step_success 
+0x3014 008677 rtn 
+:      008678 g24_dongle_kb_bind_step_success:
+0x3015 008679 call g24_fetch_mem_bind_device_status 
+0x3016 008681 or_into 0x02 ,pdata 
+0x3017 008682 call g24_store_mem_bind_device_status 
+0x3018 008684 branch g24_dongle_bind_exit 
+:      008687 dongle_usb_dispatch:
+0x3019 008688 fetch 1 ,mem_usb0_get_set_report 
+0x301a 008689 rtn blank 
+0x301b 008690 jam 0 ,mem_usb0_get_set_report 
+0x301c 008691 fetch 2 ,mem_usb_setup_bvalue_temp 
+0x301d 008692 arg pc_set_report ,temp 
+0x301e 008693 isub temp ,null 
+0x301f 008694 nrtn zero 
+0x3020 008696 fetch 1 ,mem_usb0_set_report_data 
+0x3021 008697 rtnne pc_report_id 
+0x3022 008698 fetch 1 ,mem_usb0_set_report_data + 1 
+0x3023 008699 bpatch patch17_6 ,mem_patch17 
+0x3024 008700 beq command_mode ,dongle_dispose_cmd_mode 
+0x3025 008701 beq command_bind ,dongle_dispose_cmd_bind 
+0x3026 008702 beq command_current_project ,dongle_dispose_cmd_current_project 
+0x3027 008703 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+0x3028 008704 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+0x3029 008705 beq command_user_defined ,dongle_dispose_cmd_user_defined 
+:      008706 usb0_data_ready_report_set0:
+0x302a 008707 jam 0 ,mem_usb0_data_ready_report 
+0x302b 008708 rtn 
+:      008709 dongle_dispose_cmd_bind:
+0x302c 008710 fetch 1 ,mem_usb0_set_report_data + 2 
+0x302d 008711 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+0x302e 008712 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+0x302f 008713 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+0x3030 008714 branch usb0_data_ready_report_set0 
+:      008715 dongle_dispose_cmd_get_bind:
+0x3031 008716 call g24_fetch_mem_bind_device_status 
+0x3032 008718 store 1 ,mem_usb0_get_report_data + 1 
+0x3033 008719 branch usb0_data_ready_report_set1 
+:      008720 dongle_dispose_cmd_exit_bind:
+0x3034 008721 call g24_set_work_mem_dongle_work_mode 
+0x3035 008723 call g24_set0_mem_dongle_mode_init 
+0x3036 008725 call g24_fetch_mem_bind_device_status 
+0x3037 008727 store 1 ,mem_usb0_get_report_data + 1 
+0x3038 008728 branch usb0_data_ready_report_set1 
+:      008730 dongle_dispose_cmd_read_mode:
+:      008731 dongle_dispose_in_bind_mode:
+0x3039 008732 jam command_bind ,mem_usb0_get_report_data + 1 
+0x303a 008733 branch usb0_data_ready_report_set1 
+:      008735 dongle_dispose_cmd_mode:
+0x303b 008736 fetch 1 ,mem_usb0_set_report_data + 2 
+0x303c 008737 beq com_mode_bind ,dongle_enter_bind_mode 
+0x303d 008739 branch usb0_data_ready_report_set0 
+:      008740 dongle_enter_bind_mode:
+0x303e 008743 call g24_bind_mode_enable 
+:      008744 usb0_data_ready_report_set1:
+0x303f 008745 jam 1 ,mem_usb0_data_ready_report 
+0x3040 008746 rtn 
+:      008751 dongle_dispose_cmd_current_project:
+0x3041 008752 jam product_id ,mem_usb0_get_report_data + 1 
+0x3042 008753 branch usb0_data_ready_report_set1 
+:      008755 dongle_dispose_cmd_current_mode:
+0x3043 008756 call g24_fetch_mem_dongle_work_mode 
+0x3044 008758 beq dongle_work ,dongle_dispose_in_work_mode 
+0x3045 008759 beq dongle_bind ,dongle_dispose_in_bind_mode 
+0x3046 008761 rtn 
+:      008762 dongle_dispose_in_work_mode:
+0x3047 008763 jam command_mode ,mem_usb0_get_report_data + 1 
+0x3048 008764 branch usb0_data_ready_report_set1 
+:      008769 dongle_dispose_cmd_current_fw_version:
+0x3049 008770 jam fw_version0 ,mem_usb0_get_report_data + 1 
+0x304a 008771 jam fw_version1 ,mem_usb0_get_report_data + 2 
+0x304b 008772 jam fw_version2 ,mem_usb0_get_report_data + 3 
+0x304c 008773 branch usb0_data_ready_report_set1 
+:      008775 dongle_dispose_cmd_user_defined:
+0x304d 008777 call g24_set1_mem_ackpayload_enable 
+0x304e 008778 fetch 1 ,mem_usb0_set_report_data + 2 
+0x304f 008779 increase 2 ,pdata 
+0x3050 008780 copy pdata ,loopcnt 
+0x3051 008781 arg mem_usb0_set_report_data ,contr 
+0x3052 008782 setarg offset_24g_ackpayload 
+0x3053 008783 iadd regc ,contw 
+0x3054 008784 branch memcpy 
+:      008787 dongle_auto_bind:
+0x3055 008788 bpatch patch17_7 ,mem_patch17 
+0x3056 008789 call g24_mode_switch_init 
+:      008790 dongle_auto_bind_loop:
+0x3057 008791 call g24_receive_process 
+0x3058 008792 call usb_isr 
+0x3059 008793 branch dongle_auto_bind_loop 
+:      008795 g24_dongle_work_mode_auto:
+0x305a 008796 call g24_fetch_mem_dongle_work_mode 
+0x305b 008798 rtnne dongle_work 
+0x305c 008799 call g24_dongle_work_mode_start 
+0x305d 008800 branch g24_rx_nodata_process 
+:      008802 g24_dongle_bind_mode_auto:
+0x305e 008803 call g24_fetch_mem_dongle_work_mode 
+0x305f 008805 rtnne dongle_bind 
+0x3060 008806 call g24_dongle_bind_init 
+0x3061 008807 call g24_dongle_bind_data_process 
+0x3062 008808 call g24_fetch_mem_bind_device_status 
+0x3063 008810 rtn blank 
+0x3064 008811 call g24_set0_mem_mode_switch 
+0x3065 008813 call dongle_check_mode 
+0x3066 008814 call g24_enable_nodata_timer 
+:      008815 g24_timer_init:
+0x3067 008816 setarg 0 
+0x3068 008817 add regc ,offset_24g_tx_btclk ,contw 
+0x3069 008819 branch g24_contw_istore_4byte 
+:      008821 g24_timer_check:
+0x306a 008822 call disable_user 
+0x306b 008823 add regc ,offset_24g_tx_btclk ,rega 
+0x306c 008824 ifetcht 4 ,rega 
+0x306d 008826 copy clkn_bt ,pdata 
+0x306e 008827 isub temp ,null 
+0x306f 008828 ncall g24_timer_timeout ,positive 
+0x3070 008829 copy pdata ,regb 
+0x3071 008830 add regc ,offset_24g_tx_btclk ,rega 
+0x3072 008831 ifetch 4 ,rega 
+0x3073 008833 add regc ,offset_24g_interval ,rega 
+0x3074 008834 ifetcht 1 ,rega 
+0x3075 008836 iadd temp ,temp 
+0x3076 008837 copy regb ,pdata 
+0x3077 008838 isub temp ,null 
+0x3078 008839 nrtn positive 
+0x3079 008840 set0 28 ,pdata 
+0x307a 008841 add regc ,offset_24g_tx_btclk ,contw 
+0x307b 008842 istore 4 ,contw 
+0x307c 008844 branch enable_user 
+:      008846 g24_mode_switch_init:
+0x307d 008847 setarg 1 
+0x307e 008848 call g24_store_mem_mode_switch 
+0x307f 008850 call g24_set0_mem_time_slice 
+0x3080 008852 setarg 0xff 
+0x3081 008853 add regc ,offset_24g_interval ,contw 
+0x3082 008854 istore 1 ,contw 
+0x3083 008856 branch g24_timer_init 
+:      008858 g24_mode_switch:
+0x3084 008859 setarg offset_24g_mode_switch 
+0x3085 008860 call g24_set_rega_ifetch_1byte 
+0x3086 008862 rtn blank 
+0x3087 008863 call g24_timer_check 
+0x3088 008864 nrtn user 
+0x3089 008865 call g24_fetch_mem_time_slice 
+0x308a 008867 increase 1 ,pdata 
+0x308b 008868 and_into 1 ,pdata 
+0x308c 008869 call g24_store_mem_time_slice 
+0x308d 008871 beq 0 ,dongle_check_mode 
+0x308e 008872 beq 1 ,g24_bind_mode_enable 
+0x308f 008873 rtn 
+:      008875 g24_bind_mode_enable:
+0x3090 008879 setarg dongle_bind 
+0x3091 008880 call g24_store_mem_dongle_work_mode 
+0x3092 008881 branch g24_set0_mem_dongle_mode_init 
+:      008883 g24_enable_nodata_timer:
+0x3093 008884 setarg 1 
+0x3094 008885 call g24_store_mem_nodata_timer_enable 
+:      008887 g24_enable_nodata_timer_init:
+0x3095 008888 setarg timer_nodata_delay 
+0x3096 008889 arg timer_nodata ,queue 
+0x3097 008890 branch timer_init 
+:      008892 g24_rx_nodata_process:
+0x3098 008893 call g24_fetch_mem_nodata_timer_enable 
+0x3099 008895 rtn blank 
+0x309a 008896 arg timer_nodata ,queue 
+0x309b 008897 call timer_check 
+0x309c 008898 nrtn blank 
+0x309d 008899 call g24_set0_mem_nodata_timer_enable 
+0x309e 008902 setarg dongle_search 
+0x309f 008903 call g24_store_mem_dongle_work_mode 
+0x30a0 008905 call g24_set0_mem_dongle_mode_init 
+0x30a1 008907 branch g24_rx_interrupt_clear 
+:      008909 g24_dongle_search_mode_auto:
+0x30a2 008910 bpatch patch18_0 ,mem_patch18 
+0x30a3 008911 call g24_fetch_mem_dongle_work_mode 
+0x30a4 008913 rtnne dongle_search 
+0x30a5 008914 call g24_dongle_search_mode_init 
+0x30a6 008915 call g24_rx_auto_addr_ch_search 
+0x30a7 008916 call g24_receive_transmit_ack 
+0x30a8 008917 nbranch g24_rx_interrupt_clear ,user3 
+0x30a9 008919 call g24_dongle_search_addr_check 
+0x30aa 008920 call g24_receive_packet_parse ,zero 
+0x30ab 008924 call dongle_check_mode 
+0x30ac 008925 call g24_fetch_mem_dongle_mode_init 
+0x30ad 008927 set1 dongle_work ,pdata 
+0x30ae 008928 call g24_store_mem_dongle_mode_init 
+0x30af 008930 call g24_rx_interrupt_clear 
+0x30b0 008931 call g24_enable_nodata_timer 
+0x30b1 008932 call g24_dongle_search_addr_check 
+0x30b2 008933 branch g24_dg_ch_num_reinit ,zero 
+0x30b3 008934 setarg offset_24g_kb_addr 
+0x30b4 008935 call g24_set_rega_ifetcht_4byte 
+0x30b5 008937 call g24_fetch_mem_addr_isub_temp 
+0x30b6 008938 branch g24_kb_ch_num_reinit ,zero 
+0x30b7 008939 setarg offset_24g_mouse_addr 
+0x30b8 008940 call g24_set_rega_ifetcht_4byte 
+0x30b9 008942 call g24_fetch_mem_addr_isub_temp 
+0x30ba 008943 branch g24_ms_ch_num_reinit ,zero 
+0x30bb 008944 rtn 
+:      008946 g24_dongle_search_addr_check:
+0x30bc 008947 setarg offset_24g_rx_addr 
+0x30bd 008948 call g24_set_rega_ifetcht_4byte 
+:      008950 g24_fetch_mem_addr_isub_temp:
+0x30be 008951 call g24_fetch_mem_addr 
+0x30bf 008953 isub temp ,null 
+0x30c0 008954 rtn 
+:      008956 g24_dg_ch_num_reinit:
+0x30c1 008957 setarg offset_24g_dg_ch_number 
+0x30c2 008958 call g24_set_rega_ifetch_1byte 
+:      008960 g24_current_ch_num_reinit:
+0x30c3 008962 add regc ,offset_24g_current_ch_number ,contw 
+0x30c4 008963 branch g24_contw_istore_1byte 
+:      008965 g24_kb_ch_num_reinit:
+0x30c5 008966 setarg offset_24g_kb_ch_number 
+0x30c6 008967 call g24_set_rega_ifetch_1byte 
+0x30c7 008969 branch g24_current_ch_num_reinit 
+:      008970 g24_ms_ch_num_reinit:
+0x30c8 008971 setarg offset_24g_ms_ch_number 
+0x30c9 008972 call g24_set_rega_ifetch_1byte 
+0x30ca 008974 branch g24_current_ch_num_reinit 
+:      008976 g24_dongle_search_mode_init:
+0x30cb 008977 call g24_fetch_mem_dongle_mode_init 
+0x30cc 008979 rtnbit1 dongle_search 
+0x30cd 008980 set1 dongle_search ,pdata 
+0x30ce 008981 call g24_store_mem_dongle_mode_init 
+0x30cf 008983 call g24_set0_mem_time_slice 
+0x30d0 008985 call g24_set1_mem_ackpayload_enable 
+0x30d1 008987 setarg 0 
+0x30d2 008988 add regc ,offset_rssi_noise_dg_index ,contw 
+0x30d3 008989 istore 3 ,contw 
+0x30d4 008991 arg offset_24g_dg_config_ch_once ,rega 
+0x30d5 008992 call g24_set_contw_with_temp 
+0x30d6 008993 istore 7 ,contw 
+0x30d7 008996 call g24_dongle_search_addr_check 
+0x30d8 008997 nrtn zero 
+0x30d9 008998 add regc ,offset_24g_current_ch_number ,rega 
+0x30da 008999 ifetch 1 ,rega 
+0x30db 009001 arg offset_24g_dg_ch_number ,rega 
+0x30dc 009002 call g24_set_contw_with_regb_store_1byte 
+0x30dd 009004 add regc ,offset_24g_ch ,rega 
+0x30de 009005 ifetch 1 ,rega 
+0x30df 009008 branch g24_store_mem_dg_last_ch 
+:      009010 g24_rx_auto_addr_ch_search:
+0x30e0 009011 bpatch patch18_1 ,mem_patch18 
+0x30e1 009012 call g24_fetch_mem_time_slice 
+0x30e2 009014 increase 1 ,pdata 
+0x30e3 009015 and_into 3 ,pdata 
+0x30e4 009016 call g24_store_mem_time_slice 
+0x30e5 009019 beq 0 ,g24_rx_auto_bind_config_kb 
+0x30e6 009020 beq 1 ,g24_rx_auto_bind_config_dongle 
+0x30e7 009021 beq 2 ,g24_rx_auto_bind_config_mouse 
+0x30e8 009022 beq 3 ,g24_rx_auto_bind_config_dongle 
+0x30e9 009023 rtn 
+:      009025 g24_rx_auto_bind_config_mouse:
+0x30ea 009026 call g24_dongle_bind_ms_payload_cfg 
+0x30eb 009027 setarg offset_24g_mouse_addr 
+0x30ec 009028 call g24_set_rega_ifetch_4byte 
+0x30ed 009030 branch g24_rx_auto_addr_ch_search ,blank 
+0x30ee 009031 call g24_store_mem_addr 
+0x30ef 009033 setarg offset_24g_ms_config_ch_once 
+0x30f0 009034 call g24_set_rega_ifetch_1byte 
+0x30f1 009036 call g24_ms_config_ch_once ,blank 
+0x30f2 009037 setarg offset_24g_ms_last_ch 
+0x30f3 009038 call g24_set_rega_ifetch_1byte 
+0x30f4 009040 call g24_store_mem_ch 
+0x30f5 009042 add regc ,offset_rssi_noise_ms_index ,rega 
+0x30f6 009043 ifetcht 1 ,rega 
+0x30f7 009045 arg mem_rssi_noise_ms_buffer ,rega 
+0x30f8 009046 call rssi_noise_store 
+0x30f9 009047 add regc ,offset_rssi_noise_ms_index ,contw 
+0x30fa 009048 istoret 1 ,contw 
+0x30fb 009050 call g24_noise_rssi_average 
+0x30fc 009051 add regc ,offset_rssi_noise_ms_avg ,contw 
+0x30fd 009052 istoret 1 ,contw 
+0x30fe 009054 sub temp ,rssi_thresh_noise ,null 
+0x30ff 009055 nrtn positive 
+0x3100 009056 setarg offset_24g_ms_ch_number 
+0x3101 009057 call g24_set_rega_ifetcht_1byte 
+0x3102 009059 call g24_ch_temp_incre_size4 
+0x3103 009060 arg offset_24g_ms_ch_number ,rega 
+0x3104 009061 call g24_set_contw_with_regb2 
+0x3105 009062 istoret 1 ,contw 
+:      009064 g24_store_mem_ms_last_ch:
+0x3106 009066 arg offset_24g_ms_last_ch ,rega 
+0x3107 009067 branch g24_set_contw_with_regb_store_1byte 
+:      009069 g24_ms_config_ch_once:
+0x3108 009070 setarg 1 
+0x3109 009071 arg offset_24g_ms_config_ch_once ,rega 
+0x310a 009072 call g24_set_contw_with_regb_store_1byte 
+0x310b 009074 arg 0 ,temp 
+0x310c 009075 call g24_ch_calc 
+0x310d 009078 branch g24_store_mem_ms_last_ch 
+:      009080 g24_rx_auto_bind_config_kb:
+0x310e 009081 call g24_dongle_bind_kb_payload_cfg 
+0x310f 009082 setarg offset_24g_kb_addr 
+0x3110 009083 call g24_set_rega_ifetch_4byte 
+0x3111 009085 branch g24_rx_auto_addr_ch_search ,blank 
+0x3112 009086 call g24_store_mem_addr 
+0x3113 009088 setarg offset_24g_kb_config_ch_once 
+0x3114 009089 call g24_set_rega_ifetch_1byte 
+0x3115 009091 call g24_kb_config_ch_once ,blank 
+0x3116 009092 setarg offset_24g_kb_last_ch 
+0x3117 009093 call g24_set_rega_ifetch_1byte 
+0x3118 009095 call g24_store_mem_ch 
+0x3119 009097 add regc ,offset_rssi_noise_kb_index ,rega 
+0x311a 009098 ifetcht 1 ,rega 
+0x311b 009100 arg mem_rssi_noise_kb_buffer ,rega 
+0x311c 009101 call rssi_noise_store 
+0x311d 009102 add regc ,offset_rssi_noise_kb_index ,contw 
+0x311e 009103 istoret 1 ,contw 
+0x311f 009105 call g24_noise_rssi_average 
+0x3120 009106 add regc ,offset_rssi_noise_kb_avg ,contw 
+0x3121 009107 istoret 1 ,contw 
+0x3122 009109 sub temp ,rssi_thresh_noise ,null 
+0x3123 009110 nrtn positive 
+0x3124 009111 setarg offset_24g_kb_ch_number 
+0x3125 009112 call g24_set_rega_ifetcht_1byte 
+0x3126 009114 call g24_ch_temp_incre_size4 
+0x3127 009115 arg offset_24g_kb_ch_number ,rega 
+0x3128 009116 call g24_set_contw_with_regb2 
+0x3129 009117 istoret 1 ,contw 
+:      009119 g24_store_mem_kb_last_ch:
+0x312a 009121 arg offset_24g_kb_last_ch ,rega 
+0x312b 009122 branch g24_set_contw_with_regb_store_1byte 
+:      009124 g24_kb_config_ch_once:
+0x312c 009125 setarg 1 
+0x312d 009126 arg offset_24g_kb_config_ch_once ,rega 
+0x312e 009127 call g24_set_contw_with_regb_store_1byte 
+0x312f 009129 arg 0 ,temp 
+0x3130 009130 call g24_ch_calc 
+0x3131 009133 branch g24_store_mem_kb_last_ch 
+:      009135 g24_rx_auto_bind_config_dongle:
+0x3132 009136 call g24_dongle_bind_ms_payload_cfg 
+0x3133 009137 call g24_fetch_mem_rx_addr 
+0x3134 009139 call g24_store_mem_addr 
+0x3135 009141 setarg offset_24g_dg_config_ch_once 
+0x3136 009142 call g24_set_rega_ifetch_1byte 
+0x3137 009144 call g24_dg_config_ch_once ,blank 
+0x3138 009145 call g24_dg_store_config_ch 
+0x3139 009146 add regc ,offset_rssi_noise_dg_index ,rega 
+0x313a 009147 ifetcht 1 ,rega 
+0x313b 009149 arg mem_rssi_noise_dg_buffer ,rega 
+0x313c 009150 call rssi_noise_store 
+0x313d 009151 add regc ,offset_rssi_noise_dg_index ,contw 
+0x313e 009152 istoret 1 ,contw 
+0x313f 009154 call g24_noise_rssi_average 
+0x3140 009155 add regc ,offset_rssi_noise_dg_avg ,contw 
+0x3141 009156 istoret 1 ,contw 
+0x3142 009158 sub temp ,rssi_thresh_noise ,null 
+0x3143 009159 nrtn positive 
+0x3144 009160 setarg offset_24g_dg_ch_number 
+0x3145 009161 call g24_set_rega_ifetcht_1byte 
+0x3146 009163 call g24_ch_temp_incre_size4 
+0x3147 009164 arg offset_24g_dg_ch_number ,rega 
+0x3148 009165 call g24_set_contw_with_regb2 
+0x3149 009166 istoret 1 ,contw 
+:      009168 g24_store_mem_dg_last_ch:
+0x314a 009171 arg offset_24g_dg_last_ch ,rega 
+0x314b 009172 branch g24_set_contw_with_regb_store_1byte 
+:      009175 g24_dg_config_ch_once:
+0x314c 009180 setarg 1 
+0x314d 009181 arg offset_24g_dg_config_ch_once ,rega 
+0x314e 009182 call g24_set_contw_with_regb_store_1byte 
+:      009183 g24_dg_store_config_ch:
+0x314f 009184 setarg offset_24g_dg_last_ch 
+0x3150 009185 call g24_set_rega_ifetch_1byte 
+0x3151 009186 branch g24_store_mem_ch 
+:      009189 g24_transmit_ack:
+0x3152 009191 add regc ,offset_24g_rxbuf ,rega 
+0x3153 009192 ifetch 1 ,rega 
+0x3154 009194 call g24_store_mem_data_type 
+0x3155 009197 call g24_read_len_pid_crc 
+0x3156 009199 call g24_fetch_mem_rxbuf_add1 
+0x3157 009201 isolate1 bit_ack_24g ,pdata 
+0x3158 009202 branch g24tx_no_ack ,true 
+:      009203 g24tx_with_ack:
+0x3159 009204 call g24_ackpayload_prep 
+0x315a 009205 call g24_transmit_prep 
+0x315b 009206 call g24_transmit 
+:      009207 g24tx_no_ack:
+0x315c 009208 branch g24_end_of_packet 
+:      009210 g24_ackpayload_prep:
+0x315d 009211 bpatch patch18_2 ,mem_patch18 
+0x315e 009212 add regc ,offset_24g_datalen ,contw 
+0x315f 009213 call g24_mem_set0 
+0x3160 009215 setarg offset_24g_ackpayload_enable 
+0x3161 009216 call g24_set_rega_ifetch_1byte 
+0x3162 009218 rtn blank 
+0x3163 009219 setarg 0x06 
+0x3164 009220 add regc ,offset_24g_datalen ,contw 
+0x3165 009221 istore 1 ,contw 
+0x3166 009223 arg 0x06 ,loopcnt 
+0x3167 009224 setarg offset_24g_bind_payload 
+0x3168 009225 iadd regc ,contr 
+0x3169 009227 add regc ,offset_24g_txbuf ,contw 
+0x316a 009229 branch memcpy 
+:      009232 g24_receive_packet_start:
+0x316b 009233 call g24_receive_transmit_ack 
+0x316c 009234 nbranch g24_rx_interrupt_clear ,user3 
+0x316d 009235 branch g24_receive_packet_parse 
+:      009237 g24_receive_transmit_ack:
+0x316e 009238 call g24_rx_interrupt_clear 
+0x316f 009239 call g24_receive_packet 
+0x3170 009240 nrtn user3 
+0x3171 009241 branch g24_transmit_ack 
+:      009243 g24_receive_packet_parse:
+0x3172 009244 bpatch patch18_3 ,mem_patch18 
+0x3173 009245 call g24_receive_packet_parse_pid_crc 
+0x3174 009246 nbranch g24_rx_interrupt_clear ,user 
+0x3175 009247 add regc ,offset_24g_rxdata_length ,rega 
+0x3176 009248 ifetch 1 ,rega 
+0x3177 009250 branch g24_rx_interrupt_clear ,blank 
+0x3178 009251 increase 2 ,pdata 
+0x3179 009252 iforce loopcnt 
+0x317a 009253 add regc ,offset_24g_rxbuf ,contr 
+0x317b 009255 setarg offset_24g_rxdata_temp 
+0x317c 009256 iadd regc ,contw 
+0x317d 009258 call memcpy 
+0x317e 009259 call g24_set0_mem_mode_switch 
+0x317f 009261 call g24_fetch_mem_pair_mode 
+0x3180 009263 call g24_enable_nodata_timer ,blank 
+0x3181 009264 setarg offset_24g_rxdata_temp_add2 
+0x3182 009265 call g24_set_rega_ifetch_1byte 
+0x3183 009267 beq 0x01 ,g24_data_type1 
+0x3184 009268 beq 0x02 ,g24_data_type2 
+0x3185 009269 beq 0x03 ,g24_data_type3 
+0x3186 009270 beq 0xff ,g24_data_attemp 
+0x3187 009271 branch g24_rx_interrupt_clear 
+:      009273 g24_receive_packet_parse_pid_crc:
+0x3188 009274 call g24_head_ptr2regc 
+0x3189 009275 call disable_user 
+0x318a 009276 add regc ,offset_24g_sta_pid ,rega 
+0x318b 009277 ifetch 1 ,rega 
+0x318c 009279 add regc ,offset_24g_last_pid ,rega 
+0x318d 009280 ifetcht 1 ,rega 
+0x318e 009282 isub temp ,null 
+0x318f 009283 ncall enable_user ,zero 
+0x3190 009284 add regc ,offset_24g_sta_pid ,rega 
+0x3191 009285 ifetch 1 ,rega 
+0x3192 009287 add regc ,offset_24g_last_pid ,contw 
+0x3193 009288 istore 1 ,contw 
+0x3194 009290 add regc ,offset_24g_sta_crc ,rega 
+0x3195 009291 ifetch 3 ,rega 
+0x3196 009293 add regc ,offset_24g_last_crc ,rega 
+0x3197 009294 ifetcht 3 ,rega 
+0x3198 009296 isub temp ,null 
+0x3199 009297 ncall enable_user ,zero 
+0x319a 009298 add regc ,offset_24g_sta_crc ,rega 
+0x319b 009299 ifetch 3 ,rega 
+0x319c 009301 add regc ,offset_24g_last_crc ,contw 
+0x319d 009303 branch g24_contw_istore_3byte 
+:      009305 g24_data_type1:
+0x319e 009306 call g24_ch_timer_reinit 
+0x319f 009307 call g24_fetch_mem_abort_pac 
+0x31a0 009308 store 1 ,mem_temp 
+0x31a1 009310 call g24_fetcht_mem_rxdata_temp 
+0x31a2 009311 fetch 1 ,mem_temp 
+0x31a3 009313 isolate1 bit_abort ,temp 
+0x31a4 009314 setflag true ,0 ,pdata 
+0x31a5 009315 add regc ,offset_24g_abort_pac ,contw 
+0x31a6 009316 istore 1 ,contw 
+0x31a7 009318 beq 1 ,g24_data_attemp_mouse 
+0x31a8 009319 call g24_fetch_mem_hop_pac 
+0x31a9 009321 call g24_fetcht_mem_rxdata_temp 
+0x31aa 009323 isolate1 bit_hop ,temp 
+0x31ab 009324 setflag true ,0 ,pdata 
+0x31ac 009325 call g24_store_mem_hop_pac 
+0x31ad 009327 add regc ,offset_24g_cb_rxdata_type1 ,rega 
+0x31ae 009328 ifetch 2 ,rega 
+0x31af 009330 branch callback_func 
+:      009332 dongle_rxdata_type1:
+0x31b0 009333 setarg ms_report_id 
+0x31b1 009334 store 1 ,mem_usb_mouse_data 
+0x31b2 009335 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b3 009337 istore 7 ,contw 
+0x31b4 009338 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b5 009340 ncall g24_ms_enable_blank_data_forcibly ,blank 
+0x31b6 009341 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b7 009343 call g24_ms_disable_blank_data_forcibly ,blank 
+:      009344 g24_data_type1_usbtx_enable:
+0x31b8 009345 jam usb_ep2_ms ,mem_usb_ep2_data 
+:      009346 g24_data_type1_usbtx_enable_ep2:
+0x31b9 009347 fetch 1 ,mem_usb_tx_enable 
+0x31ba 009348 set1 2 ,pdata 
+0x31bb 009349 store 1 ,mem_usb_tx_enable 
+0x31bc 009350 rtn 
+:      009352 g24_ms_enable_blank_data_forcibly:
+0x31bd 009353 setarg 1 
+0x31be 009354 call g24_store_mem_ms_blank_data_enable 
+:      009356 g24_ms_enable_blank_data_timer:
+0x31bf 009357 setarg timer_ms_blank_delay 
+0x31c0 009358 arg timer_ms_blank ,queue 
+0x31c1 009359 branch timer_init 
+:      009360 g24_ms_disable_blank_data_forcibly:
+0x31c2 009361 call g24_set0_mem_ms_blank_data_enable 
+:      009363 g24_ms_disable_blank_data_timer:
+0x31c3 009364 setarg 0 
+0x31c4 009365 arg timer_ms_blank ,queue 
+0x31c5 009366 branch timer_init 
+:      009368 g24_data_type2:
+0x31c6 009369 call g24_fetcht_mem_rxdata_temp 
+0x31c7 009371 isolate1 bit_abort ,temp 
+0x31c8 009372 branch g24_data_attemp_kbd ,true 
+0x31c9 009373 arg mem_usb_kb_data ,contw 
+0x31ca 009374 call g24_data_type2_reverse_data 
+0x31cb 009375 fetch 8 ,mem_usb_kb_data 
+0x31cc 009376 ncall g24_kb_enable_blank_data_forcibly ,blank 
+0x31cd 009377 fetch 8 ,mem_usb_kb_data 
+0x31ce 009378 call g24_kb_disable_blank_data_forcibly ,blank 
+0x31cf 009379 call g24_head_ptr2regc 
+0x31d0 009380 fetch 8 ,mem_usb_kb_data 
+0x31d1 009381 arg offset_24g_kb_data_sta_data ,rega 
+0x31d2 009382 call g24_set_contw_with_temp 
+0x31d3 009383 istore 8 ,contw 
+0x31d4 009385 setarg offset_24g_kb_data_last_data 
+0x31d5 009386 iadd regc ,rega 
+0x31d6 009387 ifetcht 8 ,rega 
+0x31d7 009389 isub temp ,null 
+0x31d8 009390 ncall g24_kb_data_dispose ,zero 
+0x31d9 009391 setarg offset_24g_kb_data_sta_data 
+0x31da 009392 iadd regc ,rega 
+0x31db 009393 ifetch 8 ,rega 
+0x31dc 009395 arg offset_24g_kb_data_last_data ,rega 
+0x31dd 009396 call g24_set_contw_with_temp 
+0x31de 009397 istore 8 ,contw 
+0x31df 009399 branch g24_rx_interrupt_clear 
+:      009401 g24_data_type2_reverse_data:
+0x31e0 009402 setarg offset_24g_rxdata_temp_add2 
+0x31e1 009403 iadd regc ,contr 
+0x31e2 009405 arg 9 ,loopcnt 
+0x31e3 009406 branch reverse_byte 
+:      009408 g24_kb_enable_blank_data_forcibly:
+0x31e4 009409 setarg 1 
+0x31e5 009410 call g24_store_mem_kb_blank_data_enable 
+:      009412 g24_kb_enable_blank_data_timer:
+0x31e6 009413 setarg timer_kb_blank_delay 
+0x31e7 009414 arg timer_kb_blank ,queue 
+0x31e8 009415 branch timer_init 
+:      009417 g24_kb_disable_blank_data_forcibly:
+0x31e9 009418 call g24_set0_mem_kb_blank_data_enable 
+:      009420 g24_kb_disable_blank_data_timer:
+0x31ea 009421 setarg 0 
+0x31eb 009422 arg timer_kb_blank ,queue 
+0x31ec 009423 branch timer_init 
+:      009425 g24_kb_data_dispose:
+:      009426 g24_kb_data_into_ep1_fifo:
+0x31ed 009427 jam usb_ep1_kb ,mem_usb_ep1_data 
+0x31ee 009428 fetch 1 ,mem_usb_tx_enable 
+0x31ef 009429 set1 1 ,pdata 
+0x31f0 009430 store 1 ,mem_usb_tx_enable 
+0x31f1 009431 rtn 
+:      009433 g24_data_type3:
+0x31f2 009434 arg mem_usb_kb_multikey ,contw 
+0x31f3 009435 call g24_data_type2_reverse_data 
+0x31f4 009436 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f5 009437 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+0x31f6 009438 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f7 009439 call g24_kb_mul_disable_blank_data_forcibly ,blank 
+0x31f8 009440 call g24_head_ptr2regc 
+0x31f9 009441 fetch 3 ,mem_usb_kb_multikey 
+0x31fa 009442 arg offset_24g_kb_multikey_sta_data ,rega 
+0x31fb 009443 call g24_set_contw_with_temp_store_3byte 
+0x31fc 009445 setarg offset_24g_kb_multikey_last_data 
+0x31fd 009446 iadd regc ,rega 
+0x31fe 009447 ifetcht 3 ,rega 
+0x31ff 009449 isub temp ,null 
+0x3200 009450 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+0x3201 009451 setarg offset_24g_kb_multikey_sta_data 
+0x3202 009452 iadd regc ,rega 
+0x3203 009453 ifetch 3 ,rega 
+0x3204 009455 arg offset_24g_kb_multikey_last_data ,rega 
+0x3205 009456 call g24_set_contw_with_temp_store_3byte 
+0x3206 009458 branch g24_rx_interrupt_clear 
+:      009460 g24_kb_mul_data_into_ep2_fifo:
+0x3207 009461 jam usb_ep2_multikey ,mem_usb_ep2_data 
+0x3208 009462 branch g24_data_type1_usbtx_enable_ep2 
+:      009464 g24_kb_mul_enable_blank_data_forcibly:
+0x3209 009465 setarg 1 
+0x320a 009466 call g24_store_mem_kb_mul_blank_data_enable 
+:      009468 g24_kb_mul_enable_blank_data_timer:
+0x320b 009469 setarg timer_kb_mul_blank_delay 
+0x320c 009470 arg timer_kb_mul_blank ,queue 
+0x320d 009471 branch timer_init 
+:      009473 g24_kb_mul_disable_blank_data_forcibly:
+0x320e 009474 call g24_set0_mem_kb_mul_blank_data_enable 
+:      009476 g24_kb_mul_disable_blank_data_timer:
+0x320f 009477 setarg 0 
+0x3210 009478 arg timer_kb_mul_blank ,queue 
+0x3211 009479 branch timer_init 
+:      009481 g24_data_attemp:
+0x3212 009482 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3213 009484 beq datatype_mouse ,g24_data_attemp_mouse 
+0x3214 009485 beq datatype_keyboard ,g24_data_attemp_kbd 
+0x3215 009486 rtn 
+:      009487 g24_data_attemp_mouse:
+0x3216 009488 setarg offset_24g_rxdata_temp_add4 
+0x3217 009489 call g24_set_rega_ifetch_4byte 
+0x3218 009490 arg offset_24g_mouse_addr ,rega 
+0x3219 009491 call g24_set_contw_with_temp 
+0x321a 009494 branch g24_contw_istore_4byte 
+:      009496 g24_data_attemp_kbd:
+0x321b 009497 setarg offset_24g_rxdata_temp_add4 
+0x321c 009498 call g24_set_rega_ifetch_4byte 
+0x321d 009499 arg offset_24g_kb_addr ,rega 
+0x321e 009500 call g24_set_contw_with_temp 
+0x321f 009503 branch g24_contw_istore_4byte 
+:      009505 g24_store_mem_24g_mode:
+0x3220 009506 call g24_head_ptr2regc 
+0x3221 009507 add regc ,offset_24g_mode ,contw 
+0x3222 009508 istore 1 ,contw 
+0x3223 009509 rtn 
+:      009511 g24_fetch_mem_device_addr:
+0x3224 009512 call g24_head_ptr2regc 
+0x3225 009513 add regc ,offset_24g_device_addr ,rega 
+0x3226 009514 branch g24_rega_ifetch_4byte 
+:      009515 g24_store_mem_device_addr:
+0x3227 009516 call g24_head_ptr2regc 
+0x3228 009517 add regc ,offset_24g_device_addr ,contw 
+0x3229 009518 branch g24_contw_istore_4byte 
+:      009520 g24_fetch_mem_addr:
+0x322a 009521 add regc ,offset_24g_addr ,rega 
+0x322b 009522 branch g24_rega_ifetch_4byte 
+:      009523 g24_store_mem_addr:
+0x322c 009524 add regc ,offset_24g_addr ,contw 
+:      009525 g24_contw_istore_4byte:
+0x322d 009526 istore 4 ,contw 
+0x322e 009527 rtn 
+:      009529 g24_store_mem_ch:
+0x322f 009530 add regc ,offset_24g_ch ,contw 
+0x3230 009531 branch g24_contw_istore_1byte 
+:      009533 g24_set0_mem_pid:
+0x3231 009534 setarg 0 
+:      009535 g24_store_mem_pid:
+0x3232 009536 call g24_head_ptr2regc 
+0x3233 009537 add regc ,offset_24g_pid ,contw 
+0x3234 009538 branch g24_contw_istore_1byte 
+:      009540 g24_store_mem_txpayload:
+0x3235 009541 add regc ,offset_24g_txpayload ,contw 
+0x3236 009542 branch g24_contw_istore_1byte 
+:      009544 g24_set4_mem_max_retry:
+0x3237 009545 setarg 4 
+:      009546 g24_store_mem_max_retry:
+0x3238 009547 add regc ,offset_24g_max_retry ,contw 
+0x3239 009548 branch g24_contw_istore_1byte 
+:      009550 g24_fetch_mem_data_type:
+0x323a 009551 add regc ,offset_24g_data_type ,rega 
+0x323b 009552 branch g24_rega_ifetch_1byte 
+:      009553 g24_store_mem_data_type:
+0x323c 009554 add regc ,offset_24g_data_type ,contw 
+0x323d 009555 branch g24_contw_istore_1byte 
+:      009557 g24_set2_mem_sync_cnt:
+0x323e 009558 setarg 2 
+:      009559 g24_store_mem_sync_cnt:
+0x323f 009560 add regc ,offset_24g_sync_cnt ,contw 
+0x3240 009561 branch g24_contw_istore_1byte 
+:      009563 g24_set1_mem_rf_last_sta:
+0x3241 009564 setarg 1 
+:      009565 g24_store_mem_rf_last_sta:
+0x3242 009566 call g24_head_ptr2regc 
+0x3243 009567 add regc ,offset_24g_rf_last_sta ,contw 
+0x3244 009568 branch g24_contw_istore_1byte 
+:      009570 g24_fetch_mem_hop_pac:
+0x3245 009571 call g24_head_ptr2regc 
+0x3246 009572 add regc ,offset_24g_hop_pac ,rega 
+0x3247 009573 branch g24_rega_ifetch_1byte 
+:      009574 g24_set1_mem_hop_pac:
+0x3248 009575 setarg 1 
+:      009576 g24_store_mem_hop_pac:
+0x3249 009577 call g24_head_ptr2regc 
+0x324a 009578 add regc ,offset_24g_hop_pac ,contw 
+0x324b 009579 branch g24_contw_istore_1byte 
+:      009581 g24_fetch_mem_abort_pac:
+0x324c 009582 call g24_head_ptr2regc 
+0x324d 009583 add regc ,offset_24g_abort_pac ,rega 
+0x324e 009584 branch g24_rega_ifetch_1byte 
+:      009585 g24_set1_mem_abort_pac:
+0x324f 009586 setarg 1 
+:      009587 g24_store_mem_abort_pac:
+0x3250 009588 call g24_head_ptr2regc 
+0x3251 009589 add regc ,offset_24g_abort_pac ,contw 
+0x3252 009590 branch g24_contw_istore_1byte 
+:      009592 g24_fetch_mem_pairing_sm:
+0x3253 009593 call g24_head_ptr2regc 
+0x3254 009594 add regc ,offset_24g_pairing_sm ,rega 
+0x3255 009595 branch g24_rega_ifetch_1byte 
+:      009596 g24_store_mem_pairing_sm:
+0x3256 009597 add regc ,offset_24g_pairing_sm ,contw 
+0x3257 009598 branch g24_contw_istore_1byte 
+:      009600 g24_fetch_mem_rf_hop_ch:
+0x3258 009601 add regc ,offset_24g_rf_hop_ch ,rega 
+0x3259 009602 branch g24_rega_ifetch_1byte 
+:      009603 g24_set0_mem_rf_hop_ch:
+0x325a 009604 setarg 0 
+:      009605 g24_store_mem_rf_hop_ch:
+0x325b 009606 add regc ,offset_24g_rf_hop_ch ,contw 
+0x325c 009607 branch g24_contw_istore_1byte 
+:      009609 g24_fetch_mem_rf_work_stage:
+0x325d 009610 add regc ,offset_24g_rf_work_stage ,rega 
+0x325e 009611 branch g24_rega_ifetch_1byte 
+:      009613 g24_fetch_mem_rxbuf_add1:
+0x325f 009614 add regc ,offset_24g_rxbuf_add1 ,rega 
+0x3260 009615 branch g24_rega_ifetch_1byte 
+:      009617 g24_fetch_mem_check_dongle_times:
+0x3261 009618 add regc ,offset_24g_check_dongle_times ,rega 
+0x3262 009619 branch g24_rega_ifetch_1byte 
+:      009620 g24_set0_mem_check_dongle_times:
+0x3263 009621 setarg 0 
+:      009622 g24_store_mem_check_dongle_times:
+0x3264 009623 call g24_head_ptr2regc 
+0x3265 009624 add regc ,offset_24g_check_dongle_times ,contw 
+0x3266 009625 branch g24_contw_istore_1byte 
+:      009627 g24_store_mem_tx_power:
+0x3267 009628 call g24_head_ptr2regc 
+0x3268 009629 add regc ,offset_tx_power_temp ,rega 
+0x3269 009630 ifetch 1 ,rega 
+:      009631 g24_store_mem_txpower:
+0x326a 009632 store 1 ,mem_tx_power 
+0x326b 009633 rtn 
+:      009635 g24_store_mem_tx_power_temp:
+0x326c 009636 call g24_head_ptr2regc 
+0x326d 009637 fetch 1 ,mem_tx_power 
+0x326e 009639 add regc ,offset_tx_power_temp ,contw 
+0x326f 009640 branch g24_contw_istore_1byte 
+:      009642 g24_fetch_mem_power_ctrl_pac:
+0x3270 009643 add regc ,offset_power_ctrl_packet_cnt ,rega 
+0x3271 009644 branch g24_rega_ifetch_1byte 
+:      009646 g24_store_mem_power_ctrl_level:
+0x3272 009647 add regc ,offset_power_ctrl_level ,contw 
+0x3273 009648 branch g24_contw_istore_1byte 
+:      009650 g24_fetcht_mem_rxdata_temp:
+0x3274 009651 setarg offset_24g_rxdata_temp 
+:      009652 g24_set_rega_ifetcht_1byte:
+0x3275 009653 iadd regc ,rega 
+0x3276 009654 ifetcht 1 ,rega 
+0x3277 009655 rtn 
+:      009657 g24_fetch_mem_rf_laststa:
+0x3278 009658 setarg offset_24g_rf_laststa 
+0x3279 009659 branch g24_set_rega_ifetch_1byte 
+:      009660 g24_set0_mem_rf_laststa:
+0x327a 009661 setarg 0 
+:      009662 g24_store_mem_rf_laststa:
+0x327b 009663 arg offset_24g_rf_laststa ,rega 
+0x327c 009664 branch g24_set_contw_with_regb_store_1byte 
+:      009666 g24_fetch_mem_rx_addr:
+0x327d 009667 setarg offset_24g_rx_addr 
+:      009668 g24_set_rega_ifetch_4byte:
+0x327e 009669 call g24_set_rega 
+:      009670 g24_rega_ifetch_4byte:
+0x327f 009671 ifetch 4 ,rega 
+0x3280 009672 rtn 
+:      009674 g24_fetch_mem_time_slice:
+0x3281 009675 setarg offset_24g_time_slice 
+0x3282 009676 branch g24_set_rega_ifetch_1byte 
+:      009677 g24_set0_mem_time_slice:
+0x3283 009678 setarg 0 
+:      009679 g24_store_mem_time_slice:
+0x3284 009680 arg offset_24g_time_slice ,rega 
+0x3285 009681 branch g24_set_contw_with_regb_store_1byte 
+:      009683 g24_set0_mem_mode_switch:
+0x3286 009684 setarg 0 
+:      009685 g24_store_mem_mode_switch:
+0x3287 009686 arg offset_24g_mode_switch ,rega 
+0x3288 009687 branch g24_set_contw_with_regb_store_1byte 
+:      009689 g24_store_mem_bind_payload:
+0x3289 009690 arg offset_24g_bind_payload ,rega 
+0x328a 009691 branch g24_set_contw_with_regb_store_1byte 
+:      009693 g24_fetch_mem_bind_device_status:
+0x328b 009694 setarg offset_dongle_bind_device_status 
+0x328c 009695 branch g24_set_rega_ifetch_1byte 
+:      009696 g24_store_mem_bind_device_status:
+0x328d 009697 arg offset_dongle_bind_device_status ,rega 
+0x328e 009698 branch g24_set_contw_with_regb_store_1byte 
+:      009700 g24_fetch_mem_dongle_work_mode:
+0x328f 009701 setarg offset_dongle_work_mode 
+0x3290 009702 branch g24_set_rega_ifetch_1byte 
+:      009703 g24_set_work_mem_dongle_work_mode:
+0x3291 009704 setarg dongle_work 
+:      009705 g24_store_mem_dongle_work_mode:
+0x3292 009706 arg offset_dongle_work_mode ,rega 
+0x3293 009707 branch g24_set_contw_with_regb_store_1byte 
+:      009709 g24_fetch_mem_dongle_mode_init:
+0x3294 009710 setarg offset_dongle_mode_init 
+0x3295 009711 branch g24_set_rega_ifetch_1byte 
+:      009712 g24_set0_mem_dongle_mode_init:
+0x3296 009713 setarg clear_init 
+:      009714 g24_store_mem_dongle_mode_init:
+0x3297 009715 arg offset_dongle_mode_init ,rega 
+0x3298 009716 branch g24_set_contw_with_regb_store_1byte 
+:      009718 g24_set0_mem_ackpayload_enable:
+0x3299 009719 setarg 0 
+:      009720 g24_store_mem_ackpayload_enable:
+0x329a 009721 arg offset_24g_ackpayload_enable ,rega 
+0x329b 009722 branch g24_set_contw_with_regb_store_1byte 
+:      009723 g24_set1_mem_ackpayload_enable:
+0x329c 009724 setarg 1 
+0x329d 009725 branch g24_store_mem_ackpayload_enable 
+:      009727 g24_fetch_mem_rxdata_temp_add3_7byte:
+0x329e 009728 setarg offset_24g_rxdata_temp_add3 
+0x329f 009729 call g24_set_rega 
+0x32a0 009730 ifetch 7 ,rega 
+0x32a1 009731 rtn 
+:      009733 g24_fetch_mem_nodata_timer_enable:
+0x32a2 009734 setarg offset_24g_nodata_timer_enable 
+0x32a3 009735 branch g24_set_rega_ifetch_1byte 
+:      009736 g24_set0_mem_nodata_timer_enable:
+0x32a4 009737 setarg 0 
+:      009738 g24_store_mem_nodata_timer_enable:
+0x32a5 009739 arg offset_24g_nodata_timer_enable ,rega 
+0x32a6 009740 branch g24_set_contw_with_regb_store_1byte 
+:      009742 g24_set0_mem_ms_blank_data_enable:
+0x32a7 009743 setarg 0 
+:      009744 g24_store_mem_ms_blank_data_enable:
+0x32a8 009745 arg offset_24g_ms_blank_data_enable ,rega 
+0x32a9 009746 branch g24_set_contw_with_regb_store_1byte 
+:      009748 g24_set0_mem_kb_blank_data_enable:
+0x32aa 009749 setarg 0 
+:      009750 g24_store_mem_kb_blank_data_enable:
+0x32ab 009751 arg offset_24g_kb_blank_data_enable ,rega 
+0x32ac 009752 branch g24_set_contw_with_regb_store_1byte 
+:      009754 g24_set0_mem_kb_mul_blank_data_enable:
+0x32ad 009755 setarg 0 
+:      009756 g24_store_mem_kb_mul_blank_data_enable:
+0x32ae 009757 arg offset_24g_kb_mul_blank_data_enable ,rega 
+0x32af 009758 branch g24_set_contw_with_regb_store_1byte 
+:      009760 g24_store_mem_power_ctrl_threshold_up:
+0x32b0 009761 arg offset_power_ctrl_threshold_up ,rega 
+0x32b1 009762 branch g24_set_contw_with_regb_store_1byte 
+:      009764 g24_store_mem_power_ctrl_threshold_down:
+0x32b2 009765 arg offset_power_ctrl_threshold_down ,rega 
+:      009766 g24_set_contw_with_regb_store_1byte:
+0x32b3 009767 call g24_set_contw_with_regb 
+:      009768 g24_contw_istore_1byte:
+0x32b4 009769 istore 1 ,contw 
+0x32b5 009770 rtn 
+:      009772 g24_fetch_mem_pair_mode:
+0x32b6 009773 setarg offset_24g_pair_mode 
+0x32b7 009774 branch g24_set_rega_ifetch_1byte 
+:      009776 g24_store_mem_pair_mode:
+0x32b8 009777 arg offset_24g_pair_mode ,rega 
+0x32b9 009778 branch g24_set_contw_with_regb_store_1byte 
+:      009780 g24_store_mem_pair_txpower:
+0x32ba 009781 setarg offset_24g_pair_txpower 
+0x32bb 009782 call g24_set_rega_ifetch_1byte 
+0x32bc 009783 branch g24_store_mem_txpower 
+:      009785 g24_fetch_mem_rxdata_temp_add3_1byte:
+0x32bd 009786 setarg offset_24g_rxdata_temp_add3 
+0x32be 009787 branch g24_set_rega_ifetch_1byte 
+:      009789 g24_set_contw_with_temp:
+0x32bf 009790 copy pdata ,temp 
+0x32c0 009791 copy rega ,pdata 
+0x32c1 009792 iadd regc ,contw 
+0x32c2 009793 copy temp ,pdata 
+0x32c3 009794 rtn 
+:      009796 g24_set_contw_with_temp_store_3byte:
+0x32c4 009797 call g24_set_contw_with_temp 
+:      009798 g24_contw_istore_3byte:
+0x32c5 009799 istore 3 ,contw 
+0x32c6 009800 rtn 
+:      009802 g24_set_contw_with_regb:
+0x32c7 009803 call g24_head_ptr2regc 
+:      009804 g24_set_contw_with_regb2:
+0x32c8 009805 copy pdata ,regb 
+0x32c9 009806 copy rega ,pdata 
+0x32ca 009807 iadd regc ,contw 
+0x32cb 009808 copy regb ,pdata 
+0x32cc 009809 rtn 
+:      009811 g24_set_rega:
+0x32cd 009812 call g24_head_ptr2regc 
+0x32ce 009813 iadd regc ,rega 
+0x32cf 009814 rtn 
+:      009816 g24_set_rega_ifetch_1byte:
+0x32d0 009817 call g24_set_rega 
+:      009818 g24_rega_ifetch_1byte:
+0x32d1 009819 ifetch 1 ,rega 
+0x32d2 009820 rtn 
+:      009822 g24_set_rega_ifetcht_4byte:
+0x32d3 009823 call g24_set_rega 
+0x32d4 009824 ifetcht 4 ,rega 
+0x32d5 009825 rtn 
+:      009827 g24_mem_set0:
+0x32d6 009828 setarg 0 
+0x32d7 009829 branch g24_contw_istore_1byte 
+:      009833 app_init:
+0x32d8 009834 bpatch patch18_4 ,mem_patch18 
+0x32d9 009835 fetch 1 ,mem_device_option 
+0x32da 009836 branch app_init ,blank 
+0x32db 009838 beq dvc_op_dongle ,dongle_init 
+0x32dc 009839 beq dvc_op_antilost ,antilost_init 
+0x32dd 009840 beq dvc_op_shutter ,shutter_init 
+0x32de 009841 beq dvc_op_module ,module_init 
+0x32df 009842 beq dvc_op_car ,car_init 
+0x32e0 009843 beq dvc_op_remote_car ,remote_car_init 
+0x32e1 009844 bbit1 dvc_op_mouse ,mouse_init 
+0x32e2 009845 rtn 
+:      009847 app_lpm_init:
+0x32e3 009848 bpatch patch18_5 ,mem_patch18 
+0x32e4 009849 jam 0 ,mem_tester_emulate 
+0x32e5 009850 jam 0 ,mem_debug_config 
+0x32e6 009851 jam 0 ,mem_lch_code 
+0x32e7 009852 setarg 0 
+0x32e8 009853 store 5 ,mem_sp_state_start 
+0x32e9 009854 fetch 1 ,mem_device_option 
+0x32ea 009855 branch app_lpm_init ,blank 
+0x32eb 009856 beq dvc_op_module ,module_lpm_init 
+:      009857 app_lpm_init0:
+0x32ec 009858 rtn 
+:      009861 app_process_idle:
+0x32ed 009862 call ui_dispatch 
+0x32ee 009863 call check_51cmd 
+0x32ef 009864 call app_process_bb_event 
+0x32f0 009865 fetch 2 ,mem_cb_idle_process 
+0x32f1 009866 branch callback_func 
+:      009868 app_process_bt:
+0x32f2 009869 fetch 2 ,mem_cb_bt_process 
+0x32f3 009870 branch callback_func 
+:      009872 app_process_ble:
+0x32f4 009873 fetch 2 ,mem_cb_le_process 
+0x32f5 009874 branch callback_func 
+:      009876 app_process_bb_event:
+0x32f6 009877 bpatch patch18_6 ,mem_patch18 
+0x32f7 009879 arg mem_ipc_fifo_bt2c51 ,rega 
+0x32f8 009880 call fifo_out 
+0x32f9 009881 rtn blank 
+0x32fa 009883 copy pdata ,regc 
+0x32fb 009884 call app_event_normal_process 
+0x32fc 009885 branch app_process_bb_event_priority 
+:      009887 app_discard_event:
+0x32fd 009888 arg 0 ,regc 
+0x32fe 009889 rtn 
+:      009894 app_event_normal_process:
+0x32ff 009895 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x3300 009896 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x3301 009897 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x3302 009898 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x3303 009899 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x3304 009900 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x3305 009901 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x3306 009902 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x3307 009903 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x3308 009904 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x3309 009905 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x330a 009906 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x330b 009907 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x330c 009909 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x330d 009910 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x330e 009911 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x330f 009912 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x3310 009913 rtn 
+:      009916 app_evt_bt_conn:
+0x3311 009917 fetch 2 ,mem_ui_state_map 
+0x3312 009918 set1 ui_state_bt_connected ,pdata 
+0x3313 009919 store 2 ,mem_ui_state_map 
+0x3314 009920 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3315 009921 set0 app_disc_by_button ,pdata 
+0x3316 009922 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3317 009923 rtn 
+:      009925 app_event_switch_success:
+0x3318 009926 jam 0 ,mem_switch_fail_master_count 
+0x3319 009927 rtn 
+:      009929 app_event_switch_fail_master:
+0x331a 009930 fetch 1 ,mem_switch_fail_master_count 
+0x331b 009931 increase 1 ,pdata 
+0x331c 009932 store 1 ,mem_switch_fail_master_count 
+0x331d 009933 sub pdata ,1 ,null 
+0x331e 009934 branch app_bt_role_switch ,positive 
+0x331f 009935 jam 0 ,mem_switch_fail_master_count 
+0x3320 009936 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3321 009937 set1 app_disc_switch_fail ,pdata 
+0x3322 009938 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3323 009939 branch app_bt_disconnect 
+:      009941 app_process_bb_event_priority:
+0x3324 009942 fetch 2 ,mem_cb_bb_event_process 
+0x3325 009943 branch callback_func 
+:      009945 app_check_wake_lock:
+0x3326 009946 fetch 2 ,mem_cb_check_wakelock 
+0x3327 009947 branch callback_func 
+:      009949 app_will_enter_lpm:
+0x3328 009950 fetch 2 ,mem_cb_before_lpm 
+0x3329 009951 branch callback_func 
+:      009953 app_event_linkkey_generate:
+0x332a 009954 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332b 009955 set1 app_disc_after_pairing ,pdata 
+0x332c 009956 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332d 009957 branch app_bt_store_reconn_info 
+:      009959 app_event_reconn_start:
+0x332e 009960 fetch 2 ,mem_ui_state_map 
+0x332f 009961 set1 ui_state_bt_reconnect ,pdata 
+0x3330 009962 store 2 ,mem_ui_state_map 
+0x3331 009963 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3332 009964 set1 app_disc_after_reconn ,pdata 
+0x3333 009965 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3334 009966 rtn 
+:      009968 app_evt_setup_complete:
+0x3335 009969 fetch 2 ,mem_ui_state_map 
+0x3336 009970 set1 ui_state_bt_setup_complete ,pdata 
+0x3337 009971 store 2 ,mem_ui_state_map 
+0x3338 009972 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3339 009973 set1 app_disc_after_setup_done ,pdata 
+0x333a 009974 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x333b 009975 rtn 
+:      009977 app_evt_hid_handshake:
+0x333c 009978 fetch 2 ,mem_ui_state_map 
+0x333d 009979 set1 ui_state_bt_hid_handshake ,pdata 
+0x333e 009980 store 2 ,mem_ui_state_map 
+0x333f 009981 rtn 
+:      009983 app_event_enter_sniff:
+0x3340 009984 fetch 2 ,mem_ui_state_map 
+0x3341 009985 set1 ui_state_bt_sniff ,pdata 
+0x3342 009986 store 2 ,mem_ui_state_map 
+0x3343 009987 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3344 009988 set1 app_disc_after_sniff ,pdata 
+0x3345 009989 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3346 009990 rtn 
+:      009992 app_event_exit_sniff:
+0x3347 009993 fetch 2 ,mem_ui_state_map 
+0x3348 009994 set0 ui_state_bt_sniff ,pdata 
+0x3349 009995 store 2 ,mem_ui_state_map 
+0x334a 009996 rtn 
+:      009998 app_le_event_bb_connected:
+0x334b 009999 fetch 2 ,mem_ui_state_map 
+0x334c 010000 set1 ui_state_ble_connected ,pdata 
+0x334d 010001 store 2 ,mem_ui_state_map 
+0x334e 010002 rtn 
+:      010004 app_le_event_bb_disconn:
+0x334f 010005 fetch 2 ,mem_ui_state_map 
+0x3350 010006 set0 ui_state_ble_connected ,pdata 
+0x3351 010007 store 2 ,mem_ui_state_map 
+0x3352 010008 branch app_lpm_mult_disable 
+:      010010 app_bb_event_hid_connected:
+0x3353 010011 fetch 2 ,mem_ui_state_map 
+0x3354 010012 set1 ui_state_bt_hid_conn ,pdata 
+0x3355 010013 store 2 ,mem_ui_state_map 
+0x3356 010014 rtn 
+:      010016 app_evt_button_long_pressed:
+0x3357 010017 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3358 010018 set1 app_disc_by_button ,pdata 
+0x3359 010019 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335a 010020 rtn 
+:      010022 app_event_ml2cap_conn_refused:
+0x335b 010023 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335c 010024 set1 app_disc_l2cap_refused ,pdata 
+0x335d 010025 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335e 010026 branch app_bt_disconnect 
+:      010029 app_evt_timer:
+0x335f 010030 bpatch patch18_7 ,mem_patch18 
+0x3360 010031 store 1 ,mem_app_evt_timer_count 
+:      010032 app_evt_100ms_loop:
+0x3361 010033 fetch 1 ,mem_app_evt_timer_count 
+0x3362 010034 rtn blank 
+0x3363 010035 increase -1 ,pdata 
+0x3364 010036 store 1 ,mem_app_evt_timer_count 
+0x3365 010037 call ui_button_polling 
+0x3366 010038 call app_lpm_wake_auto_lock_timer 
+0x3367 010039 call app_unsniff_delay_timer 
+0x3368 010040 call app_discovery_timer 
+0x3369 010041 call flash_write_spi_sm_timer 
+0x336a 010042 fetch 2 ,mem_cb_event_timer 
+0x336b 010043 call callback_func 
+0x336c 010044 branch app_evt_100ms_loop 
+:      010049 timer_single_step:
+0x336d 010050 ifetch 1 ,regc 
+0x336e 010051 rtn blank 
+0x336f 010052 pincrease -1 
+0x3370 010053 istore 1 ,regc 
+0x3371 010054 nrtn blank 
+0x3372 010055 copy regb ,pdata 
+0x3373 010056 branch callback_func 
+:      010060 timer_single_step_2b:
+0x3374 010061 ifetch 2 ,regc 
+0x3375 010062 rtn blank 
+0x3376 010063 pincrease -1 
+0x3377 010064 istore 2 ,regc 
+0x3378 010065 nrtn blank 
+0x3379 010066 copy regb ,pdata 
+0x337a 010067 branch callback_func 
+:      010069 app_power_timer:
+0x337b 010070 fetcht 2 ,mem_power_param_ptr 
+0x337c 010071 add temp ,power_timer_offset ,regc 
+0x337d 010072 arg app_power_timer_timeout ,regb 
+0x337e 010073 branch timer_single_step 
+:      010075 app_power_timer_timeout:
+0x337f 010076 call app_got_power_state_common 
+0x3380 010077 beq power_starting ,app_enter_power_stanby_state 
+:      010078 app_enter_power_off_state:
+0x3381 010079 branch app_enter_hibernate 
+:      010080 app_enter_power_stanby_state:
+0x3382 010081 setarg power_standby 
+0x3383 010082 istore 1 ,regc 
+0x3384 010083 add temp ,power_standby_cb_offset ,regb 
+:      010084 app_power_cb_common:
+0x3385 010085 ifetch 2 ,regb 
+0x3386 010086 branch callback_func 
+:      010088 app_unsniff_delay_timer:
+0x3387 010089 arg mem_unsniff2sniff_timer_count ,regc 
+0x3388 010090 arg app_unsniff_delay_timeout ,regb 
+0x3389 010091 branch timer_single_step 
+:      010093 app_unsniff_delay_timeout:
+0x338a 010094 call context_check_idle 
+0x338b 010095 branch app_bt_enter_sniff ,zero 
+0x338c 010096 rtn 
+:      010099 app_discovery_timer:
+0x338d 010100 arg mem_discovery_timeout_timer_count ,regc 
+0x338e 010101 arg app_discovery_timeout ,regb 
+0x338f 010102 branch timer_single_step_2b 
+:      010104 app_discovery_timeout:
+0x3390 010105 call app_bt_stop_discovery 
+0x3391 010106 call app_led_off 
+0x3392 010107 fetch 2 ,mem_cb_discovry_timeout 
+0x3393 010108 branch callback_func 
+:      010111 app_bb_event_reconn_failed:
+0x3394 010112 call app_disconn_reason_flag_clear 
+:      010113 app_clear_reconnect_flag:
+0x3395 010114 fetch 2 ,mem_ui_state_map 
+0x3396 010115 set0 ui_state_bt_reconnect ,pdata 
+0x3397 010116 store 2 ,mem_ui_state_map 
+0x3398 010117 rtn 
+:      010119 app_bb_event_bb_disconn:
+0x3399 010120 jam 0 ,mem_unsniff2sniff_timer_count 
+0x339a 010121 fetch 2 ,mem_ui_state_map 
+0x339b 010122 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x339c 010123 isolate0 ui_state_bt_setup_complete ,pdata 
+0x339d 010124 call app_discard_event ,true 
+:      010125 app_bb_event_bb_reconn_disconn:
+0x339e 010126 bpatch patch19_0 ,mem_patch19 
+0x339f 010127 fetch 2 ,mem_ui_state_map 
+0x33a0 010128 set0 ui_state_bt_connected ,pdata 
+0x33a1 010129 set0 ui_state_bt_setup_complete ,pdata 
+0x33a2 010130 set0 ui_state_bt_hid_conn ,pdata 
+0x33a3 010131 set0 ui_state_bt_hid_handshake ,pdata 
+0x33a4 010132 set0 ui_state_bt_reconnect ,pdata 
+0x33a5 010133 store 2 ,mem_ui_state_map 
+0x33a6 010134 branch app_lpm_mult_disable 
+:      010136 app_bb_hibernate:
+0x33a7 010137 call app_disconn_reason_clear 
+0x33a8 010138 branch app_enter_hibernate 
+:      010141 app_disconn_reason_clear:
+0x33a9 010142 setarg 0 
+0x33aa 010143 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33ab 010144 rtn 
+:      010145 app_disconn_reason_flag_clear:
+0x33ac 010146 setarg 0 
+0x33ad 010147 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33ae 010148 rtn 
+:      010150 app_disconn_reason_collect_bt:
+0x33af 010151 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b0 010152 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b1 010153 setarg 0 
+0x33b2 010154 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b3 010155 rtn 
+:      010157 app_disconn_reason_collect_ble:
+0x33b4 010158 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b5 010159 set1 app_disc_ble ,pdata 
+0x33b6 010160 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b7 010161 setarg 0 
+0x33b8 010162 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b9 010163 rtn 
+:      010171 app_check_sniff:
+0x33ba 010172 fetch 1 ,mem_ui_state_map 
+0x33bb 010173 isolate1 ui_state_bt_sniff ,pdata 
+0x33bc 010174 rtn 
+:      010182 app_initflag_store:
+0x33bd 010183 setarg eeprom_init_flag 
+:      010184 app_flag_store:
+0x33be 010185 store 2 ,mem_timeup 
+0x33bf 010186 bpatch patch19_1 ,mem_patch19 
+0x33c0 010187 arg 2 ,temp 
+0x33c1 010188 arg mem_timeup ,rega 
+0x33c2 010189 arg eeprom_module_init_flag ,regb 
+0x33c3 010190 branch iicd_write_eep_data 
+:      010193 app_initflag_check:
+0x33c4 010194 bpatch patch19_2 ,mem_patch19 
+0x33c5 010195 arg 2 ,temp 
+0x33c6 010196 arg mem_pdatatemp ,rega 
+0x33c7 010197 arg eeprom_module_init_flag ,regb 
+0x33c8 010198 call iicd_read_eep_data 
+0x33c9 010199 fetch 2 ,mem_pdatatemp 
+0x33ca 010200 arg eeprom_init_flag ,temp 
+0x33cb 010201 isub temp ,null 
+0x33cc 010202 rtn 
+:      010205 app_start_auto_sniff:
+0x33cd 010206 fetch 1 ,mem_unsniff2sniff_timer 
+0x33ce 010207 store 1 ,mem_unsniff2sniff_timer_count 
+0x33cf 010208 rtn 
+:      010210 app_get_lpm_wake_lock:
+0x33d0 010211 arg wake_lock_app ,queue 
+0x33d1 010212 branch lpm_get_wake_lock 
+:      010214 app_put_lpm_wake_lock:
+0x33d2 010215 arg wake_lock_app ,queue 
+0x33d3 010216 branch lpm_put_wake_lock 
+:      010218 app_lpm_wake_auto_lock:
+0x33d4 010219 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x33d5 010220 branch app_get_lpm_wake_lock 
+:      010222 app_lpm_wake_auto_lock_timer:
+0x33d6 010223 arg mem_wake_up_delay_timer ,regc 
+0x33d7 010224 arg app_put_lpm_wake_lock ,regb 
+0x33d8 010225 branch timer_single_step 
+:      010227 app_l2cap_flow_control_enable:
+0x33d9 010228 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x33da 010229 rtn 
+:      010231 app_l2cap_flow_control_disable:
+0x33db 010232 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x33dc 010233 rtn 
+:      010235 app_bt_set_pincode:
+0x33dd 010236 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x33de 010237 branch ui_ipc_send_cmd 
+:      010239 app_bt_role_switch:
+0x33df 010240 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x33e0 010241 branch ui_ipc_send_cmd 
+:      010243 app_bt_start_reconnect:
+0x33e1 010244 bpatch patch19_3 ,mem_patch19 
+0x33e2 010245 fetch 1 ,mem_app_connection_options 
+0x33e3 010246 store 1 ,mem_connection_options 
+0x33e4 010247 jam app_flag_reconnect ,mem_reconnect_flag 
+0x33e5 010248 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x33e6 010249 branch ui_ipc_send_cmd 
+:      010251 app_bt_reconnect_cancel:
+0x33e7 010252 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x33e8 010253 branch ui_ipc_send_cmd 
+:      010255 app_bt_disconnect:
+0x33e9 010256 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x33ea 010257 branch ui_ipc_send_cmd 
+:      010259 app_bt_start_discovery_short:
+0x33eb 010260 fetch 2 ,mem_discovery_timeout 
+0x33ec 010261 store 2 ,mem_discovery_timeout_timer_count 
+:      010262 app_bt_start_discovery_led_blink:
+0x33ed 010263 call app_led_start_blink 
+:      010264 app_bt_start_discovery:
+0x33ee 010265 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x33ef 010266 branch ui_ipc_send_cmd 
+:      010268 app_bt_stop_discovery:
+0x33f0 010269 setarg 0 
+0x33f1 010270 store 2 ,mem_discovery_timeout_timer_count 
+0x33f2 010271 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x33f3 010272 branch ui_ipc_send_cmd 
+:      010274 app_ble_start_direct_adv:
+0x33f4 010275 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x33f5 010276 branch ui_ipc_send_cmd 
+:      010278 app_ble_stop_direct_adv:
+0x33f6 010279 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x33f7 010280 branch ui_ipc_send_cmd 
+:      010282 app_ble_stop_adv:
+0x33f8 010283 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x33f9 010284 branch ui_ipc_send_cmd 
+:      010286 app_ble_start_adv:
+0x33fa 010287 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x33fb 010288 branch ui_ipc_send_cmd 
+:      010290 app_ble_start_scan:
+0x33fc 010291 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x33fd 010292 branch ui_ipc_send_cmd 
+:      010294 app_ble_stop_scan:
+0x33fe 010295 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x33ff 010296 branch ui_ipc_send_cmd 
+:      010298 app_ble_start_conn:
+0x3400 010299 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x3401 010300 branch ui_ipc_send_cmd 
+:      010302 app_ble_disconnect:
+0x3402 010303 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x3403 010304 branch ui_ipc_send_cmd 
+:      010306 app_led_start_blink:
+0x3404 010307 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x3405 010308 branch ui_ipc_send_cmd 
+:      010310 app_led_on:
+0x3406 010311 jam bt_cmd_led_on ,mem_fifo_temp 
+0x3407 010312 branch ui_ipc_send_cmd 
+:      010314 app_led_stop_blink:
+:      010315 app_led_off:
+0x3408 010316 jam bt_cmd_led_off ,mem_fifo_temp 
+0x3409 010317 branch ui_ipc_send_cmd 
+:      010319 app_enter_hibernate:
+0x340a 010320 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x340b 010321 branch ui_ipc_send_cmd 
+:      010323 app_bt_sniff_exit:
+0x340c 010324 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x340d 010325 branch ui_ipc_send_cmd 
+:      010327 app_bt_enter_sniff:
+0x340e 010328 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x340f 010329 branch ui_ipc_send_cmd 
+:      010331 app_ble_store_reconn_info:
+0x3410 010332 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x3411 010333 branch ui_ipc_send_cmd 
+:      010335 app_bt_store_reconn_info:
+0x3412 010336 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x3413 010337 branch ui_ipc_send_cmd 
+:      010339 app_store_reconn_info:
+0x3414 010340 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x3415 010341 branch ui_ipc_send_cmd 
+:      010343 app_lpm_mult_enable:
+0x3416 010344 set1 mark_lpm_mult_enable ,mark 
+0x3417 010345 rtn 
+:      010347 app_lpm_mult_disable:
+0x3418 010348 set0 mark_lpm_mult_enable ,mark 
+0x3419 010349 rtn 
+:      010369 app_button_long_pressed:
+0x341a 010370 call app_got_power_state_common 
+0x341b 010371 beq power_standby ,app_power_shutting_down 
+:      010372 app_power_starting:
+0x341c 010373 setarg power_starting 
+0x341d 010374 istore 1 ,regc 
+0x341e 010375 add temp ,power_starting_timeout_offset ,rega 
+0x341f 010376 add temp ,power_starting_cb_offset ,regb 
+:      010377 app_power_common:
+0x3420 010378 ifetcht 1 ,rega 
+0x3421 010379 increase 1 ,regc 
+0x3422 010380 istoret 1 ,regc 
+0x3423 010381 branch app_power_cb_common 
+:      010383 app_power_shutting_down:
+0x3424 010384 setarg power_off 
+0x3425 010385 istore 1 ,regc 
+0x3426 010386 fetch 2 ,mem_ui_state_map 
+0x3427 010387 bbit0 ui_state_ble_connected ,app_power_off_end 
+0x3428 010388 call app_ble_disconnect 
+:      010389 app_power_off_end:
+0x3429 010390 fetcht 2 ,mem_power_param_ptr 
+0x342a 010391 add temp ,power_off_timeout_offset ,rega 
+0x342b 010392 add temp ,power_off_cb_offset ,regb 
+0x342c 010393 branch app_power_common 
+:      010395 app_got_power_state_common:
+0x342d 010396 fetcht 2 ,mem_power_param_ptr 
+0x342e 010397 add temp ,power_state_offset ,regc 
+0x342f 010398 ifetch 1 ,regc 
+0x3430 010399 rtn 
+:      010401 app_event_button_up:
+0x3431 010402 call app_got_power_state_common 
+0x3432 010403 bne power_off ,app_power_release 
+0x3433 010404 branch app_enter_hibernate 
+:      010405 app_power_release:
+0x3434 010406 add temp ,ui_butten_up_cb_offset ,regb 
+0x3435 010407 branch app_power_cb_common 
+:      010409 antilost_init:
+0x3436 010410 rtn wake 
+0x3437 010411 jam 0x00 ,core_gpio_sel1 
+0x3438 010412 setarg antilost_le_before_hibernate 
+0x3439 010413 store 2 ,mem_cb_before_hibernate 
+0x343a 010414 setarg keyscan_process_lpm_before 
+0x343b 010415 store 2 ,mem_cb_before_lpm 
+0x343c 010416 setarg antilost_idle_process 
+0x343d 010417 store 2 ,mem_cb_idle_process 
+0x343e 010418 setarg antilost_le_conn_process 
+0x343f 010419 store 2 ,mem_cb_le_process 
+0x3440 010420 setarg antilost_bb_event_process 
+0x3441 010421 store 2 ,mem_cb_bb_event_process 
+0x3442 010422 setarg antilost_le_bb_event_timer 
+0x3443 010423 store 2 ,mem_cb_event_timer 
+0x3444 010424 setarg antilost_le_notification 
+0x3445 010425 store 2 ,mem_cb_ble_transmit 
+0x3446 010426 setarg antilost_lpm_lock_process 
+0x3447 010427 store 2 ,mem_cb_check_wakelock 
+0x3448 010428 setarg antilost_le_receive_data_process 
+0x3449 010429 store 2 ,mem_cb_att_write 
+0x344a 010430 bpatch patch19_4 ,mem_patch19 
+0x344b 010431 call antilost_buzzer_pwm_init 
+0x344c 010432 call keyscan_key_init 
+0x344d 010433 call antilost_adc_init 
+0x344e 010434 call ui_led_init_global 
+0x344f 010435 call ui_button_init 
+0x3450 010436 setarg antilost_key_up_down 
+0x3451 010437 store 2 ,mem_cb_antl_key 
+0x3452 010438 setarg antilost_power_off_cb 
+0x3453 010439 store 2 ,mem_antl_power_off_cb 
+0x3454 010440 setarg antilost_power_starting_cb 
+0x3455 010441 store 2 ,mem_antl_power_starting_cb 
+0x3456 010442 setarg antilost_power_standby_cb 
+0x3457 010443 store 2 ,mem_antl_power_standby_cb 
+0x3458 010444 setarg antilost_led_on_cb 
+0x3459 010445 store 2 ,mem_antl_led_cb_on 
+0x345a 010446 setarg antilost_led_off_cb 
+0x345b 010447 store 2 ,mem_antl_led_cb_off 
+0x345c 010448 setarg antilost_buzzer_on 
+0x345d 010449 store 2 ,mem_antl_buzzer_cb_on 
+0x345e 010450 setarg antilost_buzzer_off 
+0x345f 010451 store 2 ,mem_antl_buzzer_cb_off 
+0x3460 010452 fetch 2 ,mem_ui_state_map 
+0x3461 010453 rtnbit1 ui_state_btn_down 
+0x3462 010454 branch app_enter_hibernate 
+:      010456 antilost_le_before_hibernate:
+0x3463 010457 call antilost_led_buzzer_stop_blink 
+0x3464 010458 branch app_enter_hibernate 
+:      010460 antilost_le_notification:
+0x3465 010461 call le_fifo_check_nearly_full 
+0x3466 010462 nrtn blank 
+0x3467 010463 arg mem_temp_block5 ,rega 
+0x3468 010464 call queue_pop 
+0x3469 010465 nrtn user 
+0x346a 010466 arg mem_temp_block5 ,contr 
+0x346b 010467 branch le_send_notify_from_list 
+:      010469 antilost_power_standby_cb:
+0x346c 010470 fetch 2 ,mem_antl_le_sleep_timeout 
+0x346d 010471 store 2 ,mem_antl_le_sleep_timer 
+0x346e 010472 jam 1 ,mem_antl_key_scan_enable 
+0x346f 010473 branch antilost_fast_adv_start 
+:      010475 antilost_lpm_lock_process:
+0x3470 010476 fetch 1 ,mem_antl_key_state 
+0x3471 010477 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+0x3472 010478 fetch 2 ,mem_ui_state_map 
+0x3473 010479 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+0x3474 010480 fetch 1 ,mem_antl_lost_mode 
+0x3475 010481 beq 1 ,app_get_lpm_wake_lock 
+0x3476 010482 fetch 1 ,mem_antl_queue_curr_num 
+0x3477 010483 nbranch app_get_lpm_wake_lock ,blank 
+0x3478 010484 branch app_put_lpm_wake_lock 
+:      010486 antilost_lpm_ctrl_for_led_buzzer:
+0x3479 010487 fetch 1 ,mem_antl_led_state 
+0x347a 010488 fetcht 1 ,mem_antl_buzzer_state 
+0x347b 010489 ior temp ,pdata 
+0x347c 010490 beq 1 ,app_get_lpm_wake_lock 
+0x347d 010491 branch app_put_lpm_wake_lock 
+:      010493 antilost_bb_event_process:
+0x347e 010494 copy regc ,pdata 
+0x347f 010495 beq bt_evt_button_up ,app_event_button_up 
+0x3480 010496 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x3481 010497 beq bt_evt_le_connected ,antilost_le_process_conn 
+0x3482 010498 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+0x3483 010499 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+0x3484 010500 rtn 
+:      010501 antilost_le_conn_param_update_rsp_recieved:
+0x3485 010502 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x3486 010503 beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+:      010504 antilost_le_conn_param_accepted:
+0x3487 010505 fetch 2 ,mem_le_new_connslavelatency 
+0x3488 010506 branch antilost_master_nonsupport_latency ,blank 
+:      010507 antilost_le_conn_param_updata_procedure_sucsess:
+0x3489 010508 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+0x348a 010509 jam 60 ,mem_antl_conn_update_timer 
+0x348b 010510 rtn 
+:      010512 antilost_le_conn_param_rejected:
+0x348c 010513 fetch 2 ,mem_le_latency 
+0x348d 010514 branch antilost_conn_param_updata_procedure_faild ,blank 
+:      010515 antilost_conn_param_retransimiting:
+0x348e 010516 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x348f 010517 fetcht 2 ,mem_interval_increment 
+0x3490 010518 fetch 2 ,mem_le_interval_min 
+0x3491 010519 iadd temp ,pdata 
+0x3492 010520 store 2 ,mem_le_interval_min 
+0x3493 010521 copy pdata ,rega 
+0x3494 010522 fetch 2 ,mem_le_interval_max 
+0x3495 010523 iadd temp ,pdata 
+0x3496 010524 store 2 ,mem_le_interval_max 
+0x3497 010525 iadd rega ,pdata 
+0x3498 010526 rshift pdata ,temp 
+0x3499 010527 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x349a 010528 idiv temp 
+0x349b 010529 call wait_div_end 
+0x349c 010530 quotient pdata 
+0x349d 010531 store 2 ,mem_le_latency 
+0x349e 010532 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x349f 010533 rtn 
+:      010534 antilost_conn_param_updata_procedure_faild:
+0x34a0 010535 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+0x34a1 010536 rtn 
+:      010538 antilost_master_nonsupport_latency:
+0x34a2 010539 jam 0 ,mem_lpm_mult 
+0x34a3 010540 jam 0 ,mem_antl_send_updata_le_param_timer 
+0x34a4 010541 fetch 2 ,mem_le_new_conninterval 
+0x34a5 010542 fetcht 2 ,mem_antl_le_unnormal_interval_min 
+0x34a6 010543 isub temp ,null 
+0x34a7 010544 setflag positive ,0 ,rega 
+0x34a8 010545 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x34a9 010546 fetcht 2 ,mem_le_new_conninterval 
+0x34aa 010547 isub temp ,pdata 
+0x34ab 010548 setflag positive ,1 ,rega 
+0x34ac 010549 compare 0x03 ,rega ,0x03 
+0x34ad 010550 rtn true 
+0x34ae 010551 fetch 8 ,mem_antl_le_unnormal_interval_min 
+0x34af 010552 store 8 ,mem_le_interval_min 
+0x34b0 010553 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34b1 010554 rtn 
+:      010557 antilost_le_bb_event_timer:
+0x34b2 010559 call app_power_timer 
+0x34b3 010560 call antilost_double_click_timer 
+0x34b4 010561 call antilost_le_fast_adv_timer 
+0x34b5 010562 call antilost_le_sleep_timer 
+0x34b6 010563 call antilost_app_updata_le_param_timer 
+0x34b7 010564 call antilost_conn_update_timer 
+0x34b8 010565 branch antilost_adc_check_timer 
+:      010568 antilost_double_click_timer:
+0x34b9 010569 arg mem_double_click_timer ,regc 
+0x34ba 010570 arg antilost_double_click_timeout ,regb 
+0x34bb 010571 branch timer_single_step 
+:      010572 antilost_double_click_timeout:
+0x34bc 010573 jam 0 ,mem_butten_click_cnt 
+0x34bd 010574 rtn 
+:      010575 antilost_le_fast_adv_timer:
+0x34be 010576 arg mem_antl_fast_adv_timer ,regc 
+0x34bf 010577 arg antilost_le_fast_adv_timeout ,regb 
+0x34c0 010578 branch timer_single_step_2b 
+:      010579 antilost_le_fast_adv_timeout:
+0x34c1 010580 arg mem_antl_slow_adv_led_style ,regc 
+0x34c2 010581 arg mem_antl_slow_adv_lpm_interval ,regb 
+0x34c3 010582 branch antilost_adv_start_common 
+:      010585 antilost_conn_update_timer:
+0x34c4 010586 arg mem_antl_conn_update_timer ,regc 
+0x34c5 010587 arg antilost_conn_update_timer_time_out ,regb 
+0x34c6 010588 branch timer_single_step 
+:      010590 antilost_conn_update_timer_time_out:
+0x34c7 010591 fetch 2 ,mem_le_latency 
+0x34c8 010592 store 1 ,mem_lpm_mult 
+0x34c9 010593 rtn 
+:      010594 antilost_app_updata_le_param_timer:
+0x34ca 010595 arg mem_antl_send_updata_le_param_timer ,regc 
+0x34cb 010596 arg antilost_app_updata_le_param_timeout ,regb 
+0x34cc 010597 branch timer_single_step 
+:      010598 antilost_app_updata_le_param_timeout:
+0x34cd 010599 fetch 1 ,mem_le_state 
+0x34ce 010600 compare 0 ,pdata ,0x60 
+0x34cf 010601 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+0x34d0 010602 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x34d1 010603 call app_lpm_mult_enable 
+0x34d2 010604 branch le_l2cap_tx_update_req 
+:      010605 antilost_wait_for_updata_param_instant_expire:
+0x34d3 010606 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34d4 010607 rtn 
+:      010609 antilost_le_sleep_timer:
+0x34d5 010610 arg mem_antl_le_sleep_timer ,regc 
+0x34d6 010611 arg antilost_le_sleep_timer_timeout ,regb 
+0x34d7 010612 branch timer_single_step_2b 
+:      010615 antilost_le_sleep_timer_timeout:
+0x34d8 010616 branch app_button_long_pressed 
+:      010618 antilost_adc_check_timer:
+0x34d9 010621 arg mem_adc_timer ,regc 
+0x34da 010622 arg antilost_adc_check_timer_timeout ,regb 
+0x34db 010623 branch timer_single_step_2b 
+:      010624 antilost_adc_check_timer_timeout:
+0x34dc 010625 fetch 2 ,mem_adc_timeout 
+0x34dd 010626 store 2 ,mem_adc_timer 
+0x34de 010627 branch antilost_battery_process 
+:      010630 antilost_le_process_conn:
+0x34df 010631 fetch 2 ,mem_adc_timeout 
+0x34e0 010632 store 2 ,mem_adc_timer 
+0x34e1 010633 setarg 0 
+0x34e2 010634 store 2 ,mem_antl_fast_adv_timer 
+0x34e3 010635 store 2 ,mem_antl_le_sleep_timer 
+0x34e4 010636 call antilost_alert_off 
+0x34e5 010637 call antilost_led_buzzer_stop_blink 
+0x34e6 010638 jam 0 ,mem_lpm_mult 
+0x34e7 010639 branch app_ble_stop_adv 
+:      010642 antilost_le_process_discon:
+0x34e8 010645 setarg 0 
+0x34e9 010646 store 4 ,mem_adc_timer 
+0x34ea 010647 store 3 ,mem_antl_conn_updata_procedure_state 
+0x34eb 010648 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x34ec 010650 jam 1 ,mem_alarm_config_notfy_cnt 
+0x34ed 010651 fetch 2 ,mem_antl_le_sleep_timeout 
+0x34ee 010652 store 2 ,mem_antl_le_sleep_timer 
+0x34ef 010653 call queue_init 
+0x34f0 010654 fetch 1 ,mem_antl_power_state 
+0x34f1 010655 rtneq power_off 
+0x34f2 010656 call antilost_fast_adv_start 
+0x34f3 010657 branch antilost_on_off_alarm_after_disconn 
+:      010660 antilost_le_conn_process:
+0x34f4 010662 branch antilost_key_process 
+:      010664 antilost_idle_process:
+0x34f5 010666 fetch 1 ,mem_antl_power_state 
+0x34f6 010667 rtnne power_standby 
+0x34f7 010668 branch antilost_key_process 
+:      010673 antilost_power_starting_cb:
+0x34f8 010674 arg mem_antl_power_starting_buzzer_style ,regc 
+0x34f9 010675 call antilost_buzzer_configuration 
+0x34fa 010676 arg mem_antl_power_starting_led_style ,regc 
+:      010677 antilost_power_common:
+0x34fb 010678 branch antilost_led_configuration 
+:      010680 antilost_power_off_cb:
+0x34fc 010681 jam off ,mem_le_adv_enable 
+0x34fd 010682 arg mem_antl_power_off_buzzer_style ,regc 
+0x34fe 010683 call antilost_buzzer_configuration 
+0x34ff 010684 arg mem_antl_power_off_led_style ,regc 
+0x3500 010685 branch antilost_power_common 
+:      010687 antilost_le_receive_data_process:
+0x3501 010688 fetch 1 ,mem_le_att_opcode 
+0x3502 010689 beq attop_write_request ,antilost_le_parse_att_write_request 
+0x3503 010690 rtn 
+:      010691 antilost_le_parse_att_write_request:
+0x3504 010692 fetch 2 ,mem_le_att_handle 
+0x3505 010694 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+0x3506 010695 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+0x3507 010696 rtn 
+:      010701 antilost_key_process:
+0x3508 010702 fetch 1 ,mem_antl_key_scan_enable 
+0x3509 010703 rtn blank 
+0x350a 010704 branch keyscan_key_process 
+:      010708 antilost_key_up_down:
+0x350b 010709 copy rega ,pdata 
+0x350c 010710 branch antilost_key_is_up ,blank 
+:      010711 antilost_key_is_down:
+0x350d 010712 copy queue ,pdata 
+0x350e 010713 beq 0 ,antilost_key0_down 
+0x350f 010714 rtn 
+:      010715 antilost_key_is_up:
+0x3510 010716 copy queue ,pdata 
+0x3511 010717 beq 0 ,antilost_key0_up 
+0x3512 010718 rtn 
+:      010720 antilost_key0_down:
+0x3513 010721 jam 1 ,mem_antl_key_state 
+0x3514 010722 arg mem_antl_key_buzzer_style ,regc 
+0x3515 010723 call antilost_buzzer_configuration 
+0x3516 010724 arg mem_antl_key_led_style ,regc 
+0x3517 010725 call antilost_led_configuration 
+0x3518 010726 fetch 2 ,mem_ui_state_map 
+0x3519 010727 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+0x351a 010728 branch antilost_butten_down_after_conn 
+:      010730 antilost_key0_up:
+0x351b 010731 jam 0 ,mem_antl_key_state 
+0x351c 010732 branch antilost_double_click_timer_init 
+:      010736 antilost_double_click_timer_init:
+0x351d 010737 fetch 1 ,mem_butten_click_cnt 
+0x351e 010738 rtnne 1 
+0x351f 010739 jam 5 ,mem_double_click_timer 
+0x3520 010740 rtn 
+:      010742 antilost_butten_down_after_conn:
+0x3521 010743 fetch 1 ,mem_butten_click_cnt 
+0x3522 010744 pincrease 1 
+0x3523 010745 store 1 ,mem_butten_click_cnt 
+0x3524 010746 beq 1 ,antilost_click_once 
+0x3525 010747 beq 2 ,antilost_click_twice 
+0x3526 010748 rtn 
+:      010749 antilost_click_once:
+0x3527 010750 call antilost_alert_off 
+0x3528 010751 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+0x3529 010752 arg mem_antl_key0_press ,regc 
+0x352a 010753 branch antilost_prepare_data_and_send 
+:      010754 antilost_click_twice:
+0x352b 010755 jam 0 ,mem_butten_click_cnt 
+0x352c 010756 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+0x352d 010757 arg mem_antl_key0_press ,regc 
+0x352e 010758 call antilost_prepare_data_and_send 
+0x352f 010759 fetch 1 ,mem_antl_lost_mode 
+0x3530 010760 beq 1 ,antilost_alert_on 
+0x3531 010761 rtn 
+:      010763 antilost_butten_down_while_disconn:
+0x3532 010764 fetch 2 ,mem_antl_le_sleep_timeout 
+0x3533 010765 store 2 ,mem_antl_le_sleep_timer 
+0x3534 010766 call antilost_alert_off 
+0x3535 010767 branch antilost_fast_adv_start 
+:      010770 antilost_cmd_parse_for_application:
+0x3536 010771 bpatch patch19_5 ,mem_patch19 
+0x3537 010772 call le_app_receive_data 
+0x3538 010773 ifetch 1 ,rega 
+0x3539 010774 beq opcode3_antl_start_alram ,antilost_on_of_alram 
+0x353a 010775 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+0x353b 010776 rtn 
+:      010778 antilost_on_of_alram:
+0x353c 010779 fetch 1 ,mem_antl_lost_mode 
+0x353d 010780 beq anti_le_alarm_off ,antilost_alert_on 
+0x353e 010781 beq anti_le_alarm_on ,antilost_alert_off 
+0x353f 010782 rtn 
+:      010784 antilost_configuration_for_alram:
+0x3540 010785 ifetch 1 ,regb 
+0x3541 010786 beq 1 ,antilost_set_start_alarm_after_disconn 
+0x3542 010787 beq 0 ,antilost_set_no_alarm_after_disconn 
+0x3543 010788 rtn 
+:      010795 antilost_prepare_data_and_send:
+0x3544 010796 bpatch patch19_6 ,mem_patch19 
+0x3545 010797 fetch 1 ,mem_client_characteristic_configuration_descriptor 
+0x3546 010798 isolate1 notification_enable_bit ,pdata 
+0x3547 010799 nrtn true 
+0x3548 010800 add regc ,6 ,contr 
+0x3549 010801 ifetch 2 ,contr 
+0x354a 010802 byteswap pdata ,pdata 
+0x354b 010803 add pdata ,5 ,loopcnt 
+0x354c 010804 add regc ,3 ,contr 
+0x354d 010805 call calc_check_sum_start 
+0x354e 010806 istore 1 ,contr 
+0x354f 010807 copy regc ,rega 
+0x3550 010808 branch queue_push 
+:      010814 antilost_alert_on:
+0x3551 010815 fetch 1 ,mem_antl_power_state 
+0x3552 010816 rtn blank 
+0x3553 010817 jam 1 ,mem_antl_lost_mode 
+0x3554 010818 arg mem_antl_alert_buzzer_stlye ,regc 
+0x3555 010819 call antilost_buzzer_configuration 
+0x3556 010820 arg mem_antl_alert_led_stlye ,regc 
+0x3557 010821 call antilost_led_configuration 
+0x3558 010822 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3559 010823 jam 1 ,mem_antl_key0_release + 8 
+0x355a 010824 arg mem_antl_key0_release ,regc 
+0x355b 010825 branch antilost_prepare_data_and_send 
+:      010826 antilost_alert_off:
+0x355c 010827 fetch 1 ,mem_antl_lost_mode 
+0x355d 010828 rtn blank 
+0x355e 010829 jam 0 ,mem_antl_lost_mode 
+0x355f 010830 call antilost_led_buzzer_stop_blink 
+0x3560 010831 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3561 010832 jam 0 ,mem_antl_key0_release + 8 
+0x3562 010833 arg mem_antl_key0_release ,regc 
+0x3563 010834 branch antilost_prepare_data_and_send 
+:      010836 antilost_set_start_alarm_after_disconn:
+0x3564 010837 jam 1 ,mem_alarm_config 
+0x3565 010838 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x3566 010839 jam 1 ,mem_antl_key0_release + 8 
+0x3567 010840 arg mem_antl_key0_release ,regc 
+0x3568 010841 branch antilost_prepare_data_and_send 
+:      010842 antilost_set_no_alarm_after_disconn:
+0x3569 010843 jam 0 ,mem_alarm_config 
+0x356a 010844 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x356b 010845 jam 0 ,mem_antl_key0_release + 8 
+0x356c 010846 arg mem_antl_key0_release ,regc 
+0x356d 010847 branch antilost_prepare_data_and_send 
+:      010848 antilost_on_off_alarm_after_disconn:
+0x356e 010849 fetch 1 ,mem_alarm_config 
+0x356f 010850 rtn blank 
+0x3570 010851 branch antilost_alert_on 
+:      010853 antilost_notify_alarm_config_first_time:
+0x3571 010854 ifetch 2 ,rega 
+0x3572 010855 store 2 ,mem_client_characteristic_configuration_descriptor 
+0x3573 010856 isolate1 notification_enable_bit ,pdata 
+0x3574 010857 nrtn true 
+0x3575 010858 fetch 1 ,mem_alarm_config_notfy_cnt 
+0x3576 010859 rtn blank 
+0x3577 010860 jam 0 ,mem_alarm_config_notfy_cnt 
+0x3578 010861 fetch 8 ,mem_antl_le_interval_min 
+0x3579 010862 store 8 ,mem_le_interval_min 
+0x357a 010863 jam 2 ,mem_antl_send_updata_le_param_timer 
+0x357b 010864 call antilost_battery_process 
+0x357c 010865 call antilost_battery_calculate_end 
+0x357d 010866 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x357e 010867 fetch 1 ,mem_alarm_config 
+0x357f 010868 store 1 ,mem_antl_key0_release + 8 
+0x3580 010869 arg mem_antl_key0_release ,regc 
+0x3581 010870 branch antilost_prepare_data_and_send 
+:      010874 antilost_buzzer_configuration:
+0x3582 010875 arg 1 ,rega 
+0x3583 010876 branch antilost_configuration_common 
+:      010877 antilost_led_configuration:
+0x3584 010878 arg 0 ,rega 
+:      010879 antilost_configuration_common:
+0x3585 010880 branch antilost_led_buzzer_style_configuration 
+:      010882 antilost_led_buzzer_stop_blink:
+0x3586 010883 arg 0 ,rega 
+0x3587 010884 call ui_led_blink_stop_global 
+0x3588 010885 arg 1 ,rega 
+0x3589 010886 call ui_led_blink_stop_global 
+0x358a 010887 fetch 1 ,mem_buzzer_pwm_conf 
+0x358b 010888 branch pwm_disable 
+:      010890 antilost_led_buzzer_style_configuration:
+0x358c 010891 call calc_curr_struct_prt 
+0x358d 010892 arg 7 ,loopcnt 
+0x358e 010893 branch ui_led_set_style_global + 2 
+:      010897 antilost_fast_adv_start:
+0x358f 010898 arg mem_antl_fast_adv_led_style ,regc 
+0x3590 010899 arg mem_antl_lpm_interval ,regb 
+:      010900 antilost_adv_start_common:
+0x3591 010901 call antilost_adv_interval_lpm_interval_set 
+0x3592 010902 call antilost_led_configuration 
+0x3593 010903 fetch 2 ,mem_antl_fast_adv_timeout 
+0x3594 010904 store 2 ,mem_antl_fast_adv_timer 
+0x3595 010905 branch app_ble_start_adv 
+:      010907 antilost_adv_interval_lpm_interval_set:
+0x3596 010908 ifetch 2 ,regb 
+0x3597 010909 store 2 ,mem_lpm_interval 
+0x3598 010910 ifetch 2 ,contr 
+0x3599 010911 store 2 ,mem_le_adv_interval 
+0x359a 010912 rtn 
+:      010914 antilost_buzzer_pwm_init:
+0x359b 010915 arg 0 ,rega 
+0x359c 010916 call pwm_init 
+0x359d 010917 fetch 6 ,mem_buzzer_pwm_conf 
+0x359e 010918 store 6 ,mem_pdatatemp 
+0x359f 010919 call pwm_out_set 
+0x35a0 010920 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a1 010921 branch pwm_disable 
+:      010923 antilost_led_on_cb:
+0x35a2 010924 jam 1 ,mem_antl_led_state 
+0x35a3 010925 rtn 
+:      010926 antilost_led_off_cb:
+0x35a4 010927 jam 0 ,mem_antl_led_state 
+0x35a5 010928 rtn 
+:      010932 antilost_buzzer_off:
+0x35a6 010933 jam 0 ,mem_antl_buzzer_state 
+0x35a7 010934 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a8 010935 branch pwm_disable 
+:      010937 antilost_buzzer_on:
+0x35a9 010938 jam 1 ,mem_antl_buzzer_state 
+0x35aa 010939 fetch 6 ,mem_buzzer_pwm_conf 
+0x35ab 010940 store 6 ,mem_pdatatemp 
+0x35ac 010941 branch pwm_out_set 
+:      010945 antilost_adc_init:
+0x35ad 010946 jam 0 ,mem_adc_config_flag 
+0x35ae 010947 branch adc_init_data 
+:      010949 antilost_battery_process:
+0x35af 010950 call adc_set_mode 
+0x35b0 010951 call vdd_calculate_by_mode 
+0x35b1 010952 store 2 ,mem_battery_current_voltage 
+0x35b2 010953 arg mem_battery_calculate_set ,rega 
+0x35b3 010954 call adc_bat_percent_lowpower_out 
+0x35b4 010955 store 1 ,mem_voltage_remain_percent 
+0x35b5 010956 beq 0 ,antilost_low_battery 
+0x35b6 010957 sub pdata ,0x64 ,null 
+0x35b7 010958 nbranch antilost_full_battery ,positive 
+0x35b8 010959 store 1 ,mem_antl_key0_release + 8 
+:      010960 antilost_battery_calculate_end:
+0x35b9 010961 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+0x35ba 010962 arg mem_antl_key0_release ,regc 
+0x35bb 010963 branch antilost_prepare_data_and_send 
+:      010964 antilost_full_battery:
+0x35bc 010965 jam 100 ,mem_antl_key0_release + 8 
+0x35bd 010966 branch antilost_battery_calculate_end 
+:      010968 antilost_low_battery:
+0x35be 010969 branch app_button_long_pressed 
+:      010973 car_init:
+0x35bf 010974 rtn wake 
+0x35c0 010975 hfetch 1 ,core_gpio_sel1 
+0x35c1 010976 and_into 0xf0 ,pdata 
+0x35c2 010977 hstore 1 ,core_gpio_sel1 
+0x35c3 010978 setarg car_le_before_hibernate 
+0x35c4 010979 store 2 ,mem_cb_before_hibernate 
+0x35c5 010981 setarg car_le_process_lpm_before 
+0x35c6 010982 store 2 ,mem_cb_before_lpm 
+0x35c7 010984 setarg app_enter_hibernate 
+0x35c8 010985 store 2 ,mem_cb_discovry_timeout 
+0x35c9 010987 setarg car_scale_process_idle 
+0x35ca 010988 store 2 ,mem_cb_idle_process 
+0x35cb 010990 setarg car_scale_process_bb_event 
+0x35cc 010991 store 2 ,mem_cb_bb_event_process 
+0x35cd 010993 setarg app_get_lpm_wake_lock 
+0x35ce 010994 store 2 ,mem_cb_check_wakelock 
+0x35cf 010996 setarg car_le_receive_data 
+0x35d0 010997 store 2 ,mem_cb_att_write 
+0x35d1 010999 setarg car_le_bb_event_timer 
+0x35d2 011000 store 2 ,mem_cb_event_timer 
+0x35d3 011002 call g24_head_ptr2regc 
+0x35d4 011003 setarg car_24g_receive_data 
+0x35d5 011004 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x35d6 011005 istore 2 ,contw 
+0x35d7 011007 setarg car_power_off_signal 
+0x35d8 011008 store 2 ,mem_remote_car_power_off_cb 
+0x35d9 011010 setarg car_soft_switch_power_on_signal 
+0x35da 011011 store 2 ,mem_remote_car_power_standby_cb 
+0x35db 011013 bpatch patch19_7 ,mem_patch19 
+0x35dc 011014 call car_init_environment 
+0x35dd 011015 call queue_init 
+0x35de 011016 jam 2 ,mem_lpm_mult 
+0x35df 011017 jam power_on ,mem_car_24g_received_pac 
+0x35e0 011018 fetch 1 ,mem_car_config_soft_switch_enable 
+0x35e1 011019 store 1 ,mem_car_hard_soft_switch 
+0x35e2 011020 beq hard_switch ,car_hard_switch_power_on_signal 
+0x35e3 011021 fetch 1 ,mem_car_config_soft_switch_gpio 
+0x35e4 011022 store 1 ,mem_ui_button_gpio 
+0x35e5 011023 jam off ,mem_le_adv_enable 
+:      011024 car_soft_switch_power_on_init:
+0x35e6 011025 call car_ui_led_init 
+0x35e7 011026 call ui_button_init 
+0x35e8 011027 call ui_button_polling 
+0x35e9 011028 jam power_starting ,mem_car_power_state 
+0x35ea 011029 fetch 2 ,mem_ui_state_map 
+0x35eb 011030 rtnbit1 ui_state_btn_down 
+0x35ec 011031 branch app_enter_hibernate 
+:      011033 car_power_off_signal:
+0x35ed 011034 branch car_ui_led_init 
+:      011036 car_hard_switch_power_on_signal:
+0x35ee 011037 jam power_standby ,mem_car_power_state 
+:      011038 car_soft_switch_power_on_signal:
+0x35ef 011039 jam on ,mem_le_adv_enable 
+0x35f0 011040 call car_ui_led_init 
+0x35f1 011041 arg 0 ,rega 
+0x35f2 011042 call ui_led_blink_start_global 
+0x35f3 011044 setarg fast_adv_interval_value_car 
+0x35f4 011045 call shutter_ble_adv_interval_set 
+:      011046 car_le_modified_name_adv:
+0x35f5 011047 arg mem_le_name + 7 ,contw 
+0x35f6 011048 fetch 1 ,mem_le_lap 
+:      011049 car_name_loop:
+0x35f7 011050 and pdata ,0xF0 ,temp 
+0x35f8 011051 rshift4 temp ,temp 
+0x35f9 011052 call car_hex_to_ascii 
+0x35fa 011053 istoret 1 ,contw 
+0x35fb 011054 and pdata ,0x0F ,temp 
+0x35fc 011055 call car_hex_to_ascii 
+0x35fd 011056 istoret 1 ,contw 
+0x35fe 011057 call le_modified_name_att_list 
+0x35ff 011058 fetcht 1 ,mem_le_name_len 
+0x3600 011059 copy temp ,loopcnt 
+0x3601 011060 arg mem_le_adv_data + 2 ,contw 
+0x3602 011061 arg mem_le_name ,contr 
+0x3603 011062 call memcpy 
+:      011063 car_le_modified_name_scan:
+0x3604 011064 fetcht 1 ,mem_le_name_len 
+0x3605 011065 copy temp ,loopcnt 
+0x3606 011066 arg mem_le_scan_data + 2 ,contw 
+0x3607 011067 arg mem_le_name ,contr 
+0x3608 011068 branch memcpy 
+:      011069 car_hex_to_ascii:
+0x3609 011070 sub temp ,9 ,null 
+0x360a 011071 branch car_hex_num ,positive 
+0x360b 011072 add temp ,55 ,temp 
+0x360c 011073 rtn 
+:      011074 car_hex_num:
+0x360d 011075 add temp ,48 ,temp 
+0x360e 011076 rtn 
+:      011078 car_ui_led_init:
+0x360f 011079 fetch 1 ,mem_car_config_blood_led1_gpio 
+0x3610 011080 bne invalid_pin_num ,car_blood_led_gpio_set 
+:      011081 car_ui_led_init_1:
+0x3611 011082 fetch 1 ,mem_car_config_pairing_led_gpio 
+0x3612 011083 bne invalid_pin_num ,car_pairing_led_gpio_set 
+:      011084 car_ui_led_init_2:
+0x3613 011085 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x3614 011086 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+:      011087 car_ui_led_init_3:
+0x3615 011088 fetch 1 ,mem_car_led_num 
+0x3616 011089 copy pdata ,loopcnt 
+0x3617 011090 setarg mem_car_led_map 
+0x3618 011091 copy pdata ,rega 
+:      011092 car_in_lp1:
+0x3619 011093 copy rega ,contr 
+0x361a 011094 ifetch 1 ,contr 
+0x361b 011095 copy contr ,rega 
+0x361c 011096 beq invalid_pin_num ,car_in_lp1_end 
+0x361d 011097 copy pdata ,temp 
+0x361e 011098 call gpio_config_output 
+:      011099 car_in_lp1_end:
+0x361f 011100 loop car_in_lp1 
+:      011101 car_ui_led_init_end:
+0x3620 011102 rtn 
+:      011103 car_blood_led_gpio_set:
+0x3621 011104 fetch 8 ,mem_car_config_blood_led1_gpio 
+0x3622 011105 store 8 ,mem_car_led_map + 2 
+0x3623 011106 branch car_ui_led_init_1 
+:      011107 car_pairing_led_gpio_set:
+0x3624 011108 store 1 ,mem_car_led_map 
+0x3625 011109 branch car_ui_led_init_2 
+:      011110 car_low_voltage_led_gpio_set:
+0x3626 011111 store 1 ,mem_car_led_map + 1 
+0x3627 011112 branch car_ui_led_init_3 
+:      011115 car_init_environment:
+0x3628 011116 arg 0 ,rega 
+0x3629 011117 call pwm_init 
+0x362a 011118 call car_ir_rx_init 
+0x362b 011119 call g24_receive_process_init 
+0x362c 011120 branch car_init_adc_hvin 
+:      011122 car_init_adc_hvin:
+0x362d 011123 jam 100 ,mem_car_notify_vdd_value_last 
+0x362e 011124 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x362f 011125 store 1 ,mem_car_style2_struct_led_gpio 
+0x3630 011126 branch adc_init_data 
+:      011128 car_le_before_hibernate:
+0x3631 011129 call gpio_set_before_lpm_common 
+0x3632 011130 branch keyscan_process_lpm_before 
+:      011132 car_le_process_lpm_before:
+0x3633 011133 branch keyscan_process_lpm_before 
+:      011135 car_key_scan_process:
+0x3634 011138 branch keyscan_key_process 
+:      011140 car_scale_process_idle:
+0x3635 011141 call car_le_send_packet 
+0x3636 011142 call car_ir_receive_process 
+0x3637 011143 call car_g24_status_process 
+0x3638 011144 branch car_key_scan_process 
+:      011146 car_g24_status_process:
+0x3639 011147 fetch 2 ,mem_ui_state_map 
+0x363a 011148 rtnbit1 ui_state_ble_connected 
+0x363b 011149 fetch 1 ,mem_car_24g_received_pac 
+0x363c 011150 beq work_paired ,car_g24_connected_event 
+0x363d 011151 rtn 
+:      011152 car_g24_connected_event:
+0x363e 011153 fetch 1 ,mem_car_24g_status 
+0x363f 011154 rtneq work_paired 
+0x3640 011155 jam work_paired ,mem_car_24g_status 
+0x3641 011156 branch car_g24_connected 
+:      011158 car_le_send_packet:
+0x3642 011159 fetch 2 ,mem_ui_state_map 
+0x3643 011160 rtnbit0 ui_state_ble_connected 
+0x3644 011161 call le_fifo_check_nearly_full 
+0x3645 011162 nrtn blank 
+0x3646 011163 arg mem_car_pop_queue_buff ,rega 
+0x3647 011164 call queue_pop 
+0x3648 011165 nrtn user 
+0x3649 011166 arg mem_car_pop_queue_buff ,contr 
+0x364a 011167 branch le_send_notify_from_list 
+:      011169 car_scale_process_bb_event:
+0x364b 011170 copy regc ,pdata 
+0x364c 011171 beq bt_evt_button_up ,app_event_button_up 
+0x364d 011172 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x364e 011173 beq bt_evt_le_connected ,car_scale_event_le_conn 
+0x364f 011174 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+0x3650 011175 rtn 
+:      011177 car_scale_event_le_conn:
+0x3651 011178 setarg disable_24g 
+0x3652 011179 call g24_store_mem_24g_mode 
+0x3653 011180 branch car_scale_process_conn 
+:      011181 car_g24_connected:
+0x3654 011182 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3655 011183 store 2 ,mem_car_24g_no_data_timeout_timer 
+:      011184 car_scale_process_conn:
+0x3656 011185 jam 0x14 ,mem_car_notify_vdd_timer 
+0x3657 011186 jam 0 ,mem_lpm_mode 
+0x3658 011187 call app_ble_stop_adv 
+0x3659 011188 call app_lpm_mult_enable 
+0x365a 011189 fetch 1 ,mem_car_config_pairing_led_conn_status 
+0x365b 011190 beq 0x01 ,car_pairing_led_conn_status_setting 
+:      011191 car_scale_process_conn_next:
+0x365c 011192 arg 0 ,rega 
+0x365d 011193 branch ui_led_on_global 
+:      011194 car_pairing_led_conn_status_setting:
+0x365e 011195 arg 0 ,rega 
+0x365f 011196 branch ui_led_blink_stop_global 
+:      011198 car_scale_event_le_discon:
+0x3660 011199 setarg rx_24g 
+0x3661 011200 call g24_store_mem_24g_mode 
+:      011201 car_g24_disconnect:
+0x3662 011202 setarg 0 
+0x3663 011203 store 5 ,mem_car_led_control 
+0x3664 011204 setarg 4 
+0x3665 011205 call pwm_disable 
+0x3666 011206 setarg 5 
+0x3667 011207 call pwm_disable 
+0x3668 011208 setarg 20 
+0x3669 011209 call pwm_disable 
+0x366a 011210 setarg 21 
+0x366b 011211 call pwm_disable 
+0x366c 011212 setarg 22 
+0x366d 011213 call pwm_disable 
+0x366e 011214 setarg 7 
+0x366f 011215 call pwm_disable 
+0x3670 011216 call queue_init 
+0x3671 011217 jam 10 ,mem_motor1_speed 
+0x3672 011218 jam 10 ,mem_motor2_speed 
+0x3673 011219 jam 10 ,mem_motor3_speed 
+0x3674 011221 jam 2 ,mem_lpm_mult 
+0x3675 011222 arg 0 ,rega 
+0x3676 011223 call ui_led_blink_start_global 
+0x3677 011225 setarg fast_adv_interval_value_car 
+0x3678 011226 call shutter_ble_adv_interval_set 
+0x3679 011227 branch app_ble_start_adv 
+:      011229 car_le_bb_event_timer:
+0x367a 011231 call car_moto1_blank_data_timer 
+0x367b 011232 call car_moto2_blank_data_timer 
+0x367c 011233 call car_moto3_blank_data_timer 
+0x367d 011234 call app_power_timer 
+0x367e 011235 call car_led_control_timer 
+0x367f 011236 call car_notify_vdd_timer 
+0x3680 011237 call car_24g_no_data_timeout_timer 
+0x3681 011238 call car_ir_breakdown_timer 
+0x3682 011239 branch car_attack_shake_timer 
+:      011241 car_ir_breakdown_timer:
+0x3683 011242 arg mem_car_ir_breakdown_check_timer ,regc 
+0x3684 011243 arg car_ir_breakdown_timeout ,regb 
+0x3685 011244 branch timer_single_step 
+:      011245 car_ir_breakdown_timeout:
+0x3686 011246 call car_ir_gpio_get_status 
+0x3687 011247 nrtn true 
+0x3688 011248 jam 1 ,mem_car_ir_breakdown_flag 
+0x3689 011249 rtn 
+:      011251 car_24g_no_data_timeout_timer:
+0x368a 011252 arg mem_car_24g_no_data_timeout_timer ,regc 
+0x368b 011253 arg car_24g_no_data_timer_timeout ,regb 
+0x368c 011254 branch timer_single_step_2b 
+:      011255 car_24g_no_data_timer_timeout:
+0x368d 011256 jam work_search ,mem_car_24g_status 
+0x368e 011257 branch car_g24_disconnect 
+:      011259 car_attack_shake_timer:
+0x368f 011260 arg mem_car_attack_shake_timer ,regc 
+0x3690 011261 arg car_attack_shake ,regb 
+0x3691 011262 branch timer_single_step 
+:      011263 car_attack_shake:
+0x3692 011264 fetch 1 ,mem_car_attack_shake_flag 
+0x3693 011265 branch car_attack_shake_stop ,blank 
+0x3694 011266 jam 2 ,mem_car_attack_shake_timer 
+0x3695 011267 jam 0 ,mem_car_attack_shake_flag 
+0x3696 011268 setarg 0x0a02 
+0x3697 011269 store 2 ,mem_le_receive_payload 
+0x3698 011270 fetch 1 ,mem_car_config_device_select 
+0x3699 011271 beq device_battle_tank ,car_attack_shake_front_battle_tank 
+:      011272 car_attack_shake_front_battle_car:
+0x369a 011273 branch car_motor_control 
+:      011274 car_attack_shake_front_battle_tank:
+0x369b 011275 setarg 0x0a02 
+0x369c 011276 store 2 ,mem_le_receive_payload + 2 
+0x369d 011277 branch car_motor_control 
+:      011278 car_attack_shake_stop:
+0x369e 011279 setarg 0 
+0x369f 011280 store 4 ,mem_le_receive_payload 
+0x36a0 011281 branch car_motor_control 
+:      011283 car_notify_vdd_timer:
+0x36a1 011284 fetch 1 ,mem_car_config_bat_notify_enable 
+0x36a2 011285 rtn blank 
+0x36a3 011286 fetch 2 ,mem_ui_state_map 
+0x36a4 011287 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+0x36a5 011288 arg mem_car_notify_vdd_timer ,regc 
+0x36a6 011289 arg car_notify_vdd ,regb 
+0x36a7 011290 branch timer_single_step 
+:      011291 car_notify_vdd:
+0x36a8 011292 fetch 1 ,mem_car_notify_vdd_count 
+0x36a9 011293 store 1 ,mem_car_notify_vdd_timer 
+0x36aa 011294 fetch 1 ,mem_car_working_flag 
+0x36ab 011295 nrtn blank 
+:      011296 car_read_hvin:
+0x36ac 011297 call adc_set_mode 
+0x36ad 011298 call vdd_calculate_by_mode 
+0x36ae 011299 store 2 ,mem_vdd_now_vol 
+0x36af 011300 arg mem_vdd_calculate_set ,rega 
+0x36b0 011301 call adc_bat_percent_lowpower_out 
+0x36b1 011302 fetcht 1 ,mem_car_notify_vdd_value_last 
+0x36b2 011303 isub temp ,null 
+0x36b3 011304 branch car_notify_vdd_next2 ,positive 
+0x36b4 011305 store 1 ,mem_car_notify_vdd_value_last 
+0x36b5 011306 copy pdata ,temp 
+:      011307 car_notify_vdd_next2:
+0x36b6 011308 storet 1 ,mem_car_notify_vdd_percent 
+0x36b7 011309 fetch 1 ,mem_car_config_low_voltage_percent 
+0x36b8 011310 isub temp ,null 
+0x36b9 011311 call car_enter_low_bat ,positive 
+0x36ba 011312 storet 1 ,mem_notify_bat_payload 
+0x36bb 011313 arg 6 ,loopcnt 
+0x36bc 011314 arg mem_notify_bat_head ,contr 
+0x36bd 011315 call calc_check_sum_start 
+0x36be 011316 store 1 ,mem_notify_bat_check_sum 
+0x36bf 011317 arg mem_notify_bat_packet ,rega 
+0x36c0 011318 branch queue_push 
+:      011319 car_enter_low_bat:
+0x36c1 011320 fetch 1 ,mem_low_bat_flag 
+0x36c2 011321 nrtn blank 
+0x36c3 011322 jam 1 ,mem_low_bat_flag 
+0x36c4 011323 arg 1 ,rega 
+0x36c5 011324 branch ui_led_blink_start_global 
+:      011325 car_low_bat_led_off:
+0x36c6 011326 arg 1 ,rega 
+0x36c7 011327 branch ui_led_blink_stop_global 
+:      011329 car_led_control_timer:
+0x36c8 011330 arg mem_car_led_control_timer ,regc 
+0x36c9 011331 arg car_led_control ,regb 
+0x36ca 011332 branch timer_single_step 
+:      011333 car_led_control:
+0x36cb 011334 jam 5 ,mem_car_led_control_timer 
+0x36cc 011335 jam 0 ,mem_car_led_no 
+0x36cd 011336 fetch 1 ,mem_car_led_blink_status 
+0x36ce 011337 beq led_on ,car_led_control_blink_off 
+0x36cf 011338 beq led_off ,car_led_control_blink_on 
+:      011339 car_led_control_set:
+0x36d0 011340 arg mem_car_led_control ,contr 
+0x36d1 011341 copy contr ,rega 
+0x36d2 011342 arg 8 ,loopcnt 
+:      011343 car_led_control_timer_next:
+0x36d3 011344 copy rega ,contr 
+0x36d4 011345 ifetch 1 ,contr 
+0x36d5 011346 copy contr ,rega 
+0x36d6 011347 beq led_off ,car_led_control_off 
+0x36d7 011348 beq led_on ,car_led_control_on 
+0x36d8 011349 beq led_blink ,car_led_control_blink 
+:      011350 car_led_control_timer_next_2:
+0x36d9 011351 fetch 1 ,mem_car_led_no 
+0x36da 011352 increase 1 ,pdata 
+0x36db 011353 store 1 ,mem_car_led_no 
+0x36dc 011354 loop car_led_control_timer_next 
+0x36dd 011355 rtn 
+:      011356 car_led_switch:
+0x36de 011357 fetch 1 ,mem_car_led_no 
+0x36df 011358 arg mem_car_config_blood_led_gpio ,regb 
+0x36e0 011359 iadd regb ,regb 
+0x36e1 011360 ifetcht 1 ,regb 
+0x36e2 011361 rtn 
+:      011362 car_led_control_off:
+0x36e3 011363 call car_led_switch 
+0x36e4 011364 call gpio_out_inactive 
+0x36e5 011365 branch car_led_control_timer_next_2 
+:      011366 car_led_control_on:
+0x36e6 011367 call car_led_switch 
+0x36e7 011368 call gpio_out_active 
+0x36e8 011369 branch car_led_control_timer_next_2 
+:      011370 car_led_control_blink:
+0x36e9 011371 fetch 1 ,mem_car_led_blink_status 
+0x36ea 011372 beq led_on ,car_led_control_off 
+0x36eb 011373 branch car_led_control_on 
+:      011374 car_led_control_blink_on:
+0x36ec 011375 jam led_on ,mem_car_led_blink_status 
+0x36ed 011376 branch car_led_control_set 
+:      011377 car_led_control_blink_off:
+0x36ee 011378 jam led_off ,mem_car_led_blink_status 
+0x36ef 011379 branch car_led_control_set 
+:      011383 calc_check_sum_start:
+0x36f0 011384 arg 0 ,rega 
+:      011385 calc_check_sum_loop:
+0x36f1 011386 ifetch 1 ,contr 
+0x36f2 011387 iadd rega ,rega 
+0x36f3 011388 loop calc_check_sum_loop 
+:      011389 calc_check_sum_and:
+0x36f4 011390 and rega ,0xff ,pdata 
+0x36f5 011391 rtn 
+:      011393 car_le_receive_data:
+0x36f6 011394 fetch 1 ,mem_le_att_opcode 
+0x36f7 011395 beq attop_write_request ,car_le_parse_att_write_request 
+0x36f8 011396 rtn 
+:      011397 car_le_parse_att_write_request:
+0x36f9 011398 fetch 2 ,mem_le_att_handle 
+0x36fa 011399 beq att_car_control_handle ,car_control_le_receive 
+0x36fb 011400 rtn 
+:      011412 le_app_receive_data:
+0x36fc 011413 bpatch patch1a_0 ,mem_patch1a 
+0x36fd 011414 ifetch 5 ,rega 
+0x36fe 011415 store 5 ,mem_app_receive_temp 
+0x36ff 011416 fetch 2 ,mem_app_receive_temp 
+0x3700 011417 arg le_receive_packet_head ,temp 
+0x3701 011418 isub temp ,null 
+0x3702 011419 nrtn zero 
+0x3703 011420 fetch 2 ,mem_app_receive_temp + 3 
+0x3704 011421 byteswap pdata ,pdata 
+0x3705 011422 store 2 ,mem_app_receive_temp + 3 
+0x3706 011423 copy pdata ,loopcnt 
+0x3707 011424 increase 5 ,rega 
+0x3708 011425 copy rega ,contr 
+0x3709 011426 arg mem_app_receive_temp + 5 ,contw 
+0x370a 011427 call memcpy 
+0x370b 011428 ifetch 1 ,contr 
+0x370c 011429 store 1 ,mem_app_receive_temp + 15 
+0x370d 011430 arg mem_app_receive_temp + 2 ,rega 
+0x370e 011431 arg mem_app_receive_temp + 5 ,regb 
+0x370f 011432 rtn 
+:      011434 car_control_le_receive:
+0x3710 011435 setarg 0 
+0x3711 011436 store 5 ,mem_le_receive_payload 
+0x3712 011437 store 5 ,mem_le_receive_payload + 5 
+0x3713 011438 call le_app_receive_data 
+0x3714 011439 copy regb ,contr 
+0x3715 011440 arg mem_le_receive_payload ,contw 
+0x3716 011441 arg 10 ,loopcnt 
+0x3717 011442 call memcpy 
+:      011443 car_receive_cmd_select:
+0x3718 011444 bpatch patch1a_1 ,mem_patch1a 
+0x3719 011445 ifetch 1 ,rega 
+0x371a 011446 beq car_cmd_old_car_control ,car_drive_old 
+0x371b 011447 beq car_cmd_old_speed_control ,car_speed_set_old 
+0x371c 011448 beq car_cmd_l_r_motor_control ,car_motor_control 
+0x371d 011449 beq car_cmd_f_b_motor_control ,car_motor_control 
+0x371e 011450 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+0x371f 011451 beq car_cmd_led_control ,car_led_control_receive 
+0x3720 011452 beq car_cmd_device_info ,car_info_request 
+0x3721 011453 rtn 
+:      011455 car_24g_receive_data:
+0x3722 011456 fetch 2 ,mem_ui_state_map 
+0x3723 011457 rtnbit1 ui_state_ble_connected 
+0x3724 011459 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3725 011460 store 2 ,mem_car_24g_no_data_timeout_timer 
+0x3726 011462 jam work_paired ,mem_car_24g_received_pac 
+0x3727 011464 setarg offset_24g_rxdata_temp_add3 
+0x3728 011465 call g24_set_rega 
+0x3729 011466 call car_control_le_receive 
+0x372a 011468 fetch 1 ,mem_app_receive_temp + 2 
+0x372b 011469 beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+0x372c 011470 beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+0x372d 011471 rtn 
+:      011472 car_24g_receive_data_next:
+0x372e 011473 fetch 1 ,mem_le_receive_payload 
+0x372f 011474 ncall car_moto1_enable_blank_data_timer ,blank 
+0x3730 011475 fetch 1 ,mem_le_receive_payload + 2 
+0x3731 011476 ncall car_moto2_enable_blank_data_timer ,blank 
+0x3732 011477 fetch 1 ,mem_le_receive_payload + 4 
+0x3733 011478 ncall car_moto3_enable_blank_data_timer ,blank 
+0x3734 011479 rtn 
+:      011481 car_moto1_enable_blank_data_timer:
+0x3735 011482 jam 5 ,mem_car_moto1_blank_timer 
+0x3736 011483 rtn 
+:      011484 car_moto2_enable_blank_data_timer:
+0x3737 011485 jam 5 ,mem_car_moto2_blank_timer 
+0x3738 011486 rtn 
+:      011487 car_moto3_enable_blank_data_timer:
+0x3739 011488 jam 5 ,mem_car_moto3_blank_timer 
+0x373a 011489 rtn 
+:      011491 car_moto1_blank_data_timer:
+0x373b 011492 arg mem_car_moto1_blank_timer ,regc 
+0x373c 011493 arg car_moto1_blank_data ,regb 
+0x373d 011494 branch timer_single_step 
+:      011495 car_moto2_blank_data_timer:
+0x373e 011496 arg mem_car_moto2_blank_timer ,regc 
+0x373f 011497 arg car_moto2_blank_data ,regb 
+0x3740 011498 branch timer_single_step 
+:      011499 car_moto3_blank_data_timer:
+0x3741 011500 arg mem_car_moto3_blank_timer ,regc 
+0x3742 011501 arg car_moto3_blank_data ,regb 
+0x3743 011502 branch timer_single_step 
+:      011504 car_moto1_blank_data:
+0x3744 011505 jam 0 ,mem_le_receive_payload 
+0x3745 011506 branch car_motor_control 
+:      011507 car_moto2_blank_data:
+0x3746 011508 jam 0 ,mem_le_receive_payload + 2 
+0x3747 011509 branch car_motor_control 
+:      011510 car_moto3_blank_data:
+0x3748 011511 jam 0 ,mem_le_receive_payload + 4 
+0x3749 011512 branch car_motor_control 
+:      011517 car_drive_old:
+0x374a 011518 call car_left_right_control_old 
+0x374b 011519 branch car_front_back_control_old 
+:      011520 car_left_right_control_old:
+0x374c 011521 fetch 1 ,mem_le_receive_payload 
+0x374d 011522 store 1 ,mem_motor2_status 
+0x374e 011523 branch car_motor2_control 
+:      011524 car_front_back_control_old:
+0x374f 011525 fetch 1 ,mem_motor1_speed 
+0x3750 011526 call car_reset_old_speed 
+0x3751 011527 fetch 1 ,mem_le_receive_payload + 1 
+0x3752 011528 store 1 ,mem_motor1_status 
+0x3753 011529 branch car_motor1_control 
+:      011530 car_reset_old_speed:
+0x3754 011531 beq speed_level_2 ,car_reset_old_speed2 
+0x3755 011532 beq speed_level_3 ,car_reset_old_speed3 
+0x3756 011533 store 1 ,mem_motor1_speed 
+0x3757 011534 rtn 
+:      011535 car_reset_old_speed2:
+0x3758 011536 jam speed_level_5 ,mem_motor1_speed 
+0x3759 011537 rtn 
+:      011538 car_reset_old_speed3:
+0x375a 011539 jam speed_level_10 ,mem_motor1_speed 
+0x375b 011540 rtn 
+:      011541 car_speed_set_old:
+0x375c 011542 fetch 1 ,mem_le_receive_payload 
+0x375d 011543 call car_reset_old_speed 
+0x375e 011544 fetch 1 ,mem_motor1_speed 
+0x375f 011545 call car_motor_speed_duty_setting 
+0x3760 011546 call car_motor_speed_duty_transform 
+0x3761 011547 branch pwm_pwm0_duty_set 
+:      011549 car_motor_control:
+0x3762 011550 fetch 1 ,mem_car_24g_go_die_flag 
+0x3763 011551 nrtn blank 
+0x3764 011552 fetch 6 ,mem_le_receive_payload 
+0x3765 011553 store 6 ,mem_motor1_status 
+0x3766 011554 fetch 1 ,mem_motor1_speed 
+0x3767 011555 fetcht 1 ,mem_motor2_speed 
+0x3768 011556 iand temp ,pdata 
+0x3769 011557 fetcht 1 ,mem_motor3_speed 
+0x376a 011558 iand temp ,pdata 
+0x376b 011559 call car_motor_working_flag ,blank 
+0x376c 011560 bpatch patch1a_2 ,mem_patch1a 
+0x376d 011561 call car_motor1_control 
+0x376e 011562 call car_motor2_control 
+0x376f 011563 branch car_motor3_control 
+:      011564 car_motor1_control:
+0x3770 011565 arg mem_motor1_pwm_set ,regb 
+0x3771 011566 arg mem_motor1_status ,contr 
+0x3772 011567 branch car_motor_status_select 
+:      011568 car_motor2_control:
+0x3773 011569 arg mem_motor2_pwm_set ,regb 
+0x3774 011570 arg mem_motor2_status ,contr 
+0x3775 011571 branch car_motor_status_select 
+:      011572 car_motor3_control:
+0x3776 011573 arg mem_motor3_pwm_set ,regb 
+0x3777 011574 arg mem_motor3_status ,contr 
+0x3778 011575 branch car_motor_status_select 
+:      011576 car_motor_working_flag:
+0x3779 011577 jam 0 ,mem_car_working_flag 
+0x377a 011578 rtn 
+:      011580 car_motor_status_select:
+0x377b 011581 ifetch 1 ,contr 
+0x377c 011582 beq motor_stop ,car_motor_stop 
+0x377d 011583 beq go_front ,car_motor_positive 
+0x377e 011584 beq go_back ,car_motor_negative 
+0x377f 011585 rtn 
+:      011586 car_motor_positive:
+0x3780 011587 jam 0 ,mem_motor_select_p_n 
+0x3781 011588 branch car_motor_negative + 1 
+:      011589 car_motor_negative:
+0x3782 011590 jam 1 ,mem_motor_select_p_n 
+0x3783 011591 ifetch 1 ,contr 
+0x3784 011592 store 1 ,mem_car_motor_speed 
+0x3785 011593 ifetch 8 ,regb 
+0x3786 011594 branch car_motor_work 
+:      011596 car_motor_stop:
+0x3787 011597 ifetch 1 ,regb 
+0x3788 011598 call pwm_disable 
+0x3789 011599 increase 1 ,regb 
+0x378a 011600 ifetch 1 ,regb 
+0x378b 011601 branch pwm_disable 
+:      011602 car_motor_work:
+0x378c 011603 store 8 ,mem_motor_pwm_pin1_set 
+0x378d 011604 jam 1 ,mem_car_working_flag 
+0x378e 011605 fetch 1 ,mem_motor_select_p_n 
+0x378f 011606 beq 0 ,car_motor_select_positive 
+:      011607 car_motor_select_negative:
+0x3790 011608 fetch 1 ,mem_motor_pwm_pin2_set 
+0x3791 011609 store 1 ,mem_motor_pwm_pin_set 
+0x3792 011610 fetch 1 ,mem_motor_pwm_pin1_set 
+:      011611 car_motor_work_next:
+0x3793 011612 call pwm_disable 
+0x3794 011613 fetch 1 ,mem_car_motor_speed 
+0x3795 011614 call car_motor_speed_duty_setting 
+0x3796 011615 store 1 ,mem_motor_pwm_dute_set 
+0x3797 011616 fetch 6 ,mem_motor_pwm_pin_set 
+0x3798 011617 store 6 ,mem_pdatatemp 
+0x3799 011618 branch pwm_out_set 
+:      011619 car_motor_select_positive:
+0x379a 011620 fetch 1 ,mem_motor_pwm_pin1_set 
+0x379b 011621 store 1 ,mem_motor_pwm_pin_set 
+0x379c 011622 fetch 1 ,mem_motor_pwm_pin2_set 
+0x379d 011623 branch car_motor_work_next 
+:      011625 car_motor_speed_duty_setting:
+0x379e 011626 mul32 pdata ,5 ,pdata 
+0x379f 011627 add pdata ,50 ,pdata 
+0x37a0 011628 rtn 
+:      011629 car_motor_speed_duty_transform:
+0x37a1 011630 arg 12000 ,temp 
+0x37a2 011631 imul32 temp ,pdata 
+0x37a3 011632 div pdata ,100 
+0x37a4 011633 call wait_div_end 
+0x37a5 011634 quotient temp 
+0x37a6 011635 copy temp ,rega 
+0x37a7 011636 setarg 12000 
+0x37a8 011637 isub temp ,regb 
+0x37a9 011638 rtn 
+:      011641 car_ir_init:
+0x37aa 011642 hfetch 1 ,core_gpio_sel2 
+0x37ab 011643 set1 2 ,pdata 
+0x37ac 011644 hstore 1 ,core_gpio_sel2 
+0x37ad 011645 setarg 158 
+0x37ae 011646 hstore 2 ,core_pwm_pcnt4 
+0x37af 011647 hstore 2 ,core_pwm_ncnt4 
+0x37b0 011648 rtn 
+:      011650 car_ir_data_rx_from_app:
+0x37b1 011651 fetch 1 ,mem_car_24g_go_die_flag 
+0x37b2 011652 nrtn blank 
+0x37b3 011653 fetch 2 ,mem_le_receive_payload 
+0x37b4 011654 store 2 ,mem_ir_data 
+0x37b5 011655 fetch 1 ,mem_car_24g_status 
+0x37b6 011656 bne work_paired ,car_ir_data_tx 
+0x37b7 011657 fetch 2 ,mem_le_lap 
+0x37b8 011658 store 2 ,mem_ir_data 
+:      011659 car_ir_data_tx:
+0x37b9 011660 bpatch patch1a_3 ,mem_patch1a 
+0x37ba 011661 call car_ir_init 
+0x37bb 011662 call car_ir_enable 
+0x37bc 011663 setarg 48000 
+0x37bd 011664 call sleep 
+0x37be 011665 call car_ir_disable 
+0x37bf 011666 setarg 7200 
+0x37c0 011667 call sleep 
+0x37c1 011668 arg 16 ,loopcnt 
+:      011669 car_ir_send_loop:
+0x37c2 011670 call car_ir_enable 
+0x37c3 011671 fetch 2 ,mem_ir_data 
+0x37c4 011672 bbit1 0 ,car_ir_is_bit1 
+0x37c5 011673 setarg 7200 
+0x37c6 011674 call sleep 
+0x37c7 011675 call car_ir_disable 
+0x37c8 011676 branch car_ir_wait_finish 
+:      011678 car_ir_is_bit1:
+0x37c9 011679 setarg 14400 
+0x37ca 011680 call sleep 
+0x37cb 011681 call car_ir_disable 
+:      011682 car_ir_wait_finish:
+0x37cc 011683 setarg 7200 
+0x37cd 011684 call sleep 
+0x37ce 011685 fetch 2 ,mem_ir_data 
+0x37cf 011686 rshift pdata ,pdata 
+0x37d0 011687 store 2 ,mem_ir_data 
+0x37d1 011688 loop car_ir_send_loop 
+0x37d2 011690 jam 2 ,mem_car_attack_shake_timer 
+0x37d3 011691 jam 1 ,mem_car_attack_shake_flag 
+0x37d4 011692 setarg 0x0a01 
+0x37d5 011693 store 2 ,mem_le_receive_payload 
+0x37d6 011694 fetch 1 ,mem_car_config_device_select 
+0x37d7 011695 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+:      011696 car_attack_shake_back_battle_car:
+0x37d8 011697 branch car_motor_control 
+:      011698 car_attack_shake_back_battle_tank:
+0x37d9 011699 setarg 0x0a01 
+0x37da 011700 store 2 ,mem_le_receive_payload + 2 
+0x37db 011701 branch car_motor_control 
+:      011703 car_ir_enable:
+0x37dc 011704 hfetch 1 ,core_gpio_key2 
+0x37dd 011705 or_into 0x40 ,pdata 
+0x37de 011706 hstore 1 ,core_gpio_key2 
+0x37df 011707 rtn 
+:      011708 car_ir_disable:
+0x37e0 011709 hfetch 1 ,core_gpio_key2 
+0x37e1 011710 and_into 0xbf ,pdata 
+0x37e2 011711 hstore 1 ,core_gpio_key2 
+0x37e3 011712 rtn 
+:      011714 car_ir_rx_init:
+0x37e4 011715 fetch 1 ,mem_car_config_ir_enable 
+0x37e5 011716 rtneq 0x00 
+0x37e6 011717 call lpm_disable_exen_output 
+0x37e7 011718 fetcht 1 ,mem_car_config_ir_rx_gpio 
+0x37e8 011719 storet 1 ,mem_ir_rx_gpio 
+0x37e9 011720 call gpio_config_input 
+0x37ea 011721 call car_ir_gpio_get_status 
+0x37eb 011722 nrtn true 
+0x37ec 011723 jam 1 ,mem_car_ir_breakdown_check_timer 
+0x37ed 011724 rtn 
+:      011726 car_ir_receive_process:
+0x37ee 011727 fetch 1 ,mem_car_config_ir_enable 
+0x37ef 011728 rtneq flag_ir_disable 
+0x37f0 011729 fetch 1 ,mem_car_ir_breakdown_flag 
+0x37f1 011730 nrtn blank 
+0x37f2 011731 fetch 2 ,mem_ui_state_map 
+0x37f3 011732 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+0x37f4 011733 fetch 1 ,mem_car_24g_status 
+0x37f5 011734 rtnne work_paired 
+:      011735 car_ir_receive_process_next:
+0x37f6 011736 bpatch patch1a_4 ,mem_patch1a 
+0x37f7 011737 call car_ir_gpio_get_status 
+0x37f8 011738 nrtn true 
+0x37f9 011739 setarg 36000 
+0x37fa 011740 call sleep 
+0x37fb 011741 call car_ir_gpio_get_status 
+0x37fc 011742 nrtn true 
+0x37fd 011743 call car_ir_clk_get 
+:      011744 car_ir_packet_head_wait_end:
+0x37fe 011745 call car_ir_clk_check 
+0x37ff 011746 nrtn positive 
+0x3800 011747 call car_ir_gpio_get_status 
+0x3801 011748 branch car_ir_packet_head_wait_end ,true 
+0x3802 011749 arg 0 ,rega 
+0x3803 011750 arg 16 ,loopcnt 
+0x3804 011751 call car_ir_clk_get 
+:      011752 car_ir_receive_process_loop:
+0x3805 011753 call car_ir_clk_check 
+0x3806 011754 nrtn positive 
+0x3807 011755 call car_ir_gpio_get_status 
+0x3808 011756 nbranch car_ir_receive_process_loop ,true 
+0x3809 011757 setarg 10800 
+0x380a 011758 call sleep 
+0x380b 011759 call car_ir_gpio_get_status 
+0x380c 011760 branch car_ir_get_bit1 ,true 
+:      011761 car_ir_get_bit0:
+0x380d 011762 setarg 0 
+0x380e 011763 rshift rega ,rega 
+0x380f 011764 ior rega ,rega 
+0x3810 011765 loop car_ir_receive_process_loop 
+0x3811 011766 branch car_ir_receive_process_end 
+:      011767 car_ir_get_bit1:
+0x3812 011768 setarg 0x8000 
+0x3813 011769 rshift rega ,rega 
+0x3814 011770 ior rega ,rega 
+0x3815 011771 call car_ir_clk_get 
+:      011772 car_ir_get_bit1_wait_low_end:
+0x3816 011773 call car_ir_clk_check 
+0x3817 011774 nrtn positive 
+0x3818 011775 call car_ir_gpio_get_status 
+0x3819 011776 branch car_ir_get_bit1_wait_low_end ,true 
+0x381a 011777 loop car_ir_receive_process_loop 
+:      011778 car_ir_receive_process_end:
+0x381b 011779 bpatch patch1a_5 ,mem_patch1a 
+0x381c 011780 copy rega ,pdata 
+0x381d 011781 store 2 ,mem_ir_rx_buf 
+0x381e 011782 store 2 ,mem_ir_notify_data + 8 
+0x381f 011783 fetch 1 ,mem_car_24g_status 
+0x3820 011784 beq work_paired ,car_ir_24g_receive_attack 
+:      011785 car_ir_data_notify:
+0x3821 011786 arg 0x07 ,loopcnt 
+0x3822 011787 arg mem_ir_notify_data_head ,contr 
+0x3823 011788 call calc_check_sum_start 
+0x3824 011789 store 1 ,mem_ir_notify_data_check_sum 
+0x3825 011790 arg mem_ir_notify_data ,rega 
+0x3826 011791 branch queue_push 
+:      011793 car_ir_24g_receive_attack:
+0x3827 011794 fetch 1 ,mem_car_24g_ir_receive_attack_count 
+0x3828 011795 increase 1 ,pdata 
+0x3829 011796 store 1 ,mem_car_24g_ir_receive_attack_count 
+0x382a 011797 div pdata ,2 
+0x382b 011798 call wait_div_end 
+0x382c 011799 quotient temp 
+0x382d 011800 remainder pdata 
+0x382e 011801 nbranch car_ir_24g_receive_attack_blink ,blank 
+:      011802 car_ir_24g_receive_attack_off:
+0x382f 011803 fetch 1 ,mem_car_config_led_num 
+0x3830 011804 isub temp ,null 
+0x3831 011805 call car_ir_24g_go_die ,zero 
+0x3832 011806 arg mem_car_led_control ,pdata 
+0x3833 011807 increase -1 ,temp 
+0x3834 011808 iadd temp ,rega 
+0x3835 011809 arg 0 ,pdata 
+0x3836 011810 istore 1 ,rega 
+0x3837 011811 rtn 
+:      011812 car_ir_24g_receive_attack_blink:
+0x3838 011813 arg mem_car_led_control ,pdata 
+0x3839 011814 iadd temp ,rega 
+0x383a 011815 arg 2 ,pdata 
+0x383b 011816 istore 1 ,rega 
+0x383c 011817 rtn 
+:      011818 car_ir_24g_go_die:
+0x383d 011819 jam 1 ,mem_car_24g_go_die_flag 
+0x383e 011820 rtn 
+:      011821 car_ir_clk_get:
+0x383f 011822 copy clkn_bt ,pdata 
+0x3840 011823 store 4 ,mem_ir_receive_clkn 
+0x3841 011824 rtn 
+:      011825 car_ir_clk_check:
+0x3842 011826 copy clkn_bt ,pdata 
+0x3843 011827 fetcht 4 ,mem_ir_receive_clkn 
+0x3844 011828 isub temp ,pdata 
+0x3845 011829 sub pdata ,200 ,null 
+0x3846 011830 rtn 
+:      011832 car_ir_gpio_get_status:
+0x3847 011833 fetcht 1 ,mem_ir_rx_gpio 
+0x3848 011834 branch gpio_get_bit 
+:      011836 car_led_control_receive:
+0x3849 011837 fetch 8 ,mem_le_receive_payload 
+0x384a 011838 store 8 ,mem_car_led_control 
+0x384b 011839 rtn 
+:      011841 car_info_request:
+0x384c 011842 fetch 1 ,mem_car_config_device_select 
+0x384d 011843 store 1 ,mem_car_info_request_payload 
+0x384e 011844 fetch 1 ,mem_car_config_motor_layout 
+0x384f 011845 store 1 ,mem_car_info_request_payload + 1 
+0x3850 011846 fetch 1 ,mem_car_config_ir_enable 
+0x3851 011847 store 1 ,mem_car_info_request_payload + 2 
+0x3852 011848 arg 13 ,loopcnt 
+0x3853 011849 arg mem_car_info_request_head ,contr 
+0x3854 011850 call calc_check_sum_start 
+0x3855 011851 store 1 ,mem_car_info_request_checksum 
+0x3856 011852 arg mem_car_info_request ,rega 
+0x3857 011853 branch queue_push 
+:      011859 light_init:
+0x3858 011860 call clear_eeprom_size_2k 
+0x3859 011861 jam 0x7a ,mem_curr_packet_num 
+0x385a 011862 call light_load_controler_list 
+0x385b 011863 call light_init_crr_cmd_count 
+0x385c 011864 setarg light_pairing_timer 
+0x385d 011865 store 2 ,mem_cb_event_timer 
+0x385e 011866 arg 0 ,rega 
+0x385f 011867 branch pwm_init 
+:      011869 light_pairing_timer:
+0x3860 011870 fetch 2 ,mem_light_pairing_timer 
+0x3861 011871 rtn blank 
+0x3862 011872 increase -1 ,pdata 
+0x3863 011873 store 2 ,mem_light_pairing_timer 
+0x3864 011874 rtnne 0 
+0x3865 011875 jam 0 ,mem_light_pairing_enable 
+0x3866 011876 rtn 
+:      011878 light_init_crr_cmd_count:
+0x3867 011879 bpatch patch1a_6 ,mem_patch1a 
+0x3868 011880 fetch 1 ,mem_light_next_record 
+0x3869 011881 sub pdata ,40 ,null 
+0x386a 011882 rtn positive 
+0x386b 011883 jam 0 ,mem_light_next_record 
+0x386c 011884 rtn 
+:      011886 light_load_controler_list:
+0x386d 011887 arg mem_light_next_record ,rega 
+0x386e 011888 arg 0 ,regb 
+0x386f 011889 arg 81 ,temp 
+0x3870 011890 branch iicd_read_eep_data 
+:      011893 light_find_controler_pairing:
+0x3871 011894 disable user 
+0x3872 011895 fetch 1 ,mem_light_cnum 
+0x3873 011896 copy pdata ,loopcnt 
+0x3874 011898 arg mem_light_clist ,rega 
+0x3875 011899 copy regc ,regb 
+:      011900 light_find_controler_pairing_loop:
+0x3876 011901 bpatch patch1a_7 ,mem_patch1a 
+0x3877 011902 call light_compare_addr_record 
+0x3878 011903 branch enable_user ,zero 
+:      011904 light_find_single_pairing_diff:
+0x3879 011905 increase 4 ,rega 
+0x387a 011906 loop light_find_controler_pairing_loop 
+0x387b 011907 rtn 
+:      011910 light_compare_addr_record:
+0x387c 011911 bpatch patch1b_0 ,mem_patch1b 
+0x387d 011912 ifetch 3 ,rega 
+0x387e 011913 ifetcht 3 ,regb 
+0x387f 011914 isub temp ,null 
+0x3880 011915 rtn 
+:      011917 light_compare_single_record:
+0x3881 011918 bpatch patch1b_1 ,mem_patch1b 
+0x3882 011919 ifetch 3 ,rega 
+0x3883 011920 ifetcht 3 ,regb 
+0x3884 011921 isub temp ,null 
+0x3885 011922 nrtn zero 
+0x3886 011923 ifetch 1 ,contr 
+0x3887 011924 sub pdata ,0 ,null 
+0x3888 011925 rtn zero 
+0x3889 011926 add rega ,3 ,contr 
+0x388a 011927 ifetcht 1 ,contr 
+0x388b 011928 isub temp ,null 
+0x388c 011929 rtn 
+:      011932 light_find_controler_cmd:
+0x388d 011933 bpatch patch1b_2 ,mem_patch1b 
+0x388e 011934 disable user 
+0x388f 011935 fetch 1 ,mem_light_cnum 
+0x3890 011936 copy pdata ,loopcnt 
+0x3891 011938 arg mem_light_clist ,rega 
+0x3892 011939 copy regc ,regb 
+:      011940 light_find_controler_cmd_loop:
+0x3893 011941 call light_compare_single_record 
+0x3894 011942 branch enable_user ,zero 
+0x3895 011943 increase 4 ,rega 
+0x3896 011944 loop light_find_controler_cmd_loop 
+0x3897 011945 rtn 
+:      011948 light_recv_adv:
+0x3898 011949 fetch 1 ,mem_le_scanrsp_rcv 
+0x3899 011950 increase 1 ,pdata 
+0x389a 011951 store 1 ,mem_le_scanrsp_rcv 
+0x389b 011952 arg mem_le_rxbuf + 12 ,regc 
+:      011954 light_anylize_command:
+0x389c 011955 ifetch 2 ,regc 
+0x389d 011956 arg 0x55aa ,temp 
+0x389e 011957 isub temp ,null 
+0x389f 011958 nrtn zero 
+0x38a0 011959 copy contr ,regc 
+0x38a1 011960 ifetcht 3 ,regc 
+0x38a2 011961 setarg 0xffffff 
+0x38a3 011962 isub temp ,null 
+0x38a4 011963 branch light_parse_cmd ,zero 
+0x38a5 011964 call light_find_controler_cmd 
+0x38a6 011965 branch light_parse_cmd ,user 
+0x38a7 011966 rtn 
+:      011968 light_parse_cmd:
+0x38a8 011969 bpatch patch1b_3 ,mem_patch1b 
+0x38a9 011970 increase 4 ,regc 
+0x38aa 011971 ifetch 1 ,regc 
+0x38ab 011972 fetcht 1 ,mem_curr_packet_num 
+0x38ac 011973 isub temp ,null 
+0x38ad 011974 rtn zero 
+0x38ae 011975 store 1 ,mem_curr_packet_num 
+0x38af 011976 fetch 1 ,mem_le_req_rcv 
+0x38b0 011977 increase 1 ,pdata 
+0x38b1 011978 store 1 ,mem_le_req_rcv 
+0x38b2 011980 increase 1 ,regc 
+0x38b3 011981 ifetch 1 ,regc 
+0x38b4 011982 store 1 ,mem_light_crr_cmd_count 
+0x38b5 011983 copy pdata ,loopcnt 
+0x38b6 011984 rtn blank 
+:      011985 light_parse_cmd_loop:
+0x38b7 011986 ifetch 1 ,contr 
+0x38b8 011987 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+0x38b9 011988 beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+0x38ba 011989 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+0x38bb 011990 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+0x38bc 011991 beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+0x38bd 011992 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+0x38be 011993 beq light_cmd_auto_mode ,light_parse_auto_mode 
+0x38bf 011994 beq light_cmd_pairing ,light_parse_pairing 
+0x38c0 011995 loop light_parse_cmd_loop 
+0x38c1 011996 rtn 
+:      011998 light_parse_cmd_pwm0:
+0x38c2 011999 copy contr ,regc 
+0x38c3 012000 fetch 1 ,mem_light_pwm0 
+0x38c4 012001 store 1 ,mem_pdatatemp 
+0x38c5 012002 arg 0 ,temp 
+:      012003 light_parse_cmd_pwm_common:
+0x38c6 012004 storet 1 ,mem_pdatatemp + 1 
+0x38c7 012005 setarg 10000 
+0x38c8 012006 store 3 ,mem_pdatatemp + 2 
+0x38c9 012007 ifetch 1 ,regc 
+0x38ca 012008 store 1 ,mem_pdatatemp + 5 
+0x38cb 012009 call pwm_out_set 
+0x38cc 012010 and regc ,1 ,contr 
+0x38cd 012011 loop light_parse_cmd_loop 
+0x38ce 012012 rtn 
+:      012013 light_parse_cmd_pwm1:
+0x38cf 012014 copy regc ,contr 
+0x38d0 012015 fetch 1 ,mem_light_pwm1 
+0x38d1 012016 store 1 ,mem_pdatatemp 
+0x38d2 012017 arg 1 ,temp 
+0x38d3 012018 branch light_parse_cmd_pwm_common 
+:      012019 light_parse_cmd_pwm2:
+0x38d4 012020 copy regc ,contr 
+0x38d5 012021 fetch 1 ,mem_light_pwm2 
+0x38d6 012022 store 1 ,mem_pdatatemp 
+0x38d7 012023 arg 2 ,temp 
+0x38d8 012024 branch light_parse_cmd_pwm_common 
+:      012025 light_parse_cmd_pwm3:
+0x38d9 012026 copy regc ,contr 
+0x38da 012027 fetch 1 ,mem_light_pwm3 
+0x38db 012028 store 1 ,mem_pdatatemp 
+0x38dc 012029 arg 3 ,temp 
+0x38dd 012030 branch light_parse_cmd_pwm_common 
+:      012031 light_parse_cmd_pwm4:
+0x38de 012032 copy regc ,contr 
+0x38df 012033 fetch 1 ,mem_light_pwm4 
+0x38e0 012034 store 1 ,mem_pdatatemp 
+0x38e1 012035 arg 4 ,temp 
+0x38e2 012036 branch light_parse_cmd_pwm_common 
+:      012037 light_parse_cmd_pwm5:
+0x38e3 012038 copy regc ,contr 
+0x38e4 012039 fetch 1 ,mem_light_pwm5 
+0x38e5 012040 store 1 ,mem_pdatatemp 
+0x38e6 012041 arg 5 ,temp 
+0x38e7 012042 branch light_parse_cmd_pwm_common 
+:      012044 light_parse_auto_mode:
+0x38e8 012045 ifetch 1 ,contr 
+0x38e9 012046 rtn 
+:      012048 light_parse_pairing:
+0x38ea 012049 copy contr ,regc 
+0x38eb 012050 fetch 1 ,mem_light_pairing_enable 
+0x38ec 012051 bne 1 ,light_parse_pairing_abandon 
+0x38ed 012052 call update_controler_list 
+:      012053 light_parse_pairing_abandon:
+0x38ee 012054 and regc ,4 ,contr 
+0x38ef 012055 rtn 
+:      012056 update_controler_list:
+0x38f0 012057 bpatch patch1b_4 ,mem_patch1b 
+0x38f1 012058 call light_find_controler_pairing 
+0x38f2 012059 branch update_conrtoler_list_found ,user 
+0x38f3 012060 fetch 1 ,mem_light_next_record 
+0x38f4 012061 copy pdata ,temp 
+0x38f5 012062 increase 1 ,pdata 
+0x38f6 012063 store 1 ,mem_light_next_record 
+0x38f7 012064 call light_init_crr_cmd_count 
+0x38f8 012065 lshift2 temp ,temp 
+0x38f9 012066 setarg mem_light_clist 
+0x38fa 012067 iadd temp ,contw 
+0x38fb 012068 ifetch 4 ,regc 
+0x38fc 012069 istore 4 ,contw 
+0x38fd 012070 branch update_conrtoler_store_list 
+:      012071 update_conrtoler_list_found:
+0x38fe 012072 add regc ,3 ,contr 
+0x38ff 012073 ifetch 1 ,contr 
+0x3900 012074 rtn blank 
+0x3901 012075 ifetch 4 ,regc 
+0x3902 012076 istore 4 ,rega 
+:      012077 update_conrtoler_store_list:
+0x3903 012078 arg mem_light_next_record ,rega 
+0x3904 012079 arg 0 ,regb 
+0x3905 012080 arg 81 ,temp 
+0x3906 012081 branch iicd_write_eep_data 
+:      012085 lightc_init:
+0x3907 012089 fetcht 1 ,mem_lightc_led_gpio 
+0x3908 012090 call gpio_out_inactive 
+0x3909 012091 rtn 
+:      012094 lightc_dispatch:
+0x390a 012097 fetcht 1 ,mem_lightc_led_gpio 
+0x390b 012098 call gpio_out_active 
+0x390c 012101 fetcht 1 ,mem_lightc_led_gpio 
+0x390d 012102 call gpio_out_inactive 
+0x390e 012105 call lightc_start_adv 
+0x390f 012107 fetch 1 ,mem_adv_time 
+0x3910 012108 nrtn blank 
+0x3911 012110 call lpm_write_gpio_wakeup 
+0x3912 012111 hfetch 4 ,core_lpm_ctrl 
+0x3913 012112 set0 15 ,pdata 
+0x3914 012113 hstore 4 ,core_lpm_reg 
+0x3915 012114 call lpm_write_ctrl 
+0x3916 012115 arg param_hibernate_clks ,temp 
+0x3917 012116 branch lpm_sleep 
+:      012118 lightc_adv:
+0x3918 012119 fetch 1 ,mem_adv_time 
+0x3919 012120 branch le_adv_loop_tx ,blank 
+0x391a 012121 increase -1 ,pdata 
+0x391b 012122 store 1 ,mem_adv_time 
+0x391c 012123 branch le_adv_loop_tx 
+:      012125 lightc_start_adv:
+0x391d 012126 mul32 pdata ,20 ,pdata 
+0x391e 012127 arg mem_cmd0_string ,contr 
+0x391f 012128 iadd contr ,contr 
+0x3920 012129 ifetch 1 ,contr 
+0x3921 012130 rtn blank 
+0x3922 012131 copy pdata ,rega 
+0x3923 012132 copy rega ,loopcnt 
+0x3924 012133 arg mem_le_adv_data + 2 ,contw 
+0x3925 012134 call memcpy 
+0x3926 012135 copy rega ,pdata 
+0x3927 012136 increase 2 ,pdata 
+0x3928 012137 store 1 ,mem_le_adv_data_len 
+0x3929 012138 rtn 
+:      012145 module_init:
+0x392a 012147 rtn wake 
+0x392b 012148 call le_modified_name 
+0x392c 012149 call adc_init_data 
+0x392d 012150 setarg module_process_idle 
+0x392e 012151 store 2 ,mem_cb_idle_process 
+0x392f 012152 setarg module_bt_conn_process 
+0x3930 012153 store 2 ,mem_cb_bt_process 
+0x3931 012154 setarg module_process_bb_event 
+0x3932 012155 store 2 ,mem_cb_bb_event_process 
+0x3933 012156 setarg module_le_conn_process 
+0x3934 012157 store 2 ,mem_cb_le_process 
+0x3935 012158 setarg module_lpm_lock 
+0x3936 012159 store 2 ,mem_cb_check_wakelock 
+0x3937 012160 setarg module_hci_cmd_transmit_le_notify 
+0x3938 012161 store 2 ,mem_cb_ble_transmit 
+0x3939 012162 setarg module_hci_event_receive_spp_data 
+0x393a 012163 store 2 ,mem_cb_receive_spp_data 
+0x393b 012164 setarg module_le_receive_data 
+0x393c 012165 store 2 ,mem_cb_att_write 
+0x393d 012166 setarg module_bb_event_timer 
+0x393e 012167 store 2 ,mem_cb_event_timer 
+0x393f 012169 call module_spp_clear_last_transmite_clock 
+0x3940 012170 bpatch patch1b_5 ,mem_patch1b 
+0x3941 012171 call module_lpm_uart_init 
+0x3942 012172 call module_gpio_init 
+0x3943 012173 call check_module_disabled 
+0x3944 012174 branch module_hci_event_enter_standby_mode 
+:      012177 module_lpm_uart_init:
+0x3945 012178 fetch 4 ,mem_module_uart_rx_buffer 
+0x3946 012179 hstore 4 ,core_uart_rsaddr 
+0x3947 012181 fetch 4 ,mem_module_uart_tx_buffer 
+0x3948 012182 hstore 4 ,core_uart_tsaddr 
+0x3949 012184 hfetch 1 ,core_gpio_sel1 
+0x394a 012185 or_into 0x04 ,pdata 
+0x394b 012186 and_into 0xfc ,pdata 
+0x394c 012187 hstore 1 ,core_gpio_sel1 
+0x394d 012188 jam 0x00 ,core_uart_ctrl 
+0x394e 012190 fetch 2 ,mem_module_uart_rx_buffer 
+0x394f 012191 hstore 2 ,core_uart_rrptr 
+0x3950 012192 fetch 2 ,mem_module_uart_tx_buffer 
+0x3951 012193 hstore 2 ,core_uart_twptr 
+0x3952 012194 hstore 2 ,core_uart_trptrp 
+0x3953 012196 hfetch 4 ,core_gpio_pu0 
+0x3954 012197 set1 7 ,pdata 
+0x3955 012198 hstore 4 ,core_gpio_pu0 
+0x3956 012200 hfetch 2 ,core_clkoff 
+0x3957 012201 set0 clock_off_uart ,pdata 
+0x3958 012202 hstore 2 ,core_clkoff 
+0x3959 012203 call uart_set_baud_by_mem 
+0x395a 012204 jam uartclk_crystal ,core_uart_clksel 
+0x395b 012205 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x395c 012207 fetch 1 ,mem_module_flag 
+0x395d 012208 isolate1 module_flag_uart_flow_control ,pdata 
+0x395e 012209 hfetcht 1 ,core_uart_ctrl 
+0x395f 012210 setflag true ,4 ,temp 
+0x3960 012211 hstoret 1 ,core_uart_ctrl 
+0x3961 012212 rtn 
+:      012216 module_lpm_init:
+0x3962 012217 call module_spp_clear_last_transmite_clock 
+0x3963 012218 branch module_lpm_uart_init 
+:      012221 module_gpio_init:
+0x3964 012226 fetcht 1 ,mem_module_connect_state_gpio 
+0x3965 012227 call gpio_config_output 
+0x3966 012228 call module_set_conn_pin_low 
+0x3967 012230 fetcht 1 ,mem_module_wake_up_gpio 
+0x3968 012231 branch gpio_config_input 
+:      012233 module_lpm_lock:
+0x3969 012234 fetcht 1 ,mem_module_wake_up_gpio 
+0x396a 012235 call gpio_get_bit 
+0x396b 012236 nbranch app_put_lpm_wake_lock ,true 
+0x396c 012237 branch app_get_lpm_wake_lock 
+:      012240 module_le_conn_process:
+0x396d 012241 rtn 
+:      012243 module_bt_conn_process:
+0x396e 012244 call module_spp_enter_sniff 
+0x396f 012245 branch module_control_air_flow 
+:      012247 module_spp_enter_sniff:
+0x3970 012248 fetch 1 ,mem_ui_state_map 
+0x3971 012249 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x3972 012250 bpatch patch1b_6 ,mem_patch1b 
+0x3973 012251 setarg 0x3eff 
+0x3974 012252 fetcht 4 ,mem_last_transmite_clock 
+0x3975 012253 iadd temp ,temp 
+0x3976 012254 copy clkn_bt ,pdata 
+0x3977 012255 isub temp ,null 
+0x3978 012256 nrtn positive 
+0x3979 012257 fetch 2 ,mem_ui_state_map 
+0x397a 012258 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x397b 012259 fetch 1 ,mem_module_flag 
+0x397c 012260 rtnbit1 moudle_task_sniff 
+0x397d 012261 call module_set_sniff_task_flag 
+0x397e 012262 call app_bt_enter_sniff 
+:      012263 module_spp_clear_last_transmite_clock:
+0x397f 012264 copy clkn_bt ,pdata 
+0x3980 012265 store 4 ,mem_last_transmite_clock 
+0x3981 012266 rtn 
+:      012269 module_process_idle:
+0x3982 012270 call module_control_air_flow 
+0x3983 012271 call l2cap_malloc_is_fifo_full 
+0x3984 012272 nrtn blank 
+0x3985 012273 branch module_process 
+:      012276 module_process_bb_event:
+0x3986 012277 copy regc ,pdata 
+0x3987 012278 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x3988 012279 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x3989 012280 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x398a 012281 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x398b 012282 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x398c 012283 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x398d 012284 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x398e 012285 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x398f 012286 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x3990 012287 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x3991 012288 beq bt_evt_le_connected ,module_process_le_conn 
+0x3992 012289 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x3993 012290 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x3994 012291 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x3995 012292 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x3996 012293 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x3997 012294 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x3998 012295 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x3999 012296 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x399a 012297 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x399b 012298 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x399c 012299 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x399d 012300 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x399e 012301 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x399f 012302 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x39a0 012303 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x39a1 012304 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x39a2 012305 rtn 
+:      012308 module_process_bb_event_disconned:
+0x39a3 012309 call module_spp_clear_last_transmite_clock 
+0x39a4 012310 fetch 1 ,mem_flag_pairing_state 
+0x39a5 012311 ncall module_hci_event_bt_pairing_fail ,blank 
+0x39a6 012312 call module_disconn_start 
+0x39a7 012313 fetch 2 ,mem_ui_state_map 
+0x39a8 012314 rtnbit0 ui_state_bt_spp_conn 
+0x39a9 012315 branch module_spp_disconnected 
+:      012317 module_process_spp_connected:
+0x39aa 012318 fetch 2 ,mem_ui_state_map 
+0x39ab 012319 set1 ui_state_bt_spp_conn ,pdata 
+0x39ac 012320 store 2 ,mem_ui_state_map 
+0x39ad 012321 fetch 1 ,mem_module_spp_lpm_mult 
+0x39ae 012322 store 1 ,mem_lpm_mult 
+0x39af 012323 call module_set_conn_pin_low 
+0x39b0 012324 branch module_hci_event_spp_connect 
+:      012326 module_process_spp_disconnected:
+:      012328 module_spp_disconnected:
+0x39b1 012329 fetch 2 ,mem_ui_state_map 
+0x39b2 012330 rtnbit0 ui_state_bt_spp_conn 
+0x39b3 012331 set0 ui_state_bt_spp_conn ,pdata 
+0x39b4 012332 store 2 ,mem_ui_state_map 
+0x39b5 012333 branch module_hci_event_spp_disconnect 
+:      012336 module_process_enter_sniff:
+:      012338 module_sniff_param_check:
+0x39b6 012339 call module_spp_clear_last_transmite_clock 
+0x39b7 012342 fetch 2 ,mem_context + coffset_tsniff 
+0x39b8 012343 rshift pdata ,pdata 
+0x39b9 012344 fetcht 2 ,mem_sniff_param_interval 
+0x39ba 012345 isub temp ,null 
+0x39bb 012346 nbranch module_sniff_param_check_unsniff ,zero 
+0x39bc 012347 branch app_lpm_mult_enable 
+:      012348 module_sniff_param_check_unsniff:
+0x39bd 012349 fetch 1 ,mem_module_flag 
+0x39be 012350 rtnbit1 moudle_task_unsniff 
+0x39bf 012351 hfetch 2 ,core_uart_rxitems 
+0x39c0 012352 ncall module_set_unsniff_task_flag ,blank 
+0x39c1 012353 branch app_bt_sniff_exit 
+:      012355 module_process_exit_sniff:
+0x39c2 012356 call module_clear_sniff_task_flag 
+0x39c3 012357 branch app_lpm_mult_disable 
+:      012359 module_process_setup_complete:
+0x39c4 012360 call module_spp_clear_last_transmite_clock 
+0x39c5 012361 branch module_conn_start 
+:      012363 module_process_bb_even_le_disconn:
+0x39c6 012364 call le_clr_config_more_data 
+0x39c7 012365 call module_disconn_start 
+0x39c8 012366 branch module_hci_event_le_disconnect 
+:      012368 module_process_evt_pincode_req:
+0x39c9 012369 branch app_bt_set_pincode 
+:      012372 module_process_sniff_not_accept:
+0x39ca 012373 branch module_clear_sniff_task_flag 
+:      012376 module_process_unsniff_accept:
+0x39cb 012377 fetch 1 ,mem_module_flag 
+0x39cc 012378 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x39cd 012379 branch module_clear_unsniff_task_flag 
+:      012382 module_process_unsniff_not_accept:
+0x39ce 012383 branch module_clear_unsniff_task_flag 
+:      012386 module_process_le_conn:
+0x39cf 012387 call le_send_att_exchange_mtu_requset 
+0x39d0 012388 call module_conn_start 
+0x39d1 012389 fetch 1 ,mem_module_le_lpm_mult 
+0x39d2 012390 store 1 ,mem_lpm_mult 
+0x39d3 012391 branch module_hci_event_le_connect 
+:      012394 module_process_bb_conn:
+0x39d4 012395 jam 0 ,mem_flag_mode_ssp_pin 
+0x39d5 012396 call module_clear_sniff_task_flag 
+0x39d6 012397 branch module_clear_unsniff_task_flag 
+:      012399 module_process_page_time_out:
+:      012400 module_process_reconn_fail:
+:      012401 module_disconn_start:
+0x39d7 012402 call module_start_adv_discovery_by_command 
+0x39d8 012403 branch module_set_conn_pin_high 
+:      012406 module_process_ble_ltk_lost:
+0x39d9 012407 call le_send_reject_ind 
+0x39da 012408 branch le_send_smp_security_request 
+:      012411 module_set_conn_pin_high:
+0x39db 012412 fetcht 1 ,mem_module_connect_state_gpio 
+0x39dc 012413 branch gpio_out_active 
+:      012415 module_conn_start:
+0x39dd 012416 call module_stop_adv_discovery 
+0x39de 012417 branch module_set_conn_pin_low 
+:      012419 module_stop_adv_discovery:
+0x39df 012420 fetch 1 ,mem_module_state 
+0x39e0 012421 isolate1 moudle_state_bt_bit ,pdata 
+0x39e1 012422 call app_bt_stop_discovery ,true 
+0x39e2 012423 fetch 1 ,mem_module_state 
+0x39e3 012424 isolate1 moudle_state_ble_bit ,pdata 
+0x39e4 012425 call app_ble_stop_adv ,true 
+0x39e5 012426 rtn 
+:      012427 module_set_conn_pin_low:
+0x39e6 012428 fetcht 1 ,mem_module_connect_state_gpio 
+0x39e7 012429 branch gpio_out_inactive 
+:      012431 module_process_with_credit:
+0x39e8 012432 fetch 1 ,mem_credit_flag 
+0x39e9 012433 rtneq credit_disable 
+0x39ea 012434 branch rfcomm_send_uih_without_payload 
+:      012436 module_process:
+0x39eb 012437 hfetch 1 ,core_uart_status 
+0x39ec 012438 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+0x39ed 012439 call uartd_prepare_rx 
+0x39ee 012440 ifetch 1 ,contru 
+0x39ef 012441 bne 0x01 ,module_hci_in_excp 
+0x39f0 012442 hfetch 2 ,core_uart_rxitems 
+0x39f1 012443 sub pdata ,2 ,null 
+0x39f2 012444 rtn positive 
+0x39f3 012445 ifetch 1 ,contru 
+0x39f4 012446 store 1 ,mem_module_uart_opcode 
+0x39f5 012447 ifetcht 1 ,contru 
+0x39f6 012448 copy contru ,rega 
+0x39f7 012449 storet 1 ,mem_module_uart_len 
+0x39f8 012450 add temp ,3 ,temp 
+0x39f9 012451 hfetch 2 ,core_uart_rxitems 
+0x39fa 012452 isub temp ,temp 
+0x39fb 012453 nrtn positive 
+0x39fc 012454 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x39fd 012455 call module_hci_cmd_control 
+0x39fe 012456 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x39ff 012457 rtneq hci_not_discard_packet 
+0x3a00 012458 branch module_hci_dicard_packet 
+:      012460 module_hci_in_excp:
+0x3a01 012461 call delay_10ms 
+0x3a02 012462 call module_hci_event_invalid_packet 
+0x3a03 012463 branch module_hci_release_except 
+:      012466 module_hci_release_except:
+0x3a04 012467 bpatch patch1b_7 ,mem_patch1b 
+0x3a05 012468 hfetch 2 ,core_uart_rxitems 
+0x3a06 012469 rtn blank 
+0x3a07 012470 call uartd_prepare_rx 
+0x3a08 012471 ifetch 1 ,contru 
+0x3a09 012472 sub pdata ,0x01 ,null 
+0x3a0a 012473 ncall module_hci_dicard_bytes ,zero 
+0x3a0b 012474 nbranch module_hci_release_except ,zero 
+0x3a0c 012475 ifetch 1 ,contru 
+0x3a0d 012476 rtneq hci_cmd_spp_data_req 
+0x3a0e 012477 rtneq hci_cmd_set_credit_given 
+0x3a0f 012478 increase -1 ,contru 
+0x3a10 012479 call module_hci_dicard_bytes 
+0x3a11 012480 branch module_hci_release_except 
+:      012482 module_hci_dicard_packet:
+0x3a12 012483 call uartd_prepare_rx 
+0x3a13 012484 increase 2 ,contru 
+0x3a14 012485 ifetch 1 ,contru 
+0x3a15 012486 iadd contru ,contru 
+:      012487 module_hci_dicard_bytes:
+0x3a16 012488 branch uartd_rxdone 
+:      012491 module_hci_cmd_control:
+0x3a17 012492 bpatch patch1c_0 ,mem_patch1c 
+0x3a18 012493 fetch 1 ,mem_module_uart_opcode 
+0x3a19 012494 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x3a1a 012495 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x3a1b 012496 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x3a1c 012497 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x3a1d 012498 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x3a1e 012499 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x3a1f 012500 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x3a20 012501 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x3a21 012502 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x3a22 012503 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x3a23 012504 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+0x3a24 012505 beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+0x3a25 012506 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x3a26 012507 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x3a27 012508 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x3a28 012509 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x3a29 012510 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x3a2a 012511 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x3a2b 012512 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x3a2c 012513 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+0x3a2d 012514 beq hci_cmd_power_set ,module_hci_cmd_power_set 
+0x3a2e 012515 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x3a2f 012516 beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+0x3a30 012517 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+0x3a31 012518 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x3a32 012519 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x3a33 012520 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x3a34 012521 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x3a35 012522 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x3a36 012523 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x3a37 012524 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0x3a38 012525 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x3a39 012526 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x3a3a 012527 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x3a3b 012528 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x3a3c 012529 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x3a3d 012530 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x3a3e 012531 branch module_hci_event_receive_invalid_cmd 
+:      012536 module_hci_cmd_set_bt_addr:
+0x3a3f 012537 fetch 1 ,mem_module_uart_len 
+0x3a40 012538 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a41 012539 ifetch 6 ,contru 
+0x3a42 012540 store 6 ,mem_lap 
+0x3a43 012541 branch module_hci_event_receive_valid_cmd 
+:      012544 module_hci_cmd_set_le_addr:
+0x3a44 012545 fetch 1 ,mem_module_uart_len 
+0x3a45 012546 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a46 012547 ifetch 6 ,contru 
+0x3a47 012548 store 6 ,mem_le_lap 
+0x3a48 012549 branch module_hci_event_receive_valid_cmd 
+:      012553 module_hci_cmd_set_visibility:
+0x3a49 012554 fetch 1 ,mem_module_uart_len 
+0x3a4a 012555 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3a4b 012556 copy rega ,contru 
+0x3a4c 012557 call module_hci_event_receive_valid_cmd 
+0x3a4d 012558 ifetcht 1 ,contru 
+0x3a4e 012559 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a4f 012560 fetch 2 ,mem_ui_state_map 
+0x3a50 012561 rtnbit1 ui_state_ble_connected 
+0x3a51 012562 rtnbit1 ui_state_bt_connected 
+:      012563 module_start_adv_discovery_by_command:
+0x3a52 012564 fetch 1 ,mem_module_state 
+0x3a53 012565 isolate1 moudle_state_bt_bit ,pdata 
+0x3a54 012566 nbranch moudle_start_adv_by_command ,true 
+0x3a55 012567 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a56 012568 and temp ,0x03 ,pdata 
+0x3a57 012569 store 1 ,mem_scan_mode 
+:      012570 moudle_start_adv_by_command:
+0x3a58 012571 fetch 1 ,mem_module_state 
+0x3a59 012572 isolate1 moudle_state_ble_bit ,pdata 
+0x3a5a 012573 nrtn true 
+0x3a5b 012574 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a5c 012575 isolate1 2 ,temp 
+0x3a5d 012576 branch app_ble_start_adv ,true 
+0x3a5e 012577 branch app_ble_stop_adv 
+:      012581 module_hci_cmd_set_bt_name:
+0x3a5f 012582 fetch 1 ,mem_module_uart_len 
+0x3a60 012583 sub pdata ,67 ,null 
+0x3a61 012584 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a62 012585 store 1 ,mem_local_name_length 
+0x3a63 012586 arg 8 ,loopcnt 
+0x3a64 012587 call memset0 
+0x3a65 012588 fetch 1 ,mem_module_uart_len 
+0x3a66 012589 copy pdata ,loopcnt 
+0x3a67 012590 copy rega ,contru 
+0x3a68 012591 arg mem_local_name ,contw 
+0x3a69 012592 call uart_copy_rx_bytes_fast 
+0x3a6a 012593 branch module_hci_event_receive_valid_cmd 
+:      012597 module_hci_cmd_set_le_name:
+0x3a6b 012598 fetch 1 ,mem_module_uart_len 
+0x3a6c 012599 sub pdata ,29 ,null 
+0x3a6d 012600 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a6e 012601 store 1 ,mem_le_name_len 
+0x3a6f 012602 copy pdata ,loopcnt 
+0x3a70 012603 copy rega ,contru 
+0x3a71 012604 arg mem_le_name ,contw 
+0x3a72 012605 call uart_copy_rx_bytes_fast 
+0x3a73 012606 call le_modified_name 
+0x3a74 012607 branch module_hci_event_receive_valid_cmd 
+:      012611 module_hci_cmd_receive_spp_data:
+0x3a75 012612 fetch 1 ,mem_ui_state_map 
+0x3a76 012613 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x3a77 012614 call app_check_sniff 
+0x3a78 012615 branch module_hci_cmd_spp_exit_sniff ,true 
+0x3a79 012616 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a7a 012618 call module_spp_clear_last_transmite_clock 
+0x3a7b 012619 fetch 1 ,mem_remote_credits 
+0x3a7c 012620 rtn blank 
+0x3a7d 012621 fetch 2 ,mem_nl_rx_len_all 
+0x3a7e 012622 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x3a7f 012623 fetch 1 ,mem_module_uart_len 
+0x3a80 012624 store 2 ,mem_nl_rx_len_all 
+0x3a81 012626 copy rega ,contru 
+0x3a82 012629 copy contru ,pdata 
+0x3a83 012630 store 2 ,mem_nl_rx_data_src 
+:      012631 module_hci_cmd_pass_init_ng_rx_len_all:
+0x3a84 012632 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x3a85 012633 branch spp_tx_rfcomm_packet 
+:      012635 module_hci_cmd_spp_exit_sniff:
+0x3a86 012636 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a87 012637 branch module_exit_sniff 
+:      012639 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x3a88 012640 call module_hci_cmd_get_current_patcket_len 
+0x3a89 012641 fetch 2 ,mem_nl_rx_len_all 
+0x3a8a 012642 fetcht 2 ,mem_current_packet_length 
+0x3a8b 012643 isub temp ,pdata 
+0x3a8c 012644 store 2 ,mem_nl_rx_len_all 
+0x3a8d 012645 rtn 
+:      012647 module_hci_cmd_get_current_patcket_len:
+0x3a8e 012648 fetch 2 ,mem_nl_rx_len_all 
+0x3a8f 012649 arg dm_refcom_buff_len ,temp 
+0x3a90 012650 call not_greater_than 
+0x3a91 012651 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x3a92 012652 call not_greater_than 
+0x3a93 012653 fetcht 2 ,mem_pn_max_frame_size 
+0x3a94 012654 call not_greater_than 
+0x3a95 012655 store 2 ,mem_current_packet_length 
+0x3a96 012656 rtn 
+:      012658 module_hci_command_tx_spp_tx_complete:
+0x3a97 012659 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a98 012660 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x3a99 012661 branch module_hci_event_receive_valid_cmd 
+:      012665 module_hci_cmd_receive_le_data:
+0x3a9a 012666 fetch 2 ,mem_ui_state_map 
+0x3a9b 012667 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3a9c 012668 call module_check_ble_encrypt_state 
+0x3a9d 012669 branch module_hci_event_receive_invalid_cmd ,user 
+0x3a9e 012670 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a9f 012671 fetch 1 ,mem_module_flag 
+0x3aa0 012672 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x3aa1 012673 fetch 1 ,mem_module_hci_notify_len 
+0x3aa2 012674 nrtn blank 
+0x3aa3 012675 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aa4 012676 ifetch 2 ,contru 
+0x3aa5 012677 store 2 ,mem_module_hci_notify_handle 
+0x3aa6 012678 copy contru ,pdata 
+0x3aa7 012679 store 2 ,mem_module_hci_nofiy_addr 
+0x3aa8 012680 fetch 1 ,mem_module_uart_len 
+0x3aa9 012681 pincrease -2 
+0x3aaa 012682 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aab 012683 branch module_hci_event_receive_invalid_cmd ,zero 
+0x3aac 012684 store 1 ,mem_module_hci_notify_len 
+0x3aad 012685 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aae 012686 call le_set_config_more_data 
+0x3aaf 012687 call module_hci_cmd_transmit_le_notify 
+0x3ab0 012688 call module_hci_cmd_transmit_le_notify 
+0x3ab1 012689 call module_hci_cmd_transmit_le_notify 
+0x3ab2 012690 fetch 1 ,mem_module_flag 
+0x3ab3 012691 rtnbit0 module_flag_ble_data_finish 
+:      012692 module_hci_cmd_receive_le_data_finish:
+0x3ab4 012693 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3ab5 012694 call module_clear_le_tx_data_flag 
+0x3ab6 012695 branch module_hci_event_receive_valid_cmd 
+:      012697 module_hci_cmd_transmit_le_notify:
+0x3ab7 012698 fetch 1 ,mem_module_hci_notify_len 
+0x3ab8 012699 rtn blank 
+0x3ab9 012700 call le_fifo_check_nearly_full 
+0x3aba 012701 nrtn blank 
+0x3abb 012702 call module_get_le_remote_mtu 
+0x3abc 012703 bpatch patch1c_1 ,mem_patch1c 
+0x3abd 012704 add temp ,-3 ,pdata 
+0x3abe 012705 fetcht 1 ,mem_module_hci_notify_len 
+0x3abf 012706 call not_greater_than 
+0x3ac0 012707 copy pdata ,rega 
+0x3ac1 012708 copy temp ,pdata 
+0x3ac2 012709 isub rega ,pdata 
+0x3ac3 012710 store 1 ,mem_module_hci_notify_len 
+0x3ac4 012711 fetcht 2 ,mem_module_hci_notify_handle 
+0x3ac5 012712 call le_att_malloc_tx_notify 
+0x3ac6 012713 fetch 2 ,mem_module_hci_nofiy_addr 
+0x3ac7 012714 copy pdata ,contru 
+0x3ac8 012715 copy rega ,loopcnt 
+0x3ac9 012716 call uart_copy_rx_bytes_fast 
+0x3aca 012717 copy contru ,pdata 
+0x3acb 012718 store 2 ,mem_module_hci_nofiy_addr 
+0x3acc 012719 fetch 1 ,mem_module_hci_notify_len 
+0x3acd 012720 nrtn blank 
+0x3ace 012721 branch module_set_le_tx_data_flag 
+:      012725 module_get_le_remote_mtu:
+0x3acf 012726 arg 0x17 ,temp 
+0x3ad0 012727 fetch 1 ,mem_module_flag 
+0x3ad1 012728 rtnbit1 module_flag_ble_send_mtu23 
+0x3ad2 012729 fetcht 2 ,mem_le_remote_mtu 
+0x3ad3 012730 rtn 
+:      012732 module_check_ble_encrypt_state:
+0x3ad4 012733 fetch 1 ,mem_module_flag 
+0x3ad5 012734 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x3ad6 012735 branch disable_user 
+:      012739 module_hci_cmd_inquire_status:
+0x3ad7 012740 branch module_hci_event_status_res 
+:      012744 module_hci_cmd_set_pairing_mode:
+0x3ad8 012745 copy rega ,contru 
+0x3ad9 012746 ifetch 1 ,contru 
+0x3ada 012747 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x3adb 012748 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x3adc 012749 beq pairing_passkey ,module_hci_pairing_passkey 
+0x3add 012750 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x3ade 012751 branch module_hci_event_receive_invalid_cmd 
+:      012752 module_hci_pairing_pincode_mode:
+0x3adf 012753 call ssp_disable 
+0x3ae0 012754 jam 0 ,mem_ssp_enable 
+0x3ae1 012755 branch module_hci_event_receive_valid_cmd 
+:      012756 module_hci_pairing_just_work_mode:
+0x3ae2 012757 setarg ssp_mode_just_work_io_cap_data 
+:      012758 module_hci_sspairing_mode:
+0x3ae3 012759 store 3 ,mem_sp_iocap_local 
+0x3ae4 012760 store 1 ,mem_ssp_mode_flag 
+0x3ae5 012761 call ssp_enable 
+0x3ae6 012762 jam 1 ,mem_ssp_enable 
+0x3ae7 012763 branch module_hci_event_receive_valid_cmd 
+:      012764 module_hci_pairing_passkey:
+0x3ae8 012765 setarg ssp_mode_passkey_io_cap_data 
+0x3ae9 012766 branch module_hci_sspairing_mode 
+:      012768 module_hci_pairing_numeric_comparison:
+0x3aea 012769 setarg ssp_mode_ssp_pin_io_cap_data 
+0x3aeb 012770 branch module_hci_sspairing_mode 
+:      012773 module_hci_cmd_set_pincode:
+0x3aec 012774 fetch 1 ,mem_module_uart_len 
+0x3aed 012775 sub pdata ,16 ,null 
+0x3aee 012776 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aef 012777 store 1 ,mem_pin_length 
+0x3af0 012778 copy pdata ,loopcnt 
+0x3af1 012779 arg mem_pin ,contw 
+0x3af2 012780 call uart_copy_rx_bytes 
+0x3af3 012781 branch module_hci_event_receive_valid_cmd 
+:      012785 module_hci_cmd_set_uart_control_mode:
+0x3af4 012786 copy rega ,contru 
+0x3af5 012787 ifetch 1 ,contru 
+0x3af6 012788 hfetcht 1 ,core_uart_ctrl 
+0x3af7 012789 nsetflag blank ,4 ,temp 
+0x3af8 012790 hstoret 1 ,core_uart_ctrl 
+0x3af9 012791 branch module_hci_event_receive_valid_cmd 
+:      012795 module_hci_cmd_set_uart_baud:
+0x3afa 012796 fetch 1 ,mem_module_uart_len 
+0x3afb 012797 copy pdata ,loopcnt 
+0x3afc 012798 copy rega ,contru 
+0x3afd 012799 call string2dec_from_uart 
+0x3afe 012800 setarg uart_clk_24 
+0x3aff 012801 idiv temp 
+0x3b00 012802 call wait_div_end 
+0x3b01 012803 quotient pdata 
+:      012804 module_hci_cmd_set_uart_baud_ok:
+0x3b02 012805 store uart_baud_len ,mem_baud 
+0x3b03 012806 call module_hci_event_receive_valid_cmd 
+0x3b04 012807 call wait_uarttx 
+0x3b05 012808 branch uart_set_baud_by_mem 
+:      012812 module_hci_cmd_version_request:
+0x3b06 012813 arg 2 ,rega 
+0x3b07 012814 arg mem_soft_version_num ,regb 
+0x3b08 012815 arg 0 ,temp 
+0x3b09 012816 branch module_hci_event_set_cmd 
+:      012817 module_hci_event_set_cmd_send_response:
+0x3b0a 012818 store 2 ,mem_event_cmd_response_content 
+0x3b0b 012819 arg mem_event_cmd_response_content ,regb 
+0x3b0c 012820 arg 0 ,temp 
+0x3b0d 012821 branch module_hci_event_set_cmd 
+:      012825 module_hci_cmd_bt_disconnect:
+0x3b0e 012826 fetch 2 ,mem_ui_state_map 
+0x3b0f 012827 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      012828 module_hci_cmd_bt_disconnect_doing:
+0x3b10 012829 call module_hci_event_receive_valid_cmd 
+0x3b11 012830 branch app_bt_disconnect 
+:      012834 module_hci_cmd_ble_disconnect:
+0x3b12 012835 fetch 2 ,mem_ui_state_map 
+0x3b13 012836 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      012837 module_hci_cmd_ble_disconnect_doing:
+0x3b14 012838 call module_hci_event_receive_valid_cmd 
+0x3b15 012839 branch app_ble_disconnect 
+:      012845 module_hci_cmd_set_nvram:
+0x3b16 012846 fetch 1 ,mem_module_uart_len 
+0x3b17 012847 copy pdata ,loopcnt 
+0x3b18 012848 copy rega ,contru 
+0x3b19 012849 fetch 2 ,mem_nv_data_ptr 
+0x3b1a 012850 icopy contw 
+0x3b1b 012851 call uart_copy_rx_bytes_fast 
+0x3b1c 012852 branch module_hci_event_receive_valid_cmd 
+:      012856 module_hci_cmd_confirm_gkey:
+0x3b1d 012857 fetch 1 ,mem_ui_state_map 
+0x3b1e 012858 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x3b1f 012859 ifetch 1 ,contru 
+0x3b20 012860 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x3b21 012861 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x3b22 012862 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x3b23 012863 storet 1 ,mem_flag_mode_ssp_pin 
+0x3b24 012865 call module_hci_event_receive_valid_cmd 
+0x3b25 012867 fetch 1 ,mem_flag_mode_ssp_pin 
+0x3b26 012868 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x3b27 012869 rtn 
+:      012871 dhkey_not_accept:
+0x3b28 012872 jam 0 ,mem_flag_mode_ssp_pin 
+0x3b29 012873 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x3b2a 012874 branch ui_ipc_send_cmd 
+:      012877 module_hci_cmd_spp_number_comparison_result_is1:
+0x3b2b 012878 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x3b2c 012879 branch dhkey_not_accept 
+:      012883 module_hci_cmd_set_credit_given:
+0x3b2d 012884 fetch 1 ,mem_ui_state_map 
+0x3b2e 012885 rtnbit0 ui_state_bt_spp_conn 
+0x3b2f 012886 fetch 1 ,mem_credit_flag 
+0x3b30 012887 rtneq credit_disable 
+0x3b31 012888 ifetch 1 ,contru 
+0x3b32 012889 fetcht 1 ,mem_credit_given 
+0x3b33 012890 iadd temp ,temp 
+0x3b34 012891 storet 1 ,mem_credit_given 
+0x3b35 012892 rtn 
+:      012896 module_hci_cmd_auto_adv:
+0x3b36 012897 arg 0x40 ,loopcnt 
+0x3b37 012898 arg mem_le_adv_data_len ,contw 
+0x3b38 012899 call clear_mem 
+0x3b39 012900 setarg 0 
+0x3b3a 012901 store 1 ,mem_regb 
+0x3b3b 012902 copy rega ,contru 
+:      012903 module_hci_cmd_auto_adv_loop:
+0x3b3c 012904 copy contru ,pdata 
+0x3b3d 012905 store 2 ,mem_regc 
+0x3b3e 012906 call module_hci_cmd_auto_adv_adv_analys 
+0x3b3f 012908 fetch 1 ,mem_regb 
+0x3b40 012909 fetcht 1 ,mem_temp 
+0x3b41 012910 increase 1 ,temp 
+0x3b42 012911 iadd temp ,pdata 
+0x3b43 012912 store 1 ,mem_regb 
+0x3b44 012914 sub pdata ,31 ,null 
+0x3b45 012915 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      012916 module_hci_cmd_auto_adv_store_adv:
+0x3b46 012917 fetcht 1 ,mem_le_adv_data_len 
+0x3b47 012918 setarg mem_le_adv_data 
+0x3b48 012919 iadd temp ,pdata 
+0x3b49 012920 store 2 ,mem_contw 
+0x3b4a 012921 fetcht 1 ,mem_temp 
+0x3b4b 012922 increase 1 ,temp 
+0x3b4c 012923 fetch 1 ,mem_le_adv_data_len 
+0x3b4d 012924 iadd temp ,pdata 
+0x3b4e 012925 store 1 ,mem_le_adv_data_len 
+0x3b4f 012926 branch module_hci_cmd_auto_adv_store_common 
+:      012927 module_hci_cmd_auto_adv_store_scan:
+0x3b50 012928 fetcht 1 ,mem_le_scan_data_len 
+0x3b51 012929 setarg mem_le_scan_data 
+0x3b52 012930 iadd temp ,pdata 
+0x3b53 012931 store 2 ,mem_contw 
+0x3b54 012932 fetcht 1 ,mem_temp 
+0x3b55 012933 increase 1 ,temp 
+0x3b56 012934 fetch 1 ,mem_le_scan_data_len 
+0x3b57 012935 iadd temp ,pdata 
+0x3b58 012936 store 1 ,mem_le_scan_data_len 
+:      012937 module_hci_cmd_auto_adv_store_common:
+0x3b59 012938 fetch 2 ,mem_contw 
+0x3b5a 012939 copy pdata ,contw 
+0x3b5b 012940 fetch 2 ,mem_regc 
+0x3b5c 012941 copy pdata ,contru 
+0x3b5d 012943 copy temp ,loopcnt 
+0x3b5e 012944 call uart_copy_rx_bytes_fast 
+0x3b5f 012946 fetch 1 ,mem_module_uart_len 
+0x3b60 012947 fetcht 1 ,mem_regb 
+0x3b61 012948 isub temp ,null 
+0x3b62 012949 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x3b63 012950 branch module_hci_event_receive_valid_cmd 
+:      012953 module_hci_cmd_auto_adv_adv_analys:
+0x3b64 012954 ifetch 1 ,contru 
+0x3b65 012955 store 1 ,mem_temp 
+0x3b66 012956 ifetch 1 ,contru 
+0x3b67 012957 store 1 ,mem_rega 
+0x3b68 012958 rtn 
+:      012962 module_hci_cmd_power_request:
+0x3b69 012963 arg 0 ,temp 
+0x3b6a 012964 arg 2 ,rega 
+0x3b6b 012965 fetch 2 ,mem_module_vdd_quotient 
+0x3b6c 012966 store 2 ,mem_event_cmd_response_content 
+0x3b6d 012967 arg mem_event_cmd_response_content ,regb 
+0x3b6e 012968 branch module_hci_event_set_cmd 
+:      012972 module_hci_cmd_power_set:
+0x3b6f 012973 fetch 1 ,mem_module_uart_len 
+0x3b70 012974 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b71 012975 ifetch 1 ,contru 
+0x3b72 012976 store 1 ,mem_module_read_vdd_flag 
+0x3b73 012977 setarg 0x00 
+0x3b74 012978 store 2 ,mem_module_vdd_quotient 
+0x3b75 012979 branch module_hci_event_receive_valid_cmd 
+:      012983 module_hci_cmd_passkey_entry:
+0x3b76 012984 ifetch 4 ,contru 
+0x3b77 012985 store 4 ,mem_pin 
+0x3b78 012986 jam 4 ,mem_pin_length 
+0x3b79 012987 jam 0 ,mem_authentication_passkey_times 
+0x3b7a 012988 call module_hci_event_receive_valid_cmd 
+0x3b7b 012989 branch authentication_passkey 
+:      012993 module_hci_cmd_set_gpio:
+0x3b7c 012994 fetch 1 ,mem_module_uart_len 
+0x3b7d 012995 bne 3 ,module_hci_event_receive_invalid_cmd 
+0x3b7e 012996 ifetch 1 ,contru 
+0x3b7f 012997 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+0x3b80 012998 beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+0x3b81 012999 branch module_hci_event_receive_invalid_cmd 
+:      013001 module_set_gpio_input:
+0x3b82 013002 ifetcht 1 ,contru 
+0x3b83 013003 ifetch 1 ,contru 
+0x3b84 013004 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+0x3b85 013005 nsetflag blank ,7 ,temp 
+0x3b86 013006 call gpio_config_input 
+0x3b87 013007 branch module_hci_event_receive_valid_cmd 
+:      013009 module_set_gpio_high_impedance:
+0x3b88 013010 call gpio_set_high_impedance 
+0x3b89 013011 branch module_hci_event_receive_valid_cmd 
+:      013013 module_set_gpio_output:
+0x3b8a 013014 ifetcht 1 ,contru 
+0x3b8b 013015 call gpio_config_output0 
+0x3b8c 013016 ifetch 1 ,contru 
+0x3b8d 013017 isolate1 0 ,pdata 
+0x3b8e 013018 call gpio_out_flag 
+0x3b8f 013019 branch module_hci_event_receive_valid_cmd 
+:      013023 module_hci_cmd_read_gpio:
+0x3b90 013024 fetch 1 ,mem_module_uart_len 
+0x3b91 013025 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b92 013026 ifetcht 1 ,contru 
+0x3b93 013027 call gpio_get_bit 
+0x3b94 013028 setarg 0x0 
+0x3b95 013029 nsetflag true ,0 ,pdata 
+0x3b96 013030 arg 1 ,rega 
+0x3b97 013031 branch module_hci_event_set_cmd_send_response 
+:      013035 module_hci_cmd_le_set_pairing_mode:
+0x3b98 013036 copy rega ,contru 
+0x3b99 013037 ifetch 1 ,contru 
+0x3b9a 013038 copy pdata ,temp 
+0x3b9b 013039 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x3b9c 013040 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x3b9d 013041 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x3b9e 013042 store 1 ,mem_le_pairing_mode 
+0x3b9f 013043 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x3ba0 013044 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x3ba1 013045 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x3ba2 013046 branch module_hci_event_receive_invalid_cmd 
+:      013048 module_le_set_pairing_mode_secure_justwork:
+0x3ba3 013049 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba4 013050 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3ba5 013051 storet 1 ,mem_le_pairing_mode 
+0x3ba6 013052 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3ba7 013053 branch module_le_set_noinputnooutput 
+:      013054 module_le_set_pairing_mode_secure_numeric:
+0x3ba8 013055 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba9 013056 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3baa 013057 storet 1 ,mem_le_pairing_mode 
+0x3bab 013058 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bac 013059 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x3bad 013060 branch module_hci_event_receive_valid_cmd 
+:      013061 module_le_set_pairing_mode_secure_passkey:
+0x3bae 013062 fetch 1 ,mem_le_secure_connect_enable 
+0x3baf 013063 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bb0 013064 storet 1 ,mem_le_pairing_mode 
+0x3bb1 013065 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bb2 013066 branch module_le_set_displayonly 
+:      013067 module_le_set_no_pairing:
+0x3bb3 013068 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      013069 module_le_set_noinputnooutput:
+0x3bb4 013070 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x3bb5 013071 branch module_hci_event_receive_valid_cmd 
+:      013072 module_le_set_pairing_mode_lagacy_just_work:
+0x3bb6 013073 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x3bb7 013074 branch module_le_set_noinputnooutput 
+:      013075 module_le_set_pairing_mode_lagacy_passkey:
+0x3bb8 013076 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      013077 module_le_set_displayonly:
+0x3bb9 013078 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x3bba 013079 branch module_hci_event_receive_valid_cmd 
+:      013083 module_hci_cmd_le_set_adv_data:
+0x3bbb 013084 fetch 1 ,mem_module_uart_len 
+0x3bbc 013085 sub pdata ,31 ,null 
+0x3bbd 013086 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bbe 013087 store 1 ,mem_le_adv_data_len 
+0x3bbf 013088 copy pdata ,loopcnt 
+0x3bc0 013089 copy rega ,contru 
+0x3bc1 013090 arg mem_le_adv_data ,contw 
+0x3bc2 013091 call uart_copy_rx_bytes_fast 
+0x3bc3 013092 branch module_hci_event_receive_valid_cmd 
+:      013096 module_hci_cmd_le_set_scan_data:
+0x3bc4 013097 fetch 1 ,mem_module_uart_len 
+0x3bc5 013098 sub pdata ,31 ,null 
+0x3bc6 013099 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bc7 013100 store 1 ,mem_le_scan_data_len 
+0x3bc8 013101 copy pdata ,loopcnt 
+0x3bc9 013102 copy rega ,contru 
+0x3bca 013103 arg mem_le_scan_data ,contw 
+0x3bcb 013104 call uart_copy_rx_bytes_fast 
+0x3bcc 013105 branch module_hci_event_receive_valid_cmd 
+:      013109 module_hci_cmd_le_send_conn_update_req:
+0x3bcd 013110 fetch 2 ,mem_ui_state_map 
+0x3bce 013111 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3bcf 013112 fetch 1 ,mem_module_uart_len 
+0x3bd0 013113 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x3bd1 013114 copy rega ,contru 
+0x3bd2 013115 ifetch 8 ,contru 
+0x3bd3 013116 store 8 ,mem_le_interval_min 
+0x3bd4 013117 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3bd5 013118 call ui_ipc_send_cmd 
+0x3bd6 013119 branch module_hci_event_receive_valid_cmd 
+:      013123 module_hci_cmd_set_le_adv_parameter:
+0x3bd7 013124 ifetch 2 ,contru 
+0x3bd8 013125 store 2 ,mem_le_adv_interval 
+0x3bd9 013126 branch module_hci_event_receive_valid_cmd 
+:      013130 module_hci_cmd_le_start_pairing:
+0x3bda 013131 fetch 1 ,mem_le_pairing_mode 
+0x3bdb 013132 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bdc 013133 fetch 1 ,mem_le_pairing_state 
+0x3bdd 013134 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x3bde 013135 fetch 1 ,mem_le_enc_state 
+0x3bdf 013136 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x3be0 013137 call check_51cmd_le_smp_sec_req 
+0x3be1 013138 branch module_hci_event_receive_valid_cmd 
+:      013142 module_hci_cmd_set_wake_gpio:
+0x3be2 013143 fetch 1 ,mem_module_uart_len 
+0x3be3 013144 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3be4 013145 ifetch 1 ,contru 
+0x3be5 013146 store 1 ,mem_module_mcu_wake_pin 
+0x3be6 013147 ifetch 4 ,contru 
+0x3be7 013148 store 4 ,mem_module_mcu_wake_delay_us 
+0x3be8 013149 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3be9 013150 call gpio_config_output 
+0x3bea 013151 call module_set_mcu_wake_pin_low 
+0x3beb 013152 branch module_hci_event_receive_valid_cmd 
+:      013156 module_hci_cmd_set_tx_power:
+0x3bec 013157 fetch 1 ,mem_module_uart_len 
+0x3bed 013158 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bee 013159 ifetch 1 ,contru 
+0x3bef 013160 store 1 ,mem_tx_power 
+0x3bf0 013161 branch module_hci_event_receive_valid_cmd 
+:      013165 module_hci_cmd_le_confirm_gkey:
+0x3bf1 013166 ifetch 1 ,contru 
+0x3bf2 013167 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x3bf3 013168 fetch 1 ,mem_le_secure_connect_state 
+0x3bf4 013169 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf5 013170 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf6 013171 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf7 013172 branch module_hci_event_receive_invalid_cmd 
+:      013173 module_hci_cmd_le_confirm_gkey_ok:
+0x3bf8 013174 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x3bf9 013175 branch module_hci_event_receive_valid_cmd 
+:      013177 module_hci_cmd_le_confirm_gkey_fail:
+0x3bfa 013178 call le_send_pairing_confirm_value_failed 
+0x3bfb 013179 branch module_hci_event_receive_valid_cmd 
+:      013183 module_hci_cmd_set_reject_justwork_flag:
+0x3bfc 013184 fetch 1 ,mem_module_uart_len 
+0x3bfd 013185 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bfe 013186 call module_hci_event_receive_valid_cmd 
+0x3bff 013187 ifetch 1 ,contru 
+0x3c00 013188 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x3c01 013189 branch classic_bt_set_reject_justwork_flag 
+:      013193 module_hci_cmd_reset_chip:
+0x3c02 013194 call module_hci_event_receive_valid_cmd 
+0x3c03 013195 call wait_uarttx 
+0x3c04 013196 jam 0x01 ,core_reset 
+0x3c05 013197 branch loop 
+:      013201 module_hci_cmd_le_set_fixed_passkey:
+0x3c06 013202 fetch 1 ,mem_module_uart_len 
+0x3c07 013203 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x3c08 013204 ifetch 1 ,contru 
+0x3c09 013205 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x3c0a 013206 fetch 1 ,mem_module_uart_len 
+0x3c0b 013207 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3c0c 013208 ifetch 4 ,contru 
+0x3c0d 013209 arg 1000000 ,temp 
+0x3c0e 013210 isub temp ,null 
+0x3c0f 013211 branch module_hci_event_receive_invalid_cmd ,positive 
+0x3c10 013212 store 4 ,mem_le_tk 
+0x3c11 013213 call le_set_config_fixed_tk 
+0x3c12 013214 branch module_hci_event_receive_valid_cmd 
+:      013216 module_hci_cmd_le_set_random_passkey:
+0x3c13 013217 call le_clr_config_fixed_tk 
+0x3c14 013218 branch module_hci_event_receive_valid_cmd 
+:      013222 module_hci_test_cmde_close_lpm:
+0x3c15 013223 jam 0 ,mem_lpm_mode 
+0x3c16 013224 branch module_hci_event_receive_valid_cmd 
+:      013229 module_hci_event_receive_invalid_cmd:
+0x3c17 013230 arg 1 ,temp 
+0x3c18 013231 arg 0 ,rega 
+0x3c19 013232 branch module_hci_event_set_cmd 
+:      013235 module_hci_event_receive_valid_cmd:
+0x3c1a 013236 arg 0 ,temp 
+0x3c1b 013237 arg 0 ,rega 
+0x3c1c 013238 branch module_hci_event_set_cmd 
+:      013242 module_hci_event_spp_connect:
+0x3c1d 013243 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x3c1e 013244 branch module_hci_event_enter_standby_mode_len0 
+:      013248 module_hci_event_le_connect:
+0x3c1f 013249 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x3c20 013250 branch module_hci_event_enter_standby_mode_len0 
+:      013254 module_hci_event_spp_disconnect:
+0x3c21 013255 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x3c22 013256 branch module_hci_event_enter_standby_mode_len0 
+:      013260 module_hci_event_le_disconnect:
+0x3c23 013261 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x3c24 013262 branch module_hci_event_enter_standby_mode_len0 
+:      013270 module_hci_event_set_cmd:
+0x3c25 013271 fetch 1 ,mem_module_uart_opcode 
+0x3c26 013272 copy pdata ,regc 
+0x3c27 013273 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x3c28 013274 setarg 2 
+0x3c29 013275 iadd rega ,pdata 
+0x3c2a 013276 call module_hci_prepare_tx 
+0x3c2b 013277 copy regc ,pdata 
+0x3c2c 013278 istore 1 ,contwu 
+0x3c2d 013279 istoret 1 ,contwu 
+0x3c2e 013280 copy rega ,loopcnt 
+0x3c2f 013281 copy regb ,contr 
+0x3c30 013282 call uart_copy_tx_bytes 
+0x3c31 013283 branch uartd_send 
+:      013287 module_hci_event_receive_spp_data:
+0x3c32 013289 call module_spp_clear_last_transmite_clock 
+0x3c33 013290 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x3c34 013291 fetch 1 ,mem_current_length 
+0x3c35 013292 rtn blank 
+0x3c36 013293 call module_hci_prepare_tx 
+0x3c37 013294 fetch 1 ,mem_current_length 
+0x3c38 013295 copy pdata ,loopcnt 
+0x3c39 013296 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3c3a 013297 copy pdata ,contr 
+0x3c3b 013298 call uart_copy_tx_bytes_fast 
+0x3c3c 013299 branch uartd_send 
+:      013303 module_hci_event_receive_le_data:
+0x3c3d 013304 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x3c3e 013305 fetch 1 ,mem_module_le_rx_data_len 
+0x3c3f 013306 icopy loopcnt 
+0x3c40 013307 increase 2 ,pdata 
+0x3c41 013308 call module_hci_prepare_tx 
+0x3c42 013309 fetch 2 ,mem_module_le_rx_data_handle 
+0x3c43 013310 istore 2 ,contwu 
+0x3c44 013311 fetch 2 ,mem_module_le_rx_data_address 
+0x3c45 013312 icopy contr 
+0x3c46 013313 call uart_copy_tx_bytes_fast 
+0x3c47 013314 branch uartd_send 
+:      013318 module_hci_event_enter_standby_mode:
+0x3c48 013319 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      013320 module_hci_event_enter_standby_mode_len0:
+0x3c49 013321 setarg 0 
+0x3c4a 013322 call module_hci_prepare_tx 
+0x3c4b 013323 branch uartd_send 
+:      013327 module_hci_event_status_res:
+0x3c4c 013328 jam hci_event_status_res ,mem_module_uart_opcode 
+0x3c4d 013329 setarg 1 
+0x3c4e 013330 call module_hci_prepare_tx 
+0x3c4f 013332 call module_hci_read_bt_status 
+0x3c50 013334 fetch 2 ,mem_ui_state_map 
+0x3c51 013335 arg ui_state_bt_hid_conn ,queue 
+0x3c52 013336 qisolate1 pdata 
+0x3c53 013337 setflag true ,3 ,temp 
+0x3c54 013339 arg ui_state_ble_connected ,queue 
+0x3c55 013340 qisolate1 pdata 
+0x3c56 013341 setflag true ,5 ,temp 
+0x3c57 013343 fetch 1 ,mem_ui_state_map 
+0x3c58 013344 arg ui_state_bt_spp_conn ,queue 
+0x3c59 013345 qisolate1 pdata 
+0x3c5a 013346 setflag true ,4 ,temp 
+0x3c5b 013348 istoret 1 ,contwu 
+0x3c5c 013349 branch uartd_send 
+:      013353 module_hci_read_bt_status:
+0x3c5d 013354 arg 0 ,temp 
+0x3c5e 013355 fetch 1 ,mem_scan_mode 
+0x3c5f 013356 arg inq_scan_mode ,queue 
+0x3c60 013357 qisolate1 pdata 
+0x3c61 013358 setflag true ,0 ,temp 
+0x3c62 013359 arg page_scan_mode ,queue 
+0x3c63 013360 qisolate1 pdata 
+0x3c64 013361 setflag true ,1 ,temp 
+0x3c65 013363 fetch 1 ,mem_le_adv_enable 
+0x3c66 013364 arg 0 ,queue 
+0x3c67 013365 qisolate1 pdata 
+0x3c68 013366 setflag true ,2 ,temp 
+0x3c69 013367 rtn 
+:      013371 module_hci_event_store_device:
+0x3c6a 013372 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x3c6b 013373 fetch 1 ,mem_nv_data_number 
+0x3c6c 013374 mul32 pdata ,34 ,pdata 
+0x3c6d 013375 icopy loopcnt 
+0x3c6e 013376 call module_hci_prepare_tx 
+0x3c6f 013377 fetch 2 ,mem_nv_data_ptr 
+0x3c70 013378 icopy contr 
+0x3c71 013379 call uart_copy_tx_bytes_fast 
+0x3c72 013380 branch uartd_send 
+:      013384 module_hci_event_gkey_generate:
+0x3c73 013385 jam hci_event_gkey ,mem_module_uart_opcode 
+0x3c74 013386 setarg 4 
+0x3c75 013387 call module_hci_prepare_tx 
+0x3c76 013388 fetch 4 ,mem_gkey 
+0x3c77 013389 istore 4 ,contwu 
+0x3c78 013390 branch uartd_send 
+:      013394 module_hci_event_invalid_packet:
+0x3c79 013395 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x3c7a 013396 hfetch 2 ,core_uart_rxitems 
+0x3c7b 013397 arg 0xff ,temp 
+0x3c7c 013398 call not_greater_than 
+0x3c7d 013399 copy pdata ,loopcnt 
+0x3c7e 013400 call module_hci_prepare_tx 
+0x3c7f 013401 call uartd_prepare_rx 
+0x3c80 013402 call uart_copy_rx2tx 
+0x3c81 013403 branch uartd_send 
+:      013407 module_hci_event_passkey_entry_mode:
+0x3c82 013408 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x3c83 013409 branch module_hci_event_enter_standby_mode_len0 
+:      013413 module_hci_event_le_tk:
+0x3c84 013414 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x3c85 013415 setarg 4 
+0x3c86 013416 call module_hci_prepare_tx 
+0x3c87 013417 fetch 4 ,mem_le_tk 
+0x3c88 013418 istore 4 ,contwu 
+0x3c89 013419 branch uartd_send 
+:      013423 module_hci_event_le_pairing_fail:
+0x3c8a 013424 arg flag_ble_pairing_fail ,rega 
+0x3c8b 013425 branch module_hci_event_pairing_completed 
+:      013427 module_hci_event_le_pairing_success:
+0x3c8c 013428 arg flag_ble_pairing_success ,rega 
+0x3c8d 013429 branch module_hci_event_pairing_completed 
+:      013431 module_hci_event_bt_pairing_fail:
+0x3c8e 013432 arg flag_bt_pairing_fail ,rega 
+0x3c8f 013433 branch module_hci_event_pairing_completed 
+:      013435 module_hci_event_bt_pairing_success:
+0x3c90 013436 arg flag_bt_pairing_success ,rega 
+:      013438 module_hci_event_pairing_completed:
+0x3c91 013439 jam 0 ,mem_flag_mode_ssp_pin 
+0x3c92 013440 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x3c93 013441 setarg 2 
+0x3c94 013442 call module_hci_prepare_tx 
+0x3c95 013443 copy rega ,pdata 
+0x3c96 013444 istore 2 ,contwu 
+0x3c97 013445 branch uartd_send 
+:      013449 module_hci_event_pause_enc:
+0x3c98 013450 arg flag_event_pause_enc ,regc 
+0x3c99 013451 branch module_hci_event_enc 
+:      013453 module_hci_event_start_enc:
+0x3c9a 013454 arg flag_event_start_enc ,regc 
+:      013456 module_hci_event_enc:
+0x3c9b 013457 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x3c9c 013458 setarg 1 
+0x3c9d 013459 call module_hci_prepare_tx 
+0x3c9e 013460 copy regc ,pdata 
+0x3c9f 013461 istore 1 ,contwu 
+0x3ca0 013462 branch uartd_send 
+:      013466 module_hci_event_le_gkey:
+0x3ca1 013467 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x3ca2 013468 setarg 4 
+0x3ca3 013469 call module_hci_prepare_tx 
+0x3ca4 013470 fetch 4 ,mem_gkey 
+0x3ca5 013471 istore 4 ,contwu 
+0x3ca6 013472 branch uartd_send 
+:      013483 module_hci_prepare_tx:
+0x3ca7 013484 jam 0x02 ,mem_module_uart_cmd 
+0x3ca8 013485 store 1 ,mem_module_uart_len 
+0x3ca9 013486 storet 8 ,mem_temp 
+0x3caa 013487 bpatch patch1c_2 ,mem_patch1c 
+0x3cab 013488 call module_set_mcu_wake_pin_high_delay 
+0x3cac 013489 fetcht 8 ,mem_temp 
+0x3cad 013490 call uartd_prepare_tx 
+0x3cae 013491 fetch 3 ,mem_module_uart_cmd 
+0x3caf 013492 istore 3 ,contwu 
+0x3cb0 013493 rtn 
+:      013496 module_set_mcu_wake_pin_high_delay:
+0x3cb1 013497 call module_check_mcu_wake_pin_high 
+0x3cb2 013498 rtn true 
+:      013499 module_set_mcu_wake_pin_h_delay:
+0x3cb3 013500 call module_set_mcu_wake_pin_high 
+0x3cb4 013501 fetch 4 ,mem_module_mcu_wake_delay_us 
+0x3cb5 013502 rshift2 pdata ,pdata 
+0x3cb6 013503 rtn blank 
+0x3cb7 013504 branch delay 
+:      013506 module_set_mcu_wake_pin_high:
+0x3cb8 013508 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cb9 013509 branch gpio_out_active 
+:      013511 module_check_mcu_wake_pin_high:
+0x3cba 013512 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbb 013513 branch gpio_check_active 
+:      013515 module_set_mcu_wake_pin_low:
+0x3cbc 013516 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbd 013517 branch gpio_out_inactive 
+:      013520 delay:
+0x3cbe 013521 increase -1 ,pdata 
+0x3cbf 013522 nop 38 
+0x3cc0 013523 nbranch delay ,blank 
+0x3cc1 013524 rtn 
+:      013533 module_le_receive_data:
+0x3cc2 013534 call module_check_ble_encrypt_state 
+0x3cc3 013535 rtn user 
+0x3cc4 013536 copy rega ,pdata 
+0x3cc5 013537 store 2 ,mem_module_le_rx_data_address 
+0x3cc6 013538 copy regb ,pdata 
+0x3cc7 013539 store 1 ,mem_module_le_rx_data_len 
+0x3cc8 013540 fetch 2 ,mem_le_att_handle 
+0x3cc9 013541 fetcht 2 ,mem_module_data_write_handle 
+0x3cca 013542 isub temp ,null 
+0x3ccb 013543 branch module_le_receive_data_ok ,zero 
+0x3ccc 013544 fetcht 2 ,mem_module_data_write_handle2 
+0x3ccd 013545 isub temp ,null 
+0x3cce 013546 nrtn zero 
+:      013547 module_le_receive_data_ok:
+0x3ccf 013548 store 2 ,mem_module_le_rx_data_handle 
+0x3cd0 013549 branch module_hci_event_receive_le_data 
+:      013554 module_exit_sniff:
+0x3cd1 013555 fetch 1 ,mem_module_flag 
+0x3cd2 013556 rtnbit1 moudle_task_unsniff 
+0x3cd3 013557 call module_set_unsniff_task_flag 
+0x3cd4 013558 branch app_bt_sniff_exit 
+:      013561 module_set_lpm_mult_2:
+0x3cd5 013562 jam 2 ,mem_lpm_mult 
+0x3cd6 013563 rtn 
+:      013567 module_bb_event_timer:
+0x3cd7 013568 branch module_read_vdd_timer 
+:      013570 module_read_vdd_timer:
+0x3cd8 013571 fetch 1 ,mem_module_read_vdd_flag 
+0x3cd9 013572 rtn blank 
+0x3cda 013573 fetch 1 ,mem_module_read_vdd_count 
+0x3cdb 013574 rtn blank 
+0x3cdc 013575 increase -1 ,pdata 
+0x3cdd 013576 store 1 ,mem_module_read_vdd_count 
+0x3cde 013577 nrtn blank 
+0x3cdf 013578 jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+0x3ce0 013579 call adc_set_mode 
+0x3ce1 013580 call vdd_calculate_by_mode 
+0x3ce2 013581 div pdata ,0x64 
+0x3ce3 013582 call wait_div_end 
+0x3ce4 013583 quotient pdata 
+0x3ce5 013584 remainder temp 
+0x3ce6 013585 store 1 ,mem_module_vdd_quotient 
+0x3ce7 013586 storet 1 ,mem_module_vdd_remainder 
+0x3ce8 013587 rtn 
+:      013590 module_control_air_flow:
+0x3ce9 013591 call check_uart_tx_buff 
+0x3cea 013592 branch app_l2cap_flow_control_enable ,positive 
+0x3ceb 013593 branch app_l2cap_flow_control_disable 
+:      013597 module_set_sniff_task_flag:
+0x3cec 013598 arg moudle_task_sniff ,queue 
+0x3ced 013599 branch module_set_state 
+:      013601 module_clear_sniff_task_flag:
+0x3cee 013602 arg moudle_task_sniff ,queue 
+0x3cef 013603 branch module_clr_state 
+:      013605 module_set_unsniff_task_flag:
+0x3cf0 013606 arg moudle_task_unsniff ,queue 
+0x3cf1 013607 branch module_set_state 
+:      013609 module_clear_unsniff_task_flag:
+0x3cf2 013610 arg moudle_task_unsniff ,queue 
+0x3cf3 013611 branch module_clr_state 
+:      013613 module_set_le_tx_data_flag:
+0x3cf4 013614 arg module_flag_ble_data_finish ,queue 
+0x3cf5 013615 branch module_set_state 
+:      013617 module_clear_le_tx_data_flag:
+0x3cf6 013618 arg module_flag_ble_data_finish ,queue 
+0x3cf7 013619 branch module_clr_state 
+:      013621 module_clr_state:
+0x3cf8 013622 fetch 1 ,mem_module_flag 
+0x3cf9 013623 qset0 pdata 
+0x3cfa 013624 store 1 ,mem_module_flag 
+0x3cfb 013625 rtn 
+:      013627 module_set_state:
+0x3cfc 013628 fetch 1 ,mem_module_flag 
+0x3cfd 013629 qset1 pdata 
+0x3cfe 013630 store 1 ,mem_module_flag 
+0x3cff 013631 rtn 
+:      013641 mouse_init:
+0x3d00 013642 call mouse_setting_config 
+0x3d01 013643 call spi_ncs_enable 
+0x3d02 013644 call mouse_init_sunt 
+0x3d03 013645 call mouse_dpi_config 
+0x3d04 013646 call spi_ncs_disable 
+0x3d05 013647 rtn wake 
+0x3d06 013648 call mouse_cheak_enable_usb 
+0x3d07 013649 call mouse_cb_fuction 
+0x3d08 013652 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d09 013653 rtnbit1 mouse_enable_usb 
+0x3d0a 013654 call mouse_wakeup_from_power 
+0x3d0b 013655 rtnmark1 mark_24g 
+0x3d0c 013656 fetch 2 ,mem_ui_state_map 
+0x3d0d 013657 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x3d0e 013658 branch mouse_check_reconn_target 
+:      013661 mouse_delay_4s:
+0x3d0f 013662 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d10 013663 rtnbit0 mouse_enable_init_delay 
+0x3d11 013664 arg 20 ,loopcnt 
+:      013665 mouse_delay_20ms:
+0x3d12 013666 setarg 200000 
+0x3d13 013667 call sleep 
+0x3d14 013668 loop delay_10ms 
+0x3d15 013669 rtn 
+:      013672 mouse_cheak_enable_usb:
+0x3d16 013673 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d17 013674 rtnbit0 mouse_enable_usb 
+0x3d18 013675 branch usb_init 
+:      013678 mouse_cb_fuction:
+0x3d19 013679 setarg mouse_le 
+0x3d1a 013680 store 2 ,mem_cb_le_process 
+0x3d1b 013681 setarg mouse_send_process 
+0x3d1c 013682 store 2 ,mem_cb_bt_process 
+0x3d1d 013683 setarg mouse_process_lpm_before 
+0x3d1e 013684 store 2 ,mem_cb_before_lpm 
+0x3d1f 013685 setarg mouse_priority_bb_event 
+0x3d20 013686 store 2 ,mem_cb_bb_event_process 
+0x3d21 013687 setarg mouse_idle 
+0x3d22 013688 store 2 ,mem_cb_idle_process 
+0x3d23 013689 setarg mouse_before_hibernate 
+0x3d24 013690 store 2 ,mem_cb_before_hibernate 
+0x3d25 013691 setarg le_mouse_bb_event_connect_complete 
+0x3d26 013692 store 2 ,mem_cb_att_write 
+0x3d27 013694 call g24_head_ptr2regc 
+0x3d28 013695 setarg mouse_g24_package_data 
+0x3d29 013696 add regc ,offset_24g_cb_data ,contw 
+0x3d2a 013697 istore 2 ,contw 
+0x3d2b 013698 setarg mouse_g24_enter_lpm 
+0x3d2c 013699 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x3d2d 013700 istore 2 ,contw 
+0x3d2e 013701 setarg mouse_lpm_before_common 
+0x3d2f 013702 add regc ,offset_24g_cb_lpm_before ,contw 
+0x3d30 013703 istore 2 ,contw 
+0x3d31 013705 setarg mouse_bb_event_timer 
+0x3d32 013706 store 2 ,mem_cb_event_timer 
+0x3d33 013707 setarg mouse_spi_write_flash_cb 
+0x3d34 013708 store 2 ,mem_cb_spi_flash_write_complate 
+0x3d35 013709 rtn 
+:      013710 mouse_spi_write_flash_cb:
+:      013711 mouse_spi_init:
+0x3d36 013712 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d37 013713 bbit0 mouse_enable_spi2 ,spid_init 
+0x3d38 013714 branch spid_init2 
+:      013716 mouse_setting_config:
+0x3d39 013717 rtn wake 
+0x3d3a 013718 call g24_set_device_addr 
+0x3d3b 013719 call mouse_gpio_init 
+0x3d3c 013720 call mouse_param_init 
+0x3d3d 013721 call mouse_adc_init 
+0x3d3e 013722 call le_set_config_fixed_ltk 
+0x3d3f 013723 call le_set_justwork 
+0x3d40 013724 call le_set_fixed_ltk 
+0x3d41 013725 call le_set_config_read_authentication 
+0x3d42 013726 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d43 013727 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+0x3d44 013728 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+0x3d45 013729 rtn 
+:      013731 mouse_init_iic:
+0x3d46 013732 call iic_init_390k 
+0x3d47 013733 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d48 013734 isolate1 mouse_enable_2k_eeprom ,pdata 
+0x3d49 013735 ncall clear_eeprom_size_2k ,true 
+0x3d4a 013736 call mouse_load_eeprom_dpi 
+0x3d4b 013737 call mouse_init_environment 
+0x3d4c 013738 call mouse_set_24g_addr_eeprom 
+0x3d4d 013739 branch iicd_read_eep_data 
+:      013741 mouse_wakeup_from_power:
+0x3d4e 013742 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d4f 013743 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+0x3d50 013744 fetch 1 ,mem_wakup_from_power_flag 
+0x3d51 013745 isolate0 gpio_latch ,pdata 
+0x3d52 013746 nrtn true 
+:      013747 mouse_wakeup_no_from_power:
+0x3d53 013748 fetch 1 ,mem_reconn_times_init 
+0x3d54 013749 store 1 ,mem_reconn_times 
+0x3d55 013750 fetch 1 ,mem_config_function_enable 
+0x3d56 013751 rtnbit1 enable_select_device_by_switch 
+:      013752 mouse_start_24g_mode:
+0x3d57 013753 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d58 013754 rtnbit0 mouse_enable_24g 
+0x3d59 013755 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+0x3d5a 013756 branch g24_check_51cmd_start_24g 
+:      013757 le_mouse_bb_event_connect_complete:
+0x3d5b 013758 fetch 1 ,mem_le_att_handle 
+0x3d5c 013759 sub pdata ,26 ,pdata 
+0x3d5d 013760 nrtn zero 
+0x3d5e 013761 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3d5f 013762 call ui_ipc_send_cmd 
+:      013763 mouse_le_write_enable:
+0x3d60 013764 arg write_req_enable_flag ,queue 
+0x3d61 013765 branch mouse_le_enable_connect_flag 
+:      013767 mouse_dpi_up:
+0x3d62 013768 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d63 013769 rtneq dpi_button_state_up 
+0x3d64 013770 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+0x3d65 013771 rtn 
+:      013772 mouse_dpi_config:
+0x3d66 013773 fetch 1 ,mem_config_sensor_motion 
+0x3d67 013774 and pdata ,0x0f ,pdata 
+0x3d68 013775 store 1 ,mem_mouse_dpi 
+0x3d69 013776 branch mouse_seting_dpi + 2 
+:      013779 mouse_dpi_cheak:
+0x3d6a 013780 fetcht 1 ,mem_dpi_button_gpio 
+0x3d6b 013781 call gpio_get_bit 
+0x3d6c 013782 nbranch mouse_dpi_up ,true 
+:      013783 mouse_dpi_down:
+0x3d6d 013784 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d6e 013785 rtneq dpi_button_state_down 
+0x3d6f 013786 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x3d70 013787 fetch 1 ,mem_mouse_dpi 
+0x3d71 013788 increase 1 ,pdata 
+0x3d72 013789 and pdata ,0x03 ,pdata 
+0x3d73 013790 store 1 ,mem_mouse_dpi 
+0x3d74 013791 call mouse_seting_dpi 
+0x3d75 013792 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d76 013793 bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+0x3d77 013794 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+0x3d78 013795 rtn 
+:      013796 mouse_before_store_flash_cpi:
+0x3d79 013797 arg mouse_spi2_clk_gpio ,temp 
+0x3d7a 013798 call gpio_config_output 
+0x3d7b 013799 arg mouse_spi2_sdio_gpio ,temp 
+0x3d7c 013800 call gpio_config_output 
+0x3d7d 013801 branch mouse_store_flash_device_info 
+:      013803 mouse_seting_dpi:
+0x3d7e 013804 bpatch patch1c_3 ,mem_patch1c 
+0x3d7f 013805 call mosue_dpi_led_blink_init 
+0x3d80 013806 fetch 1 ,mem_config_sensor_type 
+0x3d81 013807 beq p3610 ,mouse_seting_3610_dpi 
+0x3d82 013808 beq p3212 ,mouse_seting_3212_dpi 
+0x3d83 013809 fetch 1 ,mem_mouse_dpi 
+0x3d84 013810 beq mouse_dpi_level1 ,mouse_set_cpi1 
+0x3d85 013811 beq mouse_dpi_level2 ,mouse_set_cpi2 
+0x3d86 013812 beq mouse_dpi_level3 ,mouse_set_cpi3 
+0x3d87 013813 beq mouse_dpi_level4 ,mouse_set_cpi4 
+:      013814 mouse_set_cpi2:
+0x3d88 013815 fetch 1 ,mem_320x_dpi_2 
+0x3d89 013816 branch mouse_p3205_dpi 
+:      013817 mouse_set_cpi1:
+0x3d8a 013818 fetch 1 ,mem_320x_dpi_1 
+0x3d8b 013819 branch mouse_p3205_dpi 
+:      013820 mouse_set_cpi3:
+0x3d8c 013821 fetch 1 ,mem_320x_dpi_3 
+0x3d8d 013822 branch mouse_p3205_dpi 
+:      013823 mouse_set_cpi4:
+0x3d8e 013824 fetch 1 ,mem_320x_dpi_4 
+0x3d8f 013825 branch mouse_p3205_dpi 
+:      013826 moue_seting_cpi_count:
+0x3d90 013827 fetch 1 ,mem_config_sensor_type 
+0x3d91 013828 rtneq p3065_xy 
+0x3d92 013829 fetch 1 ,mem_mouse_cpi_count 
+0x3d93 013830 increase 1 ,pdata 
+0x3d94 013831 store 1 ,mem_mouse_cpi_count 
+0x3d95 013832 rtn 
+:      013834 mouse_seting_3212_dpi:
+0x3d96 013835 fetch 1 ,mem_mouse_dpi 
+0x3d97 013836 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+0x3d98 013837 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+0x3d99 013838 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+0x3d9a 013839 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+:      013840 mouse_set_p3212_cpi2:
+0x3d9b 013841 fetch 1 ,mem_3212_dpi_2 
+0x3d9c 013842 branch mouse_p3212_dpi 
+:      013843 mouse_set_p3212_cpi1:
+0x3d9d 013844 fetch 1 ,mem_3212_dpi_1 
+0x3d9e 013845 branch mouse_p3212_dpi 
+:      013846 mouse_set_p3212_cpi3:
+0x3d9f 013847 fetch 1 ,mem_3212_dpi_3 
+0x3da0 013848 branch mouse_p3212_dpi 
+:      013849 mouse_set_p3212_cpi4:
+0x3da1 013850 fetch 1 ,mem_3212_dpi_4 
+:      013851 mouse_p3212_dpi:
+0x3da2 013852 store 1 ,mem_mouse_cpi_count 
+0x3da3 013853 lshift8 pdata ,pdata 
+0x3da4 013854 copy pdata ,rega 
+0x3da5 013855 add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+0x3da6 013856 call twspi_write 
+0x3da7 013857 copy rega ,pdata 
+0x3da8 013858 add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+0x3da9 013859 branch twspi_write 
+:      013861 mouse_seting_3610_dpi:
+0x3daa 013862 fetch 1 ,mem_mouse_dpi 
+0x3dab 013863 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+0x3dac 013864 beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+0x3dad 013865 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+0x3dae 013866 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+:      013867 mouse_set_p3610_cpi2:
+0x3daf 013868 fetch 1 ,mem_3610_dpi_2 
+0x3db0 013869 branch mouse_p3610_dpi 
+:      013870 mouse_set_p3610_cpi1:
+0x3db1 013871 fetch 1 ,mem_3610_dpi_1 
+0x3db2 013872 branch mouse_p3610_dpi 
+:      013873 mouse_set_p3610_cpi3:
+0x3db3 013874 fetch 1 ,mem_3610_dpi_3 
+0x3db4 013875 branch mouse_p3610_dpi 
+:      013876 mouse_set_p3610_cpi4:
+0x3db5 013877 fetch 1 ,mem_3610_dpi_4 
+:      013878 mouse_p3610_dpi:
+0x3db6 013879 store 1 ,mem_mouse_cpi_count 
+0x3db7 013880 call mouse_spi_sdio_gpio_pollup 
+0x3db8 013881 fetch 1 ,mem_mouse_cpi_count 
+:      013882 mouse_reset_p3610_dpi:
+0x3db9 013883 add pdata ,0x80 ,pdata 
+0x3dba 013884 lshift8 pdata ,pdata 
+0x3dbb 013885 add pdata ,mouse_p3610_dpi_address ,pdata 
+0x3dbc 013886 copy pdata ,rega 
+0x3dbd 013887 branch mouse_set_sensor_reg 
+:      013889 mouse_p3205_dpi:
+0x3dbe 013890 store 1 ,mem_mouse_cpi_count 
+0x3dbf 013891 call moue_seting_cpi_count 
+0x3dc0 013892 fetch 1 ,mem_mouse_cpi_count 
+0x3dc1 013893 setarg mouse_dpi_address 
+0x3dc2 013894 call twspi_read 
+0x3dc3 013895 and pdata ,0xf8 ,temp 
+0x3dc4 013896 fetch 1 ,mem_mouse_cpi_count 
+0x3dc5 013897 iadd temp ,pdata 
+0x3dc6 013898 lshift8 pdata ,pdata 
+0x3dc7 013899 add pdata ,mouse_dpi_address ,pdata 
+0x3dc8 013900 branch twspi_write 
+:      013903 mouse_init_environment:
+0x3dc9 013904 call app_initflag_check 
+0x3dca 013905 branch mouse_eeprom_load_recon_info ,zero 
+0x3dcb 013906 call mouse_ble_init_address 
+0x3dcc 013907 call mouse_store_eeprom_device_info 
+0x3dcd 013908 branch app_initflag_store 
+:      013911 mouse_24g_pairing_button:
+0x3dce 013912 fetch 2 ,mem_24g_pairing_timer_count 
+0x3dcf 013913 rtn blank 
+0x3dd0 013914 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dd1 013915 rtnbit0 mouse_enable_24g 
+0x3dd2 013916 rtnbit1 mosue_24g_pairing_flag 
+0x3dd3 013917 rtnmark1 mark_24g 
+0x3dd4 013918 call mouse_check_key_gpio 
+0x3dd5 013919 rtnne mouse_lmr_button 
+0x3dd6 013920 call mouse_devce_led_off 
+0x3dd7 013921 arg mosue_24g_pairing_flag ,queue 
+0x3dd8 013922 call mouse_enable_function_flag 
+0x3dd9 013923 setarg 0 
+0x3dda 013924 store 2 ,mem_mouse_direct_timer 
+0x3ddb 013925 store 1 ,mem_mouse_send_blank_timer 
+0x3ddc 013926 call g24_set0_mem_check_dongle_times 
+0x3ddd 013928 fetch 2 ,mem_ui_state_map 
+0x3dde 013929 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x3ddf 013930 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x3de0 013931 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x3de1 013932 call mouse_stop_discovery 
+0x3de2 013933 branch g24_start_pairing_sm1 
+:      013936 mouse_idle:
+0x3de3 013937 call mouse_24g_pairing_button 
+0x3de4 013938 call ui_check_paring_button 
+0x3de5 013939 call mouse_dpi_cheak 
+0x3de6 013940 call mouse_usb_isr 
+0x3de7 013941 call mouse_wheel_check 
+0x3de8 013942 branch mouse_usb_mode 
+:      013943 mouse_usb_isr:
+0x3de9 013944 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dea 013945 rtnbit0 mouse_enable_usb 
+0x3deb 013946 call usb_isr 
+0x3dec 013947 branch usb_offline_state 
+:      013949 mouse_cheak_usb:
+0x3ded 013950 hfetch 1 ,core_usb_addr 
+0x3dee 013951 bbit0 7 ,mouse_usb_no_exsit 
+0x3def 013952 bbit1 7 ,mouse_usb_exsit 
+0x3df0 013953 rtn 
+:      013954 mouse_usb_no_exsit:
+0x3df1 013955 fetch 1 ,mem_usb_addr 
+0x3df2 013956 rtnbit0 7 
+0x3df3 013957 branch soft_reset_chip 
+:      013958 mouse_usb_exsit:
+0x3df4 013959 fetch 1 ,mem_usb_addr 
+0x3df5 013960 rtnbit1 7 
+0x3df6 013961 branch mouse_stop_bluetooth_mode 
+:      013963 mouse_usb_mode:
+0x3df7 013964 call mouse_cheak_usb 
+0x3df8 013965 hfetch 1 ,core_usb_addr 
+0x3df9 013966 store 1 ,mem_usb_addr 
+0x3dfa 013967 rtnbit0 7 
+0x3dfb 013968 call mouse_clkn_check 
+0x3dfc 013969 fetch 4 ,mem_btclk_sensor 
+0x3dfd 013970 fetcht 1 ,mem_wire_usb_interval 
+0x3dfe 013971 iadd temp ,temp 
+0x3dff 013972 copy clkn_bt ,pdata 
+0x3e00 013973 isub temp ,null 
+0x3e01 013974 nrtn positive 
+0x3e02 013975 store 4 ,mem_btclk_sensor 
+0x3e03 013976 call mouse_motion 
+0x3e04 013977 nrtn user 
+0x3e05 013978 jam 4 ,mem_usb_tx_enable 
+0x3e06 013979 branch mouse_wired_to_usb 
+:      013981 mouse_clkn_check:
+0x3e07 013982 fetcht 4 ,mem_btclk_sensor 
+0x3e08 013983 copy clkn_bt ,pdata 
+0x3e09 013984 isub temp ,null 
+0x3e0a 013985 ncall mouse_clkn_timeout ,positive 
+0x3e0b 013986 rtn 
+:      013987 mouse_clkn_timeout:
+0x3e0c 013988 setarg 0 
+0x3e0d 013989 store 4 ,mem_btclk_sensor 
+0x3e0e 013990 rtn 
+:      013994 mouse_wired_to_usb:
+0x3e0f 013995 fetch 1 ,mem_usb_tx_enable 
+0x3e10 013996 rtnbit0 2 
+0x3e11 013997 branch mouse_data_push 
+:      013998 mouse_data_push:
+0x3e12 013999 hfetch 1 ,core_usb_addr 
+0x3e13 014000 rtnbit0 7 
+0x3e14 014001 jam usb_ep2_ms ,mem_usb_ep2_data 
+0x3e15 014002 setarg ms_report_id 
+0x3e16 014003 store 1 ,mem_usb_mouse_data 
+0x3e17 014004 fetch 7 ,mem_mouse_key 
+0x3e18 014005 istore 7 ,contw 
+0x3e19 014006 rtn 
+:      014009 mouse_enable_clock_qdecoder:
+0x3e1a 014010 hfetch 2 ,core_clkoff 
+0x3e1b 014011 set0 clock_off_qdecoder ,pdata 
+0x3e1c 014012 hstore 2 ,core_clkoff 
+0x3e1d 014013 rtn 
+:      014015 mouse_param_init:
+0x3e1e 014016 setarg 0x8c00 
+0x3e1f 014017 store 2 ,mem_ui_uuid_table 
+0x3e20 014018 setarg 0x8e7a 
+0x3e21 014019 store 2 ,mem_ui_le_uuid_table 
+0x3e22 014020 setarg 0x2402 
+0x3e23 014021 store 2 ,mem_fcomp_mul 
+0x3e24 014022 setarg 0x2580 
+0x3e25 014023 store 3 ,mem_class 
+0x3e26 014024 jam 3 ,mem_lpm_mult_timeout 
+0x3e27 014025 jam 8 ,mem_lpm_overhead 
+0x3e28 014026 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x3e29 014027 setarg 0x0200 
+0x3e2a 014028 store 2 ,mem_lpm_interval 
+0x3e2b 014029 jam 0x17 ,mem_le_local_mtu 
+0x3e2c 014030 jam 0x17 ,mem_le_remote_mtu 
+0x3e2d 014032 setarg 0x0a77 
+0x3e2e 014033 store 2 ,mem_spi_init_clk 
+0x3e2f 014049 setsect 0 ,0x306 
+0x3e30 014050 setsect 1 ,0x4440 
+0x3e31 014051 setsect 2 ,0x10000 
+0x3e32 014052 setsect 3 ,0x4408 
+0x3e33 014053 store 9 ,mem_all_uuid_16bits 
+0x3e34 014054 setsect 0 ,0x1224 
+0x3e35 014055 setsect 1 ,0x4000 
+0x3e36 014056 setsect 2 ,0x0 
+0x3e37 014057 istore 5 ,contw 
+0x3e38 014059 setsect 0 ,0x3ffff 
+0x3e39 014060 setsect 1 ,0x2fe23 
+0x3e3a 014061 setsect 2 ,0x199d9 
+0x3e3b 014062 setsect 3 ,0x20d 
+0x3e3c 014063 store 8 ,mem_features 
+0x3e3d 014065 setarg 0x012c 
+0x3e3e 014066 store 2 ,mem_24g_pairing_timer_count 
+0x3e3f 014067 call le_modified_name 
+0x3e40 014068 fetch mouse_flag_len ,mem_mouse_flag 
+0x3e41 014069 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+0x3e42 014070 call mouse_sensor_set_angle 
+0x3e43 014071 branch mouse_select_adc 
+:      014073 mouse_sensor_set_angle:
+0x3e44 014074 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e45 014075 call gpio_config_input 
+0x3e46 014076 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e47 014077 call gpio_get_bit 
+0x3e48 014078 jam mouse_3clk_angle ,mem_config_sensor_angle 
+0x3e49 014079 rtn true 
+0x3e4a 014080 jam mouse_12clk_angle ,mem_config_sensor_angle 
+0x3e4b 014081 rtn 
+:      014083 mouse_select_adc:
+0x3e4c 014084 fetcht 1 ,mem_select_adc_gpio 
+0x3e4d 014085 call gpio_config_input 
+0x3e4e 014086 fetcht 1 ,mem_select_adc_gpio 
+0x3e4f 014087 call gpio_get_bit 
+0x3e50 014088 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x3e51 014089 rtn true 
+0x3e52 014090 jam adc_config_gpio ,mem_adc_config_flag 
+0x3e53 014091 rtn 
+:      014094 mouse_adc_init:
+0x3e54 014095 fetch 1 ,mem_adc_config_flag 
+0x3e55 014096 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+0x3e56 014097 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+0x3e57 014098 beq adc_config_gpio ,mouse_adc_init_data_io 
+0x3e58 014099 branch mouse_adc_init_data_vinlpm 
+:      014101 mouse_adc_init_data_vinlpm:
+0x3e59 014102 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x3e5a 014103 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x3e5b 014104 isub temp ,pdata 
+0x3e5c 014105 mul32 pdata ,20 ,pdata 
+0x3e5d 014106 div pdata ,100 
+0x3e5e 014107 call wait_div_end 
+0x3e5f 014108 quotient pdata 
+0x3e60 014109 store 2 ,mem_adc_reference_voltage 
+0x3e61 014110 rtn 
+:      014111 mouse_adc_init_data_hvin:
+0x3e62 014112 fetcht 2 ,mem_1v_adc_hvin_data 
+0x3e63 014113 fetch 2 ,mem_5v_adc_hvin_data 
+0x3e64 014114 isub temp ,pdata 
+0x3e65 014115 mul32 pdata ,230 ,pdata 
+0x3e66 014116 div pdata ,400 
+0x3e67 014117 call wait_div_end 
+0x3e68 014118 quotient pdata 
+0x3e69 014119 store 2 ,mem_adc_reference_voltage 
+0x3e6a 014120 rtn 
+:      014121 mouse_adc_init_data_io:
+0x3e6b 014122 fetch 2 ,mem_1v_adc_io_data 
+0x3e6c 014123 store 2 ,mem_adc_reference_voltage 
+0x3e6d 014124 rtn 
+:      014125 mouse_gpio_init:
+0x3e6e 014126 fetcht 1 ,mem_eeprom_wp_gpio 
+0x3e6f 014127 call gpio_config_output 
+0x3e70 014128 call usb_offline_check_init 
+0x3e71 014129 fetcht 1 ,mem_lbutton_gpio 
+0x3e72 014130 call gpio_config_input 
+0x3e73 014131 fetcht 1 ,mem_rbutton_gpio 
+0x3e74 014132 call gpio_config_input 
+0x3e75 014133 fetcht 1 ,mem_mbutton_gpio 
+0x3e76 014134 call gpio_config_input 
+0x3e77 014135 fetcht 1 ,mem_sensor_data_gpio 
+0x3e78 014136 call gpio_config_input 
+0x3e79 014138 fetcht 1 ,mem_sensor_reset_gpio 
+0x3e7a 014139 call gpio_config_output 
+0x3e7b 014141 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e7c 014142 call gpio_config_input 
+0x3e7d 014144 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e7e 014145 call gpio_config_input 
+0x3e7f 014147 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e80 014148 call gpio_config_input 
+0x3e81 014149 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e82 014150 call gpio_config_input 
+0x3e83 014152 fetcht 1 ,mem_bk_button_gpio 
+0x3e84 014153 call gpio_config_input 
+0x3e85 014154 fetcht 1 ,mem_fw_button_gpio 
+0x3e86 014155 call gpio_config_input 
+0x3e87 014157 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+0x3e88 014158 call gpio_config_output 
+0x3e89 014160 fetcht 1 ,mem_config_device1_led_gpio 
+0x3e8a 014161 call gpio_config_output 
+0x3e8b 014163 fetcht 1 ,mem_config_device2_led_gpio 
+0x3e8c 014164 call gpio_config_output 
+0x3e8d 014166 fetcht 1 ,mem_config_device3_led_gpio 
+0x3e8e 014167 call gpio_config_output 
+0x3e8f 014169 fetcht 1 ,mem_dpi_led_gpio 
+0x3e90 014170 call gpio_config_output 
+0x3e91 014172 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3e92 014173 call gpio_config_input 
+0x3e93 014175 fetcht 1 ,mem_config_bt_button_gpio 
+0x3e94 014176 call gpio_config_input 
+0x3e95 014178 fetcht 1 ,mem_dpi_button_gpio 
+0x3e96 014179 branch gpio_config_input 
+:      014181 mouse_wheel_gpio_set_wake:
+0x3e97 014182 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e98 014183 call gpio_set_wake_by_current_state 
+0x3e99 014184 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e9a 014185 call gpio_set_wake_by_current_state 
+0x3e9b 014186 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e9c 014187 call gpio_set_wake_by_current_state 
+0x3e9d 014188 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e9e 014189 branch gpio_set_wake_by_current_state 
+:      014191 mouse_before_hibernate_wheel_gpio_set:
+0x3e9f 014192 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ea0 014193 call mouse_gpio_set_pupd_by_input 
+0x3ea1 014194 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ea2 014195 call mouse_gpio_set_pupd_by_input 
+0x3ea3 014196 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ea4 014197 call mouse_gpio_set_pupd_by_input 
+0x3ea5 014198 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ea6 014199 branch mouse_gpio_set_pupd_by_input 
+:      014201 mouse_gpio_set_pupd_by_input:
+0x3ea7 014202 sub temp ,ui_button_gpio_disable ,null 
+0x3ea8 014203 rtn zero 
+0x3ea9 014204 and temp ,0x7f ,queue 
+0x3eaa 014205 hfetch 4 ,core_gpio_in 
+0x3eab 014206 qisolate1 pdata 
+0x3eac 014207 hfetch 4 ,core_gpio_pu0 
+0x3ead 014208 qsetflag true ,pdata 
+0x3eae 014209 hstore 4 ,core_gpio_pu0 
+0x3eaf 014210 hfetch 4 ,core_gpio_pd0 
+0x3eb0 014211 nqsetflag true ,pdata 
+0x3eb1 014212 hstore 4 ,core_gpio_pd0 
+0x3eb2 014213 rtn 
+:      014215 mouse_before_hibernate:
+0x3eb3 014216 enable user 
+0x3eb4 014217 hfetch 4 ,0x8138 
+0x3eb5 014218 setflag user ,26 ,pdata 
+0x3eb6 014219 hstore 4 ,core_lpm_reg 
+0x3eb7 014220 call lpm_write_ctrl 
+0x3eb8 014221 call mouse_devce_led_off 
+0x3eb9 014222 call mouse_before_hibernate_wheel_gpio_set 
+0x3eba 014224 branch mouse_lpm_before_common 
+:      014228 mouse_process_lpm_before:
+0x3ebb 014229 call mouse_lpm_before_common 
+0x3ebc 014230 fetch 1 ,mem_lpm_current_mult 
+0x3ebd 014231 nrtn blank 
+0x3ebe 014232 branch gpio_clr_wake 
+:      014234 mouse_lpm_before_common:
+0x3ebf 014235 call mouse_wheel_check 
+0x3ec0 014236 arg mouse_spi1_clk_gpio ,temp 
+0x3ec1 014237 fetch mouse_flag_len ,mem_mouse_flag 
+0x3ec2 014238 isolate1 mouse_enable_spi2 ,pdata 
+0x3ec3 014239 call mouse_spi_clk_gpio ,true 
+0x3ec4 014240 call gpio_config_output 
+0x3ec5 014241 call twspi_disable 
+0x3ec6 014245 fetcht 1 ,mem_lbutton_gpio 
+0x3ec7 014246 call gpio_set_wake_by_current_state 
+0x3ec8 014247 fetcht 1 ,mem_rbutton_gpio 
+0x3ec9 014248 call gpio_set_wake_by_current_state 
+0x3eca 014249 fetcht 1 ,mem_mbutton_gpio 
+0x3ecb 014250 call gpio_set_wake_by_current_state 
+0x3ecc 014252 fetcht 1 ,mem_bk_button_gpio 
+0x3ecd 014253 call gpio_set_wake_by_current_state 
+0x3ece 014254 fetcht 1 ,mem_fw_button_gpio 
+0x3ecf 014255 call gpio_set_wake_by_current_state 
+0x3ed0 014256 fetcht 1 ,mem_dpi_button_gpio 
+0x3ed1 014257 call gpio_set_wake_by_current_state 
+0x3ed2 014258 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3ed3 014259 call gpio_set_wake_by_current_state 
+0x3ed4 014260 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ed5 014261 call gpio_set_wake_by_current_state 
+0x3ed6 014262 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ed7 014263 call gpio_set_wake_by_current_state 
+0x3ed8 014264 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ed9 014265 call gpio_set_wake_by_current_state 
+0x3eda 014266 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3edb 014267 call gpio_set_wake_by_current_state 
+0x3edc 014268 fetcht 1 ,mem_sensor_data_gpio 
+0x3edd 014269 branch gpio_set_wake 
+:      014273 mouse_spi_clk_gpio:
+0x3ede 014274 arg mouse_spi2_clk_gpio ,temp 
+0x3edf 014275 rtn 
+:      014277 mouse_wheel_check:
+0x3ee0 014278 bpatch patch1c_4 ,mem_patch1c 
+0x3ee1 014279 call mouse_t_wheel_scan 
+0x3ee2 014280 call mouse_wheel_scan 
+0x3ee3 014281 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3ee4 014282 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee5 014283 store 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee6 014284 isub temp ,null 
+0x3ee7 014285 nbranch app_lpm_wake_auto_lock ,zero 
+0x3ee8 014286 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3ee9 014287 fetcht 1 ,mem_mwheel_b_old_pinlevel 
+0x3eea 014288 store 1 ,mem_mwheel_b_old_pinlevel 
+0x3eeb 014289 isub temp ,null 
+0x3eec 014290 nbranch app_lpm_wake_auto_lock ,zero 
+0x3eed 014291 rtn 
+:      014292 mouse_t_wheel_scan:
+0x3eee 014293 fetch 1 ,mem_whee_ta_data_gpio 
+0x3eef 014294 rtneq gpio_disable 
+0x3ef0 014295 arg 0 ,rega 
+0x3ef1 014296 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ef2 014297 call gpio_get_bit 
+0x3ef3 014298 setflag true ,0 ,rega 
+0x3ef4 014299 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ef5 014300 call gpio_get_bit 
+0x3ef6 014301 setflag true ,1 ,rega 
+0x3ef7 014302 copy rega ,pdata 
+0x3ef8 014303 store 1 ,mem_wheel_tb_new_pinlevel 
+0x3ef9 014304 beq 0x01 ,mouse_t_wheel_scan_judge1 
+0x3efa 014305 beq 0x02 ,mouse_t_wheel_scan_judge2 
+0x3efb 014306 fetch 1 ,mem_wheel_tog 
+0x3efc 014307 bbit1 7 ,mouse_t_wheel_scan_judge3 
+0x3efd 014308 rtn 
+:      014310 mouse_t_wheel_scan_judge1:
+0x3efe 014311 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3eff 014312 beq 0 ,mouse_t_wheel_scan_judge11 
+0x3f00 014313 beq 3 ,mouse_t_wheel_scan_judge12 
+0x3f01 014314 rtn 
+:      014315 mouse_t_wheel_scan_judge2:
+0x3f02 014316 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3f03 014317 beq 0 ,mouse_t_wheel_scan_judge21 
+0x3f04 014318 beq 3 ,mouse_t_wheel_scan_judge22 
+0x3f05 014319 rtn 
+:      014320 mouse_t_wheel_scan_judge11:
+0x3f06 014321 jam 0x82 ,mem_wheel_tog 
+0x3f07 014322 rtn 
+:      014323 mouse_t_wheel_scan_judge12:
+0x3f08 014324 jam 0x81 ,mem_wheel_tog 
+0x3f09 014325 rtn 
+:      014326 mouse_t_wheel_scan_judge21:
+0x3f0a 014327 jam 0x80 ,mem_wheel_tog 
+0x3f0b 014328 rtn 
+:      014329 mouse_t_wheel_scan_judge22:
+0x3f0c 014330 jam 0x83 ,mem_wheel_tog 
+0x3f0d 014331 rtn 
+:      014332 mouse_t_wheel_scan_judge3:
+0x3f0e 014333 fetch 1 ,mem_wheel_tog 
+0x3f0f 014334 set0 7 ,pdata 
+0x3f10 014335 store 1 ,mem_wheel_tog 
+0x3f11 014336 beq 0 ,mouse_t_wheel_scan_judge30 
+0x3f12 014337 beq 1 ,mouse_t_wheel_scan_judge31 
+0x3f13 014338 beq 2 ,mouse_t_wheel_scan_judge32 
+0x3f14 014339 beq 3 ,mouse_t_wheel_scan_judge33 
+0x3f15 014340 rtn 
+:      014341 mouse_t_wheel_scan_judge30:
+0x3f16 014342 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f17 014343 beq 3 ,mouse_wheel_t_forward 
+0x3f18 014344 rtn 
+:      014345 mouse_t_wheel_scan_judge31:
+0x3f19 014346 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1a 014347 beq 0 ,mouse_wheel_t_forward 
+0x3f1b 014348 rtn 
+:      014349 mouse_t_wheel_scan_judge32:
+0x3f1c 014350 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1d 014351 beq 3 ,mouse_wheel_t_back 
+0x3f1e 014352 rtn 
+:      014353 mouse_t_wheel_scan_judge33:
+0x3f1f 014354 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f20 014355 beq 0 ,mouse_wheel_t_back 
+0x3f21 014356 rtn 
+:      014357 mouse_wheel_t_forward:
+0x3f22 014358 fetch 1 ,mem_mouse_tz_data_count1 
+0x3f23 014359 increase 1 ,pdata 
+0x3f24 014360 store 1 ,mem_mouse_tz_data_count1 
+0x3f25 014361 sub pdata ,1 ,null 
+0x3f26 014362 rtn positive 
+0x3f27 014363 jam 0 ,mem_mouse_tz_data_count1 
+0x3f28 014364 fetch 1 ,mem_mouse_tz_data 
+0x3f29 014365 increase 1 ,pdata 
+0x3f2a 014366 store 1 ,mem_mouse_tz_data 
+0x3f2b 014367 rtn 
+:      014368 mouse_wheel_t_back:
+0x3f2c 014369 fetch 1 ,mem_mouse_tz_data_count 
+0x3f2d 014370 increase 1 ,pdata 
+0x3f2e 014371 store 1 ,mem_mouse_tz_data_count 
+0x3f2f 014372 sub pdata ,1 ,null 
+0x3f30 014373 rtn positive 
+0x3f31 014374 jam 0 ,mem_mouse_tz_data_count 
+0x3f32 014375 fetch 1 ,mem_mouse_tz_data 
+0x3f33 014376 increase -1 ,pdata 
+0x3f34 014377 store 1 ,mem_mouse_tz_data 
+0x3f35 014378 rtn 
+:      014381 mouse_wheel_scan:
+0x3f36 014382 fetch 1 ,mem_whee_a_data_gpio 
+0x3f37 014383 rtneq gpio_disable 
+0x3f38 014384 arg 0 ,rega 
+0x3f39 014385 fetcht 1 ,mem_whee_a_data_gpio 
+0x3f3a 014386 call gpio_get_bit 
+0x3f3b 014387 setflag true ,0 ,rega 
+0x3f3c 014388 fetcht 1 ,mem_whee_b_data_gpio 
+0x3f3d 014389 call gpio_get_bit 
+0x3f3e 014390 setflag true ,1 ,rega 
+0x3f3f 014391 copy rega ,pdata 
+0x3f40 014392 store 1 ,mem_mwheel_b_new_pinlevel 
+0x3f41 014393 beq 0x01 ,mouse_wheel_scan_judge1 
+0x3f42 014394 beq 0x02 ,mouse_wheel_scan_judge2 
+0x3f43 014395 fetch 1 ,mem_mwheel_tog 
+0x3f44 014396 bbit1 7 ,mouse_wheel_scan_judge3 
+0x3f45 014397 rtn 
+:      014399 mouse_wheel_scan_judge1:
+0x3f46 014400 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f47 014401 beq 0 ,mouse_wheel_scan_judge11 
+0x3f48 014402 beq 3 ,mouse_wheel_scan_judge12 
+0x3f49 014403 rtn 
+:      014404 mouse_wheel_scan_judge2:
+0x3f4a 014405 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f4b 014406 beq 0 ,mouse_wheel_scan_judge21 
+0x3f4c 014407 beq 3 ,mouse_wheel_scan_judge22 
+0x3f4d 014408 rtn 
+:      014409 mouse_wheel_scan_judge11:
+0x3f4e 014410 jam 0x82 ,mem_mwheel_tog 
+0x3f4f 014411 rtn 
+:      014412 mouse_wheel_scan_judge12:
+0x3f50 014413 jam 0x81 ,mem_mwheel_tog 
+0x3f51 014414 rtn 
+:      014415 mouse_wheel_scan_judge21:
+0x3f52 014416 jam 0x80 ,mem_mwheel_tog 
+0x3f53 014417 rtn 
+:      014418 mouse_wheel_scan_judge22:
+0x3f54 014419 jam 0x83 ,mem_mwheel_tog 
+0x3f55 014420 rtn 
+:      014421 mouse_wheel_scan_judge3:
+0x3f56 014422 fetch 1 ,mem_mwheel_tog 
+0x3f57 014423 set0 7 ,pdata 
+0x3f58 014424 store 1 ,mem_mwheel_tog 
+0x3f59 014425 beq 0 ,mouse_wheel_scan_judge30 
+0x3f5a 014426 beq 1 ,mouse_wheel_scan_judge31 
+0x3f5b 014427 beq 2 ,mouse_wheel_scan_judge32 
+0x3f5c 014428 beq 3 ,mouse_wheel_scan_judge33 
+0x3f5d 014429 rtn 
+:      014430 mouse_wheel_scan_judge30:
+0x3f5e 014431 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f5f 014432 beq 3 ,mouse_wheel_forward 
+0x3f60 014433 rtn 
+:      014434 mouse_wheel_scan_judge31:
+0x3f61 014435 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f62 014436 beq 0 ,mouse_wheel_forward 
+0x3f63 014437 rtn 
+:      014438 mouse_wheel_scan_judge32:
+0x3f64 014439 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f65 014440 beq 3 ,mouse_wheel_back 
+0x3f66 014441 rtn 
+:      014442 mouse_wheel_scan_judge33:
+0x3f67 014443 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f68 014444 beq 0 ,mouse_wheel_back 
+0x3f69 014445 rtn 
+:      014446 mouse_wheel_forward:
+0x3f6a 014447 jam 0 ,mem_mouse_z_data_count1 
+0x3f6b 014448 fetch 1 ,mem_mouse_z_data 
+0x3f6c 014449 increase 1 ,pdata 
+0x3f6d 014450 store 1 ,mem_mouse_z_data 
+0x3f6e 014451 rtn 
+:      014452 mouse_wheel_back:
+0x3f6f 014453 jam 0 ,mem_mouse_z_data_count 
+0x3f70 014454 fetch 1 ,mem_mouse_z_data 
+0x3f71 014455 increase -1 ,pdata 
+0x3f72 014456 store 1 ,mem_mouse_z_data 
+0x3f73 014457 rtn 
+:      014460 mouse_hid_connected:
+0x3f74 014461 setarg hid_handshake_timeout 
+0x3f75 014462 store 1 ,mem_hid_handshake_timer_count 
+0x3f76 014463 rtn 
+:      014465 mouse_send_process:
+0x3f77 014466 fetch 1 ,mem_app_handshake_flag 
+0x3f78 014467 rtn blank 
+0x3f79 014468 call l2cap_malloc_is_fifo_nearly_full 
+0x3f7a 014469 nrtn blank 
+0x3f7b 014470 fetch mouse_flag_len ,mem_mouse_flag 
+0x3f7c 014471 bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+0x3f7d 014472 bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+0x3f7e 014473 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x3f7f 014474 call mouse_motion 
+0x3f80 014475 nrtn user 
+:      014476 mouse_send_data:
+0x3f81 014477 arg 9 ,rega 
+0x3f82 014478 call hid_malloc_tx_buff 
+0x3f83 014479 fetch 2 ,mem_hid_int_remote_cid 
+0x3f84 014480 istore 2 ,contw 
+0x3f85 014481 setarg 0x02a1 
+0x3f86 014482 istore 2 ,contw 
+0x3f87 014483 fetch 7 ,mem_mouse_key 
+0x3f88 014484 istore 7 ,contw 
+0x3f89 014485 rtn 
+:      014488 mouse_send_empty_data:
+0x3f8a 014489 setarg 0 
+0x3f8b 014490 store 7 ,mem_mouse_key 
+0x3f8c 014491 branch mouse_send_data 
+:      014494 mouse_no_data_timer_init:
+0x3f8d 014495 fetch 2 ,mem_mouse_no_data_timeout 
+0x3f8e 014496 store 2 ,mem_mouse_no_data_timer 
+0x3f8f 014497 rtn 
+:      014500 mouse_fill_data_le:
+0x3f90 014501 bpatch patch1c_5 ,mem_patch1c 
+0x3f91 014502 arg 7 ,rega 
+0x3f92 014503 fetcht 2 ,mem_le_notify_handle 
+0x3f93 014504 call le_att_malloc_tx_notify 
+0x3f94 014505 fetch 7 ,mem_mouse_key 
+0x3f95 014506 istore 7 ,contw 
+0x3f96 014507 rtn 
+:      014509 mouse_motion:
+0x3f97 014510 bpatch patch1c_6 ,mem_patch1c 
+0x3f98 014511 disable user 
+0x3f99 014512 setarg 0 
+0x3f9a 014513 store 6 ,mem_mouse_x 
+0x3f9b 014514 call mouse_cheak_sensor_data 
+0x3f9c 014515 call mouse_zwheel 
+0x3f9d 014516 call mouse_t_zwheel 
+0x3f9e 014517 call mouse_key 
+0x3f9f 014518 nrtn user 
+0x3fa0 014519 call mouse_no_data_timer_init 
+0x3fa1 014520 arg mouse_statue_up_flag ,queue 
+0x3fa2 014521 branch mouse_enable_function_flag 
+:      014523 motion_6clk_direction_dispose:
+0x3fa3 014524 fetch 2 ,mem_mouse_x 
+0x3fa4 014525 sub pdata ,0 ,pdata 
+0x3fa5 014526 store 2 ,mem_mouse_x 
+0x3fa6 014527 branch enable_user 
+:      014528 motion_12clk_direction_dispose:
+0x3fa7 014529 fetch 2 ,mem_mouse_y 
+0x3fa8 014530 sub pdata ,0 ,pdata 
+0x3fa9 014531 store 2 ,mem_mouse_y 
+0x3faa 014532 branch enable_user 
+:      014533 motion_9clk_direction_dispose:
+0x3fab 014534 fetch 2 ,mem_mouse_y 
+0x3fac 014535 sub pdata ,0 ,pdata 
+0x3fad 014536 store 2 ,mem_mouse_y 
+0x3fae 014537 fetch 2 ,mem_mouse_x 
+0x3faf 014538 sub pdata ,0 ,pdata 
+0x3fb0 014539 store 2 ,mem_mouse_x 
+0x3fb1 014540 call mouse_sensor_data_swap_places 
+0x3fb2 014541 branch enable_user 
+:      014542 motion_3clk_direction_dispose:
+0x3fb3 014543 call mouse_sensor_data_swap_places 
+0x3fb4 014544 branch enable_user 
+:      014545 mouse_cheak_sensor_data:
+0x3fb5 014546 fetch 1 ,mem_spi_write_flash_sm 
+0x3fb6 014547 rtnne flash_sm_no_buys 
+0x3fb7 014548 fetch 1 ,mem_config_sensor_type 
+0x3fb8 014549 beq p3205 ,mouse_p32xx_sensor_motion 
+0x3fb9 014550 beq p3065 ,mouse_p32xx_sensor_motion 
+0x3fba 014551 beq ka8 ,mouse_p32xx_sensor_motion 
+0x3fbb 014552 beq p3204 ,mouse_p32xx_sensor_motion 
+0x3fbc 014553 beq p3212 ,mouse_p3212_sensor_motion 
+0x3fbd 014554 beq p3610 ,mouse_p3610_sensor_motion 
+0x3fbe 014555 beq p3065_xy ,mouse_p32xx_sensor_motion 
+0x3fbf 014556 branch mouse_p32xx_sensor_motion 
+:      014558 mouse_clear_sensor_data:
+0x3fc0 014559 fetch 1 ,mem_mouse_move_flag 
+0x3fc1 014560 call mouse_read_sensor_common ,blank 
+0x3fc2 014561 jam 1 ,mem_mouse_move_flag 
+0x3fc3 014562 rtn 
+:      014565 mouse_p3212_sensor_motion:
+0x3fc4 014566 call mouse_clear_sensor_data 
+0x3fc5 014567 fetcht 1 ,mem_sensor_data_gpio 
+0x3fc6 014568 call gpio_get_bit 
+0x3fc7 014569 nrtn true 
+0x3fc8 014570 setarg pan_reg_pid_l 
+0x3fc9 014571 call twspi_read 
+0x3fca 014572 bne p32xx_id1 ,mouse_twspi_reset 
+0x3fcb 014573 setarg pan_reg_motion_staus 
+0x3fcc 014574 call twspi_read 
+0x3fcd 014575 rtnbit0 7 
+0x3fce 014576 call mouse_read_sensor_common 
+0x3fcf 014577 call mouse_read_3212sensor_xy_high 
+0x3fd0 014578 store 1 ,mem_mouse_xy_h 
+0x3fd1 014579 rshift4 pdata ,pdata 
+0x3fd2 014580 call extsign_bit3 
+0x3fd3 014581 store 1 ,mem_mouse_x + 1 
+0x3fd4 014582 fetch 1 ,mem_mouse_xy_h 
+0x3fd5 014583 and pdata ,0x0f ,pdata 
+0x3fd6 014584 call extsign_bit3 
+0x3fd7 014585 store 1 ,mem_mouse_y + 1 
+0x3fd8 014586 fetch 1 ,mem_config_sensor_angle 
+0x3fd9 014587 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+0x3fda 014588 beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+0x3fdb 014589 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+0x3fdc 014590 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+0x3fdd 014591 rtn 
+:      014593 mouse_read_3212sensor_xy_high:
+0x3fde 014594 setarg 0x12 
+0x3fdf 014595 branch twspi_read 
+:      014597 mouse_p3065_judge:
+0x3fe0 014598 beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+0x3fe1 014599 branch mouse_twspi_reset 
+:      014601 mouse_p32xx_sensor_motion:
+0x3fe2 014602 call mouse_clear_sensor_data 
+0x3fe3 014603 disable user 
+0x3fe4 014604 fetcht 1 ,mem_sensor_data_gpio 
+0x3fe5 014605 call gpio_get_bit 
+0x3fe6 014606 nrtn true 
+0x3fe7 014607 setarg pan_reg_pid_l 
+0x3fe8 014608 call twspi_read 
+0x3fe9 014609 bne p32xx_id1 ,mouse_p3065_judge 
+:      014610 mouse_p32xx_sensor_motion_1:
+0x3fea 014611 setarg pan_reg_motion_staus 
+0x3feb 014612 call twspi_read 
+0x3fec 014613 rtnbit0 7 
+0x3fed 014614 call mouse_read_sensor_common 
+0x3fee 014615 fetch 1 ,mem_mouse_x 
+0x3fef 014616 call extsign 
+0x3ff0 014617 store 2 ,mem_mouse_x 
+0x3ff1 014618 fetch 1 ,mem_mouse_y 
+0x3ff2 014619 call extsign 
+0x3ff3 014620 store 2 ,mem_mouse_y 
+0x3ff4 014621 fetch 1 ,mem_config_sensor_angle 
+0x3ff5 014622 beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+0x3ff6 014623 beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+0x3ff7 014624 beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+0x3ff8 014625 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+0x3ff9 014626 rtn 
+:      014628 motion32xx_6clk_direction_selection:
+0x3ffa 014629 call motion_6clk_direction_dispose 
+0x3ffb 014630 branch mouse_sensor_sdio_low 
+:      014631 motion32xx_9clk_direction_selection:
+0x3ffc 014632 call motion_9clk_direction_dispose 
+0x3ffd 014633 branch mouse_sensor_sdio_low 
+:      014634 motion32xx_12clk_direction_selection:
+0x3ffe 014635 call motion_12clk_direction_dispose 
+0x3fff 014636 branch mouse_sensor_sdio_low 
+:      014637 motion32xx_3clk_direction_selection:
+0x4000 014638 call motion_3clk_direction_dispose 
+0x4001 014639 branch mouse_sensor_sdio_low 
+:      014641 mouse_sensor_data_swap_places:
+0x4002 014642 fetch 2 ,mem_mouse_y 
+0x4003 014643 fetcht 2 ,mem_mouse_x 
+0x4004 014644 store 2 ,mem_mouse_x 
+0x4005 014645 storet 2 ,mem_mouse_y 
+0x4006 014646 rtn 
+:      014648 mouse_p3610sensor_read:
+0x4007 014649 call spi_ncs_enable 
+0x4008 014650 nop 100 
+0x4009 014651 copy regb ,pdata 
+0x400a 014652 call twspi_read 
+0x400b 014653 copy pdata ,regb 
+0x400c 014654 call spi_ncs_disable 
+0x400d 014655 nop 100 
+0x400e 014656 copy regb ,pdata 
+0x400f 014657 rtn 
+:      014658 mouse_p3610_sensor_motion:
+0x4010 014659 disable user 
+0x4011 014660 fetcht 1 ,mem_sensor_data_gpio 
+0x4012 014661 call gpio_get_bit 
+0x4013 014662 nrtn true 
+0x4014 014663 arg pan_reg_motion_staus ,regb 
+0x4015 014664 call mouse_p3610sensor_read 
+0x4016 014665 rtnbit0 7 
+0x4017 014666 arg pan_reg_pid_l ,regb 
+0x4018 014667 call mouse_p3610sensor_read 
+0x4019 014668 store 1 ,mem_sensor_id1 
+0x401a 014669 bne p3610_id1 ,mouse_init_3610sensor_reset 
+0x401b 014670 fetch 1 ,mem_mouse_move_flag 
+0x401c 014671 call mouse_read_sensor3610_data ,blank 
+0x401d 014672 jam 1 ,mem_mouse_move_flag 
+0x401e 014673 call mouse_read_sensor3610_data 
+0x401f 014674 fetch 1 ,mem_mouse_xy_h 
+0x4020 014675 rshift4 pdata ,pdata 
+0x4021 014676 call extsign_bit3 
+0x4022 014677 store 1 ,mem_mouse_x + 1 
+0x4023 014678 fetch 1 ,mem_mouse_xy_h 
+0x4024 014679 and pdata ,0x0f ,pdata 
+0x4025 014680 call extsign_bit3 
+0x4026 014681 store 1 ,mem_mouse_y + 1 
+0x4027 014682 fetch 1 ,mem_config_sensor_angle 
+0x4028 014683 beq 0 ,motion3610_6clk_direction_selection 
+0x4029 014684 beq 1 ,motion3610_9clk_direction_selection 
+0x402a 014685 beq 2 ,motion3610_12clk_direction_selection 
+0x402b 014686 beq 3 ,motion3610_3clk_direction_selection 
+0x402c 014687 rtn 
+:      014689 mouse_3610_smart_select:
+0x402d 014690 fetch 1 ,mem_sensor_smart_flag 
+0x402e 014691 beq p3610_smart_enable ,mouse_3610_smart_disable 
+0x402f 014692 beq p3610_smart_disable ,mouse_3610_smart_enable 
+0x4030 014693 rtn 
+:      014696 motion3610_6clk_direction_selection:
+0x4031 014697 call motion_6clk_direction_dispose 
+0x4032 014698 branch mouse_3610_smart_select 
+:      014700 motion3610_12clk_direction_selection:
+0x4033 014701 call motion_12clk_direction_dispose 
+0x4034 014702 branch mouse_3610_smart_select 
+:      014704 motion3610_9clk_direction_selection:
+0x4035 014705 call motion_9clk_direction_dispose 
+0x4036 014706 branch mouse_3610_smart_select 
+:      014708 motion3610_3clk_direction_selection:
+0x4037 014709 call motion_3clk_direction_dispose 
+0x4038 014710 branch mouse_3610_smart_select 
+:      014712 mouse_read_sensor3610_data:
+0x4039 014713 call spi_ncs_enable 
+0x403a 014714 call mouse_read_sensor_common 
+0x403b 014715 arg 5 ,pdata 
+0x403c 014716 call twspi_read 
+0x403d 014717 store 1 ,mem_mouse_xy_h 
+0x403e 014718 arg 7 ,pdata 
+0x403f 014719 call twspi_read 
+0x4040 014720 store 1 ,mem_sensor_shutter_hi 
+0x4041 014721 arg 8 ,pdata 
+0x4042 014722 call twspi_read 
+0x4043 014723 store 1 ,mem_sensor_shutter_lo 
+0x4044 014724 branch spi_ncs_disable 
+:      014727 mouse_3610_smart_enable:
+0x4045 014728 fetch 1 ,mem_sensor_shutter_hi 
+0x4046 014729 rtnne 0 
+0x4047 014730 fetch 1 ,mem_sensor_shutter_lo 
+0x4048 014731 sub pdata ,45 ,null 
+0x4049 014732 rtn positive 
+0x404a 014733 jam p3610_smart_enable ,mem_sensor_smart_flag 
+0x404b 014734 setarg 0xba41 
+0x404c 014735 call sensor_write 
+0x404d 014736 setarg 0x0032 
+0x404e 014737 call sensor_write 
+0x404f 014738 setarg 0xb541 
+0x4050 014739 branch sensor_write 
+:      014740 mouse_3610_smart_disable:
+0x4051 014741 fetch 1 ,mem_sensor_shutter_hi 
+0x4052 014742 rtnne 0 
+0x4053 014743 fetch 1 ,mem_sensor_shutter_lo 
+0x4054 014744 sub pdata ,45 ,null 
+0x4055 014745 nrtn positive 
+0x4056 014746 jam p3610_smart_disable ,mem_sensor_smart_flag 
+0x4057 014747 setarg 0xba41 
+0x4058 014748 call sensor_write 
+0x4059 014749 setarg 0x8032 
+0x405a 014750 call sensor_write 
+0x405b 014751 setarg 0xb541 
+0x405c 014752 branch sensor_write 
+:      014756 mouse_read_sensor_common:
+0x405d 014757 arg pan_reg_delta_x ,pdata 
+0x405e 014758 call twspi_read 
+0x405f 014759 store 2 ,mem_mouse_x 
+0x4060 014760 arg pan_reg_delta_y ,pdata 
+0x4061 014761 call twspi_read 
+0x4062 014762 store 2 ,mem_mouse_y 
+0x4063 014763 rtn 
+:      014765 mouse_set_qdecoder_x:
+0x4064 014766 arg mouse_default_xa_gpio ,temp 
+0x4065 014767 call gpio_config_input 
+0x4066 014768 arg mouse_default_xa_gpio ,temp 
+0x4067 014769 call gpio_get_bit 
+0x4068 014770 rtn true 
+0x4069 014771 hfetch 1 ,core_qdec_cntx 
+0x406a 014772 set1 4 ,pdata 
+0x406b 014773 hstore 1 ,core_qdec_cntx 
+0x406c 014774 rtn 
+:      014776 mouse_hardware_zwheel:
+0x406d 014777 fetcht 1 ,mem_mouse_z_data 
+0x406e 014778 hfetch 1 ,core_qdec_cntx 
+0x406f 014779 iadd temp ,pdata 
+0x4070 014780 rtn blank 
+0x4071 014781 store 1 ,mem_mouse_z 
+0x4072 014782 jam 0 ,mem_mouse_z_data 
+0x4073 014783 branch enable_user 
+:      014784 mouse_hardware_zwheel_beforelpm:
+0x4074 014785 fetcht 1 ,mem_mouse_z_data 
+0x4075 014786 hfetch 1 ,core_qdec_cntx 
+0x4076 014787 iadd temp ,pdata 
+0x4077 014788 store 1 ,mem_mouse_z_data 
+0x4078 014789 rtn 
+:      014790 mouse_zwheel:
+0x4079 014791 fetch 1 ,mem_mouse_z_data 
+0x407a 014792 rtn blank 
+0x407b 014793 store 1 ,mem_mouse_z 
+0x407c 014794 jam 0 ,mem_mouse_z_data 
+0x407d 014795 branch enable_user 
+:      014797 mouse_t_zwheel:
+0x407e 014798 fetch 1 ,mem_mouse_tz_data 
+0x407f 014799 rtn blank 
+0x4080 014800 store 1 ,mem_mouse_tz 
+0x4081 014801 jam 0 ,mem_mouse_tz_data 
+0x4082 014802 branch enable_user 
+:      014804 mouse_check_key_gpio:
+0x4083 014805 arg 0 ,rega 
+0x4084 014806 fetcht 1 ,mem_lbutton_gpio 
+0x4085 014807 call gpio_get_bit 
+0x4086 014808 setflag true ,0 ,rega 
+0x4087 014809 fetcht 1 ,mem_rbutton_gpio 
+0x4088 014810 call gpio_get_bit 
+0x4089 014811 setflag true ,1 ,rega 
+0x408a 014812 fetcht 1 ,mem_mbutton_gpio 
+0x408b 014813 call gpio_get_bit 
+0x408c 014814 setflag true ,2 ,rega 
+0x408d 014815 call mouse_check_s_key_gpio 
+:      014816 mouse_check_key_gpio_output:
+0x408e 014817 copy rega ,pdata 
+0x408f 014818 rtn 
+:      014819 mouse_check_s_key_gpio:
+0x4090 014820 fetch 1 ,mem_bk_button_gpio 
+0x4091 014821 rtneq gpio_disable 
+0x4092 014822 fetcht 1 ,mem_bk_button_gpio 
+0x4093 014823 call gpio_get_bit 
+0x4094 014824 setflag true ,3 ,rega 
+0x4095 014825 fetcht 1 ,mem_fw_button_gpio 
+0x4096 014826 call gpio_get_bit 
+0x4097 014827 setflag true ,4 ,rega 
+0x4098 014828 rtn 
+:      014830 mouse_key:
+0x4099 014831 call mouse_check_key_gpio 
+0x409a 014832 call mouse_set_mult 
+0x409b 014833 call mouse_24g_key 
+0x409c 014834 copy rega ,pdata 
+0x409d 014835 fetcht 1 ,mem_mouse_key 
+0x409e 014836 store 1 ,mem_mouse_key 
+0x409f 014837 ixor temp ,pdata 
+0x40a0 014838 sub pdata ,0 ,null 
+0x40a1 014839 rtn zero 
+0x40a2 014840 branch enable_user 
+:      014842 mouse_24g_key:
+0x40a3 014843 rtnmark0 mark_24g 
+0x40a4 014844 copy rega ,pdata 
+0x40a5 014845 rtn blank 
+0x40a6 014846 store 1 ,mem_mouse_key 
+0x40a7 014847 branch enable_user 
+:      014850 mouse_set_mult:
+0x40a8 014851 fetch 2 ,mem_ui_state_map 
+0x40a9 014852 bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+0x40aa 014853 fetch 2 ,mem_ui_state_map 
+0x40ab 014854 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+0x40ac 014855 rtn 
+:      014856 mouse_set_ble_mult:
+0x40ad 014857 copy rega ,pdata 
+0x40ae 014858 nbranch le_set_config_short_mult ,blank 
+0x40af 014859 branch le_clr_config_short_mult 
+:      014860 mouse_set_bt_mult:
+0x40b0 014861 copy rega ,pdata 
+0x40b1 014862 nbranch classic_bt_set_mult_short_flag ,blank 
+0x40b2 014863 branch classic_bt_clr_mult_short_flag 
+:      014866 mouse_sensor_sdio_low:
+0x40b3 014867 bpatch patch1c_7 ,mem_patch1c 
+0x40b4 014868 arg mouse_spi1_sdio_gpio ,temp 
+0x40b5 014869 fetch mouse_flag_len ,mem_mouse_flag 
+0x40b6 014870 isolate1 mouse_enable_spi2 ,pdata 
+0x40b7 014871 call mouse_sensor_sdio_low2 ,true 
+0x40b8 014872 call gpio_get_bit 
+0x40b9 014873 rtn true 
+0x40ba 014874 setarg 0x0a 
+0x40bb 014875 call twspi_read 
+0x40bc 014876 nop 1000 
+0x40bd 014877 branch mouse_sensor_sdio_low 
+:      014878 mouse_sensor_sdio_low2:
+0x40be 014879 arg mouse_spi2_sdio_gpio ,temp 
+0x40bf 014880 rtn 
+:      014882 mouse_spi_sdio_gpio_pollup:
+0x40c0 014883 fetch mouse_flag_len ,mem_mouse_flag 
+0x40c1 014884 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+:      014885 mouse_spi1_sdio_gpio_pollup:
+0x40c2 014886 arg mouse_spi1_sdio_gpio ,temp 
+0x40c3 014887 branch gpio_config_input_without_wake 
+:      014888 mouse_spi2_sdio_gpio_pollup:
+0x40c4 014889 arg mouse_spi2_sdio_gpio ,temp 
+0x40c5 014890 branch gpio_config_input_without_wake 
+:      014893 mouse_init_sunt:
+0x40c6 014894 call mouse_spi_init 
+0x40c7 014895 rtn wake 
+0x40c8 014896 call mouse_spi_sdio_gpio_pollup 
+0x40c9 014897 fetch 1 ,mem_config_sensor_type 
+0x40ca 014898 beq p3610 ,mouse_init_3610sensor 
+:      014899 mouse_init_sensor:
+0x40cb 014900 call mouse_read_sensor_id 
+0x40cc 014901 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+0x40cd 014902 beq p3065_id1 ,mouse_p3065_init_param 
+0x40ce 014903 call mouse_twspi_reset 
+0x40cf 014904 nop 1000 
+0x40d0 014905 branch mouse_init_sensor 
+:      014906 mouse_twspi_reset:
+0x40d1 014907 bpatch patch1d_0 ,mem_patch1d 
+0x40d2 014908 fetch mouse_flag_len ,mem_mouse_flag 
+0x40d3 014909 bbit1 mouse_enable_spi2 ,twspi_reset2 
+0x40d4 014910 branch twspi_reset 
+:      014912 mouse_init_3610sensor:
+0x40d5 014913 call mouse_read_sensor_id 
+0x40d6 014914 beq p3610_id1 ,mouse_init_p3610 
+0x40d7 014915 call mouse_init_3610sensor_reset 
+0x40d8 014916 branch mouse_init_3610sensor 
+:      014918 mouse_read_sensor_id:
+0x40d9 014919 setarg pan_reg_pid_h 
+0x40da 014920 call twspi_read 
+0x40db 014921 store 1 ,mem_sensor_id2 
+0x40dc 014922 setarg pan_reg_pid_l 
+0x40dd 014923 call twspi_read 
+0x40de 014924 store 1 ,mem_sensor_id1 
+0x40df 014925 rtn 
+:      014926 mouse_init_p32xx_id2_judge:
+0x40e0 014927 fetch 1 ,mem_sensor_id2 
+0x40e1 014928 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+0x40e2 014929 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+0x40e3 014930 beq p3212_id2 ,mouse_3212_init_param 
+0x40e4 014931 beq pka8_id2 ,mouse_ka8_init_param 
+0x40e5 014932 rtn 
+:      014933 mouse_ka8_init_param:
+0x40e6 014934 jam ka8 ,mem_config_sensor_type 
+0x40e7 014935 rtn 
+:      014936 mouse_p3065xy_init_param:
+0x40e8 014937 jam p3065_xy ,mem_config_sensor_type 
+0x40e9 014938 rtn 
+:      014939 mouse_p3065_init_param:
+0x40ea 014940 fetch 1 ,mem_sensor_id2 
+0x40eb 014941 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x40ec 014942 jam p3065 ,mem_config_sensor_type 
+0x40ed 014943 rtn 
+:      014944 mouse_3212_init_param:
+0x40ee 014945 jam p3212 ,mem_config_sensor_type 
+0x40ef 014946 call mouse_sensor_disable_wp 
+0x40f0 014947 setarg 0x3426 
+0x40f1 014948 call twspi_write 
+0x40f2 014949 setarg 0x0419 
+0x40f3 014950 call twspi_write 
+:      014951 mouse_sensor_enable_wp:
+0x40f4 014952 setarg 0x0009 
+0x40f5 014953 branch twspi_write 
+:      014954 mouse_sensor_disable_wp:
+0x40f6 014955 setarg 0x5a09 
+0x40f7 014956 branch twspi_write 
+:      014958 mouse_3204_3l_init_param:
+0x40f8 014959 jam p3204 ,mem_config_sensor_type 
+0x40f9 014960 call mouse_sensor_disable_wp 
+0x40fa 014961 setarg 0x0f0d 
+0x40fb 014962 call twspi_write 
+0x40fc 014963 setarg 0xe31d 
+0x40fd 014964 call twspi_write 
+0x40fe 014965 setarg 0xd27d 
+0x40ff 014966 call twspi_write 
+0x4100 014967 call mouse_32xx_init_param 
+0x4101 014968 branch mouse_32xx_init_param_1 
+:      014970 mouse_32xx_init_param:
+0x4102 014971 setarg 0x351b 
+0x4103 014972 call twspi_write 
+0x4104 014973 setarg 0xb428 
+0x4105 014974 call twspi_write 
+0x4106 014975 setarg 0x4629 
+0x4107 014976 call twspi_write 
+0x4108 014977 setarg 0x962a 
+0x4109 014978 call twspi_write 
+0x410a 014979 setarg 0x8c2b 
+0x410b 014980 call twspi_write 
+0x410c 014981 setarg 0x6e2c 
+0x410d 014982 call twspi_write 
+0x410e 014983 setarg 0x642d 
+0x410f 014984 call twspi_write 
+0x4110 014985 setarg 0x5f38 
+0x4111 014986 call twspi_write 
+0x4112 014987 setarg 0x0f39 
+0x4113 014988 call twspi_write 
+0x4114 014989 setarg 0x323a 
+0x4115 014990 call twspi_write 
+0x4116 014991 setarg 0x473b 
+0x4117 014992 call twspi_write 
+0x4118 014993 setarg 0x1042 
+0x4119 014994 branch twspi_write 
+:      014995 mouse_32xx_init_param_1:
+0x411a 014996 setarg 0x2e54 
+0x411b 014997 call twspi_write 
+0x411c 014998 setarg 0xf255 
+0x411d 014999 call twspi_write 
+0x411e 015000 setarg 0xf461 
+0x411f 015001 call twspi_write 
+0x4120 015002 setarg 0x7063 
+0x4121 015003 call twspi_write 
+0x4122 015004 setarg 0x5275 
+0x4123 015005 call twspi_write 
+0x4124 015006 setarg 0x4176 
+0x4125 015007 call twspi_write 
+0x4126 015008 setarg 0xed77 
+0x4127 015009 call twspi_write 
+0x4128 015010 setarg 0x2378 
+0x4129 015011 call twspi_write 
+0x412a 015012 setarg 0x4679 
+0x412b 015013 call twspi_write 
+0x412c 015014 setarg 0xe57a 
+0x412d 015015 call twspi_write 
+0x412e 015016 setarg 0x487c 
+0x412f 015017 call twspi_write 
+0x4130 015018 setarg 0x777e 
+0x4131 015019 call twspi_write 
+0x4132 015020 setarg 0x017f 
+0x4133 015021 call twspi_write 
+0x4134 015022 setarg 0x000b 
+0x4135 015023 call twspi_write 
+0x4136 015024 setarg 0x007f 
+0x4137 015025 call twspi_write 
+0x4138 015026 branch mouse_sensor_enable_wp 
+:      015029 mouse_3205_3t_init_param:
+0x4139 015030 jam p3205 ,mem_config_sensor_type 
+0x413a 015031 call mouse_sensor_disable_wp 
+0x413b 015032 setarg 0x100d 
+0x413c 015033 call twspi_write 
+0x413d 015034 setarg 0xed1d 
+0x413e 015035 call twspi_write 
+0x413f 015036 setarg 0x807d 
+0x4140 015037 call twspi_write 
+0x4141 015038 call mouse_32xx_init_param 
+0x4142 015039 setarg 0x0943 
+0x4143 015040 call twspi_write 
+0x4144 015041 branch mouse_32xx_init_param_1 
+:      015044 mouse_init_3610sensor_reset:
+0x4145 015045 fetcht 1 ,mem_sensor_reset_gpio 
+0x4146 015046 call gpio_out_active 
+0x4147 015047 call delay_10ms 
+0x4148 015048 fetcht 1 ,mem_sensor_reset_gpio 
+0x4149 015049 call gpio_out_inactive 
+0x414a 015050 branch delay_10ms 
+:      015052 mouse_init_p3610:
+0x414b 015053 jam p3610 ,mem_config_sensor_type 
+0x414c 015054 setarg 0xba41 
+0x414d 015055 call sensor_write 
+0x414e 015056 setarg 0x0d11 
+0x414f 015057 call sensor_write 
+0x4150 015058 setarg 0x041b 
+0x4151 015059 call sensor_write 
+0x4152 015060 setarg 0x041c 
+0x4153 015061 call sensor_write 
+0x4154 015062 setarg 0x0f1d 
+0x4155 015063 call sensor_write 
+0x4156 015064 setarg 0x0032 
+0x4157 015065 call sensor_write 
+0x4158 015066 setarg 0xb541 
+0x4159 015067 branch sensor_write 
+:      015071 mouse_set_sensor_reg:
+0x415a 015072 setarg 0xba41 
+0x415b 015073 call sensor_write 
+0x415c 015074 nop 4000 
+0x415d 015075 setarg 0xff7f 
+0x415e 015076 call sensor_write 
+0x415f 015077 copy rega ,pdata 
+0x4160 015078 call sensor_write 
+0x4161 015079 setarg 0x007f 
+0x4162 015080 call sensor_write 
+0x4163 015081 setarg 0xb541 
+0x4164 015082 branch sensor_write 
+:      015084 extsign:
+0x4165 015085 rtnbit0 7 
+0x4166 015086 arg 0xff00 ,temp 
+0x4167 015087 ior temp ,pdata 
+0x4168 015088 rtn 
+:      015090 extsign_bit3:
+0x4169 015091 rtnbit0 3 
+0x416a 015092 arg 0xf0 ,temp 
+0x416b 015093 ior temp ,pdata 
+0x416c 015094 rtn 
+:      015097 mouse_le:
+0x416d 015098 call le_fifo_check_nearly_full 
+0x416e 015099 nrtn blank 
+0x416f 015100 fetch 1 ,mem_le_connect_status_flag 
+0x4170 015101 and pdata ,0x03 ,pdata 
+0x4171 015102 rtnne 0x03 
+0x4172 015103 fetch mouse_flag_len ,mem_mouse_flag 
+0x4173 015104 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+0x4174 015105 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+0x4175 015106 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x4176 015107 call mouse_motion 
+0x4177 015108 nrtn user 
+0x4178 015109 branch mouse_fill_data_le 
+:      015111 mouse_le_send_empty_packet:
+0x4179 015112 setarg 0 
+0x417a 015113 store 7 ,mem_mouse_key 
+0x417b 015114 branch mouse_fill_data_le 
+:      015116 mouse_priority_bb_event:
+0x417c 015117 copy regc ,pdata 
+0x417d 015118 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+0x417e 015119 beq bt_evt_bb_connected ,mouse_stop_discovery 
+0x417f 015120 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+0x4180 015121 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+0x4181 015122 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+0x4182 015123 beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+0x4183 015124 beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+0x4184 015125 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+0x4185 015126 beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+0x4186 015127 beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+0x4187 015128 beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+0x4188 015129 beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+0x4189 015130 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+0x418a 015131 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+0x418b 015132 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+0x418c 015133 beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+0x418d 015134 beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+0x418e 015135 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+0x418f 015136 beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+0x4190 015137 rtn 
+:      015140 mouse_le_pairing_complete:
+0x4191 015141 branch app_ble_store_reconn_info 
+:      015143 mouse_24g_attempt_fail:
+0x4192 015144 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4193 015145 fetch 1 ,mem_reconn_times 
+0x4194 015146 nbranch mouse_polling_device ,blank 
+0x4195 015147 fetch 1 ,mem_device_flag 
+0x4196 015148 fetcht 1 ,mem_24g_device_number 
+0x4197 015149 isub temp ,null 
+0x4198 015150 branch app_enter_hibernate ,zero 
+0x4199 015151 rtn 
+:      015152 mouse_24g_attempt_success:
+0x419a 015153 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419b 015154 rtn 
+:      015155 mouse_24g_pairing_complete:
+0x419c 015156 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419d 015157 arg mosue_24g_pairing_flag ,queue 
+0x419e 015158 call mouse_disable_function_flag 
+0x419f 015159 setarg 0 
+0x41a0 015160 store 2 ,mem_24g_pairing_timer_count 
+0x41a1 015161 jam 0 ,mem_mouse_move_flag 
+0x41a2 015163 fetch 1 ,mem_config_sensor_type 
+0x41a3 015164 sub pdata ,p3610 ,null 
+0x41a4 015165 call mouse_read_sensor3610_data ,zero 
+0x41a5 015166 ncall mouse_read_sensor_common ,zero 
+0x41a6 015168 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x41a7 015169 bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+0x41a8 015170 call mouse_set_24g_addr_eeprom 
+0x41a9 015171 branch iicd_write_protect_eep_data 
+:      015173 mouse_set_24g_addr_eeprom:
+0x41aa 015174 call g24_head_ptr2regc 
+0x41ab 015175 add regc ,offset_24g_addr ,rega 
+0x41ac 015176 arg mouse_g24_addr_eeprom_offect ,regb 
+0x41ad 015177 arg 4 ,temp 
+0x41ae 015178 rtn 
+:      015180 mouse_store_flash_24g_address:
+0x41af 015181 call g24_head_ptr2regc 
+0x41b0 015182 add regc ,offset_24g_addr ,regb 
+0x41b1 015183 ifetch 1 ,regb 
+0x41b2 015184 store 1 ,mem_mouse_24g_addr 
+0x41b3 015185 branch mouse_store_flash_device_info 
+:      015188 mouse_le_pairing_success:
+0x41b4 015189 arg ll_pairing_success_flag ,queue 
+0x41b5 015190 branch mouse_le_enable_connect_flag 
+:      015191 mouse_le_ll_start_encryt:
+0x41b6 015192 jam 2 ,mem_le_start_encrypt_timer 
+0x41b7 015193 arg ll_start_enc_flag ,queue 
+0x41b8 015194 branch mouse_le_enable_connect_flag 
+:      015197 mouse_le_enable_connect_flag:
+0x41b9 015198 fetch 1 ,mem_le_connect_status_flag 
+0x41ba 015199 qset1 pdata 
+0x41bb 015200 store 1 ,mem_le_connect_status_flag 
+0x41bc 015201 rtn 
+:      015203 mouse_le_disable_connect_flag:
+0x41bd 015204 fetch 1 ,mem_le_connect_status_flag 
+0x41be 015205 qset0 pdata 
+0x41bf 015206 store 1 ,mem_le_connect_status_flag 
+0x41c0 015207 rtn 
+:      015208 mouse_le_clean_connect_flag:
+0x41c1 015209 jam 0 ,mem_le_connect_status_flag 
+0x41c2 015210 rtn 
+:      015212 mouse_le_bb_event_connected:
+0x41c3 015213 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c4 015214 set0 app_disc_by_button ,pdata 
+0x41c5 015215 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c6 015216 setarg 0 
+0x41c7 015217 store 2 ,mem_mouse_direct_timer 
+0x41c8 015218 call mouse_no_data_timer_init 
+0x41c9 015219 branch mouse_stop_discovery 
+:      015221 mouse_bb_event_pincode:
+0x41ca 015222 call pincode_reinit 
+0x41cb 015223 branch app_bt_set_pincode 
+:      015224 mouse_bb_event_reconn_timeout:
+:      015225 mouse_bb_event_reconn_failed:
+0x41cc 015226 fetch 1 ,mem_reconn_times 
+0x41cd 015227 nbranch mouse_polling_device ,blank 
+0x41ce 015228 fetch 2 ,mem_ui_state_map 
+0x41cf 015229 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41d0 015230 fetch mouse_flag_len ,mem_mouse_flag 
+0x41d1 015231 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41d2 015232 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+0x41d3 015233 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41d4 015234 branch app_bb_hibernate 
+:      015237 mouse_bt_hid_connected:
+0x41d5 015238 branch mouse_hid_connected 
+:      015240 mouse_bt_event_setup_complete:
+0x41d6 015241 rtn 
+:      015243 mouse_soft_reset:
+0x41d7 015244 call mouse_select_device_enable 
+0x41d8 015245 branch soft_reset_chip 
+:      015247 mouse_bb_disconnected:
+0x41d9 015248 bpatch patch1d_1 ,mem_patch1d 
+0x41da 015249 call mouse_bb_discon_clear_stack 
+0x41db 015250 fetch mouse_flag_len ,mem_mouse_flag 
+0x41dc 015251 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41dd 015252 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41de 015253 fetch 1 ,mem_reconn_times 
+0x41df 015254 nbranch mouse_polling_device ,blank 
+0x41e0 015255 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41e1 015256 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+0x41e2 015257 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41e3 015258 bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+0x41e4 015259 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+0x41e5 015260 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41e6 015261 branch mouse_start_discovery 
+:      015262 mouse_bb_discon_clear_stack:
+0x41e7 015263 setarg 0 
+0x41e8 015264 store 8 ,mem_wheel_tb_old_pinlevel 
+0x41e9 015265 istore 4 ,contw 
+0x41ea 015266 jam 0 ,mem_mouse_send_blank_timer 
+0x41eb 015267 jam 0 ,mem_mouse_move_flag 
+0x41ec 015268 jam app_handshake_null ,mem_app_handshake_flag 
+0x41ed 015269 jam 0 ,mem_ltk_exists 
+0x41ee 015270 rtn 
+:      015272 mouse_event_light_state_pairing:
+0x41ef 015273 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+0x41f0 015274 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41f1 015275 branch mouse_start_discovery 
+:      015276 mouse_event_light_state_hibernate:
+0x41f2 015277 fetch 2 ,mem_ui_state_map 
+0x41f3 015278 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41f4 015279 branch app_bb_hibernate 
+:      015281 mouse4_0_event_bb_disconn:
+0x41f5 015282 call mouse_le_clean_connect_flag 
+0x41f6 015283 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41f7 015284 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41f8 015285 branch app_bb_hibernate 
+:      015287 mouse_bb_event_timer:
+0x41f9 015288 call mouse_adc_read 
+0x41fa 015289 call mouse_24g_delay_timer 
+0x41fb 015290 call mouse_ban_24g_pairing_timer 
+0x41fc 015291 call mouse_dpi_led_blink_delay_timer 
+0x41fd 015292 call mouse_statue_up_timer 
+0x41fe 015294 call mouse_statue_cheak_timer 
+0x41ff 015295 call mouse_select_device 
+0x4200 015296 call mouse_bt_discovery_cheak 
+0x4201 015297 call mouse_low_voltage_led_timer 
+0x4202 015298 call mouse_sensor_led_contrl_timer 
+0x4203 015299 call mouse_check_hid_handshake_timer 
+0x4204 015300 call mouse_check_discovery_timeout_timer 
+0x4205 015301 call mouse_check_direct_timeout_timer 
+0x4206 015302 call mouse_check_no_data_timeout_timer 
+0x4207 015303 call mouse_check_mouse_state_timer 
+0x4208 015304 branch mouse_le_enable_att_list_timer 
+:      015308 mouse_sensor_led_contrl_timer:
+0x4209 015309 fetch 1 ,mem_mouse_sensor_timer_count 
+0x420a 015310 rtn blank 
+0x420b 015311 increase -1 ,pdata 
+0x420c 015312 store 1 ,mem_mouse_sensor_timer_count 
+0x420d 015313 nrtn blank 
+0x420e 015314 branch mouse_sensor_led_contrl 
+:      015315 mouse_sensor_led_contrl:
+0x420f 015316 fetch 1 ,mem_sensor_led_style 
+0x4210 015317 rtneq ui_led_state_blink_stop 
+0x4211 015318 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+:      015319 mouse_sensor_led_blink_state_lighting:
+0x4212 015320 call mouse_sensor_led_on 
+0x4213 015321 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+0x4214 015322 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4215 015323 rtn 
+:      015324 mouse_sensor_led_blink_state_darking:
+0x4216 015325 call mouse_sensor_led_off 
+0x4217 015326 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+0x4218 015327 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4219 015328 rtn 
+:      015330 mouse_sensor_led_blink_stop:
+:      015331 mouse_sensor_reset:
+0x421a 015332 setarg 0x8006 
+0x421b 015333 call twspi_write 
+0x421c 015334 nop 1000 
+0x421d 015335 jam 0x00 ,mem_mouse_sensor_timer_count 
+0x421e 015336 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+0x421f 015337 branch mouse_init_p32xx_id2_judge 
+:      015339 mouse_p3212sensor_led_on:
+0x4220 015340 setarg 0xa006 
+0x4221 015341 call twspi_write 
+0x4222 015342 setarg 0xa005 
+0x4223 015343 branch twspi_write 
+:      015344 mouse_sensor_led_on_global:
+0x4224 015345 jam 0 ,mem_mouse_sensor_timer_count 
+:      015346 mouse_sensor_led_on:
+0x4225 015347 fetch 1 ,mem_config_sensor_type 
+0x4226 015348 beq p3212 ,mouse_p3212sensor_led_on 
+0x4227 015349 setarg 0x0106 
+0x4228 015350 call twspi_write 
+0x4229 015351 setarg 0xa105 
+0x422a 015352 branch twspi_write 
+:      015354 mouse_sensor_led_off_global:
+0x422b 015355 jam 0 ,mem_mouse_sensor_timer_count 
+:      015356 mouse_sensor_led_off:
+0x422c 015357 setarg 0x0906 
+0x422d 015358 branch twspi_write 
+:      015359 mouse_sensor_start_blink:
+0x422e 015360 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x422f 015361 jam ui_led_state_blink_start ,mem_sensor_led_style 
+0x4230 015362 rtn 
+:      015364 mouse_check_hid_handshake_timer:
+0x4231 015365 arg mem_hid_handshake_timer_count ,regc 
+0x4232 015366 arg mouse_bt_hid_handshake ,regb 
+0x4233 015367 branch timer_single_step 
+:      015369 mouse_check_discovery_timeout_timer:
+0x4234 015370 arg mem_mouse_discovery_timer ,regc 
+0x4235 015371 arg mouse_check_discovery_timeout ,regb 
+0x4236 015372 branch timer_single_step_2b 
+:      015374 mouse_check_direct_timeout_timer:
+0x4237 015375 arg mem_mouse_direct_timer ,regc 
+0x4238 015376 arg mouse_check_direct_timeout ,regb 
+0x4239 015377 branch timer_single_step_2b 
+:      015379 mouse_check_no_data_timeout_timer:
+0x423a 015380 arg mem_mouse_no_data_timer ,regc 
+0x423b 015381 arg mouse_check_no_data_timeout ,regb 
+0x423c 015382 branch timer_single_step_2b 
+:      015384 mouse_check_mouse_state_timer:
+0x423d 015385 arg mem_mouse_statue_led_timer ,regc 
+0x423e 015386 arg mouse_statue_led_off ,regb 
+0x423f 015387 branch timer_single_step 
+:      015391 mouse_le_enable_att_list_timer:
+0x4240 015392 arg mem_le_start_encrypt_timer ,regc 
+0x4241 015393 arg mouse_le_enable_att_list ,regb 
+0x4242 015394 branch timer_single_step 
+:      015396 mouse_24g_delay_timer:
+0x4243 015397 arg mem_24g_enter_lpm_timer ,regc 
+0x4244 015398 arg mouse_24g_delay ,regb 
+0x4245 015399 branch timer_single_step 
+:      015401 mouse_ban_24g_pairing_timer:
+0x4246 015402 arg mem_24g_pairing_timer_count ,regc 
+0x4247 015403 arg mouse_ban_24g_pairing ,regb 
+0x4248 015404 branch timer_single_step_2b 
+:      015405 mouse_ban_24g_pairing:
+:      015406 mouse_24g_delay:
+0x4249 015407 rtn 
+:      015410 mosue_dpi_led_blink_init:
+0x424a 015411 fetch mouse_flag_len ,mem_mouse_flag 
+0x424b 015412 rtnbit0 mouse_enable_dpi_led_blink 
+0x424c 015413 jam 10 ,mem_mouse_dpi_led_delay_count 
+0x424d 015414 fetch 1 ,mem_dpi_led_gpio 
+0x424e 015415 store 1 ,mem_mouse_struct_led_gpio 
+0x424f 015416 rtn 
+:      015419 mouse_dpi_led_blink_delay_timer:
+0x4250 015420 arg mem_mouse_dpi_led_delay_count ,regc 
+0x4251 015421 arg mouse_dpi_led_setting ,regb 
+0x4252 015422 branch timer_single_step 
+:      015423 mouse_dpi_led_setting:
+0x4253 015424 fetch 1 ,mem_dpi_led_gpio 
+0x4254 015425 store 1 ,mem_mouse_struct_led_gpio 
+0x4255 015426 setarg led_dpi_blink 
+0x4256 015427 store 2 ,mem_mouse_on_time 
+0x4257 015428 store 2 ,mem_mouse_off_time 
+0x4258 015429 arg 0 ,rega 
+0x4259 015430 fetcht 1 ,mem_mouse_dpi 
+0x425a 015431 increase 1 ,temp 
+0x425b 015432 storet 1 ,mem_mouse_blink_count 
+0x425c 015433 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x425d 015434 rtn 
+:      015436 mouse_le_enable_att_list:
+0x425e 015437 fetch 1 ,mem_le_connect_status_flag 
+0x425f 015438 rtnbit1 ll_pairing_success_flag 
+0x4260 015439 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4261 015440 call ui_ipc_send_cmd 
+0x4262 015441 arg write_req_enable_flag ,queue 
+0x4263 015442 branch mouse_le_enable_connect_flag 
+:      015445 mouse_check_discovery_timeout:
+0x4264 015446 call mouse_stop_discovery 
+0x4265 015447 branch app_enter_hibernate 
+:      015449 mouse_check_direct_timeout:
+0x4266 015450 call app_ble_stop_direct_adv 
+0x4267 015451 fetch 1 ,mem_reconn_times 
+0x4268 015452 nbranch mouse_polling_device ,blank 
+0x4269 015453 branch app_enter_hibernate 
+:      015455 mouse_check_no_data_timeout:
+0x426a 015456 bmark1 mark_24g ,check_51cmd_hibernate 
+0x426b 015457 branch mouse_disconnect 
+:      015461 mouse_bb_event_discovery_btn:
+0x426c 015462 bpatch patch1d_2 ,mem_patch1d 
+0x426d 015463 jam 0 ,mem_mouse_send_blank_timer 
+0x426e 015464 call mouse_disconnect 
+0x426f 015465 call mouse_le_clean_connect_flag 
+0x4270 015466 branch mouse_start_discovery 
+:      015470 mouse3_0_check_reconn_target:
+0x4271 015471 fetch 6 ,mem_hci_plap 
+0x4272 015472 branch app_bt_start_discovery_short ,blank 
+0x4273 015473 call mouse_reconn_setting_led_gpio 
+0x4274 015474 jam 0x17 ,mem_connection_options 
+0x4275 015475 fetch 1 ,mem_ssp_enable 
+0x4276 015476 nbranch app_bt_start_reconnect ,blank 
+0x4277 015477 jam 0x04 ,mem_connection_options 
+0x4278 015478 branch app_bt_start_reconnect 
+:      015480 mouse4_0_check_reconn_target:
+0x4279 015481 fetch 2 ,mem_mouse_direct_timeout 
+0x427a 015482 store 2 ,mem_mouse_direct_timer 
+0x427b 015483 call mouse_reconn_setting_led_gpio 
+0x427c 015484 call app_lpm_mult_disable 
+0x427d 015485 branch check_51cmd_adv 
+:      015487 mouse_reconn_setting_led_gpio:
+0x427e 015488 setarg led_reconnect_blink 
+0x427f 015489 store 2 ,mem_mouse_on_time 
+0x4280 015490 store 2 ,mem_mouse_off_time 
+0x4281 015491 branch mouse_setting_led_gpio_comman 
+:      015493 mouse_discover_setting_led_gpio:
+0x4282 015494 setarg led_discovery_blink 
+0x4283 015495 store 2 ,mem_mouse_on_time 
+0x4284 015496 store 2 ,mem_mouse_off_time 
+:      015497 mouse_setting_led_gpio_comman:
+0x4285 015498 fetch 1 ,mem_device_flag 
+0x4286 015499 beq mode_bt_device1 ,mouse_device_led1 
+0x4287 015500 beq mode_bt_device2 ,mouse_device_led2 
+0x4288 015501 beq mode_bt_device3 ,mouse_device_led3 
+0x4289 015502 rtn 
+:      015503 mouse_device_led1:
+0x428a 015504 fetch 1 ,mem_config_device1_led_gpio 
+0x428b 015505 branch mouse_led_blink 
+:      015506 mouse_device_led2:
+0x428c 015507 fetch 1 ,mem_config_device2_led_gpio 
+0x428d 015508 branch mouse_led_blink 
+:      015509 mouse_device_led3:
+0x428e 015510 fetch 1 ,mem_config_device3_led_gpio 
+:      015511 mouse_led_blink:
+0x428f 015512 store 1 ,mem_temp 
+0x4290 015513 call mouse_devce_led_off 
+0x4291 015514 fetch 1 ,mem_temp 
+0x4292 015515 store 1 ,mem_mouse_struct_led_gpio 
+0x4293 015516 arg 0 ,rega 
+0x4294 015517 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x4295 015518 branch ui_led_blink_start_global 
+:      015520 mouse_led_off:
+0x4296 015521 arg 0 ,rega 
+0x4297 015522 branch ui_led_off_global 
+:      015523 mouse_led_on:
+0x4298 015524 arg 0 ,rega 
+0x4299 015525 branch ui_led_on_global 
+:      015527 mouse4_0_bb_event_discovery_btn:
+0x429a 015528 branch mouse_le_clean_connect_flag 
+:      015530 mouse_bt_hid_handshake:
+0x429b 015531 jam app_handshake_done ,mem_app_handshake_flag 
+0x429c 015532 call app_lpm_mult_enable 
+0x429d 015533 call app_bt_store_reconn_info 
+0x429e 015534 setarg 0 
+0x429f 015535 store 2 ,mem_discovery_timeout_timer_count 
+0x42a0 015536 store 1 ,mem_hid_handshake_timer_count 
+0x42a1 015537 branch app_bt_enter_sniff 
+:      015539 mouse_check_reconn_target:
+0x42a2 015540 call mouse_cheak_select_device_by_switch 
+0x42a3 015541 fetch 1 ,mem_device_flag 
+0x42a4 015542 fetcht 1 ,mem_24g_device_number 
+0x42a5 015543 isub temp ,null 
+0x42a6 015544 branch mouse_connect_24g_mode ,zero 
+0x42a7 015545 fetch 1 ,mem_xrecord_mode 
+0x42a8 015546 beq rec_3_mode ,mouse3_0_check_reconn_target 
+0x42a9 015547 beq rec_4_mode ,mouse4_0_check_reconn_target 
+0x42aa 015548 branch mouse_start_discovery 
+:      015549 mouse_connect_24g_mode:
+0x42ab 015550 call mouse_start_24g_mode 
+0x42ac 015551 rtnmark1 mark_24g 
+0x42ad 015552 fetch 1 ,mem_reconn_times 
+0x42ae 015553 nbranch mouse_polling_device ,blank 
+0x42af 015554 rtn 
+:      015556 mouse_start_discovery:
+0x42b0 015557 bpatch patch1d_3 ,mem_patch1d 
+0x42b1 015558 fetch 2 ,mem_ui_state_map 
+0x42b2 015559 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+0x42b3 015560 fetch mouse_flag_len ,mem_mouse_flag 
+0x42b4 015561 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+0x42b5 015562 random pdata 
+0x42b6 015563 store 1 ,mem_le_lap + 1 
+:      015564 mouse_start_discovery_norandom:
+0x42b7 015565 call app_lpm_mult_disable 
+0x42b8 015566 fetch 2 ,mem_discovery_timeout 
+0x42b9 015567 store 2 ,mem_mouse_discovery_timer 
+0x42ba 015568 jam 6 ,mem_connection_options 
+0x42bb 015569 setarg 0 
+0x42bc 015570 store 2 ,mem_mouse_no_data_timer 
+0x42bd 015571 store 2 ,mem_mouse_direct_timer 
+0x42be 015572 arg mouse_store_eeprom_flag ,queue 
+0x42bf 015573 call mouse_enable_function_flag 
+0x42c0 015574 call mouse_bt_discovery_button_down_disable 
+0x42c1 015575 fetch 1 ,mem_device_option 
+0x42c2 015576 isolate1 mode_4_mouse ,pdata 
+0x42c3 015577 call check_51cmd_adv ,true 
+0x42c4 015578 fetch 1 ,mem_device_option 
+0x42c5 015579 isolate1 mode_3_mouse ,pdata 
+0x42c6 015580 call check_51cmd_start_discovery ,true 
+0x42c7 015581 fetch mouse_flag_len ,mem_mouse_flag 
+0x42c8 015582 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+0x42c9 015583 branch mouse_discover_setting_led_gpio 
+:      015585 mouse_stop_discovery:
+0x42ca 015586 bpatch patch1d_4 ,mem_patch1d 
+0x42cb 015587 fetch 1 ,mem_device_option 
+0x42cc 015588 isolate1 mode_4_mouse ,pdata 
+0x42cd 015589 call mouse_stop_le_adv ,true 
+0x42ce 015590 fetch 1 ,mem_device_option 
+0x42cf 015591 isolate1 mode_3_mouse ,pdata 
+0x42d0 015592 call mouse_stop_bt3_discovery ,true 
+0x42d1 015593 fetch mouse_flag_len ,mem_mouse_flag 
+0x42d2 015594 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+0x42d3 015595 branch mouse_devce_led_off 
+:      015596 mouse_stop_le_adv:
+0x42d4 015597 setarg 0 
+0x42d5 015598 store 2 ,mem_mouse_direct_timer 
+0x42d6 015599 branch check_51cmd_stop_adv 
+:      015600 mouse_stop_bt3_discovery:
+0x42d7 015601 setarg 0 
+0x42d8 015602 store 2 ,mem_mouse_discovery_timer 
+0x42d9 015603 branch check_51cmd_stop_discovery 
+:      015609 mouse_store_remote_bdaddr:
+0x42da 015610 fetch mouse_flag_len ,mem_mouse_flag 
+0x42db 015611 rtnbit0 mouse_store_eeprom_flag 
+0x42dc 015612 arg mouse_store_eeprom_flag ,queue 
+0x42dd 015613 call mouse_disable_function_flag 
+0x42de 015614 call mouse_check_device_addr 
+:      015615 mouse_unplug_clean_bdaddr:
+0x42df 015616 call mouse_before_store_reconn_info 
+0x42e0 015617 fetch mouse_flag_len ,mem_mouse_flag 
+0x42e1 015618 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+0x42e2 015619 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+0x42e3 015620 rtn 
+:      015621 mouse_store_eeprom_device_info:
+0x42e4 015622 arg 88 ,temp 
+0x42e5 015623 arg mem_device_flag ,rega 
+0x42e6 015624 arg mouse_info_eeprom_offect ,regb 
+0x42e7 015625 branch iicd_write_protect_eep_data 
+:      015627 mouse_check_device_addr:
+0x42e8 015628 fetch 1 ,mem_record_bt_mode 
+0x42e9 015629 beq rec_4_mode ,mouse_check_le_device_addr 
+0x42ea 015630 beq rec_3_mode ,mouse_check_bt_device_addr 
+0x42eb 015631 rtn 
+:      015632 mouse_check_le_device_addr:
+0x42ec 015633 store 1 ,mem_device_addr_temp 
+0x42ed 015634 fetch 6 ,mem_le_plap 
+0x42ee 015635 branch mouse_check_bt_device_addr_common 
+:      015636 mouse_check_bt_device_addr:
+0x42ef 015637 store 1 ,mem_device_addr_temp 
+0x42f0 015638 fetch 6 ,mem_plap 
+:      015639 mouse_check_bt_device_addr_common:
+0x42f1 015640 store 6 ,mem_device_addr_temp + 1 
+0x42f2 015641 fetch 7 ,mem_device_addr_temp 
+0x42f3 015642 arg mem_device1_type ,contr 
+0x42f4 015643 arg 3 ,loopcnt 
+:      015644 mouse_check_device_addr_end:
+0x42f5 015645 ifetcht 7 ,contr 
+0x42f6 015646 isub temp ,null 
+0x42f7 015647 branch mouse_clean_addr ,zero 
+0x42f8 015648 increase 22 ,contr 
+0x42f9 015649 loop mouse_check_device_addr_end 
+0x42fa 015650 rtn 
+:      015651 mouse_before_store_reconn_info:
+0x42fb 015652 arg mem_device1_type ,rega 
+0x42fc 015653 fetch 1 ,mem_device_flag 
+0x42fd 015654 increase -1 ,pdata 
+0x42fe 015655 mul32 pdata ,29 ,pdata 
+0x42ff 015656 iadd rega ,rega 
+0x4300 015657 fetch 1 ,mem_record_bt_mode 
+0x4301 015658 istore 1 ,rega 
+0x4302 015659 beq rec_4_mode ,mouse_store_le_device 
+0x4303 015660 beq rec_3_mode ,mouse_store_bt_device 
+0x4304 015661 rtn 
+:      015663 mouse_store_le_device:
+0x4305 015664 fetch 6 ,mem_le_plap 
+0x4306 015665 istore 6 ,contw 
+0x4307 015666 arg mem_le_ltk ,contr 
+0x4308 015667 call memcpy16 
+0x4309 015668 fetch 6 ,mem_le_lap 
+0x430a 015669 istore 6 ,contw 
+0x430b 015670 rtn 
+:      015671 mouse_store_bt_device:
+0x430c 015672 fetch 6 ,mem_plap 
+0x430d 015673 istore 6 ,contw 
+0x430e 015674 arg mem_link_key ,contr 
+0x430f 015675 branch memcpy16 
+:      015677 mouse_clean_addr:
+0x4310 015678 increase -6 ,contr 
+0x4311 015679 copy contr ,contw 
+0x4312 015680 fetcht 6 ,mem_device_addr_temp + 1 
+0x4313 015681 increase 3 ,temp 
+0x4314 015682 istoret 6 ,contw 
+0x4315 015683 rtn 
+:      015687 mouse_eeprom_load_recon_info:
+0x4316 015688 arg 88 ,temp 
+0x4317 015689 arg mem_device_flag ,rega 
+0x4318 015690 arg mouse_info_eeprom_offect ,regb 
+0x4319 015691 call iicd_read_eep_data 
+:      015692 mouse_select_reconn_device:
+0x431a 015693 arg mem_device1_type ,rega 
+0x431b 015694 fetch 1 ,mem_device_flag 
+0x431c 015695 fetcht 1 ,mem_24g_device_number 
+0x431d 015696 isub temp ,null 
+0x431e 015697 rtn zero 
+0x431f 015698 increase -1 ,pdata 
+0x4320 015699 mul32 pdata ,29 ,pdata 
+0x4321 015700 iadd rega ,rega 
+0x4322 015701 ifetch 1 ,rega 
+0x4323 015702 store 1 ,mem_xrecord_mode 
+0x4324 015703 beq rec_3_mode ,mouse_load_bt_device 
+0x4325 015704 beq rec_4_mode ,mouse_load_le_device 
+0x4326 015705 rtn 
+:      015707 mouse_load_bt_device:
+0x4327 015708 ifetch 6 ,contr 
+:      015709 mouse_load_bt_device_end:
+0x4328 015710 store 6 ,mem_hci_plap 
+0x4329 015711 arg mem_link_key ,contw 
+0x432a 015712 call memcpy16 
+0x432b 015713 branch check_link_key_load 
+:      015715 mouse_load_le_device:
+0x432c 015716 ifetch 6 ,contr 
+:      015717 mouse_load_le_device_end:
+0x432d 015718 store 6 ,mem_hci_plap 
+0x432e 015719 arg mem_le_ltk ,contw 
+0x432f 015720 call memcpy16 
+0x4330 015721 ifetch 6 ,contr 
+0x4331 015722 store 6 ,mem_le_lap 
+0x4332 015723 rtn 
+:      015726 mouse_select_device:
+0x4333 015727 fetch 1 ,mem_config_function_enable 
+0x4334 015728 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+0x4335 015729 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+0x4336 015730 branch mouse_select_device_by_combination_key 
+:      015732 mouse_select_device_by_combination_key:
+0x4337 015733 call mouse_check_key_gpio 
+0x4338 015734 beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+:      015735 mouse_select_device_commbination_key_up:
+0x4339 015736 jam 30 ,mem_combination_select_device_count 
+0x433a 015737 fetch 1 ,mem_select_device_button_statue 
+0x433b 015738 rtneq dpi_button_state_up 
+0x433c 015739 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x433d 015740 rtn 
+:      015742 mouse_select_device_commbination_key_down:
+0x433e 015743 call mouse_combination_select_device_timer 
+0x433f 015744 fetch 1 ,mem_select_device_button_statue 
+0x4340 015745 rtneq dpi_button_state_down 
+0x4341 015746 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4342 015747 branch mouse_select_device_enable 
+:      015749 mouse_combination_select_device_timer:
+0x4343 015750 fetch 1 ,mem_combination_select_device_count 
+0x4344 015751 rtn blank 
+0x4345 015752 pincrease -1 
+0x4346 015753 store 1 ,mem_combination_select_device_count 
+0x4347 015754 nrtn blank 
+0x4348 015755 branch mouse_ready_reconnection_by_button 
+:      015757 mouse_select_device_by_button:
+0x4349 015758 fetch 1 ,mem_config_select_device_button_gpio 
+0x434a 015759 rtneq gpio_disable 
+0x434b 015760 fetcht 1 ,mem_config_select_device_button_gpio 
+0x434c 015761 call gpio_get_bit 
+0x434d 015762 branch mouse_select_device_button_down ,true 
+:      015763 mouse_select_device_button_up:
+0x434e 015764 fetch 1 ,mem_select_device_button_statue 
+0x434f 015765 rtneq dpi_button_state_up 
+0x4350 015766 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x4351 015767 fetch mouse_flag_len ,mem_mouse_flag 
+0x4352 015768 rtnbit1 mouse_long_bt_button_flag 
+0x4353 015769 branch mouse_ready_reconnection_by_button 
+:      015771 mouse_select_device_button_down:
+0x4354 015772 fetch 1 ,mem_select_device_button_statue 
+0x4355 015773 rtneq dpi_button_state_down 
+0x4356 015774 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4357 015775 arg mouse_long_bt_button_flag ,queue 
+0x4358 015776 branch mouse_disable_function_flag 
+:      015780 mouse_select_device_by_switch:
+0x4359 015781 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x435a 015782 rtnbit0 enable_select_device_by_switch 
+0x435b 015783 fetch 1 ,mem_device_flag 
+0x435c 015784 beq mode_bt_device1 ,mouse_select1_device 
+0x435d 015785 beq mode_24g_device ,mouse_select2_device 
+0x435e 015786 rtn 
+:      015787 mouse_cheak_select_device_by_switch:
+0x435f 015788 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x4360 015789 rtnbit0 enable_select_device_by_switch 
+0x4361 015790 fetcht 1 ,mem_config_select_device_button_gpio 
+0x4362 015791 call gpio_get_bit 
+0x4363 015792 branch mouse_cheak_select_24gdevice ,true 
+:      015793 mouse_select_btdevice:
+0x4364 015794 jam mode_bt_device1 ,mem_device_flag 
+0x4365 015795 rtn 
+:      015796 mouse_cheak_select_24gdevice:
+0x4366 015797 fetch 1 ,mem_24g_device_number 
+0x4367 015798 store 1 ,mem_device_flag 
+0x4368 015799 rtn 
+:      015800 mouse_select1_device:
+0x4369 015801 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436a 015802 nbranch mouse_ready_reconnection_by_button ,true 
+0x436b 015803 rtn 
+:      015804 mouse_select2_device:
+0x436c 015805 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436d 015806 call gpio_get_bit 
+0x436e 015807 branch mouse_select_device_button_down ,true 
+0x436f 015808 rtn 
+:      015813 mouse_ready_reconnection_by_button:
+0x4370 015814 fetcht 1 ,mem_device_flag 
+0x4371 015815 increase 1 ,temp 
+0x4372 015816 fetch 1 ,mem_device_number 
+0x4373 015817 isub temp ,null 
+0x4374 015818 ncall mouse_select_device_count_clean ,positive 
+0x4375 015819 storet 1 ,mem_device_flag 
+0x4376 015820 jam 0 ,mem_link_key_exists 
+0x4377 015821 call mouse_store_device_number2eeprom 
+0x4378 015822 call mouse_select_device_enable 
+0x4379 015824 branch mouse_set_reconnection 
+:      015826 mouse_store_device_number2eeprom:
+0x437a 015827 arg 1 ,temp 
+0x437b 015828 arg mem_device_flag ,rega 
+0x437c 015829 arg 0 ,regb 
+0x437d 015830 branch iicd_write_eep_data 
+:      015832 mouse_set_reconnection:
+0x437e 015833 call mouse_stop_bluetooth_mode 
+0x437f 015834 call mouse_select_device_disable 
+0x4380 015835 branch mouse_soft_reset 
+:      015836 mouse_stop_bluetooth_mode:
+0x4381 015837 fetch 2 ,mem_ui_state_map 
+0x4382 015838 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x4383 015839 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x4384 015840 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x4385 015841 branch mouse_stop_discovery 
+:      015843 mouse_disconnect:
+0x4386 015844 bpatch patch1d_5 ,mem_patch1d 
+0x4387 015845 setarg 0 
+0x4388 015846 store 2 ,mem_mouse_no_data_timer 
+0x4389 015847 fetch 2 ,mem_ui_state_map 
+0x438a 015848 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x438b 015849 fetch 2 ,mem_ui_state_map 
+0x438c 015850 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x438d 015851 rtn 
+:      015853 mouse_irtual_cable_unplug:
+0x438e 015854 setarg 0x01 
+0x438f 015855 store 6 ,mem_plap 
+0x4390 015856 jam rec_3_mode ,mem_record_bt_mode 
+0x4391 015857 branch mouse_unplug_clean_bdaddr 
+:      015860 mouse_cancel_reconnect:
+0x4392 015861 call mouse_bt_cannel_reconn_enable 
+0x4393 015862 branch check_51cmd_bb_reconn_cancel 
+:      015864 mouse_bt_discovery_by_button:
+0x4394 015865 fetch 1 ,mem_config_bt_button_gpio 
+0x4395 015866 rtneq gpio_disable 
+0x4396 015867 fetcht 1 ,mem_config_bt_button_gpio 
+0x4397 015868 call gpio_get_bit 
+0x4398 015869 branch mouse_bt_discovery_button_down ,true 
+:      015870 mouse_bt_discovery_button_up:
+0x4399 015871 fetch 1 ,mem_ui_button_timeout 
+0x439a 015872 store 1 ,mem_combination_ui_button_count 
+0x439b 015873 fetch 1 ,mem_bt_discovey_button_statue 
+0x439c 015874 rtneq dpi_button_state_up 
+0x439d 015875 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x439e 015876 branch mouse_bt_discovery_button_down_disable 
+:      015877 mouse_bt_discovery_button_down:
+0x439f 015878 call mouse_bt_discovry_timer 
+0x43a0 015879 fetch 1 ,mem_bt_discovey_button_statue 
+0x43a1 015880 rtneq dpi_button_state_down 
+0x43a2 015881 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43a3 015882 call check_51cmd_bb_reconn_cancel 
+0x43a4 015883 branch mouse_bt_discovery_button_down_enable 
+:      015886 mouse_bt_discovery_cheak:
+0x43a5 015887 fetch 1 ,mem_config_function_enable 
+0x43a6 015888 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+:      015889 mouse_bt_discovery_commbination_key:
+0x43a7 015890 call mouse_check_key_gpio 
+0x43a8 015891 beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+:      015892 mouse_bt_discovery_commbination_key_up:
+0x43a9 015893 fetch 1 ,mem_ui_button_timeout 
+0x43aa 015894 store 1 ,mem_combination_ui_button_count 
+0x43ab 015895 fetch 1 ,mem_bt_discovey_button_statue 
+0x43ac 015896 rtneq dpi_button_state_up 
+0x43ad 015897 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x43ae 015898 branch mouse_bt_discovery_button_down_disable 
+:      015901 mouse_bt_discovery_commbination_key_down:
+0x43af 015902 call mouse_bt_discovry_timer 
+0x43b0 015903 fetch 1 ,mem_bt_discovey_button_statue 
+0x43b1 015904 rtneq dpi_button_state_down 
+0x43b2 015905 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43b3 015906 call check_51cmd_bb_reconn_cancel 
+0x43b4 015907 branch mouse_bt_discovery_button_down_enable 
+:      015909 mouse_bt_discovry_timer:
+0x43b5 015910 arg mem_combination_ui_button_count ,regc 
+0x43b6 015911 arg mouse_long_button_bt_discovry ,regb 
+0x43b7 015912 branch timer_single_step 
+:      015914 mouse_long_button_bt_discovry:
+0x43b8 015915 arg mouse_long_bt_button_flag ,queue 
+0x43b9 015916 call mouse_enable_function_flag 
+0x43ba 015917 call app_evt_button_long_pressed 
+0x43bb 015918 branch mouse_bb_event_discovery_btn 
+:      015921 mouse_cpi_enable:
+0x43bc 015922 arg mouse_cpi_flag ,queue 
+0x43bd 015923 branch mouse_enable_function_flag 
+:      015924 mouse_cpi_disable:
+0x43be 015925 arg mouse_cpi_flag ,queue 
+0x43bf 015926 branch mouse_disable_function_flag 
+:      015927 mouse_select_device_enable:
+0x43c0 015928 arg mouse_select_device_flag ,queue 
+0x43c1 015929 branch mouse_enable_function_flag 
+:      015930 mouse_select_device_disable:
+0x43c2 015931 arg mouse_select_device_flag ,queue 
+0x43c3 015932 branch mouse_disable_function_flag 
+:      015933 mouse_bt_cannel_reconn_enable:
+0x43c4 015934 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c5 015935 branch mouse_enable_function_flag 
+:      015936 mouse_bt_cannel_reconn_disable:
+0x43c6 015937 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c7 015938 branch mouse_disable_function_flag 
+:      015939 mouse_bt_discovery_button_down_enable:
+0x43c8 015940 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43c9 015941 branch mouse_enable_function_flag 
+:      015942 mouse_bt_discovery_button_down_disable:
+0x43ca 015943 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43cb 015944 branch mouse_disable_function_flag 
+:      015948 mouse_select_device_count_clean:
+0x43cc 015949 arg 1 ,temp 
+0x43cd 015950 rtn 
+:      015952 mouse_enable_function_flag:
+0x43ce 015953 fetch mouse_flag_len ,mem_mouse_flag 
+0x43cf 015954 qset1 pdata 
+0x43d0 015955 store mouse_flag_len ,mem_mouse_flag 
+0x43d1 015956 rtn 
+:      015958 mouse_disable_function_flag:
+0x43d2 015959 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d3 015960 qset0 pdata 
+0x43d4 015961 store mouse_flag_len ,mem_mouse_flag 
+0x43d5 015962 rtn 
+:      015964 mouse_adc_read:
+0x43d6 015965 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d7 015966 rtnbit0 mouse_enable_adc 
+0x43d8 015967 fetch 1 ,mem_adc_read_timer 
+0x43d9 015968 increase 1 ,pdata 
+0x43da 015969 store 1 ,mem_adc_read_timer 
+0x43db 015970 sub pdata ,10 ,null 
+0x43dc 015971 rtn positive 
+0x43dd 015972 jam 0 ,mem_adc_read_timer 
+0x43de 015973 call adc_set_mode 
+0x43df 015974 call vdd_calculate_by_mode 
+0x43e0 015975 store 2 ,mem_mouse_vdd_now_vol 
+0x43e1 015976 arg mem_mouse_vdd_calculate_set ,rega 
+0x43e2 015977 call adc_bat_percent_lowpower_out 
+0x43e3 015978 fetch 1 ,mem_adc_power_flag 
+0x43e4 015979 bbit1 1 ,mouse_power_down 
+0x43e5 015980 bbit0 0 ,mouse_adc_no_low_voltage 
+0x43e6 015981 branch mouse_adc_low_voltage 
+:      015982 mouse_adc_low_voltage:
+0x43e7 015983 arg mouse_low_voltage_flag ,queue 
+0x43e8 015984 branch mouse_enable_function_flag 
+:      015985 mouse_adc_no_low_voltage:
+0x43e9 015986 arg mouse_low_voltage_flag ,queue 
+0x43ea 015987 branch mouse_disable_function_flag 
+:      015989 mouse_low_voltage_led_timer:
+0x43eb 015990 fetch mouse_flag_len ,mem_mouse_flag 
+0x43ec 015991 rtnbit0 mouse_low_voltage_flag 
+0x43ed 015992 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x43ee 015993 store 1 ,mem_mouse_struct_led_gpio 
+0x43ef 015994 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f0 015995 pincrease 1 
+0x43f1 015996 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f2 015997 sub pdata ,20 ,null 
+0x43f3 015998 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x43f4 015999 beq 2 ,mouse_low_voltage_led_on 
+0x43f5 016000 beq 4 ,mouse_low_voltage_led_off 
+0x43f6 016001 beq 6 ,mouse_low_voltage_led_on 
+0x43f7 016002 beq 8 ,mouse_low_voltage_led_off 
+0x43f8 016003 rtn 
+:      016004 mouse_adc_low_volatage_led_timer_count_clean:
+0x43f9 016005 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x43fa 016006 branch mouse_low_voltage_led_off 
+:      016007 mouse_low_voltage_led_on:
+0x43fb 016008 arg 0 ,rega 
+0x43fc 016009 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x43fd 016010 branch ui_led_on_global 
+:      016011 mouse_low_voltage_led_off:
+0x43fe 016012 arg 0 ,rega 
+0x43ff 016013 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x4400 016014 branch ui_led_off_global 
+:      016016 mouse_g24_package_data:
+0x4401 016017 call mouse_motion 
+0x4402 016018 nrtn user 
+0x4403 016019 arg 7 ,rega 
+0x4404 016020 arg mem_mouse_key ,regb 
+0x4405 016021 rtn 
+:      016023 mouse_g24_enter_lpm:
+0x4406 016024 fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4407 016025 rtn blank 
+0x4408 016027 fetcht 1 ,mem_dpi_button_gpio 
+0x4409 016028 call gpio_get_bit 
+0x440a 016029 call mouse_24g_dpi_delay_init ,true 
+0x440b 016030 fetch 1 ,mem_24g_enter_lpm_timer 
+0x440c 016031 nrtn blank 
+0x440d 016032 call mouse_check_key_gpio 
+0x440e 016033 nrtn blank 
+0x440f 016034 branch g24_lpm_long_sleep 
+:      016036 mouse_24g_dpi_delay_init:
+0x4410 016037 fetch 1 ,mem_dpi_button_gpio 
+0x4411 016038 rtneq ui_button_gpio_disable 
+0x4412 016039 jam 10 ,mem_24g_enter_lpm_timer 
+0x4413 016040 rtn 
+:      016043 mouse_load_flash_info_cheak:
+0x4414 016044 call mouse_load_flash_flag 
+0x4415 016045 fetch 2 ,mem_store_flag 
+0x4416 016046 arg eeprom_init_flag ,temp 
+0x4417 016047 isub temp ,null 
+0x4418 016048 branch mouse_load_flash_device_info ,zero 
+0x4419 016049 storet 2 ,mem_store_flag 
+0x441a 016050 call mouse_ble_init_address 
+0x441b 016051 branch mouse_store_flash_device_info 
+:      016052 mouse_ble_init_address:
+0x441c 016053 fetch 6 ,mem_le_lap 
+0x441d 016054 store 6 ,mem_device1_locall_addr 
+0x441e 016055 add pdata ,0x0100 ,pdata 
+0x441f 016056 store 6 ,mem_device2_locall_addr 
+0x4420 016057 add pdata ,0x0100 ,pdata 
+0x4421 016058 store 6 ,mem_device3_locall_addr 
+0x4422 016059 rtn 
+:      016062 mouse_load_flash_flag:
+0x4423 016063 setarg mem_store_flag 
+0x4424 016064 arg mem_mouse_information_start ,temp 
+0x4425 016065 isub temp ,temp 
+0x4426 016066 fetch 3 ,mem_flash_base 
+0x4427 016067 iadd temp ,pdata 
+0x4428 016068 arg 2 ,temp 
+0x4429 016069 arg mem_store_flag ,rega 
+0x442a 016070 branch spid_read_flash 
+:      016073 mouse_load_flash_device_info:
+0x442b 016074 setarg mem_mouse_information_end 
+0x442c 016075 arg mem_mouse_information_start ,temp 
+0x442d 016076 isub temp ,temp 
+0x442e 016077 fetch 3 ,mem_flash_base 
+0x442f 016078 arg mem_mouse_information_start ,rega 
+0x4430 016079 call spid_read_flash 
+0x4431 016080 call mouse_select_reconn_device 
+0x4432 016081 fetch 4 ,mem_mouse_24g_addr 
+0x4433 016082 call g24_head_ptr2regc 
+0x4434 016083 branch g24_store_mem_addr 
+:      016085 mouse_store_flash_device_info:
+0x4435 016086 setarg mem_mouse_information_end 
+0x4436 016087 arg mem_mouse_information_start ,temp 
+0x4437 016088 isub temp ,temp 
+0x4438 016089 arg mem_mouse_information_start ,rega 
+0x4439 016090 fetch 3 ,mem_flash_base 
+0x443a 016091 branch flash_write 
+:      016093 mouse_store_eerpom_dpi:
+0x443b 016094 arg 1 ,temp 
+0x443c 016095 arg mem_mouse_dpi ,rega 
+0x443d 016096 arg mouse_dpi_eeprom_offect ,regb 
+0x443e 016097 branch iicd_write_protect_eep_data 
+:      016099 mouse_load_eeprom_dpi:
+0x443f 016100 arg 1 ,temp 
+0x4440 016101 arg mem_mouse_dpi ,rega 
+0x4441 016102 arg mouse_dpi_eeprom_offect ,regb 
+0x4442 016103 branch iicd_read_eep_data 
+:      016105 mouse_statue_cheak_timer:
+0x4443 016106 rtnmark1 mark_24g 
+0x4444 016107 fetch mouse_flag_len ,mem_mouse_flag 
+0x4445 016108 rtnbit0 mouse_enable_statue_up 
+0x4446 016109 fetch 1 ,mem_mouse_1step_up_count 
+0x4447 016110 pincrease 1 
+0x4448 016111 and pdata ,0x07 ,pdata 
+0x4449 016112 store 1 ,mem_mouse_1step_up_count 
+0x444a 016113 rtnne 0x07 
+0x444b 016114 fetch 2 ,mem_ui_state_map 
+0x444c 016115 bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+0x444d 016116 bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+0x444e 016117 rtn 
+:      016122 mouse_check_statue_up:
+0x444f 016123 bpatch patch1d_6 ,mem_patch1d 
+0x4450 016124 fetch 1 ,mem_mouse_2step_up_count 
+0x4451 016125 nrtn blank 
+0x4452 016126 fetch mouse_flag_len ,mem_mouse_flag 
+0x4453 016127 rtnbit0 mouse_statue_up_flag 
+0x4454 016128 fetch 1 ,mem_sensor_squal_reg 
+0x4455 016129 call sensor_read 
+0x4456 016130 store 1 ,mem_sensor_iqc 
+0x4457 016131 sub pdata ,0x10 ,null 
+0x4458 016132 branch mouse_statue_up_timer_init ,positive 
+0x4459 016133 jam 0 ,mem_mouse_2step_up_count 
+0x445a 016134 rtn 
+:      016136 mouse_statue_up_timer_init:
+0x445b 016137 jam 30 ,mem_mouse_2step_up_count 
+0x445c 016138 rtn 
+:      016139 mouse_statue_up_timer:
+0x445d 016140 arg mem_mouse_2step_up_count ,regc 
+0x445e 016141 arg mouse_statue_up ,regb 
+0x445f 016142 branch timer_single_step 
+:      016144 mouse_statue_up:
+0x4460 016145 fetch 1 ,mem_sensor_squal_reg 
+0x4461 016146 call twspi_read 
+0x4462 016147 sub pdata ,0x10 ,null 
+0x4463 016148 nrtn positive 
+0x4464 016149 fetch mouse_flag_len ,mem_mouse_flag 
+0x4465 016150 rtnbit0 mouse_statue_up_flag 
+0x4466 016151 arg mouse_statue_up_flag ,queue 
+0x4467 016152 call mouse_disable_function_flag 
+0x4468 016153 jam 0 ,mem_lpm_mult 
+0x4469 016154 jam 30 ,mem_mouse_statue_led_timer 
+0x446a 016155 call mouse_devce_led_off 
+0x446b 016156 fetch mouse_flag_len ,mem_mouse_flag 
+0x446c 016157 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+:      016158 mouse_two_device_statue_up:
+0x446d 016159 fetch 1 ,mem_device_flag 
+0x446e 016160 beq mode_bt_device1 ,mouse_device1_led_on 
+0x446f 016161 beq mode_bt_device2 ,mouse_device_blink_led_init 
+0x4470 016162 rtn 
+:      016163 mouse_three_device_statue_up:
+0x4471 016164 fetch 1 ,mem_device_flag 
+0x4472 016165 beq mode_bt_device1 ,mouse_device1_led_on 
+0x4473 016166 beq mode_bt_device2 ,mouse_device2_led_on 
+0x4474 016167 beq mode_bt_device3 ,mouse_device3_led_on 
+0x4475 016168 rtn 
+:      016170 mouse_device_blink_led_init:
+0x4476 016171 fetch 1 ,mem_config_device1_led_gpio 
+0x4477 016172 branch mouse_led_blink 
+:      016176 mouse_statue_led_off:
+0x4478 016177 jam 0x20 ,mem_lpm_mult 
+0x4479 016178 branch mouse_devce_led_off 
+:      016182 mouse_devce1_led_off:
+0x447a 016183 fetch 1 ,mem_config_device1_led_gpio 
+0x447b 016184 rtneq gpio_disable 
+0x447c 016185 store 1 ,mem_mouse_struct_led_gpio 
+0x447d 016186 branch mouse_led_off 
+:      016188 mouse_devce2_led_off:
+0x447e 016189 fetch 1 ,mem_config_device2_led_gpio 
+0x447f 016190 rtneq gpio_disable 
+0x4480 016191 store 1 ,mem_mouse_struct_led_gpio 
+0x4481 016192 branch mouse_led_off 
+:      016194 mouse_devce_led_off:
+0x4482 016195 call mouse_led_off 
+0x4483 016196 call mouse_devce1_led_off 
+0x4484 016197 call mouse_devce2_led_off 
+:      016198 mouse_devce3_led_off:
+0x4485 016199 fetch 1 ,mem_config_device3_led_gpio 
+0x4486 016200 rtneq gpio_disable 
+0x4487 016201 store 1 ,mem_mouse_struct_led_gpio 
+0x4488 016202 branch mouse_led_off 
+:      016204 mouse_device1_led_on:
+0x4489 016205 fetch 1 ,mem_config_device1_led_gpio 
+0x448a 016206 store 1 ,mem_mouse_struct_led_gpio 
+0x448b 016207 branch mouse_led_on 
+:      016208 mouse_device2_led_on:
+0x448c 016209 fetch 1 ,mem_config_device2_led_gpio 
+0x448d 016210 store 1 ,mem_mouse_struct_led_gpio 
+0x448e 016211 branch mouse_led_on 
+:      016212 mouse_device3_led_on:
+0x448f 016213 fetch 1 ,mem_config_device3_led_gpio 
+0x4490 016214 store 1 ,mem_mouse_struct_led_gpio 
+0x4491 016215 branch mouse_led_on 
+:      016219 mouse_polling_device:
+0x4492 016220 bpatch patch1d_7 ,mem_patch1d 
+0x4493 016221 fetch 1 ,mem_reconn_times 
+0x4494 016222 increase -1 ,pdata 
+0x4495 016223 store 1 ,mem_reconn_times 
+0x4496 016224 fetcht 1 ,mem_device_flag 
+0x4497 016225 increase 1 ,temp 
+0x4498 016226 fetch 1 ,mem_device_number 
+0x4499 016227 isub temp ,null 
+0x449a 016228 ncall mouse_select_device_count_clean ,positive 
+0x449b 016229 storet 1 ,mem_device_flag 
+0x449c 016230 jam 0 ,mem_link_key_exists 
+0x449d 016231 call mouse_store_device_number2eeprom 
+0x449e 016232 call mouse_before_store_reconn_info 
+0x449f 016233 branch mouse_check_reconn_target 
+:      016235 mouse_power_down:
+0x44a0 016236 call mouse_devce_led_off 
+0x44a1 016237 setarg 0 
+0x44a2 016238 store 8 ,mem_gpio_wakeup_low 
+0x44a3 016239 branch lpm_hibernate 
+:      016250 remote_car_init:
+0x44a4 016251 rtn wake 
+0x44a5 016252 hfetch 1 ,core_gpio_sel1 
+0x44a6 016253 and_into 0xf0 ,pdata 
+0x44a7 016254 hstore 1 ,core_gpio_sel1 
+0x44a8 016255 call keyscan_key_init 
+0x44a9 016256 setarg remote_car_le_before_hibernate 
+0x44aa 016257 store 2 ,mem_cb_before_hibernate 
+0x44ab 016259 setarg remote_car_process_lpm_before 
+0x44ac 016260 store 2 ,mem_cb_before_lpm 
+0x44ad 016262 setarg remote_car_scale_process_idle 
+0x44ae 016263 store 2 ,mem_cb_idle_process 
+0x44af 016265 setarg remote_car_scale_process_bb_event 
+0x44b0 016266 store 2 ,mem_cb_bb_event_process 
+0x44b1 016268 setarg app_get_lpm_wake_lock 
+0x44b2 016269 store 2 ,mem_cb_check_wakelock 
+0x44b3 016271 call g24_head_ptr2regc 
+0x44b4 016272 setarg remote_car_g24_package_data 
+0x44b5 016273 add regc ,offset_24g_cb_data ,contw 
+0x44b6 016274 istore 2 ,contw 
+0x44b7 016276 setarg remote_car_g24_enter_lpm 
+0x44b8 016277 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x44b9 016278 istore 2 ,contw 
+0x44ba 016280 setarg remote_car_process_lpm_before 
+0x44bb 016281 add regc ,offset_24g_cb_lpm_before ,contw 
+0x44bc 016282 istore 2 ,contw 
+0x44bd 016284 setarg remote_car_event_timer 
+0x44be 016285 store 2 ,mem_cb_event_timer 
+0x44bf 016287 setarg remote_car_power_off_signal 
+0x44c0 016288 store 2 ,mem_remote_car_power_off_cb 
+0x44c1 016290 setarg remote_car_soft_switch_power_on_signal 
+0x44c2 016291 store 2 ,mem_remote_car_power_standby_cb 
+0x44c3 016293 setarg remote_car_send_key_data 
+0x44c4 016294 store 2 ,mem_cb_remote_car_keyscan 
+0x44c5 016296 bpatch patch1e_0 ,mem_patch1e 
+0x44c6 016297 call remote_car_init_environment 
+0x44c7 016298 call queue_init 
+0x44c8 016299 jam 2 ,mem_lpm_mult 
+0x44c9 016300 fetch 1 ,mem_remote_car_config_soft_switch_enable 
+0x44ca 016301 store 1 ,mem_remote_car_hard_soft_switch 
+0x44cb 016302 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+0x44cc 016303 fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+0x44cd 016304 store 1 ,mem_ui_button_gpio 
+:      016305 remote_car_soft_switch_power_on_init:
+0x44ce 016306 call remote_car_ui_led_init 
+0x44cf 016307 call ui_button_init 
+0x44d0 016308 call ui_button_polling 
+0x44d1 016309 jam power_starting ,mem_remote_car_power_state 
+0x44d2 016310 fetch 2 ,mem_ui_state_map 
+0x44d3 016311 rtnbit1 ui_state_btn_down 
+0x44d4 016312 branch app_enter_hibernate 
+:      016316 remote_car_hard_switch_power_on_signal:
+0x44d5 016317 jam power_standby ,mem_remote_car_power_state 
+:      016318 remote_car_soft_switch_power_on_signal:
+0x44d6 016319 call remote_car_ui_led_init 
+0x44d7 016321 arg 0 ,rega 
+0x44d8 016322 call ui_led_blink_start_global 
+:      016323 remote_car_connect_24g_mode:
+0x44d9 016324 branch g24_auto_pair_start 
+:      016326 remote_car_power_off_signal:
+0x44da 016327 branch remote_car_ui_led_init 
+:      016329 remote_car_ui_led_init:
+0x44db 016330 bpatch patch1e_1 ,mem_patch1e 
+0x44dc 016331 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+0x44dd 016332 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+:      016333 remote_car_ui_led_init_1:
+0x44de 016334 fetcht 1 ,mem_remote_car_led_map 
+0x44df 016335 branch gpio_config_output 
+:      016336 remote_car_pairing_led_gpio_set:
+0x44e0 016337 store 1 ,mem_remote_car_led_map 
+0x44e1 016338 branch remote_car_ui_led_init_1 
+:      016341 remote_car_init_environment:
+0x44e2 016342 call g24_set_device_addr 
+0x44e3 016343 fetch 2 ,mem_remote_car_no_data_timeout 
+0x44e4 016344 store 2 ,mem_remote_car_no_data_timer 
+0x44e5 016345 branch remote_car_get_adc_default_data 
+:      016347 remote_car_le_before_hibernate:
+:      016352 remote_car_in_enter_hibernate:
+0x44e6 016353 call gpio_set_before_lpm_common 
+0x44e7 016354 call remote_car_process_lpm_before 
+0x44e8 016355 branch app_enter_hibernate 
+:      016357 remote_car_process_lpm_before:
+0x44e9 016358 branch keyscan_process_lpm_before 
+:      016360 remote_car_g24_enter_lpm:
+0x44ea 016361 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44eb 016362 rtn blank 
+0x44ec 016364 branch g24_lpm_long_sleep 
+:      016366 remote_car_process_auto_pair_exit:
+0x44ed 016367 rtn 
+:      016369 remote_car_key_scan_process:
+0x44ee 016370 branch keyscan_key_process 
+:      016372 remote_car_scale_process_idle:
+0x44ef 016373 call remote_car_rocker_process 
+0x44f0 016374 call remote_car_24g_status_process 
+0x44f1 016375 branch remote_car_key_scan_process 
+:      016377 remote_car_scale_process_bb_event:
+0x44f2 016378 copy regc ,pdata 
+0x44f3 016379 beq bt_evt_button_up ,app_event_button_up 
+0x44f4 016380 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x44f5 016381 beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+0x44f6 016382 beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+0x44f7 016383 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+0x44f8 016384 rtn 
+:      016386 remote_car_24g_attempt_fail:
+0x44f9 016387 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fa 016388 rtn 
+:      016390 remote_car_24g_pairing_complete:
+0x44fb 016391 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fc 016392 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x44fd 016393 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x44fe 016394 rtn 
+:      016396 remote_car_24g_attempt_success:
+0x44ff 016397 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x4500 016398 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x4501 016399 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x4502 016400 rtn 
+:      016402 remote_car_24g_status_process:
+0x4503 016403 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4504 016404 rtneq power_on 
+0x4505 016405 fetch 1 ,mem_remote_car_24g_status 
+0x4506 016406 rtneq work_paired 
+0x4507 016407 jam work_paired ,mem_remote_car_24g_status 
+:      016408 remote_car_scale_process_paired:
+0x4508 016409 arg 0 ,rega 
+0x4509 016410 branch ui_led_off_global 
+:      016411 remote_car_scale_process_shutdown:
+0x450a 016412 arg 0 ,rega 
+0x450b 016413 call ui_led_off_global 
+0x450c 016414 call remote_car_ui_led_init 
+0x450d 016415 branch app_enter_hibernate 
+:      016417 remote_car_event_timer:
+0x450e 016418 call app_power_timer 
+0x450f 016419 branch remote_car_no_data_timer 
+:      016421 remote_car_no_data_timer:
+0x4510 016422 fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+0x4511 016423 rtn blank 
+0x4512 016424 arg mem_remote_car_no_data_timer ,regc 
+0x4513 016425 arg remote_car_scale_process_shutdown ,regb 
+0x4514 016426 branch timer_single_step_2b 
+:      016429 remote_car_get_adc_default_data:
+0x4515 016430 call remote_car_rocker_get_x 
+0x4516 016431 storet 2 ,mem_current_vdd_value_default_mid_x 
+0x4517 016432 call remote_car_rocker_get_y 
+0x4518 016433 storet 2 ,mem_current_vdd_value_default_mid_y 
+0x4519 016434 rtn 
+:      016435 remote_car_rocker_data_get:
+:      016436 remote_car_rocker_get_x:
+0x451a 016437 fetch 2 ,mem_current_vdd_value_default_mid_x 
+0x451b 016438 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x451c 016439 call remote_car_get_adc_from_gpio6 
+0x451d 016440 call remote_car_rocker_get_value 
+0x451e 016441 store 1 ,mem_rocker_status 
+:      016442 remote_car_rocker_get_y:
+0x451f 016443 fetch 2 ,mem_current_vdd_value_default_mid_y 
+0x4520 016444 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x4521 016445 call remote_car_get_adc_from_gpio7 
+0x4522 016446 call remote_car_rocker_get_value 
+0x4523 016447 store 1 ,mem_rocker_status + 1 
+0x4524 016448 rtn 
+:      016449 remote_car_rocker_get_value:
+0x4525 016450 fetch 2 ,mem_current_vdd_default_range 
+0x4526 016451 copy pdata ,rega 
+0x4527 016452 fetch 2 ,mem_current_vdd_value_default_mid_temp 
+0x4528 016453 call remote_car_rocker_mid_value_adjust 
+0x4529 016454 fetch 1 ,mem_rocker_work_status 
+0x452a 016455 nbranch remote_car_rocker_translate_key ,blank 
+0x452b 016456 nrtn positive 
+0x452c 016457 fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+0x452d 016458 rtn 
+:      016459 remote_car_rocker_mid_value_adjust:
+0x452e 016460 isub temp ,pdata 
+0x452f 016461 branch remote_car_rocker_mid_adjust_positive ,positive 
+0x4530 016462 sub pdata ,0 ,pdata 
+0x4531 016463 jam 1 ,mem_rocker_negative_flag 
+0x4532 016464 isub rega ,null 
+0x4533 016465 rtn 
+:      016466 remote_car_rocker_mid_adjust_positive:
+0x4534 016467 jam 0 ,mem_rocker_negative_flag 
+0x4535 016468 isub rega ,null 
+0x4536 016469 rtn 
+:      016470 remote_car_rocker_translate_key:
+0x4537 016471 nbranch remote_car_rocker_middle_key ,positive 
+0x4538 016472 fetch 1 ,mem_rocker_negative_flag 
+0x4539 016473 nbranch remote_car_rocker_negative_key ,blank 
+:      016474 remote_car_rocker_positive_key:
+0x453a 016475 setarg rocker_positive_key 
+0x453b 016476 rtn 
+:      016477 remote_car_rocker_negative_key:
+0x453c 016478 setarg rocker_negative_key 
+0x453d 016479 rtn 
+:      016480 remote_car_rocker_middle_key:
+0x453e 016481 setarg rocker_middle_key 
+0x453f 016482 rtn 
+:      016483 remote_car_get_adc_from_gpio6:
+0x4540 016484 jam 0x33 ,mem_adc_channel 
+0x4541 016485 branch adc_set_mode 
+:      016486 remote_car_get_adc_from_gpio7:
+0x4542 016487 jam 0x34 ,mem_adc_channel 
+0x4543 016488 branch adc_set_mode 
+:      016491 remote_car_rocker_process:
+0x4544 016492 fetch 1 ,mem_remote_car_config_check_way 
+0x4545 016493 rtnne car_remote_check_rocker 
+:      016494 remote_car_read_rocker_check_start:
+0x4546 016495 bpatch patch1e_2 ,mem_patch1e 
+0x4547 016496 jam 1 ,mem_rocker_work_status 
+0x4548 016497 call remote_car_rocker_data_get 
+0x4549 016498 fetch 2 ,mem_rocker_status 
+0x454a 016499 fetcht 2 ,mem_rocker_last_status 
+0x454b 016500 isub temp ,null 
+0x454c 016501 rtn zero 
+0x454d 016502 store 2 ,mem_rocker_last_status 
+0x454e 016503 call remote_car_rocker_x_to_key 
+0x454f 016504 branch remote_car_rocker_y_to_key 
+:      016506 remote_car_rocker_x_to_key:
+0x4550 016507 fetch 1 ,mem_rocker_x_status 
+0x4551 016508 branch rocker_to_queue_set_0 ,blank 
+0x4552 016509 increase -1 ,pdata 
+0x4553 016510 branch remote_car_rocker_to_key 
+:      016511 remote_car_rocker_y_to_key:
+0x4554 016512 fetch 1 ,mem_rocker_y_status 
+0x4555 016513 branch rocker_to_queue_set_2 ,blank 
+0x4556 016514 increase 1 ,pdata 
+:      016515 remote_car_rocker_to_key:
+0x4557 016516 copy pdata ,queue 
+0x4558 016517 arg 1 ,rega 
+0x4559 016518 branch remote_car_send_key_data 
+:      016520 rocker_to_queue_set_0:
+0x455a 016521 arg 0 ,queue 
+0x455b 016522 arg 0 ,rega 
+0x455c 016523 branch remote_car_send_key_data 
+:      016524 rocker_to_queue_set_2:
+0x455d 016525 arg 2 ,queue 
+0x455e 016526 arg 0 ,rega 
+0x455f 016527 branch remote_car_send_key_data 
+:      016529 remote_car_send_key_data:
+0x4560 016530 copy rega ,pdata 
+0x4561 016531 store 1 ,mem_remote_key_status 
+0x4562 016532 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4563 016533 beq power_on ,g24_auto_pair_start 
+0x4564 016534 fetch 2 ,mem_remote_car_no_data_timeout 
+0x4565 016535 store 2 ,mem_remote_car_no_data_timer 
+0x4566 016536 fetch 1 ,mem_remote_key_status 
+0x4567 016537 branch remote_car_key_is_release ,blank 
+:      016538 remote_car_key_is_press:
+0x4568 016539 bpatch patch1e_3 ,mem_patch1e 
+0x4569 016540 arg 0 ,rega 
+0x456a 016541 call ui_led_on_global 
+:      016542 remote_car_attack_key_press:
+0x456b 016543 copy queue ,pdata 
+0x456c 016544 beq 4 ,remote_car_send_attack_key4_press 
+0x456d 016545 beq 5 ,remote_car_send_attack_key5_press 
+0x456e 016546 beq 6 ,remote_car_send_fire_key6_press 
+:      016549 remote_car_motor_key_press:
+0x456f 016550 call remote_car_device_layout_select 
+0x4570 016551 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+0x4571 016552 beq control_l_r_ten ,remote_car_double_motor_key_press 
+0x4572 016553 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+0x4573 016554 rtn 
+:      016556 remote_car_single_motor_key_is_press:
+0x4574 016557 copy queue ,pdata 
+0x4575 016558 beq 0 ,remote_car_send_motor1_key0_press 
+0x4576 016559 beq 1 ,remote_car_send_motor1_key1_press 
+0x4577 016560 beq 2 ,remote_car_send_motor2_key2_press 
+0x4578 016561 beq 3 ,remote_car_send_motor2_key3_press 
+0x4579 016562 rtn 
+:      016564 remote_car_double_motor_key_press:
+0x457a 016565 copy queue ,pdata 
+0x457b 016566 beq 0 ,remote_car_send_double_motor_key0_press 
+0x457c 016567 beq 1 ,remote_car_send_double_motor_key1_press 
+0x457d 016568 beq 2 ,remote_car_send_double_motor_key2_press 
+0x457e 016569 beq 3 ,remote_car_send_double_motor_key3_press 
+0x457f 016570 rtn 
+:      016572 remote_car_key_is_release:
+0x4580 016573 bpatch patch1e_4 ,mem_patch1e 
+0x4581 016574 arg 0 ,rega 
+0x4582 016575 call ui_led_off_global 
+:      016576 remote_car_attack_key_release:
+0x4583 016577 copy queue ,pdata 
+0x4584 016578 beq 4 ,remote_car_send_attack_key4_rel 
+0x4585 016579 beq 5 ,remote_car_send_attack_key5_rel 
+:      016582 remote_car_motor_key_release:
+0x4586 016583 call remote_car_device_layout_select 
+0x4587 016584 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+0x4588 016585 beq control_l_r_ten ,remote_car_double_motor_key_rel 
+0x4589 016586 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+0x458a 016587 rtn 
+:      016589 remote_car_device_layout_select:
+0x458b 016590 fetch 1 ,mem_remote_car_config_layout 
+0x458c 016591 fetcht 1 ,mem_remote_car_config_key_map 
+0x458d 016592 ior temp ,pdata 
+0x458e 016593 rtn 
+:      016596 remote_car_send_motor1_key0_press:
+0x458f 016597 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4590 016598 branch remote_car_send_key 
+:      016599 remote_car_send_motor1_key1_press:
+0x4591 016600 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x4592 016601 branch remote_car_send_key 
+:      016602 remote_car_send_motor2_key2_press:
+0x4593 016603 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4594 016604 branch remote_car_send_key 
+:      016605 remote_car_send_motor2_key3_press:
+0x4595 016606 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x4596 016607 branch remote_car_send_key 
+:      016610 remote_car_send_double_motor_key0_press:
+0x4597 016611 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4598 016612 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4599 016613 branch remote_car_send_key 
+:      016614 remote_car_send_double_motor_key1_press:
+0x459a 016615 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459b 016616 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x459c 016617 branch remote_car_send_key 
+:      016618 remote_car_send_double_motor_key2_press:
+0x459d 016619 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459e 016620 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x459f 016621 branch remote_car_send_key 
+:      016622 remote_car_send_double_motor_key3_press:
+0x45a0 016623 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x45a1 016624 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x45a2 016625 branch remote_car_send_key 
+:      016628 remote_car_send_attack_key4_press:
+0x45a3 016629 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+0x45a4 016630 branch remote_car_send_key 
+:      016631 remote_car_send_attack_key5_press:
+0x45a5 016632 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+0x45a6 016633 branch remote_car_send_key 
+:      016635 remote_car_send_fire_key6_press:
+0x45a7 016636 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+0x45a8 016637 branch remote_car_send_attack 
+:      016639 remote_car_single_motor_key_rel:
+0x45a9 016640 copy queue ,pdata 
+0x45aa 016641 beq 0 ,remote_car_send_motor1_key0_rel 
+0x45ab 016642 beq 1 ,remote_car_send_motor1_key1_rel 
+0x45ac 016643 beq 2 ,remote_car_send_motor2_key2_rel 
+0x45ad 016644 beq 3 ,remote_car_send_motor2_key3_rel 
+0x45ae 016645 rtn 
+:      016647 remote_car_double_motor_key_rel:
+0x45af 016648 copy queue ,pdata 
+0x45b0 016649 beq 0 ,remote_car_send_double_motor_key0_rel 
+0x45b1 016650 beq 1 ,remote_car_send_double_motor_key1_rel 
+0x45b2 016651 beq 2 ,remote_car_send_double_motor_key2_rel 
+0x45b3 016652 beq 3 ,remote_car_send_double_motor_key3_rel 
+0x45b4 016653 rtn 
+:      016655 remote_car_send_motor1_key0_rel:
+:      016656 remote_car_send_motor1_key1_rel:
+0x45b5 016657 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45b6 016658 branch remote_car_send_key 
+:      016659 remote_car_send_motor2_key2_rel:
+:      016660 remote_car_send_motor2_key3_rel:
+0x45b7 016661 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45b8 016662 branch remote_car_send_key 
+:      016664 remote_car_send_double_motor_key0_rel:
+:      016665 remote_car_send_double_motor_key1_rel:
+:      016666 remote_car_send_double_motor_key2_rel:
+:      016667 remote_car_send_double_motor_key3_rel:
+0x45b9 016668 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45ba 016669 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45bb 016670 branch remote_car_send_key 
+:      016672 remote_car_send_attack_key4_rel:
+:      016673 remote_car_send_attack_key5_rel:
+0x45bc 016674 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+0x45bd 016675 branch remote_car_send_key 
+:      016677 remote_car_send_key:
+0x45be 016678 arg mem_remote_car_24g_motor_packet ,rega 
+0x45bf 016679 branch queue_push 
+:      016680 remote_car_send_attack:
+0x45c0 016681 arg mem_remote_car_24g_fire_packet ,rega 
+0x45c1 016682 branch queue_push 
+:      016684 remote_car_g24_package_data:
+0x45c2 016685 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+0x45c3 016686 beq work_paired ,remote_car_g24_send_empty 
+0x45c4 016687 arg mem_remote_car_24g_tx_temp ,rega 
+0x45c5 016688 call queue_pop 
+0x45c6 016689 nbranch remote_car_moto_data ,user 
+:      016690 remote_car_g24_package_data_continue:
+0x45c7 016691 arg mem_remote_car_24g_tx_temp ,contr 
+0x45c8 016692 ifetch 1 ,contr 
+0x45c9 016693 copy pdata ,rega 
+0x45ca 016694 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+0x45cb 016697 rtn 
+:      016699 remote_car_g24_send_empty:
+0x45cc 016700 jam 0 ,mem_remote_car_24g_pair_success_flag 
+0x45cd 016701 enable user 
+0x45ce 016702 arg 1 ,rega 
+0x45cf 016703 arg mem_remote_car_empty_packet ,regb 
+0x45d0 016704 rtn 
+:      016706 remote_car_moto_data:
+0x45d1 016707 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+0x45d2 016708 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+0x45d3 016709 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+0x45d4 016710 rtn 
+:      016711 remote_car_moto_data_next:
+0x45d5 016712 fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+0x45d6 016713 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d7 016714 fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+0x45d8 016715 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d9 016716 fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+0x45da 016717 nbranch remote_car_moto_data_enable_user ,blank 
+0x45db 016718 rtn 
+:      016719 remote_car_moto_data_enable_user:
+0x45dc 016720 enable user 
+0x45dd 016721 branch remote_car_g24_package_data_continue 
+:      016729 shutter_init:
+0x45de 016730 rtn wake 
+0x45df 016731 hfetch 1 ,core_gpio_sel1 
+0x45e0 016732 and_into 0xfc ,pdata 
+0x45e1 016733 hstore 1 ,core_gpio_sel1 
+0x45e2 016734 setarg shutter_le_before_hibernate 
+0x45e3 016735 store 2 ,mem_cb_before_hibernate 
+0x45e4 016737 setarg shutter_process_lpm_before 
+0x45e5 016738 store 2 ,mem_cb_before_lpm 
+0x45e6 016740 setarg app_enter_hibernate 
+0x45e7 016741 store 2 ,mem_cb_discovry_timeout 
+0x45e8 016743 setarg shutter_process_idle 
+0x45e9 016744 store 2 ,mem_cb_idle_process 
+0x45ea 016746 setarg shutter_process_bb_event 
+0x45eb 016747 store 2 ,mem_cb_bb_event_process 
+0x45ec 016749 setarg shutter_le_scale_lpm_lock 
+0x45ed 016750 store 2 ,mem_cb_check_wakelock 
+0x45ee 016752 setarg ble_shutter_receive_data 
+0x45ef 016753 store 2 ,mem_cb_att_write 
+0x45f0 016755 setarg shutter_le_bb_event_timer 
+0x45f1 016756 store 2 ,mem_cb_event_timer 
+0x45f2 016758 setarg shutter_key_change 
+0x45f3 016759 store 2 ,mem_cb_shutter_keycan 
+0x45f4 016761 setarg shutter_soft_swtich_power_on 
+0x45f5 016762 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+0x45f6 016763 setarg shutter_soft_swtich_power_off 
+0x45f7 016764 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+0x45f8 016766 call le_modified_name 
+0x45f9 016767 call shutter_load_bluetooth_config_by_user_config 
+0x45fa 016768 call shutter_init_bluetooth_config 
+0x45fb 016769 call shutter_init_param 
+0x45fc 016770 call keyscan_key_init 
+0x45fd 016771 call shutter_load_buffer_config_form_datarom 
+0x45fe 016772 call queue_init 
+0x45ff 016773 call ui_led_init_global 
+0x4600 016774 call shutter_load_bluetooth_config 
+0x4601 016775 call shutter_load_bluetooth_config_by_eeprom 
+0x4602 016777 bpatch patch1e_5 ,mem_patch1e 
+0x4603 016778 call classic_shutter_load_reconn_info 
+0x4604 016779 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4605 016780 beq hard_switch ,shutter_hart_swtich_power_on 
+0x4606 016781 fetch 1 ,mem_shutter_soft_switch_button_gpio 
+0x4607 016782 store 1 ,mem_ui_button_gpio 
+0x4608 016783 branch ui_soft_swtich_init 
+:      016786 shutter_hart_swtich_power_on:
+0x4609 016787 jam ui_button_gpio_disable ,mem_ui_button_gpio 
+0x460a 016788 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+0x460b 016789 branch shutter_start_reconnect 
+:      016793 shutter_le_scale_lpm_lock:
+0x460c 016794 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x460d 016795 beq ss_state_power_off ,app_get_lpm_wake_lock 
+0x460e 016796 call l2cap_malloc_get_full_map 
+0x460f 016797 fetch 1 ,mem_used_map 
+0x4610 016798 nbranch app_get_lpm_wake_lock ,blank 
+0x4611 016799 branch app_put_lpm_wake_lock 
+:      016803 shutter_process_bb_event:
+0x4612 016804 copy regc ,pdata 
+0x4613 016806 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0x4614 016807 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0x4615 016808 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0x4616 016809 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0x4617 016810 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0x4618 016811 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0x4619 016812 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0x461a 016813 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0x461b 016814 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+0x461c 016815 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+0x461d 016816 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+0x461e 016818 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+0x461f 016819 beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+0x4620 016820 beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+0x4621 016821 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+0x4622 016823 beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+0x4623 016824 beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+0x4624 016825 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+0x4625 016826 rtn 
+:      016831 classic_shutter_process_baseband_connect:
+0x4626 016832 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4627 016833 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4628 016834 rtn 
+:      016837 classic_shutter_process_baseband_disconnect:
+0x4629 016838 call classic_shutter_disconnect_clear_flag 
+0x462a 016839 branch classic_shutter_process_reconnect_failed 
+:      016841 classic_shutter_disconnect_clear_flag:
+0x462b 016842 jam app_handshake_null ,mem_app_handshake_flag 
+0x462c 016843 jam 0 ,mem_hid_handshake_timer_count 
+0x462d 016844 jam 0 ,mem_unsniff2sniff_timer_count 
+0x462e 016845 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x462f 016846 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4630 016847 branch queue_init 
+:      016850 classic_shutter_process_reconnect_failed:
+0x4631 016851 call app_disconn_reason_clear 
+0x4632 016852 branch shutter_start_bluetooth_discovery 
+:      016855 classic_shutter_process_setup_complete:
+0x4633 016856 call shutter_stop_bluetooth_discovery 
+0x4634 016857 branch app_led_stop_blink 
+:      016860 classic_shutter_process_hid_connect:
+0x4635 016861 setarg hid_handshake_timeout 
+0x4636 016862 store 1 ,mem_hid_handshake_timer_count 
+0x4637 016863 rtn 
+:      016866 classic_shutter_process_hid_disconnect:
+0x4638 016867 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4639 016868 setarg flag_shutter_hid_disconn_timeout 
+0x463a 016869 store 1 ,mem_classic_shutter_hid_disconn_count 
+0x463b 016870 rtn 
+:      016873 classic_shutter_process_hid_handshake:
+0x463c 016874 fetch 1 ,mem_app_handshake_flag 
+0x463d 016875 rtneq app_handshake_done 
+0x463e 016876 jam app_handshake_done ,mem_app_handshake_flag 
+0x463f 016877 call app_lpm_mult_enable 
+0x4640 016878 call app_store_reconn_info 
+0x4641 016879 call shutter_stop_bluetooth_discovery 
+0x4642 016880 call app_led_off 
+0x4643 016881 branch app_bt_enter_sniff 
+:      016884 classic_shutter_process_reconnect_page_timeout:
+0x4644 016885 branch classic_shutter_process_reconnect_failed 
+:      016888 classic_shutter_process_virtual_cable_unplug:
+0x4645 016889 setarg flag_shutter_cable_unplug_timeout 
+0x4646 016890 store 1 ,mem_classic_shutter_cable_unplug_conut 
+0x4647 016891 rtn 
+:      016894 classic_shutter_process_remote_unsniff:
+0x4648 016895 branch app_start_auto_sniff 
+:      016899 classic_shutter_process_store_reconnect_information:
+0x4649 016900 arg nvram_eeprom_offset ,regb 
+0x464a 016901 fetch 1 ,mem_nv_data_number 
+0x464b 016902 mul32 pdata ,34 ,temp 
+0x464c 016903 fetch 2 ,mem_nv_data_ptr 
+0x464d 016904 copy pdata ,rega 
+0x464e 016905 branch iicd_write_eep_data 
+:      016907 classic_shutter_load_reconn_info:
+0x464f 016908 arg nvram_eeprom_offset ,regb 
+0x4650 016909 fetch 1 ,mem_shutter_bluetooth_type 
+0x4651 016910 rtnbit0 classic_shutter 
+0x4652 016911 fetch 1 ,mem_nv_data_number 
+0x4653 016912 rtn blank 
+0x4654 016913 mul32 pdata ,34 ,temp 
+0x4655 016914 fetch 2 ,mem_nv_data_ptr 
+0x4656 016915 copy pdata ,rega 
+0x4657 016916 branch iicd_read_eep_data 
+:      016920 ble_shutter_process_baseband_connect:
+0x4658 016921 call shutter_stop_bluetooth_discovery 
+0x4659 016922 setarg 0 
+0x465a 016923 store 2 ,mem_ble_shutter_reconn_timer 
+0x465b 016924 branch app_led_off 
+:      016927 ble_shutter_process_baseband_disconnect:
+0x465c 016928 call queue_init 
+0x465d 016929 jam 0 ,mem_ble_shutter_enable_notify 
+0x465e 016930 branch shutter_start_reconnect 
+:      016933 ble_shutter_process_reconnect_complete:
+0x465f 016934 call queue_init 
+0x4660 016935 jam 1 ,mem_ble_shutter_enable_notify 
+0x4661 016936 fetch 8 ,mem_ble_shutter_interval_min 
+0x4662 016937 store 8 ,mem_le_interval_min 
+0x4663 016938 call app_lpm_mult_enable 
+0x4664 016939 branch le_l2cap_tx_update_req 
+:      016942 ble_shutter_process_parse_connect_parameter_update_response:
+0x4665 016943 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x4666 016944 rtneq ble_signaling_connect_parameter_update_accepted 
+0x4667 016945 fetch 8 ,mem_ble_shutter_interval_min_new 
+0x4668 016946 rtn blank 
+0x4669 016947 store 8 ,mem_le_interval_min 
+0x466a 016948 branch le_l2cap_tx_update_req 
+:      016952 shutter_process_soft_swtich_button_long_press:
+0x466b 016953 branch ui_soft_switch_botton_long_press 
+:      016955 shutter_process_soft_swtich_button_down:
+0x466c 016956 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x466d 016957 rtneq hard_switch 
+0x466e 016958 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x466f 016959 rtnne ss_state_power_on 
+0x4670 016960 call shutter_store_currenct_led_state 
+0x4671 016961 branch app_led_on 
+:      016963 shutter_store_currenct_led_state:
+0x4672 016964 jam 1 ,mem_shutter_soft_swtich_botton_down 
+0x4673 016965 arg 11 ,loopcnt 
+0x4674 016966 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+0x4675 016967 arg mem_shutter_led_struct_app_led ,contr 
+0x4676 016968 branch memcpy 
+:      016970 shutter_process_soft_swtich_button_up:
+0x4677 016971 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4678 016972 rtneq hard_switch 
+0x4679 016973 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x467a 016974 beq ss_state_power_on ,shutter_load_currenct_led_state 
+0x467b 016975 branch ui_soft_switch_botton_up 
+:      016977 shutter_load_currenct_led_state:
+0x467c 016978 fetch 1 ,mem_shutter_soft_swtich_botton_down 
+0x467d 016979 rtnne 1 
+0x467e 016980 jam 0 ,mem_shutter_soft_swtich_botton_down 
+0x467f 016981 fetch 2 ,mem_ui_state_map 
+0x4680 016982 bbit1 ui_state_bt_connected ,app_led_off 
+0x4681 016983 bbit1 ui_state_ble_connected ,app_led_off 
+0x4682 016984 arg 11 ,loopcnt 
+0x4683 016985 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+0x4684 016986 arg mem_shutter_led_struct_app_led ,contw 
+0x4685 016987 branch memcpy 
+:      016992 shutter_le_bb_event_timer:
+0x4686 016994 call shutter_check_sleep_timer 
+0x4687 016997 call shutter_check_power_off_timer 
+0x4688 017000 call classic_shutter_check_unplug_timer 
+0x4689 017001 call classic_shutter_hid_handshake_timer 
+0x468a 017002 call classic_shutter_hid_disconn_timer 
+0x468b 017005 branch ble_shutter_reconn_timer 
+:      017009 shutter_check_sleep_timer:
+0x468c 017010 arg mem_shutter_sleep_timer ,regc 
+0x468d 017011 arg shutter_sleep_timeout ,regb 
+0x468e 017012 branch timer_single_step_2b 
+:      017013 shutter_sleep_timeout:
+0x468f 017014 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+0x4690 017015 call app_led_off 
+0x4691 017016 call shutter_disconnect_current_connection 
+0x4692 017017 branch shutter_wait_power_off 
+:      017020 shutter_check_power_off_timer:
+0x4693 017021 arg mem_shutter_power_off_timer ,regc 
+0x4694 017022 arg shutter_check_power_off_timeout ,regb 
+0x4695 017023 branch timer_single_step 
+:      017025 shutter_check_power_off_timeout:
+0x4696 017026 fetch 2 ,mem_ui_state_map 
+0x4697 017027 bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+0x4698 017028 bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+0x4699 017029 fetch 1 ,mem_shutter_led_struct_app_led_type 
+0x469a 017030 beq ui_led_state_blink_start ,shutter_wait_power_off 
+0x469b 017031 beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+0x469c 017032 beq ui_led_state_blink_darking ,shutter_wait_power_off 
+0x469d 017033 branch app_enter_hibernate 
+:      017037 classic_shutter_check_unplug_timer:
+0x469e 017038 arg mem_classic_shutter_cable_unplug_conut ,regc 
+0x469f 017039 arg classic_shutter_unplug_timeout ,regb 
+0x46a0 017040 branch timer_single_step 
+:      017042 classic_shutter_unplug_timeout:
+0x46a1 017043 fetch 1 ,mem_control_tasks 
+0x46a2 017044 set1 l2cap_disconnect_interrupt ,pdata 
+0x46a3 017045 set1 l2cap_disconnect_control ,pdata 
+0x46a4 017046 store 1 ,mem_control_tasks 
+0x46a5 017047 rtn 
+:      017049 classic_shutter_hid_handshake_timer:
+0x46a6 017050 arg mem_hid_handshake_timer_count ,regc 
+0x46a7 017051 arg classic_shutter_process_hid_handshake ,regb 
+0x46a8 017052 branch timer_single_step 
+:      017054 classic_shutter_hid_disconn_timer:
+0x46a9 017055 arg mem_classic_shutter_hid_disconn_count ,regc 
+0x46aa 017056 arg app_bt_disconnect ,regb 
+0x46ab 017057 branch timer_single_step 
+:      017062 ble_shutter_reconn_timer:
+0x46ac 017063 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46ad 017064 rtnne ss_state_power_on 
+0x46ae 017065 arg mem_ble_shutter_reconn_timer ,regc 
+0x46af 017066 arg shutter_start_bluetooth_discovery ,regb 
+0x46b0 017067 branch timer_single_step_2b 
+:      017070 shutter_process_idle:
+0x46b1 017071 call shutter_send_data_to_master 
+0x46b2 017072 branch keyscan_key_process 
+:      017075 shutter_process_lpm_before:
+0x46b3 017076 branch keyscan_process_lpm_before 
+:      017078 shutter_le_before_hibernate:
+0x46b4 017079 call gpio_set_before_lpm_common 
+0x46b5 017080 branch shutter_process_lpm_before 
+:      017086 shutter_stop_bluetooth_discovery:
+0x46b6 017087 fetch 1 ,mem_shutter_bluetooth_type 
+0x46b7 017088 bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+0x46b8 017089 bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+0x46b9 017090 rtn 
+:      017092 ble_shutter_stop_bluetooth_discovery:
+0x46ba 017093 fetch 2 ,mem_ble_shutter_connect_timeout 
+0x46bb 017094 store 2 ,mem_shutter_sleep_timeout 
+0x46bc 017095 store 2 ,mem_shutter_sleep_timer 
+0x46bd 017096 branch app_ble_stop_adv 
+:      017098 classic_shutter_stop_bluetooth_discovery:
+0x46be 017099 fetch 2 ,mem_classic_shutter_connect_timeout 
+0x46bf 017100 store 2 ,mem_shutter_sleep_timeout 
+0x46c0 017101 store 2 ,mem_shutter_sleep_timer 
+0x46c1 017102 branch app_bt_stop_discovery 
+:      017104 shutter_start_bluetooth_discovery:
+0x46c2 017105 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46c3 017106 rtnne ss_state_power_on 
+0x46c4 017107 fetch 1 ,mem_shutter_bluetooth_type 
+0x46c5 017108 bbit1 classic_shutter ,classic_shutter_start_discovery 
+0x46c6 017109 bbit1 ble_shutter ,ble_shutter_start_discovery 
+0x46c7 017110 rtn 
+:      017112 classic_shutter_start_discovery:
+0x46c8 017113 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+0x46c9 017114 store 2 ,mem_shutter_sleep_timeout 
+0x46ca 017115 store 2 ,mem_shutter_sleep_timer 
+0x46cb 017116 branch app_bt_start_discovery_short 
+:      017118 ble_shutter_start_discovery:
+0x46cc 017119 fetch 2 ,mem_ui_state_map 
+0x46cd 017120 rtnbit1 ui_state_ble_connected 
+0x46ce 017121 fetch 2 ,mem_ble_shutter_discovery_timeout 
+0x46cf 017122 store 2 ,mem_shutter_sleep_timeout 
+0x46d0 017123 store 2 ,mem_shutter_sleep_timer 
+0x46d1 017124 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+0x46d2 017125 call shutter_ble_adv_interval_set 
+0x46d3 017126 call app_led_start_blink 
+0x46d4 017127 fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+0x46d5 017128 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46d6 017129 fetch 2 ,mem_ui_state_map 
+0x46d7 017130 rtnbit1 ui_state_ble_adv 
+0x46d8 017131 branch app_ble_start_adv 
+:      017134 shutter_start_reconnect:
+0x46d9 017135 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46da 017136 rtnne ss_state_power_on 
+0x46db 017137 fetch 1 ,mem_shutter_bluetooth_type 
+0x46dc 017138 bbit1 classic_shutter ,classic_shutter_start_reconnect 
+0x46dd 017139 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+0x46de 017140 rtn 
+:      017142 classic_shutter_start_reconnect:
+0x46df 017143 call app_check_reconn_target 
+0x46e0 017144 branch shutter_start_bluetooth_discovery ,blank 
+0x46e1 017145 call app_led_on 
+0x46e2 017146 call app_bt_stop_discovery 
+0x46e3 017147 branch app_bt_start_reconnect 
+:      017149 ble_shutter_start_reconnect:
+0x46e4 017150 fetch 2 ,mem_ble_shutter_reconn_timer 
+0x46e5 017151 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+0x46e6 017152 storet 2 ,mem_ble_shutter_reconn_timer 
+0x46e7 017153 nrtn blank 
+0x46e8 017154 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+0x46e9 017155 call shutter_ble_adv_interval_set 
+0x46ea 017156 call app_led_start_blink 
+0x46eb 017157 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+0x46ec 017158 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46ed 017159 fetch 2 ,mem_ui_state_map 
+0x46ee 017160 rtnbit1 ui_state_ble_adv 
+0x46ef 017161 branch app_ble_start_adv 
+:      017164 shutter_ble_adv_interval_set:
+0x46f0 017165 store 2 ,mem_lpm_interval 
+0x46f1 017166 increase -4 ,pdata 
+0x46f2 017167 store 2 ,mem_le_adv_interval 
+0x46f3 017168 rtn 
+:      017171 shutter_disconnect_current_connection:
+0x46f4 017172 fetch 2 ,mem_ui_state_map 
+0x46f5 017173 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x46f6 017174 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x46f7 017175 branch shutter_stop_bluetooth_discovery 
+:      017179 app_check_reconn_target:
+0x46f8 017180 fetch 1 ,mem_nv_data_number 
+0x46f9 017181 copy pdata ,loopcnt 
+0x46fa 017182 fetch 2 ,mem_nv_data_ptr 
+0x46fb 017183 copy pdata ,rega 
+:      017184 app_check_reconn_target_loop:
+0x46fc 017185 ifetch 2 ,rega 
+0x46fd 017186 beq 0 ,found_reconn_device 
+0x46fe 017187 increase nv_data_len ,rega 
+0x46ff 017188 loop app_check_reconn_target_loop 
+0x4700 017189 branch enable_blank 
+:      017191 found_reconn_device:
+0x4701 017192 ifetch 6 ,contr 
+0x4702 017193 store 6 ,mem_hci_plap 
+0x4703 017194 increase 10 ,contr 
+0x4704 017195 arg mem_link_key ,contw 
+0x4705 017196 call memcpy16 
+0x4706 017197 call check_link_key_load 
+0x4707 017198 branch disable_blank 
+:      017204 shutter_check_data_enable:
+0x4708 017205 call disable_user 
+0x4709 017206 fetch 2 ,mem_ui_state_map 
+0x470a 017207 bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+0x470b 017208 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+0x470c 017209 rtn 
+:      017211 shutter_check_bt_data_enable:
+0x470d 017212 fetch 1 ,mem_hid_interrupt_state 
+0x470e 017213 rtnne 0x3f 
+0x470f 017214 branch enable_user 
+:      017216 shutter_check_ble_data_enable:
+0x4710 017217 fetch 1 ,mem_ble_shutter_enable_notify 
+0x4711 017218 rtn blank 
+0x4712 017219 branch enable_user 
+:      017224 shutter_check_bluetooth_conn:
+0x4713 017225 call disable_user 
+0x4714 017226 fetch 2 ,mem_ui_state_map 
+0x4715 017227 rtnbit1 ui_state_bt_connected 
+0x4716 017228 rtnbit1 ui_state_ble_connected 
+0x4717 017229 branch enable_user 
+:      017233 shutter_change_bluetooth_status_bt_disconn:
+0x4718 017234 fetch 1 ,mem_shutter_bluetooth_type 
+0x4719 017235 bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+0x471a 017236 bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+0x471b 017237 rtn 
+:      017239 classic_shutter_change_bluetooth_status_bt_disconn:
+0x471c 017240 fetch 1 ,mem_scan_mode 
+0x471d 017241 rtnne 0x03 
+0x471e 017242 branch shutter_start_reconnect 
+:      017244 ble_shutter_change_bluetooth_status_bt_disconn:
+0x471f 017245 branch shutter_start_reconnect 
+:      017248 shutter_check_send_data:
+0x4720 017249 disable user2 
+0x4721 017250 fetch 2 ,mem_shutter_sleep_timeout 
+0x4722 017251 store 2 ,mem_shutter_sleep_timer 
+0x4723 017253 call shutter_check_bluetooth_conn 
+0x4724 017254 branch shutter_change_bluetooth_status_bt_disconn ,user 
+0x4725 017256 call shutter_check_data_enable 
+0x4726 017257 nrtn user 
+0x4727 017258 enable user2 
+0x4728 017259 rtn 
+:      017263 shutter_key_change:
+0x4729 017264 call shutter_check_send_data 
+0x472a 017265 nrtn user2 
+0x472b 017266 deposit rega 
+0x472c 017267 branch shutter_key_release ,blank 
+:      017268 shutter_key_press:
+0x472d 017269 call app_led_on 
+0x472e 017270 arg mem_key0_press ,regc 
+0x472f 017271 branch push_queue_press_or_release 
+:      017273 shutter_key_release:
+0x4730 017274 call app_led_off 
+0x4731 017275 arg mem_key0_release ,regc 
+:      017277 push_queue_press_or_release:
+0x4732 017278 arg max_queue_num ,pdata 
+0x4733 017279 imul32 queue ,pdata 
+0x4734 017280 iadd regc ,regc 
+:      017283 push_buffer_in_queue:
+0x4735 017284 ifetch 1 ,regc 
+0x4736 017285 rtn blank 
+0x4737 017286 call queue_push_one_byte 
+0x4738 017287 increase 1 ,regc 
+0x4739 017288 branch push_buffer_in_queue 
+:      017291 shutter_send_data_to_master:
+0x473a 017292 fetch 2 ,mem_ui_state_map 
+0x473b 017293 bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+0x473c 017294 bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+0x473d 017295 rtn 
+:      017297 pop_queue_to_ble_data:
+0x473e 017298 call le_fifo_check_nearly_full 
+0x473f 017299 nrtn blank 
+0x4740 017300 call queue_pop_one_byte 
+0x4741 017301 nrtn user 
+0x4742 017302 pincrease -1 
+0x4743 017303 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+0x4744 017304 arg mem_ble_data_buffer1 ,temp 
+0x4745 017305 iadd temp ,contr 
+:      017306 le_send_notify_from_list:
+0x4746 017307 ifetch 1 ,contr 
+0x4747 017308 copy pdata ,rega 
+0x4748 017309 ifetcht 2 ,contr 
+0x4749 017310 call store_contr 
+0x474a 017311 call le_att_malloc_tx_notify 
+0x474b 017312 copy rega ,loopcnt 
+0x474c 017313 call get_contr 
+0x474d 017314 branch memcpy 
+:      017317 pop_queue_to_classic_data:
+0x474e 017318 call l2cap_malloc_is_fifo_nearly_full 
+0x474f 017319 nrtn blank 
+0x4750 017320 call queue_pop_one_byte 
+0x4751 017321 nrtn user 
+0x4752 017322 pincrease -1 
+0x4753 017323 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+0x4754 017324 arg mem_classic_data_buffer1 ,temp 
+0x4755 017325 iadd temp ,contr 
+0x4756 017326 ifetch 5 ,contr 
+0x4757 017327 store 5 ,mem_classic_data_buffer 
+:      017328 classic_send_hid_data:
+0x4758 017329 fetch 1 ,mem_classic_data_buffer 
+0x4759 017330 copy pdata ,rega 
+0x475a 017331 call hid_malloc_tx_buff 
+0x475b 017332 fetch 2 ,mem_hid_int_remote_cid 
+0x475c 017333 istore 2 ,contw 
+0x475d 017334 setarg 0xa1 
+0x475e 017335 istore 1 ,contw 
+0x475f 017336 fetch 4 ,mem_classic_data_buffer + 1 
+0x4760 017337 istore 9 ,contw 
+0x4761 017338 rtn 
+:      017342 queue_push_one_byte:
+0x4762 017343 store 1 ,mem_pdatatemp 
+0x4763 017344 arg mem_pdatatemp ,rega 
+0x4764 017345 branch queue_push 
+:      017347 queue_pop_one_byte:
+0x4765 017348 arg mem_pdatatemp ,rega 
+0x4766 017349 call queue_pop 
+0x4767 017350 nrtn user 
+0x4768 017351 fetch 1 ,mem_pdatatemp 
+0x4769 017352 rtn 
+:      017355 ble_shutter_receive_data:
+0x476a 017356 fetch 2 ,mem_le_att_handle 
+0x476b 017357 beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+0x476c 017358 rtn 
+:      017360 shutter_init_param:
+0x476d 017361 setarg 0x02 
+0x476e 017362 store 1 ,mem_shutter_power_off_timeout 
+0x476f 017364 setarg 0x00200008 
+0x4770 017365 store 4 ,mem_ble_shutter_interval_min 
+0x4771 017366 setarg 0x012c0005 
+0x4772 017367 istore 4 ,contw 
+0x4773 017370 jam 0x17 ,mem_le_local_mtu 
+0x4774 017373 setarg 0x1b 
+0x4775 017374 store 2 ,mem_le_pairing_handle 
+0x4776 017375 call le_set_config_fixed_ltk 
+0x4777 017376 call le_set_fixed_ltk 
+0x4778 017377 call le_set_justwork 
+0x4779 017378 branch le_set_config_read_authentication 
+:      017381 shutter_load_buffer_config_form_datarom:
+0x477a 017383 arg ble_key_value_list_size ,loopcnt 
+0x477b 017384 arg mem_ble_data_buffer1 ,contw 
+0x477c 017385 arg ble_shutter_key_value_list ,contr 
+0x477d 017386 call memcpy_fast 
+0x477e 017387 arg bt_key_value_list_size ,loopcnt 
+0x477f 017388 arg mem_classic_data_buffer1 ,contw 
+0x4780 017389 arg classic_shutter_key_value_list ,contr 
+0x4781 017390 branch memcpy_fast 
+:      017393 shutter_load_ble_gatt_form_datarom:
+0x4782 017394 arg ble_gatt_list_size ,loopcnt 
+0x4783 017395 arg ble_shutter_gatt_list ,contr 
+0x4784 017396 branch memcpy_fast 
+:      017399 shutter_load_bt_sdp_form_datarom:
+0x4785 017400 arg bt_sdp_list_size ,loopcnt 
+0x4786 017401 arg classic_shutter_sdp_list ,contr 
+0x4787 017402 branch memcpy_fast 
+:      017406 shutter_init_bluetooth_config:
+0x4788 017407 call shutter_check_load_config_flag 
+0x4789 017408 nrtn user 
+0x478a 017409 fetch 1 ,mem_shutter_config_select_gpio1 
+0x478b 017410 call shutter_init_bluetooth_config_gpio_input 
+0x478c 017411 fetch 1 ,mem_shutter_config_select_gpio2 
+0x478d 017412 call shutter_init_bluetooth_config_gpio_input 
+0x478e 017413 fetch 1 ,mem_shutter_config_select_gpio3 
+0x478f 017414 branch shutter_init_bluetooth_config_gpio_input 
+:      017416 shutter_init_bluetooth_config_gpio_input:
+0x4790 017417 rtn blank 
+0x4791 017418 or pdata ,0x80 ,temp 
+0x4792 017419 branch gpio_config_input_nowake 
+:      017422 shutter_load_bluetooth_config:
+0x4793 017423 call shutter_check_load_config_flag 
+0x4794 017424 nrtn user 
+0x4795 017425 call shutter_load_bluetooth_config_label 
+0x4796 017426 branch shutter_load_bluetooth_config_by_otp 
+:      017428 shutter_load_bluetooth_config_label:
+0x4797 017429 arg 0 ,rega 
+0x4798 017430 fetch 1 ,mem_shutter_config_select_gpio1 
+0x4799 017431 call shutter_load_bluetooth_config_read_gpio_input 
+0x479a 017432 nsetflag blank ,0 ,rega 
+0x479b 017433 fetch 1 ,mem_shutter_config_select_gpio2 
+0x479c 017434 call shutter_load_bluetooth_config_read_gpio_input 
+0x479d 017435 nsetflag blank ,1 ,rega 
+0x479e 017436 fetch 1 ,mem_shutter_config_select_gpio3 
+0x479f 017437 call shutter_load_bluetooth_config_read_gpio_input 
+0x47a0 017438 nsetflag blank ,2 ,rega 
+0x47a1 017439 copy rega ,pdata 
+0x47a2 017440 store 1 ,mem_shutter_config_label 
+0x47a3 017441 fetch 1 ,mem_shutter_config_size 
+0x47a4 017442 imul32 rega ,pdata 
+0x47a5 017443 fetcht 2 ,mem_shutter_config_otp_base_address 
+0x47a6 017444 iadd temp ,pdata 
+0x47a7 017445 store 2 ,mem_shutter_config_otp_addr 
+0x47a8 017446 rtn 
+:      017448 shutter_load_bluetooth_config_read_gpio_input:
+0x47a9 017449 rtn blank 
+0x47aa 017450 or pdata ,0x80 ,temp 
+0x47ab 017451 call gpio_get_bit 
+0x47ac 017452 nbranch enable_blank ,true 
+0x47ad 017453 branch disable_blank 
+:      017456 shutter_check_load_config_flag:
+0x47ae 017457 call disable_user 
+0x47af 017458 fetch 1 ,mem_shutter_config_user_size 
+0x47b0 017459 nrtn blank 
+0x47b1 017460 fetch 1 ,mem_shutter_config_enable 
+0x47b2 017461 rtn blank 
+0x47b3 017462 branch enable_user 
+:      017465 shutter_load_bluetooth_config_by_otp:
+0x47b4 017466 call otp_enable_chgpump 
+0x47b5 017467 fetch 2 ,mem_shutter_config_otp_addr 
+0x47b6 017468 arg mem_shutter_config_data_temp ,rega 
+0x47b7 017469 fetcht 1 ,mem_shutter_config_size 
+0x47b8 017470 call otpd_read_data 
+0x47b9 017471 call otp_disable_chgpump 
+:      017472 shutter_load_bluetooth_config_store_name:
+0x47ba 017473 fetch 1 ,mem_shutter_config_data_temp 
+0x47bb 017474 copy pdata ,loopcnt 
+0x47bc 017475 store 1 ,mem_le_name_len 
+0x47bd 017476 call memcpy_fast 
+0x47be 017477 fetch 1 ,mem_shutter_config_data_temp 
+0x47bf 017478 copy pdata ,loopcnt 
+0x47c0 017479 store 1 ,mem_local_name_length 
+0x47c1 017480 call memcpy_fast 
+0x47c2 017481 ifetch 1 ,contr 
+0x47c3 017482 store 1 ,mem_shutter_key_num 
+0x47c4 017483 ifetch 1 ,contr 
+0x47c5 017484 store 1 ,mem_shutter_hard_soft_switch_case 
+0x47c6 017485 rtn 
+:      017488 shutter_load_bluetooth_config_by_eeprom:
+0x47c7 017489 fetch 1 ,mem_shutter_bluetooth_type 
+0x47c8 017490 rtnbit0 classic_shutter 
+0x47c9 017491 arg 3 ,temp 
+0x47ca 017492 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47cb 017493 copy pdata ,regb 
+0x47cc 017494 arg mem_shutter_config_eeprom_start_flag ,rega 
+0x47cd 017495 call iicd_read_eep_data 
+0x47ce 017496 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+0x47cf 017497 setarg shutter_eeprom_config_crc 
+0x47d0 017498 isub temp ,null 
+0x47d1 017499 nrtn zero 
+0x47d2 017500 fetch 1 ,mem_shutter_config_user_size 
+0x47d3 017501 rtn blank 
+0x47d4 017502 copy pdata ,temp 
+0x47d5 017503 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47d6 017504 add pdata ,3 ,regb 
+0x47d7 017505 arg mem_shutter_config_data_temp ,rega 
+0x47d8 017506 call iicd_read_eep_data 
+0x47d9 017507 branch shutter_store_config 
+:      017509 shutter_load_bluetooth_config_by_user_config:
+0x47da 017510 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47db 017511 rtn blank 
+0x47dc 017512 call otp_enable_chgpump 
+0x47dd 017513 arg 1 ,temp 
+0x47de 017514 arg mem_shutter_config_user_size ,rega 
+0x47df 017515 call otpd_read_data 
+0x47e0 017517 fetch 1 ,mem_shutter_config_user_size 
+0x47e1 017518 rtn blank 
+0x47e2 017520 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47e3 017521 pincrease 1 
+0x47e4 017522 arg mem_shutter_config_data_temp ,rega 
+0x47e5 017523 fetcht 1 ,mem_shutter_config_user_size 
+0x47e6 017524 call otpd_read_data 
+0x47e7 017525 call otp_disable_chgpump 
+:      017526 shutter_store_config:
+0x47e8 017527 call shutter_load_bluetooth_config_store_name 
+:      017528 shutter_load_bluetooth_config_custom:
+0x47e9 017529 ifetch 2 ,contr 
+0x47ea 017530 rtn blank 
+0x47eb 017531 copy pdata ,contw 
+0x47ec 017532 ifetcht 1 ,contr 
+0x47ed 017533 copy temp ,loopcnt 
+0x47ee 017534 call memcpy 
+0x47ef 017535 branch shutter_load_bluetooth_config_custom 
+:      017539 shutter_random_mac_addr:
+0x47f0 017540 fetch 1 ,mem_shutter_bluetooth_type 
+0x47f1 017541 rtnbit0 classic_shutter 
+0x47f2 017542 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47f3 017543 copy pdata ,regb 
+0x47f4 017544 arg 4 ,temp 
+0x47f5 017545 arg mem_shutter_random_mac_data_temp ,rega 
+0x47f6 017546 call iicd_read_eep_data 
+0x47f7 017547 fetch 1 ,mem_shutter_random_mac_data_temp 
+0x47f8 017548 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+:      017549 shutter_write_random_mac_addr_to_eeprom:
+0x47f9 017550 setarg 1 
+0x47fa 017551 store 1 ,mem_shutter_random_mac_data_temp 
+0x47fb 017552 force 3 ,loopcnt 
+0x47fc 017553 call generate_random_loop 
+0x47fd 017554 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47fe 017555 copy pdata ,regb 
+0x47ff 017556 arg 4 ,temp 
+0x4800 017557 arg mem_shutter_random_mac_data_temp ,rega 
+0x4801 017558 call iicd_write_eep_data 
+:      017559 shutter_write_random_mac_addr:
+0x4802 017560 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+0x4803 017561 store 3 ,mem_lap 
+0x4804 017562 store 3 ,mem_le_lap 
+0x4805 017563 rtn 
+:      017566 shutter_soft_swtich_power_on:
+0x4806 017567 branch shutter_start_reconnect 
+:      017570 shutter_soft_swtich_power_off:
+0x4807 017571 arg 0 ,rega 
+0x4808 017572 arg mem_shutter_power_off_led_style ,regc 
+0x4809 017573 call ui_led_set_style_global 
+0x480a 017574 call shutter_disconnect_current_connection 
+:      017575 shutter_wait_power_off:
+0x480b 017576 fetch 1 ,mem_shutter_power_off_timeout 
+0x480c 017577 store 1 ,mem_shutter_power_off_timer 
+0x480d 017578 rtn 
+:      017582 ui_soft_swtich_init:
+0x480e 017583 setarg ss_state_power_up 
+0x480f 017584 call ui_soft_swtich_init_power_on_time 
+0x4810 017585 jam ui_button_state_up ,mem_ui_button_last_state 
+0x4811 017586 call ui_button_init 
+0x4812 017587 call ui_button_polling 
+0x4813 017588 fetch 2 ,mem_ui_state_map 
+0x4814 017589 rtnbit1 ui_state_btn_down 
+0x4815 017590 branch app_enter_hibernate 
+:      017592 ui_soft_swtich_init_power_on_time:
+0x4816 017593 fetcht 2 ,mem_power_param_ptr 
+0x4817 017594 istore 1 ,temp 
+0x4818 017595 ifetch 1 ,contw 
+0x4819 017596 store 1 ,mem_ui_button_timeout 
+0x481a 017597 rtn 
+:      017600 ui_soft_switch_botton_up:
+0x481b 017601 fetch 2 ,mem_power_param_ptr 
+0x481c 017602 ifetch 1 ,pdata 
+0x481d 017603 rtnne ss_state_power_up 
+0x481e 017604 branch app_enter_hibernate 
+:      017607 ui_soft_switch_botton_long_press:
+0x481f 017608 fetcht 2 ,mem_power_param_ptr 
+0x4820 017609 ifetch 1 ,temp 
+0x4821 017610 beq ss_state_power_on ,ui_soft_switch_power_off 
+:      017611 ui_soft_switch_power_on:
+0x4822 017612 setarg ss_state_power_on 
+0x4823 017613 fetcht 2 ,mem_power_param_ptr 
+0x4824 017614 istore 1 ,temp 
+0x4825 017615 add temp ,ss_power_off_time ,contr 
+0x4826 017616 ifetch 1 ,contr 
+0x4827 017617 istore 1 ,mem_ui_button_timeout 
+0x4828 017618 ifetch 2 ,contr 
+0x4829 017619 branch callback_func 
+:      017621 ui_soft_switch_power_off:
+0x482a 017622 setarg ss_state_power_off 
+0x482b 017623 call ui_soft_swtich_init_power_on_time 
+0x482c 017624 add temp ,ss_power_off_cb ,contr 
+0x482d 017625 ifetch 2 ,contr 
+0x482e 017626 branch app_enter_hibernate ,blank 
+0x482f 017627 branch callback_func 
+:      017633 shutter_byteswap:
+0x4830 017634 store 6 ,mem_tmp_buffer 
+0x4831 017635 fetch 1 ,mem_tmp_buffer 
+0x4832 017636 store 1 ,mem_tmp_buffer + 11 
+0x4833 017637 ifetch 1 ,contr 
+0x4834 017638 store 1 ,mem_tmp_buffer + 10 
+0x4835 017639 ifetch 1 ,contr 
+0x4836 017640 store 1 ,mem_tmp_buffer + 9 
+0x4837 017641 ifetch 1 ,contr 
+0x4838 017642 store 1 ,mem_tmp_buffer + 8 
+0x4839 017643 ifetch 1 ,contr 
+0x483a 017644 store 1 ,mem_tmp_buffer + 7 
+0x483b 017645 ifetch 1 ,contr 
+0x483c 017646 store 1 ,mem_tmp_buffer + 6 
+0x483d 017647 fetch 6 ,mem_tmp_buffer + 6 
+0x483e 017648 rtn 
+:      017650 shutter_random_addr_by_otp:
+0x483f 017651 call load_adc_init 
+0x4840 017652 fetch 1 ,mem_1v_adc_io_data 
+0x4841 017653 store 1 ,mem_le_lap 
+0x4842 017654 fetch 1 ,mem_5v_adc_hvin_data 
+0x4843 017655 istore 1 ,contw 
+0x4844 017656 fetch 1 ,mem_3v_adc_vinlpm_data 
+0x4845 017657 istore 1 ,contw 
+0x4846 017658 fetch 3 ,mem_le_lap 
+0x4847 017659 store 3 ,mem_lap 
+0x4848 017660 rtn 
+:      017672 sim_iic_read_eep_data:
+0x4849 017673 fetch 2 ,mem_eeprom_base 
+0x484a 017674 iadd regb ,pdata 
+0x484b 017675 byteswap pdata ,pdata 
+0x484c 017676 store 2 ,mem_addr_mi 
+0x484d 017677 copy temp ,regb 
+0x484e 017679 call sim_iic_start 
+0x484f 017680 setarg 0xa0 
+0x4850 017681 call sim_iic_send_byte 
+0x4851 017682 fetch 1 ,mem_addr_mi 
+0x4852 017683 call sim_iic_send_byte 
+0x4853 017684 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+0x4854 017685 fetch 1 ,mem_addr_mi + 1 
+0x4855 017686 call sim_iic_send_byte 
+:      017687 sim_iic_read_eep_data_2k:
+0x4856 017688 call sim_iic_stop 
+0x4857 017690 call sim_iic_start 
+0x4858 017691 setarg 0xa1 
+0x4859 017692 call sim_iic_send_byte 
+:      017694 sim_iic_read_eep_data_loop:
+0x485a 017695 call sim_iic_read_byte 
+0x485b 017696 istore 1 ,rega 
+0x485c 017697 increase 1 ,rega 
+0x485d 017698 increase -1 ,regb 
+0x485e 017699 nbranch sim_iic_read_eep_data_loop ,zero 
+0x485f 017700 branch sim_iic_stop 
+:      017711 sim_iic_write_eep_data:
+0x4860 017712 byteswap regb ,pdata 
+0x4861 017713 store 2 ,mem_addr_mi 
+0x4862 017714 copy temp ,regb 
+0x4863 017716 call sim_iic_start 
+0x4864 017717 setarg 0xa0 
+0x4865 017718 call sim_iic_send_byte 
+0x4866 017720 fetch 1 ,mem_addr_mi 
+0x4867 017721 call sim_iic_send_byte 
+0x4868 017722 bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+0x4869 017723 fetch 1 ,mem_addr_mi + 1 
+0x486a 017724 call sim_iic_send_byte 
+:      017725 sim_iic_write_eep_data_loop:
+0x486b 017726 ifetch 1 ,rega 
+0x486c 017727 call sim_iic_send_byte 
+0x486d 017728 increase 1 ,rega 
+0x486e 017729 increase -1 ,regb 
+0x486f 017730 nbranch sim_iic_write_eep_data_loop ,zero 
+0x4870 017731 branch sim_iic_stop 
+:      017735 sim_iic_wait_ack:
+0x4871 017736 arg 10 ,loopcnt 
+0x4872 017737 call sim_iic_release_sda 
+0x4873 017738 call sim_iic_scl_output_high 
+0x4874 017739 call sim_iic_delay 
+:      017740 sim_iic_wait_ack_loop:
+0x4875 017741 call sim_iic_read_sda_level 
+0x4876 017742 branch sim_iic_scl_output_low ,blank 
+0x4877 017743 loop sim_iic_wait_ack_loop 
+0x4878 017744 branch sim_iic_scl_output_low 
+:      017748 sim_iic_ack_slave:
+0x4879 017749 call sim_iic_scl_output_low 
+0x487a 017750 call sim_iic_sda_output_low 
+0x487b 017751 call sim_iic_delay 
+0x487c 017752 call sim_iic_scl_output_high 
+0x487d 017753 call sim_iic_delay 
+0x487e 017754 branch sim_iic_scl_output_low 
+:      017759 sim_iic_read_byte:
+0x487f 017760 arg 8 ,loopcnt 
+0x4880 017761 arg 0 ,regc 
+0x4881 017762 call sim_iic_release_sda 
+:      017763 sim_iic_read_byte_loop:
+0x4882 017764 call sim_iic_scl_output_high 
+0x4883 017765 call sim_iic_delay 
+0x4884 017766 lshift regc ,regc 
+0x4885 017767 call sim_iic_read_sda_level 
+0x4886 017768 iadd regc ,regc 
+0x4887 017769 call sim_iic_delay 
+0x4888 017770 call sim_iic_scl_output_low 
+0x4889 017771 loop sim_iic_read_byte_loop 
+0x488a 017772 call sim_iic_ack_slave 
+0x488b 017773 copy regc ,pdata 
+0x488c 017774 rtn 
+:      017778 sim_iic_send_byte:
+0x488d 017779 arg 8 ,loopcnt 
+0x488e 017780 copy pdata ,regc 
+0x488f 017781 call sim_iic_scl_output_low 
+:      017782 sim_iic_send_byte_loop:
+0x4890 017783 isolate1 7 ,regc 
+0x4891 017784 call sim_iic_sda_output_high ,true 
+0x4892 017785 ncall sim_iic_sda_output_low ,true 
+0x4893 017786 lshift regc ,regc 
+0x4894 017787 call sim_iic_delay 
+0x4895 017788 call sim_iic_scl_output_high 
+0x4896 017789 call sim_iic_delay 
+0x4897 017790 call sim_iic_scl_output_low 
+0x4898 017791 call sim_iic_delay 
+0x4899 017792 loop sim_iic_send_byte_loop 
+0x489a 017793 branch sim_iic_wait_ack 
+:      017797 sim_iic_start:
+0x489b 017798 call sim_iic_sda_output_high 
+0x489c 017799 call sim_iic_scl_output_high 
+0x489d 017800 call sim_iic_delay 
+0x489e 017801 call sim_iic_sda_output_low 
+0x489f 017802 call sim_iic_delay 
+0x48a0 017803 branch sim_iic_scl_output_low 
+:      017807 sim_iic_stop:
+0x48a1 017808 call sim_iic_sda_output_low 
+0x48a2 017809 call sim_iic_scl_output_high 
+0x48a3 017810 call sim_iic_delay 
+0x48a4 017811 call sim_iic_sda_output_high 
+0x48a5 017812 branch sim_iic_delay 
+:      017816 sim_iic_scl_output_high:
+0x48a6 017817 enable user 
+0x48a7 017818 fetch 1 ,sim_iic_scl_gpio_num 
+0x48a8 017819 branch sim_iic_config_gpio 
+:      017822 sim_iic_scl_output_low:
+0x48a9 017823 disable user 
+0x48aa 017824 fetch 1 ,sim_iic_scl_gpio_num 
+0x48ab 017825 branch sim_iic_config_gpio 
+:      017828 sim_iic_sda_output_high:
+0x48ac 017829 enable user 
+0x48ad 017830 fetch 1 ,sim_iic_sda_gpio_num 
+0x48ae 017831 branch sim_iic_config_gpio 
+:      017834 sim_iic_sda_output_low:
+0x48af 017835 disable user 
+0x48b0 017836 fetch 1 ,sim_iic_sda_gpio_num 
+0x48b1 017837 branch sim_iic_config_gpio 
+:      017842 sim_iic_config_gpio:
+0x48b2 017843 and pdata ,0x07 ,queue 
+0x48b3 017844 rshift3 pdata ,pdata 
+0x48b4 017845 arg core_gpio_oe0 ,temp 
+0x48b5 017846 iadd temp ,temp 
+0x48b6 017847 ifetch 1 ,temp 
+0x48b7 017848 qset1 pdata 
+0x48b8 017849 istore 1 ,temp 
+0x48b9 017850 increase 4 ,temp 
+0x48ba 017851 ifetch 1 ,temp 
+0x48bb 017852 qsetflag user ,pdata 
+0x48bc 017853 istore 1 ,temp 
+0x48bd 017854 rtn 
+:      017857 sim_iic_release_sda:
+0x48be 017858 fetch 1 ,sim_iic_sda_gpio_num 
+0x48bf 017859 and pdata ,0x07 ,queue 
+0x48c0 017860 rshift3 pdata ,pdata 
+0x48c1 017861 arg core_gpio_oe0 ,temp 
+0x48c2 017862 iadd temp ,temp 
+0x48c3 017863 ifetch 1 ,temp 
+0x48c4 017864 qset0 pdata 
+0x48c5 017865 istore 1 ,temp 
+0x48c6 017866 rtn 
+:      017871 sim_iic_read_sda_level:
+0x48c7 017872 nop 4 
+0x48c8 017873 fetch 1 ,sim_iic_sda_gpio_num 
+0x48c9 017874 and pdata ,0x07 ,queue 
+0x48ca 017875 rshift3 pdata ,pdata 
+0x48cb 017876 arg core_gpio_in ,temp 
+0x48cc 017877 iadd temp ,temp 
+0x48cd 017878 setarg 0 
+0x48ce 017879 ifetcht 1 ,temp 
+0x48cf 017880 qisolate1 temp 
+0x48d0 017881 setflag true ,0 ,pdata 
+0x48d1 017882 rtn 
+:      017885 sim_iic_delay:
+0x48d2 017887 rtn 
+:      017893 usb_isr:
+0x48d3 017894 bpatch patch1e_6 ,mem_patch1e 
+0x48d4 017895 hfetch 1 ,core_usb_status 
+0x48d5 017896 isolate1 7 ,pdata 
+0x48d6 017897 call usb_init ,true 
+0x48d7 017898 call usb_nak_state_judge 
+0x48d8 017899 hfetch 1 ,core_usb_status 
+0x48d9 017900 store 1 ,mem_usb_status 
+0x48da 017901 hfetch 1 ,core_usb_fifo_empty 
+0x48db 017902 store 1 ,mem_usb_fifo_empty 
+0x48dc 017903 hstore 1 ,core_usb_fifo_empty 
+0x48dd 017904 pinvert 
+0x48de 017905 fetcht 1 ,mem_usb_tx_wait 
+0x48df 017906 iand temp ,pdata 
+0x48e0 017907 store 1 ,mem_usb_tx_wait 
+0x48e1 017908 jam 0xe0 ,core_usb_status 
+0x48e2 017909 fetch 1 ,mem_usb_fifo_empty 
+0x48e3 017910 compare 0x1 ,pdata ,0x1 
+0x48e4 017911 call usb0_fifo_empty ,true 
+0x48e5 017912 fetch 1 ,mem_usb_status 
+0x48e6 017913 compare 0x1 ,pdata ,0x1 
+0x48e7 017914 call usb_status1 ,true 
+0x48e8 017915 call usb_tx 
+0x48e9 017916 branch usb_nak_state 
+:      017918 usb_init:
+0x48ea 017919 bpatch patch1e_7 ,mem_patch1e 
+0x48eb 017920 call usb_init_param 
+0x48ec 017921 jam 0x00 ,core_usb_config 
+0x48ed 017922 nop 10000 
+0x48ee 017923 jam 0xc0 ,core_usb_trig 
+0x48ef 017924 hfetch 2 ,core_clkoff 
+0x48f0 017925 set0 clock_off_usb ,pdata 
+0x48f1 017926 hstore 2 ,core_clkoff 
+0x48f2 017927 jam 0x3c ,core_usb_config 
+0x48f3 017928 jam 0xff ,core_usb_status 
+0x48f4 017929 jam 0xff ,core_usb_fifo_empty 
+0x48f5 017930 jam 0 ,core_usb_addr 
+0x48f6 017931 jam dev_default ,mem_usb0_state 
+0x48f7 017932 setarg mem_usb_clear_mem_end 
+0x48f8 017933 arg mem_usb_clear_mem_start ,contw 
+0x48f9 017934 isub contw ,loopcnt 
+0x48fa 017935 branch clear_mem 
+:      017937 usb_offline_check_init:
+0x48fb 017938 fetcht 1 ,mem_usb_offline_check_gpio 
+0x48fc 017939 branch gpio_config_input 
+:      017940 usb_offline_state:
+0x48fd 017941 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x48fe 017942 rtn blank 
+0x48ff 017943 fetcht 1 ,mem_usb_offline_check_gpio 
+0x4900 017944 call gpio_get_bit 
+0x4901 017945 branch usb_init ,true 
+0x4902 017946 rtn 
+:      017949 usb_nak_state:
+0x4903 017950 arg timer_nak ,queue 
+0x4904 017951 call timer_check 
+0x4905 017952 nrtn blank 
+0x4906 017953 fetch 1 ,mem_usb_wakestate_onetime_flag 
+0x4907 017954 nrtn blank 
+0x4908 017955 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4909 017956 ncall usb_mac_wakeup_judge ,blank 
+0x490a 017957 rtn 
+:      017959 usb_mem_devicedesc_init:
+0x490b 017960 arg mem_devicedesc ,contw 
+0x490c 017961 setsect 0 ,0x11212 
+0x490d 017962 setsect 1 ,0x8000 
+0x490e 017963 setsect 2 ,0x0 
+0x490f 017964 setsect 3 ,0x10000 
+0x4910 017965 istore 9 ,contw 
+0x4911 017966 setsect 0 ,0x22412 
+0x4912 017967 setsect 1 ,0x8604 
+0x4913 017968 setsect 2 ,0x1000 
+0x4914 017969 setsect 3 ,0x8 
+0x4915 017970 istore 9 ,contw 
+0x4916 017971 setsect 0 ,0x1 
+0x4917 017972 istore 1 ,contw 
+0x4918 017973 rtn 
+:      017975 usb_init_param:
+0x4919 017976 jam 2 ,mem_usb0_state 
+0x491a 017977 setarg 0x0 
+0x491b 017978 store 1 ,mem_remain 
+0x491c 017979 store 2 ,mem_usb_zero_packet 
+0x491d 017980 pincrease 1 
+0x491e 017981 store 2 ,mem_usb_ones_packet 
+0x491f 017982 pincrease 1 
+0x4920 017983 store 2 ,mem_usb_two_packet 
+0x4921 017984 setarg hid_kbdata_addr 
+0x4922 017985 store 2 ,mem_hidreportdesc_kb 
+0x4923 017986 setarg hid_msdata_addr 
+0x4924 017987 store 2 ,mem_hidreportdesc_m 
+0x4925 017988 arg mem_confdesc ,contw 
+0x4926 017989 arg hid_confdata_addr ,contr 
+0x4927 017990 call memcpy64 
+0x4928 017991 fetch 1 ,mem_usb_tx_interval 
+0x4929 017992 ncall usb_tx_interval_config ,blank 
+0x492a 017993 branch usb_mem_devicedesc_init 
+:      017995 usb_tx_interval_config:
+0x492b 017996 store 1 ,mem_confdesc + 34 
+0x492c 017997 store 1 ,mem_confdesc + 59 
+0x492d 017998 rtn 
+:      017999 usb_nak_state_judge:
+0x492e 018000 hfetch 1 ,core_usb_status 
+0x492f 018001 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+0x4930 018002 rtn 
+:      018004 usb_nak_state_timer_init:
+0x4931 018005 call usb0_attached_state_judge 
+0x4932 018006 call timer_reinit 
+0x4933 018007 setarg timer_nak_delay 
+0x4934 018008 arg timer_nak ,queue 
+0x4935 018009 branch timer_init 
+:      018011 usb0_attached_state_judge:
+0x4936 018012 fetch 1 ,mem_usb_state 
+0x4937 018013 bne usb_connected ,usb_clear_halt_dispose 
+0x4938 018014 jam 0 ,mem_usb_wakestate_onetime_flag 
+0x4939 018015 jam 0 ,mem_usb_mac_wakeup_trig 
+0x493a 018016 rtn 
+:      018017 usb_clear_halt_dispose:
+0x493b 018018 fetch 1 ,mem_usb_clear_halt 
+0x493c 018019 rtn blank 
+0x493d 018020 jam 0 ,mem_usb_clear_halt 
+0x493e 018021 jam usb_connected ,mem_usb_state 
+0x493f 018022 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4940 018023 rtn 
+:      018025 usb0_fifo_empty:
+0x4941 018026 jam 0x1 ,core_usb_fifo_empty 
+0x4942 018027 branch usb0_tx 
+:      018029 usb_rx_no_data:
+0x4943 018030 fetch 1 ,mem_usb_status 
+0x4944 018031 bbit1 usb_status_setup ,usb_class_type 
+0x4945 018032 rtn 
+:      018034 usb_rx_read:
+0x4946 018035 hfetch 1 ,core_usb_ep 
+0x4947 018036 istore 1 ,contw 
+0x4948 018037 loop usb_rx_read 
+0x4949 018038 rtn 
+:      018040 usb_status1:
+0x494a 018041 bpatch patch1f_0 ,mem_patch1f 
+0x494b 018042 jam 0x11 ,core_usb_status 
+0x494c 018043 hfetch 1 ,core_usb_ep_len 
+0x494d 018044 store 1 ,mem_usb_read_len 
+0x494e 018045 copy pdata ,loopcnt 
+0x494f 018046 branch usb_rx_no_data ,blank 
+0x4950 018047 arg mem_usb_setup ,contw 
+0x4951 018048 call usb_rx_read 
+0x4952 018049 fetch 1 ,mem_usb_read_len 
+0x4953 018050 sub pdata ,7 ,null 
+0x4954 018051 rtn positive 
+:      018052 usb_class_type:
+0x4955 018053 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4956 018054 and_into 0x80 ,pdata 
+0x4957 018055 beq in_device ,usb_in_device 
+0x4958 018056 beq out_device ,usb_out_device 
+0x4959 018057 branch assert 
+:      018059 usb_in_device:
+0x495a 018060 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x495b 018061 rshift4 pdata ,pdata 
+0x495c 018062 rshift pdata ,pdata 
+0x495d 018063 and_into 0x03 ,pdata 
+0x495e 018064 beq standard_req ,usb_in_standard_req 
+0x495f 018065 beq class_req ,usb_in_class_req 
+0x4960 018066 beq manufacturer_req ,usb_in_manufacturer_req 
+0x4961 018067 branch assert 
+:      018069 usb_out_device:
+0x4962 018070 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4963 018071 rshift4 pdata ,pdata 
+0x4964 018072 rshift pdata ,pdata 
+0x4965 018073 and_into 0x03 ,pdata 
+0x4966 018074 beq standard_req ,usb_out_standard_req 
+0x4967 018075 beq class_req ,usb_out_class_req 
+0x4968 018076 beq manufacturer_req ,usb_out_manufacturer_req 
+0x4969 018077 branch assert 
+:      018079 usb_in_standard_req:
+0x496a 018080 fetch 1 ,mem_usb_setup_brequest 
+0x496b 018081 beq get_configuration ,usb0_request_get_configuration 
+0x496c 018082 beq get_descriptor ,usb0_request_get_descriptor 
+0x496d 018083 beq get_interface ,usb0_request_get_interface 
+0x496e 018084 beq get_status ,usb0_request_get_status 
+0x496f 018085 branch usb0_force_stall 
+:      018087 usb_in_class_req:
+0x4970 018088 fetch 1 ,mem_usb_setup_brequest 
+0x4971 018089 beq get_idle ,usb_get_idle 
+0x4972 018090 beq get_report ,usb_get_report 
+0x4973 018091 beq get_protocol ,usb_get_protocol_req 
+0x4974 018092 branch usb0_force_stall 
+:      018094 usb_in_manufacturer_req:
+0x4975 018095 branch usb0_force_stall 
+:      018097 usb_out_standard_req:
+0x4976 018098 fetch 1 ,mem_usb_setup_brequest 
+0x4977 018099 beq clear_feature ,usb0_request_clear_feature 
+0x4978 018100 beq set_feature ,usb0_request_set_feature 
+0x4979 018101 beq set_address ,usb0_request_set_address 
+0x497a 018102 beq set_configuration ,usb0_request_set_configuration 
+0x497b 018103 beq set_interface ,usb0_request_set_interface 
+0x497c 018104 beq set_descriptor ,usb0_force_stall 
+0x497d 018105 branch usb0_force_stall 
+:      018107 usb_out_class_req:
+0x497e 018108 fetch 1 ,mem_usb_setup_brequest 
+0x497f 018109 beq set_idle ,usb_set_idle 
+0x4980 018110 beq set_report ,usb_set_report 
+0x4981 018111 beq set_protocol ,usb_set_protocol_req 
+0x4982 018112 branch usb0_force_stall 
+:      018114 usb_out_manufacturer_req:
+0x4983 018115 branch usb0_force_stall 
+:      018117 usb0_force_stall:
+0x4984 018118 hfetch 1 ,core_usb_stall 
+0x4985 018119 set1 0 ,pdata 
+0x4986 018120 hstore 1 ,core_usb_stall 
+0x4987 018121 branch usb0_reply_zerolen 
+:      018123 usb0_reply_zerolen:
+0x4988 018124 jam 0x40 ,core_usb_clear 
+0x4989 018125 rtn 
+:      018127 usb0_request_get_configuration:
+0x498a 018128 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x498b 018129 bne in_device ,usb0_force_stall 
+0x498c 018130 fetch 1 ,mem_usb_setup_windex 
+0x498d 018131 bne 0 ,usb0_force_stall 
+0x498e 018132 fetch 1 ,mem_usb_setup_windex + 1 
+0x498f 018133 bne 0 ,usb0_force_stall 
+0x4990 018134 fetch 1 ,mem_usb_setup_blength 
+0x4991 018135 bne 1 ,usb0_force_stall 
+0x4992 018136 fetch 1 ,mem_usb_setup_blengthh 
+0x4993 018137 bne 0 ,usb0_force_stall 
+0x4994 018138 fetch 1 ,mem_usb_setup_bvalue 
+0x4995 018139 bne 0 ,usb0_force_stall 
+0x4996 018140 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4997 018141 bne 0 ,usb0_force_stall 
+0x4998 018142 fetch 1 ,mem_usb0_state 
+0x4999 018143 beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+0x499a 018144 beq dev_address ,usb0_request_get_cfg_dev_addr 
+0x499b 018145 branch usb0_force_stall 
+:      018147 usb0_request_get_cfg_dev_cfg:
+0x499c 018148 arg 1 ,regb 
+0x499d 018149 branch usb_send_ones_packet 
+:      018151 usb0_request_get_cfg_dev_addr:
+0x499e 018152 arg 1 ,regb 
+0x499f 018153 branch usb_send_zero_packet 
+:      018155 usb0_request_get_descriptor:
+0x49a0 018156 bpatch patch1f_1 ,mem_patch1f 
+0x49a1 018157 set0 mark_isstr ,mark 
+0x49a2 018158 fetch 1 ,mem_usb_setup_bvalueh 
+0x49a3 018159 beq dsc_device ,dsc_device_info 
+0x49a4 018160 beq dsc_config ,dsc_config_info 
+0x49a5 018161 beq dsc_string ,dsc_string_info 
+0x49a6 018162 beq dsc_hid ,dsc_hid_info 
+0x49a7 018163 beq dsc_hid_report ,dsc_hid_report_info 
+0x49a8 018164 branch usb0_force_stall 
+:      018166 dsc_hid_info:
+0x49a9 018167 jam 0 ,mem_usb_get_protocol_flag 
+0x49aa 018168 fetch 1 ,mem_usb_setup_windex 
+0x49ab 018169 beq 0 ,dsc_hid_info_interface0 
+0x49ac 018170 beq 1 ,dsc_hid_info_interface1 
+0x49ad 018171 branch usb0_force_stall 
+:      018173 dsc_hid_info_interface0:
+0x49ae 018174 arg mem_confdesc + 19 ,rega 
+0x49af 018175 ifetch 1 ,rega 
+0x49b0 018176 iforce regb 
+0x49b1 018177 branch usb0_respond 
+:      018179 dsc_hid_info_interface1:
+0x49b2 018180 arg mem_confdesc + 44 ,rega 
+0x49b3 018181 ifetch 1 ,rega 
+0x49b4 018182 iforce regb 
+0x49b5 018183 branch usb0_respond 
+:      018185 dsc_device_info:
+0x49b6 018189 fetch 1 ,mem_usb_set_high_addr_flag 
+0x49b7 018190 ncall usb_set_high_addr ,blank 
+0x49b8 018191 setarg mem_devicedesc 
+0x49b9 018192 fetcht 1 ,mem_devicedesc 
+:      018193 dsc_info_set_data_len:
+0x49ba 018194 store 2 ,mem_dsc_info_data_pointer 
+0x49bb 018195 storet 1 ,mem_dsc_info_len 
+0x49bc 018196 fetch 1 ,mem_usb_setup_blength 
+0x49bd 018197 isub temp ,null 
+0x49be 018198 nbranch dsc_info_set_current_data_len ,positive 
+:      018199 dsc_info_set_initial_data_len:
+0x49bf 018200 fetch 1 ,mem_dsc_info_len 
+:      018201 dsc_info_set_data_size_completed:
+0x49c0 018202 iforce regb 
+0x49c1 018203 fetch 2 ,mem_dsc_info_data_pointer 
+0x49c2 018204 add pdata ,1 ,pdata 
+0x49c3 018205 iforce rega 
+0x49c4 018206 branch usb0_respond 
+:      018207 dsc_info_set_current_data_len:
+0x49c5 018208 fetch 1 ,mem_usb_setup_blength 
+0x49c6 018209 branch dsc_info_set_data_size_completed 
+:      018211 usb_set_high_addr:
+0x49c7 018212 hfetch 1 ,core_usb_addr 
+0x49c8 018213 ncall usb0_set_addr ,blank 
+0x49c9 018214 jam 0 ,mem_usb_set_high_addr_flag 
+0x49ca 018215 rtn 
+:      018216 usb0_set_addr:
+0x49cb 018217 hfetch 1 ,core_usb_addr 
+0x49cc 018218 set1 7 ,pdata 
+0x49cd 018219 hstore 1 ,core_usb_addr 
+0x49ce 018220 rtn 
+:      018222 dsc_config_info:
+0x49cf 018223 setarg mem_confdesc 
+0x49d0 018224 fetcht 1 ,mem_confdesc 
+0x49d1 018225 branch dsc_info_set_data_len 
+:      018227 dsc_string_info:
+0x49d2 018228 fetch 1 ,mem_usb_setup_bvalue 
+0x49d3 018229 sub pdata ,3 ,null 
+0x49d4 018230 nbranch usb0_force_stall ,positive 
+0x49d5 018231 fetch 1 ,mem_usb_setup_bvalue 
+0x49d6 018232 arg mem_string0 ,rega 
+0x49d7 018233 beq 0 ,usb0_respond_length 
+0x49d8 018234 set1 mark_isstr ,mark 
+0x49d9 018235 arg mem_string1 ,rega 
+0x49da 018236 beq 1 ,usb0_respond_length 
+0x49db 018237 arg mem_string2 ,rega 
+0x49dc 018238 beq 2 ,usb0_respond_length 
+0x49dd 018239 arg mem_string3 ,rega 
+0x49de 018240 beq 3 ,usb0_respond_length 
+0x49df 018241 rtn 
+:      018243 dsc_hid_report_info:
+0x49e0 018244 fetch 2 ,mem_usb_setup_windex 
+0x49e1 018245 beq 1 ,dsc_hid_report_info0 
+0x49e2 018246 fetch 2 ,mem_hidreportdesc_kb 
+0x49e3 018247 copy pdata ,rega 
+0x49e4 018249 branch usb0_respond_length 
+:      018250 dsc_hid_report_info0:
+0x49e5 018251 jam 1 ,mem_usb_device_enumeration_endflag 
+0x49e6 018252 jam usb_got_report_req ,mem_usb_state 
+0x49e7 018253 fetch 2 ,mem_hidreportdesc_m 
+0x49e8 018254 copy pdata ,rega 
+0x49e9 018256 branch usb0_respond_length 
+:      018259 usb0_request_get_interface:
+0x49ea 018260 fetch 1 ,mem_usb0_state 
+0x49eb 018261 bne dev_configured ,usb0_force_stall 
+0x49ec 018262 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x49ed 018263 bne in_interface ,usb0_force_stall 
+0x49ee 018264 fetch 1 ,mem_usb_setup_bvalue 
+0x49ef 018265 bne 0 ,usb0_force_stall 
+0x49f0 018266 fetch 1 ,mem_usb_setup_bvalueh 
+0x49f1 018267 bne 0 ,usb0_force_stall 
+0x49f2 018268 fetch 1 ,mem_usb_setup_blength 
+0x49f3 018269 bne 1 ,usb0_force_stall 
+0x49f4 018270 fetch 1 ,mem_usb_setup_blengthh 
+0x49f5 018271 bne 0 ,usb0_force_stall 
+0x49f6 018272 fetch 1 ,mem_usb_setup_windex 
+0x49f7 018273 bne 0 ,usb0_force_stall 
+0x49f8 018274 fetch 1 ,mem_usb_setup_windex + 1 
+0x49f9 018275 bne 0 ,usb0_force_stall 
+0x49fa 018276 arg 1 ,regb 
+0x49fb 018277 branch usb_send_zero_packet 
+:      018280 usb0_request_get_status:
+0x49fc 018281 fetch 1 ,mem_usb0_state 
+0x49fd 018282 beq dev_default ,usb0_force_stall 
+0x49fe 018283 fetch 1 ,mem_usb_setup_bvalue 
+0x49ff 018284 bne 0 ,usb0_force_stall 
+0x4a00 018285 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a01 018286 bne 0 ,usb0_force_stall 
+0x4a02 018287 fetch 1 ,mem_usb_setup_blength 
+0x4a03 018288 bne 2 ,usb0_force_stall 
+0x4a04 018289 fetch 1 ,mem_usb_setup_blengthh 
+0x4a05 018290 bne 0 ,usb0_force_stall 
+0x4a06 018291 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a07 018292 bne 0 ,usb0_force_stall 
+0x4a08 018293 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a09 018294 beq in_device ,usb0_get_status_in_device 
+0x4a0a 018295 beq in_interface ,usb0_get_status_in_interface 
+0x4a0b 018296 beq in_endpoint ,usb0_get_status_in_endpoint 
+0x4a0c 018297 branch usb0_force_stall 
+:      018299 usb0_get_status_in_device:
+0x4a0d 018300 fetch 1 ,mem_usb_setup_windex 
+0x4a0e 018301 bne 0 ,usb0_force_stall 
+0x4a0f 018302 arg 2 ,regb 
+0x4a10 018303 fetch 1 ,mem_usb_remote_wakeup 
+0x4a11 018304 beq 0x01 ,usb_send_two_packet 
+:      018306 usb_send_zero_packet:
+0x4a12 018307 arg mem_usb_zero_packet ,rega 
+0x4a13 018308 branch usb0_respond 
+:      018309 usb_send_ones_packet:
+0x4a14 018310 arg mem_usb_ones_packet ,rega 
+0x4a15 018311 branch usb0_respond 
+:      018312 usb_send_two_packet:
+0x4a16 018313 arg mem_usb_two_packet ,rega 
+0x4a17 018314 branch usb0_respond 
+:      018316 usb0_get_status_in_interface:
+0x4a18 018317 fetch 1 ,mem_usb0_state 
+0x4a19 018318 bne dev_configured ,usb0_force_stall 
+0x4a1a 018319 arg 2 ,regb 
+0x4a1b 018320 branch usb_send_zero_packet 
+:      018322 usb0_get_status_in_endpoint:
+0x4a1c 018323 fetch 1 ,mem_usb0_state 
+0x4a1d 018324 bne dev_configured ,usb0_force_stall 
+0x4a1e 018325 fetch 1 ,mem_usb_setup_windex 
+0x4a1f 018326 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+0x4a20 018327 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+0x4a21 018328 beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+0x4a22 018329 and_into 0x7f ,pdata 
+0x4a23 018330 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+0x4a24 018331 branch usb0_force_stall 
+:      018333 usb0_get_status_in_ep_in_ep0:
+0x4a25 018334 fetch 1 ,mem_usb_ep0_stall_status 
+:      018335 usb0_get_status_in_ep_in_ack:
+0x4a26 018336 arg 2 ,regb 
+0x4a27 018337 beq 1 ,usb_send_ones_packet 
+0x4a28 018338 branch usb_send_zero_packet 
+:      018339 usb0_get_status_in_ep_in_ep1:
+0x4a29 018340 fetch 1 ,mem_usb_ep1_stall_status 
+0x4a2a 018341 branch usb0_get_status_in_ep_in_ack 
+:      018342 usb0_get_status_in_ep_in_ep2:
+0x4a2b 018343 fetch 1 ,mem_usb_ep2_stall_status 
+0x4a2c 018344 branch usb0_get_status_in_ep_in_ack 
+:      018345 usb0_get_status_in_ep_in_ep3:
+0x4a2d 018346 fetch 1 ,mem_usb_ep3_stall_status 
+0x4a2e 018347 branch usb0_get_status_in_ep_in_ack 
+:      018349 usb_get_idle:
+0x4a2f 018350 jam 1 ,mem_usb_idle_flag 
+0x4a30 018351 arg mem_usb_idle_rate ,rega 
+0x4a31 018352 arg 1 ,regb 
+0x4a32 018353 branch usb0_respond 
+:      018355 usb_get_report:
+0x4a33 018356 fetch 2 ,mem_usb_setup_bvalue 
+0x4a34 018357 arg pc_get_report ,temp 
+0x4a35 018358 isub temp ,null 
+0x4a36 018359 nbranch usb0_force_stall ,zero 
+0x4a37 018360 set0 mark_isstr ,mark 
+:      018361 usb_get_report_dispose:
+0x4a38 018362 fetch 1 ,mem_usb0_data_ready_report 
+0x4a39 018363 nbranch usb_get_report_data_success ,blank 
+0x4a3a 018364 jam pc_get_nondata ,mem_usb0_get_report_data 
+:      018365 usb_get_report_send_data:
+0x4a3b 018366 fetch 1 ,mem_usb_setup_blength 
+0x4a3c 018367 iforce regb 
+0x4a3d 018368 arg mem_usb0_get_report_data ,rega 
+0x4a3e 018369 call usb0_respond 
+:      018370 usb_get_report_data_release:
+0x4a3f 018371 arg mem_usb0_get_report_data ,contw 
+0x4a40 018372 arg 8 ,loopcnt 
+0x4a41 018373 branch memset0 
+:      018374 usb_get_report_data_success:
+0x4a42 018375 jam 0 ,mem_usb0_data_ready_report 
+0x4a43 018376 jam pc_get_data ,mem_usb0_get_report_data 
+0x4a44 018377 branch usb_get_report_send_data 
+:      018379 usb_get_protocol_req:
+0x4a45 018380 fetch 1 ,mem_usb_setup_blength 
+0x4a46 018381 bne 1 ,usb0_force_stall 
+0x4a47 018382 jam 1 ,mem_usb_get_protocol_flag 
+0x4a48 018383 arg 1 ,regb 
+0x4a49 018384 fetch 1 ,mem_usb_set_protocol_value 
+0x4a4a 018385 beq 0 ,usb_get_report_protocol 
+0x4a4b 018386 beq 1 ,usb_get_boot_protocol 
+0x4a4c 018387 branch usb_send_zero_packet 
+:      018388 usb_get_report_protocol:
+0x4a4d 018389 branch usb_send_ones_packet 
+:      018390 usb_get_boot_protocol:
+0x4a4e 018391 branch usb_send_zero_packet 
+:      018396 usb0_request_clear_feature:
+0x4a4f 018397 fetch 1 ,mem_usb0_state 
+0x4a50 018398 bne dev_configured ,usb0_force_stall 
+0x4a51 018399 fetch 1 ,mem_usb_setup_blength 
+0x4a52 018400 bne 0 ,usb0_force_stall 
+0x4a53 018401 fetch 1 ,mem_usb_setup_blengthh 
+0x4a54 018402 bne 0 ,usb0_force_stall 
+0x4a55 018403 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a56 018404 bne 0 ,usb0_force_stall 
+0x4a57 018405 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a58 018406 bne 0 ,usb0_force_stall 
+0x4a59 018407 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a5a 018408 beq out_device ,usb0_request_clear_feature_out_device 
+0x4a5b 018409 beq out_interface ,usb0_request_clear_feature_out_interface 
+0x4a5c 018410 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+0x4a5d 018411 branch usb0_force_stall 
+:      018413 usb0_request_clear_feature_out_device:
+0x4a5e 018414 fetch 1 ,mem_usb_setup_bvalue 
+0x4a5f 018415 bne device_remote_wakeup ,usb0_force_stall 
+0x4a60 018416 hfetch 1 ,core_usb_config 
+0x4a61 018417 set0 7 ,pdata 
+0x4a62 018418 hstore 1 ,core_usb_config 
+0x4a63 018419 jam 0 ,mem_usb_remote_wakeup 
+0x4a64 018420 jam 1 ,mem_usb_clear_remote_wakeup 
+0x4a65 018421 branch usb0_reply_zerolen 
+:      018423 usb0_request_clear_feature_out_interface:
+0x4a66 018424 branch usb0_force_stall 
+:      018426 usb0_request_clear_feature_out_endpoint:
+0x4a67 018427 fetch 1 ,mem_usb_setup_bvalue 
+0x4a68 018428 bne endpoint_halt ,usb0_force_stall 
+0x4a69 018429 fetch 1 ,mem_usb_setup_windex 
+0x4a6a 018430 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+0x4a6b 018431 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+0x4a6c 018432 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+0x4a6d 018433 and_into 0x7f ,pdata 
+0x4a6e 018434 beq 0x00 ,usb0_force_stall_ep0_in_off 
+0x4a6f 018435 branch usb0_force_stall 
+:      018437 usb0_force_stall_ep0_in_off:
+0x4a70 018438 jam 0 ,mem_usb_ep0_stall_status 
+0x4a71 018439 branch usb0_reply_zerolen 
+:      018440 usb0_force_stall_ep1_in_off:
+0x4a72 018441 jam 0 ,mem_usb_ep1_stall_status 
+:      018442 usb0_force_stall_ep1_in_off_reply:
+0x4a73 018443 jam 1 ,mem_usb_clear_halt 
+0x4a74 018444 branch usb0_reply_zerolen 
+:      018445 usb0_force_stall_ep2_in_off:
+0x4a75 018446 jam 0 ,mem_usb_ep2_stall_status 
+0x4a76 018447 branch usb0_force_stall_ep1_in_off_reply 
+:      018448 usb0_force_stall_ep3_in_off:
+0x4a77 018449 jam 0 ,mem_usb_ep3_stall_status 
+0x4a78 018450 branch usb0_force_stall_ep1_in_off_reply 
+:      018453 usb0_request_set_feature:
+0x4a79 018454 fetch 1 ,mem_usb_setup_blength 
+0x4a7a 018455 bne 0 ,usb0_force_stall 
+0x4a7b 018456 fetch 1 ,mem_usb_setup_blengthh 
+0x4a7c 018457 bne 0 ,usb0_force_stall 
+0x4a7d 018458 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a7e 018459 beq out_device ,usb0_request_set_feature_out_device 
+0x4a7f 018460 beq out_interface ,usb0_request_set_feature_out_interface 
+0x4a80 018461 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+0x4a81 018462 branch usb0_force_stall 
+:      018464 usb0_request_set_feature_out_device:
+0x4a82 018465 fetch 1 ,mem_usb_setup_bvalue 
+0x4a83 018466 bne device_remote_wakeup ,usb0_force_stall 
+0x4a84 018467 hfetch 1 ,core_usb_config 
+0x4a85 018468 set1 7 ,pdata 
+0x4a86 018469 hstore 1 ,core_usb_config 
+0x4a87 018470 jam 1 ,mem_usb_remote_wakeup 
+0x4a88 018471 jam usb_sleep ,mem_usb_state 
+0x4a89 018472 jam 0 ,mem_usb_tx_win_enable 
+0x4a8a 018473 call usb0_reply_zerolen 
+:      018474 usb_wakeup_timer_reinit:
+0x4a8b 018475 call timer_reinit 
+0x4a8c 018476 setarg timer_wakeup_delay 
+0x4a8d 018477 arg timer_wakeup ,queue 
+0x4a8e 018478 branch timer_init 
+:      018480 usb0_request_set_feature_out_interface:
+0x4a8f 018481 branch usb0_force_stall 
+:      018483 usb0_request_set_feature_out_endpoint:
+0x4a90 018484 fetch 1 ,mem_usb_setup_bvalue 
+0x4a91 018485 bne endpoint_halt ,usb0_force_stall 
+0x4a92 018486 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a93 018487 bne 0 ,usb0_force_stall 
+0x4a94 018488 fetch 1 ,mem_usb_setup_windex 
+0x4a95 018489 beq in_ep1 ,usb0_force_stall_ep1_in_on 
+0x4a96 018490 beq in_ep2 ,usb0_force_stall_ep2_in_on 
+0x4a97 018491 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+0x4a98 018492 and_into 0x7f ,pdata 
+0x4a99 018493 beq 0x00 ,usb0_force_stall_ep0_in_on 
+0x4a9a 018494 branch usb0_force_stall 
+:      018496 usb0_force_stall_ep0_in_on:
+0x4a9b 018497 jam 1 ,mem_usb_ep0_stall_status 
+0x4a9c 018498 branch usb0_reply_zerolen 
+:      018499 usb0_force_stall_ep1_in_on:
+0x4a9d 018500 jam 1 ,mem_usb_ep1_stall_status 
+0x4a9e 018501 branch usb0_reply_zerolen 
+:      018502 usb0_force_stall_ep2_in_on:
+0x4a9f 018503 jam 1 ,mem_usb_ep2_stall_status 
+0x4aa0 018504 branch usb0_reply_zerolen 
+:      018505 usb0_force_stall_ep3_in_on:
+0x4aa1 018506 jam 1 ,mem_usb_ep3_stall_status 
+0x4aa2 018507 branch usb0_reply_zerolen 
+:      018510 usb0_request_set_address:
+0x4aa3 018511 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4aa4 018512 bne out_device ,usb0_force_stall 
+0x4aa5 018513 fetch 1 ,mem_usb_setup_windex 
+0x4aa6 018514 bne 0 ,usb0_force_stall 
+0x4aa7 018515 fetch 1 ,mem_usb_setup_windex + 1 
+0x4aa8 018516 bne 0 ,usb0_force_stall 
+0x4aa9 018517 fetch 1 ,mem_usb_setup_blength 
+0x4aaa 018518 bne 0 ,usb0_force_stall 
+0x4aab 018519 fetch 1 ,mem_usb_setup_blengthh 
+0x4aac 018520 bne 0 ,usb0_force_stall 
+0x4aad 018521 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aae 018522 bne 0 ,usb0_force_stall 
+0x4aaf 018523 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab0 018524 and_into 0x80 ,pdata 
+0x4ab1 018525 bne 0 ,usb0_force_stall 
+0x4ab2 018526 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab3 018527 bne 0 ,usb_usb0_state_set_dev_addr 
+:      018528 usb_usb0_state_set_dev_default:
+0x4ab4 018529 jam dev_default ,mem_usb0_state 
+:      018530 usb0_request_set_wait_address:
+0x4ab5 018531 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab6 018532 hstore 1 ,core_usb_addr 
+0x4ab7 018533 call usb0_reply_zerolen 
+0x4ab8 018534 jam 1 ,mem_usb_set_high_addr_flag 
+0x4ab9 018535 rtn 
+:      018536 usb_usb0_state_set_dev_addr:
+0x4aba 018537 jam dev_address ,mem_usb0_state 
+0x4abb 018538 branch usb0_request_set_wait_address 
+:      018541 usb0_request_set_configuration:
+0x4abc 018542 fetch 1 ,mem_usb0_state 
+0x4abd 018543 beq dev_default ,usb0_force_stall 
+0x4abe 018544 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4abf 018545 bne out_device ,usb0_force_stall 
+0x4ac0 018546 fetch 1 ,mem_usb_setup_windex 
+0x4ac1 018547 bne 0 ,usb0_force_stall 
+0x4ac2 018548 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ac3 018549 bne 0 ,usb0_force_stall 
+0x4ac4 018550 fetch 1 ,mem_usb_setup_blength 
+0x4ac5 018551 bne 0 ,usb0_force_stall 
+0x4ac6 018552 fetch 1 ,mem_usb_setup_blengthh 
+0x4ac7 018553 bne 0 ,usb0_force_stall 
+0x4ac8 018554 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4ac9 018555 bne 0 ,usb0_force_stall 
+0x4aca 018556 fetch 1 ,mem_usb_setup_bvalue 
+0x4acb 018557 sub pdata ,usb_max_num_cfg ,null 
+0x4acc 018558 nbranch usb0_force_stall ,positive 
+0x4acd 018559 fetch 1 ,mem_usb0_state 
+0x4ace 018560 beq dev_address ,usb0_request_set_cfg_addr_state 
+0x4acf 018561 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+0x4ad0 018562 branch usb0_force_stall 
+:      018564 usb0_request_set_cfg_addr_state:
+:      018565 usb0_request_set_cfg_cfg_state:
+0x4ad1 018566 fetch 1 ,mem_usb_setup_bvalue 
+0x4ad2 018567 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+0x4ad3 018568 jam dev_configured ,mem_usb0_state 
+0x4ad4 018569 branch usb0_reply_zerolen 
+:      018570 usb0_request_set_cfg_stay_addr_state:
+0x4ad5 018571 jam dev_address ,mem_usb0_state 
+0x4ad6 018572 branch usb0_reply_zerolen 
+:      018575 usb0_request_set_interface:
+0x4ad7 018576 fetch 1 ,mem_usb0_state 
+0x4ad8 018577 bne dev_configured ,usb0_force_stall 
+0x4ad9 018578 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4ada 018579 bne out_interface ,usb0_force_stall 
+0x4adb 018580 fetch 1 ,mem_usb_setup_bvalue 
+0x4adc 018581 bne 0 ,usb0_force_stall 
+0x4add 018582 fetch 1 ,mem_usb_setup_bvalueh 
+0x4ade 018583 bne 0 ,usb0_force_stall 
+0x4adf 018584 fetch 1 ,mem_usb_setup_blength 
+0x4ae0 018585 bne 0 ,usb0_force_stall 
+0x4ae1 018586 fetch 1 ,mem_usb_setup_blengthh 
+0x4ae2 018587 bne 0 ,usb0_force_stall 
+0x4ae3 018588 fetch 1 ,mem_usb_setup_windex 
+0x4ae4 018589 bne 0 ,usb0_force_stall 
+0x4ae5 018590 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ae6 018591 bne 0 ,usb0_force_stall 
+0x4ae7 018592 branch usb0_reply_zerolen 
+:      018595 usb_set_idle:
+0x4ae8 018596 jam 1 ,mem_usb_idle_flag 
+0x4ae9 018597 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aea 018598 store 1 ,mem_usb_idle_rate 
+0x4aeb 018599 fetch 1 ,mem_usb_setup_windex 
+0x4aec 018600 sub pdata ,1 ,null 
+0x4aed 018601 call usb_clear_remote_wakeup_set0 ,zero 
+0x4aee 018602 fetch 1 ,mem_usb_state 
+0x4aef 018603 bne usb_resume ,usb0_reply_zerolen 
+0x4af0 018604 jam usb_connected ,mem_usb_state 
+0x4af1 018605 call usb0_reply_zerolen 
+0x4af2 018606 nop 30000 
+0x4af3 018607 nop 30000 
+0x4af4 018608 rtn 
+:      018609 usb_clear_remote_wakeup_set0:
+0x4af5 018610 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4af6 018611 jam 0 ,mem_usb_clear_remote_wakeup 
+0x4af7 018612 jam usb_resume ,mem_usb_state 
+0x4af8 018613 rtn 
+:      018616 usb_set_report:
+0x4af9 018617 jam 1 ,mem_usb0_get_set_report 
+0x4afa 018618 call usb_set_report_resume_judge 
+0x4afb 018619 fetch 2 ,mem_usb_setup_bvalue 
+0x4afc 018620 store 2 ,mem_usb_setup_bvalue_temp 
+0x4afd 018621 fetch 1 ,mem_usb_setup_blength 
+0x4afe 018622 iforce loopcnt 
+0x4aff 018623 arg mem_usb0_setup ,contr 
+0x4b00 018624 arg mem_usb0_set_report_data ,contw 
+0x4b01 018625 call memcpy 
+0x4b02 018626 branch usb0_reply_zerolen 
+:      018628 usb_set_report_resume_judge:
+0x4b03 018629 fetch 2 ,mem_usb_setup_bvalue 
+0x4b04 018630 arg pc_set_report_bvalue ,temp 
+0x4b05 018631 isub temp ,null 
+0x4b06 018632 nrtn zero 
+0x4b07 018633 fetch 2 ,mem_usb_setup_windex 
+0x4b08 018634 arg pc_set_report_windex ,temp 
+0x4b09 018635 isub temp ,null 
+0x4b0a 018636 nrtn zero 
+0x4b0b 018637 fetch 2 ,mem_usb_setup_blength 
+0x4b0c 018638 arg pc_set_report_blength ,temp 
+0x4b0d 018639 isub temp ,null 
+0x4b0e 018640 nrtn zero 
+0x4b0f 018641 jam 1 ,mem_usb_tx_win_enable 
+0x4b10 018642 rtn 
+:      018645 usb_set_protocol_req:
+0x4b11 018646 fetch 1 ,mem_usb_setup_blength 
+0x4b12 018647 bne 0 ,usb0_force_stall 
+0x4b13 018648 fetch 1 ,mem_usb_setup_bvalue 
+0x4b14 018649 beq boot_protocol ,usb_set_boot_protocol 
+0x4b15 018650 beq report_protocol ,usb_set_report_protocol 
+0x4b16 018651 branch usb0_force_stall 
+:      018652 usb_set_boot_protocol:
+0x4b17 018653 jam 0 ,mem_usb_set_protocol_status 
+0x4b18 018654 jam 1 ,mem_usb_set_protocol_value 
+0x4b19 018655 branch usb0_reply_zerolen 
+:      018656 usb_set_report_protocol:
+0x4b1a 018657 jam 1 ,mem_usb_tx_mac_enable 
+0x4b1b 018658 jam 1 ,mem_usb_set_protocol_status 
+0x4b1c 018659 jam 0 ,mem_usb_set_protocol_value 
+0x4b1d 018660 branch usb0_reply_zerolen 
+:      018663 usb0_respond_length:
+0x4b1e 018664 ifetch 1 ,rega 
+0x4b1f 018665 iforce regb 
+0x4b20 018666 increase 1 ,rega 
+:      018668 usb0_respond:
+0x4b21 018669 bpatch patch1f_2 ,mem_patch1f 
+0x4b22 018670 bmark0 mark_isstr ,usb0_respond0 
+0x4b23 018671 add regb ,1 ,pdata 
+0x4b24 018672 lshift pdata ,pdata 
+0x4b25 018673 hstore 1 ,core_usb_dfifo0 
+0x4b26 018674 jam 3 ,core_usb_dfifo0 
+0x4b27 018675 fetch 1 ,mem_usb_setup_blength 
+0x4b28 018676 increase -2 ,pdata 
+0x4b29 018677 rshift pdata ,pdata 
+0x4b2a 018678 store 1 ,mem_usb_setup_blength 
+0x4b2b 018679 beq 0 ,usb_no_respond_data 
+:      018680 usb0_respond0:
+0x4b2c 018681 fetch 2 ,mem_usb_setup_blength 
+0x4b2d 018682 isub regb ,null 
+0x4b2e 018683 branch usb0_respond1 ,positive 
+0x4b2f 018684 copy pdata ,regb 
+:      018685 usb0_respond1:
+0x4b30 018686 deposit rega 
+0x4b31 018687 store 2 ,mem_bufptr 
+0x4b32 018688 deposit regb 
+0x4b33 018689 store 1 ,mem_remain 
+0x4b34 018690 branch usb0_tx 
+:      018692 usb_no_respond_data:
+0x4b35 018693 arg 0 ,queue 
+0x4b36 018694 branch usb_trig 
+:      018697 usb0_tx:
+0x4b37 018698 bpatch patch1f_3 ,mem_patch1f 
+0x4b38 018699 fetch 1 ,mem_remain 
+0x4b39 018700 rtn blank 
+0x4b3a 018701 copy pdata ,loopcnt 
+0x4b3b 018702 sub pdata ,ep0_packet_size ,null 
+0x4b3c 018703 branch usb0_tx_info ,positive 
+0x4b3d 018704 arg ep0_packet_size ,loopcnt 
+:      018705 usb0_tx_info:
+0x4b3e 018706 fetch 1 ,mem_remain 
+0x4b3f 018707 isub loopcnt ,pdata 
+0x4b40 018708 store 1 ,mem_remain 
+0x4b41 018709 fetch 2 ,mem_bufptr 
+0x4b42 018710 copy pdata ,contr 
+:      018711 usb0_tx0:
+0x4b43 018712 ifetch 1 ,contr 
+0x4b44 018713 hstore 1 ,core_usb_dfifo0 
+0x4b45 018714 bmark0 mark_isstr ,usb0_tx1 
+0x4b46 018715 jam 0 ,core_usb_dfifo0 
+:      018716 usb0_tx1:
+0x4b47 018717 loop usb0_tx0 
+0x4b48 018718 copy contr ,pdata 
+0x4b49 018719 store 2 ,mem_bufptr 
+0x4b4a 018720 arg 0 ,queue 
+0x4b4b 018721 call usb_trig 
+0x4b4c 018722 fetch 1 ,mem_remain 
+0x4b4d 018723 nrtn blank 
+0x4b4e 018724 fetch 1 ,mem_usb_state 
+0x4b4f 018725 rtnne usb_got_report_req 
+0x4b50 018726 jam usb_connected ,mem_usb_state 
+0x4b51 018727 rtn 
+:      018730 usb_tx_ep1:
+0x4b52 018731 arg core_usb_dfifo1 ,rega 
+0x4b53 018732 arg 1 ,queue 
+:      018733 usb_tx_loop:
+0x4b54 018734 ifetch 1 ,contr 
+0x4b55 018735 istore 1 ,rega 
+0x4b56 018736 loop usb_tx_loop 
+:      018737 usb_trig:
+0x4b57 018738 setarg 0 
+0x4b58 018739 qset1 pdata 
+0x4b59 018740 hstore 1 ,core_usb_trig 
+0x4b5a 018741 fetcht 1 ,mem_usb_tx_wait 
+0x4b5b 018742 ior temp ,pdata 
+0x4b5c 018743 store 1 ,mem_usb_tx_wait 
+0x4b5d 018744 rtn 
+:      018746 usb_tx_ep2:
+0x4b5e 018747 arg 2 ,queue 
+0x4b5f 018748 arg core_usb_dfifo2 ,rega 
+0x4b60 018749 branch usb_tx_loop 
+:      018751 usb_tx:
+0x4b61 018752 bpatch patch1f_4 ,mem_patch1f 
+0x4b62 018753 fetch 1 ,mem_usb_tx_enable 
+0x4b63 018754 rtn blank 
+0x4b64 018755 fetch 1 ,mem_usb_tx_wait 
+0x4b65 018756 nbranch usb_inwake_state_tx_dispose ,blank 
+0x4b66 018757 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4b67 018758 branch usb_tx_fifo_release ,blank 
+0x4b68 018759 fetch 1 ,mem_usb_state 
+0x4b69 018760 beq usb_sleep ,usb_windows_wakeup 
+0x4b6a 018761 bne usb_connected ,usb_tx_fifo_release 
+0x4b6b 018762 fetch 1 ,mem_usb_clear_remote_wakeup 
+0x4b6c 018763 nbranch usb_tx_fifo_release ,blank 
+0x4b6d 018764 call usb_tx_data_ep1 
+0x4b6e 018765 branch usb_tx_data_ep2 
+:      018767 usb_tx_data_ep1:
+0x4b6f 018768 fetch 1 ,mem_usb_tx_enable 
+0x4b70 018769 rtnbit0 1 
+0x4b71 018770 fetch 1 ,mem_usb_tx_wait 
+0x4b72 018771 rtnbit1 1 
+0x4b73 018772 fetch 1 ,mem_usb_tx_enable 
+0x4b74 018773 set0 1 ,pdata 
+0x4b75 018774 store 1 ,mem_usb_tx_enable 
+0x4b76 018775 fetch 1 ,mem_usb_ep1_data 
+0x4b77 018776 rtn blank 
+0x4b78 018777 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0x4b79 018778 branch assert 
+:      018780 usb_tx_data_ep2:
+0x4b7a 018781 fetch 1 ,mem_usb_tx_enable 
+0x4b7b 018782 rtnbit0 2 
+0x4b7c 018783 fetch 1 ,mem_usb_tx_wait 
+0x4b7d 018784 rtnbit1 2 
+0x4b7e 018785 fetch 1 ,mem_usb_tx_enable 
+0x4b7f 018786 set0 2 ,pdata 
+0x4b80 018787 store 1 ,mem_usb_tx_enable 
+0x4b81 018788 fetch 1 ,mem_usb_ep2_data 
+0x4b82 018789 rtn blank 
+0x4b83 018790 beq usb_ep2_ms ,usb_tx_ms_data 
+0x4b84 018791 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0x4b85 018792 branch assert 
+:      018794 usb_tx_fifo_release:
+0x4b86 018796 arg mem_usb_mouse_data ,contw 
+0x4b87 018797 arg 6 ,loopcnt 
+0x4b88 018798 branch memset0 
+:      018800 usb_tx_ms_data:
+0x4b89 018801 fetch 1 ,mem_usb_idle_flag 
+0x4b8a 018802 fetcht 1 ,mem_usb_get_protocol_flag 
+0x4b8b 018803 iand temp ,pdata 
+0x4b8c 018804 branch usb_tx_ms_data_normal_mode ,blank 
+0x4b8d 018805 fetcht 1 ,mem_usb_set_protocol_status 
+0x4b8e 018806 iadd temp ,pdata 
+0x4b8f 018807 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+0x4b90 018808 branch usb_tx_ms_data_normal_mode 
+:      018810 usb_tx_ms_data_mac_boot_mode:
+0x4b91 018811 jam 0 ,mem_usb_ep2_data 
+:      018812 usb_tx_ms_data_mac_boot_regroup:
+0x4b92 018813 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b93 018814 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b94 018815 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b95 018816 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b96 018817 store 1 ,mem_usb_mouse_data 
+0x4b97 018818 fetch 1 ,mem_usb_mouse_data + 2 
+0x4b98 018819 istore 1 ,contw 
+0x4b99 018820 fetch 1 ,mem_usb_mouse_data + 4 
+0x4b9a 018821 istore 1 ,contw 
+0x4b9b 018822 fetch 1 ,mem_usb_mouse_data + 6 
+0x4b9c 018823 istore 1 ,contw 
+0x4b9d 018824 arg 4 ,loopcnt 
+0x4b9e 018825 arg mem_usb_mouse_data ,contr 
+0x4b9f 018826 branch usb_tx_ep2 
+:      018828 usb_tx_ms_data_normal_mode:
+0x4ba0 018829 jam 0 ,mem_usb_ep2_data 
+:      018830 usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+0x4ba1 018831 arg 8 ,loopcnt 
+0x4ba2 018832 arg mem_usb_mouse_data ,contr 
+0x4ba3 018833 branch usb_tx_ep2 
+:      018835 usb_tx_kb_multikey_data:
+0x4ba4 018836 jam 0 ,mem_usb_ep2_data 
+0x4ba5 018837 arg 3 ,loopcnt 
+0x4ba6 018838 arg mem_usb_kb_multikey ,contr 
+0x4ba7 018839 branch usb_tx_ep2 
+:      018841 usb_tx_kb_normal_data:
+0x4ba8 018842 jam 0 ,mem_usb_ep1_data 
+0x4ba9 018843 arg 8 ,loopcnt 
+0x4baa 018844 arg mem_usb_kb_data ,contr 
+0x4bab 018845 branch usb_tx_ep1 
+:      018847 usb_inwake_state_tx_dispose:
+0x4bac 018848 fetch 1 ,mem_usb_state 
+0x4bad 018849 beq usb_sleep ,usb_clear_tx_wait 
+0x4bae 018850 beq usb_connected ,usb_mac_wakeup_trig 
+0x4baf 018851 rtn 
+:      018852 usb_clear_tx_wait:
+0x4bb0 018853 jam 0 ,mem_usb_tx_wait 
+0x4bb1 018854 rtn 
+:      018855 usb_mac_wakeup_trig:
+0x4bb2 018856 hfetch 1 ,core_usb_config 
+0x4bb3 018857 set1 7 ,pdata 
+0x4bb4 018858 hstore 1 ,core_usb_config 
+0x4bb5 018859 jam 1 ,mem_usb_mac_wakeup_trig 
+0x4bb6 018860 rtn 
+:      018862 usb_mac_wakeup_judge:
+0x4bb7 018863 fetch 1 ,mem_usb_state 
+0x4bb8 018864 rtneq usb_sleep 
+0x4bb9 018865 beq usb_connected ,usb_mac_wakeup 
+0x4bba 018866 rtn 
+:      018867 usb_mac_wakeup:
+0x4bbb 018868 fetch 1 ,mem_usb_mac_wakeup_trig 
+0x4bbc 018869 rtn blank 
+0x4bbd 018870 jam 1 ,mem_usb_wakestate_onetime_flag 
+0x4bbe 018871 branch usb_wakeup 
+:      018873 usb_windows_wakeup:
+0x4bbf 018874 arg timer_wakeup ,queue 
+0x4bc0 018875 call timer_check 
+0x4bc1 018876 nrtn blank 
+:      018877 usb_wakeup:
+0x4bc2 018878 hfetch 1 ,core_usb_config 
+0x4bc3 018879 rtnbit0 7 
+0x4bc4 018880 jam 0xfc ,core_usb_config 
+0x4bc5 018881 nop 30000 
+0x4bc6 018882 jam 0x3c ,core_usb_config 
+0x4bc7 018883 rtn 
+:      018890 hci_rx_h4:
+0x4bc8 018891 bpatch patch1f_5 ,mem_patch1f 
+0x4bc9 018892 fetch 1 ,mem_hci_cmd 
+0x4bca 018893 nrtn blank 
+:      018894 hci_rx_h4_1:
+0x4bcb 018895 call hci_h4_parse_packet 
+0x4bcc 018896 ncall h4_rx_discard_packet ,user 
+0x4bcd 018897 rtn 
+:      018899 hci_h4_parse_packet:
+0x4bce 018900 bpatch patch1f_6 ,mem_patch1f 
+0x4bcf 018901 copy contru ,rega 
+0x4bd0 018902 arg 4 ,temp 
+0x4bd1 018903 ifetch 1 ,contru 
+0x4bd2 018904 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+0x4bd3 018905 increase 1 ,temp 
+0x4bd4 018906 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+0x4bd5 018907 copy contru ,pdata 
+0x4bd6 018908 hstore 2 ,core_uart_rrptr 
+0x4bd7 018909 rtn 
+:      018910 hci_h4_parse_packet_wait_len:
+0x4bd8 018911 hfetch 2 ,core_uart_rxitems 
+0x4bd9 018912 isub temp ,null 
+0x4bda 018913 nbranch hci_h4_parse_packet_wait_len ,positive 
+0x4bdb 018915 disable user 
+0x4bdc 018916 copy rega ,contru 
+0x4bdd 018917 call h4_get_rx_payload_len 
+0x4bde 018918 iadd temp ,temp 
+:      018919 hci_h4_parse_packet_wait:
+0x4bdf 018920 hfetch 2 ,core_uart_rxitems 
+0x4be0 018921 isub temp ,null 
+0x4be1 018922 nbranch hci_h4_parse_packet_wait ,positive 
+0x4be2 018923 copy rega ,contru 
+0x4be3 018924 ifetch 1 ,contru 
+0x4be4 018925 beq hci_h4_type_cmd ,process_hci_cmd 
+0x4be5 018926 branch assert 
+:      018928 h4_rx_discard_packet:
+0x4be6 018929 bpatch patch1f_7 ,mem_patch1f 
+0x4be7 018930 hfetch 2 ,core_uart_rrptr 
+0x4be8 018931 iforce contru 
+0x4be9 018932 call h4_get_rx_payload_len 
+0x4bea 018933 iadd contru ,contru 
+0x4beb 018934 deposit contru 
+0x4bec 018935 hstore 2 ,core_uart_rrptr 
+0x4bed 018936 rtn 
+:      018941 h4_get_rx_payload_len:
+0x4bee 018942 ifetch 1 ,contru 
+0x4bef 018943 increase 2 ,contru 
+0x4bf0 018944 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+0x4bf1 018945 ifetch 1 ,contru 
+0x4bf2 018946 rtn 
+:      018947 h4_get_rx_payload_len_acl:
+0x4bf3 018948 ifetch 2 ,contru 
+0x4bf4 018949 rtn 
+:      018951 h4_get_tx_ptr:
+0x4bf5 018952 hfetch 2 ,core_uart_twptr 
+0x4bf6 018953 increase -5 ,contwu 
+0x4bf7 018954 iadd contwu ,contwu 
+0x4bf8 018955 rtn 
+:      018957 h4_send_packet_event:
+0x4bf9 018958 arg hci_h4_type_event ,temp 
+0x4bfa 018959 branch h4_send_packet 
+:      018960 h4_send_packet_acl:
+0x4bfb 018961 arg hci_h4_type_acl ,temp 
+:      018962 h4_send_packet:
+0x4bfc 018963 bpatchx patch20_0 ,mem_patch20 
+0x4bfd 018964 increase 1 ,loopcnt 
+0x4bfe 018965 hfetch 2 ,core_uart_twptr 
+0x4bff 018966 copy pdata ,contwu 
+0x4c00 018967 copy loopcnt ,pdata 
+0x4c01 018968 istoret 1 ,contwu 
+0x4c02 018969 increase -1 ,pdata 
+0x4c03 018970 iadd contwu ,contwu 
+0x4c04 018971 copy contwu ,pdata 
+0x4c05 018972 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c06 018973 copy temp ,pdata 
+0x4c07 018974 rtneq hci_h4_type_acl 
+0x4c08 018975 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c09 018976 hstore 2 ,core_uart_twptr 
+0x4c0a 018977 branch h4_send_acl_trigger_clear 
+:      018980 h4_send_acl_trigger_clear:
+0x4c0b 018981 setarg 0 
+0x4c0c 018982 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c0d 018983 rtn 
+:      018990 hci_init:
+0x4c0e 018991 rtn wake 
+0x4c0f 018992 setarg hci_idle_dispatch 
+0x4c10 018993 store 2 ,mem_cb_idle_process 
+0x4c11 018995 setarg uart_baud_115200 
+0x4c12 018996 store uart_baud_len ,mem_baud 
+:      018997 hci_lpm_init:
+0x4c13 018998 setarg mem_h5rx_buf 
+0x4c14 018999 hstore 2 ,core_uart_rsaddr 
+0x4c15 019000 setarg mem_h5rx_buf_end 
+0x4c16 019001 hstore 2 ,core_uart_readdr 
+0x4c17 019002 setarg mem_h5tx_buf 
+0x4c18 019003 hstore 2 ,core_uart_tsaddr 
+0x4c19 019004 call hci_sel_init 
+:      019005 hci_reinit:
+0x4c1a 019006 jam 0x0 ,core_uart_ctrl 
+0x4c1b 019007 setarg mem_h5tx_buf 
+0x4c1c 019008 hstore 2 ,core_uart_twptr 
+0x4c1d 019009 hstore 2 ,core_uart_trptrp 
+0x4c1e 019010 setarg mem_h5rx_buf 
+0x4c1f 019011 hstore 2 ,core_uart_rrptr 
+0x4c20 019012 store 2 ,mem_h5rx_rptr 
+:      019013 hci_init_common:
+0x4c21 019014 hfetch 2 ,core_clkoff 
+0x4c22 019015 set0 clock_off_uart ,pdata 
+0x4c23 019016 hstore 2 ,core_clkoff 
+0x4c24 019017 call uart_set_baud_by_mem 
+0x4c25 019018 jam uartclk_dpll ,core_uart_clksel 
+0x4c26 019019 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x4c27 019020 rtn 
+:      019022 hci_sel_init:
+0x4c28 019023 setarg mem_h5tx_buf_end 
+0x4c29 019024 hstore 2 ,core_uart_teaddr 
+0x4c2a 019025 hfetch 1 ,core_gpio_sel1 
+0x4c2b 019026 or_into 0x07 ,pdata 
+0x4c2c 019027 hstore 1 ,core_gpio_sel1 
+0x4c2d 019028 rtn 
+:      019031 hci_rx_packet:
+0x4c2e 019032 bpatchx patch20_1 ,mem_patch20 
+0x4c2f 019033 hfetch 1 ,core_uart_status 
+0x4c30 019034 iforce regb 
+0x4c31 019035 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+0x4c32 019036 hfetch 2 ,core_uart_rxitems 
+0x4c33 019037 iforce regc 
+0x4c34 019038 arg 0x44f ,temp 
+0x4c35 019039 isub temp ,null 
+0x4c36 019040 nrtn zero 
+:      019041 hci_rx_packet_cont:
+0x4c37 019042 hfetch 2 ,core_uart_rrptr 
+0x4c38 019043 iforce contru 
+0x4c39 019044 branch hci_rx_h4 
+:      019046 uart_send_byte:
+0x4c3a 019047 hfetcht 1 ,core_uart_status 
+0x4c3b 019048 isolate1 6 ,temp 
+0x4c3c 019049 branch uart_send_byte ,true 
+0x4c3d 019050 hstore 1 ,core_uart_txd 
+0x4c3e 019051 rtn 
+:      019053 process_hci_cmd:
+0x4c3f 019054 bpatchx patch20_2 ,mem_patch20 
+0x4c40 019055 fetch 1 ,mem_hci_cmd 
+0x4c41 019056 branch process_hci_cmd_cont ,blank 
+0x4c42 019057 enable user 
+0x4c43 019058 rtn 
+:      019059 process_hci_cmd_cont:
+0x4c44 019060 ifetch 2 ,contru 
+0x4c45 019061 iforce alarm 
+0x4c46 019062 iforce queue 
+0x4c47 019063 ifetch 1 ,contru 
+0x4c48 019064 iforce temp 
+0x4c49 019065 rshift2 alarm ,pdata 
+0x4c4a 019066 rshift8 pdata ,pdata 
+0x4c4b 019067 beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+0x4c4c 019068 rtn 
+:      019071 phci_grp_vendor_specific:
+0x4c4d 019072 bpatchx patch20_3 ,mem_patch20 
+0x4c4e 019073 deposit queue 
+0x4c4f 019074 beq hci_vendor_cmd_reset ,hci_normal_reply 
+0x4c50 019075 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+0x4c51 019076 beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+0x4c52 019077 beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+0x4c53 019078 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+0x4c54 019079 beq hci_vendor_cmd_echo ,hci_normal_reply 
+0x4c55 019080 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+0x4c56 019081 beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+0x4c57 019083 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+0x4c58 019084 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+0x4c59 019085 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+0x4c5a 019086 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+0x4c5b 019087 branch hci_normal_reply 
+:      019089 phci_grp_vendor_enter_lpm:
+0x4c5c 019090 call hci_normal_reply 
+0x4c5d 019091 call wait_uarttx 
+0x4c5e 019092 call gpio_pu_uart_tx 
+:      019093 hci_enter_lpm:
+0x4c5f 019094 call app_put_lpm_wake_lock 
+0x4c60 019095 call app_l2cap_flow_control_enable 
+0x4c61 019096 branch gpio_rx_config_input_with_pu 
+:      019098 hci_exit_lpm:
+0x4c62 019099 jam hci_rx_ready ,mem_hci_lt_rx_state 
+0x4c63 019100 call app_get_lpm_wake_lock 
+0x4c64 019101 call hci_lpm_init 
+0x4c65 019102 branch app_l2cap_flow_control_disable 
+:      019104 phci_grp_vendor_chipid:
+0x4c66 019105 call hci_get_cmd_complete_ptr 
+0x4c67 019106 hfetch 2 ,core_chipid 
+0x4c68 019107 istore 2 ,contwu 
+0x4c69 019108 force 6 ,loopcnt 
+0x4c6a 019109 branch hci_command_complete 
+:      019111 phci_grp_vendor_baud:
+0x4c6b 019112 ifetch 2 ,contru 
+0x4c6c 019113 store 2 ,mem_baud 
+0x4c6d 019114 hstore 2 ,core_uart_baud 
+0x4c6e 019115 rtn 
+:      019118 phci_grp_vendor_patch_common:
+0x4c6f 019120 ifetch 1 ,contru 
+0x4c70 019121 copy pdata ,temp 
+0x4c71 019122 hstore 1 ,core_ucode_low 
+0x4c72 019123 ifetch 1 ,contru 
+0x4c73 019124 iadd temp ,temp 
+0x4c74 019125 set1 7 ,pdata 
+0x4c75 019126 hstore 1 ,core_ucode_ctrl 
+0x4c76 019127 ifetch 1 ,contru 
+0x4c77 019128 iadd temp ,temp 
+0x4c78 019129 copy pdata ,loopcnt 
+0x4c79 019130 rtn 
+:      019132 phci_grp_vendor_patch:
+0x4c7a 019133 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c7b 019134 call phci_grp_vendor_patch_common 
+:      019135 phci_grp_vendor_patch_loop:
+0x4c7c 019136 ifetch 1 ,contru 
+0x4c7d 019137 hstore 1 ,core_ucode_data 
+0x4c7e 019138 iadd temp ,temp 
+0x4c7f 019139 loop phci_grp_vendor_patch_loop 
+:      019140 phci_grp_vendor_patch_check_sum:
+0x4c80 019141 and temp ,0xff ,temp 
+0x4c81 019142 ifetch 1 ,contru 
+0x4c82 019143 isub temp ,null 
+0x4c83 019144 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4c84 019145 branch hci_normal_reply 
+:      019148 phci_grp_vendor_patch_sec:
+0x4c85 019149 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c86 019150 call phci_grp_vendor_patch_common 
+0x4c87 019151 store 8 ,mem_pdatatemp 
+:      019152 phci_grp_vendor_patch_sec_loop:
+0x4c88 019153 call do_aes_cbc 
+0x4c89 019154 arg 16 ,loopcnt 
+0x4c8a 019155 arg mem_temp_block0 ,contw 
+0x4c8b 019156 call load_uart_sum_loop 
+0x4c8c 019157 storet 8 ,mem_temp 
+0x4c8d 019158 arg mem_temp_block2 ,contw 
+0x4c8e 019159 call store_aes_result 
+0x4c8f 019160 arg mem_temp_block2 ,rega 
+0x4c90 019161 arg mem_temp_block0 ,regb 
+0x4c91 019162 arg mem_temp_block3 ,contw 
+0x4c92 019163 call xor16 
+0x4c93 019164 arg 16 ,loopcnt 
+0x4c94 019165 arg mem_temp_block3 ,contr 
+0x4c95 019166 call load_ucode_only_loop 
+0x4c96 019167 fetcht 8 ,mem_temp 
+0x4c97 019168 fetch 8 ,mem_pdatatemp 
+0x4c98 019169 increase -16 ,pdata 
+0x4c99 019170 store 8 ,mem_pdatatemp 
+0x4c9a 019171 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+0x4c9b 019172 branch phci_grp_vendor_patch_check_sum 
+:      019174 load_ucode_only_loop:
+0x4c9c 019175 ifetch 1 ,contr 
+0x4c9d 019176 hstore 1 ,core_ucode_data 
+0x4c9e 019177 loop load_ucode_only_loop 
+0x4c9f 019178 rtn 
+:      019180 load_uart_sum_loop:
+0x4ca0 019181 ifetch 1 ,contru 
+0x4ca1 019182 istore 1 ,contw 
+0x4ca2 019183 iadd temp ,temp 
+0x4ca3 019184 loop load_uart_sum_loop 
+0x4ca4 019185 rtn 
+:      019187 phci_grp_vendor_patch_sec_init:
+0x4ca5 019188 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4ca6 019189 arg 0 ,temp 
+0x4ca7 019190 arg 16 ,loopcnt 
+0x4ca8 019191 arg mem_temp_block0 ,contw 
+0x4ca9 019192 call load_uart_sum_loop 
+0x4caa 019193 hfetch 1 ,core_gpio_key2 
+0x4cab 019194 and_into 0xfd ,pdata 
+0x4cac 019195 hstore 1 ,core_gpio_key2 
+0x4cad 019196 arg mem_temp_block0 ,contr 
+0x4cae 019197 arg 16 ,loopcnt 
+0x4caf 019198 call aes_load_data 
+0x4cb0 019199 call aes_init 
+0x4cb1 019200 call aes_clear_data 
+0x4cb2 019201 branch phci_grp_vendor_patch_check_sum 
+:      019204 phci_grp_vendor_done:
+0x4cb3 019205 arg 0x20 ,loopcnt 
+0x4cb4 019206 arg mem_patch00 ,contw 
+0x4cb5 019207 arg 0 ,temp 
+:      019208 phci_grp_vendor_done_loop:
+0x4cb6 019209 ifetch 1 ,contru 
+0x4cb7 019210 istore 1 ,contw 
+0x4cb8 019211 iadd temp ,temp 
+0x4cb9 019212 loop phci_grp_vendor_done_loop 
+0x4cba 019213 and temp ,0xff ,temp 
+0x4cbb 019214 ifetch 1 ,contru 
+0x4cbc 019215 isub temp ,null 
+0x4cbd 019216 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4cbe 019217 jam 0 ,core_ucode_ctrl 
+0x4cbf 019218 call hci_normal_reply 
+0x4cc0 019219 call h4_rx_discard_packet 
+0x4cc1 019220 call clear_key_buf 
+0x4cc2 019221 call wait_uarttx 
+0x4cc3 019222 branch soft_reset 
+:      019224 phci_grp_vendor_patch_bad:
+0x4cc4 019225 jam 0 ,core_ucode_ctrl 
+0x4cc5 019226 branch start 
+:      019228 phci_grp_vendor_bdaddr:
+0x4cc6 019229 ifetch 6 ,contru 
+0x4cc7 019230 store 6 ,mem_lap 
+0x4cc8 019231 branch hci_normal_reply 
+:      019234 phci_grp_vendor_mem:
+0x4cc9 019235 ifetch 1 ,contru 
+0x4cca 019236 store 1 ,mem_hci_curr_len 
+0x4ccb 019237 copy pdata ,loopcnt 
+0x4ccc 019238 ifetch 2 ,contru 
+0x4ccd 019239 store 2 ,mem_hci_curr_target 
+0x4cce 019240 copy pdata ,contw 
+0x4ccf 019241 call uart_copy_rx_bytes 
+0x4cd0 019242 branch hci_normal_reply 
+:      019245 phci_grp_vendor_eep:
+0x4cd1 019246 ifetch 1 ,contru 
+0x4cd2 019247 store 1 ,mem_hci_curr_len 
+0x4cd3 019248 copy pdata ,loopcnt 
+0x4cd4 019249 ifetch 2 ,contru 
+0x4cd5 019250 store 2 ,mem_hci_curr_target 
+0x4cd6 019251 arg mem_l2cap_rxbuff1 ,contw 
+0x4cd7 019252 call uart_copy_rx_bytes 
+0x4cd8 019253 fetcht 1 ,mem_hci_curr_len 
+0x4cd9 019254 arg mem_l2cap_rxbuff1 ,rega 
+0x4cda 019255 fetch 2 ,mem_hci_curr_target 
+0x4cdb 019256 branch iicd_write_ota_data 
+:      019261 hci_normal_reply:
+0x4cdc 019262 force 4 ,loopcnt 
+:      019263 hci_command_complete:
+0x4cdd 019264 call hci_get_payload_ptr 
+0x4cde 019265 force 0x1 ,pdata 
+0x4cdf 019266 istore 1 ,contwu 
+0x4ce0 019267 deposit alarm 
+0x4ce1 019268 istore 3 ,contwu 
+0x4ce2 019269 force hci_event_command_complete ,queue 
+:      019270 hci_send_event:
+0x4ce3 019271 bpatchx patch20_4 ,mem_patch20 
+0x4ce4 019272 call hci_get_packet_ptr 
+0x4ce5 019273 deposit queue 
+0x4ce6 019274 istore 1 ,contwu 
+0x4ce7 019275 deposit loopcnt 
+0x4ce8 019276 istore 1 ,contwu 
+:      019277 hci_send_event_raw:
+0x4ce9 019278 force 5 ,queue 
+0x4cea 019279 increase 2 ,loopcnt 
+:      019280 hci_send_packet:
+0x4ceb 019281 branch h4_send_packet_event 
+:      019283 hci_send_commu_ready_event:
+0x4cec 019284 force hci_event_vendor_specific ,queue 
+0x4ced 019285 call hci_get_payload_ptr 
+0x4cee 019286 setarg hci_vendor_event_commu_ready 
+0x4cef 019287 istore 1 ,contwu 
+0x4cf0 019288 force 1 ,loopcnt 
+0x4cf1 019289 branch hci_send_event 
+:      019291 hci_get_cmd_complete_ptr:
+0x4cf2 019292 force 12 ,contwu 
+0x4cf3 019293 branch hci_get_tx_ptr 
+:      019295 hci_get_payload_ptr:
+0x4cf4 019296 force 8 ,contwu 
+0x4cf5 019297 branch hci_get_tx_ptr 
+:      019299 hci_get_packet_ptr:
+0x4cf6 019300 force 6 ,contwu 
+:      019301 hci_get_tx_ptr:
+0x4cf7 019302 branch h4_get_tx_ptr 
+:      019306 calc_tx_crc16:
+0x4cf8 019307 pulse crc16 
+0x4cf9 019308 enable enable_crc 
+:      019309 crcloop:
+0x4cfa 019310 ifetch 1 ,contwu 
+0x4cfb 019311 inject bucket ,8 
+0x4cfc 019312 loop crcloop 
+0x4cfd 019313 enable enable_parity 
+0x4cfe 019314 inject bucket ,16 
+0x4cff 019315 disable enable_parity 
+0x4d00 019316 disable enable_crc 
+0x4d01 019317 disable crc16 
+0x4d02 019318 byteswap pdata ,pdata 
+0x4d03 019319 rtn 
+:      019323 cmd_exit:
+0x4d04 019324 jam 0 ,mem_hci_cmd 
+0x4d05 019325 rtn 
+:      019326 cmd_check_plap:
+0x4d06 019327 fetch 6 ,mem_hci_plap 
+0x4d07 019328 fetcht 6 ,mem_plap 
+0x4d08 019329 isub temp ,null 
+0x4d09 019330 rtn 
+:      019335 cmd_pair:
+0x4d0a 019336 fetch 1 ,mem_op 
+0x4d0b 019337 bbit1 op_inrand_req ,cmd_pair_passive 
+0x4d0c 019338 call tid_initiate 
+0x4d0d 019339 jam lmp_in_rand ,mem_lmo_opcode2 
+0x4d0e 019340 branch cmd_exit 
+:      019341 cmd_pair_passive:
+0x4d0f 019342 set0 op_inrand_req ,pdata 
+0x4d10 019343 store 1 ,mem_op 
+0x4d11 019344 call lmp_accept_inrand 
+0x4d12 019345 setarg 0 
+0x4d13 019346 setflag master ,smap_lmptid ,pdata 
+0x4d14 019347 store 1 ,mem_lmo_tid2 
+0x4d15 019348 branch cmd_exit 
+0x4d16 019349 rtn 
+:      019350 cmd_in_sniff:
+0x4d17 019351 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x4d18 019352 arg mem_sniff_payload ,contw 
+0x4d19 019353 setarg 0 
+0x4d1a 019354 isolate1 27 ,clke_bt 
+0x4d1b 019355 setflag true ,1 ,pdata 
+0x4d1c 019356 istore 1 ,contw 
+0x4d1d 019357 setarg 0 
+0x4d1e 019358 istore 2 ,contw 
+0x4d1f 019359 fetch 2 ,mem_sniff_param_interval 
+0x4d20 019360 istore 2 ,contw 
+0x4d21 019361 fetch 1 ,mem_sniff_param_attempt 
+0x4d22 019362 istore 2 ,contw 
+0x4d23 019363 fetch 1 ,mem_sniff_param_timeout 
+0x4d24 019364 istore 2 ,contw 
+0x4d25 019365 branch cmd_exit 
+:      019367 cmd_exit_sniff:
+0x4d26 019368 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x4d27 019369 branch cmd_exit 
+:      019371 hci_idle_dispatch:
+0x4d28 019372 call gpio_check_uart_state 
+0x4d29 019373 rtn true 
+0x4d2a 019374 arg uart_wakeup_rx ,temp 
+0x4d2b 019375 call gpio_get_bit 
+0x4d2c 019376 nbranch uart_wake_up ,true 
+0x4d2d 019377 jam hci_rx_wake ,mem_hci_lt_rx_state 
+0x4d2e 019378 rtn 
+:      019379 uart_wake_up:
+0x4d2f 019380 fetch 1 ,mem_hci_lt_rx_state 
+0x4d30 019381 rtnne hci_rx_wake 
+0x4d31 019382 call hci_exit_lpm 
+0x4d32 019383 branch hci_send_commu_ready_event 
+:      019397 hid_rx_process:
+0x4d33 019398 bpatchx patch20_5 ,mem_patch20 
+0x4d34 019399 fetch 2 ,mem_l2cap_payload_ptr 
+0x4d35 019400 copy pdata ,contr 
+0x4d36 019401 ifetch 1 ,contr 
+0x4d37 019402 and pdata ,0x0f ,temp 
+0x4d38 019403 rshift4 pdata ,pdata 
+0x4d39 019404 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x4d3a 019405 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x4d3b 019406 beq hid_type_data ,hid_rx_process_data 
+0x4d3c 019407 beq hid_type_set_report ,hid_rx_process_set_report 
+0x4d3d 019408 beq hid_type_control ,hid_rx_process_hid_control 
+0x4d3e 019409 rtn 
+:      019411 hid_rx_process_hid_control:
+0x4d3f 019412 copy temp ,pdata 
+0x4d40 019413 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x4d41 019414 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x4d42 019415 rtn 
+:      019417 hid_rx_process_virtual_cable_unplug:
+0x4d43 019418 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x4d44 019419 call ui_ipc_send_event 
+0x4d45 019420 fetch 1 ,mem_device_option 
+0x4d46 019421 rtnbit0 dvc_op_mouse 
+0x4d47 019422 copy temp ,pdata 
+0x4d48 019423 beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+0x4d49 019424 rtn 
+:      019425 hid_rx_process_suspend:
+0x4d4a 019426 rtn 
+:      019428 hid_rx_process_set_report:
+0x4d4b 019429 call hid_rx_process_data 
+0x4d4c 019430 arg 0x01 ,rega 
+0x4d4d 019431 call hid_malloc_tx_buff 
+0x4d4e 019432 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d4f 019433 istore 2 ,contw 
+0x4d50 019434 setarg 0x00 
+0x4d51 019435 istore 1 ,contw 
+0x4d52 019436 rtn 
+:      019438 hid_rx_process_handshake:
+0x4d53 019439 arg 1 ,rega 
+0x4d54 019440 call hid_malloc_tx_buff 
+0x4d55 019441 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d56 019442 istore 2 ,contw 
+0x4d57 019443 setarg 0 
+0x4d58 019444 istore 1 ,contw 
+0x4d59 019445 jam 1 ,mem_ui_data_txbuff_length 
+0x4d5a 019446 fetch 1 ,mem_hid_control_state 
+0x4d5b 019447 set1 l2cap_channel_hid_handshake_done 
+0x4d5c 019448 store 1 ,mem_hid_control_state 
+0x4d5d 019449 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x4d5e 019450 branch ui_ipc_send_event 
+:      019452 hid_rx_process_data:
+0x4d5f 019453 ifetch 1 ,contr 
+0x4d60 019454 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x4d61 019455 rtn 
+:      019457 hid_rx_process_data_hid_kb:
+0x4d62 019458 rtn 
+:      019461 hid_malloc_tx_buff:
+0x4d63 019462 call l2cap_malloc 
+0x4d64 019463 copy rega ,temp 
+0x4d65 019464 storet 1 ,mem_ui_data_txbuff_length 
+0x4d66 019465 copy pdata ,contw 
+0x4d67 019466 copy rega ,pdata 
+0x4d68 019467 istore 2 ,contw 
+0x4d69 019468 rtn 
+:      019485 l2cap_init:
+0x4d6a 019486 branch l2cap_init_wake ,wake 
+:      019487 l2cap_init_work:
+0x4d6b 019488 setarg mem_l2cap_xmem_end 
+0x4d6c 019489 arg mem_l2cap_xmem_start ,contw 
+0x4d6d 019490 isub contw ,loopcnt 
+0x4d6e 019491 call clear_mem 
+:      019492 l2cap_init_wake:
+0x4d6f 019493 bpatchx patch20_6 ,mem_patch20 
+0x4d70 019494 setarg mem_sdp_mem_end 
+0x4d71 019495 arg mem_sdp_mem_start ,contw 
+0x4d72 019496 isub contw ,loopcnt 
+0x4d73 019497 call clear_mem 
+0x4d74 019498 setarg mem_l2cap_mem_end 
+0x4d75 019499 arg mem_l2cap_mem_start ,contw 
+0x4d76 019500 isub contw ,loopcnt 
+0x4d77 019501 call clear_mem 
+0x4d78 019502 branch l2cap_lpm_load_txbuf 
+:      019504 process_rx_l2cap_pkt:
+0x4d79 019505 bpatchx patch20_7 ,mem_patch20 
+0x4d7a 019506 copy contr ,temp 
+0x4d7b 019509 copy temp ,contr 
+0x4d7c 019510 ifetch 2 ,contr 
+0x4d7d 019511 store 2 ,mem_l2cap_rx_pkt_length 
+0x4d7e 019512 ifetch 2 ,contr 
+0x4d7f 019513 store 2 ,mem_l2cap_rx_cid 
+0x4d80 019514 deposit contr 
+0x4d81 019515 store 2 ,mem_l2cap_payload_ptr 
+0x4d82 019516 fetch 1 ,memui_reconnect_mode 
+0x4d83 019517 beq no_reconnection ,l2cap_rx_multiplexing 
+0x4d84 019518 branch ml2cap_rx_multiplexing 
+:      019520 l2cap_rx_multiplexing:
+0x4d85 019521 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4d86 019522 branch l2cap_rx_reset_state ,blank 
+0x4d87 019523 bpatchx patch21_0 ,mem_patch21 
+0x4d88 019524 fetch 1 ,mem_l2cap_rx_cid 
+0x4d89 019525 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      019526 l2cap_rx_multiplexing0:
+0x4d8a 019527 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x4d8b 019528 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x4d8c 019529 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x4d8d 019530 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x4d8e 019531 branch l2cap_rx_reset_state 
+:      019533 l2cap_check_map:
+0x4d8f 019536 bpatchx patch21_1 ,mem_patch21 
+0x4d90 019537 call l2cap_malloc_get_full_map 
+0x4d91 019538 fetch 1 ,mem_used_map 
+0x4d92 019539 beq 0 ,set_pdata_0 
+0x4d93 019540 beq 1 ,set_pdata_0 
+0x4d94 019541 beq 2 ,set_pdata_0 
+0x4d95 019542 beq 3 ,set_pdata_0 
+0x4d96 019543 beq 0x81 ,set_pdata_0 
+0x4d97 019544 beq 0xc0 ,set_pdata_0 
+0x4d98 019545 beq 0x80 ,set_pdata_0 
+0x4d99 019546 beq 0x40 ,set_pdata_0 
+0x4d9a 019547 rtn 
+:      019549 set_pdata_0:
+0x4d9b 019550 setarg 0 
+0x4d9c 019551 rtn 
+:      019554 l2cap_call_proc_signal:
+0x4d9d 019555 call l2cap_check_map 
+0x4d9e 019556 nrtn blank 
+:      019557 l2cap_call_proc_signal0:
+0x4d9f 019558 call l2cap_malloc_signal_channel 
+0x4da0 019559 call l2cap_process_signal_pkt 
+0x4da1 019560 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x4da2 019561 branch l2cap_call_proc_no_reply ,blank 
+0x4da3 019562 call l2cap_get_signal_tx_buff 
+0x4da4 019563 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4da5 019564 istore 2 ,contw 
+0x4da6 019565 force l2cap_signal_channel ,pdata 
+0x4da7 019566 istore 2 ,contw 
+0x4da8 019567 branch l2cap_rx_reset_state 
+:      019569 l2cap_call_proc_sigal_pending:
+0x4da9 019570 fetch 1 ,mem_l2cap_pending_item 
+0x4daa 019571 rtn blank 
+0x4dab 019572 copy pdata ,rega 
+0x4dac 019573 bpatchx patch21_2 ,mem_patch21 
+0x4dad 019574 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x4dae 019575 arg 0x100 ,temp 
+0x4daf 019576 iadd temp ,temp 
+0x4db0 019577 copy clkn_bt ,pdata 
+0x4db1 019578 isub temp ,null 
+0x4db2 019579 nrtn positive 
+0x4db3 019580 jam 0 ,mem_l2cap_pending_item 
+0x4db4 019581 copy rega ,pdata 
+0x4db5 019582 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x4db6 019583 branch assert 
+:      019584 l2cap_sdp_conn_succ:
+0x4db7 019585 arg 0 ,debug 
+0x4db8 019586 call l2cap_malloc_signal_channel 
+0x4db9 019587 call restore_l2cap_req_param 
+0x4dba 019588 call l2cap_get_signal_tx_payload 
+0x4dbb 019589 call save_cont_pointers 
+0x4dbc 019590 call send_connection_sdp_res 
+0x4dbd 019591 call l2cap_get_signal_tx_buff 
+0x4dbe 019593 setarg 0x000c 
+0x4dbf 019594 istore 2 ,contw 
+0x4dc0 019595 force l2cap_signal_channel ,pdata 
+0x4dc1 019596 istore 2 ,contw 
+0x4dc2 019597 branch l2cap_rx_reset_state 
+:      019601 l2cap_reset_sdp_map:
+0x4dc3 019602 bpatchx patch21_3 ,mem_patch21 
+0x4dc4 019603 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dc5 019604 increase 4 ,pdata 
+0x4dc6 019605 rshift4 pdata ,pdata 
+0x4dc7 019606 rshift3 pdata ,pdata 
+0x4dc8 019607 add pdata ,1 ,temp 
+0x4dc9 019608 arg mem_tx_fifo3 ,contr 
+0x4dca 019609 ifetch 3 ,contr 
+0x4dcb 019610 rtn blank 
+0x4dcc 019611 store 3 ,mem_tx_fifo_map_temp 
+0x4dcd 019612 fetch 1 ,mem_tx_fifo_map_temp 
+0x4dce 019613 copy pdata ,rega 
+0x4dcf 019614 call check_l2cap_map 
+0x4dd0 019615 copy regb ,pdata 
+0x4dd1 019616 store 1 ,mem_tx_fifo3 
+0x4dd2 019617 rtn 
+:      019619 check_l2cap_map:
+0x4dd3 019620 arg 0 ,queue 
+0x4dd4 019621 arg 0 ,regb 
+:      019623 check_l2cap_map_loop:
+0x4dd5 019624 sub queue ,7 ,null 
+0x4dd6 019625 nrtn positive 
+0x4dd7 019626 qisolate1 rega 
+0x4dd8 019627 branch check_l2cap_map_used ,true 
+0x4dd9 019628 branch check_l2cap_map_used2 
+:      019630 check_l2cap_map_used:
+0x4dda 019631 copy temp ,pdata 
+0x4ddb 019632 branch check_l2cap_map_used2 ,blank 
+0x4ddc 019633 qset1 regb 
+0x4ddd 019634 increase -1 ,temp 
+:      019636 check_l2cap_map_used2:
+0x4dde 019637 increase 1 ,queue 
+0x4ddf 019638 branch check_l2cap_map_loop 
+:      019640 l2cap_call_proc_sdp:
+0x4de0 019641 call l2cap_malloc_is_fifo_empty 
+0x4de1 019642 nrtn blank 
+0x4de2 019643 call l2cap_check_map 
+0x4de3 019644 nrtn blank 
+0x4de4 019645 call l2cap_malloc_sdp_channel 
+0x4de5 019646 call sdp_process 
+0x4de6 019647 call l2cap_reset_sdp_map 
+0x4de7 019648 branch l2cap_call_proc_sdp_common 
+:      019651 ml2cap_call_proc_sdp:
+0x4de8 019652 call l2cap_malloc_is_fifo_empty 
+0x4de9 019653 nrtn blank 
+0x4dea 019654 call l2cap_malloc_sdp_channel 
+0x4deb 019655 call sdp_process 
+:      019656 l2cap_call_proc_sdp_common:
+0x4dec 019657 call l2cap_get_sdp_tx_buff 
+0x4ded 019658 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dee 019659 branch l2cap_call_proc_no_reply ,blank 
+0x4def 019660 istore 2 ,contw 
+0x4df0 019661 fetch 2 ,mem_sdp_remote_cid 
+0x4df1 019662 istore 2 ,contw 
+0x4df2 019663 branch l2cap_rx_reset_state 
+:      019665 l2cap_call_proc_hid:
+0x4df3 019666 call hid_rx_process 
+0x4df4 019667 branch l2cap_rx_reset_state 
+:      019669 l2cap_call_proc_rfcomm:
+0x4df5 019670 bpatchx patch21_4 ,mem_patch21 
+0x4df6 019671 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x4df7 019672 call rfcomm_rx_process 
+0x4df8 019673 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x4df9 019674 rtneq rfcomm_malloc_fail 
+0x4dfa 019675 branch l2cap_rx_reset_state 
+:      019676 l2cap_call_proc_no_reply:
+0x4dfb 019677 call l2cap_malloc_discard 
+:      019679 l2cap_rx_reset_state:
+0x4dfc 019680 setarg 0 
+0x4dfd 019681 store 2 ,mem_l2cap_rx_pkt_length 
+0x4dfe 019682 store 2 ,mem_l2cap_rx_cid 
+0x4dff 019683 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x4e00 019684 rtn 
+:      019686 l2cap_process_signal_pkt:
+0x4e01 019687 bpatchx patch21_5 ,mem_patch21 
+0x4e02 019688 call l2cap_get_signal_tx_payload 
+0x4e03 019689 force 0 ,regb 
+0x4e04 019690 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4e05 019691 copy pdata ,regc 
+0x4e06 019692 fetch 2 ,mem_l2cap_payload_ptr 
+0x4e07 019693 iforce contr 
+:      019694 l2cap_process_signal_pkt_loop:
+0x4e08 019695 call l2cap_process_one_signal 
+0x4e09 019696 deposit regc 
+0x4e0a 019697 increase -4 ,regc 
+0x4e0b 019698 increase -4 ,pdata 
+0x4e0c 019699 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x4e0d 019700 copy regb ,pdata 
+0x4e0e 019701 store 2 ,mem_l2cap_signal_tx_length 
+0x4e0f 019702 rtn 
+:      019704 l2cap_process_one_signal:
+0x4e10 019705 bpatchx patch21_6 ,mem_patch21 
+0x4e11 019706 ifetch 1 ,contr 
+0x4e12 019707 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x4e13 019708 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x4e14 019709 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x4e15 019710 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x4e16 019711 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x4e17 019712 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x4e18 019713 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x4e19 019714 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x4e1a 019715 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x4e1b 019716 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x4e1c 019717 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x4e1d 019718 call l2cap_reject_command 
+:      019719 l2cap_process_one_signal_rtn:
+0x4e1e 019720 rtn 
+:      019722 l2cap_proc_signal_info_req:
+0x4e1f 019723 ifetch 1 ,contr 
+0x4e20 019724 copy pdata ,queue 
+0x4e21 019725 ifetch 2 ,contr 
+0x4e22 019726 copy pdata ,rega 
+0x4e23 019727 copy regc ,pdata 
+0x4e24 019728 isub rega ,regc 
+0x4e25 019729 setarg signal_info_rsp 
+0x4e26 019730 istore 1 ,contw 
+0x4e27 019731 copy queue ,pdata 
+0x4e28 019732 istore 1 ,contw 
+0x4e29 019733 ifetch 2 ,contr 
+:      019734 l2cap_proc_signal_info_req_reply:
+0x4e2a 019735 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x4e2b 019736 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x4e2c 019737 rtn 
+:      019738 l2cap_proc_signal_info_req_ext:
+0x4e2d 019739 setarg 0x020008 
+0x4e2e 019740 istore 6 ,contw 
+0x4e2f 019741 setarg 0x0280 
+0x4e30 019742 istore 4 ,contw 
+0x4e31 019743 force 12 ,pdata 
+0x4e32 019744 branch l2cap_proc_signal_info_req_common 
+:      019745 l2cap_proc_signal_info_req_fix:
+0x4e33 019746 setarg 0x3000c 
+0x4e34 019747 istore 6 ,contw 
+0x4e35 019748 setarg 0x0006 
+0x4e36 019749 istore 8 ,contw 
+0x4e37 019750 force 16 ,pdata 
+:      019751 l2cap_proc_signal_info_req_common:
+0x4e38 019752 iadd regb ,regb 
+0x4e39 019753 branch l2cap_process_one_signal_rtn 
+:      019755 ml2cap_proc_signal_info_req:
+0x4e3a 019756 ifetch 1 ,contr 
+0x4e3b 019757 copy pdata ,queue 
+0x4e3c 019758 ifetch 2 ,contr 
+0x4e3d 019759 copy pdata ,rega 
+0x4e3e 019760 ifetch 2 ,contr 
+0x4e3f 019761 store 2 ,mem_temp 
+0x4e40 019762 copy regc ,pdata 
+0x4e41 019763 isub rega ,regc 
+0x4e42 019764 call l2cap_get_signal_tx_payload 
+0x4e43 019765 setarg signal_info_rsp 
+0x4e44 019766 istore 1 ,contw 
+0x4e45 019767 copy queue ,pdata 
+0x4e46 019768 istore 1 ,contw 
+0x4e47 019769 fetch 2 ,mem_temp 
+0x4e48 019770 branch l2cap_proc_signal_info_req_reply 
+:      019774 l2cap_proc_signal_cmd_reject:
+0x4e49 019775 ifetch 1 ,contr 
+0x4e4a 019776 copy pdata ,queue 
+0x4e4b 019777 ifetch 2 ,contr 
+0x4e4c 019778 copy pdata ,rega 
+0x4e4d 019779 iadd contr ,contr 
+0x4e4e 019780 copy regc ,pdata 
+0x4e4f 019781 isub rega ,regc 
+:      019782 l2cap_proc_signal_cmd_reject_rtn:
+0x4e50 019783 branch l2cap_process_one_signal_rtn 
+:      019785 l2cap_proc_signal_connect_req:
+0x4e51 019786 call save_cont_pointers 
+0x4e52 019789 call load_cont_pointers 
+0x4e53 019790 arg 0 ,debug 
+0x4e54 019791 ifetch 1 ,contr 
+0x4e55 019792 copy pdata ,queue 
+0x4e56 019793 ifetch 2 ,contr 
+0x4e57 019794 copy pdata ,rega 
+0x4e58 019795 ifetch 2 ,contr 
+0x4e59 019796 copy pdata ,temp 
+0x4e5a 019797 ifetch 2 ,contr 
+0x4e5b 019798 copy pdata ,timeup 
+0x4e5c 019799 bpatchx patch21_7 ,mem_patch21 
+0x4e5d 019800 copy temp ,pdata 
+0x4e5e 019801 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x4e5f 019802 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x4e60 019803 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x4e61 019804 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x4e62 019805 call l2cap_reject_command 
+0x4e63 019806 branch l2cap_proc_signal_connect_req_rtn 
+:      019808 l2cap_proc_signal_connect_req_sdp:
+0x4e64 019809 call save_cont_pointers 
+0x4e65 019810 arg l2cap_sdp_channel ,temp 
+0x4e66 019811 fetch 2 ,mem_sdp_remote_cid 
+0x4e67 019812 nbranch already_connected ,blank 
+0x4e68 019813 copy timeup ,pdata 
+0x4e69 019814 store 2 ,mem_sdp_remote_cid 
+0x4e6a 019815 copy clkn_bt ,pdata 
+0x4e6b 019816 store 4 ,mem_l2cap_sdpres_delay_time 
+0x4e6c 019817 call store_l2cap_req_param 
+0x4e6d 019818 branch send_connection_pending 
+:      019820 store_l2cap_req_param:
+0x4e6e 019821 storet 2 ,mem_psm 
+0x4e6f 019822 deposit timeup 
+0x4e70 019823 store 2 ,mem_scid 
+0x4e71 019824 deposit rega 
+0x4e72 019825 store 2 ,mem_cmd_length 
+0x4e73 019826 deposit regb 
+0x4e74 019827 store 2 ,mem_tt2 
+0x4e75 019828 deposit regc 
+0x4e76 019829 store 2 ,mem_tt3 
+0x4e77 019830 deposit queue 
+0x4e78 019831 store 2 ,mem_id 
+0x4e79 019832 rtn 
+:      019834 restore_l2cap_req_param:
+0x4e7a 019835 fetcht 2 ,mem_psm 
+0x4e7b 019836 fetch 2 ,mem_scid 
+0x4e7c 019837 copy pdata ,timeup 
+0x4e7d 019838 fetch 2 ,mem_cmd_length 
+0x4e7e 019839 copy pdata ,rega 
+0x4e7f 019840 fetch 2 ,mem_tt2 
+0x4e80 019841 copy pdata ,regb 
+0x4e81 019842 fetch 2 ,mem_tt3 
+0x4e82 019843 copy pdata ,regc 
+0x4e83 019844 fetch 2 ,mem_id 
+0x4e84 019845 copy pdata ,queue 
+0x4e85 019846 rtn 
+:      019848 l2cap_proc_signal_connect_req_rfcomm:
+0x4e86 019849 call save_cont_pointers 
+0x4e87 019850 setarg l2cap_rfcomm_channel 
+0x4e88 019851 arg l2cap_rfcomm_channel ,temp 
+0x4e89 019852 fetch 2 ,mem_rfcomm_remote_cid 
+0x4e8a 019853 nbranch already_connected ,blank 
+0x4e8b 019854 copy timeup ,pdata 
+0x4e8c 019855 store 2 ,mem_rfcomm_remote_cid 
+0x4e8d 019856 fetch 1 ,mem_rfcomm_state 
+0x4e8e 019857 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e8f 019858 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e90 019859 store 1 ,mem_rfcomm_state 
+0x4e91 019860 branch send_connection_res 
+:      019861 l2cap_proc_signal_connect_req_hid_ctrl:
+0x4e92 019862 call save_cont_pointers 
+0x4e93 019863 arg l2cap_hid_control_channel ,temp 
+0x4e94 019864 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4e95 019865 nbranch already_connected ,blank 
+0x4e96 019866 copy timeup ,pdata 
+0x4e97 019867 store 2 ,mem_hid_ctrl_remote_cid 
+0x4e98 019868 fetch 1 ,mem_hid_control_state 
+0x4e99 019869 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e9a 019870 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e9b 019871 store 1 ,mem_hid_control_state 
+0x4e9c 019872 branch send_connection_res 
+:      019873 l2cap_proc_signal_connect_req_hid_int:
+0x4e9d 019874 call save_cont_pointers 
+0x4e9e 019875 deposit clke 
+0x4e9f 019876 arg l2cap_hid_interrupt_channel ,temp 
+0x4ea0 019877 fetch 2 ,mem_hid_int_remote_cid 
+0x4ea1 019878 nbranch already_connected ,blank 
+0x4ea2 019879 copy timeup ,pdata 
+0x4ea3 019880 store 2 ,mem_hid_int_remote_cid 
+0x4ea4 019881 fetch 1 ,mem_hid_interrupt_state 
+0x4ea5 019882 set1 l2cap_channel_state_conn_req ,pdata 
+0x4ea6 019883 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ea7 019884 store 1 ,mem_hid_interrupt_state 
+0x4ea8 019885 branch send_connection_res 
+:      019887 send_connection_pending:
+0x4ea9 019888 setarg l2cap_connect_pending 
+0x4eaa 019889 store 2 ,meml2cap_t1 
+0x4eab 019890 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x4eac 019891 branch send_connection_res0 
+:      019892 send_connection_sdp_res:
+0x4ead 019893 fetch 1 ,mem_sdp_state 
+0x4eae 019894 set1 l2cap_channel_state_conn_req ,pdata 
+0x4eaf 019895 set1 l2cap_channel_state_conn_res ,pdata 
+0x4eb0 019896 store 1 ,mem_sdp_state 
+:      019897 send_connection_res:
+0x4eb1 019898 setarg l2cap_connect_successful 
+0x4eb2 019899 store 2 ,meml2cap_t1 
+:      019900 send_connection_res0:
+0x4eb3 019901 bpatchx patch22_0 ,mem_patch22 
+0x4eb4 019902 call load_cont_pointers 
+0x4eb5 019903 setarg signal_connect_rsp 
+0x4eb6 019904 istore 1 ,contw 
+0x4eb7 019905 copy queue ,pdata 
+0x4eb8 019906 istore 1 ,contw 
+0x4eb9 019907 setarg 0x0008 
+0x4eba 019908 istore 2 ,contw 
+0x4ebb 019909 copy temp ,pdata 
+0x4ebc 019910 istore 2 ,contw 
+0x4ebd 019911 copy timeup ,pdata 
+0x4ebe 019912 istore 2 ,contw 
+0x4ebf 019913 fetch 2 ,meml2cap_t1 
+0x4ec0 019914 beq l2cap_connect_pending ,connect_pending 
+0x4ec1 019915 isolate0 0 ,debug 
+0x4ec2 019916 branch connect_suc ,true 
+0x4ec3 019917 setarg l2cap_connect_refused_no_resources 
+:      019918 connect_suc:
+0x4ec4 019919 istore 2 ,contw 
+0x4ec5 019920 force 0x0000 ,pdata 
+0x4ec6 019921 istore 2 ,contw 
+0x4ec7 019922 setarg 12 
+0x4ec8 019923 branch connect_req_update_byte_counts 
+:      019924 connect_pending:
+0x4ec9 019925 istore 2 ,contw 
+0x4eca 019926 force 0x0002 ,pdata 
+0x4ecb 019927 istore 2 ,contw 
+0x4ecc 019928 setarg 12 
+0x4ecd 019929 branch connect_req_update_byte_counts 
+:      019931 already_connected:
+0x4ece 019932 set1 0 ,debug 
+0x4ecf 019933 branch send_connection_res 
+:      019934 connect_req_update_byte_counts:
+0x4ed0 019935 iadd regb ,regb 
+0x4ed1 019936 copy regc ,pdata 
+0x4ed2 019937 isub rega ,regc 
+0x4ed3 019938 branch l2cap_proc_signal_connect_req_rtn 
+:      019939 l2cap_proc_signal_connect_req_rtn:
+0x4ed4 019940 branch l2cap_process_one_signal_rtn 
+:      019942 l2cap_proc_signal_connect_rsp:
+0x4ed5 019943 ifetch 1 ,contr 
+0x4ed6 019944 copy pdata ,queue 
+0x4ed7 019945 ifetch 2 ,contr 
+0x4ed8 019946 copy pdata ,rega 
+0x4ed9 019947 copy regc ,pdata 
+0x4eda 019948 isub rega ,regc 
+0x4edb 019949 ifetch 2 ,contr 
+0x4edc 019950 copy pdata ,timeup 
+0x4edd 019951 ifetch 2 ,contr 
+0x4ede 019952 copy pdata ,temp 
+0x4edf 019953 bpatchx patch22_1 ,mem_patch22 
+0x4ee0 019954 setarg l2cap_sdp_channel 
+0x4ee1 019955 isub temp ,null 
+0x4ee2 019956 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x4ee3 019957 setarg l2cap_rfcomm_channel 
+0x4ee4 019958 isub temp ,null 
+0x4ee5 019959 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x4ee6 019960 setarg l2cap_hid_control_channel 
+0x4ee7 019961 isub temp ,null 
+0x4ee8 019962 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x4ee9 019963 setarg l2cap_hid_interrupt_channel 
+0x4eea 019964 isub temp ,null 
+0x4eeb 019965 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x4eec 019966 rtn 
+:      019968 l2cap_proc_signal_connect_rsp_sdp:
+0x4eed 019969 copy timeup ,pdata 
+0x4eee 019970 store 2 ,mem_sdp_remote_cid 
+0x4eef 019971 fetch 1 ,mem_sdp_state 
+0x4ef0 019972 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef1 019973 store 1 ,mem_sdp_state 
+0x4ef2 019974 branch l2cap_process_one_signal_rtn 
+:      019975 l2cap_proc_signal_connect_rsp_rfcomm:
+0x4ef3 019976 copy timeup ,pdata 
+0x4ef4 019977 store 2 ,mem_rfcomm_remote_cid 
+0x4ef5 019978 fetch 1 ,mem_rfcomm_state 
+0x4ef6 019979 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef7 019980 store 1 ,mem_rfcomm_state 
+0x4ef8 019981 rtn 
+:      019982 l2cap_proc_signal_connect_rsp_hid_int:
+0x4ef9 019983 copy timeup ,pdata 
+0x4efa 019984 store 2 ,mem_hid_ctrl_remote_cid 
+0x4efb 019985 fetch 1 ,mem_hid_interrupt_state 
+0x4efc 019986 set1 l2cap_channel_state_conn_res ,pdata 
+0x4efd 019987 store 1 ,mem_hid_interrupt_state 
+0x4efe 019988 rtn 
+:      019989 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x4eff 019990 copy timeup ,pdata 
+0x4f00 019991 store 2 ,mem_hid_int_remote_cid 
+0x4f01 019992 fetch 1 ,mem_hid_control_state 
+0x4f02 019993 set1 l2cap_channel_state_conn_res ,pdata 
+0x4f03 019994 store 1 ,mem_hid_control_state 
+0x4f04 019995 rtn 
+:      019997 l2cap_proc_signal_config_req:
+0x4f05 019998 ifetch 1 ,contr 
+0x4f06 019999 copy pdata ,queue 
+0x4f07 020000 ifetch 2 ,contr 
+0x4f08 020001 copy pdata ,rega 
+0x4f09 020002 copy regc ,pdata 
+0x4f0a 020003 isub rega ,regc 
+0x4f0b 020004 ifetch 2 ,contr 
+0x4f0c 020005 copy pdata ,temp 
+0x4f0d 020006 copy temp ,rega 
+0x4f0e 020007 bpatchx patch22_2 ,mem_patch22 
+0x4f0f 020008 setarg l2cap_sdp_channel 
+0x4f10 020009 isub temp ,null 
+0x4f11 020010 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x4f12 020011 setarg l2cap_rfcomm_channel 
+0x4f13 020012 isub temp ,null 
+0x4f14 020013 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x4f15 020014 setarg l2cap_hid_control_channel 
+0x4f16 020015 isub temp ,null 
+0x4f17 020016 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x4f18 020017 setarg l2cap_hid_interrupt_channel 
+0x4f19 020018 isub temp ,null 
+0x4f1a 020019 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x4f1b 020020 branch l2cap_reject_command 
+:      020022 l2cap_proc_signal_config_req_sdp:
+0x4f1c 020023 copy contw ,timeup 
+0x4f1d 020024 fetch 1 ,mem_sdp_state 
+0x4f1e 020025 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f1f 020026 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f20 020028 store 1 ,mem_sdp_state 
+0x4f21 020029 copy timeup ,contw 
+0x4f22 020030 arg l2cap_sdp_channel ,timeup 
+0x4f23 020031 fetch 2 ,mem_sdp_remote_cid 
+0x4f24 020032 copy pdata ,temp 
+0x4f25 020033 branch l2cap_send_config_rsp 
+:      020034 l2cap_proc_signal_config_req_hid_ctrl:
+0x4f26 020035 copy contw ,timeup 
+0x4f27 020036 fetch 1 ,mem_hid_control_state 
+0x4f28 020037 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f29 020038 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f2a 020040 store 1 ,mem_hid_control_state 
+0x4f2b 020041 copy timeup ,contw 
+0x4f2c 020042 arg l2cap_hid_control_channel ,timeup 
+0x4f2d 020043 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f2e 020044 copy pdata ,temp 
+0x4f2f 020045 branch l2cap_send_config_rsp 
+:      020046 l2cap_proc_signal_config_req_hid_int:
+0x4f30 020047 copy contw ,timeup 
+0x4f31 020048 fetch 1 ,mem_hid_interrupt_state 
+0x4f32 020049 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f33 020050 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f34 020052 store 1 ,mem_hid_interrupt_state 
+0x4f35 020053 copy timeup ,contw 
+0x4f36 020054 arg l2cap_hid_interrupt_channel ,timeup 
+0x4f37 020055 fetch 2 ,mem_hid_int_remote_cid 
+0x4f38 020056 copy pdata ,temp 
+0x4f39 020057 branch l2cap_send_config_rsp 
+:      020058 l2cap_proc_signal_config_req_rfcomm:
+0x4f3a 020059 copy contw ,timeup 
+0x4f3b 020060 fetch 1 ,mem_rfcomm_state 
+0x4f3c 020061 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f3d 020062 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f3e 020064 store 1 ,mem_rfcomm_state 
+0x4f3f 020066 copy timeup ,contw 
+0x4f40 020067 arg l2cap_rfcomm_channel ,timeup 
+0x4f41 020068 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f42 020069 copy pdata ,temp 
+:      020070 l2cap_send_config_rsp:
+0x4f43 020071 bpatchx patch22_3 ,mem_patch22 
+0x4f44 020072 setarg signal_config_rsp 
+0x4f45 020073 istore 1 ,contw 
+0x4f46 020074 copy queue ,pdata 
+0x4f47 020075 istore 1 ,contw 
+0x4f48 020076 setarg 0x0006 
+0x4f49 020077 istore 2 ,contw 
+0x4f4a 020078 copy temp ,pdata 
+0x4f4b 020079 istore 2 ,contw 
+0x4f4c 020080 force 0x00 ,pdata 
+0x4f4d 020081 istore 2 ,contw 
+0x4f4e 020082 force l2cap_config_success ,pdata 
+0x4f4f 020083 istore 2 ,contw 
+0x4f50 020084 force 10 ,pdata 
+0x4f51 020085 iadd regb ,regb 
+0x4f52 020087 storet 2 ,mem_config_req_dest_cid 
+0x4f53 020088 copy queue ,pdata 
+0x4f54 020089 store 1 ,mem_config_identifier 
+0x4f55 020090 force l2cap_sdp_channel ,pdata 
+0x4f56 020091 icompare 0xff ,timeup 
+0x4f57 020092 branch l2cap_send_config_rsp_is_sdp ,true 
+0x4f58 020093 increase 1 ,pdata 
+:      020094 l2cap_send_config_rsp_is_sdp:
+0x4f59 020096 rtn 
+:      020097 l2cap_check_channel_state:
+0x4f5a 020098 disable user 
+0x4f5b 020099 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5c 020100 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x4f5d 020101 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x4f5e 020102 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5f 020103 copy contr ,contw 
+0x4f60 020104 increase -1 ,contw 
+0x4f61 020105 istore 1 ,contw 
+0x4f62 020106 enable user 
+0x4f63 020107 rtn 
+:      020108 l2cap_send_config_req:
+:      020109 l2cap_send_config_req_sdp:
+0x4f64 020110 fetch 1 ,mem_sdp_state 
+0x4f65 020111 call l2cap_check_channel_state 
+0x4f66 020112 nbranch l2cap_send_config_req_rfcomm ,user 
+0x4f67 020113 jam l2cap_sdp_channel ,mem_send_config_req 
+0x4f68 020114 fetch 2 ,mem_sdp_remote_cid 
+0x4f69 020115 store 2 ,mem_config_req_dest_cid 
+0x4f6a 020116 branch l2cap_generate_config_req 
+:      020117 l2cap_send_config_req_rfcomm:
+0x4f6b 020118 fetch 1 ,mem_rfcomm_state 
+0x4f6c 020119 call l2cap_check_channel_state 
+0x4f6d 020120 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x4f6e 020121 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x4f6f 020122 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f70 020123 store 2 ,mem_config_req_dest_cid 
+0x4f71 020124 branch l2cap_generate_config_req 
+:      020125 l2cap_send_config_req_hid_ctrl:
+0x4f72 020126 fetch 1 ,mem_hid_control_state 
+0x4f73 020127 call l2cap_check_channel_state 
+0x4f74 020128 nbranch l2cap_send_config_req_hid_int ,user 
+0x4f75 020129 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x4f76 020130 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f77 020131 store 2 ,mem_config_req_dest_cid 
+0x4f78 020132 branch l2cap_generate_config_req 
+:      020133 l2cap_send_config_req_hid_int:
+0x4f79 020134 fetch 1 ,mem_hid_interrupt_state 
+0x4f7a 020135 call l2cap_check_channel_state 
+0x4f7b 020136 nrtn user 
+0x4f7c 020137 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x4f7d 020138 fetch 2 ,mem_hid_int_remote_cid 
+0x4f7e 020139 store 2 ,mem_config_req_dest_cid 
+:      020142 l2cap_generate_config_req:
+0x4f7f 020143 bpatchx patch22_4 ,mem_patch22 
+0x4f80 020144 call l2cap_get_req_id 
+0x4f81 020145 call l2cap_malloc_signal_channel 
+0x4f82 020146 force 0 ,regb 
+0x4f83 020147 call l2cap_get_signal_tx_payload 
+0x4f84 020148 force signal_config_req ,pdata 
+0x4f85 020149 istore 1 ,contw 
+0x4f86 020150 fetch 1 ,mem_ml2cap_comm_id 
+0x4f87 020151 istore 1 ,contw 
+0x4f88 020152 setarg 0x0008 
+0x4f89 020153 istore 2 ,contw 
+0x4f8a 020154 fetch 2 ,mem_config_req_dest_cid 
+0x4f8b 020155 istore 2 ,contw 
+0x4f8c 020156 setarg 0x0000 
+0x4f8d 020157 istore 2 ,contw 
+0x4f8e 020158 force 1 ,pdata 
+0x4f8f 020159 istore 1 ,contw 
+0x4f90 020160 force 2 ,pdata 
+0x4f91 020161 istore 1 ,contw 
+0x4f92 020162 fetch 1 ,mem_send_config_req 
+0x4f93 020163 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x4f94 020164 setarg l2cap_config_mtu_sdp 
+0x4f95 020165 istore 2 ,contw 
+0x4f96 020166 branch l2cap_generate_config_req_done 
+:      020167 l2cap_generate_config_req_rfcomm:
+0x4f97 020168 setarg l2cap_config_mtu_rfcomm 
+0x4f98 020169 istore 2 ,contw 
+:      020170 l2cap_generate_config_req_done:
+0x4f99 020171 arg 0x0c ,temp 
+0x4f9a 020172 storet 2 ,mem_l2cap_signal_tx_length 
+0x4f9b 020173 call l2cap_get_signal_tx_buff 
+0x4f9c 020174 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4f9d 020175 istore 2 ,contw 
+0x4f9e 020176 force l2cap_signal_channel ,pdata 
+0x4f9f 020177 istore 2 ,contw 
+0x4fa0 020178 jam 0 ,mem_send_config_req 
+:      020179 l2cap_proc_signal_config_req_rtn:
+0x4fa1 020180 branch l2cap_process_one_signal_rtn 
+:      020182 l2cap_proc_signal_config_rsp:
+0x4fa2 020183 increase 1 ,contr 
+0x4fa3 020184 ifetch 2 ,contr 
+0x4fa4 020185 copy pdata ,rega 
+0x4fa5 020186 copy regc ,pdata 
+0x4fa6 020187 isub rega ,regc 
+0x4fa7 020188 ifetch 2 ,contr 
+0x4fa8 020189 copy pdata ,rega 
+0x4fa9 020190 bpatchx patch22_5 ,mem_patch22 
+0x4faa 020191 setarg l2cap_sdp_channel 
+0x4fab 020192 isub rega ,null 
+0x4fac 020193 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x4fad 020194 setarg l2cap_rfcomm_channel 
+0x4fae 020195 isub rega ,null 
+0x4faf 020196 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x4fb0 020197 setarg l2cap_hid_control_channel 
+0x4fb1 020198 isub rega ,null 
+0x4fb2 020199 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x4fb3 020200 setarg l2cap_hid_interrupt_channel 
+0x4fb4 020201 isub rega ,null 
+0x4fb5 020202 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x4fb6 020203 increase 2 ,contr 
+0x4fb7 020204 ifetch 2 ,contr 
+0x4fb8 020205 iforce null 
+0x4fb9 020206 branch l2cap_process_one_signal_rtn 
+:      020207 l2cap_proc_signal_config_rsp_sdp:
+0x4fba 020208 fetch 1 ,mem_sdp_state 
+0x4fbb 020209 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fbc 020210 store 1 ,mem_sdp_state 
+0x4fbd 020211 branch l2cap_process_one_signal_rtn 
+:      020212 l2cap_proc_signal_config_rsp_rfcomm:
+0x4fbe 020213 fetch 1 ,mem_rfcomm_state 
+0x4fbf 020214 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc0 020215 store 1 ,mem_rfcomm_state 
+0x4fc1 020216 branch l2cap_process_one_signal_rtn 
+:      020217 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x4fc2 020218 fetch 1 ,mem_hid_control_state 
+0x4fc3 020219 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc4 020220 store 1 ,mem_hid_control_state 
+0x4fc5 020221 branch l2cap_process_one_signal_rtn 
+:      020222 l2cap_proc_signal_config_rsp_hid_int:
+0x4fc6 020223 fetch 1 ,mem_hid_interrupt_state 
+0x4fc7 020224 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc8 020225 store 1 ,mem_hid_interrupt_state 
+0x4fc9 020226 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x4fca 020227 branch ui_ipc_send_event 
+:      020231 l2cap_proc_signal_disconnect_req:
+0x4fcb 020232 ifetch 1 ,contr 
+0x4fcc 020233 copy pdata ,queue 
+0x4fcd 020234 ifetch 2 ,contr 
+0x4fce 020235 copy pdata ,rega 
+0x4fcf 020236 copy regc ,pdata 
+0x4fd0 020237 isub rega ,regc 
+0x4fd1 020238 ifetch 2 ,contr 
+0x4fd2 020239 copy pdata ,rega 
+0x4fd3 020240 ifetch 2 ,contr 
+0x4fd4 020241 copy pdata ,timeup 
+0x4fd5 020242 copy rega ,temp 
+0x4fd6 020243 call save_cont_pointers 
+0x4fd7 020244 bpatchx patch22_6 ,mem_patch22 
+0x4fd8 020245 setarg l2cap_sdp_channel 
+0x4fd9 020246 isub temp ,null 
+0x4fda 020247 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x4fdb 020248 setarg l2cap_rfcomm_channel 
+0x4fdc 020249 isub temp ,null 
+0x4fdd 020250 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x4fde 020251 setarg l2cap_hid_control_channel 
+0x4fdf 020252 isub temp ,null 
+0x4fe0 020253 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x4fe1 020254 setarg l2cap_hid_interrupt_channel 
+0x4fe2 020255 isub temp ,null 
+0x4fe3 020256 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x4fe4 020257 call l2cap_reject_command 
+0x4fe5 020258 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020259 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x4fe6 020260 copy timeup ,temp 
+0x4fe7 020261 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4fe8 020262 isub temp ,null 
+0x4fe9 020263 branch l2cap_disconnect_hid_control_now ,zero 
+0x4fea 020264 call l2cap_reject_command 
+0x4feb 020265 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020266 l2cap_proc_signal_disconnect_req_hid_int:
+0x4fec 020267 copy timeup ,temp 
+0x4fed 020268 fetch 2 ,mem_hid_int_remote_cid 
+0x4fee 020269 isub temp ,null 
+0x4fef 020270 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x4ff0 020271 call l2cap_reject_command 
+0x4ff1 020272 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020274 l2cap_proc_signal_disconnect_req_sdp:
+0x4ff2 020275 copy timeup ,temp 
+0x4ff3 020276 fetch 2 ,mem_sdp_remote_cid 
+0x4ff4 020277 isub temp ,null 
+0x4ff5 020278 branch l2cap_disconnect_sdp_now ,zero 
+0x4ff6 020279 call l2cap_reject_command 
+0x4ff7 020280 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020281 l2cap_disconnect_hid_control_now:
+0x4ff8 020282 call l2cap_reset_hid_ctrl_state 
+0x4ff9 020283 branch l2cap_send_disconnect_rsp_pkt 
+:      020284 l2cap_disconnect_hid_interrupt_now:
+0x4ffa 020285 call l2cap_reset_hid_int_state 
+0x4ffb 020286 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4ffc 020287 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x4ffd 020295 branch l2cap_send_disconnect_rsp_pkt 
+:      020297 l2cap_disconnect_sdp_now:
+0x4ffe 020298 call l2cap_reset_sdp_channel_state 
+0x4fff 020299 fetch 1 ,mem_upper_sm_ss 
+0x5000 020300 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x5001 020303 branch l2cap_send_disconnect_rsp_pkt 
+:      020304 l2cap_proc_signal_disconnect_req_rfcomm:
+0x5002 020305 copy timeup ,temp 
+0x5003 020306 fetch 2 ,mem_rfcomm_remote_cid 
+0x5004 020307 isub temp ,null 
+0x5005 020308 branch l2cap_disconnect_rfcomm_now ,zero 
+0x5006 020309 call l2cap_reject_command 
+0x5007 020310 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      020311 l2cap_disconnect_rfcomm_now:
+0x5008 020312 call l2cap_reset_rfcomm_channel_state 
+0x5009 020313 branch l2cap_send_disconnect_rsp_pkt 
+:      020314 l2cap_send_disconnect_rsp_pkt:
+0x500a 020315 call load_cont_pointers 
+0x500b 020316 setarg signal_disconnect_rsp 
+0x500c 020317 istore 1 ,contw 
+0x500d 020318 copy queue ,pdata 
+0x500e 020319 istore 1 ,contw 
+0x500f 020320 setarg 0x0004 
+0x5010 020321 istore 2 ,contw 
+0x5011 020322 copy rega ,pdata 
+0x5012 020323 istore 2 ,contw 
+0x5013 020324 copy timeup ,pdata 
+0x5014 020325 istore 2 ,contw 
+0x5015 020326 force 8 ,pdata 
+0x5016 020327 branch l2cap_proc_signal_disconnect_req_rtn 
+:      020328 l2cap_proc_signal_disconnect_req_err_rtn:
+0x5017 020329 call load_cont_pointers 
+0x5018 020330 branch l2cap_proc_signal_disconnect_req_rtn 
+:      020331 l2cap_proc_signal_disconnect_req_rtn:
+0x5019 020332 iadd regb ,regb 
+0x501a 020333 branch l2cap_process_one_signal_rtn 
+:      020334 l2cap_proc_signal_disconnect_rsp:
+0x501b 020335 ifetch 1 ,contr 
+0x501c 020336 copy pdata ,queue 
+0x501d 020337 ifetch 2 ,contr 
+0x501e 020338 copy pdata ,rega 
+0x501f 020339 copy regc ,pdata 
+0x5020 020340 isub rega ,regc 
+0x5021 020341 ifetch 2 ,contr 
+0x5022 020342 copy pdata ,timeup 
+0x5023 020343 ifetch 2 ,contr 
+0x5024 020344 copy pdata ,temp 
+0x5025 020345 call save_cont_pointers 
+0x5026 020346 bpatchx patch22_7 ,mem_patch22 
+0x5027 020347 setarg l2cap_sdp_channel 
+0x5028 020348 isub temp ,null 
+0x5029 020349 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x502a 020350 setarg l2cap_rfcomm_channel 
+0x502b 020351 isub temp ,null 
+0x502c 020352 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x502d 020353 setarg l2cap_hid_control_channel 
+0x502e 020354 isub temp ,null 
+0x502f 020355 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x5030 020356 setarg l2cap_hid_interrupt_channel 
+0x5031 020357 isub temp ,null 
+0x5032 020358 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x5033 020359 call l2cap_reject_command 
+0x5034 020360 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      020361 l2cap_proc_signal_disconnect_rsp_sdp:
+0x5035 020362 copy temp ,rega 
+0x5036 020363 copy timeup ,temp 
+0x5037 020364 fetch 2 ,mem_sdp_remote_cid 
+0x5038 020365 isub temp ,null 
+0x5039 020366 call l2cap_reset_sdp_channel_state ,zero 
+0x503a 020367 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020368 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x503b 020369 copy temp ,rega 
+0x503c 020370 copy timeup ,temp 
+0x503d 020371 fetch 2 ,mem_rfcomm_remote_cid 
+0x503e 020372 isub temp ,null 
+0x503f 020373 call l2cap_reset_rfcomm_channel_state ,zero 
+0x5040 020374 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020375 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x5041 020376 copy temp ,rega 
+0x5042 020377 copy timeup ,temp 
+0x5043 020378 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5044 020379 isub temp ,null 
+0x5045 020380 call l2cap_reset_hid_ctrl_state ,zero 
+0x5046 020381 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020382 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5047 020383 copy temp ,rega 
+0x5048 020384 copy timeup ,temp 
+0x5049 020385 fetch 2 ,mem_hid_int_remote_cid 
+0x504a 020386 isub temp ,null 
+0x504b 020387 call l2cap_reset_hid_int_state ,zero 
+0x504c 020388 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      020389 l2cap_proc_signal_disconnect_rsp_rtn:
+0x504d 020390 call load_cont_pointers 
+0x504e 020391 branch l2cap_process_one_signal_rtn 
+:      020392 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x504f 020393 branch l2cap_process_one_signal_rtn 
+:      020396 l2cap_proc_signal_echo_req:
+0x5050 020397 ifetch 1 ,contr 
+0x5051 020398 copy pdata ,queue 
+0x5052 020399 ifetch 2 ,contr 
+0x5053 020400 copy pdata ,rega 
+0x5054 020401 iadd contr ,contr 
+0x5055 020402 setarg 9 
+0x5056 020403 istore 1 ,contw 
+0x5057 020404 copy queue ,pdata 
+0x5058 020405 istore 1 ,contw 
+0x5059 020406 force 0x0000 ,pdata 
+0x505a 020407 istore 2 ,contw 
+0x505b 020408 force 4 ,pdata 
+0x505c 020409 iadd regb ,regb 
+0x505d 020410 copy regc ,pdata 
+0x505e 020411 isub rega ,regc 
+0x505f 020412 branch l2cap_process_one_signal_rtn 
+:      020413 l2cap_proc_signal_echo_rsp:
+0x5060 020414 branch l2cap_process_one_signal_rtn 
+:      020416 l2cap_proc_signal_info_rsp:
+0x5061 020417 branch l2cap_process_one_signal_rtn 
+:      020418 l2cap_reject_command:
+0x5062 020419 force 0 ,regb 
+0x5063 020420 call l2cap_get_signal_tx_payload 
+0x5064 020421 setarg signal_cmd_reject 
+0x5065 020422 istore 1 ,contw 
+0x5066 020423 copy queue ,pdata 
+0x5067 020424 istore 1 ,contw 
+0x5068 020425 setarg 2 
+0x5069 020426 istore 2 ,contw 
+0x506a 020427 setarg cmd_not_understood 
+0x506b 020428 istore 2 ,contw 
+0x506c 020429 increase 6 ,regb 
+0x506d 020430 arg 4 ,regc 
+0x506e 020431 branch l2cap_process_one_signal_rtn 
+:      020435 l2cap_reset_rfcomm_channel_state:
+0x506f 020436 setarg 0 
+0x5070 020437 store 2 ,mem_rfcomm_tx_pkt_length 
+0x5071 020438 store 2 ,mem_rfcomm_remote_cid 
+0x5072 020439 jam 0 ,mem_rfcomm_state 
+0x5073 020440 rtn 
+:      020441 l2cap_reset_sdp_channel_state:
+0x5074 020442 setarg 0 
+0x5075 020443 store 2 ,mem_sdp_tx_pkt_length 
+0x5076 020444 store 2 ,mem_sdp_remote_cid 
+0x5077 020445 jam 0 ,mem_sdp_state 
+0x5078 020446 rtn 
+:      020447 l2cap_reset_hid_ctrl_state:
+0x5079 020448 setarg 0 
+0x507a 020449 store 2 ,mem_hid_ctrl_remote_cid 
+0x507b 020450 jam 0 ,mem_hid_control_state 
+0x507c 020451 fetch 1 ,mem_hid_interrupt_state 
+0x507d 020452 beq 0 ,l2cap_reset_hid_disconnected 
+0x507e 020453 rtn 
+:      020455 l2cap_reset_hid_int_state:
+0x507f 020456 setarg 0 
+0x5080 020457 store 2 ,mem_hid_int_remote_cid 
+0x5081 020458 jam 0 ,mem_hid_interrupt_state 
+0x5082 020459 fetch 1 ,mem_hid_control_state 
+0x5083 020460 beq 0 ,l2cap_reset_hid_disconnected 
+0x5084 020461 rtn 
+:      020463 l2cap_reset_hid_disconnected:
+0x5085 020464 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5086 020465 branch ui_ipc_send_event 
+:      020467 l2cap_disconnect_interrupt_req:
+0x5087 020468 fetch 1 ,mem_control_tasks 
+0x5088 020469 set0 l2cap_disconnect_interrupt ,pdata 
+0x5089 020470 store 1 ,mem_control_tasks 
+0x508a 020471 fetch 2 ,mem_hid_int_remote_cid 
+0x508b 020472 rtn blank 
+0x508c 020473 call l2cap_malloc_signal_channel 
+0x508d 020474 fetch 2 ,mem_hid_int_remote_cid 
+0x508e 020475 copy pdata ,rega 
+0x508f 020476 force l2cap_hid_interrupt_channel ,regb 
+0x5090 020477 branch l2cap_generate_disconnect_req 
+:      020478 l2cap_disconnect_control_req:
+0x5091 020479 fetch 1 ,mem_control_tasks 
+0x5092 020480 set0 l2cap_disconnect_control ,pdata 
+0x5093 020481 store 1 ,mem_control_tasks 
+0x5094 020482 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5095 020483 rtn blank 
+0x5096 020484 call l2cap_malloc_signal_channel 
+0x5097 020485 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5098 020486 copy pdata ,rega 
+0x5099 020487 force l2cap_hid_control_channel ,regb 
+:      020488 l2cap_generate_disconnect_req:
+0x509a 020489 call l2cap_get_req_id 
+0x509b 020490 call l2cap_get_signal_tx_payload 
+0x509c 020491 force signal_disconnect_req ,pdata 
+0x509d 020492 istore 1 ,contw 
+0x509e 020493 fetch 1 ,mem_ml2cap_comm_id 
+0x509f 020494 istore 1 ,contw 
+0x50a0 020495 setarg 0x0004 
+0x50a1 020496 istore 2 ,contw 
+0x50a2 020497 copy rega ,pdata 
+0x50a3 020498 istore 2 ,contw 
+0x50a4 020499 copy regb ,pdata 
+0x50a5 020500 istore 2 ,contw 
+0x50a6 020501 force 0x08 ,temp 
+0x50a7 020502 branch ml2cap_send_signal 
+:      020504 ml2cap_send_signal_connect_req:
+0x50a8 020505 bpatchx patch23_0 ,mem_patch23 
+0x50a9 020506 call l2cap_get_req_id 
+0x50aa 020507 call l2cap_get_signal_tx_payload 
+0x50ab 020508 setarg signal_connect_req 
+0x50ac 020509 istore 1 ,contw 
+0x50ad 020510 fetch 1 ,mem_ml2cap_comm_id 
+0x50ae 020511 istore 1 ,contw 
+0x50af 020512 setarg 0x0004 
+0x50b0 020513 istore 2 ,contw 
+0x50b1 020514 copy temp ,pdata 
+0x50b2 020515 istore 2 ,contw 
+0x50b3 020516 copy timeup ,pdata 
+0x50b4 020517 istore 2 ,contw 
+0x50b5 020518 arg 8 ,temp 
+0x50b6 020519 branch ml2cap_send_signal 
+:      020520 ml2cap_send_signal_config_req:
+0x50b7 020521 bpatchx patch23_1 ,mem_patch23 
+0x50b8 020522 call l2cap_get_req_id 
+0x50b9 020523 call l2cap_get_signal_tx_payload 
+0x50ba 020524 setarg signal_config_req 
+0x50bb 020525 istore 1 ,contw 
+0x50bc 020526 fetch 1 ,mem_ml2cap_comm_id 
+0x50bd 020527 istore 1 ,contw 
+0x50be 020528 setarg 0x0008 
+0x50bf 020529 istore 2 ,contw 
+0x50c0 020531 copy temp ,pdata 
+0x50c1 020533 istore 2 ,contw 
+0x50c2 020534 setarg 0x0000 
+0x50c3 020535 istore 2 ,contw 
+0x50c4 020536 setarg 0x01 
+0x50c5 020537 istore 1 ,contw 
+0x50c6 020538 setarg 0x02 
+0x50c7 020539 istore 1 ,contw 
+0x50c8 020540 setarg l2cap_config_mtu_rfcomm 
+0x50c9 020541 istore 2 ,contw 
+0x50ca 020542 arg 0xc ,temp 
+0x50cb 020543 branch ml2cap_send_signal 
+:      020544 ml2cap_send_signal_disconn_req:
+0x50cc 020545 bpatchx patch23_2 ,mem_patch23 
+0x50cd 020546 call l2cap_get_req_id 
+0x50ce 020547 call l2cap_get_signal_tx_payload 
+0x50cf 020548 setarg signal_disconnect_req 
+0x50d0 020549 istore 1 ,contw 
+0x50d1 020550 fetch 1 ,mem_ml2cap_comm_id 
+0x50d2 020551 increase 1 ,pdata 
+0x50d3 020552 copy contw ,rega 
+0x50d4 020553 store 1 ,mem_ml2cap_comm_id 
+0x50d5 020554 copy rega ,contw 
+0x50d6 020555 istore 1 ,contw 
+0x50d7 020556 setarg 0x0004 
+0x50d8 020557 istore 2 ,contw 
+0x50d9 020558 copy temp ,pdata 
+0x50da 020559 istore 2 ,contw 
+0x50db 020560 copy timeup ,pdata 
+0x50dc 020561 istore 2 ,contw 
+0x50dd 020562 arg 0x8 ,temp 
+:      020565 ml2cap_send_signal:
+0x50de 020566 storet 2 ,mem_l2cap_signal_tx_length 
+0x50df 020567 copy temp ,pdata 
+0x50e0 020568 branch l2cap_malloc_discard ,blank 
+0x50e1 020569 call l2cap_get_signal_tx_buff 
+0x50e2 020570 fetch 2 ,mem_l2cap_signal_tx_length 
+0x50e3 020571 istore 2 ,contw 
+0x50e4 020572 force l2cap_signal_channel ,pdata 
+0x50e5 020573 istore 2 ,contw 
+0x50e6 020574 rtn 
+:      020576 msdp_send_req_done:
+0x50e7 020577 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50e8 020578 branch assert ,blank 
+0x50e9 020579 call l2cap_get_sdp_tx_buff 
+0x50ea 020580 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50eb 020581 istore 2 ,contw 
+0x50ec 020582 fetch 2 ,mem_sdp_remote_cid 
+0x50ed 020583 istore 2 ,contw 
+0x50ee 020584 rtn 
+:      020585 ml2cap_rx_multiplexing:
+0x50ef 020586 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50f0 020587 branch l2cap_rx_reset_state ,blank 
+0x50f1 020588 bpatchx patch23_3 ,mem_patch23 
+0x50f2 020589 fetch 1 ,mem_l2cap_rx_cid 
+0x50f3 020590 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x50f4 020591 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x50f5 020592 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x50f6 020593 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x50f7 020594 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x50f8 020595 branch l2cap_rx_reset_state 
+:      020597 ml2cap_call_proc_signal:
+0x50f9 020598 bpatchx patch23_4 ,mem_patch23 
+0x50fa 020599 call l2cap_malloc_signal_channel 
+0x50fb 020600 force 0 ,regb 
+0x50fc 020601 call l2cap_get_signal_tx_payload 
+0x50fd 020602 copy pdata ,contw 
+0x50fe 020603 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50ff 020604 copy pdata ,regc 
+0x5100 020605 fetch 2 ,mem_l2cap_payload_ptr 
+0x5101 020606 iforce contr 
+:      020607 ml2cap_proc_one_comm_loop:
+0x5102 020608 call ml2cap_proc_one_comm 
+0x5103 020609 increase -4 ,regc 
+0x5104 020610 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x5105 020611 copy regb ,temp 
+0x5106 020612 call ml2cap_send_signal 
+0x5107 020613 branch l2cap_rx_reset_state 
+:      020615 ml2cap_proc_one_comm:
+0x5108 020616 ifetch 1 ,contr 
+0x5109 020617 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x510a 020618 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x510b 020619 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x510c 020620 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x510d 020621 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x510e 020622 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x510f 020623 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x5110 020624 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x5111 020625 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x5112 020626 branch ml2cap_proc_send_reject 
+:      020628 ml2cap_proc_signal_connect_req:
+0x5113 020629 call save_cont_pointers 
+0x5114 020631 call load_cont_pointers 
+0x5115 020632 branch l2cap_proc_signal_connect_req 
+:      020633 ml2cap_proc_signal_cmd_reject:
+0x5116 020634 ifetch 1 ,contr 
+0x5117 020635 copy pdata ,queue 
+0x5118 020636 ifetch 2 ,contr 
+0x5119 020637 copy pdata ,rega 
+0x511a 020638 copy regc ,pdata 
+0x511b 020639 isub rega ,regc 
+:      020640 mvptr:
+0x511c 020641 ifetch 1 ,contr 
+0x511d 020642 increase -1 ,rega 
+0x511e 020643 nbranch mvptr ,zero 
+0x511f 020644 rtn 
+:      020645 ml2cap_proc_signal_connect_rsp:
+0x5120 020646 ifetch 1 ,contr 
+0x5121 020647 copy pdata ,queue 
+0x5122 020648 ifetch 2 ,contr 
+0x5123 020649 copy pdata ,rega 
+0x5124 020650 ifetch 2 ,contr 
+0x5125 020651 copy pdata ,timeup 
+0x5126 020652 ifetch 2 ,contr 
+0x5127 020653 copy pdata ,temp 
+0x5128 020654 ifetch 2 ,contr 
+0x5129 020655 sub pdata ,0 ,null 
+0x512a 020656 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x512b 020657 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x512c 020658 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x512d 020659 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      020660 ml2cap_proc_signal_connect_refused_result:
+0x512e 020661 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x512f 020662 call ui_ipc_send_event 
+:      020663 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x5130 020664 ifetch 2 ,contr 
+0x5131 020665 branch mnosucc 
+:      020666 ml2cap_proc_signal_connect_rsp_sucessful:
+0x5132 020667 call save_cont_pointers 
+0x5133 020671 bpatchx patch23_5 ,mem_patch23 
+0x5134 020672 setarg l2cap_sdp_channel 
+0x5135 020673 isub temp ,null 
+0x5136 020674 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5137 020675 setarg l2cap_rfcomm_channel 
+0x5138 020676 isub temp ,null 
+0x5139 020677 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x513a 020678 setarg l2cap_hid_interrupt_channel 
+0x513b 020679 isub temp ,null 
+0x513c 020680 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x513d 020681 setarg l2cap_hid_control_channel 
+0x513e 020682 isub temp ,null 
+0x513f 020683 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x5140 020684 branch mnosucc 
+:      020685 ml2cap_proc_signal_connect_rsp_sdp:
+0x5141 020686 copy timeup ,pdata 
+0x5142 020687 store 2 ,mem_sdp_remote_cid 
+0x5143 020688 fetch 1 ,mem_sdp_state 
+0x5144 020689 set1 l2cap_channel_state_conn_res 
+0x5145 020690 store 1 ,mem_sdp_state 
+0x5146 020691 branch mnosucc1 
+:      020692 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5147 020693 copy timeup ,pdata 
+0x5148 020694 store 2 ,mem_rfcomm_remote_cid 
+0x5149 020695 fetch 1 ,mem_rfcomm_state 
+0x514a 020696 set1 l2cap_channel_state_conn_res 
+0x514b 020697 store 1 ,mem_rfcomm_state 
+0x514c 020698 branch mnosucc1 
+:      020699 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x514d 020700 copy timeup ,pdata 
+0x514e 020701 store 2 ,mem_hid_ctrl_remote_cid 
+0x514f 020702 fetch 1 ,mem_hid_control_state 
+0x5150 020703 set1 l2cap_channel_state_conn_res 
+0x5151 020704 store 1 ,mem_hid_control_state 
+0x5152 020705 branch mnosucc1 
+:      020706 ml2cap_proc_signal_connect_rsp_hid_int:
+0x5153 020707 copy timeup ,pdata 
+0x5154 020708 store 2 ,mem_hid_int_remote_cid 
+0x5155 020709 fetch 1 ,mem_hid_interrupt_state 
+0x5156 020710 set1 l2cap_channel_state_conn_res 
+0x5157 020711 store 1 ,mem_hid_interrupt_state 
+:      020714 mnosucc1:
+0x5158 020715 call load_cont_pointers 
+:      020716 mnosucc:
+0x5159 020717 copy regc ,pdata 
+0x515a 020718 isub rega ,regc 
+0x515b 020719 rtn 
+:      020721 ml2cap_proc_signal_config_rsp:
+0x515c 020722 ifetch 1 ,contr 
+0x515d 020723 copy pdata ,queue 
+0x515e 020724 ifetch 2 ,contr 
+0x515f 020725 copy pdata ,rega 
+0x5160 020726 copy regc ,pdata 
+0x5161 020727 isub rega ,regc 
+0x5162 020728 ifetch 2 ,contr 
+0x5163 020729 copy pdata ,timeup 
+0x5164 020730 ifetch 2 ,contr 
+0x5165 020731 ifetch 2 ,contr 
+0x5166 020732 nbranch mcrsdone1 ,blank 
+0x5167 020733 call save_cont_pointers 
+0x5168 020737 copy timeup ,temp 
+0x5169 020738 bpatchx patch23_6 ,mem_patch23 
+0x516a 020739 setarg l2cap_sdp_channel 
+0x516b 020740 isub temp ,null 
+0x516c 020741 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x516d 020742 setarg l2cap_rfcomm_channel 
+0x516e 020743 isub temp ,null 
+0x516f 020744 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x5170 020745 setarg l2cap_hid_control_channel 
+0x5171 020746 isub temp ,null 
+0x5172 020747 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x5173 020748 setarg l2cap_hid_interrupt_channel 
+0x5174 020749 isub temp ,null 
+0x5175 020750 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      020751 ml2cap_proc_signal_config_rsp_sdp:
+0x5176 020752 fetch 1 ,mem_sdp_state 
+0x5177 020753 set1 l2cap_channel_state_rcv_cfg_res 
+0x5178 020754 store 1 ,mem_sdp_state 
+0x5179 020755 rtn 
+:      020756 ml2cap_proc_signal_config_rsp_rfcomm:
+0x517a 020757 fetch 1 ,mem_rfcomm_state 
+0x517b 020758 set1 l2cap_channel_state_rcv_cfg_res 
+0x517c 020759 store 1 ,mem_rfcomm_state 
+0x517d 020760 rtn 
+:      020761 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x517e 020762 fetch 1 ,mem_hid_control_state 
+0x517f 020763 set1 l2cap_channel_state_rcv_cfg_res 
+0x5180 020764 store 1 ,mem_hid_control_state 
+0x5181 020765 rtn 
+:      020766 ml2cap_proc_signal_config_rsp_hid_int:
+0x5182 020767 fetch 1 ,mem_hid_interrupt_state 
+0x5183 020768 set1 l2cap_channel_state_rcv_cfg_res 
+0x5184 020769 store 1 ,mem_hid_interrupt_state 
+0x5185 020770 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5186 020771 branch ui_ipc_send_event 
+:      020774 mcfrsdone:
+0x5187 020775 call load_cont_pointers 
+:      020776 mcrsdone1:
+0x5188 020777 increase -6 ,rega 
+:      020778 mloop2:
+0x5189 020779 branch mcrsdone ,zero 
+0x518a 020780 increase 1 ,contr 
+0x518b 020781 increase -1 ,rega 
+0x518c 020782 branch mloop2 
+:      020783 mcrsdone:
+0x518d 020784 rtn 
+:      020785 ml2cap_proc_signal_config_req:
+0x518e 020786 ifetch 1 ,contr 
+0x518f 020787 copy pdata ,queue 
+0x5190 020788 ifetch 2 ,contr 
+0x5191 020789 copy pdata ,rega 
+0x5192 020790 copy regc ,pdata 
+0x5193 020791 isub rega ,regc 
+0x5194 020792 ifetch 2 ,contr 
+0x5195 020793 increase 2 ,contr 
+0x5196 020794 copy pdata ,temp 
+0x5197 020795 setarg signal_config_rsp 
+0x5198 020796 istore 1 ,contw 
+0x5199 020797 copy queue ,pdata 
+0x519a 020798 istore 1 ,contw 
+0x519b 020799 increase 2 ,rega 
+0x519c 020800 copy rega ,pdata 
+0x519d 020801 istore 2 ,contw 
+0x519e 020802 call save_cont_pointers 
+0x519f 020803 bpatchx patch23_7 ,mem_patch23 
+0x51a0 020804 setarg l2cap_sdp_channel 
+0x51a1 020805 isub temp ,null 
+0x51a2 020806 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x51a3 020807 setarg l2cap_rfcomm_channel 
+0x51a4 020808 isub temp ,null 
+0x51a5 020809 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x51a6 020810 setarg l2cap_hid_control_channel 
+0x51a7 020811 isub temp ,null 
+0x51a8 020812 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x51a9 020813 setarg l2cap_hid_interrupt_channel 
+0x51aa 020814 isub temp ,null 
+0x51ab 020815 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x51ac 020816 branch mcfgrq_done 
+:      020817 ml2cap_proc_signal_config_req_sdp:
+0x51ad 020818 fetch 1 ,mem_sdp_state 
+0x51ae 020819 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51af 020820 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51b0 020821 store 1 ,mem_sdp_state 
+0x51b1 020822 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x51b2 020823 fetcht 1 ,mem_control_tasks 
+0x51b3 020824 set1 l2cap_init_config_req ,temp 
+0x51b4 020825 storet 1 ,mem_control_tasks 
+0x51b5 020826 copy queue ,pdata 
+0x51b6 020827 increase 1 ,pdata 
+0x51b7 020828 store 1 ,mem_config_identifier 
+0x51b8 020829 fetch 1 ,mem_sdp_state 
+0x51b9 020830 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x51ba 020831 store 1 ,mem_sdp_state 
+:      020832 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x51bb 020833 fetch 2 ,mem_sdp_remote_cid 
+0x51bc 020834 store 2 ,mem_config_req_dest_cid 
+0x51bd 020835 branch mcfgrq_done 
+:      020836 ml2cap_proc_signal_config_req_rfcomm:
+0x51be 020837 fetch 1 ,mem_rfcomm_state 
+0x51bf 020838 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c0 020839 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c1 020840 store 1 ,mem_rfcomm_state 
+0x51c2 020841 fetch 2 ,mem_rfcomm_remote_cid 
+0x51c3 020842 branch mcfgrq_done 
+:      020843 ml2cap_proc_signal_config_req_hid_ctrl:
+0x51c4 020844 fetch 1 ,mem_hid_control_state 
+0x51c5 020845 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c6 020846 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c7 020847 store 1 ,mem_hid_control_state 
+0x51c8 020848 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x51c9 020849 branch mcfgrq_done 
+:      020850 ml2cap_proc_signal_config_req_hid_int:
+0x51ca 020851 fetch 1 ,mem_hid_interrupt_state 
+0x51cb 020852 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51cc 020853 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51cd 020854 store 1 ,mem_hid_interrupt_state 
+0x51ce 020855 fetch 2 ,mem_hid_int_remote_cid 
+:      020858 mcfgrq_done:
+0x51cf 020859 copy pdata ,timeup 
+0x51d0 020860 call load_cont_pointers 
+0x51d1 020862 copy timeup ,pdata 
+0x51d2 020864 istore 2 ,contw 
+0x51d3 020865 force 0x0000 ,pdata 
+0x51d4 020866 istore 2 ,contw 
+0x51d5 020867 force 0x0000 ,pdata 
+0x51d6 020868 istore 2 ,contw 
+0x51d7 020869 force 10 ,pdata 
+0x51d8 020870 iadd regb ,regb 
+0x51d9 020871 increase -6 ,rega 
+:      020872 mloop1:
+0x51da 020873 branch mcrqdone ,zero 
+0x51db 020874 ifetch 1 ,contr 
+0x51dc 020875 istore 1 ,contw 
+0x51dd 020876 increase 1 ,regb 
+0x51de 020877 increase -1 ,rega 
+0x51df 020878 branch mloop1 
+:      020879 mcrqdone:
+0x51e0 020880 rtn 
+:      020881 ml2cap_proc_signal_disconn_req:
+0x51e1 020882 ifetch 1 ,contr 
+0x51e2 020883 copy pdata ,queue 
+0x51e3 020884 ifetch 2 ,contr 
+0x51e4 020885 copy pdata ,rega 
+0x51e5 020886 copy regc ,pdata 
+0x51e6 020887 isub rega ,regc 
+0x51e7 020889 ifetch 2 ,contr 
+0x51e8 020890 copy pdata ,rega 
+0x51e9 020891 ifetch 2 ,contr 
+0x51ea 020892 copy pdata ,timeup 
+0x51eb 020893 call save_cont_pointers 
+0x51ec 020894 bpatchx patch24_0 ,mem_patch24 
+0x51ed 020895 setarg l2cap_sdp_channel 
+0x51ee 020896 copy rega ,temp 
+0x51ef 020897 isub temp ,null 
+0x51f0 020898 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x51f1 020899 setarg l2cap_hid_control_channel 
+0x51f2 020900 copy rega ,temp 
+0x51f3 020901 isub temp ,null 
+0x51f4 020902 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x51f5 020903 setarg l2cap_hid_interrupt_channel 
+0x51f6 020904 copy rega ,temp 
+0x51f7 020905 isub temp ,null 
+0x51f8 020906 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x51f9 020907 branch mclsrfc 
+:      020908 ml2cap_proc_signal_disconn_sdp:
+0x51fa 020909 setarg 0x0000 
+0x51fb 020910 store 2 ,mem_sdp_tx_pkt_length 
+0x51fc 020911 store 2 ,mem_sdp_remote_cid 
+0x51fd 020912 store 1 ,mem_sdp_state 
+0x51fe 020913 branch mclssdp 
+:      020914 ml2cap_proc_signal_disconn_hid_ctrl:
+0x51ff 020915 call l2cap_reset_hid_ctrl_state 
+0x5200 020916 branch mclssdp 
+:      020917 ml2cap_proc_signal_disconn_hid_int:
+0x5201 020918 call l2cap_reset_hid_int_state 
+0x5202 020924 branch mclssdp 
+:      020925 mclsrfc:
+0x5203 020926 setarg 0x0000 
+0x5204 020927 store 2 ,mem_rfcomm_tx_pkt_length 
+:      020928 mclssdp:
+0x5205 020929 call load_cont_pointers 
+0x5206 020930 setarg signal_disconnect_rsp 
+0x5207 020931 istore 1 ,contw 
+0x5208 020932 copy queue ,pdata 
+0x5209 020933 istore 1 ,contw 
+0x520a 020934 setarg 0x0004 
+0x520b 020935 istore 2 ,contw 
+0x520c 020936 copy rega ,pdata 
+0x520d 020937 istore 2 ,contw 
+0x520e 020938 copy timeup ,pdata 
+0x520f 020939 istore 2 ,contw 
+0x5210 020940 force 8 ,pdata 
+0x5211 020941 iadd regb ,regb 
+0x5212 020942 rtn 
+:      020944 ml2cap_proc_signal_disconn_rsp:
+0x5213 020945 ifetch 1 ,contr 
+0x5214 020946 copy pdata ,queue 
+0x5215 020947 ifetch 2 ,contr 
+0x5216 020948 copy pdata ,rega 
+0x5217 020949 ifetch 2 ,contr 
+0x5218 020950 copy pdata ,timeup 
+0x5219 020951 ifetch 2 ,contr 
+0x521a 020952 copy pdata ,temp 
+0x521b 020953 call save_cont_pointers 
+0x521c 020954 bpatchx patch24_1 ,mem_patch24 
+0x521d 020955 fetch 1 ,mem_ml2cap_comm_id 
+0x521e 020956 icompare 0xff ,queue 
+0x521f 020957 nbranch mdisdone ,true 
+0x5220 020958 setarg l2cap_sdp_channel 
+0x5221 020959 isub temp ,null 
+0x5222 020960 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x5223 020961 setarg l2cap_rfcomm_channel 
+0x5224 020962 isub temp ,null 
+0x5225 020963 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5226 020964 branch mdisdone 
+:      020965 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5227 020966 jam 0 ,mem_sdp_remote_cid 
+0x5228 020967 jam 0 ,mem_sdp_state 
+0x5229 020968 branch mdisdone 
+:      020969 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      020972 mdisdone:
+0x522a 020973 call load_cont_pointers 
+0x522b 020974 copy regc ,pdata 
+0x522c 020975 isub rega ,regc 
+0x522d 020976 rtn 
+:      020978 ml2cap_proc_send_reject:
+0x522e 020979 setarg signal_cmd_reject 
+0x522f 020980 istore 1 ,contw 
+0x5230 020981 ifetch 1 ,contr 
+0x5231 020982 istore 1 ,contw 
+0x5232 020983 setarg 0x0002 
+0x5233 020984 istore 2 ,contw 
+0x5234 020985 setarg 0x0000 
+0x5235 020986 istore 2 ,contw 
+0x5236 020987 setarg 0x0006 
+0x5237 020988 iadd regb ,regb 
+0x5238 020989 force 4 ,regc 
+0x5239 020990 rtn 
+:      020993 l2cap_get_req_id:
+0x523a 020994 fetch 1 ,mem_ml2cap_comm_id 
+0x523b 020995 increase 1 ,pdata 
+0x523c 020996 bne 0 ,l2cap_get_req_id_ok 
+0x523d 020997 increase 1 ,pdata 
+:      020998 l2cap_get_req_id_ok:
+0x523e 020999 store 1 ,mem_ml2cap_comm_id 
+0x523f 021000 rtn 
+:      021010 l2cap_malloc:
+0x5240 021011 bpatchx patch24_2 ,mem_patch24 
+0x5241 021012 arg 0 ,regb 
+0x5242 021013 call l2cap_malloc_is_fifo_full 
+0x5243 021014 nbranch assert ,blank 
+0x5244 021015 call l2cap_malloc_get_full_map 
+0x5245 021016 arg mem_tx_buff0 ,regb 
+0x5246 021017 arg 0 ,queue 
+:      021018 l2cap_malloc_loop:
+0x5247 021019 fetcht 1 ,mem_used_map 
+0x5248 021020 qisolate1 temp 
+0x5249 021021 branch l2cap_malloc_next ,true 
+0x524a 021022 call l2cap_malloc_enough 
+0x524b 021023 sub timeup ,0 ,null 
+0x524c 021024 branch l2cap_malloc_next ,positive 
+0x524d 021025 call l2cap_malloc_into_fifo 
+0x524e 021026 branch l2cap_malloc_rtn 
+:      021027 l2cap_malloc_next:
+0x524f 021028 increase 128 ,regb 
+0x5250 021029 increase 1 ,queue 
+0x5251 021030 setarg 8 
+0x5252 021031 isub queue ,null 
+0x5253 021032 branch l2cap_malloc_loop ,positive 
+0x5254 021033 arg 0 ,regb 
+:      021034 l2cap_malloc_rtn:
+0x5255 021035 copy regb ,pdata 
+0x5256 021036 branch assert ,blank 
+0x5257 021037 rtn 
+:      021045 l2cap_malloc_fifo_out:
+0x5258 021046 bpatchx patch24_3 ,mem_patch24 
+0x5259 021047 call l2cap_malloc_fifo_get_first_ptr 
+0x525a 021048 increase 1 ,contr 
+0x525b 021049 ifetch 2 ,contr 
+0x525c 021050 rtn 
+:      021056 l2cap_malloc_free:
+0x525d 021057 bpatchx patch24_4 ,mem_patch24 
+0x525e 021058 call l2cap_malloc_fifo_get_first_ptr 
+0x525f 021059 copy contr ,contw 
+0x5260 021060 copy contr ,temp 
+0x5261 021061 setarg 0 
+0x5262 021062 istore 3 ,contw 
+0x5263 021063 rtn 
+:      021068 l2cap_malloc_discard:
+0x5264 021069 bpatchx patch24_5 ,mem_patch24 
+0x5265 021070 call l2cap_malloc_is_fifo_empty 
+0x5266 021071 branch assert ,blank 
+0x5267 021072 fetch 3 ,mem_tx_fifo2 
+0x5268 021073 store 3 ,mem_tx_fifo3 
+0x5269 021074 fetch 3 ,mem_tx_fifo1 
+0x526a 021075 store 3 ,mem_tx_fifo2 
+0x526b 021076 fetch 3 ,mem_tx_fifo0 
+0x526c 021077 store 3 ,mem_tx_fifo1 
+0x526d 021078 rtn 
+:      021084 l2cap_malloc_is_fifo_full:
+0x526e 021085 bpatchx patch24_6 ,mem_patch24 
+0x526f 021086 fetch 3 ,mem_tx_fifo0 
+0x5270 021087 rtn 
+:      021093 l2cap_malloc_is_fifo_nearly_full:
+0x5271 021094 bpatchx patch24_7 ,mem_patch24 
+0x5272 021095 fetch 3 ,mem_tx_fifo1 
+0x5273 021096 rtn 
+:      021102 l2cap_malloc_is_fifo_empty:
+0x5274 021103 bpatchx patch25_0 ,mem_patch25 
+0x5275 021104 fetch 3 ,mem_tx_fifo3 
+0x5276 021105 rtn 
+:      021110 l2cap_malloc_fifo_get_first_ptr:
+0x5277 021111 call l2cap_malloc_is_fifo_empty 
+0x5278 021112 branch assert ,blank 
+0x5279 021113 arg mem_tx_fifo0 ,contr 
+:      021114 l2cap_malloc_free_loop:
+0x527a 021115 ifetch 3 ,contr 
+0x527b 021116 branch l2cap_malloc_free_loop ,blank 
+0x527c 021117 increase -3 ,contr 
+0x527d 021118 rtn 
+:      021125 l2cap_malloc_get_full_map:
+0x527e 021126 bpatchx patch25_1 ,mem_patch25 
+0x527f 021127 arg 4 ,loopcnt 
+0x5280 021128 arg mem_tx_fifo0_map ,contr 
+0x5281 021129 arg 0 ,temp 
+:      021130 l2cap_malloc_get_full_map_loop:
+0x5282 021131 ifetch 3 ,contr 
+0x5283 021132 and pdata ,0xff ,pdata 
+0x5284 021133 ior temp ,temp 
+0x5285 021134 loop l2cap_malloc_get_full_map_loop 
+0x5286 021135 storet 1 ,mem_used_map 
+0x5287 021136 rtn 
+:      021144 l2cap_malloc_into_fifo:
+0x5288 021145 bpatchx patch25_2 ,mem_patch25 
+0x5289 021146 call l2cap_malloc_is_fifo_full 
+0x528a 021147 nbranch assert ,blank 
+0x528b 021148 call l2cap_malloc_is_fifo_empty 
+0x528c 021149 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x528d 021150 fetch 3 ,mem_tx_fifo1 
+0x528e 021151 store 3 ,mem_tx_fifo0 
+0x528f 021152 ifetch 3 ,contr 
+0x5290 021153 istore 3 ,contw 
+0x5291 021154 ifetch 3 ,contr 
+0x5292 021155 istore 3 ,contw 
+0x5293 021156 setarg 0 
+0x5294 021157 istore 3 ,contw 
+:      021158 l2cap_malloc_into_fifo_no_push:
+0x5295 021159 arg 0 ,temp 
+0x5296 021160 copy timeup ,pdata 
+0x5297 021161 iadd queue ,pdata 
+:      021162 l2cap_malloc_into_fifo_loop:
+0x5298 021163 qset1 temp 
+0x5299 021164 increase 1 ,queue 
+0x529a 021165 isub queue ,null 
+0x529b 021166 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x529c 021168 lshift8 regb ,pdata 
+0x529d 021169 ior temp ,pdata 
+0x529e 021170 store 3 ,mem_tx_fifo3 
+0x529f 021171 rtn 
+:      021181 l2cap_malloc_enough:
+0x52a0 021182 bpatchx patch25_3 ,mem_patch25 
+0x52a1 021183 call l2cap_malloc_get_full_map 
+0x52a2 021184 copy queue ,regc 
+0x52a3 021185 arg 0 ,temp 
+0x52a4 021186 arg 0 ,timeup 
+:      021188 l2cap_malloc_enough_loop:
+0x52a5 021189 copy queue ,pdata 
+0x52a6 021190 beq 8 ,l2cap_malloc_enough_end 
+0x52a7 021191 fetch 1 ,mem_used_map 
+0x52a8 021192 qisolate1 pdata 
+0x52a9 021193 branch l2cap_malloc_enough_end ,true 
+0x52aa 021194 increase 128 ,temp 
+0x52ab 021195 increase 1 ,queue 
+0x52ac 021196 copy rega ,pdata 
+0x52ad 021197 isub temp ,null 
+0x52ae 021198 branch l2cap_malloc_enough_end ,zero 
+0x52af 021199 branch l2cap_malloc_enough_loop ,positive 
+:      021200 l2cap_malloc_enough_end:
+0x52b0 021201 copy temp ,pdata 
+0x52b1 021202 isub rega ,null 
+0x52b2 021203 nbranch l2cap_malloc_enough_rtn ,positive 
+0x52b3 021204 copy queue ,pdata 
+0x52b4 021205 copy regc ,temp 
+0x52b5 021206 isub temp ,timeup 
+:      021207 l2cap_malloc_enough_rtn:
+0x52b6 021208 copy regc ,queue 
+0x52b7 021209 rtn 
+:      021212 l2cap_malloc_signal_channel:
+0x52b8 021213 bpatchx patch25_4 ,mem_patch25 
+0x52b9 021214 arg l2cap_signal_malloc_size ,rega 
+0x52ba 021215 call l2cap_malloc 
+0x52bb 021216 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52bc 021217 increase 4 ,pdata 
+0x52bd 021218 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52be 021219 setarg 0 
+0x52bf 021220 store 2 ,mem_l2cap_signal_tx_length 
+0x52c0 021221 rtn 
+:      021223 l2cap_get_signal_tx_buff:
+0x52c1 021224 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52c2 021225 branch l2cap_util_pdata_to_contw 
+:      021227 l2cap_get_signal_tx_payload:
+0x52c3 021228 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52c4 021229 branch l2cap_util_pdata_to_contw 
+:      021232 l2cap_malloc_sdp_channel:
+0x52c5 021233 bpatchx patch25_5 ,mem_patch25 
+0x52c6 021234 arg sdp_malloc_size ,rega 
+0x52c7 021235 call l2cap_malloc 
+0x52c8 021236 store 2 ,mem_sdp_tx_buff_ptr 
+0x52c9 021237 increase 4 ,pdata 
+0x52ca 021238 store 2 ,mem_sdp_tx_payload_ptr 
+0x52cb 021239 setarg 0 
+0x52cc 021240 store 2 ,mem_sdp_tx_pkt_length 
+0x52cd 021241 rtn 
+:      021243 l2cap_get_sdp_tx_buff:
+0x52ce 021244 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x52cf 021245 branch l2cap_util_pdata_to_contw 
+:      021247 l2cap_get_sdp_tx_payload:
+0x52d0 021248 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x52d1 021249 branch l2cap_util_pdata_to_contw 
+:      021252 l2cap_malloc_rfcomm_channel:
+0x52d2 021253 bpatchx patch25_6 ,mem_patch25 
+0x52d3 021254 call push_stack 
+0x52d4 021255 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x52d5 021256 call l2cap_malloc_is_fifo_full 
+0x52d6 021257 nrtn blank 
+0x52d7 021258 arg rfcomm_malloc_size ,rega 
+0x52d8 021259 call l2cap_malloc 
+0x52d9 021260 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x52da 021261 increase 4 ,pdata 
+0x52db 021262 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x52dc 021263 setarg 0 
+0x52dd 021264 store 2 ,mem_rfcomm_tx_pkt_length 
+0x52de 021265 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x52df 021266 branch pop_stack 
+:      021268 l2cap_get_rfcomm_tx_buff:
+0x52e0 021269 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x52e1 021270 branch l2cap_util_pdata_to_contw 
+:      021272 l2cap_util_pdata_to_contw:
+0x52e2 021273 branch assert ,blank 
+0x52e3 021274 copy pdata ,contw 
+0x52e4 021275 rtn 
+:      021278 l2cap_lpm_save_calc_len:
+0x52e5 021279 bpatchx patch25_7 ,mem_patch25 
+0x52e6 021280 arg 0 ,regb 
+0x52e7 021281 arg mem_tx_fifo0_map ,rega 
+0x52e8 021282 increase -2 ,rega 
+:      021283 l2cap_lpm_save_calc_len_loop:
+0x52e9 021284 increase 2 ,rega 
+0x52ea 021285 setarg mem_tx_fifo_end 
+0x52eb 021286 isub rega ,null 
+0x52ec 021287 branch l2cap_lpm_save_calc_len_end ,zero 
+0x52ed 021288 ifetch 1 ,rega 
+0x52ee 021289 increase 1 ,rega 
+0x52ef 021290 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x52f0 021291 ifetcht 2 ,rega 
+0x52f1 021292 ifetch 2 ,temp 
+0x52f2 021293 iadd regb ,regb 
+0x52f3 021294 increase 4 ,regb 
+0x52f4 021295 branch l2cap_lpm_save_calc_len_loop 
+:      021296 l2cap_lpm_save_calc_len_end:
+0x52f5 021297 copy regb ,pdata 
+0x52f6 021298 rtn 
+:      021301 l2cap_lpm_get_wake_lock:
+0x52f7 021302 arg wake_lock_l2cap_tx ,queue 
+0x52f8 021303 branch lpm_get_wake_lock 
+:      021305 l2cap_lpm_put_wake_lock:
+0x52f9 021306 arg wake_lock_l2cap_tx ,queue 
+0x52fa 021307 branch lpm_put_wake_lock 
+:      021309 l2cap_lpm_save_txbuf:
+0x52fb 021310 bpatchx patch26_0 ,mem_patch26 
+0x52fc 021311 call l2cap_malloc_get_full_map 
+0x52fd 021312 fetch 1 ,mem_used_map 
+0x52fe 021313 rtn blank 
+0x52ff 021314 call l2cap_lpm_save_calc_len 
+0x5300 021315 arg l2cap_lpm_txbuf_len ,temp 
+0x5301 021316 isub temp ,null 
+0x5302 021317 branch l2cap_lpm_get_wake_lock ,positive 
+0x5303 021318 call l2cap_lpm_put_wake_lock 
+0x5304 021319 arg mem_l2cap_lpm_txbuf ,contw 
+0x5305 021320 arg mem_tx_fifo0 ,rega 
+:      021321 l2cap_lpm_save_txbuf_loop:
+0x5306 021322 setarg mem_tx_fifo_end 
+0x5307 021323 isub rega ,null 
+0x5308 021324 rtn zero 
+0x5309 021325 ifetch 1 ,rega 
+0x530a 021326 increase 1 ,rega 
+0x530b 021327 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x530c 021328 istore 2 ,contw 
+0x530d 021329 increase 2 ,rega 
+0x530e 021330 branch l2cap_lpm_save_txbuf_loop 
+:      021331 l2cap_lpm_save_txbuf_nempty:
+0x530f 021332 ifetch 2 ,rega 
+0x5310 021333 increase 2 ,rega 
+0x5311 021334 copy pdata ,contr 
+0x5312 021335 ifetch 2 ,contr 
+0x5313 021336 istore 2 ,contw 
+0x5314 021337 copy pdata ,loopcnt 
+0x5315 021338 increase 2 ,loopcnt 
+0x5316 021339 call memcpy 
+0x5317 021340 branch l2cap_lpm_save_txbuf_loop 
+:      021342 l2cap_lpm_load_txbuf:
+0x5318 021343 bpatchx patch26_1 ,mem_patch26 
+0x5319 021344 call l2cap_malloc_get_full_map 
+0x531a 021345 fetch 1 ,mem_used_map 
+0x531b 021346 rtn blank 
+0x531c 021347 arg mem_tx_fifo0_ptr ,rega 
+0x531d 021348 increase -3 ,rega 
+0x531e 021349 arg mem_l2cap_lpm_txbuf ,contr 
+:      021350 l2cap_lpm_load_txbuf_loop:
+0x531f 021351 increase 3 ,rega 
+0x5320 021352 setarg mem_tx_fifo_end + 1 
+0x5321 021353 isub rega ,null 
+0x5322 021354 rtn zero 
+0x5323 021355 ifetch 2 ,contr 
+0x5324 021356 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x5325 021357 increase 4 ,pdata 
+0x5326 021358 copy pdata ,loopcnt 
+0x5327 021359 copy contr ,regb 
+0x5328 021360 ifetch 2 ,rega 
+0x5329 021361 copy pdata ,contw 
+0x532a 021362 copy regb ,contr 
+0x532b 021363 increase -2 ,contr 
+0x532c 021364 call memcpy 
+0x532d 021365 branch l2cap_lpm_load_txbuf_loop 
+:      021375 le_init_conn:
+0x532e 021376 bpatchx patch26_2 ,mem_patch26 
+0x532f 021377 disable wake 
+0x5330 021378 jam 1 ,mem_le_conn_handle 
+0x5331 021379 jam 3 ,mem_le_state 
+0x5332 021380 jam 1 ,mem_le_arq 
+0x5333 021381 setarg -1 
+0x5334 021382 store 2 ,mem_le_event_count 
+0x5335 021383 force 0 ,pdata 
+0x5336 021384 store 1 ,mem_le_ch 
+0x5337 021385 store 1 ,mem_le_op 
+0x5338 021386 store 3 ,mem_sniff_rcv 
+0x5339 021387 store 3 ,mem_sniff_lost 
+0x533a 021388 store 5 ,mem_le_pcnt_tx 
+0x533b 021389 set1 39 ,pdata 
+0x533c 021390 store 5 ,mem_le_pcnt_rx 
+0x533d 021391 jam 1 ,mem_le_txheader 
+0x533e 021392 jam 0 ,mem_le_txlen 
+0x533f 021393 branch le_supervision_flush 
+:      021395 le_init_master:
+0x5340 021396 bpatchx patch26_3 ,mem_patch26 
+0x5341 021397 enable master 
+0x5342 021398 jam lemode_master ,mem_le_mode 
+0x5343 021399 jam 1 ,mem_le_att_handle 
+0x5344 021400 jam 1 ,mem_le_search_handle_start 
+0x5345 021401 setarg 0xffff 
+0x5346 021402 store 2 ,mem_le_search_handle_end 
+0x5347 021403 force 0 ,pdata 
+0x5348 021404 store 5 ,mem_le_pcnt_rx 
+0x5349 021405 set1 39 ,pdata 
+0x534a 021406 store 5 ,mem_le_pcnt_tx 
+0x534b 021407 branch le_init_conn 
+:      021410 le_init_slave:
+0x534c 021411 bpatchx patch26_4 ,mem_patch26 
+0x534d 021412 disable master 
+0x534e 021413 setarg 0x17 
+0x534f 021414 store 2 ,mem_le_remote_mtu 
+0x5350 021415 jam lemode_slave ,mem_le_mode 
+0x5351 021416 jam 0 ,mem_le_adv_enable 
+0x5352 021417 jam 0 ,mem_lpm_current_mult 
+0x5353 021418 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5354 021419 jam flag_le_enc_null ,mem_le_enc_state 
+0x5355 021420 fetch 2 ,mem_le_superto 
+0x5356 021421 store 2 ,mem_le_init_superto 
+0x5357 021422 fetch 2 ,mem_le_tsniff 
+0x5358 021423 mul32 pdata ,5 ,pdata 
+0x5359 021424 rshift4 pdata ,pdata 
+0x535a 021425 store 2 ,mem_le_superto 
+0x535b 021426 branch le_init_conn 
+:      021432 le_dispatch:
+0x535c 021433 call le_enable 
+0x535d 021434 call le_scan 
+0x535e 021435 call le_adv 
+0x535f 021436 branch le_disable 
+:      021438 le_conn_dispatch:
+0x5360 021439 bpatchx patch26_5 ,mem_patch26 
+0x5361 021440 call le_enable 
+0x5362 021441 call app_process_ble 
+0x5363 021442 fetch 1 ,mem_le_mode 
+0x5364 021443 beq lemode_master ,le_master_dispatch 
+0x5365 021444 branch le_slave_dispatch 
+:      021450 le_master_dispatch:
+0x5366 021451 bpatchx patch26_6 ,mem_patch26 
+0x5367 021452 enable master 
+0x5368 021453 call le_supervision_update 
+0x5369 021454 branch le_master_disconn ,positive 
+0x536a 021455 call check_ble_disabled 
+0x536b 021456 call le_setup 
+0x536c 021457 call le_prepare_tx 
+0x536d 021458 disable match 
+0x536e 021459 call le_transmit_receive_sifs 
+0x536f 021460 nrtn match 
+0x5370 021461 bpatchx patch26_7 ,mem_patch26 
+0x5371 021462 fetch 1 ,mem_le_conn_rcv 
+0x5372 021463 increase 1 ,pdata 
+0x5373 021464 store 1 ,mem_le_conn_rcv 
+0x5374 021465 call le_acknowledge 
+0x5375 021466 disable master 
+0x5376 021467 rtn 
+:      021469 le_master_disconn:
+0x5377 021470 call le_disconnect 
+0x5378 021471 disable master 
+0x5379 021472 rtn 
+:      021477 le_slave_dispatch:
+0x537a 021478 bpatchx patch27_0 ,mem_patch27 
+0x537b 021479 jam 0 ,mem_le_md_count 
+0x537c 021480 call sp_calc_sequence_256 
+0x537d 021481 call le_secure_connect_sm 
+0x537e 021482 disable attempt 
+0x537f 021483 call le_supervision_update 
+0x5380 021484 branch le_slave_disconn ,positive 
+0x5381 021485 call check_ble_disabled 
+0x5382 021486 call le_setup 
+0x5383 021487 call le_receive_slave 
+0x5384 021488 nbranch le_slave_unsync ,sync 
+0x5385 021489 call le_got_first_packet 
+0x5386 021490 branch le_slave_match ,match 
+0x5387 021491 branch le_slave_cont 
+:      021494 le_slave_match:
+0x5388 021495 bpatchx patch27_1 ,mem_patch27 
+0x5389 021496 fetch 1 ,mem_le_md_count 
+0x538a 021497 pincrease 1 
+0x538b 021498 store 1 ,mem_le_md_count 
+0x538c 021499 beq le_md_max_count ,le_slave_cont 
+0x538d 021500 call le_acknowledge 
+0x538e 021501 call le_prepare_tx 
+0x538f 021502 call le_transmit_norx 
+0x5390 021503 call le_parse 
+0x5391 021504 fetch 2 ,mem_cb_ble_transmit 
+0x5392 021505 call callback_func 
+0x5393 021506 call le_check_md 
+0x5394 021507 branch le_slave_more_data ,user 
+:      021508 le_slave_cont:
+0x5395 021509 bpatchx patch27_2 ,mem_patch27 
+0x5396 021510 call le_pairing_sm 
+0x5397 021511 call le_check_paring_time 
+0x5398 021512 call check_51cmd 
+0x5399 021513 fetch 1 ,mem_le_op 
+0x539a 021514 bbit1 op_disconn ,le_slave_disconn 
+:      021515 le_slave_unsync:
+0x539b 021516 bpatchx patch27_3 ,mem_patch27 
+0x539c 021517 call le_lpm_set_mult 
+0x539d 021518 call le_update_channel_map 
+0x539e 021519 call le_update_param 
+0x539f 021520 branch calc_clke_offset 
+:      021523 le_check_md:
+0x53a0 021524 disable user 
+0x53a1 021525 bmark1 mark_ble_rx_md ,enable_user 
+0x53a2 021526 bmark1 mark_ble_tx_md ,enable_user 
+0x53a3 021527 rtn 
+:      021530 le_slave_more_data:
+0x53a4 021531 bpatchx patch27_4 ,mem_patch27 
+0x53a5 021532 enable attempt 
+0x53a6 021533 call le_transmit_receive_sifs_notx 
+0x53a7 021534 branch le_slave_match ,match 
+0x53a8 021535 branch le_slave_cont 
+:      021537 le_slave_disconn:
+:      021540 le_disconnect:
+0x53a9 021541 bpatchx patch27_5 ,mem_patch27 
+0x53aa 021542 call le_clear_connection_info 
+0x53ab 021543 call app_disconn_reason_collect_ble 
+0x53ac 021544 call sp_initialize_256 
+0x53ad 021545 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x53ae 021546 branch ui_ipc_send_event 
+:      021548 le_clear_connection_info:
+0x53af 021549 setarg 0 
+0x53b0 021550 store 9 ,mem_le_tx_buff_used 
+0x53b1 021551 jam 0 ,mem_le_conn_handle 
+0x53b2 021552 jam lemode_idle ,mem_le_mode 
+0x53b3 021553 jam 0 ,mem_le_state 
+0x53b4 021554 jam flag_le_enc_null ,mem_le_enc_state 
+0x53b5 021555 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x53b6 021556 rtn 
+:      021558 le_got_first_packet:
+0x53b7 021559 bpatchx patch27_6 ,mem_patch27 
+0x53b8 021560 fetch 1 ,mem_le_conn_rcv 
+0x53b9 021561 increase 1 ,pdata 
+0x53ba 021562 store 1 ,mem_le_conn_rcv 
+0x53bb 021563 fetch 1 ,mem_le_state 
+0x53bc 021564 rtnbit1 lestate_got_first_packet 
+0x53bd 021565 set1 lestate_got_first_packet 
+0x53be 021566 store 1 ,mem_le_state 
+0x53bf 021567 fetch 2 ,mem_le_init_superto 
+0x53c0 021568 store 2 ,mem_le_superto 
+0x53c1 021569 setarg 0 
+0x53c2 021570 store 4 ,mem_le_transmit_window 
+0x53c3 021571 rtn 
+:      021574 le_enable:
+0x53c4 021575 bpatchx patch27_7 ,mem_patch27 
+0x53c5 021576 jam 0x36 ,rf_adc_goff 
+0x53c6 021577 jam 0x5f ,rf_agc_nsat 
+0x53c7 021578 enable le 
+0x53c8 021579 jam 7 ,rfen_ulp 
+0x53c9 021580 call check_ble_disabled 
+0x53ca 021581 fetch 1 ,mem_250k_freq_enable 
+0x53cb 021582 rtn blank 
+0x53cc 021583 jam 0xb8 ,rf_iq_gain 
+0x53cd 021584 rtn 
+:      021586 le_disable:
+0x53ce 021587 bpatchx patch28_0 ,mem_patch28 
+0x53cf 021588 jam 0x2e ,rf_adc_goff 
+0x53d0 021589 jam 0xff ,rf_agc_nsat 
+0x53d1 021590 disable le 
+0x53d2 021591 jam 3 ,rfen_ulp 
+0x53d3 021592 arg 0 ,stop_watch 
+0x53d4 021593 rtn 
+:      021595 le_prep:
+0x53d5 021596 disable enable_crc 
+0x53d6 021597 disable enable_white 
+0x53d7 021598 fetch 3 ,mem_le_crcinit 
+0x53d8 021599 iforce crc24_init 
+0x53d9 021600 fetch 1 ,mem_le_ch_mapped 
+0x53da 021601 reverse pdata ,temp 
+0x53db 021602 set1 1 ,temp 
+0x53dc 021603 rshift temp ,white_init 
+0x53dd 021604 rtn 
+:      021607 lerx_setfreq:
+0x53de 021608 call le_setfreq 
+0x53df 021609 call set_freq_rx 
+0x53e0 021610 setarg param_pll_setup 
+0x53e1 021611 call sleep 
+0x53e2 021612 branch rf_rx_enable 
+:      021614 letx_setfreq:
+0x53e3 021615 branch txon ,match 
+:      021616 letx_setfreq0:
+0x53e4 021617 call le_setfreq 
+0x53e5 021618 branch set_freq_tx 
+:      021619 le_setfreq:
+0x53e6 021620 bpatchx patch28_1 ,mem_patch28 
+0x53e7 021621 call set_sync_on 
+0x53e8 021622 fetch 1 ,mem_le_testtype 
+0x53e9 021623 nbranch le_ctf_test ,blank 
+0x53ea 021624 fetch 1 ,mem_le_ch_mapped 
+0x53eb 021625 sub pdata ,36 ,null 
+0x53ec 021626 branch le_ctf_normal ,positive 
+0x53ed 021627 force 0 ,temp 
+0x53ee 021628 rtneq 37 
+0x53ef 021629 force 24 ,temp 
+0x53f0 021630 rtneq 38 
+0x53f1 021631 force 78 ,temp 
+0x53f2 021632 rtn 
+:      021634 le_ctf_normal:
+0x53f3 021635 sub pdata ,10 ,null 
+0x53f4 021636 branch le_ctf_low ,positive 
+0x53f5 021637 increase 1 ,pdata 
+:      021639 le_ctf_low:
+0x53f6 021640 lshift pdata ,pdata 
+0x53f7 021641 add pdata ,2 ,temp 
+0x53f8 021642 rtn 
+:      021644 le_ctf_test:
+0x53f9 021645 fetch 1 ,mem_le_ch_mapped 
+0x53fa 021646 lshift pdata ,temp 
+0x53fb 021647 rtn 
+:      021649 le_sca_map:
+0x53fc 021650 arg 500 ,temp 
+0x53fd 021651 rtn blank 
+0x53fe 021652 arg 250 ,temp 
+0x53ff 021653 rtneq 1 
+0x5400 021654 arg 150 ,temp 
+0x5401 021655 rtneq 2 
+0x5402 021656 arg 100 ,temp 
+0x5403 021657 rtneq 3 
+0x5404 021658 arg 75 ,temp 
+0x5405 021659 rtneq 4 
+0x5406 021660 arg 50 ,temp 
+0x5407 021661 rtneq 5 
+0x5408 021662 arg 40 ,temp 
+0x5409 021663 rtneq 6 
+0x540a 021664 arg 20 ,temp 
+0x540b 021665 rtn 
+:      021669 le_adv_access:
+0x540c 021670 setarg 0x8e89be 
+0x540d 021671 lshift8 pdata ,pdata 
+0x540e 021672 or_into 0xd6 ,pdata 
+0x540f 021673 iforce access 
+0x5410 021674 setarg 0x555555 
+0x5411 021675 store 3 ,mem_le_crcinit 
+0x5412 021676 rtn 
+:      021678 le_setup:
+0x5413 021679 bpatchx patch28_2 ,mem_patch28 
+0x5414 021680 enable swfine 
+0x5415 021681 fetch 4 ,mem_le_access 
+0x5416 021682 iforce access 
+0x5417 021683 call le_map_channel 
+0x5418 021684 setarg 0x200 
+0x5419 021685 branch le_setup_master ,master 
+0x541a 021686 fetch 2 ,mem_le_receive_window 
+0x541b 021687 rshift pdata ,pdata 
+:      021688 le_setup_master:
+0x541c 021689 arg param_pll_setup ,temp 
+0x541d 021690 iadd temp ,pdata 
+0x541e 021691 call ahead_window 
+0x541f 021692 deposit clke 
+0x5420 021693 store 6 ,mem_le_rxon_ts 
+0x5421 021694 rtn 
+:      021696 le_next_adv_channel:
+0x5422 021697 bpatchx patch28_3 ,mem_patch28 
+0x5423 021698 fetch 1 ,mem_le_ch_mapped 
+0x5424 021699 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x5425 021700 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5426 021701 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5427 021702 branch le_next_adv_channel_curr_channel_39 
+:      021704 le_next_adv_channel_curr_channel_37:
+0x5428 021705 fetcht 1 ,mem_le_adv_channel_map 
+0x5429 021706 isolate1 bit_adv_channel_map_38 ,temp 
+0x542a 021707 branch set_le_next_adv_channel_38 ,true 
+0x542b 021708 isolate1 bit_adv_channel_map_39 ,temp 
+0x542c 021709 branch set_le_next_adv_channel_39 ,true 
+0x542d 021710 branch set_le_next_adv_channel_37 
+:      021713 le_next_adv_channel_curr_channel_38:
+0x542e 021714 fetcht 1 ,mem_le_adv_channel_map 
+0x542f 021715 isolate1 bit_adv_channel_map_39 ,temp 
+0x5430 021716 branch set_le_next_adv_channel_39 ,true 
+0x5431 021717 isolate1 bit_adv_channel_map_37 ,temp 
+0x5432 021718 branch set_le_next_adv_channel_37 ,true 
+0x5433 021719 branch set_le_next_adv_channel_38 
+:      021722 le_next_adv_channel_curr_channel_39:
+0x5434 021723 fetcht 1 ,mem_le_adv_channel_map 
+0x5435 021724 isolate1 bit_adv_channel_map_37 ,temp 
+0x5436 021725 branch set_le_next_adv_channel_37 ,true 
+0x5437 021726 isolate1 bit_adv_channel_map_38 ,temp 
+0x5438 021727 branch set_le_next_adv_channel_38 ,true 
+0x5439 021728 branch set_le_next_adv_channel_39 
+:      021732 set_le_next_adv_channel_37:
+0x543a 021733 jam 37 ,mem_le_ch_mapped 
+0x543b 021734 fetch 1 ,mem_le_adv_channel_map_temp 
+0x543c 021735 set1 bit_adv_channel_map_37 ,pdata 
+0x543d 021736 store 1 ,mem_le_adv_channel_map_temp 
+0x543e 021737 rtn 
+:      021739 set_le_next_adv_channel_38:
+0x543f 021740 jam 38 ,mem_le_ch_mapped 
+0x5440 021741 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5441 021742 set1 bit_adv_channel_map_38 ,pdata 
+0x5442 021743 store 1 ,mem_le_adv_channel_map_temp 
+0x5443 021744 rtn 
+:      021746 set_le_next_adv_channel_39:
+0x5444 021747 jam 39 ,mem_le_ch_mapped 
+0x5445 021748 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5446 021749 set1 bit_adv_channel_map_39 ,pdata 
+0x5447 021750 store 1 ,mem_le_adv_channel_map_temp 
+0x5448 021751 rtn 
+:      021755 le_context_nexthop:
+0x5449 021756 bpatchx patch28_4 ,mem_patch28 
+0x544a 021757 add rega ,coffset_mode ,contr 
+0x544b 021758 ifetch 1 ,contr 
+0x544c 021759 rtnbit0 mode_le 
+0x544d 021760 add rega ,coffset_le_event_cnt ,contw 
+0x544e 021761 ifetch 2 ,contw 
+0x544f 021762 increase 1 ,pdata 
+0x5450 021763 istore 2 ,contw 
+0x5451 021764 add rega ,coffset_le_hop ,contr 
+0x5452 021765 ifetch 1 ,contr 
+0x5453 021766 add rega ,coffset_le_ch ,contw 
+0x5454 021767 ifetcht 1 ,contw 
+0x5455 021768 iadd temp ,pdata 
+0x5456 021769 sub pdata ,36 ,null 
+0x5457 021770 branch le_nexthop_nowrap ,positive 
+0x5458 021771 increase -37 ,pdata 
+:      021772 le_nexthop_nowrap:
+0x5459 021773 istore 1 ,contw 
+0x545a 021774 rtn 
+:      021777 le_calc_channel_map:
+0x545b 021778 bpatchx patch28_5 ,mem_patch28 
+0x545c 021779 fetch 5 ,mem_le_channel_map 
+0x545d 021780 force 0 ,temp 
+0x545e 021781 force 37 ,loopcnt 
+:      021782 le_count_channels_loop:
+0x545f 021783 bbit0 0 ,le_count_channels_notused 
+0x5460 021784 increase 1 ,temp 
+:      021785 le_count_channels_notused:
+0x5461 021786 rshift pdata ,pdata 
+0x5462 021787 loop le_count_channels_loop 
+0x5463 021788 add temp ,-1 ,pdata 
+0x5464 021789 store 1 ,mem_le_channels 
+0x5465 021790 rtn 
+:      021792 le_map_channel:
+0x5466 021793 bpatchx patch28_6 ,mem_patch28 
+0x5467 021794 fetch 1 ,mem_le_ch 
+0x5468 021795 iforce queue 
+0x5469 021796 fetcht 5 ,mem_le_channel_map 
+0x546a 021797 qisolate1 temp 
+0x546b 021798 branch le_map_channel_end ,true 
+:      021799 le_map_channel_next:
+0x546c 021800 bpatchx patch28_7 ,mem_patch28 
+0x546d 021801 fetch 1 ,mem_le_channels 
+0x546e 021802 isub queue ,pdata 
+0x546f 021803 branch le_map_channel_cont ,positive 
+0x5470 021804 sub pdata ,-1 ,queue 
+0x5471 021805 branch le_map_channel_next 
+:      021806 le_map_channel_cont:
+0x5472 021807 copy queue ,loopcnt 
+0x5473 021808 force 0 ,queue 
+:      021809 le_map_channel_loop:
+0x5474 021810 qisolate1 temp 
+0x5475 021811 branch le_map_channel_skip ,true 
+0x5476 021812 increase 1 ,loopcnt 
+:      021813 le_map_channel_skip:
+0x5477 021814 deposit loopcnt 
+0x5478 021815 branch le_map_channel_end ,blank 
+0x5479 021816 increase 1 ,queue 
+0x547a 021817 increase -1 ,loopcnt 
+0x547b 021818 branch le_map_channel_loop 
+:      021819 le_map_channel_end:
+0x547c 021820 deposit queue 
+0x547d 021821 store 1 ,mem_le_ch_mapped 
+0x547e 021822 rtn 
+:      021825 le_wait_tx:
+0x547f 021826 branch le_wait_master ,master 
+0x5480 021827 until null ,timeout 
+0x5481 021828 rtn 
+:      021830 le_wait_master:
+0x5482 021831 arg 0xea0 ,timeup 
+0x5483 021832 until clkn_rt ,meet 
+0x5484 021833 rtn 
+:      021835 le_receive_adv:
+0x5485 021836 disable swfine 
+0x5486 021837 fetch 2 ,mem_le_scan_window 
+0x5487 021838 copy pdata ,timeup 
+0x5488 021839 branch le_receive_packet 
+:      021842 le_receive_slave:
+0x5489 021843 bpatchx patch29_0 ,mem_patch29 
+0x548a 021844 enable swfine 
+0x548b 021845 fetch 2 ,mem_le_receive_window 
+0x548c 021846 fetcht 4 ,mem_le_transmit_window 
+0x548d 021847 iadd temp ,timeup 
+:      021848 le_receive_packet:
+0x548e 021849 call lerx_setfreq 
+:      021850 le_receive_rxon:
+0x548f 021851 bpatchx patch29_1 ,mem_patch29 
+0x5490 021852 call le_prep 
+0x5491 021853 disable match 
+0x5492 021854 enable decode_fec0 
+0x5493 021855 enable is_rx 
+0x5494 021856 disable is_tx 
+0x5495 021857 copy timeup ,stop_watch 
+0x5496 021858 correlate null ,timeout 
+0x5497 021859 branch le_receive_on_attempt ,attempt 
+0x5498 021860 copy clke ,temp 
+0x5499 021861 storet 6 ,mem_sync_clke 
+:      021862 le_receive_on_attempt:
+0x549a 021863 nbranch end_of_packet ,sync 
+0x549b 021864 branch le_receive_skip ,attempt 
+0x549c 021865 arg param_clke_cal_le ,clke_rt 
+0x549d 021866 copy bt_clk ,clke_bt 
+0x549e 021867 fetch 1 ,mem_le_state 
+0x549f 021868 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x54a0 021869 call lpm_adjust_clk ,wake 
+:      021870 le_receive_skip:
+0x54a1 021871 bpatchx patch29_2 ,mem_patch29 
+0x54a2 021872 call save_rssi 
+0x54a3 021873 enable enable_white 
+0x54a4 021874 enable enable_crc 
+0x54a5 021875 parse demod ,bucket ,8 
+0x54a6 021876 rshift3 pwindow ,pdata 
+0x54a7 021877 store 1 ,mem_le_rxbuf 
+0x54a8 021878 parse demod ,bucket ,8 
+0x54a9 021879 rshift3 pwindow ,pdata 
+0x54aa 021880 istore 1 ,contw 
+0x54ab 021881 and pdata ,0x3f ,loopcnt 
+0x54ac 021882 branch lerx_nopayload ,zero 
+:      021884 lerx_loop:
+0x54ad 021885 parse demod ,bucket ,8 
+0x54ae 021886 rshift3 pwindow ,pdata 
+0x54af 021887 istore 1 ,contw 
+0x54b0 021888 loop lerx_loop 
+:      021890 lerx_nopayload:
+0x54b1 021891 bpatchx patch29_3 ,mem_patch29 
+0x54b2 021892 parse demod ,bucket ,24 
+0x54b3 021893 enable swfine 
+0x54b4 021894 arg param_sifs ,stop_watch 
+0x54b5 021895 rshift32 pdata ,pdata 
+0x54b6 021896 rshift16 pdata ,pdata 
+0x54b7 021897 istore 3 ,contw 
+0x54b8 021898 branch end_of_packet ,crc_failed 
+0x54b9 021899 enable match 
+0x54ba 021900 fetch 1 ,mem_last_freq 
+0x54bb 021901 add pdata ,0 ,rega 
+0x54bc 021902 call rf_write_freq 
+0x54bd 021903 disable decode_fec0 
+0x54be 021904 branch set_sync_on 
+:      021906 le_transmit_receive_sifs:
+0x54bf 021907 bpatchx patch29_4 ,mem_patch29 
+0x54c0 021908 call le_transmit 
+:      021909 le_transmit_receive_sifs_notx:
+0x54c1 021910 fetcht 1 ,mem_last_freq 
+0x54c2 021911 call set_freq_rx 
+0x54c3 021912 call rf_rx_enable 
+0x54c4 021913 enable swfine 
+0x54c5 021914 arg 5500 ,timeup 
+0x54c6 021915 branch le_receive_rxon 
+:      021917 le_transmit_norx:
+0x54c7 021918 call le_transmit 
+0x54c8 021919 branch end_of_packet 
+:      021921 le_transmit:
+0x54c9 021922 bpatchx patch29_5 ,mem_patch29 
+0x54ca 021923 call le_prep 
+0x54cb 021924 call letx_setfreq 
+0x54cc 021925 branch le_transmit0 
+:      021927 le_transmit0:
+0x54cd 021928 set1 txgfsk ,radio_ctrl 
+0x54ce 021929 enable encode_fec0 
+0x54cf 021930 enable is_tx 
+0x54d0 021931 disable is_rx 
+0x54d1 021932 call le_wait_tx 
+0x54d2 021933 rshift16 access ,pdata 
+0x54d3 021934 rshift8 pdata ,pdata 
+0x54d4 021935 rshift4 pdata ,pdata 
+0x54d5 021936 inject mod ,40 
+0x54d6 021937 enable enable_white 
+0x54d7 021938 enable enable_crc 
+0x54d8 021939 bpatchx patch29_6 ,mem_patch29 
+0x54d9 021940 fetch 1 ,mem_le_txheader 
+0x54da 021941 inject mod ,8 
+0x54db 021942 ifetch 1 ,contr 
+0x54dc 021943 and pdata ,0x3f ,loopcnt 
+0x54dd 021944 inject mod ,8 
+0x54de 021945 branch letr_nopayload ,zero 
+:      021946 letr_loop:
+0x54df 021947 ifetch 1 ,contr 
+0x54e0 021948 inject mod ,8 
+0x54e1 021949 loop letr_loop 
+:      021951 letr_nopayload:
+0x54e2 021952 enable enable_parity 
+0x54e3 021953 inject mod ,24 
+0x54e4 021954 disable enable_parity 
+0x54e5 021955 until null ,tx_clear 
+0x54e6 021956 nop 100 
+0x54e7 021957 disable encode_fec0 
+0x54e8 021958 rtn 
+:      021960 le_send_adv_ind:
+0x54e9 021961 bpatchx patch29_7 ,mem_patch29 
+0x54ea 021962 fetch 1 ,mem_le_adv_type 
+0x54eb 021963 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x54ec 021964 fetch 1 ,mem_le_adv_own_addr_type 
+0x54ed 021965 lshift4 pdata ,pdata 
+0x54ee 021966 lshift2 pdata ,pdata 
+0x54ef 021967 store 1 ,mem_le_txheader 
+0x54f0 021968 fetcht 1 ,mem_le_adv_data_len 
+0x54f1 021969 add temp ,6 ,pdata 
+0x54f2 021970 store 1 ,mem_le_txlen 
+0x54f3 021971 fetch 6 ,mem_le_lap 
+0x54f4 021972 store 6 ,mem_le_txpayload 
+0x54f5 021973 copy temp ,loopcnt 
+0x54f6 021974 arg mem_le_adv_data ,contr 
+0x54f7 021975 call memcpy_fast 
+0x54f8 021976 branch le_send_adv_transmit 
+:      021977 le_send_adv_direct_ind:
+0x54f9 021978 fetch 1 ,mem_le_adv_direct_addr_type 
+0x54fa 021979 lshift4 pdata ,pdata 
+0x54fb 021980 lshift2 pdata ,pdata 
+0x54fc 021981 increase 1 ,pdata 
+0x54fd 021982 store 1 ,mem_le_txheader 
+0x54fe 021983 setarg 12 
+0x54ff 021984 store 1 ,mem_le_txlen 
+0x5500 021985 fetch 6 ,mem_le_lap 
+0x5501 021986 store 6 ,mem_le_txpayload 
+0x5502 021987 fetch 6 ,mem_hci_plap 
+0x5503 021988 istore 6 ,contw 
+:      021989 le_send_adv_transmit:
+0x5504 021990 bpatchx patch2a_0 ,mem_patch2a 
+0x5505 021991 fetch 1 ,mem_le_adv_transmit 
+0x5506 021992 increase 1 ,pdata 
+0x5507 021993 store 1 ,mem_le_adv_transmit 
+0x5508 021994 arg 1800 ,stop_watch 
+0x5509 021995 disable match 
+0x550a 021996 branch le_transmit_receive_sifs 
+:      021998 le_send_scan_request:
+0x550b 021999 bpatchx patch2a_1 ,mem_patch2a 
+0x550c 022000 fetch 1 ,mem_le_scan_type 
+0x550d 022001 rtnne le_scan_type_active 
+0x550e 022002 fetch 1 ,mem_le_adv_transmit 
+0x550f 022003 increase 1 ,pdata 
+0x5510 022004 store 1 ,mem_le_adv_transmit 
+0x5511 022005 arg 0x0c03 ,temp 
+0x5512 022006 fetch 1 ,mem_le_scan_own_addr_type 
+0x5513 022007 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5514 022008 copy rega ,pdata 
+0x5515 022009 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x5516 022010 storet 2 ,mem_le_txheader 
+0x5517 022011 fetch 6 ,mem_le_lap 
+0x5518 022012 istore 6 ,contw 
+0x5519 022013 fetch 6 ,mem_le_plap 
+0x551a 022014 istore 6 ,contw 
+0x551b 022015 branch le_transmit_receive_sifs 
+:      022018 le_send_scan_response:
+0x551c 022019 bpatchx patch2a_2 ,mem_patch2a 
+0x551d 022020 arg scan_rsp ,temp 
+0x551e 022021 fetch 1 ,mem_le_adv_own_addr_type 
+0x551f 022022 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5520 022023 storet 1 ,mem_le_txheader 
+0x5521 022024 fetcht 1 ,mem_le_scan_data_len 
+0x5522 022025 add temp ,6 ,pdata 
+0x5523 022026 store 1 ,mem_le_txlen 
+0x5524 022027 fetch 6 ,mem_le_lap 
+0x5525 022028 store 6 ,mem_le_txpayload 
+0x5526 022029 arg mem_le_scan_data ,contr 
+0x5527 022030 copy temp ,loopcnt 
+0x5528 022031 call memcpy_fast 
+0x5529 022032 call le_transmit_norx 
+0x552a 022033 branch le_adv_not_match 
+:      022035 le_connect_request:
+0x552b 022036 bpatchx patch2a_3 ,mem_patch2a 
+0x552c 022037 force -1 ,pdata 
+0x552d 022038 setsect 2 ,1 
+0x552e 022039 store 5 ,mem_le_channel_map 
+0x552f 022040 call le_calc_channel_map 
+0x5530 022041 force 4 ,loopcnt 
+0x5531 022042 arg mem_le_access ,contw 
+0x5532 022043 call generate_random_loop 
+0x5533 022044 fetch 2 ,mem_le_timeout 
+0x5534 022045 store 2 ,mem_le_superto 
+:      022046 le_con_req_hop_retry:
+0x5535 022047 random pdata 
+0x5536 022048 and_into 0xf ,pdata 
+0x5537 022049 sub pdata ,4 ,null 
+0x5538 022050 branch le_con_req_hop_retry ,positive 
+0x5539 022051 store 1 ,mem_le_hop 
+0x553a 022052 store 1 ,mem_tmp1 
+0x553b 022053 bpatchx patch2a_4 ,mem_patch2a 
+0x553c 022054 fetcht 2 ,mem_le_conn_interval 
+0x553d 022055 storet 2 ,mem_le_tsniff 
+0x553e 022056 copy temp ,regc 
+0x553f 022057 add clkn_bt ,7 ,pdata 
+0x5540 022058 idiv regc 
+0x5541 022059 call wait_div_end 
+0x5542 022060 remainder rega 
+0x5543 022061 isub rega ,pdata 
+0x5544 022062 iadd regc ,pdata 
+0x5545 022063 fetcht 2 ,mem_le_dsniff 
+0x5546 022064 iadd temp ,pdata 
+0x5547 022065 store 4 ,mem_le_anchor 
+0x5548 022066 isub clkn_bt ,rega 
+0x5549 022067 increase -6 ,rega 
+0x554a 022068 arg 0x2205 ,regb 
+0x554b 022069 fetch 1 ,mem_le_conn_own_addr_type 
+0x554c 022070 nsetflag blank ,le_sender_addr_bit ,regb 
+0x554d 022071 fetch 1 ,mem_le_conn_peer_addr_type 
+0x554e 022072 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x554f 022073 copy regb ,pdata 
+0x5550 022074 store 2 ,mem_le_txheader 
+0x5551 022075 fetch 6 ,mem_le_lap 
+0x5552 022076 istore 6 ,contw 
+0x5553 022077 fetch 6 ,mem_le_plap 
+0x5554 022078 istore 6 ,contw 
+0x5555 022079 fetch 4 ,mem_le_access 
+0x5556 022080 istore 4 ,contw 
+0x5557 022081 random pdata 
+0x5558 022082 istore 2 ,contw 
+0x5559 022083 random pdata 
+0x555a 022084 istore 1 ,contw 
+0x555b 022085 force 2 ,pdata 
+0x555c 022086 istore 1 ,contw 
+0x555d 022087 rshift2 rega ,pdata 
+0x555e 022088 istore 2 ,contw 
+0x555f 022089 rshift2 regc ,pdata 
+0x5560 022090 istore 2 ,contw 
+0x5561 022091 bpatchx patch2a_5 ,mem_patch2a 
+0x5562 022092 setarg 0 
+0x5563 022093 istore 2 ,contw 
+0x5564 022094 fetch 2 ,mem_le_timeout 
+0x5565 022095 istore 2 ,contw 
+0x5566 022096 fetch 5 ,mem_le_channel_map 
+0x5567 022097 istore 5 ,contw 
+0x5568 022098 fetch 1 ,mem_le_hop 
+0x5569 022099 arg param_le_sca ,temp 
+0x556a 022100 ior temp ,pdata 
+0x556b 022101 istore 1 ,contw 
+0x556c 022102 call le_transmit_norx 
+0x556d 022103 setarg mem_le_txheader 
+0x556e 022104 add pdata ,18 ,contr 
+0x556f 022105 ifetch 3 ,contr 
+0x5570 022106 store 3 ,mem_le_crcinit 
+0x5571 022107 rtn 
+:      022109 le_init_adv:
+0x5572 022110 bpatchx patch2a_6 ,mem_patch2a 
+0x5573 022111 disable master 
+0x5574 022112 branch le_adv_access 
+:      022116 le_update_param:
+0x5575 022117 fetch 1 ,mem_le_state 
+0x5576 022118 rtnbit0 lestate_update_param 
+0x5577 022119 fetch 2 ,mem_le_event_count 
+0x5578 022120 fetcht 2 ,mem_le_instant 
+0x5579 022121 isub temp ,pdata 
+0x557a 022122 nrtn positive 
+0x557b 022123 store 2 ,mem_pdatatemp 
+0x557c 022124 bpatchx patch2a_7 ,mem_patch2a 
+0x557d 022125 fetch 1 ,mem_le_state 
+0x557e 022126 set0 lestate_update_param ,pdata 
+0x557f 022127 set0 lestate_got_first_packet ,pdata 
+0x5580 022128 store 1 ,mem_le_state 
+0x5581 022129 fetch 4 ,mem_le_anchor 
+0x5582 022130 fetcht 2 ,mem_le_tsniff 
+0x5583 022131 storet 2 ,mem_temp 
+0x5584 022132 isub temp ,rega 
+0x5585 022133 bpatchx patch2b_0 ,mem_patch2b 
+0x5586 022134 fetch 1 ,mem_le_new_param 
+0x5587 022135 store 1 ,mem_le_window_size 
+0x5588 022136 ifetcht 2 ,contr 
+0x5589 022137 ifetch 2 ,contr 
+0x558a 022138 lshift2 pdata ,pdata 
+0x558b 022139 store 2 ,mem_le_tsniff 
+0x558c 022140 lshift2 temp ,temp 
+0x558d 022141 iadd temp ,pdata 
+0x558e 022142 ifetcht 4 ,contr 
+0x558f 022143 storet 4 ,mem_le_slave_latency 
+0x5590 022144 iadd rega ,pdata 
+0x5591 022145 copy pdata ,regab 
+0x5592 022146 fetch 2 ,mem_le_tsniff 
+0x5593 022147 fetcht 2 ,mem_temp 
+0x5594 022148 isub temp ,pdata 
+0x5595 022149 fetcht 2 ,mem_pdatatemp 
+0x5596 022150 imul32 temp ,pdata 
+0x5597 022151 iadd regab ,pdata 
+0x5598 022152 store 4 ,mem_le_anchor 
+0x5599 022153 call le_receive_window_size 
+0x559a 022154 fetch 2 ,mem_le_superto 
+0x559b 022155 store 2 ,mem_le_init_superto 
+0x559c 022156 rtn 
+:      022159 le_update_channel_map:
+0x559d 022160 bpatchx patch2b_1 ,mem_patch2b 
+0x559e 022161 fetch 1 ,mem_le_state 
+0x559f 022162 rtnbit0 lestate_update_map 
+0x55a0 022163 fetch 2 ,mem_le_event_count 
+0x55a1 022164 fetcht 2 ,mem_le_instant 
+0x55a2 022165 isub temp ,pdata 
+0x55a3 022166 nrtn positive 
+0x55a4 022167 fetch 1 ,mem_le_state 
+0x55a5 022168 set0 lestate_update_map ,pdata 
+0x55a6 022169 store 1 ,mem_le_state 
+0x55a7 022170 fetch 5 ,mem_le_new_map 
+0x55a8 022171 store 5 ,mem_le_channel_map 
+0x55a9 022172 branch le_calc_channel_map 
+:      022175 le_acknowledge:
+0x55aa 022176 bpatchx patch2b_2 ,mem_patch2b 
+0x55ab 022177 call le_supervision_flush 
+0x55ac 022178 call le_check_wak 
+0x55ad 022179 fetch 1 ,mem_le_rxbuf 
+0x55ae 022180 isolate1 md ,pdata 
+0x55af 022181 setflag true ,mark_ble_rx_md ,mark 
+0x55b0 022182 rshift pdata ,pdata 
+0x55b1 022183 ixor temp ,pdata 
+0x55b2 022184 isolate1 nesn ,pdata 
+0x55b3 022185 setflag true ,mark_old_packet ,mark 
+0x55b4 022186 rtnmark1 mark_old_packet 
+0x55b5 022187 fetch 1 ,mem_le_rxbuf + 1 
+0x55b6 022188 branch le_ack_unenc ,blank 
+0x55b7 022189 fetch 1 ,mem_le_state 
+0x55b8 022190 bbit0 lestate_encryption ,le_ack_unenc 
+0x55b9 022191 call load_sk 
+0x55ba 022192 call le_decrypt 
+0x55bb 022193 nrtn blank 
+:      022194 le_ack_unenc:
+0x55bc 022195 fetcht 1 ,mem_le_arq 
+0x55bd 022196 setflip nesn ,temp 
+0x55be 022197 storet 1 ,mem_le_arq 
+0x55bf 022198 rtn 
+:      022201 le_check_wak:
+0x55c0 022202 bpatchx patch2b_3 ,mem_patch2b 
+0x55c1 022203 fetcht 1 ,mem_le_arq 
+0x55c2 022204 isolate0 wak ,temp 
+0x55c3 022205 rtn true 
+0x55c4 022206 fetch 1 ,mem_le_rxbuf 
+0x55c5 022207 lshift pdata ,pdata 
+0x55c6 022208 ixor temp ,pdata 
+0x55c7 022209 rtnbit0 sn 
+0x55c8 022210 set0 wak ,temp 
+0x55c9 022211 setflip sn ,temp 
+0x55ca 022212 storet 1 ,mem_le_arq 
+0x55cb 022213 compare 3 ,temp ,3 
+0x55cc 022214 nrtn true 
+0x55cd 022215 fetch 1 ,mem_le_txpayload 
+0x55ce 022216 beq ll_start_enc_req ,le_set_enc 
+0x55cf 022217 fetch 1 ,mem_le_enc_state 
+0x55d0 022218 beq flag_le_enc_pause ,le_clear_enc 
+0x55d1 022219 rtn 
+:      022222 le_set_enc:
+0x55d2 022223 fetch 1 ,mem_le_state 
+0x55d3 022224 set1 lestate_encryption ,pdata 
+0x55d4 022225 store 1 ,mem_le_state 
+0x55d5 022226 rtn 
+:      022228 le_clear_enc:
+0x55d6 022229 bpatchx patch2b_4 ,mem_patch2b 
+0x55d7 022230 jam flag_le_enc_null ,mem_le_enc_state 
+0x55d8 022231 arg 0 ,pdata 
+0x55d9 022232 store 4 ,mem_le_last_mic 
+0x55da 022233 store 5 ,mem_le_pcnt_tx 
+0x55db 022234 set1 39 ,pdata 
+0x55dc 022235 store 5 ,mem_le_pcnt_rx 
+0x55dd 022236 fetch 1 ,mem_le_state 
+0x55de 022237 set0 lestate_encryption ,pdata 
+0x55df 022238 store 1 ,mem_le_state 
+0x55e0 022239 rtn 
+:      022242 le_wait_adv:
+0x55e1 022243 bpatchx patch2b_5 ,mem_patch2b 
+0x55e2 022244 call le_next_adv_channel 
+0x55e3 022245 call le_receive_adv 
+0x55e4 022246 fetch 1 ,mem_le_adv_waitcnt 
+0x55e5 022247 increase 1 ,pdata 
+0x55e6 022248 store 1 ,mem_le_adv_waitcnt 
+0x55e7 022249 rtn 
+:      022252 le_scan:
+0x55e8 022253 bpatchx patch2b_6 ,mem_patch2b 
+0x55e9 022254 fetch 1 ,mem_le_scan_enable 
+0x55ea 022255 rtnne le_scan_enable 
+0x55eb 022256 arg le_scan_interval_timer ,queue 
+0x55ec 022257 call timer_check 
+0x55ed 022258 nrtn blank 
+0x55ee 022259 fetch 2 ,mem_le_scan_interval 
+0x55ef 022260 fetcht 2 ,mem_le_scan_window 
+0x55f0 022261 isub temp ,pdata 
+0x55f1 022262 arg le_scan_interval_timer ,queue 
+0x55f2 022263 call timer_init 
+0x55f3 022264 disable master 
+0x55f4 022265 call le_init_adv 
+0x55f5 022266 call le_wait_adv 
+0x55f6 022267 nrtn match 
+0x55f7 022268 bpatchx patch2b_7 ,mem_patch2b 
+0x55f8 022269 fetch 6 ,mem_le_rxbuf + 2 
+0x55f9 022270 store 6 ,mem_le_plap 
+0x55fa 022273 fetch 1 ,mem_le_adv_rcv 
+0x55fb 022274 increase 1 ,pdata 
+0x55fc 022275 store 1 ,mem_le_adv_rcv 
+0x55fd 022276 call le_create_conn 
+0x55fe 022277 rtn master 
+0x55ff 022278 call le_send_scan_request 
+0x5600 022279 nrtn match 
+0x5601 022280 bpatchx patch2c_0 ,mem_patch2c 
+0x5602 022281 fetch 1 ,mem_le_scanrsp_rcv 
+0x5603 022282 increase 1 ,pdata 
+0x5604 022283 store 1 ,mem_le_scanrsp_rcv 
+0x5605 022284 fetch 9 ,mem_le_rxbuf + 8 
+0x5606 022285 store 9 ,mem_tmp_buffer 
+0x5607 022286 rtn 
+:      022288 le_create_conn:
+0x5608 022289 bpatchx patch2c_1 ,mem_patch2c 
+0x5609 022290 fetch 1 ,mem_cmd_le_create_conn 
+0x560a 022291 rtnne hci_cmd_le_create_conn 
+0x560b 022292 fetch 6 ,mem_le_plap 
+0x560c 022293 fetcht 6 ,mem_le_conn_peer_addr 
+0x560d 022294 isub temp ,null 
+0x560e 022295 nrtn zero 
+0x560f 022296 call context_new 
+0x5610 022297 nrtn zero 
+0x5611 022298 call le_connect_request 
+0x5612 022299 call le_init_master 
+0x5613 022300 bpatchx patch2c_2 ,mem_patch2c 
+0x5614 022301 jam 0 ,mem_hci_cmd 
+0x5615 022302 jam 0 ,mem_le_peer_sca 
+0x5616 022303 jam 0 ,mem_le_scan_enable 
+0x5617 022304 jam 0 ,mem_cmd_le_create_conn 
+0x5618 022305 branch context_save 
+:      022307 le_scan_check_sender_addr_type:
+0x5619 022308 arg 1 ,rega 
+0x561a 022309 fetch 1 ,mem_le_rxbuf 
+0x561b 022310 rtnbit1 le_sender_addr_bit 
+0x561c 022311 arg 0 ,rega 
+0x561d 022312 rtn 
+:      022316 le_prepare_tx:
+0x561e 022317 bpatchx patch2c_3 ,mem_patch2c 
+0x561f 022318 fetch 1 ,mem_le_arq 
+0x5620 022319 rtnbit1 wak 
+0x5621 022320 call le_check_tx_md 
+0x5622 022321 call le_fifo_get_first_tx_ptr 
+0x5623 022322 branch le_send_empty ,blank 
+0x5624 022323 ifetch 1 ,contr 
+0x5625 022324 ifetcht 1 ,contr 
+0x5626 022325 copy temp ,rega 
+0x5627 022326 isub rega ,pdata 
+0x5628 022327 arg le_max_paket_len ,temp 
+0x5629 022328 call not_greater_than 
+0x562a 022329 copy pdata ,temp 
+0x562b 022330 ifetch 1 ,contr 
+0x562c 022331 copy pdata ,type 
+0x562d 022332 copy rega ,pdata 
+0x562e 022333 iadd contr ,contr 
+0x562f 022334 arg mem_le_txpayload ,contw 
+0x5630 022335 copy temp ,loopcnt 
+0x5631 022336 call memcpy 
+0x5632 022337 call le_update_tx_type 
+0x5633 022338 call le_send_packet 
+0x5634 022340 call le_fifo_get_first_tx_ptr 
+0x5635 022341 ifetch 1 ,contr 
+0x5636 022342 copy pdata ,rega 
+0x5637 022343 copy contr ,regc 
+0x5638 022344 ifetcht 1 ,contr 
+0x5639 022345 copy temp ,regb 
+0x563a 022346 isub regb ,pdata 
+0x563b 022347 arg le_max_paket_len ,temp 
+0x563c 022348 call not_greater_than 
+0x563d 022349 iadd regb ,pdata 
+0x563e 022350 istore 1 ,regc 
+0x563f 022351 isub rega ,null 
+0x5640 022352 nrtn zero 
+0x5641 022353 branch le_fifo_release_first_node 
+:      022356 le_check_tx_md:
+0x5642 022357 call le_check_continue 
+0x5643 022358 rtnmark1 mark_ble_tx_md 
+0x5644 022359 fetch 1 ,mem_le_configuration 
+0x5645 022360 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5646 022361 call le_fifo_get_second_tx_ptr 
+0x5647 022362 branch le_clear_md ,blank 
+0x5648 022363 branch le_set_md 
+:      022366 le_check_continue:
+0x5649 022367 call le_fifo_get_first_tx_ptr 
+0x564a 022368 branch le_clear_md ,blank 
+0x564b 022369 ifetch 1 ,contr 
+0x564c 022370 ifetcht 1 ,contr 
+0x564d 022371 isub temp ,pdata 
+0x564e 022372 sub pdata ,le_max_paket_len ,null 
+0x564f 022373 branch le_clear_md ,positive 
+:      022374 le_set_md:
+0x5650 022375 set1 mark_ble_tx_md ,mark 
+0x5651 022376 rtn 
+:      022378 le_clear_md:
+0x5652 022379 set0 mark_ble_tx_md ,mark 
+0x5653 022380 rtn 
+:      022382 le_update_tx_type:
+0x5654 022383 copy rega ,pdata 
+0x5655 022384 rtn blank 
+0x5656 022385 arg llid_continue ,type 
+0x5657 022386 rtn 
+:      022389 le_att_check_notification_enable:
+0x5658 022390 bpatchx patch2c_4 ,mem_patch2c 
+0x5659 022391 increase 1 ,temp 
+0x565a 022392 call le_att_get_handle_ptr 
+0x565b 022393 increase -2 ,contr 
+0x565c 022394 ifetch 2 ,contr 
+0x565d 022395 arg client_charactertic_configuration ,temp 
+0x565e 022396 isub temp ,null 
+0x565f 022397 nrtn zero 
+0x5660 022398 increase 1 ,contr 
+0x5661 022399 copy contr ,rega 
+0x5662 022400 ifetch 1 ,contr 
+0x5663 022401 rtn 
+:      022404 le_send_empty:
+0x5664 022405 force 0 ,temp 
+0x5665 022406 force 1 ,type 
+:      022408 le_send_packet:
+0x5666 022409 bpatchx patch2c_5 ,mem_patch2c 
+0x5667 022410 storet 1 ,mem_le_txlen 
+0x5668 022411 fetcht 1 ,mem_le_arq 
+0x5669 022412 set1 wak ,temp 
+0x566a 022413 and temp ,0xfc ,pdata 
+0x566b 022414 ior type ,pdata 
+0x566c 022415 store 1 ,mem_le_arq 
+0x566d 022416 and_into 0x1f ,pdata 
+0x566e 022417 isolate1 mark_ble_tx_md ,mark 
+0x566f 022418 setflag true ,md ,pdata 
+0x5670 022419 store 1 ,mem_le_txheader 
+0x5671 022421 fetch 1 ,mem_le_txheader 
+0x5672 022422 compare 1 ,type ,3 
+0x5673 022423 nbranch le_send_no_txlen ,true 
+0x5674 022424 fetch 1 ,mem_le_txlen 
+0x5675 022425 rtn blank 
+:      022426 le_send_no_txlen:
+0x5676 022427 fetch 1 ,mem_le_state 
+0x5677 022428 rtnbit0 lestate_encryption 
+0x5678 022429 call load_sk 
+0x5679 022430 branch le_encrypt 
+:      022433 get_lpm_wake_ble_rx_lock:
+0x567a 022434 arg wake_lock_ble_rx ,queue 
+0x567b 022435 branch lpm_get_wake_lock 
+:      022437 put_lpm_wake_ble_rx_lock:
+0x567c 022438 arg wake_lock_ble_rx ,queue 
+0x567d 022439 branch lpm_put_wake_lock 
+:      022442 le_parse:
+0x567e 022443 bpatchx patch2c_6 ,mem_patch2c 
+0x567f 022444 rtnmark1 mark_old_packet 
+0x5680 022445 call le_fifo_check_full 
+0x5681 022446 nrtn blank 
+0x5682 022447 fetch 1 ,mem_le_rxbuf 
+0x5683 022448 and pdata ,0x3 ,pdata 
+0x5684 022449 store 1 ,mem_le_packet_llid 
+0x5685 022450 ifetch 1 ,contr 
+0x5686 022451 and pdata ,0x1f ,pdata 
+0x5687 022452 store 1 ,mem_le_packet_size 
+0x5688 022453 rtn blank 
+0x5689 022454 copy contr ,pdata 
+0x568a 022455 store 2 ,mem_le_payload_ptr 
+0x568b 022456 fetch 1 ,mem_le_packet_llid 
+0x568c 022457 beq llid_le_ll ,le_parse_ll 
+:      022458 le_parse_l2cap:
+0x568d 022459 call le_check_l2cap_complete 
+0x568e 022460 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x568f 022461 call put_lpm_wake_ble_rx_lock 
+0x5690 022462 fetch 2 ,mem_le_payload_ptr 
+0x5691 022463 copy pdata ,contr 
+0x5692 022464 ifetch 2 ,contr 
+0x5693 022465 store 2 ,mem_le_l2cap_size 
+0x5694 022466 bpatchx patch2c_7 ,mem_patch2c 
+0x5695 022467 ifetch 2 ,contr 
+0x5696 022468 beq le_l2cap_cid_att ,le_parse_att 
+0x5697 022469 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5698 022470 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5699 022471 rtn 
+:      022474 le_check_l2cap_complete:
+0x569a 022475 fetch 1 ,mem_le_packet_llid 
+0x569b 022476 beq llid_start ,le_check_l2cap_llid_start 
+0x569c 022477 beq llid_continue ,le_check_l2cap_llid_continue 
+0x569d 022478 rtn 
+:      022483 le_check_l2cap_cid_legal:
+0x569e 022484 call enable_user 
+0x569f 022485 arg le_l2cap_cid_att ,temp 
+0x56a0 022486 isub pdata ,null 
+0x56a1 022487 rtn zero 
+0x56a2 022488 arg le_l2cap_cid_signal ,temp 
+0x56a3 022489 isub pdata ,null 
+0x56a4 022490 rtn zero 
+0x56a5 022491 arg le_l2cap_cid_smp ,temp 
+0x56a6 022492 isub pdata ,null 
+0x56a7 022493 rtn zero 
+0x56a8 022494 branch disable_user 
+:      022497 le_check_l2cap_llid_start:
+0x56a9 022498 fetch 2 ,mem_le_payload_ptr 
+0x56aa 022499 copy pdata ,contr 
+0x56ab 022500 ifetch 2 ,contr 
+0x56ac 022501 store 2 ,mem_le_l2cap_size 
+0x56ad 022502 ifetch 2 ,contr 
+0x56ae 022503 call le_check_l2cap_cid_legal 
+0x56af 022504 nrtn user 
+0x56b0 022505 fetcht 1 ,mem_le_packet_size 
+0x56b1 022506 storet 1 ,mem_le_packet_len_recved 
+0x56b2 022507 fetch 2 ,mem_le_l2cap_size 
+0x56b3 022508 increase 4 ,pdata 
+0x56b4 022509 isub temp ,null 
+0x56b5 022510 branch enable_user ,zero 
+0x56b6 022511 fetch 1 ,mem_le_packet_size 
+0x56b7 022512 copy pdata ,loopcnt 
+0x56b8 022513 arg mem_le_l2capbuf ,contw 
+0x56b9 022514 fetch 2 ,mem_le_payload_ptr 
+0x56ba 022515 copy pdata ,contr 
+0x56bb 022516 call memcpy 
+0x56bc 022517 branch disable_user 
+:      022522 le_check_l2cap_continue_legal:
+0x56bd 022523 call enable_user 
+0x56be 022524 fetch 1 ,mem_le_packet_len_recved 
+0x56bf 022525 nrtn blank 
+0x56c0 022526 branch disable_user 
+:      022528 le_check_l2cap_llid_continue:
+0x56c1 022529 call le_check_l2cap_continue_legal 
+0x56c2 022530 nrtn user 
+0x56c3 022531 fetch 1 ,mem_le_packet_len_recved 
+0x56c4 022532 arg mem_le_l2capbuf ,contw 
+0x56c5 022533 iadd contw ,rega 
+0x56c6 022534 fetcht 1 ,mem_le_packet_size 
+0x56c7 022535 iadd temp ,pdata 
+0x56c8 022536 store 1 ,mem_le_packet_len_recved 
+0x56c9 022537 fetch 1 ,mem_le_packet_size 
+0x56ca 022538 copy pdata ,loopcnt 
+0x56cb 022539 copy rega ,contw 
+0x56cc 022540 fetch 2 ,mem_le_payload_ptr 
+0x56cd 022541 copy pdata ,contr 
+0x56ce 022542 call memcpy_fast 
+0x56cf 022543 setarg mem_le_l2capbuf 
+0x56d0 022544 store 2 ,mem_le_payload_ptr 
+0x56d1 022545 fetch 2 ,mem_le_l2cap_size 
+0x56d2 022546 increase 4 ,pdata 
+0x56d3 022547 fetcht 1 ,mem_le_packet_len_recved 
+0x56d4 022548 isub temp ,null 
+0x56d5 022549 branch enable_user ,zero 
+0x56d6 022550 branch disable_user 
+:      022556 le_get_search_att_type:
+0x56d7 022557 call store_contr 
+0x56d8 022558 arg mem_le_search_att_type_length ,contw 
+:      022559 le_get_search_common:
+0x56d9 022560 fetch 2 ,mem_le_l2cap_size 
+0x56da 022561 increase -5 ,pdata 
+:      022562 le_get_search_common2:
+0x56db 022563 istore 1 ,contw 
+0x56dc 022564 copy pdata ,loopcnt 
+0x56dd 022565 call get_contr 
+0x56de 022566 branch memcpy_fast 
+:      022568 le_get_search_att_uuid:
+0x56df 022569 call store_contr 
+0x56e0 022570 arg mem_le_search_uuid_length ,contw 
+0x56e1 022571 branch le_get_search_common 
+:      022575 le_writeatt_cb:
+0x56e2 022576 fetch 2 ,mem_cb_att_write 
+0x56e3 022577 branch callback_func 
+:      022579 le_supervision_update:
+0x56e4 022580 fetcht 4 ,mem_le_supervision_timer 
+0x56e5 022581 call get_clkbt 
+0x56e6 022582 isub temp ,timeup 
+0x56e7 022583 deposit timeup 
+0x56e8 022584 fetcht 2 ,mem_le_superto 
+0x56e9 022585 lshift4 temp ,temp 
+0x56ea 022586 lshift temp ,temp 
+0x56eb 022587 isub temp ,pdata 
+0x56ec 022588 rtn 
+:      022590 le_supervision_flush:
+0x56ed 022591 call get_clkbt 
+0x56ee 022592 store 4 ,mem_le_supervision_timer 
+0x56ef 022593 rtn 
+:      022596 le_adv:
+0x56f0 022597 jam 36 ,mem_le_ch_mapped 
+0x56f1 022598 jam 0 ,mem_le_adv_channel_map_temp 
+:      022599 le_adv_loop:
+0x56f2 022600 bpatchx patch2d_0 ,mem_patch2d 
+0x56f3 022601 fetch 1 ,mem_le_adv_enable 
+0x56f4 022602 rtn blank 
+0x56f5 022603 arg le_adv_interval_timer ,queue 
+0x56f6 022604 call timer_check 
+0x56f7 022605 nrtn blank 
+0x56f8 022606 bpatchx patch2d_1 ,mem_patch2d 
+:      022607 le_adv_loop_tx:
+0x56f9 022608 disable master 
+0x56fa 022609 enable swfine 
+0x56fb 022610 call le_init_adv 
+0x56fc 022611 call le_next_adv_channel 
+0x56fd 022612 call le_send_adv_ind 
+0x56fe 022613 nbranch le_adv_not_match ,match 
+0x56ff 022614 fetch 1 ,mem_le_req_rcv 
+0x5700 022615 increase 1 ,pdata 
+0x5701 022616 store 1 ,mem_le_req_rcv 
+0x5702 022617 fetch 1 ,mem_le_rxbuf 
+0x5703 022618 and pdata ,0x0f ,pdata 
+0x5704 022619 beq scan_req ,le_send_scan_response 
+0x5705 022620 beq connect_req ,le_parse_connect_req 
+:      022621 le_adv_not_match:
+0x5706 022622 bpatchx patch2d_2 ,mem_patch2d 
+0x5707 022623 random pdata 
+0x5708 022624 arg 0x1ff ,temp 
+0x5709 022625 iand temp ,pdata 
+0x570a 022626 add pdata ,250 ,pdata 
+0x570b 022627 call delay 
+0x570c 022628 fetch 1 ,mem_le_adv_channel_map_temp 
+0x570d 022629 fetcht 1 ,mem_le_adv_channel_map 
+0x570e 022630 isub temp ,null 
+0x570f 022631 nbranch le_adv_loop ,zero 
+0x5710 022632 arg le_adv_interval_timer ,queue 
+0x5711 022633 fetch 2 ,mem_le_adv_interval 
+0x5712 022634 branch timer_init 
+:      022637 le_receive_window_size:
+0x5713 022638 bpatchx patch2d_3 ,mem_patch2d 
+0x5714 022639 fetch 1 ,mem_le_peer_sca 
+0x5715 022640 call le_sca_map 
+0x5716 022641 fetch 2 ,mem_le_tsniff 
+0x5717 022642 imul32 temp ,pdata 
+0x5718 022643 arg 375 ,temp 
+0x5719 022644 imul32 temp ,pdata 
+0x571a 022645 arg 100000 ,temp 
+0x571b 022646 idiv temp 
+0x571c 022647 fetch 1 ,mem_le_window_size 
+0x571d 022648 arg 20000 ,temp 
+0x571e 022649 imul32 temp ,pdata 
+0x571f 022650 iadd temp ,pdata 
+0x5720 022651 store 4 ,mem_le_transmit_window 
+0x5721 022652 bpatchx patch2d_4 ,mem_patch2d 
+0x5722 022653 fetch 2 ,mem_rx_window_sniff 
+0x5723 022654 call wait_div_end 
+0x5724 022655 quotient temp 
+0x5725 022656 iadd temp ,pdata 
+0x5726 022657 store 2 ,mem_le_receive_window 
+0x5727 022658 rtn 
+:      022660 le_parse_connect_req:
+0x5728 022661 bpatchx patch2d_5 ,mem_patch2d 
+0x5729 022662 fetch 6 ,mem_le_rxbuf + 8 
+0x572a 022663 fetcht 6 ,mem_le_lap 
+0x572b 022664 isub temp ,null 
+0x572c 022665 nrtn zero 
+0x572d 022666 call le_scan_check_sender_addr_type 
+0x572e 022667 copy rega ,pdata 
+0x572f 022668 store 1 ,mem_le_conn_peer_addr_type 
+0x5730 022669 fetch 7 ,mem_le_rxbuf + 21 
+0x5731 022670 store 7 ,mem_tmp_buffer 
+0x5732 022671 ifetch 8 ,contr 
+0x5733 022672 istore 8 ,contw 
+0x5734 022673 fetch 6 ,mem_le_rxbuf + 2 
+0x5735 022674 store 6 ,mem_le_plap 
+0x5736 022675 increase 6 ,contr 
+0x5737 022676 ifetch 8 ,contr 
+0x5738 022677 store 8 ,mem_le_access 
+0x5739 022678 ifetcht 2 ,contr 
+0x573a 022679 bpatchx patch2d_6 ,mem_patch2d 
+0x573b 022680 lshift2 temp ,temp 
+0x573c 022681 ifetch 2 ,contr 
+0x573d 022682 lshift2 pdata ,pdata 
+0x573e 022683 store 2 ,mem_le_tsniff 
+0x573f 022684 store 4 ,mem_le_anchor 
+0x5740 022685 isub temp ,pdata 
+0x5741 022686 add pdata ,-2 ,clke_bt 
+0x5742 022687 ifetch 9 ,contr 
+0x5743 022688 store 9 ,mem_le_slave_latency 
+0x5744 022689 bpatchx patch2d_7 ,mem_patch2d 
+0x5745 022690 ifetch 1 ,contr 
+0x5746 022691 rshift4 pdata ,temp 
+0x5747 022692 rshift temp ,temp 
+0x5748 022693 storet 1 ,mem_le_peer_sca 
+0x5749 022694 and_into 0x1f ,pdata 
+0x574a 022695 store 1 ,mem_le_hop 
+0x574b 022696 call le_receive_window_size 
+0x574c 022697 call le_calc_channel_map 
+0x574d 022698 call le_init_slave 
+0x574e 022699 call context_new 
+0x574f 022700 nrtn zero 
+0x5750 022701 bpatchx patch2e_0 ,mem_patch2e 
+0x5751 022702 call calc_clke_offset 
+0x5752 022703 call le_l2cap_reset_signaling_identifier 
+0x5753 022704 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5754 022705 call ui_ipc_send_event 
+0x5755 022706 branch context_save 
+:      022709 le_init_attlist_search:
+0x5756 022710 bpatchx patch2e_1 ,mem_patch2e 
+0x5757 022711 fetch 2 ,mem_le_search_handle_start 
+0x5758 022712 iforce regb 
+0x5759 022713 fetch 2 ,mem_le_search_handle_end 
+0x575a 022714 iforce regc 
+0x575b 022715 fetch 2 ,mem_ui_le_uuid_table 
+0x575c 022716 iforce contr 
+0x575d 022717 enable user 
+0x575e 022718 rtn 
+:      022721 le_att_handle_inrange:
+0x575f 022722 ifetch 2 ,contr 
+0x5760 022723 rtn blank 
+0x5761 022724 isub regb ,null 
+0x5762 022725 nrtn positive 
+0x5763 022726 isub regc ,null 
+0x5764 022727 rtn zero 
+0x5765 022728 branch le_att_handle_blank ,positive 
+0x5766 022729 force 1 ,null 
+0x5767 022730 rtn 
+:      022731 le_att_handle_blank:
+0x5768 022732 force 0 ,pdata 
+0x5769 022733 rtn 
+:      022737 le_att_get_handle_ptr:
+0x576a 022738 call le_att_get_handle_ptr2 
+0x576b 022739 branch le_att_get_handle_ptr_found ,zero 
+0x576c 022740 rtn 
+:      022742 le_att_get_handle_ptr2:
+0x576d 022743 bpatchx patch2e_2 ,mem_patch2e 
+0x576e 022744 fetch 2 ,mem_ui_le_uuid_table 
+0x576f 022745 iforce contr 
+:      022746 le_att_get_handle_loop1:
+0x5770 022747 ifetch 2 ,contr 
+0x5771 022748 rtn blank 
+0x5772 022749 isub temp ,null 
+0x5773 022750 rtn zero 
+0x5774 022751 ifetch 1 ,contr 
+0x5775 022752 iadd contr ,contr 
+0x5776 022753 ifetch 1 ,contr 
+0x5777 022754 iadd contr ,contr 
+0x5778 022755 branch le_att_get_handle_loop1 
+:      022756 le_att_get_handle_ptr_found:
+0x5779 022757 ifetch 1 ,contr 
+0x577a 022758 iadd contr ,contr 
+0x577b 022759 rtn 
+:      022763 le_att_get_short_uuid_ptr:
+0x577c 022764 bpatchx patch2e_3 ,mem_patch2e 
+0x577d 022765 fetch 2 ,mem_ui_le_uuid_table 
+0x577e 022766 iforce contr 
+:      022767 le_att_get_short_uuid_loop:
+0x577f 022768 ifetch 2 ,contr 
+0x5780 022769 rtn blank 
+0x5781 022770 ifetch 1 ,contr 
+0x5782 022771 iadd contr ,contr 
+0x5783 022772 increase -2 ,contr 
+0x5784 022773 ifetch 2 ,contr 
+0x5785 022774 isub temp ,null 
+0x5786 022775 rtn zero 
+0x5787 022776 ifetch 1 ,contr 
+0x5788 022777 iadd contr ,contr 
+0x5789 022778 branch le_att_get_short_uuid_loop 
+:      022782 le_att_get_handle_info_from_ptr:
+0x578a 022783 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x578b 022784 branch le_att_get_handle_info_fast 
+:      022786 le_att_get_handle_info:
+0x578c 022787 bpatchx patch2e_4 ,mem_patch2e 
+0x578d 022788 fetch 2 ,mem_ui_le_uuid_table 
+:      022789 le_att_get_handle_info_fast:
+0x578e 022790 iforce contr 
+0x578f 022791 copy temp ,rega 
+:      022792 le_att_get_handle_loop:
+0x5790 022793 ifetch 2 ,contr 
+0x5791 022794 branch le_att_unfind_handle ,blank 
+0x5792 022795 isub rega ,null 
+0x5793 022796 branch le_att_finded_handle ,zero 
+0x5794 022797 ifetch 1 ,contr 
+0x5795 022798 iadd contr ,contr 
+0x5796 022799 ifetch 1 ,contr 
+0x5797 022800 iadd contr ,contr 
+0x5798 022801 branch le_att_get_handle_loop 
+:      022802 le_att_unfind_handle:
+0x5799 022803 branch disable_blank 
+:      022805 le_att_finded_handle:
+0x579a 022806 ifetch 1 ,contr 
+0x579b 022807 store 1 ,mem_le_cur_uuid_length 
+0x579c 022808 copy pdata ,loopcnt 
+0x579d 022809 arg mem_le_cur_uuid ,contw 
+0x579e 022810 call memcpy_fast 
+0x579f 022811 ifetch 1 ,contr 
+0x57a0 022812 store 1 ,mem_le_curr_att_len 
+0x57a1 022813 call store_contr 
+0x57a2 022814 branch enable_blank 
+:      022817 le_modified_name:
+0x57a3 022818 bpatchx patch2e_5 ,mem_patch2e 
+0x57a4 022819 call le_modified_name_att_list 
+0x57a5 022820 branch le_modified_name_adv 
+:      022822 le_modified_name_att_list:
+0x57a6 022823 arg uuid_chrctr_device_name ,temp 
+0x57a7 022824 call le_att_get_short_uuid_ptr 
+0x57a8 022825 rtn blank 
+0x57a9 022826 ifetch 1 ,contr 
+0x57aa 022827 copy contr ,contw 
+0x57ab 022828 fetcht 1 ,mem_le_name_len 
+0x57ac 022829 copy temp ,loopcnt 
+0x57ad 022830 isub temp ,null 
+0x57ae 022831 nbranch le_name_length_longer_than_att ,positive 
+0x57af 022832 isub temp ,temp 
+0x57b0 022833 arg mem_le_name ,contr 
+0x57b1 022834 call memcpy 
+0x57b2 022835 copy temp ,loopcnt 
+0x57b3 022836 ncall memcpy_empty ,zero 
+0x57b4 022837 rtn 
+:      022838 le_name_length_longer_than_att:
+0x57b5 022839 copy pdata ,loopcnt 
+0x57b6 022840 arg mem_le_name ,contr 
+0x57b7 022841 branch memcpy_fast 
+:      022844 le_modified_name_adv:
+0x57b8 022845 arg mem_le_adv_data_len + 32 ,regc 
+0x57b9 022846 arg mem_le_adv_data ,rega 
+0x57ba 022847 call le_modified_name_adv_and_scan 
+0x57bb 022848 setarg 0 
+0x57bc 022849 setflag user ,0 ,pdata 
+0x57bd 022850 store 1 ,mem_pdatatemp 
+0x57be 022851 arg mem_le_scan_data_len + 32 ,regc 
+0x57bf 022852 arg mem_le_scan_data ,rega 
+0x57c0 022853 call le_modified_name_adv_and_scan 
+0x57c1 022854 rtn user 
+0x57c2 022855 fetch 1 ,mem_pdatatemp 
+0x57c3 022856 branch assert ,blank 
+0x57c4 022857 rtn 
+:      022860 le_modified_name_adv_and_scan:
+0x57c5 022861 bpatchx patch2e_6 ,mem_patch2e 
+0x57c6 022862 call enable_user 
+0x57c7 022863 call clear_temp_block 
+0x57c8 022864 arg 0 ,regb 
+0x57c9 022865 arg mem_le_data_temp ,contw 
+0x57ca 022866 call le_modified_name_adv_loop 
+0x57cb 022867 fetch 1 ,mem_le_name_len 
+0x57cc 022868 add pdata ,1 ,temp 
+0x57cd 022869 iadd regb ,rega 
+0x57ce 022870 increase 2 ,rega 
+0x57cf 022871 sub rega ,0x1f ,null 
+0x57d0 022872 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x57d1 022873 istoret 1 ,contw 
+0x57d2 022874 arg gap_adtype_local_name_complete ,temp 
+0x57d3 022875 istoret 1 ,contw 
+0x57d4 022876 iforce loopcnt 
+0x57d5 022877 call memcpy_fast 
+0x57d6 022878 copy rega ,regb 
+:      022879 le_modified_name_adv_and_scan_store_data:
+0x57d7 022880 deposit regb 
+0x57d8 022881 store 1 ,mem_le_data_len_temp 
+0x57d9 022882 arg mem_le_data_len_temp ,contr 
+0x57da 022883 setarg -32 
+0x57db 022884 iadd regc ,contw 
+0x57dc 022885 branch memcpy32 
+:      022887 le_modified_name_adv_and_scan_name_overflow:
+0x57dd 022888 call disable_user 
+0x57de 022889 branch le_modified_name_adv_and_scan_store_data 
+:      022891 le_modified_name_adv_loop:
+0x57df 022892 ifetch 1 ,rega 
+0x57e0 022893 rtn blank 
+0x57e1 022894 pincrease 1 
+0x57e2 022895 ifetcht 1 ,contr 
+0x57e3 022896 sub temp ,gap_adtype_local_name_complete ,null 
+0x57e4 022897 branch le_modified_name_adv_found_name ,zero 
+0x57e5 022898 iadd regb ,regb 
+0x57e6 022899 copy rega ,contr 
+0x57e7 022900 iforce loopcnt 
+0x57e8 022901 call memcpy_fast 
+0x57e9 022902 copy contr ,rega 
+:      022903 le_modified_name_adv_loop2:
+0x57ea 022904 deposit rega 
+0x57eb 022905 isub regc ,null 
+0x57ec 022906 rtn positive 
+0x57ed 022907 branch le_modified_name_adv_loop 
+:      022909 le_modified_name_adv_found_name:
+0x57ee 022910 iadd rega ,rega 
+0x57ef 022911 branch le_modified_name_adv_loop2 
+:      022914 memcpy_empty:
+0x57f0 022915 setarg space 
+0x57f1 022916 istore 1 ,contw 
+0x57f2 022917 loop memcpy_empty 
+0x57f3 022918 rtn 
+:      022921 le_lpm_set_mult:
+0x57f4 022922 bpatchx patch2e_7 ,mem_patch2e 
+0x57f5 022923 disable wake 
+0x57f6 022924 branch le_lpm_set_mult_attempt ,attempt 
+0x57f7 022925 nbranch le_lpm_lost ,match 
+:      022926 le_lpm_set_mult_attempt:
+0x57f8 022927 call lpm_match 
+0x57f9 022928 fetch 2 ,mem_rx_window_sniff 
+0x57fa 022929 store 2 ,mem_le_receive_window 
+0x57fb 022931 nbranch lpm_mult_short ,match 
+0x57fc 022932 bmark1 mark_old_packet ,lpm_mult_short 
+0x57fd 022934 fetch 1 ,mem_le_packet_size 
+0x57fe 022935 nbranch lpm_mult_short ,blank 
+0x57ff 022936 fetch 1 ,mem_le_txlen 
+0x5800 022937 nbranch lpm_mult_short ,blank 
+0x5801 022939 fetch 1 ,mem_le_configuration 
+0x5802 022940 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5803 022942 fetch 1 ,mem_le_state 
+0x5804 022943 bbit1 lestate_update_param ,lpm_mult_short 
+0x5805 022944 branch lpm_mult_wait_timeout 
+:      022946 le_lpm_lost:
+0x5806 022947 fetcht 2 ,mem_rx_window_sniff 
+0x5807 022948 rshift temp ,temp 
+0x5808 022949 fetch 2 ,mem_le_receive_window 
+0x5809 022950 iadd temp ,pdata 
+0x580a 022951 store 2 ,mem_le_receive_window 
+0x580b 022952 branch lpm_lost 
+:      022955 le_set_config_fixed_tk:
+0x580c 022956 arg bit_ble_passkey_fixed_key ,queue 
+0x580d 022957 branch le_set_config 
+:      022959 le_clr_config_fixed_tk:
+0x580e 022960 arg bit_ble_passkey_fixed_key ,queue 
+0x580f 022961 branch le_clr_config 
+:      022963 le_set_config_fixed_ltk:
+0x5810 022964 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5811 022965 branch le_set_config 
+:      022967 le_clr_config_fixed_ltk:
+0x5812 022968 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5813 022969 branch le_clr_config 
+:      022971 le_set_config_more_data:
+0x5814 022972 arg bit_ble_transmit_packet_by_md ,queue 
+0x5815 022973 branch le_set_config 
+:      022975 le_clr_config_more_data:
+0x5816 022976 arg bit_ble_transmit_packet_by_md ,queue 
+0x5817 022977 branch le_clr_config 
+:      022979 le_set_config_read_authentication:
+0x5818 022980 arg bit_ble_read_auth ,queue 
+0x5819 022981 branch le_set_config 
+:      022983 le_clr_config_read_authentication:
+0x581a 022984 arg bit_ble_read_auth ,queue 
+0x581b 022985 branch le_clr_config 
+:      022987 le_set_config_write_authentication:
+0x581c 022988 arg bit_ble_write_auth ,queue 
+0x581d 022989 branch le_set_config 
+:      022991 le_clr_config_write_authentication:
+0x581e 022992 arg bit_ble_write_auth ,queue 
+0x581f 022993 branch le_clr_config 
+:      022995 le_set_config_short_mult:
+0x5820 022996 arg bit_ble_short_mult ,queue 
+0x5821 022997 branch le_set_config 
+:      022999 le_clr_config_short_mult:
+0x5822 023000 arg bit_ble_short_mult ,queue 
+0x5823 023001 branch le_clr_config 
+:      023004 le_set_config:
+0x5824 023005 fetch 1 ,mem_le_configuration 
+0x5825 023006 qset1 pdata 
+0x5826 023007 store 1 ,mem_le_configuration 
+0x5827 023008 rtn 
+:      023010 le_clr_config:
+0x5828 023011 fetch 1 ,mem_le_configuration 
+0x5829 023012 qset0 pdata 
+0x582a 023013 store 1 ,mem_le_configuration 
+0x582b 023014 rtn 
+:      023016 le_set_fixed_ltk:
+0x582c 023017 setarg 0x112233 
+0x582d 023018 store 3 ,mem_le_fixed_ltk 
+0x582e 023019 setarg 0x445566 
+0x582f 023020 istore 3 ,contw 
+0x5830 023021 setarg 0x778899 
+0x5831 023022 istore 3 ,contw 
+0x5832 023023 setarg 0x001122 
+0x5833 023024 istore 3 ,contw 
+0x5834 023025 setarg 0x334455 
+0x5835 023026 istore 3 ,contw 
+0x5836 023027 setarg 0x66 
+0x5837 023028 istore 1 ,contw 
+0x5838 023029 rtn 
+:      023032 le_set_justwork:
+0x5839 023033 setarg 0x01000302 
+0x583a 023034 store 4 ,mem_le_pres 
+0x583b 023035 setarg 0x010010 
+0x583c 023036 store 3 ,mem_le_pres_max_keysize 
+0x583d 023037 jam 1 ,mem_le_pairing_mode 
+0x583e 023038 rtn 
+:      023042 le_fifo_malloc_tx_empty:
+0x583f 023043 arg 0 ,rega 
+0x5840 023044 arg llid_empty ,type 
+0x5841 023045 branch le_fifo_malloc_tx 
+:      023049 le_fifo_malloc_tx_ll:
+0x5842 023050 arg llid_le_ll ,type 
+0x5843 023051 call le_fifo_malloc_tx 
+0x5844 023052 copy regb ,pdata 
+0x5845 023053 istore 1 ,contw 
+0x5846 023054 rtn 
+:      023058 le_fifo_malloc_tx_l2cap:
+0x5847 023059 force llid_l2cap_start ,type 
+0x5848 023060 increase 4 ,rega 
+0x5849 023061 call le_fifo_malloc_tx 
+0x584a 023062 increase -4 ,rega 
+0x584b 023063 copy rega ,pdata 
+0x584c 023064 istore 2 ,contw 
+0x584d 023065 copy regb ,pdata 
+0x584e 023066 istore 2 ,contw 
+0x584f 023067 rtn 
+:      023071 le_fifo_malloc_tx:
+0x5850 023072 sub rega ,240 ,null 
+0x5851 023073 nbranch assert ,positive 
+0x5852 023074 fetch 1 ,mem_le_tx_buff_used 
+0x5853 023075 arg 1 ,temp 
+0x5854 023076 arg le_tx_buff_count ,loopcnt 
+:      023077 le_fifo_malloc_tx_loop:
+0x5855 023078 iand temp ,null 
+0x5856 023079 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5857 023080 lshift temp ,temp 
+0x5858 023081 loop le_fifo_malloc_tx_loop 
+0x5859 023082 branch assert 
+:      023083 le_fifo_malloc_tx_got_empty:
+0x585a 023084 ixor temp ,pdata 
+0x585b 023085 store 1 ,mem_le_tx_buff_used 
+0x585c 023086 sub loopcnt ,le_tx_buff_count ,pdata 
+0x585d 023087 lshift4 pdata ,pdata 
+0x585e 023088 lshift4 pdata ,pdata 
+0x585f 023089 arg mem_le_tx_buffer0 ,temp 
+0x5860 023090 iadd temp ,temp 
+:      023091 le_fifo_tx_find_empty_ptr:
+0x5861 023092 arg 0 ,loopcnt 
+0x5862 023093 arg mem_le_tx_ptr0 ,contr 
+:      023094 le_fifo_tx_find_empty_ptr_loop:
+0x5863 023095 ifetch 2 ,contr 
+0x5864 023096 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5865 023097 copy loopcnt ,pdata 
+0x5866 023098 increase 1 ,loopcnt 
+0x5867 023099 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5868 023100 branch assert 
+:      023103 le_fifo_tx_found_empty_ptr:
+0x5869 023104 increase -2 ,contr 
+0x586a 023105 istoret 2 ,contr 
+0x586b 023106 copy temp ,contw 
+0x586c 023107 copy rega ,pdata 
+0x586d 023108 istore 1 ,contw 
+0x586e 023109 setarg 0 
+0x586f 023110 istore 1 ,contw 
+0x5870 023111 copy type ,pdata 
+0x5871 023112 istore 1 ,contw 
+0x5872 023113 rtn 
+:      023117 le_fifo_get_first_tx_ptr:
+0x5873 023118 fetch 2 ,mem_le_tx_ptr0 
+0x5874 023119 copy pdata ,contr 
+0x5875 023120 rtn 
+:      023122 le_fifo_get_second_tx_ptr:
+0x5876 023123 fetch 2 ,mem_le_tx_ptr1 
+0x5877 023124 copy pdata ,contr 
+0x5878 023125 rtn 
+:      023127 le_fifo_get_last_tx_ptr:
+0x5879 023128 call le_fifo_get_last_tx_ptr0 
+0x587a 023129 copy pdata ,contr 
+0x587b 023130 rtn 
+:      023131 le_fifo_get_last_tx_ptr0:
+0x587c 023132 fetch 2 ,mem_le_tx_ptr3 
+0x587d 023133 nrtn blank 
+0x587e 023134 fetch 2 ,mem_le_tx_ptr2 
+0x587f 023135 nrtn blank 
+0x5880 023136 fetch 2 ,mem_le_tx_ptr1 
+0x5881 023137 nrtn blank 
+0x5882 023138 fetch 2 ,mem_le_tx_ptr0 
+0x5883 023139 rtn 
+:      023141 le_fifo_get_first_l2cap_ptr:
+0x5884 023142 call le_fifo_get_first_tx_ptr 
+0x5885 023143 increase 3 ,contr 
+0x5886 023144 rtn 
+:      023146 le_fifo_get_first_att_ptr:
+0x5887 023147 call le_fifo_get_first_tx_ptr 
+0x5888 023148 increase 7 ,contr 
+0x5889 023149 rtn 
+:      023151 le_fifo_get_last_att_ptr:
+0x588a 023152 call le_fifo_get_last_tx_ptr 
+0x588b 023153 increase 7 ,contr 
+0x588c 023154 rtn 
+:      023156 le_fifo_get_last_l2cap_ptr:
+0x588d 023157 call le_fifo_get_last_tx_ptr 
+0x588e 023158 increase 3 ,contr 
+0x588f 023159 rtn 
+:      023163 le_fifo_check_full:
+0x5890 023164 fetch 2 ,mem_le_tx_ptr3 
+0x5891 023165 rtn 
+:      023168 le_fifo_check_nearly_full:
+0x5892 023169 fetch 2 ,mem_le_tx_ptr2 
+0x5893 023170 rtn 
+:      023173 le_fifo_check_empty:
+0x5894 023174 fetch 2 ,mem_le_tx_ptr0 
+0x5895 023175 rtn 
+:      023178 le_fifo_release_first_node:
+0x5896 023179 fetch 2 ,mem_le_tx_ptr0 
+0x5897 023180 arg mem_le_tx_buffer0 ,temp 
+0x5898 023181 isub temp ,pdata 
+0x5899 023182 rshift4 pdata ,pdata 
+0x589a 023183 rshift4 pdata ,queue 
+0x589b 023184 fetch 1 ,mem_le_tx_buff_used 
+0x589c 023185 qset0 pdata 
+0x589d 023186 store 1 ,mem_le_tx_buff_used 
+0x589e 023187 arg 0 ,loopcnt 
+:      023188 le_fifo_release_first_node_loop:
+0x589f 023189 lshift loopcnt ,pdata 
+0x58a0 023190 arg mem_le_tx_ptr1 ,temp 
+0x58a1 023191 iadd temp ,temp 
+0x58a2 023192 ifetch 2 ,temp 
+0x58a3 023193 increase -2 ,temp 
+0x58a4 023194 istore 2 ,temp 
+0x58a5 023195 copy loopcnt ,pdata 
+0x58a6 023196 increase 1 ,loopcnt 
+0x58a7 023197 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x58a8 023198 setarg 0 
+0x58a9 023199 istore 2 ,temp 
+0x58aa 023200 rtn 
+:      023206 le_parse_att:
+0x58ab 023207 ifetch 3 ,contr 
+0x58ac 023208 store 3 ,mem_le_att_opcode 
+0x58ad 023209 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x58ae 023210 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x58af 023211 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x58b0 023212 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x58b1 023213 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x58b2 023214 beq attop_read_request ,le_parse_att_read_request 
+0x58b3 023215 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x58b4 023216 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x58b5 023217 beq attop_write_request ,le_parse_att_write_request 
+0x58b6 023218 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x58b7 023219 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x58b8 023220 beq attop_write_command ,le_parse_att_write_command 
+0x58b9 023221 rtn 
+:      023224 le_send_att_exchange_mtu_requset:
+0x58ba 023225 force 3 ,rega 
+0x58bb 023226 call le_fifo_malloc_tx_l2cap_gatt 
+0x58bc 023227 setarg attop_exchange_mtu_request 
+0x58bd 023228 istore 1 ,contw 
+0x58be 023229 fetch 2 ,mem_le_local_mtu 
+0x58bf 023230 istore 2 ,contw 
+0x58c0 023231 rtn 
+:      023234 le_parse_att_exchange_mtu_request:
+0x58c1 023235 call le_parse_att_exchange_mtu_response 
+:      023236 le_send_att_exchange_mtu_response:
+0x58c2 023237 force 3 ,rega 
+0x58c3 023238 call le_fifo_malloc_tx_l2cap_gatt 
+0x58c4 023239 setarg attop_exchange_mtu_response 
+0x58c5 023240 istore 1 ,contw 
+0x58c6 023241 fetch 2 ,mem_le_local_mtu 
+0x58c7 023242 istore 2 ,contw 
+0x58c8 023243 rtn 
+:      023245 le_parse_att_exchange_mtu_response:
+0x58c9 023246 rshift8 pdata ,pdata 
+0x58ca 023247 store 2 ,mem_le_remote_mtu 
+0x58cb 023248 rtn 
+:      023250 le_parse_att_find_information_request:
+0x58cc 023251 call le_get_search_handle_start_end_common 
+0x58cd 023252 call enable_user 
+0x58ce 023253 branch le_send_att_find_information_response 
+:      023255 le_send_att_find_information_response:
+0x58cf 023256 arg 3 ,timeup 
+0x58d0 023257 call le_init_attlist_search 
+:      023258 le_send_att_find_information_res_loop:
+0x58d1 023259 call le_att_handle_inrange 
+0x58d2 023260 branch le_send_att_find_information_res_end ,blank 
+0x58d3 023261 nbranch le_send_att_find_information_res_next ,positive 
+0x58d4 023262 increase -2 ,contr 
+0x58d5 023263 call store_contr 
+0x58d6 023264 call get_contw 
+0x58d7 023265 nbranch le_send_att_find_information_res_store_info ,user 
+0x58d8 023266 call push_stack_rega_b_c 
+0x58d9 023267 call disable_user 
+0x58da 023268 force 20 ,rega 
+0x58db 023269 call le_fifo_malloc_tx_l2cap_gatt 
+0x58dc 023270 call pop_stack_rega_b_c 
+0x58dd 023271 setarg attop_find_information_response 
+0x58de 023272 istore 1 ,contw 
+0x58df 023273 setarg uuid_size_16bit 
+0x58e0 023274 istore 1 ,contw 
+:      023275 le_send_att_find_information_res_store_info:
+0x58e1 023276 call get_contr 
+0x58e2 023277 ifetch 2 ,contr 
+0x58e3 023278 istore 2 ,contw 
+0x58e4 023279 ifetch 1 ,contr 
+0x58e5 023280 copy pdata ,loopcnt 
+0x58e6 023281 call memcpy 
+0x58e7 023282 call store_contw 
+0x58e8 023283 increase -1 ,timeup 
+0x58e9 023284 branch le_send_att_find_information_res_end ,zero 
+:      023285 le_send_att_find_information_res_cont:
+0x58ea 023286 ifetch 1 ,contr 
+0x58eb 023287 iadd contr ,contr 
+0x58ec 023288 branch le_send_att_find_information_res_loop 
+:      023289 le_send_att_find_information_res_next:
+0x58ed 023290 ifetch 1 ,contr 
+0x58ee 023291 iadd contr ,contr 
+0x58ef 023292 branch le_send_att_find_information_res_cont 
+:      023293 le_send_att_find_information_res_end:
+0x58f0 023294 branch le_send_att_error_response_notfound ,user 
+0x58f1 023295 branch le_send_auto_len_by_mem 
+:      023298 le_parse_att_find_by_type_value_request:
+0x58f2 023299 call le_get_search_handle_start_end_common 
+0x58f3 023300 ifetch 2 ,contr 
+0x58f4 023301 store 2 ,mem_le_search_uuid 
+0x58f5 023302 call store_contr 
+0x58f6 023303 arg mem_le_search_att_type_length ,contw 
+0x58f7 023304 fetch 2 ,mem_le_l2cap_size 
+0x58f8 023305 increase -7 ,pdata 
+0x58f9 023306 call le_get_search_common2 
+0x58fa 023307 branch le_send_att_find_by_type_value_response 
+:      023310 le_start_end_handle_check_1:
+0x58fb 023311 disable user 
+0x58fc 023312 fetcht 2 ,mem_le_search_handle_start 
+0x58fd 023313 fetch 2 ,mem_le_search_handle_end 
+0x58fe 023314 isub temp ,null 
+0x58ff 023315 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5900 023316 deposit temp 
+0x5901 023317 rtnne 0 
+:      023318 le_start_end_handle_check_1_fail:
+0x5902 023319 enable user 
+0x5903 023320 jam att_err_invalid_handle ,mem_le_err_code 
+0x5904 023321 branch le_send_att_error_response 
+:      023324 le_send_att_find_by_type_value_response:
+0x5905 023325 call le_start_end_handle_check_1 
+0x5906 023326 rtn user 
+0x5907 023327 fetcht 2 ,mem_le_search_uuid 
+0x5908 023328 setarg uuid_gatt_primary_service 
+0x5909 023329 isub temp ,null 
+0x590a 023330 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x590b 023331 branch le_send_att_error_response_notfound 
+:      023334 le_send_att_find_by_type_value_res_primary:
+0x590c 023335 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x590d 023336 fetcht 2 ,mem_le_search_handle_start 
+0x590e 023337 storet 2 ,mem_temp 
+0x590f 023338 call le_att_get_handle_info 
+0x5910 023339 nbranch le_send_att_error_response_notfound ,blank 
+:      023340 le_send_att_find_primary_search_loop:
+0x5911 023341 fetcht 2 ,mem_temp 
+0x5912 023342 call le_att_get_handle_info 
+0x5913 023343 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5914 023344 copy contr ,rega 
+0x5915 023345 fetch 1 ,mem_le_curr_att_len 
+0x5916 023346 copy pdata ,loopcnt 
+0x5917 023347 fetcht 1 ,mem_le_search_att_type_length 
+0x5918 023348 isub temp ,null 
+0x5919 023349 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x591a 023350 arg mem_le_search_att_type ,regb 
+0x591b 023351 call string_compare 
+0x591c 023353 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x591d 023355 fetch 2 ,mem_le_cur_uuid 
+0x591e 023356 fetcht 2 ,mem_le_search_uuid 
+0x591f 023357 isub temp ,null 
+0x5920 023358 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      023359 le_send_att_find_primary_search_loop1:
+0x5921 023360 fetch 2 ,mem_temp 
+0x5922 023361 increase 1 ,pdata 
+0x5923 023362 store 2 ,mem_temp 
+0x5924 023363 branch le_send_att_find_primary_search_loop 
+:      023365 le_send_att_error_response_notfound2:
+0x5925 023366 fetch 1 ,mem_le_search_res 
+0x5926 023367 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5927 023368 branch le_send_att_error_response_notfound 
+:      023371 le_send_att_find_primary_search_end_start_handle_found:
+0x5928 023372 fetch 2 ,mem_le_cur_uuid 
+0x5929 023373 fetcht 2 ,mem_le_search_uuid 
+0x592a 023374 isub temp ,null 
+0x592b 023375 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x592c 023376 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x592d 023378 fetcht 2 ,mem_temp 
+0x592e 023379 storet 2 ,mem_le_cur_handle_start 
+0x592f 023380 branch le_send_att_find_primary_search_loop1 
+:      023382 le_send_att_find_primary_search_end_ending_handle_found:
+0x5930 023383 fetch 1 ,mem_le_search_res 
+0x5931 023384 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5932 023385 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5933 023386 fetcht 2 ,mem_temp 
+0x5934 023387 increase -1 ,temp 
+0x5935 023388 storet 2 ,mem_le_cur_handle_end 
+:      023390 le_send_att_find_primary_search_end:
+0x5936 023391 arg 5 ,rega 
+0x5937 023392 call le_fifo_malloc_tx_l2cap_gatt 
+0x5938 023393 setarg attop_find_by_type_value_response 
+0x5939 023394 istore 1 ,contw 
+0x593a 023395 fetch 2 ,mem_le_cur_handle_start 
+0x593b 023396 istore 2 ,contw 
+0x593c 023397 fetch 2 ,mem_le_cur_handle_end 
+0x593d 023398 istore 2 ,contw 
+0x593e 023399 rtn 
+:      023403 le_parse_att_read_by_type_request:
+0x593f 023404 call le_get_search_handle_start_end_common 
+0x5940 023405 call le_get_search_att_uuid 
+0x5941 023406 branch le_send_att_read_by_type_response 
+:      023408 le_send_att_read_by_type_response:
+0x5942 023409 fetcht 2 ,mem_le_search_handle_start 
+0x5943 023410 storet 2 ,mem_temp 
+0x5944 023411 call le_init_attlist_search 
+0x5945 023412 call le_att_get_handle_ptr2 
+0x5946 023413 increase -2 ,contr 
+0x5947 023414 copy contr ,pdata 
+0x5948 023415 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5949 023417 fetcht 2 ,mem_le_search_uuid 
+0x594a 023418 setarg uuid_chrctr_device_name 
+0x594b 023419 isub temp ,null 
+0x594c 023420 branch le_send_att_read_by_type_res_device_name ,zero 
+0x594d 023421 setarg uuid_gatt_characteristic 
+0x594e 023422 isub temp ,null 
+0x594f 023423 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5950 023424 arg 2 ,timeup 
+:      023425 le_send_att_read_by_type_response_loop:
+0x5951 023426 call le_att_check_handle_end 
+0x5952 023427 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5953 023428 fetcht 2 ,mem_temp 
+0x5954 023429 call le_att_get_handle_info_from_ptr 
+0x5955 023430 beq 1 ,le_send_att_read_by_type_response_end 
+0x5956 023431 call le_att_same_uuid 
+0x5957 023432 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5958 023433 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5959 023434 disable user 
+0x595a 023435 arg 20 ,rega 
+0x595b 023436 call le_fifo_malloc_tx_l2cap_gatt 
+0x595c 023437 setarg attop_read_by_type_response 
+0x595d 023438 istore 1 ,contw 
+0x595e 023439 copy contw ,alarm 
+0x595f 023440 increase 1 ,contw 
+0x5960 023442 call le_send_att_read_by_type_write_properties 
+0x5961 023443 call le_att_next_handle 
+0x5962 023444 call le_att_get_handle_info_from_ptr 
+0x5963 023445 call le_send_att_read_by_type_write_uuid 
+0x5964 023446 fetch 1 ,mem_le_cur_uuid_length 
+0x5965 023447 increase 5 ,pdata 
+0x5966 023448 istore 1 ,alarm 
+0x5967 023449 fetch 1 ,mem_le_cur_uuid_length 
+0x5968 023450 beq 16 ,le_send_att_read_by_type_response_end 
+0x5969 023451 increase -1 ,timeup 
+0x596a 023452 branch le_send_att_read_by_type_response_end ,zero 
+:      023453 le_send_att_read_by_type_response_next_handle:
+0x596b 023454 call le_att_next_handle 
+0x596c 023455 branch le_send_att_read_by_type_response_loop 
+:      023456 le_send_att_read_by_type_response_end:
+0x596d 023457 branch le_send_att_error_response_notfound ,user 
+0x596e 023458 branch le_send_auto_len_by_mem 
+:      023460 le_send_att_read_by_type_res_found_next:
+0x596f 023461 call le_store_att_record 
+0x5970 023462 call le_att_next_handle 
+0x5971 023463 call le_att_get_handle_info_from_ptr 
+0x5972 023464 fetch 1 ,mem_le_cur_uuid_length 
+0x5973 023465 beq 16 ,le_send_att_read_by_type_response_end 
+0x5974 023467 call get_contw 
+0x5975 023468 fetch 2 ,mem_temp 
+0x5976 023469 increase -1 ,pdata 
+0x5977 023470 istore 2 ,contw 
+0x5978 023471 call le_write_att_record_common 
+0x5979 023472 call le_send_att_read_by_type_write_uuid 
+0x597a 023473 increase -1 ,timeup 
+0x597b 023474 branch le_send_att_read_by_type_response_end ,zero 
+0x597c 023475 branch le_send_att_read_by_type_response_next_handle 
+:      023478 le_send_att_read_by_type_write_properties:
+0x597d 023479 fetch 2 ,mem_temp 
+0x597e 023480 istore 2 ,contw 
+0x597f 023482 fetch 1 ,mem_le_curr_att_len 
+0x5980 023483 copy pdata ,loopcnt 
+0x5981 023484 call get_contr 
+0x5982 023485 call memcpy_fast 
+0x5983 023486 branch store_contw 
+:      023487 le_send_att_read_by_type_write_uuid:
+0x5984 023488 call get_contw 
+0x5985 023489 fetch 2 ,mem_temp 
+0x5986 023490 istore 2 ,contw 
+0x5987 023491 call store_contw 
+0x5988 023492 fetch 1 ,mem_le_cur_uuid_length 
+0x5989 023493 copy pdata ,loopcnt 
+0x598a 023494 call get_contw 
+0x598b 023495 call get_contr 
+0x598c 023496 isub loopcnt ,contr 
+0x598d 023497 increase -1 ,contr 
+0x598e 023498 call memcpy_fast 
+0x598f 023499 branch store_contw 
+:      023503 le_send_att_read_by_type_res_not_characteristic:
+0x5990 023504 fetcht 2 ,mem_le_search_handle_start 
+0x5991 023505 storet 2 ,mem_temp 
+:      023506 le_send_att_read_by_type_res_not_char_loop:
+0x5992 023507 call le_att_check_handle_end 
+0x5993 023508 nbranch le_send_att_error_response_notfound ,positive 
+0x5994 023509 call le_att_get_handle_info_from_ptr 
+0x5995 023510 beq 1 ,le_send_att_error_response_notfound 
+0x5996 023511 call le_att_same_uuid 
+0x5997 023512 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      023514 le_send_att_read_by_type_res_not_char_common:
+0x5998 023515 arg 20 ,rega 
+0x5999 023516 call le_fifo_malloc_tx_l2cap_gatt 
+0x599a 023517 setarg attop_read_by_type_response 
+0x599b 023518 istore 1 ,contw 
+0x599c 023519 fetch 1 ,mem_le_curr_att_len 
+0x599d 023520 copy pdata ,loopcnt 
+0x599e 023521 increase 2 ,pdata 
+0x599f 023522 istore 1 ,contw 
+0x59a0 023523 fetch 2 ,mem_temp 
+0x59a1 023524 istore 2 ,contw 
+0x59a2 023525 call get_contr 
+0x59a3 023526 call memcpy_fast 
+0x59a4 023527 call store_contw 
+0x59a5 023528 branch le_send_auto_len_by_mem 
+:      023530 le_send_att_read_by_type_res_not_char_next:
+0x59a6 023531 call le_att_next_handle 
+0x59a7 023532 branch le_send_att_read_by_type_res_not_char_loop 
+:      023535 le_send_att_read_by_type_res_device_name:
+0x59a8 023536 arg uuid_chrctr_device_name ,temp 
+0x59a9 023537 call le_att_get_short_uuid_ptr 
+0x59aa 023538 rtn blank 
+0x59ab 023539 increase -5 ,contr 
+0x59ac 023540 ifetch 2 ,contr 
+0x59ad 023541 store 2 ,mem_temp 
+0x59ae 023542 arg 20 ,rega 
+0x59af 023543 call le_fifo_malloc_tx_l2cap_gatt 
+0x59b0 023544 setarg attop_read_by_type_response 
+0x59b1 023545 istore 1 ,contw 
+0x59b2 023546 fetch 1 ,mem_le_name_len 
+0x59b3 023547 copy pdata ,loopcnt 
+0x59b4 023548 increase 2 ,pdata 
+0x59b5 023549 istore 1 ,contw 
+0x59b6 023550 fetch 2 ,mem_temp 
+0x59b7 023551 istore 2 ,contw 
+0x59b8 023552 arg mem_le_name ,contr 
+0x59b9 023553 call memcpy_fast 
+0x59ba 023554 call store_contw 
+0x59bb 023555 branch le_send_auto_len_by_mem 
+:      023559 le_parse_att_read_request:
+0x59bc 023560 fetcht 2 ,mem_le_att_handle 
+0x59bd 023561 fetch 1 ,mem_le_configuration 
+0x59be 023562 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      023564 le_send_att_read_response:
+0x59bf 023565 call le_att_get_handle_ptr 
+0x59c0 023566 branch le_send_att_error_response_notfound ,blank 
+0x59c1 023567 increase -2 ,contr 
+0x59c2 023568 ifetch 2 ,contr 
+0x59c3 023569 arg uuid_chrctr_device_name ,temp 
+0x59c4 023570 isub temp ,null 
+0x59c5 023571 branch le_send_device_name ,zero 
+0x59c6 023572 ifetch 1 ,contr 
+0x59c7 023573 sub pdata ,22 ,null 
+0x59c8 023574 branch le_send_att_read_response_less ,positive 
+0x59c9 023575 force 22 ,pdata 
+:      023576 le_send_att_read_response_less:
+0x59ca 023577 copy pdata ,regc 
+0x59cb 023578 call store_contr 
+0x59cc 023579 add regc ,1 ,rega 
+0x59cd 023580 call le_fifo_malloc_tx_l2cap_gatt 
+0x59ce 023581 setarg attop_read_response 
+0x59cf 023582 istore 1 ,contw 
+0x59d0 023583 copy regc ,loopcnt 
+0x59d1 023584 call get_contr 
+0x59d2 023585 branch memcpy 
+:      023587 le_send_device_name:
+0x59d3 023588 call store_contr 
+0x59d4 023589 fetch 1 ,mem_le_name_len 
+0x59d5 023590 add pdata ,1 ,rega 
+0x59d6 023591 call le_fifo_malloc_tx_l2cap_gatt 
+0x59d7 023592 setarg attop_read_response 
+0x59d8 023593 istore 1 ,contw 
+0x59d9 023594 fetch 1 ,mem_le_name_len 
+0x59da 023595 copy pdata ,loopcnt 
+0x59db 023596 arg mem_le_name ,contr 
+0x59dc 023597 branch memcpy 
+:      023600 le_send_att_read_response_check_auth:
+0x59dd 023601 fetch 2 ,mem_le_pairing_handle 
+0x59de 023602 isub temp ,null 
+0x59df 023603 nbranch le_send_att_read_response ,zero 
+0x59e0 023605 call le_check_encrypt_state 
+0x59e1 023606 nbranch le_send_att_read_response ,user 
+0x59e2 023607 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x59e3 023608 branch le_send_att_error_response 
+:      023611 le_parse_att_read_blob_request:
+0x59e4 023612 ifetch 2 ,contr 
+0x59e5 023613 store 2 ,mem_le_att_offset 
+:      023614 le_send_att_read_blob_response:
+0x59e6 023615 arg 20 ,rega 
+0x59e7 023616 call le_fifo_malloc_tx_l2cap_gatt 
+0x59e8 023617 setarg attop_read_blob_response 
+0x59e9 023618 istore 1 ,contw 
+0x59ea 023619 fetch 2 ,mem_le_att_offset 
+0x59eb 023620 iforce rega 
+0x59ec 023621 fetcht 2 ,mem_le_att_handle 
+0x59ed 023622 call le_att_get_handle_ptr 
+0x59ee 023623 branch le_send_att_error_response_notfound ,blank 
+0x59ef 023624 ifetch 1 ,contr 
+0x59f0 023625 isub rega ,loopcnt 
+0x59f1 023626 nbranch le_send_att_error_response_notfound ,positive 
+0x59f2 023627 sub loopcnt ,22 ,null 
+0x59f3 023628 branch le_send_att_read_blob_response_less ,positive 
+0x59f4 023629 force 22 ,loopcnt 
+:      023630 le_send_att_read_blob_response_less:
+0x59f5 023631 deposit rega 
+0x59f6 023632 iadd contr ,contr 
+0x59f7 023633 call memcpy_fast 
+0x59f8 023634 call store_contw 
+0x59f9 023635 branch le_send_auto_len_by_mem 
+:      023638 le_parse_att_read_by_group_type_request:
+0x59fa 023639 call le_get_search_handle_start_end_common 
+0x59fb 023640 call le_get_search_att_type 
+0x59fc 023641 branch le_send_att_read_by_group_type_response 
+:      023646 le_send_att_read_by_group_type_response:
+0x59fd 023647 arg 2 ,timeup 
+0x59fe 023648 fetcht 2 ,mem_le_search_handle_start 
+0x59ff 023652 storet 2 ,mem_temp 
+0x5a00 023653 call le_init_attlist_search 
+0x5a01 023654 call le_att_get_handle_ptr2 
+0x5a02 023655 increase -2 ,contr 
+0x5a03 023656 copy contr ,pdata 
+0x5a04 023657 store 2 ,mem_le_cur_attlist_start_ptr 
+:      023658 le_send_att_read_by_group_type_response_loop:
+0x5a05 023659 call le_att_check_handle_end 
+0x5a06 023660 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5a07 023661 fetcht 2 ,mem_temp 
+0x5a08 023662 call le_att_get_handle_info_from_ptr 
+0x5a09 023663 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5a0a 023665 call le_att_same_type 
+0x5a0b 023666 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5a0c 023667 copy timeup ,pdata 
+0x5a0d 023668 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5a0e 023669 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5a0f 023670 disable user 
+0x5a10 023672 arg 20 ,rega 
+0x5a11 023673 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a12 023674 setarg attop_read_by_group_type_response 
+0x5a13 023675 istore 1 ,contw 
+0x5a14 023676 fetch 1 ,mem_le_curr_att_len 
+0x5a15 023677 increase 4 ,pdata 
+0x5a16 023678 istore 1 ,contw 
+0x5a17 023679 call store_contw 
+0x5a18 023680 branch le_send_att_read_by_group_type_store_record 
+:      023681 le_send_att_read_by_group_type_store_write_record:
+0x5a19 023682 fetch 1 ,mem_le_curr_att_len 
+0x5a1a 023683 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5a1b 023684 fetch 2 ,mem_temp 
+0x5a1c 023685 increase -1 ,pdata 
+0x5a1d 023686 store 2 ,mem_le_cur_handle_end 
+0x5a1e 023687 call le_write_att_record 
+:      023688 le_send_att_read_by_group_type_store_record:
+0x5a1f 023689 fetch 2 ,mem_temp 
+0x5a20 023690 store 2 ,mem_le_cur_handle_start 
+0x5a21 023691 call le_store_att_record 
+0x5a22 023692 increase -1 ,timeup 
+:      023694 le_send_att_read_by_group_type_next_handle:
+0x5a23 023695 call le_att_next_handle 
+0x5a24 023696 branch le_send_att_read_by_group_type_response_loop 
+:      023698 le_send_att_read_by_group_type_end0:
+0x5a25 023699 fetch 2 ,mem_temp 
+0x5a26 023700 store 2 ,mem_le_cur_handle_end 
+0x5a27 023701 branch le_send_att_read_by_group_type_end_common 
+:      023702 le_send_att_read_by_group_type_end1:
+0x5a28 023703 fetch 2 ,mem_temp 
+0x5a29 023704 increase -1 ,pdata 
+0x5a2a 023705 store 2 ,mem_le_cur_handle_end 
+0x5a2b 023706 branch le_send_att_read_by_group_type_end_common 
+:      023707 le_send_att_read_by_group_type_end_common:
+0x5a2c 023708 branch le_send_att_error_response_notfound ,user 
+0x5a2d 023709 call le_write_att_record 
+0x5a2e 023710 branch le_send_auto_len_by_mem 
+:      023715 le_parse_att_write_request:
+0x5a2f 023716 copy contr ,rega 
+0x5a30 023717 fetch 2 ,mem_le_l2cap_size 
+0x5a31 023718 add pdata ,-3 ,regb 
+0x5a32 023719 call le_writeatt_cb 
+:      023720 le_send_att_write_response_check_auth:
+0x5a33 023721 fetch 1 ,mem_le_configuration 
+0x5a34 023722 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5a35 023724 fetcht 2 ,mem_le_att_handle 
+0x5a36 023725 fetch 2 ,mem_le_pairing_handle 
+0x5a37 023726 isub temp ,null 
+0x5a38 023727 nbranch le_send_att_write_response ,zero 
+0x5a39 023728 call le_check_encrypt_state 
+0x5a3a 023729 nbranch le_send_att_write_response ,user 
+0x5a3b 023730 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5a3c 023731 branch le_send_att_error_response 
+:      023733 le_send_att_write_response:
+0x5a3d 023734 force 1 ,rega 
+0x5a3e 023735 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a3f 023736 setarg attop_write_response 
+0x5a40 023737 istore 1 ,contw 
+0x5a41 023738 rtn 
+:      023740 le_check_encrypt_state:
+0x5a42 023741 call disable_user 
+0x5a43 023742 fetch 1 ,mem_le_pairing_mode 
+0x5a44 023743 rtneq le_pairing_mode_none 
+0x5a45 023744 fetch 1 ,mem_context 
+0x5a46 023745 rtnbit1 lestate_encryption 
+0x5a47 023746 branch enable_user 
+:      023749 le_parse_att_prepare_write_request:
+0x5a48 023750 add contr ,2 ,rega 
+0x5a49 023751 fetch 2 ,mem_le_l2cap_size 
+0x5a4a 023752 add pdata ,-5 ,regb 
+0x5a4b 023753 call le_writeatt_cb 
+0x5a4c 023754 branch le_send_att_prepare_write_response 
+:      023757 le_send_att_prepare_write_response:
+0x5a4d 023758 fetch 2 ,mem_le_l2cap_size 
+0x5a4e 023759 copy pdata ,rega 
+0x5a4f 023760 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a50 023761 setarg attop_prepare_write_response 
+0x5a51 023762 istore 1 ,contw 
+0x5a52 023763 fetch 2 ,mem_le_att_handle 
+0x5a53 023764 istore 2 ,contw 
+0x5a54 023765 fetch 2 ,mem_le_l2cap_size 
+0x5a55 023766 add pdata ,-5 ,loopcnt 
+0x5a56 023767 fetch 2 ,mem_le_payload_ptr 
+0x5a57 023768 add pdata ,7 ,contr 
+0x5a58 023769 ifetch 2 ,contr 
+0x5a59 023770 istore 2 ,contw 
+0x5a5a 023771 branch memcpy_fast 
+:      023775 le_parse_att_execute_write_request:
+:      023777 le_send_att_execute_write_response:
+0x5a5b 023778 force 1 ,rega 
+0x5a5c 023779 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a5d 023780 setarg attop_execute_write_response 
+0x5a5e 023781 istore 1 ,contw 
+0x5a5f 023782 rtn 
+:      023786 le_parse_att_write_command:
+0x5a60 023787 copy contr ,rega 
+0x5a61 023788 fetch 2 ,mem_le_l2cap_size 
+0x5a62 023789 add pdata ,-3 ,regb 
+0x5a63 023790 branch le_writeatt_cb 
+:      023795 le_att_malloc_tx_notify:
+0x5a64 023796 copy temp ,regc 
+0x5a65 023797 increase 3 ,rega 
+0x5a66 023798 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a67 023799 increase -3 ,rega 
+0x5a68 023800 setarg attop_handle_value_notification 
+0x5a69 023801 istore 1 ,contw 
+0x5a6a 023802 copy regc ,temp 
+0x5a6b 023803 istoret 2 ,contw 
+0x5a6c 023804 rtn 
+:      023807 le_att_malloc_tx_indication:
+0x5a6d 023808 copy temp ,regc 
+0x5a6e 023809 increase 3 ,rega 
+0x5a6f 023810 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a70 023811 increase -3 ,rega 
+0x5a71 023812 setarg attop_handle_value_indication 
+0x5a72 023813 istore 1 ,contw 
+0x5a73 023814 copy regc ,temp 
+0x5a74 023815 istoret 2 ,contw 
+0x5a75 023816 rtn 
+:      023821 le_send_att_error_response_notfound:
+0x5a76 023822 jam att_err_attribute_not_found ,mem_le_err_code 
+:      023823 le_send_att_error_response:
+0x5a77 023824 force 5 ,rega 
+0x5a78 023825 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a79 023826 setarg attop_error_response 
+0x5a7a 023827 istore 1 ,contw 
+0x5a7b 023828 fetch 1 ,mem_le_att_opcode 
+0x5a7c 023829 istore 1 ,contw 
+0x5a7d 023830 fetch 2 ,mem_le_att_handle 
+0x5a7e 023831 istore 2 ,contw 
+0x5a7f 023832 fetch 1 ,mem_le_err_code 
+0x5a80 023833 istore 1 ,contw 
+0x5a81 023834 rtn 
+:      023837 le_fifo_malloc_tx_l2cap_gatt:
+0x5a82 023838 force le_l2cap_cid_att ,regb 
+0x5a83 023839 branch le_fifo_malloc_tx_l2cap 
+:      023842 le_att_next_handle:
+0x5a84 023843 fetcht 2 ,mem_temp 
+0x5a85 023844 increase 1 ,temp 
+0x5a86 023845 storet 2 ,mem_temp 
+0x5a87 023846 rtn 
+:      023848 le_att_check_handle_end:
+0x5a88 023849 fetcht 2 ,mem_temp 
+0x5a89 023850 fetch 2 ,mem_le_search_handle_end 
+0x5a8a 023851 isub temp ,null 
+0x5a8b 023852 rtn 
+:      023855 le_att_same_type:
+0x5a8c 023856 fetcht 1 ,mem_le_search_att_type_length 
+0x5a8d 023857 arg mem_le_search_att_type ,rega 
+:      023858 le_att_check_same_common:
+0x5a8e 023859 fetch 1 ,mem_le_cur_uuid_length 
+0x5a8f 023860 copy pdata ,loopcnt 
+0x5a90 023861 isub temp ,null 
+0x5a91 023862 nrtn zero 
+0x5a92 023863 arg mem_le_cur_uuid ,regb 
+0x5a93 023864 branch string_compare 
+:      023866 le_att_same_uuid:
+0x5a94 023867 fetcht 1 ,mem_le_search_uuid_length 
+0x5a95 023868 arg mem_le_search_uuid ,rega 
+0x5a96 023869 branch le_att_check_same_common 
+:      023872 le_store_att_record:
+0x5a97 023873 fetch 1 ,mem_le_curr_att_len 
+0x5a98 023874 store 1 ,mem_tmp_buffer 
+0x5a99 023875 copy pdata ,loopcnt 
+0x5a9a 023876 call get_contr 
+0x5a9b 023877 branch memcpy_fast 
+:      023880 le_write_att_record:
+0x5a9c 023881 call get_contw 
+0x5a9d 023882 fetch 2 ,mem_le_cur_handle_start 
+0x5a9e 023883 istore 2 ,contw 
+0x5a9f 023884 fetch 2 ,mem_le_cur_handle_end 
+0x5aa0 023885 istore 2 ,contw 
+:      023886 le_write_att_record_common:
+0x5aa1 023887 fetch 1 ,mem_tmp_buffer 
+0x5aa2 023888 copy pdata ,loopcnt 
+0x5aa3 023889 call memcpy_fast 
+0x5aa4 023890 branch store_contw 
+:      023894 le_send_auto_len_by_mem:
+0x5aa5 023895 call get_contw 
+0x5aa6 023896 call le_fifo_get_last_att_ptr 
+0x5aa7 023897 copy contw ,pdata 
+0x5aa8 023898 isub contr ,rega 
+0x5aa9 023899 call le_fifo_get_last_l2cap_ptr 
+0x5aaa 023900 copy rega ,pdata 
+0x5aab 023901 istore 2 ,contr 
+0x5aac 023902 increase 4 ,rega 
+0x5aad 023903 call le_fifo_get_last_tx_ptr 
+0x5aae 023904 copy rega ,pdata 
+0x5aaf 023905 istore 1 ,contr 
+0x5ab0 023906 rtn 
+:      023909 le_get_search_handle_start_end_common:
+0x5ab1 023910 rshift8 pdata ,pdata 
+0x5ab2 023911 store 2 ,mem_le_search_handle_start 
+0x5ab3 023912 ifetch 2 ,contr 
+0x5ab4 023913 store 2 ,mem_le_search_handle_end 
+0x5ab5 023914 rtn 
+:      023919 le_parse_signaling:
+0x5ab6 023920 ifetch 1 ,contr 
+0x5ab7 023921 ifetcht 1 ,contr 
+0x5ab8 023922 ifetcht 2 ,contr 
+0x5ab9 023923 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5aba 023924 rtn 
+:      023925 le_l2cap_parse_conn_parameter_update_rsp:
+0x5abb 023926 ifetch 2 ,contr 
+0x5abc 023927 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5abd 023928 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5abe 023929 branch ui_ipc_send_event 
+:      023935 le_l2cap_tx_update_req:
+0x5abf 023936 arg 0x0c ,rega 
+0x5ac0 023937 arg l2cap_connection_parameter_update_request ,regc 
+0x5ac1 023938 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ac2 023939 setarg 0x08 
+0x5ac3 023940 istore 2 ,contw 
+0x5ac4 023941 fetch 8 ,mem_le_interval_min 
+0x5ac5 023942 istore 8 ,contw 
+0x5ac6 023943 rtn 
+:      023947 le_fifo_malloc_tx_l2cap_signaling:
+0x5ac7 023948 call le_l2cap_update_signaling_identifier 
+0x5ac8 023949 arg le_l2cap_cid_signal ,regb 
+0x5ac9 023950 call le_fifo_malloc_tx_l2cap 
+0x5aca 023951 copy regc ,pdata 
+0x5acb 023952 istore 1 ,contw 
+0x5acc 023953 fetch 1 ,mem_le_signaling_identifier 
+0x5acd 023954 istore 1 ,contw 
+0x5ace 023955 rtn 
+:      023958 le_l2cap_update_signaling_identifier:
+0x5acf 023959 fetch 1 ,mem_le_signaling_identifier 
+0x5ad0 023961 pincrease 1 
+0x5ad1 023962 store 1 ,mem_le_signaling_identifier 
+0x5ad2 023963 rtnne 0 
+:      023965 le_l2cap_reset_signaling_identifier:
+0x5ad3 023966 jam 1 ,mem_le_signaling_identifier 
+0x5ad4 023967 rtn 
+:      023972 le_pairing_mode_init:
+0x5ad5 023973 fetch 1 ,mem_le_pairing_mode 
+0x5ad6 023974 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5ad7 023975 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5ad8 023976 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5ad9 023977 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5ada 023978 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5adb 023979 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5adc 023980 rtn 
+:      023982 le_set_pairing_mode_secure_justwork:
+0x5add 023983 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ade 023984 branch le_set_noinputnooutput 
+:      023985 le_set_pairing_mode_secure_numeric:
+0x5adf 023986 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae0 023987 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ae1 023988 rtn 
+:      023989 le_set_pairing_mode_secure_passkey:
+0x5ae2 023990 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae3 023991 branch le_set_displayonly 
+:      023992 le_set_no_pairing:
+0x5ae4 023993 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      023994 le_set_noinputnooutput:
+0x5ae5 023995 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ae6 023996 rtn 
+:      023997 le_set_pairing_mode_lagacy_just_work:
+0x5ae7 023998 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ae8 023999 branch le_set_noinputnooutput 
+:      024000 le_set_pairing_mode_lagacy_passkey:
+0x5ae9 024001 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      024002 le_set_displayonly:
+0x5aea 024003 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5aeb 024004 rtn 
+:      024007 le_secure_connection_enable:
+0x5aec 024008 fetch 1 ,mem_le_pres_auth 
+0x5aed 024009 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5aee 024010 store 1 ,mem_le_pres_auth 
+0x5aef 024011 rtn 
+:      024012 le_secure_connection_disable:
+0x5af0 024013 fetch 1 ,mem_le_pres_auth 
+0x5af1 024014 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5af2 024015 store 1 ,mem_le_pres_auth 
+0x5af3 024016 rtn 
+:      024018 le_parse_smp:
+0x5af4 024019 ifetch 1 ,contr 
+0x5af5 024020 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5af6 024022 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5af7 024023 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5af8 024024 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5af9 024025 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5afa 024026 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5afb 024027 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5afc 024028 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5afd 024029 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5afe 024030 beq smp_security_request ,le_parse_smp_security_request 
+0x5aff 024031 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5b00 024032 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5b01 024033 rtn 
+:      024037 le_send_smp_security_request:
+0x5b02 024038 force 2 ,rega 
+0x5b03 024039 call le_fifo_malloc_tx_l2cap_smp 
+0x5b04 024040 setarg smp_security_request 
+0x5b05 024041 istore 1 ,contw 
+0x5b06 024042 fetch 1 ,mem_le_pres_auth 
+0x5b07 024043 istore 1 ,contw 
+0x5b08 024044 rtn 
+:      024046 le_parse_smp_pairing_request:
+0x5b09 024047 store 1 ,mem_le_preq 
+0x5b0a 024048 ifetch 6 ,contr 
+0x5b0b 024049 istore 6 ,contw 
+0x5b0c 024050 fetch 1 ,mem_le_pairing_mode 
+0x5b0d 024051 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5b0e 024052 call le_send_smp_pairing_response 
+0x5b0f 024053 call le_check_master_support_secure_connect 
+0x5b10 024054 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5b11 024055 fetch 1 ,mem_le_preq_iocap 
+0x5b12 024056 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5b13 024057 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5b14 024058 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5b15 024059 fetch 1 ,mem_le_pairing_mode 
+0x5b16 024060 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5b17 024061 rtneq le_pairing_mode_secure_connect_passkey 
+:      024062 le_set_tk_0:
+0x5b18 024063 arg 0 ,pdata 
+0x5b19 024064 store 4 ,mem_le_tk 
+0x5b1a 024065 rtn 
+:      024067 le_parse_smp_pairing_req_passkey:
+0x5b1b 024068 fetch 1 ,mem_le_configuration 
+0x5b1c 024069 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      024070 le_genernate_tk:
+0x5b1d 024071 arg mem_le_tk ,rega 
+0x5b1e 024072 copy rega ,contw 
+0x5b1f 024073 arg 3 ,loopcnt 
+0x5b20 024074 call generate_random_loop 
+0x5b21 024075 fetch 2 ,mem_le_tk + 2 
+0x5b22 024076 and_into 0x7 ,pdata 
+0x5b23 024077 store 2 ,mem_le_tk + 2 
+:      024078 le_parse_smp_pairing_req_fixed_passkey:
+0x5b24 024079 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5b25 024080 branch ui_ipc_send_event 
+:      024082 le_check_master_support_secure_connect:
+0x5b26 024083 fetch 1 ,mem_le_preq_auth 
+0x5b27 024084 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5b28 024085 fetch 1 ,mem_le_pairing_mode 
+0x5b29 024086 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5b2a 024087 branch app_ble_disconnect 
+:      024089 le_send_smp_pairing_response:
+0x5b2b 024090 force 7 ,rega 
+0x5b2c 024091 call le_fifo_malloc_tx_l2cap_smp 
+0x5b2d 024092 fetch 7 ,mem_le_pres 
+0x5b2e 024093 istore 7 ,contw 
+0x5b2f 024094 rtn 
+:      024097 le_parse_smp_pairing_confirm:
+0x5b30 024098 copy contr ,rega 
+0x5b31 024099 fetch 1 ,mem_le_pairing_mode 
+0x5b32 024100 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5b33 024101 copy rega ,contr 
+0x5b34 024102 arg mem_le_rconfirm ,contw 
+0x5b35 024103 call memcpy16 
+0x5b36 024104 branch le_send_smp_pairing_confirm 
+:      024105 le_parse_smp_pairing_confirm_secure_passkey:
+0x5b37 024106 copy rega ,contr 
+0x5b38 024107 arg mem_le_rconfirm ,contw 
+0x5b39 024108 call memcpy16 
+0x5b3a 024109 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5b3b 024110 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5b3c 024111 rtn 
+:      024114 le_send_smp_pairing_confirm:
+0x5b3d 024115 fetch 1 ,mem_le_pairing_mode 
+0x5b3e 024116 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5b3f 024117 call generate_confirm 
+0x5b40 024118 force 17 ,rega 
+0x5b41 024119 call le_fifo_malloc_tx_l2cap_smp 
+0x5b42 024120 setarg smp_pairing_confirm 
+0x5b43 024121 istore 1 ,contw 
+0x5b44 024122 branch store_aes_result 
+:      024125 le_send_smp_pairing_confirm_sc:
+0x5b45 024126 arg mem_le_srand ,contw 
+0x5b46 024127 call generate_random 
+0x5b47 024128 call function_f4_cb 
+0x5b48 024129 force 17 ,rega 
+0x5b49 024130 call le_fifo_malloc_tx_l2cap_smp 
+0x5b4a 024131 setarg smp_pairing_confirm 
+0x5b4b 024132 istore 1 ,contw 
+0x5b4c 024133 branch load_inverse_result 
+:      024137 le_parse_smp_pairing_random:
+0x5b4d 024138 copy contr ,rega 
+0x5b4e 024139 fetch 1 ,mem_le_pairing_mode 
+0x5b4f 024140 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5b50 024141 copy rega ,contr 
+0x5b51 024142 call authenticate_rconfirm 
+0x5b52 024143 branch le_parse_smp_pairing_random_success ,zero 
+:      024144 le_send_pairing_confirm_value_failed:
+0x5b53 024145 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      024146 le_send_pairing_failed:
+0x5b54 024147 force 2 ,rega 
+0x5b55 024148 call le_fifo_malloc_tx_l2cap_smp 
+0x5b56 024149 setarg smp_pairing_failed 
+0x5b57 024150 istore 1 ,contw 
+0x5b58 024151 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5b59 024152 istore 1 ,contw 
+:      024153 le_parse_smp_pairing_failed:
+0x5b5a 024154 force smp_pairing_timer ,queue 
+0x5b5b 024155 call timer_stop 
+0x5b5c 024156 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5b5d 024157 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5b5e 024158 branch ui_ipc_send_event 
+:      024160 le_smp_pairing_fail_reason_not_support_pairing:
+0x5b5f 024161 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5b60 024162 branch le_send_pairing_failed 
+:      024165 le_parse_smp_pairing_random_sc:
+0x5b61 024166 arg mem_le_mrand ,contw 
+0x5b62 024167 copy rega ,contr 
+0x5b63 024168 call memcpy16 
+0x5b64 024169 fetch 1 ,mem_le_pairing_mode 
+0x5b65 024170 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5b66 024171 call function_g2 
+0x5b67 024174 call le_send_smp_pairing_random 
+0x5b68 024175 fetch 1 ,mem_le_pairing_mode 
+0x5b69 024176 rtnne le_pairing_mode_secure_connect_numeric 
+0x5b6a 024177 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5b6b 024178 branch ui_ipc_send_event 
+:      024180 le_parse_smp_pairing_random_sc_passkey:
+0x5b6c 024181 call function_f4_ca 
+0x5b6d 024182 arg mem_aes_cmac_temp ,contw 
+0x5b6e 024183 call load_inverse_result 
+0x5b6f 024184 arg mem_aes_cmac_temp ,rega 
+0x5b70 024185 arg mem_le_rconfirm ,regb 
+0x5b71 024186 arg 16 ,loopcnt 
+0x5b72 024187 call string_compare 
+0x5b73 024188 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5b74 024189 branch le_send_smp_pairing_random 
+:      024191 le_parse_smp_pairing_random_success:
+0x5b75 024192 call generate_stk 
+0x5b76 024193 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5b77 024194 call ui_ipc_send_event 
+0x5b78 024195 jam 1 ,mem_ltk_exists 
+0x5b79 024196 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      024198 le_send_smp_pairing_random:
+0x5b7a 024199 force 17 ,rega 
+0x5b7b 024200 call le_fifo_malloc_tx_l2cap_smp 
+0x5b7c 024201 setarg smp_pairing_random 
+0x5b7d 024202 istore 1 ,contw 
+0x5b7e 024203 arg mem_le_srand ,contr 
+0x5b7f 024204 branch memcpy16 
+:      024206 le_parse_smp_encryption_information:
+0x5b80 024207 arg mem_le_peer_ltk ,contw 
+0x5b81 024208 branch memcpy16 
+:      024210 le_send_smp_encryption_information:
+0x5b82 024211 force 17 ,rega 
+0x5b83 024212 call le_fifo_malloc_tx_l2cap_smp 
+0x5b84 024213 setarg smp_encryption_information 
+0x5b85 024214 istore 1 ,contw 
+0x5b86 024215 fetch 1 ,mem_le_configuration 
+0x5b87 024216 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5b88 024217 arg mem_le_ltk ,contr 
+0x5b89 024218 branch memcpy16 
+:      024220 le_send_fixed_ltk:
+0x5b8a 024221 arg mem_le_fixed_ltk ,contr 
+0x5b8b 024222 branch memcpy16 
+:      024225 le_send_smp_master_identification:
+0x5b8c 024226 arg mem_le_ediv ,contw 
+0x5b8d 024227 force 10 ,loopcnt 
+0x5b8e 024228 call generate_random_loop 
+0x5b8f 024229 force 11 ,rega 
+0x5b90 024230 call le_fifo_malloc_tx_l2cap_smp 
+0x5b91 024231 setarg smp_master_identification 
+0x5b92 024232 istore 1 ,contw 
+0x5b93 024233 fetch 2 ,mem_le_ediv 
+0x5b94 024234 istore 2 ,contw 
+0x5b95 024235 fetch 8 ,mem_le_rand 
+0x5b96 024236 istore 8 ,contw 
+0x5b97 024237 rtn 
+:      024239 le_send_smp_identity_information:
+0x5b98 024240 force 17 ,rega 
+0x5b99 024241 call le_fifo_malloc_tx_l2cap_smp 
+0x5b9a 024242 setarg smp_identity_information 
+0x5b9b 024243 istore 1 ,contw 
+0x5b9c 024244 setarg 0 
+0x5b9d 024245 istore 8 ,contw 
+0x5b9e 024246 istore 8 ,contw 
+0x5b9f 024247 rtn 
+:      024250 le_send_smp_identity_address_information:
+0x5ba0 024251 force 8 ,rega 
+0x5ba1 024252 call le_fifo_malloc_tx_l2cap_smp 
+0x5ba2 024253 setarg smp_identity_address_information 
+0x5ba3 024254 istore 1 ,contw 
+0x5ba4 024255 fetch 1 ,mem_le_conn_own_addr_type 
+0x5ba5 024256 istore 1 ,contw 
+0x5ba6 024257 fetch 6 ,mem_le_lap 
+0x5ba7 024258 istore 6 ,contw 
+0x5ba8 024259 rtn 
+:      024262 le_send_pairing_fail_unspecified_reason:
+0x5ba9 024263 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5baa 024264 branch le_send_pairing_failed 
+:      024266 le_check_init_key_distribution:
+0x5bab 024267 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5bac 024268 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5bad 024269 iand temp ,pdata 
+0x5bae 024270 rtn 
+:      024272 le_parse_smp_identity_information:
+0x5baf 024273 arg mem_le_irk ,contw 
+0x5bb0 024274 call memcpy16 
+0x5bb1 024275 call le_check_init_key_distribution 
+0x5bb2 024276 isolate0 le_initator_irk_bit ,pdata 
+0x5bb3 024277 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bb4 024278 fetch 1 ,mem_device_option 
+0x5bb5 024279 rtnne dvc_op_module 
+0x5bb6 024280 call le_check_master_addr_type 
+0x5bb7 024281 nrtn user 
+0x5bb8 024282 branch app_ble_store_reconn_info 
+:      024285 le_check_master_addr_type:
+0x5bb9 024286 call disable_user 
+0x5bba 024287 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5bbb 024288 rtneq master_public_addr 
+0x5bbc 024289 fetch 1 ,mem_le_plap + 5 
+0x5bbd 024290 compare 0xc0 ,pdata ,0xc0 
+0x5bbe 024291 rtn true 
+0x5bbf 024292 branch enable_user 
+:      024294 le_parse_smp_identity_address_information:
+0x5bc0 024295 call le_check_init_key_distribution 
+0x5bc1 024296 isolate0 le_initator_irk_bit ,pdata 
+0x5bc2 024297 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bc3 024298 rtn 
+:      024300 le_parse_smp_master_identification:
+:      024301 le_parse_smp_signing_information:
+:      024302 le_parse_smp_security_request:
+0x5bc4 024303 rtn 
+:      024305 le_parse_smp_public_key:
+0x5bc5 024306 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5bc6 024307 call memcpy64 
+0x5bc7 024308 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bc8 024309 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5bc9 024310 rtn 
+:      024312 le_parse_smp_dhkey_check:
+0x5bca 024313 arg mem_sp_confirm_remote ,contw 
+0x5bcb 024314 call memcpy16 
+0x5bcc 024315 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5bcd 024316 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bce 024317 rtn 
+:      024319 le_send_smp_pairing_public_key:
+0x5bcf 024320 force 65 ,rega 
+0x5bd0 024321 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd1 024322 setarg smp_pairing_public_key 
+0x5bd2 024323 istore 1 ,contw 
+0x5bd3 024324 arg mem_le_pubkey_local_x_256 ,contr 
+0x5bd4 024325 branch memcpy64 
+:      024327 le_send_smp_pairing_dhkey_check:
+0x5bd5 024328 call function_f6_eb 
+0x5bd6 024329 force 17 ,rega 
+0x5bd7 024330 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd8 024331 setarg smp_pairing_dhkey_check 
+0x5bd9 024332 istore 1 ,contw 
+0x5bda 024333 branch load_inverse_result 
+:      024336 le_check_paring_time:
+0x5bdb 024337 fetch 1 ,mem_le_pairing_state 
+0x5bdc 024338 rtneq flag_le_pairing_end 
+0x5bdd 024339 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5bde 024340 isub temp ,null 
+0x5bdf 024341 nrtn positive 
+0x5be0 024342 arg smp_pairing_timer ,queue 
+0x5be1 024343 call timer_check 
+0x5be2 024344 nrtn blank 
+0x5be3 024345 branch le_send_pairing_fail_unspecified_reason 
+:      024347 le_pairing_sm:
+0x5be4 024348 bpatchx patch2f_0 ,mem_patch2f 
+0x5be5 024349 fetch 1 ,mem_le_pairing_state 
+0x5be6 024350 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5be7 024351 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5be8 024352 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5be9 024353 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5bea 024354 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5beb 024355 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5bec 024356 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5bed 024357 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5bee 024358 rtn 
+:      024360 le_pairing_sm_null:
+:      024361 le_pairing_sm_send_sec_req:
+0x5bef 024362 fetch 1 ,mem_le_enc_state 
+0x5bf0 024363 rtnne flag_le_send_start_enc_rsp 
+0x5bf1 024364 jam flag_le_enc_end ,mem_le_enc_state 
+0x5bf2 024365 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5bf3 024366 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5bf4 024367 branch ui_ipc_send_event 
+:      024370 le_pairing_sm_start:
+0x5bf5 024371 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5bf6 024372 branch le_send_smp_security_request 
+:      024374 le_pairing_sm_rcv_pairing_req:
+0x5bf7 024375 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5bf8 024376 setarg timer_smp_pairing_timeout 
+0x5bf9 024377 arg smp_pairing_timer ,queue 
+0x5bfa 024378 branch timer_init 
+:      024380 le_pairing_sm_after_auth:
+0x5bfb 024381 fetch 1 ,mem_le_enc_state 
+0x5bfc 024382 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5bfd 024383 rtn 
+:      024385 le_pairing_sm_after_auth_start_enc:
+0x5bfe 024386 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5bff 024387 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5c00 024388 call ui_ipc_send_event 
+0x5c01 024389 call le_send_smp_encryption_information 
+0x5c02 024390 fetch 1 ,mem_device_option 
+0x5c03 024391 rtnne dvc_op_module 
+0x5c04 024392 call le_check_master_addr_type 
+0x5c05 024393 rtn user 
+0x5c06 024394 branch app_ble_store_reconn_info 
+:      024397 le_pairng_sm_send_enc_information:
+0x5c07 024398 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5c08 024399 branch le_send_smp_master_identification 
+:      024401 le_pairng_sm_send_master_indentification:
+0x5c09 024402 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5c0a 024403 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5c0b 024404 iand temp ,pdata 
+0x5c0c 024405 isolate0 le_initator_irk_bit ,pdata 
+0x5c0d 024406 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5c0e 024407 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5c0f 024408 branch le_send_smp_identity_information 
+:      024410 le_pairng_sm_send_indentity_information:
+0x5c10 024411 call le_send_smp_identity_address_information 
+0x5c11 024412 branch le_parse_start_enc_rsp_after_auth_end 
+:      024415 le_parse_start_enc_rsp_after_auth_end:
+0x5c12 024416 force smp_pairing_timer ,queue 
+0x5c13 024417 call timer_stop 
+0x5c14 024418 jam flag_le_enc_end ,mem_le_enc_state 
+0x5c15 024419 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5c16 024420 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5c17 024421 branch ui_ipc_send_event 
+:      024425 le_secure_connect_sm:
+0x5c18 024426 bpatchx patch2f_1 ,mem_patch2f 
+0x5c19 024427 fetch 1 ,mem_le_pairing_mode 
+0x5c1a 024428 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5c1b 024429 fetch 1 ,mem_le_secure_connect_flag 
+0x5c1c 024430 rtnne le_sp_flag_commit_256 
+0x5c1d 024431 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5c1e 024432 fetch 1 ,mem_le_secure_connect_state 
+0x5c1f 024433 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x5c20 024434 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x5c21 024435 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x5c22 024436 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x5c23 024437 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x5c24 024438 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x5c25 024439 rtn 
+:      024442 le_sc_sm_passkey_wait_confirm:
+0x5c26 024443 fetch 1 ,mem_authentication_passkey_times 
+0x5c27 024444 copy pdata ,queue 
+0x5c28 024445 increase 1 ,pdata 
+0x5c29 024446 store 1 ,mem_authentication_passkey_times 
+0x5c2a 024447 fetch 4 ,mem_le_tk 
+0x5c2b 024448 qisolate1 pdata 
+0x5c2c 024449 setarg 0x80 
+0x5c2d 024450 setflag true ,0 ,pdata 
+0x5c2e 024451 store 1 ,mem_passkey_1bit 
+0x5c2f 024452 branch le_sc_sm_ready_send_pairing_confirm 
+:      024454 le_sc_sm_wait_confirm_gkey:
+0x5c30 024455 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x5c31 024456 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x5c32 024457 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x5c33 024458 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c34 024459 rtn 
+:      024461 le_sc_confirm_gkey_ok:
+0x5c35 024462 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5c36 024463 call ui_ipc_send_event 
+0x5c37 024464 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x5c38 024465 branch le_send_smp_pairing_dhkey_check 
+:      024467 le_sc_sm_receive_dhkey:
+0x5c39 024468 fetch 1 ,mem_sp_dhkey_invalid 
+0x5c3a 024469 beq sp_key_valid_256 ,le_dhkey_ready 
+0x5c3b 024470 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c3c 024471 rtn 
+:      024473 le_dhkey_ready:
+0x5c3d 024474 call function_f5 
+0x5c3e 024478 fetch 1 ,mem_le_pairing_mode 
+0x5c3f 024479 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x5c40 024480 call le_set_tk_0 
+:      024481 le_dhkey_ready_common:
+0x5c41 024482 call function_f6_ea 
+0x5c42 024483 arg mem_aes_cmac_temp ,rega 
+0x5c43 024484 arg mem_sp_confirm_remote ,regb 
+0x5c44 024485 arg 16 ,loopcnt 
+0x5c45 024486 call string_compare 
+0x5c46 024487 branch le_dhkey_check_ok ,zero 
+:      024488 le_dhkey_check_fail:
+0x5c47 024489 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x5c48 024490 branch le_send_pairing_failed 
+:      024493 le_dhkey_check_ok:
+0x5c49 024494 call sp_calc_check_publickey_256 
+0x5c4a 024495 nbranch le_dhkey_check_fail ,zero 
+0x5c4b 024496 jam 1 ,mem_ltk_exists 
+0x5c4c 024497 fetch 1 ,mem_le_pairing_mode 
+0x5c4d 024498 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x5c4e 024499 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x5c4f 024500 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c50 024501 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x5c51 024502 rtn 
+:      024504 le_sc_sm_send_public_key:
+0x5c52 024505 fetch 1 ,mem_le_pairing_mode 
+0x5c53 024506 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x5c54 024507 jam 0 ,mem_passkey_1bit 
+:      024508 le_sc_sm_ready_send_pairing_confirm:
+0x5c55 024509 branch le_send_smp_pairing_confirm 
+:      024511 le_sc_sm_send_public_key_passkey:
+0x5c56 024515 jam 0 ,mem_authentication_passkey_times 
+0x5c57 024516 branch le_parse_smp_pairing_req_passkey 
+:      024519 le_sc_sm_receive_public_key:
+0x5c58 024520 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c59 024521 fetch 1 ,mem_le_sc_local_key_invalid 
+0x5c5a 024522 beq sp_key_valid_256 ,le_public_key_ready 
+0x5c5b 024524 rtn 
+:      024526 le_public_key_ready:
+0x5c5c 024527 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x5c5d 024528 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x5c5e 024529 branch sp_dhkey_calc_256 
+:      024531 le_sc_sm_wait_send_public_key:
+0x5c5f 024532 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c60 024533 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x5c61 024534 branch le_send_smp_pairing_public_key 
+:      024538 le_fifo_malloc_tx_l2cap_smp:
+0x5c62 024539 force le_l2cap_cid_smp ,regb 
+0x5c63 024540 branch le_fifo_malloc_tx_l2cap 
+:      024544 le_parse_ll:
+0x5c64 024545 fetch 1 ,mem_le_rxbuf + 2 
+0x5c65 024546 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x5c66 024547 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x5c67 024548 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x5c68 024549 beq ll_enc_req ,le_parse_enc_req 
+0x5c69 024550 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x5c6a 024551 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x5c6b 024552 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x5c6c 024553 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x5c6d 024554 beq ll_feature_req ,le_parse_feature_req 
+0x5c6e 024555 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x5c6f 024556 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x5c70 024557 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x5c71 024558 beq ll_version_ind ,le_parse_version_ind 
+0x5c72 024559 beq ll_reject_ind ,le_parse_reject_ind 
+0x5c73 024560 beq ll_ping_req ,le_parse_ping_req 
+0x5c74 024561 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x5c75 024562 arg 2 ,rega 
+0x5c76 024563 arg ll_unknown_rsp ,regb 
+0x5c77 024564 call le_fifo_malloc_tx_ll 
+0x5c78 024565 fetch 1 ,mem_le_rxbuf + 2 
+0x5c79 024566 istore 1 ,contw 
+0x5c7a 024567 rtn 
+:      024570 le_parse_connection_update_req:
+0x5c7b 024571 ifetch 9 ,contr 
+0x5c7c 024572 store 9 ,mem_le_new_param 
+0x5c7d 024573 ifetch 2 ,contr 
+0x5c7e 024574 store 2 ,mem_le_instant 
+0x5c7f 024575 fetch 1 ,mem_le_state 
+0x5c80 024576 set1 lestate_update_param ,pdata 
+0x5c81 024577 store 1 ,mem_le_state 
+0x5c82 024578 rtn 
+:      024580 le_parse_channel_map_req:
+0x5c83 024581 ifetch 5 ,contr 
+0x5c84 024582 store 5 ,mem_le_new_map 
+0x5c85 024583 ifetch 2 ,contr 
+0x5c86 024584 store 2 ,mem_le_instant 
+0x5c87 024585 fetcht 2 ,mem_le_event_count 
+0x5c88 024586 isub temp ,null 
+0x5c89 024587 nbranch le_parse_terminate_ind ,positive 
+0x5c8a 024588 fetch 1 ,mem_le_state 
+0x5c8b 024589 set1 lestate_update_map ,pdata 
+0x5c8c 024590 store 1 ,mem_le_state 
+0x5c8d 024591 rtn 
+:      024594 le_parse_terminate_ind:
+0x5c8e 024595 setarg 20 
+0x5c8f 024596 store 2 ,mem_le_superto 
+0x5c90 024597 store 2 ,mem_le_init_superto 
+0x5c91 024598 rtn 
+:      024600 le_send_terminate_ind_user_terminated:
+0x5c92 024601 arg error_remote_user_terminated_connection ,regc 
+:      024604 le_send_terminate_ind:
+0x5c93 024605 arg 2 ,rega 
+0x5c94 024606 arg ll_terminate_ind ,regb 
+0x5c95 024607 call le_fifo_malloc_tx_ll 
+0x5c96 024608 copy regc ,pdata 
+0x5c97 024609 istore 1 ,contw 
+0x5c98 024610 rtn 
+:      024612 le_parse_feature_req:
+:      024614 le_send_feature_rsp:
+0x5c99 024615 arg 9 ,rega 
+0x5c9a 024616 arg ll_feature_rsp ,regb 
+0x5c9b 024617 call le_fifo_malloc_tx_ll 
+0x5c9c 024618 setarg param_le_features 
+0x5c9d 024619 istore 8 ,contw 
+0x5c9e 024620 rtn 
+:      024623 le_parse_version_ind:
+0x5c9f 024624 rtn master 
+:      024625 le_send_version_ind:
+0x5ca0 024626 arg 6 ,rega 
+0x5ca1 024627 arg ll_version_ind ,regb 
+0x5ca2 024628 call le_fifo_malloc_tx_ll 
+0x5ca3 024629 fetch 5 ,mem_lmp_version 
+0x5ca4 024630 istore 5 ,contw 
+0x5ca5 024631 rtn 
+:      024634 le_parse_ping_req:
+0x5ca6 024635 arg ll_ping_rsp ,regb 
+0x5ca7 024636 branch le_send_ll_one_lenth 
+:      024639 le_send_ll_one_lenth:
+0x5ca8 024640 arg 1 ,rega 
+0x5ca9 024641 branch le_fifo_malloc_tx_ll 
+:      024644 le_parse_enc_req:
+0x5caa 024645 ifetch 8 ,contr 
+0x5cab 024646 store 8 ,mem_le_rand 
+0x5cac 024647 ifetch 2 ,contr 
+0x5cad 024648 store 2 ,mem_le_ediv 
+0x5cae 024649 ifetch 8 ,contr 
+0x5caf 024650 store 8 ,mem_le_skdm 
+0x5cb0 024651 ifetch 4 ,contr 
+0x5cb1 024652 store 4 ,mem_le_ivm 
+0x5cb2 024653 call le_send_enc_rsp 
+0x5cb3 024654 bpatchx patch2f_2 ,mem_patch2f 
+0x5cb4 024655 fetch 1 ,mem_le_pairing_state 
+0x5cb5 024656 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x5cb6 024657 fetch 1 ,mem_le_configuration 
+0x5cb7 024658 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x5cb8 024659 fetch 1 ,mem_nv_data_number 
+0x5cb9 024660 ncall load_device_list_mode_4 ,blank 
+0x5cba 024661 fetch 1 ,mem_ltk_exists 
+0x5cbb 024662 beq 0 ,le_ltk_lost 
+:      024663 le_parse_enc_req_after_auth:
+0x5cbc 024664 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x5cbd 024665 call le_send_start_enc_req 
+0x5cbe 024666 branch generate_sk 
+:      024668 le_parse_enc_req_fixed_ltk:
+0x5cbf 024669 jam 1 ,mem_ltk_exists 
+0x5cc0 024670 arg mem_le_fixed_ltk ,contr 
+0x5cc1 024671 arg mem_le_ltk ,contw 
+0x5cc2 024672 call memcpy16 
+0x5cc3 024673 branch le_parse_enc_req_after_auth 
+:      024676 le_ltk_lost:
+0x5cc4 024677 bpatchx patch2f_3 ,mem_patch2f 
+0x5cc5 024678 jam flag_le_enc_null ,mem_le_enc_state 
+0x5cc6 024679 jam flag_le_enc_null ,mem_le_pairing_state 
+0x5cc7 024680 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x5cc8 024681 branch ui_ipc_send_event 
+:      024683 le_send_reject_ind:
+0x5cc9 024684 arg 2 ,rega 
+0x5cca 024685 arg ll_reject_ind ,regb 
+0x5ccb 024686 call le_fifo_malloc_tx_ll 
+0x5ccc 024687 setarg le_err_pin_or_key_missing 
+0x5ccd 024688 istore 1 ,contw 
+0x5cce 024689 rtn 
+:      024691 le_send_enc_rsp:
+0x5ccf 024692 arg mem_le_skds ,contw 
+0x5cd0 024693 force 8 ,loopcnt 
+0x5cd1 024694 call generate_random_loop 
+0x5cd2 024695 arg mem_le_ivs ,contw 
+0x5cd3 024696 force 4 ,loopcnt 
+0x5cd4 024697 call generate_random_loop 
+0x5cd5 024698 arg 13 ,rega 
+0x5cd6 024699 arg ll_enc_rsp ,regb 
+0x5cd7 024700 call le_fifo_malloc_tx_ll 
+0x5cd8 024701 fetch 8 ,mem_le_skds 
+0x5cd9 024702 istore 8 ,contw 
+0x5cda 024703 fetch 4 ,mem_le_ivs 
+0x5cdb 024704 istore 4 ,contw 
+0x5cdc 024705 rtn 
+:      024707 le_send_start_enc_req:
+0x5cdd 024708 arg ll_start_enc_req ,regb 
+0x5cde 024709 branch le_send_ll_one_lenth 
+:      024711 le_send_start_enc_rsp:
+0x5cdf 024712 arg ll_start_enc_rsp ,regb 
+0x5ce0 024713 branch le_send_ll_one_lenth 
+:      024716 le_parse_enc_rsp:
+0x5ce1 024717 ifetch 8 ,contr 
+0x5ce2 024718 store 8 ,mem_le_skds 
+0x5ce3 024719 ifetch 4 ,contr 
+0x5ce4 024720 store 4 ,mem_le_ivs 
+0x5ce5 024721 branch generate_sk 
+:      024723 le_parse_start_enc_req:
+0x5ce6 024724 fetch 1 ,mem_le_state 
+0x5ce7 024725 set1 lestate_encryption ,pdata 
+0x5ce8 024726 store 1 ,mem_le_state 
+0x5ce9 024727 rtn 
+:      024729 le_parse_start_enc_rsp:
+0x5cea 024730 rtn master 
+0x5ceb 024731 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x5cec 024732 call ui_ipc_send_event 
+0x5ced 024733 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x5cee 024734 branch le_send_start_enc_rsp 
+:      024736 le_parse_pause_enc_req:
+0x5cef 024737 jam flag_le_enc_pause ,mem_le_enc_state 
+0x5cf0 024738 call le_send_pause_enc_rsp 
+0x5cf1 024739 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x5cf2 024740 branch ui_ipc_send_event 
+:      024742 le_send_pause_enc_rsp:
+0x5cf3 024743 arg ll_pause_enc_rsp ,regb 
+0x5cf4 024744 branch le_send_ll_one_lenth 
+:      024747 le_parse_feature_rsp:
+:      024748 le_parse_unknown_rsp:
+:      024749 le_parse_pause_enc_rsp:
+:      024750 le_parse_reject_ind:
+:      024751 le_parse_ping_rsp:
+0x5cf5 024752 rtn 
+:      024759 init_lmp:
+0x5cf6 024760 rtn wake 
+:      024761 init_lmp_work:
+0x5cf7 024762 bpatchx patch2f_4 ,mem_patch2f 
+0x5cf8 024763 setarg 0 
+0x5cf9 024764 store 1 ,mem_lmp_to_send 
+0x5cfa 024765 store 1 ,mem_conn_sm 
+0x5cfb 024766 store 1 ,mem_lmo_opcode1 
+0x5cfc 024767 store 1 ,mem_lmo_opcode2 
+0x5cfd 024768 store 1 ,mem_esco_addr 
+0x5cfe 024769 store 1 ,mem_auth_enable 
+0x5cff 024770 store 1 ,mem_connection_options 
+0x5d00 024771 store 1 ,mem_pairing_auth 
+0x5d01 024772 jam switch_flag_init ,mem_switch_flag 
+0x5d02 024773 jam 0 ,mem_switch_fail_master_count 
+0x5d03 024774 jam null_encryp ,mem_wait_encryption 
+:      024775 init_lmp_reinit:
+0x5d04 024776 jam 0 ,mem_pairing_auth 
+0x5d05 024777 jam 0 ,mem_sp_localsm 
+0x5d06 024778 jam 0 ,mem_lmp_conn_state 
+:      024780 parse_rx_done:
+0x5d07 024781 rtn 
+:      024783 parse_lmp:
+0x5d08 024784 bpatchx patch2f_5 ,mem_patch2f 
+0x5d09 024785 call setlocalsm_master ,master 
+0x5d0a 024786 ncall setlocalsm_slave ,master 
+0x5d0b 024787 call lmo_fifo_check 
+0x5d0c 024788 nrtn blank 
+0x5d0d 024789 fetch 1 ,mem_state_map 
+0x5d0e 024790 rtnbit0 smap_rxlmp 
+0x5d0f 024791 set0 smap_rxlmp ,pdata 
+0x5d10 024792 set0 mark_rxbuf_inuse ,mark 
+0x5d11 024793 store 1 ,mem_state_map 
+0x5d12 024794 fetch 1 ,mem_rxbuf 
+0x5d13 024795 fetcht 1 ,mem_state_map 
+0x5d14 024796 isolate1 smap_lmptidinit ,pdata 
+0x5d15 024797 setflag true ,smap_lmptid ,temp 
+0x5d16 024798 storet 1 ,mem_state_map 
+0x5d17 024799 and_into 0x2 ,temp 
+0x5d18 024800 storet 1 ,mem_lmo_tid2 
+0x5d19 024801 fetcht 1 ,mem_state_map 
+0x5d1a 024802 rshift pdata ,pdata 
+0x5d1b 024803 store 1 ,mem_lmi_opcode2 
+0x5d1c 024804 bpatchx patch2f_6 ,mem_patch2f 
+0x5d1d 024805 fetch 1 ,mem_lmi_opcode2 
+0x5d1e 024806 beq lmp_escape ,parse_lmp_escape 
+0x5d1f 024807 beq lmp_accepted ,parse_lmp_accepted 
+0x5d20 024808 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x5d21 024809 beq lmp_set_afh ,parse_lmp_set_afh 
+0x5d22 024810 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x5d23 024811 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x5d24 024812 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x5d25 024813 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x5d26 024814 beq lmp_test_control ,parse_lmp_test_control 
+0x5d27 024815 beq lmp_test_activate ,parse_lmp_test_activate 
+0x5d28 024816 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x5d29 024817 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x5d2a 024818 beq lmp_features_req ,parse_lmp_features_req 
+0x5d2b 024819 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x5d2c 024820 beq lmp_version_req ,parse_lmp_version_req 
+0x5d2d 024821 beq lmp_version_res ,parse_lmp_version_res 
+0x5d2e 024822 beq lmp_detach ,parse_lmp_detach 
+0x5d2f 024823 beq lmp_max_slot ,parse_lmp_max_slot 
+0x5d30 024824 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x5d31 024825 beq lmp_name_req ,parse_lmp_name_req 
+0x5d32 024826 beq lmp_name_res ,parse_lmp_name_res 
+0x5d33 024827 beq lmp_features_res ,parse_lmp_features_res 
+0x5d34 024828 beq lmp_comb_key ,parse_lmp_comb_key 
+0x5d35 024829 beq lmp_au_rand ,parse_lmp_au_rand 
+0x5d36 024830 beq lmp_in_rand ,parse_lmp_in_rand 
+0x5d37 024831 beq lmp_sres ,parse_lmp_sres 
+0x5d38 024832 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x5d39 024833 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x5d3a 024834 beq lmp_max_power ,parse_lmp_max_power 
+0x5d3b 024835 beq lmp_min_power ,parse_lmp_min_power 
+0x5d3c 024836 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x5d3d 024837 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x5d3e 024838 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x5d3f 024839 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x5d40 024840 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x5d41 024841 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x5d42 024842 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x5d43 024843 beq lmp_switch_req ,parse_lmp_switch_req 
+0x5d44 024844 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x5d45 024845 beq lmp_temp_key ,parse_lmp_temp_key 
+0x5d46 024846 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x5d47 024847 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x5d48 024848 beq lmp_unit_key ,parse_lmp_unit_key 
+0x5d49 024849 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x5d4a 024850 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x5d4b 024851 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x5d4c 024852 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x5d4d 024853 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x5d4e 024854 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x5d4f 024855 beq lmp_dhkey_check ,parse_dhkey_check 
+0x5d50 024856 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x5d51 024857 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      024860 reject_unknown_packet:
+0x5d52 024861 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      024862 reject_lmp_packet:
+0x5d53 024863 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5d54 024864 rtn 
+:      024866 parse_lmp_clkoffset_req:
+0x5d55 024867 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x5d56 024868 rtn 
+:      024870 parse_enc_key_size_mask_req:
+0x5d57 024871 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x5d58 024872 rtn 
+:      024874 parse_lmp_set_afh:
+0x5d59 024875 fetch 4 ,mem_rxbuf + 1 
+0x5d5a 024876 lshift pdata ,pdata 
+0x5d5b 024877 store 4 ,mem_afh_instant 
+0x5d5c 024878 fetch 1 ,mem_rxbuf + 5 
+0x5d5d 024879 store 1 ,mem_afh_new_mod 
+0x5d5e 024880 fetch 5 ,mem_rxbuf + 6 
+0x5d5f 024881 store 5 ,mem_afh_map_new 
+0x5d60 024882 fetch 5 ,mem_rxbuf + 11 
+0x5d61 024883 istore 5 ,contw 
+0x5d62 024884 fetch 1 ,mem_mode 
+0x5d63 024885 set1 afh_change ,pdata 
+0x5d64 024886 store 1 ,mem_mode 
+0x5d65 024887 rtn 
+:      024888 parse_lmp_escape:
+0x5d66 024889 bpatchx patch2f_7 ,mem_patch2f 
+0x5d67 024890 fetch 1 ,mem_rxbuf + 1 
+0x5d68 024891 set1 7 ,pdata 
+0x5d69 024892 store 1 ,mem_lmi_opcode2 
+0x5d6a 024893 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x5d6b 024894 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x5d6c 024895 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x5d6d 024896 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x5d6e 024897 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x5d6f 024898 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x5d70 024899 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x5d71 024900 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x5d72 024901 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x5d73 024902 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x5d74 024903 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x5d75 024904 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x5d76 024905 rtneq lmp_ext_features_res 
+:      024908 reject_unknown_ext_packet:
+0x5d77 024909 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d78 024910 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x5d79 024912 rtn 
+:      024913 parse_lmpext_chn_classification_req:
+0x5d7a 024914 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d7b 024915 jam not_support_chn_classification ,mem_lmo_reason2 
+0x5d7c 024916 rtn 
+:      024918 parse_lmpext_iocap_req:
+0x5d7d 024919 call iocap_lmpext_load 
+0x5d7e 024920 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x5d7f 024921 rtn 
+:      024923 parse_lmpext_iocap_res:
+0x5d80 024924 call iocap_lmpext_load 
+0x5d81 024925 branch iocap_lmpext_common 
+:      024927 iocap_lmpext_load:
+0x5d82 024928 arg mem_sp_iocap_remote ,contw 
+0x5d83 024929 fetch 3 ,mem_rxbuf + 2 
+0x5d84 024930 istore 3 ,contw 
+0x5d85 024931 rtn 
+:      024933 iocap_lmpext_common:
+0x5d86 024934 branch master_set_mem_master_sp_flag ,true 
+0x5d87 024935 rtn 
+:      024936 parse_lmpext_accepted:
+0x5d88 024937 fetch 1 ,mem_rxbuf + 3 
+0x5d89 024938 set1 7 ,pdata 
+0x5d8a 024939 store 1 ,mem_lmi_accepted_opcode 
+0x5d8b 024940 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x5d8c 024941 rtn 
+:      024944 parse_lmpext_not_accepted:
+0x5d8d 024945 fetch 1 ,mem_rxbuf + 3 
+0x5d8e 024946 set1 7 ,pdata 
+0x5d8f 024947 store 1 ,mem_lmi_accepted_opcode 
+0x5d90 024948 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x5d91 024949 rtn 
+:      024951 parse_lmpext_accepted_ptt:
+0x5d92 024952 fetch 1 ,mem_ptt 
+0x5d93 024953 fetcht 1 ,mem_state_map 
+0x5d94 024954 nsetflag blank ,smap_edr ,temp 
+0x5d95 024955 storet 1 ,mem_state_map 
+:      024956 parse_lmpext_not_accepted_ptt:
+0x5d96 024957 fetch 1 ,mem_state 
+0x5d97 024958 rtnbit0 state_init_seq 
+0x5d98 024959 set0 state_init_seq ,pdata 
+0x5d99 024960 store 1 ,mem_state 
+0x5d9a 024961 fetch 1 ,mem_auth_enable 
+0x5d9b 024962 nrtn blank 
+0x5d9c 024963 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5d9d 024964 rtn 
+:      024966 parse_lmpext_pause_encrypt:
+0x5d9e 024967 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x5d9f 024968 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5da0 024969 branch tid_reply 
+:      024971 parse_lmpext_pause_encrypt_slave:
+0x5da1 024972 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x5da2 024973 rtn 
+:      024975 parse_lmpext_resume_encrypt:
+0x5da3 024978 call tid_reply 
+0x5da4 024979 branch lmp_start_encryption 
+:      024981 parse_lmpext_features_req:
+0x5da5 024982 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x5da6 024983 rtn 
+:      024985 parse_lmpext_features_res:
+0x5da7 024986 fetcht 1 ,mem_rxbuf + 4 
+0x5da8 024987 and temp ,0x1 ,temp 
+0x5da9 024988 storet 1 ,mem_remote_sppcap 
+0x5daa 024989 fetch 1 ,mem_hci_cmd 
+0x5dab 024990 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x5dac 024991 jam 0 ,mem_hci_cmd 
+:      024992 parse_lmpext_features_res_not_hci:
+0x5dad 024993 fetch 1 ,mem_conn_sm 
+0x5dae 024994 rtnne conn_sm_wait_features_ext 
+0x5daf 024995 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5db0 024996 branch process_conn_sm 
+:      024998 parse_lmp_accepted:
+0x5db1 024999 bpatchx patch30_0 ,mem_patch30 
+0x5db2 025000 fetch 1 ,mem_rxbuf + 1 
+0x5db3 025001 store 1 ,mem_lmi_accepted_opcode 
+0x5db4 025002 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x5db5 025003 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x5db6 025004 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x5db7 025005 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x5db8 025006 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x5db9 025007 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x5dba 025008 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x5dbb 025009 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x5dbc 025010 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x5dbd 025012 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x5dbe 025013 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x5dbf 025014 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x5dc0 025015 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x5dc1 025016 rtn 
+:      025018 parse_lmp_not_accepted:
+0x5dc2 025019 bpatchx patch30_1 ,mem_patch30 
+0x5dc3 025020 fetch 1 ,mem_rxbuf + 1 
+0x5dc4 025021 store 1 ,mem_lmi_accepted_opcode 
+0x5dc5 025022 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x5dc6 025023 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x5dc7 025024 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x5dc8 025025 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x5dc9 025026 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x5dca 025028 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x5dcb 025029 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x5dcc 025030 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x5dcd 025031 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x5dce 025032 rtn 
+:      025034 parse_lmp_accepted_switch:
+0x5dcf 025035 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x5dd0 025036 call ui_ipc_send_event 
+0x5dd1 025037 branch role_switch_prepare0 
+:      025038 parse_lmp_not_accepted_switch:
+0x5dd2 025039 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x5dd3 025040 call ui_ipc_send_event 
+0x5dd4 025041 jam switch_flag_not_accept ,mem_switch_flag 
+0x5dd5 025042 setarg timer_switch_waite 
+0x5dd6 025043 arg switch_wait_timer ,queue 
+0x5dd7 025044 branch timer_init 
+:      025047 parse_lmp_accepted_hostconn:
+0x5dd8 025050 fetch 1 ,mem_lmp_conn_state 
+0x5dd9 025051 set1 received_conn_req ,pdata 
+0x5dda 025052 store 1 ,mem_lmp_conn_state 
+0x5ddb 025053 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x5ddc 025054 call ui_ipc_send_event 
+0x5ddd 025055 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      025057 parse_lmp_accepted_hostconn_ctn:
+0x5dde 025059 fetch 1 ,mem_conn_sm 
+0x5ddf 025060 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x5de0 025063 jam conn_sm_auth_pair ,mem_conn_sm 
+0x5de1 025064 rtn 
+:      025072 parse_lmp_not_accepted_hostconn:
+0x5de2 025073 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x5de3 025074 jam lmp_detach ,mem_lmo_opcode2 
+0x5de4 025076 jam conn_sm_standby ,mem_conn_sm 
+0x5de5 025078 branch parse_rx_done ,true 
+0x5de6 025079 rtn 
+:      025081 parse_lmp_accepted_inrand:
+0x5de7 025082 fetch 1 ,mem_link_key_exists 
+0x5de8 025083 nrtn blank 
+0x5de9 025084 call clear_linkkey 
+0x5dea 025085 call lmp_generate_key 
+0x5deb 025086 rtn master 
+0x5dec 025087 set1 mark_slave_in_rand_accepted ,mark 
+0x5ded 025088 rtn 
+:      025090 parse_lmp_accepted_enc_mode:
+0x5dee 025091 nrtn master 
+0x5def 025092 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x5df0 025093 fetch 1 ,mem_state_map 
+0x5df1 025094 rtnbit0 smap_encryption 
+0x5df2 025095 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5df3 025096 rtn 
+:      025098 parse_lmp_accepted_enc_keysize:
+0x5df4 025099 branch lmp_start_encryption 
+:      025101 parse_lmp_accepted_start_enc:
+0x5df5 025102 call send_create_conn_start_l2cap_timer_sm 
+0x5df6 025103 fetch 1 ,mem_state 
+0x5df7 025104 rtnbit1 state_conn_comp 
+0x5df8 025105 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5df9 025106 fetch 1 ,mem_conn_sm 
+0x5dfa 025107 rtnne conn_sm_encrypt_wait 
+0x5dfb 025108 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x5dfc 025109 rtn 
+:      025111 parse_lmp_accepted_stop_enc:
+0x5dfd 025119 rtn 
+:      025121 parse_lmp_not_accepted_aurand:
+:      025122 parse_lmp_not_accepted_aurand_send_detach:
+0x5dfe 025123 jam lmp_detach ,mem_lmo_opcode2 
+0x5dff 025124 jam other_end_terminated ,mem_disconn_reason_send 
+0x5e00 025125 rtn 
+:      025127 parse_lmp_not_accepted_inrand:
+0x5e01 025128 fetch 1 ,mem_rxbuf + 2 
+0x5e02 025129 beq key_missing ,parse_lmp_inrand_key_missing 
+0x5e03 025130 rtnne pairing_not_allowed 
+0x5e04 025131 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x5e05 025132 jam lmp_detach ,mem_lmo_opcode2 
+0x5e06 025133 rtn 
+:      025134 parse_lmp_inrand_key_missing:
+0x5e07 025135 jam key_missing ,mem_disconn_reason_send 
+0x5e08 025136 jam lmp_detach ,mem_lmo_opcode2 
+0x5e09 025137 rtn 
+:      025139 parse_lmp_not_accepted_name_req:
+0x5e0a 025140 rtn 
+:      025142 parse_lmp_not_accepted_simple_pairing_number:
+0x5e0b 025143 jam sp_stat_null ,mem_sp_state 
+0x5e0c 025144 jam lmp_detach ,mem_lmo_opcode2 
+0x5e0d 025145 branch parse_rx_done 
+:      025147 parse_lmp_not_accepted_dhkey_check:
+0x5e0e 025148 jam sp_stat_null ,mem_sp_state 
+0x5e0f 025149 jam lmp_detach ,mem_lmo_opcode2 
+0x5e10 025150 branch parse_rx_done 
+:      025151 parse_lmp_not_accepted_unsniff_req:
+0x5e11 025152 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x5e12 025153 branch ui_ipc_send_event 
+:      025155 parse_lmp_accepted_unsniff_req:
+0x5e13 025156 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x5e14 025157 call ui_ipc_send_event 
+0x5e15 025158 branch sniff_exit 
+:      025160 parse_lmp_accepted_sniff_req:
+0x5e16 025161 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x5e17 025162 call ui_ipc_send_event 
+0x5e18 025163 setarg 0 
+0x5e19 025164 store 2 ,mem_dsniff 
+0x5e1a 025165 fetch 2 ,mem_sniff_param_interval 
+0x5e1b 025166 lshift pdata ,pdata 
+0x5e1c 025167 store 2 ,mem_tsniff 
+0x5e1d 025168 fetch 1 ,mem_sniff_param_attempt 
+0x5e1e 025169 store 1 ,mem_sniff_attempt 
+0x5e1f 025170 fetch 1 ,mem_sniff_param_timeout 
+0x5e20 025171 store 1 ,mem_sniff_timeout 
+0x5e21 025172 branch sniff_init 
+:      025174 parse_lmp_not_acdcept_sniff_req:
+0x5e22 025175 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x5e23 025176 branch ui_ipc_send_event 
+:      025178 parse_lmp_crypt_key:
+0x5e24 025179 fetcht 1 ,mem_rxbuf + 1 
+0x5e25 025180 storet 1 ,mem_key_size 
+0x5e26 025181 branch accept_lmp_msg 
+:      025183 parse_lmp_setup_complete:
+0x5e27 025184 fetch 1 ,mem_lmp_conn_state 
+0x5e28 025185 set1 received_setup_complete ,pdata 
+0x5e29 025186 store 1 ,mem_lmp_conn_state 
+0x5e2a 025187 rtnbit1 sent_setup_complete 
+0x5e2b 025188 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5e2c 025189 branch parse_rx_done 
+:      025191 parse_lmp_max_slot:
+0x5e2d 025194 rtn 
+:      025196 parse_lmp_max_slot_req:
+0x5e2e 025197 fetch 1 ,mem_max_slot 
+0x5e2f 025198 fetcht 1 ,mem_rxbuf + 1 
+0x5e30 025199 isub temp ,null 
+0x5e31 025201 branch accept_lmp_msg ,positive 
+0x5e32 025202 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e33 025203 jam unspecified_error ,mem_lmo_reason2 
+0x5e34 025204 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x5e35 025205 rtn 
+:      025207 parse_lmp_detach:
+0x5e36 025208 call prepare_disconnect 
+0x5e37 025209 branch accept_lmp_msg 
+:      025211 accept_lmp_msg:
+0x5e38 025212 jam lmp_accepted ,mem_lmo_opcode2 
+0x5e39 025213 rtn 
+:      025215 parse_lmp_incr_power:
+0x5e3a 025216 jam lmp_max_power ,mem_lmo_opcode2 
+0x5e3b 025217 rtn 
+:      025219 parse_lmp_decr_power:
+0x5e3c 025220 jam lmp_min_power ,mem_lmo_opcode2 
+0x5e3d 025221 rtn 
+:      025223 parse_lmp_version_res:
+0x5e3e 025224 fetch 1 ,mem_conn_sm 
+0x5e3f 025225 rtneq conn_sm_wait_version 
+0x5e40 025227 jam conn_sm_send_features ,mem_conn_sm 
+0x5e41 025229 rtn 
+:      025232 parse_lmp_auto_rate:
+0x5e42 025233 rtn 
+:      025235 parse_lmp_in_rand:
+0x5e43 025236 call lmp_copy_rand 
+0x5e44 025237 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x5e45 025238 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x5e46 025239 call ui_ipc_send_event 
+0x5e47 025241 call tid_check 
+0x5e48 025242 nbranch lmp_accept_inrand ,true 
+0x5e49 025244 nbranch parse_lmp_inrand_res ,master 
+0x5e4a 025245 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e4b 025246 jam lmp_in_rand ,mem_lmi_opcode2 
+0x5e4c 025247 jam transaction_collision ,mem_lmo_reason2 
+0x5e4d 025248 rtn 
+:      025249 parse_lmp_inrand_res:
+0x5e4e 025250 fetch 1 ,mem_op 
+0x5e4f 025251 set1 op_inrand_req ,pdata 
+0x5e50 025252 store 1 ,mem_op 
+0x5e51 025253 rtn 
+:      025256 pop_tid_follow:
+0x5e52 025257 fetcht 1 ,mem_state_map 
+0x5e53 025258 nsetflag blank ,smap_lmptid ,temp 
+0x5e54 025259 storet 1 ,mem_state_map 
+0x5e55 025260 rtn 
+:      025263 push_tid_follow:
+0x5e56 025264 fetch 1 ,mem_lmo_tid2 
+0x5e57 025265 rshift pdata ,pdata 
+0x5e58 025266 and_into 1 ,pdata 
+0x5e59 025267 rtn 
+:      025269 parse_lmp_au_rand_moudle:
+0x5e5a 025270 fetch 1 ,mem_nv_data_number 
+0x5e5b 025271 rtn blank 
+0x5e5c 025272 fetch 1 ,mem_pairing_auth 
+0x5e5d 025273 call load_device_list ,blank 
+0x5e5e 025274 rtn 
+:      025276 parse_lmp_au_rand:
+0x5e5f 025277 call parse_lmp_au_rand_moudle 
+0x5e60 025278 call push_tid_follow 
+0x5e61 025279 store 1 ,mem_sres_tid 
+0x5e62 025280 call lmp_copy_rand 
+0x5e63 025281 jam lmp_sres ,mem_lmo_opcode2 
+0x5e64 025282 fetch 1 ,mem_link_key_exists 
+0x5e65 025283 nrtn blank 
+0x5e66 025284 fetch 1 ,mem_state 
+0x5e67 025285 rtnbit1 state_combkey 
+0x5e68 025286 jam key_missing ,mem_lmo_reason2 
+0x5e69 025287 branch reject_lmp_packet 
+:      025289 parse_lmp_sres:
+0x5e6a 025290 arg mem_plap ,rega 
+0x5e6b 025291 call function_e1 
+0x5e6c 025292 fetch 4 ,mem_rxbuf + 1 
+0x5e6d 025293 fetcht 4 ,mem_input_store 
+0x5e6e 025294 isub temp ,null 
+0x5e6f 025295 branch authentication_ok ,zero 
+0x5e70 025296 jam lmp_detach ,mem_lmo_opcode2 
+0x5e71 025297 jam authentication_failure_error ,mem_disconn_reason_send 
+0x5e72 025298 rtn 
+:      025299 authentication_ok:
+0x5e73 025300 call authentication_ok_common 
+0x5e74 025301 fetch 1 ,mem_ssp_enable 
+0x5e75 025302 branch pairing_success ,blank 
+0x5e76 025303 rtn 
+:      025306 authentication_ok_common:
+0x5e77 025307 call copy_aco 
+0x5e78 025308 call linkkey_ready 
+0x5e79 025309 fetch 1 ,mem_op 
+0x5e7a 025310 isolate1 op_auth_req ,pdata 
+0x5e7b 025311 set0 op_auth_req ,pdata 
+0x5e7c 025312 store 1 ,mem_op 
+0x5e7d 025313 fetch 1 ,mem_conn_sm 
+0x5e7e 025314 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x5e7f 025315 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x5e80 025316 rtn 
+:      025317 authentication_ok_conn_sm:
+0x5e81 025318 fetch 1 ,mem_pairing_auth 
+0x5e82 025319 rtnne defalt_pairing_auth 
+0x5e83 025320 fetch 1 ,mem_state_map 
+0x5e84 025321 rtnbit1 smap_encryption 
+0x5e85 025322 branch host_create_conn_encrypt 
+:      025324 parse_lmp_comb_key:
+0x5e86 025325 arg mem_rxbuf + 1 ,rega 
+0x5e87 025326 arg mem_kinit ,regb 
+0x5e88 025327 arg mem_random_number ,contw 
+0x5e89 025328 call xor16 
+0x5e8a 025329 arg mem_plap ,rega 
+0x5e8b 025330 call generate_linkkey 
+0x5e8c 025331 jam lmp_au_rand ,mem_lmo_opcode2 
+0x5e8d 025332 fetch 1 ,mem_state 
+0x5e8e 025333 bbit0 state_combkey ,lmp_generate_key 
+0x5e8f 025334 rtn 
+:      025336 parse_lmp_name_res:
+0x5e90 025337 fetch 2 ,mem_len 
+0x5e91 025338 add pdata ,-3 ,loopcnt 
+0x5e92 025339 fetcht 1 ,mem_rxbuf + 1 
+0x5e93 025340 setarg mem_tmp_buffer 
+0x5e94 025341 iadd temp ,contw 
+0x5e95 025342 arg mem_rxbuf + 3 ,contr 
+0x5e96 025343 call memcpy 
+0x5e97 025344 fetcht 1 ,mem_name_offset 
+0x5e98 025345 fetch 1 ,mem_rxbuf + 2 
+0x5e99 025346 isub temp ,pdata 
+0x5e9a 025347 sub pdata ,14 ,null 
+0x5e9b 025348 branch parse_lmp_name_res_end ,positive 
+0x5e9c 025349 add temp ,14 ,pdata 
+0x5e9d 025350 store 1 ,mem_name_offset 
+0x5e9e 025351 jam lmp_name_req ,mem_lmo_opcode2 
+0x5e9f 025352 rtn 
+:      025353 parse_lmp_name_res_end:
+0x5ea0 025354 fetch 1 ,mem_state_map 
+0x5ea1 025355 set1 smap_name_res ,pdata 
+0x5ea2 025356 store 1 ,mem_state_map 
+0x5ea3 025357 bbit1 smap_name_req ,lmp_disconnect 
+0x5ea4 025358 rtn 
+:      025359 parse_lmp_name_req:
+0x5ea5 025360 fetch 1 ,mem_rxbuf + 1 
+0x5ea6 025361 store 1 ,mem_lmi_opcode2 
+0x5ea7 025362 jam lmp_name_res ,mem_lmo_opcode2 
+0x5ea8 025363 rtn 
+:      025365 parse_lmp_conn_req:
+0x5ea9 025366 branch accept_lmp_msg 
+:      025368 parse_lmp_timing_accuracy_req:
+0x5eaa 025369 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x5eab 025370 rtn 
+:      025372 parse_lmp_features_req:
+0x5eac 025373 jam lmp_features_res ,mem_lmo_opcode2 
+0x5ead 025374 rtn 
+:      025376 parse_lmp_version_req:
+0x5eae 025377 jam lmp_version_res ,mem_lmo_opcode2 
+0x5eaf 025378 rtn 
+:      025380 parse_lmp_supervision_timeout:
+0x5eb0 025383 rtn 
+:      025387 parse_lmp_sniff_subrating_req:
+0x5eb1 025388 fetch 2 ,mem_tsniff 
+0x5eb2 025389 iforce temp 
+0x5eb3 025390 fetch 1 ,mem_rxbuf + 2 
+0x5eb4 025391 store 1 ,mem_subsniff_rate 
+0x5eb5 025392 imul32 temp ,temp 
+0x5eb6 025393 fetch 2 ,mem_rxbuf + 3 
+0x5eb7 025394 lshift pdata ,pdata 
+0x5eb8 025395 store 2 ,mem_subsniff_tcmax 
+0x5eb9 025396 fetch 4 ,mem_rxbuf + 5 
+0x5eba 025397 lshift pdata ,pdata 
+0x5ebb 025398 store 4 ,mem_subsniff_instant 
+0x5ebc 025400 deposit temp 
+0x5ebd 025401 store 2 ,mem_subsniff_tsniff 
+0x5ebe 025402 rtn 
+:      025403 parse_lmpext_packet_type_table_req:
+0x5ebf 025404 fetcht 1 ,mem_ptt 
+0x5ec0 025405 fetch 1 ,mem_rxbuf + 2 
+0x5ec1 025406 ixor temp ,null 
+0x5ec2 025407 nbranch reject_unknown_ext_packet ,zero 
+0x5ec3 025408 isolate1 0 ,pdata 
+0x5ec4 025409 fetch 1 ,mem_state_map 
+0x5ec5 025410 setflag true ,smap_edr ,pdata 
+0x5ec6 025411 store 1 ,mem_state_map 
+0x5ec7 025412 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x5ec8 025413 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x5ec9 025414 rtn 
+:      025417 parse_lmp_sniff_subrating_res:
+:      025418 parse_lmp_preferred_rate:
+:      025419 parse_lmp_max_power:
+:      025420 parse_lmp_min_power:
+0x5eca 025421 rtn 
+:      025422 parse_lmp_page_mode_req:
+0x5ecb 025424 branch accept_lmp_msg 
+:      025425 parse_lmp_page_scan_mode_req:
+0x5ecc 025428 branch accept_lmp_msg 
+:      025432 parse_lmp_slot_offset:
+0x5ecd 025433 fetch 2 ,mem_rxbuf + 1 
+0x5ece 025434 store 2 ,mem_slot_offset 
+0x5ecf 025435 rtn 
+:      025437 parse_lmp_sniff_req_check_sniff_para:
+0x5ed0 025438 fetch 2 ,mem_rxbuf + 4 
+0x5ed1 025439 fetcht 1 ,mem_lpm_mult 
+0x5ed2 025440 imul32 temp ,pdata 
+0x5ed3 025441 arg 0x640 ,temp 
+0x5ed4 025442 isub temp ,null 
+0x5ed5 025444 rtn 
+:      025446 parse_lmp_sniff_req:
+0x5ed6 025447 fetch 2 ,mem_rxbuf + 6 
+0x5ed7 025448 branch lmp_reject_sniff ,blank 
+0x5ed8 025449 call parse_lmp_sniff_req_check_sniff_para 
+0x5ed9 025450 branch lmp_reject_sniff ,positive 
+0x5eda 025451 fetch 1 ,mem_device_option 
+0x5edb 025452 sub pdata ,dvc_op_module ,null 
+0x5edc 025453 call module_set_lpm_mult_2 ,zero 
+0x5edd 025454 fetch 1 ,mem_state 
+0x5ede 025455 bbit1 state_insniff ,lmp_reject_sniff 
+0x5edf 025456 fetch 2 ,mem_rxbuf + 2 
+0x5ee0 025457 lshift pdata ,pdata 
+0x5ee1 025458 store 2 ,mem_dsniff 
+0x5ee2 025459 fetch 2 ,mem_rxbuf + 4 
+0x5ee3 025460 lshift pdata ,pdata 
+0x5ee4 025461 store 2 ,mem_tsniff 
+0x5ee5 025462 fetch 2 ,mem_rxbuf + 6 
+0x5ee6 025463 store 1 ,mem_sniff_attempt 
+0x5ee7 025464 iforce temp 
+0x5ee8 025465 fetch 2 ,mem_rxbuf + 8 
+0x5ee9 025466 store 1 ,mem_sniff_timeout 
+0x5eea 025467 isub temp ,null 
+0x5eeb 025468 nbranch set_big_value_to_attempt ,positive 
+0x5eec 025469 store 1 ,mem_sniff_attempt 
+:      025470 set_big_value_to_attempt:
+0x5eed 025472 jam lmp_accepted ,mem_lmo_opcode2 
+0x5eee 025473 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x5eef 025474 rtn 
+:      025476 lmp_reject_sniff:
+0x5ef0 025477 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5ef1 025478 branch reject_lmp_packet 
+:      025480 parse_lmp_start_encryption_req:
+0x5ef2 025481 call accept_lmp_msg 
+0x5ef3 025482 call lmp_copy_rand 
+0x5ef4 025483 call function_e3 
+0x5ef5 025484 branch start_encryption 
+:      025486 parse_lmp_stop_encryption_req:
+0x5ef6 025487 call accept_lmp_msg 
+0x5ef7 025488 branch stop_encryption 
+:      025491 parse_lmp_switch_req:
+0x5ef8 025492 fetch 4 ,mem_rxbuf + 1 
+0x5ef9 025493 lshift pdata ,pdata 
+0x5efa 025495 branch parse_lmp_switch_accept ,master 
+0x5efb 025496 fetcht 1 ,mem_link_key_exists 
+0x5efc 025497 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      025498 parse_lmp_switch_req_not_accept:
+0x5efd 025499 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5efe 025500 jam lmp_switch_req ,mem_lmi_opcode2 
+0x5eff 025501 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f00 025502 rtn 
+:      025503 parse_lmp_switch_req_clear_mark:
+0x5f01 025504 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x5f02 025505 jam 0 ,mem_conn_sm 
+0x5f03 025506 branch role_switch_prepare 
+:      025508 parse_lmp_switch_accept:
+0x5f04 025509 call role_switch_prepare 
+0x5f05 025510 set1 mark_reconn_recieve_switch ,mark 
+0x5f06 025511 fetch 1 ,mem_connection_options 
+0x5f07 025512 set0 connection_switch ,pdata 
+0x5f08 025513 store 1 ,mem_connection_options 
+0x5f09 025514 branch accept_lmp_msg 
+:      025518 parse_lmp_temp_rand:
+:      025519 parse_lmp_temp_key:
+:      025520 parse_lmp_timing_accuracy_res:
+:      025521 parse_lmp_unit_key:
+:      025522 parse_lmp_use_semi_permanend_key:
+0x5f0a 025523 rtn 
+:      025526 parse_lmp_unsniff_req:
+0x5f0b 025527 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f0c 025528 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x5f0d 025529 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x5f0e 025530 call ui_ipc_send_event 
+0x5f0f 025531 branch sniff_exit 
+:      025533 parse_lmp_encapsulated_header:
+0x5f10 025534 fetch 1 ,mem_rxbuf + 1 
+0x5f11 025535 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f12 025536 fetch 1 ,mem_rxbuf + 2 
+0x5f13 025537 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f14 025538 fetch 1 ,mem_rxbuf + 3 
+0x5f15 025539 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f16 025540 call check_localsm 
+0x5f17 025541 branch parse_lmp_encapsulated_header_master ,true 
+0x5f18 025542 jam sp_stat_key_recv ,mem_sp_state 
+:      025543 parse_lmp_encapsulated_header_master:
+0x5f19 025544 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f1a 025545 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x5f1b 025546 branch parse_rx_done 
+:      025548 parse_lmp_encapsulated_header_reject:
+0x5f1c 025549 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f1d 025550 branch reject_lmp_packet 
+:      025552 parse_lmp_accepted_encapsulated_header:
+0x5f1e 025555 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f1f 025557 rtn 
+:      025558 parse_lmp_accepted_simple_pairing_number:
+0x5f20 025559 fetch 1 ,mem_ssp_mode_flag 
+0x5f21 025560 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x5f22 025561 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      025562 parse_lmp_accepted_simple_pairing_number_common:
+0x5f23 025563 call check_localsm 
+0x5f24 025564 rtn true 
+0x5f25 025565 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f26 025566 rtn 
+:      025568 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x5f27 025569 call g_noninit_number_confirm 
+0x5f28 025570 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x5f29 025571 call ui_ipc_send_event 
+0x5f2a 025572 branch parse_lmp_accepted_simple_pairing_number_common 
+:      025575 parse_lmp_accepted_simple_pairing_number_passkey:
+0x5f2b 025576 call check_localsm 
+0x5f2c 025577 rtn true 
+0x5f2d 025578 fetch 1 ,mem_authentication_passkey_times 
+0x5f2e 025579 beq 19 ,authentication_passkey_end 
+0x5f2f 025580 increase 1 ,pdata 
+0x5f30 025581 store 1 ,mem_authentication_passkey_times 
+:      025584 authentication_passkey:
+0x5f31 025585 jam sp_flag_commit ,mem_sp_flag 
+0x5f32 025586 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f33 025587 fetch 1 ,mem_authentication_passkey_times 
+0x5f34 025588 copy pdata ,queue 
+0x5f35 025589 fetch 6 ,mem_pin 
+0x5f36 025590 qisolate1 pdata 
+0x5f37 025591 setarg 0x80 
+0x5f38 025592 setflag true ,0 ,pdata 
+0x5f39 025593 store 1 ,mem_passkey_1bit 
+0x5f3a 025594 rtn 
+:      025596 authentication_passkey_end:
+0x5f3b 025597 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f3c 025598 rtn 
+:      025600 parse_lmp_accepted_dhkey_check:
+0x5f3d 025601 call parse_lmp_accepted_dhkey_check_common 
+:      025602 pairing_success:
+0x5f3e 025603 fetch 1 ,mem_flag_pairing_state 
+0x5f3f 025604 rtn blank 
+0x5f40 025605 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x5f41 025606 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x5f42 025607 branch ui_ipc_send_event 
+:      025610 parse_lmp_accepted_dhkey_check_common:
+0x5f43 025612 call check_localsm 
+0x5f44 025613 ncall g_noninit ,true 
+0x5f45 025614 call g_init ,true 
+0x5f46 025615 call check_localsm 
+0x5f47 025616 rtn true 
+0x5f48 025617 jam sp_stat_link_key_calc ,mem_sp_state 
+0x5f49 025618 jam sp_flag_commit ,mem_sp_flag 
+0x5f4a 025619 rtn 
+:      025621 parse_simple_pairing_confirm:
+0x5f4b 025622 arg mem_sp_confirm_remote ,contw 
+0x5f4c 025623 arg mem_rxbuf + 1 ,contr 
+0x5f4d 025624 call memcpy16 
+0x5f4e 025625 fetch 1 ,mem_ssp_mode_flag 
+0x5f4f 025626 rtneq ssp_mode_passkey_entry_flag 
+0x5f50 025627 branch master_set_mem_master_sp_flag 
+:      025629 parse_lmp_encapsulated_payload:
+0x5f51 025630 fetch 1 ,mem_master_sp_state 
+0x5f52 025631 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x5f53 025632 fetch 1 ,mem_sp_state 
+0x5f54 025633 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      025634 parse_encapsulated_payload_master:
+0x5f55 025635 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f56 025636 sub pdata ,0x20 ,contw 
+0x5f57 025637 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x5f58 025638 arg mem_sp_pubkey_remote ,contw 
+0x5f59 025639 iadd contw ,contw 
+0x5f5a 025640 fetch 8 ,mem_rxbuf + 1 
+0x5f5b 025641 istore 8 ,contw 
+0x5f5c 025642 fetch 8 ,mem_rxbuf + 9 
+0x5f5d 025643 istore 8 ,contw 
+0x5f5e 025644 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f5f 025645 increase 16 ,pdata 
+0x5f60 025646 store 1 ,mem_sp_remote_key_recv_count 
+0x5f61 025647 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      025648 parse_lmp_encapsulated_payload_completed:
+0x5f62 025649 call check_localsm 
+0x5f63 025650 branch accept_lmp_msg ,true 
+0x5f64 025651 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x5f65 025652 jam sp_stat_key_generate ,mem_sp_state 
+0x5f66 025653 jam sp_flag_commit ,mem_sp_flag 
+0x5f67 025654 branch accept_lmp_msg 
+:      025655 parse_lmp_encapsulated_payload_reject:
+0x5f68 025656 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f69 025657 branch reject_lmp_packet 
+:      025658 parse_lmp_accepted_encapsulated_payload:
+0x5f6a 025659 fetch 1 ,mem_sp_local_key_send_count 
+0x5f6b 025660 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x5f6c 025661 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f6d 025662 branch parse_rx_done 
+:      025664 parse_lmp_encapsulated_payload_all_accepted:
+0x5f6e 025665 call check_localsm 
+0x5f6f 025666 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x5f70 025667 fetch 1 ,mem_ssp_mode_flag 
+0x5f71 025668 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x5f72 025669 jam sp_flag_commit ,mem_sp_flag 
+0x5f73 025670 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f74 025671 branch parse_rx_done 
+:      025673 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x5f75 025674 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x5f76 025675 branch ui_ipc_send_event 
+:      025678 parse_lmp_encapsulated_payload_all_accepted_master:
+0x5f77 025680 branch parse_rx_done 
+:      025682 parse_lmp_simple_pairing_number:
+0x5f78 025683 fetch 1 ,mem_master_sp_state 
+0x5f79 025684 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x5f7a 025685 fetch 1 ,mem_sp_state 
+0x5f7b 025686 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      025687 parse_lmp_simple_pairing_number_master:
+0x5f7c 025688 arg mem_sp_random_remote ,contw 
+0x5f7d 025689 fetch 8 ,mem_rxbuf + 1 
+0x5f7e 025690 istore 8 ,contw 
+0x5f7f 025691 fetch 8 ,mem_rxbuf + 9 
+0x5f80 025692 istore 8 ,contw 
+0x5f81 025693 call check_localsm 
+0x5f82 025694 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x5f83 025695 jam sp_stat_random_send ,mem_sp_state 
+0x5f84 025696 jam sp_flag_commit ,mem_sp_flag 
+0x5f85 025697 branch accept_lmp_msg 
+:      025698 parse_lmp_simple_pairing_number_master0:
+0x5f86 025699 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x5f87 025700 branch master_set_mem_master_sp_flag 
+:      025703 parse_lmp_simple_pairing_number_reject:
+0x5f88 025704 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f89 025705 branch reject_lmp_packet 
+:      025707 parse_dhkey_check:
+0x5f8a 025708 fetch 1 ,mem_master_sp_state 
+0x5f8b 025709 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x5f8c 025710 fetch 1 ,mem_sp_state 
+0x5f8d 025711 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      025712 parse_dhkey_check_master:
+0x5f8e 025713 arg mem_sp_check_result ,contw 
+0x5f8f 025714 arg mem_rxbuf + 1 ,contr 
+0x5f90 025715 call memcpy16 
+0x5f91 025716 call check_localsm 
+0x5f92 025717 branch parse_dhkey_check_master0 ,true 
+0x5f93 025718 fetch 1 ,mem_ssp_mode_flag 
+0x5f94 025719 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      025720 number_comparison_successed:
+0x5f95 025721 jam 0 ,mem_flag_mode_ssp_pin 
+0x5f96 025722 jam sp_stat_confirm_check ,mem_sp_state 
+0x5f97 025723 jam sp_flag_commit ,mem_sp_flag 
+0x5f98 025724 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x5f99 025725 branch parse_rx_done 
+:      025727 parse_dhkey_check_master0:
+0x5f9a 025728 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x5f9b 025729 jam sp_flag_commit ,mem_master_sp_flag 
+0x5f9c 025730 branch parse_rx_done 
+:      025731 parse_lmp_dhkey_check_reject:
+0x5f9d 025732 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f9e 025733 branch reject_lmp_packet 
+:      025735 number_comparison_mode:
+0x5f9f 025736 fetch 1 ,mem_flag_mode_ssp_pin 
+0x5fa0 025737 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x5fa1 025738 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x5fa2 025739 store 1 ,mem_flag_mode_ssp_pin 
+0x5fa3 025740 rtn 
+:      025742 comparison_result:
+0x5fa4 025743 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x5fa5 025744 jam 0 ,mem_flag_mode_ssp_pin 
+0x5fa6 025745 branch parse_lmp_dhkey_check_reject 
+:      025748 parse_lmp_clkoffset_res:
+0x5fa7 025749 branch parse_rx_done 
+:      025751 parse_lmp_encryption_mode_req:
+0x5fa8 025752 fetch 1 ,mem_connection_options 
+0x5fa9 025753 set0 connection_encrypt 
+0x5faa 025754 store 1 ,mem_connection_options 
+0x5fab 025755 call accept_lmp_msg 
+0x5fac 025756 nrtn master 
+0x5fad 025757 fetch 1 ,mem_rxbuf + 1 
+0x5fae 025758 fetcht 1 ,mem_op 
+0x5faf 025759 setflag blank ,op_stop_enc ,temp 
+0x5fb0 025760 nsetflag blank ,op_start_enc ,temp 
+0x5fb1 025761 storet 1 ,mem_op 
+0x5fb2 025762 rtn 
+:      025764 parse_lmp_features_res:
+0x5fb3 025765 fetcht 8 ,mem_rxbuf + 1 
+:      025766 parse_lmp_features_res_not_hci:
+0x5fb4 025767 fetch 1 ,mem_conn_sm 
+0x5fb5 025768 rtnne conn_sm_wait_features_res 
+0x5fb6 025770 fetch 1 ,mem_connection_options 
+0x5fb7 025771 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x5fb8 025773 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x5fb9 025774 rtn 
+:      025775 parse_lmp_send_conn:
+0x5fba 025776 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5fbb 025777 rtn 
+:      025778 parse_lmp_test_activate:
+0x5fbc 025779 fetch 1 ,mem_debug_config 
+0x5fbd 025780 store 1 ,mem_test_mode_old_debug_config 
+0x5fbe 025781 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fbf 025782 jam lmp_test_activate ,mem_lmi_opcode2 
+0x5fc0 025783 rtn 
+:      025784 parse_lmp_test_control:
+0x5fc1 025787 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fc2 025788 jam lmp_test_control ,mem_lmi_opcode2 
+0x5fc3 025789 force 9 ,loopcnt 
+0x5fc4 025790 arg mem_rxbuf + 1 ,contr 
+0x5fc5 025791 arg mem_temp_payload ,contw 
+:      025792 parse_lmp_test_xor:
+0x5fc6 025793 ifetch 1 ,contr 
+0x5fc7 025794 xor_into 0x55 ,pdata 
+0x5fc8 025795 istore 1 ,contw 
+0x5fc9 025796 loop parse_lmp_test_xor 
+0x5fca 025797 fetch 1 ,test_mode_scenario 
+0x5fcb 025798 fetcht 1 ,mem_tester_emulate 
+0x5fcc 025799 set0 tester_no_whitening ,temp 
+0x5fcd 025800 set0 tester_pattern_test ,temp 
+0x5fce 025801 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x5fcf 025802 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x5fd0 025803 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x5fd1 025804 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd2 025805 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x5fd3 025806 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd4 025807 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x5fd5 025808 beq one_pattern ,parse_lmp_test_control_pattern 
+0x5fd6 025809 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x5fd7 025810 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x5fd8 025811 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x5fd9 025812 rtn 
+:      025813 parse_lmp_test_control_exit:
+0x5fda 025815 fetch 1 ,mem_tester_emulate 
+0x5fdb 025816 set1 tester_exit ,pdata 
+0x5fdc 025817 set1 tester_change ,pdata 
+0x5fdd 025818 store 1 ,mem_tester_emulate 
+0x5fde 025819 rtn 
+:      025820 parse_lmp_test_control_pattern:
+0x5fdf 025821 set1 tester_pattern_test ,temp 
+0x5fe0 025822 jam 5 ,mem_lch_code 
+0x5fe1 025823 fetch 2 ,test_mode_data_length 
+0x5fe2 025824 iforce loopcnt 
+0x5fe3 025825 store 2 ,mem_len 
+0x5fe4 025826 arg mem_rxbuf ,contw 
+0x5fe5 025827 call pn9 
+:      025828 parse_lmp_test_control_loopback_nowhite:
+0x5fe6 025829 set1 tester_no_whitening ,temp 
+:      025830 parse_lmp_test_control_loopback:
+0x5fe7 025831 set1 tester_change ,temp 
+0x5fe8 025832 force 0 ,pdata 
+0x5fe9 025833 store 1 ,mem_slave_rcvcnt 
+0x5fea 025834 store 2 ,mem_tst_pktcnt_crc 
+0x5feb 025835 store 2 ,mem_tst_pktcnt_dmh 
+0x5fec 025836 store 2 ,mem_tst_pktcnt_hec 
+0x5fed 025837 store 2 ,mem_tst_pktcnt_sync 
+0x5fee 025838 fetch 1 ,test_mode_hopping_mode 
+0x5fef 025839 compare fixed_freq ,pdata ,0xff 
+0x5ff0 025840 setflag true ,tester_fixed_freq ,temp 
+0x5ff1 025841 storet 1 ,mem_tester_emulate 
+0x5ff2 025842 rtn 
+:      025844 parse_lmp_test_control_pause:
+0x5ff3 025845 set0 mark_testmode ,mark 
+0x5ff4 025846 jam 0 ,mem_tester_emulate 
+0x5ff5 025847 fetch 1 ,mem_debug_config 
+0x5ff6 025848 set0 debug_tx_pattern ,pdata 
+0x5ff7 025849 store 1 ,mem_debug_config 
+0x5ff8 025850 rtn 
+:      025856 lmp_copy_rand:
+0x5ff9 025857 arg mem_rxbuf + 1 ,contr 
+0x5ffa 025858 arg mem_random_number ,contw 
+0x5ffb 025859 branch memcpy16 
+:      025861 lmp_generate_key:
+0x5ffc 025862 jam lmp_comb_key ,mem_lmo_opcode2 
+0x5ffd 025863 rtn 
+:      025865 lmp_start_encryption:
+0x5ffe 025866 nrtn master 
+0x5fff 025867 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x6000 025868 rtn 
+:      025870 lmp_accept_inrand:
+0x6001 025871 arg mem_lap ,rega 
+0x6002 025872 call generate_kinit 
+0x6003 025873 jam lmp_accepted ,mem_lmo_opcode2 
+0x6004 025874 jam lmp_in_rand ,mem_lmi_opcode2 
+0x6005 025875 rtn 
+:      025877 lmp_disconnect:
+0x6006 025878 jam 10 ,mem_conn_timer 
+0x6007 025879 jam lmp_detach ,mem_lmo_opcode2 
+0x6008 025880 jam local_host ,mem_disconn_reason_send 
+0x6009 025881 rtn 
+:      025887 send_lmp:
+0x600a 025888 bpatchx patch30_2 ,mem_patch30 
+0x600b 025889 disable user 
+0x600c 025890 call lmo_fifo_process 
+0x600d 025891 fetch 1 ,mem_lmp_to_send 
+0x600e 025892 rtn blank 
+0x600f 025897 bbit1 7 ,send_lmp_escape 
+:      025898 send_lmp0:
+0x6010 025899 beq lmp_name_req ,send_lmp_name_req 
+0x6011 025900 beq lmp_name_res ,send_lmp_name_res 
+0x6012 025901 beq lmp_accepted ,send_lmp_accepted 
+0x6013 025902 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x6014 025903 beq lmp_features_req ,send_lmp_features_req 
+0x6015 025904 beq lmp_features_res ,send_lmp_features_res 
+0x6016 025905 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x6017 025906 beq lmp_version_req ,send_lmp_version_req 
+0x6018 025907 beq lmp_version_res ,send_lmp_version_res 
+0x6019 025908 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x601a 025909 beq lmp_supervision_timeout ,send_lmp_superto 
+0x601b 025910 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x601c 025911 beq lmp_in_rand ,send_lmp_inrand 
+0x601d 025912 beq lmp_comb_key ,send_lmp_comb_key 
+0x601e 025913 beq lmp_au_rand ,send_lmp_aurand 
+0x601f 025914 beq lmp_sres ,send_lmp_sres 
+0x6020 025915 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6021 025916 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6022 025917 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6023 025918 beq lmp_detach ,send_lmp_detach 
+0x6024 025919 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6025 025920 beq lmp_unit_key ,send_lmp_unit_key 
+0x6026 025922 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6027 025923 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x6028 025924 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x6029 025925 beq lmp_max_slot ,send_lmp_max_slot 
+0x602a 025926 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x602b 025927 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x602c 025928 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x602d 025929 beq lmp_switch_req ,send_lmp_switch_req 
+0x602e 025930 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x602f 025931 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6030 025932 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6031 025933 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6032 025934 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6033 025935 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6034 025936 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6035 025937 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6036 025938 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6037 025939 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x6038 025940 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x6039 025942 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x603a 025943 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x603b 025944 beq lmp_test_activate ,send_lmp_test_activate 
+0x603c 025945 beq lmp_test_control ,send_lmp_test_control 
+:      025946 send_lmp_error:
+0x603d 025947 branch assert 
+0x603e 025948 rtn 
+:      025949 send_lmp_escape:
+0x603f 025950 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6040 025951 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6041 025952 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6042 025953 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6043 025954 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6044 025955 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6045 025956 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6046 025957 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6047 025958 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x6048 025959 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x6049 025960 branch assert 
+:      025966 send_lmp_accepted:
+0x604a 025967 force 2 ,pdata 
+0x604b 025968 call msg_send_lmp 
+0x604c 025969 fetch 1 ,mem_lmi_opcode 
+0x604d 025970 istore 1 ,contw 
+0x604e 025971 call send_lmp_follow 
+0x604f 025972 bpatchx patch30_3 ,mem_patch30 
+0x6050 025973 fetch 1 ,mem_lmi_opcode 
+0x6051 025974 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6052 025975 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6053 025976 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6054 025977 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6055 025978 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6056 025979 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6057 025980 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x6058 025981 rtn 
+:      025983 send_create_conn_start_l2cap_timer_sm:
+0x6059 025984 fetch 1 ,mem_conn_sm 
+0x605a 025985 rtn blank 
+0x605b 025986 jam conn_sm_wait_done ,mem_conn_sm 
+0x605c 025987 setarg timer_enpt_waite 
+0x605d 025988 arg enpt_delay_timer ,queue 
+0x605e 025989 branch timer_init 
+:      025991 send_lmp_accept_sniff_req:
+0x605f 025992 branch sniff_init 
+:      025993 send_lmp_not_accepted:
+0x6060 025994 force 3 ,pdata 
+0x6061 025995 call msg_send_lmp 
+0x6062 025996 fetch 1 ,mem_lmi_opcode 
+0x6063 025997 beq lmp_au_rand ,send_not_accept_aurand 
+0x6064 025998 istore 1 ,contw 
+0x6065 025999 fetch 1 ,mem_lmo_reason 
+0x6066 026000 istore 1 ,contw 
+0x6067 026001 branch send_lmp_follow 
+:      026003 send_not_accept_aurand:
+0x6068 026004 istore 1 ,contw 
+0x6069 026005 fetch 1 ,mem_lmo_reason 
+0x606a 026006 istore 1 ,contw 
+0x606b 026007 arg mem_sres_tid ,temp 
+0x606c 026008 branch special_tid_store 
+:      026010 send_lmpext_accepted:
+0x606d 026011 force 4 ,queue 
+0x606e 026012 call send_lmpext 
+0x606f 026013 setarg lmp_escape 
+0x6070 026014 istore 1 ,contw 
+0x6071 026015 fetch 1 ,mem_lmi_opcode 
+0x6072 026016 set0 7 ,pdata 
+0x6073 026017 istore 1 ,contw 
+0x6074 026018 fetch 1 ,mem_lmi_opcode 
+0x6075 026019 branch send_lmp_follow 
+:      026021 send_lmpext_not_accepted:
+0x6076 026022 force 5 ,queue 
+0x6077 026023 call send_lmpext 
+0x6078 026024 setarg lmp_escape 
+0x6079 026025 istore 1 ,contw 
+0x607a 026026 fetch 1 ,mem_lmi_opcode 
+0x607b 026027 set0 7 ,pdata 
+0x607c 026028 istore 1 ,contw 
+0x607d 026029 fetch 1 ,mem_lmo_reason 
+0x607e 026030 istore 1 ,contw 
+0x607f 026031 branch send_lmp_follow 
+:      026034 send_lmp_accepted_inrand:
+0x6080 026035 call clear_linkkey 
+0x6081 026036 call tid_check 
+0x6082 026037 rtn true 
+0x6083 026038 branch lmp_generate_key 
+:      026040 send_lmp_accepted_enc_mode:
+0x6084 026041 fetch 1 ,mem_op 
+0x6085 026042 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6086 026043 rtnbit0 op_stop_enc 
+0x6087 026044 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6088 026045 set0 op_stop_enc ,pdata 
+0x6089 026046 call tid_reply 
+0x608a 026047 branch send_lmp_accepted_enc_exit 
+:      026048 send_lmp_accepted_enc_start:
+0x608b 026049 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x608c 026050 set0 op_start_enc ,pdata 
+:      026051 send_lmp_accepted_enc_exit:
+0x608d 026052 store 1 ,mem_op 
+0x608e 026053 rtn 
+:      026055 send_lmp_accepted_enc_key:
+0x608f 026056 call check_localsm 
+0x6090 026057 branch lmp_start_encryption ,true 
+0x6091 026058 rtn 
+:      026060 send_lmp_accepted_connection:
+0x6092 026061 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6093 026063 fetch 1 ,mem_lmp_conn_state 
+0x6094 026064 set1 received_conn_req ,pdata 
+0x6095 026065 store 1 ,mem_lmp_conn_state 
+0x6096 026066 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6097 026067 branch ui_ipc_send_event 
+:      026070 send_lmp_accept_dhkey_check:
+0x6098 026071 rtn 
+:      026075 send_lmpext_features_res:
+0x6099 026076 force 12 ,queue 
+0x609a 026077 call send_lmpext 
+0x609b 026078 setarg 0x01 
+0x609c 026079 istore 1 ,contw 
+0x609d 026080 fetch 2 ,mem_lmpext_ssp_enable 
+0x609e 026081 istore 2 ,contw 
+0x609f 026082 setarg 0 
+0x60a0 026083 istore 3 ,contw 
+0x60a1 026084 setarg 0x00 
+0x60a2 026085 istore 4 ,contw 
+0x60a3 026086 branch send_lmp_reply 
+:      026087 send_lmpext_io_cap_res:
+0x60a4 026088 force 5 ,queue 
+0x60a5 026089 call send_lmpext 
+0x60a6 026090 fetch 3 ,mem_sp_iocap_local 
+0x60a7 026091 istore 3 ,contw 
+0x60a8 026092 call send_lmp_reply 
+0x60a9 026093 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x60aa 026094 fetch 1 ,mem_sp_iocap_local 
+0x60ab 026095 beq display_yesno ,responder_iocap_display_yesno 
+0x60ac 026096 beq keyboard_only ,responder_iocap_keyboard_only 
+0x60ad 026097 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x60ae 026098 rtn 
+:      026100 responder_iocap_keyboard_only:
+0x60af 026101 fetch 1 ,mem_sp_iocap_remote 
+0x60b0 026102 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x60b1 026103 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x60b2 026104 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x60b3 026105 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x60b4 026106 rtn 
+:      026109 responder_iocap_display_yesno:
+0x60b5 026110 fetch 1 ,mem_sp_iocap_remote 
+0x60b6 026111 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x60b7 026112 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x60b8 026113 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x60b9 026114 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x60ba 026115 rtn 
+:      026118 responder_iocap_no_input_no_output:
+0x60bb 026119 fetch 1 ,mem_sp_iocap_remote 
+0x60bc 026120 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x60bd 026121 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x60be 026122 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x60bf 026123 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x60c0 026124 rtn 
+:      026126 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      026127 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      026128 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      026129 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      026130 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      026131 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      026132 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      026133 set_ssp_mode_justwork:
+0x60c1 026134 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x60c2 026135 fetch 1 ,mem_classic_bt_flag 
+0x60c3 026136 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x60c4 026137 rtn 
+:      026139 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      026140 set_ssp_mode_numeric_comparison:
+0x60c5 026141 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x60c6 026142 rtn 
+:      026144 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      026145 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      026146 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      026147 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      026148 set_ssp_mode_passkey:
+0x60c7 026149 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x60c8 026150 rtn 
+:      026153 classic_bt_set_reject_justwork_flag:
+0x60c9 026154 arg flag_ssp_reject_justwork ,queue 
+0x60ca 026155 branch classic_bluetooth_set_flag 
+:      026157 classic_bt_clr_reject_justwork_flag:
+0x60cb 026158 arg flag_ssp_reject_justwork ,queue 
+0x60cc 026159 branch classic_bluetooth_clr_flag 
+:      026161 classic_bluetooth_set_flag:
+0x60cd 026162 fetch 1 ,mem_classic_bt_flag 
+0x60ce 026163 qset1 pdata 
+0x60cf 026164 store 1 ,mem_classic_bt_flag 
+0x60d0 026165 rtn 
+:      026167 classic_bluetooth_clr_flag:
+0x60d1 026168 fetch 1 ,mem_classic_bt_flag 
+0x60d2 026169 qset0 pdata 
+0x60d3 026170 store 1 ,mem_classic_bt_flag 
+0x60d4 026171 rtn 
+:      026174 send_lmp_io_cap_req:
+0x60d5 026175 force 5 ,queue 
+0x60d6 026176 call send_lmpext 
+0x60d7 026177 fetch 3 ,mem_sp_iocap_local 
+0x60d8 026178 istore 3 ,contw 
+0x60d9 026179 branch send_lmp_request 
+:      026182 send_lmpext_sniff_subrating_req:
+0x60da 026184 rtn 
+:      026185 send_lmpext_sniff_subrating_res:
+0x60db 026186 force 9 ,queue 
+0x60dc 026187 call send_lmpext 
+0x60dd 026188 fetch 1 ,mem_subsniff_rate 
+0x60de 026189 istore 1 ,contw 
+0x60df 026190 fetch 2 ,mem_subsniff_tcmax 
+0x60e0 026191 istore 2 ,contw 
+0x60e1 026192 fetch 4 ,mem_subsniff_instant 
+0x60e2 026193 istore 4 ,contw 
+0x60e3 026194 branch send_lmp_reply 
+:      026196 send_lmp_name_res:
+0x60e4 026197 force 17 ,pdata 
+0x60e5 026198 call msg_send_lmp 
+0x60e6 026199 fetch 1 ,mem_lmi_opcode 
+0x60e7 026200 copy pdata ,temp 
+0x60e8 026201 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x60e9 026202 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x60ea 026203 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x60eb 026204 rtn 
+:      026205 send_lmp_name_res_offset_ok:
+0x60ec 026206 istore 1 ,contw 
+0x60ed 026207 fetch 1 ,mem_local_name_length 
+0x60ee 026208 istore 1 ,contw 
+0x60ef 026209 arg 14 ,loopcnt 
+0x60f0 026210 setarg mem_local_name 
+0x60f1 026211 iadd temp ,contr 
+0x60f2 026212 call memcpy 
+0x60f3 026213 branch send_lmp_reply 
+:      026216 send_lmp_timing_accuracy_res:
+0x60f4 026217 force 3 ,pdata 
+0x60f5 026218 call msg_send_lmp 
+0x60f6 026219 setarg 0x0114 
+0x60f7 026220 istore 2 ,contw 
+0x60f8 026221 branch send_lmp_reply 
+:      026223 send_lmp_clkoffset_res:
+0x60f9 026225 force 3 ,pdata 
+0x60fa 026226 call msg_send_lmp 
+0x60fb 026227 fetch 4 ,mem_clke_bt 
+0x60fc 026228 isub clkn_bt ,pdata 
+0x60fd 026229 branch send_lmp_clkoffset_res_master ,master 
+0x60fe 026230 sub pdata ,0 ,pdata 
+:      026231 send_lmp_clkoffset_res_master:
+0x60ff 026233 rshift2 pdata ,pdata 
+0x6100 026234 set0 15 ,pdata 
+0x6101 026235 istore 2 ,contw 
+0x6102 026236 branch send_lmp_reply 
+:      026238 send_lmp_version_res:
+0x6103 026239 force 6 ,pdata 
+0x6104 026240 call msg_send_lmp 
+0x6105 026241 fetch 5 ,mem_lmp_version 
+0x6106 026242 istore 5 ,contw 
+0x6107 026243 branch send_lmp_reply 
+:      026245 send_lmp_features_res:
+0x6108 026246 force 9 ,pdata 
+0x6109 026247 call msg_send_lmp 
+0x610a 026248 fetch 8 ,mem_features 
+0x610b 026249 istore 8 ,contw 
+0x610c 026250 branch send_lmp_reply 
+:      026257 send_lmpext_features_req:
+0x610d 026258 force 12 ,queue 
+0x610e 026259 call send_lmpext 
+0x610f 026260 setarg 0x01 
+0x6110 026261 istore 1 ,contw 
+0x6111 026262 fetch 2 ,mem_lmpext_ssp_enable 
+0x6112 026263 istore 2 ,contw 
+0x6113 026264 setarg 0 
+0x6114 026265 istore 3 ,contw 
+0x6115 026266 setarg 0x00 
+0x6116 026267 istore 4 ,contw 
+0x6117 026268 branch send_lmp_request 
+:      026270 send_lmpext_packet_type_table_req:
+0x6118 026271 force 3 ,queue 
+0x6119 026272 call send_lmpext 
+0x611a 026273 fetch 1 ,mem_ptt 
+0x611b 026274 istore 1 ,contw 
+0x611c 026275 disable user 
+0x611d 026276 call send_lmp_request 
+0x611e 026277 nrtn user 
+0x611f 026278 nrtn master 
+0x6120 026279 fetch 1 ,mem_afh_cfg 
+0x6121 026280 rtnbit0 afh_cfg_on 
+0x6122 026281 call afh_init 
+0x6123 026282 branch afh_open_all_channels 
+:      026285 ssp_enable:
+0x6124 026286 bpatchx patch30_4 ,mem_patch30 
+0x6125 026287 fetch 1 ,mem_features + 6 
+0x6126 026288 set1 param_featrue_ssp ,pdata 
+0x6127 026289 store 1 ,mem_features + 6 
+0x6128 026290 setarg param_lmpext_ssp_enable 
+0x6129 026291 store 2 ,mem_lmpext_ssp_enable 
+0x612a 026292 rtn 
+:      026294 ssp_disable:
+0x612b 026295 bpatchx patch30_5 ,mem_patch30 
+0x612c 026296 fetch 1 ,mem_features + 6 
+0x612d 026297 set0 param_featrue_ssp ,pdata 
+0x612e 026298 store 1 ,mem_features + 6 
+0x612f 026299 setarg 0 
+0x6130 026300 store 2 ,mem_lmpext_ssp_enable 
+0x6131 026301 rtn 
+:      026303 afh_init:
+0x6132 026304 jam 0x3 ,mem_afh_cfg 
+0x6133 026305 setarg 0 
+0x6134 026306 store 4 ,mem_afh_timer 
+0x6135 026307 arg mem_afh_map_lo ,contw 
+0x6136 026308 call afh_reset_map 
+0x6137 026309 arg mem_afh_map_new ,contw 
+0x6138 026310 call afh_reset_map 
+0x6139 026311 arg mem_afh_classify_channel_map ,contw 
+0x613a 026312 call afh_reset_map 
+0x613b 026313 branch afh_clear_error_counter 
+:      026314 afh_open_all_channels:
+0x613c 026315 arg mem_afh_map_new ,contw 
+0x613d 026316 call afh_reset_map 
+0x613e 026317 call afh_clear_error_counter 
+0x613f 026318 branch afh_set_send_flag 
+:      026321 afh_reset_map:
+0x6140 026322 setarg 0xffffff 
+0x6141 026323 istore 3 ,contw 
+0x6142 026324 istore 3 ,contw 
+0x6143 026325 istore 3 ,contw 
+0x6144 026326 setarg 0x7f 
+0x6145 026327 istore 1 ,contw 
+0x6146 026328 rtn 
+:      026329 afh_clear_error_counter:
+0x6147 026330 setarg 0 
+0x6148 026331 store 2 ,mem_afh_error_total 
+0x6149 026332 rtn 
+:      026333 afh_set_send_flag:
+0x614a 026334 fetch 1 ,mem_afh_cfg 
+0x614b 026335 set1 send_lmp_set_afh ,pdata 
+0x614c 026336 store 1 ,mem_afh_cfg 
+0x614d 026337 rtn 
+:      026340 send_lmpext_pause_encryption_req:
+0x614e 026341 force 2 ,queue 
+0x614f 026342 call send_lmpext 
+0x6150 026343 nbranch send_lmp_reply ,master 
+0x6151 026345 branch send_lmp_request 
+:      026349 send_lmp_detach:
+0x6152 026350 force 2 ,pdata 
+0x6153 026351 call msg_send_lmp 
+0x6154 026352 fetch 1 ,mem_disconn_reason_send 
+0x6155 026353 istore 1 ,contw 
+0x6156 026354 call send_lmp_request 
+:      026355 prepare_disconnect:
+0x6157 026356 fetch 1 ,mem_op 
+0x6158 026357 set1 op_disconn ,pdata 
+0x6159 026358 store 1 ,mem_op 
+0x615a 026359 jam 50 ,mem_conn_timer 
+0x615b 026360 rtn 
+:      026363 send_lmp_no_payload:
+0x615c 026364 force 1 ,pdata 
+0x615d 026365 call msg_send_lmp 
+0x615e 026366 branch send_lmp_request 
+:      026367 send_lmp_nopayload_reply:
+0x615f 026368 force 1 ,pdata 
+0x6160 026369 call msg_send_lmp 
+0x6161 026370 branch send_lmp_reply 
+:      026373 send_lmp_encryption_mode_req:
+0x6162 026374 force 2 ,pdata 
+0x6163 026375 call msg_send_lmp 
+0x6164 026376 fetch 1 ,mem_state_map 
+0x6165 026377 isolate0 smap_encryption ,pdata 
+0x6166 026378 setflag true ,0 ,pdata 
+0x6167 026379 and_into 1 ,pdata 
+0x6168 026380 istore 1 ,contw 
+0x6169 026381 branch send_lmp_request 
+:      026384 send_lmp_superto:
+0x616a 026385 force 3 ,pdata 
+0x616b 026386 call msg_send_lmp 
+0x616c 026387 fetch 2 ,mem_supervision_to 
+0x616d 026388 istore 2 ,contw 
+0x616e 026389 branch send_lmp_request 
+:      026391 send_lmp_name_req:
+0x616f 026392 jam 250 ,mem_conn_timer 
+0x6170 026393 force 2 ,pdata 
+0x6171 026394 call msg_send_lmp 
+0x6172 026395 fetch 1 ,mem_name_offset 
+0x6173 026396 istore 1 ,contw 
+0x6174 026397 branch send_lmp_request 
+:      026399 send_lmp_test_control:
+0x6175 026400 force 10 ,pdata 
+0x6176 026401 call msg_send_lmp 
+0x6177 026402 arg mem_temp_payload ,contr 
+0x6178 026403 force 9 ,loopcnt 
+:      026404 send_lmp_test_control_loop:
+0x6179 026405 ifetch 1 ,contr 
+0x617a 026406 xor_into 0x55 ,pdata 
+0x617b 026407 istore 1 ,contw 
+0x617c 026408 loop send_lmp_test_control_loop 
+0x617d 026409 branch send_lmp_request 
+:      026411 send_lmp_quality_of_service_req:
+0x617e 026412 branch send_lmp_request 
+:      026413 send_lmp_unit_key:
+0x617f 026414 branch send_lmp_request 
+:      026416 send_lmp_slot_offset:
+0x6180 026417 rtn master 
+0x6181 026418 call calc_slot_offset 
+0x6182 026419 force 9 ,pdata 
+0x6183 026420 call msg_send_lmp 
+0x6184 026421 fetch 2 ,mem_slot_offset 
+0x6185 026422 istore 2 ,contw 
+0x6186 026423 fetch 3 ,mem_lap 
+0x6187 026424 istore 3 ,contw 
+0x6188 026425 fetch 1 ,mem_uap 
+0x6189 026426 istore 1 ,contw 
+0x618a 026427 fetch 2 ,mem_nap 
+0x618b 026428 istore 2 ,contw 
+0x618c 026429 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x618d 026430 set0 mark_switch_initiated ,mark 
+0x618e 026431 call send_lmp_request 
+0x618f 026432 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6190 026433 rtn 
+:      026434 send_lmp_slot_offset_reply:
+0x6191 026435 call send_lmp_reply 
+0x6192 026436 jam lmp_accepted ,mem_lmo_opcode2 
+0x6193 026437 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6194 026438 rtn 
+:      026440 send_lmp_switch_req:
+0x6195 026441 arg 0x200 ,temp 
+0x6196 026442 branch switch_on_native ,master 
+0x6197 026443 deposit clke_bt 
+0x6198 026444 branch switch_slack 
+:      026445 switch_on_native:
+0x6199 026446 deposit clkn_bt 
+:      026447 switch_slack:
+0x619a 026448 deposit bt_clk 
+0x619b 026449 iadd temp ,pdata 
+0x619c 026450 and_into 0x1fc ,pdata 
+0x619d 026451 store 4 ,mem_sniff_anchor 
+0x619e 026452 force 5 ,pdata 
+0x619f 026453 call msg_send_lmp 
+0x61a0 026454 fetch 4 ,mem_sniff_anchor 
+0x61a1 026455 rshift pdata ,pdata 
+0x61a2 026456 istore 4 ,contw 
+0x61a3 026457 branch send_lmp_request 
+:      026459 send_lmp_sniff_req:
+0x61a4 026460 force 10 ,pdata 
+0x61a5 026461 call msg_send_lmp 
+0x61a6 026462 arg mem_sniff_payload ,contr 
+0x61a7 026463 ifetch 9 ,contr 
+0x61a8 026464 istore 9 ,contw 
+0x61a9 026465 branch send_lmp_request 
+:      026468 send_lmp_timing_accuracy_req:
+0x61aa 026470 force 3 ,pdata 
+0x61ab 026471 call msg_send_lmp 
+0x61ac 026472 setarg 0x0114 
+0x61ad 026473 istore 2 ,contw 
+0x61ae 026474 branch send_lmp_request 
+:      026476 send_lmp_unsniff_req:
+0x61af 026478 force 1 ,pdata 
+0x61b0 026479 call msg_send_lmp 
+0x61b1 026488 branch send_lmp_request 
+:      026491 send_lmp_max_slot:
+0x61b2 026492 force 2 ,pdata 
+0x61b3 026493 call msg_send_lmp 
+0x61b4 026494 fetch 1 ,mem_max_slot 
+0x61b5 026495 istore 1 ,contw 
+0x61b6 026496 branch send_lmp_request 
+:      026499 send_lmp_max_slot_req:
+0x61b7 026500 force 2 ,pdata 
+0x61b8 026501 call msg_send_lmp 
+0x61b9 026502 setarg 0x05 
+0x61ba 026503 istore 1 ,contw 
+0x61bb 026504 branch send_lmp_request 
+:      026507 send_lmp_inc_power:
+0x61bc 026508 force 2 ,pdata 
+0x61bd 026509 call msg_send_lmp 
+0x61be 026510 setarg 0x00 
+0x61bf 026511 istore 1 ,contw 
+0x61c0 026512 branch send_lmp_request 
+:      026515 send_lmp_setup_complete_by_module:
+0x61c1 026516 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x61c2 026517 rtn 
+:      026518 send_lmp_setup_complete:
+0x61c3 026519 fetch 1 ,mem_device_option 
+0x61c4 026520 sub pdata ,dvc_op_module ,null 
+0x61c5 026521 call send_lmp_setup_complete_by_module ,zero 
+0x61c6 026522 fetch 1 ,mem_state 
+0x61c7 026523 set1 state_conn_comp ,pdata 
+0x61c8 026524 store 1 ,mem_state 
+0x61c9 026525 copy clkn_bt ,pdata 
+0x61ca 026526 store 4 ,mem_aurand_send_delay_time 
+0x61cb 026527 fetch 1 ,mem_lmp_conn_state 
+0x61cc 026528 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x61cd 026529 set1 sent_setup_complete ,pdata 
+0x61ce 026530 store 1 ,mem_lmp_conn_state 
+0x61cf 026531 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x61d0 026532 call ui_ipc_send_event 
+0x61d1 026533 force 1 ,pdata 
+0x61d2 026534 call msg_send_lmp 
+0x61d3 026535 branch send_lmp_request 
+:      026536 send_lmp_setup_complete_has_sent:
+0x61d4 026537 jam 0 ,mem_lmp_to_send 
+0x61d5 026538 rtn 
+:      026540 send_lmp_version_req:
+0x61d6 026541 force 6 ,pdata 
+0x61d7 026542 call msg_send_lmp 
+0x61d8 026543 fetch 5 ,mem_lmp_version 
+0x61d9 026544 istore 5 ,contw 
+0x61da 026545 branch send_lmp_request 
+:      026547 send_lmp_features_req:
+0x61db 026548 force 9 ,pdata 
+0x61dc 026549 call msg_send_lmp 
+0x61dd 026550 fetch 8 ,mem_features 
+0x61de 026551 istore 8 ,contw 
+0x61df 026552 branch send_lmp_request 
+:      026554 sp_master_send_io_cap_get:
+0x61e0 026555 jam sp_flag_commit ,mem_master_sp_flag 
+0x61e1 026556 fetch 1 ,mem_sp_local_key_invalid 
+0x61e2 026557 rtnne sp_key_valid 
+0x61e3 026558 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x61e4 026559 rtn 
+:      026561 sp_master_send_io_cap_send:
+0x61e5 026562 call tid_initiate 
+0x61e6 026563 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x61e7 026564 jam sp_stat_key_send ,mem_master_sp_state 
+0x61e8 026565 rtn 
+:      026568 sp_master_send_lmp_encapsulated_header:
+0x61e9 026569 call tid_initiate 
+0x61ea 026570 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61eb 026571 jam sp_stat_random_send ,mem_master_sp_state 
+0x61ec 026572 rtn 
+:      026574 sp_master_commitment_compare:
+0x61ed 026575 arg mem_sp_calc_result_high ,rega 
+0x61ee 026576 arg mem_sp_confirm_remote ,regb 
+0x61ef 026577 arg 16 ,loopcnt 
+0x61f0 026578 call string_compare 
+0x61f1 026579 branch sp_master_commitment_compare_success ,zero 
+0x61f2 026580 jam sp_stat_null ,mem_master_sp_state 
+0x61f3 026581 call master_clear_mem_master_sp_flag 
+0x61f4 026582 jam pdu_not_allowed ,mem_lmo_reason2 
+0x61f5 026583 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61f6 026584 branch reject_lmp_packet 
+:      026585 sp_master_commitment_compare_success:
+0x61f7 026586 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x61f8 026587 call master_set_mem_master_sp_flag 
+0x61f9 026588 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61fa 026589 branch accept_lmp_msg 
+:      026593 sp_master_send_lmp_simple_pairing_number:
+0x61fb 026594 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x61fc 026595 rtn 
+:      026599 sp_send_lmp_encapsulated_header:
+0x61fd 026602 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61fe 026604 rtn 
+:      026610 send_lmp_encapsulated_header:
+0x61ff 026611 jam 0 ,mem_sp_local_key_send_count 
+0x6200 026612 force 4 ,pdata 
+0x6201 026613 call msg_send_lmp 
+0x6202 026614 force encapsulated_major_type_p192 ,pdata 
+0x6203 026615 istore 1 ,contw 
+0x6204 026616 force encapsulated_minor_type_p192 ,pdata 
+0x6205 026617 istore 1 ,contw 
+0x6206 026618 force encapsulated_len_p192 ,pdata 
+0x6207 026619 istore 1 ,contw 
+0x6208 026620 call check_localsm 
+0x6209 026621 branch send_lmp_request ,true 
+0x620a 026622 branch send_lmp_reply 
+:      026624 send_lmp_encapsulated_payload:
+0x620b 026626 force 17 ,pdata 
+0x620c 026627 call msg_send_lmp 
+0x620d 026628 fetch 1 ,mem_sp_local_key_send_count 
+0x620e 026629 arg mem_sp_pubkey_local ,contr 
+0x620f 026630 iadd contr ,contr 
+0x6210 026631 ifetch 8 ,contr 
+0x6211 026632 istore 8 ,contw 
+0x6212 026633 ifetch 8 ,contr 
+0x6213 026634 istore 8 ,contw 
+0x6214 026635 fetch 1 ,mem_sp_local_key_send_count 
+0x6215 026636 increase 16 ,pdata 
+0x6216 026637 store 1 ,mem_sp_local_key_send_count 
+0x6217 026638 call check_localsm 
+0x6218 026639 branch send_lmp_request ,true 
+0x6219 026640 branch send_lmp_reply 
+:      026643 sp_send_lmp_simple_pairing_comfirm:
+0x621a 026644 jam sp_stat_random_recv ,mem_sp_state 
+0x621b 026645 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x621c 026646 rtn 
+:      026647 send_lmp_simple_pairing_comfirm:
+0x621d 026650 force 17 ,pdata 
+0x621e 026651 call msg_send_lmp 
+0x621f 026652 arg mem_sp_calc_result_high ,contr 
+0x6220 026653 ifetch 8 ,contr 
+0x6221 026654 istore 8 ,contw 
+0x6222 026655 ifetch 8 ,contr 
+0x6223 026656 istore 8 ,contw 
+0x6224 026657 branch send_lmp_reply 
+:      026659 sp_send_lmp_simple_pairing_number:
+0x6225 026660 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6226 026661 rtn 
+:      026663 send_lmp_simple_pairing_number:
+0x6227 026665 call check_localsm 
+0x6228 026666 call sp_local_random_key_generator ,true 
+0x6229 026667 force 17 ,pdata 
+0x622a 026668 call msg_send_lmp 
+0x622b 026669 arg mem_sp_random_local ,contr 
+0x622c 026670 ifetch 8 ,contr 
+0x622d 026671 istore 8 ,contw 
+0x622e 026672 ifetch 8 ,contr 
+0x622f 026673 istore 8 ,contw 
+0x6230 026674 call check_localsm 
+0x6231 026675 nbranch send_lmp_reply ,true 
+0x6232 026676 branch send_lmp_request ,true 
+:      026678 master_sp_sm_end:
+0x6233 026680 jam sp_stat_done ,mem_master_sp_state 
+:      026681 sp_aurand_send:
+0x6234 026682 call tid_initiate 
+0x6235 026683 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6236 026684 call check_localsm_master 
+0x6237 026685 branch sp_master_key_prarm_push ,true 
+0x6238 026686 branch sp_link_key_prarm_push 
+:      026687 master_sp_send_lmp_dhkey_check:
+0x6239 026688 call tid_reply 
+:      026689 sp_send_lmp_dhkey_check:
+0x623a 026690 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x623b 026691 rtn 
+:      026692 send_lmp_dhkey_check:
+0x623c 026694 force 17 ,pdata 
+0x623d 026695 call msg_send_lmp 
+0x623e 026696 arg mem_sp_calc_result_high ,contr 
+0x623f 026697 ifetch 8 ,contr 
+0x6240 026698 istore 8 ,contw 
+0x6241 026699 ifetch 8 ,contr 
+0x6242 026700 istore 8 ,contw 
+0x6243 026701 call check_localsm 
+0x6244 026702 nbranch send_lmp_reply ,true 
+0x6245 026703 branch send_lmp_request ,true 
+:      026705 send_lmp_enc_key_size_mask_res:
+0x6246 026706 force 3 ,pdata 
+0x6247 026707 call msg_send_lmp 
+0x6248 026708 setarg 0xfffe 
+0x6249 026709 istore 2 ,contw 
+0x624a 026710 branch send_lmp_reply 
+:      026712 send_lmp_auto_rate:
+0x624b 026713 branch send_lmp_request 
+:      026714 send_lmp_clkoffset_req:
+0x624c 026715 branch send_lmp_request 
+:      026716 send_lmp_quality_of_service:
+0x624d 026717 branch send_lmp_request 
+:      026718 send_lmp_test_activate:
+0x624e 026719 branch send_lmp_request 
+:      026724 send_lmp_comb_key:
+0x624f 026725 call generate_random_number 
+0x6250 026726 arg mem_lap ,rega 
+0x6251 026727 call generate_linkkey 
+0x6252 026728 force 17 ,pdata 
+0x6253 026729 call msg_send_lmp 
+0x6254 026730 arg mem_kinit ,rega 
+0x6255 026731 arg mem_random_number ,regb 
+0x6256 026732 call xor16 
+0x6257 026733 nbranch send_lmp_follow ,master 
+0x6258 026734 branch send_lmp_tid 
+:      026736 send_lmp_inrand:
+0x6259 026737 call generate_random_number 
+0x625a 026738 arg mem_plap ,rega 
+0x625b 026739 call generate_kinit 
+:      026740 send_lmp_rand:
+0x625c 026741 force 17 ,pdata 
+0x625d 026742 call msg_send_lmp 
+0x625e 026743 arg mem_random_number ,contr 
+0x625f 026744 call memcpy16 
+0x6260 026745 fetch 1 ,mem_conn_sm 
+0x6261 026746 beq conn_sm_auth_wait ,send_lmp_request 
+0x6262 026747 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6263 026748 branch send_lmp_tid 
+:      026750 send_lmp_aurand:
+0x6264 026751 fetch 1 ,mem_pairing_auth 
+0x6265 026752 branch send_lmp_aurand_notpairing ,blank 
+0x6266 026753 call check_localsm 
+0x6267 026754 call tid_initiate ,true 
+0x6268 026755 ncall tid_reply ,true 
+0x6269 026756 branch send_lmp_aurand_common 
+:      026757 send_lmp_aurand_notpairing:
+0x626a 026758 call tid_initiate 
+:      026759 send_lmp_aurand_common:
+0x626b 026760 call generate_random_number 
+0x626c 026761 branch send_lmp_rand 
+:      026763 send_lmp_sres:
+0x626d 026764 arg mem_lap ,rega 
+0x626e 026765 call function_e1 
+0x626f 026766 force 5 ,pdata 
+0x6270 026767 call msg_send_lmp 
+0x6271 026768 fetch 4 ,mem_input_store 
+0x6272 026769 istore 4 ,contw 
+0x6273 026770 arg mem_sres_tid ,temp 
+0x6274 026771 call special_tid_store 
+0x6275 026772 call copy_aco 
+0x6276 026773 call check_localsm 
+0x6277 026774 branch send_lmp_sres_master ,true 
+0x6278 026775 jam done_encryp ,mem_wait_encryption 
+0x6279 026776 fetch 1 ,mem_pairing_auth 
+0x627a 026777 rtn blank 
+0x627b 026778 jam lmp_au_rand ,mem_lmo_opcode2 
+:      026779 send_lmp_sres_master:
+0x627c 026780 fetch 1 ,mem_link_key_exists 
+0x627d 026781 rtn blank 
+:      026782 send_lmp_sres_startenc:
+0x627e 026783 call check_localsm 
+0x627f 026784 nbranch send_lmp_sres_startenc_slave ,true 
+0x6280 026785 fetch 1 ,mem_auth_enable 
+0x6281 026786 rtn blank 
+0x6282 026787 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6283 026788 rtn 
+:      026789 send_lmp_sres_startenc_slave:
+0x6284 026790 rtnmark0 mark_slave_in_rand_accepted 
+0x6285 026791 set0 mark_slave_in_rand_accepted ,mark 
+0x6286 026792 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6287 026793 rtn 
+:      026797 send_lmp_start_encryption:
+0x6288 026798 call generate_random_number 
+0x6289 026799 call function_e3 
+0x628a 026800 force 17 ,pdata 
+0x628b 026801 call msg_send_lmp 
+0x628c 026802 arg mem_random_number ,contr 
+0x628d 026803 call memcpy16 
+0x628e 026804 branch send_lmp_tid 
+:      026806 send_lmp_stop_encryption_req:
+0x628f 026807 force 1 ,pdata 
+0x6290 026808 call msg_send_lmp 
+0x6291 026809 branch send_lmp_tid 
+:      026811 send_lmp_encryption_key_size_req:
+0x6292 026812 force 2 ,pdata 
+0x6293 026813 call msg_send_lmp 
+0x6294 026814 force 16 ,pdata 
+0x6295 026815 istore 1 ,contw 
+0x6296 026816 store 1 ,mem_key_size 
+0x6297 026817 branch send_lmp_tid 
+:      026819 msg_send_lmp:
+0x6298 026821 lshift3 pdata ,pdata 
+0x6299 026822 or_into 0x07 ,pdata 
+0x629a 026823 store 1 ,mem_lmo_header_length 
+0x629b 026824 arg 17 ,loopcnt 
+0x629c 026825 arg mem_lmo_payload ,contw 
+0x629d 026826 call clear_mem 
+0x629e 026827 arg mem_lmo_payload ,contw 
+0x629f 026828 rtn 
+:      026830 send_lmpext:
+0x62a0 026831 and pdata ,0x7f ,rega 
+0x62a1 026832 jam lmp_escape ,mem_lmp_to_send 
+0x62a2 026833 deposit queue 
+0x62a3 026834 call msg_send_lmp 
+0x62a4 026835 deposit rega 
+0x62a5 026836 istore 1 ,contw 
+0x62a6 026837 rtn 
+:      026839 send_lmp_follow:
+0x62a7 026840 fetch 1 ,mem_lmp_to_send 
+0x62a8 026841 lshift pdata ,pdata 
+0x62a9 026842 fetcht 1 ,mem_state_map 
+0x62aa 026843 isolate1 smap_lmptid ,temp 
+0x62ab 026844 setflag true ,0 ,pdata 
+0x62ac 026845 branch send_lmp_exit 
+:      026848 send_lmp_tid:
+0x62ad 026849 fetcht 1 ,mem_state_map 
+0x62ae 026850 and_into 1 ,temp 
+0x62af 026851 branch send_lmp_end 
+:      026853 send_lmp_reply:
+0x62b0 026854 force 0 ,temp 
+0x62b1 026855 branch send_lmp_end 
+:      026857 send_lmp_request:
+0x62b2 026858 force 1 ,temp 
+:      026859 send_lmp_end:
+0x62b3 026860 fetch 1 ,mem_lmp_to_send 
+0x62b4 026861 lshift pdata ,pdata 
+0x62b5 026862 setflag master ,0 ,pdata 
+0x62b6 026863 ixor temp ,pdata 
+:      026864 send_lmp_exit:
+0x62b7 026865 store 1 ,mem_lmo_header_opcode 
+0x62b8 026866 jam 0 ,mem_lmp_to_send 
+0x62b9 026867 call lmo_fifo_process_lmo0empty 
+0x62ba 026868 enable user 
+0x62bb 026869 rtn 
+:      026872 lmo_fifo_check:
+0x62bc 026873 fetch 1 ,mem_lmo_opcode2 
+0x62bd 026874 rtn blank 
+0x62be 026875 call lmo_fifo_process 
+0x62bf 026876 fetch 1 ,mem_lmo_opcode2 
+0x62c0 026877 rtn 
+:      026879 lmo_fifo_process:
+0x62c1 026880 bpatchx patch30_6 ,mem_patch30 
+0x62c2 026881 fetch 1 ,mem_lmp_to_send 
+0x62c3 026882 branch lmo_fifo_process_lmo0empty ,blank 
+0x62c4 026883 fetch 1 ,mem_lmo_opcode1 
+0x62c5 026884 nrtn blank 
+0x62c6 026885 branch lmo_fifo_process_lmo2to1 
+:      026886 lmo_fifo_process_lmo0empty:
+0x62c7 026887 fetch 1 ,mem_lmo_opcode1 
+0x62c8 026888 branch lmo_fifo_process_lmo1_empty ,blank 
+0x62c9 026889 fetch 3 ,mem_lmo_opcode1 
+0x62ca 026890 store 3 ,mem_lmp_to_send 
+0x62cb 026891 fetcht 1 ,mem_lmo_tid1 
+0x62cc 026892 fetch 1 ,mem_state_map 
+0x62cd 026893 set0 smap_lmptid ,pdata 
+0x62ce 026894 ior temp ,pdata 
+0x62cf 026895 store 1 ,mem_state_map 
+0x62d0 026896 jam 0 ,mem_lmo_opcode1 
+:      026897 lmo_fifo_process_lmo2to1:
+0x62d1 026898 fetch 1 ,mem_lmo_opcode2 
+0x62d2 026899 rtn blank 
+0x62d3 026900 fetch 4 ,mem_lmo_opcode2 
+0x62d4 026901 store 4 ,mem_lmo_opcode1 
+0x62d5 026902 jam 0 ,mem_lmo_opcode2 
+0x62d6 026903 rtn 
+:      026904 lmo_fifo_process_lmo1_empty:
+0x62d7 026905 fetch 1 ,mem_lmo_opcode2 
+0x62d8 026906 rtn blank 
+0x62d9 026907 fetch 3 ,mem_lmo_opcode2 
+0x62da 026908 store 3 ,mem_lmp_to_send 
+0x62db 026909 fetcht 1 ,mem_lmo_tid2 
+0x62dc 026910 fetch 1 ,mem_state_map 
+0x62dd 026911 set0 smap_lmptid ,pdata 
+0x62de 026912 ior temp ,pdata 
+0x62df 026913 store 1 ,mem_state_map 
+0x62e0 026914 jam 0 ,mem_lmo_opcode2 
+0x62e1 026915 rtn 
+:      026918 special_tid_store:
+0x62e2 026919 bpatchx patch30_7 ,mem_patch30 
+0x62e3 026920 fetch 1 ,mem_state_map 
+0x62e4 026921 copy pdata ,regc 
+0x62e5 026922 ifetch 1 ,temp 
+0x62e6 026923 call pop_tid_follow 
+0x62e7 026924 call send_lmp_follow 
+0x62e8 026925 copy regc ,pdata 
+0x62e9 026926 store 1 ,mem_state_map 
+0x62ea 026927 rtn 
+:      026929 tid_reply:
+0x62eb 026930 fetcht 1 ,mem_state_map 
+0x62ec 026931 set0 smap_lmptidinit ,temp 
+0x62ed 026932 storet 1 ,mem_state_map 
+0x62ee 026933 rtn 
+:      026935 tid_initiate:
+0x62ef 026936 fetcht 1 ,mem_state_map 
+0x62f0 026937 set1 smap_lmptidinit ,temp 
+0x62f1 026938 storet 1 ,mem_state_map 
+0x62f2 026939 rtn 
+:      026942 tid_check:
+0x62f3 026943 nsetflag master ,smap_lmptid ,pdata 
+0x62f4 026944 fetcht 1 ,mem_state_map 
+0x62f5 026945 ixor temp ,pdata 
+0x62f6 026946 isolate1 smap_lmptid ,pdata 
+0x62f7 026947 rtn 
+:      026950 tid_set_reply:
+0x62f8 026951 fetch 1 ,mem_state_map 
+0x62f9 026952 setflag master ,smap_lmptid ,pdata 
+0x62fa 026953 store 1 ,mem_state_map 
+0x62fb 026954 rtn 
+:      026957 check_localsm:
+0x62fc 026958 fetch 1 ,mem_sp_localsm 
+0x62fd 026959 compare local_statemachine ,pdata ,0x7f 
+0x62fe 026960 rtn 
+:      026961 setlocalsm_master:
+0x62ff 026962 fetch 1 ,mem_sp_localsm 
+0x6300 026963 set1 7 ,pdata 
+0x6301 026964 store 1 ,mem_sp_localsm 
+0x6302 026965 rtn 
+:      026966 setlocalsm_slave:
+0x6303 026967 fetch 1 ,mem_sp_localsm 
+0x6304 026968 set0 7 ,pdata 
+0x6305 026969 store 1 ,mem_sp_localsm 
+0x6306 026970 rtn 
+:      026971 check_localsm_master:
+0x6307 026972 fetch 1 ,mem_sp_localsm 
+0x6308 026973 isolate1 7 ,pdata 
+0x6309 026974 store 1 ,mem_sp_localsm 
+0x630a 026975 rtn 
+:      026977 generate_random_number:
+0x630b 026979 arg mem_random_number ,contw 
+:      026980 generate_random:
+0x630c 026981 force 16 ,loopcnt 
+:      026982 generate_random_another:
+:      026983 generate_random_loop:
+0x630d 026984 random pdata 
+0x630e 026985 istore 1 ,contw 
+0x630f 026986 loop generate_random_another 
+0x6310 026987 rtn 
+:      026989 generate_linkkey:
+0x6311 026990 call function_e21 
+0x6312 026991 arg mem_link_key ,rega 
+0x6313 026992 arg mem_input_store ,regb 
+0x6314 026993 ifetch 8 ,rega 
+0x6315 026994 fetcht 1 ,mem_state 
+0x6316 026995 nsetflag blank ,state_combkey ,temp 
+0x6317 026996 storet 1 ,mem_state 
+0x6318 026997 copy rega ,contw 
+0x6319 026998 call xor16 
+0x631a 026999 branch generate_linkkey_continue 
+:      027005 process_conn_sm:
+0x631b 027007 bpatchx patch31_0 ,mem_patch31 
+0x631c 027009 call lmo_fifo_check 
+0x631d 027010 nrtn blank 
+:      027011 process_conn_sm_continue:
+0x631e 027012 fetch 1 ,mem_conn_sm 
+0x631f 027013 rtn blank 
+0x6320 027017 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6321 027018 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6322 027019 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6323 027020 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6324 027021 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6325 027022 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6326 027023 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6327 027024 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x6328 027025 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x6329 027026 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x632a 027027 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x632b 027028 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x632c 027029 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x632d 027030 beq conn_sm_send_version ,host_create_conn_send_version 
+0x632e 027031 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x632f 027032 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6330 027033 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6331 027034 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6332 027035 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6333 027036 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6334 027037 beq conn_sm_auth ,host_create_conn_auth 
+0x6335 027038 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6336 027039 beq conn_sm_done ,host_create_conn_done 
+0x6337 027040 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x6338 027041 jam conn_sm_standby ,mem_conn_sm 
+0x6339 027043 rtn 
+:      027044 host_create_conn_done:
+0x633a 027045 fetch 1 ,mem_lmp_conn_state 
+0x633b 027046 rtnbit0 received_setup_complete 
+0x633c 027047 rtnbit0 sent_setup_complete 
+0x633d 027048 jam conn_sm_standby ,mem_conn_sm 
+0x633e 027049 call host_conn_judge_encrypt 
+0x633f 027050 branch scheduler_start_upper_sm 
+:      027052 host_conn_judge_encrypt:
+0x6340 027053 fetch 1 ,mem_connection_options 
+0x6341 027054 rtnbit0 connection_encrypt 
+0x6342 027055 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6343 027056 rtn 
+:      027058 host_create_conn_done_wait:
+0x6344 027059 arg enpt_delay_timer ,queue 
+0x6345 027060 call timer_check 
+0x6346 027061 nrtn blank 
+0x6347 027062 jam conn_sm_done ,mem_conn_sm 
+0x6348 027063 rtn 
+:      027065 host_create_conn_auth:
+0x6349 027066 fetch 1 ,mem_connection_options 
+0x634a 027067 set0 connection_auth ,pdata 
+0x634b 027068 store 1 ,mem_connection_options 
+0x634c 027069 jam conn_sm_auth_wait ,mem_conn_sm 
+0x634d 027070 jam lmp_au_rand ,mem_lmo_opcode2 
+0x634e 027071 rtn 
+:      027072 host_create_conn_auth_wait:
+0x634f 027073 rtn 
+:      027074 host_create_conn_pairing:
+0x6350 027075 fetch 1 ,mem_pincode_state 
+0x6351 027076 rtnne pincode_state_pincode_ready 
+0x6352 027077 call host_auth 
+0x6353 027078 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6354 027079 rtn 
+:      027081 host_create_conn_pairing_wait:
+0x6355 027082 rtn 
+:      027083 host_creat_conn_send_feat_ext:
+0x6356 027084 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6357 027085 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x6358 027086 rtn 
+:      027087 host_create_conn_send_version:
+0x6359 027088 jam conn_sm_wait_version ,mem_conn_sm 
+0x635a 027089 jam lmp_version_req ,mem_lmo_opcode2 
+0x635b 027090 rtn 
+:      027092 host_creat_conn_wait_switch:
+0x635c 027093 fetch 1 ,mem_switch_flag 
+0x635d 027094 rtneq switch_flag_init 
+0x635e 027095 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x635f 027096 arg switch_wait_timer ,queue 
+0x6360 027097 call timer_check 
+0x6361 027098 nrtn blank 
+0x6362 027099 jam switch_flag_init ,mem_switch_flag 
+0x6363 027100 branch host_create_conn_switch 
+:      027101 host_create_conn_switch_accept:
+0x6364 027102 rtn master 
+0x6365 027103 branch host_create_conn_auth_pair 
+:      027105 host_create_conn_send_features:
+0x6366 027106 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6367 027107 jam lmp_features_req ,mem_lmo_opcode2 
+0x6368 027108 rtn 
+:      027109 host_create_conn_send_switch:
+0x6369 027110 jam lmp_switch_req ,mem_lmo_opcode2 
+0x636a 027111 set1 mark_switch_initiated ,mark 
+0x636b 027112 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x636c 027113 setarg 0x1ff 
+0x636d 027114 store 2 ,mem_soft_timer 
+0x636e 027115 rtn 
+:      027116 host_create_conn_send_conn_req:
+0x636f 027117 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6370 027118 jam 0xff ,mem_soft_timer 
+0x6371 027119 set0 mark_reconn_recieve_switch ,mark 
+0x6372 027120 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6373 027121 branch init_lmp_reinit 
+:      027122 host_create_conn_wait_accept:
+0x6374 027123 rtnmark1 mark_reconn_recieve_switch 
+0x6375 027124 fetch 2 ,mem_soft_timer 
+0x6376 027125 sub pdata ,1 ,pdata 
+0x6377 027126 branch host_create_conn_resend ,zero 
+0x6378 027127 store 2 ,mem_soft_timer 
+0x6379 027128 rtn 
+:      027129 host_create_conn_resend:
+0x637a 027130 jam conn_sm_send_switch ,mem_conn_sm 
+0x637b 027131 rtn 
+:      027132 host_create_conn_waiting:
+0x637c 027134 rtn 
+:      027136 host_create_conn_switch:
+0x637d 027137 fetch 1 ,mem_lmp_conn_state 
+0x637e 027138 rtnbit0 sent_setup_complete 
+0x637f 027139 rtnbit0 received_setup_complete 
+0x6380 027140 fetch 1 ,mem_connection_options 
+0x6381 027141 set0 connection_switch ,pdata 
+0x6382 027142 store 1 ,mem_connection_options 
+0x6383 027143 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6384 027144 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6385 027145 rtn 
+:      027147 host_create_conn_send_setup_complete:
+0x6386 027148 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6387 027149 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x6388 027150 rtn 
+:      027152 host_create_conn_wait_setup_complete:
+0x6389 027153 fetch 1 ,mem_lmp_conn_state 
+0x638a 027154 rtnbit0 received_setup_complete 
+0x638b 027155 jam conn_sm_standby ,mem_conn_sm 
+0x638c 027157 rtn 
+:      027158 host_create_conn_wait_setup_complete_rtn:
+0x638d 027159 jam conn_sm_auth_pair ,mem_conn_sm 
+0x638e 027160 rtn 
+:      027162 host_create_conn_master_detach:
+0x638f 027163 fetch 1 ,mem_soft_timer 
+0x6390 027164 increase -1 ,pdata 
+0x6391 027165 branch host_create_conn_send_detach ,blank 
+0x6392 027166 store 1 ,mem_soft_timer 
+0x6393 027167 rtn 
+:      027168 host_create_conn_send_detach:
+0x6394 027169 jam lmp_detach ,mem_lmo_opcode2 
+0x6395 027170 jam local_host ,mem_disconn_reason_send 
+0x6396 027171 jam 0 ,mem_conn_sm 
+0x6397 027172 rtn 
+:      027173 host_create_conn_auth_pair:
+0x6398 027175 fetch 1 ,mem_connection_options 
+0x6399 027176 bbit1 connection_switch ,host_create_conn_switch 
+0x639a 027177 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      027178 host_create_conn_sm_done:
+0x639b 027179 jam conn_sm_done ,mem_conn_sm 
+0x639c 027180 rtn 
+:      027181 host_create_conn_auth_pair_true:
+0x639d 027182 fetch 1 ,mem_link_key_exists 
+0x639e 027183 branch host_create_conn_auth_pair_nokey ,blank 
+0x639f 027184 fetch 1 ,mem_lmp_conn_state 
+0x63a0 027185 rtnbit0 sent_setup_complete 
+0x63a1 027186 rtnbit0 received_setup_complete 
+0x63a2 027187 fetch 4 ,mem_aurand_send_delay_time 
+0x63a3 027188 arg 100 ,temp 
+0x63a4 027189 iadd temp ,temp 
+0x63a5 027190 copy clkn_bt ,pdata 
+0x63a6 027191 isub temp ,null 
+0x63a7 027192 nrtn positive 
+0x63a8 027193 branch host_create_conn_auth 
+:      027197 host_create_conn_auth_pair_nokey:
+0x63a9 027198 jam conn_sm_pairing ,mem_conn_sm 
+0x63aa 027199 jam 4 ,mem_pin_length 
+0x63ab 027200 setarg 0x3030 
+0x63ac 027201 store 2 ,mem_pin 
+0x63ad 027202 istore 2 ,contw 
+0x63ae 027203 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x63af 027204 branch host_create_conn_pairing 
+:      027206 host_create_conn_auth_pair_wait:
+0x63b0 027207 rtn 
+:      027208 host_create_conn_encrypt:
+0x63b1 027209 fetch 1 ,mem_connection_options 
+0x63b2 027210 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x63b3 027211 jam conn_sm_done ,mem_conn_sm 
+0x63b4 027212 rtn 
+:      027214 host_create_conn_encrypt_start:
+0x63b5 027215 fetch 1 ,mem_connection_options 
+0x63b6 027216 set0 connection_encrypt ,pdata 
+0x63b7 027217 store 1 ,mem_connection_options 
+0x63b8 027218 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x63b9 027219 rtn 
+:      027221 host_create_conn_encrypt_wait:
+0x63ba 027222 fetch 1 ,mem_wait_encryption 
+0x63bb 027223 rtn blank 
+0x63bc 027224 jam conn_sm_standby ,mem_conn_sm 
+0x63bd 027225 branch host_create_conn_encrypt_start 
+:      027227 host_create_conn_encrypt_wait_clear:
+0x63be 027228 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x63bf 027229 rtn 
+:      027231 host_auth:
+0x63c0 027232 fetch 1 ,mem_op 
+0x63c1 027233 bbit1 op_inrand_req ,remote_auth 
+0x63c2 027234 call tid_initiate 
+0x63c3 027235 jam lmp_in_rand ,mem_lmo_opcode2 
+0x63c4 027236 branch cmd_exit 
+:      027237 remote_auth:
+0x63c5 027238 fetch 1 ,mem_op 
+0x63c6 027239 set0 op_inrand_req ,pdata 
+0x63c7 027240 store 1 ,mem_op 
+0x63c8 027241 call lmp_accept_inrand 
+0x63c9 027242 call tid_set_reply 
+0x63ca 027243 branch cmd_exit 
+:      027245 pincode_reinit:
+0x63cb 027246 setarg 4 
+0x63cc 027247 store 1 ,mem_pin_length 
+0x63cd 027248 setarg 0x3030 
+0x63ce 027249 istore 2 ,contw 
+0x63cf 027250 istore 2 ,contw 
+0x63d0 027251 rtn 
+:      027257 twspi_reset:
+0x63d1 027258 bpatchx patch31_4 ,mem_patch31 
+0x63d2 027259 hfetch 1 ,core_gpio_oe3 
+0x63d3 027260 arg 0x06 ,temp 
+0x63d4 027261 ior temp ,pdata 
+0x63d5 027262 hstore 1 ,core_gpio_oe3 
+0x63d6 027263 hfetch 1 ,core_gpio_out3 
+0x63d7 027264 ior temp ,pdata 
+0x63d8 027265 hstore 1 ,core_gpio_out3 
+0x63d9 027266 call twspi_disable 
+0x63da 027267 hfetch 1 ,core_gpio_out3 
+0x63db 027268 set0 1 ,pdata 
+0x63dc 027269 set0 2 ,pdata 
+0x63dd 027270 hstore 1 ,core_gpio_out3 
+0x63de 027271 nop 30 
+0x63df 027272 branch twspi_enable 
+:      027274 twspi_reset2:
+0x63e0 027275 hfetch 1 ,core_gpio_oe3 
+0x63e1 027276 arg 0xc0 ,temp 
+0x63e2 027277 ior temp ,pdata 
+0x63e3 027278 hstore 1 ,core_gpio_oe3 
+0x63e4 027279 hfetch 1 ,core_gpio_out3 
+0x63e5 027280 ior temp ,pdata 
+0x63e6 027281 hstore 1 ,core_gpio_out3 
+0x63e7 027282 call twspi_disable 
+0x63e8 027283 hfetch 1 ,core_gpio_out3 
+0x63e9 027284 set0 6 ,pdata 
+0x63ea 027285 set0 7 ,pdata 
+0x63eb 027286 hstore 1 ,core_gpio_out3 
+0x63ec 027287 nop 30 
+0x63ed 027288 branch twspi_enable2 
+:      027290 twspi_disable:
+0x63ee 027291 hfetch 1 ,core_gpio_sel1 
+0x63ef 027292 and pdata ,0xfc ,pdata 
+0x63f0 027293 hstore 1 ,core_gpio_sel1 
+0x63f1 027294 rtn 
+:      027295 twspi_enable:
+0x63f2 027296 hfetch 1 ,core_gpio_sel1 
+0x63f3 027297 or pdata ,0x01 ,pdata 
+0x63f4 027298 hstore 1 ,core_gpio_sel1 
+0x63f5 027299 rtn 
+:      027300 twspi_enable2:
+0x63f6 027301 hfetch 1 ,core_gpio_sel1 
+0x63f7 027302 or pdata ,0x03 ,pdata 
+0x63f8 027303 set0 4 ,pdata 
+0x63f9 027304 hstore 1 ,core_gpio_sel1 
+0x63fa 027305 rtn 
+:      027309 sensor_read:
+0x63fb 027310 copy pdata ,regb 
+0x63fc 027311 call spi_ncs_enable 
+0x63fd 027312 nop 100 
+0x63fe 027313 copy regb ,pdata 
+0x63ff 027314 call twspi_read 
+0x6400 027315 copy pdata ,regb 
+0x6401 027316 call spi_ncs_disable 
+0x6402 027317 nop 100 
+0x6403 027318 copy regb ,pdata 
+0x6404 027319 rtn 
+:      027321 sensor_write:
+0x6405 027322 copy pdata ,regb 
+0x6406 027323 call spi_ncs_enable 
+0x6407 027324 nop 100 
+0x6408 027325 copy regb ,pdata 
+0x6409 027326 call twspi_write 
+0x640a 027327 call spi_ncs_disable 
+0x640b 027328 nop 100 
+0x640c 027329 rtn 
+:      027332 spi_ncs_gpio_init:
+0x640d 027333 fetcht 1 ,mem_spi_ncs_gpio 
+0x640e 027334 branch gpio_config_output 
+:      027337 spi_ncs_enable:
+0x640f 027338 fetcht 1 ,mem_spi_ncs_gpio 
+0x6410 027339 branch gpio_out_active 
+:      027342 spi_ncs_disable:
+0x6411 027343 fetcht 1 ,mem_spi_ncs_gpio 
+0x6412 027344 branch gpio_out_inactive 
+:      027347 twspi_write:
+0x6413 027348 branch spid_write_reg 
+:      027350 twspi_read:
+0x6414 027351 branch spid_read_reg 
+:      027358 read_function_aes:
+0x6415 027359 nbranch read_function ,user 
+0x6416 027360 hfetch 1 ,core_gpio_key2 
+0x6417 027361 or_into 0x2 ,pdata 
+0x6418 027362 hstore 1 ,core_gpio_key2 
+:      027363 read_function:
+0x6419 027364 copy temp ,null 
+0x641a 027365 branch read_fuction_zero ,zero 
+0x641b 027366 copy regc ,pc 
+:      027367 read_fuction_zero:
+0x641c 027368 isolate0 0 ,null 
+0x641d 027369 branch set_ucode_status 
+:      027372 get_block_header:
+0x641e 027373 force 4 ,temp 
+:      027374 get_block_header0:
+0x641f 027375 arg mem_ucode_buf ,rega 
+0x6420 027376 hfetch 1 ,core_gpio_key2 
+0x6421 027377 and_into 0xfd ,pdata 
+0x6422 027378 hstore 1 ,core_gpio_key2 
+0x6423 027379 call read_function 
+0x6424 027380 arg 0x55aa ,rega 
+0x6425 027381 fetch 2 ,mem_ucode_buf 
+0x6426 027382 ifetcht 2 ,contr 
+0x6427 027383 isub rega ,null 
+0x6428 027384 rtn 
+:      027386 read_first_block:
+0x6429 027387 arg 2 ,temp 
+0x642a 027388 arg mem_ucode_ptr ,rega 
+0x642b 027389 call read_function 
+0x642c 027390 fetch 2 ,mem_ucode_ptr 
+0x642d 027391 store 2 ,mem_addr_mi 
+0x642e 027392 call get_iv ,user 
+0x642f 027393 rtn 
+:      027395 get_iv:
+0x6430 027396 arg 16 ,temp 
+0x6431 027397 arg mem_ucode_keybuf ,rega 
+0x6432 027398 hfetch 1 ,core_gpio_key2 
+0x6433 027399 and_into 0xfd ,pdata 
+0x6434 027400 hstore 1 ,core_gpio_key2 
+0x6435 027401 call read_function 
+0x6436 027402 arg mem_ucode_keybuf ,contr 
+0x6437 027403 arg 16 ,loopcnt 
+0x6438 027404 call aes_load_data 
+0x6439 027405 call aes_init 
+0x643a 027406 call aes_clear_data 
+0x643b 027407 branch do_aes_cbc 
+:      027409 load_storage:
+0x643c 027410 disable match 
+0x643d 027411 call get_block_header 
+0x643e 027412 nrtn zero 
+0x643f 027413 enable match 
+0x6440 027414 jam 0x80 ,core_ucode_ctrl 
+0x6441 027415 jam 0 ,core_ucode_hi 
+0x6442 027416 jam 0 ,core_ucode_low 
+0x6443 027417 arg core_ucode_data ,rega 
+0x6444 027418 call read_function_aes 
+0x6445 027419 jam 0x0 ,core_ucode_ctrl 
+:      027420 load_storage_loop:
+0x6446 027421 arg 6 ,temp 
+0x6447 027422 call get_block_header0 
+0x6448 027423 nrtn zero 
+0x6449 027424 ifetch 2 ,contr 
+0x644a 027425 iforce rega 
+0x644b 027426 call read_function 
+0x644c 027427 branch load_storage_loop 
+:      027431 reload_eeprom:
+0x644d 027432 call clean_mem 
+0x644e 027433 setarg 0x1000 
+0x644f 027434 store 2 ,mem_addr_mi 
+0x6450 027435 arg iicd_read_eep ,regc 
+0x6451 027436 arg 2 ,loopcnt 
+:      027437 reload_eeprom_loop:
+0x6452 027438 call get_block_header 
+0x6453 027439 nrtn zero 
+0x6454 027440 fetch 2 ,mem_addr_mi 
+0x6455 027441 byteswap pdata ,pdata 
+0x6456 027442 iadd temp ,pdata 
+0x6457 027443 byteswap pdata ,pdata 
+0x6458 027444 store 2 ,mem_addr_mi 
+0x6459 027445 loop reload_eeprom_loop 
+0x645a 027446 branch load_storage_loop 
+:      027448 loadcode:
+0x645b 027449 call clean_mem 
+0x645c 027450 disable user 
+0x645d 027451 call otp_enable_chgpump 
+0x645e 027452 setarg otp_ucode_flag 
+0x645f 027453 arg mem_otp_ucode_flag ,rega 
+0x6460 027454 arg 2 ,temp 
+0x6461 027455 call otpd_read_data 
+0x6462 027456 fetch 2 ,mem_otp_ucode_flag 
+0x6463 027457 bbit0 otp_uflag_aes ,loadcode_otp 
+0x6464 027458 jam 0x25 ,core_clkoff 
+0x6465 027459 setarg otp_ucode_aeskey 
+0x6466 027460 arg mem_ucode_keybuf ,rega 
+0x6467 027461 arg 16 ,temp 
+0x6468 027462 call otpd_read_data 
+0x6469 027463 jam lock_otp ,core_misc_ctrl 
+0x646a 027464 set1 mark_otp_encrypt ,mark 
+0x646b 027465 arg mem_ucode_keybuf ,contr 
+0x646c 027466 call load_key 
+0x646d 027467 enable user 
+:      027468 loadcode_otp:
+0x646e 027469 jam 0 ,mem_loadcode_times 
+:      027470 loadcode_otp_2:
+0x646f 027471 call loadcode_check_times 
+0x6470 027472 fetch 2 ,mem_otp_ucode_flag 
+0x6471 027473 byteswap pdata ,pdata 
+0x6472 027474 arg 0x7ff ,temp 
+0x6473 027475 iand temp ,pdata 
+0x6474 027476 branch loadcode_iic ,zero 
+0x6475 027477 call otp_set_addr 
+0x6476 027478 arg otpd_read_code ,regc 
+0x6477 027479 call get_iv ,user 
+0x6478 027480 call load_storage 
+0x6479 027481 fetch 1 ,mem_ucode_status 
+0x647a 027482 bbit0 0 ,loadcode_otp_2 
+:      027484 loadcode_iic:
+0x647b 027485 call otp_disable_chgpump 
+0x647c 027486 jam 0 ,mem_loadcode_times 
+:      027487 loadcode_iic_2:
+0x647d 027488 call loadcode_check_times 
+0x647e 027489 call clear_eeprom_size_2k 
+0x647f 027490 fetch 1 ,mem_otp_ucode_flag 
+0x6480 027491 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6481 027492 call loadcode_iic_by_eeprom 
+0x6482 027493 nbranch loadcode_iic_eeprom_2k ,match 
+0x6483 027494 fetch 1 ,mem_ucode_status 
+0x6484 027495 bbit0 0 ,loadcode_iic_2 
+0x6485 027496 branch loadcode_hci 
+:      027497 loadcode_iic_eeprom_2k:
+0x6486 027498 call set_eeprom_size_2k 
+0x6487 027499 fetch 1 ,mem_otp_ucode_flag 
+0x6488 027500 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6489 027501 call loadcode_iic_by_eeprom 
+0x648a 027502 nbranch loadcode_spi ,match 
+0x648b 027503 fetch 1 ,mem_ucode_status 
+0x648c 027504 bbit0 0 ,loadcode_iic_2 
+0x648d 027505 branch loadcode_hci 
+:      027507 loadcode_spi:
+0x648e 027508 jam 0 ,mem_loadcode_times 
+:      027509 loadcode_spi_2:
+0x648f 027510 call loadcode_check_times 
+0x6490 027511 fetch 1 ,mem_otp_ucode_flag 
+0x6491 027512 bbit1 otp_uflag_skip_flash ,loadcode_hci 
+0x6492 027513 setarg 0x0 
+0x6493 027514 store 3 ,mem_addr_hi 
+0x6494 027515 call spid_init_flash 
+0x6495 027516 arg spid_load_flash ,regc 
+0x6496 027517 call read_first_block 
+0x6497 027518 call load_storage 
+0x6498 027519 nbranch loadcode_hci ,match 
+0x6499 027520 fetch 1 ,mem_ucode_status 
+0x649a 027521 bbit0 0 ,loadcode_spi_2 
+:      027523 loadcode_hci:
+0x649b 027524 bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+0x649c 027525 call clear_key_buf 
+:      027526 loadcode_hci_enc:
+0x649d 027527 fetch 1 ,mem_otp_ucode_flag 
+0x649e 027528 bbit0 otp_uflag_hci ,clear_key_buf 
+0x649f 027529 jam 0x21 ,core_clkoff 
+0x64a0 027530 call hci_init 
+:      027531 loadcode_hci_loop:
+0x64a1 027532 call hci_rx_packet 
+0x64a2 027533 branch loadcode_hci_loop 
+:      027535 clear_key_buf:
+0x64a3 027536 setarg 0 
+0x64a4 027537 store 8 ,mem_ucode_keybuf 
+0x64a5 027538 store 8 ,mem_ucode_keybuf + 8 
+0x64a6 027539 force regidx_key ,regext_index 
+0x64a7 027540 call aes_clear 
+0x64a8 027541 jam 0x21 ,core_clkoff 
+0x64a9 027542 rtn 
+:      027545 loadcode_iic_by_eeprom:
+0x64aa 027546 setarg 0x0 
+0x64ab 027547 store 2 ,mem_addr_mi 
+0x64ac 027548 arg iicd_read_eep ,regc 
+0x64ad 027549 call iicd_init_12m 
+0x64ae 027550 call read_first_block 
+0x64af 027551 branch load_storage 
+:      027554 loadcode_check_times:
+0x64b0 027555 fetch 1 ,mem_loadcode_times 
+0x64b1 027556 increase 1 ,pdata 
+0x64b2 027557 sub pdata ,3 ,null 
+0x64b3 027558 nbranch loadcode_error ,positive 
+0x64b4 027559 store 1 ,mem_loadcode_times 
+0x64b5 027560 rtn 
+:      027562 loadcode_error:
+0x64b6 027563 call clear_key_buf 
+0x64b7 027564 call ice_break 
+0x64b8 027565 rtn 
+:      027569 set_ucode_status:
+0x64b9 027570 fetch 1 ,mem_ucode_status 
+0x64ba 027571 lshift pdata ,pdata 
+0x64bb 027572 setflag true ,0 ,pdata 
+0x64bc 027573 isolate0 15 ,rega 
+0x64bd 027574 rtn true 
+0x64be 027575 store 1 ,mem_ucode_status 
+0x64bf 027576 rtn 
+:      027579 decrypt_code:
+0x64c0 027580 hfetch 1 ,core_gpio_key2 
+0x64c1 027581 rtnbit0 1 
+0x64c2 027582 branch decrypt_code_skip 
+:      027583 decrypt_code_loop:
+0x64c3 027584 hfetch 1 ,core_dma_status 
+0x64c4 027585 qisolate1 pdata 
+0x64c5 027586 rtn true 
+:      027587 decrypt_code_skip:
+0x64c6 027588 hfetch 1 ,core_misc_status 
+0x64c7 027589 bbit0 1 ,decrypt_code_loop 
+0x64c8 027590 call do_aes_cbc 
+0x64c9 027591 branch decrypt_code_loop 
+:      027595 load_ucode:
+0x64ca 027596 fetch 2 ,mem_patch_ptr 
+0x64cb 027597 rtn blank 
+0x64cc 027598 jam 0x80 ,core_ucode_ctrl 
+0x64cd 027599 jam 0 ,core_ucode_hi 
+0x64ce 027600 jam 0 ,core_ucode_low 
+0x64cf 027601 fetcht 2 ,mem_patch_len 
+0x64d0 027602 lshift2 temp ,loopcnt 
+0x64d1 027603 iforce contr 
+:      027604 load_ucode_loop:
+0x64d2 027605 ifetch 1 ,contr 
+0x64d3 027606 hstore 1 ,core_ucode_data 
+0x64d4 027607 loop load_ucode_loop 
+0x64d5 027608 jam 0x0 ,core_ucode_ctrl 
+0x64d6 027609 rtn 
+:      027614 spid_init:
+0x64d7 027615 bpatchx patch31_5 ,mem_patch31 
+0x64d8 027616 call spid_init_common 
+0x64d9 027617 branch twspi_enable 
+:      027619 spid_init2:
+0x64da 027620 call spid_init_common 
+0x64db 027621 call twspi_disable 
+0x64dc 027622 branch twspi_enable2 
+:      027624 spid_init_common:
+0x64dd 027625 fetch 1 ,mem_spi_init_clk 
+0x64de 027626 hstore 1 ,core_spid_ctrl 
+0x64df 027627 fetch 1 ,mem_spi_init_delay_time 
+0x64e0 027628 hstore 1 ,core_spid_delay 
+0x64e1 027629 setarg mem_spid_tbuf 
+0x64e2 027630 hstore 2 ,core_spid_txaddr 
+0x64e3 027631 setarg mem_spid_rbuf 
+0x64e4 027632 hstore 2 ,core_spid_rxaddr 
+0x64e5 027633 branch twspi_disable 
+:      027635 spid_reset:
+0x64e6 027636 hfetch 1 ,core_spid_ctrl 
+0x64e7 027637 set1 7 ,pdata 
+0x64e8 027638 hstore 1 ,core_spid_ctrl 
+0x64e9 027639 set0 7 ,pdata 
+0x64ea 027640 hstore 1 ,core_spid_ctrl 
+0x64eb 027641 rtn 
+:      027645 spid_write_reg:
+0x64ec 027646 set1 7 ,pdata 
+0x64ed 027647 store 2 ,mem_spid_tbuf 
+0x64ee 027648 bpatchx patch31_6 ,mem_patch31 
+0x64ef 027649 jam 2 ,core_spid_txlen 
+0x64f0 027650 jam 0 ,core_spid_rxlen 
+0x64f1 027651 jam spid_start ,core_misc_ctrl 
+0x64f2 027652 branch wait_spid_done 
+:      027655 spid_read_reg:
+0x64f3 027656 force 1 ,temp 
+:      027658 spid_read_regs:
+0x64f4 027660 store 1 ,mem_spid_tbuf 
+0x64f5 027661 bpatchx patch31_7 ,mem_patch31 
+0x64f6 027662 jam 1 ,core_spid_txlen 
+0x64f7 027663 hstoret 2 ,core_spid_rxlen 
+0x64f8 027664 jam spid_start ,core_misc_ctrl 
+0x64f9 027665 call wait_spid_done 
+0x64fa 027666 fetch 1 ,mem_spid_rbuf 
+0x64fb 027667 rtn 
+:      027669 wait_spid_done:
+0x64fc 027670 fetch 2 ,mem_afh_error_total 
+0x64fd 027671 increase 1 ,pdata 
+0x64fe 027672 store 2 ,mem_afh_error_total 
+0x64ff 027673 hfetch 1 ,core_dma_status 
+0x6500 027674 bbit0 spid_done ,wait_spid_done 
+0x6501 027675 rtn 
+:      027677 spid_init_flash:
+0x6502 027678 jam 0x40 ,core_spid_ctrl 
+0x6503 027679 jam 0x0 ,core_spid_delay 
+0x6504 027680 hfetch 1 ,core_gpio_sel1 
+0x6505 027681 set0 0 ,pdata 
+0x6506 027682 set1 1 ,pdata 
+0x6507 027683 hstore 1 ,core_gpio_sel1 
+0x6508 027684 setarg 0 
+0x6509 027685 store 4 ,mem_spid_tbuf 
+0x650a 027686 rtn 
+:      027689 spid_unlock_flash:
+0x650b 027690 setarg 0 
+0x650c 027691 hstore 2 ,core_spid_rxlen 
+0x650d 027692 setarg 1 
+0x650e 027693 hstore 2 ,core_spid_txlen 
+0x650f 027694 setarg mem_spid_tbuf 
+0x6510 027695 hstore 2 ,core_spid_txaddr 
+0x6511 027696 jam 6 ,mem_spid_tbuf 
+0x6512 027697 jam spid_start ,core_misc_ctrl 
+0x6513 027698 branch wait_spid_done 
+:      027713 flash_write:
+0x6514 027714 disable user 
+0x6515 027715 copy pdata ,regb 
+0x6516 027716 fetch 1 ,mem_spi_write_flash_sm 
+0x6517 027717 rtnne flash_sm_no_buys 
+0x6518 027718 enable user 
+0x6519 027719 copy regb ,pdata 
+0x651a 027720 branch flash_write_start 
+:      027723 flash_write_spi_sm_timer:
+0x651b 027724 fetch 1 ,mem_spi_write_flash_sm 
+0x651c 027725 beq flash_sm_start ,flash_write_start 
+0x651d 027726 beq flash_sm_erase_sector ,flash_erase_sector 
+0x651e 027727 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+0x651f 027728 beq flash_sm_write_data ,flash_write_data 
+0x6520 027729 beq flash_sm_wait_write_data ,flash_wait_write_data 
+0x6521 027730 rtn 
+:      027732 flash_write_start:
+0x6522 027733 store 3 ,mem_spi_write_addr 
+0x6523 027734 copy rega ,pdata 
+0x6524 027735 store 2 ,mem_spi_write_ptr 
+0x6525 027736 storet 2 ,mem_spi_write_len 
+0x6526 027737 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+0x6527 027738 branch spid_init_flash 
+:      027739 flash_erase_sector:
+0x6528 027740 call spid_init_flash 
+0x6529 027741 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+0x652a 027742 call spid_unlock_flash 
+0x652b 027743 arg mem_spid_tbuf ,rega 
+0x652c 027744 fetch 3 ,mem_spi_write_addr 
+0x652d 027745 jam 4 ,core_spid_txlen 
+0x652e 027746 arg flash_command_sector_erase ,temp 
+0x652f 027747 branch spid_write_flash_common 
+:      027749 flash_wait_erase_sector:
+0x6530 027750 call spid_init_flash 
+0x6531 027751 call spid_unlock_flash 
+0x6532 027752 setarg flash_read_satus 
+0x6533 027753 call spid_read_reg 
+0x6534 027754 rtnbit1 flash_status_wip 
+0x6535 027755 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+0x6536 027756 rtn 
+:      027757 flash_write_data:
+0x6537 027758 call spid_init_flash 
+0x6538 027759 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+0x6539 027760 call spid_unlock_flash 
+0x653a 027761 call flash_data_preserve 
+0x653b 027762 call spid_write_flash 
+0x653c 027763 branch flash_data_recover 
+:      027764 flash_wait_write_data:
+0x653d 027765 call spid_init_flash 
+0x653e 027766 call spid_unlock_flash 
+0x653f 027767 setarg flash_read_satus 
+0x6540 027768 call spid_read_reg 
+0x6541 027769 rtnbit1 flash_status_wip 
+0x6542 027770 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+0x6543 027771 fetch 2 ,mem_cb_spi_flash_write_complate 
+0x6544 027772 branch callback_func 
+:      027773 flash_data_recover:
+0x6545 027774 fetch 4 ,mem_temp 
+0x6546 027775 fetcht 2 ,mem_spi_write_ptr 
+0x6547 027776 increase -4 ,temp 
+0x6548 027777 istore 4 ,temp 
+0x6549 027778 rtn 
+:      027779 flash_data_preserve:
+0x654a 027780 fetcht 2 ,mem_spi_write_ptr 
+0x654b 027781 copy temp ,rega 
+0x654c 027782 increase -4 ,temp 
+0x654d 027783 ifetch 4 ,temp 
+0x654e 027784 store 4 ,mem_temp 
+0x654f 027785 fetcht 2 ,mem_spi_write_len 
+0x6550 027786 fetch 3 ,mem_spi_write_addr 
+0x6551 027787 rtn 
+:      027791 spid_write_flash:
+0x6552 027792 increase 4 ,temp 
+0x6553 027793 hstoret 2 ,core_spid_txlen 
+0x6554 027794 arg flash_command_write_data ,temp 
+0x6555 027795 increase -4 ,rega 
+:      027796 spid_write_flash_common:
+0x6556 027798 istoret 1 ,rega 
+0x6557 027799 rshift16 pdata ,temp 
+0x6558 027800 istoret 1 ,contw 
+0x6559 027801 rshift8 pdata ,temp 
+0x655a 027802 istoret 1 ,contw 
+0x655b 027803 istore 1 ,contw 
+0x655c 027804 deposit rega 
+0x655d 027805 hstore 2 ,core_spid_txaddr 
+0x655e 027806 setarg 0 
+0x655f 027807 hstore 2 ,core_spid_rxlen 
+0x6560 027808 jam spid_start ,core_misc_ctrl 
+0x6561 027809 branch wait_spid_done 
+:      027813 spid_read_flash:
+0x6562 027814 hstoret 2 ,core_spid_rxlen 
+0x6563 027815 rshift16 pdata ,temp 
+0x6564 027816 storet 1 ,mem_addr_hi 
+0x6565 027817 rshift8 pdata ,temp 
+0x6566 027818 storet 1 ,mem_addr_mi 
+0x6567 027819 store 1 ,mem_addr_lo 
+0x6568 027820 setarg 4 
+0x6569 027821 hstore 2 ,core_spid_txlen 
+0x656a 027822 jam flash_command_read_data ,mem_spid_tbuf 
+0x656b 027823 setarg mem_spid_tbuf 
+0x656c 027824 hstore 2 ,core_spid_txaddr 
+0x656d 027825 deposit rega 
+0x656e 027826 hstore 2 ,core_spid_rxaddr 
+0x656f 027827 hfetch 1 ,core_spid_ctrl 
+0x6570 027828 isolate0 15 ,rega 
+0x6571 027829 setflag true ,6 ,pdata 
+0x6572 027830 hstore 1 ,core_spid_ctrl 
+0x6573 027831 jam spid_start ,core_misc_ctrl 
+:      027832 spi_read_flash_wait:
+0x6574 027833 hfetch 1 ,core_dma_status 
+0x6575 027834 bbit1 7 ,spi_read_flash_wait 
+0x6576 027835 arg spid_done ,queue 
+0x6577 027836 branch wait_spid_done 
+:      027840 spid_load_flash:
+0x6578 027841 hstoret 2 ,core_spid_rxlen 
+0x6579 027842 setarg 4 
+0x657a 027843 hstore 2 ,core_spid_txlen 
+0x657b 027844 jam 3 ,mem_spid_tbuf 
+0x657c 027845 setarg mem_spid_tbuf 
+0x657d 027846 hstore 2 ,core_spid_txaddr 
+0x657e 027847 deposit rega 
+0x657f 027848 hstore 2 ,core_spid_rxaddr 
+0x6580 027849 hfetch 1 ,core_spid_ctrl 
+0x6581 027850 isolate0 15 ,rega 
+0x6582 027851 setflag true ,6 ,pdata 
+0x6583 027852 hstore 1 ,core_spid_ctrl 
+0x6584 027853 jam spid_start ,core_misc_ctrl 
+:      027854 spi_load_flash_wait:
+0x6585 027855 hfetch 1 ,core_dma_status 
+0x6586 027856 bbit1 7 ,spi_load_flash_wait 
+0x6587 027857 arg spid_done ,queue 
+0x6588 027858 call decrypt_code 
+0x6589 027859 call wait_spid_done 
+0x658a 027860 isolate1 spid_crcok ,pdata 
+0x658b 027861 call set_ucode_status 
+0x658c 027862 fetch 1 ,mem_addr_hi 
+0x658d 027863 lshift16 pdata ,regb 
+0x658e 027864 fetch 1 ,mem_addr_mi 
+0x658f 027865 lshift8 pdata ,pdata 
+0x6590 027866 ior regb ,regb 
+0x6591 027867 fetch 1 ,mem_addr_lo 
+0x6592 027868 ior regb ,pdata 
+0x6593 027869 iadd temp ,pdata 
+0x6594 027870 store 1 ,mem_addr_lo 
+0x6595 027871 rshift8 pdata ,pdata 
+0x6596 027872 store 1 ,mem_addr_mi 
+0x6597 027873 rshift8 pdata ,pdata 
+0x6598 027874 store 1 ,mem_addr_hi 
+0x6599 027875 rtn 
+:      027880 soft_reset_chip:
+0x659a 027881 jam 1 ,core_reset 
+0x659b 027882 rtn 
+:      027888 iic_init_390k:
+0x659c 027889 jam 12 ,core_iicd_scl_low 
+0x659d 027890 jam 13 ,core_iicd_scl_high 
+0x659e 027891 jam 13 ,core_iicd_start_setup 
+0x659f 027892 jam 13 ,core_iicd_start_hold 
+0x65a0 027893 jam 13 ,core_iicd_stop_setup 
+0x65a1 027894 jam 12 ,core_iicd_data_setup 
+0x65a2 027895 branch iicd_init_gpio 
+:      027898 iicd_init_12m:
+0x65a3 027899 jam 5 ,core_iicd_scl_low 
+0x65a4 027900 jam 7 ,core_iicd_scl_high 
+0x65a5 027901 jam 7 ,core_iicd_start_setup 
+0x65a6 027902 jam 7 ,core_iicd_start_hold 
+0x65a7 027903 jam 7 ,core_iicd_stop_setup 
+0x65a8 027904 jam 5 ,core_iicd_data_setup 
+:      027905 iicd_init_gpio:
+0x65a9 027906 hfetch 1 ,core_gpio_pu3 
+0x65aa 027907 or_into 0xc0 ,pdata 
+0x65ab 027908 hstore 1 ,core_gpio_pu3 
+0x65ac 027909 hfetch 1 ,core_gpio_sel1 
+0x65ad 027910 or_into 0x10 ,pdata 
+0x65ae 027911 hstore 1 ,core_gpio_sel1 
+0x65af 027912 rtn 
+:      027916 wait_iicd_done:
+0x65b0 027917 hfetch 1 ,core_dma_status 
+0x65b1 027918 bbit0 iicd_done ,wait_iicd_done 
+0x65b2 027919 rtn 
+:      027927 iicd_read_data:
+0x65b3 027928 hstore 2 ,core_iicd_txlen 
+0x65b4 027929 deposit rega 
+0x65b5 027930 hstore 2 ,core_iicd_txaddr 
+0x65b6 027931 deposit regb 
+0x65b7 027932 hstore 2 ,core_iicd_rxaddr 
+0x65b8 027933 deposit temp 
+0x65b9 027934 hstore 2 ,core_iicd_rxlen 
+0x65ba 027935 arg 1 ,temp 
+0x65bb 027936 nsetflag blank ,1 ,temp 
+0x65bc 027937 hstore 1 ,core_iicd_ctrl 
+0x65bd 027938 jam iicd_start ,core_misc_ctrl 
+0x65be 027939 branch wait_iicd_done 
+:      027942 set_eeprom_size_2k:
+0x65bf 027943 set1 mark_eeprom_size ,mark 
+0x65c0 027944 jam 0x08 ,mem_eeprom_block_size 
+0x65c1 027945 rtn 
+:      027947 clear_eeprom_size_2k:
+0x65c2 027948 set0 mark_eeprom_size ,mark 
+0x65c3 027949 jam 0x20 ,mem_eeprom_block_size 
+0x65c4 027950 rtn 
+:      027953 iicd_read_eep_data_size_2k:
+0x65c5 027954 fetch 1 ,mem_eeprom_base 
+0x65c6 027955 iadd regb ,pdata 
+0x65c7 027956 store 1 ,mem_addr_mi 
+0x65c8 027957 branch iicd_read_eep_size_2k 
+:      027959 iicd_read_eep_size_2k_lcadcode:
+0x65c9 027960 fetch 2 ,mem_addr_mi 
+0x65ca 027961 byteswap pdata ,pdata 
+0x65cb 027962 store 1 ,mem_addr_mi 
+:      027967 iicd_read_eep_size_2k:
+0x65cc 027968 setarg 3 
+0x65cd 027969 hstore 2 ,core_iicd_txlen 
+0x65ce 027970 jam 0xa0 ,mem_iicd_tbuf 
+0x65cf 027971 jam 0xa1 ,mem_iicd_tbuf + 2 
+0x65d0 027972 branch iicd_read_eep_common 
+:      027978 iicd_write_protect_eep_data:
+0x65d1 027979 storet 2 ,mem_temp 
+0x65d2 027980 call iicd_eeprom_write_enable 
+0x65d3 027981 fetcht 2 ,mem_temp 
+0x65d4 027982 call iicd_write_eep_data 
+0x65d5 027983 branch iicd_eeprom_write_disable 
+:      027985 iicd_eeprom_write_enable:
+0x65d6 027986 fetch 1 ,mem_eeprom_wp_gpio 
+0x65d7 027987 rtneq gpio_disable 
+0x65d8 027988 bbit0 6 ,iicd_wp_gpio_output_low 
+0x65d9 027989 setarg 150000 
+0x65da 027990 call sleep 
+:      027991 iicd_wp_gpio_output_low:
+0x65db 027992 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65dc 027993 branch gpio_out_active 
+:      027995 iicd_eeprom_write_disable:
+0x65dd 027996 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65de 027997 branch gpio_out_inactive 
+:      028002 iicd_read_eep_data:
+0x65df 028003 bpatchx patch32_0 ,mem_patch32 
+0x65e0 028004 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+0x65e1 028005 fetch 2 ,mem_eeprom_base 
+0x65e2 028006 iadd regb ,pdata 
+0x65e3 028007 byteswap pdata ,pdata 
+0x65e4 028008 store 2 ,mem_addr_mi 
+:      028011 iicd_read_eep:
+0x65e5 028012 bpatchx patch32_1 ,mem_patch32 
+0x65e6 028013 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+0x65e7 028014 setarg 4 
+0x65e8 028015 hstore 2 ,core_iicd_txlen 
+0x65e9 028016 jam 0xa0 ,mem_iicd_tbuf 
+0x65ea 028017 jam 0xa1 ,mem_iicd_tbuf + 3 
+:      028018 iicd_read_eep_common:
+0x65eb 028019 setarg mem_iicd_tbuf 
+0x65ec 028020 hstore 2 ,core_iicd_txaddr 
+0x65ed 028021 hstoret 2 ,core_iicd_rxlen 
+0x65ee 028022 deposit rega 
+0x65ef 028023 hstore 2 ,core_iicd_rxaddr 
+0x65f0 028024 setarg 2 
+0x65f1 028025 isolate0 15 ,rega 
+0x65f2 028026 setflag true ,0 ,pdata 
+0x65f3 028027 hstore 1 ,core_iicd_ctrl 
+0x65f4 028028 jam iicd_start ,core_misc_ctrl 
+0x65f5 028029 arg iicd_done ,queue 
+0x65f6 028030 call decrypt_code 
+0x65f7 028031 call wait_iicd_done 
+0x65f8 028032 isolate1 iicd_crcok ,pdata 
+0x65f9 028033 call set_ucode_status 
+0x65fa 028034 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+0x65fb 028035 fetch 2 ,mem_addr_mi 
+0x65fc 028036 byteswap pdata ,pdata 
+0x65fd 028037 iadd temp ,pdata 
+0x65fe 028038 byteswap pdata ,pdata 
+0x65ff 028039 store 2 ,mem_addr_mi 
+0x6600 028040 rtn 
+:      028042 iicd_read_eep_load_code_size_2k:
+0x6601 028043 fetch 1 ,mem_addr_mi 
+0x6602 028044 iadd temp ,pdata 
+0x6603 028045 byteswap pdata ,pdata 
+0x6604 028046 store 2 ,mem_addr_mi 
+0x6605 028047 rtn 
+:      028053 iicd_write_eep_data:
+0x6606 028054 fetch 2 ,mem_eeprom_base 
+0x6607 028055 iadd regb ,pdata 
+:      028058 iicd_write_ota_data:
+0x6608 028059 store 2 ,mem_pdatatemp 
+0x6609 028060 bpatchx patch32_2 ,mem_patch32 
+0x660a 028061 storet 2 ,mem_temp 
+0x660b 028062 copy rega ,pdata 
+0x660c 028063 store 2 ,mem_contr 
+:      028064 iicd_write_eep_loop:
+0x660d 028065 call iicd_eep_transparency 
+0x660e 028067 fetcht 2 ,mem_regb 
+0x660f 028068 fetch 2 ,mem_contr 
+0x6610 028069 copy pdata ,rega 
+0x6611 028070 fetch 2 ,mem_pdatatemp 
+0x6612 028072 call iicd_write_eep 
+0x6613 028074 fetch 2 ,mem_regb 
+0x6614 028075 fetcht 2 ,mem_contr 
+0x6615 028076 iadd temp ,temp 
+0x6616 028077 storet 2 ,mem_contr 
+0x6617 028078 fetcht 2 ,mem_pdatatemp 
+0x6618 028079 iadd temp ,temp 
+0x6619 028080 storet 2 ,mem_pdatatemp 
+0x661a 028081 fetch 2 ,mem_temp 
+0x661b 028082 nbranch iicd_write_eep_loop ,blank 
+0x661c 028083 rtn 
+:      028091 iicd_eep_transparency:
+0x661d 028092 bpatchx patch32_3 ,mem_patch32 
+0x661e 028093 fetch 1 ,mem_eeprom_block_size 
+0x661f 028094 increase -1 ,pdata 
+0x6620 028095 fetcht 2 ,mem_pdatatemp 
+0x6621 028096 ior temp ,pdata 
+0x6622 028097 increase 1 ,pdata 
+0x6623 028098 store 3 ,mem_regc 
+0x6624 028100 fetch 2 ,mem_temp 
+0x6625 028101 iadd temp ,pdata 
+0x6626 028103 fetcht 3 ,mem_regc 
+0x6627 028104 isub temp ,pdata 
+0x6628 028105 nbranch iicd_eep_deal_short_packet ,positive 
+0x6629 028106 store 2 ,mem_temp 
+0x662a 028107 fetch 3 ,mem_regc 
+0x662b 028108 fetcht 2 ,mem_pdatatemp 
+0x662c 028109 isub temp ,pdata 
+0x662d 028110 store 2 ,mem_regb 
+0x662e 028111 rtn 
+:      028112 iicd_eep_deal_short_packet:
+0x662f 028113 fetch 2 ,mem_temp 
+0x6630 028114 store 2 ,mem_regb 
+0x6631 028115 setarg 0 
+0x6632 028116 store 2 ,mem_temp 
+0x6633 028117 rtn 
+:      028119 iicd_write_eep_size_2k:
+0x6634 028120 increase 2 ,temp 
+0x6635 028121 hstoret 2 ,core_iicd_txlen 
+0x6636 028122 increase -2 ,rega 
+0x6637 028123 ifetcht 3 ,rega 
+0x6638 028124 copy temp ,regb 
+0x6639 028125 arg 0xa0 ,temp 
+0x663a 028126 istoret 1 ,rega 
+0x663b 028128 istore 1 ,contw 
+0x663c 028129 branch iicd_write_eep_common 
+:      028132 iicd_write_eep:
+0x663d 028133 copy pdata ,regb 
+0x663e 028134 bpatchx patch32_4 ,mem_patch32 
+0x663f 028135 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+0x6640 028136 copy regb ,pdata 
+0x6641 028137 increase 3 ,temp 
+0x6642 028138 hstoret 2 ,core_iicd_txlen 
+0x6643 028139 increase -3 ,rega 
+0x6644 028140 ifetcht 3 ,rega 
+0x6645 028141 copy temp ,regb 
+0x6646 028142 arg 0xa0 ,temp 
+0x6647 028143 istoret 1 ,rega 
+0x6648 028144 byteswap pdata ,pdata 
+0x6649 028145 istore 2 ,contw 
+:      028146 iicd_write_eep_common:
+0x664a 028147 deposit rega 
+0x664b 028148 hstore 2 ,core_iicd_txaddr 
+0x664c 028149 setarg 0 
+0x664d 028150 hstore 2 ,core_iicd_rxlen 
+0x664e 028151 jam 1 ,core_iicd_ctrl 
+0x664f 028152 jam iicd_start ,core_misc_ctrl 
+0x6650 028153 call wait_iicd_done 
+0x6651 028154 copy regb ,pdata 
+0x6652 028155 istore 3 ,rega 
+:      028157 iic_check_eeprom_standby:
+0x6653 028158 bpatchx patch32_5 ,mem_patch32 
+0x6654 028159 jam 0 ,mem_iicd_tbuf + 3 
+:      028160 iic_check_eeprom_standby_wait:
+0x6655 028161 setarg 1 
+0x6656 028162 hstore 2 ,core_iicd_txlen 
+0x6657 028163 jam 0xa0 ,mem_iicd_tbuf 
+0x6658 028164 setarg mem_iicd_tbuf 
+0x6659 028165 hstore 2 ,core_iicd_txaddr 
+0x665a 028166 setarg 0 
+0x665b 028167 hstore 2 ,core_iicd_rxlen 
+0x665c 028168 hstore 2 ,core_iicd_rxaddr 
+0x665d 028169 setarg 3 
+0x665e 028170 hstore 1 ,core_iicd_ctrl 
+0x665f 028171 jam iicd_start ,core_misc_ctrl 
+0x6660 028172 call wait_iicd_done 
+0x6661 028173 hfetch 1 ,core_dma_status 
+0x6662 028174 rtnbit0 iicd_ack 
+0x6663 028175 nop 1500 
+0x6664 028176 fetch 1 ,mem_iicd_tbuf + 3 
+0x6665 028177 increase 1 ,pdata 
+0x6666 028178 store 1 ,mem_iicd_tbuf + 3 
+0x6667 028179 sub pdata ,40 ,null 
+0x6668 028180 nrtn positive 
+0x6669 028181 branch iic_check_eeprom_standby_wait 
+:      028185 otp_enable_chgpump:
+0x666a 028186 jam 0x70 ,rfen_chgpump 
+0x666b 028187 nop param_chgpump_delay 
+0x666c 028188 rtn 
+:      028190 otp_disable_chgpump:
+0x666d 028191 jam 0x30 ,rfen_chgpump 
+0x666e 028192 rtn 
+:      028194 otp_set_addr:
+0x666f 028195 lshift3 pdata ,pdata 
+0x6670 028196 hstore 2 ,core_otp_addr 
+0x6671 028197 jam 0 ,core_otpd_ctrl 
+0x6672 028198 rtn 
+:      028201 otp_write:
+0x6673 028202 call otp_set_addr 
+0x6674 028203 call otp_ce 
+:      028204 otp_program:
+0x6675 028205 ifetcht 1 ,rega 
+0x6676 028206 increase 1 ,rega 
+0x6677 028207 force 0 ,queue 
+:      028208 otp_program_bit:
+0x6678 028209 qisolate0 temp 
+0x6679 028210 branch otp_skip_0 ,true 
+0x667a 028211 hfetch 1 ,core_otp_din 
+0x667b 028212 set1 6 ,pdata 
+0x667c 028213 set1 7 ,pdata 
+0x667d 028214 hstore 1 ,core_otp_din 
+0x667e 028215 jam 0x02 ,core_otp_ctrl 
+0x667f 028216 jam 0x82 ,core_otp_ctrl 
+0x6680 028217 set0 7 ,pdata 
+0x6681 028218 hstore 1 ,core_otp_din 
+0x6682 028219 jam 0x8a ,core_otp_ctrl 
+0x6683 028220 nop 11 
+0x6684 028221 jam 0xca ,core_otp_ctrl 
+0x6685 028222 nop 33 
+0x6686 028223 jam 0x4a ,core_otp_ctrl 
+0x6687 028224 nop 44 
+0x6688 028225 jam 0xca ,core_otp_ctrl 
+0x6689 028226 nop 22 
+0x668a 028227 jam 0x8a ,core_otp_ctrl 
+0x668b 028228 nop 33 
+0x668c 028229 jam 0x82 ,core_otp_ctrl 
+0x668d 028230 nop 1 
+0x668e 028231 jam 0x92 ,core_otp_ctrl 
+0x668f 028232 nop 10 
+0x6690 028233 jam 0xb2 ,core_otp_ctrl 
+0x6691 028234 hfetch 1 ,core_otp_rdata 
+0x6692 028235 jam 0x92 ,core_otp_ctrl 
+0x6693 028236 nop 1 
+0x6694 028237 jam 0x82 ,core_otp_ctrl 
+0x6695 028238 qisolate0 pdata 
+0x6696 028239 branch otp_program_bit ,true 
+:      028240 otp_skip_0:
+0x6697 028241 hfetch 2 ,core_otp_addr 
+0x6698 028242 increase 1 ,pdata 
+0x6699 028243 hstore 2 ,core_otp_addr 
+0x669a 028244 increase 1 ,queue 
+0x669b 028245 compare 8 ,queue ,0xf 
+0x669c 028246 nbranch otp_program_bit ,true 
+0x669d 028247 loop otp_program 
+0x669e 028248 jam 0x83 ,core_otp_ctrl 
+0x669f 028249 rtn 
+:      028251 otp_ce:
+0x66a0 028252 jam 0x82 ,core_otp_ctrl 
+0x66a1 028253 nop 12 
+0x66a2 028254 jam 0x80 ,core_otp_ctrl 
+0x66a3 028255 jam 0x82 ,core_otp_ctrl 
+0x66a4 028256 nop 150 
+0x66a5 028257 rtn 
+:      028260 otpd_read_init:
+0x66a6 028261 call otp_ce 
+0x66a7 028262 jam 0xa2 ,core_otp_ctrl 
+0x66a8 028263 deposit rega 
+0x66a9 028264 hstore 2 ,core_otpd_addr 
+0x66aa 028265 set1 11 ,temp 
+0x66ab 028266 isolate0 15 ,pdata 
+0x66ac 028267 setflag true ,15 ,temp 
+0x66ad 028268 hstoret 2 ,core_otpd_len 
+0x66ae 028269 jam otpd_start ,core_misc_ctrl 
+0x66af 028270 rtn 
+:      028272 otpd_wait_end:
+0x66b0 028273 hfetch 1 ,core_dma_status 
+0x66b1 028274 bbit0 otpd_done ,otpd_wait_end 
+0x66b2 028275 rtn 
+:      028278 otpd_read_data:
+0x66b3 028279 call otp_set_addr 
+0x66b4 028280 call otpd_read_init 
+0x66b5 028281 call otpd_wait_end 
+0x66b6 028282 jam 0x83 ,core_otp_ctrl 
+0x66b7 028283 rtn 
+:      028288 otpd_read_code:
+0x66b8 028289 hfetch 2 ,core_current_otp_addr 
+0x66b9 028290 hstore 2 ,core_otp_addr 
+0x66ba 028291 call otpd_read_init 
+0x66bb 028292 arg otpd_done ,queue 
+0x66bc 028293 call decrypt_code 
+0x66bd 028294 call otpd_wait_end 
+0x66be 028295 isolate1 otpd_crcok ,pdata 
+0x66bf 028296 call set_ucode_status 
+0x66c0 028297 jam 0x83 ,core_otp_ctrl 
+0x66c1 028298 rtn 
+:      028301 uartd_prepare_tx:
+0x66c2 028302 hfetch 2 ,core_uart_twptr 
+0x66c3 028303 iforce contwu 
+0x66c4 028304 rtn 
+:      028306 uartd_send:
+0x66c5 028307 deposit contwu 
+0x66c6 028308 hstore 2 ,core_uart_twptr 
+0x66c7 028309 rtn 
+:      028311 uartd_rxdone:
+0x66c8 028312 deposit contru 
+0x66c9 028313 hstore 2 ,core_uart_rrptr 
+0x66ca 028314 rtn 
+:      028316 uartd_prepare_rx:
+0x66cb 028317 hfetch 2 ,core_uart_rrptr 
+0x66cc 028318 copy pdata ,contru 
+0x66cd 028319 rtn 
+:      028321 uart_set_baud_by_mem:
+0x66ce 028322 fetch uart_baud_len ,mem_baud 
+0x66cf 028323 hstore uart_baud_len ,core_uart_baud 
+0x66d0 028324 rtn 
+:      028326 uart_copy_tx_bytes_fast:
+0x66d1 028327 deposit loopcnt 
+0x66d2 028328 rtn blank 
+:      028329 uart_copy_tx_bytes_fast_loop:
+0x66d3 028330 increase -8 ,loopcnt 
+0x66d4 028331 call uart_tx_8_bytes ,positive 
+0x66d5 028332 rtn zero 
+0x66d6 028333 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x66d7 028334 increase 8 ,loopcnt 
+:      028335 uart_copy_tx_bytes_fast_loop_four:
+0x66d8 028336 increase -4 ,loopcnt 
+0x66d9 028337 call uart_tx_4_bytes ,positive 
+0x66da 028338 rtn zero 
+0x66db 028339 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x66dc 028340 increase 4 ,loopcnt 
+0x66dd 028341 branch uart_copy_tx_bytes 
+:      028343 uart_tx_8_bytes:
+0x66de 028344 ifetch 8 ,contr 
+0x66df 028345 istore 8 ,contwu 
+0x66e0 028346 rtn 
+:      028348 uart_tx_4_bytes:
+0x66e1 028349 ifetch 4 ,contr 
+0x66e2 028350 istore 4 ,contwu 
+0x66e3 028351 rtn 
+:      028353 uart_copy_tx_bytes:
+0x66e4 028354 deposit loopcnt 
+0x66e5 028355 rtn blank 
+:      028356 uart_copy_tx_bytes_loop:
+0x66e6 028357 ifetch 1 ,contr 
+0x66e7 028358 istore 1 ,contwu 
+0x66e8 028359 loop uart_copy_tx_bytes_loop 
+0x66e9 028360 rtn 
+:      028362 uart_copy_rx_bytes_fast:
+0x66ea 028363 deposit loopcnt 
+0x66eb 028364 rtn blank 
+:      028365 uart_copy_rx_bytes_fast_loop:
+0x66ec 028366 increase -8 ,loopcnt 
+0x66ed 028367 call uart_rx_8_bytes ,positive 
+0x66ee 028368 rtn zero 
+0x66ef 028369 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x66f0 028370 increase 8 ,loopcnt 
+:      028371 uart_copy_rx_bytes_fast_loop_four:
+0x66f1 028372 increase -4 ,loopcnt 
+0x66f2 028373 call uart_rx_4_bytes ,positive 
+0x66f3 028374 rtn zero 
+0x66f4 028375 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x66f5 028376 increase 4 ,loopcnt 
+0x66f6 028377 branch uart_copy_rx_bytes 
+:      028379 uart_rx_8_bytes:
+0x66f7 028380 ifetch 8 ,contru 
+0x66f8 028381 istore 8 ,contw 
+0x66f9 028382 rtn 
+:      028384 uart_rx_4_bytes:
+0x66fa 028385 ifetch 4 ,contru 
+0x66fb 028386 istore 4 ,contw 
+0x66fc 028387 rtn 
+:      028390 uart_copy_rx_bytes:
+0x66fd 028391 deposit loopcnt 
+0x66fe 028392 rtn blank 
+:      028393 uart_copy_rx_bytes_loop:
+0x66ff 028394 ifetch 1 ,contru 
+0x6700 028395 istore 1 ,contw 
+0x6701 028396 loop uart_copy_rx_bytes_loop 
+0x6702 028397 rtn 
+:      028400 uart_copy_rx2tx:
+0x6703 028401 deposit loopcnt 
+0x6704 028402 rtn blank 
+:      028403 uart_copy_rx2tx_loop:
+0x6705 028404 ifetch 1 ,contru 
+0x6706 028405 istore 1 ,contwu 
+0x6707 028406 loop uart_copy_rx2tx_loop 
+0x6708 028407 rtn 
+:      028412 app_store_nvram_event:
+0x6709 028413 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x670a 028414 branch ui_ipc_send_event 
+:      028416 check_51cmd_store_reconn_info:
+:      028417 check_51cmd_update_device_record:
+0x670b 028418 bpatchx patch32_6 ,mem_patch32 
+0x670c 028419 fetch 1 ,mem_nv_data_number 
+0x670d 028420 rtn blank 
+0x670e 028421 call check_nvram 
+0x670f 028422 call init_device_list ,zero 
+0x6710 028423 call nvram_find_addr_from_bd_list 
+:      028424 write_device_record:
+0x6711 028425 fetch 1 ,mem_nv_data_number 
+0x6712 028426 icopy regc 
+0x6713 028427 fetcht 2 ,mem_nv_data_ptr 
+0x6714 028428 storet 2 ,mem_list_item_ptr 
+:      028429 write_device_loop_find:
+0x6715 028430 copy regc ,pdata 
+0x6716 028431 branch app_store_nvram_event ,blank 
+0x6717 028432 increase -1 ,regc 
+0x6718 028433 copy temp ,rega 
+0x6719 028434 ifetch 1 ,rega 
+0x671a 028435 fetcht 1 ,mem_select_list_item 
+0x671b 028436 isub temp ,null 
+0x671c 028437 call set_index_finded_device ,zero 
+0x671d 028438 branch write_device_loop_find0 ,positive 
+0x671e 028439 ifetch 1 ,rega 
+0x671f 028440 increase 1 ,pdata 
+0x6720 028441 istore 1 ,rega 
+:      028442 write_device_loop_find0:
+0x6721 028443 fetcht 2 ,mem_list_item_ptr 
+0x6722 028444 increase nv_data_len ,temp 
+0x6723 028445 storet 2 ,mem_list_item_ptr 
+0x6724 028446 branch write_device_loop_find 
+:      028448 set_index_finded_device:
+0x6725 028449 setarg 0 
+0x6726 028450 istore 1 ,rega 
+0x6727 028451 fetch 1 ,mem_temp_reconn_record 
+0x6728 028452 istore 1 ,contw 
+0x6729 028453 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x672a 028454 arg mem_link_key ,regb 
+:      028455 set_index_find_device_master_addr:
+0x672b 028456 ifetch 6 ,contr 
+0x672c 028457 istore 8 ,contw 
+0x672d 028458 setarg 0 
+0x672e 028459 istore 8 ,contw 
+0x672f 028460 copy regb ,contr 
+:      028461 store_rec_data_common:
+0x6730 028462 call memcpy16 
+0x6731 028463 force 1 ,null 
+0x6732 028464 rtn 
+:      028466 set_index_finded_device_ble_mode:
+0x6733 028467 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6734 028468 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6735 028469 arg mem_le_ltk ,regb 
+0x6736 028470 branch set_index_find_device_master_addr 
+:      028472 set_index_finded_device_irk:
+0x6737 028473 arg mem_le_irk ,contr 
+0x6738 028474 call memcpy16 
+:      028475 store_ble_rec_data_common:
+0x6739 028476 arg mem_le_ltk ,contr 
+0x673a 028477 branch store_rec_data_common 
+:      028479 set_index_finded_device_ediv:
+0x673b 028480 arg mem_le_rand ,contr 
+0x673c 028481 call memcpy16 
+0x673d 028482 branch store_ble_rec_data_common 
+:      028485 nvram_find_addr_from_bd_list:
+0x673e 028486 call disable_user 
+0x673f 028487 fetch 1 ,mem_nv_data_number 
+0x6740 028488 rtn blank 
+0x6741 028489 fetch 2 ,mem_ui_state_map 
+0x6742 028490 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      028491 find_addr_from_bd_list_ble_mode:
+0x6743 028492 bpatchx patch32_7 ,mem_patch32 
+0x6744 028493 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6745 028494 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6746 028495 fetch 1 ,mem_le_plap + 5 
+0x6747 028496 compare 0xc0 ,pdata ,0xc0 
+0x6748 028497 branch find_addr_from_bd_list_static_addr ,true 
+0x6749 028498 compare 0x40 ,pdata ,0xc0 
+0x674a 028499 branch find_addr_from_bd_list_random_addr ,true 
+0x674b 028500 compare 0x00 ,pdata ,0xc0 
+0x674c 028501 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      028502 find_addr_from_bd_list_static_addr:
+0x674d 028503 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x674e 028504 fetch 6 ,mem_le_plap 
+0x674f 028505 branch find_addr_from_bd_list_common 
+:      028507 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6750 028508 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6751 028509 branch find_addr_from_bd_list_common 
+:      028512 find_addr_from_bd_list_random_addr:
+0x6752 028513 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6753 028514 branch find_addr_from_bd_list_common 
+:      028517 find_addr_from_bd_list_spp_mode:
+0x6754 028518 bpatchx patch33_0 ,mem_patch33 
+0x6755 028519 jam rec_3_mode ,mem_temp_reconn_record 
+0x6756 028520 fetch 6 ,mem_plap 
+:      028521 find_addr_from_bd_list_common:
+0x6757 028522 store 6 ,mem_temp_reconn_record + 1 
+0x6758 028523 fetch 2 ,mem_nv_data_ptr 
+0x6759 028524 ifetcht 1 ,pdata 
+0x675a 028525 pincrease 1 
+0x675b 028526 store 2 ,mem_list_item_ptr 
+0x675c 028527 storet 1 ,mem_select_list_item 
+0x675d 028528 fetch 1 ,mem_nv_data_number 
+0x675e 028529 icopy regc 
+:      028530 nvram_find_addr_from_list:
+0x675f 028531 fetch 2 ,mem_list_item_ptr 
+0x6760 028532 copy pdata ,rega 
+0x6761 028533 call nvram_find_addr_from_list_compare 
+0x6762 028534 rtn user 
+0x6763 028535 fetcht 2 ,mem_list_item_ptr 
+0x6764 028536 increase nv_data_len ,temp 
+0x6765 028537 storet 2 ,mem_list_item_ptr 
+0x6766 028538 increase -1 ,temp 
+0x6767 028539 ifetch 1 ,temp 
+0x6768 028540 store 1 ,mem_select_list_item 
+0x6769 028541 increase -1 ,regc 
+0x676a 028542 nbranch nvram_find_addr_from_list ,zero 
+0x676b 028543 fetch 1 ,mem_nv_data_number 
+0x676c 028544 pincrease decreased_one 
+0x676d 028545 store 1 ,mem_select_list_item 
+0x676e 028546 rtn 
+:      028547 nvram_find_addr_from_list_compare:
+0x676f 028548 fetch 1 ,mem_temp_reconn_record 
+0x6770 028549 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      028550 find_master_addr_from_list_compare:
+0x6771 028551 arg mem_temp_reconn_record ,regb 
+0x6772 028552 arg 7 ,loopcnt 
+0x6773 028553 call string_compare 
+0x6774 028554 branch enable_user ,zero 
+0x6775 028555 rtn 
+:      028557 find_addr_from_list_compare_ble_mode:
+0x6776 028558 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6777 028559 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x6778 028560 branch find_master_addr_from_list_compare 
+:      028562 find_irk_form_list_compare:
+0x6779 028563 ifetcht 1 ,rega 
+0x677a 028564 isub temp ,null 
+0x677b 028565 nrtn zero 
+0x677c 028566 arg mem_le_prand ,contw 
+0x677d 028567 arg 16 ,loopcnt 
+0x677e 028568 call clear_mem 
+0x677f 028569 fetch 3 ,mem_le_plap + 3 
+0x6780 028570 store 3 ,mem_le_prand 
+0x6781 028571 call genernate_master_macaddress 
+0x6782 028572 fetch 2 ,mem_le_aes_128 + 13 
+0x6783 028573 byteswap pdata ,pdata 
+0x6784 028574 lshift8 pdata ,temp 
+0x6785 028575 ifetch 1 ,contr 
+0x6786 028576 iadd temp ,pdata 
+0x6787 028577 fetcht 3 ,mem_le_plap 
+0x6788 028578 isub temp ,null 
+0x6789 028579 branch enable_user ,zero 
+0x678a 028580 rtn 
+:      028583 genernate_master_macaddress:
+0x678b 028584 arg mem_le_prand ,contr 
+0x678c 028585 call load_data128 
+0x678d 028587 ifetch 1 ,rega 
+0x678e 028588 call load_regext 
+0x678f 028589 force 0x38 ,aes_ctrl 
+0x6790 028590 force 0x0 ,aes_ctrl 
+0x6791 028591 call wait_aes 
+0x6792 028592 arg mem_le_aes_128 ,contw 
+0x6793 028593 branch store_aes_result 
+:      028595 find_ediv_form_list_compare:
+0x6794 028596 ifetcht 1 ,rega 
+0x6795 028597 isub temp ,null 
+0x6796 028598 nrtn zero 
+0x6797 028599 copy contr ,rega 
+0x6798 028600 add contr ,8 ,regc 
+0x6799 028601 arg mem_le_rand ,regb 
+0x679a 028602 arg 8 ,loopcnt 
+0x679b 028603 call string_compare 
+0x679c 028604 branch enable_user ,zero 
+0x679d 028605 copy regc ,rega 
+0x679e 028606 arg mem_le_irk ,regb 
+0x679f 028607 arg 8 ,loopcnt 
+0x67a0 028608 call string_compare 
+0x67a1 028609 branch enable_user ,zero 
+0x67a2 028610 rtn 
+:      028612 check_nvram:
+0x67a3 028613 fetch 2 ,mem_nv_data_ptr 
+0x67a4 028614 ifetcht 1 ,pdata 
+0x67a5 028615 pincrease nv_data_len 
+0x67a6 028616 ifetch 1 ,pdata 
+0x67a7 028617 isub temp ,null 
+0x67a8 028618 rtn 
+:      028620 init_device_list:
+0x67a9 028621 fetch 1 ,mem_nv_data_number 
+0x67aa 028622 icopy loopcnt 
+0x67ab 028623 fetcht 2 ,mem_nv_data_ptr 
+0x67ac 028624 setarg 0 
+:      028625 init_device_list_loop:
+0x67ad 028626 istore 1 ,temp 
+0x67ae 028627 increase nv_data_len ,temp 
+0x67af 028628 pincrease 1 
+0x67b0 028629 loop init_device_list_loop 
+0x67b1 028630 rtn 
+:      028632 load_device_list:
+0x67b2 028633 bpatchx patch33_1 ,mem_patch33 
+0x67b3 028634 call nvram_find_addr_from_bd_list 
+0x67b4 028635 fetch 1 ,mem_state 
+0x67b5 028636 setflag user ,state_combkey ,pdata 
+0x67b6 028637 store 1 ,mem_state 
+0x67b7 028638 nbranch clear_key_exists ,user 
+0x67b8 028639 add rega ,10 ,contr 
+0x67b9 028641 arg mem_link_key ,contw 
+0x67ba 028642 call memcpy16 
+0x67bb 028643 branch check_link_key_load 
+:      028644 clear_key_exists:
+0x67bc 028645 jam 0 ,mem_link_key_exists 
+0x67bd 028646 rtn 
+:      028648 load_device_list_mode_4:
+0x67be 028649 fetch 9 ,mem_le_ediv 
+0x67bf 028650 branch clear_ltk_exists ,blank 
+0x67c0 028651 call nvram_find_addr_from_bd_list 
+0x67c1 028652 nbranch clear_ltk_exists ,user 
+0x67c2 028653 fetch 2 ,mem_list_item_ptr 
+0x67c3 028654 add pdata ,1 ,contr 
+0x67c4 028655 arg mem_le_irk ,contw 
+0x67c5 028656 call memcpy16 
+0x67c6 028657 arg mem_le_ltk ,contw 
+0x67c7 028658 call memcpy16 
+0x67c8 028659 jam 1 ,mem_ltk_exists 
+0x67c9 028660 rtn 
+:      028662 clear_ltk_exists:
+0x67ca 028663 jam 0 ,mem_ltk_exists 
+0x67cb 028664 rtn 
+:      028667 eeprom_store_le_reconn_info:
+0x67cc 028668 fetch 6 ,mem_le_plap 
+0x67cd 028669 store 6 ,mem_temp_lap 
+0x67ce 028670 jam rec_4_mode ,mem_record_bt_mode 
+0x67cf 028671 branch eeprom_store_reconn_info 
+:      028672 eeprom_store_bd_reconn_info:
+0x67d0 028673 fetch 6 ,mem_plap 
+0x67d1 028674 store 6 ,mem_temp_lap 
+0x67d2 028675 jam rec_3_mode ,mem_record_bt_mode 
+:      028676 eeprom_store_reconn_info:
+0x67d3 028677 fetch 1 ,mem_device_option 
+0x67d4 028678 beq dvc_op_module ,check_51cmd_update_device_record 
+0x67d5 028679 bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+0x67d6 028680 rtn 
+:      028683 check_link_key_load:
+0x67d7 028684 fetch 8 ,mem_link_key 
+0x67d8 028685 fetcht 8 ,mem_link_key + 8 
+0x67d9 028686 ior temp ,pdata 
+0x67da 028687 rtn blank 
+0x67db 028688 jam 1 ,mem_link_key_exists 
+0x67dc 028689 rtn 
+:      028696 gpio_set_wake_by_current_state:
+0x67dd 028697 bpatchx patch33_2 ,mem_patch33 
+0x67de 028698 set1 7 ,temp 
+0x67df 028699 call gpio_get_bit 
+0x67e0 028700 nsetflag true ,7 ,temp 
+:      028705 gpio_set_wake:
+0x67e1 028706 bpatchx patch33_3 ,mem_patch33 
+0x67e2 028707 sub temp ,ui_button_gpio_disable ,null 
+0x67e3 028708 rtn zero 
+0x67e4 028709 isolate0 7 ,temp 
+0x67e5 028710 and temp ,0x1f ,queue 
+0x67e6 028711 fetch 4 ,mem_gpio_wakeup_low 
+0x67e7 028712 qsetflag true ,pdata 
+0x67e8 028713 store 4 ,mem_gpio_wakeup_low 
+0x67e9 028714 fetch 4 ,mem_gpio_wakeup_high 
+0x67ea 028715 nqsetflag true ,pdata 
+0x67eb 028716 store 4 ,mem_gpio_wakeup_high 
+0x67ec 028717 rtn 
+:      028720 gpio_clr_wake:
+0x67ed 028721 bpatchx patch33_4 ,mem_patch33 
+0x67ee 028722 sub temp ,ui_button_gpio_disable ,null 
+0x67ef 028723 rtn zero 
+0x67f0 028724 isolate0 7 ,temp 
+0x67f1 028725 and temp ,0x1f ,queue 
+0x67f2 028726 fetch 4 ,mem_gpio_wakeup_low 
+0x67f3 028727 qset0 pdata 
+0x67f4 028728 store 4 ,mem_gpio_wakeup_low 
+0x67f5 028729 fetch 4 ,mem_gpio_wakeup_high 
+0x67f6 028730 qset0 pdata 
+0x67f7 028731 store 4 ,mem_gpio_wakeup_high 
+0x67f8 028732 rtn 
+:      028735 gpio_config_input_nowake:
+0x67f9 028736 call gpio_clr_wake 
+0x67fa 028737 branch gpio_config_input_without_wake 
+:      028740 gpio_config_input:
+0x67fb 028741 sub temp ,ui_button_gpio_disable ,null 
+0x67fc 028742 rtn zero 
+0x67fd 028743 ncall gpio_set_wake ,wake 
+:      028745 gpio_config_input_without_wake:
+0x67fe 028746 arg core_gpio_pd0 ,contw 
+0x67ff 028747 call gpio_set_bit 
+0x6800 028748 setflip gpio_active_bit ,temp 
+0x6801 028749 arg core_gpio_pu0 ,contw 
+0x6802 028750 call gpio_set_bit 
+0x6803 028751 set0 gpio_active_bit ,temp 
+0x6804 028752 arg core_gpio_oe0 ,contw 
+0x6805 028753 branch gpio_set_bit 
+:      028756 gpio_set_high_impedance:
+0x6806 028757 arg core_gpio_pd0 ,contw 
+0x6807 028758 call gpio_set_bit 
+0x6808 028759 set0 gpio_active_bit ,temp 
+0x6809 028760 arg core_gpio_pu0 ,contw 
+0x680a 028761 call gpio_set_bit 
+0x680b 028762 set0 gpio_active_bit ,temp 
+0x680c 028763 arg core_gpio_oe0 ,contw 
+0x680d 028764 branch gpio_set_bit 
+:      028768 gpio_config_output:
+0x680e 028769 sub temp ,ui_button_gpio_disable ,null 
+0x680f 028770 rtn zero 
+0x6810 028771 setflip gpio_active_bit ,temp 
+0x6811 028772 call gpio_out 
+:      028773 gpio_config_output0:
+0x6812 028774 set1 gpio_active_bit ,temp 
+0x6813 028775 arg core_gpio_oe0 ,contw 
+0x6814 028776 branch gpio_set_bit 
+:      028778 gpio_common:
+0x6815 028779 and temp ,0x07 ,queue 
+0x6816 028780 rshift3 temp ,pdata 
+0x6817 028781 and_into 3 ,pdata 
+0x6818 028782 iadd contw ,contw 
+0x6819 028783 ifetch 1 ,contw 
+0x681a 028784 rtn 
+:      028786 gpio_check_active:
+0x681b 028787 arg core_gpio_out0 ,contw 
+0x681c 028788 branch get_bit_common 
+:      028792 gpio_get_bit:
+0x681d 028793 arg core_gpio_in ,contw 
+:      028794 get_bit_common:
+0x681e 028795 call gpio_common 
+0x681f 028796 isolate1 gpio_active_bit ,temp 
+0x6820 028797 branch gpio_get_bit_reverse ,true 
+0x6821 028798 qisolate0 pdata 
+0x6822 028799 rtn 
+:      028800 gpio_get_bit_reverse:
+0x6823 028801 qisolate1 pdata 
+0x6824 028802 rtn 
+:      028804 gpio_out_inactive:
+0x6825 028805 sub temp ,ui_button_gpio_disable ,null 
+0x6826 028806 rtn zero 
+0x6827 028807 isolate1 7 ,null 
+0x6828 028808 branch gpio_out_flag 
+:      028810 gpio_out_active:
+0x6829 028811 sub temp ,ui_button_gpio_disable ,null 
+0x682a 028812 rtn zero 
+0x682b 028813 isolate0 7 ,null 
+:      028816 gpio_out_flag:
+0x682c 028817 setarg 0 
+0x682d 028818 nsetflag true ,gpio_active_bit ,pdata 
+0x682e 028819 ixor temp ,temp 
+:      028822 gpio_out:
+0x682f 028823 arg core_gpio_out0 ,contw 
+:      028826 gpio_set_bit:
+0x6830 028827 call gpio_common 
+0x6831 028828 isolate1 gpio_active_bit ,temp 
+0x6832 028829 qsetflag true ,pdata 
+0x6833 028830 istore 1 ,contw 
+0x6834 028831 rtn 
+:      028833 gpio_set_before_lpm_common:
+0x6835 028834 arg -1 ,rega 
+0x6836 028835 hfetch 1 ,core_gpio_sel1 
+0x6837 028836 compare 0x02 ,pdata ,0x03 
+0x6838 028837 call neglact4_from_23_pin ,true 
+0x6839 028839 compare 0x01 ,pdata ,0x03 
+0x683a 028840 call neglact2_form_25_pin ,true 
+0x683b 028842 compare 0x03 ,pdata ,0x03 
+0x683c 028843 call neglact2_form_25_pin ,true 
+0x683d 028845 isolate1 2 ,pdata 
+0x683e 028846 call neglect2_from_6_pin ,true 
+0x683f 028848 isolate1 3 ,pdata 
+0x6840 028849 call neglect4_from_9_pin ,true 
+0x6841 028851 isolate1 4 ,pdata 
+0x6842 028852 call neglact2_form_30_pin ,true 
+0x6843 028854 isolate1 6 ,pdata 
+0x6844 028855 nsetflag true ,04 ,rega 
+0x6845 028857 isolate1 7 ,pdata 
+0x6846 028858 nsetflag true ,05 ,rega 
+0x6847 028860 hfetch 1 ,core_gpio_sel2 
+0x6848 028861 isolate1 0 ,pdata 
+0x6849 028862 nsetflag true ,27 ,rega 
+0x684a 028863 isolate1 1 ,pdata 
+0x684b 028864 nsetflag true ,28 ,rega 
+0x684c 028865 isolate1 2 ,pdata 
+0x684d 028866 nsetflag true ,03 ,rega 
+0x684e 028867 isolate1 3 ,pdata 
+0x684f 028868 nsetflag true ,08 ,rega 
+0x6850 028869 isolate1 4 ,pdata 
+0x6851 028870 nsetflag true ,20 ,rega 
+0x6852 028871 isolate1 5 ,pdata 
+0x6853 028872 nsetflag true ,21 ,rega 
+0x6854 028873 isolate1 6 ,pdata 
+0x6855 028874 nsetflag true ,22 ,rega 
+0x6856 028875 isolate1 7 ,pdata 
+0x6857 028876 nsetflag true ,23 ,rega 
+0x6858 028878 hfetch 1 ,core_gpio_sel 
+0x6859 028879 isolate1 0 ,pdata 
+0x685a 028880 nsetflag true ,05 ,rega 
+0x685b 028881 isolate1 1 ,pdata 
+0x685c 028882 nsetflag true ,06 ,rega 
+0x685d 028883 isolate1 2 ,pdata 
+0x685e 028884 nsetflag true ,07 ,rega 
+0x685f 028885 isolate1 3 ,pdata 
+0x6860 028886 nsetflag true ,18 ,rega 
+0x6861 028887 isolate1 4 ,pdata 
+0x6862 028888 nsetflag true ,19 ,rega 
+0x6863 028889 isolate1 5 ,pdata 
+0x6864 028890 nsetflag true ,20 ,rega 
+0x6865 028891 isolate1 6 ,pdata 
+0x6866 028892 nsetflag true ,21 ,rega 
+0x6867 028893 isolate1 7 ,pdata 
+0x6868 028894 nsetflag true ,22 ,rega 
+0x6869 028896 hfetch 1 ,core_uart_ctrl 
+0x686a 028897 isolate1 4 ,pdata 
+0x686b 028898 call neglact2_form_2_pin ,true 
+0x686c 028899 bpatchx patch33_5 ,mem_patch33 
+0x686d 028901 hfetch 4 ,core_gpio_pu0 
+0x686e 028902 hfetcht 4 ,core_gpio_pd0 
+0x686f 028903 ior temp ,pdata 
+0x6870 028904 invert pdata ,pdata 
+0x6871 028905 iand rega ,pdata 
+0x6872 028907 hstore 4 ,core_gpio_oe0 
+0x6873 028908 rtn 
+:      028911 neglect2_from_6_pin:
+0x6874 028912 arg 6 ,queue 
+0x6875 028913 branch neglect_2_pin 
+:      028914 neglect4_from_9_pin:
+0x6876 028915 arg 9 ,queue 
+0x6877 028916 branch neglact_4_pin 
+:      028917 neglact4_from_23_pin:
+0x6878 028918 arg 23 ,queue 
+0x6879 028919 branch neglact_4_pin 
+:      028920 neglact2_form_25_pin:
+0x687a 028921 arg 25 ,queue 
+0x687b 028922 branch neglect_2_pin 
+:      028923 neglact2_form_30_pin:
+0x687c 028924 arg 30 ,queue 
+0x687d 028925 branch neglect_2_pin 
+:      028926 neglact2_form_2_pin:
+0x687e 028927 arg 2 ,queue 
+0x687f 028928 branch neglect_2_pin 
+:      028929 neglact_1_pin:
+0x6880 028930 arg 1 ,loopcnt 
+0x6881 028931 branch neglect_pin_loop 
+:      028932 neglact_4_pin:
+0x6882 028933 arg 4 ,loopcnt 
+0x6883 028934 branch neglect_pin_loop 
+:      028935 neglect_2_pin:
+0x6884 028936 arg 2 ,loopcnt 
+:      028937 neglect_pin_loop:
+0x6885 028938 qset0 rega 
+0x6886 028939 increase 1 ,queue 
+0x6887 028940 loop neglect_pin_loop 
+0x6888 028941 rtn 
+:      028949 gpio_cfg_uart_tx_output:
+0x6889 028950 call gpio_uart2gpio 
+0x688a 028951 arg uart_wakeup_tx ,temp 
+0x688b 028952 branch gpio_config_output 
+:      028954 gpio_pu_uart_tx:
+0x688c 028955 call gpio_cfg_uart_tx_output 
+0x688d 028956 arg uart_wakeup_tx ,temp 
+0x688e 028957 branch gpio_out_inactive 
+:      028961 gpio_rx_config_input_with_pu:
+0x688f 028962 call gpio_uart2gpio 
+0x6890 028963 hfetch 1 ,core_gpio_pu0 
+0x6891 028964 set1 uart_wakeup_rx ,pdata 
+0x6892 028965 hstore 1 ,core_gpio_pu0 
+0x6893 028966 arg uart_wakeup_rx ,temp 
+0x6894 028967 branch gpio_config_input 
+:      028969 gpio_uart2gpio:
+0x6895 028970 hfetch 1 ,core_gpio_sel1 
+0x6896 028971 and_into 0xfb ,pdata 
+0x6897 028972 hstore 1 ,core_gpio_sel1 
+0x6898 028973 rtn 
+:      028975 gpio_check_uart_state:
+0x6899 028976 hfetch 1 ,core_gpio_sel1 
+0x689a 028977 isolate1 2 ,pdata 
+0x689b 028978 rtn 
+:      028980 load_chip_option:
+0x689c 028981 call otp_enable_chgpump 
+0x689d 028982 setarg otp_chip_functions 
+0x689e 028983 arg mem_chip_functions ,rega 
+0x689f 028984 arg 0x02 ,temp 
+0x68a0 028985 call otpd_read_data 
+0x68a1 028986 branch otp_disable_chgpump 
+:      028989 load_adc_init:
+0x68a2 028990 call otp_enable_chgpump 
+0x68a3 028991 setarg otp_adc_io_0_5v_addr 
+0x68a4 028992 arg mem_0_5_adc_io_data ,rega 
+0x68a5 028993 arg 14 ,temp 
+0x68a6 028994 call otpd_read_data 
+0x68a7 028995 branch otp_disable_chgpump 
+:      028999 adc_init_data:
+0x68a8 029000 bpatchx patch33_6 ,mem_patch33 
+0x68a9 029002 call load_adc_init 
+0x68aa 029004 fetch 1 ,mem_adc_config_flag 
+0x68ab 029005 beq adc_config_vinlpm ,adc_init_data_vinlpm 
+0x68ac 029006 beq adc_config_hvin ,adc_init_data_hvin 
+0x68ad 029007 beq adc_config_gpio ,adc_init_data_io 
+0x68ae 029008 rtn 
+:      029010 adc_init_data_vinlpm:
+0x68af 029011 fetcht 2 ,mem_otp_adc_flag 
+0x68b0 029012 setarg otp_adc_flag 
+0x68b1 029013 isub temp ,null 
+0x68b2 029014 branch adc_check_data_vinlpm ,zero 
+0x68b3 029015 setarg 0x4dfa 
+0x68b4 029016 store 2 ,mem_3v_adc_vinlpm_data 
+0x68b5 029017 setarg 0x4894 
+0x68b6 029018 store 2 ,mem_2v_adc_vinlpm_data 
+0x68b7 029019 branch set_vdd_reference_voltage_1v 
+:      029021 adc_check_data_vinlpm:
+0x68b8 029022 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x68b9 029023 nbranch adc_check_2v_vinlpm ,blank 
+0x68ba 029024 setarg 0x4dfa 
+0x68bb 029025 store 2 ,mem_3v_adc_vinlpm_data 
+:      029026 adc_check_2v_vinlpm:
+0x68bc 029027 fetch 2 ,mem_2v_adc_vinlpm_data 
+0x68bd 029028 nbranch set_vdd_reference_voltage_1v ,blank 
+0x68be 029029 setarg 0x4894 
+0x68bf 029030 store 2 ,mem_2v_adc_vinlpm_data 
+:      029031 set_vdd_reference_voltage_1v:
+0x68c0 029032 setarg 100 
+0x68c1 029033 store 2 ,mem_reference_voltage 
+0x68c2 029034 rtn 
+:      029036 adc_init_data_hvin:
+0x68c3 029037 fetcht 2 ,mem_otp_adc_flag 
+0x68c4 029038 setarg otp_adc_flag 
+0x68c5 029039 isub temp ,null 
+0x68c6 029040 branch adc_check_data_hvin ,zero 
+0x68c7 029041 setarg 0x5932 
+0x68c8 029042 store 2 ,mem_5v_adc_hvin_data 
+0x68c9 029043 setarg 0x4323 
+0x68ca 029044 store 2 ,mem_1v_adc_hvin_data 
+0x68cb 029045 branch set_vdd_reference_voltage_4v 
+:      029047 adc_check_data_hvin:
+0x68cc 029048 fetch 2 ,mem_5v_adc_hvin_data 
+0x68cd 029049 nbranch adc_check_1v_hvin ,blank 
+0x68ce 029050 setarg 0x5932 
+0x68cf 029051 store 2 ,mem_5v_adc_hvin_data 
+:      029052 adc_check_1v_hvin:
+0x68d0 029053 fetch 2 ,mem_1v_adc_hvin_data 
+0x68d1 029054 nbranch set_vdd_reference_voltage_4v ,blank 
+0x68d2 029055 setarg 0x4323 
+0x68d3 029056 store 2 ,mem_1v_adc_hvin_data 
+:      029057 set_vdd_reference_voltage_4v:
+0x68d4 029058 setarg 400 
+0x68d5 029059 store 2 ,mem_reference_voltage 
+0x68d6 029060 rtn 
+:      029062 adc_init_data_io:
+0x68d7 029063 fetcht 2 ,mem_otp_adc_flag 
+0x68d8 029064 setarg otp_adc_flag 
+0x68d9 029065 isub temp ,null 
+0x68da 029066 branch adc_check_data_io ,zero 
+0x68db 029067 setarg 0x6946 
+0x68dc 029068 store 2 ,mem_1v_adc_io_data 
+0x68dd 029069 setarg 0x5377 
+0x68de 029070 store 2 ,mem_0_5_adc_io_data 
+0x68df 029071 branch set_vdd_reference_voltage_0_5v 
+:      029073 adc_check_data_io:
+0x68e0 029074 fetch 2 ,mem_1v_adc_io_data 
+0x68e1 029075 nbranch adc_check_0_5v_io ,blank 
+0x68e2 029076 setarg 0x6946 
+0x68e3 029077 store 2 ,mem_1v_adc_io_data 
+:      029078 adc_check_0_5v_io:
+0x68e4 029079 fetch 2 ,mem_0_5_adc_io_data 
+0x68e5 029080 nbranch set_vdd_reference_voltage_0_5v ,blank 
+0x68e6 029081 setarg 0x5377 
+0x68e7 029082 store 2 ,mem_0_5_adc_io_data 
+:      029083 set_vdd_reference_voltage_0_5v:
+0x68e8 029084 setarg 50 
+0x68e9 029085 store 2 ,mem_reference_voltage 
+0x68ea 029086 rtn 
+:      029089 adc_set_mode:
+0x68eb 029090 fetch 1 ,mem_adc_config_flag 
+0x68ec 029091 beq adc_config_vinlpm ,adc_check_vinlpm 
+0x68ed 029092 beq adc_config_hvin ,adc_check_hvin 
+0x68ee 029093 beq adc_config_gpio ,adc_check_gpio 
+0x68ef 029094 rtn 
+:      029095 adc_check_vinlpm:
+0x68f0 029096 jam 0xbf ,rf_adc_mode 
+0x68f1 029097 branch read_adc 
+:      029098 adc_check_hvin:
+0x68f2 029099 jam 0xaf ,rf_adc_mode 
+0x68f3 029100 branch read_adc 
+:      029101 adc_check_gpio:
+0x68f4 029102 jam 0x8f ,rf_adc_mode 
+0x68f5 029103 fetch 1 ,mem_adc_channel 
+0x68f6 029104 hstore 1 ,rf_adc_ch 
+0x68f7 029105 branch read_adc 
+:      029106 read_adc:
+0x68f8 029107 bpatchx patch33_7 ,mem_patch33 
+0x68f9 029108 hfetch 1 ,core_uart_baud + 1 
+0x68fa 029109 set1 7 ,pdata 
+0x68fb 029110 hstore 1 ,core_uart_baud + 1 
+0x68fc 029111 hfetch 1 ,rf_adc_ch 
+0x68fd 029112 or_into 0x30 ,pdata 
+0x68fe 029113 hstore 1 ,rf_adc_ch 
+0x68ff 029114 jam 0x7c ,rfen_adc 
+0x6900 029115 jam 0xaa ,rf_adc_gc 
+0x6901 029116 nop 5000 
+0x6902 029117 hfetcht 2 ,core_adc_sum 
+0x6903 029118 hfetch 1 ,core_uart_baud + 1 
+0x6904 029119 set0 7 ,pdata 
+0x6905 029120 hstore 1 ,core_uart_baud + 1 
+0x6906 029121 storet 2 ,mem_adc_current_value 
+0x6907 029122 rtn 
+:      029124 vdd_calculate_by_mode:
+0x6908 029125 bpatchx patch34_0 ,mem_patch34 
+0x6909 029126 fetch 1 ,mem_adc_config_flag 
+0x690a 029127 beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+0x690b 029128 beq adc_config_hvin ,vdd_calculate_hvin 
+0x690c 029129 beq adc_config_gpio ,vdd_calculate_io 
+0x690d 029130 rtn 
+:      029132 vdd_calculate_vinlpm:
+0x690e 029133 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x690f 029134 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x6910 029135 arg 200 ,regc 
+0x6911 029136 branch vdd_calculate 
+:      029138 vdd_calculate_hvin:
+0x6912 029139 fetch 2 ,mem_5v_adc_hvin_data 
+0x6913 029140 fetcht 2 ,mem_1v_adc_hvin_data 
+0x6914 029141 arg 100 ,regc 
+0x6915 029142 branch vdd_calculate 
+:      029144 vdd_calculate_io:
+0x6916 029145 fetch 2 ,mem_1v_adc_io_data 
+0x6917 029146 fetcht 2 ,mem_0_5_adc_io_data 
+0x6918 029147 arg 50 ,regc 
+0x6919 029148 branch vdd_calculate 
+:      029150 vdd_calculate:
+0x691a 029151 isub temp ,rega 
+0x691b 029152 fetch 2 ,mem_adc_current_value 
+0x691c 029153 isub temp ,pdata 
+0x691d 029154 nbranch vdd_calculate1 ,positive 
+0x691e 029155 fetcht 2 ,mem_reference_voltage 
+0x691f 029156 imul32 temp ,regb 
+0x6920 029157 copy regc ,pdata 
+0x6921 029158 imul32 rega ,pdata 
+0x6922 029159 iadd regb ,pdata 
+:      029160 vdd_calculate2:
+0x6923 029161 idiv rega 
+0x6924 029162 call wait_div_end 
+0x6925 029163 quotient pdata 
+0x6926 029164 rtn 
+:      029166 vdd_calculate1:
+0x6927 029167 copy temp ,pdata 
+0x6928 029168 fetcht 2 ,mem_adc_current_value 
+0x6929 029169 isub temp ,pdata 
+0x692a 029170 fetcht 2 ,mem_reference_voltage 
+0x692b 029171 imul32 temp ,regb 
+0x692c 029172 copy regc ,pdata 
+0x692d 029173 imul32 rega ,pdata 
+0x692e 029174 isub regb ,pdata 
+0x692f 029175 branch vdd_calculate2 
+:      029186 adc_bat_percent_lowpower_out:
+0x6930 029187 ifetch 8 ,rega 
+0x6931 029188 store 8 ,mem_pdatatemp 
+0x6932 029189 fetch 2 ,mem_pdatatemp 
+0x6933 029190 fetcht 2 ,mem_pdatatemp + 2 
+0x6934 029191 isub temp ,rega 
+0x6935 029192 fetch 2 ,mem_pdatatemp + 6 
+0x6936 029193 isub temp ,regb 
+0x6937 029194 fetcht 2 ,mem_pdatatemp + 4 
+0x6938 029195 isub temp ,null 
+0x6939 029196 ncall adc_set_low_power_flag ,positive 
+0x693a 029197 mul32 regb ,100 ,pdata 
+0x693b 029198 idiv rega 
+0x693c 029199 call wait_div_end 
+0x693d 029200 quotient pdata 
+0x693e 029201 call adc_set_no_power_flag ,blank 
+0x693f 029202 rtn 
+:      029203 adc_set_low_power_flag:
+0x6940 029204 fetch 1 ,mem_adc_power_flag 
+0x6941 029205 set1 0 ,pdata 
+0x6942 029206 store 1 ,mem_adc_power_flag 
+0x6943 029207 rtn 
+:      029208 adc_set_no_power_flag:
+0x6944 029209 fetcht 1 ,mem_adc_power_flag 
+0x6945 029210 set1 1 ,temp 
+0x6946 029211 storet 1 ,mem_adc_power_flag 
+0x6947 029212 rtn 
+:      029217 keyscan_key_init:
+0x6948 029218 fetch 2 ,mem_key_num_ptr 
+0x6949 029219 ifetch 1 ,pdata 
+:      029220 keyscan_key_init_next:
+0x694a 029221 rtn blank 
+0x694b 029222 copy pdata ,loopcnt 
+0x694c 029224 fetch 2 ,mem_keyscan_ptr 
+0x694d 029225 increase 3 ,pdata 
+0x694e 029226 copy pdata ,rega 
+:      029227 keyscan_key_init_lp1:
+0x694f 029228 ifetcht 1 ,rega 
+0x6950 029229 call gpio_config_input 
+0x6951 029230 increase key_conf_struct_len ,rega 
+0x6952 029231 loop keyscan_key_init_lp1 
+:      029232 keyscan_key_init_end:
+0x6953 029233 rtn 
+:      029235 keyscan_scan_key:
+0x6954 029236 fetch 2 ,mem_keyscan_ptr 
+0x6955 029237 increase 3 ,pdata 
+0x6956 029238 copy pdata ,rega 
+0x6957 029240 force 0 ,regb 
+0x6958 029241 jam 0 ,mem_key_value_temp 
+:      029242 keyscan_scan_key_lp1:
+0x6959 029243 ifetcht 1 ,rega 
+0x695a 029244 call gpio_get_bit 
+0x695b 029245 bpatchx patch34_1 ,mem_patch34 
+0x695c 029246 fetch 2 ,mem_key_value_temp 
+0x695d 029247 copy regb ,queue 
+0x695e 029248 qsetflag true ,pdata 
+0x695f 029249 store 2 ,mem_key_value_temp 
+0x6960 029250 increase key_conf_struct_len ,rega 
+0x6961 029251 increase 1 ,regb 
+0x6962 029252 fetch 2 ,mem_key_num_ptr 
+0x6963 029253 ifetch 1 ,pdata 
+:      029254 keyscan_scan_key_lp1_next:
+0x6964 029255 ixor regb ,null 
+0x6965 029256 nbranch keyscan_scan_key_lp1 ,zero 
+0x6966 029257 fetch 2 ,mem_key_value_temp 
+0x6967 029258 fetcht 2 ,mem_key_value 
+0x6968 029259 ixor temp ,null 
+0x6969 029260 rtn zero 
+0x696a 029261 enable user 
+0x696b 029262 rtn 
+:      029264 keyscan_process_lpm_before:
+0x696c 029265 fetch 2 ,mem_key_num_ptr 
+0x696d 029266 ifetch 1 ,pdata 
+:      029267 keyscan_process_lpm_before_next:
+0x696e 029268 rtn blank 
+0x696f 029269 copy pdata ,loopcnt 
+0x6970 029270 fetch 2 ,mem_keyscan_ptr 
+0x6971 029271 increase 3 ,pdata 
+0x6972 029272 copy pdata ,rega 
+:      029273 keyscan_process_lpm_before_lp1:
+0x6973 029274 ifetcht 1 ,rega 
+0x6974 029275 call gpio_set_wake_by_current_state 
+0x6975 029276 increase key_conf_struct_len ,rega 
+0x6976 029277 loop keyscan_process_lpm_before_lp1 
+:      029278 keyscan_process_lpm_before_end:
+0x6977 029279 rtn 
+:      029281 keyscan_key_process:
+0x6978 029282 arg key_scan_timer ,queue 
+0x6979 029283 call timer_check 
+0x697a 029284 nrtn blank 
+0x697b 029285 setarg 0x20 
+0x697c 029286 arg key_scan_timer ,queue 
+0x697d 029287 call timer_init 
+0x697e 029288 disable user 
+0x697f 029289 call keyscan_process_lpm_before 
+0x6980 029290 bpatchx patch34_2 ,mem_patch34 
+0x6981 029291 fetch 2 ,mem_key_num_ptr 
+0x6982 029292 ifetch 1 ,pdata 
+:      029293 keyscan_key_process_next:
+0x6983 029294 rtn blank 
+0x6984 029295 call keyscan_scan_key 
+0x6985 029296 nbranch lpm_button_clean_wake_lock ,user 
+0x6986 029297 call lpm_button_get_wake_lock 
+0x6987 029298 disable user 
+0x6988 029299 fetch 2 ,mem_key_value_temp 
+0x6989 029300 store 2 ,mem_key_value_temp4 
+0x698a 029301 jam 0 ,mem_key_value_temp6 
+0x698b 029302 force 0 ,queue 
+:      029303 keyscan_key_lp1:
+0x698c 029304 fetch 2 ,mem_key_value 
+0x698d 029305 rshift pdata ,temp 
+0x698e 029306 storet 2 ,mem_key_value 
+0x698f 029307 and pdata ,0x01 ,pdata 
+0x6990 029308 fetcht 2 ,mem_key_value_temp4 
+0x6991 029309 and temp ,0x01 ,rega 
+0x6992 029310 rshift temp ,temp 
+0x6993 029311 storet 2 ,mem_key_value_temp4 
+0x6994 029312 ixor rega ,null 
+0x6995 029313 ncall keyscan_send_key_data ,zero 
+0x6996 029314 fetch 2 ,mem_key_num_ptr 
+0x6997 029315 ifetch 1 ,pdata 
+:      029316 keyscan_key_lp1_next:
+0x6998 029317 fetcht 1 ,mem_key_value_temp6 
+0x6999 029318 increase 1 ,temp 
+0x699a 029319 storet 1 ,mem_key_value_temp6 
+0x699b 029320 copy temp ,queue 
+0x699c 029321 ixor queue ,null 
+0x699d 029322 nbranch keyscan_key_lp1 ,zero 
+0x699e 029323 fetch 2 ,mem_key_value_temp 
+0x699f 029324 store 2 ,mem_key_value 
+0x69a0 029325 rtn 
+:      029326 keyscan_send_key_data:
+0x69a1 029327 bpatchx patch34_3 ,mem_patch34 
+0x69a2 029328 fetch 2 ,mem_keyscan_ptr 
+0x69a3 029329 increase 1 ,pdata 
+0x69a4 029330 ifetch 2 ,pdata 
+0x69a5 029331 branch callback_func 
+:      029342 pwm_init:
+0x69a6 029343 hfetch 1 ,core_clksel 
+0x69a7 029344 ior rega ,pdata 
+0x69a8 029345 hstore 1 ,core_clksel 
+0x69a9 029346 hfetch 2 ,core_clkoff 
+0x69aa 029347 set0 clock_off_pwm ,pdata 
+0x69ab 029348 hstore 2 ,core_clkoff 
+0x69ac 029349 nop 100 
+0x69ad 029350 rtn 
+:      029361 pwm_out_set:
+0x69ae 029362 fetcht 3 ,mem_pdatatemp + 2 
+0x69af 029363 setarg pwm_12mhz 
+0x69b0 029364 idiv temp 
+0x69b1 029365 call wait_div_end 
+0x69b2 029366 quotient temp 
+0x69b3 029367 fetch 1 ,mem_pdatatemp + 5 
+0x69b4 029368 imul32 temp ,pdata 
+0x69b5 029369 div pdata ,100 
+0x69b6 029370 call wait_div_end 
+0x69b7 029371 quotient rega 
+0x69b8 029372 copy temp ,pdata 
+0x69b9 029373 isub rega ,regb 
+0x69ba 029374 fetch 1 ,mem_pdatatemp + 1 
+0x69bb 029375 call pwm_duty_cycle_set 
+0x69bc 029376 fetch 1 ,mem_pdatatemp 
+0x69bd 029377 branch pwm_enable 
+:      029380 pwm_duty_cycle_set:
+0x69be 029381 beq 0 ,pwm_pwm0_duty_set 
+0x69bf 029382 beq 1 ,pwm_pwm1_duty_set 
+0x69c0 029383 beq 2 ,pwm_pwm2_duty_set 
+0x69c1 029384 beq 3 ,pwm_pwm3_duty_set 
+0x69c2 029385 beq 4 ,pwm_pwm4_duty_set 
+0x69c3 029386 beq 5 ,pwm_pwm5_duty_set 
+:      029387 pwm_pwm0_duty_set:
+0x69c4 029388 arg core_pwm_pcnt0 ,contw 
+0x69c5 029389 branch pwm_set_pncnt 
+:      029390 pwm_pwm1_duty_set:
+0x69c6 029391 arg core_pwm_pcnt1 ,contw 
+0x69c7 029392 branch pwm_set_pncnt 
+:      029393 pwm_pwm2_duty_set:
+0x69c8 029394 arg core_pwm_pcnt2 ,contw 
+0x69c9 029395 branch pwm_set_pncnt 
+:      029396 pwm_pwm3_duty_set:
+0x69ca 029397 arg core_pwm_pcnt3 ,contw 
+0x69cb 029398 branch pwm_set_pncnt 
+:      029399 pwm_pwm4_duty_set:
+0x69cc 029400 arg core_pwm_pcnt4 ,contw 
+0x69cd 029401 branch pwm_set_pncnt 
+:      029402 pwm_pwm5_duty_set:
+0x69ce 029403 arg core_pwm_pcnt5 ,contw 
+0x69cf 029404 branch pwm_set_pncnt 
+:      029405 pwm_set_pncnt:
+0x69d0 029406 copy rega ,pdata 
+0x69d1 029407 istore 2 ,contw 
+0x69d2 029408 copy regb ,pdata 
+0x69d3 029409 istore 2 ,contw 
+0x69d4 029410 rtn 
+:      029414 pwm_enable:
+0x69d5 029415 enable user 
+0x69d6 029416 branch pwm_gpio_set 
+:      029417 pwm_disable:
+0x69d7 029418 disable user 
+:      029419 pwm_gpio_set:
+0x69d8 029420 beq 4 ,pwm_gpio4_set 
+0x69d9 029421 beq 5 ,pwm_gpio5_set 
+0x69da 029422 beq 27 ,pwm_gpio27_set 
+0x69db 029423 beq 28 ,pwm_gpio28_set 
+0x69dc 029424 beq 3 ,pwm_gpio3_set 
+0x69dd 029425 beq 8 ,pwm_gpio8_set 
+0x69de 029426 beq 20 ,pwm_gpio20_set 
+0x69df 029427 beq 21 ,pwm_gpio21_set 
+0x69e0 029428 beq 22 ,pwm_gpio22_set 
+0x69e1 029429 beq 23 ,pwm_gpio23_set 
+0x69e2 029430 rtn 
+:      029433 pwm_gpio4_set:
+0x69e3 029434 arg 6 ,queue 
+0x69e4 029435 branch pwm_one_set_select 
+:      029436 pwm_gpio5_set:
+0x69e5 029437 arg 7 ,queue 
+0x69e6 029438 branch pwm_one_set_select 
+:      029439 pwm_gpio27_set:
+0x69e7 029440 arg 8 ,queue 
+0x69e8 029441 branch pwm_one_set_select 
+:      029442 pwm_gpio28_set:
+0x69e9 029443 arg 9 ,queue 
+0x69ea 029444 branch pwm_one_set_select 
+:      029445 pwm_gpio3_set:
+0x69eb 029446 arg 10 ,queue 
+0x69ec 029447 branch pwm_one_set_select 
+:      029448 pwm_gpio8_set:
+0x69ed 029449 arg 11 ,queue 
+0x69ee 029450 branch pwm_one_set_select 
+:      029451 pwm_gpio20_set:
+0x69ef 029452 arg 12 ,queue 
+0x69f0 029453 branch pwm_tw0_set_select 
+:      029454 pwm_gpio21_set:
+0x69f1 029455 arg 13 ,queue 
+0x69f2 029456 branch pwm_tw0_set_select 
+:      029457 pwm_gpio22_set:
+0x69f3 029458 arg 14 ,queue 
+0x69f4 029459 branch pwm_tw0_set_select 
+:      029460 pwm_gpio23_set:
+0x69f5 029461 arg 15 ,queue 
+0x69f6 029462 branch pwm_tw0_set_select 
+:      029464 pwm_set_select:
+0x69f7 029465 hfetch 2 ,core_gpio_sel1 
+0x69f8 029466 qsetflag user ,pdata 
+0x69f9 029467 hstore 2 ,core_gpio_sel1 
+0x69fa 029468 copy rega ,queue 
+0x69fb 029469 hfetch 1 ,core_gpio_key2 
+0x69fc 029470 qsetflag user ,pdata 
+0x69fd 029471 hstore 1 ,core_gpio_key2 
+0x69fe 029472 rtn 
+:      029474 pwm_one_set_select:
+0x69ff 029475 add queue ,-4 ,rega 
+0x6a00 029476 branch pwm_set_select 
+:      029478 pwm_tw0_set_select:
+0x6a01 029479 add queue ,-10 ,rega 
+0x6a02 029480 branch pwm_set_select 
+:      029485 rfcomm_init:
+0x6a03 029486 rtn wake 
+0x6a04 029487 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a05 029488 jam bits9600 ,memremoterpnbitrate 
+0x6a06 029489 jam databits8 ,memremoteprndatabits 
+0x6a07 029490 jam 0x11 ,memremoteprnxon 
+0x6a08 029491 jam 0x13 ,memremoteprnxoff 
+0x6a09 029492 setarg 0 
+0x6a0a 029493 store 3 ,memremoteprnstopbit 
+0x6a0b 029494 store 1 ,mem_spp_state 
+0x6a0c 029495 jam 0 ,memui_reconnect_mode 
+:      029497 rfcomm_init_spp:
+0x6a0d 029498 bpatchx patch34_4 ,mem_patch34 
+0x6a0e 029499 setarg 0 
+0x6a0f 029500 store 1 ,mem_spp_state 
+0x6a10 029501 store 1 ,mem_remote_spp_channel 
+0x6a11 029502 store 1 ,mem_pn_dlci 
+0x6a12 029503 fetch 1 ,mem_credit_flag 
+0x6a13 029504 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x6a14 029505 jam 0x50 ,mem_credit_given 
+0x6a15 029506 rtn 
+:      029508 rfcomm_init_spp_with_credit:
+0x6a16 029509 jam 0x00 ,mem_credit_given 
+0x6a17 029510 rtn 
+:      029512 set_cr_bit:
+0x6a18 029513 or_into 0x02 ,temp 
+0x6a19 029514 rtn 
+:      029526 rfcomm_calculate_fcs_sabm:
+0x6a1a 029527 copy temp ,pdata 
+0x6a1b 029528 reverse pdata ,pdata 
+0x6a1c 029529 store 1 ,memfcstemp3 
+0x6a1d 029530 force ini_tx_sabm ,pdata 
+0x6a1e 029531 reverse pdata ,pdata 
+0x6a1f 029532 store 1 ,memfcstemp2 
+0x6a20 029533 force 0x01 ,pdata 
+0x6a21 029534 reverse pdata ,pdata 
+0x6a22 029535 store 1 ,memfcstemp1 
+0x6a23 029536 call caculate_fcs 
+0x6a24 029537 copy temp ,pdata 
+0x6a25 029538 rtn 
+:      029539 rfcomm_calculate_fcs_ua:
+0x6a26 029540 reverse pdata ,pdata 
+0x6a27 029541 store 1 ,memfcstemp3 
+0x6a28 029542 force rsp_tx_ua ,pdata 
+0x6a29 029543 reverse pdata ,pdata 
+0x6a2a 029544 store 1 ,memfcstemp2 
+0x6a2b 029545 force 0x01 ,pdata 
+0x6a2c 029546 reverse pdata ,pdata 
+0x6a2d 029547 store 1 ,memfcstemp1 
+0x6a2e 029548 branch caculate_fcs 
+:      029550 rfcomm_calculate_fcs_dlci0:
+0x6a2f 029551 fetch 1 ,mem_rfcomm_initiator 
+0x6a30 029552 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x6a31 029553 setarg 0x70 
+0x6a32 029554 rtn 
+:      029555 rfcomm_calculate_fcs_dlci0_res:
+0x6a33 029556 setarg 0xaa 
+0x6a34 029557 rtn 
+:      029559 rfcomm_save_fcs_uih:
+0x6a35 029560 reverse pdata ,pdata 
+0x6a36 029561 store 1 ,memfcstemp3 
+0x6a37 029562 force rsp_rx_uih ,pdata 
+0x6a38 029563 call caculate_uihdata_fcs 
+0x6a39 029564 fetcht 2 ,mem_contw_temp 
+0x6a3a 029565 copy temp ,contw 
+0x6a3b 029566 istore 1 ,contw 
+0x6a3c 029567 copy contw ,temp 
+0x6a3d 029568 storet 2 ,mem_contw_temp 
+0x6a3e 029569 force rsp_rx_uih_wdata ,pdata 
+0x6a3f 029570 call caculate_uihdata_fcs 
+0x6a40 029571 fetcht 2 ,mem_contw_temp 
+0x6a41 029572 copy temp ,contw 
+0x6a42 029573 istore 1 ,contw 
+0x6a43 029574 rtn 
+:      029583 caculate_uihdata_fcs:
+0x6a44 029584 reverse pdata ,pdata 
+0x6a45 029585 store 1 ,memfcstemp2 
+0x6a46 029586 fetch 2 ,memfcstemp2 
+0x6a47 029587 lshift8 pdata ,pdata 
+0x6a48 029588 store 3 ,mem_mod2div_temp 
+0x6a49 029589 arg 0x107 ,rega 
+0x6a4a 029590 arg 0xf ,regb 
+0x6a4b 029591 call mod2div 
+0x6a4c 029592 xor_into 0xd7 ,pdata 
+0x6a4d 029593 invert pdata ,pdata 
+0x6a4e 029594 reverse pdata ,pdata 
+0x6a4f 029595 rtn 
+:      029605 caculate_fcs:
+0x6a50 029606 fetch 3 ,memfcstemp1 
+0x6a51 029607 store 3 ,mem_mod2div_temp 
+0x6a52 029608 arg 0x107 ,rega 
+0x6a53 029609 arg 0xf ,regb 
+0x6a54 029610 call mod2div 
+0x6a55 029611 lshift8 pdata ,pdata 
+0x6a56 029612 arg 0x7 ,regb 
+0x6a57 029613 call mod2div 
+0x6a58 029614 xor_into 0x2b ,pdata 
+0x6a59 029615 invert pdata ,pdata 
+0x6a5a 029616 reverse pdata ,pdata 
+0x6a5b 029617 copy pdata ,temp 
+0x6a5c 029618 rtn 
+:      029620 mod2div:
+0x6a5d 029621 arg 0 ,regc 
+0x6a5e 029622 copy regb ,loopcnt 
+0x6a5f 029623 call right_shift_n 
+0x6a60 029624 icopy temp 
+:      029625 mod2div_loop:
+0x6a61 029630 copy temp ,pdata 
+0x6a62 029631 lshift regc ,regc 
+0x6a63 029632 bbit0 8 ,mod2div_not_enough_reduction 
+0x6a64 029633 ixor rega ,temp 
+0x6a65 029634 increase 1 ,regc 
+:      029635 mod2div_not_enough_reduction:
+0x6a66 029636 lshift temp ,temp 
+0x6a67 029637 fetch 3 ,mem_mod2div_temp 
+0x6a68 029638 increase -1 ,regb 
+0x6a69 029639 compare 0xff ,regb ,0xff 
+0x6a6a 029640 branch mod2div_end ,true 
+0x6a6b 029641 copy regb ,loopcnt 
+0x6a6c 029642 call right_shift_n 
+0x6a6d 029643 isolate1 0 ,pdata 
+0x6a6e 029644 setflag true ,0 ,temp 
+0x6a6f 029645 branch mod2div_loop 
+:      029646 mod2div_end:
+0x6a70 029648 rshift temp ,pdata 
+0x6a71 029649 rtn 
+:      029651 get_rfcomm_snd_adss:
+0x6a72 029652 fetcht 1 ,mem_pn_dlci 
+:      029653 dlci_to_address_cmd:
+0x6a73 029655 lshift2 temp ,temp 
+0x6a74 029656 set1 rfcomm_address_ext_len ,temp 
+0x6a75 029657 fetch 1 ,mem_rfcomm_initiator 
+0x6a76 029658 ncall set_cr_bit ,blank 
+0x6a77 029659 storet 1 ,mem_rfcomm_send_adss 
+0x6a78 029660 rtn 
+:      029662 channel_to_dlci:
+0x6a79 029664 lshift temp ,temp 
+0x6a7a 029665 fetch 1 ,mem_rfcomm_initiator 
+0x6a7b 029666 setflag blank ,0 ,temp 
+0x6a7c 029668 rtn 
+:      029669 rfcomm_rx_process_dlci0_sabm:
+0x6a7d 029670 fetcht 1 ,mem_current_channel 
+0x6a7e 029671 jam 0xd7 ,mem_current_fcs 
+0x6a7f 029672 call rfcomm_send_ua 
+0x6a80 029673 fetch 1 ,mem_rfcomm_state 
+0x6a81 029674 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6a82 029675 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a83 029676 store 1 ,mem_rfcomm_state 
+0x6a84 029677 jam 0 ,mem_rfcomm_initiator 
+0x6a85 029678 branch rfcomm_rx_process_end 
+:      029679 rfcomm_rx_process_dlci0_ua:
+0x6a86 029680 fetch 1 ,mem_rfcomm_state 
+0x6a87 029681 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a88 029682 store 1 ,mem_rfcomm_state 
+0x6a89 029683 branch rfcomm_rx_process_end 
+:      029686 rfcomm_rx_process:
+0x6a8a 029687 bpatchx patch34_5 ,mem_patch34 
+0x6a8b 029688 fetch 1 ,memui_reconnect_mode 
+0x6a8c 029689 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x6a8d 029690 branch rfcomm_rx_process_reconn 
+:      029692 rfcomm_rx_process_remote_page:
+0x6a8e 029693 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a8f 029694 copy pdata ,contr 
+0x6a90 029695 call get_rfcomm_head_struct 
+0x6a91 029696 fetch 1 ,mem_current_channel 
+0x6a92 029697 beq 0 ,parse_dlci0_rp 
+0x6a93 029698 branch parse_uih_rp 
+:      029699 parse_dlci0_rp:
+0x6a94 029700 bpatchx patch34_6 ,mem_patch34 
+0x6a95 029701 fetch 1 ,mem_current_frame_type 
+0x6a96 029702 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a97 029703 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a98 029704 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x6a99 029705 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x6a9a 029706 rtn 
+:      029709 parse_dlci0_rp_uih:
+0x6a9b 029710 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a9c 029711 copy pdata ,contr 
+0x6a9d 029712 call get_rfcomm_uih_head_struct 
+0x6a9e 029713 fetch 1 ,mem_uih_cmd_type 
+0x6a9f 029714 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6aa0 029715 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6aa1 029716 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6aa2 029717 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6aa3 029718 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6aa4 029719 branch rfcomm_rx_process_end 
+:      029721 parse_dlci0_rp_uih_pn_cmd:
+0x6aa5 029722 call parse_dlci0_rp_uih_pn_res_common 
+0x6aa6 029724 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      029726 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6aa7 029727 fetch 1 ,mem_spp_state 
+0x6aa8 029728 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x6aa9 029729 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6aaa 029730 store 1 ,mem_spp_state 
+0x6aab 029731 call rfcomm_send_param_neg_res 
+0x6aac 029732 branch rfcomm_rx_process_end 
+:      029734 parse_dlci0_rp_uih_pn_res:
+0x6aad 029735 call parse_dlci0_rp_uih_pn_res_common 
+0x6aae 029736 branch rfcomm_rx_process_end 
+:      029738 parse_dlci0_rp_uih_pn_res_common:
+0x6aaf 029739 call get_param_payload_ptr 
+0x6ab0 029740 branch get_rfcomm_prarmer_negotiation 
+:      029742 get_rfcomm_param_modem_status:
+0x6ab1 029743 call get_param_payload_ptr 
+0x6ab2 029744 ifetch 1 ,contr 
+0x6ab3 029745 rshift3 pdata ,pdata 
+0x6ab4 029746 store 1 ,mem_ms_channel 
+0x6ab5 029747 ifetch 1 ,contr 
+0x6ab6 029748 store 1 ,mem_ms_param 
+0x6ab7 029749 rtn 
+:      029752 get_rfcomm_head_struct:
+0x6ab8 029753 ifetch 1 ,contr 
+0x6ab9 029754 store 1 ,mem_current_adss 
+0x6aba 029755 rshift3 pdata ,pdata 
+0x6abb 029756 store 1 ,mem_current_channel 
+0x6abc 029757 ifetch 1 ,contr 
+0x6abd 029758 store 1 ,mem_current_frame_type 
+:      029759 get_rfcomm_current_length:
+0x6abe 029760 call get_rfcomm_length_common 
+0x6abf 029761 storet 2 ,mem_current_length 
+0x6ac0 029762 copy contr ,pdata 
+0x6ac1 029763 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6ac2 029764 rtn 
+:      029766 get_rfcomm_uih_head_struct:
+0x6ac3 029767 ifetch 1 ,contr 
+0x6ac4 029768 rshift pdata ,pdata 
+0x6ac5 029769 store 1 ,mem_uih_cmd_type 
+0x6ac6 029770 call get_rfcomm_length_common 
+0x6ac7 029771 storet 2 ,mem_uih_length 
+0x6ac8 029772 copy contr ,pdata 
+0x6ac9 029773 store 2 ,mem_param_payload_ptr 
+0x6aca 029774 rtn 
+:      029777 get_param_payload_ptr:
+0x6acb 029778 fetch 2 ,mem_param_payload_ptr 
+0x6acc 029779 copy pdata ,contr 
+0x6acd 029780 rtn 
+:      029782 get_rfcomm_length_common:
+0x6ace 029783 ifetch 1 ,contr 
+0x6acf 029784 copy pdata ,temp 
+0x6ad0 029785 rshift temp ,temp 
+0x6ad1 029786 rtnbit1 0 
+0x6ad2 029787 ifetch 1 ,contr 
+0x6ad3 029788 lshift3 pdata ,pdata 
+0x6ad4 029789 lshift4 pdata ,pdata 
+0x6ad5 029790 iadd temp ,temp 
+0x6ad6 029791 rtn 
+:      029793 get_rfcomm_prarmer_negotiation:
+0x6ad7 029794 ifetch 1 ,contr 
+0x6ad8 029795 store 1 ,mem_pn_dlci 
+0x6ad9 029796 ifetch 1 ,contr 
+0x6ada 029797 store 1 ,mem_pn_credit_flow_type_info 
+0x6adb 029798 ifetch 1 ,contr 
+0x6adc 029799 store 1 ,mem_pn_priority 
+0x6add 029800 ifetch 1 ,contr 
+0x6ade 029801 store 1 ,mem_pn_acknowledg_timer 
+0x6adf 029802 ifetch 2 ,contr 
+0x6ae0 029803 store 2 ,mem_pn_max_frame_size 
+0x6ae1 029804 ifetch 1 ,contr 
+0x6ae2 029805 store 1 ,mem_pn_max_retrans 
+0x6ae3 029806 ifetch 1 ,contr 
+0x6ae4 029807 store 1 ,mem_remote_credits 
+0x6ae5 029808 rtn 
+:      029811 parse_dlci0_rp_uih_ms_cmd:
+0x6ae6 029812 call get_rfcomm_param_modem_status 
+0x6ae7 029814 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      029816 parse_dlci0_rp_uih_ms_cmd_spp:
+0x6ae8 029817 fetch 1 ,mem_spp_state 
+0x6ae9 029818 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6aea 029819 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6aeb 029820 store 1 ,mem_spp_state 
+0x6aec 029821 fetcht 1 ,mem_pn_dlci 
+0x6aed 029822 lshift2 temp ,temp 
+0x6aee 029823 or_into 3 ,temp 
+0x6aef 029824 call rfcomm_send_modem_status_res 
+0x6af0 029825 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x6af1 029826 branch rfcomm_rx_process_end 
+:      029828 parse_dlci0_rp_uih_ms_res:
+0x6af2 029829 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x6af3 029830 call ui_ipc_send_event 
+0x6af4 029831 call get_rfcomm_param_modem_status 
+0x6af5 029832 fetch 1 ,mem_ms_channel 
+0x6af6 029833 sub pdata ,1 ,null 
+0x6af7 029834 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x6af8 029835 branch assert 
+:      029836 parse_dlci0_rp_uih_ms_res_spp:
+0x6af9 029837 fetch 1 ,mem_spp_state 
+0x6afa 029838 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6afb 029839 store 1 ,mem_spp_state 
+0x6afc 029840 branch rfcomm_rx_process_end 
+:      029842 parse_dlci0_rp_uih_cmd_port:
+0x6afd 029843 call get_param_payload_ptr 
+0x6afe 029844 ifetch 1 ,contr 
+0x6aff 029845 store 1 ,mem_rpn_dlci 
+0x6b00 029846 call l2cap_malloc_rfcomm_channel 
+0x6b01 029847 call l2cap_get_rfcomm_tx_buff 
+0x6b02 029848 setarg 0x000e 
+0x6b03 029849 istore 2 ,contw 
+0x6b04 029850 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b05 029851 istore 2 ,contw 
+0x6b06 029852 fetch 1 ,mem_rfcomm_initiator 
+0x6b07 029854 lshift pdata ,pdata 
+0x6b08 029855 set1 0 ,pdata 
+0x6b09 029856 istore 1 ,contw 
+0x6b0a 029857 bpatchx patch34_7 ,mem_patch34 
+0x6b0b 029858 setarg 0x15ef 
+0x6b0c 029859 istore 2 ,contw 
+0x6b0d 029860 setarg 0x1191 
+0x6b0e 029861 istore 2 ,contw 
+0x6b0f 029864 fetch 1 ,mem_rpn_dlci 
+0x6b10 029865 istore 1 ,contw 
+0x6b11 029866 setarg 0x000007 
+0x6b12 029867 istore 5 ,contw 
+0x6b13 029870 setarg 0x01 
+0x6b14 029871 istore 2 ,contw 
+0x6b15 029874 call rfcomm_calculate_fcs_dlci0 
+0x6b16 029875 istore 1 ,contw 
+0x6b17 029876 rtn 
+:      029880 parse_uih_rp:
+0x6b18 029881 branch parse_uih_rp_spp 
+:      029883 parse_uih_rp_spp:
+0x6b19 029884 bpatchx patch35_0 ,mem_patch35 
+0x6b1a 029885 fetch 1 ,mem_current_frame_type 
+0x6b1b 029886 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x6b1c 029887 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x6b1d 029888 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b1e 029889 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b1f 029890 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x6b20 029891 rtn 
+:      029892 parse_uih_rp_spp_ua:
+0x6b21 029893 fetch 1 ,mem_spp_state 
+0x6b22 029894 set1 rfcomm_channel_state_ua ,pdata 
+0x6b23 029895 store 1 ,mem_spp_state 
+0x6b24 029896 branch rfcomm_rx_process_end 
+:      029897 parse_uih_rp_spp_sabm:
+0x6b25 029898 fetch 1 ,mem_spp_state 
+0x6b26 029899 set1 rfcomm_channel_state_ua ,pdata 
+0x6b27 029900 set1 rfcomm_channel_state_sabm ,pdata 
+0x6b28 029901 store 1 ,mem_spp_state 
+0x6b29 029902 fetch 1 ,mem_current_adss 
+0x6b2a 029903 call rfcomm_calculate_fcs_ua 
+0x6b2b 029904 store 1 ,mem_current_fcs 
+0x6b2c 029905 call rfcomm_send_ua 
+0x6b2d 029906 fetch 1 ,mem_current_adss 
+0x6b2e 029907 rshift2 pdata ,pdata 
+0x6b2f 029908 store 1 ,mem_pn_dlci 
+0x6b30 029909 lshift2 pdata ,pdata 
+0x6b31 029910 set0 rfcomm_address_cr ,pdata 
+0x6b32 029911 set1 rfcomm_address_ext_len ,pdata 
+0x6b33 029912 arg mem_hiufcs_spp ,temp 
+0x6b34 029913 storet 2 ,mem_contw_temp 
+0x6b35 029914 call rfcomm_save_fcs_uih 
+0x6b36 029915 branch rfcomm_rx_process_end 
+:      029917 parse_uih_spp_uih_credits:
+0x6b37 029918 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b38 029919 copy pdata ,contr 
+0x6b39 029920 increase 1 ,pdata 
+0x6b3a 029921 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b3b 029922 ifetch 1 ,contr 
+0x6b3c 029923 fetcht 1 ,mem_remote_credits 
+0x6b3d 029924 iadd temp ,pdata 
+0x6b3e 029925 store 1 ,mem_remote_credits 
+:      029926 parse_uih_spp_uih:
+0x6b3f 029927 call rfcomm_increase_credit_given 
+:      029928 parse_uih_spp_uih_cont:
+0x6b40 029929 call get_rfcomm_snd_adss 
+0x6b41 029930 call rfcomm_send_uih_without_payload 
+0x6b42 029931 call spp_process_rx_data 
+0x6b43 029932 branch rfcomm_rx_process_end 
+:      029934 parse_uih_rp_spp_disconn_send_event:
+0x6b44 029935 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6b45 029936 call ui_ipc_send_event 
+:      029937 parse_uih_rp_spp_disconn:
+0x6b46 029938 call rfcomm_init_spp 
+0x6b47 029939 fetch 1 ,mem_current_adss 
+0x6b48 029940 call rfcomm_calculate_fcs_ua 
+0x6b49 029941 store 1 ,mem_current_fcs 
+0x6b4a 029942 call rfcomm_send_ua 
+0x6b4b 029943 branch rfcomm_rx_process_end 
+:      029948 rfcomm_rx_process_reconn:
+0x6b4c 029949 fetch 2 ,mem_l2cap_payload_ptr 
+0x6b4d 029950 copy pdata ,contr 
+0x6b4e 029951 call get_rfcomm_head_struct 
+0x6b4f 029952 fetch 1 ,mem_current_channel 
+0x6b50 029953 beq 0 ,parse_dlci0_reconn 
+0x6b51 029954 branch parse_uih_reconn 
+:      029956 parse_dlci0_reconn:
+0x6b52 029957 bpatchx patch35_1 ,mem_patch35 
+0x6b53 029958 fetch 1 ,mem_current_frame_type 
+0x6b54 029959 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6b55 029960 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6b56 029961 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6b57 029962 branch rfcomm_rx_process_end 
+:      029963 parse_dlci0_reconn_uih:
+0x6b58 029964 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b59 029965 copy pdata ,contr 
+0x6b5a 029966 call get_rfcomm_uih_head_struct 
+0x6b5b 029967 fetch 1 ,mem_uih_cmd_type 
+0x6b5c 029968 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5d 029969 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5e 029970 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6b5f 029971 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6b60 029972 branch rfcomm_rx_process_end 
+:      029974 parse_dlci0_reconn_uih_pn_cmd:
+0x6b61 029975 call parse_dlci0_rp_uih_pn_res_common 
+0x6b62 029976 fetch 1 ,mem_pn_dlci 
+0x6b63 029977 rshift pdata ,pdata 
+0x6b64 029978 fetcht 1 ,mem_remote_spp_channel 
+0x6b65 029979 isub temp ,null 
+0x6b66 029980 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6b67 029981 branch assert 
+:      029982 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6b68 029983 fetch 1 ,mem_spp_state 
+0x6b69 029984 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6b6a 029985 store 1 ,mem_spp_state 
+0x6b6b 029986 branch rfcomm_rx_process_end 
+:      029988 parse_dlci0_reconn_uih_ms_cmd:
+0x6b6c 029989 call get_rfcomm_param_modem_status 
+0x6b6d 029990 fetch 1 ,mem_ms_channel 
+0x6b6e 029991 fetcht 1 ,mem_remote_spp_channel 
+0x6b6f 029992 isub temp ,null 
+0x6b70 029993 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6b71 029994 branch assert 
+0x6b72 029995 branch rfcomm_rx_process_end 
+:      029996 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6b73 029997 fetch 1 ,mem_spp_state 
+0x6b74 029998 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6b75 029999 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6b76 030000 store 1 ,mem_spp_state 
+0x6b77 030001 fetcht 1 ,mem_pn_dlci 
+0x6b78 030002 lshift2 temp ,temp 
+0x6b79 030003 or_into 3 ,temp 
+0x6b7a 030004 call rfcomm_send_modem_status_res 
+0x6b7b 030005 branch rfcomm_rx_process_end 
+:      030007 parse_dlci0_reconn_uih_ms_res:
+0x6b7c 030008 call get_rfcomm_param_modem_status 
+0x6b7d 030009 fetch 1 ,mem_ms_channel 
+0x6b7e 030010 fetcht 1 ,mem_remote_spp_channel 
+0x6b7f 030011 isub temp ,null 
+0x6b80 030012 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6b81 030013 branch assert 
+:      030014 parse_dlci0_reconn_uih_ms_res_spp:
+0x6b82 030015 fetch 1 ,mem_spp_state 
+0x6b83 030016 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6b84 030017 store 1 ,mem_spp_state 
+0x6b85 030018 branch rfcomm_rx_process_end 
+:      030020 parse_uih_reconn:
+0x6b86 030021 fetch 1 ,mem_current_channel 
+0x6b87 030022 fetcht 1 ,mem_remote_spp_channel 
+0x6b88 030023 isub temp ,null 
+0x6b89 030024 branch parse_uih_reconn_spp ,zero 
+0x6b8a 030025 branch assert 
+0x6b8b 030026 branch rfcomm_rx_process_end 
+:      030028 parse_uih_reconn_spp:
+0x6b8c 030029 fetch 1 ,mem_current_frame_type 
+0x6b8d 030030 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6b8e 030031 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b8f 030032 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b90 030033 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      030034 parse_uih_reconn_spp_ua:
+0x6b91 030035 fetch 1 ,mem_spp_state 
+0x6b92 030036 set1 rfcomm_channel_state_ua ,pdata 
+0x6b93 030037 store 1 ,mem_spp_state 
+0x6b94 030038 branch rfcomm_rx_process_end 
+:      030039 parse_uih_reconn_spp_sabm:
+0x6b95 030040 branch parse_uih_reconn_spp_sabm 
+:      030041 parse_uih_reconn_spp_disconn:
+0x6b96 030042 branch parse_uih_rp_spp_disconn 
+:      030043 rfcomm_rx_process_end:
+0x6b97 030044 rtn 
+:      030046 rfcomm_send_more_pkt:
+0x6b98 030047 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6b99 030048 rtn blank 
+0x6b9a 030049 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6b9b 030050 branch assert 
+:      030052 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6b9c 030053 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6b9d 030054 call l2cap_malloc_rfcomm_channel 
+0x6b9e 030055 arg spp_slave_channel ,temp 
+0x6b9f 030056 fetcht 1 ,mem_pn_dlci 
+0x6ba0 030057 lshift2 temp ,temp 
+:      030058 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6ba1 030059 or_into 0x03 ,temp 
+0x6ba2 030060 arg 0xaa ,rega 
+0x6ba3 030061 call rfcomm_send_modem_status_cmd 
+0x6ba4 030062 call l2cap_get_rfcomm_tx_buff 
+0x6ba5 030063 copy contw ,contr 
+0x6ba6 030064 ifetch 2 ,contr 
+0x6ba7 030065 branch assert ,blank 
+0x6ba8 030066 rtn 
+:      030068 rfcomm_send_sabm:
+0x6ba9 030069 call l2cap_get_rfcomm_tx_buff 
+0x6baa 030070 setarg 0x0004 
+0x6bab 030071 istore 2 ,contw 
+0x6bac 030072 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bad 030073 istore 2 ,contw 
+0x6bae 030074 fetch 1 ,mem_current_adss 
+0x6baf 030075 istore 1 ,contw 
+0x6bb0 030076 bpatchx patch35_2 ,mem_patch35 
+0x6bb1 030077 setarg 0x013f 
+0x6bb2 030078 istore 2 ,contw 
+0x6bb3 030079 fetch 1 ,mem_current_fcs 
+0x6bb4 030080 istore 1 ,contw 
+0x6bb5 030081 rtn 
+:      030082 rfcomm_send_ua:
+0x6bb6 030083 call l2cap_malloc_rfcomm_channel 
+0x6bb7 030084 call l2cap_get_rfcomm_tx_buff 
+0x6bb8 030085 setarg 0x0004 
+0x6bb9 030086 istore 2 ,contw 
+0x6bba 030087 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bbb 030088 istore 2 ,contw 
+0x6bbc 030089 fetch 1 ,mem_current_adss 
+0x6bbd 030090 istore 1 ,contw 
+0x6bbe 030091 bpatchx patch35_3 ,mem_patch35 
+0x6bbf 030092 setarg 0x0173 
+0x6bc0 030093 istore 2 ,contw 
+0x6bc1 030094 fetch 1 ,mem_current_fcs 
+0x6bc2 030095 istore 1 ,contw 
+0x6bc3 030096 rtn 
+:      030097 rfcomm_send_param_neg_cmd:
+0x6bc4 030098 call l2cap_get_rfcomm_tx_buff 
+0x6bc5 030099 setarg 0x000e 
+0x6bc6 030100 istore 2 ,contw 
+0x6bc7 030101 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bc8 030102 istore 2 ,contw 
+0x6bc9 030103 fetch 1 ,mem_rfcomm_initiator 
+0x6bca 030104 lshift pdata ,pdata 
+0x6bcb 030105 set1 0 ,pdata 
+0x6bcc 030106 istore 1 ,contw 
+0x6bcd 030107 bpatchx patch35_4 ,mem_patch35 
+0x6bce 030108 setarg 0x15ef 
+0x6bcf 030109 istore 2 ,contw 
+0x6bd0 030110 setarg 0x1183 
+0x6bd1 030111 istore 2 ,contw 
+0x6bd2 030112 copy temp ,pdata 
+0x6bd3 030113 istore 1 ,contw 
+0x6bd4 030114 setarg 0x0000f0 
+0x6bd5 030115 istore 3 ,contw 
+0x6bd6 030116 setarg rfcomm_max_frame_size 
+0x6bd7 030117 istore 2 ,contw 
+0x6bd8 030118 setarg 0 
+0x6bd9 030119 istore 1 ,contw 
+0x6bda 030120 setarg 0x01 
+0x6bdb 030121 istore 1 ,contw 
+0x6bdc 030122 call rfcomm_calculate_fcs_dlci0 
+0x6bdd 030123 istore 1 ,contw 
+0x6bde 030124 jam 0x10 ,mem_credit_given 
+0x6bdf 030125 rtn 
+:      030126 rfcomm_send_param_neg_res:
+0x6be0 030127 call l2cap_malloc_rfcomm_channel 
+0x6be1 030128 call l2cap_get_rfcomm_tx_buff 
+0x6be2 030129 setarg 0x000e 
+0x6be3 030130 istore 2 ,contw 
+0x6be4 030131 fetch 2 ,mem_rfcomm_remote_cid 
+0x6be5 030132 istore 2 ,contw 
+0x6be6 030133 fetch 1 ,mem_rfcomm_initiator 
+0x6be7 030134 lshift pdata ,pdata 
+0x6be8 030135 set1 0 ,pdata 
+0x6be9 030136 istore 1 ,contw 
+0x6bea 030137 bpatchx patch35_5 ,mem_patch35 
+0x6beb 030138 setarg 0x15ef 
+0x6bec 030139 istore 2 ,contw 
+0x6bed 030140 setarg 0x1181 
+0x6bee 030141 istore 2 ,contw 
+0x6bef 030142 fetch 1 ,mem_pn_dlci 
+0x6bf0 030143 istore 1 ,contw 
+0x6bf1 030144 setarg 0x0000e0 
+0x6bf2 030145 istore 3 ,contw 
+0x6bf3 030146 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6bf4 030147 istore 2 ,contw 
+0x6bf5 030148 setarg 0x00 
+0x6bf6 030149 istore 1 ,contw 
+0x6bf7 030150 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6bf8 030151 istore 1 ,contw 
+0x6bf9 030152 call rfcomm_calculate_fcs_dlci0 
+0x6bfa 030153 istore 1 ,contw 
+0x6bfb 030154 rtn 
+:      030155 rfcomm_send_modem_status_cmd:
+0x6bfc 030156 call l2cap_get_rfcomm_tx_buff 
+0x6bfd 030157 setarg 0x0008 
+0x6bfe 030158 istore 2 ,contw 
+0x6bff 030159 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c00 030160 istore 2 ,contw 
+0x6c01 030161 fetch 1 ,mem_rfcomm_initiator 
+0x6c02 030162 lshift pdata ,pdata 
+0x6c03 030163 set1 0 ,pdata 
+0x6c04 030164 istore 1 ,contw 
+0x6c05 030165 bpatchx patch35_6 ,mem_patch35 
+0x6c06 030166 setarg 0x09ef 
+0x6c07 030167 istore 2 ,contw 
+0x6c08 030168 setarg 0x05e3 
+0x6c09 030169 istore 2 ,contw 
+0x6c0a 030170 copy temp ,pdata 
+0x6c0b 030171 istore 1 ,contw 
+0x6c0c 030172 setarg 0x8d 
+0x6c0d 030173 istore 1 ,contw 
+0x6c0e 030174 call rfcomm_calculate_fcs_dlci0 
+0x6c0f 030175 istore 1 ,contw 
+0x6c10 030176 rtn 
+:      030178 rfcomm_send_modem_status_res:
+0x6c11 030179 call l2cap_malloc_rfcomm_channel 
+0x6c12 030180 call l2cap_get_rfcomm_tx_buff 
+0x6c13 030181 setarg 0x0008 
+0x6c14 030182 istore 2 ,contw 
+0x6c15 030183 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c16 030184 istore 2 ,contw 
+0x6c17 030185 copy temp ,timeup 
+0x6c18 030186 fetch 1 ,mem_rfcomm_initiator 
+0x6c19 030187 lshift pdata ,pdata 
+0x6c1a 030188 set1 0 ,pdata 
+0x6c1b 030189 istore 1 ,contw 
+0x6c1c 030190 bpatchx patch35_7 ,mem_patch35 
+0x6c1d 030191 setarg 0x09ef 
+0x6c1e 030192 istore 2 ,contw 
+0x6c1f 030193 setarg 0x05e1 
+0x6c20 030194 istore 2 ,contw 
+0x6c21 030195 copy timeup ,pdata 
+0x6c22 030196 istore 1 ,contw 
+0x6c23 030197 setarg 0x8d 
+0x6c24 030198 istore 1 ,contw 
+0x6c25 030199 call rfcomm_calculate_fcs_dlci0 
+0x6c26 030200 istore 1 ,contw 
+0x6c27 030201 rtn 
+:      030203 rfcomm_send_uih_without_payload:
+0x6c28 030204 bpatchx patch36_0 ,mem_patch36 
+0x6c29 030205 fetch 1 ,mem_credit_given 
+0x6c2a 030206 rtn blank 
+0x6c2b 030207 hfetch 2 ,core_uart_rxitems 
+0x6c2c 030208 nrtn blank 
+0x6c2d 030209 copy rega ,pdata 
+0x6c2e 030210 store 1 ,mem_pdatatemp + 1 
+0x6c2f 030211 storet 1 ,mem_pdatatemp 
+0x6c30 030212 call l2cap_malloc_is_fifo_full 
+0x6c31 030213 nrtn blank 
+0x6c32 030214 call l2cap_malloc_rfcomm_channel 
+0x6c33 030215 call l2cap_get_rfcomm_tx_buff 
+0x6c34 030216 setarg 0x05 
+0x6c35 030217 istore 2 ,contw 
+0x6c36 030218 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c37 030219 istore 2 ,contw 
+0x6c38 030220 fetch 1 ,mem_rfcomm_send_adss 
+0x6c39 030221 istore 1 ,contw 
+0x6c3a 030222 setarg 0x01ff 
+0x6c3b 030223 istore 2 ,contw 
+0x6c3c 030224 fetch 1 ,mem_credit_given 
+0x6c3d 030225 istore 1 ,contw 
+0x6c3e 030226 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c3f 030227 istore 1 ,contw 
+0x6c40 030228 jam 0 ,mem_credit_given 
+0x6c41 030229 rtn 
+:      030231 rfcomm_increase_credit_given:
+0x6c42 030232 bpatchx patch36_1 ,mem_patch36 
+0x6c43 030233 fetch 1 ,mem_credit_flag 
+0x6c44 030234 rtneq credit_enable 
+0x6c45 030235 fetch 2 ,mem_current_length 
+0x6c46 030236 rtn blank 
+0x6c47 030237 fetch 1 ,mem_credit_given 
+0x6c48 030238 increase 1 ,pdata 
+0x6c49 030239 store 1 ,mem_credit_given 
+0x6c4a 030240 rtn 
+:      030242 spp_process_rx_data:
+0x6c4b 030243 fetch 2 ,mem_cb_receive_spp_data 
+0x6c4c 030244 branch callback_func 
+:      030246 spp_tx_rfcomm_packet:
+0x6c4d 030247 bpatchx patch36_2 ,mem_patch36 
+0x6c4e 030249 fetch 1 ,mem_remote_credits 
+0x6c4f 030250 rtn blank 
+0x6c50 030251 increase -1 ,pdata 
+0x6c51 030252 store 1 ,mem_remote_credits 
+0x6c52 030253 fetch 2 ,mem_pn_max_frame_size 
+0x6c53 030254 fetcht 2 ,mem_current_packet_length 
+0x6c54 030255 isub temp ,null 
+0x6c55 030256 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6c56 030257 store 2 ,mem_current_packet_length 
+:      030258 ssp_tx_rfcomm_from_uart:
+0x6c57 030259 fetch 1 ,mem_credit_given 
+0x6c58 030260 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6c59 030261 jam 1 ,mem_rfcomm_send_offset 
+0x6c5a 030262 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c5b 030263 store 1 ,mem_rfcomm_send_fcs 
+0x6c5c 030264 setarg rsp_rx_uih_wdata 
+0x6c5d 030265 store 1 ,mem_rfcomm_send_frame_type 
+0x6c5e 030266 branch ssp_tx_rfcomm_from_uart_common 
+:      030267 ssp_tx_rfcomm_from_uart_without_credit:
+0x6c5f 030268 jam 0 ,mem_rfcomm_send_offset 
+0x6c60 030269 fetch 1 ,mem_hiufcs_spp 
+0x6c61 030270 store 1 ,mem_rfcomm_send_fcs 
+0x6c62 030271 setarg rsp_tx_uih 
+0x6c63 030272 store 1 ,mem_rfcomm_send_frame_type 
+:      030273 ssp_tx_rfcomm_from_uart_common:
+0x6c64 030274 bpatchx patch36_3 ,mem_patch36 
+0x6c65 030275 fetch 2 ,mem_current_packet_length 
+0x6c66 030276 sub pdata ,127 ,null 
+0x6c67 030277 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6c68 030278 fetch 1 ,mem_rfcomm_send_offset 
+0x6c69 030279 increase 1 ,pdata 
+0x6c6a 030280 store 1 ,mem_rfcomm_send_offset 
+:      030281 ssp_tx_rfcomm_from_uart_common0:
+0x6c6b 030282 call get_rfcomm_snd_adss 
+0x6c6c 030283 fetch 2 ,mem_current_packet_length 
+0x6c6d 030284 increase 8 ,pdata 
+0x6c6e 030285 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c6f 030286 iadd temp ,rega 
+0x6c70 030288 call l2cap_malloc 
+0x6c71 030289 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c72 030290 increase 4 ,pdata 
+0x6c73 030291 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6c74 030292 copy pdata ,contw 
+0x6c75 030293 fetch 1 ,mem_rfcomm_send_adss 
+0x6c76 030294 istore 1 ,contw 
+0x6c77 030295 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6c78 030296 istore 1 ,contw 
+0x6c79 030297 call ssp_tx_write_length 
+0x6c7a 030298 call ssp_tx_write_given_credit 
+0x6c7b 030299 bpatchx patch36_4 ,mem_patch36 
+0x6c7c 030300 fetch 2 ,mem_nl_rx_data_src 
+0x6c7d 030301 copy pdata ,contru 
+0x6c7e 030302 fetch 2 ,mem_current_packet_length 
+0x6c7f 030303 copy pdata ,loopcnt 
+0x6c80 030304 call uart_copy_rx_bytes_fast 
+0x6c81 030305 copy contw ,temp 
+0x6c82 030306 copy contru ,pdata 
+0x6c83 030307 store 2 ,mem_nl_rx_data_src 
+0x6c84 030308 copy temp ,contw 
+0x6c85 030309 fetch 1 ,mem_rfcomm_send_fcs 
+0x6c86 030310 istore 1 ,contw 
+0x6c87 030311 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c88 030312 copy pdata ,contw 
+0x6c89 030313 fetch 2 ,mem_current_packet_length 
+0x6c8a 030314 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c8b 030315 iadd temp ,pdata 
+0x6c8c 030316 increase 4 ,pdata 
+0x6c8d 030317 istore 2 ,contw 
+0x6c8e 030318 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c8f 030319 istore 2 ,contw 
+0x6c90 030320 jam 0 ,mem_credit_given 
+0x6c91 030321 fetch 2 ,mem_nl_rx_len_all 
+0x6c92 030322 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6c93 030323 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6c94 030324 rtn 
+:      030326 ssp_tx_write_length:
+0x6c95 030327 bpatchx patch36_5 ,mem_patch36 
+0x6c96 030328 fetch 2 ,mem_current_packet_length 
+0x6c97 030329 sub pdata ,0x7f ,null 
+0x6c98 030330 nbranch ssp_tx_write_long_packet ,positive 
+0x6c99 030331 lshift pdata ,pdata 
+0x6c9a 030332 set1 0 ,pdata 
+0x6c9b 030333 istore 1 ,contw 
+0x6c9c 030334 rtn 
+:      030335 ssp_tx_write_long_packet:
+0x6c9d 030336 fetch 2 ,mem_current_packet_length 
+0x6c9e 030337 rshift3 pdata ,pdata 
+0x6c9f 030338 rshift4 pdata ,temp 
+0x6ca0 030339 and_into 0x7f ,pdata 
+0x6ca1 030340 lshift pdata ,pdata 
+0x6ca2 030341 set0 0 ,pdata 
+0x6ca3 030342 istore 1 ,contw 
+0x6ca4 030343 istoret 1 ,contw 
+0x6ca5 030344 rtn 
+:      030345 ssp_tx_write_given_credit:
+0x6ca6 030346 fetch 1 ,mem_credit_given 
+0x6ca7 030347 rtn blank 
+0x6ca8 030348 istore 1 ,contw 
+0x6ca9 030349 rtn 
+:      030354 scheduler_process:
+0x6caa 030355 bpatchx patch36_6 ,mem_patch36 
+0x6cab 030356 call check_51cmd 
+0x6cac 030357 call app_process_bb_event 
+0x6cad 030358 call process_conn_sm 
+0x6cae 030360 bpatchx patch36_7 ,mem_patch36 
+0x6caf 030361 call sp_calc_sequence 
+0x6cb0 030362 call simple_pairing_sequence 
+0x6cb1 030363 call master_simple_paring_sequence 
+0x6cb2 030366 call l2cap_malloc_is_fifo_full 
+0x6cb3 030367 nrtn blank 
+0x6cb4 030369 call l2cap_call_proc_sigal_pending 
+0x6cb5 030370 call l2cap_malloc_is_fifo_full 
+0x6cb6 030371 nrtn blank 
+0x6cb7 030372 bpatchx patch37_0 ,mem_patch37 
+0x6cb8 030374 call process_upper_sm 
+0x6cb9 030375 call l2cap_send_config_req 
+0x6cba 030376 call rfcomm_send_more_pkt 
+:      030377 scheduler_process0:
+0x6cbb 030378 call scheduler_tx_disconnect_hid 
+0x6cbc 030379 bpatchx patch37_1 ,mem_patch37 
+0x6cbd 030382 branch app_process_bt 
+:      030384 scheduler_tx_disconnect_hid:
+0x6cbe 030385 fetch 1 ,mem_control_tasks 
+0x6cbf 030386 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6cc0 030387 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6cc1 030388 rtn 
+:      030390 scheduler_tx_l2cap_pkt:
+0x6cc2 030391 bpatchx patch37_2 ,mem_patch37 
+0x6cc3 030392 call l2cap_malloc_is_fifo_empty 
+0x6cc4 030393 rtn blank 
+0x6cc5 030394 fetch 1 ,mem_op 
+0x6cc6 030395 rtnbit1 op_txl2cap 
+0x6cc7 030396 call l2cap_malloc_fifo_out 
+0x6cc8 030397 store 2 ,mem_txptr 
+0x6cc9 030398 copy pdata ,contr 
+0x6cca 030399 ifetch 2 ,contr 
+0x6ccb 030400 increase 4 ,pdata 
+0x6ccc 030401 store 2 ,mem_tx_len 
+0x6ccd 030402 jam 6 ,mem_tx_lch 
+0x6cce 030403 bpatchx patch37_3 ,mem_patch37 
+0x6ccf 030404 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6cd0 030405 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6cd1 030406 fetch 1 ,mem_op 
+0x6cd2 030407 rtnbit0 op_pkt_comp 
+0x6cd3 030408 set0 op_pkt_comp ,pdata 
+0x6cd4 030409 store 1 ,mem_op 
+0x6cd5 030410 jam 5 ,mem_tx_lch 
+0x6cd6 030411 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6cd7 030412 fetch 2 ,mem_txptr 
+0x6cd8 030413 iadd temp ,pdata 
+0x6cd9 030414 store 2 ,mem_txptr 
+0x6cda 030415 fetch 2 ,mem_tx_len 
+0x6cdb 030416 isub temp ,pdata 
+0x6cdc 030417 store 2 ,mem_tx_len 
+:      030418 scheduler_tx_l2cap_start_pkt:
+0x6cdd 030419 bpatchx patch37_4 ,mem_patch37 
+0x6cde 030420 fetch 2 ,mem_tx_len 
+0x6cdf 030421 branch assert ,blank 
+0x6ce0 030422 arg l2cap_max_pkt_len ,temp 
+0x6ce1 030423 isub temp ,pdata 
+0x6ce2 030424 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ce3 030425 bpatchx patch37_5 ,mem_patch37 
+0x6ce4 030426 storet 2 ,mem_tx_len 
+0x6ce5 030427 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ce6 030428 iadd temp ,pdata 
+0x6ce7 030429 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ce8 030430 branch scheduler_tx_l2cap_pkt_end 
+:      030431 scheduler_tx_l2cap_last_pkt:
+0x6ce9 030432 setarg 0 
+0x6cea 030433 store 2 ,mem_l2cap_tx_multi_offset 
+:      030434 scheduler_tx_l2cap_pkt_end:
+0x6ceb 030435 fetch 1 ,mem_op 
+0x6cec 030436 set1 op_txl2cap ,pdata 
+0x6ced 030437 store 1 ,mem_op 
+0x6cee 030438 rtn 
+:      030440 scheduler_start_upper_sm:
+0x6cef 030441 fetch 1 ,mem_ui_profile_supported 
+0x6cf0 030442 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6cf1 030443 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6cf2 030444 rtn 
+:      030445 scheduler_start_upper_sm_hid:
+0x6cf3 030446 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6cf4 030447 rtn 
+:      030449 process_upper_sm:
+0x6cf5 030450 fetch 1 ,memui_reconnect_mode 
+0x6cf6 030451 nbranch process_upper_sm_reconn ,blank 
+:      030452 process_upper_sm_remote_page:
+0x6cf7 030453 fetch 1 ,mem_upper_sm_remote_page 
+0x6cf8 030455 rtn blank 
+0x6cf9 030457 jam 0 ,mem_upper_sm_remote_page 
+:      030458 process_upper_sm_rp_wait:
+0x6cfa 030459 rtn 
+:      030462 process_upper_sm_reconn:
+0x6cfb 030463 bpatchx patch37_6 ,mem_patch37 
+0x6cfc 030464 fetch 1 ,mem_upper_sm_reconn 
+0x6cfd 030465 rtn blank 
+0x6cfe 030466 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6cff 030467 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6d00 030468 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6d01 030469 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6d02 030470 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6d03 030471 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6d04 030472 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6d05 030473 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6d06 030474 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6d07 030475 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6d08 030476 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6d09 030477 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6d0a 030478 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6d0b 030479 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6d0c 030480 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6d0d 030481 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6d0e 030482 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6d0f 030483 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6d10 030484 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6d11 030485 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6d12 030486 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6d13 030487 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6d14 030488 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6d15 030489 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6d16 030490 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6d17 030491 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6d18 030492 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6d19 030493 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      030494 process_upper_sm_reconn_wait:
+0x6d1a 030495 rtn 
+:      030496 process_upper_sm_reconn_sdp_conn:
+0x6d1b 030497 call upper_sm_send_sdp_conn 
+0x6d1c 030498 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6d1d 030499 fetch 1 ,mem_sdp_state 
+0x6d1e 030500 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d1f 030501 store 1 ,mem_sdp_state 
+0x6d20 030502 rtn 
+:      030503 process_upper_sm_reconn_sdp_cfg:
+0x6d21 030504 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d22 030505 fetch 1 ,mem_sdp_state 
+0x6d23 030506 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6d24 030507 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d25 030508 call upper_sm_send_sdp_cfg 
+0x6d26 030509 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d27 030510 fetch 1 ,mem_sdp_state 
+0x6d28 030511 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d29 030512 store 1 ,mem_sdp_state 
+0x6d2a 030513 rtn 
+:      030514 process_upper_sm_reconn_ss_spp:
+0x6d2b 030515 call l2cap_malloc_is_fifo_empty 
+0x6d2c 030516 nrtn blank 
+0x6d2d 030517 call upper_sm_send_ss_spp 
+0x6d2e 030518 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6d2f 030519 rtn 
+:      030520 process_upper_sm_reconn_sdp_disconn:
+0x6d30 030521 call upper_sm_send_sdp_disconn 
+0x6d31 030522 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6d32 030523 rtn 
+:      030524 process_upper_sm_reconn_hid_ctrl_conn:
+0x6d33 030525 call upper_sm_send_hid_ctrl_conn 
+0x6d34 030526 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6d35 030527 fetch 1 ,mem_hid_control_state 
+0x6d36 030528 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d37 030529 store 1 ,mem_hid_control_state 
+0x6d38 030530 rtn 
+:      030531 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6d39 030532 call upper_sm_send_hid_ctrl_cfg 
+0x6d3a 030533 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6d3b 030534 fetch 1 ,mem_hid_control_state 
+0x6d3c 030535 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d3d 030536 store 1 ,mem_hid_control_state 
+0x6d3e 030537 rtn 
+:      030538 process_upper_sm_reconn_hid_int_conn:
+0x6d3f 030539 call upper_sm_send_hid_int_conn 
+0x6d40 030540 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6d41 030541 fetch 1 ,mem_hid_interrupt_state 
+0x6d42 030542 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d43 030543 store 1 ,mem_hid_interrupt_state 
+0x6d44 030544 rtn 
+:      030545 process_upper_sm_reconn_hid_int_cfg:
+0x6d45 030546 call upper_sm_send_hid_int_cfg 
+0x6d46 030547 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6d47 030548 fetch 1 ,mem_hid_interrupt_state 
+0x6d48 030549 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d49 030550 store 1 ,mem_hid_interrupt_state 
+0x6d4a 030551 rtn 
+:      030552 process_upper_sm_reconn_rfcomm_conn:
+0x6d4b 030553 call upper_sm_send_rfcomm_conn 
+0x6d4c 030554 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6d4d 030555 fetch 1 ,mem_rfcomm_state 
+0x6d4e 030556 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d4f 030557 store 1 ,mem_rfcomm_state 
+0x6d50 030558 rtn 
+:      030559 process_upper_sm_reconn_rfcomm_cfg:
+0x6d51 030560 call upper_sm_send_rfcomm_cfg 
+0x6d52 030561 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6d53 030562 fetch 1 ,mem_rfcomm_state 
+0x6d54 030563 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d55 030564 store 1 ,mem_rfcomm_state 
+0x6d56 030565 rtn 
+:      030566 process_upper_sm_reconn_rfcomm_sabm:
+0x6d57 030567 call upper_sm_send_rfcomm_sabm 
+0x6d58 030568 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6d59 030569 fetch 1 ,mem_rfcomm_state 
+0x6d5a 030570 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6d5b 030571 store 1 ,mem_rfcomm_state 
+0x6d5c 030572 rtn 
+:      030573 process_upper_sm_reconn_spp_cmd_pn:
+0x6d5d 030574 call upper_sm_send_spp_cmd_pn 
+0x6d5e 030575 fetch 1 ,mem_spp_state 
+0x6d5f 030576 set1 rfcomm_channel_state_pn_cmd 
+0x6d60 030577 store 1 ,mem_spp_state 
+0x6d61 030578 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6d62 030579 rtn 
+:      030580 process_upper_sm_reconn_spp_sabm:
+0x6d63 030581 call upper_sm_send_spp_sabm 
+0x6d64 030582 fetch 1 ,mem_spp_state 
+0x6d65 030583 set1 rfcomm_channel_state_sabm 
+0x6d66 030584 store 1 ,mem_spp_state 
+0x6d67 030585 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6d68 030586 fetch 1 ,mem_remote_spp_channel 
+0x6d69 030587 lshift3 pdata ,pdata 
+0x6d6a 030588 or_into 3 ,pdata 
+0x6d6b 030589 arg mem_hiufcs_spp ,temp 
+0x6d6c 030590 storet 2 ,mem_contw_temp 
+0x6d6d 030591 branch rfcomm_save_fcs_uih 
+:      030592 process_upper_sm_reconn_spp_cmd_ms:
+0x6d6e 030593 call upper_sm_send_spp_cmd_ms 
+0x6d6f 030594 fetch 1 ,mem_spp_state 
+0x6d70 030595 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6d71 030596 store 1 ,mem_spp_state 
+0x6d72 030597 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6d73 030598 rtn 
+:      030600 process_upper_sm_reconn_sdp_conn_wait:
+0x6d74 030601 fetch 1 ,mem_sdp_state 
+0x6d75 030602 rtnbit0 l2cap_channel_state_conn_res 
+0x6d76 030603 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d77 030604 branch process_upper_sm_reconn 
+:      030605 process_upper_sm_reconn_sdp_cfg_wait:
+0x6d78 030606 fetch 1 ,mem_sdp_state 
+0x6d79 030607 rtnne l2cap_channel_setup_complete 
+0x6d7a 030608 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      030609 process_upper_sm_reconn_ss_spp_wait:
+0x6d7b 030610 fetch 1 ,mem_message_to_uppersm 
+0x6d7c 030611 rtnne recieve_ss_reasult_hf 
+0x6d7d 030612 jam 0 ,mem_message_to_uppersm 
+0x6d7e 030613 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6d7f 030614 branch process_upper_sm_reconn 
+:      030615 process_upper_sm_reconn_sdp_disconn_wait:
+0x6d80 030616 fetch 1 ,mem_sdp_state 
+0x6d81 030617 nrtn blank 
+0x6d82 030618 fetch 1 ,mem_ui_profile_supported 
+0x6d83 030619 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6d84 030620 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d85 030621 branch process_upper_sm_reconn_termination 
+:      030622 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6d86 030623 fetch 1 ,mem_hid_control_state 
+0x6d87 030624 rtnbit0 l2cap_channel_state_conn_res 
+0x6d88 030625 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6d89 030626 branch process_upper_sm_reconn 
+:      030627 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6d8a 030628 fetch 1 ,mem_hid_control_state 
+0x6d8b 030629 rtnne l2cap_channel_setup_complete 
+0x6d8c 030630 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6d8d 030631 branch process_upper_sm_reconn 
+:      030632 process_upper_sm_reconn_hid_int_conn_wait:
+0x6d8e 030633 fetch 1 ,mem_hid_interrupt_state 
+0x6d8f 030634 rtnbit0 l2cap_channel_state_conn_res 
+0x6d90 030635 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6d91 030636 branch process_upper_sm_reconn 
+:      030637 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6d92 030638 fetch 1 ,mem_hid_interrupt_state 
+0x6d93 030639 rtnne l2cap_channel_setup_complete 
+0x6d94 030640 fetch 1 ,mem_ui_profile_supported 
+0x6d95 030641 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d96 030642 branch process_upper_sm_reconn_termination 
+:      030643 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6d97 030644 fetch 1 ,mem_rfcomm_state 
+0x6d98 030645 rtnbit0 l2cap_channel_state_conn_res 
+0x6d99 030646 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6d9a 030647 branch process_upper_sm_reconn 
+:      030648 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6d9b 030649 fetch 1 ,mem_rfcomm_state 
+0x6d9c 030650 rtnne l2cap_channel_setup_complete 
+0x6d9d 030651 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6d9e 030652 branch process_upper_sm_reconn 
+:      030653 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6d9f 030654 fetch 1 ,mem_rfcomm_state 
+0x6da0 030655 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6da1 030656 fetch 1 ,mem_ui_profile_supported 
+0x6da2 030657 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6da3 030658 branch process_upper_sm_reconn_termination 
+:      030659 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6da4 030660 fetch 1 ,mem_spp_state 
+0x6da5 030661 rtnbit0 rfcomm_channel_state_pn_res 
+0x6da6 030662 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6da7 030663 branch process_upper_sm_reconn 
+:      030664 process_upper_sm_reconn_spp_sabm_wait:
+0x6da8 030665 fetch 1 ,mem_spp_state 
+0x6da9 030666 rtnbit0 rfcomm_channel_state_ua 
+0x6daa 030667 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6dab 030668 branch process_upper_sm_reconn 
+:      030669 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6dac 030670 fetch 1 ,mem_spp_state 
+0x6dad 030671 rtnne rfcomm_channel_setup_complete 
+0x6dae 030672 branch process_upper_sm_reconn_termination 
+:      030674 process_upper_sm_reconn_setup_hid:
+0x6daf 030675 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6db0 030676 branch process_upper_sm_reconn 
+:      030678 process_upper_sm_reconn_setup_rfcomm:
+0x6db1 030679 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6db2 030680 branch process_upper_sm_reconn 
+:      030681 process_upper_sm_reconn_setup_spp:
+0x6db3 030682 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6db4 030683 branch process_upper_sm_reconn 
+:      030687 process_upper_sm_reconn_termination:
+0x6db5 030688 jam 0 ,mem_upper_sm_reconn 
+0x6db6 030689 rtn 
+:      030690 upper_sm_send_sdp_conn:
+0x6db7 030691 bpatchx patch37_7 ,mem_patch37 
+0x6db8 030692 call l2cap_malloc_signal_channel 
+0x6db9 030693 setarg psm_sdp 
+0x6dba 030694 copy pdata ,temp 
+0x6dbb 030695 setarg l2cap_sdp_channel 
+0x6dbc 030696 copy pdata ,timeup 
+0x6dbd 030697 branch ml2cap_send_signal_connect_req 
+:      030699 upper_sm_send_sdp_cfg:
+0x6dbe 030700 bpatchx patch38_0 ,mem_patch38 
+0x6dbf 030701 call l2cap_malloc_signal_channel 
+0x6dc0 030702 fetch 2 ,mem_sdp_remote_cid 
+0x6dc1 030703 copy pdata ,temp 
+0x6dc2 030704 branch ml2cap_send_signal_config_req 
+:      030706 upper_sm_send_sdp_disconn:
+0x6dc3 030707 bpatchx patch38_1 ,mem_patch38 
+0x6dc4 030708 call l2cap_malloc_signal_channel 
+0x6dc5 030709 fetch 2 ,mem_sdp_remote_cid 
+0x6dc6 030710 copy pdata ,temp 
+0x6dc7 030711 arg l2cap_sdp_channel ,timeup 
+0x6dc8 030712 call ml2cap_send_signal_disconn_req 
+0x6dc9 030713 fetch 1 ,mem_sdp_state 
+0x6dca 030714 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6dcb 030715 store 1 ,mem_sdp_state 
+0x6dcc 030716 rtn 
+:      030718 upper_sm_send_ss_spp:
+0x6dcd 030719 bpatchx patch38_2 ,mem_patch38 
+0x6dce 030720 call l2cap_malloc_sdp_channel 
+0x6dcf 030721 call sdp_send_spp_request 
+0x6dd0 030722 branch msdp_send_req_done 
+:      030724 upper_sm_send_rfcomm_conn:
+0x6dd1 030725 bpatchx patch38_3 ,mem_patch38 
+0x6dd2 030726 call l2cap_malloc_signal_channel 
+0x6dd3 030727 setarg psm_rfcomm 
+0x6dd4 030728 copy pdata ,temp 
+0x6dd5 030729 setarg l2cap_rfcomm_channel 
+0x6dd6 030730 copy pdata ,timeup 
+0x6dd7 030731 branch ml2cap_send_signal_connect_req 
+:      030733 upper_sm_send_rfcomm_cfg:
+0x6dd8 030734 bpatchx patch38_4 ,mem_patch38 
+0x6dd9 030735 call l2cap_malloc_signal_channel 
+0x6dda 030736 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ddb 030737 copy pdata ,temp 
+0x6ddc 030738 branch ml2cap_send_signal_config_req 
+:      030740 upper_sm_send_hid_ctrl_conn:
+0x6ddd 030741 bpatchx patch38_5 ,mem_patch38 
+0x6dde 030742 call l2cap_malloc_signal_channel 
+0x6ddf 030743 setarg psm_hid_control 
+0x6de0 030744 copy pdata ,temp 
+0x6de1 030745 setarg l2cap_hid_control_channel 
+0x6de2 030746 copy pdata ,timeup 
+0x6de3 030747 branch ml2cap_send_signal_connect_req 
+:      030749 upper_sm_send_hid_ctrl_cfg:
+0x6de4 030750 bpatchx patch38_6 ,mem_patch38 
+0x6de5 030751 call l2cap_malloc_signal_channel 
+0x6de6 030752 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6de7 030753 copy pdata ,temp 
+0x6de8 030754 branch ml2cap_send_signal_config_req 
+:      030756 upper_sm_send_hid_int_conn:
+0x6de9 030757 bpatchx patch38_7 ,mem_patch38 
+0x6dea 030758 call l2cap_malloc_signal_channel 
+0x6deb 030759 setarg psm_hid_interrupt 
+0x6dec 030760 copy pdata ,temp 
+0x6ded 030761 setarg l2cap_hid_interrupt_channel 
+0x6dee 030762 copy pdata ,timeup 
+0x6def 030763 branch ml2cap_send_signal_connect_req 
+:      030765 upper_sm_send_hid_int_cfg:
+0x6df0 030766 bpatchx patch39_0 ,mem_patch39 
+0x6df1 030767 call l2cap_malloc_signal_channel 
+0x6df2 030768 fetch 2 ,mem_hid_int_remote_cid 
+0x6df3 030769 copy pdata ,temp 
+0x6df4 030770 branch ml2cap_send_signal_config_req 
+:      030772 upper_sm_send_rfcomm_sabm:
+0x6df5 030773 bpatchx patch39_1 ,mem_patch39 
+0x6df6 030774 call l2cap_malloc_rfcomm_channel 
+0x6df7 030776 jam 3 ,mem_current_adss 
+0x6df8 030777 jam 0x1c ,mem_current_fcs 
+0x6df9 030778 call rfcomm_send_sabm 
+0x6dfa 030779 jam 1 ,mem_rfcomm_initiator 
+0x6dfb 030780 rtn 
+:      030782 upper_sm_send_spp_cmd_pn:
+0x6dfc 030783 bpatchx patch39_2 ,mem_patch39 
+0x6dfd 030784 call l2cap_malloc_rfcomm_channel 
+0x6dfe 030785 fetcht 1 ,mem_remote_spp_channel 
+0x6dff 030786 call channel_to_dlci 
+0x6e00 030787 storet 1 ,mem_pn_dlci 
+0x6e01 030788 branch rfcomm_send_param_neg_cmd 
+:      030790 upper_sm_send_spp_sabm:
+0x6e02 030791 bpatchx patch39_3 ,mem_patch39 
+0x6e03 030792 call l2cap_malloc_rfcomm_channel 
+0x6e04 030793 fetcht 1 ,mem_pn_dlci 
+0x6e05 030794 call dlci_to_address_cmd 
+0x6e06 030795 call rfcomm_calculate_fcs_sabm 
+0x6e07 030796 store 1 ,mem_current_fcs 
+0x6e08 030797 fetcht 1 ,mem_pn_dlci 
+0x6e09 030798 call dlci_to_address_cmd 
+0x6e0a 030799 storet 1 ,mem_current_adss 
+0x6e0b 030800 branch rfcomm_send_sabm 
+:      030802 upper_sm_send_spp_cmd_ms:
+0x6e0c 030803 bpatchx patch39_4 ,mem_patch39 
+0x6e0d 030804 call l2cap_malloc_rfcomm_channel 
+0x6e0e 030805 fetcht 1 ,mem_pn_dlci 
+0x6e0f 030806 call dlci_to_address_cmd 
+0x6e10 030807 branch rfcomm_send_modem_status_cmd 
+:      030820 sdp_process:
+0x6e11 030821 bpatchx patch39_5 ,mem_patch39 
+0x6e12 030822 fetch 2 ,mem_l2cap_payload_ptr 
+0x6e13 030823 iforce contr 
+0x6e14 030826 ifetch 1 ,contr 
+0x6e15 030827 copy pdata ,regb 
+0x6e16 030828 store 1 ,mem_sdp_pduid 
+0x6e17 030829 ifetch 2 ,contr 
+0x6e18 030830 store 2 ,mem_sdp_transactionid 
+0x6e19 030831 ifetch 1 ,contr 
+0x6e1a 030832 lshift8 pdata ,timeup 
+0x6e1b 030833 ifetch 1 ,contr 
+0x6e1c 030834 iadd timeup ,timeup 
+0x6e1d 030835 bpatchx patch39_6 ,mem_patch39 
+0x6e1e 030836 copy contr ,temp 
+0x6e1f 030837 arg 4 ,loopcnt 
+0x6e20 030838 arg mem_sdp_handle_list ,contw 
+0x6e21 030839 call memset0 
+0x6e22 030840 copy temp ,contr 
+0x6e23 030841 deposit regb 
+0x6e24 030842 beq sdp_error_res ,sdp_process_error_res 
+0x6e25 030843 beq sdp_search_req ,sdp_process_ss_req 
+0x6e26 030844 beq sdp_search_res ,sdp_process_ss_res 
+0x6e27 030845 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6e28 030846 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6e29 030847 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6e2a 030848 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6e2b 030849 branch sdp_insufficient_resource 
+:      030860 sdp_process_ss_req:
+0x6e2c 030861 bpatchx patch39_7 ,mem_patch39 
+0x6e2d 030862 call ask_serviceclassid 
+0x6e2e 030863 compare 1 ,temp ,0xff 
+0x6e2f 030864 branch ss_empty_rsp ,true 
+0x6e30 030865 compare 0xff ,temp ,0xff 
+0x6e31 030866 branch sdp_invalid_request_syntax ,true 
+0x6e32 030868 ifetch 2 ,contr 
+0x6e33 030869 store 2 ,mem_sdp_record_maxcnt 
+0x6e34 030870 increase -2 ,timeup 
+0x6e35 030872 increase -1 ,timeup 
+0x6e36 030873 nbranch sdp_invalid_pdu_size ,zero 
+0x6e37 030874 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6e38 030875 ifetch 2 ,timeup 
+0x6e39 030876 rtn blank 
+0x6e3a 030877 call search_all_uuid 
+0x6e3b 030878 call l2cap_get_sdp_tx_payload 
+0x6e3c 030879 force 3 ,pdata 
+0x6e3d 030880 istore 1 ,contw 
+0x6e3e 030881 fetch 2 ,mem_sdp_transactionid 
+0x6e3f 030882 istore 2 ,contw 
+0x6e40 030883 lshift2 queue ,pdata 
+0x6e41 030884 add pdata ,5 ,pdata 
+0x6e42 030885 add pdata ,5 ,regc 
+0x6e43 030886 byteswap pdata ,pdata 
+0x6e44 030887 istore 2 ,contw 
+0x6e45 030888 deposit queue 
+0x6e46 030889 byteswap pdata ,pdata 
+0x6e47 030890 istore 2 ,contw 
+0x6e48 030891 istore 2 ,contw 
+0x6e49 030892 arg mem_sdp_handle_list ,contr 
+0x6e4a 030893 copy queue ,loopcnt 
+0x6e4b 030894 branch ss_req_blank ,zero 
+:      030895 ss_req_loop:
+0x6e4c 030896 ifetch 4 ,contr 
+0x6e4d 030897 istore 4 ,contw 
+0x6e4e 030898 loop ss_req_loop 
+:      030899 ss_req_blank:
+0x6e4f 030900 force 0 ,pdata 
+0x6e50 030901 istore 1 ,contw 
+0x6e51 030902 deposit regc 
+0x6e52 030903 store 2 ,mem_sdp_tx_pkt_length 
+0x6e53 030905 rtn 
+:      030916 sdp_process_sa_req:
+0x6e54 030917 bpatchx patch3a_0 ,mem_patch3a 
+0x6e55 030918 ifetch 4 ,contr 
+0x6e56 030919 store 4 ,mem_sdp_record_handle 
+0x6e57 030920 increase -4 ,timeup 
+0x6e58 030921 call sdp_store_maxbyte 
+0x6e59 030922 store 2 ,mem_sdp_attribute_maxbyte 
+0x6e5a 030923 increase -2 ,timeup 
+0x6e5b 030924 call dataelementtype6 
+0x6e5c 030925 branch sdp_invalid_request_syntax ,zero 
+0x6e5d 030926 compare 5 ,rega ,0xff 
+0x6e5e 030928 branch sa_judge_wholerange ,true 
+:      030929 sa_isnot_wholerange:
+0x6e5f 030930 arg mem_sdp_attrib_list ,contw 
+0x6e60 030931 force 0 ,queue 
+0x6e61 030932 branch sa_req_loop 
+:      030933 sa_judge_wholerange:
+0x6e62 030934 ifetch 1 ,contr 
+0x6e63 030935 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6e64 030936 ifetch 2 ,contr 
+0x6e65 030937 nbranch sa_judge_wholerange_false1 ,blank 
+0x6e66 030938 ifetch 1 ,contr 
+0x6e67 030939 bne 0xff ,sa_judge_wholerange_false2 
+0x6e68 030940 ifetch 1 ,contr 
+0x6e69 030941 bne 0xff ,sa_judge_wholerange_false3 
+0x6e6a 030942 branch sa_req_all 
+:      030943 sa_judge_wholerange_false3:
+0x6e6b 030944 increase -5 ,contr 
+0x6e6c 030945 branch sa_isnot_wholerange 
+:      030946 sa_judge_wholerange_false2:
+0x6e6d 030947 increase -4 ,contr 
+0x6e6e 030948 branch sa_isnot_wholerange 
+:      030949 sa_judge_wholerange_false1:
+0x6e6f 030950 increase -3 ,contr 
+0x6e70 030951 branch sa_isnot_wholerange 
+:      030952 sa_req_loop:
+0x6e71 030953 ifetch 1 ,contr 
+0x6e72 030954 beq sdp_attribute_id ,sa_req_one_id 
+0x6e73 030955 beq sdp_attribute_range ,sa_req_range 
+:      030956 sa_req_range:
+0x6e74 030957 ifetch 2 ,contr 
+0x6e75 030958 istore 2 ,contw 
+0x6e76 030959 increase 1 ,queue 
+0x6e77 030960 byteswap pdata ,regb 
+0x6e78 030961 ifetch 2 ,contr 
+0x6e79 030962 byteswap pdata ,pdata 
+:      030963 sa_req_range_id_increase:
+0x6e7a 030964 increase 1 ,regb 
+0x6e7b 030965 isub regb ,null 
+0x6e7c 030966 nbranch sa_req_range_id_finish ,positive 
+0x6e7d 030967 copy pdata ,regc 
+0x6e7e 030968 byteswap regb ,pdata 
+0x6e7f 030969 istore 2 ,contw 
+0x6e80 030970 increase 1 ,queue 
+0x6e81 030971 copy regc ,pdata 
+0x6e82 030972 branch sa_req_range_id_increase 
+:      030973 sa_req_range_id_finish:
+0x6e83 030974 increase -5 ,timeup 
+0x6e84 030975 increase -5 ,rega 
+0x6e85 030976 branch sa_req_check_next_id 
+:      030977 sa_req_one_id:
+0x6e86 030978 ifetch 2 ,contr 
+0x6e87 030979 istore 2 ,contw 
+0x6e88 030980 increase 1 ,queue 
+0x6e89 030981 increase -3 ,timeup 
+0x6e8a 030982 increase -3 ,rega 
+:      030983 sa_req_check_next_id:
+0x6e8b 030984 nbranch sdp_invalid_request_syntax ,positive 
+0x6e8c 030985 nbranch sa_req_loop ,zero 
+0x6e8d 030986 increase -1 ,timeup 
+0x6e8e 030987 nbranch sdp_invalid_request_syntax ,zero 
+0x6e8f 030989 call l2cap_get_sdp_tx_payload 
+0x6e90 030990 increase 10 ,contw 
+0x6e91 030991 arg mem_sdp_attrib_list ,rega 
+:      030992 sa_req_handle_attributelist_next:
+0x6e92 030993 copy queue ,pdata 
+0x6e93 030994 branch sa_req_handle_attributelist_end ,blank 
+0x6e94 030995 ifetch 2 ,rega 
+0x6e95 030996 branch sa_req_handle_attributelist_end ,blank 
+0x6e96 030997 iforce regb 
+0x6e97 030998 fetch 4 ,mem_sdp_record_handle 
+0x6e98 030999 iforce temp 
+0x6e99 031000 call search_handle_attrib 
+0x6e9a 031001 copy contr ,pdata 
+0x6e9b 031002 branch sa_req_handle_attributelist_notfound ,blank 
+0x6e9c 031003 increase -3 ,contr 
+0x6e9d 031004 ifetch 3 ,contr 
+0x6e9e 031005 istore 3 ,contw 
+0x6e9f 031006 call sdp_data_len 
+0x6ea0 031007 iforce loopcnt 
+0x6ea1 031008 call memcpy 
+:      031009 sa_req_handle_attributelist_notfound:
+0x6ea2 031010 increase 2 ,rega 
+0x6ea3 031011 increase -1 ,queue 
+0x6ea4 031012 branch sa_req_handle_attributelist_next 
+:      031014 sa_req_handle_attributelist_end:
+0x6ea5 031015 arg sdp_attribute_res ,rega 
+0x6ea6 031016 call ssa_req_range_lastfreg_common 
+0x6ea7 031017 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6ea8 031018 beq 11 ,sa_empty_rsp 
+0x6ea9 031019 branch ssa_req_range_attrbutes_length_no_continue 
+:      031022 sdp_store_continue_common:
+0x6eaa 031023 ifetch 1 ,contr 
+0x6eab 031024 beq 0 ,sdp_store_continue_0byte 
+0x6eac 031025 beq 1 ,sdp_store_continue_1byte 
+0x6ead 031026 beq 2 ,sdp_store_continue_2byte 
+:      031027 sdp_store_continue_0byte:
+0x6eae 031028 increase -1 ,timeup 
+0x6eaf 031029 branch sdp_store_continue_end 
+:      031030 sdp_store_continue_1byte:
+0x6eb0 031031 ifetch 1 ,contr 
+0x6eb1 031032 increase -2 ,timeup 
+0x6eb2 031033 branch sdp_store_continue_end 
+:      031034 sdp_store_continue_2byte:
+0x6eb3 031035 ifetch 2 ,contr 
+0x6eb4 031036 byteswap pdata ,pdata 
+0x6eb5 031037 increase -3 ,timeup 
+:      031038 sdp_store_continue_end:
+0x6eb6 031039 store 2 ,mem_sdp_continue_byte 
+0x6eb7 031040 rtn 
+:      031042 sa_req_all:
+0x6eb8 031043 increase -5 ,timeup 
+0x6eb9 031044 call sdp_store_continue_common 
+0x6eba 031045 nbranch sdp_invalid_pdu_size ,zero 
+0x6ebb 031046 fetcht 4 ,mem_sdp_record_handle 
+0x6ebc 031047 call search_handle 
+0x6ebd 031048 nbranch sdp_invalid_service_record_handle ,zero 
+0x6ebe 031049 copy contr ,rega 
+0x6ebf 031050 call l2cap_get_sdp_tx_payload 
+0x6ec0 031051 copy rega ,contr 
+0x6ec1 031052 increase 3 ,contw 
+0x6ec2 031053 copy contr ,timeup 
+0x6ec3 031054 call sdp_get_data 
+0x6ec4 031055 copy pdata ,rega 
+0x6ec5 031057 fetch 2 ,mem_sdp_continue_byte 
+0x6ec6 031058 copy pdata ,regb 
+0x6ec7 031059 copy rega ,pdata 
+0x6ec8 031060 isub regb ,regb 
+0x6ec9 031061 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6eca 031062 isub regb ,null 
+0x6ecb 031063 nbranch sa_req_all_fragment_sdp ,positive 
+0x6ecc 031065 disable user 
+0x6ecd 031066 fetch 2 ,mem_sdp_continue_byte 
+0x6ece 031067 branch sa_req_all_fisrt_fragment ,blank 
+0x6ecf 031068 iadd timeup ,contr 
+0x6ed0 031069 increase 3 ,regb 
+0x6ed1 031070 copy regb ,loopcnt 
+0x6ed2 031071 copy loopcnt ,pdata 
+0x6ed3 031072 increase 3 ,pdata 
+0x6ed4 031073 byteswap pdata ,pdata 
+0x6ed5 031074 istore 2 ,contw 
+0x6ed6 031075 copy loopcnt ,pdata 
+0x6ed7 031076 byteswap pdata ,pdata 
+0x6ed8 031077 istore 2 ,contw 
+0x6ed9 031078 branch sa_req_all_answer_attributelist_full_loop 
+:      031079 sa_req_all_fisrt_fragment:
+0x6eda 031080 add rega ,6 ,loopcnt 
+0x6edb 031081 branch sa_req_all_parlength_continue_byte ,user 
+0x6edc 031082 byteswap loopcnt ,pdata 
+0x6edd 031083 branch sa_req_all_parlength_continue_byte_end 
+:      031084 sa_req_all_parlength_continue_byte:
+0x6ede 031085 copy loopcnt ,pdata 
+0x6edf 031086 increase 2 ,pdata 
+0x6ee0 031087 byteswap pdata ,pdata 
+:      031088 sa_req_all_parlength_continue_byte_end:
+0x6ee1 031089 istore 2 ,contw 
+0x6ee2 031090 increase -3 ,loopcnt 
+0x6ee3 031091 byteswap loopcnt ,pdata 
+0x6ee4 031092 istore 2 ,contw 
+0x6ee5 031093 copy timeup ,contr 
+0x6ee6 031094 branch sa_req_all_answer_attributelist_full_loop 
+:      031095 sa_req_all_fragment_sdp:
+0x6ee7 031096 enable user 
+0x6ee8 031098 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6ee9 031099 copy pdata ,rega 
+0x6eea 031100 copy rega ,loopcnt 
+0x6eeb 031101 fetch 2 ,mem_sdp_continue_byte 
+0x6eec 031102 branch sa_req_all_fisrt_fragment ,blank 
+0x6eed 031103 iadd timeup ,contr 
+0x6eee 031104 copy rega ,pdata 
+0x6eef 031105 increase 5 ,pdata 
+0x6ef0 031106 byteswap pdata ,pdata 
+0x6ef1 031107 istore 2 ,contw 
+0x6ef2 031108 copy rega ,pdata 
+0x6ef3 031109 byteswap pdata ,pdata 
+0x6ef4 031110 istore 2 ,contw 
+:      031111 sa_req_all_answer_attributelist_full_loop:
+0x6ef5 031112 call memcpy 
+0x6ef6 031113 nbranch sa_req_all_last_frag_continue ,user 
+0x6ef7 031114 force 2 ,pdata 
+0x6ef8 031115 istore 1 ,contw 
+0x6ef9 031116 copy contr ,pdata 
+0x6efa 031117 isub timeup ,pdata 
+0x6efb 031118 byteswap pdata ,pdata 
+0x6efc 031119 istore 2 ,contw 
+0x6efd 031120 branch sa_req_all_frag_end 
+:      031121 sa_req_all_last_frag_continue:
+0x6efe 031122 force 0 ,pdata 
+0x6eff 031123 istore 1 ,contw 
+:      031124 sa_req_all_frag_end:
+0x6f00 031125 arg sdp_attribute_res ,rega 
+0x6f01 031126 branch ssa_req_range_common 
+:      031137 sdp_process_ssa_req:
+0x6f02 031138 bpatchx patch3a_1 ,mem_patch3a 
+0x6f03 031139 call ask_serviceclassid 
+0x6f04 031140 compare 0xff ,temp ,0xff 
+0x6f05 031141 branch sdp_invalid_request_syntax ,true 
+0x6f06 031142 call sdp_store_maxbyte 
+0x6f07 031143 store 2 ,mem_sdp_attribute_maxbyte 
+0x6f08 031144 increase -2 ,timeup 
+0x6f09 031145 call dataelementtype6 
+0x6f0a 031146 arg mem_sdp_attrib_list ,contw 
+0x6f0b 031147 force 0 ,queue 
+:      031148 ssa_req_loop:
+0x6f0c 031149 ifetch 1 ,contr 
+0x6f0d 031150 beq sdp_attribute_range ,ssa_req_range 
+0x6f0e 031151 ifetch 2 ,contr 
+0x6f0f 031152 istore 2 ,contw 
+0x6f10 031153 increase 1 ,queue 
+0x6f11 031154 increase -3 ,timeup 
+0x6f12 031155 increase -3 ,rega 
+0x6f13 031156 nbranch sdp_invalid_request_syntax ,positive 
+0x6f14 031157 nbranch ssa_req_loop ,zero 
+0x6f15 031158 increase -1 ,timeup 
+0x6f16 031159 nbranch sdp_invalid_request_syntax ,zero 
+0x6f17 031160 call l2cap_get_sdp_tx_payload 
+0x6f18 031161 increase 13 ,contw 
+0x6f19 031162 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6f1a 031163 iforce regc 
+0x6f1b 031164 arg mem_sdp_attrib_list ,rega 
+:      031165 ssa_req_attributelist_next:
+0x6f1c 031166 ifetch 2 ,rega 
+0x6f1d 031167 branch ssa_req_attributelist_end ,blank 
+0x6f1e 031168 iforce regb 
+0x6f1f 031169 call search_attrib 
+0x6f20 031170 branch ssa_req_attributelist_notfound ,blank 
+0x6f21 031171 increase -3 ,contr 
+0x6f22 031172 ifetch 3 ,contr 
+0x6f23 031173 istore 3 ,contw 
+0x6f24 031174 call sdp_data_len 
+0x6f25 031175 iforce loopcnt 
+0x6f26 031176 call memcpy 
+:      031177 ssa_req_attributelist_notfound:
+0x6f27 031178 increase 2 ,rega 
+0x6f28 031179 branch ssa_req_attributelist_next 
+:      031181 ssa_req_attributelist_end:
+0x6f29 031182 call ssa_req_range_lastfreg 
+0x6f2a 031183 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6f2b 031184 beq 14 ,ssa_empty_rsp 
+0x6f2c 031185 call ssa_req_range_attrbutes_length_no_continue 
+0x6f2d 031186 branch ssa_req_range_attrbutes_length_no_continue 
+:      031189 sdp_store_maxbyte:
+0x6f2e 031190 ifetch 2 ,contr 
+0x6f2f 031191 byteswap pdata ,pdata 
+0x6f30 031192 increase -3 ,pdata 
+0x6f31 031193 arg 200 ,temp 
+0x6f32 031194 isub temp ,null 
+0x6f33 031195 nrtn positive 
+0x6f34 031196 setarg 200 
+0x6f35 031197 rtn 
+:      031200 ssa_req_range:
+0x6f36 031201 increase 4 ,contr 
+0x6f37 031202 increase -5 ,timeup 
+0x6f38 031203 increase -5 ,rega 
+0x6f39 031204 nbranch sdp_invalid_request_syntax ,zero 
+0x6f3a 031205 call sdp_store_continue_common 
+0x6f3b 031206 nbranch sdp_invalid_pdu_size ,zero 
+0x6f3c 031207 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6f3d 031208 call search_all_uuid 
+0x6f3e 031209 deposit queue 
+0x6f3f 031210 branch ssa_empty_rsp ,blank 
+0x6f40 031211 store 1 ,mem_handle_humber 
+0x6f41 031213 copy regb ,pdata 
+0x6f42 031214 store 2 ,mem_sdp_all_length 
+0x6f43 031215 arg 0 ,queue 
+0x6f44 031216 arg 0 ,rega 
+0x6f45 031217 call l2cap_get_sdp_tx_payload 
+0x6f46 031218 increase 10 ,contw 
+:      031219 ssa_req_range_find_handle:
+0x6f47 031220 call ssa_req_range_get_length 
+0x6f48 031221 nbranch assert ,user 
+0x6f49 031222 copy contr ,timeup 
+0x6f4a 031223 copy pdata ,regc 
+0x6f4b 031224 iadd rega ,rega 
+0x6f4c 031227 fetch 2 ,mem_sdp_continue_byte 
+0x6f4d 031228 copy pdata ,regb 
+0x6f4e 031229 branch ssa_req_range_first_freg ,blank 
+:      031230 ssa_req_range_later_freg_with_continue:
+0x6f4f 031231 copy rega ,pdata 
+0x6f50 031232 isub regb ,regb 
+0x6f51 031233 branch ssa_req_range_next_handle ,zero 
+0x6f52 031234 nbranch ssa_req_range_next_handle ,positive 
+0x6f53 031235 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f54 031236 isub regb ,null 
+0x6f55 031237 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6f56 031238 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      031241 ssa_req_range_send_not_maxbyte:
+0x6f57 031242 copy regb ,loopcnt 
+0x6f58 031243 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f59 031244 fetch 1 ,mem_handle_humber 
+0x6f5a 031245 increase 1 ,queue 
+0x6f5b 031246 isub queue ,null 
+0x6f5c 031247 branch ssa_req_range_lastfreg ,zero 
+0x6f5d 031248 branch ssa_req_range_freg_with_continue 
+:      031250 ssa_req_range_maxbyte_with_continue:
+0x6f5e 031251 copy pdata ,loopcnt 
+0x6f5f 031252 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f60 031253 branch ssa_req_range_freg_with_continue 
+:      031255 ssa_req_range_maxbyte_with_continue_cpy:
+0x6f61 031256 increase -3 ,contw 
+0x6f62 031257 copy loopcnt ,temp 
+0x6f63 031258 copy regc ,pdata 
+0x6f64 031259 isub regb ,pdata 
+0x6f65 031260 iadd timeup ,contr 
+0x6f66 031261 branch memcpy 
+:      031263 ssa_req_range_next_handle:
+0x6f67 031264 fetch 1 ,mem_handle_humber 
+0x6f68 031265 increase 1 ,queue 
+0x6f69 031266 isub queue ,null 
+0x6f6a 031267 rtn zero 
+0x6f6b 031268 branch ssa_req_range_find_handle 
+:      031270 ssa_req_range_get_length:
+0x6f6c 031271 call disable_user 
+0x6f6d 031272 arg mem_sdp_handle_list ,contr 
+0x6f6e 031273 lshift2 queue ,pdata 
+0x6f6f 031274 iadd contr ,contr 
+0x6f70 031275 ifetcht 4 ,contr 
+0x6f71 031276 call search_handle 
+0x6f72 031277 nrtn zero 
+0x6f73 031278 call sdp_data_len 
+0x6f74 031279 branch enable_user 
+:      031281 ssa_req_range_first_freg:
+0x6f75 031282 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f76 031283 isub rega ,null 
+0x6f77 031284 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6f78 031285 copy rega ,loopcnt 
+0x6f79 031286 copy loopcnt ,temp 
+0x6f7a 031287 copy timeup ,contr 
+0x6f7b 031288 call memcpy 
+0x6f7c 031289 fetch 2 ,mem_sdp_all_length 
+0x6f7d 031290 isub rega ,null 
+0x6f7e 031291 branch ssa_req_range_freg_no_continue ,zero 
+:      031292 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6f7f 031293 call ssa_req_range_freg_with_continue 
+0x6f80 031294 branch ssa_req_range_attrbutes_length 
+:      031296 ssa_req_range_freg_no_continue:
+0x6f81 031297 call ssa_req_range_lastfreg 
+0x6f82 031298 branch ssa_req_range_attrbutes_length 
+:      031300 ssa_req_range_lastfreg:
+0x6f83 031301 arg sdp_searchattrib_res ,rega 
+:      031302 ssa_req_range_lastfreg_common:
+0x6f84 031303 force 0 ,pdata 
+0x6f85 031304 istore 1 ,contw 
+0x6f86 031305 call ssa_req_range_common 
+0x6f87 031306 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6f88 031307 increase -5 ,temp 
+0x6f89 031308 byteswap temp ,pdata 
+0x6f8a 031309 istore 2 ,contw 
+0x6f8b 031310 increase -3 ,temp 
+0x6f8c 031311 byteswap temp ,pdata 
+0x6f8d 031312 istore 2 ,contw 
+0x6f8e 031313 rtn 
+:      031315 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6f8f 031316 copy pdata ,loopcnt 
+0x6f90 031317 copy loopcnt ,temp 
+0x6f91 031318 copy timeup ,contr 
+0x6f92 031319 call memcpy 
+0x6f93 031320 call ssa_req_range_freg_with_continue 
+:      031321 ssa_req_range_attrbutes_length:
+0x6f94 031322 setarg 0x36 
+0x6f95 031323 istore 1 ,contw 
+0x6f96 031324 fetch 2 ,mem_sdp_all_length 
+0x6f97 031325 byteswap pdata ,pdata 
+0x6f98 031326 istore 2 ,contw 
+0x6f99 031327 rtn 
+:      031329 ssa_req_range_attrbutes_length_no_continue:
+0x6f9a 031330 setarg 0x36 
+0x6f9b 031331 istore 1 ,contw 
+0x6f9c 031332 increase -3 ,temp 
+0x6f9d 031333 byteswap temp ,pdata 
+0x6f9e 031334 istore 2 ,contw 
+0x6f9f 031335 rtn 
+:      031337 ssa_req_range_freg_with_continue:
+0x6fa0 031338 arg sdp_searchattrib_res ,rega 
+0x6fa1 031339 setarg 2 
+0x6fa2 031340 istore 1 ,contw 
+0x6fa3 031341 fetch 2 ,mem_sdp_continue_byte 
+0x6fa4 031342 iadd temp ,temp 
+0x6fa5 031343 byteswap temp ,pdata 
+0x6fa6 031344 istore 2 ,contw 
+0x6fa7 031345 call ssa_req_range_common 
+0x6fa8 031346 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6fa9 031347 increase -5 ,temp 
+0x6faa 031348 byteswap temp ,pdata 
+0x6fab 031349 istore 2 ,contw 
+0x6fac 031350 increase -5 ,temp 
+0x6fad 031351 byteswap temp ,pdata 
+0x6fae 031352 istore 2 ,contw 
+0x6faf 031353 rtn 
+:      031355 ssa_req_range_common:
+0x6fb0 031356 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6fb1 031357 isub contw ,pdata 
+0x6fb2 031358 sub pdata ,0 ,pdata 
+0x6fb3 031359 store 2 ,mem_sdp_tx_pkt_length 
+0x6fb4 031360 call l2cap_get_sdp_tx_payload 
+0x6fb5 031361 copy rega ,pdata 
+0x6fb6 031362 istore 1 ,contw 
+0x6fb7 031363 fetch 2 ,mem_sdp_transactionid 
+0x6fb8 031364 istore 2 ,contw 
+0x6fb9 031365 rtn 
+:      031378 sdp_process_ssa_res:
+:      031379 sdp_process_ss_res:
+:      031380 sdp_process_sa_res:
+:      031381 sdp_process_error_res:
+0x6fba 031382 rtn 
+:      031415 sdp_invalid_service_record_handle:
+0x6fbb 031416 setarg 0x0200 
+0x6fbc 031417 store 2 ,mem_sdp_error_code 
+0x6fbd 031418 branch sdp_error_response 
+:      031419 sdp_invalid_pdu_size:
+0x6fbe 031420 setarg 0x0400 
+0x6fbf 031421 store 2 ,mem_sdp_error_code 
+0x6fc0 031422 branch sdp_error_response 
+:      031423 sdp_insufficient_resource:
+0x6fc1 031424 setarg 0x0600 
+0x6fc2 031425 store 2 ,mem_sdp_error_code 
+0x6fc3 031426 branch sdp_error_response 
+:      031427 sdp_invalid_request_syntax:
+0x6fc4 031428 setarg 0x0300 
+0x6fc5 031429 store 2 ,mem_sdp_error_code 
+:      031430 sdp_error_response:
+0x6fc6 031431 call l2cap_get_sdp_tx_payload 
+0x6fc7 031432 istore 1 ,contw 
+0x6fc8 031433 fetch 2 ,mem_sdp_transactionid 
+0x6fc9 031434 istore 2 ,contw 
+0x6fca 031435 setarg 0x0200 
+0x6fcb 031436 istore 2 ,contw 
+0x6fcc 031437 fetch 2 ,mem_sdp_error_code 
+0x6fcd 031438 istore 2 ,contw 
+0x6fce 031439 jam 7 ,mem_sdp_tx_pkt_length 
+0x6fcf 031440 rtn 
+:      031445 ask_serviceclassid:
+0x6fd0 031446 arg 0 ,regb 
+0x6fd1 031447 force 0 ,temp 
+0x6fd2 031448 arg mem_sdp_uuid_search_ptr ,contw 
+0x6fd3 031449 call dataelementtype6 
+0x6fd4 031450 branch asksrv_error ,zero 
+:      031451 classidloop:
+0x6fd5 031452 increase 1 ,regb 
+0x6fd6 031453 ifetch 1 ,contr 
+0x6fd7 031454 increase -1 ,rega 
+0x6fd8 031455 increase -1 ,timeup 
+0x6fd9 031456 compare 0x18 ,pdata ,0xf8 
+0x6fda 031457 nbranch asksrv_error ,true 
+0x6fdb 031458 compare 0x04 ,pdata ,0x07 
+0x6fdc 031459 nbranch cmp032 ,true 
+0x6fdd 031460 force 1 ,temp 
+:      031461 skip2bytes:
+0x6fde 031462 ifetch 1 ,contr 
+0x6fdf 031463 increase -1 ,rega 
+0x6fe0 031464 increase -1 ,timeup 
+0x6fe1 031465 bne 0x00 ,frstbwrong 
+0x6fe2 031466 ifetch 1 ,contr 
+0x6fe3 031467 increase -1 ,rega 
+0x6fe4 031468 increase -1 ,timeup 
+0x6fe5 031469 beq 0x00 ,cmpuuid 
+0x6fe6 031470 branch scndbwrong 
+:      031471 frstbwrong:
+0x6fe7 031472 increase 1 ,contr 
+0x6fe8 031473 increase -1 ,rega 
+0x6fe9 031474 increase -1 ,timeup 
+:      031475 scndbwrong:
+0x6fea 031476 increase 2 ,contr 
+0x6feb 031477 increase -2 ,rega 
+0x6fec 031478 increase -2 ,timeup 
+0x6fed 031479 compare 0x00 ,temp ,0xff 
+0x6fee 031480 branch loopornot ,true 
+0x6fef 031481 increase 12 ,contr 
+0x6ff0 031482 increase -12 ,rega 
+0x6ff1 031483 increase -12 ,timeup 
+0x6ff2 031484 branch loopornot 
+:      031485 cmp032:
+0x6ff3 031486 compare 0x02 ,pdata ,0x07 
+0x6ff4 031487 nbranch cmp016 ,true 
+0x6ff5 031488 branch skip2bytes 
+:      031489 cmp016:
+0x6ff6 031490 compare 0x01 ,pdata ,0x07 
+0x6ff7 031491 nbranch asksrv_error ,true 
+:      031492 cmpuuid:
+0x6ff8 031493 increase -2 ,rega 
+0x6ff9 031494 increase -2 ,timeup 
+0x6ffa 031495 ifetch 2 ,contr 
+0x6ffb 031496 sub regb ,4 ,null 
+0x6ffc 031497 branch uuidsize ,zero 
+0x6ffd 031498 istore 2 ,contw 
+:      031499 uuidsize:
+0x6ffe 031500 compare 0x00 ,temp ,0xff 
+0x6fff 031501 branch loopornot ,true 
+0x7000 031502 copy contr ,temp 
+0x7001 031503 ifetch 1 ,contr 
+0x7002 031504 bne 0x00 ,wrong12b 
+0x7003 031505 ifetch 1 ,contr 
+0x7004 031506 bne 0x00 ,wrong12b 
+0x7005 031507 ifetch 1 ,contr 
+0x7006 031508 bne 0x10 ,wrong12b 
+0x7007 031509 ifetch 1 ,contr 
+0x7008 031510 bne 0x00 ,wrong12b 
+0x7009 031511 ifetch 1 ,contr 
+0x700a 031512 bne 0x80 ,wrong12b 
+0x700b 031513 ifetch 1 ,contr 
+0x700c 031514 bne 0x00 ,wrong12b 
+0x700d 031515 ifetch 1 ,contr 
+0x700e 031516 bne 0x00 ,wrong12b 
+0x700f 031517 ifetch 1 ,contr 
+0x7010 031518 bne 0x80 ,wrong12b 
+0x7011 031519 ifetch 1 ,contr 
+0x7012 031520 bne 0x5f ,wrong12b 
+0x7013 031521 ifetch 1 ,contr 
+0x7014 031522 bne 0x9b ,wrong12b 
+0x7015 031523 ifetch 1 ,contr 
+0x7016 031524 bne 0x34 ,wrong12b 
+0x7017 031525 ifetch 1 ,contr 
+0x7018 031526 beq 0xfb ,chck12dn 
+:      031527 wrong12b:
+0x7019 031528 copy temp ,contr 
+:      031529 wrong12b1:
+0x701a 031530 increase 12 ,contr 
+0x701b 031531 force 0x00 ,queue 
+0x701c 031532 force 0x00 ,temp 
+0x701d 031533 branch chck12dn 
+:      031535 chck12dn:
+0x701e 031536 increase -12 ,timeup 
+0x701f 031537 increase -12 ,rega 
+:      031538 loopornot:
+0x7020 031539 force 0x00 ,temp 
+0x7021 031540 compare 0x00 ,rega ,0xff 
+0x7022 031541 nbranch classidloop ,true 
+0x7023 031542 force 0 ,pdata 
+0x7024 031543 istore 2 ,contw 
+0x7025 031544 rtn 
+:      031545 asksrv_error:
+0x7026 031546 arg 0xff ,temp 
+0x7027 031547 rtn 
+:      031557 dataelementtype6:
+0x7028 031558 bpatchx patch3a_4 ,mem_patch3a 
+0x7029 031559 ifetch 1 ,contr 
+0x702a 031560 increase -1 ,timeup 
+0x702b 031561 compare 0x30 ,pdata ,0xf8 
+0x702c 031562 nbranch dsize_error ,true 
+0x702d 031563 compare 0x07 ,pdata ,0x07 
+0x702e 031564 branch dsize32 ,true 
+0x702f 031565 compare 0x06 ,pdata ,0x07 
+0x7030 031566 branch dsize16 ,true 
+0x7031 031567 compare 0x05 ,pdata ,0x07 
+0x7032 031568 nbranch dsize_error ,true 
+0x7033 031570 ifetch 1 ,contr 
+0x7034 031571 copy pdata ,rega 
+0x7035 031572 increase -1 ,timeup 
+0x7036 031573 branch dsize 
+:      031574 dsize32:
+0x7037 031575 increase 2 ,contr 
+0x7038 031576 increase -2 ,timeup 
+:      031577 dsize16:
+0x7039 031578 ifetch 2 ,contr 
+0x703a 031579 byteswap pdata ,rega 
+0x703b 031580 increase -2 ,timeup 
+:      031581 dsize:
+0x703c 031582 force 0x01 ,pdata 
+0x703d 031583 rtn 
+:      031584 dsize_error:
+0x703e 031585 force 0x00 ,pdata 
+0x703f 031586 rtn 
+:      031596 ss_empty_rsp:
+0x7040 031597 setarg sdp_search_res 
+0x7041 031598 store 1 ,mem_sdp_pduid 
+0x7042 031599 branch empty_response 
+:      031600 sa_empty_rsp:
+0x7043 031601 setarg sdp_attribute_res 
+0x7044 031602 store 1 ,mem_sdp_pduid 
+0x7045 031603 branch empty_response 
+:      031604 ssa_empty_rsp:
+0x7046 031605 setarg sdp_searchattrib_res 
+0x7047 031606 store 1 ,mem_sdp_pduid 
+:      031607 empty_response:
+0x7048 031608 call l2cap_get_sdp_tx_payload 
+0x7049 031611 fetch 1 ,mem_sdp_pduid 
+0x704a 031612 copy pdata ,regb 
+0x704b 031613 istore 1 ,contw 
+0x704c 031614 fetch 2 ,mem_sdp_transactionid 
+0x704d 031615 istore 2 ,contw 
+0x704e 031616 setarg 0x0500 
+0x704f 031617 istore 2 ,contw 
+0x7050 031618 compare sdp_attribute_res ,regb ,0xff 
+0x7051 031619 branch fullsearch ,true 
+0x7052 031620 compare sdp_searchattrib_res ,regb ,0xff 
+0x7053 031621 branch fullsearch ,true 
+0x7054 031622 setarg 0x000000 
+0x7055 031623 istore 5 ,contw 
+0x7056 031624 branch outempty 
+:      031626 fullsearch:
+0x7057 031627 setarg 0x350200 
+0x7058 031628 istore 5 ,contw 
+:      031629 outempty:
+0x7059 031630 jam 10 ,mem_sdp_tx_pkt_length 
+0x705a 031631 rtn 
+:      031634 sdp_data_len:
+0x705b 031635 call store_contw 
+0x705c 031636 call store_contr 
+0x705d 031637 call sdp_get_data 
+0x705e 031638 call get_contw 
+0x705f 031639 call get_contr 
+0x7060 031640 copy temp ,pdata 
+0x7061 031641 rtn 
+:      031644 sdp_get_data:
+0x7062 031645 ifetch 1 ,contr 
+0x7063 031646 and pdata ,0x7 ,loopcnt 
+0x7064 031647 rshift3 pdata ,pdata 
+0x7065 031648 bne 0 ,sdp_get_data_type_not0 
+:      031649 sdp_get_data_type0:
+0x7066 031650 force 1 ,pdata 
+0x7067 031651 force 1 ,temp 
+0x7068 031652 rtn 
+:      031654 sdp_get_data_type_not0_sizeindex01234:
+0x7069 031655 call left_shift_n 
+0x706a 031656 add pdata ,1 ,temp 
+0x706b 031657 rtn 
+:      031658 sdp_get_data_type_not0:
+0x706c 031659 deposit loopcnt 
+0x706d 031660 sub pdata ,4 ,null 
+0x706e 031661 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x706f 031662 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x7070 031663 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x7071 031664 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x7072 031665 rtn 
+:      031667 sdp_get_data_type_not0_sizeindex5:
+0x7073 031668 ifetch 1 ,contr 
+0x7074 031669 add pdata ,2 ,temp 
+0x7075 031670 rtn 
+:      031671 sdp_get_data_type_not0_sizeindex6:
+0x7076 031672 ifetch 2 ,contr 
+0x7077 031673 byteswap pdata ,pdata 
+0x7078 031674 add pdata ,3 ,temp 
+0x7079 031675 rtn 
+:      031676 sdp_get_data_type_not0_sizeindex7:
+0x707a 031677 ifetch 2 ,contr 
+0x707b 031678 byteswap pdata ,pdata 
+0x707c 031679 ifetcht 2 ,contr 
+0x707d 031680 byteswap temp ,temp 
+0x707e 031681 lshift16 temp ,temp 
+0x707f 031682 iadd temp ,pdata 
+0x7080 031683 add pdata ,5 ,temp 
+0x7081 031684 rtn 
+:      031690 search_all_uuid:
+0x7082 031691 bpatchx patch3a_5 ,mem_patch3a 
+0x7083 031692 force 0 ,queue 
+0x7084 031693 arg 0 ,regb 
+0x7085 031694 arg mem_sdp_handle_list ,contw 
+:      031695 search_all_uuid_llop:
+0x7086 031696 ifetch 2 ,timeup 
+0x7087 031697 rtn blank 
+0x7088 031698 call search_uuid 
+0x7089 031699 copy queue ,pdata 
+0x708a 031700 rtneq sdp_max_handle_number 
+0x708b 031701 increase 2 ,timeup 
+0x708c 031702 branch search_all_uuid_llop 
+:      031704 search_uuid:
+0x708d 031706 iforce regc 
+0x708e 031708 fetch 2 ,mem_ui_uuid_table 
+0x708f 031709 iforce contr 
+:      031710 search_uuid_next:
+0x7090 031711 copy queue ,pdata 
+0x7091 031712 rtneq sdp_max_handle_number 
+0x7092 031713 disable user 
+0x7093 031714 ifetch 1 ,contr 
+0x7094 031715 rtn blank 
+0x7095 031716 iforce loopcnt 
+:      031717 search_uuid_loop:
+0x7096 031718 ifetch 2 ,contr 
+0x7097 031719 isub regc ,null 
+0x7098 031720 nbranch search_uuid_not_found ,zero 
+0x7099 031721 enable user 
+:      031722 search_uuid_not_found:
+0x709a 031723 loop search_uuid_loop 
+0x709b 031724 ifetcht 4 ,contr 
+0x709c 031725 copy contr ,rega 
+0x709d 031726 nbranch search_uuid_nomatch ,user 
+0x709e 031727 arg mem_sdp_handle_list ,contr 
+0x709f 031728 arg sdp_max_handle_number ,loopcnt 
+:      031729 search_uuid_check_same_handle:
+0x70a0 031730 ifetch 4 ,contr 
+0x70a1 031731 branch search_uuid_store_handle ,blank 
+0x70a2 031732 isub temp ,null 
+0x70a3 031733 branch search_uuid_nomatch ,zero 
+0x70a4 031734 loop search_uuid_check_same_handle 
+0x70a5 031735 rtn 
+:      031736 search_uuid_store_handle:
+0x70a6 031737 istoret 4 ,contw 
+0x70a7 031738 increase 1 ,queue 
+0x70a8 031739 copy rega ,contr 
+0x70a9 031740 call sdp_data_len 
+0x70aa 031741 iadd regb ,regb 
+0x70ab 031742 iadd contr ,contr 
+0x70ac 031743 branch search_uuid_next 
+:      031744 search_uuid_nomatch:
+0x70ad 031745 copy rega ,contr 
+0x70ae 031746 call sdp_get_data 
+0x70af 031747 iadd contr ,contr 
+0x70b0 031748 branch search_uuid_next 
+:      031754 search_handle:
+0x70b1 031755 bpatchx patch3a_6 ,mem_patch3a 
+0x70b2 031756 fetch 2 ,mem_ui_uuid_table 
+0x70b3 031757 iforce contr 
+:      031758 search_handle_loop:
+0x70b4 031759 ifetch 1 ,contr 
+0x70b5 031760 branch disable_zero ,blank 
+0x70b6 031761 lshift pdata ,pdata 
+0x70b7 031762 iadd contr ,contr 
+0x70b8 031763 ifetch 4 ,contr 
+0x70b9 031764 isub temp ,null 
+0x70ba 031765 rtn zero 
+0x70bb 031766 deposit contw 
+0x70bc 031767 store 2 ,mem_contw 
+0x70bd 031768 storet 8 ,mem_temp 
+0x70be 031769 call sdp_get_data 
+0x70bf 031770 iadd contr ,contr 
+0x70c0 031771 copy contr ,pdata 
+0x70c1 031772 fetcht 2 ,mem_contw 
+0x70c2 031773 copy temp ,contw 
+0x70c3 031774 fetcht 8 ,mem_temp 
+0x70c4 031775 copy pdata ,contr 
+0x70c5 031776 branch search_handle_loop 
+:      031782 search_attrib:
+0x70c6 031783 bpatchx patch3a_7 ,mem_patch3a 
+0x70c7 031784 fetch 2 ,mem_ui_uuid_table 
+0x70c8 031785 iforce contr 
+:      031786 search_attrib_next:
+0x70c9 031787 ifetch 1 ,contr 
+0x70ca 031788 branch search_attrib_end ,blank 
+0x70cb 031789 iforce loopcnt 
+:      031790 search_attrib_loop:
+0x70cc 031791 ifetch 2 ,contr 
+0x70cd 031792 isub regc ,null 
+0x70ce 031793 branch search_attrib_found_uuid ,zero 
+0x70cf 031794 loop search_attrib_loop 
+0x70d0 031795 increase 4 ,contr 
+0x70d1 031796 call sdp_get_data 
+0x70d2 031797 iadd contr ,contr 
+0x70d3 031798 branch search_attrib_next 
+:      031799 search_attrib_found_uuid:
+0x70d4 031800 increase -1 ,loopcnt 
+0x70d5 031801 lshift loopcnt ,pdata 
+0x70d6 031802 iadd contr ,contr 
+0x70d7 031803 increase 4 ,contr 
+0x70d8 031804 call sdp_get_data 
+0x70d9 031805 iadd contr ,timeup 
+:      031806 search_attrib_loop_attribs:
+0x70da 031807 increase 1 ,contr 
+0x70db 031808 ifetch 2 ,contr 
+0x70dc 031809 isub regb ,null 
+0x70dd 031813 branch disable_blank ,zero 
+0x70de 031814 call sdp_data_len 
+0x70df 031815 iadd contr ,contr 
+0x70e0 031816 deposit timeup 
+0x70e1 031817 isub contr ,null 
+0x70e2 031818 branch search_attrib_end ,zero 
+0x70e3 031819 branch search_attrib_loop_attribs 
+:      031820 search_attrib_end:
+0x70e4 031821 force 0 ,contr 
+0x70e5 031822 force 0 ,pdata 
+0x70e6 031823 rtn 
+:      031829 search_handle_attrib:
+0x70e7 031830 bpatchx patch3b_0 ,mem_patch3b 
+0x70e8 031831 fetch 2 ,mem_ui_uuid_table 
+0x70e9 031832 iforce contr 
+:      031833 search_handle_attrib_next:
+0x70ea 031834 ifetch 1 ,contr 
+0x70eb 031835 branch search_handle_attrib_end ,blank 
+0x70ec 031836 lshift pdata ,pdata 
+0x70ed 031837 iadd contr ,contr 
+0x70ee 031838 ifetch 4 ,contr 
+0x70ef 031839 isub temp ,null 
+0x70f0 031840 branch search_handl_attrib_found_handle ,zero 
+0x70f1 031841 call sdp_get_data 
+0x70f2 031842 iadd contr ,contr 
+0x70f3 031843 branch search_handle_attrib_next 
+:      031844 search_handl_attrib_found_handle:
+0x70f4 031845 call sdp_get_data 
+0x70f5 031846 iadd contr ,timeup 
+:      031847 search_handle_attrib_loop_attribs:
+0x70f6 031848 increase 1 ,contr 
+0x70f7 031849 ifetch 2 ,contr 
+0x70f8 031850 isub regb ,null 
+0x70f9 031851 rtn zero 
+0x70fa 031852 call sdp_data_len 
+0x70fb 031853 iadd contr ,contr 
+0x70fc 031854 deposit timeup 
+0x70fd 031855 isub contr ,null 
+0x70fe 031856 branch search_handle_attrib_end ,zero 
+0x70ff 031857 branch search_handle_attrib_loop_attribs 
+:      031858 search_handle_attrib_end:
+0x7100 031859 force 0 ,contr 
+0x7101 031860 rtn 
+:      031864 search_rfcomm_cn:
+0x7102 031865 arg 0x0400 ,regb 
+0x7103 031866 call search_handl_attrib_found_handle 
+0x7104 031867 arg 0x0300 ,regb 
+0x7105 031868 call search_uuid_in_data 
+0x7106 031869 nrtn user 
+0x7107 031870 sub rega ,3 ,null 
+0x7108 031871 branch disable_user ,positive 
+0x7109 031872 ifetch 1 ,contr 
+0x710a 031873 bne 0x08 ,disable_user 
+0x710b 031874 ifetch 1 ,contr 
+0x710c 031875 rtn 
+:      031880 search_uuid_in_data:
+0x710d 031881 bpatchx patch3b_1 ,mem_patch3b 
+0x710e 031882 call sdp_get_data 
+0x710f 031883 copy pdata ,rega 
+:      031884 search_uuid_in_data_loop:
+0x7110 031885 ifetch 1 ,contr 
+0x7111 031886 and pdata ,0x7 ,loopcnt 
+0x7112 031887 rshift3 pdata ,pdata 
+0x7113 031888 sub pdata ,3 ,null 
+0x7114 031889 branch search_uuid_in_data_found_uuid ,zero 
+0x7115 031890 copy loopcnt ,pdata 
+0x7116 031891 beq 5 ,search_uuid_in_data_found_element_index5 
+0x7117 031892 beq 6 ,search_uuid_in_data_found_element_index6 
+0x7118 031893 beq 7 ,search_uuid_in_data_found_element_index7 
+0x7119 031894 increase -1 ,contr 
+0x711a 031895 call sdp_get_data 
+0x711b 031896 iadd contr ,contr 
+0x711c 031897 copy rega ,pdata 
+0x711d 031898 isub temp ,rega 
+0x711e 031899 branch disable_user ,zero 
+0x711f 031900 branch search_uuid_in_data_loop 
+:      031902 search_uuid_in_data_found_element_index5:
+0x7120 031903 increase -2 ,rega 
+0x7121 031904 increase 1 ,contr 
+0x7122 031905 branch search_uuid_in_data_loop 
+:      031906 search_uuid_in_data_found_element_index6:
+0x7123 031907 increase -3 ,rega 
+0x7124 031908 increase 2 ,contr 
+0x7125 031909 branch search_uuid_in_data_loop 
+:      031910 search_uuid_in_data_found_element_index7:
+0x7126 031911 increase -5 ,rega 
+0x7127 031912 increase 4 ,contr 
+0x7128 031913 branch search_uuid_in_data_loop 
+:      031915 search_uuid_in_data_found_uuid:
+0x7129 031916 increase -1 ,rega 
+0x712a 031917 copy loopcnt ,pdata 
+0x712b 031918 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x712c 031919 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x712d 031920 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x712e 031921 branch disable_user 
+:      031922 search_uuid_in_data_type_uuid_128:
+0x712f 031923 increase -12 ,rega 
+:      031924 search_uuid_in_data_type_uuid_32:
+0x7130 031925 ifetch 2 ,contr 
+0x7131 031926 increase -2 ,rega 
+:      031927 search_uuid_in_data_type_uuid_16:
+0x7132 031928 ifetch 2 ,contr 
+0x7133 031929 isub regb ,null 
+0x7134 031930 branch enable_user ,zero 
+0x7135 031931 increase -2 ,rega 
+0x7136 031932 branch disable_user ,zero 
+0x7137 031933 branch search_uuid_in_data_loop 
+:      031992 sdp_send_spp_request:
+0x7138 031993 call l2cap_get_sdp_tx_payload 
+0x7139 031994 copy pdata ,contw 
+0x713a 031995 setarg 6 
+0x713b 031996 istore 1 ,contw 
+0x713c 031997 setarg sdp_tid_spp 
+0x713d 031998 istore 2 ,contw 
+0x713e 031999 setarg 0x0f00 
+0x713f 032000 istore 2 ,contw 
+0x7140 032001 setarg 0x1a0535 
+0x7141 032002 istore 3 ,contw 
+0x7142 032003 setarg 0x0111 
+0x7143 032004 lshift16 pdata ,pdata 
+0x7144 032005 istore 4 ,contw 
+0x7145 032006 setarg 0x2600 
+0x7146 032007 istore 2 ,contw 
+0x7147 032008 setarg 0x0335 
+0x7148 032009 istore 2 ,contw 
+0x7149 032010 setarg 0x0009 
+0x714a 032011 istore 2 ,contw 
+0x714b 032012 setarg 0x0004 
+0x714c 032013 istore 2 ,contw 
+0x714d 032014 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x714e 032015 rtn 
+:      032019 function_g2:
+0x714f 032020 bpatchx patch3b_2 ,mem_patch3b 
+0x7150 032021 jam 80 ,mem_aes_cmac_data_length 
+0x7151 032022 arg memdat ,contw 
+0x7152 032023 arg mem_le_srand ,contr 
+0x7153 032024 call memcpy16 
+0x7154 032025 arg mem_le_pubkey_local_x_256 ,contr 
+0x7155 032026 call memcpy32 
+0x7156 032027 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7157 032028 call memcpy32 
+0x7158 032029 call inverse_memdat 
+0x7159 032030 arg mem_le_mrand ,contr 
+0x715a 032031 call store_inverse_k 
+0x715b 032032 call function_aes_cmac 
+0x715c 032034 arg mem_aes_cmac_temp ,contw 
+0x715d 032035 call load_inverse_result 
+0x715e 032036 setarg 1000000 
+0x715f 032037 copy pdata ,rega 
+0x7160 032038 fetch 4 ,mem_aes_cmac_temp 
+0x7161 032039 idiv rega 
+0x7162 032040 call wait_div_end 
+0x7163 032041 remainder pdata 
+0x7164 032042 store 4 ,mem_gkey 
+0x7165 032044 rtn 
+:      032046 function_f6_eb:
+0x7166 032047 jam 65 ,mem_aes_cmac_data_length 
+0x7167 032048 arg memdat ,contw 
+0x7168 032049 call store_addr_common_a 
+0x7169 032050 call store_addr_common_b 
+0x716a 032051 fetch 3 ,mem_le_pres + 1 
+0x716b 032052 istore 3 ,contw 
+0x716c 032055 call get_r 
+0x716d 032057 arg mem_le_mrand ,contr 
+0x716e 032058 call memcpy16 
+0x716f 032059 arg mem_le_srand ,contr 
+0x7170 032060 call memcpy16 
+0x7171 032061 call inverse_memdat 
+0x7172 032062 arg mem_le_mackey ,contr 
+0x7173 032063 arg mem_aes_cmac_k ,contw 
+0x7174 032064 call memcpy16 
+0x7175 032066 branch function_aes_cmac 
+:      032070 get_r:
+0x7176 032071 fetch 4 ,mem_le_tk 
+0x7177 032072 istore 4 ,contw 
+0x7178 032073 call memset0_4 
+0x7179 032074 branch memset0_8 
+:      032076 function_f6_ea:
+0x717a 032077 bpatchx patch3b_3 ,mem_patch3b 
+0x717b 032078 jam 65 ,mem_aes_cmac_data_length 
+0x717c 032079 arg memdat ,contw 
+0x717d 032080 call store_addr_common_b 
+0x717e 032081 call store_addr_common_a 
+0x717f 032082 fetch 3 ,mem_le_preq + 1 
+0x7180 032083 istore 3 ,contw 
+0x7181 032086 call get_r 
+0x7182 032087 arg mem_le_srand ,contr 
+0x7183 032088 call memcpy16 
+0x7184 032089 arg mem_le_mrand ,contr 
+0x7185 032090 call memcpy16 
+0x7186 032091 call inverse_memdat 
+0x7187 032092 arg mem_le_mackey ,contr 
+0x7188 032093 arg mem_aes_cmac_k ,contw 
+0x7189 032094 call memcpy16 
+0x718a 032096 call function_aes_cmac 
+0x718b 032097 arg mem_aes_cmac_temp ,contw 
+0x718c 032098 branch load_inverse_result 
+:      032100 function_f5:
+0x718d 032101 jam 32 ,mem_aes_cmac_data_length 
+0x718e 032102 arg mem_le_dhkey_256 ,contr 
+0x718f 032103 arg memdat ,contw 
+0x7190 032104 call memcpy32 
+0x7191 032105 call inverse_memdat 
+0x7192 032106 arg mem_le_slat ,contr 
+0x7193 032107 call store_inverse_k 
+0x7194 032108 call function_aes_cmac 
+0x7195 032109 arg mem_aes_cmac_k ,contw 
+0x7196 032110 call store_aes_result 
+0x7197 032111 arg 1 ,temp 
+0x7198 032112 call function_f5_common 
+0x7199 032113 arg mem_le_ltk ,contw 
+0x719a 032114 call load_inverse_result 
+0x719b 032115 arg 0 ,temp 
+0x719c 032116 call function_f5_common 
+0x719d 032117 arg mem_le_mackey ,contw 
+0x719e 032119 branch store_aes_result 
+:      032122 function_f5_common:
+0x719f 032123 bpatchx patch3b_4 ,mem_patch3b 
+0x71a0 032124 jam 53 ,mem_aes_cmac_data_length 
+0x71a1 032125 setarg 0x100 
+0x71a2 032126 store 2 ,memdat 
+0x71a3 032127 call store_addr_common_b 
+0x71a4 032128 call store_addr_common_a 
+0x71a5 032129 arg mem_le_srand ,contr 
+0x71a6 032130 call memcpy16 
+0x71a7 032131 arg mem_le_mrand ,contr 
+0x71a8 032132 call memcpy16 
+0x71a9 032134 setarg 0x6c65 
+0x71aa 032135 istore 2 ,contw 
+0x71ab 032136 setarg 0x6274 
+0x71ac 032137 istore 2 ,contw 
+0x71ad 032138 istoret 1 ,contw 
+0x71ae 032139 call inverse_memdat 
+0x71af 032140 branch function_aes_cmac 
+:      032142 store_addr_common_b:
+0x71b0 032143 fetch 6 ,mem_le_lap 
+0x71b1 032144 istore 6 ,contw 
+0x71b2 032145 fetch 1 ,mem_le_conn_own_addr_type 
+0x71b3 032146 istore 1 ,contw 
+0x71b4 032147 rtn 
+:      032149 store_addr_common_a:
+0x71b5 032150 fetch 6 ,mem_le_plap 
+0x71b6 032151 istore 6 ,contw 
+0x71b7 032156 fetch 1 ,mem_le_conn_peer_addr_type 
+0x71b8 032157 istore 1 ,contw 
+0x71b9 032158 rtn 
+:      032160 function_f4_ca:
+0x71ba 032161 jam 65 ,mem_aes_cmac_data_length 
+0x71bb 032162 fetch 1 ,mem_passkey_1bit 
+0x71bc 032163 store 1 ,memdat 
+0x71bd 032164 arg mem_le_pubkey_local_x_256 ,contr 
+0x71be 032165 call memcpy32 
+0x71bf 032166 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c0 032167 call memcpy32 
+0x71c1 032168 call inverse_memdat 
+0x71c2 032169 arg mem_le_mrand ,contr 
+0x71c3 032170 call store_inverse_k 
+0x71c4 032171 branch function_aes_cmac 
+:      032174 function_f4_cb:
+0x71c5 032175 jam 65 ,mem_aes_cmac_data_length 
+0x71c6 032176 fetch 1 ,mem_passkey_1bit 
+0x71c7 032177 store 1 ,memdat 
+0x71c8 032178 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c9 032179 call memcpy32 
+0x71ca 032180 arg mem_le_pubkey_local_x_256 ,contr 
+0x71cb 032181 call memcpy32 
+0x71cc 032182 call inverse_memdat 
+0x71cd 032183 arg mem_le_srand ,contr 
+0x71ce 032184 call store_inverse_k 
+0x71cf 032185 branch function_aes_cmac 
+:      032187 function_aes_cmac:
+0x71d0 032188 bpatchx patch3b_5 ,mem_patch3b 
+0x71d1 032189 call function_aes_cmac_generate_subkey 
+0x71d2 032193 fetch 1 ,mem_aes_cmac_data_length 
+0x71d3 032194 copy pdata ,temp 
+:      032195 function_ceil16:
+0x71d4 032196 increase 15 ,pdata 
+0x71d5 032197 rshift4 pdata ,pdata 
+0x71d6 032198 copy pdata ,regb 
+0x71d7 032199 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x71d8 032200 and temp ,0x0f ,pdata 
+0x71d9 032201 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x71da 032203 arg mem_aes_cmac_k1 ,regc 
+0x71db 032204 arg memdat ,pdata 
+0x71dc 032205 increase -16 ,pdata 
+0x71dd 032208 iadd temp ,rega 
+0x71de 032209 arg mem_aes_cmac_m_last ,contw 
+0x71df 032210 arg 4 ,loopcnt 
+0x71e0 032211 call xor_loop 
+0x71e1 032215 branch function_aes_cmac_aes 
+:      032217 function_aes_cmac_set_flag_0_balnk:
+0x71e2 032218 arg 1 ,regb 
+0x71e3 032219 arg 0 ,rega 
+0x71e4 032221 branch function_aes_cmac_set_flag_0_common 
+:      032224 function_aes_cmac_set_flag_0:
+0x71e5 032226 and temp ,0x0f ,rega 
+:      032227 function_aes_cmac_set_flag_0_common:
+0x71e6 032228 arg memdat ,pdata 
+0x71e7 032229 iadd temp ,pdata 
+0x71e8 032230 isub rega ,contr 
+0x71e9 032232 arg mem_aes_cmac_temp ,contw 
+0x71ea 032233 call function_aes_cmac_padding 
+0x71eb 032235 arg mem_aes_cmac_k2 ,regc 
+0x71ec 032236 arg mem_aes_cmac_temp ,rega 
+0x71ed 032237 arg mem_aes_cmac_m_last ,contw 
+0x71ee 032238 arg 4 ,loopcnt 
+0x71ef 032239 call xor_loop 
+:      032246 function_aes_cmac_aes:
+0x71f0 032251 call aes_clear_data 
+0x71f1 032252 call aes_init 
+0x71f2 032255 arg memdat ,contr 
+:      032256 function_aes_cmac_aes_loop:
+0x71f3 032258 increase -1 ,regb 
+0x71f4 032259 deposit regb 
+0x71f5 032260 branch function_aes_cmac_aes_loop_end ,blank 
+0x71f6 032261 call load_data128 
+0x71f7 032262 call do_aes_cbc 
+0x71f8 032263 branch function_aes_cmac_aes_loop 
+:      032265 function_aes_cmac_aes_loop_end:
+0x71f9 032266 arg mem_aes_cmac_temp ,contw 
+0x71fa 032267 call store_aes_result 
+0x71fb 032268 arg mem_aes_cmac_m_last ,contr 
+0x71fc 032269 call load_data128 
+0x71fd 032270 call aes_init 
+0x71fe 032271 arg mem_aes_cmac_temp ,contr 
+0x71ff 032272 call load_data128 
+0x7200 032273 branch do_aes_cbc 
+:      032277 load_inverse_result:
+0x7201 032279 copy contw ,rega 
+0x7202 032280 call store_aes_result 
+0x7203 032282 arg 16 ,loopcnt 
+0x7204 032283 branch inverse_data 
+:      032285 store_inverse_k:
+0x7205 032286 arg mem_aes_cmac_k ,contw 
+0x7206 032287 call memcpy16 
+:      032288 inverse_k:
+0x7207 032289 arg 16 ,loopcnt 
+0x7208 032290 arg mem_aes_cmac_k ,rega 
+0x7209 032291 branch inverse_data 
+:      032293 inverse_memdat:
+0x720a 032294 fetch 1 ,mem_aes_cmac_data_length 
+0x720b 032295 copy pdata ,loopcnt 
+0x720c 032296 arg memdat ,rega 
+0x720d 032297 branch inverse_data 
+:      032299 bn_lshift_0_inverse:
+0x720e 032300 ifetch 1 ,rega 
+0x720f 032301 lshift pdata ,pdata 
+0x7210 032302 isolate1 0 ,regc 
+0x7211 032303 setflag true ,0 ,pdata 
+0x7212 032304 isolate1 8 ,pdata 
+0x7213 032305 setflag true ,0 ,regc 
+0x7214 032306 istore 1 ,rega 
+0x7215 032307 increase -1 ,rega 
+0x7216 032308 loop bn_lshift_0_inverse 
+0x7217 032309 rtn 
+:      032311 function_aes_cmac_k1_inverse:
+0x7218 032312 arg mem_aes_cmac_k1 ,rega 
+:      032313 function_aes_cmac_inverse_common:
+0x7219 032314 increase 15 ,rega 
+0x721a 032315 force 16 ,loopcnt 
+0x721b 032316 force 0 ,regc 
+0x721c 032317 branch bn_lshift_0_inverse 
+:      032319 function_aes_cmac_k2_inverse:
+0x721d 032320 arg mem_aes_cmac_k2 ,rega 
+0x721e 032321 branch function_aes_cmac_inverse_common 
+:      032324 function_aes_cmac_generate_subkey:
+0x721f 032325 arg mem_aes_cmac_k ,contr 
+0x7220 032326 call load_key 
+0x7221 032329 force regidx_xor ,regext_index 
+0x7222 032330 call aes_clear 
+0x7223 032331 call aes_clear_data 
+0x7224 032332 call do_aes_ocb 
+0x7225 032337 arg mem_aes_cmac_k1 ,contw 
+0x7226 032338 call store_aes_result 
+:      032339 function_aes_cmac_k1:
+0x7227 032340 bpatchx patch3b_6 ,mem_patch3b 
+0x7228 032341 fetch 1 ,mem_aes_cmac_k1 
+0x7229 032342 isolate1 7 ,pdata 
+0x722a 032343 nbranch function_aes_cmac_k1_0 ,true 
+0x722b 032344 call function_aes_cmac_k1_inverse 
+0x722c 032347 arg mem_aes_cmac_k1 ,regc 
+0x722d 032349 arg mem_aes_cmac_k1 ,contw 
+0x722e 032352 call function_aes_cmac_xor_rb 
+0x722f 032353 branch function_aes_cmac_k2 
+:      032354 function_aes_cmac_k1_0:
+0x7230 032355 call function_aes_cmac_k1_inverse 
+:      032356 function_aes_cmac_k2:
+0x7231 032358 arg mem_aes_cmac_k1 ,contr 
+0x7232 032359 arg mem_aes_cmac_k2 ,contw 
+0x7233 032360 call memcpy16 
+0x7234 032361 fetch 1 ,mem_aes_cmac_k2 
+0x7235 032362 isolate1 7 ,pdata 
+0x7236 032363 nbranch function_aes_cmac_k2_inverse ,true 
+0x7237 032364 call function_aes_cmac_k2_inverse 
+0x7238 032366 arg mem_aes_cmac_k2 ,regc 
+0x7239 032368 arg mem_aes_cmac_k2 ,contw 
+:      032374 function_aes_cmac_xor_rb:
+0x723a 032375 arg 3 ,loopcnt 
+:      032376 function_aes_cmac_xor_rb_loop:
+0x723b 032377 arg 0 ,temp 
+0x723c 032378 call function_aes_cmac_xor_loop_common 
+0x723d 032379 increase 4 ,regc 
+0x723e 032380 loop function_aes_cmac_xor_rb_loop 
+0x723f 032381 arg 0x8700 ,temp 
+0x7240 032382 lshift16 temp ,temp 
+:      032383 function_aes_cmac_xor_loop_common:
+0x7241 032384 ifetch 4 ,regc 
+0x7242 032385 ixor temp ,pdata 
+0x7243 032386 istore 4 ,contw 
+0x7244 032387 rtn 
+:      032393 function_aes_cmac_padding:
+0x7245 032394 bpatchx patch3b_7 ,mem_patch3b 
+0x7246 032395 arg 16 ,loopcnt 
+0x7247 032396 arg 0 ,pdata 
+:      032397 function_aes_cmac_padding_loop:
+0x7248 032398 isub rega ,null 
+0x7249 032399 branch function_aes_cmac_padding_beq_length ,zero 
+0x724a 032400 branch function_aes_cmac_padding_big_length ,positive 
+0x724b 032401 ifetcht 1 ,contr 
+0x724c 032402 istoret 1 ,contw 
+:      032403 function_aes_cmac_padding_loop2:
+0x724d 032404 increase 1 ,pdata 
+0x724e 032405 loop function_aes_cmac_padding_loop 
+0x724f 032406 rtn 
+:      032407 function_aes_cmac_padding_beq_length:
+0x7250 032408 arg 0x80 ,temp 
+:      032409 function_aes_cmac_padding_common:
+0x7251 032410 istoret 1 ,contw 
+0x7252 032411 branch function_aes_cmac_padding_loop2 
+:      032413 function_aes_cmac_padding_big_length:
+0x7253 032414 arg 0 ,temp 
+0x7254 032415 branch function_aes_cmac_padding_common 
+:      032418 generate_kinit:
+0x7255 032419 call function_e22 
+0x7256 032420 arg mem_input_store ,contr 
+0x7257 032421 arg mem_kinit ,contw 
+0x7258 032422 branch memcpy16 
+:      032425 function_e21:
+0x7259 032426 disable user 
+0x725a 032427 call function_expand 
+0x725b 032428 arg mem_random_number ,contr 
+0x725c 032429 arg mem_x ,contw 
+0x725d 032430 force 15 ,loopcnt 
+0x725e 032431 call memcpy 
+0x725f 032432 ifetch 1 ,contr 
+0x7260 032433 xor_into 6 ,pdata 
+0x7261 032434 istore 1 ,contw 
+0x7262 032435 setarg mem_y 
+0x7263 032436 store 2 ,memp_ar_input 
+0x7264 032437 setarg mem_x 
+0x7265 032438 store 2 ,memp_ar_key 
+0x7266 032439 set1 mark_ar2 ,mark 
+0x7267 032440 branch function_ar 
+:      032444 function_e22:
+0x7268 032445 fetcht 1 ,mem_pin_length 
+0x7269 032446 force 16 ,regb 
+0x726a 032447 add temp ,6 ,regc 
+0x726b 032448 sub regc ,16 ,null 
+0x726c 032449 branch function_e22_pin_init ,positive 
+0x726d 032450 force 16 ,regc 
+:      032451 function_e22_pin_init:
+0x726e 032452 arg mem_x ,contw 
+:      032453 function_e22_genx_pin:
+0x726f 032454 arg mem_pin ,contr 
+0x7270 032455 copy temp ,loopcnt 
+0x7271 032456 disable user 
+:      032457 function_e22_genx_loop:
+0x7272 032458 ifetch 1 ,contr 
+0x7273 032459 istore 1 ,contw 
+0x7274 032460 increase -1 ,regb 
+0x7275 032461 branch function_e22_genx_end ,zero 
+0x7276 032462 loop function_e22_genx_loop 
+0x7277 032463 branch function_e22_genx_pin ,user 
+0x7278 032464 enable user 
+0x7279 032465 force 6 ,loopcnt 
+0x727a 032466 copy rega ,contr 
+0x727b 032467 branch function_e22_genx_loop 
+:      032468 function_e22_genx_end:
+0x727c 032469 arg mem_random_number ,contr 
+0x727d 032470 arg mem_y ,contw 
+0x727e 032471 call memcpy16 
+0x727f 032472 fetch 1 ,mem_y15 
+0x7280 032473 ixor regc ,pdata 
+0x7281 032474 store 1 ,mem_y15 
+0x7282 032475 setarg mem_y 
+0x7283 032476 store 2 ,memp_ar_input 
+0x7284 032477 setarg mem_x 
+0x7285 032478 store 2 ,memp_ar_key 
+0x7286 032479 set1 mark_ar2 ,mark 
+0x7287 032480 branch function_ar 
+:      032485 function_e1:
+0x7288 032486 disable user 
+0x7289 032487 call function_expand 
+0x728a 032488 branch function_hash 
+:      032490 function_e3:
+0x728b 032491 arg mem_aco ,rega 
+0x728c 032492 enable user 
+0x728d 032493 call function_expand 
+0x728e 032494 call function_hash 
+0x728f 032495 arg mem_input_store ,contr 
+0x7290 032496 arg mem_kc ,contw 
+0x7291 032497 branch memcpy16 
+:      032500 function_hash:
+0x7292 032501 setarg mem_random_number 
+0x7293 032502 store 2 ,memp_ar_input 
+0x7294 032503 setarg mem_link_key 
+0x7295 032504 store 2 ,memp_ar_key 
+0x7296 032505 set0 mark_ar2 ,mark 
+0x7297 032506 call function_ar 
+0x7298 032507 arg mem_input_store ,rega 
+0x7299 032508 arg mem_random_number ,regb 
+0x729a 032509 arg mem_x ,contw 
+0x729b 032510 call xor16 
+0x729c 032511 arg mem_x ,rega 
+0x729d 032512 arg mem_y ,regb 
+0x729e 032513 copy regb ,contw 
+0x729f 032514 enable user 
+0x72a0 032515 call add16 
+0x72a1 032516 call key_offset 
+0x72a2 032517 setarg mem_y 
+0x72a3 032518 store 2 ,memp_ar_input 
+0x72a4 032519 setarg mem_x 
+0x72a5 032520 store 2 ,memp_ar_key 
+0x72a6 032521 set1 mark_ar2 ,mark 
+0x72a7 032522 branch function_ar 
+:      032526 function_ar:
+0x72a8 032527 jam 0 ,mem_ar_hround 
+0x72a9 032528 fetch 2 ,memp_ar_key 
+0x72aa 032529 iforce contr 
+0x72ab 032530 arg mem_key_store ,contw 
+0x72ac 032531 call memcpy16 
+0x72ad 032532 fetch 2 ,memp_ar_input 
+0x72ae 032533 iforce contr 
+0x72af 032534 arg mem_input_store ,contw 
+0x72b0 032535 call memcpy16 
+:      032537 function_ar_loop:
+0x72b1 032538 call key_scheduling 
+0x72b2 032539 disable user 
+0x72b3 032540 bmark0 mark_ar2 ,function_ar_original 
+0x72b4 032541 fetch 1 ,mem_ar_hround 
+0x72b5 032542 bne 4 ,function_ar_original 
+0x72b6 032543 fetch 2 ,memp_ar_input 
+0x72b7 032544 iforce regb 
+0x72b8 032545 call xor_mod32_ar2 
+:      032546 function_ar_original:
+0x72b9 032547 call xor_mod32 
+0x72ba 032548 call el_boxes 
+0x72bb 032549 fetch 1 ,mem_ar_hround 
+0x72bc 032550 increase 1 ,pdata 
+0x72bd 032551 store 1 ,mem_ar_hround 
+0x72be 032553 call key_scheduling 
+0x72bf 032554 enable user 
+0x72c0 032555 call xor_mod32 
+0x72c1 032556 call pht 
+0x72c2 032557 call permute 
+0x72c3 032558 call pht 
+0x72c4 032559 call permute 
+0x72c5 032560 call pht 
+0x72c6 032561 call permute 
+0x72c7 032562 call pht 
+0x72c8 032563 fetch 1 ,mem_ar_hround 
+0x72c9 032564 increase 1 ,pdata 
+0x72ca 032565 store 1 ,mem_ar_hround 
+0x72cb 032566 bne 16 ,function_ar_loop 
+0x72cc 032567 call key_scheduling 
+0x72cd 032568 disable user 
+0x72ce 032569 branch xor_mod32 
+:      032573 key_scheduling:
+0x72cf 032574 fetch 1 ,mem_ar_hround 
+0x72d0 032575 arg mem_key_store ,contr 
+0x72d1 032576 branch key_sched_zero ,blank 
+0x72d2 032577 iforce regb 
+0x72d3 032578 force 17 ,loopcnt 
+0x72d4 032579 copy contr ,contw 
+:      032580 key_rotateloop:
+0x72d5 032581 ifetch 1 ,contr 
+0x72d6 032582 lshift3 pdata ,temp 
+0x72d7 032583 rshift2 pdata ,pdata 
+0x72d8 032584 rshift3 pdata ,pdata 
+0x72d9 032585 ior temp ,pdata 
+0x72da 032586 istore 1 ,contw 
+0x72db 032587 loop key_rotateloop 
+0x72dc 032588 setarg mem_key_store 
+0x72dd 032589 iadd regb ,contr 
+0x72de 032590 force 16 ,loopcnt 
+0x72df 032591 arg mem_round_key ,contw 
+:      032592 key_select_octet_loop:
+0x72e0 032593 ifetch 1 ,contr 
+0x72e1 032594 istore 1 ,contw 
+0x72e2 032595 compare mem_key_store_end ,contr ,0xff 
+0x72e3 032596 nbranch key_select_octet_nwrap ,true 
+0x72e4 032597 increase -17 ,contr 
+:      032598 key_select_octet_nwrap:
+0x72e5 032599 loop key_select_octet_loop 
+0x72e6 032600 force 0 ,rega 
+0x72e7 032601 add regb ,-1 ,regc 
+0x72e8 032602 lshift2 regc ,regc 
+0x72e9 032603 lshift2 regc ,regc 
+0x72ea 032604 call enable_authrom 
+0x72eb 032605 setarg mem_b_box 
+0x72ec 032606 iadd regc ,regc 
+0x72ed 032607 arg mem_round_key ,contw 
+0x72ee 032608 force 16 ,loopcnt 
+:      032609 bias_round_key_loop:
+0x72ef 032610 ifetcht 1 ,regc 
+0x72f0 032611 ifetch 1 ,contw 
+0x72f1 032612 iadd temp ,pdata 
+0x72f2 032613 istore 1 ,contw 
+0x72f3 032614 increase 1 ,regc 
+0x72f4 032615 loop bias_round_key_loop 
+0x72f5 032616 branch disable_authrom 
+:      032618 key_sched_zero:
+0x72f6 032619 force 16 ,loopcnt 
+0x72f7 032620 force 0 ,temp 
+:      032621 create_byte_16_loop:
+0x72f8 032622 ifetch 1 ,contr 
+0x72f9 032623 ixor temp ,temp 
+0x72fa 032624 loop create_byte_16_loop 
+0x72fb 032625 deposit temp 
+0x72fc 032626 istore 1 ,contr 
+0x72fd 032627 arg mem_key_store ,contr 
+0x72fe 032628 arg mem_round_key ,contw 
+0x72ff 032629 branch memcpy16 
+:      032631 xor_mod32:
+0x7300 032632 arg mem_round_key ,regb 
+:      032633 xor_mod32_ar2:
+0x7301 032634 force 16 ,loopcnt 
+0x7302 032635 arg mem_input_store ,rega 
+0x7303 032636 copy rega ,contw 
+:      032637 xor_mod32_loop:
+0x7304 032638 ifetcht 1 ,rega 
+0x7305 032639 ifetch 1 ,regb 
+0x7306 032640 ixor temp ,alarm 
+0x7307 032641 and loopcnt ,3 ,regc 
+0x7308 032642 nbranch xor_mod32_invert ,user 
+0x7309 032643 xor_into 3 ,regc 
+:      032644 xor_mod32_invert:
+0x730a 032645 sub regc ,1 ,regc 
+0x730b 032646 branch xor_even ,positive 
+0x730c 032647 iadd temp ,alarm 
+:      032648 xor_even:
+0x730d 032649 deposit alarm 
+0x730e 032650 istore 1 ,contw 
+0x730f 032651 increase 1 ,rega 
+0x7310 032652 increase 1 ,regb 
+0x7311 032653 loop xor_mod32_loop 
+0x7312 032654 rtn 
+:      032656 el_boxes:
+0x7313 032657 call enable_authrom 
+0x7314 032658 force 16 ,loopcnt 
+0x7315 032659 arg mem_input_store ,rega 
+:      032660 el_box_loop:
+0x7316 032661 ifetch 1 ,rega 
+0x7317 032662 arg mem_e_box ,contr 
+0x7318 032663 and loopcnt ,3 ,regc 
+0x7319 032664 sub regc ,1 ,null 
+0x731a 032665 branch e_boxes ,positive 
+0x731b 032666 arg mem_l_box ,contr 
+:      032667 e_boxes:
+0x731c 032668 iadd contr ,contr 
+0x731d 032669 ifetch 1 ,contr 
+0x731e 032670 istore 1 ,rega 
+0x731f 032671 increase 1 ,rega 
+0x7320 032672 loop el_box_loop 
+0x7321 032673 branch disable_authrom 
+:      032675 pht:
+0x7322 032676 force 8 ,loopcnt 
+0x7323 032677 arg mem_input_store ,contr 
+0x7324 032678 copy contr ,contw 
+:      032679 pht_loop:
+0x7325 032680 ifetch 1 ,contr 
+0x7326 032681 iforce rega 
+0x7327 032682 ifetch 1 ,contr 
+0x7328 032683 iforce regb 
+0x7329 032684 lshift rega ,pdata 
+0x732a 032685 iadd regb ,pdata 
+0x732b 032686 istore 1 ,contw 
+0x732c 032687 deposit rega 
+0x732d 032688 iadd regb ,pdata 
+0x732e 032689 istore 1 ,contw 
+0x732f 032690 loop pht_loop 
+0x7330 032691 rtn 
+:      032694 permute:
+0x7331 032695 setarg 0x8ae42c 
+0x7332 032696 iforce temp 
+0x7333 032697 force 7 ,loopcnt 
+0x7334 032698 call permute_exchange 
+0x7335 032699 setarg 0xd751b 
+0x7336 032700 iforce temp 
+0x7337 032701 force 5 ,loopcnt 
+0x7338 032702 call permute_exchange 
+0x7339 032703 fetch 1 ,mem_input_store + 15 
+0x733a 032704 iforce rega 
+0x733b 032705 fetch 1 ,mem_input_store + 3 
+0x733c 032706 store 1 ,mem_input_store + 15 
+0x733d 032707 deposit rega 
+0x733e 032708 store 1 ,mem_input_store + 3 
+0x733f 032709 rtn 
+:      032711 permute_exchange:
+0x7340 032712 and temp ,0xf ,regb 
+:      032713 permute_loop:
+0x7341 032714 and temp ,0xf ,pdata 
+0x7342 032715 arg mem_input_store ,contw 
+0x7343 032716 iadd contw ,contw 
+0x7344 032717 ifetch 1 ,contw 
+0x7345 032718 iforce regc 
+0x7346 032719 deposit rega 
+0x7347 032720 istore 1 ,contw 
+0x7348 032721 copy regc ,rega 
+0x7349 032722 rshift4 temp ,temp 
+0x734a 032723 loop permute_loop 
+0x734b 032724 setarg mem_input_store 
+0x734c 032725 iadd regb ,contw 
+0x734d 032726 deposit rega 
+0x734e 032727 istore 1 ,contw 
+0x734f 032728 rtn 
+:      032730 add16:
+0x7350 032731 enable user 
+0x7351 032732 branch xor_add16 
+:      032734 xor16:
+0x7352 032735 disable user 
+:      032736 xor_add16:
+0x7353 032737 force 16 ,loopcnt 
+:      032738 xoradd_loop:
+0x7354 032739 ifetcht 1 ,rega 
+0x7355 032740 ifetch 1 ,regb 
+0x7356 032741 branch xoradd_add ,user 
+0x7357 032742 ixor temp ,pdata 
+0x7358 032743 branch xoradd_store 
+:      032744 xoradd_add:
+0x7359 032745 iadd temp ,pdata 
+:      032746 xoradd_store:
+0x735a 032747 istore 1 ,contw 
+0x735b 032748 increase 1 ,rega 
+0x735c 032749 increase 1 ,regb 
+0x735d 032750 loop xoradd_loop 
+0x735e 032751 rtn 
+:      032754 function_expand:
+0x735f 032755 arg mem_y ,contw 
+0x7360 032756 ifetch 6 ,rega 
+0x7361 032757 istore 6 ,contw 
+0x7362 032758 branch expand_12 ,user 
+0x7363 032759 ifetch 6 ,rega 
+0x7364 032760 branch expand_cont 
+:      032761 expand_12:
+0x7365 032762 ifetch 6 ,contr 
+:      032763 expand_cont:
+0x7366 032764 istore 6 ,contw 
+0x7367 032765 ifetch 4 ,rega 
+0x7368 032766 istore 4 ,contw 
+0x7369 032767 rtn 
+:      032769 key_offset:
+0x736a 032770 arg mem_link_key ,contr 
+0x736b 032771 arg mem_x ,contw 
+0x736c 032772 arg 0 ,temp 
+0x736d 032773 setarg 0x8395a7 
+0x736e 032774 call concatenate_temp24 
+0x736f 032775 setarg 0xb3c1df 
+0x7370 032776 call concatenate_temp24 
+0x7371 032777 setarg 0xe5e9 
+0x7372 032778 call concatenate_temp16 
+0x7373 032779 copy temp ,regab 
+0x7374 032780 disable user 
+0x7375 032781 call key_addxor 
+0x7376 032782 copy regab ,temp 
+0x7377 032783 enable user 
+0x7378 032784 branch key_addxor 
+:      032786 key_addxor:
+0x7379 032787 force 8 ,loopcnt 
+:      032788 key_addxor_loop:
+0x737a 032789 ifetch 1 ,contr 
+0x737b 032790 compare 1 ,loopcnt ,1 
+0x737c 032791 branch key_high ,user 
+0x737d 032792 branch key_xor ,true 
+:      032793 key_add:
+0x737e 032794 iadd temp ,pdata 
+0x737f 032795 branch key_store 
+:      032796 key_high:
+0x7380 032797 branch key_add ,true 
+:      032798 key_xor:
+0x7381 032799 ixor temp ,pdata 
+:      032800 key_store:
+0x7382 032801 istore 1 ,contw 
+0x7383 032802 rshift8 temp ,temp 
+0x7384 032803 loop key_addxor_loop 
+0x7385 032804 rtn 
+:      032806 copy_aco:
+0x7386 032807 fetch 6 ,mem_input_store + 4 
+0x7387 032808 store 6 ,mem_aco 
+0x7388 032809 ifetch 6 ,contr 
+0x7389 032810 istore 6 ,contw 
+0x738a 032811 rtn 
+:      032813 concatenate_temp24:
+0x738b 032814 lshift8 temp ,temp 
+:      032815 concatenate_temp16:
+0x738c 032816 lshift16 temp ,temp 
+0x738d 032817 ior temp ,temp 
+0x738e 032818 rtn 
+:      032822 loop1:
+0x738f 032823 branch loop1 
+:      032827 generate_stk:
+0x7390 032828 bpatchx patch3c_0 ,mem_patch3c 
+0x7391 032829 call function_s1 
+0x7392 032830 arg mem_le_ltk ,contw 
+0x7393 032831 branch store_aes_result 
+:      032834 authenticate_rconfirm:
+0x7394 032835 arg mem_le_srand ,contw 
+0x7395 032836 branch authenticate_mconfirm ,master 
+0x7396 032837 arg mem_le_mrand ,contw 
+:      032838 authenticate_mconfirm:
+0x7397 032839 copy contr ,rega 
+0x7398 032840 call memcpy16 
+0x7399 032841 call function_c1 
+0x739a 032842 arg mem_le_rconfirm ,contr 
+0x739b 032843 branch compare_res 
+:      032845 generate_confirm:
+0x739c 032846 arg mem_le_mrand ,rega 
+0x739d 032847 branch generate_mrand ,master 
+0x739e 032848 arg mem_le_srand ,rega 
+:      032849 generate_mrand:
+0x739f 032850 copy rega ,contw 
+0x73a0 032851 call generate_random 
+0x73a1 032852 branch function_c1 
+:      032854 generate_sk:
+0x73a2 032855 arg mem_le_skdm ,contr 
+0x73a3 032856 call load_data128 
+0x73a4 032857 arg mem_le_ltk ,contr 
+0x73a5 032858 call load_regext 
+0x73a6 032859 force 0x38 ,aes_ctrl 
+0x73a7 032860 force 0x0 ,aes_ctrl 
+0x73a8 032861 call wait_aes 
+0x73a9 032862 arg mem_le_sk ,contw 
+0x73aa 032863 branch store_aes_result 
+:      032866 first_block_counter:
+0x73ab 032867 force 0x49 ,pdata 
+0x73ac 032868 branch first_block 
+:      032869 first_block_data:
+0x73ad 032870 force 1 ,pdata 
+:      032871 first_block:
+0x73ae 032872 force regidx_data ,regext_index 
+0x73af 032873 lshift8 temp ,regext 
+0x73b0 032874 ior regext ,regext 
+0x73b1 032875 increase 1 ,regext_index 
+0x73b2 032876 rshift8 temp ,regext 
+0x73b3 032877 rshift16 regext ,regext 
+0x73b4 032878 fetch 2 ,mem_le_ivm 
+0x73b5 032879 lshift16 ,pdata ,pdata 
+0x73b6 032880 ior regext ,regext 
+0x73b7 032881 increase 1 ,regext_index 
+0x73b8 032882 ifetch 4 ,contr 
+0x73b9 032883 iforce regext 
+0x73ba 032884 increase 1 ,regext_index 
+0x73bb 032885 ifetch 2 ,contr 
+0x73bc 032886 byteswap rega ,regext 
+0x73bd 032887 lshift16 regext ,regext 
+0x73be 032888 ior regext ,regext 
+0x73bf 032889 increase 1 ,regext_index 
+0x73c0 032890 rtn 
+:      032894 generate_mic:
+0x73c1 032895 add regc ,1 ,contr 
+0x73c2 032896 ifetch 1 ,contr 
+0x73c3 032897 iforce rega 
+0x73c4 032898 call first_block_counter 
+0x73c5 032899 call do_aes_ocb 
+0x73c6 032901 force regidx_data ,regext_index 
+0x73c7 032902 ifetch 1 ,regc 
+0x73c8 032903 and_into 0x3 ,pdata 
+0x73c9 032904 lshift16 pdata ,regext 
+0x73ca 032905 set1 8 ,regext 
+0x73cb 032906 call clear_hidata 
+0x73cc 032907 call do_aes_cbc 
+0x73cd 032909 copy rega ,loopcnt 
+0x73ce 032910 add regc ,2 ,contr 
+0x73cf 032911 call padding_data 
+:      032912 generate_mic_loop:
+0x73d0 032913 call aes_load_data 
+0x73d1 032914 call do_aes_cbc 
+0x73d2 032915 deposit loopcnt 
+0x73d3 032916 branch generate_mic_end ,blank 
+0x73d4 032917 branch generate_mic_loop 
+:      032918 generate_mic_end:
+0x73d5 032919 force regidx_result ,regext_index 
+0x73d6 032920 deposit regext 
+0x73d7 032921 store 4 ,mem_le_mic 
+0x73d8 032922 rtn 
+:      032924 aes_crypt_data:
+0x73d9 032925 increase 1 ,rega 
+0x73da 032926 call first_block_data 
+0x73db 032927 copy regc ,contr 
+0x73dc 032928 call aes_load_xor 
+0x73dd 032929 call do_aes_ctr 
+0x73de 032930 call store_enc_data 
+0x73df 032931 increase 16 ,regc 
+0x73e0 032932 increase -16 ,regb 
+0x73e1 032933 branch aes_crypt_data ,positive 
+0x73e2 032934 rtn 
+:      032936 le_encrypt:
+0x73e3 032937 bpatchx patch3c_1 ,mem_patch3c 
+0x73e4 032938 arg mem_le_txheader ,regc 
+0x73e5 032939 fetcht 5 ,mem_le_pcnt_tx 
+0x73e6 032940 call generate_mic 
+0x73e7 032941 force regidx_xor ,regext_index 
+0x73e8 032942 iforce regext 
+0x73e9 032943 force 0 ,rega 
+0x73ea 032944 call first_block_data 
+0x73eb 032945 call do_aes_ctr 
+0x73ec 032946 arg mem_le_txpayload ,regc 
+0x73ed 032947 fetch 1 ,mem_le_txlen 
+0x73ee 032948 add pdata ,-1 ,regb 
+0x73ef 032949 iadd regc ,contw 
+0x73f0 032950 force regidx_result ,regext_index 
+0x73f1 032951 deposit regext 
+0x73f2 032952 istore 4 ,contw 
+0x73f3 032953 call aes_crypt_data 
+0x73f4 032954 fetch 1 ,mem_le_txlen 
+0x73f5 032955 increase 4 ,pdata 
+0x73f6 032956 store 1 ,mem_le_txlen 
+0x73f7 032957 fetcht 5 ,mem_le_pcnt_tx 
+0x73f8 032958 increase 1 ,temp 
+0x73f9 032959 storet 5 ,mem_le_pcnt_tx 
+0x73fa 032960 rtn 
+:      032962 le_decrypt:
+0x73fb 032963 bpatchx patch3c_2 ,mem_patch3c 
+0x73fc 032964 fetch 1 ,mem_le_rxbuf + 1 
+0x73fd 032965 sub pdata ,20 ,null 
+0x73fe 032966 branch le_dec_cont ,positive 
+:      032967 le_dec_cont:
+0x73ff 032968 arg mem_le_rxbuf + 2 ,regc 
+0x7400 032969 add pdata ,-1 ,regb 
+0x7401 032970 increase -4 ,pdata 
+0x7402 032971 store 1 ,mem_le_rxbuf + 1 
+0x7403 032972 iadd regc ,contr 
+0x7404 032973 ifetch 4 ,contr 
+0x7405 032974 force regidx_xor ,regext_index 
+0x7406 032975 iforce regext 
+0x7407 032976 force 0 ,rega 
+0x7408 032977 fetcht 5 ,mem_le_pcnt_rx 
+0x7409 032978 call first_block_data 
+0x740a 032979 call do_aes_ctr 
+0x740b 032980 force regidx_result ,regext_index 
+0x740c 032981 deposit regext 
+0x740d 032982 store 4 ,mem_le_peer_mic 
+0x740e 032983 call aes_crypt_data 
+0x740f 032984 arg mem_le_rxbuf ,regc 
+0x7410 032985 call generate_mic 
+0x7411 032986 fetcht 4 ,mem_le_peer_mic 
+0x7412 032987 isub temp ,pdata 
+0x7413 032988 nrtn blank 
+0x7414 032989 fetch 4 ,mem_le_last_mic 
+0x7415 032990 isub temp ,pdata 
+0x7416 032991 rtn blank 
+0x7417 032992 storet 4 ,mem_le_last_mic 
+0x7418 032993 fetch 5 ,mem_le_pcnt_rx 
+0x7419 032994 increase 1 ,pdata 
+0x741a 032995 store 5 ,mem_le_pcnt_rx 
+0x741b 032996 force 0 ,pdata 
+0x741c 032997 rtn 
+:      032999 wait_aes:
+0x741d 033000 nbranch wait_aes ,aes_ready 
+0x741e 033001 rtn 
+:      033003 do_aes_ocb:
+0x741f 033004 force 0x30 ,aes_ctrl 
+0x7420 033005 force 0x0 ,aes_ctrl 
+0x7421 033006 branch wait_aes 
+:      033008 do_aes_cbc:
+0x7422 033009 force 0x32 ,aes_ctrl 
+0x7423 033010 force 0x2 ,aes_ctrl 
+0x7424 033011 branch wait_aes 
+:      033013 do_aes_ctr:
+0x7425 033014 force 0x34 ,aes_ctrl 
+0x7426 033015 force 0x4 ,aes_ctrl 
+0x7427 033016 branch wait_aes 
+:      033019 aes_init:
+0x7428 033020 force 1 ,aes_ctrl 
+0x7429 033021 force 0 ,aes_ctrl 
+0x742a 033022 rtn 
+:      033023 function_s1:
+0x742b 033024 force regidx_data ,regext_index 
+0x742c 033025 fetch 4 ,mem_le_mrand 
+0x742d 033026 iforce regext 
+0x742e 033027 increase 1 ,regext_index 
+0x742f 033028 ifetch 4 ,contr 
+0x7430 033029 iforce regext 
+0x7431 033030 increase 1 ,regext_index 
+0x7432 033031 fetch 4 ,mem_le_srand 
+0x7433 033032 iforce regext 
+0x7434 033033 increase 1 ,regext_index 
+0x7435 033034 ifetch 4 ,contr 
+0x7436 033035 iforce regext 
+0x7437 033036 increase 1 ,regext_index 
+0x7438 033037 call aes_clear 
+0x7439 033038 increase -4 ,regext_index 
+0x743a 033039 fetch 4 ,mem_le_tk 
+0x743b 033040 copy pdata ,regext 
+0x743c 033041 increase 4 ,regext_index 
+0x743d 033042 force 0x38 ,aes_ctrl 
+0x743e 033043 force 0x8 ,aes_ctrl 
+0x743f 033044 branch wait_aes 
+:      033047 function_c1:
+0x7440 033048 bpatchx patch3c_3 ,mem_patch3c 
+0x7441 033049 fetch 6 ,mem_le_lap 
+0x7442 033050 fetcht 6 ,mem_le_plap 
+0x7443 033051 branch function_c1_master ,master 
+0x7444 033052 fetch 6 ,mem_le_plap 
+0x7445 033053 fetcht 6 ,mem_le_lap 
+:      033054 function_c1_master:
+0x7446 033055 force regidx_xor ,regext_index 
+0x7447 033056 copy temp ,regext 
+0x7448 033057 increase 1 ,regext_index 
+0x7449 033058 rshift32 temp ,regext 
+0x744a 033059 lshift16 pdata ,pdata 
+0x744b 033060 ior regext ,regext 
+0x744c 033061 increase 1 ,regext_index 
+0x744d 033062 rshift32 pdata ,regext 
+0x744e 033063 increase 1 ,regext_index 
+0x744f 033064 force 0 ,regext 
+0x7450 033065 force 0 ,pdata 
+0x7451 033066 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7452 033067 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7453 033068 nbranch function_c1_irat ,master 
+0x7454 033070 fetch 1 ,mem_le_conn_own_addr_type 
+0x7455 033071 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      033072 function_c1_irat:
+0x7456 033073 store 1 ,mem_le_iat 
+0x7457 033074 storet 1 ,mem_le_rat 
+0x7458 033075 force regidx_data ,regext_index 
+0x7459 033076 arg mem_le_iat ,regb 
+0x745a 033077 force 4 ,loopcnt 
+:      033078 function_c1_loop1:
+0x745b 033079 ifetch 4 ,rega 
+0x745c 033080 ifetcht 4 ,regb 
+0x745d 033081 ixor temp ,regext 
+0x745e 033082 increase 1 ,regext_index 
+0x745f 033083 increase 4 ,rega 
+0x7460 033084 increase 4 ,regb 
+0x7461 033085 loop function_c1_loop1 
+0x7462 033086 call aes_clear 
+0x7463 033087 increase -4 ,regext_index 
+0x7464 033088 fetch 4 ,mem_le_tk 
+0x7465 033089 copy pdata ,regext 
+0x7466 033090 increase 4 ,regext_index 
+0x7467 033091 force 0x38 ,aes_ctrl 
+0x7468 033092 force 0xc ,aes_ctrl 
+0x7469 033093 call wait_aes 
+0x746a 033095 call aes_clear_data 
+0x746b 033096 force 0x3a ,aes_ctrl 
+0x746c 033097 force 0x8 ,aes_ctrl 
+0x746d 033098 branch wait_aes 
+:      033100 padding_data:
+0x746e 033101 compare 0 ,loopcnt ,3 
+0x746f 033102 rtn true 
+0x7470 033103 deposit contr 
+0x7471 033104 iadd loopcnt ,contw 
+0x7472 033105 force 0 ,pdata 
+:      033106 padding_loop:
+0x7473 033107 istore 1 ,contw 
+0x7474 033108 increase 1 ,loopcnt 
+0x7475 033109 compare 0 ,loopcnt ,3 
+0x7476 033110 rtn true 
+0x7477 033111 branch padding_loop 
+:      033113 aes_load_data:
+0x7478 033114 force regidx_data ,regext_index 
+:      033115 load_data_loop:
+0x7479 033116 deposit loopcnt 
+0x747a 033117 branch load_data_padding ,blank 
+0x747b 033118 ifetch 4 ,contr 
+0x747c 033119 increase -4 ,loopcnt 
+:      033120 load_data_padding:
+0x747d 033121 iforce regext 
+0x747e 033122 increase 1 ,regext_index 
+0x747f 033123 compare regidx_key ,regext_index ,0xf 
+0x7480 033124 rtn true 
+0x7481 033125 branch load_data_loop 
+:      033127 aes_load_xor:
+0x7482 033128 force regidx_xor ,regext_index 
+0x7483 033129 branch load_regext 
+:      033130 load_key:
+0x7484 033131 force regidx_key ,regext_index 
+0x7485 033132 branch load_regext 
+:      033133 load_data128:
+0x7486 033134 force regidx_data ,regext_index 
+:      033135 load_regext:
+0x7487 033136 force 4 ,loopcnt 
+:      033137 load_regext_loop:
+0x7488 033138 ifetch 4 ,contr 
+0x7489 033139 iforce regext 
+0x748a 033140 increase 1 ,regext_index 
+0x748b 033141 loop load_regext_loop 
+0x748c 033142 rtn 
+:      033144 load_sk:
+0x748d 033145 arg mem_le_sk ,contr 
+0x748e 033146 branch load_key 
+:      033148 clear_hidata:
+0x748f 033149 force 4 ,loopcnt 
+0x7490 033150 branch clear_data_rest 
+:      033152 aes_clear_data:
+0x7491 033153 force regidx_data ,regext_index 
+:      033154 aes_clear:
+0x7492 033155 force 4 ,loopcnt 
+:      033156 clear_loop:
+0x7493 033157 force 0 ,regext 
+:      033158 clear_data_rest:
+0x7494 033159 increase 1 ,regext_index 
+0x7495 033160 loop clear_loop 
+0x7496 033161 rtn 
+:      033163 store_aes_result:
+0x7497 033164 force regidx_result ,regext_index 
+0x7498 033165 force 4 ,loopcnt 
+:      033166 send_aes_result_loop:
+0x7499 033167 deposit regext 
+0x749a 033168 istore 4 ,contw 
+0x749b 033169 increase 1 ,regext_index 
+0x749c 033170 loop send_aes_result_loop 
+0x749d 033171 rtn 
+:      033173 store_enc_data:
+0x749e 033174 force regidx_result ,regext_index 
+0x749f 033175 copy regc ,contw 
+0x74a0 033176 add regb ,1 ,loopcnt 
+0x74a1 033177 sub loopcnt ,15 ,null 
+0x74a2 033178 branch store_enc_loop ,positive 
+0x74a3 033179 force 16 ,loopcnt 
+:      033180 store_enc_loop:
+0x74a4 033181 deposit regext 
+0x74a5 033182 sub loopcnt ,3 ,null 
+0x74a6 033183 branch store_enc_byte ,positive 
+0x74a7 033184 istore 4 ,contw 
+0x74a8 033185 increase -4 ,loopcnt 
+0x74a9 033186 rtn zero 
+0x74aa 033187 increase 1 ,regext_index 
+0x74ab 033188 branch store_enc_loop 
+:      033189 store_enc_byte:
+0x74ac 033190 istore 1 ,contw 
+0x74ad 033191 rshift8 pdata ,pdata 
+0x74ae 033192 loop store_enc_byte 
+0x74af 033193 rtn 
+:      033196 compare_res:
+0x74b0 033197 force regidx_result ,regext_index 
+0x74b1 033198 force 4 ,loopcnt 
+:      033199 compare_res_loop:
+0x74b2 033200 ifetch 4 ,contr 
+0x74b3 033201 isub regext ,null 
+0x74b4 033202 nrtn zero 
+0x74b5 033203 increase 1 ,regext_index 
+0x74b6 033204 loop compare_res_loop 
+0x74b7 033205 force 0 ,null 
+0x74b8 033206 rtn 
+:      033208 enable_authrom:
+0x74b9 033209 hfetch 1 ,core_clkoff 
+0x74ba 033210 set0 clock_off_auth_rom ,pdata 
+0x74bb 033211 hstore 1 ,core_clkoff 
+0x74bc 033212 rtn 
+:      033214 disable_authrom:
+0x74bd 033215 hfetch 1 ,core_clkoff 
+0x74be 033216 set1 clock_off_auth_rom ,pdata 
+0x74bf 033217 hstore 1 ,core_clkoff 
+0x74c0 033218 rtn 
+:      033220 init_memp:
+0x74c1 033221 arg mem_p ,contw 
+0x74c2 033222 setsect 0 ,0x3ffff 
+0x74c3 033223 setsect 1 ,0x3ffff 
+0x74c4 033224 setsect 2 ,0x3ffff 
+0x74c5 033225 setsect 3 ,0x3fbff 
+0x74c6 033226 istore 9 ,contw 
+0x74c7 033227 setsect 0 ,0x3ffff 
+0x74c8 033228 setsect 1 ,0x3ffff 
+0x74c9 033229 setsect 2 ,0x3ffff 
+0x74ca 033230 setsect 3 ,0x3ffff 
+0x74cb 033231 istore 9 ,contw 
+0x74cc 033232 setsect 0 ,0x3ffff 
+0x74cd 033233 setsect 1 ,0x3ffff 
+0x74ce 033234 setsect 2 ,0x3cfff 
+0x74cf 033235 setsect 3 ,0x3ffff 
+0x74d0 033236 istore 9 ,contw 
+0x74d1 033237 setsect 0 ,0x3ffff 
+0x74d2 033238 setsect 1 ,0x3ffff 
+0x74d3 033239 setsect 2 ,0x3ffef 
+0x74d4 033240 setsect 3 ,0x3ffff 
+0x74d5 033241 istore 9 ,contw 
+0x74d6 033242 setsect 0 ,0x3ffff 
+0x74d7 033243 setsect 1 ,0x3ffff 
+0x74d8 033244 setsect 2 ,0x3ffff 
+0x74d9 033245 setsect 3 ,0x3ffff 
+0x74da 033246 istore 9 ,contw 
+0x74db 033247 setsect 0 ,0x3ffff 
+0x74dc 033248 setsect 1 ,0x26c7f 
+0x74dd 033249 setsect 2 ,0x146b 
+0x74de 033250 setsect 3 ,0x37bb3 
+0x74df 033251 istore 9 ,contw 
+0x74e0 033252 setsect 0 ,0x1feb8 
+0x74e1 033253 setsect 1 ,0x10c12 
+0x74e2 033254 setsect 2 ,0x2b722 
+0x74e3 033255 setsect 3 ,0x29fa6 
+0x74e4 033256 istore 9 ,contw 
+0x74e5 033257 setsect 0 ,0xe70f 
+0x74e6 033258 setsect 1 ,0x16720 
+0x74e7 033259 setsect 2 ,0x519e 
+0x74e8 033260 setsect 3 ,0x19084 
+0x74e9 033261 istore 9 ,contw 
+0x74ea 033262 setsect 0 ,0x31012 
+0x74eb 033263 setsect 1 ,0x360bf 
+0x74ec 033264 setsect 2 ,0x3f0af 
+0x74ed 033265 setsect 3 ,0x3d3 
+0x74ee 033266 istore 9 ,contw 
+0x74ef 033267 setsect 0 ,0x3a188 
+0x74f0 033268 setsect 1 ,0x3ad0 
+0x74f1 033269 setsect 2 ,0x3cbf2 
+0x74f2 033270 setsect 3 ,0x243d9 
+0x74f3 033271 istore 9 ,contw 
+0x74f4 033272 setsect 0 ,0x2b030 
+0x74f5 033273 setsect 1 ,0x36a03 
+0x74f6 033274 setsect 2 ,0x11188 
+0x74f7 033275 setsect 3 ,0x1e520 
+0x74f8 033276 istore 9 ,contw 
+0x74f9 033277 setsect 0 ,0x3a11e 
+0x74fa 033278 setsect 1 ,0xfe5d 
+0x74fb 033279 setsect 2 ,0xdd57 
+0x74fc 033280 setsect 3 ,0x1ac93 
+0x74fd 033281 istore 9 ,contw 
+0x74fe 033282 setsect 0 ,0x11ed 
+0x74ff 033283 setsect 1 ,0x218c4 
+0x7500 033284 setsect 2 ,0x8da7 
+0x7501 033285 setsect 3 ,0x257ff 
+0x7502 033286 istore 9 ,contw 
+0x7503 033287 setsect 0 ,0x3192b 
+0x7504 033288 setsect 1 ,0x34641 
+0x7505 033289 setsect 2 ,0x1be0c 
+0x7506 033290 setsect 3 ,0x366ad 
+0x7507 033291 istore 9 ,contw 
+0x7508 033292 setsect 0 ,0x1f83 
+0x7509 033293 setsect 1 ,0x15a23 
+0x750a 033294 setsect 2 ,0x3f9b0 
+0x750b 033295 setsect 3 ,0x3949 
+0x750c 033296 istore 9 ,contw 
+0x750d 033297 setsect 0 ,0x13a51 
+0x750e 033298 setsect 1 ,0x153fd 
+0x750f 033299 setsect 2 ,0x3372a 
+0x7510 033300 setsect 3 ,0xf1bb 
+0x7511 033301 istore 9 ,contw 
+0x7512 033302 setsect 0 ,0x3ae85 
+0x7513 033303 setsect 1 ,0x1eed9 
+0x7514 033304 setsect 2 ,0x9e66 
+0x7515 033305 setsect 3 ,0x1a8 
+0x7516 033306 istore 8 ,contw 
+0x7517 033307 rtn 
+:      033311 init_memp_256:
+0x7518 033312 arg mem_p_256 ,contw 
+0x7519 033313 setsect 0 ,0x3ffff 
+0x751a 033314 setsect 1 ,0x3ffff 
+0x751b 033315 setsect 2 ,0x3ffff 
+0x751c 033316 setsect 3 ,0x3ffff 
+0x751d 033317 istore 9 ,contw 
+0x751e 033318 setsect 0 ,0x3ffff 
+0x751f 033319 setsect 1 ,0x3f 
+0x7520 033320 setsect 2 ,0x0 
+0x7521 033321 setsect 3 ,0x0 
+0x7522 033322 istore 9 ,contw 
+0x7523 033323 setsect 0 ,0x0 
+0x7524 033324 setsect 1 ,0x0 
+0x7525 033325 setsect 2 ,0x1000 
+0x7526 033326 setsect 3 ,0x0 
+0x7527 033327 istore 9 ,contw 
+0x7528 033328 setsect 0 ,0x3ff00 
+0x7529 033329 setsect 1 ,0x3ffff 
+0x752a 033330 setsect 2 ,0x3ffcf 
+0x752b 033331 setsect 3 ,0x3ffff 
+0x752c 033332 istore 9 ,contw 
+0x752d 033333 setsect 0 ,0x3ffff 
+0x752e 033334 setsect 1 ,0x3ffff 
+0x752f 033335 setsect 2 ,0x3ffff 
+0x7530 033336 setsect 3 ,0x3ff 
+0x7531 033337 istore 9 ,contw 
+0x7532 033338 setsect 0 ,0x0 
+0x7533 033339 setsect 1 ,0x0 
+0x7534 033340 setsect 2 ,0x0 
+0x7535 033341 setsect 3 ,0x0 
+0x7536 033342 istore 9 ,contw 
+0x7537 033343 setsect 0 ,0x10000 
+0x7538 033344 setsect 1 ,0x0 
+0x7539 033345 setsect 2 ,0x3f000 
+0x753a 033346 setsect 3 ,0x3ffff 
+0x753b 033347 istore 9 ,contw 
+0x753c 033348 setsect 0 ,0x296ff 
+0x753d 033349 setsect 1 ,0x22630 
+0x753e 033350 setsect 2 ,0x3945d 
+0x753f 033351 setsect 3 ,0x3d284 
+0x7540 033352 istore 9 ,contw 
+0x7541 033353 setsect 0 ,0x333a0 
+0x7542 033354 setsect 1 ,0x4b7a 
+0x7543 033355 setsect 2 ,0x37d8 
+0x7544 033356 setsect 3 ,0x3c9dc 
+0x7545 033357 istore 9 ,contw 
+0x7546 033358 setsect 0 ,0x3a440 
+0x7547 033359 setsect 1 ,0x1b958 
+0x7548 033360 setsect 2 ,0x38bce 
+0x7549 033361 setsect 3 ,0x1091f 
+0x754a 033362 istore 9 ,contw 
+0x754b 033363 setsect 0 ,0x2e12c 
+0x754c 033364 setsect 1 ,0x1f47c 
+0x754d 033365 setsect 2 ,0x356b1 
+0x754e 033366 setsect 3 ,0x2fd47 
+0x754f 033367 istore 9 ,contw 
+0x7550 033368 setsect 0 ,0x6837 
+0x7551 033369 setsect 1 ,0x2ed90 
+0x7552 033370 setsect 2 ,0x1ecec 
+0x7553 033371 setsect 3 ,0x1acc5 
+0x7554 033372 istore 9 ,contw 
+0x7555 033373 setsect 0 ,0x23357 
+0x7556 033374 setsect 1 ,0x18af3 
+0x7557 033375 setsect 2 ,0xf9e1 
+0x7558 033376 setsect 3 ,0x129f0 
+0x7559 033377 istore 9 ,contw 
+0x755a 033378 setsect 0 ,0x2e7eb 
+0x755b 033379 setsect 1 ,0x3e6e3 
+0x755c 033380 setsect 2 ,0x3e1a7 
+0x755d 033381 setsect 3 ,0x10b8b 
+0x755e 033382 istore 9 ,contw 
+0x755f 033383 setsect 0 ,0x24fe3 
+0x7560 033384 setsect 1 ,0x20ef 
+0x7561 033385 setsect 2 ,0x1b5a6 
+0x7562 033386 setsect 3 ,0xdc2f 
+0x7563 033387 istore 9 ,contw 
+0x7564 033388 setsect 0 ,0x13860 
+0x7565 033389 setsect 1 ,0x2bd69 
+0x7566 033390 setsect 2 ,0x391a 
+0x7567 033391 setsect 3 ,0x1b222 
+0x7568 033392 istore 9 ,contw 
+0x7569 033393 rtn 
+:      033396 publickey_init:
+0x756a 033397 fetch 1 ,mem_ssp_enable 
+0x756b 033398 nbranch sp_initialize ,blank 
+0x756c 033399 branch sp_initialize_256 
+:      033401 sp_calc_sequence_256_check:
+0x756d 033402 bpatchx patch3c_4 ,mem_patch3c 
+0x756e 033403 fetch 1 ,mem_ssp_enable 
+0x756f 033404 rtn blank 
+0x7570 033405 fetch 1 ,mem_sp_local_key_invalid 
+0x7571 033406 rtnne sp_key_valid 
+0x7572 033407 fetch 1 ,mem_le_secure_connect_enable 
+0x7573 033408 rtn blank 
+0x7574 033409 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7575 033410 rtneq sp_key_valid_256 
+0x7576 033411 fetch 2 ,mem_ui_state_map 
+0x7577 033412 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x7578 033413 fetch 1 ,mem_le_sc_calc 
+0x7579 033414 beq sp_calc_standby ,sp_initialize_256 
+0x757a 033415 rtn 
+:      033416 stop_publickey_calc_256:
+0x757b 033417 jam sp_calc_standby ,mem_le_sc_calc 
+0x757c 033418 rtn 
+:      033421 sp_initialize:
+0x757d 033422 bpatchx patch3c_5 ,mem_patch3c 
+0x757e 033423 fetch 1 ,mem_ssp_enable 
+0x757f 033424 branch ssp_disable ,blank 
+0x7580 033425 call ssp_enable 
+0x7581 033426 call sp_clear_flags 
+0x7582 033427 branch sp_pubkey_calc 
+:      033429 sp_clear_flags:
+0x7583 033430 setarg 0 
+0x7584 033431 store 8 ,mem_sp_state_start 
+0x7585 033432 store 4 ,mem_sp_flag_start 
+0x7586 033433 store 7 ,mem_sp_iocap_remote 
+0x7587 033434 rtn 
+:      033436 sp_generate_local_key:
+0x7588 033437 jam sp_flag_commit ,mem_sp_flag 
+0x7589 033438 branch sp_generate_local_key0 
+:      033439 sp_master_generate_local_key:
+0x758a 033440 fetch 1 ,mem_sp_local_key_invalid 
+0x758b 033441 beq sp_key_valid ,sp_dhkey_calc 
+0x758c 033442 branch assert 
+:      033443 sp_generate_local_key0:
+0x758d 033444 fetch 1 ,mem_sp_local_key_invalid 
+0x758e 033445 beq sp_key_valid ,sp_start_send_pubkey 
+0x758f 033446 branch sp_pubkey_calc 
+:      033448 sp_start_send_pubkey:
+0x7590 033449 call sp_dhkey_calc 
+0x7591 033450 fetch 1 ,mem_master_sp_state 
+0x7592 033451 nrtn blank 
+0x7593 033452 jam sp_stat_key_send ,mem_sp_state 
+0x7594 033453 rtn 
+:      033456 sp_calc_check_publickey_256:
+0x7595 033457 call sp_calc_b256 
+0x7596 033458 arg mem_le_pubkey_remote_y_256 ,rega 
+0x7597 033459 arg mem_t7_256 ,contw 
+0x7598 033460 call bn_sqrmod_256 
+0x7599 033461 arg mem_le_pubkey_remote_x_256 ,rega 
+0x759a 033462 arg mem_t2_256 ,contw 
+0x759b 033463 call bn_sqrmod_256 
+0x759c 033464 arg mem_t2_256 ,rega 
+0x759d 033465 arg mem_le_pubkey_remote_x_256 ,regb 
+0x759e 033466 arg mem_t2_256 ,contw 
+0x759f 033467 call bn_mulmod_256 
+0x75a0 033468 arg mem_a_256 ,rega 
+0x75a1 033469 arg mem_le_pubkey_remote_x_256 ,regb 
+0x75a2 033470 arg mem_t3_256 ,contw 
+0x75a3 033471 call bn_mulmod_256 
+0x75a4 033472 arg mem_t3_256 ,rega 
+0x75a5 033473 arg mem_t2_256 ,regb 
+0x75a6 033474 arg mem_t2_256 ,contw 
+0x75a7 033475 call bn_addmod_256 
+0x75a8 033476 arg mem_t0_256 ,rega 
+0x75a9 033477 arg mem_t2_256 ,regb 
+0x75aa 033478 arg mem_t0_256 ,contw 
+0x75ab 033479 call bn_addmod_256 
+0x75ac 033480 arg 32 ,loopcnt 
+0x75ad 033481 arg mem_t7_256 ,rega 
+0x75ae 033482 arg mem_t0_256 ,regb 
+0x75af 033483 branch string_compare 
+:      033485 sp_calc_b256:
+0x75b0 033486 arg mem_gy_256 ,rega 
+0x75b1 033487 arg mem_t0_256 ,contw 
+0x75b2 033488 call bn_sqrmod_256 
+0x75b3 033489 arg mem_gx_256 ,rega 
+0x75b4 033490 arg mem_t2_256 ,contw 
+0x75b5 033491 call bn_sqrmod_256 
+0x75b6 033492 arg mem_t2_256 ,rega 
+0x75b7 033493 arg mem_gx_256 ,regb 
+0x75b8 033494 arg mem_t2_256 ,contw 
+0x75b9 033495 call bn_mulmod_256 
+0x75ba 033496 arg mem_a_256 ,rega 
+0x75bb 033497 arg mem_gx_256 ,regb 
+0x75bc 033498 arg mem_t3_256 ,contw 
+0x75bd 033499 call bn_mulmod_256 
+0x75be 033500 arg mem_t3_256 ,rega 
+0x75bf 033501 arg mem_t2_256 ,regb 
+0x75c0 033502 arg mem_t2_256 ,contw 
+0x75c1 033503 call bn_addmod_256 
+0x75c2 033504 arg mem_t0_256 ,rega 
+0x75c3 033505 arg mem_t2_256 ,regb 
+0x75c4 033506 arg mem_t0_256 ,contw 
+0x75c5 033507 branch bn_submod_256 
+:      033509 sp_calc_check_publickey:
+0x75c6 033510 call sp_calc_b 
+0x75c7 033511 arg mem_sp_pubkey_remote_y ,rega 
+0x75c8 033512 arg mem_t7_256 ,contw 
+0x75c9 033513 call bn_sqrmod 
+0x75ca 033514 arg mem_sp_pubkey_remote_x ,rega 
+0x75cb 033515 arg mem_t2_256 ,contw 
+0x75cc 033516 call bn_sqrmod 
+0x75cd 033517 arg mem_t2_256 ,rega 
+0x75ce 033518 arg mem_sp_pubkey_remote_x ,regb 
+0x75cf 033519 arg mem_t2_256 ,contw 
+0x75d0 033520 call bn_mulmod 
+0x75d1 033521 arg mem_a ,rega 
+0x75d2 033522 arg mem_sp_pubkey_remote_x ,regb 
+0x75d3 033523 arg mem_t3_256 ,contw 
+0x75d4 033524 call bn_mulmod 
+0x75d5 033525 arg mem_t3_256 ,rega 
+0x75d6 033526 arg mem_t2_256 ,regb 
+0x75d7 033527 arg mem_t2_256 ,contw 
+0x75d8 033528 call bn_addmod 
+0x75d9 033529 arg mem_t0_256 ,rega 
+0x75da 033530 arg mem_t2_256 ,regb 
+0x75db 033531 arg mem_t0_256 ,contw 
+0x75dc 033532 call bn_addmod 
+0x75dd 033533 arg 24 ,loopcnt 
+0x75de 033534 arg mem_t7_256 ,rega 
+0x75df 033535 arg mem_t0_256 ,regb 
+0x75e0 033536 branch string_compare 
+:      033538 sp_calc_b:
+0x75e1 033539 arg mem_gy ,rega 
+0x75e2 033540 arg mem_t0_256 ,contw 
+0x75e3 033541 call bn_sqrmod 
+0x75e4 033542 arg mem_gx ,rega 
+0x75e5 033543 arg mem_t2_256 ,contw 
+0x75e6 033544 call bn_sqrmod 
+0x75e7 033545 arg mem_t2_256 ,rega 
+0x75e8 033546 arg mem_gx ,regb 
+0x75e9 033547 arg mem_t2_256 ,contw 
+0x75ea 033548 call bn_mulmod 
+0x75eb 033549 arg mem_a ,rega 
+0x75ec 033550 arg mem_gx ,regb 
+0x75ed 033551 arg mem_t3_256 ,contw 
+0x75ee 033552 call bn_mulmod 
+0x75ef 033553 arg mem_t3_256 ,rega 
+0x75f0 033554 arg mem_t2_256 ,regb 
+0x75f1 033555 arg mem_t2_256 ,contw 
+0x75f2 033556 call bn_addmod 
+0x75f3 033557 arg mem_t0_256 ,rega 
+0x75f4 033558 arg mem_t2_256 ,regb 
+0x75f5 033559 arg mem_t0_256 ,contw 
+0x75f6 033560 branch bn_submod 
+:      033563 sp_calculate_commitment:
+0x75f7 033564 fetch 1 ,mem_sp_calc 
+0x75f8 033565 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x75f9 033566 call sp_local_random_key_generator 
+0x75fa 033567 arg mem_sp_prarm_stack ,contw 
+0x75fb 033568 setarg mem_sp_random_local_end 
+0x75fc 033569 istore 2 ,contw 
+0x75fd 033570 setarg mem_sp_pubkey_local_x_end 
+0x75fe 033571 istore 2 ,contw 
+0x75ff 033572 setarg mem_sp_pubkey_remote_x_end 
+0x7600 033573 istore 2 ,contw 
+0x7601 033574 branch sp_calculate_commitment0 
+:      033575 master_sp_calculate_commitment:
+0x7602 033576 arg mem_sp_prarm_stack ,contw 
+0x7603 033577 setarg mem_sp_random_remote_end 
+0x7604 033578 istore 2 ,contw 
+0x7605 033579 setarg mem_sp_pubkey_remote_x_end 
+0x7606 033580 istore 2 ,contw 
+0x7607 033581 setarg mem_sp_pubkey_local_x_end 
+0x7608 033582 istore 2 ,contw 
+:      033583 sp_calculate_commitment0:
+0x7609 033584 call function_f1 
+0x760a 033585 fetch 1 ,mem_master_sp_state 
+0x760b 033586 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x760c 033587 jam sp_flag_commit ,mem_sp_flag 
+0x760d 033588 jam sp_stat_commit_send ,mem_sp_state 
+0x760e 033589 rtn 
+:      033590 master_sp_calculate_commitment0:
+0x760f 033591 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x7610 033592 call sp_master_generate_local_key 
+0x7611 033593 branch master_set_mem_master_sp_flag 
+:      033595 sp_local_random_key_generator:
+0x7612 033596 arg mem_sp_random_local ,contw 
+0x7613 033597 force 8 ,queue 
+0x7614 033598 branch random_generator 
+:      033600 sp_calculate_commitment_wait_dhkey_calc:
+0x7615 033601 jam sp_flag_commit ,mem_sp_flag 
+0x7616 033602 rtn 
+:      033604 sp_confirm_check:
+0x7617 033606 bpatchx patch3c_6 ,mem_patch3c 
+0x7618 033607 arg mem_addr_value ,contw 
+0x7619 033608 fetch 6 ,mem_lap 
+0x761a 033609 istore 6 ,contw 
+0x761b 033610 fetch 6 ,mem_plap 
+0x761c 033611 istore 6 ,contw 
+0x761d 033612 fetch 3 ,mem_sp_iocap_remote 
+0x761e 033613 istore 3 ,contw 
+0x761f 033615 call function_f3a 
+0x7620 033617 arg mem_sp_calc_result_high ,rega 
+0x7621 033618 arg mem_sp_check_result ,regb 
+0x7622 033619 force 4 ,queue 
+0x7623 033620 call compare4 
+0x7624 033621 nbranch sp_confirm_check_failed ,true 
+0x7625 033623 call sp_confirm_check_success 
+0x7626 033624 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7627 033625 branch tid_set_reply 
+:      033627 sp_confirm_check_success:
+0x7628 033628 fetch 1 ,mem_master_sp_state 
+0x7629 033629 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x762a 033630 jam sp_stat_confirm_calc ,mem_sp_state 
+0x762b 033631 jam sp_flag_commit ,mem_sp_flag 
+0x762c 033632 jam lmp_accepted ,mem_lmo_opcode2 
+0x762d 033633 rtn 
+:      033634 sp_confirm_check_success_master:
+0x762e 033635 jam lmp_accepted ,mem_lmo_opcode2 
+0x762f 033636 jam sp_state_end ,mem_master_sp_state 
+0x7630 033637 branch master_set_mem_master_sp_flag 
+:      033640 sp_confirm_check_failed:
+0x7631 033641 fetch 1 ,mem_master_sp_state 
+0x7632 033642 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x7633 033643 jam sp_stat_null ,mem_sp_state 
+0x7634 033644 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7635 033646 jam authentication_failure_error ,mem_lmo_reason2 
+0x7636 033647 rtn 
+:      033648 sp_confirm_check_failed_master:
+0x7637 033649 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7638 033650 jam sp_stat_null ,mem_master_sp_state 
+0x7639 033651 rtn 
+:      033653 sp_confirm_calc:
+0x763a 033654 fetch 1 ,mem_sp_dh_ready 
+0x763b 033655 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x763c 033656 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x763d 033657 branch master_set_mem_master_sp_flag 
+:      033658 sp_confirm_calc_ready:
+0x763e 033659 arg mem_addr_value ,contw 
+0x763f 033660 fetch 6 ,mem_plap 
+0x7640 033661 istore 6 ,contw 
+0x7641 033662 fetch 6 ,mem_lap 
+0x7642 033663 istore 6 ,contw 
+0x7643 033664 fetch 3 ,mem_sp_iocap_local 
+0x7644 033665 istore 3 ,contw 
+0x7645 033667 call function_f3b 
+0x7646 033668 fetch 1 ,mem_master_sp_state 
+0x7647 033669 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x7648 033670 jam sp_stat_confirm_send ,mem_sp_state 
+0x7649 033671 jam sp_flag_commit ,mem_sp_flag 
+0x764a 033672 rtn 
+:      033673 sp_confirm_calc_master:
+0x764b 033674 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x764c 033675 jam sp_flag_commit ,mem_master_sp_flag 
+0x764d 033676 rtn 
+:      033678 sp_master_key_prarm_push:
+0x764e 033679 arg mem_sp_prarm_stack ,contw 
+0x764f 033680 fetch 6 ,mem_plap 
+0x7650 033681 istore 6 ,contw 
+0x7651 033682 fetch 6 ,mem_lap 
+0x7652 033683 istore 6 ,contw 
+0x7653 033684 setarg mem_sp_random_local_end 
+0x7654 033685 istore 2 ,contw 
+0x7655 033686 setarg mem_sp_random_remote_end 
+0x7656 033687 istore 2 ,contw 
+0x7657 033688 branch sp_link_key_calc 
+:      033689 sp_link_key_prarm_push:
+0x7658 033690 jam sp_stat_done ,mem_sp_state 
+0x7659 033691 arg mem_sp_prarm_stack ,contw 
+0x765a 033692 fetch 6 ,mem_lap 
+0x765b 033693 istore 6 ,contw 
+0x765c 033694 fetch 6 ,mem_plap 
+0x765d 033695 istore 6 ,contw 
+0x765e 033696 setarg mem_sp_random_remote_end 
+0x765f 033697 istore 2 ,contw 
+0x7660 033698 setarg mem_sp_random_local_end 
+0x7661 033699 istore 2 ,contw 
+:      033700 sp_link_key_calc:
+0x7662 033702 arg mem_addr_value ,contw 
+0x7663 033703 fetch 6 ,mem_sp_prarm_stack 
+0x7664 033704 istore 6 ,contw 
+0x7665 033705 fetch 6 ,mem_sp_prarm_stack + 6 
+0x7666 033706 istore 6 ,contw 
+0x7667 033708 call function_f2 
+0x7668 033711 jam 1 ,mem_link_key_exists 
+0x7669 033712 arg mem_link_key ,contw 
+0x766a 033713 arg mem_sp_calc_result_high ,contr 
+0x766b 033714 call memcpy16 
+0x766c 033715 branch generate_linkkey_continue 
+:      033718 sp_pubkey_calc:
+0x766d 033719 bpatchx patch3c_7 ,mem_patch3c 
+0x766e 033720 fetch 1 ,mem_sp_local_key_invalid 
+0x766f 033721 rtnne sp_key_invalid 
+0x7670 033722 fetch 1 ,mem_sp_calc 
+0x7671 033723 rtnne sp_calc_standby 
+0x7672 033724 arg mem_sp_private_key ,contw 
+0x7673 033725 force 11 ,queue 
+0x7674 033726 call random_generator 
+0x7675 033727 random pdata 
+0x7676 033728 rshift pdata ,pdata 
+0x7677 033729 istore 2 ,contw 
+0x7678 033731 arg mem_k ,contw 
+0x7679 033732 arg mem_sp_private_key ,contr 
+0x767a 033733 call memcpy24 
+0x767b 033735 arg mem_ax ,contw 
+0x767c 033736 arg mem_gx ,contr 
+0x767d 033737 call memcpy48 
+0x767e 033739 arg mem_az ,contw 
+0x767f 033740 call bn_zero 
+0x7680 033741 jam 1 ,mem_az 
+0x7681 033743 call eckp_calc_init 
+0x7682 033744 jam sp_calc_pubkey ,mem_sp_calc 
+0x7683 033745 rtn 
+:      033747 sp_pubkey_generated:
+0x7684 033748 arg mem_sp_pubkey_local ,contw 
+0x7685 033749 arg mem_bx ,contr 
+0x7686 033750 call memcpy48 
+0x7687 033751 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x7688 033752 jam sp_calc_standby ,mem_sp_calc 
+0x7689 033753 rtn 
+:      033755 sp_dhkey_calc:
+0x768a 033756 bpatchx patch3d_0 ,mem_patch3d 
+0x768b 033757 fetch 1 ,mem_sp_dhkey_invalid 
+0x768c 033758 rtnne sp_key_invalid 
+0x768d 033759 fetch 1 ,mem_sp_calc 
+0x768e 033760 rtnne sp_calc_standby 
+0x768f 033762 arg mem_k ,contw 
+0x7690 033763 arg mem_sp_private_key ,contr 
+0x7691 033764 call memcpy24 
+0x7692 033766 arg mem_ax ,contw 
+0x7693 033767 arg mem_sp_pubkey_remote ,contr 
+0x7694 033768 call memcpy48 
+0x7695 033770 arg mem_az ,contw 
+0x7696 033771 call bn_zero 
+0x7697 033772 jam 1 ,mem_az 
+0x7698 033774 call eckp_calc_init 
+0x7699 033775 jam sp_calc_dhkey ,mem_sp_calc 
+0x769a 033776 rtn 
+:      033778 sp_dhkey_generated:
+0x769b 033779 jam sp_flag_commit ,mem_sp_dh_ready 
+0x769c 033780 arg mem_sp_dhkey ,contw 
+0x769d 033781 arg mem_bx ,contr 
+0x769e 033782 call memcpy24 
+0x769f 033783 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x76a0 033784 jam sp_calc_standby ,mem_sp_calc 
+0x76a1 033785 rtn 
+:      033787 random_generator:
+0x76a2 033788 increase -1 ,queue 
+0x76a3 033789 nrtn positive 
+0x76a4 033790 random pdata 
+0x76a5 033791 istore 2 ,contw 
+0x76a6 033792 branch random_generator 
+:      033793 compare4:
+0x76a7 033794 increase -1 ,queue 
+0x76a8 033795 nbranch compare4_success ,positive 
+0x76a9 033796 ifetch 4 ,rega 
+0x76aa 033797 copy pdata ,temp 
+0x76ab 033798 ifetch 4 ,regb 
+0x76ac 033799 iflip temp ,pdata 
+0x76ad 033800 nbranch compare4_failed ,zero 
+0x76ae 033801 increase 4 ,rega 
+0x76af 033802 increase 4 ,regb 
+0x76b0 033803 branch compare4 
+:      033804 compare4_failed:
+0x76b1 033805 disable true 
+0x76b2 033806 rtn 
+:      033807 compare4_success:
+0x76b3 033808 enable true 
+0x76b4 033809 rtn 
+:      033816 simple_pairing_sequence:
+0x76b5 033817 bpatchx patch3d_1 ,mem_patch3d 
+0x76b6 033818 fetch 1 ,mem_sp_flag 
+0x76b7 033819 rtn blank 
+0x76b8 033820 call lmo_fifo_check 
+0x76b9 033821 nrtn blank 
+0x76ba 033822 jam sp_flag_standby ,mem_sp_flag 
+0x76bb 033823 fetch 1 ,mem_sp_state 
+0x76bc 033824 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x76bd 033825 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x76be 033826 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x76bf 033827 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x76c0 033828 beq sp_stat_key_generate ,sp_generate_local_key 
+0x76c1 033829 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x76c2 033830 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76c3 033831 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76c4 033832 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x76c5 033834 rtn 
+:      033836 master_simple_paring_sequence:
+0x76c6 033837 bpatchx patch3d_2 ,mem_patch3d 
+0x76c7 033838 fetch 1 ,mem_master_sp_flag 
+0x76c8 033839 rtn blank 
+0x76c9 033840 call lmo_fifo_check 
+0x76ca 033841 nrtn blank 
+0x76cb 033842 jam sp_flag_standby ,mem_master_sp_flag 
+0x76cc 033843 fetch 1 ,mem_master_sp_state 
+0x76cd 033844 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x76ce 033845 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x76cf 033846 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x76d0 033847 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x76d1 033848 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x76d2 033849 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x76d3 033850 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76d4 033851 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x76d5 033852 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76d6 033853 beq sp_state_end ,master_sp_sm_end 
+0x76d7 033854 rtn 
+:      033856 master_set_mem_master_sp_flag:
+0x76d8 033857 jam sp_flag_commit ,mem_master_sp_flag 
+0x76d9 033858 rtn 
+:      033860 master_clear_mem_master_sp_flag:
+0x76da 033861 jam sp_flag_standby ,mem_master_sp_flag 
+0x76db 033862 rtn 
+:      033863 sp_calc_sequence:
+0x76dc 033864 bpatchx patch3d_3 ,mem_patch3d 
+0x76dd 033865 fetch 1 ,mem_ssp_enable 
+0x76de 033866 rtn blank 
+0x76df 033867 fetch 1 ,mem_sp_calc 
+0x76e0 033868 rtn blank 
+0x76e1 033869 increase 0x80 ,pdata 
+0x76e2 033870 store 1 ,mem_sp_calc 
+0x76e3 033871 rtnbit1 7 
+0x76e4 033872 fetch 1 ,mem_ec_loopc 
+0x76e5 033873 branch sp_calc_sequence_done ,blank 
+0x76e6 033874 branch eckp_calc 
+:      033876 sp_calc_sequence_done:
+0x76e7 033877 call ecunmapz 
+0x76e8 033878 fetch 1 ,mem_sp_calc 
+0x76e9 033879 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x76ea 033880 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x76eb 033881 rtn 
+:      033884 bn_testbit:
+0x76ec 033885 and pdata ,7 ,queue 
+0x76ed 033886 rshift3 pdata ,pdata 
+0x76ee 033887 iadd contr ,contr 
+0x76ef 033888 ifetch 1 ,contr 
+0x76f0 033889 qisolate0 pdata 
+0x76f1 033890 rtn 
+:      033893 ec_copy:
+0x76f2 033894 call memcpy24 
+0x76f3 033895 call memcpy24 
+0x76f4 033896 branch memcpy24 
+:      033899 bn_eq_zero:
+0x76f5 033900 ifetch 8 ,contr 
+0x76f6 033901 nrtn blank 
+0x76f7 033902 ifetch 8 ,contr 
+0x76f8 033903 nrtn blank 
+0x76f9 033904 ifetch 8 ,contr 
+0x76fa 033905 rtn 
+:      033910 bn_eq_0:
+0x76fb 033911 ifetch 4 ,rega 
+0x76fc 033912 iforce temp 
+0x76fd 033913 ifetch 4 ,regb 
+0x76fe 033914 isub temp ,null 
+0x76ff 033915 nrtn zero 
+0x7700 033916 increase 4 ,rega 
+0x7701 033917 increase 4 ,regb 
+0x7702 033918 loop bn_eq_0 
+0x7703 033919 rtn 
+:      033922 bn_bigeq:
+0x7704 033923 force 6 ,loopcnt 
+0x7705 033924 increase 20 ,rega 
+0x7706 033925 increase 20 ,regb 
+:      033926 bn_bigeq_0:
+0x7707 033927 ifetch 4 ,regb 
+0x7708 033928 iforce temp 
+0x7709 033929 ifetch 4 ,rega 
+0x770a 033930 isub temp ,pdata 
+0x770b 033931 nrtn positive 
+0x770c 033932 nrtn blank 
+0x770d 033933 increase -4 ,rega 
+0x770e 033934 increase -4 ,regb 
+0x770f 033935 loop bn_bigeq_0 
+0x7710 033936 rtn 
+:      033938 bn_add:
+0x7711 033939 force 6 ,loopcnt 
+0x7712 033940 force 0 ,regc 
+:      033941 bn_add_0:
+0x7713 033942 ifetch 4 ,rega 
+0x7714 033943 iforce temp 
+0x7715 033944 ifetch 4 ,regb 
+0x7716 033945 iadd temp ,pdata 
+0x7717 033946 iadd regc ,pdata 
+0x7718 033947 istore 4 ,contw 
+0x7719 033948 isolate1 32 ,pdata 
+0x771a 033949 setflag true ,0 ,regc 
+0x771b 033950 increase 4 ,rega 
+0x771c 033951 increase 4 ,regb 
+0x771d 033952 loop bn_add_0 
+0x771e 033953 rtn 
+:      033955 bn_sub:
+0x771f 033956 force 6 ,loopcnt 
+0x7720 033957 force 0 ,regc 
+:      033958 bn_sub_0:
+0x7721 033959 ifetch 4 ,regb 
+0x7722 033960 iforce temp 
+0x7723 033961 ifetch 4 ,rega 
+0x7724 033962 isub temp ,pdata 
+0x7725 033963 isub regc ,pdata 
+0x7726 033964 istore 4 ,contw 
+0x7727 033965 isolate1 32 ,pdata 
+0x7728 033966 setflag true ,0 ,regc 
+0x7729 033967 increase 4 ,rega 
+0x772a 033968 increase 4 ,regb 
+0x772b 033969 loop bn_sub_0 
+0x772c 033970 rtn 
+:      033972 bn_rshift6:
+0x772d 033973 force 6 ,loopcnt 
+0x772e 033974 increase 20 ,rega 
+:      033975 bn_rshift:
+0x772f 033976 force 0 ,regc 
+:      033977 bn_rshift_0:
+0x7730 033978 ifetch 4 ,rega 
+0x7731 033979 isolate1 0 ,pdata 
+0x7732 033980 setflag true ,1 ,regc 
+0x7733 033981 rshift pdata ,pdata 
+0x7734 033982 isolate1 0 ,regc 
+0x7735 033983 setflag true ,31 ,pdata 
+0x7736 033984 istore 4 ,rega 
+0x7737 033985 increase -4 ,rega 
+0x7738 033986 rshift regc ,regc 
+0x7739 033987 loop bn_rshift_0 
+0x773a 033988 rtn 
+:      033990 bn_lshift:
+0x773b 033991 force 6 ,loopcnt 
+0x773c 033992 force 0 ,regc 
+:      033993 bn_lshift_0:
+0x773d 033994 ifetch 4 ,rega 
+0x773e 033995 isolate1 31 ,pdata 
+0x773f 033996 setflag true ,1 ,regc 
+0x7740 033997 lshift pdata ,pdata 
+0x7741 033998 isolate1 0 ,regc 
+0x7742 033999 setflag true ,0 ,pdata 
+0x7743 034000 istore 4 ,rega 
+0x7744 034001 increase 4 ,rega 
+0x7745 034002 rshift regc ,regc 
+0x7746 034003 loop bn_lshift_0 
+0x7747 034004 rtn 
+:      034006 bn_lshiftmod:
+0x7748 034007 call bn_lshift 
+:      034008 bn_lshiftmod_ismod:
+0x7749 034009 isolate1 0 ,regc 
+0x774a 034010 branch bn_lshiftmod_0 ,true 
+0x774b 034011 arg mem_p ,regb 
+0x774c 034012 copy rega ,regc 
+0x774d 034013 increase -24 ,rega 
+0x774e 034014 call bn_bigeq 
+0x774f 034015 nrtn positive 
+0x7750 034016 copy regc ,rega 
+:      034017 bn_lshiftmod_0:
+0x7751 034018 increase -24 ,rega 
+0x7752 034019 arg mem_p ,regb 
+0x7753 034020 copy rega ,contw 
+0x7754 034021 branch bn_sub 
+:      034024 bn_addmod:
+0x7755 034025 call bn_add 
+0x7756 034026 copy contw ,rega 
+0x7757 034027 branch bn_lshiftmod_ismod 
+:      034029 bn_submod:
+0x7758 034030 call bn_sub 
+0x7759 034031 isolate0 0 ,regc 
+0x775a 034032 rtn true 
+0x775b 034033 arg mem_p ,regb 
+0x775c 034034 add contw ,-24 ,rega 
+0x775d 034035 copy rega ,contw 
+0x775e 034036 branch bn_add 
+:      034039 bn_p192mod:
+0x775f 034040 copy contw ,timeup 
+0x7760 034041 copy rega ,alarm 
+0x7761 034042 arg mem_tmp2 ,regb 
+0x7762 034043 copy regb ,contw 
+0x7763 034044 add rega ,24 ,contr 
+0x7764 034045 ifetch 8 ,contr 
+0x7765 034046 istore 8 ,contw 
+0x7766 034047 istore 8 ,contw 
+0x7767 034048 force 0 ,pdata 
+0x7768 034049 istore 8 ,contw 
+0x7769 034050 copy timeup ,contw 
+0x776a 034051 call bn_addmod 
+0x776b 034052 arg mem_tmp2 ,regb 
+0x776c 034053 copy regb ,contw 
+0x776d 034054 force 0 ,pdata 
+0x776e 034055 istore 8 ,contw 
+0x776f 034056 add alarm ,32 ,contr 
+0x7770 034057 ifetch 8 ,contr 
+0x7771 034058 istore 8 ,contw 
+0x7772 034059 istore 8 ,contw 
+0x7773 034060 copy timeup ,rega 
+0x7774 034061 copy rega ,contw 
+0x7775 034062 call bn_addmod 
+0x7776 034063 arg mem_tmp2 ,regb 
+0x7777 034064 copy regb ,contw 
+0x7778 034065 add alarm ,40 ,contr 
+0x7779 034066 ifetch 8 ,contr 
+0x777a 034067 istore 8 ,contw 
+0x777b 034068 istore 8 ,contw 
+0x777c 034069 istore 8 ,contw 
+0x777d 034070 copy timeup ,rega 
+0x777e 034071 copy rega ,contw 
+0x777f 034072 branch bn_addmod 
+:      034075 bn_load:
+0x7780 034076 force 6 ,loopcnt 
+:      034077 bn_load_0:
+0x7781 034078 ifetch 4 ,contr 
+0x7782 034079 iforce regext 
+0x7783 034080 increase 1 ,regext_index 
+0x7784 034081 loop bn_load_0 
+0x7785 034082 rtn 
+:      034086 bn_mulmod:
+0x7786 034087 copy contw ,timeup 
+0x7787 034088 arg mem_tmp1 ,contw 
+0x7788 034089 call bn_zero 
+0x7789 034090 arg mem_tmp1 ,contw 
+0x778a 034091 copy rega ,contr 
+0x778b 034092 force 0 ,regext_index 
+0x778c 034093 call bn_load 
+0x778d 034094 copy regb ,contr 
+0x778e 034095 call bn_load 
+0x778f 034096 force 0 ,regb 
+:      034097 bn_mulmod_1:
+0x7790 034098 force 0 ,temp 
+0x7791 034099 force 6 ,regc 
+:      034100 bn_mulmod_0:
+0x7792 034101 ifetch 4 ,contw 
+0x7793 034102 iforce rega 
+0x7794 034103 copy regb ,regext_index 
+0x7795 034104 deposit regext 
+0x7796 034105 copy regc ,regext_index 
+0x7797 034106 imul32 regext ,pdata 
+0x7798 034107 iadd rega ,pdata 
+0x7799 034108 iadd temp ,pdata 
+0x779a 034109 istore 4 ,contw 
+0x779b 034110 rshift32 pdata ,temp 
+0x779c 034111 increase 1 ,regc 
+0x779d 034112 compare 12 ,regc ,0xff 
+0x779e 034113 nbranch bn_mulmod_0 ,true 
+0x779f 034114 deposit temp 
+0x77a0 034115 istore 4 ,contw 
+0x77a1 034116 increase -24 ,contw 
+0x77a2 034117 increase 1 ,regb 
+0x77a3 034118 compare 6 ,regb ,0xff 
+0x77a4 034119 nbranch bn_mulmod_1 ,true 
+0x77a5 034120 arg mem_tmp1 ,rega 
+0x77a6 034121 copy timeup ,contw 
+0x77a7 034122 branch bn_p192mod 
+:      034125 bn_sqrmod:
+0x77a8 034126 copy rega ,regb 
+0x77a9 034127 branch bn_mulmod 
+:      034129 bn_rshifteven:
+0x77aa 034130 copy rega ,alarm 
+:      034131 bn_rshifteven_1:
+0x77ab 034132 copy alarm ,rega 
+0x77ac 034133 ifetch 1 ,rega 
+0x77ad 034134 isolate1 0 ,pdata 
+0x77ae 034135 rtn true 
+0x77af 034136 call bn_rshift6 
+0x77b0 034137 ifetch 1 ,regb 
+0x77b1 034138 isolate0 0 ,pdata 
+0x77b2 034139 branch bn_rshifteven_0 ,true 
+0x77b3 034140 arg mem_p ,rega 
+0x77b4 034141 copy regb ,contw 
+0x77b5 034142 call bn_add 
+0x77b6 034143 ifetch 1 ,regb 
+0x77b7 034144 iadd regc ,pdata 
+0x77b8 034145 istore 1 ,regb 
+0x77b9 034146 increase -24 ,regb 
+:      034147 bn_rshifteven_0:
+0x77ba 034148 add regb ,24 ,rega 
+0x77bb 034149 force 7 ,loopcnt 
+0x77bc 034150 call bn_rshift 
+0x77bd 034151 branch bn_rshifteven_1 
+:      034154 bn_invmod:
+0x77be 034155 copy contw ,timeup 
+0x77bf 034156 arg mem_tmp0 ,contw 
+0x77c0 034157 call bn_zero 
+0x77c1 034158 force 0 ,pdata 
+0x77c2 034159 store 4 ,mem_tmp5 
+0x77c3 034160 store 4 ,mem_t2 
+0x77c4 034161 jam 1 ,mem_tmp0 
+0x77c5 034162 arg mem_tmp1 ,contw 
+0x77c6 034163 call bn_zero 
+0x77c7 034164 arg mem_p ,contr 
+0x77c8 034165 arg mem_tmp2 ,contw 
+0x77c9 034166 call memcpy24 
+0x77ca 034167 copy rega ,contr 
+0x77cb 034168 arg mem_tmp3 ,contw 
+0x77cc 034169 call memcpy24 
+:      034170 bn_invmod_2:
+0x77cd 034171 arg mem_tmp3 ,contr 
+0x77ce 034172 call bn_eq_zero 
+0x77cf 034173 branch bn_invmod_0 ,blank 
+0x77d0 034174 arg mem_tmp3 ,rega 
+0x77d1 034175 arg mem_tmp0 ,regb 
+0x77d2 034176 call bn_rshifteven 
+0x77d3 034178 arg mem_tmp2 ,rega 
+0x77d4 034179 arg mem_tmp1 ,regb 
+0x77d5 034180 call bn_rshifteven 
+0x77d6 034181 arg mem_tmp3 ,rega 
+0x77d7 034182 arg mem_tmp2 ,regb 
+0x77d8 034183 call bn_bigeq 
+0x77d9 034184 branch bn_invmod_1 ,positive 
+0x77da 034185 arg mem_tmp2 ,rega 
+0x77db 034186 arg mem_tmp3 ,regb 
+0x77dc 034187 copy rega ,contw 
+0x77dd 034188 call bn_sub 
+0x77de 034189 arg mem_tmp0 ,rega 
+0x77df 034190 arg mem_tmp1 ,regb 
+0x77e0 034191 copy regb ,contw 
+0x77e1 034192 call bn_add 
+0x77e2 034193 ifetch 1 ,rega 
+0x77e3 034194 iadd regc ,regc 
+0x77e4 034195 ifetch 1 ,regb 
+0x77e5 034196 iadd regc ,pdata 
+0x77e6 034197 istore 1 ,regb 
+0x77e7 034198 branch bn_invmod_2 
+:      034199 bn_invmod_1:
+0x77e8 034200 arg mem_tmp3 ,rega 
+0x77e9 034201 arg mem_tmp2 ,regb 
+0x77ea 034202 copy rega ,contw 
+0x77eb 034203 call bn_sub 
+0x77ec 034204 arg mem_tmp1 ,rega 
+0x77ed 034205 arg mem_tmp0 ,regb 
+0x77ee 034206 copy regb ,contw 
+0x77ef 034207 call bn_add 
+0x77f0 034208 ifetch 1 ,rega 
+0x77f1 034209 iadd regc ,regc 
+0x77f2 034210 ifetch 1 ,regb 
+0x77f3 034211 iadd regc ,pdata 
+0x77f4 034212 istore 1 ,regb 
+0x77f5 034213 branch bn_invmod_2 
+:      034214 bn_invmod_0:
+0x77f6 034215 arg mem_tmp0 ,contw 
+0x77f7 034216 call bn_zero 
+0x77f8 034217 fetch 1 ,mem_tmp5 
+0x77f9 034218 store 1 ,mem_tmp0 
+0x77fa 034219 store 1 ,mem_tmp0a 
+0x77fb 034220 arg mem_tmp0 ,rega 
+0x77fc 034221 arg mem_tmp1 ,regb 
+0x77fd 034222 copy regb ,contw 
+0x77fe 034223 call bn_addmod 
+0x77ff 034224 arg mem_p ,rega 
+0x7800 034225 arg mem_tmp1 ,regb 
+0x7801 034226 copy timeup ,contw 
+0x7802 034227 branch bn_submod 
+:      034232 ecdbl:
+0x7803 034233 arg mem_cz ,rega 
+0x7804 034234 arg mem_t2 ,contw 
+0x7805 034235 call bn_sqrmod 
+0x7806 034236 arg mem_t2 ,rega 
+0x7807 034237 arg mem_t3 ,contw 
+0x7808 034238 call bn_sqrmod 
+0x7809 034239 arg mem_a ,rega 
+0x780a 034240 arg mem_t3 ,regb 
+0x780b 034241 arg mem_t3 ,contw 
+0x780c 034242 call bn_mulmod 
+0x780d 034243 arg mem_cx ,rega 
+0x780e 034244 arg mem_t2 ,contw 
+0x780f 034245 call bn_sqrmod 
+0x7810 034246 arg mem_t2 ,contr 
+0x7811 034247 arg mem_t1 ,contw 
+0x7812 034248 call memcpy24 
+0x7813 034249 arg mem_t1 ,rega 
+0x7814 034250 call bn_lshiftmod 
+0x7815 034251 arg mem_t2 ,rega 
+0x7816 034252 arg mem_t1 ,regb 
+0x7817 034253 arg mem_t2 ,contw 
+0x7818 034254 call bn_addmod 
+0x7819 034255 arg mem_t2 ,rega 
+0x781a 034256 arg mem_t3 ,regb 
+0x781b 034257 arg mem_t2 ,contw 
+0x781c 034258 call bn_addmod 
+0x781d 034259 arg mem_cx ,contr 
+0x781e 034260 arg mem_t1 ,contw 
+0x781f 034261 call memcpy24 
+0x7820 034262 arg mem_cy ,rega 
+0x7821 034263 arg mem_t3 ,contw 
+0x7822 034264 call bn_sqrmod 
+0x7823 034265 arg mem_t1 ,rega 
+0x7824 034266 call bn_lshiftmod 
+0x7825 034267 arg mem_t1 ,rega 
+0x7826 034268 call bn_lshiftmod 
+0x7827 034269 arg mem_t1 ,rega 
+0x7828 034270 arg mem_t3 ,regb 
+0x7829 034271 arg mem_t1 ,contw 
+0x782a 034272 call bn_mulmod 
+0x782b 034273 arg mem_t3 ,rega 
+0x782c 034274 arg mem_t0 ,contw 
+0x782d 034275 call bn_sqrmod 
+0x782e 034276 arg mem_t0 ,rega 
+0x782f 034277 call bn_lshiftmod 
+0x7830 034278 arg mem_t0 ,rega 
+0x7831 034279 call bn_lshiftmod 
+0x7832 034280 arg mem_t0 ,rega 
+0x7833 034281 call bn_lshiftmod 
+0x7834 034282 arg mem_cy ,contr 
+0x7835 034283 arg mem_t3 ,contw 
+0x7836 034284 call memcpy24 
+0x7837 034285 arg mem_t3 ,rega 
+0x7838 034286 call bn_lshiftmod 
+0x7839 034287 arg mem_t3 ,rega 
+0x783a 034288 arg mem_cz ,regb 
+0x783b 034289 arg mem_cz ,contw 
+0x783c 034290 call bn_mulmod 
+0x783d 034291 arg mem_t2 ,rega 
+0x783e 034292 arg mem_t3 ,contw 
+0x783f 034293 call bn_sqrmod 
+0x7840 034294 arg mem_t3 ,rega 
+0x7841 034295 arg mem_t1 ,regb 
+0x7842 034296 arg mem_t3 ,contw 
+0x7843 034297 call bn_submod 
+0x7844 034298 arg mem_t3 ,rega 
+0x7845 034299 arg mem_t1 ,regb 
+0x7846 034300 arg mem_cx ,contw 
+0x7847 034301 call bn_submod 
+0x7848 034302 arg mem_t1 ,rega 
+0x7849 034303 arg mem_cx ,regb 
+0x784a 034304 arg mem_t3 ,contw 
+0x784b 034305 call bn_submod 
+0x784c 034306 arg mem_t3 ,rega 
+0x784d 034307 arg mem_t2 ,regb 
+0x784e 034308 arg mem_t3 ,contw 
+0x784f 034309 call bn_mulmod 
+0x7850 034310 arg mem_t3 ,rega 
+0x7851 034311 arg mem_t0 ,regb 
+0x7852 034312 arg mem_cy ,contw 
+0x7853 034313 branch bn_submod 
+:      034317 ecadd:
+0x7854 034318 arg mem_az ,rega 
+0x7855 034319 arg mem_t7 ,contw 
+0x7856 034320 call bn_sqrmod 
+0x7857 034321 arg mem_cx ,rega 
+0x7858 034322 arg mem_t7 ,regb 
+0x7859 034323 arg mem_t0 ,contw 
+0x785a 034324 call bn_mulmod 
+0x785b 034325 arg mem_az ,rega 
+0x785c 034326 arg mem_t7 ,regb 
+0x785d 034327 arg mem_t7 ,contw 
+0x785e 034328 call bn_mulmod 
+0x785f 034329 arg mem_cy ,rega 
+0x7860 034330 arg mem_t7 ,regb 
+0x7861 034331 arg mem_t1 ,contw 
+0x7862 034332 call bn_mulmod 
+0x7863 034333 arg mem_cz ,rega 
+0x7864 034334 arg mem_t7 ,contw 
+0x7865 034335 call bn_sqrmod 
+0x7866 034336 arg mem_ax ,rega 
+0x7867 034337 arg mem_t7 ,regb 
+0x7868 034338 arg mem_t2 ,contw 
+0x7869 034339 call bn_mulmod 
+0x786a 034340 arg mem_cz ,rega 
+0x786b 034341 arg mem_t7 ,regb 
+0x786c 034342 arg mem_t7 ,contw 
+0x786d 034343 call bn_mulmod 
+0x786e 034344 arg mem_ay ,rega 
+0x786f 034345 arg mem_t7 ,regb 
+0x7870 034346 arg mem_t3 ,contw 
+0x7871 034347 call bn_mulmod 
+0x7872 034348 arg mem_t0 ,rega 
+0x7873 034349 arg mem_t2 ,regb 
+0x7874 034350 arg mem_t7 ,contw 
+0x7875 034351 call bn_submod 
+0x7876 034352 arg mem_t0 ,rega 
+0x7877 034353 arg mem_t2 ,regb 
+0x7878 034354 arg mem_t0 ,contw 
+0x7879 034355 call bn_addmod 
+0x787a 034356 arg mem_t1 ,rega 
+0x787b 034357 arg mem_t3 ,regb 
+0x787c 034358 arg mem_t2 ,contw 
+0x787d 034359 call bn_submod 
+0x787e 034360 arg mem_t1 ,rega 
+0x787f 034361 arg mem_t3 ,regb 
+0x7880 034362 arg mem_t1 ,contw 
+0x7881 034363 call bn_addmod 
+0x7882 034364 arg mem_t1 ,rega 
+0x7883 034365 arg mem_t7 ,regb 
+0x7884 034366 arg mem_t1 ,contw 
+0x7885 034367 call bn_mulmod 
+0x7886 034368 arg mem_cz ,rega 
+0x7887 034369 arg mem_az ,regb 
+0x7888 034370 arg mem_t3 ,contw 
+0x7889 034371 call bn_mulmod 
+0x788a 034372 arg mem_t3 ,rega 
+0x788b 034373 arg mem_t7 ,regb 
+0x788c 034374 arg mem_cz ,contw 
+0x788d 034375 call bn_mulmod 
+0x788e 034376 arg mem_t7 ,rega 
+0x788f 034377 arg mem_t7 ,contw 
+0x7890 034378 call bn_sqrmod 
+0x7891 034379 arg mem_t7 ,rega 
+0x7892 034380 arg mem_t0 ,regb 
+0x7893 034381 arg mem_t3 ,contw 
+0x7894 034382 call bn_mulmod 
+0x7895 034383 arg mem_t7 ,rega 
+0x7896 034384 arg mem_t1 ,regb 
+0x7897 034385 arg mem_t1 ,contw 
+0x7898 034386 call bn_mulmod 
+0x7899 034387 arg mem_t2 ,rega 
+0x789a 034388 arg mem_cx ,contw 
+0x789b 034389 call bn_sqrmod 
+0x789c 034390 arg mem_cx ,rega 
+0x789d 034391 arg mem_t3 ,regb 
+0x789e 034392 arg mem_cx ,contw 
+0x789f 034393 call bn_submod 
+0x78a0 034394 arg mem_cx ,contr 
+0x78a1 034395 arg mem_t7 ,contw 
+0x78a2 034396 call memcpy24 
+0x78a3 034397 arg mem_t7 ,rega 
+0x78a4 034398 call bn_lshiftmod 
+0x78a5 034399 arg mem_t3 ,rega 
+0x78a6 034400 arg mem_t7 ,regb 
+0x78a7 034401 arg mem_t3 ,contw 
+0x78a8 034402 call bn_submod 
+0x78a9 034403 arg mem_t3 ,rega 
+0x78aa 034404 arg mem_t2 ,regb 
+0x78ab 034405 arg mem_t2 ,contw 
+0x78ac 034406 call bn_mulmod 
+0x78ad 034407 arg mem_t2 ,rega 
+0x78ae 034408 arg mem_t1 ,regb 
+0x78af 034409 arg mem_cy ,contw 
+0x78b0 034410 call bn_submod 
+0x78b1 034411 arg mem_cy ,rega 
+0x78b2 034412 arg mem_p ,regb 
+0x78b3 034413 arg mem_cy ,contw 
+0x78b4 034414 force 0 ,regc 
+0x78b5 034415 fetch 1 ,mem_cy 
+0x78b6 034416 isolate1 0 ,pdata 
+0x78b7 034417 call bn_add ,true 
+0x78b8 034418 copy regc ,alarm 
+0x78b9 034419 arg mem_cy ,rega 
+0x78ba 034420 call bn_rshift6 
+0x78bb 034421 fetch 1 ,mem_cy5 
+0x78bc 034422 isolate1 0 ,alarm 
+0x78bd 034423 setflag true ,7 ,pdata 
+0x78be 034424 store 1 ,mem_cy5 
+0x78bf 034425 rtn 
+:      034429 eckp_0:
+0x78c0 034430 fetch 1 ,mem_ec_loopc 
+0x78c1 034431 increase -1 ,pdata 
+0x78c2 034432 nrtn positive 
+0x78c3 034433 store 1 ,mem_ec_loopc 
+0x78c4 034434 fetch 1 ,mem_ec_infinite 
+0x78c5 034435 call ecdbl ,blank 
+0x78c6 034436 fetch 1 ,mem_ec_loopc 
+0x78c7 034437 arg mem_k ,contr 
+0x78c8 034438 call bn_testbit 
+0x78c9 034439 branch eckp_0 ,true 
+0x78ca 034440 fetch 1 ,mem_ec_infinite 
+0x78cb 034441 nbranch eckp_1 ,blank 
+0x78cc 034442 call ecadd 
+0x78cd 034443 branch eckp_0 
+:      034444 eckp_1:
+0x78ce 034445 jam 0 ,mem_ec_infinite 
+0x78cf 034446 arg mem_ax ,contr 
+0x78d0 034447 arg mem_cx ,contw 
+0x78d1 034448 call ec_copy 
+0x78d2 034449 branch eckp_0 
+:      034452 ecunmapz:
+0x78d3 034453 arg mem_cz ,rega 
+0x78d4 034454 arg mem_t3 ,contw 
+0x78d5 034455 call bn_invmod 
+0x78d6 034456 arg mem_t3 ,rega 
+0x78d7 034457 arg mem_t1 ,contw 
+0x78d8 034458 call bn_sqrmod 
+0x78d9 034459 arg mem_cx ,rega 
+0x78da 034460 arg mem_t1 ,regb 
+0x78db 034461 arg mem_bx ,contw 
+0x78dc 034462 call bn_mulmod 
+0x78dd 034463 arg mem_t3 ,rega 
+0x78de 034464 arg mem_t1 ,regb 
+0x78df 034465 arg mem_t2 ,contw 
+0x78e0 034466 call bn_mulmod 
+0x78e1 034467 arg mem_cy ,rega 
+0x78e2 034468 arg mem_t2 ,regb 
+0x78e3 034469 arg mem_by ,contw 
+0x78e4 034470 branch bn_mulmod 
+:      034474 sha_endian_swap2:
+0x78e5 034475 ifetch 4 ,contr 
+0x78e6 034476 force 4 ,rega 
+0x78e7 034477 increase 3 ,contw 
+:      034478 sha_endian_loop:
+0x78e8 034479 istore 1 ,contw 
+0x78e9 034480 rshift8 pdata ,pdata 
+0x78ea 034481 increase -2 ,contw 
+0x78eb 034482 increase -1 ,rega 
+0x78ec 034483 nbranch sha_endian_loop ,zero 
+0x78ed 034484 increase 5 ,contw 
+0x78ee 034485 loop sha_endian_swap2 
+0x78ef 034486 rtn 
+:      034489 sha_getw:
+0x78f0 034490 lshift2 queue ,pdata 
+0x78f1 034491 iadd timeup ,contr 
+0x78f2 034492 ifetch 4 ,contr 
+0x78f3 034493 rtn 
+:      034495 sha_r:
+0x78f4 034496 force 16 ,alarm 
+0x78f5 034497 arg memdat ,timeup 
+:      034498 sha_r_loop:
+0x78f6 034499 add alarm ,-7 ,queue 
+0x78f7 034500 call sha_getw 
+0x78f8 034501 iforce temp 
+0x78f9 034502 add alarm ,-16 ,queue 
+0x78fa 034503 call sha_getw 
+0x78fb 034504 iadd temp ,temp 
+0x78fc 034505 add alarm ,-2 ,queue 
+0x78fd 034506 call sha_getw 
+0x78fe 034507 shasx pdata ,1 ,pdata 
+0x78ff 034508 iadd temp ,temp 
+0x7900 034509 add alarm ,-15 ,queue 
+0x7901 034510 call sha_getw 
+0x7902 034511 shasx pdata ,0 ,pdata 
+0x7903 034512 iadd temp ,temp 
+0x7904 034513 lshift2 alarm ,pdata 
+0x7905 034514 iadd timeup ,contw 
+0x7906 034515 istoret 4 ,contw 
+0x7907 034516 increase 1 ,alarm 
+0x7908 034517 compare 64 ,alarm ,0xff 
+0x7909 034518 nbranch sha_r_loop ,true 
+0x790a 034519 rtn 
+:      034522 sha_init:
+0x790b 034523 arg memh0 ,contr 
+0x790c 034524 force 7 ,regext_index 
+:      034525 sha_init_0:
+0x790d 034526 ifetch 4 ,contr 
+0x790e 034527 iforce regext 
+0x790f 034528 increase -1 ,regext_index 
+0x7910 034529 branch sha_init_0 ,positive 
+0x7911 034530 rtn 
+:      034532 sha:
+0x7912 034533 bpatchx patch3d_4 ,mem_patch3d 
+0x7913 034534 call sha_r 
+0x7914 034535 arg memahbak ,contw 
+0x7915 034536 force 0 ,regext_index 
+:      034537 sha_0:
+0x7916 034538 deposit regext 
+0x7917 034539 istore 4 ,contw 
+0x7918 034540 increase 1 ,regext_index 
+0x7919 034541 compare 8 ,regext_index ,0xff 
+0x791a 034542 nbranch sha_0 ,true 
+0x791b 034543 call enable_authrom 
+0x791c 034544 arg memk ,timeup 
+0x791d 034545 arg memdat ,alarm 
+0x791e 034546 force 64 ,loopcnt 
+:      034547 sha_loop:
+0x791f 034548 ifetcht 4 ,alarm 
+0x7920 034549 ifetch 4 ,timeup 
+0x7921 034550 increase 4 ,timeup 
+0x7922 034551 increase 4 ,alarm 
+0x7923 034552 iadd temp ,pdata 
+0x7924 034553 force 7 ,regext_index 
+0x7925 034554 iadd regext ,temp 
+0x7926 034555 force 4 ,regext_index 
+0x7927 034556 shasx regext ,3 ,pdata 
+0x7928 034557 iadd temp ,temp 
+0x7929 034558 force 5 ,regext_index 
+0x792a 034559 deposit regext 
+0x792b 034560 force 6 ,regext_index 
+0x792c 034561 ixor regext ,pdata 
+0x792d 034562 force 4 ,regext_index 
+0x792e 034563 iand regext ,pdata 
+0x792f 034564 force 6 ,regext_index 
+0x7930 034565 ixor regext ,pdata 
+0x7931 034566 iadd temp ,temp 
+0x7932 034567 force 7 ,regext_index 
+0x7933 034568 copy temp ,regext 
+0x7934 034569 force 3 ,regext_index 
+0x7935 034570 deposit regext 
+0x7936 034571 iadd temp ,regext 
+0x7937 034572 force 0 ,regext_index 
+0x7938 034573 deposit regext 
+0x7939 034574 force 1 ,regext_index 
+0x793a 034575 iand regext ,temp 
+0x793b 034576 ior regext ,pdata 
+0x793c 034577 force 2 ,regext_index 
+0x793d 034578 iand regext ,pdata 
+0x793e 034579 ior temp ,temp 
+0x793f 034580 force 0 ,regext_index 
+0x7940 034581 shasx regext ,2 ,pdata 
+0x7941 034582 iadd temp ,pdata 
+0x7942 034583 force 7 ,regext_index 
+0x7943 034584 iadd regext ,regext 
+0x7944 034585 regexrot 
+0x7945 034586 loop sha_loop 
+0x7946 034587 arg memahbak ,contr 
+0x7947 034588 force 0 ,regext_index 
+:      034589 sha_1:
+0x7948 034590 ifetch 4 ,contr 
+0x7949 034591 iadd regext ,regext 
+0x794a 034592 increase 1 ,regext_index 
+0x794b 034593 compare 8 ,regext_index ,0xff 
+0x794c 034594 nbranch sha_1 ,true 
+0x794d 034595 branch disable_authrom 
+:      034598 sha_result:
+0x794e 034599 arg memresult ,contw 
+0x794f 034600 force 7 ,regext_index 
+:      034601 sha_regext_save:
+0x7950 034602 deposit regext 
+0x7951 034603 istore 4 ,contw 
+0x7952 034604 increase -1 ,regext_index 
+0x7953 034605 branch sha_regext_save ,positive 
+0x7954 034606 rtn 
+:      034608 pad_xor:
+0x7955 034610 arg memdat ,contw 
+0x7956 034611 increase -4 ,contr 
+0x7957 034612 sub loopcnt ,16 ,rega 
+:      034613 pad_xor_0:
+0x7958 034614 ifetch 4 ,contr 
+0x7959 034615 ixor temp ,pdata 
+0x795a 034616 istore 4 ,contw 
+0x795b 034617 increase -8 ,contr 
+0x795c 034618 loop pad_xor_0 
+0x795d 034619 copy rega ,loopcnt 
+0x795e 034620 deposit temp 
+:      034621 pad_xor_1:
+0x795f 034622 istore 4 ,contw 
+0x7960 034623 loop pad_xor_1 
+0x7961 034624 rtn 
+:      034626 g_noninit_number_confirm:
+0x7962 034627 call g_noninit0 
+0x7963 034628 call sha_result 
+0x7964 034629 branch g_common0 
+:      034631 g_noninit:
+0x7965 034632 call g_noninit0 
+0x7966 034633 branch g_common0 
+:      034635 g_noninit0:
+0x7967 034636 arg mem_sp_pubkey_remote_x_end ,contr 
+0x7968 034637 arg memdat ,contw 
+0x7969 034638 force 6 ,loopcnt 
+0x796a 034639 call memcpy_dword_swap 
+0x796b 034640 arg mem_sp_pubkey_local_x_end ,contr 
+0x796c 034641 force 6 ,loopcnt 
+0x796d 034642 call memcpy_dword_swap 
+0x796e 034643 arg mem_sp_random_remote_end ,contr 
+0x796f 034644 call memcpy_dword_swap4 
+0x7970 034645 call sha_init 
+0x7971 034646 call sha 
+0x7972 034647 arg mem_sp_random_local_end ,contr 
+0x7973 034648 arg memdat ,contw 
+0x7974 034649 branch g_common 
+:      034651 g_init:
+0x7975 034652 arg mem_sp_pubkey_local_x_end ,contr 
+0x7976 034653 arg memdat ,contw 
+0x7977 034654 force 6 ,loopcnt 
+0x7978 034655 call memcpy_dword_swap 
+0x7979 034656 arg mem_sp_pubkey_remote_x_end ,contr 
+0x797a 034657 force 6 ,loopcnt 
+0x797b 034658 call memcpy_dword_swap 
+0x797c 034659 arg mem_sp_random_local_end ,contr 
+0x797d 034660 call memcpy_dword_swap4 
+0x797e 034661 call sha_init 
+0x797f 034662 call sha 
+0x7980 034663 arg mem_sp_random_remote_end ,contr 
+0x7981 034664 arg memdat ,contw 
+0x7982 034665 call g_common 
+0x7983 034666 branch g_common0 
+:      034668 g_common:
+0x7984 034669 call memcpy_dword_swap4 
+0x7985 034670 setarg 0x800000 
+0x7986 034671 lshift8 pdata ,pdata 
+0x7987 034672 istore 4 ,contw 
+0x7988 034673 force 5 ,loopcnt 
+0x7989 034674 call memset0 
+0x798a 034675 setarg 640 
+0x798b 034676 istore 4 ,contw 
+0x798c 034677 branch sha 
+:      034678 g_common0:
+0x798d 034679 fetch 4 ,memresult 
+0x798e 034681 arg 1000 ,rega 
+0x798f 034682 idiv rega 
+0x7990 034683 call wait_div_end 
+0x7991 034684 remainder pdata 
+0x7992 034685 store 4 ,mem_gkey 
+0x7993 034686 quotient pdata 
+0x7994 034687 arg 1000 ,rega 
+0x7995 034688 idiv rega 
+0x7996 034689 call wait_div_end 
+0x7997 034690 remainder pdata 
+0x7998 034691 arg 1000 ,rega 
+0x7999 034692 imul32 rega ,pdata 
+0x799a 034693 fetcht 4 ,mem_gkey 
+0x799b 034694 iadd temp ,pdata 
+0x799c 034695 store 4 ,mem_gkey 
+0x799d 034696 rtn 
+:      034698 function_f1_no_key:
+0x799e 034699 jam 0 ,mem_passkey_1bit 
+0x799f 034700 branch function_f1_common 
+:      034702 function_f1:
+0x79a0 034703 fetch 1 ,mem_ssp_mode_flag 
+0x79a1 034704 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      034705 function_f1_common:
+0x79a2 034706 bpatchx patch3d_5 ,mem_patch3d 
+0x79a3 034707 setarg 0x363636 
+0x79a4 034708 lshift8 pdata ,temp 
+0x79a5 034709 or_into 0x36 ,temp 
+0x79a6 034710 fetch 2 ,mem_sp_prarm_stack 
+0x79a7 034711 copy pdata ,contr 
+0x79a8 034712 force 4 ,loopcnt 
+0x79a9 034713 call pad_xor 
+0x79aa 034714 call sha_init 
+0x79ab 034715 call sha 
+0x79ac 034716 fetch 2 ,mem_sp_prarm_stack + 2 
+0x79ad 034717 copy pdata ,contr 
+0x79ae 034718 arg memdat ,contw 
+0x79af 034719 force 6 ,loopcnt 
+0x79b0 034720 call memcpy_dword_swap 
+0x79b1 034721 fetch 2 ,mem_sp_prarm_stack + 4 
+0x79b2 034722 copy pdata ,contr 
+0x79b3 034723 force 6 ,loopcnt 
+0x79b4 034724 call memcpy_dword_swap 
+0x79b5 034725 setarg 0x800000 
+0x79b6 034726 istore 3 ,contw 
+0x79b7 034728 fetch 1 ,mem_passkey_1bit 
+0x79b8 034730 istore 1 ,contw 
+0x79b9 034731 force 0 ,pdata 
+0x79ba 034732 istore 8 ,contw 
+0x79bb 034733 setarg 0x0388 
+0x79bc 034734 istore 4 ,contw 
+0x79bd 034735 call sha 
+0x79be 034736 call sha_result 
+0x79bf 034737 arg memresult ,contr 
+0x79c0 034738 arg memahsave ,contw 
+0x79c1 034739 call memcpy32 
+0x79c2 034741 setarg 0x5c5c5c 
+0x79c3 034742 lshift8 pdata ,temp 
+0x79c4 034743 or_into 0x5c ,temp 
+0x79c5 034744 fetch 2 ,mem_sp_prarm_stack 
+0x79c6 034745 copy pdata ,contr 
+0x79c7 034746 force 4 ,loopcnt 
+0x79c8 034747 call pad_xor 
+0x79c9 034748 call sha_init 
+0x79ca 034749 call sha 
+0x79cb 034750 arg memahsave_end ,contr 
+0x79cc 034751 arg memdat ,contw 
+0x79cd 034752 force 8 ,loopcnt 
+0x79ce 034753 call memcpy_dword_swap 
+0x79cf 034754 setarg 0x800000 
+0x79d0 034755 lshift8 pdata ,pdata 
+0x79d1 034756 istore 4 ,contw 
+0x79d2 034757 call bn_zero 
+0x79d3 034758 setarg 0x0300 
+0x79d4 034759 istore 4 ,contw 
+0x79d5 034760 call sha 
+0x79d6 034761 branch sha_result 
+:      034764 function_f2:
+0x79d7 034765 setarg 0x363636 
+0x79d8 034766 lshift8 pdata ,temp 
+0x79d9 034767 or_into 0x36 ,temp 
+0x79da 034768 arg mem_sp_dhkey_end ,contr 
+0x79db 034769 force 6 ,loopcnt 
+0x79dc 034770 call pad_xor 
+0x79dd 034771 call sha_init 
+0x79de 034772 call sha 
+0x79df 034773 fetch 2 ,mem_sp_prarm_stack + 12 
+0x79e0 034774 copy pdata ,contr 
+0x79e1 034775 arg memdat ,contw 
+0x79e2 034776 call memcpy_dword_swap4 
+0x79e3 034777 fetch 2 ,mem_sp_prarm_stack + 14 
+0x79e4 034778 copy pdata ,contr 
+0x79e5 034779 call memcpy_dword_swap4 
+0x79e6 034781 setarg 0x62746c 
+0x79e7 034782 lshift8 pdata ,pdata 
+0x79e8 034783 or_into 0x6b ,pdata 
+0x79e9 034784 istore 4 ,contw 
+0x79ea 034785 arg mem_addr_value_end ,contr 
+0x79eb 034786 force 3 ,loopcnt 
+0x79ec 034787 call memcpy_dword_swap 
+0x79ed 034789 setarg 0x800000 
+0x79ee 034790 lshift8 pdata ,pdata 
+0x79ef 034791 istore 4 ,contw 
+0x79f0 034792 force 0 ,pdata 
+0x79f1 034793 istore 8 ,contw 
+0x79f2 034794 setarg 0x0380 
+0x79f3 034795 istore 4 ,contw 
+0x79f4 034796 call sha 
+0x79f5 034798 call sha_result 
+0x79f6 034799 arg memresult ,contr 
+0x79f7 034800 arg memahsave ,contw 
+0x79f8 034801 call memcpy32 
+0x79f9 034803 setarg 0x5c5c5c 
+0x79fa 034804 lshift8 pdata ,temp 
+0x79fb 034805 or_into 0x5c ,temp 
+0x79fc 034806 arg mem_sp_dhkey_end ,contr 
+0x79fd 034807 force 6 ,loopcnt 
+0x79fe 034808 call pad_xor 
+0x79ff 034809 call sha_init 
+0x7a00 034810 call sha 
+0x7a01 034811 arg memahsave_end ,contr 
+0x7a02 034812 arg memdat ,contw 
+0x7a03 034813 force 8 ,loopcnt 
+0x7a04 034814 call memcpy_dword_swap 
+0x7a05 034815 setarg 0x800000 
+0x7a06 034816 lshift8 pdata ,pdata 
+0x7a07 034817 istore 4 ,contw 
+0x7a08 034818 call bn_zero 
+0x7a09 034819 setarg 0x0300 
+0x7a0a 034820 istore 4 ,contw 
+0x7a0b 034821 call sha 
+0x7a0c 034822 branch sha_result 
+:      034825 function_f3a:
+0x7a0d 034826 fetch 1 ,mem_ssp_mode_flag 
+0x7a0e 034827 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      034828 function_f3a_common:
+0x7a0f 034829 bpatchx patch3d_6 ,mem_patch3d 
+0x7a10 034830 setarg 0x363636 
+0x7a11 034831 lshift8 pdata ,temp 
+0x7a12 034832 or_into 0x36 ,temp 
+0x7a13 034833 arg mem_sp_dhkey_end ,contr 
+0x7a14 034834 force 6 ,loopcnt 
+0x7a15 034835 call pad_xor 
+0x7a16 034836 call sha_init 
+0x7a17 034837 call sha 
+0x7a18 034838 arg mem_sp_random_remote_end ,contr 
+0x7a19 034839 arg memdat ,contw 
+0x7a1a 034840 call memcpy_dword_swap4 
+0x7a1b 034841 arg mem_sp_random_local_end ,contr 
+0x7a1c 034842 call memcpy_dword_swap4 
+0x7a1d 034843 branch function_f3_common 
+:      034845 function_f3a_no_pin:
+0x7a1e 034846 setarg 0 
+0x7a1f 034847 store 4 ,mem_pin 
+0x7a20 034848 branch function_f3a_common 
+:      034850 function_f3b_no_pin:
+0x7a21 034851 setarg 0 
+0x7a22 034852 store 4 ,mem_pin 
+0x7a23 034853 branch function_f3b_common 
+:      034856 function_f3b:
+0x7a24 034857 fetch 1 ,mem_ssp_mode_flag 
+0x7a25 034858 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      034859 function_f3b_common:
+0x7a26 034860 setarg 0x363636 
+0x7a27 034861 lshift8 pdata ,temp 
+0x7a28 034862 or_into 0x36 ,temp 
+0x7a29 034863 arg mem_sp_dhkey_end ,contr 
+0x7a2a 034864 force 6 ,loopcnt 
+0x7a2b 034865 call pad_xor 
+0x7a2c 034866 call sha_init 
+0x7a2d 034867 call sha 
+0x7a2e 034869 arg mem_sp_random_local_end ,contr 
+0x7a2f 034870 arg memdat ,contw 
+0x7a30 034871 call memcpy_dword_swap4 
+0x7a31 034872 arg mem_sp_random_remote_end ,contr 
+0x7a32 034873 call memcpy_dword_swap4 
+:      034874 function_f3_common:
+0x7a33 034875 setarg 0x0 
+0x7a34 034876 istore 8 ,contw 
+0x7a35 034877 istore 4 ,contw 
+0x7a36 034878 fetch 4 ,mem_pin 
+0x7a37 034879 istore 4 ,contw 
+0x7a38 034881 copy contw ,temp 
+0x7a39 034882 jam 0x80 ,mem_addr_padding 
+0x7a3a 034883 copy temp ,contw 
+0x7a3b 034884 arg mem_addr_iocap_end ,contr 
+0x7a3c 034885 call memcpy_dword_swap4 
+0x7a3d 034887 call sha 
+0x7a3e 034889 arg memdat ,contw 
+0x7a3f 034890 force 7 ,loopcnt 
+0x7a40 034891 call memset0 
+0x7a41 034892 istore 4 ,contw 
+0x7a42 034893 setarg 0x03F8 
+0x7a43 034894 istore 4 ,contw 
+0x7a44 034895 call sha 
+0x7a45 034896 call sha_result 
+0x7a46 034898 arg memresult ,contr 
+0x7a47 034899 arg memahsave ,contw 
+0x7a48 034900 call memcpy32 
+0x7a49 034902 setarg 0x5c5c5c 
+0x7a4a 034903 lshift8 pdata ,temp 
+0x7a4b 034904 or_into 0x5c ,temp 
+0x7a4c 034905 arg mem_sp_dhkey_end ,contr 
+0x7a4d 034906 force 6 ,loopcnt 
+0x7a4e 034907 call pad_xor 
+0x7a4f 034908 call sha_init 
+0x7a50 034909 call sha 
+0x7a51 034910 arg memahsave_end ,contr 
+0x7a52 034911 arg memdat ,contw 
+0x7a53 034912 force 8 ,loopcnt 
+0x7a54 034913 call memcpy_dword_swap 
+0x7a55 034914 setarg 0x800000 
+0x7a56 034915 lshift8 pdata ,pdata 
+0x7a57 034916 istore 4 ,contw 
+0x7a58 034917 call bn_zero 
+0x7a59 034918 setarg 0x0300 
+0x7a5a 034919 istore 4 ,contw 
+0x7a5b 034920 call sha 
+0x7a5c 034921 branch sha_result 
+:      034928 eckp_calc_init:
+0x7a5d 034929 jam 192 ,mem_ec_loopc 
+:      034930 eckp_calc_init_1:
+0x7a5e 034931 fetch 1 ,mem_ec_loopc 
+0x7a5f 034932 rtn blank 
+0x7a60 034933 increase -1 ,pdata 
+0x7a61 034934 store 1 ,mem_ec_loopc 
+0x7a62 034935 arg mem_k ,contr 
+0x7a63 034936 call bn_testbit 
+0x7a64 034937 branch eckp_calc_init_1 ,true 
+0x7a65 034938 arg mem_ax ,contr 
+0x7a66 034939 arg mem_cx ,contw 
+0x7a67 034940 branch ec_copy 
+:      034942 eckp_calc:
+0x7a68 034943 call ecdbl 
+0x7a69 034944 fetch 1 ,mem_ec_loopc 
+0x7a6a 034945 increase -1 ,pdata 
+0x7a6b 034946 store 1 ,mem_ec_loopc 
+0x7a6c 034947 arg mem_k ,contr 
+0x7a6d 034948 call bn_testbit 
+0x7a6e 034949 rtn true 
+0x7a6f 034950 branch ecadd 
+:      034952 memcpy_dword_swap4:
+0x7a70 034953 force 4 ,loopcnt 
+:      034954 memcpy_dword_swap:
+0x7a71 034955 increase -4 ,contr 
+:      034956 memcpy_dword_swap_loop:
+0x7a72 034957 ifetch 4 ,contr 
+0x7a73 034958 istore 4 ,contw 
+0x7a74 034959 increase -8 ,contr 
+0x7a75 034960 loop memcpy_dword_swap_loop 
+0x7a76 034961 rtn 
+:      034966 sp_initialize_256:
+0x7a77 034967 bpatchx patch3d_7 ,mem_patch3d 
+0x7a78 034968 fetch 1 ,mem_le_secure_connect_enable 
+0x7a79 034969 branch le_secure_connection_disable ,blank 
+0x7a7a 034970 call le_secure_connection_enable 
+0x7a7b 034971 call sp_clear_flags 
+0x7a7c 034973 branch sp_pubkey_calc_256 
+:      034978 sp_pubkey_calc_256:
+0x7a7d 034979 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7a7e 034980 rtnne sp_key_invalid 
+0x7a7f 034981 fetch 1 ,mem_le_sc_calc 
+0x7a80 034982 rtnne sp_calc_standby 
+0x7a81 034984 arg mem_le_private_key_256 ,contw 
+0x7a82 034985 force 15 ,queue 
+0x7a83 034986 call random_generator 
+0x7a84 034987 random pdata 
+0x7a85 034988 rshift pdata ,pdata 
+0x7a86 034989 istore 2 ,contw 
+0x7a87 034991 arg mem_k_256 ,contw 
+0x7a88 034992 arg mem_le_private_key_256 ,contr 
+0x7a89 034993 call memcpy32 
+0x7a8a 034995 arg mem_ax_256 ,contw 
+0x7a8b 034996 arg mem_gx_256 ,contr 
+0x7a8c 034997 call memcpy64 
+0x7a8d 034999 arg mem_az_256 ,contw 
+0x7a8e 035000 call clear_mem_256 
+0x7a8f 035001 jam 1 ,mem_az_256 
+0x7a90 035003 call eckp_calc_init_256 
+0x7a91 035004 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7a92 035005 rtn 
+:      035007 sp_pubkey_generated_256:
+0x7a93 035008 arg mem_le_pubkey_local_x_256 ,contw 
+0x7a94 035009 arg mem_bx_256 ,contr 
+0x7a95 035010 call memcpy64 
+0x7a96 035011 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x7a97 035012 jam sp_calc_standby ,mem_le_sc_calc 
+0x7a98 035013 rtn 
+:      035017 sp_dhkey_calc_256:
+0x7a99 035018 fetch 1 ,mem_sp_dhkey_invalid 
+0x7a9a 035019 rtnne sp_key_invalid 
+0x7a9b 035020 fetch 1 ,mem_le_sc_calc 
+0x7a9c 035021 rtnne sp_calc_standby 
+0x7a9d 035023 arg mem_k_256 ,contw 
+0x7a9e 035024 arg mem_le_private_key_256 ,contr 
+0x7a9f 035025 call memcpy32 
+0x7aa0 035027 arg mem_ax_256 ,contw 
+0x7aa1 035028 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7aa2 035029 call memcpy64 
+0x7aa3 035031 arg mem_az_256 ,contw 
+0x7aa4 035032 call clear_mem_256 
+0x7aa5 035033 jam 1 ,mem_az_256 
+0x7aa6 035035 call eckp_calc_init_256 
+0x7aa7 035036 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x7aa8 035037 rtn 
+:      035040 sp_dhkey_generated_256:
+0x7aa9 035042 arg mem_le_dhkey_256 ,contw 
+0x7aaa 035043 arg mem_bx_256 ,contr 
+0x7aab 035044 call memcpy32 
+0x7aac 035045 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7aad 035046 jam sp_calc_standby ,mem_le_sc_calc 
+0x7aae 035047 rtn 
+:      035051 sp_calc_sequence_256:
+0x7aaf 035052 fetch 1 ,mem_le_secure_connect_enable 
+0x7ab0 035053 rtn blank 
+0x7ab1 035054 fetch 1 ,mem_le_sc_calc 
+0x7ab2 035055 rtn blank 
+0x7ab3 035056 increase 0x80 ,pdata 
+0x7ab4 035057 store 1 ,mem_le_sc_calc 
+0x7ab5 035058 rtnbit1 7 
+0x7ab6 035059 fetch 2 ,mem_ec_loopc 
+0x7ab7 035060 branch sp_calc_sequence_done_256 ,blank 
+0x7ab8 035061 branch eckp_calc_256 
+:      035063 sp_calc_sequence_done_256:
+0x7ab9 035064 bpatchx patch3e_0 ,mem_patch3e 
+0x7aba 035065 call ecunmapz_256 
+0x7abb 035066 fetch 1 ,mem_le_sc_calc 
+0x7abc 035067 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7abd 035068 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7abe 035069 rtn 
+:      035072 eckp_calc_256:
+0x7abf 035073 call ecdbl_256 
+0x7ac0 035074 fetch 2 ,mem_ec_loopc 
+0x7ac1 035075 increase -1 ,pdata 
+0x7ac2 035076 store 2 ,mem_ec_loopc 
+0x7ac3 035077 arg mem_k_256 ,contr 
+0x7ac4 035078 call bn_testbit 
+0x7ac5 035079 rtn true 
+0x7ac6 035080 branch ecadd_256 
+:      035082 eckp_calc_init_256:
+0x7ac7 035083 bpatchx patch3e_1 ,mem_patch3e 
+0x7ac8 035084 setarg 256 ,pdata 
+0x7ac9 035085 store 2 ,mem_ec_loopc 
+:      035086 eckp_calc_init_256_1:
+0x7aca 035087 fetch 2 ,mem_ec_loopc 
+0x7acb 035088 rtn blank 
+0x7acc 035089 increase -1 ,pdata 
+0x7acd 035090 store 2 ,mem_ec_loopc 
+0x7ace 035091 arg mem_k_256 ,contr 
+0x7acf 035092 call bn_testbit 
+0x7ad0 035093 branch eckp_calc_init_256_1 ,true 
+0x7ad1 035094 arg mem_ax_256 ,contr 
+0x7ad2 035095 arg mem_cx_256 ,contw 
+0x7ad3 035096 branch memcpy96 
+:      035099 ecunmapz_256:
+0x7ad4 035100 arg mem_cz_256 ,rega 
+0x7ad5 035101 arg mem_t3_256 ,contw 
+0x7ad6 035102 call bn_invmod_256 
+0x7ad7 035103 arg mem_t3_256 ,rega 
+0x7ad8 035104 arg mem_t1_256 ,contw 
+0x7ad9 035105 call bn_sqrmod_256 
+0x7ada 035106 arg mem_cx_256 ,rega 
+0x7adb 035107 arg mem_t1_256 ,regb 
+0x7adc 035108 arg mem_bx_256 ,contw 
+0x7add 035109 call bn_mulmod_256 
+0x7ade 035110 arg mem_t3_256 ,rega 
+0x7adf 035111 arg mem_t1_256 ,regb 
+0x7ae0 035112 arg mem_t2_256 ,contw 
+0x7ae1 035113 call bn_mulmod_256 
+0x7ae2 035114 arg mem_cy_256 ,rega 
+0x7ae3 035115 arg mem_t2_256 ,regb 
+0x7ae4 035116 arg mem_by_256 ,contw 
+0x7ae5 035117 branch bn_mulmod_256 
+:      035119 ecdbl_256:
+0x7ae6 035120 arg mem_cz_256 ,rega 
+0x7ae7 035121 arg mem_t2_256 ,contw 
+0x7ae8 035122 call bn_sqrmod_256 
+0x7ae9 035123 arg mem_t2_256 ,rega 
+0x7aea 035124 arg mem_t3_256 ,contw 
+0x7aeb 035125 call bn_sqrmod_256 
+0x7aec 035127 arg mem_a_256 ,rega 
+0x7aed 035128 arg mem_t3_256 ,regb 
+0x7aee 035129 arg mem_t3_256 ,contw 
+0x7aef 035130 call bn_mulmod_256 
+0x7af0 035131 arg mem_cx_256 ,rega 
+0x7af1 035132 arg mem_t2_256 ,contw 
+0x7af2 035133 call bn_sqrmod_256 
+0x7af3 035135 arg mem_t2_256 ,contr 
+0x7af4 035136 arg mem_t1_256 ,contw 
+0x7af5 035137 call memcpy32 
+0x7af6 035138 arg mem_t1_256 ,rega 
+0x7af7 035139 call bn_lshiftmod_256 
+0x7af8 035140 arg mem_t2_256 ,rega 
+0x7af9 035141 arg mem_t1_256 ,regb 
+0x7afa 035142 arg mem_t2_256 ,contw 
+0x7afb 035143 call bn_addmod_256 
+0x7afc 035145 arg mem_t2_256 ,rega 
+0x7afd 035146 arg mem_t3_256 ,regb 
+0x7afe 035147 arg mem_t2_256 ,contw 
+0x7aff 035148 call bn_addmod_256 
+0x7b00 035150 arg mem_cx_256 ,contr 
+0x7b01 035151 arg mem_t1_256 ,contw 
+0x7b02 035152 call memcpy32 
+0x7b03 035153 arg mem_cy_256 ,rega 
+0x7b04 035154 arg mem_t3_256 ,contw 
+0x7b05 035155 call bn_sqrmod_256 
+0x7b06 035156 arg mem_t1_256 ,rega 
+0x7b07 035157 call bn_lshiftmod_256 
+0x7b08 035158 arg mem_t1_256 ,rega 
+0x7b09 035159 call bn_lshiftmod_256 
+0x7b0a 035160 arg mem_t1_256 ,rega 
+0x7b0b 035161 arg mem_t3_256 ,regb 
+0x7b0c 035162 arg mem_t1_256 ,contw 
+0x7b0d 035163 call bn_mulmod_256 
+0x7b0e 035164 arg mem_t3_256 ,rega 
+0x7b0f 035165 arg mem_t0_256 ,contw 
+0x7b10 035166 call bn_sqrmod_256 
+0x7b11 035167 arg mem_t0_256 ,rega 
+0x7b12 035168 call bn_lshiftmod_256 
+0x7b13 035169 arg mem_t0_256 ,rega 
+0x7b14 035170 call bn_lshiftmod_256 
+0x7b15 035171 arg mem_t0_256 ,rega 
+0x7b16 035172 call bn_lshiftmod_256 
+0x7b17 035173 arg mem_cy_256 ,contr 
+0x7b18 035174 arg mem_t3_256 ,contw 
+0x7b19 035175 call memcpy32 
+0x7b1a 035176 arg mem_t3_256 ,rega 
+0x7b1b 035177 call bn_lshiftmod_256 
+0x7b1c 035178 arg mem_t3_256 ,rega 
+0x7b1d 035179 arg mem_cz_256 ,regb 
+0x7b1e 035180 arg mem_cz_256 ,contw 
+0x7b1f 035181 call bn_mulmod_256 
+0x7b20 035184 arg mem_t2_256 ,rega 
+0x7b21 035185 arg mem_t3_256 ,contw 
+0x7b22 035186 call bn_sqrmod_256 
+0x7b23 035188 arg mem_t3_256 ,rega 
+0x7b24 035189 arg mem_t1_256 ,regb 
+0x7b25 035190 arg mem_t3_256 ,contw 
+0x7b26 035191 call bn_submod_256 
+0x7b27 035192 arg mem_t3_256 ,rega 
+0x7b28 035193 arg mem_t1_256 ,regb 
+0x7b29 035194 arg mem_cx_256 ,contw 
+0x7b2a 035195 call bn_submod_256 
+0x7b2b 035196 arg mem_t1_256 ,rega 
+0x7b2c 035197 arg mem_cx_256 ,regb 
+0x7b2d 035198 arg mem_t3_256 ,contw 
+0x7b2e 035199 call bn_submod_256 
+0x7b2f 035200 arg mem_t3_256 ,rega 
+0x7b30 035201 arg mem_t2_256 ,regb 
+0x7b31 035202 arg mem_t3_256 ,contw 
+0x7b32 035203 call bn_mulmod_256 
+0x7b33 035204 arg mem_t3_256 ,rega 
+0x7b34 035205 arg mem_t0_256 ,regb 
+0x7b35 035206 arg mem_cy_256 ,contw 
+0x7b36 035207 branch bn_submod_256 
+:      035209 ecadd_256:
+0x7b37 035211 arg mem_az_256 ,rega 
+0x7b38 035212 arg mem_t7_256 ,contw 
+0x7b39 035213 call bn_sqrmod_256 
+0x7b3a 035214 arg mem_cx_256 ,rega 
+0x7b3b 035215 arg mem_t7_256 ,regb 
+0x7b3c 035216 arg mem_t0_256 ,contw 
+0x7b3d 035217 call bn_mulmod_256 
+0x7b3e 035220 arg mem_az_256 ,rega 
+0x7b3f 035221 arg mem_t7_256 ,regb 
+0x7b40 035222 arg mem_t7_256 ,contw 
+0x7b41 035223 call bn_mulmod_256 
+0x7b42 035224 arg mem_cy_256 ,rega 
+0x7b43 035225 arg mem_t7_256 ,regb 
+0x7b44 035226 arg mem_t1_256 ,contw 
+0x7b45 035227 call bn_mulmod_256 
+0x7b46 035230 arg mem_cz_256 ,rega 
+0x7b47 035231 arg mem_t7_256 ,contw 
+0x7b48 035232 call bn_sqrmod_256 
+0x7b49 035233 arg mem_ax_256 ,rega 
+0x7b4a 035234 arg mem_t7_256 ,regb 
+0x7b4b 035235 arg mem_t2_256 ,contw 
+0x7b4c 035236 call bn_mulmod_256 
+0x7b4d 035238 arg mem_cz_256 ,rega 
+0x7b4e 035239 arg mem_t7_256 ,regb 
+0x7b4f 035240 arg mem_t7_256 ,contw 
+0x7b50 035241 call bn_mulmod_256 
+0x7b51 035242 arg mem_ay_256 ,rega 
+0x7b52 035243 arg mem_t7_256 ,regb 
+0x7b53 035244 arg mem_t3_256 ,contw 
+0x7b54 035245 call bn_mulmod_256 
+0x7b55 035250 arg mem_t0_256 ,regb 
+0x7b56 035251 arg mem_t2_256 ,rega 
+0x7b57 035252 arg mem_t7_256 ,contw 
+0x7b58 035253 call bn_submod_256 
+0x7b59 035254 arg mem_t0_256 ,rega 
+0x7b5a 035255 arg mem_t2_256 ,regb 
+0x7b5b 035256 arg mem_t0_256 ,contw 
+0x7b5c 035257 call bn_addmod_256 
+0x7b5d 035260 arg mem_t1_256 ,regb 
+0x7b5e 035261 arg mem_t3_256 ,rega 
+0x7b5f 035262 arg mem_t2_256 ,contw 
+0x7b60 035263 call bn_submod_256 
+0x7b61 035264 arg mem_t1_256 ,rega 
+0x7b62 035265 arg mem_t3_256 ,regb 
+0x7b63 035266 arg mem_t1_256 ,contw 
+0x7b64 035267 call bn_addmod_256 
+0x7b65 035268 arg mem_t1_256 ,rega 
+0x7b66 035269 arg mem_t7_256 ,regb 
+0x7b67 035270 arg mem_t1_256 ,contw 
+0x7b68 035271 call bn_mulmod_256 
+0x7b69 035272 arg mem_cz_256 ,rega 
+0x7b6a 035273 arg mem_az_256 ,regb 
+0x7b6b 035274 arg mem_t3_256 ,contw 
+0x7b6c 035275 call bn_mulmod_256 
+0x7b6d 035276 arg mem_t3_256 ,rega 
+0x7b6e 035277 arg mem_t7_256 ,regb 
+0x7b6f 035278 arg mem_cz_256 ,contw 
+0x7b70 035279 call bn_mulmod_256 
+0x7b71 035281 arg mem_t7_256 ,rega 
+0x7b72 035282 arg mem_t7_256 ,contw 
+0x7b73 035283 call bn_sqrmod_256 
+0x7b74 035284 arg mem_t7_256 ,rega 
+0x7b75 035285 arg mem_t0_256 ,regb 
+0x7b76 035286 arg mem_t3_256 ,contw 
+0x7b77 035287 call bn_mulmod_256 
+0x7b78 035288 arg mem_t7_256 ,rega 
+0x7b79 035289 arg mem_t1_256 ,regb 
+0x7b7a 035290 arg mem_t1_256 ,contw 
+0x7b7b 035291 call bn_mulmod_256 
+0x7b7c 035292 arg mem_t2_256 ,rega 
+0x7b7d 035293 arg mem_cx_256 ,contw 
+0x7b7e 035294 call bn_sqrmod_256 
+0x7b7f 035295 arg mem_cx_256 ,rega 
+0x7b80 035296 arg mem_t3_256 ,regb 
+0x7b81 035297 arg mem_cx_256 ,contw 
+0x7b82 035298 call bn_submod_256 
+0x7b83 035299 arg mem_cx_256 ,contr 
+0x7b84 035300 arg mem_t7_256 ,contw 
+0x7b85 035301 call memcpy32 
+0x7b86 035302 arg mem_t7_256 ,rega 
+0x7b87 035303 call bn_lshiftmod_256 
+0x7b88 035304 arg mem_t3_256 ,rega 
+0x7b89 035305 arg mem_t7_256 ,regb 
+0x7b8a 035306 arg mem_t3_256 ,contw 
+0x7b8b 035307 call bn_submod_256 
+0x7b8c 035308 arg mem_t3_256 ,rega 
+0x7b8d 035309 arg mem_t2_256 ,regb 
+0x7b8e 035310 arg mem_t2_256 ,contw 
+0x7b8f 035311 call bn_mulmod_256 
+0x7b90 035312 arg mem_t2_256 ,rega 
+0x7b91 035313 arg mem_t1_256 ,regb 
+0x7b92 035314 arg mem_cy_256 ,contw 
+0x7b93 035315 call bn_submod_256 
+0x7b94 035316 arg mem_cy_256 ,rega 
+0x7b95 035317 arg mem_p_256 ,regb 
+0x7b96 035318 arg mem_cy_256 ,contw 
+0x7b97 035319 force 0 ,regc 
+0x7b98 035320 fetch 1 ,mem_cy_256 
+0x7b99 035321 isolate1 0 ,pdata 
+0x7b9a 035322 call bn_add_256 ,true 
+0x7b9b 035323 copy regc ,alarm 
+0x7b9c 035324 arg mem_cy_256 ,rega 
+0x7b9d 035325 call bn_rshift_256 
+0x7b9e 035326 fetch 1 ,mem_cy5_256 
+0x7b9f 035327 isolate1 0 ,alarm 
+0x7ba0 035328 setflag true ,7 ,pdata 
+0x7ba1 035329 store 1 ,mem_cy5_256 
+0x7ba2 035330 rtn 
+:      035332 bn_invmod_256:
+0x7ba3 035333 copy contw ,timeup 
+0x7ba4 035334 arg mem_tmp0_256 ,contw 
+0x7ba5 035335 call clear_mem_256 
+0x7ba6 035336 force 0 ,pdata 
+0x7ba7 035338 store 4 ,mem_t2_256 
+0x7ba8 035339 jam 1 ,mem_tmp0_256 
+0x7ba9 035340 arg mem_tmp1_256 ,contw 
+0x7baa 035341 call clear_mem_512 
+0x7bab 035342 arg mem_p_256 ,contr 
+0x7bac 035343 arg mem_tmp2_256 ,contw 
+0x7bad 035344 call memcpy32 
+0x7bae 035345 copy rega ,contr 
+0x7baf 035346 arg mem_tmp3_256 ,contw 
+0x7bb0 035347 call memcpy32 
+:      035353 bn_invmod_256_2:
+0x7bb1 035354 arg mem_tmp3_256 ,contr 
+0x7bb2 035355 call bn_eq_zero_256 
+0x7bb3 035356 branch bn_invmod_256_0 ,blank 
+0x7bb4 035361 arg mem_tmp3_256 ,rega 
+0x7bb5 035362 arg mem_tmp0_256 ,regb 
+0x7bb6 035363 call bn_rshifteven_256 
+0x7bb7 035364 arg mem_tmp2_256 ,rega 
+0x7bb8 035365 arg mem_tmp1_256 ,regb 
+0x7bb9 035366 call bn_rshifteven_256 
+0x7bba 035368 arg mem_tmp3_256 ,rega 
+0x7bbb 035369 arg mem_tmp2_256 ,regb 
+0x7bbc 035370 call bn_bigeq_256 
+0x7bbd 035371 branch bn_invmod_256_1 ,positive 
+0x7bbe 035372 arg mem_tmp2_256 ,rega 
+0x7bbf 035373 arg mem_tmp3_256 ,regb 
+0x7bc0 035374 copy rega ,contw 
+0x7bc1 035375 call bn_sub_256 
+0x7bc2 035376 arg mem_tmp0_256 ,rega 
+0x7bc3 035377 arg mem_tmp1_256 ,regb 
+0x7bc4 035378 copy regb ,contw 
+0x7bc5 035379 call bn_add_256 
+0x7bc6 035380 ifetch 1 ,rega 
+0x7bc7 035381 iadd regc ,regc 
+0x7bc8 035382 ifetch 1 ,regb 
+0x7bc9 035383 iadd regc ,pdata 
+0x7bca 035384 istore 1 ,regb 
+0x7bcb 035385 branch bn_invmod_256_2 
+:      035386 bn_invmod_256_1:
+0x7bcc 035387 arg mem_tmp3_256 ,rega 
+0x7bcd 035388 arg mem_tmp2_256 ,regb 
+0x7bce 035389 copy rega ,contw 
+0x7bcf 035390 call bn_sub_256 
+0x7bd0 035391 arg mem_tmp1_256 ,rega 
+0x7bd1 035392 arg mem_tmp0_256 ,regb 
+0x7bd2 035393 copy regb ,contw 
+0x7bd3 035394 call bn_add_256 
+0x7bd4 035395 ifetch 1 ,rega 
+0x7bd5 035396 iadd regc ,regc 
+0x7bd6 035397 ifetch 1 ,regb 
+0x7bd7 035398 iadd regc ,pdata 
+0x7bd8 035399 istore 1 ,regb 
+0x7bd9 035400 branch bn_invmod_256_2 
+:      035401 bn_invmod_256_0:
+0x7bda 035403 arg mem_tmp1_256 ,rega 
+0x7bdb 035404 copy timeup ,contw 
+0x7bdc 035405 call bn_p256mod 
+0x7bdd 035407 arg mem_p_256 ,rega 
+0x7bde 035408 copy timeup ,regb 
+0x7bdf 035409 copy timeup ,contw 
+0x7be0 035410 branch bn_submod_256 
+:      035413 bn_mulmod_256:
+0x7be1 035414 copy contw ,timeup 
+0x7be2 035416 force 0 ,regext_index 
+0x7be3 035418 arg mem_tmp1_256 ,contw 
+0x7be4 035419 call clear_mem_512 
+0x7be5 035420 arg mem_regext ,contw 
+0x7be6 035421 call clear_mem_512 
+0x7be7 035425 copy rega ,contr 
+0x7be8 035427 jam 0 ,mem_regext 
+0x7be9 035428 setarg 0 
+0x7bea 035429 call bn_load_mem 
+0x7beb 035430 copy regb ,contr 
+0x7bec 035431 call bn_load_256 
+0x7bed 035434 force 0 ,queue 
+0x7bee 035435 arg mem_tmp1_256 ,contw 
+:      035436 bn_mulmod_256_1:
+0x7bef 035439 arg mem_regext ,temp 
+0x7bf0 035440 copy queue ,regb 
+0x7bf1 035441 lshift2 regb ,pdata 
+0x7bf2 035443 iadd temp ,regb 
+0x7bf3 035444 force 0 ,temp 
+0x7bf4 035445 force 0 ,regc 
+:      035446 bn_mulmod_256_0:
+0x7bf5 035451 ifetch 4 ,contw 
+0x7bf6 035452 iforce rega 
+0x7bf7 035455 ifetch 4 ,regb 
+0x7bf8 035456 copy regc ,regext_index 
+0x7bf9 035457 imul32 regext ,pdata 
+0x7bfa 035458 iadd rega ,pdata 
+0x7bfb 035459 iadd temp ,pdata 
+0x7bfc 035460 istore 4 ,contw 
+0x7bfd 035461 rshift32 pdata ,temp 
+0x7bfe 035462 increase 1 ,regc 
+0x7bff 035463 compare 8 ,regc ,0xff 
+0x7c00 035464 nbranch bn_mulmod_256_0 ,true 
+0x7c01 035466 deposit temp 
+0x7c02 035467 istore 4 ,contw 
+0x7c03 035468 increase -32 ,contw 
+0x7c04 035471 increase 1 ,queue 
+0x7c05 035472 compare 8 ,queue ,0xff 
+0x7c06 035473 nbranch bn_mulmod_256_1 ,true 
+0x7c07 035474 arg mem_tmp1_256 ,rega 
+0x7c08 035475 copy timeup ,contw 
+0x7c09 035476 branch bn_p256mod 
+:      035478 bn_p256mod:
+0x7c0a 035479 bpatchx patch3e_2 ,mem_patch3e 
+0x7c0b 035480 copy contw ,timeup 
+0x7c0c 035481 copy rega ,alarm 
+0x7c0d 035482 arg mem_tmp2_256 ,regb 
+0x7c0e 035483 copy regb ,contw 
+0x7c0f 035484 call memset0_4 
+0x7c10 035485 istore 8 ,contw 
+0x7c11 035486 add rega ,44 ,contr 
+0x7c12 035487 call memcpy8 
+0x7c13 035488 call memcpy12 
+0x7c14 035489 copy regb ,rega 
+0x7c15 035490 call bn_lshiftmod_256 
+0x7c16 035491 arg mem_tmp2_256 ,regb 
+0x7c17 035492 copy alarm ,rega 
+0x7c18 035493 copy timeup ,contw 
+0x7c19 035494 call bn_addmod_256 
+0x7c1a 035496 arg mem_tmp2_256 ,regb 
+0x7c1b 035497 copy regb ,contw 
+0x7c1c 035498 call memset0_4 
+0x7c1d 035499 istore 8 ,contw 
+0x7c1e 035500 add alarm ,48 ,contr 
+0x7c1f 035501 call memcpy16 
+0x7c20 035502 call memset0_4 
+0x7c21 035503 copy regb ,rega 
+0x7c22 035504 call bn_lshiftmod_256 
+0x7c23 035508 arg mem_tmp2_256 ,regb 
+0x7c24 035509 copy timeup ,rega 
+0x7c25 035510 copy rega ,contw 
+0x7c26 035511 call bn_addmod_256 
+0x7c27 035515 arg mem_tmp2_256 ,regb 
+0x7c28 035516 copy regb ,contw 
+0x7c29 035517 add alarm ,32 ,contr 
+0x7c2a 035518 call memcpy12 
+0x7c2b 035519 call memset0_4 
+0x7c2c 035520 istore 8 ,contw 
+0x7c2d 035521 add alarm ,56 ,contr 
+0x7c2e 035522 call memcpy8 
+0x7c2f 035523 copy timeup ,rega 
+0x7c30 035524 copy rega ,contw 
+0x7c31 035525 call bn_addmod_256 
+0x7c32 035529 arg mem_tmp2_256 ,regb 
+0x7c33 035530 copy regb ,contw 
+0x7c34 035531 add alarm ,36 ,contr 
+0x7c35 035532 call memcpy12 
+0x7c36 035533 add alarm ,52 ,contr 
+0x7c37 035534 call memcpy12 
+0x7c38 035535 add alarm ,52 ,contr 
+0x7c39 035536 call memcpy4 
+0x7c3a 035537 add alarm ,32 ,contr 
+0x7c3b 035538 call memcpy4 
+0x7c3c 035539 copy timeup ,rega 
+0x7c3d 035540 copy rega ,contw 
+0x7c3e 035541 call bn_addmod_256 
+0x7c3f 035544 arg mem_tmp2_256 ,regb 
+0x7c40 035545 copy regb ,contw 
+0x7c41 035546 add alarm ,44 ,contr 
+0x7c42 035547 call memcpy12 
+0x7c43 035548 call memset0_4 
+0x7c44 035549 istore 8 ,contw 
+0x7c45 035550 add alarm ,32 ,contr 
+0x7c46 035551 call memcpy4 
+0x7c47 035552 add alarm ,40 ,contr 
+0x7c48 035553 call memcpy4 
+0x7c49 035554 copy timeup ,rega 
+0x7c4a 035555 copy rega ,contw 
+0x7c4b 035556 call bn_submod_256 
+0x7c4c 035559 arg mem_tmp2_256 ,regb 
+0x7c4d 035560 copy regb ,contw 
+0x7c4e 035561 add alarm ,48 ,contr 
+0x7c4f 035562 call memcpy8 
+0x7c50 035563 call memcpy8 
+0x7c51 035564 force 0 ,pdata 
+0x7c52 035565 istore 8 ,contw 
+0x7c53 035566 add alarm ,36 ,contr 
+0x7c54 035567 call memcpy4 
+0x7c55 035568 add alarm ,44 ,contr 
+0x7c56 035569 call memcpy4 
+0x7c57 035570 copy timeup ,rega 
+0x7c58 035571 copy rega ,contw 
+0x7c59 035572 call bn_submod_256 
+0x7c5a 035575 arg mem_tmp2_256 ,regb 
+0x7c5b 035576 copy regb ,contw 
+0x7c5c 035577 add alarm ,52 ,contr 
+0x7c5d 035578 call memcpy12 
+0x7c5e 035579 add alarm ,32 ,contr 
+0x7c5f 035580 call memcpy12 
+0x7c60 035581 call memset0_4 
+0x7c61 035582 add alarm ,48 ,contr 
+0x7c62 035583 call memcpy4 
+0x7c63 035584 copy timeup ,rega 
+0x7c64 035585 copy rega ,contw 
+0x7c65 035586 call bn_submod_256 
+0x7c66 035589 arg mem_tmp2_256 ,regb 
+0x7c67 035590 copy regb ,contw 
+0x7c68 035591 add alarm ,56 ,contr 
+0x7c69 035592 call memcpy8 
+0x7c6a 035593 call memset0_4 
+0x7c6b 035594 add alarm ,36 ,contr 
+0x7c6c 035595 call memcpy12 
+0x7c6d 035596 call memset0_4 
+0x7c6e 035597 add alarm ,52 ,contr 
+0x7c6f 035598 call memcpy4 
+0x7c70 035599 copy timeup ,rega 
+0x7c71 035600 copy rega ,contw 
+0x7c72 035601 branch bn_submod_256 
+:      035604 bn_load_mem:
+0x7c73 035605 force 32 ,loopcnt 
+0x7c74 035606 arg mem_regext ,contw 
+0x7c75 035607 iadd contw ,contw 
+0x7c76 035608 branch memcpy 
+:      035610 bn_load_256:
+0x7c77 035611 force 8 ,loopcnt 
+0x7c78 035612 branch bn_load_0 
+:      035614 bn_sqrmod_256:
+0x7c79 035615 copy rega ,regb 
+0x7c7a 035616 branch bn_mulmod_256 
+:      035618 bn_add_256:
+0x7c7b 035619 force 8 ,loopcnt 
+0x7c7c 035620 branch bn_add + 1 
+:      035622 bn_addmod_256:
+0x7c7d 035623 call bn_add_256 
+0x7c7e 035624 copy contw ,rega 
+0x7c7f 035625 branch bn_lshiftmod_ismod_256 
+:      035627 bn_lshiftmod_256:
+0x7c80 035628 call bn_lshift_256 
+:      035629 bn_lshiftmod_ismod_256:
+0x7c81 035630 isolate1 0 ,regc 
+0x7c82 035631 branch bn_lshiftmod_p_256 ,true 
+0x7c83 035632 arg mem_p_256 ,regb 
+0x7c84 035633 copy rega ,regc 
+0x7c85 035634 increase -32 ,rega 
+0x7c86 035635 call bn_bigeq_256 
+0x7c87 035636 nrtn positive 
+0x7c88 035637 copy regc ,rega 
+0x7c89 035638 branch sub_p2_256 
+:      035640 bn_lshiftmod_p_256:
+0x7c8a 035641 call sub_p2_256 
+0x7c8b 035643 copy rega ,regc 
+0x7c8c 035644 increase -32 ,rega 
+0x7c8d 035645 arg mem_p_256 ,regb 
+0x7c8e 035646 call bn_bigeq_256 
+0x7c8f 035647 nrtn positive 
+0x7c90 035648 copy regc ,rega 
+0x7c91 035649 branch sub_p2_256 
+:      035652 sub_p2_256:
+0x7c92 035653 increase -32 ,rega 
+0x7c93 035654 arg mem_p_256 ,regb 
+0x7c94 035655 copy rega ,contw 
+0x7c95 035656 branch bn_sub_256 
+:      035661 bn_submod_256:
+0x7c96 035662 call bn_sub_256 
+0x7c97 035664 branch bn_submod_256_np ,true 
+0x7c98 035667 add contw ,-32 ,rega 
+0x7c99 035668 arg mem_p_256 ,regb 
+0x7c9a 035669 call bn_bigeq_256 
+0x7c9b 035670 nrtn positive 
+0x7c9c 035671 arg mem_p_256 ,regb 
+0x7c9d 035672 add contw ,-32 ,rega 
+0x7c9e 035674 copy rega ,contw 
+0x7c9f 035675 branch bn_sub_256 
+:      035676 bn_submod_256_np:
+0x7ca0 035677 add contw ,-32 ,rega 
+0x7ca1 035678 arg mem_p_256 ,regb 
+0x7ca2 035679 copy rega ,contw 
+0x7ca3 035680 call bn_add_256 
+0x7ca4 035682 rtn true 
+0x7ca5 035683 add contw ,-32 ,rega 
+0x7ca6 035684 arg mem_p_256 ,regb 
+0x7ca7 035685 copy rega ,contw 
+0x7ca8 035686 branch bn_add_256 
+:      035690 bn_sub_256:
+0x7ca9 035691 force 8 ,loopcnt 
+0x7caa 035692 branch bn_sub + 1 
+:      035694 bn_rshift_256:
+0x7cab 035695 force 8 ,loopcnt 
+0x7cac 035696 increase 28 ,rega 
+0x7cad 035697 branch bn_rshift 
+:      035699 bn_lshift_256:
+0x7cae 035700 force 8 ,loopcnt 
+0x7caf 035701 force 0 ,regc 
+0x7cb0 035702 branch bn_lshift_0 
+:      035704 bn_bigeq_256:
+0x7cb1 035705 force 8 ,loopcnt 
+0x7cb2 035706 increase 28 ,rega 
+0x7cb3 035707 increase 28 ,regb 
+0x7cb4 035708 branch bn_bigeq_0 
+:      035711 bn_eq_zero_256:
+0x7cb5 035712 ifetch 8 ,contr 
+0x7cb6 035713 nrtn blank 
+0x7cb7 035714 branch bn_eq_zero 
+:      035719 bn_rshifteven_256:
+0x7cb8 035720 copy rega ,alarm 
+:      035721 bn_rshifteven_256_1:
+0x7cb9 035722 copy alarm ,rega 
+0x7cba 035723 ifetch 1 ,rega 
+0x7cbb 035724 isolate1 0 ,pdata 
+0x7cbc 035725 rtn true 
+0x7cbd 035726 call bn_rshift_256 
+0x7cbe 035727 ifetch 1 ,regb 
+0x7cbf 035728 isolate0 0 ,pdata 
+0x7cc0 035729 branch bn_rshifteven_256_0 ,true 
+0x7cc1 035730 arg mem_p_256 ,rega 
+0x7cc2 035731 copy regb ,contw 
+0x7cc3 035732 call bn_add_256 
+0x7cc4 035733 ifetch 1 ,regb 
+0x7cc5 035734 iadd regc ,pdata 
+0x7cc6 035735 istore 1 ,regb 
+0x7cc7 035736 increase -32 ,regb 
+:      035737 bn_rshifteven_256_0:
+0x7cc8 035738 add regb ,32 ,rega 
+0x7cc9 035739 force 9 ,loopcnt 
+0x7cca 035740 call bn_rshift 
+0x7ccb 035741 branch bn_rshifteven_256_1 
+:      035745 ui_init:
+0x7ccc 035746 call lpm_disable_exen_output 
+0x7ccd 035747 rtn wake 
+0x7cce 035748 call ui_button_init 
+0x7ccf 035749 call ui_timer_init 
+0x7cd0 035750 branch ui_led_init_global 
+:      035752 ui_dispatch:
+0x7cd1 035753 call ui_led_dispatch 
+0x7cd2 035755 branch ui_timer_check 
+:      035757 ui_button_init:
+0x7cd3 035758 fetch 1 ,mem_ui_button_gpio 
+0x7cd4 035759 rtneq ui_button_gpio_disable 
+0x7cd5 035760 iforce temp 
+0x7cd6 035761 call gpio_config_output 
+0x7cd7 035762 fetcht 1 ,mem_ui_button_gpio 
+0x7cd8 035763 call gpio_out_inactive 
+0x7cd9 035764 nop 100 
+0x7cda 035765 fetcht 1 ,mem_ui_button_gpio 
+0x7cdb 035766 call gpio_config_input 
+0x7cdc 035767 branch ui_button_polling 
+:      035771 ui_button_polling:
+0x7cdd 035772 bpatchx patch3e_3 ,mem_patch3e 
+0x7cde 035773 fetch 1 ,mem_ui_button_gpio 
+0x7cdf 035774 rtneq ui_button_gpio_disable 
+0x7ce0 035775 copy pdata ,temp 
+0x7ce1 035776 call gpio_get_bit 
+0x7ce2 035777 nbranch ui_button_up ,true 
+:      035779 ui_button_down:
+0x7ce3 035780 call ui_button_check_long_press 
+0x7ce4 035781 fetch 2 ,mem_ui_state_map 
+0x7ce5 035782 set1 ui_state_btn_down 
+0x7ce6 035783 store 2 ,mem_ui_state_map 
+0x7ce7 035784 fetch 1 ,mem_ui_button_last_state 
+0x7ce8 035785 rtneq ui_button_state_down 
+0x7ce9 035786 jam ui_button_state_down ,mem_ui_button_last_state 
+0x7cea 035788 fetch 1 ,mem_ui_button_timeout 
+0x7ceb 035789 store 1 ,mem_ui_button_timer 
+0x7cec 035790 call lpm_button_get_wake_lock 
+0x7ced 035791 jam bt_evt_button_down ,mem_fifo_temp 
+0x7cee 035792 branch ui_ipc_send_event 
+:      035793 ui_button_up:
+0x7cef 035794 fetch 2 ,mem_ui_state_map 
+0x7cf0 035795 set0 ui_state_btn_down 
+0x7cf1 035796 store 2 ,mem_ui_state_map 
+0x7cf2 035797 fetch 1 ,mem_ui_button_last_state 
+0x7cf3 035798 rtneq ui_button_state_up 
+0x7cf4 035799 jam ui_button_state_up ,mem_ui_button_last_state 
+0x7cf5 035801 jam 0 ,mem_ui_button_timer 
+0x7cf6 035802 call lpm_button_clean_wake_lock 
+0x7cf7 035803 jam bt_evt_button_up ,mem_fifo_temp 
+0x7cf8 035804 branch ui_ipc_send_event 
+:      035806 ui_button_check_long_press:
+0x7cf9 035807 fetch 1 ,mem_ui_button_timer 
+0x7cfa 035808 rtn blank 
+0x7cfb 035809 increase -1 ,pdata 
+0x7cfc 035810 store 1 ,mem_ui_button_timer 
+0x7cfd 035811 nrtn blank 
+0x7cfe 035813 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+0x7cff 035814 branch ui_ipc_send_event 
+:      035816 lpm_button_get_wake_lock:
+0x7d00 035817 arg wake_lock_button ,queue 
+0x7d01 035818 branch lpm_get_wake_lock 
+:      035820 lpm_button_clean_wake_lock:
+0x7d02 035821 arg wake_lock_button ,queue 
+0x7d03 035822 branch lpm_put_wake_lock 
+:      035844 calc_curr_struct_prt:
+0x7d04 035845 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d05 035846 mul32 rega ,led_offset_length ,regb 
+0x7d06 035847 iadd regb ,regb 
+0x7d07 035848 rtn 
+:      035851 ui_led_init_global:
+0x7d08 035852 fetch 1 ,mem_ui_led_struct_num 
+0x7d09 035853 rtn blank 
+0x7d0a 035854 copy pdata ,loopcnt 
+0x7d0b 035855 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d0c 035856 copy pdata ,regb 
+:      035857 ui_led_init_loop:
+0x7d0d 035858 add regb ,led_offset_led_gpio ,regc 
+0x7d0e 035859 ifetcht 1 ,regc 
+0x7d0f 035860 call gpio_config_output 
+0x7d10 035861 call ui_led_off_static 
+0x7d11 035862 increase led_offset_length ,regb 
+0x7d12 035863 loop ui_led_init_loop 
+0x7d13 035864 rtn 
+:      035868 ui_led_on_global:
+0x7d14 035869 call calc_curr_struct_prt 
+0x7d15 035870 setarg ui_led_state_lighting 
+0x7d16 035871 istore 1 ,regb 
+0x7d17 035872 call ui_led_stop_timer 
+0x7d18 035873 branch ui_led_on_static 
+:      035877 ui_led_blink_stop_global:
+:      035878 ui_led_off_global:
+0x7d19 035879 call calc_curr_struct_prt 
+0x7d1a 035880 setarg ui_led_state_darking 
+0x7d1b 035881 istore 1 ,regb 
+0x7d1c 035882 call ui_led_stop_timer 
+0x7d1d 035883 branch ui_led_off_static 
+:      035887 ui_led_blink_start_global:
+0x7d1e 035888 call calc_curr_struct_prt 
+0x7d1f 035889 setarg ui_led_state_blink_start 
+0x7d20 035890 istore 1 ,regb 
+0x7d21 035891 setarg led_infinite_flash_num 
+0x7d22 035892 istore 1 ,contw 
+0x7d23 035893 branch ui_led_off_static 
+:      035898 ui_led_set_style_global:
+0x7d24 035899 call calc_curr_struct_prt 
+0x7d25 035900 arg led_offset_length ,loopcnt 
+0x7d26 035901 copy regc ,contr 
+0x7d27 035902 copy regb ,contw 
+0x7d28 035903 branch memcpy_fast 
+:      035907 ui_led_dispatch:
+0x7d29 035908 fetch 1 ,mem_ui_led_struct_num 
+0x7d2a 035909 rtn blank 
+0x7d2b 035910 arg 0 ,rega 
+:      035911 ui_led_blink_polling:
+0x7d2c 035912 call ui_led_change_style_by_type 
+0x7d2d 035913 increase 1 ,rega 
+0x7d2e 035914 fetch 1 ,mem_ui_led_struct_num 
+0x7d2f 035915 isub rega ,null 
+0x7d30 035916 rtn zero 
+0x7d31 035917 branch ui_led_blink_polling 
+:      035920 ui_led_off_static:
+0x7d32 035921 add regb ,led_offset_led_gpio ,regc 
+0x7d33 035922 ifetcht 1 ,regc 
+0x7d34 035923 branch gpio_out_inactive 
+:      035926 ui_led_on_static:
+0x7d35 035927 add regb ,led_offset_led_gpio ,regc 
+0x7d36 035928 ifetcht 1 ,regc 
+0x7d37 035929 branch gpio_out_active 
+:      035933 ui_led_change_style_by_type:
+0x7d38 035934 add rega ,ui_led_blink ,queue 
+0x7d39 035935 call timer_check 
+0x7d3a 035936 nrtn blank 
+0x7d3b 035938 call calc_curr_struct_prt 
+0x7d3c 035940 ifetch 1 ,regb 
+0x7d3d 035942 beq ui_led_state_lighting ,ui_led_on_static 
+0x7d3e 035943 beq ui_led_state_darking ,ui_led_off_static 
+0x7d3f 035944 beq ui_led_state_blink_stop ,ui_led_off_static 
+0x7d40 035945 beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+:      035946 ui_led_blink_state_lighting:
+0x7d41 035947 call ui_led_on_static 
+0x7d42 035948 add regb ,led_offset_cb_ledon ,regc 
+0x7d43 035949 call push_stack 
+0x7d44 035950 ifetch 2 ,regc 
+0x7d45 035951 call callback_func 
+0x7d46 035952 call pop_stack 
+0x7d47 035953 setarg ui_led_state_blink_darking 
+0x7d48 035954 istore 1 ,regb 
+0x7d49 035955 add regb ,led_offset_on_time ,regc 
+0x7d4a 035956 ifetch 2 ,regc 
+0x7d4b 035957 branch ui_led_blink_timer_start 
+:      035960 ui_led_blink_state_darking:
+0x7d4c 035961 call ui_led_off_static 
+0x7d4d 035962 add regb ,led_offset_cb_ledoff ,regc 
+0x7d4e 035963 call push_stack 
+0x7d4f 035964 ifetch 2 ,regc 
+0x7d50 035965 call callback_func 
+0x7d51 035966 call pop_stack 
+0x7d52 035968 add regb ,led_offset_blink_count ,regc 
+0x7d53 035969 ifetch 1 ,regc 
+0x7d54 035970 beq led_infinite_flash_num ,ui_led_blink_infinite 
+0x7d55 035971 increase -1 ,pdata 
+0x7d56 035972 istore 1 ,regc 
+0x7d57 035973 branch ui_led_blink_stop_global ,blank 
+:      035974 ui_led_blink_infinite:
+0x7d58 035975 setarg ui_led_state_blink_lighting 
+0x7d59 035976 istore 1 ,regb 
+0x7d5a 035977 add regb ,led_offset_off_time ,regc 
+0x7d5b 035978 ifetch 2 ,regc 
+:      035979 ui_led_blink_timer_start:
+0x7d5c 035980 add rega ,ui_led_blink ,queue 
+0x7d5d 035981 branch timer_init 
+:      035983 ui_led_stop_timer:
+0x7d5e 035984 setarg 0 
+0x7d5f 035985 branch ui_led_blink_timer_start 
+:      035991 ui_timer_timeout:
+0x7d60 035992 setarg 0x1000 
+0x7d61 035993 lshift16 pdata ,pdata 
+0x7d62 035994 iadd regb ,regb 
+0x7d63 035995 rtn 
+:      035997 ui_timer_check:
+0x7d64 035998 bpatchx patch3e_4 ,mem_patch3e 
+0x7d65 035999 arg 0 ,rega 
+0x7d66 036000 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7d67 036001 copy clkn_bt ,regb 
+0x7d68 036002 copy regb ,pdata 
+0x7d69 036003 isub temp ,null 
+0x7d6a 036004 ncall ui_timer_timeout ,positive 
+:      036006 ui_timer_check_loop:
+0x7d6b 036007 copy regb ,pdata 
+0x7d6c 036008 increase 160 ,temp 
+0x7d6d 036009 increase 160 ,temp 
+0x7d6e 036010 isub temp ,null 
+0x7d6f 036011 nbranch ui_timer_check_end ,positive 
+0x7d70 036012 increase 1 ,rega 
+0x7d71 036013 and rega ,0x0f ,pdata 
+0x7d72 036014 nbranch ui_timer_check_loop ,blank 
+0x7d73 036015 arg 0 ,rega 
+0x7d74 036016 call ui_timer_check_send_evt 
+:      036017 ui_timer_init:
+0x7d75 036018 copy clkn_bt ,pdata 
+0x7d76 036019 store 4 ,mem_ui_timer_last_btclk 
+0x7d77 036020 rtn 
+:      036021 ui_timer_check_end:
+0x7d78 036022 bpatchx patch3e_5 ,mem_patch3e 
+0x7d79 036023 copy rega ,pdata 
+0x7d7a 036024 rtn blank 
+0x7d7b 036025 increase -160 ,temp 
+0x7d7c 036026 increase -160 ,temp 
+0x7d7d 036027 set0 28 ,temp 
+0x7d7e 036028 storet 4 ,mem_ui_timer_last_btclk 
+:      036029 ui_timer_check_send_evt:
+0x7d7f 036030 branch app_evt_timer 
+:      036037 ui_ipc_get_lock:
+0x7d80 036038 jam 1 ,mem_ipc_lock_bt 
+:      036039 ui_ipc_get_lock_wait:
+0x7d81 036040 fetch 1 ,mem_ipc_lock_c51 
+0x7d82 036041 nbranch ui_ipc_get_lock_wait ,blank 
+0x7d83 036042 rtn 
+:      036044 ui_ipc_put_lock:
+0x7d84 036045 jam 0 ,mem_ipc_lock_bt 
+0x7d85 036046 rtn 
+:      036050 ui_ipc_send_event:
+0x7d86 036051 bpatchx patch3e_6 ,mem_patch3e 
+0x7d87 036052 call ui_ipc_get_lock 
+0x7d88 036053 copy rega ,pdata 
+0x7d89 036054 store 4 ,mem_ipc_rega_temp 
+0x7d8a 036055 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7d8b 036056 call fifo_in 
+0x7d8c 036057 fetch 4 ,mem_ipc_rega_temp 
+0x7d8d 036058 copy pdata ,rega 
+0x7d8e 036059 branch ui_ipc_put_lock 
+:      036061 ui_ipc_send_cmd:
+0x7d8f 036062 bpatchx patch3e_7 ,mem_patch3e 
+0x7d90 036063 call ui_ipc_get_lock 
+0x7d91 036064 copy rega ,pdata 
+0x7d92 036065 store 4 ,mem_ipc_rega_temp 
+0x7d93 036066 arg mem_ipc_fifo_c512bt ,rega 
+0x7d94 036067 call fifo_in 
+0x7d95 036068 fetch 4 ,mem_ipc_rega_temp 
+0x7d96 036069 copy pdata ,rega 
+0x7d97 036070 branch ui_ipc_put_lock 
+:      036072 ui_ipc_clean_all_fifo:
+0x7d98 036073 setarg 0 
+0x7d99 036074 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7d9a 036075 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7d9b 036076 rtn 
+:      036078 check_51cmd:
+0x7d9c 036079 bpatchx patch3f_0 ,mem_patch3f 
+0x7d9d 036080 fetch 1 ,mem_hci_cmd 
+0x7d9e 036081 nrtn blank 
+0x7d9f 036082 arg mem_ipc_fifo_c512bt ,rega 
+0x7da0 036083 call fifo_is_empty 
+0x7da1 036084 rtn blank 
+0x7da2 036085 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7da3 036086 call check_51cmd_once 
+0x7da4 036087 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7da5 036088 branch check_51cmd ,blank 
+0x7da6 036089 rtn 
+:      036091 check_51cmd_once:
+0x7da7 036092 call ui_ipc_get_lock 
+0x7da8 036093 arg mem_ipc_fifo_c512bt ,rega 
+0x7da9 036094 call fifo_out 
+0x7daa 036095 copy pdata ,temp 
+0x7dab 036096 call ui_ipc_put_lock 
+0x7dac 036097 bpatchx patch3f_1 ,mem_patch3f 
+0x7dad 036098 copy temp ,pdata 
+0x7dae 036099 rtn blank 
+0x7daf 036100 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7db0 036101 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7db1 036102 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7db2 036103 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7db3 036104 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7db4 036105 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7db5 036106 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7db6 036107 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7db7 036108 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7db8 036109 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7db9 036110 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7dba 036111 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7dbb 036112 beq bt_cmd_led_off ,check_51cmd_led_off 
+0x7dbc 036113 beq bt_cmd_led_on ,check_51cmd_led_on 
+0x7dbd 036114 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+0x7dbe 036115 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7dbf 036116 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7dc0 036117 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7dc1 036118 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7dc2 036119 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7dc3 036120 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7dc4 036122 store 1 ,mem_fifo_temp 
+0x7dc5 036123 bpatchx patch3f_2 ,mem_patch3f 
+0x7dc6 036124 call lmo_fifo_check 
+0x7dc7 036125 nbranch check_51cmd_restore ,blank 
+:      036126 check_51cmd_once_continue:
+0x7dc8 036127 fetch 1 ,mem_fifo_temp 
+0x7dc9 036128 bmark0 mark_context ,check_51cmd_check_idle 
+0x7dca 036129 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7dcb 036130 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7dcc 036131 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7dcd 036132 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7dce 036133 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7dcf 036134 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7dd0 036135 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7dd1 036136 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7dd2 036137 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7dd3 036138 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7dd4 036139 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7dd5 036140 rtn 
+:      036142 check_51cmd_check_idle:
+0x7dd6 036143 store 1 ,mem_fifo_temp 
+0x7dd7 036144 call context_check_idle 
+0x7dd8 036145 branch check_51cmd_restore ,zero 
+0x7dd9 036146 call context_search_plap 
+0x7dda 036147 nrtn zero 
+:      036148 check_51cmd_restore:
+0x7ddb 036149 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7ddc 036150 branch ui_ipc_send_cmd 
+:      036155 check_51cmd_start_discovery:
+0x7ddd 036156 fetch 2 ,mem_ui_state_map 
+0x7dde 036157 set1 ui_state_bt_discovery 
+0x7ddf 036158 store 2 ,mem_ui_state_map 
+0x7de0 036159 jam 3 ,mem_scan_mode 
+0x7de1 036160 rtn 
+:      036164 check_51cmd_stop_discovery:
+0x7de2 036165 jam 0 ,mem_hid_handshake_timer_count 
+0x7de3 036166 jam 0 ,mem_scan_mode 
+0x7de4 036167 fetch 2 ,mem_ui_state_map 
+0x7de5 036168 set0 ui_state_bt_discovery 
+0x7de6 036169 store 2 ,mem_ui_state_map 
+0x7de7 036170 rtn 
+:      036174 check_51cmd_reconnect:
+0x7de8 036175 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7de9 036176 rtn 
+:      036180 check_51cmd_disconnect:
+0x7dea 036181 jam lmp_detach ,mem_lmo_opcode2 
+0x7deb 036182 jam other_end_terminated ,mem_disconn_reason_send 
+0x7dec 036183 rtn 
+:      036187 check_51cmd_enter_sniff_subrating:
+0x7ded 036188 rtn 
+:      036192 check_51cmd_exit_sniff_subrating:
+0x7dee 036193 rtn 
+:      036197 check_51cmd_sniff_test:
+0x7def 036198 rtn 
+:      036202 check_51cmd_pincode:
+0x7df0 036203 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7df1 036204 branch cmd_pair 
+:      036208 check_51cmd_inq:
+0x7df2 036209 rtn 
+:      036213 check_51cmd_stop_inq:
+0x7df3 036214 rtn 
+:      036218 check_51cmd_adv:
+0x7df4 036219 jam on ,mem_le_adv_enable 
+0x7df5 036220 jam adv_ind ,mem_le_adv_type 
+0x7df6 036221 fetch 2 ,mem_ui_state_map 
+0x7df7 036222 set1 ui_state_ble_adv ,pdata 
+0x7df8 036223 store 2 ,mem_ui_state_map 
+0x7df9 036224 rtn 
+:      036228 check_51cmd_stop_adv:
+0x7dfa 036229 fetch 2 ,mem_ui_state_map 
+0x7dfb 036230 set0 ui_state_ble_adv ,pdata 
+0x7dfc 036231 store 2 ,mem_ui_state_map 
+0x7dfd 036232 jam off ,mem_le_adv_enable 
+0x7dfe 036233 rtn 
+:      036237 check_51cmd_direct_adv:
+0x7dff 036238 jam on ,mem_le_adv_enable 
+0x7e00 036239 jam adv_direct_ind ,mem_le_adv_type 
+0x7e01 036240 fetch 2 ,mem_ui_state_map 
+0x7e02 036241 set1 ui_state_ble_adv ,pdata 
+0x7e03 036242 store 2 ,mem_ui_state_map 
+0x7e04 036243 rtn 
+:      036247 check_51cmd_stop_direct_adv:
+0x7e05 036248 fetch 2 ,mem_ui_state_map 
+0x7e06 036249 set0 ui_state_ble_adv ,pdata 
+0x7e07 036250 store 2 ,mem_ui_state_map 
+0x7e08 036251 jam off ,mem_le_adv_enable 
+0x7e09 036252 rtn 
+:      036256 check_51cmd_le_disconnect:
+0x7e0a 036257 setarg 20 
+0x7e0b 036258 store 2 ,mem_le_superto 
+0x7e0c 036259 store 2 ,mem_le_init_superto 
+0x7e0d 036260 branch le_send_terminate_ind_user_terminated 
+:      036264 check_51cmd_ble_update_connect_param:
+0x7e0e 036265 branch le_l2cap_tx_update_req 
+:      036269 check_51cmd_led_off:
+0x7e0f 036270 arg 0 ,rega 
+0x7e10 036271 branch ui_led_off_global 
+:      036275 check_51cmd_led_on:
+0x7e11 036276 arg 0 ,rega 
+0x7e12 036277 branch ui_led_on_global 
+:      036281 check_51cmd_led_start_blink:
+0x7e13 036282 arg 0 ,rega 
+0x7e14 036283 branch ui_led_blink_start_global 
+:      036287 check_51cmd_le_start_con:
+0x7e15 036288 jam on ,mem_le_scan_enable 
+0x7e16 036289 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7e17 036292 rtn 
+:      036296 check_51cmd_start_scan:
+0x7e18 036297 jam on ,mem_le_scan_enable 
+0x7e19 036298 rtn 
+:      036302 check_51cmd_stop_scan:
+0x7e1a 036303 jam off ,mem_le_scan_enable 
+0x7e1b 036304 jam 0 ,mem_hci_cmd 
+0x7e1c 036305 rtn 
+:      036309 check_51cmd_hibernate:
+0x7e1d 036310 fetch 2 ,mem_cb_before_hibernate 
+0x7e1e 036311 call callback_func 
+0x7e1f 036312 fetch 1 ,mem_ui_button_gpio 
+0x7e20 036313 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+0x7e21 036314 copy pdata ,temp 
+0x7e22 036315 call gpio_config_input 
+:      036316 check_51cmd_hibernate_btn_disabled:
+0x7e23 036317 call ui_ipc_clean_all_fifo 
+0x7e24 036318 branch lpm_hibernate 
+:      036322 check_51cmd_le_smp_sec_req:
+0x7e25 036323 branch le_send_smp_security_request 
+:      036327 check_51cmd_role_switch:
+0x7e26 036328 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7e27 036329 set1 mark_switch_initiated ,mark 
+0x7e28 036330 nrtn master 
+0x7e29 036331 jam switch_flag_init ,mem_switch_flag 
+0x7e2a 036332 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7e2b 036333 fetch 1 ,mem_connection_options 
+0x7e2c 036334 set0 connection_switch ,pdata 
+0x7e2d 036335 store 1 ,mem_connection_options 
+0x7e2e 036336 rtn 
+:      036340 check_51cmd_bb_reconn_cancel:
+0x7e2f 036341 force page_length_timer ,queue 
+0x7e30 036342 branch timer_stop 
+:      036346 check_51cmd_dhkey_not_accept:
+0x7e31 036347 call tid_set_reply 
+0x7e32 036348 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7e33 036349 branch parse_lmp_dhkey_check_reject 
+:      036352 ui_check_paring_button:
+0x7e34 036353 fetch 1 ,mem_ui_state_map 
+0x7e35 036354 rtnbit0 ui_state_btn_down 
+0x7e36 036355 rtnbit0 ui_state_bt_reconnect 
+0x7e37 036356 branch check_51cmd_bb_reconn_cancel 
+:      036361 queue_init:
+0x7e38 036362 fetch 2 ,mem_queue_ptr 
+0x7e39 036363 add pdata ,queue_offset_curr_num ,contw 
+0x7e3a 036364 setarg 0 
+0x7e3b 036365 istore 3 ,contw 
+0x7e3c 036366 rtn 
+:      036370 queue_push:
+0x7e3d 036371 call disable_user 
+0x7e3e 036372 call queue_full 
+0x7e3f 036373 rtn blank 
+0x7e40 036374 fetch 2 ,mem_queue_ptr 
+0x7e41 036375 add pdata ,queue_offset_curr_num ,regb 
+0x7e42 036376 ifetcht 1 ,regb 
+0x7e43 036377 increase 1 ,temp 
+0x7e44 036378 istoret 1 ,regb 
+0x7e45 036380 ifetcht 1 ,pdata 
+0x7e46 036381 copy temp ,loopcnt 
+0x7e47 036382 add pdata ,queue_offset_write_ptr ,regb 
+0x7e48 036383 ifetch 1 ,regb 
+0x7e49 036384 imul32 temp ,pdata 
+0x7e4a 036385 iadd contr ,contw 
+0x7e4b 036386 copy rega ,contr 
+:      036387 calc_queue_next_ptr:
+0x7e4c 036388 call memcpy 
+0x7e4d 036389 call queue_get_size 
+0x7e4e 036390 pincrease -1 
+0x7e4f 036391 ifetcht 1 ,regb 
+0x7e50 036392 increase 1 ,temp 
+0x7e51 036393 iand temp ,temp 
+0x7e52 036394 istoret 1 ,regb 
+0x7e53 036395 branch enable_user 
+:      036400 queue_pop:
+0x7e54 036401 call disable_user 
+0x7e55 036402 call queue_empty 
+0x7e56 036403 rtn blank 
+0x7e57 036404 fetch 2 ,mem_queue_ptr 
+0x7e58 036405 add pdata ,queue_offset_curr_num ,regb 
+0x7e59 036406 ifetcht 1 ,regb 
+0x7e5a 036407 increase -1 ,temp 
+0x7e5b 036408 istoret 1 ,regb 
+0x7e5c 036409 ifetcht 1 ,pdata 
+0x7e5d 036410 copy temp ,loopcnt 
+0x7e5e 036411 add pdata ,queue_offset_read_ptr ,regb 
+0x7e5f 036412 ifetch 1 ,regb 
+0x7e60 036413 imul32 temp ,pdata 
+0x7e61 036414 iadd contr ,contr 
+0x7e62 036415 increase 1 ,contr 
+0x7e63 036416 copy rega ,contw 
+0x7e64 036417 branch calc_queue_next_ptr 
+:      036421 queue_empty:
+0x7e65 036422 fetch 2 ,mem_queue_ptr 
+0x7e66 036423 add pdata ,queue_offset_curr_num ,contr 
+0x7e67 036424 ifetch 1 ,contr 
+0x7e68 036425 rtn 
+:      036428 queue_full:
+0x7e69 036429 call queue_get_size 
+0x7e6a 036430 ifetcht 1 ,contr 
+0x7e6b 036431 isub temp ,pdata 
+0x7e6c 036432 rtn 
+:      036435 queue_get_size:
+0x7e6d 036436 fetch 2 ,mem_queue_ptr 
+0x7e6e 036437 add pdata ,queue_offset_length ,contr 
+0x7e6f 036438 ifetch 1 ,contr 
+0x7e70 036439 rtn 
+:      036447 right_shift_n:
+0x7e71 036448 sub loopcnt ,0 ,null 
+0x7e72 036449 rtn zero 
+:      036450 right_shift_n_loop:
+0x7e73 036451 rshift pdata ,pdata 
+0x7e74 036452 loop right_shift_n_loop 
+0x7e75 036453 rtn 
+:      036456 left_shift_n:
+0x7e76 036457 force 1 ,pdata 
+0x7e77 036458 sub loopcnt ,0 ,null 
+0x7e78 036459 rtn zero 
+:      036460 left_shift_n_loop:
+0x7e79 036461 lshift pdata ,pdata 
+0x7e7a 036462 loop left_shift_n_loop 
+0x7e7b 036463 rtn 
+:      036464 push_stack:
+0x7e7c 036465 deposit contw 
+0x7e7d 036466 store 2 ,mem_contw 
+0x7e7e 036467 storet 8 ,mem_temp 
+0x7e7f 036468 deposit timeup 
+0x7e80 036469 store 4 ,mem_timeup 
+0x7e81 036470 call push_stack_rega_b_c 
+0x7e82 036471 deposit contr 
+0x7e83 036472 store 2 ,mem_contr 
+0x7e84 036473 rtn 
+:      036475 push_stack_rega_b_c:
+0x7e85 036476 deposit rega 
+0x7e86 036477 store 4 ,mem_rega 
+0x7e87 036478 deposit regb 
+0x7e88 036479 store 4 ,mem_regb 
+0x7e89 036480 deposit regc 
+0x7e8a 036481 store 3 ,mem_regc 
+0x7e8b 036482 rtn 
+:      036484 pop_stack:
+0x7e8c 036485 fetcht 8 ,mem_temp 
+0x7e8d 036486 fetch 4 ,mem_timeup 
+0x7e8e 036487 iforce timeup 
+0x7e8f 036488 call pop_stack_rega_b_c 
+0x7e90 036489 fetch 2 ,mem_contw 
+0x7e91 036490 iforce contw 
+0x7e92 036491 fetch 2 ,mem_contr 
+0x7e93 036492 iforce contr 
+0x7e94 036493 rtn 
+:      036495 pop_stack_rega_b_c:
+0x7e95 036496 fetch 4 ,mem_rega 
+0x7e96 036497 iforce rega 
+0x7e97 036498 fetch 4 ,mem_regb 
+0x7e98 036499 iforce regb 
+0x7e99 036500 fetch 3 ,mem_regc 
+0x7e9a 036501 iforce regc 
+0x7e9b 036502 rtn 
+:      036504 get_contw:
+0x7e9c 036505 fetch 2 ,mem_contw 
+0x7e9d 036506 copy pdata ,contw 
+0x7e9e 036507 rtn 
+:      036508 get_contr:
+0x7e9f 036509 fetch 2 ,mem_contr 
+0x7ea0 036510 copy pdata ,contr 
+0x7ea1 036511 rtn 
+:      036512 store_contw:
+0x7ea2 036513 copy contw ,pdata 
+0x7ea3 036514 store 2 ,mem_contw 
+0x7ea4 036515 rtn 
+:      036516 store_contr:
+0x7ea5 036517 copy contr ,pdata 
+0x7ea6 036518 store 2 ,mem_contr 
+0x7ea7 036519 rtn 
+:      036523 save_cont_pointers:
+0x7ea8 036524 copy contw ,pdata 
+0x7ea9 036525 store 2 ,mem_hold_contw 
+0x7eaa 036526 copy contr ,pdata 
+0x7eab 036527 store 2 ,mem_hold_contr 
+0x7eac 036528 rtn 
+:      036529 load_cont_pointers:
+0x7ead 036530 fetch 2 ,mem_hold_contw 
+0x7eae 036531 copy pdata ,contw 
+0x7eaf 036532 fetch 2 ,mem_hold_contr 
+0x7eb0 036533 copy pdata ,contr 
+0x7eb1 036534 rtn 
+:      036536 memcpy96:
+0x7eb2 036537 call memcpy32 
+:      036538 memcpy64:
+0x7eb3 036539 call memcpy32 
+0x7eb4 036540 branch memcpy32 
+:      036541 memcpy12:
+0x7eb5 036542 call memcpy8 
+:      036543 memcpy4:
+0x7eb6 036544 ifetch 4 ,contr 
+0x7eb7 036545 istore 4 ,contw 
+0x7eb8 036546 rtn 
+:      036547 memcpy8:
+0x7eb9 036548 ifetch 8 ,contr 
+0x7eba 036549 istore 8 ,contw 
+0x7ebb 036550 rtn 
+:      036552 memcpy48:
+0x7ebc 036553 call memcpy16 
+:      036554 memcpy32:
+0x7ebd 036555 call memcpy8 
+:      036556 memcpy24:
+0x7ebe 036557 call memcpy8 
+:      036558 memcpy16:
+0x7ebf 036559 call memcpy8 
+0x7ec0 036560 branch memcpy8 
+:      036564 delay_10ms:
+0x7ec1 036565 arg 10 ,loopcnt 
+:      036566 delay_ms_wait:
+0x7ec2 036567 nop 12000 
+0x7ec3 036568 loop delay_ms_wait 
+0x7ec4 036569 rtn 
+:      036571 bn_zero:
+0x7ec5 036572 force 3 ,loopcnt 
+:      036573 memset0:
+0x7ec6 036574 force 0 ,pdata 
+:      036575 memset8:
+0x7ec7 036576 istore 8 ,contw 
+0x7ec8 036577 loop memset8 
+0x7ec9 036578 rtn 
+:      036580 memset0_8:
+0x7eca 036581 force 0 ,pdata 
+0x7ecb 036582 istore 8 ,contw 
+0x7ecc 036583 rtn 
+:      036584 memset0_4:
+0x7ecd 036585 force 0 ,pdata 
+0x7ece 036586 istore 4 ,contw 
+0x7ecf 036587 rtn 
+:      036589 clear_mem_256:
+0x7ed0 036590 force 4 ,loopcnt 
+0x7ed1 036591 branch memset0 
+:      036592 clear_mem_512:
+0x7ed2 036593 force 8 ,loopcnt 
+0x7ed3 036594 branch memset0 
+:      036596 clear_mem:
+0x7ed4 036597 deposit loopcnt 
+0x7ed5 036598 rtn blank 
+0x7ed6 036599 setarg 0 
+:      036600 clear_mem_loop:
+0x7ed7 036601 istore 1 ,contw 
+0x7ed8 036602 loop clear_mem_loop 
+0x7ed9 036603 rtn 
+:      036606 clear_temp_block:
+0x7eda 036607 arg 32 ,loopcnt 
+0x7edb 036608 arg mem_temp_block0 ,contw 
+0x7edc 036609 branch clear_mem 
+:      036611 xor_loop:
+0x7edd 036612 ifetch 4 ,regc 
+0x7ede 036613 ifetcht 4 ,rega 
+0x7edf 036614 ixor temp ,pdata 
+0x7ee0 036615 istore 4 ,contw 
+0x7ee1 036616 increase 4 ,rega 
+0x7ee2 036617 increase 4 ,regc 
+0x7ee3 036618 loop xor_loop 
+0x7ee4 036619 rtn 
+:      036623 inverse_data:
+0x7ee5 036624 bpatchx patch3f_3 ,mem_patch3f 
+0x7ee6 036625 copy loopcnt ,pdata 
+0x7ee7 036626 sub pdata ,1 ,null 
+0x7ee8 036627 rtn positive 
+0x7ee9 036628 iadd rega ,regb 
+0x7eea 036629 increase -1 ,regb 
+0x7eeb 036630 rshift loopcnt ,loopcnt 
+:      036631 inverse_loop:
+0x7eec 036632 ifetcht 1 ,rega 
+0x7eed 036633 ifetch 1 ,regb 
+0x7eee 036634 istore 1 ,rega 
+0x7eef 036635 istoret 1 ,regb 
+0x7ef0 036636 increase -1 ,regb 
+0x7ef1 036637 increase 1 ,rega 
+0x7ef2 036638 loop inverse_loop 
+0x7ef3 036639 rtn 
+:      036642 memcpy_fast:
+0x7ef4 036643 deposit loopcnt 
+0x7ef5 036644 rtn blank 
+:      036645 memcpy_fast_loop:
+0x7ef6 036646 increase -8 ,loopcnt 
+0x7ef7 036647 call memcpy8 ,positive 
+0x7ef8 036648 rtn zero 
+0x7ef9 036649 branch memcpy_fast_loop ,positive 
+0x7efa 036650 increase 8 ,loopcnt 
+:      036651 memcpy_fast_loop_four:
+0x7efb 036652 increase -4 ,loopcnt 
+0x7efc 036653 call memcpy4 ,positive 
+0x7efd 036654 rtn zero 
+0x7efe 036655 branch memcpy_fast_loop_four ,positive 
+0x7eff 036656 increase 4 ,loopcnt 
+0x7f00 036657 branch memcpy 
+:      036659 memcpy:
+0x7f01 036660 deposit loopcnt 
+0x7f02 036661 rtn blank 
+:      036662 memcpy_loop:
+0x7f03 036663 ifetch 1 ,contr 
+0x7f04 036664 istore 1 ,contw 
+0x7f05 036665 loop memcpy_loop 
+0x7f06 036666 rtn 
+:      036668 timer_stop:
+0x7f07 036669 setarg 0 
+:      036670 timer_init:
+0x7f08 036671 rshift clkn_bt ,temp 
+0x7f09 036672 storet 4 ,mem_last_clkn 
+0x7f0a 036673 arg mem_timers ,contw 
+0x7f0b 036674 iforce temp 
+0x7f0c 036675 lshift queue ,pdata 
+0x7f0d 036676 iadd contw ,contw 
+0x7f0e 036677 istoret 2 ,contw 
+0x7f0f 036678 bpatchx patch3f_4 ,mem_patch3f 
+0x7f10 036679 rtn 
+:      036681 timer_check_timeout:
+0x7f11 036682 arg 0x800 ,timeup 
+0x7f12 036683 lshift16 timeup ,timeup 
+0x7f13 036684 iadd timeup ,pdata 
+0x7f14 036685 rtn 
+:      036688 timer_reinit:
+0x7f15 036689 arg 0 ,queue 
+:      036690 timer_check:
+0x7f16 036691 bpatchx patch3f_5 ,mem_patch3f 
+0x7f17 036692 fetcht 4 ,mem_last_clkn 
+0x7f18 036693 rshift clkn_bt ,pdata 
+0x7f19 036694 store 4 ,mem_last_clkn 
+0x7f1a 036695 isub temp ,null 
+0x7f1b 036696 ncall timer_check_timeout ,positive 
+0x7f1c 036697 isub temp ,timeup 
+0x7f1d 036698 copy timeup ,temp 
+0x7f1e 036699 arg mem_timers ,contr 
+0x7f1f 036700 copy contr ,contw 
+0x7f20 036701 arg 16 ,loopcnt 
+:      036702 timer_loop:
+0x7f21 036703 ifetch 2 ,contr 
+0x7f22 036704 isub temp ,pdata 
+0x7f23 036705 branch timer_counting ,positive 
+0x7f24 036706 force 0 ,pdata 
+:      036707 timer_counting:
+0x7f25 036708 istore 2 ,contw 
+0x7f26 036709 loop timer_loop 
+0x7f27 036710 arg mem_timers ,contr 
+0x7f28 036711 lshift queue ,pdata 
+0x7f29 036712 iadd contr ,contr 
+0x7f2a 036713 ifetch 2 ,contr 
+0x7f2b 036714 rtn 
+:      036719 clk_add:
+0x7f2c 036720 iadd temp ,temp 
+0x7f2d 036721 copy temp ,loopcnt 
+0x7f2e 036722 setarg 3750 
+0x7f2f 036723 isub loopcnt ,pdata 
+0x7f30 036724 rtn positive 
+0x7f31 036725 sub pdata ,0 ,pdata 
+0x7f32 036726 rshift16 temp ,temp 
+0x7f33 036727 increase 1 ,temp 
+0x7f34 036728 lshift16 temp ,temp 
+0x7f35 036729 ior temp ,temp 
+0x7f36 036730 rtn 
+:      036732 clk_diff_rt:
+0x7f37 036733 call clk_diff 
+0x7f38 036734 branch clk2rt 
+:      036737 clk_diff:
+0x7f39 036738 disable user 
+0x7f3a 036739 isub temp ,pdata 
+0x7f3b 036740 branch clk_diff_pos ,positive 
+0x7f3c 036741 enable user 
+0x7f3d 036742 sub pdata ,0 ,pdata 
+:      036743 clk_diff_pos:
+0x7f3e 036744 rtnbit0 15 
+0x7f3f 036745 arg -61786 ,temp 
+0x7f40 036746 iadd temp ,pdata 
+0x7f41 036747 set0 64 ,pdata 
+0x7f42 036748 rtn 
+:      036750 clk2rt:
+0x7f43 036751 iforce contr 
+0x7f44 036752 rshift16 pdata ,pdata 
+0x7f45 036753 arg 3750 ,temp 
+0x7f46 036754 imul32 temp ,pdata 
+0x7f47 036755 iadd contr ,pdata 
+0x7f48 036756 rtn 
+:      036759 clk2lpo:
+0x7f49 036760 lshift8 pdata ,pdata 
+0x7f4a 036761 lshift4 pdata ,pdata 
+0x7f4b 036762 fetcht 3 ,mem_clks_per_lpo 
+0x7f4c 036763 idiv temp 
+0x7f4d 036764 call wait_div_end 
+0x7f4e 036765 quotient temp 
+0x7f4f 036766 rtn 
+:      036769 clk2bt:
+0x7f50 036770 arg 3750 ,temp 
+0x7f51 036771 idiv temp 
+0x7f52 036772 call wait_div_end 
+0x7f53 036773 quotient pdata 
+0x7f54 036774 lshift16 pdata ,pdata 
+0x7f55 036775 remainder temp 
+0x7f56 036776 ior temp ,temp 
+0x7f57 036777 rtn 
+:      036784 string2dec_from_uart:
+0x7f58 036785 arg 0 ,temp 
+:      036786 string2dec_from_uart_done:
+0x7f59 036787 copy temp ,regc 
+0x7f5a 036788 ifetch 1 ,contru 
+0x7f5b 036789 call uchar2dialog 
+0x7f5c 036790 copy regc ,temp 
+0x7f5d 036791 call swap 
+0x7f5e 036792 arg 10 ,regb 
+0x7f5f 036793 imul32 regb ,pdata 
+0x7f60 036794 iadd temp ,pdata 
+0x7f61 036795 copy pdata ,temp 
+0x7f62 036796 loop string2dec_from_uart_done 
+0x7f63 036797 rtn 
+:      036801 uchar2dialog:
+0x7f64 036802 arg 0x3a ,temp 
+0x7f65 036803 isub temp ,null 
+0x7f66 036804 nbranch uchar2dialog_number ,positive 
+0x7f67 036805 arg 0x61 ,temp 
+0x7f68 036806 isub temp ,null 
+0x7f69 036807 branch uchar2dialog_a2f ,positive 
+0x7f6a 036808 arg 0x37 ,temp 
+0x7f6b 036809 isub temp ,pdata 
+0x7f6c 036810 rtn 
+:      036811 uchar2dialog_number:
+0x7f6d 036812 arg 0x30 ,temp 
+0x7f6e 036813 isub temp ,pdata 
+0x7f6f 036814 rtn 
+:      036815 uchar2dialog_a2f:
+0x7f70 036816 arg 0x57 ,temp 
+0x7f71 036817 isub temp ,pdata 
+0x7f72 036818 rtn 
+:      036820 pn9:
+0x7f73 036821 copy temp ,alarm 
+0x7f74 036822 setarg 0x1ff 
+0x7f75 036823 force 0 ,regb 
+:      036824 pn9_loop:
+0x7f76 036825 rshift3 pdata ,rega 
+0x7f77 036826 rshift rega ,rega 
+0x7f78 036827 ixor rega ,rega 
+0x7f79 036828 isolate1 0 ,rega 
+0x7f7a 036829 setflag true ,9 ,pdata 
+0x7f7b 036830 rshift temp ,temp 
+0x7f7c 036831 isolate1 0 ,pdata 
+0x7f7d 036832 setflag true ,7 ,temp 
+0x7f7e 036833 rshift pdata ,pdata 
+0x7f7f 036834 increase 1 ,regb 
+0x7f80 036835 compare 0 ,regb ,0x7 
+0x7f81 036836 nbranch pn9_loop ,true 
+0x7f82 036837 istoret 1 ,contw 
+0x7f83 036838 loop pn9_loop 
+0x7f84 036839 copy alarm ,temp 
+0x7f85 036840 rtn 
+:      036843 wait_div_end:
+0x7f86 036844 rtn modone 
+0x7f87 036845 branch wait_div_end 
+:      036855 compare_loop:
+:      036856 string_compare:
+0x7f88 036857 ifetch 1 ,rega 
+0x7f89 036858 ifetcht 1 ,regb 
+0x7f8a 036859 isub temp ,null 
+0x7f8b 036860 nrtn zero 
+0x7f8c 036861 increase 1 ,rega 
+0x7f8d 036862 increase 1 ,regb 
+0x7f8e 036863 loop string_compare 
+0x7f8f 036864 force 0 ,null 
+0x7f90 036865 rtn 
+:      036868 ceiling:
+0x7f91 036869 isub temp ,null 
+0x7f92 036870 nrtn positive 
+0x7f93 036871 deposit temp 
+0x7f94 036872 rtn 
+:      036874 swap:
+0x7f95 036875 iadd temp ,pdata 
+0x7f96 036876 isub temp ,temp 
+0x7f97 036877 isub temp ,pdata 
+0x7f98 036878 rtn 
+:      036880 clean_mem:
+0x7f99 036881 arg 0x200 ,loopcnt 
+0x7f9a 036882 arg 0x4000 ,contw 
+0x7f9b 036883 branch memset0 
+:      036886 callback_func:
+0x7f9c 036887 rtn blank 
+0x7f9d 036888 copy pdata ,pc 
+:      036891 wait_uarttx:
+0x7f9e 036892 hfetch 2 ,core_uart_txitems 
+0x7f9f 036893 nbranch wait_uarttx ,blank 
+0x7fa0 036894 rtn 
+:      036896 ice_break:
+0x7fa1 036897 jam 0x1 ,core_ice_ctrl 
+0x7fa2 036898 rtn 
+:      036900 ice_setbp:
+0x7fa3 036901 hstore 2 ,core_ice_break0 
+0x7fa4 036902 hfetch 1 ,core_ice_ctrl 
+0x7fa5 036903 set1 4 ,pdata 
+0x7fa6 036904 hstore 1 ,core_ice_ctrl 
+0x7fa7 036905 rtn 
+:      036906 ice_setbp2:
+0x7fa8 036907 hstore 2 ,core_ice_break1 
+0x7fa9 036908 hfetch 1 ,core_ice_ctrl 
+0x7faa 036909 set1 6 ,pdata 
+0x7fab 036910 hstore 1 ,core_ice_ctrl 
+0x7fac 036911 rtn 
+:      036913 ice_set_write_bp:
+0x7fad 036914 hstore 2 ,core_ice_break0 
+0x7fae 036915 jam 0x30 ,core_ice_ctrl 
+0x7faf 036916 rtn 
+:      036920 test_enable_white:
+0x7fb0 036921 hfetch 1 ,core_config 
+0x7fb1 036922 set0 whiteoff_bit ,pdata 
+0x7fb2 036923 hstore 1 ,core_config 
+0x7fb3 036924 rtn 
+:      036926 check_uart_tx_buff:
+0x7fb4 036927 hfetch 2 ,core_uart_txitems 
+0x7fb5 036928 arg uart_air_control_threshold ,temp 
+:      036929 pdata_sub_temp:
+0x7fb6 036930 isub temp ,null 
+0x7fb7 036931 rtn 
+:      036937 fifo_in:
+0x7fb8 036938 bpatchx patch3f_6 ,mem_patch3f 
+0x7fb9 036939 ifetcht util_fifo_len ,rega 
+0x7fba 036940 and temp ,0xff ,pdata 
+0x7fbb 036941 nbranch fifo_in_push ,blank 
+0x7fbc 036942 rshift8 temp ,pdata 
+0x7fbd 036943 istore util_fifo_len ,rega 
+:      036944 fifo_in_push:
+0x7fbe 036945 increase util_fifo_len + util_fifo_offset ,rega 
+0x7fbf 036946 ifetch 1 ,rega 
+0x7fc0 036947 nbranch assert ,blank 
+0x7fc1 036948 fetch 1 ,mem_fifo_temp 
+0x7fc2 036949 istore 1 ,rega 
+0x7fc3 036950 rtn 
+:      036955 fifo_out:
+0x7fc4 036956 bpatchx patch3f_7 ,mem_patch3f 
+0x7fc5 036957 arg util_fifo_len ,loopcnt 
+0x7fc6 036958 ifetch util_fifo_len ,rega 
+0x7fc7 036959 rtn blank 
+:      036960 fifo_out_loop:
+0x7fc8 036961 ifetch 1 ,rega 
+0x7fc9 036962 nbranch fifo_out_end ,blank 
+0x7fca 036963 increase 1 ,rega 
+0x7fcb 036964 loop fifo_out_loop 
+0x7fcc 036965 branch assert 
+:      036966 fifo_out_end:
+0x7fcd 036967 arg 0 ,temp 
+0x7fce 036968 istoret 1 ,rega 
+0x7fcf 036969 rtn 
+:      036974 fifo_is_empty:
+0x7fd0 036975 ifetch util_fifo_len ,rega 
+0x7fd1 036976 rtn 
+:      036981 fifo_is_full:
+0x7fd2 036982 ifetch 1 ,rega 
+0x7fd3 036983 rtn 
+:      036986 fifo_is_near_full:
+0x7fd4 036987 ifetch 2 ,rega 
+0x7fd5 036988 rtn 
+:      036992 fifo_content_count:
+0x7fd6 036993 arg 0 ,temp 
+:      036994 fifo_content_count_loop:
+0x7fd7 036995 fetch 1 ,contr 
+0x7fd8 036996 loop fifo_content_count_loop ,blank 
+0x7fd9 036997 increase 1 ,temp 
+0x7fda 036998 loop fifo_content_count_loop 
+0x7fdb 036999 copy temp ,pdata 
+0x7fdc 037000 rtn 
+:      037002 not_greater_than:
+0x7fdd 037003 isub temp ,null 
+0x7fde 037004 nrtn positive 
+0x7fdf 037005 copy temp ,pdata 
+0x7fe0 037006 rtn 
+:      037009 disable_positive:
+0x7fe1 037010 force -1 ,null 
+0x7fe2 037011 rtn 
+:      037012 enable_positive:
+:      037013 disable_zero:
+0x7fe3 037014 force 1 ,null 
+0x7fe4 037015 rtn 
+:      037016 enable_zero:
+0x7fe5 037017 force 0 ,null 
+0x7fe6 037018 rtn 
+:      037020 enable_user:
+0x7fe7 037021 enable user 
+0x7fe8 037022 rtn 
+:      037024 disable_user:
+0x7fe9 037025 disable user 
+0x7fea 037026 rtn 
+:      037028 enable_user2:
+0x7feb 037029 enable user2 
+0x7fec 037030 rtn 
+:      037032 disable_user2:
+0x7fed 037033 disable user2 
+0x7fee 037034 rtn 
+:      037036 disable_blank:
+0x7fef 037037 setarg 1 
+0x7ff0 037038 rtn 
+:      037040 enable_blank:
+0x7ff1 037041 setarg 0 
+0x7ff2 037042 rtn 
+:      037045 reverse_byte:
+0x7ff3 037046 copy loopcnt ,pdata 
+0x7ff4 037047 rtn blank 
+0x7ff5 037048 copy contr ,pdata 
+0x7ff6 037049 iadd loopcnt ,pdata 
+0x7ff7 037050 increase -1 ,pdata 
+0x7ff8 037051 copy pdata ,contr 
+:      037052 reverse_loop:
+0x7ff9 037053 ifetch 1 ,contr 
+0x7ffa 037054 increase -2 ,contr 
+0x7ffb 037055 istore 1 ,contw 
+0x7ffc 037056 loop reverse_loop 
+0x7ffd 037057 rtn 
+              org 0x10001
+:      037062 z_entrance0:
+0x10001 037063 beq zcode_00 ,z_page_wait_fhs_reply_ok
+0x10002 037064 rtn
+:      037066 z_page_wait_fhs_reply_ok:
+0x10003 037067 fetch 1 ,mem_page_rcv_fhs
+0x10004 037068 increase 1 ,pdata
+0x10005 037069 store 1 ,mem_page_rcv_fhs
+0x10006 037070 call prepare_newconn
+:      037071 z_master_newconn_loop:
+0x10007 037072 set1 mark_first_packet ,mark
+0x10008 037073 call master_newconn_once
+0x10009 037074 branch z_newconn_poll_responded ,sync
+0x1000a 037075 set0 mark_first_packet ,mark
+0x1000b 037076 call new_conn_timeout
+0x1000c 037077 nbranch z_master_newconn_loop ,blank
+0x1000d 037078 branch page_restart
+:      037079 z_newconn_poll_responded:
+0x1000e 037080 set0 mark_first_packet ,mark
+0x1000f 037081 branch newconn_poll_responded
+              org 0x20001
+:      037088 z_entrance1:
+0x20001 037089 beq zcode_10 ,z_mouse_bb_disconnected
+0x20002 037090 beq zcode_11 ,z_hid_rx_process
+0x20003 037091 rtn
+:      037093 z_mouse_bb_disconnected:
+0x20004 037094 jam 0 ,mem_mouse_enter_sniff_count
+0x20005 037095 jam 0x0e ,mem_sniff_param_interval
+0x20006 037096 call mouse_bb_discon_clear_stack
+0x20007 037097 fetch app_disc_rsn_size ,mem_app_disconn_reason
+0x20008 037098 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
+0x20009 037099 bbit1 app_disc_by_button ,app_disconn_reason_clear
+0x2000a 037100 bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
+0x2000b 037101 bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
+0x2000c 037102 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+0x2000d 037103 branch mouse_start_discovery
+:      037105 z_mouse_event_light_state_pairing:
+0x2000e 037106 bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
+0x2000f 037107 bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+0x20010 037108 branch mouse_start_discovery
+:      037109 z_mouse_event_light_state_hibernate:
+0x20011 037110 fetch 2 ,mem_ui_state_map
+0x20012 037111 bbit1 ui_state_btn_down ,mouse_start_discovery
+0x20013 037112 call app_disconn_reason_clear
+0x20014 037115 branch app_bb_hibernate
+:      037118 z_hid_rx_process:
+0x20015 037119 fetch 2 ,mem_l2cap_payload_ptr
+0x20016 037120 copy pdata ,contr
+0x20017 037121 ifetch 1 ,contr
+0x20018 037122 store 1 ,mem_l2cap_rcv
+0x20019 037123 and pdata ,0x0f ,temp
+0x2001a 037124 rshift4 pdata ,pdata
+0x2001b 037125 beq hid_type_set_protocol ,z_hid_rx_set_protocol
+0x2001c 037126 beq hid_type_control ,z_hid_rx_process_hid_control
+0x2001d 037127 branch hid_rx_process + 6
+:      037128 z_hid_rx_set_protocol:
+0x2001e 037129 call hid_rx_process_handshake
+0x2001f 037130 jam 0 ,mem_mouse_bt_boot_mode
+0x20020 037131 fetch 1 ,mem_l2cap_rcv
+0x20021 037132 isolate1 0 ,pdata
+0x20022 037133 rtn true
+0x20023 037134 jam 1 ,mem_mouse_bt_boot_mode
+0x20024 037135 rtn
+:      037137 z_hid_rx_process_hid_control:
+0x20025 037138 copy temp ,pdata
+0x20026 037139 beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
+0x20027 037140 branch hid_rx_process_hid_control + 2
+              org 0x30001
+:      037144 z_entrance2:
+0x30001 037145 beq zcode_20 ,z_send_lmp
+0x30002 037146 rtn
+:      037148 z_send_lmp:
+0x30003 037149 disable user
+0x30004 037150 call lmo_fifo_process
+0x30005 037153 fetch 1 ,mem_lmp_to_send
+0x30006 037154 rtn blank
+0x30007 037155 bbit1 7 ,z_send_lmp_escape
+0x30008 037156 beq lmp_accepted ,z_send_lmp_accepted
+0x30009 037157 beq lmp_setup_complete ,z_send_lmp_setup_complete
+0x3000a 037158 beq lmp_sniff_req ,z_send_lmp_sniff_req
+0x3000b 037159 beq lmp_detach ,z_send_lmp_detach
+0x3000c 037160 branch send_lmp0
+:      037161 z_send_lmp_escape:
+0x3000d 037162 beq lmp_ext_features_res ,z_send_lmpext_features_res
+0x3000e 037163 beq lmp_ext_features_req ,z_send_lmpext_features_req
+0x3000f 037164 branch send_lmp_escape
+:      037165 z_send_lmpext_features_res:
+0x30010 037166 call z_check_ssp_enable
+0x30011 037167 fetch 1 ,mem_lmp_to_send
+0x30012 037168 branch send_lmpext_features_res
+:      037169 z_send_lmpext_features_req:
+0x30013 037170 call z_check_ssp_enable
+0x30014 037171 fetch 1 ,mem_lmp_to_send
+0x30015 037172 branch send_lmpext_features_req
+:      037173 z_check_ssp_enable:
+0x30016 037174 fetch 1 ,mem_ssp_enable
+0x30017 037175 branch ssp_disable ,blank
+0x30018 037176 branch ssp_enable
+:      037178 z_send_lmp_setup_complete:
+0x30019 037179 jam 1 ,mem_bt_send_lmp_setup_complete
+0x3001a 037180 branch send_lmp_setup_complete
+:      037182 z_send_lmp_sniff_req:
+0x3001b 037183 jam 4 ,mem_mouse_bt_send_first_package_timer
+0x3001c 037184 branch send_lmp_sniff_req
+:      037186 z_send_lmp_detach:
+0x3001d 037197 call send_lmp_detach
+0x3001e 037198 fetch 1 ,mem_mouse_bt_reconnect_flag
+0x3001f 037199 rtn blank
+0x30020 037200 fetch 1 ,mem_op
+0x30021 037201 set0 op_disconn ,pdata
+0x30022 037202 store 1 ,mem_op
+0x30023 037203 branch p_mouse_sensor_powerdown
+:      037206 z_send_lmp_accepted:
+0x30024 037207 force 2 ,pdata
+0x30025 037208 call msg_send_lmp
+0x30026 037209 fetch 1 ,mem_lmi_opcode
+0x30027 037210 istore 1 ,contw
+0x30028 037211 store 1 ,mem_lmi_opcode_temp
+0x30029 037212 call send_lmp_follow
+0x3002a 037213 fetch 1 ,mem_lmi_opcode_temp
+0x3002b 037214 beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
+0x3002c 037215 branch send_lmp_accepted + 7
+:      037217 z_send_lmp_accepted_max_slot_req:
+0x3002d 037218 fetch 1 ,mem_bt_rcvd_switch_req_accept
+0x3002e 037219 rtn blank
+0x3002f 037220 jam 0 ,mem_bt_rcvd_switch_req_accept
+0x30030 037221 fetch 1 ,mem_bt_send_lmp_setup_complete
+0x30031 037222 rtnne 2
+0x30032 037223 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x30033 037224 copy clkn_bt ,pdata
+0x30034 037225 store 4 ,mem_aurand_send_delay_time
+0x30035 037226 rtn
+              org 0x40001
+:      037231 z_entrance3:
+0x40001 037232 beq zcode_30 ,z_process_conn_sm
+0x40002 037233 rtn
+:      037235 z_process_conn_sm:
+0x40003 037236 call lmo_fifo_check
+0x40004 037237 nrtn blank
+:      037238 z_process_conn_sm_continue:
+0x40005 037239 fetch 1 ,mem_conn_sm
+0x40006 037240 rtn blank
+0x40007 037241 beq conn_sm_send_conn_req ,z_host_create_conn_send_conn_req
+0x40008 037242 beq conn_sm_wait_switch_after_host_connection ,z_host_creat_conn_wait_switch
+0x40009 037243 branch process_conn_sm_continue + 2
+:      037246 z_host_creat_conn_wait_switch:
+0x4000a 037247 fetch 1 ,mem_switch_flag
+0x4000b 037248 rtneq switch_flag_init
+0x4000c 037249 beq switch_flag_accept ,z_host_create_conn_switch_accept
+0x4000d 037250 branch host_creat_conn_wait_switch + 3
+:      037251 z_host_create_conn_switch_accept:
+0x4000e 037252 rtn master
+:      037253 z_host_create_conn_auth_pair:
+0x4000f 037255 fetch 1 ,mem_connection_options
+0x40010 037256 bbit1 connection_auth ,z_host_create_conn_auth_pair_true
+0x40011 037257 branch host_create_conn_auth_pair + 1
+:      037258 z_host_create_conn_auth_pair_true:
+0x40012 037259 fetch 1 ,mem_bt_send_lmp_setup_complete
+0x40013 037260 beq 1 ,host_create_conn_auth_pair_true
+0x40014 037262 fetch 1 ,mem_link_key_exists
+0x40015 037263 branch host_create_conn_auth_pair_nokey ,blank
+0x40016 037264 fetch 1 ,mem_lmp_conn_state
+0x40017 037265 rtnbit0 sent_setup_complete
+0x40018 037266 rtnbit0 received_setup_complete
+0x40019 037267 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x4001a 037268 rtn blank
+0x4001b 037269 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch
+0x4001c 037270 fetch 4 ,mem_aurand_send_delay_time
+0x4001d 037271 arg 20 ,temp
+0x4001e 037272 iadd temp ,temp
+0x4001f 037273 copy clkn_bt ,pdata
+0x40020 037274 isub temp ,null
+0x40021 037275 nbranch z_bt_send_max_slot_req_accept_after_switch_wait ,positive
+0x40022 037276 branch host_create_conn_auth
+:      037278 z_bt_send_max_slot_req_accept_after_switch_wait:
+0x40023 037279 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+0x40024 037280 rtn
+:      037282 z_host_create_conn_send_conn_req:
+0x40025 037283 jam 20 ,mem_mouse_send_switch_req_timer
+0x40026 037284 branch host_create_conn_send_conn_req
+              org 0x50001
+:      037292 z_entrance4:
+0x50001 037293 beq zcode_40 ,z_le_update_param
+0x50002 037294 beq zcode_41 ,z_le_update_channel_map
+0x50003 037295 rtn
+:      037297 z_le_update_param:
+0x50004 037298 call z_mouse_le_conn_param_check
+0x50005 037299 branch le_update_param + 8
+:      037300 z_mouse_le_lpm_mult_reinit:
+0x50006 037301 fetch 1 ,mem_lpm_mult_init
+0x50007 037302 store 1 ,mem_lpm_mult
+:      037303 z_mouse_le_conn_param_lpm_enable:
+0x50008 037304 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+0x50009 037305 rtn
+:      037306 z_mouse_le_conn_param_lpm_disable:
+0x5000a 037307 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+0x5000b 037308 rtn
+:      037309 z_mouse_le_conn_param_check:
+0x5000c 037310 fetch 1 ,mem_le_new_conninterval
+0x5000d 037311 sub pdata ,le_interval_15ms ,null
+0x5000e 037312 nbranch z_mouse_le_conn_param_lpm_disable ,positive
+0x5000f 037313 fetch 1 ,mem_le_new_connslavelatency
+0x50010 037314 fetcht 1 ,mem_lpm_mult_init
+0x50011 037315 isub temp ,null
+0x50012 037316 branch z_mouse_le_lpm_mult_reinit ,positive
+0x50013 037317 fetch 1 ,mem_le_new_connslavelatency
+0x50014 037318 store 1 ,mem_lpm_mult
+0x50015 037319 branch z_mouse_le_conn_param_lpm_enable
+:      037321 z_le_update_channel_map:
+0x50016 037322 fetch 1 ,mem_le_state
+0x50017 037323 rtnbit0 lestate_update_map
+0x50018 037324 call z_le_channel_map_overflow_check
+0x50019 037325 nrtn user
+0x5001a 037326 branch le_update_channel_map + 3
+:      037327 z_le_channel_map_overflow_check:
+0x5001b 037328 enable user
+0x5001c 037329 fetch 1 ,mem_le_event_count + 1
+0x5001d 037330 rshift4 pdata ,pdata
+0x5001e 037331 rtnne 0x0f
+0x5001f 037332 fetch 1 ,mem_le_instant + 1
+0x50020 037333 rshift4 pdata ,pdata
+0x50021 037334 rtnne 0x00
+0x50022 037335 branch disable_user
+              org 0x60001
+:      037341 z_entrance5:
+0x60001 037342 beq zcode_50 ,z_mouse_start_discovery
+0x60002 037343 beq zcode_51 ,z_mouse_24g_attempt_fail
+0x60003 037344 rtn
+:      037347 z_mouse_start_discovery:
+0x60004 037348 call p_mouse_tx_power_init
+0x60005 037349 jam 0 ,mem_mouse_clear_sensor_data_flag
+0x60006 037350 call p_mouse_le_fast_conn_disable
+0x60007 037351 fetch 2 ,mem_ui_state_map
+0x60008 037352 bbit1 ui_state_ble_adv ,z_mouse_start_discovery_norandom
+0x60009 037355 call p_mouse_load_random_addr_increase_count
+0x6000a 037356 fetcht 2 ,mem_random_addr_increase_count
+0x6000b 037357 increase 1 ,temp
+0x6000c 037358 storet 2 ,mem_random_addr_increase_count
+0x6000d 037359 storet 2 ,mem_le_lap + 1
+0x6000e 037360 call p_mouse_store_random_addr_increase_count
+0x6000f 037361 random pdata
+0x60010 037362 store 1 ,mem_le_lap
+:      037363 z_mouse_start_discovery_norandom:
+0x60011 037364 setarg 0xed8e0e
+0x60012 037365 store 3 ,mem_le_lap + 3
+0x60013 037366 call app_lpm_mult_disable
+0x60014 037367 fetch 2 ,mem_discovery_timeout
+0x60015 037368 store 2 ,mem_mouse_discovery_timer
+0x60016 037369 jam 5 ,mem_mouse_bt_ble_led_timer
+0x60017 037370 jam 6 ,mem_connection_options
+0x60018 037371 setarg 0
+0x60019 037372 store 2 ,mem_mouse_no_data_timer
+0x6001a 037373 store 2 ,mem_mouse_direct_timer
+0x6001b 037374 arg mouse_store_eeprom_flag ,queue
+0x6001c 037375 call mouse_enable_function_flag
+0x6001d 037376 call mouse_bt_discovery_button_down_disable
+0x6001e 037377 fetch 1 ,mem_device_option
+0x6001f 037378 isolate1 mode_4_mouse ,pdata
+0x60020 037379 call z_check_51cmd_adv ,true
+0x60021 037380 fetch 1 ,mem_device_option
+0x60022 037381 isolate1 mode_3_mouse ,pdata
+0x60023 037382 call check_51cmd_start_discovery ,true
+0x60024 037385 jam 0 ,mem_mouse_bt_reconnect_flag
+0x60025 037386 branch mouse_start_discovery_norandom + 13
+:      037388 z_check_51cmd_adv:
+0x60026 037389 jam 0 ,mem_mouse_le_reconnect_flag
+0x60027 037390 call p_le_check_adv_flag
+0x60028 037391 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
+0x60029 037392 istore 1 ,contr
+0x6002a 037393 arg mem_le_adv_swift_pair ,contr
+0x6002b 037394 call p_le_adv_data_update
+0x6002c 037395 branch check_51cmd_adv
+:      037397 z_mouse_24g_attempt_fail:
+0x6002d 037398 fetch 1 ,mem_mouse_24g_pair_timer
+0x6002e 037399 nrtn blank
+0x6002f 037400 fetch 1 ,mem_24g_attempt_count
+0x60030 037401 nbranch z_mouse_24g_attempt_fail_again ,blank
+0x60031 037402 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt
+0x60032 037403 call p_mouse_tx_power_init
+0x60033 037404 call p_g24_check_51cmd_stop_24g
+0x60034 037405 jam 0 ,mem_link_key_exists
+0x60035 037406 call p_mouse_setgpio_hibernate
+0x60036 037407 branch app_enter_hibernate
+:      037410 z_mouse_24g_attempt_fail_again:
+0x60037 037411 increase -1 ,pdata
+0x60038 037412 store 1 ,mem_24g_attempt_count
+0x60039 037413 branch p_mouse_start_24g_mode
+              org 0x70001
+:      037418 z_entrance6:
+0x70001 037419 beq zcode_60 ,z_g24_start_24g_mode
+0x70002 037420 beq zcode_61 ,z_mouse_24g_pairing_button
+0x70003 037421 rtn
+:      037423 z_g24_start_24g_mode:
+0x70004 037424 set0 mark_24g ,mark
+0x70005 037425 fetch 1 ,mem_24g_attempt_count
+0x70006 037426 and pdata ,0x01 ,pdata
+0x70007 037427 ncall z_g24_fast_conn_all_powerful ,blank
+0x70008 037428 call z_g24_normal_connect ,blank
+0x70009 037429 fetch 1 ,mem_24g_pairing_sm
+0x7000a 037430 rtnne state_24g_pairing_success
+0x7000b 037431 call p_g24_tx_attemp_data_prep
+:      037432 z_g24_tx_attemp_dongle_loop:
+0x7000c 037434 nop 2000
+0x7000d 037435 call p_mouse_adc_read
+0x7000e 037436 fetch 1 ,mem_select_device_button_press_flag
+0x7000f 037437 nbranch p_mouse_select_device_button_down ,blank
+0x70010 037438 fetch 1 ,mem_24g_check_dongle_times
+0x70011 037439 beq 0x70 ,p_g24_stop_g24_mode
+0x70012 037440 call p_g24_transmit_receive_ack
+0x70013 037441 nbranch z_g24_attemp_txdata_retry ,sync
+0x70014 037442 nbranch z_g24_attemp_txdata_retry ,user3
+:      037443 z_g24_tx_attemp_dongle_succ:
+0x70015 037444 set1 mark_24g ,mark
+0x70016 037445 setarg 0
+0x70017 037446 store 2 ,mem_24g_check_dongle_times
+0x70018 037447 store 1 ,mem_mouse_24g_pair_timer
+0x70019 037448 store 1 ,mem_24g_attempt_count
+0x7001a 037449 jam bt_evt_24g_attempt_success ,mem_fifo_temp
+0x7001b 037450 call ui_ipc_send_event
+:      037451 z_g24_tx_attemp_dongle_loop_exit:
+0x7001c 037452 call p_g24_txbuf_clear
+0x7001d 037453 branch p_g24_transmit_by_interrupt_enable
+:      037468 z_g24_normal_connect:
+0x7001e 037469 call p_mouse_tx_power_init
+0x7001f 037470 fetch 4 ,mem_mouse_24g_addr
+0x70020 037471 branch z6_g24_ch_syncword_crc8_init
+:      037473 z_g24_fast_conn_all_powerful:
+0x70021 037474 jam tx_power_pair ,mem_tx_power
+0x70022 037475 fetch 4 ,mem_mouse_24g_addr_init
+:      037476 z6_g24_ch_syncword_crc8_init:
+0x70023 037477 store 4 ,mem_24g_addr
+0x70024 037478 call p_g24_syncword_crc8
+0x70025 037479 branch p_g24_ch
+:      037482 z_g24_attemp_txdata_retry:
+0x70026 037483 fetch 2 ,mem_24g_check_dongle_times
+0x70027 037484 increase 1 ,pdata
+0x70028 037485 store 2 ,mem_24g_check_dongle_times
+0x70029 037486 call p_g24_ch
+0x7002a 037487 branch z_g24_tx_attemp_dongle_loop
+:      037490 z_mouse_24g_pairing_button:
+0x7002b 037492 arg mosue_24g_pairing_flag ,queue
+0x7002c 037493 call mouse_enable_function_flag
+0x7002d 037494 setarg 0
+0x7002e 037495 store 2 ,mem_mouse_direct_timer
+0x7002f 037496 store 1 ,mem_mouse_send_blank_timer
+0x70030 037497 store 1 ,mem_24g_attempt_count
+0x70031 037498 store 2 ,mem_24g_check_dongle_times
+0x70032 037499 jam 200 ,mem_mouse_24g_pair_timer
+0x70033 037500 call mouse_stop_discovery
+0x70034 037501 branch z6_g24_start_pairing_sm1
+:      037503 z6_g24_start_pairing_sm1:
+0x70035 037504 set1 mark_24g ,mark
+0x70036 037505 call z6_g24_pair_init
+:      037506 z6_g24_set_pairing_sm_1:
+0x70037 037507 jam state_24g_pairing_1 ,mem_24g_pairing_sm
+0x70038 037508 rtn
+:      037510 z6_g24_pair_init:
+0x70039 037511 jam tx_power_pair ,mem_tx_power
+0x7003a 037512 jam 0 ,mem_24g_pid
+0x7003b 037513 jam g24_pair_ch ,mem_24g_ch
+0x7003c 037514 fetch 4 ,mem_24g_paring_addr
+0x7003d 037515 branch p_g24_update_addr_and_synccrc8
+              org 0x80001
+:      037519 z_entrance7:
+0x80001 037520 beq zcode_70 ,z_g24_auto_pair_start
+0x80002 037521 rtn
+:      037523 z_g24_auto_pair_start:
+0x80003 037524 set0 mark_24g ,mark
+0x80004 037525 call z_g24_auto_pair_all_powerful
+0x80005 037526 call p_g24_tx_attemp_data_prep
+:      037527 z_g24_auto_pair_start_loop:
+0x80006 037529 nop 2000
+0x80007 037530 fetch 1 ,mem_24g_check_dongle_times + 1
+0x80008 037531 bbit1 0x02 ,p_g24_stop_g24_mode
+0x80009 037532 call p_mouse_adc_read
+0x8000a 037533 fetch 1 ,mem_select_device_button_press_flag
+0x8000b 037534 nbranch p_mouse_select_device_button_down ,blank
+0x8000c 037535 call p_g24_transmit_receive_ack
+0x8000d 037536 nbranch z_g24_auto_pair_retry ,sync
+0x8000e 037537 nbranch z_g24_auto_pair_retry ,user3
+0x8000f 037538 call p_g24_ackpayload_parse
+0x80010 037539 call p_mouse_tx_power_init
+0x80011 037540 fetch 4 ,mem_24g_addr
+0x80012 037541 fetcht 4 ,mem_24g_paring_addr
+0x80013 037542 isub temp ,null
+0x80014 037543 branch z_g24_start_pairing_sm1 ,zero
+0x80015 037544 set1 mark_24g ,mark
+0x80016 037545 setarg 0
+0x80017 037546 store 2 ,mem_24g_check_dongle_times
+0x80018 037547 jam bt_evt_24g_attempt_success ,mem_fifo_temp
+0x80019 037548 call ui_ipc_send_event
+0x8001a 037549 call p_g24_txbuf_clear
+0x8001b 037550 branch p_g24_transmit_by_interrupt_enable
+:      037565 z_g24_auto_pair_retry:
+0x8001c 037566 fetch 2 ,mem_24g_check_dongle_times
+0x8001d 037567 increase 1 ,pdata
+0x8001e 037568 store 2 ,mem_24g_check_dongle_times
+0x8001f 037569 branch z_g24_auto_pair_start_loop
+:      037580 z_g24_auto_pair_all_powerful:
+0x80020 037581 jam tx_power_pair ,mem_tx_power
+0x80021 037582 setarg 0x0f0f
+0x80022 037583 store 2 ,mem_24g_addr
+0x80023 037584 istore 2 ,contw
+:      037585 z_g24_ch_syncword_crc8_init:
+0x80024 037586 call p_g24_syncword_crc8
+0x80025 037587 branch p_g24_ch
+:      037589 z_g24_auto_pair_device_attemp:
+0x80026 037590 call z_g24_auto_pair_all_powerful
+0x80027 037591 branch z_g24_auto_pair_start_loop
+:      037593 z_g24_auto_pair_pair_attemp:
+0x80028 037594 call z_g24_pair_init
+0x80029 037595 branch z_g24_auto_pair_start_loop
+:      037597 z_g24_start_pairing_sm1:
+0x8002a 037598 set1 mark_24g ,mark
+0x8002b 037599 call z_g24_pair_init
+:      037600 z_g24_set_pairing_sm_1:
+0x8002c 037601 jam state_24g_pairing_1 ,mem_24g_pairing_sm
+0x8002d 037602 rtn
+:      037604 z_g24_pair_init:
+0x8002e 037605 jam tx_power_pair ,mem_tx_power
+0x8002f 037606 jam 0 ,mem_24g_pid
+0x80030 037607 jam g24_pair_ch ,mem_24g_ch
+0x80031 037608 fetch 4 ,mem_24g_paring_addr
+0x80032 037609 branch p_g24_update_addr_and_synccrc8
+              org 0x90001
+:      037617 z_entrance8:
+0x90001 037618 beq zcode_80 ,z_mouse_setting_config
+0x90002 037619 beq zcode_81 ,z_le_addr_random_config
+0x90003 037621 rtn
+:      037630 z_le_addr_random_config:
+0x90004 037631 call load_adc_init
+0x90005 037632 fetch 2 ,mem_0_5_adc_io_data
+0x90006 037633 nbranch z_le_otp_adc_empty ,blank
+0x90007 037634 setarg 0x1122
+:      037635 z_le_otp_adc_empty:
+0x90008 037636 store 2 ,mem_random_addr_increase_count
+0x90009 037637 rtn
+:      037640 z_mouse_setting_config:
+0x9000a 037641 call p_g24_set_device_addr
+0x9000b 037646 call mouse_gpio_init
+0x9000c 037648 fetcht 1 ,mem_flash_ncs_gpio
+0x9000d 037649 call gpio_config_output
+0x9000e 037651 call mouse_param_init
+0x9000f 037652 call z_mouse_bt_sdp_update
+0x90010 037653 setarg 0
+0x90011 037654 store 2 ,mem_lpm_interval
+0x90012 037655 call load_adc_init
+0x90013 037656 call mouse_adc_init
+0x90014 037657 call le_set_config_fixed_ltk
+0x90015 037658 call le_set_justwork
+0x90016 037659 call le_set_fixed_ltk
+0x90017 037660 call le_set_config_read_authentication
+0x90018 037661 call p_le_addr_random_config
+0x90019 037662 branch p_mouse_load_flash_info_check
+:      037665 z_mouse_bt_sdp_update:
+0x9001a 037666 call enable_authrom
+0x9001b 037667 arg 0x8c00 ,contr
+0x9001c 037668 arg mem_mouse_uuid_list ,contw
+0x9001d 037669 arg 369 ,loopcnt
+0x9001e 037670 call memcpy
+0x9001f 037672 setarg 0x0f0209
+0x90020 037673 istore 3 ,contw
+0x90021 037674 setarg 0x120009
+0x90022 037675 istore 3 ,contw
+0x90023 037677 setarg 0x100209
+0x90024 037678 istore 3 ,contw
+0x90025 037679 setarg 0x000009
+0x90026 037680 istore 3 ,contw
+0x90027 037681 arg 0x8d71 ,contr
+0x90028 037682 arg 265 ,loopcnt
+0x90029 037683 call memcpy
+0x9002a 037685 jam 0 ,mem_mouse_uuid_list + 23
+0x9002b 037686 jam 0x6d ,mem_mouse_uuid_list + 15
+0x9002c 037687 setarg 0x401f
+0x9002d 037688 store 2 ,mem_mouse_uuid_list + 357
+0x9002e 037689 setarg 0x6d04
+0x9002f 037690 store 2 ,mem_mouse_uuid_list + 462
+0x90030 037691 setarg 0x16b0
+0x90031 037692 store 2 ,mem_mouse_uuid_list + 468
+0x90032 037694 setarg mem_mouse_uuid_list
+0x90033 037695 store 2 ,mem_ui_uuid_table
+0x90034 037696 rtn
+              org 0xa0001
+:      037702 z_entrance9:
+0xa0001 037703 beq zcode_90 ,z_g24_pairing_sm
+0xa0002 037704 beq zcode_91 ,z_g24_paring_mode
+0xa0003 037705 beq zcode_92 ,z_mouse_24g_pairing_complete
+0xa0004 037706 rtn
+:      037708 z_g24_pairing_sm:
+0xa0005 037709 fetch 1 ,mem_24g_ensure
+0xa0006 037710 beq ensure_on_24g ,enable_user
+0xa0007 037711 fetch 1 ,mem_24g_pairing_sm
+0xa0008 037712 beq state_24g_pairing_1 ,z_g24_pairing_sm_1
+0xa0009 037713 beq state_24g_pairing_2 ,z_g24_pairing_sm_2
+0xa000a 037714 beq state_24g_pairing_3 ,z_g24_pairing_sm_3
+0xa000b 037715 branch assert
+:      037717 z_g24_pairing_sm_1:
+0xa000c 037718 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm
+0xa000d 037719 jam 0xaa ,mem_24g_common_temp
+0xa000e 037720 branch z_g24_pairing_sm_common
+:      037721 z_g24_pairing_sm_2:
+0xa000f 037722 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm
+0xa0010 037723 jam 0x55 ,mem_24g_common_temp
+0xa0011 037724 branch z_g24_pairing_sm_common
+:      037725 z_g24_pairing_sm_3:
+0xa0012 037726 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm
+0xa0013 037727 jam 0x22 ,mem_24g_common_temp
+:      037728 z_g24_pairing_sm_common:
+0xa0014 037729 fetch 1 ,mem_24g_data_type
+0xa0015 037730 and_into bits_data ,pdata
+0xa0016 037731 store 1 ,mem_24g_common_temp + 1
+0xa0017 037732 fetch 4 ,mem_24g_device_addr
+0xa0018 037733 store 4 ,mem_24g_common_temp + 2
+:      037734 z_g24_put_pairing_data_in_buff:
+0xa0019 037735 jam 0 ,mem_24g_common_temp + 6
+0xa001a 037736 arg mem_24g_common_temp ,rega
+0xa001b 037737 arg 7 ,temp
+0xa001c 037738 call p_g24_put_data_in_buff
+0xa001d 037739 call p_g24_txdata_enable_tx
+0xa001e 037740 branch enable_user
+:      037742 z_g24_paring_mode:
+0xa001f 037743 fetch 1 ,mem_24g_pairing_sm
+0xa0020 037744 rtneq state_24g_pairing_success
+0xa0021 037745 beq state_24g_pairing_1_waiting_ack ,z_g24_pairing_sm_1_waiting_ack
+0xa0022 037746 beq state_24g_pairing_2_waiting_ack ,z_g24_pairing_sm_2_waiting_ack
+0xa0023 037747 beq state_24g_pairing_3_waiting_ack ,z_g24_pairing_sm_3_waiting_ack
+0xa0024 037748 rtn
+:      037750 z_g24_pairing_sm_1_waiting_ack:
+0xa0025 037751 jam state_24g_pairing_2 ,mem_24g_pairing_sm
+0xa0026 037752 branch p_g24_transmit_abandon
+:      037753 z_g24_pairing_sm_2_waiting_ack:
+0xa0027 037754 jam state_24g_pairing_3 ,mem_24g_pairing_sm
+0xa0028 037755 branch p_g24_transmit_abandon
+:      037756 z_g24_pairing_sm_3_waiting_ack:
+0xa0029 037757 jam state_24g_pairing_success ,mem_24g_pairing_sm
+0xa002a 037758 jam bt_evt_24g_pairing_complete ,mem_fifo_temp
+0xa002b 037759 call ui_ipc_send_event
+0xa002c 037760 fetch 4 ,mem_24g_rxpayload + 2
+0xa002d 037761 call p_g24_update_addr_and_synccrc8
+0xa002e 037762 branch p_g24_transmit_abandon
+:      037765 z_mouse_24g_pairing_complete:
+0xa002f 037766 call p_mouse_24g_no_data_timer_init
+0xa0030 037767 jam 1 ,mem_mouse_24g_enter_lpm_enable
+0xa0031 037768 arg mosue_24g_pairing_flag ,queue
+0xa0032 037769 call mouse_disable_function_flag
+0xa0033 037770 setarg 0
+0xa0034 037771 store 2 ,mem_24g_pairing_timer_count
+0xa0035 037772 store 1 ,mem_24g_attempt_count
+0xa0036 037773 jam 0 ,mem_mouse_move_flag
+0xa0037 037775 call mouse_read_sensor_common
+0xa0038 037777 call p_mouse_tx_power_init
+0xa0039 037779 fetch 4 ,mem_24g_addr
+0xa003a 037780 store 4 ,mem_mouse_24g_addr
+0xa003b 037782 branch p_mouse_store_flash_device_info
+              org 0xb0001
+:      037787 z_entrancea:
+0xb0001 037788 beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
+0xb0002 037789 beq zcode_a2 ,z_mouse_le_bb_disconnected
+0xb0003 037790 beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
+0xb0004 037791 beq zcode_a4 ,z_mouse_before_hibernate
+0xb0005 037792 rtn
+:      037795 z_mouse_le_conn_param_update_rsp_recieved:
+0xb0006 037796 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
+0xb0007 037797 rtneq ble_signaling_connect_parameter_update_accepted
+0xb0008 037798 fetch 1 ,mem_le_tsniff
+0xb0009 037799 rshift2 pdata ,pdata
+0xb000a 037800 sub pdata ,le_interval_15ms ,null
+0xb000b 037801 rtn positive
+0xb000c 037802 setarg le_interval_11_25ms
+0xb000d 037803 store 2 ,mem_le_interval_min
+0xb000e 037804 store 2 ,mem_le_interval_min + 2
+0xb000f 037805 call p_app_updata_le_param
+0xb0010 037806 jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+0xb0011 037807 rtn
+:      037810 z_mouse_bb_event_reconn_timeout:
+:      037811 z_mouse_bb_event_reconn_failed:
+0xb0012 037812 fetch 2 ,mem_ui_state_map
+0xb0013 037813 rtnbit1 ui_state_btn_down
+0xb0014 037814 rtnbit1 ui_state_bt_discovery
+0xb0015 037815 rtnbit1 ui_state_ble_adv
+0xb0016 037816 fetch mouse_flag_len ,mem_mouse_flag
+0xb0017 037817 rtnbit1 mouse_bt_discovery_button_down_flag
+0xb0018 037818 branch app_bb_hibernate
+:      037820 z_mouse_le_bb_disconnected:
+0xb0019 037821 setarg le_interval_8_75ms
+0xb001a 037822 store 2 ,mem_le_interval_min
+0xb001b 037823 store 2 ,mem_le_interval_min + 2
+0xb001c 037824 jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+0xb001d 037825 jam 0 ,mem_mouse_clear_sensor_data_flag
+0xb001e 037826 call p_mouse_data_init
+0xb001f 037827 call le_clr_config_more_data
+0xb0020 037828 branch mouse_bb_disconnected
+:      037831 z_mouse_before_hibernate:
+0xb0021 037832 enable user
+0xb0022 037833 hfetch 4 ,0x8138
+0xb0023 037834 setflag user ,26 ,pdata
+0xb0024 037835 hstore 4 ,core_lpm_reg
+0xb0025 037836 call lpm_write_ctrl
+0xb0026 037837 call disable_authrom
+0xb0027 037838 call p_mouse_device_led_off
+0xb0028 037839 call mouse_before_hibernate_wheel_gpio_set
+0xb0029 037840 call p_mouse_setgpio_hibernate
+0xb002a 037842 call p_flash_deep_power_down
+0xb002b 037843 hfetch 1 ,core_gpio_sel1
+0xb002c 037844 and pdata ,0xf7 ,pdata
+0xb002d 037845 hstore 1 ,core_gpio_sel1
+0xb002e 037846 hfetch 1 ,core_gpio_pd2
+0xb002f 037847 set1 6 ,pdata
+0xb0030 037848 hstore 1 ,core_gpio_pd2
+0xb0031 037850 hfetch 1 ,core_gpio_pd3
+0xb0032 037851 set1 0 ,pdata
+0xb0033 037852 hstore 1 ,core_gpio_pd3
+0xb0034 037853 fetcht 1 ,mem_sensor_data_gpio
+0xb0035 037854 branch gpio_clr_wake
+              org 0xc0001
+:      037859 z_entranceb:
+0xc0001 037860 beq zcode_b0 ,z_mouse_le_bb_event_connected
+0xc0002 037861 beq zcode_b1 ,z_mouse_sniff_not_accept
+0xc0003 037862 beq zcode_b2 ,z_mouse_enter_sniff_check
+0xc0004 037863 beq zcode_b3 ,z_mouse_le_ll_start_encryt
+0xc0005 037864 beq zcode_b4 ,z_mouse_bb_event_disconnected
+0xc0006 037865 rtn
+:      037867 z_mouse_le_bb_event_connected:
+0xc0007 037868 call p_mouse_data_init
+0xc0008 037869 branch mouse_le_bb_event_connected
+:      037871 z_mouse_sniff_not_accept:
+0xc0009 037872 fetch 1 ,mem_mouse_enter_sniff_count
+0xc000a 037873 rtneq 2
+0xc000b 037874 increase 1 ,pdata
+0xc000c 037875 store 1 ,mem_mouse_enter_sniff_count
+0xc000d 037876 jam 0x12 ,mem_sniff_param_interval
+0xc000e 037877 branch app_bt_enter_sniff
+:      037879 z_mouse_enter_sniff_check:
+0xc000f 037880 fetch 1 ,mem_mouse_enter_sniff_count
+0xc0010 037881 rtnne 2
+0xc0011 037882 jam 0 ,mem_mouse_enter_sniff_count
+0xc0012 037883 jam 0x0e ,mem_sniff_param_interval
+0xc0013 037884 branch app_bt_enter_sniff
+:      037886 z_mouse_le_ll_start_encryt:
+0xc0014 037887 fetch 1 ,mem_mouse_le_reconnect_flag
+0xc0015 037888 beq 1 ,z_mouse_le_ll_reconn_start_encryt
+0xc0016 037889 branch z_mouse_le_ll_enable_start_enc_flag
+:      037890 z_mouse_le_ll_reconn_start_encryt:
+0xc0017 037891 call p_app_updata_le_param
+0xc0018 037892 jam 5 ,mem_le_start_encrypt_timer
+:      037893 z_mouse_le_ll_enable_start_enc_flag:
+0xc0019 037894 arg ll_start_enc_flag ,queue
+0xc001a 037895 branch mouse_le_enable_connect_flag
+:      037897 z_mouse_bb_event_disconnected:
+0xc001b 037898 jam 0 ,mem_bt_rcvd_switch_req_accept
+0xc001c 037899 jam 0 ,mem_bt_send_lmp_setup_complete
+0xc001d 037900 jam 0 ,mem_mouse_bt_send_first_package_flag
+0xc001e 037901 branch mouse_bb_disconnected
Index: ZJL_pm8_BLE&BT/output/bt_program23.meta
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.meta	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.meta	(working copy)
@@ -0,0 +1,37904 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK24M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+//define DONGLE
+define MOUSE
+define G24
+define BLE
+define CLASSIC_BT
+define MOUSE_SMOOTHER
+define ADC_ENABLE
+define DPI_ENABLE
+//define HIGH_REPORT_BT
+//define HIGH_REPORT_G24
+//define P24G_LOG
+//define RF_DEBUG
+define BLE_FAST_CONN_ENABLE
+
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+
+p_start:
+	branch p_patch_array
+
+// zcode start
+p_zcode:
+
+//only for power on once
+p_wake_from_power:
+	call p_mouse_data_init
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_ui_button_count	//select key timer init
+	fetch 1,mem_bt_ui_button_timeout
+	store 1,mem_bt_ui_button_count	//bt key timer init
+	call mouse_bt_discovery_button_down_disable
+	call p_mouse_spi_init
+	call p_drawing_optima_init
+	call p_mouse_cb_fuction
+	call p_mouse_wakeup_from_power
+	branch p_mouse_setting_config
+
+p_mouse_cb_fuction:
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+	setarg p_mouse_le
+	store 2,mem_cb_le_process
+	setarg p_le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+	setarg p_mouse_bt
+	store 2,mem_cb_bt_process
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	rtn	
+
+p_mouse_wakeup_from_power:
+	setarg 25
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+	ncall p_mouse_24g_transmit_by_interrupt_exit_count_max,wake
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	rtn
+p_mouse_24g_transmit_by_interrupt_exit_count_max:
+	setarg 375
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+	rtn
+
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+
+p_patch_array:
+	bbit1 8,pf_patch_ext
+	//patch00_0 and patch11_2 are unuseful because of otp
+	beq patch00_1,p_soft_reset_1
+	beq patch00_2,p_soft_reset_2
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	beq patch03_3,p_page_wait_fhs_reply_ok
+	beq patch04_6,p_role_switch_master
+	beq patch09_0,p_quit_connection_cont
+	beq patch09_2,p_prepare_tx
+	beq patch0a_1,p_slave_conn_recv_packet
+ 	beq patch0b_1,p_process_dmh
+	beq patch14_7,p_lpm_dispatch
+	beq patch15_5,p_lpm_set_mult
+	beq patch19_3,app_bt_start_reconnect+3
+	beq patch1d_1,p_mouse_bb_disconnected
+	beq patch14_1,p_init_param
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+	branch loop
+pf_patch_ext:
+	beq patch27_1,p_le_slave_match
+	beq patch28_3,p_le_next_adv_channel
+	beq patch29_2,p_le_receive_skip
+	beq patch2a_7,p_le_update_param
+	beq patch2b_1,p_le_update_channel_map
+	beq patch2c_3,p_le_prepare_tx
+	beq patch2c_6,p_le_parse
+	beq patch2c_7,p_le_parse_l2cap
+	beq patch2d_2,p_le_adv_not_match
+	beq patch2e_7,p_le_lpm_setmult
+	beq patch20_5,p_hid_rx_process
+	beq patch30_0,p_parse_lmp_accepted
+	beq patch30_2,p_send_lmp
+	beq patch31_0,p_process_conn_sm
+	beq patch31_4,p_twspi_reset
+	beq patch31_5,p_spid_init
+	beq patch34_0,p_vdd_calculate_by_mode
+	beq patch3f_2,p_check_51cmd_once_continue
+	branch loop
+	
+
+p_rssi_signal:
+	copy pdata,rega
+	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_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+	call p_mouse_le_txbuff_load
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+	
+p_soft_reset_2:
+	call app_lpm_init,wake
+	call publickey_init
+	call lpm_recover_clk,wake
+p_sp_cal_loop:
+	call sp_calc_sequence
+	fetch 1,mem_ssp_enable
+	branch main_loop,blank
+	fetch 1,mem_sp_local_key_invalid // simple pairing is not ready
+	branch p_sp_cal_loop,blank
+	branch main_loop
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+	fetch 2,mem_sdp_remote_cid
+	nbranch disable_blank,blank
+	fetch 1,mem_mouse_wheel_trigger
+	nbranch disable_blank,blank
+	branch enable_blank
+
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_g24_transmit_by_interrupt_enable
+p_g24_short_sleep:	
+	call p_g24_lpm_wait
+	nrtn user
+	call p_clear_wake
+	setarg 60500
+p_g24_enter_sleep:	
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+  	
+g24_long_sleep_shorter_param_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
+
+
+	
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	fetch 2,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	fetcht 2,mem_24g_transmit_by_interrupt_exit_count_init
+	isub temp,null
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	setarg 100
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	store 1,mem_24g_interval
+	rtn	
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+p_g24_long_sleep:
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
+	call p_g24_lpm_wait
+	nrtn user
+	fetch 3,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_lpm_wait:
+	enable user
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch disable_user,blank
+	fetch 1,mem_lpm_mode
+	branch disable_user,blank
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,disable_user
+	branch p_mouse_setgpio_lpm
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+p_g24_set_device_addr:
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	rtn
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	call power_ctrl_pac_succ_decrs
+	call p_g24_ch
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	jam 2,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+p_g24_txdata_enable_tx:	
+	call p_g24_transmit_prep
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_24g_no_data_timer_init	//nodata timer 20min
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw	//key
+	increase 1,regb
+	ifetch 4,regb
+	istore 4,contw	//x,y
+	increase 4,regb
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 1,regb
+	ifetcht 1,contw	//wheel,twheel
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop
+	rtn
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	jam 0,mem_retry_count
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	store 1,mem_mouse_24g_pair_timer
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+
+	fetch 1,mem_24g_abort_pac
+	nrtn blank
+	
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,p_g24_stop_g24_mode
+
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
+	
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_txfail_cnt
+	rtnne 0xff
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_g24_tx_fast_hop:
+	call power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch  p_g24_tx_fast_hop,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_pairing_sm:
+	jam ZCODE_90,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_paring_mode:
+	jam ZCODE_91,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_start_24g_mode:
+	jam ZCODE_60,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_auto_pair_start:
+	jam ZCODE_70,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_transmit_prep:
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
+p_g24_receive_rxon:
+
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+	branch p_g24_end_of_packet,crc_failed
+
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+	fetch 1,mem_rssi_hex_received
+	call p_rssi_signal
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+	rtn
+
+p_g24_sync_timeout:
+	branch p_g24_end_of_packet
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+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_SIGNAL,temp
+	rtn
+p_rssi_average:
+	arg 0,temp
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	copy rega,contr
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+	rtn
+
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+p_mouse_setgpio_hibernate:	
+	call mouse_lpm_before_common
+	call p_flash_ncs_disable
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set0 6,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set1 5,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd1	
+	set0 2,pdata
+	hstore 1,core_gpio_pd1
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set0 6,pdata
+	hstore 1,core_gpio_pd2
+	rtn
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch mouse_seting_dpi+2	// make sdio high to make 100uA less	
+
+p_device_init:
+	call  initialize_radio	// YC1066 1059
+	call app_lpm_mult_enable
+	call enable_authrom
+	branch p_device_wake_from_lpm,wake
+p_device_wake_from_power:
+	call p_wake_from_power
+	arg 600,temp
+	fetch 2,mem_mouse_no_data_timeout
+	isub temp,temp
+	storet 2,mem_mouse_no_data_led_timeout		// 1min
+//	fetch 1,mem_power_on_flag
+//	bbit1 2,p_mouse_check_reconn_target
+//	call mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_24g_pairing_button
+//	branch p_mouse_wakeup_from_power
+
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	jam 25,mem_mouse_poweron_led_timer	
+	call p_mouse_adc_read
+	call p_mouse_select_device_by_button
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch p_mouse_start_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,p_mouse3_0_check_reconn_target
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+//	branch p_mouse_null_enter_hibernate_enable	//enter hibernate if it is in its factory state
+	rtn
+
+
+p_device_wake_from_lpm:
+	branch p_mouse_spi_init
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+
+p_mouse3_0_check_reconn_target:
+	jam 1,mem_mouse_bt_reconnect_flag
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	branch mouse3_0_check_reconn_target+3
+
+p_mouse4_0_check_reconn_target:
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+
+p_mouse_24g_pairing_button:
+	jam ZCODE_61,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+
+p_mouse_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_sensor_powerdown:
+	call p_mouse_spi_init
+	setarg 0x0806
+//	call twspi_read
+//	or pdata,0x08,pdata
+//	lshift8 pdata,pdata
+//	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_setting_config:
+	jam ZCODE_80,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+//ncs gpio output high
+p_flash_ncs_disable:
+	fetcht 1,mem_flash_ncs_gpio
+	branch gpio_out_inactive
+
+p_spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set0 1,pdata
+	set1 3,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
+	set0 0,pdata
+	hstore 1,core_gpio_pd3
+	
+	rtn
+
+p_mouse_load_flash_info_check:
+	call p_flash_release_deep_power_down
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch p_mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+	fetch 4,mem_mouse_24g_addr_init
+	store 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+	call p_mouse_fast_conn_init
+p_mouse_store_flash_device_info:
+	call p_flash_release_deep_power_down
+	call p_flash_erase_sector
+	call p_mouse_information_flash_parameters
+	call p_spid_write_flash
+	call p_wait_flash_done
+p_mouse_store_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	fetch 3,mem_flash_base
+	iadd regb,pdata
+	call p_spid_write_flash
+	call p_wait_flash_done
+	call p_flash_deep_power_down
+	branch p_mouse_spi_init
+	
+p_flash_erase_sector:
+	fetch 3,mem_flash_base
+	store 3,mem_spi_write_addr
+	call flash_erase_sector+2
+	branch p_wait_flash_done
+
+p_spid_write_flash:
+	copy pdata,regc
+	copy rega,pdata
+	increase -4,pdata
+	copy pdata,regb
+	ifetch 4,regb
+	store 4,mem_write_flash_head_temp
+	copy regc,pdata
+	call spid_write_flash
+	fetch 4,mem_write_flash_head_temp
+	istore 4,regb
+	rtn
+
+p_wait_flash_done:
+	setarg 100000	
+	call sleep
+	call spid_unlock_flash
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
+	rtn
+
+p_mouse_information_flash_parameters:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	rtn
+
+p_mouse_read_flash:
+	call p_flash_release_deep_power_down
+	call p_mouse_information_flash_parameters
+	branch spid_read_flash
+
+p_mouse_load_flash_device_info:	
+	call p_mouse_read_flash
+	call p_mouse_load_random_addr_increase_count
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+//	arg 3,loopcnt
+//	arg mem_device2_addr,contr
+//	call p_pdata_0xff_check
+//	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
+	rtn
+
+
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+	
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn
+	
+
+
+
+p_flash_deep_power_down:
+	jam FLASH_COMMAND_DEEP_POWER_DOWN,mem_temp
+p_spid_write_flash_cmd:
+	call p_spid_init_flash
+	nop 100					// YC1059
+	call spid_unlock_flash
+	arg mem_write_flash_head_temp,rega
+	fetcht 1,mem_temp
+	call spid_write_flash_common
+	nop 100					// YC1059
+	rtn
+
+p_flash_release_deep_power_down:
+	jam FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN,mem_temp
+	branch p_spid_write_flash_cmd
+	
+
+p_mouse_load_random_addr_increase_count:
+	call p_flash_release_deep_power_down
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	fetch 3,mem_flash_base
+	iadd regb,pdata
+	branch spid_read_flash
+
+//**************************end*************************************//
+p_mouse_start_24g_mode:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	branch p_g24_start_24g_mode
+
+
+p_mouse_24g_led_blink:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	fetch 1,mem_mouse_24g_pair_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_24g_pair_timer
+	branch app_enter_hibernate,blank
+	and pdata,0x0f,pdata
+	beq 0x05,p_mouse_24g_led_on
+	beq 0x0a,p_mouse_24g_led_off
+	rtn
+
+p_mouse_discovery_led_blink:
+	fetch 1,mem_mouse_discovery_timer
+	rtn blank
+	fetch 1,mem_mouse_discovery_blink_count
+	increase 1,pdata
+	store 1,mem_mouse_discovery_blink_count
+	beq 5,p_mouse_bt_led_off
+	beq 10,p_mouse_bt_discovery_led_on
+	rtn
+
+
+p_mouse_device_poweron_led_timer:
+	fetch 1,mem_mouse_poweron_led_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_poweron_led_timer
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_device_poweron_g24_led
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_bt_led_on
+	branch p_mouse_bt_led_off
+
+p_mouse_device_poweron_g24_led:
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_24g_led_on
+	branch p_mouse_24g_led_off
+
+
+
+p_mouse_24g_led_off:
+	jam 0,mem_24g_device_led_status
+	fetcht 1,mem_device_24g_led_gpio
+	branch p_gpio_set_input_high_impedance
+
+p_mouse_24g_led_on:
+	jam 1,mem_24g_device_led_status
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	fetcht 1,mem_device_24g_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_24g_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_bt_discovery_led_on:
+	jam 0,mem_mouse_discovery_blink_count
+p_mouse_bt_led_on:
+	fetcht 1,mem_device_bt_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_bt_led_gpio
+	branch gpio_out_active
+
+p_mouse_bt_led_off:	
+	fetcht 1,mem_device_bt_led_gpio
+	branch p_gpio_set_input_pu
+
+
+p_mouse_device_led_off:
+	call p_mouse_bt_led_off
+	branch p_mouse_24g_led_off
+
+
+p_mouse_device_poweron_led_off:
+	jam 0,mem_mouse_poweron_led_timer	
+	rtn
+
+	
+/*
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+*/	
+
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+	
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_fast_conn_flag
+	beq 0xff,p_mouse_le_next
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+p_mouse_le_next:	
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	call p_mouse_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user	
+	rtn
+
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+	
+
+
+
+
+p_mouse_wheel_trigger:
+	fetch 2,mem_mouse_z
+	rtn blank
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+
+p_mouse_bt:
+	rtn attempt
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+	call p_mouse_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+	fetch 1,mem_mouse_bt_boot_mode
+	beq 1,p_mouse_send_data_boot_mode	//boot
+	fetch 1,mem_mouse_bt_send_first_package_flag
+	rtn blank
+	branch mouse_send_data	//report
+
+p_mouse_send_data_boot_mode:
+	fetch 1,mem_mouse_key
+	store 1,mem_mouse_bt_boot_data
+	fetch 1,mem_mouse_x
+	istore 1,contw
+	fetch 1,mem_mouse_y
+	istore 1,contw
+	fetch 2,mem_mouse_z
+	istore 2,contw
+
+	arg 7,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 5,mem_mouse_bt_boot_data
+	istore 5,contw
+	rtn
+
+p_mouse_clear_sensor_data:
+	jam 1,mem_mouse_clear_sensor_data_flag
+	call le_set_config_more_data
+	branch p_mouse_init_sensor_reset
+
+//p_mouse_clear_sensor_data:
+//	call le_set_config_more_data
+//	jam 1,mem_mouse_clear_sensor_data_flag
+//	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+	call ui_check_paring_button
+	call p_mouse_dpi_check
+	branch mouse_wheel_check
+
+
+p_mouse_dpi_check:
+	fetcht 1,mem_dpi_button_gpio
+	call p_gpio_set_input_pd
+	call p_mouse_dpi_check_next
+	fetcht 1,mem_dpi_button_gpio
+	branch p_gpio_set_input_pu
+
+p_mouse_dpi_check_next:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	branch mouse_dpi_up,true
+p_mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	sub pdata,0x03,null
+	ncall disable_blank,positive
+p_mouse_set_dpi:	
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+/*				// customer needn't blink
+	fetch 1,mem_mouse_dpi		// dpi = 1, 8-3-1=400ms led off;
+	branch p_mouse_dpi_no_blink,blank
+	mul32 pdata,8,pdata
+	increase -3,pdata
+	store 1,mem_mouse_dpi_blink_count
+*/	
+p_mouse_dpi_no_blink:	
+//	jam 1,mem_mouse_dpi_led_delay_count  //delay 200ms led blink
+	branch p_mouse_store_flash_device_info	
+
+p_mouse_priority_bb_event:
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
+	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
+	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
+	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
+//	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch
+	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
+	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
+	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	branch mouse_priority_bb_event+1
+
+p_mouse_le_bb_event_connected:
+	call p_mouse_init_sensor_reset
+	jam ZCODE_B0,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_bb_disconnected:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam ZCODE_A2,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_enc_info:
+p_app_updata_le_param:
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+p_mouse_le_ll_start_encryt:
+	jam ZCODE_B3,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_conn_param_update_rsp_recieved:
+	jam ZCODE_A1,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+p_mouse_bb_event_reconn_timeout:
+p_mouse_bb_event_reconn_failed:
+	jam ZCODE_A3,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_irtual_cable_unplug:
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
+
+p_mouse_sniff_not_accept:
+	jam ZCODE_B1,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_bb_event_connected:
+	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_init_sensor_reset
+	branch mouse_stop_discovery
+
+p_mouse_bb_event_disconnected:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam ZCODE_B4,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_enter_sniff_check:
+	jam ZCODE_B2,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_pairing_complete:
+	call p_mouse_init_sensor_reset
+	jam ZCODE_92,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam 0,mem_retry_count
+	jam ZCODE_51,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_success:
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_init_sensor_reset
+p_mouse_24g_no_data_timer_init:
+	branch mouse_no_data_timer_init
+
+p_mouse_before_hibernate:
+	call p_mouse_sensor_powerdown_check
+	jam ZCODE_A4,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+	branch p_mouse_sensor_powerdown
+
+
+p_mouse_bb_event_timer:
+	call p_mouse_adc_read
+	call p_mouse_low_voltage_led_timer
+	call p_mouse_wheel_trigger_timer
+
+	call p_mouse_select_device_by_button
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call p_mouse_current_mult_update_timer
+	call p_mouse_24g_long_sleep_param_update_timer
+//	call p_mouse_24g_pairing_commbination_key
+	call mouse_check_direct_timeout_timer
+	call p_mouse_le_enable_att_list_timer
+	call p_mouse_send_switch_req_timer
+	call mouse_check_hid_handshake_timer
+	call p_mouse_bt_check_sniff_req_timeout_timer
+	call p_mouse_discovery_led_blink
+	call p_mouse_24g_led_blink
+	branch p_mouse_device_poweron_led_timer
+
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_mouse_direct_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_discovery_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_poweron_led_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,p_mouse_24g_led_on
+	beq 4,p_mouse_24g_led_off
+	beq 6,p_mouse_24g_led_on
+	beq 8,p_mouse_24g_led_off
+	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_24g_led_off
+
+p_mouse_send_switch_req_timer:
+	arg mem_mouse_send_switch_req_timer,regc
+	arg host_create_conn_resend,regb
+	branch timer_single_step
+
+p_mouse_bt_check_sniff_req_timeout_timer:
+	arg mem_mouse_bt_send_first_package_timer,regc
+	arg p_mouse_bt_send_first_package,regb
+	branch timer_single_step
+p_mouse_bt_send_first_package:
+	jam 1,mem_mouse_bt_send_first_package_flag
+	rtn
+
+
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_current_mult_update_timer:
+	arg mem_mouse_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
+
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+p_mouse_long_mult_flag_enable:	
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+/*
+p_mouse_24g_pairing_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down 
+	branch mouse_bt_discovery_commbination_key_up
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_24g_pairing_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_24g_pairing_timer:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_24g_pairing_button,regb
+	branch timer_single_step	
+*/	
+
+
+
+p_mouse_bt_discovery_timer:
+	arg mem_select_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+p_mouse_long_button_bt_discovery:
+	fetcht 1,mem_device_flag
+	fetch 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	branch mouse_long_button_bt_discovry
+
+
+p_mouse_set_select_state:
+	jam 1,mem_select_device_button_press_flag
+	rtn
+
+p_mouse_clear_select_state:
+	jam 0,mem_select_device_button_press_flag
+	rtn
+	
+
+p_mouse_select_device_by_button:
+	fetch 1,mem_select_device_button_press_flag
+	branch p_mouse_select_device_button_up,blank
+p_mouse_select_device_button_down:
+	call p_mouse_bt_discovery_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_DOWN
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	jam PB_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	rtn
+
+
+	
+p_mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_UP
+//	fetch 1,mem_select_ui_button_count
+//	sub pdata,20,null
+//	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
+//	ncall p_mouse_ready_reconnection_by_button,blank
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_ui_button_count	//combination key timer init 
+	jam PB_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+
+p_mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call p_mouse_store_flash_device_info
+//	call mouse_select_device_enable
+//	call p_select_reconn_device
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	branch mouse_set_reconnection
+
+
+	
+/*
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+p_mouse_null_enter_hibernate_disable:	//ble never connected
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn	
+//p_mouse_null_enter_hibernate_check:
+//	fetch 2,mem_ui_state_map
+//	rtnbit1 UI_STATE_BLE_CONNECTED
+//	rtnbit1 UI_STATE_BT_CONNECTED
+//	rtnmark1 mark_24g
+//	branch p_mouse_null_enter_hibernate_enable
+*/
+	
+
+p_mouse_adc_read:
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	call p_mouse_adc_read_gpio5, positive
+	ncall p_mouse_adc_read_vinlpm,positive
+	call adc_init_data
+	call p_adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call p_adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 2,p_mouse_set_select_state
+	bbit1 1,app_enter_hibernate
+	bbit0 0,p_mouse_adc_no_low_voltage
+	jam 1,mem_mouse_adc_last_low_voltage_flag
+	branch mouse_adc_low_voltage
+
+p_mouse_adc_read_gpio5:
+	fetch 1,mem_24g_device_led_status		// gpio5 output high 
+	nbranch p_mouse_adc_read_vinlpm,blank
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+p_mouse_adc_read_vinlpm:
+	jam 0,mem_adc_read_timer
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn
+
+p_vdd_calculate_by_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
+	branch vdd_calculate_by_mode+2
+
+p_vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch p_vdd_calculate
+
+p_vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch p_vdd_calculate1,positive
+	branch vdd_calculate+4
+
+p_vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	isub rega,null
+	call p_vdd_calculate2,positive
+	branch vdd_calculate1+3
+
+//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
+p_vdd_calculate2:	
+	copy rega,pdata
+	rtn
+
+
+p_mouse_adc_no_low_voltage:
+	call mouse_adc_no_low_voltage
+	jam 12,mem_adc_low_volatage_led_timer_count
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+
+p_adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+	branch adc_set_mode+1
+p_adc_check_gpio:
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+
+
+p_adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio5
+	beq ADC_CONFIG_VINLPM,p_adc_check_vinlpm
+p_adc_check_vinlpm:	
+	fetch 2,mem_pdatatemp+6		//now voltage
+	fetcht 2,mem_pdatatemp+2		//shutdown voltage
+	isub temp,null
+	nbranch adc_set_no_power_flag,positive
+	call p_adc_clear_no_power_flag
+	fetcht 2,mem_pdatatemp+4	//low voltage
+	isub temp,null
+	nbranch adc_set_low_power_flag,positive
+p_adc_clear_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set0 0,pdata
+	store 1,mem_adc_power_flag
+	rtn		
+p_adc_check_gpio5:	
+	fetcht 2,mem_mouse_vdd_0v	// PB button press check
+	fetch 2,mem_pdatatemp+6		//now voltage
+	isub temp,null
+	nbranch p_adc_set_pb_press_flag,positive
+	call p_mouse_clear_select_state
+	branch p_adc_clear_pb_press_flag
+
+
+p_adc_clear_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set0 1,temp
+	storet 1,mem_adc_power_flag
+	rtn	
+p_adc_set_pb_press_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 2,temp
+	storet 1,mem_adc_power_flag
+	rtn	
+
+p_adc_clear_pb_press_flag:
+	fetcht 1,mem_adc_power_flag
+	set0 2,temp
+	storet 1,mem_adc_power_flag
+	rtn		
+	
+
+p_mouse_motion: 
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+//	call p_mouse_device_led_on,user
+//	ncall p_mouse_device_led_off,user
+	nbranch p_drawing_optima_init,user
+	call p_drawing_optima
+	branch mouse_motion+9
+
+/*
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+//	call p_mouse_check_skey_gpio
+	branch mouse_check_key_gpio_output
+//p_mouse_check_skey_gpio:
+//	fetch 1,mem_bk_button_gpio
+//	rtneq GPIO_DISABLE
+//	call p_mouse_check_bk_key_gpio
+//	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+//p_mouse_check_bk_key_gpio:
+//	fetcht 1,mem_bk_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_bk_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,3,rega
+//	branch p_gpio_set_input_pu
+//p_mouse_check_fw_key_gpio:
+//	fetcht 1,mem_fw_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_fw_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,4,rega
+//	branch p_gpio_set_input_pu
+*/
+
+p_gpio_set_input_high_impedance:
+	set0 gpio_active_bit,temp
+	branch gpio_set_high_impedance
+
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pd4:	
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pu1:	
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
+
+	
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_poweron_led_timer
+	isolate1 mark_24g,mark
+	call p_g24_check_51cmd_stop_24g,true
+	branch mouse_bb_event_discovery_btn+1
+
+p_le_addr_random_config:
+	jam ZCODE_81,mem_zcode_temp_param0
+	branch p_zcode_entrance	
+
+p_mouse_start_discovery:
+	jam 0,mem_mouse_discovery_blink_count
+	jam ZCODE_50,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+	branch le_modified_name_adv
+
+p_mouse_stop_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	store 1,mem_mouse_dpi_blink_count
+	store 1,mem_mouse_blink_count
+	store 1,mem_mouse_discovery_blink_count
+	jam 5,mem_mouse_bt_ble_led_timer
+	call p_mouse_bt_led_off
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call power_ctrl_start
+	branch le_slave_match+7
+
+p_le_next_adv_channel:
+	fetch 1,mem_le_ch_mapped
+	increase 1,pdata
+	store 1,mem_le_ch_mapped
+	rtnne 40
+	jam 37,mem_le_ch_mapped
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	call p_rssi_signal
+	branch le_receive_skip+2
+
+p_le_update_param:
+	jam ZCODE_40,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_update_channel_map:
+	jam ZCODE_41,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	bbit1 wak,p_le_prepare_tx_wak
+	call power_ctrl_pac_succ_incrs	
+	fetch 1,mem_empty_count
+	nbranch p_le_send_empyt,blank
+	fetch 1,mem_le_state 
+	bbit0 lestate_encryption,p_le_tx_4
+	fetch 1,mem_le_rxbuf+1  
+	branch p_le_tx_4,blank  
+	branch le_send_empty      // send empty data when got non empty packet
+p_le_send_empyt:
+	fetch 1,mem_empty_count
+	increase -1,pdata
+	store 1,mem_empty_count
+	branch le_send_empty
+p_le_tx_4:	
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
+	jam 3,mem_empty_count
+p_in_le_tx_4:
+	call le_fifo_check_nearly_full
+	call p_mouse_data_pull,blank
+	branch le_prepare_tx+4
+
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+	branch p_le_power_ctrl_pac_succ_decrs
+
+p_le_check_tx_retransmit_setmd:
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	fetch 1,mem_le_txlen
+	rtn blank
+	fetch 1,mem_le_txheader
+	set1 md,pdata
+	store 1,mem_le_txheader
+	call le_set_md
+	rtn
+
+	
+	
+p_le_power_ctrl_pac_succ_decrs:
+	branch power_ctrl_pac_succ_decrs
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+	fetch 1,mem_mouse_le_reconnect_flag
+	rtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtneq 0x03
+	jam 1,mem_le_start_encrypt_timer
+	rtn
+
+p_le_parse:
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,p_le_parse_ll
+	branch le_parse_l2cap
+p_le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
+	branch le_parse_ll+1
+p_le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	branch le_parse_channel_map_req+7	
+	
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,p_le_parse_smp
+	branch le_parse_l2cap+11
+p_le_parse_att:
+	call store_contr
+	call p_mouse_le_reconn_write_enable_timer_reinit
+	call get_contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+	rshift8 pdata,temp
+	sub temp,0x24,null
+	branch p_le_parse_att1,positive
+	arg mem_mouse_le_uuid_sup,temp
+	storet 2,mem_ui_le_uuid_table
+	call le_parse_att+2
+	setarg 0x8e7a
+	store 2,mem_ui_le_uuid_table
+	rtn
+
+p_le_parse_att_read_by_group_type_request:
+	call le_parse_att_read_by_group_type_request
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	ifetch 1,contr
+	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	increase 5,contr
+	ifetch 2,contr
+	arg UUID_SERVICE_HIDS,temp
+	isub temp,null
+	nrtn zero
+	increase -4,contr
+	setarg 0x2b
+	istore 2,contr
+	rtn
+
+
+p_le_parse_att1:
+	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	branch le_parse_att+2
+p_le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero
+	
+	fetch 2,mem_le_att_handle
+	beq 0x13,le_send_att_error_response_notfound
+
+	fetcht 2,mem_le_att_handle
+	branch le_send_att_read_response
+
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
+p_le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch p_le_send_att_read_response,zero
+	call le_check_encrypt_state
+	nbranch p_le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+	
+
+
+p_le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
+	branch le_parse_smp+1
+p_le_parse_smp_pairing_failed:
+	jam ZCODE_82,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_adv_not_match:
+	fetch 1,mem_le_ch_mapped
+	bne 39,le_adv_loop
+	call p_le_adv_random_delay
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+p_le_adv_random_delay:
+	random pdata
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	branch delay
+
+p_le_lpm_setmult:
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+	fetch 1,mem_le_connect_status_flag
+	compare 3,pdata,3
+	nbranch lpm_mult_short,true
+	branch le_lpm_set_mult_attempt+3
+
+p_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call p_twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+p_spid_init:
+	call spid_init_common
+p_twspi_enable:
+	hfetch 1,core_gpio_sel1
+	set1 0,pdata
+	set0 1,pdata
+	set0 3,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+
+
+p_page_wait_fhs_reply_ok:
+	jam ZCODE_00,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+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
+	force 1,am_addr	/* process_fhs will update am_addr, so slave will not receive fhs succeffully sometimes */
+	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
+
+p_process_dmh:
+	bmark1 mark_first_packet,end_of_packet
+	branch process_dmh+1
+
+p_quit_connection_cont:
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	branch quit_connection_cont+8
+
+p_prepare_tx:
+	fetch 1,mem_state
+	isolate1 state_inconn,pdata
+	call p_bt_power_ctrl,true
+	branch prepare_tx+1
+p_bt_power_ctrl:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	call power_ctrl_pac_succ_decrs,true
+	ncall power_ctrl_pac_succ_incrs,true
+	branch power_ctrl_start
+
+p_slave_conn_recv_packet:
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	call p_rssi_signal
+	branch slave_conn_recv_packet+4
+
+p_lpm_dispatch:
+	rtnmark1 mark_24g
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							//sco won't sleep 
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff	//role switch 
+	arg 0xffff,temp
+	isub temp,null
+	rtn zero
+	branch lpm_dispatch_next+9
+
+p_lpm_set_mult:
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	call p_lpm_set_attemp_timeout,blank	//fixed bt3.0 connected high current
+	branch lpm_set_mult+13	
+p_lpm_set_attemp_timeout:
+	jam 1,mem_current_sniff_attempt
+	jam 0,mem_current_sniff_timeout
+	rtn	
+
+p_mouse_bb_disconnected:
+	jam ZCODE_10,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_hid_rx_process:
+	jam ZCODE_11,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
+	branch parse_lmp_accepted+3
+p_parse_lmp_accepted_switch:
+	call parse_lmp_accepted_switch
+	jam 1,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtn blank
+	jam 2,mem_bt_send_lmp_setup_complete
+	rtn
+
+p_send_lmp:
+	jam ZCODE_20,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+p_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	beq CONN_SM_SEND_CONN_REQ, p_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,p_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+p_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,p_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+p_host_create_conn_switch_accept:
+	rtn master
+p_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,p_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+p_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch p_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+p_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+p_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+	
+
+	
+
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_STORE_RECONN_INFO_LE,p_flash_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,p_flash_store_bd_reconn_info
+	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
+	branch check_51cmd_once_continue+2
+
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+
+p_flash_store_le_reconn_info:
+	jam REC_4_MODE,mem_record_bt_mode
+	fetch 6,mem_le_plap
+	branch p_flash_store_reconn_info
+p_flash_store_bd_reconn_info:
+	jam REC_3_MODE,mem_record_bt_mode
+	fetch 6,mem_plap	
+p_flash_store_reconn_info:
+	store 6,mem_temp_lap
+p_mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+p_mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	branch p_mouse_store_flash_device_info
+
+
+
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	rtnbit1 UI_STATE_BT_RECONNECT
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+	setarg RSSI_DIS_MAX_24G
+	bmark1 mark_24g,power_ctrl_start_next
+	setarg RSSI_DIS_MAX_BLE
+power_ctrl_start_next:	
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	setarg RSSI_DIS_MIN_24G
+	bmark1 mark_24g,power_ctrl_txpower_decrs_next
+	setarg RSSI_DIS_MIN_BLE	
+power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+//	beq TX_POWER_0DB,p_set_tx_power_0db
+//	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+//	branch p_set_tx_power_0db
+p_set_tx_power_0db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_0db	
+
+//p_set_tx_power_3db:
+//	call p_rx_high_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+	call p_rx_high_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+//	jam 0xba,0x894b
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+
+// input : mem_zcode_temp_param0 ---- zocde number(0~1f)
+p_zcode_entrance:
+	fetcht 1,mem_zcode_temp_param0 // zcode number @ high 4bit
+	rshift4 temp,temp
+	fetch 1,mem_zcode_current_number
+	isub temp,null
+	branch p_zcode_run,zero // if this zcode is already loaded, do not load again
+	storet 1,mem_zcode_current_number
+	increase 1,temp
+	setarg ZCODE_BUFF_SIZE
+	imul32 temp,temp
+	fetch 3,mem_xip_flash_offset
+	isub temp,pdata
+
+	fetcht 3,mem_flash_start_addr
+	iadd temp,pdata
+	increase -5,pdata
+	store 3,mem_flash_address
+	
+	call p_flash_release_deep_power_down
+p_zcode_read_loop:			// YC1059
+	fetch 3,mem_flash_address
+	arg ZCODE_BUFF_SIZE,temp
+	arg mem_zcode_buff,rega
+	call spid_read_flash
+	fetch 4,mem_zcode_buff
+	fetcht 4,mem_zcode_head	//p_start
+	isub temp,null
+	nbranch p_zcode_read_loop,zero
+	call p_mouse_spi_init
+	
+	setarg mem_zcode_buff
+	store 2,mem_patch_ptr
+	jam ZCODE_CODE_SIZE,mem_patch_len
+	call load_ucode
+	setarg 0
+	store 4,mem_patch_ptr
+p_zcode_run:
+	fetch 1,mem_zcode_temp_param0
+	branch p_zcode
+
+
+
+
+
+//notice: need to call p_mouse_drawing_optima_init when waked from mult
+p_drawing_optima_init:
+	arg 5,loopcnt
+	arg mem_mouse_asm_flag,contw
+	branch clear_mem
+
+p_drawing_optima:
+	fetch 4,mem_mouse_x
+	rtn blank
+	call p_data_abs_check
+	setarg 0x06	//asm_flag enable condition
+	call p_data_greater_than_check
+	setarg 0x03	//asm_flag disable condition
+	call p_data_less_than_check
+	fetch 1,mem_mouse_asm_flag
+	beq 1,p_drawing_optima_modify
+	branch p_drawing_optima_init
+
+p_drawing_optima_modify:
+	fetch 2,mem_mouse_x_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_x_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_x
+
+	fetch 2,mem_mouse_y_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_y_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_y
+	rtn
+
+/**********
+input:data_pre,data_current
+output:data_pre,data_current after optima
+***********/
+p_drawing_optima_data:
+	fetch 2,mem_data_pre
+	fetcht 2,mem_data_current
+	iadd temp,pdata
+	store 3,mem_data_sum
+	isolate1 16,pdata
+	branch p_data_sum_overflow,true
+	fetch 1,mem_data_sum+1
+	beq 0xff,p_data_sum_n
+	fetch 1,mem_data_sum
+p_data_store_pre:
+	rshift pdata,pdata
+	store 2,mem_data_pre
+	store 2,mem_data_current
+	rtn
+p_data_sum_overflow:
+	fetch 1,mem_data_sum+1	//sum positive
+	beq 0,p_data_sum_overflow_p
+	fetch 3,mem_data_sum	//全负相加
+	branch p_data_store_pre
+p_data_sum_overflow_p:
+	jam 0,mem_data_sum+2
+	fetch 1,mem_data_sum
+	branch p_data_store_pre
+
+p_data_sum_n:
+	fetch 1,mem_data_sum	//sum negetive
+	call p_pdata_get_half
+	store 1,mem_data_pre
+	store 1,mem_data_current
+	branch p_data_zero,blank
+	setarg 0xff
+p_data_set_direction:	
+	store 1,mem_data_pre+1
+	store 1,mem_data_current+1
+	rtn
+p_data_zero:
+	setarg 0
+	branch p_data_set_direction
+
+p_pdata_get_half:
+	sub pdata,0,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	rshift pdata,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	sub pdata,0,pdata
+	rtn
+
+//rega mouse_x, regb mouse_y, pdata refer
+p_data_greater_than_check:
+	isub rega,null
+	nbranch p_enable_asm,positive
+	isub regb,null
+	nbranch p_enable_asm,positive
+p_disable_asm:
+	jam 0,mem_mouse_asm_flag
+	rtn
+p_data_less_than_check:
+	isub rega,null
+	nrtn positive
+	isub regb,null
+	nrtn positive
+	branch p_disable_asm
+p_enable_asm:
+	jam 1,mem_mouse_asm_flag
+	rtn
+
+p_data_abs_check:
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,rega
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,regb
+	rtn
+
+/***********
+input: data_current
+output:pdata,abs
+************/
+p_data_abs:
+	fetch 1,mem_data_current+1
+	beq 0xff,p_data_reversal
+	fetch 1,mem_data_current
+p_data_abs_store:
+	and_into 0xff,pdata
+	//output:pdata
+	rtn
+p_data_reversal:
+	fetch 2,mem_data_current
+	sub pdata,0,pdata
+	branch p_data_abs_store
+
+
+
+
+
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+	call publickey_init
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+	call sp_calc_sequence
+	call sp_calc_sequence_256
+	call sp_calc_sequence_256_check
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	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
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	call sp_initialize
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	jam 0xd4, rf_tx_pa_ib
+	nop 4
+	jam 0xd2, rf_tx_pa_ib
+	nop 4
+	jam 0xd1, rf_tx_pa_ib
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	jam 0xd0, rf_tx_pa_ib
+	jam 0xe0, rf_tx_pa_gc
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	jam 0x0,rfen_mdm
+	jam 0x0,rfen_tx
+	jam 0x0,rfen_rx
+	jam 0,rfen_sn
+	jam 0x70,rfen_msc
+	jam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	jam 0x0,rfen_mdm					/* if called from tx or rx */
+	jam 0x0,rfen_tx
+	jam 0x18,rfen_rx
+	jam 0xa7,rfen_sn
+	jam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	jam 0x07,rf_balun_ctrim                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	jam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	jam 0xff,rfen_rx
+	jam 0xaf,rfen_sn
+	jam 0xff,rfen_msc
+	nop 10
+	jam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	jam 0x12,rf_balun_ctrim
+	nop 10
+	jam 0x01,rfen_mdm
+	jam 0x3d,rfen_mdm
+	nop 10
+	jam 0xb7,rfen_sn
+	nop 10
+	jam 0x7f, rfen_mdm
+txon_power_select:	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	jam 0xf0,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_3db:
+	jam 0xdf,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+
+set_tx_power_5db:
+	jam 0xff,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+set_tx_power_f3db:
+	jam 0xce,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_f5db:
+	jam 0xcb,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_pair:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	jam 0x4c,0x8957
+	jam 0x6c,0x8958
+	jam 0x50,0x8959
+	rtn
+
+txon_common:
+	nop 4
+	jam 0xd1,rf_tx_pa_ib
+	nop 4
+	jam 0xd2,rf_tx_pa_ib
+	nop 4
+	jam 0xd4,rf_tx_pa_ib
+	rtn
+
+
+initialize_radio:
+	jam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	jam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	jam 0x44,rf_pll_rstn
+	jam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	jam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	jam 0x7f,rfen_rx
+	nop 130
+	jam 0x30,rf_rccal_ctrl
+	jam 0xd0,rfen_tx
+	jam 0x70,rf_rccal_ctrl
+	jam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	jam 0,rfen_tx
+	jam 0,rfen_rx
+	jam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+bcd:
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	jam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	jam 0x00,rfen_ck
+	jam 0x00,rfen_msc
+	jam 0x70,rfen_msc
+	jam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	jam clksel_dpll,core_clksel
+	nop 1
+	jam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	jam 0xc0,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	jam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+lpm_dispatch_next2:
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	jam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam 0xff,core_xtal_stable_time
+	jam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_blank_data_2usb:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_blank_data_2usb:	
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_blank_data_2usb:
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+g24_enable_nodata_timer_init:
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+g24_ms_enable_blank_data_timer:
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+g24_kb_enable_blank_data_timer:	
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_enable_blank_data_timer:	
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+
+
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
+antilost_init:
+	rtn wake	
+	jam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+
+
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+
+
+
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
+
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	jam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_crystal,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*仰
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	jam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+
+
+//define FPGA_DEBUG
+
+
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+mouse_le_write_enable:	
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+
+mouse_idle:
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+mouse_check_key_gpio_output:
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset1 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset0 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_status_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_status_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+
+
+
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+
+
+
+
+
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	jam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	jam 0x00,core_usb_config
+	nop 10000
+	jam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	jam 0x3c,core_usb_config
+	jam 0xff,core_usb_status
+	jam 0xff,core_usb_fifo_empty
+	jam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	jam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	jam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	jam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	jam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	jam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	jam 0xfc,core_usb_config
+	nop 30000
+	jam 0x3c,core_usb_config
+	rtn
+
+
+
+
+
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	jam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_dpll,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//jam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	jam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	jam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
+
+
+
+	
+	
+
+
+
+	
+    
+	
+
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+l2cap_malloc_free_loop:
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+	call sp_initialize_256
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	jam 0x36,rf_adc_goff        /*For BLE, tune AGC_gain_offset, Max added*/
+	jam 0x5f,rf_agc_nsat        //for BLE
+	enable le
+	jam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	jam 0xb8,rf_iq_gain
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	jam 0x2e,rf_adc_goff        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	jam 0xff,rf_agc_nsat         //for EDR&BR
+	disable le
+	jam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+	rtn
+
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+
+
+le_send_smp_pairing_confirm:
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+
+	
+le_parse_smp_pairing_random:	
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+	branch master_set_mem_master_sp_flag
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+	call master_clear_mem_master_sp_flag
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	call master_set_mem_master_sp_flag
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+	call sp_local_random_key_generator,true
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	jam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	jam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	jam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	jam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	jam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	jam 2,core_spid_txlen
+	jam 0,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	jam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	jam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	jam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	jam 12,core_iicd_scl_low
+	jam 13,core_iicd_scl_high
+	jam 13,core_iicd_start_setup
+	jam 13,core_iicd_start_hold
+	jam 13,core_iicd_stop_setup
+	jam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	jam 5,core_iicd_scl_low
+ 	jam 7,core_iicd_scl_high
+	jam 7,core_iicd_start_setup
+	jam 7,core_iicd_start_hold
+	jam 7,core_iicd_stop_setup
+	jam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	jam 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	jam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	jam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	jam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x02,core_otp_ctrl	/* web */
+	jam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	jam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	jam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	jam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	jam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	jam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	jam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	jam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	jam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	jam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	jam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	jam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	jam 0x80,core_otp_ctrl	/* rstn */
+	jam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	jam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	jam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	jam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	jam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	jam 0x7c,rfen_adc
+	jam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
+
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
+
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+	
+
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+
+
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	jam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	jam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
+
+org 0x10001
+z_entrance0:
+	beq ZCODE_00,z_page_wait_fhs_reply_ok
+	rtn
+
+z_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+z_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch z_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch z_master_newconn_loop,blank
+	branch page_restart
+z_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+
+
+	
+org 0x20001
+
+z_entrance1:
+	beq ZCODE_10,z_mouse_bb_disconnected
+	beq ZCODE_11,z_hid_rx_process
+	rtn
+
+z_mouse_bb_disconnected:
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//115Hz
+	call mouse_bb_discon_clear_stack
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,z_mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,z_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,z_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+	
+z_mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,z_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,z_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+z_mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	call app_disconn_reason_clear
+//	call p_mouse_check_key_gpio
+//	rtn true
+	branch app_bb_hibernate
+
+
+z_hid_rx_process:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	store 1,mem_l2cap_rcv
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_protocol,z_hid_rx_set_protocol
+	beq HID_TYPE_CONTROL,z_hid_rx_process_hid_control
+	branch hid_rx_process+6
+z_hid_rx_set_protocol:
+	call hid_rx_process_handshake
+	jam 0,mem_mouse_bt_boot_mode
+	fetch 1,mem_l2cap_rcv
+	isolate1 0,pdata
+	rtn true
+	jam 1,mem_mouse_bt_boot_mode	//boot mode
+	rtn
+
+z_hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,p_mouse_irtual_cable_unplug
+	branch hid_rx_process_hid_control+2	
+
+org 0x30001
+
+z_entrance2:
+	beq ZCODE_20,z_send_lmp
+	rtn
+
+z_send_lmp:
+	disable user
+	call lmo_fifo_process
+
+	
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,z_send_lmp_escape
+	beq LMP_ACCEPTED,z_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,z_send_lmp_setup_complete
+	beq LMP_SNIFF_REQ, z_send_lmp_sniff_req
+	beq LMP_DETACH,z_send_lmp_detach
+	branch send_lmp0
+z_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,z_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,z_send_lmpext_features_req	
+	branch send_lmp_escape
+z_send_lmpext_features_res:
+	call z_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+z_send_lmpext_features_req:
+	call z_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+z_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+z_send_lmp_setup_complete:
+	jam 1,mem_bt_send_lmp_setup_complete
+	branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+	jam 4,mem_mouse_bt_send_first_package_timer
+	branch send_lmp_sniff_req
+	
+z_send_lmp_detach:
+/*
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+	fetch  1,mem_mouse_bt_reconnect_flag
+	branch prepare_disconnect,blank
+	branch p_mouse_sensor_powerdown_check
+*/
+	call send_lmp_detach
+	fetch  1,mem_mouse_bt_reconnect_flag
+	rtn blank
+	fetch 1,mem_op
+	set0 op_disconn,pdata
+	store 1,mem_op
+	branch p_mouse_sensor_powerdown
+
+
+z_send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	store 1,mem_lmi_opcode_temp
+	call send_lmp_follow
+	fetch 1,mem_lmi_opcode_temp
+	beq LMP_MAX_SLOT_REQ,z_send_lmp_accepted_max_slot_req	//sumsung a5100 patch
+	branch send_lmp_accepted+7
+
+z_send_lmp_accepted_max_slot_req:
+	fetch 1,mem_bt_rcvd_switch_req_accept
+	rtn blank
+	jam 0,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtnne 2
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	rtn
+
+
+org 0x40001
+
+z_entrance3:
+	beq ZCODE_30,z_process_conn_sm
+	rtn
+
+z_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+z_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	beq CONN_SM_SEND_CONN_REQ, z_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,z_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+
+z_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,z_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+z_host_create_conn_switch_accept:
+	rtn master
+z_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,z_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+z_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch z_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+z_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+
+
+
+
+org 0x50001
+
+z_entrance4:
+	beq ZCODE_40,z_le_update_param
+	beq ZCODE_41,z_le_update_channel_map
+	rtn
+
+z_le_update_param:
+	call z_mouse_le_conn_param_check
+	branch le_update_param+8
+z_mouse_le_lpm_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+z_mouse_le_conn_param_lpm_enable:
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	rtn
+z_mouse_le_conn_param_lpm_disable:
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+z_mouse_le_conn_param_check:
+	fetch 1,mem_le_new_conninterval
+	sub pdata,LE_INTERVAL_15MS,null
+	nbranch z_mouse_le_conn_param_lpm_disable,positive
+	fetch 1,mem_le_new_connslavelatency
+	fetcht 1,mem_lpm_mult_init
+	isub temp,null
+	branch z_mouse_le_lpm_mult_reinit,positive
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	branch z_mouse_le_conn_param_lpm_enable
+
+z_le_update_channel_map:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	call z_le_channel_map_overflow_check
+	nrtn user
+	branch le_update_channel_map+3
+z_le_channel_map_overflow_check:
+	enable user
+	fetch 1,mem_le_event_count+1
+	rshift4 pdata,pdata
+	rtnne 0x0f
+	fetch 1,mem_le_instant+1
+	rshift4 pdata,pdata
+	rtnne 0x00
+	branch disable_user
+
+
+
+org 0x60001
+
+z_entrance5:
+	beq ZCODE_50,z_mouse_start_discovery
+	beq ZCODE_51,z_mouse_24g_attempt_fail
+	rtn
+
+
+z_mouse_start_discovery:
+	call p_mouse_tx_power_init
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_le_fast_conn_disable
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,z_mouse_start_discovery_norandom
+	call p_mouse_load_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+z_mouse_start_discovery_norandom:
+	setarg 0xed8e0e
+	store 3,mem_le_lap+3
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 5,mem_mouse_bt_ble_led_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call z_check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	jam 0,mem_mouse_bt_reconnect_flag
+	branch mouse_start_discovery_norandom+13
+
+z_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+	arg mem_le_adv_swift_pair,contr
+	call p_le_adv_data_update
+	branch check_51cmd_adv
+
+z_mouse_24g_attempt_fail:
+	fetch 1,mem_mouse_24g_pair_timer
+	nrtn blank
+	fetch 1,mem_24g_attempt_count
+	nbranch z_mouse_24g_attempt_fail_again,blank
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+	jam 0,mem_link_key_exists
+	call p_mouse_setgpio_hibernate
+	branch app_enter_hibernate
+
+
+z_mouse_24g_attempt_fail_again:
+	increase -1,pdata
+	store 1,mem_24g_attempt_count
+	branch p_mouse_start_24g_mode
+
+
+org 0x70001
+
+z_entrance6:
+	beq ZCODE_60,z_g24_start_24g_mode
+	beq ZCODE_61,z_mouse_24g_pairing_button
+	rtn
+	
+z_g24_start_24g_mode:
+	set0 mark_24g,mark
+	fetch 1,mem_24g_attempt_count
+	and pdata,0x01,pdata
+	ncall z_g24_fast_conn_all_powerful,blank
+	call z_g24_normal_connect,blank
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+z_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+	nop 2000
+	call p_mouse_adc_read
+	fetch 1,mem_select_device_button_press_flag
+	nbranch p_mouse_select_device_button_down,blank
+	fetch 1,mem_24g_check_dongle_times
+	beq 0x70,p_g24_stop_g24_mode		  
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_attemp_txdata_retry,sync
+	nbranch z_g24_attemp_txdata_retry,user3
+z_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	store 1,mem_mouse_24g_pair_timer
+	store 1,mem_24g_attempt_count
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+z_g24_tx_attemp_dongle_loop_exit:	
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/ 
+
+z_g24_normal_connect:
+	call p_mouse_tx_power_init
+	fetch 4,mem_mouse_24g_addr
+	branch z6_g24_ch_syncword_crc8_init
+
+z_g24_fast_conn_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	fetch 4,mem_mouse_24g_addr_init
+z6_g24_ch_syncword_crc8_init:	
+	store 4,mem_24g_addr
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+	
+z_g24_attemp_txdata_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	call p_g24_ch
+	branch z_g24_tx_attemp_dongle_loop
+
+
+z_mouse_24g_pairing_button:
+//	rtnmark1 mark_24g
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 1,mem_24g_attempt_count
+	store 2,mem_24g_check_dongle_times
+	jam 200,mem_mouse_24g_pair_timer
+	call mouse_stop_discovery
+	branch z6_g24_start_pairing_sm1
+
+z6_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z6_g24_pair_init
+z6_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z6_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8	
+
+org 0x80001
+
+z_entrance7:
+	beq ZCODE_70,z_g24_auto_pair_start
+	rtn
+
+z_g24_auto_pair_start:
+	set0 mark_24g,mark
+	call z_g24_auto_pair_all_powerful
+	call p_g24_tx_attemp_data_prep
+z_g24_auto_pair_start_loop:
+//	call lpo_calibration
+	nop 2000
+	fetch 1,mem_24g_check_dongle_times+1
+	bbit1 0x02,p_g24_stop_g24_mode
+	call p_mouse_adc_read
+	fetch 1,mem_select_device_button_press_flag
+	nbranch p_mouse_select_device_button_down,blank
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_auto_pair_retry,sync
+	nbranch z_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch z_g24_start_pairing_sm1,zero
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z7_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/
+
+z_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	branch z_g24_auto_pair_start_loop
+/*	
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,z_g24_auto_pair_device_attemp
+	beq 1,z_g24_auto_pair_pair_attemp
+	rtn
+*/
+	
+z_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+z_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+	call z_g24_auto_pair_all_powerful
+	branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+	call z_g24_pair_init
+	branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z_g24_pair_init
+z_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+
+
+
+
+org 0x90001
+
+z_entrance8:
+	beq ZCODE_80,z_mouse_setting_config
+	beq ZCODE_81,z_le_addr_random_config
+//	beq ZCODE_82,z_le_parse_smp_pairing_failed
+	rtn
+//z_le_parse_smp_pairing_failed:
+//	call le_parse_smp_pairing_failed
+//	fetch 1,mem_le_state	//disable update conn param
+//	set0 lestate_update_param,pdata
+//	store 1,mem_le_state
+//	branch le_parse_terminate_ind
+
+
+z_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	nbranch z_le_otp_adc_empty,blank
+	setarg 0x1122
+z_le_otp_adc_empty:
+	store 2,mem_random_addr_increase_count
+	rtn
+
+
+z_mouse_setting_config:
+	call p_g24_set_device_addr
+//	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
+	call mouse_gpio_init
+
+	fetcht 1,mem_flash_ncs_gpio
+	call gpio_config_output
+	
+	call mouse_param_init
+	call z_mouse_bt_sdp_update
+	setarg 0
+	store 2,mem_lpm_interval
+	call load_adc_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	call p_le_addr_random_config
+	branch p_mouse_load_flash_info_check
+
+
+z_mouse_bt_sdp_update:
+	call enable_authrom
+	arg 0x8c00,contr
+	arg mem_mouse_uuid_list,contw
+	arg 369,loopcnt
+	call memcpy
+	//Attribute: HID SSR Host Max Latency
+	setarg 0x0f0209
+	istore 3,contw
+	setarg 0x120009
+	istore 3,contw
+	//Attribute: HID SSR Host Min Timeout
+	setarg 0x100209
+	istore 3,contw
+	setarg 0x000009
+	istore 3,contw
+	arg 0x8d71,contr
+	arg 265,loopcnt
+	call memcpy
+	
+	jam 0,mem_mouse_uuid_list+23	//Service Record Handle: 0x 00 01 00 00
+	jam 0x6d,mem_mouse_uuid_list+15	//total length
+	setarg 0x401f
+	store 2,mem_mouse_uuid_list+357	//timeout
+	setarg 0x6d04
+	store 2,mem_mouse_uuid_list+462	//VID
+	setarg 0x16b0
+	store 2,mem_mouse_uuid_list+468	//PID
+
+	setarg mem_mouse_uuid_list				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	rtn
+
+
+
+org 0xa0001
+
+z_entrance9:
+	beq ZCODE_90,z_g24_pairing_sm
+	beq ZCODE_91,z_g24_paring_mode
+	beq ZCODE_92,z_mouse_24g_pairing_complete
+	rtn
+
+z_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,z_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,z_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,z_g24_pairing_sm_3
+	branch assert
+
+z_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+z_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+z_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+z_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,z_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,z_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,z_g24_pairing_sm_3_waiting_ack
+	rtn
+
+z_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+
+z_mouse_24g_pairing_complete:
+	call p_mouse_24g_no_data_timer_init
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	store 1,mem_24g_attempt_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_tx_power_init
+	
+	fetch 4,mem_24g_addr
+	store 4,mem_mouse_24g_addr
+
+	branch p_mouse_store_flash_device_info
+
+
+org 0xb0001
+
+z_entranceA:
+	beq ZCODE_A1,z_mouse_le_conn_param_update_rsp_recieved
+	beq ZCODE_A2,z_mouse_le_bb_disconnected
+	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
+	beq ZCODE_A4,z_mouse_before_hibernate
+	rtn
+
+
+z_mouse_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 1,mem_le_tsniff
+	rshift2 pdata,pdata
+	sub pdata,LE_INTERVAL_15MS,null
+	rtn positive
+	setarg LE_INTERVAL_11_25MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	call p_app_updata_le_param
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+
+
+z_mouse_bb_event_reconn_timeout:
+z_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+	branch app_bb_hibernate
+
+z_mouse_le_bb_disconnected:
+	setarg LE_INTERVAL_8_75MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_data_init
+	call le_clr_config_more_data
+	branch mouse_bb_disconnected
+
+
+z_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call disable_authrom
+	call p_mouse_device_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	call p_mouse_setgpio_hibernate
+
+	call p_flash_deep_power_down
+	hfetch 1,core_gpio_sel1
+	and pdata,0xf7,pdata
+	hstore 1,core_gpio_sel1  //disable flash spi
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set1 6,pdata
+	hstore 1,core_gpio_pd2
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
+	set1 0,pdata
+	hstore 1,core_gpio_pd3
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_clr_wake
+
+	
+org 0xc0001
+
+z_entranceB:
+	beq ZCODE_B0,z_mouse_le_bb_event_connected
+	beq ZCODE_B1,z_mouse_sniff_not_accept
+	beq ZCODE_B2,z_mouse_enter_sniff_check
+	beq ZCODE_B3,z_mouse_le_ll_start_encryt
+	beq ZCODE_B4,z_mouse_bb_event_disconnected
+	rtn
+
+z_mouse_le_bb_event_connected:
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
+z_mouse_sniff_not_accept:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtneq 2
+	increase 1,pdata
+	store 1,mem_mouse_enter_sniff_count
+	jam 0x12,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+z_mouse_enter_sniff_check:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtnne 2
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+z_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,z_mouse_le_ll_reconn_start_encryt
+	branch z_mouse_le_ll_enable_start_enc_flag
+z_mouse_le_ll_reconn_start_encryt:
+	call p_app_updata_le_param
+	jam 5,mem_le_start_encrypt_timer
+z_mouse_le_ll_enable_start_enc_flag:
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+z_mouse_bb_event_disconnected:
+	jam 0,mem_bt_rcvd_switch_req_accept
+	jam 0,mem_bt_send_lmp_setup_complete
+	jam 0,mem_mouse_bt_send_first_package_flag
+	branch mouse_bb_disconnected
+
+
+
Index: ZJL_pm8_BLE&BT/output/bt_program23.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.rom	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/bt_program23.rom	(working copy)
@@ -0,0 +1,786463 @@
+00100000001000000000000001000000
+00100000010000000000010000010101
+01101000000000001100000111011110
+01100000000000001100110010110000
+00100000010000000000011100001100
+01101000000000001100011010000101
+01100000000000001100101101000100
+01101000000000001100101100110000
+01100000000000001100101100110001
+00100000010000000100001111001010
+00100000010000000000001100010000
+00100000010000000000011110011011
+00100000010000000000000000001111
+00100000010000000000000000100010
+00100000001000000000001100110100
+01011000000000000000001111100111
+01100000000000010100110100101010
+01011000000000000000010000000001
+01100000000000010100000111101111
+01011000000000000000011001001011
+01100000000000010100000111111001
+01011000000000000000010000110000
+01100000000000010100000111110001
+01011000000000000000001010111100
+01100000000000010100000111101101
+01011000000000000000010001101101
+01100000000000010100000111110101
+01011000000000000000010001011000
+01100000000000010100000111110011
+01011000000000000000010010100001
+01100000000000010100000111101011
+01011000000000000000010010101000
+01100000000000010100000111111101
+00100000011000000000000000000000
+01011000000000000000000000011001
+01100000000000010100110100111100
+00100100010101011000000000101010
+00100000010000000000001100010010
+00100000010000000000001100110001
+01101000000000001100011100011111
+01100000000000001100011100011110
+00100000011000000000000000000000
+01011000000000000000000101110111
+01100000000000010100110100111100
+00100000011000000000000000000000
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+00100000000000000000000000000001
+11000010100001000000000001011000
+11000000000000001000000001110101
+11000000000000010000000001111110
+11000000010000101000011101111000
+11000000010001001000011101001001
+11000000000011011000011001100100
+11000000000100110000011001100110
+11000000001001000000011010000001
+11000000001001010000011010001000
+11000000001010001000011010010001
+11000000001011001000011001111111
+11000000010100111000011010010110
+11000000010101101000011010101111
+11000000011001011011001111100100
+11000000011101001000011011000000
+11000000010100001000000010000111
+11000000010110001000000010001100
+11000000010110010000000010010110
+11000000011000100000001011011111
+11000000011100110000010101111010
+11000000011101010000010110010100
+11000000011101011000010110011010
+11000000011101100000010110100001
+00100000001000000010101010001110
+11000000000111001000010110101010
+11000000001000011000010110110010
+11000000001001010000010110111000
+11000000001010111000010110111011
+11000000001011001000010110111101
+11000000001100011000010110111111
+11000000001100110000010111101001
+11000000001100111000011000000000
+11000000001101010000011000110110
+11000000001110111000011001000001
+11000000000000101000011011000010
+11000000010000000000011011000100
+11000000010000010000011011001110
+11000000010001000000011011010000
+11000000010001100000011001010001
+11000000010001101000011001011101
+11000000010100000000010100110001
+11000000011111010000011011110100
+00100000001000000010101010001110
+00011111111000100010001000000000
+01101000000010001100110010110100
+01011000000000000100110010111011
+10011000010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+01100000000010001100110010110100
+00100000011000000000000000000000
+11011000101000000000100110101110
+11011111001000000000000000001100
+00100000010000000111111011010100
+00100000010000000000001111111000
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100100010101011010110001100101
+00100000010000000111110011001101
+00100000001000000010000000001100
+00100000010101011011001011100011
+00100000010000000111010101101010
+00100000010101011010101101000001
+00100000010000000111011011011100
+01101000000000001100011001011010
+00100000001110100010000000010010
+01101000000000001100010110110001
+00100000001110100000000010000001
+00100000001000000010000000010010
+01011000000000000000101000000110
+01100000000000011100010100010000
+01011000000000000001110110000111
+01100000000000010100010100010011
+00100000001000000010101010100010
+11000110000100110000000000000000
+01101000000000001100011110011100
+11000000000000000111111111101111
+01101000000000001100011111000100
+11000000000000001111111111101111
+01101000000000010100001001001000
+00100100001110100111111111101111
+01101000000000001100100000000110
+00100100001110100111111111101111
+00100000001000000111111111110001
+11000110100100110000000000000000
+01101000000000001100110100111001
+11000000000000001000000010101110
+00100000010000000000000101000101
+00100100001101000000000011001010
+00100000010000000000000100101100
+00100000010000000000000101101001
+01101000000000001100110000001001
+11000001111111111000000000000000
+00100000010000000000011100011101
+00100000010000000000000010101010
+01101000000000001100101100100110
+11000000000000001000001111101010
+00100000010000000000000011010101
+00100100011101000000000000000000
+00100000010000000000001011000011
+01011000000000001110110001010100
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01011000000000010111011100000000
+01100000000000011100110000101000
+01110000010010110110010000010100
+00100000011000000000000000000000
+00100000010000000000001010001110
+00100100011101000000000000000000
+00100000010000000000000011000100
+01101000000000010100110100111010
+00011111111000001111111000000001
+01100000000000010100110100111010
+01101000000010010100110100111100
+10011000010001100111110000000000
+00100000010000101000000010111000
+00100000001000000000000010011001
+01110000010011010011100100000000
+01011000000000000000000000000000
+01100000000000010100110100111010
+01011000000000000000000001100100
+01100000000000010100110100111100
+01110000010011000011010000000000
+01101000000000001100110000011111
+01100000000000001100110000011110
+00100000011000000000000000000000
+01101000000000001100110000100000
+01100000000000001100110000011110
+00100000011000000000000000000000
+01101000000000001100110000110100
+00011111111000001111111000000001
+01100000000000001100110000110100
+11000000000000100000000011000001
+11000000000000101000000010111101
+00100000011000000000000000000000
+01101000000000001100110000100101
+00100000010110100000000011011110
+01101000000000001100011011001111
+00011111111001100111110000001010
+00100000011000010000000000000000
+00100000010000000000000011010101
+00100100011101000000000000000000
+01101000000000011100110000101000
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01111000001101000111110000000000
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000001110100111111111101001
+01101000000000001100000010010001
+00100000001110100111111111101001
+01101000000000001100110100111001
+11000000000000001111111111101001
+00100000001000000000001011000110
+01110000010011000010010100000001
+01110000010011010010111000000000
+00100000010000000000000011110001
+01100000000000001100101110010101
+01011000000000000000000000000000
+01100000000000111100101110010110
+01101000000000100100110000110000
+01100000000000100100101110011101
+01110000010010111111100100001100
+01101000000000001100101111111010
+01111001001000000111111000000011
+01100000000000001100101111111010
+00100000010000000000000101001000
+00100000001000000000000010011100
+01101000000000100100000010100000
+01100000000000100100110000110000
+00100000011000000000000000000000
+01110000010011010010111100000001
+01110000010011010011000100000000
+01101000000000001100101111111010
+00011111111000010111111000000111
+01100000000000001100101111111010
+00100000011000000000000000000000
+01101000000000001100101111111010
+01111001001000000111111000000100
+01100000000000001100101111111010
+01100000000000001100101110110101
+00100000011000000000000000000000
+01101000000000001100101111111010
+01111001001111111111111000000100
+01100000000000001100101111111010
+01100000000000001100101110110101
+00100000010000000000011100010011
+00100000010000000000001000000110
+00100000011000000000000000000000
+00100000010000000000011100010011
+01101000000000001100110100110000
+11000000000000001000000100000110
+11000000000000010000000100001010
+00100000011000000000000000000000
+01110000010011010011000100000010
+01110000010011010010110100000000
+01110000010011010010111100000000
+00100000001000000000000011110001
+01110000010011010010111000000000
+00100000001000000000000100000111
+01101000000000010100101111111111
+00011111111000001111111000000001
+01100000000000010100101111111111
+11000010100001010000000110100111
+01101000000000001100110100101110
+11000000000000001000000100010101
+01110000010011010010111000000001
+01101000000000001100110100101110
+11000000100000001000000011110001
+01101000000000001100110100101100
+00011111111000001111111000000001
+01100000000000001100110100101100
+11000000000000100000000100011100
+00100000010000000000001000000110
+01110000010011000011111000000010
+00100000001000000000000101101001
+00100000010000000000011100010011
+01110000010011010010110000000000
+00100000001000000000000011110001
+01110000010011010011000100000010
+01110000010011010010111100000001
+01110000010011010010111000000000
+00100000001000000000000011110001
+01101000000000001100110100110000
+11000000000000011000000100100000
+01101000000000001100101111111010
+00101111111011000000000000000100
+00100000001000001000000011101111
+01101000000000001100110100110000
+11000000000000001000000100011111
+11000000000000010000000100100000
+00100000011000000000000000000000
+01101000000000001100110000001001
+11000001111111111000000000000000
+00100000010000000000000100110001
+00100100010101100000000100111001
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101000000000001100110100101111
+11000001100000001000000000000000
+01101000000000001100110100110001
+11000001100000000000000000000000
+01110000010011010011000000000001
+01110000010011000011111000000100
+00100000001000000111111111101011
+01101000000000001100110100110001
+00100000001110100000000101000000
+00011111111000001111111111111111
+01100000000000001100110100110001
+01110000010011010011000000000010
+01110000010011000011111000000100
+00100000001000000000001000000110
+01110000010011010011000000000011
+01101000000000001100110100101110
+00100100001110100000000100010011
+01110000010011000011111000000010
+00100000001000000000001000000110
+01101000000000001100110000001001
+11000000111111111000000110111111
+00100000010000000000000101001011
+00100000010000000000000111110100
+01110000010010111111111000000001
+00100000011000000000000000000000
+01101000000000010100110100101010
+00100000010000000111111110011100
+00100000001101000000000101010001
+01101000000000111100101110010110
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000000010010100000
+00100000010000000000001100100101
+01110000010011000010010100000000
+00011010001000001111111000000001
+01100000000000001100101111111001
+00100000010000000000000011110001
+01100000000000001100101110010101
+11101000101010001000000000000000
+11101010010000001000000000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11101010010000100000000000000000
+11100000101000100000000000000000
+00011010010000001010010000000100
+11011000101000000100101110011011
+11011111001000000000000000000010
+11101010010000001000000000000000
+11101000101010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11000010000000000000000101100010
+00100000011000000000000000000000
+01110000010011000000001000000000
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000010000000000000110001011
+01101000000000001100110000110101
+11000001000000001000000000000000
+00100100001011000000000110011010
+00100100001101111000000110011010
+00100000010000000000000110000011
+00100000010000000000000110111000
+00100000010000000000011100001111
+01110000010010110101011000000000
+01101000000000001100101111111000
+00011111111000001111111000000001
+01100000000000001100101111111000
+00100000010000000000000110000110
+01101000000000001100110000001001
+11000000111111111000000110001001
+00100000010000000000000100100011
+01011000000000000000000000000000
+01100000000000010100101111111111
+01100000000000001100110000000001
+01100000000000001100110100101101
+01100000000000001100101101011101
+01110000010010111111111000000000
+00100000011000000000000000000000
+11011111001000000000000000000100
+11011000101000000100101110010101
+00100000001000000111111011000110
+01101000000000001100101111111010
+11000010100000100000000011111010
+00100000011000000000000000000000
+00100000010000000000011100001100
+00100000001000000000000111000001
+01111000010101111111110000000000
+00100000010000000000001001101101
+01101000000000001100110000110101
+11000000000000001000000110011000
+00011000000000000010101000000000
+01101000000000100100110000100001
+10011000000000000001001000000000
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000000001000101001
+00100000010101111000001001100101
+00100000011000000000000000000000
+00100000010000000000001001100101
+00100000001000000000000101110100
+01101000000000001100110000100101
+00100100011110100000000000000000
+01101000000000010100101111111111
+00011111111000001111111000000001
+01100000000000010100101111111111
+01101000000000001100110000000000
+11000010100000100000000110101001
+01101000000000001100110000001001
+11000000111111111000000110100101
+00100000010000000000000110101110
+00100000001000000000000101101010
+01101000000000001100101111111111
+11000001111111111000000000000000
+01011000000000000000000000000000
+01100000000000010100101111111111
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000000011101000000
+00100000010000000000011100010011
+00100000001000000000001000000110
+01101000000000001100110000000010
+00011111111001100111110000001011
+00100100001000010000000110101011
+00011111111000001111111000000001
+01100000000000001100110000000010
+11000000000000010000000011110101
+11000000000000110000000011111010
+11000000000001000000000011110101
+11000000000001100000000011111010
+00100000011000000000000000000000
+00100000010000000000000111011001
+01101000000000001100101111110111
+00100000011110100000000000000000
+10011000000000000111001000000000
+11011000110000000100101101110101
+11011000101000000100101111010111
+00100000001000000111111100000001
+01110000000100011100010110010000
+00100000001000000000011101111010
+01110000000100011100010110010001
+00100000001000000000011101111010
+01110000000100011100010101100000
+00100000001000000000011101111010
+01110000000100011100010101110000
+00100000001000000000011101111010
+01110000000100011001111011111111
+01101000000000001100101111111010
+01100000000000001001000110011111
+01101000000000100100110000110000
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000010000000000000111010100
+00100000001000000000000111110100
+01111001001111111000000000100110
+00100000010000000101001111001110
+11011000111000000000000000000011
+00100000001000000100001111010010
+01100000000010001100101111111001
+00011000010000100111001000000000
+11011000101000000100101110010101
+00011010001000100000110000000000
+00100000001000000111111100000001
+01101000000000001100101101110100
+00011111111010010111111000000000
+01100000000000001100101111110111
+00011111111000001111111000000001
+11011000110000000100101101110100
+10011000110000001000110000000000
+11101000110000011000000000000000
+01100000000000011100110000110110
+01101000000000001100101101110100
+00011111111000110111111000000000
+00011111111000010111111000000011
+01100000000000001100110000111100
+00100000011000000000000000000000
+01100000000000100100110000100001
+11011010001000000000000000000000
+11011111001000000000000000000100
+11011000110000000100110000100001
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000000000111101010
+00011010001000100111111000000000
+01100000000000010100110010101010
+01101000000000001100110010101010
+01101000000010001100110010101011
+10011000010000001111111000000000
+01100000000000001100110010101100
+00100000011000000000000000000000
+01101000000000001100101111111001
+00011111111000001111111000000010
+01100000000000001100101111111011
+01101000000000001100101111111010
+01100000000000001100101110110101
+01101000000000001100101111111001
+00011111111010011111111000000000
+01101000000010001100101111111000
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+01101000000010001100110000110101
+10011000010000001111111000000000
+11100000101000001000000000000000
+01101000000000001100101111111001
+10011000000000000111001000000000
+11011000110000000100101110010101
+00100000001000000111111100000001
+01101000000010001100110000000100
+00100000010000000000001000001010
+01100000000010001100110000000100
+00100000011000000000000000000000
+00100000010000000000001000001110
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+01101000000000001100110000100001
+00011111111000010111111000000011
+00011111111011111010001000000100
+01011000000000000100110000001010
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+01100000000000001100110000000011
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+01101000000000001100110000000011
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111000100
+01101000000000100100110000100001
+10011000000000000001001000000000
+00100000010000000010100100011000
+01101000000010001100110000000011
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000010000000010100100100100
+00100000010000000000001000010111
+01111000010101111111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+01111000001010000111110000000000
+01101000000000010100101111111100
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000000001001101001
+01111000010001101111110000000000
+01111000001001011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+00100000010000000000001001100010
+01100000000000001100110010101101
+01101000000010001100110010101100
+10011000010001100111110000000000
+00100100001000101000001001100101
+00100000010000000000001001100010
+01100000000000001100101101110011
+01101000000000001100110000111111
+00011111111001100111110000000010
+00100000001000101000001001000101
+01101000000000001100101101110011
+01101000000010001100101111111010
+10101000010000000000111000000000
+00100100001000001000001001100101
+00100000010000000000001001100010
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101000001001001101
+00100000010000000000001001100010
+11100000101000001000000000000000
+11000010000000000000001001001010
+00011000101000100010001000000000
+00100000010000000000001001100010
+01100000000000001100110100110100
+00011010001000100000101000000000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+01111000010001011111110000000000
+00100000001000110000001001100101
+01111000001101111111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000010000000010100100011000
+01101000000000001100110100110100
+00100000010000000000000001101011
+00100000011000000000000000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00100000011000000000000000000000
+01111000010011011111110000000000
+01111000010001011111110000000000
+00100000010000000010011001001101
+00100000011000000000000000000000
+00100000001000000000001001100101
+00100000010000000010100100011000
+01101000000010001100110000000011
+00100000001000000010100100110011
+00100000010000000101001111000100
+01101000000000100100110000100001
+10011000000000000001001000000000
+00100000010000000000001000010111
+00100000010000000000001001101010
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000010011101111110000000000
+01111000001011011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01101000000000001100110010101100
+00001000000000001000011000001000
+01101000000000001100101111111011
+10011000000000000111001000000000
+11011000110000000100101110110101
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000001010000011
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+01111000010011011111110000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000010100100110000011010
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01101000000000100100110000011010
+01101000000010001100110000011110
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01100000000000100100110000011010
+00100000001000000111111111100111
+00100000010000000010100110111011
+00100000011110100000000000000000
+01101000000010001100110010110011
+11011010001000000000110110011110
+00100000010000000000001010100100
+01100000000010001100110010110011
+00100000011000000000000000000000
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+00100000011000000000000000000000
+11011000010000000000000000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000000001010101110
+00011000010010010111111000000000
+00011111111000100000010000000000
+11000110100100110000000000000000
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+11000110000100110000000000000000
+00100000010000000000001111101110
+00100000010000000000001011000110
+01101000000000001100000001000000
+11000011000000000000001011000011
+01101000000000001000000010100000
+00100100011110100000000000000000
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000011000000000000000000000
+00100000010000000000001011011100
+00100000010000000000001011000011
+00100000010000000011111010111111
+00100000010000000000001100110110
+01101000000100100000000001110000
+01101000000110100000000001111000
+10011000010000011000010000000000
+00011000010001000000010000000000
+01100000000110100000000001111100
+01101000000100001000000001111100
+01111001001111111111111000000110
+01100000000100001000000001111100
+01101000000100001000000001111100
+01111001001000000111111000000101
+01100000000100001000000001111100
+01101000000100001000000001111101
+01111001001111111111111000000010
+01100000000100001000000001111101
+01101000000100001000000001111110
+01111001001111111111111000000110
+01100000000100001000000001111110
+00100000011000000000000000000000
+01101000000000001100101011111110
+00100000011110100000000000000000
+00100000001000000011110110000000
+00100000010000000010100101101100
+00100000010000000011010000010110
+00100000010000000111010010111001
+00100000001101011000001011110101
+00100000010000000000000000000001
+11011000010000000000001001011000
+01101000000000010100011010101010
+10011000010001100000010000000000
+01100000000010010100101101011001
+00100000010000000000001011110110
+01110000010010110101000000011001
+00100000010000000000010100011000
+00100000010000000000010011111011
+11011010001000000100011100100001
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101000001110101111
+01101000000000001100001000010000
+11000000000110011000001011111001
+11000000000110100000001011111101
+00100000011000000000000000000000
+00100000001000000000001100010000
+01101000000000001100110010110000
+01100000000000001100000111011110
+00100000011000000000000000000000
+01110000010010110101010100000001
+01101000000000110100000111010000
+00100000001110100011001111101011
+00100000001000000100001001110100
+01110000010001111001111100000001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000011010000011000
+00100000010000000000001100000111
+01011000000000000000000000000100
+11100000110000001000000000000000
+11011000110000000100001110010000
+00100000010000000000010110011101
+00100000001000000111110111110100
+11011010001000000100001101110000
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000110000001010001000000000
+11101000110000001000000000000000
+11000001000000001000000000000000
+00100000001000000000001100001000
+01110000000100011100010101100001
+00100000001000000000011101111010
+01110000010000100001001001110110
+00100000001000000011110100110110
+00100000010000000000001100010000
+00100000010000000100000011000000
+00100000010000000100000011011001
+11000000000110001000001100011101
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000000001100010100
+01110000010010101111111000000001
+00100000010000000110010000001111
+00100000010000000000001100010010
+00100000001000000110010000010001
+00100000010000000000001100101010
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01110000010000010111001000000000
+01110000010010110110001100011110
+00100000011000000000000000000000
+01101000000000001100101101100010
+11000001100000001000000000000000
+01011000000000000000000000000000
+01100000000000001100101101100010
+01100000000000100100011010011011
+00100000010000000000001100010000
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000010111011100000
+01101000000000001100011101111010
+11000000011111111011110101100110
+00100000001000000011110110000000
+00100000010000000000001100010000
+01011000000000000000100000000110
+00100000001000000110010000010011
+01110000000100011100010110000000
+00100000001000000000011101111010
+01101000000010001100101101000011
+00100000001000000110100000100101
+01110000100000001000011001000000
+01110000100000001000011100000000
+01101000000100001000000010000001
+01111001001111111111111000000000
+01111001001111111111111000000001
+01111001001000000111111000000011
+01111001001111111111111000000100
+01100000000100001000000010000001
+01011000000000000000000000000000
+01100000000000100000000111110101
+01101000000100001000000001111111
+01111001001111111111111000000000
+01100000000100001000000001111111
+00100000011000000000000000000000
+00100000010000000000001110100110
+00100000010000000100010000100011
+01101000000000010100011101111000
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000001000101000001110000011
+01100000000010010100011101111000
+00100000010000000100010000011100
+01101000000000001100011011100001
+01100000000000001100011101111010
+01101000000000100100101101010001
+01100000000000100100011101111011
+01100000000000100100110000100001
+00100000010000000000001110010111
+00100000010000000000001110100110
+00100000010000000000001101100010
+00100000010000000000001101111010
+00100000010000000000001101100110
+00100000010000000000001101110001
+11011000010000000000000000000010
+11011010001000000100011111000010
+11011010010000000000000001011111
+01101000000000011100011100000000
+10011010010000001111111000000000
+00100000010000000000001101100110
+00100000010000000000001101110001
+00100000010000000000001110011101
+00100000001000000000001100010000
+01101000000000011100011100000000
+01100000000000011100001000110010
+00100000010000000110010100101010
+00100000001000000000001101110001
+00011111111000100010011000000000
+00011010001000100111111000000000
+00011111111000001111111111111100
+00011111111000100010010000000000
+11101010010000100000000000000000
+01100000000000100100101101001100
+00011010011000100111111000000000
+00100000010000000110010101010010
+01101000000000100100101101001100
+11100010010000100000000000000000
+00100000011000000000000000000000
+01011000000000011000011010100000
+00100000010000000010101010001111
+00100000010000000110010100001011
+01011000000000000000000111111010
+01100000000100010000000010001100
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000010100000000000001101110001
+00100000011000000000000000000000
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+11011010001000000100011100100000
+00100000011000000000000000000000
+00100000010000000000001110100110
+00100000010000000000001101111010
+00100000001000000110010101100010
+00100000010000000000001110000000
+00100000010000000000001110101000
+00100000010000000100001100011010
+01101000000000100100011101111011
+01100000000000100100110000100001
+11011111001000000000000000000011
+11011000110000000100011100100010
+00100000010000000000001110001110
+00100100001101000000001110010101
+00100000010000000000001110010111
+00100000011000000000000000000000
+00100000010000000111111111100111
+01011000000000001111111111111111
+11101000110010010000000000000000
+10011000010001100111110000000000
+00100100010000101111111111101001
+11000010000000000000001110010000
+00100000011000000000000000000000
+01110000010010110110000101011010
+00100000011000000000000000000000
+01110000010010110110000111111111
+01110000010000100001000000110100
+01011000000011110000111100001111
+01100000000000011100010010100000
+01100000000000011100010010100011
+00100000011000000000000000000000
+01110000000010101010001010111001
+00100000010000000000001100111000
+00100000000000000000000001100100
+00100000010000000110010100001011
+11011010001000000100101101001100
+01101000000010001000101010100010
+00100000010000000110010101010110
+00100000000000000000000001100100
+00100000011000000000000000000000
+01110000000010101010001010101011
+00100000001000000000001110011110
+00100000010000000000001110100110
+11011000010000000000000000000010
+11011010001000000100011111000010
+11011010010000000000000001011111
+01101000000000011100011100000000
+10011010010000001111111000000000
+00100000001000000110010101100010
+01011000000000000000000000000000
+01100000000000010100110000100110
+00100000001000000000000111000011
+01101000000000001100011100100000
+11000001100000010000000000000000
+01101000000000001100101101011101
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100101101011101
+00100000001110100011010000001010
+00011111111000010111111000001111
+11000000000000101000001111010100
+11000000000001010000001111010001
+00100000011000000000000000000000
+01101000000000001100011010101100
+00100000011110100000000000000000
+01101000000000001100101101011100
+00011111111000001111111000000001
+01100000000000001100101101011100
+11000000000000101000001111100001
+11000000000001010000001111011100
+00100000011000000000000000000000
+01101000000000001100101101010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100101101010000
+01101000000000001100011100100000
+11000000000000010000001111001110
+01101000000000001100101101010000
+11000010100000001000001111011101
+00100000001000000000001111100001
+01101000000000001100101101010000
+11000010100000001000001111010100
+00100000001000000000001111010001
+01110000010010110100100100000000
+01101000000010001100101101001010
+00100000001000000000010110000100
+01110000010010110100100100000001
+01101000000100001000000001111100
+01111001001111111111111000000101
+01100000000100001000000001111100
+01101000000010001100101101001010
+00100000010000000110100000001110
+01101000000010001100101101001010
+00100000001000000110100000100101
+01110000010010110101110000000000
+01101000000010001100101101001011
+00100000010000000110100000001110
+01101000000010001100101101001011
+00100000001000000110100000101001
+01101000000010001100101101001011
+00100000001000000000010110001111
+00100000010000000000001111100001
+00100000001000000000001111010001
+01110000010010110101000000000000
+00100000011000000000000000000000
+00100000010000000100010000000001
+01101000000000010100011010011111
+00100000011110100000000000000000
+01110000010011010011100100000001
+01011000000000000000000000000000
+01100000000000010100110100111010
+00100000011000000000000000000000
+11011000110000000001100000000000
+11011000101000000100100000001010
+00100000010000000000001111110110
+11011000110000000001100100000000
+00100000010000000000001111110110
+11011000110000000001101000000000
+00100000010000000000001111110110
+11011000110000000001101100000000
+11011111001000000000000000011011
+00100000001000000111111100000001
+11011000110000000100100000001010
+11011000101000000001100000000000
+00100000010000000000001111110110
+11011000101000000001100100000000
+00100000010000000000001111110110
+11011000101000000001101000000000
+00100000010000000000001111110110
+11011000101000000001101100000000
+00100000001000000000001111110110
+00100000010000000101100010010010
+00100100011110100000000000000000
+01101000000000001100101101100001
+11000000011111111000010000001000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000001100011110011100
+00100000010110100000010001010101
+01101000000000100100011011010011
+11000010100000101100000101111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000010000000000001100100010
+00100000010000000000001100100101
+00100000010000000000010000101011
+11011010001000000100011010011010
+00100000010000000111111000111101
+00100000010101000000010000011010
+00100000011000000000000000000000
+01110000010001111010000000000111
+01110000010001111010000100000100
+01011000000000000100011110100000
+01100000000000010100001000011000
+00100000001000000111111000111000
+01101000000000001100011111000001
+00011111111000001111111000000001
+01100000000000001100011111000001
+00100000011000000000000000000000
+11011010001000000100011010011010
+00100000010000000111111001010100
+00100000001101000000010000100010
+00100000011000000000000000000000
+00100000010000000101011001010010
+01101000000000001100011111000001
+00011111111001100111110000000001
+00100100010000010101011001010000
+01101000000000001100011111000001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011111000001
+00100000001000000011111110010000
+01101000000000010100011010011111
+00100000011110100000000000000000
+01110000010010000000011000000001
+01110000010010000000011100000010
+00100000011000000000000000000000
+00100000011101110000000000000000
+01101000000000001100000111100010
+00100000011110100000000000000000
+00100000010000000101001001110001
+00100100011110100000000000000000
+01101000000000001100011110011100
+00100000010110100000010001010101
+01101000000000100100011011010011
+11000010100000101011111110001010
+11000010100001001011111110001010
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000010000000000001100100010
+00100000010000000000001100100101
+00100000010000000000010000101011
+01101000000000001100101100000011
+11000000000000001000010001000100
+01101000000000001100101100001010
+00100000011110100000000000000000
+00100000001000000011111110000001
+01101000000000001100011010011010
+01100000000000001100101100000100
+01101000000000001100011010011011
+11100000101000001000000000000000
+01101000000000001100011010011101
+11100000101000001000000000000000
+01101000000000010100011010011111
+11100000101000010000000000000000
+11011010001000000000000000000111
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000001010100001
+11100000101000010000000000000000
+01101000000000101100101100000100
+11100000101000101000000000000000
+00100000011000000000000000000000
+01110000010001111001110000000001
+00100000010000000101100000010100
+00100000001000000000001100011001
+00100000010000000111111000110100
+00100000010000000000010001011011
+00100000001000000011111011100000
+01101000000010001100011011100111
+00100000010000000000010110000110
+00100000010000000000010001100000
+01101000000010001100011011100111
+00100000001000000000010110001111
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100000001000001011110101100010
+01101000000000001100011010110110
+11000001000000000000000000000000
+01110000010001101011011000000000
+01101000000000001100011101111010
+00011111111000001111111000000001
+00011111111001100111110000000011
+00100100010000010111111111101111
+01100000000000001100011101111010
+00100000010000000011110101111110
+00100000001000000000001101010100
+00011010011000100111111000000000
+11000000000010100000010001111110
+11000000000010101000010010000001
+11000000000101001000010010000100
+11000000000110010000010010000110
+11000000001000000000010010001000
+11000000000000100000010010001010
+11000000000010011000010010001010
+11000000000011001011001111011111
+11000000000100001000010010001110
+11000000000000001000010010010000
+11000000000000010000010010010011
+11000000000101011000010010010110
+11000000000111001000010010011000
+11000000000111010000010010011011
+11000000000111100000010010011111
+00100000001000000100000101111101
+00100000010000000000001100011001
+01110000000100011100010110110000
+00100000001000000000011101111010
+00100000010000000000010010100100
+01110000000100011100010110100010
+00100000001000000000011101111010
+01110000000010101001100100010010
+00100000001000000111110110001111
+01110000000100011100010110110011
+00100000001000000000011101111010
+01110000000100011100010110100001
+00100000001000000000011101111010
+01110000000100011100010110100011
+00100000001000000000011101111010
+00100000010000000100001110001110
+00100000001000000011001110100111
+01110000000100011100010110110001
+00100000001000000000011101111010
+01110000010010000000100100000000
+00100000010000000000001100011001
+00100000001000000100001011001010
+00100000010000000000010010100100
+01110000000100011100010110110100
+00100000001000000000011101111010
+01110000000100011100010110110010
+00100000001000000000011101111010
+00100000010000000000001100011001
+01110000000100011100010110010010
+00100000001000000000011101111010
+00100000010000000000010010100100
+01110000010010110101011000000000
+01110000000100011100010101010001
+00100000001000000000011101111010
+00100000010000000000001100011001
+00100000001000000011111110001101
+00100000010000000000010010100100
+01110000000100011100010110100100
+00100000001000000000011101111010
+01101000000000001100101011111110
+00100000011110100000000000000000
+01110000010010101111111000000000
+00100000001000000000001100110001
+00100000010000000000010100011000
+00100000010000000000010010111000
+00100000010000000000010011010111
+00100000010000000000010011111011
+00100000010000000100001000110100
+00100000010000000100001000111010
+00100000010000000000010011011100
+00100000010000000000010011100010
+00100000010000000100001000110111
+00100000010000000000010011010100
+00100000010000000000010011001100
+00100000010000000100001000110001
+00100000010000000000010011001111
+00100000010000000000001110111101
+00100000010000000000001110110010
+00100000001000000000001111000101
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000001100011010101110
+00100100001110100000001111010001
+01101000000000001100011010101100
+00100100001110100000001111010001
+01101000000000001100101101010000
+00100100001110100000001111010001
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
+00011111111001100111110000010100
+00100100010000010000010011001010
+11000000000000010000001111010100
+11000000000000100000001111010001
+11000000000000110000001111010100
+11000000000001000000001111010001
+00100000011000000000000000000000
+01110000010001101100111100000001
+00100000001000000000001111010001
+11011010011000000100100000001001
+11011010010000000110001101111010
+00100000001000000011001101101101
+11011010011000000100101100001001
+11011010010000000000010011010010
+00100000001000000011001101101101
+01110000010010110000101000000001
+00100000011000000000000000000000
+11011010011000000100011011000110
+11011010010000000011110101100000
+00100000001000000011001101101101
+11011010011000000100100000000111
+11011010010000000000010011011010
+00100000001000000011001101101101
+01110000010010000000011000000000
+00100000011000000000000000000000
+11011010011000000100101101100011
+11011010010000000000010011011111
+00100000001000000011001101101101
+01101000000000001100011111000101
+01100000000000001100000101110010
+00100000001000000000010011100111
+11011010011000000100101101100100
+11011010010000000000010011100101
+00100000001000000011001101101101
+01011000000011101010011000000000
+01100000000000011100110000101000
+01110000010010110110001000000001
+00100000011000000000000000000000
+11011010011000000100101101000100
+11011010010000000000010011101100
+00100000001000000011001101101101
+01101000000010001100011100100000
+01101000000000001100011100000011
+10011000010001100111110000000000
+00100000011000101000000000000000
+01101000000000010100011010000010
+00101111111011111111111000001011
+00100000010000001100001011010100
+01101000000000010100011010000010
+00101111111011111111111000000111
+00100000010000001100001110010010
+00100000001000000100001110111000
+01110000010010110110000000000001
+00100000011000000000000000000000
+01110000010010110110000000000000
+00100000011000000000000000000000
+01101000000000001100101101100000
+00100000001110100000010100000111
+00100000010000000000010011101001
+01101000000000001100011011011001
+11000001000000000000000000000000
+01101000000000010100011010101000
+01100000000000010100011010101110
+00011000000000000000111000000011
+01101000000000010100000010111001
+00100000010000000111111100001000
+01110000010001101101100100000000
+00100000011000000000000000000000
+01101000000000001100011011011001
+11000001000000001000000000000000
+01101000000000001100011010000101
+01100000000000001100101101000100
+01110000010001101101100100000001
+00100000011000000000000000000000
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000000001101010100
+01101000000000100100011011010011
+11000001000001001000000000000000
+00100000001000000100001101111110
+01101000000000001100011011001110
+00011111111000001111111000000001
+01100000000000001100011011001110
+00011111111001100111110000001010
+00100000010000010000010100101010
+00100100010000010000010100101110
+00100000010000000110100010101000
+00100000010000000000010101001101
+00100000010000000110100100001000
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000000010101010111
+01101000000000001100001000110001
+11000010100000010000010011110111
+11000010100000001011010000001010
+11000011000000000000010101000101
+01110000010010101111110100000001
+00100000001000000100001111100111
+01101000000000001100101101001001
+00100100001110100000010100101110
+01110000010000100010110100000010
+00100000011000000000000000000000
+01110000010001101100111000000000
+01110000010000100010110100000000
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000010000010100110100
+00100000001000000110100100001010
+01101000000000010100001000100011
+01101000000010010100001000011101
+11011010011000000000000000110010
+00100000001000000000010100111000
+10011000010001100010001000000000
+01101000000000010100001000101111
+10011000010001100111111000000000
+00100100001000010000010100111101
+00100000001000000110100100011110
+00011000010000100111111000000000
+01101000000010010100001000101111
+10011000010001100111111000000000
+10011010001001100111110000000000
+00100000010000010000010101000011
+00100000001000000110100100101010
+00011010001000100111111000000000
+00100000011000000000000000000000
+00100000010000000100001111101001
+01110000010001101100111100001100
+01101000000000001100101011111101
+00100000011110100000000000000000
+01110000010010101111110100000000
+01101000000000001100011011101111
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100001000101101
+11000000000000010000010101010000
+00100000001000000110100011101100
+01101000000100001000000001111100
+01111001001111111111111000000101
+01100000000100001000000001111100
+01110000100010010111000110001111
+01101000000000001100001000101110
+01100000000100001000100101110011
+00100000001000000110100011111000
+11101010001001000000000000000000
+01100000000001000000101010011010
+01101000000000001100001000101101
+11000000000000010000010101101000
+11000000000000000000010101011100
+01101000000000010000101010100000
+01101000000010010000101010011100
+10011000010001100111110000000000
+00100100001000010110100101000100
+00100000010000000000010101101110
+01101000000010010000101010011110
+10011000010001100111110000000000
+00100100001000010110100101000000
+01101000000000001100001000110001
+01111001001111111111111000000000
+01100000000000001100001000110001
+00100000011000000000000000000000
+01101000000010010100101101011110
+01101000000000010000101010100000
+10011000010001100111110000000000
+00100100001000010000010101110010
+00100000010000000000010011111001
+00100000001000000000010101110110
+01101000000010001100001000110001
+01111001001111111000010000000001
+01100000000010001100001000110001
+00100000011000000000000000000000
+01101000000010001100001000110001
+01111001001000000000010000000010
+01100000000010001100001000110001
+00100000011000000000000000000000
+01101000000010001100001000110001
+01111001001111111000010000000010
+01100000000010001100001000110001
+00100000011000000000000000000000
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000011111110110101
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000100000010011001
+00100100001101000000011110011011
+00100000010000000000011110011110
+00100000001000000011111110100000
+01111001001111111000010000000111
+00100000001000000110100000000110
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+00100000001000000000010110001010
+01110000010010110101000000000000
+00101000000011111111111000100110
+00100000010000001000000111010000
+00100000001000000100001001101101
+01110000000100011100010110000001
+00100000001000000000011101111010
+01110000010010110101110000000000
+01110000000100011100010101010000
+00100000001000000000011101111010
+11011000101000000100001101111011
+11011111001000000000000000010011
+00100000010000000111111100000001
+00100000001000000101011110111000
+01011000000000000000000000000000
+01100000000000010100011010101100
+01100000000000001100101101011011
+01100000000000001100011100010100
+01100000000000001100101101011100
+01110000010010110100011100000101
+00100000010000000000001111100001
+00100000010000000000001100101010
+00100000001000000100001011001011
+01101000000000001100010100001111
+00011111111000001111111000000001
+01100000000000001100010100001111
+11000000000001100101001110010101
+00100000010000000101010110101010
+00100000010000000101011000011110
+00100000010000000000011100011101
+00100000001000000101001110001111
+01101000000000001000000000010110
+00011111111000001111111000000001
+01100000000000001000000000010110
+11000001100101000000000000000000
+01110000000000000001011000100101
+00100000011000000000000000000000
+00100000010000000010100110111011
+00100000010000000000000001101011
+00100000001000000101010010100011
+01110000000100011100010101000000
+00100000001000000000011101111010
+01110000000100011100010101000001
+00100000001000000000011101111010
+01101000000000001000010001010110
+11000010100000101000010111010011
+00100000010000000000011100001111
+01101000000000001100011110001110
+00100100001110100000010111001001
+01101000000000001000010000111111
+11000011000000100000010111001101
+01101000000000001000001011011010
+00100000001110100000010111001101
+00100000001000000101011001100100
+01101000000000001100011110001110
+00011111111000001111111111111111
+01100000000000001100011110001110
+00100000001000000101011001100100
+01101000000000001100010011000100
+11000000100000101000010111010000
+01110000010001111000111000000011
+00100000010000000101100010010010
+00100000010110100000010000011110
+00100000001000000101011000100010
+00100000010000000000010111010101
+00100000001000000000010111100001
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000001100011111000001
+00100000011110100000000000000000
+01101000000000001100001111011101
+00100000011110100000000000000000
+01101000000000001100001111011100
+01111001001000000111111000000100
+01100000000000001100001111011100
+00100000010000000101011001010000
+00100000011000000000000000000000
+00100000001000000000011100010011
+01101000000000001100011110011111
+00100000011110100000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001000000011000000000000000
+01110000010001101100011000000001
+00100000011000000000000000000000
+11000110000001111000000000000000
+00100000010000000101100010010000
+00100100011110100000000000000000
+01101000000000001000001011011001
+00011111111000010111111000000011
+01100000000000001100010100001100
+11101000110000001000000000000000
+00011111111000010111111000011111
+01100000000000001100010100001011
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100000000000010100010100001101
+01101000000000001100010100001100
+11000000000000011000010111111000
+00100000001000000101011010001101
+01101000000000001000001011011011
+11000000000000001000010111111011
+00100000001000000101110001100101
+11101000110000101000000000000000
+01100000000000101100001111001110
+11101000110000010000000000000000
+01100000000000010000010001011111
+00100000001000000101110010001010
+11101000110000010000000000000000
+11000000000000100000011000000100
+11000000000000110000011000110001
+00100000001000000101011010011000
+00100000010000000111111010100101
+00100000010000000000010111100010
+00100000010000000111111010011111
+11101000110000011000000000000000
+01100000000000011000010001110111
+11000000000010000000011000010011
+00011111111011001000010000000000
+00011000010001100111110000100100
+00100000001000010000011000100001
+11011000010000000100011111000110
+01100000000010010100010010111100
+00100000010000000101100010101101
+01011000000000001000111001111010
+01100000000000010100010010111100
+00100000011000000000000000000000
+00100000010000000101100111111010
+00100000010000000101100001111001
+00011000110000001000110000000111
+11101000110000001000000000000000
+11000001100010001000000000000000
+00011000110000001000110000000101
+11101000110000010000000000000000
+11011000010000000001100000010010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110111111100
+01011000000000000000000000101011
+11100000110000010000000000000000
+00100000011000000000000000000000
+11000000000001010000011000100011
+00100000001000000101100010101101
+01101000000010010000010001111000
+01101000000000001100010011101001
+11000010100000011000011000101010
+01101000000000010000010001111000
+11000000000010011101101001110110
+01101000000010010000010001111000
+00100000001000000101100110111111
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101000011000100110
+00100000010000000101101001000010
+00100100001101000000011000100110
+01110000000001000111101000000101
+00100000001000000101101001110111
+11101000110000001000000000000000
+11000000000000101000011000110100
+00100000001000000101101011110101
+01110000000100011100010110000010
+00100000001000000000011101111010
+01101000000000001000000000010110
+11000000100100111101011011110010
+00100000010000000000011000111100
+11011000111000000000000000000000
+01101000000000010100010010000010
+00100000001000000111111100001000
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000001000000011110010111110
+01111000010101011111110000000000
+00100000001101110000011001000100
+00100100001101101101100000000110
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000010001001101
+01101000000000001100011011000101
+00101111111000000000011000000011
+00100100001000001010101111011110
+00100000001000000101011111111011
+01101000000000001100011110011111
+00100100011110100000000000000000
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+00100000001000000011110101100000
+01101000000100001000000001110111
+00011111111000010111111011111101
+01100000000100001000000001110111
+01101000000110001000000001110011
+00011000010000011000010000000010
+01100000000110001000000001110011
+00100000010000000110001111101110
+00011000010000010000010011111101
+00100000000000000000000000001101
+00100000010000000000011001011110
+01100000000110001000000001110011
+00100000011000000000000000000000
+00100000010000000110010011011101
+01101000000100001000000010000001
+01111001001000000111111000000000
+01111001001111111111111000000001
+01111001001111111111111000000011
+01100000000100001000000010000001
+00100000011000000000000000000000
+01110000000100011100010100000000
+00100000001000000000011101111010
+00100000010000000010000111001001
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+01111001001111111000000000101101
+00100000010000000010101001001111
+00100000010000000010001011100110
+11000101000001011000011001110011
+00100000010000000010010001010101
+00100100001110100000011001101100
+11000101000101101000011001111011
+00100000001000000010000111101100
+00100000010000000010101001001101
+11011000001000000000000000010000
+00100000010000000010001011011100
+01111001001000000000000000101101
+01111001001111111000000000001011
+00011000000000000000100000000001
+01110000000000000001000100000010
+00100000001000000000011001101100
+01101000000000100000000101100101
+00011111111000001111111000001000
+01100000000000100000000101100101
+00100000001000000010000111111000
+11000101000101100010011001001101
+00100000001000000010010110001111
+00100000010000000011001110101111
+00100000010000000010011011101001
+01110000000010101001100100000010
+00100000010000000111110110000110
+00100000010000000101110011110111
+00100000010000000100110101101011
+00100000001000000010010001101110
+01101000000000001000000000110000
+00101111111011111111111000000000
+00100000010000001000011010001100
+00100000001000000010010010001010
+01101000000000001000000001000111
+00101111111011111111111000000011
+00100000010000001000011100010011
+00100100010000001000011100001111
+00100000001000000000011100011101
+00100000010000000010010011110000
+00100100001011000010100011111001
+00100000010000000010100110111011
+00100000010000000000000001101011
+00100000001000000010010100011000
+11000110000100110000000000000000
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+01101000000000001100011011001111
+00011111111001100111110000001010
+00100000011000010000000000000000
+01101000000000001100011001011010
+00100000001110100000011010100011
+01101000000000001100010110110001
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100100011110100000000000000000
+00100000010000000010110000111010
+00100100011110100000000000000000
+01101000000000001100000001000000
+00101111111000000000111000000011
+00100100001000001010101110011101
+01101000000000010100000001000010
+11011000010000001111111111111111
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010101101111101
+01111000010101011111110000000000
+01101000000000001000000000110000
+11000100000000001000000000000000
+00100100001101101010101111010000
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000000000111110
+01101000000000001000000001000111
+11000010100000011010101111011110
+11000101100001101010101111011110
+00100000010000000101001001110100
+00100100001110100010101111011110
+00100000010110100000011010111101
+00100000001000000010101110111110
+01110000000000001000101000000001
+01110000000000001000101100000000
+00100000011000000000000000000000
+01110000000100011100010100010000
+00100000001000000000011101111010
+01110000000100011100010100010001
+00100000001000000000011101111010
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000010011000011011001000
+00100000001000000101110110110100
+00100000010000000101110111001111
+01110000010010101111111100000001
+01101000000000001100101100000001
+00100000011110100000000000000000
+01110000010010110000000100000010
+00100000011000000000000000000000
+01110000000100011100010100100000
+00100000001000000000011101111010
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100000011011110010
+11000000000010000000011011010111
+00100000001000000110001100100000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001000011011011011
+00100000001000000110001101011111
+00100000011101001000000000000000
+01101000000000001000000101101101
+11000010100000000000011011011111
+00100000001000000110001110011001
+01101000000000001100101100000001
+11000000000000001110001110011101
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001100101100000000
+00100000011110100000000000000000
+01110000010010110000000000000000
+01101000000000100000010011101001
+11011000010000000000000000010100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100001000010000011011110000
+00100000001000000110001101001001
+01110000010010110000000000000001
+00100000011000000000000000000000
+01110000010010000000100100010100
+00100000001000000110001101101111
+00100000010000000110001010111100
+00100100001110100111110111011011
+01101000000000001000101010011001
+11000101100001001111110111010110
+11000000000011111000011011111111
+11000000000100000000011100000010
+11000000000010010000011011111100
+00100000001000000111110111001010
+00100000010000000101100010010000
+00100100011110100000000000000000
+00100000001000000101101010111111
+01110000000000011000010100110100
+01101000000000110000010001001111
+00100000001000000000011100000100
+01110000000000011000010100110011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01101000000000100100011011010011
+11000100000000111000000000000000
+11011000111000000000000000000111
+00100000010000000100001111010010
+00100000010000000100001011101000
+00100000010000000100001011111011
+00100000001000000000001101010100
+01110000010011010011010100000001
+01110000010011010011001000000000
+00100000011000000000000000000000
+01101000000000001100110100110010
+00011111111000001111111000000001
+01100000000000001100110100110010
+00100000011000000000000000000000
+01101000000000001100110100110010
+00011111111001100111110000000010
+00100100010000010000011100011011
+01101000000000001100110100110010
+11000001000000000000000000000000
+00011111111000001111111111111111
+01100000000000001100110100110010
+00100000011000000000000000000000
+01110000010011010011001000000011
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001011000000000000000
+11000011100000111000000000000000
+11000011100000110000000000000000
+11011010001000000100110010111011
+00100000010000000000001010101011
+01100000000010001100110100110011
+01011000000000000000000010000010
+11000101000100110000011100100111
+01011000000000000000000010000000
+10011000010001100111110000000000
+00100100001000010000011100111111
+01101000000000001100110100110010
+00011111111001100111110000000010
+00100100001000010000011100101111
+01101000000000001100110100110010
+11000000000000000000011101000000
+00100000011000000000000000000000
+01101000000000001100110100110010
+11000001100100000000000000000000
+01110000010011010011001000000000
+01101000000010001100110100110011
+01011000000000000000000001110111
+11000101000100110000011100110110
+01011000000000000000000001110101
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000001100110100110101
+11000000000000000000011101000111
+00011111111000001111111111111111
+01100000000000001100110100110101
+11000000000000000000011101000111
+01110000010000011101111000000000
+00100000011000000000000000000000
+01110000010011010011001000000000
+01101000000000001100110100110101
+11000000000000010000011101000101
+00011111111000001111111000000001
+01100000000000001100110100110101
+11000000000000001000011100111101
+01110000010000011101111000000010
+00100000011000000000000000000000
+01110000010000011101111000000100
+00100000011000000000000000000000
+01100000000010001000000000010111
+00011000010000001010001000000000
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111101
+01101000000000001100000111011110
+11000000000000010000011101100001
+11000000000000100000011101100110
+11000000000100000000011101110101
+00100000010000000000011101101011
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101100001101100
+00100000001000000010100101001011
+00100000010000000000011101110000
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101100000111100
+00100000001000000010100101010011
+00100000010000000000011101101011
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101100001101100
+00100000001000000010100101011011
+01110000100010010100110001011011
+01110000100010010100110110010110
+01110000100010010100111000101100
+01110000100010010100111101000110
+00100000011000000000000000000000
+01110000100010010100110011111011
+01110000100010010100110111101111
+01110000100010010100111011101100
+01110000100010010100111101011110
+00100000011000000000000000000000
+01110000100010010101011011000010
+01110000100010010101010111010000
+00100000011000000000000000000000
+00011000000000000010101000001000
+00100000001000000010100011111010
+01101000000010001001000111000101
+00011000010100011000010000000000
+01101000000000001100101101100101
+10011000010001100111110000000000
+00100000001000101000011110011001
+01100000000010001100101101100101
+00011000010000001000010000000001
+01011000000000000000000100000000
+10011000010011111000010000000000
+01101000000000011100101101100110
+10011000010001100111111000000000
+01101000000010011100101101101001
+10011000010000001111111000000000
+00011111111000001111111111111011
+01100000000000011100101101101100
+00100000010000000000001110100110
+01101000000000011100101101101100
+11011000010000000000000100000000
+11011010001000000001111100000000
+00100000010000000110010101100010
+01101000000000100001111100000000
+01101000000010100100101101101111
+10011000010001100111110000000000
+00100100001000101000011110001010
+00100000010000000000001100010000
+01011000000000000001111100000000
+01100000000000010100000110011001
+01110000010000011001101101000000
+00100000010000000110010011001010
+01011000000000000000000000000000
+01100000000000100100000110011001
+01101000000000001001000111000101
+00100000001000000000000000000001
+11011111001000000000000000000101
+11011000101000000100101100001011
+00100000001000000111111011010100
+01101000000000100100011010011011
+00100000011110100000000000000000
+00100000010000000000011111101111
+01011000000000000000000000000110
+00100000010000000000011111100010
+01011000000000000000000000000011
+00100000010000000000011111101000
+01101000000000001100101100001011
+11000000000000001000011110101000
+00100000001000000000011110011011
+01101000000000010100101100001100
+01100000000000010001000110111110
+01101000000000010100011010011011
+01100000000000010001000111000000
+00100000010000000000011110111011
+01101000000000010001000110111110
+01100000000000010100101100001100
+01101000000000010001000111000000
+01100000000000010100011010011011
+01101000000000010100101100001110
+01100000000000010001000110111110
+01101000000000010100011010011101
+01100000000000010001000111000000
+00100000010000000000011110111011
+01101000000000010001000110111110
+01100000000000010100101100001110
+01101000000000010001000111000000
+01100000000000010100011010011101
+00100000011000000000000000000000
+01101000000000010001000110111110
+01101000000010010001000111000000
+10011000010000001111111000000000
+01100000000000011001000111000010
+00101111111011111111111000010000
+00100000001000001000011111001000
+01101000000000001001000111000011
+11000000011111111000011111001111
+01101000000000001001000111000010
+00011111111000110111111000000000
+01100000000000010001000110111110
+01100000000000010001000111000000
+00100000011000000000000000000000
+01101000000000001001000111000011
+11000000000000000000011111001100
+01101000000000011001000111000010
+00100000001000000000011111000100
+01110000000100011100010000000000
+01101000000000001001000111000010
+00100000001000000000011111000100
+01101000000000001001000111000010
+00100000010000000000011111011010
+01100000000000001001000110111110
+01100000000000001001000111000000
+00100000001110100000011111011000
+01011000000000000000000011111111
+01100000000000001001000110111111
+01100000000000001001000111000001
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000001000000000011111010101
+00011111111001100111111000000000
+01100000000000001000101010101110
+01101000000000001000101010101110
+00011111111000110111111000000000
+01100000000000001000101010101110
+01101000000000001000101010101110
+00011111111001100111111000000000
+00100000011000000000000000000000
+10011010001001100111110000000000
+00100100001000010000011111101101
+10011010010001100111110000000000
+00100100001000010000011111101101
+01110000010010110000101100000000
+00100000011000000000000000000000
+10011010001001100111110000000000
+00100100011000010000000000000000
+10011010010001100111110000000000
+00100100011000010000000000000000
+00100000001000000000011111100110
+01110000010010110000101100000001
+00100000011000000000000000000000
+01101000000000010100011010011011
+01100000000000010001000111000000
+00100000010000000000011111111000
+00011111111000100010001000000000
+01101000000000010100011010011101
+01100000000000010001000111000000
+00100000010000000000011111111000
+00011111111000100010010000000000
+00100000011000000000000000000000
+01101000000000001001000111000001
+11000000011111111000011111111101
+01101000000000001001000111000000
+00011111111000010111111011111111
+00100000011000000000000000000000
+01101000000000010001000111000000
+00011111111001100111111000000000
+00100000001000000000011111111011
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+00100000010000000010101010111100
+01000100100000000100000000000000
+00100000100000000000000000000000
+00100000010000000110010000001101
+00100000010000000010100101101100
+00100000010000000110010110100011
+00100000010000000010101010010110
+00100000010000000100110101101010
+01000100100000001100000000000000
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100000010000000111110011001100
+00100000010000000011001011011000
+00100100010101011110100010011100
+01000100100000010100000000000000
+00100000010101011011001011100011
+00100000010000000111010101101010
+00100000010101011010101101000001
+01000100100000011100000000000000
+00100000010000000111011011011100
+00100000010000000111101010101111
+00100000010000000111010101101101
+00100000010000000101001101011100
+01000100100000100100000000000000
+00100000010000000010000000111000
+00100000010000000011001011101101
+00100000010000000010000010001111
+00100000010000000010001011111000
+00100000010000000010001101101010
+00100000010000000010000000100001
+00100000010000000010101101101010
+00100000010000000010110001110010
+00100000001000000010000000010010
+00100000010000000010000000100110
+11000110100001001000000000000000
+01111001001111111000000000001001
+00100000010000000010001000100011
+00100000001000000101001111001110
+01000100100000101100000000000000
+00100000010000000010001001011110
+00100100001000101010000000101111
+00100000010000000010001000001010
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000101001101100000
+11000010100000001010000101100110
+00100000001000000010001111001111
+00100000010000000010001000101011
+00011111001000100111110000000000
+00100000011000101000000000000000
+00100000010000000010001000001010
+01101000000000001000000000110000
+11000010100000011010000011010011
+01101000000000001000000000110001
+11000010100000001010000101100110
+00100000001000000010001111001111
+01101000000000001100000111001110
+00100000011110100000000000000000
+11000000000000001010000001001000
+11000000000000010010000001001101
+11000000000000011010000001010000
+11000000000000101010000001010101
+11000000000011011010000001000101
+00100000010000000010001001010111
+00100000011000101000000000000000
+00100000010000000010001001011010
+00100000011000101000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01110000000001001001101100011011
+01110000010000011100111000000000
+00100000011000000000000000000000
+01111001001000000000000000011100
+01111001001111111000000000011110
+01110000000000001000111111111111
+01110000000000001000110100011111
+00100000001000000010000001000011
+01111001001111111000000000011100
+00011000000000000011011000000000
+00100000001000000010000001000011
+00100000010000000010001001011010
+00100000011000101000000000000000
+00011000000000000000010000000001
+01110000000000010110111000000101
+00100000001000000010000001011100
+01000100100000110100000000000000
+01101000000000110100000111010000
+00100000001110100010000001000011
+01110000010001101000000100000001
+01110000000000000101010100000011
+00100000001000000010000001011011
+00011000000000000000010000100101
+01000100100000111100000000000000
+01101000000000001000000011110001
+00100000001110100010000001100010
+00011111111010011111111000000000
+00011111111100100111111000000000
+00011111111000001111111111111111
+01100000000000001100000010100110
+01100000000000001000000011110000
+01110000000000001000111000011111
+01111001001111111000000000001100
+00100000010000000010001000111011
+00100100001000101010000010000011
+00100000010000000010101001101111
+01100000000000001000000001110111
+01100000000010001000000001111100
+01101000000000110100000111010000
+01100000000000110000000001000000
+01000100100001000100000000000001
+00100000010000000111111100010101
+00011000000000000111111000000000
+00101000010000011111111000000001
+01111101001000001111111000000101
+01111001001000000111111000000011
+01100000000000001000000000110000
+01110000000010101001100100000011
+00100000010000000111110110000110
+00011000000000000111111000000000
+01111001001000001111111000000100
+01100000000000001000000001001100
+01011000000000000000000000000000
+01111001001000000111111000000001
+01100000000000001000000000110001
+01111000001101001111110000000000
+00100000010000000010001000100011
+01111000010101001111110000000000
+00011000000000000000111000000011
+01101000000000010100000010111001
+00100000010000000111111100001000
+00100000001000000010000001000011
+01000100100001001100000000000001
+01101000000000110100000111010000
+01100000000000110000000001000000
+00101000010000011111111000000001
+00100000001000001010000010001001
+00100000001000000010000001000011
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01110000000010101001100100000100
+00100000010000000111110110000110
+00100000001000000010000001000011
+11000110100011100000000000000000
+00011000000000000000111000000001
+00100000010000000111111100010110
+01111101001110100000000000011100
+00100100001110100010000010010101
+00100000011000000000000000000000
+01000100100001010100000000000001
+01101000000010010100000010111011
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010100010100100
+00011000000000000100100000000000
+00100000011000011000000000000000
+01111001001111111000000000001011
+01111001001111111000000000000000
+00011100010000001100001000000001
+00101000000011111111111000011110
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000010111110
+01000100100001011100000000000001
+01101000000000001000000000010010
+00011111111000001111111000000001
+01100000000000001000000000010010
+00100000010000000010100011011000
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000010110001
+00100000001000000010000010011100
+01000100100001100100000000000001
+01101000000000001000000010001101
+00011111111000001111111111111111
+01100000000000001000000010001101
+00100000011000010000000000000000
+01110000000000001000110100011111
+01101000000000001000000010001111
+00011111111000001111111111111111
+01100000000000001000000010001111
+00100000011000010000000000000000
+01111001010000000000000000011110
+01110000000000001000111111111111
+00100000011000000000000000000000
+01000100100001101100000000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+00100000010000000010100011110010
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000011001000
+00100000010000000010000010110001
+00100000001000000010000010011111
+01000100100001110100000000000001
+00100000010000000010100110111011
+00100000010000000010101001101011
+00100000010000000010010100011110
+01111001001111111000000000000001
+11000110100001011000000000000000
+01000100100001111100000000000001
+01101000000000001000000000010011
+00011111111000001111111000000001
+01100000000000001000000000010011
+00100000011000000000000000000000
+01000100100010000100000000000010
+01111000001101001111110000000000
+01111000001110000111110000000000
+01101000000000010100000010110101
+00100000001110100010000011011011
+00011000000000000000111000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000100100010001100000000000010
+01101000000010010100000010110111
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000001101000010000100010100
+00011000000000000000111000000011
+00100000010000000111111100010110
+00100100001110100010000011110000
+01101000000000001000000001001100
+11000010100000100010000011100110
+00100000001000000010000011101001
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01000100100010010100000000000010
+01110000000000000011000000000000
+00100000010000000101110011110111
+01110000010001101000000100000000
+01110000000010101001100100010011
+00100000010000000111110110000110
+00100000001000000010000100010100
+01000100100010011100000000000010
+00011000000000000001011000000000
+00110100011100110000001000000000
+01101000000000001000000011110010
+00011111111000001111111111111111
+10011100010000101111111000000000
+00101111111000000000011000000000
+00100100001000001010000011110000
+00011000100000100111111000000000
+01100000000000001000000110000001
+00011000000000000100110000000000
+00011000000000000100100000000000
+01000100100010100100000000000010
+00100000001000011010000100010100
+00100000010000000010100011011100
+11011001011000000000011000000000
+00110100011100110000001000000000
+01000100100010101100000000000010
+01101000000000100000000011110010
+10011000000000000100001000000000
+00011111111000001111111000000001
+01100000000000100000000011110010
+00101000000011111111111000001100
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000100101000
+01101000000000001000000000001100
+00011111111000001111111000000001
+01100000000000001000000000001100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000100011010
+00100000001000000010000011111100
+01000100100010110100000000000010
+01111000010101001111110000000000
+01101000000000010100000010110101
+00100000011110100000000000000000
+00011000000000000000111000001000
+00100000001000000111111100001000
+01000100100010111100000000000010
+01101000000000001000000010001110
+00011111111000001111111111111111
+01100000000000001000000010001110
+00100000011000010000000000000000
+01110000000000001000111000011111
+01101000000000001000000011110000
+00011111111000001111111111111111
+01100000000000001000000011110000
+00100000011000010000000000000000
+01111001010000000000000000001100
+01101000000000001100000010100110
+01100000000000001000000011110000
+00100000011000000000000000000000
+01000100100011000100000000000011
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000100110000
+00100000010000000010000100011010
+00100000001000000010000100000001
+00100000010000000010011001001101
+01101000000000001000000000001101
+00011111111000001111111000000001
+01100000000000001000000000001101
+00011000000000000011011000000000
+01101000000000100000000011110010
+01000100100011001100000000000011
+00100000010000000010101001001111
+00100000010000000010100011011100
+00011100110000001100110000000001
+00011100001000010100001111111101
+00011100100000010100100111111100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00011100010000100111111000000000
+01100000000000100000000101100001
+00011000000000000000100000000000
+00011000000000000000001000000010
+00100000010000000010101001101011
+00100000010000000010011101100110
+01000100100011010100000000000011
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011100100000010100100111111100
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000010011000010011001001101
+00100000001011000010000101010101
+01101000000000001000000000010000
+00100000001110100010000011111100
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000001000000010000100110110
+01000100100011011100000000000011
+01101000000000001000000000001110
+00011111111000001111111000000001
+01100000000000001000000000001110
+00100000010000000010010000110101
+00100000010000000010001011110010
+00100000001011000010000101011111
+00100000010000000010010001010101
+00100100001110100010000101011010
+00100000001000000010000011111100
+01000100100011100100000000000011
+01101000000000001000000000110000
+01111001001111111111111000000011
+01100000000000001000000000110000
+00100000010000000010010001000000
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000100100011101100000000000011
+01111000001101001111110000000000
+01111000001110000111110000000000
+00100000010000000010000111100001
+00100000011101000000000000000000
+00100000010000000010110001101001
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011101100010
+01000100100011110100000000000011
+00100000010000000101110100001000
+00100000010000000010001011100100
+00100100001101101010000110000000
+00100000010000000010101010001000
+00100000010000000010011100101000
+01101000000000001000000000001111
+00011111111000001111111000000001
+01100000000000001000000000001111
+01000100100011111100000000000011
+00100000010000000110110010101010
+00100000010000000010000110001011
+00100100011101001000000000000000
+00100000010000000010011011110011
+00100100001110100010000110001000
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000010010010001001
+00100000010000000010001011011010
+00100000001000000010000101110111
+00100000001101101010000110001110
+00100000010000000010101001111111
+00100000001000010010000110011100
+00100000010000000010000110100111
+00100100001101000010000110011100
+01101000000000001000000001001100
+11000100000000100000000000000000
+11000011100000011000000000000000
+01101000000000001000000001001011
+11000011100000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+01101000000000001000000101101110
+00011111111000001111111111111111
+01100000000000001000000101101110
+00100100011110100000000000000000
+00100000001000000110000000000110
+01000100100100000100000000000100
+00100000010000000010010001011101
+01111000010101001111110000000000
+01101000000000001000000001001100
+11000010100000100010000110100010
+00100000011000000000000000000000
+01101000000000001000000001001100
+11000011100000011000000000000000
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000001000000111111011000110
+01000100100100001100000000000100
+01111000001101000111110000000000
+01101000000000001000000001001011
+11000100000000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+00100000001000000111111111101001
+01101000000000001000000001110010
+00011111111000001111111111111111
+01100000000000001000000001110010
+00100000011000000000000000000000
+01000100100100010100000000000100
+01101000000000001000000000110000
+11000010100000111010000110111011
+01101000000000001000100110110101
+00100000001110100010000110111011
+01110000000010011011010100000000
+01110000000010101001100100011000
+00100000010000000111110110000110
+00100000001000000010000110111011
+01000100100100011100000000000100
+00100000010000000010001001010100
+01101000000000001000000000110000
+01111001001000000111111000000111
+01100000000000001000000000110000
+01110000010000011011110100000001
+01101000000000001000000001010101
+11000000100010110010000111000011
+00100000011000000000000000000000
+01110000000010011011010100000001
+01101000000000001000000000110000
+01111001001111111111111000000111
+01100000000000001000000000110000
+00100000011000000000000000000000
+01000100100100100100000000000100
+01111000010101000111110000000000
+01101000000000010000000000110010
+11011000010000001111111111111111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000100000000000110100
+00100000001110000010000111010011
+10011101000001100111111000000000
+00100000001000000010000111010100
+10011100010001100111111000000000
+00011111111001100111110000000100
+00100100011000010000000000000000
+00011000000000000111111000000000
+01100000000000010000000000110010
+00100000001000000111111111100111
+00011111111000100000010000000000
+01000100100100101100000000000100
+01100000000010100000000000110100
+01110000010001010101101100000001
+01011000000000001111111111111111
+01100000000000010000000000110010
+01110000000000000111001100000001
+00100000011000000000000000000000
+01000100100100110100000000000100
+00100000010000000010000111001001
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+00100000010000000010101001001111
+00100000010000000010001011100110
+11000101000001011010000111110100
+00100000010000000010010001010101
+00100100001110100010000111100111
+01000100100100111100000000000100
+01111000010101000111110000000000
+00011100010000100111111000000000
+01100000000000100100000011001010
+01111000001110000111110000000000
+01111000001101001111110000000000
+01110000000010101001100100101010
+00100000001000000111110110000110
+01000100100101000100000000000101
+00100000010000000010101001001101
+11011000001000000000000000010000
+00100000010000000010001011011100
+01111000010110000111110000000000
+01111000010101001111110000000000
+00100000010000000010100000011000
+00100000010000000010010000110101
+01000100100101001100000000000101
+00100000010000000010010001111100
+00100000001101101010001000000010
+00100000010000000010010001010101
+00100100001110100010000111111100
+00100000001000000010000111101100
+01101000000000001000000000110001
+01111001001111111111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+00100000010000000010100001000001
+01111000001101000111110000000000
+01110000000010101001100100101011
+00100000001000000111110110000110
+01000100100101010100000000000101
+01111001001000000000000000001001
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111001001010000
+11011000101000000000010000111111
+00011010001000001000110000000001
+11101000110000001000000000000000
+00011010001000100000110000000000
+11000010100000000111111100000001
+11011000101000000000000000110000
+00100000010000000111111100000001
+01111000010101110111110000000000
+01101000000000001000000001110111
+10011000000000000000100000000000
+01110000000000001000101000000001
+00100000001101001010001000011100
+01110000000000001000101000000001
+01101000000000001000000000110000
+11000100000000001000000000000000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01101000000000001000000001110100
+01100000000000001000000010001011
+00100000011000000000000000000000
+01000100100101011100000000000101
+01101000000000010000000000011110
+10011000000000000000101000000000
+00011000000000000111001001010000
+11011000110000000000010000111111
+00100000001110110111111100000001
+11011000110000000000000000110000
+00100000001000000111111100000001
+11011111001000000000000000000001
+01101000000010001000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000001
+00100100001000001010001000110001
+11011000010000000000000000000000
+01100000000010001000000000010101
+00011000010011111111111001010000
+11011010001000000100000001000000
+10011010001000001010001000000000
+11101010001000001000000000000000
+11000010100000001010001000111001
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000010001000101101
+00100000011000000000000000000000
+01000100100101100100000000000101
+11011010011000000010001001101010
+00100000010000000010001001100001
+00100100011000101000000000000000
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00100000010000000010011100100101
+00100000001000001010001001001011
+01101000000000010000000000011110
+00011111111000001000101000010111
+01101000000000001000000001000111
+11100000101000001000000000000000
+11011010011000000010001010101010
+00100000001000000010001001100001
+01101000000000001000000001000111
+00101111111011111111111000000011
+00100000001000001010001001010000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+11011010011000000010001010100111
+00100000001000000010001001100001
+01101000000010010000000000011110
+11011010011000000010001011001111
+00100000001000000010001001100001
+01101000000010001100000111001111
+11011010011000000010001001110101
+00100000001000000010001001100001
+01000100100101101100000000000101
+01101000000010110100000111010000
+11011010011000000010001001101110
+00100000001000000010001001100001
+11011010011000000010001001111011
+00100000001000000010001001100001
+11011010011000000010001011000110
+01000100100101110100000000000101
+11011010001000000100000001000000
+11011111001000000000000000000001
+11101010001000001000000000000000
+00011010011000100111101000000000
+00011010001000001010001001010000
+11000010000000000010001001100100
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000010100000000010001001100110
+11000010100000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000010100000011010001001110000
+11000011000000000010001001100110
+00011010001000001000110000010000
+11101000110000110000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000000010001001100110
+00011010001000001000110000010110
+11101000110000001000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000001010001001100110
+00100000010000000010001010110011
+00100000010000000010001010010111
+10011000010001100111111000000000
+00011111111000001111111000000001
+00100000001000010010001010010001
+00011000110000100010010000000000
+01100000000001001000101010100010
+01101000000000001100010011000000
+00100100001110100010001010001001
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000000101
+00100000001000000010001010001100
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000010100
+00100100001000010010001001100110
+00011000010000100100001000000000
+00100000010000000010001010111111
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000000000000010010000000000
+00011010001000001000110000000010
+11101000110000010000000000000000
+00100000001110100010001010001101
+00100000010000000010001010111111
+00100000001000000010001001111100
+00011111111100010001011000000000
+00011001011011001001011000000000
+00100000001000101010001010100001
+00101001011000000001111000001111
+00100100011000001000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00100100011000101000000000000000
+01111001001000000000010000011100
+00100000011000000000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00101001011000000001111000001111
+00100100011000001000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+00011010001000001000110000010111
+11101000110000001000000000000000
+11000011000000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00011010001000001000110000000001
+11101000110010001000000000000000
+00011100010000100111111000000000
+00101000010011111111111000000001
+00011010001000001000110000000100
+11101000110010100000000000000000
+00100000011000001000000000000000
+00011010001000001000110000001000
+11101000110000110000000000000000
+00100000010000000010100001010100
+00011101000000100111111000000000
+00100000011000000000000000000000
+00011010001000001000110000000010
+00011010001000001000101000000100
+11101000110000010000000000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+11100000101000100000000000000000
+00100000001000000101010001001001
+11000011000000001010001001100110
+00100000010000000010001010110011
+10011011011000001111111000000000
+10011011011000001111111000000000
+10011000111000001111111000000000
+10011000010001100111110000000000
+00100100001000010010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100000001111110010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+11101010001000001000000000000000
+01111001001111111111111000000111
+11100010001000001000000000000000
+00100000001000000010001001100110
+01000100100101111100000000000101
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000001000000010011101100010
+01000100100110000100000000000110
+00100000010000000010101001001101
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100100011011000000000000000000
+00100000010000000010100110111011
+00100000001000000010010100011100
+01000100100110001100000000000110
+01101000000000001000000110000001
+10011000000000000000100000000000
+00011000000000000000001000000001
+00100000010000000010001011011010
+00100000001000000010001011100100
+01101000000000001100000010010011
+11000100000000000000000000000000
+00011000000000000000111000000100
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010101101
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010001100001000
+00011000000000000000111000000100
+01101000000000010100000010101111
+00100100001011000111111100001000
+00011000000010100111111000000000
+10011110101000010111111000000000
+00100000001000000111111100001000
+01000100100110010100000000000110
+01110000000000011000000100000000
+01111000010110000111110000000000
+01111000010101110111110000000000
+00100000010000000010100010100100
+00011100010000010100001111111100
+00011000000000000100100000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+01111001010000000000000000011101
+01101000000000001000000000000110
+00011111111000001111111000000001
+01100000000000001000000000000110
+00100000010000000010100011110010
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+01000100100110011100000000000110
+00011000000000000011011000000000
+00100000010000000010100011111001
+01101000000000001000000000000111
+00011111111000001111111000000001
+01100000000000001000000000000111
+00100000010000000010100011011000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010101001100100
+00011000000000000000001000000010
+00011000000000000000100000000000
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000010000000010001100110010
+00011100001000010100001111111101
+00011100110000001100110000000001
+00100000011000000000000000000000
+01000100100110100100000000000110
+01101000000000001100000011010001
+00100000011110100000000000000000
+11011000101000000000000110001110
+01101000000000001100010100010101
+00011111111000100111001000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011000101000100000010000000000
+00011111111000001111111000000001
+01100000000000010100000111011100
+00011000010000100000101000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+11011000110000000100010100010110
+00100000010000000111111100000001
+11011010011000000100010110001101
+11011111001000000000000000000100
+00100000010000000010001101010100
+11011010011000000100010101110111
+11011111001000000000000000000001
+00100000010000000010001101010100
+00011000000000000000001000001010
+01110000010000011101101100000010
+01011000000000000000000110001110
+01100000000000010000000101101111
+00100000010000000010101001001101
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000011000000000000000000000
+00011000101000100000010000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000111111111000000000
+11000010000000000010001101011000
+00011111111000100010001000000000
+00011111111000001111111000000010
+00011111111000100000111000000000
+01101000000000010100000111011100
+10011000111000001111111000000000
+01100000000000010100000111011100
+00011000010000100000101000000000
+00011010001000100111111000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010001000100111001000000000
+00100000001000000111111100000001
+01101000000000001100000010010011
+11000100000000001000000000000000
+00011000000000000000111000000101
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010110001
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000011101000000000000000000
+00011000000000000000100000000000
+01110000000000000001000000001000
+01111001001111111000000000001011
+00100000010000000010001101111010
+00011000000000000000111000000101
+01101000000000010100000010110011
+00100000001000000111111100001000
+01000100100110101100000000000110
+01111000010110000111110000000000
+00100000010000000010100010100100
+01101000000000001000000000001000
+00011111111000001111111000000001
+01100000000000001000000000001000
+00011000000000000100110000000000
+00100000010000000010100011100010
+00011100010000001100001000000001
+00011000000000000100100000000010
+01000100100110110100000000000110
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+00100000010000000010100011111001
+01101000000000001000000000001001
+00011111111000001111111000000001
+01100000000000001000000000001001
+00011000000000000011011000000000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00011000000000000000100000000000
+11011001011000000000011000000000
+00110101001100110000001000000000
+00011101000000011101000000000011
+00011100001000010100001111111101
+01000100100110111100000000000110
+00011100110000001100110000000001
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000000111
+00100100001011000010001110100100
+00100000010000000010101001101011
+00100000010000000010010100011110
+11000101000001011010001110101011
+01000100100111000100000000000111
+01101000000000001000000000010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000010000000010101001001111
+00100000001000000010001110011011
+01000100100111001100000000000111
+01111001001111111101000000000001
+01111001001000000101000000000000
+01101000000000001000000000001010
+00011111111000001111111000000001
+01100000000000001000000000001010
+00100000010000000010101001001101
+00011100001000011100001000000010
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00101101000000000000011000000011
+00100000001000001010001110111100
+00110111110010111000001000000000
+00100000001000000010001110111000
+01101000000000100000000101100101
+00011111111000011111111000000011
+00011111111000100101000000000000
+01000100100111010100000000000111
+01101000000000110000000101111000
+01100000000000110000000001000000
+00100000010000000010010000110101
+00100000010000000010010001111100
+00100000001101101010001111001000
+00100000010000000010010001010101
+00100100001110100010001111000011
+00100000011000000000000000000000
+01000100100111011100000000000111
+00100000010000000010010001000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+01110000000000000011000100000000
+00100000010000000010100001000001
+00100000001000000010001000100011
+01000100100111100100000000000111
+00100000010000000010100001010000
+00100000010000000010001111110011
+00100000011101000000000000000000
+01000100100111101100000000000111
+00100000010000000010110001101001
+00100000010000000110110010101010
+00100000010000000010010100010100
+00100100001101101010001111100010
+00100000010000000010101010001000
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010011101010111
+00100000010000000010011100101000
+00100000010000000101110100001000
+01101000000000001000000000001011
+00011111111000001111111000000001
+01100000000000001000000000001011
+00100000010000000010100001000001
+01000100100111110100000000000111
+00100000010000000010101110110001
+00100000010000000010101001111111
+00100000001000010010001111101011
+00100000010000000010000110100111
+00100100001101000010001111101011
+00100000010000000010011011110011
+00100100001110100010001111010011
+00100000011000000000000000000000
+01000100100111111100000000000111
+01110000000000010101000100000000
+01110000000000010111111100000000
+00100000010000000010010001011101
+01111001001111111000000000010001
+00100000010000000111111110110000
+01101000000000001000000000110000
+00100000011000000000000000000000
+01000100101000000100000000001000
+00100000010000000010000111001001
+00100100011101000000000000000000
+00011000100000100000010000000000
+00100000010000000010101001101111
+01100000000000001000000110000001
+00011000010000100000100000000000
+01110000000000000001000100100000
+01000100101000001100000000001000
+00100000010000000010101001001111
+00011000000000000000001000000010
+00100000010000000010011101001111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010011101100010
+00100000010000000010101001001101
+01111000001101111111110000000000
+00100000010000000010010011110110
+00100000001011000010010000001101
+00100000010000000010100011111001
+00100000010000000010010001010101
+00100100001110100010001111111011
+11000110100000100000000000000000
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100000011000000000000000000000
+01111000001110000111110000000000
+00100000010000000010010000110101
+00100000010000000010100010100100
+01000100101000010100000000001000
+00100000010000000010001011110010
+00100000001011000010010000011001
+00100000010000000010010001010101
+00100100001110100010010000010000
+01111000010110000111110000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01111000001101001111110000000000
+11000101100000100010010000011111
+01111001001111111000000000000100
+01110000000000000111110000000011
+01110000000000000111110100110011
+00100000010000000110001011111000
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000110000000000111000
+01101000000000001000000000110001
+01111001001000000111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+01111000010101001111110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01000100101000011100000000001000
+01111000010101101111110000000000
+01111001001111111000000000000101
+01111001001111111000000000001010
+01111001001111111000000000010000
+01111001001111111000000000001111
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+00100000011000000000000000000000
+01000100101000100100000000001000
+01110000000000000001000100100000
+01110000000000000100011101010000
+01101000000000010100000010111111
+01100000000000010000000000111110
+00011100010000100111111000000000
+01100000000000100100000011001010
+00100000011110000000000000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01000100101000101100000000001000
+00100000010000000101110100000100
+00100000010000000010010001011001
+01100000000000001000000001000110
+01011000000000000000000000000000
+01100000000000010000001001011101
+01011000000000000001110010000000
+01100000000000010000000001010001
+01101000000000001000000000110000
+01111001001000000111111000000000
+01100000000000001000000000110000
+01110000000000000100101100000000
+01110000000000000100110000000000
+01110000000000001010000000000000
+00100000001000000010101010001000
+01000100101000110100000000001000
+00011000000000000111111000000000
+01100000000001000100000110111110
+11100000101001000000000000000000
+00100000010000000010000111000101
+00100000001000000010001001010100
+01101000000000001000000000010001
+00011111111000001111111111111111
+01100000000000001000000000010001
+00100000011000000000000000000000
+01101000000000001100000011001111
+00011111111000001111111000000001
+01100000000000001100000011001111
+00100000011000000000000000000000
+01000100101000111100000000001000
+01101000000000001100000111001110
+11000000000000011010010001100010
+01101000000000001000000001001000
+11000000100000001010010001100110
+00100000010000000100110100000110
+00100100001000101010010001100110
+00100000010000000010000110100100
+01110000010000011100111000000000
+01000100101001000100000000001001
+00100000010000000011001110101111
+00100000010000000010011011101001
+01110000000010101001100100000010
+00100000010000000111110110000110
+00100000010000000101110011110111
+00100000010000000100110101101011
+00100000010000000111010101111101
+01101000000000001000000000110000
+01111001001111111111111000000000
+01100000000000001000000000110000
+01110000010001101000000100000000
+01101000000000001000000001001100
+00101111111000011000000000000000
+00100000001000001010010001110110
+01111001001111111000000000000001
+01101000000000001000000001000111
+11000011000000011010010001111000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111000000000000010
+00100000011000000000000000000000
+01000100101001001100000000001001
+01101000000000001000000101110100
+00100000011110100000000000000000
+00011111111000100000100000000000
+00100000010000000010010100010100
+00100100011101101000000000000000
+00011000000000000000001000000000
+00100000010000000010011101010111
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000001000000101110100
+00100000011000000000000000000000
+01000100101001010100000000001001
+01101000000000001000000000110000
+11000011000000010010010010010110
+00011000000000000000001000000111
+11000101100000111010010010010101
+00100000010000000010011100100101
+00100100001000001010010010010110
+00100000001101110010010010010110
+00100000010000000010010011000001
+01011000000000000000000000000010
+01100000000000010100000011001000
+00100000011000000000000000000000
+00100100011101110000000000000000
+01000100101001011100000000001001
+00100000010000000010001001000011
+00100100001000101010010010100111
+01101000000000001000000001000111
+11000011000000011010010010110000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+01101000000000010100000011001000
+00011111111000001111111111111111
+01100000000000010100000011001000
+00100000001110100010010010100101
+01101000000000001100000011000101
+10011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001100100000000001001
+00100000010000000010011010000111
+00100000010000000010011100100101
+00100000001000001010010010110000
+00100000010000000110000000001010
+00100000001101000010010010111110
+01101000000000001000000001001011
+11000010100000110010010011000000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+00011000000000000000001000000001
+00100000011101001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001101100000000001001
+01101000000000001000000000011001
+10011000000000000000001000000000
+11000001100000001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01101000000000001000000101011000
+00011111111000010000001000001111
+01111001001000000000000000000101
+00100000011000000000000000000000
+00011000000000000000001000010011
+00100000001000000010010011000001
+00100000010000000010010011001010
+01000100101001110100000000001001
+01101000000010001000000001000111
+01111001001000000000010000000011
+01100000000010001000000001000111
+00011000001000100111111000000000
+01100000000000001100000011000101
+01011000000000001111111111111111
+01100000000000010100000011001000
+00100000011000000000000000000000
+01000100101001111100000000001001
+01101000000000001000000001001100
+00101111111011111111111000000101
+01101000000000010100000111011100
+00100000001000001010010011100000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000011011
+00100000011000010000000000000000
+00011000000000000000001000001010
+00011111111001100111110001111001
+00100000011000010000000000000000
+00011000000000000000001000001011
+00011111111001100111110010110111
+00100000011000010000000000000000
+00011000000000000000001000001110
+00011111111001100111110011100000
+00100000011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000110110
+00100000011000010000000000000000
+00011000000000000000001000001010
+11011000010000000000000101101111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001110
+11011000010000000000001010100111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+01101000000000001000000000110000
+11000011000000001010010011110101
+01101000000000010000000000110010
+00100000001110100010010011110101
+00100100001101110010010011110111
+00100000010000000010101001001111
+00011101000000001100001000000001
+01111000001010000111110000000000
+01101000000000010000000000111110
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+01000100101010000100000000001010
+01101000000000010000000000111110
+00011111111000110111111000000000
+00100000010000000010101000100100
+00100000010000000010100111101011
+01111000001001101111110000000000
+01101000000000010000000000111110
+11011000010000000000001110111011
+10011000010000001011011000000000
+00110111110000011000010000000000
+00011011010000100000010000000000
+01100000000010110000000010011010
+01111000010001101111110000000000
+00100100011011000000000000000000
+11011101001000000000001110111011
+00011100001000100101000000000000
+00100000001101011010101100000101
+00100000011000000000000000000000
+01000100101010001100000000001010
+00100000010000000010010011110000
+00100100001011000010100011111001
+00100000010000000010100110111011
+11000101100010001010010100011100
+01101000000000010000000011110110
+00011111111000001111111000000001
+01100000000000010000000011110110
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101010010100000000001010
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001001011111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011101
+00001001100000000000000000000100
+00001000000000001000000000000111
+00011001100000100111111000000000
+01100000000000001000000000011001
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011110
+01101000000000001000000000011001
+00011111111001100111110000000011
+00100000001000010010010100110011
+11000000000000111010010100110011
+01101000000000001000000001001100
+00101111111011111111111000000101
+01111001001000001010101000000001
+01000100101010011100000000001010
+00001001100000000000000000001000
+01111000010001011111110000000000
+01111000010001010111110000000000
+00100000001000110010011000110001
+11000101100010001010010100111100
+01101000000000010000000011111000
+00011111111000001111111000000001
+01100000000000010000000011111000
+01000100101010100100000000001010
+01101000000000001000000101011101
+00101111111000000000111000000000
+01111001001000001000000000001010
+00100000001000001010010101001100
+10101000100000000000111000000000
+00100000001000001010010101001011
+11000101100000111010011001001101
+01101000000010001000000010110000
+10101000010000000000111000000000
+00100100001000001010011001001101
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+01111000001101101111110000000000
+01000100101010101100000000001010
+01101000000000001000000000011001
+00011111111000100000001000000000
+11000101000001010010010101011011
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001111111111111000000000
+00101000010011111111111000000000
+01111001001000001111111000000000
+00101000010011111111111000000001
+01111001001000001111111000000001
+01100000000000001000000001000111
+00101000010011000000000000000001
+00100000001000001010010101011011
+00100000010000000010011010000111
+01000100101010110100000000001010
+11011000010000000000000000000000
+00100000010000000010101000011100
+00011000001000010111111000001111
+11000000000000001010010110000111
+11000000000000000010011001001101
+11000000000000010010011001011001
+01101000000010001000000101011110
+01101000000000001000000001000111
+10101000010000000000100000000000
+00100100001000001010010101101001
+11000101100001010010010101101000
+11000011000000111010010101101001
+01111001001000000000000000001111
+01000100101010111100000000001010
+00011000001000100111111000000000
+11000000000000011010010110001001
+11000000000000100010010110001101
+11000000000000111010010101111000
+11000000000001000010010110001100
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010010110001000
+11000000000001011010010110001011
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001110010010110001000
+11000000000001111010010110001011
+00100000011000000000000000000000
+01000100101011000100000000001011
+01111000001001101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+11011000101000000000000011010001
+00011000000000000111001000011110
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010101111110
+11000101100000111010011001001101
+00001001100000000000000000010000
+01111101001000110000000000001000
+00100000001000110010011000111101
+00100000001000000010011000100000
+00100000001000000010011001001101
+01111001001000000000000000010000
+01111000001001100111110000000000
+00100000001000000010010110001110
+01111001001000000000000000010000
+01111001001000000010101000000010
+01111000001001101111110000000000
+01000100101011001100000000001011
+11000101000000001010011001001101
+00101010101011000000000000000001
+00100000001000001010010110011010
+01111000010000111111110000000000
+01111000001001101111110000000000
+01111000010001100111110000000000
+00011100010000001001011000000010
+00110100010100110000010000000000
+00100100001011000010011000111101
+01111001001000000000000000010000
+01111000001000111111110000000000
+01000100101011010100000000001011
+01111000001001110111110000000000
+01111000001001001111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000110000000
+00001001100000000000000000000101
+11000101000010000010010110100101
+00011001100010010111001000000000
+00011111001010010111001000000000
+00100000001000000010010110101000
+00001001100000000000000000000101
+00011001100000110111001000000000
+00001001100000000000000000000011
+01000100101011011100000000001011
+00011111001000100111111000000000
+01100000000000010000000101011111
+00100000001110100010010111101000
+10011110101001100111110000000000
+00100000001000010010011000111101
+01000100101011100100000000001011
+01111001001111111000000000000000
+01101000000000001000000110000000
+00011111111000010111111000000011
+11011000101000000000010101010001
+11000000000000011010010110111010
+11000101000010001010010111100100
+01101000000000001000000110000000
+00011111111000010111111000000011
+11000000000000010010010110111111
+11000000000000001010010111010011
+00100000001000000010011000111101
+01101000000000010000000101011111
+00011111111001100111110001110000
+00100100001000010010011000111101
+11000101000001111010011000100000
+00100000001000000010010111100100
+01000100101011101100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100011
+11000011000000000010010111001001
+11000011000000001010010111001110
+00100000001000000010011001001101
+01110000000000100110000100000001
+01101000000000010000001001011101
+11000000100000000010011001001101
+11011000101000000001000000000000
+00100000001000000010010111100100
+01110000000000100110000100000010
+01101000000000010000001001011111
+11000000100000000010011001001101
+11011000101000000001010000000000
+00100000001000000010010111100100
+01000100101011110100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100001
+11000000000000001010010111011101
+11000000000000010010010111100001
+00100000001000000010011001001101
+11011000101000000001000000000000
+01101000000000010000001001011101
+10011000101000001000101000000000
+00100000001000000010010111100100
+11011000101000000001010000000000
+01101000000000010000001001011111
+10011000101000001000101000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010111100100
+01000100101011111100000000001011
+00001001100000000000000000010000
+00100000001000110010011000110111
+01101000000000001100001101100011
+11000000000000001010011001001101
+11000101000010001010011000001101
+11000101000001111010011001001010
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100000001000001010011000001101
+01101000000000010000000101011111
+00100000001110100010011000001101
+01000100101100000100000000001100
+01101000000000001000001001100001
+11000000000000001010010111111001
+11000000000000010010011000000011
+00100000001000000010101010001100
+01101000000000010000001001011101
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011101
+11000000000000000010101010001100
+01101000000010010001000000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101000111
+00100000001000000010011000001101
+01101000000000010000001001011111
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011111
+11000000000000000010101010001100
+01101000000010010001010000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101001011
+00100000001000000010011000001101
+01000100101100001100000000001100
+01101000000010001000000001001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+01111001001000001000010000000110
+01111101001000001000010000000111
+01100000000010001000000001001100
+00100100001000001010011000010110
+01111001001000000000000000000001
+11000101100010001010011000100000
+00101000010011111111111000000110
+00100000001000001010011000100000
+01101000000000010000000011111010
+00011111111000001111111000000001
+01100000000000010000000011111010
+01111001001000000000000000000101
+01111001001111111000010000000111
+01111001001111111000000000000001
+01100000000010001000000001001100
+01000100101100010100000000001100
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001000000111111000000101
+00101000010011111111111000000010
+01111001001000001111111000000010
+00101000000011111111111000001010
+01111001001000001111111000000111
+01100000000000001000000001000111
+01101000000000010000000101011111
+00100100001110100010011001001101
+01101000000000001000000001001100
+01111001001111111111111000000111
+01100000000000001000000001001100
+01101000000000001000000110000000
+00101111111000000000111000000001
+00100000001000000010011001001101
+01000100101100011100000000001100
+01111000010101101111110000000000
+01101000000000010000000000011010
+00011111111000001111111000000001
+01100000000000010000000000011010
+00100000001000000010011001001101
+01101000000000010000000000011100
+00011111111000001111111000000001
+01100000000000010000000000011100
+00100000010000000010011000111110
+11000101100010001010011000111101
+01111001001000000000000000000101
+00100000001000000010011001001101
+01000100101100100100000000001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100100001000001010011001000110
+01101000000010001000000001001100
+01111001001111111000010000000110
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000111
+01100000000010001000000001001100
+00100000001000000100110000001011
+01101000000000001000000001000111
+01111001001000000111111000000101
+01100000000000001000000001000111
+01000100101100101100000000001100
+01111000010011101111110000000000
+01111000010011100111110000000000
+01111000010001101111110000000000
+01111000010001100111110000000000
+01111000010001001111110000000000
+01111000010001110111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+01000100101100110100000000001100
+01111000001001001111110000000000
+01111000001001100111110000000000
+00001001100000000000000001001000
+00101111111011111111111000111010
+01111001001000001000000000000000
+00011100000000100000010000000000
+01010111111000000100000000000000
+01010111111000000011110000000000
+01111000001010101111110000000000
+00111000000010111111111111111111
+00111000000011001111111111111111
+00100000000000000000000000100000
+00101001101010000000000000000000
+00011101100000100111111000000000
+01100000000000011000000101111000
+00011101101000100111111000000000
+01100000000000001000000101111011
+00011000010000100100000000000000
+00100000001000001010011001101110
+00100000001000000010011000111101
+01000100101100111100000000001100
+00001001100000000000000001001000
+01010111111000000011111000000000
+01010111111000000000100000000000
+01010111111000000101110000000000
+01010111111000000010010000000000
+00011000000000000111111000000000
+00001001100000000000000000010000
+00100000001000110010011000111101
+01011111111111111111111111111100
+10011010010000010111111000000000
+01100000000000100000000101100101
+00011011101000100111111000000000
+01100000000000011000000101110101
+00011011100000100111111000000000
+01100000000000001000000101110011
+00011000100000100111111000000000
+01100000000000001000000101110100
+00011101110000100111111000000000
+01100000000000010000000101111100
+00011100001000100111111000000000
+00001000000000001000001000100000
+00101000001000000001111000000010
+01111001001000001000000000001011
+00100000001000000010011001001101
+01000100101101000100000000001101
+01101000000000001000000001000111
+11000100000000011000000000000000
+01111001001111111111111000000011
+01111001010000000111111000000110
+01100000000000001000000001000111
+01101000000000001100000011000101
+11000000000010011010011010011100
+11000001000000111000000000000000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001000000111111000000111
+01100000000000001000000001001011
+01111001001111111000000000000010
+01101000000000010100001001000110
+00100100011110100000000000000000
+01101000000000001000000001001011
+01111001001111111111111000000111
+01100000000000001000000001001011
+00100000001000000101001001011101
+01000100101101001100000000001101
+01101000000000001000010010110111
+00011111111000110111111000000000
+11000000000010001010011010111000
+11000000000010010010011011000000
+11000000000011000010011011101001
+11000000001111111010011010101000
+11000001100000011000000000000000
+01101000000000001000010010111000
+11000000000101011010011010110000
+11000000000010001010011010101011
+00100000011000000000000000000000
+01101000000000001000010010111000
+01111001001000000111111000000111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110001
+00101111111011111111111000000100
+00100000001000001010011010110101
+00100000011000000000000000000000
+01111001001111111111111000000100
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101101010100000000001101
+01101000000000001000000001001100
+01111001001000000111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000001
+01101000000000001000000000110000
+00101111111011111111111000000100
+00100000011000000000000000000000
+01000100101101011100000000001101
+01101000000000001000000001001100
+01111001001111111111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000000
+00100000011000000000000000000000
+01000100101101100100000000001101
+00011100010000100111111000000000
+01100000000000100100001000001100
+00011100010000001010001000000011
+00100000001101001010011011001100
+00011101000000001010001000000011
+01101000000010010000000000110010
+00011010001000100111111000000000
+01111001001111111111111000011011
+10011000010001101111110000000000
+01101000000000010000000001110101
+00100000010000000111111110000110
+00011000000001110010011000000000
+10011010011001100111111000000000
+00100000001000010010011011010110
+10011000010000001111111000000000
+10011010001000001111111000000000
+01100000000000100000000000110100
+01110000010001010101101100000000
+01101000000000001000000000110000
+01111001001000000111111000000001
+01100000000000001000000000110000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01011000000000000000000000000000
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000001100000101011001
+01110000000010101001100100001011
+00100000010000000111110110000110
+01101000000000010100000011000001
+01100000000000010000000000111110
+00100100011101001000000000000000
+00011000100000001000111111111111
+00100000011000000000000000000000
+01000100101101101100000000001101
+01101000000000001000000000110000
+11000100000000001000000000000000
+01111001001111111111111000000001
+01100000000000001000000000110000
+01101000000000010100000010111111
+01100000000000010000000000111110
+01111000010101011111110000000000
+01110000000010101001100100001100
+00100000001000000111110110000110
+01000100101101110100000000001101
+01111000001101110111110000000000
+01101000000000001000000000110000
+11000010100000001010011100000000
+11000110000010001000000000000000
+01101000000000001000000001000111
+11000011100000011000000000000000
+01101000000000001000000001001000
+00100100011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+11000011000000010010011100001111
+01101000000000001000000010001010
+11000000000000010010011100000110
+01101000000000001000000001000111
+11000010100000011010011100011000
+11000101100001000010011100011000
+00100100001101001010011100011000
+01101000000000001000000001001000
+00100100001110100010011100011000
+01101000000000001000000011101111
+00011111111000001111111111111111
+01100000000000001000000011101111
+00100100001110100010011011111110
+01110000000000001110111100010000
+00100000001000000010011100011000
+01101000000000001000000010001010
+11000000100000001010011100011000
+01101000000000001000000010001011
+00100000001110100010011100011000
+00011111111000001111111111111111
+01100000000000001000000010001011
+01101000000000001000000001000111
+11000011100000011000000000000000
+00100100011101101000000000000000
+01101000000000001000000010001010
+00011111111000001111111111111111
+01100000000000001000000010001010
+00100000011000000000000000000000
+01000100101101111100000000001101
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000010000000010001001100000
+01111000010101000111110000000000
+00100100011000101000000000000000
+00011000000000000011011000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100000101011000
+10101000100000011111111000000000
+00100000011000000000000000000000
+01000100101110000100000000001110
+01111001001111111000000000000001
+01110000000000100110101000000000
+01101000000000001000001001100011
+00100000011110100000000000000000
+00101111111011111111111000000000
+11011000110000000001000000000000
+00100000010000001100110101111001
+01000100101110001100000000001110
+01101000000000001000001001101010
+11000000000000001010011100111011
+01110000000000100110101000000000
+01101000000000001000001001100011
+11000100000000001000000000000000
+11011000110000000001010000000000
+00100000010000000100110101111001
+01101000000000001000001001101010
+11000000000000001010011101000001
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000000
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011101
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000001
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011111
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000000
+01100000000000001000001001100011
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000001
+01100000000000001000001001100011
+00100000011000000000000000000000
+01000100101110010100000000001110
+00011101000000001100001000000001
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000001000000010101001100100
+01000100101110011100000000001110
+00100000010000000010101001001101
+00011101000000100111111000000000
+01101000000010100100000011001010
+10011000010001100111111000000000
+11000001100000001000000000000000
+00101000001000000011111000000000
+00100100001000001010011101100001
+01101000000000001000000000011001
+00100000011110100000000000000000
+00100000010000000010011101001111
+00101000001000000011111000010000
+00100000001000001010011001001101
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101110100100000000001110
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001011011111110000000000
+01111001001111111000000000010000
+00011000100000100111111000000000
+00001000000000001000011000000011
+00011000001000100111111000000000
+00001000000000001000011000000100
+01101000000000001000000001000111
+00001000000000001000000000000100
+00001000000000001000011000000011
+01111000001001000111110000000000
+00001000000000001000011000001000
+01111000010011011111110000000000
+01111000010001000111110000000000
+01111000010001010111110000000000
+01111001001111111010101000000010
+11011000010000000000000000000000
+00100000010000000010101000011100
+01000100101110101100000000001110
+00011000001000010111111000011111
+11000000000010011010011110110100
+11000000000000000010011001001101
+11000000000000001010011001001101
+11000000000000010010011110010111
+11000000000000011010011111000101
+11000000000000100010011111001011
+11000000000000111010011110001100
+11000000000001000010011111001010
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010011111000111
+11000000000001011010011111001101
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001111010011111001101
+00100000001000000010011111000111
+01000100101110110100000000001110
+01111000001011101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+00011000000000000111001000011110
+11011000110000000000000010110011
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011110010010
+11000101000000111010011111110111
+00100000001000000010011001001101
+01000100101110111100000000001110
+01101000000000001000000110000001
+00011111111000100000100000000000
+01101000000000001000000010010000
+00011111111000100011100000000000
+01101000000000011100000010101010
+00011111111000100011101000000000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+00011100000000100010001000000000
+00100000010000000010100011100010
+01111000001010101111110000000000
+00100000000000000000000000100000
+00011100001000100001011000000000
+01101000000000100000000101100001
+00011111111000100100001000000000
+01010011110000000111111000000000
+01111001001000000111111000111010
+00001000000000001000011001001000
+01010011111000000111111000000000
+00001000000000001000011001001000
+00011001011000100100001000000000
+00011010001000100100000000000000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000001000000010011001001101
+01000100101111000100000000001111
+01111000001001110111110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+01101000000000001000010010110110
+00011111111000010000010111111000
+11011000110000000000010010110110
+00011000010000001000010000001000
+00011000010000001010011110111000
+00100100001000010010011111000010
+11101000110001001000000000000000
+00001000000000001000011001001000
+00011010011000100000010000000000
+00100000001000000010011110111100
+11101000110001001000000000000000
+00001000010000011000011000000000
+00100000001000000010011111110111
+01111000001011100111110000000000
+00100000001000000010011111010000
+01111000001011100111110000000000
+01111001001000000000000000010000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+01111001001000000000000000010000
+01000100101111001100000000001111
+01101000000000001000000001001100
+11000011000000101010011111100101
+00011000001001100111110000000011
+00100000001000010010011111100101
+01111000010001110111110000000000
+01111000010011100111110000000000
+01111000001011101111110000000000
+01111000010000111111110000000000
+01111001001000000010101000000001
+00101010101011111111111000000010
+00100000001000001010011111011111
+01011000000010101011111011101110
+00001000000000001000011000010100
+00100000001000000010011111100011
+01011000010111111010111010111010
+00001000000000001000011000011000
+01011000000000000000000000010010
+00001000000000001000011000000110
+01111000001000111111110000000000
+01111001001000000000000000010000
+01111000001001110111110000000000
+01111000001001001111110000000000
+11000101000000101010100000000000
+01101000000000001100000111011011
+00001000000000001000011000000011
+01101000000000010100000111011100
+10011000000000000111001000000000
+11000101000010000010011111101111
+00001000000000001000011000000101
+00100000001000000010011111110000
+00001000000000001000011000001101
+00011111001000100111111000000000
+00100000001110100010011111110111
+01101000000000010000000101101111
+10011000000000000000110000000000
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011111110100
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000010000000010010011000001
+01101000000000001000000001001100
+11000011000000101010011001001101
+00011000000000000111111000000000
+00001000000000001000011000000110
+00100000001000000010011001001101
+01000100101111010100000000001111
+11000101000010000010100000001000
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000001000000101011111
+10011000000000000010011000000000
+00001000000000001000011000000101
+00100000001000000010100000001101
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000010000000101011111
+10011000000000000010011000000000
+00001000000000001000011000001101
+11011000110000000000010101010001
+00011010011000100111110000000000
+00100000001000101010100000010100
+11101000110000001000000000000000
+00001000000000001000011000001000
+00011010011000001010011111111111
+00100000001000000010100000001110
+01101000000000010000000011111100
+00011111111000001111111000000001
+01100000000000010000000011111100
+00100000001000000010011111110111
+01101000000000100000000101100101
+00011111111000001010001000000111
+01101000000000010000000101110001
+00100100001110100010100000011110
+00011010001000001010001111111101
+00100000001000000010100000100110
+00011111111011111111111000001100
+01101000000110010000000001000000
+00011000010000001000010000000001
+10011000010001100111111000000000
+00100100001000010010100000100101
+00011010001000001010001111111111
+00100000001000000010100000100001
+00011111111001100111111000000000
+00110111110100011000001000000000
+00101100010000000000011000000000
+00100100001000001010100000100110
+10011000000000000101001000000000
+00011010001000100101000000000000
+10011000000000000101001000000000
+00100000011000000000000000000000
+01000100101111011100000000001111
+00110111110100010000001000000000
+00011011010000100111111000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+10011100010001100111001000000000
+00011111001000010111001000000011
+00100100001000101010100000110111
+00011000000000000111111000000000
+00100000001000000010100000111011
+11011000010000000000111010100110
+00011000000000000111111000000000
+10011000010000001111111000000000
+11000010000000000010100000111001
+10011000110000001111111000000000
+00011111111001101111110000001100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010000000101110001
+00100000011000000000000000000000
+01000100101111100100000000001111
+00011011010000100111111000000000
+00011011001000100000010000000000
+10011000010001100111110000000000
+01111101001000010111111000101100
+10011000010001100000010000000000
+01011000000000000000111010100110
+00101000010011000000000000001111
+00100000001000001010100001001100
+01011111111111110000111010100110
+10011000010000001000010000000000
+01100000000010110000010001000111
+00100000011110110000000000000000
+01100000000010110000000000111000
+00100000011000000000000000000000
+01111000010110000111110000000000
+01101000000000110000010001000111
+00100000001110110010100001010100
+01101000000000110000000000111000
+10011011001000001110000000000000
+00011110000000001110000000001010
+01011000000000000000111010100110
+10011110000001100111111000000000
+00101111111011000000000000001111
+00100000001000001010100001011110
+01011000000000001111000101011010
+10011110000000001110000000000000
+00011110000000100011010000000000
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000001000000010100001011100
+01000100101111101100000000001111
+00100000010000000010100100011000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00101100100000000000111000000011
+00100100001000001010100001101001
+00011111111010010111111000000000
+10011010111000001111111000000000
+00100000001000000010100001101010
+00011010111000100111111000000000
+00011111111001101111110001001111
+01111000001010101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+00011010001000001000010111011000
+00100000001000010010100001110010
+00011010001000111000010000000000
+00100000001000000010100001110100
+00011000010000111000010000000000
+00011000010000001000010000000001
+01000100101111110100000000001111
+01101000000000001000000000110001
+11000011000000011010100010000101
+01101000000000100100000011010010
+10011100001001100111110000000000
+00100000001000010010100010000101
+00100000010000000010100010100100
+01101000000000001100000011011001
+00100000011110100000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000010
+01100000000000001000000000110001
+01101000000000101100000011100111
+01100000000000101100000011011010
+11101000110000101000000000000000
+01100000000000101100000011011111
+00100000010000000010100010101001
+01101000000000001000000000110001
+11000100000000010000000000000000
+00101100001011111111111000000001
+00100000001000001010100010100001
+00011000010010010010001000000000
+00011000010000010000111000000111
+01011000000000000100000011011010
+10011010001000001010001000000000
+11101010001000001000000000000000
+10101111111011000000000000000000
+00100000001000001010100010010010
+00011000010000100111111000000000
+00100000001000000010100010011110
+01101000000000001100000011100100
+10011000000000000010010000000000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00011111111010010111111000000000
+10011010111000001111111000000000
+10011010010001101111110000000000
+01011000000000000100000011110010
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001000001000110000000000
+11101000110000001000000000000000
+01100000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001000000000110001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101111111100000000001111
+11011000101000000100000011110010
+00011000000000000111001000001010
+00100000010000000111111011000110
+11011000101000000100000011110010
+00011000000000000010011000000000
+00011000000000000000111000000010
+01101000000000101100000011011010
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100010110101
+00011000010000110000010000000000
+00101000010011000000000000000000
+00100000001000001010100010111001
+00011010011000100111111000000000
+11100000101000001000000000000000
+00011000010010110000010000000000
+00011010011000001010011000000010
+00101010011000011111110000101000
+00100100001000001010100011000010
+01101000000000101100000011011111
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100011000010
+00011000010000110000010000000000
+00011010011001100111110001001110
+00100000001000010010100010110101
+00011000000000000010011000000001
+00011000111000001000111111111111
+00100100001000101010100010110000
+11011010001000000100000011110010
+00011000101000100111111000000000
+10011010001001100111111000000000
+01100000000000001100000011100100
+00100000011000000000000000000000
+01000100110000000100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000101010100011010001
+01101000000010001000010011001100
+00100000001000000010100100011111
+01000100110000001100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000100010100011010111
+01101000000010001000010011001011
+00100000001000000010100100110011
+00011000000000000101101000000000
+01101000000000011100000010100111
+10011000000000000101100000000000
+00100000011000000000000000000000
+01000100110000010100000000010000
+01101000000000001100000111010011
+00011111111000100101101000000000
+01101000000000011100000111010000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000011100000000010000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01101000000000001100000010100011
+00011111111000100101101000000000
+01101000000000011100000010100000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000100100000000010000
+01101000000000010000000001000100
+00011111111000100101110000000000
+01101000000000001000000001000011
+00011111111000100101101000000000
+01101000000000011000000001000000
+00011111111000100101100000000000
+00100000011000000000000000000000
+11000101000100000010100011110101
+11000110100011101000000000000000
+11000110100011111000000000000000
+00011101100000010101100100000000
+01111000001010101111110000000000
+00100000000000000000000000100000
+00100000011000000000000000000000
+01000100110000101100000000010000
+00100000001100001010100100001010
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101000000000001100000111011110
+11000000000000000010100100001000
+11000000000000001010100100010101
+11000000000000010010100100001000
+11000000000000011010100100010101
+11000000000000100010100100010101
+11000000000100000010100100010101
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000010100100001010
+01000100110000110100000000010000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000011000
+01110000100010010000001110100111
+01110000100010010000010001111111
+00100000011000000000000000000000
+01000100110000111100000000010000
+01100000000010001000000000010111
+00011000010000001010001000000100
+01110000100010010110110100000111
+00100000001000000010100110000001
+01000100110001000100000000010001
+01110000100010010000000111001111
+00100000000000000000000000001010
+01110000100010010000000011111111
+01110000100010010000001110101111
+01110000100010010000010011111111
+00100000000000000000000000001010
+01110000100010010000001010100000
+00100000011000000000000000000000
+01101000000000001100000111100000
+00100000001110100010100100110001
+00011000010000001010001000000010
+00100000011000000000000000000000
+00011000010000001010001000000000
+00100000011000000000000000000000
+01000100110001001100000000010001
+01100000000010001000000000010111
+00100000010000000010100100101101
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+01110000100010010110110100010010
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111111
+01101000000000001100000111011110
+11000000000000000010100101001011
+11000000000000001010100101001111
+11000000000000010010100101010011
+11000000000000011010100101010111
+11000000000000100010100101011011
+11000000000100000010100101011111
+01110000100010010101011011110000
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011011111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011111111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011001110
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011001011
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101011101001100
+01110000100010010101100001101100
+01110000100010010101100101010000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010100
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000000010100000011000011
+11000011000001110010100101101101
+10011000000000000000110000000000
+11011000010000001000100100000000
+11101000110000001000000000000000
+11000000011111111010100101110111
+10011000010000011000101000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00100000001000000010100101110001
+01000100110001010100000000010001
+00100000010000000010101111100101
+00100000010000000010100111001001
+01011000000000000000011111010000
+10011100010000001111111000000000
+01100000000000100000000101101001
+01111001001000000010101000000011
+00011000000000000010101000000000
+00100100010101011010100110011000
+00100000001000000010100110101011
+01000100110001011100000000010001
+01011000000000000000100101100000
+10011010001000001000010000000000
+01101000000000001100000010111101
+01110000100010010101111100000100
+10011000010011111111111000000000
+01101000000010001100000010111110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000000001110111111000000000
+00011111111100000111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111011010111111000000000
+00011111111000111111111000000000
+10011010001000011111111000000000
+01100000000100100000100101100000
+01110000100010010101111101000100
+01110000100010010101111111000100
+00100000011000000000000000000000
+01000100110001100100000000010001
+01110000100010010000011000000010
+01011000000000111101000010010000
+00100000010000000010101010001111
+01110000100010010000000001111111
+00100000000000000000000010000010
+01110000100010010101001000110000
+01110000100010010000000111010000
+01110000100010010101001001110000
+01110000100010010101001011110000
+00011000000000000111001000110010
+01101000000100001000100110000000
+11000010100000101010100110100110
+11000010000000000010100110100011
+01100000000000001100000011001110
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01000100110001101100000000010001
+01101000000000001100000011001110
+01111001001000000111111000000101
+01100000000100001000100101010010
+01101000000110001000100101010000
+00011000010000010000010000000111
+00011111111010011111111000000000
+10011000010000011111111000000000
+01100000000100001000100101010000
+01101000000100001000100101010001
+01111001001111111111111000000000
+01100000000100001000100101010001
+01101000000100001000100101010010
+01111001001111111111111000000101
+01100000000100001000100101010010
+00100000011000000000000000000000
+01000100110001110100000000010001
+01101000000100010000100110000001
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111001100111111000000000
+00011111111000010111111011111111
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01100000000000001000000000011000
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000100001000100101101011
+01111001001111111111111000000100
+01111001001111111111111000000101
+01100000000100001000100101101011
+01110000100010010000010100000000
+01110000100010010000010000000000
+01110000100010010000010001110000
+01110000100010010000010111111111
+01101000000100001000100101101011
+01111001001000000111111000000100
+01111001001000000111111000000101
+01100000000100001000100101101011
+00100000010000000010100111101001
+01101000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01111001001111111111111000000111
+01100000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01110000100000000100001000000101
+00100000000000000000000000000001
+01110000100000000100001000000100
+01101000000100001000100101101011
+00011111111000010111111011001111
+01100000000100001000100101101011
+00011111111000011111111000110000
+01100000000100001000100101101011
+00100000011000000000000000000000
+01011000000000000000111100001111
+00100000001000000010110000011000
+01011000000000000000100000001111
+00100000001000000010110000011000
+01000100110001111100000000010001
+00100000010000000010100100100100
+01111000010100000111110000000000
+01111000001100001111110000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110010000100000000010010
+01101000000000001000000001001100
+00101111111011111111111000000010
+01111001001000001111111000000000
+01100000000100001000000000010001
+11011000110000000000000001100010
+11101000110001001000000000000000
+10011000000000000110010000000000
+11101000110000111000000000000000
+10011000000000000110011000000000
+01101000000000001000000001010100
+00011111111000001110100111111111
+01111000001011010111110000000000
+00100000011000000000000000000000
+00011011010000100111111000000000
+01100000000000110000000010011010
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000001101000000000001
+00011101000000010101000111111100
+00100000011000000000000000000000
+01111000001001101111110000000000
+00110111110010111000010000000000
+00100000001011000010100111111111
+00101101000000000000010000000010
+00100100001000001010101000001000
+00100000001000000010100111111111
+01000100110010001100000000010010
+11011001011000000000011000000000
+01111000001001101111110000000000
+00110100011100110000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+00100000011000000000000000000000
+01000100110010010100000000010010
+01111000001001101111110000000000
+00110111110000011000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000010101000111111100
+00100000011000000000000000000000
+01000100110010011100000000010010
+10011000000000000010001000000000
+00011100001000100111111000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+01100000000000100100000011001010
+00011010001000100111111000000000
+00100000011000000000000000000000
+00011111111000100000010000000000
+01000100110010100100000000010010
+00011000010000100111111000000000
+00100000010000000111111101010000
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111111100111001
+01111001001111111111111000101100
+00100000010000000010101001110111
+00100000010000000111111100111001
+00100000011101000000000000000000
+00100000010000000111111101000011
+10011000000000000011011000000000
+00110111110000011000001000000000
+00100000011000000000000000000000
+01000100110010101100000000010010
+00100000001110000010101000111000
+00110101001100110000001000000000
+00011101000000100000010000000000
+00100000001000000010101000111011
+00100000001101110010101000111010
+00110100011100110000001000000000
+00011100010000100000010000000000
+00100000001101000010101001000111
+00101000010000000000011000000001
+00100100001000001010101000110011
+01000100110010110100000000010010
+01101000000000001000000000110000
+11000100000000000000000000000000
+01101000000000100100000011001010
+10011000010001100111111000000000
+00100100011000010000000000000000
+00011111111001100111110011111111
+00100000001000010010101000110011
+00100000011000000000000000000000
+00101000010000000000011000000011
+00100100001000001010101000110011
+00100000001000000010101000111110
+01000100110010111100000000010010
+11011001011000000000011000000000
+00100000001000000010101000110011
+01111000010101000111110000000000
+00100000001000000010101001001010
+01111000001101000111110000000000
+00100000001000000010101001001010
+01000100110011000100000000010011
+00100000010000000010100111110001
+01111000010100001111110000000000
+01111000001100000111110000000000
+00100000011000000000000000000000
+01000100110011001100000000010011
+11011001011000000000111001000011
+00110100011100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011010100000000010011
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01000100110011011100000000010011
+11011001011000000000111001000011
+00110101001100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011100100000000010011
+01010001001000000111111000000000
+01111000001011101111110000000000
+01111001001000000010101000000000
+00001000000000001000011001001000
+01111000010011101111110000000000
+00100000011000000000000000000000
+00011100101000100000010000000000
+00011000010000011000010001100000
+00011000010000100001110000000000
+00100000011000000000000000000000
+01000100110011101100000000010011
+01101000000000001100000010010000
+00011111111000001111111000000001
+11000000100000111010101001110100
+00011000000000000111111000000001
+01100000000000001100000010010000
+10011000000000000000100000000000
+00100000011000000000000000000000
+00011011001000100000010000000000
+00100000011101001000000000000000
+00011011010000100000010000000000
+00100000011000000000000000000000
+00011100010000100111111000000000
+00100000011101001000000000000000
+00011101000000100111111000000000
+00100000011000000000000000000000
+01000100110011110100000000010011
+01101000000010100000000001001101
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000000001010001
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01000100110011111100000000010011
+00100000010000000010101001111011
+01100000000000100000000001001101
+00100000011000000000000000000000
+01000100110100000100000000010100
+00100000001000000010101010001100
+00100000001000000010101010001110
+00100000011110100000000000000000
+00011111111000110111111000000000
+00011111111000001111111111111101
+00011111111000001111111111111111
+00100100001000101010101010010010
+00011000000000000111111000000000
+00100000011000000000000000000000
+11011111001000000000000000010000
+11011000101000000000000000000000
+00100000010000000111111011000110
+11011000101000000000010000111111
+11011111001000000000000000001010
+00100000010000000111111011000110
+01110000000010011011001000000000
+01110000000010101001100100000000
+01110000000001001000110000000000
+01110000000000010111111100000000
+01110000000001001101000100000000
+01000100110100001100000000010100
+01110000000000010110110100000000
+01110000000000010101000100000000
+01110000000000010101110000000000
+01011000100111101000101100110011
+01100000000000011100000010100111
+01011000000000000000000101010011
+01100000000000010000000010000011
+01110000000000001000010100011110
+01110000000000001000011000000001
+01110000000000001000100000000111
+01011000000100101110100100000100
+01100000000000011000000010000000
+01110000000000001001000001100000
+01110000010000001101000000000101
+01110000000000000001010000000010
+01101000000000001100011001011010
+00100100010110100111010011000001
+01101000000000001100010010111110
+00100100010110100111010100011000
+01000100110100010100000000010100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100000000000010100000111011100
+00011100010000110111111000000000
+01100000000000100100000010010100
+00100000011000000000000000000000
+01011000000000001110111000100001
+01100000000100010000000001010000
+01101000000100100000000100011100
+01100000000000100000101010111110
+01101000000100001000000100111110
+01100000000000001000101010111101
+11000011000000011110010001011011
+01111000001101011111110000000000
+11000011000000111010101011001100
+01111000010101011111110000000000
+00011100111000100111111000000000
+00100100001110100010101011001100
+01101000000100001000000100111011
+11000010100000010010101011001100
+11011000010111111111111111111111
+00100000001000000010101100111100
+01101000000100011000000100111100
+01100000000100011000000001001100
+11101000110000001000000000000000
+00011111111000011111111011101111
+11100000101000001000000000000000
+00100000010000000010110000100011
+01101000000100001000000001001111
+01111001001000000111111000000100
+01100000000100001000000001001111
+00100000010000000010110000100011
+00100000010101011010101011011111
+01101000000100001000000001001110
+01111001001111111111111000000011
+01100000000100001000000001001110
+00100000010000000010110000100011
+00100100001101011110010001011011
+11000110100101011000000000000000
+01110000100000000000011000001000
+00100000011000000000000000000000
+01101000000000001100000110011000
+01100000000100001000000010000110
+01101000000000011100000110001101
+01100000000100011000000010000000
+01101000000000100100000110000001
+01100000000100100000000001110100
+01101000000000100100000101111101
+01100000000100100000000001110000
+01101000000001000100000110000101
+01100000000101000000000001111000
+01101000000001000100000110010000
+10011000000000000000000000000000
+01101000000101000000000101000000
+01100000000001000000000010100001
+00100000010000000110010011001010
+00100000011000000000000000000000
+00011000000000100111111000000000
+01100000000001000100000110010000
+01101000000101000000000001110000
+01100000000001000100000101111101
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000100011000000010000000
+01100000000000011100000110001101
+01101000000100001000000010000110
+01100000000000001100000110011000
+00100000001000000010110000101001
+01101000000100001000000001100011
+00100100001110100010101100000000
+01101000000000011100000101101111
+00100100011110100000000000000000
+01110000100000000110001111000000
+01110000100000000000011010000000
+01101000000100001000000100101101
+11000100000000001000000000000000
+01101000000100011000000101001001
+01100000000000011100000101101111
+00100000011000000000000000000000
+01000100110100011100000000010100
+00011011010000100111111000000000
+00100000010000000111111100110111
+01101000000010100100000101011111
+00011000010001100111110011111111
+00100000011000010000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+11011000010000000000000011001000
+00100000010000000111111110010001
+01100000000000001000000010011001
+00100100001101000010101100010101
+00011111111001100111111000000000
+01101000000010011100000101101111
+10011000010000001111111000000000
+01100000000000011100000101101111
+01011000000000000000000000000000
+01100000000000100100000101011111
+00100000011000000000000000000000
+01101000000000001100000101110111
+01111001001000000111111000000010
+01100000000000001100000101110111
+00100000001000000010101100100011
+11011000010111111111111111111111
+01101000000000001100000101110110
+01111001001111111111111000000111
+01100000000000001100000101110110
+01000100110100100100000000010100
+00100000010000000010110000101001
+01101000000000001100000101010111
+01100000000000001100000101111100
+01101000000000001100000101111010
+01111001001000000111111000000111
+01100000000000001100000101111010
+01000100110100101100000000010100
+00100000010000000010100111100111
+01101000000000100100000101011111
+10011000010000001111111000000000
+01100000000000100100000101011111
+00100000010000000010101011101111
+01101000000000101100000101111000
+01100000000100100000000001001100
+00011111111011110010001000000000
+00110111110110011000001000000000
+00011011001000100111111000000000
+01100000000000110100000101100011
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+00011010001000100111111000000000
+01100000000100001000000001001111
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+01100000000110100000000001001100
+01110000100000000000010100010000
+00110111110111111000001000000000
+01000100110100110100000000010100
+01011000000000000000000000000000
+00011100111000100111110000000000
+00100000001000101010101101001100
+01101000000100001000000100111100
+01101000000110001000000100111101
+10011000010001100111110000000000
+00100000001000010010101101001010
+00011000010000100111111000000000
+10011100111001100111111000000000
+00011111111000001111111000000001
+00011111111000001111111000001000
+00110111110110011000001000000000
+10011110001000001111111000000000
+01101000000010100100000101011011
+10011000010000001111111000000000
+01101000000010011100000101101111
+10011000010011111111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00011111111000001111111001101110
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01101000000010110100000101100011
+00100000010000000111111100101100
+00011000010000100011001000000000
+01101000000000110100000001001000
+00100000010000000010100001010100
+00011011010000100111111000000000
+01100000000000110000101010011010
+00011100111000100111111000000000
+11100000101000001000000000000000
+01101000000100001000000100011101
+00011111111000011111111011110000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000100110100111100000000010100
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+01101000000000001100011001011010
+00100000001110100010101101110100
+01101000000000001100010110110001
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100100011110100000000000000000
+00100000010000000010110000111010
+00100100011110100000000000000000
+01101000000000001100000001000000
+00101111111000000000111000000011
+00100100001000001010101110011101
+01101000000000010100000001000010
+00100000011110100000000000000000
+00100000011101011000000000000000
+01000100110101000100000000010101
+01101000000010001000000010100000
+01101000000000010100000001000010
+10011000010011111111111000000000
+00011000010100011000010000000000
+00011000010010110000010000000000
+10011000010001100111111000000000
+01101000000010100100000001000100
+10011000010000001111111000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+00011111111100000110000000000000
+01000100110101001100000000010101
+01101000000000010100000001001110
+00011111111000110111111000000000
+00100000010000000111111101010000
+00011110000000100111111000000000
+00100000010000000111111100111001
+00011011010000100000010000000000
+00100000010000000111111100110111
+00100000011101000000000000000000
+00100000010000000111111101001001
+01000100110101010100000000010101
+01101000000000001100000101111000
+10011000010001100111110000000000
+00100000001000010010101100011000
+01100000000010100100000101011011
+00100000010000000011001100101000
+00100000010000000101001011111011
+01101000000010100100000101011011
+00100000001000000010101100101010
+01000100110101011100000000010101
+01101000000000001100000001000000
+11000011100000000000000000000000
+11000011100000011000000000000000
+01101000000000001100011001011010
+00100000001110100010101110100101
+01101000000000001100010110110001
+00100000011110100000000000000000
+01000100110101100100000000010101
+01101000000000001100001101101110
+00100100001110100010101110101010
+01101000000000001100000010010011
+00100000011110100000000000000000
+01101000000000010100000101010100
+00100000011110100000000000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+11011000010000000001110101001100
+10011000010011111111111000000000
+00100000001000000010101110010011
+01000100110101101100000000010101
+01111000010101011111110000000000
+01101000000000001000000000110000
+11000100000000001000000000000000
+00100100001101101010101111010000
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000000000111110
+01101000000000001000000001000111
+11000010100000011010101111011110
+11000101100001101010101111011110
+00100000010000000101001001110100
+00100100001110100010101111011110
+01101000000000001100010101011100
+11000010100000001010101111011110
+01110000000000001010000000000000
+11000101100001101010101111011110
+01101000000000001100000101110100
+00100000001110100010101111100010
+00011111111000001111111111111111
+01100000000000001100000101110100
+00100000011000000000000000000000
+11011000111000000000000000000001
+00100000001000000110000011001101
+11011000111000000000000000000001
+00100000001000000110000011010001
+01110000010000010101100100000000
+01101000000000011100000101101001
+00011111111000001111111000000001
+01100000000000011100000101101001
+00100000011000000000000000000000
+01000100110101110100000000010101
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000000000111110
+10011000010000001111111000000000
+01100000000000010000000000111110
+01110000000000001010000000000000
+01101000000000011100000101101100
+00011111111000001111111000000001
+01100000000000011100000101101100
+01101000000000001100000101011001
+00011111111000001111111000000001
+01100000000000001100000101011001
+00100000011000000000000000000000
+01110000000000001010000000000000
+01101000000000001100000101110011
+01100000000000001100000101110100
+00100000011000000000000000000000
+01101000000010001100000101110010
+01100000000010001000000010100000
+00100000011000000000000000000000
+01000100110101111100000000010101
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100001000000110
+01011000000000000000111100001100
+00100000010000000010110000011000
+01011000000000110000110101000000
+00100000010000000010101010001111
+00110111110110011000001000000000
+00011110001000100110000000000000
+00100000010000000010100111100111
+01110000100000000100001000000100
+00100000000000000000000000001010
+00110111110110011000001000000000
+00011110001000100111111000000000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100010011111111
+01110000100000000100001000000110
+00100000010000000010100111100111
+01011000000000000000001111101000
+10011110001000001110000000000000
+00000111111000000000000000000000
+00011110001000100111111000000000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+11011000101000000000111111111111
+10011000101000010000101000000000
+01101000000000001100000101110101
+00011111111000010111111011110000
+00011111111011010111111000000000
+10011000101000011111111000000000
+01100000000100010000000001001100
+11101000110000010000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+00100000001000000010110000100100
+01011000000000000000000000000010
+00110111110110011000001000000000
+01100000000100001000000000000101
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000011000000000000000000000
+01000100110110000100000000010110
+01101000000000100000000010100001
+01100000000100100000000001001100
+01011000000000000000000000000100
+00100000010000000010110000100100
+01101000000000100000000010100101
+01100000000100100000000001001100
+01011000000000000000000000001000
+00100000001000000010110000100100
+01101000000000010100000101010010
+11111001001000000111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000000010100000101010010
+11111001001111111111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01000100110110001100000000010110
+00100000010000000011001100100110
+01101000000000010100000101010010
+00011111111000100010001000000000
+01101000000000001000000001001100
+00101111111011111111111000000110
+01111001001000001010001000001011
+01101000000000001000000001111000
+01101000000010001000000001111100
+10011000010000001111111000000000
+01101000000010001000000001001000
+10011000010000001111111000000000
+01111101001110100010001000001010
+01101000000000001100010011111111
+01111101001110100010001000000001
+01101000000000010000001001011101
+01101000000010010000001001011111
+10011000010000001111111000000000
+01111101001110100010001000001101
+01101000000001000100011001101000
+01111101001110100010001000001111
+01101000000001000100011001110000
+01111101001110100010001000001110
+01101000000000001100000111001110
+01111101001110100010001000001000
+01101000000000001100000010010010
+00101111111000011111111000001010
+00100000010000001010110001011011
+01011111111111111111111111111000
+10011010001000010010001000000000
+00011010001000100111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000100010000000100010010
+01111101001110100010001000000110
+01101000000100010000000100001110
+01111101001110100010001000000101
+00100000011000000000000000000000
+01101000000100100000000100111000
+01111001001111111111111000011011
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000001000000010101010001100
+01101000000100100000000100111100
+01111001001111111111111000010100
+01100000000100100000000001001100
+00100000001000000010110000100011
+01101000000000010100000101010000
+11000010100000000010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000001010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000010010101010001100
+00100000011000000000000000000000
+01000100110110010100000000010110
+00100000010000000010110001111010
+00011010011000001010010011001101
+11101010010000001000000000000000
+11000001000000000000000000000000
+11000000000000001010110100000110
+11000000000000010010110001111111
+00100000011000000000000000000000
+01101000000010010100001001000001
+00011000010000100010011000000000
+00100000011000000000000000000000
+00100000010000000010111100111101
+00100000001000000011000001111101
+00100000010000000011000010000100
+00100000010000000011000001011010
+00100000010000000011000001011110
+00100000001000000011000010100010
+00100000010000000011001000110001
+01011000000000000000000001001110
+00100000010000000011001000101111
+00100000010000000011001010111010
+00011010011000001010001010010010
+11101010001000100000000000000000
+00100000001000000011001000101100
+00100000010000000010110001111010
+00011010011000001010010010010001
+11101010010010001000000000000000
+00100000010000000010110010010000
+00011010011000001000101010010001
+00100000001000000010111001010110
+00100000010000000010110010010100
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+00011010011000001010010010101110
+11101010010000001000000000000000
+00011111111000010111111000000011
+00011111111011111010001000000100
+00011010011000001111111010010111
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+00100000001000000011001000101111
+00100000010000000011001001101100
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000000101010100010
+11011000010000000000000000000100
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000100000101010100010
+00100000010000000011001000100111
+00100100011110100000000000000000
+01101000000000100100000010100000
+00100000001000000011001000100111
+00100000010000000011001001000001
+01011000000000000000000000000000
+00100000010000000011001000111111
+00100000010000000011001000111010
+00011111111000010111111000000111
+00100000001000000011001000111100
+00100000010000000011001000111010
+01111001001000000111111000000100
+00100000010000000011001000111100
+00100000001000000011001000110101
+00100000010000000011001001011101
+11000000000000001010110010110111
+11000000000000010010110010111100
+00100000011000000000000000000000
+00100000010000000011001000111110
+00011010011000001000101011010001
+00100000010000000011001011010110
+00100000010000000011001001000010
+00100000001000000010110010101100
+00100000010000000011001001011010
+00100000001000000010110010111000
+00011010011000001010001010001100
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001100
+11100000101000001000000000000000
+11000000000100000010110111010010
+00100000010000000011001001011000
+11000000000000001010110011001010
+01011000000000000000000000000001
+00100000010000000011001001011011
+00100000010000000011001001011000
+11000000100000001010110010101100
+00011010011000001010001011010011
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000010110011010101
+11000000000000100010110011010010
+00100000010000000010110010001010
+00100000010000000010110100000100
+00100000001000000010110110001111
+00100000010000000010110011010100
+00100000001000000010110010101100
+01011000000000000000000000000000
+00011010011000001000101011010011
+00100000001000000011001010110100
+00100000010000000011001000111110
+00100000010000000011001001011010
+00100000010000000011001001000001
+00100000001000000010110010101100
+00100000010000000011001001011101
+11000000000000011010110011011000
+00100000010000000011001000111010
+00101111111011000000000000000100
+00100000001000001010110010101001
+00100000010000000011001001011101
+11000000000000001010110011010111
+11000000000000010010110011011000
+00100000011000000000000000000000
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010110011101001
+00100100010101100010110011110100
+00100000011000000000000000000000
+01111000010101100111110000000000
+00011010011000001010001011001110
+11101010001000001000000000000000
+11000001100000001000000000000000
+00011010011000001010001011010000
+11101010001000001000000000000000
+11000001100000000000000000000000
+01011000000000000000000000000001
+00100000010000000010110011111101
+00100000010000000011001000110111
+00100000001000000111111111101011
+00011010011000001010001011010000
+11101010001000001000000000000000
+00100000001110100010110011111111
+00011111111000001111111111111111
+00100000010000000011001000111111
+01011000000000000000000000000010
+00100000010000000010110011111101
+00100000010000000010110010001010
+00100000001000000011001000110111
+00011010011000001000101011010010
+00100000001000000011001010110100
+01011000000000000000000000000011
+00100000010000000010110011111101
+00100000010000000011001001011000
+00100100001110100010110011001000
+00100000010000000010110010001010
+01011000000000000000000000000010
+00100000001000000011001000111000
+11000110100100110000000000000000
+01111001001000000000000000100111
+01000100110110011100000000010110
+00011010011000001010001010001110
+11101010001000001000000000000000
+11000000000000001010110100001111
+00100000010000000011000001101010
+00100100001101000010110100010110
+00100000010000000010110100011011
+00011010011000001000101010001110
+00100000010000000011001011010110
+00100000010000000010110100101100
+00100100001101000010110101111101
+00100000010000000010110011100100
+00100000010000000010110110001111
+00100000010000000010111001111010
+01111001001111111000000000100111
+00100000011000000000000000000000
+00100000011000101000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+00011010011000001010001011000010
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011000010
+11100000101000001000000000000000
+11000000000000100010110100100011
+11000000000000101010110100100111
+00100000011000000000000000000000
+00011010011000001010001010101101
+11101010001000001000000000000000
+00011010011000001000101010101011
+00100000001000000011001010110100
+00011010011000001000101011000010
+00100000010000000011001011010110
+00011010011000001010001010101100
+11101010001000001000000000000000
+00100000001000000010110100100101
+00100000010000000011001001010011
+11000000111111111010111010110001
+01000100110110100100000000010110
+00100000010000000010110100111010
+00100100001101000010110100110110
+00100000010000000010110101010011
+00100000010000000010111001110001
+01011000000000000000000000000001
+00011010011000001000101010001011
+00100000001000000011001010110100
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000011000000000000000000000
+00011010011000001000010011011000
+11101000010000010000000000000000
+00100000010000000111111110011100
+00100100011101000000000000000000
+00011010001000100111111000000000
+01100000000000001000101010101110
+00011010011000001000101010110010
+00100000010000000011001011010110
+00100000010000000010110010101100
+01100000000000001001000110011110
+01101000000000001000101010101110
+00011111111000100010001000000000
+00011010001000001000010000000001
+11011000101000000001000110011111
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000111111100000001
+11011010001000000001000110011110
+11000110100100111000000000000000
+00011010011000001000101010000110
+11100000101010001000000000000000
+00011000010000100111001000000000
+00011010011000001000101000100010
+00011010001000100000110000000000
+00100000001000000111111100000001
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111000001111111000000010
+00011010011000001000101010001000
+11100000101000001000000000000000
+00100000010000000011001000111010
+00100000010000000011001000110101
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111010011111111000000000
+00011010011000001010001010000101
+11101010001010001000000000000000
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+00011010011000001010001011000011
+11101010001010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010001010000110
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110000100010
+00100000001000000111111100000001
+00100000010000000011001001001111
+00100000010000000011001001011010
+00100000010000000010111001101101
+00100000010000000010110010101100
+01100000000000001001000110011110
+00100000010000000010110101110111
+00100000010000000011001000111010
+01111001001000000111111000000011
+00100000010000000011001000111100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000010110100010100
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000001000000010110101001100
+00011010011000001010001010110010
+11101010001000001000000000000000
+00100000001110100010110101101011
+00011010011000001010001011011010
+11101010001000010000000000000000
+00100000001000000111111110011100
+00100000010000000010110001111010
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+00011010011000001000010011011100
+11101000010000010000000000000000
+00100000010000000111111110011100
+00011010011000001000010010110110
+11101000010001000000000000000000
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+00100000010000000010110001111010
+00011010011000001000101010001111
+00100000010000000011001011010110
+00100000010000000010110110100100
+00100100001011000010110110101110
+00100100001101111010110110101110
+00100000010000000010110111010110
+00100000010000000010111001110101
+00100000010000000010110001111010
+00011010011000001010001010000101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000011001000110010
+00100000010000000011001001010011
+11000000111111111010111011010000
+00100000010000000010110011011011
+01011000000000000000000000000000
+00011010011000001000101010001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+00100000001000000010110100110100
+01111000010101111111110000000000
+00100000010000000010110111110111
+00100000010000000010110001111010
+00011010011000001010001011000011
+11101010001000001000000000000000
+11000000000000001010110110101100
+00100000010000000010111000010001
+00100000001000000010111001000101
+00100000010000000010111001000101
+00100000001000000010110110010111
+01000100110110101100000000010110
+00011010011000001010001010001101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001101
+11100000101000001000000000000000
+00100000010000000011001001010011
+11000000111111111010110111001100
+00011010011000001010001010001111
+11101010001010001000000000000000
+00011000010000001000010000000001
+00011010011000001000101010001111
+11100000101010001000000000000000
+00011010011000001010001011001100
+11101010001000001000000000000000
+10011000010001100111111000000000
+00100100001110100010110110010010
+01000100110110110100000000010110
+00100000010000000011001001011101
+11000000000000011010110010111110
+00011010011000001010001011010001
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011010001
+11100000101000001000000000000000
+11000000000000010010110010110011
+00100000010000000010110010101111
+01011000000000000000000000000001
+00100000010000000011001000111000
+00100000001000000010110110001111
+00011010011000001010001010001101
+11101010001000001000000000000000
+11000001111111111000000000000000
+00011010011000001000101010001101
+00100000010000000011001011010110
+00100000001000000010110111010100
+00011010011000001000101010001100
+00100000010000000011001011010110
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000010110111011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+00011010011000001000110000000010
+00011010011000001000101001100100
+00100000001000000111111100000001
+00100000010000000011001001011111
+00011111111010010111111000000000
+00011010011000001000101010000100
+11100000101000001000000000000000
+00011111111000001111111000000001
+00011010011000001000110000000001
+10011000110000001000110000000000
+11101000110000011000000000000000
+00011010011000001000101011000100
+11100000101000011000000000000000
+00100000010000000011001001011111
+00011111111000110111111000000000
+00011111111000010111111000000011
+00011010011000001000101011001010
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+00100000011000000000000000000000
+00100000010000000010100100011000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000001000000010100100110011
+00100000010000000010110111101110
+00100000010000000010110111110011
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+00001000000000001000011000100000
+01111000001001001111110000000000
+00011010011000001010001010001000
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110001000010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010111000000110
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+01000100110110111100000000010110
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01111000010101111111110000000000
+00011000000000000010101000000000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000010110111101110
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+01111000001010000111110000000000
+00011010011000001010001010001001
+11101010001000010000000000000000
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000010111001001101
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00011010011000001000101000000000
+11100000101000001000000000000000
+00011010011000001010001011001101
+11101010001000001000000000000000
+11000000000000010010111000110011
+01000100110111000100000000010111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00011010011000001010001010000111
+11101010001010001000000000000000
+10101000010000000000111000000000
+00100100001000001010111001000101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101010111000111101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010111000111001
+00001001100000000000000000011000
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010111001000101
+01111000001101111111110000000000
+01111000010001101111110000000000
+00100000011000000000000000000000
+01111000010011101111110000000000
+01111000010001101111110000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+00100000010000000010111001001111
+00100000001000000010111001000101
+00100000010000000010100110111011
+00100000011110100000000000000000
+00011010011000001010001011101010
+11101010001010001000000000000000
+11011010001000000000110110011110
+00100000010000000010111001011000
+00011010011000001000101011101010
+11100000101010001000000000000000
+00100000011000000000000000000000
+11011010010000000000000011111111
+00100000001000000010111001011010
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011010010000100111111000000000
+10011000010000010000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000010111001100100
+00011000010011001000010000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00100000010000000010111010011111
+01011000000000000000000000000001
+00100000010000000011001001110010
+01011000000000000000000000000000
+00100000010000000010111001110011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001001110000
+00011111111000001111111000000001
+00011010011000001000101011111100
+00100000001000000011001010110100
+00011010011000001010001011111101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011111101
+00100000001000000011001010110100
+01000100110111001100000000010111
+00100000010000000011001001110000
+00011111111001100111110001111100
+00100000011000010000000000000000
+00011010011000001010001011111101
+11101010001010001000000000000000
+10011000010001100000010000000000
+00100000010000000010111001101101
+01011000000000000000000100000010
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100100001000010010111010001101
+01011000000000000000000100000011
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100000001000010010111010011001
+00100000011000000000000000000000
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000010010111010010011
+00011111111000001111111000000001
+00100000010000000011001001110010
+11000000000000001010111010011111
+01011000000000000000000000001010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+00011010011000001010001011111111
+00100000001000000010111010100101
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000000010111010100111
+00011111111000001111111111111111
+00100000010000000011001001110010
+11000000000000000010111010100111
+01011000000000000000000000000101
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000000
+10011010011000001010001000000000
+11101010001000001000000000000000
+00100000001000000011001001101010
+01011000000000000000000000000010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000001
+00100000001000000010111010100100
+01111001001000000000000000100110
+00100000010000000010110010000011
+01011000000000000000000000000001
+00100000001000000011001001010110
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000010000000011001001010011
+11000000000000001010111010111001
+11000000000000010010111010111101
+11000000000000011010111011000001
+00100000001000000010101010001100
+01011000000000000000000000010001
+00100000010000000011001001010110
+01110000000100011001111010101010
+00100000001000000010111011000100
+01011000000000000000000000010010
+00100000010000000011001001010110
+01110000000100011001111001010101
+00100000001000000010111011000100
+01011000000000000000000000010011
+00100000010000000011001001010110
+01110000000100011001111000100010
+00100000010000000011001000111010
+00011111111000010111111000000111
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000010110101001100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000111111111100111
+00100000010000000011001001010011
+11000001011111111000000000000000
+11000000000010001010111011010110
+11000000000010010010111011011001
+11000000000010011010111011011100
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000000000011
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111001
+00100000010000000111110110000110
+00011010011000001010001001100110
+11101010001000100000000000000000
+00100000010000000011001000101100
+00100000001000000010110110011111
+01111001001111111000000000100110
+00100000010000000010111100001000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111011111010
+00100100001101111010111011111010
+00100000010000000010110111010110
+00100000010000000010110001111010
+00011010011000001010001010010010
+11101010001010100000000000000000
+00100000010000000011000010111110
+00100000001000101010111010101101
+00100000010000000010110001111010
+00011010011000001010001001100110
+11101010001000100000000000000000
+11000000000000000010111011100111
+00100000010000000011001000101100
+00100000001000000010111100011100
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010111100000100
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000010111100000110
+11000000000000000010111100001100
+11000000000000001010111100001110
+00100000011000000000000000000000
+01011000000000000000000110001011
+00100000001000000011001011010000
+11011010001000000000000110001011
+00100000001000000011001010110011
+00100000010000000011001001100111
+00100000010000000011001000100100
+00100000010000000011001000101100
+00100000001000000010110010001010
+00100000010000000010111100001000
+00100000001000000010111011101000
+00100000010000000010110010000011
+00100000001000000010111011101000
+01111001001111111000000000100110
+00100000010000000010110010001010
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111100100111
+00100100001101111010111100100111
+01111001001000000000000000100110
+00100000010000000011001001100011
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111100
+00100000001000000111110110000110
+01111001001000000000000000100111
+01110000000100011001111011111111
+00100000010000000011001000111010
+00100000010000000010110101110111
+00100000001000000010110101010011
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010110010001010
+00100000001000000010111100010110
+00100000010000000011001001100111
+01011000000000000000000011111111
+00100000010000000011001001010110
+00100000001000000010111100010000
+01000100110111010100000000010111
+00100000010000000010110001111010
+01011000000000000011000110110000
+00011010011000001000101011011110
+11100000101000010000000000000000
+00100000010000000010111100111101
+00100000010000000100100011101010
+00100000010000000011001010110110
+01000100110111011100000000010111
+11000000000000000011000001010101
+11000000000000001010111101000101
+11000000000001111010111101000001
+00100000001000000010101010001100
+00100000010000000011001001101100
+11011111001000000000000010000000
+11011000101000000000110110011110
+00100000001000000111111011000110
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000100100011010011
+00100000001000000010111101000010
+01000100110111100100000000010111
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000010111110111101
+00100000010000000100100011010011
+00100000010000000011000000011001
+00100000001000000010111101000111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000001000000011001010011001
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010101
+00100000010000000010111101100101
+00100000010000000011000101101011
+00100000001000000010111110010110
+00100000010000000011001010010100
+11000011100000000000000000000000
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000011001001100111
+00100000010000000011001010011001
+01110000000011010011100000000000
+00100000010000000011001001001111
+00100000010000000010111101100001
+00011010011000001000101000000000
+11011111001000000000000001000010
+00100000001000000111111011010100
+00100000010000000011001000110001
+00100000010000000011001001111101
+00100000010000000011001000101100
+00100000001000000010110010001010
+01000100110111101100000000010111
+00100000010000000011001001001100
+11000000000000001010111110001101
+00100000010000000011001001000101
+11000000000000001010110010001010
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001000100000000000000000
+00011111111000100000010000000000
+01011000000000000000000100111010
+10011010011000001010001000000000
+00011000010000100111111000000000
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01011000000000000000000100110110
+10011010011000001000101000000000
+11100000101000100000000000000000
+00100000010000000010110010001010
+00100000010000000011001001111000
+00011111111000001111111000000001
+00100000010000000011001001111011
+11000001100000010000000000000000
+00100000010000000011001001111010
+00100000001000000011001001001111
+00011100010000100111111000000000
+11011010001000000000000100110110
+00100000010000000011001010111111
+11100000101000100000000000000000
+00100000001000000011001001111010
+11011010001000000000110110011110
+00100000010000000010111110010100
+00011010011000001000101011101011
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+00100000001000000010110010001010
+11011111001000000000000100000000
+00100000001000000010111001100010
+00100000010000000010111110011001
+00100000010000000010111110100101
+00100000001000000010111110110001
+01011000000000000000000110000000
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100111
+01011000000000000000000000000001
+01100000000000001000110101010100
+01011000000000000000000000000000
+11100000101000111000000000000000
+00100000001000000011000110111000
+01011000000000000000000101111110
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001110
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101010
+11011000101000000000110101100100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010110010000000000
+00100000001000000011000111101101
+01011000000000000000000101111111
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001100
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101101
+11011000101000000000110101110100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010111010000000011
+00100000001000000011001000000111
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000001000000010111111001011
+00100000010000000011001010010100
+11000011100000001000000000000000
+01111001001000000111111000000001
+00100000010000000011001010010111
+00100000010000000011001010011100
+00100000010000000010110010000011
+01011000000000000000000000000000
+11011010001000000000000100000110
+00100000010000000011001010111111
+00100000001000000011001011000101
+00100000010000000011000101101110
+00100100001101111010111101011110
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+11011111001000000000000000001000
+00100000010000000111111100000001
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000010101010010111111011001
+11000000001010101010111111101101
+11000000000100010011000000000001
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000011001010111101
+11000000000000001010111111011101
+11000000000000010010111111101000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000010111111110111
+01011000000000000000000000000001
+00100000010000000011001010001001
+01011000000000000000000010000000
+11011010001000000000000100110000
+00100000010000000011001010110011
+00100000010000000011001001111101
+11011010001000000000000100110001
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000000000001
+00100000010000000010111111111111
+01011000000000000000000000000010
+00100000010000000011001010001001
+00100000001000000010111111100001
+00100000010000000011001010111101
+11000000000000001010111111110001
+11000000000000010010111111111001
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000001010111111110110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000110
+00100000001000000011001010110011
+00100000010000000010111111101010
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000000000001010111111111110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000111
+00100000001000000011001010110011
+00100000010000000011001010111101
+11000000000000001011000000000101
+11000000000000010011000000010001
+00100000011000000000000000000000
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000010011000000001001
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000001
+00100000010000000011001010001101
+01011000000000000000000000000000
+01011000000000000000000100000110
+10011010011000001000101000000000
+11100000101000010000000000000000
+00100000001000000010111101011110
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000100000000011000000010101
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000010
+00100000010000000011001010001101
+00100000001000000011000000001100
+01101000000000001000110101010000
+00100000011110100000000000000000
+01110000000011010101000000000000
+01101000000000010000110101001110
+11011000010000000000001010111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001000110010110110
+11000001110111010000000000000000
+01101000000000001000110010110111
+01000100110111110100000000010111
+11000000010100000011000000111011
+11000000010100001011000000101100
+11000000010100110011000001000001
+11000000010100111011000001000011
+11000000010101001011000001001001
+11000000010110000011000001001101
+01110000000011010100001000000000
+00100000011000000000000000000000
+01101000000000001000110010111000
+11000000000000001011000000110001
+11000000010000100011000000110100
+11000000010100111011000000111001
+00100000001000000011000000101010
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+01110000000011001111011110100001
+00100000001000000011000000111111
+01101000000000001000110010111000
+11000000010000001011000000111110
+00100000001000000011000000101010
+00100000010000000011000010010000
+01110000000011010100001000000001
+00100000011000000000000000000000
+01110000000011001111011100010101
+00100000001000000011000000111111
+00100000010000000011001010001111
+11000000000000000011000001000111
+11000000000000001011000000111001
+00100000011000000000000000000000
+01110000000011001111011110100000
+00100000001000000011000000111111
+01110000000011001111011100000000
+01110000000011001111100000000000
+01110000000011001111100100000001
+00100000001000000011000000111111
+00100000010000000011001010011100
+01101000000000001000110010111000
+00011111111000001111111000000010
+00011111111000100111001000000000
+11011000110000000000110010110110
+01011000000000000000000100111100
+10011010011000001000101000000000
+00100000001000000111111100000001
+01000100110111111100000000010111
+00100000010000000011000001111101
+00100000010000000010110001111111
+00100000010000000100100011010011
+00100000001000000011000001010111
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010001
+00100000001000000011000010011000
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000010000000010111111001011
+00100000010000000011001010001011
+00100000011110100000000000000000
+00100000010000000011001010000110
+00100000010000000010111101001100
+00100000010000000011000010010011
+01011000000000000000000000000000
+00011010011000001000101010100111
+00100000001000000011001000101101
+00100000010000000111111111101001
+00011010011000001010001010100111
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+00011010011000001010001010100111
+11101010001000100000000000000000
+00011010011000001010001010101011
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+00011010011000001000101010100111
+11100000101000100000000000000000
+00100000001000000111111111100111
+01011000000000000000000000000001
+00100000010000000011001010000111
+00100000010000000011001010000011
+01011000000000000000000011111111
+00011010011000001000101010101011
+11100000101000001000000000000000
+00100000001000000011000001100111
+01011000000000000000000101011100
+00100000010000000011001011010000
+00100000011110100000000000000000
+00100000010000000011000001101010
+00100100011101000000000000000000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000011001010000100
+11000000000000000010111101001100
+11000000000000001011000010010000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010010010
+00100000001000000011001010010110
+01011000000000000000000000000001
+00100000010000000011001010100101
+01011000000000000000001010000000
+11011000111000000000000000001000
+00100000001000000111111100001000
+00100000010000000011001010100010
+00100000011110100000000000000000
+11011000111000000000000000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100100
+01011000000000000000000000000111
+00100000010000000011001010010010
+00100000010000000011001010010110
+00100000001000000010111101011110
+01000100111000000100000000011000
+00100000010000000011001010001111
+11000001100000111000000000000000
+00100000010000000011000011001011
+00100000010000000011000011100000
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000010000000011000010111100
+00100000010000101011000101110010
+00100000010000000010111101001100
+00100000010000000011001010010100
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000010111101011110
+00100000010000000011000010010011
+00100000010000000011000010111100
+00100000001000101011000011000001
+01011000000000000000000101100100
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011000101
+01011000000000000000000101100000
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011001000
+00100000011000000000000000000000
+01011000000000000000000100101011
+00100000010000000011001011010011
+00100000010000000011001000101010
+10011000010001100111110000000000
+00100000011000000000000000000000
+01011000000000000000000110000010
+00100000010000000011001011010000
+00011010011000001000101010010001
+00100000001000000011001010110100
+01011000000000000000000110000101
+00100000010000000011001011010000
+00100000001000000011000011000011
+01011000000000000000000110001000
+00100000010000000011001011010000
+00100000001000000011000011000011
+00100000010000000011001010010100
+11000011100000111000000000000000
+01111001001000000111111000000111
+00100000010000000011001010010111
+00100000010000000011001010000011
+00100000010000000011001010011100
+01011000000000000000000000000000
+00011010011000001000101011110101
+11100000101000011000000000000000
+11011010001000000000000110000011
+00100000010000000011001010111111
+11100000101000111000000000000000
+00100000010000000011000010111100
+00100100011000101000000000000000
+00011010011000001010001010010001
+11101010001000001000000000000000
+11011010001000000000000110000010
+00100000010000000011001010110011
+00011010011000001010001010010000
+11101010001000001000000000000000
+00100000001000000011000101001010
+01000100111000001100000000011000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000011
+00100000010000000011001010000100
+11000000000000000011000100001110
+11000000000000001011000100110010
+11000000000000010011000011101010
+11000000000000011011000100110010
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000101100000
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110001001
+00100000010000000011001011010000
+00100000010110100011000100001000
+01011000000000000000000110000111
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110111
+11101010001010001000000000000000
+11011010001000000000111110011110
+00100000010000000010111001011000
+00011010011000001000101011110111
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111010
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110001000
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110001000
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000111
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110001001
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100000110
+00100000010000000010111111101010
+01011000000000000000000101100100
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110000110
+00100000010000000011001011010000
+00100000010110100011000100101100
+01011000000000000000000110000100
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110110
+11101010001010001000000000000000
+11011010001000000001000010011110
+00100000010000000010111001011000
+00011010011000001000101011110110
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111001
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000101
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000101
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000100
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000110
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100101010
+00100000010000000010111111011111
+00100000010000000011001001111101
+00100000010000000011001000101100
+01011000000000000000000110000011
+00100000010000000011001011010000
+00100000010110100011000101001100
+00100000010000000011000101001111
+00011010011000001010001011110101
+11101010001010001000000000000000
+11011010001000000000111010011110
+00100000010000000010111001011000
+00011010011000001000101011110101
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111000
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000010
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000010
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000001
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000011
+00100000010000000011001010110011
+01011000000000000000000110000001
+00100000010000000011001011010000
+00100000001000000011001000101111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00100000010000000011001000111100
+00100000010000000010110111011110
+00100000010000000011001001011111
+00101111111011111111111000000000
+00100000001000001011000101011100
+00100000010000000011000101011101
+00100000010000000010110101010011
+00100000010000000010110111110111
+00100000001000000010111001000101
+01000100111000010100000000011000
+00011010011000001000101010000110
+00100000010000000011001011010110
+01011000000000000000000100111011
+00100000010000000011001011010000
+00100000011110100000000000000000
+01011000000000000000000000000110
+00011010011000001000101010000110
+11100000101000001000000000000000
+11011111001000000000000000000110
+01011000000000000000000100101111
+10011010011000001000110000000000
+00011010011000001000101000100010
+00100000001000000111111100000001
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000001000000011000101110010
+00100000010000000010111101011110
+00100000010000000010111000010001
+00100100011101111000000000000000
+00100000001000000011000101010010
+01000100111000011100000000011000
+00100000010000000011000110001000
+00100100001101000010111101011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000001110100010111101011110
+00011111111000001111111000000010
+10011000000000000111001000000000
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+00100000010000000111111100000001
+00100000010000000011001010000110
+00100000010000000011001010110110
+00100000010110100011000010010011
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000000000001011000110011110
+11000000000000010011000111000110
+11000000000000011011000111110010
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000010110001111010
+00100000010000000111111111101001
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001010001011001011
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001000101011001011
+11100000101000001000000000000000
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001010001011000111
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001000101011000111
+00100000001000000011001011000101
+00100000010000000010111110001000
+00100000010000000011001001001100
+01100000000000001000101010100010
+00100000010000000011001001110100
+01101000000000001000101010100010
+00101000010011111111111000000011
+01111001001000001111111000000000
+00011010011000001000101010110010
+11100000101000001000000000000000
+11000000000000001011001000010110
+00100000010000000011001001000101
+00100000010000000011001001110100
+00101000010011111111111000000100
+01111001001000001111111000000000
+00100000010000000011001001001001
+00011010011000001010001011011110
+11101010001000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000001
+01100000000000001000110101010100
+00100000010000000011001010011110
+11100000101000111000000000000000
+00100000010000000011001010011110
+00100100010110100011000110111101
+00100000010000000011001010011110
+00100000010110100011000111000010
+01110000000011010101001000100000
+01101000000000001000110100111000
+01111001001000000111111000000010
+01100000000000001000110100111000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010101000
+01011000000000000000000101000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001010100111
+01011000000000000000000000000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001001110100
+00101000010011111111111000000011
+00100000001000001011001000011011
+11011000101000000000110101100100
+00100000010000000011000111100000
+01101000000001000000110101100100
+00100100010110100011000111100100
+01101000000001000000110101100100
+00100000010110100011000111101001
+00100000010000000010110001111010
+01101000000001000000110101100100
+11011010001000000000000101101000
+00100000010000000011001010111111
+11100000101001000000000000000000
+01011000000000000000000101110000
+10011010011000001010001000000000
+11101010001011000000000000000000
+10011000010001100111110000000000
+00100100010000101011000111101101
+01011000000000000000000101101000
+10011010011000001010001000000000
+11101010001001000000000000000000
+11011010001000000000000101110000
+00100000010000000011001010111111
+11100000101001000000000000000000
+00100000001000000010111101011110
+01011000000000000000000100001011
+10011010011000001000110000000000
+11011111001000000000000000001001
+00100000001000000111111111110011
+01011000000000000000000000000001
+00100000010000000011001010101011
+01011000000000000000000101000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+00100000010000000011001010101010
+01011000000000000000000000000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+01110000000011010101000100010000
+01101000000000001000110100111000
+01111001001000000111111000000001
+01100000000000001000110100111000
+00100000011000000000000000000000
+11011000101000000000110101110100
+00100000010000000011000111100000
+01101000000000010000110101110101
+00100100010110100011001000001001
+01101000000000010000110101110101
+00100000010110100011001000001110
+00100000010000000010110001111010
+01101000000000011000110101110100
+11011010001000000000000101111000
+00100000010000000011001011000100
+01011000000000000000000101111011
+10011010011000001010001000000000
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101011001000000111
+01011000000000000000000101111000
+10011010011000001010001000000000
+11101010001000011000000000000000
+11011010001000000000000101111011
+00100000010000000011001011000100
+00100000001000000010111101011110
+01110000000011010101001000100001
+00100000001000000011000110111001
+01011000000000000000000000000001
+00100000010000000011001010101110
+01011000000000000000000101000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010101101
+01011000000000000000000000000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010111101
+11000000000000001011001000010110
+11000000000000010011001000011011
+00100000011000000000000000000000
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100000
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100100
+00100000010000000011001010111111
+00100000001000000011001000101101
+00100000010000000010110001111010
+00011010011000001000101011001101
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010001010111110
+00100000001000000011001001111111
+00100000010000000010110001111010
+00011010011000001000101010111110
+00100000001000000011001000101101
+00011010011000001010001010101110
+00100000001000000011001001111111
+00011010011000001000101010101110
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011010011000001000101010010000
+00100000001000000011001010110100
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010000101
+00100000001000000011001010110100
+00011010011000001000101001000010
+00100000001000000011001010110100
+01011000000000000000000000000100
+00011010011000001000101011001100
+00100000001000000011001010110100
+00011010011000001010001010000111
+00100000001000000011001011010001
+00011010011000001000101010000111
+00100000001000000011001010110100
+01011000000000000000000000000010
+00011010011000001000101011010000
+00100000001000000011001010110100
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101011001110
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110100
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110100
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110010
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110010
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010010110
+00100000001000000011001011010001
+00011010011000001000101010010110
+00100000001000000011001010110100
+00011010011000001010001011001111
+00100000001000000011001011010001
+01011000000000000000000000000000
+00011010011000001000101011001111
+00100000001000000011001010110100
+00011010011000001010001011010010
+00100000001000000011001011010001
+00011010011000001010001000000001
+00100000001000000011001011010001
+00011010011000001010001010110101
+00100000001000000011001011010001
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010110101
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001011111011
+11101010001000001000000000000000
+01100000000000001100000111011110
+00100000011000000000000000000000
+00100000010000000010110001111010
+01101000000000001100000111011110
+00011010011000001000101011111011
+00100000001000000011001010110100
+00011010011000001010001011111100
+00100000001000000011001011010001
+00011010011000001000101011111110
+00100000001000000011001010110100
+01011000000000000000000100001001
+10011010011000001010001000000000
+11101010001010001000000000000000
+00100000011000000000000000000000
+01011000000000000000000100110101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100110101
+00100000001000000011001010110011
+01011000000000000000000100101011
+00100000010000000011001011001101
+11101010001000100000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011111
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011111
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101011100
+00100000001000000011001010110011
+11011010001000000000000100101111
+00100000001000000011001010110011
+01011000000000000000000100001000
+00100000001000000011001011010000
+11011010001000000000000100001000
+00100000001000000011001010110011
+01011000000000000000000100000101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000101
+00100000001000000011001010110011
+01011000000000000000000100000100
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000100
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000100111011
+00100000001000000011001010110011
+01011000000000000000000000000001
+00100000001000000011001010011010
+01011000000000000000000100001100
+00100000010000000011001011001101
+11101010001000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011110
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000110000000
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111111
+00100000001000000011001010110011
+11011010001000000000000100000010
+00100000001000000011001010110011
+11011010001000000000000100000011
+00100000010000000011001011000111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011101
+00100000001000000011001011010000
+11011010001000000000000101011101
+00100000001000000011001010110011
+01011000000000000000000110001010
+00100000010000000011001011010000
+00100000001000000011001001101010
+01011000000000000000000100001100
+00100000001000000011001011010000
+00011111111000100000010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00100000010000000011001010111111
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011010010000100111111000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+10011010011000001010001000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001010100000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000001000000011001010110100
+01000100111000100100000000011000
+01101000000000001100000010010010
+00100000001110100011001011011000
+11000000000000100010111100110000
+11000000000001111011010000110110
+11000000000001001100010111011110
+11000000000001010011100100101010
+11000000000001110011010110111111
+11000000000010000100010010100100
+11000010100000110011110100000000
+00100000011000000000000000000000
+01000100111000101100000000011000
+01110000000000010101000100000000
+01110000000000010111111100000000
+01110000000000011000000000000000
+01011000000000000000000000000000
+01100000000000101000100110101110
+01101000000000001100000010010010
+00100000001110100011001011100011
+11000000000001010011100101100010
+00100000011000000000000000000000
+00100000010000000111110011010001
+00100000010000000111110110011100
+00100000010000000011001011110110
+01101000000000010100000111110011
+00100000001000000111111110011100
+01101000000000010100000111110001
+00100000001000000111111110011100
+01101000000000010100000111101111
+00100000001000000111111110011100
+01000100111000110100000000011000
+11011010001000000100011001101000
+00100000010000000111111111000100
+00100000011110100000000000000000
+00011111111000100010011000000000
+00100000010000000011001011111111
+00100000001000000011001100100100
+11011010011000000000000000000000
+00100000011000000000000000000000
+11000000000000001011001100010001
+11000000000010000011001101010111
+11000000000000101011001100110101
+11000000000010010011001100111100
+11000000000000110011001101010011
+11000000000000100011001110010100
+11000000000000010011001110011001
+11000000000010011011001110010100
+11000000000010100011001101001011
+11000000000010101011001101001111
+11000000000000011011001100101110
+11000000000001011011001101000000
+11000000000001100011001101000111
+11000000000010110011001101011011
+11000000000011000011001100101010
+11000000000101010011001100011010
+11000000000101011011001100011000
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000000
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01110000000000100010100100000000
+00100000011000000000000000000000
+01101000000000001000001000101001
+00011111111000001111111000000001
+01100000000000001000001000101001
+00011111111001100111110000000001
+00100000001000010011001111011111
+01110000000000100010100100000000
+01101000000000010100001000001010
+01111001001000000111111000001001
+01100000000000010100001000001010
+00100000001000000011001111101001
+01101000000000010100000111110101
+00100000001000000111111110011100
+01101000000000010100000111101001
+00100000001000000111111110011100
+01101000000000010100000111101101
+00100000001000000111111110011100
+01101000000000010100001000001010
+01111001001000000111111000000001
+01100000000000010100001000001010
+00100000001000000011010000010010
+01101000000000010100011010000010
+01111001001000000111111000000111
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000010
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000001
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000100
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000101
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000011
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000000101
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000001001
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001001
+01100000000000010100011010000010
+00100000001000000011010000011000
+01101000000000010100011010000010
+01111001001000000111111000000010
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000001000
+01100000000000010100001000001010
+00100000001000000011001111101001
+01000100111000111100000000011000
+01100000000000001000001000101010
+01101000000000001000001000101010
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000001000101010
+00100000010000000111110011011101
+00100000010000000011001111010110
+00100000010000000011001110000111
+00100000010000000011001110001101
+00100000010000000110010100011011
+01101000000000010100000111111101
+00100000010000000111111110011100
+00100000001000000011001101100001
+11101010011000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+11101010011000010000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000010000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+01101000000010010100001000111111
+00011000010000001010011000000001
+11011010010000000011001101111111
+00100000001000000011001101101101
+00100000010000000011010000101101
+11000000000000001011001110000010
+00100000001000000011010000001010
+01011000000000000000000000000010
+11100010011000001000000000000000
+00011000010000001010010000001000
+11101010010000010000000000000000
+00100000001000000111111110011100
+11011010011000000100001000000101
+11011010010000000011001110001010
+00100000001000000011001101101101
+00100000010000000010001001010010
+00100000001000101011010000001110
+00100000011000000000000000000000
+11011010011000000100011001111110
+11011010010000000011001110010000
+00100000001000000011001101110100
+00100000010000000011001111110000
+00100000010000000011010000001000
+01101000000000010100000111110111
+00100000001000000111111110011100
+00100000010000000011001110101100
+01101000000000010100011010000010
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000100000010100000000
+01101000000000010100011010000010
+11000010100000111011001110011110
+00101111111011000000000000000001
+00100000010000001011001011111101
+01000100111001000100000000011001
+01101000000000010100011010000010
+01111001001111111111111000000000
+01111001001111111111111000000001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000001000000011010000011000
+00100000010000000011001110101001
+00100000001000000011010000001010
+01011000000000000000000000000000
+01100000000000010100001000001000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000111
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000001100011010000010
+00101111111011111111111000000101
+00100000011000000000000000000000
+01011000000000001010101001010101
+01100000000000010000101010101010
+01000100111001001100000000011001
+11011000010000000000000000000010
+11011010001000000000101010101010
+11011010010000000000000011000011
+00100000001000000110011000000110
+01000100111001010100000000011001
+11011000010000000000000000000010
+11011010001000000000101010011010
+11011010010000000000000011000011
+00100000010000000110010111011111
+01101000000000010000101010011010
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100010101011010
+01100000000000001100001000000101
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000001000000010110000110010
+11011000111000000000000000001001
+00100000001000000010110000110110
+01110000010000100000011000000101
+00100000001000000011001111010000
+11011010011000000100001000000110
+11011010010000000011001111010010
+00100000001000000011001101101101
+01110000010000110110001100000001
+00100000011000000000000000000000
+01110000010000110110001100000000
+00100000011000000000000000000000
+01110000000010101001100100001010
+00100000001000000111110110001111
+01110000000010101001100100011101
+00100000001000000111110110001111
+01000100111001011100000000011001
+01101000000000001100001000000111
+01100000000000001000000101101101
+01110000000000100010100000000001
+01110000000010101001100100000011
+00100000001000000111110110001111
+01110000000010101001100100011110
+00100000001000000111110110001111
+01110000000010101001100100000100
+00100000001000000111110110001111
+01101000000000010100011010000111
+01100000000000010100011001111110
+00100000010000000011010000000100
+01110000000010101001100100000001
+00100000001000000111110110001111
+01011000000000000000000000000000
+01100000000000010100011001111110
+01110000000010101001100100000010
+00100000001000000111110110001111
+01110000000010101001100100001111
+00100000001000000111110110001111
+01110000000010101001100100010000
+00100000001000000111110110001111
+01110000000010101001100100001110
+00100000001000000111110110001111
+01110000000010101001100100001101
+00100000001000000111110110001111
+01110000000010101001100100010111
+00100000001000000111110110001111
+01110000000010101001100100011000
+00100000001000000111110110001111
+01110000000010101001100100010110
+00100000001000000111110110001111
+01110000000010101001100100010001
+00100000001000000111110110001111
+01110000000010101001100100010101
+00100000001000000111110110001111
+01110000000010101001100100010100
+00100000001000000111110110001111
+01110000000010101001100100010011
+00100000001000000111110110001111
+01110000000010101001100100011001
+00100000001000000111110110001111
+01110000000010101001100100000110
+00100000001000000111110110001111
+01110000000010101001100100000101
+00100000001000000111110110001111
+01110000000010101001100100011111
+00100000001000000111110110001111
+01110000000010101001100100100000
+00100000001000000111110110001111
+01110000000010101001100100100101
+00100000001000000111110110001111
+01111001001000000000000000001101
+00100000011000000000000000000000
+01111001001111111000000000001101
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000000000010011010000100100
+01011000000000000000000000000001
+11100010011000001000000000000000
+00011000010000001010001000000011
+00011000010000001010010000000110
+11101010001010001000000000000000
+00011010011000001010011000000001
+11100010011010001000000000000000
+00100000001000000011001110000101
+01011000000000000000000000000000
+11100010011000001000000000000000
+01101000000000010100011010000010
+11000011000001001011010000101001
+00100000010000000011010000000010
+01101000000010010100001000111111
+00011000010000001010001000000010
+00011000010000001010010000000100
+00100000001000000011010000100000
+01101000000010010100001000111111
+00011000010000001010011000000000
+11101010011000001000000000000000
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000100000000011010000110100
+00100000001000000011010000001010
+00011000010000001010010000001010
+00100000001000000011001110000101
+00100000011101011000000000000000
+01110000100000001000000100000000
+01011000000000000011010001100011
+01100000000000010100000111101011
+01011000000000000110100101101100
+01100000000000010100000111101101
+01011000000000000011010011110101
+01100000000000010100000111110011
+01011000000000000011010011110100
+01100000000000010100000111101111
+01011000000000000011010001111110
+01100000000000010100000111110101
+01011000000000000011010010110010
+01100000000000010100000111111101
+01011000000000000011010001100101
+01100000000000010100000111111011
+01011000000000000011010001110000
+01100000000000010100000111101001
+01011000000000000011010100000001
+01100000000000010100000111111001
+01000100111001100100000000011001
+00100000010000000011010110011011
+00100000010000000110100101001000
+00100000010000000011010110101101
+00100000010000000111110100001000
+00100000010000000111110011010011
+01011000000000000011010100001011
+01100000000000010100011101100110
+01011000000000000011010011111100
+01100000000000010100011101011101
+01011000000000000011010011111000
+01100000000000010100011101011111
+01011000000000000011010001101100
+01100000000000010100011101100001
+01011000000000000011010110100010
+01100000000000010100011010101001
+01011000000000000011010110100100
+01100000000000010100011010101011
+01011000000000000011010110101001
+01100000000000010100011010110100
+01011000000000000011010110100110
+01100000000000010100011010110110
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000010000000011010110000110
+00100000001000000011010000001010
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000000101100000110
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000000101100000110
+00100000001000000100011101000110
+01101000000000010100011110010111
+01100000000000010100011110010001
+01110000010001110101001100000001
+00100000001000000011010110001111
+01101000000000001100011110011101
+11000000000000001011010001111001
+01101000000000010100011010000010
+11000011000001001011010001111001
+01101000000000001100011110011110
+11000000000000001011001111010000
+01101000000000001100011100000000
+00100100001110100011001111010000
+00100000001000000011001111010010
+01101000000000001100011110011011
+01101000000010001100011110011100
+10011000010000011111111000000000
+11000000000000001011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011010011011111
+11000000000010101011010011101000
+11000000001000000011010010000101
+00100000011000000000000000000000
+01101000000000010100010100001001
+11000000000000001011010010001100
+01101000000000010100001111011000
+00100000001110100011010010100010
+01110000010001111000101000000010
+01110000010001111000111100111100
+00100000011000000000000000000000
+01101000000000010100010010011010
+00100000001110100011010010100000
+01110000010001111000101000000001
+01101000000010010100011110110100
+01101000000000010100010010010110
+10011000010000001111111000000000
+01100000000000010100010010010110
+00011111111000100010001000000000
+01101000000000010100010010011000
+10011000010000001111111000000000
+01100000000000010100010010011000
+10011010001000001111111000000000
+00011111111000110000010000000000
+01101000000000010100011111000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100010010011010
+01110000010001111001000000000001
+00100000011000000000000000000000
+01110000010001111000101000000011
+00100000011000000000000000000000
+01110000010000010111001000000000
+01110000010001111001000000000000
+01101000000000010100001111010110
+01101000000010010100011110111110
+10011000010001100111110000000000
+01111001001000010010001000000000
+01101000000000010100011111000000
+01101000000010010100001111010110
+10011000010001100111111000000000
+01111001001000010010001000000001
+00101010001000000000011000000011
+00100000011000001000000000000000
+01101000000001000100011110111110
+01100000000001000100010010010110
+01110000010001111001000000000001
+00100000011000000000000000000000
+00100000010000000011001101111011
+00100000010000000011010010111001
+00100000010000000011010010111110
+00100000010000000011010011010101
+00100000010000000011010011001010
+00100000010000000011010011000100
+00100000001000000011010011011001
+11011010011000000100011110011001
+11011010010000000011010010111100
+00100000001000000011001101101101
+01110000010001111001101000000000
+00100000011000000000000000000000
+11011010011000000100011110010011
+11011010010000000011010011000001
+00100000001000000011001101110100
+11011010011000000100011010111111
+11011010010000000100011010011110
+00100000001000000011010110010001
+11011010011000000100011110001111
+11011010010000000011010011000111
+00100000001000000011001101101101
+01101000000000010100010010011010
+01100000000000001100000101110010
+00100000011000000000000000000000
+11011010011000000100011110010000
+11011010010000000011010011001101
+00100000001000000011001101101101
+01101000000000001000010000111111
+00101111111000001100000000000000
+00100100001000001011010011010011
+01110000010001111000101000000001
+00100000010000000011010000010110
+00100000001000000101101010111111
+01110000010001111001000000000001
+00100000011000000000000000000000
+11011010011000000100011110010001
+11011010010000000011010011011000
+00100000001000000011001101110100
+00100000001000000011010000011010
+11011010011000000100011110001101
+11011010010000000011010011011100
+00100000001000000011001101110100
+01101000000000010100011110100111
+01100000000000010100011110001101
+00100000001000000011010110101111
+01101000000000010100011110100111
+01100000000000010100011110001101
+01011000000000000000000000000000
+01100000000000010100011110010011
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000010000000011010110000110
+01110000010000010111001000000000
+00100000001000000011001111111000
+01011000000000000000000000000000
+01100000000000100100011110001101
+01100000000000011100011110001010
+01100000000000010100010100001001
+01110000010001111010000000000001
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000111111000111000
+01101000000000001100011101011001
+11000001000000000000000000000000
+00100000010000000011010110001111
+00100000001000000011010101101110
+00100000001000000011010100001000
+01101000000000001100011101011001
+11000001100000010000000000000000
+00100000001000000011010100001000
+11011010011000000100011011001101
+00100000010000000011010110000010
+11011010011000000100011011000110
+00100000001000000011010110000100
+01110000010000110110111000000000
+11011010011000000100011011011011
+00100000010000000011010110000010
+11011010011000000100011011010100
+00100000001000000011010011111011
+01101000000000001000010001110111
+11000000000010010011010100000100
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000001101011010100110110
+11000000000001011011010101110001
+00100000011000000000000000000000
+01101000000000001100011101010011
+00100000011110100000000000000000
+00100000001000000110100101111000
+00011010001000100111111000000000
+00100000001110100011010100010000
+00011000111000100111111000000000
+11000000000000000011010100010011
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000011010100011011
+00100000011000000000000000000000
+01110000010001111001110100000001
+11011010011000000100011011110111
+00100000010000000011010110000010
+11011010011000000100011011110000
+00100000010000000011010110000100
+01101000000000010100011010000010
+11000011000001001011010100110010
+00100000001000000011010100100001
+01110000010001111001110100000000
+00100000001000000011010100011101
+01101000000000001100011110011010
+11000001100000001000000000000000
+01110000010001111001100100000101
+00100000011000000000000000000000
+01101000000000001100011110011010
+00011111111000001111111000000001
+01100000000000001100011110011010
+11000000000000001011010100100111
+11000000000000010011010100101011
+00100000011000000000000000000000
+00100000010000000011010101011100
+01110000010001110111000100000001
+11011010011000000100011101101100
+00100000001000000011010101000100
+01110000010001111001101000000000
+01110000010001110111000100000010
+11011010011000000100011101101100
+00100000010000000011010101000100
+01101000000000001100011110011110
+11000000000000001011010101010001
+00100000011000000000000000000000
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000001000000011010110001111
+01000100111001101100000000011001
+00100000010000000011011011111100
+11101010001000001000000000000000
+11000000000000011011010100111100
+11000000000000111011010101000000
+00100000011000000000000000000000
+01101000000000001100011110011110
+11000000000000000011010101010001
+11000000000000001011010101011100
+00100000011000000000000000000000
+11101010010000001000000000000000
+11000000000000001011010101100100
+11000000000000000011010101101001
+00100000011000000000000000000000
+01000100111001110100000000011001
+01101000000000001100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+00011010011000001000110000000110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111001000000101
+00011010011000001000110000000011
+00100000010000000011011011110000
+11100000110000001000000000000000
+00011010011000100010001000000000
+00100000001000000111111000111101
+01101000000000001100011101011001
+00100000011110100000000000000000
+01110000010001111001111000000001
+11011010011000000100011011101001
+00100000010000000011010110000010
+11011010011000000100011011100010
+00100000010000000011010110000100
+01110000010001111000000000000100
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011110
+00100000011110100000000000000000
+01110000010001111001111000000000
+00100000010000000011010110000110
+01110000010001111000000000000100
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000001
+01110000010001111000000000000111
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000000
+01110000010001111000000000000111
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011111
+00100000011110100000000000000000
+00100000001000000011010101010001
+11101010001000010000000000000000
+01100000000000010100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+01101000000000001100011110100000
+00100000011110100000000000000000
+01110000010001111010000000000000
+01101000000001000100011110110110
+01100000000001000100010010010110
+01110000010001111001000000000010
+00100000010000000011010110101111
+00100000010000000011010110111001
+01110000010001111000000000000111
+01101000000000001100011110011111
+01100000000000001100011110000011
+11011010011000000100011101111011
+00100000001000000011010101000100
+11011010001000000000000000000001
+00100000001000000011010110000101
+11011010001000000000000000000000
+00100000001000000011010110001100
+11011010001000000000000000000000
+00100000010000000111110100011001
+11011010001000000000000000000001
+00100000010000000111110100011001
+01101000000000001100011110100001
+00100000001000000110100111010111
+00100000010000000111110100000100
+11011111001000000000000000000111
+00100000001000000111110100100110
+11011010011000000100011010111000
+11011010010000000100011010011010
+00100000010000000011010110010110
+00100000010000000011010110000100
+01101000000000010100011110010101
+01100000000000010100011110010011
+00100000001000000011001111111010
+11101010010000010000000000000000
+01100000000000010100000101010100
+11101000110000010000000000000000
+01100000000000010100010010000010
+00100000011000000000000000000000
+11011010001000000000000000000000
+00100000010000000110100110100110
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000010000000110100110101110
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001101100000001
+00100000011000000000000000000000
+01110000010001111001101100000000
+00100000011000000000000000000000
+01110000010001111001110000000000
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001110000000001
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000001000000110100110101110
+01110000010000100010110100000000
+00100000001000000110100010101000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011110110000
+11011010001000000100011110101010
+00100000010000000110100100110000
+01100000000000001100011110101001
+11000000000000000011010110111110
+00011111111001100111110001100100
+00100100001000010011010110111100
+01100000000000001100011110000011
+01110000010001111000000000000101
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111000001101100100
+00100000001000000011010110111001
+00100000001000000011010000011010
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+01011000000000000011011000110001
+01100000000000010100000111101011
+01011000000000000011011000110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000011011000110101
+01100000000000010100000111110011
+01011000000000000011011001001011
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+01011000000000000011011011110110
+01100000000000010100000111111001
+01011000000000000011011001111010
+01100000000000010100000111111101
+00100000010000000010110001111010
+01011000000000000011011100100010
+00011010011000001000101011011110
+11100000101000010000000000000000
+01011000000000000011010111101101
+01100000000000010100011101011011
+01011000000000000011010111101111
+01100000000000010100011101011111
+01000100111001111100000000011001
+00100000010000000011011000101000
+00100000010000000111111000111000
+01110000010000010111001000000010
+01110000010010011111011000000000
+01101000000000001100011111001011
+01100000000000001100011010011010
+11000000000000000011010111101110
+01101000000000001100011111001100
+01100000000000001100011010000110
+01110000010000110110111000000000
+00100000010000000011011000001111
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001111111001100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000001000000011011000001111
+01110000010001111111001100000010
+01110000010000110110111000000001
+00100000010000000011011000001111
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+11011000101000000100001110110111
+01101000000000001100010010100000
+00011111111000010000010011110000
+00011000010100011000010000000000
+00100000010000000011011000001001
+11100000101010001000000000000000
+00011111111000010000010000001111
+00100000010000000011011000001001
+11100000101010001000000000000000
+00100000010000000101011110100110
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001101110010
+11011000110000000100001110110000
+00100000010000000111111100000001
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001110010010
+11011000110000000100001110110000
+00100000001000000111111100000001
+00011000010001100111110000001001
+00100000001000010011011000001101
+00011000010000001000010000110111
+00100000011000000000000000000000
+00011000010000001000010000110000
+00100000011000000000000000000000
+01101000000000001100011111000000
+11000000111111111011011000100001
+01101000000000001100011110111110
+11000000111111111011011000100100
+01101000000000001100011111001001
+11000000111111111011011000100110
+01101000000000001100011100101100
+00011111111000100111001000000000
+01011000000000000100011100101101
+00011111111000100010001000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000011111111011011000011111
+00011111111000100000010000000000
+00100000010000000110100000001110
+11000010000000000011011000011001
+00100000011000000000000000000000
+01101000000001000100011111000000
+01100000000001000100011100101111
+00100000001000000011011000010001
+01100000000000001100011100101101
+00100000001000000011011000010011
+01100000000000001100011100101110
+00100000001000000011011000010101
+11011010001000000000000000000000
+00100000010000000110100110100110
+00100000010000000011011111100100
+00100000010000000010110001111101
+00100000001000000011011000101101
+01110000010001111100111101100100
+01101000000000001100011111001001
+01100000000000001100011101000100
+00100000001000000110100010101000
+00100000010000000110100000110101
+00100000001000000110100101101100
+00100000001000000110100101101100
+00100000001000000110100101111000
+00100000010000000011011001000010
+00100000010000000011011111101110
+00100000010000000011011000111001
+00100000001000000011011000110100
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000001100100111110110
+11000000000000001011011000111110
+00100000011000000000000000000000
+01101000000000001100011111101010
+11000001000000001000000000000000
+01110000010001111110101000000001
+00100000001000000011011001010100
+01101000000000010100011010000010
+11000100000001001000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000100011100011000
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000100011100011000
+00100000001000000100011101000110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011011001010001
+11000000000010101011011001100000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000011001000100000
+00100000001000000011011001010110
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010001111100111000010100
+01110000010000001001000100000000
+00100000010000000011001111111000
+00100000010000000011010000010110
+01101000000000001100011110111101
+11000000000000001011011001011110
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011001
+01011000000000000000000000000010
+00100000010000000011001000100000
+01011000000000000000000000000000
+01100000000000101100011110011100
+01011000000000000000000000000100
+00100000010000000110100111010111
+01011000000000000000000000000101
+00100000010000000110100111010111
+01011000000000000000000000010100
+00100000010000000110100111010111
+01011000000000000000000000010101
+00100000010000000110100111010111
+01011000000000000000000000010110
+00100000010000000110100111010111
+01011000000000000000000000000111
+00100000010000000110100111010111
+00100000010000000111111000111000
+01110000010001110101111000001010
+01110000010001110110000000001010
+01110000010001110110001000001010
+01110000010000010111001000000010
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+00100000001000000011001111111010
+00100000010000000011011100111011
+00100000010000000011011100111110
+00100000010000000011011101000001
+00100000010000000011001101111011
+00100000010000000011011011001000
+00100000010000000011011010100001
+00100000010000000011011010001010
+00100000010000000011011010000011
+00100000001000000011011010001111
+11011010011000000100011110011010
+11011010010000000011011010000110
+00100000001000000011001101101101
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101100000001
+00100000011000000000000000000000
+11011010011000000100011111101101
+11011010010000000011011010001101
+00100000001000000011001101110100
+01110000010001111110101000000010
+00100000001000000011011001100010
+11011010011000000100011111110001
+11011010010000000011011010010010
+00100000001000000011001101101101
+01101000000000001100011111110010
+00100000001110100011011010011110
+01110000010001111111000100000010
+01110000010001111111001000000000
+01011000000000000000101000000010
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011010011011
+00100000001000000011011101100010
+01011000000000000000101000000010
+01100000000000010100011101010100
+00100000001000000011011101100010
+01011000000000000000000000000000
+01100000000000100100011101010010
+00100000001000000011011101100010
+01101000000000001100011111001000
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000011000001001011011011000110
+11011010011000000100011111001110
+11011010010000000011011010101000
+00100000001000000011001101101101
+01101000000000001100011111001101
+01100000000000001100011111001110
+01101000000000001100011111010001
+00100100011110100000000000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011111101000
+11011010001000000100011111100010
+00100000010000000110100100110000
+01101000000010001100011111001111
+10011000010001100111110000000000
+00100000001000010011011010110110
+01100000000000001100011111001111
+00011111111000100000010000000000
+01100000000010001100011111010000
+01101000000000001100011111001010
+10011000010001100111110000000000
+00100000010000010011011011000001
+01100000000010001100011111011011
+11011111001000000000000000000110
+11011000110000000100011111010110
+00100000010000000011011011110000
+01100000000000001100011111011100
+11011010001000000100011111010011
+00100000001000000111111000111101
+01101000000000001100011111010010
+00100100011110100000000000000000
+01110000010001111101001000000001
+11011010001000000000000000000001
+00100000001000000111110100011110
+11011010001000000000000000000001
+00100000001000000111110100011001
+11011010011000000100011110100100
+11011010010000000011011011001011
+00100000001000000011001101101101
+01110000010001111010010000000101
+01110000010001111010011000000000
+01101000000000001100011110100101
+11000000000000001011011011101110
+11000000000000000011011011101100
+11011000110000000100011110011100
+00011000110000100010001000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000000000000011011011100011
+11000000000000001011011011100110
+11000000000000010011011011101001
+01101000000000001100011110100110
+00011111111000001111111000000001
+01100000000000001100011110100110
+11000010000000000011011011010011
+00100000011000000000000000000000
+01101000000000001100011110100110
+11011010010000000100011111000000
+10011010010000001010010000000000
+11101010010010001000000000000000
+00100000011000000000000000000000
+00100000010000000011011011011110
+00100000010000000110100000100101
+00100000001000000011011011011001
+00100000010000000011011011011110
+00100000010000000110100000101001
+00100000001000000011011011011001
+01101000000000001100011110100101
+11000000000000001011011011100011
+00100000001000000011011011100110
+01110000010001111010010100000001
+00100000001000000011011011010000
+01110000010001111010010100000000
+00100000001000000011011011010000
+11011010001000000000000000000000
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000011011011110001
+00011010001000010111111011111111
+00100000011000000000000000000000
+01101000000000001000010001110111
+11000000000010010011011011111001
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000010100011011100010000
+00100000011000000000000000000000
+01000100111010000100000000011010
+11101010001000101000000000000000
+01100000000000101000101100010010
+01101000000000010000101100010010
+11011000010000000110101101011010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000101100010101
+00011111111100001111111000000000
+01100000000000010000101100010101
+00011111111000100111001000000000
+00011010001000001010001000000101
+00011010001000100000110000000000
+11011000101000000000101100010111
+00100000010000000111111100000001
+11101000110000001000000000000000
+01100000000000001000101100100001
+11011010001000000000101100010100
+11011010010000000000101100010111
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000101100011101010010
+01100000000000101100011101010111
+00100000010000000011011011111100
+00011010010000100000110000000000
+11011000101000000100011101010010
+11011111001000000000000000001010
+00100000010000000111111100000001
+01000100111010001100000000011010
+11101010001000001000000000000000
+11000000000000010011011101001010
+11000000000000011011011101011100
+11000000000000100011011101100010
+11000000000000101011011101100010
+11000000000000110011011110110001
+11000000000000111011100001001001
+11000000000001000011100001001100
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010010011111011000000001
+01011000000000000000000100001100
+00100000010000000011001011001101
+00100000010000000011011100010000
+01101000000000001000101100010100
+11000000000000100011011100101110
+11000000000000101011011100101110
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100100010110100011011100110101
+01101000000000001100011101010100
+00100100010110100011011100110111
+01101000000000001100011101010110
+00100100010110100011011100111001
+00100000011000000000000000000000
+01110000010010011111001100000101
+00100000011000000000000000000000
+01110000010010011111010000000101
+00100000011000000000000000000000
+01110000010010011111010100000101
+00100000011000000000000000000000
+11011010011000000100100111110011
+11011010010000000011011101000100
+00100000001000000011001101101101
+11011010011000000100100111110100
+11011010010000000011011101000110
+00100000001000000011001101101101
+11011010011000000100100111110101
+11011010010000000011011101001000
+00100000001000000011001101101101
+01110000010001110101001000000000
+00100000001000000011011101100010
+01110000010001110101010000000000
+00100000001000000011011101100010
+01110000010001110101011000000000
+00100000001000000011011101100010
+00100000010000000011011101001100
+00100000001000000011011101001111
+01101000000000001100011101010010
+01100000000000001100011101011111
+00100000001000000011011101110011
+01101000000000001100011101011110
+00100000010000000011011101010100
+01101000000000001100011101010011
+01100000000000001100011101011101
+00100000001000000011011101110000
+11000000000000010011011101011000
+11000000000000011011011101011010
+01100000000000001100011101011110
+00100000011000000000000000000000
+01110000010001110101111000000101
+00100000011000000000000000000000
+01110000010001110101111000001010
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100000010000000011011101010100
+01101000000000001100011101011110
+00100000010000000011011110011110
+00100000010000000011011110100001
+00100000001000000110100111000100
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000110100011101010010
+01100000000000110100011101011101
+01101000000000001100011101011110
+01101000000010001100011101100000
+10011000010000010111111000000000
+01101000000010001100011101100010
+10011000010000010111111000000000
+00100000010110100011011101111001
+01000100111010010100000000011010
+00100000010000000011011101110000
+00100000010000000011011101110011
+00100000001000000011011101110110
+11011010010000000100011101100011
+11011000110000000100011101011101
+00100000001000000011011101111011
+11011010010000000100011101101011
+11011000110000000100011101011111
+00100000001000000011011101111011
+11011010010000000100011101110011
+11011000110000000100011101100001
+00100000001000000011011101111011
+01110000010001111101000100000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000000011011110000111
+11000000000000001011011110000000
+11000000000000010011011110000010
+00100000011000000000000000000000
+01110000010001110111101100000000
+00100000001000000011011110000011
+01110000010001110111101100000001
+11101000110000001000000000000000
+01100000000000001100011101111101
+11101010010001000000000000000000
+00100000001000000011011110001100
+11101010010000001000000000000000
+00100000010000000110100111010111
+00011010010000001010010000000001
+11101010010000001000000000000000
+00100000001000000110100111010111
+01100000000001000100011101111110
+01110000010001111101000100000001
+01101000000000001100011101111011
+11000000000000000011011110011010
+01101000000000001100011101111111
+01100000000000001100011110000000
+01101000000000001100011101111110
+00100000010000000110100111010111
+01101000000000001100011101111101
+00100000010000000011011110011110
+01100000000000001100011110000101
+01101000000000110100011110000000
+01100000000000110000101010011010
+00100000001000000110100110101110
+01101000000000001100011101111110
+01100000000000001100011110000000
+01101000000000001100011101111111
+00100000001000000011011110010011
+00011111111011111111111000000101
+00011111111000001111111000110010
+00100000011000000000000000000000
+11011000010000000010111011100000
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000010000100010001000000000
+01011000000000000010111011100000
+10011000010001100010010000000000
+00100000011000000000000000000000
+01101000000100001000000010000010
+01111001001000000111111000000010
+01100000000100001000000010000010
+01011000000000000000000010011110
+01100000000100010000000001101000
+01100000000100010000000001101010
+00100000011000000000000000000000
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000010100011101010010
+01100000000000010100011110000111
+01101000000000001100011111101010
+11000000100000001011011110111001
+01101000000000010100010010100000
+01100000000000010100011110000111
+01000100111010011100000000011010
+00100000010000000011011110101010
+00100000010000000011011111011100
+01011000000000001011101110000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+11011111001000000000000000010000
+00100000010000000011011111011100
+01101000000000010100011110000111
+11000010100000000011011111001001
+01011000000000000001110000100000
+00100000010000000010101010001111
+00100000010000000011011111100000
+00100000001000000011011111001100
+01011000000000000011100001000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+01101000000000010100011110000111
+00011111111000110111111000000000
+01100000000000010100011110000111
+11000010000000000011011111000010
+01110000010001111111000100000010
+01110000010001111111001000000001
+01011000000000000000101000000001
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011111011001
+00100000001000000011011101100010
+01011000000000000000101000000001
+01100000000000010100011101010100
+00100000001000000011011101100010
+01101000000100001000000010000101
+00011111111000011111111001000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000100001000000010000101
+00011111111000010111111010111111
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+00100000010000000010110001100101
+01101000000010001100011110111100
+01100000000010001100011110000110
+00100000010000000110011111111011
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101000000001
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+01101000000000001100011110011011
+00100100011110100000000000000000
+01101000000000010100011010000010
+11000010100001001011011111110110
+01101000000000001100011111101010
+11000001100000001000000000000000
+01000100111010100100000000011010
+00100000010000000011100001000111
+00100100011000001000000000000000
+01011000000000001000110010100000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100100011000001000000000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011011111111110
+11011010001000000000000000000000
+11011111001000000000000000010000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100100001000001011100000000101
+01011000000000000010101000110000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100000001000001011100000010010
+01011000000000000000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+11000010000000000011100000000101
+00100000001000000011100000011011
+01011000000000001000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011100000010110
+11000010000000000011100000000101
+01000100111010101100000000011010
+00011010001000100111111000000000
+01100000000000010100011110001001
+01100000000000010100011110010111
+01101000000000001100011111101010
+11000000000000001011100000100111
+11011111001000000000000000000111
+11011000110000000100011110010010
+00100000010000000011011011110000
+01100000000000001100011110011001
+11011010001000000100011110001111
+00100000001000000111111000111101
+01101000000000001100011111101111
+00011111111000001111111000000001
+01100000000000001100011111101111
+00011111111001101111110000000010
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000000001110111111000000000
+00100100001110100011100000111000
+01101000000000001100011110111111
+10011000010001100111110000000000
+00100000010000101011100000111101
+11011111111000000100011110011100
+00011000010000001000010111111111
+10011000010000001010001000000000
+11011111111000000000000000000000
+11100010001000001000000000000000
+00100000011000000000000000000000
+11011111111000000100011110011100
+10011000010000001010001000000000
+11011111111000000000000000000010
+11100010001000001000000000000000
+00100000011000000000000000000000
+01110000010001111111000000000001
+00100000011000000000000000000000
+00011100010000100111111000000000
+01100000000000100100011110001011
+00100000011000000000000000000000
+00011100010000100111111000000000
+01101000000010100100011110001011
+10011000010001100111111000000000
+00011111111001100111110011001000
+00100000011000000000000000000000
+01101000000010001100011110000110
+00100000001000000110100000011101
+01101000000001000100011101010010
+01100000000001000100011110011100
+00100000011000000000000000000000
+01101000000000001100011110111001
+01100000000000001100011110101111
+01101000000000001100011110111010
+01100000000000001100011110110000
+01101000000000001100011110111011
+01100000000000001100011110110001
+11011111001000000000000000001101
+11011000110000000100011110101010
+00100000010000000011011011110000
+01100000000000001100011110110111
+11011010001000000100011110100111
+00100000001000000111111000111101
+00100000010000000110010111000010
+01110000010001101111011001111010
+00100000010000000011100001101101
+00100000010000000011100001100111
+01011000000000000011100001100000
+01100000000000010100000111111101
+11011010001000000000000000000000
+00100000001000000110100110100110
+01101000000000010100011010100001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010100011010100001
+11000001100000000000000000000000
+01110000010001101010000000000000
+00100000011000000000000000000000
+01000100111010110100000000011010
+01101000000000001100011010100100
+00011111111001100111110000101000
+00100000011000010000000000000000
+01110000010001101010010000000000
+00100000011000000000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110010111011111
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+01000100111010111100000000011010
+00100000010000000011100001111100
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100001110110
+00100000011000000000000000000000
+01000100111011000100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011001100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11101000110000001000000000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00011010001000001000110000000011
+11101000110010001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011010100000000011011
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+00100000010000000011100010000001
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100010010011
+00100000011000000000000000000000
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+11011010011000000000001011100101
+11101010011000010000000000000000
+11011000010000000101010110101010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010011000000000
+11101010011010011000000000000000
+01011000111111111111111111111111
+10011000010001100111110000000000
+00100000001000101011100010101000
+00100000010000000011100010001101
+00100000001101000011100010101000
+00100000011000000000000000000000
+01000100111011011100000000011011
+00011010011000001010011000000100
+11101010011000001000000000000000
+01101000000010001100011011110110
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000001100011011110110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+00011010011000001010011000000001
+11101010011000001000000000000000
+01100000000000001100011011110101
+00011111111000100111001000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11000000000000000011100011000010
+11000000000000001011100011001111
+11000000000000010011100011010100
+11000000000000011011100011011001
+11000000000000100011100011011110
+11000000000000101011100011100011
+11000000000000110011100011101000
+11000000011111111011100011101010
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010011010
+01100000000000001000101010011010
+11011000010000000000000000000000
+01100000000010001000101010011011
+01011000000000000010011100010000
+01100000000000011000101010011100
+11101010011000001000000000000000
+01100000000000001000101010011111
+00100000010000000110100110101110
+00011010011000010000110000000001
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011010011000100000110000000000
+01101000000000001100011010011011
+01100000000000001000101010011010
+11011000010000000000000000000001
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011100
+01100000000000001000101010011010
+11011000010000000000000000000010
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011101
+01100000000000001000101010011010
+11011000010000000000000000000011
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011110
+01100000000000001000101010011010
+11011000010000000000000000000100
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011111
+01100000000000001000101010011010
+11011000010000000000000000000101
+00100000001000000011100011000110
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010100000
+11000000100000001011100011101110
+00100000010000000011100011110000
+00011010011000010000110000000100
+00100000011000000000000000000000
+01000100111011100100000000011011
+00100000010000000011100001110001
+00100000001101000011100011111110
+01101000000000001100011010100100
+00011111111000100000010000000000
+00011111111000001111111000000001
+01100000000000001100011010100100
+00100000010000000011100001100111
+00011000010010111000010000000000
+01011000000000000100011010100101
+10011000010000001000101000000000
+11101010011000100000000000000000
+11100000101000100000000000000000
+00100000001000000011100100000011
+00011010011000001000110000000011
+11101000110000001000000000000000
+00100000011110100000000000000000
+11101010011000100000000000000000
+11100010001000100000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110011000000110
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000011000000000000000000000
+01101000000010001100011010011010
+00100000010000000110100000101001
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000010000000011100100011101
+01101000000000001100011010100111
+00100100011110100000000000000000
+00100000010000000010110000101001
+01101000000100100000000100111000
+01111001001111111111111000001111
+01100000000100100000000001001100
+00100000010000000010110000100001
+11011000010111111111111111111111
+00100000001000000010101100101010
+01101000000000001100011010100111
+00100000001110100101011011111001
+00011111111000001111111111111111
+01100000000000001100011010100111
+00100000001000000101011011111001
+00011111111011111111111000010100
+11011000110000000100011010101000
+10011000110000001000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000100010001000000000
+00011010001000100111001000000000
+11011000101000000100001101110010
+00100000010000000111111100000001
+00011010001000100111111000000000
+00011111111000001111111000000010
+01100000000000001100001101101111
+00100000011000000000000000000000
+00100000011101011000000000000000
+00100000010000000101011110100011
+00100000010000000110100010101000
+01011000000000000011100110000010
+01100000000000010100000111110011
+01011000000000000011100101101110
+01100000000000010100000111110001
+01011000000000000011100110000110
+01100000000000010100000111110101
+01011000000000000011100101101101
+01100000000000010100000111101111
+01011000000000000011100101101001
+01100000000000010100000111101001
+01011000000000000011101010110111
+01100000000000010100000111111011
+01011000000000000011110000110010
+01100000000000010100010101101111
+01011000000000000011110011000010
+01100000000000010100000111111001
+01011000000000000011110011010111
+01100000000000010100000111111101
+00100000010000000011100101111111
+01000100111011101100000000011011
+00100000010000000011100101000101
+00100000010000000011100101100100
+00100000010000000010110001101111
+00100000001000000011110001001000
+01101000000000100100011010101010
+01100000000100100000000001010100
+01101000000000100100011010101110
+01100000000100100000000001011010
+01101000000100001000000010000001
+00011111111000011111111000000100
+00011111111000010111111011111100
+01100000000100001000000010000001
+01110000100000000110001000000000
+01101000000000010100011010101010
+01100000000100010000000001011000
+01101000000000010100011010101110
+01100000000100010000000001011110
+01100000000100010000000001100000
+01101000000100100000000001111000
+01111001001000000111111000000111
+01100000000100100000000001111000
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000000
+01110000100000000110001010000001
+01101000000000001100011010111111
+00101111111011111111111000000000
+01101000000110001000000001100010
+01111001001000001000010000000100
+01100000000110001000000001100010
+00100000011000000000000000000000
+00100000010000000011100101111111
+00100000001000000011100101000101
+01101000000010001100011010011110
+00100000010000000110100000001110
+00100000010000000011100111100110
+01101000000010001100011010011100
+00100000001000000110011111111011
+01101000000010001100011010011100
+00100000010000000110100000011101
+00100100001000001011001111010010
+00100000001000000011001111010000
+00100000011000000000000000000000
+00100000010000000011100101110000
+00100000001000000011110011101001
+01101000000000001100011010000010
+11000011000000100011100101111111
+01000100111011110100000000011011
+01011000000000000011111011111111
+01101000000010100100011011000101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000010100011010000010
+11000010100000101011100101111111
+01101000000000001100011010111111
+11000011100000110000000000000000
+00100000010000000011110011101100
+00100000010000000011010000001110
+00011100010000100111111000000000
+01100000000000100100011011000101
+00100000011000000000000000000000
+00100000010000000011110011101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000001000000011100111101011
+00011010011000100111111000000000
+11000000000000001011100111010100
+11000000000000010011100110100011
+11000000000000100011100111010111
+11000000000000101011100111000100
+11000000000001000011100110101010
+11000000000001001011100110110001
+11000000000001010011100111001001
+11000000000001011011100110110110
+11000000000001100011100111000010
+11000000000010011011100111010111
+11000000000010100011100111001111
+11000000000010101011100111000110
+11000000000100001011100111001010
+11000000000100011011100111001011
+11000000000100100011100111001110
+11000000000110000011110010001010
+11000000000110001011110010001100
+11000000000110010011110010011010
+11000000000110011011110010011000
+11000000000110100011110010000100
+11000000000110101011110001110011
+11000000000110110011110010000010
+11000000000110111011110010001110
+11000000000111000011110010010000
+11000000000111011011110010100001
+11000000000111101011110001101010
+11000000001000001011100111011001
+00100000011000000000000000000000
+00100000010000000011100101111111
+01101000000000001100011001100101
+00100100010110100011110010001110
+00100000010000000011100111010111
+01101000000000010100011010000010
+11000100000000100000000000000000
+00100000001000000011100110110001
+01101000000000010100011010000010
+01111001001000000111111000000100
+01100000000000010100011010000010
+01101000000000001100011010100111
+01100000000000001100000101110010
+00100000010000000011100111100110
+00100000001000000011110000011101
+01101000000000010100011010000010
+11000100000000100000000000000000
+01111001001111111111111000000100
+01100000000000010100011010000010
+00100000001000000011110000100001
+00100000010000000011100101111111
+01101000000000010100000001000010
+00011111111000110111111000000000
+01101000000010010100000111100011
+10011000010001100111110000000000
+00100100001000101011100110111101
+00100000001000000011010000010110
+01101000000000001100011010111111
+11000011100000101000000000000000
+01101000000100010000000100010010
+00100100010110100011110011110000
+00100000001000000011010000001100
+00100000010000000011110011101110
+00100000001000000011010000011000
+00100000010000000011100101111111
+00100000001000000011100111011101
+00100000010000000101100000010110
+00100000010000000011100111010111
+00100000001000000011110000100011
+00100000001000000011001111011101
+00100000001000000011110011101110
+01101000000000001100011010111111
+11000011000000101011010000001110
+00100000001000000011110011110010
+00100000001000000011110011110010
+00100000010000000101100010111010
+00100000010000000011100111011101
+01101000000000001100011010101000
+01100000000000001100000101110010
+00100000001000000011110000011111
+01110000010001100110000100000000
+00100000010000000011110011101110
+00100000001000000011110011110010
+00100000010000000011101001010010
+00100000001000000011100111011011
+00100000010000000101110011001001
+00100000001000000101101100000010
+01101000000010001100011010011110
+00100000001000000110100000101001
+00100000010000000011100111011111
+00100000001000000011100111100110
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100000010000001011001111110000
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100000010000001011001111111000
+00100000011000000000000000000000
+01101000000010001100011010011110
+00100000001000000110100000100101
+01101000000000001100010101101011
+11000001000000000000000000000000
+00100000001000000110110000101000
+01101000000100001000000100001100
+11000010100000011011100111101000
+00100000010000000110011011001011
+11101000011000001000000000000000
+11000000100000001011101000000001
+01101000000100010000000100010010
+00011111111001100111110000000010
+00100000011000010000000000000000
+11101000011000001000000000000000
+01100000000000001000101100000011
+11101000011010001000000000000000
+00011000011000100010001000000000
+01100000000010001000101100000100
+00011000010000001000010000000011
+01101000000100010000000100010010
+10011000010001100000010000000000
+00100100011000010000000000000000
+01110000000010110000010100000001
+00100000010000000011101000010111
+01101000000000001000101100000101
+11000001000000000000000000000000
+00100000001000000011101000010010
+00100000010000000111111011000001
+00100000010000000011110001111001
+00100000001000000011101000000100
+01000100111011111100000000011011
+01101000000100010000000100010010
+00100000011110100000000000000000
+00100000010000000110011011001011
+11101000011000001000000000000000
+00011111111001100111110000000001
+00100100010000101011101000010110
+00100100001000101011101000000100
+11101000011000001000000000000000
+11000001000000101000000000000000
+11000001000101001000000000000000
+00011000011000001000011111111111
+00100000010000000011101000010110
+00100000001000000011101000000100
+00100000010000000110011011001011
+00011000011000001000011000000010
+11101000011000001000000000000000
+10011000011000001000011000000000
+00100000001000000110011011001000
+01000100111100000100000000011100
+01101000000000001000101100000011
+11000000000000000011101000111111
+11000000000000001011101001000100
+11000000000000010011101001001001
+11000000000000011011101001011111
+11000000000000100011101001101011
+11000000000000101011101001110101
+11000000000001001011101010011010
+11000000000001011011101011010111
+11000000000001100011101011011000
+11000000000001101011101011101100
+11000000000001110011101011110100
+11000000000001111011101011111010
+11000000000010000011101100000110
+11000000000010001011101100001110
+11000000000010010011101100010010
+11000000000100110011101100010110
+11000000000101000011101100011101
+11000000000101001011101100101101
+11000000000101010011101100110110
+11000000000101011011101101101001
+11000000000101100011101101101111
+11000000000110000011101101110110
+11000000000110001011101101111100
+11000000000110010011101110010000
+11000000000110011011101110011000
+11000000000110100011101110111011
+11000000000110101011101111000100
+11000000000110110011101111001101
+11000000000110111011101111010111
+11000000000111000011101111011010
+11000000001000000011101111100010
+11000000001000010011101111101100
+11000000001001000011101111110001
+11000000001001001011101111111100
+11000000001010001011110000000010
+11000000001100001011110000000110
+11000000011111111011110000010101
+00100000001000000011110000010111
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100010010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00011010001000100000011000000000
+00100000010000000011110000011010
+11101000011010001000000000000000
+01100000000010001100011010101001
+01101000000000010100011010000010
+11000011100001001000000000000000
+11000011100000000000000000000000
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100100001000001011101001011000
+01101000000010001100011010101001
+00011000010000010111111000000011
+01100000000000001100000010010011
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100100011000001000000000000000
+01101000000010001100011010101001
+00101000010011111111111000000010
+00100000001000001011001111111010
+00100000001000000011001111111000
+01101000000000001000101100000100
+00011111111001100111110001000011
+00100100001000010011110000010111
+01100000000000001100010100010101
+11011111001000000000000000001000
+00100000010000000111111011000110
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100010100010110
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011101
+00100100001000010011110000010111
+01100000000000001100001110101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110110000
+00100000010000000110011011101010
+00100000010000000101011110100011
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000100011110000010111
+00100000010000000011001110111010
+00100000001000001011101010000110
+01110000000010110000010100000000
+00100000010000000011100101111111
+01101000000000001100010101101000
+00100000011110100000000000000000
+01101000000000010100010101110011
+11000000100000000011101010000100
+01101000000000001000101100000100
+01100000000000010100010101110011
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00100000010000000011101010001000
+00100000001000000110110001001101
+01110000000010110000010100000000
+00100000001000000011110011010001
+00100000010000000011101010001110
+01101000000000010100010101110011
+01101000000010010100011010011111
+10011000010001100111111000000000
+01100000000000010100010101110011
+00100000011000000000000000000000
+01101000000000010100010101110011
+11011000010000000000000001101110
+00100000010000000111111111011101
+01101000000010010100010101101100
+00100000010000000111111111011101
+01101000000010010100010101011110
+00100000010000000111111111011101
+01100000000000010100011010011111
+00100000011000000000000000000000
+01110000000010110000010100000001
+01110000000010110000001100000101
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011101011010100
+00100000001101000011110000010111
+01110000000010110000010100000000
+01101000000000001100011010111111
+11000010100000100011101010110100
+01101000000000001100011011000000
+00100100011110100000000000000000
+01110000000010110000010100000001
+11101000011000010000000000000000
+01100000000000010100011011000001
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001000101100000100
+00011111111000001111111111111110
+00100100001000010011110000010111
+00100000001000101011110000010111
+01100000000000001100011011000000
+01110000000010110000010100000000
+00100000010000000101100000010100
+00100000010000000011101010110111
+00100000010000000011101010110111
+00100000010000000011101010110111
+01101000000000001100011010111111
+11000100000000100000000000000000
+01110000000010110000010100000001
+00100000010000000011110011110110
+00100000001000000011110000011010
+01101000000000001100011011000000
+00100000011110100000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000011101011001111
+01000100111100001100000000011100
+00011000010000001111111111111101
+01101000000010001100011011000000
+00100000010000000111111111011101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100000000000001100011011000000
+01101000000010010100011011000001
+00100000010000000101101001100100
+01101000000000010100011011000011
+00011111111000100000011000000000
+00011010001000100111001000000000
+00100000010000000110011011101010
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001100011011000000
+00100100011110100000000000000000
+00100000001000000011110011110100
+11011000010000000000000000010111
+01101000000000001100011010111111
+11000011100000001000000000000000
+01101000000010010100010010101000
+00100000011000000000000000000000
+01101000000000001100011010111111
+11000010100000010101101001000010
+00100000001000000111111111101001
+00100000001000000011110001001100
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000000011101011011111
+11000000000000001011101011100010
+11000000000000010011101011101000
+11000000000000011011101011101010
+00100000001000000011110000010111
+00100000010000000110000100101011
+01110000010001100101101000000000
+00100000001000000011110000011010
+01011000000001000000000000000011
+01100000000000011100011001011011
+01100000000000001100011001100010
+00100000010000000110000100100100
+01110000010001100101101000000001
+00100000001000000011110000011010
+01011000000001000000000000000010
+00100000001000000011101011100011
+01011000000001000000000000000001
+00100000001000000011101011100011
+01101000000000001000101100000100
+00011111111001100111110000010000
+00100100001000010011110000010111
+01100000000000001100011010001001
+00011111111000100111001000000000
+11011000101000000100011010001010
+00100000010000000110011011111101
+00100000001000000011110000011010
+00011010001000100000011000000000
+11101000011000001000000000000000
+01101000000110001000000001100010
+01111101001110100000010000000100
+01100000000110001000000001100010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+00100000010000000111111101011000
+01011001011011100011011000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100001001000011
+00100000010000000011110000011010
+00100000010000000111111110011110
+00100000001000000110011011001110
+11011010001000000000000000000010
+11011010010000000100011010011010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01100000000000010000101011000010
+11011010010000000000101011000010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01101000000000010100011010000010
+11000011000000000011110000010111
+00100000010000000011110000011010
+00100000001000000011001111101001
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011110000011010
+00100000001000000011010000000010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+01101000000000010100001000010101
+00011111111000100000101000000000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000000011110000010111
+11101000011000001000000000000000
+01101000000010001100011001100001
+01111001001110100000010000000000
+01111001001000000000010000000111
+01100000000010001100011001100001
+00100000010000000011110000011010
+01101000000000001100011001100001
+11000010100000110011101100101011
+00100000011000000000000000000000
+01110000010001100110000100000000
+01110000000010101001100100100001
+00100000001000000111110110001111
+11000010100000000101111110010101
+00100000001000000011101100101000
+01101000000000001100011010000010
+11000100000000100000000000000000
+01101000000000001100010101101011
+11000001000000000000000000000000
+11101000011000001000000000000000
+01101000000010001100010101101001
+10011000010000001000010000000000
+01100000000010001100010101101001
+00100000011000000000000000000000
+11011111001000000000000001000000
+11011000101000000100001101101111
+00100000010000000111111011010100
+01011000000000000000000000000000
+01100000000000001000101010110010
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010000101010110110
+00100000010000000011101101100100
+01101000000000001000101010110010
+01101000000010001000101010100010
+00011000010000001000010000000001
+10011000010000001111111000000000
+01100000000000001000101010110010
+00011111111001100111110000011111
+00100100001000010011101101010000
+01101000000010001100001101101111
+01011000000000000100001101110000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001101101111
+10011000010000001111111000000000
+01100000000000001100001101101111
+00100000001000000011101101011001
+01101000000010001100001110001111
+01011000000000000100001110010000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001110001111
+10011000010000001111111000000000
+01100000000000001100001110001111
+01101000000000010000101010111011
+00011111111000100000101000000000
+01101000000000010000101010110110
+00011111111000100000011000000000
+00011000010000100111001000000000
+00100000010000000110011011101010
+01101000000000001000101100000100
+01101000000010001000101010110010
+10011000010001100111110000000000
+00100100001000101011101100111100
+00100000001000000011110000011010
+11101000011000001000000000000000
+01100000000000001000101010100010
+11101000011000001000000000000000
+01100000000000001000101010101110
+00100000011000000000000000000000
+11011000010000000000000000000000
+11011010001000000000000000000010
+01101000000000010100011010110100
+01100000000000010000101011000010
+11011010010000000000101011000010
+00100000001000000011110000100101
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100011010110010
+01011000000000000000000000000000
+01100000000000010100011010110100
+00100000001000000011110000011010
+11101000011000100000000000000000
+01100000000000100100011010001010
+01110000010001101000100100000100
+01110000010001100110001100000000
+00100000010000000011110000011010
+00100000001000000101111100110001
+01101000000000001000101100000100
+11000000100000011011110000010111
+11101000011000001000000000000000
+11000000000000000011101110000010
+11000000000000001011101110001010
+00100000001000000011110000010111
+11101000011010001000000000000000
+11101000011000001000000000000000
+11000000000000010011101110001000
+01111101001110100000010000000111
+00100000010000000110011111111011
+00100000001000000011110000011010
+00100000010000000110100000000110
+00100000001000000011110000011010
+11101000011010001000000000000000
+00100000010000000110100000010010
+11101000011000001000000000000000
+00101111111011111111111000000000
+00100000010000000110100000101100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011010001000000000000000
+00100000010000000110100000011101
+01011000000000000000000000000000
+01111101001000001111111000000000
+11011010001000000000000000000001
+00100000001000000011101100001010
+00011010001000100000011000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+11000000010000001011101110100011
+11000000010000010011101110101000
+11000000010000011011101110101110
+01100000000000001100010011000110
+11000000000000000011101110110011
+11000000000000001011101110110110
+11000000000000010011101110111000
+00100000001000000011110000010111
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110110100
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000001000000011110000011010
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110111001
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000001000000011110000011010
+01110000010001000101011000000101
+00100000001000000011101110110100
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001101101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001101110000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001110001111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110010000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+01101000000000001000101100000100
+11000000100001000011110000010111
+00011010001000100000011000000000
+11101000011001000000000000000000
+01100000000001000100010010010110
+01110000000010101001100100010010
+00100000010000000111110110001111
+00100000001000000011110000011010
+11101000011000010000000000000000
+01100000000000010100010010000010
+00100000001000000011110000011010
+01101000000000001100010011000110
+00100000001110100011110000010111
+01101000000000001100010011000100
+11000000100000000011110000010111
+01101000000000001100010011000101
+11000000100000000011110000010111
+00100000010000000111111000100101
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000001000000000000000
+01100000000000001100011010100010
+11101000011000100000000000000000
+01100000000000100100011010100011
+01101000000010001100011010100010
+00100000010000000110100000001110
+00100000010000000011110010111100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100000111011110
+00100000001000000011110000011010
+11101000011000001000000000000000
+11000000000000001011101111111010
+01101000000000001100010011000001
+11000000000000011011101111111000
+11000000000000110011101111111000
+11000000000000111011101111111000
+00100000001000000011110000010111
+01110000010001001100001000000001
+00100000001000000011110000011010
+00100000010000000101101101010011
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00100000010000000011110000011010
+11101000011000001000000000000000
+00100000001110100110000011001011
+00100000001000000110000011001001
+00100000010000000011110000011010
+00100000010000000111111110011110
+01110000100000000001000000000001
+00100000001000000010101010001110
+01101000000000001000101100000100
+11000000000000000011110000010111
+11101000011000001000000000000000
+00100000001110100011110000010011
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000100000000000000000
+11011000010011110100001001000000
+10011000010001100111110000000000
+00100000001000010011110000010111
+01100000000000100100010011000111
+00100000010000000101100000001100
+00100000001000000011110000011010
+00100000010000000101100000001110
+00100000001000000011110000011010
+01110000010000001001000100000000
+00100000001000000011110000011010
+11011000010000000000000000000001
+11011010001000000000000000000000
+00100000001000000011110000100101
+11011000010000000000000000000000
+11011010001000000000000000000000
+00100000001000000011110000100101
+01110000000010110000001100000000
+00100000001000000011110001001001
+01110000000010110000001100000010
+00100000001000000011110001001001
+01110000000010110000001100000011
+00100000001000000011110001001001
+01110000000010110000001100000101
+00100000001000000011110001001001
+01101000000000001000101100000011
+00011111111000100010011000000000
+01110000000010110000001100000110
+01011000000000000000000000000010
+10011010001000001111111000000000
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+11100001010010001000000000000000
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000110011011100100
+00100000001000000110011011000101
+00100000010000000011100101111111
+01110000000010110000001100000111
+01101000000000001000010011111111
+00100000011110100000000000000000
+00100000010000000011110010100111
+01101000000000001000010011111111
+00011111111000100111001000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001000
+01101000000000001100011010110110
+00011111111000100111001000000000
+00011111111000001111111000000010
+00100000010000000011110010100111
+01101000000000010100011010111001
+11100001010000010000000000000000
+01101000000000010100011010110111
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001001
+01011000000000000000000000000000
+00100000010000000011110010100111
+00100000001000000110011011000101
+01110000000010110000001100001010
+01011000000000000000000000000001
+00100000010000000011110010100111
+00100000010000000011110001011101
+01101000000000010100011010000010
+11011000111000000000000000000010
+10101111111011111111111111111111
+01111001001000001000010000000011
+11011000111000000000000000001001
+10101111111011111111111111111111
+01111001001000001000010000000101
+01101000000000001100011010000010
+11011000111000000000000000000100
+10101111111011111111111111111111
+01111001001000001000010000000100
+11100001010010001000000000000000
+00100000001000000110011011000101
+11011000010000000000000000000000
+01101000000000001100000010010011
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000000
+11011000111000000000000000000001
+10101111111011111111111111111111
+01111001001000001000010000000001
+01101000000000001100001101101110
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000010
+00100000011000000000000000000000
+01110000000010110000001100001101
+01101000000000001100001000010111
+00011111111011111111111000100010
+00011111111000100111001000000000
+00100000010000000011110010100111
+01101000000000010100001000010101
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001110
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001100001111
+01101000000100010000000100010010
+11011000010000000000000011111111
+00100000010000000111111111011101
+00011111111000100111001000000000
+00100000010000000011110010100111
+00100000010000000110011011001011
+00100000010000000110011100000011
+00100000001000000110011011000101
+01110000000010110000001100010000
+00100000001000000011110001001001
+01110000000010110000001100010001
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100100010011000111
+11100001010000100000000000000000
+00100000001000000110011011000101
+11011010001000000000000110000000
+00100000001000000011110010010001
+11011010001000000000000010000000
+00100000001000000011110010010001
+11011010001000000000000100000001
+00100000001000000011110010010001
+11011010001000000000000000000001
+01110000010001100110000100000000
+01110000000010110000001100010100
+01011000000000000000000000000010
+00100000010000000011110010100111
+00011010001000100111111000000000
+11100001010000010000000000000000
+00100000001000000110011011000101
+11011010011000000000000000000000
+00100000001000000011110010011011
+11011010011000000000000000000001
+01110000000010110000001100010101
+01011000000000000000000000000001
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+00100000001000000110011011000101
+01110000000010110000001100011101
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001000000010
+01100000000000001000101100000100
+01100000000011000000101010100010
+01000100111100010100000000011100
+00100000010000000011110010110001
+01101000000011000000101010100010
+00100000010000000110011011000010
+01101000000000011000101100000010
+11100001010000011000000000000000
+00100000011000000000000000000000
+00100000010000000011110010111010
+00100000011000001000000000000000
+00100000010000000011110010111000
+01101000000000100100011010100011
+00011111111010110111111000000000
+00100000011110100000000000000000
+00100000001000000011110010111110
+01101000000010001100011010100010
+00100000001000000110100000101001
+01101000000010001100011010100010
+00100000001000000110100000011011
+01101000000010001100011010100010
+00100000001000000110100000100101
+00011111111000001111111111111111
+00100000000000000000000000100110
+00100100001110100011110010111110
+00100000011000000000000000000000
+00100000010000000011101011010100
+00100000011101000000000000000000
+00011010001000100111111000000000
+01100000000000010100011010110111
+00011010010000100111111000000000
+01100000000000001100011010110110
+01101000000000010000010001111000
+01101000000010010100011010111011
+10011000010001100111110000000000
+00100000001000101011110011001111
+01101000000010010100011010111101
+10011000010001100111110000000000
+00100100011000101000000000000000
+01100000000000010100011010111001
+00100000001000000011110000111101
+01101000000000001100011010111111
+11000011100000101000000000000000
+00100000010000000011110011110000
+00100000001000000011010000001100
+01110000010000010111001000000010
+00100000011000000000000000000000
+00100000001000000011110011011000
+01101000000000001100011010110010
+00100000011110100000000000000000
+01101000000000001100011010110011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011010110011
+00100100011110100000000000000000
+01110000010001101011001100001010
+00100000010000000110100011101011
+00100000010000000110100100001000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011000000001110000010000000000
+01100000000000001100011010110100
+01100000000010001100011010110101
+00100000011000000000000000000000
+00100000010000000111111110110100
+00100000001000010011001111011001
+00100000001000000011001111011011
+11011000111000000000000000000110
+00100000001000000011110011111100
+11011000111000000000000000000110
+00100000001000000011110011111000
+11011000111000000000000000000101
+00100000001000000011110011111100
+11011000111000000000000000000101
+00100000001000000011110011111000
+11011000111000000000000000000100
+00100000001000000011110011111100
+11011000111000000000000000000100
+00100000001000000011110011111000
+01101000000000001100011010111111
+11111001001111111111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+01101000000000001100011010111111
+11111001001000000111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+00100000010000000011110100111001
+00100000010000000110010000001111
+00100000010000000100000011000110
+00100000010000000011110101100110
+00100000010000000110010000010001
+00100000011101011000000000000000
+00100000010000000011110100010110
+00100000010000000011110100011001
+01101000000000100100011011010011
+11000011100010000000000000000000
+00100000010000000011110101001110
+11000110000100110000000000000000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000100001010100010
+01101000000000100100011011010011
+11000100000011011000000000000000
+11011111001000000000000000010100
+01011000000000110000110101000000
+00100000010000000010101010001111
+11000010000000000111111011000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000001000000100100011101010
+01011000000000000100000101101101
+01100000000000010100000111101111
+01011000000000000011111101110111
+01100000000000010100000111110001
+01011000000000000011111010111011
+01100000000000010100000111101101
+01011000000000000100000101111100
+01100000000000010100000111110101
+01011000000000000011110111100011
+01100000000000010100000111110011
+01011000000000000011111010110011
+01100000000000010100000111101011
+01011000000000000011110101011011
+01100000000000010100000111111001
+00100000010000000010110001111010
+01011000000000000100010000000001
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010000000110
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000011111010111111
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100000111111001
+01100000000000010100000111111101
+01011000000000000011110100110110
+01100000000000010100001000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000011000010010110010011010111
+00100000001000000110010011011010
+00100000011101011000000000000000
+00100000010000000010110010011101
+00100000010000000011111001101110
+00100000010000000011111000011110
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+01101000000000100100011011010011
+11000010100010100011110101000110
+11000010100010011100010000010100
+00100000011000000000000000000000
+00100000010000000110010110011100
+01101000000000100100011011010011
+00101111111011111111111000011001
+00100100010000001110010111000010
+00100000010000000100010000111111
+00100000010000000011110111001001
+00100000010000000100000110101010
+00100000001000000110010111011111
+01101000000000100100011011010011
+11000011000011110011110101010011
+01101000000000001000101010111101
+00101111111011000000000000000011
+00100100011000001000000000000000
+01101000000000001100011100011111
+01100000000000001100011100011110
+01101000000000001100011011110101
+11000011100000110000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000010100011101010111011100100
+00100000001000000010111100101100
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+01101000000000001100011010110110
+11000001000000001000000000000000
+01110000010001101011011000000001
+00100000011000000000000000000000
+01101000000000001100011011100001
+00011111111000010111111000001111
+01100000000000001100011101111010
+00100000001000000011110110000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100100001000001011110101100010
+01101000000000001100011010110110
+11000001000000000000000000000000
+01110000010001101011011000000000
+01101000000000001100011101111010
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100011101111010
+00100000010000000011110101111110
+01101000000000100100011011010011
+11000010100010100100010000111011
+11000010100010011011110101111001
+00100000011000000000000000000000
+11011000010000000000000000011110
+00100000010000000110100000001110
+11011000010000000000000000011111
+00100000010000000110100000001110
+00100000001000000100010000110101
+01000100111100011100000000011100
+00100000010000000100001001001010
+01101000000000001100011011100000
+11000000000000101011110110101010
+11000000000000100011110110010110
+01101000000000001100011101111010
+11000000000000000011110110001010
+11000000000000001011110110001000
+11000000000000010011110110001100
+11000000000000011011110110001110
+01101000000000001100011110000000
+00100000001000000011110110111110
+01101000000000001100011101111111
+00100000001000000011110110111110
+01101000000000001100011110000001
+00100000001000000011110110111110
+01101000000000001100011110000010
+00100000001000000011110110111110
+01101000000000001100011011100000
+11000001000000110000000000000000
+01101000000000001100011010110101
+00011111111000001111111000000001
+01100000000000001100011010110101
+00100000011000000000000000000000
+01101000000000001100011101111010
+11000000000000000011110110011101
+11000000000000001011110110011011
+11000000000000010011110110011111
+11000000000000011011110110100001
+01101000000000001100011110000100
+00100000001000000011110110100010
+01101000000000001100011110000011
+00100000001000000011110110100010
+01101000000000001100011110000101
+00100000001000000011110110100010
+01101000000000001100011110000110
+01100000000000001100011010110101
+00011111111011010111111000000000
+00011111111000100010001000000000
+00011111111000001111111000001101
+00100000010000000110010000010011
+00011010001000100111111000000000
+00011111111000001111111000001110
+00100000001000000110010000010011
+01101000000000001100011101111010
+11000000000000000011110110110001
+11000000000000001011110110101111
+11000000000000010011110110110011
+11000000000000011011110110110101
+01101000000000001100011110001000
+00100000001000000011110110110110
+01101000000000001100011110000111
+00100000001000000011110110110110
+01101000000000001100011110001001
+00100000001000000011110110110110
+01101000000000001100011110001010
+01100000000000001100011010110101
+00100000010000000100000011000000
+01101000000000001100011010110101
+00011111111000001111111010000000
+00011111111011010111111000000000
+00011111111000001111111000000101
+00011111111000100010001000000000
+00100000001000000100000101011010
+01100000000000001100011010110101
+00100000010000000011110110010000
+01101000000000001100011010110101
+01011000000000000000000000000110
+00100000010000000110010000010100
+00011111111000010000010011111000
+01101000000000001100011010110101
+10011000010000001111111000000000
+00011111111011010111111000000000
+00011111111000001111111000000110
+00100000001000000110010000010011
+00100000010000000011001111000100
+00100000001000101100001100010110
+00100000010000000100010000011100
+00100000010000000100001011100100
+00100000001000000011001110111101
+01101000000000010100011100000111
+00100000011110100000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000011100000011000000000000000
+11000110000100110000000000000000
+00100000010000000100000010000011
+11000001100000111000000000000000
+00100000010000000100010010000010
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+00100000010000000011001001100011
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000010000000100001011001010
+00100000001000000010111010101101
+00100000010000000011110111001110
+00100000010000000111111000110100
+00100000010000000011110101101010
+00100000010000000011110111101001
+00100000010000000011111011100000
+00100000001000000011110111110111
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000010000000100100011010011
+00100000001000000100100011111101
+01101000000100001000101000000100
+11000011000000111011110111110001
+11000010100000111011110111110100
+00100000011000000000000000000000
+01101000000000001100011011111111
+11000100000000111000000000000000
+00100000001000000110010110011010
+01101000000000001100011011111111
+11000011100000111000000000000000
+00100000001000000100001110000001
+00100000010000000011110111101101
+01101000000100001000101000000100
+01100000000000001100011011111111
+11000100000000111000000000000000
+00100000010000000011111000000111
+01101000000000100100011011111001
+01101000000010001100011011111101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01100000000000100100011011111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+01110000000011010011100000000100
+00100000001000000011111000001111
+01101000000010100100011011111001
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010011111000001100
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000100100011011111001
+00100000011000000000000000000000
+01101000000000001000110100111000
+11000100000000010000000000000000
+00100000001000000011111000010010
+01101000000100001000101000000100
+11000100000000111000000000000000
+01110000000011010101001000100000
+01011000000000000000000000000001
+01100000000000001000110101010100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01101000000100010000000001010000
+01111001001111111111111000001011
+01100000000100010000000001010000
+00100000011000000000000000000000
+01011000000000001000110000000000
+01100000000000010100010101110101
+01011000000000001000111001111010
+01100000000000010100010010111100
+01011000000000000010010000000010
+01100000000000010100000010111101
+01011000000000000010010110000000
+01100000000000011100000010101010
+01110000010000010111001100000011
+01110000010000010101011000001000
+01110000010001101101100100000001
+01011000000000000000001000000000
+01100000000000010100000101010100
+01110000010001001010011000010111
+01110000010001001010100000010111
+01011000000000000000101001110111
+01100000000000010100001000010010
+00111000000000000000001100000110
+00111000000001000100010001000000
+00111000000010010000000000000000
+00111000000011000100010000001000
+01100000000001001100010101110111
+00111000000000000001001000100100
+00111000000001000100000000000000
+00111000000010000000000000000000
+11100000101000101000000000000000
+00111000000000111111111111111111
+00111000000001101111111000100011
+00111000000010011001100111011001
+00111000000011000000001000001101
+01100000000001000100000010011000
+01011000000000000000000100101100
+01100000000000010100011100000111
+00100000010000000101011110100011
+01101000000000100100011011010011
+11000100000011111000000000000000
+00100000010000000011111001000100
+00100000001000000011111001001100
+01101000000010001100011011110111
+00100000010000000110011111111011
+01101000000010001100011011110111
+00100000010000000110100000011101
+01110000010001101111011000000011
+00100000011000001000000000000000
+01110000010001101111011000000010
+00100000011000000000000000000000
+01101000000010001100011011111000
+00100000010000000110011111111011
+01101000000010001100011011111000
+00100000010000000110100000011101
+01110000010000100010110100000000
+00100000011000001000000000000000
+01110000010000100010110100000010
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000011111001011001
+11000000000000001011111001100010
+11000000000000010011111001101011
+00100000001000000011111001011001
+01101000000010010100001000100001
+01101000000000010100001000100111
+10011000010001100111111000000000
+00011111111011111111111000010100
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010010100001000011111
+01101000000000010100001000100101
+10011000010001100111111000000000
+00011111111011111111111011100110
+00011111111001101111110110010000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000000010100001000100011
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010001100001000111010
+00100000010000000110100000001110
+00100000010000000100100011111011
+01101000000010001100011011100010
+00100000010000000110011111111011
+01101000000010001100011011100011
+00100000010000000110011111111011
+01101000000010001100011011100100
+00100000010000000110011111111011
+01101000000010001100011011110011
+00100000010000000110011111111011
+01101000000010001100011011011100
+00100000010000000110100000001110
+01101000000010001100011011101000
+00100000010000000110011111111011
+01101000000010001100011011101001
+00100000010000000110011111111011
+01101000000010001100011011101010
+00100000010000000110011111111011
+01101000000010001100011011101011
+00100000010000000110011111111011
+01101000000010001100011011100101
+00100000010000000110011111111011
+01101000000010001100011011100110
+00100000010000000110011111111011
+01101000000010001100011011101111
+00100000010000000110100000001110
+01101000000010001100011011110000
+00100000010000000110100000001110
+01101000000010001100011011110001
+00100000010000000110100000001110
+01101000000010001100011011110010
+00100000010000000110100000001110
+01101000000010001100011011110100
+00100000010000000110100000001110
+01101000000010001100011011101101
+00100000010000000110011111111011
+01101000000010001100011011101100
+00100000010000000110011111111011
+01101000000010001100011011100111
+00100000001000000110011111111011
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000001000000110011111011101
+01101000000010001100011011101000
+00100000010000000011111010100111
+01101000000010001100011011101001
+00100000010000000011111010100111
+01101000000010001100011011101010
+00100000010000000011111010100111
+01101000000010001100011011101011
+00100000001000000011111010100111
+00011000010001100111110011111111
+00100000011000101000000000000000
+00011000010000010000111001111111
+01101000000100100000000100011100
+10101111111011111111111111111111
+01101000000100100000000001111000
+11111001001000001111111000000000
+01100000000100100000000001111000
+01101000000100100000000001111100
+11111101001000001111111000000000
+01100000000100100000000001111100
+00100000011000000000000000000000
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000100010010000010
+00100000010000000011111010011111
+00100000001000000011111010111111
+00100000010000000011111010111111
+01101000000000001000000010100000
+00100100011110100000000000000000
+00100000001000000110011111101101
+00100000010000000011111011100000
+11011000010000000000000000011001
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001011111011011110
+00100000010000000110100000001110
+00100000010000000110001111101110
+01101000000010001100011011100010
+00100000010000000110011111011101
+01101000000010001100011011100011
+00100000010000000110011111011101
+01101000000010001100011011100100
+00100000010000000110011111011101
+01101000000010001100011011100101
+00100000010000000110011111011101
+01101000000010001100011011100110
+00100000010000000110011111011101
+01101000000010001100011011100111
+00100000010000000110011111011101
+01101000000010001100011011101101
+00100000010000000110011111011101
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000010000000110011111011101
+01101000000010001100011011110011
+00100000001000000110011111100001
+11011000010000000000000000011110
+00100000011000000000000000000000
+01000100111100100100000000011100
+00100000010000000011111011101110
+00100000010000000011111100110110
+01101000000000001100011010111000
+01101000000010001100011010110111
+01100000000000001100011010110111
+10011000010001100111110000000000
+00100100001000101011001111010100
+01101000000000001100011010111110
+01101000000010001100011010111101
+01100000000000001100011010111101
+10011000010001100111110000000000
+00100100001000101011001111010100
+00100000011000000000000000000000
+01101000000000001100011011101010
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101011
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111000
+11000000000000001011111011111110
+11000000000000010011111100000010
+01101000000000001100011010111001
+11000010100000111011111100001110
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100000110
+11000000000000011011111100001000
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100001010
+11000000000000011011111100001100
+00100000011000000000000000000000
+01110000010001101011100110000010
+00100000011000000000000000000000
+01110000010001101011100110000001
+00100000011000000000000000000000
+01110000010001101011100110000000
+00100000011000000000000000000000
+01110000010001101011100110000011
+00100000011000000000000000000000
+01101000000000001100011010111001
+01111001001111111111111000000111
+01100000000000001100011010111001
+11000000000000000011111100010110
+11000000000000001011111100011001
+11000000000000010011111100011100
+11000000000000011011111100011111
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111100
+00011111111000001111111000000001
+01100000000000001100011010111100
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011110000000000
+01101000000000001100011010111010
+00011111111000001111111000000001
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011010111011
+00011111111000001111111000000001
+01100000000000001100011010111011
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011101100000000
+01101000000000001100011010111010
+00011111111000001111111111111111
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011011101000
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101000
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101001
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111110
+11000000000000001011111101000110
+11000000000000010011111101001010
+01101000000000001100011010111111
+11000010100000111011111101010110
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101001110
+11000000000000011011111101010000
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101010010
+11000000000000011011111101010100
+00100000011000000000000000000000
+01110000010001101011111110000010
+00100000011000000000000000000000
+01110000010001101011111110000001
+00100000011000000000000000000000
+01110000010001101011111110000000
+00100000011000000000000000000000
+01110000010001101011111110000011
+00100000011000000000000000000000
+01101000000000001100011010111111
+01111001001111111111111000000111
+01100000000000001100011010111111
+11000000000000000011111101011110
+11000000000000001011111101100001
+11000000000000010011111101100100
+11000000000000011011111101100111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101111
+00100000011000000000000000000000
+01110000010001101100001000000000
+01101000000000001100011011000000
+00011111111000001111111000000001
+01100000000000001100011011000000
+00100000011000000000000000000000
+01110000010001101100000100000000
+01101000000000001100011011000000
+00011111111000001111111111111111
+01100000000000001100011011000000
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01101000000000001100000111100010
+00100000011110100000000000000000
+00100000010000000101001001110001
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000010100000011011111110001010
+11000010100000000011111110001010
+11000010100000101011111110001010
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000001001
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000001010100001
+11100000101000010000000000000000
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110000001
+01101000000000010100011010101010
+01100000000000010100011010110000
+00100000011000000000000000000000
+01000100111100101100000000011100
+11011010001000000000000000000111
+01101000000010010100010001101111
+00100000010000000101101001100100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01000100111100110100000000011100
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000011111110110101
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000100000010011001
+00100100011101000000000000000000
+00100000010000000011111110001101
+11011000111000000000000000001000
+00100000001000000100001111001110
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000010000000100000000000010
+00100000001000000111111111100111
+00100000010000000100000000000010
+00100000001000000111111111100111
+01101000000000001100001000111001
+11000001100000000000000000000000
+01101000000000001100011011100000
+11000000000000000011111111100010
+11000000000000001011111111100010
+11000000000000010011111111100010
+11000000000000011011111111100010
+11000000000000100011111111000100
+11000000000000101100000000010000
+11000000000000110011111111100010
+00100000001000000011111111100010
+01101000000000001100011010100111
+00100000010110100100000001011101
+01110000010001101010011100000001
+00100000011000000000000000000000
+00100000010000000011111111000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000100000011010001
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+00100000010000000011111111011110
+01100000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000011111110100011
+11000000000000001011111110101011
+11000000000000010011111110100111
+11000000000000011011111110110011
+00100000011000000000000000000000
+01011000000000000000000000010010
+00100000001000000110010000010100
+11000000000110001011111111101010
+00100000001000000100000011010001
+00100000010000000011111111000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000011111111100000
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+01101000000000001100011010011011
+00100000010000000100000101100101
+01100000000000010100011010011011
+01101000000000001100011010011101
+00100000010000000100000101100101
+01100000000000010100011010011101
+01101000000000001100011011110110
+11000000000000000011111111111010
+11000000000000001011111111111100
+11000000000000010011111111111110
+11000000000000011100000000000000
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000010110011
+00100000010000000011111110101011
+00100000001000000100000010110011
+00100000010000000011111110100111
+00100000001000000100000010110011
+00100000010000000011111110110011
+00100000001000000100000010110011
+01101000000000010100011010011101
+01101000000010010100011010011011
+01100000000000010100011010011011
+01100000000010010100011010011101
+00100000011000000000000000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+11011010010000000000000000000010
+00100000010000000100000000000111
+11000100000000111000000000000000
+11011010010000000000000000000000
+00100000010000000100000000000111
+01100000000000001100011011011101
+11000000100111110100000101000101
+01101000000000001100011010100111
+00100000010110100100000000111001
+01110000010001101010011100000001
+00100000010000000100000000111001
+01101000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000100000000110001
+11000000000000001100000000110101
+11000000000000010100000000110011
+11000000000000011100000000110111
+00100000011000000000000000000000
+01101000000000001100011010100100
+11000000000000000100000001010001
+11000000000000001100000001000101
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000000101101
+00100000010000000011111110100111
+00100000001000000100000000101101
+00100000010000000011111110101011
+00100000001000000100000000101101
+00100000010000000011111110110011
+00100000001000000100000000101101
+00100000010000000110010000001111
+00100000010000000100000001011101
+11011111111000000000000000000101
+00100000010000000110010000010100
+01100000000000001100011010100001
+11011111111000000000000000000111
+00100000010000000110010000010100
+01100000000000001100011010100010
+11011111111000000000000000001000
+00100000010000000110010000010100
+01100000000000001100011010100011
+00100000001000000110010000010001
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100000011000010000000000000000
+01110000010001101010010000000000
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100100011000010000000000000000
+01110000010001101010010000000001
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000001000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11011111111000000000000000000011
+00100000010000000110010000010100
+01100000000000010100011010011011
+11011111111000000000000000000100
+00100000010000000110010000010100
+01100000000000010100011010011101
+00100000011000000000000000000000
+11011000010000000000000000011011
+00100000010000000110011111111011
+11011000010000000000000000011011
+00100000010000000110100000011101
+00100000011000001000000000000000
+01101000000100001000000100001001
+01111001001000000111111000000100
+01100000000100001000000100001001
+00100000011000000000000000000000
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+01100000000000001100011011000000
+00100000011000000000000000000000
+01101000000000001100011011000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000000001100011010111010
+00100000011110100000000000000000
+01100000000000001100011010100000
+01110000010001101011101000000000
+00100000001000000111111111100111
+11011010001000000000000000000000
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000010000000100000010010000
+00011010001000100111111000000000
+00100000011000000000000000000000
+01101000000000001100011011100101
+11000001011111111000000000000000
+01101000000010001100011011100101
+00100000010000000110100000011101
+01111001001000001010001000000011
+01101000000010001100011011100110
+00100000010000000110100000011101
+01111001001000001010001000000100
+00100000011000000000000000000000
+00100000010000000100000010000011
+00100000010000000100000010101000
+00100000010000000100000010100011
+00011010001000100111111000000000
+01101000000010001100011010011010
+01100000000000001100011010011010
+10011000010000101111111000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111100111
+11000110100100110000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011010
+00100000001000000111111111100111
+01101000000000010100011010000010
+11000010100001001100000010101101
+01101000000000010100011010000010
+11000010100000000100000010110000
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100100001110100101100000100000
+00100000001000000101100000100010
+00011010001000100111111000000000
+00100100001110100010101111000111
+00100000001000000010101111001001
+01000100111100111100000000011100
+11011000010000000000000000011010
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001100000010111110
+00100000010000000110100000011101
+00100000011000001000000000000000
+01011000000000000000000000001010
+00100000010000000110010000010100
+00100000000000000000001111101000
+00100000001000000100000010110011
+11011000010000000000000000011111
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000010100010010100000011000100
+11011000010000000000000000011010
+00100000001000000110011111111110
+11011000010000000000000000011111
+00100000001000000110011111111110
+00100000010000000011110100110110
+00100000011101011000000000000000
+00100000010000000100000011000000
+01101000000000001100011011100000
+11000000000000101100000011010101
+00100000010000000100000011011001
+11000000000110000100000011100000
+11000000000110001100000011101010
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000100000011001011
+01000100111101000100000000011101
+01101000000000100100011011010011
+11000010100010010110001111100000
+00100000001000000110001111010001
+00100000010000000100000011011001
+11000000000111110100000101001011
+00100000010000000100000101000101
+00100000001000000100000011010101
+01011000000000000000000000000001
+00100000010000000110010000010100
+01100000000000001100011011011110
+01011000000000000000000000000000
+00100000010000000110010000010100
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000011010001100000100111001
+11000000011010010100000011111000
+11000000000000010100000011101110
+11000000001010100100000011100110
+00100000011000000000000000000000
+01110000010001101110000000000010
+00100000011000000000000000000000
+01110000010001101110000000000110
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01110000010001101110000000000100
+00100000010000000100000011110110
+01011000000000000011010000100110
+00100000010000000110010000010011
+01011000000000000000010000011001
+00100000010000000110010000010011
+01011000000000000000000000001001
+00100000001000000110010000010011
+01011000000000000101101000001001
+00100000001000000110010000010011
+01110000010001101110000000000011
+00100000010000000100000011110110
+01011000000000000000111100001101
+00100000010000000110010000010011
+01011000000000001110001100011101
+00100000010000000110010000010011
+01011000000000001101001001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+00100000001000000100000100011010
+01011000000000000011010100011011
+00100000010000000110010000010011
+01011000000000001011010000101000
+00100000010000000110010000010011
+01011000000000000100011000101001
+00100000010000000110010000010011
+01011000000000001001011000101010
+00100000010000000110010000010011
+01011000000000001000110000101011
+00100000010000000110010000010011
+01011000000000000110111000101100
+00100000010000000110010000010011
+01011000000000000110010000101101
+00100000010000000110010000010011
+01011000000000000101111100111000
+00100000010000000110010000010011
+01011000000000000000111100111001
+00100000010000000110010000010011
+01011000000000000011001000111010
+00100000010000000110010000010011
+01011000000000000100011100111011
+00100000010000000110010000010011
+01011000000000000001000001000010
+00100000001000000110010000010011
+01011000000000000010111001010100
+00100000010000000110010000010011
+01011000000000001111001001010101
+00100000010000000110010000010011
+01011000000000001111010001100001
+00100000010000000110010000010011
+01011000000000000111000001100011
+00100000010000000110010000010011
+01011000000000000101001001110101
+00100000010000000110010000010011
+01011000000000000100000101110110
+00100000010000000110010000010011
+01011000000000001110110101110111
+00100000010000000110010000010011
+01011000000000000010001101111000
+00100000010000000110010000010011
+01011000000000000100011001111001
+00100000010000000110010000010011
+01011000000000001110010101111010
+00100000010000000110010000010011
+01011000000000000100100001111100
+00100000010000000110010000010011
+01011000000000000111011101111110
+00100000010000000110010000010011
+01011000000000000000000101111111
+00100000010000000110010000010011
+01011000000000000000000000001011
+00100000010000000110010000010011
+01011000000000000000000001111111
+00100000010000000110010000010011
+00100000001000000100000011110100
+01110000010001101110000000000000
+00100000010000000100000011110110
+01011000000000000001000000001101
+00100000010000000110010000010011
+01011000000000001110110100011101
+00100000010000000110010000010011
+01011000000000001000000001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+01011000000000000000100101000011
+00100000010000000110010000010011
+00100000001000000100000100011010
+01101000000010001100011011011100
+00100000010000000110100000101001
+00100000010000000111111011000001
+01101000000010001100011011011100
+00100000010000000110100000100101
+00100000001000000111111011000001
+01110000010001101110000000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000110100010001
+00100000010000000110010000000101
+01011000000000000000010000011011
+00100000010000000110010000000101
+01011000000000000000010000011100
+00100000010000000110010000000101
+01011000000000000000111100011101
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+00100000000000000000111110100000
+01011000000000001111111101111111
+00100000010000000110010000000101
+00011010001000100111111000000000
+00100000010000000110010000000101
+01011000000000000000000001111111
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11000100000000111000000000000000
+11011000010000001111111100000000
+10011000010000011111111000000000
+00100000011000000000000000000000
+11000100000000011000000000000000
+11011000010000000000000011110000
+10011000010000011111111000000000
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000100100011011010011
+11000010100000011100000101111001
+11000010100000000100000101111001
+11000010100000101100000101111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000001000000011111110010000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110010000
+00011010011000100111111000000000
+11000000000010100100000111000011
+11000000000000001100001011001010
+11000000000010101100000111011001
+11000000000000010100000111011001
+11000000000000101100000111010110
+11000000000010000100001001101100
+11000000000010010100001010011011
+11000000000000110100000111010101
+11000000000000100100000111001100
+11000000000010011100000111001100
+11000000000001010100000111001010
+11000000000101110011001111001101
+11000000000110001100000110110100
+11000000000110010100000110110110
+11000000000111110100000110010001
+11000000000100111100001110001110
+11000000000111001100000110011100
+11000000000111010100000110010010
+11000000000111100100000110011010
+00100000011000000000000000000000
+00100000001000000011010000010000
+01110000010001111000101100000001
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101011010000001010
+00100000011000000000000000000000
+01110000010001111000101100000001
+00100000011000000000000000000000
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01110000010001101010011100000000
+01101000000000001100011011100000
+00011111111001100111110000000101
+00100000010000101100000000111001
+00100100010000101100000001011101
+01101000000000001000000000000100
+11000010100010011100000110101111
+00100000010000000100000110101010
+00100000001000000110010111010001
+00100000010000000010110001111010
+00011010011000001010001010101110
+11011010010000000000000001011011
+11011000010000000000000000000100
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010010010101110
+11101010010000001000000000000000
+01100000000000001100011101111011
+00100000001000000100010000110101
+11011000111000000000000000000010
+00100000001000000100000110111001
+01110000010001101100011000000010
+11011000111000000000000000000001
+00100000001000000100000110111001
+01101000000000001100011011000101
+11111001001000000111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01101000000000001100011011000101
+11111001001111111111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01110000010001101100010100000000
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000010000000011111110001101
+00100000001000000100001011001010
+00100000010000000110001111001011
+00100000001000000011001111011101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100011010000010
+11000010100001100100001010110000
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000101100001010110000
+11000010100000011010111010101101
+00100000001000000011001110100111
+00100000001000000011111101110100
+00100000011000000000000000000000
+00100000010000000100001111000000
+00100000001000000110010110011010
+01000100111101001100000000011101
+00100000010000000100000111100111
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000011010111010101101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100001000001000
+11000010100000111100000111110101
+11000010100000000011001110101001
+11000010100000001100000111101111
+11000010100000010100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01011000000000000000000000000000
+01100000000001000100011010110111
+11100000101000100000000000000000
+01110000010001101011010000000000
+01110000010001101010011100000000
+01110000010000011110001000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+11000010100000101100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000011001110100111
+00100000010000000100000111000001
+01101000000000010100001000001000
+11000010100000000011001110101001
+00100000001000000011001110100111
+00100000010000000100001111010110
+00100000010000000100001001000011
+00100000010000000100001001000110
+00100000010000000100001001010000
+00100000010000000100010001011101
+00100000010000000100010001000011
+00100000010000000100001100110011
+00100000010000000100001110100101
+00100000010000000100001111101011
+00100000010000000100001000001001
+00100000010000000100001000110001
+00100000010000000100001000110100
+00100000010000000100001000110111
+00100000010000000100001000111010
+00100000010000000100001000111101
+00100000001000000100001001000000
+01101000000000001100011100010001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011100010001
+00100100011110100000000000000000
+00100000001000000100001000001111
+01101000000000001100011100010010
+11000001000000000000000000000000
+11000000000000101100001000010110
+00100000010000000100001000100101
+01110000010001110001001000000101
+01110000010001110001000100000101
+00100000011000000000000000000000
+00100000010000000100001000101100
+01110000010001110001001000000100
+01110000010001110001000100000101
+00100000011000000000000000000000
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000000001111101000
+01110000010001110001000100000000
+01110000010001110001001000000000
+00100000001000000100000011100000
+01011000000000001010000000000110
+00100000010000000110010000010011
+01011000000000001010000000000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01101000000000001100011011100000
+11000000000000100100001000100000
+01011000000000000000000100000110
+00100000010000000110010000010011
+01011000000000001010000100000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01011000000000000000100100000110
+00100000001000000110010000010011
+01110000010001110001000100000101
+01110000010001110001001000000001
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100001010011011
+00100000001000000011001101101101
+11011010011000000100011010101100
+11011010010000000100001001100100
+00100000001000000011001101110100
+11011010011000000100011010101110
+11011010010000000100001001100110
+00100000001000000011001101110100
+11011010011000000100011010110000
+11011010010000000100001001101010
+00100000001000000011001101110100
+11011010011000000100011011000100
+11011010010000000100010001111000
+00100000001000000011001101101101
+11011010011000000100011011000110
+11011010010000000100001001011110
+00100000001000000011001101101101
+11011010011000000100011100000100
+11011010010000000100001001001001
+00100000001000000011001101101101
+11011010011000000100011100000111
+11011010010000000100001001001001
+00100000001000000011001101110100
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010111000000000000000
+01110000010001101101111100001010
+01101000000000001100011011110100
+01100000000000001100011100010101
+00100000011000000000000000000000
+11011010011000000100011011011111
+11011010010000000100001001010011
+00100000001000000011001101101101
+01101000000000001100011011110100
+01100000000000001100011100010101
+01011000000000000000000110010000
+01100000000000010100011100010110
+01100000000000010100011100011000
+11011010001000000000000000000000
+01101000000010001100011101111010
+00011000010000001000010000000001
+01100000000010001100011100010100
+01110000010001110001001100000001
+00100000011000000000000000000000
+01101000000000001100011011000101
+11000011100000010000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+00100000010000000100001011001010
+00100000001000000011010000001010
+00100000010000000011001111110110
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000001000000011010000001010
+11000101000100110111111000011101
+00100000001000000100001110000110
+01000100111101010100000000011101
+01110000010001101011010000000000
+00100000010000000100001110000110
+00100000010000000100000111000001
+00100000001000000100001010110000
+01101000000000110100000111010000
+00100000001110100011001111101011
+00100000010000000100001001111110
+01110000000000010110110100010111
+01101000000000001100011001011010
+00100100001110100011001111100001
+01110000000000010110110100000100
+00100000001000000011001111100001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000100001001111110
+00100000010000000011010000011000
+00100000001000000111110111110100
+01011000000000000000000011001000
+01100000000000010100011100010110
+01100000000000010100011100011000
+00100000001000000100001010000101
+01011000000000000000001111101000
+01100000000000010100011100010110
+01100000000000010100011100011000
+01101000000000001100011100100000
+11000000000000001100001010001010
+11000000000000010100001010001100
+11000000000000011100001010001110
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01101000000000001100011011110001
+00100000001000000100001010001111
+01101000000000001100011011110010
+01100000000000001000101010100010
+00100000010000000100010010000010
+01101000000000001000101010100010
+01100000000000001100011100010101
+11011010001000000000000000000000
+01110000010001110001001100000001
+00100000001000000111110100011110
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+00100000001000000100000111000001
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010010
+01011000000000000000000000000000
+01100000000000010100011001111110
+01100000000000001100011010000000
+00100000001000000011010000001110
+00100000010000000100001101011111
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101100001010101011
+01101000000000001100001000010000
+11000000000110011100001001110001
+11000000000110100100001001111001
+00100000001000000100001010110000
+00100000010000000011110101010111
+11000110000100110000000000000000
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000011000000000000000000000
+01000100111101011100000000011101
+01101000000000010100011010000010
+11000010100001011100001010110111
+01101000000000100100011011010011
+11000011000011000100001010110111
+00011000000010100111111000000000
+01100000000000001100010010100001
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001111110111110100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001111110111011101
+01101000000000100100011011010011
+11000010100011100100001000101110
+00100000001000000100001010000010
+01000100111101100100000000011101
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001100001011010100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001100001011010111
+01101000000000100100011011010011
+11000010100011100100001000011010
+00100000001000000100010010000010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000001000000111110111111010
+01011000000000000000000000000000
+01100000000000010100011010101100
+00100000001000000111110111100010
+01101000000000100100011011010011
+11000100000000111000000000000000
+11011000111000000000000000000111
+00100000010000000100001111010010
+00100000010000000100001011101000
+00100000010000000100001011111011
+01101000000000100100011011010011
+11000010100010011100010000110101
+11000010100010100100001011100100
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110010111010001
+01101000000000001000000110000101
+11000000000110100100001011101100
+11000000000110011100001011101111
+00100000011000000000000000000000
+01100000000000001100011011000111
+01101000000000110000010001001111
+00100000001000000100001011110001
+01100000000000001100011011000111
+01101000000000110000000001000000
+01100000000000110100011011001000
+01101000000000111100011011000111
+11011000110000000100011100100001
+11011111001000000000000000000011
+11101000110010111000000000000000
+10011000010001100111110000000000
+00100000001000101100001100010000
+00011000110000001000110000010110
+11000010000000000100001011110101
+00100000011000000000000000000000
+11011010001000000100011100100001
+01101000000000001100011100100000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+01101000000000001000000110000101
+11100010001000001000000000000000
+11000000000110100100001100000101
+11000000000110011100001100001100
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+11011000110000000100010000011001
+00100000010000000111111010111111
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+11011000110000000100000110111110
+00100000001000000111111010111111
+00011000110000001000110111111010
+00011000110000100000101000000000
+01101000000010110100011011001000
+00011000010000001000010000000011
+11100000101010110000000000000000
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000010000000110010111011111
+11011010001000000100011100100001
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+11101010001000001000000000000000
+01100000000000001100001000010000
+11000000000110011100001100100111
+11000000000110100100001100101100
+00100000011000000000000000000000
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100010000011001
+00100000010000000111111010111111
+11101000110000110000000000000000
+01100000000000110100010010100000
+00100000011000000000000000000000
+01101000000000001100011011110101
+11000010100000101100001101001001
+11000010100000110100001101011001
+00100000001000000100001100110111
+00100000010000000100000010000011
+11000000000000110100001100111110
+01110000010001101101100000011110
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+00100000011000000000000000000000
+00100000010000000100001101000011
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+00100000001000000100001111000000
+01101000000000001100011011011000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011011011000
+00100100011110100000000000000000
+00100000001000000100001101110000
+01101000000000001100011011101101
+11000001011111111000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+01101000000000100100011011010011
+11000011100000110000000000000000
+00100000001000000100001101110000
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+11011000111000000000000000000110
+00100000001000000100001111010010
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000000001100011100100000
+11000000000000001100001101101001
+11000000000000010100001101101100
+00100000011000000000000000000000
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101100110
+01110000010001110010000000000001
+00100000011000000000000000000000
+01101000000000001100011100000011
+01100000000000001100011100100000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100100001000001100001101110000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+00100000011000000000000000000000
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001111000000
+00100000001000000100001101111110
+11011000010000000000000000000001
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110011000000110
+00100000010000000100001110000001
+00100000010000000100001111000010
+00100000001000000100000111010111
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100001011001010
+01000100111101101100000000011101
+01011000000000000000000000000000
+01100000000000010100011010110000
+01101000000000010100011010000010
+11000010100001001011010000000010
+01101000000000010100011010000010
+11000010100000000011001111101001
+00100000011000000000000000000000
+01011000000000000000000000000001
+01100000000000110000000001000000
+01110000000000011000010100110011
+00100000001000000100001011011111
+00100000010000000100001111000100
+00100000001000000111111000101111
+01101000000000001100011011101100
+11000001011111111000000000000000
+01101000000010001100011011101100
+00100000010000000110100000011101
+00100000001000001100001110011111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+01101000000000001100011011110101
+11000010100000100100001110010100
+00100000010000000100000010000011
+11000000000000111100001110101111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+11011010011000000100011011011010
+11011010010000000100001110111000
+00100000001000000011001101101101
+11011000111000000000000000000110
+00100000010000000100001111001110
+00100000010000000011001101010111
+00100000001000000100001001101100
+11011000111000000000000000000001
+00100000001000000100001111001110
+11011000111000000000000000000001
+00100000001000000100001111010010
+11011000111000000000000000000000
+00100000001000000100001111001110
+11011000111000000000000000000000
+00100000001000000100001111010010
+11011000111000000000000000000010
+00100000001000000100001111001110
+11011000111000000000000000000010
+00100000001000000100001111010010
+11011000111000000000000000000101
+00100000001000000100001111001110
+11011000111000000000000000000101
+00100000001000000100001111010010
+11011000010000000000000000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001000000111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001111111111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000011010000000000000000
+01101000000000001100011011001110
+00011111111000001111111000000001
+01100000000000001100011011001110
+00011111111001100111110000001010
+00100000011000010000000000000000
+01110000010001101100111000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000110100100110000
+01101000000000001100001000110001
+11000010100000001100010010100000
+11000011000000000100001111101001
+00100000001000000100001111100111
+11011000111000000000000000000100
+00100000001000000100001111001110
+11011000111000000000000000000100
+00100000001000000100001111010010
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000001100011011101111
+01100000000000001100011100010101
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
+00011111111001100111110000010100
+00100100010000010100001111111001
+11000000000000010100001111111011
+11000000000000100100001111111110
+11000000000000110100001111111011
+11000000000001000100001111111110
+00100000011000000000000000000000
+01110000010001101100111100000001
+00100000001000000100001111111110
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100010100
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100011001
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000000111
+11011010010000000100011010011010
+00100000011000000000000000000000
+01101000000000001100011110001011
+00100000011110100000000000000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100000010000001100010000010000
+01101000000000001100011100000100
+00100100011110100000000000000000
+00100000010000000100000010000011
+00100100011110100000000000000000
+00100000001000000010110110000011
+01101000000000001100011011100111
+11000001011111111000000000000000
+01110000010001110000010000001010
+00100000011000000000000000000000
+00100000010000000100010000100011
+01101000000000010100011101111000
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000001000101100010000101011
+01100000000010010100011101111000
+00100000010000000100010000011100
+00100000001000000100010000110101
+01101000000000110100010010100000
+01100000000000110100011100111000
+00011111111000001111111100000000
+01100000000000110100011101010101
+00011111111000001111111100000000
+01100000000000110100011101110010
+00100000011000000000000000000000
+01011000000000000100011101111000
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+10011000010000001111111000000000
+11011000010000000000000000000010
+11011010001000000100011101111000
+00100000001000000110010101100010
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+11011010001000000100011100100000
+00100000010000000110010101100010
+00100000010000000100001100011010
+01101000000000100100011101111011
+00100000010000000010110001111010
+00100000001000000011001000101100
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+11011010001000000100011100100000
+01101000000000011100011100000000
+00100000001000000110010100010100
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111010001
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111011111
+11000110000100110000000000000000
+01101000000000100100011011010011
+11000100000010110000000000000000
+01101000000000001100011100000101
+00011111111000001111111000000001
+00011111111000010111111000000111
+01100000000000001100011100000101
+11000001100000111000000000000000
+01101000000000010100011010000010
+11000010100000000100010001001111
+11000010100001001100010001001111
+00100000011000000000000000000000
+01000100111101110100000000011101
+01101000000000001100011100000110
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+01101000000000001100011010100101
+00100000010000000110001111111011
+01100000000000001100011010100110
+00011111111001100111110000010000
+00100000001000010100010001011011
+01110000010001110000011000000000
+00100000011000000000000000000000
+01110000010001110000011000011110
+00100000011000000000000000000000
+11011010011000000100011100000110
+11011010010000000100010001100000
+00100000001000000011001101101101
+01101000000000001100011010100101
+00100000010000000110010000010100
+00011111111001100111110000010000
+00100100011000010000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+11011000111000000000000000001000
+00100000010000000100001111010010
+01110000010000010111001000000000
+01110000010001101100010000011110
+00100000010000000100010010000010
+01101000000000100100011011010011
+11000010100010101100010001110001
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010001110110
+00100000011000000000000000000000
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010010001100
+11000000000000011100010010001111
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01110000010000010111001000100000
+00100000001000000100010010000010
+01101000000000001100011011110000
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110001
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+00100000010000000100001010010110
+00100000010000000100010001111010
+00100000010000000100010001111110
+01101000000000001100011011110010
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110000
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110001
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110010
+01100000000000001100011100010101
+00100000001000000100001010011000
+01000100111101111100000000011101
+01101000000000001100011100011110
+00011111111000001111111111111111
+01100000000000001100011100011110
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001011111011
+00100000001000000100001010100010
+00100000010000000100010010000010
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000001000000010101100011111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+00100000010000000110100101001000
+01011000000000000100010011100110
+01100000000000010100000111101011
+01011000000000000100010011101001
+01100000000000010100000111101101
+01011000000000000100010011101111
+01100000000000010100000111110011
+01011000000000000100010011110010
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+00100000010000000010110001111010
+01011000000000000100010111000010
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010011101010
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000100010011101001
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100010100001110
+01100000000000010100000111111101
+01011000000000000100010011011010
+01100000000000010100011101011011
+01011000000000000100010011010110
+01100000000000010100011101011111
+01011000000000000100010101100000
+01100000000000010100011100001111
+01000100111110000100000000011110
+00100000010000000100010011100010
+00100000010000000111111000111000
+01110000010000010111001000000010
+01101000000000001100011100101011
+01100000000000001100011010011010
+11000000000000000100010011010101
+01101000000000001100011100101100
+01100000000000001100011010000110
+00100000010000000100010011011011
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001110101011100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01110000010001110101011100000010
+00100000010000000100010011011011
+11011010001000000000000000000000
+00100000010000000111110100011110
+00100000001000000010111011100100
+00100000001000000100010011011011
+01000100111110001100000000011110
+01101000000000001100011100101001
+11000000111111111100010011100000
+01101000000010001100011100000110
+00100000001000000110100000001110
+01100000000000001100011100000110
+00100000001000000100010011011110
+00100000010000000010110010011101
+01101000000000010100011101010011
+01100000000000010100011101010101
+00100000001000000100010100010101
+00100000010000000110100000110101
+00100000010000000100010011101001
+00100000001000000011010000001010
+00100000001000000110100101101100
+01101000000000001100011101100101
+00100000011110100000000000000000
+00100000001000000010110110000011
+00100000011000000000000000000000
+00100000001000000110100101111000
+00100000010000000100010101000100
+00100000010000000100010100000011
+00100000001000000100010011101110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000111001100010011111011
+11000000000111100100010011111111
+11000000000111010100010011111001
+00100000011000000000000000000000
+01110000010001110110010100000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01101000000000001100011101100011
+11000001000000000000000000000000
+01101000000000001100011101100010
+11000001000000001000000000000000
+01110000010001110110001000000001
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000010000000111110100011001
+00100000010000000100010011011011
+00100000001000000011010000001010
+00100000010000000011001101111011
+00100000001000000100010100010000
+01101000000000001100011100101101
+00100000011110100000000000000000
+11011010011000000100011101010101
+11011010010000000100010100001010
+00100000001000000011001101110100
+00100000010000000100010100011010
+01100000000010010100011100011010
+00100000010000000100010100011111
+01100000000010010100011100011100
+00100000011000000000000000000000
+01101000000000010100011100011010
+01100000000000010100011100011110
+00100000010000000100010101000000
+00100000010000000100010100100101
+01100000000000001100011100100100
+01101000000000010100011100011100
+01100000000000010100011100011110
+00100000010000000100010101000010
+00100000010000000100010100100101
+01100000000000001100011100100101
+00100000011000000000000000000000
+01101000000000010100011100100000
+00011111111000100010001000000000
+01101000000000010100011100011110
+00100000010000000100010100101110
+01101000000000001100011100011001
+00100100001110100100010100110111
+00100100011000010000000000000000
+01101000000010010100011100011110
+00100000011000000000000000000000
+10011000010001100111111000000000
+00100000001000010100010100110100
+00011111111001100111111000000000
+01110000010001110001100000000001
+10011010001001100111110000000000
+00100000011000000000000000000000
+01110000010001110001100000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+00100100001000010100010100111110
+01101000000000001100011100011000
+00100100001110100100010100111100
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+01110000010000100010111000110011
+00100000001000000110100011101011
+01110000010000100010111000110100
+00100000001000000110100011101011
+01101000000000001100011100101010
+11000001100000001000000000000000
+01000100111110010100000000011110
+01110000010001110001100100000001
+00100000010000000100010100011010
+01101000000000010100011100100100
+01101000000010010100011100100010
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000010100011100100010
+00100000010000000100010101010000
+00100000001000000100010101010100
+01101000000000001100011100100100
+00100000001110100100010101011010
+00011111111000001111111111111111
+00100000001000000100010101010111
+01101000000000001100011100100101
+00100000001110100100010101011101
+00011111111000001111111000000001
+00011111111000100000111000000000
+11011010001000000000000000000001
+00100000001000000100010101100000
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000001000000100010101100000
+11011000111000000000000000000010
+11011010001000000000000000000000
+00100000001000000100010101100000
+00011010001000100111111000000000
+01100000000000001100011101100001
+01101000000000001100011101100011
+11000000000000000010111011100100
+01101000000000010100011101010011
+01100000000000010100011101010101
+01101000000000001100011101100001
+00100000001110100100010110000000
+01000100111110011100000000011110
+11011010001000000000000000000000
+00100000010000000111110100010100
+00011000111000100111111000000000
+11000000000000100100010110100011
+11000000000000101100010110100101
+11000000000000110100010110100111
+00100000010000000100010110001011
+11000000000000000100010101110100
+11000000000000010100010101111010
+11000000000000011100010101110100
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110001111
+11000000000000001100010110010001
+11000000000000010100010110010011
+11000000000000011100010110010101
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110010111
+11000000000000001100010110011010
+11000000000000010100010110011101
+11000000000000011100010110100000
+00100000011000000000000000000000
+01000100111110100100000000011110
+11011010001000000000000000000000
+00100000010000000111110100011001
+00011000111000100111111000000000
+11000000000000100100010110111100
+11000000000000101100010110111100
+00100000010000000100010110001011
+11000000000000000100010110101001
+11000000000000010100010110101111
+11000000000000011100010110101001
+00100000011000000000000000000000
+01101000000000001100011100101000
+01101000000010001100011100100111
+10011000010000011111111000000000
+00100000011000000000000000000000
+01110000010001110011010000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+00100000001000000100010110111110
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011100000000001
+00100000001000000100010110111110
+01110000010001110011100000000010
+00100000001000000100010110111110
+01110000010001110100000100000001
+00100000001000000100010111000000
+00011000111000100111111000000000
+11000000000000000100010110110101
+11000000000000001100010110110101
+11000000000000010100010110110111
+11000000000000011100010110110111
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110111001
+11000000000000001100010110111001
+11000000000000010100010110111001
+11000000000000011100010110111001
+00100000011000000000000000000000
+01110000010001110011010000000000
+00100000001000000100010110111110
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011010000000000
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011100000000000
+00100000001000000100010110111110
+11011010001000000100011100101110
+00100000001000000111111000111101
+11011010001000000100011100111011
+00100000001000000111111000111101
+01101000000000001100011101100100
+11000000000000001100010111001100
+11011010001000000100011101000100
+00100000010000000111111001010100
+00100100001101000100010111010001
+11011000110000000100011101000100
+11101000110000001000000000000000
+00011111111000100010001000000000
+11011010010000000100011101000101
+00100000011000000000000000000000
+01110000010001110110010000000000
+01111000001101000111110000000000
+11011010001000000000000000000001
+11011010010000000100011101100110
+00100000011000000000000000000000
+01101000000000001100011101000111
+11000000000000100100010111010101
+11000000000000101100010111010101
+00100000011000000000000000000000
+01101000000000001100011101001010
+00100100001110100100010111011100
+01101000000000001100011101001100
+00100100001110100100010111011100
+01101000000000001100011101001110
+00100100001110100100010111011100
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000100010111000111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+01011000000000000100011010110100
+01100000000000010100000111101011
+01011000000000000100011010110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000100011010110001
+01100000000000010100000111110011
+01011000000000000100011000010010
+01100000000000010100000111110101
+01011000000000000100011000001100
+01100000000000010100000111101001
+01011000000000000100011101101010
+01100000000000010100000111111001
+01011000000000000100011010000110
+01100000000000010100000111111101
+01011000000000000100011100101001
+01100000000000010100011011100111
+01011000000000000100100000000110
+01100000000000010100011011100010
+01011000000000000100100000000111
+01100000000000010100011011100100
+00100000010000000101011110100011
+00100000010000000100011111011010
+00100000010000000100011110001000
+00100000010000000100011101101101
+00100000010000000110100101001000
+00100000010000000100011101111010
+00100000010000000111111000111000
+00100000010000000111110100001000
+00100000010000000100011110010011
+00100000010000000100011111000111
+01000100111110101100000000011110
+00100000010000000100011001001111
+01101000000000001100011011011101
+11000000000000000100011000001001
+01101000000000001100011011011110
+01100000000000001100011010000110
+00100000001000000100100000001110
+01110000010001101000011011111111
+01110000010001101101111100000001
+00100000001000000100011011011001
+01101000000000001100011011011111
+11000000000000010011001111010000
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100100001110100011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000000001100011000100110
+11000000000000010100011000101001
+11000000000000100100011000110001
+11000000000000101100011000110011
+11000000000000110100011000110101
+11000000000000111100011000111000
+11000000000010010100011000111100
+11000000000010011100011001000100
+11000000000100111100011001000101
+11000000000101110100011001001000
+11000000000111101100011001001001
+11000000000010100100011001011000
+11000000000010101100011001011100
+11000000000111111100011001011111
+11000000001000000100011001100101
+11000000000010000100011001101011
+11000000000101100100011001101100
+11000000000101101100011001110111
+00100000011000000000000000000000
+01110000010001101010110100000000
+01110000010001101010110000000000
+00100000011000000000000000000000
+00100000010000000100011000101011
+00100000001000000100011000110001
+01110000010000011110001000000000
+01110000010001101000000000000000
+01110000010000100000010100000000
+01110000010001101010110000000000
+01110000010001101010110100000000
+00100000001000000111111000111000
+00100000010000000011001110101001
+00100000001000000100011011000010
+00100000010000000100011010110110
+00100000001000000011010000001000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01110000010001101010110000000000
+01011000000000000000000000000001
+01100000000000001100011010101101
+00100000011000000000000000000000
+01101000000000001100000111100010
+11000001000000001000000000000000
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010100
+00100000010000000100011010110110
+00100000010000000011010000001000
+00100000001000000011010000001110
+00100000001000000100011000110001
+01011000000000000000000000000101
+01100000000000001100011010101100
+00100000011000000000000000000000
+00100000001000000011001111001101
+11011010010000000000000000000000
+01101000000000001100001000010111
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110011000000110
+11011010010000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110010111011111
+00100000010000000100011010110110
+01011000000000000000000000000000
+01100000000000010100011010110111
+00100000001000000011010000001000
+00100000010000000111111000111000
+01110000010001101011000000000000
+00100000001000000100011011011001
+00100000010000000111111000111000
+01110000010001101011000000000001
+01101000000001000100011011000001
+01100000000001000100010010010110
+00100000010000000011010000010110
+00100000001000000101101010111111
+01101000000000010100010100001001
+11000001000000000000000000000000
+01101000000001000100011011001001
+00100000011110100000000000000000
+01100000000001000100010010010110
+00100000001000000101101010111111
+00100000001000000100100000011111
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000001100000001000000000000000
+00100000010000000100011001110010
+00100000001000000011010000000110
+01110000010010001101111100000001
+11011111001000000000000000001011
+11011000101000000100100011100000
+11011000110000000100100011001001
+00100000001000000111111100000001
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000000000000001100011001111100
+00100000001000000100100000011011
+01101000000000001100100011011111
+11000001100000001000000000000000
+01110000010010001101111100000000
+01101000000000010100011010000010
+11000010100000000011010000001000
+11000010100001001011010000001000
+11011111001000000000000000001011
+11011000110000000100100011100000
+11011000101000000100100011001001
+00100000001000000111111100000001
+00100000010000000100011010001100
+00100000010000000100011010010011
+00100000010000000100011010011110
+00100000010000000100011010100110
+00100000010000000100011010101001
+00100000001000000100011010101100
+11011010011000000100011011011011
+11011010010000000100011010001111
+00100000001000000011001101110100
+01110000010001101101111100000010
+00100000010000000011010000001000
+00100000010000000100011011110100
+00100000001000000100100000001011
+11011010011000000100100011101100
+11011010010000000100011010010110
+00100000001000000011001101101101
+01101000000000010100011010000010
+11000010100001001100100000001011
+11000010100000000100100000001011
+01101000000000001100100011001001
+11000000000000001100100000001011
+11000000000000100100100000001011
+11000000000000101100100000001011
+00100000001000000011010000001010
+11011010011000000100011010101100
+11011010010000000100011010100001
+00100000001000000011001101101101
+01101000000000001000001001111111
+01111001001000000111111000000000
+01111001001000000111111000000111
+01100000000000001000001001111111
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100011000111100
+00100000001000000011001101101101
+11011010011000000100011010101101
+11011010010000000011001111101001
+00100000001000000011001101101101
+01101000000000001100011011011111
+11000001100000001000000000000000
+11011010011000000100011010110111
+11011010010000000100011011000010
+00100000001000000011001101110100
+00100000010000000100011100111010
+00100000001000000110100101111000
+00100000001000000110100101101100
+00100000010000000110100000110101
+00100000001000000100011010110011
+01101000000000001100011010011010
+11000010100000001100011010111110
+11000010100000000100011010111010
+00100000011000000000000000000000
+01101000000000010100011011010111
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111111000
+01101000000000010100011011010011
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111110000
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011001000
+11000010100000000100011011001100
+00100000011000000000000000000000
+01101000000000010100011011010001
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111101011
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011011010101
+01100000000000010100011011011001
+01100000000000010100011011011011
+01101000000000010100011010110011
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111101
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011011111
+11000010100000000100011011100100
+00100000011000000000000000000000
+00100000010000000100011011111000
+00100000001110100100011011000010
+00100000010000000011010000000110
+00100000010000000011001111110000
+00100000001000000011001111100001
+01101000000000010100011010110111
+01101000000010010100011010110101
+01100000000010010100011010110111
+00100100011110100000000000000000
+01101000000000010100011010110001
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111001
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01100000000000010100000101010100
+00011111111000001111111111111100
+01100000000000010100010010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100011010110110
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000000010100001000010101
+00011111111000100010001000000000
+11101010001000010000000000000000
+11000000000000000100011100000001
+00011010001000001010001000100010
+11000010000000000100011011111100
+00100000001000000111111111110001
+11101000110000110000000000000000
+01100000000000110100000111010000
+00011000110000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000010000000110011111010111
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000010100000000100011100001101
+11000010100001001100011100010000
+00100000011000000000000000000000
+01101000000000001100001001010011
+11000001100111111000000000000000
+00100000001000000111111111100111
+01101000000000001100011010110000
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000011100000000000000000000000
+11000011100001001000000000000000
+00100000001000000111111111100111
+01101000000000001100011010011010
+11000010100000001100011100011100
+11000010100000000100011100011111
+00100000011000000000000000000000
+01101000000000001100000010010011
+11000001100000011000000000000000
+00100000001000000100011011011001
+00100000001000000100011011011001
+01111000010101100111110000000000
+01101000000000010100011011011001
+01100000000000010100011011011011
+00100000010000000100011100010011
+00100000001101000100011100011000
+00100000010000000100011100001000
+00100100011101000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+00100000010000000100011100100000
+00100100011101100000000000000000
+00011010001000100111111000000000
+00100000001110100100011100110000
+00100000010000000011010000000110
+11011010011000000100011011110001
+00100000001000000100011100110010
+00100000010000000011010000001000
+11011010011000000100011100011001
+11011111111000000000000000000101
+10011000111011111111111000000000
+10011010011000001010011000000000
+11101010011000001000000000000000
+00100000011110100000000000000000
+00100000010000000100011101100010
+00011010011000001010011000000001
+00100000001000000100011100110101
+01101000000000010100011010000010
+11000010100001001100011100111110
+11000010100000000100011101001110
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011101000001
+10011000010000001000110000000000
+11101000110000001000000000000000
+00011111111000100010001000000000
+11101000110010010000000000000000
+00100000010000000111111010100101
+00100000010000000101101001100100
+00011010001000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000101001001110001
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011110100000
+10011000010000001000110000000000
+11101000110000101000000000000000
+01100000000000101100011110011011
+01101000000000001100011110011011
+00011111111000100010001000000000
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000000010100001
+11100000101000001000000000000000
+01101000000000100100011110011100
+11100000101001001000000000000000
+00100000011000000000000000000000
+01100000000000001000101010011010
+11011010001000000000101010011010
+00100000001000000111111000111101
+11011010001000000000101010011010
+00100000010000000111111001010100
+00100100011101000000000000000000
+01101000000000001000101010011010
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000011000100011001011111
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100100011101011
+01011000001000000000000000001000
+01100000000000100100011011000001
+01011001001011000000000000000101
+11100000101000100000000000000000
+01110000010001001010011000010111
+01011000000000000000000000011011
+01100000000000010100010011111010
+00100000010000000101100000010000
+00100000010000000101100000101100
+00100000010000000101100000111001
+00100000001000000101100000011000
+11011111001000000000000000101000
+11011000101000000100011101000001
+11011000110000001001010010011111
+00100000010000000111111011110100
+11011111001000000000000000101000
+11011000101000000100011110100000
+11011000110000001001010011000111
+00100000001000000111111011110100
+11011111001000000000000101111110
+11011000110000001001000100111010
+00100000001000000111111011110100
+11011111001000000000000111100111
+11011000110000001001001010111000
+00100000001000000111111011110100
+00100000010000000100011110101110
+00100100011101000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110010000
+01101000000000001100011010100000
+00100000010000000100011110010000
+01101000000000001100011010100001
+00100000001000000100011110010000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000001000000110011111111001
+00100000010000000100011110101110
+00100100011101000000000000000000
+00100000010000000100011110010111
+00100000001000000100011110110100
+11011010001000000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110101001
+01111101001110100010001000000000
+01101000000000001100011010100000
+00100000010000000100011110101001
+01111101001110100010001000000001
+01101000000000001100011010100001
+00100000010000000100011110101001
+01111101001110100010001000000010
+00011010001000100111111000000000
+01100000000000001100011010101001
+01101000000000001100011010011110
+10011010001011111111111000000000
+01101000000010010100011010011100
+10011000010000001111111000000000
+01100000000000010100011010101010
+00100000011000000000000000000000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000010000000110100000011101
+00100100001000001111111111110001
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000001100011010101000
+00100100011110100000000000000000
+01101000000000001100011010011011
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000110011001101010
+01101000000000010100011010101010
+11011010001000000000101011000010
+01101000000010001100011010011110
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100001110101111
+00100000010000000111111011110100
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100010100010101
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001100011011100110
+11101000110000001000000000000000
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+11011000010000000000000000000011
+01101000000000010100011010100100
+00011111111000100010010000000000
+11011010001000000100011010100110
+00100000010000000110010111011111
+01101000000010010100011010100110
+01011000000000000001101100111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001100011010101000
+00100000011110100000000000000000
+00011111111000100000010000000000
+01101000000000010100011010100100
+00011111111000001010010000000011
+11011010001000000000101011000010
+00100000010000000110010111011111
+00100000001000000100011111101000
+01101000000000010100011010100010
+00100000011110100000000000000000
+00100000010000000110011001101010
+11011000010000000000000000000001
+11011010001000000100011010101000
+00100000010000000110011010110011
+01101000000000001100011010101000
+00100000011110100000000000000000
+01101000000000010100011010100010
+00011111111000001111111000000001
+11011010001000000000101011000010
+01101000000010001100011010101000
+00100000010000000110011010110011
+00100000010000000110011001101101
+00100000010000000100011110111010
+11101000110000010000000000000000
+00100000011110100000000000000000
+00011111111000100000101000000000
+11101000110010001000000000000000
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000001000000100011111101001
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110010111011111
+01101000000000001000101011000010
+11000000100000001100011111111001
+01011000000000000000000000000001
+01100000000000001000101011000010
+00011000000000000111001000000011
+00100000010000000110001100001101
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110011000000110
+01101000000000011000101011000011
+01100000000000011100000010100000
+01100000000000011100010010100000
+00100000011000000000000000000000
+00100000001000000100011011011001
+11011010001000000000000000000000
+11011010011000000100100011010100
+00100000010000000111110100100100
+00100000010000000100011011110100
+01101000000000001100100011101011
+01100000000000001100100011101100
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000100100000010110
+01110000010001100111100100000001
+00100000010000000111110011010011
+00100000010000000111110011011101
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11100000010000001000000000000000
+11101000101000001000000000000000
+01100000000000001100011010000101
+00100000011000000000000000000000
+01101000000000010100001000111111
+11101111111000001000000000000000
+11000001100000000000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11101000010000001000000000000000
+11000000000000001100100000101010
+01011000000000000000000000000001
+01101000000010010100001000111111
+11100000010000001000000000000000
+00011000010000001000110000000010
+11101000110000001000000000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000010
+00100000010000000100100000010110
+00011000010000001000110000000101
+11101000110000010000000000000000
+00100000001110100011010000001010
+00100000001000000111111110011100
+01100000000000110000000100000001
+01101000000000001000000100000001
+01100000000000001000000100001100
+11101000110000001000000000000000
+01100000000000001000000100001011
+11101000110000001000000000000000
+01100000000000001000000100001010
+11101000110000001000000000000000
+01100000000000001000000100001001
+11101000110000001000000000000000
+01100000000000001000000100001000
+11101000110000001000000000000000
+01100000000000001000000100000111
+01101000000000110000000100000111
+00100000011000000000000000000000
+00100000010000000110100010100010
+01101000000000001100001000100011
+01100000000000001100010010100000
+01101000000000001100001000100101
+11100000101000001000000000000000
+01101000000000001100001000100111
+11100000101000001000000000000000
+01101000000000011100010010100000
+01100000000000011100000010100000
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001010110
+01101000000000001000000111111000
+00100000010000000100100010001101
+00100000010000000100100010100001
+00100000010000000100100010011011
+01011000000000000000000010100001
+00100000010000000100100010001101
+00100000010000000100100001111111
+11100010001000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001011010
+00100000001000000100100010100001
+00011010010100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001101011
+01101000000000001000000111111000
+00100000010000000100100010001101
+11101010001000001000000000000000
+00100000010000000100100010001101
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001101011
+00100000001000000100100010100001
+11011111001000000000000000001010
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100011000111
+00100000001110100100100010101001
+11000010000000000100100001110101
+00100000001000000100100010101001
+00100000010000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000001000000100100010101001
+11011111001000000000000000001000
+11011010011000000000000000000000
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00011010011000111010011000000000
+00100000010000000100100011000111
+10011010011000001010011000000000
+00100000010000000100100011010010
+00100000010000000100100010101001
+11000010000000000100100010000010
+00100000010000000100100001111001
+00011010011000100111111000000000
+00100000011000000000000000000000
+11011111001000000000000000001000
+00011111111000100010011000000000
+00100000010000000100100010101001
+00101010011011111111111000000111
+00100000010000001100100010101100
+00100100010000001100100010101111
+00011010011000111010011000000000
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101001
+00100000010000000100100011010010
+11000010000000000100100010010000
+00100000001000000100100001110001
+00100000010000000100100010101100
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000001000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101100
+00100000001000000100100011010010
+01111000001101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000001101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001000000111111000000000
+11100000010000001000000000000000
+00011000010000001000010000000100
+11101000010000001000000000000000
+11111001001101000111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001111111111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000100011100
+10011000010000001000010000000000
+01011000000000000000000000000000
+11101000010010001000000000000000
+10101000010011111111111111111111
+01111001001000001111111000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01000100111110110100000000011110
+01101000000100001000101000100110
+00101111111011111111111000000111
+00100000010000001100100011101010
+00100000010000000100100100101110
+01101000000100001000101000100110
+01100000000000001000101100100010
+01101000000100001000101000100111
+01100000000000001000101100100011
+01100000000100001000101000100111
+00011111111001000111111000000000
+01101000000010001000110100110111
+10011000010000010111111000000000
+01100000000000001000110100110111
+01110000100010100010011011100000
+01101000000000001000101100100011
+00101111111000000000001000000001
+00100000010000001100100101000001
+01101000000000001000101100100010
+00101111111000000000001000000001
+00100000010000001100100101001010
+00100000010000000100101101100001
+00100000001000000100100100000011
+01000100111110111100000000011110
+00100000010000000100100100011001
+01110000100010100000000000000000
+00100000000000000010011100010000
+01110000100010100001000011000000
+01101000000100010000000001010000
+01111001001111111111111000001010
+01100000000100010000000001010000
+01110000100010100000000000111100
+01110000100010100010011011111111
+01110000100010100010011111111111
+01110000100010100000010000000000
+01110000000011000110101100000010
+01011000000000000000110110011101
+11011000101000000000110001101110
+10011000101001100111001000000000
+00100000001000000111111011010100
+01101000000010001000110001101100
+00100000001000000110011111111011
+01101000000000001000110101000101
+00100000011110100000000000000000
+01101000000010001000110001101100
+00100000010000000110100000011101
+00100000001000001100100011101010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000001000110101000110
+00100100011110100000000000000000
+01101000000000001000110101000101
+00100100010110100100101110110111
+00100000011000000000000000000000
+11011000101000000000101101101000
+00111000000000010001001000010010
+00111000000001001000000000000000
+00111000000010000000000000000000
+00111000000011010000000000000000
+11100000101001001000000000000000
+00111000000000100010010000010010
+00111000000001001000011000000100
+00111000000010000001000000000000
+00111000000011000000000000001000
+11100000101001001000000000000000
+00111000000000000000000000000001
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000011000110101100000010
+01011000000000000000000000000000
+01100000000000001000101101100111
+01100000000000010000110001100101
+00011111111000001111111000000001
+01100000000000010000110001100111
+00011111111000001111111000000001
+01100000000000010000110001101001
+01011000000000001000111111111010
+01100000000000010000101101111100
+01011000000000001001000000111010
+01100000000000010000101101111110
+11011000101000000000101110000000
+11011000110000001001000011111110
+00100000010000000111111010110011
+01101000000000001000110001101101
+00100100010110100100100100101011
+00100000001000000100100100001011
+01100000000000001000101110100010
+01100000000000001000101110111011
+00100000011000000000000000000000
+01101000000100001000101000100110
+11000010100000110100100100110001
+00100000011000000000000000000000
+00100000010000000100100100110110
+00100000010000000111111100010101
+01011000000000000000001010000000
+11011000111000000000000000000000
+00100000001000000111111100001000
+01101000000000001000110100110110
+11000000100000010100100100111011
+01110000000011010100011000000000
+01110000000011010100011100000000
+00100000011000000000000000000000
+01101000000000001000110101010011
+00100000011110100000000000000000
+01110000000011010101001100000000
+01110000000011010011011000000010
+01110000000011010100010100000001
+00100000011000000000000000000000
+01110000100010100010011100000001
+00100000001000000100101100110111
+01101000000000001000101100100010
+11000010100000100100100101010101
+00100000011000000000000000000000
+01101000000100001000101000011000
+11100000101000001000000000000000
+11000010000000000100100101000110
+00100000011000000000000000000000
+01000100111111000100000000011111
+01110000100010100010011000010001
+01101000000100001000101000100000
+01100000000000001000101100100100
+00011111111000100111001000000000
+00100000001110100100100101000011
+11011000101000000000110001101110
+00100000010000000100100101000110
+01101000000000001000101100100100
+00011111111001100111110000000111
+00100000011000010000000000000000
+01101000000000001000110001101110
+00011111111000010111111010000000
+11000000010000000100100101011010
+11000000000000000100100101100010
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101101010
+11000000000000001100100101110000
+11000000000000010100100101110101
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101110110
+11000000000000001100100101111110
+11000000000000010100100110000011
+00100000001000000010101010001100
+01101000000000001000110001101111
+11000000000001000100100110001010
+11000000000000110100100110100000
+11000000000001010100100111101010
+11000000000000000100100111111100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000010100101000101111
+11000000000000001100101000110011
+11000000000000011100101001000101
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000001100101001001111
+11000000000000011100101001111001
+11000000000000101100101010100011
+11000000000001001100101010111100
+11000000000001011100101011010111
+11000000000000111100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000001010100101011101000
+11000000000001001100101011111001
+11000000000001011100101100010001
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000100001000101000010001
+01111001001000000111111000000000
+01100000000100001000101000010001
+00100000001000000100100110001000
+01110000100010100001001001000000
+00100000011000000000000000000000
+01101000000000001000110001101110
+11000000110000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001101011
+11000000000000100100100110011100
+11000000000000011100100110011110
+00100000001000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01000100111111001100000000011111
+01111001001111111000000000100011
+01101000000000001000110001110001
+11000000000000001100100110110110
+11000000000000010100100111001111
+11000000000000011100100111010010
+11000000000100001100100110101001
+11000000000100010100100111100000
+00100000001000000100100110000100
+01110000000011010100101100000000
+01101000000000001000110001110010
+11000000000000000100100110101110
+11000000000000001100100110110010
+00100000001000000100100110000100
+11011010001000000000101110010011
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+11011010001000000000101110101100
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+01101000000000001000110101001000
+00100100010110100100100111000111
+01011000000000000000101101101000
+01101000000010001000101101101000
+01100000000000010000110100111111
+01100000000010001000110101000001
+01101000000000001000110001110100
+10011000010001100111110000000000
+00100100001000010100100111000101
+01101000000000001000110101000001
+10011000000000000010010000000000
+01101000000000010000110100111111
+00011111111000001111111000000001
+10011000000000000010001000000000
+00100000001000000100101100100001
+01101000000000001000110001110100
+00100000001000000100100111000000
+01101000000100001000101000000100
+00100100010110100100100111001011
+01110000000011010100100000000000
+00100000011000000000000000000000
+01101000000100001000101000000100
+01111001001000000111111000000111
+01100000000100001000101000000100
+00100000011000000000000000000000
+01011000000000000000101110000000
+01101000000010001000101110000000
+00100000001000000100100110111010
+01101000000000001000110001110000
+00011111111001100111110000000011
+00100100001000010100100110000100
+01101000000000001000110001110000
+11011010001000000000101111100100
+11000000000000000100101100011110
+01111001001000000000000000100011
+11011010001000000000101111101001
+11000000000000001100101100011110
+11011010001000000000110000000111
+11000000000000010100101100011110
+11011010001000000000110001000111
+11000000000000011100101100011110
+00100000011000000000000000000000
+01101000000000010000110001110010
+11000000000000001100100111100101
+01101000000000010000101101111100
+00011111111000100010001000000000
+00100000001000000100101100011110
+01110000000011010100010100000001
+01110000000011010011011000000001
+01101000000000010000101101111110
+00011111111000100010001000000000
+00100000001000000100101100011110
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000110000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000010100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000010000000100101000001101
+11000000010000001100101000011000
+11000000010000010100101000011100
+00100000001000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+11011010010000000000000000000010
+01101000000000001000110100111001
+11000000000000001100101000010110
+11011010001000000000110001100101
+00100000001000000100101100100001
+11011010001000000000110001100111
+00100000001000000100101100100001
+11011010001000000000110001101001
+00100000001000000100101100100001
+01101000000000001000110001101011
+11000000100000100100100110000100
+11011010010000000000000000000010
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110010
+11000000010000001100101000101001
+11000000010000010100101000101011
+11000000010000011100101000101101
+00011111111000010111111001111111
+11000000000000000100101000100101
+00100000001000000100100110000100
+01101000000000001000110100111011
+11011010010000000000000000000010
+11000000000000001100101000010100
+00100000001000000100101000010010
+01101000000000001000110100111100
+00100000001000000100101000100110
+01101000000000001000110100111101
+00100000001000000100101000100110
+01101000000000001000110100111110
+00100000001000000100101000100110
+01110000000011010100110000000001
+11011010001000000000110101001101
+11011010010000000000000000000001
+00100000001000000100101100100001
+01101000000000010000110001110000
+11011000010000000000000110111010
+10011000010001100111110000000000
+00100100001000101100100110000100
+01111001001111111000000000100011
+01101000000000001000110101000010
+00100100001110100100101001000010
+01110000000011001111011000000000
+01101000000000001000110001110100
+10011000000000000010010000000000
+11011010001000000000110011110110
+00100000010000000100101100100001
+11011000101000000000110011110110
+11011111001000000000000000001000
+00100000001000000111111011000110
+01110000000011010100001000000000
+01110000000011001111011000000001
+00100000001000000100101000111011
+01101000000000001000110001110100
+11000000100000001100100110000100
+01110000000011010100101100000001
+11011010010000000000000000000001
+01101000000000001000110101001001
+11000000000000000100101001001101
+11000000000000001100101001001110
+00100000001000000100101000010010
+00100000001000000100101000010100
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101001011110
+11000000000000001100101001100110
+11000000000000010100101001100111
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001111111111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000000
+01110000000011010011101000000001
+00100000001000000100100110001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101001110010
+11000000010000010100101001110101
+11000000010000011100101001110111
+00011111111000010111111001111111
+11000000000000000100101001110000
+00100000001000000100100110000100
+01110000000011010011101100000000
+00100000001000000100100110001000
+01110000000011010011110000000000
+01110000000011010101001100000001
+00100000001000000100100110001000
+01110000000011010011110100000000
+00100000001000000100101001110011
+01110000000011010011111000000000
+00100000001000000100101001110011
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101010000010
+11000000000000001100101010001111
+11000000000000010100101010010000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000001
+01110000000011010011011000000011
+01110000000011010100001100000000
+00100000010000000100100110001000
+00100000010000000111111100010101
+01011000000000000001001110001000
+11011000111000000000000000001111
+00100000001000000111111100001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101010011101
+11000000010000010100101010011111
+11000000010000011100101010100001
+00011111111000010111111001111111
+11000000000000000100101010011011
+00100000001000000100100110000100
+01110000000011010011101100000001
+00100000001000000100100110001000
+01110000000011010011110000000001
+00100000001000000100100110001000
+01110000000011010011110100000001
+00100000001000000100100110001000
+01110000000011010011111000000001
+00100000001000000100100110001000
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111000010111111010000000
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100101010111010
+01110000000011000110101100000010
+01101000000000001000110001110000
+01100000000100001000101000000100
+00100000010000000100100110001000
+01110000000011010100100000000001
+00100000011000000000000000000000
+01110000000011000110101100000011
+00100000001000000100101010110101
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111001100111110000000001
+00100100001000010100100110000100
+01101000000000001000110001101011
+11000000000000011100101011010001
+11000000000000100100101011010001
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101011010101
+01110000000011000110101100000100
+00100000001000000100100110001000
+01110000000011000110101100000011
+00100000001000000100100110001000
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000100000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+00100000001000000100100110001000
+01110000000011010100110000000001
+01101000000000001000110001110001
+01100000000000001000110101001101
+01101000000000001000110001110010
+00011111111001100111110000000001
+00100000010000101100101011110101
+01101000000000001000110100110110
+11000000100000100100100110001000
+01110000000011010011011000000010
+00100000010000000100100110001000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01110000000011010100010100000001
+01110000000011010011101000000000
+01110000000011010011011000000100
+00100000011000000000000000000000
+01110000000011010101000000000001
+00100000010000000100101100000011
+01101000000000010000110001110000
+01100000000000010000110101001110
+01101000000000001000110001110100
+10011000000000000111001000000000
+11011000110000000000110001110110
+11011000101000000000110010110110
+00100000010000000111111100000001
+00100000001000000100100110001000
+01101000000000010000110001110000
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110010
+11011000010000000000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110100
+11011000010000000000000000000001
+10011000010001100111110000000000
+00100100011000101000000000000000
+01110000000011010100001100000001
+00100000011000000000000000000000
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101100010111
+11000000000000001100101100011010
+00100000001000000100100110000100
+01110000000011010100101000000000
+01110000000011010100100100000001
+00100000001000000100100110001000
+01110000000011010100010000000001
+01110000000011010100101000000001
+01110000000011010100100100000000
+00100000001000000100100110001000
+11101010001000001000000000000000
+10011000000000000010010000000000
+00011010001000001010001000000001
+01000100111111010100000000011111
+11000101100100011100101100101100
+00011010010000001111111000000001
+00011111111000111111111000000000
+01100000000100001000101000011000
+01110000100010100001100000000011
+01101000000000001000110001110100
+00011111111000001111111111111110
+00011111111000110111111000000000
+01100000000000001000110001110100
+11000000000000000100101100110101
+01101000000000010000110001110100
+10011010010001100111110000000000
+00100000001000010100101100110000
+00011111111000100010010000000000
+00011010001000100111111000000000
+01100000000000010000101101100101
+00011010010000100111111000000000
+01100000000000001000101101100111
+00100000001000000100101100110111
+11011000111000000000000000000000
+00100000001000000100101101010111
+01000100111111011100000000011111
+01101000000000001000101101100111
+00100000011110100000000000000000
+00011111111000100111001000000000
+00011111111001100111110001000000
+00100000001000010100101100111110
+11011111001000000000000001000000
+01101000000000001000101101100111
+10011111001001100111111000000000
+01100000000000001000101101100111
+01101000000000010000101101100101
+00011111111000100000110000000000
+11101000110000001000000000000000
+01100000000100001000101000011000
+11000101100100011100101101000111
+01110000100010100001100000000000
+11000010000000000100101101000011
+00011000110000100111111000000000
+01100000000000010000101101100101
+11011000111000000000000000000000
+00100000010000000100101101010111
+01101000000000001000101101100111
+00100100011110100000000000000000
+01101000000000001000110100110110
+11000001100000001000000000000000
+01110000000011010011011000000010
+00100000011000000000000000000000
+11011010001000001000101000011001
+11011000111000000000000000000001
+11101000110000001000000000000000
+11100010001000001000000000000000
+11000010000000000100101101010100
+01011000000000000000000000000000
+11111001001000000111111000000000
+01100000000100001000101000010000
+01101000000010001000110100110111
+10011000010000011111111000000000
+01100000000000001000110100110111
+00100000011000000000000000000000
+11011000111000000000000000000010
+11011010001000001000101000011010
+00100000001000000100101101010100
+01000100111111100100000000011111
+01101000000000001000110100111000
+00100000011110100000000000000000
+01101000000000001000110100110111
+00100100001110100100101110101100
+01101000000000001000110101000101
+00100000001110100100101110000110
+01101000000000001000110100110110
+11000000000000011100101110111111
+11000000100000010100101110000110
+01101000000000001000110100111010
+00100100001110100100101110000110
+00100000010000000100101101101111
+00100000001000000100101101111010
+01101000000000001000110100111000
+11000100000000001000000000000000
+01101000000000001000110100110111
+11000011100000001000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000001
+01100000000000001000110100111000
+01101000000000001000110101010001
+00100000011110100000000000000000
+11000000000010000100101110101000
+00100000001000000010101010001100
+01101000000000001000110100111000
+11000100000000010000000000000000
+01101000000000001000110100110111
+11000011100000010000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000010
+01100000000000001000110100111000
+01101000000000001000110101010010
+00100000011110100000000000000000
+11000000000100000100101110001001
+11000000000100001100101110100100
+00100000001000000010101010001100
+11011000101000000000110101010100
+11011111001000000000000000000110
+00100000001000000111111011000110
+01101000000000001000110101001100
+01101000000010001000110101001011
+10011000010000010111111000000000
+00100000001110100100101110100000
+01101000000010001000110101001010
+10011000010000001111111000000000
+11000000000000001100101110010001
+00100000001000000100101110100000
+01110000000011010101001000000000
+01101000000000001000110101010101
+11000000000000010100101110100001
+11000000000000011100101110100001
+01101000000000001000110101010101
+01100000000000001000110101010100
+01101000000000001000110101010110
+11100000101000001000000000000000
+01101000000000001000110101011000
+11100000101000001000000000000000
+01101000000000001000110101011010
+11100000101000001000000000000000
+11011111001000000000000000000100
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000001000
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000000011
+11011000110000000000110101110100
+00100000001000000100101101011110
+01110000000011010101000100000000
+11011111001000000000000000001000
+11011000110000000000110101100100
+00100000001000000100101101010010
+01101000000000001000110100110110
+11000000000000011100101110110000
+11000000000000010100101110110010
+00100000011000000000000000000000
+01110000000011010011011100000000
+00100000011000000000000000000000
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010100011100000001
+00100000011000000000000000000000
+01101000000000001000110100110110
+11000001000000011000000000000000
+11000000000000010100101110111011
+00100000011000000000000000000000
+01101000000000001000110101000111
+00100000011110100000000000000000
+01110000000011010100011000000001
+00100000001000000100101111000010
+11011000111000000000000000001111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000100001000101000000000
+11000100000000111000000000000000
+01110000100010100000000011111100
+00100000000000000111010100110000
+01110000100010100000000000111100
+00100000011000000000000000000000
+01000100111111101100000000011111
+01101000000000001100000111001110
+00100100011110100000000000000000
+00100000010000000100101111001110
+00100100010101000100101111100110
+00100000011000000000000000000000
+01000100111111110100000000011111
+00011000011000100010001000000000
+11011000010000000000000000000100
+11101000011000001000000000000000
+11000000000000001100101111011000
+00011000010000001000010000000001
+11000000000000010100101111011000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011000
+01111000010101000111110000000000
+00011010001000100000011000000000
+00100000010000000100101111101110
+10011000010000001000010000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011111
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000001100110000111111
+00100000001000000010101010001100
+01000100111111111100000000011111
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000010000000100101111101110
+10011000011000001000011000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011000011000001000011000000010
+11000000000000010100101111110011
+11101000011000001000000000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+00100000011000000000000000000000
+01101000000100010000000001011110
+00011001010000001001010111111011
+10011001010000001001010000000000
+00100000011000000000000000000000
+11011000010000000000000000000100
+00100000001000000100101111111100
+11011000010000000000000000000010
+01000111000000000100000000100000
+00011111001000001111001000000001
+01101000000100010000000001011110
+00011111111000100001010000000000
+00011111001000100111111000000000
+11100001010010001000000000000000
+00011111111000001111111111111111
+10011001010000001001010000000000
+00011001010000100111111000000000
+01100000000000010000001001011000
+00011000010000100111111000000000
+11000001000000010000000000000000
+01101000000000010000001001011000
+01100000000100010000000001011110
+00100000001000000100110000001011
+01011000000000000000000000000000
+01100000000000010000001001011000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01011000000000000100110100101000
+01100000000000010100000111110011
+01011000000000000000000110100000
+01100000000000010100001001000011
+01011000000000000001100000000000
+01100000000100010000000001010100
+01011000000000000001101111111111
+01100000000100010000000001010110
+01011000000000000001110000000000
+01100000000100010000000001011010
+00100000010000000100110000101000
+01110000100000000110001000000000
+01011000000000000001110000000000
+01100000000100010000000001011110
+01100000000100010000000001100000
+01011000000000000001100000000000
+01100000000100010000000001011000
+01100000000000010000001001000100
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000001
+01110000100000000110001010000001
+00100000011000000000000000000000
+01011000000000000001111111111111
+01100000000100010000000001011100
+01101000000100001000000010000001
+00011111111000011111111000000111
+01100000000100001000000010000001
+00100000011000000000000000000000
+01000111000000001100000000100000
+01101000000100001000000100001100
+10011000000000000010010000000000
+11000011000000011100110000110111
+01101000000100010000000100010010
+10011000000000000010011000000000
+11011000010000000000010001001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000001000000100101111001000
+01101000000110001000000100001100
+00101000010011111111111000000110
+00100000001000001100110000111010
+01100000000100001000000000010101
+00100000011000000000000000000000
+01000111000000010100000000100000
+01101000000000001100000111001110
+00100000001110100100110001000100
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+10011000000000000110000000000000
+10011000000000000000111000000000
+11101000011000001000000000000000
+10011000000000000000010000000000
+00011110000010110111111000000000
+00011111111011001111111000000000
+11000000000111111100110001001101
+00100000011000000000000000000000
+01000111000000011100000000100000
+00011000111000100111111000000000
+11000000000000000100110011011100
+11000000000000001100110001100110
+11000000000000010100110001101011
+11000000000000011100110001111010
+11000000000000100100110010110011
+11000000000000101100110011011100
+11000000000000110100110011000110
+11000000000000111100110001011100
+11000000000010000100110011001001
+11000000000010001100110011010001
+11000000000010010100110010100101
+11000000000010011100110010000101
+00100000001000000100110011011100
+00100000010000000100110011011100
+00100000010000000111111110011110
+00100000010000000110100010001100
+00100000010000000011001111010010
+00100000010000000011001111011001
+00100000001000000110100010001111
+01110000010000100100010100000000
+00100000010000000011001111010000
+00100000010000000100110000010011
+00100000001000000011001111011011
+00100000010000000100110011110010
+01101000000100010000000000000000
+11100001010000010000000000000000
+00011000000000000111001000000110
+00100000001000000100110011011101
+11101000011000010000000000000000
+01100000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+01100000000100001000000000100100
+11101000011000001000000000000000
+10011000010000001000010000000000
+01111001001000000111111000000111
+01100000000100001000000000100011
+11101000011000001000000000000000
+10011000010000001000010000000000
+00011111111000100111001000000000
+00100000011000000000000000000000
+11000101000101011100110011000100
+00100000010000000100110001101111
+11101000011000001000000000000000
+01100000000100001000000000100101
+10011000010000001000010000000000
+11000010000000000100110001111100
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+00100000001000000100110011011100
+11000101100101011100110011000100
+00100000010000000100110001101111
+01100000000001000000101010011010
+00100000010000000111010000100010
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01100000000011000000101010100010
+11011000101000000000101011010010
+00100000010000000111010010010111
+11011010001000000000101011010010
+11011010010000000000101011000010
+11011000101000000000101011100010
+00100000010000000111001101010010
+11011111001000000000000000010000
+11011000110000000000101011100010
+00100000010000000100110010011100
+01101000000011000000101010100010
+01101000000001000000101010011010
+00011111111000001111111111110000
+01100000000001000000101010011010
+00100100001110100100110010001000
+00100000001000000100110010000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000100110010011100
+00100000011000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010100000
+00100000011000000000000000000000
+11000101100101011100110011000100
+11011000010000000000000000000000
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+11011000110000000000101011000010
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000100110010000000
+11011111001000000000000000100000
+11011000101000000100000000000000
+11011000010000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010110110
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+01110000100000000010001100000000
+00100000010000000100110011011100
+00100000010000000100101111100110
+00100000010000000110010010100011
+00100000010000000111111110011110
+00100000001000000010000000000001
+01110000100000000010001100000000
+00100000001000000010000000000000
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+00011111111000100000101000000000
+00100000010000000110011011111101
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+11011000101000000001000000000000
+00100000010000000110011011111101
+01101000000010001000001001011010
+11011010001000000001000000000000
+01101000000000010000001001011011
+00100000001000000110011000001000
+00011000000000000111001000000100
+00100000010000000100110011110100
+00011000000000000111111000000001
+11100001010000001000000000000000
+00011110000000100111111000000000
+11100001010000011000000000000000
+00011000000000000000111000001110
+01000111000000100100000000100000
+00100000010000000100110011110110
+00011000111000100111111000000000
+11100001010000001000000000000000
+00011111001000100111111000000000
+11100001010000001000000000000000
+00011000000000000000111000000101
+00011111001000001111001000000010
+00100000001000000100101111111001
+00011000000000000000111011111111
+00100000010000000100110011110100
+01011000000000000000000000000001
+11100001010000001000000000000000
+00011000000000000111001000000001
+00100000001000000100110011100011
+00011000000000000001010000001100
+00100000001000000100110011110111
+00011000000000000001010000001000
+00100000001000000100110011110111
+00011000000000000001010000000110
+00100000001000000100101111110101
+01111000001001111111110000000000
+01111000001001001111110000000000
+11101001010000001000000000000000
+00001000000000001000000000001000
+11000010000000000100110011111010
+01111000001001000111110000000000
+00001000000000001000000000010000
+01111000010001000111110000000000
+01111000010001001111110000000000
+01111000010001111111110000000000
+00011111111100001111111000000000
+00100000011000000000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000110100000111010000
+01101000000010110000000001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010100110100001111
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+01011000000000000000000000000000
+01111001001101001111111000000001
+01100000000000001000000001111111
+00100000001000000100110100000100
+00100000011000000000000000000000
+01110000000000000111110000010111
+11011000101000000000010011011001
+01011000000000000000000000000000
+00101101000011111111111000011011
+01111001001000001111111000000001
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100000111100011
+11100000101000010000000000000000
+01101000000000001100000111100101
+11100000101000010000000000000000
+01101000000000001100000111100111
+11100000101000010000000000000000
+00100000001000000100110100000100
+01110000000000000111110000011000
+00100000001000000100110100000100
+00100000010000000110100010011001
+00100000011000001000000000000000
+11011000010000000000000000000111
+00100000010000000110100000011101
+00100100001000001100110100101111
+01110000010000100100010100000001
+00100000011000000000000000000000
+01101000000000001100001001000101
+11000001100000001000000000000000
+00100000010000000100110001100010
+00100000001000000100110011101100
+01000111000000101100000000100000
+01101000000000010000001001100100
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000001001100110101010011
+11000000000000111100110101010011
+11000000000001010100110101011111
+11000000000000101100110101001011
+11000000000000001100110100111111
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101100110101000011
+11000000000000011100110101001010
+00100000011000000000000000000000
+01110000000010101001100100100111
+00100000010000000111110110000110
+01101000000000001100000010010010
+11000100000000110000000000000000
+00011000010000100111111000000000
+11000000000000101100001110001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110101011111
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01110000000010101000111000000001
+01101000000000001100001001010010
+01111001001000000111111000000110
+01100000000000001100001001010010
+01110000000010101001100100010010
+00100000001000000111110110000110
+11101000110000001000000000000000
+11000000000000001100110101100010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101001001000000
+00011010001000100000010000000000
+01100000000010001000101010001110
+00011111111000100000101000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000001101011100110101101111
+01011000000000000100001101100101
+11011000101000000100001001000110
+10011000101001100111001000000000
+00100000010000000111111011010100
+01000111000000110100000000100000
+01011000000000000000010101010001
+11011000101000000000010100010001
+10011000101001100111001000000000
+00100000010000000111111011010100
+01011000000000000000001011001001
+11011000101000000000001001011101
+10011000101001100111001000000000
+00100000010000000111111011010100
+00100000001000000101001100011000
+01000111000000111100000000100000
+00011000110000100000010000000000
+00011000010000100000110000000000
+11101000110000010000000000000000
+01100000000000010000001001100110
+11101000110000010000000000000000
+01100000000000010000001001101000
+00011000110000100111111000000000
+01100000000000010000001001100100
+01101000000000001100011010000001
+11000000000000000100110110000101
+00100000001000000101000011101111
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000001000100000000100001
+01101000000000001000001001101000
+11000000000000001100110110011101
+11000000001010000100110111100000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000001001100000000100001
+00100000010000000101001001111110
+01101000000000001100001001010110
+11000000000000000100110110011011
+11000000000000001100110110011011
+11000000000000010100110110011011
+11000000000000011100110110011011
+11000000010000001100110110011011
+11000000011000000100110110011011
+11000000010000000100110110011011
+11000000001000000100110110011011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001010111000
+00100000010000000100111000000001
+01101000000010010000001001101111
+00100000001110100100110111111011
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01101000000000001100001101100100
+00100000011110100000000000000000
+00011111111000100010001000000000
+01000111000001010100000000100001
+01101000000000100000001011010101
+11011000010000000000000100000000
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01110000010000110110010000000000
+00011010001000100111111000000000
+11000000001010000100110110110111
+00100000001000000010101010001100
+11011001000000000000000000000000
+00100000010000000101001010111000
+00100000010000000100111001111010
+00100000010000000101001011000011
+00100000010000000111111010101000
+00100000010000000100111010101101
+00100000010000000101001011000001
+01011000000000000000000000001100
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01000111000001011100000000100001
+01101000000000010000001001110101
+00011111111000001111111000000100
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111000001000010000000001
+11011000110000000100001001100000
+11101000110000011000000000000000
+00100000011110100000000000000000
+01100000000000011000101011000010
+01101000000000001000101011000010
+00011111111000100010001000000000
+00100000010000000100110111010011
+00011010010000100111111000000000
+01100000000000001100001001100000
+00100000011000000000000000000000
+11011000111000000000000000000000
+11011010010000000000000000000000
+00011000111001100111110000000111
+00100100011000010000000000000000
+10101010001011111111111111111111
+00100000001000001100110111011010
+00100000001000000100110111011110
+00011000010000100111111000000000
+00100000001110100100110111011110
+11111001001000000010010000000000
+00011000010000001000010111111111
+00011000111000001000111000000001
+00100000001000000100110111010101
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000100110111000011
+00100000001000000100110111101100
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000101001011001110
+01101000000000010000001001110101
+00100000001110100100110111111011
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000001000000100110111111100
+00100000010000000100110100110011
+00100000001000000100110111111100
+01000111000001100100000000100001
+01110000000000101000010000000000
+00100000010000000110101010001010
+01101000000000001000001010000100
+11000001000000001000000000000000
+00100000001000000100110111111100
+00100000010000000101001001100100
+01011000000000000000000000000000
+01100000000000010000001001100110
+01100000000000010000001001101000
+01110000000000100110101000000001
+00100000011000000000000000000000
+01000111000001101100000000100001
+00100000010000000101001011000011
+00011000000000000010010000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000100111000010000
+00011010011000100111111000000000
+00011010011000001010011111111100
+00011111111000001111111111111100
+00100100001110100100111000001000
+00011010010000100111111000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01000111000001110100000000100001
+11101000110000001000000000000000
+11000000000000001100111001001001
+11000000000000010100111001010001
+11000000000000011100111011010101
+11000000000000100100111100000101
+11000000000000101100111110100010
+11000000000000110100111111001011
+11000000000000111101000000011011
+11000000000001000101000001010000
+11000000000001001101000001100000
+11000000000001010100111000011111
+11000000000001011101000001100001
+00100000010000000101000001100010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+11000000000000010100111000101101
+11000000000000011100111000110011
+00100000011000000000000000000000
+01011000000000100000000000001000
+11100000101000110000000000000000
+01011000000000000000001010000000
+11100000101000100000000000000000
+00011000000000000111111000001100
+00100000001000000100111000111000
+01011000000000110000000000001100
+11100000101000110000000000000000
+01011000000000000000000000000110
+11100000101001000000000000000000
+00011000000000000111111000010000
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+01100000000000010000101010100010
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000010000000101001011000011
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01101000000000010000101010100010
+00100000001000000100111000101010
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000010000000111111010101000
+00100000010000000111111010101101
+11011001000000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+01000111000001111100000000100001
+00011000010000100111111000000000
+11000000000000001100111001100100
+11000000000000011100111010000110
+11000000000010001100111010010010
+11000000000010011100111010011101
+00100000010000000101000001100010
+00100000001000000100111011010100
+00100000010000000111111010101000
+11011000010000000000000001010000
+01101000000000010100001001001000
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001000
+00011100010000100111111000000000
+01100000000000100000001011010101
+00100000010000000100111001101110
+00100000001000000100111010101001
+01100000000010010000001011010011
+00011001011000100111111000000000
+01100000000000010000001011001001
+00011010001000100111111000000000
+01100000000000010000001011001011
+00011010010000100111111000000000
+01100000000000010000001011001101
+00011010011000100111111000000000
+01100000000000010000001011001111
+00011000111000100111111000000000
+01100000000000010000001011010001
+00100000011000000000000000000000
+01101000000010010000001011010011
+01101000000000010000001011001001
+00011111111000100001011000000000
+01101000000000010000001011001011
+00011111111000100010001000000000
+01101000000000010000001011001101
+00011111111000100010010000000000
+01101000000000010000001011001111
+00011111111000100010011000000000
+01101000000000010000001011010001
+00011111111000100000111000000000
+00100000011000000000000000000000
+00100000010000000111111010101000
+01011000000000000000000001010001
+11011000010000000000000001010001
+01101000000000010100001001001010
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000100111010110001
+00100000010000000111111010101000
+11011000010000000000000001010010
+01101000000000010100001001001100
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000100111010110001
+00100000010000000111111010101000
+00011011010000100111111000000000
+11011000010000000000000001010011
+01101000000000010100001001001110
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000001000000100111010110001
+01011000000000000000000000000001
+01100000000000010000001001111101
+01110000010000110110010001010000
+00100000001000000100111010110011
+01101000000000001100001001010000
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010000
+01011000000000000000000000000000
+01100000000000010000001001111101
+01000111000010000100000000100010
+00100000010000000111111010101101
+01011000000000000000000000000011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+01101000000000010000001001111101
+11000000000000001100111011001001
+00101001000011000000000000000000
+00100000001000001100111011000100
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+11100000101000010000000000000000
+00011000000000000111111000000010
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+01111001001000000001000000000000
+00100000001000000100111010110001
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111011010100
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+01000111000010001100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111011101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111011110011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111011111111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111011111001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000100111000011110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00011000010000100010001000000000
+01000111000010010100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111100011100
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111100111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111100100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111100110000
+00100000001000000101000001100010
+00011000101000100001011000000000
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+00011001011000100000101000000000
+11011001011000000000000001010000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+00011001011000100000101000000000
+11011001011000000000000001010010
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+00011001011000100000101000000000
+11011001011000000000000001010011
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+00011001011000100000101000000000
+11011001011000000000000001010001
+01101000000000010100001001001010
+00011111111000100000010000000000
+01000111000010011100000000100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000110
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+01100000000010010000001010000010
+00011000111000100111111000000000
+01100000000000001000001010000001
+00011000000000000111111001010000
+10101001011000011111111000000000
+00100000001000001100111101011001
+00011111111000001111111000000001
+00100000011000000000000000000000
+01111000010101000111110000000000
+11000011100000010000000000000000
+11000100000000000000000000000000
+11000100000000001000000000000000
+01111001001000000111111000000010
+00011000110000100000101000000000
+00011000101000001000101111111111
+11100000101000001000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100001001010000
+00100000010000000100111101011010
+00100100001101000100111101101011
+01110000000000101000000001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010001
+00100000010000000100111101011010
+00100100001101000100111101110010
+01110000000000101000000001010001
+01101000000000010100001001001010
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010010
+00100000010000000100111101011010
+00100100001101000100111101111001
+01110000000000101000000001010010
+01101000000000010100001001001100
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010011
+00100000010000000100111101011010
+00100100011101000000000000000000
+01110000000000101000000001010011
+01101000000000010100001001001110
+01100000000000010000001010000010
+01000111000010100100000000100010
+00100000010000000101001000111010
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011000000000000111111000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010000001010000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+01101000000000001000001010000000
+11000000001010001100111110010111
+01011000000000000000000000110000
+11100000101000010000000000000000
+00100000001000000100111110011001
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+01100000000010010000001001101111
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+01110000000000101000000000000000
+00100000001000000100111000011110
+00011000110000001000110000000001
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+01000111000010101100000000100010
+01011000000000000000000001010000
+10011010001001100111110000000000
+00100000001000101100111110111010
+01011000000000000000000001010001
+10011010001001100111110000000000
+00100000001000101100111110111110
+01011000000000000000000001010010
+10011010001001100111110000000000
+00100000001000101100111111000010
+01011000000000000000000001010011
+10011010001001100111110000000000
+00100000001000101100111111000110
+00011000110000001000110000000010
+11101000110000010000000000000000
+10011000000000000111110000000000
+00100000001000000100111000011110
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000001000000100111000011110
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000001000000100111000011110
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000001000000100111000011110
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00011010001000100000010000000000
+00100000010000000111111010101000
+01000111000010110100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111111110010
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000000010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111111100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111111101100
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000001000101100111111111000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000001000101100111111111010
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000001000101100111111111110
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001111001
+00100000001000000101000000001010
+00100000010000000101000001111111
+01101000000000010100001001001100
+00100000001110100101000000001010
+00100000001000000101000000001010
+00100000010000000101000001110100
+01101000000000001000001010001000
+00100100001110100101000000001010
+00100000001000000101000000001010
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000001000101101000000001000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001101111
+00100000001000000101000000001010
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+00100000001000000101000000011001
+00100000010000000111111010101101
+00100000001000000101000000011001
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000010111100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000000110101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000111011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000001000001
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000001000111
+00100000010000000101000001100010
+00100000001000000101000001001111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000010000101101000001110100
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000010000101101000001101111
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000010000101101000001111001
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000010000101101000001111111
+00100000001000000101000001001101
+00100000010000000111111010101101
+00100000001000000100111000011110
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000100
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000001000000100111000011110
+00100000001000000100111000011110
+00011000000000000010010000000000
+00100000010000000101001011000011
+01011000000000000000000000000001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011010010000001010010000000110
+11011010011000000000000000000100
+00100000001000000100111000011110
+01011000000000000000000000000000
+01100000000000010000001001111011
+01100000000000010100001001001010
+01110000010000100101000100000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01110000010000100101000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001100
+01110000010000100101001000000000
+01101000000000001100001001010011
+11000000000000000101000010000101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001110
+01110000010000100101001100000000
+01101000000000001100001001010010
+11000000000000000101000010000101
+00100000011000000000000000000000
+01110000000010101001100100000111
+00100000001000000111110110000110
+01101000000000001000001001111111
+01111001001111111111111000000000
+01100000000000001000001001111111
+01101000000000010100001001001110
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100010001000000000
+00011000000000000010010001010011
+00100000001000000101000010011010
+01101000000000001000001001111111
+01111001001111111111111000000111
+01100000000000001000001001111111
+01101000000000010100001001001100
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100010001000000000
+00011000000000000010010001010010
+00100000010000000101001000111010
+00100000010000000101001011000011
+00011000000000000111111000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00011000000000000000010000001000
+00100000001000000101000011011110
+01000111000011000100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+00100000001000000101000011011110
+01000111000011001100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000001000000000000000
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+00100000001000000101000011011110
+01000111000011010100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+00011000101000100010001000000000
+01100000000000001100001001010101
+00011010001000100000101000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+01100000000010010000001001101111
+00011000010000100111111000000000
+00100000001110100101001001100100
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110101
+00100000001110100010101010001100
+00100000010000000101001011001110
+01101000000000010000001001110101
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000011011100000000100011
+01101000000000001000001001101000
+11000000000000001101000011111001
+11000000001010000100110111101000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000011100100000000100011
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011111111000100000101000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000101000100001000
+00011010011000001010011111111100
+00100100001000101101000100000010
+00011010010000100000010000000000
+00100000010000000101000011011110
+00100000001000000100110111111100
+11101000110000001000000000000000
+11000000000000010101000100010011
+11000000000000001101000100010110
+11000000000000011101000100100000
+11000000000000101101000101011100
+11000000000000100101000110001110
+11000000000000111101001000010011
+11000000000000110101000111100001
+11000000000001000101000001010000
+11000000000001010100111000111010
+00100000001000000101001000101110
+00100000010000000111111010101000
+00100000010000000111111010101101
+00100000001000000100111001010001
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000001000000000000000
+00011010001000001010001111111111
+00100100001000101101000100011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111001100111110000000000
+00100000001000101101000100110010
+11000000000000010101000100101110
+11000000000000100101000100101110
+00100000001000000101000100110000
+01110000000010101001100100010110
+00100000010000000111110110000110
+11101000110000010000000000000000
+00100000001000000101000101011001
+00100000010000000111111010101000
+01000111000011101100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101000001
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101000111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000101010011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101001101
+00100000001000000101000101011001
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+11101000110000010000000000000000
+00100100001110100101000110001000
+00100000010000000111111010101000
+00011001011000100000010000000000
+01000111000011110100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101110110
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101111110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000110000010
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000011000000000000000000000
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000011000000000000000000000
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+00100000010000000111111010101101
+00011010001000001010001111111010
+00100000001000101101000110001101
+00011000110000001000110000000001
+00011010001000001010001111111111
+00100000001000000101000110001001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011000110000001000110000000010
+00011111111000100000010000000000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000010
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000010000000111111010101000
+01000111000011111100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000110101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000110111110
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000111000100
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000111001010
+00100000001000000101000111001111
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+11000010100000010101000110111011
+01101000000010001000001001111111
+01111001001000000000010000000110
+01100000000010001000001001111111
+00011000111000100111111000000000
+00011111111000001111111000000001
+01100000000000001000001010000001
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000101000111001111
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+01101000000000010100001001001010
+00100000001000000101000111001111
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+01101000000000010100001001001100
+00100000001000000101000111001111
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+01101000000000010100001001001110
+00011111111000100001011000000000
+00100000010000000111111010101101
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+00011010001000001010001111111010
+00100000001000101101000111100000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+00011010001000001010001111111111
+00100000001000000101000111011010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00100000010000000111111010101000
+01000111000100000100000000100100
+01011000000000000000000001010000
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111010
+01011000000000000000000001010010
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111111
+01011000000000000000000001010011
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101001000000001
+00100000001000000101001000000011
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01100000000000001100001001010000
+00100000001000000101001000000101
+00100000010000000101000001111001
+00100000001000000101001000000101
+00100000010000000101000001111111
+00100000001000000101001000000101
+01011000000000000000000000000000
+01100000000000010000001001111011
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+10011010010000001010010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000100001100000000100100
+01101000000000001100001001010101
+10101000111000011111111000000000
+00100100001000001101001000101010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001000100111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001000101010
+00100000001000000101001000101010
+01110000010000100100100000000000
+01110000010000100101000000000000
+00100000001000000101001000101010
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000110
+10011010010000001010010000000000
+00011000000000000010011000000100
+00100000011000000000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+11000000100000000101001000111110
+00011111111000001111111000000001
+01100000000000001100001001010101
+00100000011000000000000000000000
+01000111000100010100000000100100
+11011010010000000000000000000000
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001111110
+11011010010000000001100000000000
+11011000111000000000000000000000
+01101000000010001100001001010110
+10101000010011111111111111111111
+00100000001000001101001001001111
+00100000010000000101001010100000
+00011001011001100111110000000000
+00100000001000010101001001001111
+00100000010000000101001010001000
+00100000001000000101001001010101
+00011010010000001010010010000000
+00011000111000001000111000000001
+01011000000000000000000000001000
+10011000111001100111110000000000
+00100000001000010101001001000111
+11011010010000000000000000000000
+00011010010000100111111000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111000100011100000000100100
+00100000010000000101001001110111
+00011000110000001000110000000001
+11101000110000010000000000000000
+00100000011000000000000000000000
+01000111000100100100000000100100
+00100000010000000101001001110111
+00011000110000100000101000000000
+00011000110000100000010000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+01000111000100101100000000100100
+00100000010000000101001001110100
+00100000001110100010101010001100
+01101000000000011100001001011101
+01100000000000011100001001100000
+01101000000000011100001001011010
+01100000000000011100001001011101
+01101000000000011100001001010111
+01100000000000011100001001011010
+00100000011000000000000000000000
+01000111000100110100000000100100
+01101000000000011100001001010111
+00100000011000000000000000000000
+01000111000100111100000000100100
+01101000000000011100001001011010
+00100000011000000000000000000000
+01000111000101000100000000100101
+01101000000000011100001001100000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100000001110100010101010001100
+11011000110000000100001001010111
+11101000110000011000000000000000
+00100000001110100101001001111010
+00011000110000001000110111111101
+00100000011000000000000000000000
+01000111000101001100000000100101
+11011111001000000000000000000100
+11011000110000000100001001010111
+11011000010000000000000000000000
+11101000110000011000000000000000
+00011111111000010111111011111111
+10011000010000011000010000000000
+11000010000000000101001010000010
+01100000000010001100001001010110
+00100000011000000000000000000000
+01000111000101010100000000100101
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001110100
+00100000001110100101001010010101
+01101000000000011100001001011010
+01100000000000011100001001010111
+11101000110000011000000000000000
+11100000101000011000000000000000
+11101000110000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+11011000010000000000000000000000
+00011001011000100111111000000000
+10011000111000001111111000000000
+11111001001000000000010000000000
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100100001000101101001010011000
+00011010010011010111111000000000
+10011000010000011111111000000000
+01100000000000011100001001100000
+00100000011000000000000000000000
+01000111000101011100000000100101
+00100000010000000101001001111110
+00011000111000100010011000000000
+11011000010000000000000000000000
+11011001011000000000000000000000
+00011000111000100111111000000000
+11000000000001000101001010110000
+01101000000000001100001001010110
+10101111111011111111111111111111
+00100000001000001101001010110000
+00011000010000001000010010000000
+00011000111000001000111000000001
+00011010001000100111111000000000
+10011000010001100111110000000000
+00100000001000101101001010110000
+00100000001000010101001010100101
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100100001000010101001010110110
+00011000111000100111111000000000
+00011010011000100000010000000000
+10011000010001100001011000000000
+00011010011000100000111000000000
+00100000011000000000000000000000
+01000111000101100100000000100101
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001101011
+00011111111000001111111000000100
+01100000000000010000001001101101
+01011000000000000000000000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01101000000000010000001001101011
+00100000001000000101001011100010
+01101000000000010000001001101101
+00100000001000000101001011100010
+01000111000101101100000000100101
+11011010001000000000000011111010
+00100000010000000101001001000000
+01100000000000010000001001110001
+00011111111000001111111000000100
+01100000000000010000001001110011
+01011000000000000000000000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01101000000000010000001001110001
+00100000001000000101001011100010
+01101000000000010000001001110011
+00100000001000000101001011100010
+01000111000101110100000000100101
+00100000010000000111111001111100
+01110000000000101000010000000001
+00100000010000000101001001101110
+00100100011110100000000000000000
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+01011000000000000000000000000000
+01100000000000010000001001111011
+01110000000000101000010000000000
+00100000001000000111111010001100
+01101000000000010000001001110111
+00100000001000000101001011100010
+00100000001110100010101010001100
+00011111111000100000101000000000
+00100000011000000000000000000000
+01000111000101111100000000100101
+11011010010000000000000000000000
+11011010001000000100001001010111
+00011010001000001010001111111110
+00011010001000001010001000000010
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000001000101101001011110101
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100000001110100101001011101001
+11101010001010010000000000000000
+11101000010000010000000000000000
+10011010010000001010010000000000
+00011010010000001010010000000100
+00100000001000000101001011101001
+00011010010000100111111000000000
+00100000011000000000000000000000
+11011000111000000000000000001100
+00100000001000000010110000110010
+11011000111000000000000000001100
+00100000001000000010110000110110
+01000111000110000100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+00100000010000000101001011100101
+11011000010000000000000100000000
+10011000010001100111110000000000
+00100000001000010101001011110111
+00100000010000000101001011111001
+11011000101000000100001001100011
+11011010001000000100001001010111
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100100001110100101001100001111
+11100000101000010000000000000000
+00011010001000001010001000000010
+00100000001000000101001100000110
+11101010001000010000000000000000
+00011010001000001010001000000010
+00011111111000100000110000000000
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011111111000100111001000000000
+00011111001000001111001000000010
+00100000010000000111111100000001
+00100000001000000101001100000110
+01000111000110001100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+11011010001000000100001001011000
+00011010001000001010001111111101
+11011000110000000100001001100011
+00011010001000001010001000000011
+01011000000000000100001001100100
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101000110000010000000000000000
+00100000001110100101001100011111
+00011111111000001111111000000100
+00011111111000100111001000000000
+00011000110000100010010000000000
+11101010001000010000000000000000
+00011111111000100000101000000000
+00011010010000100000110000000000
+00011000110000001000110111111110
+00100000010000000111111100000001
+00100000001000000101001100011111
+01000111000110010100000000100110
+01111000010101011111110000000000
+01110000000001000101010100000001
+01110000000001000011111100000011
+01110000000001000101011000000001
+01011111111111111111111111111111
+01100000000000010000010001011001
+00011000000000000111111000000000
+01100000000000001000010001010111
+01100000000000001000010001100010
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01110000010000111101110000000001
+01110000010000111101110100000000
+00100000001000000101011011101101
+01000111000110011100000000100110
+01111000001101001111110000000000
+01110000000001000100000000000011
+01110000000001000111100000000001
+01110000010001000101101000000001
+01011000000000001111111111111111
+01100000000000010100010001011100
+00011000000000000111111000000000
+01100000000000101100010000001000
+01111001001000000111111000100111
+01100000000000101100010000000011
+00100000001000000101001100101110
+01000111000110100100000000100110
+01111000010101001111110000000000
+01011000000000000000000000010111
+01100000000000010100010010101000
+01110000000001000100000000000001
+01110000010000110110111000000000
+01110000000000001010000000000000
+01110000010001001100010000000000
+01110000010001001100010100000000
+01101000000000010000010001101101
+01100000000000010100010010111010
+01101000000000010000010001000001
+00011111111011111111111000000101
+00011111111100011111111000000000
+01100000000000010000010001101101
+00100000001000000101001100101110
+00100000010000000101001111000100
+00100000010000000101010111101000
+00100000010000000101011011110000
+00100000001000000101001111001110
+01000111000110101100000000100110
+00100000010000000101001111000100
+00100000010000000011001011110100
+01101000000000001000010001000000
+11000000000000011101001101100110
+00100000001000000101001101111010
+01000111000110110100000000100110
+01111000001101001111110000000000
+00100000010000000101011011100100
+00100000001000010101001101110111
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101011000011110
+01111000010101101111110000000000
+00100000010000000101010010111111
+00100100011101101000000000000000
+01000111000110111100000000100110
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+00100000010000000101010110101010
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000101001110101001
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000111000111000100000000100111
+01110000010001010000111100000000
+00100000010000000111101010101111
+00100000010000000101110000011000
+01111000010101110111110000000000
+00100000010000000101011011100100
+00100000001000010101001110101001
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101010010001001
+00100100001011000101001110011011
+00100000010000000101001110110111
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111001100000000100111
+01101000000000001100010100001111
+00011111111000001111111000000001
+01100000000000001100010100001111
+11000000000001100101001110010101
+00100000010000000101010110101010
+00100000010000000101011000011110
+00100000010000000101010011000111
+00100000010000000101011001111110
+01101000000000010100000111111011
+00100000010000000111111110011100
+00100000010000000101001110100000
+00100000001101000101001110100100
+01000111000111010100000000100111
+00100000010000000101101111100100
+00100000010000000101101111011011
+00100000010000000111110110011100
+01101000000000001000010001100010
+11000010100000011101001110101001
+01000111000111011100000000100111
+00100000010000000101011111110100
+00100000010000000101010110011101
+00100000010000000101010101110101
+00100000001000000010100001000001
+01111000010101000111110000000000
+11000101000101010111111111100111
+11000101000101001111111111100111
+00100000011000000000000000000000
+01000111000111100100000000100111
+01111000001101110111110000000000
+00100000010000000101010011000001
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111101100000000100111
+00100000010000000101001110101111
+00100000010000000011001110110100
+00100000010000000111101001110111
+01110000000010101001100100010101
+00100000001000000111110110000110
+01011000000000000000000000000000
+01100000000001001100010011111111
+01110000000001000101010100000000
+01110000000001000100000000000000
+01110000000001000011111100000000
+01110000010001001100010100000000
+01110000010001001100010000000000
+00100000011000000000000000000000
+01000111000111110100000000100111
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+01101000000000001000010000111111
+11000011100000011000000000000000
+01111001001000000111111000000011
+01100000000000001000010000111111
+01101000000000010100010010111010
+01100000000000010000010001101101
+01011000000000000000000000000000
+01100000000000100100010011100101
+00100000011000000000000000000000
+01000111000111111100000000100111
+01110000100010010000111100110110
+01110000100010010000101101011111
+01111000001110110111110000000000
+01110000100010010001010000000111
+00100000010000000010110001101100
+01101000000000001100000111100000
+00100000011110100000000000000000
+01110000100010010000101010111000
+00100000011000000000000000000000
+01000111001000000100000000101000
+01110000100010010000111100101110
+01110000100010010000101111111111
+01111000010110110111110000000000
+01110000100010010001010000000011
+11011011011000000000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01101000000000011000010001100111
+10011000000000000001111000000000
+01101000000000001000000000010110
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111100110
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000001000000010100100100100
+00100000001101101010100100111001
+00100000010000000101001111100110
+00100000001000000010100100110011
+01000111001000001100000000101000
+00100000010000000010100100011000
+01101000000000001000010010001100
+00100100001110100101001111111001
+01101000000000001000000000010110
+00011111111001100111110000100100
+00100000001000010101001111110011
+00011000000000000000010000000000
+11000001000100101000000000000000
+00011000000000000000010000011000
+11000001000100110000000000000000
+00011000000000000000010001001110
+00100000011000000000000000000000
+00011111111001100111110000001010
+00100000001000010101001111110110
+00011111111000001111111000000001
+00011111111000111111111000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+01101000000000001000000000010110
+00011111111000111000010000000000
+00100000011000000000000000000000
+11011000010000000000000111110100
+00100000011110100000000000000000
+11011000010000000000000011111010
+11000001000000001000000000000000
+11011000010000000000000010010110
+11000001000000010000000000000000
+11011000010000000000000001100100
+11000001000000011000000000000000
+11011000010000000000000001001011
+11000001000000100000000000000000
+11011000010000000000000000110010
+11000001000000101000000000000000
+11011000010000000000000000101000
+11000001000000110000000000000000
+11011000010000000000000000010100
+00100000011000000000000000000000
+01011000100011101000100110111110
+00011111111011010111111000000000
+00011111111000011111111011010110
+10011000000000000001001000000000
+01011000010101010101010101010101
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001000010100000000101000
+01111000001010000111110000000000
+01101000000000100000010001100011
+10011000000000000001001000000000
+00100000010000000101010001100110
+01011000000000000000001000000000
+00100000001101001101010000011100
+01101000000000010000010001001101
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00011011010000100111111000000000
+01100000000000110000010010010001
+00100000011000000000000000000000
+01000111001000011100000000101000
+01101000000000001000000000010110
+11000000000100101101010000101000
+11000000000100110101010000101110
+11000000000100111101010000110100
+00100000001000000101010000110100
+01101000000010001100010010001101
+00101000010011111111111000000001
+00100000001000001101010000111111
+00101000010011111111111000000010
+00100000001000001101010001000100
+00100000001000000101010000111010
+01101000000010001100010010001101
+00101000010011111111111000000010
+00100000001000001101010001000100
+00101000010011111111111000000000
+00100000001000001101010000111010
+00100000001000000101010000111111
+01101000000010001100010010001101
+00101000010011111111111000000000
+00100000001000001101010000111010
+00101000010011111111111000000001
+00100000001000001101010000111111
+00100000001000000101010001000100
+01110000000000000001011000100101
+01101000000000001000101011000010
+01111001001000000111111000000000
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100110
+01101000000000001000101011000010
+01111001001000000111111000000001
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100111
+01101000000000001000101011000010
+01111001001000000111111000000010
+01100000000000001000101011000010
+00100000011000000000000000000000
+01000111001000100100000000101000
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000100000000000000000000000000
+00011010001000001000101000011010
+11101000101000010000000000000000
+00011111111000001111111000000001
+11100000101000010000000000000000
+00011010001000001000110000011001
+11101000110000001000000000000000
+00011010001000001000101000011000
+11101000101010001000000000000000
+10011000010000001111111000000000
+00011111111001100111110000100100
+00100000001000010101010001011001
+00011111111000001111111111011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111001000101100000000101000
+01101000000000101000010001101111
+00011000000000000000010000000000
+00011000000000000111001000100101
+11000011000000000101010001100001
+00011000010000001000010000000001
+00011111111000110111111000000000
+11000010000000000101010001011111
+00011000010000001111111111111111
+01100000000000001000010001100001
+00100000011000000000000000000000
+01000111001000110100000000101000
+01101000000000001000010001010111
+10011000000000000000111000000000
+01101000000010101000010001101111
+10101000010011111111111111111111
+00100000001000001101010001111100
+01000111001000111100000000101000
+01101000000000001000010001100001
+10011000111001100111111000000000
+00100000001000010101010001110010
+00011111111001100000111111111111
+00100000001000000101010001101100
+00011000111000100111001000000000
+00011000000000000000111000000000
+10101000010011111111111111111111
+00100000001000001101010001110111
+00011111001000001111001000000001
+00011111001000100111111000000000
+00100000001110100101010001111100
+00011000111000001000111000000001
+00011111001000001111001111111111
+00100000001000000101010001110100
+00011000111000100111111000000000
+01100000000000001000000000010110
+00100000011000000000000000000000
+00100000001101001101010010000010
+00110111110000011000001000000000
+00100000011000000000000000000000
+11011001011000000000111010100000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01111000010010000111110000000000
+01101000000000010100001101101100
+00011111111000100001011000000000
+00100000001000000101010010001110
+01000111001001000100000000101001
+01111000001010000111110000000000
+01101000000000010000010001001101
+01101000000010100100010011100101
+10011000010000001001011000000000
+00100000010000000101001111011110
+01000111001001001100000000101001
+00100000010000000101001111010101
+01111000010101101111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00011001011000100011011000000000
+00110111110000011000010000000000
+00100000001101110101010010011010
+00011011010000100000010000000000
+01100000000010110000000010011010
+00100100001011000010011001001101
+00100000001101110101010010100001
+11011101001000000000000111100000
+00011100001000100101000000000000
+01101000000000001000010000111111
+11000011000000011101010010100001
+00100000010101011010101100000101
+01000111001001010100000000101001
+00100000010000000010100110111011
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100000000000001000001011011001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111000010111001000111111
+00100000001000101101010010110001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000101010010101101
+01000111001001011100000000101001
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010011001001101
+01111000001101101111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000001000000010100100011000
+01000111001001100100000000101001
+00100000010000000101010011001001
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101010010001111
+00100000010000000101010011001001
+00100000001000000010011001001101
+01000111001001101100000000101001
+00100000010000000101001111010101
+00100000010000000101001111100011
+00100000001000000101010011001101
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101010001111111
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01000111001001110100000000101001
+01101000000000001100001111011100
+00001000000000001000011000001000
+11101000110000001000000000000000
+00011111111000010111001000111111
+00001000000000001000011000001000
+00100000001000101101010011100010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000101010011011111
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01000111001001111100000000101001
+01101000000000001100010010000100
+11000000000000001101010011111001
+01101000000000001100010010000101
+00011111111100100111111000000000
+00011111111010111111111000000000
+01100000000000001100001111011100
+01101000000010001100001101101111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+00011000010000100111001000000000
+11011000110000000100001101110000
+00100000010000000111111011110100
+00100000001000000101010100000100
+01101000000000001100010010000110
+00011111111100100111111000000000
+00011111111010111111111000000000
+00011111111000001111111000000001
+01100000000000001100001111011100
+01011000000000000000000000001100
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+01101000000000110100000111010000
+11100000101000110000000000000000
+01000111001010000100000000101010
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011011011000000000011100001000
+01111000010101101111110000000000
+00100000001000000101010010111111
+01000111001010001100000000101010
+01101000000000001100010010011110
+11000001100000001000000000000000
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011000010000000000110000000011
+01101000000000001100010010011111
+01111101001110100000010000000110
+00011010001000100111111000000000
+01111101001110100000010000000111
+01100000000010010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+00100000001000000101010010111111
+01000111001010010100000000101010
+11011000010000000000000000000100
+01101000000000001100010010000101
+01111101001110100000010000000110
+01100000000010001100001111011100
+01101000000010001100001110001111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+11011000110000000100001110010000
+00011000010000100111001000000000
+00100000010000000111111011110100
+00100000010000000101010011000111
+00100000001000000101011100000110
+01000111001010011100000000101010
+00011000000000000111111111111111
+00111000000010000000000000000001
+01100000000000101000010001101111
+00100000010000000101010001011011
+00011000000000000111001000000100
+11011000101000000000010001100011
+00100000010000000110001100001101
+01101000000000010100010010011100
+01100000000000010000010001101101
+00011000000010100111111000000000
+00011111111000010111111000001111
+00011111111001100111110000000100
+00100000001000010101010100110101
+01100000000000001000010001011000
+01100000000000001000011011100110
+01000111001010100100000000101010
+01101000000010010100001101100111
+01100000000010010000010001000001
+00011000010000100010011000000000
+00011100010000001111111000000111
+10011010011001101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001001100111111000000000
+10011010011000001111111000000000
+01101000000010010100001101100101
+10011000010000001111111000000000
+01100000000000100000010001000011
+10011100010001100010001000000000
+00011010001000001010001111111010
+11011010010000000010001000000101
+01101000000000001100010010010101
+01111101001110100010010000000110
+01101000000000001100010010001110
+01111101001110100010010000000111
+00011010010000100111111000000000
+01100000000000010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000100000010001100011
+11100000101000100000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00011000000010100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011010001010110111111000000000
+11100000101000010000000000000000
+00011010011010110111111000000000
+11100000101000010000000000000000
+01000111001010101100000000101010
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100010010011100
+11100000101000010000000000000000
+01101000000000101000010001101111
+11100000101000101000000000000000
+01101000000000001000010001011000
+11011000010000000000000010100000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00100000010000000101010011000111
+01011000000000000100001111011100
+00011111111000001000110000010010
+11101000110000011000000000000000
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001010110100000000101010
+01111000010101001111110000000000
+00100000001000000101010000001100
+01101000000000001000010000111111
+11000100000000101000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01100000000000010000101010011010
+01000111001010111100000000101010
+01101000000000001000010000111111
+01111001001111111111111000000101
+01111001001111111111111000000011
+01100000000000001000010000111111
+01101000000000100000010001000011
+01101000000010010000010001000001
+01100000000010010000101010100010
+10011000010001100010001000000000
+01000111001011000100000000101011
+01101000000000001100001111010011
+01100000000000001000010001101010
+11101000110010010000000000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+00011000010010111000010000000000
+10011000010000001111111000000000
+11101000110010100000000000000000
+01100000000010100000010001101011
+10011010001000001111111000000000
+00011111111000100010100000000000
+01101000000000010000010001000001
+01101000000010010000101010100010
+10011000010001100111111000000000
+01101000000010010000101010011010
+10011000010011111111111000000000
+10011010100000001111111000000000
+01100000000000100000010001000011
+00100000010000000101011100010011
+01101000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+01000111001011001100000000101011
+01101000000000001000010000111111
+11000100000000110000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01101000000000001000010000111111
+01111001001111111111111000000110
+01100000000000001000010000111111
+01101000000000101100001111001110
+01100000000000101000010001101111
+00100000001000000101010001011011
+01000111001011010100000000101011
+00100000010000000101011011101101
+00100000010000000101010111000000
+01101000000000001000001011011001
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101000000000001000001011011010
+00100000001110100101010110111100
+01101000000000001000010000111111
+11000011000000100101010110111100
+00100000010000000111010010001101
+00100000010000000111001111111011
+00100100011110100000000000000000
+01101000000010001000010001010110
+01111001010000000000010000000010
+01100000000010001000010001010110
+00100000011000000000000000000000
+01000111001011011100000000101011
+01101000000010001000010001010110
+00101000010011000000000000000101
+00100000011000001000000000000000
+01101000000000001000001011011001
+00011111111000111111111000000000
+10011000010000101111111000000000
+11000100000000011000000000000000
+01111001001111111000010000000101
+01111001010000000000010000000011
+01100000000010001000010001010110
+00101000010000000000011000000011
+00100100011000001000000000000000
+01101000000000001100001111011110
+11000000000000101101010111010010
+01101000000000001100010011000101
+11000000000000010101010111010110
+00100000011000000000000000000000
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011100100000000101011
+01110000010001001100010100000000
+11011111111000000000000000000000
+01100000000000100100010000001101
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01101000000000001000010000111111
+01111001001111111111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011101100000000101011
+00100000010000000101010000100010
+00100000010000000101010010000101
+01101000000000001000000000000001
+00011111111000001111111000000001
+01100000000000001000000000000001
+00100000011000000000000000000000
+01000111001011110100000000101011
+01101000000000001100001101101001
+11000001100000001000000000000000
+11011000111000000000000000000010
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000010100001101101010
+01101000000010010100001101101100
+10011000010001100111111000000000
+11011000111000000000000000000010
+00100000010000000111111100001000
+01111000010101001111110000000000
+00100000010000000101010101110010
+00100000010000000101010111100001
+00100100011101101000000000000000
+01000111001011111100000000101011
+01101000000000110000001011011011
+01100000000000110000010001001111
+01101000000000001000000000000010
+00011111111000001111111000000001
+01100000000000001000000000000010
+00100000010000000101011000001000
+00100000011101001000000000000000
+00100000010000000101010100001011
+00100100011101101000000000000000
+01000111001100000100000000101100
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+01101000000001001000001011100001
+01100000000001001000000100000001
+00100000011000000000000000000000
+01000111001100001100000000101100
+01101000000000001000010010011011
+11000001100011011000000000000000
+01101000000000110000010001001111
+01101000000010110100010010001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+00100000010000000101010100101011
+00100000010000000101001101000000
+01000111001100010100000000101100
+01110000010000011100111000000000
+01110000000001000111011000000000
+01110000010000110110100100000000
+01110000000001001001101100000000
+00100000001000000010001000100011
+11011010001000000000000000000001
+01101000000000001000001011011001
+11000011100000110000000000000000
+11011010001000000000000000000000
+00100000011000000000000000000000
+01000111001100011100000000101100
+01101000000000001000010001010110
+11000011100000101000000000000000
+00100000010000000101011001000010
+00100000010000000101100001110011
+00100000001110100101011001100100
+11101000110000001000000000000000
+11101000110010001000000000000000
+00011000010000100010001000000000
+10011010001001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+00011111111000100000010000000000
+11101000110000001000000000000000
+00011111111000100000001000000000
+00011010001000100111111000000000
+10011000110000001000110000000000
+11011000101000000100001111011110
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000010000000101011001010100
+00100000010000000101011001100110
+00100000010000000101100001110011
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011000110000100010011000000000
+11101000110010001000000000000000
+00011000010000100010010000000000
+10011010010001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+10011010010000001111111000000000
+11100010011000001000000000000000
+10011010001001100111110000000000
+00100100011000101000000000000000
+00100000001000000101100010010110
+00100000010000000101011001001001
+11000110000101001000000000000000
+01101000000000001100010011101001
+11000011000000010101011001010010
+00100000010000000101100001110110
+00100000001110100101011001010010
+00100000001000000101011001010000
+00100000010000000101100001110011
+00100000001110100101011001010010
+11101000110000001000000000000000
+11101000110010001000000000000000
+10011000010001100111111000000000
+00011111111001100111110000011011
+00100000001000010101011001010010
+01111001001000000000000000101001
+00100000011000000000000000000000
+01111001001111111000000000101001
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+11011000001000000000000000000001
+00100000011000000000000000000000
+01000111001100100100000000101100
+00011000010000001000010000000001
+00100000010000000101011101101010
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010100100000010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110000000001
+00011000110000100010001000000000
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000000000000000010000000000
+00011000000000000000001000000001
+01000111001100101100000000101100
+01100000000010001100001111011101
+01101000000010001000010001010110
+01111001001000000000010000000101
+00011000010000010111111011111100
+10011000001000011111111000000000
+01100000000000001000010001010110
+00011111111000010111111000011111
+00101000000011111111111000101001
+01111001001000001111111000000100
+01100000000000001100001111011100
+01101000000000001100001111011100
+00101000001000000000011000000001
+00100100001000001101011001110110
+01101000000000001100001111011101
+00100000011110100000000000000000
+01101000000000001000010000111111
+11000100000000100000000000000000
+00100000010000000111010010001101
+00100000001000000111001111100011
+11011000111000000000000000000000
+00100000001000000010110000110010
+11011000111000000000000000000000
+00100000001000000010110000110110
+01000111001100110100000000101100
+11000110000001111000000000000000
+00100000010000000101100010010000
+00100100011110100000000000000000
+01101000000000001000001011011001
+00011111111000010111111000000011
+01100000000000001100010100001100
+11101000110000001000000000000000
+00011111111000010111111000011111
+01100000000000001100010100001011
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100000000000010100010100001101
+01101000000000001100010100001100
+11000000000000011101110001100100
+00100000010000000101011010011010
+00100100001101000101011001111010
+00100000010000000101011001111100
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+01000111001100111100000000101100
+11101000110000010000000000000000
+11000000000000100101100010101011
+11000000000000110101101011110100
+11000000000000101101101010110110
+00100000011000000000000000000000
+01101000000000001100010100001100
+11000000000000010101011010101001
+11000000000000001101011011000001
+00100000011000000000000000000000
+00100000010000000111111111100111
+11011000010000000000000000000100
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000101
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000110
+10011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111101001
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+11101000110000010000000000000000
+00100000010000000101011010011110
+00100100011101000000000000000000
+01101000000010001100010100001011
+01100000000010001100010011111110
+01101000000000010100010011111100
+00011111111000001111111000000100
+10011000010001100111110000000000
+00100000001000101111111111100111
+01101000000000001100010100001011
+00011111111000100111001000000000
+11011000101000000000001100010001
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111100000001
+00100000001000000111111111101001
+00100000010000000111111111100111
+01101000000000001100010011111110
+00100100011110100000000000000000
+00100000001000000111111111101001
+00100000010000000101011010111101
+00100100011101000000000000000000
+01101000000000001100010011111110
+11011000101000000000001100010001
+10011000101000001010001000000000
+01101000000010001100010100001011
+10011000010000001111111000000000
+01100000000000001100010011111110
+01101000000000001100010100001011
+00011111111000100111001000000000
+00011010001000100000101000000000
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111011110100
+01011000000000000000001100010001
+01100000000000010100010100001101
+01101000000000010100010011111100
+00011111111000001111111000000100
+01101000000010001100010011111110
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000001000000111111111101001
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111011
+11100000101000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010100101
+11011000101000000100010001110001
+00100000001000000101011011011001
+01101000000000010100000111111001
+00100000001000000111111110011100
+01101000000010100000010001011011
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000010001101101
+00011000010100100000010000000000
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+00100000010000000010101001111011
+01100000000000100000010001011011
+00100000011000000000000000000000
+01110000000000000001011000100100
+01110000000010101100001000000000
+01000111001101000100000000101101
+01101000000000001100001101101110
+00100000011110100000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000111001101001100000000101101
+01111000010101001111110000000000
+01111000001010000111110000000000
+00100000010000000101010101110010
+00100000010000000101010000100010
+00100000010000000101010011101001
+00100100001101101101011100000110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+01101000000000001000001011011001
+00011111111000010111111000001111
+11000000000000011101010100011100
+11000000000000101101011100101000
+01000111001101010100000000101101
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000010000000011110010111110
+01101000000000001000101011000010
+01101000000010001100010010001101
+10011000010001100111110000000000
+00100100001000101101011011110010
+11011000111000000000000000000000
+01101000000000010100010010000010
+00100000001000000111111100001000
+01000111001101011100000000101101
+01101000000000001000010001110110
+00100000010000000101001111111100
+01101000000000010000010001000001
+10011000010011111111111000000000
+11011000010000000000000101110111
+10011000010011111111111000000000
+11011000010000011000011010100000
+10011000010001101111110000000000
+01101000000000001000010001101010
+11011000010000000100111000100000
+10011000010011111111111000000000
+10011000010000001111111000000000
+01100000000000100100010011100101
+01000111001101100100000000101101
+01101000000000010100000011000001
+00100000010000000111111110000110
+00011000000001111000010000000000
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000011000000000000000000000
+01000111001101101100000000101101
+01101000000000110000001011100001
+01101000000010110100010010100000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000101011000011001
+00011010001000100111111000000000
+01100000000000001100010010001110
+01101000000000111000001011101110
+01100000000000111000000100000001
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000110000001011011011
+01100000000000110000010001001111
+00011000110000001000110000000110
+11101000110001000000000000000000
+01100000000001000000010001100011
+11101000110010010000000000000000
+01000111001101110100000000101101
+00011000010010111000010000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+01100000000000100000010001000011
+10011000010001100111111000000000
+00011111111000001101000111111110
+11101000110001001000000000000000
+01100000000001001000010001101011
+01000111001101111100000000101101
+11101000110000001000000000000000
+00011111111100011000010000000000
+00011000010000110000010000000000
+01100000000010001000010001110110
+00011111111000010111111000011111
+01100000000000001000010001011000
+00100000010000000101011100010011
+00100000010000000101010001011011
+00100000010000000101001101001100
+00100000010000000010001000111011
+00100100011000101000000000000000
+01000111001110000100000000101110
+00100000010000000010100001000001
+00100000010000000101101011010011
+01110000000010101001100100010100
+00100000010000000111110110000110
+00100000001000000010001000100011
+01000111001110001100000000101110
+01101000000000010100010001011010
+10011000000000000010010000000000
+01101000000000010100010001011100
+10011000000000000010011000000000
+01101000000000010100010010111100
+10011000000000000000110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011010010001100111110000000000
+00100100011000010000000000000000
+10011010011001100111110000000000
+00100000011000101000000000000000
+00100000001000010101011101101000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100000010000000101011101101101
+00100000001000101101011101111001
+00100000011000000000000000000000
+01000111001110010100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000011000000000000000000000
+01000111001110011100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00011000110000001000110111111110
+11101000110000010000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101111111
+01101000000000010000010010011100
+00100000001000000101011110001110
+01000111001110100100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+00011000010000100010001000000000
+11101000110000010000000000000000
+00100000001110100101011110011001
+10011010001001100111110000000000
+00100000001000101101011110011010
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011110010000
+00100000001000000111111111101111
+11101000110000001000000000000000
+01100000000000001000010010100010
+00011111111000100111001000000000
+11011000101000000000010010100011
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001000010010110011
+00100000010000000111111010100101
+00100000001000000111111111110001
+01000111001110101100000000101110
+00100000010000000101011110100110
+00100000001000000101011110111000
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+11101000110000001000000000000000
+00011000110000100000101000000000
+01101000000010001100001110101111
+00011000010000100111001000000000
+10011000010001100111110000000000
+00100100001000010101011110110101
+10011000010001100000010000000000
+11011000110000000100001110110000
+00100000010000000111111100000001
+00011000010000100111001000000000
+00100100010000101101011111110000
+00100000011000000000000000000000
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111011110100
+11011010011000000100001110001111
+11011010001000000100001101110000
+00100000010000000101011111000101
+01011000000000000000000000000000
+01111001001101000111111000000000
+01100000000000001000101010011010
+11011010011000000100001110101111
+11011010001000000100001110010000
+00100000010000000101011111000101
+00100000011101000000000000000000
+01101000000000001000101010011010
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111001110110100000000101110
+00100000010000000111111111100111
+00100000010000000111111011011010
+11011010010000000000000000000000
+11011000101000000000101011000011
+00100000010000000101011111011111
+01101000000000001100001110101111
+00011111111000001000010000000001
+10011010010000001010001000000000
+00011010001000001010001000000010
+00011010001001100111110000011111
+00100100001000010101011111011101
+11100000101010001000000000000000
+11011000010000000000000000001001
+11100000101010001000000000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011010001000100010010000000000
+00011010010000100111111000000000
+01100000000000001000101011000010
+11011000110000000000101011000010
+01011111111111111111111111100000
+10011010011000001000101000000000
+00100000001000000111111010111101
+00100000010000000111111111101001
+00100000001000000101011111010111
+11101010001000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111000000001
+11101000110010001000000000000000
+00011000010001100111110000001001
+00100000001000101101011111101110
+10011010010000001010010000000000
+00011010001000100000110000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011000110000100010001000000000
+00011010001000100111111000000000
+10011010011001100111110000000000
+00100000011000010000000000000000
+00100000001000000101011111011111
+10011010001000001010001000000000
+00100000001000000101011111101010
+01011000000000000000000000100000
+11100000101000001000000000000000
+11000010000000000101011111110000
+00100000011000000000000000000000
+01000111001110111100000000101110
+01111000010101011111110000000000
+00100000001101110101011111111000
+00100100001101101101100000000110
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000010001001101
+00100100001101101010101111011110
+11000101000001111010101111011110
+01101000000000001100010100001011
+00100100001110100010101111011110
+01101000000000001100001111011101
+00100100001110100010101111011110
+01101000000000001100010011101001
+11000010100000101010101111011110
+01101000000000001000010000111111
+11000010100000101010101111011110
+00100000001000000010101111000000
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000010001001101
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000001000000010101111010110
+11011000111000000000000000000000
+00100000001000000101100000100100
+11011000111000000000000000000000
+00100000001000000101100000101000
+11011000111000000000000000000001
+00100000001000000101100000100100
+11011000111000000000000000000001
+00100000001000000101100000101000
+11011000111000000000000000000010
+00100000001000000101100000100100
+11011000111000000000000000000010
+00100000001000000101100000101000
+11011000111000000000000000000011
+00100000001000000101100000100100
+11011000111000000000000000000011
+00100000001000000101100000101000
+11011000111000000000000000000100
+00100000001000000101100000100100
+11011000111000000000000000000100
+00100000001000000101100000101000
+11011000111000000000000000000101
+00100000001000000101100000100100
+11011000111000000000000000000101
+00100000001000000101100000101000
+01101000000000001100010011101001
+11111001001000000111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01101000000000001100010011101001
+11111001001111111111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01011000000100010010001000110011
+01100000000000011100010011101010
+01011000010001000101010101100110
+11100000101000011000000000000000
+01011000011101111000100010011001
+11100000101000011000000000000000
+01011000000000000001000100100010
+11100000101000011000000000000000
+01011000001100110100010001010101
+11100000101000011000000000000000
+01011000000000000000000001100110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011001000000000000001100000010
+01100000000000100100010001010011
+01011000000000010000000000010000
+01100000000000011100010001010111
+01110000010001001100011000000001
+00100000011000000000000000000000
+11011010001000000000000000000000
+11011000001000000000000000000001
+00100000001000000101100001010000
+11011000001000000000000000000011
+00100000010000000101100001010000
+00011010010000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000000001000000010
+00011010001000001010001000000100
+00100000010000000101100001010000
+00011010001000001010001111111100
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011010001001100111110011110000
+00100100001000010010101010001100
+01101000000000001100010011111111
+11011000010000000000000000000001
+11011111001000000000000000000100
+10011000010000010111110000000000
+00100000001000101101100001011010
+00011000010000111000010000000000
+11000010000000000101100001010101
+00100000001000000010101010001100
+10011000010000101111111000000000
+01100000000000001100010011111111
+00011111001001100111111000000100
+00011111111100100111111000000000
+00011111111100100111111000000000
+11011000010000000001100000000000
+10011000010000001000010000000000
+11011111001000000000000000000000
+11011000110000000100010100000000
+11101000110000010000000000000000
+00100000001110100101100001101001
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000100101100001100011
+00100000001000000010101010001100
+00011000110000001000110111111110
+11100000110010010000000000000000
+00011000010000100000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00011000001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000010
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000101100001111100
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100100011110100000000000000000
+01101000000000010100010100000100
+00100100011110100000000000000000
+01101000000000010100010100000010
+00100100011110100000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000011
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000011
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100000011000000000000000000000
+01101000000000010100010100000100
+00100000011000000000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+11011000010000000001100000000000
+10011000010001100111111000000000
+00011111111100011111111000000000
+00011111111100011000111000000000
+01101000000000001100010011111111
+11111001001111111111111000000000
+01100000000000001100010011111111
+11011111001000000000000000000000
+00011111001000111111111000000000
+11011000010000000100010100000010
+10011000010000001000010000000000
+11101000010000010000000000000000
+00011000010000001000010111111110
+11100000010000010000000000000000
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000011101100010011111
+01011000000000000000000000000000
+11100000010000010000000000000000
+00100000011000000000000000000000
+11101000110000011000000000000000
+01100000000000011000010001110111
+11000000000000010101100011000001
+11000000000000011101100011001001
+11000000000000100101100011001100
+11000000000000110101100011110010
+11000000000001000101100100111111
+11000000000001010101100110111100
+11000000000001100101100111100100
+11000000000010000101100111111010
+11000000000010010101101000101111
+11000000000010110101101001001000
+11000000000011000101101001011011
+11000000001010010101101001100000
+00100000011000000000000000000000
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101100011001001
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000011
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010010101000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000111111111100111
+00100000001000000101100011001111
+11011001011000000000000000000011
+00100000010000000101011101010110
+00100000010000000101011101011111
+00100000001110100101100011110000
+00100100001000010101100011101101
+00011000110000001000110111111110
+00100000010000000111111010100101
+00100000010000000111111010011100
+00100100001101000101100011100001
+00100000010000000111111010000101
+00100000010000000111111111101001
+00011000000000000010001000010100
+00100000010000000101101010000010
+00100000010000000111111010010101
+01011000000000000000000000000101
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000111111010011111
+11101000110000010000000000000000
+11100000101000010000000000000000
+11101000110000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111100000001
+00100000010000000111111010100010
+00011001011000001001011111111111
+00100000001000101101100011110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011010001
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011101010
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010110001
+11101000110000010000000000000000
+01100000000000010100010001110010
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111001
+00100000010000000101011011011011
+00100000001000000101100100000101
+01111000010101000111110000000000
+01101000000010010100010001011010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100100001000010101100100000010
+00011000010000100111111000000000
+11000001100000000000000000000000
+01111000001101000111110000000000
+01110000000001000111101000000001
+00100000001000000101101001110111
+00100000010000000101100011111011
+00100000011101000000000000000000
+01101000000010010100010001110010
+01011000000000000010100000000000
+10011000010001100111110000000000
+00100000001000101101100100001100
+00100000001000000101101001110110
+01110000000001001011010000000000
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101101001110110
+01101000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101100100100101
+00011000110000100010001000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+01101000000010001100010001011110
+10011000010001100111110000000000
+00100100001000101101100100100001
+11011010010000000100010001011111
+00100000010000000111111110001000
+00100000001000101101100100101000
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100000001000101101100100110000
+01101000000000010000101010100010
+00011111111000001111111000000001
+01100000000000010000101010100010
+00100000001000000101100100010001
+01101000000000001000010010110100
+11000000000000001101100100110000
+00100000001000000101101001110110
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100100001000101101100100100001
+01110000000001001011010000000001
+01101000000010010000101010100010
+01100000000010010000010010011110
+00100000001000000101100100100001
+01101000000000001000010010110100
+11000000000000000101100100100001
+01110000000001001011010000000010
+01101000000010010000101010100010
+00011000010000001000010111111111
+01100000000010010000010010100000
+11011010001000000000000000000101
+00100000010000000101101010000010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000101011011011111
+00100000001000000101100101000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+01101000000010010100010001110010
+01011000000000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100110101000
+01011000000000000010100000000011
+10011000010001100111110000000000
+00100100001000101101100110010000
+11011001011000000000000000000010
+00100000010000000101101010001000
+00100100001000010101100101101101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101100101101101
+00100000010000000101101010010100
+00100100001000101101100101101011
+00100100001101000101100101101111
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000101000100110000000000000
+00011000101000001000101000000001
+00100000010000000101100101111101
+00100000010000000101101010000100
+00100000010000000101011110001010
+00100000010000000101100110000100
+01101000000000001000010010100010
+00011111111000001111111000000101
+11100110000000001000000000000000
+01101000000000001000010010100010
+11000000000010000101100101101101
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000010000000101101010000100
+00100000001000000101100101010001
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010010111
+00100000010000000101101010000100
+00100000010000000101011110001010
+01101000000000001000010010100010
+11000000000010000101100101101101
+00100000010000000111111010011100
+01101000000000010000101010100010
+00011111111000001111111111111111
+11100000101000010000000000000000
+00100000010000000101101010100001
+00100000010000000101100110000100
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000001000000101100101101011
+01101000000000010000101010100010
+11100000101000010000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010100010
+01101000000000001000010010100010
+00011111111000100111001000000000
+00100000010000000111111010011100
+00100000010000000111111010011111
+10011111001001100000110000000000
+00011000110000001000110111111111
+00100000010000000111111011110100
+00100000001000000111111010100010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101101010001000
+00100100001000010101101001110110
+00100000010000000101011110001010
+11000000000000001101101001110110
+00100000010000000101101010010100
+00100100001000101101100110100110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010000100
+00100000001000000101100110010010
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+00011000110000001000110111111011
+11101000110000010000000000000000
+01100000000000010000101010100010
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+11011000110000000100001110110000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+01101000000010010000010001111000
+01101000000000001100010011101001
+11000010100000011101100111011101
+00100000010000000101011101101010
+00100000001110100101101001110110
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100111010011
+11101000110000001000000000000000
+00011111111001100111110000010110
+00100000001000010101100111001010
+00011000000000000111111000010110
+00011111111000100010011000000000
+00100000010000000111111010100101
+00011010011000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011010011000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000111111010100101
+01101000000000001100001110101111
+00011111111000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111100000001
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101100110111111
+00100000010000000101101001000010
+00100100001101000101100110111111
+01110000000001000111101000000101
+00100000001000000101101001110111
+11101000110000010000000000000000
+01100000000000010100010001011110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001101
+11100000101000001000000000000000
+01101000000000010100010001011110
+10011000000000000010001000000000
+01101000000010010000010001111000
+00100000010000000101011101101010
+00100000001110100101101001110110
+11101000110000001000000000000000
+10011010001001100111001000000000
+00100100001000010101101001110110
+00011111001001100111110000010110
+00100000001000010101100111110101
+00011000000000000111001000010110
+00011010001000100111111000000000
+10011000110000001000110000000000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010110001
+00100000010000000101011011010111
+00100000001000000101100111111101
+11011001011000000000000000000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+00100000010000000101101010001000
+00100100001000010101101000100101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101101000101000
+00100000010000000101101010001100
+00100100001000101101101000100011
+00011001011000100111111000000000
+11000000000000000101101000101000
+00100100001101000101101000011001
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000010001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000001111111000000100
+11100000101000001000000000000000
+00100000010000000111111010100010
+00100000001000000101101000011111
+01101000000000001000010010110011
+11000000000010000101101000101000
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000010000000101101010011100
+01101000000000010000101010100010
+01100000000000010000010010011110
+00100000010000000101101010010111
+00011001011000001001011111111111
+00100000010000000101101010000100
+00100000001000000101101000000101
+01101000000000010000101010100010
+01100000000000010000010010100000
+00100000001000000101101000101100
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000001000000101101000101100
+00100000001101000101101001110110
+00100000010000000101101010011100
+00100000001000000101101010100101
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000010000000101011011100010
+01101000000000001100010011101001
+11000011000000100101101000111101
+01101000000010010000010001111000
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101101000111101
+00100000010000000101101001000010
+00100100001101000101101000111101
+01110000000001000111101000000101
+00100000001000000101101001110111
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000010011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000000001100010011000110
+11000001000000000000000000000000
+01101000000000001100000001000000
+11000011100000100000000000000000
+00100000001000000111111111100111
+00011000110000001010001000000010
+01101000000000010100010011111100
+00011111111000001010010111111011
+00100000010000000101011011100010
+00100000001000000101101001001101
+01101000000000010100010011111100
+00011111111000100010001000000000
+00100000010000000101101010000010
+01011000000000000000000000010111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000010100010011111100
+00011111111000001111001111111011
+01101000000000010100010100001101
+00011111111000001000110000000111
+11101000110000010000000000000000
+11100000101000010000000000000000
+00100000001000000111111011110100
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000011001
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000001000000101011011100010
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011011
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011101
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+01110000000001000111101000001010
+00011000000000000010001000000101
+00100000010000000101101010000010
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000001000010001110111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000001000010001111010
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000010010000000100
+00100000001000000101100001000111
+01101000000010010000101010100010
+00011000010000001000010000000001
+01100000000010010000101010100010
+00100000011000000000000000000000
+01101000000010010000101010100010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000010001100010001011110
+11011010001000000100010001011111
+01101000000000001000010010100010
+00011111111000100111001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011010010000000000010010100011
+00100000001000000111111110001000
+01101000000010001100010001110001
+11011010001000000100010001110010
+00100000001000000101101010001110
+01101000000000001000010010110011
+01100000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010011100
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+01101000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+00100000010000000101100010001010
+00011000101000100111111000000000
+10011000110001100010001000000000
+00100000010000000101100010001101
+00011010001000100111111000000000
+11100000110000010000000000000000
+00011010001000001010001000000100
+00100000010000000101100001111001
+00011010001000100111111000000000
+11100000110000001000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010001011010
+11101000110000010000000000000000
+01100000000000010100010001011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+11101000110010001000000000000000
+11101000110010010000000000000000
+11000000000010011101101010111011
+00100000011000000000000000000000
+11101000110000010000000000000000
+01100000000000010100010100001001
+01110000000010101001100101000000
+00100000001000000111110110000110
+11011010001000000000000000001100
+11011010011000000000000000010010
+00100000010000000101101011000111
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000001000100010010010110
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000101101011001111
+11011010010000000000000000000101
+00100000010000000101100001000111
+00011010011000100111111000000000
+11100000101000001000000000000000
+01101000000000001100010100001000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001100010100001000
+00011111111000001111111000000001
+01100000000000001100010100001000
+11000001100000000000000000000000
+01110000010001010000100000000001
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000000000000101101011100100
+11000000000000001101101011100111
+11000000000000010101101011101001
+11000000010000001101101011011101
+11000000010000010101101011011111
+11000000010000011101101011100010
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011100101
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011101010
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000011000000000000000000000
+01110000010001000101011000000101
+00100000001000000101101011100101
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001000000111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001111111111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000001101101100001001
+11000000000000011101101100110000
+11000000000000100101101101001101
+11000000000000101101101101011010
+11000000000000110101101110000000
+11000000000000111101101111000100
+11000000000001000101101110101111
+11000000000001001101101111000000
+11000000000001010101101111000100
+11000000000001011101101111000100
+11000000000001100101101111000101
+11000000000001101101101111001010
+00100000011000000000000000000000
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100010001010110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01100000000000001100010001001100
+11101000110000110000000000000000
+11100000101000110000000000000000
+01101000000000001100010011000110
+11000000000000000101101101011111
+00100000010000000101101100101011
+00100000010000000101101100100110
+01110000010001001100010000000011
+01101000000000001100010001001101
+11000000000000000101101100011000
+11000000000000001101101100011000
+11000000000000011101101100011000
+01101000000000001100010011000110
+11000000000000010101101100011011
+11000001010000011000000000000000
+11011111111000000000000000000000
+01100000000000100100010011000111
+00100000011000000000000000000000
+01101000000000001100010011101001
+11000010100000000101101100100100
+11011010001000000100010011000111
+00011010001000100000101000000000
+11011111001000000000000000000011
+00100000010000000110001100001101
+01101000000000010100010011001001
+00011111111000010111111000000111
+01100000000000010100010011001001
+01110000000010101001100100110100
+00100000001000000111110110000110
+01101000000000001100010001001111
+11000011100000011000000000000000
+01101000000000001100010011000110
+11000100000000111000000000000000
+00100000001000000011010000000010
+00011000000000000010001000000111
+00100000010000000101110001100010
+01101000000000111100010001010011
+11100000101000111000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000000010000011101101100110111
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+00100000001000000101101100111101
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+01110000010001001011111100000010
+01110000010001001100000100001000
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000010100000111101101101000101
+00100000010000000111001110011100
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000010000000110001100001100
+00100000010000000111000111000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111001000000001
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000010100000111101101101100001
+00011010001000100000110000000000
+00100000010000000111001110010100
+00100000001000101101101101110101
+01110000000001000111101100000100
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+01101000000000001000010001111011
+11100000101000001000000000000000
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010000000000
+01110000000010101001100100110000
+00100000001000000111110110000110
+01110000000001000111101100000101
+00100000001000000101101101010100
+11011000101000000000010000101111
+00011010001000100000110000000000
+00100000010000000111111010111111
+01101000000000001100010011000110
+11000000010000011101101101101100
+00100000010000000111000101001111
+00100000010000000101101101111010
+01101000000000001100010011000110
+11000001110000010000000000000000
+01110000000010101001100100111011
+00100000001000000111110110000110
+00100000010000000111000110111010
+11011000101000000000101011110010
+00100000010000000111001000000001
+11011010001000000000101011110010
+11011010010000000100010000101010
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100100001000101101101101010011
+00100000001000000101101101111010
+00100000010000000111001110010000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001000010100100000001
+01110000010001001100010000000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000100
+11100000101000001000000000000000
+11011000110000000100010000111010
+00100000001000000111111010111111
+11011000101000000000010000011111
+00100000001000000111111010111111
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100010011101001
+11000010100000001101101110001010
+11011000110000000100010000011001
+00100000001000000111111010111111
+11011000110000000100010011101010
+00100000001000000111111010111111
+11011000101000000100010011001011
+00011000000000000111001000001010
+00100000010000000110001100001101
+00011000000000000010001000001011
+00100000010000000101110001100010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010100010011001011
+11100000101000010000000000000000
+01101000000001000100010011001101
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000001000
+00100000010000000101110001100010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01110000000001000111101100001000
+00100000001000000101101101010100
+01101000000000001100010001011000
+01101000000010001100010001011000
+10011000010000010111111000000000
+00100000011000000000000000000000
+11011000101000000100010011010101
+00100000010000000111111010111111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100100011101000000000000000000
+00100000001000000011010000010000
+00100000010000000111111111101001
+01101000000000001100010010001110
+11000001000000000000000000000000
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000011000001000000000000000
+00100000001000000111111111100111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+00100000011000000000000000000000
+00100000011000000000000000000000
+11011000101000000000100110111110
+00100000010000000111111010110011
+01110000010001001011111100000010
+01110000010001001100000100000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+00100000010000000111111010111111
+01110000010001001100000100000110
+01110000010001001011111100000010
+00100000011000000000000000000000
+00011000000000000010001001000001
+00100000010000000101110001100010
+01011000000000000000000000001100
+11100000101000001000000000000000
+11011000110000000100010111010010
+00100000001000000111111010110011
+00100000010000000111000101100110
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001101
+11100000101000001000000000000000
+00100000001000000111001000000001
+01101000000000001100010011000100
+11000001011111111000000000000000
+11011000010000000000000000000011
+10011000010001100111110000000000
+00100100011000010000000000000000
+11011000111000000000000000001010
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000001000000101101110101001
+01000111001111000100000000101111
+01101000000000001100010011000100
+11000000000000000101101111101111
+11000000000000001101101111110101
+11000000000000010101101111101111
+11000000000000011101101111110111
+11000000000000101101101111111011
+11000000000000111101110000000111
+11000000000001000101110000001001
+11000000000001001101110000010000
+00100000011000000000000000000000
+01101000000000001100010011000101
+11000001100000100000000000000000
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111111
+00100000001000000111110110000110
+01110000010001001100010000000010
+00100000001000000101101100000010
+01110000010001001100010000000100
+01011000000000010111011100000000
+11011000111000000000000000001010
+00100000001000000111111100001000
+01101000000000001100010011000101
+11000000000000100101101111111110
+00100000011000000000000000000000
+01110000010001001100010000000111
+01110000000010101001100100101001
+00100000010000000111110110000110
+00100000010000000101101110000010
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100000011101000000000000000000
+00100000001000000011010000010000
+01110000010001001100010000001000
+00100000001000000101101110001100
+01101000000000001100010001010010
+01101000000010001100010001011001
+10011000010000010111111000000000
+00101111111011000000000000000001
+00100000001000001101110000010010
+01110000010001001100010000001001
+00100000001000000101101110011000
+00100000010000000101101110100000
+00100000001000000101110000010010
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111110
+00100000001000000111110110000110
+01000111001111001100000000101111
+01101000000000001100010011000110
+11000100000000111000000000000000
+01101000000000001100010010111111
+11000001100000010000000000000000
+01110000010001001011111100000000
+01101000000000001100010011000001
+11000000000000001101110001011000
+11000000000000010101110001011111
+11000000000000011101110001010010
+11000000000000110101110000111001
+11000000000000111101110000110000
+11000000000001000101110000100110
+00100000011000000000000000000000
+01101000000000001100011001100011
+00011111111000100000111000000000
+00011111111000001111111000000001
+01100000000000001100011001100011
+01101000000000100100010011000111
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000001000000101110001010101
+01101000000000001100010011000010
+01110000010001001100001000000000
+11000000000000001101110000110101
+01110000010001001011111100000010
+00100000011000000000000000000000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001001100010000000101
+00100000001000000101101111010101
+01101000000000001000100110111001
+11000000000000011101110000111101
+01110000010001001011111100000010
+00100000011000000000000000000000
+00100000010000000111000110001101
+01101000000000001100010011000110
+11000000010000011101110001000001
+00100000010000000101101100011000
+00100000010000000111000101111010
+11011010001000000000101011110010
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101101110001001001
+01110000000001000111101100001011
+00100000001000000101101101010100
+00100000010000000111010110010101
+00100100001000101101110001000111
+01110000010001000010100100000001
+01101000000000001100010011000110
+11000000010000001101110000110101
+11000000010000011101110000110101
+01110000010001001011111100000010
+01110000010001001100000100000111
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000010000011101110001010110
+01110000010001100110010000000000
+00100000001000000101101100111101
+01110000010001100110001100000000
+00100000001000000101101100011011
+01110000010001001011111100000010
+01101000000000001100010011000011
+11000000000000011101110001011100
+00100000011000000000000000000000
+01110000010001001100000100000010
+01110000000010011011100100000000
+00100000001000000111101010011001
+01110000010001001011111100000010
+01110000010001001100000100000011
+00100000001000000101101111001111
+00011000000000000010010000000110
+00100000001000000101100001000111
+01101000000000001000001011011011
+11000000000000000101110001111011
+11000000000000001101110010000011
+11000000000000010101110010001110
+11000000000000011101110010101010
+11000000000000100101110011100001
+11000000000000101101110011100110
+11000000000000110101110011101010
+11000000000000111101110011110101
+11000000000001000101110010011001
+11000000000001001101110011110101
+11000000000001010101110011101111
+11000000000001011101110011110101
+11000000000001100101110010011111
+11000000000001101101110011110101
+11000000000010010101110010100110
+11000000000010011101110011110101
+11011010001000000000000000000010
+11011010010000000000000000000111
+00100000010000000101100001000010
+01101000000000001000001011011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+11101000110001001000000000000000
+01100000000001001100001111010011
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000000001000010000111111
+01111001001000000111111000000101
+01100000000000001000010000111111
+00100000011000000000000000000000
+11101000110000101000000000000000
+01100000000000101100001111001110
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000010010000010001011001
+10011000010001100111110000000000
+00100100001000010101110010001110
+01101000000000001000010000111111
+01111001001000000111111000000110
+01100000000000001000010000111111
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+11011010011000000000000000010011
+11011010001000000000000000000010
+11011010010000000000000000000010
+00100000010000000101100001000010
+00011010011000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000001001
+11011010010000000000000000001001
+00100000010000000101100001000010
+01011000000000000000000000000001
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000011101001000000000000000
+11011010001000000000000000000110
+11011010010000000000000000001100
+00100000010000000101100001000010
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000011000000000000000000000
+11011010010000000000000000010011
+00100000001000000101110010101000
+11011010001000000000000000000001
+00100000001000000101100001000010
+11101000110001000000000000000000
+01100000000001000100010011001101
+11101000110000010000000000000000
+01100000000000010100010011001011
+11101000110001000000000000000000
+01100000000001000100010010101010
+11101000110000100000000000000000
+01100000000000100100010000010001
+00100000010000000101110011001111
+01000111001111010100000000101111
+01101000000000001100010011000100
+11000000000000101101110010111100
+01101000000000001100010011101001
+11000010100000001101110010111111
+01101000000000001100001000010111
+00100100010110100110011110111110
+01101000000000001100010000101001
+11000000000000000101110011000100
+01110000010001001100010100000001
+00100000010000000101110011011101
+00100000001000000111001110100010
+01110000010001000010100100000001
+11011000110000000100010011101010
+11011000101000000100010000011001
+00100000010000000111111010111111
+00100000001000000101110010111100
+01000111001111011100000000101111
+01110000010001001100010100000000
+01110000010001001100010000000000
+01110000000010101001100101000001
+00100000001000000111110110000110
+11011010001000000000000000000010
+11011010010000000000000000001101
+00100000010000000101100001000010
+01011000000000000000000000000110
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011000101000000100010010110010
+00011000000000000111001000001000
+00100000010000000110001100001101
+11011000101000000100010000010101
+00011000000000000111001000000100
+00100000010000000110001100001101
+11011010001000000000000000001101
+11011010010000000000000000000100
+00100000010000000101100001000010
+01101000000001000100010010110010
+11100000101001000000000000000000
+01101000000000100100010000010101
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011010010000000000000000000101
+00100000001000000101110010101000
+11011010010000000000000000000110
+00100000001000000101110010101000
+11101000110001000000000000000000
+01100000000001000100010010110010
+11101000110000100000000000000000
+01100000000000100100010000010101
+00100000001000000111001110100010
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01110000000010101001100100110010
+00100000010000000111110110000110
+01110000010001001100010100000100
+00100000001000000101110011011111
+01110000010001001100010100000010
+00100000010000000101110011110011
+01110000000010101001100100110011
+00100000001000000111110110000110
+11011010010000000000000000001011
+00100000001000000101110010101000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01000111001111100100000000101111
+01011000000000000000000000000000
+01100000000000001000000001001000
+01100000000000001000000001010101
+01100000000000001000000001111000
+01100000000000001000000001111100
+01100000000000001100000101011000
+01100000000000001000010011010111
+01100000000000001000000101101101
+01100000000000001000100110110101
+01110000010001010101101100000000
+01110000000000100010100100000000
+01110000000001001101100000000000
+01110000000010011011010100000000
+01110000000010011011010000000000
+01110000000001001101000100000000
+00100000011000000000000000000000
+01000111001111101100000000101111
+00100000010101001110001011111111
+00100100010101001110001100000011
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001001100
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001111111000000000000001
+01100000000000001000000001001100
+01101000000000001000010101010001
+01101000000010001000000001001100
+00101111111011111111111000000000
+01111001001000001000010000000001
+01100000000010001000000001001100
+00011000010000010000010000000010
+01100000000010001000000001111111
+01101000000010001000000001001100
+00011111111000110111111000000000
+01100000000000001000000001111101
+01000111001111110100000000101111
+01101000000000001000000001111101
+11000000001111111101110101100110
+11000000000000011101110110110001
+11000000000000100101110111000010
+11000000000111100101110101011001
+11000000000000101101110101010101
+11000000000001111101111110101000
+11000000000010000101111000100100
+11000000000100011101111001000010
+11000000000111001101111111000001
+11000000000111000101111110111100
+11000000000110001101111000100111
+11000000000110111101111010110000
+11000000000100111101111010101100
+11000000000110011101111010101001
+11000000000100101101111010101110
+11000000000100110101111000111110
+11000000000000111101111000110110
+11000000000101101101111000101101
+11000000000101110101111000101110
+11000000000000001101111010100101
+11000000000000010101111010010000
+11000000000101000101111110110011
+11000000000001001101111010000110
+11000000000001011101111001011111
+11000000000001000101111001000011
+11000000000001100101111001101010
+11000000000011111101111000111010
+11000000000100000101111000111100
+11000000000100001101111011001010
+11000000000100010101111011001010
+11000000000110101101111011001011
+11000000000110110101111011001100
+11000000000100100101111011001010
+11000000000110100101111011001101
+11000000000010111101111011010110
+11000000000010001101111011110010
+11000000000010010101111011110110
+11000000000010011101111011111000
+11000000000001101101111100001010
+11000000000001110101111100001010
+11000000000101111101111010101010
+11000000000110000101111100001010
+11000000000001010101111100001010
+11000000000011000101111100001011
+11000000000110010101111100001010
+11000000000111101101111100010000
+11000000000111110101111101010001
+11000000000111111101111101001011
+11000000001000000101111101111000
+11000000001000001101111110001010
+11000000000000110101111110100111
+11000000000111010101110101010111
+01110000000000000111111000011001
+01110000000000000111110000000100
+00100000011000000000000000000000
+01110000000000000111110000000110
+00100000011000000000000000000000
+01110000000000000111110000111011
+00100000011000000000000000000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+01100000000000100100000011010010
+01101000000000001000010101010110
+01100000000000001100000011011001
+01101000000000101000010101010111
+01100000000000101100000011100111
+01101000000000101000010101011100
+11100000101000101000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000111001111111100000000101111
+01101000000000001000010101010010
+01111001001000000111111000000111
+01100000000000001000000001111101
+11000000010000001101110110001000
+11000000010000010101110110001101
+11000000010010101101111010110001
+11000000010010110101111011001010
+11000000010001011101111010111111
+11000000010000011101110110100101
+11000000010000100101110110100111
+11000000010010000101110101111010
+11000000010010111101110110011110
+11000000010011000101110110100011
+11000000010011001101110101111101
+11000000010011010101110110000000
+11000001010000100000000000000000
+01110000000000000111110010000010
+01110000000000000111111000011001
+00100000011000000000000000000000
+01110000000000000111110010000010
+01110000000000000111111000101110
+00100000011000000000000000000000
+00100000010000000101110110000010
+01110000000000000111110010011010
+00100000011000000000000000000000
+00100000010000000101110110000010
+00100000001000000101110110000110
+11011000101000000100011001011110
+01101000000000011000010101010011
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000001000001111011011011000
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010010
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010110
+00100000011000000000000000000000
+01101000000000001100000101011010
+01101000000010001000000001001100
+01111101001110100000010000000101
+01100000000010001000000001001100
+01101000000000001000000000110000
+11000100000000101000000000000000
+01111001001111111111111000000101
+01100000000000001000000000110000
+01101000000000001000010011010111
+00100100011110100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100100001101001101110110100001
+01110000000000000111110000010010
+00100000001000000110001011101011
+01110000000000000111110010010111
+00100000011000000000000000000000
+00100000010000000110001011101011
+00100000001000000101111111111110
+01110000000000000111110010000100
+00100000011000000000000000000000
+01101000000010001000010101010101
+00011000010000010000010000000001
+01100000000010001000010011010000
+01101000000000001100000111001110
+11000000101010001101110110101101
+01110000010000011100111000000000
+01101000000000001000000001010101
+11000001100010101000000000000000
+01110000000000000101010100000100
+00100000001000000110001100011011
+01000111010000000100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000110011101110111011000
+11000000000001000101110111100111
+11000000000001111101110111101110
+11000000000010000101110111110100
+11000000000010001101110111110101
+11000000000010010101110111111101
+11000000000011000101111000010011
+11000000000010111101111000010110
+11000000000010011101110111001111
+11000000000111101101111100011110
+11000000000111110101111101101010
+11000000001000000101111100100000
+11000000001000001101111100111101
+00100000011000000000000000000000
+01000111010000001100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000000001101111000001010
+11000000000110011101110111100010
+11000000000001011101110111111110
+11000000000001000101111000000001
+11000000000010011101110111010010
+11000000001000000101111000001011
+11000000001000001101111000001110
+11000000000011000101111000010001
+11000000000010111101111000100010
+00100000011000000000000000000000
+01110000000010101001100100100000
+00100000010000000111110110000110
+00100000001000000010000111011100
+01110000000010101001100100011001
+00100000010000000111110110000110
+01110000010001010101101100000010
+01011000000000000000000001010000
+11011000111000000000000000000110
+00100000001000000111111100001000
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000010000000111110110000110
+01110000000000000111110010001011
+01101000000000001000000001010101
+11000000100000101101110100000111
+01110000000000000101010100000110
+00100000011000000000000000000000
+01110000000001001100101000001011
+01110000000000000111110000000111
+01110000000000000101010100000000
+00100000001000001101110100000111
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100100011110100000000000000000
+00100000010000000010010001001111
+00100000010000000101111111111100
+00100000011101001000000000000000
+01111001001000000000000000100001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010000
+01101000000000001000000001001100
+11000100000000010000000000000000
+01110000000000000111110000010010
+00100000011000000000000000000000
+00100000001000000101111111111110
+00100000010000000110000001011001
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+01101000000000001000000001010101
+11000001100001010000000000000000
+01110000000000000101010100001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+01101000000000001000010101010011
+11000000000000110101111000000111
+11000001100011000000000000000000
+01110000000001001100101000011000
+01110000000000000111110000000111
+00100000011000000000000000000000
+01110000000001001100101000000110
+01110000000000000111110000000111
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010101001100100100100
+00100000001000000111110110000110
+01110000000010101001100100100011
+00100000010000000111110110000110
+00100000001000000010011011101001
+01110000000010101001100100100010
+00100000010000000111110110000110
+01011000000000000000000000000000
+01100000000000010000000001110101
+01101000000000010100000111100011
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000001100000111100101
+01100000000000001000000001110011
+01101000000000001100000111100111
+01100000000000001000000001110100
+00100000001000000010011011000110
+01110000000010101001100100100001
+00100000001000000111110110000110
+01101000000010001000010101010010
+01100000000010001000000001010100
+00100000001000000101111000111000
+01101000000000001000010011010001
+01111001001000000111111000000010
+01100000000000001000010011010001
+11000011100000011000000000000000
+01110000000000000111110000110001
+00100000001000000101110100000111
+00100000011000000000000000000000
+01101000000000001100000011010000
+01101000000010001000010101010010
+10011000010001100111110000000000
+00100000001000010101111000111000
+01110000000000000111110000000100
+01110000000000000111111000011111
+01110000000000000111110100101110
+00100000011000000000000000000000
+00100000010000000110000101010111
+00100000001000000101111000111000
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000100001
+00100000011000000000000000000000
+01110000000000000111110000100010
+00100000011000000000000000000000
+01101000000000001000000001010101
+11000001000010011000000000000000
+01110000000000000101010100000010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101111111111001
+01110000000001001101010000000001
+01110000000010101001100100001010
+00100000010000000111110110000110
+00100000010000000110001011110011
+00100100001000001110000000000001
+00100100001101001101111001001110
+01110000000000000111110000000100
+01110000000000000111110100001000
+01110000000000000111111000100011
+00100000011000000000000000000000
+01101000000000001000000001001011
+01111001001000000111111000000010
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111101001110100000010000000001
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000000001000000001111111
+00011111111000110111111000000000
+00011111111000010111111000000001
+00100000011000000000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000001000100110110101
+00100000010110100110011110110010
+00100000011000000000000000000000
+00100000010000000101111001011010
+00100000010000000101111001010110
+01100000000000001000010011010101
+00100000010000000101111111111001
+01110000000000000111110000001100
+01101000000000001100000110111101
+00100100011110100000000000000000
+01101000000000001000000000110000
+11000011100000110000000000000000
+01110000000000000111111000000110
+00100000001000000101110101010011
+11011010001000000000000001000000
+00100000010000000111001010001000
+01101000000000100000010101010010
+01101000000010100000010110010010
+10011000010001100111110000000000
+00100000001000101101111001110011
+01110000000000000111110000000111
+01110000000001001100101000000101
+00100000011000000000000000000000
+00100000010000000101111001110111
+01101000000000001100011001011010
+00100000001110100101111100111110
+00100000011000000000000000000000
+00100000010000000111001110000110
+00100000010000000010000110110010
+01101000000000001000000001001011
+00101111111011111111111000000001
+01111001001111111111111000000001
+01100000000000001000000001001011
+01101000000000001000000001010101
+11000000000011001101111010000001
+11000000000011000101111010000001
+00100000011000000000000000000000
+01101000000000001000100110110101
+11000001100000000000000000000000
+01101000000000001000000001001100
+11000011100000010000000000000000
+00100000001000000110001110110001
+11011010001000000000010101010010
+11011010010000000000010110000010
+11011000101000000000010101100010
+00100000010000000111001101010010
+11011010001000000000000001000000
+00100000010000000110001100010001
+01110000000000000111110000001011
+01101000000000001000000000110000
+11000011000000110101111111111100
+00100000011000000000000000000000
+01101000000000010000000101011111
+00011111111000001111001111111101
+01101000000010001000010101010010
+01011000000000000000000100000001
+10011000010000001000101000000000
+11011000110000000000010101010100
+00100000010000000111111100000001
+01101000000010001000000001010011
+01101000000000001000010101010011
+10011000010001100111111000000000
+00011111111001100111110000001110
+00100000001000010101111010100000
+00011000010000001111111000001110
+01100000000000001000000001010011
+01110000000000000111110000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001000000111111000000011
+01100000000000001000000001001100
+11000010100000100110000000000110
+00100000011000000000000000000000
+01101000000000001000010101010010
+01100000000000001000000001111101
+01110000000000000111110000000010
+00100000011000000000000000000000
+00100000001000000101111000111000
+01110000000000000111110000110000
+00100000011000000000000000000000
+01110000000000000111110000101000
+00100000011000000000000000000000
+01110000000000000111110000100110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000010000000000110010
+10011000000000000000010000000000
+01101000000000001000010101010011
+01100000000000001000000010010101
+10011000010011111000010000000000
+01101000000000010000010101010100
+00011111111000111111111000000000
+01100000000000010000000010010110
+01101000000000100000010101010110
+00011111111000111111111000000000
+01100000000000100000000010010001
+00011000010000100111111000000000
+01100000000000010000000010011000
+00100000011000000000000000000000
+01101000000010001100000101011010
+01101000000000001000010101010011
+10011000010000101111110000000000
+00100100001000101101110101110111
+00101111111011111111111000000000
+01101000000000001000000001001100
+01111001001000001111111000000101
+01100000000000001000000001001100
+01110000000000000111110010000001
+01110000000000000111110110001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000001000000101111000111000
+00100000001000000101111000111000
+01101000000000010000010101010010
+01100000000000010000000101110001
+00100000011000000000000000000000
+01101000000000010000010101010101
+01101000000010001100000101110010
+10011000010011111111111000000000
+11011000010000000000011001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000010000010101010111
+00100000001110100101111011110000
+00100000010000000101111011010000
+00100000001000010101111011110000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101011110011010101
+01101000000000001000000000110000
+11000010100000001101111011110000
+01101000000000010000010101010011
+00011111111000111111111000000000
+01100000000000010000000001110101
+01101000000000010000010101010101
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000010000010101010111
+01100000000000001000000001110011
+10011000000000000000010000000000
+01101000000000010000010101011001
+01100000000000001000000001110100
+10011000010001100111110000000000
+00100100001000010101111011101101
+01100000000000001000000001110011
+01110000000000000111110000000011
+01110000000000000111110100010111
+00100000011000000000000000000000
+01110000000000000111111000100100
+00100000001000000101110101010011
+00100000010000000101111000111000
+00100000010000000101111111111001
+00100000010000000111001010001011
+00100000001000000010011010111000
+00100000010000000101111000111000
+00100000001000000010011011000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+00100000001101001101111100000100
+01101000000010001100000110111101
+00100100001110100101111100000001
+01110000000000000111110000000100
+01110000000000000111110100010011
+01110000000000000111111000100100
+00100000011000000000000000000000
+01110000000000000111110000110100
+01110000000000000101010100000000
+00100000001000000010000111011001
+00100000010000000010000111011001
+01111001001000000000000000100010
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000001000000101111000111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100011000
+01110000000010101001100100101110
+00100000010000000111110110000110
+00100000001000000010011011101001
+01101000000000001000010101010010
+11000000100000001101111100011100
+01101000000000001000010101010011
+11000000100000001101111100011100
+01101000000000001000010101010100
+11000000100110000101111100011100
+00100000010000000110001011111100
+00100000001000001101111100011001
+01110000000010011010111000000001
+01110000000000000111110000000011
+01110000000000000111110100111101
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01110000000000000111110000111110
+00100000011000000000000000000000
+01101000000000001100011001100010
+11000000000000001101111100100111
+11000000000000010101111100101011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000111100101100010
+01110000000010101001100100110101
+00100000010000000111110110000110
+00100000001000000101111100100011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01101000000000001100011001100011
+11000000000010011101111100111011
+00011111111000001111111000000001
+01100000000000001100011001100011
+01110000000010011011000000000001
+01110000000010011010111000000100
+01101000000000001100011001100011
+00011111111000100000111000000000
+01101000000000110100011010001010
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000011000000000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000101111101000011
+01101000000000001100011001100101
+00100000011110100000000000000000
+01110000010001100110010100000000
+01110000000010101001100100111000
+00100000001000000111110110000110
+00100000010000000110001011111100
+00100100010000001111100101100101
+00100000010000001111100101110101
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001100
+01110000000010011011000000000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+11011000110000000000010101010010
+00100000010000000111111010111111
+01101000000000001100011001100010
+11000001000000010000000000000000
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000000111101111101010101
+01101000000000001000100110101110
+11000000100000001101111101101000
+01101000000000001000100110110111
+00011111111001100000101000100000
+00100100001000010101111101101000
+11011000101000000000100111000110
+10011000101000001000101000000000
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+01101000000000001000100110110111
+00011111111000001111111000010000
+01100000000000001000100110110111
+11000000100110000101111000111000
+00100000010000000110001011111100
+00100000001000001101111000111000
+01110000000010011011100000000001
+01110000000010011010111000000010
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110110110
+11000000000110000101111101101110
+01110000000000000111110000111110
+00100000001000000101110100000111
+00100000010000000110001011111100
+00100000001000001101111101110111
+01101000000000001100011001100010
+11000000000000010101111101110101
+01110000000010011011000000000001
+01110000000010011010111000000100
+00100000001000000101110100000111
+01110000000010101001100100110110
+00100000001000000111110110000110
+00100000001000000101110100000111
+01101000000000001000100110101111
+11000000000000111101111101111100
+01101000000000001000100110101110
+11000000100000110101111110001000
+11011000101000000000101000101110
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100000001000001101111110000110
+01110000000010011010111000000111
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000010011010111100000100
+00100000001000000111011011011000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110101111
+11000000000001011101111110001110
+01101000000000001000100110101110
+11000000100001000101111110011101
+11011000101000000000101001011110
+11011000110000000000010101010010
+00100000010000000111111010111111
+00100000010000000110001011111100
+00100000001000001101111110011010
+01101000000000001100011001100010
+11000000000000001101111110011111
+01110000010001100110000100000000
+01110000000010011010111000001001
+01110000000010011011000000000001
+01110000000000000111110101000001
+00100000001000000101110100000111
+01110000000010011010111100001001
+01110000000010011011000100000001
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001100011001100001
+11000010100000111101111110100100
+01111001001000000111111000000110
+01100000000000001100011001100001
+00100000011000000000000000000000
+11000010100000000101111110010101
+01110000010001100110000100000000
+00100000001000000101111110011101
+00100000001000000101110100000111
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+00100000010000000101111000111000
+00100100011101001000000000000000
+01101000000000001000010101010010
+01101000000010001000000001001011
+01111001001110100000010000000100
+01111101001110100000010000000101
+01100000000010001000000001001011
+00100000011000000000000000000000
+01101000000011000000010101010010
+01101000000000001000000001010101
+11000001100000011000000000000000
+01101000000000001000000101101101
+11000011000000100101111110111010
+01110000000000000101010100010100
+00100000011000000000000000000000
+01110000000000000101010100000100
+00100000011000000000000000000000
+01101000000000001000000101111111
+01100000000000001000000101011011
+01110000000000000111110000000011
+01110000000000000111110100111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100111001
+00011000000000000111001000001001
+11011000110000000000010101010010
+11011000101000000000000101010010
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000101111111000110
+01101000000000001000000101010010
+01101000000010001000000101010001
+01111001001111111000010000000111
+01111001001111111000010000000100
+11000000011111111101111111011010
+11000000000000000101111111110011
+11000000000000101101111111100111
+11000000000000111101111111100110
+11000000000000110101111111100111
+11000000000001000101111111100110
+11000000000000001101111111011111
+11000000000000010101111111011111
+11000000000000011101111111011111
+11000000000001001101111111011111
+11000000000000100101111111011111
+00100000011000000000000000000000
+01101000000000001000000101010001
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001000000101010001
+00100000011000000000000000000000
+01111001001000000000010000000100
+01110000000000011000000000000101
+01101000000000010000000101011001
+10011000000000000111001000000000
+01100000000000010000000101011111
+11011000101000000000010101010001
+00100000010000000111111101110011
+01111001001000000000010000000111
+01111001001000000000010000000010
+00011000000000000111111000000000
+01100000000000001000000000001011
+01100000000000010000000011111010
+01100000000000010000000011111100
+01100000000000010000000011111000
+01100000000000010000000011110110
+01101000000000001000000101010011
+00101111111000011111111000000000
+01111001001000001000010000000110
+01100000000010001000000101010001
+00100000011000000000000000000000
+01111001001111111000000000010001
+01110000000000010101000100000000
+01101000000000001000000101111111
+01111001001111111111111000000110
+01100000000000001000000101111111
+00100000011000000000000000000000
+11011000110000000000010101010010
+11011000101000000000010101100010
+00100000001000000111111010111111
+01110000000000000111110000001001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010001
+00100000011000000000000000000000
+11011010001000000100000010100000
+00100000010000000111001001010101
+01110000000000000111110000000011
+01110000000000000111110100001000
+00100000011000000000000000000000
+01110000000000000111001000001010
+01110000000000000111110000000111
+01110000000001001100101000010110
+00100000011000000000000000000000
+01000111010000010100000000110000
+01111000010101000111110000000000
+00100000010000000110001011000001
+01101000000000001000000001001000
+00100000011110100000000000000000
+11000010100000111110000000111111
+11000000000000001110000101101111
+11000000000000010110000011100100
+11000000000000011110000001001010
+11000000000000100110000001100000
+11000000000100111110000111011011
+11000000000101000110000100001000
+11000000000110000110000011110100
+11000000000100101110000111010110
+11000000000100110110000100000011
+11000000000110001110000111000011
+11000000000110111110000101101010
+11000000000110011110000101011100
+11000000000001000110001001011001
+11000000000001001110001001001111
+11000000000001011110001001100100
+11000000000001100110001001101101
+11000000000001111110000101100010
+11000000000010000110001010010010
+11000000000010001110001010001000
+11000000000000111110000101010010
+11000000000101010110000101111110
+11000000000001010110000101111111
+11000000000011111110000110111100
+11000000000000110110000011111001
+11000000000100001110000101011111
+11000000000101101110000110110010
+11000000000101110110000110110111
+11000000000100010110000101011111
+11000000000110100110000110000000
+11000000000010011110000110010101
+11000000000010111110000110100100
+11000000000010010110001010001111
+11000000000101111110000110101010
+11000000000011000110000110101111
+11000000000111101110000111111111
+11000000000111110110001000001011
+11000000000111111110001000011101
+11000000001000000110001000100111
+11000000001000001110001000111100
+11000000000100011110001001001011
+11000000000111011110001001000110
+11000000000000101110001001001100
+11000000000101001110001001001101
+11000000000111000110001001001110
+11000000000111001110000101110101
+00100000001000000010101010001100
+00100000011000000000000000000000
+11000000010000001110000001101101
+11000000010000100110000010011001
+11000000010000010110000001110110
+11000000010000011110000100001101
+11000000010001011110000100011000
+11000000010010111110000101001110
+11000000010011001110000011010101
+11000000010011010110000010100100
+11000000010010101110000011011010
+11000000010010110110000011011011
+00100000001000000010101010001100
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001001
+11100000101000001000000000000000
+00100000010000000110001010100111
+01000111010000011100000000110000
+01101000000000001000000001001001
+11000000000001000110000010000000
+11000000000001111110000010000100
+11000000000010000110000010001111
+11000000000010111110000001011111
+11000000000110011110000010010010
+11000000001000001110000010011000
+11000000000010001110000001011001
+00100000011000000000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+01110000000000000101010100011011
+01011000000000000000000000001100
+11011000111000000000000000000111
+00100000001000000111111100001000
+00100000001000000010011011000110
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000001000000001001001
+11000000000001011110000001101000
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+11011000010000000000010011010101
+00100000001000000110001011100010
+00011000000000000000111000000100
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001001
+00100000001000000110001010100111
+00011000000000000000111000000101
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+00100000010000000010010001001111
+00100000010000000110001011110011
+00100000011000001000000000000000
+00100000001000000101111111111100
+01101000000000001000000001001011
+11000010100000101110000010001011
+11000100000000100000000000000000
+01110000000000000111110000010010
+01111001001111111111111000000100
+00100000010000000110001011101011
+00100000001000000110000010001101
+01110000000000000111110000010000
+01111001001111111111111000000101
+01100000000000001000000001001011
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000001000001101111111111110
+00100000011000000000000000000000
+01110000000000000111110010001011
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000001000000111110110000110
+00100000011000000000000000000000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000110001010110000
+01110000010001100110010100000001
+01101000000000001100011001011011
+11000000000000001110000010110101
+11000000000000010110000010101111
+11000000000000011110000010111011
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000111
+11000000000000001110000011000111
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000101
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000001
+11000000000000010110000011000001
+11000000000000011110000011000001
+00100000011000000000000000000000
+01110000010001100110001000000011
+01101000000000001100010101011100
+11000010100000000011001111101001
+00100000011000000000000000000000
+01110000010001100110001000000001
+00100000011000000000000000000000
+01110000010001100110001000000010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000001000000110000011001101
+11011000111000000000000000000000
+00100000001000000110000011010001
+01101000000000001100010101011100
+11111001001000000111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+01101000000000001100010101011100
+11111001001111111111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000001000000110001010110010
+00100000011000000000000000000000
+00011000000000000000111000001001
+00100000010000000110001010100000
+01101000000000001000000010010101
+11100000101000001000000000000000
+01101000000000010000000010010110
+11100000101000010000000000000000
+01101000000000100000000010010001
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000000001001001
+00011111111000100000010000000000
+11000000000000000110000011101100
+11000000000001110110000011101100
+11000000000011100110000011101100
+00100000011000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010100010101
+11100000101000001000000000000000
+11011111001000000000000000001110
+01011000000000000100010100010110
+10011000010000001000110000000000
+00100000010000000111111100000001
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000100000000101100101
+10011100010001100111111000000000
+00100000001101001110000011111111
+00011111111001100111111000000000
+00011111111010110111111000000000
+01111001001111111111111000001111
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110000
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000000111000000011
+00100000010000000110001010100000
+01101000000000001100000101011010
+11100000101000001000000000000000
+01111000010101000111110000000000
+00100000010000000110001010110010
+00100100011101000000000000000000
+00100100011101001000000000000000
+01101000000000001100000011011000
+11000100000000000000000000000000
+00100000010000000110000100110010
+00100000001000000110000100111100
+01000111010000100100000000110000
+01101000000000001100000010011110
+01111001001000000111111000000011
+01100000000000001100000010011110
+01011000000000000000000100000001
+01100000000000010000010011001110
+00100000011000000000000000000000
+01000111010000101100000000110000
+01101000000000001100000010011110
+01111001001111111111111000000011
+01100000000000001100000010011110
+01011000000000000000000000000000
+01100000000000010000010011001110
+00100000011000000000000000000000
+01110000010000001101100000000011
+01011000000000000000000000000000
+01100000000000100100000101000010
+11011000101000000100000011011010
+00100000010000000110000101000000
+11011000101000000100000011100111
+00100000010000000110000101000000
+11011000101000000100000101000110
+00100000010000000110000101000000
+00100000001000000110000101000111
+11011000101000000100000011100111
+00100000010000000110000101000000
+00100000010000000110000101000111
+00100000001000000110000101001010
+01011000111111111111111111111111
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100000011010110
+00100000011000000000000000000000
+01101000000000001100000011011000
+01111001001000000111111000000010
+01100000000000001100000011011000
+00100000011000000000000000000000
+00011000000000000000111000000010
+00100000010000000110001010100000
+00100100001101001110001010110000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000010011001010
+11100000101000001000000000000000
+00100000010000000110001010110010
+01101000000000001000000001001011
+01111001001000000111111000000011
+01100000000000001000000001001011
+01110000000000000111001000110010
+00100000011000000000000000000000
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110000
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001100
+00101111111011000000000000000010
+01111001001000001111111000000000
+00011111111000010111111000000001
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000010000000001010001
+11100000101000010000000000000000
+00100000001000000110001010110010
+01110000000000000111001011111010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001010011
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000000101010010
+00011000000000000111001000001001
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000110000101111001
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000011101001000000000000000
+00100000010000000010100000101101
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000000010000000101110001
+11100000101000010000000000000000
+01101000000000011100000010100000
+11100000101000011000000000000000
+01101000000000001100000010100011
+11100000101000001000000000000000
+01101000000000010100000010100100
+11100000101000010000000000000000
+11000101100000011110000110010001
+01111001001111111000000000000011
+00100000010000000110001010110010
+01110000000000000111110000010011
+00100000011000000000000000000000
+00100000010000000110001010110000
+01110000000000000111110000000011
+01110000000000000111110100010011
+00100000011000000000000000000000
+11011000010000000000001000000000
+00100000001101001110000110011001
+00011101000000100111111000000000
+00100000001000000110000110011010
+00011100010000100111111000000000
+00011100001000100111111000000000
+10011000010000001111111000000000
+00011111111000010111111111111100
+01100000000000100000000000110100
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000000000110100
+00011111111000110111111000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000010011011001
+11101000110001001000000000000000
+11100000101001001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001100000011010000
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000001000000110001010110010
+01110000000000000111110000101110
+00100000011000000000000000000000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101110000111000001
+01101000000000001000000000110000
+01111001001000000111111000000100
+01100000000000001000000000110000
+00011100010000100111111000000000
+01100000000000100000010011101001
+01101000000000001000010011010001
+11000010100000011110000111010100
+01111001001000000111111000000011
+01100000000000001000010011010001
+01110000000010101001100100000101
+00100000010000000111110110000110
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+01110000000000000100100000000000
+00100000011000000000000000000000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110010
+01110000000010011011000100000001
+01101000000000001100010110110001
+11000001100000001000000000000000
+01110000000010011010111100010011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110010011001
+01110000000010011010111100000011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110000111101
+01110000000010011010111100000111
+00100000011000000000000000000000
+11011010001000000000101001001110
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101110000111110111
+01110000000010011010111100000000
+00100000010000000111011011011010
+01110000000000000111111000100100
+01110000000000000111110101000000
+00100000001000000101110101010011
+01110000000010011010111100001010
+00100000010000000111011011011000
+01110000000000000111110101000000
+00100000001000000101111000111000
+01110000000000000111110001000000
+00100000011000000000000000000000
+01110000000000000111110000111101
+00100000011000000000000000000000
+01110000000010011011011000000000
+00011000000000000111111000000100
+00100000010000000110001010011000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000110000
+11100000101000001000000000000000
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000100110110110
+11011000110000000100011000101010
+10011000110000001000110000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000001000100110110110
+00011111111000001111111000010000
+01100000000000001000100110110110
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+01110000000010011010111000000110
+01110000000000000111110000111111
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000001000000110001010110000
+01110000000000000111110001000000
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000010000001111011000010010
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101000011110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+01110000000010011010111100001111
+00100000010000000110001011101111
+01110000000000000111110000001011
+00100000010000000110001100000111
+00100000001000001111011001001110
+00100000001000000111011001011000
+00100000010000000110001011101011
+01110000000000000111110001000001
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000001111111111111110
+11100000101000010000000000000000
+00100000001000000110001010110000
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000010000000110001100001011
+11011010001000000100000010100000
+00100000010000000110001100010001
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011010001000000000010110000010
+11011010010000000000010101100010
+00100000010000000111001101010010
+00100100001101001110001010100111
+00100000001000000110001010101101
+00100000010000000110001100001011
+11011010001000000000000001000000
+00100000010000000111001001010101
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+01101000000000001000000001010101
+11000000000011001110001010110010
+11000000000011000110001010110010
+00100000001000000110001010101101
+01101000000000001000100110110101
+00100000001110100110001001101010
+00100000010000000110001011111100
+00100000010000001110001011101111
+00100100010000001110001011101011
+00100000001000000110001001101011
+00100000010000000110001011101111
+00100000010000000110001100001011
+00100000001000000110001001011100
+11011010001000000100000010100000
+00100000010000000111001010001000
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000010110010010
+11100000101000100000000000000000
+11011000010000000000010011010101
+00100000010000000110001011100010
+00100000010000000111001110000110
+00100000010000000110001011111100
+00100000001000001110001001111100
+01110000000001001101100000000001
+01101000000000001000100110110101
+00100000011110100000000000000000
+01110000000000000111110000001011
+01101000000000001100000110111101
+00100000011110100000000000000000
+00100000010000000110001011111100
+00100100001000001110001010000100
+01101000000000001000010011010111
+00100000011110100000000000000000
+01110000000000000111110000001111
+00100000011000000000000000000000
+11000110100100001000000000000000
+01111001001111111000000000100001
+01110000000000000111110000001111
+00100000011000000000000000000000
+00100000010000000110001100001011
+00100000010000000111001010001011
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+00100000001000000110001010101101
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010101101
+00011000000000000111111000000010
+00100000010000000110001010011000
+00011000000000000111111000010000
+11100000101000001000000000000000
+01100000000000001000000001010100
+00100000001000000110001010101101
+00011111111010011111111000000000
+00011111111000011111111000000111
+01100000000000001000010010110110
+11011111001000000000000000010001
+11011000101000000000010010111000
+00100000010000000111111011010100
+11011000101000000000010010111000
+00100000011000000000000000000000
+00011111111000010010001001111111
+01110000000000000100100001111111
+00011000111000100111111000000000
+00100000010000000110001010011000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001000000001001000
+00011111111000111111111000000000
+01101000000010001000000001001100
+00101000010011111111111000000001
+01111001001000001111111000000000
+00100000001000000110001010110111
+01101000000010001000000001001100
+00011000010000010000010000000001
+00100000001000000110001010110011
+00011000000000000000010000000000
+00100000001000000110001010110011
+00011000000000000000010000000001
+01101000000000001000000001001000
+00011111111000111111111000000000
+01111001001101001111111000000000
+10011000010000101111111000000000
+01100000000000001000010010110111
+01110000000000000100100000000000
+00100000010000000110001011000111
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+00100000010000000110001011000001
+01101000000000001000000001111100
+00100000011000000000000000000000
+01000111010000110100000000110000
+01101000000000001000000001001000
+00100000001110100110001011000111
+01101000000000001000000001111000
+00100100011110100000000000000000
+00100000001000000110001011010001
+01101000000000001000000001111000
+00100000001110100110001011010111
+01101000000000011000000001111000
+01100000000000011000000001001000
+01101000000010001000000001111011
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111100000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000100000000001111100
+01100000000000100000000001111000
+01110000000000000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000011000000001111100
+01100000000000011000000001001000
+01101000000010001000000001111111
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111110000000000
+00100000011000000000000000000000
+01000111010000111100000000110000
+01101000000000001000000001001100
+00011111111000100010011000000000
+11101000010000001000000000000000
+00100000010000000101111001010010
+00100000010000000110001010100111
+00011010011000100111111000000000
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001000000000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01111101001101001111111000000001
+01101000000010001000000001001100
+10011000010000101111111000000000
+00101111111011111111111000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001101001111111000000001
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111000001111111000000001
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001000000111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001111111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111011111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+11011000101000000000010101100010
+00011000000000000111001000010000
+00011000000010100111111000000000
+11100000101000001000000000000000
+11000010000000000110001100001101
+00100000011000000000000000000000
+00100000010000000111001001011001
+11011010001000000100000110111110
+11011010010000000000010110010010
+11101010001001000000000000000000
+01101000000010001000000000110000
+01111101001110100000010000000110
+01100000000010001000000000110000
+00011010001000100000101000000000
+00100000010000000111001101010010
+00100000001000000010000111000100
+01000111010001000100000000110001
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100110001101101111
+11000000000000101110001101110100
+11000000000000010110001101100110
+11000000000000011110001101111100
+11000000000001110110001101101001
+11000000000000110110001110011000
+11000000000000111110001110110000
+11000000000001001110001110110001
+11000000000001010110001110111010
+11000000000001011110001110111110
+11000000000001100110001110000110
+11000000000001101110001110001001
+11000000000001111110001110001111
+11000000000010010110001101011001
+11000000000010011110001101111100
+11000000000010000110001101011100
+11000000000010100110001101010110
+11000000000010101110001101111100
+11000000000010110110001101010000
+11000000000011000110001101010101
+11000000000010111110001101001001
+11000000000011001110001101001111
+11000000000011010110001100111010
+11000000000011011110001101000100
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+11000100000000011000000000000000
+01110000000000000101010100000000
+00100000010000000110001101000000
+00100000001000000110110011101111
+01101000000000001000000101101101
+11000100000000001000000000000000
+01110000000000000101010100001010
+00100000011000000000000000000000
+11011000111000000000000000000111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000000
+01100000000000001000000101101101
+01110000000000000101010100011001
+01110000000000000111110000001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010100
+11000001100000010000000000000000
+00100000010000000110001111000000
+01110000000000000101010100011000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000101010100010101
+01110000000000000111110010000011
+00100000011000000000000000000000
+01110000000000000101010100010011
+01110000000000000111110000100101
+00100000011000000000000000000000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001110001101100100
+11011000111000000000000000000110
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000010001010101101100000000
+00100000001000000110001101111101
+00100000011101001000000000000000
+00100000001000000110001110011000
+01110000000000000101010100000011
+01110000000000000111110000100111
+00100000011000000000000000000000
+01110000000000000111110000010011
+01111001001000000000000000000011
+01110000000000000101010100000101
+01011000000000000000000111111111
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100000101
+01110000000001001101001011111111
+01111001001111111000000000100010
+01110000000000000111110000110011
+00100000001000000101110100000100
+11000110000100010000000000000000
+01101000000000010000010011010010
+00011111111001100111111000000001
+00100000001000101110001101111010
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+01110000000000000111110000010011
+01110000000000000101010100010000
+00100000011000000000000000000000
+01110000000000000101010100001101
+01110000000000000111110000110001
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+01110000000000000101010100000000
+00100000011000000000000000000000
+01110000000000000101010100000110
+00100000011000000000000000000000
+01101000000000001000010011010010
+00011111111000001111111111111111
+00100000001110100110001110010100
+01100000000000001000010011010010
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010110
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000010110001101111101
+11000010100000000110001110011101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000100000010011101001
+11011000010000000000000001100100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00100000001000000110001101001001
+01110000000000000101010100010110
+01110000010001101000100100000100
+01011000000000000011000000110000
+01100000000000010100011010001010
+11100000101000010000000000000000
+01110000000001001101010000000010
+00100000001000000110001101010000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000001110001110110101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+01110000000000000111110000001111
+00100000011000000000000000000000
+01101000000000001000010011011000
+00100000011110100000000000000000
+01110000000000000101010100000000
+00100000001000000110001110110101
+01110000000000000101010100001100
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010110001111000101
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01101000000000001000000001001011
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+00100000010000000110001011111000
+00100000001000000100110100000100
+01011000000000000000000000000100
+01100000000000001100011010001001
+01011000000000000011000000110000
+11100000101000010000000000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01000111010001100100000000110001
+01101000000100001000000001110011
+11011000010000000000000000000110
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000001
+01111001001111111111111000000010
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110010
+01101000000100001000000001110011
+11011000010000000000000011000000
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000110
+01111001001111111111111000000111
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110110
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000001
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000011
+01111001001111111111111000000100
+01100000000100001000000010000001
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010011
+00100000010000000110010000010001
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010001100001000010100
+00100000001000000110100000001110
+01101000000010001100001000010100
+00100000001000000110100000101001
+01101000000010001100001000010100
+00100000001000000110100000100101
+00100000001000000110010011101100
+00100000001000000110010011110011
+00100100001101000110010000011001
+01101000000100001000000010000101
+00011111111000011111111000000010
+01100000000100001000000010000101
+00011000010000100111110000000000
+00100000001000101110010000011100
+00011010011000100111101000000000
+00101111110011000000000000000000
+00100000001000000110010010111001
+00011000000000000000010000000100
+11011010001000000000000111111110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011010001000000101010110101010
+01101000000000010000000111111110
+11101000110010010000000000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+11011000010000000000000000000010
+11011010001000000000001000000100
+00100000010000000110010000011001
+01101000000000010000001000000100
+01100000000000010000000111110111
+00100000010101000110010000110000
+00100000011000000000000000000000
+11011000010000000000000000010000
+11011010001000000000001000000110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011000110000000000001000000110
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000111010000100010
+01111000010101101111110000000000
+00100000010000000110010000011110
+00100100011000101000000000000000
+01111000001101101111110000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+11011010001000001000000000100101
+00100000010000000110010000010101
+01110000100000000010001100000000
+11011000010000000000000000000110
+00100000010000000110010000011111
+00100100011000101000000000000000
+11101000110000010000000000000000
+10011000000000000010001000000000
+00100000010000000110010000011001
+00100000001000000110010001000110
+00100000010000000111111110011001
+01011000000000000001000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+11011111001000000000000000000010
+00100000010000000110010000011110
+00100100011000101000000000000000
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+11000010000000000110010001010010
+00100000001000000110010001000110
+00100000010000000111111110011001
+01111000010101000111110000000000
+00100000010000000110011001101010
+01011000000000000000000000000000
+11011010001000000000000111110011
+11011000010000000000000000000010
+00100000010000000110011010110011
+01101000000000010000000111110011
+11000011000000111110010001101110
+01110000100000000101000000100101
+01011000000000000000011111110000
+11011010001000000000001000000110
+11011000010000000000000000010000
+00100000010000000110011010110011
+01110000100000000000011000001000
+01111001001000000000000000101011
+11011000110000000000001000000110
+00100000010000000111010010000100
+01111000001101000111110000000000
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000010000000111110011
+00011111111100001111111000000000
+11011000010000000000011111111111
+10011000010000010111111000000000
+00100000001000101110010001111011
+00100000010000000110011001101111
+11011010011000000110011010111000
+00100000010101000110010000110000
+00100000010000000110010000111100
+01101000000000001000000111110010
+11000011000000000110010001101111
+00100000010000000110011001101101
+01110000010000011101101000000000
+00100000010000000110010010110000
+00100000010000000110010111000010
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010000110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+00100000010000000110010110111111
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010001110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000001000000111110011
+11000010100000101110010010011011
+01011000000000000000000000000000
+01100000000000011000000111110110
+00100000010000000110010100000010
+11011010011000000110010101111000
+00100000010000000110010000101001
+00100000010000000110010000111100
+00100100001101101110010010011011
+01101000000000001000000111110010
+11000011000000000110010010001111
+11000101000101011110010010011101
+00100000010000000110010010100011
+01101000000000001000000111110011
+11000011000000100110010010100011
+01110000100000000101000000100001
+00100000010000000100110000001110
+00100000010000000100110000101110
+00100000001000000110010010100001
+01011000000000000000000000000000
+01100000000001000000001000000110
+01100000000001000000001000001110
+00011000000000000111000000000100
+00100000010000000111010010010010
+01110000100000000101000000100001
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+00100000010000000110010110100011
+00100000010000000110010000101001
+00100000001000000110010000111100
+01101000000000001100000111011010
+00011111111000001111111000000001
+00011111111001100111110000000011
+00100100001000010110010010110110
+01100000000000001100000111011010
+00100000011000000000000000000000
+00100000010000000110010010100011
+00100000010000000111111110100001
+00100000011000000000000000000000
+01101000000000001000000111110010
+00011111111000111111111000000000
+01111001001000001111111000000000
+00101010001011000000000000001111
+00100000011000001000000000000000
+01100000000000001000000111110010
+00100000011000000000000000000000
+01101000000100001000000010000101
+11000100000000001000000000000000
+00100000001000000110010011000110
+01101000000100001000000100101100
+10101111111011111111111111111111
+00100000011000001000000000000000
+01101000000100001000000100001000
+11000011000000001110010011000011
+00100000010000000111010000100010
+00100000001000000110010011000011
+01101000000000010100000110011001
+00100000011110100000000000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+01101000000010010100000110011011
+00011000010010111111001000000000
+10011000000000000000110000000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000110010011010010
+01110000100000000010001100000000
+00100000011000000000000000000000
+01000111010001101100000000110001
+00100000010000000110010011011101
+00100000001000000110001111110010
+00100000010000000110010011011101
+00100000010000000110001111101110
+00100000001000000110001111110110
+01101000000000001100001000010010
+01100000000100001000000010000110
+01101000000000001100001000010011
+01100000000100001000000010000111
+01011000000000000000000111110101
+01100000000100010000000010001010
+01011000000000000000000111111010
+01100000000100010000000010001100
+00100000001000000110001111101110
+01101000000100001000000010000110
+01111001001000000111111000000111
+01100000000100001000000010000110
+01111001001111111111111000000111
+01100000000100001000000010000110
+00100000011000000000000000000000
+01111001001000000111111000000111
+01100000000000010000000111110101
+01000111010001110100000000110001
+01110000100000001000100000000010
+01110000100000001000111000000000
+01110000100000000000011000000010
+00100000001000000110010011111100
+00011000000000000000010000000001
+01100000000000001000000111110101
+01000111010001111100000000110001
+01110000100000001000100000000001
+01100000000110010000000010001110
+01110000100000000000011000000010
+00100000010000000110010011111100
+01101000000000001000000111111010
+00100000011000000000000000000000
+01101000000000010100000011010110
+00011111111000001111111000000001
+01100000000000010100000011010110
+01101000000100001000000100101100
+11000011000000011110010011111100
+00100000011000000000000000000000
+01110000100000001000011001000000
+01110000100000001000011100000000
+01101000000100001000000010000001
+01111001001111111111111000000000
+01111001001000000111111000000001
+01100000000100001000000010000001
+01011000000000000000000000000000
+01100000000000100000000111110101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000100010000000010001110
+01011000000000000000000000000001
+01100000000100010000000010001000
+01011000000000000000000111110101
+01100000000100010000000010001010
+01110000000000011111010100000110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01111000010101000111110000000000
+00011111111000100010010000000000
+01101000000000001100001000111001
+11000001100000000000000000000000
+01111000001101000111110000000000
+00011010010000100111111000000000
+00100000001000000110010100100010
+01101000000000001100001000111001
+11000000000000001110010100100010
+11000000000000010110010100101000
+11000000000000011110010100110000
+11000000000000100110010100110111
+11000000000000101110010100111101
+00100000011000000000000000000000
+01100000000000011100001000110010
+00011010001000100111111000000000
+01100000000000010100001000110101
+01100000000010010100001000110111
+01110000010000100011100100000010
+00100000001000000110010100000010
+00100000010000000110010100000010
+01110000010000100011100100000011
+00100000010000000110010100001011
+11011010001000000000000111110101
+01101000000000011100001000110010
+01110000100000001000100000000100
+11011000010000000000000000100000
+00100000001000000110010101010110
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000100
+00100000011000000000000000000000
+00100000010000000110010100000010
+01110000010000100011100100000101
+00100000010000000110010100001011
+00100000010000000110010101001010
+00100000010000000110010101010010
+00100000001000000110010101000101
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000000
+01101000000000010100001000000001
+00100000001000000111111110011100
+01101000000000100000101010100010
+01101000000010010100001000110101
+00011000010000001000010111111100
+11100000010000100000000000000000
+00100000011000000000000000000000
+01101000000010010100001000110101
+00011000010000100010001000000000
+00011000010000001000010111111100
+11101000010000100000000000000000
+01100000000000100000101010100010
+01101000000010010100001000110111
+01101000000000011100001000110010
+00100000011000000000000000000000
+00011000010000001000010000000100
+01100000000110010000000010001000
+11011000010000000000000000000010
+00011010001000001010001111111100
+11100010001010001000000000000000
+00011111111100010000010000000000
+11100000101010001000000000000000
+00011111111011001000010000000000
+11100000101010001000000000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+01100000000100010000000010001010
+01011000000000000000000000000000
+01100000000100010000000010001110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01100000000110010000000010001110
+00011111111100010000010000000000
+01100000000010001000000111110110
+00011111111011001000010000000000
+01100000000010001000000111110111
+01100000000000001000000111111000
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010101110100
+11011000111000000000000000000011
+00100000001000000110010011111100
+01100000000110010000000010001110
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010110000101
+11011000111000000000000000000011
+00100000010000000110010011000000
+00100000010000000110010011111100
+00101111111011111111111000000010
+00100000010000000110010010111001
+01101000000000001000000111110110
+00011111111100000010010000000000
+01101000000000001000000111110111
+00011111111011010111111000000000
+10011010010000011010010000000000
+01101000000000001000000111111000
+10011010010000011111111000000000
+10011000010000001111111000000000
+01100000000000001000000111111000
+00011111111011001111111000000000
+01100000000000001000000111110111
+00011111111011001111111000000000
+01100000000000001000000111110110
+00100000011000000000000000000000
+01110000100000000001000000000001
+00100000011000000000000000000000
+01110000100000001001000100001100
+01110000100000001001001000001101
+01110000100000001001001100001101
+01110000100000001001010000001101
+01110000100000001001010100001101
+01110000100000001001011000001100
+00100000001000000110010110101001
+01110000100000001001000100000101
+01110000100000001001001000000111
+01110000100000001001001100000111
+01110000100000001001010000000111
+01110000100000001001010100000111
+01110000100000001001011000000101
+01101000000100001000000001111011
+00011111111000011111111011000000
+01100000000100001000000001111011
+01101000000100001000000010000001
+00011111111000011111111000010000
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000101110010110110000
+00100000011000000000000000000000
+01100000000100010000000010011000
+00011010001000100111111000000000
+01100000000100010000000010011010
+00011010010000100111111000000000
+01100000000100010000000010011100
+00011000010000100111111000000000
+01100000000100010000000010011110
+11011000010000000000000000000001
+01111101001110100000010000000001
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000001000000110010110110000
+01111001001000000000000000101000
+01110000010000100001000100001000
+00100000011000000000000000000000
+01111001001111111000000000101000
+01110000010000100001000100100000
+00100000011000000000000000000000
+01101000000000001100001000000011
+10011010010000001111111000000000
+01100000000000001000000111110111
+00100000001000000110010111001100
+01101000000000010000000111110111
+00011111111100001111111000000000
+01100000000000001000000111110111
+01011000000000000000000000000011
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100010100001
+00100000001000000110010111101011
+01100000000010010000101010100010
+00100000010000000110010111010110
+01101000000010010000101010100010
+00100000010000000110011000000110
+00100000001000000110010111011101
+01101000000000001100001000111010
+11000001011111111000000000000000
+11000011000000110110010111011011
+01011000000000100100100111110000
+00100000010000000010101010001111
+01101000000010001100001000111010
+00100000001000000110100000101001
+01101000000010001100001000111010
+00100000001000000110100000100101
+01000111010010000100000000110010
+11000101000101000110010111000101
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+01000111010010001100000000110010
+11000101000101000110010111001001
+01011000000000000000000000000100
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100110100001
+01011000000000000000000111110110
+01100000000100010000000010011010
+01100000000110010000000010011110
+00011010001000100111111000000000
+01100000000100010000000010011100
+01011000000000000000000000000010
+00101010001011000000000000001111
+01111001001000001111111000000000
+01100000000100001000000010010000
+01110000100000000000011000000100
+11011000111000000000000000000101
+00100000010000000110010011000000
+00100000010000000110010110110000
+00101111111011111111111000000100
+00100000010000000110010010111001
+11000101000101000110011000000001
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000001000000111110111
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+01100000000000010000101010011010
+01000111010010010100000000110010
+01100000000010010000101010100010
+00011010001000100111111000000000
+01100000000000010000101010111001
+00100000010000000110011000011101
+01101000000010010000101010110010
+01101000000000010000101010111001
+00011111111000100010001000000000
+01101000000000010000101010011010
+00100000010000000110011000111101
+01101000000000010000101010110010
+01101000000010010000101010111001
+10011000010000001000010000000000
+01100000000010010000101010111001
+01101000000010010000101010011010
+10011000010000001000010000000000
+01100000000010010000101010011010
+01101000000000010000101010100010
+00100100001110100110011000001101
+00100000011000000000000000000000
+01000111010010011100000000110010
+01101000000000001100001000010001
+00011111111000001111111111111111
+01101000000010010000101010011010
+10011000010000011111111000000000
+00011111111000001111111000000001
+01100000000000011000101010110110
+01101000000000010000101010100010
+10011000010000001111111000000000
+01101000000010011000101010110110
+10011000010001100111111000000000
+00100100001000010110011000101111
+01100000000000010000101010100010
+01101000000000011000101010110110
+01101000000010010000101010011010
+10011000010001100111111000000000
+01100000000000010000101010110010
+00100000011000000000000000000000
+01101000000000010000101010100010
+01100000000000010000101010110010
+01011000000000000000000000000000
+01100000000000010000101010100010
+00100000011000000000000000000000
+00011000010000001000010000000010
+01100000000110010000000010011000
+00011010001000001010001111111110
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+11100000101000001000000000000000
+00100000001000000110011001001010
+00011111111000100010010000000000
+01000111010010100100000000110010
+11000101000101000110011000110100
+00011010010000100111111000000000
+00011000010000001000010000000011
+01100000000110010000000010011000
+00011010001000001010001111111101
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01110000100000001001000000000001
+01110000100000000000011000000100
+00100000010000000110010110110000
+00011010010000100111111000000000
+11100010001000011000000000000000
+01000111010010101100000000110010
+01110000000000011111100100000000
+01011000000000000000000000000001
+01100000000100010000000010011000
+01110000000000011111011010100000
+01011000000000000000000111110110
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01100000000100010000000010011100
+01011000000000000000000000000011
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000010000000110010110110000
+01101000000100001000000100101100
+11000100000000110000000000000000
+00100000000000000000010111011100
+01101000000000001000000111111001
+00011111111000001111111000000001
+01100000000000001000000111111001
+00011111111001100111110000101000
+00100100011000010000000000000000
+00100000001000000110011001010101
+01110000100010010111001101110000
+00100000000000000000101110111000
+00100000011000000000000000000000
+01110000100010010111001100110000
+00100000011000000000000000000000
+00011111111010011111111000000000
+01100000000100010000000001000101
+01110000100000000100101100000000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100000
+11101010001010001000000000000000
+00011010001000001010001000000001
+00011000000000000000111000000000
+10101000010011000000000000000000
+00100000001000001110011010010111
+01101000000100001000000001000110
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000100001000000001000110
+01110000100000000100011100000010
+01110000100000000100011110000010
+01111001001111111111111000000111
+01100000000100001000000001000110
+01110000100000000100011110001010
+00100000000000000000000000001011
+01110000100000000100011111001010
+00100000000000000000000000100001
+01110000100000000100011101001010
+00100000000000000000000000101100
+01110000100000000100011111001010
+00100000000000000000000000010110
+01110000100000000100011110001010
+00100000000000000000000000100001
+01110000100000000100011110000010
+00100000000000000000000000000001
+01110000100000000100011110010010
+00100000000000000000000000001010
+01110000100000000100011110110010
+01101000000100001000000000000111
+01110000100000000100011110010010
+00100000000000000000000000000001
+01110000100000000100011110000010
+10101111111011000000000000000000
+00100000001000001110011001111000
+01101000000100010000000001000101
+00011111111000001111111000000001
+01100000000100010000000001000101
+00011000111000001000111000000001
+00101000111000000001111000001000
+00100100001000001110011001111000
+11000010000000000110011001110101
+01110000100000000100011110000011
+00100000011000000000000000000000
+01110000100000000100011110000010
+00100000000000000000000000001100
+01110000100000000100011110000000
+01110000100000000100011110000010
+00100000000000000000000010010110
+00100000011000000000000000000000
+00100000010000000110011010100000
+01110000100000000100011110100010
+00011010001000100111111000000000
+01100000000100010000000001001000
+01111001001000000000010000001011
+00101111111011000000000000001111
+01111001001000001000010000001111
+01100000000110010000000001001010
+01110000100000000000011000000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000001110011010110000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100110
+00100000010000000110011010110000
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000100100100
+01100000000100010000000001000101
+00100000010000000110011010100110
+11011000111000000000000000000001
+00100000010000000110010011000000
+00100000010000000110011010110000
+00101111111011111111111000000000
+00100000010000000110010010111001
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000001011110
+10011000000000000001010000000000
+00100000011000000000000000000000
+00011001010000100111111000000000
+01100000000100010000000001011110
+00100000011000000000000000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000001011000
+00011111111000100000011000000000
+00100000011000000000000000000000
+01101000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011011110
+00100000011000101000000000000000
+00100000001000010110011011010011
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011100001
+00100000011000101000000000000000
+00100000001000010110011011011000
+00011111001000001111001000000100
+00100000001000000110011011100100
+11101000110001000000000000000000
+11100001010001000000000000000000
+00100000011000000000000000000000
+11101000110000100000000000000000
+11100001010000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011011100110
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011110111
+00100000011000101000000000000000
+00100000001000010110011011101100
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011111010
+00100000011000101000000000000000
+00100000001000010110011011110001
+00011111001000001111001000000100
+00100000001000000110011011111101
+11101000011001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11101000011000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+11000010000000000110011011111111
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011100000101
+00100000011000000000000000000000
+01110000000010101001100100111101
+00100000001000000111110110000110
+01000111010010110100000000110010
+01101000000000001100001000010111
+00100000011110100000000000000000
+00100000010000000110011110100011
+00100000010000101110011110101001
+00100000010000000110011100111110
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000010010100001000010101
+01100000000010010000000110001100
+00011010011000100111111000000000
+00100000001110100110011100001001
+00011010011000001010011111111111
+00011000010000100010001000000000
+11101010001000001000000000000000
+01101000000010001000000110000100
+10011000010001100111110000000000
+00100000010000101110011100100101
+00100000001000010110011100100001
+11101010001000001000000000000000
+00011111111000001111111000000001
+11100010001000001000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00100000001000000110011100010101
+01011000000000000000000000000000
+11100010001000001000000000000000
+01101000000000001000000110000101
+11100000101000001000000000000000
+11000000100110011110011100110011
+11011010010000000100000110111110
+11101000110000110000000000000000
+11100000101001000000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+00011010010000100000110000000000
+00100000010000000111111010111111
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000000000110110110011100110111
+11000000000110111110011100111011
+11011010010000000100010000011001
+00100000001000000110011100101011
+11011000110000000100010011010101
+00100000010000000111111010111111
+11011000110000000100010000011001
+00100000001000000110011100110000
+11011000110000000100010011001101
+00100000010000000111111010111111
+00100000001000000110011100111001
+00100000010000000111111111101001
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000010100000000110011101010100
+01000111010010111100000000110010
+01101000000000001100010010001110
+11000000000000000110011101001101
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000001000001110011101001101
+00101111111000011000000001000000
+00100000001000001110011101010010
+00101111111000011000000000000000
+00100000001000001110011101010000
+01110000000000011000010100110101
+01101000000000110000010001001111
+00100000001000000110011101010111
+01110000000000011000010100110111
+00100000001000000110011101010111
+01110000000000011000010100110110
+00100000001000000110011101010111
+01000111010011000100000000110011
+01110000000000011000010100110011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000000001
+01100000000000010000000110001100
+01100000000010001000000110000100
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000000010000000110001100
+00011111111000100010001000000000
+00100000010000000110011101101111
+00100000011101000000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00011000010000001000010111111111
+11101000010000001000000000000000
+01100000000000001000000110000100
+00011010011000001010011111111111
+00100100001000101110011101011111
+01101000000000001100001000010111
+00011111111000001111111111111111
+01100000000000001000000110000100
+00100000011000000000000000000000
+01101000000000001000000110000101
+11000000100110011110011101110110
+11011010010000000000000110000101
+11011111001000000000000000000111
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11000000000110110110011101111001
+11000000000110111110011110010100
+00100000001000000110011101110001
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011000101000000000101011000010
+11011111001000000000000000010000
+00100000010000000111111011010100
+01101000000000011000010001010010
+01100000000000011000101011000010
+00100000010000000110011110001011
+01101000000000010000101011011111
+00011111111100001111111000000000
+00011111111011010000010000000000
+11101000110000001000000000000000
+10011000010000001111111000000000
+01101000000010011000010001001111
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11011000110000000000101011000010
+00100000010000000111010010000110
+11101010001000001000000000000000
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000101011010010
+00100000001000000111010010010111
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010001000000000
+00011000110000001010011000001000
+11011010010000000100010011001101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00011010011000100010001000000000
+11011010010000000100010011010101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000100010
+11101111111000001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000010010100001000010101
+01011000000000000000000000000000
+11100000010000001000000000000000
+00011000010000001000010000100010
+00011111111000001111111000000001
+11000010000000000110011110101101
+00100000011000000000000000000000
+01000111010011001100000000110011
+00100000010000000110011100111110
+01101000000000001000000000110000
+01111001001101000111111000000110
+01100000000000001000000000110000
+00100100001101000110011110111100
+00011010001000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+01110000010000011011110100000000
+00100000011000000000000000000000
+01101000000001001100010011001011
+00100000001110100110011111001010
+00100000010000000110011100111110
+00100100001101000110011111001010
+01101000000000010000000110001100
+00011111111000001000110000000001
+11011000101000000100010011010101
+00100000010000000111111010111111
+11011000101000000100010000011001
+00100000010000000111111010111111
+01110000010001000010100100000001
+00100000011000000000000000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+01100000000000110000000110000110
+01110000000000011000010100110100
+00100000001000000110011111010011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01110000000000011000010100110011
+01101000000000001100000010010010
+11000000000001010110011100001011
+11000010100000110100001011011010
+00100000011000000000000000000000
+01101000000001000100000110111110
+01101000000011000100000111000110
+10011000010000011111111000000000
+00100000011110100000000000000000
+01110000010000011011110100000001
+00100000011000000000000000000000
+01000111010011010100000000110011
+01111001001000000000010000000111
+00100000010000000110100000011101
+01111101001000001000010000000111
+01000111010011011100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001000001111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111101001000001111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+01000111010011100100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001111111111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111001001111111111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+00100000010000000110011111101101
+00100000001000000110011111111110
+00011000010001100111110011111111
+00100000011000101000000000000000
+00100100010101011110011111100001
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001010000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010001100111110011111111
+00100000011000101000000000000000
+01111001010000000000010000000111
+00100000010000000110100000101111
+01111001001000000000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010000010000111000000111
+00011000010010010111111000000000
+00011111111000010111111000000011
+10011000101000001000101000000000
+11101000101000001000000000000000
+00100000011000000000000000000000
+11011000101000001000000001110100
+00100000001000000110100000011110
+11011000101000001000000100011100
+00100000010000000110100000010101
+00101000010011111111111000000111
+00100000001000001110100000100011
+10101111111011000000000000000000
+00100000011000000000000000000000
+10101111111011111111111111111111
+00100000011000000000000000000000
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011111111111000000111
+00100000001000000110100000101100
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011000000000000000111
+01011000000000000000000000000000
+01111101001000001111111000000111
+10011000010000101000010000000000
+11011000101000001000000001110100
+00100000010000000110100000010101
+00101000010011111111111000000111
+11111001001000001111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001111111111111111111111
+01101000000100001000000010000001
+00101111111000000000011000000010
+00100000010000001110100001111000
+00101111111000000000011000000001
+00100000010000001110100001111010
+00101111111000000000011000000011
+00100000010000001110100001111010
+00101111111011111111111000000010
+00100000010000001110100001110100
+00101111111011111111111000000011
+00100000010000001110100001110110
+00101111111011111111111000000100
+00100000010000001110100001111100
+00101111111011111111111000000110
+01111101001000001010001000000100
+00101111111011111111111000000111
+01111101001000001010001000000101
+01101000000100001000000010000010
+00101111111011111111111000000000
+01111101001000001010001000011011
+00101111111011111111111000000001
+01111101001000001010001000011100
+00101111111011111111111000000010
+01111101001000001010001000000011
+00101111111011111111111000000011
+01111101001000001010001000001000
+00101111111011111111111000000100
+01111101001000001010001000010100
+00101111111011111111111000000101
+01111101001000001010001000010101
+00101111111011111111111000000110
+01111101001000001010001000010110
+00101111111011111111111000000111
+01111101001000001010001000010111
+01101000000100001000000010000000
+00101111111011111111111000000000
+01111101001000001010001000000101
+00101111111011111111111000000001
+01111101001000001010001000000110
+00101111111011111111111000000010
+01111101001000001010001000000111
+00101111111011111111111000000011
+01111101001000001010001000010010
+00101111111011111111111000000100
+01111101001000001010001000010011
+00101111111011111111111000000101
+01111101001000001010001000010100
+00101111111011111111111000000110
+01111101001000001010001000010101
+00101111111011111111111000000111
+01111101001000001010001000010110
+01101000000100001000000001100010
+00101111111011111111111000000100
+00100000010000001110100001111110
+01000111010011101100000000110011
+01101000000100100000000001111000
+01101000000110100000000001111100
+10011000010000011111111000000000
+00011111111001000111111000000000
+10011010001000010111111000000000
+01100000000100100000000001110000
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100010000100
+11011000111000000000000000001001
+00100000001000000110100010000010
+11011000111000000000000000010111
+00100000001000000110100010000010
+11011000111000000000000000011001
+00100000001000000110100010000100
+11011000111000000000000000011110
+00100000001000000110100010000100
+11011000111000000000000000000010
+00100000001000000110100010000100
+11011111001000000000000000000001
+00100000001000000110100010000101
+11011111001000000000000000000100
+00100000001000000110100010000101
+11011111001000000000000000000010
+11111001001111111010001000000000
+00011000111000001000111000000001
+11000010000000000110100010000101
+00100000011000000000000000000000
+00100000010000000110100010010101
+11011000010000000000000000000110
+00100000001000000110100000001110
+00100000010000000110100010001001
+11011000010000000000000000000110
+00100000001000000110100000100101
+00100000010000000110100010010101
+01101000000100001000000001111000
+01111001001000000111111000000111
+01100000000100001000000001111000
+11011000010000000000000000000111
+00100000001000000110011111111011
+01101000000100001000000010000001
+00011111111000010111111011111011
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00101111111011111111111000000010
+00100000011000000000000000000000
+00100000010000000110011001101010
+01011000000000000000011111100000
+11011010001000000100000101010000
+11011000010000000000000000000010
+00100000010000000110011010110011
+00100000001000000110011001101101
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000100001000011101
+11011000010000000000000000001110
+00100000010000000110011010110011
+00100000001000000110011001101101
+01000111010011110100000000110011
+00100000010000000110100010100010
+01101000000000001100001000101101
+11000000000000000110100010101111
+11000000000000001110100011000011
+11000000000000010110100011010111
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100010111000
+01011000000000000100110111111010
+01100000000000010100001000100111
+01011000000000000100100010010100
+01100000000000010100001000100001
+00100000001000000110100011000000
+01101000000000010100001000100111
+00100100001110100110100010111100
+01011000000000000100110111111010
+01100000000000010100001000100111
+01101000000000010100001000100001
+00100100001110100110100011000000
+01011000000000000100100010010100
+01100000000000010100001000100001
+01011000000000000000000001100100
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011001100
+01011000000000000101100100110010
+01100000000000010100001000100101
+01011000000000000100001100100011
+01100000000000010100001000011111
+00100000001000000110100011010100
+01101000000000010100001000100101
+00100100001110100110100011010000
+01011000000000000101100100110010
+01100000000000010100001000100101
+01101000000000010100001000011111
+00100100001110100110100011010100
+01011000000000000100001100100011
+01100000000000010100001000011111
+01011000000000000000000110010000
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011100000
+01011000000000000110100101000110
+01100000000000010100001000100011
+01011000000000000101001101110111
+01100000000000010100001000011101
+00100000001000000110100011101000
+01101000000000010100001000100011
+00100100001110100110100011100100
+01011000000000000110100101000110
+01100000000000010100001000100011
+01101000000000010100001000011101
+00100100001110100110100011101000
+01011000000000000101001101110111
+01100000000000010100001000011101
+01011000000000000000000000110010
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000110100011110000
+11000000000000001110100011110010
+11000000000000010110100011110100
+00100000011000000000000000000000
+01110000100010010111000110111111
+00100000001000000110100011111000
+01110000100010010111000110101111
+00100000001000000110100011111000
+01110000100010010111000110001111
+01101000000000001100001000101110
+01100000000100001000100101110011
+00100000001000000110100011111000
+01000111010011111100000000110011
+01101000000100001000000001010011
+01111001001000000111111000000111
+01100000000100001000000001010011
+01101000000100001000100101110011
+00011111111000011111111000110000
+01100000000100001000100101110011
+01110000100010010000011001111100
+01110000100010010111001010101010
+00100000000000000001001110001000
+01101000000110010000000101010000
+01101000000100001000000001010011
+01111001001111111111111000000111
+01100000000100001000000001010011
+01100000000010010100001000101111
+00100000011000000000000000000000
+01000111010100000100000000110100
+01101000000000001100001000101101
+11000000000000000110100100001110
+11000000000000001110100100010010
+11000000000000010110100100010110
+00100000011000000000000000000000
+01101000000000010100001000100111
+01101000000010010100001000100001
+11011010011000000000000011001000
+00100000001000000110100100011010
+01101000000000010100001000100101
+01101000000010010100001000011111
+11011010011000000000000001100100
+00100000001000000110100100011010
+01101000000000010100001000100011
+01101000000010010100001000011101
+11011010011000000000000000110010
+00100000001000000110100100011010
+10011000010001100010001000000000
+01101000000000010100001000101111
+10011000010001100111111000000000
+00100100001000010110100100100111
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010000001111111000000000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000011000000000000000000000
+00011000010000100111111000000000
+01101000000010010100001000101111
+10011000010001100111111000000000
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010001100111111000000000
+00100000001000000110100100100011
+11101010001001000000000000000000
+01100000000001000000101010011010
+01101000000000010000101010011010
+01101000000010010000101010011100
+10011000010001100010001000000000
+01101000000000010000101010100000
+10011000010001100010010000000000
+01101000000010010000101010011110
+10011000010001100111110000000000
+00100100010000010110100101000000
+00011010010011111111111001100100
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000010110100110100101000100
+00100000011000000000000000000000
+01101000000000001100001000110001
+01111001001000000111111000000000
+01100000000000001100001000110001
+00100000011000000000000000000000
+01101000000010001100001000110001
+01111001001000000000010000000001
+01100000000010001100001000110001
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111111011
+00011010001000001010001000000001
+11000010000000000110100101001111
+00100000011000000000000000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+00011000000000000010010000000000
+01110000000010110001001000000000
+11101010001010001000000000000000
+00100000010000000110100000011101
+01000111010100001100000000110100
+01101000000000010000101100010010
+00011010010000100000111000000000
+11111001001000001111111000000000
+01100000000000010000101100010010
+00011010001000001010001000000001
+00011010010000001010010000000001
+01101000000000010100001000111101
+11101111111000001000000000000000
+10011010010000101111110000000000
+00100100001000101110100101011001
+01101000000000010000101100010010
+01101000000010010000101100010100
+10011000010000101111110000000000
+00100000011000101000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111011101
+00011010001000001010001000000001
+11000010000000000110100101110011
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000010000000111111100010110
+00100100011110100000000000000000
+01011000000000000000000000100000
+11011000111000000000000000001001
+00100000010000000111111100001000
+01111000010101000111110000000000
+00100000010000000110100101101100
+01000111010100010100000000110100
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00100000010000000110100101010100
+00100100001101000111110100000010
+00100000010000000111110100000000
+01111000010101000111110000000000
+01101000000000010000101100010010
+01100000000000010000101100011001
+01110000000010110001101100000000
+00011000000000000000111000000000
+01101000000000010000101100010100
+00011111111000110000010000000000
+01100000000010010000101100010100
+00011111111000010111111000000001
+01101000000010010000101100011001
+00011000010000010010001000000001
+00011000010000110000010000000000
+01100000000010010000101100011001
+10011010001000101111110000000000
+00100100010000101110100110100001
+01101000000000010100001000111101
+11101111111000001000000000000000
+01101000000010001000101100011011
+00011000010000001000010000000001
+01100000000010001000101100011011
+00011000010000100000111000000000
+10011000111000101111110000000000
+00100100001000101110100110001100
+01101000000000010000101100010010
+01100000000000010000101100010100
+00100000011000000000000000000000
+01000111010100011100000000110100
+01101000000000010100001000111101
+00011111111000001111111000000001
+11101111111000010000000000000000
+00100000001000000111111110011100
+01101000000100001000000001000010
+10011010001000011111111000000000
+01100000000100001000000001000010
+01101000000100010000000001010000
+01111001001111111111111000001101
+01100000000100010000000001010000
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010011000101010011100
+01011000101101110001101100000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+01101000000000001000101010011111
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000010000100111111000000000
+10011010001001100010010000000000
+01101000000000001000101010011011
+00100000010000000110100110111110
+01101000000000001000101010011010
+00100000001000000110100111010101
+11000000000000000110100111000100
+11000000000000001110100111000110
+11000000000000010110100111001000
+11000000000000011110100111001010
+11000000000000100110100111001100
+11000000000000101110100111001110
+11011000101000001000000010100000
+00100000001000000110100111010000
+11011000101000001000000010100100
+00100000001000000110100111010000
+11011000101000001000000010101000
+00100000001000000110100111010000
+11011000101000001000000001100100
+00100000001000000110100111010000
+11011000101000001000000001101000
+00100000001000000110100111010000
+11011000101000001000000001101100
+00100000001000000110100111010000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000110100111011000
+01111000010101000111110000000000
+11000000000000100110100111100011
+11000000000000101110100111100101
+11000000000011011110100111100111
+11000000000011100110100111101001
+11000000000000011110100111101011
+11000000000001000110100111101101
+11000000000010100110100111101111
+11000000000010101110100111110001
+11000000000010110110100111110011
+11000000000010111110100111110101
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100111111111
+11011000111000000000000000000111
+00100000001000000110100111111111
+11011000111000000000000000001000
+00100000001000000110100111111111
+11011000111000000000000000001001
+00100000001000000110100111111111
+11011000111000000000000000001010
+00100000001000000110100111111111
+11011000111000000000000000001011
+00100000001000000110100111111111
+11011000111000000000000000001100
+00100000001000000110101000000001
+11011000111000000000000000001101
+00100000001000000110101000000001
+11011000111000000000000000001110
+00100000001000000110101000000001
+11011000111000000000000000001111
+00100000001000000110101000000001
+01101000000100010000000010000001
+11111001001101000111111000000000
+01100000000100010000000010000001
+00011010001000100000111000000000
+01101000000100001000000010000101
+11111001001101000111111000000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+00011000111000001010001111111100
+00100000001000000110100111110111
+00011000111000001010001111110110
+00100000001000000110100111110111
+00100000011101011000000000000000
+01110000010001010110011100000000
+01110000000001001110110100000011
+01110000000001001110111000000011
+01110000000001001111001000010001
+01110000000001001111001100010011
+01011000000000000000000000000000
+01100000000000011000010011101111
+01100000000000001100001001010100
+01110000010001101000000100000000
+01000111010100100100000000110100
+01011000000000000000000000000000
+01100000000000001100001001010100
+01100000000000001100010101100100
+01100000000000001100010101011101
+01101000000000001100010101101011
+11000000000000001110101000010110
+01110000010001010110100101010000
+00100000011000000000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+00011000010000011000010000000010
+00100000011000000000000000000000
+00011000010000100111111000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111000111111
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000010000000110101001010000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111001110011
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000001000000110101001010000
+01101000000000001100010101100011
+00100000001110100110101000110011
+01011000000000000000000001110000
+00100000011000000000000000000000
+01011000000000000000000010101010
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111011101111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00011000101000100000010000000000
+01100000000010010000010011110111
+00011000000000000111111011111111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100001
+01101000000000010100010101100001
+00011111111011010111111000000000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111000101111111011010111
+00011111111001000111111000000000
+00011111111011011111111000000000
+00100000011000000000000000000000
+01101000000000011100010101100000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111011010111111000000000
+11011010010000000000000000000111
+00100000010000000110101001011101
+00011111111000101111111000101011
+00011111111001000111111000000000
+00011111111011011111111000000000
+00011111111000100000010000000000
+00100000011000000000000000000000
+11011010011000000000000000000000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00011111111000100000010000000000
+00011000010000100111111000000000
+00011010011000111010011000000000
+11000011000001000110101001100110
+10011010001000101000010000000000
+00011010011000001010011000000001
+00011000010000111000010000000000
+01101000000000011000010011110100
+00011010010000001010010111111111
+00101010010000011111111011111111
+00100000001000001110101001110000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00101111111011111111111000000000
+01111001001000001000010000000000
+00100000001000000110101001100001
+00011000010000110111111000000000
+00100000011000000000000000000000
+01101000000010001100010101011101
+00011000010010111000010000000000
+01111001001000000000010000000000
+01101000000000001100010101100011
+00100100010110100110101000011000
+01100000000010001000010100001101
+00100000011000000000000000000000
+00011000010000111000010000000000
+01101000000000001100010101100011
+01111001001110100000010000000000
+00100000011000000000000000000000
+01101000000010001000010011111100
+01110000000001001111111011010111
+00100000010000000110101110110110
+01101000000000001100001001010001
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000000001100001001010001
+01110000010001010110001100000000
+00100000001000000110101110010111
+01101000000000001100001001010001
+01111001001000000111111000000111
+01100000000000001100001001010001
+00100000001000000110101110010111
+01000111010100101100000000110100
+01101000000000001100011010000001
+11000000000000000110101010001110
+00100000001000000110101101001100
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101010010100
+00100000001000000110101100011000
+01000111010100110100000000110100
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101010011011
+11000000001010011110101101000100
+00100000011000000000000000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101010100101
+11000000001000000110101010101101
+11000000001110001110101011100110
+11000000001110000110101011110010
+11000000001001001110101011111101
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101010100111
+01101000000000001100001001010100
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000010000000110101111100000
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101110010111
+00100000010000000110101011001011
+00100000001000000110101011010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+00011111111010010111111000000000
+01100000000000001100010101101010
+11101000110000001000000000000000
+01100000000000001000010100001000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001000010011111011
+00011111111010010111111000000000
+01100000000000001000010011111100
+11101000110000001000000000000000
+01100000000000001000010011111101
+00100000010000000110101011001110
+01100000000010010000010011111111
+00011000110000100111111000000000
+01100000000000010000010100000001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000110111111000000000
+01100000000000001000010100000011
+00100000010000000110101011001110
+01100000000010010000010100000100
+00011000110000100111111000000000
+01100000000000010000010100000110
+00100000011000000000000000000000
+01101000000000010000010100000110
+00011111111000100000110000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000010000000000
+00011000010000110000010000000000
+11000011100000000000000000000000
+11101000110000001000000000000000
+00011111111010011111111000000000
+00011111111100100111111000000000
+10011000010000001000010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001100010101011101
+11101000110000001000000000000000
+01100000000000001000010100001001
+11101000110000001000000000000000
+01100000000000001000010100001010
+11101000110000001000000000000000
+01100000000000001000010100001011
+11101000110000010000000000000000
+01100000000000010100010101011110
+11101000110000001000000000000000
+01100000000000001000010100001100
+11101000110000001000000000000000
+01100000000000001100010101101000
+00100000011000000000000000000000
+00100000010000000110101010110001
+00100000001000000110101011101000
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+01110000010001010110011100000011
+00100000001000000110101110010111
+01110000000010101001100100001000
+00100000010000000111110110000110
+00100000010000000110101010110001
+01101000000000001100010101101010
+00011111111001100111110000000001
+00100000001000101110101011111001
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+01100000000000001000101011000010
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010100111100000000110100
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110010001
+11100000101000010000000000000000
+01101000000000001000101011000010
+11100000101000001000000000000000
+01011000000000000000000000000111
+11100000101000101000000000000000
+01011000000000000000000000000001
+11100000101000010000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000001000000110101100011001
+01000111010101000100000000110101
+01101000000000001000010011111101
+11000000001110011110101100100001
+11000000000111111110101100100101
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101101000110
+00100000011000000000000000000000
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001100001001010100
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+01101000000000001000010011111011
+00011111111010110111111000000000
+01100000000000001100010101011101
+00011111111010111111111000000000
+01111001001111111111111000000001
+01111001001000000111111000000000
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000010000000110101000110101
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00011111111000001111111000000001
+01100000000000010000010100000001
+11101000110000001000000000000000
+01101000000010001100010101101000
+10011000010000001111111000000000
+01100000000000001100010101101000
+00100000010000000110110001000010
+00100000010000000110101001110010
+00100000010000000110110000101000
+00100000010000000110110001001011
+00100000001000000110101110010111
+01110000000010101001100100001001
+00100000010000000111110110000110
+00100000010000000110101000001101
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+00100000001000000110101110010111
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101101010010
+00100000001000000110101110000110
+01000111010101001100000000110101
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101101011000
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101101100001
+11000000001000000110101101100001
+11000000001110001110101101101100
+11000000001110000110101101111100
+00100000001000000110101110010111
+00100000010000000110101010101111
+01101000000000001100010101011101
+00011111111000110111111000000000
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101101000
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101110011
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110000010
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001000010011111100
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110001100
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001000010011111101
+11000000001110011110101110010001
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101110010110
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000001000000110101110010101
+00100000001000000110101101000110
+00100000011000000000000000000000
+01101000000000001100010101100111
+00100000011110100000000000000000
+11000000000000011110101110011100
+00100000001000000010101010001100
+01110000010001010110011100000000
+00100000010000000101001011010010
+11011000010000000000000000000001
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+11011010001000000000000010101010
+00100000010000000110101111111100
+00100000010000000101001011100000
+00011000101000100000110000000000
+11101000110000010000000000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101010100000000110101
+01011000000000000000000100111111
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101011100000000110101
+01011000000000000000000101110011
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101100100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000011110000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+01110000010001010110100100010000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101101100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000001
+11100000101000010000000000000000
+01101000000000001100010101011101
+11100000101000001000000000000000
+01011000000000000000000011100000
+11100000101000011000000000000000
+01101000000000010100010101101100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010101101110
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101110100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+00011000010000100001011000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101111100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100001
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110000100000000110110
+01101000000000001100010101101001
+00100000011110100000000000000000
+01101000000100010000000100010010
+00100100011110100000000000000000
+00011010001000100111111000000000
+01100000000000001000101010011011
+01100000000010001000101010011010
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000101
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01011000000000000000000111111111
+11100000101000010000000000000000
+01101000000000001100010101101001
+11100000101000001000000000000000
+01101000000000001100010101100110
+11100000101000001000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+01000111010110001100000000110110
+01101000000000001100010101101011
+11000001000000001000000000000000
+01101000000000010000010011111111
+00100000011110100000000000000000
+01101000000000001100010101101001
+00011111111000001111111000000001
+01100000000000001100010101101001
+00100000011000000000000000000000
+01101000000000010100010101101111
+00100000001000000111111110011100
+01000111010110010100000000110110
+01101000000000001100010101101000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100010101101000
+01101000000000010100010101011110
+01101000000010010100011010011111
+10011000010001100111110000000000
+00100000001000010110110001010111
+01100000000000010100011010011111
+01101000000000001100010101101001
+00100000001110100110110001011111
+01110000000001010001000000000001
+01101000000000001100010101100110
+01100000000000001000010100001111
+01011000000000000000000011111111
+01100000000000001000010100001110
+00100000001000000110110001100100
+01110000000001010001000000000000
+01101000000000001100010101100101
+01100000000000001000010100001111
+01011000000000000000000011101111
+01100000000000001000010100001110
+01000111010110011100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100000001000010110110001101011
+01101000000000001000010100010000
+00011111111000001111111000000001
+01100000000000001000010100010000
+00100000010000000110101001110010
+01101000000000010100011010011111
+00011111111000001111111000001000
+01101000000010001000010100010000
+10011000010000001010001000000000
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+00011111111000100000101000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01101000000000001000010100001110
+11100000101000001000000000000000
+00100000010000000110110010010101
+00100000010000000110110010100110
+01000111010110100100000000110110
+01101000000000010100010101110001
+00011111111000100000011000000000
+01101000000000010100011010011111
+00011111111000100111001000000000
+00100000010000000110011011101010
+00011000101000100000010000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00011000010000100000101000000000
+01101000000000001000010100001111
+11100000101000001000000000000000
+01101000000000010000001001110111
+00011111111000100000101000000000
+01101000000000010100011010011111
+01101000000010001000010100010000
+10011000010000001111111000000000
+00011111111000001111111000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01110000010001010110100100000000
+01101000000000010100010101110011
+11000000000000000011101010010111
+01110000000010110000010100000000
+00100000011000000000000000000000
+01000111010110101100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100100001000010110110010011101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100011010011111
+00011111111010010111111000000000
+00011111111100011000010000000000
+00011111111000010111111001111111
+00011111111000111111111000000000
+01111001001111111111111000000000
+11100000101000001000000000000000
+11100000101010001000000000000000
+00100000011000000000000000000000
+01101000000000001100010101101001
+00100000011110100000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110110100000000110110
+00100000010000000111110110011100
+00100000010000000011001011110110
+00100000010000000110001100011011
+01000111010110111100000000110110
+00100000010000000111011011011100
+00100000010000000111011010110101
+00100000010000000111011011000110
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000100110110101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+01000111010111000100000000110111
+00100000010000000110110011110101
+00100000010000000100111101100100
+00100000010000000110101110011000
+00100000010000000110110010111110
+01000111010111001100000000110111
+00100000001000000011001011110010
+01101000000000001000001001111111
+11000010100000000101000010000111
+11000010100000111101000010010001
+00100000011000000000000000000000
+01000111010111010100000000110111
+00100000010000000101001001110100
+00100000011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00100000010000000101001001011000
+01100000000000010000000101101111
+00011111111000100000110000000000
+11101000110000010000000000000000
+00011111111000001111111000000100
+01100000000000010100000111011100
+01110000010000011101101100000110
+01000111010111011100000000110111
+01101000000000010100001001000110
+00100000001110100110110011011101
+01101000000000001000000001001011
+11000100000000111000000000000000
+01111001001111111111111000000111
+01100000000000001000000001001011
+01110000010000011101101100000101
+01101000000010010100001001000110
+01101000000000010000000101101111
+10011000010000001111111000000000
+01100000000000010000000101101111
+01101000000000010100000111011100
+10011000010001100111111000000000
+01100000000000010100000111011100
+01000111010111100100000000110111
+01101000000000010100000111011100
+00100000001110100010101010001100
+11011000010000000000000100000100
+10011000010001100111111000000000
+00100100001000010110110011101001
+01000111010111101100000000110111
+01100000000010010100000111011100
+01101000000000010100001001000110
+10011000010000001111111000000000
+01100000000000010100001001000110
+00100000001000000110110011101011
+01011000000000000000000000000000
+01100000000000010100001001000110
+01101000000000001000000001001011
+01111001001000000111111000000110
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000000001100011010000100
+11000010100000000110110011110011
+01110000000000101000011100000001
+00100000011000000000000000000000
+01110000000000101000011100001111
+00100000011000000000000000000000
+01101000000000001100011010000001
+00100100001110100110110011111011
+01101000000000001000001010000110
+00100000011110100000000000000000
+01110000000000101000011000000000
+00100000011000000000000000000000
+01000111010111110100000000110111
+01101000000000001000001010000111
+00100000011110100000000000000000
+11000000000000001110110100011011
+11000000000000010110110101110100
+11000000000000011110110100100001
+11000000000000100110110101111000
+11000000000111011110110100101011
+11000000000111100110110101111011
+11000000000001101110110100110000
+11000000000001110110110110000000
+11000000000001111110110100110011
+11000000000010000110110110000110
+11000000000010001110110100111001
+11000000000010010110110110001010
+11000000000010011110110100111111
+11000000000010100110110110001110
+11000000000010101110110101000101
+11000000000010110110110110010010
+11000000000010111110110101001011
+11000000000011000110110110010111
+11000000000011001110110101010001
+11000000000011010110110110011011
+11000000000011011110110101010111
+11000000000011100110110110011111
+11000000000011101110110101011101
+11000000000011110110110110100100
+11000000000011111110110101100011
+11000000000100000110110110101000
+11000000000100001110110101101110
+11000000000100010110110110101100
+00100000011000000000000000000000
+00100000010000000110110110110111
+01110000000000101000011100000010
+01101000000000001100001001010000
+01111001001000000111111000000000
+01100000000000001100001001010000
+00100000011000000000000000000000
+01110000000000101000011100000100
+01101000000000001100001001010000
+11000011100000010000000000000000
+01110000000000101000011100000011
+00100000010000000110110110111110
+01110000000000101000011100000100
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000110110111001101
+01110000000000101000011100111100
+00100000011000000000000000000000
+00100000010000000110110111000011
+01110000000000101000011100001110
+00100000011000000000000000000000
+00100000010000000110110111011101
+01110000000000101000011100010000
+01101000000000001100001001010010
+01111001001000000111111000000000
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111100100
+01110000000000101000011100010010
+01101000000000001100001001010010
+01111001001000000111111000000010
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111101001
+01110000000000101000011100010100
+01101000000000001100001001010011
+01111001001000000111111000000000
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111110000
+01110000000000101000011100010110
+01101000000000001100001001010011
+01111001001000000111111000000010
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111010001
+01110000000000101000011100011000
+01101000000000001100001001010001
+01111001001000000111111000000000
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111011000
+01110000000000101000011100011010
+01101000000000001100001001010001
+01111001001000000111111000000010
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111110101
+01110000000000101000011100011100
+01101000000000001100001001010001
+01111001001000000111111000000110
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111111100
+01101000000000001100001001010100
+01111001001000000111111000000000
+01100000000000001100001001010100
+01110000000000101000011100011110
+00100000011000000000000000000000
+00100000010000000110111000000010
+01101000000000001100001001010100
+01111001001000000111111000000010
+01100000000000001100001001010100
+01110000000000101000011100100000
+01101000000000001100010101100100
+00011111111010011111111000000000
+00011111111000011111111000000011
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000001000000110101000110101
+00100000010000000110111000001100
+01101000000000001100001001010100
+01111001001000000111111000000100
+01100000000000001100001001010100
+01110000000000101000011100100010
+00100000011000000000000000000000
+01101000000000001100001001010000
+11000100000000001000000000000000
+01110000000000101000011100000011
+00100000001000000110110011111011
+01101000000000001100001001010000
+11000001100111111000000000000000
+01110000000000101000011100111011
+01101000000000001000001010000101
+11000001100010111000000000000000
+01110000000000101000010100000000
+01110000000000101000011100001101
+00100000001000000110110011111011
+01101000000000001100001001010000
+00100100011110100000000000000000
+01101000000000001100011010000100
+11000010100000000110110110101111
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010010
+11000100000000001000000000000000
+01110000000000101000011100010001
+00100000001000000110110011111011
+01101000000000001100001001010010
+11000001100111111000000000000000
+01110000000000101000011100010011
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000100000000001000000000000000
+01110000000000101000011100010101
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000001100111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010001
+11000100000000001000000000000000
+01110000000000101000011100011001
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001100111111000000000000000
+01110000000000101000011100011011
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001111111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110011
+00100000001000000110110110110101
+01101000000000001100001001010100
+11000100000000001000000000000000
+01110000000000101000011100011111
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000100000000011000000000000000
+01110000000000101000011100100001
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000001111111111000000000000000
+00100000001000000110110110110101
+01110000000000101000011100001111
+00100000001000000110110011111011
+01110000000000101000011100010111
+00100000001000000110110011111011
+01110000000000101000011100011101
+00100000001000000110110011111011
+01110000000000101000011100000000
+00100000011000000000000000000000
+01000111010111111100000000110111
+00100000010000000101001010111000
+01011000000000000000000000000001
+00011111111000100000010000000000
+01011000000000000000000001010000
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000000100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000001100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+11011001011000000000000001010000
+00100000010000000101000011001100
+01101000000000001100001001010000
+01111001001111111111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01000111011000010100000000111000
+00100000010000000101001011000101
+00100000010000000111000100111000
+00100000001000000101000011100111
+01000111011000011100000000111000
+00100000010000000101001010111000
+01011000000000000000000000000011
+00011111111000100000010000000000
+01011000000000000000000001010001
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000100100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001010
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000101100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010001
+00011111111000100000010000000000
+01011000000000000000000001010010
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000110100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000111100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010011
+00011111111000100000010000000000
+01011000000000000000000001010011
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011001000100000000111001
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011001001100000000111001
+00100000010000000101001011010010
+01110000000001001111101100000011
+01110000000001001111111000011100
+00100000010000000110101110101001
+01110000010001010110001100000001
+00100000011000000000000000000000
+01000111011001010100000000111001
+00100000010000000101001011010010
+01101000000010001100010101100100
+00100000010000000110101001111001
+01100000000010001100010101011101
+00100000001000000110101111000100
+01000111011001011100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000010000000110101000011010
+01100000000000001000010011111110
+01101000000010001100010101011101
+00100000010000000110101001110011
+01100000000010001000010011111011
+00100000001000000110101110101001
+01000111011001100100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000001000000110101111111100
+01000111011001101100000000111001
+01101000000000010000001001100100
+10011000000000000000110000000000
+11101000110000001000000000000000
+00011111111000100010010000000000
+01100000000000001000010100011011
+11101000110000010000000000000000
+01100000000000010000010100011100
+11101000110000001000000000000000
+00011111111011010001011000000000
+11101000110000001000000000000000
+10011001011000001001011000000000
+01000111011001110100000000111001
+00011000110000100000010000000000
+11011111001000000000000000000100
+11011000101000000000010100101010
+00100000010000000111111011000110
+00011000010000100000110000000000
+00011010010000100111111000000000
+11000000000000001110111110111010
+11000000000000010110111000101100
+11000000000000011110111110111010
+11000000000000100110111001010100
+11000000000000101110111110111010
+11000000000000110110111100000010
+11000000000000111110111110111010
+00100000001000000110111111000001
+01000111011001111100000000111001
+00100000010000000110111111010000
+00101000010000011111111000000001
+00100000001000001111000001000000
+00101000010000011111111011111111
+00100000001000001110111111000100
+11101000110000010000000000000000
+01100000000000010000010100100010
+00011001011000001001011111111110
+00011001011000001001011111111111
+00100100001000101110111110111110
+11011001011000000000010100010001
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010000010
+00100000010000000101001011010000
+00011000000000000111111000000011
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00011000111010111111111000000000
+00011111111000001111111000000101
+00011111111000001010011000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011000111000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+11100000101000010000000000000000
+11011000110000000000010100101010
+00011000111000100111001000000000
+00100000001000101110111001001111
+11101000110000100000000000000000
+11100000101000100000000000000000
+11000010000000000110111001001100
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011010011000100111111000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01000111011010000100000000111010
+11101000110000100000000000000000
+01100000000000100000010100100100
+00011001011000001001011111111100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+00100000001000101110111111000100
+00101010001000011111111000000101
+00100000001000001110111001100010
+11011000101000000000010100101010
+00011000000000000000111000000000
+00100000001000000110111001110001
+11101000110000001000000000000000
+11000000100001010110111111000100
+11101000110000010000000000000000
+00100100001110100110111001101111
+11101000110000001000000000000000
+11000000111111111110111001101101
+11101000110000001000000000000000
+11000000111111111110111001101011
+00100000001000000110111010111000
+00011000110000001000110111111011
+00100000001000000110111001011111
+00011000110000001000110111111100
+00100000001000000110111001011111
+00011000110000001000110111111101
+00100000001000000110111001011111
+11101000110000001000000000000000
+11000000000001001110111010000110
+11000000000001010110111001110100
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011111111100001010010000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011010010000001010010000000001
+10011010010001100111110000000000
+00100100001000010110111010000011
+00011111111000100010011000000000
+00011010010100001111111000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011010011000100111111000000000
+00100000001000000110111001111010
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100000001000000110111010001011
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111001110001
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001010
+11011010001000000000010100101010
+00011000111000100111111000000000
+00100000001110100110111010100101
+11101010001000010000000000000000
+00100000001110100110111010100101
+10011000000000000010010000000000
+01101000000000100000010100100100
+10011000000000000000010000000000
+00100000010000000111000011100111
+00011000110000100111111000000000
+00100000001110100110111010100010
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00011000111000001000111111111111
+00100000001000000110111010010010
+11011010001000000000000000000101
+00100000010000000110111110000100
+01101000000000010000001001110101
+11000000000001011111000001000011
+00100000001000000110111110011010
+11101000110000001000000000000000
+11000000000000000110111010101110
+11000000000000001110111010110000
+11000000000000010110111010110011
+00011001011000001001011111111111
+00100000001000000110111010110110
+11101000110000001000000000000000
+00011001011000001001011111111110
+00100000001000000110111010110110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011001011000001001011111111101
+01100000000000010000010100011001
+00100000011000000000000000000000
+00011001011000001001011111111011
+00100000010000000110111010101010
+00100100001000101110111110111110
+01101000000010100000010100100100
+00100000010000000111000010110001
+00100100001000101110111110111011
+00011000110000100010001000000000
+00100000010000000101001011010000
+00011010001000100000110000000000
+00011000101000001000101000000011
+00011000110000100001011000000000
+00100000010000000111000001100010
+00011111111000100010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010010001100010010000000000
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100100001000010110111011100111
+01111000010101000111110000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010010000001010010000000011
+00011010010000100111001000000000
+00011111001000100111111000000000
+00011111111000001111111000000011
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111011110101
+00011010001000001111001000000110
+00100000001101000110111011011110
+00011111001100001111111000000000
+00100000001000000110111011100001
+00011111001000100111111000000000
+00011111111000001111111000000010
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000001111001111111101
+00011111001100001111111000000000
+11100000101000010000000000000000
+00011001011000100000110000000000
+00100000001000000110111011110101
+01111000001101000111110000000000
+01101000000000010000010100100000
+00011111111000100010001000000000
+00011010001000100111001000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010001000100111111000000000
+00011111111000001111111000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000010000000111111100000001
+00100100001101000110111011111110
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011000110000100111111000000000
+10011001011001100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111100000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+11011010001000000000000000000101
+00100000001000000110111110110000
+01000111011010001100000000111010
+00100000010000000110111111010000
+00101000010000011111111011111111
+00100000001000001110111111000100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+11011000101000000000010100101010
+00011000000000000000111000000000
+11101000110000001000000000000000
+11000000000001010110111100110110
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111100001100
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001101
+01101000000000010000010100010001
+10011000000000000010011000000000
+11011010001000000000010100101010
+11101010001000010000000000000000
+00100000001110100110111100101001
+10011000000000000010010000000000
+00100000010000000111000011000110
+00100000001110100110111100100111
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00100000001000000110111100011100
+00100000010000000110111110000011
+01101000000000010000001001110101
+11000000000001110111000001000110
+00100000010000000110111110011010
+00100000001000000110111110011010
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111111111111101
+11011000010000000000000011001000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01011000000000000000000011001000
+00100000011000000000000000000000
+00011000110000001000110000000100
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100100001000101110111111000100
+00100000010000000110111010101010
+00100100001000101110111110111110
+11011001011000000000010100010001
+00100000010000000111000010000010
+00011000111000100111111000000000
+00100000001110100111000001000110
+01100000000000001000010101001110
+00011010010000100111111000000000
+01100000000000010000010101001100
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000010000000101001011010000
+00011000101000001000101000001010
+00100000010000000110111101101100
+00100100001101000010101010001100
+00011000110000100001011000000000
+00011111111000100010011000000000
+10011010001000001010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00100000001110100110111101110101
+00011010001000100111111000000000
+10011010010001100010010000000000
+00100000001000101110111101100111
+00100100001000010110111101100111
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100000001000101110111101011110
+00100100001000010110111101011110
+00011010010000100111001000000000
+00100000010000000110111101100001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000001000101110111110000011
+00100000001000000110111110100000
+00011111111000100111001000000000
+00100000010000000110111101100001
+00100000001000000110111110100000
+00011000101000001000101111111101
+00011111001000100000010000000000
+00011010011000100111111000000000
+10011010010001100111111000000000
+10011001011000001000110000000000
+00100000001000000111111100000001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000011000101000000000000000
+00100000001000000110111101000111
+00100000010000000111111111101001
+11011000110000000000010100101010
+00011000111010111111111000000000
+10011000110000001000110000000000
+11101000110010100000000000000000
+00100000010000000111000010110001
+00100100011000101000000000000000
+00100000010000000111000001011011
+00100000001000000111111111100111
+01101000000000010000010100100000
+10011010001001100111110000000000
+00100100001000010110111110001111
+00011010001000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+01101000000000010000010101001100
+10011010001001100111110000000000
+00100000001000101110111110000001
+00100000010000000110111110100000
+00100000001000000110111110010100
+00100000010000000110111110000011
+00100000001000000110111110010100
+11011010001000000000000000000111
+00011000000000000111111000000000
+11100000101000001000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+00100000010000000110111110100000
+01011000000000000000000000110110
+11100000101000001000000000000000
+01101000000000010000010101001100
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01011000000000000000000000110110
+11100000101000001000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000111
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010000010100011001
+10011000010000001000010000000000
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110011
+10011000101001100111111000000000
+00011111111001100111111000000000
+01100000000000010000001001110101
+00100000010000000101001011010000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01011000000000000000001000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000010000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000011000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000001100000000
+01100000000000010000010101001010
+00100000010000000101001011010000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000001000000000
+11100000101000010000000000000000
+01101000000000010000010101001010
+11100000101000010000000000000000
+01110000000000100111010100000111
+00100000011000000000000000000000
+11011010010000000000000000000000
+00011000000000000000010000000000
+11011000101000000000010100010001
+00100000010000000111000000101000
+00100000001000101111000000100110
+00011010010000001010010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+00101111111000011111000000011000
+00100100001000001111000000100110
+00101111111000000000111000000100
+00100100001000001110111111110011
+00011000000000000000010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000100000000110111111100111
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000000000000110111111111000
+00100000001000000110111111101010
+00011000110000001000110000000001
+00011010001000001010001111111111
+00011001011000001001011111111111
+00011000110000001000110000000010
+00011010001000001010001111111110
+00011001011000001001011111111110
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000001000110000001100
+00011010001000001010001111110100
+00011001011000001001011111110100
+00100000001000000111000000100000
+00101111111000000000111000000010
+00100100001000001110111111110110
+00100000001000000110111111011110
+00101111111000000000111000000001
+00100100001000001111000000100110
+00011010001000001010001111111110
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011010010001100111110000000100
+00100000001000101110111111111110
+11100000101000010000000000000000
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000100000010000000000
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100010000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000101011111111000000011001
+11101000110000001000000000000000
+11000000110011011111000000011001
+11101000110000001000000000000000
+11000000100110100111000000011001
+11101000110000001000000000000000
+11000000011111011111000000011110
+00011000010000100000110000000000
+00011000110000001000110000001100
+00011000000000000000111000000000
+00011000000000000000010000000000
+00100000001000000111000000011110
+00011001011000001001011111110100
+00011010001000001010001111110100
+00011000000000000000010000000000
+00101010001000011111111000000000
+00100100001000001110111111010101
+00011000000000000111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000011111111
+00100000011000000000000000000000
+01000111011010100100000000111010
+11101000110000001000000000000000
+00011001011000001001011111111111
+00101111111000011111000000110000
+00100100001000001111000000111110
+00101111111000000000111000000111
+00100000001000001111000000110111
+00101111111000000000111000000110
+00100000001000001111000000111001
+00101111111000000000111000000101
+00100100001000001111000000111110
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011001011000001001011111111111
+00100000001000000111000000111100
+00011000110000001000110000000010
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011111111100001010001000000000
+00011001011000001001011111111110
+00011000000000000111111000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01011000000000000000000000000011
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000101
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000111
+01100000000000001000010100011011
+00100000010000000101001011010000
+01101000000000001000010100011011
+00011111111000100010010000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000010100000000
+11100000101000010000000000000000
+00101010010000011111111000000101
+00100000001000001111000001010111
+00101010010000011111111000000111
+00100000001000001111000001010111
+01011000000000000000000000000000
+11100000101000101000000000000000
+00100000001000000111000001011001
+01011000001101010000001000000000
+11100000101000101000000000000000
+01110000000000100111010100001010
+00100000011000000000000000000000
+00100000010000000111111010100010
+00100000010000000111111010100101
+00100000010000000111000001100010
+00100000010000000111111010011100
+00100000010000000111111010011111
+00011000010000100111111000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+11000000100000000111000001101100
+00011000000000000111111000000001
+00011000000000000000010000000001
+00100000011000000000000000000000
+00100000010000000111111001110110
+00011111111000001000010000000001
+00100000011000000000000000000000
+00011111001000100111111000000000
+00011111111001100111110000000100
+00100000001000010111000001101001
+11000000000000101111000001110011
+11000000000000110111000001110110
+11000000000000111111000001111010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001000010000000011
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+11101000110010010000000000000000
+00011000010100001000010000000000
+00011000010100000000010000000000
+10011000010000001111111000000000
+00011111111000001000010000000101
+00100000011000000000000000000000
+01000111011010101100000000111010
+00011000000000000000111000000000
+11011010010000000000000000000000
+11011000101000000000010100101010
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010001101
+00011000111000100111111000000000
+11000001000000111000000000000000
+00011001011000001001011000000010
+00100000001000000111000010000110
+10011000000000000010011000000000
+01101000000000010100010101110101
+10011000000000000000110000000000
+00011000111000100111111000000000
+11000001000000111000000000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100100001000101111000010011010
+01111000001101000111110000000000
+11000010000000000111000010010110
+11101000110010100000000000000000
+00011000110000100010001000000000
+00100100001101000111000010101101
+11011000110000000000010100101010
+11011111001000000000000000000111
+11101000110000100000000000000000
+00100000001110100111000010100110
+10011000010001100111110000000000
+00100000001000101111000010101101
+11000010000000000111000010100000
+00100000011000000000000000000000
+11100000101010100000000000000000
+00011000111000001000111000000001
+00011010001000100000110000000000
+00100000010000000111000001011011
+10011010010000001010010000000000
+10011000110000001000110000000000
+00100000001000000111000010010000
+00011010001000100000110000000000
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000010010000
+01000111011010110100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111111111100011
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011000110000100111111000000000
+01101000000010010000101010111011
+00011000010000100000101000000000
+01101000000011000000101010100010
+00011111111000100000110000000000
+00100000001000000111000010110100
+01000111011010111100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000011100100
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100000001000101111000011010100
+11000010000000000111000011001100
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011001001
+00011111001000001111001111111111
+00011111001000111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111101111
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000011100100
+00100000001000000111000011011010
+00011000000000000000110000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01000111011011000100000000111011
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000100000000
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000001000101111000011110100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011101010
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000011000101000000000000000
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000100000000
+00100000001000000111000011110110
+00011000000000000000110000000000
+00100000011000000000000000000000
+11011010010000000000010000000000
+00100000010000000111000011110100
+11011010010000000000001100000000
+00100000010000000111000100001101
+00100100011101000000000000000000
+00011010001001100111110000000011
+00100000001000010111111111101001
+11101000110000001000000000000000
+11000000100001000111111111101001
+11101000110000001000000000000000
+00100000011000000000000000000000
+01000111011011001100000000111011
+00100000010000000111000001100010
+00011111111000100010001000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+00011111111001100111110000000011
+00100000001000101111000100101001
+00011111001000100111111000000000
+11000000000000101111000100100000
+11000000000000110111000100100011
+11000000000000111111000100100110
+00011000110000001000110111111111
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011010001000100111111000000000
+10011000010001100010001000000000
+00100000001000101111111111101001
+00100000001000000111000100010000
+00011010001000001010001111111110
+00011000110000001000110000000001
+00100000001000000111000100010000
+00011010001000001010001111111101
+00011000110000001000110000000010
+00100000001000000111000100010000
+00011010001000001010001111111011
+00011000110000001000110000000100
+00100000001000000111000100010000
+00011010001000001010001111111111
+00011111001000100111111000000000
+11000000000000001111000100110010
+11000000000000010111000100110000
+11000000000000100111000100101111
+00100000001000000111111111101001
+00011010001000001010001111110100
+11101000110000010000000000000000
+00011010001000001010001111111110
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111100111
+00011010001000001010001111111110
+00100000001000101111111111101001
+00100000001000000111000100010000
+00100000010000000101001011010000
+00011111111000100000101000000000
+01011000000000000000000000000110
+11100000101000001000000000000000
+01011000000000000000000001101110
+11100000101000010000000000000000
+01011000000000000000111100000000
+11100000101000010000000000000000
+01011000000110100000010100110101
+11100000101000011000000000000000
+01011000000000000000000100010001
+00011111111100000111111000000000
+11100000101000100000000000000000
+01011000000000000010011000000000
+11100000101000010000000000000000
+01011000000000000000001100110101
+11100000101000010000000000000000
+01011000000000000000000000001001
+11100000101000010000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01110000000000100111010100010100
+00100000011000000000000000000000
+01000111011011010100000000111011
+01110000000001011110010101010000
+11011000101000000000010111100110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000010000000111001000000001
+01011000000011110100001001000000
+00011111111000100010001000000000
+01101000000000100000101011110010
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110101
+00100000010000000111000110110000
+01101000000000011100010001010100
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000000010000101111
+00100000010000000111111010111111
+11011000110000000100010000111010
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000001000000111000111010000
+01101000000000100100010011000111
+11100000101000100000000000000000
+00100000010000000111111011001101
+00100000001000000111111011001010
+01000111011011011100000000111011
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+01101000000000011100010001001101
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000001000000111001000000001
+01110000000001011110010100100000
+11011000110000000000100111111110
+11011000101000000000010111100110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000100110011110
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011000010
+00100000010000000111010010010111
+11011000010000000000000000000001
+00100000010000000111000110011111
+11011000101000000100010000011001
+00100000010000000111001000000001
+11011000010000000000000000000000
+00100000010000000111000110011111
+11011000101000000000101100010010
+00100000001000000111010010010111
+01000111011011100100000000111011
+01110000000001011110010100110101
+01011000000000000000000100000000
+01100000000000010000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+01011000000000000110110001100101
+11100000101000010000000000000000
+01011000000000000110001001110100
+11100000101000010000000000000000
+11100000101010001000000000000000
+00100000010000000111001000001010
+00100000001000000111000111010000
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000001100010010001110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000001000000111000111010000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000000100110111110
+00100000010000000111111010111101
+11011000110000000100010111010010
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000100010000111010
+00100000010000000111001000000101
+00100000001000000111000111010000
+01000111011011101100000000111011
+00100000010000000111001000011111
+01101000000000001000010111100101
+00011111111000100000010000000000
+00011111111000001111111000001111
+00011111111100011111111000000000
+00011111111000100010010000000000
+00100000001110100111000111100010
+00011000010000010111111000001111
+00100100001110100111000111100101
+11011010011000000000101011010010
+11011111111000000000010111100110
+00011111111000001111111111110000
+10011000010000001010001000000000
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000001000000111000111110000
+11011010010000000000000000000001
+11011010001000000000000000000000
+00100000001000000111000111100110
+00011000010000010010001000001111
+11011111111000000000010111100110
+10011000010000001111111000000000
+10011010001001100000110000000000
+11011000101000000000101011110010
+00100000010000000111001001000101
+11011010011000000000101011100010
+11011010001000000000101011110010
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000010000000111010010010001
+00100000010000000111010000101000
+11011000110000000000010111100110
+00011010010000001010010111111111
+00011010010000100111111000000000
+00100000001110100111000111111001
+00100000010000000111010010000110
+00100000010000000111010000100010
+00100000001000000111000111110011
+11011000101000000000101011110010
+00100000010000000111010010010111
+11011000110000000000101100000010
+00100000010000000111010010000110
+00100000010000000111010000101000
+11011000110000000000101011110010
+00100000010000000111010010000110
+00100000001000000111010000100010
+00011000101000100010001000000000
+00100000010000000111010010010111
+11011111001000000000000000010000
+00100000001000000111111011100101
+11011000101000000000101011000010
+00100000010000000111111010111111
+11011111001000000000000000010000
+11011010001000000000101011000010
+00100000001000000111111011100101
+01101000000000001000010111100101
+00011111111000100111001000000000
+11011010001000000000010111100110
+00100000001000000111111011100101
+11101010001000001000000000000000
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+00101111111011111111111000001000
+01111001001000001010011000000000
+11100010001000001000000000000000
+00011010001000001010001111111111
+11000010000000000111001000001110
+00100000011000000000000000000000
+11011010001000000000101011010010
+00011010001000001010001000001111
+00011000000000000111001000010000
+00011000000000000010011000000000
+00100000001000000111001000001110
+11011010001000000000101011100010
+00100000001000000111001000011001
+11011000110000000000101011000010
+00100000010000000111010010000100
+00011000000000000111000000001000
+00100000010000000111010010010010
+00100000010000000111010010010001
+00100000010000000111010000011111
+11011000101000000000101011010010
+00100000010000000111010010010111
+01000111011011110100000000111011
+01101000000000001000101011010010
+00101111111011111111111000000111
+00100100001000001111001000110000
+00100000010000000111001000011000
+11011010011000000000101011010010
+11011000101000000000101011010010
+00100000010000000111001000111010
+00100000001000000111001000110001
+00100000010000000111001000011000
+11011000110000000000101011010010
+11011000101000000000101011100010
+00100000010000000111111010111111
+01101000000000001000101011100010
+00101111111011111111111000000111
+00100100001000001111001000011101
+00100000010000000111001000011101
+11011010011000000000101011100010
+11011000101000000000101011100010
+11011111001000000000000000000011
+11011000010000000000000000000000
+00100000010000000111001001000001
+00011010011000001010011000000100
+11000010000000000111001000111011
+11011000010000001000011100000000
+00011000010100000000010000000000
+11101010011000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+01000111011011111100000000111011
+11011111001000000000000000010000
+11011111111000000000000000000000
+10011010001001100111110000000000
+00100000001000101111001001010000
+00100000001000010111001001010011
+11101000110010001000000000000000
+11100000101010001000000000000000
+00011111111000001111111000000001
+11000010000000000111001001001000
+00100000011000000000000000000000
+11011000010000000000000010000000
+11100000101010001000000000000000
+00100000001000000111001001001101
+11011000010000000000000000000000
+00100000001000000111001001010001
+00100000010000000111001001101000
+11011000110000000000010110010010
+11011000101000000000010110000010
+00100000001000000111111010111111
+01111000010101000111110000000000
+00100000010000000111001101011111
+11011000110000000000010101100010
+11011000101000000000010110100010
+00011000000000000111001000001111
+00100000010000000111111100000001
+11101000110000001000000000000000
+00011111111000101111111000000110
+11100000101000001000000000000000
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01101000000010001100011010001001
+00011000000000000010010000010000
+00011000010000001010011000000110
+00011010011001100111110000010000
+00100000001000010111001001101110
+00011000000000000010011000010000
+11011000101000000000010110100010
+11011000110000000100011010001010
+00011000010000100111001000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010111111111
+00100000001000101111001001111100
+11000010000000000111001001110010
+00100000001101000111001001101111
+01111000001101000111110000000000
+00011000000000000111001000000110
+00011010001000100000110000000000
+00100000001000000111001001110010
+11011000110000000000010101100010
+11011000101000000000010110110010
+00100000010000000111111010111111
+01101000000000001000010111000001
+10011010011000101111111000000000
+01100000000000001000010111000001
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01111000010101000111110000000000
+00100000010000000111001101011111
+00100000001000000111001010010010
+11011010001000000000000001010110
+01111000001101000111110000000000
+00100000010000000111001101011111
+00100000010000000111001010010010
+11011000110000000000010110010010
+11011000101000000000000001100010
+00100000001000000111111010111111
+01011000000000000000010101100010
+01100000000000010000010111010110
+01011000000000000100000110111110
+01100000000000010000010111010100
+01111001001111111000000000010010
+00100000010000000111001010101000
+11011010001000000000010110010010
+11011010010000000000010101100010
+11011000101000000000010110100010
+00100000010000000111001101010010
+11011010001000000000010110100010
+11011010010000000000010110110010
+00011010010000100000101000000000
+01111000001101000111110000000000
+00100000010000000111001101010000
+00100000010000000111001101101010
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01110000000001011101100000000000
+01101000000000010000010111010100
+10011000000000000000110000000000
+11011000101000000000010111000010
+00100000010000000111111010111111
+01101000000000010000010111010110
+10011000000000000000110000000000
+11011000101000000000010110010010
+00100000010000000111111010111111
+00100000010000000111001011001111
+01111000010101000111110000000000
+11000101100010010111001010111001
+01101000000000001000010111011000
+11000000100000100111001010111001
+01101000000000010000010111010110
+10011000000000000010010000000000
+00100000010000000111001100000001
+00100000010000000111001100000000
+00100000010000000111001100010011
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+00100000010000000111001011001111
+01111000001101000111110000000000
+00100000010000000111001100000000
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+11000000100010000111001010110001
+00100000010000000111001011001111
+01111000010101000111110000000000
+00100000001000000111001100000000
+01101000000000001000010111011000
+11011000110000000000010111000010
+00100000001110100111001011110110
+10011000000000000010010000000000
+00011000000000000111001000010001
+00011000110000100000101000000000
+11101000110000001000000000000000
+00011111111010011000010000000000
+00011111111010110111111000000000
+00011111111010010111111000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+11000010000000000111001011010101
+01011000000000000000010111000010
+10011010010000001000110000000000
+00011000000000000111001000010000
+11011000101000000000010101110010
+11101000110000001000000000000000
+11100000101000001000000000000000
+00101000110000011111111111010011
+00100100001000001111001011100101
+00011000110000001000110111101111
+11000010000000000111001011100000
+00011000000000000010001000000000
+00011010010000001010011111111111
+00011010011010111010011000000000
+00011010011010111010011000000000
+00100000010000000111010010111001
+01011000000000001000010000000000
+10011010011000001010011000000000
+11011000101000000000010101110010
+00011000000000000111001000010000
+11101010011010001000000000000000
+11101000101000001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010011000000001
+11000010000000000111001011101111
+00100000001000000111010010111101
+00011000000000000111001000010000
+00011000000000000000010000000000
+11101000110000001000000000000000
+10011000010000101000010000000000
+11000010000000000111001011111000
+00011000010000100111111000000000
+11100000110000001000000000000000
+11011000110000000000010111000010
+11011000101000000000010101110010
+00100000001000000111111010111111
+11011010010000000000010101110010
+00011000000000000111001000010000
+11011010001000000000010110010010
+00011010001000100000101000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+10011000010000101110000000000000
+00011111001000010010011000000011
+00100100001101000111001100001010
+00011010011000101010011000000011
+00011010011001100010011000000001
+00100000001000010111001100001101
+10011000010000001110000000000000
+00011110000000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001100000100
+00100000011000000000000000000000
+00100000010000000111010010111001
+00011000000000000111001000010000
+11011010001000000000010110010010
+11101010001000001000000000000000
+11011000110000001000010100000000
+00011111001000010010011000000011
+00011010011001100111110000000001
+00100000001000010111001100011100
+11011000110000001000011000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+11100010001000001000000000000000
+00011010001000001010001000000001
+11000010000000000111001100010110
+00100000001000000111010010111101
+00011000000000000111001000001000
+11011000110000000000010110010010
+00011000110000100000101000000000
+11101000110000001000000000000000
+10011000000000000010001000000000
+11101000110000001000000000000000
+10011000000000000010010000000000
+00011010001000111111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+11000010000000000111001100100101
+00100000011000000000000000000000
+01011000100010101110010000101100
+10011000000000000000010000000000
+00011000000000000111001000000111
+00100000010000000111001101000000
+01011000000011010111010100011011
+10011000000000000000010000000000
+00011000000000000111001000000101
+00100000010000000111001101000000
+01101000000000001000010110100001
+10011000000000000010001000000000
+01101000000000001000010110010101
+01100000000000001000010110100001
+00011010001000100111111000000000
+01100000000000001000010110010101
+00100000011000000000000000000000
+00011000010000010010010000001111
+00011000010000010111111000001111
+11011000101000000000010110010010
+10011000101000001000101000000000
+11101000101000001000000000000000
+10011000000000000010011000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011010011000100010001000000000
+00011000010100011000010000000000
+11000010000000000111001101000001
+01011000000000000000010110010010
+10011010010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000111001101010011
+01111000010101000111110000000000
+00011000000000000111001000010000
+11101010001010001000000000000000
+11101010010000001000000000000000
+00100000001101000111001101011001
+10011000010000101111111000000000
+00100000001000000111001101011010
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001101010100
+00100000011000000000000000000000
+11011000101000000000010110110010
+11101010001000110000000000000000
+11100000101000110000000000000000
+00100000001101000111001101100101
+11101010001000110000000000000000
+00100000001000000111001101100110
+11101000110000110000000000000000
+11100000101000110000000000000000
+11101010001000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011000110000000100000110111110
+11011000101000000000010110100010
+11011000010000000000000000000000
+01011000100000111001010110100111
+00100000010000000111001110001011
+01011000101100111100000111011111
+00100000010000000111001110001011
+01011000000000001110010111101001
+00100000010000000111001110001100
+00011000010000100010100000000000
+01111000010101000111110000000000
+00100000010000000111001101111001
+00011010100000100000010000000000
+01111000001101000111110000000000
+00100000001000000111001101111001
+00011000000000000111001000001000
+11101000110000001000000000000000
+00101111001000000000001000000001
+00100000001101000111001110000000
+00100000001000001111001110000001
+10011000010000001111111000000000
+00100000001000000111001110000010
+00100000001000001111001101111110
+10011000010000101111111000000000
+11100000101000001000000000000000
+00011000010011001000010000000000
+11000010000000000111001101111010
+00100000011000000000000000000000
+01101000000000110000010110010110
+01100000000000110000000001010110
+11101000110000110000000000000000
+11100000101000110000000000000000
+00100000011000000000000000000000
+00011000010011010000010000000000
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000001000000111001110001111
+01000111011100000100000000111100
+00100000010000000111010000101011
+11011000101000000100010000011001
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000001101001111001110010111
+11011000101000000000010000101111
+00011000110000100010001000000000
+00100000010000000111111010111111
+00100000010000000111010001000000
+11011000110000000100010000101010
+00100000001000000111010010110000
+11011010001000000000010000101111
+00100000001101001111001110011111
+11011010001000000100010000111010
+00011010001000100000101000000000
+00100000010000000110001100001100
+00100000001000000111010001000000
+11011000110000000100010010101010
+00100000010000000111010010000110
+11011000110000000100010000011001
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000010001111100
+00100000001000000111010010010111
+00011000000000000111111001001001
+00100000001000000111001110101110
+00011000000000000111111000000001
+00011000000000000111000000000000
+00011000010011010101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011000010011001101111000000000
+00011101111100010101111000000000
+01101000000000010100010000010001
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000010000000000000000
+00011010001100001101111000000000
+00011101111100000101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00100000011000000000000000000000
+00011010011000001000110000000001
+11101000110000001000000000000000
+10011000000000000010001000000000
+00100000010000000111001110101011
+00100000010000000111010000011111
+00011000000000000111000000000000
+11101010011000001000000000000000
+00011111111000010111111000000011
+00011111111100000101111000000000
+01111001001000000101111000001000
+00100000010000000111010010001111
+00100000010000000111010000100010
+00011010001000100111001000000000
+00011010011000001000110000000010
+00100000010000000111010001101110
+00100000010000000111010001111000
+00100000010000000111010000100010
+00011111001000100111111000000000
+00100000001110100111001111010101
+00100000001000000111001111010000
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000010111
+00100000011000000000000000000000
+00011010001000001010001000000001
+00100000010000000111001110101101
+00011010011000100000110000000000
+00100000010000000111010010000010
+00100000010000000111010000100101
+00100000010000000111010010011110
+00011010011000001010011000010000
+00011010010000001010010111110000
+00100000001000010111001111011001
+00100000011000000000000000000000
+01000111011100001100000000111100
+11011010011000000100001111011100
+01101000000010101100010000000011
+00100000010000000111001111000001
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+00100000010000000111001110101101
+00100000010000000111010000100101
+11011010011000000100001111011110
+01101000000000001100001111011101
+00011111111000001010010111111111
+10011010011000001000101000000000
+00011000000000000111000000001100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00100000010000000111001111011001
+01101000000000001100001111011101
+00011111111000001111111000000100
+01100000000000001100001111011101
+01101000000010101100010000000011
+00011000010000001000010000000001
+01100000000010101100010000000011
+00100000011000000000000000000000
+01000111011100010100000000111100
+01101000000000001000001011011010
+00011111111001100111110000010100
+00100000001000010111001111111111
+11011010011000000000001011011011
+00011111111000001010010111111111
+00011111111000001111111111111100
+01100000000000001000001011011010
+10011010011000001000110000000000
+11101000110000100000000000000000
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+01101000000010101100010000001000
+00100000010000000111001110101101
+00100000010000000111010000100101
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000011011
+00100000010000000111001111011001
+11011010011000000000001011011001
+00100000010000000111001111000001
+01101000000010100000010000011011
+10011000010001100111111000000000
+00100100011110100000000000000000
+01101000000000100100010000001101
+10011000010001100111111000000000
+00100000011110100000000000000000
+01100000000010100100010000001101
+01101000000000101100010000001000
+00011111111000001111111000000001
+01100000000000101100010000001000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100100001110111111010000011101
+00100000011000000000000000000000
+00011000000000000110110000110000
+00011000000000000110110000000000
+00100000001000000111010000011101
+00011000000000000110110000110010
+00011000000000000110110000000010
+00100000001000000111010000011101
+00011000000000000110110000110100
+00011000000000000110110000000100
+00100000001000000111010000011101
+00011000000000000110110000000001
+00011000000000000110110000000000
+00100000011000000000000000000000
+00011000000000000111000000000000
+01101000000000100000010000101111
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+01101000000000100100010000111010
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001000
+00100000001000000111010000011101
+01000111011100011100000000111100
+01101000000000110100010010100000
+01101000000010110000010001001111
+00100000001101001111010001000110
+01101000000000110000010001001111
+01101000000010110100010010100000
+00011000000000000111000000001000
+00011000010000100101111000000000
+00011111000000001111000000000001
+00011000010011110101111000000000
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011111111011110101111000000000
+00011111000000001111000000000001
+00011000000000000101111000000000
+00011000000000000111111000000000
+01101000000000001100010010001110
+01101000000010001100010010000101
+00100100001101001111010001010110
+01101000000000001100010010010101
+01101000000010001100010010001110
+01100000000000001100010001001010
+01100000000010001100010001001011
+00011000000000000111000000000000
+11011010010000000100010001001010
+00011000000000000111001000000100
+11101010001000100000000000000000
+11101010010010100000000000000000
+10011000010000101101111000000000
+00011111000000001111000000000001
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010001011011
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001100
+00100000010000000111010000011101
+00100000010000000111010010010001
+00011000000000000110110000111010
+00011000000000000110110000001000
+00100000001000000111010000011101
+00101111001000000000011000000000
+00100000011000001000000000000000
+00011000110000100111111000000000
+10011111001000001000101000000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011111001000001111001000000001
+00101111001000000000011000000000
+00100000011000001000000000000000
+00100000001000000111010001110011
+00011000000000000111000000000000
+00011111001000100111111000000000
+00100000001110100111010001111101
+11101000110000100000000000000000
+00011111001000001111001111111100
+10011000000000000101111000000000
+00011111000000001111000000000001
+00101111000000000001111000000100
+00100000011000001000000000000000
+00100000001000000111010001111001
+00011000000000000111000000001000
+00100000001000000111010010000111
+00011000000000000111000000000100
+00100000001000000111010010000111
+00011000000000000111000000000000
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010001000
+00100000011000000000000000000000
+11011000110000000000010001111100
+00100000001000000111010010000100
+00011000000000000111001000000100
+00100000001000000111010010010100
+00011000000000000111000000000000
+00011000000000000111001000000100
+00011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010010011
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+11000010000000000111010010011001
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011010011000100000101000000000
+00011010010000001111001000000001
+00011111001001100111110000001111
+00100000001000010111010010100100
+00011000000000000111001000010000
+00011101111000100111111000000000
+00011111001001100111110000000011
+00100000001000010111010010101100
+11100000101000100000000000000000
+00011111001000001111001111111100
+00100000011000101000000000000000
+00011111000000001111000000000001
+00100000001000000111010010100100
+11100000101000001000000000000000
+00011111111011001111111000000000
+11000010000000000111010010101100
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011101111001100111110000000000
+00100100011000101000000000000000
+00011111000000001111000000000001
+11000010000000000111010010110010
+00011000000000000111110000000000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001111111111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001000000111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+11011000101000000000100010000110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111101111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111100111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111101111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001100110110001111111
+00111000000010000001010001101011
+00111000000011110111101110110011
+11100000101001001000000000000000
+00111000000000011111111010111000
+00111000000001010000110000010010
+00111000000010101011011100100010
+00111000000011101001111110100110
+11100000101001001000000000000000
+00111000000000001110011100001111
+00111000000001010110011100100000
+00111000000010000101000110011110
+00111000000011011001000010000100
+11100000101001001000000000000000
+00111000000000110001000000010010
+00111000000001110110000010111111
+00111000000010111111000010101111
+00111000000011000000001111010011
+11100000101001001000000000000000
+00111000000000111010000110001000
+00111000000001000011101011010000
+00111000000010111100101111110010
+00111000000011100100001111011001
+11100000101001001000000000000000
+00111000000000101011000000110000
+00111000000001110110101000000011
+00111000000010010001000110001000
+00111000000011011110010100100000
+11100000101001001000000000000000
+00111000000000111010000100011110
+00111000000001001111111001011101
+00111000000010001101110101010111
+00111000000011011010110010010011
+11100000101001001000000000000000
+00111000000000000001000111101101
+00111000000001100001100011000100
+00111000000010001000110110100111
+00111000000011100101011111111111
+11100000101001001000000000000000
+00111000000000110001100100101011
+00111000000001110100011001000001
+00111000000010011011111000001100
+00111000000011110110011010101101
+11100000101001001000000000000000
+00111000000000000001111110000011
+00111000000001010101101000100011
+00111000000010111111100110110000
+00111000000011000011100101001001
+11100000101001001000000000000000
+00111000000000010011101001010001
+00111000000001010101001111111101
+00111000000010110011011100101010
+00111000000011001111000110111011
+11100000101001001000000000000000
+00111000000000111010111010000101
+00111000000001011110111011011001
+00111000000010001001111001100110
+00111000000011000000000110101000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11011000101000000000100100011110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001000000000000111111
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000001000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000111111111100000000
+00111000000001111111111111111111
+00111000000010111111111111001111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011000000001111111111
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000010000000000000000
+00111000000001000000000000000000
+00111000000010111111000000000000
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000101001011011111111
+00111000000001100010011000110000
+00111000000010111001010001011101
+00111000000011111101001010000100
+11100000101001001000000000000000
+00111000000000110011001110100000
+00111000000001000100101101111010
+00111000000010000011011111011000
+00111000000011111100100111011100
+11100000101001001000000000000000
+00111000000000111010010001000000
+00111000000001011011100101011000
+00111000000010111000101111001110
+00111000000011010000100100011111
+11100000101001001000000000000000
+00111000000000101110000100101100
+00111000000001011111010001111100
+00111000000010110101011010110001
+00111000000011101111110101000111
+11100000101001001000000000000000
+00111000000000000110100000110111
+00111000000001101110110110010000
+00111000000010011110110011101100
+00111000000011011010110011000101
+11100000101001001000000000000000
+00111000000000100011001101010111
+00111000000001011000101011110011
+00111000000010001111100111100001
+00111000000011010010100111110000
+11100000101001001000000000000000
+00111000000000101110011111101011
+00111000000001111110011011100011
+00111000000010111110000110100111
+00111000000011010000101110001011
+11100000101001001000000000000000
+00111000000000100100111111100011
+00111000000001000010000011101111
+00111000000010011011010110100110
+00111000000011001101110000101111
+11100000101001001000000000000000
+00111000000000010011100001100000
+00111000000001101011110101101001
+00111000000010000011100100011010
+00111000000011011011001000100010
+11100000101001001000000000000000
+00100000011000000000000000000000
+01101000000000001100011001011010
+00100100001110100111010101111101
+00100000001000000111101001110111
+01000111011100100100000000111100
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001100010110110001
+11000001100000001000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000011
+11000001000000011000000000000000
+01101000000000010100011010000010
+11000010100000000111010101111011
+01101000000000001100010011000000
+11000000000000000111101001110111
+00100000011000000000000000000000
+01110000010001001100000000000000
+00100000011000000000000000000000
+01000111011100101100000000111100
+01101000000000001100011001011010
+00100000001110100110000100101011
+00100000010000000110000100100100
+00100000010000000111010110000011
+00100000001000000111011001101101
+01011000000000000000000000000000
+01100000000001000000100110101110
+01100000000000100000100110110110
+01100000000000111100011001011110
+00100000011000000000000000000000
+01110000000010011011000000000001
+00100000001000000111010110001101
+01101000000000001100010110110001
+11000000000000001111011010001010
+00100000001000000010101010001100
+01101000000000001100010110110001
+11000000000000001111010110010000
+00100000001000000111011001101101
+00100000010000000111011010001010
+01101000000000001000100110101111
+00100100011110100000000000000000
+01110000000010011010111000000011
+00100000011000000000000000000000
+00100000010000000111010110110000
+11011010001000000000100111011110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100110111110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100110111110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100110111110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011111001000000000000000100000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100101111110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100101011110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100101011110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100101011110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111110010010110
+00100000010000000111010111100001
+11011010001000000000100111100110
+11011000101000000000100001100110
+00100000010000000111011110101000
+11011010001000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100111000110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111011101010101
+11011111001000000000000000011000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100011100110
+11011000101000000000100000000110
+00100000010000000111011110101000
+11011010001000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100011001110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111011101011000
+01101000000000001000100110110010
+11000000100000000111011000010101
+00100000010000000111011000010010
+11011000101000000000101001111110
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+00100000001000000111011000001001
+11011000101000000000101001111110
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+00100000010000000111100110100000
+01101000000000001000100110101111
+11000000000000100111011000001111
+01110000000010011011000000000001
+01110000000010011010111000000101
+00100000011000000000000000000000
+01110000000010011010111100010100
+00100000010000000111010110001010
+00100000001000000111011011011000
+11011000101000000000101000011110
+00011000000000000000111000001000
+00100000001000000111011010100010
+01110000000010011011000000000001
+00100000011000000000000000000000
+01000111011100110100000000111100
+11011000101000000000011100100111
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000011100011001011110
+11100000101000011000000000000000
+00100000010000000111101000001101
+11011010001000000000101001001110
+11011010010000000000101001011110
+00011000000000000000111000000100
+00100000010000000111011010100111
+00100100001000001111011000110001
+00100000010000000111011000101000
+01110000000000000111110101000001
+00100000001000000110001011111000
+01101000000000001000100110101111
+11000000000001001111011000101110
+01110000000010011010111000001010
+01110000000010011011000000000001
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000010011010111100010101
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000001001111011000110111
+01110000000010011010111000000000
+01110000000000000111110000000100
+01110000000000000111111000000101
+00100000011000000000000000000000
+01110000000000000111110000000100
+01110000000010011010111100000000
+00100000011000000000000000000000
+01101000000000001000100110110011
+11000000000000001111011000111110
+01110000000010011010111100001010
+00100000001000000111011011011000
+11011000101000000000011100100111
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000111101000100100
+01101000000000001000100110101111
+11000000000001010111011001001011
+01110000000010011010111000001011
+01110000000010011011000000000001
+00100000011000000000000000000000
+01110000000010011010111100001011
+01110000000010011011000100000001
+00100000011000000000000000000000
+11011000101000000000101001111110
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+00100000001000000111011001100010
+01110000000010011010111000001111
+11011000101000000000101001111110
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+11011000101000000000011100100111
+01101000000000110000101001111110
+11100000101000110000000000000000
+01101000000000110000101010000100
+11100000101000110000000000000000
+00100000010000000111100111010111
+01110000010000011011110100000001
+11011000101000000100000110111110
+11011000110000000000101001001110
+00100000010000000111111010111111
+00100000001000000010000111000100
+01000111011100111100000000111100
+01101000000000001100010110110001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000100011000010010
+00011000000000000000111000001011
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100011001110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000001
+00100000011000000000000000000000
+11011000101000000100011000101010
+11011000110000000000011000101110
+00100000010000000111111010111100
+01110000010001011011000100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+01000111011101000100000000111101
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100111000110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000010
+00100000011000000000000000000000
+01110000000010011011001100000001
+11011000101000000000101000000110
+11011000110000000000011000101110
+00100000010000000111111010111110
+01110000000010011011100100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+00011000111000001000111111111111
+00100100011000010000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00100000001000000111011010100010
+00011000111000001000111111111111
+00100100001000010111011010110011
+11101010001000100000000000000000
+00011111111000100000010000000000
+11101010010000100000000000000000
+10011000010000101111111000000000
+00100100001000101111011010110001
+00011010001000001010001000000100
+00011010010000001010010000000100
+00100000001000000111011010100111
+01111000010000001111110000000000
+00100000011000000000000000000000
+01111000001000001111110000000000
+00100000011000000000000000000000
+01000111011101001100000000111101
+01101000000000001000100110110000
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000000000000
+01101000000000001000100110101110
+11000000000000011110000111111101
+11000000000000101110001000011010
+11000000000000111110001000100101
+11000000000001011110001000111010
+11000000000000010111010110001000
+11000000000000100111010111110111
+11000000000001001111011000010111
+11000000000001010111011000111010
+11000000000001100111011001011000
+00100000011000000000000000000000
+01000111011101010100000000111101
+01101000000000001000100110110001
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000100000000
+01101000000000001000100110101111
+11000000000010010110000111100000
+11000000000010011110000111100101
+11000000000000011110000111101001
+11000000000000100111011000000010
+11000000000010100110000111101101
+11000000000000111110000111111011
+11000000000001010111011000111010
+11000000000001011110001000111001
+11000000000001001111011000010111
+11000000000010101110001000110011
+00100000011000000000000000000000
+01110000000010011011000100000001
+00100000011000000000000000000000
+01110000000010011011000100000000
+00100000011000000000000000000000
+01000111011101011100000000111101
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001000100110110010
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001000100110110010
+11000011100000111000000000000000
+01101000000000001000010111100011
+00100000001110100111011011100111
+00100000001000000111101001101000
+00100000010000000111100011010011
+01101000000000001000100110110010
+11000000000000001111011010000100
+11000000000000010111011010011011
+00100000011000000000000000000000
+00011111111000010000111000000111
+00011111111010010111111000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10101111111011000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111110
+00100000010000000111111010111110
+00100000001000000111111010111110
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100000011000000000000000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011011111011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011010010000001010010000010100
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+00100100011000010000000000000000
+00100100011110100000000000000000
+00011010001000001010001111111100
+00011010010000001010010111111100
+11000010000000000111011100000111
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010000001111111000000000
+10011010011000001111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100010011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+10011010011001100111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100100001
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000000000
+01111001001000001010011000000001
+00011111111000110111111000000000
+00101010011011111111111000000000
+01111001001000001111111000011111
+11100010001000100000000000000000
+00011010001000001010001111111100
+00011010011000110010011000000000
+11000010000000000111011100110000
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000011111
+01111001001000001010011000000001
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+11100010001000100000000000000000
+00011010001000001010001000000100
+00011010011000110010011000000000
+11000010000000000111011100111101
+00100000011000000000000000000000
+00100000010000000111011100111011
+00101010011011111111111000000000
+00100000001000001111011101010001
+11011010010000000000100010000110
+00011010001000100010011000000000
+00011010001000001010001111101000
+00100000010000000111011100000100
+00100100011000010000000000000000
+00011010011000100010001000000000
+00011010001000001010001111101000
+11011010010000000000100010000110
+00011010001000100000101000000000
+00100000001000000111011100011111
+00100000010000000111011100010001
+00011000101000100010001000000000
+00100000001000000111011101001001
+00100000010000000111011100011111
+00101010011011000000000000000000
+00100000011000001000000000000000
+11011010010000000000100010000110
+00011000101000001010001111101000
+00011010001000100000101000000000
+00100000001000000111011100010001
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011010001000001000110000011000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011001011000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011110000000001000110000101000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111011101010101
+00011000000000000111001000000110
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111011110000001
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000101000000000011011100110
+00011010001000100000110000000000
+00011000000000000111000000000000
+00100000010000000111011110000000
+00011010010000100000110000000000
+00100000010000000111011110000000
+00011000000000000010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000110
+11101000101000100000000000000000
+10011000000000000010001000000000
+00011010010000100111000000000000
+00011101111000100111111000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001100
+00100100001000001111011110010010
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111101000
+00011010010000001010010000000001
+00101010010000011111111000000110
+00100100001000001111011110010000
+11011010001000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011111
+00011010001000100010010000000000
+00100000001000000111011110000110
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111011100101101
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111011110111010
+11011010001000000000100010000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111101000
+00011010010000001010001000011000
+00011000000000000111001000000111
+00100000010000000111011100101111
+00100000001000000111011110101011
+00011000101000100001011000000000
+11011000101000000000011101000110
+00100000010000000111111011000101
+00011000000000000111111000000000
+01100000000000100000011011111110
+01100000000000100000011101011110
+01110000000001110100011000000001
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000110000000000100010000110
+11011000101000000000011100010110
+00100000010000000111111010111110
+00011010001000100000110000000000
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011000110000000000011100101110
+00100000010000000111011011110101
+00100000001110100111011111110110
+11011010001000000000011100101110
+11011010010000000000011101000110
+00100000010000000111011110101010
+11011010001000000000011100010110
+11011010010000000000011011100110
+00100000010000000111011110101010
+11011010001000000000011100101110
+11011010010000000000011100010110
+00100000010000000111011100000100
+00100000001000010111011111101000
+11011010001000000000011100010110
+11011010010000000000011100101110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011010001000000000011100101110
+11011010010000000000011100010110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011011100110
+11011010010000000000011101000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011000101000000000011101000110
+00100000010000000111111011000101
+01101000000000001000011011111110
+01100000000000001000011101000110
+01100000000000001000011101001110
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011101010101
+11011010001000000000100010000110
+11011010010000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011000
+11011010001000000000011010100110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000100010011110
+11011010010000000000011101110110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011001110110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011000110000000000011101011110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011010001000000000011101011110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011000110000000000011001110110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011010001110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011000101000000000011101000110
+00100000010000000111011110101000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011000110000000000011010001110
+11011000101000000000011101110110
+00100000010000000111111010111110
+11011010001000000000011101110110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011010100110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011001110110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011101000110
+11011000101000000000011010001110
+00100000001000000111011101011000
+11011010001000000000011000010110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011110001110
+11011000101000000000011101000110
+00100000010000000111011110000110
+11011010001000000000011000010110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000010111100110
+11011010010000000000011110001110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000010111111110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011110001110
+00100000010000000111011101011000
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011101000110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011000010110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011110001110
+11011010010000000000011101000110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011010010000000000011100101110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011001110110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011101110110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011000110000000000011001110110
+11011000101000000000011110001110
+00100000010000000111111010111110
+11011010001000000000011110001110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011010001110
+00100000010000000111011101011000
+11011010001000000000011010001110
+11011010010000000000100010000110
+11011000101000000000011010001110
+00011000000000000010011000000000
+01101000000000001000011010001110
+00101111111011111111111000000000
+00100000010000001111011100010001
+00011010011000100110000000000000
+11011010001000000000011010001110
+00100000010000000111011100101101
+01101000000000001000011010100101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011010100101
+00100000011000000000000000000000
+01101000000000001000010111100011
+00011111111000001111111111111111
+00100100011000010000000000000000
+01100000000000001000010111100011
+01101000000000001000010111100010
+00100000010110100111100000000011
+01101000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111100011000000
+01101000000000001000010111100010
+00100100001110100111100011001110
+00100000010000000111100001010100
+00100000001000000111100011000000
+01110000000001011110001000000000
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000010000000111011011110010
+00100000001000000111100011000000
+11011010001000000000011010100110
+11011000101000000000011101110110
+00100000010000000111011110111110
+11011010001000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011100101110
+11011000101000000000011000101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011101011110
+11011000101000000000011001000110
+00100000001000000111011110000110
+11101000110000100000000000000000
+00011000000000000010001000000100
+00011000101000001000101000000011
+11100000101000001000000000000000
+00011111111011001111111000000000
+00011000101000001000101111111110
+00011010001000001010001111111111
+00100100001000101111100011101000
+00011000101000001000101000000101
+11000010000000000111100011100101
+00100000011000000000000000000000
+00011000111010111111111000000000
+10011001011000001000110000000000
+11101000110000100000000000000000
+00100000011000000000000000000000
+00011000000000000110000000010000
+11011001011000000000010111100110
+00011110000000001000111111111001
+00100000010000000111100011110000
+10011000000000000000010000000000
+00011110000000001000111111110000
+00100000010000000111100011110000
+10011000010000001000010000000000
+00011110000000001000111111111110
+00100000010000000111100011110000
+00011111111011100111111000000001
+10011000010000001000010000000000
+00011110000000001000111111110001
+00100000010000000111100011110000
+00011111111011100111111000000000
+10011000010000001000010000000000
+00011110000010111111111000000000
+10011001011000001000101000000000
+11100000101010100000000000000000
+00011110000000001110000000000001
+00101110000000011111111001000000
+00100100001000001111100011110110
+00100000011000000000000000000000
+11011000110000000000100011111110
+00011000000000000111000000000111
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000111111111
+00100000001000010111100100001101
+00100000011000000000000000000000
+01000111011101100100000000111101
+00100000010000000111100011110100
+11011000101000000000011011100110
+00011000000000000111000000000000
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100100010110
+00100000010000000111010010111001
+11011001011000001000011100000000
+11011110000000000000010111100110
+00011000000000000111001001000000
+11101110000010100000000000000000
+11101001011000100000000000000000
+00011001011000001001011000000100
+00011110000000001110000000000100
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001000010000000000
+00011000000000000111000000000100
+00011101111011100111111000000011
+10011000010000001000010000000000
+00011000000000000111000000000101
+00011101111000100111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+00011000000000000111000000000100
+10011101111000010111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+10011000010000001000010000000000
+00011000000000000111000000000111
+00011000010000100101111000000000
+00011000000000000111000000000011
+00011101111000100111111000000000
+10011000010000001101111000000000
+00011000000000000111000000000000
+00011101111000100111111000000000
+00011000000000000111000000000001
+10011101111000010000010000000000
+10011101111000011111111000000000
+00011000000000000111000000000010
+10011101111000010111111000000000
+10011000010000011000010000000000
+00011000000000000111000000000000
+00011101111011100111111000000010
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001101111000000000
+10011000000011101111110000000000
+11000010000000000111100100011111
+11011000110000000000011011100110
+00011000000000000111000000000000
+11101000110000100000000000000000
+10011101111000001101111000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100101001000
+00100000001000000111010010111101
+11011000101000000000101000111110
+00011000000000000111000000000111
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000111111111
+00100000001000010111100101010000
+00100000011000000000000000000000
+11011000101000000000010111100110
+00011000110000001000110111111100
+00011111001001100010001000010000
+11101000110000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111100101011000
+00011010001000100111001000000000
+00011000010000100111111000000000
+11100000101000100000000000000000
+11000010000000000111100101011111
+00100000011000000000000000000000
+00100000010000000111100101100111
+00100000010000000111100101001110
+00100000001000000111100110001101
+00100000010000000111100101100111
+00100000001000000111100110001101
+11011000110000000000100111011110
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000100011001000010
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000111110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000001000000111100110000100
+11011000110000000100011001000010
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000100111011110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111100110000100
+00100000001000000111100110001101
+00100000010000000111101001110000
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111001000000101
+00100000010000000111111011000110
+01011000000000000000001010000000
+11100000101000100000000000000000
+00100000001000000111100100010010
+01101000000000100000101000111110
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00011000000001111111111000000000
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+11011010001000000000001111101000
+10011010001011111111111000000000
+01101000000010100000100110111010
+10011000010000001111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000010001100110010000000000
+00100000001000000111100110100010
+01101000000000001100011001100010
+11000000100000010111100110011110
+01000111011101101100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010000000
+00011111111000100000110000000000
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+01101000000000010000101010000010
+00011111111000100000110000000000
+00011000000000000111001000000110
+00100000010000000111101001110001
+01011000100000000000000000000000
+11100000101000011000000000000000
+01101000000000001100011001100100
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110001000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010001010
+00011111111000100000110000000000
+11011000101000000000010111100110
+00100000010000000111101001110000
+01101000000000010000101010001100
+00011111111000100000110000000000
+00100000010000000111101001110000
+01011000011000100111010001101100
+00011111111011010111111000000000
+00011111111000011111111001101011
+11100000101000100000000000000000
+11011000110000000000011100110011
+00011000000000000111001000000011
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01101000000000001100011001100010
+11000000100000010111101000011110
+01000111011101110100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000001000000111101000110011
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000001111
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000100110
+01101000000000001100011001100010
+11000000100000010111101000100001
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000111110
+00100000010000000111101001110000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101000100000000000000000
+01101000000000100100011010001010
+11100000101000100000000000000000
+00011000101000100000010000000000
+01110000000001110010011010000000
+00011000010000100000101000000000
+11011000110000000000011100110110
+00100000010000000111101001110000
+00100000010000000111100100010010
+11011000101000000000010111100110
+00011000000000000111001000000111
+00100000010000000111111011000110
+11100000101000100000000000000000
+01011000000000000000001111111000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01110000000001011110001111000000
+01101000000000001000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111101001011110
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000001000000111011011110010
+00100000010000000111100000000011
+01101000000000001000010111100011
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111100001010100
+00011000000000000111001000000100
+00011000110000001000110111111100
+11101000110000100000000000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111101001110010
+00100000011000000000000000000000
+01000111011101111100000000111101
+01101000000000001100010010111110
+00100000001110100101101011110000
+00100000010000000101101011101100
+00100000010000000111010110000011
+00100000001000000111101001111101
+01101000000000001100010011000011
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000100010110110010
+00011000000000000000111000001111
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100101011110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000011
+00100000011000000000000000000000
+11011000101000000100010111010010
+11011000110000000000011010100110
+00100000010000000111111010110011
+01110000010001001100001100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100110111110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000100
+00100000011000000000000000000000
+11011000101000000000100111111110
+11011000110000000000011010100110
+00100000010000000111111010111101
+01110000000010011011100100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001100010011000000
+11000011100000111000000000000000
+01101000000000010000010111100011
+00100000001110100111101010111001
+00100000001000000111101010111111
+01000111011110000100000000111110
+00100000010000000111101011010100
+01101000000000001100010011000000
+11000000000000011111101010010011
+11000000000000100111101010101001
+00100000011000000000000000000000
+00100000010000000111101011100110
+01101000000000010000010111100011
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111101100110111
+01000111011110001100000000111110
+01011000000000000000000100000000
+01100000000000010000010111100011
+01101000000000010000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000001000001111101011001010
+11011000110000000000011001000110
+11011000101000000000011100000110
+00100000001000000111111010110010
+11011010001000000000011101000110
+11011000101000000000100001000110
+00100000010000000111101110100011
+11011010001000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000011111100110
+11011000101000000000011010100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100000100110
+11011000101000000000011011000110
+00100000001000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100100111110
+11011010010000000000100001000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000011100000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011000110000000000100000100110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000100110
+11011010010000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011000110000000000011100000110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011100100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011000110000000000011100100110
+11011000101000000000100001000110
+00100000010000000111111010111101
+11011010001000000000100001000110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000011101000110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000011100000110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000000110
+11011000101000000000011100100110
+00100000001000000111110010010110
+11011010001000000000011010000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001100110
+11011000101000000000100000000110
+00100000010000000111101111100001
+11011010001000000000011010000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011001000110
+11011010010000000000100001100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011001100110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010010000000000100000000110
+11011010001000000000100000100110
+11011000101000000000100001100110
+00100000010000000111110010010110
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011010010000000000011111100110
+11011010001000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111101
+11011010001000000000011111100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000011010000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100001100110
+11011010010000000000100000000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011010010000000000011111100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000011100000110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001000110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011000110000000000011100000110
+11011000101000000000100001100110
+00100000010000000111111010111101
+11011010001000000000100001100110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000011100100110
+00100000010000000111110010010110
+11011010001000000000011100100110
+11011010010000000000100100011110
+11011000101000000000011100100110
+00011000000000000010011000000000
+01101000000000001000011100100110
+00101111111011111111111000000000
+00100000010000001111110001111011
+00011010011000100110000000000000
+11011010001000000000011100100110
+00100000010000000111110010101011
+01101000000000001000011101000101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011101000101
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000100000000110
+00100000010000000111111011010000
+00011000000000000111111000000000
+01100000000000100000100000100110
+01110000000010000000011000000001
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000110000000000100100011110
+11011000101000000000011111000110
+00100000010000000111111010111101
+00011010001000100000110000000000
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011000110000000000011111100110
+00100000010000000111110010110101
+00100000001110100111101111011010
+11011010001000000000011111100110
+11011010010000000000100000000110
+00100000010000000111110010111000
+11011010001000000000011111000110
+11011010010000000000011110000110
+00100000010000000111110010111000
+11011010001000000000011111100110
+11011010010000000000011111000110
+00100000010000000111110010110001
+00100000001000010111101111001100
+11011010001000000000011111000110
+11011010010000000000011111100110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000100000000110
+11011010010000000000011110000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011111100110
+11011010010000000000011111000110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000011110000110
+11011010010000000000100000000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000010000000111110000001010
+11011010001000000000100100011110
+00011001011000100010010000000000
+00011001011000100000101000000000
+00100000001000000111110010010110
+00011000101000100001011000000000
+00011000000000000111000000000000
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000101000000000101011010010
+00100000010000000111111011010010
+00011010001000100000110000000000
+01110000000010101101001000000000
+01011000000000000000000000000000
+00100000010000000111110001110011
+00011010010000100000110000000000
+00100000010000000111110001110111
+00011000000000000000111000000000
+11011000101000000000011110000110
+11011000010000000000101011010010
+00011000111000100010010000000000
+00011010010010111111111000000000
+10011000010000001010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000000
+11101000101000100000000000000000
+10011000000000000010001000000000
+11101010010000100000000000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001000
+00100100001000001111101111110101
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111100000
+00011000111000001000111000000001
+00101000111000011111111000001000
+00100100001000001111101111101111
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000001000000111110000001010
+01000111011110010100000000111110
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011010001000001000110000101100
+00100000010000000111111010111001
+00100000010000000111111010110101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011110000000100010001000000000
+00011001011000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000110000
+00100000010000000111111010111111
+00100000010000000111111011001101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000101100
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011110000000001000110000101000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110000
+00100000010000000111111010111001
+00100000010000000111111010111001
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100100
+00100000010000000111111010110110
+00011110000000001000110000101100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00100000010000000111111011001101
+00011110000000001000110000100100
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111110010010110
+00011000000000000111001000100000
+11011000101000000000101011010010
+10011000101000001000101000000000
+00100000001000000111111100000001
+00011000000000000111001000001000
+00100000001000000111011110000001
+00011010001000100010010000000000
+00100000001000000111101111100001
+00011000000000000111001000001000
+00100000001000000111011100010010
+00100000010000000111110001111011
+00011000101000100010001000000000
+00100000001000000111110010000001
+00100000010000000111110010101110
+00101010011011111111111000000000
+00100000001000001111110010001010
+11011010010000000000100100011110
+00011010001000100010011000000000
+00011010001000001010001111100000
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00100000010000000111110010010010
+00011010001000100010011000000000
+00011010001000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00011010001000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110010101001
+00100000010000000111110010101001
+00100000001000001111110010100000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+11011010010000000000100100011110
+00011000101000001010001111100000
+00011010001000100000101000000000
+00100000001000000111110010101001
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000010000000111110001111011
+00100000011000001000000000000000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110001111011
+00011000000000000111001000001000
+00100000001000000111011100100000
+00011000000000000111001000001000
+00011010001000001010001000011100
+00100000001000000111011100101111
+00011000000000000111001000001000
+00011000000000000010011000000000
+00100000001000000111011100111101
+00011000000000000111001000001000
+00011010001000001010001000011100
+00011010010000001010010000011100
+00100000001000000111011100000111
+11101000110001000000000000000000
+00100100011110100000000000000000
+00100000001000000111011011110101
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111110010101011
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111110011001000
+11011010001000000000100100011110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111100000
+00011010010000001010001000100000
+00011000000000000111001000001001
+00100000010000000111011100101111
+00100000001000000111110010111001
+00100000010000000010110001100101
+00100000011101011000000000000000
+00100000010000000111110011010011
+00100000010000000111110101110101
+00100000001000000111110100001000
+00100000010000000111110100101001
+00100000001000000111110101100100
+01101000000000001100011010000110
+11000001011111111000000000000000
+10011000000000000000010000000000
+00100000010000000110100000001110
+01101000000010001100011010000110
+00100000010000000110100000100101
+00100000000000000000000001100100
+01101000000010001100011010000110
+00100000010000000110011111111011
+00100000001000000111110011011101
+01000111011110011100000000111110
+01101000000000001100011010000110
+11000001011111111000000000000000
+00011111111000100000010000000000
+00100000010000000110100000011101
+00100100001000001111110011101111
+00100000010000000111110011111001
+01101000000000010100011010000010
+01111001001000000111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000000000000000000000
+01110000010001100111100100000000
+01101000000000001100011010000101
+01100000000000001100011001111000
+00100000010000000111110100000000
+01110000000010101001100100101100
+00100000001000000111110110000110
+01101000000000010100011010000010
+01111001001111111111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000001000000000000000
+01110000010001100111100100000001
+01110000010001100111100000000000
+00100000010000000111110100000010
+01110000000010101001100100101101
+00100000001000000111110110000110
+01101000000000001100011001111000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011001111000
+00100100011110100000000000000000
+01110000000010101001100100010000
+00100000001000000111110110000110
+11011000111000000000000000000111
+00100000001000000010110000110010
+11011000111000000000000000000111
+00100000001000000010110000110110
+01101000000000010100001000011011
+00011010001011111010010000001011
+10011010010000001010010000000000
+00100000011000000000000000000000
+01101000000000001100001000011010
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000011011
+00011111111000100010010000000000
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000010000000110100000001110
+00100000010000000111110100110010
+00011010010000001010010000001011
+11000010000000000111110100001101
+00100000011000000000000000000000
+00100000010000000111110100000100
+01011000000000000000000000000010
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110101
+00100000010000000111110100000100
+01011000000000000000000000000011
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110010
+00100000010000000111110100000100
+01011000000000000000000000000001
+11100010010000001000000000000000
+01011000000000000000000011111111
+11100000101000001000000000000000
+00100000001000000111110100110010
+00100000010000000111110100000100
+11011111001000000000000000001011
+00011010011000100000110000000000
+00011010010000100000101000000000
+00100000001000000111111011110100
+01101000000000001100001000011010
+00100000011110100000000000000000
+11011010001000000000000000000000
+00100000010000000111110100111000
+00011010001000001010001000000001
+01101000000000001100001000011010
+10011010001001100111110000000000
+00100000011000101000000000000000
+00100000001000000111110100101100
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000100101
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000101001
+00011010001000001000111000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000111110100000100
+11101010010000001000000000000000
+11000000000000010111110100110101
+11000000000000011111110100110010
+11000000000000000111110100110010
+11000000000000101111110101001100
+00100000010000000111110100110101
+00011010010000001010011000000111
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+01011000000000000000000000000101
+11100010010000001000000000000000
+00011010010000001010011000000011
+11101010011000010000000000000000
+00100000001000000111110101011100
+00100000010000000111110100110010
+00011010010000001010011000001001
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+00011010010000001010011000000001
+11101010011000001000000000000000
+11000000011111111111110101011000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100000001110100111110100011001
+01011000000000000000000000000100
+11100010010000001000000000000000
+00011010010000001010011000000101
+11101010011000010000000000000000
+00011010001000001000111000001011
+00100000001000000111111100001000
+01011000000000000000000000000000
+00100000001000000111110101011100
+01011000000000000001000000000000
+00011111111100000111111000000000
+10011010010000001010010000000000
+00100000011000000000000000000000
+01000111011110100100000000111110
+11011010001000000000000000000000
+01101000000010100100011001111010
+00011100010000100010010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100010000010111110101100000
+00011010010000100111111000000000
+00011000010000001000010010100000
+00011000010000001000010010100000
+10011000010001100111110000000000
+00100100001000010111110101111000
+00011010001000001010001000000001
+00011010001000010111111000001111
+00100100001110100111110101101011
+11011010001000000000000000000000
+00100000010000000111110101111111
+00011100010000100111111000000000
+01100000000000100100011001111010
+00100000011000000000000000000000
+01000111011110101100000000111110
+00011010001000100111111000000000
+00100000011110100000000000000000
+00011000010000001000010101100000
+00011000010000001000010101100000
+01111001001111111000010000011100
+01100000000010100100011001111010
+00100000001000000011001101011111
+01110000010001100110011000000001
+01101000000000001100011001100111
+00100100001110100111110110000001
+00100000011000000000000000000000
+01110000010001100110011000000000
+00100000011000000000000000000000
+01000111011110110100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001101000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01000111011110111100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001110000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01011000000000000000000000000000
+01100000000001000100011001110000
+01100000000001000100011001101000
+00100000011000000000000000000000
+01000111011111000100000000111111
+01101000000000001100000111001110
+00100100011110100000000000000000
+11011010001000000100011001110000
+00100000010000000111111111010000
+00100000011110100000000000000000
+01110000000010101001000000000000
+00100000010000000111110110100111
+01101000000000001000101010010000
+00100000001110100111110110011100
+00100000011000000000000000000000
+00100000010000000111110110000000
+11011010001000000100011001110000
+00100000010000000111111111000100
+00011111111000100000010000000000
+00100000010000000111110110000100
+01000111011111001100000000111111
+00011000010000100111111000000000
+00100000011110100000000000000000
+11000000000000001111110111011101
+11000000000000010111110111100010
+11000000000000011111110111101000
+11000000000000111111110111101101
+11000000000001000111110111101110
+11000000000001001111110111101111
+11000000000001011111110111110010
+11000000000001100111110111110011
+11000000000001101111110111110100
+11000000000001110111110111111010
+11000000000001111111110111111111
+11000000000010000111111000000101
+11000000000010011111111000001111
+11000000000010100111111000010001
+11000000000010101111111000010011
+11000000000010110111111000010101
+11000000000010111111111000011000
+11000000000011000111111000011010
+11000000000011001111111000011101
+11000000000011011111111000100101
+11000000000011110111111000101111
+01100000000000001000101010011001
+01000111011111010100000000111111
+00100000010000000110001010111100
+00100100001110100111110111011011
+01101000000000001000101010011001
+11000101100001001111110111010110
+11000000000000100111110111101010
+11000000000000101100110100010111
+11000000000000110100110100100110
+11000000000001010111110111110000
+11000000000010001111111000001010
+11000000000010010111111000001110
+11000000000011101111111000100110
+11000000000011111110011111001100
+11000000000100000110011111010000
+11000000000100001111111000110001
+11000000000100101110011100001011
+00100000011000000000000000000000
+01100000000000001000101010011001
+00100000010000000010001001010010
+00100000001000101111110111011011
+00100000010000000010001001011010
+00100100011000101000000000000000
+01110000000010101001000000000001
+00100000001000000111110110001111
+01101000000000010100011010000010
+01111001001000000111111000000110
+01100000000000010100011010000010
+01110000010000001001001100000011
+00100000011000000000000000000000
+01110000010001101000000000000000
+01110000010000001001001100000000
+01101000000000010100011010000010
+01111001001111111111111000000110
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000011100111000000101
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000001001101010000000010
+00100000001000000100110100001010
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000000
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000001
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000001000000101110010010010
+00100000001000000101101010111111
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011110
+01110000010000110110100100000001
+01110000010000011100111000011011
+00100000011000000000000000000000
+01110000010000110110100100000001
+00100000011000000000000000000000
+01110000010000110110100100000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000010100000111101011
+00100000010000000111111110011100
+01101000000000001100011010000110
+11000000011111111111111000100011
+00011111111000100000010000000000
+00100000010000000110011111111011
+00100000010000000111110110011000
+00100000001000000010101100011111
+00100000001000000101101100000010
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100100011101001000000000000000
+01110000010001010101101100000000
+01110000000000000111110000010011
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000011000000000000000000000
+00011000000000000000111000000011
+00100000001000000111111100000111
+00100000010000000110001011111000
+01110000000000000111110101000001
+00100000001000000101111110011101
+01101000000000001100011010000010
+11000100000001100000000000000000
+11000100000000111000000000000000
+00100000001000000111111000101111
+01101000000000010100001000011000
+00011111111000001000101000000010
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+00100000010000000111111001101001
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010000000001
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000100
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000101000000000
+00011010001000100000110000000000
+00100000010000000111111100000001
+00100000010000000111111001101101
+00011111111000001111111111111111
+11101010010010001000000000000000
+00011000010000001000010000000001
+10011000010000010000010000000000
+11100010010010001000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+00100000010000000111111001100101
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010111111111
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000011
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000001
+00011010001000100000101000000000
+00100000001000000111111001001100
+01101000000000010100001000011000
+00011111111000001000110000000010
+11101000110000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111001101101
+11101000110010001000000000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01101000000000010100001000011000
+00011111111000001000110000000001
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000110111111000000000
+11000010000000000111111001110011
+00100000011000000000000000000000
+00011000000000000111111000000001
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000111111111000000000
+11000010000000000111111001111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00011001011000100111111000000000
+01100000000000100000101010101010
+00100000010000000111111010000101
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011010001000100111111000000000
+01100000000000100000101010101110
+00011010010000100111111000000000
+01100000000000100000101010110010
+00011010011000100111111000000000
+01100000000000011000101010110110
+00100000011000000000000000000000
+01101000000011000000101010100010
+01101000000000100000101010101010
+10011000000000000001011000000000
+00100000010000000111111010010101
+01101000000000010000101010111011
+10011000000000000000101000000000
+01101000000000010000101010111001
+10011000000000000000110000000000
+00100000011000000000000000000000
+01101000000000100000101010101110
+10011000000000000010001000000000
+01101000000000100000101010110010
+10011000000000000010010000000000
+01101000000000011000101010110110
+10011000000000000010011000000000
+00100000011000000000000000000000
+01101000000000010000101010111011
+00011111111000100000101000000000
+00100000011000000000000000000000
+01101000000000010000101010111001
+00011111111000100000110000000000
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+00100000011000000000000000000000
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010010111
+00011000110000100111111000000000
+01100000000000010000101010010101
+00100000011000000000000000000000
+01101000000000010000101010010111
+00011111111000100000101000000000
+01101000000000010000101010010101
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000111111010111101
+00100000010000000111111010111101
+00100000001000000111111010111101
+00100000010000000111111010111001
+11101000110000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111111
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000001000000111111010111001
+11011111001000000000000000001010
+00100000000000000010111011100000
+11000010000000000111111011000010
+00100000011000000000000000000000
+00011000000000000111001000000011
+00011000000000000111111000000000
+11100000101001000000000000000000
+11000010000000000111111011000111
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011000000000000111001000000100
+00100000001000000111111011000110
+00011000000000000111001000001000
+00100000001000000111111011000110
+00011111001000100111111000000000
+00100000011110100000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+11000010000000000111111011010111
+00100000011000000000000000000000
+11011111001000000000000000100000
+11011000101000000000101011000010
+00100000001000000111111011010100
+11101010011000100000000000000000
+11101010001010100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011010001000001010001000000100
+00011010011000001010011000000100
+11000010000000000111111011011101
+00100000011000000000000000000000
+01000111011111011100000000111111
+00011111001000100111111000000000
+00011111111001100111110000000001
+00100000011000010000000000000000
+10011010001000001010010000000000
+00011010010000001010010111111111
+00011111001000110111001000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+11100010001000001000000000000000
+11100010010010001000000000000000
+00011010010000001010010111111111
+00011010001000001010001000000001
+11000010000000000111111011101100
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010111111010111001
+00100000011000101000000000000000
+00100000001000010111111011110110
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010111111010110110
+00100000011000101000000000000000
+00100000001000010111111011111011
+00011111001000001111001000000100
+00100000001000000111111100000001
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+11000010000000000111111100000011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00011100010000110000010000000000
+01100000000010100100000010010100
+11011000101000000100000110011101
+10011000000000000000010000000000
+00011000111000111111111000000000
+10011000101000001000101000000000
+11100000101010010000000000000000
+01000111011111100100000000111111
+00100000011000000000000000000000
+11011001011000000000100000000000
+00011001011100000001011000000000
+10011001011000001111111000000000
+00100000011000000000000000000000
+11011000111000000000000000000000
+01000111011111101100000000111111
+01101000000010100100000010010100
+00011100010000110111111000000000
+01100000000000100100000010010100
+10011000010001100111110000000000
+00100100010000010111111100010001
+10011000010001100001011000000000
+00011001011000100000010000000000
+11011000110000000100000110011101
+00011000110000100000101000000000
+11011111001000000000000000010000
+11101000110000010000000000000000
+10011000010001100111111000000000
+00100000001000010111111100100101
+00011000000000000111111000000000
+11100000101000010000000000000000
+11000010000000000111111100100001
+11011000110000000100000110011101
+00011000111000111111111000000000
+10011000110000001000110000000000
+11101000110000010000000000000000
+00100000011000000000000000000000
+10011000010000001000010000000000
+00011000010000100111001000000000
+01011000000000000000111010100110
+10011111001001100111111000000000
+00100000011000010000000000000000
+00011111111001100111111000000000
+00011000010100010000010000000000
+00011000010000001000010000000001
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000010000000111111100111001
+00100000001000000111111101000011
+01111000010101000111110000000000
+10011000010001100111111000000000
+00100000001000010111111100111110
+01111000001101000111110000000000
+00011111111001100111111000000000
+11000100000001111000000000000000
+11011000010111110000111010100110
+10011000010000001111111000000000
+01111001001111111111111001000000
+00100000011000000000000000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+11011000010000000000111010100110
+10011000010011111111111000000000
+10011000110000001111111000000000
+00100000011000000000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+01101000000010011100000101101111
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+00100000011000000000000000000000
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011000010000100010011000000000
+11101000011000001000000000000000
+00100000010000000111111101100100
+00011010011000100000010000000000
+00100000010000000111111110010101
+11011010010000000000000000001010
+10011010010011111111111000000000
+10011000010000001111111000000000
+00011111111000100000010000000000
+11000010000000000111111101011001
+00100000011000000000000000000000
+11011000010000000000000000111010
+10011000010001100111110000000000
+00100100001000010111111101101101
+11011000010000000000000001100001
+10011000010001100111110000000000
+00100000001000010111111101110000
+11011000010000000000000000110111
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000000110000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000001010111
+10011000010001100111111000000000
+00100000011000000000000000000000
+00011000010000100110000000000000
+01011000000000000000000111111111
+00011000000000000010010000000000
+00011111111010010010001000000000
+00011010001000110010001000000000
+10011010001000101010001000000000
+00101010001011111111111000000000
+01111001001000001111111000001001
+00011000010000110000010000000000
+00101111111011111111111000000000
+01111001001000001000010000000111
+00011111111000110111111000000000
+00011010010000001010010000000001
+00101010010000000000111000000000
+00100100001000001111111101110110
+11100000101010001000000000000000
+11000010000000000111111101110110
+00011110000000100000010000000000
+00100000011000000000000000000000
+00100000011110101000000000000000
+00100000001000000111111110000110
+11101010001000001000000000000000
+11101010010010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111111110001000
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010000001111111000000000
+10011000010001100000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011111001000000000001000000000
+11011000101000000100000000000000
+00100000001000000111111011000110
+00100000011110100000000000000000
+00011111111000100111101000000000
+01101000000100010000000100001110
+00100100001110100111111110011110
+00100000011000000000000000000000
+01110000100000100000001100000001
+00100000011000000000000000000000
+01100000000100010000001000000101
+01101000000100001000001000000011
+01111001001000000111111000000100
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000111
+01101000000100001000001000000011
+01111001001000000111111000000110
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000101
+01110000100000100000001100110000
+00100000011000000000000000000000
+01101000000100001000000001000011
+01111001001111111111111000000100
+01100000000100001000000001000011
+00100000011000000000000000000000
+01101000000100010000000100001110
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000111011111110100000000111111
+11101010001011000000000000000000
+00011000010000010111111011111111
+00100100001110100111111110111110
+00011000010011001111111000000000
+11100010001001000000000000000000
+00011010001000001010001000000111
+11101010001000001000000000000000
+00100100001110100010101010001100
+01101000000000001000101010011001
+11100010001000001000000000000000
+00100000011000000000000000000000
+01000111011111111100000000111111
+11011111001000000000000000001000
+11101010001001000000000000000000
+00100000011110100000000000000000
+11101010001000001000000000000000
+00100100001110100111111111001101
+00011010001000001010001000000001
+11000010000000000111111111001000
+00100000001000000010101010001100
+11011000010000000000000000000000
+11100010001010001000000000000000
+00100000011000000000000000000000
+11101010001001000000000000000000
+00100000011000000000000000000000
+11101010001000001000000000000000
+00100000011000000000000000000000
+11101010001000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+01101000000000001000000000000110
+11000010000000000111111111010111
+00011000010000001000010000000001
+11000010000000000111111111010111
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011000000000000111110111111111
+00100000011000000000000000000000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+00100000011000000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+01111000010101100111110000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011000110000100111111000000000
+10011111001000001111111000000000
+00011111111000001111111111111111
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011000110000001000110111111110
+11100000101000001000000000000000
+11000010000000000111111111111001
+00100000011000000000000000000000
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000000000000000000000000011
+00100000011000000000000000000000
+01101000000000001000000000001110
+00011111111000001111111000000001
+01100000000000001000000000001110
+00100000010000000010010000110101
+01111001001000000000000000101100
+00100000010000000010001011110010
+00100000001011000000000000001110
+01111001001111111000000000101100
+00100000010000000010010001010101
+00100100001110100000000000000111
+00100000001000000010000011111100
+01111001001111111000000000101100
+00100000001000000010000101011111
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000000010000000000000000100
+11000000000010001000000000010101
+00100000011000000000000000000000
+01110000010010000000100000000000
+01110000010000011110001100001110
+00100000010000000100000111100111
+01101000000000010100001000001000
+11000010100000111100000111110101
+11000010100000000011001110101001
+11000010100000001000000000001110
+11000010100000010000000000010001
+11000010100000011000000000010001
+00100000001000000100001010110000
+11000010100000101000000000010001
+11000010100000011000000000010001
+00100000001000000100001010110000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000010000000011001110101001
+00100000001000000011001110100111
+01101000000000010000001001100100
+00011111111000100000110000000000
+11101000110000001000000000000000
+01100000000000001100101100000010
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000000111000000000011110
+11000000000000001000000000100101
+00100000001000000100110100111001
+00100000010000000100110101010011
+01110000010010110000001100000000
+01101000000000001100101100000010
+00101111111011111111111000000000
+00100000011000001000000000000000
+01110000010010110000001100000001
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101000010010001100
+00100000001000000100110101000001
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000000100000000000000000011
+00100000011000000000000000000000
+01111000010101000111110000000000
+00100000010000000110001011000001
+01101000000000001000000001001000
+00100000011110100000000000000000
+11000010100000111000000000001101
+11000000000000011000000000100100
+11000000000110001000000000011001
+11000000000010111000000000011011
+11000000000000111000000000011101
+00100000001000000110000000010000
+11000000010000100000000000010000
+11000000010000011000000000010011
+00100000001000000110000000111111
+00100000010000000000000000010110
+01101000000000001000000001001000
+00100000001000000110000010011001
+00100000010000000000000000010110
+01101000000000001000000001001000
+00100000001000000110000100001101
+01101000000000001100011001011010
+00100000001110100110000100101011
+00100000001000000110000100100100
+01110000010010110000000100000001
+00100000001000000110000111000011
+01110000010010110000100100000100
+00100000001000000110000110100100
+00100000010000000110000101010010
+01101000000000001100101101010101
+00100000011110100000000000000000
+01101000000000001000000001001011
+01111001001111111111111000000011
+01100000000000001000000001001011
+00100000001000000000001100110001
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001001
+11100000101000001000000000000000
+01100000000000001100101011111100
+00100000010000000110001010100111
+01101000000000001100101011111100
+11000000000101110000000000101101
+00100000001000000110000001010001
+01101000000000001100101011111111
+00100000011110100000000000000000
+01110000010010101111111100000000
+01101000000000001100101100000001
+11000001100000010000000000000000
+01110000010010110000000000000001
+00011100010000100111111000000000
+01100000000000100000010011101001
+00100000011000000000000000000000
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000000110000000000000000011
+00100000011000000000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100000000000100101
+11000000000010000000000000001010
+00100000001000000110001100100000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001000000000001110
+00100000001000000110001101011111
+00100000011101001000000000000000
+01101000000000001000000101101101
+11000010100000000000000000010010
+00100000001000000110001110011001
+01101000000000001100101100000001
+11000000000000001110001110011101
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001100101100000000
+00100000011110100000000000000000
+01110000010010110000000000000000
+01101000000000100000010011101001
+11011000010000000000000000010100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100001000010000000000100011
+00100000001000000110001101001001
+01110000010010110000000000000001
+00100000011000000000000000000000
+01110000010010000000100100010100
+00100000001000000110001101101111
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000001000000000000000000100
+11000000001000001000000000010110
+00100000011000000000000000000000
+00100000010000000000000000001100
+00100000001000000101010101111101
+01101000000000001100011111000101
+01100000000000001100000101110010
+01110000010001111100010000000000
+00100000011000000000000000000000
+01110000010001111100010000000001
+00100000011000000000000000000000
+01101000000000001100001111010110
+00011111111001100111110000001100
+00100100001000010000000000001010
+01101000000000001100001111011000
+01101000000010001100011111000101
+10011000010001100111110000000000
+00100000001000010000000000000110
+01101000000000001100001111011000
+01100000000000001100000101110010
+00100000001000000000000000001000
+01101000000000001000010000111111
+11000100000000110000000000000000
+00100000010000000000000000011011
+00100100011101000000000000000000
+00100000001000000101010110100000
+01111000001101000111110000000000
+01101000000000001000010001011010
+00011111111100011111111000000000
+11000001100001111000000000000000
+01101000000000001000010001100000
+00011111111100011111111000000000
+11000001100000000000000000000000
+00100000001000000111111111101001
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000001010000000000000000100
+11000000001010001000000000101101
+00100000011000000000000000000000
+00100000010000000000001011110110
+01110000010001111001110000000000
+00100000010000000000001110010101
+01101000000000010100011010000010
+11000010100001011000000000010001
+00100000010000000000001110101000
+01101000000010010100011111000010
+00011000010000001000010000000001
+01100000000010010100011111000010
+01100000000010010100010010100001
+00100000010000000000001101011001
+00011000000010100111111000000000
+01100000000000001100010010100000
+01011000111011011000111000001110
+01100000000000011100010010100011
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000010010110100011100000101
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001000000000100110
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001111110111011101
+01110000010010110101010100000000
+00100000001000000100001011000100
+01110000010001111001111100000000
+00100000010000000000001100000111
+01011000000000000000000000000101
+11100000110000001000000000000000
+11011000110000000100101100010000
+00100000010000000000010110011101
+00100000001000000111110111110100
+01101000000000001100101101011101
+00100100011110100000000000000000
+01101000000000001100101101010111
+00100100001110100000000000110111
+01110000010011010011100100000000
+00100000010000000000001011110110
+00100000010000000000000111010000
+01110000010000011011110100000000
+00100000010000000000001011001000
+00100000001000000011010000001010
+00011111111000001111111111111111
+01100000000000001100101101010111
+00100000001000000000001110101111
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000001100000000000000000100
+11000000001100001000000000101011
+00100000011000000000000000000000
+01111001001111111000000000100110
+01101000000000001100101101010111
+00011111111000010111111000000001
+00100100010110100000000000100001
+00100000010110100000000000011110
+01101000000000001100110000001001
+11000001111111111000000000000000
+00100000010000000000000111000111
+00100000000000000000011111010000
+00100000010000000000010100011000
+01101000000000001100101101100000
+00100100001110100000010011111101
+01101000000000001100110000100110
+11000000001110000000000110101001
+00100000010000000000000110001011
+00100100001011000000000000100110
+00100100001101111000000000100110
+01111001001000000000000000100110
+01011000000000000000000000000000
+01100000000000010100110000100110
+01100000000000001100101101011101
+01100000000000001100101101010111
+01110000000010101001100100111100
+00100000010000000111110110000110
+00100000010000000000000110000011
+00100000001000000000001111101010
+00100000010000000000001011110110
+01101000000000100100011101111011
+00100000001000000000000000100011
+01110000010000011101111000100000
+01101000000000100100101101010001
+01100000000000100100110000100001
+00100000010000000000000111100111
+00100000001000000000001000000110
+01101000000000010100110000100110
+00011111111000001111111000000001
+01100000000000010100110000100110
+00100000010000000000001000000110
+00100000001000000000000000001100
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+01100000000000001100101101010111
+01100000000000010100110000100110
+01110000010010110101110111001000
+00100000010000000100001011001010
+00100000001000000000000000110101
+01111001001000000000000000100110
+00100000010000000000000000111001
+01110000010011000000100100000001
+00100000011000000000000000000000
+01110000010000011101111000100000
+01110000010010111111100000000000
+01110000010011000000001101001110
+01101000000000100100110000000101
+00100000001000000000000111100110
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000001110000000000000000011
+00100000011000000000000000000000
+01111001001111111000000000100110
+00100000010000000000000000100000
+00100000010000000000000111000111
+00100000000000000000011111010000
+01101000000000001100110000100111
+11000010100000010000000110101001
+00100000010000000000010100011000
+01101000000000001100101101100000
+00100100001110100000010011111101
+00100000010000000000000110001011
+00100100001011000000000000011100
+00100100001101111000000000011100
+00100000010000000000000110111000
+00100000010000000000001011110110
+01101000000000100100110000100001
+01101000000010100100110000000101
+10011000010001100111110000000000
+00100000001000101000000000101010
+01111001001000000000000000100110
+01011000000000000000000000000000
+01100000000000010100110000100110
+01110000000010101001100100111100
+00100000010000000111110110000110
+00100000010000000000000110000011
+00100000001000000000001111101010
+01101000000000010100110000100110
+00011111111000001111111000000001
+01100000000000010100110000100110
+00100000001000000000000000000110
+01110000010000011101111000100000
+01011000000000000000111100001111
+01100000000000010100110000100001
+11100000101000010000000000000000
+00100000010000000000000111100111
+00100000001000000000001000000110
+00100000010000000000000000100000
+00100000001000000000000000000110
+00100000010000000000000000101110
+00100000001000000000000000000110
+01111001001000000000000000100110
+00100000010000000000000000101110
+01110000010011000000100100000001
+00100000011000000000000000000000
+01110000010000011101111000100000
+01110000010010111111100000000000
+01110000010011000000001101001110
+01101000000000100100110000000101
+00100000001000000000000111100110
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000010000000000000000001010
+11000000010000001000000000000100
+00100000011000000000000000000000
+00100000010000000110100010100010
+01101000000000010100001000011101
+00100100001110100000000000001000
+01011000000000000001000100100010
+01100000000000010100011111000010
+00100000011000000000000000000000
+00100000010000000000000011101100
+00100000010000000011111001101110
+01101000000010001100101101000011
+00100000010000000110100000001110
+00100000010000000011111000011110
+00100000010000000000000000011010
+01011000000000000000000000000000
+01100000000000010100000101010100
+00100000010000000110100010100010
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+00100000010000000000010110011000
+00100000001000000000001101000110
+00100000010000000111010010111001
+11011000110000001000110000000000
+11011000101000000100100001110110
+11011111001000000000000101110001
+00100000010000000111111100000001
+01011000000011110000001000001001
+11100000101000011000000000000000
+01011000000100100000000000001001
+11100000101000011000000000000000
+01011000000100000000001000001001
+11100000101000011000000000000000
+01011000000000000000000000001001
+11100000101000011000000000000000
+11011000110000001000110101110001
+11011111001000000000000100001001
+00100000010000000111111100000001
+01110000010010001000110100000000
+01110000010010001000010101101101
+01011000000000000100000000011111
+01100000000000010100100111011011
+01011000000000000110110100000100
+01100000000000010100101001000100
+01011000000000000001011010110000
+01100000000000010100101001001010
+01011000000000000100100001110110
+01100000000000010100010101110101
+00100000011000000000000000000000
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000010010000000000000000101
+11000000010010001000000000011111
+11000000010010010000000000101111
+00100000011000000000000000000000
+01101000000000001100101111111110
+11000000000000001111111111100111
+01101000000000001100110000001001
+11000000000000001000000000001100
+11000000000000010000000000001111
+11000000000000011000000000010010
+00100000001000000010101010001100
+01110000010011000000100100010001
+01110000000100011001111010101010
+00100000001000000000000000010100
+01110000010011000000100100010010
+01110000000100011001111001010101
+00100000001000000000000000010100
+01110000010011000000100100010011
+01110000000100011001111000100010
+01101000000000001100101111111010
+00011111111000010111111000000111
+01100000000000001001000110011111
+01101000000000100100110000110000
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000000000111010100
+00100000010000000000000101001000
+00100000001000000111111111100111
+01101000000000001100110000001001
+11000001011111111000000000000000
+11000000000010001000000000100101
+11000000000010010000000000100111
+11000000000010011000000000101001
+00100000011000000000000000000000
+01110000010011000000100100000010
+00100000001000000000000101111100
+01110000010011000000100100000011
+00100000001000000000000101111100
+01110000010011000000100111111111
+01110000000010101001100100111001
+00100000010000000111110110000110
+01101000000000100100101111011001
+00100000010000000000000111100110
+00100000001000000000000101111100
+00100000010000000000010010100000
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01100000000000001100101101010111
+01110000010001101010011100000000
+00100000010000000100000001011101
+00100000010000000000001011110110
+01101000000000100100110000100001
+01100000000000100100011101111011
+00100000001000000000001101010100
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000010100001000000000000110
+11000000010100010000000000011001
+11000000010100011000000000010010
+11000000010100100000000000100001
+00100000011000000000000000000000
+01101000000000010100010100001001
+11000001000000000000000000000000
+01101000000000001000010001000001
+00011111111010110111111000000000
+00011111111001100111110000001100
+00100000011000010000000000000000
+01011000000000000000000000001001
+01100000000000010100010010010110
+01100000000000010100010010011000
+00100000010000000000010010000100
+01110000010001111100010000000001
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001100000000000000000
+11000011100000110000000000000000
+11000011100001011000000000000000
+01101000000000100100011011010011
+11000011100000101000000000000000
+00100000001000000011001110100111
+01011000000000000000000000000111
+01100000000000010100010010010110
+01100000000000010100010010011000
+01110000010001111100010000000000
+01110000010001111001110000000000
+00100000010000000000010000010101
+00100000010000000101100000010110
+00100000001000000100000111011001
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000111010010111101
+00100000010000000000001111100011
+00100000010000000011111010011111
+00100000010000000000001011001000
+00100000010000000000001110011101
+01101000000100001000000010000001
+00011111111000010111111011110111
+01100000000100001000000010000001
+01101000000100001000000001111110
+01111001001000000111111000000110
+01100000000100001000000001111110
+01101000000100001000000001111111
+01111001001000000111111000000000
+01100000000100001000000001111111
+01101000000010001100011011110011
+00100000001000000110011111101101
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+11000000010110000000000000000111
+11000000010110001000000000001001
+11000000010110010000000000001111
+11000000010110011000000000010100
+11000000010110100000000000011011
+00100000011000000000000000000000
+00100000010000000000010000010101
+00100000001000000100000111000011
+01101000000000001100100000001000
+11000001000000010000000000000000
+00011111111000001111111000000001
+01100000000000001100100000001000
+01110000010000011110001100010010
+00100000001000000011010000001110
+01101000000000001100100000001000
+11000001100000010000000000000000
+01110000010010000000100000000000
+01110000010000011110001100001110
+00100000001000000011010000001110
+01101000000000001100011110011111
+11000000000000001000000000010111
+00100000001000000000000000011001
+00100000010000000000010010000100
+01110000010001101100011000000101
+11011000111000000000000000000001
+00100000001000000100000110111001
+01110000010010101111111100000000
+01110000010010110000000100000000
+01110000010010110000101000000000
+00100000001000000100000111011001
Index: ZJL_pm8_BLE&BT/output/flash.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/flash.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/flash.dat	(working copy)
@@ -0,0 +1,12349 @@
+00
+02
+aa
+55
+02
+20
+20
+20
+00
+40
+20
+40
+04
+15
+68
+00
+c1
+de
+60
+00
+cc
+b0
+20
+40
+07
+0c
+68
+00
+c6
+85
+60
+00
+cb
+44
+68
+00
+cb
+30
+60
+00
+cb
+31
+20
+40
+43
+ca
+20
+40
+03
+10
+20
+40
+07
+9b
+20
+40
+00
+0f
+20
+40
+00
+22
+20
+20
+03
+34
+58
+00
+03
+e7
+60
+01
+4d
+2a
+58
+00
+04
+01
+60
+01
+41
+ef
+58
+00
+06
+4b
+60
+01
+41
+f9
+58
+00
+04
+30
+60
+01
+41
+f1
+58
+00
+02
+bc
+60
+01
+41
+ed
+58
+00
+04
+6d
+60
+01
+41
+f5
+58
+00
+04
+58
+60
+01
+41
+f3
+58
+00
+04
+a1
+60
+01
+41
+eb
+58
+00
+04
+a8
+60
+01
+41
+fd
+20
+60
+00
+00
+58
+00
+00
+19
+60
+01
+4d
+3c
+24
+55
+80
+2a
+20
+40
+03
+12
+20
+40
+03
+31
+68
+00
+c7
+1f
+60
+00
+c7
+1e
+20
+60
+00
+00
+58
+00
+01
+77
+60
+01
+4d
+3c
+20
+60
+00
+00
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+20
+00
+00
+01
+c2
+84
+00
+58
+c0
+00
+80
+75
+c0
+01
+00
+7e
+c0
+42
+87
+78
+c0
+44
+87
+49
+c0
+0d
+86
+64
+c0
+13
+06
+66
+c0
+24
+06
+81
+c0
+25
+06
+88
+c0
+28
+86
+91
+c0
+2c
+86
+7f
+c0
+53
+86
+96
+c0
+56
+86
+af
+c0
+65
+b3
+e4
+c0
+74
+86
+c0
+c0
+50
+80
+87
+c0
+58
+80
+8c
+c0
+59
+00
+96
+c0
+62
+02
+df
+c0
+73
+05
+7a
+c0
+75
+05
+94
+c0
+75
+85
+9a
+c0
+76
+05
+a1
+20
+20
+2a
+8e
+c0
+1c
+85
+aa
+c0
+21
+85
+b2
+c0
+25
+05
+b8
+c0
+2b
+85
+bb
+c0
+2c
+85
+bd
+c0
+31
+85
+bf
+c0
+33
+05
+e9
+c0
+33
+86
+00
+c0
+35
+06
+36
+c0
+3b
+86
+41
+c0
+02
+86
+c2
+c0
+40
+06
+c4
+c0
+41
+06
+ce
+c0
+44
+06
+d0
+c0
+46
+06
+51
+c0
+46
+86
+5d
+c0
+50
+05
+31
+c0
+7d
+06
+f4
+20
+20
+2a
+8e
+1f
+e2
+22
+00
+68
+08
+cc
+b4
+58
+00
+4c
+bb
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+cc
+b4
+20
+60
+00
+00
+d8
+a0
+09
+ae
+df
+20
+00
+0c
+20
+40
+7e
+d4
+20
+40
+03
+f8
+20
+40
+6a
+03
+20
+40
+5c
+f6
+24
+55
+ac
+65
+20
+40
+7c
+cd
+20
+20
+20
+0c
+20
+55
+b2
+e3
+20
+40
+75
+6a
+20
+55
+ab
+41
+20
+40
+76
+dc
+68
+00
+c6
+5a
+20
+3a
+20
+12
+68
+00
+c5
+b1
+20
+3a
+00
+81
+20
+20
+20
+12
+58
+00
+0a
+06
+60
+01
+c5
+10
+58
+00
+1d
+87
+60
+01
+45
+13
+20
+20
+2a
+a2
+c6
+13
+00
+00
+68
+00
+c7
+9c
+c0
+00
+7f
+ef
+68
+00
+c7
+c4
+c0
+00
+ff
+ef
+68
+01
+42
+48
+24
+3a
+7f
+ef
+68
+00
+c8
+06
+24
+3a
+7f
+ef
+20
+20
+7f
+f1
+c6
+93
+00
+00
+68
+00
+cd
+39
+c0
+00
+80
+ae
+20
+40
+01
+45
+24
+34
+00
+ca
+20
+40
+01
+2c
+20
+40
+01
+69
+68
+00
+cc
+09
+c1
+ff
+80
+00
+20
+40
+07
+1d
+20
+40
+00
+aa
+68
+00
+cb
+26
+c0
+00
+83
+ea
+20
+40
+00
+d5
+24
+74
+00
+00
+20
+40
+02
+c3
+58
+00
+ec
+54
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+58
+01
+77
+00
+60
+01
+cc
+28
+70
+4b
+64
+14
+20
+60
+00
+00
+20
+40
+02
+8e
+24
+74
+00
+00
+20
+40
+00
+c4
+68
+01
+4d
+3a
+1f
+e0
+fe
+01
+60
+01
+4d
+3a
+68
+09
+4d
+3c
+98
+46
+7c
+00
+20
+42
+80
+b8
+20
+20
+00
+99
+70
+4d
+39
+00
+58
+00
+00
+00
+60
+01
+4d
+3a
+58
+00
+00
+64
+60
+01
+4d
+3c
+70
+4c
+34
+00
+68
+00
+cc
+1f
+60
+00
+cc
+1e
+20
+60
+00
+00
+68
+00
+cc
+20
+60
+00
+cc
+1e
+20
+60
+00
+00
+68
+00
+cc
+34
+1f
+e0
+fe
+01
+60
+00
+cc
+34
+c0
+02
+00
+c1
+c0
+02
+80
+bd
+20
+60
+00
+00
+68
+00
+cc
+25
+20
+5a
+00
+de
+68
+00
+c6
+cf
+1f
+e6
+7c
+0a
+20
+61
+00
+00
+20
+40
+00
+d5
+24
+74
+00
+00
+68
+01
+cc
+28
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+78
+34
+7c
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+3a
+7f
+e9
+68
+00
+c0
+91
+20
+3a
+7f
+e9
+68
+00
+cd
+39
+c0
+00
+ff
+e9
+20
+20
+02
+c6
+70
+4c
+25
+01
+70
+4d
+2e
+00
+20
+40
+00
+f1
+60
+00
+cb
+95
+58
+00
+00
+00
+60
+03
+cb
+96
+68
+02
+4c
+30
+60
+02
+4b
+9d
+70
+4b
+f9
+0c
+68
+00
+cb
+fa
+79
+20
+7e
+03
+60
+00
+cb
+fa
+20
+40
+01
+48
+20
+20
+00
+9c
+68
+02
+40
+a0
+60
+02
+4c
+30
+20
+60
+00
+00
+70
+4d
+2f
+01
+70
+4d
+31
+00
+68
+00
+cb
+fa
+1f
+e1
+7e
+07
+60
+00
+cb
+fa
+20
+60
+00
+00
+68
+00
+cb
+fa
+79
+20
+7e
+04
+60
+00
+cb
+fa
+60
+00
+cb
+b5
+20
+60
+00
+00
+68
+00
+cb
+fa
+79
+3f
+fe
+04
+60
+00
+cb
+fa
+60
+00
+cb
+b5
+20
+40
+07
+13
+20
+40
+02
+06
+20
+60
+00
+00
+20
+40
+07
+13
+68
+00
+cd
+30
+c0
+00
+81
+06
+c0
+01
+01
+0a
+20
+60
+00
+00
+70
+4d
+31
+02
+70
+4d
+2d
+00
+70
+4d
+2f
+00
+20
+20
+00
+f1
+70
+4d
+2e
+00
+20
+20
+01
+07
+68
+01
+4b
+ff
+1f
+e0
+fe
+01
+60
+01
+4b
+ff
+c2
+85
+01
+a7
+68
+00
+cd
+2e
+c0
+00
+81
+15
+70
+4d
+2e
+01
+68
+00
+cd
+2e
+c0
+80
+80
+f1
+68
+00
+cd
+2c
+1f
+e0
+fe
+01
+60
+00
+cd
+2c
+c0
+02
+01
+1c
+20
+40
+02
+06
+70
+4c
+3e
+02
+20
+20
+01
+69
+20
+40
+07
+13
+70
+4d
+2c
+00
+20
+20
+00
+f1
+70
+4d
+31
+02
+70
+4d
+2f
+01
+70
+4d
+2e
+00
+20
+20
+00
+f1
+68
+00
+cd
+30
+c0
+01
+81
+20
+68
+00
+cb
+fa
+2f
+ec
+00
+04
+20
+20
+80
+ef
+68
+00
+cd
+30
+c0
+00
+81
+1f
+c0
+01
+01
+20
+20
+60
+00
+00
+68
+00
+cc
+09
+c1
+ff
+80
+00
+20
+40
+01
+31
+24
+56
+01
+39
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cd
+2f
+c1
+80
+80
+00
+68
+00
+cd
+31
+c1
+80
+00
+00
+70
+4d
+30
+01
+70
+4c
+3e
+04
+20
+20
+7f
+eb
+68
+00
+cd
+31
+20
+3a
+01
+40
+1f
+e0
+ff
+ff
+60
+00
+cd
+31
+70
+4d
+30
+02
+70
+4c
+3e
+04
+20
+20
+02
+06
+70
+4d
+30
+03
+68
+00
+cd
+2e
+24
+3a
+01
+13
+70
+4c
+3e
+02
+20
+20
+02
+06
+68
+00
+cc
+09
+c0
+ff
+81
+bf
+20
+40
+01
+4b
+20
+40
+01
+f4
+70
+4b
+fe
+01
+20
+60
+00
+00
+68
+01
+4d
+2a
+20
+40
+7f
+9c
+20
+34
+01
+51
+68
+03
+cb
+96
+20
+7a
+00
+00
+20
+20
+7f
+e7
+20
+40
+04
+a0
+20
+40
+03
+25
+70
+4c
+25
+00
+1a
+20
+fe
+01
+60
+00
+cb
+f9
+20
+40
+00
+f1
+60
+00
+cb
+95
+e8
+a8
+80
+00
+ea
+40
+80
+00
+98
+41
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+ea
+42
+00
+00
+e0
+a2
+00
+00
+1a
+40
+a4
+04
+d8
+a0
+4b
+9b
+df
+20
+00
+02
+ea
+40
+80
+00
+e8
+a8
+80
+00
+98
+40
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+c2
+00
+01
+62
+20
+60
+00
+00
+70
+4c
+02
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+01
+8b
+68
+00
+cc
+35
+c1
+00
+80
+00
+24
+2c
+01
+9a
+24
+37
+81
+9a
+20
+40
+01
+83
+20
+40
+01
+b8
+20
+40
+07
+0f
+70
+4b
+56
+00
+68
+00
+cb
+f8
+1f
+e0
+fe
+01
+60
+00
+cb
+f8
+20
+40
+01
+86
+68
+00
+cc
+09
+c0
+ff
+81
+89
+20
+40
+01
+23
+58
+00
+00
+00
+60
+01
+4b
+ff
+60
+00
+cc
+01
+60
+00
+cd
+2d
+60
+00
+cb
+5d
+70
+4b
+fe
+00
+20
+60
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+95
+20
+20
+7e
+c6
+68
+00
+cb
+fa
+c2
+82
+00
+fa
+20
+60
+00
+00
+20
+40
+07
+0c
+20
+20
+01
+c1
+78
+57
+fc
+00
+20
+40
+02
+6d
+68
+00
+cc
+35
+c0
+00
+81
+98
+18
+00
+2a
+00
+68
+02
+4c
+21
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+02
+29
+20
+57
+82
+65
+20
+60
+00
+00
+20
+40
+02
+65
+20
+20
+01
+74
+68
+00
+cc
+25
+24
+7a
+00
+00
+68
+01
+4b
+ff
+1f
+e0
+fe
+01
+60
+01
+4b
+ff
+68
+00
+cc
+00
+c2
+82
+01
+a9
+68
+00
+cc
+09
+c0
+ff
+81
+a5
+20
+40
+01
+ae
+20
+20
+01
+6a
+68
+00
+cb
+ff
+c1
+ff
+80
+00
+58
+00
+00
+00
+60
+01
+4b
+ff
+70
+0a
+99
+3a
+20
+20
+7d
+86
+20
+40
+07
+40
+20
+40
+07
+13
+20
+20
+02
+06
+68
+00
+cc
+02
+1f
+e6
+7c
+0b
+24
+21
+01
+ab
+1f
+e0
+fe
+01
+60
+00
+cc
+02
+c0
+01
+00
+f5
+c0
+03
+00
+fa
+c0
+04
+00
+f5
+c0
+06
+00
+fa
+20
+60
+00
+00
+20
+40
+01
+d9
+68
+00
+cb
+f7
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+4b
+75
+d8
+a0
+4b
+d7
+20
+20
+7f
+01
+70
+11
+c5
+90
+20
+20
+07
+7a
+70
+11
+c5
+91
+20
+20
+07
+7a
+70
+11
+c5
+60
+20
+20
+07
+7a
+70
+11
+c5
+70
+20
+20
+07
+7a
+70
+11
+9e
+ff
+68
+00
+cb
+fa
+60
+00
+91
+9f
+68
+02
+4c
+30
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+01
+d4
+20
+20
+01
+f4
+79
+3f
+80
+26
+20
+40
+53
+ce
+d8
+e0
+00
+03
+20
+20
+43
+d2
+60
+08
+cb
+f9
+18
+42
+72
+00
+d8
+a0
+4b
+95
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+cb
+74
+1f
+e9
+7e
+00
+60
+00
+cb
+f7
+1f
+e0
+fe
+01
+d8
+c0
+4b
+74
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+cc
+36
+68
+00
+cb
+74
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+cc
+3c
+20
+60
+00
+00
+60
+02
+4c
+21
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4c
+21
+e8
+c0
+80
+00
+9a
+20
+a2
+00
+c2
+00
+01
+ea
+1a
+22
+7e
+00
+60
+01
+4c
+aa
+68
+00
+cc
+aa
+68
+08
+cc
+ab
+98
+40
+fe
+00
+60
+00
+cc
+ac
+20
+60
+00
+00
+68
+00
+cb
+f9
+1f
+e0
+fe
+02
+60
+00
+cb
+fb
+68
+00
+cb
+fa
+60
+00
+cb
+b5
+68
+00
+cb
+f9
+1f
+e9
+fe
+00
+68
+08
+cb
+f8
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cc
+35
+98
+40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cb
+f9
+98
+00
+72
+00
+d8
+c0
+4b
+95
+20
+20
+7f
+01
+68
+08
+cc
+04
+20
+40
+02
+0a
+60
+08
+cc
+04
+20
+60
+00
+00
+20
+40
+02
+0e
+18
+40
+84
+01
+18
+41
+04
+03
+20
+60
+00
+00
+68
+00
+cc
+21
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4c
+0a
+9a
+20
+fe
+00
+98
+40
+8c
+00
+e8
+c0
+80
+00
+60
+00
+cc
+03
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+68
+00
+cc
+03
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+53
+c4
+68
+02
+4c
+21
+98
+00
+12
+00
+20
+40
+29
+18
+68
+08
+cc
+03
+20
+40
+29
+1f
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+40
+29
+24
+20
+40
+02
+17
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4b
+fc
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+02
+69
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+20
+40
+02
+62
+60
+00
+cc
+ad
+68
+08
+cc
+ac
+98
+46
+7c
+00
+24
+22
+82
+65
+20
+40
+02
+62
+60
+00
+cb
+73
+68
+00
+cc
+3f
+1f
+e6
+7c
+02
+20
+22
+82
+45
+68
+00
+cb
+73
+68
+08
+cb
+fa
+a8
+40
+0e
+00
+24
+20
+82
+65
+20
+40
+02
+62
+e0
+a0
+80
+00
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+82
+4d
+20
+40
+02
+62
+e0
+a0
+80
+00
+c2
+00
+02
+4a
+18
+a2
+22
+00
+20
+40
+02
+62
+60
+00
+cd
+34
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e0
+a1
+80
+00
+78
+45
+fc
+00
+20
+23
+02
+65
+78
+37
+fc
+00
+68
+00
+80
+17
+1f
+e0
+a2
+00
+20
+40
+29
+81
+78
+46
+fc
+00
+20
+40
+29
+18
+68
+00
+cd
+34
+20
+40
+00
+6b
+20
+60
+00
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+40
+26
+4d
+20
+60
+00
+00
+20
+20
+02
+65
+20
+40
+29
+18
+68
+08
+cc
+03
+20
+20
+29
+33
+20
+40
+53
+c4
+68
+02
+4c
+21
+98
+00
+12
+00
+20
+40
+02
+17
+20
+40
+02
+6a
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+68
+00
+cc
+ac
+08
+00
+86
+08
+68
+00
+cb
+fb
+98
+00
+72
+00
+d8
+c0
+4b
+b5
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+02
+83
+78
+24
+7c
+00
+08
+00
+86
+18
+78
+44
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
+20
+60
+00
+00
+20
+40
+7f
+e9
+68
+0a
+4c
+1a
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+4c
+1a
+68
+08
+cc
+1e
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+4c
+1a
+20
+20
+7f
+e7
+20
+40
+29
+bb
+20
+7a
+00
+00
+68
+08
+cc
+b3
+da
+20
+0d
+9e
+20
+40
+02
+a4
+60
+08
+cc
+b3
+20
+60
+00
+00
+1a
+22
+7e
+00
+98
+40
+8a
+00
+68
+00
+80
+18
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+20
+60
+00
+00
+d8
+40
+00
+00
+df
+20
+00
+08
+1a
+22
+0c
+00
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+02
+ae
+18
+49
+7e
+00
+1f
+e2
+04
+00
+c6
+93
+00
+00
+1f
+e6
+fc
+0a
+20
+40
+7f
+86
+18
+07
+fe
+00
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
+00
+20
+60
+00
+00
+20
+60
+00
+00
+c6
+13
+00
+00
+20
+40
+03
+ee
+20
+40
+02
+c6
+68
+00
+c0
+40
+c3
+00
+02
+c3
+68
+00
+80
+a0
+24
+7a
+00
+00
+58
+00
+00
+00
+60
+04
+00
+a1
+20
+60
+00
+00
+20
+40
+02
+dc
+20
+40
+02
+c3
+20
+40
+3e
+bf
+20
+40
+03
+36
+68
+12
+00
+70
+68
+1a
+00
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
+68
+10
+80
+7c
+79
+3f
+fe
+06
+60
+10
+80
+7c
+68
+10
+80
+7c
+79
+20
+7e
+05
+60
+10
+80
+7c
+68
+10
+80
+7d
+79
+3f
+fe
+02
+60
+10
+80
+7d
+68
+10
+80
+7e
+79
+3f
+fe
+06
+60
+10
+80
+7e
+20
+60
+00
+00
+68
+00
+ca
+fe
+20
+7a
+00
+00
+20
+20
+3d
+80
+20
+40
+29
+6c
+20
+40
+34
+16
+20
+40
+74
+b9
+20
+35
+82
+f5
+20
+40
+00
+01
+d8
+40
+02
+58
+68
+01
+46
+aa
+98
+46
+04
+00
+60
+09
+4b
+59
+20
+40
+02
+f6
+70
+4b
+50
+19
+20
+40
+05
+18
+20
+40
+04
+fb
+da
+20
+47
+21
+68
+00
+c7
+20
+68
+08
+c7
+03
+98
+46
+7c
+00
+20
+22
+83
+af
+68
+00
+c2
+10
+c0
+19
+82
+f9
+c0
+1a
+02
+fd
+20
+60
+00
+00
+20
+20
+03
+10
+68
+00
+cc
+b0
+60
+00
+c1
+de
+20
+60
+00
+00
+70
+4b
+55
+01
+68
+03
+41
+d0
+20
+3a
+33
+eb
+20
+20
+42
+74
+70
+47
+9f
+01
+68
+01
+46
+a8
+60
+01
+46
+ae
+20
+40
+34
+18
+20
+40
+03
+07
+58
+00
+00
+04
+e0
+c0
+80
+00
+d8
+c0
+43
+90
+20
+40
+05
+9d
+20
+20
+7d
+f4
+da
+20
+43
+70
+ea
+20
+80
+00
+20
+7a
+00
+00
+98
+c0
+a2
+00
+e8
+c0
+80
+00
+c1
+00
+80
+00
+20
+20
+03
+08
+70
+11
+c5
+61
+20
+20
+07
+7a
+70
+42
+12
+76
+20
+20
+3d
+36
+20
+40
+03
+10
+20
+40
+40
+c0
+20
+40
+40
+d9
+c0
+18
+83
+1d
+20
+40
+40
+d1
+20
+00
+03
+e8
+20
+20
+03
+14
+70
+4a
+fe
+01
+20
+40
+64
+0f
+20
+40
+03
+12
+20
+20
+64
+11
+20
+40
+03
+2a
+68
+00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
+20
+60
+00
+00
+70
+41
+72
+00
+70
+4b
+63
+1e
+20
+60
+00
+00
+68
+00
+cb
+62
+c1
+80
+80
+00
+58
+00
+00
+00
+60
+00
+cb
+62
+60
+02
+46
+9b
+20
+40
+03
+10
+58
+00
+80
+06
+20
+40
+64
+13
+20
+00
+2e
+e0
+68
+00
+c7
+7a
+c0
+7f
+bd
+66
+20
+20
+3d
+80
+20
+40
+03
+10
+58
+00
+08
+06
+20
+20
+64
+13
+70
+11
+c5
+80
+20
+20
+07
+7a
+68
+08
+cb
+43
+20
+20
+68
+25
+70
+80
+86
+40
+70
+80
+87
+00
+68
+10
+80
+81
+79
+3f
+fe
+00
+79
+3f
+fe
+01
+79
+20
+7e
+03
+79
+3f
+fe
+04
+60
+10
+80
+81
+58
+00
+00
+00
+60
+02
+01
+f5
+68
+10
+80
+7f
+79
+3f
+fe
+00
+60
+10
+80
+7f
+20
+60
+00
+00
+20
+40
+03
+a6
+20
+40
+44
+23
+68
+01
+47
+78
+d8
+40
+aa
+55
+98
+46
+7c
+00
+20
+22
+83
+83
+60
+09
+47
+78
+20
+40
+44
+1c
+68
+00
+c6
+e1
+60
+00
+c7
+7a
+68
+02
+4b
+51
+60
+02
+47
+7b
+60
+02
+4c
+21
+20
+40
+03
+97
+20
+40
+03
+a6
+20
+40
+03
+62
+20
+40
+03
+7a
+20
+40
+03
+66
+20
+40
+03
+71
+d8
+40
+00
+02
+da
+20
+47
+c2
+da
+40
+00
+5f
+68
+01
+c7
+00
+9a
+40
+fe
+00
+20
+40
+03
+66
+20
+40
+03
+71
+20
+40
+03
+9d
+20
+20
+03
+10
+68
+01
+c7
+00
+60
+01
+c2
+32
+20
+40
+65
+2a
+20
+20
+03
+71
+1f
+e2
+26
+00
+1a
+22
+7e
+00
+1f
+e0
+ff
+fc
+1f
+e2
+24
+00
+ea
+42
+00
+00
+60
+02
+4b
+4c
+1a
+62
+7e
+00
+20
+40
+65
+52
+68
+02
+4b
+4c
+e2
+42
+00
+00
+20
+60
+00
+00
+58
+01
+86
+a0
+20
+40
+2a
+8f
+20
+40
+65
+0b
+58
+00
+01
+fa
+60
+11
+00
+8c
+58
+00
+00
+05
+20
+40
+64
+f3
+c2
+80
+03
+71
+20
+60
+00
+00
+58
+00
+47
+7f
+d8
+40
+47
+20
+98
+46
+04
+00
+68
+01
+c7
+00
+da
+20
+47
+20
+20
+60
+00
+00
+20
+40
+03
+a6
+20
+40
+03
+7a
+20
+20
+65
+62
+20
+40
+03
+80
+20
+40
+03
+a8
+20
+40
+43
+1a
+68
+02
+47
+7b
+60
+02
+4c
+21
+df
+20
+00
+03
+d8
+c0
+47
+22
+20
+40
+03
+8e
+24
+34
+03
+95
+20
+40
+03
+97
+20
+60
+00
+00
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+03
+90
+20
+60
+00
+00
+70
+4b
+61
+5a
+20
+60
+00
+00
+70
+4b
+61
+ff
+70
+42
+10
+34
+58
+0f
+0f
+0f
+60
+01
+c4
+a0
+60
+01
+c4
+a3
+20
+60
+00
+00
+70
+0a
+a2
+b9
+20
+40
+03
+38
+20
+00
+00
+64
+20
+40
+65
+0b
+da
+20
+4b
+4c
+68
+08
+8a
+a2
+20
+40
+65
+56
+20
+00
+00
+64
+20
+60
+00
+00
+70
+0a
+a2
+ab
+20
+20
+03
+9e
+20
+40
+03
+a6
+d8
+40
+00
+02
+da
+20
+47
+c2
+da
+40
+00
+5f
+68
+01
+c7
+00
+9a
+40
+fe
+00
+20
+20
+65
+62
+58
+00
+00
+00
+60
+01
+4c
+26
+20
+20
+01
+c3
+68
+00
+c7
+20
+c1
+81
+00
+00
+68
+00
+cb
+5d
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cb
+5d
+20
+3a
+34
+0a
+1f
+e1
+7e
+0f
+c0
+02
+83
+d4
+c0
+05
+03
+d1
+20
+60
+00
+00
+68
+00
+c6
+ac
+20
+7a
+00
+00
+68
+00
+cb
+5c
+1f
+e0
+fe
+01
+60
+00
+cb
+5c
+c0
+02
+83
+e1
+c0
+05
+03
+dc
+20
+60
+00
+00
+68
+00
+cb
+50
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cb
+50
+68
+00
+c7
+20
+c0
+01
+03
+ce
+68
+00
+cb
+50
+c2
+80
+83
+dd
+20
+20
+03
+e1
+68
+00
+cb
+50
+c2
+80
+83
+d4
+20
+20
+03
+d1
+70
+4b
+49
+00
+68
+08
+cb
+4a
+20
+20
+05
+84
+70
+4b
+49
+01
+68
+10
+80
+7c
+79
+3f
+fe
+05
+60
+10
+80
+7c
+68
+08
+cb
+4a
+20
+40
+68
+0e
+68
+08
+cb
+4a
+20
+20
+68
+25
+70
+4b
+5c
+00
+68
+08
+cb
+4b
+20
+40
+68
+0e
+68
+08
+cb
+4b
+20
+20
+68
+29
+68
+08
+cb
+4b
+20
+20
+05
+8f
+20
+40
+03
+e1
+20
+20
+03
+d1
+70
+4b
+50
+00
+20
+60
+00
+00
+20
+40
+44
+01
+68
+01
+46
+9f
+20
+7a
+00
+00
+70
+4d
+39
+01
+58
+00
+00
+00
+60
+01
+4d
+3a
+20
+60
+00
+00
+d8
+c0
+18
+00
+d8
+a0
+48
+0a
+20
+40
+03
+f6
+d8
+c0
+19
+00
+20
+40
+03
+f6
+d8
+c0
+1a
+00
+20
+40
+03
+f6
+d8
+c0
+1b
+00
+df
+20
+00
+1b
+20
+20
+7f
+01
+d8
+c0
+48
+0a
+d8
+a0
+18
+00
+20
+40
+03
+f6
+d8
+a0
+19
+00
+20
+40
+03
+f6
+d8
+a0
+1a
+00
+20
+40
+03
+f6
+d8
+a0
+1b
+00
+20
+20
+03
+f6
+20
+40
+58
+92
+24
+7a
+00
+00
+68
+00
+cb
+61
+c0
+7f
+84
+08
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
+00
+68
+00
+c7
+9c
+20
+5a
+04
+55
+68
+02
+46
+d3
+c2
+82
+c1
+79
+20
+40
+3f
+97
+24
+74
+00
+00
+20
+40
+03
+22
+20
+40
+03
+25
+20
+40
+04
+2b
+da
+20
+46
+9a
+20
+40
+7e
+3d
+20
+54
+04
+1a
+20
+60
+00
+00
+70
+47
+a0
+07
+70
+47
+a1
+04
+58
+00
+47
+a0
+60
+01
+42
+18
+20
+20
+7e
+38
+68
+00
+c7
+c1
+1f
+e0
+fe
+01
+60
+00
+c7
+c1
+20
+60
+00
+00
+da
+20
+46
+9a
+20
+40
+7e
+54
+20
+34
+04
+22
+20
+60
+00
+00
+20
+40
+56
+52
+68
+00
+c7
+c1
+1f
+e6
+7c
+01
+24
+41
+56
+50
+68
+00
+c7
+c1
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+c7
+c1
+20
+20
+3f
+90
+68
+01
+46
+9f
+20
+7a
+00
+00
+70
+48
+06
+01
+70
+48
+07
+02
+20
+60
+00
+00
+20
+77
+00
+00
+68
+00
+c1
+e2
+20
+7a
+00
+00
+20
+40
+52
+71
+24
+7a
+00
+00
+68
+00
+c7
+9c
+20
+5a
+04
+55
+68
+02
+46
+d3
+c2
+82
+bf
+8a
+c2
+84
+bf
+8a
+20
+40
+3f
+97
+24
+74
+00
+00
+20
+40
+03
+22
+20
+40
+03
+25
+20
+40
+04
+2b
+68
+00
+cb
+03
+c0
+00
+84
+44
+68
+00
+cb
+0a
+20
+7a
+00
+00
+20
+20
+3f
+81
+68
+00
+c6
+9a
+60
+00
+cb
+04
+68
+00
+c6
+9b
+e0
+a0
+80
+00
+68
+00
+c6
+9d
+e0
+a0
+80
+00
+68
+01
+46
+9f
+e0
+a1
+00
+00
+da
+20
+00
+07
+20
+40
+4d
+63
+68
+01
+42
+4e
+e0
+a1
+00
+00
+58
+00
+02
+a1
+e0
+a1
+00
+00
+68
+02
+cb
+04
+e0
+a2
+80
+00
+20
+60
+00
+00
+70
+47
+9c
+01
+20
+40
+58
+14
+20
+20
+03
+19
+20
+40
+7e
+34
+20
+40
+04
+5b
+20
+20
+3e
+e0
+68
+08
+c6
+e7
+20
+40
+05
+86
+20
+40
+04
+60
+68
+08
+c6
+e7
+20
+20
+05
+8f
+68
+08
+c6
+e7
+20
+40
+68
+1d
+20
+20
+bd
+62
+68
+00
+c6
+b6
+c1
+00
+00
+00
+70
+46
+b6
+00
+68
+00
+c7
+7a
+1f
+e0
+fe
+01
+1f
+e6
+7c
+03
+24
+41
+7f
+ef
+60
+00
+c7
+7a
+20
+40
+3d
+7e
+20
+20
+03
+54
+1a
+62
+7e
+00
+c0
+0a
+04
+7e
+c0
+0a
+84
+81
+c0
+14
+84
+84
+c0
+19
+04
+86
+c0
+20
+04
+88
+c0
+02
+04
+8a
+c0
+09
+84
+8a
+c0
+0c
+b3
+df
+c0
+10
+84
+8e
+c0
+00
+84
+90
+c0
+01
+04
+93
+c0
+15
+84
+96
+c0
+1c
+84
+98
+c0
+1d
+04
+9b
+c0
+1e
+04
+9f
+20
+20
+41
+7d
+20
+40
+03
+19
+70
+11
+c5
+b0
+20
+20
+07
+7a
+20
+40
+04
+a4
+70
+11
+c5
+a2
+20
+20
+07
+7a
+70
+0a
+99
+12
+20
+20
+7d
+8f
+70
+11
+c5
+b3
+20
+20
+07
+7a
+70
+11
+c5
+a1
+20
+20
+07
+7a
+70
+11
+c5
+a3
+20
+20
+07
+7a
+20
+40
+43
+8e
+20
+20
+33
+a7
+70
+11
+c5
+b1
+20
+20
+07
+7a
+70
+48
+09
+00
+20
+40
+03
+19
+20
+20
+42
+ca
+20
+40
+04
+a4
+70
+11
+c5
+b4
+20
+20
+07
+7a
+70
+11
+c5
+b2
+20
+20
+07
+7a
+20
+40
+03
+19
+70
+11
+c5
+92
+20
+20
+07
+7a
+20
+40
+04
+a4
+70
+4b
+56
+00
+70
+11
+c5
+51
+20
+20
+07
+7a
+20
+40
+03
+19
+20
+20
+3f
+8d
+20
+40
+04
+a4
+70
+11
+c5
+a4
+20
+20
+07
+7a
+68
+00
+ca
+fe
+20
+7a
+00
+00
+70
+4a
+fe
+00
+20
+20
+03
+31
+20
+40
+05
+18
+20
+40
+04
+b8
+20
+40
+04
+d7
+20
+40
+04
+fb
+20
+40
+42
+34
+20
+40
+42
+3a
+20
+40
+04
+dc
+20
+40
+04
+e2
+20
+40
+42
+37
+20
+40
+04
+d4
+20
+40
+04
+cc
+20
+40
+42
+31
+20
+40
+04
+cf
+20
+40
+03
+bd
+20
+40
+03
+b2
+20
+20
+03
+c5
+68
+02
+46
+d3
+c4
+02
+00
+00
+68
+00
+c6
+ae
+24
+3a
+03
+d1
+68
+00
+c6
+ac
+24
+3a
+03
+d1
+68
+00
+cb
+50
+24
+3a
+03
+d1
+68
+00
+c6
+cf
+1f
+e0
+fe
+01
+60
+00
+c6
+cf
+1f
+e6
+7c
+14
+24
+41
+04
+ca
+c0
+01
+03
+d4
+c0
+02
+03
+d1
+c0
+03
+03
+d4
+c0
+04
+03
+d1
+20
+60
+00
+00
+70
+46
+cf
+01
+20
+20
+03
+d1
+da
+60
+48
+09
+da
+40
+63
+7a
+20
+20
+33
+6d
+da
+60
+4b
+09
+da
+40
+04
+d2
+20
+20
+33
+6d
+70
+4b
+0a
+01
+20
+60
+00
+00
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
+da
+60
+48
+07
+da
+40
+04
+da
+20
+20
+33
+6d
+70
+48
+06
+00
+20
+60
+00
+00
+da
+60
+4b
+63
+da
+40
+04
+df
+20
+20
+33
+6d
+68
+00
+c7
+c5
+60
+00
+c1
+72
+20
+20
+04
+e7
+da
+60
+4b
+64
+da
+40
+04
+e5
+20
+20
+33
+6d
+58
+0e
+a6
+00
+60
+01
+cc
+28
+70
+4b
+62
+01
+20
+60
+00
+00
+da
+60
+4b
+44
+da
+40
+04
+ec
+20
+20
+33
+6d
+68
+08
+c7
+20
+68
+00
+c7
+03
+98
+46
+7c
+00
+20
+62
+80
+00
+68
+01
+46
+82
+2f
+ef
+fe
+0b
+20
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
+20
+40
+c3
+92
+20
+20
+43
+b8
+70
+4b
+60
+01
+20
+60
+00
+00
+70
+4b
+60
+00
+20
+60
+00
+00
+68
+00
+cb
+60
+20
+3a
+05
+07
+20
+40
+04
+e9
+68
+00
+c6
+d9
+c1
+00
+00
+00
+68
+01
+46
+a8
+60
+01
+46
+ae
+18
+00
+0e
+03
+68
+01
+40
+b9
+20
+40
+7f
+08
+70
+46
+d9
+00
+20
+60
+00
+00
+68
+00
+c6
+d9
+c1
+00
+80
+00
+68
+00
+c6
+85
+60
+00
+cb
+44
+70
+46
+d9
+01
+20
+60
+00
+00
+68
+08
+c7
+20
+18
+40
+84
+01
+68
+00
+c6
+d2
+98
+46
+7c
+00
+24
+41
+43
+cc
+60
+08
+c7
+20
+70
+41
+bd
+00
+20
+40
+03
+54
+68
+02
+46
+d3
+c1
+04
+80
+00
+20
+20
+43
+7e
+68
+00
+c6
+ce
+1f
+e0
+fe
+01
+60
+00
+c6
+ce
+1f
+e6
+7c
+0a
+20
+41
+05
+2a
+24
+41
+05
+2e
+20
+40
+68
+a8
+20
+40
+05
+4d
+20
+40
+69
+08
+60
+01
+47
+0f
+da
+20
+47
+09
+20
+40
+05
+57
+68
+00
+c2
+31
+c2
+81
+04
+f7
+c2
+80
+b4
+0a
+c3
+00
+05
+45
+70
+4a
+fd
+01
+20
+20
+43
+e7
+68
+00
+cb
+49
+24
+3a
+05
+2e
+70
+42
+2d
+02
+20
+60
+00
+00
+70
+46
+ce
+00
+70
+42
+2d
+00
+20
+60
+00
+00
+68
+00
+c2
+2d
+c0
+01
+05
+34
+20
+20
+69
+0a
+68
+01
+42
+23
+68
+09
+42
+1d
+da
+60
+00
+32
+20
+20
+05
+38
+98
+46
+22
+00
+68
+01
+42
+2f
+98
+46
+7e
+00
+24
+21
+05
+3d
+20
+20
+69
+1e
+18
+42
+7e
+00
+68
+09
+42
+2f
+98
+46
+7e
+00
+9a
+26
+7c
+00
+20
+41
+05
+43
+20
+20
+69
+2a
+1a
+22
+7e
+00
+20
+60
+00
+00
+20
+40
+43
+e9
+70
+46
+cf
+0c
+68
+00
+ca
+fd
+20
+7a
+00
+00
+70
+4a
+fd
+00
+68
+00
+c6
+ef
+60
+00
+c7
+15
+20
+20
+42
+96
+68
+00
+c2
+2d
+c0
+01
+05
+50
+20
+20
+68
+ec
+68
+10
+80
+7c
+79
+3f
+fe
+05
+60
+10
+80
+7c
+70
+89
+71
+8f
+68
+00
+c2
+2e
+60
+10
+89
+73
+20
+20
+68
+f8
+ea
+24
+00
+00
+60
+04
+0a
+9a
+68
+00
+c2
+2d
+c0
+01
+05
+68
+c0
+00
+05
+5c
+68
+01
+0a
+a0
+68
+09
+0a
+9c
+98
+46
+7c
+00
+24
+21
+69
+44
+20
+40
+05
+6e
+68
+09
+0a
+9e
+98
+46
+7c
+00
+24
+21
+69
+40
+68
+00
+c2
+31
+79
+3f
+fe
+00
+60
+00
+c2
+31
+20
+60
+00
+00
+68
+09
+4b
+5e
+68
+01
+0a
+a0
+98
+46
+7c
+00
+24
+21
+05
+72
+20
+40
+04
+f9
+20
+20
+05
+76
+68
+08
+c2
+31
+79
+3f
+84
+01
+60
+08
+c2
+31
+20
+60
+00
+00
+68
+08
+c2
+31
+79
+20
+04
+02
+60
+08
+c2
+31
+20
+60
+00
+00
+68
+08
+c2
+31
+79
+3f
+84
+02
+60
+08
+c2
+31
+20
+60
+00
+00
+78
+54
+7c
+00
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+3f
+b5
+20
+40
+40
+79
+20
+40
+40
+7e
+20
+40
+40
+99
+24
+34
+07
+9b
+20
+40
+07
+9e
+20
+20
+3f
+a0
+79
+3f
+84
+07
+20
+20
+68
+06
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+05
+8a
+70
+4b
+50
+00
+28
+0f
+fe
+26
+20
+40
+81
+d0
+20
+20
+42
+6d
+70
+11
+c5
+81
+20
+20
+07
+7a
+70
+4b
+5c
+00
+70
+11
+c5
+50
+20
+20
+07
+7a
+d8
+a0
+43
+7b
+df
+20
+00
+13
+20
+40
+7f
+01
+20
+20
+57
+b8
+58
+00
+00
+00
+60
+01
+46
+ac
+60
+00
+cb
+5b
+60
+00
+c7
+14
+60
+00
+cb
+5c
+70
+4b
+47
+05
+20
+40
+03
+e1
+20
+40
+03
+2a
+20
+20
+42
+cb
+68
+00
+c5
+0f
+1f
+e0
+fe
+01
+60
+00
+c5
+0f
+c0
+06
+53
+95
+20
+40
+55
+aa
+20
+40
+56
+1e
+20
+40
+07
+1d
+20
+20
+53
+8f
+68
+00
+80
+16
+1f
+e0
+fe
+01
+60
+00
+80
+16
+c1
+94
+00
+00
+70
+00
+16
+25
+20
+60
+00
+00
+20
+40
+29
+bb
+20
+40
+00
+6b
+20
+20
+54
+a3
+70
+11
+c5
+40
+20
+20
+07
+7a
+70
+11
+c5
+41
+20
+20
+07
+7a
+68
+00
+84
+56
+c2
+82
+85
+d3
+20
+40
+07
+0f
+68
+00
+c7
+8e
+24
+3a
+05
+c9
+68
+00
+84
+3f
+c3
+02
+05
+cd
+68
+00
+82
+da
+20
+3a
+05
+cd
+20
+20
+56
+64
+68
+00
+c7
+8e
+1f
+e0
+ff
+ff
+60
+00
+c7
+8e
+20
+20
+56
+64
+68
+00
+c4
+c4
+c0
+82
+85
+d0
+70
+47
+8e
+03
+20
+40
+58
+92
+20
+5a
+04
+1e
+20
+20
+56
+22
+20
+40
+05
+d5
+20
+20
+05
+e1
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
+00
+68
+00
+c7
+c1
+20
+7a
+00
+00
+68
+00
+c3
+dd
+20
+7a
+00
+00
+68
+00
+c3
+dc
+79
+20
+7e
+04
+60
+00
+c3
+dc
+20
+40
+56
+50
+20
+60
+00
+00
+20
+20
+07
+13
+68
+00
+c7
+9f
+20
+7a
+00
+00
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+01
+80
+00
+70
+46
+c6
+01
+20
+60
+00
+00
+c6
+07
+80
+00
+20
+40
+58
+90
+24
+7a
+00
+00
+68
+00
+82
+d9
+1f
+e1
+7e
+03
+60
+00
+c5
+0c
+e8
+c0
+80
+00
+1f
+e1
+7e
+1f
+60
+00
+c5
+0b
+20
+7a
+00
+00
+18
+c2
+7e
+00
+60
+01
+45
+0d
+68
+00
+c5
+0c
+c0
+01
+85
+f8
+20
+20
+56
+8d
+68
+00
+82
+db
+c0
+00
+85
+fb
+20
+20
+5c
+65
+e8
+c2
+80
+00
+60
+02
+c3
+ce
+e8
+c1
+00
+00
+60
+01
+04
+5f
+20
+20
+5c
+8a
+e8
+c1
+00
+00
+c0
+02
+06
+04
+c0
+03
+06
+31
+20
+20
+56
+98
+20
+40
+7e
+a5
+20
+40
+05
+e2
+20
+40
+7e
+9f
+e8
+c1
+80
+00
+60
+01
+84
+77
+c0
+08
+06
+13
+1f
+ec
+84
+00
+18
+46
+7c
+24
+20
+21
+06
+21
+d8
+40
+47
+c6
+60
+09
+44
+bc
+20
+40
+58
+ad
+58
+00
+8e
+7a
+60
+01
+44
+bc
+20
+60
+00
+00
+20
+40
+59
+fa
+20
+40
+58
+79
+18
+c0
+8c
+07
+e8
+c0
+80
+00
+c1
+88
+80
+00
+18
+c0
+8c
+05
+e8
+c1
+00
+00
+d8
+40
+18
+12
+98
+46
+7c
+00
+24
+62
+80
+00
+18
+c0
+8d
+fc
+58
+00
+00
+2b
+e0
+c1
+00
+00
+20
+60
+00
+00
+c0
+05
+06
+23
+20
+20
+58
+ad
+68
+09
+04
+78
+68
+00
+c4
+e9
+c2
+81
+86
+2a
+68
+01
+04
+78
+c0
+09
+da
+76
+68
+09
+04
+78
+20
+20
+59
+bf
+68
+01
+44
+fa
+98
+46
+7c
+00
+24
+22
+86
+26
+20
+40
+5a
+42
+24
+34
+06
+26
+70
+04
+7a
+05
+20
+20
+5a
+77
+e8
+c0
+80
+00
+c0
+02
+86
+34
+20
+20
+5a
+f5
+70
+11
+c5
+82
+20
+20
+07
+7a
+68
+00
+80
+16
+c0
+93
+d6
+f2
+20
+40
+06
+3c
+d8
+e0
+00
+00
+68
+01
+44
+82
+20
+20
+7f
+08
+18
+0a
+7e
+00
+d8
+40
+01
+ff
+98
+41
+7e
+00
+1f
+e0
+fe
+fa
+20
+20
+3c
+be
+78
+55
+fc
+00
+20
+37
+06
+44
+24
+36
+d8
+06
+20
+40
+2b
+cb
+68
+01
+40
+c1
+60
+01
+04
+4d
+68
+00
+c6
+c5
+2f
+e0
+06
+03
+24
+20
+ab
+de
+20
+20
+57
+fb
+68
+00
+c7
+9f
+24
+7a
+00
+00
+68
+00
+84
+78
+1f
+e6
+7e
+1a
+24
+62
+80
+00
+20
+20
+3d
+60
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
+02
+60
+18
+80
+73
+20
+40
+63
+ee
+18
+41
+04
+fd
+20
+00
+00
+0d
+20
+40
+06
+5e
+60
+18
+80
+73
+20
+60
+00
+00
+20
+40
+64
+dd
+68
+10
+80
+81
+79
+20
+7e
+00
+79
+3f
+fe
+01
+79
+3f
+fe
+03
+60
+10
+80
+81
+20
+60
+00
+00
+70
+11
+c5
+00
+20
+20
+07
+7a
+20
+40
+21
+c9
+24
+74
+00
+00
+78
+54
+7c
+00
+70
+00
+11
+20
+79
+3f
+80
+0b
+79
+3f
+80
+2d
+20
+40
+2a
+4f
+20
+40
+22
+e6
+c5
+05
+86
+73
+20
+40
+24
+55
+24
+3a
+06
+6c
+c5
+16
+86
+7b
+20
+20
+21
+ec
+20
+40
+2a
+4d
+d8
+20
+00
+10
+20
+40
+22
+dc
+79
+20
+00
+2d
+79
+3f
+80
+0b
+18
+00
+08
+01
+70
+00
+11
+02
+20
+20
+06
+6c
+68
+02
+01
+65
+1f
+e0
+fe
+08
+60
+02
+01
+65
+20
+20
+21
+f8
+c5
+16
+26
+4d
+20
+20
+25
+8f
+20
+40
+33
+af
+20
+40
+26
+e9
+70
+0a
+99
+02
+20
+40
+7d
+86
+20
+40
+5c
+f7
+20
+40
+4d
+6b
+20
+20
+24
+6e
+68
+00
+80
+30
+2f
+ef
+fe
+00
+20
+40
+86
+8c
+20
+20
+24
+8a
+68
+00
+80
+47
+2f
+ef
+fe
+03
+20
+40
+87
+13
+24
+40
+87
+0f
+20
+20
+07
+1d
+20
+40
+24
+f0
+24
+2c
+28
+f9
+20
+40
+29
+bb
+20
+40
+00
+6b
+20
+20
+25
+18
+c6
+13
+00
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+68
+00
+c6
+cf
+1f
+e6
+7c
+0a
+20
+61
+00
+00
+68
+00
+c6
+5a
+20
+3a
+06
+a3
+68
+00
+c5
+b1
+20
+7a
+00
+00
+68
+00
+c4
+c0
+24
+7a
+00
+00
+20
+40
+2c
+3a
+24
+7a
+00
+00
+68
+00
+c0
+40
+2f
+e0
+0e
+03
+24
+20
+ab
+9d
+68
+01
+40
+42
+d8
+40
+ff
+ff
+98
+46
+7c
+00
+20
+62
+80
+00
+20
+20
+2b
+7d
+78
+55
+fc
+00
+68
+00
+80
+30
+c4
+00
+80
+00
+24
+36
+ab
+d0
+20
+40
+2b
+cb
+68
+01
+40
+c1
+60
+01
+00
+3e
+68
+00
+80
+47
+c2
+81
+ab
+de
+c5
+86
+ab
+de
+20
+40
+52
+74
+24
+3a
+2b
+de
+20
+5a
+06
+bd
+20
+20
+2b
+be
+70
+00
+8a
+01
+70
+00
+8b
+00
+20
+60
+00
+00
+70
+11
+c5
+10
+20
+20
+07
+7a
+70
+11
+c5
+11
+20
+20
+07
+7a
+68
+00
+85
+52
+60
+00
+84
+c9
+c0
+09
+86
+c8
+20
+20
+5d
+b4
+20
+40
+5d
+cf
+70
+4a
+ff
+01
+68
+00
+cb
+01
+20
+7a
+00
+00
+70
+4b
+01
+02
+20
+60
+00
+00
+70
+11
+c5
+20
+20
+20
+07
+7a
+20
+40
+62
+bc
+24
+7a
+00
+00
+68
+00
+80
+55
+20
+7a
+00
+00
+c0
+02
+06
+f2
+c0
+08
+06
+d7
+20
+20
+63
+20
+68
+00
+c5
+5b
+c1
+00
+00
+00
+c0
+00
+86
+db
+20
+20
+63
+5f
+20
+74
+80
+00
+68
+00
+81
+6d
+c2
+80
+06
+df
+20
+20
+63
+99
+68
+00
+cb
+01
+c0
+00
+e3
+9d
+68
+00
+c1
+bd
+20
+3a
+63
+a9
+68
+00
+84
+d1
+c4
+01
+80
+00
+c4
+01
+00
+00
+68
+00
+cb
+00
+20
+7a
+00
+00
+70
+4b
+00
+00
+68
+02
+04
+e9
+d8
+40
+00
+14
+98
+40
+84
+00
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+21
+06
+f0
+20
+20
+63
+49
+70
+4b
+00
+01
+20
+60
+00
+00
+70
+48
+09
+14
+20
+20
+63
+6f
+20
+40
+62
+bc
+24
+3a
+7d
+db
+68
+00
+8a
+99
+c5
+84
+fd
+d6
+c0
+0f
+86
+ff
+c0
+10
+07
+02
+c0
+09
+06
+fc
+20
+20
+7d
+ca
+20
+40
+58
+90
+24
+7a
+00
+00
+20
+20
+5a
+bf
+70
+01
+85
+34
+68
+03
+04
+4f
+20
+20
+07
+04
+70
+01
+85
+33
+68
+03
+00
+40
+60
+03
+01
+86
+68
+02
+46
+d3
+c4
+03
+80
+00
+d8
+e0
+00
+07
+20
+40
+43
+d2
+20
+40
+42
+e8
+20
+40
+42
+fb
+20
+20
+03
+54
+70
+4d
+35
+01
+70
+4d
+32
+00
+20
+60
+00
+00
+68
+00
+cd
+32
+1f
+e0
+fe
+01
+60
+00
+cd
+32
+20
+60
+00
+00
+68
+00
+cd
+32
+1f
+e6
+7c
+02
+24
+41
+07
+1b
+68
+00
+cd
+32
+c1
+00
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cd
+32
+20
+60
+00
+00
+70
+4d
+32
+03
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+da
+20
+4c
+bb
+20
+40
+02
+ab
+60
+08
+cd
+33
+58
+00
+00
+82
+c5
+13
+07
+27
+58
+00
+00
+80
+98
+46
+7c
+00
+24
+21
+07
+3f
+68
+00
+cd
+32
+1f
+e6
+7c
+02
+24
+21
+07
+2f
+68
+00
+cd
+32
+c0
+00
+07
+40
+20
+60
+00
+00
+68
+00
+cd
+32
+c1
+90
+00
+00
+70
+4d
+32
+00
+68
+08
+cd
+33
+58
+00
+00
+77
+c5
+13
+07
+36
+58
+00
+00
+75
+98
+46
+7c
+00
+24
+61
+00
+00
+68
+00
+cd
+35
+c0
+00
+07
+47
+1f
+e0
+ff
+ff
+60
+00
+cd
+35
+c0
+00
+07
+47
+70
+41
+de
+00
+20
+60
+00
+00
+70
+4d
+32
+00
+68
+00
+cd
+35
+c0
+01
+07
+45
+1f
+e0
+fe
+01
+60
+00
+cd
+35
+c0
+00
+87
+3d
+70
+41
+de
+02
+20
+60
+00
+00
+70
+41
+de
+04
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+00
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+01
+07
+61
+c0
+02
+07
+66
+c0
+10
+07
+75
+20
+40
+07
+6b
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+6c
+20
+20
+29
+4b
+20
+40
+07
+70
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+3c
+20
+20
+29
+53
+20
+40
+07
+6b
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+58
+6c
+20
+20
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
+00
+00
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+20
+60
+00
+00
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+68
+08
+91
+c5
+18
+51
+84
+00
+68
+00
+cb
+65
+98
+46
+7c
+00
+20
+22
+87
+99
+60
+08
+cb
+65
+18
+40
+84
+01
+58
+00
+01
+00
+98
+4f
+84
+00
+68
+01
+cb
+66
+98
+46
+7e
+00
+68
+09
+cb
+69
+98
+40
+fe
+00
+1f
+e0
+ff
+fb
+60
+01
+cb
+6c
+20
+40
+03
+a6
+68
+01
+cb
+6c
+d8
+40
+01
+00
+da
+20
+1f
+00
+20
+40
+65
+62
+68
+02
+1f
+00
+68
+0a
+4b
+6f
+98
+46
+7c
+00
+24
+22
+87
+8a
+20
+40
+03
+10
+58
+00
+1f
+00
+60
+01
+41
+99
+70
+41
+9b
+40
+20
+40
+64
+ca
+58
+00
+00
+00
+60
+02
+41
+99
+68
+00
+91
+c5
+20
+20
+00
+01
+df
+20
+00
+05
+d8
+a0
+4b
+0b
+20
+20
+7e
+d4
+68
+02
+46
+9b
+20
+7a
+00
+00
+20
+40
+07
+ef
+58
+00
+00
+06
+20
+40
+07
+e2
+58
+00
+00
+03
+20
+40
+07
+e8
+68
+00
+cb
+0b
+c0
+00
+87
+a8
+20
+20
+07
+9b
+68
+01
+4b
+0c
+60
+01
+11
+be
+68
+01
+46
+9b
+60
+01
+11
+c0
+20
+40
+07
+bb
+68
+01
+11
+be
+60
+01
+4b
+0c
+68
+01
+11
+c0
+60
+01
+46
+9b
+68
+01
+4b
+0e
+60
+01
+11
+be
+68
+01
+46
+9d
+60
+01
+11
+c0
+20
+40
+07
+bb
+68
+01
+11
+be
+60
+01
+4b
+0e
+68
+01
+11
+c0
+60
+01
+46
+9d
+20
+60
+00
+00
+68
+01
+11
+be
+68
+09
+11
+c0
+98
+40
+fe
+00
+60
+01
+91
+c2
+2f
+ef
+fe
+10
+20
+20
+87
+c8
+68
+00
+91
+c3
+c0
+7f
+87
+cf
+68
+00
+91
+c2
+1f
+e3
+7e
+00
+60
+01
+11
+be
+60
+01
+11
+c0
+20
+60
+00
+00
+68
+00
+91
+c3
+c0
+00
+07
+cc
+68
+01
+91
+c2
+20
+20
+07
+c4
+70
+11
+c4
+00
+68
+00
+91
+c2
+20
+20
+07
+c4
+68
+00
+91
+c2
+20
+40
+07
+da
+60
+00
+91
+be
+60
+00
+91
+c0
+20
+3a
+07
+d8
+58
+00
+00
+ff
+60
+00
+91
+bf
+60
+00
+91
+c1
+20
+60
+00
+00
+58
+00
+00
+00
+20
+20
+07
+d5
+1f
+e6
+7e
+00
+60
+00
+8a
+ae
+68
+00
+8a
+ae
+1f
+e3
+7e
+00
+60
+00
+8a
+ae
+68
+00
+8a
+ae
+1f
+e6
+7e
+00
+20
+60
+00
+00
+9a
+26
+7c
+00
+24
+21
+07
+ed
+9a
+46
+7c
+00
+24
+21
+07
+ed
+70
+4b
+0b
+00
+20
+60
+00
+00
+9a
+26
+7c
+00
+24
+61
+00
+00
+9a
+46
+7c
+00
+24
+61
+00
+00
+20
+20
+07
+e6
+70
+4b
+0b
+01
+20
+60
+00
+00
+68
+01
+46
+9b
+60
+01
+11
+c0
+20
+40
+07
+f8
+1f
+e2
+22
+00
+68
+01
+46
+9d
+60
+01
+11
+c0
+20
+40
+07
+f8
+1f
+e2
+24
+00
+20
+60
+00
+00
+68
+00
+91
+c1
+c0
+7f
+87
+fd
+68
+00
+91
+c0
+1f
+e1
+7e
+ff
+20
+60
+00
+00
+68
+01
+11
+c0
+1f
+e6
+7e
+00
+20
+20
+07
+fb
+ba
+31
+aa
+55
+08
+00
+75
+41
+8f
+1b
+ce
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+ad
+40
+12
+00
+00
+02
+12
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+40
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+01
+00
+36
+4d
+00
+aa
+55
+01
+00
+de
+41
+00
+aa
+55
+0d
+00
+8f
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+ff
+aa
+55
+02
+00
+c3
+40
+8f
+47
+aa
+55
+01
+00
+00
+40
+06
+aa
+55
+02
+00
+03
+40
+08
+40
+aa
+55
+03
+00
+09
+40
+05
+02
+02
+aa
+55
+02
+00
+10
+40
+20
+02
+aa
+55
+03
+00
+14
+40
+82
+20
+06
+aa
+55
+02
+00
+18
+40
+10
+08
+aa
+55
+02
+00
+1c
+40
+40
+1e
+aa
+55
+01
+00
+20
+40
+20
+aa
+55
+08
+00
+27
+40
+02
+08
+04
+80
+02
+c8
+04
+80
+aa
+55
+02
+00
+30
+40
+05
+31
+aa
+55
+01
+00
+34
+40
+01
+aa
+55
+01
+00
+3f
+40
+04
+aa
+55
+01
+00
+92
+40
+43
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+01
+00
+72
+41
+20
+aa
+55
+01
+00
+c5
+47
+20
+aa
+55
+02
+00
+d5
+46
+0a
+45
+aa
+55
+01
+00
+07
+42
+06
+aa
+55
+06
+00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+0c
+00
+15
+45
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+05
+00
+e3
+41
+0e
+00
+01
+00
+02
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0c
+00
+6f
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+10
+4b
+06
+ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+8f
+43
+1f
+0c
+09
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+af
+43
+0b
+42
+54
+35
+2e
+31
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+04
+00
+82
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+06
+00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+02
+00
+87
+46
+08
+07
+aa
+55
+04
+00
+a8
+46
+50
+00
+70
+17
+aa
+55
+01
+00
+43
+4b
+0a
+aa
+55
+01
+00
+14
+42
+ff
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+01
+00
+85
+46
+1e
+aa
+55
+01
+00
+30
+4b
+01
+aa
+55
+01
+00
+d2
+46
+02
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+02
+00
+2d
+42
+02
+32
+aa
+55
+06
+00
+09
+47
+2c
+01
+11
+01
+20
+01
+aa
+55
+02
+00
+5e
+4b
+10
+00
+aa
+55
+19
+00
+e0
+46
+00
+02
+06
+14
+08
+ff
+ff
+14
+1b
+1c
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+00
+00
+ff
+ff
+aa
+55
+01
+00
+3a
+42
+ff
+aa
+55
+01
+00
+dc
+46
+ff
+aa
+55
+01
+00
+a5
+46
+07
+aa
+55
+01
+00
+6c
+0c
+ff
+aa
+55
+01
+00
+f5
+46
+20
+aa
+55
+08
+00
+7f
+47
+00
+01
+02
+03
+15
+1a
+22
+2a
+aa
+55
+02
+00
+1b
+42
+13
+47
+aa
+55
+01
+00
+1a
+42
+01
+aa
+55
+40
+00
+c6
+47
+25
+00
+02
+03
+28
+01
+12
+26
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+27
+00
+02
+02
+29
+02
+00
+00
+28
+00
+02
+08
+29
+02
+11
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+08
+00
+3b
+4b
+07
+02
+35
+12
+22
+aa
+01
+00
+aa
+55
+01
+00
+3f
+4c
+01
+aa
+55
+01
+00
+fa
+4b
+01
+aa
+55
+01
+00
+3e
+4c
+06
+aa
+55
+01
+00
+35
+4c
+00
+aa
+55
+02
+00
+fc
+4b
+c0
+12
+aa
+55
+03
+00
+1e
+4c
+0c
+0c
+10
+aa
+55
+10
+00
+0a
+4c
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+09
+4c
+ff
+aa
+55
+04
+00
+05
+4c
+20
+15
+10
+05
+aa
+55
+0a
+00
+9e
+11
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+28
+4c
+00
+48
+30
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+20
+47
+01
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
+00
+3e
+47
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
+00
+5b
+47
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+03
+00
+00
+47
+00
+30
+00
+aa
+55
+02
+00
+03
+42
+90
+1f
+aa
+55
+01
+00
+11
+42
+80
+aa
+55
+01
+00
+1f
+47
+00
+aa
+55
+01
+00
+db
+46
+01
+aa
+55
+01
+00
+8e
+47
+03
+aa
+55
+01
+00
+4b
+4b
+1d
+aa
+55
+01
+00
+4a
+4b
+05
+aa
+55
+01
+00
+46
+4b
+20
+aa
+55
+01
+00
+d9
+46
+01
+aa
+55
+04
+00
+51
+4b
+0f
+0f
+0f
+0f
+aa
+55
+01
+00
+57
+4b
+33
+aa
+55
+01
+00
+25
+4b
+ff
+aa
+55
+02
+00
+29
+4b
+14
+05
+aa
+55
+04
+00
+65
+4b
+ff
+00
+00
+00
+aa
+55
+04
+00
+6f
+4b
+20
+20
+00
+40
+aa
+55
+03
+00
+66
+4b
+3c
+30
+00
+ff
+20
+20
+00
+40
+c0
+58
+00
+07
+c0
+58
+80
+09
+c0
+59
+00
+0f
+c0
+59
+80
+14
+c0
+5a
+00
+1b
+20
+60
+00
+00
+20
+40
+04
+15
+20
+20
+41
+c3
+68
+00
+c8
+08
+c1
+01
+00
+00
+1f
+e0
+fe
+01
+60
+00
+c8
+08
+70
+41
+e3
+12
+20
+20
+34
+0e
+68
+00
+c8
+08
+c1
+81
+00
+00
+70
+48
+08
+00
+70
+41
+e3
+0e
+20
+20
+34
+0e
+68
+00
+c7
+9f
+c0
+00
+80
+17
+20
+20
+00
+19
+20
+40
+04
+84
+70
+46
+c6
+05
+d8
+e0
+00
+01
+20
+20
+41
+b9
+70
+4a
+ff
+00
+70
+4b
+01
+00
+70
+4b
+0a
+00
+20
+20
+41
+d9
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+50
+80
+06
+c0
+51
+00
+19
+c0
+51
+80
+12
+c0
+52
+00
+21
+20
+60
+00
+00
+68
+01
+45
+09
+c1
+00
+00
+00
+68
+00
+84
+41
+1f
+eb
+7e
+00
+1f
+e6
+7c
+0c
+20
+61
+00
+00
+58
+00
+00
+09
+60
+01
+44
+96
+60
+01
+44
+98
+20
+40
+04
+84
+70
+47
+c4
+01
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+86
+00
+00
+c3
+83
+00
+00
+c3
+85
+80
+00
+68
+02
+46
+d3
+c3
+82
+80
+00
+20
+20
+33
+a7
+58
+00
+00
+07
+60
+01
+44
+96
+60
+01
+44
+98
+70
+47
+c4
+00
+70
+47
+9c
+00
+20
+40
+04
+15
+20
+40
+58
+16
+20
+20
+41
+d9
+78
+34
+7c
+00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
+00
+4c
+20
+40
+2c
+21
+20
+40
+74
+bd
+20
+40
+03
+e3
+20
+40
+3e
+9f
+20
+40
+02
+c8
+20
+40
+03
+9d
+68
+10
+80
+81
+1f
+e1
+7e
+f7
+60
+10
+80
+81
+68
+10
+80
+7e
+79
+20
+7e
+06
+60
+10
+80
+7e
+68
+10
+80
+7f
+79
+20
+7e
+00
+60
+10
+80
+7f
+68
+08
+c6
+f3
+20
+20
+67
+ed
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+48
+00
+05
+c0
+48
+80
+1f
+c0
+49
+00
+2f
+20
+60
+00
+00
+68
+00
+cb
+fe
+c0
+00
+ff
+e7
+68
+00
+cc
+09
+c0
+00
+80
+0c
+c0
+01
+00
+0f
+c0
+01
+80
+12
+20
+20
+2a
+8c
+70
+4c
+09
+11
+70
+11
+9e
+aa
+20
+20
+00
+14
+70
+4c
+09
+12
+70
+11
+9e
+55
+20
+20
+00
+14
+70
+4c
+09
+13
+70
+11
+9e
+22
+68
+00
+cb
+fa
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+4c
+30
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+01
+d4
+20
+40
+01
+48
+20
+20
+7f
+e7
+68
+00
+cc
+09
+c1
+7f
+80
+00
+c0
+08
+80
+25
+c0
+09
+00
+27
+c0
+09
+80
+29
+20
+60
+00
+00
+70
+4c
+09
+02
+20
+20
+01
+7c
+70
+4c
+09
+03
+20
+20
+01
+7c
+70
+4c
+09
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+d9
+20
+40
+01
+e6
+20
+20
+01
+7c
+20
+40
+04
+a0
+70
+47
+8b
+01
+d8
+e0
+00
+03
+20
+40
+43
+d2
+58
+00
+00
+00
+60
+01
+47
+07
+60
+00
+cb
+57
+70
+46
+a7
+00
+20
+40
+40
+5d
+20
+40
+02
+f6
+68
+02
+4c
+21
+60
+02
+47
+7b
+20
+20
+03
+54
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+40
+00
+0a
+c0
+40
+80
+04
+20
+60
+00
+00
+20
+40
+68
+a2
+68
+01
+42
+1d
+24
+3a
+00
+08
+58
+00
+11
+22
+60
+01
+47
+c2
+20
+60
+00
+00
+20
+40
+00
+ec
+20
+40
+3e
+6e
+68
+08
+cb
+43
+20
+40
+68
+0e
+20
+40
+3e
+1e
+20
+40
+00
+1a
+58
+00
+00
+00
+60
+01
+41
+54
+20
+40
+68
+a2
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+05
+98
+20
+20
+03
+46
+20
+40
+74
+b9
+d8
+c0
+8c
+00
+d8
+a0
+48
+76
+df
+20
+01
+71
+20
+40
+7f
+01
+58
+0f
+02
+09
+e0
+a1
+80
+00
+58
+12
+00
+09
+e0
+a1
+80
+00
+58
+10
+02
+09
+e0
+a1
+80
+00
+58
+00
+00
+09
+e0
+a1
+80
+00
+d8
+c0
+8d
+71
+df
+20
+01
+09
+20
+40
+7f
+01
+70
+48
+8d
+00
+70
+48
+85
+6d
+58
+00
+40
+1f
+60
+01
+49
+db
+58
+00
+6d
+04
+60
+01
+4a
+44
+58
+00
+16
+b0
+60
+01
+4a
+4a
+58
+00
+48
+76
+60
+01
+45
+75
+20
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+38
+00
+03
+20
+60
+00
+00
+79
+3f
+80
+26
+20
+40
+00
+20
+20
+40
+01
+c7
+20
+00
+07
+d0
+68
+00
+cc
+27
+c2
+81
+01
+a9
+20
+40
+05
+18
+68
+00
+cb
+60
+24
+3a
+04
+fd
+20
+40
+01
+8b
+24
+2c
+00
+1c
+24
+37
+80
+1c
+20
+40
+01
+b8
+20
+40
+02
+f6
+68
+02
+4c
+21
+68
+0a
+4c
+05
+98
+46
+7c
+00
+20
+22
+80
+2a
+79
+20
+00
+26
+58
+00
+00
+00
+60
+01
+4c
+26
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+01
+83
+20
+20
+03
+ea
+68
+01
+4c
+26
+1f
+e0
+fe
+01
+60
+01
+4c
+26
+20
+20
+00
+06
+70
+41
+de
+20
+58
+00
+0f
+0f
+60
+01
+4c
+21
+e0
+a1
+00
+00
+20
+40
+01
+e7
+20
+20
+02
+06
+20
+40
+00
+20
+20
+20
+00
+06
+20
+40
+00
+2e
+20
+20
+00
+06
+79
+20
+00
+26
+20
+40
+00
+2e
+70
+4c
+09
+01
+20
+60
+00
+00
+70
+41
+de
+20
+70
+4b
+f8
+00
+70
+4c
+03
+4e
+68
+02
+4c
+05
+20
+20
+01
+e6
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+30
+00
+04
+c0
+30
+80
+2b
+20
+60
+00
+00
+79
+3f
+80
+26
+68
+00
+cb
+57
+1f
+e1
+7e
+01
+24
+5a
+00
+21
+20
+5a
+00
+1e
+68
+00
+cc
+09
+c1
+ff
+80
+00
+20
+40
+01
+c7
+20
+00
+07
+d0
+20
+40
+05
+18
+68
+00
+cb
+60
+24
+3a
+04
+fd
+68
+00
+cc
+26
+c0
+38
+01
+a9
+20
+40
+01
+8b
+24
+2c
+00
+26
+24
+37
+80
+26
+79
+20
+00
+26
+58
+00
+00
+00
+60
+01
+4c
+26
+60
+00
+cb
+5d
+60
+00
+cb
+57
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+01
+83
+20
+20
+03
+ea
+20
+40
+02
+f6
+68
+02
+47
+7b
+20
+20
+00
+23
+70
+41
+de
+20
+68
+02
+4b
+51
+60
+02
+4c
+21
+20
+40
+01
+e7
+20
+20
+02
+06
+68
+01
+4c
+26
+1f
+e0
+fe
+01
+60
+01
+4c
+26
+20
+40
+02
+06
+20
+20
+00
+0c
+d8
+e0
+00
+03
+20
+40
+43
+ce
+58
+00
+00
+00
+60
+01
+46
+ae
+60
+00
+c6
+b4
+60
+00
+cb
+57
+60
+01
+4c
+26
+70
+4b
+5d
+c8
+20
+40
+42
+ca
+20
+20
+00
+35
+79
+20
+00
+26
+20
+40
+00
+39
+70
+4c
+09
+01
+20
+60
+00
+00
+70
+41
+de
+20
+70
+4b
+f8
+00
+70
+4c
+03
+4e
+68
+02
+4c
+05
+20
+20
+01
+e6
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+28
+00
+04
+c0
+28
+80
+2d
+20
+60
+00
+00
+20
+40
+02
+f6
+70
+47
+9c
+00
+20
+40
+03
+95
+68
+01
+46
+82
+c2
+85
+80
+11
+20
+40
+03
+a8
+68
+09
+47
+c2
+18
+40
+84
+01
+60
+09
+47
+c2
+60
+09
+44
+a1
+20
+40
+03
+59
+18
+0a
+7e
+00
+60
+00
+c4
+a0
+58
+ed
+8e
+0e
+60
+01
+c4
+a3
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+4b
+47
+05
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
+00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+68
+00
+c0
+92
+2f
+ef
+fe
+01
+20
+40
+80
+26
+68
+00
+c0
+92
+2f
+ef
+fe
+00
+20
+40
+fd
+dd
+70
+4b
+55
+00
+20
+20
+42
+c4
+70
+47
+9f
+00
+20
+40
+03
+07
+58
+00
+00
+05
+e0
+c0
+80
+00
+d8
+c0
+4b
+10
+20
+40
+05
+9d
+20
+20
+7d
+f4
+68
+00
+cb
+5d
+24
+7a
+00
+00
+68
+00
+cb
+57
+24
+3a
+00
+37
+70
+4d
+39
+00
+20
+40
+02
+f6
+20
+40
+01
+d0
+70
+41
+bd
+00
+20
+40
+02
+c8
+20
+20
+34
+0a
+1f
+e0
+ff
+ff
+60
+00
+cb
+57
+20
+20
+03
+af
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+20
+00
+04
+c0
+20
+80
+16
+20
+60
+00
+00
+20
+40
+00
+0c
+20
+20
+55
+7d
+68
+00
+c7
+c5
+60
+00
+c1
+72
+70
+47
+c4
+00
+20
+60
+00
+00
+70
+47
+c4
+01
+20
+60
+00
+00
+68
+00
+c3
+d6
+1f
+e6
+7c
+0c
+24
+21
+00
+0a
+68
+00
+c3
+d8
+68
+08
+c7
+c5
+98
+46
+7c
+00
+20
+21
+00
+06
+68
+00
+c3
+d8
+60
+00
+c1
+72
+20
+20
+00
+08
+68
+00
+84
+3f
+c4
+03
+00
+00
+20
+40
+00
+1b
+24
+74
+00
+00
+20
+20
+55
+a0
+78
+34
+7c
+00
+68
+00
+84
+5a
+1f
+f1
+fe
+00
+c1
+87
+80
+00
+68
+00
+84
+60
+1f
+f1
+fe
+00
+c1
+80
+00
+00
+20
+20
+7f
+e9
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+18
+00
+03
+20
+60
+00
+00
+20
+40
+62
+bc
+24
+7a
+00
+00
+68
+00
+80
+55
+20
+7a
+00
+00
+c0
+02
+00
+25
+c0
+08
+00
+0a
+20
+20
+63
+20
+68
+00
+c5
+5b
+c1
+00
+00
+00
+c0
+00
+80
+0e
+20
+20
+63
+5f
+20
+74
+80
+00
+68
+00
+81
+6d
+c2
+80
+00
+12
+20
+20
+63
+99
+68
+00
+cb
+01
+c0
+00
+e3
+9d
+68
+00
+c1
+bd
+20
+3a
+63
+a9
+68
+00
+84
+d1
+c4
+01
+80
+00
+c4
+01
+00
+00
+68
+00
+cb
+00
+20
+7a
+00
+00
+70
+4b
+00
+00
+68
+02
+04
+e9
+d8
+40
+00
+14
+98
+40
+84
+00
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+21
+00
+23
+20
+20
+63
+49
+70
+4b
+00
+01
+20
+60
+00
+00
+70
+48
+09
+14
+20
+20
+63
+6f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+10
+00
+03
+20
+60
+00
+00
+78
+54
+7c
+00
+20
+40
+62
+c1
+68
+00
+80
+48
+20
+7a
+00
+00
+c2
+83
+80
+0d
+c0
+01
+80
+24
+c0
+18
+80
+19
+c0
+0b
+80
+1b
+c0
+03
+80
+1d
+20
+20
+60
+10
+c0
+42
+00
+10
+c0
+41
+80
+13
+20
+20
+60
+3f
+20
+40
+00
+16
+68
+00
+80
+48
+20
+20
+60
+99
+20
+40
+00
+16
+68
+00
+80
+48
+20
+20
+61
+0d
+68
+00
+c6
+5a
+20
+3a
+61
+2b
+20
+20
+61
+24
+70
+4b
+01
+01
+20
+20
+61
+c3
+70
+4b
+09
+04
+20
+20
+61
+a4
+20
+40
+61
+52
+68
+00
+cb
+55
+20
+7a
+00
+00
+68
+00
+80
+4b
+79
+3f
+fe
+03
+60
+00
+80
+4b
+20
+20
+03
+31
+18
+00
+7e
+02
+20
+40
+62
+98
+68
+00
+80
+49
+e0
+a0
+80
+00
+60
+00
+ca
+fc
+20
+40
+62
+a7
+68
+00
+ca
+fc
+c0
+17
+00
+2d
+20
+20
+60
+51
+68
+00
+ca
+ff
+20
+7a
+00
+00
+70
+4a
+ff
+00
+68
+00
+cb
+01
+c1
+81
+00
+00
+70
+4b
+00
+01
+1c
+42
+7e
+00
+60
+02
+04
+e9
+20
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+08
+00
+04
+c0
+08
+80
+15
+20
+60
+00
+00
+70
+48
+08
+00
+70
+41
+e3
+0e
+20
+40
+41
+e7
+68
+01
+42
+08
+c2
+83
+c1
+f5
+c2
+80
+33
+a9
+c2
+80
+80
+0e
+c2
+81
+00
+11
+c2
+81
+80
+11
+20
+20
+42
+b0
+c2
+82
+80
+11
+c2
+81
+80
+11
+20
+20
+42
+b0
+68
+01
+46
+82
+c2
+86
+42
+b0
+20
+40
+33
+a9
+20
+20
+33
+a7
+68
+01
+02
+64
+1f
+e2
+0c
+00
+e8
+c0
+80
+00
+60
+00
+cb
+02
+1f
+e1
+04
+0f
+1f
+f1
+fe
+00
+c0
+03
+80
+1e
+c0
+00
+80
+25
+20
+20
+4d
+39
+20
+40
+4d
+53
+70
+4b
+03
+00
+68
+00
+cb
+02
+2f
+ef
+fe
+00
+20
+60
+80
+00
+70
+4b
+03
+01
+20
+60
+00
+00
+18
+42
+7e
+00
+c0
+02
+84
+8c
+20
+20
+4d
+41
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+20
+00
+40
+c0
+00
+00
+03
+20
+60
+00
+00
+68
+00
+80
+0e
+1f
+e0
+fe
+01
+60
+00
+80
+0e
+20
+40
+24
+35
+79
+20
+00
+2c
+20
+40
+22
+f2
+20
+2c
+00
+0e
+79
+3f
+80
+2c
+20
+40
+24
+55
+24
+3a
+00
+07
+20
+20
+20
+fc
+79
+3f
+80
+2c
+20
+20
+21
+5f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+00
+00
+65
+d7
Index: ZJL_pm8_BLE&BT/output/memmap.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/memmap.format	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/memmap.format	(working copy)
@@ -0,0 +1,1947 @@
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+0x022b mem_init_cnt
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_data_pre
+0x11c0 mem_data_current
+0x11c2 mem_data_sum
+0x11c5 mem_zcode_temp_param0//zcode num
+0x11c6 mem_zcode_temp_param1//patch ram func addr
+0x11c8 mem_zcode_temp_param2//patch ram func addr
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_power_on_flag//forbid to move this variable
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_le_rx_window_inc
+0x478e mem_empty_count
+0x478f mem_rf_init_data_new
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
+0x47c4 mem_mouse_le_conn_param_reject
+0x47c5 mem_lpm_mult_init
+0x47c6 mem_mouse_le_uuid_sup
+0x4806 mem_mouse_wheel_trigger
+0x4807 mem_mouse_wheel_trigger_timer
+0x4808 mem_mouse_enter_sniff_count
+0x4809 mem_mouse_send_switch_req_timer
+0x480a mem_le_tx_buffer0_omemalloc
+0x4825 mem_le_tx_buffer1_omemalloc
+0x4840 mem_le_tx_buffer2_omemalloc
+0x485b mem_le_tx_buffer3_omemalloc
+0x4876 mem_mouse_uuid_list
+0x4afc mem_lmi_opcode_temp
+0x4afd mem_mouse_adc_last_low_voltage_flag
+0x4afe mem_mouse_init_sensor_reset_flag
+0x4aff mem_bt_rcvd_switch_req_accept
+0x4b00 mem_bt_send_max_slot_req_accept_after_switch
+0x4b01 mem_bt_send_lmp_setup_complete
+0x4b02 mem_l2cap_rcv
+0x4b03 mem_mouse_bt_boot_mode
+0x4b04 mem_mouse_bt_boot_data
+0x4b09 mem_mouse_bt_send_first_package_timer
+0x4b0a mem_mouse_bt_send_first_package_flag
+0x4b0b mem_mouse_asm_flag
+0x4b0c mem_mouse_x_pre
+0x4b0e mem_mouse_y_pre
+0x4b10 mem_le_adv_swift_pair
+0x4b23 mem_24g_sw_gpio
+0x4b24 mem_mouse_multi_led_blink_enable
+0x4b25 mem_mouse_multi_led_gpio
+0x4b26 mem_mouse_multi_led_state
+0x4b27 mem_mouse_multi_led_type
+0x4b28 mem_mouse_multi_led_on_timer
+0x4b29 mem_mouse_multi_led_on_timer_init
+0x4b2a mem_mouse_multi_led_blink_timer_init
+0x4b2b mem_mouse_multi_led_blink_timer
+0x4b2c mem_mouse_multi_led_blink_count
+0x4b2d mem_mouse_multi_led_blink_count_limited
+0x4b2e mem_mouse_multi_led_on_poweron2s_flag
+0x4b2f mem_discovery_on_flag
+0x4b30 mem_bt_ui_button_timeout
+0x4b31 mem_bt_ui_button_count
+0x4b32 mem_mouse_priority_bb_event
+0x4b33 mem_mouse_le_parse_l2cap_ptr
+0x4b35 mem_low_power_no_data_off_led_time
+0x4b36 mem_low_power_led_blink_flag
+0x4b37 mem_mouse_3065xy_dpi_seting
+0x4b37 mem_3065xy_dpi_1
+0x4b38 mem_3065xy_dpi_2
+0x4b39 mem_3065xy_dpi_3
+0x4b3a mem_3065xy_dpi_4
+0x4b3b mem_le_att_pnp_id_len
+0x4b3c mem_le_att_pnp_id
+0x4b43 mem_flash_ncs_gpio
+0x4b44 mem_select_ui_button_count
+0x4b45 mem_mouse_g24_led_timer
+0x4b46 mem_mouse_bt_ble_poweron_led_timer
+0x4b47 mem_mouse_bt_ble_led_timer
+0x4b48 mem_device_blink_led_state
+0x4b49 mem_24g_device_led_status
+0x4b4a mem_device_24g_led_gpio
+0x4b4b mem_device_bt_led_gpio
+0x4b4c mem_write_flash_head_temp
+0x4b50 mem_mouse_poweron_led_timer
+0x4b51 mem_mouse_24g_addr_init
+0x4b55 mem_mouse_bt_reconnect_flag
+0x4b56 mem_retry_count
+0x4b57 mem_24g_attempt_count
+0x4b58 mem_bt_125hz_cnt
+0x4b59 mem_mouse_no_data_led_timeout
+0x4b5b mem_mouse_dpi_blink_count
+0x4b5c mem_mouse_discovery_blink_count
+0x4b5d mem_mouse_24g_pair_timer
+0x4b5e mem_mouse_vdd_0v
+0x4b60 mem_select_device_button_press_flag
+0x4b61 mem_mouse_fast_conn_flag
+0x4b62 mem_mouse_long_mult_flag
+0x4b63 mem_mouse_current_mult_timer
+0x4b64 mem_24g_long_sleep_param_update_timer
+0x4b65 mem_zcode_current_number
+0x4b66 mem_xip_flash_offset
+0x4b69 mem_flash_start_addr
+0x4b6c mem_flash_address
+0x4b6f mem_zcode_head
+0x4b73 mem_24g_rxbuf
+0x4b95 mem_24g_txbuf
+0x4bb5 mem_24g_txpayload
+0x4bd7 mem_24g_rxpayload
+0x4bf7 mem_24g_rxdata_length
+0x4bf8 mem_24g_pid
+0x4bf9 mem_24g_datalen
+0x4bfa mem_24g_data_type
+0x4bfb mem_24g_txlen
+0x4bfc mem_24g_rx_window
+0x4bfe mem_24g_ensure
+0x4bff mem_24g_txfail_cnt
+0x4c01 mem_24g_get_ack_fail
+0x4c02 mem_24g_retry
+0x4c03 mem_24g_ch
+0x4c04 mem_24g_current_ch_number
+0x4c05 mem_24g_paring_addr
+0x4c09 mem_24g_pairing_sm
+0x4c0a mem_24g_ch_map1
+0x4c0e mem_24g_ch_map2
+0x4c12 mem_24g_ch_map3
+0x4c16 mem_24g_ch_map4
+0x4c1a mem_24g_tx_btclk
+0x4c1e mem_24g_interval
+0x4c1f mem_24g_interval_min
+0x4c20 mem_24g_interval_max
+0x4c21 mem_24g_addr
+0x4c25 mem_24g_abort_pac
+0x4c26 mem_24g_check_dongle_times
+0x4c28 mem_24g_enter_hibernate
+0x4c30 mem_24g_device_addr
+0x4c34 mem_24g_pac_index
+0x4c35 mem_24g_no_ack
+0x4c36 mem_24g_sta_crc
+0x4c39 mem_24g_last_crc
+0x4c3c mem_24g_sta_pid
+0x4c3d mem_24g_last_pid
+0x4c3e mem_24g_max_retry
+0x4c3f mem_24g_mode
+0x4c40 mem_24g_rxdata_temp
+0x4c62 mem_24g_rx_addr
+0x4c66 mem_dongle_mode_init
+0x4c67 mem_dongle_work_mode
+0x4c68 mem_dongle_ms_bind_step
+0x4c69 mem_dongle_kb_bind_step
+0x4c6a mem_dongle_bind_device_status
+0x4c6b mem_24g_bind_payload
+0x4c73 mem_24g_abort_packet
+0x4c74 mem_24g_rf_laststa
+0x4c75 mem_24g_hop_btclk
+0x4c79 mem_24g_hop_interval
+0x4c7a mem_24g_mode_switch
+0x4c7b mem_24g_ackpayload_enable
+0x4c7c mem_24g_hop_packet
+0x4c7d mem_24g_pair_mode
+0x4c7e mem_24g_nodata_timer_enable
+0x4c7f mem_24g_time_slice
+0x4c80 mem_24g_kb_data_sta_data
+0x4c88 mem_24g_kb_data_last_data
+0x4c90 mem_24g_kb_multikey_sta_data
+0x4c93 mem_24g_kb_multikey_last_data
+0x4c96 mem_24g_kb_blank_data_enable
+0x4c97 mem_24g_kb_mul_blank_data_enable
+0x4c98 mem_24g_ms_blank_data_enable
+0x4c99 mem_24g_kb_addr
+0x4c9d mem_24g_ms_addr
+0x4ca1 mem_24g_dg_last_ch
+0x4ca2 mem_24g_dg_ch_number
+0x4ca3 mem_24g_dg_config_ch_once
+0x4ca4 mem_24g_kb_last_ch
+0x4ca5 mem_24g_kb_ch_number
+0x4ca6 mem_24g_kb_config_ch_once
+0x4ca7 mem_24g_ms_last_ch
+0x4ca8 mem_24g_ms_ch_number
+0x4ca9 mem_24g_ms_config_ch_once
+0x4caa mem_24g_syncword
+0x4cac mem_24g_syncword_crc8
+0x4cad mem_24g_get_syncword_crc8
+0x4cae mem_24g_ota_sta_pid
+0x4cb0 mem_tx_power_temp
+0x4cb1 mem_rssi_hex
+0x4cb2 mem_rssi_noise_avg
+0x4cb3 mem_rssi_noise_index
+0x4cb4 mem_rssi_signal_index
+0x4cb5 mem_rssi_noise_dg_avg
+0x4cb6 mem_rssi_noise_kb_avg
+0x4cb7 mem_rssi_noise_ms_avg
+0x4cb8 mem_rssi_noise_dg_index
+0x4cb9 mem_rssi_noise_kb_index
+0x4cba mem_rssi_noise_ms_index
+0x4cbb mem_rssi_signal_buf
+0x4cc3 mem_queue_ele_num
+0x4cc4 mem_queue_read
+0x4cc6 mem_queue_write
+0x4cc8 mem_queue_start
+0x4cc8 mem_data_ele0
+0x4ce8 mem_data_ele1
+0x4d08 mem_data_ele2
+0x4d28 mem_queue_end
+0x4d28 mem_queue_temp
+0x4d2a mem_cb_24g_data
+0x4d2c mem_24g_hop_fastly_cnt
+0x4d2d mem_24g_hop_pac_retry
+0x4d2e mem_24g_rf_hop_ch
+0x4d2f mem_24g_rf_last_sta
+0x4d30 mem_24g_rf_work_stage
+0x4d31 mem_24g_sync_cnt
+0x4d32 mem_power_ctrl_pac_succ_cnt
+0x4d33 mem_rssi_avg_received
+0x4d34 mem_rssi_hex_received
+0x4d35 mem_power_ctrl_level
+0x4d36 mem_seqi
+0x4d37 mem_24g_auto_paring_switch
+0x4d38 mem_24g_paccnt
+0x4d39 mem_24g_transmit_by_interrupt
+0x4d3a mem_24g_transmit_by_interrupt_exit_count
+0x4d3c mem_24g_transmit_by_interrupt_exit_count_init
Index: ZJL_pm8_BLE&BT/output/otp.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/otp.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: ZJL_pm8_BLE&BT/output/program.lis
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/program.lis	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/program.lis	(working copy)
@@ -0,0 +1,36147 @@
+include "bt_format "
+org 0x0000
+
+p_start:
+0000 20200040 branch p_patch_array 
+
+p_zcode:
+
+p_wake_from_power:
+0001 20400415 call p_mouse_data_init 
+0002 6800c1de fetch 1 ,mem_tx_power 
+0003 6000ccb0 store 1 ,mem_tx_power_temp 
+0004 2040070c call power_ctrl_pac_succ_cnt_init 
+0005 6800c685 fetch 1 ,mem_ui_button_timeout 
+0006 6000cb44 store 1 ,mem_select_ui_button_count 
+0007 6800cb30 fetch 1 ,mem_bt_ui_button_timeout 
+0008 6000cb31 store 1 ,mem_bt_ui_button_count 
+0009 204043ca call mouse_bt_discovery_button_down_disable 
+000a 20400310 call p_mouse_spi_init 
+000b 2040079b call p_drawing_optima_init 
+000c 2040000f call p_mouse_cb_fuction 
+000d 20400022 call p_mouse_wakeup_from_power 
+000e 20200334 branch p_mouse_setting_config 
+
+p_mouse_cb_fuction:
+000f 580003e7 setarg p_mouse_g24_package_data 
+0010 60014d2a store 2 ,mem_cb_24g_data 
+0011 58000401 setarg p_mouse_le 
+0012 600141ef store 2 ,mem_cb_le_process 
+0013 5800064b setarg p_le_mouse_bb_event_connect_complete 
+0014 600141f9 store 2 ,mem_cb_att_write 
+0015 58000430 setarg p_mouse_bt 
+0016 600141f1 store 2 ,mem_cb_bt_process 
+0017 580002bc setarg p_mouse_before_lpm 
+0018 600141ed store 2 ,mem_cb_before_lpm 
+0019 5800046d setarg p_mouse_priority_bb_event 
+001a 600141f5 store 2 ,mem_cb_bb_event_process 
+001b 58000458 setarg p_mouse_idle 
+001c 600141f3 store 2 ,mem_cb_idle_process 
+001d 580004a1 setarg p_mouse_before_hibernate 
+001e 600141eb store 2 ,mem_cb_before_hibernate 
+001f 580004a8 setarg p_mouse_bb_event_timer 
+0020 600141fd store 2 ,mem_cb_event_timer 
+0021 20600000 rtn 
+
+p_mouse_wakeup_from_power:
+0022 58000019 setarg 25 
+0023 60014d3c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0024 2455802a ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0025 20400312 call p_mouse_init_sunt 
+0026 20400331 call p_mouse_sensor_powerdown 
+
+p_mouse_wakeup_no_from_power:
+0027 6800c71f fetch 1 ,mem_reconn_times_init 
+0028 6000c71e store 1 ,mem_reconn_times 
+0029 20600000 rtn 
+
+p_mouse_24g_transmit_by_interrupt_exit_count_max:
+002a 58000177 setarg 375 
+002b 60014d3c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+002c 20600000 rtn 
+002d 20000001 nop 1 
+002e 20000001 nop 1 
+002f 20000001 nop 1 
+0030 20000001 nop 1 
+0031 20000001 nop 1 
+0032 20000001 nop 1 
+0033 20000001 nop 1 
+0034 20000001 nop 1 
+0035 20000001 nop 1 
+0036 20000001 nop 1 
+0037 20000001 nop 1 
+0038 20000001 nop 1 
+0039 20000001 nop 1 
+003a 20000001 nop 1 
+003b 20000001 nop 1 
+003c 20000001 nop 1 
+003d 20000001 nop 1 
+003e 20000001 nop 1 
+003f 20000001 nop 1 
+
+p_patch_array:
+0040 c2840058 bbit1 8 ,pf_patch_ext 
+0041 c0008075 beq patch00_1 ,p_soft_reset_1 
+0042 c001007e beq patch00_2 ,p_soft_reset_2 
+0043 c0428778 beq patch10_5 ,p_shutdown_radio 
+0044 c0448749 beq patch11_1 ,p_set_freq_tx 
+0045 c00d8664 beq patch03_3 ,p_page_wait_fhs_reply_ok 
+0046 c0130666 beq patch04_6 ,p_role_switch_master 
+0047 c0240681 beq patch09_0 ,p_quit_connection_cont 
+0048 c0250688 beq patch09_2 ,p_prepare_tx 
+0049 c0288691 beq patch0a_1 ,p_slave_conn_recv_packet 
+004a c02c867f beq patch0b_1 ,p_process_dmh 
+004b c0538696 beq patch14_7 ,p_lpm_dispatch 
+004c c05686af beq patch15_5 ,p_lpm_set_mult 
+004d c065b3e4 beq patch19_3 ,app_bt_start_reconnect + 3 
+004e c07486c0 beq patch1d_1 ,p_mouse_bb_disconnected 
+004f c0508087 beq patch14_1 ,p_init_param 
+0050 c058808c beq patch16_1 ,p_lpm_check_wake_lock 
+0051 c0590096 beq patch16_2 ,p_g24_dispatch 
+0052 c06202df beq patch18_4 ,p_device_init 
+0053 c073057a beq patch1c_6 ,p_mouse_motion 
+0054 c0750594 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0055 c075859a beq patch1d_3 ,p_mouse_start_discovery 
+0056 c07605a1 beq patch1d_4 ,p_mouse_stop_discovery 
+0057 20202a8e branch loop 
+
+pf_patch_ext:
+0058 c01c85aa beq patch27_1 ,p_le_slave_match 
+0059 c02185b2 beq patch28_3 ,p_le_next_adv_channel 
+005a c02505b8 beq patch29_2 ,p_le_receive_skip 
+005b c02b85bb beq patch2a_7 ,p_le_update_param 
+005c c02c85bd beq patch2b_1 ,p_le_update_channel_map 
+005d c03185bf beq patch2c_3 ,p_le_prepare_tx 
+005e c03305e9 beq patch2c_6 ,p_le_parse 
+005f c0338600 beq patch2c_7 ,p_le_parse_l2cap 
+0060 c0350636 beq patch2d_2 ,p_le_adv_not_match 
+0061 c03b8641 beq patch2e_7 ,p_le_lpm_setmult 
+0062 c00286c2 beq patch20_5 ,p_hid_rx_process 
+0063 c04006c4 beq patch30_0 ,p_parse_lmp_accepted 
+0064 c04106ce beq patch30_2 ,p_send_lmp 
+0065 c04406d0 beq patch31_0 ,p_process_conn_sm 
+0066 c0460651 beq patch31_4 ,p_twspi_reset 
+0067 c046865d beq patch31_5 ,p_spid_init 
+0068 c0500531 beq patch34_0 ,p_vdd_calculate_by_mode 
+0069 c07d06f4 beq patch3f_2 ,p_check_51cmd_once_continue 
+006a 20202a8e branch loop 
+
+p_rssi_signal:
+006b 1fe22200 copy pdata ,rega 
+006c 6808ccb4 fetcht 1 ,mem_rssi_signal_index 
+006d 58004cbb setarg mem_rssi_signal_buf 
+006e 98408a00 iadd temp ,contw 
+006f 1a227e00 copy rega ,pdata 
+0070 e0a08000 istore 1 ,contw 
+0071 18408401 increase 1 ,temp 
+0072 18410407 and_into rssi_buf_len_signal ,temp 
+0073 6008ccb4 storet 1 ,mem_rssi_signal_index 
+0074 20600000 rtn 
+
+p_soft_reset_1:
+0075 d8a009ae arg mem_sp_state ,contw 
+0076 df20000c arg 12 ,loopcnt 
+0077 20407ed4 call clear_mem 
+0078 204003f8 call p_mouse_le_txbuff_load 
+0079 20406a03 call rfcomm_init 
+007a 20405cf6 call init_lmp 
+007b 2455ac65 ncall lpm_disable_exen_output ,wake 
+007c 20407ccd call ui_init + 1 
+007d 2020200c branch soft_reset + 11 
+
+p_soft_reset_2:
+007e 2055b2e3 call app_lpm_init ,wake 
+007f 2040756a call publickey_init 
+0080 2055ab41 call lpm_recover_clk ,wake 
+
+p_sp_cal_loop:
+0081 204076dc call sp_calc_sequence 
+0082 6800c65a fetch 1 ,mem_ssp_enable 
+0083 203a2012 branch main_loop ,blank 
+0084 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+0085 203a0081 branch p_sp_cal_loop ,blank 
+0086 20202012 branch main_loop 
+
+p_init_param:
+0087 58000a06 setarg param_le_version 
+0088 6001c510 store 3 ,mem_lmp_version 
+0089 58001d87 setarg param_le_subversion 
+008a 60014513 store 2 ,mem_lmp_version + 3 
+008b 20202aa2 branch init_param + 12 
+
+p_lpm_check_wake_lock:
+008c c6130000 rtnmark1 mark_24g 
+008d 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+008e c0007fef beq 0 ,disable_blank 
+008f 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
+0090 c000ffef beq le_lpm_disable ,disable_blank 
+0091 68014248 fetch 2 ,mem_sdp_remote_cid 
+0092 243a7fef nbranch disable_blank ,blank 
+0093 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
+0094 243a7fef nbranch disable_blank ,blank 
+0095 20207ff1 branch enable_blank 
+
+p_g24_dispatch:
+0096 c6930000 rtnmark0 mark_24g 
+0097 6800cd39 fetch 1 ,mem_24g_transmit_by_interrupt 
+0098 c00080ae beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+
+p_g24_transmit_process:
+0099 20400145 call p_g24_txdata_prep 
+009a 243400ca nbranch p_g24_nodata_transmit ,user 
+009b 2040012c call p_g24_rf_sta_check 
+
+p_g24_transmit_start:
+009c 20400169 call p_g24_transmit_packet 
+009d 6800cc09 fetch 1 ,mem_24g_pairing_sm 
+009e c1ff8000 rtnne state_24g_pairing_success 
+009f 2040071d call power_ctrl_start 
+00a0 204000aa call g24_long_sleep_shorter_param_update 
+00a1 6800cb26 fetch 1 ,mem_mouse_multi_led_state 
+00a2 c00083ea beq on ,p_g24_transmit_by_interrupt_enable 
+
+p_g24_short_sleep:
+00a3 204000d5 call p_g24_lpm_wait 
+00a4 24740000 nrtn user 
+00a5 204002c3 call p_clear_wake 
+00a6 5800ec54 setarg 60500 
+
+p_g24_enter_sleep:
+00a7 20407f49 call clk2lpo 
+00a8 600a415b storet 4 ,mem_sleep_counter 
+00a9 20202b2a branch lpm_sleep 
+
+g24_long_sleep_shorter_param_update:
+00aa 58017700 setarg g24_long_sleep_step1 
+00ab 6001cc28 store 3 ,mem_24g_enter_hibernate 
+00ac 704b6414 jam 20 ,mem_24g_long_sleep_param_update_timer 
+00ad 20600000 rtn 
+
+p_g24_transmit_by_interrupt:
+00ae 2040028e call p_g24_timer_check 
+00af 24740000 nrtn user 
+00b0 204000c4 call p_g24_interval_calibrate 
+00b1 68014d3a fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00b2 1fe0fe01 increase 1 ,pdata 
+00b3 60014d3a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00b4 68094d3c fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+00b5 98467c00 isub temp ,null 
+00b6 204280b8 call p_g24_transmit_by_interrupt_exit ,zero 
+00b7 20200099 branch p_g24_transmit_process 
+
+p_g24_transmit_by_interrupt_exit:
+00b8 704d3900 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+00b9 58000000 setarg 0 
+00ba 60014d3a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00bb 58000064 setarg 100 
+00bc 60014d3c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+
+p_g24_interval_min:
+00bd 704c3400 jam 0 ,mem_24g_pac_index 
+00be 6800cc1f fetch 1 ,mem_24g_interval_min 
+00bf 6000cc1e store 1 ,mem_24g_interval 
+00c0 20600000 rtn 
+
+p_g24_interval_max:
+00c1 6800cc20 fetch 1 ,mem_24g_interval_max 
+00c2 6000cc1e store 1 ,mem_24g_interval 
+00c3 20600000 rtn 
+
+p_g24_interval_calibrate:
+00c4 6800cc34 fetch 1 ,mem_24g_pac_index 
+00c5 1fe0fe01 increase 1 ,pdata 
+00c6 6000cc34 store 1 ,mem_24g_pac_index 
+00c7 c00200c1 beq 4 ,p_g24_interval_max 
+00c8 c00280bd beq 5 ,p_g24_interval_min 
+00c9 20600000 rtn 
+
+p_g24_nodata_transmit:
+00ca 6800cc25 fetch 1 ,mem_24g_abort_pac 
+00cb 205a00de call p_g24_send_abort_packet ,blank 
+
+p_g24_long_sleep:
+00cc 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+00cd 1fe67c0a sub pdata ,10 ,null 
+00ce 20610000 rtn positive 
+00cf 204000d5 call p_g24_lpm_wait 
+00d0 24740000 nrtn user 
+00d1 6801cc28 fetch 3 ,mem_24g_enter_hibernate 
+00d2 20407f49 call clk2lpo 
+00d3 600a415b storet 4 ,mem_sleep_counter 
+00d4 20202b2a branch lpm_sleep 
+
+p_g24_lpm_wait:
+00d5 78347c00 enable user 
+00d6 20402afa call lpo_calibration 
+00d7 6801c16f fetch 3 ,mem_clks_per_lpo 
+00d8 203a7fe9 branch disable_user ,blank 
+00d9 6800c091 fetch 1 ,mem_lpm_mode 
+00da 203a7fe9 branch disable_user ,blank 
+00db 6800cd39 fetch 1 ,mem_24g_transmit_by_interrupt 
+00dc c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
+00dd 202002c6 branch p_mouse_setgpio_lpm 
+
+p_g24_send_abort_packet:
+00de 704c2501 jam 1 ,mem_24g_abort_pac 
+00df 704d2e00 jam 0 ,mem_24g_rf_hop_ch 
+00e0 204000f1 call p_g24_transmit_rf_ctrl_clear 
+00e1 6000cb95 store 1 ,mem_24g_txbuf 
+00e2 58000000 setarg 0 
+00e3 6003cb96 store 7 ,mem_24g_txbuf + 1 
+00e4 68024c30 fetch 4 ,mem_24g_device_addr 
+00e5 60024b9d store 4 ,mem_24g_txbuf + 8 
+00e6 704bf90c jam 12 ,mem_24g_datalen 
+00e7 6800cbfa fetch 1 ,mem_24g_data_type 
+00e8 79207e03 set1 bit_abort ,pdata 
+00e9 6000cbfa store 1 ,mem_24g_data_type 
+00ea 20400148 call p_g24_txdata_enable_tx 
+00eb 2020009c branch p_g24_transmit_start 
+
+p_g24_set_device_addr:
+00ec 680240a0 fetch 4 ,mem_lap 
+00ed 60024c30 store 4 ,mem_24g_device_addr 
+00ee 20600000 rtn 
+
+p_g24_transmit_rf_sta_init:
+00ef 704d2f01 jam 1 ,mem_24g_rf_last_sta 
+00f0 704d3100 jam 0 ,mem_24g_sync_cnt 
+
+p_g24_transmit_rf_ctrl_clear:
+00f1 6800cbfa fetch 1 ,mem_24g_data_type 
+00f2 1fe17e07 and_into bits_data ,pdata 
+00f3 6000cbfa store 1 ,mem_24g_data_type 
+00f4 20600000 rtn 
+
+p_g24_hop_ch_enable:
+00f5 6800cbfa fetch 1 ,mem_24g_data_type 
+00f6 79207e04 set1 bit_hop ,pdata 
+00f7 6000cbfa store 1 ,mem_24g_data_type 
+00f8 6000cbb5 store 1 ,mem_24g_txpayload 
+00f9 20600000 rtn 
+
+p_g24_hop_ch_disable:
+00fa 6800cbfa fetch 1 ,mem_24g_data_type 
+00fb 793ffe04 set0 bit_hop ,pdata 
+00fc 6000cbfa store 1 ,mem_24g_data_type 
+00fd 6000cbb5 store 1 ,mem_24g_txpayload 
+00fe 20400713 call power_ctrl_pac_succ_decrs 
+00ff 20400206 call p_g24_ch 
+0100 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail:
+0101 20400713 call power_ctrl_pac_succ_decrs 
+0102 6800cd30 fetch 1 ,mem_24g_rf_work_stage 
+0103 c0008106 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0104 c001010a beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0105 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail_wo_hop:
+0106 704d3102 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_fail_stage1:
+0107 704d2d00 jam 0 ,mem_24g_hop_pac_retry 
+0108 704d2f00 jam 0 ,mem_24g_rf_last_sta 
+0109 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+010a 704d2e00 jam 0 ,mem_24g_rf_hop_ch 
+010b 20200107 branch p_g24_transmit_hop_pac_fail_stage1 
+
+p_g24_transmit_pac_fail_hop_stage3:
+010c 68014bff fetch 2 ,mem_24g_txfail_cnt 
+010d 1fe0fe01 increase 1 ,pdata 
+010e 60014bff store 2 ,mem_24g_txfail_cnt 
+010f c28501a7 bbit1 10 ,p_g24_tx_attempt_fail 
+0110 6800cd2e fetch 1 ,mem_24g_rf_hop_ch 
+0111 c0008115 beq 1 ,p_g24_rf_hop_fastly 
+0112 704d2e01 jam 1 ,mem_24g_rf_hop_ch 
+
+p_g24_rf_hop_attemp_again:
+0113 6800cd2e fetch 1 ,mem_24g_rf_hop_ch 
+0114 c08080f1 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+
+p_g24_rf_hop_fastly:
+0115 6800cd2c fetch 1 ,mem_24g_hop_fastly_cnt 
+0116 1fe0fe01 increase 1 ,pdata 
+0117 6000cd2c store 1 ,mem_24g_hop_fastly_cnt 
+0118 c002011c beq 4 ,p_g24_rf_hop_fastly_exit 
+0119 20400206 call p_g24_ch 
+011a 704c3e02 jam 2 ,mem_24g_max_retry 
+011b 20200169 branch p_g24_transmit_packet 
+
+p_g24_rf_hop_fastly_exit:
+011c 20400713 call power_ctrl_pac_succ_decrs 
+011d 704d2c00 jam 0 ,mem_24g_hop_fastly_cnt 
+011e 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+011f 704d3102 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_succ:
+0120 704d2f01 jam 1 ,mem_24g_rf_last_sta 
+0121 704d2e00 jam 0 ,mem_24g_rf_hop_ch 
+0122 202000f1 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_succ_rf_config:
+0123 6800cd30 fetch 1 ,mem_24g_rf_work_stage 
+0124 c0018120 beq 3 ,p_g24_transmit_hop_pac_succ 
+0125 6800cbfa fetch 1 ,mem_24g_data_type 
+0126 2fec0004 isolate0 bit_hop ,pdata 
+0127 202080ef branch p_g24_transmit_rf_sta_init ,true 
+0128 6800cd30 fetch 1 ,mem_24g_rf_work_stage 
+0129 c000811f beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+012a c0010120 beq 2 ,p_g24_transmit_hop_pac_succ 
+012b 20600000 rtn 
+
+p_g24_rf_sta_check:
+012c 6800cc09 fetch 1 ,mem_24g_pairing_sm 
+012d c1ff8000 rtnne state_24g_pairing_success 
+012e 20400131 call p_g24_rf_laststa_synccnt_check 
+012f 24560139 ncall p_g24_rf_sync_cnt_check ,user2 
+0130 20600000 rtn 
+
+p_g24_rf_laststa_synccnt_check:
+0131 78567c00 disable user2 
+0132 6800cd2f fetch 1 ,mem_24g_rf_last_sta 
+0133 c1808000 rtnne 1 
+0134 6800cd31 fetch 1 ,mem_24g_sync_cnt 
+0135 c1800000 rtnne 0 
+0136 704d3001 jam 1 ,mem_24g_rf_work_stage 
+0137 704c3e04 jam 4 ,mem_24g_max_retry 
+0138 20207feb branch enable_user2 
+
+p_g24_rf_sync_cnt_check:
+0139 6800cd31 fetch 1 ,mem_24g_sync_cnt 
+013a 203a0140 branch p_g24_rf_hop_attemp ,blank 
+013b 1fe0ffff increase -1 ,pdata 
+013c 6000cd31 store 1 ,mem_24g_sync_cnt 
+013d 704d3002 jam 2 ,mem_24g_rf_work_stage 
+013e 704c3e04 jam 4 ,mem_24g_max_retry 
+013f 20200206 branch p_g24_ch 
+
+p_g24_rf_hop_attemp:
+0140 704d3003 jam 3 ,mem_24g_rf_work_stage 
+0141 6800cd2e fetch 1 ,mem_24g_rf_hop_ch 
+0142 243a0113 nbranch p_g24_rf_hop_attemp_again ,blank 
+0143 704c3e02 jam 2 ,mem_24g_max_retry 
+0144 20200206 branch p_g24_ch 
+
+p_g24_txdata_prep:
+0145 6800cc09 fetch 1 ,mem_24g_pairing_sm 
+0146 c0ff81bf bne state_24g_pairing_success ,p_g24_pairing_sm 
+
+p_g24_txdata_prep_packeage_data:
+0147 2040014b call p_g24_package_data 
+
+p_g24_txdata_enable_tx:
+0148 204001f4 call p_g24_transmit_prep 
+0149 704bfe01 jam ensure_on_24g ,mem_24g_ensure 
+014a 20600000 rtn 
+
+p_g24_package_data:
+014b 68014d2a fetch 2 ,mem_cb_24g_data 
+014c 20407f9c call callback_func 
+014d 20340151 branch p_g24_accumulate_mouse_data ,user 
+014e 6803cb96 fetch 7 ,mem_24g_txbuf + 1 
+014f 207a0000 rtn blank 
+0150 20207fe7 branch enable_user 
+
+p_g24_accumulate_mouse_data:
+0151 204004a0 call p_mouse_24g_no_data_timer_init 
+0152 20400325 call p_mouse_data_xy_release 
+0153 704c2500 jam 0 ,mem_24g_abort_pac 
+0154 1a20fe01 add rega ,1 ,pdata 
+0155 6000cbf9 store 1 ,mem_24g_datalen 
+0156 204000f1 call p_g24_transmit_rf_ctrl_clear 
+0157 6000cb95 store 1 ,mem_24g_txbuf 
+0158 e8a88000 ifetcht 1 ,contw 
+0159 ea408000 ifetch 1 ,regb 
+015a 9841fe00 ior temp ,pdata 
+015b e0a08000 istore 1 ,contw 
+015c 1a40a401 increase 1 ,regb 
+015d ea420000 ifetch 4 ,regb 
+015e e0a20000 istore 4 ,contw 
+015f 1a40a404 increase 4 ,regb 
+0160 d8a04b9b arg mem_24g_txbuf + 6 ,contw 
+0161 df200002 arg 2 ,loopcnt 
+
+p_g24_accumulation_loop:
+0162 ea408000 ifetch 1 ,regb 
+0163 e8a88000 ifetcht 1 ,contw 
+0164 9840fe00 iadd temp ,pdata 
+0165 e0a08000 istore 1 ,contw 
+0166 1a40a401 increase 1 ,regb 
+0167 c2000162 loop p_g24_accumulation_loop 
+0168 20600000 rtn 
+
+p_g24_transmit_packet:
+0169 704c0200 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+016a d9600d00 arg param_rx_setup ,timeup 
+016b 34730200 until clkn_rt ,meet 
+016c 2040018b call p_g24_transmit_receive_ack 
+016d 6800cc35 fetch 1 ,mem_24g_no_ack 
+016e c1008000 rtneq no_ack_24g 
+016f 242c019a nbranch p_g24_retransmit ,sync 
+0170 2437819a nbranch p_g24_retransmit ,user3 
+0171 20400183 call p_g24_txbuf_clear 
+0172 204001b8 call p_g24_ackpayload_parse 
+0173 2040070f call power_ctrl_pac_succ_incrs 
+
+p_g24_transmit_next_packet:
+0174 704b5600 jam 0 ,mem_retry_count 
+0175 6800cbf8 fetch 1 ,mem_24g_pid 
+0176 1fe0fe01 increase 1 ,pdata 
+0177 6000cbf8 store 1 ,mem_24g_pid 
+0178 20400186 call p_g24_hop_enable_packet 
+0179 6800cc09 fetch 1 ,mem_24g_pairing_sm 
+017a c0ff8189 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+017b 20400123 call p_g24_transmit_succ_rf_config 
+
+p_g24_transmit_abandon:
+017c 58000000 setarg 0 
+017d 60014bff store 2 ,mem_24g_txfail_cnt 
+017e 6000cc01 store 1 ,mem_24g_get_ack_fail 
+017f 6000cd2d store 1 ,mem_24g_hop_pac_retry 
+0180 6000cb5d store 1 ,mem_mouse_24g_pair_timer 
+0181 704bfe00 jam ensure_off_24g ,mem_24g_ensure 
+0182 20600000 rtn 
+
+p_g24_txbuf_clear:
+0183 df200004 arg 4 ,loopcnt 
+0184 d8a04b95 arg mem_24g_txbuf ,contw 
+0185 20207ec6 branch memset0 
+
+p_g24_hop_enable_packet:
+0186 6800cbfa fetch 1 ,mem_24g_data_type 
+0187 c28200fa bbit1 bit_hop ,p_g24_hop_ch_disable 
+0188 20600000 rtn 
+
+p_g24_paring_mode_start:
+0189 2040070c call power_ctrl_pac_succ_cnt_init 
+018a 202001c1 branch p_g24_paring_mode 
+
+p_g24_transmit_receive_ack:
+018b 7857fc00 disable user3 
+018c 2040026d call p_g24_transmit 
+018d 6800cc35 fetch 1 ,mem_24g_no_ack 
+018e c0008198 beq no_ack_24g ,p_g24_transmit_no_ack 
+018f 18002a00 force 0 ,radio_ctrl 
+0190 68024c21 fetch 4 ,mem_24g_addr 
+0191 98001200 iforce access 
+0192 68088017 fetcht 1 ,mem_last_freq 
+0193 2040291f call set_freq_rx 
+0194 20402924 call rf_rx_enable 
+0195 20400229 call p_g24_receive_rxon 
+0196 20578265 call p_g24_end_of_packet ,user3 
+0197 20600000 rtn 
+
+p_g24_transmit_no_ack:
+0198 20400265 call p_g24_end_of_packet 
+0199 20200174 branch p_g24_transmit_next_packet 
+
+p_g24_retransmit:
+019a 6800cc25 fetch 1 ,mem_24g_abort_pac 
+019b 247a0000 nrtn blank 
+019c 68014bff fetch 2 ,mem_24g_txfail_cnt 
+019d 1fe0fe01 increase 1 ,pdata 
+019e 60014bff store 2 ,mem_24g_txfail_cnt 
+019f 6800cc00 fetch 1 ,mem_24g_txfail_cnt + 1 
+01a0 c28201a9 bbit1 4 ,p_g24_stop_g24_mode 
+01a1 6800cc09 fetch 1 ,mem_24g_pairing_sm 
+01a2 c0ff81a5 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+01a3 204001ae call p_g24_tx_hop_ch_process 
+01a4 2020016a branch p_g24_transmit_loop 
+
+p_g24_tx_paring_retry:
+01a5 6800cbff fetch 1 ,mem_24g_txfail_cnt 
+01a6 c1ff8000 rtnne 0xff 
+
+p_g24_tx_attempt_fail:
+01a7 58000000 setarg 0 
+01a8 60014bff store 2 ,mem_24g_txfail_cnt 
+
+p_g24_stop_g24_mode:
+01a9 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+01aa 20207d86 branch ui_ipc_send_event 
+
+p_g24_tx_fast_hop:
+01ab 20400740 call power_ctrl_txpower_incrs 
+01ac 20400713 call power_ctrl_pac_succ_decrs 
+01ad 20200206 branch p_g24_ch 
+
+p_g24_tx_hop_ch_process:
+01ae 6800cc02 fetch 1 ,mem_24g_retry 
+01af 1fe67c0b sub pdata ,11 ,null 
+01b0 242101ab nbranch p_g24_tx_fast_hop ,positive 
+01b1 1fe0fe01 increase 1 ,pdata 
+01b2 6000cc02 store 1 ,mem_24g_retry 
+01b3 c00100f5 beq 2 ,p_g24_hop_ch_enable 
+01b4 c00300fa beq 6 ,p_g24_hop_ch_disable 
+01b5 c00400f5 beq 8 ,p_g24_hop_ch_enable 
+01b6 c00600fa beq 12 ,p_g24_hop_ch_disable 
+01b7 20600000 rtn 
+
+p_g24_ackpayload_parse:
+01b8 204001d9 call p_g24_read_len_pid_crc 
+01b9 6800cbf7 fetch 1 ,mem_24g_rxdata_length 
+01ba 207a0000 rtn blank 
+01bb 98007200 iforce loopcnt 
+01bc d8c04b75 arg mem_24g_rxbuf + 2 ,contr 
+01bd d8a04bd7 arg mem_24g_rxpayload ,contw 
+01be 20207f01 branch memcpy 
+
+p_g24_pairing_sm:
+01bf 7011c590 jam zcode_90 ,mem_zcode_temp_param0 
+01c0 2020077a branch p_zcode_entrance 
+
+p_g24_paring_mode:
+01c1 7011c591 jam zcode_91 ,mem_zcode_temp_param0 
+01c2 2020077a branch p_zcode_entrance 
+
+p_g24_start_24g_mode:
+01c3 7011c560 jam zcode_60 ,mem_zcode_temp_param0 
+01c4 2020077a branch p_zcode_entrance 
+
+p_g24_auto_pair_start:
+01c5 7011c570 jam zcode_70 ,mem_zcode_temp_param0 
+01c6 2020077a branch p_zcode_entrance 
+
+p_g24_tx_attemp_data_prep:
+01c7 70119eff jam 0xff ,mem_24g_common_temp 
+01c8 6800cbfa fetch 1 ,mem_24g_data_type 
+01c9 6000919f store 1 ,mem_24g_common_temp + 1 
+01ca 68024c30 fetch 4 ,mem_24g_device_addr 
+01cb 600211a0 store 4 ,mem_24g_common_temp + 2 
+01cc d8400006 arg 6 ,temp 
+01cd da20119e arg mem_24g_common_temp ,rega 
+01ce 204001d4 call p_g24_put_data_in_buff 
+01cf 202001f4 branch p_g24_transmit_prep 
+
+p_g24_check_51cmd_stop_24g:
+01d0 793f8026 set0 mark_24g ,mark 
+01d1 204053ce call le_disable 
+
+p_mouse_disable_g24_pairing_flag:
+01d2 d8e00003 arg mosue_24g_pairing_flag ,queue 
+01d3 202043d2 branch mouse_disable_function_flag 
+
+p_g24_put_data_in_buff:
+01d4 6008cbf9 storet 1 ,mem_24g_datalen 
+01d5 18427200 copy temp ,loopcnt 
+01d6 d8a04b95 arg mem_24g_txbuf ,contw 
+01d7 1a220c00 copy rega ,contr 
+01d8 20207f01 branch memcpy 
+
+p_g24_read_len_pid_crc:
+01d9 6800cb74 fetch 1 ,mem_24g_rxbuf + 1 
+01da 1fe97e00 rshift3 pdata ,pdata 
+01db 6000cbf7 store 1 ,mem_24g_rxdata_length 
+01dc 1fe0fe01 increase 1 ,pdata 
+01dd d8c04b74 arg mem_24g_rxbuf + 1 ,contr 
+01de 98c08c00 iadd contr ,contr 
+01df e8c18000 ifetch 3 ,contr 
+01e0 6001cc36 store 3 ,mem_24g_sta_crc 
+01e1 6800cb74 fetch 1 ,mem_24g_rxbuf + 1 
+01e2 1fe37e00 rshift pdata ,pdata 
+01e3 1fe17e03 and pdata ,0x03 ,pdata 
+01e4 6000cc3c store 1 ,mem_24g_sta_pid 
+01e5 20600000 rtn 
+
+p_g24_update_addr_and_synccrc8:
+01e6 60024c21 store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+01e7 da200000 arg 0 ,rega 
+01e8 df200004 arg 4 ,loopcnt 
+01e9 d8c04c21 arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+01ea e8c08000 ifetch 1 ,contr 
+01eb 9a20a200 iadd rega ,rega 
+01ec c20001ea loop p_g24_syncword_crc8_loop 
+01ed 1a227e00 copy rega ,pdata 
+01ee 60014caa store 2 ,mem_24g_syncword 
+01ef 6800ccaa fetch 1 ,mem_24g_syncword 
+01f0 6808ccab fetcht 1 ,mem_24g_syncword + 1 
+01f1 9840fe00 iadd temp ,pdata 
+01f2 6000ccac store 1 ,mem_24g_syncword_crc8 
+01f3 20600000 rtn 
+
+p_g24_transmit_prep:
+01f4 6800cbf9 fetch 1 ,mem_24g_datalen 
+01f5 1fe0fe02 increase 2 ,pdata 
+01f6 6000cbfb store 1 ,mem_24g_txlen 
+01f7 6800cbfa fetch 1 ,mem_24g_data_type 
+01f8 6000cbb5 store 1 ,mem_24g_txpayload 
+01f9 6800cbf9 fetch 1 ,mem_24g_datalen 
+01fa 1fe9fe00 lshift3 pdata ,pdata 
+01fb 6808cbf8 fetcht 1 ,mem_24g_pid 
+01fc 18410403 and temp ,0x03 ,temp 
+01fd 18438400 lshift temp ,temp 
+01fe 9841fe00 ior temp ,pdata 
+01ff 6808cc35 fetcht 1 ,mem_24g_no_ack 
+0200 9840fe00 iadd temp ,pdata 
+0201 e0a08000 istore 1 ,contw 
+0202 6800cbf9 fetch 1 ,mem_24g_datalen 
+0203 98007200 iforce loopcnt 
+0204 d8c04b95 arg mem_24g_txbuf ,contr 
+0205 20207f01 branch memcpy 
+
+p_g24_ch:
+0206 6808cc04 fetcht 1 ,mem_24g_current_ch_number 
+0207 2040020a call p_g24_ch_map_size 
+0208 6008cc04 storet 1 ,mem_24g_current_ch_number 
+0209 20600000 rtn 
+
+p_g24_ch_map_size:
+020a 2040020e call p_g24_ch_calc 
+020b 18408401 increase 1 ,temp 
+020c 18410403 and_into 3 ,temp 
+020d 20600000 rtn 
+
+p_g24_ch_calc:
+020e 6800cc21 fetch 1 ,mem_24g_addr 
+020f 1fe17e03 and_into 0x03 ,pdata 
+0210 1fefa204 mul32 pdata ,4 ,rega 
+0211 58004c0a setarg mem_24g_ch_map1 
+0212 9a20fe00 iadd rega ,pdata 
+0213 98408c00 iadd temp ,contr 
+0214 e8c08000 ifetch 1 ,contr 
+0215 6000cc03 store 1 ,mem_24g_ch 
+0216 20600000 rtn 
+
+p_g24_prep:
+0217 7844fc00 disable enable_crc 
+0218 7843fc00 disable enable_white 
+0219 58555555 setarg 0x555555 
+021a 98001e00 iforce crc24_init 
+021b 6800cc03 fetch 1 ,mem_24g_ch 
+021c 1fed8400 reverse pdata ,temp 
+021d 79200401 set1 1 ,temp 
+021e 18431c00 rshift temp ,white_init 
+021f 20600000 rtn 
+
+p_g24_receive_packet:
+0220 204053c4 call le_enable 
+0221 68024c21 fetch 4 ,mem_24g_addr 
+0222 98001200 iforce access 
+0223 20402918 call set_sync_on 
+0224 6808cc03 fetcht 1 ,mem_24g_ch 
+0225 2040291f call set_freq_rx 
+0226 58000500 setarg param_pll_setup 
+0227 20402a8f call sleep 
+0228 20402924 call rf_rx_enable 
+
+p_g24_receive_rxon:
+0229 20400217 call p_g24_prep 
+022a 7857fc00 disable user3 
+022b 7826fc00 enable decode_fec0 
+022c 7830fc00 enable is_rx 
+022d 78507c00 disable is_tx 
+022e 78287c00 enable swfine 
+022f 68014bfc fetch 2 ,mem_24g_rx_window 
+0230 98003600 iforce stop_watch 
+0231 37c18400 correlate null ,timeout 
+0232 242c0269 nbranch p_g24_sync_timeout ,sync 
+0233 7846fc00 disable decode_fec0 
+0234 7825fc00 enable decode_fec1 
+0235 7823fc00 enable enable_white 
+0236 7824fc00 enable enable_crc 
+0237 20400262 call p_g24_receive_byte 
+0238 6000ccad store 1 ,mem_24g_get_syncword_crc8 
+0239 6808ccac fetcht 1 ,mem_24g_syncword_crc8 
+023a 98467c00 isub temp ,null 
+023b 24228265 nbranch p_g24_end_of_packet ,zero 
+023c 20400262 call p_g24_receive_byte 
+023d 6000cb73 store 1 ,mem_24g_rxbuf 
+023e 6800cc3f fetch 1 ,mem_24g_mode 
+023f 1fe67c02 sub pdata ,rx_24g ,null 
+0240 20228245 branch p_g24_receive_skip ,zero 
+0241 6800cb73 fetch 1 ,mem_24g_rxbuf 
+0242 6808cbfa fetcht 1 ,mem_24g_data_type 
+0243 a8400e00 icompare bits_data ,temp 
+0244 24208265 nbranch p_g24_end_of_packet ,true 
+
+p_g24_receive_skip:
+0245 20400262 call p_g24_receive_byte 
+0246 e0a08000 istore 1 ,contw 
+0247 1fe97e00 rshift3 pdata ,pdata 
+0248 1fe1721f and pdata ,0x1f ,loopcnt 
+0249 2022824d branch p_g24rx_nopayload ,zero 
+
+p_g24rx_loop:
+024a 20400262 call p_g24_receive_byte 
+024b e0a08000 istore 1 ,contw 
+024c c200024a loop p_g24rx_loop 
+
+p_g24rx_nopayload:
+024d 18a22200 copy contw ,rega 
+024e 20400262 call p_g24_receive_byte 
+024f 6000cd34 store 1 ,mem_rssi_hex_received 
+0250 1a220a00 copy rega ,contw 
+0251 09800018 parse demod ,bucket ,24 
+0252 78287c00 enable swfine 
+0253 db600664 arg param_sifs ,stop_watch 
+0254 1fef7e00 rshift32 pdata ,pdata 
+0255 1ff17e00 rshift16 pdata ,pdata 
+0256 e0a18000 istore 3 ,contw 
+0257 7845fc00 disable decode_fec1 
+0258 20230265 branch p_g24_end_of_packet ,crc_failed 
+0259 7837fc00 enable user3 
+025a 68008017 fetch 1 ,mem_last_freq 
+025b 1fe0a200 add pdata ,0 ,rega 
+025c 20402981 call rf_write_freq 
+025d 7846fc00 disable decode_fec0 
+025e 20402918 call set_sync_on 
+025f 6800cd34 fetch 1 ,mem_rssi_hex_received 
+0260 2040006b call p_rssi_signal 
+0261 20600000 rtn 
+
+p_g24_receive_byte:
+0262 09800008 parse demod ,bucket ,8 
+0263 19897e00 rshift3 pwindow ,pdata 
+0264 20600000 rtn 
+
+p_g24_end_of_packet:
+0265 784dfc00 disable encode_fec1 
+0266 7845fc00 disable decode_fec1 
+0267 2040264d call end_of_packet 
+0268 20600000 rtn 
+
+p_g24_sync_timeout:
+0269 20200265 branch p_g24_end_of_packet 
+
+p_g24_set_freq_tx:
+026a 20402918 call set_sync_on 
+026b 6808cc03 fetcht 1 ,mem_24g_ch 
+026c 20202933 branch set_freq_tx 
+
+p_g24_transmit:
+026d 204053c4 call le_enable 
+026e 68024c21 fetch 4 ,mem_24g_addr 
+026f 98001200 iforce access 
+0270 20400217 call p_g24_prep 
+0271 2040026a call p_g24_set_freq_tx 
+0272 79202a00 set1 txgfsk ,radio_ctrl 
+0273 782efc00 enable encode_fec0 
+0274 78307c00 enable is_tx 
+0275 7850fc00 disable is_rx 
+0276 19317e00 rshift16 access ,pdata 
+0277 1fecfe00 rshift8 pdata ,pdata 
+0278 1ff1fe00 rshift4 pdata ,pdata 
+0279 08008628 inject mod ,40 
+027a 784efc00 disable encode_fec0 
+027b 782dfc00 enable encode_fec1 
+027c 7823fc00 enable enable_white 
+027d 7824fc00 enable enable_crc 
+027e 6800ccac fetch 1 ,mem_24g_syncword_crc8 
+027f 08008608 inject mod ,8 
+0280 6800cbfb fetch 1 ,mem_24g_txlen 
+0281 98007200 iforce loopcnt 
+0282 d8c04bb5 arg mem_24g_txpayload ,contr 
+
+p_g24tr_loop:
+0283 e8c08000 ifetch 1 ,contr 
+0284 08008608 inject mod ,8 
+0285 c2000283 loop p_g24tr_loop 
+0286 78247c00 enable enable_parity 
+0287 08008618 inject mod ,24 
+0288 78447c00 disable enable_parity 
+0289 37d38200 until null ,tx_clear 
+028a 20000064 nop 100 
+028b 784efc00 disable encode_fec0 
+028c 784dfc00 disable encode_fec1 
+028d 20600000 rtn 
+
+p_g24_timer_check:
+028e 20407fe9 call disable_user 
+028f 680a4c1a fetcht 4 ,mem_24g_tx_btclk 
+0290 1c427e00 copy clkn_bt ,pdata 
+0291 98467c00 isub temp ,null 
+0292 24412d18 ncall g24_timer_timeout ,positive 
+0293 1fe22400 copy pdata ,regb 
+0294 68024c1a fetch 4 ,mem_24g_tx_btclk 
+0295 6808cc1e fetcht 1 ,mem_24g_interval 
+0296 98408400 iadd temp ,temp 
+0297 1a427e00 copy regb ,pdata 
+0298 98467c00 isub temp ,null 
+0299 24610000 nrtn positive 
+029a 793ffe1c set0 28 ,pdata 
+029b 60024c1a store 4 ,mem_24g_tx_btclk 
+029c 20207fe7 branch enable_user 
+
+p_rssi_noise:
+029d 204029bb call save_rssi 
+029e 207a0000 rtn blank 
+029f 6808ccb3 fetcht 1 ,mem_rssi_noise_index 
+02a0 da200d9e arg mem_rssi_noise_buffer ,rega 
+02a1 204002a4 call p_rssi_store 
+02a2 6008ccb3 storet 1 ,mem_rssi_noise_index 
+02a3 20600000 rtn 
+
+p_rssi_store:
+02a4 1a227e00 copy rega ,pdata 
+02a5 98408a00 iadd temp ,contw 
+02a6 68008018 fetch 1 ,mem_rssi 
+02a7 e0a08000 istore 1 ,contw 
+02a8 18408401 increase 1 ,temp 
+02a9 18410407 and_into rssi_buf_len_signal ,temp 
+02aa 20600000 rtn 
+
+p_rssi_average:
+02ab d8400000 arg 0 ,temp 
+02ac df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+02ad 1a220c00 copy rega ,contr 
+
+p_rssi_average_loop:
+02ae e8c08000 ifetch 1 ,contr 
+02af 98408400 iadd temp ,temp 
+02b0 c20002ae loop p_rssi_average_loop 
+02b1 18497e00 rshift3 temp ,pdata 
+02b2 1fe20400 copy pdata ,temp 
+02b3 c6930000 rtnmark0 mark_24g 
+02b4 1fe6fc0a div pdata ,10 
+02b5 20407f86 call wait_div_end 
+02b6 1807fe00 quotient pdata 
+02b7 1ff27e00 lshift4 pdata ,pdata 
+02b8 18070400 remainder temp 
+02b9 98418400 ior temp ,temp 
+02ba 20600000 rtn 
+02bb 20600000 rtn 
+
+p_mouse_before_lpm:
+02bc c6130000 rtnmark1 mark_24g 
+02bd 204003ee call p_mouse_le_txbuff_save 
+02be 204002c6 call p_mouse_setgpio_lpm 
+02bf 6800c040 fetch 1 ,mem_context 
+02c0 c30002c3 bbit0 state_inconn ,p_clear_wake 
+02c1 680080a0 fetch 1 ,mem_lpm_current_mult 
+02c2 247a0000 nrtn blank 
+
+p_clear_wake:
+02c3 58000000 setarg 0 
+02c4 600400a1 store 8 ,mem_gpio_wakeup_low 
+02c5 20600000 rtn 
+
+p_mouse_setgpio_lpm:
+02c6 204002dc call p_mouse_set_sdio_high 
+02c7 204002c3 call p_clear_wake 
+
+p_mouse_setgpio_hibernate:
+02c8 20403ebf call mouse_lpm_before_common 
+02c9 20400336 call p_flash_ncs_disable 
+02ca 68120070 hfetch 4 ,core_gpio_oe0 
+02cb 681a0078 hfetcht 4 ,core_gpio_pu0 
+02cc 98418400 ior temp ,temp 
+02cd 18440400 invert temp ,temp 
+02ce 601a007c hstoret 4 ,core_gpio_pd0 
+02cf 6810807c hfetch 1 ,core_gpio_pd0 
+02d0 793ffe06 set0 6 ,pdata 
+02d1 6010807c hstore 1 ,core_gpio_pd0 
+02d2 6810807c hfetch 1 ,core_gpio_pd0 
+02d3 79207e05 set1 5 ,pdata 
+02d4 6010807c hstore 1 ,core_gpio_pd0 
+02d5 6810807d hfetch 1 ,core_gpio_pd1 
+02d6 793ffe02 set0 2 ,pdata 
+02d7 6010807d hstore 1 ,core_gpio_pd1 
+02d8 6810807e hfetch 1 ,core_gpio_pd2 
+02d9 793ffe06 set0 6 ,pdata 
+02da 6010807e hstore 1 ,core_gpio_pd2 
+02db 20600000 rtn 
+
+p_mouse_set_sdio_high:
+02dc 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+02dd 207a0000 rtn blank 
+02de 20203d80 branch mouse_seting_dpi + 2 
+
+p_device_init:
+02df 2040296c call initialize_radio 
+02e0 20403416 call app_lpm_mult_enable 
+02e1 204074b9 call enable_authrom 
+02e2 203582f5 branch p_device_wake_from_lpm ,wake 
+
+p_device_wake_from_power:
+02e3 20400001 call p_wake_from_power 
+02e4 d8400258 arg 600 ,temp 
+02e5 680146aa fetch 2 ,mem_mouse_no_data_timeout 
+02e6 98460400 isub temp ,temp 
+02e7 60094b59 storet 2 ,mem_mouse_no_data_led_timeout 
+
+p_mouse_check_reconn_target:
+02e8 204002f6 call p_mouse_tx_power_init 
+02e9 704b5019 jam 25 ,mem_mouse_poweron_led_timer 
+02ea 20400518 call p_mouse_adc_read 
+02eb 204004fb call p_mouse_select_device_by_button 
+02ec da204721 arg mem_device1_type ,rega 
+02ed 6800c720 fetch 1 ,mem_device_flag 
+02ee 6808c703 fetcht 1 ,mem_24g_device_number 
+02ef 98467c00 isub temp ,null 
+02f0 202283af branch p_mouse_start_24g_mode ,zero 
+02f1 6800c210 fetch 1 ,mem_xrecord_mode 
+02f2 c01982f9 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+02f3 c01a02fd beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+02f4 20600000 rtn 
+
+p_device_wake_from_lpm:
+02f5 20200310 branch p_mouse_spi_init 
+
+p_mouse_tx_power_init:
+02f6 6800ccb0 fetch 1 ,mem_tx_power_temp 
+02f7 6000c1de store 1 ,mem_tx_power 
+02f8 20600000 rtn 
+
+p_mouse3_0_check_reconn_target:
+02f9 704b5501 jam 1 ,mem_mouse_bt_reconnect_flag 
+02fa 680341d0 fetch 6 ,mem_hci_plap 
+02fb 203a33eb branch app_bt_start_discovery_short ,blank 
+02fc 20204274 branch mouse3_0_check_reconn_target + 3 
+
+p_mouse4_0_check_reconn_target:
+02fd 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
+02fe 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+02ff 600146ae store 2 ,mem_mouse_direct_timer 
+0300 20403418 call app_lpm_mult_disable 
+0301 20400307 call p_le_check_adv_flag 
+0302 58000004 setarg adv_flag_bredr_not_supported 
+0303 e0c08000 istore 1 ,contr 
+0304 d8c04390 arg mem_le_scan_data ,contr 
+0305 2040059d call p_le_adv_data_update 
+0306 20207df4 branch check_51cmd_adv 
+
+p_le_check_adv_flag:
+0307 da204370 arg mem_le_adv_data ,rega 
+
+p_le_check_adv_flag_loop:
+0308 ea208000 ifetch 1 ,rega 
+0309 207a0000 rtn blank 
+030a 98c0a200 iadd contr ,rega 
+030b e8c08000 ifetch 1 ,contr 
+030c c1008000 rtneq 0x01 
+030d 20200308 branch p_le_check_adv_flag_loop 
+
+p_mouse_24g_pairing_button:
+030e 7011c561 jam zcode_61 ,mem_zcode_temp_param0 
+030f 2020077a branch p_zcode_entrance 
+
+p_mouse_spi_init:
+0310 70421276 jam 0x76 ,mem_spi_init_clk 
+0311 20203d36 branch mouse_spi_init 
+
+p_mouse_init_sunt:
+0312 20400310 call p_mouse_spi_init 
+0313 204040c0 call mouse_spi_sdio_gpio_pollup 
+
+p_mouse_init_sensor:
+0314 204040d9 call mouse_read_sensor_id 
+0315 c018831d beq p3065_id1 ,p_mouse_p3065_init_param 
+0316 204040d1 call mouse_twspi_reset 
+0317 200003e8 nop 1000 
+0318 20200314 branch p_mouse_init_sensor 
+
+p_mouse_init_sensor_reset:
+0319 704afe01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+031a 2040640f call spi_ncs_enable 
+031b 20400312 call p_mouse_init_sunt 
+031c 20206411 branch spi_ncs_disable 
+
+p_mouse_p3065_init_param:
+031d 2040032a call p_mouse_sensor_poweron 
+031e 6800c6de fetch 1 ,mem_sensor_id2 
+031f c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0320 7046e001 jam p3065 ,mem_config_sensor_type 
+0321 20600000 rtn 
+
+p_mouse_current_mult_update:
+0322 70417200 jam 0 ,mem_lpm_mult 
+0323 704b631e jam 30 ,mem_mouse_current_mult_timer 
+0324 20600000 rtn 
+
+p_mouse_data_xy_release:
+0325 6800cb62 fetch 1 ,mem_mouse_long_mult_flag 
+0326 c1808000 rtnne 1 
+0327 58000000 setarg 0 
+0328 6000cb62 store 1 ,mem_mouse_long_mult_flag 
+0329 6002469b store 4 ,mem_mouse_x 
+
+p_mouse_sensor_poweron:
+032a 20400310 call p_mouse_spi_init 
+032b 58008006 setarg 0x8006 
+032c 20406413 call twspi_write 
+032d 20002ee0 nop 12000 
+
+p_mouse_dpi_config:
+032e 6800c77a fetch 1 ,mem_mouse_dpi 
+032f c07fbd66 beq 0xff ,mouse_dpi_config 
+0330 20203d80 branch mouse_seting_dpi + 2 
+
+p_mouse_sensor_powerdown:
+0331 20400310 call p_mouse_spi_init 
+0332 58000806 setarg 0x0806 
+0333 20206413 branch twspi_write 
+
+p_mouse_setting_config:
+0334 7011c580 jam zcode_80 ,mem_zcode_temp_param0 
+0335 2020077a branch p_zcode_entrance 
+
+p_flash_ncs_disable:
+0336 6808cb43 fetcht 1 ,mem_flash_ncs_gpio 
+0337 20206825 branch gpio_out_inactive 
+
+p_spid_init_flash:
+0338 70808640 jam 0x40 ,core_spid_ctrl 
+0339 70808700 jam 0x0 ,core_spid_delay 
+033a 68108081 hfetch 1 ,core_gpio_sel1 
+033b 793ffe00 set0 0 ,pdata 
+033c 793ffe01 set0 1 ,pdata 
+033d 79207e03 set1 3 ,pdata 
+033e 793ffe04 set0 4 ,pdata 
+033f 60108081 hstore 1 ,core_gpio_sel1 
+0340 58000000 setarg 0 
+0341 600201f5 store 4 ,mem_spid_tbuf 
+0342 6810807f hfetch 1 ,core_gpio_pd3 
+0343 793ffe00 set0 0 ,pdata 
+0344 6010807f hstore 1 ,core_gpio_pd3 
+0345 20600000 rtn 
+
+p_mouse_load_flash_info_check:
+0346 204003a6 call p_flash_release_deep_power_down 
+0347 20404423 call mouse_load_flash_flag 
+0348 68014778 fetch 2 ,mem_store_flag 
+0349 d840aa55 arg eeprom_init_flag ,temp 
+034a 98467c00 isub temp ,null 
+034b 20228383 branch p_mouse_load_flash_device_info ,zero 
+034c 60094778 storet 2 ,mem_store_flag 
+034d 2040441c call mouse_ble_init_address 
+034e 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+034f 6000c77a store 1 ,mem_mouse_dpi 
+0350 68024b51 fetch 4 ,mem_mouse_24g_addr_init 
+0351 6002477b store 4 ,mem_mouse_24g_addr 
+0352 60024c21 store 4 ,mem_24g_addr 
+0353 20400397 call p_mouse_fast_conn_init 
+
+p_mouse_store_flash_device_info:
+0354 204003a6 call p_flash_release_deep_power_down 
+0355 20400362 call p_flash_erase_sector 
+0356 2040037a call p_mouse_information_flash_parameters 
+0357 20400366 call p_spid_write_flash 
+0358 20400371 call p_wait_flash_done 
+
+p_mouse_store_random_addr_increase_count:
+0359 d8400002 arg 2 ,temp 
+035a da2047c2 arg mem_random_addr_increase_count ,rega 
+035b da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+035c 6801c700 fetch 3 ,mem_flash_base 
+035d 9a40fe00 iadd regb ,pdata 
+035e 20400366 call p_spid_write_flash 
+035f 20400371 call p_wait_flash_done 
+0360 2040039d call p_flash_deep_power_down 
+0361 20200310 branch p_mouse_spi_init 
+
+p_flash_erase_sector:
+0362 6801c700 fetch 3 ,mem_flash_base 
+0363 6001c232 store 3 ,mem_spi_write_addr 
+0364 2040652a call flash_erase_sector + 2 
+0365 20200371 branch p_wait_flash_done 
+
+p_spid_write_flash:
+0366 1fe22600 copy pdata ,regc 
+0367 1a227e00 copy rega ,pdata 
+0368 1fe0fffc increase -4 ,pdata 
+0369 1fe22400 copy pdata ,regb 
+036a ea420000 ifetch 4 ,regb 
+036b 60024b4c store 4 ,mem_write_flash_head_temp 
+036c 1a627e00 copy regc ,pdata 
+036d 20406552 call spid_write_flash 
+036e 68024b4c fetch 4 ,mem_write_flash_head_temp 
+036f e2420000 istore 4 ,regb 
+0370 20600000 rtn 
+
+p_wait_flash_done:
+0371 580186a0 setarg 100000 
+0372 20402a8f call sleep 
+0373 2040650b call spid_unlock_flash 
+0374 580001fa setarg mem_spid_rbuf 
+0375 6011008c hstore 2 ,core_spid_rxaddr 
+0376 58000005 setarg flash_read_satus 
+0377 204064f3 call spid_read_reg 
+0378 c2800371 bbit1 flash_status_wip ,p_wait_flash_done 
+0379 20600000 rtn 
+
+p_mouse_information_flash_parameters:
+037a 5800477f setarg mem_mouse_information_end 
+037b d8404720 arg mem_mouse_information_start ,temp 
+037c 98460400 isub temp ,temp 
+037d 6801c700 fetch 3 ,mem_flash_base 
+037e da204720 arg mem_mouse_information_start ,rega 
+037f 20600000 rtn 
+
+p_mouse_read_flash:
+0380 204003a6 call p_flash_release_deep_power_down 
+0381 2040037a call p_mouse_information_flash_parameters 
+0382 20206562 branch spid_read_flash 
+
+p_mouse_load_flash_device_info:
+0383 20400380 call p_mouse_read_flash 
+0384 204003a8 call p_mouse_load_random_addr_increase_count 
+0385 2040431a call mouse_select_reconn_device 
+0386 6802477b fetch 4 ,mem_mouse_24g_addr 
+0387 60024c21 store 4 ,mem_24g_addr 
+0388 df200003 arg 3 ,loopcnt 
+0389 d8c04722 arg mem_device1_addr ,contr 
+038a 2040038e call p_pdata_0xff_check 
+038b 24340395 nbranch p_mouse_le_fast_conn_disable ,user 
+038c 20400397 call p_mouse_fast_conn_init 
+038d 20600000 rtn 
+
+p_pdata_0xff_check:
+038e 20407fe7 call enable_user 
+038f 5800ffff setarg 0xffff 
+
+p_pdata_0xff_check_loop:
+0390 e8c90000 ifetcht 2 ,contr 
+0391 98467c00 isub temp ,null 
+0392 2442ffe9 ncall disable_user ,zero 
+0393 c2000390 loop p_pdata_0xff_check_loop 
+0394 20600000 rtn 
+
+p_mouse_le_fast_conn_disable:
+0395 704b615a jam 0x5a ,mem_mouse_fast_conn_flag 
+0396 20600000 rtn 
+
+p_mouse_fast_conn_init:
+0397 704b61ff jam 0xff ,mem_mouse_fast_conn_flag 
+0398 70421034 jam 0x34 ,mem_xrecord_mode 
+0399 580f0f0f setarg 0x0f0f0f 
+039a 6001c4a0 store 3 ,mem_le_lap 
+039b 6001c4a3 store 3 ,mem_le_lap + 3 
+039c 20600000 rtn 
+
+p_flash_deep_power_down:
+039d 700aa2b9 jam flash_command_deep_power_down ,mem_temp 
+
+p_spid_write_flash_cmd:
+039e 20400338 call p_spid_init_flash 
+039f 20000064 nop 100 
+03a0 2040650b call spid_unlock_flash 
+03a1 da204b4c arg mem_write_flash_head_temp ,rega 
+03a2 68088aa2 fetcht 1 ,mem_temp 
+03a3 20406556 call spid_write_flash_common 
+03a4 20000064 nop 100 
+03a5 20600000 rtn 
+
+p_flash_release_deep_power_down:
+03a6 700aa2ab jam flash_command_release_deep_power_down ,mem_temp 
+03a7 2020039e branch p_spid_write_flash_cmd 
+
+p_mouse_load_random_addr_increase_count:
+03a8 204003a6 call p_flash_release_deep_power_down 
+03a9 d8400002 arg 2 ,temp 
+03aa da2047c2 arg mem_random_addr_increase_count ,rega 
+03ab da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+03ac 6801c700 fetch 3 ,mem_flash_base 
+03ad 9a40fe00 iadd regb ,pdata 
+03ae 20206562 branch spid_read_flash 
+
+p_mouse_start_24g_mode:
+03af 58000000 setarg 0 
+03b0 60014c26 store 2 ,mem_24g_check_dongle_times 
+03b1 202001c3 branch p_g24_start_24g_mode 
+
+p_mouse_24g_led_blink:
+03b2 6800c720 fetch 1 ,mem_device_flag 
+03b3 c1810000 rtnne mode_24g_device 
+03b4 6800cb5d fetch 1 ,mem_mouse_24g_pair_timer 
+03b5 207a0000 rtn blank 
+03b6 1fe0ffff increase -1 ,pdata 
+03b7 6000cb5d store 1 ,mem_mouse_24g_pair_timer 
+03b8 203a340a branch app_enter_hibernate ,blank 
+03b9 1fe17e0f and pdata ,0x0f ,pdata 
+03ba c00283d4 beq 0x05 ,p_mouse_24g_led_on 
+03bb c00503d1 beq 0x0a ,p_mouse_24g_led_off 
+03bc 20600000 rtn 
+
+p_mouse_discovery_led_blink:
+03bd 6800c6ac fetch 1 ,mem_mouse_discovery_timer 
+03be 207a0000 rtn blank 
+03bf 6800cb5c fetch 1 ,mem_mouse_discovery_blink_count 
+03c0 1fe0fe01 increase 1 ,pdata 
+03c1 6000cb5c store 1 ,mem_mouse_discovery_blink_count 
+03c2 c00283e1 beq 5 ,p_mouse_bt_led_off 
+03c3 c00503dc beq 10 ,p_mouse_bt_discovery_led_on 
+03c4 20600000 rtn 
+
+p_mouse_device_poweron_led_timer:
+03c5 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03c6 207a0000 rtn blank 
+03c7 1fe0ffff increase -1 ,pdata 
+03c8 6000cb50 store 1 ,mem_mouse_poweron_led_timer 
+03c9 6800c720 fetch 1 ,mem_device_flag 
+03ca c00103ce beq mode_24g_device ,p_mouse_device_poweron_g24_led 
+03cb 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03cc c28083dd bbit1 1 ,p_mouse_bt_led_on 
+03cd 202003e1 branch p_mouse_bt_led_off 
+
+p_mouse_device_poweron_g24_led:
+03ce 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+03cf c28083d4 bbit1 1 ,p_mouse_24g_led_on 
+03d0 202003d1 branch p_mouse_24g_led_off 
+
+p_mouse_24g_led_off:
+03d1 704b4900 jam 0 ,mem_24g_device_led_status 
+03d2 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03d3 20200584 branch p_gpio_set_input_high_impedance 
+
+p_mouse_24g_led_on:
+03d4 704b4901 jam 1 ,mem_24g_device_led_status 
+03d5 6810807c hfetch 1 ,core_gpio_pd0 
+03d6 793ffe05 set0 5 ,pdata 
+03d7 6010807c hstore 1 ,core_gpio_pd0 
+03d8 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03d9 2040680e call gpio_config_output 
+03da 6808cb4a fetcht 1 ,mem_device_24g_led_gpio 
+03db 20206825 branch gpio_out_inactive 
+
+p_mouse_bt_discovery_led_on:
+03dc 704b5c00 jam 0 ,mem_mouse_discovery_blink_count 
+
+p_mouse_bt_led_on:
+03dd 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03de 2040680e call gpio_config_output 
+03df 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03e0 20206829 branch gpio_out_active 
+
+p_mouse_bt_led_off:
+03e1 6808cb4b fetcht 1 ,mem_device_bt_led_gpio 
+03e2 2020058f branch p_gpio_set_input_pu 
+
+p_mouse_device_led_off:
+03e3 204003e1 call p_mouse_bt_led_off 
+03e4 202003d1 branch p_mouse_24g_led_off 
+
+p_mouse_device_poweron_led_off:
+03e5 704b5000 jam 0 ,mem_mouse_poweron_led_timer 
+03e6 20600000 rtn 
+
+p_mouse_g24_package_data:
+03e7 20404401 call mouse_g24_package_data 
+03e8 6801469f fetch 2 ,mem_mouse_z 
+03e9 207a0000 rtn blank 
+
+p_g24_transmit_by_interrupt_enable:
+03ea 704d3901 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+03eb 58000000 setarg 0 
+03ec 60014d3a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+03ed 20600000 rtn 
+
+p_mouse_le_txbuff_save:
+03ee d8c01800 arg mem_le_tx_buffer0 ,contr 
+03ef d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
+03f0 204003f6 call p_mouse_le_txbuff_copy 
+03f1 d8c01900 arg mem_le_tx_buffer1 ,contr 
+03f2 204003f6 call p_mouse_le_txbuff_copy 
+03f3 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+03f4 204003f6 call p_mouse_le_txbuff_copy 
+03f5 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+
+p_mouse_le_txbuff_copy:
+03f6 df20001b arg 27 ,loopcnt 
+03f7 20207f01 branch memcpy 
+
+p_mouse_le_txbuff_load:
+03f8 d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
+03f9 d8a01800 arg mem_le_tx_buffer0 ,contw 
+03fa 204003f6 call p_mouse_le_txbuff_copy 
+03fb d8a01900 arg mem_le_tx_buffer1 ,contw 
+03fc 204003f6 call p_mouse_le_txbuff_copy 
+03fd d8a01a00 arg mem_le_tx_buffer2 ,contw 
+03fe 204003f6 call p_mouse_le_txbuff_copy 
+03ff d8a01b00 arg mem_le_tx_buffer3 ,contw 
+0400 202003f6 branch p_mouse_le_txbuff_copy 
+
+p_mouse_le:
+0401 20405892 call le_fifo_check_nearly_full 
+0402 247a0000 nrtn blank 
+0403 6800cb61 fetch 1 ,mem_mouse_fast_conn_flag 
+0404 c07f8408 beq 0xff ,p_mouse_le_next 
+0405 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0406 1fe17e03 and pdata ,0x03 ,pdata 
+0407 c1818000 rtnne 0x03 
+
+p_mouse_le_next:
+0408 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0409 205a0455 call p_mouse_clear_sensor_data ,blank 
+040a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+040b c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+040c 20403f97 call mouse_motion 
+040d 24740000 nrtn user 
+040e 20400322 call p_mouse_current_mult_update 
+040f 20400325 call p_mouse_data_xy_release 
+0410 2040042b call p_mouse_wheel_trigger 
+
+p_mouse_data_push:
+0411 da20469a arg mem_mouse_key ,rega 
+0412 20407e3d call queue_push 
+0413 2054041a call p_mouse_queue_increase ,user 
+0414 20600000 rtn 
+
+p_mouse_data_init:
+0415 7047a007 jam 7 ,mem_mouse_data_queue 
+0416 7047a104 jam 4 ,mem_mouse_data_queue + 1 
+0417 580047a0 setarg mem_mouse_data_queue 
+0418 60014218 store 2 ,mem_queue_ptr 
+0419 20207e38 branch queue_init 
+
+p_mouse_queue_increase:
+041a 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+041b 1fe0fe01 increase 1 ,pdata 
+041c 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+041d 20600000 rtn 
+
+p_mouse_data_pull:
+041e da20469a arg mem_mouse_key ,rega 
+041f 20407e54 call queue_pop 
+0420 20340422 branch p_mouse_fill_data_le ,user 
+0421 20600000 rtn 
+
+p_mouse_fill_data_le:
+0422 20405652 call le_clear_md 
+0423 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0424 1fe67c01 sub pdata ,1 ,null 
+0425 24415650 ncall le_set_md ,positive 
+0426 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0427 207a0000 rtn blank 
+0428 1fe0ffff increase -1 ,pdata 
+0429 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+042a 20203f90 branch mouse_fill_data_le 
+
+p_mouse_wheel_trigger:
+042b 6801469f fetch 2 ,mem_mouse_z 
+042c 207a0000 rtn blank 
+042d 70480601 jam 1 ,mem_mouse_wheel_trigger 
+042e 70480702 jam 2 ,mem_mouse_wheel_trigger_timer 
+042f 20600000 rtn 
+
+p_mouse_bt:
+0430 20770000 rtn attempt 
+0431 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+0432 207a0000 rtn blank 
+0433 20405271 call l2cap_malloc_is_fifo_nearly_full 
+0434 247a0000 nrtn blank 
+0435 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0436 205a0455 call p_mouse_clear_sensor_data ,blank 
+0437 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0438 c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0439 c284bf8a bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
+043a 20403f97 call mouse_motion 
+043b 24740000 nrtn user 
+043c 20400322 call p_mouse_current_mult_update 
+043d 20400325 call p_mouse_data_xy_release 
+043e 2040042b call p_mouse_wheel_trigger 
+043f 6800cb03 fetch 1 ,mem_mouse_bt_boot_mode 
+0440 c0008444 beq 1 ,p_mouse_send_data_boot_mode 
+0441 6800cb0a fetch 1 ,mem_mouse_bt_send_first_package_flag 
+0442 207a0000 rtn blank 
+0443 20203f81 branch mouse_send_data 
+
+p_mouse_send_data_boot_mode:
+0444 6800c69a fetch 1 ,mem_mouse_key 
+0445 6000cb04 store 1 ,mem_mouse_bt_boot_data 
+0446 6800c69b fetch 1 ,mem_mouse_x 
+0447 e0a08000 istore 1 ,contw 
+0448 6800c69d fetch 1 ,mem_mouse_y 
+0449 e0a08000 istore 1 ,contw 
+044a 6801469f fetch 2 ,mem_mouse_z 
+044b e0a10000 istore 2 ,contw 
+044c da200007 arg 7 ,rega 
+044d 20404d63 call hid_malloc_tx_buff 
+044e 6801424e fetch 2 ,mem_hid_int_remote_cid 
+044f e0a10000 istore 2 ,contw 
+0450 580002a1 setarg 0x02a1 
+0451 e0a10000 istore 2 ,contw 
+0452 6802cb04 fetch 5 ,mem_mouse_bt_boot_data 
+0453 e0a28000 istore 5 ,contw 
+0454 20600000 rtn 
+
+p_mouse_clear_sensor_data:
+0455 70479c01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0456 20405814 call le_set_config_more_data 
+0457 20200319 branch p_mouse_init_sensor_reset 
+
+p_mouse_idle:
+0458 20407e34 call ui_check_paring_button 
+0459 2040045b call p_mouse_dpi_check 
+045a 20203ee0 branch mouse_wheel_check 
+
+p_mouse_dpi_check:
+045b 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+045c 20400586 call p_gpio_set_input_pd 
+045d 20400460 call p_mouse_dpi_check_next 
+045e 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+045f 2020058f branch p_gpio_set_input_pu 
+
+p_mouse_dpi_check_next:
+0460 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0461 2040681d call gpio_get_bit 
+0462 2020bd62 branch mouse_dpi_up ,true 
+
+p_mouse_dpi_down:
+0463 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+0464 c1000000 rtneq dpi_button_state_down 
+0465 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0466 6800c77a fetch 1 ,mem_mouse_dpi 
+0467 1fe0fe01 increase 1 ,pdata 
+0468 1fe67c03 sub pdata ,0x03 ,null 
+0469 24417fef ncall disable_blank ,positive 
+
+p_mouse_set_dpi:
+046a 6000c77a store 1 ,mem_mouse_dpi 
+046b 20403d7e call mouse_seting_dpi 
+
+p_mouse_dpi_no_blink:
+046c 20200354 branch p_mouse_store_flash_device_info 
+
+p_mouse_priority_bb_event:
+046d 1a627e00 copy regc ,pdata 
+046e c00a047e beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+046f c00a8481 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0470 c0148484 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+0471 c0190486 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0472 c0200488 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+0473 c002048a beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+0474 c009848a beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
+0475 c00cb3df beq bt_evt_switch_not_accept ,app_bt_role_switch 
+0476 c010848e beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
+0477 c0008490 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+0478 c0010493 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
+0479 c0158496 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
+047a c01c8498 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+047b c01d049b beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+047c c01e049f beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+047d 2020417d branch mouse_priority_bb_event + 1 
+
+p_mouse_le_bb_event_connected:
+047e 20400319 call p_mouse_init_sensor_reset 
+047f 7011c5b0 jam zcode_b0 ,mem_zcode_temp_param0 
+0480 2020077a branch p_zcode_entrance 
+
+p_mouse_le_bb_disconnected:
+0481 204004a4 call p_mouse_sensor_powerdown_check 
+0482 7011c5a2 jam zcode_a2 ,mem_zcode_temp_param0 
+0483 2020077a branch p_zcode_entrance 
+
+p_mouse_le_enc_info:
+
+p_app_updata_le_param:
+0484 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0485 20207d8f branch ui_ipc_send_cmd 
+
+p_mouse_le_ll_start_encryt:
+0486 7011c5b3 jam zcode_b3 ,mem_zcode_temp_param0 
+0487 2020077a branch p_zcode_entrance 
+
+p_mouse_le_conn_param_update_rsp_recieved:
+0488 7011c5a1 jam zcode_a1 ,mem_zcode_temp_param0 
+0489 2020077a branch p_zcode_entrance 
+
+p_mouse_bb_event_reconn_timeout:
+
+p_mouse_bb_event_reconn_failed:
+048a 7011c5a3 jam zcode_a3 ,mem_zcode_temp_param0 
+048b 2020077a branch p_zcode_entrance 
+
+p_mouse_irtual_cable_unplug:
+048c 2040438e call mouse_irtual_cable_unplug 
+048d 202033a7 branch app_bb_hibernate 
+
+p_mouse_sniff_not_accept:
+048e 7011c5b1 jam zcode_b1 ,mem_zcode_temp_param0 
+048f 2020077a branch p_zcode_entrance 
+
+p_mouse_bb_event_connected:
+0490 70480900 jam 0 ,mem_mouse_send_switch_req_timer 
+0491 20400319 call p_mouse_init_sensor_reset 
+0492 202042ca branch mouse_stop_discovery 
+
+p_mouse_bb_event_disconnected:
+0493 204004a4 call p_mouse_sensor_powerdown_check 
+0494 7011c5b4 jam zcode_b4 ,mem_zcode_temp_param0 
+0495 2020077a branch p_zcode_entrance 
+
+p_mouse_enter_sniff_check:
+0496 7011c5b2 jam zcode_b2 ,mem_zcode_temp_param0 
+0497 2020077a branch p_zcode_entrance 
+
+p_mouse_24g_pairing_complete:
+0498 20400319 call p_mouse_init_sensor_reset 
+0499 7011c592 jam zcode_92 ,mem_zcode_temp_param0 
+049a 2020077a branch p_zcode_entrance 
+
+p_mouse_24g_attempt_fail:
+049b 204004a4 call p_mouse_sensor_powerdown_check 
+049c 704b5600 jam 0 ,mem_retry_count 
+049d 7011c551 jam zcode_51 ,mem_zcode_temp_param0 
+049e 2020077a branch p_zcode_entrance 
+
+p_mouse_24g_attempt_success:
+049f 20400319 call p_mouse_init_sensor_reset 
+
+p_mouse_24g_no_data_timer_init:
+04a0 20203f8d branch mouse_no_data_timer_init 
+
+p_mouse_before_hibernate:
+04a1 204004a4 call p_mouse_sensor_powerdown_check 
+04a2 7011c5a4 jam zcode_a4 ,mem_zcode_temp_param0 
+04a3 2020077a branch p_zcode_entrance 
+
+p_mouse_sensor_powerdown_check:
+04a4 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+04a5 207a0000 rtn blank 
+04a6 704afe00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+04a7 20200331 branch p_mouse_sensor_powerdown 
+
+p_mouse_bb_event_timer:
+04a8 20400518 call p_mouse_adc_read 
+04a9 204004b8 call p_mouse_low_voltage_led_timer 
+04aa 204004d7 call p_mouse_wheel_trigger_timer 
+04ab 204004fb call p_mouse_select_device_by_button 
+04ac 20404234 call mouse_check_discovery_timeout_timer 
+04ad 2040423a call mouse_check_no_data_timeout_timer 
+04ae 204004dc call p_mouse_current_mult_update_timer 
+04af 204004e2 call p_mouse_24g_long_sleep_param_update_timer 
+04b0 20404237 call mouse_check_direct_timeout_timer 
+04b1 204004d4 call p_mouse_le_enable_att_list_timer 
+04b2 204004cc call p_mouse_send_switch_req_timer 
+04b3 20404231 call mouse_check_hid_handshake_timer 
+04b4 204004cf call p_mouse_bt_check_sniff_req_timeout_timer 
+04b5 204003bd call p_mouse_discovery_led_blink 
+04b6 204003b2 call p_mouse_24g_led_blink 
+04b7 202003c5 branch p_mouse_device_poweron_led_timer 
+
+p_mouse_low_voltage_led_timer:
+04b8 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+04b9 c4020000 rtnbit0 mouse_low_voltage_flag 
+04ba 6800c6ae fetch 1 ,mem_mouse_direct_timer 
+04bb 243a03d1 nbranch p_mouse_24g_led_off ,blank 
+04bc 6800c6ac fetch 1 ,mem_mouse_discovery_timer 
+04bd 243a03d1 nbranch p_mouse_24g_led_off ,blank 
+04be 6800cb50 fetch 1 ,mem_mouse_poweron_led_timer 
+04bf 243a03d1 nbranch p_mouse_24g_led_off ,blank 
+04c0 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+04c1 1fe0fe01 pincrease 1 
+04c2 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+04c3 1fe67c14 sub pdata ,20 ,null 
+04c4 244104ca ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+04c5 c00103d4 beq 2 ,p_mouse_24g_led_on 
+04c6 c00203d1 beq 4 ,p_mouse_24g_led_off 
+04c7 c00303d4 beq 6 ,p_mouse_24g_led_on 
+04c8 c00403d1 beq 8 ,p_mouse_24g_led_off 
+04c9 20600000 rtn 
+
+p_mouse_adc_low_volatage_led_timer_count_clean:
+04ca 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+04cb 202003d1 branch p_mouse_24g_led_off 
+
+p_mouse_send_switch_req_timer:
+04cc da604809 arg mem_mouse_send_switch_req_timer ,regc 
+04cd da40637a arg host_create_conn_resend ,regb 
+04ce 2020336d branch timer_single_step 
+
+p_mouse_bt_check_sniff_req_timeout_timer:
+04cf da604b09 arg mem_mouse_bt_send_first_package_timer ,regc 
+04d0 da4004d2 arg p_mouse_bt_send_first_package ,regb 
+04d1 2020336d branch timer_single_step 
+
+p_mouse_bt_send_first_package:
+04d2 704b0a01 jam 1 ,mem_mouse_bt_send_first_package_flag 
+04d3 20600000 rtn 
+
+p_mouse_le_enable_att_list_timer:
+04d4 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+04d5 da403d60 arg mouse_le_write_enable ,regb 
+04d6 2020336d branch timer_single_step 
+
+p_mouse_wheel_trigger_timer:
+04d7 da604807 arg mem_mouse_wheel_trigger_timer ,regc 
+04d8 da4004da arg p_mouse_wheel_trigger_disable ,regb 
+04d9 2020336d branch timer_single_step 
+
+p_mouse_wheel_trigger_disable:
+04da 70480600 jam 0 ,mem_mouse_wheel_trigger 
+04db 20600000 rtn 
+
+p_mouse_current_mult_update_timer:
+04dc da604b63 arg mem_mouse_current_mult_timer ,regc 
+04dd da4004df arg p_mouse_le_current_mult_reinit ,regb 
+04de 2020336d branch timer_single_step 
+
+p_mouse_le_current_mult_reinit:
+04df 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+04e0 6000c172 store 1 ,mem_lpm_mult 
+04e1 202004e7 branch p_mouse_long_mult_flag_enable 
+
+p_mouse_24g_long_sleep_param_update_timer:
+04e2 da604b64 arg mem_24g_long_sleep_param_update_timer ,regc 
+04e3 da4004e5 arg p_mouse_24g_long_sleep_normal_param ,regb 
+04e4 2020336d branch timer_single_step 
+
+p_mouse_24g_long_sleep_normal_param:
+04e5 580ea600 setarg g24_long_sleep_step2 
+04e6 6001cc28 store 3 ,mem_24g_enter_hibernate 
+
+p_mouse_long_mult_flag_enable:
+04e7 704b6201 jam 1 ,mem_mouse_long_mult_flag 
+04e8 20600000 rtn 
+
+p_mouse_bt_discovery_timer:
+04e9 da604b44 arg mem_select_ui_button_count ,regc 
+04ea da4004ec arg p_mouse_long_button_bt_discovery ,regb 
+04eb 2020336d branch timer_single_step 
+
+p_mouse_long_button_bt_discovery:
+04ec 6808c720 fetcht 1 ,mem_device_flag 
+04ed 6800c703 fetch 1 ,mem_24g_device_number 
+04ee 98467c00 isub temp ,null 
+04ef 20628000 rtn zero 
+04f0 68014682 fetch 2 ,mem_ui_state_map 
+04f1 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+04f2 2040c2d4 call mouse_stop_le_adv ,true 
+04f3 68014682 fetch 2 ,mem_ui_state_map 
+04f4 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+04f5 2040c392 call mouse_cancel_reconnect ,true 
+04f6 202043b8 branch mouse_long_button_bt_discovry 
+
+p_mouse_set_select_state:
+04f7 704b6001 jam 1 ,mem_select_device_button_press_flag 
+04f8 20600000 rtn 
+
+p_mouse_clear_select_state:
+04f9 704b6000 jam 0 ,mem_select_device_button_press_flag 
+04fa 20600000 rtn 
+
+p_mouse_select_device_by_button:
+04fb 6800cb60 fetch 1 ,mem_select_device_button_press_flag 
+04fc 203a0507 branch p_mouse_select_device_button_up ,blank 
+
+p_mouse_select_device_button_down:
+04fd 204004e9 call p_mouse_bt_discovery_timer 
+04fe 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+04ff c1000000 rtneq pb_button_state_down 
+0500 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+0501 600146ae store 2 ,mem_mouse_direct_timer 
+0502 18000e03 force page_length_timer ,queue 
+0503 680140b9 fetch 2 ,mem_page_to 
+0504 20407f08 call timer_init 
+0505 7046d900 jam pb_button_state_down ,mem_select_device_button_statue 
+0506 20600000 rtn 
+
+p_mouse_select_device_button_up:
+0507 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+0508 c1008000 rtneq pb_button_state_up 
+0509 6800c685 fetch 1 ,mem_ui_button_timeout 
+050a 6000cb44 store 1 ,mem_select_ui_button_count 
+050b 7046d901 jam pb_button_state_up ,mem_select_device_button_statue 
+050c 20600000 rtn 
+
+p_mouse_ready_reconnection_by_button:
+050d 6808c720 fetcht 1 ,mem_device_flag 
+050e 18408401 increase 1 ,temp 
+050f 6800c6d2 fetch 1 ,mem_device_number 
+0510 98467c00 isub temp ,null 
+0511 244143cc ncall mouse_select_device_count_clean ,positive 
+0512 6008c720 storet 1 ,mem_device_flag 
+0513 7041bd00 jam 0 ,mem_link_key_exists 
+0514 20400354 call p_mouse_store_flash_device_info 
+0515 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0516 c1048000 rtneq mouse_bt_discovery_button_long_down_flag 
+0517 2020437e branch mouse_set_reconnection 
+
+p_mouse_adc_read:
+0518 6800c6ce fetch 1 ,mem_adc_read_timer 
+0519 1fe0fe01 increase 1 ,pdata 
+051a 6000c6ce store 1 ,mem_adc_read_timer 
+051b 1fe67c0a sub pdata ,10 ,null 
+051c 2041052a call p_mouse_adc_read_gpio5 ,positive 
+051d 2441052e ncall p_mouse_adc_read_vinlpm ,positive 
+051e 204068a8 call adc_init_data 
+051f 2040054d call p_adc_set_mode 
+0520 20406908 call vdd_calculate_by_mode 
+0521 6001470f store 2 ,mem_mouse_vdd_now_vol 
+0522 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+0523 20400557 call p_adc_bat_percent_lowpower_out 
+0524 6800c231 fetch 1 ,mem_adc_power_flag 
+0525 c28104f7 bbit1 2 ,p_mouse_set_select_state 
+0526 c280b40a bbit1 1 ,app_enter_hibernate 
+0527 c3000545 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0528 704afd01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+0529 202043e7 branch mouse_adc_low_voltage 
+
+p_mouse_adc_read_gpio5:
+052a 6800cb49 fetch 1 ,mem_24g_device_led_status 
+052b 243a052e nbranch p_mouse_adc_read_vinlpm ,blank 
+052c 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
+052d 20600000 rtn 
+
+p_mouse_adc_read_vinlpm:
+052e 7046ce00 jam 0 ,mem_adc_read_timer 
+052f 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
+0530 20600000 rtn 
+
+p_vdd_calculate_by_mode:
+0531 6800c22d fetch 1 ,mem_adc_config_flag 
+0532 c0010534 beq adc_config_gpio ,p_vdd_calculate_io 
+0533 2020690a branch vdd_calculate_by_mode + 2 
+
+p_vdd_calculate_io:
+0534 68014223 fetch 2 ,mem_1v_adc_io_data 
+0535 6809421d fetcht 2 ,mem_0_5_adc_io_data 
+0536 da600032 arg 50 ,regc 
+0537 20200538 branch p_vdd_calculate 
+
+p_vdd_calculate:
+0538 98462200 isub temp ,rega 
+0539 6801422f fetch 2 ,mem_adc_current_value 
+053a 98467e00 isub temp ,pdata 
+053b 2421053d nbranch p_vdd_calculate1 ,positive 
+053c 2020691e branch vdd_calculate + 4 
+
+p_vdd_calculate1:
+053d 18427e00 copy temp ,pdata 
+053e 6809422f fetcht 2 ,mem_adc_current_value 
+053f 98467e00 isub temp ,pdata 
+0540 9a267c00 isub rega ,null 
+0541 20410543 call p_vdd_calculate2 ,positive 
+0542 2020692a branch vdd_calculate1 + 3 
+
+p_vdd_calculate2:
+0543 1a227e00 copy rega ,pdata 
+0544 20600000 rtn 
+
+p_mouse_adc_no_low_voltage:
+0545 204043e9 call mouse_adc_no_low_voltage 
+0546 7046cf0c jam 12 ,mem_adc_low_volatage_led_timer_count 
+0547 6800cafd fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0548 207a0000 rtn blank 
+0549 704afd00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+054a 6800c6ef fetch 1 ,mem_config_low_voltage_alarm_gpio 
+054b 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+054c 20204296 branch mouse_led_off 
+
+p_adc_set_mode:
+054d 6800c22d fetch 1 ,mem_adc_config_flag 
+054e c0010550 beq adc_config_gpio ,p_adc_check_gpio 
+054f 202068ec branch adc_set_mode + 1 
+
+p_adc_check_gpio:
+0550 6810807c hfetch 1 ,core_gpio_pd0 
+0551 793ffe05 set0 5 ,pdata 
+0552 6010807c hstore 1 ,core_gpio_pd0 
+0553 7089718f jam 0x8f ,rf_adc_mode 
+0554 6800c22e fetch 1 ,mem_adc_channel 
+0555 60108973 hstore 1 ,rf_adc_ch 
+0556 202068f8 branch read_adc 
+
+p_adc_bat_percent_lowpower_out:
+0557 ea240000 ifetch 8 ,rega 
+0558 60040a9a store 8 ,mem_pdatatemp 
+0559 6800c22d fetch 1 ,mem_adc_config_flag 
+055a c0010568 beq adc_config_gpio ,p_adc_check_gpio5 
+055b c000055c beq adc_config_vinlpm ,p_adc_check_vinlpm 
+
+p_adc_check_vinlpm:
+055c 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+055d 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+055e 98467c00 isub temp ,null 
+055f 24216944 nbranch adc_set_no_power_flag ,positive 
+0560 2040056e call p_adc_clear_no_power_flag 
+0561 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+0562 98467c00 isub temp ,null 
+0563 24216940 nbranch adc_set_low_power_flag ,positive 
+
+p_adc_clear_low_power_flag:
+0564 6800c231 fetch 1 ,mem_adc_power_flag 
+0565 793ffe00 set0 0 ,pdata 
+0566 6000c231 store 1 ,mem_adc_power_flag 
+0567 20600000 rtn 
+
+p_adc_check_gpio5:
+0568 68094b5e fetcht 2 ,mem_mouse_vdd_0v 
+0569 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+056a 98467c00 isub temp ,null 
+056b 24210572 nbranch p_adc_set_pb_press_flag ,positive 
+056c 204004f9 call p_mouse_clear_select_state 
+056d 20200576 branch p_adc_clear_pb_press_flag 
+
+p_adc_clear_no_power_flag:
+056e 6808c231 fetcht 1 ,mem_adc_power_flag 
+056f 793f8401 set0 1 ,temp 
+0570 6008c231 storet 1 ,mem_adc_power_flag 
+0571 20600000 rtn 
+
+p_adc_set_pb_press_flag:
+0572 6808c231 fetcht 1 ,mem_adc_power_flag 
+0573 79200402 set1 2 ,temp 
+0574 6008c231 storet 1 ,mem_adc_power_flag 
+0575 20600000 rtn 
+
+p_adc_clear_pb_press_flag:
+0576 6808c231 fetcht 1 ,mem_adc_power_flag 
+0577 793f8402 set0 2 ,temp 
+0578 6008c231 storet 1 ,mem_adc_power_flag 
+0579 20600000 rtn 
+
+p_mouse_motion:
+057a 78547c00 disable user 
+057b 58000000 setarg 0 
+057c 6003469b store 6 ,mem_mouse_x 
+057d 20403fb5 call mouse_cheak_sensor_data 
+057e 20404079 call mouse_zwheel 
+057f 2040407e call mouse_t_zwheel 
+0580 20404099 call mouse_key 
+0581 2434079b nbranch p_drawing_optima_init ,user 
+0582 2040079e call p_drawing_optima 
+0583 20203fa0 branch mouse_motion + 9 
+
+p_gpio_set_input_high_impedance:
+0584 793f8407 set0 gpio_active_bit ,temp 
+0585 20206806 branch gpio_set_high_impedance 
+
+p_gpio_set_input_pd:
+0586 793f8407 set0 gpio_active_bit ,temp 
+0587 d8a08078 arg core_gpio_pu0 ,contw 
+0588 20406830 call gpio_set_bit 
+0589 79200407 set1 gpio_active_bit ,temp 
+
+p_gpio_set_input_pd4:
+058a d8a0807c arg core_gpio_pd0 ,contw 
+058b 20406830 call gpio_set_bit 
+058c 793f8407 set0 gpio_active_bit ,temp 
+058d d8a08070 arg core_gpio_oe0 ,contw 
+058e 20206830 branch gpio_set_bit 
+
+p_gpio_set_input_pu:
+058f 79200407 set1 gpio_active_bit ,temp 
+
+p_gpio_set_input_pu1:
+0590 d8a08078 arg core_gpio_pu0 ,contw 
+0591 20406830 call gpio_set_bit 
+0592 793f8407 set0 gpio_active_bit ,temp 
+0593 2020058a branch p_gpio_set_input_pd4 
+
+p_mouse_bb_event_discovery_btn:
+0594 704b5000 jam 0 ,mem_mouse_poweron_led_timer 
+0595 280ffe26 isolate1 mark_24g ,mark 
+0596 204081d0 call p_g24_check_51cmd_stop_24g ,true 
+0597 2020426d branch mouse_bb_event_discovery_btn + 1 
+
+p_le_addr_random_config:
+0598 7011c581 jam zcode_81 ,mem_zcode_temp_param0 
+0599 2020077a branch p_zcode_entrance 
+
+p_mouse_start_discovery:
+059a 704b5c00 jam 0 ,mem_mouse_discovery_blink_count 
+059b 7011c550 jam zcode_50 ,mem_zcode_temp_param0 
+059c 2020077a branch p_zcode_entrance 
+
+p_le_adv_data_update:
+059d d8a0437b arg mem_le_adv_data + 11 ,contw 
+059e df200013 arg 19 ,loopcnt 
+059f 20407f01 call memcpy 
+05a0 202057b8 branch le_modified_name_adv 
+
+p_mouse_stop_discovery:
+05a1 58000000 setarg 0 
+05a2 600146ac store 2 ,mem_mouse_discovery_timer 
+05a3 6000cb5b store 1 ,mem_mouse_dpi_blink_count 
+05a4 6000c714 store 1 ,mem_mouse_blink_count 
+05a5 6000cb5c store 1 ,mem_mouse_discovery_blink_count 
+05a6 704b4705 jam 5 ,mem_mouse_bt_ble_led_timer 
+05a7 204003e1 call p_mouse_bt_led_off 
+05a8 2040032a call p_mouse_sensor_poweron 
+05a9 202042cb branch mouse_stop_discovery + 1 
+
+p_le_slave_match:
+05aa 6800c50f fetch 1 ,mem_le_md_count 
+05ab 1fe0fe01 pincrease 1 
+05ac 6000c50f store 1 ,mem_le_md_count 
+05ad c0065395 beq le_md_max_count ,le_slave_cont 
+05ae 204055aa call le_acknowledge 
+05af 2040561e call le_prepare_tx 
+05b0 2040071d call power_ctrl_start 
+05b1 2020538f branch le_slave_match + 7 
+
+p_le_next_adv_channel:
+05b2 68008016 fetch 1 ,mem_le_ch_mapped 
+05b3 1fe0fe01 increase 1 ,pdata 
+05b4 60008016 store 1 ,mem_le_ch_mapped 
+05b5 c1940000 rtnne 40 
+05b6 70001625 jam 37 ,mem_le_ch_mapped 
+05b7 20600000 rtn 
+
+p_le_receive_skip:
+05b8 204029bb call save_rssi 
+05b9 2040006b call p_rssi_signal 
+05ba 202054a3 branch le_receive_skip + 2 
+
+p_le_update_param:
+05bb 7011c540 jam zcode_40 ,mem_zcode_temp_param0 
+05bc 2020077a branch p_zcode_entrance 
+
+p_le_update_channel_map:
+05bd 7011c541 jam zcode_41 ,mem_zcode_temp_param0 
+05be 2020077a branch p_zcode_entrance 
+
+p_le_prepare_tx:
+05bf 68008456 fetch 1 ,mem_le_arq 
+05c0 c28285d3 bbit1 wak ,p_le_prepare_tx_wak 
+05c1 2040070f call power_ctrl_pac_succ_incrs 
+05c2 6800c78e fetch 1 ,mem_empty_count 
+05c3 243a05c9 nbranch p_le_send_empyt ,blank 
+05c4 6800843f fetch 1 ,mem_le_state 
+05c5 c30205cd bbit0 lestate_encryption ,p_le_tx_4 
+05c6 680082da fetch 1 ,mem_le_rxbuf + 1 
+05c7 203a05cd branch p_le_tx_4 ,blank 
+05c8 20205664 branch le_send_empty 
+
+p_le_send_empyt:
+05c9 6800c78e fetch 1 ,mem_empty_count 
+05ca 1fe0ffff increase -1 ,pdata 
+05cb 6000c78e store 1 ,mem_empty_count 
+05cc 20205664 branch le_send_empty 
+
+p_le_tx_4:
+05cd 6800c4c4 fetch 1 ,mem_le_pairing_state 
+05ce c08285d0 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+05cf 70478e03 jam 3 ,mem_empty_count 
+
+p_in_le_tx_4:
+05d0 20405892 call le_fifo_check_nearly_full 
+05d1 205a041e call p_mouse_data_pull ,blank 
+05d2 20205622 branch le_prepare_tx + 4 
+
+p_le_prepare_tx_wak:
+05d3 204005d5 call p_le_check_tx_retransmit_setmd 
+05d4 202005e1 branch p_le_power_ctrl_pac_succ_decrs 
+
+p_le_check_tx_retransmit_setmd:
+05d5 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05d6 1fe17e03 and pdata ,0x03 ,pdata 
+05d7 c1818000 rtnne 0x03 
+05d8 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+05d9 207a0000 rtn blank 
+05da 6800c3dd fetch 1 ,mem_le_txlen 
+05db 207a0000 rtn blank 
+05dc 6800c3dc fetch 1 ,mem_le_txheader 
+05dd 79207e04 set1 md ,pdata 
+05de 6000c3dc store 1 ,mem_le_txheader 
+05df 20405650 call le_set_md 
+05e0 20600000 rtn 
+
+p_le_power_ctrl_pac_succ_decrs:
+05e1 20200713 branch power_ctrl_pac_succ_decrs 
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+05e2 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+05e3 207a0000 rtn blank 
+05e4 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05e5 1fe17e03 and pdata ,0x03 ,pdata 
+05e6 c1018000 rtneq 0x03 
+05e7 7046c601 jam 1 ,mem_le_start_encrypt_timer 
+05e8 20600000 rtn 
+
+p_le_parse:
+05e9 c6078000 rtnmark1 mark_old_packet 
+05ea 20405890 call le_fifo_check_full 
+05eb 247a0000 nrtn blank 
+05ec 680082d9 fetch 1 ,mem_le_rxbuf 
+05ed 1fe17e03 and pdata ,0x3 ,pdata 
+05ee 6000c50c store 1 ,mem_le_packet_llid 
+05ef e8c08000 ifetch 1 ,contr 
+05f0 1fe17e1f and pdata ,0x1f ,pdata 
+05f1 6000c50b store 1 ,mem_le_packet_size 
+05f2 207a0000 rtn blank 
+05f3 18c27e00 copy contr ,pdata 
+05f4 6001450d store 2 ,mem_le_payload_ptr 
+05f5 6800c50c fetch 1 ,mem_le_packet_llid 
+05f6 c00185f8 beq llid_le_ll ,p_le_parse_ll 
+05f7 2020568d branch le_parse_l2cap 
+
+p_le_parse_ll:
+05f8 680082db fetch 1 ,mem_le_rxbuf + 2 
+05f9 c00085fb beq ll_channel_map_req ,p_le_parse_channel_map_req 
+05fa 20205c65 branch le_parse_ll + 1 
+
+p_le_parse_channel_map_req:
+05fb e8c28000 ifetch 5 ,contr 
+05fc 6002c3ce store 5 ,mem_le_new_map 
+05fd e8c10000 ifetch 2 ,contr 
+05fe 6001045f store 2 ,mem_le_instant 
+05ff 20205c8a branch le_parse_channel_map_req + 7 
+
+p_le_parse_l2cap:
+0600 e8c10000 ifetch 2 ,contr 
+0601 c0020604 beq le_l2cap_cid_att ,p_le_parse_att 
+0602 c0030631 beq le_l2cap_cid_smp ,p_le_parse_smp 
+0603 20205698 branch le_parse_l2cap + 11 
+
+p_le_parse_att:
+0604 20407ea5 call store_contr 
+0605 204005e2 call p_mouse_le_reconn_write_enable_timer_reinit 
+0606 20407e9f call get_contr 
+0607 e8c18000 ifetch 3 ,contr 
+0608 60018477 store 3 ,mem_le_att_opcode 
+0609 c0080613 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+060a 1fec8400 rshift8 pdata ,temp 
+060b 18467c24 sub temp ,0x24 ,null 
+060c 20210621 branch p_le_parse_att1 ,positive 
+060d d84047c6 arg mem_mouse_le_uuid_sup ,temp 
+060e 600944bc storet 2 ,mem_ui_le_uuid_table 
+060f 204058ad call le_parse_att + 2 
+0610 58008e7a setarg 0x8e7a 
+0611 600144bc store 2 ,mem_ui_le_uuid_table 
+0612 20600000 rtn 
+
+p_le_parse_att_read_by_group_type_request:
+0613 204059fa call le_parse_att_read_by_group_type_request 
+0614 20405879 call le_fifo_get_last_tx_ptr 
+0615 18c08c07 increase 7 ,contr 
+0616 e8c08000 ifetch 1 ,contr 
+0617 c1888000 rtnne attop_read_by_group_type_response 
+0618 18c08c05 increase 5 ,contr 
+0619 e8c10000 ifetch 2 ,contr 
+061a d8401812 arg uuid_service_hids ,temp 
+061b 98467c00 isub temp ,null 
+061c 24628000 nrtn zero 
+061d 18c08dfc increase -4 ,contr 
+061e 5800002b setarg 0x2b 
+061f e0c10000 istore 2 ,contr 
+0620 20600000 rtn 
+
+p_le_parse_att1:
+0621 c0050623 beq attop_read_request ,p_le_parse_att_read_request 
+0622 202058ad branch le_parse_att + 2 
+
+p_le_parse_att_read_request:
+0623 68090478 fetcht 2 ,mem_le_att_handle 
+0624 6800c4e9 fetch 1 ,mem_le_configuration 
+0625 c281862a bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+
+p_le_send_att_read_response:
+0626 68010478 fetch 2 ,mem_le_att_handle 
+0627 c009da76 beq 0x13 ,le_send_att_error_response_notfound 
+0628 68090478 fetcht 2 ,mem_le_att_handle 
+0629 202059bf branch le_send_att_read_response 
+
+p_le_send_att_read_response_check_auth:
+062a 680144fa fetch 2 ,mem_le_pairing_handle 
+062b 98467c00 isub temp ,null 
+062c 24228626 nbranch p_le_send_att_read_response ,zero 
+062d 20405a42 call le_check_encrypt_state 
+062e 24340626 nbranch p_le_send_att_read_response ,user 
+062f 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+0630 20205a77 branch le_send_att_error_response 
+
+p_le_parse_smp:
+0631 e8c08000 ifetch 1 ,contr 
+0632 c0028634 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+0633 20205af5 branch le_parse_smp + 1 
+
+p_le_parse_smp_pairing_failed:
+0634 7011c582 jam zcode_82 ,mem_zcode_temp_param0 
+0635 2020077a branch p_zcode_entrance 
+
+p_le_adv_not_match:
+0636 68008016 fetch 1 ,mem_le_ch_mapped 
+0637 c093d6f2 bne 39 ,le_adv_loop 
+0638 2040063c call p_le_adv_random_delay 
+0639 d8e00000 arg le_adv_interval_timer ,queue 
+063a 68014482 fetch 2 ,mem_le_adv_interval 
+063b 20207f08 branch timer_init 
+
+p_le_adv_random_delay:
+063c 180a7e00 random pdata 
+063d d84001ff arg 0x1ff ,temp 
+063e 98417e00 iand temp ,pdata 
+063f 1fe0fefa add pdata ,250 ,pdata 
+0640 20203cbe branch delay 
+
+p_le_lpm_setmult:
+0641 7855fc00 disable wake 
+0642 20370644 branch p_le_lpm_set_mult_attempt ,attempt 
+0643 2436d806 nbranch le_lpm_lost ,match 
+
+p_le_lpm_set_mult_attempt:
+0644 20402bcb call lpm_match 
+0645 680140c1 fetch 2 ,mem_rx_window_sniff 
+0646 6001044d store 2 ,mem_le_receive_window 
+0647 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0648 2fe00603 compare 3 ,pdata ,3 
+0649 2420abde nbranch lpm_mult_short ,true 
+064a 202057fb branch le_lpm_set_mult_attempt + 3 
+
+p_le_mouse_bb_event_connect_complete:
+064b 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+064c 247a0000 nrtn blank 
+064d 68008478 fetch 1 ,mem_le_att_handle 
+064e 1fe67e1a sub pdata ,26 ,pdata 
+064f 24628000 nrtn zero 
+0650 20203d60 branch mouse_le_write_enable 
+
+p_twspi_reset:
+0651 68108077 hfetch 1 ,core_gpio_out3 
+0652 1fe17efd and_into 0xfd ,pdata 
+0653 60108077 hstore 1 ,core_gpio_out3 
+0654 68188073 hfetcht 1 ,core_gpio_oe3 
+0655 18418402 or_into 0x2 ,temp 
+0656 60188073 hstoret 1 ,core_gpio_oe3 
+0657 204063ee call twspi_disable 
+0658 184104fd and_into 0xfd ,temp 
+0659 2000000d nop 13 
+065a 2040065e call p_twspi_enable 
+065b 60188073 hstoret 1 ,core_gpio_oe3 
+065c 20600000 rtn 
+
+p_spid_init:
+065d 204064dd call spid_init_common 
+
+p_twspi_enable:
+065e 68108081 hfetch 1 ,core_gpio_sel1 
+065f 79207e00 set1 0 ,pdata 
+0660 793ffe01 set0 1 ,pdata 
+0661 793ffe03 set0 3 ,pdata 
+0662 60108081 hstore 1 ,core_gpio_sel1 
+0663 20600000 rtn 
+
+p_page_wait_fhs_reply_ok:
+0664 7011c500 jam zcode_00 ,mem_zcode_temp_param0 
+0665 2020077a branch p_zcode_entrance 
+
+p_role_switch_master:
+0666 204021c9 call role_switch_check 
+0667 24740000 nrtn user 
+
+p_wait_role_switch_anchor:
+0668 78547c00 disable user 
+0669 70001120 jam param_newconnto ,mem_newconnto_counter 
+066a 793f800b set0 mark_fhs_already_good ,mark 
+066b 793f802d set0 mark_role_switch_receive_fhs ,mark 
+
+p_roles_waitfhs_loop:
+066c 20402a4f call rf_setup_time_master_slot 
+066d 204022e6 call master_recv_packet 
+066e c5058673 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+066f 20402455 call new_conn_timeout 
+0670 243a066c nbranch p_roles_waitfhs_loop ,blank 
+0671 c516867b bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
+0672 202021ec branch role_switch_fail_master 
+
+p_roles_replyto_fhs:
+0673 20402a4d call rf_setup_time_slave_slot 
+0674 d8200010 arg type_id ,type 
+0675 204022dc call master_send_packet 
+0676 7920002d set1 mark_role_switch_receive_fhs ,mark 
+0677 793f800b set0 mark_fhs_already_good ,mark 
+0678 18000801 force 1 ,am_addr 
+0679 70001102 jam 2 ,mem_newconnto_counter 
+067a 2020066c branch p_roles_waitfhs_loop 
+
+p_roles_replyto_fhs1:
+067b 68020165 fetch 4 ,mem_clke_bt 
+067c 1fe0fe08 pincrease 8 
+067d 60020165 store 4 ,mem_clke_bt 
+067e 202021f8 branch roles_replyto_fhs + 4 
+
+p_process_dmh:
+067f c516264d bmark1 mark_first_packet ,end_of_packet 
+0680 2020258f branch process_dmh + 1 
+
+p_quit_connection_cont:
+0681 204033af call app_disconn_reason_collect_bt 
+0682 204026e9 call sniff_exit 
+0683 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0684 20407d86 call ui_ipc_send_event 
+0685 20405cf7 call init_lmp_work 
+0686 20404d6b call l2cap_init_work 
+0687 2020246e branch quit_connection_cont + 8 
+
+p_prepare_tx:
+0688 68008030 fetch 1 ,mem_state 
+0689 2feffe00 isolate1 state_inconn ,pdata 
+068a 2040868c call p_bt_power_ctrl ,true 
+068b 2020248a branch prepare_tx + 1 
+
+p_bt_power_ctrl:
+068c 68008047 fetch 1 ,mem_arq 
+068d 2feffe03 isolate1 wack ,pdata 
+068e 20408713 call power_ctrl_pac_succ_decrs ,true 
+068f 2440870f ncall power_ctrl_pac_succ_incrs ,true 
+0690 2020071d branch power_ctrl_start 
+
+p_slave_conn_recv_packet:
+0691 204024f0 call slave_receive_master_slot 
+0692 242c28f9 nbranch shutdown_radio ,sync 
+0693 204029bb call save_rssi 
+0694 2040006b call p_rssi_signal 
+0695 20202518 branch slave_conn_recv_packet + 4 
+
+p_lpm_dispatch:
+0696 c6130000 rtnmark1 mark_24g 
+0697 20402afa call lpo_calibration 
+0698 6801c16f fetch 3 ,mem_clks_per_lpo 
+0699 207a0000 rtn blank 
+069a 6800c091 fetch 1 ,mem_lpm_mode 
+069b 207a0000 rtn blank 
+069c 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+069d 1fe67c0a sub pdata ,10 ,null 
+069e 20610000 rtn positive 
+069f 6800c65a fetch 1 ,mem_ssp_enable 
+06a0 203a06a3 branch p_lpm_dispatch_next ,blank 
+06a1 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+06a2 207a0000 rtn blank 
+
+p_lpm_dispatch_next:
+06a3 6800c4c0 fetch 1 ,mem_le_sc_calc 
+06a4 247a0000 nrtn blank 
+06a5 20402c3a call lpm_check_wake_lock 
+06a6 247a0000 nrtn blank 
+06a7 6800c040 fetch 1 ,mem_context 
+06a8 2fe00e03 compare 3 ,pdata ,0x7 
+06a9 2420ab9d nbranch lpm_dispatch_unconn ,true 
+06aa 68014042 fetch 2 ,mem_context + coffset_tsniff 
+06ab d840ffff arg 0xffff ,temp 
+06ac 98467c00 isub temp ,null 
+06ad 20628000 rtn zero 
+06ae 20202b7d branch lpm_dispatch_next + 9 
+
+p_lpm_set_mult:
+06af 7855fc00 disable wake 
+06b0 68008030 fetch 1 ,mem_state 
+06b1 c4008000 rtnbit0 state_insniff 
+06b2 2436abd0 nbranch lpm_not_match ,match 
+06b3 20402bcb call lpm_match 
+06b4 680140c1 fetch 2 ,mem_rx_window_sniff 
+06b5 6001003e store 2 ,mem_rx_window 
+06b6 68008047 fetch 1 ,mem_arq 
+06b7 c281abde bbit1 wack ,lpm_mult_short 
+06b8 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+06b9 20405274 call l2cap_malloc_is_fifo_empty 
+06ba 243a2bde nbranch lpm_mult_short ,blank 
+06bb 205a06bd call p_lpm_set_attemp_timeout ,blank 
+06bc 20202bbe branch lpm_set_mult + 13 
+
+p_lpm_set_attemp_timeout:
+06bd 70008a01 jam 1 ,mem_current_sniff_attempt 
+06be 70008b00 jam 0 ,mem_current_sniff_timeout 
+06bf 20600000 rtn 
+
+p_mouse_bb_disconnected:
+06c0 7011c510 jam zcode_10 ,mem_zcode_temp_param0 
+06c1 2020077a branch p_zcode_entrance 
+
+p_hid_rx_process:
+06c2 7011c511 jam zcode_11 ,mem_zcode_temp_param0 
+06c3 2020077a branch p_zcode_entrance 
+
+p_parse_lmp_accepted:
+06c4 68008552 fetch 1 ,mem_rxbuf + 1 
+06c5 600084c9 store 1 ,mem_lmi_accepted_opcode 
+06c6 c00986c8 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+06c7 20205db4 branch parse_lmp_accepted + 3 
+
+p_parse_lmp_accepted_switch:
+06c8 20405dcf call parse_lmp_accepted_switch 
+06c9 704aff01 jam 1 ,mem_bt_rcvd_switch_req_accept 
+06ca 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+06cb 207a0000 rtn blank 
+06cc 704b0102 jam 2 ,mem_bt_send_lmp_setup_complete 
+06cd 20600000 rtn 
+
+p_send_lmp:
+06ce 7011c520 jam zcode_20 ,mem_zcode_temp_param0 
+06cf 2020077a branch p_zcode_entrance 
+
+p_process_conn_sm:
+06d0 204062bc call lmo_fifo_check 
+06d1 247a0000 nrtn blank 
+
+p_process_conn_sm_continue:
+06d2 68008055 fetch 1 ,mem_conn_sm 
+06d3 207a0000 rtn blank 
+06d4 c00206f2 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+06d5 c00806d7 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
+06d6 20206320 branch process_conn_sm_continue + 2 
+
+p_host_creat_conn_wait_switch:
+06d7 6800c55b fetch 1 ,mem_switch_flag 
+06d8 c1000000 rtneq switch_flag_init 
+06d9 c00086db beq switch_flag_accept ,p_host_create_conn_switch_accept 
+06da 2020635f branch host_creat_conn_wait_switch + 3 
+
+p_host_create_conn_switch_accept:
+06db 20748000 rtn master 
+
+p_host_create_conn_auth_pair:
+06dc 6800816d fetch 1 ,mem_connection_options 
+06dd c28006df bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
+06de 20206399 branch host_create_conn_auth_pair + 1 
+
+p_host_create_conn_auth_pair_true:
+06df 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+06e0 c000e39d beq 1 ,host_create_conn_auth_pair_true 
+06e1 6800c1bd fetch 1 ,mem_link_key_exists 
+06e2 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+06e3 680084d1 fetch 1 ,mem_lmp_conn_state 
+06e4 c4018000 rtnbit0 sent_setup_complete 
+06e5 c4010000 rtnbit0 received_setup_complete 
+06e6 6800cb00 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+06e7 207a0000 rtn blank 
+06e8 704b0000 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
+06e9 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+06ea d8400014 arg 20 ,temp 
+06eb 98408400 iadd temp ,temp 
+06ec 1c427e00 copy clkn_bt ,pdata 
+06ed 98467c00 isub temp ,null 
+06ee 242106f0 nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
+06ef 20206349 branch host_create_conn_auth 
+
+p_bt_send_max_slot_req_accept_after_switch_wait:
+06f0 704b0001 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+06f1 20600000 rtn 
+
+p_host_create_conn_send_conn_req:
+06f2 70480914 jam 20 ,mem_mouse_send_switch_req_timer 
+06f3 2020636f branch host_create_conn_send_conn_req 
+
+p_check_51cmd_once_continue:
+06f4 204062bc call lmo_fifo_check 
+06f5 243a7ddb nbranch check_51cmd_restore ,blank 
+06f6 68008a99 fetch 1 ,mem_fifo_temp 
+06f7 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+06f8 c00f86ff beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+06f9 c0100702 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+06fa c00906fc beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+06fb 20207dca branch check_51cmd_once_continue + 2 
+
+p_check_51cmd_ble_update_connect_param:
+06fc 20405890 call le_fifo_check_full 
+06fd 247a0000 nrtn blank 
+06fe 20205abf branch le_l2cap_tx_update_req 
+
+p_flash_store_le_reconn_info:
+06ff 70018534 jam rec_4_mode ,mem_record_bt_mode 
+0700 6803044f fetch 6 ,mem_le_plap 
+0701 20200704 branch p_flash_store_reconn_info 
+
+p_flash_store_bd_reconn_info:
+0702 70018533 jam rec_3_mode ,mem_record_bt_mode 
+0703 68030040 fetch 6 ,mem_plap 
+
+p_flash_store_reconn_info:
+0704 60030186 store 6 ,mem_temp_lap 
+
+p_mouse_store_remote_bdaddr:
+0705 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0706 c4038000 rtnbit0 mouse_store_eeprom_flag 
+0707 d8e00007 arg mouse_store_eeprom_flag ,queue 
+0708 204043d2 call mouse_disable_function_flag 
+0709 204042e8 call mouse_check_device_addr 
+
+p_mouse_unplug_clean_bdaddr:
+070a 204042fb call mouse_before_store_reconn_info 
+070b 20200354 branch p_mouse_store_flash_device_info 
+
+power_ctrl_pac_succ_cnt_init:
+070c 704d3501 jam 1 ,mem_power_ctrl_level 
+070d 704d3200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+070e 20600000 rtn 
+
+power_ctrl_pac_succ_incrs:
+070f 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0710 1fe0fe01 increase 1 ,pdata 
+0711 6000cd32 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0712 20600000 rtn 
+
+power_ctrl_pac_succ_decrs:
+0713 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0714 1fe67c02 sub pdata ,2 ,null 
+0715 2441071b ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0716 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0717 c1000000 rtneq 0 
+0718 1fe0ffff increase -1 ,pdata 
+0719 6000cd32 store 1 ,mem_power_ctrl_pac_succ_cnt 
+071a 20600000 rtn 
+
+power_ctrl_pac_succ_cnt_reinit:
+071b 704d3203 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+071c 20600000 rtn 
+
+power_ctrl_start:
+071d 68014682 fetch 2 ,mem_ui_state_map 
+071e c3858000 rtnbit1 ui_state_ble_adv 
+071f c3838000 rtnbit1 ui_state_bt_reconnect 
+0720 c3830000 rtnbit1 ui_state_bt_discovery 
+0721 da204cbb arg mem_rssi_signal_buf ,rega 
+0722 204002ab call p_rssi_average 
+0723 6008cd33 storet 1 ,mem_rssi_avg_received 
+0724 58000082 setarg rssi_dis_max_24g 
+0725 c5130727 bmark1 mark_24g ,power_ctrl_start_next 
+0726 58000080 setarg rssi_dis_max_ble 
+
+power_ctrl_start_next:
+0727 98467c00 isub temp ,null 
+0728 2421073f nbranch power_ctrl_txpower_incrs_force ,positive 
+0729 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+072a 1fe67c02 sub pdata ,2 ,null 
+072b 2421072f nbranch power_ctrl_txpower_decrs_check ,positive 
+072c 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+072d c0000740 beq 0 ,power_ctrl_txpower_incrs 
+072e 20600000 rtn 
+
+power_ctrl_txpower_decrs_check:
+072f 6800cd32 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0730 c1900000 rtnne 32 
+0731 704d3200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_decrs:
+0732 6808cd33 fetcht 1 ,mem_rssi_avg_received 
+0733 58000077 setarg rssi_dis_min_24g 
+0734 c5130736 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0735 58000075 setarg rssi_dis_min_ble 
+
+power_ctrl_txpower_decrs_next:
+0736 98467c00 isub temp ,null 
+0737 24610000 nrtn positive 
+0738 6800cd35 fetch 1 ,mem_power_ctrl_level 
+0739 c0000747 beq 0 ,power_ctrl_decrs_level0 
+073a 1fe0ffff increase -1 ,pdata 
+073b 6000cd35 store 1 ,mem_power_ctrl_level 
+073c c0000747 beq 0 ,power_ctrl_decrs_level0 
+
+power_ctrl_decrs_level1:
+
+power_ctrl_incrs_level1:
+073d 7041de00 jam tx_power_0db ,mem_tx_power 
+073e 20600000 rtn 
+
+power_ctrl_txpower_incrs_force:
+073f 704d3200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_incrs:
+0740 6800cd35 fetch 1 ,mem_power_ctrl_level 
+0741 c0010745 beq 2 ,power_ctrl_incrs_level2 
+0742 1fe0fe01 increase 1 ,pdata 
+0743 6000cd35 store 1 ,mem_power_ctrl_level 
+0744 c000873d beq 1 ,power_ctrl_incrs_level1 
+
+power_ctrl_incrs_level2:
+0745 7041de02 jam tx_power_5db ,mem_tx_power 
+0746 20600000 rtn 
+
+power_ctrl_decrs_level0:
+0747 7041de04 jam tx_power_f5db ,mem_tx_power 
+0748 20600000 rtn 
+
+p_set_freq_tx:
+0749 60088017 storet 1 ,mem_last_freq 
+074a 1840a200 add temp ,0 ,rega 
+074b 20402981 call rf_write_freq 
+074c 58000500 setarg param_pll_setup 
+074d 20402a8f call sleep 
+
+p_rf_tx_enable:
+074e 70890601 jam 0x1 ,rfen_adc 
+074f 7089003c jam 0x3c ,rfen_rx 
+0750 708901e0 jam 0xe0 ,rfen_tx 
+0751 2000000a nop 10 
+0752 70890201 jam 0x01 ,rfen_mdm 
+0753 7089023d jam 0x3d ,rfen_mdm 
+0754 2000000a nop 10 
+0755 708903b7 jam 0xb7 ,rfen_sn 
+0756 2000000a nop 10 
+0757 7089027d jam 0x7d ,rfen_mdm 
+0758 6800c1de fetch 1 ,mem_tx_power 
+0759 c0010761 beq tx_power_5db ,p_set_tx_power_5db 
+075a c0020766 beq tx_power_f5db ,p_set_tx_power_f5db 
+075b c0100775 beq tx_power_pair ,p_set_tx_power_pair 
+
+p_set_tx_power_0db:
+075c 2040076b call p_rx_low_sens 
+075d 708955d0 jam 0xd0 ,0x8955 
+075e 708956e0 jam 0xe0 ,0x8956 
+075f 7089586c jam 0x6c ,0x8958 
+0760 2020294b branch set_tx_power_0db 
+
+p_set_tx_power_5db:
+0761 20400770 call p_rx_high_sens 
+0762 708955d0 jam 0xd0 ,0x8955 
+0763 708956e0 jam 0xe0 ,0x8956 
+0764 7089583c jam 0x3c ,0x8958 
+0765 20202953 branch set_tx_power_5db 
+
+p_set_tx_power_f5db:
+0766 2040076b call p_rx_low_sens 
+0767 708955d0 jam 0xd0 ,0x8955 
+0768 708956c0 jam 0xc0 ,0x8956 
+0769 7089586c jam 0x6c ,0x8958 
+076a 2020295b branch set_tx_power_f5db 
+
+p_rx_low_sens:
+076b 70894c5b jam 0x5b ,0x894c 
+076c 70894d96 jam 0x96 ,0x894d 
+076d 70894e2c jam 0x2c ,0x894e 
+076e 70894f46 jam 0x46 ,0x894f 
+076f 20600000 rtn 
+
+p_rx_high_sens:
+0770 70894cfb jam 0xfb ,0x894c 
+0771 70894def jam 0xef ,0x894d 
+0772 70894eec jam 0xec ,0x894e 
+0773 70894f5e jam 0x5e ,0x894f 
+0774 20600000 rtn 
+
+p_set_tx_power_pair:
+0775 708956c2 jam 0xc2 ,0x8956 
+0776 708955d0 jam 0xd0 ,0x8955 
+0777 20600000 rtn 
+
+p_shutdown_radio:
+0778 18002a08 force 8 ,radio_ctrl 
+0779 202028fa branch shutdown_radio + 1 
+
+p_zcode_entrance:
+077a 680891c5 fetcht 1 ,mem_zcode_temp_param0 
+077b 18518400 rshift4 temp ,temp 
+077c 6800cb65 fetch 1 ,mem_zcode_current_number 
+077d 98467c00 isub temp ,null 
+077e 20228799 branch p_zcode_run ,zero 
+077f 6008cb65 storet 1 ,mem_zcode_current_number 
+0780 18408401 increase 1 ,temp 
+0781 58000100 setarg zcode_buff_size 
+0782 984f8400 imul32 temp ,temp 
+0783 6801cb66 fetch 3 ,mem_xip_flash_offset 
+0784 98467e00 isub temp ,pdata 
+0785 6809cb69 fetcht 3 ,mem_flash_start_addr 
+0786 9840fe00 iadd temp ,pdata 
+0787 1fe0fffb increase -5 ,pdata 
+0788 6001cb6c store 3 ,mem_flash_address 
+0789 204003a6 call p_flash_release_deep_power_down 
+
+p_zcode_read_loop:
+078a 6801cb6c fetch 3 ,mem_flash_address 
+078b d8400100 arg zcode_buff_size ,temp 
+078c da201f00 arg mem_zcode_buff ,rega 
+078d 20406562 call spid_read_flash 
+078e 68021f00 fetch 4 ,mem_zcode_buff 
+078f 680a4b6f fetcht 4 ,mem_zcode_head 
+0790 98467c00 isub temp ,null 
+0791 2422878a nbranch p_zcode_read_loop ,zero 
+0792 20400310 call p_mouse_spi_init 
+0793 58001f00 setarg mem_zcode_buff 
+0794 60014199 store 2 ,mem_patch_ptr 
+0795 70419b40 jam zcode_code_size ,mem_patch_len 
+0796 204064ca call load_ucode 
+0797 58000000 setarg 0 
+0798 60024199 store 4 ,mem_patch_ptr 
+
+p_zcode_run:
+0799 680091c5 fetch 1 ,mem_zcode_temp_param0 
+079a 20200001 branch p_zcode 
+
+p_drawing_optima_init:
+079b df200005 arg 5 ,loopcnt 
+079c d8a04b0b arg mem_mouse_asm_flag ,contw 
+079d 20207ed4 branch clear_mem 
+
+p_drawing_optima:
+079e 6802469b fetch 4 ,mem_mouse_x 
+079f 207a0000 rtn blank 
+07a0 204007ef call p_data_abs_check 
+07a1 58000006 setarg 0x06 
+07a2 204007e2 call p_data_greater_than_check 
+07a3 58000003 setarg 0x03 
+07a4 204007e8 call p_data_less_than_check 
+07a5 6800cb0b fetch 1 ,mem_mouse_asm_flag 
+07a6 c00087a8 beq 1 ,p_drawing_optima_modify 
+07a7 2020079b branch p_drawing_optima_init 
+
+p_drawing_optima_modify:
+07a8 68014b0c fetch 2 ,mem_mouse_x_pre 
+07a9 600111be store 2 ,mem_data_pre 
+07aa 6801469b fetch 2 ,mem_mouse_x 
+07ab 600111c0 store 2 ,mem_data_current 
+07ac 204007bb call p_drawing_optima_data 
+07ad 680111be fetch 2 ,mem_data_pre 
+07ae 60014b0c store 2 ,mem_mouse_x_pre 
+07af 680111c0 fetch 2 ,mem_data_current 
+07b0 6001469b store 2 ,mem_mouse_x 
+07b1 68014b0e fetch 2 ,mem_mouse_y_pre 
+07b2 600111be store 2 ,mem_data_pre 
+07b3 6801469d fetch 2 ,mem_mouse_y 
+07b4 600111c0 store 2 ,mem_data_current 
+07b5 204007bb call p_drawing_optima_data 
+07b6 680111be fetch 2 ,mem_data_pre 
+07b7 60014b0e store 2 ,mem_mouse_y_pre 
+07b8 680111c0 fetch 2 ,mem_data_current 
+07b9 6001469d store 2 ,mem_mouse_y 
+07ba 20600000 rtn 
+
+p_drawing_optima_data:
+07bb 680111be fetch 2 ,mem_data_pre 
+07bc 680911c0 fetcht 2 ,mem_data_current 
+07bd 9840fe00 iadd temp ,pdata 
+07be 600191c2 store 3 ,mem_data_sum 
+07bf 2feffe10 isolate1 16 ,pdata 
+07c0 202087c8 branch p_data_sum_overflow ,true 
+07c1 680091c3 fetch 1 ,mem_data_sum + 1 
+07c2 c07f87cf beq 0xff ,p_data_sum_n 
+07c3 680091c2 fetch 1 ,mem_data_sum 
+
+p_data_store_pre:
+07c4 1fe37e00 rshift pdata ,pdata 
+07c5 600111be store 2 ,mem_data_pre 
+07c6 600111c0 store 2 ,mem_data_current 
+07c7 20600000 rtn 
+
+p_data_sum_overflow:
+07c8 680091c3 fetch 1 ,mem_data_sum + 1 
+07c9 c00007cc beq 0 ,p_data_sum_overflow_p 
+07ca 680191c2 fetch 3 ,mem_data_sum 
+07cb 202007c4 branch p_data_store_pre 
+
+p_data_sum_overflow_p:
+07cc 7011c400 jam 0 ,mem_data_sum + 2 
+07cd 680091c2 fetch 1 ,mem_data_sum 
+07ce 202007c4 branch p_data_store_pre 
+
+p_data_sum_n:
+07cf 680091c2 fetch 1 ,mem_data_sum 
+07d0 204007da call p_pdata_get_half 
+07d1 600091be store 1 ,mem_data_pre 
+07d2 600091c0 store 1 ,mem_data_current 
+07d3 203a07d8 branch p_data_zero ,blank 
+07d4 580000ff setarg 0xff 
+
+p_data_set_direction:
+07d5 600091bf store 1 ,mem_data_pre + 1 
+07d6 600091c1 store 1 ,mem_data_current + 1 
+07d7 20600000 rtn 
+
+p_data_zero:
+07d8 58000000 setarg 0 
+07d9 202007d5 branch p_data_set_direction 
+
+p_pdata_get_half:
+07da 1fe67e00 sub pdata ,0 ,pdata 
+07db 60008aae store 1 ,mem_rega 
+07dc 68008aae fetch 1 ,mem_rega 
+07dd 1fe37e00 rshift pdata ,pdata 
+07de 60008aae store 1 ,mem_rega 
+07df 68008aae fetch 1 ,mem_rega 
+07e0 1fe67e00 sub pdata ,0 ,pdata 
+07e1 20600000 rtn 
+
+p_data_greater_than_check:
+07e2 9a267c00 isub rega ,null 
+07e3 242107ed nbranch p_enable_asm ,positive 
+07e4 9a467c00 isub regb ,null 
+07e5 242107ed nbranch p_enable_asm ,positive 
+
+p_disable_asm:
+07e6 704b0b00 jam 0 ,mem_mouse_asm_flag 
+07e7 20600000 rtn 
+
+p_data_less_than_check:
+07e8 9a267c00 isub rega ,null 
+07e9 24610000 nrtn positive 
+07ea 9a467c00 isub regb ,null 
+07eb 24610000 nrtn positive 
+07ec 202007e6 branch p_disable_asm 
+
+p_enable_asm:
+07ed 704b0b01 jam 1 ,mem_mouse_asm_flag 
+07ee 20600000 rtn 
+
+p_data_abs_check:
+07ef 6801469b fetch 2 ,mem_mouse_x 
+07f0 600111c0 store 2 ,mem_data_current 
+07f1 204007f8 call p_data_abs 
+07f2 1fe22200 copy pdata ,rega 
+07f3 6801469d fetch 2 ,mem_mouse_y 
+07f4 600111c0 store 2 ,mem_data_current 
+07f5 204007f8 call p_data_abs 
+07f6 1fe22400 copy pdata ,regb 
+07f7 20600000 rtn 
+
+p_data_abs:
+07f8 680091c1 fetch 1 ,mem_data_current + 1 
+07f9 c07f87fd beq 0xff ,p_data_reversal 
+07fa 680091c0 fetch 1 ,mem_data_current 
+
+p_data_abs_store:
+07fb 1fe17eff and_into 0xff ,pdata 
+07fc 20600000 rtn 
+
+p_data_reversal:
+07fd 680111c0 fetch 2 ,mem_data_current 
+07fe 1fe67e00 sub pdata ,0 ,pdata 
+07ff 202007fb branch p_data_abs_store 
+org 0x2000
+
+start:
+2000 20402abc call lpmstate 
+
+soft_reset:
+2001 44804000 bpatch patch00_0 ,mem_patch00 
+2002 20800000 clear_stack 
+2003 2040640d call spi_ncs_gpio_init 
+2004 2040296c call initialize_radio 
+2005 204065a3 call iicd_init_12m 
+2006 20402a96 call init_param 
+2007 20404d6a call l2cap_init 
+2008 4480c000 bpatch patch00_1 ,mem_patch00 
+2009 20406a03 call rfcomm_init 
+200a 20405cf6 call init_lmp 
+200b 20407ccc call ui_init 
+200c 204032d8 call app_init 
+200d 2455e89c ncall load_chip_option ,wake 
+200e 44814000 bpatch patch00_2 ,mem_patch00 
+200f 2055b2e3 call app_lpm_init ,wake 
+2010 2040756a call publickey_init 
+2011 2055ab41 call lpm_recover_clk ,wake 
+
+main_loop:
+2012 4481c000 bpatch patch00_3 ,mem_patch00 
+2013 204076dc call sp_calc_sequence 
+2014 20407aaf call sp_calc_sequence_256 
+2015 2040756d call sp_calc_sequence_256_check 
+2016 2040535c call le_dispatch 
+2017 44824000 bpatch patch00_4 ,mem_patch00 
+2018 20402038 call idle_dispatch 
+2019 204032ed call app_process_idle 
+201a 2040208f call inquiry_dispatch 
+201b 204022f8 call inquiry_scan_dispatch 
+201c 2040236a call page_scan_dispatch 
+201d 20402021 call connection_dispatch 
+201e 20402b6a call lpm_dispatch 
+201f 20402c72 call g24_dispatch 
+2020 20202012 branch main_loop 
+
+connection_dispatch:
+2021 20402026 call connection_incontext 
+2022 c6848000 rtnmark0 mark_context 
+2023 793f8009 set0 mark_context ,mark 
+2024 20402223 call context_save 
+2025 202053ce branch le_disable 
+
+connection_incontext:
+2026 4482c000 bpatch patch00_5 ,mem_patch00 
+2027 2040225e call context_search_insniff 
+2028 2422a02f nbranch connection_nosniff ,zero 
+2029 2040220a call context_load 
+202a 1a208c01 add rega ,coffset_mode ,contr 
+202b e8c08000 ifetch 1 ,contr 
+202c c2805360 bbit1 mode_le ,le_conn_dispatch 
+202d c280a166 bbit1 mode_master ,master_dispatch 
+202e 202023cf branch slave_dispatch 
+
+connection_nosniff:
+202f 2040222b call context_get_next 
+2030 1f227c00 copy loopcnt ,null 
+2031 20628000 rtn zero 
+2032 2040220a call context_load 
+2033 68008030 fetch 1 ,mem_state 
+2034 c281a0d3 bbit1 state_inpage ,master_page 
+2035 68008031 fetch 1 ,mem_mode 
+2036 c280a166 bbit1 mode_master ,master_dispatch 
+2037 202023cf branch slave_dispatch 
+
+idle_dispatch:
+2038 6800c1ce fetch 1 ,mem_hci_cmd 
+2039 207a0000 rtn blank 
+203a c000a048 beq hci_cmd_inquiry ,idle_inquiry 
+203b c001204d beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+203c c001a050 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+203d c002a055 beq hci_cmd_create_conn ,idle_create_conn 
+203e c00da045 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+203f 20402257 call context_search_conn_handle 
+2040 20628000 rtn zero 
+2041 2040225a call context_search_plap 
+2042 20628000 rtn zero 
+
+idle_exit:
+2043 7041ce00 jam 0 ,mem_hci_cmd 
+2044 20600000 rtn 
+
+idle_le_create_conn:
+2045 70049b1b jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+2046 7041ce00 jam 0 ,mem_hci_cmd 
+2047 20600000 rtn 
+
+idle_inquiry:
+2048 7920001c set1 mark_inquiry_on ,mark 
+2049 793f801e set0 mark_inquiry_trainb ,mark 
+204a 70008fff jam param_ninquiry ,mem_ninqy_index 
+204b 70008d1f jam 31 ,mem_nfreq_index_inq 
+204c 20202043 branch idle_exit 
+
+idle_inquiry_cancel:
+204d 793f801c set0 mark_inquiry_on ,mark 
+204e 18003600 force 0 ,stop_watch 
+204f 20202043 branch idle_exit 
+
+idle_remote_name_req:
+2050 2040225a call context_search_plap 
+2051 20628000 rtn zero 
+2052 18000401 force lmp_name_req ,temp 
+2053 70016e05 jam 5 ,mem_nameres_cnt 
+2054 2020205c branch idle_start_page 
+
+idle_create_conn:
+2055 44834000 bpatch patch00_6 ,mem_patch00 
+
+idle_create_conn_device:
+2056 680341d0 fetch 6 ,mem_hci_plap 
+2057 203a2043 branch idle_exit ,blank 
+2058 70468101 jam reconnect_hid ,memui_reconnect_mode 
+2059 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+205a 2020205b branch idle_create_conn_cont 
+
+idle_create_conn_cont:
+205b 18000425 force lmp_version_req ,temp 
+
+idle_start_page:
+205c 4483c000 bpatch patch00_7 ,mem_patch00 
+205d 680080f1 fetch 1 ,mem_page_mode 
+205e 203a2062 branch idle_page_mode_r0 ,blank 
+205f 1fe9fe00 lshift3 pdata ,pdata 
+2060 1ff27e00 lshift4 pdata ,pdata 
+2061 1fe0ffff increase -1 ,pdata 
+
+idle_page_mode_r0:
+2062 6000c0a6 store 1 ,mem_npage 
+2063 600080f0 store 1 ,mem_npage_index 
+2064 70008e1f jam 31 ,mem_nfreq_index_page 
+2065 793f800c set0 mark_page_trainb ,mark 
+2066 2040223b call context_new 
+2067 2422a083 nbranch idle_page_fail ,zero 
+2068 20402a6f call get_free_amaddr 
+2069 60008077 store 1 ,mem_amaddr 
+206a 6008807c storet 1 ,mem_lmo_opcode2 
+206b 680341d0 fetch 6 ,mem_hci_plap 
+206c 60030040 store 6 ,mem_plap 
+206d 44844001 bpatch patch01_0 ,mem_patch01 
+206e 20407f15 call timer_reinit 
+206f 18007e00 force 0 ,pdata 
+2070 2841fe01 compare lmp_name_req ,temp ,0xff 
+2071 7d20fe05 nsetflag true ,state_init_seq ,pdata 
+2072 79207e03 set1 state_inpage ,pdata 
+2073 60008030 store 1 ,mem_state 
+2074 700a9903 jam bt_evt_reconn_started ,mem_fifo_temp 
+2075 20407d86 call ui_ipc_send_event 
+2076 18007e00 force 0 ,pdata 
+2077 7920fe04 setflag true ,smap_name_req ,pdata 
+2078 6000804c store 1 ,mem_state_map 
+2079 58000000 setarg 0 
+207a 79207e01 set1 mode_master ,pdata 
+207b 60008031 store 1 ,mem_mode 
+207c 7834fc00 enable master 
+207d 20402223 call context_save 
+207e 7854fc00 disable master 
+207f 18000e03 force page_length_timer ,queue 
+2080 680140b9 fetch 2 ,mem_page_to 
+2081 20407f08 call timer_init 
+2082 20202043 branch idle_exit 
+
+idle_page_fail:
+2083 4484c001 bpatch patch01_1 ,mem_patch01 
+2084 680341d0 fetch 6 ,mem_hci_plap 
+2085 60030040 store 6 ,mem_plap 
+2086 2841fe01 compare lmp_name_req ,temp ,0xff 
+2087 2020a089 branch idle_name_fail ,true 
+2088 20202043 branch idle_exit 
+
+idle_name_fail:
+2089 d8a00101 arg mem_tmp_buffer ,contw 
+208a df200008 arg 8 ,loopcnt 
+208b 20407ec6 call memset0 
+208c 700a9904 jam bt_evt_reconn_failed ,mem_fifo_temp 
+208d 20407d86 call ui_ipc_send_event 
+208e 20202043 branch idle_exit 
+
+inquiry_dispatch:
+208f c68e0000 rtnmark0 mark_inquiry_on 
+2090 18000e01 force inquiry_length_timer ,queue 
+2091 20407f16 call timer_check 
+2092 7d3a001c nsetflag blank ,mark_inquiry_on ,mark 
+2093 243a2095 nbranch inquiry_start ,blank 
+2094 20600000 rtn 
+
+inquiry_start:
+2095 44854001 bpatch patch01_2 ,mem_patch01 
+2096 680940bb fetcht 2 ,mem_inq_window 
+2097 18000e04 force 4 ,queue 
+2098 2040271c call sniff_check_window 
+2099 20740000 rtn user 
+209a 204028a4 call afh_clear 
+209b 18004800 force 0 ,freq_mode 
+
+inquiry_restart:
+209c 20618000 rtn timeout 
+209d 793f800b set0 mark_fhs_already_good ,mark 
+209e 793f8000 set0 mark_fhs_eir ,mark 
+
+inquiry_rx_restart:
+209f 1c40c201 add clkn_bt ,1 ,bt_clk 
+20a0 280ffe1e isolate1 mark_inquiry_trainb ,mark 
+20a1 7920c802 setflag true ,2 ,freq_mode 
+20a2 2c200400 compare 0x00 ,bt_clk ,0x02 
+20a3 2420a0be nbranch inquiry_receive ,true 
+
+inquiry_transmit:
+20a4 4485c001 bpatch patch01_3 ,mem_patch01 
+20a5 68008012 fetch 1 ,mem_inquiry_transmit 
+20a6 1fe0fe01 increase 1 ,pdata 
+20a7 60008012 store 1 ,mem_inquiry_transmit 
+20a8 204028d8 call fetch_giac 
+20a9 204028d2 call tx_radio_freq 
+20aa 204028f2 call fetch_diac 
+20ab 20402a51 call start_transmitter 
+20ac 20402a56 call start_tx_native 
+20ad 20402a64 call send_access_word 
+20ae 2040264d call end_of_packet 
+20af 204020b1 call inquiry_check_train 
+20b0 2020209c branch inquiry_restart 
+
+inquiry_check_train:
+20b1 44864001 bpatch patch01_4 ,mem_patch01 
+20b2 6800808d fetch 1 ,mem_nfreq_index_inq 
+20b3 1fe0ffff increase -1 ,pdata 
+20b4 6000808d store 1 ,mem_nfreq_index_inq 
+20b5 20610000 rtn positive 
+20b6 70008d1f jam 31 ,mem_nfreq_index_inq 
+20b7 6800808f fetch 1 ,mem_ninqy_index 
+20b8 1fe0ffff increase -1 ,pdata 
+20b9 6000808f store 1 ,mem_ninqy_index 
+20ba 20610000 rtn positive 
+20bb 7940001e setflip mark_inquiry_trainb ,mark 
+20bc 70008fff jam param_ninquiry ,mem_ninqy_index 
+20bd 20600000 rtn 
+
+inquiry_receive:
+20be 4486c001 bpatch patch01_5 ,mem_patch01 
+20bf 204028d8 call fetch_giac 
+20c0 204028cc call rx_radio_freq 
+20c1 204028f2 call fetch_diac 
+20c2 20402a5b call start_rx_native 
+20c3 204029eb call start_receiver 
+20c4 20402a0d call wait_access_clkn_rt 
+20c5 202c20c8 branch inquiry_sync ,sync 
+20c6 204020b1 call inquiry_check_train 
+20c7 2020209f branch inquiry_rx_restart 
+
+inquiry_sync:
+20c8 44874001 bpatch patch01_6 ,mem_patch01 
+20c9 204029bb call save_rssi 
+20ca 20402a6b call scan_mode_whiten 
+20cb 2040251e call receive_packet_whitened 
+20cc 793f8001 set0 mark_rxbuf_inuse ,mark 
+20cd c6858000 rtnmark0 mark_fhs_already_good 
+
+inquiry_receive_rtn:
+20ce 4487c001 bpatch patch01_7 ,mem_patch01 
+
+inquiry_receive_eir_rtn:
+20cf 68008013 fetch 1 ,mem_inquiry_rcv 
+20d0 1fe0fe01 increase 1 ,pdata 
+20d1 60008013 store 1 ,mem_inquiry_rcv 
+20d2 20600000 rtn 
+
+master_page:
+20d3 44884002 bpatch patch02_0 ,mem_patch02 
+20d4 7834fc00 enable master 
+20d5 78387c00 enable clknt 
+20d6 680140b5 fetch 2 ,mem_page_interval 
+20d7 203a20db branch master_page_no_interval ,blank 
+20d8 18000e08 force page_interval_timer ,queue 
+20d9 20407f16 call timer_check 
+20da 247a0000 nrtn blank 
+
+master_page_no_interval:
+20db 4488c002 bpatch patch02_1 ,mem_patch02 
+20dc 680940b7 fetcht 2 ,mem_page_window 
+20dd 18000e28 force 40 ,queue 
+20de 2040271c call sniff_check_window 
+20df 20342114 branch page_exit ,user 
+20e0 18000e03 force page_length_timer ,queue 
+20e1 20407f16 call timer_check 
+20e2 243a20f0 nbranch page_start ,blank 
+20e3 6800804c fetch 1 ,mem_state_map 
+20e4 c28220e6 bbit1 smap_name_req ,master_npage_timeout 
+20e5 202020e9 branch master_page_timeout 
+
+master_npage_timeout:
+20e6 d8a00101 arg mem_tmp_buffer ,contw 
+20e7 df200008 arg 8 ,loopcnt 
+20e8 20407ec6 call memset0 
+
+master_page_timeout:
+20e9 44894002 bpatch patch02_2 ,mem_patch02 
+20ea 70003000 jam 0 ,mem_state 
+20eb 20405cf7 call init_lmp_work 
+20ec 70468100 jam 0 ,memui_reconnect_mode 
+20ed 700a9913 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+20ee 20407d86 call ui_ipc_send_event 
+20ef 20202114 branch page_exit 
+
+page_start:
+20f0 4489c002 bpatch patch02_3 ,mem_patch02 
+20f1 18001600 force 0 ,timeup 
+20f2 34730200 until clkn_rt ,meet 
+20f3 680080f2 fetch 1 ,mem_page_clk 
+20f4 1fe0ffff increase -1 ,pdata 
+20f5 9c42fe00 ixor clkn_bt ,pdata 
+20f6 2fe00600 compare 0 ,pdata ,3 
+20f7 2420a0f0 nbranch page_start ,true 
+20f8 18827e00 deposit am_addr 
+20f9 60008181 store 1 ,mem_fhs_am_addr 
+20fa 18004c00 force 0 ,n_tx_slot 
+20fb 18004800 force 0 ,freq_mode 
+
+page_restart:
+20fc 448a4002 bpatch patch02_4 ,mem_patch02 
+20fd 2021a114 branch page_exit ,timeout 
+20fe 204028dc call fetch_page_bt_adr 
+20ff d9600600 arg param_rf_setup ,timeup 
+2100 34730200 until clkn_rt ,meet 
+
+page_rx_restart:
+2101 448ac002 bpatch patch02_5 ,mem_patch02 
+2102 680200f2 fetch 4 ,mem_page_clk 
+2103 98004200 iforce bt_clk 
+2104 1fe0fe01 increase 1 ,pdata 
+2105 600200f2 store 4 ,mem_page_clk 
+2106 280ffe0c isolate1 mark_page_trainb ,mark 
+2107 7920c802 setflag true ,2 ,freq_mode 
+2108 2c200400 compare 0x00 ,bt_clk ,0x02 
+2109 2420a128 nbranch page_receive ,true 
+210a 6800800c fetch 1 ,mem_page_transmit 
+210b 1fe0fe01 increase 1 ,pdata 
+210c 6000800c store 1 ,mem_page_transmit 
+210d 204028d2 call tx_radio_freq 
+210e 20402a51 call start_transmitter 
+210f 20402a56 call start_tx_native 
+2110 20402a64 call send_access_word 
+2111 2040264d call end_of_packet 
+2112 2040211a call page_check_train 
+2113 202020fc branch page_restart 
+
+page_exit:
+2114 448b4002 bpatch patch02_6 ,mem_patch02 
+2115 7854fc00 disable master 
+2116 680140b5 fetch 2 ,mem_page_interval 
+2117 207a0000 rtn blank 
+2118 18000e08 force page_interval_timer ,queue 
+2119 20207f08 branch timer_init 
+
+page_check_train:
+211a 448bc002 bpatch patch02_7 ,mem_patch02 
+211b 6800808e fetch 1 ,mem_nfreq_index_page 
+211c 1fe0ffff increase -1 ,pdata 
+211d 6000808e store 1 ,mem_nfreq_index_page 
+211e 20610000 rtn positive 
+211f 70008e1f jam 31 ,mem_nfreq_index_page 
+2120 680080f0 fetch 1 ,mem_npage_index 
+2121 1fe0ffff increase -1 ,pdata 
+2122 600080f0 store 1 ,mem_npage_index 
+2123 20610000 rtn positive 
+2124 7940000c setflip mark_page_trainb ,mark 
+2125 6800c0a6 fetch 1 ,mem_npage 
+2126 600080f0 store 1 ,mem_npage_index 
+2127 20600000 rtn 
+
+page_receive:
+2128 448c4003 bpatch patch03_0 ,mem_patch03 
+2129 204028cc call rx_radio_freq 
+212a 20402a5b call start_rx_native 
+212b 204029eb call start_receiver 
+212c 20402a0d call wait_access_clkn_rt 
+212d 202c2130 branch page_sync ,sync 
+212e 2040211a call page_check_train 
+212f 20202101 branch page_rx_restart 
+
+page_sync:
+2130 2040264d call end_of_packet 
+2131 6800800d fetch 1 ,mem_page_rcv 
+2132 1fe0fe01 increase 1 ,pdata 
+2133 6000800d store 1 ,mem_page_rcv 
+2134 18003600 force 0 ,stop_watch 
+2135 680200f2 fetch 4 ,mem_page_clk 
+
+page_send_fhs:
+2136 448cc003 bpatch patch03_1 ,mem_patch03 
+2137 20402a4f call rf_setup_time_master_slot 
+2138 204028dc call fetch_page_bt_adr 
+2139 1cc0cc01 increase 1 ,n_tx_slot 
+
+page_send_fhs_continue:
+213a 1c2143fd and_into 0x1fd ,bt_clk 
+213b 1c8149fc and_into 0x1fc ,freq_mode 
+213c 204028d2 call tx_radio_freq 
+213d 20402a51 call start_transmitter 
+213e 20402a56 call start_tx_native 
+213f 20402a64 call send_access_word 
+2140 1c427e00 deposit clkn_bt 
+2141 60020161 store 4 ,mem_clkn_bt 
+2142 18000800 force 0 ,am_addr 
+2143 18000202 force type_fhs ,type 
+2144 20402a6b call scan_mode_whiten 
+2145 20402766 call transmit_packet_whitened 
+
+page_wait_fhs_reply:
+2146 448d4003 bpatch patch03_2 ,mem_patch03 
+2147 20402a4d call rf_setup_time_slave_slot 
+2148 1c21c202 or_into 0x02 ,bt_clk 
+2149 1c8149fc and_into 0x1fc ,freq_mode 
+214a 204028cc call rx_radio_freq 
+214b 20402a5b call start_rx_native 
+214c 204029eb call start_receiver 
+214d 20402a0d call wait_access_clkn_rt 
+214e 204c264d call end_of_packet ,sync 
+214f 202c2155 branch page_wait_fhs_reply_ok ,sync 
+2150 68008010 fetch 1 ,mem_fhs_wait_counter 
+2151 203a20fc branch page_restart ,blank 
+2152 1fe0ffff increase -1 ,pdata 
+2153 60008010 store 1 ,mem_fhs_wait_counter 
+2154 20202136 branch page_send_fhs 
+
+page_wait_fhs_reply_ok:
+2155 448dc003 bpatch patch03_3 ,mem_patch03 
+2156 6800800e fetch 1 ,mem_page_rcv_fhs 
+2157 1fe0fe01 increase 1 ,pdata 
+2158 6000800e store 1 ,mem_page_rcv_fhs 
+2159 20402435 call prepare_newconn 
+
+master_newconn_loop:
+215a 204022f2 call master_newconn_once 
+215b 202c215f branch newconn_poll_responded ,sync 
+215c 20402455 call new_conn_timeout 
+215d 243a215a nbranch master_newconn_loop ,blank 
+215e 202020fc branch page_restart 
+
+newconn_poll_responded:
+215f 448e4003 bpatch patch03_4 ,mem_patch03 
+2160 68008030 fetch 1 ,mem_state 
+2161 793ffe03 set0 state_inpage ,pdata 
+2162 60008030 store 1 ,mem_state 
+2163 20402440 call newconn_init 
+2164 7854fc00 disable master 
+2165 20600000 rtn 
+
+master_dispatch:
+2166 448ec003 bpatch patch03_5 ,mem_patch03 
+2167 7834fc00 enable master 
+2168 78387c00 enable clknt 
+2169 204021e1 call role_switch_master 
+216a 20740000 rtn user 
+216b 20402c69 call check_bt_disabled 
+216c 20402a4f call rf_setup_time_master_slot 
+216d 1c40c201 add clkn_bt ,1 ,bt_clk 
+216e 204028e2 call fetch_self_bt_adr 
+216f 18004803 force 0x03 ,freq_mode 
+2170 20406cc2 call scheduler_tx_l2cap_pkt 
+2171 20402489 call prepare_tx 
+2172 204028d2 call tx_radio_freq 
+2173 20402a51 call start_transmitter 
+2174 20402a56 call start_tx_native 
+2175 20402a64 call send_access_word 
+2176 20402762 call transmit_packet 
+
+master_loop:
+2177 448f4003 bpatch patch03_6 ,mem_patch03 
+2178 20405d08 call parse_lmp 
+2179 204022e4 call master_conn_recv_packet 
+217a 2436a180 nbranch master_notmatch ,match 
+217b 20402a88 call supervision_flush 
+217c 20402728 call parse_l2cap 
+217d 6800800f fetch 1 ,mem_master_rcvcnt 
+217e 1fe0fe01 increase 1 ,pdata 
+217f 6000800f store 1 ,mem_master_rcvcnt 
+
+master_notmatch:
+2180 448fc003 bpatch patch03_7 ,mem_patch03 
+2181 20406caa call scheduler_process 
+2182 2040218b call check_master_disconnect 
+2183 24748000 nrtn master 
+2184 204026f3 call check_attempt 
+2185 243a2188 nbranch master_attempt ,blank 
+
+master_exit:
+2186 7854fc00 disable master 
+2187 20600000 rtn 
+
+master_attempt:
+2188 20402489 call prepare_tx 
+2189 204022da call master_conn_send_packet 
+218a 20202177 branch master_loop 
+
+check_master_disconnect:
+218b 2036a18e branch check_master_match ,match 
+218c 20402a7f call supervision_update 
+218d 2021219c branch master_disconnect ,positive 
+
+check_master_match:
+218e 204021a7 call check_disconnect_timeout 
+218f 2434219c nbranch master_disconnect ,user 
+2190 6800804c fetch 1 ,mem_state_map 
+2191 c4020000 rtnbit0 smap_name_req 
+2192 c3818000 rtnbit1 smap_name_res 
+2193 6800804b fetch 1 ,mem_op 
+2194 c3818000 rtnbit1 op_disconn 
+2195 204021ae call conn_timer_expired 
+2196 247a0000 nrtn blank 
+2197 6800816e fetch 1 ,mem_nameres_cnt 
+2198 1fe0ffff increase -1 ,pdata 
+2199 6000816e store 1 ,mem_nameres_cnt 
+219a 247a0000 nrtn blank 
+219b 20206006 branch lmp_disconnect 
+
+master_disconnect:
+219c 44904004 bpatch patch04_0 ,mem_patch04 
+219d 2040245d call quit_connection 
+219e 7854fc00 disable master 
+219f 6800804c fetch 1 ,mem_state_map 
+21a0 c28221a2 bbit1 smap_name_req ,master_name_disconnect 
+21a1 20600000 rtn 
+
+master_name_disconnect:
+21a2 6800804c fetch 1 ,mem_state_map 
+21a3 c3818000 rtnbit1 smap_name_res 
+
+master_name_error:
+21a4 d8a00101 arg mem_tmp_buffer ,contw 
+21a5 df200008 arg 8 ,loopcnt 
+21a6 20207ec6 branch memset0 
+
+check_disconnect_timeout:
+21a7 4490c004 bpatch patch04_1 ,mem_patch04 
+21a8 78347c00 enable user 
+21a9 6800804b fetch 1 ,mem_op 
+21aa c4018000 rtnbit0 op_disconn 
+21ab 204021ae call conn_timer_expired 
+21ac 247a0000 nrtn blank 
+21ad 20207fe9 branch disable_user 
+
+conn_timer_expired:
+21ae 68008072 fetch 1 ,mem_conn_timer 
+21af 1fe0ffff increase -1 ,pdata 
+21b0 60008072 store 1 ,mem_conn_timer 
+21b1 20600000 rtn 
+
+linkkey_ready:
+21b2 44914004 bpatch patch04_2 ,mem_patch04 
+21b3 68008030 fetch 1 ,mem_state 
+21b4 c283a1bb bbit1 state_linkkey ,linkkey_set 
+21b5 680089b5 fetch 1 ,mem_pairing_auth 
+21b6 203a21bb branch linkkey_set ,blank 
+21b7 7009b500 jam defalt_pairing_auth ,mem_pairing_auth 
+21b8 700a9918 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+21b9 20407d86 call ui_ipc_send_event 
+21ba 202021bb branch linkkey_set 
+
+linkkey_set:
+21bb 4491c004 bpatch patch04_3 ,mem_patch04 
+21bc 20402254 call context_traverse_linkkey 
+21bd 68008030 fetch 1 ,mem_state 
+21be 79207e07 set1 state_linkkey ,pdata 
+21bf 60008030 store 1 ,mem_state 
+21c0 7041bd01 jam 1 ,mem_link_key_exists 
+21c1 68008055 fetch 1 ,mem_conn_sm 
+21c2 c08b21c3 bne conn_sm_pairing ,linkkey_set_continue 
+
+linkkey_set_continue:
+21c3 20600000 rtn 
+
+generate_linkkey_continue:
+21c4 7009b501 jam pairing_auth ,mem_pairing_auth 
+
+clear_linkstate:
+21c5 68008030 fetch 1 ,mem_state 
+21c6 793ffe07 set0 state_linkkey ,pdata 
+21c7 60008030 store 1 ,mem_state 
+21c8 20600000 rtn 
+
+role_switch_check:
+21c9 44924004 bpatch patch04_4 ,mem_patch04 
+21ca 78547c00 disable user 
+21cb 68010032 fetch 2 ,mem_tsniff 
+21cc d840ffff arg 0xffff ,temp 
+21cd 98467c00 isub temp ,null 
+21ce 24628000 nrtn zero 
+21cf 68020034 fetch 4 ,mem_sniff_anchor 
+21d0 203821d3 branch role_switch_clkn ,clknt 
+21d1 9d067e00 isub clke_bt ,pdata 
+21d2 202021d4 branch role_switch_clke 
+
+role_switch_clkn:
+21d3 9c467e00 isub clkn_bt ,pdata 
+
+role_switch_clke:
+21d4 1fe67c04 sub pdata ,4 ,null 
+21d5 24610000 nrtn positive 
+21d6 18007e00 force 0 ,pdata 
+21d7 60010032 store 2 ,mem_tsniff 
+21d8 20207fe7 branch enable_user 
+
+role_switch_prepare:
+21d9 1fe20400 copy pdata ,temp 
+21da 4492c004 bpatch patch04_5 ,mem_patch04 
+21db 600a0034 storet 4 ,mem_sniff_anchor 
+
+role_switch_prepare0:
+21dc 70455b01 jam switch_flag_accept ,mem_switch_flag 
+21dd 5800ffff setarg 0xffff 
+21de 60010032 store 2 ,mem_tsniff 
+21df 70007301 jam 1 ,mem_sniff_attempt 
+21e0 20600000 rtn 
+
+role_switch_master:
+21e1 44934004 bpatch patch04_6 ,mem_patch04 
+21e2 204021c9 call role_switch_check 
+21e3 24740000 nrtn user 
+21e4 78547c00 disable user 
+21e5 70001120 jam param_newconnto ,mem_newconnto_counter 
+21e6 793f800b set0 mark_fhs_already_good ,mark 
+
+roles_waitfhs_loop:
+21e7 20402a4f call rf_setup_time_master_slot 
+21e8 204022e6 call master_recv_packet 
+21e9 c505a1f4 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+21ea 20402455 call new_conn_timeout 
+21eb 243a21e7 nbranch roles_waitfhs_loop ,blank 
+
+role_switch_fail_master:
+21ec 4493c004 bpatch patch04_7 ,mem_patch04 
+21ed 78547c00 disable user 
+21ee 1c427e00 deposit clkn_bt 
+21ef 600240ca store 4 ,mem_next_btclk 
+21f0 78387c00 enable clknt 
+21f1 7834fc00 enable master 
+21f2 700a992a jam bt_evt_switch_fail_master ,mem_fifo_temp 
+21f3 20207d86 branch ui_ipc_send_event 
+
+roles_replyto_fhs:
+21f4 44944005 bpatch patch05_0 ,mem_patch05 
+21f5 20402a4d call rf_setup_time_slave_slot 
+21f6 d8200010 arg type_id ,type 
+21f7 204022dc call master_send_packet 
+21f8 78587c00 disable clknt 
+21f9 7854fc00 disable master 
+21fa 20402818 call apply_switch_clke 
+21fb 20402435 call prepare_newconn 
+
+roles_newconns_loop:
+21fc 4494c005 bpatch patch05_1 ,mem_patch05 
+21fd 2040247c call slave_newconn_once 
+21fe 2036a202 branch roles_newconns_responded ,match 
+21ff 20402455 call new_conn_timeout 
+2200 243a21fc nbranch roles_newconns_loop ,blank 
+2201 202021ec branch role_switch_fail_master 
+
+roles_newconns_responded:
+2202 68008031 fetch 1 ,mem_mode 
+2203 793ffe01 set0 mode_master ,pdata 
+2204 60008031 store 1 ,mem_mode 
+2205 20402a88 call supervision_flush 
+2206 20402841 call calc_clke_offset 
+2207 78347c00 enable user 
+2208 700a992b jam bt_evt_switch_success_master ,mem_fifo_temp 
+2209 20207d86 branch ui_ipc_send_event 
+
+context_load:
+220a 44954005 bpatch patch05_2 ,mem_patch05 
+220b 79200009 set1 mark_context ,mark 
+220c 1a227e00 deposit rega 
+220d 6001001e store 2 ,mem_context_ptr 
+220e 18007250 force context_size ,loopcnt 
+220f d8a0043f arg mem_le_state ,contw 
+2210 1a208c01 add rega ,coffset_mode ,contr 
+2211 e8c08000 ifetch 1 ,contr 
+2212 1a220c00 copy rega ,contr 
+2213 c2807f01 bbit1 mode_le ,memcpy 
+2214 d8a00030 arg mem_state ,contw 
+2215 20407f01 call memcpy 
+2216 78577c00 disable attempt 
+2217 68008077 fetch 1 ,mem_amaddr 
+2218 98000800 iforce am_addr 
+2219 70008a01 jam 1 ,mem_current_sniff_attempt 
+221a 2034a21c branch context_load_master ,master 
+221b 70008a01 jam 1 ,mem_current_sniff_attempt 
+
+context_load_master:
+221c 68008030 fetch 1 ,mem_state 
+221d c4008000 rtnbit0 state_insniff 
+221e 68008073 fetch 1 ,mem_sniff_attempt 
+221f 6000808a store 1 ,mem_current_sniff_attempt 
+2220 68008074 fetch 1 ,mem_sniff_timeout 
+2221 6000808b store 1 ,mem_current_sniff_timeout 
+2222 20600000 rtn 
+
+context_save:
+2223 4495c005 bpatch patch05_3 ,mem_patch05 
+2224 6801001e fetch 2 ,mem_context_ptr 
+2225 98000a00 iforce contw 
+2226 18007250 force context_size ,loopcnt 
+2227 d8c0043f arg mem_le_state ,contr 
+2228 203b7f01 branch memcpy ,le 
+2229 d8c00030 arg mem_state ,contr 
+222a 20207f01 branch memcpy 
+
+context_get_next:
+222b df200001 arg context_num ,loopcnt 
+222c 68088015 fetcht 1 ,mem_current_context 
+
+context_get_next_loop:
+222d 18408401 increase 1 ,temp 
+222e 2841fe01 compare context_num ,temp ,0xff 
+222f 2420a231 nbranch context_get_next_cont ,true 
+2230 d8400000 arg 0 ,temp 
+
+context_get_next_cont:
+2231 60088015 storet 1 ,mem_current_context 
+2232 184ffe50 mul32 temp ,context_size ,pdata 
+2233 da204040 arg mem_context ,rega 
+2234 9a20a200 iadd rega ,rega 
+2235 ea208000 ifetch 1 ,rega 
+2236 c280a239 bbit1 state_insniff ,context_get_next_sniff 
+2237 c3800000 rtnbit1 state_inconn 
+2238 c3818000 rtnbit1 state_inpage 
+
+context_get_next_sniff:
+2239 c200222d loop context_get_next_loop 
+223a 20600000 rtn 
+
+context_new:
+223b 44964005 bpatch patch05_4 ,mem_patch05 
+223c da60226a arg context_search_empty ,regc 
+223d 20402261 call context_search 
+223e 24628000 nrtn zero 
+223f 1a227e00 deposit rega 
+2240 6001001e store 2 ,mem_context_ptr 
+2241 18007c00 force 0 ,null 
+2242 20600000 rtn 
+
+context_check_all_wack:
+2243 20402725 call check_esco_amaddr 
+2244 2020a24b branch context_check_esco_wack ,true 
+2245 6801001e fetch 2 ,mem_context_ptr 
+2246 1fe08a17 add pdata ,coffset_arq ,contw 
+2247 68008047 fetch 1 ,mem_arq 
+2248 e0a08000 istore 1 ,contw 
+2249 da6022aa arg context_check_a_wack ,regc 
+224a 20202261 branch context_search 
+
+context_check_esco_wack:
+224b 68008047 fetch 1 ,mem_arq 
+224c 2feffe03 isolate1 wack ,pdata 
+224d 2020a250 branch context_esco_wack ,true 
+224e 18007c01 force 1 ,null 
+224f 20600000 rtn 
+
+context_esco_wack:
+2250 18007c00 force 0 ,null 
+2251 20600000 rtn 
+
+context_check_idle:
+2252 da6022a7 arg context_check_inconn ,regc 
+2253 20202261 branch context_search 
+
+context_traverse_linkkey:
+2254 6809001e fetcht 2 ,mem_context_ptr 
+2255 da6022cf arg context_traverse_clearkey ,regc 
+2256 20202261 branch context_search 
+
+context_search_conn_handle:
+2257 6808c1cf fetcht 1 ,mem_hci_conn_handle 
+
+context_search_conn_handle2:
+2258 da602275 arg context_search_handle ,regc 
+2259 20202261 branch context_search 
+
+context_search_plap:
+225a 4496c005 bpatch patch05_5 ,mem_patch05 
+225b 680b41d0 fetcht 6 ,mem_hci_plap 
+
+context_search_plap2:
+225c da60226e arg context_search_lap ,regc 
+225d 20202261 branch context_search 
+
+context_search_insniff:
+225e da60227b arg context_search_sniff ,regc 
+225f 20202261 branch context_search 
+
+context_search_sniff_window:
+2260 da6022c6 arg context_search_window ,regc 
+
+context_search:
+2261 44974005 bpatch patch05_6 ,mem_patch05 
+2262 da204040 arg mem_context ,rega 
+2263 df200001 arg context_num ,loopcnt 
+
+context_search_loop:
+2264 ea208000 ifetch 1 ,rega 
+2265 1a627a00 copy regc ,pc 
+
+context_search_next:
+2266 1a20a250 increase context_size ,rega 
+2267 c2002264 loop context_search_loop 
+2268 18007c01 force 1 ,null 
+2269 20600000 rtn 
+
+context_search_empty:
+226a c2802266 bbit1 state_inconn ,context_search_next 
+226b c281a266 bbit1 state_inpage ,context_search_next 
+226c 18007c00 force 0 ,null 
+226d 20600000 rtn 
+
+context_search_lap:
+226e c281a270 bbit1 state_inpage ,context_search_lap_cont 
+226f c3002266 bbit0 state_inconn ,context_search_next 
+
+context_search_lap_cont:
+2270 1a208c10 add rega ,coffset_plap ,contr 
+2271 e8c30000 ifetch 6 ,contr 
+2272 98467c00 isub temp ,null 
+2273 20628000 rtn zero 
+2274 20202266 branch context_search_next 
+
+context_search_handle:
+2275 c3002266 bbit0 state_inconn ,context_search_next 
+2276 1a208c16 add rega ,coffset_conn_handle ,contr 
+2277 e8c08000 ifetch 1 ,contr 
+2278 98467c00 isub temp ,null 
+2279 20628000 rtn zero 
+227a 20202266 branch context_search_next 
+
+context_search_sniff:
+227b c300a266 bbit0 state_insniff ,context_search_next 
+
+context_search_sniff_loop:
+227c 204022b3 call context_get_anchor 
+227d 20402297 call sign_pdata_temp 
+227e 98467e00 isub temp ,pdata 
+227f 1fe0fe01 increase 1 ,pdata 
+2280 20212291 branch context_search_sniff_miss ,positive 
+2281 18c22400 copy contr ,regb 
+2282 60048aa2 store 9 ,mem_temp 
+2283 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2284 243a2289 nbranch context_search_sniff_sc ,blank 
+2285 68048aa2 fetch 9 ,mem_temp 
+2286 1a420c00 copy regb ,contr 
+2287 1fe0fe05 increase 5 ,pdata 
+2288 2020228c branch context_search_meet1 
+
+context_search_sniff_sc:
+2289 68048aa2 fetch 9 ,mem_temp 
+228a 1a420c00 copy regb ,contr 
+228b 1fe0fe14 increase 20 ,pdata 
+
+context_search_meet1:
+228c 24212266 nbranch context_search_next ,positive 
+
+context_search_meet:
+228d 18424200 copy temp ,bt_clk 
+228e 204022bf call context_next_anchor 
+228f 18007c00 force 0 ,null 
+2290 20600000 rtn 
+
+context_search_sniff_miss:
+2291 98002400 iforce regb 
+2292 1a208c02 add rega ,coffset_tsniff ,contr 
+2293 e8c10000 ifetch 2 ,contr 
+2294 203a228d branch context_search_meet ,blank 
+2295 204022bf call context_next_anchor 
+2296 2020227c branch context_search_sniff_loop 
+
+sign_pdata_temp:
+2297 1ff11600 rshift16 pdata ,timeup 
+2298 196c9600 rshift8 timeup ,timeup 
+2299 2022a2a1 branch sign_pdata_temp_p0 ,zero 
+229a 29601e0f compare 0xf ,timeup ,0xf 
+229b 24608000 nrtn true 
+229c 18511600 rshift16 temp ,timeup 
+229d 196c9600 rshift8 timeup ,timeup 
+229e 24628000 nrtn zero 
+229f 7920041c set1 28 ,temp 
+22a0 20600000 rtn 
+
+sign_pdata_temp_p0:
+22a1 18511600 rshift16 temp ,timeup 
+22a2 196c9600 rshift8 timeup ,timeup 
+22a3 29601e0f compare 0xf ,timeup ,0xf 
+22a4 24608000 nrtn true 
+22a5 79207e1c set1 28 ,pdata 
+22a6 20600000 rtn 
+
+context_check_inconn:
+22a7 c3002266 bbit0 state_inconn ,context_search_next 
+22a8 18007c00 force 0 ,null 
+22a9 20600000 rtn 
+
+context_check_a_wack:
+22aa c3002266 bbit0 state_inconn ,context_search_next 
+22ab 1a208c01 add rega ,coffset_mode ,contr 
+22ac e8c08000 ifetch 1 ,contr 
+22ad c2802266 bbit1 mode_le ,context_search_next 
+22ae 1a208c17 add rega ,coffset_arq ,contr 
+22af e8c08000 ifetch 1 ,contr 
+22b0 c301a266 bbit0 wack ,context_search_next 
+22b1 18007c00 force 0 ,null 
+22b2 20600000 rtn 
+
+context_get_anchor:
+22b3 1a208c01 add rega ,coffset_mode ,contr 
+22b4 e8c88000 ifetcht 1 ,contr 
+22b5 1c427e00 deposit clkn_bt 
+22b6 284ffe01 isolate1 mode_master ,temp 
+22b7 1a208c04 add rega ,coffset_sniff_anchor ,contr 
+22b8 e8ca0000 ifetcht 4 ,contr 
+22b9 20608000 rtn true 
+22ba 1a208c08 add rega ,coffset_clk_offset ,contr 
+22bb e8c30000 ifetch 6 ,contr 
+22bc 20402854 call calc_clke2 
+22bd 1d027e00 deposit clke_bt 
+22be 20600000 rtn 
+
+context_next_anchor:
+22bf 1a208c02 add rega ,coffset_tsniff ,contr 
+22c0 1a208a04 add rega ,coffset_sniff_anchor ,contw 
+22c1 e8c10000 ifetch 2 ,contr 
+22c2 98409600 iadd temp ,timeup 
+22c3 19627e00 deposit timeup 
+22c4 e0a20000 istore 4 ,contw 
+22c5 20205449 branch le_context_nexthop 
+
+context_search_window:
+22c6 c300a266 bbit0 state_insniff ,context_search_next 
+22c7 204022b3 call context_get_anchor 
+22c8 9b60fe00 iadd stop_watch ,pdata 
+22c9 9b60fe00 iadd stop_watch ,pdata 
+22ca 98e0fe00 iadd queue ,pdata 
+22cb 98467c00 isub temp ,null 
+22cc 24212266 nbranch context_search_next ,positive 
+22cd 18007c00 force 0 ,null 
+22ce 20600000 rtn 
+
+context_traverse_clearkey:
+22cf c3002266 bbit0 state_inconn ,context_search_next 
+22d0 18427e00 deposit temp 
+22d1 9a267c00 isub rega ,null 
+22d2 203f2266 branch context_search_next ,null 
+22d3 1a208c01 add rega ,coffset_mode ,contr 
+22d4 e8c08000 ifetch 1 ,contr 
+22d5 c2802266 bbit1 mode_le ,context_search_next 
+22d6 ea208000 ifetch 1 ,rega 
+22d7 793ffe07 set0 state_linkkey ,pdata 
+22d8 e2208000 istore 1 ,rega 
+22d9 20202266 branch context_search_next 
+
+master_conn_send_packet:
+22da 4497c005 bpatch patch05_7 ,mem_patch05 
+22db 20402a4f call rf_setup_time_master_slot 
+
+master_send_packet:
+22dc 1c40c201 add clkn_bt ,1 ,bt_clk 
+22dd 204028e2 call fetch_self_bt_adr 
+22de 18004803 force 0x03 ,freq_mode 
+22df 204028d2 call tx_radio_freq 
+22e0 20402a51 call start_transmitter 
+22e1 20402a56 call start_tx_native 
+22e2 20402a64 call send_access_word 
+22e3 20202762 branch transmit_packet 
+
+master_conn_recv_packet:
+22e4 44984006 bpatch patch06_0 ,mem_patch06 
+22e5 20402a4d call rf_setup_time_slave_slot 
+
+master_recv_packet:
+22e6 1c40c201 add clkn_bt ,1 ,bt_clk 
+22e7 204028e2 call fetch_self_bt_adr 
+22e8 18004803 force 0x03 ,freq_mode 
+22e9 204028cc call rx_radio_freq 
+22ea 2040242a call init_rx_packet_flags 
+22eb 204029f1 call prep_crypt 
+22ec 20402a5b call start_rx_native 
+22ed 204029eb call start_receiver 
+
+master_rx_conn_finish_packet:
+22ee 20402a0d call wait_access_clkn_rt 
+22ef 246c0000 nrtn sync 
+22f0 204029bb call save_rssi 
+22f1 2020251c branch receive_packet 
+
+master_newconn_once:
+22f2 4498c006 bpatch patch06_1 ,mem_patch06 
+22f3 68008181 fetch 1 ,mem_fhs_am_addr 
+22f4 98000800 iforce am_addr 
+22f5 18000201 force type_poll ,type 
+22f6 204022da call master_conn_send_packet 
+22f7 202022e4 branch master_conn_recv_packet 
+
+inquiry_scan_dispatch:
+22f8 6800c093 fetch 1 ,mem_scan_mode 
+22f9 c4000000 rtnbit0 inq_scan_mode 
+22fa 18000e04 force iscan_interval_timer ,queue 
+22fb 20407f16 call timer_check 
+22fc 247a0000 nrtn blank 
+22fd 680940ad fetcht 2 ,mem_iscan_window 
+22fe 18000e04 force 4 ,queue 
+22ff 2040271c call sniff_check_window 
+2300 20740000 rtn user 
+2301 20402308 call inquiry_scan_start 
+2302 18000e04 force iscan_interval_timer ,queue 
+2303 680140af fetch 2 ,mem_iscan_interval 
+2304 242c7f08 nbranch timer_init ,sync 
+2305 180a7e00 random pdata 
+2306 9ea17e00 iand mask3ff ,pdata 
+2307 20207f08 branch timer_init 
+
+inquiry_scan_start:
+2308 44994006 bpatch patch06_2 ,mem_patch06 
+2309 70018100 jam 0 ,mem_fhs_am_addr 
+230a 78587c00 disable clknt 
+230b 78577c00 disable attempt 
+230c 204028a4 call afh_clear 
+230d 1c4143fc and clkn_bt ,0x1fc ,bt_clk 
+230e 18004801 force 0x01 ,freq_mode 
+230f 204028d8 call fetch_giac 
+2310 204028cc call rx_radio_freq 
+2311 7940001d setflip mark_inquiry_state ,mark 
+2312 68008006 fetch 1 ,mem_inquiryscan_waitcnt 
+2313 1fe0fe01 increase 1 ,pdata 
+2314 60008006 store 1 ,mem_inquiryscan_waitcnt 
+2315 204028f2 call fetch_diac 
+2316 204029eb call start_receiver 
+2317 20402a14 call wait_access_forever 
+2318 246c0000 nrtn sync 
+2319 4499c006 bpatch patch06_3 ,mem_patch06 
+231a 18003600 force 0 ,stop_watch 
+231b 204028f9 call shutdown_radio 
+231c 68008007 fetch 1 ,mem_inquiryscan_rcvcnt 
+231d 1fe0fe01 increase 1 ,pdata 
+231e 60008007 store 1 ,mem_inquiryscan_rcvcnt 
+231f 204028d8 call fetch_giac 
+2320 20402a4d call rf_setup_time_slave_slot 
+2321 1c21c202 or_into 0x002 ,bt_clk 
+2322 18004801 force 0x01 ,freq_mode 
+2323 204028d2 call tx_radio_freq 
+2324 204028f2 call fetch_diac 
+2325 20402a51 call start_transmitter 
+2326 20402a5f call start_tx_external 
+2327 1c427e00 deposit clkn_bt 
+2328 60020161 store 4 ,mem_clkn_bt 
+2329 20402a64 call send_access_word 
+232a 18000202 force type_fhs ,type 
+232b 18000800 force 0 ,am_addr 
+232c 20402a6b call scan_mode_whiten 
+232d 20402766 call transmit_packet_whitened 
+232e 20402332 call send_eir 
+232f 1c2143fd and_into 0x1fd ,bt_clk 
+2330 1cc0cc01 increase 1 ,n_tx_slot 
+2331 20600000 rtn 
+
+send_eir:
+2332 449a4006 bpatch patch06_4 ,mem_patch06 
+2333 6800c0d1 fetch 1 ,mem_eir_enable 
+2334 207a0000 rtn blank 
+2335 d8a0018e arg mem_eir ,contw 
+2336 6800c515 fetch 1 ,mem_local_name_length 
+2337 1fe27200 copy pdata ,loopcnt 
+2338 1fe0fe01 increase 1 ,pdata 
+2339 e0a08000 istore 1 ,contw 
+233a 18a20400 copy contw ,temp 
+233b 1fe0fe01 increase 1 ,pdata 
+233c 600141dc store 2 ,mem_tx_len 
+233d 18420a00 copy temp ,contw 
+233e 58000009 setarg 0x09 
+233f e0a08000 istore 1 ,contw 
+2340 d8c04516 arg mem_local_name ,contr 
+2341 20407f01 call memcpy 
+2342 da60458d arg mem_all_uuid_128bits ,regc 
+2343 df200004 arg 4 ,loopcnt 
+2344 20402354 call get_all_uuid 
+2345 da604577 arg mem_all_uuid_16bits ,regc 
+2346 df200001 arg 1 ,loopcnt 
+2347 20402354 call get_all_uuid 
+2348 1800020a force type_dm3 ,type 
+2349 7041db02 jam 2 ,mem_tx_lch 
+234a 5800018e setarg mem_eir 
+234b 6001016f store 2 ,mem_txptr 
+234c 20402a4d call rf_setup_time_slave_slot 
+234d 204028d2 call tx_radio_freq 
+234e 20402a51 call start_transmitter 
+234f 20402a5f call start_tx_external 
+2350 20402a64 call send_access_word 
+2351 20402a6b call scan_mode_whiten 
+2352 20402766 call transmit_packet_whitened 
+2353 20600000 rtn 
+
+get_all_uuid:
+2354 18a20400 copy contw ,temp 
+2355 1a620c00 copy regc ,contr 
+2356 e8c08000 ifetch 1 ,contr 
+2357 207a0000 rtn blank 
+
+lshift_loop:
+2358 1fe3fe00 lshift pdata ,pdata 
+2359 c2002358 loop lshift_loop 
+235a 1fe22200 copy pdata ,rega 
+235b 1fe0fe02 increase 2 ,pdata 
+235c 1fe20e00 copy pdata ,queue 
+235d 680141dc fetch 2 ,mem_tx_len 
+235e 98e0fe00 iadd queue ,pdata 
+235f 600141dc store 2 ,mem_tx_len 
+2360 18420a00 copy temp ,contw 
+2361 1a227e00 copy rega ,pdata 
+2362 1fe0fe01 increase 1 ,pdata 
+2363 e0a08000 istore 1 ,contw 
+2364 1a620c00 copy regc ,contr 
+2365 e8c08000 ifetch 1 ,contr 
+2366 e8c08000 ifetch 1 ,contr 
+2367 e0a08000 istore 1 ,contw 
+2368 1a227200 copy rega ,loopcnt 
+2369 20207f01 branch memcpy 
+
+page_scan_dispatch:
+236a 6800c093 fetch 1 ,mem_scan_mode 
+236b c4008000 rtnbit0 page_scan_mode 
+236c 18000e05 force pscan_interval_timer ,queue 
+236d 20407f16 call timer_check 
+236e 247a0000 nrtn blank 
+236f 680940b1 fetcht 2 ,mem_pscan_window 
+2370 18000e28 force 40 ,queue 
+2371 2040271c call sniff_check_window 
+2372 20740000 rtn user 
+2373 18000800 force 0 ,am_addr 
+2374 70001008 jam param_pagerespto ,mem_fhs_wait_counter 
+2375 793f800b set0 mark_fhs_already_good ,mark 
+2376 2040237a call page_scan_start 
+2377 18000e05 force pscan_interval_timer ,queue 
+2378 680140b3 fetch 2 ,mem_pscan_interval 
+2379 20207f08 branch timer_init 
+
+page_scan_start:
+237a 449ac006 bpatch patch06_5 ,mem_patch06 
+237b 78587c00 disable clknt 
+237c 204028a4 call afh_clear 
+237d 68008008 fetch 1 ,mem_pagescan_waitcnt 
+237e 1fe0fe01 increase 1 ,pdata 
+237f 60008008 store 1 ,mem_pagescan_waitcnt 
+2380 18004c00 force 0 ,n_tx_slot 
+2381 204028e2 call fetch_self_bt_adr 
+2382 1c40c201 add clkn_bt ,1 ,bt_clk 
+2383 18004802 force 0x02 ,freq_mode 
+2384 449b4006 bpatch patch06_6 ,mem_patch06 
+2385 204028cc call rx_radio_freq 
+2386 204029eb call start_receiver 
+2387 20402a14 call wait_access_forever 
+2388 246c0000 nrtn sync 
+2389 204028f9 call shutdown_radio 
+238a 68008009 fetch 1 ,mem_pagescan_rcvcnt 
+238b 1fe0fe01 increase 1 ,pdata 
+238c 60008009 store 1 ,mem_pagescan_rcvcnt 
+238d 18003600 force 0 ,stop_watch 
+238e 20402a4d call rf_setup_time_slave_slot 
+238f 1c21c202 or_into 0x002 ,bt_clk 
+2390 18004801 force 0x01 ,freq_mode 
+2391 204028d2 call tx_radio_freq 
+2392 20402a51 call start_transmitter 
+2393 20402a5f call start_tx_external 
+2394 20402a64 call send_access_word 
+2395 2040264d call end_of_packet 
+2396 18000800 force 0 ,am_addr 
+2397 d9600600 arg param_rf_setup ,timeup 
+2398 35330200 until clke_rt ,meet 
+2399 1d01d003 or_into 0x03 ,clke_bt 
+239a 1c2143fd and_into 0x1fd ,bt_clk 
+
+page_scan_wait_fhs_restart:
+239b 449bc006 bpatch patch06_7 ,mem_patch06 
+239c 1cc0cc01 increase 1 ,n_tx_slot 
+239d 204028cc call rx_radio_freq 
+239e 204029eb call start_receiver 
+239f 20402a07 call wait_access_mhalfbnd 
+23a0 242c23a4 nbranch page_scan_wait_fhs_again ,sync 
+23a1 20402a6b call scan_mode_whiten 
+23a2 2040251e call receive_packet_whitened 
+23a3 c505a3ab bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+
+page_scan_wait_fhs_again:
+23a4 449c4007 bpatch patch07_0 ,mem_patch07 
+23a5 68008010 fetch 1 ,mem_fhs_wait_counter 
+23a6 207a0000 rtn blank 
+23a7 1fe0ffff increase -1 ,pdata 
+23a8 60008010 store 1 ,mem_fhs_wait_counter 
+23a9 20402a4f call rf_setup_time_master_slot 
+23aa 2020239b branch page_scan_wait_fhs_restart 
+
+page_scan_reply_to_fhs:
+23ab 449cc007 bpatch patch07_1 ,mem_patch07 
+23ac 793fd001 set0 1 ,clke_bt 
+23ad 79205000 set1 0 ,clke_bt 
+23ae 6800800a fetch 1 ,mem_pagescan_rcvfhscnt 
+23af 1fe0fe01 increase 1 ,pdata 
+23b0 6000800a store 1 ,mem_pagescan_rcvfhscnt 
+23b1 20402a4d call rf_setup_time_slave_slot 
+23b2 1c21c202 or_into 0x02 ,bt_clk 
+23b3 204028d2 call tx_radio_freq 
+23b4 20402a51 call start_transmitter 
+23b5 20402a5f call start_tx_external 
+23b6 20402a64 call send_access_word 
+23b7 2040264d call end_of_packet 
+
+slave_apply_clke_bt:
+23b8 2d000603 compare 0x03 ,clke_bt ,0x03 
+23b9 2020a3bc branch slave_apply_clke_bt_now ,true 
+23ba 37cb8200 until null ,mhalfbnd 
+23bb 202023b8 branch slave_apply_clke_bt 
+
+slave_apply_clke_bt_now:
+23bc 68020165 fetch 4 ,mem_clke_bt 
+23bd 1fe1fe03 or_into 0x03 ,pdata 
+23be 1fe25000 icopy clke_bt 
+
+start_slave_connection:
+23bf 449d4007 bpatch patch07_2 ,mem_patch07 
+23c0 68030178 fetch 6 ,extm_lap 
+23c1 60030040 store 6 ,mem_plap 
+23c2 20402435 call prepare_newconn 
+
+slave_newconn_loop:
+23c3 2040247c call slave_newconn_once 
+23c4 2036a3c8 branch sconn_successful ,match 
+23c5 20402455 call new_conn_timeout 
+23c6 243a23c3 nbranch slave_newconn_loop ,blank 
+23c7 20600000 rtn 
+
+sconn_successful:
+23c8 449dc007 bpatch patch07_3 ,mem_patch07 
+23c9 20402440 call newconn_init 
+23ca 2040223b call context_new 
+23cb 24628000 nrtn zero 
+23cc 70003100 jam 0 ,mem_mode 
+23cd 20402841 call calc_clke_offset 
+23ce 20202223 branch context_save 
+
+slave_dispatch:
+23cf 449e4007 bpatch patch07_4 ,mem_patch07 
+23d0 20402850 call calc_clke 
+23d1 204023f3 call role_switch_slave 
+23d2 20740000 rtn user 
+
+slave_loop:
+23d3 449ec007 bpatch patch07_5 ,mem_patch07 
+23d4 20402c69 call check_bt_disabled 
+23d5 20406caa call scheduler_process 
+23d6 20402514 call slave_conn_recv_packet 
+23d7 2436a3e2 nbranch slave_notmatch ,match 
+23d8 20402a88 call supervision_flush 
+23d9 20406cc2 call scheduler_tx_l2cap_pkt 
+23da 20402489 call prepare_tx 
+23db 20402757 call slave_conn_send_packet 
+23dc 20402728 call parse_l2cap 
+23dd 20405d08 call parse_lmp 
+23de 6800800b fetch 1 ,mem_slave_rcvcnt 
+23df 1fe0fe01 increase 1 ,pdata 
+23e0 6000800b store 1 ,mem_slave_rcvcnt 
+23e1 20402841 call calc_clke_offset 
+
+slave_notmatch:
+23e2 449f4007 bpatch patch07_6 ,mem_patch07 
+23e3 20402bb1 call lpm_set_mult 
+23e4 20402a7f call supervision_update 
+23e5 202123eb branch slave_disconnect ,positive 
+23e6 204021a7 call check_disconnect_timeout 
+23e7 243423eb nbranch slave_disconnect ,user 
+23e8 204026f3 call check_attempt 
+23e9 243a23d3 nbranch slave_loop ,blank 
+23ea 20600000 rtn 
+
+slave_disconnect:
+23eb 449fc007 bpatch patch07_7 ,mem_patch07 
+23ec 70015100 jam 0 ,mem_tester_emulate 
+23ed 70017f00 jam 0 ,mem_debug_config 
+23ee 2040245d call quit_connection 
+23ef 793f8011 set0 mark_testmode ,mark 
+23f0 20407fb0 call test_enable_white 
+23f1 68008030 fetch 1 ,mem_state 
+23f2 20600000 rtn 
+
+role_switch_slave:
+23f3 44a04008 bpatch patch08_0 ,mem_patch08 
+23f4 204021c9 call role_switch_check 
+23f5 24740000 nrtn user 
+23f6 18820400 copy am_addr ,temp 
+23f7 20402a6f call get_free_amaddr 
+23f8 60008181 store 1 ,mem_fhs_am_addr 
+23f9 18420800 copy temp ,am_addr 
+23fa 70001120 jam param_newconnto ,mem_newconnto_counter 
+
+roles_sendfhs_loop:
+23fb 44a0c008 bpatch patch08_1 ,mem_patch08 
+23fc 20402a4f call rf_setup_time_master_slot 
+23fd 18000202 force type_fhs ,type 
+23fe 2040274f call slave_send_access 
+23ff 1c427e00 deposit clkn_bt 
+2400 60020161 store 4 ,mem_clkn_bt 
+2401 20402762 call transmit_packet 
+2402 20402a4d call rf_setup_time_slave_slot 
+2403 7837fc00 enable user3 
+2404 204024f6 call slave_receive_access 
+2405 202c240d branch roles_got_fhs_reply ,sync 
+2406 204028f9 call shutdown_radio 
+2407 20402455 call new_conn_timeout 
+2408 243a23fb nbranch roles_sendfhs_loop ,blank 
+2409 c6820000 rtnmark0 mark_accept_switch 
+240a 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+240b 79200003 set1 mark_switch_initiated ,mark 
+240c 20600000 rtn 
+
+roles_got_fhs_reply:
+240d 78387c00 enable clknt 
+240e 20402435 call prepare_newconn 
+240f 204028a4 call afh_clear 
+
+roles_newconn_loop:
+2410 44a14008 bpatch patch08_2 ,mem_patch08 
+2411 204022f2 call master_newconn_once 
+2412 202c2419 branch roles_newconn_responded ,sync 
+2413 20402455 call new_conn_timeout 
+2414 243a2410 nbranch roles_newconn_loop ,blank 
+2415 78587c00 disable clknt 
+2416 1d027e00 deposit clke_bt 
+2417 600240ca store 4 ,mem_next_btclk 
+2418 20600000 rtn 
+
+roles_newconn_responded:
+2419 7834fc00 enable master 
+241a c582241f bmark0 mark_accept_switch ,roles_newconn_nolmp 
+241b 793f8004 set0 mark_accept_switch ,mark 
+241c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+241d 70007d33 jam lmp_host_connection_req ,mem_lmi_opcode2 
+241e 204062f8 call tid_set_reply 
+
+roles_newconn_nolmp:
+241f 18827e00 deposit am_addr 
+2420 60008077 store 1 ,mem_amaddr 
+2421 18007e00 force 0 ,pdata 
+2422 60030038 store 6 ,mem_clk_offset 
+2423 68008031 fetch 1 ,mem_mode 
+2424 79207e01 set1 mode_master ,pdata 
+2425 60008031 store 1 ,mem_mode 
+2426 20402a88 call supervision_flush 
+2427 7854fc00 disable master 
+2428 78347c00 enable user 
+2429 20600000 rtn 
+
+init_rx_packet_flags:
+242a 44a1c008 bpatch patch08_3 ,mem_patch08 
+242b 7856fc00 disable match 
+242c 793f8005 set0 mark_loopback ,mark 
+242d 793f800a set0 mark_am_addr_broadcast ,mark 
+242e 793f8010 set0 mark_longpacket ,mark 
+242f 793f800f set0 mark_old_packet ,mark 
+2430 68008047 fetch 1 ,mem_arq 
+2431 793ffe05 set0 arqnx ,pdata 
+2432 79207e04 set1 flowx ,pdata 
+2433 60008047 store 1 ,mem_arq 
+2434 20600000 rtn 
+
+prepare_newconn:
+2435 44a24008 bpatch patch08_4 ,mem_patch08 
+2436 70001120 jam param_newconnto ,mem_newconnto_counter 
+2437 70004750 jam param_newconn_arq ,mem_arq 
+2438 680140bf fetch 2 ,mem_rx_window_init 
+2439 6001003e store 2 ,mem_rx_window 
+243a 1c427e00 deposit clkn_bt 
+243b 600240ca store 4 ,mem_next_btclk 
+243c 20780000 rtn clknt 
+243d 1d027e00 deposit clke_bt 
+243e 600240ca store 4 ,mem_next_btclk 
+243f 20600000 rtn 
+
+newconn_init:
+2440 44a2c008 bpatch patch08_5 ,mem_patch08 
+2441 20405d04 call init_lmp_reinit 
+2442 20402459 call new_conn_handle 
+2443 60008046 store 1 ,mem_conn_handle 
+2444 58000000 setarg 0 
+2445 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2446 58001c80 setarg param_supervision_to 
+2447 60010051 store 2 ,mem_supervision_to 
+2448 68008030 fetch 1 ,mem_state 
+2449 79207e00 set1 state_inconn ,pdata 
+244a 60008030 store 1 ,mem_state 
+244b 70004b00 jam 0 ,mem_op 
+244c 70004c00 jam 0 ,mem_state_map 
+244d 7000a000 jam 0 ,mem_lpm_current_mult 
+244e 20202a88 branch supervision_flush 
+
+clear_linkkey:
+244f 44a34008 bpatch patch08_6 ,mem_patch08 
+2450 18007e00 force 0 ,pdata 
+2451 600441be store 8 ,mem_link_key 
+2452 e0a40000 istore 8 ,contw 
+2453 204021c5 call clear_linkstate 
+2454 20202254 branch context_traverse_linkkey 
+
+new_conn_timeout:
+2455 68008011 fetch 1 ,mem_newconnto_counter 
+2456 1fe0ffff increase -1 ,pdata 
+2457 60008011 store 1 ,mem_newconnto_counter 
+2458 20600000 rtn 
+
+new_conn_handle:
+2459 6800c0cf fetch 1 ,mem_handle_num 
+245a 1fe0fe01 increase 1 ,pdata 
+245b 6000c0cf store 1 ,mem_handle_num 
+245c 20600000 rtn 
+
+quit_connection:
+245d 44a3c008 bpatch patch08_7 ,mem_patch08 
+245e 6800c1ce fetch 1 ,mem_hci_cmd 
+245f c001a462 beq hci_cmd_remote_name_req ,quit_connection_name 
+2460 68008048 fetch 1 ,mem_lmp_to_send 
+2461 c080a466 bne lmp_name_req ,quit_connection_cont 
+
+quit_connection_name:
+2462 20404d06 call cmd_check_plap 
+2463 2422a466 nbranch quit_connection_cont ,zero 
+2464 204021a4 call master_name_error 
+2465 7041ce00 jam 0 ,mem_hci_cmd 
+
+quit_connection_cont:
+2466 44a44009 bpatch patch09_0 ,mem_patch09 
+2467 204033af call app_disconn_reason_collect_bt 
+2468 204026e9 call sniff_exit 
+2469 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+246a 20407d86 call ui_ipc_send_event 
+246b 20405cf7 call init_lmp_work 
+246c 20404d6b call l2cap_init_work 
+246d 2040757d call sp_initialize 
+246e 68008030 fetch 1 ,mem_state 
+246f 793ffe00 set0 state_inconn 
+2470 60008030 store 1 ,mem_state 
+2471 70468100 jam 0 ,memui_reconnect_mode 
+2472 6800804c fetch 1 ,mem_state_map 
+2473 2fe18000 compare 0x0 ,pdata ,0xc0 
+2474 2020a476 branch quit_connection_not_clear_mark ,true 
+2475 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+quit_connection_not_clear_mark:
+2476 68008047 fetch 1 ,mem_arq 
+2477 c301a478 bbit0 wack ,quit_connection_not_clear_tx 
+
+quit_connection_not_clear_tx:
+2478 6800804b fetch 1 ,mem_op 
+2479 c4030000 rtnbit0 op_txl2cap 
+247a 793f8002 set0 mark_tx_l2cap ,mark 
+247b 20600000 rtn 
+
+slave_newconn_once:
+247c 44a4c009 bpatch patch09_1 ,mem_patch09 
+247d 68008174 fetch 1 ,extm_newconn_am_addr 
+247e 207a0000 rtn blank 
+247f 1fe20800 icopy am_addr 
+2480 20402514 call slave_conn_recv_packet 
+2481 24768000 nrtn match 
+2482 18000200 force type_null ,type 
+2483 20402757 call slave_conn_send_packet 
+2484 18827e00 deposit am_addr 
+2485 60008077 store 1 ,mem_amaddr 
+2486 18007e00 force 0 ,pdata 
+2487 60008174 store 1 ,extm_newconn_am_addr 
+2488 20600000 rtn 
+
+prepare_tx:
+2489 44a54009 bpatch patch09_2 ,mem_patch09 
+248a 68008030 fetch 1 ,mem_state 
+248b c3012496 bbit0 state_insco ,prepare_tx_not_sco 
+248c 18000207 force type_hv3 ,type 
+248d c583a495 bmark0 mark_esco ,prepare_tx_not_esco 
+248e 20402725 call check_esco_amaddr 
+248f 2420a496 nbranch prepare_tx_not_sco ,true 
+2490 20372496 branch prepare_tx_not_sco ,attempt 
+2491 204024c1 call set_wait_ack 
+2492 58000002 setarg 2 
+2493 600140c8 store 2 ,mem_retransmission_cnt 
+2494 20600000 rtn 
+
+prepare_tx_not_esco:
+2495 24770000 nrtn attempt 
+
+prepare_tx_not_sco:
+2496 44a5c009 bpatch patch09_3 ,mem_patch09 
+2497 20402243 call context_check_all_wack 
+2498 2422a4a7 nbranch prepare_tx_no_retransmit ,zero 
+2499 68008047 fetch 1 ,mem_arq 
+249a c301a4b0 bbit0 wack ,prepare_tx_pollnull 
+
+prepare_tx_retransmit:
+249b c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+249c 6800817f fetch 1 ,mem_debug_config 
+249d c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+249e 680140c8 fetch 2 ,mem_retransmission_cnt 
+249f 1fe0ffff increase -1 ,pdata 
+24a0 600140c8 store 2 ,mem_retransmission_cnt 
+24a1 203a24a5 branch prepare_tx_nomore_retransmit ,blank 
+24a2 6800c0c5 fetch 1 ,mem_last_type 
+24a3 98000200 iforce type 
+24a4 20600000 rtn 
+
+prepare_tx_nomore_retransmit:
+24a5 44a64009 bpatch patch09_4 ,mem_patch09 
+24a6 20402687 call clear_got_tx 
+
+prepare_tx_no_retransmit:
+24a7 20402725 call check_esco_amaddr 
+24a8 2020a4b0 branch prepare_tx_pollnull ,true 
+24a9 2040600a call send_lmp 
+24aa 203424be branch prepare_tx_sendlmp ,user 
+24ab 6800804b fetch 1 ,mem_op 
+24ac c28324c0 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+24ad c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+24ae 6800817f fetch 1 ,mem_debug_config 
+24af c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+
+prepare_tx_pollnull:
+24b0 18000201 force type_poll ,type 
+24b1 20748000 rtn master 
+24b2 18000200 force type_null ,type 
+24b3 20600000 rtn 
+
+prepare_tx_loopback:
+24b4 44a6c009 bpatch patch09_5 ,mem_patch09 
+24b5 68008019 fetch 1 ,mem_rx_type 
+24b6 98000200 iforce type 
+24b7 c1808000 rtnne 1 
+24b8 18000200 force type_null ,type 
+24b9 20600000 rtn 
+
+prepare_tx_txpat:
+24ba 68008158 fetch 1 ,test_mode_packet_type 
+24bb 1fe1020f and pdata ,0xf ,type 
+24bc 79200005 set1 mark_loopback ,mark 
+24bd 20600000 rtn 
+
+prepare_tx_sendlmp:
+24be 18000213 force type_lmp ,type 
+24bf 202024c1 branch set_wait_ack 
+
+prepare_tx_sendl2cap:
+24c0 204024ca call tx_l2cap_type 
+
+set_wait_ack:
+24c1 44a74009 bpatch patch09_6 ,mem_patch09 
+24c2 68088047 fetcht 1 ,mem_arq 
+24c3 79200403 set1 wack ,temp 
+24c4 60088047 storet 1 ,mem_arq 
+24c5 18227e00 deposit type 
+24c6 6000c0c5 store 1 ,mem_last_type 
+24c7 5800ffff setarg 0xffff 
+24c8 600140c8 store 2 ,mem_retransmission_cnt 
+24c9 20600000 rtn 
+
+tx_l2cap_type:
+24ca 44a7c009 bpatch patch09_7 ,mem_patch09 
+24cb 6800804c fetch 1 ,mem_state_map 
+24cc 2feffe05 isolate1 smap_edr ,pdata 
+24cd 680141dc fetch 2 ,mem_tx_len 
+24ce 2020a4e0 branch tx_l2cap_type_edr ,true 
+24cf 18000203 force type_dm1 ,type 
+24d0 1fe67c11 sub pdata ,17 ,null 
+24d1 20610000 rtn positive 
+24d2 18000204 force type_dh1 ,type 
+24d3 1fe67c1b sub pdata ,27 ,null 
+24d4 20610000 rtn positive 
+24d5 1800020a force type_dm3 ,type 
+24d6 1fe67c79 sub pdata ,121 ,null 
+24d7 20610000 rtn positive 
+24d8 1800020b force type_dh3 ,type 
+24d9 1fe67cb7 sub pdata ,183 ,null 
+24da 20610000 rtn positive 
+24db 1800020e force type_dm5 ,type 
+24dc 1fe67ce0 sub pdata ,224 ,null 
+24dd 20610000 rtn positive 
+24de 1800020f force type_dh5 ,type 
+24df 20600000 rtn 
+
+tx_l2cap_type_edr:
+24e0 18000203 force type_dm1 ,type 
+24e1 1fe67c11 sub pdata ,17 ,null 
+24e2 20610000 rtn positive 
+24e3 18000204 force type_dh1 ,type 
+24e4 1fe67c36 sub pdata ,54 ,null 
+24e5 20610000 rtn positive 
+24e6 1800020a force type_dm3 ,type 
+24e7 d840016f arg 367 ,temp 
+24e8 98467c00 isub temp ,null 
+24e9 24610000 nrtn positive 
+24ea 1800020e force type_dm5 ,type 
+24eb d84002a7 arg 679 ,temp 
+24ec 98467c00 isub temp ,null 
+24ed 24610000 nrtn positive 
+24ee 1800020f force type_dh5 ,type 
+24ef 20600000 rtn 
+
+slave_receive_master_slot:
+24f0 68008030 fetch 1 ,mem_state 
+24f1 c300a4f5 bbit0 state_insniff ,slave_receive_notsniff 
+24f2 68010032 fetch 2 ,mem_tsniff 
+24f3 203a24f5 branch slave_receive_notsniff ,blank 
+24f4 243724f7 nbranch slave_receive_sniff ,attempt 
+
+slave_receive_notsniff:
+24f5 20402a4f call rf_setup_time_master_slot 
+
+slave_receive_access:
+24f6 1d00c201 add clke_bt ,1 ,bt_clk 
+
+slave_receive_sniff:
+24f7 78287c00 enable swfine 
+24f8 6801003e fetch 2 ,mem_rx_window 
+24f9 1fe37e00 rshift pdata ,pdata 
+24fa d8400500 arg param_pll_setup ,temp 
+24fb 9840fe00 iadd temp ,pdata 
+24fc 20402a24 call ahead_window 
+24fd 204028ea call fetch_extm_bt_adr 
+24fe 18004803 force 0x03 ,freq_mode 
+24ff 204028cc call rx_radio_freq 
+2500 2040242a call init_rx_packet_flags 
+2501 204029f1 call prep_crypt 
+2502 44a8400a bpatch patch0a_0 ,mem_patch0a 
+2503 6801003e fetch 2 ,mem_rx_window 
+2504 1fe37e00 rshift pdata ,pdata 
+2505 20402a24 call ahead_window 
+2506 204029eb call start_receiver 
+2507 7826fc00 enable decode_fec0 
+2508 6801003e fetch 2 ,mem_rx_window 
+2509 d84003bb arg param_clke_cal ,temp 
+250a 9840b600 iadd temp ,stop_watch 
+250b 37c18400 correlate null ,timeout 
+250c 1b420400 copy clke ,temp 
+250d 600b009a storet 6 ,mem_sync_clke 
+250e 7846fc00 disable decode_fec0 
+250f 246c0000 nrtn sync 
+2510 dd2003bb arg param_clke_cal ,clke_rt 
+2511 1c225000 copy bt_clk ,clke_bt 
+2512 2035ab05 branch lpm_adjust_clk ,wake 
+2513 20600000 rtn 
+
+slave_conn_recv_packet:
+2514 44a8c00a bpatch patch0a_1 ,mem_patch0a 
+2515 204024f0 call slave_receive_master_slot 
+2516 242c28f9 nbranch shutdown_radio ,sync 
+2517 204029bb call save_rssi 
+2518 c588a51c bmark0 mark_testmode ,receive_packet 
+2519 680100f6 fetch 2 ,mem_tst_pktcnt_sync 
+251a 1fe0fe01 increase 1 ,pdata 
+251b 600100f6 store 2 ,mem_tst_pktcnt_sync 
+
+receive_packet:
+251c 1c230400 rshift bt_clk ,temp 
+251d 18419c40 or temp ,0x40 ,white_init 
+
+receive_packet_whitened:
+251e 44a9400a bpatch patch0a_2 ,mem_patch0a 
+251f 7823fc00 enable enable_white 
+2520 78257c00 enable enable_hec 
+2521 7825fc00 enable decode_fec1 
+2522 09800003 parse demod ,bucket ,3 
+2523 198cfe00 rshift8 pwindow ,pdata 
+2524 6000815d store 1 ,mem_temp_am_addr 
+2525 09800004 parse demod ,bucket ,4 
+2526 08008007 inject bucket ,7 
+2527 19827e00 copy pwindow ,pdata 
+2528 60008019 store 1 ,mem_rx_type 
+2529 09800003 parse demod ,bucket ,3 
+252a 198cfe00 rshift8 pwindow ,pdata 
+252b 6000815e store 1 ,mem_temp_arq 
+252c 68008019 fetch 1 ,mem_rx_type 
+252d 1fe67c03 sub pdata ,3 ,null 
+252e 20212533 branch receive_packet_noedr ,positive 
+252f c003a533 beq 7 ,receive_packet_noedr 
+2530 6800804c fetch 1 ,mem_state_map 
+2531 2feffe05 isolate1 smap_edr ,pdata 
+2532 7920aa01 setflag true ,psk ,radio_ctrl 
+
+receive_packet_noedr:
+2533 44a9c00a bpatch patch0a_3 ,mem_patch0a 
+2534 09800008 parse demod ,bucket ,8 
+2535 7845fc00 disable decode_fec1 
+2536 78457c00 disable enable_hec 
+2537 20232631 branch error_header ,crc_failed 
+2538 c588a53c bmark0 mark_testmode ,receive_packet_amchk 
+2539 680100f8 fetch 2 ,mem_tst_pktcnt_hec 
+253a 1fe0fe01 increase 1 ,pdata 
+253b 600100f8 store 2 ,mem_tst_pktcnt_hec 
+
+receive_packet_amchk:
+253c 44aa400a bpatch patch0a_4 ,mem_patch0a 
+253d 6800815d fetch 1 ,mem_temp_am_addr 
+253e 2fe00e00 compare 0 ,pdata ,0x07 
+253f 7920800a setflag true ,mark_am_addr_broadcast ,mark 
+2540 2020a54c branch am_addr_ok ,true 
+2541 a8800e00 icompare 0x07 ,am_addr 
+2542 2020a54b branch am_addr_match ,true 
+2543 c583a64d bmark0 mark_esco ,end_of_packet 
+2544 680880b0 fetcht 1 ,mem_saved_amaddr 
+2545 a8400e00 icompare 0x7 ,temp 
+2546 2420a64d nbranch end_of_packet ,true 
+2547 68008047 fetch 1 ,mem_arq 
+2548 793ffe05 set0 arqnx ,pdata 
+2549 79207e04 set1 flowx ,pdata 
+254a 60008047 store 1 ,mem_arq 
+
+am_addr_match:
+254b 7836fc00 enable match 
+
+am_addr_ok:
+254c 44aac00a bpatch patch0a_5 ,mem_patch0a 
+254d 68008019 fetch 1 ,mem_rx_type 
+254e 1fe20200 icopy type 
+254f c505255b bmark1 mark_am_addr_broadcast ,arqn_bypass 
+2550 6808815e fetcht 1 ,mem_temp_arq 
+2551 68008047 fetch 1 ,mem_arq 
+2552 793ffe00 set0 flow ,pdata 
+2553 284ffe00 isolate1 flow ,temp 
+2554 7920fe00 setflag true ,flow ,pdata 
+2555 284ffe01 isolate1 arqn ,temp 
+2556 7920fe01 setflag true ,arqn ,pdata 
+2557 60008047 store 1 ,mem_arq 
+2558 284c0001 isolate0 arqn ,temp 
+2559 2020a55b branch arqn_bypass ,true 
+255a 20402687 call clear_got_tx 
+
+arqn_bypass:
+255b 44ab400a bpatch patch0a_6 ,mem_patch0a 
+255c d8400000 arg 0 ,temp 
+255d 20402a1c call reserve_slot 
+255e 18217e0f and type ,0xf ,pdata 
+255f c000a587 beq type_poll ,process_poll 
+2560 c000264d beq type_null ,end_of_packet 
+2561 c0012659 beq type_fhs ,process_fhs 
+2562 6808815e fetcht 1 ,mem_temp_arq 
+2563 68008047 fetch 1 ,mem_arq 
+2564 a8400800 icompare 0x04 ,temp 
+2565 2420a569 nbranch rx_type_dispatch ,true 
+2566 c5852568 bmark0 mark_am_addr_broadcast ,failed_seqn 
+2567 c303a569 bbit0 bcast1 ,rx_type_dispatch 
+
+failed_seqn:
+2568 7920000f set1 mark_old_packet ,mark 
+
+rx_type_dispatch:
+2569 44abc00a bpatch patch0a_7 ,mem_patch0a 
+256a 18227e00 deposit type 
+256b c001a589 beq type_dm1 ,process_dm1 
+256c c002258d beq type_dh1 ,process_dh1 
+256d c003a578 beq type_hv3 ,process_hev 
+256e c004258c beq type_3dh1 ,process_3dh1 
+256f d8400004 arg 4 ,temp 
+2570 20402a1c call reserve_slot 
+2571 c0052588 beq type_dm3 ,process_dm3 
+2572 c005a58b beq type_dh3 ,process_dh3 
+2573 d8400008 arg 8 ,temp 
+2574 20402a1c call reserve_slot 
+2575 c0072588 beq type_dm5 ,process_dm5 
+2576 c007a58b beq type_dh5 ,process_dh5 
+2577 20600000 rtn 
+
+process_hev:
+2578 44ac400b bpatch patch0b_0 ,mem_patch0b 
+2579 7826fc00 enable decode_fec0 
+257a 7824fc00 enable enable_crc 
+257b 78277c00 enable encrypt 
+257c d8a000d1 arg mem_sco_ibuf ,contw 
+257d 1800721e force 30 ,loopcnt 
+
+process_hev_loop:
+257e 09800008 parse demod ,bucket ,8 
+257f 19897e00 rshift3 pwindow ,pdata 
+2580 e0a08000 istore 1 ,contw 
+2581 c200257e loop process_hev_loop 
+2582 c583a64d bmark0 mark_esco ,end_of_packet 
+2583 09800010 parse demod ,bucket ,16 
+2584 7d230008 nsetflag crc_failed ,mark_esco_rxok ,mark 
+2585 2023263d branch error_payload ,crc_failed 
+2586 20202620 branch ack_payload 
+
+process_poll:
+2587 2020264d branch end_of_packet 
+
+process_dm3:
+
+process_dm5:
+2588 79200010 set1 mark_longpacket ,mark 
+
+process_dm1:
+2589 78267c00 enable decode_fec2 
+258a 2020258e branch process_dmh 
+
+process_dh3:
+
+process_dh5:
+258b 79200010 set1 mark_longpacket ,mark 
+
+process_3dh1:
+258c 79202a02 set1 psk3m ,radio_ctrl 
+
+process_dh1:
+258d 7826fc00 enable decode_fec0 
+
+process_dmh:
+258e 44acc00b bpatch patch0b_1 ,mem_patch0b 
+258f c500a64d bmark1 mark_rxbuf_inuse ,end_of_packet 
+2590 2aac0001 isolate0 psk ,radio_ctrl 
+2591 2020a59a branch process_dmh_noedr ,true 
+2592 7843fc00 disable enable_white 
+2593 7826fc00 enable decode_fec0 
+2594 78467c00 disable decode_fec2 
+2595 1c409602 add clkn_bt ,2 ,timeup 
+2596 34530400 correlate clkn_bt ,meet 
+2597 242c263d nbranch error_payload ,sync 
+2598 79200010 set1 mark_longpacket ,mark 
+2599 7823fc00 enable enable_white 
+
+process_dmh_noedr:
+259a 44ad400b bpatch patch0b_2 ,mem_patch0b 
+259b 78277c00 enable encrypt 
+259c 7824fc00 enable enable_crc 
+259d 09800003 parse demod ,bucket ,3 
+259e 198cfe00 rshift8 pwindow ,pdata 
+259f 60008180 store 1 ,mem_lch_code 
+25a0 09800005 parse demod ,bucket ,5 
+25a1 c50825a5 bmark1 mark_longpacket ,process_dmh_long 
+25a2 19897200 rshift3 pwindow ,loopcnt 
+25a3 1f297200 rshift3 loopcnt ,loopcnt 
+25a4 202025a8 branch process_dmh_common 
+
+process_dmh_long:
+25a5 09800005 parse demod ,bucket ,5 
+25a6 19837200 rshift pwindow ,loopcnt 
+25a7 09800003 parse demod ,bucket ,3 
+
+process_dmh_common:
+25a8 44adc00b bpatch patch0b_3 ,mem_patch0b 
+25a9 1f227e00 deposit loopcnt 
+25aa 6001015f store 2 ,mem_len 
+25ab 203a25e8 branch process_dmh_data_end ,blank 
+25ac 9ea67c00 isub mask3ff ,null 
+25ad 2021263d branch error_payload ,positive 
+25ae 44ae400b bpatch patch0b_4 ,mem_patch0b 
+25af 793f8000 set0 mark_fhs_eir ,mark 
+25b0 68008180 fetch 1 ,mem_lch_code 
+25b1 1fe17e03 and_into 0x03 ,pdata 
+25b2 d8a00551 arg mem_rxbuf ,contw 
+25b3 c001a5ba beq llid_lmp ,process_lmp 
+25b4 c508a5e4 bmark1 mark_testmode ,process_dmh_data 
+25b5 68008180 fetch 1 ,mem_lch_code 
+25b6 1fe17e03 and_into 0x03 ,pdata 
+25b7 c00125bf beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+25b8 c000a5d3 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+25b9 2020263d branch error_payload 
+
+process_lmp:
+25ba 6801015f fetch 2 ,mem_len 
+25bb 1fe67c70 sub pdata ,0x70 ,null 
+25bc 2421263d nbranch error_payload ,positive 
+25bd c507a620 bmark1 mark_old_packet ,ack_payload 
+25be 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_start_pkt:
+25bf 44aec00b bpatch patch0b_5 ,mem_patch0b 
+25c0 c507a620 bmark1 mark_old_packet ,ack_payload 
+25c1 6801015f fetch 2 ,mem_len 
+25c2 d84002e0 arg 0x2e0 ,temp 
+25c3 98467c00 isub temp ,null 
+25c4 2021263d branch error_payload ,positive 
+25c5 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+25c6 c30025c9 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+25c7 c300a5ce bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+25c8 2020264d branch end_of_packet 
+
+process_dmh_data_into_buff1:
+25c9 70026101 jam 1 ,mem_l2cap_rxbuff_new 
+25ca 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25cb c080264d bne 0 ,end_of_packet 
+25cc d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25cd 202025e4 branch process_dmh_data 
+
+process_dmh_data_into_buff2:
+25ce 70026102 jam 2 ,mem_l2cap_rxbuff_new 
+25cf 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25d0 c080264d bne 0 ,end_of_packet 
+25d1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25d2 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt:
+25d3 44af400b bpatch patch0b_6 ,mem_patch0b 
+25d4 c507a620 bmark1 mark_old_packet ,ack_payload 
+25d5 6801015f fetch 2 ,mem_len 
+25d6 d84002e0 arg 0x2e0 ,temp 
+25d7 98467c00 isub temp ,null 
+25d8 2021263d branch error_payload ,positive 
+25d9 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25da c000a5dd beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+25db c00125e1 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+25dc 2020264d branch end_of_packet 
+
+process_dmh_data_l2cap_continue_pkt1:
+25dd d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25de 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25df 98a08a00 iadd contw ,contw 
+25e0 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt2:
+25e1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25e2 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25e3 98a08a00 iadd contw ,contw 
+
+process_dmh_data:
+25e4 09800008 parse demod ,bucket ,8 
+25e5 19897e00 rshift3 pwindow ,pdata 
+25e6 e0a08000 istore 1 ,contw 
+25e7 c20025e4 loop process_dmh_data 
+
+process_dmh_data_end:
+25e8 44afc00b bpatch patch0b_7 ,mem_patch0b 
+25e9 09800010 parse demod ,bucket ,16 
+25ea 20232637 branch error_payload_crc ,crc_failed 
+25eb 6800c363 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+25ec c000a64d beq l2cap_flow_ctrl_enable ,end_of_packet 
+25ed c508a60d bmark1 mark_testmode ,process_dmh_cont 
+25ee c507a64a bmark1 mark_old_packet ,redundant_payload 
+25ef 68008180 fetch 1 ,mem_lch_code 
+25f0 2fe00603 compare 3 ,pdata ,3 
+25f1 2020a60d branch process_dmh_cont ,true 
+25f2 6801015f fetch 2 ,mem_len 
+25f3 203a260d branch process_dmh_cont ,blank 
+25f4 44b0400c bpatch patch0c_0 ,mem_patch0c 
+25f5 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25f6 c000a5f9 beq 1 ,process_l2cap_pass_crc_buff1 
+25f7 c0012603 beq 2 ,process_l2cap_pass_crc_buff2 
+25f8 20202a8c branch assert 
+
+process_l2cap_pass_crc_buff1:
+25f9 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25fa 6809015f fetcht 2 ,mem_len 
+25fb 9840fe00 iadd temp ,pdata 
+25fc 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+25fd c0002a8c beq 0 ,assert 
+25fe 68091000 fetcht 2 ,mem_l2cap_rxbuff1 
+25ff 18408404 increase 4 ,temp 
+2600 98467c00 isub temp ,null 
+2601 2042a747 call l2cap_buff1_inuse ,zero 
+2602 2020260d branch process_dmh_cont 
+
+process_l2cap_pass_crc_buff2:
+2603 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+2604 6809015f fetcht 2 ,mem_len 
+2605 9840fe00 iadd temp ,pdata 
+2606 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2607 c0002a8c beq 0 ,assert 
+2608 68091400 fetcht 2 ,mem_l2cap_rxbuff2 
+2609 18408404 add temp ,4 ,temp 
+260a 98467c00 isub temp ,null 
+260b 2042a74b call l2cap_buff2_inuse ,zero 
+260c 2020260d branch process_dmh_cont 
+
+process_dmh_cont:
+260d 44b0c00c bpatch patch0c_1 ,mem_patch0c 
+260e 6808804c fetcht 1 ,mem_state_map 
+260f 68008180 fetch 1 ,mem_lch_code 
+2610 2fe00603 compare 3 ,pdata ,0x03 
+2611 79208406 setflag true ,smap_rxlmp ,temp 
+2612 7d208407 nsetflag true ,smap_rxl2cap ,temp 
+2613 6008804c storet 1 ,mem_state_map 
+2614 2420a616 nbranch process_dmh_cont_rxbuf_not_use ,true 
+2615 79200001 set1 mark_rxbuf_inuse ,mark 
+
+process_dmh_cont_rxbuf_not_use:
+2616 c588a620 bmark0 mark_testmode ,ack_payload 
+2617 284ffe06 isolate1 smap_rxlmp ,temp 
+2618 2020a620 branch ack_payload ,true 
+2619 680100fa fetch 2 ,mem_tst_pktcnt_crc 
+261a 1fe0fe01 increase 1 ,pdata 
+261b 600100fa store 2 ,mem_tst_pktcnt_crc 
+261c 79200005 set1 mark_loopback ,mark 
+261d 793f8407 set0 smap_rxl2cap ,temp 
+261e 793f8001 set0 mark_rxbuf_inuse ,mark 
+261f 6008804c storet 1 ,mem_state_map 
+
+ack_payload:
+2620 44b1400c bpatch patch0c_2 ,mem_patch0c 
+2621 6808815e fetcht 1 ,mem_temp_arq 
+2622 68008047 fetch 1 ,mem_arq 
+2623 79207e05 set1 arqnx ,pdata 
+2624 284ffe02 isolate1 seqn ,temp 
+2625 7920fe02 setflag true ,seqn ,pdata 
+2626 280ffe0a isolate1 mark_am_addr_broadcast ,mark 
+2627 7920fe07 setflag true ,bcast1 ,pdata 
+2628 60008047 store 1 ,mem_arq 
+2629 6801015f fetch 2 ,mem_len 
+262a 243a264d nbranch end_of_packet ,blank 
+262b 6800804c fetch 1 ,mem_state_map 
+262c 793ffe07 set0 smap_rxl2cap ,pdata 
+262d 6000804c store 1 ,mem_state_map 
+262e 68008180 fetch 1 ,mem_lch_code 
+262f 2fe00e01 compare 0x01 ,pdata ,0x07 
+2630 2020264d branch end_of_packet 
+
+error_header:
+2631 44b1c00c bpatch patch0c_3 ,mem_patch0c 
+2632 7856fc00 disable match 
+2633 6801001a fetch 2 ,mem_rx_hec_err 
+2634 1fe0fe01 increase 1 ,pdata 
+2635 6001001a store 2 ,mem_rx_hec_err 
+2636 2020264d branch end_of_packet 
+
+error_payload_crc:
+2637 6801001c fetch 2 ,mem_rx_crc_err 
+2638 1fe0fe01 increase 1 ,pdata 
+2639 6001001c store 2 ,mem_rx_crc_err 
+263a 2040263e call discard_pkt 
+263b c588a63d bmark0 mark_testmode ,error_payload 
+263c 79200005 set1 mark_loopback ,mark 
+
+error_payload:
+263d 2020264d branch end_of_packet 
+
+discard_pkt:
+263e 44b2400c bpatch patch0c_4 ,mem_patch0c 
+263f 68008180 fetch 1 ,mem_lch_code 
+2640 2fe00603 compare 3 ,pdata ,0x03 
+2641 2420a646 nbranch discard_pkt_l2cap ,true 
+
+discard_pkt_lmp:
+2642 6808804c fetcht 1 ,mem_state_map 
+2643 793f8406 set0 smap_rxlmp ,temp 
+2644 6008804c storet 1 ,mem_state_map 
+2645 20600000 rtn 
+
+discard_pkt_l2cap:
+2646 6808804c fetcht 1 ,mem_state_map 
+2647 793f8407 set0 smap_rxl2cap ,temp 
+2648 6008804c storet 1 ,mem_state_map 
+2649 20204c0b branch h4_send_acl_trigger_clear 
+
+redundant_payload:
+264a 68008047 fetch 1 ,mem_arq 
+264b 79207e05 set1 arqnx ,pdata 
+264c 60008047 store 1 ,mem_arq 
+
+end_of_packet:
+264d 44b2c00c bpatch patch0c_5 ,mem_patch0c 
+264e 784efc00 disable encode_fec0 
+264f 784e7c00 disable encode_fec2 
+2650 7846fc00 disable decode_fec0 
+2651 78467c00 disable decode_fec2 
+2652 7844fc00 disable enable_crc 
+2653 78477c00 disable encrypt 
+2654 7843fc00 disable enable_white 
+2655 2030a8f9 branch shutdown_radio ,is_rx 
+2656 37d38200 until null ,tx_clear 
+2657 20000064 nop 100 
+2658 202028f9 branch shutdown_radio 
+
+process_fhs:
+2659 44b3400c bpatch patch0c_6 ,mem_patch0c 
+265a 7824fc00 enable enable_crc 
+265b 78267c00 enable decode_fec2 
+265c 09800048 parse demod ,bucket ,72 
+265d 2feffe3a isolate1 58 ,pdata 
+265e 79208000 setflag true ,mark_fhs_eir ,mark 
+265f 1c020400 copy bt_adr ,temp 
+2660 57e04000 ialigned bt_adr 
+2661 57e03c00 ialigned fhs0 
+2662 782afc00 pulse recalc 
+2663 380bffff setsect 2 ,0xfffff 
+2664 380cffff setsect 3 ,0x0ffff 
+2665 20000020 nop 32 
+2666 29a80000 iverify fhs_parity 
+2667 1d827e00 deposit lap 
+2668 60018178 store 3 ,extm_lap 
+2669 1da27e00 deposit uap 
+266a 6000817b store 1 ,extm_uap 
+266b 18424000 copy temp ,bt_adr 
+266c 2020a66e branch fhs_parity_ok ,true 
+266d 2020263d branch error_payload 
+
+fhs_parity_ok:
+266e 44b3c00c bpatch patch0c_7 ,mem_patch0c 
+266f 09800048 parse demod ,bucket ,72 
+2670 57e03e00 ialigned fhs1 
+2671 57e00800 ialigned am_addr 
+2672 57e05c00 ialigned nap 
+2673 57e02400 ialigned regb 
+2674 18007e00 force 0 ,pdata 
+2675 09800010 parse demod ,bucket ,16 
+2676 2023263d branch error_payload ,crc_failed 
+2677 5ffffffc setarg 0x0ffffffc 
+2678 9a417e00 iand regb ,pdata 
+2679 60020165 store 4 ,mem_clke_bt 
+267a 1ba27e00 deposit fhs_class 
+267b 60018175 store 3 ,extm_class 
+267c 1b827e00 deposit fhs_misc 
+267d 60008173 store 1 ,extm_fhs_misc 
+267e 18827e00 deposit am_addr 
+267f 60008174 store 1 ,extm_newconn_am_addr 
+2680 1dc27e00 deposit nap 
+2681 6001017c store 2 ,extm_nap 
+2682 1c227e00 deposit bt_clk 
+2683 08008220 inject rxf ,32 
+2684 28201e02 compare type_fhs ,type ,0x0f 
+2685 7920800b setflag true ,mark_fhs_already_good ,mark 
+2686 2020264d branch end_of_packet 
+
+clear_got_tx:
+2687 44b4400d bpatch patch0d_0 ,mem_patch0d 
+2688 68008047 fetch 1 ,mem_arq 
+2689 c4018000 rtnbit0 wack 
+268a 793ffe03 set0 wack ,pdata 
+268b 79407e06 setflip seqnx ,pdata 
+268c 60008047 store 1 ,mem_arq 
+268d 6800c0c5 fetch 1 ,mem_last_type 
+268e c009a69c beq type_lmp ,clear_got_txlmp 
+268f c1038000 rtneq type_hv3 
+2690 6800804b fetch 1 ,mem_op 
+2691 c4030000 rtnbit0 op_txl2cap ,pdata 
+2692 793ffe06 set0 op_txl2cap ,pdata 
+2693 79207e07 set1 op_pkt_comp ,pdata 
+2694 6000804b store 1 ,mem_op 
+2695 793f8002 set0 mark_tx_l2cap ,mark 
+2696 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+2697 247a0000 nrtn blank 
+2698 6800804b fetch 1 ,mem_op 
+2699 793ffe07 set0 op_pkt_comp ,pdata 
+269a 6000804b store 1 ,mem_op 
+269b 2020525d branch l2cap_malloc_free 
+
+clear_got_txlmp:
+269c 44b4c00d bpatch patch0d_1 ,mem_patch0d 
+269d 680084b7 fetch 1 ,mem_lmo_header_opcode 
+269e 1fe37e00 rshift pdata ,pdata 
+269f c008a6b8 beq lmp_start_encryption_req ,start_encryption 
+26a0 c00926c0 beq lmp_stop_encryption_req ,stop_encryption 
+26a1 c00c26e9 beq lmp_unsniff_req ,sniff_exit 
+26a2 c03fa6a8 beq lmp_escape ,clear_lmp_escape 
+26a3 c1818000 rtnne lmp_accepted 
+26a4 680084b8 fetch 1 ,mem_lmo_payload 
+26a5 c015a6b0 beq lmp_sco_link_req ,sco_link_req_by_slave 
+26a6 c008a6ab beq lmp_start_encryption_req ,clear_send_setup_complete 
+26a7 20600000 rtn 
+
+clear_lmp_escape:
+26a8 680084b8 fetch 1 ,mem_lmo_payload 
+26a9 79207e07 set1 7 ,pdata 
+26aa 20600000 rtn 
+
+clear_send_setup_complete:
+26ab 20748000 rtn master 
+26ac 68008030 fetch 1 ,mem_state 
+26ad c3820000 rtnbit1 state_conn_comp 
+26ae 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+26af 20600000 rtn 
+
+sco_link_req_by_slave:
+26b0 20748000 rtn master 
+26b1 68008031 fetch 1 ,mem_mode 
+26b2 2feffe04 isolate1 send_sco_when_slave ,pdata 
+26b3 2020a6b5 branch clean_mem_mode ,true 
+26b4 20600000 rtn 
+
+clean_mem_mode:
+26b5 793ffe04 set0 send_sco_when_slave ,pdata 
+26b6 60008031 store 1 ,mem_mode 
+26b7 20600000 rtn 
+
+start_encryption:
+26b8 44b5400d bpatch patch0d_2 ,mem_patch0d 
+26b9 6800804c fetch 1 ,mem_state_map 
+26ba 79207e02 set1 smap_encryption ,pdata 
+26bb 6000804c store 1 ,mem_state_map 
+26bc 70801101 jam 1 ,core_encrypt 
+26bd 68008030 fetch 1 ,mem_state 
+26be 2feffe04 isolate1 state_conn_comp ,pdata 
+26bf 20600000 rtn 
+
+stop_encryption:
+26c0 44b5c00d bpatch patch0d_3 ,mem_patch0d 
+26c1 6800804c fetch 1 ,mem_state_map 
+26c2 793ffe02 set0 smap_encryption ,pdata 
+26c3 6000804c store 1 ,mem_state_map 
+26c4 70801100 jam 0 ,core_encrypt 
+26c5 20600000 rtn 
+
+sniff_init:
+26c6 44b6400d bpatch patch0d_4 ,mem_patch0d 
+26c7 1c427e00 copy clkn_bt ,pdata 
+26c8 6002420c store 4 ,mem_lpm_delay_after_sniff 
+26c9 1c40a203 add clkn_bt ,3 ,rega 
+26ca 2034a6cc branch sniff_init_master ,master 
+26cb 1d00a203 add clke_bt ,3 ,rega 
+
+sniff_init_master:
+26cc 68090032 fetcht 2 ,mem_tsniff 
+26cd 1a227e00 deposit rega 
+26ce 793ffe1b set0 27 ,pdata 
+26cf 9846fc00 idiv temp 
+26d0 68010075 fetch 2 ,mem_dsniff 
+26d1 20407f86 call wait_div_end 
+26d2 18072600 remainder regc 
+26d3 9a667e00 isub regc ,pdata 
+26d4 202126d6 branch sniff_init_nowrap ,positive 
+26d5 9840fe00 iadd temp ,pdata 
+
+sniff_init_nowrap:
+26d6 9a20fe00 iadd rega ,pdata 
+26d7 60020034 store 4 ,mem_sniff_anchor 
+26d8 70455b00 jam switch_flag_init ,mem_switch_flag 
+26d9 68008030 fetch 1 ,mem_state 
+26da 79207e01 set1 state_insniff ,pdata 
+26db 60008030 store 1 ,mem_state 
+26dc 68008073 fetch 1 ,mem_sniff_attempt 
+26dd 6000808a store 1 ,mem_current_sniff_attempt 
+26de 58000000 setarg 0 
+26df 6001c169 store 3 ,mem_sniff_rcv 
+26e0 6001c16c store 3 ,mem_sniff_lost 
+26e1 6000c159 store 1 ,mem_sniff_unint_lost 
+26e2 700a990b jam bt_evt_enter_sniff ,mem_fifo_temp 
+26e3 20407d86 call ui_ipc_send_event 
+26e4 680140c1 fetch 2 ,mem_rx_window_sniff 
+26e5 6001003e store 2 ,mem_rx_window 
+26e6 24748000 nrtn master 
+26e7 18808fff add am_addr ,-1 ,queue 
+26e8 20600000 rtn 
+
+sniff_exit:
+26e9 44b6c00d bpatch patch0d_5 ,mem_patch0d 
+26ea 68008030 fetch 1 ,mem_state 
+26eb c4008000 rtnbit0 state_insniff 
+26ec 793ffe01 set0 state_insniff ,pdata 
+26ed 60008030 store 1 ,mem_state 
+26ee 680140bf fetch 2 ,mem_rx_window_init 
+26ef 6001003e store 2 ,mem_rx_window 
+26f0 7855fc00 disable wake 
+26f1 700a990c jam bt_evt_exit_sniff ,mem_fifo_temp 
+26f2 20207d86 branch ui_ipc_send_event 
+
+check_attempt:
+26f3 44b7400d bpatch patch0d_6 ,mem_patch0d 
+26f4 78377c00 enable attempt 
+26f5 68008030 fetch 1 ,mem_state 
+26f6 c280a700 bbit1 state_insniff ,check_attempt_sniff 
+26f7 c6088000 rtnmark1 mark_testmode 
+26f8 68008047 fetch 1 ,mem_arq 
+26f9 c3818000 rtnbit1 wack 
+26fa 68008048 fetch 1 ,mem_lmp_to_send 
+26fb 247a0000 nrtn blank 
+26fc 6800804b fetch 1 ,mem_op 
+26fd c3830000 rtnbit1 op_txl2cap 
+
+check_attempt_nomore:
+26fe 18007e00 force 0 ,pdata 
+26ff 20600000 rtn 
+
+check_attempt_sniff:
+2700 c301270f bbit0 state_insco ,check_attempt_not_sco 
+2701 6800808a fetch 1 ,mem_current_sniff_attempt 
+2702 c0012706 beq 2 ,check_attempt_sniff_restore_sco 
+2703 68008047 fetch 1 ,mem_arq 
+2704 c281a718 bbit1 wack ,check_attempt_notimeout 
+2705 c5842718 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+
+check_attempt_sniff_restore_sco:
+2706 2434a718 nbranch check_attempt_notimeout ,master 
+2707 68008048 fetch 1 ,mem_lmp_to_send 
+2708 243a2718 nbranch check_attempt_notimeout ,blank 
+
+check_attempt_sco_master:
+2709 680080ef fetch 1 ,mem_sco_poll 
+270a 1fe0ffff increase -1 ,pdata 
+270b 600080ef store 1 ,mem_sco_poll 
+270c 243a26fe nbranch check_attempt_nomore ,blank 
+270d 7000ef10 jam param_sco_poll ,mem_sco_poll 
+270e 20202718 branch check_attempt_notimeout 
+
+check_attempt_not_sco:
+270f 6800808a fetch 1 ,mem_current_sniff_attempt 
+2710 c080a718 bne 1 ,check_attempt_notimeout 
+2711 6800808b fetch 1 ,mem_current_sniff_timeout 
+2712 203a2718 branch check_attempt_notimeout ,blank 
+2713 1fe0ffff increase -1 ,pdata 
+2714 6000808b store 1 ,mem_current_sniff_timeout 
+2715 68008047 fetch 1 ,mem_arq 
+2716 c3818000 rtnbit1 wack 
+2717 24768000 nrtn match 
+
+check_attempt_notimeout:
+2718 6800808a fetch 1 ,mem_current_sniff_attempt 
+2719 1fe0ffff increase -1 ,pdata 
+271a 6000808a store 1 ,mem_current_sniff_attempt 
+271b 20600000 rtn 
+
+sniff_check_window:
+271c 44b7c00d bpatch patch0d_7 ,mem_patch0d 
+271d 78487c00 disable swfine 
+271e 18423600 copy temp ,stop_watch 
+271f 20402260 call context_search_sniff_window 
+2720 78547c00 disable user 
+2721 24628000 nrtn zero 
+2722 18003600 force 0 ,stop_watch 
+2723 78347c00 enable user 
+2724 20600000 rtn 
+
+check_esco_amaddr:
+2725 6800c158 fetch 1 ,mem_esco_addr 
+2726 a881fe00 icompare 0xff ,am_addr 
+2727 20600000 rtn 
+
+parse_l2cap:
+2728 44b8400e bpatch patch0e_0 ,mem_patch0e 
+2729 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+parse_l2cap_cont:
+272a 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+272b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+272c 207a0000 rtn blank 
+272d 2feffe00 isolate1 l2cap_inuse_buff1 ,pdata 
+272e d8c01000 arg mem_l2cap_rxbuff1 ,contr 
+272f 2040cd79 call process_rx_l2cap_pkt ,true 
+2730 44b8c00e bpatch patch0e_1 ,mem_patch0e 
+2731 6800826a fetch 1 ,mem_l2cap_rx_done 
+2732 c000a73b beq l2cap_rx_done ,parse_l2cap_release_buff1 
+2733 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+2734 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2735 c4008000 rtnbit0 l2cap_inuse_buff2 
+2736 d8c01400 arg mem_l2cap_rxbuff2 ,contr 
+2737 20404d79 call process_rx_l2cap_pkt 
+2738 6800826a fetch 1 ,mem_l2cap_rx_done 
+2739 c000a741 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+273a 20600000 rtn 
+
+parse_l2cap_release_buff1:
+273b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+273c 793ffe00 set0 l2cap_inuse_buff1 ,pdata 
+273d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+273e 58000000 setarg 0 
+273f 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2740 20600000 rtn 
+
+parse_l2cap_release_buff2:
+2741 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2742 793ffe01 set0 l2cap_inuse_buff2 ,pdata 
+2743 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+2744 58000000 setarg 0 
+2745 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2746 20600000 rtn 
+
+l2cap_buff1_inuse:
+2747 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2748 79207e00 set1 l2cap_inuse_buff1 ,pdata 
+2749 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274a 20600000 rtn 
+
+l2cap_buff2_inuse:
+274b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+274c 79207e01 set1 l2cap_inuse_buff2 ,pdata 
+274d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274e 20600000 rtn 
+
+slave_send_access:
+274f 44b9400e bpatch patch0e_2 ,mem_patch0e 
+2750 1d00c201 add clke_bt ,1 ,bt_clk 
+2751 204028ea call fetch_extm_bt_adr 
+2752 18004803 force 0x03 ,freq_mode 
+2753 204028d2 call tx_radio_freq 
+2754 20402a51 call start_transmitter 
+2755 20402a5f call start_tx_external 
+2756 20202a64 branch send_access_word 
+
+slave_conn_send_packet:
+2757 44b9c00e bpatch patch0e_3 ,mem_patch0e 
+2758 20402a4d call rf_setup_time_slave_slot 
+2759 1d027e00 deposit clke_bt 
+275a 680a40ca fetcht 4 ,mem_next_btclk 
+275b 98467e00 isub temp ,pdata 
+275c c1808000 rtnne 1 
+275d 28203e00 compare type_null ,type ,0x1f 
+275e 2420a761 nbranch slave_conn_send_access ,true 
+275f 68008019 fetch 1 ,mem_rx_type 
+2760 207a0000 rtn blank 
+
+slave_conn_send_access:
+2761 2040274f call slave_send_access 
+
+transmit_packet:
+2762 28203e10 compare type_id ,type ,0x1f 
+2763 2020a64d branch end_of_packet ,true 
+2764 1c230400 rshift bt_clk ,temp 
+2765 18419c40 or temp ,0x40 ,white_init 
+
+transmit_packet_whitened:
+2766 44ba400e bpatch patch0e_4 ,mem_patch0e 
+2767 7823fc00 enable enable_white 
+2768 78257c00 enable enable_hec 
+2769 782dfc00 enable encode_fec1 
+276a 793f8010 set0 mark_longpacket ,mark 
+276b 18827e00 deposit am_addr 
+276c 08008603 inject mod ,3 
+276d 18227e00 deposit type 
+276e 08008604 inject mod ,4 
+276f 68008047 fetch 1 ,mem_arq 
+2770 08008004 inject bucket ,4 
+2771 08008603 inject mod ,3 
+2772 78247c00 enable enable_parity 
+2773 08008608 inject mod ,8 
+2774 784dfc00 disable encode_fec1 
+2775 78447c00 disable enable_parity 
+2776 78457c00 disable enable_hec 
+2777 793faa02 set0 psk3m ,radio_ctrl 
+2778 d8400000 arg 0 ,temp 
+2779 20402a1c call reserve_slot 
+277a 44bac00e bpatch patch0e_5 ,mem_patch0e 
+277b 18217e1f and type ,0x1f ,pdata 
+277c c009a7b4 beq type_lmp ,transmit_lmp 
+277d c000264d beq type_null ,end_of_packet 
+277e c000a64d beq type_poll ,end_of_packet 
+277f c0012797 beq type_fhs ,transmit_fhs 
+2780 c001a7c5 beq type_dm1 ,transmit_dm1 
+2781 c00227cb beq type_dh1 ,transmit_dh1 
+2782 c003a78c beq type_hv3 ,transmit_hev 
+2783 c00427ca beq type_3dh1 ,transmit_3dh1 
+2784 d8400004 arg 4 ,temp 
+2785 20402a1c call reserve_slot 
+2786 c00527c7 beq type_dm3 ,transmit_dm3 
+2787 c005a7cd beq type_dh3 ,transmit_dh3 
+2788 d8400008 arg 8 ,temp 
+2789 20402a1c call reserve_slot 
+278a c007a7cd beq type_dh5 ,transmit_dh5 
+278b 202027c7 branch transmit_dm5 
+
+transmit_hev:
+278c 44bb400e bpatch patch0e_6 ,mem_patch0e 
+278d 782efc00 enable encode_fec0 
+278e 7824fc00 enable enable_crc 
+278f 78277c00 enable encrypt 
+2790 1800721e force 30 ,loopcnt 
+2791 d8c000b3 arg mem_sco_obuf ,contr 
+
+transmit_ev_loop:
+2792 e8c08000 ifetch 1 ,contr 
+2793 08008608 inject mod ,8 
+2794 c2002792 loop transmit_ev_loop 
+2795 c503a7f7 bmark1 mark_esco ,transmit_end 
+2796 2020264d branch end_of_packet 
+
+transmit_fhs:
+2797 44bbc00e bpatch patch0e_7 ,mem_patch0e 
+2798 68008181 fetch 1 ,mem_fhs_am_addr 
+2799 1fe20800 icopy am_addr 
+279a 68008090 fetch 1 ,mem_fhs_misc 
+279b 1fe23800 icopy fhs_misc 
+279c 6801c0aa fetch 3 ,mem_class 
+279d 1fe23a00 icopy fhs_class 
+279e 680140a4 fetch 2 ,mem_nap 
+279f 1fe25c00 icopy nap 
+27a0 7824fc00 enable enable_crc 
+27a1 782e7c00 enable encode_fec2 
+27a2 1c022200 copy bt_adr ,rega 
+27a3 204028e2 call fetch_self_bt_adr 
+27a4 782afc00 pulse recalc 
+27a5 20000020 nop 32 
+27a6 1c221600 copy bt_clk ,timeup 
+27a7 68020161 fetch 4 ,mem_clkn_bt 
+27a8 1fe24200 icopy bt_clk 
+27a9 53c07e00 preload fhs0 
+27aa 79207e3a set1 58 ,pdata 
+27ab 08008648 inject mod ,72 
+27ac 53e07e00 preload fhs1 
+27ad 08008648 inject mod ,72 
+27ae 19624200 copy timeup ,bt_clk 
+27af 1a224000 copy rega ,bt_adr 
+27b0 78247c00 enable enable_parity 
+27b1 08008610 inject mod ,16 
+27b2 78447c00 disable enable_parity 
+27b3 2020264d branch end_of_packet 
+
+transmit_lmp:
+27b4 44bc400f bpatch patch0f_0 ,mem_patch0f 
+27b5 78277c00 enable encrypt 
+27b6 7824fc00 enable enable_crc 
+27b7 782e7c00 enable encode_fec2 
+27b8 680084b6 fetch 1 ,mem_lmo_header_length 
+27b9 1fe105f8 and pdata ,0x1f8 ,temp 
+27ba d8c004b6 arg mem_lmo_header_length ,contr 
+27bb 18408408 increase 8 ,temp 
+
+transmit_lmp_loop:
+27bc 1840a7b8 add temp ,-72 ,regc 
+27bd 242127c2 nbranch transmit_lmp_finish ,positive 
+27be e8c48000 ifetch 9 ,contr 
+27bf 08008648 inject mod ,72 
+27c0 1a620400 copy regc ,temp 
+27c1 202027bc branch transmit_lmp_loop 
+
+transmit_lmp_finish:
+27c2 e8c48000 ifetch 9 ,contr 
+27c3 08418600 iinject mod ,temp 
+27c4 202027f7 branch transmit_end 
+
+transmit_dm1:
+27c5 782e7c00 enable encode_fec2 
+27c6 202027d0 branch transmit_dmh 
+
+transmit_dm3:
+
+transmit_dm5:
+27c7 782e7c00 enable encode_fec2 
+27c8 79200010 set1 mark_longpacket ,mark 
+27c9 202027d0 branch transmit_dmh 
+
+transmit_3dh1:
+27ca 79202a02 set1 psk3m ,radio_ctrl 
+
+transmit_dh1:
+27cb 782efc00 enable encode_fec0 
+27cc 202027d0 branch transmit_dmh 
+
+transmit_dh3:
+
+transmit_dh5:
+27cd 79202a02 set1 psk3m ,radio_ctrl 
+27ce 782efc00 enable encode_fec0 
+27cf 79200010 set1 mark_longpacket ,mark 
+
+transmit_dmh:
+27d0 44bcc00f bpatch patch0f_1 ,mem_patch0f 
+27d1 6800804c fetch 1 ,mem_state_map 
+27d2 c302a7e5 bbit0 smap_edr ,transmit_noedr 
+27d3 18267c03 sub type ,3 ,null 
+27d4 202127e5 branch transmit_noedr ,positive 
+27d5 78477c00 disable encrypt 
+27d6 784e7c00 disable encode_fec2 
+27d7 782efc00 enable encode_fec0 
+27d8 7843fc00 disable enable_white 
+27d9 79202a01 set1 psk ,radio_ctrl 
+27da 2aaffe02 isolate1 psk3m ,radio_ctrl 
+27db 2020a7df branch transmit_edr3m ,true 
+27dc 580abeee setarg 0xabeee 
+27dd 08008614 inject mod ,20 
+27de 202027e3 branch transmit_edr_sync_end 
+
+transmit_edr3m:
+27df 585faeba setarg 0x5faeba 
+27e0 08008618 inject mod ,24 
+27e1 58000012 setarg 0x12 
+27e2 08008606 inject mod ,6 
+
+transmit_edr_sync_end:
+27e3 7823fc00 enable enable_white 
+27e4 79200010 set1 mark_longpacket ,mark 
+
+transmit_noedr:
+27e5 78277c00 enable encrypt 
+27e6 7824fc00 enable enable_crc 
+27e7 c502a800 bmark1 mark_loopback ,transmit_loopback 
+27e8 6800c1db fetch 1 ,mem_tx_lch 
+27e9 08008603 inject mod ,3 
+27ea 680141dc fetch 2 ,mem_tx_len 
+27eb 98007200 iforce loopcnt 
+27ec c50827ef bmark1 mark_longpacket ,transmit_long 
+27ed 08008605 inject mod ,5 
+27ee 202027f0 branch transmit_stuff 
+
+transmit_long:
+27ef 0800860d inject mod ,13 
+
+transmit_stuff:
+27f0 1f227e00 deposit loopcnt 
+27f1 203a27f7 branch transmit_end ,blank 
+27f2 6801016f fetch 2 ,mem_txptr 
+27f3 98000c00 iforce contr 
+
+transmit_stuff_loop:
+27f4 e8c08000 ifetch 1 ,contr 
+27f5 08008608 inject mod ,8 
+27f6 c20027f4 loop transmit_stuff_loop 
+
+transmit_end:
+27f7 78247c00 enable enable_parity 
+27f8 08008610 inject mod ,16 
+27f9 78447c00 disable enable_parity 
+27fa 204024c1 call set_wait_ack 
+27fb 6800804c fetch 1 ,mem_state_map 
+27fc c302a64d bbit0 smap_edr ,end_of_packet 
+27fd 18007e00 force 0 ,pdata 
+27fe 08008606 inject mod ,6 
+27ff 2020264d branch end_of_packet 
+
+transmit_loopback:
+2800 44bd400f bpatch patch0f_2 ,mem_patch0f 
+2801 c5082808 bmark1 mark_longpacket ,transmit_loopback_long 
+
+transmit_loopback_short:
+2802 68008180 fetch 1 ,mem_lch_code 
+2803 08008603 inject mod ,3 
+2804 6800815f fetch 1 ,mem_len 
+2805 98002600 iforce regc 
+2806 08008605 inject mod ,5 
+2807 2020280d branch transmit_loopback_cont 
+
+transmit_loopback_long:
+2808 68008180 fetch 1 ,mem_lch_code 
+2809 08008603 inject mod ,3 
+280a 6801015f fetch 2 ,mem_len 
+280b 98002600 iforce regc 
+280c 0800860d inject mod ,13 
+
+transmit_loopback_cont:
+280d d8c00551 arg mem_rxbuf ,contr 
+
+transmit_loopback_loop:
+280e 1a627c00 copy regc ,null 
+280f 2022a814 branch transmit_loopback_end ,zero 
+2810 e8c08000 ifetch 1 ,contr 
+2811 08008608 inject mod ,8 
+2812 1a60a7ff increase -1 ,regc 
+2813 2020280e branch transmit_loopback_loop 
+
+transmit_loopback_end:
+2814 680100fc fetch 2 ,mem_tst_pktcnt_dmh 
+2815 1fe0fe01 increase 1 ,pdata 
+2816 600100fc store 2 ,mem_tst_pktcnt_dmh 
+2817 202027f7 branch transmit_end 
+
+apply_switch_clke:
+2818 68020165 fetch 4 ,mem_clke_bt 
+2819 1fe0a207 add pdata ,7 ,rega 
+281a 68010171 fetch 2 ,mem_slot_offset 
+281b 243a281e nbranch apply_switch_nozero ,blank 
+281c 1a20a3fd increase -3 ,rega 
+281d 20202826 branch apply_switch_wait_loop 
+
+apply_switch_nozero:
+281e 1feffe0c mul32 pdata ,12 ,pdata 
+281f 68190040 hfetcht 2 ,core_halfslot 
+2820 18408401 increase 1 ,temp 
+
+apply_switch_loop:
+2821 98467e00 isub temp ,pdata 
+2822 24212825 nbranch apply_switch_bt ,positive 
+2823 1a20a3ff increase -1 ,rega 
+2824 20202821 branch apply_switch_loop 
+
+apply_switch_bt:
+2825 1fe67e00 sub pdata ,0 ,pdata 
+
+apply_switch_wait_loop:
+2826 37d18200 until null ,oneslot 
+2827 2c400600 compare 0 ,clkn_bt ,3 
+2828 2420a826 nbranch apply_switch_wait_loop ,true 
+2829 98005200 iforce clke_rt 
+282a 1a225000 copy rega ,clke_bt 
+282b 98005200 iforce clke_rt 
+282c 20600000 rtn 
+
+calc_slot_offset:
+282d 44bdc00f bpatch patch0f_3 ,mem_patch0f 
+282e 37d10200 until null ,halfslot 
+282f 1b427e00 deposit clke 
+2830 98000c00 iforce contr 
+2831 1ff17e00 rshift16 ,pdata ,pdata 
+2832 9c467200 isub clkn_bt ,loopcnt 
+2833 1f217203 and_into 3 ,loopcnt 
+2834 2422a837 nbranch calc_bt_portion ,zero 
+2835 18007e00 force 0 ,pdata 
+2836 2020283b branch calc_skip_bt 
+
+calc_bt_portion:
+2837 d8400ea6 arg 3750 ,temp 
+2838 18007e00 force 0 ,pdata 
+
+calc_slot_offset_loop:
+2839 9840fe00 iadd temp ,pdata 
+283a c2002839 loop calc_slot_offset_loop 
+
+calc_skip_bt:
+283b 98c0fe00 iadd contr ,pdata 
+283c 1fe6fc0c div pdata ,12 
+283d 20407f86 call wait_div_end 
+283e 1807fe00 quotient pdata 
+283f 60010171 store 2 ,mem_slot_offset 
+2840 20600000 rtn 
+
+calc_clke_offset:
+2841 44be400f bpatch patch0f_4 ,mem_patch0f 
+2842 1b427e00 deposit clke 
+2843 1b220400 copy clkn ,temp 
+2844 98467c00 isub temp ,null 
+2845 7d217e2c nsetflag positive ,44 ,pdata 
+2846 98460400 isub temp ,temp 
+2847 58000ea6 setarg 3750 
+2848 284c000f isolate0 15 ,temp 
+2849 2020a84c branch calc_clke_pos ,true 
+284a 5fff0ea6 setarg -61786 
+284b 98408400 iadd temp ,temp 
+
+calc_clke_pos:
+284c 600b0447 storet 6 ,mem_le_clk_offset 
+284d 207b0000 rtn le 
+284e 600b0038 storet 6 ,mem_clk_offset 
+284f 20600000 rtn 
+
+calc_clke:
+2850 78587c00 disable clknt 
+2851 68030447 fetch 6 ,mem_le_clk_offset 
+2852 203b2854 branch calc_clke2 ,le 
+2853 68030038 fetch 6 ,mem_clk_offset 
+
+calc_clke2:
+2854 9b20e000 iadd clkn ,alarm 
+2855 1e00e00a increase 10 ,alarm 
+2856 58000ea6 setarg 3750 
+2857 9e067e00 isub alarm ,pdata 
+2858 2fec000f isolate0 15 ,pdata 
+2859 2020a85e branch calc_clke_pos_adj ,true 
+285a 5800f15a setarg 0xf15a 
+285b 9e00e000 iadd alarm ,alarm 
+
+calc_clke_pos2:
+285c 1e023400 copy alarm ,clke 
+285d 20600000 rtn 
+
+calc_clke_pos_adj:
+285e 18007c00 force 0 ,null 
+285f 2020285c branch calc_clke_pos2 
+
+calc_radio_freq:
+2860 44bec00f bpatch patch0f_5 ,mem_patch0f 
+2861 20402918 call set_sync_on 
+2862 1c227e00 copy bt_clk ,pdata 
+2863 1fe17f80 and_into 0x180 ,pdata 
+2864 2c800e03 compare 3 ,freq_mode ,0x07 
+2865 2420a869 nbranch freq_not_connection ,true 
+2866 1fe97e00 rshift3 pdata ,pdata 
+2867 9ae0fe00 iadd freq_index ,pdata 
+2868 2020286a branch do_hop_mod_now 
+
+freq_not_connection:
+2869 1ae27e00 copy freq_index ,pdata 
+
+do_hop_mod_now:
+286a 1fe6fc4f div pdata ,79 
+286b 782afc00 pulse recalc 
+286c 20407f86 call wait_div_end 
+286d 18072200 remainder rega 
+286e 1a2085d8 add rega ,-40 ,temp 
+286f 20212872 branch odd_half ,positive 
+2870 1a238400 lshift rega ,temp 
+2871 20202874 branch freq_result 
+
+odd_half:
+2872 18438400 lshift temp ,temp 
+2873 18408401 increase 1 ,temp 
+
+freq_result:
+2874 44bf400f bpatch patch0f_6 ,mem_patch0f 
+2875 68008031 fetch 1 ,mem_mode 
+2876 c301a885 bbit0 afh_change ,afh_process_con 
+
+afh_process_0:
+2877 680240d2 fetch 4 ,mem_afh_instant 
+2878 9c267c00 isub bt_clk ,null 
+2879 20212885 branch afh_process_con ,positive 
+287a 204028a4 call afh_clear 
+287b 6800c0d9 fetch 1 ,mem_afh_new_mod 
+287c 207a0000 rtn blank 
+287d 68008031 fetch 1 ,mem_mode 
+287e 79207e02 set1 afh_enable ,pdata 
+287f 60008031 store 1 ,mem_mode 
+2880 6802c0e7 fetch 5 ,mem_afh_map_new 
+2881 6002c0da store 5 ,mem_afh_map_lo 
+2882 e8c28000 ifetch 5 ,contr 
+2883 6002c0df store 5 ,mem_afh_map_hi 
+2884 204028a9 call afh_process_freq_map 
+
+afh_process_con:
+2885 68008031 fetch 1 ,mem_mode 
+2886 c4010000 rtnbit0 afh_enable 
+2887 2c2ffe01 isolate1 1 ,bt_clk 
+2888 2020a8a1 branch afh_same_channel ,true 
+2889 18492200 rshift3 temp ,rega 
+288a 18410e07 and temp ,7 ,queue 
+288b 580040da setarg mem_afh_map_lo 
+288c 9a20a200 iadd rega ,rega 
+288d ea208000 ifetch 1 ,rega 
+288e afec0000 qisolate0 pdata 
+288f 2020a892 branch afh_process_1 ,true 
+2890 18427e00 deposit temp 
+2891 2020289e branch afh_process_end 
+
+afh_process_1:
+2892 6800c0e4 fetch 1 ,mem_afh_used 
+2893 98002400 iforce regb 
+2894 1c227e00 deposit bt_clk 
+2895 1fe17f80 and_into 0x180 ,pdata 
+2896 1fe97e00 rshift3 pdata ,pdata 
+2897 9ae0fe00 iadd freq_index ,pdata 
+2898 9a46fc00 idiv regb 
+2899 580040f2 setarg mem_afh_map 
+289a 20407f86 call wait_div_end 
+289b 18072200 remainder rega 
+289c 9a208c00 iadd rega ,contr 
+289d e8c08000 ifetch 1 ,contr 
+
+afh_process_end:
+289e 6000c0e5 store 1 ,mem_afh_index 
+289f 98000400 iforce temp 
+28a0 20600000 rtn 
+
+afh_same_channel:
+28a1 6800c0e5 fetch 1 ,mem_afh_index 
+28a2 98000400 iforce temp 
+28a3 20600000 rtn 
+
+afh_clear:
+28a4 68008031 fetch 1 ,mem_mode 
+28a5 793ffe02 set0 afh_enable ,pdata 
+28a6 793ffe03 set0 afh_change ,pdata 
+28a7 60008031 store 1 ,mem_mode 
+28a8 20600000 rtn 
+
+afh_process_freq_map:
+28a9 44bfc00f bpatch patch0f_7 ,mem_patch0f 
+28aa d8a040f2 arg mem_afh_map ,contw 
+28ab 1800720a force 10 ,loopcnt 
+28ac 20407ec6 call memset0 
+28ad d8a040f2 arg mem_afh_map ,contw 
+28ae 18002600 force 0 ,regc 
+28af 18000e02 force 2 ,queue 
+
+process_freq_3:
+28b0 6802c0da fetch 5 ,mem_afh_map_lo 
+28b1 98000400 iforce temp 
+28b2 28e1fe02 compare 2 ,queue ,0xff 
+28b3 2020a8b5 branch process_freq_1 ,true 
+28b4 18430400 rshift temp ,temp 
+
+process_freq_1:
+28b5 284c0000 isolate0 0 ,temp 
+28b6 2020a8b9 branch process_freq_0 ,true 
+28b7 1a627e00 deposit regc 
+28b8 e0a08000 istore 1 ,contw 
+
+process_freq_0:
+28b9 184b0400 rshift2 temp ,temp 
+28ba 1a60a602 increase 2 ,regc 
+28bb 2a61fc28 compare 40 ,regc ,0xfe 
+28bc 2420a8c2 nbranch process_freq_2 ,true 
+28bd 6802c0df fetch 5 ,mem_afh_map_hi 
+28be 98000400 iforce temp 
+28bf 28e1fe02 compare 2 ,queue ,0xff 
+28c0 2020a8c2 branch process_freq_2 ,true 
+28c1 18430400 rshift temp ,temp 
+
+process_freq_2:
+28c2 1a667c4e sub regc ,78 ,null 
+28c3 202128b5 branch process_freq_1 ,positive 
+28c4 18002601 force 1 ,regc 
+28c5 18e08fff increase -1 ,queue 
+28c6 2422a8b0 nbranch process_freq_3 ,zero 
+28c7 da2040f2 arg mem_afh_map ,rega 
+28c8 18a27e00 deposit contw 
+28c9 9a267e00 isub rega ,pdata 
+28ca 6000c0e4 store 1 ,mem_afh_used 
+28cb 20600000 rtn 
+
+rx_radio_freq:
+28cc 44c04010 bpatch patch10_0 ,mem_patch10 
+28cd 20402860 call calc_radio_freq 
+28ce 6800817f fetch 1 ,mem_debug_config 
+28cf c302a8d1 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+28d0 680884cc fetcht 1 ,mem_rx_fixed_freq 
+
+rx_radio_freq_now:
+28d1 2020291f branch set_freq_rx 
+
+tx_radio_freq:
+28d2 44c0c010 bpatch patch10_1 ,mem_patch10 
+28d3 20402860 call calc_radio_freq 
+28d4 6800817f fetch 1 ,mem_debug_config 
+28d5 c30228d7 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+28d6 680884cb fetcht 1 ,mem_tx_fixed_freq 
+
+tx_radio_freq_now:
+28d7 20202933 branch set_freq_tx 
+
+fetch_giac:
+28d8 18005a00 force 0 ,uap 
+28d9 6801c0a7 fetch 3 ,mem_glap 
+28da 98005800 iforce lap 
+28db 20600000 rtn 
+
+fetch_page_bt_adr:
+28dc 44c14010 bpatch patch10_2 ,mem_patch10 
+28dd 6800c1d3 fetch 1 ,mem_hci_puap 
+28de 1fe25a00 icopy uap 
+28df 6801c1d0 fetch 3 ,mem_hci_plap 
+28e0 1fe25800 icopy lap 
+28e1 20600000 rtn 
+
+fetch_self_bt_adr:
+28e2 44c1c010 bpatch patch10_3 ,mem_patch10 
+28e3 680140a4 fetch 2 ,mem_nap 
+28e4 1fe25c00 icopy nap 
+28e5 6800c0a3 fetch 1 ,mem_uap 
+28e6 1fe25a00 icopy uap 
+28e7 6801c0a0 fetch 3 ,mem_lap 
+28e8 1fe25800 icopy lap 
+28e9 20600000 rtn 
+
+fetch_extm_bt_adr:
+28ea 44c24010 bpatch patch10_4 ,mem_patch10 
+28eb 68010044 fetch 2 ,mem_pnap 
+28ec 1fe25c00 icopy nap 
+28ed 68008043 fetch 1 ,mem_puap 
+28ee 1fe25a00 icopy uap 
+28ef 68018040 fetch 3 ,mem_plap 
+28f0 1fe25800 icopy lap 
+28f1 20600000 rtn 
+
+fetch_diac:
+28f2 c51028f5 bmark1 mark_all_diac ,fetch_diac_do 
+28f3 c68e8000 rtnmark0 mark_inquiry_state 
+28f4 c68f8000 rtnmark0 mark_periodical_diac 
+
+fetch_diac_do:
+28f5 1d815900 and_into -256 ,lap 
+28f6 782afc00 pulse recalc 
+28f7 20000020 nop 32 
+28f8 20600000 rtn 
+
+shutdown_radio:
+28f9 44c2c010 bpatch patch10_5 ,mem_patch10 
+28fa 2030a90a branch shutdown_radio0 ,is_rx 
+28fb 708955d4 jam 0xd4 ,rf_tx_pa_ib 
+28fc 20000004 nop 4 
+28fd 708955d2 jam 0xd2 ,rf_tx_pa_ib 
+28fe 20000004 nop 4 
+28ff 708955d1 jam 0xd1 ,rf_tx_pa_ib 
+2900 20000004 nop 4 
+2901 6800c1de fetch 1 ,mem_tx_power 
+2902 c0002908 beq tx_power_0db ,shutdown_radio_0db 
+2903 c000a915 beq tx_power_3db ,shutdown_radio_3db 
+2904 c0012908 beq tx_power_5db ,shutdown_radio_5db 
+2905 c001a915 beq tx_power_f3db ,shutdown_radio_f3db 
+2906 c0022915 beq tx_power_f5db ,shutdown_radio_f5db 
+2907 c0102915 beq tx_power_pair ,shutdown_radio_pair 
+
+shutdown_radio_5db:
+
+shutdown_radio_0db:
+2908 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2909 708956e0 jam 0xe0 ,rf_tx_pa_gc 
+
+shutdown_radio0:
+290a 18002a00 force 0 ,radio_ctrl 
+290b 7850fc00 disable is_rx 
+290c 78507c00 disable is_tx 
+290d 782f7c00 pulse packet_end 
+290e 70890200 jam 0x0 ,rfen_mdm 
+290f 70890100 jam 0x0 ,rfen_tx 
+2910 70890000 jam 0x0 ,rfen_rx 
+2911 70890300 jam 0 ,rfen_sn 
+2912 70890470 jam 0x70 ,rfen_msc 
+2913 70890600 jam 0x0 ,rfen_adc 
+2914 20600000 rtn 
+
+shutdown_radio_pair:
+
+shutdown_radio_f5db:
+
+shutdown_radio_f3db:
+
+shutdown_radio_3db:
+2915 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2916 708956c0 jam 0xc0 ,rf_tx_pa_gc 
+2917 2020290a branch shutdown_radio0 
+
+set_sync_on:
+2918 44c34010 bpatch patch10_6 ,mem_patch10 
+2919 70890200 jam 0x0 ,rfen_mdm 
+291a 70890100 jam 0x0 ,rfen_tx 
+291b 70890018 jam 0x18 ,rfen_rx 
+291c 708903a7 jam 0xa7 ,rfen_sn 
+291d 7089047f jam 0x7f ,rfen_msc 
+291e 20600000 rtn 
+
+set_freq_rx:
+291f 44c3c010 bpatch patch10_7 ,mem_patch10 
+2920 60088017 storet 1 ,mem_last_freq 
+2921 1840a204 add temp ,rx_freq_offset ,rega 
+2922 70896d07 jam 0x07 ,rf_balun_ctrim 
+2923 20202981 branch rf_write_freq 
+
+rf_rx_enable:
+2924 44c44011 bpatch patch11_0 ,mem_patch11 
+2925 708901cf jam 0xcf ,rfen_tx 
+2926 2000000a nop 10 
+2927 708900ff jam 0xff ,rfen_rx 
+2928 708903af jam 0xaf ,rfen_sn 
+2929 708904ff jam 0xff ,rfen_msc 
+292a 2000000a nop 10 
+292b 708902a0 jam 0xa0 ,rfen_mdm 
+292c 20600000 rtn 
+
+set_freq_tx_offset:
+292d 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+292e 203a2931 branch set_freq_tx_2m_offset ,blank 
+
+set_freq_tx_0m_offset:
+292f 1840a202 add temp ,2 ,rega 
+2930 20600000 rtn 
+
+set_freq_tx_2m_offset:
+2931 1840a200 add temp ,0 ,rega 
+2932 20600000 rtn 
+
+set_freq_tx:
+2933 44c4c011 bpatch patch11_1 ,mem_patch11 
+2934 60088017 storet 1 ,mem_last_freq 
+2935 2040292d call set_freq_tx_offset 
+2936 20402981 call rf_write_freq 
+2937 58000500 setarg param_pll_setup 
+2938 20402a8f call sleep 
+
+txon:
+2939 70890601 jam 0x1 ,rfen_adc 
+293a 7089003c jam 0x3c ,rfen_rx 
+293b 708901e0 jam 0xe0 ,rfen_tx 
+293c 70896d12 jam 0x12 ,rf_balun_ctrim 
+293d 2000000a nop 10 
+293e 70890201 jam 0x01 ,rfen_mdm 
+293f 7089023d jam 0x3d ,rfen_mdm 
+2940 2000000a nop 10 
+2941 708903b7 jam 0xb7 ,rfen_sn 
+2942 2000000a nop 10 
+2943 7089027f jam 0x7f ,rfen_mdm 
+
+txon_power_select:
+2944 6800c1de fetch 1 ,mem_tx_power 
+2945 c000294b beq tx_power_0db ,set_tx_power_0db 
+2946 c000a94f beq tx_power_3db ,set_tx_power_3db 
+2947 c0012953 beq tx_power_5db ,set_tx_power_5db 
+2948 c001a957 beq tx_power_f3db ,set_tx_power_f3db 
+2949 c002295b beq tx_power_f5db ,set_tx_power_f5db 
+294a c010295f beq tx_power_pair ,set_tx_power_pair 
+
+set_tx_power_0db:
+294b 708956f0 jam 0xf0 ,rf_tx_pa_gc 
+294c 20402965 call txon_common 
+294d 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+294e 20600000 rtn 
+
+set_tx_power_3db:
+294f 708956df jam 0xdf ,rf_tx_pa_gc 
+2950 20402965 call txon_common 
+2951 708955df jam 0xdf ,rf_tx_pa_ib 
+2952 20600000 rtn 
+
+set_tx_power_5db:
+2953 708956ff jam 0xff ,rf_tx_pa_gc 
+2954 20402965 call txon_common 
+2955 708955df jam 0xdf ,rf_tx_pa_ib 
+2956 20600000 rtn 
+
+set_tx_power_f3db:
+2957 708956ce jam 0xce ,rf_tx_pa_gc 
+2958 20402965 call txon_common 
+2959 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+295a 20600000 rtn 
+
+set_tx_power_f5db:
+295b 708956cb jam 0xcb ,rf_tx_pa_gc 
+295c 20402965 call txon_common 
+295d 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+295e 20600000 rtn 
+
+set_tx_power_pair:
+295f 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2960 708956c0 jam 0xc0 ,rf_tx_pa_gc 
+2961 7089574c jam 0x4c ,0x8957 
+2962 7089586c jam 0x6c ,0x8958 
+2963 70895950 jam 0x50 ,0x8959 
+2964 20600000 rtn 
+
+txon_common:
+2965 20000004 nop 4 
+2966 708955d1 jam 0xd1 ,rf_tx_pa_ib 
+2967 20000004 nop 4 
+2968 708955d2 jam 0xd2 ,rf_tx_pa_ib 
+2969 20000004 nop 4 
+296a 708955d4 jam 0xd4 ,rf_tx_pa_ib 
+296b 20600000 rtn 
+
+initialize_radio:
+296c 70804206 jam clksel_rc ,core_clksel 
+
+initialize_radio_wait:
+296d 680140c3 fetch 2 ,mem_rf_init_ptr 
+296e c307296d bbit0 14 ,initialize_radio_wait 
+296f 98000c00 iforce contr 
+2970 d8408900 arg 0x8900 ,temp 
+
+initialize_radio_loop:
+2971 e8c08000 ifetch 1 ,contr 
+2972 c07fa977 beq 0xff ,initialize_radio_cont 
+2973 98418a00 ior temp ,contw 
+2974 e8c08000 ifetch 1 ,contr 
+2975 e0a08000 istore 1 ,contw 
+2976 20202971 branch initialize_radio_loop 
+
+initialize_radio_cont:
+2977 44c54011 bpatch patch11_2 ,mem_patch11 
+2978 20402be5 call lpm_cal_xtal_startup 
+2979 204029c9 call switchto_dpllclk 
+297a 580007d0 setarg param_dpll_start_delay 
+297b 9c40fe00 iadd clkn_bt ,pdata 
+297c 60020169 store 4 ,mem_dpll_clkn 
+297d 79202a03 set1 reset ,radio_ctrl 
+297e 18002a00 force 0 ,radio_ctrl 
+297f 2455a998 ncall do_rccal ,wake 
+2980 202029ab branch set_rccal 
+
+rf_write_freq:
+2981 44c5c011 bpatch patch11_3 ,mem_patch11 
+2982 58000960 setarg 2400 
+2983 9a208400 iadd rega ,temp 
+2984 6800c0bd fetch 1 ,mem_fcomp_mul 
+2985 70895f04 jam 0x04 ,rf_pll_rstn 
+2986 984ffe00 imul32 temp ,pdata 
+2987 6808c0be fetcht 1 ,mem_fcomp_div 
+2988 9846fc00 idiv temp 
+2989 20407f86 call wait_div_end 
+298a 1807a200 quotient rega 
+298b 18077e00 remainder pdata 
+298c 1ff07e00 lshift16 pdata ,pdata 
+298d 1ff27e00 lshift4 pdata ,pdata 
+298e 9846fc00 idiv temp 
+298f 20407f86 call wait_div_end 
+2990 1807fe00 quotient pdata 
+2991 1fed7e00 lshift8 pdata ,pdata 
+2992 1fe3fe00 lshift pdata ,pdata 
+2993 9a21fe00 ior rega ,pdata 
+2994 60120960 hstore 4 ,rf_pll_intg 
+2995 70895f44 jam 0x44 ,rf_pll_rstn 
+2996 70895fc4 jam 0xc4 ,rf_pll_rstn 
+2997 20600000 rtn 
+
+do_rccal:
+2998 44c64011 bpatch patch11_4 ,mem_patch11 
+2999 70890602 jam 0x02 ,rfen_adc 
+299a 5803d090 setarg 250000 
+299b 20402a8f call sleep 
+299c 7089007f jam 0x7f ,rfen_rx 
+299d 20000082 nop 130 
+299e 70895230 jam 0x30 ,rf_rccal_ctrl 
+299f 708901d0 jam 0xd0 ,rfen_tx 
+29a0 70895270 jam 0x70 ,rf_rccal_ctrl 
+29a1 708952f0 jam 0xf0 ,rf_rccal_ctrl 
+29a2 18007232 force 50 ,loopcnt 
+
+do_rccal_loop:
+29a3 68108980 hfetch 1 ,rf_rccal_result 
+29a4 c282a9a6 bbit1 5 ,do_rccal_end 
+29a5 c20029a3 loop do_rccal_loop 
+
+do_rccal_end:
+29a6 6000c0ce store 1 ,mem_rf_rccal 
+29a7 70890100 jam 0 ,rfen_tx 
+29a8 70890000 jam 0 ,rfen_rx 
+29a9 70890600 jam 0x00 ,rfen_adc 
+29aa 20600000 rtn 
+
+set_rccal:
+29ab 44c6c011 bpatch patch11_5 ,mem_patch11 
+29ac 6800c0ce fetch 1 ,mem_rf_rccal 
+29ad 79207e05 set1 5 ,pdata 
+29ae 60108952 hstore 1 ,rf_rccal_ctrl 
+29af 68188950 hfetcht 1 ,rf_bpf_ctrim 
+29b0 18410407 and_into 7 ,temp 
+29b1 1fe9fe00 lshift3 pdata ,pdata 
+29b2 9841fe00 ior temp ,pdata 
+29b3 60108950 hstore 1 ,rf_bpf_ctrim 
+29b4 68108951 hfetch 1 ,rf_bpf_ib 
+29b5 793ffe00 set0 bpf_rccal ,pdata 
+29b6 60108951 hstore 1 ,rf_bpf_ib 
+29b7 68108952 hfetch 1 ,rf_adc_rccal 
+29b8 793ffe05 set0 adc_rccal ,pdata 
+29b9 60108952 hstore 1 ,rf_adc_rccal 
+29ba 20600000 rtn 
+
+save_rssi:
+29bb 44c74011 bpatch patch11_6 ,mem_patch11 
+29bc 68110981 hfetch 2 ,rf_afc_d2a 
+29bd 1ff1fe00 rshift4 pdata ,pdata 
+29be 1fe97e00 rshift3 pdata ,pdata 
+29bf 1fe67e00 sub pdata ,0 ,pdata 
+
+bcd:
+29c0 1fe17eff and_into 0xff ,pdata 
+29c1 1fe6fc0a div pdata ,10 
+29c2 20407f86 call wait_div_end 
+29c3 1807fe00 quotient pdata 
+29c4 1ff27e00 lshift4 pdata ,pdata 
+29c5 18070400 remainder temp 
+29c6 9841fe00 ior temp ,pdata 
+29c7 60008018 store 1 ,mem_rssi 
+29c8 20600000 rtn 
+
+switchto_dpllclk:
+29c9 70804206 jam clksel_rc ,core_clksel 
+29ca 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29cb 793ffe04 set0 4 ,pdata 
+29cc 793ffe05 set0 5 ,pdata 
+29cd 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29ce 70890500 jam 0x00 ,rfen_ck 
+29cf 70890400 jam 0x00 ,rfen_msc 
+29d0 70890470 jam 0x70 ,rfen_msc 
+29d1 708905ff jam 0xff ,rfen_ck 
+29d2 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29d3 79207e04 set1 4 ,pdata 
+29d4 79207e05 set1 5 ,pdata 
+29d5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29d6 204029e9 call init_lpm_ctrl 
+29d7 68108968 hfetch 1 ,rf_clkpll_int 
+29d8 79207e07 set1 7 ,pdata 
+29d9 60108968 hstore 1 ,rf_clkpll_int 
+29da 793ffe07 set0 7 ,pdata 
+29db 60108968 hstore 1 ,rf_clkpll_int 
+29dc 79207e07 set1 7 ,pdata 
+29dd 60108968 hstore 1 ,rf_clkpll_int 
+29de 70804205 jam clksel_dpll ,core_clksel 
+29df 20000001 nop 1 
+29e0 70804204 jam clksel_xtal ,core_clksel 
+29e1 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29e2 1fe17ecf and_into 0xcf ,pdata 
+29e3 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e4 1fe1fe30 or_into 0x30 ,pdata 
+29e5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e6 20600000 rtn 
+
+xtal_fast_wake:
+29e7 58000f0f setarg 0xf0f 
+29e8 20202c18 branch lpm_write_config 
+
+init_lpm_ctrl:
+29e9 5800080f setarg 0x80f 
+29ea 20202c18 branch lpm_write_config 
+
+start_receiver:
+29eb 44c7c011 bpatch patch11_7 ,mem_patch11 
+29ec 20402924 call rf_rx_enable 
+29ed 78507c00 disable is_tx 
+29ee 7830fc00 enable is_rx 
+29ef 782b7c00 pulse init_encrypt 
+29f0 20600000 rtn 
+
+prep_crypt:
+29f1 44c84012 bpatch patch12_0 ,mem_patch12 
+29f2 6800804c fetch 1 ,mem_state_map 
+29f3 2feffe02 isolate1 smap_encryption ,pdata 
+29f4 7920fe00 setflag true ,0 ,pdata 
+29f5 60108011 hstore 1 ,core_encrypt 
+29f6 d8c00062 arg mem_kc ,contr 
+29f7 e8c48000 ifetch 9 ,contr 
+29f8 98006400 iforce kc_ls 
+29f9 e8c38000 ifetch 7 ,contr 
+29fa 98006600 iforce kc_ms 
+29fb 68008054 fetch 1 ,mem_key_size 
+29fc 1fe0e9ff add pdata ,-1 ,g1l 
+29fd 782d7c00 pulse kc_p_activate 
+29fe 20600000 rtn 
+
+wait_access_end:
+29ff 1b427e00 deposit clke 
+2a00 6003009a store 6 ,mem_sync_clke 
+2a01 7846fc00 disable decode_fec0 
+2a02 242c28f9 nbranch shutdown_radio ,sync 
+2a03 dd2003bb arg param_clke_cal ,clke_rt 
+2a04 1d00d001 increase 1 ,clke_bt 
+2a05 1d0151fc and_into 0x1fc ,clke_bt 
+2a06 20600000 rtn 
+
+wait_access_mhalfbnd:
+2a07 7826fc00 enable decode_fec0 
+
+wait_access_mhalfbnd_correlate:
+2a08 37cb8400 correlate null ,mhalfbnd 
+2a09 202c29ff branch wait_access_end ,sync 
+2a0a 2d000402 compare 0x02 ,clke_bt ,0x02 
+2a0b 2420aa08 nbranch wait_access_mhalfbnd_correlate ,true 
+2a0c 202029ff branch wait_access_end 
+
+wait_access_clkn_rt:
+2a0d 44c8c012 bpatch patch12_1 ,mem_patch12 
+2a0e d9600600 arg param_conn_access ,timeup 
+2a0f 7826fc00 enable decode_fec0 
+2a10 34730400 correlate clkn_rt ,meet 
+2a11 7846fc00 disable decode_fec0 
+2a12 242c28f9 nbranch shutdown_radio ,sync 
+2a13 20600000 rtn 
+
+wait_access_forever:
+2a14 44c94012 bpatch patch12_2 ,mem_patch12 
+2a15 7826fc00 enable decode_fec0 
+2a16 37c18400 correlate null ,timeout 
+2a17 7846fc00 disable decode_fec0 
+2a18 242c28f9 nbranch shutdown_radio ,sync 
+2a19 dd2003bb arg param_clke_cal ,clke_rt 
+2a1a 1d0151fc and_into 0x1fc ,clke_bt 
+2a1b 20600000 rtn 
+
+reserve_slot:
+2a1c 44c9c012 bpatch patch12_3 ,mem_patch12 
+2a1d 98002200 iforce rega 
+2a1e 1c227e00 deposit bt_clk 
+2a1f 98409600 iadd temp ,timeup 
+2a20 19627e00 copy timeup ,pdata 
+2a21 600240ca store 4 ,mem_next_btclk 
+2a22 1a227e00 deposit rega 
+2a23 20600000 rtn 
+
+ahead_window:
+2a24 1fe20400 copy pdata ,temp 
+2a25 44ca4012 bpatch patch12_4 ,mem_patch12 
+2a26 18427e00 copy temp ,pdata 
+2a27 20407f50 call clk2bt 
+2a28 1c307e00 lshift16 bt_clk ,pdata 
+2a29 79207e2c set1 44 ,pdata 
+2a2a 20407f39 call clk_diff 
+2a2b 793ffe2c set0 44 ,pdata 
+2a2c 20402a77 call get_clk 
+2a2d 20407f39 call clk_diff 
+2a2e 20740000 rtn user 
+2a2f 20407f43 call clk2rt 
+2a30 98003600 iforce stop_watch 
+2a31 37c18200 until null ,timeout 
+2a32 20600000 rtn 
+
+setup_clk:
+2a33 44cac012 bpatch patch12_5 ,mem_patch12 
+2a34 20382a38 branch setup_clkn ,clknt 
+2a35 35330200 until clke_rt ,meet 
+
+skip_setup_clke:
+2a36 1d020400 copy clke_bt ,temp 
+2a37 20202a3b branch setup_clknbt 
+
+setup_clkn:
+2a38 20372a3a branch skip_setup_clkn ,attempt 
+2a39 34730200 until clkn_rt ,meet 
+
+skip_setup_clkn:
+2a3a 1c420400 copy clkn_bt ,temp 
+
+setup_clknbt:
+2a3b 20342a47 branch setup_clk11 ,user 
+2a3c 28400601 compare 1 ,temp ,3 
+2a3d 2420aa33 nbranch setup_clk ,true 
+
+setup_complete:
+2a3e 44cb4012 bpatch patch12_6 ,mem_patch12 
+2a3f 68008030 fetch 1 ,mem_state 
+2a40 c4000000 rtnbit0 state_inconn 
+2a41 680240ca fetch 4 ,mem_next_btclk 
+2a42 98467e00 isub temp ,pdata 
+2a43 24610000 nrtn positive 
+2a44 1fe67cff sub pdata ,0xff ,null 
+2a45 20212a33 branch setup_clk ,positive 
+2a46 20600000 rtn 
+
+setup_clk11:
+2a47 28400603 compare 3 ,temp ,3 
+2a48 2420aa33 nbranch setup_clk ,true 
+2a49 20202a3e branch setup_complete 
+
+rf_setup_time:
+2a4a 44cbc012 bpatch patch12_7 ,mem_patch12 
+2a4b d9600600 arg param_rf_setup ,timeup 
+2a4c 20202a33 branch setup_clk 
+
+rf_setup_time_slave_slot:
+2a4d 78547c00 disable user 
+2a4e 20202a4a branch rf_setup_time 
+
+rf_setup_time_master_slot:
+2a4f 78347c00 enable user 
+2a50 20202a4a branch rf_setup_time 
+
+start_transmitter:
+2a51 44cc4013 bpatch patch13_0 ,mem_patch13 
+2a52 204029f1 call prep_crypt 
+2a53 7850fc00 disable is_rx 
+2a54 78307c00 enable is_tx 
+2a55 20600000 rtn 
+
+start_tx_native:
+2a56 44ccc013 bpatch patch13_1 ,mem_patch13 
+2a57 d9600e43 arg param_tx_setup ,timeup 
+2a58 34730200 until clkn_rt ,meet 
+2a59 782b7c00 pulse init_encrypt 
+2a5a 20600000 rtn 
+
+start_rx_native:
+2a5b 44cd4013 bpatch patch13_2 ,mem_patch13 
+2a5c d9600d00 arg param_rx_setup ,timeup 
+2a5d 34730200 until clkn_rt ,meet 
+2a5e 20600000 rtn 
+
+start_tx_external:
+2a5f 44cdc013 bpatch patch13_3 ,mem_patch13 
+2a60 d9600e43 arg param_tx_setup ,timeup 
+2a61 35330200 until clke_rt ,meet 
+2a62 782b7c00 pulse init_encrypt 
+2a63 20600000 rtn 
+
+send_access_word:
+2a64 44ce4013 bpatch patch13_4 ,mem_patch13 
+2a65 51207e00 preload access 
+2a66 782efc00 enable encode_fec0 
+2a67 79202a00 set1 txgfsk ,radio_ctrl 
+2a68 08008648 inject mod ,72 
+2a69 784efc00 disable encode_fec0 
+2a6a 20600000 rtn 
+
+scan_mode_whiten:
+2a6b 1ca20400 copy xin ,temp 
+2a6c 18418460 or_into 0x60 ,temp 
+2a6d 18421c00 copy temp ,white_init 
+2a6e 20600000 rtn 
+
+get_free_amaddr:
+2a6f 44cec013 bpatch patch13_5 ,mem_patch13 
+2a70 6800c090 fetch 1 ,mem_current_amaddr 
+2a71 1fe0fe01 increase 1 ,pdata 
+2a72 c083aa74 bne param_esco_addr ,get_free_amaddr_cont 
+2a73 18007e01 force 1 ,pdata 
+
+get_free_amaddr_cont:
+2a74 6000c090 store 1 ,mem_current_amaddr 
+2a75 98000800 iforce am_addr 
+2a76 20600000 rtn 
+
+get_clk:
+2a77 1b220400 copy clkn ,temp 
+2a78 20748000 rtn master 
+2a79 1b420400 copy clke ,temp 
+2a7a 20600000 rtn 
+
+get_clkbt:
+2a7b 1c427e00 deposit clkn_bt 
+2a7c 20748000 rtn master 
+2a7d 1d027e00 deposit clke_bt 
+2a7e 20600000 rtn 
+
+supervision_update:
+2a7f 44cf4013 bpatch patch13_6 ,mem_patch13 
+2a80 680a004d fetcht 4 ,mem_supervision_timer 
+2a81 20402a7b call get_clkbt 
+2a82 98461600 isub temp ,timeup 
+2a83 19627e00 deposit timeup 
+2a84 68090051 fetcht 2 ,mem_supervision_to 
+2a85 18438400 lshift temp ,temp 
+2a86 98467e00 isub temp ,pdata 
+2a87 20600000 rtn 
+
+supervision_flush:
+2a88 44cfc013 bpatch patch13_7 ,mem_patch13 
+2a89 20402a7b call get_clkbt 
+2a8a 6002004d store 4 ,mem_supervision_timer 
+2a8b 20600000 rtn 
+
+assert:
+2a8c 44d04014 bpatch patch14_0 ,mem_patch14 
+2a8d 20202a8c branch assert 
+
+loop:
+2a8e 20202a8e branch loop 
+
+sleep:
+2a8f 207a0000 rtn blank 
+2a90 1fe37e00 rshift pdata ,pdata 
+2a91 1fe0fffd increase -3 ,pdata 
+
+sleep_loop:
+2a92 1fe0ffff increase -1 ,pdata 
+2a93 2422aa92 nbranch sleep_loop ,zero 
+2a94 18007e00 force 0 ,pdata 
+2a95 20600000 rtn 
+
+init_param:
+2a96 df200010 arg 0x10 ,loopcnt 
+2a97 d8a00000 arg 0 ,contw 
+2a98 20407ec6 call memset0 
+2a99 d8a0043f arg mem_le_state ,contw 
+2a9a df20000a arg 10 ,loopcnt 
+2a9b 20407ec6 call memset0 
+2a9c 7009b200 jam 0 ,mem_sp_calc 
+2a9d 700a9900 jam 0 ,mem_fifo_temp 
+2a9e 70048c00 jam 0 ,mem_le_testtype 
+2a9f 70017f00 jam 0 ,mem_debug_config 
+2aa0 7004d100 jam 0 ,mem_lmp_conn_state 
+2aa1 44d0c014 bpatch patch14_1 ,mem_patch14 
+2aa2 70016d00 jam 0 ,mem_connection_options 
+2aa3 70015100 jam 0 ,mem_tester_emulate 
+2aa4 70015c00 jam 0 ,mem_tester_cnt 
+2aa5 589e8b33 setarg param_glap 
+2aa6 6001c0a7 store 3 ,mem_glap 
+2aa7 58000153 setarg param_acl_pktlen 
+2aa8 60010083 store 2 ,mem_acl_pktlen 
+2aa9 7000851e jam param_sco_pktlen ,mem_sco_pktlen 
+2aaa 70008601 jam param_acl_pktcnt ,mem_acl_pktcnt 
+2aab 70008807 jam param_sco_pktcnt ,mem_sco_pktcnt 
+2aac 5812e904 setarg param_hci_version 
+2aad 60018080 store 3 ,mem_hci_version 
+2aae 70009060 jam 0x60 ,mem_fhs_misc 
+2aaf 7040d005 jam param_max_slot ,mem_max_slot 
+2ab0 70001402 jam 0x02 ,mem_fw_ver 
+2ab1 6800c65a fetch 1 ,mem_ssp_enable 
+2ab2 245a74c1 ncall init_memp ,blank 
+2ab3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+2ab4 245a7518 ncall init_memp_256 ,blank 
+2ab5 44d14014 bpatch patch14_2 ,mem_patch14 
+2ab6 20758000 rtn wake 
+2ab7 58000000 setarg 0 
+2ab8 600141dc store 2 ,mem_tx_len 
+2ab9 1c437e00 rshift clkn_bt ,pdata 
+2aba 60024094 store 4 ,mem_last_clkn 
+2abb 20600000 rtn 
+
+lpmstate:
+2abc 5800ee21 setarg 0xee21 
+2abd 60110050 hstore 2 ,core_clkoff 
+2abe 6812011c hfetch 4 ,core_gpio_in 
+2abf 60020abe store 4 ,mem_saved_gpio_in 
+2ac0 6810813e hfetch 1 ,core_lpm_ldocnt 
+2ac1 60008abd store 1 ,mem_wakup_from_power_flag 
+2ac2 c301e45b bbit0 gpio_latch ,loadcode 
+2ac3 7835fc00 enable wake 
+2ac4 c303aacc bbit0 cold_wake ,lpmwake 
+2ac5 7855fc00 disable wake 
+2ac6 1ce27e00 deposit auxcnt 
+2ac7 243a2acc nbranch lpmwake ,blank 
+2ac8 6810813b hfetch 1 ,core_lpm_ctrl + 3 
+2ac9 c2812acc bbit1 reload_code ,lpmwake 
+2aca d85fffff arg param_hibernate_clks ,temp 
+2acb 20202b3c branch lpm_enter_sleep 
+
+lpmwake:
+2acc 6811813c hfetch 3 ,core_lpm_xtalcnt 
+2acd 6011804c hstore 3 ,core_lpm_reg 
+2ace e8c08000 ifetch 1 ,contr 
+2acf 1fe1feef or_into isogate_mask ,pdata 
+2ad0 e0a08000 istore 1 ,contw 
+2ad1 20402c23 call lpm_write_ctrl2 
+2ad2 6810804f hfetch 1 ,core_lpm_isogate 
+2ad3 79207e04 set1 enable_retmem ,pdata 
+2ad4 6010804f hstore 1 ,core_lpm_isogate 
+2ad5 20402c23 call lpm_write_ctrl2 
+2ad6 2055aadf call lpm_load_context ,wake 
+2ad7 6810804e hfetch 1 ,core_lpm_reg + 2 
+2ad8 793ffe03 set0 gpio_latch ,pdata 
+2ad9 6010804e hstore 1 ,core_lpm_reg + 2 
+2ada 20402c23 call lpm_write_ctrl2 
+2adb 2435e45b nbranch loadcode ,wake 
+2adc c6958000 rtnmark0 mark_otp_encrypt 
+2add 70800608 jam lock_otp ,core_misc_ctrl 
+2ade 20600000 rtn 
+
+lpm_load_context:
+2adf 6800c198 fetch 1 ,mem_saved_spidctrl 
+2ae0 60108086 hstore 1 ,core_spid_ctrl 
+2ae1 6801c18d fetch 3 ,mem_saved_gsel 
+2ae2 60118080 hstore 3 ,core_gpio_sel 
+2ae3 68024181 fetch 4 ,mem_saved_gpio + 4 
+2ae4 60120074 hstore 4 ,core_gpio_out0 
+2ae5 6802417d fetch 4 ,mem_saved_gpio 
+2ae6 60120070 hstore 4 ,core_gpio_oe0 
+2ae7 68044185 fetch 8 ,mem_saved_gpio + 8 
+2ae8 60140078 hstore 8 ,core_gpio_pu0 
+2ae9 68044190 fetch 8 ,mem_saved_mark 
+2aea 98000000 iforce mark 
+2aeb 68140140 hfetch 8 ,core_gpio_wakeup_low 
+2aec 600400a1 store 8 ,mem_gpio_wakeup_low 
+2aed 204064ca call load_ucode 
+2aee 20600000 rtn 
+
+lpm_save_context:
+2aef 18027e00 deposit mark 
+2af0 60044190 store 8 ,mem_saved_mark 
+2af1 68140070 hfetch 8 ,core_gpio_oe0 
+2af2 6004417d store 8 ,mem_saved_gpio 
+2af3 e8c40000 ifetch 8 ,contr 
+2af4 e0a40000 istore 8 ,contw 
+2af5 68118080 hfetch 3 ,core_gpio_sel 
+2af6 6001c18d store 3 ,mem_saved_gsel 
+2af7 68108086 hfetch 1 ,core_spid_ctrl 
+2af8 6000c198 store 1 ,mem_saved_spidctrl 
+2af9 20202c29 branch lpm_write_gpio_wakeup 
+
+lpo_calibration:
+2afa 68108063 hfetch 1 ,core_bist_ctrl 
+2afb 243a2b00 nbranch lpo_cal_inited ,blank 
+2afc 6801c16f fetch 3 ,mem_clks_per_lpo 
+2afd 247a0000 nrtn blank 
+2afe 708063c0 jam 0xc0 ,core_bist_ctrl 
+2aff 70800680 jam ccnt_start ,core_misc_ctrl 
+
+lpo_cal_inited:
+2b00 6810812d hfetch 1 ,core_perf_status 
+2b01 c4008000 rtnbit0 1 
+2b02 68118149 hfetch 3 ,core_clk_counter 
+2b03 6001c16f store 3 ,mem_clks_per_lpo 
+2b04 20600000 rtn 
+
+lpm_adjust_clk:
+2b05 44d1c014 bpatch patch14_3 ,mem_patch14 
+2b06 1b427e00 deposit clke 
+2b07 20407f37 call clk_diff_rt 
+2b08 680a415f fetcht 4 ,mem_sleep_counter_all 
+2b09 18467cff sub temp ,0xff ,null 
+2b0a 20610000 rtn positive 
+2b0b 1fed7e00 lshift8 pdata ,pdata 
+2b0c 1ff27e00 lshift4 pdata ,pdata 
+2b0d 9846fc00 idiv temp 
+2b0e 20407f86 call wait_div_end 
+2b0f 1807fe00 quotient pdata 
+2b10 d84000c8 arg param_lpm_adjmax ,temp 
+2b11 20407f91 call ceiling 
+2b12 60008099 store 1 ,mem_lpm_adjust 
+2b13 24342b15 nbranch lpm_adjust_positive ,user 
+2b14 1fe67e00 sub pdata ,0 ,pdata 
+
+lpm_adjust_positive:
+2b15 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b16 9840fe00 iadd temp ,pdata 
+2b17 6001c16f store 3 ,mem_clks_per_lpo 
+
+lpm_clear_counter:
+2b18 58000000 setarg 0 
+2b19 6002415f store 4 ,mem_sleep_counter_all 
+2b1a 20600000 rtn 
+
+lpm_doze:
+2b1b 6800c177 fetch 1 ,mem_lpm_config + 2 
+2b1c 79207e02 set1 reload_code ,pdata 
+2b1d 6000c177 store 1 ,mem_lpm_config + 2 
+2b1e 20202b23 branch lpm_hibernate_normal 
+
+lpm_hibernate:
+2b1f d85fffff arg param_hibernate_clks ,temp 
+2b20 6800c176 fetch 1 ,mem_lpm_config + 1 
+2b21 793ffe07 set0 7 ,pdata 
+2b22 6000c176 store 1 ,mem_lpm_config + 1 
+
+lpm_hibernate_normal:
+2b23 44d24014 bpatch patch14_4 ,mem_patch14 
+2b24 20402c29 call lpm_write_gpio_wakeup 
+2b25 6800c157 fetch 1 ,mem_lpm_hibernate_switch 
+2b26 6000c17c store 1 ,mem_lpm_xtalcnt + 4 
+2b27 6800c17a fetch 1 ,mem_lpm_xtalcnt + 2 
+2b28 79207e07 set1 cold_wake ,pdata 
+2b29 6000c17a store 1 ,mem_lpm_xtalcnt + 2 
+
+lpm_sleep:
+2b2a 44d2c014 bpatch patch14_5 ,mem_patch14 
+2b2b 204029e7 call xtal_fast_wake 
+2b2c 6802415f fetch 4 ,mem_sleep_counter_all 
+2b2d 9840fe00 iadd temp ,pdata 
+2b2e 6002415f store 4 ,mem_sleep_counter_all 
+2b2f 20402aef call lpm_save_context 
+2b30 6802c178 fetch 5 ,mem_lpm_xtalcnt 
+2b31 6012004c hstore 4 ,core_lpm_reg 
+2b32 1fef2200 rshift32 pdata ,rega 
+2b33 37d98200 until null ,lpo_edge 
+2b34 1b227e00 deposit clkn 
+2b35 60034163 store 6 ,mem_sleep_clkn 
+2b36 70800502 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+2b37 37d98200 until null ,lpo_edge 
+2b38 37d98200 until null ,lpo_edge 
+2b39 1a227e00 deposit rega 
+2b3a 6010804f hstore 1 ,core_lpm_isogate 
+2b3b 70800502 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+
+lpm_enter_sleep:
+2b3c 37d98200 until null ,lpo_edge 
+2b3d 37d98200 until null ,lpo_edge 
+2b3e 601a004c hstoret 4 ,core_lpm_reg 
+2b3f 70800510 jam lpmreg_sel_counter ,core_lpm_wr 
+2b40 37df8200 until null ,never 
+
+lpm_recover_clk:
+2b41 44d34014 bpatch patch14_6 ,mem_patch14 
+2b42 58000000 setarg 0 
+2b43 1ce27c00 copy auxcnt ,null 
+2b44 2022ab4c branch lpm_recover_timeout ,zero 
+2b45 6810813c hfetch 1 ,core_lpm_xtalcnt 
+2b46 6818813d hfetcht 1 ,core_lpm_buckcnt 
+2b47 98467c00 isub temp ,null 
+2b48 20212b4a branch lpm_recover_xtal ,positive 
+2b49 18427e00 deposit temp 
+
+lpm_recover_xtal:
+2b4a 9ce67e00 isub auxcnt ,pdata 
+2b4b 1fe0fe01 increase 1 ,pdata 
+
+lpm_recover_timeout:
+2b4c 1fe0fe08 increase 8 ,pdata 
+2b4d 37d98200 until null ,lpo_edge 
+2b4e 9e20fe00 iadd lpo_time ,pdata 
+2b4f 680a415b fetcht 4 ,mem_sleep_counter 
+2b50 9840fe00 iadd temp ,pdata 
+2b51 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b52 984ffe00 imul32 temp ,pdata 
+2b53 1fecfe00 rshift8 pdata ,pdata 
+2b54 1ff1fe00 rshift4 pdata ,pdata 
+2b55 1fe0fe6e increase param_lpm_fix ,pdata 
+2b56 d8400ea6 arg 3750 ,temp 
+2b57 9846fc00 idiv temp 
+2b58 20407f86 call wait_div_end 
+2b59 1807fe00 quotient pdata 
+2b5a 1ff07e00 lshift16 pdata ,pdata 
+2b5b 18070400 remainder temp 
+2b5c 9841fe00 ior temp ,pdata 
+2b5d 680b4163 fetcht 6 ,mem_sleep_clkn 
+2b5e 20407f2c call clk_add 
+2b5f 18423200 copy temp ,clkn 
+2b60 68034048 fetch 6 ,mem_context + coffset_clk_offset 
+2b61 20402854 call calc_clke2 
+2b62 1b427e00 deposit clke 
+2b63 60030a9a store 6 ,mem_pdatatemp 
+2b64 1ce27e00 deposit auxcnt 
+2b65 e0a08000 istore 1 ,contw 
+2b66 6810811d hfetch 1 ,core_gpio_in1 
+2b67 1fe1fef0 or_into 0xf0 ,pdata 
+2b68 e0a08000 istore 1 ,contw 
+2b69 20600000 rtn 
+
+lpm_dispatch:
+2b6a 44d3c014 bpatch patch14_7 ,mem_patch14 
+2b6b 20402afa call lpo_calibration 
+2b6c 6801c16f fetch 3 ,mem_clks_per_lpo 
+2b6d 207a0000 rtn blank 
+2b6e 6800c091 fetch 1 ,mem_lpm_mode 
+2b6f 207a0000 rtn blank 
+2b70 6800c65a fetch 1 ,mem_ssp_enable 
+2b71 203a2b74 branch lpm_dispatch_next ,blank 
+2b72 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2b73 207a0000 rtn blank 
+
+lpm_dispatch_next:
+2b74 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2b75 247a0000 nrtn blank 
+2b76 20402c3a call lpm_check_wake_lock 
+2b77 247a0000 nrtn blank 
+2b78 6800c040 fetch 1 ,mem_context 
+2b79 2fe00e03 compare 3 ,pdata ,0x7 
+2b7a 2420ab9d nbranch lpm_dispatch_unconn ,true 
+2b7b 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b7c 207a0000 rtn blank 
+2b7d 20758000 rtn wake 
+2b7e 44d44015 bpatch patch15_0 ,mem_patch15 
+
+lpm_dispatch_next2:
+2b7f 680880a0 fetcht 1 ,mem_lpm_current_mult 
+2b80 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b81 984ffe00 imul32 temp ,pdata 
+2b82 18518400 rshift4 temp ,temp 
+2b83 184b0400 rshift2 temp ,temp 
+2b84 98467e00 isub temp ,pdata 
+2b85 680a4044 fetcht 4 ,mem_context + coffset_sniff_anchor 
+2b86 9840fe00 iadd temp ,pdata 
+2b87 6808c156 fetcht 1 ,mem_lpm_overhead 
+2b88 98467e00 isub temp ,pdata 
+2b89 1ff06000 lshift16 pdata ,alarm 
+2b8a 44d4c015 bpatch patch15_1 ,mem_patch15 
+2b8b 6801404e fetch 2 ,mem_context + coffset_rx_window 
+2b8c 1fe37e00 rshift pdata ,pdata 
+2b8d 20407f50 call clk2bt 
+2b8e 1e027e00 deposit alarm 
+2b8f 20407f39 call clk_diff 
+2b90 1b420400 copy clke ,temp 
+2b91 20407f37 call clk_diff_rt 
+2b92 20740000 rtn user 
+
+lpm_dispatch_sleep:
+2b93 20407f49 call clk2lpo 
+
+lpm_dispatch_lpo:
+2b94 44d54015 bpatch patch15_2 ,mem_patch15 
+2b95 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2b96 98467c00 isub temp ,null 
+2b97 20212b18 branch lpm_clear_counter ,positive 
+2b98 600a415b storet 4 ,mem_sleep_counter 
+2b99 20403328 call app_will_enter_lpm 
+2b9a 204052fb call l2cap_lpm_save_txbuf 
+2b9b 680a415b fetcht 4 ,mem_sleep_counter 
+2b9c 20202b2a branch lpm_sleep 
+
+lpm_dispatch_unconn:
+2b9d 44d5c015 bpatch patch15_3 ,mem_patch15 
+2b9e 6800c040 fetch 1 ,mem_context 
+2b9f c3800000 rtnbit1 state_inconn 
+2ba0 c3818000 rtnbit1 state_inpage 
+2ba1 6800c65a fetch 1 ,mem_ssp_enable 
+2ba2 203a2ba5 branch lpm_unconn_nossp ,blank 
+2ba3 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2ba4 207a0000 rtn blank 
+
+lpm_unconn_nossp:
+2ba5 44d64015 bpatch patch15_4 ,mem_patch15 
+2ba6 6800c36e fetch 1 ,mem_le_adv_enable 
+2ba7 243a2baa nbranch lpm_unconn_cont ,blank 
+2ba8 6800c093 fetch 1 ,mem_scan_mode 
+2ba9 207a0000 rtn blank 
+
+lpm_unconn_cont:
+2baa 68014154 fetch 2 ,mem_lpm_interval 
+2bab 207a0000 rtn blank 
+
+lpm_sleep_btclk:
+2bac 6808c156 fetcht 1 ,mem_lpm_overhead 
+2bad 98467e00 isub temp ,pdata 
+2bae d8401d4c arg 7500 ,temp 
+2baf 984ffe00 imul32 temp ,pdata 
+2bb0 20202b93 branch lpm_dispatch_sleep 
+
+lpm_set_mult:
+2bb1 44d6c015 bpatch patch15_5 ,mem_patch15 
+2bb2 7855fc00 disable wake 
+2bb3 68008030 fetch 1 ,mem_state 
+2bb4 c4008000 rtnbit0 state_insniff 
+2bb5 2436abd0 nbranch lpm_not_match ,match 
+2bb6 20402bcb call lpm_match 
+2bb7 680140c1 fetch 2 ,mem_rx_window_sniff 
+2bb8 6001003e store 2 ,mem_rx_window 
+2bb9 68008047 fetch 1 ,mem_arq 
+2bba c281abde bbit1 wack ,lpm_mult_short 
+2bbb c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bbc 20405274 call l2cap_malloc_is_fifo_empty 
+2bbd 243a2bde nbranch lpm_mult_short ,blank 
+2bbe 6800c55c fetch 1 ,mem_classic_bt_flag 
+2bbf c280abde bbit1 short_mult_flag ,lpm_mult_short 
+
+lpm_mult_wait_timeout:
+2bc0 7000a000 jam 0 ,mem_lpm_current_mult 
+2bc1 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bc2 6800c174 fetch 1 ,mem_lpm_mult_cnt 
+2bc3 203a2be2 branch lpm_mult_long ,blank 
+2bc4 1fe0ffff increase -1 ,pdata 
+2bc5 6000c174 store 1 ,mem_lpm_mult_cnt 
+2bc6 20600000 rtn 
+
+classic_bt_set_mult_short_flag:
+2bc7 d8e00001 arg short_mult_flag ,queue 
+2bc8 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_mult_short_flag:
+2bc9 d8e00001 arg short_mult_flag ,queue 
+2bca 202060d1 branch classic_bluetooth_clr_flag 
+
+lpm_match:
+2bcb 70415900 jam 0 ,mem_sniff_unint_lost 
+2bcc 6801c169 fetch 3 ,mem_sniff_rcv 
+2bcd 1fe0fe01 increase 1 ,pdata 
+2bce 6001c169 store 3 ,mem_sniff_rcv 
+2bcf 20600000 rtn 
+
+lpm_not_match:
+2bd0 44d74015 bpatch patch15_6 ,mem_patch15 
+2bd1 680940c1 fetcht 2 ,mem_rx_window_sniff 
+2bd2 18430400 rshift temp ,temp 
+2bd3 6801003e fetch 2 ,mem_rx_window 
+2bd4 9840fe00 iadd temp ,pdata 
+2bd5 6001003e store 2 ,mem_rx_window 
+
+lpm_lost:
+2bd6 7000a000 jam 0 ,mem_lpm_current_mult 
+2bd7 6801c16c fetch 3 ,mem_sniff_lost 
+2bd8 1fe0fe01 increase 1 ,pdata 
+2bd9 6001c16c store 3 ,mem_sniff_lost 
+2bda 6800c159 fetch 1 ,mem_sniff_unint_lost 
+2bdb 1fe0fe01 increase 1 ,pdata 
+2bdc 6000c159 store 1 ,mem_sniff_unint_lost 
+2bdd 20600000 rtn 
+
+lpm_mult_short:
+2bde 7000a000 jam 0 ,mem_lpm_current_mult 
+2bdf 6800c173 fetch 1 ,mem_lpm_mult_timeout 
+2be0 6000c174 store 1 ,mem_lpm_mult_cnt 
+2be1 20600000 rtn 
+
+lpm_mult_long:
+2be2 6808c172 fetcht 1 ,mem_lpm_mult 
+2be3 600880a0 storet 1 ,mem_lpm_current_mult 
+2be4 20600000 rtn 
+
+lpm_cal_xtal_startup:
+2be5 44d7c015 bpatch patch15_7 ,mem_patch15 
+2be6 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2be7 247a0000 nrtn blank 
+2be8 70804206 jam clksel_rc ,core_clksel 
+2be9 58000f0c setarg 0xf0c 
+2bea 20402c18 call lpm_write_config 
+2beb 58030d40 setarg 200000 
+2bec 20402a8f call sleep 
+2bed 37d98200 until null ,lpo_edge 
+2bee 1e226000 copy lpo_time ,alarm 
+2bef 204029e7 call xtal_fast_wake 
+2bf0 70804204 jam clksel_xtal ,core_clksel 
+2bf1 2000000a nop 10 
+2bf2 37d98200 until null ,lpo_edge 
+2bf3 1e227e00 deposit lpo_time 
+2bf4 9e067e00 isub alarm ,pdata 
+2bf5 1fe0fe30 increase 0x30 ,pdata 
+2bf6 d84000ff arg 0xff ,temp 
+2bf7 20407f91 call ceiling 
+2bf8 6000c178 store 1 ,mem_lpm_xtalcnt 
+2bf9 20007530 nop 30000 
+2bfa 20007530 nop 30000 
+2bfb 20007530 nop 30000 
+2bfc 20600000 rtn 
+
+lpm_cal_xtal_startup_by_snooze:
+2bfd 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2bfe 247a0000 nrtn blank 
+2bff 708044ff jam 0xff ,core_xtal_stable_time 
+2c00 70804206 jam clksel_rc ,core_clksel 
+2c01 204029e7 call xtal_fast_wake 
+2c02 580003e8 setarg 1000 
+2c03 9e20e000 iadd lpo_time ,alarm 
+2c04 07e00000 snooze 
+2c05 1e227e00 deposit lpo_time 
+2c06 20002ee0 nop 12000 
+2c07 20002ee0 nop 12000 
+2c08 20002ee0 nop 12000 
+2c09 20002ee0 nop 12000 
+2c0a 20002ee0 nop 12000 
+2c0b 20002ee0 nop 12000 
+2c0c 20002ee0 nop 12000 
+2c0d 20002ee0 nop 12000 
+2c0e 20002ee0 nop 12000 
+2c0f 9e067e00 isub alarm ,pdata 
+2c10 1fe0fe30 add pdata ,0x30 ,pdata 
+2c11 d84000ff arg 0xff ,temp 
+2c12 20407f91 call ceiling 
+2c13 6000c178 store 1 ,mem_lpm_xtalcnt 
+2c14 20007530 nop 30000 
+2c15 20007530 nop 30000 
+2c16 20007530 nop 30000 
+2c17 20600000 rtn 
+
+lpm_write_config:
+2c18 d8a00fff arg 0xfff ,contw 
+2c19 98a10a00 iand contw ,contw 
+2c1a 6800c175 fetch 1 ,mem_lpm_config 
+2c1b 1fe17ef0 and_into 0xf0 ,pdata 
+2c1c 1fed7e00 lshift8 pdata ,pdata 
+2c1d 98a1fe00 ior contw ,pdata 
+2c1e 6011004c hstore 2 ,core_lpm_reg 
+2c1f e8c10000 ifetch 2 ,contr 
+2c20 e0a10000 istore 2 ,contw 
+
+lpm_write_ctrl:
+2c21 58000001 setarg lpmreg_sel_ctrl 
+2c22 20202c24 branch lpm_write 
+
+lpm_write_ctrl2:
+2c23 58000002 setarg lpmreg_sel_ctrl2 
+
+lpm_write:
+2c24 37d98200 until null ,lpo_edge 
+2c25 60108005 hstore 1 ,core_lpm_wr 
+2c26 37d98200 until null ,lpo_edge 
+2c27 37d98200 until null ,lpo_edge 
+2c28 20600000 rtn 
+
+lpm_write_gpio_wakeup:
+2c29 44d84016 bpatch patch16_0 ,mem_patch16 
+2c2a 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+2c2b 6012004c hstore 4 ,core_lpm_reg 
+2c2c 58000004 setarg lpmreg_sel_gpiolow 
+2c2d 20402c24 call lpm_write 
+2c2e 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+2c2f 6012004c hstore 4 ,core_lpm_reg 
+2c30 58000008 setarg lpmreg_sel_gpiohigh 
+2c31 20202c24 branch lpm_write 
+
+lpm_get_wake_lock:
+2c32 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c33 f9207e00 qset1 pdata 
+2c34 60014152 store 2 ,mem_lpm_wake_lock 
+2c35 20600000 rtn 
+
+lpm_put_wake_lock:
+2c36 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c37 f93ffe00 qset0 pdata 
+2c38 60014152 store 2 ,mem_lpm_wake_lock 
+2c39 20600000 rtn 
+
+lpm_check_wake_lock:
+2c3a 44d8c016 bpatch patch16_1 ,mem_patch16 
+2c3b 20403326 call app_check_wake_lock 
+2c3c 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c3d 1fe22200 copy pdata ,rega 
+2c3e 6800804c fetch 1 ,mem_state_map 
+2c3f 2feffe06 isolate1 smap_rxlmp ,pdata 
+2c40 7920a20b setflag true ,wake_lock_lmp_rx ,rega 
+2c41 68008078 fetch 1 ,mem_lmo_opcode1 
+2c42 6808807c fetcht 1 ,mem_lmo_opcode2 
+2c43 9840fe00 iadd temp ,pdata 
+2c44 68088048 fetcht 1 ,mem_lmp_to_send 
+2c45 9840fe00 iadd temp ,pdata 
+2c46 7d3a220a nsetflag blank ,wake_lock_lmp_tx ,rega 
+2c47 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+2c48 7d3a2201 nsetflag blank ,wake_lock_ble_tx ,rega 
+2c49 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+2c4a 6809025f fetcht 2 ,mem_l2cap_rxbuff2_len 
+2c4b 9840fe00 iadd temp ,pdata 
+2c4c 7d3a220d nsetflag blank ,wake_lock_l2cap_rx ,rega 
+2c4d 68044668 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+2c4e 7d3a220f nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+2c4f 68044670 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+2c50 7d3a220e nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+2c51 6800c1ce fetch 1 ,mem_hci_cmd 
+2c52 7d3a2208 nsetflag blank ,wake_lock_cmd ,rega 
+2c53 6800c092 fetch 1 ,mem_device_option 
+2c54 2fe1fe0a compare dvc_op_module ,pdata ,0xff 
+2c55 2040ac5b call lpm_uart_wake_lock ,true 
+2c56 5ffffff8 setarg -8 
+2c57 9a212200 iand rega ,rega 
+2c58 1a227e00 copy rega ,pdata 
+2c59 60014152 store 2 ,mem_lpm_wake_lock 
+2c5a 20600000 rtn 
+
+lpm_uart_wake_lock:
+2c5b 68110112 hfetch 2 ,core_uart_rxitems 
+2c5c 7d3a2206 nsetflag blank ,wake_lock_uart_rx ,rega 
+2c5d 6811010e hfetch 2 ,core_uart_txitems 
+2c5e 7d3a2205 nsetflag blank ,wake_lock_uart_tx ,rega 
+2c5f 20600000 rtn 
+
+lpm_shut_down:
+2c60 68120138 hfetch 4 ,core_lpm_ctrl 
+2c61 793ffe1b set0 27 ,pdata 
+2c62 6012004c hstore 4 ,core_lpm_reg 
+2c63 20402c21 call lpm_write_ctrl 
+2c64 20202a8c branch assert 
+
+lpm_disable_exen_output:
+2c65 6812013c hfetch 4 ,core_lpm_xtalcnt 
+2c66 793ffe14 set0 20 ,pdata 
+2c67 6012004c hstore 4 ,core_lpm_reg 
+2c68 20202c23 branch lpm_write_ctrl2 
+
+check_bt_disabled:
+2c69 68014150 fetch 2 ,mem_chip_functions 
+2c6a c2802a8c bbit1 bt_disabled ,assert 
+2c6b 20600000 rtn 
+
+check_ble_disabled:
+2c6c 68014150 fetch 2 ,mem_chip_functions 
+2c6d c280aa8c bbit1 ble_disabled ,assert 
+2c6e 20600000 rtn 
+
+check_module_disabled:
+2c6f 68014150 fetch 2 ,mem_chip_functions 
+2c70 c2812a8c bbit1 module_disable ,assert 
+2c71 20600000 rtn 
+
+g24_dispatch:
+2c72 44d94016 bpatch patch16_2 ,mem_patch16 
+2c73 20402c7a call g24_head_ptr2regc 
+2c74 1a60a4cd add regc ,offset_24g_mode ,regb 
+2c75 ea408000 ifetch 1 ,regb 
+2c76 c1000000 rtneq disable_24g 
+2c77 c000ad06 beq tx_24g ,g24_transmit_process 
+2c78 c0012c7f beq rx_24g ,g24_receive_process 
+2c79 20600000 rtn 
+
+g24_head_ptr2regc:
+2c7a 68094241 fetcht 2 ,mem_24g_head_ptr 
+2c7b 18422600 copy temp ,regc 
+2c7c 20600000 rtn 
+
+g24_receive_process_init:
+2c7d 20402f3d call g24_receive_init 
+2c7e 2020307d branch g24_mode_switch_init 
+
+g24_receive_process:
+2c7f 20403084 call g24_mode_switch 
+2c80 2040305a call g24_dongle_work_mode_auto 
+2c81 2040305e call g24_dongle_bind_mode_auto 
+2c82 202030a2 branch g24_dongle_search_mode_auto 
+
+g24_pair_init:
+2c83 20403231 call g24_set0_mem_pid 
+2c84 5800004e setarg g24_pair_ch 
+2c85 2040322f call g24_store_mem_ch 
+2c86 204032ba call g24_store_mem_pair_txpower 
+2c87 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2c88 ea220000 ifetch 4 ,rega 
+2c89 2020322c branch g24_store_mem_addr 
+
+g24_ch:
+2c8a 20402c7a call g24_head_ptr2regc 
+2c8b 1a60a491 add regc ,offset_24g_current_ch_number ,regb 
+2c8c ea488000 ifetcht 1 ,regb 
+2c8d 20402c90 call g24_ch_temp_incre_size4 
+2c8e 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+2c8f 20202e56 branch g24_contw_istoret_1byte 
+
+g24_ch_temp_incre_size4:
+2c90 20402c94 call g24_ch_calc 
+2c91 18408401 increase 1 ,temp 
+2c92 18410403 and_into 3 ,temp 
+2c93 20600000 rtn 
+
+g24_ch_calc:
+2c94 1a60a4ae add regc ,offset_24g_addr ,regb 
+2c95 ea408000 ifetch 1 ,regb 
+2c96 1fe17e03 and_into 0x03 ,pdata 
+2c97 1fefa204 mul32 pdata ,4 ,rega 
+2c98 1a60fe97 add regc ,offset_24g_ch_map1 ,pdata 
+2c99 9a20fe00 iadd rega ,pdata 
+2c9a 98408c00 iadd temp ,contr 
+2c9b e8c08000 ifetch 1 ,contr 
+2c9c 2020322f branch g24_store_mem_ch 
+
+g24_set_device_addr:
+2c9d 2040326c call g24_store_mem_tx_power_temp 
+2c9e 2040666a call otp_enable_chgpump 
+2c9f 580007e2 setarg 0x7e2 
+2ca0 da200aa2 arg mem_temp ,rega 
+2ca1 d8400004 arg 4 ,temp 
+2ca2 204066b3 call otpd_read_data 
+2ca3 2040666d call otp_disable_chgpump 
+2ca4 68020aa2 fetch 4 ,mem_temp 
+2ca5 20403227 call g24_store_mem_device_addr 
+2ca6 247a0000 nrtn blank 
+2ca7 680240a0 fetch 4 ,mem_lap 
+2ca8 20203227 branch g24_store_mem_device_addr 
+
+g24_transmit_rf_sta_init:
+2ca9 20403241 call g24_set1_mem_rf_last_sta 
+2caa 58000000 setarg 0 
+2cab 2040323f call g24_store_mem_sync_cnt 
+
+g24_transmit_rf_ctrl_clear:
+2cac 2040323a call g24_fetch_mem_data_type 
+2cad 1fe17e07 and_into bits_data ,pdata 
+2cae 2020323c branch g24_store_mem_data_type 
+
+g24_hop_ch_enable:
+2caf 2040323a call g24_fetch_mem_data_type 
+2cb0 79207e04 set1 bit_hop ,pdata 
+2cb1 2040323c call g24_store_mem_data_type 
+2cb2 20203235 branch g24_store_mem_txpayload 
+
+g24_transmit_hop_pac_fail:
+2cb3 2040325d call g24_fetch_mem_rf_work_stage 
+2cb4 c000acb7 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+2cb5 c0012cbc beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+2cb6 20600000 rtn 
+
+g24_transmit_hop_pac_fail_wo_hop:
+2cb7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_fail_stage1:
+2cb8 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2cb9 204032d6 call g24_mem_set0 
+2cba 20403242 call g24_store_mem_rf_last_sta 
+2cbb 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_hop_pac_fail_hop_stage2:
+2cbc 2040325a call g24_set0_mem_rf_hop_ch 
+2cbd 20202cb8 branch g24_transmit_hop_pac_fail_stage1 
+
+g24_transmit_pac_fail_hop_stage3:
+2cbe 1a60a28c add regc ,offset_24g_txfail_cnt ,rega 
+2cbf ea208000 ifetch 1 ,rega 
+2cc0 1fe0fe01 increase 1 ,pdata 
+2cc1 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2cc2 e0a08000 istore 1 ,contw 
+2cc3 c0102dd2 beq 0x20 ,g24_tx_attempt_fail 
+2cc4 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc5 c000acca beq 1 ,g24_rf_hop_fastly 
+2cc6 58000001 setarg 1 
+2cc7 2040325b call g24_store_mem_rf_hop_ch 
+
+g24_rf_hop_attemp_again:
+2cc8 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc9 c080acac bne 1 ,g24_transmit_rf_ctrl_clear 
+
+g24_rf_hop_fastly:
+2cca 1a60a2d3 add regc ,offset_24g_hop_fastly_cnt ,rega 
+2ccb ea208000 ifetch 1 ,rega 
+2ccc 1fe0fe01 increase 1 ,pdata 
+2ccd 20402cd5 call g24_store_mem_hop_fastly_cnt 
+2cce c0022cd2 beq 4 ,g24_rf_hop_fastly_exit 
+2ccf 20402c8a call g24_ch 
+2cd0 20402d04 call g24_set2_mem_max_retry 
+2cd1 20202d8f branch g24_transmit_packet 
+
+g24_rf_hop_fastly_exit:
+2cd2 20402cd4 call g24_set0_mem_hop_fastly_cnt 
+2cd3 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_set0_mem_hop_fastly_cnt:
+2cd4 58000000 setarg 0 
+
+g24_store_mem_hop_fastly_cnt:
+2cd5 1a608ad3 add regc ,offset_24g_hop_fastly_cnt ,contw 
+2cd6 202032b4 branch g24_contw_istore_1byte 
+
+g24_transmit_hop_pac_succ_wo_hop:
+2cd7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_succ:
+2cd8 2040325a call g24_set0_mem_rf_hop_ch 
+2cd9 20403241 call g24_set1_mem_rf_last_sta 
+2cda 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_succ_rf_config:
+2cdb 2040325d call g24_fetch_mem_rf_work_stage 
+2cdc c001acd8 beq 3 ,g24_transmit_hop_pac_succ 
+2cdd 2040323a call g24_fetch_mem_data_type 
+2cde 2fec0004 isolate0 bit_hop ,pdata 
+2cdf 2020aca9 branch g24_transmit_rf_sta_init ,true 
+2ce0 2040325d call g24_fetch_mem_rf_work_stage 
+2ce1 c000acd7 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+2ce2 c0012cd8 beq 2 ,g24_transmit_hop_pac_succ 
+2ce3 20600000 rtn 
+
+g24_rf_sta_check:
+2ce4 20403253 call g24_fetch_mem_pairing_sm 
+2ce5 c1ff8000 rtnne state_24g_pairing_success 
+2ce6 20402ce9 call g24_rf_laststa_synccnt_check 
+2ce7 24562cf4 ncall g24_rf_sync_cnt_check ,user2 
+2ce8 20600000 rtn 
+
+g24_rf_laststa_synccnt_check:
+2ce9 78567c00 disable user2 
+2cea 1a60a2ce add regc ,offset_24g_rf_last_sta ,rega 
+2ceb ea208000 ifetch 1 ,rega 
+2cec c1808000 rtnne 1 
+2ced 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cee ea208000 ifetch 1 ,rega 
+2cef c1800000 rtnne 0 
+2cf0 58000001 setarg 1 
+2cf1 20402cfd call g24_store_mem_rf_work_stage 
+2cf2 20403237 call g24_set4_mem_max_retry 
+2cf3 20207feb branch enable_user2 
+
+g24_rf_sync_cnt_check:
+2cf4 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cf5 ea208000 ifetch 1 ,rega 
+2cf6 203a2cff branch g24_rf_hop_attemp ,blank 
+2cf7 1fe0ffff increase -1 ,pdata 
+2cf8 2040323f call g24_store_mem_sync_cnt 
+2cf9 58000002 setarg 2 
+2cfa 20402cfd call g24_store_mem_rf_work_stage 
+2cfb 20402c8a call g24_ch 
+2cfc 20203237 branch g24_set4_mem_max_retry 
+
+g24_store_mem_rf_work_stage:
+2cfd 1a608ad2 add regc ,offset_24g_rf_work_stage ,contw 
+2cfe 202032b4 branch g24_contw_istore_1byte 
+
+g24_rf_hop_attemp:
+2cff 58000003 setarg 3 
+2d00 20402cfd call g24_store_mem_rf_work_stage 
+2d01 20403258 call g24_fetch_mem_rf_hop_ch 
+2d02 243a2cc8 nbranch g24_rf_hop_attemp_again ,blank 
+2d03 20402c8a call g24_ch 
+
+g24_set2_mem_max_retry:
+2d04 58000002 setarg 2 
+2d05 20203238 branch g24_store_mem_max_retry 
+
+g24_transmit_process:
+2d06 c6930000 rtnmark0 mark_24g 
+2d07 79200027 set1 mark_24g_conext ,mark 
+2d08 44d9c016 bpatch patch16_3 ,mem_patch16 
+2d09 1a60a28e add regc ,offset_24g_tx_without_int ,rega 
+2d0a ea208000 ifetch 1 ,rega 
+2d0b c000ad0f beq 1 ,g24_transmit_without_int 
+2d0c 2040306a call g24_timer_check 
+2d0d 24342d16 nbranch g24_transmit_exit ,user 
+2d0e 20402d1b call g24_interval_calibrate 
+
+g24_transmit_without_int:
+2d0f 1a608a8e add regc ,offset_24g_tx_without_int ,contw 
+2d10 204032d6 call g24_mem_set0 
+2d11 20402d2c call g24_txdata_prep 
+2d12 24342d7d nbranch g24_enter_lpm ,user 
+2d13 20402ce4 call g24_rf_sta_check 
+
+g24_transmit_start:
+2d14 20402d8f call g24_transmit_packet 
+2d15 20402e7a call g24_power_ctrl 
+
+g24_transmit_exit:
+2d16 793f8027 set0 mark_24g_conext ,mark 
+2d17 20600000 rtn 
+
+g24_timer_timeout:
+2d18 20628000 rtn zero 
+2d19 79207e1c set1 28 ,pdata 
+2d1a 20600000 rtn 
+
+g24_interval_calibrate:
+2d1b 1a60a2c2 add regc ,offset_24g_pac_index ,rega 
+2d1c ea208000 ifetch 1 ,rega 
+2d1d 1fe0fe01 increase 1 ,pdata 
+2d1e 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d1f e0a08000 istore 1 ,contw 
+2d20 c0022d23 beq 4 ,g24_interval_max 
+2d21 c002ad27 beq 5 ,g24_interval_min 
+2d22 20600000 rtn 
+
+g24_interval_max:
+2d23 1a60a2ad add regc ,offset_24g_interval_max ,rega 
+2d24 ea208000 ifetch 1 ,rega 
+
+g24_interval_update:
+2d25 1a608aab add regc ,offset_24g_interval ,contw 
+2d26 202032b4 branch g24_contw_istore_1byte 
+
+g24_interval_min:
+2d27 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d28 204032d6 call g24_mem_set0 
+2d29 1a60a2ac add regc ,offset_24g_interval_min ,rega 
+2d2a ea208000 ifetch 1 ,rega 
+2d2b 20202d25 branch g24_interval_update 
+
+g24_txdata_prep:
+2d2c 20403253 call g24_fetch_mem_pairing_sm 
+2d2d c0ffaeb1 bne state_24g_pairing_success ,g24_pairing_sm 
+2d2e 44da4016 bpatch patch16_4 ,mem_patch16 
+2d2f 20402d3a call g24_package_data 
+2d30 24342d36 nbranch g24_txdata_last_pac ,user 
+2d31 20402d53 call g24_transmit_prep 
+2d32 20402e71 call g24_power_ctrl_pac_incrs 
+
+g24_txdata_enable_tx:
+2d33 58000001 setarg ensure_on_24g 
+
+g24_store_mem_ensure:
+2d34 1a608a8b add regc ,offset_24g_ensure ,contw 
+2d35 202032b4 branch g24_contw_istore_1byte 
+
+g24_txdata_last_pac:
+2d36 1a60a28b add regc ,offset_24g_ensure ,rega 
+2d37 ea208000 ifetch 1 ,rega 
+2d38 c000ffe7 beq ensure_on_24g ,enable_user 
+2d39 20600000 rtn 
+
+g24_package_data:
+2d3a 1a6084d8 add regc ,offset_24g_cb_data ,temp 
+2d3b e8410000 ifetch 2 ,temp 
+2d3c 20407f9c call callback_func 
+2d3d 24740000 nrtn user 
+2d3e 1a227e00 copy rega ,pdata 
+2d3f 60008aae store 1 ,mem_rega 
+2d40 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+2d41 204032d6 call g24_mem_set0 
+2d42 20402cac call g24_transmit_rf_ctrl_clear 
+2d43 6000919e store 1 ,mem_24g_common_temp 
+2d44 68008aae fetch 1 ,mem_rega 
+2d45 1fe22200 copy pdata ,rega 
+2d46 1a208401 add rega ,1 ,temp 
+2d47 d8a0119f arg mem_24g_common_temp + 1 ,contw 
+2d48 1a227200 copy rega ,loopcnt 
+2d49 1a420c00 copy regb ,contr 
+2d4a 20407f01 call memcpy 
+2d4b da20119e arg mem_24g_common_temp ,rega 
+
+g24_put_data_in_buff:
+2d4c c6938000 rtnmark0 mark_24g_conext 
+2d4d 1a608a86 add regc ,offset_24g_datalen ,contw 
+2d4e e0a88000 istoret 1 ,contw 
+2d4f 18427200 copy temp ,loopcnt 
+2d50 1a608a22 add regc ,offset_24g_txbuf ,contw 
+2d51 1a220c00 copy rega ,contr 
+2d52 20207f01 branch memcpy 
+
+g24_transmit_prep:
+2d53 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d54 ea208000 ifetch 1 ,rega 
+2d55 1fe0fe02 increase 2 ,pdata 
+2d56 1a608a88 add regc ,offset_24g_txlen ,contw 
+2d57 e0a08000 istore 1 ,contw 
+2d58 2040323a call g24_fetch_mem_data_type 
+2d59 20403235 call g24_store_mem_txpayload 
+2d5a 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d5b ea208000 ifetch 1 ,rega 
+2d5c 1fe9fe00 lshift3 pdata ,pdata 
+2d5d 1a60a285 add regc ,offset_24g_pid ,rega 
+2d5e ea288000 ifetcht 1 ,rega 
+2d5f 18410403 and temp ,0x03 ,temp 
+2d60 18438400 lshift temp ,temp 
+2d61 9841fe00 ior temp ,pdata 
+2d62 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2d63 ea288000 ifetcht 1 ,rega 
+2d64 9840fe00 iadd temp ,pdata 
+2d65 e0a08000 istore 1 ,contw 
+2d66 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d67 ea208000 ifetch 1 ,rega 
+2d68 98007200 iforce loopcnt 
+2d69 1a608c22 add regc ,offset_24g_txbuf ,contr 
+2d6a 20207f01 branch memcpy 
+
+g24_send_abort_packet:
+2d6b 2040324f call g24_set1_mem_abort_pac 
+2d6c 2040325a call g24_set0_mem_rf_hop_ch 
+2d6d 20402e6d call g24_power_ctrl_reinit 
+2d6e 20402cac call g24_transmit_rf_ctrl_clear 
+2d6f 6000919e store 1 ,mem_24g_common_temp 
+2d70 20402d77 call g24_put_data_in_buff_pre 
+2d71 2040323a call g24_fetch_mem_data_type 
+2d72 79207e03 set1 bit_abort ,pdata 
+2d73 2040323c call g24_store_mem_data_type 
+2d74 20402d53 call g24_transmit_prep 
+2d75 20402d33 call g24_txdata_enable_tx 
+2d76 20202d14 branch g24_transmit_start 
+
+g24_put_data_in_buff_pre:
+2d77 6000919f store 1 ,mem_24g_common_temp + 1 
+2d78 20403224 call g24_fetch_mem_device_addr 
+2d79 600211a0 store 4 ,mem_24g_common_temp + 2 
+2d7a d8400006 arg 6 ,temp 
+2d7b da20119e arg mem_24g_common_temp ,rega 
+2d7c 20202d4c branch g24_put_data_in_buff 
+
+g24_enter_lpm:
+2d7d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+2d7e ea208000 ifetch 1 ,rega 
+2d7f 203a2d6b branch g24_send_abort_packet ,blank 
+
+g24_enter_lpm_prepare:
+2d80 1a60a2da add regc ,offset_24g_cb_lpm_prepare ,rega 
+2d81 ea210000 ifetch 2 ,rega 
+2d82 20207f9c branch callback_func 
+
+g24_lpm_long_sleep:
+2d83 20402c7a call g24_head_ptr2regc 
+2d84 20402afa call lpo_calibration 
+2d85 6801c16f fetch 3 ,mem_clks_per_lpo 
+2d86 207a0000 rtn blank 
+2d87 1a6084dc add regc ,offset_24g_cb_lpm_before ,temp 
+2d88 e8410000 ifetch 2 ,temp 
+2d89 20407f9c call callback_func 
+2d8a 1a6084b6 add regc ,offset_24g_enter_hibernate ,temp 
+2d8b e8440000 ifetch 8 ,temp 
+2d8c 20407f49 call clk2lpo 
+2d8d 600a415b storet 4 ,mem_sleep_counter 
+2d8e 20202b2a branch lpm_sleep 
+
+g24_transmit_packet:
+2d8f 20402c7a call g24_head_ptr2regc 
+2d90 1a608a8f add regc ,offset_24g_retry ,contw 
+2d91 204032d6 call g24_mem_set0 
+
+g24_transmit_loop:
+2d92 20402da4 call g24_transmit_receive_ack 
+2d93 242c2dae nbranch g24_retransmit ,sync 
+2d94 2437adae nbranch g24_retransmit ,user3 
+2d95 20402dd6 call g24_ackpayload_parse 
+2d96 20402e75 call g24_power_ctrl_ack_incrs 
+
+g24_transmit_next_packet:
+2d97 20402c7a call g24_head_ptr2regc 
+2d98 1a60a285 add regc ,offset_24g_pid ,rega 
+2d99 ea208000 ifetch 1 ,rega 
+2d9a 1fe0fe01 increase 1 ,pdata 
+2d9b 20403232 call g24_store_mem_pid 
+2d9c 20403253 call g24_fetch_mem_pairing_sm 
+2d9d c0ffaed0 bne state_24g_pairing_success ,g24_paring_mode 
+2d9e 20402cdb call g24_transmit_succ_rf_config 
+
+g24_transmit_abandon:
+2d9f 58000000 setarg 0 
+2da0 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2da1 e0a10000 istore 2 ,contw 
+2da2 58000000 setarg ensure_off_24g 
+2da3 20202d34 branch g24_store_mem_ensure 
+
+g24_transmit_receive_ack:
+2da4 7857fc00 disable user3 
+2da5 20402df7 call g24_transmit 
+2da6 20402c7a call g24_head_ptr2regc 
+2da7 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2da8 ea208000 ifetch 1 ,rega 
+2da9 c000adac beq no_ack_24g ,g24_transmit_no_ack 
+2daa 20402e11 call g24_receive_packet 
+2dab 20202e45 branch g24_end_of_packet 
+
+g24_transmit_no_ack:
+2dac 20402e45 call g24_end_of_packet 
+2dad 20202d97 branch g24_transmit_next_packet 
+
+g24_retransmit:
+2dae 44dac016 bpatch patch16_5 ,mem_patch16 
+2daf 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2db0 ea208000 ifetch 1 ,rega 
+2db1 1fe0fe01 increase 1 ,pdata 
+2db2 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2db3 e0a08000 istore 1 ,contw 
+2db4 20403253 call g24_fetch_mem_pairing_sm 
+2db5 c0ffadcc bne state_24g_pairing_success ,g24_tx_paring_retry 
+2db6 1a60a28f add regc ,offset_24g_retry ,rega 
+2db7 ea288000 ifetcht 1 ,rega 
+2db8 18408401 increase 1 ,temp 
+2db9 1a608a8f add regc ,offset_24g_retry ,contw 
+2dba e0a88000 istoret 1 ,contw 
+2dbb 1a60a2cc add regc ,offset_24g_max_retry ,rega 
+2dbc ea208000 ifetch 1 ,rega 
+2dbd 98467e00 isub temp ,pdata 
+2dbe 243a2d92 nbranch g24_transmit_loop ,blank 
+2dbf 44db4016 bpatch patch16_6 ,mem_patch16 
+2dc0 2040325d call g24_fetch_mem_rf_work_stage 
+2dc1 c001acbe beq 3 ,g24_transmit_pac_fail_hop_stage3 
+2dc2 1a60a2d1 add regc ,offset_24g_hop_pac_retry ,rega 
+2dc3 ea208000 ifetch 1 ,rega 
+2dc4 1fe0fe01 increase 1 ,pdata 
+2dc5 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2dc6 e0a08000 istore 1 ,contw 
+2dc7 c0012cb3 beq 2 ,g24_transmit_hop_pac_fail 
+2dc8 20402caf call g24_hop_ch_enable 
+2dc9 58000001 setarg 1 
+2dca 20403238 call g24_store_mem_max_retry 
+2dcb 20202d8f branch g24_transmit_packet 
+
+g24_tx_paring_retry:
+2dcc 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2dcd ea208000 ifetch 1 ,rega 
+2dce c1ff8000 rtnne 0xff 
+2dcf 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2dd0 204032d6 call g24_mem_set0 
+2dd1 20202dd4 branch g24_stop_24g_mode 
+
+g24_tx_attempt_fail:
+2dd2 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2dd3 204032d6 call g24_mem_set0 
+
+g24_stop_24g_mode:
+2dd4 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+2dd5 20207d86 branch ui_ipc_send_event 
+
+g24_ackpayload_parse:
+2dd6 20402dde call g24_read_len_pid_crc 
+2dd7 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+2dd8 ea208000 ifetch 1 ,rega 
+2dd9 207a0000 rtn blank 
+2dda 98007200 iforce loopcnt 
+2ddb 1a608c02 add regc ,offset_24g_rxbuf_add2 ,contr 
+2ddc 1a608a64 add regc ,offset_24g_rxpayload ,contw 
+2ddd 20207f01 branch memcpy 
+
+g24_read_len_pid_crc:
+2dde 2040325f call g24_fetch_mem_rxbuf_add1 
+2ddf 1fe97e00 rshift3 pdata ,pdata 
+2de0 1a608a84 add regc ,offset_24g_rxdata_length ,contw 
+2de1 e0a08000 istore 1 ,contw 
+2de2 1fe0fe01 increase 1 ,pdata 
+2de3 1a608c01 add regc ,offset_24g_rxbuf_add1 ,contr 
+2de4 98c08c00 iadd contr ,contr 
+2de5 e8c18000 ifetch 3 ,contr 
+2de6 1a608ac4 add regc ,offset_24g_sta_crc ,contw 
+2de7 e0a18000 istore 3 ,contw 
+2de8 2040325f call g24_fetch_mem_rxbuf_add1 
+2de9 1fe37e00 rshift pdata ,pdata 
+2dea 1fe17e03 and pdata ,0x03 ,pdata 
+2deb 1a608aca add regc ,offset_24g_sta_pid ,contw 
+2dec e0a08000 istore 1 ,contw 
+2ded 20600000 rtn 
+
+g24_prep:
+2dee 7844fc00 disable enable_crc 
+2def 7843fc00 disable enable_white 
+2df0 58555555 setarg 0x555555 
+2df1 98001e00 iforce crc24_init 
+2df2 20600000 rtn 
+
+g24_set_freq_tx:
+2df3 20402918 call set_sync_on 
+2df4 1a60a290 add regc ,offset_24g_ch ,rega 
+2df5 ea288000 ifetcht 1 ,rega 
+2df6 20202933 branch set_freq_tx 
+
+g24_transmit:
+2df7 20402dee call g24_prep 
+2df8 20402df3 call g24_set_freq_tx 
+2df9 79202a00 set1 txgfsk ,radio_ctrl 
+2dfa 782efc00 enable encode_fec0 
+2dfb 78307c00 enable is_tx 
+2dfc 7850fc00 disable is_rx 
+2dfd 204053c4 call le_enable 
+2dfe 2040322a call g24_fetch_mem_addr 
+2dff 98001200 iforce access 
+2e00 08008620 inject mod ,32 
+2e01 7824fc00 enable enable_crc 
+2e02 1a60a288 add regc ,offset_24g_txlen ,rega 
+2e03 ea208000 ifetch 1 ,rega 
+2e04 98007200 iforce loopcnt 
+2e05 1a608c42 add regc ,offset_24g_txpayload ,contr 
+
+g24tr_loop:
+2e06 e8c08000 ifetch 1 ,contr 
+2e07 08008608 inject mod ,8 
+2e08 c2002e06 loop g24tr_loop 
+2e09 78247c00 enable enable_parity 
+2e0a 08008618 inject mod ,24 
+2e0b 78447c00 disable enable_parity 
+2e0c 37d38200 until null ,tx_clear 
+2e0d 44dbc016 bpatch patch16_7 ,mem_patch16 
+2e0e 20000064 nop 100 
+2e0f 784efc00 disable encode_fec0 
+2e10 20600000 rtn 
+
+g24_receive_packet:
+2e11 7857fc00 disable user3 
+2e12 18002a00 force 0 ,radio_ctrl 
+2e13 1a60a290 add regc ,offset_24g_ch ,rega 
+2e14 ea288000 ifetcht 1 ,rega 
+2e15 2040291f call set_freq_rx 
+2e16 20402924 call rf_rx_enable 
+
+g24_receive_rxon:
+2e17 20402dee call g24_prep 
+2e18 7826fc00 enable decode_fec0 
+2e19 7830fc00 enable is_rx 
+2e1a 78507c00 disable is_tx 
+2e1b 204053c4 call le_enable 
+2e1c 2040322a call g24_fetch_mem_addr 
+2e1d 98001200 iforce access 
+2e1e 78287c00 enable swfine 
+2e1f 1a60a289 add regc ,offset_24g_rx_window ,rega 
+2e20 ea210000 ifetch 2 ,rega 
+2e21 98003600 iforce stop_watch 
+2e22 37c18400 correlate null ,timeout 
+2e23 242c2e4d nbranch g24_sync_timeout ,sync 
+2e24 7824fc00 enable enable_crc 
+2e25 09800008 parse demod ,bucket ,8 
+2e26 19897e00 rshift3 pwindow ,pdata 
+2e27 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2e28 e0a08000 istore 1 ,contw 
+2e29 1a60a2cd add regc ,offset_24g_mode ,rega 
+2e2a ea208000 ifetch 1 ,rega 
+2e2b c0012e33 beq rx_24g ,g24_receive_skip 
+2e2c 44dc4017 bpatch patch17_0 ,mem_patch17 
+2e2d 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+2e2e ea208000 ifetch 1 ,rega 
+2e2f 1a60a287 add regc ,offset_24g_data_type ,rega 
+2e30 ea288000 ifetcht 1 ,rega 
+2e31 a8400e00 icompare bits_data ,temp 
+2e32 2420ae45 nbranch g24_end_of_packet ,true 
+
+g24_receive_skip:
+2e33 09800008 parse demod ,bucket ,8 
+2e34 19897e00 rshift3 pwindow ,pdata 
+2e35 e0a08000 istore 1 ,contw 
+2e36 1fe97e00 rshift3 pdata ,pdata 
+2e37 1fe1721f and pdata ,0x1f ,loopcnt 
+2e38 2022ae3d branch g24rx_nopayload ,zero 
+
+g24rx_loop:
+2e39 09800008 parse demod ,bucket ,8 
+2e3a 19897e00 rshift3 pwindow ,pdata 
+2e3b e0a08000 istore 1 ,contw 
+2e3c c2002e39 loop g24rx_loop 
+
+g24rx_nopayload:
+2e3d 09800018 parse demod ,bucket ,24 
+2e3e 1fef7e00 rshift32 pdata ,pdata 
+2e3f 1ff17e00 rshift16 pdata ,pdata 
+2e40 e0a18000 istore 3 ,contw 
+2e41 20232e45 branch g24_end_of_packet ,crc_failed 
+2e42 7837fc00 enable user3 
+2e43 7846fc00 disable decode_fec0 
+2e44 20600000 rtn 
+
+g24_end_of_packet:
+2e45 784efc00 disable encode_fec0 
+2e46 7846fc00 disable decode_fec0 
+2e47 7844fc00 disable enable_crc 
+2e48 7843fc00 disable enable_white 
+2e49 2030a8f9 branch shutdown_radio ,is_rx 
+2e4a 37d38200 until null ,tx_clear 
+2e4b 20000064 nop 100 
+2e4c 202028f9 branch shutdown_radio 
+
+g24_sync_timeout:
+2e4d 20402e4f call rssi_noise 
+2e4e 20202e45 branch g24_end_of_packet 
+
+rssi_noise:
+2e4f 204029bb call save_rssi 
+2e50 207a0000 rtn blank 
+2e51 1a60a2ea add regc ,offset_rssi_noise_index ,rega 
+2e52 ea288000 ifetcht 1 ,rega 
+2e53 da200d9e arg mem_rssi_noise_buffer ,rega 
+2e54 20402e58 call rssi_noise_store 
+2e55 1a608aea add regc ,offset_rssi_noise_index ,contw 
+
+g24_contw_istoret_1byte:
+2e56 e0a88000 istoret 1 ,contw 
+2e57 20600000 rtn 
+
+rssi_noise_store:
+2e58 da4000ff arg rssi_buf_len_noise ,regb 
+2e59 20202e5a branch rssi_store 
+
+rssi_store:
+2e5a 1a227e00 copy rega ,pdata 
+2e5b 98408a00 iadd temp ,contw 
+2e5c 68008018 fetch 1 ,mem_rssi 
+2e5d e0a08000 istore 1 ,contw 
+2e5e 18408401 increase 1 ,temp 
+2e5f 1a427e00 copy regb ,pdata 
+2e60 98410400 iand_into temp 
+2e61 20600000 rtn 
+
+rssi_average:
+2e62 d8400000 arg 0 ,temp 
+2e63 1a220c00 copy rega ,contr 
+
+rssi_average_loop:
+2e64 e8c08000 ifetch 1 ,contr 
+2e65 98408400 iadd temp ,temp 
+2e66 c2002e64 loop rssi_average_loop 
+2e67 184c8400 rshift8 temp ,temp 
+2e68 20600000 rtn 
+
+g24_power_ctrl_init:
+2e69 20402c7a call g24_head_ptr2regc 
+2e6a 20402e9f call g24_power_ctrl_incrs_level1 
+2e6b 58000001 setarg 1 
+2e6c 20403272 call g24_store_mem_power_ctrl_level 
+
+g24_power_ctrl_reinit:
+2e6d 58000000 setarg 0 
+2e6e 20402e73 call g24_store_mem_power_ctrl_pac 
+2e6f e0a08000 istore 1 ,contw 
+2e70 20600000 rtn 
+
+g24_power_ctrl_pac_incrs:
+2e71 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e72 1fe0fe01 increase 1 ,pdata 
+
+g24_store_mem_power_ctrl_pac:
+2e73 1a608afc add regc ,offset_power_ctrl_packet_cnt ,contw 
+2e74 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl_ack_incrs:
+2e75 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e76 ea208000 ifetch 1 ,rega 
+2e77 1fe0fe01 increase 1 ,pdata 
+2e78 1a608afd add regc ,offset_power_ctrl_ack_cnt ,contw 
+2e79 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl:
+2e7a 44dcc017 bpatch patch17_1 ,mem_patch17 
+2e7b 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e7c 1fe67c7c sub pdata ,power_ctrl_max_packet_cnt ,null 
+2e7d 20610000 rtn positive 
+2e7e 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e7f ea288000 ifetcht 1 ,rega 
+2e80 98460400 isub temp ,temp 
+2e81 20402e6d call g24_power_ctrl_reinit 
+2e82 58000102 setarg offset_power_ctrl_threshold_up 
+2e83 9a60a200 iadd regc ,rega 
+2e84 ea208000 ifetch 1 ,rega 
+2e85 98467c00 isub temp ,null 
+2e86 24212e8d nbranch g24_power_ctrl_incrs ,positive 
+2e87 58000103 setarg offset_power_ctrl_threshold_down 
+2e88 9a60a200 iadd regc ,rega 
+2e89 ea208000 ifetch 1 ,rega 
+2e8a 98467c00 isub temp ,null 
+2e8b 20212e99 branch g24_power_ctrl_decrs ,positive 
+2e8c 20600000 rtn 
+
+g24_power_ctrl_incrs:
+2e8d 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e8e ea208000 ifetch 1 ,rega 
+2e8f c0012e93 beq 2 ,g24_power_ctrl_incrs_level2 
+2e90 1fe0fe01 increase 1 ,pdata 
+2e91 20403272 call g24_store_mem_power_ctrl_level 
+2e92 c000ae9f beq 1 ,g24_power_ctrl_incrs_level1 
+
+g24_power_ctrl_incrs_level2:
+2e93 5800000a setarg power_ctrl_losspac_thresh_up2 
+2e94 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2e95 58000000 setarg power_ctrl_losspac_thresh_down2 
+2e96 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2e97 1a60a2ff add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+2e98 20202ea5 branch g24_ifetch_rega_store_mem_txpower 
+
+g24_power_ctrl_decrs:
+2e99 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e9a ea208000 ifetch 1 ,rega 
+2e9b c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+2e9c 1fe0ffff increase -1 ,pdata 
+2e9d 20403272 call g24_store_mem_power_ctrl_level 
+2e9e c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+
+g24_power_ctrl_decrs_level1:
+
+g24_power_ctrl_incrs_level1:
+2e9f 58000005 setarg power_ctrl_losspac_thresh_up1 
+2ea0 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea1 58000000 setarg power_ctrl_losspac_thresh_down1 
+2ea2 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2ea3 58000100 setarg offset_power_ctrl_txpwr_level1 
+
+g24_iadd_offset_mem_txpower:
+2ea4 9a60a200 iadd regc ,rega 
+
+g24_ifetch_rega_store_mem_txpower:
+2ea5 ea208000 ifetch 1 ,rega 
+2ea6 2020326a branch g24_store_mem_txpower 
+
+g24_power_ctrl_decrs_level0:
+2ea7 58000002 setarg power_ctrl_losspac_thresh_up0 
+2ea8 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea9 58000000 setarg power_ctrl_losspac_thresh_down0 
+2eaa 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2eab 58000101 setarg offset_power_ctrl_txpwr_level0 
+2eac 20202ea4 branch g24_iadd_offset_mem_txpower 
+
+g24_start_pairing_sm1:
+2ead 79200026 set1 mark_24g ,mark 
+2eae 20402c83 call g24_pair_init 
+
+g24_set_pairing_sm_1:
+2eaf 58000001 setarg state_24g_pairing_1 
+2eb0 20203256 branch g24_store_mem_pairing_sm 
+
+g24_pairing_sm:
+2eb1 1a60a28b add regc ,offset_24g_ensure ,rega 
+2eb2 ea208000 ifetch 1 ,rega 
+2eb3 c000ffe7 beq ensure_on_24g ,enable_user 
+2eb4 20403253 call g24_fetch_mem_pairing_sm 
+2eb5 c000aeb9 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+2eb6 c0012ebd beq state_24g_pairing_2 ,g24_pairing_sm_2 
+2eb7 c001aec1 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+2eb8 20202a8c branch assert 
+
+g24_pairing_sm_1:
+2eb9 58000011 setarg state_24g_pairing_1_waiting_ack 
+2eba 20403256 call g24_store_mem_pairing_sm 
+2ebb 70119eaa jam 0xaa ,mem_24g_common_temp 
+2ebc 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_2:
+2ebd 58000012 setarg state_24g_pairing_2_waiting_ack 
+2ebe 20403256 call g24_store_mem_pairing_sm 
+2ebf 70119e55 jam 0x55 ,mem_24g_common_temp 
+2ec0 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_3:
+2ec1 58000013 setarg state_24g_pairing_3_waiting_ack 
+2ec2 20403256 call g24_store_mem_pairing_sm 
+2ec3 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+g24_pairing_sm_common:
+2ec4 2040323a call g24_fetch_mem_data_type 
+2ec5 1fe17e07 and_into bits_data ,pdata 
+2ec6 6000919f store 1 ,mem_24g_common_temp + 1 
+2ec7 20403224 call g24_fetch_mem_device_addr 
+2ec8 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+g24_put_pairing_data_in_buff:
+2ec9 7011a400 jam 0 ,mem_24g_common_temp + 6 
+2eca da20119e arg mem_24g_common_temp ,rega 
+2ecb d8400007 arg 7 ,temp 
+2ecc 20402d4c call g24_put_data_in_buff 
+2ecd 20402d53 call g24_transmit_prep 
+2ece 20402d33 call g24_txdata_enable_tx 
+2ecf 20207fe7 branch enable_user 
+
+g24_paring_mode:
+2ed0 20403253 call g24_fetch_mem_pairing_sm 
+2ed1 c17f8000 rtneq state_24g_pairing_success 
+2ed2 c008aed6 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+2ed3 c0092ed9 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+2ed4 c009aedc beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+2ed5 20600000 rtn 
+
+g24_pairing_sm_1_waiting_ack:
+2ed6 58000002 setarg state_24g_pairing_2 
+2ed7 20403256 call g24_store_mem_pairing_sm 
+2ed8 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_2_waiting_ack:
+2ed9 58000003 setarg state_24g_pairing_3 
+2eda 20403256 call g24_store_mem_pairing_sm 
+2edb 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_3_waiting_ack:
+2edc 580000ff setarg state_24g_pairing_success 
+2edd 20403256 call g24_store_mem_pairing_sm 
+2ede 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+2edf 20407d86 call ui_ipc_send_event 
+2ee0 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ee1 ea220000 ifetch 4 ,rega 
+2ee2 2040322c call g24_store_mem_addr 
+2ee3 20202d9f branch g24_transmit_abandon 
+
+g24_auto_pair_start:
+2ee4 793f8026 set0 mark_24g ,mark 
+2ee5 20402f08 call g24_auto_pair_set_device_info 
+2ee6 20402f22 call g24_tx_attemp_data_prep 
+
+g24_auto_pair_restart:
+2ee7 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_auto_pair_start_loop:
+2ee8 200007d0 nop 2000 
+2ee9 20403261 call g24_fetch_mem_check_dongle_times 
+2eea c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2eeb 20402da4 call g24_transmit_receive_ack 
+2eec 242c2efa nbranch g24_auto_pair_retry ,sync 
+2eed 2437aefa nbranch g24_auto_pair_retry ,user3 
+2eee 20402dd6 call g24_ackpayload_parse 
+2eef 20402c7a call g24_head_ptr2regc 
+2ef0 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2ef1 ea2a0000 ifetcht 4 ,rega 
+2ef2 204030be call g24_fetch_mem_addr_isub_temp 
+2ef3 2022aead branch g24_start_pairing_sm1 ,zero 
+2ef4 20402c7a call g24_head_ptr2regc 
+2ef5 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ef6 ea220000 ifetch 4 ,rega 
+2ef7 c0002ee7 beq 0 ,g24_auto_pair_restart 
+2ef8 2040322c call g24_store_mem_addr 
+2ef9 20202f1c branch g24_tx_attemp_dongle_succ 
+
+g24_auto_pair_retry:
+2efa 20403261 call g24_fetch_mem_check_dongle_times 
+2efb 1fe0fe01 increase 1 ,pdata 
+2efc 20403264 call g24_store_mem_check_dongle_times 
+2efd 20402f04 call g24_fetch_mem_auto_paring_switch 
+2efe 1fe0fe01 increase 1 ,pdata 
+2eff 1fe17e01 and_into 1 ,pdata 
+2f00 20402f06 call g24_store_mem_auto_paring_switch 
+2f01 c0002f0c beq 0 ,g24_auto_pair_device_attemp 
+2f02 c000af0e beq 1 ,g24_auto_pair_pair_attemp 
+2f03 20600000 rtn 
+
+g24_fetch_mem_auto_paring_switch:
+2f04 5800018b setarg offset_24g_auto_pair_switch 
+2f05 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_auto_paring_switch:
+2f06 da20018b arg offset_24g_auto_pair_switch ,rega 
+2f07 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_auto_pair_set_device_info:
+2f08 20403267 call g24_store_mem_tx_power 
+2f09 20403224 call g24_fetch_mem_device_addr 
+2f0a 2040322c call g24_store_mem_addr 
+2f0b 20202c8a branch g24_ch 
+
+g24_auto_pair_device_attemp:
+2f0c 20402f08 call g24_auto_pair_set_device_info 
+2f0d 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_auto_pair_pair_attemp:
+2f0e 20402c83 call g24_pair_init 
+2f0f 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_start_24g_mode:
+2f10 793f8026 set0 mark_24g ,mark 
+2f11 20402c8a call g24_ch 
+2f12 20403253 call g24_fetch_mem_pairing_sm 
+2f13 c1ff8000 rtnne state_24g_pairing_success 
+2f14 20402f22 call g24_tx_attemp_data_prep 
+2f15 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_tx_attemp_dongle_loop:
+2f16 200007d0 nop 2000 
+2f17 20403261 call g24_fetch_mem_check_dongle_times 
+2f18 c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2f19 20402da4 call g24_transmit_receive_ack 
+2f1a 242c2f27 nbranch g24_attemp_txdata_retry ,sync 
+2f1b 2437af27 nbranch g24_attemp_txdata_retry ,user3 
+
+g24_tx_attemp_dongle_succ:
+2f1c 79200026 set1 mark_24g ,mark 
+2f1d 20403263 call g24_set0_mem_check_dongle_times 
+2f1e 580000ff setarg state_24g_pairing_success 
+2f1f 20403256 call g24_store_mem_pairing_sm 
+2f20 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+2f21 20207d86 branch ui_ipc_send_event 
+
+g24_tx_attemp_data_prep:
+2f22 79200027 set1 mark_24g_conext ,mark 
+2f23 70119eff jam 0xff ,mem_24g_common_temp 
+2f24 2040323a call g24_fetch_mem_data_type 
+2f25 20402d77 call g24_put_data_in_buff_pre 
+2f26 20202d53 branch g24_transmit_prep 
+
+g24_attemp_txdata_retry:
+2f27 20403261 call g24_fetch_mem_check_dongle_times 
+2f28 1fe0fe01 increase 1 ,pdata 
+2f29 20403264 call g24_store_mem_check_dongle_times 
+2f2a 20402c8a call g24_ch 
+2f2b 20202f16 branch g24_tx_attemp_dongle_loop 
+
+g24_check_51cmd_start_24g:
+2f2c 20403267 call g24_store_mem_tx_power 
+2f2d 580000ff setarg state_24g_pairing_success 
+2f2e 20403256 call g24_store_mem_pairing_sm 
+2f2f 20202f10 branch g24_start_24g_mode 
+
+dongle_init:
+2f30 44dd4017 bpatch patch17_2 ,mem_patch17 
+2f31 20402c7a call g24_head_ptr2regc 
+2f32 580031b0 setarg dongle_rxdata_type1 
+2f33 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+2f34 e0a10000 istore 2 ,contw 
+2f35 20402f3d call g24_receive_init 
+2f36 204048ea call usb_init 
+2f37 204032b6 call g24_fetch_mem_pair_mode 
+2f38 44ddc017 bpatch patch17_3 ,mem_patch17 
+2f39 c0003055 beq 0x00 ,dongle_auto_bind 
+2f3a c000af45 beq 0x01 ,dongle_pc_bind 
+2f3b c007af41 beq 0x0f ,dongle_all_powerful 
+2f3c 20202a8c branch assert 
+
+g24_receive_init:
+2f3d 2040326c call g24_store_mem_tx_power_temp 
+2f3e df200080 arg 0x80 ,loopcnt 
+2f3f d8a00d9e arg mem_rssi_noise_buffer ,contw 
+2f40 20207ec6 branch memset0 
+
+dongle_all_powerful:
+2f41 20402f4c call dongle_check_mode 
+
+dongle_all_powerful_loop:
+2f42 20402f4f call g24_dongle_work_mode 
+2f43 204048d3 call usb_isr 
+2f44 20202f42 branch dongle_all_powerful_loop 
+
+dongle_pc_bind:
+2f45 44de4017 bpatch patch17_4 ,mem_patch17 
+2f46 20402f4c call dongle_check_mode 
+
+dongle_pc_bind_loop:
+2f47 20402f4f call g24_dongle_work_mode 
+2f48 20402fbd call g24_dongle_bind_mode 
+2f49 204048d3 call usb_isr 
+2f4a 20403019 call dongle_usb_dispatch 
+2f4b 20202f47 branch dongle_pc_bind_loop 
+
+dongle_check_mode:
+2f4c 20403291 call g24_set_work_mem_dongle_work_mode 
+2f4d 20403296 call g24_set0_mem_dongle_mode_init 
+2f4e 20203299 branch g24_set0_mem_ackpayload_enable 
+
+g24_dongle_work_mode:
+2f4f 2040328f call g24_fetch_mem_dongle_work_mode 
+2f50 c1800000 rtnne dongle_work 
+
+g24_dongle_work_mode_start:
+2f51 20402f55 call g24_dongle_work_init 
+2f52 20402f65 call g24_ch_process 
+2f53 2040316b call g24_receive_packet_start 
+2f54 20202f96 branch g24_blank_data_process 
+
+g24_dongle_work_init:
+2f55 20403294 call g24_fetch_mem_dongle_mode_init 
+2f56 c3800000 rtnbit1 dongle_work 
+2f57 79207e00 set1 dongle_work ,pdata 
+2f58 20403297 call g24_store_mem_dongle_mode_init 
+2f59 20403267 call g24_store_mem_tx_power 
+2f5a 20403299 call g24_set0_mem_ackpayload_enable 
+2f5b 700d3800 jam 0 ,mem_usb_tx_enable 
+2f5c 2040324f call g24_set1_mem_abort_pac 
+2f5d 20402f61 call g24_dongle_init 
+
+g24_rx_interrupt_clear:
+2f5e 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2f5f df200042 arg 66 ,loopcnt 
+2f60 20207ed4 branch clear_mem 
+
+g24_dongle_init:
+2f61 20403231 call g24_set0_mem_pid 
+2f62 2040327d call g24_fetch_mem_rx_addr 
+2f63 2040322c call g24_store_mem_addr 
+2f64 20202c8a branch g24_ch 
+
+g24_ch_process:
+2f65 44dec017 bpatch patch17_5 ,mem_patch17 
+2f66 2040324c call g24_fetch_mem_abort_pac 
+2f67 c000af8d beq 1 ,g24_noise_rssi 
+2f68 20403245 call g24_fetch_mem_hop_pac 
+2f69 c000ac8a beq 1 ,g24_ch 
+2f6a 58000136 setarg offset_24g_hop_btclk 
+2f6b 9a60a200 iadd regc ,rega 
+2f6c ea2a0000 ifetcht 4 ,rega 
+2f6d 1c427e00 copy clkn_bt ,pdata 
+2f6e 98467c00 isub temp ,null 
+2f6f 24412d18 ncall g24_timer_timeout ,positive 
+2f70 1fe22400 copy pdata ,regb 
+2f71 58000136 setarg offset_24g_hop_btclk 
+2f72 9a60a200 iadd regc ,rega 
+2f73 ea220000 ifetch 4 ,rega 
+2f74 1fe20400 copy pdata ,temp 
+2f75 5800013a setarg offset_24g_hop_interval 
+2f76 9a60a200 iadd regc ,rega 
+2f77 18427e00 copy temp ,pdata 
+2f78 ea288000 ifetcht 1 ,rega 
+2f79 98408400 iadd temp ,temp 
+2f7a 1a427e00 copy regb ,pdata 
+2f7b 98467c00 isub temp ,null 
+2f7c 24610000 nrtn positive 
+2f7d 793ffe1c set0 28 ,pdata 
+2f7e 58000136 setarg offset_24g_hop_btclk 
+2f7f 9a608a00 iadd regc ,contw 
+2f80 e0a20000 istore 4 ,contw 
+
+g24_ch_update:
+2f81 20402c8a call g24_ch 
+2f82 20403278 call g24_fetch_mem_rf_laststa 
+2f83 1fe0fe01 increase 1 ,pdata 
+2f84 2040327b call g24_store_mem_rf_laststa 
+2f85 c1810000 rtnne 2 
+2f86 2040327a call g24_set0_mem_rf_laststa 
+2f87 2020324f branch g24_set1_mem_abort_pac 
+
+g24_ch_timer_reinit:
+2f88 1c427e00 copy clkn_bt ,pdata 
+2f89 da200136 arg offset_24g_hop_btclk ,rega 
+2f8a 204032bf call g24_set_contw_with_temp 
+2f8b e0a20000 istore 4 ,contw 
+2f8c 2020327a branch g24_set0_mem_rf_laststa 
+
+g24_noise_rssi:
+2f8d da200d9e arg mem_rssi_noise_buffer ,rega 
+2f8e 20402f94 call g24_noise_rssi_average 
+2f8f 1a608aeb add regc ,offset_rssi_noise_avg ,contw 
+2f90 e0a88000 istoret 1 ,contw 
+2f91 18467c50 sub temp ,rssi_thresh_noise ,null 
+2f92 24610000 nrtn positive 
+2f93 20202c8a branch g24_ch 
+
+g24_noise_rssi_average:
+2f94 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+2f95 20202e62 branch rssi_average 
+
+g24_blank_data_process:
+2f96 20402f99 call g24_ms_blank_data 
+2f97 20402fa5 call g24_kb_blank_data 
+2f98 20202fb1 branch g24_kb_mul_blank_data 
+
+g24_ms_blank_data:
+2f99 58000180 setarg offset_24g_ms_blank_data_enable 
+2f9a 204032d0 call g24_set_rega_ifetch_1byte 
+2f9b 207a0000 rtn blank 
+2f9c d8e0000b arg timer_ms_blank ,queue 
+2f9d 20407f16 call timer_check 
+2f9e 247a0000 nrtn blank 
+2f9f 204032a7 call g24_set0_mem_ms_blank_data_enable 
+
+g24_ms_blank_data_2usb:
+2fa0 58000001 setarg ms_report_id 
+2fa1 60008d54 store 1 ,mem_usb_mouse_data 
+2fa2 58000000 setarg 0 
+2fa3 e0a38000 istore 7 ,contw 
+2fa4 202031b8 branch g24_data_type1_usbtx_enable 
+
+g24_kb_blank_data:
+2fa5 5800017e setarg offset_24g_kb_blank_data_enable 
+2fa6 204032d0 call g24_set_rega_ifetch_1byte 
+2fa7 207a0000 rtn blank 
+2fa8 d8e0000e arg timer_kb_blank ,queue 
+2fa9 20407f16 call timer_check 
+2faa 247a0000 nrtn blank 
+2fab 204032aa call g24_set0_mem_kb_blank_data_enable 
+
+g24_kb_blank_data_2usb:
+2fac d8a00d64 arg mem_usb_kb_data ,contw 
+2fad df200002 arg 2 ,loopcnt 
+2fae 20407ec6 call memset0 
+2faf 700d6400 jam kb_normal_report_id ,mem_usb_kb_data 
+2fb0 202031ed branch g24_kb_data_into_ep1_fifo 
+
+g24_kb_mul_blank_data:
+2fb1 5800017f setarg offset_24g_kb_mul_blank_data_enable 
+2fb2 204032d0 call g24_set_rega_ifetch_1byte 
+2fb3 207a0000 rtn blank 
+2fb4 d8e0000c arg timer_kb_mul_blank ,queue 
+2fb5 20407f16 call timer_check 
+2fb6 247a0000 nrtn blank 
+2fb7 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_blank_data_2usb:
+2fb8 d8a00d74 arg mem_usb_kb_multikey ,contw 
+2fb9 df200002 arg 2 ,loopcnt 
+2fba 20407ec6 call memset0 
+2fbb 700d7403 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+2fbc 20203207 branch g24_kb_mul_data_into_ep2_fifo 
+
+g24_dongle_bind_mode:
+2fbd 2040328f call g24_fetch_mem_dongle_work_mode 
+2fbe c1808000 rtnne dongle_bind 
+2fbf 20402fc1 call g24_dongle_bind_init 
+2fc0 20202fcb branch g24_dongle_bind_data_process 
+
+g24_dongle_bind_init:
+2fc1 20403294 call g24_fetch_mem_dongle_mode_init 
+2fc2 c3808000 rtnbit1 dongle_bind 
+2fc3 79207e01 set1 dongle_bind ,pdata 
+2fc4 20403297 call g24_store_mem_dongle_mode_init 
+2fc5 2040329c call g24_set1_mem_ackpayload_enable 
+2fc6 20402c83 call g24_pair_init 
+2fc7 58000000 setarg 0 
+2fc8 da200106 arg offset_dongle_ms_bind_step ,rega 
+2fc9 204032bf call g24_set_contw_with_temp 
+2fca 202032c5 branch g24_contw_istore_3byte 
+
+g24_dongle_bind_data_process:
+2fcb 2040316e call g24_receive_transmit_ack 
+2fcc 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+2fcd 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+2fce 58000109 setarg offset_24g_rxdata_temp 
+2fcf 9a608a00 iadd regc ,contw 
+2fd0 df200008 arg 8 ,loopcnt 
+2fd1 20407f01 call memcpy 
+2fd2 5800010b setarg offset_24g_rxdata_temp_add2 
+2fd3 204032d0 call g24_set_rega_ifetch_1byte 
+2fd4 c0552fd9 beq datatype_bind ,g24_dongle_bind_first_step 
+2fd5 c02aafed beq datatype_config ,g24_dongle_bind_second_step 
+2fd6 c0113001 beq datatype_ok ,g24_dongle_bind_third_step 
+2fd7 c07fb212 beq 0xff ,g24_data_attemp 
+2fd8 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_first_step:
+2fd9 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fda c000afdd beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+2fdb c0012fe8 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+2fdc 20600000 rtn 
+
+g24_dongle_bind_first_step_mouse:
+2fdd 58000001 setarg 1 
+2fde 20402ff7 call g24_store_mem_ms_bind_step 
+
+g24_dongle_bind_ms_payload_cfg:
+2fdf 58000001 setarg datatype_mouse 
+2fe0 20403289 call g24_store_mem_bind_payload 
+
+g24_dongle_bind_payload_cfg:
+2fe1 58000080 setarg 0x80 
+2fe2 da200130 arg offset_24g_bind_payload_add1 ,rega 
+2fe3 204032b3 call g24_set_contw_with_regb_store_1byte 
+2fe4 2040327d call g24_fetch_mem_rx_addr 
+2fe5 da200131 arg offset_24g_bind_payload_add2 ,rega 
+2fe6 204032bf call g24_set_contw_with_temp 
+2fe7 2020322d branch g24_contw_istore_4byte 
+
+g24_dongle_bind_first_step_keyboard:
+2fe8 58000001 setarg 1 
+2fe9 20402fff call g24_store_mem_kb_bind_step 
+
+g24_dongle_bind_kb_payload_cfg:
+2fea 58000002 setarg datatype_keyboard 
+2feb 20403289 call g24_store_mem_bind_payload 
+2fec 20202fe1 branch g24_dongle_bind_payload_cfg 
+
+g24_dongle_bind_second_step:
+2fed 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fee c000aff1 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+2fef c0012ff9 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+2ff0 20600000 rtn 
+
+g24_dongle_bind_second_step_mouse:
+2ff1 20402fdf call g24_dongle_bind_ms_payload_cfg 
+2ff2 58000106 setarg offset_dongle_ms_bind_step 
+2ff3 204032d0 call g24_set_rega_ifetch_1byte 
+2ff4 c000aff6 beq 1 ,g24_dongle_ms_bind_step_set2 
+2ff5 20600000 rtn 
+
+g24_dongle_ms_bind_step_set2:
+2ff6 58000002 setarg 2 
+
+g24_store_mem_ms_bind_step:
+2ff7 da200106 arg offset_dongle_ms_bind_step ,rega 
+2ff8 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_second_step_keyboard:
+2ff9 20402fea call g24_dongle_bind_kb_payload_cfg 
+2ffa 58000107 setarg offset_dongle_kb_bind_step 
+2ffb 204032d0 call g24_set_rega_ifetch_1byte 
+2ffc c000affe beq 1 ,g24_dongle_kb_bind_step_set2 
+2ffd 20600000 rtn 
+
+g24_dongle_kb_bind_step_set2:
+2ffe 58000002 setarg 2 
+
+g24_store_mem_kb_bind_step:
+2fff da200107 arg offset_dongle_kb_bind_step ,rega 
+3000 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_third_step:
+3001 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3002 c000b005 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+3003 c0013011 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+3004 20600000 rtn 
+
+g24_dongle_bind_third_step_mouse:
+3005 58000106 setarg offset_dongle_ms_bind_step 
+3006 204032d0 call g24_set_rega_ifetch_1byte 
+3007 c0013009 beq 2 ,g24_dongle_ms_bind_step_success 
+3008 20600000 rtn 
+
+g24_dongle_ms_bind_step_success:
+3009 2040328b call g24_fetch_mem_bind_device_status 
+300a 1fe1fe01 or_into 0x01 ,pdata 
+300b 2040328d call g24_store_mem_bind_device_status 
+
+g24_dongle_bind_exit:
+300c 58000000 setarg 0 
+300d 58000106 setarg offset_dongle_ms_bind_step 
+300e 9a608a00 iadd regc ,contw 
+300f e0a10000 istore 2 ,contw 
+3010 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_third_step_keyboard:
+3011 58000107 setarg offset_dongle_kb_bind_step 
+3012 204032d0 call g24_set_rega_ifetch_1byte 
+3013 c0803015 bne 0 ,g24_dongle_kb_bind_step_success 
+3014 20600000 rtn 
+
+g24_dongle_kb_bind_step_success:
+3015 2040328b call g24_fetch_mem_bind_device_status 
+3016 1fe1fe02 or_into 0x02 ,pdata 
+3017 2040328d call g24_store_mem_bind_device_status 
+3018 2020300c branch g24_dongle_bind_exit 
+
+dongle_usb_dispatch:
+3019 68008d50 fetch 1 ,mem_usb0_get_set_report 
+301a 207a0000 rtn blank 
+301b 700d5000 jam 0 ,mem_usb0_get_set_report 
+301c 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+301d d84002ba arg pc_set_report ,temp 
+301e 98467c00 isub temp ,null 
+301f 24628000 nrtn zero 
+3020 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+3021 c1dd0000 rtnne pc_report_id 
+3022 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+3023 44df4017 bpatch patch17_6 ,mem_patch17 
+3024 c050303b beq command_mode ,dongle_dispose_cmd_mode 
+3025 c050b02c beq command_bind ,dongle_dispose_cmd_bind 
+3026 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+3027 c053b043 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+3028 c054b049 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+3029 c058304d beq command_user_defined ,dongle_dispose_cmd_user_defined 
+
+usb0_data_ready_report_set0:
+302a 700d4200 jam 0 ,mem_usb0_data_ready_report 
+302b 20600000 rtn 
+
+dongle_dispose_cmd_bind:
+302c 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+302d c000b031 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+302e c0423034 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+302f c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+3030 2020302a branch usb0_data_ready_report_set0 
+
+dongle_dispose_cmd_get_bind:
+3031 2040328b call g24_fetch_mem_bind_device_status 
+3032 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3033 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_exit_bind:
+3034 20403291 call g24_set_work_mem_dongle_work_mode 
+3035 20403296 call g24_set0_mem_dongle_mode_init 
+3036 2040328b call g24_fetch_mem_bind_device_status 
+3037 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3038 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_read_mode:
+
+dongle_dispose_in_bind_mode:
+3039 700cf7a1 jam command_bind ,mem_usb0_get_report_data + 1 
+303a 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_mode:
+303b 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+303c c040b03e beq com_mode_bind ,dongle_enter_bind_mode 
+303d 2020302a branch usb0_data_ready_report_set0 
+
+dongle_enter_bind_mode:
+303e 20403090 call g24_bind_mode_enable 
+
+usb0_data_ready_report_set1:
+303f 700d4201 jam 1 ,mem_usb0_data_ready_report 
+3040 20600000 rtn 
+
+dongle_dispose_cmd_current_project:
+3041 700cf715 jam product_id ,mem_usb0_get_report_data + 1 
+3042 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_mode:
+3043 2040328f call g24_fetch_mem_dongle_work_mode 
+3044 c0003047 beq dongle_work ,dongle_dispose_in_work_mode 
+3045 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+3046 20600000 rtn 
+
+dongle_dispose_in_work_mode:
+3047 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+3048 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_fw_version:
+3049 700cf700 jam fw_version0 ,mem_usb0_get_report_data + 1 
+304a 700cf800 jam fw_version1 ,mem_usb0_get_report_data + 2 
+304b 700cf901 jam fw_version2 ,mem_usb0_get_report_data + 3 
+304c 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_user_defined:
+304d 2040329c call g24_set1_mem_ackpayload_enable 
+304e 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+304f 1fe0fe02 increase 2 ,pdata 
+3050 1fe27200 copy pdata ,loopcnt 
+3051 d8c00cb6 arg mem_usb0_set_report_data ,contr 
+3052 5800013c setarg offset_24g_ackpayload 
+3053 9a608a00 iadd regc ,contw 
+3054 20207f01 branch memcpy 
+
+dongle_auto_bind:
+3055 44dfc017 bpatch patch17_7 ,mem_patch17 
+3056 2040307d call g24_mode_switch_init 
+
+dongle_auto_bind_loop:
+3057 20402c7f call g24_receive_process 
+3058 204048d3 call usb_isr 
+3059 20203057 branch dongle_auto_bind_loop 
+
+g24_dongle_work_mode_auto:
+305a 2040328f call g24_fetch_mem_dongle_work_mode 
+305b c1800000 rtnne dongle_work 
+305c 20402f51 call g24_dongle_work_mode_start 
+305d 20203098 branch g24_rx_nodata_process 
+
+g24_dongle_bind_mode_auto:
+305e 2040328f call g24_fetch_mem_dongle_work_mode 
+305f c1808000 rtnne dongle_bind 
+3060 20402fc1 call g24_dongle_bind_init 
+3061 20402fcb call g24_dongle_bind_data_process 
+3062 2040328b call g24_fetch_mem_bind_device_status 
+3063 207a0000 rtn blank 
+3064 20403286 call g24_set0_mem_mode_switch 
+3065 20402f4c call dongle_check_mode 
+3066 20403093 call g24_enable_nodata_timer 
+
+g24_timer_init:
+3067 58000000 setarg 0 
+3068 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+3069 2020322d branch g24_contw_istore_4byte 
+
+g24_timer_check:
+306a 20407fe9 call disable_user 
+306b 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+306c ea2a0000 ifetcht 4 ,rega 
+306d 1c427e00 copy clkn_bt ,pdata 
+306e 98467c00 isub temp ,null 
+306f 24412d18 ncall g24_timer_timeout ,positive 
+3070 1fe22400 copy pdata ,regb 
+3071 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+3072 ea220000 ifetch 4 ,rega 
+3073 1a60a2ab add regc ,offset_24g_interval ,rega 
+3074 ea288000 ifetcht 1 ,rega 
+3075 98408400 iadd temp ,temp 
+3076 1a427e00 copy regb ,pdata 
+3077 98467c00 isub temp ,null 
+3078 24610000 nrtn positive 
+3079 793ffe1c set0 28 ,pdata 
+307a 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+307b e0a20000 istore 4 ,contw 
+307c 20207fe7 branch enable_user 
+
+g24_mode_switch_init:
+307d 58000001 setarg 1 
+307e 20403287 call g24_store_mem_mode_switch 
+307f 20403283 call g24_set0_mem_time_slice 
+3080 580000ff setarg 0xff 
+3081 1a608aab add regc ,offset_24g_interval ,contw 
+3082 e0a08000 istore 1 ,contw 
+3083 20203067 branch g24_timer_init 
+
+g24_mode_switch:
+3084 5800015c setarg offset_24g_mode_switch 
+3085 204032d0 call g24_set_rega_ifetch_1byte 
+3086 207a0000 rtn blank 
+3087 2040306a call g24_timer_check 
+3088 24740000 nrtn user 
+3089 20403281 call g24_fetch_mem_time_slice 
+308a 1fe0fe01 increase 1 ,pdata 
+308b 1fe17e01 and_into 1 ,pdata 
+308c 20403284 call g24_store_mem_time_slice 
+308d c0002f4c beq 0 ,dongle_check_mode 
+308e c000b090 beq 1 ,g24_bind_mode_enable 
+308f 20600000 rtn 
+
+g24_bind_mode_enable:
+3090 58000001 setarg dongle_bind 
+3091 20403292 call g24_store_mem_dongle_work_mode 
+3092 20203296 branch g24_set0_mem_dongle_mode_init 
+
+g24_enable_nodata_timer:
+3093 58000001 setarg 1 
+3094 204032a5 call g24_store_mem_nodata_timer_enable 
+
+g24_enable_nodata_timer_init:
+3095 58000280 setarg timer_nodata_delay 
+3096 d8e00008 arg timer_nodata ,queue 
+3097 20207f08 branch timer_init 
+
+g24_rx_nodata_process:
+3098 204032a2 call g24_fetch_mem_nodata_timer_enable 
+3099 207a0000 rtn blank 
+309a d8e00008 arg timer_nodata ,queue 
+309b 20407f16 call timer_check 
+309c 247a0000 nrtn blank 
+309d 204032a4 call g24_set0_mem_nodata_timer_enable 
+309e 58000007 setarg dongle_search 
+309f 20403292 call g24_store_mem_dongle_work_mode 
+30a0 20403296 call g24_set0_mem_dongle_mode_init 
+30a1 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_search_mode_auto:
+30a2 44e04018 bpatch patch18_0 ,mem_patch18 
+30a3 2040328f call g24_fetch_mem_dongle_work_mode 
+30a4 c1838000 rtnne dongle_search 
+30a5 204030cb call g24_dongle_search_mode_init 
+30a6 204030e0 call g24_rx_auto_addr_ch_search 
+30a7 2040316e call g24_receive_transmit_ack 
+30a8 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+30a9 204030bc call g24_dongle_search_addr_check 
+30aa 2042b172 call g24_receive_packet_parse ,zero 
+30ab 20402f4c call dongle_check_mode 
+30ac 20403294 call g24_fetch_mem_dongle_mode_init 
+30ad 79207e00 set1 dongle_work ,pdata 
+30ae 20403297 call g24_store_mem_dongle_mode_init 
+30af 20402f5e call g24_rx_interrupt_clear 
+30b0 20403093 call g24_enable_nodata_timer 
+30b1 204030bc call g24_dongle_search_addr_check 
+30b2 2022b0c1 branch g24_dg_ch_num_reinit ,zero 
+30b3 58000164 setarg offset_24g_kb_addr 
+30b4 204032d3 call g24_set_rega_ifetcht_4byte 
+30b5 204030be call g24_fetch_mem_addr_isub_temp 
+30b6 2022b0c5 branch g24_kb_ch_num_reinit ,zero 
+30b7 58000160 setarg offset_24g_mouse_addr 
+30b8 204032d3 call g24_set_rega_ifetcht_4byte 
+30b9 204030be call g24_fetch_mem_addr_isub_temp 
+30ba 2022b0c8 branch g24_ms_ch_num_reinit ,zero 
+30bb 20600000 rtn 
+
+g24_dongle_search_addr_check:
+30bc 5800012b setarg offset_24g_rx_addr 
+30bd 204032d3 call g24_set_rega_ifetcht_4byte 
+
+g24_fetch_mem_addr_isub_temp:
+30be 2040322a call g24_fetch_mem_addr 
+30bf 98467c00 isub temp ,null 
+30c0 20600000 rtn 
+
+g24_dg_ch_num_reinit:
+30c1 58000182 setarg offset_24g_dg_ch_number 
+30c2 204032d0 call g24_set_rega_ifetch_1byte 
+
+g24_current_ch_num_reinit:
+30c3 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+30c4 202032b4 branch g24_contw_istore_1byte 
+
+g24_kb_ch_num_reinit:
+30c5 58000185 setarg offset_24g_kb_ch_number 
+30c6 204032d0 call g24_set_rega_ifetch_1byte 
+30c7 202030c3 branch g24_current_ch_num_reinit 
+
+g24_ms_ch_num_reinit:
+30c8 58000188 setarg offset_24g_ms_ch_number 
+30c9 204032d0 call g24_set_rega_ifetch_1byte 
+30ca 202030c3 branch g24_current_ch_num_reinit 
+
+g24_dongle_search_mode_init:
+30cb 20403294 call g24_fetch_mem_dongle_mode_init 
+30cc c3838000 rtnbit1 dongle_search 
+30cd 79207e07 set1 dongle_search ,pdata 
+30ce 20403297 call g24_store_mem_dongle_mode_init 
+30cf 20403283 call g24_set0_mem_time_slice 
+30d0 2040329c call g24_set1_mem_ackpayload_enable 
+30d1 58000000 setarg 0 
+30d2 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+30d3 e0a18000 istore 3 ,contw 
+30d4 da200183 arg offset_24g_dg_config_ch_once ,rega 
+30d5 204032bf call g24_set_contw_with_temp 
+30d6 e0a38000 istore 7 ,contw 
+30d7 204030bc call g24_dongle_search_addr_check 
+30d8 24628000 nrtn zero 
+30d9 1a60a291 add regc ,offset_24g_current_ch_number ,rega 
+30da ea208000 ifetch 1 ,rega 
+30db da200182 arg offset_24g_dg_ch_number ,rega 
+30dc 204032b3 call g24_set_contw_with_regb_store_1byte 
+30dd 1a60a290 add regc ,offset_24g_ch ,rega 
+30de ea208000 ifetch 1 ,rega 
+30df 2020314a branch g24_store_mem_dg_last_ch 
+
+g24_rx_auto_addr_ch_search:
+30e0 44e0c018 bpatch patch18_1 ,mem_patch18 
+30e1 20403281 call g24_fetch_mem_time_slice 
+30e2 1fe0fe01 increase 1 ,pdata 
+30e3 1fe17e03 and_into 3 ,pdata 
+30e4 20403284 call g24_store_mem_time_slice 
+30e5 c000310e beq 0 ,g24_rx_auto_bind_config_kb 
+30e6 c000b132 beq 1 ,g24_rx_auto_bind_config_dongle 
+30e7 c00130ea beq 2 ,g24_rx_auto_bind_config_mouse 
+30e8 c001b132 beq 3 ,g24_rx_auto_bind_config_dongle 
+30e9 20600000 rtn 
+
+g24_rx_auto_bind_config_mouse:
+30ea 20402fdf call g24_dongle_bind_ms_payload_cfg 
+30eb 58000160 setarg offset_24g_mouse_addr 
+30ec 2040327e call g24_set_rega_ifetch_4byte 
+30ed 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+30ee 2040322c call g24_store_mem_addr 
+30ef 58000189 setarg offset_24g_ms_config_ch_once 
+30f0 204032d0 call g24_set_rega_ifetch_1byte 
+30f1 205a3108 call g24_ms_config_ch_once ,blank 
+30f2 58000187 setarg offset_24g_ms_last_ch 
+30f3 204032d0 call g24_set_rega_ifetch_1byte 
+30f4 2040322f call g24_store_mem_ch 
+30f5 1a60a2f7 add regc ,offset_rssi_noise_ms_index ,rega 
+30f6 ea288000 ifetcht 1 ,rega 
+30f7 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+30f8 20402e58 call rssi_noise_store 
+30f9 1a608af7 add regc ,offset_rssi_noise_ms_index ,contw 
+30fa e0a88000 istoret 1 ,contw 
+30fb 20402f94 call g24_noise_rssi_average 
+30fc 1a608afa add regc ,offset_rssi_noise_ms_avg ,contw 
+30fd e0a88000 istoret 1 ,contw 
+30fe 18467c50 sub temp ,rssi_thresh_noise ,null 
+30ff 24610000 nrtn positive 
+3100 58000188 setarg offset_24g_ms_ch_number 
+3101 20403275 call g24_set_rega_ifetcht_1byte 
+3102 20402c90 call g24_ch_temp_incre_size4 
+3103 da200188 arg offset_24g_ms_ch_number ,rega 
+3104 204032c8 call g24_set_contw_with_regb2 
+3105 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_ms_last_ch:
+3106 da200187 arg offset_24g_ms_last_ch ,rega 
+3107 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_ms_config_ch_once:
+3108 58000001 setarg 1 
+3109 da200189 arg offset_24g_ms_config_ch_once ,rega 
+310a 204032b3 call g24_set_contw_with_regb_store_1byte 
+310b d8400000 arg 0 ,temp 
+310c 20402c94 call g24_ch_calc 
+310d 20203106 branch g24_store_mem_ms_last_ch 
+
+g24_rx_auto_bind_config_kb:
+310e 20402fea call g24_dongle_bind_kb_payload_cfg 
+310f 58000164 setarg offset_24g_kb_addr 
+3110 2040327e call g24_set_rega_ifetch_4byte 
+3111 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+3112 2040322c call g24_store_mem_addr 
+3113 58000186 setarg offset_24g_kb_config_ch_once 
+3114 204032d0 call g24_set_rega_ifetch_1byte 
+3115 205a312c call g24_kb_config_ch_once ,blank 
+3116 58000184 setarg offset_24g_kb_last_ch 
+3117 204032d0 call g24_set_rega_ifetch_1byte 
+3118 2040322f call g24_store_mem_ch 
+3119 1a60a2f6 add regc ,offset_rssi_noise_kb_index ,rega 
+311a ea288000 ifetcht 1 ,rega 
+311b da20109e arg mem_rssi_noise_kb_buffer ,rega 
+311c 20402e58 call rssi_noise_store 
+311d 1a608af6 add regc ,offset_rssi_noise_kb_index ,contw 
+311e e0a88000 istoret 1 ,contw 
+311f 20402f94 call g24_noise_rssi_average 
+3120 1a608af9 add regc ,offset_rssi_noise_kb_avg ,contw 
+3121 e0a88000 istoret 1 ,contw 
+3122 18467c50 sub temp ,rssi_thresh_noise ,null 
+3123 24610000 nrtn positive 
+3124 58000185 setarg offset_24g_kb_ch_number 
+3125 20403275 call g24_set_rega_ifetcht_1byte 
+3126 20402c90 call g24_ch_temp_incre_size4 
+3127 da200185 arg offset_24g_kb_ch_number ,rega 
+3128 204032c8 call g24_set_contw_with_regb2 
+3129 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_kb_last_ch:
+312a da200184 arg offset_24g_kb_last_ch ,rega 
+312b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_kb_config_ch_once:
+312c 58000001 setarg 1 
+312d da200186 arg offset_24g_kb_config_ch_once ,rega 
+312e 204032b3 call g24_set_contw_with_regb_store_1byte 
+312f d8400000 arg 0 ,temp 
+3130 20402c94 call g24_ch_calc 
+3131 2020312a branch g24_store_mem_kb_last_ch 
+
+g24_rx_auto_bind_config_dongle:
+3132 20402fdf call g24_dongle_bind_ms_payload_cfg 
+3133 2040327d call g24_fetch_mem_rx_addr 
+3134 2040322c call g24_store_mem_addr 
+3135 58000183 setarg offset_24g_dg_config_ch_once 
+3136 204032d0 call g24_set_rega_ifetch_1byte 
+3137 205a314c call g24_dg_config_ch_once ,blank 
+3138 2040314f call g24_dg_store_config_ch 
+3139 1a60a2f5 add regc ,offset_rssi_noise_dg_index ,rega 
+313a ea288000 ifetcht 1 ,rega 
+313b da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+313c 20402e58 call rssi_noise_store 
+313d 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+313e e0a88000 istoret 1 ,contw 
+313f 20402f94 call g24_noise_rssi_average 
+3140 1a608af8 add regc ,offset_rssi_noise_dg_avg ,contw 
+3141 e0a88000 istoret 1 ,contw 
+3142 18467c50 sub temp ,rssi_thresh_noise ,null 
+3143 24610000 nrtn positive 
+3144 58000182 setarg offset_24g_dg_ch_number 
+3145 20403275 call g24_set_rega_ifetcht_1byte 
+3146 20402c90 call g24_ch_temp_incre_size4 
+3147 da200182 arg offset_24g_dg_ch_number ,rega 
+3148 204032c8 call g24_set_contw_with_regb2 
+3149 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_dg_last_ch:
+314a da200181 arg offset_24g_dg_last_ch ,rega 
+314b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dg_config_ch_once:
+314c 58000001 setarg 1 
+314d da200183 arg offset_24g_dg_config_ch_once ,rega 
+314e 204032b3 call g24_set_contw_with_regb_store_1byte 
+
+g24_dg_store_config_ch:
+314f 58000181 setarg offset_24g_dg_last_ch 
+3150 204032d0 call g24_set_rega_ifetch_1byte 
+3151 2020322f branch g24_store_mem_ch 
+
+g24_transmit_ack:
+3152 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+3153 ea208000 ifetch 1 ,rega 
+3154 2040323c call g24_store_mem_data_type 
+3155 20402dde call g24_read_len_pid_crc 
+3156 2040325f call g24_fetch_mem_rxbuf_add1 
+3157 2feffe00 isolate1 bit_ack_24g ,pdata 
+3158 2020b15c branch g24tx_no_ack ,true 
+
+g24tx_with_ack:
+3159 2040315d call g24_ackpayload_prep 
+315a 20402d53 call g24_transmit_prep 
+315b 20402df7 call g24_transmit 
+
+g24tx_no_ack:
+315c 20202e45 branch g24_end_of_packet 
+
+g24_ackpayload_prep:
+315d 44e14018 bpatch patch18_2 ,mem_patch18 
+315e 1a608a86 add regc ,offset_24g_datalen ,contw 
+315f 204032d6 call g24_mem_set0 
+3160 5800013b setarg offset_24g_ackpayload_enable 
+3161 204032d0 call g24_set_rega_ifetch_1byte 
+3162 207a0000 rtn blank 
+3163 58000006 setarg 0x06 
+3164 1a608a86 add regc ,offset_24g_datalen ,contw 
+3165 e0a08000 istore 1 ,contw 
+3166 df200006 arg 0x06 ,loopcnt 
+3167 5800012f setarg offset_24g_bind_payload 
+3168 9a608c00 iadd regc ,contr 
+3169 1a608a22 add regc ,offset_24g_txbuf ,contw 
+316a 20207f01 branch memcpy 
+
+g24_receive_packet_start:
+316b 2040316e call g24_receive_transmit_ack 
+316c 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+316d 20203172 branch g24_receive_packet_parse 
+
+g24_receive_transmit_ack:
+316e 20402f5e call g24_rx_interrupt_clear 
+316f 20402e11 call g24_receive_packet 
+3170 24778000 nrtn user3 
+3171 20203152 branch g24_transmit_ack 
+
+g24_receive_packet_parse:
+3172 44e1c018 bpatch patch18_3 ,mem_patch18 
+3173 20403188 call g24_receive_packet_parse_pid_crc 
+3174 24342f5e nbranch g24_rx_interrupt_clear ,user 
+3175 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+3176 ea208000 ifetch 1 ,rega 
+3177 203a2f5e branch g24_rx_interrupt_clear ,blank 
+3178 1fe0fe02 increase 2 ,pdata 
+3179 98007200 iforce loopcnt 
+317a 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+317b 58000109 setarg offset_24g_rxdata_temp 
+317c 9a608a00 iadd regc ,contw 
+317d 20407f01 call memcpy 
+317e 20403286 call g24_set0_mem_mode_switch 
+317f 204032b6 call g24_fetch_mem_pair_mode 
+3180 205a3093 call g24_enable_nodata_timer ,blank 
+3181 5800010b setarg offset_24g_rxdata_temp_add2 
+3182 204032d0 call g24_set_rega_ifetch_1byte 
+3183 c000b19e beq 0x01 ,g24_data_type1 
+3184 c00131c6 beq 0x02 ,g24_data_type2 
+3185 c001b1f2 beq 0x03 ,g24_data_type3 
+3186 c07fb212 beq 0xff ,g24_data_attemp 
+3187 20202f5e branch g24_rx_interrupt_clear 
+
+g24_receive_packet_parse_pid_crc:
+3188 20402c7a call g24_head_ptr2regc 
+3189 20407fe9 call disable_user 
+318a 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+318b ea208000 ifetch 1 ,rega 
+318c 1a60a2cb add regc ,offset_24g_last_pid ,rega 
+318d ea288000 ifetcht 1 ,rega 
+318e 98467c00 isub temp ,null 
+318f 2442ffe7 ncall enable_user ,zero 
+3190 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+3191 ea208000 ifetch 1 ,rega 
+3192 1a608acb add regc ,offset_24g_last_pid ,contw 
+3193 e0a08000 istore 1 ,contw 
+3194 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+3195 ea218000 ifetch 3 ,rega 
+3196 1a60a2c7 add regc ,offset_24g_last_crc ,rega 
+3197 ea298000 ifetcht 3 ,rega 
+3198 98467c00 isub temp ,null 
+3199 2442ffe7 ncall enable_user ,zero 
+319a 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+319b ea218000 ifetch 3 ,rega 
+319c 1a608ac7 add regc ,offset_24g_last_crc ,contw 
+319d 202032c5 branch g24_contw_istore_3byte 
+
+g24_data_type1:
+319e 20402f88 call g24_ch_timer_reinit 
+319f 2040324c call g24_fetch_mem_abort_pac 
+31a0 60008aa2 store 1 ,mem_temp 
+31a1 20403274 call g24_fetcht_mem_rxdata_temp 
+31a2 68008aa2 fetch 1 ,mem_temp 
+31a3 284ffe03 isolate1 bit_abort ,temp 
+31a4 7920fe00 setflag true ,0 ,pdata 
+31a5 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+31a6 e0a08000 istore 1 ,contw 
+31a7 c000b216 beq 1 ,g24_data_attemp_mouse 
+31a8 20403245 call g24_fetch_mem_hop_pac 
+31a9 20403274 call g24_fetcht_mem_rxdata_temp 
+31aa 284ffe04 isolate1 bit_hop ,temp 
+31ab 7920fe00 setflag true ,0 ,pdata 
+31ac 20403249 call g24_store_mem_hop_pac 
+31ad 1a60a2de add regc ,offset_24g_cb_rxdata_type1 ,rega 
+31ae ea210000 ifetch 2 ,rega 
+31af 20207f9c branch callback_func 
+
+dongle_rxdata_type1:
+31b0 58000001 setarg ms_report_id 
+31b1 60008d54 store 1 ,mem_usb_mouse_data 
+31b2 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b3 e0a38000 istore 7 ,contw 
+31b4 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b5 245a31bd ncall g24_ms_enable_blank_data_forcibly ,blank 
+31b6 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b7 205a31c2 call g24_ms_disable_blank_data_forcibly ,blank 
+
+g24_data_type1_usbtx_enable:
+31b8 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+
+g24_data_type1_usbtx_enable_ep2:
+31b9 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ba 79207e02 set1 2 ,pdata 
+31bb 60008d38 store 1 ,mem_usb_tx_enable 
+31bc 20600000 rtn 
+
+g24_ms_enable_blank_data_forcibly:
+31bd 58000001 setarg 1 
+31be 204032a8 call g24_store_mem_ms_blank_data_enable 
+
+g24_ms_enable_blank_data_timer:
+31bf 58000140 setarg timer_ms_blank_delay 
+31c0 d8e0000b arg timer_ms_blank ,queue 
+31c1 20207f08 branch timer_init 
+
+g24_ms_disable_blank_data_forcibly:
+31c2 204032a7 call g24_set0_mem_ms_blank_data_enable 
+
+g24_ms_disable_blank_data_timer:
+31c3 58000000 setarg 0 
+31c4 d8e0000b arg timer_ms_blank ,queue 
+31c5 20207f08 branch timer_init 
+
+g24_data_type2:
+31c6 20403274 call g24_fetcht_mem_rxdata_temp 
+31c7 284ffe03 isolate1 bit_abort ,temp 
+31c8 2020b21b branch g24_data_attemp_kbd ,true 
+31c9 d8a00d64 arg mem_usb_kb_data ,contw 
+31ca 204031e0 call g24_data_type2_reverse_data 
+31cb 68040d64 fetch 8 ,mem_usb_kb_data 
+31cc 245a31e4 ncall g24_kb_enable_blank_data_forcibly ,blank 
+31cd 68040d64 fetch 8 ,mem_usb_kb_data 
+31ce 205a31e9 call g24_kb_disable_blank_data_forcibly ,blank 
+31cf 20402c7a call g24_head_ptr2regc 
+31d0 68040d64 fetch 8 ,mem_usb_kb_data 
+31d1 da200168 arg offset_24g_kb_data_sta_data ,rega 
+31d2 204032bf call g24_set_contw_with_temp 
+31d3 e0a40000 istore 8 ,contw 
+31d4 58000170 setarg offset_24g_kb_data_last_data 
+31d5 9a60a200 iadd regc ,rega 
+31d6 ea2c0000 ifetcht 8 ,rega 
+31d7 98467c00 isub temp ,null 
+31d8 2442b1ed ncall g24_kb_data_dispose ,zero 
+31d9 58000168 setarg offset_24g_kb_data_sta_data 
+31da 9a60a200 iadd regc ,rega 
+31db ea240000 ifetch 8 ,rega 
+31dc da200170 arg offset_24g_kb_data_last_data ,rega 
+31dd 204032bf call g24_set_contw_with_temp 
+31de e0a40000 istore 8 ,contw 
+31df 20202f5e branch g24_rx_interrupt_clear 
+
+g24_data_type2_reverse_data:
+31e0 5800010b setarg offset_24g_rxdata_temp_add2 
+31e1 9a608c00 iadd regc ,contr 
+31e2 df200009 arg 9 ,loopcnt 
+31e3 20207ff3 branch reverse_byte 
+
+g24_kb_enable_blank_data_forcibly:
+31e4 58000001 setarg 1 
+31e5 204032ab call g24_store_mem_kb_blank_data_enable 
+
+g24_kb_enable_blank_data_timer:
+31e6 58000140 setarg timer_kb_blank_delay 
+31e7 d8e0000e arg timer_kb_blank ,queue 
+31e8 20207f08 branch timer_init 
+
+g24_kb_disable_blank_data_forcibly:
+31e9 204032aa call g24_set0_mem_kb_blank_data_enable 
+
+g24_kb_disable_blank_data_timer:
+31ea 58000000 setarg 0 
+31eb d8e0000e arg timer_kb_blank ,queue 
+31ec 20207f08 branch timer_init 
+
+g24_kb_data_dispose:
+
+g24_kb_data_into_ep1_fifo:
+31ed 700d5110 jam usb_ep1_kb ,mem_usb_ep1_data 
+31ee 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ef 79207e01 set1 1 ,pdata 
+31f0 60008d38 store 1 ,mem_usb_tx_enable 
+31f1 20600000 rtn 
+
+g24_data_type3:
+31f2 d8a00d74 arg mem_usb_kb_multikey ,contw 
+31f3 204031e0 call g24_data_type2_reverse_data 
+31f4 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f5 245a3209 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+31f6 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f7 205a320e call g24_kb_mul_disable_blank_data_forcibly ,blank 
+31f8 20402c7a call g24_head_ptr2regc 
+31f9 68018d74 fetch 3 ,mem_usb_kb_multikey 
+31fa da200178 arg offset_24g_kb_multikey_sta_data ,rega 
+31fb 204032c4 call g24_set_contw_with_temp_store_3byte 
+31fc 5800017b setarg offset_24g_kb_multikey_last_data 
+31fd 9a60a200 iadd regc ,rega 
+31fe ea298000 ifetcht 3 ,rega 
+31ff 98467c00 isub temp ,null 
+3200 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+3201 58000178 setarg offset_24g_kb_multikey_sta_data 
+3202 9a60a200 iadd regc ,rega 
+3203 ea218000 ifetch 3 ,rega 
+3204 da20017b arg offset_24g_kb_multikey_last_data ,rega 
+3205 204032c4 call g24_set_contw_with_temp_store_3byte 
+3206 20202f5e branch g24_rx_interrupt_clear 
+
+g24_kb_mul_data_into_ep2_fifo:
+3207 700d5221 jam usb_ep2_multikey ,mem_usb_ep2_data 
+3208 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+
+g24_kb_mul_enable_blank_data_forcibly:
+3209 58000001 setarg 1 
+320a 204032ae call g24_store_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_enable_blank_data_timer:
+320b 58000140 setarg timer_kb_mul_blank_delay 
+320c d8e0000c arg timer_kb_mul_blank ,queue 
+320d 20207f08 branch timer_init 
+
+g24_kb_mul_disable_blank_data_forcibly:
+320e 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_disable_blank_data_timer:
+320f 58000000 setarg 0 
+3210 d8e0000c arg timer_kb_mul_blank ,queue 
+3211 20207f08 branch timer_init 
+
+g24_data_attemp:
+3212 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3213 c000b216 beq datatype_mouse ,g24_data_attemp_mouse 
+3214 c001321b beq datatype_keyboard ,g24_data_attemp_kbd 
+3215 20600000 rtn 
+
+g24_data_attemp_mouse:
+3216 5800010d setarg offset_24g_rxdata_temp_add4 
+3217 2040327e call g24_set_rega_ifetch_4byte 
+3218 da200160 arg offset_24g_mouse_addr ,rega 
+3219 204032bf call g24_set_contw_with_temp 
+321a 2020322d branch g24_contw_istore_4byte 
+
+g24_data_attemp_kbd:
+321b 5800010d setarg offset_24g_rxdata_temp_add4 
+321c 2040327e call g24_set_rega_ifetch_4byte 
+321d da200164 arg offset_24g_kb_addr ,rega 
+321e 204032bf call g24_set_contw_with_temp 
+321f 2020322d branch g24_contw_istore_4byte 
+
+g24_store_mem_24g_mode:
+3220 20402c7a call g24_head_ptr2regc 
+3221 1a608acd add regc ,offset_24g_mode ,contw 
+3222 e0a08000 istore 1 ,contw 
+3223 20600000 rtn 
+
+g24_fetch_mem_device_addr:
+3224 20402c7a call g24_head_ptr2regc 
+3225 1a60a2be add regc ,offset_24g_device_addr ,rega 
+3226 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_device_addr:
+3227 20402c7a call g24_head_ptr2regc 
+3228 1a608abe add regc ,offset_24g_device_addr ,contw 
+3229 2020322d branch g24_contw_istore_4byte 
+
+g24_fetch_mem_addr:
+322a 1a60a2ae add regc ,offset_24g_addr ,rega 
+322b 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_addr:
+322c 1a608aae add regc ,offset_24g_addr ,contw 
+
+g24_contw_istore_4byte:
+322d e0a20000 istore 4 ,contw 
+322e 20600000 rtn 
+
+g24_store_mem_ch:
+322f 1a608a90 add regc ,offset_24g_ch ,contw 
+3230 202032b4 branch g24_contw_istore_1byte 
+
+g24_set0_mem_pid:
+3231 58000000 setarg 0 
+
+g24_store_mem_pid:
+3232 20402c7a call g24_head_ptr2regc 
+3233 1a608a85 add regc ,offset_24g_pid ,contw 
+3234 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_txpayload:
+3235 1a608a42 add regc ,offset_24g_txpayload ,contw 
+3236 202032b4 branch g24_contw_istore_1byte 
+
+g24_set4_mem_max_retry:
+3237 58000004 setarg 4 
+
+g24_store_mem_max_retry:
+3238 1a608acc add regc ,offset_24g_max_retry ,contw 
+3239 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_data_type:
+323a 1a60a287 add regc ,offset_24g_data_type ,rega 
+323b 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_data_type:
+323c 1a608a87 add regc ,offset_24g_data_type ,contw 
+323d 202032b4 branch g24_contw_istore_1byte 
+
+g24_set2_mem_sync_cnt:
+323e 58000002 setarg 2 
+
+g24_store_mem_sync_cnt:
+323f 1a608ad0 add regc ,offset_24g_sync_cnt ,contw 
+3240 202032b4 branch g24_contw_istore_1byte 
+
+g24_set1_mem_rf_last_sta:
+3241 58000001 setarg 1 
+
+g24_store_mem_rf_last_sta:
+3242 20402c7a call g24_head_ptr2regc 
+3243 1a608ace add regc ,offset_24g_rf_last_sta ,contw 
+3244 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_hop_pac:
+3245 20402c7a call g24_head_ptr2regc 
+3246 1a60a2b4 add regc ,offset_24g_hop_pac ,rega 
+3247 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_hop_pac:
+3248 58000001 setarg 1 
+
+g24_store_mem_hop_pac:
+3249 20402c7a call g24_head_ptr2regc 
+324a 1a608ab4 add regc ,offset_24g_hop_pac ,contw 
+324b 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_abort_pac:
+324c 20402c7a call g24_head_ptr2regc 
+324d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+324e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_abort_pac:
+324f 58000001 setarg 1 
+
+g24_store_mem_abort_pac:
+3250 20402c7a call g24_head_ptr2regc 
+3251 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+3252 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_pairing_sm:
+3253 20402c7a call g24_head_ptr2regc 
+3254 1a60a296 add regc ,offset_24g_pairing_sm ,rega 
+3255 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_pairing_sm:
+3256 1a608a96 add regc ,offset_24g_pairing_sm ,contw 
+3257 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_hop_ch:
+3258 1a60a2cf add regc ,offset_24g_rf_hop_ch ,rega 
+3259 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_rf_hop_ch:
+325a 58000000 setarg 0 
+
+g24_store_mem_rf_hop_ch:
+325b 1a608acf add regc ,offset_24g_rf_hop_ch ,contw 
+325c 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_work_stage:
+325d 1a60a2d2 add regc ,offset_24g_rf_work_stage ,rega 
+325e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_rxbuf_add1:
+325f 1a60a201 add regc ,offset_24g_rxbuf_add1 ,rega 
+3260 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_check_dongle_times:
+3261 1a60a2b5 add regc ,offset_24g_check_dongle_times ,rega 
+3262 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_check_dongle_times:
+3263 58000000 setarg 0 
+
+g24_store_mem_check_dongle_times:
+3264 20402c7a call g24_head_ptr2regc 
+3265 1a608ab5 add regc ,offset_24g_check_dongle_times ,contw 
+3266 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_tx_power:
+3267 20402c7a call g24_head_ptr2regc 
+3268 1a60a2fb add regc ,offset_tx_power_temp ,rega 
+3269 ea208000 ifetch 1 ,rega 
+
+g24_store_mem_txpower:
+326a 6000c1de store 1 ,mem_tx_power 
+326b 20600000 rtn 
+
+g24_store_mem_tx_power_temp:
+326c 20402c7a call g24_head_ptr2regc 
+326d 6800c1de fetch 1 ,mem_tx_power 
+326e 1a608afb add regc ,offset_tx_power_temp ,contw 
+326f 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_power_ctrl_pac:
+3270 1a60a2fc add regc ,offset_power_ctrl_packet_cnt ,rega 
+3271 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_power_ctrl_level:
+3272 1a608afe add regc ,offset_power_ctrl_level ,contw 
+3273 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetcht_mem_rxdata_temp:
+3274 58000109 setarg offset_24g_rxdata_temp 
+
+g24_set_rega_ifetcht_1byte:
+3275 9a60a200 iadd regc ,rega 
+3276 ea288000 ifetcht 1 ,rega 
+3277 20600000 rtn 
+
+g24_fetch_mem_rf_laststa:
+3278 58000135 setarg offset_24g_rf_laststa 
+3279 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_rf_laststa:
+327a 58000000 setarg 0 
+
+g24_store_mem_rf_laststa:
+327b da200135 arg offset_24g_rf_laststa ,rega 
+327c 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_rx_addr:
+327d 5800012b setarg offset_24g_rx_addr 
+
+g24_set_rega_ifetch_4byte:
+327e 204032cd call g24_set_rega 
+
+g24_rega_ifetch_4byte:
+327f ea220000 ifetch 4 ,rega 
+3280 20600000 rtn 
+
+g24_fetch_mem_time_slice:
+3281 5800015f setarg offset_24g_time_slice 
+3282 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_time_slice:
+3283 58000000 setarg 0 
+
+g24_store_mem_time_slice:
+3284 da20015f arg offset_24g_time_slice ,rega 
+3285 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_mode_switch:
+3286 58000000 setarg 0 
+
+g24_store_mem_mode_switch:
+3287 da20015c arg offset_24g_mode_switch ,rega 
+3288 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_bind_payload:
+3289 da20012f arg offset_24g_bind_payload ,rega 
+328a 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_bind_device_status:
+328b 58000108 setarg offset_dongle_bind_device_status 
+328c 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_bind_device_status:
+328d da200108 arg offset_dongle_bind_device_status ,rega 
+328e 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_work_mode:
+328f 58000105 setarg offset_dongle_work_mode 
+3290 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_work_mem_dongle_work_mode:
+3291 58000000 setarg dongle_work 
+
+g24_store_mem_dongle_work_mode:
+3292 da200105 arg offset_dongle_work_mode ,rega 
+3293 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_mode_init:
+3294 58000104 setarg offset_dongle_mode_init 
+3295 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_dongle_mode_init:
+3296 58000000 setarg clear_init 
+
+g24_store_mem_dongle_mode_init:
+3297 da200104 arg offset_dongle_mode_init ,rega 
+3298 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ackpayload_enable:
+3299 58000000 setarg 0 
+
+g24_store_mem_ackpayload_enable:
+329a da20013b arg offset_24g_ackpayload_enable ,rega 
+329b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set1_mem_ackpayload_enable:
+329c 58000001 setarg 1 
+329d 2020329a branch g24_store_mem_ackpayload_enable 
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+329e 5800010c setarg offset_24g_rxdata_temp_add3 
+329f 204032cd call g24_set_rega 
+32a0 ea238000 ifetch 7 ,rega 
+32a1 20600000 rtn 
+
+g24_fetch_mem_nodata_timer_enable:
+32a2 5800015e setarg offset_24g_nodata_timer_enable 
+32a3 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_nodata_timer_enable:
+32a4 58000000 setarg 0 
+
+g24_store_mem_nodata_timer_enable:
+32a5 da20015e arg offset_24g_nodata_timer_enable ,rega 
+32a6 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ms_blank_data_enable:
+32a7 58000000 setarg 0 
+
+g24_store_mem_ms_blank_data_enable:
+32a8 da200180 arg offset_24g_ms_blank_data_enable ,rega 
+32a9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_blank_data_enable:
+32aa 58000000 setarg 0 
+
+g24_store_mem_kb_blank_data_enable:
+32ab da20017e arg offset_24g_kb_blank_data_enable ,rega 
+32ac 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_mul_blank_data_enable:
+32ad 58000000 setarg 0 
+
+g24_store_mem_kb_mul_blank_data_enable:
+32ae da20017f arg offset_24g_kb_mul_blank_data_enable ,rega 
+32af 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_up:
+32b0 da200102 arg offset_power_ctrl_threshold_up ,rega 
+32b1 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_down:
+32b2 da200103 arg offset_power_ctrl_threshold_down ,rega 
+
+g24_set_contw_with_regb_store_1byte:
+32b3 204032c7 call g24_set_contw_with_regb 
+
+g24_contw_istore_1byte:
+32b4 e0a08000 istore 1 ,contw 
+32b5 20600000 rtn 
+
+g24_fetch_mem_pair_mode:
+32b6 5800015d setarg offset_24g_pair_mode 
+32b7 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_pair_mode:
+32b8 da20015d arg offset_24g_pair_mode ,rega 
+32b9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_pair_txpower:
+32ba 5800018a setarg offset_24g_pair_txpower 
+32bb 204032d0 call g24_set_rega_ifetch_1byte 
+32bc 2020326a branch g24_store_mem_txpower 
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+32bd 5800010c setarg offset_24g_rxdata_temp_add3 
+32be 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_contw_with_temp:
+32bf 1fe20400 copy pdata ,temp 
+32c0 1a227e00 copy rega ,pdata 
+32c1 9a608a00 iadd regc ,contw 
+32c2 18427e00 copy temp ,pdata 
+32c3 20600000 rtn 
+
+g24_set_contw_with_temp_store_3byte:
+32c4 204032bf call g24_set_contw_with_temp 
+
+g24_contw_istore_3byte:
+32c5 e0a18000 istore 3 ,contw 
+32c6 20600000 rtn 
+
+g24_set_contw_with_regb:
+32c7 20402c7a call g24_head_ptr2regc 
+
+g24_set_contw_with_regb2:
+32c8 1fe22400 copy pdata ,regb 
+32c9 1a227e00 copy rega ,pdata 
+32ca 9a608a00 iadd regc ,contw 
+32cb 1a427e00 copy regb ,pdata 
+32cc 20600000 rtn 
+
+g24_set_rega:
+32cd 20402c7a call g24_head_ptr2regc 
+32ce 9a60a200 iadd regc ,rega 
+32cf 20600000 rtn 
+
+g24_set_rega_ifetch_1byte:
+32d0 204032cd call g24_set_rega 
+
+g24_rega_ifetch_1byte:
+32d1 ea208000 ifetch 1 ,rega 
+32d2 20600000 rtn 
+
+g24_set_rega_ifetcht_4byte:
+32d3 204032cd call g24_set_rega 
+32d4 ea2a0000 ifetcht 4 ,rega 
+32d5 20600000 rtn 
+
+g24_mem_set0:
+32d6 58000000 setarg 0 
+32d7 202032b4 branch g24_contw_istore_1byte 
+
+app_init:
+32d8 44e24018 bpatch patch18_4 ,mem_patch18 
+32d9 6800c092 fetch 1 ,mem_device_option 
+32da 203a32d8 branch app_init ,blank 
+32db c0022f30 beq dvc_op_dongle ,dongle_init 
+32dc c007b436 beq dvc_op_antilost ,antilost_init 
+32dd c004c5de beq dvc_op_shutter ,shutter_init 
+32de c005392a beq dvc_op_module ,module_init 
+32df c00735bf beq dvc_op_car ,car_init 
+32e0 c00844a4 beq dvc_op_remote_car ,remote_car_init 
+32e1 c2833d00 bbit1 dvc_op_mouse ,mouse_init 
+32e2 20600000 rtn 
+
+app_lpm_init:
+32e3 44e2c018 bpatch patch18_5 ,mem_patch18 
+32e4 70015100 jam 0 ,mem_tester_emulate 
+32e5 70017f00 jam 0 ,mem_debug_config 
+32e6 70018000 jam 0 ,mem_lch_code 
+32e7 58000000 setarg 0 
+32e8 600289ae store 5 ,mem_sp_state_start 
+32e9 6800c092 fetch 1 ,mem_device_option 
+32ea 203a32e3 branch app_lpm_init ,blank 
+32eb c0053962 beq dvc_op_module ,module_lpm_init 
+
+app_lpm_init0:
+32ec 20600000 rtn 
+
+app_process_idle:
+32ed 20407cd1 call ui_dispatch 
+32ee 20407d9c call check_51cmd 
+32ef 204032f6 call app_process_bb_event 
+32f0 680141f3 fetch 2 ,mem_cb_idle_process 
+32f1 20207f9c branch callback_func 
+
+app_process_bt:
+32f2 680141f1 fetch 2 ,mem_cb_bt_process 
+32f3 20207f9c branch callback_func 
+
+app_process_ble:
+32f4 680141ef fetch 2 ,mem_cb_le_process 
+32f5 20207f9c branch callback_func 
+
+app_process_bb_event:
+32f6 44e34018 bpatch patch18_6 ,mem_patch18 
+32f7 da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+32f8 20407fc4 call fifo_out 
+32f9 207a0000 rtn blank 
+32fa 1fe22600 copy pdata ,regc 
+32fb 204032ff call app_event_normal_process 
+32fc 20203324 branch app_process_bb_event_priority 
+
+app_discard_event:
+32fd da600000 arg 0 ,regc 
+32fe 20600000 rtn 
+
+app_event_normal_process:
+32ff c000b311 beq bt_evt_bb_connected ,app_evt_bt_conn 
+3300 c0083357 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+3301 c002b335 beq bt_evt_setup_complete ,app_evt_setup_complete 
+3302 c009333c beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+3303 c0033353 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+3304 c0023394 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+3305 c0013399 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+3306 c009b394 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+3307 c00a334b beq bt_evt_le_connected ,app_le_event_bb_connected 
+3308 c00ab34f beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+3309 c001b32e beq bt_evt_reconn_started ,app_event_reconn_start 
+330a c005b340 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+330b c0063347 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+330c c00b335b beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+330d c00c332a beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+330e c015331a beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+330f c015b318 beq bt_evt_switch_success_master ,app_event_switch_success 
+3310 20600000 rtn 
+
+app_evt_bt_conn:
+3311 68014682 fetch 2 ,mem_ui_state_map 
+3312 79207e00 set1 ui_state_bt_connected ,pdata 
+3313 60014682 store 2 ,mem_ui_state_map 
+3314 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3315 793ffe00 set0 app_disc_by_button ,pdata 
+3316 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3317 20600000 rtn 
+
+app_event_switch_success:
+3318 70022900 jam 0 ,mem_switch_fail_master_count 
+3319 20600000 rtn 
+
+app_event_switch_fail_master:
+331a 68008229 fetch 1 ,mem_switch_fail_master_count 
+331b 1fe0fe01 increase 1 ,pdata 
+331c 60008229 store 1 ,mem_switch_fail_master_count 
+331d 1fe67c01 sub pdata ,1 ,null 
+331e 202133df branch app_bt_role_switch ,positive 
+331f 70022900 jam 0 ,mem_switch_fail_master_count 
+3320 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3321 79207e09 set1 app_disc_switch_fail ,pdata 
+3322 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3323 202033e9 branch app_bt_disconnect 
+
+app_process_bb_event_priority:
+3324 680141f5 fetch 2 ,mem_cb_bb_event_process 
+3325 20207f9c branch callback_func 
+
+app_check_wake_lock:
+3326 680141e9 fetch 2 ,mem_cb_check_wakelock 
+3327 20207f9c branch callback_func 
+
+app_will_enter_lpm:
+3328 680141ed fetch 2 ,mem_cb_before_lpm 
+3329 20207f9c branch callback_func 
+
+app_event_linkkey_generate:
+332a 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332b 79207e01 set1 app_disc_after_pairing ,pdata 
+332c 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332d 20203412 branch app_bt_store_reconn_info 
+
+app_event_reconn_start:
+332e 68014682 fetch 2 ,mem_ui_state_map 
+332f 79207e07 set1 ui_state_bt_reconnect ,pdata 
+3330 60014682 store 2 ,mem_ui_state_map 
+3331 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3332 79207e02 set1 app_disc_after_reconn ,pdata 
+3333 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3334 20600000 rtn 
+
+app_evt_setup_complete:
+3335 68014682 fetch 2 ,mem_ui_state_map 
+3336 79207e01 set1 ui_state_bt_setup_complete ,pdata 
+3337 60014682 store 2 ,mem_ui_state_map 
+3338 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3339 79207e04 set1 app_disc_after_setup_done ,pdata 
+333a 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+333b 20600000 rtn 
+
+app_evt_hid_handshake:
+333c 68014682 fetch 2 ,mem_ui_state_map 
+333d 79207e03 set1 ui_state_bt_hid_handshake ,pdata 
+333e 60014682 store 2 ,mem_ui_state_map 
+333f 20600000 rtn 
+
+app_event_enter_sniff:
+3340 68014682 fetch 2 ,mem_ui_state_map 
+3341 79207e05 set1 ui_state_bt_sniff ,pdata 
+3342 60014682 store 2 ,mem_ui_state_map 
+3343 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3344 79207e03 set1 app_disc_after_sniff ,pdata 
+3345 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3346 20600000 rtn 
+
+app_event_exit_sniff:
+3347 68014682 fetch 2 ,mem_ui_state_map 
+3348 793ffe05 set0 ui_state_bt_sniff ,pdata 
+3349 60014682 store 2 ,mem_ui_state_map 
+334a 20600000 rtn 
+
+app_le_event_bb_connected:
+334b 68014682 fetch 2 ,mem_ui_state_map 
+334c 79207e09 set1 ui_state_ble_connected ,pdata 
+334d 60014682 store 2 ,mem_ui_state_map 
+334e 20600000 rtn 
+
+app_le_event_bb_disconn:
+334f 68014682 fetch 2 ,mem_ui_state_map 
+3350 793ffe09 set0 ui_state_ble_connected ,pdata 
+3351 60014682 store 2 ,mem_ui_state_map 
+3352 20203418 branch app_lpm_mult_disable 
+
+app_bb_event_hid_connected:
+3353 68014682 fetch 2 ,mem_ui_state_map 
+3354 79207e02 set1 ui_state_bt_hid_conn ,pdata 
+3355 60014682 store 2 ,mem_ui_state_map 
+3356 20600000 rtn 
+
+app_evt_button_long_pressed:
+3357 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3358 79207e00 set1 app_disc_by_button ,pdata 
+3359 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335a 20600000 rtn 
+
+app_event_ml2cap_conn_refused:
+335b 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335c 79207e08 set1 app_disc_l2cap_refused ,pdata 
+335d 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335e 202033e9 branch app_bt_disconnect 
+
+app_evt_timer:
+335f 44e3c018 bpatch patch18_7 ,mem_patch18 
+3360 6000822a store 1 ,mem_app_evt_timer_count 
+
+app_evt_100ms_loop:
+3361 6800822a fetch 1 ,mem_app_evt_timer_count 
+3362 207a0000 rtn blank 
+3363 1fe0ffff increase -1 ,pdata 
+3364 6000822a store 1 ,mem_app_evt_timer_count 
+3365 20407cdd call ui_button_polling 
+3366 204033d6 call app_lpm_wake_auto_lock_timer 
+3367 20403387 call app_unsniff_delay_timer 
+3368 2040338d call app_discovery_timer 
+3369 2040651b call flash_write_spi_sm_timer 
+336a 680141fd fetch 2 ,mem_cb_event_timer 
+336b 20407f9c call callback_func 
+336c 20203361 branch app_evt_100ms_loop 
+
+timer_single_step:
+336d ea608000 ifetch 1 ,regc 
+336e 207a0000 rtn blank 
+336f 1fe0ffff pincrease -1 
+3370 e2608000 istore 1 ,regc 
+3371 247a0000 nrtn blank 
+3372 1a427e00 copy regb ,pdata 
+3373 20207f9c branch callback_func 
+
+timer_single_step_2b:
+3374 ea610000 ifetch 2 ,regc 
+3375 207a0000 rtn blank 
+3376 1fe0ffff pincrease -1 
+3377 e2610000 istore 2 ,regc 
+3378 247a0000 nrtn blank 
+3379 1a427e00 copy regb ,pdata 
+337a 20207f9c branch callback_func 
+
+app_power_timer:
+337b 6809423f fetcht 2 ,mem_power_param_ptr 
+337c 1840a601 add temp ,power_timer_offset ,regc 
+337d da40337f arg app_power_timer_timeout ,regb 
+337e 2020336d branch timer_single_step 
+
+app_power_timer_timeout:
+337f 2040342d call app_got_power_state_common 
+3380 c000b382 beq power_starting ,app_enter_power_stanby_state 
+
+app_enter_power_off_state:
+3381 2020340a branch app_enter_hibernate 
+
+app_enter_power_stanby_state:
+3382 58000002 setarg power_standby 
+3383 e2608000 istore 1 ,regc 
+3384 1840a408 add temp ,power_standby_cb_offset ,regb 
+
+app_power_cb_common:
+3385 ea410000 ifetch 2 ,regb 
+3386 20207f9c branch callback_func 
+
+app_unsniff_delay_timer:
+3387 da604205 arg mem_unsniff2sniff_timer_count ,regc 
+3388 da40338a arg app_unsniff_delay_timeout ,regb 
+3389 2020336d branch timer_single_step 
+
+app_unsniff_delay_timeout:
+338a 20402252 call context_check_idle 
+338b 2022b40e branch app_bt_enter_sniff ,zero 
+338c 20600000 rtn 
+
+app_discovery_timer:
+338d da60467e arg mem_discovery_timeout_timer_count ,regc 
+338e da403390 arg app_discovery_timeout ,regb 
+338f 20203374 branch timer_single_step_2b 
+
+app_discovery_timeout:
+3390 204033f0 call app_bt_stop_discovery 
+3391 20403408 call app_led_off 
+3392 680141f7 fetch 2 ,mem_cb_discovry_timeout 
+3393 20207f9c branch callback_func 
+
+app_bb_event_reconn_failed:
+3394 204033ac call app_disconn_reason_flag_clear 
+
+app_clear_reconnect_flag:
+3395 68014682 fetch 2 ,mem_ui_state_map 
+3396 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+3397 60014682 store 2 ,mem_ui_state_map 
+3398 20600000 rtn 
+
+app_bb_event_bb_disconn:
+3399 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+339a 68014682 fetch 2 ,mem_ui_state_map 
+339b c283b39e bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+339c 2fec0001 isolate0 ui_state_bt_setup_complete ,pdata 
+339d 2040b2fd call app_discard_event ,true 
+
+app_bb_event_bb_reconn_disconn:
+339e 44e44019 bpatch patch19_0 ,mem_patch19 
+339f 68014682 fetch 2 ,mem_ui_state_map 
+33a0 793ffe00 set0 ui_state_bt_connected ,pdata 
+33a1 793ffe01 set0 ui_state_bt_setup_complete ,pdata 
+33a2 793ffe02 set0 ui_state_bt_hid_conn ,pdata 
+33a3 793ffe03 set0 ui_state_bt_hid_handshake ,pdata 
+33a4 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+33a5 60014682 store 2 ,mem_ui_state_map 
+33a6 20203418 branch app_lpm_mult_disable 
+
+app_bb_hibernate:
+33a7 204033a9 call app_disconn_reason_clear 
+33a8 2020340a branch app_enter_hibernate 
+
+app_disconn_reason_clear:
+33a9 58000000 setarg 0 
+33aa 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33ab 20600000 rtn 
+
+app_disconn_reason_flag_clear:
+33ac 58000000 setarg 0 
+33ad 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33ae 20600000 rtn 
+
+app_disconn_reason_collect_bt:
+33af 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b0 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b1 58000000 setarg 0 
+33b2 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b3 20600000 rtn 
+
+app_disconn_reason_collect_ble:
+33b4 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b5 79207e07 set1 app_disc_ble ,pdata 
+33b6 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b7 58000000 setarg 0 
+33b8 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b9 20600000 rtn 
+
+app_check_sniff:
+33ba 6800c682 fetch 1 ,mem_ui_state_map 
+33bb 2feffe05 isolate1 ui_state_bt_sniff ,pdata 
+33bc 20600000 rtn 
+
+app_initflag_store:
+33bd 5800aa55 setarg eeprom_init_flag 
+
+app_flag_store:
+33be 60010aaa store 2 ,mem_timeup 
+33bf 44e4c019 bpatch patch19_1 ,mem_patch19 
+33c0 d8400002 arg 2 ,temp 
+33c1 da200aaa arg mem_timeup ,rega 
+33c2 da4000c3 arg eeprom_module_init_flag ,regb 
+33c3 20206606 branch iicd_write_eep_data 
+
+app_initflag_check:
+33c4 44e54019 bpatch patch19_2 ,mem_patch19 
+33c5 d8400002 arg 2 ,temp 
+33c6 da200a9a arg mem_pdatatemp ,rega 
+33c7 da4000c3 arg eeprom_module_init_flag ,regb 
+33c8 204065df call iicd_read_eep_data 
+33c9 68010a9a fetch 2 ,mem_pdatatemp 
+33ca d840aa55 arg eeprom_init_flag ,temp 
+33cb 98467c00 isub temp ,null 
+33cc 20600000 rtn 
+
+app_start_auto_sniff:
+33cd 6800c55a fetch 1 ,mem_unsniff2sniff_timer 
+33ce 6000c205 store 1 ,mem_unsniff2sniff_timer_count 
+33cf 20600000 rtn 
+
+app_get_lpm_wake_lock:
+33d0 d8e00009 arg wake_lock_app ,queue 
+33d1 20202c32 branch lpm_get_wake_lock 
+
+app_put_lpm_wake_lock:
+33d2 d8e00009 arg wake_lock_app ,queue 
+33d3 20202c36 branch lpm_put_wake_lock 
+
+app_lpm_wake_auto_lock:
+33d4 70420605 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+33d5 202033d0 branch app_get_lpm_wake_lock 
+
+app_lpm_wake_auto_lock_timer:
+33d6 da604206 arg mem_wake_up_delay_timer ,regc 
+33d7 da4033d2 arg app_put_lpm_wake_lock ,regb 
+33d8 2020336d branch timer_single_step 
+
+app_l2cap_flow_control_enable:
+33d9 70436301 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+33da 20600000 rtn 
+
+app_l2cap_flow_control_disable:
+33db 70436300 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+33dc 20600000 rtn 
+
+app_bt_set_pincode:
+33dd 700a990a jam bt_cmd_set_pin_code ,mem_fifo_temp 
+33de 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_role_switch:
+33df 700a991d jam bt_cmd_role_switch ,mem_fifo_temp 
+33e0 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_reconnect:
+33e1 44e5c019 bpatch patch19_3 ,mem_patch19 
+33e2 6800c207 fetch 1 ,mem_app_connection_options 
+33e3 6000816d store 1 ,mem_connection_options 
+33e4 70022801 jam app_flag_reconnect ,mem_reconnect_flag 
+33e5 700a9903 jam bt_cmd_reconnect ,mem_fifo_temp 
+33e6 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_reconnect_cancel:
+33e7 700a991e jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+33e8 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_disconnect:
+33e9 700a9904 jam bt_cmd_disconnect ,mem_fifo_temp 
+33ea 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_discovery_short:
+33eb 68014687 fetch 2 ,mem_discovery_timeout 
+33ec 6001467e store 2 ,mem_discovery_timeout_timer_count 
+
+app_bt_start_discovery_led_blink:
+33ed 20403404 call app_led_start_blink 
+
+app_bt_start_discovery:
+33ee 700a9901 jam bt_cmd_start_discovery ,mem_fifo_temp 
+33ef 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_stop_discovery:
+33f0 58000000 setarg 0 
+33f1 6001467e store 2 ,mem_discovery_timeout_timer_count 
+33f2 700a9902 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+33f3 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_direct_adv:
+33f4 700a990f jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+33f5 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_direct_adv:
+33f6 700a9910 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+33f7 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_adv:
+33f8 700a990e jam bt_cmd_stop_adv ,mem_fifo_temp 
+33f9 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_adv:
+33fa 700a990d jam bt_cmd_start_adv ,mem_fifo_temp 
+33fb 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_scan:
+33fc 700a9917 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+33fd 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_scan:
+33fe 700a9918 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+33ff 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_conn:
+3400 700a9916 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+3401 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_disconnect:
+3402 700a9911 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+3403 20207d8f branch ui_ipc_send_cmd 
+
+app_led_start_blink:
+3404 700a9915 jam bt_cmd_led_blink ,mem_fifo_temp 
+3405 20207d8f branch ui_ipc_send_cmd 
+
+app_led_on:
+3406 700a9914 jam bt_cmd_led_on ,mem_fifo_temp 
+3407 20207d8f branch ui_ipc_send_cmd 
+
+app_led_stop_blink:
+
+app_led_off:
+3408 700a9913 jam bt_cmd_led_off ,mem_fifo_temp 
+3409 20207d8f branch ui_ipc_send_cmd 
+
+app_enter_hibernate:
+340a 700a9919 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+340b 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_sniff_exit:
+340c 700a9906 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+340d 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_enter_sniff:
+340e 700a9905 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+340f 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_store_reconn_info:
+3410 700a991f jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+3411 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_store_reconn_info:
+3412 700a9920 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+3413 20207d8f branch ui_ipc_send_cmd 
+
+app_store_reconn_info:
+3414 700a9925 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+3415 20207d8f branch ui_ipc_send_cmd 
+
+app_lpm_mult_enable:
+3416 7920000d set1 mark_lpm_mult_enable ,mark 
+3417 20600000 rtn 
+
+app_lpm_mult_disable:
+3418 793f800d set0 mark_lpm_mult_enable ,mark 
+3419 20600000 rtn 
+
+app_button_long_pressed:
+341a 2040342d call app_got_power_state_common 
+341b c0013424 beq power_standby ,app_power_shutting_down 
+
+app_power_starting:
+341c 58000001 setarg power_starting 
+341d e2608000 istore 1 ,regc 
+341e 1840a203 add temp ,power_starting_timeout_offset ,rega 
+341f 1840a406 add temp ,power_starting_cb_offset ,regb 
+
+app_power_common:
+3420 ea288000 ifetcht 1 ,rega 
+3421 1a60a601 increase 1 ,regc 
+3422 e2688000 istoret 1 ,regc 
+3423 20203385 branch app_power_cb_common 
+
+app_power_shutting_down:
+3424 58000000 setarg power_off 
+3425 e2608000 istore 1 ,regc 
+3426 68014682 fetch 2 ,mem_ui_state_map 
+3427 c304b429 bbit0 ui_state_ble_connected ,app_power_off_end 
+3428 20403402 call app_ble_disconnect 
+
+app_power_off_end:
+3429 6809423f fetcht 2 ,mem_power_param_ptr 
+342a 1840a202 add temp ,power_off_timeout_offset ,rega 
+342b 1840a404 add temp ,power_off_cb_offset ,regb 
+342c 20203420 branch app_power_common 
+
+app_got_power_state_common:
+342d 6809423f fetcht 2 ,mem_power_param_ptr 
+342e 1840a600 add temp ,power_state_offset ,regc 
+342f ea608000 ifetch 1 ,regc 
+3430 20600000 rtn 
+
+app_event_button_up:
+3431 2040342d call app_got_power_state_common 
+3432 c0803434 bne power_off ,app_power_release 
+3433 2020340a branch app_enter_hibernate 
+
+app_power_release:
+3434 1840a40a add temp ,ui_butten_up_cb_offset ,regb 
+3435 20203385 branch app_power_cb_common 
+
+antilost_init:
+3436 20758000 rtn wake 
+3437 70808100 jam 0x00 ,core_gpio_sel1 
+3438 58003463 setarg antilost_le_before_hibernate 
+3439 600141eb store 2 ,mem_cb_before_hibernate 
+343a 5800696c setarg keyscan_process_lpm_before 
+343b 600141ed store 2 ,mem_cb_before_lpm 
+343c 580034f5 setarg antilost_idle_process 
+343d 600141f3 store 2 ,mem_cb_idle_process 
+343e 580034f4 setarg antilost_le_conn_process 
+343f 600141ef store 2 ,mem_cb_le_process 
+3440 5800347e setarg antilost_bb_event_process 
+3441 600141f5 store 2 ,mem_cb_bb_event_process 
+3442 580034b2 setarg antilost_le_bb_event_timer 
+3443 600141fd store 2 ,mem_cb_event_timer 
+3444 58003465 setarg antilost_le_notification 
+3445 600141fb store 2 ,mem_cb_ble_transmit 
+3446 58003470 setarg antilost_lpm_lock_process 
+3447 600141e9 store 2 ,mem_cb_check_wakelock 
+3448 58003501 setarg antilost_le_receive_data_process 
+3449 600141f9 store 2 ,mem_cb_att_write 
+344a 44e64019 bpatch patch19_4 ,mem_patch19 
+344b 2040359b call antilost_buzzer_pwm_init 
+344c 20406948 call keyscan_key_init 
+344d 204035ad call antilost_adc_init 
+344e 20407d08 call ui_led_init_global 
+344f 20407cd3 call ui_button_init 
+3450 5800350b setarg antilost_key_up_down 
+3451 60014766 store 2 ,mem_cb_antl_key 
+3452 580034fc setarg antilost_power_off_cb 
+3453 6001475d store 2 ,mem_antl_power_off_cb 
+3454 580034f8 setarg antilost_power_starting_cb 
+3455 6001475f store 2 ,mem_antl_power_starting_cb 
+3456 5800346c setarg antilost_power_standby_cb 
+3457 60014761 store 2 ,mem_antl_power_standby_cb 
+3458 580035a2 setarg antilost_led_on_cb 
+3459 600146a9 store 2 ,mem_antl_led_cb_on 
+345a 580035a4 setarg antilost_led_off_cb 
+345b 600146ab store 2 ,mem_antl_led_cb_off 
+345c 580035a9 setarg antilost_buzzer_on 
+345d 600146b4 store 2 ,mem_antl_buzzer_cb_on 
+345e 580035a6 setarg antilost_buzzer_off 
+345f 600146b6 store 2 ,mem_antl_buzzer_cb_off 
+3460 68014682 fetch 2 ,mem_ui_state_map 
+3461 c3860000 rtnbit1 ui_state_btn_down 
+3462 2020340a branch app_enter_hibernate 
+
+antilost_le_before_hibernate:
+3463 20403586 call antilost_led_buzzer_stop_blink 
+3464 2020340a branch app_enter_hibernate 
+
+antilost_le_notification:
+3465 20405892 call le_fifo_check_nearly_full 
+3466 247a0000 nrtn blank 
+3467 da200b06 arg mem_temp_block5 ,rega 
+3468 20407e54 call queue_pop 
+3469 24740000 nrtn user 
+346a d8c00b06 arg mem_temp_block5 ,contr 
+346b 20204746 branch le_send_notify_from_list 
+
+antilost_power_standby_cb:
+346c 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+346d 60014791 store 2 ,mem_antl_le_sleep_timer 
+346e 70475301 jam 1 ,mem_antl_key_scan_enable 
+346f 2020358f branch antilost_fast_adv_start 
+
+antilost_lpm_lock_process:
+3470 6800c79d fetch 1 ,mem_antl_key_state 
+3471 c000b479 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+3472 68014682 fetch 2 ,mem_ui_state_map 
+3473 c304b479 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+3474 6800c79e fetch 1 ,mem_antl_lost_mode 
+3475 c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+3476 6800c700 fetch 1 ,mem_antl_queue_curr_num 
+3477 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+3478 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_lpm_ctrl_for_led_buzzer:
+3479 6800c79b fetch 1 ,mem_antl_led_state 
+347a 6808c79c fetcht 1 ,mem_antl_buzzer_state 
+347b 9841fe00 ior temp ,pdata 
+347c c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+347d 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_bb_event_process:
+347e 1a627e00 copy regc ,pdata 
+347f c016b431 beq bt_evt_button_up ,app_event_button_up 
+3480 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+3481 c00a34df beq bt_evt_le_connected ,antilost_le_process_conn 
+3482 c00ab4e8 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+3483 c0203485 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+3484 20600000 rtn 
+
+antilost_le_conn_param_update_rsp_recieved:
+3485 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+3486 c000b48c beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+
+antilost_le_conn_param_accepted:
+3487 680143d8 fetch 2 ,mem_le_new_connslavelatency 
+3488 203a34a2 branch antilost_master_nonsupport_latency ,blank 
+
+antilost_le_conn_param_updata_procedure_sucsess:
+3489 70478a02 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+348a 70478f3c jam 60 ,mem_antl_conn_update_timer 
+348b 20600000 rtn 
+
+antilost_le_conn_param_rejected:
+348c 6801449a fetch 2 ,mem_le_latency 
+348d 203a34a0 branch antilost_conn_param_updata_procedure_faild ,blank 
+
+antilost_conn_param_retransimiting:
+348e 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+348f 680947b4 fetcht 2 ,mem_interval_increment 
+3490 68014496 fetch 2 ,mem_le_interval_min 
+3491 9840fe00 iadd temp ,pdata 
+3492 60014496 store 2 ,mem_le_interval_min 
+3493 1fe22200 copy pdata ,rega 
+3494 68014498 fetch 2 ,mem_le_interval_max 
+3495 9840fe00 iadd temp ,pdata 
+3496 60014498 store 2 ,mem_le_interval_max 
+3497 9a20fe00 iadd rega ,pdata 
+3498 1fe30400 rshift pdata ,temp 
+3499 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+349a 9846fc00 idiv temp 
+349b 20407f86 call wait_div_end 
+349c 1807fe00 quotient pdata 
+349d 6001449a store 2 ,mem_le_latency 
+349e 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+349f 20600000 rtn 
+
+antilost_conn_param_updata_procedure_faild:
+34a0 70478a03 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+34a1 20600000 rtn 
+
+antilost_master_nonsupport_latency:
+34a2 70417200 jam 0 ,mem_lpm_mult 
+34a3 70479000 jam 0 ,mem_antl_send_updata_le_param_timer 
+34a4 680143d6 fetch 2 ,mem_le_new_conninterval 
+34a5 680947be fetcht 2 ,mem_antl_le_unnormal_interval_min 
+34a6 98467c00 isub temp ,null 
+34a7 79212200 setflag positive ,0 ,rega 
+34a8 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+34a9 680943d6 fetcht 2 ,mem_le_new_conninterval 
+34aa 98467e00 isub temp ,pdata 
+34ab 79212201 setflag positive ,1 ,rega 
+34ac 2a200603 compare 0x03 ,rega ,0x03 
+34ad 20608000 rtn true 
+34ae 680447be fetch 8 ,mem_antl_le_unnormal_interval_min 
+34af 60044496 store 8 ,mem_le_interval_min 
+34b0 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34b1 20600000 rtn 
+
+antilost_le_bb_event_timer:
+34b2 2040337b call app_power_timer 
+34b3 204034b9 call antilost_double_click_timer 
+34b4 204034be call antilost_le_fast_adv_timer 
+34b5 204034d5 call antilost_le_sleep_timer 
+34b6 204034ca call antilost_app_updata_le_param_timer 
+34b7 204034c4 call antilost_conn_update_timer 
+34b8 202034d9 branch antilost_adc_check_timer 
+
+antilost_double_click_timer:
+34b9 da604799 arg mem_double_click_timer ,regc 
+34ba da4034bc arg antilost_double_click_timeout ,regb 
+34bb 2020336d branch timer_single_step 
+
+antilost_double_click_timeout:
+34bc 70479a00 jam 0 ,mem_butten_click_cnt 
+34bd 20600000 rtn 
+
+antilost_le_fast_adv_timer:
+34be da604793 arg mem_antl_fast_adv_timer ,regc 
+34bf da4034c1 arg antilost_le_fast_adv_timeout ,regb 
+34c0 20203374 branch timer_single_step_2b 
+
+antilost_le_fast_adv_timeout:
+34c1 da6046bf arg mem_antl_slow_adv_led_style ,regc 
+34c2 da40469e arg mem_antl_slow_adv_lpm_interval ,regb 
+34c3 20203591 branch antilost_adv_start_common 
+
+antilost_conn_update_timer:
+34c4 da60478f arg mem_antl_conn_update_timer ,regc 
+34c5 da4034c7 arg antilost_conn_update_timer_time_out ,regb 
+34c6 2020336d branch timer_single_step 
+
+antilost_conn_update_timer_time_out:
+34c7 6801449a fetch 2 ,mem_le_latency 
+34c8 6000c172 store 1 ,mem_lpm_mult 
+34c9 20600000 rtn 
+
+antilost_app_updata_le_param_timer:
+34ca da604790 arg mem_antl_send_updata_le_param_timer ,regc 
+34cb da4034cd arg antilost_app_updata_le_param_timeout ,regb 
+34cc 2020336d branch timer_single_step 
+
+antilost_app_updata_le_param_timeout:
+34cd 6800843f fetch 1 ,mem_le_state 
+34ce 2fe0c000 compare 0 ,pdata ,0x60 
+34cf 2420b4d3 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+34d0 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+34d1 20403416 call app_lpm_mult_enable 
+34d2 20205abf branch le_l2cap_tx_update_req 
+
+antilost_wait_for_updata_param_instant_expire:
+34d3 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34d4 20600000 rtn 
+
+antilost_le_sleep_timer:
+34d5 da604791 arg mem_antl_le_sleep_timer ,regc 
+34d6 da4034d8 arg antilost_le_sleep_timer_timeout ,regb 
+34d7 20203374 branch timer_single_step_2b 
+
+antilost_le_sleep_timer_timeout:
+34d8 2020341a branch app_button_long_pressed 
+
+antilost_adc_check_timer:
+34d9 da60478d arg mem_adc_timer ,regc 
+34da da4034dc arg antilost_adc_check_timer_timeout ,regb 
+34db 20203374 branch timer_single_step_2b 
+
+antilost_adc_check_timer_timeout:
+34dc 680147a7 fetch 2 ,mem_adc_timeout 
+34dd 6001478d store 2 ,mem_adc_timer 
+34de 202035af branch antilost_battery_process 
+
+antilost_le_process_conn:
+34df 680147a7 fetch 2 ,mem_adc_timeout 
+34e0 6001478d store 2 ,mem_adc_timer 
+34e1 58000000 setarg 0 
+34e2 60014793 store 2 ,mem_antl_fast_adv_timer 
+34e3 60014791 store 2 ,mem_antl_le_sleep_timer 
+34e4 2040355c call antilost_alert_off 
+34e5 20403586 call antilost_led_buzzer_stop_blink 
+34e6 70417200 jam 0 ,mem_lpm_mult 
+34e7 202033f8 branch app_ble_stop_adv 
+
+antilost_le_process_discon:
+34e8 58000000 setarg 0 
+34e9 6002478d store 4 ,mem_adc_timer 
+34ea 6001c78a store 3 ,mem_antl_conn_updata_procedure_state 
+34eb 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+34ec 7047a001 jam 1 ,mem_alarm_config_notfy_cnt 
+34ed 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+34ee 60014791 store 2 ,mem_antl_le_sleep_timer 
+34ef 20407e38 call queue_init 
+34f0 6800c759 fetch 1 ,mem_antl_power_state 
+34f1 c1000000 rtneq power_off 
+34f2 2040358f call antilost_fast_adv_start 
+34f3 2020356e branch antilost_on_off_alarm_after_disconn 
+
+antilost_le_conn_process:
+34f4 20203508 branch antilost_key_process 
+
+antilost_idle_process:
+34f5 6800c759 fetch 1 ,mem_antl_power_state 
+34f6 c1810000 rtnne power_standby 
+34f7 20203508 branch antilost_key_process 
+
+antilost_power_starting_cb:
+34f8 da6046cd arg mem_antl_power_starting_buzzer_style ,regc 
+34f9 20403582 call antilost_buzzer_configuration 
+34fa da6046c6 arg mem_antl_power_starting_led_style ,regc 
+
+antilost_power_common:
+34fb 20203584 branch antilost_led_configuration 
+
+antilost_power_off_cb:
+34fc 70436e00 jam off ,mem_le_adv_enable 
+34fd da6046db arg mem_antl_power_off_buzzer_style ,regc 
+34fe 20403582 call antilost_buzzer_configuration 
+34ff da6046d4 arg mem_antl_power_off_led_style ,regc 
+3500 202034fb branch antilost_power_common 
+
+antilost_le_receive_data_process:
+3501 68008477 fetch 1 ,mem_le_att_opcode 
+3502 c0093504 beq attop_write_request ,antilost_le_parse_att_write_request 
+3503 20600000 rtn 
+
+antilost_le_parse_att_write_request:
+3504 68010478 fetch 2 ,mem_le_att_handle 
+3505 c006b536 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+3506 c005b571 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+3507 20600000 rtn 
+
+antilost_key_process:
+3508 6800c753 fetch 1 ,mem_antl_key_scan_enable 
+3509 207a0000 rtn blank 
+350a 20206978 branch keyscan_key_process 
+
+antilost_key_up_down:
+350b 1a227e00 copy rega ,pdata 
+350c 203a3510 branch antilost_key_is_up ,blank 
+
+antilost_key_is_down:
+350d 18e27e00 copy queue ,pdata 
+350e c0003513 beq 0 ,antilost_key0_down 
+350f 20600000 rtn 
+
+antilost_key_is_up:
+3510 18e27e00 copy queue ,pdata 
+3511 c000351b beq 0 ,antilost_key0_up 
+3512 20600000 rtn 
+
+antilost_key0_down:
+3513 70479d01 jam 1 ,mem_antl_key_state 
+3514 da6046f7 arg mem_antl_key_buzzer_style ,regc 
+3515 20403582 call antilost_buzzer_configuration 
+3516 da6046f0 arg mem_antl_key_led_style ,regc 
+3517 20403584 call antilost_led_configuration 
+3518 68014682 fetch 2 ,mem_ui_state_map 
+3519 c304b532 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+351a 20203521 branch antilost_butten_down_after_conn 
+
+antilost_key0_up:
+351b 70479d00 jam 0 ,mem_antl_key_state 
+351c 2020351d branch antilost_double_click_timer_init 
+
+antilost_double_click_timer_init:
+351d 6800c79a fetch 1 ,mem_butten_click_cnt 
+351e c1808000 rtnne 1 
+351f 70479905 jam 5 ,mem_double_click_timer 
+3520 20600000 rtn 
+
+antilost_butten_down_after_conn:
+3521 6800c79a fetch 1 ,mem_butten_click_cnt 
+3522 1fe0fe01 pincrease 1 
+3523 6000c79a store 1 ,mem_butten_click_cnt 
+3524 c000b527 beq 1 ,antilost_click_once 
+3525 c001352b beq 2 ,antilost_click_twice 
+3526 20600000 rtn 
+
+antilost_click_once:
+3527 2040355c call antilost_alert_off 
+3528 70477101 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+3529 da60476c arg mem_antl_key0_press ,regc 
+352a 20203544 branch antilost_prepare_data_and_send 
+
+antilost_click_twice:
+352b 70479a00 jam 0 ,mem_butten_click_cnt 
+352c 70477102 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+352d da60476c arg mem_antl_key0_press ,regc 
+352e 20403544 call antilost_prepare_data_and_send 
+352f 6800c79e fetch 1 ,mem_antl_lost_mode 
+3530 c000b551 beq 1 ,antilost_alert_on 
+3531 20600000 rtn 
+
+antilost_butten_down_while_disconn:
+3532 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+3533 60014791 store 2 ,mem_antl_le_sleep_timer 
+3534 2040355c call antilost_alert_off 
+3535 2020358f branch antilost_fast_adv_start 
+
+antilost_cmd_parse_for_application:
+3536 44e6c019 bpatch patch19_5 ,mem_patch19 
+3537 204036fc call le_app_receive_data 
+3538 ea208000 ifetch 1 ,rega 
+3539 c001b53c beq opcode3_antl_start_alram ,antilost_on_of_alram 
+353a c003b540 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+353b 20600000 rtn 
+
+antilost_on_of_alram:
+353c 6800c79e fetch 1 ,mem_antl_lost_mode 
+353d c0003551 beq anti_le_alarm_off ,antilost_alert_on 
+353e c000b55c beq anti_le_alarm_on ,antilost_alert_off 
+353f 20600000 rtn 
+
+antilost_configuration_for_alram:
+3540 ea408000 ifetch 1 ,regb 
+3541 c000b564 beq 1 ,antilost_set_start_alarm_after_disconn 
+3542 c0003569 beq 0 ,antilost_set_no_alarm_after_disconn 
+3543 20600000 rtn 
+
+antilost_prepare_data_and_send:
+3544 44e74019 bpatch patch19_6 ,mem_patch19 
+3545 6800c78b fetch 1 ,mem_client_characteristic_configuration_descriptor 
+3546 2feffe00 isolate1 notification_enable_bit ,pdata 
+3547 24608000 nrtn true 
+3548 1a608c06 add regc ,6 ,contr 
+3549 e8c10000 ifetch 2 ,contr 
+354a 1ff0fe00 byteswap pdata ,pdata 
+354b 1fe0f205 add pdata ,5 ,loopcnt 
+354c 1a608c03 add regc ,3 ,contr 
+354d 204036f0 call calc_check_sum_start 
+354e e0c08000 istore 1 ,contr 
+354f 1a622200 copy regc ,rega 
+3550 20207e3d branch queue_push 
+
+antilost_alert_on:
+3551 6800c759 fetch 1 ,mem_antl_power_state 
+3552 207a0000 rtn blank 
+3553 70479e01 jam 1 ,mem_antl_lost_mode 
+3554 da6046e9 arg mem_antl_alert_buzzer_stlye ,regc 
+3555 20403582 call antilost_buzzer_configuration 
+3556 da6046e2 arg mem_antl_alert_led_stlye ,regc 
+3557 20403584 call antilost_led_configuration 
+3558 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3559 70478301 jam 1 ,mem_antl_key0_release + 8 
+355a da60477b arg mem_antl_key0_release ,regc 
+355b 20203544 branch antilost_prepare_data_and_send 
+
+antilost_alert_off:
+355c 6800c79e fetch 1 ,mem_antl_lost_mode 
+355d 207a0000 rtn blank 
+355e 70479e00 jam 0 ,mem_antl_lost_mode 
+355f 20403586 call antilost_led_buzzer_stop_blink 
+3560 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3561 70478300 jam 0 ,mem_antl_key0_release + 8 
+3562 da60477b arg mem_antl_key0_release ,regc 
+3563 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_start_alarm_after_disconn:
+3564 70479f01 jam 1 ,mem_alarm_config 
+3565 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+3566 70478301 jam 1 ,mem_antl_key0_release + 8 
+3567 da60477b arg mem_antl_key0_release ,regc 
+3568 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_no_alarm_after_disconn:
+3569 70479f00 jam 0 ,mem_alarm_config 
+356a 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+356b 70478300 jam 0 ,mem_antl_key0_release + 8 
+356c da60477b arg mem_antl_key0_release ,regc 
+356d 20203544 branch antilost_prepare_data_and_send 
+
+antilost_on_off_alarm_after_disconn:
+356e 6800c79f fetch 1 ,mem_alarm_config 
+356f 207a0000 rtn blank 
+3570 20203551 branch antilost_alert_on 
+
+antilost_notify_alarm_config_first_time:
+3571 ea210000 ifetch 2 ,rega 
+3572 6001478b store 2 ,mem_client_characteristic_configuration_descriptor 
+3573 2feffe00 isolate1 notification_enable_bit ,pdata 
+3574 24608000 nrtn true 
+3575 6800c7a0 fetch 1 ,mem_alarm_config_notfy_cnt 
+3576 207a0000 rtn blank 
+3577 7047a000 jam 0 ,mem_alarm_config_notfy_cnt 
+3578 680447b6 fetch 8 ,mem_antl_le_interval_min 
+3579 60044496 store 8 ,mem_le_interval_min 
+357a 70479002 jam 2 ,mem_antl_send_updata_le_param_timer 
+357b 204035af call antilost_battery_process 
+357c 204035b9 call antilost_battery_calculate_end 
+357d 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+357e 6800c79f fetch 1 ,mem_alarm_config 
+357f 6000c783 store 1 ,mem_antl_key0_release + 8 
+3580 da60477b arg mem_antl_key0_release ,regc 
+3581 20203544 branch antilost_prepare_data_and_send 
+
+antilost_buzzer_configuration:
+3582 da200001 arg 1 ,rega 
+3583 20203585 branch antilost_configuration_common 
+
+antilost_led_configuration:
+3584 da200000 arg 0 ,rega 
+
+antilost_configuration_common:
+3585 2020358c branch antilost_led_buzzer_style_configuration 
+
+antilost_led_buzzer_stop_blink:
+3586 da200000 arg 0 ,rega 
+3587 20407d19 call ui_led_blink_stop_global 
+3588 da200001 arg 1 ,rega 
+3589 20407d19 call ui_led_blink_stop_global 
+358a 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+358b 202069d7 branch pwm_disable 
+
+antilost_led_buzzer_style_configuration:
+358c 20407d04 call calc_curr_struct_prt 
+358d df200007 arg 7 ,loopcnt 
+358e 20207d26 branch ui_led_set_style_global + 2 
+
+antilost_fast_adv_start:
+358f da6046b8 arg mem_antl_fast_adv_led_style ,regc 
+3590 da40469a arg mem_antl_lpm_interval ,regb 
+
+antilost_adv_start_common:
+3591 20403596 call antilost_adv_interval_lpm_interval_set 
+3592 20403584 call antilost_led_configuration 
+3593 68014795 fetch 2 ,mem_antl_fast_adv_timeout 
+3594 60014793 store 2 ,mem_antl_fast_adv_timer 
+3595 202033fa branch app_ble_start_adv 
+
+antilost_adv_interval_lpm_interval_set:
+3596 ea410000 ifetch 2 ,regb 
+3597 60014154 store 2 ,mem_lpm_interval 
+3598 e8c10000 ifetch 2 ,contr 
+3599 60014482 store 2 ,mem_le_adv_interval 
+359a 20600000 rtn 
+
+antilost_buzzer_pwm_init:
+359b da200000 arg 0 ,rega 
+359c 204069a6 call pwm_init 
+359d 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+359e 60030a9a store 6 ,mem_pdatatemp 
+359f 204069ae call pwm_out_set 
+35a0 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a1 202069d7 branch pwm_disable 
+
+antilost_led_on_cb:
+35a2 70479b01 jam 1 ,mem_antl_led_state 
+35a3 20600000 rtn 
+
+antilost_led_off_cb:
+35a4 70479b00 jam 0 ,mem_antl_led_state 
+35a5 20600000 rtn 
+
+antilost_buzzer_off:
+35a6 70479c00 jam 0 ,mem_antl_buzzer_state 
+35a7 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a8 202069d7 branch pwm_disable 
+
+antilost_buzzer_on:
+35a9 70479c01 jam 1 ,mem_antl_buzzer_state 
+35aa 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+35ab 60030a9a store 6 ,mem_pdatatemp 
+35ac 202069ae branch pwm_out_set 
+
+antilost_adc_init:
+35ad 70422d00 jam 0 ,mem_adc_config_flag 
+35ae 202068a8 branch adc_init_data 
+
+antilost_battery_process:
+35af 204068eb call adc_set_mode 
+35b0 20406908 call vdd_calculate_by_mode 
+35b1 600147b0 store 2 ,mem_battery_current_voltage 
+35b2 da2047aa arg mem_battery_calculate_set ,rega 
+35b3 20406930 call adc_bat_percent_lowpower_out 
+35b4 6000c7a9 store 1 ,mem_voltage_remain_percent 
+35b5 c00035be beq 0 ,antilost_low_battery 
+35b6 1fe67c64 sub pdata ,0x64 ,null 
+35b7 242135bc nbranch antilost_full_battery ,positive 
+35b8 6000c783 store 1 ,mem_antl_key0_release + 8 
+
+antilost_battery_calculate_end:
+35b9 70478005 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+35ba da60477b arg mem_antl_key0_release ,regc 
+35bb 20203544 branch antilost_prepare_data_and_send 
+
+antilost_full_battery:
+35bc 70478364 jam 100 ,mem_antl_key0_release + 8 
+35bd 202035b9 branch antilost_battery_calculate_end 
+
+antilost_low_battery:
+35be 2020341a branch app_button_long_pressed 
+
+car_init:
+35bf 20758000 rtn wake 
+35c0 68108081 hfetch 1 ,core_gpio_sel1 
+35c1 1fe17ef0 and_into 0xf0 ,pdata 
+35c2 60108081 hstore 1 ,core_gpio_sel1 
+35c3 58003631 setarg car_le_before_hibernate 
+35c4 600141eb store 2 ,mem_cb_before_hibernate 
+35c5 58003633 setarg car_le_process_lpm_before 
+35c6 600141ed store 2 ,mem_cb_before_lpm 
+35c7 5800340a setarg app_enter_hibernate 
+35c8 600141f7 store 2 ,mem_cb_discovry_timeout 
+35c9 58003635 setarg car_scale_process_idle 
+35ca 600141f3 store 2 ,mem_cb_idle_process 
+35cb 5800364b setarg car_scale_process_bb_event 
+35cc 600141f5 store 2 ,mem_cb_bb_event_process 
+35cd 580033d0 setarg app_get_lpm_wake_lock 
+35ce 600141e9 store 2 ,mem_cb_check_wakelock 
+35cf 580036f6 setarg car_le_receive_data 
+35d0 600141f9 store 2 ,mem_cb_att_write 
+35d1 5800367a setarg car_le_bb_event_timer 
+35d2 600141fd store 2 ,mem_cb_event_timer 
+35d3 20402c7a call g24_head_ptr2regc 
+35d4 58003722 setarg car_24g_receive_data 
+35d5 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+35d6 e0a10000 istore 2 ,contw 
+35d7 580035ed setarg car_power_off_signal 
+35d8 6001475b store 2 ,mem_remote_car_power_off_cb 
+35d9 580035ef setarg car_soft_switch_power_on_signal 
+35da 6001475f store 2 ,mem_remote_car_power_standby_cb 
+35db 44e7c019 bpatch patch19_7 ,mem_patch19 
+35dc 20403628 call car_init_environment 
+35dd 20407e38 call queue_init 
+35de 70417202 jam 2 ,mem_lpm_mult 
+35df 7049f600 jam power_on ,mem_car_24g_received_pac 
+35e0 6800c7cb fetch 1 ,mem_car_config_soft_switch_enable 
+35e1 6000c69a store 1 ,mem_car_hard_soft_switch 
+35e2 c00035ee beq hard_switch ,car_hard_switch_power_on_signal 
+35e3 6800c7cc fetch 1 ,mem_car_config_soft_switch_gpio 
+35e4 6000c686 store 1 ,mem_ui_button_gpio 
+35e5 70436e00 jam off ,mem_le_adv_enable 
+
+car_soft_switch_power_on_init:
+35e6 2040360f call car_ui_led_init 
+35e7 20407cd3 call ui_button_init 
+35e8 20407cdd call ui_button_polling 
+35e9 7047f301 jam power_starting ,mem_car_power_state 
+35ea 68014682 fetch 2 ,mem_ui_state_map 
+35eb c3860000 rtnbit1 ui_state_btn_down 
+35ec 2020340a branch app_enter_hibernate 
+
+car_power_off_signal:
+35ed 2020360f branch car_ui_led_init 
+
+car_hard_switch_power_on_signal:
+35ee 7047f302 jam power_standby ,mem_car_power_state 
+
+car_soft_switch_power_on_signal:
+35ef 70436e01 jam on ,mem_le_adv_enable 
+35f0 2040360f call car_ui_led_init 
+35f1 da200000 arg 0 ,rega 
+35f2 20407d1e call ui_led_blink_start_global 
+35f3 58000020 setarg fast_adv_interval_value_car 
+35f4 204046f0 call shutter_ble_adv_interval_set 
+
+car_le_modified_name_adv:
+35f5 d8a043b7 arg mem_le_name + 7 ,contw 
+35f6 6800c4a0 fetch 1 ,mem_le_lap 
+
+car_name_loop:
+35f7 1fe104f0 and pdata ,0xF0 ,temp 
+35f8 18518400 rshift4 temp ,temp 
+35f9 20403609 call car_hex_to_ascii 
+35fa e0a88000 istoret 1 ,contw 
+35fb 1fe1040f and pdata ,0x0F ,temp 
+35fc 20403609 call car_hex_to_ascii 
+35fd e0a88000 istoret 1 ,contw 
+35fe 204057a6 call le_modified_name_att_list 
+35ff 6808c3af fetcht 1 ,mem_le_name_len 
+3600 18427200 copy temp ,loopcnt 
+3601 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3602 d8c043b0 arg mem_le_name ,contr 
+3603 20407f01 call memcpy 
+
+car_le_modified_name_scan:
+3604 6808c3af fetcht 1 ,mem_le_name_len 
+3605 18427200 copy temp ,loopcnt 
+3606 d8a04392 arg mem_le_scan_data + 2 ,contw 
+3607 d8c043b0 arg mem_le_name ,contr 
+3608 20207f01 branch memcpy 
+
+car_hex_to_ascii:
+3609 18467c09 sub temp ,9 ,null 
+360a 2021360d branch car_hex_num ,positive 
+360b 18408437 add temp ,55 ,temp 
+360c 20600000 rtn 
+
+car_hex_num:
+360d 18408430 add temp ,48 ,temp 
+360e 20600000 rtn 
+
+car_ui_led_init:
+360f 6800c7c0 fetch 1 ,mem_car_config_blood_led1_gpio 
+3610 c0ffb621 bne invalid_pin_num ,car_blood_led_gpio_set 
+
+car_ui_led_init_1:
+3611 6800c7be fetch 1 ,mem_car_config_pairing_led_gpio 
+3612 c0ffb624 bne invalid_pin_num ,car_pairing_led_gpio_set 
+
+car_ui_led_init_2:
+3613 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+3614 c0ffb626 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+
+car_ui_led_init_3:
+3615 6800c72c fetch 1 ,mem_car_led_num 
+3616 1fe27200 copy pdata ,loopcnt 
+3617 5800472d setarg mem_car_led_map 
+3618 1fe22200 copy pdata ,rega 
+
+car_in_lp1:
+3619 1a220c00 copy rega ,contr 
+361a e8c08000 ifetch 1 ,contr 
+361b 18c22200 copy contr ,rega 
+361c c07fb61f beq invalid_pin_num ,car_in_lp1_end 
+361d 1fe20400 copy pdata ,temp 
+361e 2040680e call gpio_config_output 
+
+car_in_lp1_end:
+361f c2003619 loop car_in_lp1 
+
+car_ui_led_init_end:
+3620 20600000 rtn 
+
+car_blood_led_gpio_set:
+3621 680447c0 fetch 8 ,mem_car_config_blood_led1_gpio 
+3622 6004472f store 8 ,mem_car_led_map + 2 
+3623 20203611 branch car_ui_led_init_1 
+
+car_pairing_led_gpio_set:
+3624 6000c72d store 1 ,mem_car_led_map 
+3625 20203613 branch car_ui_led_init_2 
+
+car_low_voltage_led_gpio_set:
+3626 6000c72e store 1 ,mem_car_led_map + 1 
+3627 20203615 branch car_ui_led_init_3 
+
+car_init_environment:
+3628 da200000 arg 0 ,rega 
+3629 204069a6 call pwm_init 
+362a 204037e4 call car_ir_rx_init 
+362b 20402c7d call g24_receive_process_init 
+362c 2020362d branch car_init_adc_hvin 
+
+car_init_adc_hvin:
+362d 7047cf64 jam 100 ,mem_car_notify_vdd_value_last 
+362e 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+362f 6000c744 store 1 ,mem_car_style2_struct_led_gpio 
+3630 202068a8 branch adc_init_data 
+
+car_le_before_hibernate:
+3631 20406835 call gpio_set_before_lpm_common 
+3632 2020696c branch keyscan_process_lpm_before 
+
+car_le_process_lpm_before:
+3633 2020696c branch keyscan_process_lpm_before 
+
+car_key_scan_process:
+3634 20206978 branch keyscan_key_process 
+
+car_scale_process_idle:
+3635 20403642 call car_le_send_packet 
+3636 204037ee call car_ir_receive_process 
+3637 20403639 call car_g24_status_process 
+3638 20203634 branch car_key_scan_process 
+
+car_g24_status_process:
+3639 68014682 fetch 2 ,mem_ui_state_map 
+363a c3848000 rtnbit1 ui_state_ble_connected 
+363b 6800c9f6 fetch 1 ,mem_car_24g_received_pac 
+363c c000b63e beq work_paired ,car_g24_connected_event 
+363d 20600000 rtn 
+
+car_g24_connected_event:
+363e 6800c7ea fetch 1 ,mem_car_24g_status 
+363f c1008000 rtneq work_paired 
+3640 7047ea01 jam work_paired ,mem_car_24g_status 
+3641 20203654 branch car_g24_connected 
+
+car_le_send_packet:
+3642 68014682 fetch 2 ,mem_ui_state_map 
+3643 c4048000 rtnbit0 ui_state_ble_connected 
+3644 20405892 call le_fifo_check_nearly_full 
+3645 247a0000 nrtn blank 
+3646 da204718 arg mem_car_pop_queue_buff ,rega 
+3647 20407e54 call queue_pop 
+3648 24740000 nrtn user 
+3649 d8c04718 arg mem_car_pop_queue_buff ,contr 
+364a 20204746 branch le_send_notify_from_list 
+
+car_scale_process_bb_event:
+364b 1a627e00 copy regc ,pdata 
+364c c016b431 beq bt_evt_button_up ,app_event_button_up 
+364d c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+364e c00a3651 beq bt_evt_le_connected ,car_scale_event_le_conn 
+364f c00ab660 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+3650 20600000 rtn 
+
+car_scale_event_le_conn:
+3651 58000000 setarg disable_24g 
+3652 20403220 call g24_store_mem_24g_mode 
+3653 20203656 branch car_scale_process_conn 
+
+car_g24_connected:
+3654 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3655 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+
+car_scale_process_conn:
+3656 7047ce14 jam 0x14 ,mem_car_notify_vdd_timer 
+3657 70409100 jam 0 ,mem_lpm_mode 
+3658 204033f8 call app_ble_stop_adv 
+3659 20403416 call app_lpm_mult_enable 
+365a 6800c7bd fetch 1 ,mem_car_config_pairing_led_conn_status 
+365b c000b65e beq 0x01 ,car_pairing_led_conn_status_setting 
+
+car_scale_process_conn_next:
+365c da200000 arg 0 ,rega 
+365d 20207d14 branch ui_led_on_global 
+
+car_pairing_led_conn_status_setting:
+365e da200000 arg 0 ,rega 
+365f 20207d19 branch ui_led_blink_stop_global 
+
+car_scale_event_le_discon:
+3660 58000002 setarg rx_24g 
+3661 20403220 call g24_store_mem_24g_mode 
+
+car_g24_disconnect:
+3662 58000000 setarg 0 
+3663 6002c79c store 5 ,mem_car_led_control 
+3664 58000004 setarg 4 
+3665 204069d7 call pwm_disable 
+3666 58000005 setarg 5 
+3667 204069d7 call pwm_disable 
+3668 58000014 setarg 20 
+3669 204069d7 call pwm_disable 
+366a 58000015 setarg 21 
+366b 204069d7 call pwm_disable 
+366c 58000016 setarg 22 
+366d 204069d7 call pwm_disable 
+366e 58000007 setarg 7 
+366f 204069d7 call pwm_disable 
+3670 20407e38 call queue_init 
+3671 70475e0a jam 10 ,mem_motor1_speed 
+3672 7047600a jam 10 ,mem_motor2_speed 
+3673 7047620a jam 10 ,mem_motor3_speed 
+3674 70417202 jam 2 ,mem_lpm_mult 
+3675 da200000 arg 0 ,rega 
+3676 20407d1e call ui_led_blink_start_global 
+3677 58000020 setarg fast_adv_interval_value_car 
+3678 204046f0 call shutter_ble_adv_interval_set 
+3679 202033fa branch app_ble_start_adv 
+
+car_le_bb_event_timer:
+367a 2040373b call car_moto1_blank_data_timer 
+367b 2040373e call car_moto2_blank_data_timer 
+367c 20403741 call car_moto3_blank_data_timer 
+367d 2040337b call app_power_timer 
+367e 204036c8 call car_led_control_timer 
+367f 204036a1 call car_notify_vdd_timer 
+3680 2040368a call car_24g_no_data_timeout_timer 
+3681 20403683 call car_ir_breakdown_timer 
+3682 2020368f branch car_attack_shake_timer 
+
+car_ir_breakdown_timer:
+3683 da60479a arg mem_car_ir_breakdown_check_timer ,regc 
+3684 da403686 arg car_ir_breakdown_timeout ,regb 
+3685 2020336d branch timer_single_step 
+
+car_ir_breakdown_timeout:
+3686 20403847 call car_ir_gpio_get_status 
+3687 24608000 nrtn true 
+3688 70479b01 jam 1 ,mem_car_ir_breakdown_flag 
+3689 20600000 rtn 
+
+car_24g_no_data_timeout_timer:
+368a da6047ed arg mem_car_24g_no_data_timeout_timer ,regc 
+368b da40368d arg car_24g_no_data_timer_timeout ,regb 
+368c 20203374 branch timer_single_step_2b 
+
+car_24g_no_data_timer_timeout:
+368d 7047ea02 jam work_search ,mem_car_24g_status 
+368e 20203662 branch car_g24_disconnect 
+
+car_attack_shake_timer:
+368f da6047f1 arg mem_car_attack_shake_timer ,regc 
+3690 da403692 arg car_attack_shake ,regb 
+3691 2020336d branch timer_single_step 
+
+car_attack_shake:
+3692 6800c7f2 fetch 1 ,mem_car_attack_shake_flag 
+3693 203a369e branch car_attack_shake_stop ,blank 
+3694 7047f102 jam 2 ,mem_car_attack_shake_timer 
+3695 7047f200 jam 0 ,mem_car_attack_shake_flag 
+3696 58000a02 setarg 0x0a02 
+3697 60014752 store 2 ,mem_le_receive_payload 
+3698 6800c7b9 fetch 1 ,mem_car_config_device_select 
+3699 c001b69b beq device_battle_tank ,car_attack_shake_front_battle_tank 
+
+car_attack_shake_front_battle_car:
+369a 20203762 branch car_motor_control 
+
+car_attack_shake_front_battle_tank:
+369b 58000a02 setarg 0x0a02 
+369c 60014754 store 2 ,mem_le_receive_payload + 2 
+369d 20203762 branch car_motor_control 
+
+car_attack_shake_stop:
+369e 58000000 setarg 0 
+369f 60024752 store 4 ,mem_le_receive_payload 
+36a0 20203762 branch car_motor_control 
+
+car_notify_vdd_timer:
+36a1 6800c7c8 fetch 1 ,mem_car_config_bat_notify_enable 
+36a2 207a0000 rtn blank 
+36a3 68014682 fetch 2 ,mem_ui_state_map 
+36a4 c304b6c6 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+36a5 da6047ce arg mem_car_notify_vdd_timer ,regc 
+36a6 da4036a8 arg car_notify_vdd ,regb 
+36a7 2020336d branch timer_single_step 
+
+car_notify_vdd:
+36a8 6800c7cd fetch 1 ,mem_car_notify_vdd_count 
+36a9 6000c7ce store 1 ,mem_car_notify_vdd_timer 
+36aa 6800c7d1 fetch 1 ,mem_car_working_flag 
+36ab 247a0000 nrtn blank 
+
+car_read_hvin:
+36ac 204068eb call adc_set_mode 
+36ad 20406908 call vdd_calculate_by_mode 
+36ae 600147e8 store 2 ,mem_vdd_now_vol 
+36af da2047e2 arg mem_vdd_calculate_set ,rega 
+36b0 20406930 call adc_bat_percent_lowpower_out 
+36b1 6808c7cf fetcht 1 ,mem_car_notify_vdd_value_last 
+36b2 98467c00 isub temp ,null 
+36b3 202136b6 branch car_notify_vdd_next2 ,positive 
+36b4 6000c7cf store 1 ,mem_car_notify_vdd_value_last 
+36b5 1fe20400 copy pdata ,temp 
+
+car_notify_vdd_next2:
+36b6 6008c7d0 storet 1 ,mem_car_notify_vdd_percent 
+36b7 6800c7ca fetch 1 ,mem_car_config_low_voltage_percent 
+36b8 98467c00 isub temp ,null 
+36b9 204136c1 call car_enter_low_bat ,positive 
+36ba 6008c7db storet 1 ,mem_notify_bat_payload 
+36bb df200006 arg 6 ,loopcnt 
+36bc d8c047d6 arg mem_notify_bat_head ,contr 
+36bd 204036f0 call calc_check_sum_start 
+36be 6000c7dc store 1 ,mem_notify_bat_check_sum 
+36bf da2047d3 arg mem_notify_bat_packet ,rega 
+36c0 20207e3d branch queue_push 
+
+car_enter_low_bat:
+36c1 6800c7d2 fetch 1 ,mem_low_bat_flag 
+36c2 247a0000 nrtn blank 
+36c3 7047d201 jam 1 ,mem_low_bat_flag 
+36c4 da200001 arg 1 ,rega 
+36c5 20207d1e branch ui_led_blink_start_global 
+
+car_low_bat_led_off:
+36c6 da200001 arg 1 ,rega 
+36c7 20207d19 branch ui_led_blink_stop_global 
+
+car_led_control_timer:
+36c8 da6047a4 arg mem_car_led_control_timer ,regc 
+36c9 da4036cb arg car_led_control ,regb 
+36ca 2020336d branch timer_single_step 
+
+car_led_control:
+36cb 7047a405 jam 5 ,mem_car_led_control_timer 
+36cc 7047a600 jam 0 ,mem_car_led_no 
+36cd 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ce c000b6ee beq led_on ,car_led_control_blink_off 
+36cf c00036ec beq led_off ,car_led_control_blink_on 
+
+car_led_control_set:
+36d0 d8c0479c arg mem_car_led_control ,contr 
+36d1 18c22200 copy contr ,rega 
+36d2 df200008 arg 8 ,loopcnt 
+
+car_led_control_timer_next:
+36d3 1a220c00 copy rega ,contr 
+36d4 e8c08000 ifetch 1 ,contr 
+36d5 18c22200 copy contr ,rega 
+36d6 c00036e3 beq led_off ,car_led_control_off 
+36d7 c000b6e6 beq led_on ,car_led_control_on 
+36d8 c00136e9 beq led_blink ,car_led_control_blink 
+
+car_led_control_timer_next_2:
+36d9 6800c7a6 fetch 1 ,mem_car_led_no 
+36da 1fe0fe01 increase 1 ,pdata 
+36db 6000c7a6 store 1 ,mem_car_led_no 
+36dc c20036d3 loop car_led_control_timer_next 
+36dd 20600000 rtn 
+
+car_led_switch:
+36de 6800c7a6 fetch 1 ,mem_car_led_no 
+36df da4047c0 arg mem_car_config_blood_led_gpio ,regb 
+36e0 9a40a400 iadd regb ,regb 
+36e1 ea488000 ifetcht 1 ,regb 
+36e2 20600000 rtn 
+
+car_led_control_off:
+36e3 204036de call car_led_switch 
+36e4 20406825 call gpio_out_inactive 
+36e5 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_on:
+36e6 204036de call car_led_switch 
+36e7 20406829 call gpio_out_active 
+36e8 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_blink:
+36e9 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ea c000b6e3 beq led_on ,car_led_control_off 
+36eb 202036e6 branch car_led_control_on 
+
+car_led_control_blink_on:
+36ec 7047a501 jam led_on ,mem_car_led_blink_status 
+36ed 202036d0 branch car_led_control_set 
+
+car_led_control_blink_off:
+36ee 7047a500 jam led_off ,mem_car_led_blink_status 
+36ef 202036d0 branch car_led_control_set 
+
+calc_check_sum_start:
+36f0 da200000 arg 0 ,rega 
+
+calc_check_sum_loop:
+36f1 e8c08000 ifetch 1 ,contr 
+36f2 9a20a200 iadd rega ,rega 
+36f3 c20036f1 loop calc_check_sum_loop 
+
+calc_check_sum_and:
+36f4 1a217eff and rega ,0xff ,pdata 
+36f5 20600000 rtn 
+
+car_le_receive_data:
+36f6 68008477 fetch 1 ,mem_le_att_opcode 
+36f7 c00936f9 beq attop_write_request ,car_le_parse_att_write_request 
+36f8 20600000 rtn 
+
+car_le_parse_att_write_request:
+36f9 68010478 fetch 2 ,mem_le_att_handle 
+36fa c00a3710 beq att_car_control_handle ,car_control_le_receive 
+36fb 20600000 rtn 
+
+le_app_receive_data:
+36fc 44e8401a bpatch patch1a_0 ,mem_patch1a 
+36fd ea228000 ifetch 5 ,rega 
+36fe 60028b12 store 5 ,mem_app_receive_temp 
+36ff 68010b12 fetch 2 ,mem_app_receive_temp 
+3700 d8406b5a arg le_receive_packet_head ,temp 
+3701 98467c00 isub temp ,null 
+3702 24628000 nrtn zero 
+3703 68010b15 fetch 2 ,mem_app_receive_temp + 3 
+3704 1ff0fe00 byteswap pdata ,pdata 
+3705 60010b15 store 2 ,mem_app_receive_temp + 3 
+3706 1fe27200 copy pdata ,loopcnt 
+3707 1a20a205 increase 5 ,rega 
+3708 1a220c00 copy rega ,contr 
+3709 d8a00b17 arg mem_app_receive_temp + 5 ,contw 
+370a 20407f01 call memcpy 
+370b e8c08000 ifetch 1 ,contr 
+370c 60008b21 store 1 ,mem_app_receive_temp + 15 
+370d da200b14 arg mem_app_receive_temp + 2 ,rega 
+370e da400b17 arg mem_app_receive_temp + 5 ,regb 
+370f 20600000 rtn 
+
+car_control_le_receive:
+3710 58000000 setarg 0 
+3711 6002c752 store 5 ,mem_le_receive_payload 
+3712 6002c757 store 5 ,mem_le_receive_payload + 5 
+3713 204036fc call le_app_receive_data 
+3714 1a420c00 copy regb ,contr 
+3715 d8a04752 arg mem_le_receive_payload ,contw 
+3716 df20000a arg 10 ,loopcnt 
+3717 20407f01 call memcpy 
+
+car_receive_cmd_select:
+3718 44e8c01a bpatch patch1a_1 ,mem_patch1a 
+3719 ea208000 ifetch 1 ,rega 
+371a c001374a beq car_cmd_old_car_control ,car_drive_old 
+371b c001b75c beq car_cmd_old_speed_control ,car_speed_set_old 
+371c c0023762 beq car_cmd_l_r_motor_control ,car_motor_control 
+371d c002b762 beq car_cmd_f_b_motor_control ,car_motor_control 
+371e c00337b1 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+371f c003b849 beq car_cmd_led_control ,car_led_control_receive 
+3720 c004384c beq car_cmd_device_info ,car_info_request 
+3721 20600000 rtn 
+
+car_24g_receive_data:
+3722 68014682 fetch 2 ,mem_ui_state_map 
+3723 c3848000 rtnbit1 ui_state_ble_connected 
+3724 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3725 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+3726 7049f601 jam work_paired ,mem_car_24g_received_pac 
+3727 5800010c setarg offset_24g_rxdata_temp_add3 
+3728 204032cd call g24_set_rega 
+3729 20403710 call car_control_le_receive 
+372a 68008b14 fetch 1 ,mem_app_receive_temp + 2 
+372b c002372e beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+372c c002b72e beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+372d 20600000 rtn 
+
+car_24g_receive_data_next:
+372e 6800c752 fetch 1 ,mem_le_receive_payload 
+372f 245a3735 ncall car_moto1_enable_blank_data_timer ,blank 
+3730 6800c754 fetch 1 ,mem_le_receive_payload + 2 
+3731 245a3737 ncall car_moto2_enable_blank_data_timer ,blank 
+3732 6800c756 fetch 1 ,mem_le_receive_payload + 4 
+3733 245a3739 ncall car_moto3_enable_blank_data_timer ,blank 
+3734 20600000 rtn 
+
+car_moto1_enable_blank_data_timer:
+3735 7049f305 jam 5 ,mem_car_moto1_blank_timer 
+3736 20600000 rtn 
+
+car_moto2_enable_blank_data_timer:
+3737 7049f405 jam 5 ,mem_car_moto2_blank_timer 
+3738 20600000 rtn 
+
+car_moto3_enable_blank_data_timer:
+3739 7049f505 jam 5 ,mem_car_moto3_blank_timer 
+373a 20600000 rtn 
+
+car_moto1_blank_data_timer:
+373b da6049f3 arg mem_car_moto1_blank_timer ,regc 
+373c da403744 arg car_moto1_blank_data ,regb 
+373d 2020336d branch timer_single_step 
+
+car_moto2_blank_data_timer:
+373e da6049f4 arg mem_car_moto2_blank_timer ,regc 
+373f da403746 arg car_moto2_blank_data ,regb 
+3740 2020336d branch timer_single_step 
+
+car_moto3_blank_data_timer:
+3741 da6049f5 arg mem_car_moto3_blank_timer ,regc 
+3742 da403748 arg car_moto3_blank_data ,regb 
+3743 2020336d branch timer_single_step 
+
+car_moto1_blank_data:
+3744 70475200 jam 0 ,mem_le_receive_payload 
+3745 20203762 branch car_motor_control 
+
+car_moto2_blank_data:
+3746 70475400 jam 0 ,mem_le_receive_payload + 2 
+3747 20203762 branch car_motor_control 
+
+car_moto3_blank_data:
+3748 70475600 jam 0 ,mem_le_receive_payload + 4 
+3749 20203762 branch car_motor_control 
+
+car_drive_old:
+374a 2040374c call car_left_right_control_old 
+374b 2020374f branch car_front_back_control_old 
+
+car_left_right_control_old:
+374c 6800c752 fetch 1 ,mem_le_receive_payload 
+374d 6000c75f store 1 ,mem_motor2_status 
+374e 20203773 branch car_motor2_control 
+
+car_front_back_control_old:
+374f 6800c75e fetch 1 ,mem_motor1_speed 
+3750 20403754 call car_reset_old_speed 
+3751 6800c753 fetch 1 ,mem_le_receive_payload + 1 
+3752 6000c75d store 1 ,mem_motor1_status 
+3753 20203770 branch car_motor1_control 
+
+car_reset_old_speed:
+3754 c0013758 beq speed_level_2 ,car_reset_old_speed2 
+3755 c001b75a beq speed_level_3 ,car_reset_old_speed3 
+3756 6000c75e store 1 ,mem_motor1_speed 
+3757 20600000 rtn 
+
+car_reset_old_speed2:
+3758 70475e05 jam speed_level_5 ,mem_motor1_speed 
+3759 20600000 rtn 
+
+car_reset_old_speed3:
+375a 70475e0a jam speed_level_10 ,mem_motor1_speed 
+375b 20600000 rtn 
+
+car_speed_set_old:
+375c 6800c752 fetch 1 ,mem_le_receive_payload 
+375d 20403754 call car_reset_old_speed 
+375e 6800c75e fetch 1 ,mem_motor1_speed 
+375f 2040379e call car_motor_speed_duty_setting 
+3760 204037a1 call car_motor_speed_duty_transform 
+3761 202069c4 branch pwm_pwm0_duty_set 
+
+car_motor_control:
+3762 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+3763 247a0000 nrtn blank 
+3764 68034752 fetch 6 ,mem_le_receive_payload 
+3765 6003475d store 6 ,mem_motor1_status 
+3766 6800c75e fetch 1 ,mem_motor1_speed 
+3767 6808c760 fetcht 1 ,mem_motor2_speed 
+3768 98417e00 iand temp ,pdata 
+3769 6808c762 fetcht 1 ,mem_motor3_speed 
+376a 98417e00 iand temp ,pdata 
+376b 205a3779 call car_motor_working_flag ,blank 
+376c 44e9401a bpatch patch1a_2 ,mem_patch1a 
+376d 20403770 call car_motor1_control 
+376e 20403773 call car_motor2_control 
+376f 20203776 branch car_motor3_control 
+
+car_motor1_control:
+3770 da404763 arg mem_motor1_pwm_set ,regb 
+3771 d8c0475d arg mem_motor1_status ,contr 
+3772 2020377b branch car_motor_status_select 
+
+car_motor2_control:
+3773 da40476b arg mem_motor2_pwm_set ,regb 
+3774 d8c0475f arg mem_motor2_status ,contr 
+3775 2020377b branch car_motor_status_select 
+
+car_motor3_control:
+3776 da404773 arg mem_motor3_pwm_set ,regb 
+3777 d8c04761 arg mem_motor3_status ,contr 
+3778 2020377b branch car_motor_status_select 
+
+car_motor_working_flag:
+3779 7047d100 jam 0 ,mem_car_working_flag 
+377a 20600000 rtn 
+
+car_motor_status_select:
+377b e8c08000 ifetch 1 ,contr 
+377c c0003787 beq motor_stop ,car_motor_stop 
+377d c000b780 beq go_front ,car_motor_positive 
+377e c0013782 beq go_back ,car_motor_negative 
+377f 20600000 rtn 
+
+car_motor_positive:
+3780 70477b00 jam 0 ,mem_motor_select_p_n 
+3781 20203783 branch car_motor_negative + 1 
+
+car_motor_negative:
+3782 70477b01 jam 1 ,mem_motor_select_p_n 
+3783 e8c08000 ifetch 1 ,contr 
+3784 6000c77d store 1 ,mem_car_motor_speed 
+3785 ea440000 ifetch 8 ,regb 
+3786 2020378c branch car_motor_work 
+
+car_motor_stop:
+3787 ea408000 ifetch 1 ,regb 
+3788 204069d7 call pwm_disable 
+3789 1a40a401 increase 1 ,regb 
+378a ea408000 ifetch 1 ,regb 
+378b 202069d7 branch pwm_disable 
+
+car_motor_work:
+378c 6004477e store 8 ,mem_motor_pwm_pin1_set 
+378d 7047d101 jam 1 ,mem_car_working_flag 
+378e 6800c77b fetch 1 ,mem_motor_select_p_n 
+378f c000379a beq 0 ,car_motor_select_positive 
+
+car_motor_select_negative:
+3790 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+3791 6000c780 store 1 ,mem_motor_pwm_pin_set 
+3792 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+
+car_motor_work_next:
+3793 204069d7 call pwm_disable 
+3794 6800c77d fetch 1 ,mem_car_motor_speed 
+3795 2040379e call car_motor_speed_duty_setting 
+3796 6000c785 store 1 ,mem_motor_pwm_dute_set 
+3797 68034780 fetch 6 ,mem_motor_pwm_pin_set 
+3798 60030a9a store 6 ,mem_pdatatemp 
+3799 202069ae branch pwm_out_set 
+
+car_motor_select_positive:
+379a 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+379b 6000c780 store 1 ,mem_motor_pwm_pin_set 
+379c 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+379d 20203793 branch car_motor_work_next 
+
+car_motor_speed_duty_setting:
+379e 1feffe05 mul32 pdata ,5 ,pdata 
+379f 1fe0fe32 add pdata ,50 ,pdata 
+37a0 20600000 rtn 
+
+car_motor_speed_duty_transform:
+37a1 d8402ee0 arg 12000 ,temp 
+37a2 984ffe00 imul32 temp ,pdata 
+37a3 1fe6fc64 div pdata ,100 
+37a4 20407f86 call wait_div_end 
+37a5 18078400 quotient temp 
+37a6 18422200 copy temp ,rega 
+37a7 58002ee0 setarg 12000 
+37a8 98462400 isub temp ,regb 
+37a9 20600000 rtn 
+
+car_ir_init:
+37aa 68108082 hfetch 1 ,core_gpio_sel2 
+37ab 79207e02 set1 2 ,pdata 
+37ac 60108082 hstore 1 ,core_gpio_sel2 
+37ad 5800009e setarg 158 
+37ae 60110068 hstore 2 ,core_pwm_pcnt4 
+37af 6011006a hstore 2 ,core_pwm_ncnt4 
+37b0 20600000 rtn 
+
+car_ir_data_rx_from_app:
+37b1 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+37b2 247a0000 nrtn blank 
+37b3 68014752 fetch 2 ,mem_le_receive_payload 
+37b4 60014787 store 2 ,mem_ir_data 
+37b5 6800c7ea fetch 1 ,mem_car_24g_status 
+37b6 c080b7b9 bne work_paired ,car_ir_data_tx 
+37b7 680144a0 fetch 2 ,mem_le_lap 
+37b8 60014787 store 2 ,mem_ir_data 
+
+car_ir_data_tx:
+37b9 44e9c01a bpatch patch1a_3 ,mem_patch1a 
+37ba 204037aa call car_ir_init 
+37bb 204037dc call car_ir_enable 
+37bc 5800bb80 setarg 48000 
+37bd 20402a8f call sleep 
+37be 204037e0 call car_ir_disable 
+37bf 58001c20 setarg 7200 
+37c0 20402a8f call sleep 
+37c1 df200010 arg 16 ,loopcnt 
+
+car_ir_send_loop:
+37c2 204037dc call car_ir_enable 
+37c3 68014787 fetch 2 ,mem_ir_data 
+37c4 c28037c9 bbit1 0 ,car_ir_is_bit1 
+37c5 58001c20 setarg 7200 
+37c6 20402a8f call sleep 
+37c7 204037e0 call car_ir_disable 
+37c8 202037cc branch car_ir_wait_finish 
+
+car_ir_is_bit1:
+37c9 58003840 setarg 14400 
+37ca 20402a8f call sleep 
+37cb 204037e0 call car_ir_disable 
+
+car_ir_wait_finish:
+37cc 58001c20 setarg 7200 
+37cd 20402a8f call sleep 
+37ce 68014787 fetch 2 ,mem_ir_data 
+37cf 1fe37e00 rshift pdata ,pdata 
+37d0 60014787 store 2 ,mem_ir_data 
+37d1 c20037c2 loop car_ir_send_loop 
+37d2 7047f102 jam 2 ,mem_car_attack_shake_timer 
+37d3 7047f201 jam 1 ,mem_car_attack_shake_flag 
+37d4 58000a01 setarg 0x0a01 
+37d5 60014752 store 2 ,mem_le_receive_payload 
+37d6 6800c7b9 fetch 1 ,mem_car_config_device_select 
+37d7 c001b7d9 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+
+car_attack_shake_back_battle_car:
+37d8 20203762 branch car_motor_control 
+
+car_attack_shake_back_battle_tank:
+37d9 58000a01 setarg 0x0a01 
+37da 60014754 store 2 ,mem_le_receive_payload + 2 
+37db 20203762 branch car_motor_control 
+
+car_ir_enable:
+37dc 68108085 hfetch 1 ,core_gpio_key2 
+37dd 1fe1fe40 or_into 0x40 ,pdata 
+37de 60108085 hstore 1 ,core_gpio_key2 
+37df 20600000 rtn 
+
+car_ir_disable:
+37e0 68108085 hfetch 1 ,core_gpio_key2 
+37e1 1fe17ebf and_into 0xbf ,pdata 
+37e2 60108085 hstore 1 ,core_gpio_key2 
+37e3 20600000 rtn 
+
+car_ir_rx_init:
+37e4 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37e5 c1000000 rtneq 0x00 
+37e6 20402c65 call lpm_disable_exen_output 
+37e7 6808c7bc fetcht 1 ,mem_car_config_ir_rx_gpio 
+37e8 6008c786 storet 1 ,mem_ir_rx_gpio 
+37e9 204067fb call gpio_config_input 
+37ea 20403847 call car_ir_gpio_get_status 
+37eb 24608000 nrtn true 
+37ec 70479a01 jam 1 ,mem_car_ir_breakdown_check_timer 
+37ed 20600000 rtn 
+
+car_ir_receive_process:
+37ee 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37ef c1000000 rtneq flag_ir_disable 
+37f0 6800c79b fetch 1 ,mem_car_ir_breakdown_flag 
+37f1 247a0000 nrtn blank 
+37f2 68014682 fetch 2 ,mem_ui_state_map 
+37f3 c284b7f6 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+37f4 6800c7ea fetch 1 ,mem_car_24g_status 
+37f5 c1808000 rtnne work_paired 
+
+car_ir_receive_process_next:
+37f6 44ea401a bpatch patch1a_4 ,mem_patch1a 
+37f7 20403847 call car_ir_gpio_get_status 
+37f8 24608000 nrtn true 
+37f9 58008ca0 setarg 36000 
+37fa 20402a8f call sleep 
+37fb 20403847 call car_ir_gpio_get_status 
+37fc 24608000 nrtn true 
+37fd 2040383f call car_ir_clk_get 
+
+car_ir_packet_head_wait_end:
+37fe 20403842 call car_ir_clk_check 
+37ff 24610000 nrtn positive 
+3800 20403847 call car_ir_gpio_get_status 
+3801 2020b7fe branch car_ir_packet_head_wait_end ,true 
+3802 da200000 arg 0 ,rega 
+3803 df200010 arg 16 ,loopcnt 
+3804 2040383f call car_ir_clk_get 
+
+car_ir_receive_process_loop:
+3805 20403842 call car_ir_clk_check 
+3806 24610000 nrtn positive 
+3807 20403847 call car_ir_gpio_get_status 
+3808 2420b805 nbranch car_ir_receive_process_loop ,true 
+3809 58002a30 setarg 10800 
+380a 20402a8f call sleep 
+380b 20403847 call car_ir_gpio_get_status 
+380c 2020b812 branch car_ir_get_bit1 ,true 
+
+car_ir_get_bit0:
+380d 58000000 setarg 0 
+380e 1a232200 rshift rega ,rega 
+380f 9a21a200 ior rega ,rega 
+3810 c2003805 loop car_ir_receive_process_loop 
+3811 2020381b branch car_ir_receive_process_end 
+
+car_ir_get_bit1:
+3812 58008000 setarg 0x8000 
+3813 1a232200 rshift rega ,rega 
+3814 9a21a200 ior rega ,rega 
+3815 2040383f call car_ir_clk_get 
+
+car_ir_get_bit1_wait_low_end:
+3816 20403842 call car_ir_clk_check 
+3817 24610000 nrtn positive 
+3818 20403847 call car_ir_gpio_get_status 
+3819 2020b816 branch car_ir_get_bit1_wait_low_end ,true 
+381a c2003805 loop car_ir_receive_process_loop 
+
+car_ir_receive_process_end:
+381b 44eac01a bpatch patch1a_5 ,mem_patch1a 
+381c 1a227e00 copy rega ,pdata 
+381d 60014789 store 2 ,mem_ir_rx_buf 
+381e 60014797 store 2 ,mem_ir_notify_data + 8 
+381f 6800c7ea fetch 1 ,mem_car_24g_status 
+3820 c000b827 beq work_paired ,car_ir_24g_receive_attack 
+
+car_ir_data_notify:
+3821 df200007 arg 0x07 ,loopcnt 
+3822 d8c04792 arg mem_ir_notify_data_head ,contr 
+3823 204036f0 call calc_check_sum_start 
+3824 6000c799 store 1 ,mem_ir_notify_data_check_sum 
+3825 da20478f arg mem_ir_notify_data ,rega 
+3826 20207e3d branch queue_push 
+
+car_ir_24g_receive_attack:
+3827 6800c7ef fetch 1 ,mem_car_24g_ir_receive_attack_count 
+3828 1fe0fe01 increase 1 ,pdata 
+3829 6000c7ef store 1 ,mem_car_24g_ir_receive_attack_count 
+382a 1fe6fc02 div pdata ,2 
+382b 20407f86 call wait_div_end 
+382c 18078400 quotient temp 
+382d 18077e00 remainder pdata 
+382e 243a3838 nbranch car_ir_24g_receive_attack_blink ,blank 
+
+car_ir_24g_receive_attack_off:
+382f 6800c7bf fetch 1 ,mem_car_config_led_num 
+3830 98467c00 isub temp ,null 
+3831 2042b83d call car_ir_24g_go_die ,zero 
+3832 dfe0479c arg mem_car_led_control ,pdata 
+3833 184085ff increase -1 ,temp 
+3834 9840a200 iadd temp ,rega 
+3835 dfe00000 arg 0 ,pdata 
+3836 e2208000 istore 1 ,rega 
+3837 20600000 rtn 
+
+car_ir_24g_receive_attack_blink:
+3838 dfe0479c arg mem_car_led_control ,pdata 
+3839 9840a200 iadd temp ,rega 
+383a dfe00002 arg 2 ,pdata 
+383b e2208000 istore 1 ,rega 
+383c 20600000 rtn 
+
+car_ir_24g_go_die:
+383d 7047f001 jam 1 ,mem_car_24g_go_die_flag 
+383e 20600000 rtn 
+
+car_ir_clk_get:
+383f 1c427e00 copy clkn_bt ,pdata 
+3840 6002478b store 4 ,mem_ir_receive_clkn 
+3841 20600000 rtn 
+
+car_ir_clk_check:
+3842 1c427e00 copy clkn_bt ,pdata 
+3843 680a478b fetcht 4 ,mem_ir_receive_clkn 
+3844 98467e00 isub temp ,pdata 
+3845 1fe67cc8 sub pdata ,200 ,null 
+3846 20600000 rtn 
+
+car_ir_gpio_get_status:
+3847 6808c786 fetcht 1 ,mem_ir_rx_gpio 
+3848 2020681d branch gpio_get_bit 
+
+car_led_control_receive:
+3849 68044752 fetch 8 ,mem_le_receive_payload 
+384a 6004479c store 8 ,mem_car_led_control 
+384b 20600000 rtn 
+
+car_info_request:
+384c 6800c7b9 fetch 1 ,mem_car_config_device_select 
+384d 6000c7af store 1 ,mem_car_info_request_payload 
+384e 6800c7ba fetch 1 ,mem_car_config_motor_layout 
+384f 6000c7b0 store 1 ,mem_car_info_request_payload + 1 
+3850 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+3851 6000c7b1 store 1 ,mem_car_info_request_payload + 2 
+3852 df20000d arg 13 ,loopcnt 
+3853 d8c047aa arg mem_car_info_request_head ,contr 
+3854 204036f0 call calc_check_sum_start 
+3855 6000c7b7 store 1 ,mem_car_info_request_checksum 
+3856 da2047a7 arg mem_car_info_request ,rega 
+3857 20207e3d branch queue_push 
+
+light_init:
+3858 204065c2 call clear_eeprom_size_2k 
+3859 7046f67a jam 0x7a ,mem_curr_packet_num 
+385a 2040386d call light_load_controler_list 
+385b 20403867 call light_init_crr_cmd_count 
+385c 58003860 setarg light_pairing_timer 
+385d 600141fd store 2 ,mem_cb_event_timer 
+385e da200000 arg 0 ,rega 
+385f 202069a6 branch pwm_init 
+
+light_pairing_timer:
+3860 680146a1 fetch 2 ,mem_light_pairing_timer 
+3861 207a0000 rtn blank 
+3862 1fe0ffff increase -1 ,pdata 
+3863 600146a1 store 2 ,mem_light_pairing_timer 
+3864 c1800000 rtnne 0 
+3865 7046a000 jam 0 ,mem_light_pairing_enable 
+3866 20600000 rtn 
+
+light_init_crr_cmd_count:
+3867 44eb401a bpatch patch1a_6 ,mem_patch1a 
+3868 6800c6a4 fetch 1 ,mem_light_next_record 
+3869 1fe67c28 sub pdata ,40 ,null 
+386a 20610000 rtn positive 
+386b 7046a400 jam 0 ,mem_light_next_record 
+386c 20600000 rtn 
+
+light_load_controler_list:
+386d da2046a4 arg mem_light_next_record ,rega 
+386e da400000 arg 0 ,regb 
+386f d8400051 arg 81 ,temp 
+3870 202065df branch iicd_read_eep_data 
+
+light_find_controler_pairing:
+3871 78547c00 disable user 
+3872 6800c6a3 fetch 1 ,mem_light_cnum 
+3873 1fe27200 copy pdata ,loopcnt 
+3874 da2046a5 arg mem_light_clist ,rega 
+3875 1a622400 copy regc ,regb 
+
+light_find_controler_pairing_loop:
+3876 44ebc01a bpatch patch1a_7 ,mem_patch1a 
+3877 2040387c call light_compare_addr_record 
+3878 2022ffe7 branch enable_user ,zero 
+
+light_find_single_pairing_diff:
+3879 1a20a204 increase 4 ,rega 
+387a c2003876 loop light_find_controler_pairing_loop 
+387b 20600000 rtn 
+
+light_compare_addr_record:
+387c 44ec401b bpatch patch1b_0 ,mem_patch1b 
+387d ea218000 ifetch 3 ,rega 
+387e ea498000 ifetcht 3 ,regb 
+387f 98467c00 isub temp ,null 
+3880 20600000 rtn 
+
+light_compare_single_record:
+3881 44ecc01b bpatch patch1b_1 ,mem_patch1b 
+3882 ea218000 ifetch 3 ,rega 
+3883 ea498000 ifetcht 3 ,regb 
+3884 98467c00 isub temp ,null 
+3885 24628000 nrtn zero 
+3886 e8c08000 ifetch 1 ,contr 
+3887 1fe67c00 sub pdata ,0 ,null 
+3888 20628000 rtn zero 
+3889 1a208c03 add rega ,3 ,contr 
+388a e8c88000 ifetcht 1 ,contr 
+388b 98467c00 isub temp ,null 
+388c 20600000 rtn 
+
+light_find_controler_cmd:
+388d 44ed401b bpatch patch1b_2 ,mem_patch1b 
+388e 78547c00 disable user 
+388f 6800c6a3 fetch 1 ,mem_light_cnum 
+3890 1fe27200 copy pdata ,loopcnt 
+3891 da2046a5 arg mem_light_clist ,rega 
+3892 1a622400 copy regc ,regb 
+
+light_find_controler_cmd_loop:
+3893 20403881 call light_compare_single_record 
+3894 2022ffe7 branch enable_user ,zero 
+3895 1a20a204 increase 4 ,rega 
+3896 c2003893 loop light_find_controler_cmd_loop 
+3897 20600000 rtn 
+
+light_recv_adv:
+3898 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+3899 1fe0fe01 increase 1 ,pdata 
+389a 60008004 store 1 ,mem_le_scanrsp_rcv 
+389b da6002e5 arg mem_le_rxbuf + 12 ,regc 
+
+light_anylize_command:
+389c ea610000 ifetch 2 ,regc 
+389d d84055aa arg 0x55aa ,temp 
+389e 98467c00 isub temp ,null 
+389f 24628000 nrtn zero 
+38a0 18c22600 copy contr ,regc 
+38a1 ea698000 ifetcht 3 ,regc 
+38a2 58ffffff setarg 0xffffff 
+38a3 98467c00 isub temp ,null 
+38a4 2022b8a8 branch light_parse_cmd ,zero 
+38a5 2040388d call light_find_controler_cmd 
+38a6 203438a8 branch light_parse_cmd ,user 
+38a7 20600000 rtn 
+
+light_parse_cmd:
+38a8 44edc01b bpatch patch1b_3 ,mem_patch1b 
+38a9 1a60a604 increase 4 ,regc 
+38aa ea608000 ifetch 1 ,regc 
+38ab 6808c6f6 fetcht 1 ,mem_curr_packet_num 
+38ac 98467c00 isub temp ,null 
+38ad 20628000 rtn zero 
+38ae 6000c6f6 store 1 ,mem_curr_packet_num 
+38af 68008003 fetch 1 ,mem_le_req_rcv 
+38b0 1fe0fe01 increase 1 ,pdata 
+38b1 60008003 store 1 ,mem_le_req_rcv 
+38b2 1a60a601 increase 1 ,regc 
+38b3 ea608000 ifetch 1 ,regc 
+38b4 6000c6f5 store 1 ,mem_light_crr_cmd_count 
+38b5 1fe27200 copy pdata ,loopcnt 
+38b6 207a0000 rtn blank 
+
+light_parse_cmd_loop:
+38b7 e8c08000 ifetch 1 ,contr 
+38b8 c00038c2 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+38b9 c000b8cf beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+38ba c00138d4 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+38bb c001b8d9 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+38bc c00238de beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+38bd c002b8e3 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+38be c00338e8 beq light_cmd_auto_mode ,light_parse_auto_mode 
+38bf c07fb8ea beq light_cmd_pairing ,light_parse_pairing 
+38c0 c20038b7 loop light_parse_cmd_loop 
+38c1 20600000 rtn 
+
+light_parse_cmd_pwm0:
+38c2 18c22600 copy contr ,regc 
+38c3 6800c69a fetch 1 ,mem_light_pwm0 
+38c4 60008a9a store 1 ,mem_pdatatemp 
+38c5 d8400000 arg 0 ,temp 
+
+light_parse_cmd_pwm_common:
+38c6 60088a9b storet 1 ,mem_pdatatemp + 1 
+38c7 58002710 setarg 10000 
+38c8 60018a9c store 3 ,mem_pdatatemp + 2 
+38c9 ea608000 ifetch 1 ,regc 
+38ca 60008a9f store 1 ,mem_pdatatemp + 5 
+38cb 204069ae call pwm_out_set 
+38cc 1a610c01 and regc ,1 ,contr 
+38cd c20038b7 loop light_parse_cmd_loop 
+38ce 20600000 rtn 
+
+light_parse_cmd_pwm1:
+38cf 1a620c00 copy regc ,contr 
+38d0 6800c69b fetch 1 ,mem_light_pwm1 
+38d1 60008a9a store 1 ,mem_pdatatemp 
+38d2 d8400001 arg 1 ,temp 
+38d3 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm2:
+38d4 1a620c00 copy regc ,contr 
+38d5 6800c69c fetch 1 ,mem_light_pwm2 
+38d6 60008a9a store 1 ,mem_pdatatemp 
+38d7 d8400002 arg 2 ,temp 
+38d8 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm3:
+38d9 1a620c00 copy regc ,contr 
+38da 6800c69d fetch 1 ,mem_light_pwm3 
+38db 60008a9a store 1 ,mem_pdatatemp 
+38dc d8400003 arg 3 ,temp 
+38dd 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm4:
+38de 1a620c00 copy regc ,contr 
+38df 6800c69e fetch 1 ,mem_light_pwm4 
+38e0 60008a9a store 1 ,mem_pdatatemp 
+38e1 d8400004 arg 4 ,temp 
+38e2 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm5:
+38e3 1a620c00 copy regc ,contr 
+38e4 6800c69f fetch 1 ,mem_light_pwm5 
+38e5 60008a9a store 1 ,mem_pdatatemp 
+38e6 d8400005 arg 5 ,temp 
+38e7 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_auto_mode:
+38e8 e8c08000 ifetch 1 ,contr 
+38e9 20600000 rtn 
+
+light_parse_pairing:
+38ea 18c22600 copy contr ,regc 
+38eb 6800c6a0 fetch 1 ,mem_light_pairing_enable 
+38ec c080b8ee bne 1 ,light_parse_pairing_abandon 
+38ed 204038f0 call update_controler_list 
+
+light_parse_pairing_abandon:
+38ee 1a610c04 and regc ,4 ,contr 
+38ef 20600000 rtn 
+
+update_controler_list:
+38f0 44ee401b bpatch patch1b_4 ,mem_patch1b 
+38f1 20403871 call light_find_controler_pairing 
+38f2 203438fe branch update_conrtoler_list_found ,user 
+38f3 6800c6a4 fetch 1 ,mem_light_next_record 
+38f4 1fe20400 copy pdata ,temp 
+38f5 1fe0fe01 increase 1 ,pdata 
+38f6 6000c6a4 store 1 ,mem_light_next_record 
+38f7 20403867 call light_init_crr_cmd_count 
+38f8 184b8400 lshift2 temp ,temp 
+38f9 580046a5 setarg mem_light_clist 
+38fa 98408a00 iadd temp ,contw 
+38fb ea620000 ifetch 4 ,regc 
+38fc e0a20000 istore 4 ,contw 
+38fd 20203903 branch update_conrtoler_store_list 
+
+update_conrtoler_list_found:
+38fe 1a608c03 add regc ,3 ,contr 
+38ff e8c08000 ifetch 1 ,contr 
+3900 207a0000 rtn blank 
+3901 ea620000 ifetch 4 ,regc 
+3902 e2220000 istore 4 ,rega 
+
+update_conrtoler_store_list:
+3903 da2046a4 arg mem_light_next_record ,rega 
+3904 da400000 arg 0 ,regb 
+3905 d8400051 arg 81 ,temp 
+3906 20206606 branch iicd_write_eep_data 
+
+lightc_init:
+3907 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+3908 20406825 call gpio_out_inactive 
+3909 20600000 rtn 
+
+lightc_dispatch:
+390a 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390b 20406829 call gpio_out_active 
+390c 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390d 20406825 call gpio_out_inactive 
+390e 2040391d call lightc_start_adv 
+390f 6800c6a7 fetch 1 ,mem_adv_time 
+3910 247a0000 nrtn blank 
+3911 20402c29 call lpm_write_gpio_wakeup 
+3912 68120138 hfetch 4 ,core_lpm_ctrl 
+3913 793ffe0f set0 15 ,pdata 
+3914 6012004c hstore 4 ,core_lpm_reg 
+3915 20402c21 call lpm_write_ctrl 
+3916 d85fffff arg param_hibernate_clks ,temp 
+3917 20202b2a branch lpm_sleep 
+
+lightc_adv:
+3918 6800c6a7 fetch 1 ,mem_adv_time 
+3919 203a56f9 branch le_adv_loop_tx ,blank 
+391a 1fe0ffff increase -1 ,pdata 
+391b 6000c6a7 store 1 ,mem_adv_time 
+391c 202056f9 branch le_adv_loop_tx 
+
+lightc_start_adv:
+391d 1feffe14 mul32 pdata ,20 ,pdata 
+391e d8c046a8 arg mem_cmd0_string ,contr 
+391f 98c08c00 iadd contr ,contr 
+3920 e8c08000 ifetch 1 ,contr 
+3921 207a0000 rtn blank 
+3922 1fe22200 copy pdata ,rega 
+3923 1a227200 copy rega ,loopcnt 
+3924 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3925 20407f01 call memcpy 
+3926 1a227e00 copy rega ,pdata 
+3927 1fe0fe02 increase 2 ,pdata 
+3928 6000c36f store 1 ,mem_le_adv_data_len 
+3929 20600000 rtn 
+
+module_init:
+392a 20758000 rtn wake 
+392b 204057a3 call le_modified_name 
+392c 204068a8 call adc_init_data 
+392d 58003982 setarg module_process_idle 
+392e 600141f3 store 2 ,mem_cb_idle_process 
+392f 5800396e setarg module_bt_conn_process 
+3930 600141f1 store 2 ,mem_cb_bt_process 
+3931 58003986 setarg module_process_bb_event 
+3932 600141f5 store 2 ,mem_cb_bb_event_process 
+3933 5800396d setarg module_le_conn_process 
+3934 600141ef store 2 ,mem_cb_le_process 
+3935 58003969 setarg module_lpm_lock 
+3936 600141e9 store 2 ,mem_cb_check_wakelock 
+3937 58003ab7 setarg module_hci_cmd_transmit_le_notify 
+3938 600141fb store 2 ,mem_cb_ble_transmit 
+3939 58003c32 setarg module_hci_event_receive_spp_data 
+393a 6001456f store 2 ,mem_cb_receive_spp_data 
+393b 58003cc2 setarg module_le_receive_data 
+393c 600141f9 store 2 ,mem_cb_att_write 
+393d 58003cd7 setarg module_bb_event_timer 
+393e 600141fd store 2 ,mem_cb_event_timer 
+393f 2040397f call module_spp_clear_last_transmite_clock 
+3940 44eec01b bpatch patch1b_5 ,mem_patch1b 
+3941 20403945 call module_lpm_uart_init 
+3942 20403964 call module_gpio_init 
+3943 20402c6f call check_module_disabled 
+3944 20203c48 branch module_hci_event_enter_standby_mode 
+
+module_lpm_uart_init:
+3945 680246aa fetch 4 ,mem_module_uart_rx_buffer 
+3946 60120054 hstore 4 ,core_uart_rsaddr 
+3947 680246ae fetch 4 ,mem_module_uart_tx_buffer 
+3948 6012005a hstore 4 ,core_uart_tsaddr 
+3949 68108081 hfetch 1 ,core_gpio_sel1 
+394a 1fe1fe04 or_into 0x04 ,pdata 
+394b 1fe17efc and_into 0xfc ,pdata 
+394c 60108081 hstore 1 ,core_gpio_sel1 
+394d 70806200 jam 0x00 ,core_uart_ctrl 
+394e 680146aa fetch 2 ,mem_module_uart_rx_buffer 
+394f 60110058 hstore 2 ,core_uart_rrptr 
+3950 680146ae fetch 2 ,mem_module_uart_tx_buffer 
+3951 6011005e hstore 2 ,core_uart_twptr 
+3952 60110060 hstore 2 ,core_uart_trptrp 
+3953 68120078 hfetch 4 ,core_gpio_pu0 
+3954 79207e07 set1 7 ,pdata 
+3955 60120078 hstore 4 ,core_gpio_pu0 
+3956 68110050 hfetch 2 ,core_clkoff 
+3957 793ffe0f set0 clock_off_uart ,pdata 
+3958 60110050 hstore 2 ,core_clkoff 
+3959 204066ce call uart_set_baud_by_mem 
+395a 70804300 jam uartclk_crystal ,core_uart_clksel 
+395b 70806281 jam uart_ctrl_h4 ,core_uart_ctrl 
+395c 6800c6bf fetch 1 ,mem_module_flag 
+395d 2feffe00 isolate1 module_flag_uart_flow_control ,pdata 
+395e 68188062 hfetcht 1 ,core_uart_ctrl 
+395f 79208404 setflag true ,4 ,temp 
+3960 60188062 hstoret 1 ,core_uart_ctrl 
+3961 20600000 rtn 
+
+module_lpm_init:
+3962 2040397f call module_spp_clear_last_transmite_clock 
+3963 20203945 branch module_lpm_uart_init 
+
+module_gpio_init:
+3964 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+3965 2040680e call gpio_config_output 
+3966 204039e6 call module_set_conn_pin_low 
+3967 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+3968 202067fb branch gpio_config_input 
+
+module_lpm_lock:
+3969 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+396a 2040681d call gpio_get_bit 
+396b 2420b3d2 nbranch app_put_lpm_wake_lock ,true 
+396c 202033d0 branch app_get_lpm_wake_lock 
+
+module_le_conn_process:
+396d 20600000 rtn 
+
+module_bt_conn_process:
+396e 20403970 call module_spp_enter_sniff 
+396f 20203ce9 branch module_control_air_flow 
+
+module_spp_enter_sniff:
+3970 6800c682 fetch 1 ,mem_ui_state_map 
+3971 c302397f bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+3972 44ef401b bpatch patch1b_6 ,mem_patch1b 
+3973 58003eff setarg 0x3eff 
+3974 680a46c5 fetcht 4 ,mem_last_transmite_clock 
+3975 98408400 iadd temp ,temp 
+3976 1c427e00 copy clkn_bt ,pdata 
+3977 98467c00 isub temp ,null 
+3978 24610000 nrtn positive 
+3979 68014682 fetch 2 ,mem_ui_state_map 
+397a c282b97f bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+397b 6800c6bf fetch 1 ,mem_module_flag 
+397c c3830000 rtnbit1 moudle_task_sniff 
+397d 20403cec call module_set_sniff_task_flag 
+397e 2040340e call app_bt_enter_sniff 
+
+module_spp_clear_last_transmite_clock:
+397f 1c427e00 copy clkn_bt ,pdata 
+3980 600246c5 store 4 ,mem_last_transmite_clock 
+3981 20600000 rtn 
+
+module_process_idle:
+3982 20403ce9 call module_control_air_flow 
+3983 2040526e call l2cap_malloc_is_fifo_full 
+3984 247a0000 nrtn blank 
+3985 202039eb branch module_process 
+
+module_process_bb_event:
+3986 1a627e00 copy regc ,pdata 
+3987 c000b9d4 beq bt_evt_bb_connected ,module_process_bb_conn 
+3988 c00139a3 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+3989 c00239d7 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+398a c002b9c4 beq bt_evt_setup_complete ,module_process_setup_complete 
+398b c00439aa beq bt_evt_spp_connected ,module_process_spp_connected 
+398c c004b9b1 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+398d c00539c9 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+398e c005b9b6 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+398f c00639c2 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+3990 c009b9d7 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+3991 c00a39cf beq bt_evt_le_connected ,module_process_le_conn 
+3992 c00ab9c6 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+3993 c010b9ca beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+3994 c011b9cb beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+3995 c01239ce beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+3996 c0183c8a beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+3997 c018bc8c beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+3998 c0193c9a beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+3999 c019bc98 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+399a c01a3c84 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+399b c01abc73 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+399c c01b3c82 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+399d c01bbc8e beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+399e c01c3c90 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+399f c01dbca1 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+39a0 c01ebc6a beq bt_evt_store_nvram ,module_hci_event_store_device 
+39a1 c020b9d9 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+39a2 20600000 rtn 
+
+module_process_bb_event_disconned:
+39a3 2040397f call module_spp_clear_last_transmite_clock 
+39a4 6800c665 fetch 1 ,mem_flag_pairing_state 
+39a5 245a3c8e ncall module_hci_event_bt_pairing_fail ,blank 
+39a6 204039d7 call module_disconn_start 
+39a7 68014682 fetch 2 ,mem_ui_state_map 
+39a8 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39a9 202039b1 branch module_spp_disconnected 
+
+module_process_spp_connected:
+39aa 68014682 fetch 2 ,mem_ui_state_map 
+39ab 79207e04 set1 ui_state_bt_spp_conn ,pdata 
+39ac 60014682 store 2 ,mem_ui_state_map 
+39ad 6800c6a7 fetch 1 ,mem_module_spp_lpm_mult 
+39ae 6000c172 store 1 ,mem_lpm_mult 
+39af 204039e6 call module_set_conn_pin_low 
+39b0 20203c1d branch module_hci_event_spp_connect 
+
+module_process_spp_disconnected:
+
+module_spp_disconnected:
+39b1 68014682 fetch 2 ,mem_ui_state_map 
+39b2 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39b3 793ffe04 set0 ui_state_bt_spp_conn ,pdata 
+39b4 60014682 store 2 ,mem_ui_state_map 
+39b5 20203c21 branch module_hci_event_spp_disconnect 
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+39b6 2040397f call module_spp_clear_last_transmite_clock 
+39b7 68014042 fetch 2 ,mem_context + coffset_tsniff 
+39b8 1fe37e00 rshift pdata ,pdata 
+39b9 680941e3 fetcht 2 ,mem_sniff_param_interval 
+39ba 98467c00 isub temp ,null 
+39bb 2422b9bd nbranch module_sniff_param_check_unsniff ,zero 
+39bc 20203416 branch app_lpm_mult_enable 
+
+module_sniff_param_check_unsniff:
+39bd 6800c6bf fetch 1 ,mem_module_flag 
+39be c3828000 rtnbit1 moudle_task_unsniff 
+39bf 68110112 hfetch 2 ,core_uart_rxitems 
+39c0 245a3cf0 ncall module_set_unsniff_task_flag ,blank 
+39c1 2020340c branch app_bt_sniff_exit 
+
+module_process_exit_sniff:
+39c2 20403cee call module_clear_sniff_task_flag 
+39c3 20203418 branch app_lpm_mult_disable 
+
+module_process_setup_complete:
+39c4 2040397f call module_spp_clear_last_transmite_clock 
+39c5 202039dd branch module_conn_start 
+
+module_process_bb_even_le_disconn:
+39c6 20405816 call le_clr_config_more_data 
+39c7 204039d7 call module_disconn_start 
+39c8 20203c23 branch module_hci_event_le_disconnect 
+
+module_process_evt_pincode_req:
+39c9 202033dd branch app_bt_set_pincode 
+
+module_process_sniff_not_accept:
+39ca 20203cee branch module_clear_sniff_task_flag 
+
+module_process_unsniff_accept:
+39cb 6800c6bf fetch 1 ,mem_module_flag 
+39cc c302b40e bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+39cd 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_unsniff_not_accept:
+39ce 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_le_conn:
+39cf 204058ba call le_send_att_exchange_mtu_requset 
+39d0 204039dd call module_conn_start 
+39d1 6800c6a8 fetch 1 ,mem_module_le_lpm_mult 
+39d2 6000c172 store 1 ,mem_lpm_mult 
+39d3 20203c1f branch module_hci_event_le_connect 
+
+module_process_bb_conn:
+39d4 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+39d5 20403cee call module_clear_sniff_task_flag 
+39d6 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_page_time_out:
+
+module_process_reconn_fail:
+
+module_disconn_start:
+39d7 20403a52 call module_start_adv_discovery_by_command 
+39d8 202039db branch module_set_conn_pin_high 
+
+module_process_ble_ltk_lost:
+39d9 20405cc9 call le_send_reject_ind 
+39da 20205b02 branch le_send_smp_security_request 
+
+module_set_conn_pin_high:
+39db 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39dc 20206829 branch gpio_out_active 
+
+module_conn_start:
+39dd 204039df call module_stop_adv_discovery 
+39de 202039e6 branch module_set_conn_pin_low 
+
+module_stop_adv_discovery:
+39df 6800c6a1 fetch 1 ,mem_module_state 
+39e0 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+39e1 2040b3f0 call app_bt_stop_discovery ,true 
+39e2 6800c6a1 fetch 1 ,mem_module_state 
+39e3 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+39e4 2040b3f8 call app_ble_stop_adv ,true 
+39e5 20600000 rtn 
+
+module_set_conn_pin_low:
+39e6 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39e7 20206825 branch gpio_out_inactive 
+
+module_process_with_credit:
+39e8 6800c56b fetch 1 ,mem_credit_flag 
+39e9 c1000000 rtneq credit_disable 
+39ea 20206c28 branch rfcomm_send_uih_without_payload 
+
+module_process:
+39eb 6810810c hfetch 1 ,core_uart_status 
+39ec c281b9e8 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+39ed 204066cb call uartd_prepare_rx 
+39ee e8608000 ifetch 1 ,contru 
+39ef c080ba01 bne 0x01 ,module_hci_in_excp 
+39f0 68110112 hfetch 2 ,core_uart_rxitems 
+39f1 1fe67c02 sub pdata ,2 ,null 
+39f2 20610000 rtn positive 
+39f3 e8608000 ifetch 1 ,contru 
+39f4 60008b03 store 1 ,mem_module_uart_opcode 
+39f5 e8688000 ifetcht 1 ,contru 
+39f6 18622200 copy contru ,rega 
+39f7 60088b04 storet 1 ,mem_module_uart_len 
+39f8 18408403 add temp ,3 ,temp 
+39f9 68110112 hfetch 2 ,core_uart_rxitems 
+39fa 98460400 isub temp ,temp 
+39fb 24610000 nrtn positive 
+39fc 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+39fd 20403a17 call module_hci_cmd_control 
+39fe 68008b05 fetch 1 ,mem_module_temp_nl_discard_packet 
+39ff c1000000 rtneq hci_not_discard_packet 
+3a00 20203a12 branch module_hci_dicard_packet 
+
+module_hci_in_excp:
+3a01 20407ec1 call delay_10ms 
+3a02 20403c79 call module_hci_event_invalid_packet 
+3a03 20203a04 branch module_hci_release_except 
+
+module_hci_release_except:
+3a04 44efc01b bpatch patch1b_7 ,mem_patch1b 
+3a05 68110112 hfetch 2 ,core_uart_rxitems 
+3a06 207a0000 rtn blank 
+3a07 204066cb call uartd_prepare_rx 
+3a08 e8608000 ifetch 1 ,contru 
+3a09 1fe67c01 sub pdata ,0x01 ,null 
+3a0a 2442ba16 ncall module_hci_dicard_bytes ,zero 
+3a0b 2422ba04 nbranch module_hci_release_except ,zero 
+3a0c e8608000 ifetch 1 ,contru 
+3a0d c1028000 rtneq hci_cmd_spp_data_req 
+3a0e c1148000 rtneq hci_cmd_set_credit_given 
+3a0f 186087ff increase -1 ,contru 
+3a10 20403a16 call module_hci_dicard_bytes 
+3a11 20203a04 branch module_hci_release_except 
+
+module_hci_dicard_packet:
+3a12 204066cb call uartd_prepare_rx 
+3a13 18608602 increase 2 ,contru 
+3a14 e8608000 ifetch 1 ,contru 
+3a15 98608600 iadd contru ,contru 
+
+module_hci_dicard_bytes:
+3a16 202066c8 branch uartd_rxdone 
+
+module_hci_cmd_control:
+3a17 44f0401c bpatch patch1c_0 ,mem_patch1c 
+3a18 68008b03 fetch 1 ,mem_module_uart_opcode 
+3a19 c0003a3f beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+3a1a c000ba44 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+3a1b c0013a49 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+3a1c c001ba5f beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+3a1d c0023a6b beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+3a1e c002ba75 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+3a1f c004ba9a beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+3a20 c005bad7 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+3a21 c0063ad8 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+3a22 c006baec beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+3a23 c0073af4 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+3a24 c007bafa beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+3a25 c0083b06 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+3a26 c008bb0e beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+3a27 c0093b12 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+3a28 c0133b16 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+3a29 c0143b1d beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+3a2a c014bb2d beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+3a2b c0153b36 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+3a2c c015bb69 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+3a2d c0163b6f beq hci_cmd_power_set ,module_hci_cmd_power_set 
+3a2e c0183b76 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+3a2f c018bb7c beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+3a30 c0193b90 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+3a31 c019bb98 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+3a32 c01a3bbb beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+3a33 c01abbc4 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+3a34 c01b3bcd beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+3a35 c01bbbd7 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+3a36 c01c3bda beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+3a37 c0203be2 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+3a38 c0213bec beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+3a39 c0243bf1 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+3a3a c024bbfc beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+3a3b c028bc02 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+3a3c c030bc06 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+3a3d c07fbc15 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+3a3e 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_set_bt_addr:
+3a3f 68008b04 fetch 1 ,mem_module_uart_len 
+3a40 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a41 e8630000 ifetch 6 ,contru 
+3a42 600340a0 store 6 ,mem_lap 
+3a43 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_addr:
+3a44 68008b04 fetch 1 ,mem_module_uart_len 
+3a45 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a46 e8630000 ifetch 6 ,contru 
+3a47 600344a0 store 6 ,mem_le_lap 
+3a48 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_visibility:
+3a49 68008b04 fetch 1 ,mem_module_uart_len 
+3a4a c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3a4b 1a220600 copy rega ,contru 
+3a4c 20403c1a call module_hci_event_receive_valid_cmd 
+3a4d e8688000 ifetcht 1 ,contru 
+3a4e 6008c6a9 storet 1 ,mem_module_bluetooth_stauts_by_command 
+3a4f 68014682 fetch 2 ,mem_ui_state_map 
+3a50 c3848000 rtnbit1 ui_state_ble_connected 
+3a51 c3800000 rtnbit1 ui_state_bt_connected 
+
+module_start_adv_discovery_by_command:
+3a52 6800c6a1 fetch 1 ,mem_module_state 
+3a53 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+3a54 2420ba58 nbranch moudle_start_adv_by_command ,true 
+3a55 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a56 18417e03 and temp ,0x03 ,pdata 
+3a57 6000c093 store 1 ,mem_scan_mode 
+
+moudle_start_adv_by_command:
+3a58 6800c6a1 fetch 1 ,mem_module_state 
+3a59 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+3a5a 24608000 nrtn true 
+3a5b 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a5c 284ffe02 isolate1 2 ,temp 
+3a5d 2020b3fa branch app_ble_start_adv ,true 
+3a5e 202033f8 branch app_ble_stop_adv 
+
+module_hci_cmd_set_bt_name:
+3a5f 68008b04 fetch 1 ,mem_module_uart_len 
+3a60 1fe67c43 sub pdata ,67 ,null 
+3a61 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a62 6000c515 store 1 ,mem_local_name_length 
+3a63 df200008 arg 8 ,loopcnt 
+3a64 20407ec6 call memset0 
+3a65 68008b04 fetch 1 ,mem_module_uart_len 
+3a66 1fe27200 copy pdata ,loopcnt 
+3a67 1a220600 copy rega ,contru 
+3a68 d8a04516 arg mem_local_name ,contw 
+3a69 204066ea call uart_copy_rx_bytes_fast 
+3a6a 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_name:
+3a6b 68008b04 fetch 1 ,mem_module_uart_len 
+3a6c 1fe67c1d sub pdata ,29 ,null 
+3a6d 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a6e 6000c3af store 1 ,mem_le_name_len 
+3a6f 1fe27200 copy pdata ,loopcnt 
+3a70 1a220600 copy rega ,contru 
+3a71 d8a043b0 arg mem_le_name ,contw 
+3a72 204066ea call uart_copy_rx_bytes_fast 
+3a73 204057a3 call le_modified_name 
+3a74 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_spp_data:
+3a75 6800c682 fetch 1 ,mem_ui_state_map 
+3a76 c3023c17 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+3a77 204033ba call app_check_sniff 
+3a78 2020ba86 branch module_hci_cmd_spp_exit_sniff ,true 
+3a79 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a7a 2040397f call module_spp_clear_last_transmite_clock 
+3a7b 6800c568 fetch 1 ,mem_remote_credits 
+3a7c 207a0000 rtn blank 
+3a7d 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a7e c0803a84 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+3a7f 68008b04 fetch 1 ,mem_module_uart_len 
+3a80 60014573 store 2 ,mem_nl_rx_len_all 
+3a81 1a220600 copy rega ,contru 
+3a82 18627e00 copy contru ,pdata 
+3a83 60014571 store 2 ,mem_nl_rx_data_src 
+
+module_hci_cmd_pass_init_ng_rx_len_all:
+3a84 20403a88 call module_hci_cmd_get_current_packet_len_and_remain_len 
+3a85 20206c4d branch spp_tx_rfcomm_packet 
+
+module_hci_cmd_spp_exit_sniff:
+3a86 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a87 20203cd1 branch module_exit_sniff 
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+3a88 20403a8e call module_hci_cmd_get_current_patcket_len 
+3a89 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8a 6809469f fetcht 2 ,mem_current_packet_length 
+3a8b 98467e00 isub temp ,pdata 
+3a8c 60014573 store 2 ,mem_nl_rx_len_all 
+3a8d 20600000 rtn 
+
+module_hci_cmd_get_current_patcket_len:
+3a8e 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8f d840006e arg dm_refcom_buff_len ,temp 
+3a90 20407fdd call not_greater_than 
+3a91 6809456c fetcht 2 ,mem_rfcomm_max_frame_size 
+3a92 20407fdd call not_greater_than 
+3a93 6809455e fetcht 2 ,mem_pn_max_frame_size 
+3a94 20407fdd call not_greater_than 
+3a95 6001469f store 2 ,mem_current_packet_length 
+3a96 20600000 rtn 
+
+module_hci_command_tx_spp_tx_complete:
+3a97 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3a98 700b0305 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+3a99 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_le_data:
+3a9a 68014682 fetch 2 ,mem_ui_state_map 
+3a9b c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3a9c 20403ad4 call module_check_ble_encrypt_state 
+3a9d 20343c17 branch module_hci_event_receive_invalid_cmd ,user 
+3a9e 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a9f 6800c6bf fetch 1 ,mem_module_flag 
+3aa0 c2823ab4 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+3aa1 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3aa2 247a0000 nrtn blank 
+3aa3 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3aa4 e8610000 ifetch 2 ,contru 
+3aa5 600146c1 store 2 ,mem_module_hci_notify_handle 
+3aa6 18627e00 copy contru ,pdata 
+3aa7 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3aa8 68008b04 fetch 1 ,mem_module_uart_len 
+3aa9 1fe0fffe pincrease -2 
+3aaa 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aab 2022bc17 branch module_hci_event_receive_invalid_cmd ,zero 
+3aac 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3aad 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3aae 20405814 call le_set_config_more_data 
+3aaf 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab0 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab1 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab2 6800c6bf fetch 1 ,mem_module_flag 
+3ab3 c4020000 rtnbit0 module_flag_ble_data_finish 
+
+module_hci_cmd_receive_le_data_finish:
+3ab4 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3ab5 20403cf6 call module_clear_le_tx_data_flag 
+3ab6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_transmit_le_notify:
+3ab7 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3ab8 207a0000 rtn blank 
+3ab9 20405892 call le_fifo_check_nearly_full 
+3aba 247a0000 nrtn blank 
+3abb 20403acf call module_get_le_remote_mtu 
+3abc 44f0c01c bpatch patch1c_1 ,mem_patch1c 
+3abd 1840fffd add temp ,-3 ,pdata 
+3abe 6808c6c0 fetcht 1 ,mem_module_hci_notify_len 
+3abf 20407fdd call not_greater_than 
+3ac0 1fe22200 copy pdata ,rega 
+3ac1 18427e00 copy temp ,pdata 
+3ac2 9a267e00 isub rega ,pdata 
+3ac3 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3ac4 680946c1 fetcht 2 ,mem_module_hci_notify_handle 
+3ac5 20405a64 call le_att_malloc_tx_notify 
+3ac6 680146c3 fetch 2 ,mem_module_hci_nofiy_addr 
+3ac7 1fe20600 copy pdata ,contru 
+3ac8 1a227200 copy rega ,loopcnt 
+3ac9 204066ea call uart_copy_rx_bytes_fast 
+3aca 18627e00 copy contru ,pdata 
+3acb 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3acc 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3acd 247a0000 nrtn blank 
+3ace 20203cf4 branch module_set_le_tx_data_flag 
+
+module_get_le_remote_mtu:
+3acf d8400017 arg 0x17 ,temp 
+3ad0 6800c6bf fetch 1 ,mem_module_flag 
+3ad1 c3808000 rtnbit1 module_flag_ble_send_mtu23 
+3ad2 680944a8 fetcht 2 ,mem_le_remote_mtu 
+3ad3 20600000 rtn 
+
+module_check_ble_encrypt_state:
+3ad4 6800c6bf fetch 1 ,mem_module_flag 
+3ad5 c2815a42 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+3ad6 20207fe9 branch disable_user 
+
+module_hci_cmd_inquire_status:
+3ad7 20203c4c branch module_hci_event_status_res 
+
+module_hci_cmd_set_pairing_mode:
+3ad8 1a220600 copy rega ,contru 
+3ad9 e8608000 ifetch 1 ,contru 
+3ada c0003adf beq pairing_pincode ,module_hci_pairing_pincode_mode 
+3adb c000bae2 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+3adc c0013ae8 beq pairing_passkey ,module_hci_pairing_passkey 
+3add c001baea beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+3ade 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_pairing_pincode_mode:
+3adf 2040612b call ssp_disable 
+3ae0 70465a00 jam 0 ,mem_ssp_enable 
+3ae1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_just_work_mode:
+3ae2 58040003 setarg ssp_mode_just_work_io_cap_data 
+
+module_hci_sspairing_mode:
+3ae3 6001c65b store 3 ,mem_sp_iocap_local 
+3ae4 6000c662 store 1 ,mem_ssp_mode_flag 
+3ae5 20406124 call ssp_enable 
+3ae6 70465a01 jam 1 ,mem_ssp_enable 
+3ae7 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_passkey:
+3ae8 58040002 setarg ssp_mode_passkey_io_cap_data 
+3ae9 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_pairing_numeric_comparison:
+3aea 58040001 setarg ssp_mode_ssp_pin_io_cap_data 
+3aeb 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_cmd_set_pincode:
+3aec 68008b04 fetch 1 ,mem_module_uart_len 
+3aed 1fe67c10 sub pdata ,16 ,null 
+3aee 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aef 6000c689 store 1 ,mem_pin_length 
+3af0 1fe27200 copy pdata ,loopcnt 
+3af1 d8a0468a arg mem_pin ,contw 
+3af2 204066fd call uart_copy_rx_bytes 
+3af3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_control_mode:
+3af4 1a220600 copy rega ,contru 
+3af5 e8608000 ifetch 1 ,contru 
+3af6 68188062 hfetcht 1 ,core_uart_ctrl 
+3af7 7d3a0404 nsetflag blank ,4 ,temp 
+3af8 60188062 hstoret 1 ,core_uart_ctrl 
+3af9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_baud:
+3afa 68008b04 fetch 1 ,mem_module_uart_len 
+3afb 1fe27200 copy pdata ,loopcnt 
+3afc 1a220600 copy rega ,contru 
+3afd 20407f58 call string2dec_from_uart 
+3afe 596e3600 setarg uart_clk_24 
+3aff 9846fc00 idiv temp 
+3b00 20407f86 call wait_div_end 
+3b01 1807fe00 quotient pdata 
+
+module_hci_cmd_set_uart_baud_ok:
+3b02 60014243 store uart_baud_len ,mem_baud 
+3b03 20403c1a call module_hci_event_receive_valid_cmd 
+3b04 20407f9e call wait_uarttx 
+3b05 202066ce branch uart_set_baud_by_mem 
+
+module_hci_cmd_version_request:
+3b06 da200002 arg 2 ,rega 
+3b07 da40469a arg mem_soft_version_num ,regb 
+3b08 d8400000 arg 0 ,temp 
+3b09 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_set_cmd_send_response:
+3b0a 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b0b da400ac2 arg mem_event_cmd_response_content ,regb 
+3b0c d8400000 arg 0 ,temp 
+3b0d 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_bt_disconnect:
+3b0e 68014682 fetch 2 ,mem_ui_state_map 
+3b0f c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_bt_disconnect_doing:
+3b10 20403c1a call module_hci_event_receive_valid_cmd 
+3b11 202033e9 branch app_bt_disconnect 
+
+module_hci_cmd_ble_disconnect:
+3b12 68014682 fetch 2 ,mem_ui_state_map 
+3b13 c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_ble_disconnect_doing:
+3b14 20403c1a call module_hci_event_receive_valid_cmd 
+3b15 20203402 branch app_ble_disconnect 
+
+module_hci_cmd_set_nvram:
+3b16 68008b04 fetch 1 ,mem_module_uart_len 
+3b17 1fe27200 copy pdata ,loopcnt 
+3b18 1a220600 copy rega ,contru 
+3b19 68014215 fetch 2 ,mem_nv_data_ptr 
+3b1a 1fe20a00 icopy contw 
+3b1b 204066ea call uart_copy_rx_bytes_fast 
+3b1c 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_confirm_gkey:
+3b1d 6800c682 fetch 1 ,mem_ui_state_map 
+3b1e c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+3b1f e8608000 ifetch 1 ,contru 
+3b20 6808c661 fetcht 1 ,mem_flag_mode_ssp_pin 
+3b21 793a0400 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+3b22 79200407 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+3b23 6008c661 storet 1 ,mem_flag_mode_ssp_pin 
+3b24 20403c1a call module_hci_event_receive_valid_cmd 
+3b25 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+3b26 c2833b2b bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+3b27 20600000 rtn 
+
+dhkey_not_accept:
+3b28 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3b29 700a9921 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+3b2a 20207d8f branch ui_ipc_send_cmd 
+
+module_hci_cmd_spp_number_comparison_result_is1:
+3b2b c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+3b2c 20203b28 branch dhkey_not_accept 
+
+module_hci_cmd_set_credit_given:
+3b2d 6800c682 fetch 1 ,mem_ui_state_map 
+3b2e c4020000 rtnbit0 ui_state_bt_spp_conn 
+3b2f 6800c56b fetch 1 ,mem_credit_flag 
+3b30 c1000000 rtneq credit_disable 
+3b31 e8608000 ifetch 1 ,contru 
+3b32 6808c569 fetcht 1 ,mem_credit_given 
+3b33 98408400 iadd temp ,temp 
+3b34 6008c569 storet 1 ,mem_credit_given 
+3b35 20600000 rtn 
+
+module_hci_cmd_auto_adv:
+3b36 df200040 arg 0x40 ,loopcnt 
+3b37 d8a0436f arg mem_le_adv_data_len ,contw 
+3b38 20407ed4 call clear_mem 
+3b39 58000000 setarg 0 
+3b3a 60008ab2 store 1 ,mem_regb 
+3b3b 1a220600 copy rega ,contru 
+
+module_hci_cmd_auto_adv_loop:
+3b3c 18627e00 copy contru ,pdata 
+3b3d 60010ab6 store 2 ,mem_regc 
+3b3e 20403b64 call module_hci_cmd_auto_adv_adv_analys 
+3b3f 68008ab2 fetch 1 ,mem_regb 
+3b40 68088aa2 fetcht 1 ,mem_temp 
+3b41 18408401 increase 1 ,temp 
+3b42 9840fe00 iadd temp ,pdata 
+3b43 60008ab2 store 1 ,mem_regb 
+3b44 1fe67c1f sub pdata ,31 ,null 
+3b45 24213b50 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+
+module_hci_cmd_auto_adv_store_adv:
+3b46 6808c36f fetcht 1 ,mem_le_adv_data_len 
+3b47 58004370 setarg mem_le_adv_data 
+3b48 9840fe00 iadd temp ,pdata 
+3b49 60010abb store 2 ,mem_contw 
+3b4a 68088aa2 fetcht 1 ,mem_temp 
+3b4b 18408401 increase 1 ,temp 
+3b4c 6800c36f fetch 1 ,mem_le_adv_data_len 
+3b4d 9840fe00 iadd temp ,pdata 
+3b4e 6000c36f store 1 ,mem_le_adv_data_len 
+3b4f 20203b59 branch module_hci_cmd_auto_adv_store_common 
+
+module_hci_cmd_auto_adv_store_scan:
+3b50 6808c38f fetcht 1 ,mem_le_scan_data_len 
+3b51 58004390 setarg mem_le_scan_data 
+3b52 9840fe00 iadd temp ,pdata 
+3b53 60010abb store 2 ,mem_contw 
+3b54 68088aa2 fetcht 1 ,mem_temp 
+3b55 18408401 increase 1 ,temp 
+3b56 6800c38f fetch 1 ,mem_le_scan_data_len 
+3b57 9840fe00 iadd temp ,pdata 
+3b58 6000c38f store 1 ,mem_le_scan_data_len 
+
+module_hci_cmd_auto_adv_store_common:
+3b59 68010abb fetch 2 ,mem_contw 
+3b5a 1fe20a00 copy pdata ,contw 
+3b5b 68010ab6 fetch 2 ,mem_regc 
+3b5c 1fe20600 copy pdata ,contru 
+3b5d 18427200 copy temp ,loopcnt 
+3b5e 204066ea call uart_copy_rx_bytes_fast 
+3b5f 68008b04 fetch 1 ,mem_module_uart_len 
+3b60 68088ab2 fetcht 1 ,mem_regb 
+3b61 98467c00 isub temp ,null 
+3b62 2422bb3c nbranch module_hci_cmd_auto_adv_loop ,zero 
+3b63 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_auto_adv_adv_analys:
+3b64 e8608000 ifetch 1 ,contru 
+3b65 60008aa2 store 1 ,mem_temp 
+3b66 e8608000 ifetch 1 ,contru 
+3b67 60008aae store 1 ,mem_rega 
+3b68 20600000 rtn 
+
+module_hci_cmd_power_request:
+3b69 d8400000 arg 0 ,temp 
+3b6a da200002 arg 2 ,rega 
+3b6b 680146b4 fetch 2 ,mem_module_vdd_quotient 
+3b6c 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b6d da400ac2 arg mem_event_cmd_response_content ,regb 
+3b6e 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_power_set:
+3b6f 68008b04 fetch 1 ,mem_module_uart_len 
+3b70 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b71 e8608000 ifetch 1 ,contru 
+3b72 6000c6b2 store 1 ,mem_module_read_vdd_flag 
+3b73 58000000 setarg 0x00 
+3b74 600146b4 store 2 ,mem_module_vdd_quotient 
+3b75 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_passkey_entry:
+3b76 e8620000 ifetch 4 ,contru 
+3b77 6002468a store 4 ,mem_pin 
+3b78 70468904 jam 4 ,mem_pin_length 
+3b79 70466300 jam 0 ,mem_authentication_passkey_times 
+3b7a 20403c1a call module_hci_event_receive_valid_cmd 
+3b7b 20205f31 branch authentication_passkey 
+
+module_hci_cmd_set_gpio:
+3b7c 68008b04 fetch 1 ,mem_module_uart_len 
+3b7d c081bc17 bne 3 ,module_hci_event_receive_invalid_cmd 
+3b7e e8608000 ifetch 1 ,contru 
+3b7f c0003b82 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+3b80 c000bb8a beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+3b81 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_set_gpio_input:
+3b82 e8688000 ifetcht 1 ,contru 
+3b83 e8608000 ifetch 1 ,contru 
+3b84 c0013b88 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+3b85 7d3a0407 nsetflag blank ,7 ,temp 
+3b86 204067fb call gpio_config_input 
+3b87 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_high_impedance:
+3b88 20406806 call gpio_set_high_impedance 
+3b89 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_output:
+3b8a e8688000 ifetcht 1 ,contru 
+3b8b 20406812 call gpio_config_output0 
+3b8c e8608000 ifetch 1 ,contru 
+3b8d 2feffe00 isolate1 0 ,pdata 
+3b8e 2040682c call gpio_out_flag 
+3b8f 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_read_gpio:
+3b90 68008b04 fetch 1 ,mem_module_uart_len 
+3b91 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b92 e8688000 ifetcht 1 ,contru 
+3b93 2040681d call gpio_get_bit 
+3b94 58000000 setarg 0x0 
+3b95 7d20fe00 nsetflag true ,0 ,pdata 
+3b96 da200001 arg 1 ,rega 
+3b97 20203b0a branch module_hci_event_set_cmd_send_response 
+
+module_hci_cmd_le_set_pairing_mode:
+3b98 1a220600 copy rega ,contru 
+3b99 e8608000 ifetch 1 ,contru 
+3b9a 1fe20400 copy pdata ,temp 
+3b9b c040bba3 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+3b9c c0413ba8 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+3b9d c041bbae beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+3b9e 6000c4c6 store 1 ,mem_le_pairing_mode 
+3b9f c0003bb3 beq le_pairing_mode_none ,module_le_set_no_pairing 
+3ba0 c000bbb6 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+3ba1 c0013bb8 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+3ba2 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_le_set_pairing_mode_secure_justwork:
+3ba3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba4 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3ba5 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3ba6 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3ba7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_secure_numeric:
+3ba8 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba9 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3baa 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bab 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bac 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+3bad 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_secure_passkey:
+3bae 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3baf 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bb0 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bb1 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bb2 20203bb9 branch module_le_set_displayonly 
+
+module_le_set_no_pairing:
+3bb3 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+module_le_set_noinputnooutput:
+3bb4 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+3bb5 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_lagacy_just_work:
+3bb6 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+3bb7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_lagacy_passkey:
+3bb8 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+module_le_set_displayonly:
+3bb9 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+3bba 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_adv_data:
+3bbb 68008b04 fetch 1 ,mem_module_uart_len 
+3bbc 1fe67c1f sub pdata ,31 ,null 
+3bbd 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bbe 6000c36f store 1 ,mem_le_adv_data_len 
+3bbf 1fe27200 copy pdata ,loopcnt 
+3bc0 1a220600 copy rega ,contru 
+3bc1 d8a04370 arg mem_le_adv_data ,contw 
+3bc2 204066ea call uart_copy_rx_bytes_fast 
+3bc3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_scan_data:
+3bc4 68008b04 fetch 1 ,mem_module_uart_len 
+3bc5 1fe67c1f sub pdata ,31 ,null 
+3bc6 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bc7 6000c38f store 1 ,mem_le_scan_data_len 
+3bc8 1fe27200 copy pdata ,loopcnt 
+3bc9 1a220600 copy rega ,contru 
+3bca d8a04390 arg mem_le_scan_data ,contw 
+3bcb 204066ea call uart_copy_rx_bytes_fast 
+3bcc 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_send_conn_update_req:
+3bcd 68014682 fetch 2 ,mem_ui_state_map 
+3bce c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3bcf 68008b04 fetch 1 ,mem_module_uart_len 
+3bd0 c0843c17 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+3bd1 1a220600 copy rega ,contru 
+3bd2 e8640000 ifetch 8 ,contru 
+3bd3 60044496 store 8 ,mem_le_interval_min 
+3bd4 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3bd5 20407d8f call ui_ipc_send_cmd 
+3bd6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_adv_parameter:
+3bd7 e8610000 ifetch 2 ,contru 
+3bd8 60014482 store 2 ,mem_le_adv_interval 
+3bd9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_start_pairing:
+3bda 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+3bdb 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bdc 6800c4c4 fetch 1 ,mem_le_pairing_state 
+3bdd c0803c17 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+3bde 6800c4c5 fetch 1 ,mem_le_enc_state 
+3bdf c0803c17 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+3be0 20407e25 call check_51cmd_le_smp_sec_req 
+3be1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_wake_gpio:
+3be2 68008b04 fetch 1 ,mem_module_uart_len 
+3be3 c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3be4 e8608000 ifetch 1 ,contru 
+3be5 6000c6a2 store 1 ,mem_module_mcu_wake_pin 
+3be6 e8620000 ifetch 4 ,contru 
+3be7 600246a3 store 4 ,mem_module_mcu_wake_delay_us 
+3be8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3be9 2040680e call gpio_config_output 
+3bea 20403cbc call module_set_mcu_wake_pin_low 
+3beb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_tx_power:
+3bec 68008b04 fetch 1 ,mem_module_uart_len 
+3bed c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bee e8608000 ifetch 1 ,contru 
+3bef 6000c1de store 1 ,mem_tx_power 
+3bf0 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey:
+3bf1 e8608000 ifetch 1 ,contru 
+3bf2 c000bbfa beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+3bf3 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+3bf4 c001bbf8 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+3bf5 c0033bf8 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf6 c003bbf8 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf7 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_le_confirm_gkey_ok:
+3bf8 7044c201 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+3bf9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey_fail:
+3bfa 20405b53 call le_send_pairing_confirm_value_failed 
+3bfb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_reject_justwork_flag:
+3bfc 68008b04 fetch 1 ,mem_module_uart_len 
+3bfd c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bfe 20403c1a call module_hci_event_receive_valid_cmd 
+3bff e8608000 ifetch 1 ,contru 
+3c00 203a60cb branch classic_bt_clr_reject_justwork_flag ,blank 
+3c01 202060c9 branch classic_bt_set_reject_justwork_flag 
+
+module_hci_cmd_reset_chip:
+3c02 20403c1a call module_hci_event_receive_valid_cmd 
+3c03 20407f9e call wait_uarttx 
+3c04 70801001 jam 0x01 ,core_reset 
+3c05 20202a8e branch loop 
+
+module_hci_cmd_le_set_fixed_passkey:
+3c06 68008b04 fetch 1 ,mem_module_uart_len 
+3c07 c0003c17 beq 0 ,module_hci_event_receive_invalid_cmd 
+3c08 e8608000 ifetch 1 ,contru 
+3c09 203a3c13 branch module_hci_cmd_le_set_random_passkey ,blank 
+3c0a 68008b04 fetch 1 ,mem_module_uart_len 
+3c0b c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3c0c e8620000 ifetch 4 ,contru 
+3c0d d84f4240 arg 1000000 ,temp 
+3c0e 98467c00 isub temp ,null 
+3c0f 20213c17 branch module_hci_event_receive_invalid_cmd ,positive 
+3c10 600244c7 store 4 ,mem_le_tk 
+3c11 2040580c call le_set_config_fixed_tk 
+3c12 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_random_passkey:
+3c13 2040580e call le_clr_config_fixed_tk 
+3c14 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_test_cmde_close_lpm:
+3c15 70409100 jam 0 ,mem_lpm_mode 
+3c16 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_event_receive_invalid_cmd:
+3c17 d8400001 arg 1 ,temp 
+3c18 da200000 arg 0 ,rega 
+3c19 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_receive_valid_cmd:
+3c1a d8400000 arg 0 ,temp 
+3c1b da200000 arg 0 ,rega 
+3c1c 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_spp_connect:
+3c1d 700b0300 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+3c1e 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_connect:
+3c1f 700b0302 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+3c20 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_spp_disconnect:
+3c21 700b0303 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+3c22 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_disconnect:
+3c23 700b0305 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+3c24 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_set_cmd:
+3c25 68008b03 fetch 1 ,mem_module_uart_opcode 
+3c26 1fe22600 copy pdata ,regc 
+3c27 700b0306 jam hci_event_cmd_res ,mem_module_uart_opcode 
+3c28 58000002 setarg 2 
+3c29 9a20fe00 iadd rega ,pdata 
+3c2a 20403ca7 call module_hci_prepare_tx 
+3c2b 1a627e00 copy regc ,pdata 
+3c2c e1408000 istore 1 ,contwu 
+3c2d e1488000 istoret 1 ,contwu 
+3c2e 1a227200 copy rega ,loopcnt 
+3c2f 1a420c00 copy regb ,contr 
+3c30 204066e4 call uart_copy_tx_bytes 
+3c31 202066c5 branch uartd_send 
+
+module_hci_event_receive_spp_data:
+3c32 2040397f call module_spp_clear_last_transmite_clock 
+3c33 700b0307 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+3c34 680084ff fetch 1 ,mem_current_length 
+3c35 207a0000 rtn blank 
+3c36 20403ca7 call module_hci_prepare_tx 
+3c37 680084ff fetch 1 ,mem_current_length 
+3c38 1fe27200 copy pdata ,loopcnt 
+3c39 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+3c3a 1fe20c00 copy pdata ,contr 
+3c3b 204066d1 call uart_copy_tx_bytes_fast 
+3c3c 202066c5 branch uartd_send 
+
+module_hci_event_receive_le_data:
+3c3d 700b0308 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+3c3e 6800c6b6 fetch 1 ,mem_module_le_rx_data_len 
+3c3f 1fe27200 icopy loopcnt 
+3c40 1fe0fe02 increase 2 ,pdata 
+3c41 20403ca7 call module_hci_prepare_tx 
+3c42 680146b9 fetch 2 ,mem_module_le_rx_data_handle 
+3c43 e1410000 istore 2 ,contwu 
+3c44 680146b7 fetch 2 ,mem_module_le_rx_data_address 
+3c45 1fe20c00 icopy contr 
+3c46 204066d1 call uart_copy_tx_bytes_fast 
+3c47 202066c5 branch uartd_send 
+
+module_hci_event_enter_standby_mode:
+3c48 700b0309 jam hci_event_standby_rep ,mem_module_uart_opcode 
+
+module_hci_event_enter_standby_mode_len0:
+3c49 58000000 setarg 0 
+3c4a 20403ca7 call module_hci_prepare_tx 
+3c4b 202066c5 branch uartd_send 
+
+module_hci_event_status_res:
+3c4c 700b030a jam hci_event_status_res ,mem_module_uart_opcode 
+3c4d 58000001 setarg 1 
+3c4e 20403ca7 call module_hci_prepare_tx 
+3c4f 20403c5d call module_hci_read_bt_status 
+3c50 68014682 fetch 2 ,mem_ui_state_map 
+3c51 d8e00002 arg ui_state_bt_hid_conn ,queue 
+3c52 afefffff qisolate1 pdata 
+3c53 79208403 setflag true ,3 ,temp 
+3c54 d8e00009 arg ui_state_ble_connected ,queue 
+3c55 afefffff qisolate1 pdata 
+3c56 79208405 setflag true ,5 ,temp 
+3c57 6800c682 fetch 1 ,mem_ui_state_map 
+3c58 d8e00004 arg ui_state_bt_spp_conn ,queue 
+3c59 afefffff qisolate1 pdata 
+3c5a 79208404 setflag true ,4 ,temp 
+3c5b e1488000 istoret 1 ,contwu 
+3c5c 202066c5 branch uartd_send 
+
+module_hci_read_bt_status:
+3c5d d8400000 arg 0 ,temp 
+3c5e 6800c093 fetch 1 ,mem_scan_mode 
+3c5f d8e00000 arg inq_scan_mode ,queue 
+3c60 afefffff qisolate1 pdata 
+3c61 79208400 setflag true ,0 ,temp 
+3c62 d8e00001 arg page_scan_mode ,queue 
+3c63 afefffff qisolate1 pdata 
+3c64 79208401 setflag true ,1 ,temp 
+3c65 6800c36e fetch 1 ,mem_le_adv_enable 
+3c66 d8e00000 arg 0 ,queue 
+3c67 afefffff qisolate1 pdata 
+3c68 79208402 setflag true ,2 ,temp 
+3c69 20600000 rtn 
+
+module_hci_event_store_device:
+3c6a 700b030d jam hci_event_nvram_rep ,mem_module_uart_opcode 
+3c6b 6800c217 fetch 1 ,mem_nv_data_number 
+3c6c 1feffe22 mul32 pdata ,34 ,pdata 
+3c6d 1fe27200 icopy loopcnt 
+3c6e 20403ca7 call module_hci_prepare_tx 
+3c6f 68014215 fetch 2 ,mem_nv_data_ptr 
+3c70 1fe20c00 icopy contr 
+3c71 204066d1 call uart_copy_tx_bytes_fast 
+3c72 202066c5 branch uartd_send 
+
+module_hci_event_gkey_generate:
+3c73 700b030e jam hci_event_gkey ,mem_module_uart_opcode 
+3c74 58000004 setarg 4 
+3c75 20403ca7 call module_hci_prepare_tx 
+3c76 680209ba fetch 4 ,mem_gkey 
+3c77 e1420000 istore 4 ,contwu 
+3c78 202066c5 branch uartd_send 
+
+module_hci_event_invalid_packet:
+3c79 700b030f jam hci_event_invalid_packet ,mem_module_uart_opcode 
+3c7a 68110112 hfetch 2 ,core_uart_rxitems 
+3c7b d84000ff arg 0xff ,temp 
+3c7c 20407fdd call not_greater_than 
+3c7d 1fe27200 copy pdata ,loopcnt 
+3c7e 20403ca7 call module_hci_prepare_tx 
+3c7f 204066cb call uartd_prepare_rx 
+3c80 20406703 call uart_copy_rx2tx 
+3c81 202066c5 branch uartd_send 
+
+module_hci_event_passkey_entry_mode:
+3c82 700b0310 jam hci_event_get_passkey ,mem_module_uart_opcode 
+3c83 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_tk:
+3c84 700b0311 jam hci_event_le_tk ,mem_module_uart_opcode 
+3c85 58000004 setarg 4 
+3c86 20403ca7 call module_hci_prepare_tx 
+3c87 680244c7 fetch 4 ,mem_le_tk 
+3c88 e1420000 istore 4 ,contwu 
+3c89 202066c5 branch uartd_send 
+
+module_hci_event_le_pairing_fail:
+3c8a da200180 arg flag_ble_pairing_fail ,rega 
+3c8b 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_le_pairing_success:
+3c8c da200080 arg flag_ble_pairing_success ,rega 
+3c8d 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_fail:
+3c8e da200101 arg flag_bt_pairing_fail ,rega 
+3c8f 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_success:
+3c90 da200001 arg flag_bt_pairing_success ,rega 
+
+module_hci_event_pairing_completed:
+3c91 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3c92 700b0314 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+3c93 58000002 setarg 2 
+3c94 20403ca7 call module_hci_prepare_tx 
+3c95 1a227e00 copy rega ,pdata 
+3c96 e1410000 istore 2 ,contwu 
+3c97 202066c5 branch uartd_send 
+
+module_hci_event_pause_enc:
+3c98 da600000 arg flag_event_pause_enc ,regc 
+3c99 20203c9b branch module_hci_event_enc 
+
+module_hci_event_start_enc:
+3c9a da600001 arg flag_event_start_enc ,regc 
+
+module_hci_event_enc:
+3c9b 700b0315 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+3c9c 58000001 setarg 1 
+3c9d 20403ca7 call module_hci_prepare_tx 
+3c9e 1a627e00 copy regc ,pdata 
+3c9f e1408000 istore 1 ,contwu 
+3ca0 202066c5 branch uartd_send 
+
+module_hci_event_le_gkey:
+3ca1 700b031d jam hci_event_le_gkey ,mem_module_uart_opcode 
+3ca2 58000004 setarg 4 
+3ca3 20403ca7 call module_hci_prepare_tx 
+3ca4 680209ba fetch 4 ,mem_gkey 
+3ca5 e1420000 istore 4 ,contwu 
+3ca6 202066c5 branch uartd_send 
+
+module_hci_prepare_tx:
+3ca7 700b0202 jam 0x02 ,mem_module_uart_cmd 
+3ca8 60008b04 store 1 ,mem_module_uart_len 
+3ca9 600c0aa2 storet 8 ,mem_temp 
+3caa 44f1401c bpatch patch1c_2 ,mem_patch1c 
+3cab 20403cb1 call module_set_mcu_wake_pin_high_delay 
+3cac 680c0aa2 fetcht 8 ,mem_temp 
+3cad 204066c2 call uartd_prepare_tx 
+3cae 68018b02 fetch 3 ,mem_module_uart_cmd 
+3caf e1418000 istore 3 ,contwu 
+3cb0 20600000 rtn 
+
+module_set_mcu_wake_pin_high_delay:
+3cb1 20403cba call module_check_mcu_wake_pin_high 
+3cb2 20608000 rtn true 
+
+module_set_mcu_wake_pin_h_delay:
+3cb3 20403cb8 call module_set_mcu_wake_pin_high 
+3cb4 680246a3 fetch 4 ,mem_module_mcu_wake_delay_us 
+3cb5 1feb7e00 rshift2 pdata ,pdata 
+3cb6 207a0000 rtn blank 
+3cb7 20203cbe branch delay 
+
+module_set_mcu_wake_pin_high:
+3cb8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cb9 20206829 branch gpio_out_active 
+
+module_check_mcu_wake_pin_high:
+3cba 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbb 2020681b branch gpio_check_active 
+
+module_set_mcu_wake_pin_low:
+3cbc 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbd 20206825 branch gpio_out_inactive 
+
+delay:
+3cbe 1fe0ffff increase -1 ,pdata 
+3cbf 20000026 nop 38 
+3cc0 243a3cbe nbranch delay ,blank 
+3cc1 20600000 rtn 
+
+module_le_receive_data:
+3cc2 20403ad4 call module_check_ble_encrypt_state 
+3cc3 20740000 rtn user 
+3cc4 1a227e00 copy rega ,pdata 
+3cc5 600146b7 store 2 ,mem_module_le_rx_data_address 
+3cc6 1a427e00 copy regb ,pdata 
+3cc7 6000c6b6 store 1 ,mem_module_le_rx_data_len 
+3cc8 68010478 fetch 2 ,mem_le_att_handle 
+3cc9 680946bb fetcht 2 ,mem_module_data_write_handle 
+3cca 98467c00 isub temp ,null 
+3ccb 2022bccf branch module_le_receive_data_ok ,zero 
+3ccc 680946bd fetcht 2 ,mem_module_data_write_handle2 
+3ccd 98467c00 isub temp ,null 
+3cce 24628000 nrtn zero 
+
+module_le_receive_data_ok:
+3ccf 600146b9 store 2 ,mem_module_le_rx_data_handle 
+3cd0 20203c3d branch module_hci_event_receive_le_data 
+
+module_exit_sniff:
+3cd1 6800c6bf fetch 1 ,mem_module_flag 
+3cd2 c3828000 rtnbit1 moudle_task_unsniff 
+3cd3 20403cf0 call module_set_unsniff_task_flag 
+3cd4 2020340c branch app_bt_sniff_exit 
+
+module_set_lpm_mult_2:
+3cd5 70417202 jam 2 ,mem_lpm_mult 
+3cd6 20600000 rtn 
+
+module_bb_event_timer:
+3cd7 20203cd8 branch module_read_vdd_timer 
+
+module_read_vdd_timer:
+3cd8 6800c6b2 fetch 1 ,mem_module_read_vdd_flag 
+3cd9 207a0000 rtn blank 
+3cda 6800c6b3 fetch 1 ,mem_module_read_vdd_count 
+3cdb 207a0000 rtn blank 
+3cdc 1fe0ffff increase -1 ,pdata 
+3cdd 6000c6b3 store 1 ,mem_module_read_vdd_count 
+3cde 247a0000 nrtn blank 
+3cdf 7046b30a jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+3ce0 204068eb call adc_set_mode 
+3ce1 20406908 call vdd_calculate_by_mode 
+3ce2 1fe6fc64 div pdata ,0x64 
+3ce3 20407f86 call wait_div_end 
+3ce4 1807fe00 quotient pdata 
+3ce5 18070400 remainder temp 
+3ce6 6000c6b4 store 1 ,mem_module_vdd_quotient 
+3ce7 6008c6b5 storet 1 ,mem_module_vdd_remainder 
+3ce8 20600000 rtn 
+
+module_control_air_flow:
+3ce9 20407fb4 call check_uart_tx_buff 
+3cea 202133d9 branch app_l2cap_flow_control_enable ,positive 
+3ceb 202033db branch app_l2cap_flow_control_disable 
+
+module_set_sniff_task_flag:
+3cec d8e00006 arg moudle_task_sniff ,queue 
+3ced 20203cfc branch module_set_state 
+
+module_clear_sniff_task_flag:
+3cee d8e00006 arg moudle_task_sniff ,queue 
+3cef 20203cf8 branch module_clr_state 
+
+module_set_unsniff_task_flag:
+3cf0 d8e00005 arg moudle_task_unsniff ,queue 
+3cf1 20203cfc branch module_set_state 
+
+module_clear_unsniff_task_flag:
+3cf2 d8e00005 arg moudle_task_unsniff ,queue 
+3cf3 20203cf8 branch module_clr_state 
+
+module_set_le_tx_data_flag:
+3cf4 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf5 20203cfc branch module_set_state 
+
+module_clear_le_tx_data_flag:
+3cf6 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf7 20203cf8 branch module_clr_state 
+
+module_clr_state:
+3cf8 6800c6bf fetch 1 ,mem_module_flag 
+3cf9 f93ffe00 qset0 pdata 
+3cfa 6000c6bf store 1 ,mem_module_flag 
+3cfb 20600000 rtn 
+
+module_set_state:
+3cfc 6800c6bf fetch 1 ,mem_module_flag 
+3cfd f9207e00 qset1 pdata 
+3cfe 6000c6bf store 1 ,mem_module_flag 
+3cff 20600000 rtn 
+
+mouse_init:
+3d00 20403d39 call mouse_setting_config 
+3d01 2040640f call spi_ncs_enable 
+3d02 204040c6 call mouse_init_sunt 
+3d03 20403d66 call mouse_dpi_config 
+3d04 20406411 call spi_ncs_disable 
+3d05 20758000 rtn wake 
+3d06 20403d16 call mouse_cheak_enable_usb 
+3d07 20403d19 call mouse_cb_fuction 
+3d08 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d09 c3880000 rtnbit1 mouse_enable_usb 
+3d0a 20403d4e call mouse_wakeup_from_power 
+3d0b c6130000 rtnmark1 mark_24g 
+3d0c 68014682 fetch 2 ,mem_ui_state_map 
+3d0d c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+3d0e 202042a2 branch mouse_check_reconn_target 
+
+mouse_delay_4s:
+3d0f 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d10 c40d8000 rtnbit0 mouse_enable_init_delay 
+3d11 df200014 arg 20 ,loopcnt 
+
+mouse_delay_20ms:
+3d12 58030d40 setarg 200000 
+3d13 20402a8f call sleep 
+3d14 c2007ec1 loop delay_10ms 
+3d15 20600000 rtn 
+
+mouse_cheak_enable_usb:
+3d16 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d17 c4080000 rtnbit0 mouse_enable_usb 
+3d18 202048ea branch usb_init 
+
+mouse_cb_fuction:
+3d19 5800416d setarg mouse_le 
+3d1a 600141ef store 2 ,mem_cb_le_process 
+3d1b 58003f77 setarg mouse_send_process 
+3d1c 600141f1 store 2 ,mem_cb_bt_process 
+3d1d 58003ebb setarg mouse_process_lpm_before 
+3d1e 600141ed store 2 ,mem_cb_before_lpm 
+3d1f 5800417c setarg mouse_priority_bb_event 
+3d20 600141f5 store 2 ,mem_cb_bb_event_process 
+3d21 58003de3 setarg mouse_idle 
+3d22 600141f3 store 2 ,mem_cb_idle_process 
+3d23 58003eb3 setarg mouse_before_hibernate 
+3d24 600141eb store 2 ,mem_cb_before_hibernate 
+3d25 58003d5b setarg le_mouse_bb_event_connect_complete 
+3d26 600141f9 store 2 ,mem_cb_att_write 
+3d27 20402c7a call g24_head_ptr2regc 
+3d28 58004401 setarg mouse_g24_package_data 
+3d29 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+3d2a e0a10000 istore 2 ,contw 
+3d2b 58004406 setarg mouse_g24_enter_lpm 
+3d2c 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+3d2d e0a10000 istore 2 ,contw 
+3d2e 58003ebf setarg mouse_lpm_before_common 
+3d2f 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+3d30 e0a10000 istore 2 ,contw 
+3d31 580041f9 setarg mouse_bb_event_timer 
+3d32 600141fd store 2 ,mem_cb_event_timer 
+3d33 58003d36 setarg mouse_spi_write_flash_cb 
+3d34 60014201 store 2 ,mem_cb_spi_flash_write_complate 
+3d35 20600000 rtn 
+
+mouse_spi_write_flash_cb:
+
+mouse_spi_init:
+3d36 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d37 c30964d7 bbit0 mouse_enable_spi2 ,spid_init 
+3d38 202064da branch spid_init2 
+
+mouse_setting_config:
+3d39 20758000 rtn wake 
+3d3a 20402c9d call g24_set_device_addr 
+3d3b 20403e6e call mouse_gpio_init 
+3d3c 20403e1e call mouse_param_init 
+3d3d 20403e54 call mouse_adc_init 
+3d3e 20405810 call le_set_config_fixed_ltk 
+3d3f 20405839 call le_set_justwork 
+3d40 2040582c call le_set_fixed_ltk 
+3d41 20405818 call le_set_config_read_authentication 
+3d42 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d43 c28a3d46 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+3d44 c289c414 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+3d45 20600000 rtn 
+
+mouse_init_iic:
+3d46 2040659c call iic_init_390k 
+3d47 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d48 2feffe19 isolate1 mouse_enable_2k_eeprom ,pdata 
+3d49 2440e5c2 ncall clear_eeprom_size_2k ,true 
+3d4a 2040443f call mouse_load_eeprom_dpi 
+3d4b 20403dc9 call mouse_init_environment 
+3d4c 204041aa call mouse_set_24g_addr_eeprom 
+3d4d 202065df branch iicd_read_eep_data 
+
+mouse_wakeup_from_power:
+3d4e 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d4f c30f3d53 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+3d50 68008abd fetch 1 ,mem_wakup_from_power_flag 
+3d51 2fec0003 isolate0 gpio_latch ,pdata 
+3d52 24608000 nrtn true 
+
+mouse_wakeup_no_from_power:
+3d53 6800c71f fetch 1 ,mem_reconn_times_init 
+3d54 6000c71e store 1 ,mem_reconn_times 
+3d55 6800c6f5 fetch 1 ,mem_config_function_enable 
+3d56 c3830000 rtnbit1 enable_select_device_by_switch 
+
+mouse_start_24g_mode:
+3d57 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d58 c4088000 rtnbit0 mouse_enable_24g 
+3d59 c28eaee4 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+3d5a 20202f2c branch g24_check_51cmd_start_24g 
+
+le_mouse_bb_event_connect_complete:
+3d5b 68008478 fetch 1 ,mem_le_att_handle 
+3d5c 1fe67e1a sub pdata ,26 ,pdata 
+3d5d 24628000 nrtn zero 
+3d5e 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3d5f 20407d8f call ui_ipc_send_cmd 
+
+mouse_le_write_enable:
+3d60 d8e00000 arg write_req_enable_flag ,queue 
+3d61 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_dpi_up:
+3d62 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d63 c1008000 rtneq dpi_button_state_up 
+3d64 7046b601 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+3d65 20600000 rtn 
+
+mouse_dpi_config:
+3d66 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+3d67 1fe17e0f and pdata ,0x0f ,pdata 
+3d68 6000c77a store 1 ,mem_mouse_dpi 
+3d69 20203d80 branch mouse_seting_dpi + 2 
+
+mouse_dpi_cheak:
+3d6a 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3d6b 2040681d call gpio_get_bit 
+3d6c 2420bd62 nbranch mouse_dpi_up ,true 
+
+mouse_dpi_down:
+3d6d 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d6e c1000000 rtneq dpi_button_state_down 
+3d6f 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+3d70 6800c77a fetch 1 ,mem_mouse_dpi 
+3d71 1fe0fe01 increase 1 ,pdata 
+3d72 1fe17e03 and pdata ,0x03 ,pdata 
+3d73 6000c77a store 1 ,mem_mouse_dpi 
+3d74 20403d7e call mouse_seting_dpi 
+3d75 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d76 c28a443b bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+3d77 c289bd79 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+3d78 20600000 rtn 
+
+mouse_before_store_flash_cpi:
+3d79 d840001e arg mouse_spi2_clk_gpio ,temp 
+3d7a 2040680e call gpio_config_output 
+3d7b d840001f arg mouse_spi2_sdio_gpio ,temp 
+3d7c 2040680e call gpio_config_output 
+3d7d 20204435 branch mouse_store_flash_device_info 
+
+mouse_seting_dpi:
+3d7e 44f1c01c bpatch patch1c_3 ,mem_patch1c 
+3d7f 2040424a call mosue_dpi_led_blink_init 
+3d80 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d81 c002bdaa beq p3610 ,mouse_seting_3610_dpi 
+3d82 c0023d96 beq p3212 ,mouse_seting_3212_dpi 
+3d83 6800c77a fetch 1 ,mem_mouse_dpi 
+3d84 c0003d8a beq mouse_dpi_level1 ,mouse_set_cpi1 
+3d85 c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
+3d86 c0013d8c beq mouse_dpi_level3 ,mouse_set_cpi3 
+3d87 c001bd8e beq mouse_dpi_level4 ,mouse_set_cpi4 
+
+mouse_set_cpi2:
+3d88 6800c780 fetch 1 ,mem_320x_dpi_2 
+3d89 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi1:
+3d8a 6800c77f fetch 1 ,mem_320x_dpi_1 
+3d8b 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi3:
+3d8c 6800c781 fetch 1 ,mem_320x_dpi_3 
+3d8d 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi4:
+3d8e 6800c782 fetch 1 ,mem_320x_dpi_4 
+3d8f 20203dbe branch mouse_p3205_dpi 
+
+moue_seting_cpi_count:
+3d90 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d91 c1030000 rtneq p3065_xy 
+3d92 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3d93 1fe0fe01 increase 1 ,pdata 
+3d94 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3d95 20600000 rtn 
+
+mouse_seting_3212_dpi:
+3d96 6800c77a fetch 1 ,mem_mouse_dpi 
+3d97 c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+3d98 c000bd9b beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+3d99 c0013d9f beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+3d9a c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+
+mouse_set_p3212_cpi2:
+3d9b 6800c784 fetch 1 ,mem_3212_dpi_2 
+3d9c 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi1:
+3d9d 6800c783 fetch 1 ,mem_3212_dpi_1 
+3d9e 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi3:
+3d9f 6800c785 fetch 1 ,mem_3212_dpi_3 
+3da0 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi4:
+3da1 6800c786 fetch 1 ,mem_3212_dpi_4 
+
+mouse_p3212_dpi:
+3da2 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3da3 1fed7e00 lshift8 pdata ,pdata 
+3da4 1fe22200 copy pdata ,rega 
+3da5 1fe0fe0d add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+3da6 20406413 call twspi_write 
+3da7 1a227e00 copy rega ,pdata 
+3da8 1fe0fe0e add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+3da9 20206413 branch twspi_write 
+
+mouse_seting_3610_dpi:
+3daa 6800c77a fetch 1 ,mem_mouse_dpi 
+3dab c0003db1 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+3dac c000bdaf beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+3dad c0013db3 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+3dae c001bdb5 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+
+mouse_set_p3610_cpi2:
+3daf 6800c788 fetch 1 ,mem_3610_dpi_2 
+3db0 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi1:
+3db1 6800c787 fetch 1 ,mem_3610_dpi_1 
+3db2 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi3:
+3db3 6800c789 fetch 1 ,mem_3610_dpi_3 
+3db4 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi4:
+3db5 6800c78a fetch 1 ,mem_3610_dpi_4 
+
+mouse_p3610_dpi:
+3db6 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3db7 204040c0 call mouse_spi_sdio_gpio_pollup 
+3db8 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+
+mouse_reset_p3610_dpi:
+3db9 1fe0fe80 add pdata ,0x80 ,pdata 
+3dba 1fed7e00 lshift8 pdata ,pdata 
+3dbb 1fe0fe05 add pdata ,mouse_p3610_dpi_address ,pdata 
+3dbc 1fe22200 copy pdata ,rega 
+3dbd 2020415a branch mouse_set_sensor_reg 
+
+mouse_p3205_dpi:
+3dbe 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3dbf 20403d90 call moue_seting_cpi_count 
+3dc0 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc1 58000006 setarg mouse_dpi_address 
+3dc2 20406414 call twspi_read 
+3dc3 1fe104f8 and pdata ,0xf8 ,temp 
+3dc4 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc5 9840fe00 iadd temp ,pdata 
+3dc6 1fed7e00 lshift8 pdata ,pdata 
+3dc7 1fe0fe06 add pdata ,mouse_dpi_address ,pdata 
+3dc8 20206413 branch twspi_write 
+
+mouse_init_environment:
+3dc9 204033c4 call app_initflag_check 
+3dca 2022c316 branch mouse_eeprom_load_recon_info ,zero 
+3dcb 2040441c call mouse_ble_init_address 
+3dcc 204042e4 call mouse_store_eeprom_device_info 
+3dcd 202033bd branch app_initflag_store 
+
+mouse_24g_pairing_button:
+3dce 68014707 fetch 2 ,mem_24g_pairing_timer_count 
+3dcf 207a0000 rtn blank 
+3dd0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dd1 c4088000 rtnbit0 mouse_enable_24g 
+3dd2 c3818000 rtnbit1 mosue_24g_pairing_flag 
+3dd3 c6130000 rtnmark1 mark_24g 
+3dd4 20404083 call mouse_check_key_gpio 
+3dd5 c1838000 rtnne mouse_lmr_button 
+3dd6 20404482 call mouse_devce_led_off 
+3dd7 d8e00003 arg mosue_24g_pairing_flag ,queue 
+3dd8 204043ce call mouse_enable_function_flag 
+3dd9 58000000 setarg 0 
+3dda 600146ae store 2 ,mem_mouse_direct_timer 
+3ddb 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
+3ddc 20403263 call g24_set0_mem_check_dongle_times 
+3ddd 68014682 fetch 2 ,mem_ui_state_map 
+3dde c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+3ddf c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+3de0 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+3de1 204042ca call mouse_stop_discovery 
+3de2 20202ead branch g24_start_pairing_sm1 
+
+mouse_idle:
+3de3 20403dce call mouse_24g_pairing_button 
+3de4 20407e34 call ui_check_paring_button 
+3de5 20403d6a call mouse_dpi_cheak 
+3de6 20403de9 call mouse_usb_isr 
+3de7 20403ee0 call mouse_wheel_check 
+3de8 20203df7 branch mouse_usb_mode 
+
+mouse_usb_isr:
+3de9 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dea c4080000 rtnbit0 mouse_enable_usb 
+3deb 204048d3 call usb_isr 
+3dec 202048fd branch usb_offline_state 
+
+mouse_cheak_usb:
+3ded 68108a04 hfetch 1 ,core_usb_addr 
+3dee c303bdf1 bbit0 7 ,mouse_usb_no_exsit 
+3def c283bdf4 bbit1 7 ,mouse_usb_exsit 
+3df0 20600000 rtn 
+
+mouse_usb_no_exsit:
+3df1 6800c6ff fetch 1 ,mem_usb_addr 
+3df2 c4038000 rtnbit0 7 
+3df3 2020659a branch soft_reset_chip 
+
+mouse_usb_exsit:
+3df4 6800c6ff fetch 1 ,mem_usb_addr 
+3df5 c3838000 rtnbit1 7 
+3df6 20204381 branch mouse_stop_bluetooth_mode 
+
+mouse_usb_mode:
+3df7 20403ded call mouse_cheak_usb 
+3df8 68108a04 hfetch 1 ,core_usb_addr 
+3df9 6000c6ff store 1 ,mem_usb_addr 
+3dfa c4038000 rtnbit0 7 
+3dfb 20403e07 call mouse_clkn_check 
+3dfc 680246f9 fetch 4 ,mem_btclk_sensor 
+3dfd 6808c6fd fetcht 1 ,mem_wire_usb_interval 
+3dfe 98408400 iadd temp ,temp 
+3dff 1c427e00 copy clkn_bt ,pdata 
+3e00 98467c00 isub temp ,null 
+3e01 24610000 nrtn positive 
+3e02 600246f9 store 4 ,mem_btclk_sensor 
+3e03 20403f97 call mouse_motion 
+3e04 24740000 nrtn user 
+3e05 700d3804 jam 4 ,mem_usb_tx_enable 
+3e06 20203e0f branch mouse_wired_to_usb 
+
+mouse_clkn_check:
+3e07 680a46f9 fetcht 4 ,mem_btclk_sensor 
+3e08 1c427e00 copy clkn_bt ,pdata 
+3e09 98467c00 isub temp ,null 
+3e0a 24413e0c ncall mouse_clkn_timeout ,positive 
+3e0b 20600000 rtn 
+
+mouse_clkn_timeout:
+3e0c 58000000 setarg 0 
+3e0d 600246f9 store 4 ,mem_btclk_sensor 
+3e0e 20600000 rtn 
+
+mouse_wired_to_usb:
+3e0f 68008d38 fetch 1 ,mem_usb_tx_enable 
+3e10 c4010000 rtnbit0 2 
+3e11 20203e12 branch mouse_data_push 
+
+mouse_data_push:
+3e12 68108a04 hfetch 1 ,core_usb_addr 
+3e13 c4038000 rtnbit0 7 
+3e14 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+3e15 58000001 setarg ms_report_id 
+3e16 60008d54 store 1 ,mem_usb_mouse_data 
+3e17 6803c69a fetch 7 ,mem_mouse_key 
+3e18 e0a38000 istore 7 ,contw 
+3e19 20600000 rtn 
+
+mouse_enable_clock_qdecoder:
+3e1a 68110050 hfetch 2 ,core_clkoff 
+3e1b 793ffe0b set0 clock_off_qdecoder ,pdata 
+3e1c 60110050 hstore 2 ,core_clkoff 
+3e1d 20600000 rtn 
+
+mouse_param_init:
+3e1e 58008c00 setarg 0x8c00 
+3e1f 60014575 store 2 ,mem_ui_uuid_table 
+3e20 58008e7a setarg 0x8e7a 
+3e21 600144bc store 2 ,mem_ui_le_uuid_table 
+3e22 58002402 setarg 0x2402 
+3e23 600140bd store 2 ,mem_fcomp_mul 
+3e24 58002580 setarg 0x2580 
+3e25 6001c0aa store 3 ,mem_class 
+3e26 70417303 jam 3 ,mem_lpm_mult_timeout 
+3e27 70415608 jam 8 ,mem_lpm_overhead 
+3e28 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+3e29 58000200 setarg 0x0200 
+3e2a 60014154 store 2 ,mem_lpm_interval 
+3e2b 7044a617 jam 0x17 ,mem_le_local_mtu 
+3e2c 7044a817 jam 0x17 ,mem_le_remote_mtu 
+3e2d 58000a77 setarg 0x0a77 
+3e2e 60014212 store 2 ,mem_spi_init_clk 
+3e2f 38000306 setsect 0 ,0x306 
+3e30 38044440 setsect 1 ,0x4440 
+3e31 38090000 setsect 2 ,0x10000 
+3e32 380c4408 setsect 3 ,0x4408 
+3e33 6004c577 store 9 ,mem_all_uuid_16bits 
+3e34 38001224 setsect 0 ,0x1224 
+3e35 38044000 setsect 1 ,0x4000 
+3e36 38080000 setsect 2 ,0x0 
+3e37 e0a28000 istore 5 ,contw 
+3e38 3803ffff setsect 0 ,0x3ffff 
+3e39 3806fe23 setsect 1 ,0x2fe23 
+3e3a 380999d9 setsect 2 ,0x199d9 
+3e3b 380c020d setsect 3 ,0x20d 
+3e3c 60044098 store 8 ,mem_features 
+3e3d 5800012c setarg 0x012c 
+3e3e 60014707 store 2 ,mem_24g_pairing_timer_count 
+3e3f 204057a3 call le_modified_name 
+3e40 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3e41 c40f8000 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+3e42 20403e44 call mouse_sensor_set_angle 
+3e43 20203e4c branch mouse_select_adc 
+
+mouse_sensor_set_angle:
+3e44 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e45 204067fb call gpio_config_input 
+3e46 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e47 2040681d call gpio_get_bit 
+3e48 7046f603 jam mouse_3clk_angle ,mem_config_sensor_angle 
+3e49 20608000 rtn true 
+3e4a 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+3e4b 20600000 rtn 
+
+mouse_select_adc:
+3e4c 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4d 204067fb call gpio_config_input 
+3e4e 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4f 2040681d call gpio_get_bit 
+3e50 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
+3e51 20608000 rtn true 
+3e52 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
+3e53 20600000 rtn 
+
+mouse_adc_init:
+3e54 6800c22d fetch 1 ,mem_adc_config_flag 
+3e55 c0003e59 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+3e56 c000be62 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+3e57 c0013e6b beq adc_config_gpio ,mouse_adc_init_data_io 
+3e58 20203e59 branch mouse_adc_init_data_vinlpm 
+
+mouse_adc_init_data_vinlpm:
+3e59 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+3e5a 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+3e5b 98467e00 isub temp ,pdata 
+3e5c 1feffe14 mul32 pdata ,20 ,pdata 
+3e5d 1fe6fc64 div pdata ,100 
+3e5e 20407f86 call wait_div_end 
+3e5f 1807fe00 quotient pdata 
+3e60 600146d0 store 2 ,mem_adc_reference_voltage 
+3e61 20600000 rtn 
+
+mouse_adc_init_data_hvin:
+3e62 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+3e63 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+3e64 98467e00 isub temp ,pdata 
+3e65 1feffee6 mul32 pdata ,230 ,pdata 
+3e66 1fe6fd90 div pdata ,400 
+3e67 20407f86 call wait_div_end 
+3e68 1807fe00 quotient pdata 
+3e69 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6a 20600000 rtn 
+
+mouse_adc_init_data_io:
+3e6b 68014223 fetch 2 ,mem_1v_adc_io_data 
+3e6c 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6d 20600000 rtn 
+
+mouse_gpio_init:
+3e6e 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+3e6f 2040680e call gpio_config_output 
+3e70 204048fb call usb_offline_check_init 
+3e71 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3e72 204067fb call gpio_config_input 
+3e73 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3e74 204067fb call gpio_config_input 
+3e75 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3e76 204067fb call gpio_config_input 
+3e77 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3e78 204067fb call gpio_config_input 
+3e79 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+3e7a 2040680e call gpio_config_output 
+3e7b 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e7c 204067fb call gpio_config_input 
+3e7d 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e7e 204067fb call gpio_config_input 
+3e7f 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e80 204067fb call gpio_config_input 
+3e81 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e82 204067fb call gpio_config_input 
+3e83 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3e84 204067fb call gpio_config_input 
+3e85 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3e86 204067fb call gpio_config_input 
+3e87 6808c6ef fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+3e88 2040680e call gpio_config_output 
+3e89 6808c6f0 fetcht 1 ,mem_config_device1_led_gpio 
+3e8a 2040680e call gpio_config_output 
+3e8b 6808c6f1 fetcht 1 ,mem_config_device2_led_gpio 
+3e8c 2040680e call gpio_config_output 
+3e8d 6808c6f2 fetcht 1 ,mem_config_device3_led_gpio 
+3e8e 2040680e call gpio_config_output 
+3e8f 6808c6f4 fetcht 1 ,mem_dpi_led_gpio 
+3e90 2040680e call gpio_config_output 
+3e91 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3e92 204067fb call gpio_config_input 
+3e93 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+3e94 204067fb call gpio_config_input 
+3e95 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3e96 202067fb branch gpio_config_input 
+
+mouse_wheel_gpio_set_wake:
+3e97 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e98 204067dd call gpio_set_wake_by_current_state 
+3e99 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e9a 204067dd call gpio_set_wake_by_current_state 
+3e9b 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e9c 204067dd call gpio_set_wake_by_current_state 
+3e9d 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e9e 202067dd branch gpio_set_wake_by_current_state 
+
+mouse_before_hibernate_wheel_gpio_set:
+3e9f 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ea0 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea1 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ea2 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea3 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ea4 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea5 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ea6 20203ea7 branch mouse_gpio_set_pupd_by_input 
+
+mouse_gpio_set_pupd_by_input:
+3ea7 18467cff sub temp ,ui_button_gpio_disable ,null 
+3ea8 20628000 rtn zero 
+3ea9 18410e7f and temp ,0x7f ,queue 
+3eaa 6812011c hfetch 4 ,core_gpio_in 
+3eab afefffff qisolate1 pdata 
+3eac 68120078 hfetch 4 ,core_gpio_pu0 
+3ead f920fe00 qsetflag true ,pdata 
+3eae 60120078 hstore 4 ,core_gpio_pu0 
+3eaf 6812007c hfetch 4 ,core_gpio_pd0 
+3eb0 fd20fe00 nqsetflag true ,pdata 
+3eb1 6012007c hstore 4 ,core_gpio_pd0 
+3eb2 20600000 rtn 
+
+mouse_before_hibernate:
+3eb3 78347c00 enable user 
+3eb4 68120138 hfetch 4 ,0x8138 
+3eb5 79347e1a setflag user ,26 ,pdata 
+3eb6 6012004c hstore 4 ,core_lpm_reg 
+3eb7 20402c21 call lpm_write_ctrl 
+3eb8 20404482 call mouse_devce_led_off 
+3eb9 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+3eba 20203ebf branch mouse_lpm_before_common 
+
+mouse_process_lpm_before:
+3ebb 20403ebf call mouse_lpm_before_common 
+3ebc 680080a0 fetch 1 ,mem_lpm_current_mult 
+3ebd 247a0000 nrtn blank 
+3ebe 202067ed branch gpio_clr_wake 
+
+mouse_lpm_before_common:
+3ebf 20403ee0 call mouse_wheel_check 
+3ec0 d8400019 arg mouse_spi1_clk_gpio ,temp 
+3ec1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3ec2 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+3ec3 2040bede call mouse_spi_clk_gpio ,true 
+3ec4 2040680e call gpio_config_output 
+3ec5 204063ee call twspi_disable 
+3ec6 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3ec7 204067dd call gpio_set_wake_by_current_state 
+3ec8 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3ec9 204067dd call gpio_set_wake_by_current_state 
+3eca 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3ecb 204067dd call gpio_set_wake_by_current_state 
+3ecc 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3ecd 204067dd call gpio_set_wake_by_current_state 
+3ece 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3ecf 204067dd call gpio_set_wake_by_current_state 
+3ed0 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3ed1 204067dd call gpio_set_wake_by_current_state 
+3ed2 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3ed3 204067dd call gpio_set_wake_by_current_state 
+3ed4 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ed5 204067dd call gpio_set_wake_by_current_state 
+3ed6 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ed7 204067dd call gpio_set_wake_by_current_state 
+3ed8 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ed9 204067dd call gpio_set_wake_by_current_state 
+3eda 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3edb 204067dd call gpio_set_wake_by_current_state 
+3edc 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3edd 202067e1 branch gpio_set_wake 
+
+mouse_spi_clk_gpio:
+3ede d840001e arg mouse_spi2_clk_gpio ,temp 
+3edf 20600000 rtn 
+
+mouse_wheel_check:
+3ee0 44f2401c bpatch patch1c_4 ,mem_patch1c 
+3ee1 20403eee call mouse_t_wheel_scan 
+3ee2 20403f36 call mouse_wheel_scan 
+3ee3 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3ee4 6808c6b7 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+3ee5 6000c6b7 store 1 ,mem_wheel_tb_old_pinlevel 
+3ee6 98467c00 isub temp ,null 
+3ee7 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3ee8 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3ee9 6808c6bd fetcht 1 ,mem_mwheel_b_old_pinlevel 
+3eea 6000c6bd store 1 ,mem_mwheel_b_old_pinlevel 
+3eeb 98467c00 isub temp ,null 
+3eec 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3eed 20600000 rtn 
+
+mouse_t_wheel_scan:
+3eee 6800c6ea fetch 1 ,mem_whee_ta_data_gpio 
+3eef c17f8000 rtneq gpio_disable 
+3ef0 da200000 arg 0 ,rega 
+3ef1 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ef2 2040681d call gpio_get_bit 
+3ef3 7920a200 setflag true ,0 ,rega 
+3ef4 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ef5 2040681d call gpio_get_bit 
+3ef6 7920a201 setflag true ,1 ,rega 
+3ef7 1a227e00 copy rega ,pdata 
+3ef8 6000c6b8 store 1 ,mem_wheel_tb_new_pinlevel 
+3ef9 c000befe beq 0x01 ,mouse_t_wheel_scan_judge1 
+3efa c0013f02 beq 0x02 ,mouse_t_wheel_scan_judge2 
+3efb 6800c6b9 fetch 1 ,mem_wheel_tog 
+3efc c283bf0e bbit1 7 ,mouse_t_wheel_scan_judge3 
+3efd 20600000 rtn 
+
+mouse_t_wheel_scan_judge1:
+3efe 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3eff c0003f06 beq 0 ,mouse_t_wheel_scan_judge11 
+3f00 c001bf08 beq 3 ,mouse_t_wheel_scan_judge12 
+3f01 20600000 rtn 
+
+mouse_t_wheel_scan_judge2:
+3f02 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3f03 c0003f0a beq 0 ,mouse_t_wheel_scan_judge21 
+3f04 c001bf0c beq 3 ,mouse_t_wheel_scan_judge22 
+3f05 20600000 rtn 
+
+mouse_t_wheel_scan_judge11:
+3f06 7046b982 jam 0x82 ,mem_wheel_tog 
+3f07 20600000 rtn 
+
+mouse_t_wheel_scan_judge12:
+3f08 7046b981 jam 0x81 ,mem_wheel_tog 
+3f09 20600000 rtn 
+
+mouse_t_wheel_scan_judge21:
+3f0a 7046b980 jam 0x80 ,mem_wheel_tog 
+3f0b 20600000 rtn 
+
+mouse_t_wheel_scan_judge22:
+3f0c 7046b983 jam 0x83 ,mem_wheel_tog 
+3f0d 20600000 rtn 
+
+mouse_t_wheel_scan_judge3:
+3f0e 6800c6b9 fetch 1 ,mem_wheel_tog 
+3f0f 793ffe07 set0 7 ,pdata 
+3f10 6000c6b9 store 1 ,mem_wheel_tog 
+3f11 c0003f16 beq 0 ,mouse_t_wheel_scan_judge30 
+3f12 c000bf19 beq 1 ,mouse_t_wheel_scan_judge31 
+3f13 c0013f1c beq 2 ,mouse_t_wheel_scan_judge32 
+3f14 c001bf1f beq 3 ,mouse_t_wheel_scan_judge33 
+3f15 20600000 rtn 
+
+mouse_t_wheel_scan_judge30:
+3f16 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f17 c001bf22 beq 3 ,mouse_wheel_t_forward 
+3f18 20600000 rtn 
+
+mouse_t_wheel_scan_judge31:
+3f19 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1a c0003f22 beq 0 ,mouse_wheel_t_forward 
+3f1b 20600000 rtn 
+
+mouse_t_wheel_scan_judge32:
+3f1c 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1d c001bf2c beq 3 ,mouse_wheel_t_back 
+3f1e 20600000 rtn 
+
+mouse_t_wheel_scan_judge33:
+3f1f 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f20 c0003f2c beq 0 ,mouse_wheel_t_back 
+3f21 20600000 rtn 
+
+mouse_wheel_t_forward:
+3f22 6800c6bc fetch 1 ,mem_mouse_tz_data_count1 
+3f23 1fe0fe01 increase 1 ,pdata 
+3f24 6000c6bc store 1 ,mem_mouse_tz_data_count1 
+3f25 1fe67c01 sub pdata ,1 ,null 
+3f26 20610000 rtn positive 
+3f27 7046bc00 jam 0 ,mem_mouse_tz_data_count1 
+3f28 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f29 1fe0fe01 increase 1 ,pdata 
+3f2a 6000c6ba store 1 ,mem_mouse_tz_data 
+3f2b 20600000 rtn 
+
+mouse_wheel_t_back:
+3f2c 6800c6bb fetch 1 ,mem_mouse_tz_data_count 
+3f2d 1fe0fe01 increase 1 ,pdata 
+3f2e 6000c6bb store 1 ,mem_mouse_tz_data_count 
+3f2f 1fe67c01 sub pdata ,1 ,null 
+3f30 20610000 rtn positive 
+3f31 7046bb00 jam 0 ,mem_mouse_tz_data_count 
+3f32 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f33 1fe0ffff increase -1 ,pdata 
+3f34 6000c6ba store 1 ,mem_mouse_tz_data 
+3f35 20600000 rtn 
+
+mouse_wheel_scan:
+3f36 6800c6e8 fetch 1 ,mem_whee_a_data_gpio 
+3f37 c17f8000 rtneq gpio_disable 
+3f38 da200000 arg 0 ,rega 
+3f39 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3f3a 2040681d call gpio_get_bit 
+3f3b 7920a200 setflag true ,0 ,rega 
+3f3c 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3f3d 2040681d call gpio_get_bit 
+3f3e 7920a201 setflag true ,1 ,rega 
+3f3f 1a227e00 copy rega ,pdata 
+3f40 6000c6be store 1 ,mem_mwheel_b_new_pinlevel 
+3f41 c000bf46 beq 0x01 ,mouse_wheel_scan_judge1 
+3f42 c0013f4a beq 0x02 ,mouse_wheel_scan_judge2 
+3f43 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f44 c283bf56 bbit1 7 ,mouse_wheel_scan_judge3 
+3f45 20600000 rtn 
+
+mouse_wheel_scan_judge1:
+3f46 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f47 c0003f4e beq 0 ,mouse_wheel_scan_judge11 
+3f48 c001bf50 beq 3 ,mouse_wheel_scan_judge12 
+3f49 20600000 rtn 
+
+mouse_wheel_scan_judge2:
+3f4a 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f4b c0003f52 beq 0 ,mouse_wheel_scan_judge21 
+3f4c c001bf54 beq 3 ,mouse_wheel_scan_judge22 
+3f4d 20600000 rtn 
+
+mouse_wheel_scan_judge11:
+3f4e 7046bf82 jam 0x82 ,mem_mwheel_tog 
+3f4f 20600000 rtn 
+
+mouse_wheel_scan_judge12:
+3f50 7046bf81 jam 0x81 ,mem_mwheel_tog 
+3f51 20600000 rtn 
+
+mouse_wheel_scan_judge21:
+3f52 7046bf80 jam 0x80 ,mem_mwheel_tog 
+3f53 20600000 rtn 
+
+mouse_wheel_scan_judge22:
+3f54 7046bf83 jam 0x83 ,mem_mwheel_tog 
+3f55 20600000 rtn 
+
+mouse_wheel_scan_judge3:
+3f56 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f57 793ffe07 set0 7 ,pdata 
+3f58 6000c6bf store 1 ,mem_mwheel_tog 
+3f59 c0003f5e beq 0 ,mouse_wheel_scan_judge30 
+3f5a c000bf61 beq 1 ,mouse_wheel_scan_judge31 
+3f5b c0013f64 beq 2 ,mouse_wheel_scan_judge32 
+3f5c c001bf67 beq 3 ,mouse_wheel_scan_judge33 
+3f5d 20600000 rtn 
+
+mouse_wheel_scan_judge30:
+3f5e 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f5f c001bf6a beq 3 ,mouse_wheel_forward 
+3f60 20600000 rtn 
+
+mouse_wheel_scan_judge31:
+3f61 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f62 c0003f6a beq 0 ,mouse_wheel_forward 
+3f63 20600000 rtn 
+
+mouse_wheel_scan_judge32:
+3f64 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f65 c001bf6f beq 3 ,mouse_wheel_back 
+3f66 20600000 rtn 
+
+mouse_wheel_scan_judge33:
+3f67 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f68 c0003f6f beq 0 ,mouse_wheel_back 
+3f69 20600000 rtn 
+
+mouse_wheel_forward:
+3f6a 7046c200 jam 0 ,mem_mouse_z_data_count1 
+3f6b 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f6c 1fe0fe01 increase 1 ,pdata 
+3f6d 6000c6c0 store 1 ,mem_mouse_z_data 
+3f6e 20600000 rtn 
+
+mouse_wheel_back:
+3f6f 7046c100 jam 0 ,mem_mouse_z_data_count 
+3f70 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f71 1fe0ffff increase -1 ,pdata 
+3f72 6000c6c0 store 1 ,mem_mouse_z_data 
+3f73 20600000 rtn 
+
+mouse_hid_connected:
+3f74 58000002 setarg hid_handshake_timeout 
+3f75 6000c680 store 1 ,mem_hid_handshake_timer_count 
+3f76 20600000 rtn 
+
+mouse_send_process:
+3f77 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+3f78 207a0000 rtn blank 
+3f79 20405271 call l2cap_malloc_is_fifo_nearly_full 
+3f7a 247a0000 nrtn blank 
+3f7b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3f7c c281bf8a bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+3f7d c2803f8a bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+3f7e c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+3f7f 20403f97 call mouse_motion 
+3f80 24740000 nrtn user 
+
+mouse_send_data:
+3f81 da200009 arg 9 ,rega 
+3f82 20404d63 call hid_malloc_tx_buff 
+3f83 6801424e fetch 2 ,mem_hid_int_remote_cid 
+3f84 e0a10000 istore 2 ,contw 
+3f85 580002a1 setarg 0x02a1 
+3f86 e0a10000 istore 2 ,contw 
+3f87 6803c69a fetch 7 ,mem_mouse_key 
+3f88 e0a38000 istore 7 ,contw 
+3f89 20600000 rtn 
+
+mouse_send_empty_data:
+3f8a 58000000 setarg 0 
+3f8b 6003c69a store 7 ,mem_mouse_key 
+3f8c 20203f81 branch mouse_send_data 
+
+mouse_no_data_timer_init:
+3f8d 680146aa fetch 2 ,mem_mouse_no_data_timeout 
+3f8e 600146b0 store 2 ,mem_mouse_no_data_timer 
+3f8f 20600000 rtn 
+
+mouse_fill_data_le:
+3f90 44f2c01c bpatch patch1c_5 ,mem_patch1c 
+3f91 da200007 arg 7 ,rega 
+3f92 6809446f fetcht 2 ,mem_le_notify_handle 
+3f93 20405a64 call le_att_malloc_tx_notify 
+3f94 6803c69a fetch 7 ,mem_mouse_key 
+3f95 e0a38000 istore 7 ,contw 
+3f96 20600000 rtn 
+
+mouse_motion:
+3f97 44f3401c bpatch patch1c_6 ,mem_patch1c 
+3f98 78547c00 disable user 
+3f99 58000000 setarg 0 
+3f9a 6003469b store 6 ,mem_mouse_x 
+3f9b 20403fb5 call mouse_cheak_sensor_data 
+3f9c 20404079 call mouse_zwheel 
+3f9d 2040407e call mouse_t_zwheel 
+3f9e 20404099 call mouse_key 
+3f9f 24740000 nrtn user 
+3fa0 20403f8d call mouse_no_data_timer_init 
+3fa1 d8e00008 arg mouse_statue_up_flag ,queue 
+3fa2 202043ce branch mouse_enable_function_flag 
+
+motion_6clk_direction_dispose:
+3fa3 6801469b fetch 2 ,mem_mouse_x 
+3fa4 1fe67e00 sub pdata ,0 ,pdata 
+3fa5 6001469b store 2 ,mem_mouse_x 
+3fa6 20207fe7 branch enable_user 
+
+motion_12clk_direction_dispose:
+3fa7 6801469d fetch 2 ,mem_mouse_y 
+3fa8 1fe67e00 sub pdata ,0 ,pdata 
+3fa9 6001469d store 2 ,mem_mouse_y 
+3faa 20207fe7 branch enable_user 
+
+motion_9clk_direction_dispose:
+3fab 6801469d fetch 2 ,mem_mouse_y 
+3fac 1fe67e00 sub pdata ,0 ,pdata 
+3fad 6001469d store 2 ,mem_mouse_y 
+3fae 6801469b fetch 2 ,mem_mouse_x 
+3faf 1fe67e00 sub pdata ,0 ,pdata 
+3fb0 6001469b store 2 ,mem_mouse_x 
+3fb1 20404002 call mouse_sensor_data_swap_places 
+3fb2 20207fe7 branch enable_user 
+
+motion_3clk_direction_dispose:
+3fb3 20404002 call mouse_sensor_data_swap_places 
+3fb4 20207fe7 branch enable_user 
+
+mouse_cheak_sensor_data:
+3fb5 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+3fb6 c1800000 rtnne flash_sm_no_buys 
+3fb7 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3fb8 c0003fe2 beq p3205 ,mouse_p32xx_sensor_motion 
+3fb9 c000bfe2 beq p3065 ,mouse_p32xx_sensor_motion 
+3fba c0013fe2 beq ka8 ,mouse_p32xx_sensor_motion 
+3fbb c001bfe2 beq p3204 ,mouse_p32xx_sensor_motion 
+3fbc c0023fc4 beq p3212 ,mouse_p3212_sensor_motion 
+3fbd c002c010 beq p3610 ,mouse_p3610_sensor_motion 
+3fbe c0033fe2 beq p3065_xy ,mouse_p32xx_sensor_motion 
+3fbf 20203fe2 branch mouse_p32xx_sensor_motion 
+
+mouse_clear_sensor_data:
+3fc0 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+3fc1 205a405d call mouse_read_sensor_common ,blank 
+3fc2 7046a701 jam 1 ,mem_mouse_move_flag 
+3fc3 20600000 rtn 
+
+mouse_p3212_sensor_motion:
+3fc4 20403fc0 call mouse_clear_sensor_data 
+3fc5 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fc6 2040681d call gpio_get_bit 
+3fc7 24608000 nrtn true 
+3fc8 58000000 setarg pan_reg_pid_l 
+3fc9 20406414 call twspi_read 
+3fca c09840d1 bne p32xx_id1 ,mouse_twspi_reset 
+3fcb 58000002 setarg pan_reg_motion_staus 
+3fcc 20406414 call twspi_read 
+3fcd c4038000 rtnbit0 7 
+3fce 2040405d call mouse_read_sensor_common 
+3fcf 20403fde call mouse_read_3212sensor_xy_high 
+3fd0 6000c6a1 store 1 ,mem_mouse_xy_h 
+3fd1 1ff1fe00 rshift4 pdata ,pdata 
+3fd2 20404169 call extsign_bit3 
+3fd3 6000c69c store 1 ,mem_mouse_x + 1 
+3fd4 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+3fd5 1fe17e0f and pdata ,0x0f ,pdata 
+3fd6 20404169 call extsign_bit3 
+3fd7 6000c69e store 1 ,mem_mouse_y + 1 
+3fd8 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3fd9 c0003fa3 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+3fda c000bfab beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+3fdb c0013fa7 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+3fdc c001bfb3 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+3fdd 20600000 rtn 
+
+mouse_read_3212sensor_xy_high:
+3fde 58000012 setarg 0x12 
+3fdf 20206414 branch twspi_read 
+
+mouse_p3065_judge:
+3fe0 c018bfea beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+3fe1 202040d1 branch mouse_twspi_reset 
+
+mouse_p32xx_sensor_motion:
+3fe2 20403fc0 call mouse_clear_sensor_data 
+3fe3 78547c00 disable user 
+3fe4 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fe5 2040681d call gpio_get_bit 
+3fe6 24608000 nrtn true 
+3fe7 58000000 setarg pan_reg_pid_l 
+3fe8 20406414 call twspi_read 
+3fe9 c0983fe0 bne p32xx_id1 ,mouse_p3065_judge 
+
+mouse_p32xx_sensor_motion_1:
+3fea 58000002 setarg pan_reg_motion_staus 
+3feb 20406414 call twspi_read 
+3fec c4038000 rtnbit0 7 
+3fed 2040405d call mouse_read_sensor_common 
+3fee 6800c69b fetch 1 ,mem_mouse_x 
+3fef 20404165 call extsign 
+3ff0 6001469b store 2 ,mem_mouse_x 
+3ff1 6800c69d fetch 1 ,mem_mouse_y 
+3ff2 20404165 call extsign 
+3ff3 6001469d store 2 ,mem_mouse_y 
+3ff4 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3ff5 c0003ffa beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+3ff6 c000bffc beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+3ff7 c0013ffe beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+3ff8 c001c000 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+3ff9 20600000 rtn 
+
+motion32xx_6clk_direction_selection:
+3ffa 20403fa3 call motion_6clk_direction_dispose 
+3ffb 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_9clk_direction_selection:
+3ffc 20403fab call motion_9clk_direction_dispose 
+3ffd 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_12clk_direction_selection:
+3ffe 20403fa7 call motion_12clk_direction_dispose 
+3fff 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_3clk_direction_selection:
+4000 20403fb3 call motion_3clk_direction_dispose 
+4001 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_data_swap_places:
+4002 6801469d fetch 2 ,mem_mouse_y 
+4003 6809469b fetcht 2 ,mem_mouse_x 
+4004 6001469b store 2 ,mem_mouse_x 
+4005 6009469d storet 2 ,mem_mouse_y 
+4006 20600000 rtn 
+
+mouse_p3610sensor_read:
+4007 2040640f call spi_ncs_enable 
+4008 20000064 nop 100 
+4009 1a427e00 copy regb ,pdata 
+400a 20406414 call twspi_read 
+400b 1fe22400 copy pdata ,regb 
+400c 20406411 call spi_ncs_disable 
+400d 20000064 nop 100 
+400e 1a427e00 copy regb ,pdata 
+400f 20600000 rtn 
+
+mouse_p3610_sensor_motion:
+4010 78547c00 disable user 
+4011 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+4012 2040681d call gpio_get_bit 
+4013 24608000 nrtn true 
+4014 da400002 arg pan_reg_motion_staus ,regb 
+4015 20404007 call mouse_p3610sensor_read 
+4016 c4038000 rtnbit0 7 
+4017 da400000 arg pan_reg_pid_l ,regb 
+4018 20404007 call mouse_p3610sensor_read 
+4019 6000c6dd store 1 ,mem_sensor_id1 
+401a c09f4145 bne p3610_id1 ,mouse_init_3610sensor_reset 
+401b 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+401c 205a4039 call mouse_read_sensor3610_data ,blank 
+401d 7046a701 jam 1 ,mem_mouse_move_flag 
+401e 20404039 call mouse_read_sensor3610_data 
+401f 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4020 1ff1fe00 rshift4 pdata ,pdata 
+4021 20404169 call extsign_bit3 
+4022 6000c69c store 1 ,mem_mouse_x + 1 
+4023 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4024 1fe17e0f and pdata ,0x0f ,pdata 
+4025 20404169 call extsign_bit3 
+4026 6000c69e store 1 ,mem_mouse_y + 1 
+4027 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+4028 c0004031 beq 0 ,motion3610_6clk_direction_selection 
+4029 c000c035 beq 1 ,motion3610_9clk_direction_selection 
+402a c0014033 beq 2 ,motion3610_12clk_direction_selection 
+402b c001c037 beq 3 ,motion3610_3clk_direction_selection 
+402c 20600000 rtn 
+
+mouse_3610_smart_select:
+402d 6800c6a4 fetch 1 ,mem_sensor_smart_flag 
+402e c0004051 beq p3610_smart_enable ,mouse_3610_smart_disable 
+402f c000c045 beq p3610_smart_disable ,mouse_3610_smart_enable 
+4030 20600000 rtn 
+
+motion3610_6clk_direction_selection:
+4031 20403fa3 call motion_6clk_direction_dispose 
+4032 2020402d branch mouse_3610_smart_select 
+
+motion3610_12clk_direction_selection:
+4033 20403fa7 call motion_12clk_direction_dispose 
+4034 2020402d branch mouse_3610_smart_select 
+
+motion3610_9clk_direction_selection:
+4035 20403fab call motion_9clk_direction_dispose 
+4036 2020402d branch mouse_3610_smart_select 
+
+motion3610_3clk_direction_selection:
+4037 20403fb3 call motion_3clk_direction_dispose 
+4038 2020402d branch mouse_3610_smart_select 
+
+mouse_read_sensor3610_data:
+4039 2040640f call spi_ncs_enable 
+403a 2040405d call mouse_read_sensor_common 
+403b dfe00005 arg 5 ,pdata 
+403c 20406414 call twspi_read 
+403d 6000c6a1 store 1 ,mem_mouse_xy_h 
+403e dfe00007 arg 7 ,pdata 
+403f 20406414 call twspi_read 
+4040 6000c6a2 store 1 ,mem_sensor_shutter_hi 
+4041 dfe00008 arg 8 ,pdata 
+4042 20406414 call twspi_read 
+4043 6000c6a3 store 1 ,mem_sensor_shutter_lo 
+4044 20206411 branch spi_ncs_disable 
+
+mouse_3610_smart_enable:
+4045 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4046 c1800000 rtnne 0 
+4047 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4048 1fe67c2d sub pdata ,45 ,null 
+4049 20610000 rtn positive 
+404a 7046a400 jam p3610_smart_enable ,mem_sensor_smart_flag 
+404b 5800ba41 setarg 0xba41 
+404c 20406405 call sensor_write 
+404d 58000032 setarg 0x0032 
+404e 20406405 call sensor_write 
+404f 5800b541 setarg 0xb541 
+4050 20206405 branch sensor_write 
+
+mouse_3610_smart_disable:
+4051 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4052 c1800000 rtnne 0 
+4053 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4054 1fe67c2d sub pdata ,45 ,null 
+4055 24610000 nrtn positive 
+4056 7046a401 jam p3610_smart_disable ,mem_sensor_smart_flag 
+4057 5800ba41 setarg 0xba41 
+4058 20406405 call sensor_write 
+4059 58008032 setarg 0x8032 
+405a 20406405 call sensor_write 
+405b 5800b541 setarg 0xb541 
+405c 20206405 branch sensor_write 
+
+mouse_read_sensor_common:
+405d dfe00003 arg pan_reg_delta_x ,pdata 
+405e 20406414 call twspi_read 
+405f 6001469b store 2 ,mem_mouse_x 
+4060 dfe00004 arg pan_reg_delta_y ,pdata 
+4061 20406414 call twspi_read 
+4062 6001469d store 2 ,mem_mouse_y 
+4063 20600000 rtn 
+
+mouse_set_qdecoder_x:
+4064 d840001b arg mouse_default_xa_gpio ,temp 
+4065 204067fb call gpio_config_input 
+4066 d840001b arg mouse_default_xa_gpio ,temp 
+4067 2040681d call gpio_get_bit 
+4068 20608000 rtn true 
+4069 68108109 hfetch 1 ,core_qdec_cntx 
+406a 79207e04 set1 4 ,pdata 
+406b 60108109 hstore 1 ,core_qdec_cntx 
+406c 20600000 rtn 
+
+mouse_hardware_zwheel:
+406d 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+406e 68108109 hfetch 1 ,core_qdec_cntx 
+406f 9840fe00 iadd temp ,pdata 
+4070 207a0000 rtn blank 
+4071 6000c69f store 1 ,mem_mouse_z 
+4072 7046c000 jam 0 ,mem_mouse_z_data 
+4073 20207fe7 branch enable_user 
+
+mouse_hardware_zwheel_beforelpm:
+4074 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+4075 68108109 hfetch 1 ,core_qdec_cntx 
+4076 9840fe00 iadd temp ,pdata 
+4077 6000c6c0 store 1 ,mem_mouse_z_data 
+4078 20600000 rtn 
+
+mouse_zwheel:
+4079 6800c6c0 fetch 1 ,mem_mouse_z_data 
+407a 207a0000 rtn blank 
+407b 6000c69f store 1 ,mem_mouse_z 
+407c 7046c000 jam 0 ,mem_mouse_z_data 
+407d 20207fe7 branch enable_user 
+
+mouse_t_zwheel:
+407e 6800c6ba fetch 1 ,mem_mouse_tz_data 
+407f 207a0000 rtn blank 
+4080 6000c6a0 store 1 ,mem_mouse_tz 
+4081 7046ba00 jam 0 ,mem_mouse_tz_data 
+4082 20207fe7 branch enable_user 
+
+mouse_check_key_gpio:
+4083 da200000 arg 0 ,rega 
+4084 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+4085 2040681d call gpio_get_bit 
+4086 7920a200 setflag true ,0 ,rega 
+4087 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+4088 2040681d call gpio_get_bit 
+4089 7920a201 setflag true ,1 ,rega 
+408a 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+408b 2040681d call gpio_get_bit 
+408c 7920a202 setflag true ,2 ,rega 
+408d 20404090 call mouse_check_s_key_gpio 
+
+mouse_check_key_gpio_output:
+408e 1a227e00 copy rega ,pdata 
+408f 20600000 rtn 
+
+mouse_check_s_key_gpio:
+4090 6800c6e5 fetch 1 ,mem_bk_button_gpio 
+4091 c17f8000 rtneq gpio_disable 
+4092 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+4093 2040681d call gpio_get_bit 
+4094 7920a203 setflag true ,3 ,rega 
+4095 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+4096 2040681d call gpio_get_bit 
+4097 7920a204 setflag true ,4 ,rega 
+4098 20600000 rtn 
+
+mouse_key:
+4099 20404083 call mouse_check_key_gpio 
+409a 204040a8 call mouse_set_mult 
+409b 204040a3 call mouse_24g_key 
+409c 1a227e00 copy rega ,pdata 
+409d 6808c69a fetcht 1 ,mem_mouse_key 
+409e 6000c69a store 1 ,mem_mouse_key 
+409f 9842fe00 ixor temp ,pdata 
+40a0 1fe67c00 sub pdata ,0 ,null 
+40a1 20628000 rtn zero 
+40a2 20207fe7 branch enable_user 
+
+mouse_24g_key:
+40a3 c6930000 rtnmark0 mark_24g 
+40a4 1a227e00 copy rega ,pdata 
+40a5 207a0000 rtn blank 
+40a6 6000c69a store 1 ,mem_mouse_key 
+40a7 20207fe7 branch enable_user 
+
+mouse_set_mult:
+40a8 68014682 fetch 2 ,mem_ui_state_map 
+40a9 c284c0ad bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+40aa 68014682 fetch 2 ,mem_ui_state_map 
+40ab c28040b0 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+40ac 20600000 rtn 
+
+mouse_set_ble_mult:
+40ad 1a227e00 copy rega ,pdata 
+40ae 243a5820 nbranch le_set_config_short_mult ,blank 
+40af 20205822 branch le_clr_config_short_mult 
+
+mouse_set_bt_mult:
+40b0 1a227e00 copy rega ,pdata 
+40b1 243a2bc7 nbranch classic_bt_set_mult_short_flag ,blank 
+40b2 20202bc9 branch classic_bt_clr_mult_short_flag 
+
+mouse_sensor_sdio_low:
+40b3 44f3c01c bpatch patch1c_7 ,mem_patch1c 
+40b4 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40b5 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40b6 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+40b7 2040c0be call mouse_sensor_sdio_low2 ,true 
+40b8 2040681d call gpio_get_bit 
+40b9 20608000 rtn true 
+40ba 5800000a setarg 0x0a 
+40bb 20406414 call twspi_read 
+40bc 200003e8 nop 1000 
+40bd 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_sdio_low2:
+40be d840001f arg mouse_spi2_sdio_gpio ,temp 
+40bf 20600000 rtn 
+
+mouse_spi_sdio_gpio_pollup:
+40c0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40c1 c28940c4 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+
+mouse_spi1_sdio_gpio_pollup:
+40c2 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40c3 202067fe branch gpio_config_input_without_wake 
+
+mouse_spi2_sdio_gpio_pollup:
+40c4 d840001f arg mouse_spi2_sdio_gpio ,temp 
+40c5 202067fe branch gpio_config_input_without_wake 
+
+mouse_init_sunt:
+40c6 20403d36 call mouse_spi_init 
+40c7 20758000 rtn wake 
+40c8 204040c0 call mouse_spi_sdio_gpio_pollup 
+40c9 6800c6e0 fetch 1 ,mem_config_sensor_type 
+40ca c002c0d5 beq p3610 ,mouse_init_3610sensor 
+
+mouse_init_sensor:
+40cb 204040d9 call mouse_read_sensor_id 
+40cc c01840e0 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+40cd c018c0ea beq p3065_id1 ,mouse_p3065_init_param 
+40ce 204040d1 call mouse_twspi_reset 
+40cf 200003e8 nop 1000 
+40d0 202040cb branch mouse_init_sensor 
+
+mouse_twspi_reset:
+40d1 44f4401d bpatch patch1d_0 ,mem_patch1d 
+40d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40d3 c28963e0 bbit1 mouse_enable_spi2 ,twspi_reset2 
+40d4 202063d1 branch twspi_reset 
+
+mouse_init_3610sensor:
+40d5 204040d9 call mouse_read_sensor_id 
+40d6 c01f414b beq p3610_id1 ,mouse_init_p3610 
+40d7 20404145 call mouse_init_3610sensor_reset 
+40d8 202040d5 branch mouse_init_3610sensor 
+
+mouse_read_sensor_id:
+40d9 58000001 setarg pan_reg_pid_h 
+40da 20406414 call twspi_read 
+40db 6000c6de store 1 ,mem_sensor_id2 
+40dc 58000000 setarg pan_reg_pid_l 
+40dd 20406414 call twspi_read 
+40de 6000c6dd store 1 ,mem_sensor_id1 
+40df 20600000 rtn 
+
+mouse_init_p32xx_id2_judge:
+40e0 6800c6de fetch 1 ,mem_sensor_id2 
+40e1 c068c139 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+40e2 c06940f8 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+40e3 c00140ee beq p3212_id2 ,mouse_3212_init_param 
+40e4 c02a40e6 beq pka8_id2 ,mouse_ka8_init_param 
+40e5 20600000 rtn 
+
+mouse_ka8_init_param:
+40e6 7046e002 jam ka8 ,mem_config_sensor_type 
+40e7 20600000 rtn 
+
+mouse_p3065xy_init_param:
+40e8 7046e006 jam p3065_xy ,mem_config_sensor_type 
+40e9 20600000 rtn 
+
+mouse_p3065_init_param:
+40ea 6800c6de fetch 1 ,mem_sensor_id2 
+40eb c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+40ec 7046e001 jam p3065 ,mem_config_sensor_type 
+40ed 20600000 rtn 
+
+mouse_3212_init_param:
+40ee 7046e004 jam p3212 ,mem_config_sensor_type 
+40ef 204040f6 call mouse_sensor_disable_wp 
+40f0 58003426 setarg 0x3426 
+40f1 20406413 call twspi_write 
+40f2 58000419 setarg 0x0419 
+40f3 20406413 call twspi_write 
+
+mouse_sensor_enable_wp:
+40f4 58000009 setarg 0x0009 
+40f5 20206413 branch twspi_write 
+
+mouse_sensor_disable_wp:
+40f6 58005a09 setarg 0x5a09 
+40f7 20206413 branch twspi_write 
+
+mouse_3204_3l_init_param:
+40f8 7046e003 jam p3204 ,mem_config_sensor_type 
+40f9 204040f6 call mouse_sensor_disable_wp 
+40fa 58000f0d setarg 0x0f0d 
+40fb 20406413 call twspi_write 
+40fc 5800e31d setarg 0xe31d 
+40fd 20406413 call twspi_write 
+40fe 5800d27d setarg 0xd27d 
+40ff 20406413 call twspi_write 
+4100 20404102 call mouse_32xx_init_param 
+4101 2020411a branch mouse_32xx_init_param_1 
+
+mouse_32xx_init_param:
+4102 5800351b setarg 0x351b 
+4103 20406413 call twspi_write 
+4104 5800b428 setarg 0xb428 
+4105 20406413 call twspi_write 
+4106 58004629 setarg 0x4629 
+4107 20406413 call twspi_write 
+4108 5800962a setarg 0x962a 
+4109 20406413 call twspi_write 
+410a 58008c2b setarg 0x8c2b 
+410b 20406413 call twspi_write 
+410c 58006e2c setarg 0x6e2c 
+410d 20406413 call twspi_write 
+410e 5800642d setarg 0x642d 
+410f 20406413 call twspi_write 
+4110 58005f38 setarg 0x5f38 
+4111 20406413 call twspi_write 
+4112 58000f39 setarg 0x0f39 
+4113 20406413 call twspi_write 
+4114 5800323a setarg 0x323a 
+4115 20406413 call twspi_write 
+4116 5800473b setarg 0x473b 
+4117 20406413 call twspi_write 
+4118 58001042 setarg 0x1042 
+4119 20206413 branch twspi_write 
+
+mouse_32xx_init_param_1:
+411a 58002e54 setarg 0x2e54 
+411b 20406413 call twspi_write 
+411c 5800f255 setarg 0xf255 
+411d 20406413 call twspi_write 
+411e 5800f461 setarg 0xf461 
+411f 20406413 call twspi_write 
+4120 58007063 setarg 0x7063 
+4121 20406413 call twspi_write 
+4122 58005275 setarg 0x5275 
+4123 20406413 call twspi_write 
+4124 58004176 setarg 0x4176 
+4125 20406413 call twspi_write 
+4126 5800ed77 setarg 0xed77 
+4127 20406413 call twspi_write 
+4128 58002378 setarg 0x2378 
+4129 20406413 call twspi_write 
+412a 58004679 setarg 0x4679 
+412b 20406413 call twspi_write 
+412c 5800e57a setarg 0xe57a 
+412d 20406413 call twspi_write 
+412e 5800487c setarg 0x487c 
+412f 20406413 call twspi_write 
+4130 5800777e setarg 0x777e 
+4131 20406413 call twspi_write 
+4132 5800017f setarg 0x017f 
+4133 20406413 call twspi_write 
+4134 5800000b setarg 0x000b 
+4135 20406413 call twspi_write 
+4136 5800007f setarg 0x007f 
+4137 20406413 call twspi_write 
+4138 202040f4 branch mouse_sensor_enable_wp 
+
+mouse_3205_3t_init_param:
+4139 7046e000 jam p3205 ,mem_config_sensor_type 
+413a 204040f6 call mouse_sensor_disable_wp 
+413b 5800100d setarg 0x100d 
+413c 20406413 call twspi_write 
+413d 5800ed1d setarg 0xed1d 
+413e 20406413 call twspi_write 
+413f 5800807d setarg 0x807d 
+4140 20406413 call twspi_write 
+4141 20404102 call mouse_32xx_init_param 
+4142 58000943 setarg 0x0943 
+4143 20406413 call twspi_write 
+4144 2020411a branch mouse_32xx_init_param_1 
+
+mouse_init_3610sensor_reset:
+4145 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4146 20406829 call gpio_out_active 
+4147 20407ec1 call delay_10ms 
+4148 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4149 20406825 call gpio_out_inactive 
+414a 20207ec1 branch delay_10ms 
+
+mouse_init_p3610:
+414b 7046e005 jam p3610 ,mem_config_sensor_type 
+414c 5800ba41 setarg 0xba41 
+414d 20406405 call sensor_write 
+414e 58000d11 setarg 0x0d11 
+414f 20406405 call sensor_write 
+4150 5800041b setarg 0x041b 
+4151 20406405 call sensor_write 
+4152 5800041c setarg 0x041c 
+4153 20406405 call sensor_write 
+4154 58000f1d setarg 0x0f1d 
+4155 20406405 call sensor_write 
+4156 58000032 setarg 0x0032 
+4157 20406405 call sensor_write 
+4158 5800b541 setarg 0xb541 
+4159 20206405 branch sensor_write 
+
+mouse_set_sensor_reg:
+415a 5800ba41 setarg 0xba41 
+415b 20406405 call sensor_write 
+415c 20000fa0 nop 4000 
+415d 5800ff7f setarg 0xff7f 
+415e 20406405 call sensor_write 
+415f 1a227e00 copy rega ,pdata 
+4160 20406405 call sensor_write 
+4161 5800007f setarg 0x007f 
+4162 20406405 call sensor_write 
+4163 5800b541 setarg 0xb541 
+4164 20206405 branch sensor_write 
+
+extsign:
+4165 c4038000 rtnbit0 7 
+4166 d840ff00 arg 0xff00 ,temp 
+4167 9841fe00 ior temp ,pdata 
+4168 20600000 rtn 
+
+extsign_bit3:
+4169 c4018000 rtnbit0 3 
+416a d84000f0 arg 0xf0 ,temp 
+416b 9841fe00 ior temp ,pdata 
+416c 20600000 rtn 
+
+mouse_le:
+416d 20405892 call le_fifo_check_nearly_full 
+416e 247a0000 nrtn blank 
+416f 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+4170 1fe17e03 and pdata ,0x03 ,pdata 
+4171 c1818000 rtnne 0x03 
+4172 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4173 c281c179 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+4174 c2804179 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+4175 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+4176 20403f97 call mouse_motion 
+4177 24740000 nrtn user 
+4178 20203f90 branch mouse_fill_data_le 
+
+mouse_le_send_empty_packet:
+4179 58000000 setarg 0 
+417a 6003c69a store 7 ,mem_mouse_key 
+417b 20203f90 branch mouse_fill_data_le 
+
+mouse_priority_bb_event:
+417c 1a627e00 copy regc ,pdata 
+417d c00a41c3 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+417e c000c2ca beq bt_evt_bb_connected ,mouse_stop_discovery 
+417f c00ac1d9 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+4180 c00141d9 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+4181 c002c1d6 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+4182 c008426c beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+4183 c009429b beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+4184 c00341d5 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+4185 c00241cc beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+4186 c009c1cc beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+4187 c00541ca beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+4188 c01733cd beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+4189 c018c1b4 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+418a c01941b6 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+418b c01f4191 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+418c c013c38e beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+418d c01cc19c beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+418e c01d4192 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+418f c01e419a beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+4190 20600000 rtn 
+
+mouse_le_pairing_complete:
+4191 20203410 branch app_ble_store_reconn_info 
+
+mouse_24g_attempt_fail:
+4192 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+4193 6800c71e fetch 1 ,mem_reconn_times 
+4194 243a4492 nbranch mouse_polling_device ,blank 
+4195 6800c720 fetch 1 ,mem_device_flag 
+4196 6808c703 fetcht 1 ,mem_24g_device_number 
+4197 98467c00 isub temp ,null 
+4198 2022b40a branch app_enter_hibernate ,zero 
+4199 20600000 rtn 
+
+mouse_24g_attempt_success:
+419a 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419b 20600000 rtn 
+
+mouse_24g_pairing_complete:
+419c 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419d d8e00003 arg mosue_24g_pairing_flag ,queue 
+419e 204043d2 call mouse_disable_function_flag 
+419f 58000000 setarg 0 
+41a0 60014707 store 2 ,mem_24g_pairing_timer_count 
+41a1 7046a700 jam 0 ,mem_mouse_move_flag 
+41a2 6800c6e0 fetch 1 ,mem_config_sensor_type 
+41a3 1fe67c05 sub pdata ,p3610 ,null 
+41a4 2042c039 call mouse_read_sensor3610_data ,zero 
+41a5 2442c05d ncall mouse_read_sensor_common ,zero 
+41a6 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+41a7 c289c1af bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+41a8 204041aa call mouse_set_24g_addr_eeprom 
+41a9 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_set_24g_addr_eeprom:
+41aa 20402c7a call g24_head_ptr2regc 
+41ab 1a60a2ae add regc ,offset_24g_addr ,rega 
+41ac da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+41ad d8400004 arg 4 ,temp 
+41ae 20600000 rtn 
+
+mouse_store_flash_24g_address:
+41af 20402c7a call g24_head_ptr2regc 
+41b0 1a60a4ae add regc ,offset_24g_addr ,regb 
+41b1 ea408000 ifetch 1 ,regb 
+41b2 6000c77b store 1 ,mem_mouse_24g_addr 
+41b3 20204435 branch mouse_store_flash_device_info 
+
+mouse_le_pairing_success:
+41b4 d8e00002 arg ll_pairing_success_flag ,queue 
+41b5 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_ll_start_encryt:
+41b6 7046c602 jam 2 ,mem_le_start_encrypt_timer 
+41b7 d8e00001 arg ll_start_enc_flag ,queue 
+41b8 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_enable_connect_flag:
+41b9 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+41ba f9207e00 qset1 pdata 
+41bb 6000c6c5 store 1 ,mem_le_connect_status_flag 
+41bc 20600000 rtn 
+
+mouse_le_disable_connect_flag:
+41bd 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+41be f93ffe00 qset0 pdata 
+41bf 6000c6c5 store 1 ,mem_le_connect_status_flag 
+41c0 20600000 rtn 
+
+mouse_le_clean_connect_flag:
+41c1 7046c500 jam 0 ,mem_le_connect_status_flag 
+41c2 20600000 rtn 
+
+mouse_le_bb_event_connected:
+41c3 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c4 793ffe00 set0 app_disc_by_button ,pdata 
+41c5 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c6 58000000 setarg 0 
+41c7 600146ae store 2 ,mem_mouse_direct_timer 
+41c8 20403f8d call mouse_no_data_timer_init 
+41c9 202042ca branch mouse_stop_discovery 
+
+mouse_bb_event_pincode:
+41ca 204063cb call pincode_reinit 
+41cb 202033dd branch app_bt_set_pincode 
+
+mouse_bb_event_reconn_timeout:
+
+mouse_bb_event_reconn_failed:
+41cc 6800c71e fetch 1 ,mem_reconn_times 
+41cd 243a4492 nbranch mouse_polling_device ,blank 
+41ce 68014682 fetch 2 ,mem_ui_state_map 
+41cf c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41d0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41d1 c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41d2 c282c2b0 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+41d3 c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41d4 202033a7 branch app_bb_hibernate 
+
+mouse_bt_hid_connected:
+41d5 20203f74 branch mouse_hid_connected 
+
+mouse_bt_event_setup_complete:
+41d6 20600000 rtn 
+
+mouse_soft_reset:
+41d7 204043c0 call mouse_select_device_enable 
+41d8 2020659a branch soft_reset_chip 
+
+mouse_bb_disconnected:
+41d9 44f4c01d bpatch patch1d_1 ,mem_patch1d 
+41da 204041e7 call mouse_bb_discon_clear_stack 
+41db 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41dc c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41dd c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41de 6800c71e fetch 1 ,mem_reconn_times 
+41df 243a4492 nbranch mouse_polling_device ,blank 
+41e0 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41e1 c283c1f5 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+41e2 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41e3 c280c1ef bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+41e4 c28141f2 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+41e5 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41e6 202042b0 branch mouse_start_discovery 
+
+mouse_bb_discon_clear_stack:
+41e7 58000000 setarg 0 
+41e8 600446b7 store 8 ,mem_wheel_tb_old_pinlevel 
+41e9 e0a20000 istore 4 ,contw 
+41ea 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+41eb 7046a700 jam 0 ,mem_mouse_move_flag 
+41ec 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+41ed 70442900 jam 0 ,mem_ltk_exists 
+41ee 20600000 rtn 
+
+mouse_event_light_state_pairing:
+41ef c282c1f2 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+41f0 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41f1 202042b0 branch mouse_start_discovery 
+
+mouse_event_light_state_hibernate:
+41f2 68014682 fetch 2 ,mem_ui_state_map 
+41f3 c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41f4 202033a7 branch app_bb_hibernate 
+
+mouse4_0_event_bb_disconn:
+41f5 204041c1 call mouse_le_clean_connect_flag 
+41f6 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41f7 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41f8 202033a7 branch app_bb_hibernate 
+
+mouse_bb_event_timer:
+41f9 204043d6 call mouse_adc_read 
+41fa 20404243 call mouse_24g_delay_timer 
+41fb 20404246 call mouse_ban_24g_pairing_timer 
+41fc 20404250 call mouse_dpi_led_blink_delay_timer 
+41fd 2040445d call mouse_statue_up_timer 
+41fe 20404443 call mouse_statue_cheak_timer 
+41ff 20404333 call mouse_select_device 
+4200 204043a5 call mouse_bt_discovery_cheak 
+4201 204043eb call mouse_low_voltage_led_timer 
+4202 20404209 call mouse_sensor_led_contrl_timer 
+4203 20404231 call mouse_check_hid_handshake_timer 
+4204 20404234 call mouse_check_discovery_timeout_timer 
+4205 20404237 call mouse_check_direct_timeout_timer 
+4206 2040423a call mouse_check_no_data_timeout_timer 
+4207 2040423d call mouse_check_mouse_state_timer 
+4208 20204240 branch mouse_le_enable_att_list_timer 
+
+mouse_sensor_led_contrl_timer:
+4209 6800c711 fetch 1 ,mem_mouse_sensor_timer_count 
+420a 207a0000 rtn blank 
+420b 1fe0ffff increase -1 ,pdata 
+420c 6000c711 store 1 ,mem_mouse_sensor_timer_count 
+420d 247a0000 nrtn blank 
+420e 2020420f branch mouse_sensor_led_contrl 
+
+mouse_sensor_led_contrl:
+420f 6800c712 fetch 1 ,mem_sensor_led_style 
+4210 c1000000 rtneq ui_led_state_blink_stop 
+4211 c002c216 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+
+mouse_sensor_led_blink_state_lighting:
+4212 20404225 call mouse_sensor_led_on 
+4213 70471205 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+4214 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4215 20600000 rtn 
+
+mouse_sensor_led_blink_state_darking:
+4216 2040422c call mouse_sensor_led_off 
+4217 70471204 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+4218 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4219 20600000 rtn 
+
+mouse_sensor_led_blink_stop:
+
+mouse_sensor_reset:
+421a 58008006 setarg 0x8006 
+421b 20406413 call twspi_write 
+421c 200003e8 nop 1000 
+421d 70471100 jam 0x00 ,mem_mouse_sensor_timer_count 
+421e 70471200 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+421f 202040e0 branch mouse_init_p32xx_id2_judge 
+
+mouse_p3212sensor_led_on:
+4220 5800a006 setarg 0xa006 
+4221 20406413 call twspi_write 
+4222 5800a005 setarg 0xa005 
+4223 20206413 branch twspi_write 
+
+mouse_sensor_led_on_global:
+4224 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_on:
+4225 6800c6e0 fetch 1 ,mem_config_sensor_type 
+4226 c0024220 beq p3212 ,mouse_p3212sensor_led_on 
+4227 58000106 setarg 0x0106 
+4228 20406413 call twspi_write 
+4229 5800a105 setarg 0xa105 
+422a 20206413 branch twspi_write 
+
+mouse_sensor_led_off_global:
+422b 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_off:
+422c 58000906 setarg 0x0906 
+422d 20206413 branch twspi_write 
+
+mouse_sensor_start_blink:
+422e 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+422f 70471201 jam ui_led_state_blink_start ,mem_sensor_led_style 
+4230 20600000 rtn 
+
+mouse_check_hid_handshake_timer:
+4231 da604680 arg mem_hid_handshake_timer_count ,regc 
+4232 da40429b arg mouse_bt_hid_handshake ,regb 
+4233 2020336d branch timer_single_step 
+
+mouse_check_discovery_timeout_timer:
+4234 da6046ac arg mem_mouse_discovery_timer ,regc 
+4235 da404264 arg mouse_check_discovery_timeout ,regb 
+4236 20203374 branch timer_single_step_2b 
+
+mouse_check_direct_timeout_timer:
+4237 da6046ae arg mem_mouse_direct_timer ,regc 
+4238 da404266 arg mouse_check_direct_timeout ,regb 
+4239 20203374 branch timer_single_step_2b 
+
+mouse_check_no_data_timeout_timer:
+423a da6046b0 arg mem_mouse_no_data_timer ,regc 
+423b da40426a arg mouse_check_no_data_timeout ,regb 
+423c 20203374 branch timer_single_step_2b 
+
+mouse_check_mouse_state_timer:
+423d da6046c4 arg mem_mouse_statue_led_timer ,regc 
+423e da404478 arg mouse_statue_led_off ,regb 
+423f 2020336d branch timer_single_step 
+
+mouse_le_enable_att_list_timer:
+4240 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+4241 da40425e arg mouse_le_enable_att_list ,regb 
+4242 2020336d branch timer_single_step 
+
+mouse_24g_delay_timer:
+4243 da604704 arg mem_24g_enter_lpm_timer ,regc 
+4244 da404249 arg mouse_24g_delay ,regb 
+4245 2020336d branch timer_single_step 
+
+mouse_ban_24g_pairing_timer:
+4246 da604707 arg mem_24g_pairing_timer_count ,regc 
+4247 da404249 arg mouse_ban_24g_pairing ,regb 
+4248 20203374 branch timer_single_step_2b 
+
+mouse_ban_24g_pairing:
+
+mouse_24g_delay:
+4249 20600000 rtn 
+
+mosue_dpi_led_blink_init:
+424a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+424b c40b8000 rtnbit0 mouse_enable_dpi_led_blink 
+424c 7046df0a jam 10 ,mem_mouse_dpi_led_delay_count 
+424d 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+424e 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+424f 20600000 rtn 
+
+mouse_dpi_led_blink_delay_timer:
+4250 da6046df arg mem_mouse_dpi_led_delay_count ,regc 
+4251 da404253 arg mouse_dpi_led_setting ,regb 
+4252 2020336d branch timer_single_step 
+
+mouse_dpi_led_setting:
+4253 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+4254 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4255 58000190 setarg led_dpi_blink 
+4256 60014716 store 2 ,mem_mouse_on_time 
+4257 60014718 store 2 ,mem_mouse_off_time 
+4258 da200000 arg 0 ,rega 
+4259 6808c77a fetcht 1 ,mem_mouse_dpi 
+425a 18408401 increase 1 ,temp 
+425b 6008c714 storet 1 ,mem_mouse_blink_count 
+425c 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+425d 20600000 rtn 
+
+mouse_le_enable_att_list:
+425e 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+425f c3810000 rtnbit1 ll_pairing_success_flag 
+4260 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+4261 20407d8f call ui_ipc_send_cmd 
+4262 d8e00000 arg write_req_enable_flag ,queue 
+4263 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_check_discovery_timeout:
+4264 204042ca call mouse_stop_discovery 
+4265 2020340a branch app_enter_hibernate 
+
+mouse_check_direct_timeout:
+4266 204033f6 call app_ble_stop_direct_adv 
+4267 6800c71e fetch 1 ,mem_reconn_times 
+4268 243a4492 nbranch mouse_polling_device ,blank 
+4269 2020340a branch app_enter_hibernate 
+
+mouse_check_no_data_timeout:
+426a c5137e1d bmark1 mark_24g ,check_51cmd_hibernate 
+426b 20204386 branch mouse_disconnect 
+
+mouse_bb_event_discovery_btn:
+426c 44f5401d bpatch patch1d_2 ,mem_patch1d 
+426d 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+426e 20404386 call mouse_disconnect 
+426f 204041c1 call mouse_le_clean_connect_flag 
+4270 202042b0 branch mouse_start_discovery 
+
+mouse3_0_check_reconn_target:
+4271 680341d0 fetch 6 ,mem_hci_plap 
+4272 203a33eb branch app_bt_start_discovery_short ,blank 
+4273 2040427e call mouse_reconn_setting_led_gpio 
+4274 70016d17 jam 0x17 ,mem_connection_options 
+4275 6800c65a fetch 1 ,mem_ssp_enable 
+4276 243a33e1 nbranch app_bt_start_reconnect ,blank 
+4277 70016d04 jam 0x04 ,mem_connection_options 
+4278 202033e1 branch app_bt_start_reconnect 
+
+mouse4_0_check_reconn_target:
+4279 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+427a 600146ae store 2 ,mem_mouse_direct_timer 
+427b 2040427e call mouse_reconn_setting_led_gpio 
+427c 20403418 call app_lpm_mult_disable 
+427d 20207df4 branch check_51cmd_adv 
+
+mouse_reconn_setting_led_gpio:
+427e 580000c8 setarg led_reconnect_blink 
+427f 60014716 store 2 ,mem_mouse_on_time 
+4280 60014718 store 2 ,mem_mouse_off_time 
+4281 20204285 branch mouse_setting_led_gpio_comman 
+
+mouse_discover_setting_led_gpio:
+4282 580003e8 setarg led_discovery_blink 
+4283 60014716 store 2 ,mem_mouse_on_time 
+4284 60014718 store 2 ,mem_mouse_off_time 
+
+mouse_setting_led_gpio_comman:
+4285 6800c720 fetch 1 ,mem_device_flag 
+4286 c000c28a beq mode_bt_device1 ,mouse_device_led1 
+4287 c001428c beq mode_bt_device2 ,mouse_device_led2 
+4288 c001c28e beq mode_bt_device3 ,mouse_device_led3 
+4289 20600000 rtn 
+
+mouse_device_led1:
+428a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+428b 2020428f branch mouse_led_blink 
+
+mouse_device_led2:
+428c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+428d 2020428f branch mouse_led_blink 
+
+mouse_device_led3:
+428e 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+
+mouse_led_blink:
+428f 60008aa2 store 1 ,mem_temp 
+4290 20404482 call mouse_devce_led_off 
+4291 68008aa2 fetch 1 ,mem_temp 
+4292 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4293 da200000 arg 0 ,rega 
+4294 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+4295 20207d1e branch ui_led_blink_start_global 
+
+mouse_led_off:
+4296 da200000 arg 0 ,rega 
+4297 20207d19 branch ui_led_off_global 
+
+mouse_led_on:
+4298 da200000 arg 0 ,rega 
+4299 20207d14 branch ui_led_on_global 
+
+mouse4_0_bb_event_discovery_btn:
+429a 202041c1 branch mouse_le_clean_connect_flag 
+
+mouse_bt_hid_handshake:
+429b 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+429c 20403416 call app_lpm_mult_enable 
+429d 20403412 call app_bt_store_reconn_info 
+429e 58000000 setarg 0 
+429f 6001467e store 2 ,mem_discovery_timeout_timer_count 
+42a0 6000c680 store 1 ,mem_hid_handshake_timer_count 
+42a1 2020340e branch app_bt_enter_sniff 
+
+mouse_check_reconn_target:
+42a2 2040435f call mouse_cheak_select_device_by_switch 
+42a3 6800c720 fetch 1 ,mem_device_flag 
+42a4 6808c703 fetcht 1 ,mem_24g_device_number 
+42a5 98467c00 isub temp ,null 
+42a6 2022c2ab branch mouse_connect_24g_mode ,zero 
+42a7 6800c210 fetch 1 ,mem_xrecord_mode 
+42a8 c019c271 beq rec_3_mode ,mouse3_0_check_reconn_target 
+42a9 c01a4279 beq rec_4_mode ,mouse4_0_check_reconn_target 
+42aa 202042b0 branch mouse_start_discovery 
+
+mouse_connect_24g_mode:
+42ab 20403d57 call mouse_start_24g_mode 
+42ac c6130000 rtnmark1 mark_24g 
+42ad 6800c71e fetch 1 ,mem_reconn_times 
+42ae 243a4492 nbranch mouse_polling_device ,blank 
+42af 20600000 rtn 
+
+mouse_start_discovery:
+42b0 44f5c01d bpatch patch1d_3 ,mem_patch1d 
+42b1 68014682 fetch 2 ,mem_ui_state_map 
+42b2 c285c2b7 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+42b3 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42b4 c30c42b7 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+42b5 180a7e00 random pdata 
+42b6 6000c4a1 store 1 ,mem_le_lap + 1 
+
+mouse_start_discovery_norandom:
+42b7 20403418 call app_lpm_mult_disable 
+42b8 68014687 fetch 2 ,mem_discovery_timeout 
+42b9 600146ac store 2 ,mem_mouse_discovery_timer 
+42ba 70016d06 jam 6 ,mem_connection_options 
+42bb 58000000 setarg 0 
+42bc 600146b0 store 2 ,mem_mouse_no_data_timer 
+42bd 600146ae store 2 ,mem_mouse_direct_timer 
+42be d8e00007 arg mouse_store_eeprom_flag ,queue 
+42bf 204043ce call mouse_enable_function_flag 
+42c0 204043ca call mouse_bt_discovery_button_down_disable 
+42c1 6800c092 fetch 1 ,mem_device_option 
+42c2 2feffe01 isolate1 mode_4_mouse ,pdata 
+42c3 2040fdf4 call check_51cmd_adv ,true 
+42c4 6800c092 fetch 1 ,mem_device_option 
+42c5 2feffe00 isolate1 mode_3_mouse ,pdata 
+42c6 2040fddd call check_51cmd_start_discovery ,true 
+42c7 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42c8 c28e422e bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+42c9 20204282 branch mouse_discover_setting_led_gpio 
+
+mouse_stop_discovery:
+42ca 44f6401d bpatch patch1d_4 ,mem_patch1d 
+42cb 6800c092 fetch 1 ,mem_device_option 
+42cc 2feffe01 isolate1 mode_4_mouse ,pdata 
+42cd 2040c2d4 call mouse_stop_le_adv ,true 
+42ce 6800c092 fetch 1 ,mem_device_option 
+42cf 2feffe00 isolate1 mode_3_mouse ,pdata 
+42d0 2040c2d7 call mouse_stop_bt3_discovery ,true 
+42d1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42d2 c28e421a bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+42d3 20204482 branch mouse_devce_led_off 
+
+mouse_stop_le_adv:
+42d4 58000000 setarg 0 
+42d5 600146ae store 2 ,mem_mouse_direct_timer 
+42d6 20207dfa branch check_51cmd_stop_adv 
+
+mouse_stop_bt3_discovery:
+42d7 58000000 setarg 0 
+42d8 600146ac store 2 ,mem_mouse_discovery_timer 
+42d9 20207de2 branch check_51cmd_stop_discovery 
+
+mouse_store_remote_bdaddr:
+42da 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42db c4038000 rtnbit0 mouse_store_eeprom_flag 
+42dc d8e00007 arg mouse_store_eeprom_flag ,queue 
+42dd 204043d2 call mouse_disable_function_flag 
+42de 204042e8 call mouse_check_device_addr 
+
+mouse_unplug_clean_bdaddr:
+42df 204042fb call mouse_before_store_reconn_info 
+42e0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42e1 c289c435 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+42e2 c28a42e4 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+42e3 20600000 rtn 
+
+mouse_store_eeprom_device_info:
+42e4 d8400058 arg 88 ,temp 
+42e5 da204720 arg mem_device_flag ,rega 
+42e6 da400000 arg mouse_info_eeprom_offect ,regb 
+42e7 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_check_device_addr:
+42e8 68008185 fetch 1 ,mem_record_bt_mode 
+42e9 c01a42ec beq rec_4_mode ,mouse_check_le_device_addr 
+42ea c019c2ef beq rec_3_mode ,mouse_check_bt_device_addr 
+42eb 20600000 rtn 
+
+mouse_check_le_device_addr:
+42ec 6000c6c7 store 1 ,mem_device_addr_temp 
+42ed 6803044f fetch 6 ,mem_le_plap 
+42ee 202042f1 branch mouse_check_bt_device_addr_common 
+
+mouse_check_bt_device_addr:
+42ef 6000c6c7 store 1 ,mem_device_addr_temp 
+42f0 68030040 fetch 6 ,mem_plap 
+
+mouse_check_bt_device_addr_common:
+42f1 600346c8 store 6 ,mem_device_addr_temp + 1 
+42f2 6803c6c7 fetch 7 ,mem_device_addr_temp 
+42f3 d8c04721 arg mem_device1_type ,contr 
+42f4 df200003 arg 3 ,loopcnt 
+
+mouse_check_device_addr_end:
+42f5 e8cb8000 ifetcht 7 ,contr 
+42f6 98467c00 isub temp ,null 
+42f7 2022c310 branch mouse_clean_addr ,zero 
+42f8 18c08c16 increase 22 ,contr 
+42f9 c20042f5 loop mouse_check_device_addr_end 
+42fa 20600000 rtn 
+
+mouse_before_store_reconn_info:
+42fb da204721 arg mem_device1_type ,rega 
+42fc 6800c720 fetch 1 ,mem_device_flag 
+42fd 1fe0ffff increase -1 ,pdata 
+42fe 1feffe1d mul32 pdata ,29 ,pdata 
+42ff 9a20a200 iadd rega ,rega 
+4300 68008185 fetch 1 ,mem_record_bt_mode 
+4301 e2208000 istore 1 ,rega 
+4302 c01a4305 beq rec_4_mode ,mouse_store_le_device 
+4303 c019c30c beq rec_3_mode ,mouse_store_bt_device 
+4304 20600000 rtn 
+
+mouse_store_le_device:
+4305 6803044f fetch 6 ,mem_le_plap 
+4306 e0a30000 istore 6 ,contw 
+4307 d8c04419 arg mem_le_ltk ,contr 
+4308 20407ebf call memcpy16 
+4309 680344a0 fetch 6 ,mem_le_lap 
+430a e0a30000 istore 6 ,contw 
+430b 20600000 rtn 
+
+mouse_store_bt_device:
+430c 68030040 fetch 6 ,mem_plap 
+430d e0a30000 istore 6 ,contw 
+430e d8c041be arg mem_link_key ,contr 
+430f 20207ebf branch memcpy16 
+
+mouse_clean_addr:
+4310 18c08dfa increase -6 ,contr 
+4311 18c20a00 copy contr ,contw 
+4312 680b46c8 fetcht 6 ,mem_device_addr_temp + 1 
+4313 18408403 increase 3 ,temp 
+4314 e0ab0000 istoret 6 ,contw 
+4315 20600000 rtn 
+
+mouse_eeprom_load_recon_info:
+4316 d8400058 arg 88 ,temp 
+4317 da204720 arg mem_device_flag ,rega 
+4318 da400000 arg mouse_info_eeprom_offect ,regb 
+4319 204065df call iicd_read_eep_data 
+
+mouse_select_reconn_device:
+431a da204721 arg mem_device1_type ,rega 
+431b 6800c720 fetch 1 ,mem_device_flag 
+431c 6808c703 fetcht 1 ,mem_24g_device_number 
+431d 98467c00 isub temp ,null 
+431e 20628000 rtn zero 
+431f 1fe0ffff increase -1 ,pdata 
+4320 1feffe1d mul32 pdata ,29 ,pdata 
+4321 9a20a200 iadd rega ,rega 
+4322 ea208000 ifetch 1 ,rega 
+4323 6000c210 store 1 ,mem_xrecord_mode 
+4324 c019c327 beq rec_3_mode ,mouse_load_bt_device 
+4325 c01a432c beq rec_4_mode ,mouse_load_le_device 
+4326 20600000 rtn 
+
+mouse_load_bt_device:
+4327 e8c30000 ifetch 6 ,contr 
+
+mouse_load_bt_device_end:
+4328 600341d0 store 6 ,mem_hci_plap 
+4329 d8a041be arg mem_link_key ,contw 
+432a 20407ebf call memcpy16 
+432b 202067d7 branch check_link_key_load 
+
+mouse_load_le_device:
+432c e8c30000 ifetch 6 ,contr 
+
+mouse_load_le_device_end:
+432d 600341d0 store 6 ,mem_hci_plap 
+432e d8a04419 arg mem_le_ltk ,contw 
+432f 20407ebf call memcpy16 
+4330 e8c30000 ifetch 6 ,contr 
+4331 600344a0 store 6 ,mem_le_lap 
+4332 20600000 rtn 
+
+mouse_select_device:
+4333 6800c6f5 fetch 1 ,mem_config_function_enable 
+4334 c282c349 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+4335 c2834359 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+4336 20204337 branch mouse_select_device_by_combination_key 
+
+mouse_select_device_by_combination_key:
+4337 20404083 call mouse_check_key_gpio 
+4338 c003433e beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+
+mouse_select_device_commbination_key_up:
+4339 7046d81e jam 30 ,mem_combination_select_device_count 
+433a 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+433b c1008000 rtneq dpi_button_state_up 
+433c 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+433d 20600000 rtn 
+
+mouse_select_device_commbination_key_down:
+433e 20404343 call mouse_combination_select_device_timer 
+433f 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4340 c1000000 rtneq dpi_button_state_down 
+4341 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4342 202043c0 branch mouse_select_device_enable 
+
+mouse_combination_select_device_timer:
+4343 6800c6d8 fetch 1 ,mem_combination_select_device_count 
+4344 207a0000 rtn blank 
+4345 1fe0ffff pincrease -1 
+4346 6000c6d8 store 1 ,mem_combination_select_device_count 
+4347 247a0000 nrtn blank 
+4348 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_by_button:
+4349 6800c6ed fetch 1 ,mem_config_select_device_button_gpio 
+434a c17f8000 rtneq gpio_disable 
+434b 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+434c 2040681d call gpio_get_bit 
+434d 2020c354 branch mouse_select_device_button_down ,true 
+
+mouse_select_device_button_up:
+434e 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+434f c1008000 rtneq dpi_button_state_up 
+4350 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+4351 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4352 c3830000 rtnbit1 mouse_long_bt_button_flag 
+4353 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_button_down:
+4354 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4355 c1000000 rtneq dpi_button_state_down 
+4356 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4357 d8e00006 arg mouse_long_bt_button_flag ,queue 
+4358 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_by_switch:
+4359 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+435a c4030000 rtnbit0 enable_select_device_by_switch 
+435b 6800c720 fetch 1 ,mem_device_flag 
+435c c000c369 beq mode_bt_device1 ,mouse_select1_device 
+435d c001436c beq mode_24g_device ,mouse_select2_device 
+435e 20600000 rtn 
+
+mouse_cheak_select_device_by_switch:
+435f 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+4360 c4030000 rtnbit0 enable_select_device_by_switch 
+4361 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+4362 2040681d call gpio_get_bit 
+4363 2020c366 branch mouse_cheak_select_24gdevice ,true 
+
+mouse_select_btdevice:
+4364 70472001 jam mode_bt_device1 ,mem_device_flag 
+4365 20600000 rtn 
+
+mouse_cheak_select_24gdevice:
+4366 6800c703 fetch 1 ,mem_24g_device_number 
+4367 6000c720 store 1 ,mem_device_flag 
+4368 20600000 rtn 
+
+mouse_select1_device:
+4369 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436a 2420c370 nbranch mouse_ready_reconnection_by_button ,true 
+436b 20600000 rtn 
+
+mouse_select2_device:
+436c 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436d 2040681d call gpio_get_bit 
+436e 2020c354 branch mouse_select_device_button_down ,true 
+436f 20600000 rtn 
+
+mouse_ready_reconnection_by_button:
+4370 6808c720 fetcht 1 ,mem_device_flag 
+4371 18408401 increase 1 ,temp 
+4372 6800c6d2 fetch 1 ,mem_device_number 
+4373 98467c00 isub temp ,null 
+4374 244143cc ncall mouse_select_device_count_clean ,positive 
+4375 6008c720 storet 1 ,mem_device_flag 
+4376 7041bd00 jam 0 ,mem_link_key_exists 
+4377 2040437a call mouse_store_device_number2eeprom 
+4378 204043c0 call mouse_select_device_enable 
+4379 2020437e branch mouse_set_reconnection 
+
+mouse_store_device_number2eeprom:
+437a d8400001 arg 1 ,temp 
+437b da204720 arg mem_device_flag ,rega 
+437c da400000 arg 0 ,regb 
+437d 20206606 branch iicd_write_eep_data 
+
+mouse_set_reconnection:
+437e 20404381 call mouse_stop_bluetooth_mode 
+437f 204043c2 call mouse_select_device_disable 
+4380 202041d7 branch mouse_soft_reset 
+
+mouse_stop_bluetooth_mode:
+4381 68014682 fetch 2 ,mem_ui_state_map 
+4382 c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+4383 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+4384 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+4385 202042ca branch mouse_stop_discovery 
+
+mouse_disconnect:
+4386 44f6c01d bpatch patch1d_5 ,mem_patch1d 
+4387 58000000 setarg 0 
+4388 600146b0 store 2 ,mem_mouse_no_data_timer 
+4389 68014682 fetch 2 ,mem_ui_state_map 
+438a c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+438b 68014682 fetch 2 ,mem_ui_state_map 
+438c c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+438d 20600000 rtn 
+
+mouse_irtual_cable_unplug:
+438e 58000001 setarg 0x01 
+438f 60030040 store 6 ,mem_plap 
+4390 70018533 jam rec_3_mode ,mem_record_bt_mode 
+4391 202042df branch mouse_unplug_clean_bdaddr 
+
+mouse_cancel_reconnect:
+4392 204043c4 call mouse_bt_cannel_reconn_enable 
+4393 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+mouse_bt_discovery_by_button:
+4394 6800c6ec fetch 1 ,mem_config_bt_button_gpio 
+4395 c17f8000 rtneq gpio_disable 
+4396 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+4397 2040681d call gpio_get_bit 
+4398 2020c39f branch mouse_bt_discovery_button_down ,true 
+
+mouse_bt_discovery_button_up:
+4399 6800c685 fetch 1 ,mem_ui_button_timeout 
+439a 6000c6da store 1 ,mem_combination_ui_button_count 
+439b 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+439c c1008000 rtneq dpi_button_state_up 
+439d 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+439e 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_button_down:
+439f 204043b5 call mouse_bt_discovry_timer 
+43a0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43a1 c1000000 rtneq dpi_button_state_down 
+43a2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43a3 20407e2f call check_51cmd_bb_reconn_cancel 
+43a4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovery_cheak:
+43a5 6800c6f5 fetch 1 ,mem_config_function_enable 
+43a6 c2824394 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+
+mouse_bt_discovery_commbination_key:
+43a7 20404083 call mouse_check_key_gpio 
+43a8 c003c3af beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+
+mouse_bt_discovery_commbination_key_up:
+43a9 6800c685 fetch 1 ,mem_ui_button_timeout 
+43aa 6000c6da store 1 ,mem_combination_ui_button_count 
+43ab 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43ac c1008000 rtneq dpi_button_state_up 
+43ad 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+43ae 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_commbination_key_down:
+43af 204043b5 call mouse_bt_discovry_timer 
+43b0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43b1 c1000000 rtneq dpi_button_state_down 
+43b2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43b3 20407e2f call check_51cmd_bb_reconn_cancel 
+43b4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovry_timer:
+43b5 da6046da arg mem_combination_ui_button_count ,regc 
+43b6 da4043b8 arg mouse_long_button_bt_discovry ,regb 
+43b7 2020336d branch timer_single_step 
+
+mouse_long_button_bt_discovry:
+43b8 d8e00006 arg mouse_long_bt_button_flag ,queue 
+43b9 204043ce call mouse_enable_function_flag 
+43ba 20403357 call app_evt_button_long_pressed 
+43bb 2020426c branch mouse_bb_event_discovery_btn 
+
+mouse_cpi_enable:
+43bc d8e00001 arg mouse_cpi_flag ,queue 
+43bd 202043ce branch mouse_enable_function_flag 
+
+mouse_cpi_disable:
+43be d8e00001 arg mouse_cpi_flag ,queue 
+43bf 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_enable:
+43c0 d8e00000 arg mouse_select_device_flag ,queue 
+43c1 202043ce branch mouse_enable_function_flag 
+
+mouse_select_device_disable:
+43c2 d8e00000 arg mouse_select_device_flag ,queue 
+43c3 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_cannel_reconn_enable:
+43c4 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c5 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_cannel_reconn_disable:
+43c6 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c7 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_discovery_button_down_enable:
+43c8 d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43c9 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_discovery_button_down_disable:
+43ca d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43cb 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_count_clean:
+43cc d8400001 arg 1 ,temp 
+43cd 20600000 rtn 
+
+mouse_enable_function_flag:
+43ce 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43cf f9207e00 qset1 pdata 
+43d0 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d1 20600000 rtn 
+
+mouse_disable_function_flag:
+43d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d3 f93ffe00 qset0 pdata 
+43d4 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d5 20600000 rtn 
+
+mouse_adc_read:
+43d6 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d7 c40d0000 rtnbit0 mouse_enable_adc 
+43d8 6800c6ce fetch 1 ,mem_adc_read_timer 
+43d9 1fe0fe01 increase 1 ,pdata 
+43da 6000c6ce store 1 ,mem_adc_read_timer 
+43db 1fe67c0a sub pdata ,10 ,null 
+43dc 20610000 rtn positive 
+43dd 7046ce00 jam 0 ,mem_adc_read_timer 
+43de 204068eb call adc_set_mode 
+43df 20406908 call vdd_calculate_by_mode 
+43e0 6001470f store 2 ,mem_mouse_vdd_now_vol 
+43e1 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+43e2 20406930 call adc_bat_percent_lowpower_out 
+43e3 6800c231 fetch 1 ,mem_adc_power_flag 
+43e4 c280c4a0 bbit1 1 ,mouse_power_down 
+43e5 c30043e9 bbit0 0 ,mouse_adc_no_low_voltage 
+43e6 202043e7 branch mouse_adc_low_voltage 
+
+mouse_adc_low_voltage:
+43e7 d8e00004 arg mouse_low_voltage_flag ,queue 
+43e8 202043ce branch mouse_enable_function_flag 
+
+mouse_adc_no_low_voltage:
+43e9 d8e00004 arg mouse_low_voltage_flag ,queue 
+43ea 202043d2 branch mouse_disable_function_flag 
+
+mouse_low_voltage_led_timer:
+43eb 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43ec c4020000 rtnbit0 mouse_low_voltage_flag 
+43ed 6800c6ef fetch 1 ,mem_config_low_voltage_alarm_gpio 
+43ee 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+43ef 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+43f0 1fe0fe01 pincrease 1 
+43f1 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+43f2 1fe67c14 sub pdata ,20 ,null 
+43f3 244143f9 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+43f4 c00143fb beq 2 ,mouse_low_voltage_led_on 
+43f5 c00243fe beq 4 ,mouse_low_voltage_led_off 
+43f6 c00343fb beq 6 ,mouse_low_voltage_led_on 
+43f7 c00443fe beq 8 ,mouse_low_voltage_led_off 
+43f8 20600000 rtn 
+
+mouse_adc_low_volatage_led_timer_count_clean:
+43f9 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+43fa 202043fe branch mouse_low_voltage_led_off 
+
+mouse_low_voltage_led_on:
+43fb da200000 arg 0 ,rega 
+43fc 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+43fd 20207d14 branch ui_led_on_global 
+
+mouse_low_voltage_led_off:
+43fe da200000 arg 0 ,rega 
+43ff 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+4400 20207d19 branch ui_led_off_global 
+
+mouse_g24_package_data:
+4401 20403f97 call mouse_motion 
+4402 24740000 nrtn user 
+4403 da200007 arg 7 ,rega 
+4404 da40469a arg mem_mouse_key ,regb 
+4405 20600000 rtn 
+
+mouse_g24_enter_lpm:
+4406 6800c78b fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+4407 207a0000 rtn blank 
+4408 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+4409 2040681d call gpio_get_bit 
+440a 2040c410 call mouse_24g_dpi_delay_init ,true 
+440b 6800c704 fetch 1 ,mem_24g_enter_lpm_timer 
+440c 247a0000 nrtn blank 
+440d 20404083 call mouse_check_key_gpio 
+440e 247a0000 nrtn blank 
+440f 20202d83 branch g24_lpm_long_sleep 
+
+mouse_24g_dpi_delay_init:
+4410 6800c6e7 fetch 1 ,mem_dpi_button_gpio 
+4411 c17f8000 rtneq ui_button_gpio_disable 
+4412 7047040a jam 10 ,mem_24g_enter_lpm_timer 
+4413 20600000 rtn 
+
+mouse_load_flash_info_cheak:
+4414 20404423 call mouse_load_flash_flag 
+4415 68014778 fetch 2 ,mem_store_flag 
+4416 d840aa55 arg eeprom_init_flag ,temp 
+4417 98467c00 isub temp ,null 
+4418 2022c42b branch mouse_load_flash_device_info ,zero 
+4419 60094778 storet 2 ,mem_store_flag 
+441a 2040441c call mouse_ble_init_address 
+441b 20204435 branch mouse_store_flash_device_info 
+
+mouse_ble_init_address:
+441c 680344a0 fetch 6 ,mem_le_lap 
+441d 60034738 store 6 ,mem_device1_locall_addr 
+441e 1fe0ff00 add pdata ,0x0100 ,pdata 
+441f 60034755 store 6 ,mem_device2_locall_addr 
+4420 1fe0ff00 add pdata ,0x0100 ,pdata 
+4421 60034772 store 6 ,mem_device3_locall_addr 
+4422 20600000 rtn 
+
+mouse_load_flash_flag:
+4423 58004778 setarg mem_store_flag 
+4424 d8404720 arg mem_mouse_information_start ,temp 
+4425 98460400 isub temp ,temp 
+4426 6801c700 fetch 3 ,mem_flash_base 
+4427 9840fe00 iadd temp ,pdata 
+4428 d8400002 arg 2 ,temp 
+4429 da204778 arg mem_store_flag ,rega 
+442a 20206562 branch spid_read_flash 
+
+mouse_load_flash_device_info:
+442b 5800477f setarg mem_mouse_information_end 
+442c d8404720 arg mem_mouse_information_start ,temp 
+442d 98460400 isub temp ,temp 
+442e 6801c700 fetch 3 ,mem_flash_base 
+442f da204720 arg mem_mouse_information_start ,rega 
+4430 20406562 call spid_read_flash 
+4431 2040431a call mouse_select_reconn_device 
+4432 6802477b fetch 4 ,mem_mouse_24g_addr 
+4433 20402c7a call g24_head_ptr2regc 
+4434 2020322c branch g24_store_mem_addr 
+
+mouse_store_flash_device_info:
+4435 5800477f setarg mem_mouse_information_end 
+4436 d8404720 arg mem_mouse_information_start ,temp 
+4437 98460400 isub temp ,temp 
+4438 da204720 arg mem_mouse_information_start ,rega 
+4439 6801c700 fetch 3 ,mem_flash_base 
+443a 20206514 branch flash_write 
+
+mouse_store_eerpom_dpi:
+443b d8400001 arg 1 ,temp 
+443c da20477a arg mem_mouse_dpi ,rega 
+443d da40005a arg mouse_dpi_eeprom_offect ,regb 
+443e 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_load_eeprom_dpi:
+443f d8400001 arg 1 ,temp 
+4440 da20477a arg mem_mouse_dpi ,rega 
+4441 da40005a arg mouse_dpi_eeprom_offect ,regb 
+4442 202065df branch iicd_read_eep_data 
+
+mouse_statue_cheak_timer:
+4443 c6130000 rtnmark1 mark_24g 
+4444 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4445 c40b0000 rtnbit0 mouse_enable_statue_up 
+4446 6800c705 fetch 1 ,mem_mouse_1step_up_count 
+4447 1fe0fe01 pincrease 1 
+4448 1fe17e07 and pdata ,0x07 ,pdata 
+4449 6000c705 store 1 ,mem_mouse_1step_up_count 
+444a c1838000 rtnne 0x07 
+444b 68014682 fetch 2 ,mem_ui_state_map 
+444c c280444f bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+444d c284c44f bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+444e 20600000 rtn 
+
+mouse_check_statue_up:
+444f 44f7401d bpatch patch1d_6 ,mem_patch1d 
+4450 6800c706 fetch 1 ,mem_mouse_2step_up_count 
+4451 247a0000 nrtn blank 
+4452 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4453 c4040000 rtnbit0 mouse_statue_up_flag 
+4454 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4455 204063fb call sensor_read 
+4456 6000c6a6 store 1 ,mem_sensor_iqc 
+4457 1fe67c10 sub pdata ,0x10 ,null 
+4458 2021445b branch mouse_statue_up_timer_init ,positive 
+4459 70470600 jam 0 ,mem_mouse_2step_up_count 
+445a 20600000 rtn 
+
+mouse_statue_up_timer_init:
+445b 7047061e jam 30 ,mem_mouse_2step_up_count 
+445c 20600000 rtn 
+
+mouse_statue_up_timer:
+445d da604706 arg mem_mouse_2step_up_count ,regc 
+445e da404460 arg mouse_statue_up ,regb 
+445f 2020336d branch timer_single_step 
+
+mouse_statue_up:
+4460 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4461 20406414 call twspi_read 
+4462 1fe67c10 sub pdata ,0x10 ,null 
+4463 24610000 nrtn positive 
+4464 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4465 c4040000 rtnbit0 mouse_statue_up_flag 
+4466 d8e00008 arg mouse_statue_up_flag ,queue 
+4467 204043d2 call mouse_disable_function_flag 
+4468 70417200 jam 0 ,mem_lpm_mult 
+4469 7046c41e jam 30 ,mem_mouse_statue_led_timer 
+446a 20404482 call mouse_devce_led_off 
+446b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+446c c28ac471 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+
+mouse_two_device_statue_up:
+446d 6800c720 fetch 1 ,mem_device_flag 
+446e c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+446f c0014476 beq mode_bt_device2 ,mouse_device_blink_led_init 
+4470 20600000 rtn 
+
+mouse_three_device_statue_up:
+4471 6800c720 fetch 1 ,mem_device_flag 
+4472 c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+4473 c001448c beq mode_bt_device2 ,mouse_device2_led_on 
+4474 c001c48f beq mode_bt_device3 ,mouse_device3_led_on 
+4475 20600000 rtn 
+
+mouse_device_blink_led_init:
+4476 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+4477 2020428f branch mouse_led_blink 
+
+mouse_statue_led_off:
+4478 70417220 jam 0x20 ,mem_lpm_mult 
+4479 20204482 branch mouse_devce_led_off 
+
+mouse_devce1_led_off:
+447a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+447b c17f8000 rtneq gpio_disable 
+447c 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+447d 20204296 branch mouse_led_off 
+
+mouse_devce2_led_off:
+447e 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+447f c17f8000 rtneq gpio_disable 
+4480 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4481 20204296 branch mouse_led_off 
+
+mouse_devce_led_off:
+4482 20404296 call mouse_led_off 
+4483 2040447a call mouse_devce1_led_off 
+4484 2040447e call mouse_devce2_led_off 
+
+mouse_devce3_led_off:
+4485 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4486 c17f8000 rtneq gpio_disable 
+4487 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4488 20204296 branch mouse_led_off 
+
+mouse_device1_led_on:
+4489 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+448a 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448b 20204298 branch mouse_led_on 
+
+mouse_device2_led_on:
+448c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+448d 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448e 20204298 branch mouse_led_on 
+
+mouse_device3_led_on:
+448f 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4490 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4491 20204298 branch mouse_led_on 
+
+mouse_polling_device:
+4492 44f7c01d bpatch patch1d_7 ,mem_patch1d 
+4493 6800c71e fetch 1 ,mem_reconn_times 
+4494 1fe0ffff increase -1 ,pdata 
+4495 6000c71e store 1 ,mem_reconn_times 
+4496 6808c720 fetcht 1 ,mem_device_flag 
+4497 18408401 increase 1 ,temp 
+4498 6800c6d2 fetch 1 ,mem_device_number 
+4499 98467c00 isub temp ,null 
+449a 244143cc ncall mouse_select_device_count_clean ,positive 
+449b 6008c720 storet 1 ,mem_device_flag 
+449c 7041bd00 jam 0 ,mem_link_key_exists 
+449d 2040437a call mouse_store_device_number2eeprom 
+449e 204042fb call mouse_before_store_reconn_info 
+449f 202042a2 branch mouse_check_reconn_target 
+
+mouse_power_down:
+44a0 20404482 call mouse_devce_led_off 
+44a1 58000000 setarg 0 
+44a2 600400a1 store 8 ,mem_gpio_wakeup_low 
+44a3 20202b1f branch lpm_hibernate 
+
+remote_car_init:
+44a4 20758000 rtn wake 
+44a5 68108081 hfetch 1 ,core_gpio_sel1 
+44a6 1fe17ef0 and_into 0xf0 ,pdata 
+44a7 60108081 hstore 1 ,core_gpio_sel1 
+44a8 20406948 call keyscan_key_init 
+44a9 580044e6 setarg remote_car_le_before_hibernate 
+44aa 600141eb store 2 ,mem_cb_before_hibernate 
+44ab 580044e9 setarg remote_car_process_lpm_before 
+44ac 600141ed store 2 ,mem_cb_before_lpm 
+44ad 580044ef setarg remote_car_scale_process_idle 
+44ae 600141f3 store 2 ,mem_cb_idle_process 
+44af 580044f2 setarg remote_car_scale_process_bb_event 
+44b0 600141f5 store 2 ,mem_cb_bb_event_process 
+44b1 580033d0 setarg app_get_lpm_wake_lock 
+44b2 600141e9 store 2 ,mem_cb_check_wakelock 
+44b3 20402c7a call g24_head_ptr2regc 
+44b4 580045c2 setarg remote_car_g24_package_data 
+44b5 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+44b6 e0a10000 istore 2 ,contw 
+44b7 580044ea setarg remote_car_g24_enter_lpm 
+44b8 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+44b9 e0a10000 istore 2 ,contw 
+44ba 580044e9 setarg remote_car_process_lpm_before 
+44bb 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+44bc e0a10000 istore 2 ,contw 
+44bd 5800450e setarg remote_car_event_timer 
+44be 600141fd store 2 ,mem_cb_event_timer 
+44bf 580044da setarg remote_car_power_off_signal 
+44c0 6001475b store 2 ,mem_remote_car_power_off_cb 
+44c1 580044d6 setarg remote_car_soft_switch_power_on_signal 
+44c2 6001475f store 2 ,mem_remote_car_power_standby_cb 
+44c3 58004560 setarg remote_car_send_key_data 
+44c4 6001470f store 2 ,mem_cb_remote_car_keyscan 
+44c5 44f8401e bpatch patch1e_0 ,mem_patch1e 
+44c6 204044e2 call remote_car_init_environment 
+44c7 20407e38 call queue_init 
+44c8 70417202 jam 2 ,mem_lpm_mult 
+44c9 6800c72b fetch 1 ,mem_remote_car_config_soft_switch_enable 
+44ca 6000c69a store 1 ,mem_remote_car_hard_soft_switch 
+44cb c00044d5 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+44cc 6800c72c fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+44cd 6000c686 store 1 ,mem_ui_button_gpio 
+
+remote_car_soft_switch_power_on_init:
+44ce 204044db call remote_car_ui_led_init 
+44cf 20407cd3 call ui_button_init 
+44d0 20407cdd call ui_button_polling 
+44d1 70475701 jam power_starting ,mem_remote_car_power_state 
+44d2 68014682 fetch 2 ,mem_ui_state_map 
+44d3 c3860000 rtnbit1 ui_state_btn_down 
+44d4 2020340a branch app_enter_hibernate 
+
+remote_car_hard_switch_power_on_signal:
+44d5 70475702 jam power_standby ,mem_remote_car_power_state 
+
+remote_car_soft_switch_power_on_signal:
+44d6 204044db call remote_car_ui_led_init 
+44d7 da200000 arg 0 ,rega 
+44d8 20407d1e call ui_led_blink_start_global 
+
+remote_car_connect_24g_mode:
+44d9 20202ee4 branch g24_auto_pair_start 
+
+remote_car_power_off_signal:
+44da 202044db branch remote_car_ui_led_init 
+
+remote_car_ui_led_init:
+44db 44f8c01e bpatch patch1e_1 ,mem_patch1e 
+44dc 6800c729 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+44dd c0ffc4e0 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+
+remote_car_ui_led_init_1:
+44de 6808c706 fetcht 1 ,mem_remote_car_led_map 
+44df 2020680e branch gpio_config_output 
+
+remote_car_pairing_led_gpio_set:
+44e0 6000c706 store 1 ,mem_remote_car_led_map 
+44e1 202044de branch remote_car_ui_led_init_1 
+
+remote_car_init_environment:
+44e2 20402c9d call g24_set_device_addr 
+44e3 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+44e4 60014755 store 2 ,mem_remote_car_no_data_timer 
+44e5 20204515 branch remote_car_get_adc_default_data 
+
+remote_car_le_before_hibernate:
+
+remote_car_in_enter_hibernate:
+44e6 20406835 call gpio_set_before_lpm_common 
+44e7 204044e9 call remote_car_process_lpm_before 
+44e8 2020340a branch app_enter_hibernate 
+
+remote_car_process_lpm_before:
+44e9 2020696c branch keyscan_process_lpm_before 
+
+remote_car_g24_enter_lpm:
+44ea 6800c765 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+44eb 207a0000 rtn blank 
+44ec 20202d83 branch g24_lpm_long_sleep 
+
+remote_car_process_auto_pair_exit:
+44ed 20600000 rtn 
+
+remote_car_key_scan_process:
+44ee 20206978 branch keyscan_key_process 
+
+remote_car_scale_process_idle:
+44ef 20404544 call remote_car_rocker_process 
+44f0 20404503 call remote_car_24g_status_process 
+44f1 202044ee branch remote_car_key_scan_process 
+
+remote_car_scale_process_bb_event:
+44f2 1a627e00 copy regc ,pdata 
+44f3 c016b431 beq bt_evt_button_up ,app_event_button_up 
+44f4 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+44f5 c01cc4fb beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+44f6 c01e44ff beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+44f7 c01d44f9 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+44f8 20600000 rtn 
+
+remote_car_24g_attempt_fail:
+44f9 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fa 20600000 rtn 
+
+remote_car_24g_pairing_complete:
+44fb 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fc 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+44fd 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+44fe 20600000 rtn 
+
+remote_car_24g_attempt_success:
+44ff 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+4500 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+4501 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+4502 20600000 rtn 
+
+remote_car_24g_status_process:
+4503 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4504 c1000000 rtneq power_on 
+4505 6800c762 fetch 1 ,mem_remote_car_24g_status 
+4506 c1008000 rtneq work_paired 
+4507 70476201 jam work_paired ,mem_remote_car_24g_status 
+
+remote_car_scale_process_paired:
+4508 da200000 arg 0 ,rega 
+4509 20207d19 branch ui_led_off_global 
+
+remote_car_scale_process_shutdown:
+450a da200000 arg 0 ,rega 
+450b 20407d19 call ui_led_off_global 
+450c 204044db call remote_car_ui_led_init 
+450d 2020340a branch app_enter_hibernate 
+
+remote_car_event_timer:
+450e 2040337b call app_power_timer 
+450f 20204510 branch remote_car_no_data_timer 
+
+remote_car_no_data_timer:
+4510 6800c72d fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+4511 207a0000 rtn blank 
+4512 da604755 arg mem_remote_car_no_data_timer ,regc 
+4513 da40450a arg remote_car_scale_process_shutdown ,regb 
+4514 20203374 branch timer_single_step_2b 
+
+remote_car_get_adc_default_data:
+4515 2040451a call remote_car_rocker_get_x 
+4516 6009471a storet 2 ,mem_current_vdd_value_default_mid_x 
+4517 2040451f call remote_car_rocker_get_y 
+4518 6009471c storet 2 ,mem_current_vdd_value_default_mid_y 
+4519 20600000 rtn 
+
+remote_car_rocker_data_get:
+
+remote_car_rocker_get_x:
+451a 6801471a fetch 2 ,mem_current_vdd_value_default_mid_x 
+451b 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+451c 20404540 call remote_car_get_adc_from_gpio6 
+451d 20404525 call remote_car_rocker_get_value 
+451e 6000c724 store 1 ,mem_rocker_status 
+
+remote_car_rocker_get_y:
+451f 6801471c fetch 2 ,mem_current_vdd_value_default_mid_y 
+4520 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+4521 20404542 call remote_car_get_adc_from_gpio7 
+4522 20404525 call remote_car_rocker_get_value 
+4523 6000c725 store 1 ,mem_rocker_status + 1 
+4524 20600000 rtn 
+
+remote_car_rocker_get_value:
+4525 68014720 fetch 2 ,mem_current_vdd_default_range 
+4526 1fe22200 copy pdata ,rega 
+4527 6801471e fetch 2 ,mem_current_vdd_value_default_mid_temp 
+4528 2040452e call remote_car_rocker_mid_value_adjust 
+4529 6800c719 fetch 1 ,mem_rocker_work_status 
+452a 243a4537 nbranch remote_car_rocker_translate_key ,blank 
+452b 24610000 nrtn positive 
+452c 6809471e fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+452d 20600000 rtn 
+
+remote_car_rocker_mid_value_adjust:
+452e 98467e00 isub temp ,pdata 
+452f 20214534 branch remote_car_rocker_mid_adjust_positive ,positive 
+4530 1fe67e00 sub pdata ,0 ,pdata 
+4531 70471801 jam 1 ,mem_rocker_negative_flag 
+4532 9a267c00 isub rega ,null 
+4533 20600000 rtn 
+
+remote_car_rocker_mid_adjust_positive:
+4534 70471800 jam 0 ,mem_rocker_negative_flag 
+4535 9a267c00 isub rega ,null 
+4536 20600000 rtn 
+
+remote_car_rocker_translate_key:
+4537 2421453e nbranch remote_car_rocker_middle_key ,positive 
+4538 6800c718 fetch 1 ,mem_rocker_negative_flag 
+4539 243a453c nbranch remote_car_rocker_negative_key ,blank 
+
+remote_car_rocker_positive_key:
+453a 58000001 setarg rocker_positive_key 
+453b 20600000 rtn 
+
+remote_car_rocker_negative_key:
+453c 58000002 setarg rocker_negative_key 
+453d 20600000 rtn 
+
+remote_car_rocker_middle_key:
+453e 58000000 setarg rocker_middle_key 
+453f 20600000 rtn 
+
+remote_car_get_adc_from_gpio6:
+4540 70422e33 jam 0x33 ,mem_adc_channel 
+4541 202068eb branch adc_set_mode 
+
+remote_car_get_adc_from_gpio7:
+4542 70422e34 jam 0x34 ,mem_adc_channel 
+4543 202068eb branch adc_set_mode 
+
+remote_car_rocker_process:
+4544 6800c72a fetch 1 ,mem_remote_car_config_check_way 
+4545 c1808000 rtnne car_remote_check_rocker 
+
+remote_car_read_rocker_check_start:
+4546 44f9401e bpatch patch1e_2 ,mem_patch1e 
+4547 70471901 jam 1 ,mem_rocker_work_status 
+4548 2040451a call remote_car_rocker_data_get 
+4549 68014724 fetch 2 ,mem_rocker_status 
+454a 68094722 fetcht 2 ,mem_rocker_last_status 
+454b 98467c00 isub temp ,null 
+454c 20628000 rtn zero 
+454d 60014722 store 2 ,mem_rocker_last_status 
+454e 20404550 call remote_car_rocker_x_to_key 
+454f 20204554 branch remote_car_rocker_y_to_key 
+
+remote_car_rocker_x_to_key:
+4550 6800c724 fetch 1 ,mem_rocker_x_status 
+4551 203a455a branch rocker_to_queue_set_0 ,blank 
+4552 1fe0ffff increase -1 ,pdata 
+4553 20204557 branch remote_car_rocker_to_key 
+
+remote_car_rocker_y_to_key:
+4554 6800c725 fetch 1 ,mem_rocker_y_status 
+4555 203a455d branch rocker_to_queue_set_2 ,blank 
+4556 1fe0fe01 increase 1 ,pdata 
+
+remote_car_rocker_to_key:
+4557 1fe20e00 copy pdata ,queue 
+4558 da200001 arg 1 ,rega 
+4559 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_0:
+455a d8e00000 arg 0 ,queue 
+455b da200000 arg 0 ,rega 
+455c 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_2:
+455d d8e00002 arg 2 ,queue 
+455e da200000 arg 0 ,rega 
+455f 20204560 branch remote_car_send_key_data 
+
+remote_car_send_key_data:
+4560 1a227e00 copy rega ,pdata 
+4561 6000c761 store 1 ,mem_remote_key_status 
+4562 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4563 c0002ee4 beq power_on ,g24_auto_pair_start 
+4564 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+4565 60014755 store 2 ,mem_remote_car_no_data_timer 
+4566 6800c761 fetch 1 ,mem_remote_key_status 
+4567 203a4580 branch remote_car_key_is_release ,blank 
+
+remote_car_key_is_press:
+4568 44f9c01e bpatch patch1e_3 ,mem_patch1e 
+4569 da200000 arg 0 ,rega 
+456a 20407d14 call ui_led_on_global 
+
+remote_car_attack_key_press:
+456b 18e27e00 copy queue ,pdata 
+456c c00245a3 beq 4 ,remote_car_send_attack_key4_press 
+456d c002c5a5 beq 5 ,remote_car_send_attack_key5_press 
+456e c00345a7 beq 6 ,remote_car_send_fire_key6_press 
+
+remote_car_motor_key_press:
+456f 2040458b call remote_car_device_layout_select 
+4570 c0004574 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+4571 c001457a beq control_l_r_ten ,remote_car_double_motor_key_press 
+4572 c001c574 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+4573 20600000 rtn 
+
+remote_car_single_motor_key_is_press:
+4574 18e27e00 copy queue ,pdata 
+4575 c000458f beq 0 ,remote_car_send_motor1_key0_press 
+4576 c000c591 beq 1 ,remote_car_send_motor1_key1_press 
+4577 c0014593 beq 2 ,remote_car_send_motor2_key2_press 
+4578 c001c595 beq 3 ,remote_car_send_motor2_key3_press 
+4579 20600000 rtn 
+
+remote_car_double_motor_key_press:
+457a 18e27e00 copy queue ,pdata 
+457b c0004597 beq 0 ,remote_car_send_double_motor_key0_press 
+457c c000c59a beq 1 ,remote_car_send_double_motor_key1_press 
+457d c001459d beq 2 ,remote_car_send_double_motor_key2_press 
+457e c001c5a0 beq 3 ,remote_car_send_double_motor_key3_press 
+457f 20600000 rtn 
+
+remote_car_key_is_release:
+4580 44fa401e bpatch patch1e_4 ,mem_patch1e 
+4581 da200000 arg 0 ,rega 
+4582 20407d19 call ui_led_off_global 
+
+remote_car_attack_key_release:
+4583 18e27e00 copy queue ,pdata 
+4584 c00245bc beq 4 ,remote_car_send_attack_key4_rel 
+4585 c002c5bc beq 5 ,remote_car_send_attack_key5_rel 
+
+remote_car_motor_key_release:
+4586 2040458b call remote_car_device_layout_select 
+4587 c00045a9 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+4588 c00145af beq control_l_r_ten ,remote_car_double_motor_key_rel 
+4589 c001c5a9 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+458a 20600000 rtn 
+
+remote_car_device_layout_select:
+458b 6800c728 fetch 1 ,mem_remote_car_config_layout 
+458c 6808c727 fetcht 1 ,mem_remote_car_config_key_map 
+458d 9841fe00 ior temp ,pdata 
+458e 20600000 rtn 
+
+remote_car_send_motor1_key0_press:
+458f 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4590 202045be branch remote_car_send_key 
+
+remote_car_send_motor1_key1_press:
+4591 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+4592 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_press:
+4593 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4594 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key3_press:
+4595 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+4596 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_press:
+4597 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4598 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4599 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key1_press:
+459a 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459b 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+459c 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key2_press:
+459d 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459e 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+459f 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key3_press:
+45a0 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+45a1 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+45a2 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_press:
+45a3 70473801 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+45a4 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key5_press:
+45a5 70473802 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+45a6 202045be branch remote_car_send_key 
+
+remote_car_send_fire_key6_press:
+45a7 70474101 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+45a8 202045c0 branch remote_car_send_attack 
+
+remote_car_single_motor_key_rel:
+45a9 18e27e00 copy queue ,pdata 
+45aa c00045b5 beq 0 ,remote_car_send_motor1_key0_rel 
+45ab c000c5b5 beq 1 ,remote_car_send_motor1_key1_rel 
+45ac c00145b7 beq 2 ,remote_car_send_motor2_key2_rel 
+45ad c001c5b7 beq 3 ,remote_car_send_motor2_key3_rel 
+45ae 20600000 rtn 
+
+remote_car_double_motor_key_rel:
+45af 18e27e00 copy queue ,pdata 
+45b0 c00045b9 beq 0 ,remote_car_send_double_motor_key0_rel 
+45b1 c000c5b9 beq 1 ,remote_car_send_double_motor_key1_rel 
+45b2 c00145b9 beq 2 ,remote_car_send_double_motor_key2_rel 
+45b3 c001c5b9 beq 3 ,remote_car_send_double_motor_key3_rel 
+45b4 20600000 rtn 
+
+remote_car_send_motor1_key0_rel:
+
+remote_car_send_motor1_key1_rel:
+45b5 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45b6 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_rel:
+
+remote_car_send_motor2_key3_rel:
+45b7 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45b8 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_rel:
+
+remote_car_send_double_motor_key1_rel:
+
+remote_car_send_double_motor_key2_rel:
+
+remote_car_send_double_motor_key3_rel:
+45b9 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45ba 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45bb 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_rel:
+
+remote_car_send_attack_key5_rel:
+45bc 70473800 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+45bd 202045be branch remote_car_send_key 
+
+remote_car_send_key:
+45be da20472e arg mem_remote_car_24g_motor_packet ,rega 
+45bf 20207e3d branch queue_push 
+
+remote_car_send_attack:
+45c0 da20473b arg mem_remote_car_24g_fire_packet ,rega 
+45c1 20207e3d branch queue_push 
+
+remote_car_g24_package_data:
+45c2 6800c764 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+45c3 c000c5cc beq work_paired ,remote_car_g24_send_empty 
+45c4 da204744 arg mem_remote_car_24g_tx_temp ,rega 
+45c5 20407e54 call queue_pop 
+45c6 243445d1 nbranch remote_car_moto_data ,user 
+
+remote_car_g24_package_data_continue:
+45c7 d8c04744 arg mem_remote_car_24g_tx_temp ,contr 
+45c8 e8c08000 ifetch 1 ,contr 
+45c9 1fe22200 copy pdata ,rega 
+45ca da404745 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+45cb 20600000 rtn 
+
+remote_car_g24_send_empty:
+45cc 70476400 jam 0 ,mem_remote_car_24g_pair_success_flag 
+45cd 78347c00 enable user 
+45ce da200001 arg 1 ,rega 
+45cf da404766 arg mem_remote_car_empty_packet ,regb 
+45d0 20600000 rtn 
+
+remote_car_moto_data:
+45d1 6800c747 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+45d2 c00245d5 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+45d3 c002c5d5 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+45d4 20600000 rtn 
+
+remote_car_moto_data_next:
+45d5 6800c74a fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+45d6 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d7 6800c74c fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+45d8 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d9 6800c74e fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+45da 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45db 20600000 rtn 
+
+remote_car_moto_data_enable_user:
+45dc 78347c00 enable user 
+45dd 202045c7 branch remote_car_g24_package_data_continue 
+
+shutter_init:
+45de 20758000 rtn wake 
+45df 68108081 hfetch 1 ,core_gpio_sel1 
+45e0 1fe17efc and_into 0xfc ,pdata 
+45e1 60108081 hstore 1 ,core_gpio_sel1 
+45e2 580046b4 setarg shutter_le_before_hibernate 
+45e3 600141eb store 2 ,mem_cb_before_hibernate 
+45e4 580046b3 setarg shutter_process_lpm_before 
+45e5 600141ed store 2 ,mem_cb_before_lpm 
+45e6 5800340a setarg app_enter_hibernate 
+45e7 600141f7 store 2 ,mem_cb_discovry_timeout 
+45e8 580046b1 setarg shutter_process_idle 
+45e9 600141f3 store 2 ,mem_cb_idle_process 
+45ea 58004612 setarg shutter_process_bb_event 
+45eb 600141f5 store 2 ,mem_cb_bb_event_process 
+45ec 5800460c setarg shutter_le_scale_lpm_lock 
+45ed 600141e9 store 2 ,mem_cb_check_wakelock 
+45ee 5800476a setarg ble_shutter_receive_data 
+45ef 600141f9 store 2 ,mem_cb_att_write 
+45f0 58004686 setarg shutter_le_bb_event_timer 
+45f1 600141fd store 2 ,mem_cb_event_timer 
+45f2 58004729 setarg shutter_key_change 
+45f3 600146e7 store 2 ,mem_cb_shutter_keycan 
+45f4 58004806 setarg shutter_soft_swtich_power_on 
+45f5 600146e2 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+45f6 58004807 setarg shutter_soft_swtich_power_off 
+45f7 600146e4 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+45f8 204057a3 call le_modified_name 
+45f9 204047da call shutter_load_bluetooth_config_by_user_config 
+45fa 20404788 call shutter_init_bluetooth_config 
+45fb 2040476d call shutter_init_param 
+45fc 20406948 call keyscan_key_init 
+45fd 2040477a call shutter_load_buffer_config_form_datarom 
+45fe 20407e38 call queue_init 
+45ff 20407d08 call ui_led_init_global 
+4600 20404793 call shutter_load_bluetooth_config 
+4601 204047c7 call shutter_load_bluetooth_config_by_eeprom 
+4602 44fac01e bpatch patch1e_5 ,mem_patch1e 
+4603 2040464f call classic_shutter_load_reconn_info 
+4604 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4605 c0004609 beq hard_switch ,shutter_hart_swtich_power_on 
+4606 6800c6de fetch 1 ,mem_shutter_soft_switch_button_gpio 
+4607 6000c686 store 1 ,mem_ui_button_gpio 
+4608 2020480e branch ui_soft_swtich_init 
+
+shutter_hart_swtich_power_on:
+4609 704686ff jam ui_button_gpio_disable ,mem_ui_button_gpio 
+460a 7046df01 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+460b 202046d9 branch shutter_start_reconnect 
+
+shutter_le_scale_lpm_lock:
+460c 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+460d c00133d0 beq ss_state_power_off ,app_get_lpm_wake_lock 
+460e 2040527e call l2cap_malloc_get_full_map 
+460f 6800c256 fetch 1 ,mem_used_map 
+4610 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+4611 202033d2 branch app_put_lpm_wake_lock 
+
+shutter_process_bb_event:
+4612 1a627e00 copy regc ,pdata 
+4613 c000c626 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+4614 c0014629 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+4615 c0024631 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+4616 c002c633 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+4617 c0034635 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+4618 c003c638 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+4619 c009463c beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+461a c009c644 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+461b c013c645 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+461c c0174648 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+461d c01ec649 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+461e c00a4658 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+461f c00ac65c beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+4620 c01fc65f beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+4621 c0204665 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+4622 c008466b beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+4623 c016466c beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+4624 c016c677 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+4625 20600000 rtn 
+
+classic_shutter_process_baseband_connect:
+4626 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4627 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4628 20600000 rtn 
+
+classic_shutter_process_baseband_disconnect:
+4629 2040462b call classic_shutter_disconnect_clear_flag 
+462a 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_disconnect_clear_flag:
+462b 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+462c 70468000 jam 0 ,mem_hid_handshake_timer_count 
+462d 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+462e 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+462f 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4630 20207e38 branch queue_init 
+
+classic_shutter_process_reconnect_failed:
+4631 204033a9 call app_disconn_reason_clear 
+4632 202046c2 branch shutter_start_bluetooth_discovery 
+
+classic_shutter_process_setup_complete:
+4633 204046b6 call shutter_stop_bluetooth_discovery 
+4634 20203408 branch app_led_stop_blink 
+
+classic_shutter_process_hid_connect:
+4635 58000002 setarg hid_handshake_timeout 
+4636 6000c680 store 1 ,mem_hid_handshake_timer_count 
+4637 20600000 rtn 
+
+classic_shutter_process_hid_disconnect:
+4638 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4639 58000001 setarg flag_shutter_hid_disconn_timeout 
+463a 6000c6ad store 1 ,mem_classic_shutter_hid_disconn_count 
+463b 20600000 rtn 
+
+classic_shutter_process_hid_handshake:
+463c 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+463d c1008000 rtneq app_handshake_done 
+463e 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+463f 20403416 call app_lpm_mult_enable 
+4640 20403414 call app_store_reconn_info 
+4641 204046b6 call shutter_stop_bluetooth_discovery 
+4642 20403408 call app_led_off 
+4643 2020340e branch app_bt_enter_sniff 
+
+classic_shutter_process_reconnect_page_timeout:
+4644 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_process_virtual_cable_unplug:
+4645 58000005 setarg flag_shutter_cable_unplug_timeout 
+4646 6000c6ac store 1 ,mem_classic_shutter_cable_unplug_conut 
+4647 20600000 rtn 
+
+classic_shutter_process_remote_unsniff:
+4648 202033cd branch app_start_auto_sniff 
+
+classic_shutter_process_store_reconnect_information:
+4649 da400000 arg nvram_eeprom_offset ,regb 
+464a 6800c217 fetch 1 ,mem_nv_data_number 
+464b 1fef8422 mul32 pdata ,34 ,temp 
+464c 68014215 fetch 2 ,mem_nv_data_ptr 
+464d 1fe22200 copy pdata ,rega 
+464e 20206606 branch iicd_write_eep_data 
+
+classic_shutter_load_reconn_info:
+464f da400000 arg nvram_eeprom_offset ,regb 
+4650 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4651 c4008000 rtnbit0 classic_shutter 
+4652 6800c217 fetch 1 ,mem_nv_data_number 
+4653 207a0000 rtn blank 
+4654 1fef8422 mul32 pdata ,34 ,temp 
+4655 68014215 fetch 2 ,mem_nv_data_ptr 
+4656 1fe22200 copy pdata ,rega 
+4657 202065df branch iicd_read_eep_data 
+
+ble_shutter_process_baseband_connect:
+4658 204046b6 call shutter_stop_bluetooth_discovery 
+4659 58000000 setarg 0 
+465a 600146b7 store 2 ,mem_ble_shutter_reconn_timer 
+465b 20203408 branch app_led_off 
+
+ble_shutter_process_baseband_disconnect:
+465c 20407e38 call queue_init 
+465d 7046b000 jam 0 ,mem_ble_shutter_enable_notify 
+465e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_process_reconnect_complete:
+465f 20407e38 call queue_init 
+4660 7046b001 jam 1 ,mem_ble_shutter_enable_notify 
+4661 680446c1 fetch 8 ,mem_ble_shutter_interval_min 
+4662 60044496 store 8 ,mem_le_interval_min 
+4663 20403416 call app_lpm_mult_enable 
+4664 20205abf branch le_l2cap_tx_update_req 
+
+ble_shutter_process_parse_connect_parameter_update_response:
+4665 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+4666 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+4667 680446c9 fetch 8 ,mem_ble_shutter_interval_min_new 
+4668 207a0000 rtn blank 
+4669 60044496 store 8 ,mem_le_interval_min 
+466a 20205abf branch le_l2cap_tx_update_req 
+
+shutter_process_soft_swtich_button_long_press:
+466b 2020481f branch ui_soft_switch_botton_long_press 
+
+shutter_process_soft_swtich_button_down:
+466c 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+466d c1000000 rtneq hard_switch 
+466e 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+466f c1808000 rtnne ss_state_power_on 
+4670 20404672 call shutter_store_currenct_led_state 
+4671 20203406 branch app_led_on 
+
+shutter_store_currenct_led_state:
+4672 7048df01 jam 1 ,mem_shutter_soft_swtich_botton_down 
+4673 df20000b arg 11 ,loopcnt 
+4674 d8a048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+4675 d8c048c9 arg mem_shutter_led_struct_app_led ,contr 
+4676 20207f01 branch memcpy 
+
+shutter_process_soft_swtich_button_up:
+4677 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4678 c1000000 rtneq hard_switch 
+4679 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+467a c000c67c beq ss_state_power_on ,shutter_load_currenct_led_state 
+467b 2020481b branch ui_soft_switch_botton_up 
+
+shutter_load_currenct_led_state:
+467c 6800c8df fetch 1 ,mem_shutter_soft_swtich_botton_down 
+467d c1808000 rtnne 1 
+467e 7048df00 jam 0 ,mem_shutter_soft_swtich_botton_down 
+467f 68014682 fetch 2 ,mem_ui_state_map 
+4680 c2803408 bbit1 ui_state_bt_connected ,app_led_off 
+4681 c284b408 bbit1 ui_state_ble_connected ,app_led_off 
+4682 df20000b arg 11 ,loopcnt 
+4683 d8c048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+4684 d8a048c9 arg mem_shutter_led_struct_app_led ,contw 
+4685 20207f01 branch memcpy 
+
+shutter_le_bb_event_timer:
+4686 2040468c call shutter_check_sleep_timer 
+4687 20404693 call shutter_check_power_off_timer 
+4688 2040469e call classic_shutter_check_unplug_timer 
+4689 204046a6 call classic_shutter_hid_handshake_timer 
+468a 204046a9 call classic_shutter_hid_disconn_timer 
+468b 202046ac branch ble_shutter_reconn_timer 
+
+shutter_check_sleep_timer:
+468c da6046db arg mem_shutter_sleep_timer ,regc 
+468d da40468f arg shutter_sleep_timeout ,regb 
+468e 20203374 branch timer_single_step_2b 
+
+shutter_sleep_timeout:
+468f 7046df02 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+4690 20403408 call app_led_off 
+4691 204046f4 call shutter_disconnect_current_connection 
+4692 2020480b branch shutter_wait_power_off 
+
+shutter_check_power_off_timer:
+4693 da6048ec arg mem_shutter_power_off_timer ,regc 
+4694 da404696 arg shutter_check_power_off_timeout ,regb 
+4695 2020336d branch timer_single_step 
+
+shutter_check_power_off_timeout:
+4696 68014682 fetch 2 ,mem_ui_state_map 
+4697 c284c80b bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+4698 c280480b bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+4699 6800c8c9 fetch 1 ,mem_shutter_led_struct_app_led_type 
+469a c000c80b beq ui_led_state_blink_start ,shutter_wait_power_off 
+469b c002480b beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+469c c002c80b beq ui_led_state_blink_darking ,shutter_wait_power_off 
+469d 2020340a branch app_enter_hibernate 
+
+classic_shutter_check_unplug_timer:
+469e da6046ac arg mem_classic_shutter_cable_unplug_conut ,regc 
+469f da4046a1 arg classic_shutter_unplug_timeout ,regb 
+46a0 2020336d branch timer_single_step 
+
+classic_shutter_unplug_timeout:
+46a1 6800827f fetch 1 ,mem_control_tasks 
+46a2 79207e00 set1 l2cap_disconnect_interrupt ,pdata 
+46a3 79207e07 set1 l2cap_disconnect_control ,pdata 
+46a4 6000827f store 1 ,mem_control_tasks 
+46a5 20600000 rtn 
+
+classic_shutter_hid_handshake_timer:
+46a6 da604680 arg mem_hid_handshake_timer_count ,regc 
+46a7 da40463c arg classic_shutter_process_hid_handshake ,regb 
+46a8 2020336d branch timer_single_step 
+
+classic_shutter_hid_disconn_timer:
+46a9 da6046ad arg mem_classic_shutter_hid_disconn_count ,regc 
+46aa da4033e9 arg app_bt_disconnect ,regb 
+46ab 2020336d branch timer_single_step 
+
+ble_shutter_reconn_timer:
+46ac 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46ad c1808000 rtnne ss_state_power_on 
+46ae da6046b7 arg mem_ble_shutter_reconn_timer ,regc 
+46af da4046c2 arg shutter_start_bluetooth_discovery ,regb 
+46b0 20203374 branch timer_single_step_2b 
+
+shutter_process_idle:
+46b1 2040473a call shutter_send_data_to_master 
+46b2 20206978 branch keyscan_key_process 
+
+shutter_process_lpm_before:
+46b3 2020696c branch keyscan_process_lpm_before 
+
+shutter_le_before_hibernate:
+46b4 20406835 call gpio_set_before_lpm_common 
+46b5 202046b3 branch shutter_process_lpm_before 
+
+shutter_stop_bluetooth_discovery:
+46b6 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46b7 c280c6be bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+46b8 c28046ba bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+46b9 20600000 rtn 
+
+ble_shutter_stop_bluetooth_discovery:
+46ba 680146d7 fetch 2 ,mem_ble_shutter_connect_timeout 
+46bb 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46bc 600146db store 2 ,mem_shutter_sleep_timer 
+46bd 202033f8 branch app_ble_stop_adv 
+
+classic_shutter_stop_bluetooth_discovery:
+46be 680146d3 fetch 2 ,mem_classic_shutter_connect_timeout 
+46bf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46c0 600146db store 2 ,mem_shutter_sleep_timer 
+46c1 202033f0 branch app_bt_stop_discovery 
+
+shutter_start_bluetooth_discovery:
+46c2 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46c3 c1808000 rtnne ss_state_power_on 
+46c4 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46c5 c280c6c8 bbit1 classic_shutter ,classic_shutter_start_discovery 
+46c6 c28046cc bbit1 ble_shutter ,ble_shutter_start_discovery 
+46c7 20600000 rtn 
+
+classic_shutter_start_discovery:
+46c8 680146d1 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+46c9 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46ca 600146db store 2 ,mem_shutter_sleep_timer 
+46cb 202033eb branch app_bt_start_discovery_short 
+
+ble_shutter_start_discovery:
+46cc 68014682 fetch 2 ,mem_ui_state_map 
+46cd c3848000 rtnbit1 ui_state_ble_connected 
+46ce 680146d5 fetch 2 ,mem_ble_shutter_discovery_timeout 
+46cf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46d0 600146db store 2 ,mem_shutter_sleep_timer 
+46d1 680146b3 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+46d2 204046f0 call shutter_ble_adv_interval_set 
+46d3 20403404 call app_led_start_blink 
+46d4 680246bd fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+46d5 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46d6 68014682 fetch 2 ,mem_ui_state_map 
+46d7 c3858000 rtnbit1 ui_state_ble_adv 
+46d8 202033fa branch app_ble_start_adv 
+
+shutter_start_reconnect:
+46d9 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46da c1808000 rtnne ss_state_power_on 
+46db 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46dc c280c6df bbit1 classic_shutter ,classic_shutter_start_reconnect 
+46dd c28046e4 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+46de 20600000 rtn 
+
+classic_shutter_start_reconnect:
+46df 204046f8 call app_check_reconn_target 
+46e0 203a46c2 branch shutter_start_bluetooth_discovery ,blank 
+46e1 20403406 call app_led_on 
+46e2 204033f0 call app_bt_stop_discovery 
+46e3 202033e1 branch app_bt_start_reconnect 
+
+ble_shutter_start_reconnect:
+46e4 680146b7 fetch 2 ,mem_ble_shutter_reconn_timer 
+46e5 680946b5 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+46e6 600946b7 storet 2 ,mem_ble_shutter_reconn_timer 
+46e7 247a0000 nrtn blank 
+46e8 680146b1 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+46e9 204046f0 call shutter_ble_adv_interval_set 
+46ea 20403404 call app_led_start_blink 
+46eb 680246b9 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+46ec 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46ed 68014682 fetch 2 ,mem_ui_state_map 
+46ee c3858000 rtnbit1 ui_state_ble_adv 
+46ef 202033fa branch app_ble_start_adv 
+
+shutter_ble_adv_interval_set:
+46f0 60014154 store 2 ,mem_lpm_interval 
+46f1 1fe0fffc increase -4 ,pdata 
+46f2 60014482 store 2 ,mem_le_adv_interval 
+46f3 20600000 rtn 
+
+shutter_disconnect_current_connection:
+46f4 68014682 fetch 2 ,mem_ui_state_map 
+46f5 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+46f6 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+46f7 202046b6 branch shutter_stop_bluetooth_discovery 
+
+app_check_reconn_target:
+46f8 6800c217 fetch 1 ,mem_nv_data_number 
+46f9 1fe27200 copy pdata ,loopcnt 
+46fa 68014215 fetch 2 ,mem_nv_data_ptr 
+46fb 1fe22200 copy pdata ,rega 
+
+app_check_reconn_target_loop:
+46fc ea210000 ifetch 2 ,rega 
+46fd c0004701 beq 0 ,found_reconn_device 
+46fe 1a20a222 increase nv_data_len ,rega 
+46ff c20046fc loop app_check_reconn_target_loop 
+4700 20207ff1 branch enable_blank 
+
+found_reconn_device:
+4701 e8c30000 ifetch 6 ,contr 
+4702 600341d0 store 6 ,mem_hci_plap 
+4703 18c08c0a increase 10 ,contr 
+4704 d8a041be arg mem_link_key ,contw 
+4705 20407ebf call memcpy16 
+4706 204067d7 call check_link_key_load 
+4707 20207fef branch disable_blank 
+
+shutter_check_data_enable:
+4708 20407fe9 call disable_user 
+4709 68014682 fetch 2 ,mem_ui_state_map 
+470a c280470d bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+470b c284c710 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+470c 20600000 rtn 
+
+shutter_check_bt_data_enable:
+470d 6800c253 fetch 1 ,mem_hid_interrupt_state 
+470e c19f8000 rtnne 0x3f 
+470f 20207fe7 branch enable_user 
+
+shutter_check_ble_data_enable:
+4710 6800c6b0 fetch 1 ,mem_ble_shutter_enable_notify 
+4711 207a0000 rtn blank 
+4712 20207fe7 branch enable_user 
+
+shutter_check_bluetooth_conn:
+4713 20407fe9 call disable_user 
+4714 68014682 fetch 2 ,mem_ui_state_map 
+4715 c3800000 rtnbit1 ui_state_bt_connected 
+4716 c3848000 rtnbit1 ui_state_ble_connected 
+4717 20207fe7 branch enable_user 
+
+shutter_change_bluetooth_status_bt_disconn:
+4718 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4719 c280c71c bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+471a c280471f bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+471b 20600000 rtn 
+
+classic_shutter_change_bluetooth_status_bt_disconn:
+471c 6800c093 fetch 1 ,mem_scan_mode 
+471d c1818000 rtnne 0x03 
+471e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_change_bluetooth_status_bt_disconn:
+471f 202046d9 branch shutter_start_reconnect 
+
+shutter_check_send_data:
+4720 78567c00 disable user2 
+4721 680146d9 fetch 2 ,mem_shutter_sleep_timeout 
+4722 600146db store 2 ,mem_shutter_sleep_timer 
+4723 20404713 call shutter_check_bluetooth_conn 
+4724 20344718 branch shutter_change_bluetooth_status_bt_disconn ,user 
+4725 20404708 call shutter_check_data_enable 
+4726 24740000 nrtn user 
+4727 78367c00 enable user2 
+4728 20600000 rtn 
+
+shutter_key_change:
+4729 20404720 call shutter_check_send_data 
+472a 24760000 nrtn user2 
+472b 1a227e00 deposit rega 
+472c 203a4730 branch shutter_key_release ,blank 
+
+shutter_key_press:
+472d 20403406 call app_led_on 
+472e da6046f1 arg mem_key0_press ,regc 
+472f 20204732 branch push_queue_press_or_release 
+
+shutter_key_release:
+4730 20403408 call app_led_off 
+4731 da604719 arg mem_key0_release ,regc 
+
+push_queue_press_or_release:
+4732 dfe00005 arg max_queue_num ,pdata 
+4733 98effe00 imul32 queue ,pdata 
+4734 9a60a600 iadd regc ,regc 
+
+push_buffer_in_queue:
+4735 ea608000 ifetch 1 ,regc 
+4736 207a0000 rtn blank 
+4737 20404762 call queue_push_one_byte 
+4738 1a60a601 increase 1 ,regc 
+4739 20204735 branch push_buffer_in_queue 
+
+shutter_send_data_to_master:
+473a 68014682 fetch 2 ,mem_ui_state_map 
+473b c284c73e bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+473c c280474e bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+473d 20600000 rtn 
+
+pop_queue_to_ble_data:
+473e 20405892 call le_fifo_check_nearly_full 
+473f 247a0000 nrtn blank 
+4740 20404765 call queue_pop_one_byte 
+4741 24740000 nrtn user 
+4742 1fe0ffff pincrease -1 
+4743 1feffe05 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+4744 d8404741 arg mem_ble_data_buffer1 ,temp 
+4745 98408c00 iadd temp ,contr 
+
+le_send_notify_from_list:
+4746 e8c08000 ifetch 1 ,contr 
+4747 1fe22200 copy pdata ,rega 
+4748 e8c90000 ifetcht 2 ,contr 
+4749 20407ea5 call store_contr 
+474a 20405a64 call le_att_malloc_tx_notify 
+474b 1a227200 copy rega ,loopcnt 
+474c 20407e9f call get_contr 
+474d 20207f01 branch memcpy 
+
+pop_queue_to_classic_data:
+474e 20405271 call l2cap_malloc_is_fifo_nearly_full 
+474f 247a0000 nrtn blank 
+4750 20404765 call queue_pop_one_byte 
+4751 24740000 nrtn user 
+4752 1fe0ffff pincrease -1 
+4753 1feffe05 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+4754 d84047a0 arg mem_classic_data_buffer1 ,temp 
+4755 98408c00 iadd temp ,contr 
+4756 e8c28000 ifetch 5 ,contr 
+4757 6002c79b store 5 ,mem_classic_data_buffer 
+
+classic_send_hid_data:
+4758 6800c79b fetch 1 ,mem_classic_data_buffer 
+4759 1fe22200 copy pdata ,rega 
+475a 20404d63 call hid_malloc_tx_buff 
+475b 6801424e fetch 2 ,mem_hid_int_remote_cid 
+475c e0a10000 istore 2 ,contw 
+475d 580000a1 setarg 0xa1 
+475e e0a08000 istore 1 ,contw 
+475f 6802479c fetch 4 ,mem_classic_data_buffer + 1 
+4760 e0a48000 istore 9 ,contw 
+4761 20600000 rtn 
+
+queue_push_one_byte:
+4762 60008a9a store 1 ,mem_pdatatemp 
+4763 da200a9a arg mem_pdatatemp ,rega 
+4764 20207e3d branch queue_push 
+
+queue_pop_one_byte:
+4765 da200a9a arg mem_pdatatemp ,rega 
+4766 20407e54 call queue_pop 
+4767 24740000 nrtn user 
+4768 68008a9a fetch 1 ,mem_pdatatemp 
+4769 20600000 rtn 
+
+ble_shutter_receive_data:
+476a 68010478 fetch 2 ,mem_le_att_handle 
+476b c00c465f beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+476c 20600000 rtn 
+
+shutter_init_param:
+476d 58000002 setarg 0x02 
+476e 6000c8eb store 1 ,mem_shutter_power_off_timeout 
+476f 58200008 setarg 0x00200008 
+4770 600246c1 store 4 ,mem_ble_shutter_interval_min 
+4771 592c0005 setarg 0x012c0005 
+4772 e0a20000 istore 4 ,contw 
+4773 7044a617 jam 0x17 ,mem_le_local_mtu 
+4774 5800001b setarg 0x1b 
+4775 600144fa store 2 ,mem_le_pairing_handle 
+4776 20405810 call le_set_config_fixed_ltk 
+4777 2040582c call le_set_fixed_ltk 
+4778 20405839 call le_set_justwork 
+4779 20205818 branch le_set_config_read_authentication 
+
+shutter_load_buffer_config_form_datarom:
+477a df200028 arg ble_key_value_list_size ,loopcnt 
+477b d8a04741 arg mem_ble_data_buffer1 ,contw 
+477c d8c0949f arg ble_shutter_key_value_list ,contr 
+477d 20407ef4 call memcpy_fast 
+477e df200028 arg bt_key_value_list_size ,loopcnt 
+477f d8a047a0 arg mem_classic_data_buffer1 ,contw 
+4780 d8c094c7 arg classic_shutter_key_value_list ,contr 
+4781 20207ef4 branch memcpy_fast 
+
+shutter_load_ble_gatt_form_datarom:
+4782 df20017e arg ble_gatt_list_size ,loopcnt 
+4783 d8c0913a arg ble_shutter_gatt_list ,contr 
+4784 20207ef4 branch memcpy_fast 
+
+shutter_load_bt_sdp_form_datarom:
+4785 df2001e7 arg bt_sdp_list_size ,loopcnt 
+4786 d8c092b8 arg classic_shutter_sdp_list ,contr 
+4787 20207ef4 branch memcpy_fast 
+
+shutter_init_bluetooth_config:
+4788 204047ae call shutter_check_load_config_flag 
+4789 24740000 nrtn user 
+478a 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+478b 20404790 call shutter_init_bluetooth_config_gpio_input 
+478c 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+478d 20404790 call shutter_init_bluetooth_config_gpio_input 
+478e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+478f 20204790 branch shutter_init_bluetooth_config_gpio_input 
+
+shutter_init_bluetooth_config_gpio_input:
+4790 207a0000 rtn blank 
+4791 1fe18480 or pdata ,0x80 ,temp 
+4792 202067f9 branch gpio_config_input_nowake 
+
+shutter_load_bluetooth_config:
+4793 204047ae call shutter_check_load_config_flag 
+4794 24740000 nrtn user 
+4795 20404797 call shutter_load_bluetooth_config_label 
+4796 202047b4 branch shutter_load_bluetooth_config_by_otp 
+
+shutter_load_bluetooth_config_label:
+4797 da200000 arg 0 ,rega 
+4798 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+4799 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479a 7d3a2200 nsetflag blank ,0 ,rega 
+479b 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+479c 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479d 7d3a2201 nsetflag blank ,1 ,rega 
+479e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+479f 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+47a0 7d3a2202 nsetflag blank ,2 ,rega 
+47a1 1a227e00 copy rega ,pdata 
+47a2 6000c6a9 store 1 ,mem_shutter_config_label 
+47a3 6800c69e fetch 1 ,mem_shutter_config_size 
+47a4 9a2ffe00 imul32 rega ,pdata 
+47a5 6809469c fetcht 2 ,mem_shutter_config_otp_base_address 
+47a6 9840fe00 iadd temp ,pdata 
+47a7 600146aa store 2 ,mem_shutter_config_otp_addr 
+47a8 20600000 rtn 
+
+shutter_load_bluetooth_config_read_gpio_input:
+47a9 207a0000 rtn blank 
+47aa 1fe18480 or pdata ,0x80 ,temp 
+47ab 2040681d call gpio_get_bit 
+47ac 2420fff1 nbranch enable_blank ,true 
+47ad 20207fef branch disable_blank 
+
+shutter_check_load_config_flag:
+47ae 20407fe9 call disable_user 
+47af 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47b0 247a0000 nrtn blank 
+47b1 6800c69b fetch 1 ,mem_shutter_config_enable 
+47b2 207a0000 rtn blank 
+47b3 20207fe7 branch enable_user 
+
+shutter_load_bluetooth_config_by_otp:
+47b4 2040666a call otp_enable_chgpump 
+47b5 680146aa fetch 2 ,mem_shutter_config_otp_addr 
+47b6 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47b7 6808c69e fetcht 1 ,mem_shutter_config_size 
+47b8 204066b3 call otpd_read_data 
+47b9 2040666d call otp_disable_chgpump 
+
+shutter_load_bluetooth_config_store_name:
+47ba 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bb 1fe27200 copy pdata ,loopcnt 
+47bc 6000c3af store 1 ,mem_le_name_len 
+47bd 20407ef4 call memcpy_fast 
+47be 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bf 1fe27200 copy pdata ,loopcnt 
+47c0 6000c515 store 1 ,mem_local_name_length 
+47c1 20407ef4 call memcpy_fast 
+47c2 e8c08000 ifetch 1 ,contr 
+47c3 6000c6e6 store 1 ,mem_shutter_key_num 
+47c4 e8c08000 ifetch 1 ,contr 
+47c5 6000c6dd store 1 ,mem_shutter_hard_soft_switch_case 
+47c6 20600000 rtn 
+
+shutter_load_bluetooth_config_by_eeprom:
+47c7 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47c8 c4008000 rtnbit0 classic_shutter 
+47c9 d8400003 arg 3 ,temp 
+47ca 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47cb 1fe22400 copy pdata ,regb 
+47cc da2046a6 arg mem_shutter_config_eeprom_start_flag ,rega 
+47cd 204065df call iicd_read_eep_data 
+47ce 680946a6 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+47cf 58001b3a setarg shutter_eeprom_config_crc 
+47d0 98467c00 isub temp ,null 
+47d1 24628000 nrtn zero 
+47d2 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47d3 207a0000 rtn blank 
+47d4 1fe20400 copy pdata ,temp 
+47d5 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47d6 1fe0a403 add pdata ,3 ,regb 
+47d7 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47d8 204065df call iicd_read_eep_data 
+47d9 202047e8 branch shutter_store_config 
+
+shutter_load_bluetooth_config_by_user_config:
+47da 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47db 207a0000 rtn blank 
+47dc 2040666a call otp_enable_chgpump 
+47dd d8400001 arg 1 ,temp 
+47de da2046a8 arg mem_shutter_config_user_size ,rega 
+47df 204066b3 call otpd_read_data 
+47e0 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47e1 207a0000 rtn blank 
+47e2 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47e3 1fe0fe01 pincrease 1 
+47e4 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47e5 6808c6a8 fetcht 1 ,mem_shutter_config_user_size 
+47e6 204066b3 call otpd_read_data 
+47e7 2040666d call otp_disable_chgpump 
+
+shutter_store_config:
+47e8 204047ba call shutter_load_bluetooth_config_store_name 
+
+shutter_load_bluetooth_config_custom:
+47e9 e8c10000 ifetch 2 ,contr 
+47ea 207a0000 rtn blank 
+47eb 1fe20a00 copy pdata ,contw 
+47ec e8c88000 ifetcht 1 ,contr 
+47ed 18427200 copy temp ,loopcnt 
+47ee 20407f01 call memcpy 
+47ef 202047e9 branch shutter_load_bluetooth_config_custom 
+
+shutter_random_mac_addr:
+47f0 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47f1 c4008000 rtnbit0 classic_shutter 
+47f2 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47f3 1fe22400 copy pdata ,regb 
+47f4 d8400004 arg 4 ,temp 
+47f5 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+47f6 204065df call iicd_read_eep_data 
+47f7 68008ac2 fetch 1 ,mem_shutter_random_mac_data_temp 
+47f8 c080c7f9 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+
+shutter_write_random_mac_addr_to_eeprom:
+47f9 58000001 setarg 1 
+47fa 60008ac2 store 1 ,mem_shutter_random_mac_data_temp 
+47fb 18007203 force 3 ,loopcnt 
+47fc 2040630d call generate_random_loop 
+47fd 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47fe 1fe22400 copy pdata ,regb 
+47ff d8400004 arg 4 ,temp 
+4800 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+4801 20406606 call iicd_write_eep_data 
+
+shutter_write_random_mac_addr:
+4802 68018ac3 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+4803 6001c0a0 store 3 ,mem_lap 
+4804 6001c4a0 store 3 ,mem_le_lap 
+4805 20600000 rtn 
+
+shutter_soft_swtich_power_on:
+4806 202046d9 branch shutter_start_reconnect 
+
+shutter_soft_swtich_power_off:
+4807 da200000 arg 0 ,rega 
+4808 da6048d4 arg mem_shutter_power_off_led_style ,regc 
+4809 20407d24 call ui_led_set_style_global 
+480a 204046f4 call shutter_disconnect_current_connection 
+
+shutter_wait_power_off:
+480b 6800c8eb fetch 1 ,mem_shutter_power_off_timeout 
+480c 6000c8ec store 1 ,mem_shutter_power_off_timer 
+480d 20600000 rtn 
+
+ui_soft_swtich_init:
+480e 58000000 setarg ss_state_power_up 
+480f 20404816 call ui_soft_swtich_init_power_on_time 
+4810 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+4811 20407cd3 call ui_button_init 
+4812 20407cdd call ui_button_polling 
+4813 68014682 fetch 2 ,mem_ui_state_map 
+4814 c3860000 rtnbit1 ui_state_btn_down 
+4815 2020340a branch app_enter_hibernate 
+
+ui_soft_swtich_init_power_on_time:
+4816 6809423f fetcht 2 ,mem_power_param_ptr 
+4817 e0408000 istore 1 ,temp 
+4818 e8a08000 ifetch 1 ,contw 
+4819 6000c685 store 1 ,mem_ui_button_timeout 
+481a 20600000 rtn 
+
+ui_soft_switch_botton_up:
+481b 6801423f fetch 2 ,mem_power_param_ptr 
+481c efe08000 ifetch 1 ,pdata 
+481d c1800000 rtnne ss_state_power_up 
+481e 2020340a branch app_enter_hibernate 
+
+ui_soft_switch_botton_long_press:
+481f 6809423f fetcht 2 ,mem_power_param_ptr 
+4820 e8408000 ifetch 1 ,temp 
+4821 c000c82a beq ss_state_power_on ,ui_soft_switch_power_off 
+
+ui_soft_switch_power_on:
+4822 58000001 setarg ss_state_power_on 
+4823 6809423f fetcht 2 ,mem_power_param_ptr 
+4824 e0408000 istore 1 ,temp 
+4825 18408c02 add temp ,ss_power_off_time ,contr 
+4826 e8c08000 ifetch 1 ,contr 
+4827 e0a08000 istore 1 ,mem_ui_button_timeout 
+4828 e8c10000 ifetch 2 ,contr 
+4829 20207f9c branch callback_func 
+
+ui_soft_switch_power_off:
+482a 58000002 setarg ss_state_power_off 
+482b 20404816 call ui_soft_swtich_init_power_on_time 
+482c 18408c05 add temp ,ss_power_off_cb ,contr 
+482d e8c10000 ifetch 2 ,contr 
+482e 203a340a branch app_enter_hibernate ,blank 
+482f 20207f9c branch callback_func 
+
+shutter_byteswap:
+4830 60030101 store 6 ,mem_tmp_buffer 
+4831 68008101 fetch 1 ,mem_tmp_buffer 
+4832 6000810c store 1 ,mem_tmp_buffer + 11 
+4833 e8c08000 ifetch 1 ,contr 
+4834 6000810b store 1 ,mem_tmp_buffer + 10 
+4835 e8c08000 ifetch 1 ,contr 
+4836 6000810a store 1 ,mem_tmp_buffer + 9 
+4837 e8c08000 ifetch 1 ,contr 
+4838 60008109 store 1 ,mem_tmp_buffer + 8 
+4839 e8c08000 ifetch 1 ,contr 
+483a 60008108 store 1 ,mem_tmp_buffer + 7 
+483b e8c08000 ifetch 1 ,contr 
+483c 60008107 store 1 ,mem_tmp_buffer + 6 
+483d 68030107 fetch 6 ,mem_tmp_buffer + 6 
+483e 20600000 rtn 
+
+shutter_random_addr_by_otp:
+483f 204068a2 call load_adc_init 
+4840 6800c223 fetch 1 ,mem_1v_adc_io_data 
+4841 6000c4a0 store 1 ,mem_le_lap 
+4842 6800c225 fetch 1 ,mem_5v_adc_hvin_data 
+4843 e0a08000 istore 1 ,contw 
+4844 6800c227 fetch 1 ,mem_3v_adc_vinlpm_data 
+4845 e0a08000 istore 1 ,contw 
+4846 6801c4a0 fetch 3 ,mem_le_lap 
+4847 6001c0a0 store 3 ,mem_lap 
+4848 20600000 rtn 
+
+sim_iic_read_eep_data:
+4849 68014203 fetch 2 ,mem_eeprom_base 
+484a 9a40fe00 iadd regb ,pdata 
+484b 1ff0fe00 byteswap pdata ,pdata 
+484c 600101f7 store 2 ,mem_addr_mi 
+484d 18422400 copy temp ,regb 
+484e 2040489b call sim_iic_start 
+484f 580000a0 setarg 0xa0 
+4850 2040488d call sim_iic_send_byte 
+4851 680081f7 fetch 1 ,mem_addr_mi 
+4852 2040488d call sim_iic_send_byte 
+4853 c5144856 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+4854 680081f8 fetch 1 ,mem_addr_mi + 1 
+4855 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_2k:
+4856 204048a1 call sim_iic_stop 
+4857 2040489b call sim_iic_start 
+4858 580000a1 setarg 0xa1 
+4859 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_loop:
+485a 2040487f call sim_iic_read_byte 
+485b e2208000 istore 1 ,rega 
+485c 1a20a201 increase 1 ,rega 
+485d 1a40a5ff increase -1 ,regb 
+485e 2422c85a nbranch sim_iic_read_eep_data_loop ,zero 
+485f 202048a1 branch sim_iic_stop 
+
+sim_iic_write_eep_data:
+4860 1a50fe00 byteswap regb ,pdata 
+4861 600101f7 store 2 ,mem_addr_mi 
+4862 18422400 copy temp ,regb 
+4863 2040489b call sim_iic_start 
+4864 580000a0 setarg 0xa0 
+4865 2040488d call sim_iic_send_byte 
+4866 680081f7 fetch 1 ,mem_addr_mi 
+4867 2040488d call sim_iic_send_byte 
+4868 c514486b bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+4869 680081f8 fetch 1 ,mem_addr_mi + 1 
+486a 2040488d call sim_iic_send_byte 
+
+sim_iic_write_eep_data_loop:
+486b ea208000 ifetch 1 ,rega 
+486c 2040488d call sim_iic_send_byte 
+486d 1a20a201 increase 1 ,rega 
+486e 1a40a5ff increase -1 ,regb 
+486f 2422c86b nbranch sim_iic_write_eep_data_loop ,zero 
+4870 202048a1 branch sim_iic_stop 
+
+sim_iic_wait_ack:
+4871 df20000a arg 10 ,loopcnt 
+4872 204048be call sim_iic_release_sda 
+4873 204048a6 call sim_iic_scl_output_high 
+4874 204048d2 call sim_iic_delay 
+
+sim_iic_wait_ack_loop:
+4875 204048c7 call sim_iic_read_sda_level 
+4876 203a48a9 branch sim_iic_scl_output_low ,blank 
+4877 c2004875 loop sim_iic_wait_ack_loop 
+4878 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_ack_slave:
+4879 204048a9 call sim_iic_scl_output_low 
+487a 204048af call sim_iic_sda_output_low 
+487b 204048d2 call sim_iic_delay 
+487c 204048a6 call sim_iic_scl_output_high 
+487d 204048d2 call sim_iic_delay 
+487e 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_read_byte:
+487f df200008 arg 8 ,loopcnt 
+4880 da600000 arg 0 ,regc 
+4881 204048be call sim_iic_release_sda 
+
+sim_iic_read_byte_loop:
+4882 204048a6 call sim_iic_scl_output_high 
+4883 204048d2 call sim_iic_delay 
+4884 1a63a600 lshift regc ,regc 
+4885 204048c7 call sim_iic_read_sda_level 
+4886 9a60a600 iadd regc ,regc 
+4887 204048d2 call sim_iic_delay 
+4888 204048a9 call sim_iic_scl_output_low 
+4889 c2004882 loop sim_iic_read_byte_loop 
+488a 20404879 call sim_iic_ack_slave 
+488b 1a627e00 copy regc ,pdata 
+488c 20600000 rtn 
+
+sim_iic_send_byte:
+488d df200008 arg 8 ,loopcnt 
+488e 1fe22600 copy pdata ,regc 
+488f 204048a9 call sim_iic_scl_output_low 
+
+sim_iic_send_byte_loop:
+4890 2a6ffe07 isolate1 7 ,regc 
+4891 2040c8ac call sim_iic_sda_output_high ,true 
+4892 2440c8af ncall sim_iic_sda_output_low ,true 
+4893 1a63a600 lshift regc ,regc 
+4894 204048d2 call sim_iic_delay 
+4895 204048a6 call sim_iic_scl_output_high 
+4896 204048d2 call sim_iic_delay 
+4897 204048a9 call sim_iic_scl_output_low 
+4898 204048d2 call sim_iic_delay 
+4899 c2004890 loop sim_iic_send_byte_loop 
+489a 20204871 branch sim_iic_wait_ack 
+
+sim_iic_start:
+489b 204048ac call sim_iic_sda_output_high 
+489c 204048a6 call sim_iic_scl_output_high 
+489d 204048d2 call sim_iic_delay 
+489e 204048af call sim_iic_sda_output_low 
+489f 204048d2 call sim_iic_delay 
+48a0 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_stop:
+48a1 204048af call sim_iic_sda_output_low 
+48a2 204048a6 call sim_iic_scl_output_high 
+48a3 204048d2 call sim_iic_delay 
+48a4 204048ac call sim_iic_sda_output_high 
+48a5 202048d2 branch sim_iic_delay 
+
+sim_iic_scl_output_high:
+48a6 78347c00 enable user 
+48a7 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48a8 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_scl_output_low:
+48a9 78547c00 disable user 
+48aa 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48ab 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_high:
+48ac 78347c00 enable user 
+48ad 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48ae 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_low:
+48af 78547c00 disable user 
+48b0 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48b1 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_config_gpio:
+48b2 1fe10e07 and pdata ,0x07 ,queue 
+48b3 1fe97e00 rshift3 pdata ,pdata 
+48b4 d8408070 arg core_gpio_oe0 ,temp 
+48b5 98408400 iadd temp ,temp 
+48b6 e8408000 ifetch 1 ,temp 
+48b7 f9207e00 qset1 pdata 
+48b8 e0408000 istore 1 ,temp 
+48b9 18408404 increase 4 ,temp 
+48ba e8408000 ifetch 1 ,temp 
+48bb f9347e00 qsetflag user ,pdata 
+48bc e0408000 istore 1 ,temp 
+48bd 20600000 rtn 
+
+sim_iic_release_sda:
+48be 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48bf 1fe10e07 and pdata ,0x07 ,queue 
+48c0 1fe97e00 rshift3 pdata ,pdata 
+48c1 d8408070 arg core_gpio_oe0 ,temp 
+48c2 98408400 iadd temp ,temp 
+48c3 e8408000 ifetch 1 ,temp 
+48c4 f93ffe00 qset0 pdata 
+48c5 e0408000 istore 1 ,temp 
+48c6 20600000 rtn 
+
+sim_iic_read_sda_level:
+48c7 20000004 nop 4 
+48c8 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48c9 1fe10e07 and pdata ,0x07 ,queue 
+48ca 1fe97e00 rshift3 pdata ,pdata 
+48cb d840811c arg core_gpio_in ,temp 
+48cc 98408400 iadd temp ,temp 
+48cd 58000000 setarg 0 
+48ce e8488000 ifetcht 1 ,temp 
+48cf a84fffff qisolate1 temp 
+48d0 7920fe00 setflag true ,0 ,pdata 
+48d1 20600000 rtn 
+
+sim_iic_delay:
+48d2 20600000 rtn 
+
+usb_isr:
+48d3 44fb401e bpatch patch1e_6 ,mem_patch1e 
+48d4 68108a26 hfetch 1 ,core_usb_status 
+48d5 2feffe07 isolate1 7 ,pdata 
+48d6 2040c8ea call usb_init ,true 
+48d7 2040492e call usb_nak_state_judge 
+48d8 68108a26 hfetch 1 ,core_usb_status 
+48d9 60008b22 store 1 ,mem_usb_status 
+48da 68108a27 hfetch 1 ,core_usb_fifo_empty 
+48db 60008b23 store 1 ,mem_usb_fifo_empty 
+48dc 60108a27 hstore 1 ,core_usb_fifo_empty 
+48dd 1fe47e00 pinvert 
+48de 68088d37 fetcht 1 ,mem_usb_tx_wait 
+48df 98417e00 iand temp ,pdata 
+48e0 60008d37 store 1 ,mem_usb_tx_wait 
+48e1 708a26e0 jam 0xe0 ,core_usb_status 
+48e2 68008b23 fetch 1 ,mem_usb_fifo_empty 
+48e3 2fe00201 compare 0x1 ,pdata ,0x1 
+48e4 2040c941 call usb0_fifo_empty ,true 
+48e5 68008b22 fetch 1 ,mem_usb_status 
+48e6 2fe00201 compare 0x1 ,pdata ,0x1 
+48e7 2040c94a call usb_status1 ,true 
+48e8 20404b61 call usb_tx 
+48e9 20204903 branch usb_nak_state 
+
+usb_init:
+48ea 44fbc01e bpatch patch1e_7 ,mem_patch1e 
+48eb 20404919 call usb_init_param 
+48ec 708a0000 jam 0x00 ,core_usb_config 
+48ed 20002710 nop 10000 
+48ee 708a10c0 jam 0xc0 ,core_usb_trig 
+48ef 68110050 hfetch 2 ,core_clkoff 
+48f0 793ffe0a set0 clock_off_usb ,pdata 
+48f1 60110050 hstore 2 ,core_clkoff 
+48f2 708a003c jam 0x3c ,core_usb_config 
+48f3 708a26ff jam 0xff ,core_usb_status 
+48f4 708a27ff jam 0xff ,core_usb_fifo_empty 
+48f5 708a0400 jam 0 ,core_usb_addr 
+48f6 700c6b02 jam dev_default ,mem_usb0_state 
+48f7 58000d9d setarg mem_usb_clear_mem_end 
+48f8 d8a00c6e arg mem_usb_clear_mem_start ,contw 
+48f9 98a67200 isub contw ,loopcnt 
+48fa 20207ed4 branch clear_mem 
+
+usb_offline_check_init:
+48fb 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+48fc 202067fb branch gpio_config_input 
+
+usb_offline_state:
+48fd 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+48fe 207a0000 rtn blank 
+48ff 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+4900 2040681d call gpio_get_bit 
+4901 2020c8ea branch usb_init ,true 
+4902 20600000 rtn 
+
+usb_nak_state:
+4903 d8e00000 arg timer_nak ,queue 
+4904 20407f16 call timer_check 
+4905 247a0000 nrtn blank 
+4906 68008d46 fetch 1 ,mem_usb_wakestate_onetime_flag 
+4907 247a0000 nrtn blank 
+4908 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4909 245a4bb7 ncall usb_mac_wakeup_judge ,blank 
+490a 20600000 rtn 
+
+usb_mem_devicedesc_init:
+490b d8a00b68 arg mem_devicedesc ,contw 
+490c 38011212 setsect 0 ,0x11212 
+490d 38048000 setsect 1 ,0x8000 
+490e 38080000 setsect 2 ,0x0 
+490f 380d0000 setsect 3 ,0x10000 
+4910 e0a48000 istore 9 ,contw 
+4911 38022412 setsect 0 ,0x22412 
+4912 38048604 setsect 1 ,0x8604 
+4913 38081000 setsect 2 ,0x1000 
+4914 380c0008 setsect 3 ,0x8 
+4915 e0a48000 istore 9 ,contw 
+4916 38000001 setsect 0 ,0x1 
+4917 e0a08000 istore 1 ,contw 
+4918 20600000 rtn 
+
+usb_init_param:
+4919 700c6b02 jam 2 ,mem_usb0_state 
+491a 58000000 setarg 0x0 
+491b 60008b67 store 1 ,mem_remain 
+491c 60010c65 store 2 ,mem_usb_zero_packet 
+491d 1fe0fe01 pincrease 1 
+491e 60010c67 store 2 ,mem_usb_ones_packet 
+491f 1fe0fe01 pincrease 1 
+4920 60010c69 store 2 ,mem_usb_two_packet 
+4921 58008ffa setarg hid_kbdata_addr 
+4922 60010b7c store 2 ,mem_hidreportdesc_kb 
+4923 5800903a setarg hid_msdata_addr 
+4924 60010b7e store 2 ,mem_hidreportdesc_m 
+4925 d8a00b80 arg mem_confdesc ,contw 
+4926 d8c090fe arg hid_confdata_addr ,contr 
+4927 20407eb3 call memcpy64 
+4928 68008c6d fetch 1 ,mem_usb_tx_interval 
+4929 245a492b ncall usb_tx_interval_config ,blank 
+492a 2020490b branch usb_mem_devicedesc_init 
+
+usb_tx_interval_config:
+492b 60008ba2 store 1 ,mem_confdesc + 34 
+492c 60008bbb store 1 ,mem_confdesc + 59 
+492d 20600000 rtn 
+
+usb_nak_state_judge:
+492e 68108a26 hfetch 1 ,core_usb_status 
+492f c2834931 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+4930 20600000 rtn 
+
+usb_nak_state_timer_init:
+4931 20404936 call usb0_attached_state_judge 
+4932 20407f15 call timer_reinit 
+4933 58000280 setarg timer_nak_delay 
+4934 d8e00000 arg timer_nak ,queue 
+4935 20207f08 branch timer_init 
+
+usb0_attached_state_judge:
+4936 68008d36 fetch 1 ,mem_usb_state 
+4937 c081493b bne usb_connected ,usb_clear_halt_dispose 
+4938 700d4600 jam 0 ,mem_usb_wakestate_onetime_flag 
+4939 700d4700 jam 0 ,mem_usb_mac_wakeup_trig 
+493a 20600000 rtn 
+
+usb_clear_halt_dispose:
+493b 68008d53 fetch 1 ,mem_usb_clear_halt 
+493c 207a0000 rtn blank 
+493d 700d5300 jam 0 ,mem_usb_clear_halt 
+493e 700d3602 jam usb_connected ,mem_usb_state 
+493f 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4940 20600000 rtn 
+
+usb0_fifo_empty:
+4941 708a2701 jam 0x1 ,core_usb_fifo_empty 
+4942 20204b37 branch usb0_tx 
+
+usb_rx_no_data:
+4943 68008b22 fetch 1 ,mem_usb_status 
+4944 c2824955 bbit1 usb_status_setup ,usb_class_type 
+4945 20600000 rtn 
+
+usb_rx_read:
+4946 68108a18 hfetch 1 ,core_usb_ep 
+4947 e0a08000 istore 1 ,contw 
+4948 c2004946 loop usb_rx_read 
+4949 20600000 rtn 
+
+usb_status1:
+494a 44fc401f bpatch patch1f_0 ,mem_patch1f 
+494b 708a2611 jam 0x11 ,core_usb_status 
+494c 68108a20 hfetch 1 ,core_usb_ep_len 
+494d 60008b24 store 1 ,mem_usb_read_len 
+494e 1fe27200 copy pdata ,loopcnt 
+494f 203a4943 branch usb_rx_no_data ,blank 
+4950 d8a00c6e arg mem_usb_setup ,contw 
+4951 20404946 call usb_rx_read 
+4952 68008b24 fetch 1 ,mem_usb_read_len 
+4953 1fe67c07 sub pdata ,7 ,null 
+4954 20610000 rtn positive 
+
+usb_class_type:
+4955 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4956 1fe17e80 and_into 0x80 ,pdata 
+4957 c040495a beq in_device ,usb_in_device 
+4958 c0004962 beq out_device ,usb_out_device 
+4959 20202a8c branch assert 
+
+usb_in_device:
+495a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+495b 1ff1fe00 rshift4 pdata ,pdata 
+495c 1fe37e00 rshift pdata ,pdata 
+495d 1fe17e03 and_into 0x03 ,pdata 
+495e c000496a beq standard_req ,usb_in_standard_req 
+495f c000c970 beq class_req ,usb_in_class_req 
+4960 c0014975 beq manufacturer_req ,usb_in_manufacturer_req 
+4961 20202a8c branch assert 
+
+usb_out_device:
+4962 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4963 1ff1fe00 rshift4 pdata ,pdata 
+4964 1fe37e00 rshift pdata ,pdata 
+4965 1fe17e03 and_into 0x03 ,pdata 
+4966 c0004976 beq standard_req ,usb_out_standard_req 
+4967 c000c97e beq class_req ,usb_out_class_req 
+4968 c0014983 beq manufacturer_req ,usb_out_manufacturer_req 
+4969 20202a8c branch assert 
+
+usb_in_standard_req:
+496a 68008c6f fetch 1 ,mem_usb_setup_brequest 
+496b c004498a beq get_configuration ,usb0_request_get_configuration 
+496c c00349a0 beq get_descriptor ,usb0_request_get_descriptor 
+496d c00549ea beq get_interface ,usb0_request_get_interface 
+496e c00049fc beq get_status ,usb0_request_get_status 
+496f 20204984 branch usb0_force_stall 
+
+usb_in_class_req:
+4970 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4971 c0014a2f beq get_idle ,usb_get_idle 
+4972 c000ca33 beq get_report ,usb_get_report 
+4973 c001ca45 beq get_protocol ,usb_get_protocol_req 
+4974 20204984 branch usb0_force_stall 
+
+usb_in_manufacturer_req:
+4975 20204984 branch usb0_force_stall 
+
+usb_out_standard_req:
+4976 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4977 c000ca4f beq clear_feature ,usb0_request_clear_feature 
+4978 c001ca79 beq set_feature ,usb0_request_set_feature 
+4979 c002caa3 beq set_address ,usb0_request_set_address 
+497a c004cabc beq set_configuration ,usb0_request_set_configuration 
+497b c005cad7 beq set_interface ,usb0_request_set_interface 
+497c c003c984 beq set_descriptor ,usb0_force_stall 
+497d 20204984 branch usb0_force_stall 
+
+usb_out_class_req:
+497e 68008c6f fetch 1 ,mem_usb_setup_brequest 
+497f c0054ae8 beq set_idle ,usb_set_idle 
+4980 c004caf9 beq set_report ,usb_set_report 
+4981 c005cb11 beq set_protocol ,usb_set_protocol_req 
+4982 20204984 branch usb0_force_stall 
+
+usb_out_manufacturer_req:
+4983 20204984 branch usb0_force_stall 
+
+usb0_force_stall:
+4984 68108a11 hfetch 1 ,core_usb_stall 
+4985 79207e00 set1 0 ,pdata 
+4986 60108a11 hstore 1 ,core_usb_stall 
+4987 20204988 branch usb0_reply_zerolen 
+
+usb0_reply_zerolen:
+4988 708a1240 jam 0x40 ,core_usb_clear 
+4989 20600000 rtn 
+
+usb0_request_get_configuration:
+498a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+498b c0c04984 bne in_device ,usb0_force_stall 
+498c 68008c72 fetch 1 ,mem_usb_setup_windex 
+498d c0804984 bne 0 ,usb0_force_stall 
+498e 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+498f c0804984 bne 0 ,usb0_force_stall 
+4990 68008c74 fetch 1 ,mem_usb_setup_blength 
+4991 c080c984 bne 1 ,usb0_force_stall 
+4992 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4993 c0804984 bne 0 ,usb0_force_stall 
+4994 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4995 c0804984 bne 0 ,usb0_force_stall 
+4996 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4997 c0804984 bne 0 ,usb0_force_stall 
+4998 68008c6b fetch 1 ,mem_usb0_state 
+4999 c002499c beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+499a c001c99e beq dev_address ,usb0_request_get_cfg_dev_addr 
+499b 20204984 branch usb0_force_stall 
+
+usb0_request_get_cfg_dev_cfg:
+499c da400001 arg 1 ,regb 
+499d 20204a14 branch usb_send_ones_packet 
+
+usb0_request_get_cfg_dev_addr:
+499e da400001 arg 1 ,regb 
+499f 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_descriptor:
+49a0 44fcc01f bpatch patch1f_1 ,mem_patch1f 
+49a1 793f8023 set0 mark_isstr ,mark 
+49a2 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49a3 c000c9b6 beq dsc_device ,dsc_device_info 
+49a4 c00149cf beq dsc_config ,dsc_config_info 
+49a5 c001c9d2 beq dsc_string ,dsc_string_info 
+49a6 c010c9a9 beq dsc_hid ,dsc_hid_info 
+49a7 c01149e0 beq dsc_hid_report ,dsc_hid_report_info 
+49a8 20204984 branch usb0_force_stall 
+
+dsc_hid_info:
+49a9 700d4b00 jam 0 ,mem_usb_get_protocol_flag 
+49aa 68008c72 fetch 1 ,mem_usb_setup_windex 
+49ab c00049ae beq 0 ,dsc_hid_info_interface0 
+49ac c000c9b2 beq 1 ,dsc_hid_info_interface1 
+49ad 20204984 branch usb0_force_stall 
+
+dsc_hid_info_interface0:
+49ae da200b93 arg mem_confdesc + 19 ,rega 
+49af ea208000 ifetch 1 ,rega 
+49b0 98002400 iforce regb 
+49b1 20204b21 branch usb0_respond 
+
+dsc_hid_info_interface1:
+49b2 da200bac arg mem_confdesc + 44 ,rega 
+49b3 ea208000 ifetch 1 ,rega 
+49b4 98002400 iforce regb 
+49b5 20204b21 branch usb0_respond 
+
+dsc_device_info:
+49b6 68008d48 fetch 1 ,mem_usb_set_high_addr_flag 
+49b7 245a49c7 ncall usb_set_high_addr ,blank 
+49b8 58000b68 setarg mem_devicedesc 
+49b9 68088b68 fetcht 1 ,mem_devicedesc 
+
+dsc_info_set_data_len:
+49ba 60010d3f store 2 ,mem_dsc_info_data_pointer 
+49bb 60088d41 storet 1 ,mem_dsc_info_len 
+49bc 68008c74 fetch 1 ,mem_usb_setup_blength 
+49bd 98467c00 isub temp ,null 
+49be 242149c5 nbranch dsc_info_set_current_data_len ,positive 
+
+dsc_info_set_initial_data_len:
+49bf 68008d41 fetch 1 ,mem_dsc_info_len 
+
+dsc_info_set_data_size_completed:
+49c0 98002400 iforce regb 
+49c1 68010d3f fetch 2 ,mem_dsc_info_data_pointer 
+49c2 1fe0fe01 add pdata ,1 ,pdata 
+49c3 98002200 iforce rega 
+49c4 20204b21 branch usb0_respond 
+
+dsc_info_set_current_data_len:
+49c5 68008c74 fetch 1 ,mem_usb_setup_blength 
+49c6 202049c0 branch dsc_info_set_data_size_completed 
+
+usb_set_high_addr:
+49c7 68108a04 hfetch 1 ,core_usb_addr 
+49c8 245a49cb ncall usb0_set_addr ,blank 
+49c9 700d4800 jam 0 ,mem_usb_set_high_addr_flag 
+49ca 20600000 rtn 
+
+usb0_set_addr:
+49cb 68108a04 hfetch 1 ,core_usb_addr 
+49cc 79207e07 set1 7 ,pdata 
+49cd 60108a04 hstore 1 ,core_usb_addr 
+49ce 20600000 rtn 
+
+dsc_config_info:
+49cf 58000b80 setarg mem_confdesc 
+49d0 68088b80 fetcht 1 ,mem_confdesc 
+49d1 202049ba branch dsc_info_set_data_len 
+
+dsc_string_info:
+49d2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d3 1fe67c03 sub pdata ,3 ,null 
+49d4 24214984 nbranch usb0_force_stall ,positive 
+49d5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d6 da200be4 arg mem_string0 ,rega 
+49d7 c0004b1e beq 0 ,usb0_respond_length 
+49d8 79200023 set1 mark_isstr ,mark 
+49d9 da200be9 arg mem_string1 ,rega 
+49da c000cb1e beq 1 ,usb0_respond_length 
+49db da200c07 arg mem_string2 ,rega 
+49dc c0014b1e beq 2 ,usb0_respond_length 
+49dd da200c47 arg mem_string3 ,rega 
+49de c001cb1e beq 3 ,usb0_respond_length 
+49df 20600000 rtn 
+
+dsc_hid_report_info:
+49e0 68010c72 fetch 2 ,mem_usb_setup_windex 
+49e1 c000c9e5 beq 1 ,dsc_hid_report_info0 
+49e2 68010b7c fetch 2 ,mem_hidreportdesc_kb 
+49e3 1fe22200 copy pdata ,rega 
+49e4 20204b1e branch usb0_respond_length 
+
+dsc_hid_report_info0:
+49e5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+49e6 700d3601 jam usb_got_report_req ,mem_usb_state 
+49e7 68010b7e fetch 2 ,mem_hidreportdesc_m 
+49e8 1fe22200 copy pdata ,rega 
+49e9 20204b1e branch usb0_respond_length 
+
+usb0_request_get_interface:
+49ea 68008c6b fetch 1 ,mem_usb0_state 
+49eb c0824984 bne dev_configured ,usb0_force_stall 
+49ec 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+49ed c0c0c984 bne in_interface ,usb0_force_stall 
+49ee 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ef c0804984 bne 0 ,usb0_force_stall 
+49f0 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49f1 c0804984 bne 0 ,usb0_force_stall 
+49f2 68008c74 fetch 1 ,mem_usb_setup_blength 
+49f3 c080c984 bne 1 ,usb0_force_stall 
+49f4 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+49f5 c0804984 bne 0 ,usb0_force_stall 
+49f6 68008c72 fetch 1 ,mem_usb_setup_windex 
+49f7 c0804984 bne 0 ,usb0_force_stall 
+49f8 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+49f9 c0804984 bne 0 ,usb0_force_stall 
+49fa da400001 arg 1 ,regb 
+49fb 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_status:
+49fc 68008c6b fetch 1 ,mem_usb0_state 
+49fd c0014984 beq dev_default ,usb0_force_stall 
+49fe 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ff c0804984 bne 0 ,usb0_force_stall 
+4a00 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a01 c0804984 bne 0 ,usb0_force_stall 
+4a02 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a03 c0814984 bne 2 ,usb0_force_stall 
+4a04 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a05 c0804984 bne 0 ,usb0_force_stall 
+4a06 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a07 c0804984 bne 0 ,usb0_force_stall 
+4a08 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a09 c0404a0d beq in_device ,usb0_get_status_in_device 
+4a0a c040ca18 beq in_interface ,usb0_get_status_in_interface 
+4a0b c0414a1c beq in_endpoint ,usb0_get_status_in_endpoint 
+4a0c 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_device:
+4a0d 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a0e c0804984 bne 0 ,usb0_force_stall 
+4a0f da400002 arg 2 ,regb 
+4a10 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+4a11 c000ca16 beq 0x01 ,usb_send_two_packet 
+
+usb_send_zero_packet:
+4a12 da200c65 arg mem_usb_zero_packet ,rega 
+4a13 20204b21 branch usb0_respond 
+
+usb_send_ones_packet:
+4a14 da200c67 arg mem_usb_ones_packet ,rega 
+4a15 20204b21 branch usb0_respond 
+
+usb_send_two_packet:
+4a16 da200c69 arg mem_usb_two_packet ,rega 
+4a17 20204b21 branch usb0_respond 
+
+usb0_get_status_in_interface:
+4a18 68008c6b fetch 1 ,mem_usb0_state 
+4a19 c0824984 bne dev_configured ,usb0_force_stall 
+4a1a da400002 arg 2 ,regb 
+4a1b 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_endpoint:
+4a1c 68008c6b fetch 1 ,mem_usb0_state 
+4a1d c0824984 bne dev_configured ,usb0_force_stall 
+4a1e 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a1f c040ca29 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+4a20 c0414a2b beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+4a21 c041ca2d beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+4a22 1fe17e7f and_into 0x7f ,pdata 
+4a23 c0004a25 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+4a24 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_ep_in_ep0:
+4a25 68008d3b fetch 1 ,mem_usb_ep0_stall_status 
+
+usb0_get_status_in_ep_in_ack:
+4a26 da400002 arg 2 ,regb 
+4a27 c000ca14 beq 1 ,usb_send_ones_packet 
+4a28 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_ep_in_ep1:
+4a29 68008d3c fetch 1 ,mem_usb_ep1_stall_status 
+4a2a 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep2:
+4a2b 68008d3d fetch 1 ,mem_usb_ep2_stall_status 
+4a2c 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep3:
+4a2d 68008d3e fetch 1 ,mem_usb_ep3_stall_status 
+4a2e 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb_get_idle:
+4a2f 700d4c01 jam 1 ,mem_usb_idle_flag 
+4a30 da200d4d arg mem_usb_idle_rate ,rega 
+4a31 da400001 arg 1 ,regb 
+4a32 20204b21 branch usb0_respond 
+
+usb_get_report:
+4a33 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4a34 d84001ba arg pc_get_report ,temp 
+4a35 98467c00 isub temp ,null 
+4a36 2422c984 nbranch usb0_force_stall ,zero 
+4a37 793f8023 set0 mark_isstr ,mark 
+
+usb_get_report_dispose:
+4a38 68008d42 fetch 1 ,mem_usb0_data_ready_report 
+4a39 243a4a42 nbranch usb_get_report_data_success ,blank 
+4a3a 700cf600 jam pc_get_nondata ,mem_usb0_get_report_data 
+
+usb_get_report_send_data:
+4a3b 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a3c 98002400 iforce regb 
+4a3d da200cf6 arg mem_usb0_get_report_data ,rega 
+4a3e 20404b21 call usb0_respond 
+
+usb_get_report_data_release:
+4a3f d8a00cf6 arg mem_usb0_get_report_data ,contw 
+4a40 df200008 arg 8 ,loopcnt 
+4a41 20207ec6 branch memset0 
+
+usb_get_report_data_success:
+4a42 700d4200 jam 0 ,mem_usb0_data_ready_report 
+4a43 700cf601 jam pc_get_data ,mem_usb0_get_report_data 
+4a44 20204a3b branch usb_get_report_send_data 
+
+usb_get_protocol_req:
+4a45 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a46 c080c984 bne 1 ,usb0_force_stall 
+4a47 700d4b01 jam 1 ,mem_usb_get_protocol_flag 
+4a48 da400001 arg 1 ,regb 
+4a49 68008d49 fetch 1 ,mem_usb_set_protocol_value 
+4a4a c0004a4d beq 0 ,usb_get_report_protocol 
+4a4b c000ca4e beq 1 ,usb_get_boot_protocol 
+4a4c 20204a12 branch usb_send_zero_packet 
+
+usb_get_report_protocol:
+4a4d 20204a14 branch usb_send_ones_packet 
+
+usb_get_boot_protocol:
+4a4e 20204a12 branch usb_send_zero_packet 
+
+usb0_request_clear_feature:
+4a4f 68008c6b fetch 1 ,mem_usb0_state 
+4a50 c0824984 bne dev_configured ,usb0_force_stall 
+4a51 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a52 c0804984 bne 0 ,usb0_force_stall 
+4a53 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a54 c0804984 bne 0 ,usb0_force_stall 
+4a55 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a56 c0804984 bne 0 ,usb0_force_stall 
+4a57 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a58 c0804984 bne 0 ,usb0_force_stall 
+4a59 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a5a c0004a5e beq out_device ,usb0_request_clear_feature_out_device 
+4a5b c000ca66 beq out_interface ,usb0_request_clear_feature_out_interface 
+4a5c c0014a67 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+4a5d 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_device:
+4a5e 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a5f c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a60 68108a00 hfetch 1 ,core_usb_config 
+4a61 793ffe07 set0 7 ,pdata 
+4a62 60108a00 hstore 1 ,core_usb_config 
+4a63 700d3900 jam 0 ,mem_usb_remote_wakeup 
+4a64 700d3a01 jam 1 ,mem_usb_clear_remote_wakeup 
+4a65 20204988 branch usb0_reply_zerolen 
+
+usb0_request_clear_feature_out_interface:
+4a66 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_endpoint:
+4a67 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a68 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a69 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a6a c040ca72 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+4a6b c0414a75 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+4a6c c041ca77 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+4a6d 1fe17e7f and_into 0x7f ,pdata 
+4a6e c0004a70 beq 0x00 ,usb0_force_stall_ep0_in_off 
+4a6f 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_off:
+4a70 700d3b00 jam 0 ,mem_usb_ep0_stall_status 
+4a71 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_off:
+4a72 700d3c00 jam 0 ,mem_usb_ep1_stall_status 
+
+usb0_force_stall_ep1_in_off_reply:
+4a73 700d5301 jam 1 ,mem_usb_clear_halt 
+4a74 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_off:
+4a75 700d3d00 jam 0 ,mem_usb_ep2_stall_status 
+4a76 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_force_stall_ep3_in_off:
+4a77 700d3e00 jam 0 ,mem_usb_ep3_stall_status 
+4a78 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_request_set_feature:
+4a79 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a7a c0804984 bne 0 ,usb0_force_stall 
+4a7b 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a7c c0804984 bne 0 ,usb0_force_stall 
+4a7d 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a7e c0004a82 beq out_device ,usb0_request_set_feature_out_device 
+4a7f c000ca8f beq out_interface ,usb0_request_set_feature_out_interface 
+4a80 c0014a90 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+4a81 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_device:
+4a82 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a83 c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a84 68108a00 hfetch 1 ,core_usb_config 
+4a85 79207e07 set1 7 ,pdata 
+4a86 60108a00 hstore 1 ,core_usb_config 
+4a87 700d3901 jam 1 ,mem_usb_remote_wakeup 
+4a88 700d3603 jam usb_sleep ,mem_usb_state 
+4a89 700d4300 jam 0 ,mem_usb_tx_win_enable 
+4a8a 20404988 call usb0_reply_zerolen 
+
+usb_wakeup_timer_reinit:
+4a8b 20407f15 call timer_reinit 
+4a8c 58001388 setarg timer_wakeup_delay 
+4a8d d8e0000f arg timer_wakeup ,queue 
+4a8e 20207f08 branch timer_init 
+
+usb0_request_set_feature_out_interface:
+4a8f 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_endpoint:
+4a90 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a91 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a92 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a93 c0804984 bne 0 ,usb0_force_stall 
+4a94 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a95 c040ca9d beq in_ep1 ,usb0_force_stall_ep1_in_on 
+4a96 c0414a9f beq in_ep2 ,usb0_force_stall_ep2_in_on 
+4a97 c041caa1 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+4a98 1fe17e7f and_into 0x7f ,pdata 
+4a99 c0004a9b beq 0x00 ,usb0_force_stall_ep0_in_on 
+4a9a 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_on:
+4a9b 700d3b01 jam 1 ,mem_usb_ep0_stall_status 
+4a9c 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_on:
+4a9d 700d3c01 jam 1 ,mem_usb_ep1_stall_status 
+4a9e 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_on:
+4a9f 700d3d01 jam 1 ,mem_usb_ep2_stall_status 
+4aa0 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep3_in_on:
+4aa1 700d3e01 jam 1 ,mem_usb_ep3_stall_status 
+4aa2 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_address:
+4aa3 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4aa4 c0804984 bne out_device ,usb0_force_stall 
+4aa5 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aa6 c0804984 bne 0 ,usb0_force_stall 
+4aa7 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4aa8 c0804984 bne 0 ,usb0_force_stall 
+4aa9 68008c74 fetch 1 ,mem_usb_setup_blength 
+4aaa c0804984 bne 0 ,usb0_force_stall 
+4aab 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4aac c0804984 bne 0 ,usb0_force_stall 
+4aad 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aae c0804984 bne 0 ,usb0_force_stall 
+4aaf 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab0 1fe17e80 and_into 0x80 ,pdata 
+4ab1 c0804984 bne 0 ,usb0_force_stall 
+4ab2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab3 c0804aba bne 0 ,usb_usb0_state_set_dev_addr 
+
+usb_usb0_state_set_dev_default:
+4ab4 700c6b02 jam dev_default ,mem_usb0_state 
+
+usb0_request_set_wait_address:
+4ab5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab6 60108a04 hstore 1 ,core_usb_addr 
+4ab7 20404988 call usb0_reply_zerolen 
+4ab8 700d4801 jam 1 ,mem_usb_set_high_addr_flag 
+4ab9 20600000 rtn 
+
+usb_usb0_state_set_dev_addr:
+4aba 700c6b03 jam dev_address ,mem_usb0_state 
+4abb 20204ab5 branch usb0_request_set_wait_address 
+
+usb0_request_set_configuration:
+4abc 68008c6b fetch 1 ,mem_usb0_state 
+4abd c0014984 beq dev_default ,usb0_force_stall 
+4abe 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4abf c0804984 bne out_device ,usb0_force_stall 
+4ac0 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ac1 c0804984 bne 0 ,usb0_force_stall 
+4ac2 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ac3 c0804984 bne 0 ,usb0_force_stall 
+4ac4 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ac5 c0804984 bne 0 ,usb0_force_stall 
+4ac6 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ac7 c0804984 bne 0 ,usb0_force_stall 
+4ac8 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4ac9 c0804984 bne 0 ,usb0_force_stall 
+4aca 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4acb 1fe67c01 sub pdata ,usb_max_num_cfg ,null 
+4acc 24214984 nbranch usb0_force_stall ,positive 
+4acd 68008c6b fetch 1 ,mem_usb0_state 
+4ace c001cad1 beq dev_address ,usb0_request_set_cfg_addr_state 
+4acf c0024ad1 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+4ad0 20204984 branch usb0_force_stall 
+
+usb0_request_set_cfg_addr_state:
+
+usb0_request_set_cfg_cfg_state:
+4ad1 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ad2 c0004ad5 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+4ad3 700c6b04 jam dev_configured ,mem_usb0_state 
+4ad4 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_cfg_stay_addr_state:
+4ad5 700c6b03 jam dev_address ,mem_usb0_state 
+4ad6 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_interface:
+4ad7 68008c6b fetch 1 ,mem_usb0_state 
+4ad8 c0824984 bne dev_configured ,usb0_force_stall 
+4ad9 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4ada c080c984 bne out_interface ,usb0_force_stall 
+4adb 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4adc c0804984 bne 0 ,usb0_force_stall 
+4add 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4ade c0804984 bne 0 ,usb0_force_stall 
+4adf 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ae0 c0804984 bne 0 ,usb0_force_stall 
+4ae1 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ae2 c0804984 bne 0 ,usb0_force_stall 
+4ae3 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ae4 c0804984 bne 0 ,usb0_force_stall 
+4ae5 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ae6 c0804984 bne 0 ,usb0_force_stall 
+4ae7 20204988 branch usb0_reply_zerolen 
+
+usb_set_idle:
+4ae8 700d4c01 jam 1 ,mem_usb_idle_flag 
+4ae9 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aea 60008d4d store 1 ,mem_usb_idle_rate 
+4aeb 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aec 1fe67c01 sub pdata ,1 ,null 
+4aed 2042caf5 call usb_clear_remote_wakeup_set0 ,zero 
+4aee 68008d36 fetch 1 ,mem_usb_state 
+4aef c0824988 bne usb_resume ,usb0_reply_zerolen 
+4af0 700d3602 jam usb_connected ,mem_usb_state 
+4af1 20404988 call usb0_reply_zerolen 
+4af2 20007530 nop 30000 
+4af3 20007530 nop 30000 
+4af4 20600000 rtn 
+
+usb_clear_remote_wakeup_set0:
+4af5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4af6 700d3a00 jam 0 ,mem_usb_clear_remote_wakeup 
+4af7 700d3604 jam usb_resume ,mem_usb_state 
+4af8 20600000 rtn 
+
+usb_set_report:
+4af9 700d5001 jam 1 ,mem_usb0_get_set_report 
+4afa 20404b03 call usb_set_report_resume_judge 
+4afb 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4afc 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+4afd 68008c74 fetch 1 ,mem_usb_setup_blength 
+4afe 98007200 iforce loopcnt 
+4aff d8c00c76 arg mem_usb0_setup ,contr 
+4b00 d8a00cb6 arg mem_usb0_set_report_data ,contw 
+4b01 20407f01 call memcpy 
+4b02 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_resume_judge:
+4b03 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4b04 d8400200 arg pc_set_report_bvalue ,temp 
+4b05 98467c00 isub temp ,null 
+4b06 24628000 nrtn zero 
+4b07 68010c72 fetch 2 ,mem_usb_setup_windex 
+4b08 d8400000 arg pc_set_report_windex ,temp 
+4b09 98467c00 isub temp ,null 
+4b0a 24628000 nrtn zero 
+4b0b 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b0c d8400001 arg pc_set_report_blength ,temp 
+4b0d 98467c00 isub temp ,null 
+4b0e 24628000 nrtn zero 
+4b0f 700d4301 jam 1 ,mem_usb_tx_win_enable 
+4b10 20600000 rtn 
+
+usb_set_protocol_req:
+4b11 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b12 c0804984 bne 0 ,usb0_force_stall 
+4b13 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4b14 c0004b17 beq boot_protocol ,usb_set_boot_protocol 
+4b15 c000cb1a beq report_protocol ,usb_set_report_protocol 
+4b16 20204984 branch usb0_force_stall 
+
+usb_set_boot_protocol:
+4b17 700d4a00 jam 0 ,mem_usb_set_protocol_status 
+4b18 700d4901 jam 1 ,mem_usb_set_protocol_value 
+4b19 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_protocol:
+4b1a 700d4401 jam 1 ,mem_usb_tx_mac_enable 
+4b1b 700d4a01 jam 1 ,mem_usb_set_protocol_status 
+4b1c 700d4900 jam 0 ,mem_usb_set_protocol_value 
+4b1d 20204988 branch usb0_reply_zerolen 
+
+usb0_respond_length:
+4b1e ea208000 ifetch 1 ,rega 
+4b1f 98002400 iforce regb 
+4b20 1a20a201 increase 1 ,rega 
+
+usb0_respond:
+4b21 44fd401f bpatch patch1f_2 ,mem_patch1f 
+4b22 c591cb2c bmark0 mark_isstr ,usb0_respond0 
+4b23 1a40fe01 add regb ,1 ,pdata 
+4b24 1fe3fe00 lshift pdata ,pdata 
+4b25 60108a18 hstore 1 ,core_usb_dfifo0 
+4b26 708a1803 jam 3 ,core_usb_dfifo0 
+4b27 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b28 1fe0fffe increase -2 ,pdata 
+4b29 1fe37e00 rshift pdata ,pdata 
+4b2a 60008c74 store 1 ,mem_usb_setup_blength 
+4b2b c0004b35 beq 0 ,usb_no_respond_data 
+
+usb0_respond0:
+4b2c 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b2d 9a467c00 isub regb ,null 
+4b2e 20214b30 branch usb0_respond1 ,positive 
+4b2f 1fe22400 copy pdata ,regb 
+
+usb0_respond1:
+4b30 1a227e00 deposit rega 
+4b31 60010b65 store 2 ,mem_bufptr 
+4b32 1a427e00 deposit regb 
+4b33 60008b67 store 1 ,mem_remain 
+4b34 20204b37 branch usb0_tx 
+
+usb_no_respond_data:
+4b35 d8e00000 arg 0 ,queue 
+4b36 20204b57 branch usb_trig 
+
+usb0_tx:
+4b37 44fdc01f bpatch patch1f_3 ,mem_patch1f 
+4b38 68008b67 fetch 1 ,mem_remain 
+4b39 207a0000 rtn blank 
+4b3a 1fe27200 copy pdata ,loopcnt 
+4b3b 1fe67c40 sub pdata ,ep0_packet_size ,null 
+4b3c 20214b3e branch usb0_tx_info ,positive 
+4b3d df200040 arg ep0_packet_size ,loopcnt 
+
+usb0_tx_info:
+4b3e 68008b67 fetch 1 ,mem_remain 
+4b3f 9f267e00 isub loopcnt ,pdata 
+4b40 60008b67 store 1 ,mem_remain 
+4b41 68010b65 fetch 2 ,mem_bufptr 
+4b42 1fe20c00 copy pdata ,contr 
+
+usb0_tx0:
+4b43 e8c08000 ifetch 1 ,contr 
+4b44 60108a18 hstore 1 ,core_usb_dfifo0 
+4b45 c591cb47 bmark0 mark_isstr ,usb0_tx1 
+4b46 708a1800 jam 0 ,core_usb_dfifo0 
+
+usb0_tx1:
+4b47 c2004b43 loop usb0_tx0 
+4b48 18c27e00 copy contr ,pdata 
+4b49 60010b65 store 2 ,mem_bufptr 
+4b4a d8e00000 arg 0 ,queue 
+4b4b 20404b57 call usb_trig 
+4b4c 68008b67 fetch 1 ,mem_remain 
+4b4d 247a0000 nrtn blank 
+4b4e 68008d36 fetch 1 ,mem_usb_state 
+4b4f c1808000 rtnne usb_got_report_req 
+4b50 700d3602 jam usb_connected ,mem_usb_state 
+4b51 20600000 rtn 
+
+usb_tx_ep1:
+4b52 da208a19 arg core_usb_dfifo1 ,rega 
+4b53 d8e00001 arg 1 ,queue 
+
+usb_tx_loop:
+4b54 e8c08000 ifetch 1 ,contr 
+4b55 e2208000 istore 1 ,rega 
+4b56 c2004b54 loop usb_tx_loop 
+
+usb_trig:
+4b57 58000000 setarg 0 
+4b58 f9207e00 qset1 pdata 
+4b59 60108a10 hstore 1 ,core_usb_trig 
+4b5a 68088d37 fetcht 1 ,mem_usb_tx_wait 
+4b5b 9841fe00 ior temp ,pdata 
+4b5c 60008d37 store 1 ,mem_usb_tx_wait 
+4b5d 20600000 rtn 
+
+usb_tx_ep2:
+4b5e d8e00002 arg 2 ,queue 
+4b5f da208a1a arg core_usb_dfifo2 ,rega 
+4b60 20204b54 branch usb_tx_loop 
+
+usb_tx:
+4b61 44fe401f bpatch patch1f_4 ,mem_patch1f 
+4b62 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b63 207a0000 rtn blank 
+4b64 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b65 243a4bac nbranch usb_inwake_state_tx_dispose ,blank 
+4b66 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4b67 203a4b86 branch usb_tx_fifo_release ,blank 
+4b68 68008d36 fetch 1 ,mem_usb_state 
+4b69 c001cbbf beq usb_sleep ,usb_windows_wakeup 
+4b6a c0814b86 bne usb_connected ,usb_tx_fifo_release 
+4b6b 68008d3a fetch 1 ,mem_usb_clear_remote_wakeup 
+4b6c 243a4b86 nbranch usb_tx_fifo_release ,blank 
+4b6d 20404b6f call usb_tx_data_ep1 
+4b6e 20204b7a branch usb_tx_data_ep2 
+
+usb_tx_data_ep1:
+4b6f 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b70 c4008000 rtnbit0 1 
+4b71 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b72 c3808000 rtnbit1 1 
+4b73 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b74 793ffe01 set0 1 ,pdata 
+4b75 60008d38 store 1 ,mem_usb_tx_enable 
+4b76 68008d51 fetch 1 ,mem_usb_ep1_data 
+4b77 207a0000 rtn blank 
+4b78 c0084ba8 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+4b79 20202a8c branch assert 
+
+usb_tx_data_ep2:
+4b7a 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7b c4010000 rtnbit0 2 
+4b7c 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b7d c3810000 rtnbit1 2 
+4b7e 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7f 793ffe02 set0 2 ,pdata 
+4b80 60008d38 store 1 ,mem_usb_tx_enable 
+4b81 68008d52 fetch 1 ,mem_usb_ep2_data 
+4b82 207a0000 rtn blank 
+4b83 c0104b89 beq usb_ep2_ms ,usb_tx_ms_data 
+4b84 c010cba4 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+4b85 20202a8c branch assert 
+
+usb_tx_fifo_release:
+4b86 d8a00d54 arg mem_usb_mouse_data ,contw 
+4b87 df200006 arg 6 ,loopcnt 
+4b88 20207ec6 branch memset0 
+
+usb_tx_ms_data:
+4b89 68008d4c fetch 1 ,mem_usb_idle_flag 
+4b8a 68088d4b fetcht 1 ,mem_usb_get_protocol_flag 
+4b8b 98417e00 iand temp ,pdata 
+4b8c 203a4ba0 branch usb_tx_ms_data_normal_mode ,blank 
+4b8d 68088d4a fetcht 1 ,mem_usb_set_protocol_status 
+4b8e 9840fe00 iadd temp ,pdata 
+4b8f c000cb91 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+4b90 20204ba0 branch usb_tx_ms_data_normal_mode 
+
+usb_tx_ms_data_mac_boot_mode:
+4b91 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_ms_data_mac_boot_regroup:
+4b92 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b93 c0014ba1 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b94 c001cba1 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b95 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b96 60008d54 store 1 ,mem_usb_mouse_data 
+4b97 68008d56 fetch 1 ,mem_usb_mouse_data + 2 
+4b98 e0a08000 istore 1 ,contw 
+4b99 68008d58 fetch 1 ,mem_usb_mouse_data + 4 
+4b9a e0a08000 istore 1 ,contw 
+4b9b 68008d5a fetch 1 ,mem_usb_mouse_data + 6 
+4b9c e0a08000 istore 1 ,contw 
+4b9d df200004 arg 4 ,loopcnt 
+4b9e d8c00d54 arg mem_usb_mouse_data ,contr 
+4b9f 20204b5e branch usb_tx_ep2 
+
+usb_tx_ms_data_normal_mode:
+4ba0 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+4ba1 df200008 arg 8 ,loopcnt 
+4ba2 d8c00d54 arg mem_usb_mouse_data ,contr 
+4ba3 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_multikey_data:
+4ba4 700d5200 jam 0 ,mem_usb_ep2_data 
+4ba5 df200003 arg 3 ,loopcnt 
+4ba6 d8c00d74 arg mem_usb_kb_multikey ,contr 
+4ba7 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_normal_data:
+4ba8 700d5100 jam 0 ,mem_usb_ep1_data 
+4ba9 df200008 arg 8 ,loopcnt 
+4baa d8c00d64 arg mem_usb_kb_data ,contr 
+4bab 20204b52 branch usb_tx_ep1 
+
+usb_inwake_state_tx_dispose:
+4bac 68008d36 fetch 1 ,mem_usb_state 
+4bad c001cbb0 beq usb_sleep ,usb_clear_tx_wait 
+4bae c0014bb2 beq usb_connected ,usb_mac_wakeup_trig 
+4baf 20600000 rtn 
+
+usb_clear_tx_wait:
+4bb0 700d3700 jam 0 ,mem_usb_tx_wait 
+4bb1 20600000 rtn 
+
+usb_mac_wakeup_trig:
+4bb2 68108a00 hfetch 1 ,core_usb_config 
+4bb3 79207e07 set1 7 ,pdata 
+4bb4 60108a00 hstore 1 ,core_usb_config 
+4bb5 700d4701 jam 1 ,mem_usb_mac_wakeup_trig 
+4bb6 20600000 rtn 
+
+usb_mac_wakeup_judge:
+4bb7 68008d36 fetch 1 ,mem_usb_state 
+4bb8 c1018000 rtneq usb_sleep 
+4bb9 c0014bbb beq usb_connected ,usb_mac_wakeup 
+4bba 20600000 rtn 
+
+usb_mac_wakeup:
+4bbb 68008d47 fetch 1 ,mem_usb_mac_wakeup_trig 
+4bbc 207a0000 rtn blank 
+4bbd 700d4601 jam 1 ,mem_usb_wakestate_onetime_flag 
+4bbe 20204bc2 branch usb_wakeup 
+
+usb_windows_wakeup:
+4bbf d8e0000f arg timer_wakeup ,queue 
+4bc0 20407f16 call timer_check 
+4bc1 247a0000 nrtn blank 
+
+usb_wakeup:
+4bc2 68108a00 hfetch 1 ,core_usb_config 
+4bc3 c4038000 rtnbit0 7 
+4bc4 708a00fc jam 0xfc ,core_usb_config 
+4bc5 20007530 nop 30000 
+4bc6 708a003c jam 0x3c ,core_usb_config 
+4bc7 20600000 rtn 
+
+hci_rx_h4:
+4bc8 44fec01f bpatch patch1f_5 ,mem_patch1f 
+4bc9 6800c1ce fetch 1 ,mem_hci_cmd 
+4bca 247a0000 nrtn blank 
+
+hci_rx_h4_1:
+4bcb 20404bce call hci_h4_parse_packet 
+4bcc 24544be6 ncall h4_rx_discard_packet ,user 
+4bcd 20600000 rtn 
+
+hci_h4_parse_packet:
+4bce 44ff401f bpatch patch1f_6 ,mem_patch1f 
+4bcf 18622200 copy contru ,rega 
+4bd0 d8400004 arg 4 ,temp 
+4bd1 e8608000 ifetch 1 ,contru 
+4bd2 c000cbd8 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+4bd3 18408401 increase 1 ,temp 
+4bd4 c0014bd8 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+4bd5 18627e00 copy contru ,pdata 
+4bd6 60110058 hstore 2 ,core_uart_rrptr 
+4bd7 20600000 rtn 
+
+hci_h4_parse_packet_wait_len:
+4bd8 68110112 hfetch 2 ,core_uart_rxitems 
+4bd9 98467c00 isub temp ,null 
+4bda 24214bd8 nbranch hci_h4_parse_packet_wait_len ,positive 
+4bdb 78547c00 disable user 
+4bdc 1a220600 copy rega ,contru 
+4bdd 20404bee call h4_get_rx_payload_len 
+4bde 98408400 iadd temp ,temp 
+
+hci_h4_parse_packet_wait:
+4bdf 68110112 hfetch 2 ,core_uart_rxitems 
+4be0 98467c00 isub temp ,null 
+4be1 24214bdf nbranch hci_h4_parse_packet_wait ,positive 
+4be2 1a220600 copy rega ,contru 
+4be3 e8608000 ifetch 1 ,contru 
+4be4 c000cc3f beq hci_h4_type_cmd ,process_hci_cmd 
+4be5 20202a8c branch assert 
+
+h4_rx_discard_packet:
+4be6 44ffc01f bpatch patch1f_7 ,mem_patch1f 
+4be7 68110058 hfetch 2 ,core_uart_rrptr 
+4be8 98000600 iforce contru 
+4be9 20404bee call h4_get_rx_payload_len 
+4bea 98608600 iadd contru ,contru 
+4beb 18627e00 deposit contru 
+4bec 60110058 hstore 2 ,core_uart_rrptr 
+4bed 20600000 rtn 
+
+h4_get_rx_payload_len:
+4bee e8608000 ifetch 1 ,contru 
+4bef 18608602 increase 2 ,contru 
+4bf0 c0014bf3 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+4bf1 e8608000 ifetch 1 ,contru 
+4bf2 20600000 rtn 
+
+h4_get_rx_payload_len_acl:
+4bf3 e8610000 ifetch 2 ,contru 
+4bf4 20600000 rtn 
+
+h4_get_tx_ptr:
+4bf5 6811005e hfetch 2 ,core_uart_twptr 
+4bf6 194095fb increase -5 ,contwu 
+4bf7 99409400 iadd contwu ,contwu 
+4bf8 20600000 rtn 
+
+h4_send_packet_event:
+4bf9 d8400004 arg hci_h4_type_event ,temp 
+4bfa 20204bfc branch h4_send_packet 
+
+h4_send_packet_acl:
+4bfb d8400002 arg hci_h4_type_acl ,temp 
+
+h4_send_packet:
+4bfc 47004020 bpatchx patch20_0 ,mem_patch20 
+4bfd 1f20f201 increase 1 ,loopcnt 
+4bfe 6811005e hfetch 2 ,core_uart_twptr 
+4bff 1fe21400 copy pdata ,contwu 
+4c00 1f227e00 copy loopcnt ,pdata 
+4c01 e1488000 istoret 1 ,contwu 
+4c02 1fe0ffff increase -1 ,pdata 
+4c03 99409400 iadd contwu ,contwu 
+4c04 19427e00 copy contwu ,pdata 
+4c05 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c06 18427e00 copy temp ,pdata 
+4c07 c1010000 rtneq hci_h4_type_acl 
+4c08 68010258 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+4c09 6011005e hstore 2 ,core_uart_twptr 
+4c0a 20204c0b branch h4_send_acl_trigger_clear 
+
+h4_send_acl_trigger_clear:
+4c0b 58000000 setarg 0 
+4c0c 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c0d 20600000 rtn 
+
+hci_init:
+4c0e 20758000 rtn wake 
+4c0f 58004d28 setarg hci_idle_dispatch 
+4c10 600141f3 store 2 ,mem_cb_idle_process 
+4c11 580001a0 setarg uart_baud_115200 
+4c12 60014243 store uart_baud_len ,mem_baud 
+
+hci_lpm_init:
+4c13 58001800 setarg mem_h5rx_buf 
+4c14 60110054 hstore 2 ,core_uart_rsaddr 
+4c15 58001bff setarg mem_h5rx_buf_end 
+4c16 60110056 hstore 2 ,core_uart_readdr 
+4c17 58001c00 setarg mem_h5tx_buf 
+4c18 6011005a hstore 2 ,core_uart_tsaddr 
+4c19 20404c28 call hci_sel_init 
+
+hci_reinit:
+4c1a 70806200 jam 0x0 ,core_uart_ctrl 
+4c1b 58001c00 setarg mem_h5tx_buf 
+4c1c 6011005e hstore 2 ,core_uart_twptr 
+4c1d 60110060 hstore 2 ,core_uart_trptrp 
+4c1e 58001800 setarg mem_h5rx_buf 
+4c1f 60110058 hstore 2 ,core_uart_rrptr 
+4c20 60010244 store 2 ,mem_h5rx_rptr 
+
+hci_init_common:
+4c21 68110050 hfetch 2 ,core_clkoff 
+4c22 793ffe0f set0 clock_off_uart ,pdata 
+4c23 60110050 hstore 2 ,core_clkoff 
+4c24 204066ce call uart_set_baud_by_mem 
+4c25 70804301 jam uartclk_dpll ,core_uart_clksel 
+4c26 70806281 jam uart_ctrl_h4 ,core_uart_ctrl 
+4c27 20600000 rtn 
+
+hci_sel_init:
+4c28 58001fff setarg mem_h5tx_buf_end 
+4c29 6011005c hstore 2 ,core_uart_teaddr 
+4c2a 68108081 hfetch 1 ,core_gpio_sel1 
+4c2b 1fe1fe07 or_into 0x07 ,pdata 
+4c2c 60108081 hstore 1 ,core_gpio_sel1 
+4c2d 20600000 rtn 
+
+hci_rx_packet:
+4c2e 4700c020 bpatchx patch20_1 ,mem_patch20 
+4c2f 6810810c hfetch 1 ,core_uart_status 
+4c30 98002400 iforce regb 
+4c31 c301cc37 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+4c32 68110112 hfetch 2 ,core_uart_rxitems 
+4c33 98002600 iforce regc 
+4c34 d840044f arg 0x44f ,temp 
+4c35 98467c00 isub temp ,null 
+4c36 24628000 nrtn zero 
+
+hci_rx_packet_cont:
+4c37 68110058 hfetch 2 ,core_uart_rrptr 
+4c38 98000600 iforce contru 
+4c39 20204bc8 branch hci_rx_h4 
+
+uart_send_byte:
+4c3a 6818810c hfetcht 1 ,core_uart_status 
+4c3b 284ffe06 isolate1 6 ,temp 
+4c3c 2020cc3a branch uart_send_byte ,true 
+4c3d 60108015 hstore 1 ,core_uart_txd 
+4c3e 20600000 rtn 
+
+process_hci_cmd:
+4c3f 47014020 bpatchx patch20_2 ,mem_patch20 
+4c40 6800c1ce fetch 1 ,mem_hci_cmd 
+4c41 203a4c44 branch process_hci_cmd_cont ,blank 
+4c42 78347c00 enable user 
+4c43 20600000 rtn 
+
+process_hci_cmd_cont:
+4c44 e8610000 ifetch 2 ,contru 
+4c45 98006000 iforce alarm 
+4c46 98000e00 iforce queue 
+4c47 e8608000 ifetch 1 ,contru 
+4c48 98000400 iforce temp 
+4c49 1e0b7e00 rshift2 alarm ,pdata 
+4c4a 1fecfe00 rshift8 pdata ,pdata 
+4c4b c01fcc4d beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+4c4c 20600000 rtn 
+
+phci_grp_vendor_specific:
+4c4d 4701c020 bpatchx patch20_3 ,mem_patch20 
+4c4e 18e27e00 deposit queue 
+4c4f c0004cdc beq hci_vendor_cmd_reset ,hci_normal_reply 
+4c50 c000cc66 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+4c51 c0014c6b beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+4c52 c001cc7a beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+4c53 c0024cb3 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+4c54 c002ccdc beq hci_vendor_cmd_echo ,hci_normal_reply 
+4c55 c0034cc6 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+4c56 c003cc5c beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+4c57 c0084cc9 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+4c58 c008ccd1 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+4c59 c0094ca5 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+4c5a c009cc85 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+4c5b 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_enter_lpm:
+4c5c 20404cdc call hci_normal_reply 
+4c5d 20407f9e call wait_uarttx 
+4c5e 2040688c call gpio_pu_uart_tx 
+
+hci_enter_lpm:
+4c5f 204033d2 call app_put_lpm_wake_lock 
+4c60 204033d9 call app_l2cap_flow_control_enable 
+4c61 2020688f branch gpio_rx_config_input_with_pu 
+
+hci_exit_lpm:
+4c62 70424500 jam hci_rx_ready ,mem_hci_lt_rx_state 
+4c63 204033d0 call app_get_lpm_wake_lock 
+4c64 20404c13 call hci_lpm_init 
+4c65 202033db branch app_l2cap_flow_control_disable 
+
+phci_grp_vendor_chipid:
+4c66 20404cf2 call hci_get_cmd_complete_ptr 
+4c67 68110000 hfetch 2 ,core_chipid 
+4c68 e1410000 istore 2 ,contwu 
+4c69 18007206 force 6 ,loopcnt 
+4c6a 20204cdd branch hci_command_complete 
+
+phci_grp_vendor_baud:
+4c6b e8610000 ifetch 2 ,contru 
+4c6c 60014243 store 2 ,mem_baud 
+4c6d 60110052 hstore 2 ,core_uart_baud 
+4c6e 20600000 rtn 
+
+phci_grp_vendor_patch_common:
+4c6f e8608000 ifetch 1 ,contru 
+4c70 1fe20400 copy pdata ,temp 
+4c71 60108024 hstore 1 ,core_ucode_low 
+4c72 e8608000 ifetch 1 ,contru 
+4c73 98408400 iadd temp ,temp 
+4c74 79207e07 set1 7 ,pdata 
+4c75 60108023 hstore 1 ,core_ucode_ctrl 
+4c76 e8608000 ifetch 1 ,contru 
+4c77 98408400 iadd temp ,temp 
+4c78 1fe27200 copy pdata ,loopcnt 
+4c79 20600000 rtn 
+
+phci_grp_vendor_patch:
+4c7a c515ccc4 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c7b 20404c6f call phci_grp_vendor_patch_common 
+
+phci_grp_vendor_patch_loop:
+4c7c e8608000 ifetch 1 ,contru 
+4c7d 60108025 hstore 1 ,core_ucode_data 
+4c7e 98408400 iadd temp ,temp 
+4c7f c2004c7c loop phci_grp_vendor_patch_loop 
+
+phci_grp_vendor_patch_check_sum:
+4c80 184104ff and temp ,0xff ,temp 
+4c81 e8608000 ifetch 1 ,contru 
+4c82 98467c00 isub temp ,null 
+4c83 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4c84 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_patch_sec:
+4c85 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c86 20404c6f call phci_grp_vendor_patch_common 
+4c87 60040a9a store 8 ,mem_pdatatemp 
+
+phci_grp_vendor_patch_sec_loop:
+4c88 20407422 call do_aes_cbc 
+4c89 df200010 arg 16 ,loopcnt 
+4c8a d8a00ac2 arg mem_temp_block0 ,contw 
+4c8b 20404ca0 call load_uart_sum_loop 
+4c8c 600c0aa2 storet 8 ,mem_temp 
+4c8d d8a00ad2 arg mem_temp_block2 ,contw 
+4c8e 20407497 call store_aes_result 
+4c8f da200ad2 arg mem_temp_block2 ,rega 
+4c90 da400ac2 arg mem_temp_block0 ,regb 
+4c91 d8a00ae2 arg mem_temp_block3 ,contw 
+4c92 20407352 call xor16 
+4c93 df200010 arg 16 ,loopcnt 
+4c94 d8c00ae2 arg mem_temp_block3 ,contr 
+4c95 20404c9c call load_ucode_only_loop 
+4c96 680c0aa2 fetcht 8 ,mem_temp 
+4c97 68040a9a fetch 8 ,mem_pdatatemp 
+4c98 1fe0fff0 increase -16 ,pdata 
+4c99 60040a9a store 8 ,mem_pdatatemp 
+4c9a 243a4c88 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+4c9b 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+load_ucode_only_loop:
+4c9c e8c08000 ifetch 1 ,contr 
+4c9d 60108025 hstore 1 ,core_ucode_data 
+4c9e c2004c9c loop load_ucode_only_loop 
+4c9f 20600000 rtn 
+
+load_uart_sum_loop:
+4ca0 e8608000 ifetch 1 ,contru 
+4ca1 e0a08000 istore 1 ,contw 
+4ca2 98408400 iadd temp ,temp 
+4ca3 c2004ca0 loop load_uart_sum_loop 
+4ca4 20600000 rtn 
+
+phci_grp_vendor_patch_sec_init:
+4ca5 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4ca6 d8400000 arg 0 ,temp 
+4ca7 df200010 arg 16 ,loopcnt 
+4ca8 d8a00ac2 arg mem_temp_block0 ,contw 
+4ca9 20404ca0 call load_uart_sum_loop 
+4caa 68108085 hfetch 1 ,core_gpio_key2 
+4cab 1fe17efd and_into 0xfd ,pdata 
+4cac 60108085 hstore 1 ,core_gpio_key2 
+4cad d8c00ac2 arg mem_temp_block0 ,contr 
+4cae df200010 arg 16 ,loopcnt 
+4caf 20407478 call aes_load_data 
+4cb0 20407428 call aes_init 
+4cb1 20407491 call aes_clear_data 
+4cb2 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+phci_grp_vendor_done:
+4cb3 df200020 arg 0x20 ,loopcnt 
+4cb4 d8a04000 arg mem_patch00 ,contw 
+4cb5 d8400000 arg 0 ,temp 
+
+phci_grp_vendor_done_loop:
+4cb6 e8608000 ifetch 1 ,contru 
+4cb7 e0a08000 istore 1 ,contw 
+4cb8 98408400 iadd temp ,temp 
+4cb9 c2004cb6 loop phci_grp_vendor_done_loop 
+4cba 184104ff and temp ,0xff ,temp 
+4cbb e8608000 ifetch 1 ,contru 
+4cbc 98467c00 isub temp ,null 
+4cbd 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4cbe 70802300 jam 0 ,core_ucode_ctrl 
+4cbf 20404cdc call hci_normal_reply 
+4cc0 20404be6 call h4_rx_discard_packet 
+4cc1 204064a3 call clear_key_buf 
+4cc2 20407f9e call wait_uarttx 
+4cc3 20202001 branch soft_reset 
+
+phci_grp_vendor_patch_bad:
+4cc4 70802300 jam 0 ,core_ucode_ctrl 
+4cc5 20202000 branch start 
+
+phci_grp_vendor_bdaddr:
+4cc6 e8630000 ifetch 6 ,contru 
+4cc7 600340a0 store 6 ,mem_lap 
+4cc8 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_mem:
+4cc9 e8608000 ifetch 1 ,contru 
+4cca 6000825a store 1 ,mem_hci_curr_len 
+4ccb 1fe27200 copy pdata ,loopcnt 
+4ccc e8610000 ifetch 2 ,contru 
+4ccd 6001025b store 2 ,mem_hci_curr_target 
+4cce 1fe20a00 copy pdata ,contw 
+4ccf 204066fd call uart_copy_rx_bytes 
+4cd0 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_eep:
+4cd1 e8608000 ifetch 1 ,contru 
+4cd2 6000825a store 1 ,mem_hci_curr_len 
+4cd3 1fe27200 copy pdata ,loopcnt 
+4cd4 e8610000 ifetch 2 ,contru 
+4cd5 6001025b store 2 ,mem_hci_curr_target 
+4cd6 d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+4cd7 204066fd call uart_copy_rx_bytes 
+4cd8 6808825a fetcht 1 ,mem_hci_curr_len 
+4cd9 da201000 arg mem_l2cap_rxbuff1 ,rega 
+4cda 6801025b fetch 2 ,mem_hci_curr_target 
+4cdb 20206608 branch iicd_write_ota_data 
+
+hci_normal_reply:
+4cdc 18007204 force 4 ,loopcnt 
+
+hci_command_complete:
+4cdd 20404cf4 call hci_get_payload_ptr 
+4cde 18007e01 force 0x1 ,pdata 
+4cdf e1408000 istore 1 ,contwu 
+4ce0 1e027e00 deposit alarm 
+4ce1 e1418000 istore 3 ,contwu 
+4ce2 18000e0e force hci_event_command_complete ,queue 
+
+hci_send_event:
+4ce3 47024020 bpatchx patch20_4 ,mem_patch20 
+4ce4 20404cf6 call hci_get_packet_ptr 
+4ce5 18e27e00 deposit queue 
+4ce6 e1408000 istore 1 ,contwu 
+4ce7 1f227e00 deposit loopcnt 
+4ce8 e1408000 istore 1 ,contwu 
+
+hci_send_event_raw:
+4ce9 18000e05 force 5 ,queue 
+4cea 1f20f202 increase 2 ,loopcnt 
+
+hci_send_packet:
+4ceb 20204bf9 branch h4_send_packet_event 
+
+hci_send_commu_ready_event:
+4cec 18000eff force hci_event_vendor_specific ,queue 
+4ced 20404cf4 call hci_get_payload_ptr 
+4cee 58000001 setarg hci_vendor_event_commu_ready 
+4cef e1408000 istore 1 ,contwu 
+4cf0 18007201 force 1 ,loopcnt 
+4cf1 20204ce3 branch hci_send_event 
+
+hci_get_cmd_complete_ptr:
+4cf2 1800140c force 12 ,contwu 
+4cf3 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_payload_ptr:
+4cf4 18001408 force 8 ,contwu 
+4cf5 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_packet_ptr:
+4cf6 18001406 force 6 ,contwu 
+
+hci_get_tx_ptr:
+4cf7 20204bf5 branch h4_get_tx_ptr 
+
+calc_tx_crc16:
+4cf8 7827fc00 pulse crc16 
+4cf9 7824fc00 enable enable_crc 
+
+crcloop:
+4cfa e9408000 ifetch 1 ,contwu 
+4cfb 08008008 inject bucket ,8 
+4cfc c2004cfa loop crcloop 
+4cfd 78247c00 enable enable_parity 
+4cfe 08008010 inject bucket ,16 
+4cff 78447c00 disable enable_parity 
+4d00 7844fc00 disable enable_crc 
+4d01 7847fc00 disable crc16 
+4d02 1ff0fe00 byteswap pdata ,pdata 
+4d03 20600000 rtn 
+
+cmd_exit:
+4d04 7041ce00 jam 0 ,mem_hci_cmd 
+4d05 20600000 rtn 
+
+cmd_check_plap:
+4d06 680341d0 fetch 6 ,mem_hci_plap 
+4d07 680b0040 fetcht 6 ,mem_plap 
+4d08 98467c00 isub temp ,null 
+4d09 20600000 rtn 
+
+cmd_pair:
+4d0a 6800804b fetch 1 ,mem_op 
+4d0b c2814d0f bbit1 op_inrand_req ,cmd_pair_passive 
+4d0c 204062ef call tid_initiate 
+4d0d 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+4d0e 20204d04 branch cmd_exit 
+
+cmd_pair_passive:
+4d0f 793ffe02 set0 op_inrand_req ,pdata 
+4d10 6000804b store 1 ,mem_op 
+4d11 20406001 call lmp_accept_inrand 
+4d12 58000000 setarg 0 
+4d13 7934fe01 setflag master ,smap_lmptid ,pdata 
+4d14 6000807f store 1 ,mem_lmo_tid2 
+4d15 20204d04 branch cmd_exit 
+4d16 20600000 rtn 
+
+cmd_in_sniff:
+4d17 70007c17 jam lmp_sniff_req ,mem_lmo_opcode2 
+4d18 d8a004d9 arg mem_sniff_payload ,contw 
+4d19 58000000 setarg 0 
+4d1a 2d0ffe1b isolate1 27 ,clke_bt 
+4d1b 7920fe01 setflag true ,1 ,pdata 
+4d1c e0a08000 istore 1 ,contw 
+4d1d 58000000 setarg 0 
+4d1e e0a10000 istore 2 ,contw 
+4d1f 680141e3 fetch 2 ,mem_sniff_param_interval 
+4d20 e0a10000 istore 2 ,contw 
+4d21 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+4d22 e0a10000 istore 2 ,contw 
+4d23 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+4d24 e0a10000 istore 2 ,contw 
+4d25 20204d04 branch cmd_exit 
+
+cmd_exit_sniff:
+4d26 70007c18 jam lmp_unsniff_req ,mem_lmo_opcode2 
+4d27 20204d04 branch cmd_exit 
+
+hci_idle_dispatch:
+4d28 20406899 call gpio_check_uart_state 
+4d29 20608000 rtn true 
+4d2a d8400007 arg uart_wakeup_rx ,temp 
+4d2b 2040681d call gpio_get_bit 
+4d2c 2420cd2f nbranch uart_wake_up ,true 
+4d2d 70424501 jam hci_rx_wake ,mem_hci_lt_rx_state 
+4d2e 20600000 rtn 
+
+uart_wake_up:
+4d2f 6800c245 fetch 1 ,mem_hci_lt_rx_state 
+4d30 c1808000 rtnne hci_rx_wake 
+4d31 20404c62 call hci_exit_lpm 
+4d32 20204cec branch hci_send_commu_ready_event 
+
+hid_rx_process:
+4d33 4702c020 bpatchx patch20_5 ,mem_patch20 
+4d34 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4d35 1fe20c00 copy pdata ,contr 
+4d36 e8c08000 ifetch 1 ,contr 
+4d37 1fe1040f and pdata ,0x0f ,temp 
+4d38 1ff1fe00 rshift4 pdata ,pdata 
+4d39 c004cd53 beq hid_type_set_idle ,hid_rx_process_handshake 
+4d3a c003cd53 beq hid_type_set_protocol ,hid_rx_process_handshake 
+4d3b c0054d5f beq hid_type_data ,hid_rx_process_data 
+4d3c c002cd4b beq hid_type_set_report ,hid_rx_process_set_report 
+4d3d c000cd3f beq hid_type_control ,hid_rx_process_hid_control 
+4d3e 20600000 rtn 
+
+hid_rx_process_hid_control:
+4d3f 18427e00 copy temp ,pdata 
+4d40 c002cd43 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+4d41 c001cd4a beq hid_control_p_suspend ,hid_rx_process_suspend 
+4d42 20600000 rtn 
+
+hid_rx_process_virtual_cable_unplug:
+4d43 700a9927 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+4d44 20407d86 call ui_ipc_send_event 
+4d45 6800c092 fetch 1 ,mem_device_option 
+4d46 c4030000 rtnbit0 dvc_op_mouse 
+4d47 18427e00 copy temp ,pdata 
+4d48 c002c38e beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+4d49 20600000 rtn 
+
+hid_rx_process_suspend:
+4d4a 20600000 rtn 
+
+hid_rx_process_set_report:
+4d4b 20404d5f call hid_rx_process_data 
+4d4c da200001 arg 0x01 ,rega 
+4d4d 20404d63 call hid_malloc_tx_buff 
+4d4e 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d4f e0a10000 istore 2 ,contw 
+4d50 58000000 setarg 0x00 
+4d51 e0a08000 istore 1 ,contw 
+4d52 20600000 rtn 
+
+hid_rx_process_handshake:
+4d53 da200001 arg 1 ,rega 
+4d54 20404d63 call hid_malloc_tx_buff 
+4d55 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d56 e0a10000 istore 2 ,contw 
+4d57 58000000 setarg 0 
+4d58 e0a08000 istore 1 ,contw 
+4d59 700a8e01 jam 1 ,mem_ui_data_txbuff_length 
+4d5a 6800c252 fetch 1 ,mem_hid_control_state 
+4d5b 79207e06 set1 l2cap_channel_hid_handshake_done 
+4d5c 6000c252 store 1 ,mem_hid_control_state 
+4d5d 700a9912 jam bt_evt_hid_handshake ,mem_fifo_temp 
+4d5e 20207d86 branch ui_ipc_send_event 
+
+hid_rx_process_data:
+4d5f e8c08000 ifetch 1 ,contr 
+4d60 c000cd62 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+4d61 20600000 rtn 
+
+hid_rx_process_data_hid_kb:
+4d62 20600000 rtn 
+
+hid_malloc_tx_buff:
+4d63 20405240 call l2cap_malloc 
+4d64 1a220400 copy rega ,temp 
+4d65 60088a8e storet 1 ,mem_ui_data_txbuff_length 
+4d66 1fe20a00 copy pdata ,contw 
+4d67 1a227e00 copy rega ,pdata 
+4d68 e0a10000 istore 2 ,contw 
+4d69 20600000 rtn 
+
+l2cap_init:
+4d6a 2035cd6f branch l2cap_init_wake ,wake 
+
+l2cap_init_work:
+4d6b 58004365 setarg mem_l2cap_xmem_end 
+4d6c d8a04246 arg mem_l2cap_xmem_start ,contw 
+4d6d 98a67200 isub contw ,loopcnt 
+4d6e 20407ed4 call clear_mem 
+
+l2cap_init_wake:
+4d6f 47034020 bpatchx patch20_6 ,mem_patch20 
+4d70 58000551 setarg mem_sdp_mem_end 
+4d71 d8a00511 arg mem_sdp_mem_start ,contw 
+4d72 98a67200 isub contw ,loopcnt 
+4d73 20407ed4 call clear_mem 
+4d74 580002c9 setarg mem_l2cap_mem_end 
+4d75 d8a0025d arg mem_l2cap_mem_start ,contw 
+4d76 98a67200 isub contw ,loopcnt 
+4d77 20407ed4 call clear_mem 
+4d78 20205318 branch l2cap_lpm_load_txbuf 
+
+process_rx_l2cap_pkt:
+4d79 4703c020 bpatchx patch20_7 ,mem_patch20 
+4d7a 18c20400 copy contr ,temp 
+4d7b 18420c00 copy temp ,contr 
+4d7c e8c10000 ifetch 2 ,contr 
+4d7d 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4d7e e8c10000 ifetch 2 ,contr 
+4d7f 60010268 store 2 ,mem_l2cap_rx_cid 
+4d80 18c27e00 deposit contr 
+4d81 60010264 store 2 ,mem_l2cap_payload_ptr 
+4d82 6800c681 fetch 1 ,memui_reconnect_mode 
+4d83 c0004d85 beq no_reconnection ,l2cap_rx_multiplexing 
+4d84 202050ef branch ml2cap_rx_multiplexing 
+
+l2cap_rx_multiplexing:
+4d85 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4d86 203a4dfc branch l2cap_rx_reset_state ,blank 
+4d87 47044021 bpatchx patch21_0 ,mem_patch21 
+4d88 68008268 fetch 1 ,mem_l2cap_rx_cid 
+4d89 c000cd9d beq l2cap_signal_channel ,l2cap_call_proc_signal 
+
+l2cap_rx_multiplexing0:
+4d8a c0284de0 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+4d8b c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+4d8c c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+4d8d c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+4d8e 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_check_map:
+4d8f 4704c021 bpatchx patch21_1 ,mem_patch21 
+4d90 2040527e call l2cap_malloc_get_full_map 
+4d91 6800c256 fetch 1 ,mem_used_map 
+4d92 c0004d9b beq 0 ,set_pdata_0 
+4d93 c000cd9b beq 1 ,set_pdata_0 
+4d94 c0014d9b beq 2 ,set_pdata_0 
+4d95 c001cd9b beq 3 ,set_pdata_0 
+4d96 c040cd9b beq 0x81 ,set_pdata_0 
+4d97 c0604d9b beq 0xc0 ,set_pdata_0 
+4d98 c0404d9b beq 0x80 ,set_pdata_0 
+4d99 c0204d9b beq 0x40 ,set_pdata_0 
+4d9a 20600000 rtn 
+
+set_pdata_0:
+4d9b 58000000 setarg 0 
+4d9c 20600000 rtn 
+
+l2cap_call_proc_signal:
+4d9d 20404d8f call l2cap_check_map 
+4d9e 247a0000 nrtn blank 
+
+l2cap_call_proc_signal0:
+4d9f 204052b8 call l2cap_malloc_signal_channel 
+4da0 20404e01 call l2cap_process_signal_pkt 
+4da1 6809026f fetcht 2 ,mem_l2cap_signal_tx_length 
+4da2 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4da3 204052c1 call l2cap_get_signal_tx_buff 
+4da4 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4da5 e0a10000 istore 2 ,contw 
+4da6 18007e01 force l2cap_signal_channel ,pdata 
+4da7 e0a10000 istore 2 ,contw 
+4da8 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_sigal_pending:
+4da9 6800c364 fetch 1 ,mem_l2cap_pending_item 
+4daa 207a0000 rtn blank 
+4dab 1fe22200 copy pdata ,rega 
+4dac 47054021 bpatchx patch21_2 ,mem_patch21 
+4dad 680202d5 fetch 4 ,mem_l2cap_sdpres_delay_time 
+4dae d8400100 arg 0x100 ,temp 
+4daf 98408400 iadd temp ,temp 
+4db0 1c427e00 copy clkn_bt ,pdata 
+4db1 98467c00 isub temp ,null 
+4db2 24610000 nrtn positive 
+4db3 70436400 jam 0 ,mem_l2cap_pending_item 
+4db4 1a227e00 copy rega ,pdata 
+4db5 c0284db7 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+4db6 20202a8c branch assert 
+
+l2cap_sdp_conn_succ:
+4db7 d9000000 arg 0 ,debug 
+4db8 204052b8 call l2cap_malloc_signal_channel 
+4db9 20404e7a call restore_l2cap_req_param 
+4dba 204052c3 call l2cap_get_signal_tx_payload 
+4dbb 20407ea8 call save_cont_pointers 
+4dbc 20404ead call send_connection_sdp_res 
+4dbd 204052c1 call l2cap_get_signal_tx_buff 
+4dbe 5800000c setarg 0x000c 
+4dbf e0a10000 istore 2 ,contw 
+4dc0 18007e01 force l2cap_signal_channel ,pdata 
+4dc1 e0a10000 istore 2 ,contw 
+4dc2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_reset_sdp_map:
+4dc3 4705c021 bpatchx patch21_3 ,mem_patch21 
+4dc4 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dc5 1fe0fe04 increase 4 ,pdata 
+4dc6 1ff1fe00 rshift4 pdata ,pdata 
+4dc7 1fe97e00 rshift3 pdata ,pdata 
+4dc8 1fe08401 add pdata ,1 ,temp 
+4dc9 d8c04260 arg mem_tx_fifo3 ,contr 
+4dca e8c18000 ifetch 3 ,contr 
+4dcb 207a0000 rtn blank 
+4dcc 60018ac2 store 3 ,mem_tx_fifo_map_temp 
+4dcd 68008ac2 fetch 1 ,mem_tx_fifo_map_temp 
+4dce 1fe22200 copy pdata ,rega 
+4dcf 20404dd3 call check_l2cap_map 
+4dd0 1a427e00 copy regb ,pdata 
+4dd1 6000c260 store 1 ,mem_tx_fifo3 
+4dd2 20600000 rtn 
+
+check_l2cap_map:
+4dd3 d8e00000 arg 0 ,queue 
+4dd4 da400000 arg 0 ,regb 
+
+check_l2cap_map_loop:
+4dd5 18e67c07 sub queue ,7 ,null 
+4dd6 24610000 nrtn positive 
+4dd7 aa2fffff qisolate1 rega 
+4dd8 2020cdda branch check_l2cap_map_used ,true 
+4dd9 20204dde branch check_l2cap_map_used2 
+
+check_l2cap_map_used:
+4dda 18427e00 copy temp ,pdata 
+4ddb 203a4dde branch check_l2cap_map_used2 ,blank 
+4ddc f9202400 qset1 regb 
+4ddd 184085ff increase -1 ,temp 
+
+check_l2cap_map_used2:
+4dde 18e08e01 increase 1 ,queue 
+4ddf 20204dd5 branch check_l2cap_map_loop 
+
+l2cap_call_proc_sdp:
+4de0 20405274 call l2cap_malloc_is_fifo_empty 
+4de1 247a0000 nrtn blank 
+4de2 20404d8f call l2cap_check_map 
+4de3 247a0000 nrtn blank 
+4de4 204052c5 call l2cap_malloc_sdp_channel 
+4de5 20406e11 call sdp_process 
+4de6 20404dc3 call l2cap_reset_sdp_map 
+4de7 20204dec branch l2cap_call_proc_sdp_common 
+
+ml2cap_call_proc_sdp:
+4de8 20405274 call l2cap_malloc_is_fifo_empty 
+4de9 247a0000 nrtn blank 
+4dea 204052c5 call l2cap_malloc_sdp_channel 
+4deb 20406e11 call sdp_process 
+
+l2cap_call_proc_sdp_common:
+4dec 204052ce call l2cap_get_sdp_tx_buff 
+4ded 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dee 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4def e0a10000 istore 2 ,contw 
+4df0 68014248 fetch 2 ,mem_sdp_remote_cid 
+4df1 e0a10000 istore 2 ,contw 
+4df2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_hid:
+4df3 20404d33 call hid_rx_process 
+4df4 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_rfcomm:
+4df5 47064021 bpatchx patch21_4 ,mem_patch21 
+4df6 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+4df7 20406a8a call rfcomm_rx_process 
+4df8 68008284 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+4df9 c1008000 rtneq rfcomm_malloc_fail 
+4dfa 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_no_reply:
+4dfb 20405264 call l2cap_malloc_discard 
+
+l2cap_rx_reset_state:
+4dfc 58000000 setarg 0 
+4dfd 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4dfe 60010268 store 2 ,mem_l2cap_rx_cid 
+4dff 70026a01 jam l2cap_rx_done ,mem_l2cap_rx_done 
+4e00 20600000 rtn 
+
+l2cap_process_signal_pkt:
+4e01 4706c021 bpatchx patch21_5 ,mem_patch21 
+4e02 204052c3 call l2cap_get_signal_tx_payload 
+4e03 18002400 force 0 ,regb 
+4e04 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4e05 1fe22600 copy pdata ,regc 
+4e06 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4e07 98000c00 iforce contr 
+
+l2cap_process_signal_pkt_loop:
+4e08 20404e10 call l2cap_process_one_signal 
+4e09 1a627e00 deposit regc 
+4e0a 1a60a7fc increase -4 ,regc 
+4e0b 1fe0fffc increase -4 ,pdata 
+4e0c 243a4e08 nbranch l2cap_process_signal_pkt_loop ,blank 
+4e0d 1a427e00 copy regb ,pdata 
+4e0e 6001026f store 2 ,mem_l2cap_signal_tx_length 
+4e0f 20600000 rtn 
+
+l2cap_process_one_signal:
+4e10 47074021 bpatchx patch21_6 ,mem_patch21 
+4e11 e8c08000 ifetch 1 ,contr 
+4e12 c000ce49 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+4e13 c0014e51 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+4e14 c001ced5 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+4e15 c0024f05 beq signal_config_req ,l2cap_proc_signal_config_req 
+4e16 c002cfa2 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+4e17 c0034fcb beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+4e18 c003d01b beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+4e19 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+4e1a c004d060 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+4e1b c0054e1f beq signal_info_req ,l2cap_proc_signal_info_req 
+4e1c c005d061 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+4e1d 20405062 call l2cap_reject_command 
+
+l2cap_process_one_signal_rtn:
+4e1e 20600000 rtn 
+
+l2cap_proc_signal_info_req:
+4e1f e8c08000 ifetch 1 ,contr 
+4e20 1fe20e00 copy pdata ,queue 
+4e21 e8c10000 ifetch 2 ,contr 
+4e22 1fe22200 copy pdata ,rega 
+4e23 1a627e00 copy regc ,pdata 
+4e24 9a262600 isub rega ,regc 
+4e25 5800000b setarg signal_info_rsp 
+4e26 e0a08000 istore 1 ,contw 
+4e27 18e27e00 copy queue ,pdata 
+4e28 e0a08000 istore 1 ,contw 
+4e29 e8c10000 ifetch 2 ,contr 
+
+l2cap_proc_signal_info_req_reply:
+4e2a c0014e2d beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+4e2b c001ce33 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+4e2c 20600000 rtn 
+
+l2cap_proc_signal_info_req_ext:
+4e2d 58020008 setarg 0x020008 
+4e2e e0a30000 istore 6 ,contw 
+4e2f 58000280 setarg 0x0280 
+4e30 e0a20000 istore 4 ,contw 
+4e31 18007e0c force 12 ,pdata 
+4e32 20204e38 branch l2cap_proc_signal_info_req_common 
+
+l2cap_proc_signal_info_req_fix:
+4e33 5803000c setarg 0x3000c 
+4e34 e0a30000 istore 6 ,contw 
+4e35 58000006 setarg 0x0006 
+4e36 e0a40000 istore 8 ,contw 
+4e37 18007e10 force 16 ,pdata 
+
+l2cap_proc_signal_info_req_common:
+4e38 9a40a400 iadd regb ,regb 
+4e39 20204e1e branch l2cap_process_one_signal_rtn 
+
+ml2cap_proc_signal_info_req:
+4e3a e8c08000 ifetch 1 ,contr 
+4e3b 1fe20e00 copy pdata ,queue 
+4e3c e8c10000 ifetch 2 ,contr 
+4e3d 1fe22200 copy pdata ,rega 
+4e3e e8c10000 ifetch 2 ,contr 
+4e3f 60010aa2 store 2 ,mem_temp 
+4e40 1a627e00 copy regc ,pdata 
+4e41 9a262600 isub rega ,regc 
+4e42 204052c3 call l2cap_get_signal_tx_payload 
+4e43 5800000b setarg signal_info_rsp 
+4e44 e0a08000 istore 1 ,contw 
+4e45 18e27e00 copy queue ,pdata 
+4e46 e0a08000 istore 1 ,contw 
+4e47 68010aa2 fetch 2 ,mem_temp 
+4e48 20204e2a branch l2cap_proc_signal_info_req_reply 
+
+l2cap_proc_signal_cmd_reject:
+4e49 e8c08000 ifetch 1 ,contr 
+4e4a 1fe20e00 copy pdata ,queue 
+4e4b e8c10000 ifetch 2 ,contr 
+4e4c 1fe22200 copy pdata ,rega 
+4e4d 98c08c00 iadd contr ,contr 
+4e4e 1a627e00 copy regc ,pdata 
+4e4f 9a262600 isub rega ,regc 
+
+l2cap_proc_signal_cmd_reject_rtn:
+4e50 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_req:
+4e51 20407ea8 call save_cont_pointers 
+4e52 20407ead call load_cont_pointers 
+4e53 d9000000 arg 0 ,debug 
+4e54 e8c08000 ifetch 1 ,contr 
+4e55 1fe20e00 copy pdata ,queue 
+4e56 e8c10000 ifetch 2 ,contr 
+4e57 1fe22200 copy pdata ,rega 
+4e58 e8c10000 ifetch 2 ,contr 
+4e59 1fe20400 copy pdata ,temp 
+4e5a e8c10000 ifetch 2 ,contr 
+4e5b 1fe21600 copy pdata ,timeup 
+4e5c 4707c021 bpatchx patch21_7 ,mem_patch21 
+4e5d 18427e00 copy temp ,pdata 
+4e5e c000ce64 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+4e5f c001ce86 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+4e60 c008ce92 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+4e61 c009ce9d beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+4e62 20405062 call l2cap_reject_command 
+4e63 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_sdp:
+4e64 20407ea8 call save_cont_pointers 
+4e65 d8400050 arg l2cap_sdp_channel ,temp 
+4e66 68014248 fetch 2 ,mem_sdp_remote_cid 
+4e67 243a4ece nbranch already_connected ,blank 
+4e68 19627e00 copy timeup ,pdata 
+4e69 60014248 store 2 ,mem_sdp_remote_cid 
+4e6a 1c427e00 copy clkn_bt ,pdata 
+4e6b 600202d5 store 4 ,mem_l2cap_sdpres_delay_time 
+4e6c 20404e6e call store_l2cap_req_param 
+4e6d 20204ea9 branch send_connection_pending 
+
+store_l2cap_req_param:
+4e6e 600902d3 storet 2 ,mem_psm 
+4e6f 19627e00 deposit timeup 
+4e70 600102c9 store 2 ,mem_scid 
+4e71 1a227e00 deposit rega 
+4e72 600102cb store 2 ,mem_cmd_length 
+4e73 1a427e00 deposit regb 
+4e74 600102cd store 2 ,mem_tt2 
+4e75 1a627e00 deposit regc 
+4e76 600102cf store 2 ,mem_tt3 
+4e77 18e27e00 deposit queue 
+4e78 600102d1 store 2 ,mem_id 
+4e79 20600000 rtn 
+
+restore_l2cap_req_param:
+4e7a 680902d3 fetcht 2 ,mem_psm 
+4e7b 680102c9 fetch 2 ,mem_scid 
+4e7c 1fe21600 copy pdata ,timeup 
+4e7d 680102cb fetch 2 ,mem_cmd_length 
+4e7e 1fe22200 copy pdata ,rega 
+4e7f 680102cd fetch 2 ,mem_tt2 
+4e80 1fe22400 copy pdata ,regb 
+4e81 680102cf fetch 2 ,mem_tt3 
+4e82 1fe22600 copy pdata ,regc 
+4e83 680102d1 fetch 2 ,mem_id 
+4e84 1fe20e00 copy pdata ,queue 
+4e85 20600000 rtn 
+
+l2cap_proc_signal_connect_req_rfcomm:
+4e86 20407ea8 call save_cont_pointers 
+4e87 58000051 setarg l2cap_rfcomm_channel 
+4e88 d8400051 arg l2cap_rfcomm_channel ,temp 
+4e89 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4e8a 243a4ece nbranch already_connected ,blank 
+4e8b 19627e00 copy timeup ,pdata 
+4e8c 6001424a store 2 ,mem_rfcomm_remote_cid 
+4e8d 6800c251 fetch 1 ,mem_rfcomm_state 
+4e8e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e8f 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e90 6000c251 store 1 ,mem_rfcomm_state 
+4e91 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_ctrl:
+4e92 20407ea8 call save_cont_pointers 
+4e93 d8400052 arg l2cap_hid_control_channel ,temp 
+4e94 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4e95 243a4ece nbranch already_connected ,blank 
+4e96 19627e00 copy timeup ,pdata 
+4e97 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4e98 6800c252 fetch 1 ,mem_hid_control_state 
+4e99 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e9a 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e9b 6000c252 store 1 ,mem_hid_control_state 
+4e9c 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_int:
+4e9d 20407ea8 call save_cont_pointers 
+4e9e 1b427e00 deposit clke 
+4e9f d8400053 arg l2cap_hid_interrupt_channel ,temp 
+4ea0 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4ea1 243a4ece nbranch already_connected ,blank 
+4ea2 19627e00 copy timeup ,pdata 
+4ea3 6001424e store 2 ,mem_hid_int_remote_cid 
+4ea4 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4ea5 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4ea6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ea7 6000c253 store 1 ,mem_hid_interrupt_state 
+4ea8 20204eb1 branch send_connection_res 
+
+send_connection_pending:
+4ea9 58000001 setarg l2cap_connect_pending 
+4eaa 6001027d store 2 ,meml2cap_t1 
+4eab 70436450 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+4eac 20204eb3 branch send_connection_res0 
+
+send_connection_sdp_res:
+4ead 6800c250 fetch 1 ,mem_sdp_state 
+4eae 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4eaf 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4eb0 6000c250 store 1 ,mem_sdp_state 
+
+send_connection_res:
+4eb1 58000000 setarg l2cap_connect_successful 
+4eb2 6001027d store 2 ,meml2cap_t1 
+
+send_connection_res0:
+4eb3 47084022 bpatchx patch22_0 ,mem_patch22 
+4eb4 20407ead call load_cont_pointers 
+4eb5 58000003 setarg signal_connect_rsp 
+4eb6 e0a08000 istore 1 ,contw 
+4eb7 18e27e00 copy queue ,pdata 
+4eb8 e0a08000 istore 1 ,contw 
+4eb9 58000008 setarg 0x0008 
+4eba e0a10000 istore 2 ,contw 
+4ebb 18427e00 copy temp ,pdata 
+4ebc e0a10000 istore 2 ,contw 
+4ebd 19627e00 copy timeup ,pdata 
+4ebe e0a10000 istore 2 ,contw 
+4ebf 6801027d fetch 2 ,meml2cap_t1 
+4ec0 c000cec9 beq l2cap_connect_pending ,connect_pending 
+4ec1 290c0000 isolate0 0 ,debug 
+4ec2 2020cec4 branch connect_suc ,true 
+4ec3 58000004 setarg l2cap_connect_refused_no_resources 
+
+connect_suc:
+4ec4 e0a10000 istore 2 ,contw 
+4ec5 18007e00 force 0x0000 ,pdata 
+4ec6 e0a10000 istore 2 ,contw 
+4ec7 5800000c setarg 12 
+4ec8 20204ed0 branch connect_req_update_byte_counts 
+
+connect_pending:
+4ec9 e0a10000 istore 2 ,contw 
+4eca 18007e02 force 0x0002 ,pdata 
+4ecb e0a10000 istore 2 ,contw 
+4ecc 5800000c setarg 12 
+4ecd 20204ed0 branch connect_req_update_byte_counts 
+
+already_connected:
+4ece 79201000 set1 0 ,debug 
+4ecf 20204eb1 branch send_connection_res 
+
+connect_req_update_byte_counts:
+4ed0 9a40a400 iadd regb ,regb 
+4ed1 1a627e00 copy regc ,pdata 
+4ed2 9a262600 isub rega ,regc 
+4ed3 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_rtn:
+4ed4 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp:
+4ed5 e8c08000 ifetch 1 ,contr 
+4ed6 1fe20e00 copy pdata ,queue 
+4ed7 e8c10000 ifetch 2 ,contr 
+4ed8 1fe22200 copy pdata ,rega 
+4ed9 1a627e00 copy regc ,pdata 
+4eda 9a262600 isub rega ,regc 
+4edb e8c10000 ifetch 2 ,contr 
+4edc 1fe21600 copy pdata ,timeup 
+4edd e8c10000 ifetch 2 ,contr 
+4ede 1fe20400 copy pdata ,temp 
+4edf 4708c022 bpatchx patch22_1 ,mem_patch22 
+4ee0 58000050 setarg l2cap_sdp_channel 
+4ee1 98467c00 isub temp ,null 
+4ee2 2022ceed branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+4ee3 58000051 setarg l2cap_rfcomm_channel 
+4ee4 98467c00 isub temp ,null 
+4ee5 2022cef3 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+4ee6 58000052 setarg l2cap_hid_control_channel 
+4ee7 98467c00 isub temp ,null 
+4ee8 2022ceff branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+4ee9 58000053 setarg l2cap_hid_interrupt_channel 
+4eea 98467c00 isub temp ,null 
+4eeb 2022cef9 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+4eec 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_sdp:
+4eed 19627e00 copy timeup ,pdata 
+4eee 60014248 store 2 ,mem_sdp_remote_cid 
+4eef 6800c250 fetch 1 ,mem_sdp_state 
+4ef0 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef1 6000c250 store 1 ,mem_sdp_state 
+4ef2 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp_rfcomm:
+4ef3 19627e00 copy timeup ,pdata 
+4ef4 6001424a store 2 ,mem_rfcomm_remote_cid 
+4ef5 6800c251 fetch 1 ,mem_rfcomm_state 
+4ef6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef7 6000c251 store 1 ,mem_rfcomm_state 
+4ef8 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_int:
+4ef9 19627e00 copy timeup ,pdata 
+4efa 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4efb 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4efc 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4efd 6000c253 store 1 ,mem_hid_interrupt_state 
+4efe 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+4eff 19627e00 copy timeup ,pdata 
+4f00 6001424e store 2 ,mem_hid_int_remote_cid 
+4f01 6800c252 fetch 1 ,mem_hid_control_state 
+4f02 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4f03 6000c252 store 1 ,mem_hid_control_state 
+4f04 20600000 rtn 
+
+l2cap_proc_signal_config_req:
+4f05 e8c08000 ifetch 1 ,contr 
+4f06 1fe20e00 copy pdata ,queue 
+4f07 e8c10000 ifetch 2 ,contr 
+4f08 1fe22200 copy pdata ,rega 
+4f09 1a627e00 copy regc ,pdata 
+4f0a 9a262600 isub rega ,regc 
+4f0b e8c10000 ifetch 2 ,contr 
+4f0c 1fe20400 copy pdata ,temp 
+4f0d 18422200 copy temp ,rega 
+4f0e 47094022 bpatchx patch22_2 ,mem_patch22 
+4f0f 58000050 setarg l2cap_sdp_channel 
+4f10 98467c00 isub temp ,null 
+4f11 2022cf1c branch l2cap_proc_signal_config_req_sdp ,zero 
+4f12 58000051 setarg l2cap_rfcomm_channel 
+4f13 98467c00 isub temp ,null 
+4f14 2022cf3a branch l2cap_proc_signal_config_req_rfcomm ,zero 
+4f15 58000052 setarg l2cap_hid_control_channel 
+4f16 98467c00 isub temp ,null 
+4f17 2022cf26 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+4f18 58000053 setarg l2cap_hid_interrupt_channel 
+4f19 98467c00 isub temp ,null 
+4f1a 2022cf30 branch l2cap_proc_signal_config_req_hid_int ,zero 
+4f1b 20205062 branch l2cap_reject_command 
+
+l2cap_proc_signal_config_req_sdp:
+4f1c 18a21600 copy contw ,timeup 
+4f1d 6800c250 fetch 1 ,mem_sdp_state 
+4f1e 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f1f 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f20 6000c250 store 1 ,mem_sdp_state 
+4f21 19620a00 copy timeup ,contw 
+4f22 d9600050 arg l2cap_sdp_channel ,timeup 
+4f23 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f24 1fe20400 copy pdata ,temp 
+4f25 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_ctrl:
+4f26 18a21600 copy contw ,timeup 
+4f27 6800c252 fetch 1 ,mem_hid_control_state 
+4f28 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f29 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f2a 6000c252 store 1 ,mem_hid_control_state 
+4f2b 19620a00 copy timeup ,contw 
+4f2c d9600052 arg l2cap_hid_control_channel ,timeup 
+4f2d 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f2e 1fe20400 copy pdata ,temp 
+4f2f 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_int:
+4f30 18a21600 copy contw ,timeup 
+4f31 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f32 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f33 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f34 6000c253 store 1 ,mem_hid_interrupt_state 
+4f35 19620a00 copy timeup ,contw 
+4f36 d9600053 arg l2cap_hid_interrupt_channel ,timeup 
+4f37 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f38 1fe20400 copy pdata ,temp 
+4f39 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_rfcomm:
+4f3a 18a21600 copy contw ,timeup 
+4f3b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f3c 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f3d 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f3e 6000c251 store 1 ,mem_rfcomm_state 
+4f3f 19620a00 copy timeup ,contw 
+4f40 d9600051 arg l2cap_rfcomm_channel ,timeup 
+4f41 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f42 1fe20400 copy pdata ,temp 
+
+l2cap_send_config_rsp:
+4f43 4709c022 bpatchx patch22_3 ,mem_patch22 
+4f44 58000005 setarg signal_config_rsp 
+4f45 e0a08000 istore 1 ,contw 
+4f46 18e27e00 copy queue ,pdata 
+4f47 e0a08000 istore 1 ,contw 
+4f48 58000006 setarg 0x0006 
+4f49 e0a10000 istore 2 ,contw 
+4f4a 18427e00 copy temp ,pdata 
+4f4b e0a10000 istore 2 ,contw 
+4f4c 18007e00 force 0x00 ,pdata 
+4f4d e0a10000 istore 2 ,contw 
+4f4e 18007e00 force l2cap_config_success ,pdata 
+4f4f e0a10000 istore 2 ,contw 
+4f50 18007e0a force 10 ,pdata 
+4f51 9a40a400 iadd regb ,regb 
+4f52 60090282 storet 2 ,mem_config_req_dest_cid 
+4f53 18e27e00 copy queue ,pdata 
+4f54 60008281 store 1 ,mem_config_identifier 
+4f55 18007e50 force l2cap_sdp_channel ,pdata 
+4f56 a961fe00 icompare 0xff ,timeup 
+4f57 2020cf59 branch l2cap_send_config_rsp_is_sdp ,true 
+4f58 1fe0fe01 increase 1 ,pdata 
+
+l2cap_send_config_rsp_is_sdp:
+4f59 20600000 rtn 
+
+l2cap_check_channel_state:
+4f5a 78547c00 disable user 
+4f5b c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5c c4000000 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+4f5d c4008000 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+4f5e 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5f 18c20a00 copy contr ,contw 
+4f60 18a08bff increase -1 ,contw 
+4f61 e0a08000 istore 1 ,contw 
+4f62 78347c00 enable user 
+4f63 20600000 rtn 
+
+l2cap_send_config_req:
+
+l2cap_send_config_req_sdp:
+4f64 6800c250 fetch 1 ,mem_sdp_state 
+4f65 20404f5a call l2cap_check_channel_state 
+4f66 24344f6b nbranch l2cap_send_config_req_rfcomm ,user 
+4f67 70028050 jam l2cap_sdp_channel ,mem_send_config_req 
+4f68 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f69 60010282 store 2 ,mem_config_req_dest_cid 
+4f6a 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_rfcomm:
+4f6b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f6c 20404f5a call l2cap_check_channel_state 
+4f6d 24344f72 nbranch l2cap_send_config_req_hid_ctrl ,user 
+4f6e 70028051 jam l2cap_rfcomm_channel ,mem_send_config_req 
+4f6f 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f70 60010282 store 2 ,mem_config_req_dest_cid 
+4f71 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_ctrl:
+4f72 6800c252 fetch 1 ,mem_hid_control_state 
+4f73 20404f5a call l2cap_check_channel_state 
+4f74 24344f79 nbranch l2cap_send_config_req_hid_int ,user 
+4f75 70028052 jam l2cap_hid_control_channel ,mem_send_config_req 
+4f76 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f77 60010282 store 2 ,mem_config_req_dest_cid 
+4f78 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_int:
+4f79 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f7a 20404f5a call l2cap_check_channel_state 
+4f7b 24740000 nrtn user 
+4f7c 70028053 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+4f7d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f7e 60010282 store 2 ,mem_config_req_dest_cid 
+
+l2cap_generate_config_req:
+4f7f 470a4022 bpatchx patch22_4 ,mem_patch22 
+4f80 2040523a call l2cap_get_req_id 
+4f81 204052b8 call l2cap_malloc_signal_channel 
+4f82 18002400 force 0 ,regb 
+4f83 204052c3 call l2cap_get_signal_tx_payload 
+4f84 18007e04 force signal_config_req ,pdata 
+4f85 e0a08000 istore 1 ,contw 
+4f86 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+4f87 e0a08000 istore 1 ,contw 
+4f88 58000008 setarg 0x0008 
+4f89 e0a10000 istore 2 ,contw 
+4f8a 68010282 fetch 2 ,mem_config_req_dest_cid 
+4f8b e0a10000 istore 2 ,contw 
+4f8c 58000000 setarg 0x0000 
+4f8d e0a10000 istore 2 ,contw 
+4f8e 18007e01 force 1 ,pdata 
+4f8f e0a08000 istore 1 ,contw 
+4f90 18007e02 force 2 ,pdata 
+4f91 e0a08000 istore 1 ,contw 
+4f92 68008280 fetch 1 ,mem_send_config_req 
+4f93 c028cf97 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+4f94 58000030 setarg l2cap_config_mtu_sdp 
+4f95 e0a10000 istore 2 ,contw 
+4f96 20204f99 branch l2cap_generate_config_req_done 
+
+l2cap_generate_config_req_rfcomm:
+4f97 580003e3 setarg l2cap_config_mtu_rfcomm 
+4f98 e0a10000 istore 2 ,contw 
+
+l2cap_generate_config_req_done:
+4f99 d840000c arg 0x0c ,temp 
+4f9a 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+4f9b 204052c1 call l2cap_get_signal_tx_buff 
+4f9c 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4f9d e0a10000 istore 2 ,contw 
+4f9e 18007e01 force l2cap_signal_channel ,pdata 
+4f9f e0a10000 istore 2 ,contw 
+4fa0 70028000 jam 0 ,mem_send_config_req 
+
+l2cap_proc_signal_config_req_rtn:
+4fa1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp:
+4fa2 18c08c01 increase 1 ,contr 
+4fa3 e8c10000 ifetch 2 ,contr 
+4fa4 1fe22200 copy pdata ,rega 
+4fa5 1a627e00 copy regc ,pdata 
+4fa6 9a262600 isub rega ,regc 
+4fa7 e8c10000 ifetch 2 ,contr 
+4fa8 1fe22200 copy pdata ,rega 
+4fa9 470ac022 bpatchx patch22_5 ,mem_patch22 
+4faa 58000050 setarg l2cap_sdp_channel 
+4fab 9a267c00 isub rega ,null 
+4fac 2022cfba branch l2cap_proc_signal_config_rsp_sdp ,zero 
+4fad 58000051 setarg l2cap_rfcomm_channel 
+4fae 9a267c00 isub rega ,null 
+4faf 2022cfbe branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+4fb0 58000052 setarg l2cap_hid_control_channel 
+4fb1 9a267c00 isub rega ,null 
+4fb2 2022cfc2 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+4fb3 58000053 setarg l2cap_hid_interrupt_channel 
+4fb4 9a267c00 isub rega ,null 
+4fb5 2022cfc6 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+4fb6 18c08c02 increase 2 ,contr 
+4fb7 e8c10000 ifetch 2 ,contr 
+4fb8 98007c00 iforce null 
+4fb9 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_sdp:
+4fba 6800c250 fetch 1 ,mem_sdp_state 
+4fbb 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fbc 6000c250 store 1 ,mem_sdp_state 
+4fbd 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_rfcomm:
+4fbe 6800c251 fetch 1 ,mem_rfcomm_state 
+4fbf 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc0 6000c251 store 1 ,mem_rfcomm_state 
+4fc1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_ctrl:
+4fc2 6800c252 fetch 1 ,mem_hid_control_state 
+4fc3 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc4 6000c252 store 1 ,mem_hid_control_state 
+4fc5 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_int:
+4fc6 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4fc7 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc8 6000c253 store 1 ,mem_hid_interrupt_state 
+4fc9 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+4fca 20207d86 branch ui_ipc_send_event 
+
+l2cap_proc_signal_disconnect_req:
+4fcb e8c08000 ifetch 1 ,contr 
+4fcc 1fe20e00 copy pdata ,queue 
+4fcd e8c10000 ifetch 2 ,contr 
+4fce 1fe22200 copy pdata ,rega 
+4fcf 1a627e00 copy regc ,pdata 
+4fd0 9a262600 isub rega ,regc 
+4fd1 e8c10000 ifetch 2 ,contr 
+4fd2 1fe22200 copy pdata ,rega 
+4fd3 e8c10000 ifetch 2 ,contr 
+4fd4 1fe21600 copy pdata ,timeup 
+4fd5 1a220400 copy rega ,temp 
+4fd6 20407ea8 call save_cont_pointers 
+4fd7 470b4022 bpatchx patch22_6 ,mem_patch22 
+4fd8 58000050 setarg l2cap_sdp_channel 
+4fd9 98467c00 isub temp ,null 
+4fda 2022cff2 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+4fdb 58000051 setarg l2cap_rfcomm_channel 
+4fdc 98467c00 isub temp ,null 
+4fdd 2022d002 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+4fde 58000052 setarg l2cap_hid_control_channel 
+4fdf 98467c00 isub temp ,null 
+4fe0 2022cfe6 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+4fe1 58000053 setarg l2cap_hid_interrupt_channel 
+4fe2 98467c00 isub temp ,null 
+4fe3 2022cfec branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+4fe4 20405062 call l2cap_reject_command 
+4fe5 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+4fe6 19620400 copy timeup ,temp 
+4fe7 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4fe8 98467c00 isub temp ,null 
+4fe9 2022cff8 branch l2cap_disconnect_hid_control_now ,zero 
+4fea 20405062 call l2cap_reject_command 
+4feb 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_int:
+4fec 19620400 copy timeup ,temp 
+4fed 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4fee 98467c00 isub temp ,null 
+4fef 2022cffa branch l2cap_disconnect_hid_interrupt_now ,zero 
+4ff0 20405062 call l2cap_reject_command 
+4ff1 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_sdp:
+4ff2 19620400 copy timeup ,temp 
+4ff3 68014248 fetch 2 ,mem_sdp_remote_cid 
+4ff4 98467c00 isub temp ,null 
+4ff5 2022cffe branch l2cap_disconnect_sdp_now ,zero 
+4ff6 20405062 call l2cap_reject_command 
+4ff7 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_hid_control_now:
+4ff8 20405079 call l2cap_reset_hid_ctrl_state 
+4ff9 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_hid_interrupt_now:
+4ffa 2040507f call l2cap_reset_hid_int_state 
+4ffb 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4ffc 203a500a branch l2cap_send_disconnect_rsp_pkt ,blank 
+4ffd 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_sdp_now:
+4ffe 20405074 call l2cap_reset_sdp_channel_state 
+4fff 68008288 fetch 1 ,mem_upper_sm_ss 
+5000 243a500a nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+5001 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_proc_signal_disconnect_req_rfcomm:
+5002 19620400 copy timeup ,temp 
+5003 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+5004 98467c00 isub temp ,null 
+5005 2022d008 branch l2cap_disconnect_rfcomm_now ,zero 
+5006 20405062 call l2cap_reject_command 
+5007 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_rfcomm_now:
+5008 2040506f call l2cap_reset_rfcomm_channel_state 
+5009 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_send_disconnect_rsp_pkt:
+500a 20407ead call load_cont_pointers 
+500b 58000007 setarg signal_disconnect_rsp 
+500c e0a08000 istore 1 ,contw 
+500d 18e27e00 copy queue ,pdata 
+500e e0a08000 istore 1 ,contw 
+500f 58000004 setarg 0x0004 
+5010 e0a10000 istore 2 ,contw 
+5011 1a227e00 copy rega ,pdata 
+5012 e0a10000 istore 2 ,contw 
+5013 19627e00 copy timeup ,pdata 
+5014 e0a10000 istore 2 ,contw 
+5015 18007e08 force 8 ,pdata 
+5016 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_err_rtn:
+5017 20407ead call load_cont_pointers 
+5018 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_rtn:
+5019 9a40a400 iadd regb ,regb 
+501a 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp:
+501b e8c08000 ifetch 1 ,contr 
+501c 1fe20e00 copy pdata ,queue 
+501d e8c10000 ifetch 2 ,contr 
+501e 1fe22200 copy pdata ,rega 
+501f 1a627e00 copy regc ,pdata 
+5020 9a262600 isub rega ,regc 
+5021 e8c10000 ifetch 2 ,contr 
+5022 1fe21600 copy pdata ,timeup 
+5023 e8c10000 ifetch 2 ,contr 
+5024 1fe20400 copy pdata ,temp 
+5025 20407ea8 call save_cont_pointers 
+5026 470bc022 bpatchx patch22_7 ,mem_patch22 
+5027 58000050 setarg l2cap_sdp_channel 
+5028 98467c00 isub temp ,null 
+5029 2022d035 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+502a 58000051 setarg l2cap_rfcomm_channel 
+502b 98467c00 isub temp ,null 
+502c 2022d03b branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+502d 58000052 setarg l2cap_hid_control_channel 
+502e 98467c00 isub temp ,null 
+502f 2022d041 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+5030 58000053 setarg l2cap_hid_interrupt_channel 
+5031 98467c00 isub temp ,null 
+5032 2022d047 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+5033 20405062 call l2cap_reject_command 
+5034 2020504f branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+
+l2cap_proc_signal_disconnect_rsp_sdp:
+5035 18422200 copy temp ,rega 
+5036 19620400 copy timeup ,temp 
+5037 68014248 fetch 2 ,mem_sdp_remote_cid 
+5038 98467c00 isub temp ,null 
+5039 2042d074 call l2cap_reset_sdp_channel_state ,zero 
+503a 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+503b 18422200 copy temp ,rega 
+503c 19620400 copy timeup ,temp 
+503d 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+503e 98467c00 isub temp ,null 
+503f 2042d06f call l2cap_reset_rfcomm_channel_state ,zero 
+5040 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+5041 18422200 copy temp ,rega 
+5042 19620400 copy timeup ,temp 
+5043 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5044 98467c00 isub temp ,null 
+5045 2042d079 call l2cap_reset_hid_ctrl_state ,zero 
+5046 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_int:
+5047 18422200 copy temp ,rega 
+5048 19620400 copy timeup ,temp 
+5049 6801424e fetch 2 ,mem_hid_int_remote_cid 
+504a 98467c00 isub temp ,null 
+504b 2042d07f call l2cap_reset_hid_int_state ,zero 
+504c 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rtn:
+504d 20407ead call load_cont_pointers 
+504e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+504f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_req:
+5050 e8c08000 ifetch 1 ,contr 
+5051 1fe20e00 copy pdata ,queue 
+5052 e8c10000 ifetch 2 ,contr 
+5053 1fe22200 copy pdata ,rega 
+5054 98c08c00 iadd contr ,contr 
+5055 58000009 setarg 9 
+5056 e0a08000 istore 1 ,contw 
+5057 18e27e00 copy queue ,pdata 
+5058 e0a08000 istore 1 ,contw 
+5059 18007e00 force 0x0000 ,pdata 
+505a e0a10000 istore 2 ,contw 
+505b 18007e04 force 4 ,pdata 
+505c 9a40a400 iadd regb ,regb 
+505d 1a627e00 copy regc ,pdata 
+505e 9a262600 isub rega ,regc 
+505f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_rsp:
+5060 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_info_rsp:
+5061 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reject_command:
+5062 18002400 force 0 ,regb 
+5063 204052c3 call l2cap_get_signal_tx_payload 
+5064 58000001 setarg signal_cmd_reject 
+5065 e0a08000 istore 1 ,contw 
+5066 18e27e00 copy queue ,pdata 
+5067 e0a08000 istore 1 ,contw 
+5068 58000002 setarg 2 
+5069 e0a10000 istore 2 ,contw 
+506a 58000000 setarg cmd_not_understood 
+506b e0a10000 istore 2 ,contw 
+506c 1a40a406 increase 6 ,regb 
+506d da600004 arg 4 ,regc 
+506e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reset_rfcomm_channel_state:
+506f 58000000 setarg 0 
+5070 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+5071 6001424a store 2 ,mem_rfcomm_remote_cid 
+5072 70425100 jam 0 ,mem_rfcomm_state 
+5073 20600000 rtn 
+
+l2cap_reset_sdp_channel_state:
+5074 58000000 setarg 0 
+5075 60010275 store 2 ,mem_sdp_tx_pkt_length 
+5076 60014248 store 2 ,mem_sdp_remote_cid 
+5077 70425000 jam 0 ,mem_sdp_state 
+5078 20600000 rtn 
+
+l2cap_reset_hid_ctrl_state:
+5079 58000000 setarg 0 
+507a 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+507b 70425200 jam 0 ,mem_hid_control_state 
+507c 6800c253 fetch 1 ,mem_hid_interrupt_state 
+507d c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+507e 20600000 rtn 
+
+l2cap_reset_hid_int_state:
+507f 58000000 setarg 0 
+5080 6001424e store 2 ,mem_hid_int_remote_cid 
+5081 70425300 jam 0 ,mem_hid_interrupt_state 
+5082 6800c252 fetch 1 ,mem_hid_control_state 
+5083 c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+5084 20600000 rtn 
+
+l2cap_reset_hid_disconnected:
+5085 700a9907 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+5086 20207d86 branch ui_ipc_send_event 
+
+l2cap_disconnect_interrupt_req:
+5087 6800827f fetch 1 ,mem_control_tasks 
+5088 793ffe00 set0 l2cap_disconnect_interrupt ,pdata 
+5089 6000827f store 1 ,mem_control_tasks 
+508a 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508b 207a0000 rtn blank 
+508c 204052b8 call l2cap_malloc_signal_channel 
+508d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508e 1fe22200 copy pdata ,rega 
+508f 18002453 force l2cap_hid_interrupt_channel ,regb 
+5090 2020509a branch l2cap_generate_disconnect_req 
+
+l2cap_disconnect_control_req:
+5091 6800827f fetch 1 ,mem_control_tasks 
+5092 793ffe07 set0 l2cap_disconnect_control ,pdata 
+5093 6000827f store 1 ,mem_control_tasks 
+5094 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5095 207a0000 rtn blank 
+5096 204052b8 call l2cap_malloc_signal_channel 
+5097 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5098 1fe22200 copy pdata ,rega 
+5099 18002452 force l2cap_hid_control_channel ,regb 
+
+l2cap_generate_disconnect_req:
+509a 2040523a call l2cap_get_req_id 
+509b 204052c3 call l2cap_get_signal_tx_payload 
+509c 18007e06 force signal_disconnect_req ,pdata 
+509d e0a08000 istore 1 ,contw 
+509e 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+509f e0a08000 istore 1 ,contw 
+50a0 58000004 setarg 0x0004 
+50a1 e0a10000 istore 2 ,contw 
+50a2 1a227e00 copy rega ,pdata 
+50a3 e0a10000 istore 2 ,contw 
+50a4 1a427e00 copy regb ,pdata 
+50a5 e0a10000 istore 2 ,contw 
+50a6 18000408 force 0x08 ,temp 
+50a7 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_connect_req:
+50a8 470c4023 bpatchx patch23_0 ,mem_patch23 
+50a9 2040523a call l2cap_get_req_id 
+50aa 204052c3 call l2cap_get_signal_tx_payload 
+50ab 58000002 setarg signal_connect_req 
+50ac e0a08000 istore 1 ,contw 
+50ad 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50ae e0a08000 istore 1 ,contw 
+50af 58000004 setarg 0x0004 
+50b0 e0a10000 istore 2 ,contw 
+50b1 18427e00 copy temp ,pdata 
+50b2 e0a10000 istore 2 ,contw 
+50b3 19627e00 copy timeup ,pdata 
+50b4 e0a10000 istore 2 ,contw 
+50b5 d8400008 arg 8 ,temp 
+50b6 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_config_req:
+50b7 470cc023 bpatchx patch23_1 ,mem_patch23 
+50b8 2040523a call l2cap_get_req_id 
+50b9 204052c3 call l2cap_get_signal_tx_payload 
+50ba 58000004 setarg signal_config_req 
+50bb e0a08000 istore 1 ,contw 
+50bc 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50bd e0a08000 istore 1 ,contw 
+50be 58000008 setarg 0x0008 
+50bf e0a10000 istore 2 ,contw 
+50c0 18427e00 copy temp ,pdata 
+50c1 e0a10000 istore 2 ,contw 
+50c2 58000000 setarg 0x0000 
+50c3 e0a10000 istore 2 ,contw 
+50c4 58000001 setarg 0x01 
+50c5 e0a08000 istore 1 ,contw 
+50c6 58000002 setarg 0x02 
+50c7 e0a08000 istore 1 ,contw 
+50c8 580003e3 setarg l2cap_config_mtu_rfcomm 
+50c9 e0a10000 istore 2 ,contw 
+50ca d840000c arg 0xc ,temp 
+50cb 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_disconn_req:
+50cc 470d4023 bpatchx patch23_2 ,mem_patch23 
+50cd 2040523a call l2cap_get_req_id 
+50ce 204052c3 call l2cap_get_signal_tx_payload 
+50cf 58000006 setarg signal_disconnect_req 
+50d0 e0a08000 istore 1 ,contw 
+50d1 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50d2 1fe0fe01 increase 1 ,pdata 
+50d3 18a22200 copy contw ,rega 
+50d4 6000c255 store 1 ,mem_ml2cap_comm_id 
+50d5 1a220a00 copy rega ,contw 
+50d6 e0a08000 istore 1 ,contw 
+50d7 58000004 setarg 0x0004 
+50d8 e0a10000 istore 2 ,contw 
+50d9 18427e00 copy temp ,pdata 
+50da e0a10000 istore 2 ,contw 
+50db 19627e00 copy timeup ,pdata 
+50dc e0a10000 istore 2 ,contw 
+50dd d8400008 arg 0x8 ,temp 
+
+ml2cap_send_signal:
+50de 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+50df 18427e00 copy temp ,pdata 
+50e0 203a5264 branch l2cap_malloc_discard ,blank 
+50e1 204052c1 call l2cap_get_signal_tx_buff 
+50e2 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+50e3 e0a10000 istore 2 ,contw 
+50e4 18007e01 force l2cap_signal_channel ,pdata 
+50e5 e0a10000 istore 2 ,contw 
+50e6 20600000 rtn 
+
+msdp_send_req_done:
+50e7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50e8 203a2a8c branch assert ,blank 
+50e9 204052ce call l2cap_get_sdp_tx_buff 
+50ea 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50eb e0a10000 istore 2 ,contw 
+50ec 68014248 fetch 2 ,mem_sdp_remote_cid 
+50ed e0a10000 istore 2 ,contw 
+50ee 20600000 rtn 
+
+ml2cap_rx_multiplexing:
+50ef 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50f0 203a4dfc branch l2cap_rx_reset_state ,blank 
+50f1 470dc023 bpatchx patch23_3 ,mem_patch23 
+50f2 68008268 fetch 1 ,mem_l2cap_rx_cid 
+50f3 c000d0f9 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+50f4 c0284de8 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+50f5 c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+50f6 c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+50f7 c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+50f8 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_call_proc_signal:
+50f9 470e4023 bpatchx patch23_4 ,mem_patch23 
+50fa 204052b8 call l2cap_malloc_signal_channel 
+50fb 18002400 force 0 ,regb 
+50fc 204052c3 call l2cap_get_signal_tx_payload 
+50fd 1fe20a00 copy pdata ,contw 
+50fe 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50ff 1fe22600 copy pdata ,regc 
+5100 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+5101 98000c00 iforce contr 
+
+ml2cap_proc_one_comm_loop:
+5102 20405108 call ml2cap_proc_one_comm 
+5103 1a60a7fc increase -4 ,regc 
+5104 2422d102 nbranch ml2cap_proc_one_comm_loop ,zero 
+5105 1a420400 copy regb ,temp 
+5106 204050de call ml2cap_send_signal 
+5107 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_proc_one_comm:
+5108 e8c08000 ifetch 1 ,contr 
+5109 c0015113 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+510a c000d116 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+510b c001d120 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+510c c002d15c beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+510d c002518e beq signal_config_req ,ml2cap_proc_signal_config_req 
+510e c003d213 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+510f c00351e1 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+5110 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+5111 c0054e3a beq signal_info_req ,ml2cap_proc_signal_info_req 
+5112 2020522e branch ml2cap_proc_send_reject 
+
+ml2cap_proc_signal_connect_req:
+5113 20407ea8 call save_cont_pointers 
+5114 20407ead call load_cont_pointers 
+5115 20204e51 branch l2cap_proc_signal_connect_req 
+
+ml2cap_proc_signal_cmd_reject:
+5116 e8c08000 ifetch 1 ,contr 
+5117 1fe20e00 copy pdata ,queue 
+5118 e8c10000 ifetch 2 ,contr 
+5119 1fe22200 copy pdata ,rega 
+511a 1a627e00 copy regc ,pdata 
+511b 9a262600 isub rega ,regc 
+
+mvptr:
+511c e8c08000 ifetch 1 ,contr 
+511d 1a20a3ff increase -1 ,rega 
+511e 2422d11c nbranch mvptr ,zero 
+511f 20600000 rtn 
+
+ml2cap_proc_signal_connect_rsp:
+5120 e8c08000 ifetch 1 ,contr 
+5121 1fe20e00 copy pdata ,queue 
+5122 e8c10000 ifetch 2 ,contr 
+5123 1fe22200 copy pdata ,rega 
+5124 e8c10000 ifetch 2 ,contr 
+5125 1fe21600 copy pdata ,timeup 
+5126 e8c10000 ifetch 2 ,contr 
+5127 1fe20400 copy pdata ,temp 
+5128 e8c10000 ifetch 2 ,contr 
+5129 1fe67c00 sub pdata ,0 ,null 
+512a 2022d132 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+512b c001512e beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+512c c002512e beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+512d 20205130 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+
+ml2cap_proc_signal_connect_refused_result:
+512e 700a9916 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+512f 20407d86 call ui_ipc_send_event 
+
+ml2cap_proc_signal_connect_rsp_mnosucc:
+5130 e8c10000 ifetch 2 ,contr 
+5131 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sucessful:
+5132 20407ea8 call save_cont_pointers 
+5133 470ec023 bpatchx patch23_5 ,mem_patch23 
+5134 58000050 setarg l2cap_sdp_channel 
+5135 98467c00 isub temp ,null 
+5136 2022d141 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+5137 58000051 setarg l2cap_rfcomm_channel 
+5138 98467c00 isub temp ,null 
+5139 2022d147 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+513a 58000053 setarg l2cap_hid_interrupt_channel 
+513b 98467c00 isub temp ,null 
+513c 2022d153 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+513d 58000052 setarg l2cap_hid_control_channel 
+513e 98467c00 isub temp ,null 
+513f 2022d14d branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+5140 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sdp:
+5141 19627e00 copy timeup ,pdata 
+5142 60014248 store 2 ,mem_sdp_remote_cid 
+5143 6800c250 fetch 1 ,mem_sdp_state 
+5144 79207e01 set1 l2cap_channel_state_conn_res 
+5145 6000c250 store 1 ,mem_sdp_state 
+5146 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_rfcomm:
+5147 19627e00 copy timeup ,pdata 
+5148 6001424a store 2 ,mem_rfcomm_remote_cid 
+5149 6800c251 fetch 1 ,mem_rfcomm_state 
+514a 79207e01 set1 l2cap_channel_state_conn_res 
+514b 6000c251 store 1 ,mem_rfcomm_state 
+514c 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+514d 19627e00 copy timeup ,pdata 
+514e 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+514f 6800c252 fetch 1 ,mem_hid_control_state 
+5150 79207e01 set1 l2cap_channel_state_conn_res 
+5151 6000c252 store 1 ,mem_hid_control_state 
+5152 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_int:
+5153 19627e00 copy timeup ,pdata 
+5154 6001424e store 2 ,mem_hid_int_remote_cid 
+5155 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5156 79207e01 set1 l2cap_channel_state_conn_res 
+5157 6000c253 store 1 ,mem_hid_interrupt_state 
+
+mnosucc1:
+5158 20407ead call load_cont_pointers 
+
+mnosucc:
+5159 1a627e00 copy regc ,pdata 
+515a 9a262600 isub rega ,regc 
+515b 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp:
+515c e8c08000 ifetch 1 ,contr 
+515d 1fe20e00 copy pdata ,queue 
+515e e8c10000 ifetch 2 ,contr 
+515f 1fe22200 copy pdata ,rega 
+5160 1a627e00 copy regc ,pdata 
+5161 9a262600 isub rega ,regc 
+5162 e8c10000 ifetch 2 ,contr 
+5163 1fe21600 copy pdata ,timeup 
+5164 e8c10000 ifetch 2 ,contr 
+5165 e8c10000 ifetch 2 ,contr 
+5166 243a5188 nbranch mcrsdone1 ,blank 
+5167 20407ea8 call save_cont_pointers 
+5168 19620400 copy timeup ,temp 
+5169 470f4023 bpatchx patch23_6 ,mem_patch23 
+516a 58000050 setarg l2cap_sdp_channel 
+516b 98467c00 isub temp ,null 
+516c 2022d176 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+516d 58000051 setarg l2cap_rfcomm_channel 
+516e 98467c00 isub temp ,null 
+516f 2022d17a branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+5170 58000052 setarg l2cap_hid_control_channel 
+5171 98467c00 isub temp ,null 
+5172 2022d17e branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+5173 58000053 setarg l2cap_hid_interrupt_channel 
+5174 98467c00 isub temp ,null 
+5175 2022d182 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+
+ml2cap_proc_signal_config_rsp_sdp:
+5176 6800c250 fetch 1 ,mem_sdp_state 
+5177 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5178 6000c250 store 1 ,mem_sdp_state 
+5179 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_rfcomm:
+517a 6800c251 fetch 1 ,mem_rfcomm_state 
+517b 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+517c 6000c251 store 1 ,mem_rfcomm_state 
+517d 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+517e 6800c252 fetch 1 ,mem_hid_control_state 
+517f 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5180 6000c252 store 1 ,mem_hid_control_state 
+5181 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_int:
+5182 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5183 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5184 6000c253 store 1 ,mem_hid_interrupt_state 
+5185 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+5186 20207d86 branch ui_ipc_send_event 
+
+mcfrsdone:
+5187 20407ead call load_cont_pointers 
+
+mcrsdone1:
+5188 1a20a3fa increase -6 ,rega 
+
+mloop2:
+5189 2022d18d branch mcrsdone ,zero 
+518a 18c08c01 increase 1 ,contr 
+518b 1a20a3ff increase -1 ,rega 
+518c 20205189 branch mloop2 
+
+mcrsdone:
+518d 20600000 rtn 
+
+ml2cap_proc_signal_config_req:
+518e e8c08000 ifetch 1 ,contr 
+518f 1fe20e00 copy pdata ,queue 
+5190 e8c10000 ifetch 2 ,contr 
+5191 1fe22200 copy pdata ,rega 
+5192 1a627e00 copy regc ,pdata 
+5193 9a262600 isub rega ,regc 
+5194 e8c10000 ifetch 2 ,contr 
+5195 18c08c02 increase 2 ,contr 
+5196 1fe20400 copy pdata ,temp 
+5197 58000005 setarg signal_config_rsp 
+5198 e0a08000 istore 1 ,contw 
+5199 18e27e00 copy queue ,pdata 
+519a e0a08000 istore 1 ,contw 
+519b 1a20a202 increase 2 ,rega 
+519c 1a227e00 copy rega ,pdata 
+519d e0a10000 istore 2 ,contw 
+519e 20407ea8 call save_cont_pointers 
+519f 470fc023 bpatchx patch23_7 ,mem_patch23 
+51a0 58000050 setarg l2cap_sdp_channel 
+51a1 98467c00 isub temp ,null 
+51a2 2022d1ad branch ml2cap_proc_signal_config_req_sdp ,zero 
+51a3 58000051 setarg l2cap_rfcomm_channel 
+51a4 98467c00 isub temp ,null 
+51a5 2022d1be branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+51a6 58000052 setarg l2cap_hid_control_channel 
+51a7 98467c00 isub temp ,null 
+51a8 2022d1c4 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+51a9 58000053 setarg l2cap_hid_interrupt_channel 
+51aa 98467c00 isub temp ,null 
+51ab 2022d1ca branch ml2cap_proc_signal_config_req_hid_int ,zero 
+51ac 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_sdp:
+51ad 6800c250 fetch 1 ,mem_sdp_state 
+51ae 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51af 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51b0 6000c250 store 1 ,mem_sdp_state 
+51b1 c28151bb bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+51b2 6808827f fetcht 1 ,mem_control_tasks 
+51b3 79200406 set1 l2cap_init_config_req ,temp 
+51b4 6008827f storet 1 ,mem_control_tasks 
+51b5 18e27e00 copy queue ,pdata 
+51b6 1fe0fe01 increase 1 ,pdata 
+51b7 60008281 store 1 ,mem_config_identifier 
+51b8 6800c250 fetch 1 ,mem_sdp_state 
+51b9 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+51ba 6000c250 store 1 ,mem_sdp_state 
+
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+51bb 68014248 fetch 2 ,mem_sdp_remote_cid 
+51bc 60010282 store 2 ,mem_config_req_dest_cid 
+51bd 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_rfcomm:
+51be 6800c251 fetch 1 ,mem_rfcomm_state 
+51bf 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c0 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c1 6000c251 store 1 ,mem_rfcomm_state 
+51c2 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+51c3 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_ctrl:
+51c4 6800c252 fetch 1 ,mem_hid_control_state 
+51c5 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c6 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c7 6000c252 store 1 ,mem_hid_control_state 
+51c8 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+51c9 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_int:
+51ca 6800c253 fetch 1 ,mem_hid_interrupt_state 
+51cb 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51cc 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51cd 6000c253 store 1 ,mem_hid_interrupt_state 
+51ce 6801424e fetch 2 ,mem_hid_int_remote_cid 
+
+mcfgrq_done:
+51cf 1fe21600 copy pdata ,timeup 
+51d0 20407ead call load_cont_pointers 
+51d1 19627e00 copy timeup ,pdata 
+51d2 e0a10000 istore 2 ,contw 
+51d3 18007e00 force 0x0000 ,pdata 
+51d4 e0a10000 istore 2 ,contw 
+51d5 18007e00 force 0x0000 ,pdata 
+51d6 e0a10000 istore 2 ,contw 
+51d7 18007e0a force 10 ,pdata 
+51d8 9a40a400 iadd regb ,regb 
+51d9 1a20a3fa increase -6 ,rega 
+
+mloop1:
+51da 2022d1e0 branch mcrqdone ,zero 
+51db e8c08000 ifetch 1 ,contr 
+51dc e0a08000 istore 1 ,contw 
+51dd 1a40a401 increase 1 ,regb 
+51de 1a20a3ff increase -1 ,rega 
+51df 202051da branch mloop1 
+
+mcrqdone:
+51e0 20600000 rtn 
+
+ml2cap_proc_signal_disconn_req:
+51e1 e8c08000 ifetch 1 ,contr 
+51e2 1fe20e00 copy pdata ,queue 
+51e3 e8c10000 ifetch 2 ,contr 
+51e4 1fe22200 copy pdata ,rega 
+51e5 1a627e00 copy regc ,pdata 
+51e6 9a262600 isub rega ,regc 
+51e7 e8c10000 ifetch 2 ,contr 
+51e8 1fe22200 copy pdata ,rega 
+51e9 e8c10000 ifetch 2 ,contr 
+51ea 1fe21600 copy pdata ,timeup 
+51eb 20407ea8 call save_cont_pointers 
+51ec 47104024 bpatchx patch24_0 ,mem_patch24 
+51ed 58000050 setarg l2cap_sdp_channel 
+51ee 1a220400 copy rega ,temp 
+51ef 98467c00 isub temp ,null 
+51f0 2022d1fa branch ml2cap_proc_signal_disconn_sdp ,zero 
+51f1 58000052 setarg l2cap_hid_control_channel 
+51f2 1a220400 copy rega ,temp 
+51f3 98467c00 isub temp ,null 
+51f4 2022d1ff branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+51f5 58000053 setarg l2cap_hid_interrupt_channel 
+51f6 1a220400 copy rega ,temp 
+51f7 98467c00 isub temp ,null 
+51f8 2022d201 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+51f9 20205203 branch mclsrfc 
+
+ml2cap_proc_signal_disconn_sdp:
+51fa 58000000 setarg 0x0000 
+51fb 60010275 store 2 ,mem_sdp_tx_pkt_length 
+51fc 60014248 store 2 ,mem_sdp_remote_cid 
+51fd 6000c250 store 1 ,mem_sdp_state 
+51fe 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_ctrl:
+51ff 20405079 call l2cap_reset_hid_ctrl_state 
+5200 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_int:
+5201 2040507f call l2cap_reset_hid_int_state 
+5202 20205205 branch mclssdp 
+
+mclsrfc:
+5203 58000000 setarg 0x0000 
+5204 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+
+mclssdp:
+5205 20407ead call load_cont_pointers 
+5206 58000007 setarg signal_disconnect_rsp 
+5207 e0a08000 istore 1 ,contw 
+5208 18e27e00 copy queue ,pdata 
+5209 e0a08000 istore 1 ,contw 
+520a 58000004 setarg 0x0004 
+520b e0a10000 istore 2 ,contw 
+520c 1a227e00 copy rega ,pdata 
+520d e0a10000 istore 2 ,contw 
+520e 19627e00 copy timeup ,pdata 
+520f e0a10000 istore 2 ,contw 
+5210 18007e08 force 8 ,pdata 
+5211 9a40a400 iadd regb ,regb 
+5212 20600000 rtn 
+
+ml2cap_proc_signal_disconn_rsp:
+5213 e8c08000 ifetch 1 ,contr 
+5214 1fe20e00 copy pdata ,queue 
+5215 e8c10000 ifetch 2 ,contr 
+5216 1fe22200 copy pdata ,rega 
+5217 e8c10000 ifetch 2 ,contr 
+5218 1fe21600 copy pdata ,timeup 
+5219 e8c10000 ifetch 2 ,contr 
+521a 1fe20400 copy pdata ,temp 
+521b 20407ea8 call save_cont_pointers 
+521c 4710c024 bpatchx patch24_1 ,mem_patch24 
+521d 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+521e a8e1fe00 icompare 0xff ,queue 
+521f 2420d22a nbranch mdisdone ,true 
+5220 58000050 setarg l2cap_sdp_channel 
+5221 98467c00 isub temp ,null 
+5222 2022d227 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+5223 58000051 setarg l2cap_rfcomm_channel 
+5224 98467c00 isub temp ,null 
+5225 2022d22a branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+5226 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_sdp:
+5227 70424800 jam 0 ,mem_sdp_remote_cid 
+5228 70425000 jam 0 ,mem_sdp_state 
+5229 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+
+mdisdone:
+522a 20407ead call load_cont_pointers 
+522b 1a627e00 copy regc ,pdata 
+522c 9a262600 isub rega ,regc 
+522d 20600000 rtn 
+
+ml2cap_proc_send_reject:
+522e 58000001 setarg signal_cmd_reject 
+522f e0a08000 istore 1 ,contw 
+5230 e8c08000 ifetch 1 ,contr 
+5231 e0a08000 istore 1 ,contw 
+5232 58000002 setarg 0x0002 
+5233 e0a10000 istore 2 ,contw 
+5234 58000000 setarg 0x0000 
+5235 e0a10000 istore 2 ,contw 
+5236 58000006 setarg 0x0006 
+5237 9a40a400 iadd regb ,regb 
+5238 18002604 force 4 ,regc 
+5239 20600000 rtn 
+
+l2cap_get_req_id:
+523a 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+523b 1fe0fe01 increase 1 ,pdata 
+523c c080523e bne 0 ,l2cap_get_req_id_ok 
+523d 1fe0fe01 increase 1 ,pdata 
+
+l2cap_get_req_id_ok:
+523e 6000c255 store 1 ,mem_ml2cap_comm_id 
+523f 20600000 rtn 
+
+l2cap_malloc:
+5240 47114024 bpatchx patch24_2 ,mem_patch24 
+5241 da400000 arg 0 ,regb 
+5242 2040526e call l2cap_malloc_is_fifo_full 
+5243 243a2a8c nbranch assert ,blank 
+5244 2040527e call l2cap_malloc_get_full_map 
+5245 da401800 arg mem_tx_buff0 ,regb 
+5246 d8e00000 arg 0 ,queue 
+
+l2cap_malloc_loop:
+5247 6808c256 fetcht 1 ,mem_used_map 
+5248 a84fffff qisolate1 temp 
+5249 2020d24f branch l2cap_malloc_next ,true 
+524a 204052a0 call l2cap_malloc_enough 
+524b 19667c00 sub timeup ,0 ,null 
+524c 2021524f branch l2cap_malloc_next ,positive 
+524d 20405288 call l2cap_malloc_into_fifo 
+524e 20205255 branch l2cap_malloc_rtn 
+
+l2cap_malloc_next:
+524f 1a40a480 increase 128 ,regb 
+5250 18e08e01 increase 1 ,queue 
+5251 58000008 setarg 8 
+5252 98e67c00 isub queue ,null 
+5253 20215247 branch l2cap_malloc_loop ,positive 
+5254 da400000 arg 0 ,regb 
+
+l2cap_malloc_rtn:
+5255 1a427e00 copy regb ,pdata 
+5256 203a2a8c branch assert ,blank 
+5257 20600000 rtn 
+
+l2cap_malloc_fifo_out:
+5258 4711c024 bpatchx patch24_3 ,mem_patch24 
+5259 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525a 18c08c01 increase 1 ,contr 
+525b e8c10000 ifetch 2 ,contr 
+525c 20600000 rtn 
+
+l2cap_malloc_free:
+525d 47124024 bpatchx patch24_4 ,mem_patch24 
+525e 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525f 18c20a00 copy contr ,contw 
+5260 18c20400 copy contr ,temp 
+5261 58000000 setarg 0 
+5262 e0a18000 istore 3 ,contw 
+5263 20600000 rtn 
+
+l2cap_malloc_discard:
+5264 4712c024 bpatchx patch24_5 ,mem_patch24 
+5265 20405274 call l2cap_malloc_is_fifo_empty 
+5266 203a2a8c branch assert ,blank 
+5267 6801c25d fetch 3 ,mem_tx_fifo2 
+5268 6001c260 store 3 ,mem_tx_fifo3 
+5269 6801c25a fetch 3 ,mem_tx_fifo1 
+526a 6001c25d store 3 ,mem_tx_fifo2 
+526b 6801c257 fetch 3 ,mem_tx_fifo0 
+526c 6001c25a store 3 ,mem_tx_fifo1 
+526d 20600000 rtn 
+
+l2cap_malloc_is_fifo_full:
+526e 47134024 bpatchx patch24_6 ,mem_patch24 
+526f 6801c257 fetch 3 ,mem_tx_fifo0 
+5270 20600000 rtn 
+
+l2cap_malloc_is_fifo_nearly_full:
+5271 4713c024 bpatchx patch24_7 ,mem_patch24 
+5272 6801c25a fetch 3 ,mem_tx_fifo1 
+5273 20600000 rtn 
+
+l2cap_malloc_is_fifo_empty:
+5274 47144025 bpatchx patch25_0 ,mem_patch25 
+5275 6801c260 fetch 3 ,mem_tx_fifo3 
+5276 20600000 rtn 
+
+l2cap_malloc_fifo_get_first_ptr:
+5277 20405274 call l2cap_malloc_is_fifo_empty 
+5278 203a2a8c branch assert ,blank 
+5279 d8c04257 arg mem_tx_fifo0 ,contr 
+
+l2cap_malloc_free_loop:
+527a e8c18000 ifetch 3 ,contr 
+527b 203a527a branch l2cap_malloc_free_loop ,blank 
+527c 18c08dfd increase -3 ,contr 
+527d 20600000 rtn 
+
+l2cap_malloc_get_full_map:
+527e 4714c025 bpatchx patch25_1 ,mem_patch25 
+527f df200004 arg 4 ,loopcnt 
+5280 d8c04257 arg mem_tx_fifo0_map ,contr 
+5281 d8400000 arg 0 ,temp 
+
+l2cap_malloc_get_full_map_loop:
+5282 e8c18000 ifetch 3 ,contr 
+5283 1fe17eff and pdata ,0xff ,pdata 
+5284 98418400 ior temp ,temp 
+5285 c2005282 loop l2cap_malloc_get_full_map_loop 
+5286 6008c256 storet 1 ,mem_used_map 
+5287 20600000 rtn 
+
+l2cap_malloc_into_fifo:
+5288 47154025 bpatchx patch25_2 ,mem_patch25 
+5289 2040526e call l2cap_malloc_is_fifo_full 
+528a 243a2a8c nbranch assert ,blank 
+528b 20405274 call l2cap_malloc_is_fifo_empty 
+528c 203a5295 branch l2cap_malloc_into_fifo_no_push ,blank 
+528d 6801c25a fetch 3 ,mem_tx_fifo1 
+528e 6001c257 store 3 ,mem_tx_fifo0 
+528f e8c18000 ifetch 3 ,contr 
+5290 e0a18000 istore 3 ,contw 
+5291 e8c18000 ifetch 3 ,contr 
+5292 e0a18000 istore 3 ,contw 
+5293 58000000 setarg 0 
+5294 e0a18000 istore 3 ,contw 
+
+l2cap_malloc_into_fifo_no_push:
+5295 d8400000 arg 0 ,temp 
+5296 19627e00 copy timeup ,pdata 
+5297 98e0fe00 iadd queue ,pdata 
+
+l2cap_malloc_into_fifo_loop:
+5298 f9200400 qset1 temp 
+5299 18e08e01 increase 1 ,queue 
+529a 98e67c00 isub queue ,null 
+529b 2422d298 nbranch l2cap_malloc_into_fifo_loop ,zero 
+529c 1a4d7e00 lshift8 regb ,pdata 
+529d 9841fe00 ior temp ,pdata 
+529e 6001c260 store 3 ,mem_tx_fifo3 
+529f 20600000 rtn 
+
+l2cap_malloc_enough:
+52a0 4715c025 bpatchx patch25_3 ,mem_patch25 
+52a1 2040527e call l2cap_malloc_get_full_map 
+52a2 18e22600 copy queue ,regc 
+52a3 d8400000 arg 0 ,temp 
+52a4 d9600000 arg 0 ,timeup 
+
+l2cap_malloc_enough_loop:
+52a5 18e27e00 copy queue ,pdata 
+52a6 c00452b0 beq 8 ,l2cap_malloc_enough_end 
+52a7 6800c256 fetch 1 ,mem_used_map 
+52a8 afefffff qisolate1 pdata 
+52a9 2020d2b0 branch l2cap_malloc_enough_end ,true 
+52aa 18408480 increase 128 ,temp 
+52ab 18e08e01 increase 1 ,queue 
+52ac 1a227e00 copy rega ,pdata 
+52ad 98467c00 isub temp ,null 
+52ae 2022d2b0 branch l2cap_malloc_enough_end ,zero 
+52af 202152a5 branch l2cap_malloc_enough_loop ,positive 
+
+l2cap_malloc_enough_end:
+52b0 18427e00 copy temp ,pdata 
+52b1 9a267c00 isub rega ,null 
+52b2 242152b6 nbranch l2cap_malloc_enough_rtn ,positive 
+52b3 18e27e00 copy queue ,pdata 
+52b4 1a620400 copy regc ,temp 
+52b5 98461600 isub temp ,timeup 
+
+l2cap_malloc_enough_rtn:
+52b6 1a620e00 copy regc ,queue 
+52b7 20600000 rtn 
+
+l2cap_malloc_signal_channel:
+52b8 47164025 bpatchx patch25_4 ,mem_patch25 
+52b9 da20007f arg l2cap_signal_malloc_size ,rega 
+52ba 20405240 call l2cap_malloc 
+52bb 6001026b store 2 ,mem_l2cap_signal_tx_buff_ptr 
+52bc 1fe0fe04 increase 4 ,pdata 
+52bd 6001026d store 2 ,mem_l2cap_signal_tx_payload_ptr 
+52be 58000000 setarg 0 
+52bf 6001026f store 2 ,mem_l2cap_signal_tx_length 
+52c0 20600000 rtn 
+
+l2cap_get_signal_tx_buff:
+52c1 6801026b fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+52c2 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_signal_tx_payload:
+52c3 6801026d fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+52c4 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_sdp_channel:
+52c5 4716c025 bpatchx patch25_5 ,mem_patch25 
+52c6 da2000fa arg sdp_malloc_size ,rega 
+52c7 20405240 call l2cap_malloc 
+52c8 60010271 store 2 ,mem_sdp_tx_buff_ptr 
+52c9 1fe0fe04 increase 4 ,pdata 
+52ca 60010273 store 2 ,mem_sdp_tx_payload_ptr 
+52cb 58000000 setarg 0 
+52cc 60010275 store 2 ,mem_sdp_tx_pkt_length 
+52cd 20600000 rtn 
+
+l2cap_get_sdp_tx_buff:
+52ce 68010271 fetch 2 ,mem_sdp_tx_buff_ptr 
+52cf 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_sdp_tx_payload:
+52d0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+52d1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_rfcomm_channel:
+52d2 47174025 bpatchx patch25_6 ,mem_patch25 
+52d3 20407e7c call push_stack 
+52d4 70028401 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+52d5 2040526e call l2cap_malloc_is_fifo_full 
+52d6 247a0000 nrtn blank 
+52d7 da20007f arg rfcomm_malloc_size ,rega 
+52d8 20405240 call l2cap_malloc 
+52d9 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+52da 1fe0fe04 increase 4 ,pdata 
+52db 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+52dc 58000000 setarg 0 
+52dd 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+52de 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+52df 20207e8c branch pop_stack 
+
+l2cap_get_rfcomm_tx_buff:
+52e0 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+52e1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_util_pdata_to_contw:
+52e2 203a2a8c branch assert ,blank 
+52e3 1fe20a00 copy pdata ,contw 
+52e4 20600000 rtn 
+
+l2cap_lpm_save_calc_len:
+52e5 4717c025 bpatchx patch25_7 ,mem_patch25 
+52e6 da400000 arg 0 ,regb 
+52e7 da204257 arg mem_tx_fifo0_map ,rega 
+52e8 1a20a3fe increase -2 ,rega 
+
+l2cap_lpm_save_calc_len_loop:
+52e9 1a20a202 increase 2 ,rega 
+52ea 58004263 setarg mem_tx_fifo_end 
+52eb 9a267c00 isub rega ,null 
+52ec 2022d2f5 branch l2cap_lpm_save_calc_len_end ,zero 
+52ed ea208000 ifetch 1 ,rega 
+52ee 1a20a201 increase 1 ,rega 
+52ef 203a52e9 branch l2cap_lpm_save_calc_len_loop ,blank 
+52f0 ea290000 ifetcht 2 ,rega 
+52f1 e8410000 ifetch 2 ,temp 
+52f2 9a40a400 iadd regb ,regb 
+52f3 1a40a404 increase 4 ,regb 
+52f4 202052e9 branch l2cap_lpm_save_calc_len_loop 
+
+l2cap_lpm_save_calc_len_end:
+52f5 1a427e00 copy regb ,pdata 
+52f6 20600000 rtn 
+
+l2cap_lpm_get_wake_lock:
+52f7 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52f8 20202c32 branch lpm_get_wake_lock 
+
+l2cap_lpm_put_wake_lock:
+52f9 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52fa 20202c36 branch lpm_put_wake_lock 
+
+l2cap_lpm_save_txbuf:
+52fb 47184026 bpatchx patch26_0 ,mem_patch26 
+52fc 2040527e call l2cap_malloc_get_full_map 
+52fd 6800c256 fetch 1 ,mem_used_map 
+52fe 207a0000 rtn blank 
+52ff 204052e5 call l2cap_lpm_save_calc_len 
+5300 d8400100 arg l2cap_lpm_txbuf_len ,temp 
+5301 98467c00 isub temp ,null 
+5302 202152f7 branch l2cap_lpm_get_wake_lock ,positive 
+5303 204052f9 call l2cap_lpm_put_wake_lock 
+5304 d8a04263 arg mem_l2cap_lpm_txbuf ,contw 
+5305 da204257 arg mem_tx_fifo0 ,rega 
+
+l2cap_lpm_save_txbuf_loop:
+5306 58004263 setarg mem_tx_fifo_end 
+5307 9a267c00 isub rega ,null 
+5308 20628000 rtn zero 
+5309 ea208000 ifetch 1 ,rega 
+530a 1a20a201 increase 1 ,rega 
+530b 243a530f nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+530c e0a10000 istore 2 ,contw 
+530d 1a20a202 increase 2 ,rega 
+530e 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_save_txbuf_nempty:
+530f ea210000 ifetch 2 ,rega 
+5310 1a20a202 increase 2 ,rega 
+5311 1fe20c00 copy pdata ,contr 
+5312 e8c10000 ifetch 2 ,contr 
+5313 e0a10000 istore 2 ,contw 
+5314 1fe27200 copy pdata ,loopcnt 
+5315 1f20f202 increase 2 ,loopcnt 
+5316 20407f01 call memcpy 
+5317 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_load_txbuf:
+5318 4718c026 bpatchx patch26_1 ,mem_patch26 
+5319 2040527e call l2cap_malloc_get_full_map 
+531a 6800c256 fetch 1 ,mem_used_map 
+531b 207a0000 rtn blank 
+531c da204258 arg mem_tx_fifo0_ptr ,rega 
+531d 1a20a3fd increase -3 ,rega 
+531e d8c04263 arg mem_l2cap_lpm_txbuf ,contr 
+
+l2cap_lpm_load_txbuf_loop:
+531f 1a20a203 increase 3 ,rega 
+5320 58004264 setarg mem_tx_fifo_end + 1 
+5321 9a267c00 isub rega ,null 
+5322 20628000 rtn zero 
+5323 e8c10000 ifetch 2 ,contr 
+5324 203a531f branch l2cap_lpm_load_txbuf_loop ,blank 
+5325 1fe0fe04 increase 4 ,pdata 
+5326 1fe27200 copy pdata ,loopcnt 
+5327 18c22400 copy contr ,regb 
+5328 ea210000 ifetch 2 ,rega 
+5329 1fe20a00 copy pdata ,contw 
+532a 1a420c00 copy regb ,contr 
+532b 18c08dfe increase -2 ,contr 
+532c 20407f01 call memcpy 
+532d 2020531f branch l2cap_lpm_load_txbuf_loop 
+
+le_init_conn:
+532e 47194026 bpatchx patch26_2 ,mem_patch26 
+532f 7855fc00 disable wake 
+5330 70045501 jam 1 ,mem_le_conn_handle 
+5331 70043f03 jam 3 ,mem_le_state 
+5332 70045601 jam 1 ,mem_le_arq 
+5333 5fffffff setarg -1 
+5334 60010459 store 2 ,mem_le_event_count 
+5335 18007e00 force 0 ,pdata 
+5336 60008457 store 1 ,mem_le_ch 
+5337 60008462 store 1 ,mem_le_op 
+5338 6001c169 store 3 ,mem_sniff_rcv 
+5339 6001c16c store 3 ,mem_sniff_lost 
+533a 6002c403 store 5 ,mem_le_pcnt_tx 
+533b 79207e27 set1 39 ,pdata 
+533c 6002c408 store 5 ,mem_le_pcnt_rx 
+533d 7043dc01 jam 1 ,mem_le_txheader 
+533e 7043dd00 jam 0 ,mem_le_txlen 
+533f 202056ed branch le_supervision_flush 
+
+le_init_master:
+5340 4719c026 bpatchx patch26_3 ,mem_patch26 
+5341 7834fc00 enable master 
+5342 70044003 jam lemode_master ,mem_le_mode 
+5343 70047801 jam 1 ,mem_le_att_handle 
+5344 70445a01 jam 1 ,mem_le_search_handle_start 
+5345 5800ffff setarg 0xffff 
+5346 6001445c store 2 ,mem_le_search_handle_end 
+5347 18007e00 force 0 ,pdata 
+5348 6002c408 store 5 ,mem_le_pcnt_rx 
+5349 79207e27 set1 39 ,pdata 
+534a 6002c403 store 5 ,mem_le_pcnt_tx 
+534b 2020532e branch le_init_conn 
+
+le_init_slave:
+534c 471a4026 bpatchx patch26_4 ,mem_patch26 
+534d 7854fc00 disable master 
+534e 58000017 setarg 0x17 
+534f 600144a8 store 2 ,mem_le_remote_mtu 
+5350 70044001 jam lemode_slave ,mem_le_mode 
+5351 70436e00 jam 0 ,mem_le_adv_enable 
+5352 7000a000 jam 0 ,mem_lpm_current_mult 
+5353 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5354 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5355 6801046d fetch 2 ,mem_le_superto 
+5356 600144ba store 2 ,mem_le_init_superto 
+5357 68010441 fetch 2 ,mem_le_tsniff 
+5358 1feffe05 mul32 pdata ,5 ,pdata 
+5359 1ff1fe00 rshift4 pdata ,pdata 
+535a 6001046d store 2 ,mem_le_superto 
+535b 2020532e branch le_init_conn 
+
+le_dispatch:
+535c 204053c4 call le_enable 
+535d 204055e8 call le_scan 
+535e 204056f0 call le_adv 
+535f 202053ce branch le_disable 
+
+le_conn_dispatch:
+5360 471ac026 bpatchx patch26_5 ,mem_patch26 
+5361 204053c4 call le_enable 
+5362 204032f4 call app_process_ble 
+5363 68008440 fetch 1 ,mem_le_mode 
+5364 c001d366 beq lemode_master ,le_master_dispatch 
+5365 2020537a branch le_slave_dispatch 
+
+le_master_dispatch:
+5366 471b4026 bpatchx patch26_6 ,mem_patch26 
+5367 7834fc00 enable master 
+5368 204056e4 call le_supervision_update 
+5369 20215377 branch le_master_disconn ,positive 
+536a 20402c6c call check_ble_disabled 
+536b 20405413 call le_setup 
+536c 2040561e call le_prepare_tx 
+536d 7856fc00 disable match 
+536e 204054bf call le_transmit_receive_sifs 
+536f 24768000 nrtn match 
+5370 471bc026 bpatchx patch26_7 ,mem_patch26 
+5371 68008005 fetch 1 ,mem_le_conn_rcv 
+5372 1fe0fe01 increase 1 ,pdata 
+5373 60008005 store 1 ,mem_le_conn_rcv 
+5374 204055aa call le_acknowledge 
+5375 7854fc00 disable master 
+5376 20600000 rtn 
+
+le_master_disconn:
+5377 204053a9 call le_disconnect 
+5378 7854fc00 disable master 
+5379 20600000 rtn 
+
+le_slave_dispatch:
+537a 471c4027 bpatchx patch27_0 ,mem_patch27 
+537b 70450f00 jam 0 ,mem_le_md_count 
+537c 20407aaf call sp_calc_sequence_256 
+537d 20405c18 call le_secure_connect_sm 
+537e 78577c00 disable attempt 
+537f 204056e4 call le_supervision_update 
+5380 202153a9 branch le_slave_disconn ,positive 
+5381 20402c6c call check_ble_disabled 
+5382 20405413 call le_setup 
+5383 20405489 call le_receive_slave 
+5384 242c539b nbranch le_slave_unsync ,sync 
+5385 204053b7 call le_got_first_packet 
+5386 2036d388 branch le_slave_match ,match 
+5387 20205395 branch le_slave_cont 
+
+le_slave_match:
+5388 471cc027 bpatchx patch27_1 ,mem_patch27 
+5389 6800c50f fetch 1 ,mem_le_md_count 
+538a 1fe0fe01 pincrease 1 
+538b 6000c50f store 1 ,mem_le_md_count 
+538c c0065395 beq le_md_max_count ,le_slave_cont 
+538d 204055aa call le_acknowledge 
+538e 2040561e call le_prepare_tx 
+538f 204054c7 call le_transmit_norx 
+5390 2040567e call le_parse 
+5391 680141fb fetch 2 ,mem_cb_ble_transmit 
+5392 20407f9c call callback_func 
+5393 204053a0 call le_check_md 
+5394 203453a4 branch le_slave_more_data ,user 
+
+le_slave_cont:
+5395 471d4027 bpatchx patch27_2 ,mem_patch27 
+5396 20405be4 call le_pairing_sm 
+5397 20405bdb call le_check_paring_time 
+5398 20407d9c call check_51cmd 
+5399 68008462 fetch 1 ,mem_le_op 
+539a c281d3a9 bbit1 op_disconn ,le_slave_disconn 
+
+le_slave_unsync:
+539b 471dc027 bpatchx patch27_3 ,mem_patch27 
+539c 204057f4 call le_lpm_set_mult 
+539d 2040559d call le_update_channel_map 
+539e 20405575 call le_update_param 
+539f 20202841 branch calc_clke_offset 
+
+le_check_md:
+53a0 78547c00 disable user 
+53a1 c5157fe7 bmark1 mark_ble_rx_md ,enable_user 
+53a2 c514ffe7 bmark1 mark_ble_tx_md ,enable_user 
+53a3 20600000 rtn 
+
+le_slave_more_data:
+53a4 471e4027 bpatchx patch27_4 ,mem_patch27 
+53a5 78377c00 enable attempt 
+53a6 204054c1 call le_transmit_receive_sifs_notx 
+53a7 2036d388 branch le_slave_match ,match 
+53a8 20205395 branch le_slave_cont 
+
+le_slave_disconn:
+
+le_disconnect:
+53a9 471ec027 bpatchx patch27_5 ,mem_patch27 
+53aa 204053af call le_clear_connection_info 
+53ab 204033b4 call app_disconn_reason_collect_ble 
+53ac 20407a77 call sp_initialize_256 
+53ad 700a9915 jam bt_evt_le_disconnected ,mem_fifo_temp 
+53ae 20207d86 branch ui_ipc_send_event 
+
+le_clear_connection_info:
+53af 58000000 setarg 0 
+53b0 6004c4ff store 9 ,mem_le_tx_buff_used 
+53b1 70045500 jam 0 ,mem_le_conn_handle 
+53b2 70044000 jam lemode_idle ,mem_le_mode 
+53b3 70043f00 jam 0 ,mem_le_state 
+53b4 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+53b5 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+53b6 20600000 rtn 
+
+le_got_first_packet:
+53b7 471f4027 bpatchx patch27_6 ,mem_patch27 
+53b8 68008005 fetch 1 ,mem_le_conn_rcv 
+53b9 1fe0fe01 increase 1 ,pdata 
+53ba 60008005 store 1 ,mem_le_conn_rcv 
+53bb 6800843f fetch 1 ,mem_le_state 
+53bc c3818000 rtnbit1 lestate_got_first_packet 
+53bd 79207e03 set1 lestate_got_first_packet 
+53be 6000843f store 1 ,mem_le_state 
+53bf 680144ba fetch 2 ,mem_le_init_superto 
+53c0 6001046d store 2 ,mem_le_superto 
+53c1 58000000 setarg 0 
+53c2 600244e5 store 4 ,mem_le_transmit_window 
+53c3 20600000 rtn 
+
+le_enable:
+53c4 471fc027 bpatchx patch27_7 ,mem_patch27 
+53c5 70890f36 jam 0x36 ,rf_adc_goff 
+53c6 70890b5f jam 0x5f ,rf_agc_nsat 
+53c7 783b7c00 enable le 
+53c8 70891407 jam 7 ,rfen_ulp 
+53c9 20402c6c call check_ble_disabled 
+53ca 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+53cb 207a0000 rtn blank 
+53cc 70890ab8 jam 0xb8 ,rf_iq_gain 
+53cd 20600000 rtn 
+
+le_disable:
+53ce 47204028 bpatchx patch28_0 ,mem_patch28 
+53cf 70890f2e jam 0x2e ,rf_adc_goff 
+53d0 70890bff jam 0xff ,rf_agc_nsat 
+53d1 785b7c00 disable le 
+53d2 70891403 jam 3 ,rfen_ulp 
+53d3 db600000 arg 0 ,stop_watch 
+53d4 20600000 rtn 
+
+le_prep:
+53d5 7844fc00 disable enable_crc 
+53d6 7843fc00 disable enable_white 
+53d7 68018467 fetch 3 ,mem_le_crcinit 
+53d8 98001e00 iforce crc24_init 
+53d9 68008016 fetch 1 ,mem_le_ch_mapped 
+53da 1fed8400 reverse pdata ,temp 
+53db 79200401 set1 1 ,temp 
+53dc 18431c00 rshift temp ,white_init 
+53dd 20600000 rtn 
+
+lerx_setfreq:
+53de 204053e6 call le_setfreq 
+53df 2040291f call set_freq_rx 
+53e0 58000500 setarg param_pll_setup 
+53e1 20402a8f call sleep 
+53e2 20202924 branch rf_rx_enable 
+
+letx_setfreq:
+53e3 2036a939 branch txon ,match 
+
+letx_setfreq0:
+53e4 204053e6 call le_setfreq 
+53e5 20202933 branch set_freq_tx 
+
+le_setfreq:
+53e6 4720c028 bpatchx patch28_1 ,mem_patch28 
+53e7 20402918 call set_sync_on 
+53e8 6800848c fetch 1 ,mem_le_testtype 
+53e9 243a53f9 nbranch le_ctf_test ,blank 
+53ea 68008016 fetch 1 ,mem_le_ch_mapped 
+53eb 1fe67c24 sub pdata ,36 ,null 
+53ec 202153f3 branch le_ctf_normal ,positive 
+53ed 18000400 force 0 ,temp 
+53ee c1128000 rtneq 37 
+53ef 18000418 force 24 ,temp 
+53f0 c1130000 rtneq 38 
+53f1 1800044e force 78 ,temp 
+53f2 20600000 rtn 
+
+le_ctf_normal:
+53f3 1fe67c0a sub pdata ,10 ,null 
+53f4 202153f6 branch le_ctf_low ,positive 
+53f5 1fe0fe01 increase 1 ,pdata 
+
+le_ctf_low:
+53f6 1fe3fe00 lshift pdata ,pdata 
+53f7 1fe08402 add pdata ,2 ,temp 
+53f8 20600000 rtn 
+
+le_ctf_test:
+53f9 68008016 fetch 1 ,mem_le_ch_mapped 
+53fa 1fe38400 lshift pdata ,temp 
+53fb 20600000 rtn 
+
+le_sca_map:
+53fc d84001f4 arg 500 ,temp 
+53fd 207a0000 rtn blank 
+53fe d84000fa arg 250 ,temp 
+53ff c1008000 rtneq 1 
+5400 d8400096 arg 150 ,temp 
+5401 c1010000 rtneq 2 
+5402 d8400064 arg 100 ,temp 
+5403 c1018000 rtneq 3 
+5404 d840004b arg 75 ,temp 
+5405 c1020000 rtneq 4 
+5406 d8400032 arg 50 ,temp 
+5407 c1028000 rtneq 5 
+5408 d8400028 arg 40 ,temp 
+5409 c1030000 rtneq 6 
+540a d8400014 arg 20 ,temp 
+540b 20600000 rtn 
+
+le_adv_access:
+540c 588e89be setarg 0x8e89be 
+540d 1fed7e00 lshift8 pdata ,pdata 
+540e 1fe1fed6 or_into 0xd6 ,pdata 
+540f 98001200 iforce access 
+5410 58555555 setarg 0x555555 
+5411 60018467 store 3 ,mem_le_crcinit 
+5412 20600000 rtn 
+
+le_setup:
+5413 47214028 bpatchx patch28_2 ,mem_patch28 
+5414 78287c00 enable swfine 
+5415 68020463 fetch 4 ,mem_le_access 
+5416 98001200 iforce access 
+5417 20405466 call le_map_channel 
+5418 58000200 setarg 0x200 
+5419 2034d41c branch le_setup_master ,master 
+541a 6801044d fetch 2 ,mem_le_receive_window 
+541b 1fe37e00 rshift pdata ,pdata 
+
+le_setup_master:
+541c d8400500 arg param_pll_setup ,temp 
+541d 9840fe00 iadd temp ,pdata 
+541e 20402a24 call ahead_window 
+541f 1b427e00 deposit clke 
+5420 60030491 store 6 ,mem_le_rxon_ts 
+5421 20600000 rtn 
+
+le_next_adv_channel:
+5422 4721c028 bpatchx patch28_3 ,mem_patch28 
+5423 68008016 fetch 1 ,mem_le_ch_mapped 
+5424 c012d428 beq 37 ,le_next_adv_channel_curr_channel_37 
+5425 c013542e beq 38 ,le_next_adv_channel_curr_channel_38 
+5426 c013d434 beq 39 ,le_next_adv_channel_curr_channel_39 
+5427 20205434 branch le_next_adv_channel_curr_channel_39 
+
+le_next_adv_channel_curr_channel_37:
+5428 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5429 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+542a 2020d43f branch set_le_next_adv_channel_38 ,true 
+542b 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+542c 2020d444 branch set_le_next_adv_channel_39 ,true 
+542d 2020543a branch set_le_next_adv_channel_37 
+
+le_next_adv_channel_curr_channel_38:
+542e 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+542f 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+5430 2020d444 branch set_le_next_adv_channel_39 ,true 
+5431 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5432 2020d43a branch set_le_next_adv_channel_37 ,true 
+5433 2020543f branch set_le_next_adv_channel_38 
+
+le_next_adv_channel_curr_channel_39:
+5434 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5435 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5436 2020d43a branch set_le_next_adv_channel_37 ,true 
+5437 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+5438 2020d43f branch set_le_next_adv_channel_38 ,true 
+5439 20205444 branch set_le_next_adv_channel_39 
+
+set_le_next_adv_channel_37:
+543a 70001625 jam 37 ,mem_le_ch_mapped 
+543b 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+543c 79207e00 set1 bit_adv_channel_map_37 ,pdata 
+543d 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+543e 20600000 rtn 
+
+set_le_next_adv_channel_38:
+543f 70001626 jam 38 ,mem_le_ch_mapped 
+5440 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5441 79207e01 set1 bit_adv_channel_map_38 ,pdata 
+5442 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5443 20600000 rtn 
+
+set_le_next_adv_channel_39:
+5444 70001627 jam 39 ,mem_le_ch_mapped 
+5445 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5446 79207e02 set1 bit_adv_channel_map_39 ,pdata 
+5447 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5448 20600000 rtn 
+
+le_context_nexthop:
+5449 47224028 bpatchx patch28_4 ,mem_patch28 
+544a 1a208c01 add rega ,coffset_mode ,contr 
+544b e8c08000 ifetch 1 ,contr 
+544c c4000000 rtnbit0 mode_le 
+544d 1a208a1a add rega ,coffset_le_event_cnt ,contw 
+544e e8a10000 ifetch 2 ,contw 
+544f 1fe0fe01 increase 1 ,pdata 
+5450 e0a10000 istore 2 ,contw 
+5451 1a208c19 add rega ,coffset_le_hop ,contr 
+5452 e8c08000 ifetch 1 ,contr 
+5453 1a208a18 add rega ,coffset_le_ch ,contw 
+5454 e8a88000 ifetcht 1 ,contw 
+5455 9840fe00 iadd temp ,pdata 
+5456 1fe67c24 sub pdata ,36 ,null 
+5457 20215459 branch le_nexthop_nowrap ,positive 
+5458 1fe0ffdb increase -37 ,pdata 
+
+le_nexthop_nowrap:
+5459 e0a08000 istore 1 ,contw 
+545a 20600000 rtn 
+
+le_calc_channel_map:
+545b 4722c028 bpatchx patch28_5 ,mem_patch28 
+545c 6802846f fetch 5 ,mem_le_channel_map 
+545d 18000400 force 0 ,temp 
+545e 18007225 force 37 ,loopcnt 
+
+le_count_channels_loop:
+545f c3005461 bbit0 0 ,le_count_channels_notused 
+5460 18408401 increase 1 ,temp 
+
+le_count_channels_notused:
+5461 1fe37e00 rshift pdata ,pdata 
+5462 c200545f loop le_count_channels_loop 
+5463 1840ffff add temp ,-1 ,pdata 
+5464 60008461 store 1 ,mem_le_channels 
+5465 20600000 rtn 
+
+le_map_channel:
+5466 47234028 bpatchx patch28_6 ,mem_patch28 
+5467 68008457 fetch 1 ,mem_le_ch 
+5468 98000e00 iforce queue 
+5469 680a846f fetcht 5 ,mem_le_channel_map 
+546a a84fffff qisolate1 temp 
+546b 2020d47c branch le_map_channel_end ,true 
+
+le_map_channel_next:
+546c 4723c028 bpatchx patch28_7 ,mem_patch28 
+546d 68008461 fetch 1 ,mem_le_channels 
+546e 98e67e00 isub queue ,pdata 
+546f 20215472 branch le_map_channel_cont ,positive 
+5470 1fe60fff sub pdata ,-1 ,queue 
+5471 2020546c branch le_map_channel_next 
+
+le_map_channel_cont:
+5472 18e27200 copy queue ,loopcnt 
+5473 18000e00 force 0 ,queue 
+
+le_map_channel_loop:
+5474 a84fffff qisolate1 temp 
+5475 2020d477 branch le_map_channel_skip ,true 
+5476 1f20f201 increase 1 ,loopcnt 
+
+le_map_channel_skip:
+5477 1f227e00 deposit loopcnt 
+5478 203a547c branch le_map_channel_end ,blank 
+5479 18e08e01 increase 1 ,queue 
+547a 1f20f3ff increase -1 ,loopcnt 
+547b 20205474 branch le_map_channel_loop 
+
+le_map_channel_end:
+547c 18e27e00 deposit queue 
+547d 60008016 store 1 ,mem_le_ch_mapped 
+547e 20600000 rtn 
+
+le_wait_tx:
+547f 2034d482 branch le_wait_master ,master 
+5480 37c18200 until null ,timeout 
+5481 20600000 rtn 
+
+le_wait_master:
+5482 d9600ea0 arg 0xea0 ,timeup 
+5483 34730200 until clkn_rt ,meet 
+5484 20600000 rtn 
+
+le_receive_adv:
+5485 78487c00 disable swfine 
+5486 6801436c fetch 2 ,mem_le_scan_window 
+5487 1fe21600 copy pdata ,timeup 
+5488 2020548e branch le_receive_packet 
+
+le_receive_slave:
+5489 47244029 bpatchx patch29_0 ,mem_patch29 
+548a 78287c00 enable swfine 
+548b 6801044d fetch 2 ,mem_le_receive_window 
+548c 680a44e5 fetcht 4 ,mem_le_transmit_window 
+548d 98409600 iadd temp ,timeup 
+
+le_receive_packet:
+548e 204053de call lerx_setfreq 
+
+le_receive_rxon:
+548f 4724c029 bpatchx patch29_1 ,mem_patch29 
+5490 204053d5 call le_prep 
+5491 7856fc00 disable match 
+5492 7826fc00 enable decode_fec0 
+5493 7830fc00 enable is_rx 
+5494 78507c00 disable is_tx 
+5495 19623600 copy timeup ,stop_watch 
+5496 37c18400 correlate null ,timeout 
+5497 2037549a branch le_receive_on_attempt ,attempt 
+5498 1b420400 copy clke ,temp 
+5499 600b009a storet 6 ,mem_sync_clke 
+
+le_receive_on_attempt:
+549a 242c264d nbranch end_of_packet ,sync 
+549b 203754a1 branch le_receive_skip ,attempt 
+549c dd2001e0 arg param_clke_cal_le ,clke_rt 
+549d 1c225000 copy bt_clk ,clke_bt 
+549e 6800843f fetch 1 ,mem_le_state 
+549f c301d4a1 bbit0 lestate_got_first_packet ,le_receive_skip 
+54a0 2055ab05 call lpm_adjust_clk ,wake 
+
+le_receive_skip:
+54a1 47254029 bpatchx patch29_2 ,mem_patch29 
+54a2 204029bb call save_rssi 
+54a3 7823fc00 enable enable_white 
+54a4 7824fc00 enable enable_crc 
+54a5 09800008 parse demod ,bucket ,8 
+54a6 19897e00 rshift3 pwindow ,pdata 
+54a7 600082d9 store 1 ,mem_le_rxbuf 
+54a8 09800008 parse demod ,bucket ,8 
+54a9 19897e00 rshift3 pwindow ,pdata 
+54aa e0a08000 istore 1 ,contw 
+54ab 1fe1723f and pdata ,0x3f ,loopcnt 
+54ac 2022d4b1 branch lerx_nopayload ,zero 
+
+lerx_loop:
+54ad 09800008 parse demod ,bucket ,8 
+54ae 19897e00 rshift3 pwindow ,pdata 
+54af e0a08000 istore 1 ,contw 
+54b0 c20054ad loop lerx_loop 
+
+lerx_nopayload:
+54b1 4725c029 bpatchx patch29_3 ,mem_patch29 
+54b2 09800018 parse demod ,bucket ,24 
+54b3 78287c00 enable swfine 
+54b4 db600664 arg param_sifs ,stop_watch 
+54b5 1fef7e00 rshift32 pdata ,pdata 
+54b6 1ff17e00 rshift16 pdata ,pdata 
+54b7 e0a18000 istore 3 ,contw 
+54b8 2023264d branch end_of_packet ,crc_failed 
+54b9 7836fc00 enable match 
+54ba 68008017 fetch 1 ,mem_last_freq 
+54bb 1fe0a200 add pdata ,0 ,rega 
+54bc 20402981 call rf_write_freq 
+54bd 7846fc00 disable decode_fec0 
+54be 20202918 branch set_sync_on 
+
+le_transmit_receive_sifs:
+54bf 47264029 bpatchx patch29_4 ,mem_patch29 
+54c0 204054c9 call le_transmit 
+
+le_transmit_receive_sifs_notx:
+54c1 68088017 fetcht 1 ,mem_last_freq 
+54c2 2040291f call set_freq_rx 
+54c3 20402924 call rf_rx_enable 
+54c4 78287c00 enable swfine 
+54c5 d960157c arg 5500 ,timeup 
+54c6 2020548f branch le_receive_rxon 
+
+le_transmit_norx:
+54c7 204054c9 call le_transmit 
+54c8 2020264d branch end_of_packet 
+
+le_transmit:
+54c9 4726c029 bpatchx patch29_5 ,mem_patch29 
+54ca 204053d5 call le_prep 
+54cb 204053e3 call letx_setfreq 
+54cc 202054cd branch le_transmit0 
+
+le_transmit0:
+54cd 79202a00 set1 txgfsk ,radio_ctrl 
+54ce 782efc00 enable encode_fec0 
+54cf 78307c00 enable is_tx 
+54d0 7850fc00 disable is_rx 
+54d1 2040547f call le_wait_tx 
+54d2 19317e00 rshift16 access ,pdata 
+54d3 1fecfe00 rshift8 pdata ,pdata 
+54d4 1ff1fe00 rshift4 pdata ,pdata 
+54d5 08008628 inject mod ,40 
+54d6 7823fc00 enable enable_white 
+54d7 7824fc00 enable enable_crc 
+54d8 47274029 bpatchx patch29_6 ,mem_patch29 
+54d9 6800c3dc fetch 1 ,mem_le_txheader 
+54da 08008608 inject mod ,8 
+54db e8c08000 ifetch 1 ,contr 
+54dc 1fe1723f and pdata ,0x3f ,loopcnt 
+54dd 08008608 inject mod ,8 
+54de 2022d4e2 branch letr_nopayload ,zero 
+
+letr_loop:
+54df e8c08000 ifetch 1 ,contr 
+54e0 08008608 inject mod ,8 
+54e1 c20054df loop letr_loop 
+
+letr_nopayload:
+54e2 78247c00 enable enable_parity 
+54e3 08008618 inject mod ,24 
+54e4 78447c00 disable enable_parity 
+54e5 37d38200 until null ,tx_clear 
+54e6 20000064 nop 100 
+54e7 784efc00 disable encode_fec0 
+54e8 20600000 rtn 
+
+le_send_adv_ind:
+54e9 4727c029 bpatchx patch29_7 ,mem_patch29 
+54ea 6800c484 fetch 1 ,mem_le_adv_type 
+54eb c000d4f9 beq adv_direct_ind ,le_send_adv_direct_ind 
+54ec 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+54ed 1ff27e00 lshift4 pdata ,pdata 
+54ee 1febfe00 lshift2 pdata ,pdata 
+54ef 6000c3dc store 1 ,mem_le_txheader 
+54f0 6808c36f fetcht 1 ,mem_le_adv_data_len 
+54f1 1840fe06 add temp ,6 ,pdata 
+54f2 6000c3dd store 1 ,mem_le_txlen 
+54f3 680344a0 fetch 6 ,mem_le_lap 
+54f4 600343de store 6 ,mem_le_txpayload 
+54f5 18427200 copy temp ,loopcnt 
+54f6 d8c04370 arg mem_le_adv_data ,contr 
+54f7 20407ef4 call memcpy_fast 
+54f8 20205504 branch le_send_adv_transmit 
+
+le_send_adv_direct_ind:
+54f9 6800c486 fetch 1 ,mem_le_adv_direct_addr_type 
+54fa 1ff27e00 lshift4 pdata ,pdata 
+54fb 1febfe00 lshift2 pdata ,pdata 
+54fc 1fe0fe01 increase 1 ,pdata 
+54fd 6000c3dc store 1 ,mem_le_txheader 
+54fe 5800000c setarg 12 
+54ff 6000c3dd store 1 ,mem_le_txlen 
+5500 680344a0 fetch 6 ,mem_le_lap 
+5501 600343de store 6 ,mem_le_txpayload 
+5502 680341d0 fetch 6 ,mem_hci_plap 
+5503 e0a30000 istore 6 ,contw 
+
+le_send_adv_transmit:
+5504 4728402a bpatchx patch2a_0 ,mem_patch2a 
+5505 68008000 fetch 1 ,mem_le_adv_transmit 
+5506 1fe0fe01 increase 1 ,pdata 
+5507 60008000 store 1 ,mem_le_adv_transmit 
+5508 db600708 arg 1800 ,stop_watch 
+5509 7856fc00 disable match 
+550a 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_request:
+550b 4728c02a bpatchx patch2a_1 ,mem_patch2a 
+550c 6800c49e fetch 1 ,mem_le_scan_type 
+550d c1808000 rtnne le_scan_type_active 
+550e 68008000 fetch 1 ,mem_le_adv_transmit 
+550f 1fe0fe01 increase 1 ,pdata 
+5510 60008000 store 1 ,mem_le_adv_transmit 
+5511 d8400c03 arg 0x0c03 ,temp 
+5512 6800c49f fetch 1 ,mem_le_scan_own_addr_type 
+5513 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5514 1a227e00 copy rega ,pdata 
+5515 7d3a0407 nsetflag blank ,le_receiver_addr_bit ,temp 
+5516 600943dc storet 2 ,mem_le_txheader 
+5517 680344a0 fetch 6 ,mem_le_lap 
+5518 e0a30000 istore 6 ,contw 
+5519 6803044f fetch 6 ,mem_le_plap 
+551a e0a30000 istore 6 ,contw 
+551b 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_response:
+551c 4729402a bpatchx patch2a_2 ,mem_patch2a 
+551d d8400004 arg scan_rsp ,temp 
+551e 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+551f 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5520 6008c3dc storet 1 ,mem_le_txheader 
+5521 6808c38f fetcht 1 ,mem_le_scan_data_len 
+5522 1840fe06 add temp ,6 ,pdata 
+5523 6000c3dd store 1 ,mem_le_txlen 
+5524 680344a0 fetch 6 ,mem_le_lap 
+5525 600343de store 6 ,mem_le_txpayload 
+5526 d8c04390 arg mem_le_scan_data ,contr 
+5527 18427200 copy temp ,loopcnt 
+5528 20407ef4 call memcpy_fast 
+5529 204054c7 call le_transmit_norx 
+552a 20205706 branch le_adv_not_match 
+
+le_connect_request:
+552b 4729c02a bpatchx patch2a_3 ,mem_patch2a 
+552c 18007fff force -1 ,pdata 
+552d 38080001 setsect 2 ,1 
+552e 6002846f store 5 ,mem_le_channel_map 
+552f 2040545b call le_calc_channel_map 
+5530 18007204 force 4 ,loopcnt 
+5531 d8a00463 arg mem_le_access ,contw 
+5532 2040630d call generate_random_loop 
+5533 6801449c fetch 2 ,mem_le_timeout 
+5534 6001046d store 2 ,mem_le_superto 
+
+le_con_req_hop_retry:
+5535 180a7e00 random pdata 
+5536 1fe17e0f and_into 0xf ,pdata 
+5537 1fe67c04 sub pdata ,4 ,null 
+5538 20215535 branch le_con_req_hop_retry ,positive 
+5539 60008458 store 1 ,mem_le_hop 
+553a 600086e6 store 1 ,mem_tmp1 
+553b 472a402a bpatchx patch2a_4 ,mem_patch2a 
+553c 68094367 fetcht 2 ,mem_le_conn_interval 
+553d 60090441 storet 2 ,mem_le_tsniff 
+553e 18422600 copy temp ,regc 
+553f 1c40fe07 add clkn_bt ,7 ,pdata 
+5540 9a66fc00 idiv regc 
+5541 20407f86 call wait_div_end 
+5542 18072200 remainder rega 
+5543 9a267e00 isub rega ,pdata 
+5544 9a60fe00 iadd regc ,pdata 
+5545 68094365 fetcht 2 ,mem_le_dsniff 
+5546 9840fe00 iadd temp ,pdata 
+5547 60020443 store 4 ,mem_le_anchor 
+5548 9c462200 isub clkn_bt ,rega 
+5549 1a20a3fa increase -6 ,rega 
+554a da402205 arg 0x2205 ,regb 
+554b 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+554c 7d3a2406 nsetflag blank ,le_sender_addr_bit ,regb 
+554d 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+554e 7d3a2407 nsetflag blank ,le_receiver_addr_bit ,regb 
+554f 1a427e00 copy regb ,pdata 
+5550 600143dc store 2 ,mem_le_txheader 
+5551 680344a0 fetch 6 ,mem_le_lap 
+5552 e0a30000 istore 6 ,contw 
+5553 6803044f fetch 6 ,mem_le_plap 
+5554 e0a30000 istore 6 ,contw 
+5555 68020463 fetch 4 ,mem_le_access 
+5556 e0a20000 istore 4 ,contw 
+5557 180a7e00 random pdata 
+5558 e0a10000 istore 2 ,contw 
+5559 180a7e00 random pdata 
+555a e0a08000 istore 1 ,contw 
+555b 18007e02 force 2 ,pdata 
+555c e0a08000 istore 1 ,contw 
+555d 1a2b7e00 rshift2 rega ,pdata 
+555e e0a10000 istore 2 ,contw 
+555f 1a6b7e00 rshift2 regc ,pdata 
+5560 e0a10000 istore 2 ,contw 
+5561 472ac02a bpatchx patch2a_5 ,mem_patch2a 
+5562 58000000 setarg 0 
+5563 e0a10000 istore 2 ,contw 
+5564 6801449c fetch 2 ,mem_le_timeout 
+5565 e0a10000 istore 2 ,contw 
+5566 6802846f fetch 5 ,mem_le_channel_map 
+5567 e0a28000 istore 5 ,contw 
+5568 68008458 fetch 1 ,mem_le_hop 
+5569 d84000a0 arg param_le_sca ,temp 
+556a 9841fe00 ior temp ,pdata 
+556b e0a08000 istore 1 ,contw 
+556c 204054c7 call le_transmit_norx 
+556d 580043dc setarg mem_le_txheader 
+556e 1fe08c12 add pdata ,18 ,contr 
+556f e8c18000 ifetch 3 ,contr 
+5570 60018467 store 3 ,mem_le_crcinit 
+5571 20600000 rtn 
+
+le_init_adv:
+5572 472b402a bpatchx patch2a_6 ,mem_patch2a 
+5573 7854fc00 disable master 
+5574 2020540c branch le_adv_access 
+
+le_update_param:
+5575 6800843f fetch 1 ,mem_le_state 
+5576 c4028000 rtnbit0 lestate_update_param 
+5577 68010459 fetch 2 ,mem_le_event_count 
+5578 6809045f fetcht 2 ,mem_le_instant 
+5579 98467e00 isub temp ,pdata 
+557a 24610000 nrtn positive 
+557b 60010a9a store 2 ,mem_pdatatemp 
+557c 472bc02a bpatchx patch2a_7 ,mem_patch2a 
+557d 6800843f fetch 1 ,mem_le_state 
+557e 793ffe05 set0 lestate_update_param ,pdata 
+557f 793ffe03 set0 lestate_got_first_packet ,pdata 
+5580 6000843f store 1 ,mem_le_state 
+5581 68020443 fetch 4 ,mem_le_anchor 
+5582 68090441 fetcht 2 ,mem_le_tsniff 
+5583 60090aa2 storet 2 ,mem_temp 
+5584 98462200 isub temp ,rega 
+5585 472c402b bpatchx patch2b_0 ,mem_patch2b 
+5586 6800c3d3 fetch 1 ,mem_le_new_param 
+5587 6000846a store 1 ,mem_le_window_size 
+5588 e8c90000 ifetcht 2 ,contr 
+5589 e8c10000 ifetch 2 ,contr 
+558a 1febfe00 lshift2 pdata ,pdata 
+558b 60010441 store 2 ,mem_le_tsniff 
+558c 184b8400 lshift2 temp ,temp 
+558d 9840fe00 iadd temp ,pdata 
+558e e8ca0000 ifetcht 4 ,contr 
+558f 600a046b storet 4 ,mem_le_slave_latency 
+5590 9a20fe00 iadd rega ,pdata 
+5591 1fe22800 copy pdata ,regab 
+5592 68010441 fetch 2 ,mem_le_tsniff 
+5593 68090aa2 fetcht 2 ,mem_temp 
+5594 98467e00 isub temp ,pdata 
+5595 68090a9a fetcht 2 ,mem_pdatatemp 
+5596 984ffe00 imul32 temp ,pdata 
+5597 9a80fe00 iadd regab ,pdata 
+5598 60020443 store 4 ,mem_le_anchor 
+5599 20405713 call le_receive_window_size 
+559a 6801046d fetch 2 ,mem_le_superto 
+559b 600144ba store 2 ,mem_le_init_superto 
+559c 20600000 rtn 
+
+le_update_channel_map:
+559d 472cc02b bpatchx patch2b_1 ,mem_patch2b 
+559e 6800843f fetch 1 ,mem_le_state 
+559f c4030000 rtnbit0 lestate_update_map 
+55a0 68010459 fetch 2 ,mem_le_event_count 
+55a1 6809045f fetcht 2 ,mem_le_instant 
+55a2 98467e00 isub temp ,pdata 
+55a3 24610000 nrtn positive 
+55a4 6800843f fetch 1 ,mem_le_state 
+55a5 793ffe06 set0 lestate_update_map ,pdata 
+55a6 6000843f store 1 ,mem_le_state 
+55a7 6802c3ce fetch 5 ,mem_le_new_map 
+55a8 6002846f store 5 ,mem_le_channel_map 
+55a9 2020545b branch le_calc_channel_map 
+
+le_acknowledge:
+55aa 472d402b bpatchx patch2b_2 ,mem_patch2b 
+55ab 204056ed call le_supervision_flush 
+55ac 204055c0 call le_check_wak 
+55ad 680082d9 fetch 1 ,mem_le_rxbuf 
+55ae 2feffe04 isolate1 md ,pdata 
+55af 7920802a setflag true ,mark_ble_rx_md ,mark 
+55b0 1fe37e00 rshift pdata ,pdata 
+55b1 9842fe00 ixor temp ,pdata 
+55b2 2feffe02 isolate1 nesn ,pdata 
+55b3 7920800f setflag true ,mark_old_packet ,mark 
+55b4 c6078000 rtnmark1 mark_old_packet 
+55b5 680082da fetch 1 ,mem_le_rxbuf + 1 
+55b6 203a55bc branch le_ack_unenc ,blank 
+55b7 6800843f fetch 1 ,mem_le_state 
+55b8 c30255bc bbit0 lestate_encryption ,le_ack_unenc 
+55b9 2040748d call load_sk 
+55ba 204073fb call le_decrypt 
+55bb 247a0000 nrtn blank 
+
+le_ack_unenc:
+55bc 68088456 fetcht 1 ,mem_le_arq 
+55bd 79400402 setflip nesn ,temp 
+55be 60088456 storet 1 ,mem_le_arq 
+55bf 20600000 rtn 
+
+le_check_wak:
+55c0 472dc02b bpatchx patch2b_3 ,mem_patch2b 
+55c1 68088456 fetcht 1 ,mem_le_arq 
+55c2 284c0005 isolate0 wak ,temp 
+55c3 20608000 rtn true 
+55c4 680082d9 fetch 1 ,mem_le_rxbuf 
+55c5 1fe3fe00 lshift pdata ,pdata 
+55c6 9842fe00 ixor temp ,pdata 
+55c7 c4018000 rtnbit0 sn 
+55c8 793f8405 set0 wak ,temp 
+55c9 79400403 setflip sn ,temp 
+55ca 60088456 storet 1 ,mem_le_arq 
+55cb 28400603 compare 3 ,temp ,3 
+55cc 24608000 nrtn true 
+55cd 6800c3de fetch 1 ,mem_le_txpayload 
+55ce c002d5d2 beq ll_start_enc_req ,le_set_enc 
+55cf 6800c4c5 fetch 1 ,mem_le_enc_state 
+55d0 c00155d6 beq flag_le_enc_pause ,le_clear_enc 
+55d1 20600000 rtn 
+
+le_set_enc:
+55d2 6800843f fetch 1 ,mem_le_state 
+55d3 79207e04 set1 lestate_encryption ,pdata 
+55d4 6000843f store 1 ,mem_le_state 
+55d5 20600000 rtn 
+
+le_clear_enc:
+55d6 472e402b bpatchx patch2b_4 ,mem_patch2b 
+55d7 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+55d8 dfe00000 arg 0 ,pdata 
+55d9 6002440d store 4 ,mem_le_last_mic 
+55da 6002c403 store 5 ,mem_le_pcnt_tx 
+55db 79207e27 set1 39 ,pdata 
+55dc 6002c408 store 5 ,mem_le_pcnt_rx 
+55dd 6800843f fetch 1 ,mem_le_state 
+55de 793ffe04 set0 lestate_encryption ,pdata 
+55df 6000843f store 1 ,mem_le_state 
+55e0 20600000 rtn 
+
+le_wait_adv:
+55e1 472ec02b bpatchx patch2b_5 ,mem_patch2b 
+55e2 20405422 call le_next_adv_channel 
+55e3 20405485 call le_receive_adv 
+55e4 68008001 fetch 1 ,mem_le_adv_waitcnt 
+55e5 1fe0fe01 increase 1 ,pdata 
+55e6 60008001 store 1 ,mem_le_adv_waitcnt 
+55e7 20600000 rtn 
+
+le_scan:
+55e8 472f402b bpatchx patch2b_6 ,mem_patch2b 
+55e9 6800c369 fetch 1 ,mem_le_scan_enable 
+55ea c1808000 rtnne le_scan_enable 
+55eb d8e00002 arg le_scan_interval_timer ,queue 
+55ec 20407f16 call timer_check 
+55ed 247a0000 nrtn blank 
+55ee 6801436a fetch 2 ,mem_le_scan_interval 
+55ef 6809436c fetcht 2 ,mem_le_scan_window 
+55f0 98467e00 isub temp ,pdata 
+55f1 d8e00002 arg le_scan_interval_timer ,queue 
+55f2 20407f08 call timer_init 
+55f3 7854fc00 disable master 
+55f4 20405572 call le_init_adv 
+55f5 204055e1 call le_wait_adv 
+55f6 24768000 nrtn match 
+55f7 472fc02b bpatchx patch2b_7 ,mem_patch2b 
+55f8 680302db fetch 6 ,mem_le_rxbuf + 2 
+55f9 6003044f store 6 ,mem_le_plap 
+55fa 68008002 fetch 1 ,mem_le_adv_rcv 
+55fb 1fe0fe01 increase 1 ,pdata 
+55fc 60008002 store 1 ,mem_le_adv_rcv 
+55fd 20405608 call le_create_conn 
+55fe 20748000 rtn master 
+55ff 2040550b call le_send_scan_request 
+5600 24768000 nrtn match 
+5601 4730402c bpatchx patch2c_0 ,mem_patch2c 
+5602 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+5603 1fe0fe01 increase 1 ,pdata 
+5604 60008004 store 1 ,mem_le_scanrsp_rcv 
+5605 680482e1 fetch 9 ,mem_le_rxbuf + 8 
+5606 60048101 store 9 ,mem_tmp_buffer 
+5607 20600000 rtn 
+
+le_create_conn:
+5608 4730c02c bpatchx patch2c_1 ,mem_patch2c 
+5609 6800849b fetch 1 ,mem_cmd_le_create_conn 
+560a c18d8000 rtnne hci_cmd_le_create_conn 
+560b 6803044f fetch 6 ,mem_le_plap 
+560c 680b448f fetcht 6 ,mem_le_conn_peer_addr 
+560d 98467c00 isub temp ,null 
+560e 24628000 nrtn zero 
+560f 2040223b call context_new 
+5610 24628000 nrtn zero 
+5611 2040552b call le_connect_request 
+5612 20405340 call le_init_master 
+5613 4731402c bpatchx patch2c_2 ,mem_patch2c 
+5614 7041ce00 jam 0 ,mem_hci_cmd 
+5615 70047600 jam 0 ,mem_le_peer_sca 
+5616 70436900 jam 0 ,mem_le_scan_enable 
+5617 70049b00 jam 0 ,mem_cmd_le_create_conn 
+5618 20202223 branch context_save 
+
+le_scan_check_sender_addr_type:
+5619 da200001 arg 1 ,rega 
+561a 680082d9 fetch 1 ,mem_le_rxbuf 
+561b c3830000 rtnbit1 le_sender_addr_bit 
+561c da200000 arg 0 ,rega 
+561d 20600000 rtn 
+
+le_prepare_tx:
+561e 4731c02c bpatchx patch2c_3 ,mem_patch2c 
+561f 68008456 fetch 1 ,mem_le_arq 
+5620 c3828000 rtnbit1 wak 
+5621 20405642 call le_check_tx_md 
+5622 20405873 call le_fifo_get_first_tx_ptr 
+5623 203a5664 branch le_send_empty ,blank 
+5624 e8c08000 ifetch 1 ,contr 
+5625 e8c88000 ifetcht 1 ,contr 
+5626 18422200 copy temp ,rega 
+5627 9a267e00 isub rega ,pdata 
+5628 d840001b arg le_max_paket_len ,temp 
+5629 20407fdd call not_greater_than 
+562a 1fe20400 copy pdata ,temp 
+562b e8c08000 ifetch 1 ,contr 
+562c 1fe20200 copy pdata ,type 
+562d 1a227e00 copy rega ,pdata 
+562e 98c08c00 iadd contr ,contr 
+562f d8a043de arg mem_le_txpayload ,contw 
+5630 18427200 copy temp ,loopcnt 
+5631 20407f01 call memcpy 
+5632 20405654 call le_update_tx_type 
+5633 20405666 call le_send_packet 
+5634 20405873 call le_fifo_get_first_tx_ptr 
+5635 e8c08000 ifetch 1 ,contr 
+5636 1fe22200 copy pdata ,rega 
+5637 18c22600 copy contr ,regc 
+5638 e8c88000 ifetcht 1 ,contr 
+5639 18422400 copy temp ,regb 
+563a 9a467e00 isub regb ,pdata 
+563b d840001b arg le_max_paket_len ,temp 
+563c 20407fdd call not_greater_than 
+563d 9a40fe00 iadd regb ,pdata 
+563e e2608000 istore 1 ,regc 
+563f 9a267c00 isub rega ,null 
+5640 24628000 nrtn zero 
+5641 20205896 branch le_fifo_release_first_node 
+
+le_check_tx_md:
+5642 20405649 call le_check_continue 
+5643 c6148000 rtnmark1 mark_ble_tx_md 
+5644 6800c4e9 fetch 1 ,mem_le_configuration 
+5645 c3015652 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+5646 20405876 call le_fifo_get_second_tx_ptr 
+5647 203a5652 branch le_clear_md ,blank 
+5648 20205650 branch le_set_md 
+
+le_check_continue:
+5649 20405873 call le_fifo_get_first_tx_ptr 
+564a 203a5652 branch le_clear_md ,blank 
+564b e8c08000 ifetch 1 ,contr 
+564c e8c88000 ifetcht 1 ,contr 
+564d 98467e00 isub temp ,pdata 
+564e 1fe67c1b sub pdata ,le_max_paket_len ,null 
+564f 20215652 branch le_clear_md ,positive 
+
+le_set_md:
+5650 79200029 set1 mark_ble_tx_md ,mark 
+5651 20600000 rtn 
+
+le_clear_md:
+5652 793f8029 set0 mark_ble_tx_md ,mark 
+5653 20600000 rtn 
+
+le_update_tx_type:
+5654 1a227e00 copy rega ,pdata 
+5655 207a0000 rtn blank 
+5656 d8200001 arg llid_continue ,type 
+5657 20600000 rtn 
+
+le_att_check_notification_enable:
+5658 4732402c bpatchx patch2c_4 ,mem_patch2c 
+5659 18408401 increase 1 ,temp 
+565a 2040576a call le_att_get_handle_ptr 
+565b 18c08dfe increase -2 ,contr 
+565c e8c10000 ifetch 2 ,contr 
+565d d8402902 arg client_charactertic_configuration ,temp 
+565e 98467c00 isub temp ,null 
+565f 24628000 nrtn zero 
+5660 18c08c01 increase 1 ,contr 
+5661 18c22200 copy contr ,rega 
+5662 e8c08000 ifetch 1 ,contr 
+5663 20600000 rtn 
+
+le_send_empty:
+5664 18000400 force 0 ,temp 
+5665 18000201 force 1 ,type 
+
+le_send_packet:
+5666 4732c02c bpatchx patch2c_5 ,mem_patch2c 
+5667 6008c3dd storet 1 ,mem_le_txlen 
+5668 68088456 fetcht 1 ,mem_le_arq 
+5669 79200405 set1 wak ,temp 
+566a 18417efc and temp ,0xfc ,pdata 
+566b 9821fe00 ior type ,pdata 
+566c 60008456 store 1 ,mem_le_arq 
+566d 1fe17e1f and_into 0x1f ,pdata 
+566e 280ffe29 isolate1 mark_ble_tx_md ,mark 
+566f 7920fe04 setflag true ,md ,pdata 
+5670 6000c3dc store 1 ,mem_le_txheader 
+5671 6800c3dc fetch 1 ,mem_le_txheader 
+5672 28200601 compare 1 ,type ,3 
+5673 2420d676 nbranch le_send_no_txlen ,true 
+5674 6800c3dd fetch 1 ,mem_le_txlen 
+5675 207a0000 rtn blank 
+
+le_send_no_txlen:
+5676 6800843f fetch 1 ,mem_le_state 
+5677 c4020000 rtnbit0 lestate_encryption 
+5678 2040748d call load_sk 
+5679 202073e3 branch le_encrypt 
+
+get_lpm_wake_ble_rx_lock:
+567a d8e00000 arg wake_lock_ble_rx ,queue 
+567b 20202c32 branch lpm_get_wake_lock 
+
+put_lpm_wake_ble_rx_lock:
+567c d8e00000 arg wake_lock_ble_rx ,queue 
+567d 20202c36 branch lpm_put_wake_lock 
+
+le_parse:
+567e 4733402c bpatchx patch2c_6 ,mem_patch2c 
+567f c6078000 rtnmark1 mark_old_packet 
+5680 20405890 call le_fifo_check_full 
+5681 247a0000 nrtn blank 
+5682 680082d9 fetch 1 ,mem_le_rxbuf 
+5683 1fe17e03 and pdata ,0x3 ,pdata 
+5684 6000c50c store 1 ,mem_le_packet_llid 
+5685 e8c08000 ifetch 1 ,contr 
+5686 1fe17e1f and pdata ,0x1f ,pdata 
+5687 6000c50b store 1 ,mem_le_packet_size 
+5688 207a0000 rtn blank 
+5689 18c27e00 copy contr ,pdata 
+568a 6001450d store 2 ,mem_le_payload_ptr 
+568b 6800c50c fetch 1 ,mem_le_packet_llid 
+568c c001dc64 beq llid_le_ll ,le_parse_ll 
+
+le_parse_l2cap:
+568d 2040569a call le_check_l2cap_complete 
+568e 2434567a nbranch get_lpm_wake_ble_rx_lock ,user 
+568f 2040567c call put_lpm_wake_ble_rx_lock 
+5690 6801450d fetch 2 ,mem_le_payload_ptr 
+5691 1fe20c00 copy pdata ,contr 
+5692 e8c10000 ifetch 2 ,contr 
+5693 600144fc store 2 ,mem_le_l2cap_size 
+5694 4733c02c bpatchx patch2c_7 ,mem_patch2c 
+5695 e8c10000 ifetch 2 ,contr 
+5696 c00258ab beq le_l2cap_cid_att ,le_parse_att 
+5697 c0035af4 beq le_l2cap_cid_smp ,le_parse_smp 
+5698 c002dab6 beq le_l2cap_cid_signal ,le_parse_signaling 
+5699 20600000 rtn 
+
+le_check_l2cap_complete:
+569a 6800c50c fetch 1 ,mem_le_packet_llid 
+569b c00156a9 beq llid_start ,le_check_l2cap_llid_start 
+569c c000d6c1 beq llid_continue ,le_check_l2cap_llid_continue 
+569d 20600000 rtn 
+
+le_check_l2cap_cid_legal:
+569e 20407fe7 call enable_user 
+569f d8400004 arg le_l2cap_cid_att ,temp 
+56a0 9fe67c00 isub pdata ,null 
+56a1 20628000 rtn zero 
+56a2 d8400005 arg le_l2cap_cid_signal ,temp 
+56a3 9fe67c00 isub pdata ,null 
+56a4 20628000 rtn zero 
+56a5 d8400006 arg le_l2cap_cid_smp ,temp 
+56a6 9fe67c00 isub pdata ,null 
+56a7 20628000 rtn zero 
+56a8 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_start:
+56a9 6801450d fetch 2 ,mem_le_payload_ptr 
+56aa 1fe20c00 copy pdata ,contr 
+56ab e8c10000 ifetch 2 ,contr 
+56ac 600144fc store 2 ,mem_le_l2cap_size 
+56ad e8c10000 ifetch 2 ,contr 
+56ae 2040569e call le_check_l2cap_cid_legal 
+56af 24740000 nrtn user 
+56b0 6808c50b fetcht 1 ,mem_le_packet_size 
+56b1 6008c4fe storet 1 ,mem_le_packet_len_recved 
+56b2 680144fc fetch 2 ,mem_le_l2cap_size 
+56b3 1fe0fe04 increase 4 ,pdata 
+56b4 98467c00 isub temp ,null 
+56b5 2022ffe7 branch enable_user ,zero 
+56b6 6800c50b fetch 1 ,mem_le_packet_size 
+56b7 1fe27200 copy pdata ,loopcnt 
+56b8 d8a00311 arg mem_le_l2capbuf ,contw 
+56b9 6801450d fetch 2 ,mem_le_payload_ptr 
+56ba 1fe20c00 copy pdata ,contr 
+56bb 20407f01 call memcpy 
+56bc 20207fe9 branch disable_user 
+
+le_check_l2cap_continue_legal:
+56bd 20407fe7 call enable_user 
+56be 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56bf 247a0000 nrtn blank 
+56c0 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_continue:
+56c1 204056bd call le_check_l2cap_continue_legal 
+56c2 24740000 nrtn user 
+56c3 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56c4 d8a00311 arg mem_le_l2capbuf ,contw 
+56c5 98a0a200 iadd contw ,rega 
+56c6 6808c50b fetcht 1 ,mem_le_packet_size 
+56c7 9840fe00 iadd temp ,pdata 
+56c8 6000c4fe store 1 ,mem_le_packet_len_recved 
+56c9 6800c50b fetch 1 ,mem_le_packet_size 
+56ca 1fe27200 copy pdata ,loopcnt 
+56cb 1a220a00 copy rega ,contw 
+56cc 6801450d fetch 2 ,mem_le_payload_ptr 
+56cd 1fe20c00 copy pdata ,contr 
+56ce 20407ef4 call memcpy_fast 
+56cf 58000311 setarg mem_le_l2capbuf 
+56d0 6001450d store 2 ,mem_le_payload_ptr 
+56d1 680144fc fetch 2 ,mem_le_l2cap_size 
+56d2 1fe0fe04 increase 4 ,pdata 
+56d3 6808c4fe fetcht 1 ,mem_le_packet_len_recved 
+56d4 98467c00 isub temp ,null 
+56d5 2022ffe7 branch enable_user ,zero 
+56d6 20207fe9 branch disable_user 
+
+le_get_search_att_type:
+56d7 20407ea5 call store_contr 
+56d8 d8a0445e arg mem_le_search_att_type_length ,contw 
+
+le_get_search_common:
+56d9 680144fc fetch 2 ,mem_le_l2cap_size 
+56da 1fe0fffb increase -5 ,pdata 
+
+le_get_search_common2:
+56db e0a08000 istore 1 ,contw 
+56dc 1fe27200 copy pdata ,loopcnt 
+56dd 20407e9f call get_contr 
+56de 20207ef4 branch memcpy_fast 
+
+le_get_search_att_uuid:
+56df 20407ea5 call store_contr 
+56e0 d8a04471 arg mem_le_search_uuid_length ,contw 
+56e1 202056d9 branch le_get_search_common 
+
+le_writeatt_cb:
+56e2 680141f9 fetch 2 ,mem_cb_att_write 
+56e3 20207f9c branch callback_func 
+
+le_supervision_update:
+56e4 680a045b fetcht 4 ,mem_le_supervision_timer 
+56e5 20402a7b call get_clkbt 
+56e6 98461600 isub temp ,timeup 
+56e7 19627e00 deposit timeup 
+56e8 6809046d fetcht 2 ,mem_le_superto 
+56e9 18520400 lshift4 temp ,temp 
+56ea 18438400 lshift temp ,temp 
+56eb 98467e00 isub temp ,pdata 
+56ec 20600000 rtn 
+
+le_supervision_flush:
+56ed 20402a7b call get_clkbt 
+56ee 6002045b store 4 ,mem_le_supervision_timer 
+56ef 20600000 rtn 
+
+le_adv:
+56f0 70001624 jam 36 ,mem_le_ch_mapped 
+56f1 700ac200 jam 0 ,mem_le_adv_channel_map_temp 
+
+le_adv_loop:
+56f2 4734402d bpatchx patch2d_0 ,mem_patch2d 
+56f3 6800c36e fetch 1 ,mem_le_adv_enable 
+56f4 207a0000 rtn blank 
+56f5 d8e00000 arg le_adv_interval_timer ,queue 
+56f6 20407f16 call timer_check 
+56f7 247a0000 nrtn blank 
+56f8 4734c02d bpatchx patch2d_1 ,mem_patch2d 
+
+le_adv_loop_tx:
+56f9 7854fc00 disable master 
+56fa 78287c00 enable swfine 
+56fb 20405572 call le_init_adv 
+56fc 20405422 call le_next_adv_channel 
+56fd 204054e9 call le_send_adv_ind 
+56fe 2436d706 nbranch le_adv_not_match ,match 
+56ff 68008003 fetch 1 ,mem_le_req_rcv 
+5700 1fe0fe01 increase 1 ,pdata 
+5701 60008003 store 1 ,mem_le_req_rcv 
+5702 680082d9 fetch 1 ,mem_le_rxbuf 
+5703 1fe17e0f and pdata ,0x0f ,pdata 
+5704 c001d51c beq scan_req ,le_send_scan_response 
+5705 c002d728 beq connect_req ,le_parse_connect_req 
+
+le_adv_not_match:
+5706 4735402d bpatchx patch2d_2 ,mem_patch2d 
+5707 180a7e00 random pdata 
+5708 d84001ff arg 0x1ff ,temp 
+5709 98417e00 iand temp ,pdata 
+570a 1fe0fefa add pdata ,250 ,pdata 
+570b 20403cbe call delay 
+570c 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+570d 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+570e 98467c00 isub temp ,null 
+570f 2422d6f2 nbranch le_adv_loop ,zero 
+5710 d8e00000 arg le_adv_interval_timer ,queue 
+5711 68014482 fetch 2 ,mem_le_adv_interval 
+5712 20207f08 branch timer_init 
+
+le_receive_window_size:
+5713 4735c02d bpatchx patch2d_3 ,mem_patch2d 
+5714 68008476 fetch 1 ,mem_le_peer_sca 
+5715 204053fc call le_sca_map 
+5716 68010441 fetch 2 ,mem_le_tsniff 
+5717 984ffe00 imul32 temp ,pdata 
+5718 d8400177 arg 375 ,temp 
+5719 984ffe00 imul32 temp ,pdata 
+571a d84186a0 arg 100000 ,temp 
+571b 9846fc00 idiv temp 
+571c 6800846a fetch 1 ,mem_le_window_size 
+571d d8404e20 arg 20000 ,temp 
+571e 984ffe00 imul32 temp ,pdata 
+571f 9840fe00 iadd temp ,pdata 
+5720 600244e5 store 4 ,mem_le_transmit_window 
+5721 4736402d bpatchx patch2d_4 ,mem_patch2d 
+5722 680140c1 fetch 2 ,mem_rx_window_sniff 
+5723 20407f86 call wait_div_end 
+5724 18078400 quotient temp 
+5725 9840fe00 iadd temp ,pdata 
+5726 6001044d store 2 ,mem_le_receive_window 
+5727 20600000 rtn 
+
+le_parse_connect_req:
+5728 4736c02d bpatchx patch2d_5 ,mem_patch2d 
+5729 680302e1 fetch 6 ,mem_le_rxbuf + 8 
+572a 680b44a0 fetcht 6 ,mem_le_lap 
+572b 98467c00 isub temp ,null 
+572c 24628000 nrtn zero 
+572d 20405619 call le_scan_check_sender_addr_type 
+572e 1a227e00 copy rega ,pdata 
+572f 6000c48e store 1 ,mem_le_conn_peer_addr_type 
+5730 680382ee fetch 7 ,mem_le_rxbuf + 21 
+5731 60038101 store 7 ,mem_tmp_buffer 
+5732 e8c40000 ifetch 8 ,contr 
+5733 e0a40000 istore 8 ,contw 
+5734 680302db fetch 6 ,mem_le_rxbuf + 2 
+5735 6003044f store 6 ,mem_le_plap 
+5736 18c08c06 increase 6 ,contr 
+5737 e8c40000 ifetch 8 ,contr 
+5738 60040463 store 8 ,mem_le_access 
+5739 e8c90000 ifetcht 2 ,contr 
+573a 4737402d bpatchx patch2d_6 ,mem_patch2d 
+573b 184b8400 lshift2 temp ,temp 
+573c e8c10000 ifetch 2 ,contr 
+573d 1febfe00 lshift2 pdata ,pdata 
+573e 60010441 store 2 ,mem_le_tsniff 
+573f 60020443 store 4 ,mem_le_anchor 
+5740 98467e00 isub temp ,pdata 
+5741 1fe0d1fe add pdata ,-2 ,clke_bt 
+5742 e8c48000 ifetch 9 ,contr 
+5743 6004846b store 9 ,mem_le_slave_latency 
+5744 4737c02d bpatchx patch2d_7 ,mem_patch2d 
+5745 e8c08000 ifetch 1 ,contr 
+5746 1ff18400 rshift4 pdata ,temp 
+5747 18430400 rshift temp ,temp 
+5748 60088476 storet 1 ,mem_le_peer_sca 
+5749 1fe17e1f and_into 0x1f ,pdata 
+574a 60008458 store 1 ,mem_le_hop 
+574b 20405713 call le_receive_window_size 
+574c 2040545b call le_calc_channel_map 
+574d 2040534c call le_init_slave 
+574e 2040223b call context_new 
+574f 24628000 nrtn zero 
+5750 4738402e bpatchx patch2e_0 ,mem_patch2e 
+5751 20402841 call calc_clke_offset 
+5752 20405ad3 call le_l2cap_reset_signaling_identifier 
+5753 700a9914 jam bt_evt_le_connected ,mem_fifo_temp 
+5754 20407d86 call ui_ipc_send_event 
+5755 20202223 branch context_save 
+
+le_init_attlist_search:
+5756 4738c02e bpatchx patch2e_1 ,mem_patch2e 
+5757 6801445a fetch 2 ,mem_le_search_handle_start 
+5758 98002400 iforce regb 
+5759 6801445c fetch 2 ,mem_le_search_handle_end 
+575a 98002600 iforce regc 
+575b 680144bc fetch 2 ,mem_ui_le_uuid_table 
+575c 98000c00 iforce contr 
+575d 78347c00 enable user 
+575e 20600000 rtn 
+
+le_att_handle_inrange:
+575f e8c10000 ifetch 2 ,contr 
+5760 207a0000 rtn blank 
+5761 9a467c00 isub regb ,null 
+5762 24610000 nrtn positive 
+5763 9a667c00 isub regc ,null 
+5764 20628000 rtn zero 
+5765 20215768 branch le_att_handle_blank ,positive 
+5766 18007c01 force 1 ,null 
+5767 20600000 rtn 
+
+le_att_handle_blank:
+5768 18007e00 force 0 ,pdata 
+5769 20600000 rtn 
+
+le_att_get_handle_ptr:
+576a 2040576d call le_att_get_handle_ptr2 
+576b 2022d779 branch le_att_get_handle_ptr_found ,zero 
+576c 20600000 rtn 
+
+le_att_get_handle_ptr2:
+576d 4739402e bpatchx patch2e_2 ,mem_patch2e 
+576e 680144bc fetch 2 ,mem_ui_le_uuid_table 
+576f 98000c00 iforce contr 
+
+le_att_get_handle_loop1:
+5770 e8c10000 ifetch 2 ,contr 
+5771 207a0000 rtn blank 
+5772 98467c00 isub temp ,null 
+5773 20628000 rtn zero 
+5774 e8c08000 ifetch 1 ,contr 
+5775 98c08c00 iadd contr ,contr 
+5776 e8c08000 ifetch 1 ,contr 
+5777 98c08c00 iadd contr ,contr 
+5778 20205770 branch le_att_get_handle_loop1 
+
+le_att_get_handle_ptr_found:
+5779 e8c08000 ifetch 1 ,contr 
+577a 98c08c00 iadd contr ,contr 
+577b 20600000 rtn 
+
+le_att_get_short_uuid_ptr:
+577c 4739c02e bpatchx patch2e_3 ,mem_patch2e 
+577d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+577e 98000c00 iforce contr 
+
+le_att_get_short_uuid_loop:
+577f e8c10000 ifetch 2 ,contr 
+5780 207a0000 rtn blank 
+5781 e8c08000 ifetch 1 ,contr 
+5782 98c08c00 iadd contr ,contr 
+5783 18c08dfe increase -2 ,contr 
+5784 e8c10000 ifetch 2 ,contr 
+5785 98467c00 isub temp ,null 
+5786 20628000 rtn zero 
+5787 e8c08000 ifetch 1 ,contr 
+5788 98c08c00 iadd contr ,contr 
+5789 2020577f branch le_att_get_short_uuid_loop 
+
+le_att_get_handle_info_from_ptr:
+578a 6801049c fetch 2 ,mem_le_cur_attlist_start_ptr 
+578b 2020578e branch le_att_get_handle_info_fast 
+
+le_att_get_handle_info:
+578c 473a402e bpatchx patch2e_4 ,mem_patch2e 
+578d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+
+le_att_get_handle_info_fast:
+578e 98000c00 iforce contr 
+578f 18422200 copy temp ,rega 
+
+le_att_get_handle_loop:
+5790 e8c10000 ifetch 2 ,contr 
+5791 203a5799 branch le_att_unfind_handle ,blank 
+5792 9a267c00 isub rega ,null 
+5793 2022d79a branch le_att_finded_handle ,zero 
+5794 e8c08000 ifetch 1 ,contr 
+5795 98c08c00 iadd contr ,contr 
+5796 e8c08000 ifetch 1 ,contr 
+5797 98c08c00 iadd contr ,contr 
+5798 20205790 branch le_att_get_handle_loop 
+
+le_att_unfind_handle:
+5799 20207fef branch disable_blank 
+
+le_att_finded_handle:
+579a e8c08000 ifetch 1 ,contr 
+579b 600084a2 store 1 ,mem_le_cur_uuid_length 
+579c 1fe27200 copy pdata ,loopcnt 
+579d d8a004a3 arg mem_le_cur_uuid ,contw 
+579e 20407ef4 call memcpy_fast 
+579f e8c08000 ifetch 1 ,contr 
+57a0 600084b3 store 1 ,mem_le_curr_att_len 
+57a1 20407ea5 call store_contr 
+57a2 20207ff1 branch enable_blank 
+
+le_modified_name:
+57a3 473ac02e bpatchx patch2e_5 ,mem_patch2e 
+57a4 204057a6 call le_modified_name_att_list 
+57a5 202057b8 branch le_modified_name_adv 
+
+le_modified_name_att_list:
+57a6 d8402a00 arg uuid_chrctr_device_name ,temp 
+57a7 2040577c call le_att_get_short_uuid_ptr 
+57a8 207a0000 rtn blank 
+57a9 e8c08000 ifetch 1 ,contr 
+57aa 18c20a00 copy contr ,contw 
+57ab 6808c3af fetcht 1 ,mem_le_name_len 
+57ac 18427200 copy temp ,loopcnt 
+57ad 98467c00 isub temp ,null 
+57ae 242157b5 nbranch le_name_length_longer_than_att ,positive 
+57af 98460400 isub temp ,temp 
+57b0 d8c043b0 arg mem_le_name ,contr 
+57b1 20407f01 call memcpy 
+57b2 18427200 copy temp ,loopcnt 
+57b3 2442d7f0 ncall memcpy_empty ,zero 
+57b4 20600000 rtn 
+
+le_name_length_longer_than_att:
+57b5 1fe27200 copy pdata ,loopcnt 
+57b6 d8c043b0 arg mem_le_name ,contr 
+57b7 20207ef4 branch memcpy_fast 
+
+le_modified_name_adv:
+57b8 da60438f arg mem_le_adv_data_len + 32 ,regc 
+57b9 da204370 arg mem_le_adv_data ,rega 
+57ba 204057c5 call le_modified_name_adv_and_scan 
+57bb 58000000 setarg 0 
+57bc 79347e00 setflag user ,0 ,pdata 
+57bd 60008a9a store 1 ,mem_pdatatemp 
+57be da6043af arg mem_le_scan_data_len + 32 ,regc 
+57bf da204390 arg mem_le_scan_data ,rega 
+57c0 204057c5 call le_modified_name_adv_and_scan 
+57c1 20740000 rtn user 
+57c2 68008a9a fetch 1 ,mem_pdatatemp 
+57c3 203a2a8c branch assert ,blank 
+57c4 20600000 rtn 
+
+le_modified_name_adv_and_scan:
+57c5 473b402e bpatchx patch2e_6 ,mem_patch2e 
+57c6 20407fe7 call enable_user 
+57c7 20407eda call clear_temp_block 
+57c8 da400000 arg 0 ,regb 
+57c9 d8a00ac3 arg mem_le_data_temp ,contw 
+57ca 204057df call le_modified_name_adv_loop 
+57cb 6800c3af fetch 1 ,mem_le_name_len 
+57cc 1fe08401 add pdata ,1 ,temp 
+57cd 9a40a200 iadd regb ,rega 
+57ce 1a20a202 increase 2 ,rega 
+57cf 1a267c1f sub rega ,0x1f ,null 
+57d0 242157dd nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+57d1 e0a88000 istoret 1 ,contw 
+57d2 d8400009 arg gap_adtype_local_name_complete ,temp 
+57d3 e0a88000 istoret 1 ,contw 
+57d4 98007200 iforce loopcnt 
+57d5 20407ef4 call memcpy_fast 
+57d6 1a222400 copy rega ,regb 
+
+le_modified_name_adv_and_scan_store_data:
+57d7 1a427e00 deposit regb 
+57d8 60008ac2 store 1 ,mem_le_data_len_temp 
+57d9 d8c00ac2 arg mem_le_data_len_temp ,contr 
+57da 5fffffe0 setarg -32 
+57db 9a608a00 iadd regc ,contw 
+57dc 20207ebd branch memcpy32 
+
+le_modified_name_adv_and_scan_name_overflow:
+57dd 20407fe9 call disable_user 
+57de 202057d7 branch le_modified_name_adv_and_scan_store_data 
+
+le_modified_name_adv_loop:
+57df ea208000 ifetch 1 ,rega 
+57e0 207a0000 rtn blank 
+57e1 1fe0fe01 pincrease 1 
+57e2 e8c88000 ifetcht 1 ,contr 
+57e3 18467c09 sub temp ,gap_adtype_local_name_complete ,null 
+57e4 2022d7ee branch le_modified_name_adv_found_name ,zero 
+57e5 9a40a400 iadd regb ,regb 
+57e6 1a220c00 copy rega ,contr 
+57e7 98007200 iforce loopcnt 
+57e8 20407ef4 call memcpy_fast 
+57e9 18c22200 copy contr ,rega 
+
+le_modified_name_adv_loop2:
+57ea 1a227e00 deposit rega 
+57eb 9a667c00 isub regc ,null 
+57ec 20610000 rtn positive 
+57ed 202057df branch le_modified_name_adv_loop 
+
+le_modified_name_adv_found_name:
+57ee 9a20a200 iadd rega ,rega 
+57ef 202057ea branch le_modified_name_adv_loop2 
+
+memcpy_empty:
+57f0 58000020 setarg space 
+57f1 e0a08000 istore 1 ,contw 
+57f2 c20057f0 loop memcpy_empty 
+57f3 20600000 rtn 
+
+le_lpm_set_mult:
+57f4 473bc02e bpatchx patch2e_7 ,mem_patch2e 
+57f5 7855fc00 disable wake 
+57f6 203757f8 branch le_lpm_set_mult_attempt ,attempt 
+57f7 2436d806 nbranch le_lpm_lost ,match 
+
+le_lpm_set_mult_attempt:
+57f8 20402bcb call lpm_match 
+57f9 680140c1 fetch 2 ,mem_rx_window_sniff 
+57fa 6001044d store 2 ,mem_le_receive_window 
+57fb 2436abde nbranch lpm_mult_short ,match 
+57fc c507abde bmark1 mark_old_packet ,lpm_mult_short 
+57fd 6800c50b fetch 1 ,mem_le_packet_size 
+57fe 243a2bde nbranch lpm_mult_short ,blank 
+57ff 6800c3dd fetch 1 ,mem_le_txlen 
+5800 243a2bde nbranch lpm_mult_short ,blank 
+5801 6800c4e9 fetch 1 ,mem_le_configuration 
+5802 c282abde bbit1 bit_ble_short_mult ,lpm_mult_short 
+5803 6800843f fetch 1 ,mem_le_state 
+5804 c282abde bbit1 lestate_update_param ,lpm_mult_short 
+5805 20202bc0 branch lpm_mult_wait_timeout 
+
+le_lpm_lost:
+5806 680940c1 fetcht 2 ,mem_rx_window_sniff 
+5807 18430400 rshift temp ,temp 
+5808 6801044d fetch 2 ,mem_le_receive_window 
+5809 9840fe00 iadd temp ,pdata 
+580a 6001044d store 2 ,mem_le_receive_window 
+580b 20202bd6 branch lpm_lost 
+
+le_set_config_fixed_tk:
+580c d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580d 20205824 branch le_set_config 
+
+le_clr_config_fixed_tk:
+580e d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580f 20205828 branch le_clr_config 
+
+le_set_config_fixed_ltk:
+5810 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5811 20205824 branch le_set_config 
+
+le_clr_config_fixed_ltk:
+5812 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5813 20205828 branch le_clr_config 
+
+le_set_config_more_data:
+5814 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5815 20205824 branch le_set_config 
+
+le_clr_config_more_data:
+5816 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5817 20205828 branch le_clr_config 
+
+le_set_config_read_authentication:
+5818 d8e00003 arg bit_ble_read_auth ,queue 
+5819 20205824 branch le_set_config 
+
+le_clr_config_read_authentication:
+581a d8e00003 arg bit_ble_read_auth ,queue 
+581b 20205828 branch le_clr_config 
+
+le_set_config_write_authentication:
+581c d8e00004 arg bit_ble_write_auth ,queue 
+581d 20205824 branch le_set_config 
+
+le_clr_config_write_authentication:
+581e d8e00004 arg bit_ble_write_auth ,queue 
+581f 20205828 branch le_clr_config 
+
+le_set_config_short_mult:
+5820 d8e00005 arg bit_ble_short_mult ,queue 
+5821 20205824 branch le_set_config 
+
+le_clr_config_short_mult:
+5822 d8e00005 arg bit_ble_short_mult ,queue 
+5823 20205828 branch le_clr_config 
+
+le_set_config:
+5824 6800c4e9 fetch 1 ,mem_le_configuration 
+5825 f9207e00 qset1 pdata 
+5826 6000c4e9 store 1 ,mem_le_configuration 
+5827 20600000 rtn 
+
+le_clr_config:
+5828 6800c4e9 fetch 1 ,mem_le_configuration 
+5829 f93ffe00 qset0 pdata 
+582a 6000c4e9 store 1 ,mem_le_configuration 
+582b 20600000 rtn 
+
+le_set_fixed_ltk:
+582c 58112233 setarg 0x112233 
+582d 6001c4ea store 3 ,mem_le_fixed_ltk 
+582e 58445566 setarg 0x445566 
+582f e0a18000 istore 3 ,contw 
+5830 58778899 setarg 0x778899 
+5831 e0a18000 istore 3 ,contw 
+5832 58001122 setarg 0x001122 
+5833 e0a18000 istore 3 ,contw 
+5834 58334455 setarg 0x334455 
+5835 e0a18000 istore 3 ,contw 
+5836 58000066 setarg 0x66 
+5837 e0a08000 istore 1 ,contw 
+5838 20600000 rtn 
+
+le_set_justwork:
+5839 59000302 setarg 0x01000302 
+583a 60024453 store 4 ,mem_le_pres 
+583b 58010010 setarg 0x010010 
+583c 6001c457 store 3 ,mem_le_pres_max_keysize 
+583d 7044c601 jam 1 ,mem_le_pairing_mode 
+583e 20600000 rtn 
+
+le_fifo_malloc_tx_empty:
+583f da200000 arg 0 ,rega 
+5840 d8200001 arg llid_empty ,type 
+5841 20205850 branch le_fifo_malloc_tx 
+
+le_fifo_malloc_tx_ll:
+5842 d8200003 arg llid_le_ll ,type 
+5843 20405850 call le_fifo_malloc_tx 
+5844 1a427e00 copy regb ,pdata 
+5845 e0a08000 istore 1 ,contw 
+5846 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap:
+5847 18000202 force llid_l2cap_start ,type 
+5848 1a20a204 increase 4 ,rega 
+5849 20405850 call le_fifo_malloc_tx 
+584a 1a20a3fc increase -4 ,rega 
+584b 1a227e00 copy rega ,pdata 
+584c e0a10000 istore 2 ,contw 
+584d 1a427e00 copy regb ,pdata 
+584e e0a10000 istore 2 ,contw 
+584f 20600000 rtn 
+
+le_fifo_malloc_tx:
+5850 1a267cf0 sub rega ,240 ,null 
+5851 24212a8c nbranch assert ,positive 
+5852 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+5853 d8400001 arg 1 ,temp 
+5854 df200004 arg le_tx_buff_count ,loopcnt 
+
+le_fifo_malloc_tx_loop:
+5855 98417c00 iand temp ,null 
+5856 2022d85a branch le_fifo_malloc_tx_got_empty ,zero 
+5857 18438400 lshift temp ,temp 
+5858 c2005855 loop le_fifo_malloc_tx_loop 
+5859 20202a8c branch assert 
+
+le_fifo_malloc_tx_got_empty:
+585a 9842fe00 ixor temp ,pdata 
+585b 6000c4ff store 1 ,mem_le_tx_buff_used 
+585c 1f267e04 sub loopcnt ,le_tx_buff_count ,pdata 
+585d 1ff27e00 lshift4 pdata ,pdata 
+585e 1ff27e00 lshift4 pdata ,pdata 
+585f d8401800 arg mem_le_tx_buffer0 ,temp 
+5860 98408400 iadd temp ,temp 
+
+le_fifo_tx_find_empty_ptr:
+5861 df200000 arg 0 ,loopcnt 
+5862 d8c04500 arg mem_le_tx_ptr0 ,contr 
+
+le_fifo_tx_find_empty_ptr_loop:
+5863 e8c10000 ifetch 2 ,contr 
+5864 203a5869 branch le_fifo_tx_found_empty_ptr ,blank 
+5865 1f227e00 copy loopcnt ,pdata 
+5866 1f20f201 increase 1 ,loopcnt 
+5867 c0825863 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+5868 20202a8c branch assert 
+
+le_fifo_tx_found_empty_ptr:
+5869 18c08dfe increase -2 ,contr 
+586a e0c90000 istoret 2 ,contr 
+586b 18420a00 copy temp ,contw 
+586c 1a227e00 copy rega ,pdata 
+586d e0a08000 istore 1 ,contw 
+586e 58000000 setarg 0 
+586f e0a08000 istore 1 ,contw 
+5870 18227e00 copy type ,pdata 
+5871 e0a08000 istore 1 ,contw 
+5872 20600000 rtn 
+
+le_fifo_get_first_tx_ptr:
+5873 68014500 fetch 2 ,mem_le_tx_ptr0 
+5874 1fe20c00 copy pdata ,contr 
+5875 20600000 rtn 
+
+le_fifo_get_second_tx_ptr:
+5876 68014502 fetch 2 ,mem_le_tx_ptr1 
+5877 1fe20c00 copy pdata ,contr 
+5878 20600000 rtn 
+
+le_fifo_get_last_tx_ptr:
+5879 2040587c call le_fifo_get_last_tx_ptr0 
+587a 1fe20c00 copy pdata ,contr 
+587b 20600000 rtn 
+
+le_fifo_get_last_tx_ptr0:
+587c 68014506 fetch 2 ,mem_le_tx_ptr3 
+587d 247a0000 nrtn blank 
+587e 68014504 fetch 2 ,mem_le_tx_ptr2 
+587f 247a0000 nrtn blank 
+5880 68014502 fetch 2 ,mem_le_tx_ptr1 
+5881 247a0000 nrtn blank 
+5882 68014500 fetch 2 ,mem_le_tx_ptr0 
+5883 20600000 rtn 
+
+le_fifo_get_first_l2cap_ptr:
+5884 20405873 call le_fifo_get_first_tx_ptr 
+5885 18c08c03 increase 3 ,contr 
+5886 20600000 rtn 
+
+le_fifo_get_first_att_ptr:
+5887 20405873 call le_fifo_get_first_tx_ptr 
+5888 18c08c07 increase 7 ,contr 
+5889 20600000 rtn 
+
+le_fifo_get_last_att_ptr:
+588a 20405879 call le_fifo_get_last_tx_ptr 
+588b 18c08c07 increase 7 ,contr 
+588c 20600000 rtn 
+
+le_fifo_get_last_l2cap_ptr:
+588d 20405879 call le_fifo_get_last_tx_ptr 
+588e 18c08c03 increase 3 ,contr 
+588f 20600000 rtn 
+
+le_fifo_check_full:
+5890 68014506 fetch 2 ,mem_le_tx_ptr3 
+5891 20600000 rtn 
+
+le_fifo_check_nearly_full:
+5892 68014504 fetch 2 ,mem_le_tx_ptr2 
+5893 20600000 rtn 
+
+le_fifo_check_empty:
+5894 68014500 fetch 2 ,mem_le_tx_ptr0 
+5895 20600000 rtn 
+
+le_fifo_release_first_node:
+5896 68014500 fetch 2 ,mem_le_tx_ptr0 
+5897 d8401800 arg mem_le_tx_buffer0 ,temp 
+5898 98467e00 isub temp ,pdata 
+5899 1ff1fe00 rshift4 pdata ,pdata 
+589a 1ff18e00 rshift4 pdata ,queue 
+589b 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+589c f93ffe00 qset0 pdata 
+589d 6000c4ff store 1 ,mem_le_tx_buff_used 
+589e df200000 arg 0 ,loopcnt 
+
+le_fifo_release_first_node_loop:
+589f 1f23fe00 lshift loopcnt ,pdata 
+58a0 d8404502 arg mem_le_tx_ptr1 ,temp 
+58a1 98408400 iadd temp ,temp 
+58a2 e8410000 ifetch 2 ,temp 
+58a3 184085fe increase -2 ,temp 
+58a4 e0410000 istore 2 ,temp 
+58a5 1f227e00 copy loopcnt ,pdata 
+58a6 1f20f201 increase 1 ,loopcnt 
+58a7 c081d89f bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+58a8 58000000 setarg 0 
+58a9 e0410000 istore 2 ,temp 
+58aa 20600000 rtn 
+
+le_parse_att:
+58ab e8c18000 ifetch 3 ,contr 
+58ac 60018477 store 3 ,mem_le_att_opcode 
+58ad c00158c1 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+58ae c001d8c9 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+58af c00258cc beq attop_find_information_request ,le_parse_att_find_information_request 
+58b0 c00358f2 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+58b1 c004593f beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+58b2 c00559bc beq attop_read_request ,le_parse_att_read_request 
+58b3 c00659e4 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+58b4 c00859fa beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+58b5 c0095a2f beq attop_write_request ,le_parse_att_write_request 
+58b6 c00b5a48 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+58b7 c00c5a5b beq attop_execute_write_request ,le_parse_att_execute_write_request 
+58b8 c0295a60 beq attop_write_command ,le_parse_att_write_command 
+58b9 20600000 rtn 
+
+le_send_att_exchange_mtu_requset:
+58ba 18002203 force 3 ,rega 
+58bb 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58bc 58000002 setarg attop_exchange_mtu_request 
+58bd e0a08000 istore 1 ,contw 
+58be 680144a6 fetch 2 ,mem_le_local_mtu 
+58bf e0a10000 istore 2 ,contw 
+58c0 20600000 rtn 
+
+le_parse_att_exchange_mtu_request:
+58c1 204058c9 call le_parse_att_exchange_mtu_response 
+
+le_send_att_exchange_mtu_response:
+58c2 18002203 force 3 ,rega 
+58c3 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58c4 58000003 setarg attop_exchange_mtu_response 
+58c5 e0a08000 istore 1 ,contw 
+58c6 680144a6 fetch 2 ,mem_le_local_mtu 
+58c7 e0a10000 istore 2 ,contw 
+58c8 20600000 rtn 
+
+le_parse_att_exchange_mtu_response:
+58c9 1fecfe00 rshift8 pdata ,pdata 
+58ca 600144a8 store 2 ,mem_le_remote_mtu 
+58cb 20600000 rtn 
+
+le_parse_att_find_information_request:
+58cc 20405ab1 call le_get_search_handle_start_end_common 
+58cd 20407fe7 call enable_user 
+58ce 202058cf branch le_send_att_find_information_response 
+
+le_send_att_find_information_response:
+58cf d9600003 arg 3 ,timeup 
+58d0 20405756 call le_init_attlist_search 
+
+le_send_att_find_information_res_loop:
+58d1 2040575f call le_att_handle_inrange 
+58d2 203a58f0 branch le_send_att_find_information_res_end ,blank 
+58d3 242158ed nbranch le_send_att_find_information_res_next ,positive 
+58d4 18c08dfe increase -2 ,contr 
+58d5 20407ea5 call store_contr 
+58d6 20407e9c call get_contw 
+58d7 243458e1 nbranch le_send_att_find_information_res_store_info ,user 
+58d8 20407e85 call push_stack_rega_b_c 
+58d9 20407fe9 call disable_user 
+58da 18002214 force 20 ,rega 
+58db 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58dc 20407e95 call pop_stack_rega_b_c 
+58dd 58000005 setarg attop_find_information_response 
+58de e0a08000 istore 1 ,contw 
+58df 58000001 setarg uuid_size_16bit 
+58e0 e0a08000 istore 1 ,contw 
+
+le_send_att_find_information_res_store_info:
+58e1 20407e9f call get_contr 
+58e2 e8c10000 ifetch 2 ,contr 
+58e3 e0a10000 istore 2 ,contw 
+58e4 e8c08000 ifetch 1 ,contr 
+58e5 1fe27200 copy pdata ,loopcnt 
+58e6 20407f01 call memcpy 
+58e7 20407ea2 call store_contw 
+58e8 196097ff increase -1 ,timeup 
+58e9 2022d8f0 branch le_send_att_find_information_res_end ,zero 
+
+le_send_att_find_information_res_cont:
+58ea e8c08000 ifetch 1 ,contr 
+58eb 98c08c00 iadd contr ,contr 
+58ec 202058d1 branch le_send_att_find_information_res_loop 
+
+le_send_att_find_information_res_next:
+58ed e8c08000 ifetch 1 ,contr 
+58ee 98c08c00 iadd contr ,contr 
+58ef 202058ea branch le_send_att_find_information_res_cont 
+
+le_send_att_find_information_res_end:
+58f0 20345a76 branch le_send_att_error_response_notfound ,user 
+58f1 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_find_by_type_value_request:
+58f2 20405ab1 call le_get_search_handle_start_end_common 
+58f3 e8c10000 ifetch 2 ,contr 
+58f4 60014472 store 2 ,mem_le_search_uuid 
+58f5 20407ea5 call store_contr 
+58f6 d8a0445e arg mem_le_search_att_type_length ,contw 
+58f7 680144fc fetch 2 ,mem_le_l2cap_size 
+58f8 1fe0fff9 increase -7 ,pdata 
+58f9 204056db call le_get_search_common2 
+58fa 20205905 branch le_send_att_find_by_type_value_response 
+
+le_start_end_handle_check_1:
+58fb 78547c00 disable user 
+58fc 6809445a fetcht 2 ,mem_le_search_handle_start 
+58fd 6801445c fetch 2 ,mem_le_search_handle_end 
+58fe 98467c00 isub temp ,null 
+58ff 24215902 nbranch le_start_end_handle_check_1_fail ,positive 
+5900 18427e00 deposit temp 
+5901 c1800000 rtnne 0 
+
+le_start_end_handle_check_1_fail:
+5902 78347c00 enable user 
+5903 70047a01 jam att_err_invalid_handle ,mem_le_err_code 
+5904 20205a77 branch le_send_att_error_response 
+
+le_send_att_find_by_type_value_response:
+5905 204058fb call le_start_end_handle_check_1 
+5906 20740000 rtn user 
+5907 68094472 fetcht 2 ,mem_le_search_uuid 
+5908 58002800 setarg uuid_gatt_primary_service 
+5909 98467c00 isub temp ,null 
+590a 2022d90c branch le_send_att_find_by_type_value_res_primary ,zero 
+590b 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_by_type_value_res_primary:
+590c 7004b400 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+590d 6809445a fetcht 2 ,mem_le_search_handle_start 
+590e 60090aa2 storet 2 ,mem_temp 
+590f 2040578c call le_att_get_handle_info 
+5910 243a5a76 nbranch le_send_att_error_response_notfound ,blank 
+
+le_send_att_find_primary_search_loop:
+5911 68090aa2 fetcht 2 ,mem_temp 
+5912 2040578c call le_att_get_handle_info 
+5913 243a5925 nbranch le_send_att_error_response_notfound2 ,blank 
+5914 18c22200 copy contr ,rega 
+5915 680084b3 fetch 1 ,mem_le_curr_att_len 
+5916 1fe27200 copy pdata ,loopcnt 
+5917 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5918 98467c00 isub temp ,null 
+5919 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+591a da40445f arg mem_le_search_att_type ,regb 
+591b 20407f88 call string_compare 
+591c 2022d928 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+591d 680104a3 fetch 2 ,mem_le_cur_uuid 
+591e 68094472 fetcht 2 ,mem_le_search_uuid 
+591f 98467c00 isub temp ,null 
+5920 2022d930 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+
+le_send_att_find_primary_search_loop1:
+5921 68010aa2 fetch 2 ,mem_temp 
+5922 1fe0fe01 increase 1 ,pdata 
+5923 60010aa2 store 2 ,mem_temp 
+5924 20205911 branch le_send_att_find_primary_search_loop 
+
+le_send_att_error_response_notfound2:
+5925 680084b4 fetch 1 ,mem_le_search_res 
+5926 c000d930 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+5927 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_primary_search_end_start_handle_found:
+5928 680104a3 fetch 2 ,mem_le_cur_uuid 
+5929 68094472 fetcht 2 ,mem_le_search_uuid 
+592a 98467c00 isub temp ,null 
+592b 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+592c 7004b401 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+592d 68090aa2 fetcht 2 ,mem_temp 
+592e 6009049e storet 2 ,mem_le_cur_handle_start 
+592f 20205921 branch le_send_att_find_primary_search_loop1 
+
+le_send_att_find_primary_search_end_ending_handle_found:
+5930 680084b4 fetch 1 ,mem_le_search_res 
+5931 c0005921 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+5932 7004b402 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+5933 68090aa2 fetcht 2 ,mem_temp 
+5934 184085ff increase -1 ,temp 
+5935 600904a0 storet 2 ,mem_le_cur_handle_end 
+
+le_send_att_find_primary_search_end:
+5936 da200005 arg 5 ,rega 
+5937 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5938 58000007 setarg attop_find_by_type_value_response 
+5939 e0a08000 istore 1 ,contw 
+593a 6801049e fetch 2 ,mem_le_cur_handle_start 
+593b e0a10000 istore 2 ,contw 
+593c 680104a0 fetch 2 ,mem_le_cur_handle_end 
+593d e0a10000 istore 2 ,contw 
+593e 20600000 rtn 
+
+le_parse_att_read_by_type_request:
+593f 20405ab1 call le_get_search_handle_start_end_common 
+5940 204056df call le_get_search_att_uuid 
+5941 20205942 branch le_send_att_read_by_type_response 
+
+le_send_att_read_by_type_response:
+5942 6809445a fetcht 2 ,mem_le_search_handle_start 
+5943 60090aa2 storet 2 ,mem_temp 
+5944 20405756 call le_init_attlist_search 
+5945 2040576d call le_att_get_handle_ptr2 
+5946 18c08dfe increase -2 ,contr 
+5947 18c27e00 copy contr ,pdata 
+5948 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+5949 68094472 fetcht 2 ,mem_le_search_uuid 
+594a 58002a00 setarg uuid_chrctr_device_name 
+594b 98467c00 isub temp ,null 
+594c 2022d9a8 branch le_send_att_read_by_type_res_device_name ,zero 
+594d 58002803 setarg uuid_gatt_characteristic 
+594e 98467c00 isub temp ,null 
+594f 2422d990 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+5950 d9600002 arg 2 ,timeup 
+
+le_send_att_read_by_type_response_loop:
+5951 20405a88 call le_att_check_handle_end 
+5952 2421596d nbranch le_send_att_read_by_type_response_end ,positive 
+5953 68090aa2 fetcht 2 ,mem_temp 
+5954 2040578a call le_att_get_handle_info_from_ptr 
+5955 c000d96d beq 1 ,le_send_att_read_by_type_response_end 
+5956 20405a94 call le_att_same_uuid 
+5957 2422d96b nbranch le_send_att_read_by_type_response_next_handle ,zero 
+5958 2434596f nbranch le_send_att_read_by_type_res_found_next ,user 
+5959 78547c00 disable user 
+595a da200014 arg 20 ,rega 
+595b 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+595c 58000009 setarg attop_read_by_type_response 
+595d e0a08000 istore 1 ,contw 
+595e 18a26000 copy contw ,alarm 
+595f 18a08a01 increase 1 ,contw 
+5960 2040597d call le_send_att_read_by_type_write_properties 
+5961 20405a84 call le_att_next_handle 
+5962 2040578a call le_att_get_handle_info_from_ptr 
+5963 20405984 call le_send_att_read_by_type_write_uuid 
+5964 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5965 1fe0fe05 increase 5 ,pdata 
+5966 e6008000 istore 1 ,alarm 
+5967 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5968 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5969 196097ff increase -1 ,timeup 
+596a 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+
+le_send_att_read_by_type_response_next_handle:
+596b 20405a84 call le_att_next_handle 
+596c 20205951 branch le_send_att_read_by_type_response_loop 
+
+le_send_att_read_by_type_response_end:
+596d 20345a76 branch le_send_att_error_response_notfound ,user 
+596e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_found_next:
+596f 20405a97 call le_store_att_record 
+5970 20405a84 call le_att_next_handle 
+5971 2040578a call le_att_get_handle_info_from_ptr 
+5972 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5973 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5974 20407e9c call get_contw 
+5975 68010aa2 fetch 2 ,mem_temp 
+5976 1fe0ffff increase -1 ,pdata 
+5977 e0a10000 istore 2 ,contw 
+5978 20405aa1 call le_write_att_record_common 
+5979 20405984 call le_send_att_read_by_type_write_uuid 
+597a 196097ff increase -1 ,timeup 
+597b 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+597c 2020596b branch le_send_att_read_by_type_response_next_handle 
+
+le_send_att_read_by_type_write_properties:
+597d 68010aa2 fetch 2 ,mem_temp 
+597e e0a10000 istore 2 ,contw 
+597f 680084b3 fetch 1 ,mem_le_curr_att_len 
+5980 1fe27200 copy pdata ,loopcnt 
+5981 20407e9f call get_contr 
+5982 20407ef4 call memcpy_fast 
+5983 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_write_uuid:
+5984 20407e9c call get_contw 
+5985 68010aa2 fetch 2 ,mem_temp 
+5986 e0a10000 istore 2 ,contw 
+5987 20407ea2 call store_contw 
+5988 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5989 1fe27200 copy pdata ,loopcnt 
+598a 20407e9c call get_contw 
+598b 20407e9f call get_contr 
+598c 9f260c00 isub loopcnt ,contr 
+598d 18c08dff increase -1 ,contr 
+598e 20407ef4 call memcpy_fast 
+598f 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_res_not_characteristic:
+5990 6809445a fetcht 2 ,mem_le_search_handle_start 
+5991 60090aa2 storet 2 ,mem_temp 
+
+le_send_att_read_by_type_res_not_char_loop:
+5992 20405a88 call le_att_check_handle_end 
+5993 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+5994 2040578a call le_att_get_handle_info_from_ptr 
+5995 c000da76 beq 1 ,le_send_att_error_response_notfound 
+5996 20405a94 call le_att_same_uuid 
+5997 2422d9a6 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+
+le_send_att_read_by_type_res_not_char_common:
+5998 da200014 arg 20 ,rega 
+5999 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+599a 58000009 setarg attop_read_by_type_response 
+599b e0a08000 istore 1 ,contw 
+599c 680084b3 fetch 1 ,mem_le_curr_att_len 
+599d 1fe27200 copy pdata ,loopcnt 
+599e 1fe0fe02 increase 2 ,pdata 
+599f e0a08000 istore 1 ,contw 
+59a0 68010aa2 fetch 2 ,mem_temp 
+59a1 e0a10000 istore 2 ,contw 
+59a2 20407e9f call get_contr 
+59a3 20407ef4 call memcpy_fast 
+59a4 20407ea2 call store_contw 
+59a5 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_not_char_next:
+59a6 20405a84 call le_att_next_handle 
+59a7 20205992 branch le_send_att_read_by_type_res_not_char_loop 
+
+le_send_att_read_by_type_res_device_name:
+59a8 d8402a00 arg uuid_chrctr_device_name ,temp 
+59a9 2040577c call le_att_get_short_uuid_ptr 
+59aa 207a0000 rtn blank 
+59ab 18c08dfb increase -5 ,contr 
+59ac e8c10000 ifetch 2 ,contr 
+59ad 60010aa2 store 2 ,mem_temp 
+59ae da200014 arg 20 ,rega 
+59af 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59b0 58000009 setarg attop_read_by_type_response 
+59b1 e0a08000 istore 1 ,contw 
+59b2 6800c3af fetch 1 ,mem_le_name_len 
+59b3 1fe27200 copy pdata ,loopcnt 
+59b4 1fe0fe02 increase 2 ,pdata 
+59b5 e0a08000 istore 1 ,contw 
+59b6 68010aa2 fetch 2 ,mem_temp 
+59b7 e0a10000 istore 2 ,contw 
+59b8 d8c043b0 arg mem_le_name ,contr 
+59b9 20407ef4 call memcpy_fast 
+59ba 20407ea2 call store_contw 
+59bb 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_request:
+59bc 68090478 fetcht 2 ,mem_le_att_handle 
+59bd 6800c4e9 fetch 1 ,mem_le_configuration 
+59be c281d9dd bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+
+le_send_att_read_response:
+59bf 2040576a call le_att_get_handle_ptr 
+59c0 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59c1 18c08dfe increase -2 ,contr 
+59c2 e8c10000 ifetch 2 ,contr 
+59c3 d8402a00 arg uuid_chrctr_device_name ,temp 
+59c4 98467c00 isub temp ,null 
+59c5 2022d9d3 branch le_send_device_name ,zero 
+59c6 e8c08000 ifetch 1 ,contr 
+59c7 1fe67c16 sub pdata ,22 ,null 
+59c8 202159ca branch le_send_att_read_response_less ,positive 
+59c9 18007e16 force 22 ,pdata 
+
+le_send_att_read_response_less:
+59ca 1fe22600 copy pdata ,regc 
+59cb 20407ea5 call store_contr 
+59cc 1a60a201 add regc ,1 ,rega 
+59cd 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59ce 5800000b setarg attop_read_response 
+59cf e0a08000 istore 1 ,contw 
+59d0 1a627200 copy regc ,loopcnt 
+59d1 20407e9f call get_contr 
+59d2 20207f01 branch memcpy 
+
+le_send_device_name:
+59d3 20407ea5 call store_contr 
+59d4 6800c3af fetch 1 ,mem_le_name_len 
+59d5 1fe0a201 add pdata ,1 ,rega 
+59d6 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59d7 5800000b setarg attop_read_response 
+59d8 e0a08000 istore 1 ,contw 
+59d9 6800c3af fetch 1 ,mem_le_name_len 
+59da 1fe27200 copy pdata ,loopcnt 
+59db d8c043b0 arg mem_le_name ,contr 
+59dc 20207f01 branch memcpy 
+
+le_send_att_read_response_check_auth:
+59dd 680144fa fetch 2 ,mem_le_pairing_handle 
+59de 98467c00 isub temp ,null 
+59df 2422d9bf nbranch le_send_att_read_response ,zero 
+59e0 20405a42 call le_check_encrypt_state 
+59e1 243459bf nbranch le_send_att_read_response ,user 
+59e2 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+59e3 20205a77 branch le_send_att_error_response 
+
+le_parse_att_read_blob_request:
+59e4 e8c10000 ifetch 2 ,contr 
+59e5 6001445e store 2 ,mem_le_att_offset 
+
+le_send_att_read_blob_response:
+59e6 da200014 arg 20 ,rega 
+59e7 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59e8 5800000d setarg attop_read_blob_response 
+59e9 e0a08000 istore 1 ,contw 
+59ea 6801445e fetch 2 ,mem_le_att_offset 
+59eb 98002200 iforce rega 
+59ec 68090478 fetcht 2 ,mem_le_att_handle 
+59ed 2040576a call le_att_get_handle_ptr 
+59ee 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59ef e8c08000 ifetch 1 ,contr 
+59f0 9a267200 isub rega ,loopcnt 
+59f1 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+59f2 1f267c16 sub loopcnt ,22 ,null 
+59f3 202159f5 branch le_send_att_read_blob_response_less ,positive 
+59f4 18007216 force 22 ,loopcnt 
+
+le_send_att_read_blob_response_less:
+59f5 1a227e00 deposit rega 
+59f6 98c08c00 iadd contr ,contr 
+59f7 20407ef4 call memcpy_fast 
+59f8 20407ea2 call store_contw 
+59f9 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_by_group_type_request:
+59fa 20405ab1 call le_get_search_handle_start_end_common 
+59fb 204056d7 call le_get_search_att_type 
+59fc 202059fd branch le_send_att_read_by_group_type_response 
+
+le_send_att_read_by_group_type_response:
+59fd d9600002 arg 2 ,timeup 
+59fe 6809445a fetcht 2 ,mem_le_search_handle_start 
+59ff 60090aa2 storet 2 ,mem_temp 
+5a00 20405756 call le_init_attlist_search 
+5a01 2040576d call le_att_get_handle_ptr2 
+5a02 18c08dfe increase -2 ,contr 
+5a03 18c27e00 copy contr ,pdata 
+5a04 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+
+le_send_att_read_by_group_type_response_loop:
+5a05 20405a88 call le_att_check_handle_end 
+5a06 24215a25 nbranch le_send_att_read_by_group_type_end0 ,positive 
+5a07 68090aa2 fetcht 2 ,mem_temp 
+5a08 2040578a call le_att_get_handle_info_from_ptr 
+5a09 c000da28 beq 1 ,le_send_att_read_by_group_type_end1 
+5a0a 20405a8c call le_att_same_type 
+5a0b 2422da23 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+5a0c 19627e00 copy timeup ,pdata 
+5a0d c0005a28 beq 0 ,le_send_att_read_by_group_type_end1 
+5a0e 24345a19 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+5a0f 78547c00 disable user 
+5a10 da200014 arg 20 ,rega 
+5a11 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a12 58000011 setarg attop_read_by_group_type_response 
+5a13 e0a08000 istore 1 ,contw 
+5a14 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a15 1fe0fe04 increase 4 ,pdata 
+5a16 e0a08000 istore 1 ,contw 
+5a17 20407ea2 call store_contw 
+5a18 20205a1f branch le_send_att_read_by_group_type_store_record 
+
+le_send_att_read_by_group_type_store_write_record:
+5a19 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a1a c0085a28 beq 16 ,le_send_att_read_by_group_type_end1 
+5a1b 68010aa2 fetch 2 ,mem_temp 
+5a1c 1fe0ffff increase -1 ,pdata 
+5a1d 600104a0 store 2 ,mem_le_cur_handle_end 
+5a1e 20405a9c call le_write_att_record 
+
+le_send_att_read_by_group_type_store_record:
+5a1f 68010aa2 fetch 2 ,mem_temp 
+5a20 6001049e store 2 ,mem_le_cur_handle_start 
+5a21 20405a97 call le_store_att_record 
+5a22 196097ff increase -1 ,timeup 
+
+le_send_att_read_by_group_type_next_handle:
+5a23 20405a84 call le_att_next_handle 
+5a24 20205a05 branch le_send_att_read_by_group_type_response_loop 
+
+le_send_att_read_by_group_type_end0:
+5a25 68010aa2 fetch 2 ,mem_temp 
+5a26 600104a0 store 2 ,mem_le_cur_handle_end 
+5a27 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end1:
+5a28 68010aa2 fetch 2 ,mem_temp 
+5a29 1fe0ffff increase -1 ,pdata 
+5a2a 600104a0 store 2 ,mem_le_cur_handle_end 
+5a2b 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end_common:
+5a2c 20345a76 branch le_send_att_error_response_notfound ,user 
+5a2d 20405a9c call le_write_att_record 
+5a2e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_write_request:
+5a2f 18c22200 copy contr ,rega 
+5a30 680144fc fetch 2 ,mem_le_l2cap_size 
+5a31 1fe0a5fd add pdata ,-3 ,regb 
+5a32 204056e2 call le_writeatt_cb 
+
+le_send_att_write_response_check_auth:
+5a33 6800c4e9 fetch 1 ,mem_le_configuration 
+5a34 c3025a3d bbit0 bit_ble_write_auth ,le_send_att_write_response 
+5a35 68090478 fetcht 2 ,mem_le_att_handle 
+5a36 680144fa fetch 2 ,mem_le_pairing_handle 
+5a37 98467c00 isub temp ,null 
+5a38 2422da3d nbranch le_send_att_write_response ,zero 
+5a39 20405a42 call le_check_encrypt_state 
+5a3a 24345a3d nbranch le_send_att_write_response ,user 
+5a3b 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+5a3c 20205a77 branch le_send_att_error_response 
+
+le_send_att_write_response:
+5a3d 18002201 force 1 ,rega 
+5a3e 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a3f 58000013 setarg attop_write_response 
+5a40 e0a08000 istore 1 ,contw 
+5a41 20600000 rtn 
+
+le_check_encrypt_state:
+5a42 20407fe9 call disable_user 
+5a43 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5a44 c1000000 rtneq le_pairing_mode_none 
+5a45 6800c040 fetch 1 ,mem_context 
+5a46 c3820000 rtnbit1 lestate_encryption 
+5a47 20207fe7 branch enable_user 
+
+le_parse_att_prepare_write_request:
+5a48 18c0a202 add contr ,2 ,rega 
+5a49 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4a 1fe0a5fb add pdata ,-5 ,regb 
+5a4b 204056e2 call le_writeatt_cb 
+5a4c 20205a4d branch le_send_att_prepare_write_response 
+
+le_send_att_prepare_write_response:
+5a4d 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4e 1fe22200 copy pdata ,rega 
+5a4f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a50 58000017 setarg attop_prepare_write_response 
+5a51 e0a08000 istore 1 ,contw 
+5a52 68010478 fetch 2 ,mem_le_att_handle 
+5a53 e0a10000 istore 2 ,contw 
+5a54 680144fc fetch 2 ,mem_le_l2cap_size 
+5a55 1fe0f3fb add pdata ,-5 ,loopcnt 
+5a56 6801450d fetch 2 ,mem_le_payload_ptr 
+5a57 1fe08c07 add pdata ,7 ,contr 
+5a58 e8c10000 ifetch 2 ,contr 
+5a59 e0a10000 istore 2 ,contw 
+5a5a 20207ef4 branch memcpy_fast 
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+5a5b 18002201 force 1 ,rega 
+5a5c 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a5d 58000019 setarg attop_execute_write_response 
+5a5e e0a08000 istore 1 ,contw 
+5a5f 20600000 rtn 
+
+le_parse_att_write_command:
+5a60 18c22200 copy contr ,rega 
+5a61 680144fc fetch 2 ,mem_le_l2cap_size 
+5a62 1fe0a5fd add pdata ,-3 ,regb 
+5a63 202056e2 branch le_writeatt_cb 
+
+le_att_malloc_tx_notify:
+5a64 18422600 copy temp ,regc 
+5a65 1a20a203 increase 3 ,rega 
+5a66 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a67 1a20a3fd increase -3 ,rega 
+5a68 5800001b setarg attop_handle_value_notification 
+5a69 e0a08000 istore 1 ,contw 
+5a6a 1a620400 copy regc ,temp 
+5a6b e0a90000 istoret 2 ,contw 
+5a6c 20600000 rtn 
+
+le_att_malloc_tx_indication:
+5a6d 18422600 copy temp ,regc 
+5a6e 1a20a203 increase 3 ,rega 
+5a6f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a70 1a20a3fd increase -3 ,rega 
+5a71 5800001d setarg attop_handle_value_indication 
+5a72 e0a08000 istore 1 ,contw 
+5a73 1a620400 copy regc ,temp 
+5a74 e0a90000 istoret 2 ,contw 
+5a75 20600000 rtn 
+
+le_send_att_error_response_notfound:
+5a76 70047a0a jam att_err_attribute_not_found ,mem_le_err_code 
+
+le_send_att_error_response:
+5a77 18002205 force 5 ,rega 
+5a78 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a79 58000001 setarg attop_error_response 
+5a7a e0a08000 istore 1 ,contw 
+5a7b 68008477 fetch 1 ,mem_le_att_opcode 
+5a7c e0a08000 istore 1 ,contw 
+5a7d 68010478 fetch 2 ,mem_le_att_handle 
+5a7e e0a10000 istore 2 ,contw 
+5a7f 6800847a fetch 1 ,mem_le_err_code 
+5a80 e0a08000 istore 1 ,contw 
+5a81 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_gatt:
+5a82 18002404 force le_l2cap_cid_att ,regb 
+5a83 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_att_next_handle:
+5a84 68090aa2 fetcht 2 ,mem_temp 
+5a85 18408401 increase 1 ,temp 
+5a86 60090aa2 storet 2 ,mem_temp 
+5a87 20600000 rtn 
+
+le_att_check_handle_end:
+5a88 68090aa2 fetcht 2 ,mem_temp 
+5a89 6801445c fetch 2 ,mem_le_search_handle_end 
+5a8a 98467c00 isub temp ,null 
+5a8b 20600000 rtn 
+
+le_att_same_type:
+5a8c 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5a8d da20445f arg mem_le_search_att_type ,rega 
+
+le_att_check_same_common:
+5a8e 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5a8f 1fe27200 copy pdata ,loopcnt 
+5a90 98467c00 isub temp ,null 
+5a91 24628000 nrtn zero 
+5a92 da4004a3 arg mem_le_cur_uuid ,regb 
+5a93 20207f88 branch string_compare 
+
+le_att_same_uuid:
+5a94 6808c471 fetcht 1 ,mem_le_search_uuid_length 
+5a95 da204472 arg mem_le_search_uuid ,rega 
+5a96 20205a8e branch le_att_check_same_common 
+
+le_store_att_record:
+5a97 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a98 60008101 store 1 ,mem_tmp_buffer 
+5a99 1fe27200 copy pdata ,loopcnt 
+5a9a 20407e9f call get_contr 
+5a9b 20207ef4 branch memcpy_fast 
+
+le_write_att_record:
+5a9c 20407e9c call get_contw 
+5a9d 6801049e fetch 2 ,mem_le_cur_handle_start 
+5a9e e0a10000 istore 2 ,contw 
+5a9f 680104a0 fetch 2 ,mem_le_cur_handle_end 
+5aa0 e0a10000 istore 2 ,contw 
+
+le_write_att_record_common:
+5aa1 68008101 fetch 1 ,mem_tmp_buffer 
+5aa2 1fe27200 copy pdata ,loopcnt 
+5aa3 20407ef4 call memcpy_fast 
+5aa4 20207ea2 branch store_contw 
+
+le_send_auto_len_by_mem:
+5aa5 20407e9c call get_contw 
+5aa6 2040588a call le_fifo_get_last_att_ptr 
+5aa7 18a27e00 copy contw ,pdata 
+5aa8 98c62200 isub contr ,rega 
+5aa9 2040588d call le_fifo_get_last_l2cap_ptr 
+5aaa 1a227e00 copy rega ,pdata 
+5aab e0c10000 istore 2 ,contr 
+5aac 1a20a204 increase 4 ,rega 
+5aad 20405879 call le_fifo_get_last_tx_ptr 
+5aae 1a227e00 copy rega ,pdata 
+5aaf e0c08000 istore 1 ,contr 
+5ab0 20600000 rtn 
+
+le_get_search_handle_start_end_common:
+5ab1 1fecfe00 rshift8 pdata ,pdata 
+5ab2 6001445a store 2 ,mem_le_search_handle_start 
+5ab3 e8c10000 ifetch 2 ,contr 
+5ab4 6001445c store 2 ,mem_le_search_handle_end 
+5ab5 20600000 rtn 
+
+le_parse_signaling:
+5ab6 e8c08000 ifetch 1 ,contr 
+5ab7 e8c88000 ifetcht 1 ,contr 
+5ab8 e8c90000 ifetcht 2 ,contr 
+5ab9 c009dabb beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+5aba 20600000 rtn 
+
+le_l2cap_parse_conn_parameter_update_rsp:
+5abb e8c10000 ifetch 2 ,contr 
+5abc 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+5abd 700a9940 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+5abe 20207d86 branch ui_ipc_send_event 
+
+le_l2cap_tx_update_req:
+5abf da20000c arg 0x0c ,rega 
+5ac0 da600012 arg l2cap_connection_parameter_update_request ,regc 
+5ac1 20405ac7 call le_fifo_malloc_tx_l2cap_signaling 
+5ac2 58000008 setarg 0x08 
+5ac3 e0a10000 istore 2 ,contw 
+5ac4 68044496 fetch 8 ,mem_le_interval_min 
+5ac5 e0a40000 istore 8 ,contw 
+5ac6 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_signaling:
+5ac7 20405acf call le_l2cap_update_signaling_identifier 
+5ac8 da400005 arg le_l2cap_cid_signal ,regb 
+5ac9 20405847 call le_fifo_malloc_tx_l2cap 
+5aca 1a627e00 copy regc ,pdata 
+5acb e0a08000 istore 1 ,contw 
+5acc 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5acd e0a08000 istore 1 ,contw 
+5ace 20600000 rtn 
+
+le_l2cap_update_signaling_identifier:
+5acf 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5ad0 1fe0fe01 pincrease 1 
+5ad1 6000c508 store 1 ,mem_le_signaling_identifier 
+5ad2 c1800000 rtnne 0 
+
+le_l2cap_reset_signaling_identifier:
+5ad3 70450801 jam 1 ,mem_le_signaling_identifier 
+5ad4 20600000 rtn 
+
+le_pairing_mode_init:
+5ad5 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5ad6 c0005ae4 beq le_pairing_mode_none ,le_set_no_pairing 
+5ad7 c000dae7 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+5ad8 c0015ae9 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+5ad9 c040dadd beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+5ada c0415adf beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+5adb c041dae2 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+5adc 20600000 rtn 
+
+le_set_pairing_mode_secure_justwork:
+5add 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ade 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_secure_numeric:
+5adf 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae0 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+5ae1 20600000 rtn 
+
+le_set_pairing_mode_secure_passkey:
+5ae2 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae3 20205aea branch le_set_displayonly 
+
+le_set_no_pairing:
+5ae4 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+le_set_noinputnooutput:
+5ae5 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+5ae6 20600000 rtn 
+
+le_set_pairing_mode_lagacy_just_work:
+5ae7 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+5ae8 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_lagacy_passkey:
+5ae9 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+le_set_displayonly:
+5aea 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+5aeb 20600000 rtn 
+
+le_secure_connection_enable:
+5aec 6800c456 fetch 1 ,mem_le_pres_auth 
+5aed 79207e03 set1 le_auth_secure_connection_pairing_bit ,pdata 
+5aee 6000c456 store 1 ,mem_le_pres_auth 
+5aef 20600000 rtn 
+
+le_secure_connection_disable:
+5af0 6800c456 fetch 1 ,mem_le_pres_auth 
+5af1 793ffe03 set0 le_auth_secure_connection_pairing_bit ,pdata 
+5af2 6000c456 store 1 ,mem_le_pres_auth 
+5af3 20600000 rtn 
+
+le_parse_smp:
+5af4 e8c08000 ifetch 1 ,contr 
+5af5 c000db09 beq smp_pairing_request ,le_parse_smp_pairing_request 
+5af6 c001db30 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+5af7 c0025b4d beq smp_pairing_random ,le_parse_smp_pairing_random 
+5af8 c002db5a beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+5af9 c0035b80 beq smp_encryption_information ,le_parse_smp_encryption_information 
+5afa c003dbc4 beq smp_master_identification ,le_parse_smp_master_identification 
+5afb c0045baf beq smp_identity_information ,le_parse_smp_identity_information 
+5afc c004dbc0 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+5afd c0055bc4 beq smp_signing_information ,le_parse_smp_signing_information 
+5afe c005dbc4 beq smp_security_request ,le_parse_smp_security_request 
+5aff c0065bc5 beq smp_pairing_public_key ,le_parse_smp_public_key 
+5b00 c006dbca beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+5b01 20600000 rtn 
+
+le_send_smp_security_request:
+5b02 18002202 force 2 ,rega 
+5b03 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b04 5800000b setarg smp_security_request 
+5b05 e0a08000 istore 1 ,contw 
+5b06 6800c456 fetch 1 ,mem_le_pres_auth 
+5b07 e0a08000 istore 1 ,contw 
+5b08 20600000 rtn 
+
+le_parse_smp_pairing_request:
+5b09 6000c44c store 1 ,mem_le_preq 
+5b0a e8c30000 ifetch 6 ,contr 
+5b0b e0a30000 istore 6 ,contw 
+5b0c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b0d c0005b5f beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+5b0e 20405b2b call le_send_smp_pairing_response 
+5b0f 20405b26 call le_check_master_support_secure_connect 
+5b10 7044c403 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+5b11 6800c44d fetch 1 ,mem_le_preq_iocap 
+5b12 c0005b18 beq flag_iocap_displayonly ,le_set_tk_0 
+5b13 c000db18 beq flag_iocap_displayyesno ,le_set_tk_0 
+5b14 c001db18 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+5b15 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b16 c0015b1b beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+5b17 c1418000 rtneq le_pairing_mode_secure_connect_passkey 
+
+le_set_tk_0:
+5b18 dfe00000 arg 0 ,pdata 
+5b19 600244c7 store 4 ,mem_le_tk 
+5b1a 20600000 rtn 
+
+le_parse_smp_pairing_req_passkey:
+5b1b 6800c4e9 fetch 1 ,mem_le_configuration 
+5b1c c2805b24 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+
+le_genernate_tk:
+5b1d da2044c7 arg mem_le_tk ,rega 
+5b1e 1a220a00 copy rega ,contw 
+5b1f df200003 arg 3 ,loopcnt 
+5b20 2040630d call generate_random_loop 
+5b21 680144c9 fetch 2 ,mem_le_tk + 2 
+5b22 1fe17e07 and_into 0x7 ,pdata 
+5b23 600144c9 store 2 ,mem_le_tk + 2 
+
+le_parse_smp_pairing_req_fixed_passkey:
+5b24 700a9934 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+5b25 20207d86 branch ui_ipc_send_event 
+
+le_check_master_support_secure_connect:
+5b26 6800c44f fetch 1 ,mem_le_preq_auth 
+5b27 c3818000 rtnbit1 le_auth_secure_connection_pairing_bit 
+5b28 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b29 c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5b2a 20203402 branch app_ble_disconnect 
+
+le_send_smp_pairing_response:
+5b2b 18002207 force 7 ,rega 
+5b2c 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b2d 6803c453 fetch 7 ,mem_le_pres 
+5b2e e0a38000 istore 7 ,contw 
+5b2f 20600000 rtn 
+
+le_parse_smp_pairing_confirm:
+5b30 18c22200 copy contr ,rega 
+5b31 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b32 c041db37 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+5b33 1a220c00 copy rega ,contr 
+5b34 d8a0442a arg mem_le_rconfirm ,contw 
+5b35 20407ebf call memcpy16 
+5b36 20205b3d branch le_send_smp_pairing_confirm 
+
+le_parse_smp_pairing_confirm_secure_passkey:
+5b37 1a220c00 copy rega ,contr 
+5b38 d8a0442a arg mem_le_rconfirm ,contw 
+5b39 20407ebf call memcpy16 
+5b3a 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5b3b 7044c108 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+5b3c 20600000 rtn 
+
+le_send_smp_pairing_confirm:
+5b3d 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b3e c283db45 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+5b3f 2040739c call generate_confirm 
+5b40 18002211 force 17 ,rega 
+5b41 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b42 58000003 setarg smp_pairing_confirm 
+5b43 e0a08000 istore 1 ,contw 
+5b44 20207497 branch store_aes_result 
+
+le_send_smp_pairing_confirm_sc:
+5b45 d8a0443a arg mem_le_srand ,contw 
+5b46 2040630c call generate_random 
+5b47 204071c5 call function_f4_cb 
+5b48 18002211 force 17 ,rega 
+5b49 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b4a 58000003 setarg smp_pairing_confirm 
+5b4b e0a08000 istore 1 ,contw 
+5b4c 20207201 branch load_inverse_result 
+
+le_parse_smp_pairing_random:
+5b4d 18c22200 copy contr ,rega 
+5b4e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b4f c283db61 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+5b50 1a220c00 copy rega ,contr 
+5b51 20407394 call authenticate_rconfirm 
+5b52 2022db75 branch le_parse_smp_pairing_random_success ,zero 
+
+le_send_pairing_confirm_value_failed:
+5b53 70047b04 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+
+le_send_pairing_failed:
+5b54 18002202 force 2 ,rega 
+5b55 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b56 58000005 setarg smp_pairing_failed 
+5b57 e0a08000 istore 1 ,contw 
+5b58 6800847b fetch 1 ,mem_le_ll_pairing_fail_reason 
+5b59 e0a08000 istore 1 ,contw 
+
+le_parse_smp_pairing_failed:
+5b5a 18000e0a force smp_pairing_timer ,queue 
+5b5b 20407f07 call timer_stop 
+5b5c 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5b5d 700a9930 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+5b5e 20207d86 branch ui_ipc_send_event 
+
+le_smp_pairing_fail_reason_not_support_pairing:
+5b5f 70047b05 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+5b60 20205b54 branch le_send_pairing_failed 
+
+le_parse_smp_pairing_random_sc:
+5b61 d8a0042f arg mem_le_mrand ,contw 
+5b62 1a220c00 copy rega ,contr 
+5b63 20407ebf call memcpy16 
+5b64 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b65 c041db6c beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+5b66 2040714f call function_g2 
+5b67 20405b7a call le_send_smp_pairing_random 
+5b68 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b69 c1c10000 rtnne le_pairing_mode_secure_connect_numeric 
+5b6a 700a993b jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+5b6b 20207d86 branch ui_ipc_send_event 
+
+le_parse_smp_pairing_random_sc_passkey:
+5b6c 204071ba call function_f4_ca 
+5b6d d8a00af2 arg mem_aes_cmac_temp ,contw 
+5b6e 20407201 call load_inverse_result 
+5b6f da200af2 arg mem_aes_cmac_temp ,rega 
+5b70 da40442a arg mem_le_rconfirm ,regb 
+5b71 df200010 arg 16 ,loopcnt 
+5b72 20407f88 call string_compare 
+5b73 2422db53 nbranch le_send_pairing_confirm_value_failed ,zero 
+5b74 20205b7a branch le_send_smp_pairing_random 
+
+le_parse_smp_pairing_random_success:
+5b75 20407390 call generate_stk 
+5b76 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5b77 20407d86 call ui_ipc_send_event 
+5b78 70442901 jam 1 ,mem_ltk_exists 
+5b79 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+
+le_send_smp_pairing_random:
+5b7a 18002211 force 17 ,rega 
+5b7b 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b7c 58000004 setarg smp_pairing_random 
+5b7d e0a08000 istore 1 ,contw 
+5b7e d8c0443a arg mem_le_srand ,contr 
+5b7f 20207ebf branch memcpy16 
+
+le_parse_smp_encryption_information:
+5b80 d8a0041f arg mem_le_peer_ltk ,contw 
+5b81 20207ebf branch memcpy16 
+
+le_send_smp_encryption_information:
+5b82 18002211 force 17 ,rega 
+5b83 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b84 58000006 setarg smp_encryption_information 
+5b85 e0a08000 istore 1 ,contw 
+5b86 6800c4e9 fetch 1 ,mem_le_configuration 
+5b87 c280db8a bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+5b88 d8c04419 arg mem_le_ltk ,contr 
+5b89 20207ebf branch memcpy16 
+
+le_send_fixed_ltk:
+5b8a d8c044ea arg mem_le_fixed_ltk ,contr 
+5b8b 20207ebf branch memcpy16 
+
+le_send_smp_master_identification:
+5b8c d8a044cb arg mem_le_ediv ,contw 
+5b8d 1800720a force 10 ,loopcnt 
+5b8e 2040630d call generate_random_loop 
+5b8f 1800220b force 11 ,rega 
+5b90 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b91 58000007 setarg smp_master_identification 
+5b92 e0a08000 istore 1 ,contw 
+5b93 680144cb fetch 2 ,mem_le_ediv 
+5b94 e0a10000 istore 2 ,contw 
+5b95 680444cd fetch 8 ,mem_le_rand 
+5b96 e0a40000 istore 8 ,contw 
+5b97 20600000 rtn 
+
+le_send_smp_identity_information:
+5b98 18002211 force 17 ,rega 
+5b99 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b9a 58000008 setarg smp_identity_information 
+5b9b e0a08000 istore 1 ,contw 
+5b9c 58000000 setarg 0 
+5b9d e0a40000 istore 8 ,contw 
+5b9e e0a40000 istore 8 ,contw 
+5b9f 20600000 rtn 
+
+le_send_smp_identity_address_information:
+5ba0 18002208 force 8 ,rega 
+5ba1 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5ba2 58000009 setarg smp_identity_address_information 
+5ba3 e0a08000 istore 1 ,contw 
+5ba4 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+5ba5 e0a08000 istore 1 ,contw 
+5ba6 680344a0 fetch 6 ,mem_le_lap 
+5ba7 e0a30000 istore 6 ,contw 
+5ba8 20600000 rtn 
+
+le_send_pairing_fail_unspecified_reason:
+5ba9 70047b08 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+5baa 20205b54 branch le_send_pairing_failed 
+
+le_check_init_key_distribution:
+5bab 6800c458 fetch 1 ,mem_le_pres_init_key_distribution 
+5bac 6808c458 fetcht 1 ,mem_le_pres_init_key_distribution 
+5bad 98417e00 iand temp ,pdata 
+5bae 20600000 rtn 
+
+le_parse_smp_identity_information:
+5baf d8a044d5 arg mem_le_irk ,contw 
+5bb0 20407ebf call memcpy16 
+5bb1 20405bab call le_check_init_key_distribution 
+5bb2 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bb3 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bb4 6800c092 fetch 1 ,mem_device_option 
+5bb5 c1850000 rtnne dvc_op_module 
+5bb6 20405bb9 call le_check_master_addr_type 
+5bb7 24740000 nrtn user 
+5bb8 20203410 branch app_ble_store_reconn_info 
+
+le_check_master_addr_type:
+5bb9 20407fe9 call disable_user 
+5bba 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+5bbb c1000000 rtneq master_public_addr 
+5bbc 68008454 fetch 1 ,mem_le_plap + 5 
+5bbd 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+5bbe 20608000 rtn true 
+5bbf 20207fe7 branch enable_user 
+
+le_parse_smp_identity_address_information:
+5bc0 20405bab call le_check_init_key_distribution 
+5bc1 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bc2 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bc3 20600000 rtn 
+
+le_parse_smp_master_identification:
+
+le_parse_smp_signing_information:
+
+le_parse_smp_security_request:
+5bc4 20600000 rtn 
+
+le_parse_smp_public_key:
+5bc5 d8a009be arg mem_le_pubkey_remote_x_256 ,contw 
+5bc6 20407eb3 call memcpy64 
+5bc7 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bc8 7044c101 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+5bc9 20600000 rtn 
+
+le_parse_smp_dhkey_check:
+5bca d8a00a6e arg mem_sp_confirm_remote ,contw 
+5bcb 20407ebf call memcpy16 
+5bcc 7044c106 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+5bcd 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bce 20600000 rtn 
+
+le_send_smp_pairing_public_key:
+5bcf 18002241 force 65 ,rega 
+5bd0 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd1 5800000c setarg smp_pairing_public_key 
+5bd2 e0a08000 istore 1 ,contw 
+5bd3 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+5bd4 20207eb3 branch memcpy64 
+
+le_send_smp_pairing_dhkey_check:
+5bd5 20407166 call function_f6_eb 
+5bd6 18002211 force 17 ,rega 
+5bd7 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd8 5800000d setarg smp_pairing_dhkey_check 
+5bd9 e0a08000 istore 1 ,contw 
+5bda 20207201 branch load_inverse_result 
+
+le_check_paring_time:
+5bdb 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5bdc c17f8000 rtneq flag_le_pairing_end 
+5bdd d8400003 arg flag_le_pairing_rcv_pairing_req ,temp 
+5bde 98467c00 isub temp ,null 
+5bdf 24610000 nrtn positive 
+5be0 d8e0000a arg smp_pairing_timer ,queue 
+5be1 20407f16 call timer_check 
+5be2 247a0000 nrtn blank 
+5be3 20205ba9 branch le_send_pairing_fail_unspecified_reason 
+
+le_pairing_sm:
+5be4 473c402f bpatchx patch2f_0 ,mem_patch2f 
+5be5 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5be6 c0005bef beq flag_le_pairing_null ,le_pairing_sm_null 
+5be7 c000dbf5 beq flag_le_pairing_start ,le_pairing_sm_start 
+5be8 c0015bef beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+5be9 c001dbf7 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+5bea c002dbfb beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+5beb c003dc07 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+5bec c0045c09 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+5bed c004dc10 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+5bee 20600000 rtn 
+
+le_pairing_sm_null:
+
+le_pairing_sm_send_sec_req:
+5bef 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bf0 c1820000 rtnne flag_le_send_start_enc_rsp 
+5bf1 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5bf2 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5bf3 700a993f jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+5bf4 20207d86 branch ui_ipc_send_event 
+
+le_pairing_sm_start:
+5bf5 7044c402 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+5bf6 20205b02 branch le_send_smp_security_request 
+
+le_pairing_sm_rcv_pairing_req:
+5bf7 7044c404 jam flag_le_pairing_auth ,mem_le_pairing_state 
+5bf8 58017700 setarg timer_smp_pairing_timeout 
+5bf9 d8e0000a arg smp_pairing_timer ,queue 
+5bfa 20207f08 branch timer_init 
+
+le_pairing_sm_after_auth:
+5bfb 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bfc c0025bfe beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+5bfd 20600000 rtn 
+
+le_pairing_sm_after_auth_start_enc:
+5bfe 7044c407 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+5bff 700a9929 jam bt_evt_le_enc_info ,mem_fifo_temp 
+5c00 20407d86 call ui_ipc_send_event 
+5c01 20405b82 call le_send_smp_encryption_information 
+5c02 6800c092 fetch 1 ,mem_device_option 
+5c03 c1850000 rtnne dvc_op_module 
+5c04 20405bb9 call le_check_master_addr_type 
+5c05 20740000 rtn user 
+5c06 20203410 branch app_ble_store_reconn_info 
+
+le_pairng_sm_send_enc_information:
+5c07 7044c408 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+5c08 20205b8c branch le_send_smp_master_identification 
+
+le_pairng_sm_send_master_indentification:
+5c09 6800c452 fetch 1 ,mem_le_preq_resp_key_distribution 
+5c0a 6808c459 fetcht 1 ,mem_le_pres_resp_key_distribution 
+5c0b 98417e00 iand temp ,pdata 
+5c0c 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5c0d 2020dc12 branch le_parse_start_enc_rsp_after_auth_end ,true 
+5c0e 7044c409 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+5c0f 20205b98 branch le_send_smp_identity_information 
+
+le_pairng_sm_send_indentity_information:
+5c10 20405ba0 call le_send_smp_identity_address_information 
+5c11 20205c12 branch le_parse_start_enc_rsp_after_auth_end 
+
+le_parse_start_enc_rsp_after_auth_end:
+5c12 18000e0a force smp_pairing_timer ,queue 
+5c13 20407f07 call timer_stop 
+5c14 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5c15 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5c16 700a993e jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+5c17 20207d86 branch ui_ipc_send_event 
+
+le_secure_connect_sm:
+5c18 473cc02f bpatchx patch2f_1 ,mem_patch2f 
+5c19 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c1a c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5c1b 6800c4bf fetch 1 ,mem_le_secure_connect_flag 
+5c1c c1810000 rtnne le_sp_flag_commit_256 
+5c1d 7044bf00 jam sp_flag_standby ,mem_le_secure_connect_flag 
+5c1e 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+5c1f c000dc58 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+5c20 c0015c5f beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+5c21 c001dc52 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+5c22 c0035c39 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+5c23 c003dc30 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+5c24 c0045c26 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+5c25 20600000 rtn 
+
+le_sc_sm_passkey_wait_confirm:
+5c26 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5c27 1fe20e00 copy pdata ,queue 
+5c28 1fe0fe01 increase 1 ,pdata 
+5c29 6000c663 store 1 ,mem_authentication_passkey_times 
+5c2a 680244c7 fetch 4 ,mem_le_tk 
+5c2b afefffff qisolate1 pdata 
+5c2c 58000080 setarg 0x80 
+5c2d 7920fe00 setflag true ,0 ,pdata 
+5c2e 6000c664 store 1 ,mem_passkey_1bit 
+5c2f 20205c55 branch le_sc_sm_ready_send_pairing_confirm 
+
+le_sc_sm_wait_confirm_gkey:
+5c30 6800c4c2 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+5c31 7044c200 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+5c32 c000dc35 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+5c33 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c34 20600000 rtn 
+
+le_sc_confirm_gkey_ok:
+5c35 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5c36 20407d86 call ui_ipc_send_event 
+5c37 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+5c38 20205bd5 branch le_send_smp_pairing_dhkey_check 
+
+le_sc_sm_receive_dhkey:
+5c39 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+5c3a c001dc3d beq sp_key_valid_256 ,le_dhkey_ready 
+5c3b 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c3c 20600000 rtn 
+
+le_dhkey_ready:
+5c3d 2040718d call function_f5 
+5c3e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c3f c041dc41 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+5c40 20405b18 call le_set_tk_0 
+
+le_dhkey_ready_common:
+5c41 2040717a call function_f6_ea 
+5c42 da200af2 arg mem_aes_cmac_temp ,rega 
+5c43 da400a6e arg mem_sp_confirm_remote ,regb 
+5c44 df200010 arg 16 ,loopcnt 
+5c45 20407f88 call string_compare 
+5c46 2022dc49 branch le_dhkey_check_ok ,zero 
+
+le_dhkey_check_fail:
+5c47 70047b0b jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+5c48 20205b54 branch le_send_pairing_failed 
+
+le_dhkey_check_ok:
+5c49 20407595 call sp_calc_check_publickey_256 
+5c4a 2422dc47 nbranch le_dhkey_check_fail ,zero 
+5c4b 70442901 jam 1 ,mem_ltk_exists 
+5c4c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c4d c040dc35 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+5c4e c041dc35 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+5c4f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c50 7044c107 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+5c51 20600000 rtn 
+
+le_sc_sm_send_public_key:
+5c52 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c53 c041dc56 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+5c54 70466400 jam 0 ,mem_passkey_1bit 
+
+le_sc_sm_ready_send_pairing_confirm:
+5c55 20205b3d branch le_send_smp_pairing_confirm 
+
+le_sc_sm_send_public_key_passkey:
+5c56 70466300 jam 0 ,mem_authentication_passkey_times 
+5c57 20205b1b branch le_parse_smp_pairing_req_passkey 
+
+le_sc_sm_receive_public_key:
+5c58 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c59 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+5c5a c001dc5c beq sp_key_valid_256 ,le_public_key_ready 
+5c5b 20600000 rtn 
+
+le_public_key_ready:
+5c5c 7044c102 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+5c5d 7009b900 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+5c5e 20207a99 branch sp_dhkey_calc_256 
+
+le_sc_sm_wait_send_public_key:
+5c5f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c60 7044c103 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+5c61 20205bcf branch le_send_smp_pairing_public_key 
+
+le_fifo_malloc_tx_l2cap_smp:
+5c62 18002406 force le_l2cap_cid_smp ,regb 
+5c63 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_parse_ll:
+5c64 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c65 c0005c7b beq ll_connection_update_req ,le_parse_connection_update_req 
+5c66 c000dc83 beq ll_channel_map_req ,le_parse_channel_map_req 
+5c67 c0015c8e beq ll_terminate_ind ,le_parse_terminate_ind 
+5c68 c001dcaa beq ll_enc_req ,le_parse_enc_req 
+5c69 c0025ce1 beq ll_enc_rsp ,le_parse_enc_rsp 
+5c6a c002dce6 beq ll_start_enc_req ,le_parse_start_enc_req 
+5c6b c0035cea beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+5c6c c003dcf5 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+5c6d c0045c99 beq ll_feature_req ,le_parse_feature_req 
+5c6e c004dcf5 beq ll_feature_rsp ,le_parse_feature_rsp 
+5c6f c0055cef beq ll_pause_enc_req ,le_parse_pause_enc_req 
+5c70 c005dcf5 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+5c71 c0065c9f beq ll_version_ind ,le_parse_version_ind 
+5c72 c006dcf5 beq ll_reject_ind ,le_parse_reject_ind 
+5c73 c0095ca6 beq ll_ping_req ,le_parse_ping_req 
+5c74 c009dcf5 beq ll_ping_rsp ,le_parse_ping_rsp 
+5c75 da200002 arg 2 ,rega 
+5c76 da400007 arg ll_unknown_rsp ,regb 
+5c77 20405842 call le_fifo_malloc_tx_ll 
+5c78 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c79 e0a08000 istore 1 ,contw 
+5c7a 20600000 rtn 
+
+le_parse_connection_update_req:
+5c7b e8c48000 ifetch 9 ,contr 
+5c7c 6004c3d3 store 9 ,mem_le_new_param 
+5c7d e8c10000 ifetch 2 ,contr 
+5c7e 6001045f store 2 ,mem_le_instant 
+5c7f 6800843f fetch 1 ,mem_le_state 
+5c80 79207e05 set1 lestate_update_param ,pdata 
+5c81 6000843f store 1 ,mem_le_state 
+5c82 20600000 rtn 
+
+le_parse_channel_map_req:
+5c83 e8c28000 ifetch 5 ,contr 
+5c84 6002c3ce store 5 ,mem_le_new_map 
+5c85 e8c10000 ifetch 2 ,contr 
+5c86 6001045f store 2 ,mem_le_instant 
+5c87 68090459 fetcht 2 ,mem_le_event_count 
+5c88 98467c00 isub temp ,null 
+5c89 24215c8e nbranch le_parse_terminate_ind ,positive 
+5c8a 6800843f fetch 1 ,mem_le_state 
+5c8b 79207e06 set1 lestate_update_map ,pdata 
+5c8c 6000843f store 1 ,mem_le_state 
+5c8d 20600000 rtn 
+
+le_parse_terminate_ind:
+5c8e 58000014 setarg 20 
+5c8f 6001046d store 2 ,mem_le_superto 
+5c90 600144ba store 2 ,mem_le_init_superto 
+5c91 20600000 rtn 
+
+le_send_terminate_ind_user_terminated:
+5c92 da600013 arg error_remote_user_terminated_connection ,regc 
+
+le_send_terminate_ind:
+5c93 da200002 arg 2 ,rega 
+5c94 da400002 arg ll_terminate_ind ,regb 
+5c95 20405842 call le_fifo_malloc_tx_ll 
+5c96 1a627e00 copy regc ,pdata 
+5c97 e0a08000 istore 1 ,contw 
+5c98 20600000 rtn 
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+5c99 da200009 arg 9 ,rega 
+5c9a da400009 arg ll_feature_rsp ,regb 
+5c9b 20405842 call le_fifo_malloc_tx_ll 
+5c9c 58000001 setarg param_le_features 
+5c9d e0a40000 istore 8 ,contw 
+5c9e 20600000 rtn 
+
+le_parse_version_ind:
+5c9f 20748000 rtn master 
+
+le_send_version_ind:
+5ca0 da200006 arg 6 ,rega 
+5ca1 da40000c arg ll_version_ind ,regb 
+5ca2 20405842 call le_fifo_malloc_tx_ll 
+5ca3 6802c510 fetch 5 ,mem_lmp_version 
+5ca4 e0a28000 istore 5 ,contw 
+5ca5 20600000 rtn 
+
+le_parse_ping_req:
+5ca6 da400013 arg ll_ping_rsp ,regb 
+5ca7 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_ll_one_lenth:
+5ca8 da200001 arg 1 ,rega 
+5ca9 20205842 branch le_fifo_malloc_tx_ll 
+
+le_parse_enc_req:
+5caa e8c40000 ifetch 8 ,contr 
+5cab 600444cd store 8 ,mem_le_rand 
+5cac e8c10000 ifetch 2 ,contr 
+5cad 600144cb store 2 ,mem_le_ediv 
+5cae e8c40000 ifetch 8 ,contr 
+5caf 600444aa store 8 ,mem_le_skdm 
+5cb0 e8c20000 ifetch 4 ,contr 
+5cb1 60024411 store 4 ,mem_le_ivm 
+5cb2 20405ccf call le_send_enc_rsp 
+5cb3 473d402f bpatchx patch2f_2 ,mem_patch2f 
+5cb4 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5cb5 c002dcbc beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+5cb6 6800c4e9 fetch 1 ,mem_le_configuration 
+5cb7 c280dcbf bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+5cb8 6800c217 fetch 1 ,mem_nv_data_number 
+5cb9 245a67be ncall load_device_list_mode_4 ,blank 
+5cba 6800c429 fetch 1 ,mem_ltk_exists 
+5cbb c0005cc4 beq 0 ,le_ltk_lost 
+
+le_parse_enc_req_after_auth:
+5cbc 7044c501 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+5cbd 20405cdd call le_send_start_enc_req 
+5cbe 202073a2 branch generate_sk 
+
+le_parse_enc_req_fixed_ltk:
+5cbf 70442901 jam 1 ,mem_ltk_exists 
+5cc0 d8c044ea arg mem_le_fixed_ltk ,contr 
+5cc1 d8a04419 arg mem_le_ltk ,contw 
+5cc2 20407ebf call memcpy16 
+5cc3 20205cbc branch le_parse_enc_req_after_auth 
+
+le_ltk_lost:
+5cc4 473dc02f bpatchx patch2f_3 ,mem_patch2f 
+5cc5 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5cc6 7044c400 jam flag_le_enc_null ,mem_le_pairing_state 
+5cc7 700a9941 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+5cc8 20207d86 branch ui_ipc_send_event 
+
+le_send_reject_ind:
+5cc9 da200002 arg 2 ,rega 
+5cca da40000d arg ll_reject_ind ,regb 
+5ccb 20405842 call le_fifo_malloc_tx_ll 
+5ccc 58000006 setarg le_err_pin_or_key_missing 
+5ccd e0a08000 istore 1 ,contw 
+5cce 20600000 rtn 
+
+le_send_enc_rsp:
+5ccf d8a044b2 arg mem_le_skds ,contw 
+5cd0 18007208 force 8 ,loopcnt 
+5cd1 2040630d call generate_random_loop 
+5cd2 d8a04415 arg mem_le_ivs ,contw 
+5cd3 18007204 force 4 ,loopcnt 
+5cd4 2040630d call generate_random_loop 
+5cd5 da20000d arg 13 ,rega 
+5cd6 da400004 arg ll_enc_rsp ,regb 
+5cd7 20405842 call le_fifo_malloc_tx_ll 
+5cd8 680444b2 fetch 8 ,mem_le_skds 
+5cd9 e0a40000 istore 8 ,contw 
+5cda 68024415 fetch 4 ,mem_le_ivs 
+5cdb e0a20000 istore 4 ,contw 
+5cdc 20600000 rtn 
+
+le_send_start_enc_req:
+5cdd da400005 arg ll_start_enc_req ,regb 
+5cde 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_start_enc_rsp:
+5cdf da400006 arg ll_start_enc_rsp ,regb 
+5ce0 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_enc_rsp:
+5ce1 e8c40000 ifetch 8 ,contr 
+5ce2 600444b2 store 8 ,mem_le_skds 
+5ce3 e8c20000 ifetch 4 ,contr 
+5ce4 60024415 store 4 ,mem_le_ivs 
+5ce5 202073a2 branch generate_sk 
+
+le_parse_start_enc_req:
+5ce6 6800843f fetch 1 ,mem_le_state 
+5ce7 79207e04 set1 lestate_encryption ,pdata 
+5ce8 6000843f store 1 ,mem_le_state 
+5ce9 20600000 rtn 
+
+le_parse_start_enc_rsp:
+5cea 20748000 rtn master 
+5ceb 700a9932 jam bt_evt_le_start_enc ,mem_fifo_temp 
+5cec 20407d86 call ui_ipc_send_event 
+5ced 7044c504 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+5cee 20205cdf branch le_send_start_enc_rsp 
+
+le_parse_pause_enc_req:
+5cef 7044c502 jam flag_le_enc_pause ,mem_le_enc_state 
+5cf0 20405cf3 call le_send_pause_enc_rsp 
+5cf1 700a9933 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+5cf2 20207d86 branch ui_ipc_send_event 
+
+le_send_pause_enc_rsp:
+5cf3 da40000b arg ll_pause_enc_rsp ,regb 
+5cf4 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_feature_rsp:
+
+le_parse_unknown_rsp:
+
+le_parse_pause_enc_rsp:
+
+le_parse_reject_ind:
+
+le_parse_ping_rsp:
+5cf5 20600000 rtn 
+
+init_lmp:
+5cf6 20758000 rtn wake 
+
+init_lmp_work:
+5cf7 473e402f bpatchx patch2f_4 ,mem_patch2f 
+5cf8 58000000 setarg 0 
+5cf9 60008048 store 1 ,mem_lmp_to_send 
+5cfa 60008055 store 1 ,mem_conn_sm 
+5cfb 60008078 store 1 ,mem_lmo_opcode1 
+5cfc 6000807c store 1 ,mem_lmo_opcode2 
+5cfd 6000c158 store 1 ,mem_esco_addr 
+5cfe 600084d7 store 1 ,mem_auth_enable 
+5cff 6000816d store 1 ,mem_connection_options 
+5d00 600089b5 store 1 ,mem_pairing_auth 
+5d01 70455b00 jam switch_flag_init ,mem_switch_flag 
+5d02 70022900 jam 0 ,mem_switch_fail_master_count 
+5d03 7004d800 jam null_encryp ,mem_wait_encryption 
+
+init_lmp_reinit:
+5d04 7009b500 jam 0 ,mem_pairing_auth 
+5d05 7009b400 jam 0 ,mem_sp_localsm 
+5d06 7004d100 jam 0 ,mem_lmp_conn_state 
+
+parse_rx_done:
+5d07 20600000 rtn 
+
+parse_lmp:
+5d08 473ec02f bpatchx patch2f_5 ,mem_patch2f 
+5d09 2054e2ff call setlocalsm_master ,master 
+5d0a 2454e303 ncall setlocalsm_slave ,master 
+5d0b 204062bc call lmo_fifo_check 
+5d0c 247a0000 nrtn blank 
+5d0d 6800804c fetch 1 ,mem_state_map 
+5d0e c4030000 rtnbit0 smap_rxlmp 
+5d0f 793ffe06 set0 smap_rxlmp ,pdata 
+5d10 793f8001 set0 mark_rxbuf_inuse ,mark 
+5d11 6000804c store 1 ,mem_state_map 
+5d12 68008551 fetch 1 ,mem_rxbuf 
+5d13 6808804c fetcht 1 ,mem_state_map 
+5d14 2feffe00 isolate1 smap_lmptidinit ,pdata 
+5d15 79208401 setflag true ,smap_lmptid ,temp 
+5d16 6008804c storet 1 ,mem_state_map 
+5d17 18410402 and_into 0x2 ,temp 
+5d18 6008807f storet 1 ,mem_lmo_tid2 
+5d19 6808804c fetcht 1 ,mem_state_map 
+5d1a 1fe37e00 rshift pdata ,pdata 
+5d1b 6000807d store 1 ,mem_lmi_opcode2 
+5d1c 473f402f bpatchx patch2f_6 ,mem_patch2f 
+5d1d 6800807d fetch 1 ,mem_lmi_opcode2 
+5d1e c03fdd66 beq lmp_escape ,parse_lmp_escape 
+5d1f c001ddb1 beq lmp_accepted ,parse_lmp_accepted 
+5d20 c0025dc2 beq lmp_not_accepted ,parse_lmp_not_accepted 
+5d21 c01e5d59 beq lmp_set_afh ,parse_lmp_set_afh 
+5d22 c002dd55 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+5d23 c007dfa8 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+5d24 c0085e24 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+5d25 c011de42 beq lmp_auto_rate ,parse_lmp_auto_rate 
+5d26 c01cdfc1 beq lmp_test_control ,parse_lmp_test_control 
+5d27 c01c5fbc beq lmp_test_activate ,parse_lmp_test_activate 
+5d28 c018de27 beq lmp_setup_complete ,parse_lmp_setup_complete 
+5d29 c01bdeb0 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+5d2a c013deac beq lmp_features_req ,parse_lmp_features_req 
+5d2b c019dea9 beq lmp_host_connection_req ,parse_lmp_conn_req 
+5d2c c012deae beq lmp_version_req ,parse_lmp_version_req 
+5d2d c0135e3e beq lmp_version_res ,parse_lmp_version_res 
+5d2e c003de36 beq lmp_detach ,parse_lmp_detach 
+5d2f c016de2d beq lmp_max_slot ,parse_lmp_max_slot 
+5d30 c0175e2e beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+5d31 c000dea5 beq lmp_name_req ,parse_lmp_name_req 
+5d32 c0015e90 beq lmp_name_res ,parse_lmp_name_res 
+5d33 c0145fb3 beq lmp_features_res ,parse_lmp_features_res 
+5d34 c004de86 beq lmp_comb_key ,parse_lmp_comb_key 
+5d35 c005de5f beq lmp_au_rand ,parse_lmp_au_rand 
+5d36 c0045e43 beq lmp_in_rand ,parse_lmp_in_rand 
+5d37 c0065e6a beq lmp_sres ,parse_lmp_sres 
+5d38 c00fde3a beq lmp_incr_power_req ,parse_lmp_incr_power 
+5d39 c0105e3c beq lmp_decr_power_req ,parse_lmp_decr_power 
+5d3a c010deca beq lmp_max_power ,parse_lmp_max_power 
+5d3b c0115eca beq lmp_min_power ,parse_lmp_min_power 
+5d3c c01adecb beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+5d3d c01b5ecc beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+5d3e c0125eca beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+5d3f c01a5ecd beq lmp_slot_offset ,parse_lmp_slot_offset 
+5d40 c00bded6 beq lmp_sniff_req ,parse_lmp_sniff_req 
+5d41 c008def2 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+5d42 c0095ef6 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+5d43 c009def8 beq lmp_switch_req ,parse_lmp_switch_req 
+5d44 c006df0a beq lmp_temp_rand ,parse_lmp_temp_rand 
+5d45 c0075f0a beq lmp_temp_key ,parse_lmp_temp_key 
+5d46 c017deaa beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+5d47 c0185f0a beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+5d48 c0055f0a beq lmp_unit_key ,parse_lmp_unit_key 
+5d49 c00c5f0b beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+5d4a c0195f0a beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+5d4b c01edf10 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+5d4c c01f5f51 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+5d4d c01fdf4b beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+5d4e c0205f78 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+5d4f c020df8a beq lmp_dhkey_check ,parse_dhkey_check 
+5d50 c0035fa7 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+5d51 c01d5d57 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+
+reject_unknown_packet:
+5d52 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+
+reject_lmp_packet:
+5d53 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5d54 20600000 rtn 
+
+parse_lmp_clkoffset_req:
+5d55 70007c06 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+5d56 20600000 rtn 
+
+parse_enc_key_size_mask_req:
+5d57 70007c3b jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+5d58 20600000 rtn 
+
+parse_lmp_set_afh:
+5d59 68020552 fetch 4 ,mem_rxbuf + 1 
+5d5a 1fe3fe00 lshift pdata ,pdata 
+5d5b 600240d2 store 4 ,mem_afh_instant 
+5d5c 68008556 fetch 1 ,mem_rxbuf + 5 
+5d5d 6000c0d9 store 1 ,mem_afh_new_mod 
+5d5e 68028557 fetch 5 ,mem_rxbuf + 6 
+5d5f 6002c0e7 store 5 ,mem_afh_map_new 
+5d60 6802855c fetch 5 ,mem_rxbuf + 11 
+5d61 e0a28000 istore 5 ,contw 
+5d62 68008031 fetch 1 ,mem_mode 
+5d63 79207e03 set1 afh_change ,pdata 
+5d64 60008031 store 1 ,mem_mode 
+5d65 20600000 rtn 
+
+parse_lmp_escape:
+5d66 473fc02f bpatchx patch2f_7 ,mem_patch2f 
+5d67 68008552 fetch 1 ,mem_rxbuf + 1 
+5d68 79207e07 set1 7 ,pdata 
+5d69 6000807d store 1 ,mem_lmi_opcode2 
+5d6a c040dd88 beq lmp_ext_accepted ,parse_lmpext_accepted 
+5d6b c0415d8d beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+5d6c c04adeb1 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+5d6d c04b5eca beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+5d6e c045debf beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+5d6f c041dda5 beq lmp_ext_features_req ,parse_lmpext_features_req 
+5d70 c0425da7 beq lmp_ext_features_res ,parse_lmpext_features_res 
+5d71 c0485d7a beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+5d72 c04bdd9e beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+5d73 c04c5da3 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+5d74 c04cdd7d beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+5d75 c04d5d80 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+5d76 c1420000 rtneq lmp_ext_features_res 
+
+reject_unknown_ext_packet:
+5d77 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d78 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+5d79 20600000 rtn 
+
+parse_lmpext_chn_classification_req:
+5d7a 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d7b 70007e2e jam not_support_chn_classification ,mem_lmo_reason2 
+5d7c 20600000 rtn 
+
+parse_lmpext_iocap_req:
+5d7d 20405d82 call iocap_lmpext_load 
+5d7e 70007c9a jam lmp_io_cap_res ,mem_lmo_opcode2 
+5d7f 20600000 rtn 
+
+parse_lmpext_iocap_res:
+5d80 20405d82 call iocap_lmpext_load 
+5d81 20205d86 branch iocap_lmpext_common 
+
+iocap_lmpext_load:
+5d82 d8a0465e arg mem_sp_iocap_remote ,contw 
+5d83 68018553 fetch 3 ,mem_rxbuf + 2 
+5d84 e0a18000 istore 3 ,contw 
+5d85 20600000 rtn 
+
+iocap_lmpext_common:
+5d86 2020f6d8 branch master_set_mem_master_sp_flag ,true 
+5d87 20600000 rtn 
+
+parse_lmpext_accepted:
+5d88 68008554 fetch 1 ,mem_rxbuf + 3 
+5d89 79207e07 set1 7 ,pdata 
+5d8a 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d8b c045dd92 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+5d8c 20600000 rtn 
+
+parse_lmpext_not_accepted:
+5d8d 68008554 fetch 1 ,mem_rxbuf + 3 
+5d8e 79207e07 set1 7 ,pdata 
+5d8f 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d90 c045dd96 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+5d91 20600000 rtn 
+
+parse_lmpext_accepted_ptt:
+5d92 6800c15a fetch 1 ,mem_ptt 
+5d93 6808804c fetcht 1 ,mem_state_map 
+5d94 7d3a0405 nsetflag blank ,smap_edr ,temp 
+5d95 6008804c storet 1 ,mem_state_map 
+
+parse_lmpext_not_accepted_ptt:
+5d96 68008030 fetch 1 ,mem_state 
+5d97 c4028000 rtnbit0 state_init_seq 
+5d98 793ffe05 set0 state_init_seq ,pdata 
+5d99 60008030 store 1 ,mem_state 
+5d9a 680084d7 fetch 1 ,mem_auth_enable 
+5d9b 247a0000 nrtn blank 
+5d9c 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5d9d 20600000 rtn 
+
+parse_lmpext_pause_encrypt:
+5d9e 2434dda1 nbranch parse_lmpext_pause_encrypt_slave ,master 
+5d9f 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5da0 202062eb branch tid_reply 
+
+parse_lmpext_pause_encrypt_slave:
+5da1 70007c97 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+5da2 20600000 rtn 
+
+parse_lmpext_resume_encrypt:
+5da3 204062eb call tid_reply 
+5da4 20205ffe branch lmp_start_encryption 
+
+parse_lmpext_features_req:
+5da5 70007c84 jam lmp_ext_features_res ,mem_lmo_opcode2 
+5da6 20600000 rtn 
+
+parse_lmpext_features_res:
+5da7 68088555 fetcht 1 ,mem_rxbuf + 4 
+5da8 18410401 and temp ,0x1 ,temp 
+5da9 600884d0 storet 1 ,mem_remote_sppcap 
+5daa 6800c1ce fetch 1 ,mem_hci_cmd 
+5dab c0a8ddad bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+5dac 7041ce00 jam 0 ,mem_hci_cmd 
+
+parse_lmpext_features_res_not_hci:
+5dad 68008055 fetch 1 ,mem_conn_sm 
+5dae c18a8000 rtnne conn_sm_wait_features_ext 
+5daf 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5db0 2020631b branch process_conn_sm 
+
+parse_lmp_accepted:
+5db1 47404030 bpatchx patch30_0 ,mem_patch30 
+5db2 68008552 fetch 1 ,mem_rxbuf + 1 
+5db3 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5db4 c019ddd8 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+5db5 c0045de7 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+5db6 c007ddee beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+5db7 c0085df4 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+5db8 c008ddf5 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+5db9 c0095dfd beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+5dba c00c5e13 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+5dbb c00bde16 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+5dbc c009ddcf beq lmp_switch_req ,parse_lmp_accepted_switch 
+5dbd c01edf1e beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+5dbe c01f5f6a beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+5dbf c0205f20 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+5dc0 c020df3d beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+5dc1 20600000 rtn 
+
+parse_lmp_not_accepted:
+5dc2 4740c030 bpatchx patch30_1 ,mem_patch30 
+5dc3 68008552 fetch 1 ,mem_rxbuf + 1 
+5dc4 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5dc5 c000de0a beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+5dc6 c019dde2 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+5dc7 c005ddfe beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+5dc8 c0045e01 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+5dc9 c009ddd2 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+5dca c0205e0b beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+5dcb c020de0e beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+5dcc c00c5e11 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+5dcd c00bde22 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+5dce 20600000 rtn 
+
+parse_lmp_accepted_switch:
+5dcf 700a9920 jam bt_evt_switch_accept ,mem_fifo_temp 
+5dd0 20407d86 call ui_ipc_send_event 
+5dd1 202021dc branch role_switch_prepare0 
+
+parse_lmp_not_accepted_switch:
+5dd2 700a9919 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+5dd3 20407d86 call ui_ipc_send_event 
+5dd4 70455b02 jam switch_flag_not_accept ,mem_switch_flag 
+5dd5 58000050 setarg timer_switch_waite 
+5dd6 d8e00006 arg switch_wait_timer ,queue 
+5dd7 20207f08 branch timer_init 
+
+parse_lmp_accepted_hostconn:
+5dd8 680084d1 fetch 1 ,mem_lmp_conn_state 
+5dd9 79207e00 set1 received_conn_req ,pdata 
+5dda 600084d1 store 1 ,mem_lmp_conn_state 
+5ddb 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+5ddc 20407d86 call ui_ipc_send_event 
+5ddd 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+
+parse_lmp_accepted_hostconn_ctn:
+5dde 68008055 fetch 1 ,mem_conn_sm 
+5ddf c082dd07 bne conn_sm_wait_conn_accept ,parse_rx_done 
+5de0 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+5de1 20600000 rtn 
+
+parse_lmp_not_accepted_hostconn:
+5de2 7004ca0b jam acl_connection_already_exists ,mem_disconn_reason_send 
+5de3 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5de4 70005500 jam conn_sm_standby ,mem_conn_sm 
+5de5 2020dd07 branch parse_rx_done ,true 
+5de6 20600000 rtn 
+
+parse_lmp_accepted_inrand:
+5de7 6800c1bd fetch 1 ,mem_link_key_exists 
+5de8 247a0000 nrtn blank 
+5de9 2040244f call clear_linkkey 
+5dea 20405ffc call lmp_generate_key 
+5deb 20748000 rtn master 
+5dec 79200021 set1 mark_slave_in_rand_accepted ,mark 
+5ded 20600000 rtn 
+
+parse_lmp_accepted_enc_mode:
+5dee 24748000 nrtn master 
+5def 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+5df0 6800804c fetch 1 ,mem_state_map 
+5df1 c4010000 rtnbit0 smap_encryption 
+5df2 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5df3 20600000 rtn 
+
+parse_lmp_accepted_enc_keysize:
+5df4 20205ffe branch lmp_start_encryption 
+
+parse_lmp_accepted_start_enc:
+5df5 20406059 call send_create_conn_start_l2cap_timer_sm 
+5df6 68008030 fetch 1 ,mem_state 
+5df7 c3820000 rtnbit1 state_conn_comp 
+5df8 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5df9 68008055 fetch 1 ,mem_conn_sm 
+5dfa c1850000 rtnne conn_sm_encrypt_wait 
+5dfb 7000550b jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+5dfc 20600000 rtn 
+
+parse_lmp_accepted_stop_enc:
+5dfd 20600000 rtn 
+
+parse_lmp_not_accepted_aurand:
+
+parse_lmp_not_accepted_aurand_send_detach:
+5dfe 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5dff 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+5e00 20600000 rtn 
+
+parse_lmp_not_accepted_inrand:
+5e01 68008553 fetch 1 ,mem_rxbuf + 2 
+5e02 c0035e07 beq key_missing ,parse_lmp_inrand_key_missing 
+5e03 c18c0000 rtnne pairing_not_allowed 
+5e04 7004ca18 jam pairing_not_allowed ,mem_disconn_reason_send 
+5e05 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e06 20600000 rtn 
+
+parse_lmp_inrand_key_missing:
+5e07 7004ca06 jam key_missing ,mem_disconn_reason_send 
+5e08 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e09 20600000 rtn 
+
+parse_lmp_not_accepted_name_req:
+5e0a 20600000 rtn 
+
+parse_lmp_not_accepted_simple_pairing_number:
+5e0b 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0c 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e0d 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_dhkey_check:
+5e0e 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0f 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e10 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_unsniff_req:
+5e11 700a9924 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+5e12 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_unsniff_req:
+5e13 700a9923 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+5e14 20407d86 call ui_ipc_send_event 
+5e15 202026e9 branch sniff_exit 
+
+parse_lmp_accepted_sniff_req:
+5e16 700a9922 jam bt_evt_sniff_accept ,mem_fifo_temp 
+5e17 20407d86 call ui_ipc_send_event 
+5e18 58000000 setarg 0 
+5e19 60010075 store 2 ,mem_dsniff 
+5e1a 680141e3 fetch 2 ,mem_sniff_param_interval 
+5e1b 1fe3fe00 lshift pdata ,pdata 
+5e1c 60010032 store 2 ,mem_tsniff 
+5e1d 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+5e1e 60008073 store 1 ,mem_sniff_attempt 
+5e1f 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+5e20 60008074 store 1 ,mem_sniff_timeout 
+5e21 202026c6 branch sniff_init 
+
+parse_lmp_not_acdcept_sniff_req:
+5e22 700a9921 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+5e23 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_crypt_key:
+5e24 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e25 60088054 storet 1 ,mem_key_size 
+5e26 20205e38 branch accept_lmp_msg 
+
+parse_lmp_setup_complete:
+5e27 680084d1 fetch 1 ,mem_lmp_conn_state 
+5e28 79207e02 set1 received_setup_complete ,pdata 
+5e29 600084d1 store 1 ,mem_lmp_conn_state 
+5e2a c3818000 rtnbit1 sent_setup_complete 
+5e2b 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5e2c 20205d07 branch parse_rx_done 
+
+parse_lmp_max_slot:
+5e2d 20600000 rtn 
+
+parse_lmp_max_slot_req:
+5e2e 6800c0d0 fetch 1 ,mem_max_slot 
+5e2f 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e30 98467c00 isub temp ,null 
+5e31 20215e38 branch accept_lmp_msg ,positive 
+5e32 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e33 70007e1f jam unspecified_error ,mem_lmo_reason2 
+5e34 70007d2e jam lmp_max_slot_req ,mem_lmi_opcode2 
+5e35 20600000 rtn 
+
+parse_lmp_detach:
+5e36 20406157 call prepare_disconnect 
+5e37 20205e38 branch accept_lmp_msg 
+
+accept_lmp_msg:
+5e38 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5e39 20600000 rtn 
+
+parse_lmp_incr_power:
+5e3a 70007c21 jam lmp_max_power ,mem_lmo_opcode2 
+5e3b 20600000 rtn 
+
+parse_lmp_decr_power:
+5e3c 70007c22 jam lmp_min_power ,mem_lmo_opcode2 
+5e3d 20600000 rtn 
+
+parse_lmp_version_res:
+5e3e 68008055 fetch 1 ,mem_conn_sm 
+5e3f c1098000 rtneq conn_sm_wait_version 
+5e40 70005502 jam conn_sm_send_features ,mem_conn_sm 
+5e41 20600000 rtn 
+
+parse_lmp_auto_rate:
+5e42 20600000 rtn 
+
+parse_lmp_in_rand:
+5e43 20405ff9 call lmp_copy_rand 
+5e44 7004d401 jam pincode_state_wait_pincode ,mem_pincode_state 
+5e45 700a990a jam bt_evt_pincode_req ,mem_fifo_temp 
+5e46 20407d86 call ui_ipc_send_event 
+5e47 204062f3 call tid_check 
+5e48 2420e001 nbranch lmp_accept_inrand ,true 
+5e49 2434de4e nbranch parse_lmp_inrand_res ,master 
+5e4a 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e4b 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+5e4c 70007e23 jam transaction_collision ,mem_lmo_reason2 
+5e4d 20600000 rtn 
+
+parse_lmp_inrand_res:
+5e4e 6800804b fetch 1 ,mem_op 
+5e4f 79207e02 set1 op_inrand_req ,pdata 
+5e50 6000804b store 1 ,mem_op 
+5e51 20600000 rtn 
+
+pop_tid_follow:
+5e52 6808804c fetcht 1 ,mem_state_map 
+5e53 7d3a0401 nsetflag blank ,smap_lmptid ,temp 
+5e54 6008804c storet 1 ,mem_state_map 
+5e55 20600000 rtn 
+
+push_tid_follow:
+5e56 6800807f fetch 1 ,mem_lmo_tid2 
+5e57 1fe37e00 rshift pdata ,pdata 
+5e58 1fe17e01 and_into 1 ,pdata 
+5e59 20600000 rtn 
+
+parse_lmp_au_rand_moudle:
+5e5a 6800c217 fetch 1 ,mem_nv_data_number 
+5e5b 207a0000 rtn blank 
+5e5c 680089b5 fetch 1 ,mem_pairing_auth 
+5e5d 205a67b2 call load_device_list ,blank 
+5e5e 20600000 rtn 
+
+parse_lmp_au_rand:
+5e5f 20405e5a call parse_lmp_au_rand_moudle 
+5e60 20405e56 call push_tid_follow 
+5e61 600084d5 store 1 ,mem_sres_tid 
+5e62 20405ff9 call lmp_copy_rand 
+5e63 70007c0c jam lmp_sres ,mem_lmo_opcode2 
+5e64 6800c1bd fetch 1 ,mem_link_key_exists 
+5e65 247a0000 nrtn blank 
+5e66 68008030 fetch 1 ,mem_state 
+5e67 c3830000 rtnbit1 state_combkey 
+5e68 70007e06 jam key_missing ,mem_lmo_reason2 
+5e69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_sres:
+5e6a da200040 arg mem_plap ,rega 
+5e6b 20407288 call function_e1 
+5e6c 68020552 fetch 4 ,mem_rxbuf + 1 
+5e6d 680a0592 fetcht 4 ,mem_input_store 
+5e6e 98467c00 isub temp ,null 
+5e6f 2022de73 branch authentication_ok ,zero 
+5e70 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e71 7004ca05 jam authentication_failure_error ,mem_disconn_reason_send 
+5e72 20600000 rtn 
+
+authentication_ok:
+5e73 20405e77 call authentication_ok_common 
+5e74 6800c65a fetch 1 ,mem_ssp_enable 
+5e75 203a5f3e branch pairing_success ,blank 
+5e76 20600000 rtn 
+
+authentication_ok_common:
+5e77 20407386 call copy_aco 
+5e78 204021b2 call linkkey_ready 
+5e79 6800804b fetch 1 ,mem_op 
+5e7a 2feffe01 isolate1 op_auth_req ,pdata 
+5e7b 793ffe01 set0 op_auth_req ,pdata 
+5e7c 6000804b store 1 ,mem_op 
+5e7d 68008055 fetch 1 ,mem_conn_sm 
+5e7e c00cde81 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+5e7f c00c5e81 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+5e80 20600000 rtn 
+
+authentication_ok_conn_sm:
+5e81 680089b5 fetch 1 ,mem_pairing_auth 
+5e82 c1800000 rtnne defalt_pairing_auth 
+5e83 6800804c fetch 1 ,mem_state_map 
+5e84 c3810000 rtnbit1 smap_encryption 
+5e85 202063b1 branch host_create_conn_encrypt 
+
+parse_lmp_comb_key:
+5e86 da200552 arg mem_rxbuf + 1 ,rega 
+5e87 da400582 arg mem_kinit ,regb 
+5e88 d8a00562 arg mem_random_number ,contw 
+5e89 20407352 call xor16 
+5e8a da200040 arg mem_plap ,rega 
+5e8b 20406311 call generate_linkkey 
+5e8c 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+5e8d 68008030 fetch 1 ,mem_state 
+5e8e c3035ffc bbit0 state_combkey ,lmp_generate_key 
+5e8f 20600000 rtn 
+
+parse_lmp_name_res:
+5e90 6801015f fetch 2 ,mem_len 
+5e91 1fe0f3fd add pdata ,-3 ,loopcnt 
+5e92 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e93 58000101 setarg mem_tmp_buffer 
+5e94 98408a00 iadd temp ,contw 
+5e95 d8c00554 arg mem_rxbuf + 3 ,contr 
+5e96 20407f01 call memcpy 
+5e97 68088053 fetcht 1 ,mem_name_offset 
+5e98 68008553 fetch 1 ,mem_rxbuf + 2 
+5e99 98467e00 isub temp ,pdata 
+5e9a 1fe67c0e sub pdata ,14 ,null 
+5e9b 20215ea0 branch parse_lmp_name_res_end ,positive 
+5e9c 1840fe0e add temp ,14 ,pdata 
+5e9d 60008053 store 1 ,mem_name_offset 
+5e9e 70007c01 jam lmp_name_req ,mem_lmo_opcode2 
+5e9f 20600000 rtn 
+
+parse_lmp_name_res_end:
+5ea0 6800804c fetch 1 ,mem_state_map 
+5ea1 79207e03 set1 smap_name_res ,pdata 
+5ea2 6000804c store 1 ,mem_state_map 
+5ea3 c2826006 bbit1 smap_name_req ,lmp_disconnect 
+5ea4 20600000 rtn 
+
+parse_lmp_name_req:
+5ea5 68008552 fetch 1 ,mem_rxbuf + 1 
+5ea6 6000807d store 1 ,mem_lmi_opcode2 
+5ea7 70007c02 jam lmp_name_res ,mem_lmo_opcode2 
+5ea8 20600000 rtn 
+
+parse_lmp_conn_req:
+5ea9 20205e38 branch accept_lmp_msg 
+
+parse_lmp_timing_accuracy_req:
+5eaa 70007c30 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+5eab 20600000 rtn 
+
+parse_lmp_features_req:
+5eac 70007c28 jam lmp_features_res ,mem_lmo_opcode2 
+5ead 20600000 rtn 
+
+parse_lmp_version_req:
+5eae 70007c26 jam lmp_version_res ,mem_lmo_opcode2 
+5eaf 20600000 rtn 
+
+parse_lmp_supervision_timeout:
+5eb0 20600000 rtn 
+
+parse_lmp_sniff_subrating_req:
+5eb1 68010032 fetch 2 ,mem_tsniff 
+5eb2 98000400 iforce temp 
+5eb3 68008553 fetch 1 ,mem_rxbuf + 2 
+5eb4 60008095 store 1 ,mem_subsniff_rate 
+5eb5 984f8400 imul32 temp ,temp 
+5eb6 68010554 fetch 2 ,mem_rxbuf + 3 
+5eb7 1fe3fe00 lshift pdata ,pdata 
+5eb8 60010096 store 2 ,mem_subsniff_tcmax 
+5eb9 68020556 fetch 4 ,mem_rxbuf + 5 
+5eba 1fe3fe00 lshift pdata ,pdata 
+5ebb 60020091 store 4 ,mem_subsniff_instant 
+5ebc 18427e00 deposit temp 
+5ebd 60010098 store 2 ,mem_subsniff_tsniff 
+5ebe 20600000 rtn 
+
+parse_lmpext_packet_type_table_req:
+5ebf 6808c15a fetcht 1 ,mem_ptt 
+5ec0 68008553 fetch 1 ,mem_rxbuf + 2 
+5ec1 9842fc00 ixor temp ,null 
+5ec2 2422dd77 nbranch reject_unknown_ext_packet ,zero 
+5ec3 2feffe00 isolate1 0 ,pdata 
+5ec4 6800804c fetch 1 ,mem_state_map 
+5ec5 7920fe05 setflag true ,smap_edr ,pdata 
+5ec6 6000804c store 1 ,mem_state_map 
+5ec7 70007c81 jam lmp_ext_accepted ,mem_lmo_opcode2 
+5ec8 70007d8b jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+5ec9 20600000 rtn 
+
+parse_lmp_sniff_subrating_res:
+
+parse_lmp_preferred_rate:
+
+parse_lmp_max_power:
+
+parse_lmp_min_power:
+5eca 20600000 rtn 
+
+parse_lmp_page_mode_req:
+5ecb 20205e38 branch accept_lmp_msg 
+
+parse_lmp_page_scan_mode_req:
+5ecc 20205e38 branch accept_lmp_msg 
+
+parse_lmp_slot_offset:
+5ecd 68010552 fetch 2 ,mem_rxbuf + 1 
+5ece 60010171 store 2 ,mem_slot_offset 
+5ecf 20600000 rtn 
+
+parse_lmp_sniff_req_check_sniff_para:
+5ed0 68010555 fetch 2 ,mem_rxbuf + 4 
+5ed1 6808c172 fetcht 1 ,mem_lpm_mult 
+5ed2 984ffe00 imul32 temp ,pdata 
+5ed3 d8400640 arg 0x640 ,temp 
+5ed4 98467c00 isub temp ,null 
+5ed5 20600000 rtn 
+
+parse_lmp_sniff_req:
+5ed6 68010557 fetch 2 ,mem_rxbuf + 6 
+5ed7 203a5ef0 branch lmp_reject_sniff ,blank 
+5ed8 20405ed0 call parse_lmp_sniff_req_check_sniff_para 
+5ed9 20215ef0 branch lmp_reject_sniff ,positive 
+5eda 6800c092 fetch 1 ,mem_device_option 
+5edb 1fe67c0a sub pdata ,dvc_op_module ,null 
+5edc 2042bcd5 call module_set_lpm_mult_2 ,zero 
+5edd 68008030 fetch 1 ,mem_state 
+5ede c280def0 bbit1 state_insniff ,lmp_reject_sniff 
+5edf 68010553 fetch 2 ,mem_rxbuf + 2 
+5ee0 1fe3fe00 lshift pdata ,pdata 
+5ee1 60010075 store 2 ,mem_dsniff 
+5ee2 68010555 fetch 2 ,mem_rxbuf + 4 
+5ee3 1fe3fe00 lshift pdata ,pdata 
+5ee4 60010032 store 2 ,mem_tsniff 
+5ee5 68010557 fetch 2 ,mem_rxbuf + 6 
+5ee6 60008073 store 1 ,mem_sniff_attempt 
+5ee7 98000400 iforce temp 
+5ee8 68010559 fetch 2 ,mem_rxbuf + 8 
+5ee9 60008074 store 1 ,mem_sniff_timeout 
+5eea 98467c00 isub temp ,null 
+5eeb 24215eed nbranch set_big_value_to_attempt ,positive 
+5eec 60008073 store 1 ,mem_sniff_attempt 
+
+set_big_value_to_attempt:
+5eed 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5eee 70007d17 jam lmp_sniff_req ,mem_lmi_opcode2 
+5eef 20600000 rtn 
+
+lmp_reject_sniff:
+5ef0 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5ef1 20205d53 branch reject_lmp_packet 
+
+parse_lmp_start_encryption_req:
+5ef2 20405e38 call accept_lmp_msg 
+5ef3 20405ff9 call lmp_copy_rand 
+5ef4 2040728b call function_e3 
+5ef5 202026b8 branch start_encryption 
+
+parse_lmp_stop_encryption_req:
+5ef6 20405e38 call accept_lmp_msg 
+5ef7 202026c0 branch stop_encryption 
+
+parse_lmp_switch_req:
+5ef8 68020552 fetch 4 ,mem_rxbuf + 1 
+5ef9 1fe3fe00 lshift pdata ,pdata 
+5efa 2034df04 branch parse_lmp_switch_accept ,master 
+5efb 6808c1bd fetcht 1 ,mem_link_key_exists 
+5efc 243a5f01 nbranch parse_lmp_switch_req_clear_mark ,blank 
+
+parse_lmp_switch_req_not_accept:
+5efd 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5efe 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+5eff 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f00 20600000 rtn 
+
+parse_lmp_switch_req_clear_mark:
+5f01 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+5f02 70005500 jam 0 ,mem_conn_sm 
+5f03 202021d9 branch role_switch_prepare 
+
+parse_lmp_switch_accept:
+5f04 204021d9 call role_switch_prepare 
+5f05 79200022 set1 mark_reconn_recieve_switch ,mark 
+5f06 6800816d fetch 1 ,mem_connection_options 
+5f07 793ffe02 set0 connection_switch ,pdata 
+5f08 6000816d store 1 ,mem_connection_options 
+5f09 20205e38 branch accept_lmp_msg 
+
+parse_lmp_temp_rand:
+
+parse_lmp_temp_key:
+
+parse_lmp_timing_accuracy_res:
+
+parse_lmp_unit_key:
+
+parse_lmp_use_semi_permanend_key:
+5f0a 20600000 rtn 
+
+parse_lmp_unsniff_req:
+5f0b 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f0c 70007d18 jam lmp_unsniff_req ,mem_lmi_opcode2 
+5f0d 700a992e jam bt_evt_remote_unsniff ,mem_fifo_temp 
+5f0e 20407d86 call ui_ipc_send_event 
+5f0f 202026e9 branch sniff_exit 
+
+parse_lmp_encapsulated_header:
+5f10 68008552 fetch 1 ,mem_rxbuf + 1 
+5f11 c080df1c bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f12 68008553 fetch 1 ,mem_rxbuf + 2 
+5f13 c080df1c bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f14 68008554 fetch 1 ,mem_rxbuf + 3 
+5f15 c0985f1c bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+5f16 204062fc call check_localsm 
+5f17 2020df19 branch parse_lmp_encapsulated_header_master ,true 
+5f18 7009ae01 jam sp_stat_key_recv ,mem_sp_state 
+
+parse_lmp_encapsulated_header_master:
+5f19 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f1a 70007d3d jam lmp_encapsulated_header ,mem_lmi_opcode2 
+5f1b 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_header_reject:
+5f1c 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f1d 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_header:
+5f1e 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f1f 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number:
+5f20 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f21 c000df27 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+5f22 c0015f2b beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+
+parse_lmp_accepted_simple_pairing_number_common:
+5f23 204062fc call check_localsm 
+5f24 20608000 rtn true 
+5f25 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f26 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+5f27 20407962 call g_noninit_number_confirm 
+5f28 700a9935 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+5f29 20407d86 call ui_ipc_send_event 
+5f2a 20205f23 branch parse_lmp_accepted_simple_pairing_number_common 
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+5f2b 204062fc call check_localsm 
+5f2c 20608000 rtn true 
+5f2d 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f2e c009df3b beq 19 ,authentication_passkey_end 
+5f2f 1fe0fe01 increase 1 ,pdata 
+5f30 6000c663 store 1 ,mem_authentication_passkey_times 
+
+authentication_passkey:
+5f31 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f32 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f33 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f34 1fe20e00 copy pdata ,queue 
+5f35 6803468a fetch 6 ,mem_pin 
+5f36 afefffff qisolate1 pdata 
+5f37 58000080 setarg 0x80 
+5f38 7920fe00 setflag true ,0 ,pdata 
+5f39 6000c664 store 1 ,mem_passkey_1bit 
+5f3a 20600000 rtn 
+
+authentication_passkey_end:
+5f3b 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f3c 20600000 rtn 
+
+parse_lmp_accepted_dhkey_check:
+5f3d 20405f43 call parse_lmp_accepted_dhkey_check_common 
+
+pairing_success:
+5f3e 6800c665 fetch 1 ,mem_flag_pairing_state 
+5f3f 207a0000 rtn blank 
+5f40 70466500 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+5f41 700a9938 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+5f42 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_dhkey_check_common:
+5f43 204062fc call check_localsm 
+5f44 2440f965 ncall g_noninit ,true 
+5f45 2040f975 call g_init ,true 
+5f46 204062fc call check_localsm 
+5f47 20608000 rtn true 
+5f48 7009ae0c jam sp_stat_link_key_calc ,mem_sp_state 
+5f49 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f4a 20600000 rtn 
+
+parse_simple_pairing_confirm:
+5f4b d8a00a6e arg mem_sp_confirm_remote ,contw 
+5f4c d8c00552 arg mem_rxbuf + 1 ,contr 
+5f4d 20407ebf call memcpy16 
+5f4e 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f4f c1010000 rtneq ssp_mode_passkey_entry_flag 
+5f50 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_encapsulated_payload:
+5f51 680089af fetch 1 ,mem_master_sp_state 
+5f52 c003df55 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+5f53 680089ae fetch 1 ,mem_sp_state 
+5f54 c080df68 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+
+parse_encapsulated_payload_master:
+5f55 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f56 1fe60a20 sub pdata ,0x20 ,contw 
+5f57 24215f68 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+5f58 d8a009c6 arg mem_sp_pubkey_remote ,contw 
+5f59 98a08a00 iadd contw ,contw 
+5f5a 68040552 fetch 8 ,mem_rxbuf + 1 
+5f5b e0a40000 istore 8 ,contw 
+5f5c 6804055a fetch 8 ,mem_rxbuf + 9 
+5f5d e0a40000 istore 8 ,contw 
+5f5e 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f5f 1fe0fe10 increase 16 ,pdata 
+5f60 600089b7 store 1 ,mem_sp_remote_key_recv_count 
+5f61 c0985e38 bne encapsulated_len_p192 ,accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_completed:
+5f62 204062fc call check_localsm 
+5f63 2020de38 branch accept_lmp_msg ,true 
+5f64 7009b801 jam sp_key_valid ,mem_sp_remote_key_invalid 
+5f65 7009ae02 jam sp_stat_key_generate ,mem_sp_state 
+5f66 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f67 20205e38 branch accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_reject:
+5f68 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_payload:
+5f6a 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+5f6b c0185f6e beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+5f6c 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f6d 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted:
+5f6e 204062fc call check_localsm 
+5f6f 2020df77 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+5f70 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f71 c0015f75 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+5f72 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f73 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f74 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+5f75 700a9936 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+5f76 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+5f77 20205d07 branch parse_rx_done 
+
+parse_lmp_simple_pairing_number:
+5f78 680089af fetch 1 ,mem_master_sp_state 
+5f79 c003df7c beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+5f7a 680089ae fetch 1 ,mem_sp_state 
+5f7b c0835f88 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+
+parse_lmp_simple_pairing_number_master:
+5f7c d8a00a2e arg mem_sp_random_remote ,contw 
+5f7d 68040552 fetch 8 ,mem_rxbuf + 1 
+5f7e e0a40000 istore 8 ,contw 
+5f7f 6804055a fetch 8 ,mem_rxbuf + 9 
+5f80 e0a40000 istore 8 ,contw 
+5f81 204062fc call check_localsm 
+5f82 2020df86 branch parse_lmp_simple_pairing_number_master0 ,true 
+5f83 7009ae07 jam sp_stat_random_send ,mem_sp_state 
+5f84 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f85 20205e38 branch accept_lmp_msg 
+
+parse_lmp_simple_pairing_number_master0:
+5f86 7009af04 jam sp_stat_commit_calc ,mem_master_sp_state 
+5f87 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_simple_pairing_number_reject:
+5f88 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f89 20205d53 branch reject_lmp_packet 
+
+parse_dhkey_check:
+5f8a 680089af fetch 1 ,mem_master_sp_state 
+5f8b c005df8e beq sp_stat_confirm_send ,parse_dhkey_check_master 
+5f8c 680089ae fetch 1 ,mem_sp_state 
+5f8d c0845f9d bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+
+parse_dhkey_check_master:
+5f8e d8a00a5e arg mem_sp_check_result ,contw 
+5f8f d8c00552 arg mem_rxbuf + 1 ,contr 
+5f90 20407ebf call memcpy16 
+5f91 204062fc call check_localsm 
+5f92 2020df9a branch parse_dhkey_check_master0 ,true 
+5f93 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f94 c000df9f beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+
+number_comparison_successed:
+5f95 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5f96 7009ae09 jam sp_stat_confirm_check ,mem_sp_state 
+5f97 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f98 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+5f99 20205d07 branch parse_rx_done 
+
+parse_dhkey_check_master0:
+5f9a 7009af09 jam sp_stat_confirm_check ,mem_master_sp_state 
+5f9b 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+5f9c 20205d07 branch parse_rx_done 
+
+parse_lmp_dhkey_check_reject:
+5f9d 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f9e 20205d53 branch reject_lmp_packet 
+
+number_comparison_mode:
+5f9f 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+5fa0 c283dfa4 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+5fa1 79207e06 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+5fa2 6000c661 store 1 ,mem_flag_mode_ssp_pin 
+5fa3 20600000 rtn 
+
+comparison_result:
+5fa4 c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+5fa5 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5fa6 20205f9d branch parse_lmp_dhkey_check_reject 
+
+parse_lmp_clkoffset_res:
+5fa7 20205d07 branch parse_rx_done 
+
+parse_lmp_encryption_mode_req:
+5fa8 6800816d fetch 1 ,mem_connection_options 
+5fa9 793ffe01 set0 connection_encrypt 
+5faa 6000816d store 1 ,mem_connection_options 
+5fab 20405e38 call accept_lmp_msg 
+5fac 24748000 nrtn master 
+5fad 68008552 fetch 1 ,mem_rxbuf + 1 
+5fae 6808804b fetcht 1 ,mem_op 
+5faf 793a0404 setflag blank ,op_stop_enc ,temp 
+5fb0 7d3a0405 nsetflag blank ,op_start_enc ,temp 
+5fb1 6008804b storet 1 ,mem_op 
+5fb2 20600000 rtn 
+
+parse_lmp_features_res:
+5fb3 680c0552 fetcht 8 ,mem_rxbuf + 1 
+
+parse_lmp_features_res_not_hci:
+5fb4 68008055 fetch 1 ,mem_conn_sm 
+5fb5 c1818000 rtnne conn_sm_wait_features_res 
+5fb6 6800816d fetch 1 ,mem_connection_options 
+5fb7 c3025fba bbit0 connection_feature_ext ,parse_lmp_send_conn 
+5fb8 70005514 jam conn_sm_send_features_ext ,mem_conn_sm 
+5fb9 20600000 rtn 
+
+parse_lmp_send_conn:
+5fba 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5fbb 20600000 rtn 
+
+parse_lmp_test_activate:
+5fbc 6800817f fetch 1 ,mem_debug_config 
+5fbd 6000815b store 1 ,mem_test_mode_old_debug_config 
+5fbe 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fbf 70007d38 jam lmp_test_activate ,mem_lmi_opcode2 
+5fc0 20600000 rtn 
+
+parse_lmp_test_control:
+5fc1 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fc2 70007d39 jam lmp_test_control ,mem_lmi_opcode2 
+5fc3 18007209 force 9 ,loopcnt 
+5fc4 d8c00552 arg mem_rxbuf + 1 ,contr 
+5fc5 d8a00152 arg mem_temp_payload ,contw 
+
+parse_lmp_test_xor:
+5fc6 e8c08000 ifetch 1 ,contr 
+5fc7 1fe2fe55 xor_into 0x55 ,pdata 
+5fc8 e0a08000 istore 1 ,contw 
+5fc9 c2005fc6 loop parse_lmp_test_xor 
+5fca 68008152 fetch 1 ,test_mode_scenario 
+5fcb 68088151 fetcht 1 ,mem_tester_emulate 
+5fcc 793f8407 set0 tester_no_whitening ,temp 
+5fcd 793f8404 set0 tester_pattern_test ,temp 
+5fce c07fdfda beq exit_test_mode ,parse_lmp_test_control_exit 
+5fcf c0005ff3 beq pause_test_mode ,parse_lmp_test_control_pause 
+5fd0 c002dfe7 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+5fd1 c003dfe6 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd2 c0035fe7 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+5fd3 c0045fe6 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd4 c000dfdf beq zero_pattern ,parse_lmp_test_control_pattern 
+5fd5 c0015fdf beq one_pattern ,parse_lmp_test_control_pattern 
+5fd6 c001dfdf beq alt_pattern ,parse_lmp_test_control_pattern 
+5fd7 c004dfdf beq alt2_pattern ,parse_lmp_test_control_pattern 
+5fd8 c0025fdf beq pseudorandom ,parse_lmp_test_control_pattern 
+5fd9 20600000 rtn 
+
+parse_lmp_test_control_exit:
+5fda 68008151 fetch 1 ,mem_tester_emulate 
+5fdb 79207e03 set1 tester_exit ,pdata 
+5fdc 79207e02 set1 tester_change ,pdata 
+5fdd 60008151 store 1 ,mem_tester_emulate 
+5fde 20600000 rtn 
+
+parse_lmp_test_control_pattern:
+5fdf 79200404 set1 tester_pattern_test ,temp 
+5fe0 70018005 jam 5 ,mem_lch_code 
+5fe1 68010159 fetch 2 ,test_mode_data_length 
+5fe2 98007200 iforce loopcnt 
+5fe3 6001015f store 2 ,mem_len 
+5fe4 d8a00551 arg mem_rxbuf ,contw 
+5fe5 20407f73 call pn9 
+
+parse_lmp_test_control_loopback_nowhite:
+5fe6 79200407 set1 tester_no_whitening ,temp 
+
+parse_lmp_test_control_loopback:
+5fe7 79200402 set1 tester_change ,temp 
+5fe8 18007e00 force 0 ,pdata 
+5fe9 6000800b store 1 ,mem_slave_rcvcnt 
+5fea 600100fa store 2 ,mem_tst_pktcnt_crc 
+5feb 600100fc store 2 ,mem_tst_pktcnt_dmh 
+5fec 600100f8 store 2 ,mem_tst_pktcnt_hec 
+5fed 600100f6 store 2 ,mem_tst_pktcnt_sync 
+5fee 68008153 fetch 1 ,test_mode_hopping_mode 
+5fef 2fe1fe00 compare fixed_freq ,pdata ,0xff 
+5ff0 79208406 setflag true ,tester_fixed_freq ,temp 
+5ff1 60088151 storet 1 ,mem_tester_emulate 
+5ff2 20600000 rtn 
+
+parse_lmp_test_control_pause:
+5ff3 793f8011 set0 mark_testmode ,mark 
+5ff4 70015100 jam 0 ,mem_tester_emulate 
+5ff5 6800817f fetch 1 ,mem_debug_config 
+5ff6 793ffe06 set0 debug_tx_pattern ,pdata 
+5ff7 6000817f store 1 ,mem_debug_config 
+5ff8 20600000 rtn 
+
+lmp_copy_rand:
+5ff9 d8c00552 arg mem_rxbuf + 1 ,contr 
+5ffa d8a00562 arg mem_random_number ,contw 
+5ffb 20207ebf branch memcpy16 
+
+lmp_generate_key:
+5ffc 70007c09 jam lmp_comb_key ,mem_lmo_opcode2 
+5ffd 20600000 rtn 
+
+lmp_start_encryption:
+5ffe 24748000 nrtn master 
+5fff 70007c11 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+6000 20600000 rtn 
+
+lmp_accept_inrand:
+6001 da2040a0 arg mem_lap ,rega 
+6002 20407255 call generate_kinit 
+6003 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6004 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+6005 20600000 rtn 
+
+lmp_disconnect:
+6006 7000720a jam 10 ,mem_conn_timer 
+6007 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6008 7004ca16 jam local_host ,mem_disconn_reason_send 
+6009 20600000 rtn 
+
+send_lmp:
+600a 47414030 bpatchx patch30_2 ,mem_patch30 
+600b 78547c00 disable user 
+600c 204062c1 call lmo_fifo_process 
+600d 68008048 fetch 1 ,mem_lmp_to_send 
+600e 207a0000 rtn blank 
+600f c283e03f bbit1 7 ,send_lmp_escape 
+
+send_lmp0:
+6010 c000e16f beq lmp_name_req ,send_lmp_name_req 
+6011 c00160e4 beq lmp_name_res ,send_lmp_name_res 
+6012 c001e04a beq lmp_accepted ,send_lmp_accepted 
+6013 c0026060 beq lmp_not_accepted ,send_lmp_not_accepted 
+6014 c013e1db beq lmp_features_req ,send_lmp_features_req 
+6015 c0146108 beq lmp_features_res ,send_lmp_features_res 
+6016 c01860f4 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+6017 c012e1d6 beq lmp_version_req ,send_lmp_version_req 
+6018 c0136103 beq lmp_version_res ,send_lmp_version_res 
+6019 c018e1c3 beq lmp_setup_complete ,send_lmp_setup_complete 
+601a c01be16a beq lmp_supervision_timeout ,send_lmp_superto 
+601b c019e15c beq lmp_host_connection_req ,send_lmp_no_payload 
+601c c0046259 beq lmp_in_rand ,send_lmp_inrand 
+601d c004e24f beq lmp_comb_key ,send_lmp_comb_key 
+601e c005e264 beq lmp_au_rand ,send_lmp_aurand 
+601f c006626d beq lmp_sres ,send_lmp_sres 
+6020 c007e162 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+6021 c0086292 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+6022 c008e288 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+6023 c003e152 beq lmp_detach ,send_lmp_detach 
+6024 c015617e beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+6025 c005617f beq lmp_unit_key ,send_lmp_unit_key 
+6026 c00fe1bc beq lmp_incr_power_req ,send_lmp_inc_power 
+6027 c00360f9 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+6028 c010e15f beq lmp_max_power ,send_lmp_nopayload_reply 
+6029 c016e1b2 beq lmp_max_slot ,send_lmp_max_slot 
+602a c01761b7 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+602b c011615f beq lmp_min_power ,send_lmp_nopayload_reply 
+602c c01a6180 beq lmp_slot_offset ,send_lmp_slot_offset 
+602d c009e195 beq lmp_switch_req ,send_lmp_switch_req 
+602e c00be1a4 beq lmp_sniff_req ,send_lmp_sniff_req 
+602f c009628f beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+6030 c017e1aa beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+6031 c00c61af beq lmp_unsniff_req ,send_lmp_unsniff_req 
+6032 c01ee1ff beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+6033 c01f620b beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+6034 c01fe21d beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+6035 c0206227 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+6036 c020e23c beq lmp_dhkey_check ,send_lmp_dhkey_check 
+6037 c011e24b beq lmp_auto_rate ,send_lmp_auto_rate 
+6038 c01de246 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+6039 c002e24c beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+603a c014e24d beq lmp_quality_of_service ,send_lmp_quality_of_service 
+603b c01c624e beq lmp_test_activate ,send_lmp_test_activate 
+603c c01ce175 beq lmp_test_control ,send_lmp_test_control 
+
+send_lmp_error:
+603d 20202a8c branch assert 
+603e 20600000 rtn 
+
+send_lmp_escape:
+603f c040e06d beq lmp_ext_accepted ,send_lmpext_accepted 
+6040 c0426099 beq lmp_ext_features_res ,send_lmpext_features_res 
+6041 c0416076 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+6042 c041e10d beq lmp_ext_features_req ,send_lmpext_features_req 
+6043 c045e118 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+6044 c04be14e beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+6045 c04ce0d5 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+6046 c04d60a4 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+6047 c04ae0da beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+6048 c04b60db beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+6049 20202a8c branch assert 
+
+send_lmp_accepted:
+604a 18007e02 force 2 ,pdata 
+604b 20406298 call msg_send_lmp 
+604c 68008049 fetch 1 ,mem_lmi_opcode 
+604d e0a08000 istore 1 ,contw 
+604e 204062a7 call send_lmp_follow 
+604f 4741c030 bpatchx patch30_3 ,mem_patch30 
+6050 68008049 fetch 1 ,mem_lmi_opcode 
+6051 c0046080 beq lmp_in_rand ,send_lmp_accepted_inrand 
+6052 c007e084 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+6053 c008608f beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+6054 c00be05f beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+6055 c019e092 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+6056 c020e098 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+6057 c008e059 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+6058 20600000 rtn 
+
+send_create_conn_start_l2cap_timer_sm:
+6059 68008055 fetch 1 ,mem_conn_sm 
+605a 207a0000 rtn blank 
+605b 7000551b jam conn_sm_wait_done ,mem_conn_sm 
+605c 5800000c setarg timer_enpt_waite 
+605d d8e00007 arg enpt_delay_timer ,queue 
+605e 20207f08 branch timer_init 
+
+send_lmp_accept_sniff_req:
+605f 202026c6 branch sniff_init 
+
+send_lmp_not_accepted:
+6060 18007e03 force 3 ,pdata 
+6061 20406298 call msg_send_lmp 
+6062 68008049 fetch 1 ,mem_lmi_opcode 
+6063 c005e068 beq lmp_au_rand ,send_not_accept_aurand 
+6064 e0a08000 istore 1 ,contw 
+6065 6800804a fetch 1 ,mem_lmo_reason 
+6066 e0a08000 istore 1 ,contw 
+6067 202062a7 branch send_lmp_follow 
+
+send_not_accept_aurand:
+6068 e0a08000 istore 1 ,contw 
+6069 6800804a fetch 1 ,mem_lmo_reason 
+606a e0a08000 istore 1 ,contw 
+606b d84004d5 arg mem_sres_tid ,temp 
+606c 202062e2 branch special_tid_store 
+
+send_lmpext_accepted:
+606d 18000e04 force 4 ,queue 
+606e 204062a0 call send_lmpext 
+606f 5800007f setarg lmp_escape 
+6070 e0a08000 istore 1 ,contw 
+6071 68008049 fetch 1 ,mem_lmi_opcode 
+6072 793ffe07 set0 7 ,pdata 
+6073 e0a08000 istore 1 ,contw 
+6074 68008049 fetch 1 ,mem_lmi_opcode 
+6075 202062a7 branch send_lmp_follow 
+
+send_lmpext_not_accepted:
+6076 18000e05 force 5 ,queue 
+6077 204062a0 call send_lmpext 
+6078 5800007f setarg lmp_escape 
+6079 e0a08000 istore 1 ,contw 
+607a 68008049 fetch 1 ,mem_lmi_opcode 
+607b 793ffe07 set0 7 ,pdata 
+607c e0a08000 istore 1 ,contw 
+607d 6800804a fetch 1 ,mem_lmo_reason 
+607e e0a08000 istore 1 ,contw 
+607f 202062a7 branch send_lmp_follow 
+
+send_lmp_accepted_inrand:
+6080 2040244f call clear_linkkey 
+6081 204062f3 call tid_check 
+6082 20608000 rtn true 
+6083 20205ffc branch lmp_generate_key 
+
+send_lmp_accepted_enc_mode:
+6084 6800804b fetch 1 ,mem_op 
+6085 c282e08b bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+6086 c4020000 rtnbit0 op_stop_enc 
+6087 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+6088 793ffe04 set0 op_stop_enc ,pdata 
+6089 204062eb call tid_reply 
+608a 2020608d branch send_lmp_accepted_enc_exit 
+
+send_lmp_accepted_enc_start:
+608b 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+608c 793ffe05 set0 op_start_enc ,pdata 
+
+send_lmp_accepted_enc_exit:
+608d 6000804b store 1 ,mem_op 
+608e 20600000 rtn 
+
+send_lmp_accepted_enc_key:
+608f 204062fc call check_localsm 
+6090 2020dffe branch lmp_start_encryption ,true 
+6091 20600000 rtn 
+
+send_lmp_accepted_connection:
+6092 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+6093 680084d1 fetch 1 ,mem_lmp_conn_state 
+6094 79207e00 set1 received_conn_req ,pdata 
+6095 600084d1 store 1 ,mem_lmp_conn_state 
+6096 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+6097 20207d86 branch ui_ipc_send_event 
+
+send_lmp_accept_dhkey_check:
+6098 20600000 rtn 
+
+send_lmpext_features_res:
+6099 18000e0c force 12 ,queue 
+609a 204062a0 call send_lmpext 
+609b 58000001 setarg 0x01 
+609c e0a08000 istore 1 ,contw 
+609d 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+609e e0a10000 istore 2 ,contw 
+609f 58000000 setarg 0 
+60a0 e0a18000 istore 3 ,contw 
+60a1 58000000 setarg 0x00 
+60a2 e0a20000 istore 4 ,contw 
+60a3 202062b0 branch send_lmp_reply 
+
+send_lmpext_io_cap_res:
+60a4 18000e05 force 5 ,queue 
+60a5 204062a0 call send_lmpext 
+60a6 6801c65b fetch 3 ,mem_sp_iocap_local 
+60a7 e0a18000 istore 3 ,contw 
+60a8 204062b0 call send_lmp_reply 
+60a9 70466501 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+60aa 6800c65b fetch 1 ,mem_sp_iocap_local 
+60ab c000e0b5 beq display_yesno ,responder_iocap_display_yesno 
+60ac c00160af beq keyboard_only ,responder_iocap_keyboard_only 
+60ad c001e0bb beq no_input_no_output ,responder_iocap_no_input_no_output 
+60ae 20600000 rtn 
+
+responder_iocap_keyboard_only:
+60af 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b0 c00060c7 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+60b1 c000e0c7 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+60b2 c00160c7 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+60b3 c001e0c1 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+60b4 20600000 rtn 
+
+responder_iocap_display_yesno:
+60b5 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b6 c00060c1 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+60b7 c000e0c5 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+60b8 c00160c7 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+60b9 c001e0c1 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+60ba 20600000 rtn 
+
+responder_iocap_no_input_no_output:
+60bb 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60bc c00060c1 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+60bd c000e0c1 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+60be c00160c1 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+60bf c001e0c1 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+60c0 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+
+set_ssp_mode_justwork:
+60c1 70466203 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+60c2 6800c55c fetch 1 ,mem_classic_bt_flag 
+60c3 c28033e9 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+60c4 20600000 rtn 
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+
+set_ssp_mode_numeric_comparison:
+60c5 70466201 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+60c6 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+
+responder_iocap_keyboard_only_initiator_iocap_display_only:
+
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+
+set_ssp_mode_passkey:
+60c7 70466202 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+60c8 20600000 rtn 
+
+classic_bt_set_reject_justwork_flag:
+60c9 d8e00000 arg flag_ssp_reject_justwork ,queue 
+60ca 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_reject_justwork_flag:
+60cb d8e00000 arg flag_ssp_reject_justwork ,queue 
+60cc 202060d1 branch classic_bluetooth_clr_flag 
+
+classic_bluetooth_set_flag:
+60cd 6800c55c fetch 1 ,mem_classic_bt_flag 
+60ce f9207e00 qset1 pdata 
+60cf 6000c55c store 1 ,mem_classic_bt_flag 
+60d0 20600000 rtn 
+
+classic_bluetooth_clr_flag:
+60d1 6800c55c fetch 1 ,mem_classic_bt_flag 
+60d2 f93ffe00 qset0 pdata 
+60d3 6000c55c store 1 ,mem_classic_bt_flag 
+60d4 20600000 rtn 
+
+send_lmp_io_cap_req:
+60d5 18000e05 force 5 ,queue 
+60d6 204062a0 call send_lmpext 
+60d7 6801c65b fetch 3 ,mem_sp_iocap_local 
+60d8 e0a18000 istore 3 ,contw 
+60d9 202062b2 branch send_lmp_request 
+
+send_lmpext_sniff_subrating_req:
+60da 20600000 rtn 
+
+send_lmpext_sniff_subrating_res:
+60db 18000e09 force 9 ,queue 
+60dc 204062a0 call send_lmpext 
+60dd 68008095 fetch 1 ,mem_subsniff_rate 
+60de e0a08000 istore 1 ,contw 
+60df 68010096 fetch 2 ,mem_subsniff_tcmax 
+60e0 e0a10000 istore 2 ,contw 
+60e1 68020091 fetch 4 ,mem_subsniff_instant 
+60e2 e0a20000 istore 4 ,contw 
+60e3 202062b0 branch send_lmp_reply 
+
+send_lmp_name_res:
+60e4 18007e11 force 17 ,pdata 
+60e5 20406298 call msg_send_lmp 
+60e6 68008049 fetch 1 ,mem_lmi_opcode 
+60e7 1fe20400 copy pdata ,temp 
+60e8 c00060ec beq 0x00 ,send_lmp_name_res_offset_ok 
+60e9 c00760ec beq 0x0e ,send_lmp_name_res_offset_ok 
+60ea c00e60ec beq 0x1c ,send_lmp_name_res_offset_ok 
+60eb 20600000 rtn 
+
+send_lmp_name_res_offset_ok:
+60ec e0a08000 istore 1 ,contw 
+60ed 6800c515 fetch 1 ,mem_local_name_length 
+60ee e0a08000 istore 1 ,contw 
+60ef df20000e arg 14 ,loopcnt 
+60f0 58004516 setarg mem_local_name 
+60f1 98408c00 iadd temp ,contr 
+60f2 20407f01 call memcpy 
+60f3 202062b0 branch send_lmp_reply 
+
+send_lmp_timing_accuracy_res:
+60f4 18007e03 force 3 ,pdata 
+60f5 20406298 call msg_send_lmp 
+60f6 58000114 setarg 0x0114 
+60f7 e0a10000 istore 2 ,contw 
+60f8 202062b0 branch send_lmp_reply 
+
+send_lmp_clkoffset_res:
+60f9 18007e03 force 3 ,pdata 
+60fa 20406298 call msg_send_lmp 
+60fb 68020165 fetch 4 ,mem_clke_bt 
+60fc 9c467e00 isub clkn_bt ,pdata 
+60fd 2034e0ff branch send_lmp_clkoffset_res_master ,master 
+60fe 1fe67e00 sub pdata ,0 ,pdata 
+
+send_lmp_clkoffset_res_master:
+60ff 1feb7e00 rshift2 pdata ,pdata 
+6100 793ffe0f set0 15 ,pdata 
+6101 e0a10000 istore 2 ,contw 
+6102 202062b0 branch send_lmp_reply 
+
+send_lmp_version_res:
+6103 18007e06 force 6 ,pdata 
+6104 20406298 call msg_send_lmp 
+6105 6802c510 fetch 5 ,mem_lmp_version 
+6106 e0a28000 istore 5 ,contw 
+6107 202062b0 branch send_lmp_reply 
+
+send_lmp_features_res:
+6108 18007e09 force 9 ,pdata 
+6109 20406298 call msg_send_lmp 
+610a 68044098 fetch 8 ,mem_features 
+610b e0a40000 istore 8 ,contw 
+610c 202062b0 branch send_lmp_reply 
+
+send_lmpext_features_req:
+610d 18000e0c force 12 ,queue 
+610e 204062a0 call send_lmpext 
+610f 58000001 setarg 0x01 
+6110 e0a08000 istore 1 ,contw 
+6111 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+6112 e0a10000 istore 2 ,contw 
+6113 58000000 setarg 0 
+6114 e0a18000 istore 3 ,contw 
+6115 58000000 setarg 0x00 
+6116 e0a20000 istore 4 ,contw 
+6117 202062b2 branch send_lmp_request 
+
+send_lmpext_packet_type_table_req:
+6118 18000e03 force 3 ,queue 
+6119 204062a0 call send_lmpext 
+611a 6800c15a fetch 1 ,mem_ptt 
+611b e0a08000 istore 1 ,contw 
+611c 78547c00 disable user 
+611d 204062b2 call send_lmp_request 
+611e 24740000 nrtn user 
+611f 24748000 nrtn master 
+6120 6800c0d8 fetch 1 ,mem_afh_cfg 
+6121 c4000000 rtnbit0 afh_cfg_on 
+6122 20406132 call afh_init 
+6123 2020613c branch afh_open_all_channels 
+
+ssp_enable:
+6124 47424030 bpatchx patch30_4 ,mem_patch30 
+6125 6800c09e fetch 1 ,mem_features + 6 
+6126 79207e03 set1 param_featrue_ssp ,pdata 
+6127 6000c09e store 1 ,mem_features + 6 
+6128 58000101 setarg param_lmpext_ssp_enable 
+6129 600104ce store 2 ,mem_lmpext_ssp_enable 
+612a 20600000 rtn 
+
+ssp_disable:
+612b 4742c030 bpatchx patch30_5 ,mem_patch30 
+612c 6800c09e fetch 1 ,mem_features + 6 
+612d 793ffe03 set0 param_featrue_ssp ,pdata 
+612e 6000c09e store 1 ,mem_features + 6 
+612f 58000000 setarg 0 
+6130 600104ce store 2 ,mem_lmpext_ssp_enable 
+6131 20600000 rtn 
+
+afh_init:
+6132 7040d803 jam 0x3 ,mem_afh_cfg 
+6133 58000000 setarg 0 
+6134 60024142 store 4 ,mem_afh_timer 
+6135 d8a040da arg mem_afh_map_lo ,contw 
+6136 20406140 call afh_reset_map 
+6137 d8a040e7 arg mem_afh_map_new ,contw 
+6138 20406140 call afh_reset_map 
+6139 d8a04146 arg mem_afh_classify_channel_map ,contw 
+613a 20406140 call afh_reset_map 
+613b 20206147 branch afh_clear_error_counter 
+
+afh_open_all_channels:
+613c d8a040e7 arg mem_afh_map_new ,contw 
+613d 20406140 call afh_reset_map 
+613e 20406147 call afh_clear_error_counter 
+613f 2020614a branch afh_set_send_flag 
+
+afh_reset_map:
+6140 58ffffff setarg 0xffffff 
+6141 e0a18000 istore 3 ,contw 
+6142 e0a18000 istore 3 ,contw 
+6143 e0a18000 istore 3 ,contw 
+6144 5800007f setarg 0x7f 
+6145 e0a08000 istore 1 ,contw 
+6146 20600000 rtn 
+
+afh_clear_error_counter:
+6147 58000000 setarg 0 
+6148 600140d6 store 2 ,mem_afh_error_total 
+6149 20600000 rtn 
+
+afh_set_send_flag:
+614a 6800c0d8 fetch 1 ,mem_afh_cfg 
+614b 79207e02 set1 send_lmp_set_afh ,pdata 
+614c 6000c0d8 store 1 ,mem_afh_cfg 
+614d 20600000 rtn 
+
+send_lmpext_pause_encryption_req:
+614e 18000e02 force 2 ,queue 
+614f 204062a0 call send_lmpext 
+6150 2434e2b0 nbranch send_lmp_reply ,master 
+6151 202062b2 branch send_lmp_request 
+
+send_lmp_detach:
+6152 18007e02 force 2 ,pdata 
+6153 20406298 call msg_send_lmp 
+6154 680084ca fetch 1 ,mem_disconn_reason_send 
+6155 e0a08000 istore 1 ,contw 
+6156 204062b2 call send_lmp_request 
+
+prepare_disconnect:
+6157 6800804b fetch 1 ,mem_op 
+6158 79207e03 set1 op_disconn ,pdata 
+6159 6000804b store 1 ,mem_op 
+615a 70007232 jam 50 ,mem_conn_timer 
+615b 20600000 rtn 
+
+send_lmp_no_payload:
+615c 18007e01 force 1 ,pdata 
+615d 20406298 call msg_send_lmp 
+615e 202062b2 branch send_lmp_request 
+
+send_lmp_nopayload_reply:
+615f 18007e01 force 1 ,pdata 
+6160 20406298 call msg_send_lmp 
+6161 202062b0 branch send_lmp_reply 
+
+send_lmp_encryption_mode_req:
+6162 18007e02 force 2 ,pdata 
+6163 20406298 call msg_send_lmp 
+6164 6800804c fetch 1 ,mem_state_map 
+6165 2fec0002 isolate0 smap_encryption ,pdata 
+6166 7920fe00 setflag true ,0 ,pdata 
+6167 1fe17e01 and_into 1 ,pdata 
+6168 e0a08000 istore 1 ,contw 
+6169 202062b2 branch send_lmp_request 
+
+send_lmp_superto:
+616a 18007e03 force 3 ,pdata 
+616b 20406298 call msg_send_lmp 
+616c 68010051 fetch 2 ,mem_supervision_to 
+616d e0a10000 istore 2 ,contw 
+616e 202062b2 branch send_lmp_request 
+
+send_lmp_name_req:
+616f 700072fa jam 250 ,mem_conn_timer 
+6170 18007e02 force 2 ,pdata 
+6171 20406298 call msg_send_lmp 
+6172 68008053 fetch 1 ,mem_name_offset 
+6173 e0a08000 istore 1 ,contw 
+6174 202062b2 branch send_lmp_request 
+
+send_lmp_test_control:
+6175 18007e0a force 10 ,pdata 
+6176 20406298 call msg_send_lmp 
+6177 d8c00152 arg mem_temp_payload ,contr 
+6178 18007209 force 9 ,loopcnt 
+
+send_lmp_test_control_loop:
+6179 e8c08000 ifetch 1 ,contr 
+617a 1fe2fe55 xor_into 0x55 ,pdata 
+617b e0a08000 istore 1 ,contw 
+617c c2006179 loop send_lmp_test_control_loop 
+617d 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service_req:
+617e 202062b2 branch send_lmp_request 
+
+send_lmp_unit_key:
+617f 202062b2 branch send_lmp_request 
+
+send_lmp_slot_offset:
+6180 20748000 rtn master 
+6181 2040282d call calc_slot_offset 
+6182 18007e09 force 9 ,pdata 
+6183 20406298 call msg_send_lmp 
+6184 68010171 fetch 2 ,mem_slot_offset 
+6185 e0a10000 istore 2 ,contw 
+6186 6801c0a0 fetch 3 ,mem_lap 
+6187 e0a18000 istore 3 ,contw 
+6188 6800c0a3 fetch 1 ,mem_uap 
+6189 e0a08000 istore 1 ,contw 
+618a 680140a4 fetch 2 ,mem_nap 
+618b e0a10000 istore 2 ,contw 
+618c c581e191 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+618d 793f8003 set0 mark_switch_initiated ,mark 
+618e 204062b2 call send_lmp_request 
+618f 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6190 20600000 rtn 
+
+send_lmp_slot_offset_reply:
+6191 204062b0 call send_lmp_reply 
+6192 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6193 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+6194 20600000 rtn 
+
+send_lmp_switch_req:
+6195 d8400200 arg 0x200 ,temp 
+6196 2034e199 branch switch_on_native ,master 
+6197 1d027e00 deposit clke_bt 
+6198 2020619a branch switch_slack 
+
+switch_on_native:
+6199 1c427e00 deposit clkn_bt 
+
+switch_slack:
+619a 1c227e00 deposit bt_clk 
+619b 9840fe00 iadd temp ,pdata 
+619c 1fe17ffc and_into 0x1fc ,pdata 
+619d 60020034 store 4 ,mem_sniff_anchor 
+619e 18007e05 force 5 ,pdata 
+619f 20406298 call msg_send_lmp 
+61a0 68020034 fetch 4 ,mem_sniff_anchor 
+61a1 1fe37e00 rshift pdata ,pdata 
+61a2 e0a20000 istore 4 ,contw 
+61a3 202062b2 branch send_lmp_request 
+
+send_lmp_sniff_req:
+61a4 18007e0a force 10 ,pdata 
+61a5 20406298 call msg_send_lmp 
+61a6 d8c004d9 arg mem_sniff_payload ,contr 
+61a7 e8c48000 ifetch 9 ,contr 
+61a8 e0a48000 istore 9 ,contw 
+61a9 202062b2 branch send_lmp_request 
+
+send_lmp_timing_accuracy_req:
+61aa 18007e03 force 3 ,pdata 
+61ab 20406298 call msg_send_lmp 
+61ac 58000114 setarg 0x0114 
+61ad e0a10000 istore 2 ,contw 
+61ae 202062b2 branch send_lmp_request 
+
+send_lmp_unsniff_req:
+61af 18007e01 force 1 ,pdata 
+61b0 20406298 call msg_send_lmp 
+61b1 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot:
+61b2 18007e02 force 2 ,pdata 
+61b3 20406298 call msg_send_lmp 
+61b4 6800c0d0 fetch 1 ,mem_max_slot 
+61b5 e0a08000 istore 1 ,contw 
+61b6 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot_req:
+61b7 18007e02 force 2 ,pdata 
+61b8 20406298 call msg_send_lmp 
+61b9 58000005 setarg 0x05 
+61ba e0a08000 istore 1 ,contw 
+61bb 202062b2 branch send_lmp_request 
+
+send_lmp_inc_power:
+61bc 18007e02 force 2 ,pdata 
+61bd 20406298 call msg_send_lmp 
+61be 58000000 setarg 0x00 
+61bf e0a08000 istore 1 ,contw 
+61c0 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_by_module:
+61c1 70007c2e jam lmp_max_slot_req ,mem_lmo_opcode2 
+61c2 20600000 rtn 
+
+send_lmp_setup_complete:
+61c3 6800c092 fetch 1 ,mem_device_option 
+61c4 1fe67c0a sub pdata ,dvc_op_module ,null 
+61c5 2042e1c1 call send_lmp_setup_complete_by_module ,zero 
+61c6 68008030 fetch 1 ,mem_state 
+61c7 79207e04 set1 state_conn_comp ,pdata 
+61c8 60008030 store 1 ,mem_state 
+61c9 1c427e00 copy clkn_bt ,pdata 
+61ca 600204e9 store 4 ,mem_aurand_send_delay_time 
+61cb 680084d1 fetch 1 ,mem_lmp_conn_state 
+61cc c281e1d4 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+61cd 79207e03 set1 sent_setup_complete ,pdata 
+61ce 600084d1 store 1 ,mem_lmp_conn_state 
+61cf 700a9905 jam bt_evt_setup_complete ,mem_fifo_temp 
+61d0 20407d86 call ui_ipc_send_event 
+61d1 18007e01 force 1 ,pdata 
+61d2 20406298 call msg_send_lmp 
+61d3 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_has_sent:
+61d4 70004800 jam 0 ,mem_lmp_to_send 
+61d5 20600000 rtn 
+
+send_lmp_version_req:
+61d6 18007e06 force 6 ,pdata 
+61d7 20406298 call msg_send_lmp 
+61d8 6802c510 fetch 5 ,mem_lmp_version 
+61d9 e0a28000 istore 5 ,contw 
+61da 202062b2 branch send_lmp_request 
+
+send_lmp_features_req:
+61db 18007e09 force 9 ,pdata 
+61dc 20406298 call msg_send_lmp 
+61dd 68044098 fetch 8 ,mem_features 
+61de e0a40000 istore 8 ,contw 
+61df 202062b2 branch send_lmp_request 
+
+sp_master_send_io_cap_get:
+61e0 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+61e1 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+61e2 c1808000 rtnne sp_key_valid 
+61e3 7009af13 jam sp_master_stat_start_done ,mem_master_sp_state 
+61e4 20600000 rtn 
+
+sp_master_send_io_cap_send:
+61e5 204062ef call tid_initiate 
+61e6 70007c99 jam lmp_io_cap_req ,mem_lmo_opcode2 
+61e7 7009af03 jam sp_stat_key_send ,mem_master_sp_state 
+61e8 20600000 rtn 
+
+sp_master_send_lmp_encapsulated_header:
+61e9 204062ef call tid_initiate 
+61ea 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61eb 7009af07 jam sp_stat_random_send ,mem_master_sp_state 
+61ec 20600000 rtn 
+
+sp_master_commitment_compare:
+61ed da200a4e arg mem_sp_calc_result_high ,rega 
+61ee da400a6e arg mem_sp_confirm_remote ,regb 
+61ef df200010 arg 16 ,loopcnt 
+61f0 20407f88 call string_compare 
+61f1 2022e1f7 branch sp_master_commitment_compare_success ,zero 
+61f2 7009af00 jam sp_stat_null ,mem_master_sp_state 
+61f3 204076da call master_clear_mem_master_sp_flag 
+61f4 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+61f5 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61f6 20205d53 branch reject_lmp_packet 
+
+sp_master_commitment_compare_success:
+61f7 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+61f8 204076d8 call master_set_mem_master_sp_flag 
+61f9 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61fa 20205e38 branch accept_lmp_msg 
+
+sp_master_send_lmp_simple_pairing_number:
+61fb 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+61fc 20600000 rtn 
+
+sp_send_lmp_encapsulated_header:
+61fd 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61fe 20600000 rtn 
+
+send_lmp_encapsulated_header:
+61ff 7009b600 jam 0 ,mem_sp_local_key_send_count 
+6200 18007e04 force 4 ,pdata 
+6201 20406298 call msg_send_lmp 
+6202 18007e01 force encapsulated_major_type_p192 ,pdata 
+6203 e0a08000 istore 1 ,contw 
+6204 18007e01 force encapsulated_minor_type_p192 ,pdata 
+6205 e0a08000 istore 1 ,contw 
+6206 18007e30 force encapsulated_len_p192 ,pdata 
+6207 e0a08000 istore 1 ,contw 
+6208 204062fc call check_localsm 
+6209 2020e2b2 branch send_lmp_request ,true 
+620a 202062b0 branch send_lmp_reply 
+
+send_lmp_encapsulated_payload:
+620b 18007e11 force 17 ,pdata 
+620c 20406298 call msg_send_lmp 
+620d 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+620e d8c0462a arg mem_sp_pubkey_local ,contr 
+620f 98c08c00 iadd contr ,contr 
+6210 e8c40000 ifetch 8 ,contr 
+6211 e0a40000 istore 8 ,contw 
+6212 e8c40000 ifetch 8 ,contr 
+6213 e0a40000 istore 8 ,contw 
+6214 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+6215 1fe0fe10 increase 16 ,pdata 
+6216 600089b6 store 1 ,mem_sp_local_key_send_count 
+6217 204062fc call check_localsm 
+6218 2020e2b2 branch send_lmp_request ,true 
+6219 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_comfirm:
+621a 7009ae06 jam sp_stat_random_recv ,mem_sp_state 
+621b 70007c3f jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+621c 20600000 rtn 
+
+send_lmp_simple_pairing_comfirm:
+621d 18007e11 force 17 ,pdata 
+621e 20406298 call msg_send_lmp 
+621f d8c00a4e arg mem_sp_calc_result_high ,contr 
+6220 e8c40000 ifetch 8 ,contr 
+6221 e0a40000 istore 8 ,contw 
+6222 e8c40000 ifetch 8 ,contr 
+6223 e0a40000 istore 8 ,contw 
+6224 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_number:
+6225 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+6226 20600000 rtn 
+
+send_lmp_simple_pairing_number:
+6227 204062fc call check_localsm 
+6228 2040f612 call sp_local_random_key_generator ,true 
+6229 18007e11 force 17 ,pdata 
+622a 20406298 call msg_send_lmp 
+622b d8c00a1e arg mem_sp_random_local ,contr 
+622c e8c40000 ifetch 8 ,contr 
+622d e0a40000 istore 8 ,contw 
+622e e8c40000 ifetch 8 ,contr 
+622f e0a40000 istore 8 ,contw 
+6230 204062fc call check_localsm 
+6231 2420e2b0 nbranch send_lmp_reply ,true 
+6232 2020e2b2 branch send_lmp_request ,true 
+
+master_sp_sm_end:
+6233 7009af0f jam sp_stat_done ,mem_master_sp_state 
+
+sp_aurand_send:
+6234 204062ef call tid_initiate 
+6235 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+6236 20406307 call check_localsm_master 
+6237 2020f64e branch sp_master_key_prarm_push ,true 
+6238 20207658 branch sp_link_key_prarm_push 
+
+master_sp_send_lmp_dhkey_check:
+6239 204062eb call tid_reply 
+
+sp_send_lmp_dhkey_check:
+623a 70007c41 jam lmp_dhkey_check ,mem_lmo_opcode2 
+623b 20600000 rtn 
+
+send_lmp_dhkey_check:
+623c 18007e11 force 17 ,pdata 
+623d 20406298 call msg_send_lmp 
+623e d8c00a4e arg mem_sp_calc_result_high ,contr 
+623f e8c40000 ifetch 8 ,contr 
+6240 e0a40000 istore 8 ,contw 
+6241 e8c40000 ifetch 8 ,contr 
+6242 e0a40000 istore 8 ,contw 
+6243 204062fc call check_localsm 
+6244 2420e2b0 nbranch send_lmp_reply ,true 
+6245 2020e2b2 branch send_lmp_request ,true 
+
+send_lmp_enc_key_size_mask_res:
+6246 18007e03 force 3 ,pdata 
+6247 20406298 call msg_send_lmp 
+6248 5800fffe setarg 0xfffe 
+6249 e0a10000 istore 2 ,contw 
+624a 202062b0 branch send_lmp_reply 
+
+send_lmp_auto_rate:
+624b 202062b2 branch send_lmp_request 
+
+send_lmp_clkoffset_req:
+624c 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service:
+624d 202062b2 branch send_lmp_request 
+
+send_lmp_test_activate:
+624e 202062b2 branch send_lmp_request 
+
+send_lmp_comb_key:
+624f 2040630b call generate_random_number 
+6250 da2040a0 arg mem_lap ,rega 
+6251 20406311 call generate_linkkey 
+6252 18007e11 force 17 ,pdata 
+6253 20406298 call msg_send_lmp 
+6254 da200582 arg mem_kinit ,rega 
+6255 da400562 arg mem_random_number ,regb 
+6256 20407352 call xor16 
+6257 2434e2a7 nbranch send_lmp_follow ,master 
+6258 202062ad branch send_lmp_tid 
+
+send_lmp_inrand:
+6259 2040630b call generate_random_number 
+625a da200040 arg mem_plap ,rega 
+625b 20407255 call generate_kinit 
+
+send_lmp_rand:
+625c 18007e11 force 17 ,pdata 
+625d 20406298 call msg_send_lmp 
+625e d8c00562 arg mem_random_number ,contr 
+625f 20407ebf call memcpy16 
+6260 68008055 fetch 1 ,mem_conn_sm 
+6261 c00ce2b2 beq conn_sm_auth_wait ,send_lmp_request 
+6262 c00c62b2 beq conn_sm_pairing_wait ,send_lmp_request 
+6263 202062ad branch send_lmp_tid 
+
+send_lmp_aurand:
+6264 680089b5 fetch 1 ,mem_pairing_auth 
+6265 203a626a branch send_lmp_aurand_notpairing ,blank 
+6266 204062fc call check_localsm 
+6267 2040e2ef call tid_initiate ,true 
+6268 2440e2eb ncall tid_reply ,true 
+6269 2020626b branch send_lmp_aurand_common 
+
+send_lmp_aurand_notpairing:
+626a 204062ef call tid_initiate 
+
+send_lmp_aurand_common:
+626b 2040630b call generate_random_number 
+626c 2020625c branch send_lmp_rand 
+
+send_lmp_sres:
+626d da2040a0 arg mem_lap ,rega 
+626e 20407288 call function_e1 
+626f 18007e05 force 5 ,pdata 
+6270 20406298 call msg_send_lmp 
+6271 68020592 fetch 4 ,mem_input_store 
+6272 e0a20000 istore 4 ,contw 
+6273 d84004d5 arg mem_sres_tid ,temp 
+6274 204062e2 call special_tid_store 
+6275 20407386 call copy_aco 
+6276 204062fc call check_localsm 
+6277 2020e27c branch send_lmp_sres_master ,true 
+6278 7004d801 jam done_encryp ,mem_wait_encryption 
+6279 680089b5 fetch 1 ,mem_pairing_auth 
+627a 207a0000 rtn blank 
+627b 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+
+send_lmp_sres_master:
+627c 6800c1bd fetch 1 ,mem_link_key_exists 
+627d 207a0000 rtn blank 
+
+send_lmp_sres_startenc:
+627e 204062fc call check_localsm 
+627f 2420e284 nbranch send_lmp_sres_startenc_slave ,true 
+6280 680084d7 fetch 1 ,mem_auth_enable 
+6281 207a0000 rtn blank 
+6282 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6283 20600000 rtn 
+
+send_lmp_sres_startenc_slave:
+6284 c6908000 rtnmark0 mark_slave_in_rand_accepted 
+6285 793f8021 set0 mark_slave_in_rand_accepted ,mark 
+6286 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6287 20600000 rtn 
+
+send_lmp_start_encryption:
+6288 2040630b call generate_random_number 
+6289 2040728b call function_e3 
+628a 18007e11 force 17 ,pdata 
+628b 20406298 call msg_send_lmp 
+628c d8c00562 arg mem_random_number ,contr 
+628d 20407ebf call memcpy16 
+628e 202062ad branch send_lmp_tid 
+
+send_lmp_stop_encryption_req:
+628f 18007e01 force 1 ,pdata 
+6290 20406298 call msg_send_lmp 
+6291 202062ad branch send_lmp_tid 
+
+send_lmp_encryption_key_size_req:
+6292 18007e02 force 2 ,pdata 
+6293 20406298 call msg_send_lmp 
+6294 18007e10 force 16 ,pdata 
+6295 e0a08000 istore 1 ,contw 
+6296 60008054 store 1 ,mem_key_size 
+6297 202062ad branch send_lmp_tid 
+
+msg_send_lmp:
+6298 1fe9fe00 lshift3 pdata ,pdata 
+6299 1fe1fe07 or_into 0x07 ,pdata 
+629a 600084b6 store 1 ,mem_lmo_header_length 
+629b df200011 arg 17 ,loopcnt 
+629c d8a004b8 arg mem_lmo_payload ,contw 
+629d 20407ed4 call clear_mem 
+629e d8a004b8 arg mem_lmo_payload ,contw 
+629f 20600000 rtn 
+
+send_lmpext:
+62a0 1fe1227f and pdata ,0x7f ,rega 
+62a1 7000487f jam lmp_escape ,mem_lmp_to_send 
+62a2 18e27e00 deposit queue 
+62a3 20406298 call msg_send_lmp 
+62a4 1a227e00 deposit rega 
+62a5 e0a08000 istore 1 ,contw 
+62a6 20600000 rtn 
+
+send_lmp_follow:
+62a7 68008048 fetch 1 ,mem_lmp_to_send 
+62a8 1fe3fe00 lshift pdata ,pdata 
+62a9 6808804c fetcht 1 ,mem_state_map 
+62aa 284ffe01 isolate1 smap_lmptid ,temp 
+62ab 7920fe00 setflag true ,0 ,pdata 
+62ac 202062b7 branch send_lmp_exit 
+
+send_lmp_tid:
+62ad 6808804c fetcht 1 ,mem_state_map 
+62ae 18410401 and_into 1 ,temp 
+62af 202062b3 branch send_lmp_end 
+
+send_lmp_reply:
+62b0 18000400 force 0 ,temp 
+62b1 202062b3 branch send_lmp_end 
+
+send_lmp_request:
+62b2 18000401 force 1 ,temp 
+
+send_lmp_end:
+62b3 68008048 fetch 1 ,mem_lmp_to_send 
+62b4 1fe3fe00 lshift pdata ,pdata 
+62b5 7934fe00 setflag master ,0 ,pdata 
+62b6 9842fe00 ixor temp ,pdata 
+
+send_lmp_exit:
+62b7 600084b7 store 1 ,mem_lmo_header_opcode 
+62b8 70004800 jam 0 ,mem_lmp_to_send 
+62b9 204062c7 call lmo_fifo_process_lmo0empty 
+62ba 78347c00 enable user 
+62bb 20600000 rtn 
+
+lmo_fifo_check:
+62bc 6800807c fetch 1 ,mem_lmo_opcode2 
+62bd 207a0000 rtn blank 
+62be 204062c1 call lmo_fifo_process 
+62bf 6800807c fetch 1 ,mem_lmo_opcode2 
+62c0 20600000 rtn 
+
+lmo_fifo_process:
+62c1 47434030 bpatchx patch30_6 ,mem_patch30 
+62c2 68008048 fetch 1 ,mem_lmp_to_send 
+62c3 203a62c7 branch lmo_fifo_process_lmo0empty ,blank 
+62c4 68008078 fetch 1 ,mem_lmo_opcode1 
+62c5 247a0000 nrtn blank 
+62c6 202062d1 branch lmo_fifo_process_lmo2to1 
+
+lmo_fifo_process_lmo0empty:
+62c7 68008078 fetch 1 ,mem_lmo_opcode1 
+62c8 203a62d7 branch lmo_fifo_process_lmo1_empty ,blank 
+62c9 68018078 fetch 3 ,mem_lmo_opcode1 
+62ca 60018048 store 3 ,mem_lmp_to_send 
+62cb 6808807b fetcht 1 ,mem_lmo_tid1 
+62cc 6800804c fetch 1 ,mem_state_map 
+62cd 793ffe01 set0 smap_lmptid ,pdata 
+62ce 9841fe00 ior temp ,pdata 
+62cf 6000804c store 1 ,mem_state_map 
+62d0 70007800 jam 0 ,mem_lmo_opcode1 
+
+lmo_fifo_process_lmo2to1:
+62d1 6800807c fetch 1 ,mem_lmo_opcode2 
+62d2 207a0000 rtn blank 
+62d3 6802007c fetch 4 ,mem_lmo_opcode2 
+62d4 60020078 store 4 ,mem_lmo_opcode1 
+62d5 70007c00 jam 0 ,mem_lmo_opcode2 
+62d6 20600000 rtn 
+
+lmo_fifo_process_lmo1_empty:
+62d7 6800807c fetch 1 ,mem_lmo_opcode2 
+62d8 207a0000 rtn blank 
+62d9 6801807c fetch 3 ,mem_lmo_opcode2 
+62da 60018048 store 3 ,mem_lmp_to_send 
+62db 6808807f fetcht 1 ,mem_lmo_tid2 
+62dc 6800804c fetch 1 ,mem_state_map 
+62dd 793ffe01 set0 smap_lmptid ,pdata 
+62de 9841fe00 ior temp ,pdata 
+62df 6000804c store 1 ,mem_state_map 
+62e0 70007c00 jam 0 ,mem_lmo_opcode2 
+62e1 20600000 rtn 
+
+special_tid_store:
+62e2 4743c030 bpatchx patch30_7 ,mem_patch30 
+62e3 6800804c fetch 1 ,mem_state_map 
+62e4 1fe22600 copy pdata ,regc 
+62e5 e8408000 ifetch 1 ,temp 
+62e6 20405e52 call pop_tid_follow 
+62e7 204062a7 call send_lmp_follow 
+62e8 1a627e00 copy regc ,pdata 
+62e9 6000804c store 1 ,mem_state_map 
+62ea 20600000 rtn 
+
+tid_reply:
+62eb 6808804c fetcht 1 ,mem_state_map 
+62ec 793f8400 set0 smap_lmptidinit ,temp 
+62ed 6008804c storet 1 ,mem_state_map 
+62ee 20600000 rtn 
+
+tid_initiate:
+62ef 6808804c fetcht 1 ,mem_state_map 
+62f0 79200400 set1 smap_lmptidinit ,temp 
+62f1 6008804c storet 1 ,mem_state_map 
+62f2 20600000 rtn 
+
+tid_check:
+62f3 7d34fe01 nsetflag master ,smap_lmptid ,pdata 
+62f4 6808804c fetcht 1 ,mem_state_map 
+62f5 9842fe00 ixor temp ,pdata 
+62f6 2feffe01 isolate1 smap_lmptid ,pdata 
+62f7 20600000 rtn 
+
+tid_set_reply:
+62f8 6800804c fetch 1 ,mem_state_map 
+62f9 7934fe01 setflag master ,smap_lmptid ,pdata 
+62fa 6000804c store 1 ,mem_state_map 
+62fb 20600000 rtn 
+
+check_localsm:
+62fc 680089b4 fetch 1 ,mem_sp_localsm 
+62fd 2fe0fe01 compare local_statemachine ,pdata ,0x7f 
+62fe 20600000 rtn 
+
+setlocalsm_master:
+62ff 680089b4 fetch 1 ,mem_sp_localsm 
+6300 79207e07 set1 7 ,pdata 
+6301 600089b4 store 1 ,mem_sp_localsm 
+6302 20600000 rtn 
+
+setlocalsm_slave:
+6303 680089b4 fetch 1 ,mem_sp_localsm 
+6304 793ffe07 set0 7 ,pdata 
+6305 600089b4 store 1 ,mem_sp_localsm 
+6306 20600000 rtn 
+
+check_localsm_master:
+6307 680089b4 fetch 1 ,mem_sp_localsm 
+6308 2feffe07 isolate1 7 ,pdata 
+6309 600089b4 store 1 ,mem_sp_localsm 
+630a 20600000 rtn 
+
+generate_random_number:
+630b d8a00562 arg mem_random_number ,contw 
+
+generate_random:
+630c 18007210 force 16 ,loopcnt 
+
+generate_random_another:
+
+generate_random_loop:
+630d 180a7e00 random pdata 
+630e e0a08000 istore 1 ,contw 
+630f c200630d loop generate_random_another 
+6310 20600000 rtn 
+
+generate_linkkey:
+6311 20407259 call function_e21 
+6312 da2041be arg mem_link_key ,rega 
+6313 da400592 arg mem_input_store ,regb 
+6314 ea240000 ifetch 8 ,rega 
+6315 68088030 fetcht 1 ,mem_state 
+6316 7d3a0406 nsetflag blank ,state_combkey ,temp 
+6317 60088030 storet 1 ,mem_state 
+6318 1a220a00 copy rega ,contw 
+6319 20407352 call xor16 
+631a 202021c4 branch generate_linkkey_continue 
+
+process_conn_sm:
+631b 47444031 bpatchx patch31_0 ,mem_patch31 
+631c 204062bc call lmo_fifo_check 
+631d 247a0000 nrtn blank 
+
+process_conn_sm_continue:
+631e 68008055 fetch 1 ,mem_conn_sm 
+631f 207a0000 rtn blank 
+6320 c002636f beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+6321 c002e374 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+6322 c0016366 beq conn_sm_send_features ,host_create_conn_send_features 
+6323 c001e37c beq conn_sm_wait_features_res ,host_create_conn_waiting 
+6324 c0076369 beq conn_sm_send_switch ,host_create_conn_send_switch 
+6325 c0036398 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+6326 c003e3b0 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+6327 c004e3b1 beq conn_sm_encrypt ,host_create_conn_encrypt 
+6328 c00563ba beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+6329 c005e3be beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+632a c0066386 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+632b c006e389 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+632c c007e38f beq conn_sm_detach_delay ,host_create_conn_master_detach 
+632d c0096359 beq conn_sm_send_version ,host_create_conn_send_version 
+632e c009e37c beq conn_sm_wait_version ,host_create_conn_waiting 
+632f c008635c beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+6330 c00a6356 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+6331 c00ae37c beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+6332 c00b6350 beq conn_sm_pairing ,host_create_conn_pairing 
+6333 c00c6355 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+6334 c00be349 beq conn_sm_auth ,host_create_conn_auth 
+6335 c00ce34f beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+6336 c00d633a beq conn_sm_done ,host_create_conn_done 
+6337 c00de344 beq conn_sm_wait_done ,host_create_conn_done_wait 
+6338 70005500 jam conn_sm_standby ,mem_conn_sm 
+6339 20600000 rtn 
+
+host_create_conn_done:
+633a 680084d1 fetch 1 ,mem_lmp_conn_state 
+633b c4010000 rtnbit0 received_setup_complete 
+633c c4018000 rtnbit0 sent_setup_complete 
+633d 70005500 jam conn_sm_standby ,mem_conn_sm 
+633e 20406340 call host_conn_judge_encrypt 
+633f 20206cef branch scheduler_start_upper_sm 
+
+host_conn_judge_encrypt:
+6340 6800816d fetch 1 ,mem_connection_options 
+6341 c4008000 rtnbit0 connection_encrypt 
+6342 7000550a jam conn_sm_encrypt_wait ,mem_conn_sm 
+6343 20600000 rtn 
+
+host_create_conn_done_wait:
+6344 d8e00007 arg enpt_delay_timer ,queue 
+6345 20407f16 call timer_check 
+6346 247a0000 nrtn blank 
+6347 7000551a jam conn_sm_done ,mem_conn_sm 
+6348 20600000 rtn 
+
+host_create_conn_auth:
+6349 6800816d fetch 1 ,mem_connection_options 
+634a 793ffe00 set0 connection_auth ,pdata 
+634b 6000816d store 1 ,mem_connection_options 
+634c 70005519 jam conn_sm_auth_wait ,mem_conn_sm 
+634d 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+634e 20600000 rtn 
+
+host_create_conn_auth_wait:
+634f 20600000 rtn 
+
+host_create_conn_pairing:
+6350 680084d4 fetch 1 ,mem_pincode_state 
+6351 c1810000 rtnne pincode_state_pincode_ready 
+6352 204063c0 call host_auth 
+6353 70005518 jam conn_sm_pairing_wait ,mem_conn_sm 
+6354 20600000 rtn 
+
+host_create_conn_pairing_wait:
+6355 20600000 rtn 
+
+host_creat_conn_send_feat_ext:
+6356 70005515 jam conn_sm_wait_features_ext ,mem_conn_sm 
+6357 70007c83 jam lmp_ext_features_req ,mem_lmo_opcode2 
+6358 20600000 rtn 
+
+host_create_conn_send_version:
+6359 70005513 jam conn_sm_wait_version ,mem_conn_sm 
+635a 70007c25 jam lmp_version_req ,mem_lmo_opcode2 
+635b 20600000 rtn 
+
+host_creat_conn_wait_switch:
+635c 6800c55b fetch 1 ,mem_switch_flag 
+635d c1000000 rtneq switch_flag_init 
+635e c000e364 beq switch_flag_accept ,host_create_conn_switch_accept 
+635f d8e00006 arg switch_wait_timer ,queue 
+6360 20407f16 call timer_check 
+6361 247a0000 nrtn blank 
+6362 70455b00 jam switch_flag_init ,mem_switch_flag 
+6363 2020637d branch host_create_conn_switch 
+
+host_create_conn_switch_accept:
+6364 20748000 rtn master 
+6365 20206398 branch host_create_conn_auth_pair 
+
+host_create_conn_send_features:
+6366 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+6367 70007c27 jam lmp_features_req ,mem_lmo_opcode2 
+6368 20600000 rtn 
+
+host_create_conn_send_switch:
+6369 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+636a 79200003 set1 mark_switch_initiated ,mark 
+636b 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+636c 580001ff setarg 0x1ff 
+636d 600104d2 store 2 ,mem_soft_timer 
+636e 20600000 rtn 
+
+host_create_conn_send_conn_req:
+636f 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+6370 7004d2ff jam 0xff ,mem_soft_timer 
+6371 793f8022 set0 mark_reconn_recieve_switch ,mark 
+6372 70007c33 jam lmp_host_connection_req ,mem_lmo_opcode2 
+6373 20205d04 branch init_lmp_reinit 
+
+host_create_conn_wait_accept:
+6374 c6110000 rtnmark1 mark_reconn_recieve_switch 
+6375 680104d2 fetch 2 ,mem_soft_timer 
+6376 1fe67e01 sub pdata ,1 ,pdata 
+6377 2022e37a branch host_create_conn_resend ,zero 
+6378 600104d2 store 2 ,mem_soft_timer 
+6379 20600000 rtn 
+
+host_create_conn_resend:
+637a 7000550e jam conn_sm_send_switch ,mem_conn_sm 
+637b 20600000 rtn 
+
+host_create_conn_waiting:
+637c 20600000 rtn 
+
+host_create_conn_switch:
+637d 680084d1 fetch 1 ,mem_lmp_conn_state 
+637e c4018000 rtnbit0 sent_setup_complete 
+637f c4010000 rtnbit0 received_setup_complete 
+6380 6800816d fetch 1 ,mem_connection_options 
+6381 793ffe02 set0 connection_switch ,pdata 
+6382 6000816d store 1 ,mem_connection_options 
+6383 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6384 70005510 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+6385 20600000 rtn 
+
+host_create_conn_send_setup_complete:
+6386 7000550d jam conn_sm_wait_setup_complete ,mem_conn_sm 
+6387 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+6388 20600000 rtn 
+
+host_create_conn_wait_setup_complete:
+6389 680084d1 fetch 1 ,mem_lmp_conn_state 
+638a c4010000 rtnbit0 received_setup_complete 
+638b 70005500 jam conn_sm_standby ,mem_conn_sm 
+638c 20600000 rtn 
+
+host_create_conn_wait_setup_complete_rtn:
+638d 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+638e 20600000 rtn 
+
+host_create_conn_master_detach:
+638f 680084d2 fetch 1 ,mem_soft_timer 
+6390 1fe0ffff increase -1 ,pdata 
+6391 203a6394 branch host_create_conn_send_detach ,blank 
+6392 600084d2 store 1 ,mem_soft_timer 
+6393 20600000 rtn 
+
+host_create_conn_send_detach:
+6394 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6395 7004ca16 jam local_host ,mem_disconn_reason_send 
+6396 70005500 jam 0 ,mem_conn_sm 
+6397 20600000 rtn 
+
+host_create_conn_auth_pair:
+6398 6800816d fetch 1 ,mem_connection_options 
+6399 c281637d bbit1 connection_switch ,host_create_conn_switch 
+639a c280639d bbit1 connection_auth ,host_create_conn_auth_pair_true 
+
+host_create_conn_sm_done:
+639b 7000551a jam conn_sm_done ,mem_conn_sm 
+639c 20600000 rtn 
+
+host_create_conn_auth_pair_true:
+639d 6800c1bd fetch 1 ,mem_link_key_exists 
+639e 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+639f 680084d1 fetch 1 ,mem_lmp_conn_state 
+63a0 c4018000 rtnbit0 sent_setup_complete 
+63a1 c4010000 rtnbit0 received_setup_complete 
+63a2 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+63a3 d8400064 arg 100 ,temp 
+63a4 98408400 iadd temp ,temp 
+63a5 1c427e00 copy clkn_bt ,pdata 
+63a6 98467c00 isub temp ,null 
+63a7 24610000 nrtn positive 
+63a8 20206349 branch host_create_conn_auth 
+
+host_create_conn_auth_pair_nokey:
+63a9 70005516 jam conn_sm_pairing ,mem_conn_sm 
+63aa 70468904 jam 4 ,mem_pin_length 
+63ab 58003030 setarg 0x3030 
+63ac 6001468a store 2 ,mem_pin 
+63ad e0a10000 istore 2 ,contw 
+63ae 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+63af 20206350 branch host_create_conn_pairing 
+
+host_create_conn_auth_pair_wait:
+63b0 20600000 rtn 
+
+host_create_conn_encrypt:
+63b1 6800816d fetch 1 ,mem_connection_options 
+63b2 c280e3b5 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+63b3 7000551a jam conn_sm_done ,mem_conn_sm 
+63b4 20600000 rtn 
+
+host_create_conn_encrypt_start:
+63b5 6800816d fetch 1 ,mem_connection_options 
+63b6 793ffe01 set0 connection_encrypt ,pdata 
+63b7 6000816d store 1 ,mem_connection_options 
+63b8 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+63b9 20600000 rtn 
+
+host_create_conn_encrypt_wait:
+63ba 680084d8 fetch 1 ,mem_wait_encryption 
+63bb 207a0000 rtn blank 
+63bc 70005500 jam conn_sm_standby ,mem_conn_sm 
+63bd 202063b5 branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+63be 7000550c jam conn_sm_send_setup_complete ,mem_conn_sm 
+63bf 20600000 rtn 
+
+host_auth:
+63c0 6800804b fetch 1 ,mem_op 
+63c1 c28163c5 bbit1 op_inrand_req ,remote_auth 
+63c2 204062ef call tid_initiate 
+63c3 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+63c4 20204d04 branch cmd_exit 
+
+remote_auth:
+63c5 6800804b fetch 1 ,mem_op 
+63c6 793ffe02 set0 op_inrand_req ,pdata 
+63c7 6000804b store 1 ,mem_op 
+63c8 20406001 call lmp_accept_inrand 
+63c9 204062f8 call tid_set_reply 
+63ca 20204d04 branch cmd_exit 
+
+pincode_reinit:
+63cb 58000004 setarg 4 
+63cc 6000c689 store 1 ,mem_pin_length 
+63cd 58003030 setarg 0x3030 
+63ce e0a10000 istore 2 ,contw 
+63cf e0a10000 istore 2 ,contw 
+63d0 20600000 rtn 
+
+twspi_reset:
+63d1 47464031 bpatchx patch31_4 ,mem_patch31 
+63d2 68108073 hfetch 1 ,core_gpio_oe3 
+63d3 d8400006 arg 0x06 ,temp 
+63d4 9841fe00 ior temp ,pdata 
+63d5 60108073 hstore 1 ,core_gpio_oe3 
+63d6 68108077 hfetch 1 ,core_gpio_out3 
+63d7 9841fe00 ior temp ,pdata 
+63d8 60108077 hstore 1 ,core_gpio_out3 
+63d9 204063ee call twspi_disable 
+63da 68108077 hfetch 1 ,core_gpio_out3 
+63db 793ffe01 set0 1 ,pdata 
+63dc 793ffe02 set0 2 ,pdata 
+63dd 60108077 hstore 1 ,core_gpio_out3 
+63de 2000001e nop 30 
+63df 202063f2 branch twspi_enable 
+
+twspi_reset2:
+63e0 68108073 hfetch 1 ,core_gpio_oe3 
+63e1 d84000c0 arg 0xc0 ,temp 
+63e2 9841fe00 ior temp ,pdata 
+63e3 60108073 hstore 1 ,core_gpio_oe3 
+63e4 68108077 hfetch 1 ,core_gpio_out3 
+63e5 9841fe00 ior temp ,pdata 
+63e6 60108077 hstore 1 ,core_gpio_out3 
+63e7 204063ee call twspi_disable 
+63e8 68108077 hfetch 1 ,core_gpio_out3 
+63e9 793ffe06 set0 6 ,pdata 
+63ea 793ffe07 set0 7 ,pdata 
+63eb 60108077 hstore 1 ,core_gpio_out3 
+63ec 2000001e nop 30 
+63ed 202063f6 branch twspi_enable2 
+
+twspi_disable:
+63ee 68108081 hfetch 1 ,core_gpio_sel1 
+63ef 1fe17efc and pdata ,0xfc ,pdata 
+63f0 60108081 hstore 1 ,core_gpio_sel1 
+63f1 20600000 rtn 
+
+twspi_enable:
+63f2 68108081 hfetch 1 ,core_gpio_sel1 
+63f3 1fe1fe01 or pdata ,0x01 ,pdata 
+63f4 60108081 hstore 1 ,core_gpio_sel1 
+63f5 20600000 rtn 
+
+twspi_enable2:
+63f6 68108081 hfetch 1 ,core_gpio_sel1 
+63f7 1fe1fe03 or pdata ,0x03 ,pdata 
+63f8 793ffe04 set0 4 ,pdata 
+63f9 60108081 hstore 1 ,core_gpio_sel1 
+63fa 20600000 rtn 
+
+sensor_read:
+63fb 1fe22400 copy pdata ,regb 
+63fc 2040640f call spi_ncs_enable 
+63fd 20000064 nop 100 
+63fe 1a427e00 copy regb ,pdata 
+63ff 20406414 call twspi_read 
+6400 1fe22400 copy pdata ,regb 
+6401 20406411 call spi_ncs_disable 
+6402 20000064 nop 100 
+6403 1a427e00 copy regb ,pdata 
+6404 20600000 rtn 
+
+sensor_write:
+6405 1fe22400 copy pdata ,regb 
+6406 2040640f call spi_ncs_enable 
+6407 20000064 nop 100 
+6408 1a427e00 copy regb ,pdata 
+6409 20406413 call twspi_write 
+640a 20406411 call spi_ncs_disable 
+640b 20000064 nop 100 
+640c 20600000 rtn 
+
+spi_ncs_gpio_init:
+640d 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+640e 2020680e branch gpio_config_output 
+
+spi_ncs_enable:
+640f 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6410 20206829 branch gpio_out_active 
+
+spi_ncs_disable:
+6411 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6412 20206825 branch gpio_out_inactive 
+
+twspi_write:
+6413 202064ec branch spid_write_reg 
+
+twspi_read:
+6414 202064f3 branch spid_read_reg 
+
+read_function_aes:
+6415 24346419 nbranch read_function ,user 
+6416 68108085 hfetch 1 ,core_gpio_key2 
+6417 1fe1fe02 or_into 0x2 ,pdata 
+6418 60108085 hstore 1 ,core_gpio_key2 
+
+read_function:
+6419 18427c00 copy temp ,null 
+641a 2022e41c branch read_fuction_zero ,zero 
+641b 1a627a00 copy regc ,pc 
+
+read_fuction_zero:
+641c 2fcc0000 isolate0 0 ,null 
+641d 202064b9 branch set_ucode_status 
+
+get_block_header:
+641e 18000404 force 4 ,temp 
+
+get_block_header0:
+641f da2001fe arg mem_ucode_buf ,rega 
+6420 68108085 hfetch 1 ,core_gpio_key2 
+6421 1fe17efd and_into 0xfd ,pdata 
+6422 60108085 hstore 1 ,core_gpio_key2 
+6423 20406419 call read_function 
+6424 da2055aa arg 0x55aa ,rega 
+6425 680101fe fetch 2 ,mem_ucode_buf 
+6426 e8c90000 ifetcht 2 ,contr 
+6427 9a267c00 isub rega ,null 
+6428 20600000 rtn 
+
+read_first_block:
+6429 d8400002 arg 2 ,temp 
+642a da200204 arg mem_ucode_ptr ,rega 
+642b 20406419 call read_function 
+642c 68010204 fetch 2 ,mem_ucode_ptr 
+642d 600101f7 store 2 ,mem_addr_mi 
+642e 20546430 call get_iv ,user 
+642f 20600000 rtn 
+
+get_iv:
+6430 d8400010 arg 16 ,temp 
+6431 da200206 arg mem_ucode_keybuf ,rega 
+6432 68108085 hfetch 1 ,core_gpio_key2 
+6433 1fe17efd and_into 0xfd ,pdata 
+6434 60108085 hstore 1 ,core_gpio_key2 
+6435 20406419 call read_function 
+6436 d8c00206 arg mem_ucode_keybuf ,contr 
+6437 df200010 arg 16 ,loopcnt 
+6438 20407478 call aes_load_data 
+6439 20407428 call aes_init 
+643a 20407491 call aes_clear_data 
+643b 20207422 branch do_aes_cbc 
+
+load_storage:
+643c 7856fc00 disable match 
+643d 2040641e call get_block_header 
+643e 24628000 nrtn zero 
+643f 7836fc00 enable match 
+6440 70802380 jam 0x80 ,core_ucode_ctrl 
+6441 70802200 jam 0 ,core_ucode_hi 
+6442 70802400 jam 0 ,core_ucode_low 
+6443 da208025 arg core_ucode_data ,rega 
+6444 20406415 call read_function_aes 
+6445 70802300 jam 0x0 ,core_ucode_ctrl 
+
+load_storage_loop:
+6446 d8400006 arg 6 ,temp 
+6447 2040641f call get_block_header0 
+6448 24628000 nrtn zero 
+6449 e8c10000 ifetch 2 ,contr 
+644a 98002200 iforce rega 
+644b 20406419 call read_function 
+644c 20206446 branch load_storage_loop 
+
+reload_eeprom:
+644d 20407f99 call clean_mem 
+644e 58001000 setarg 0x1000 
+644f 600101f7 store 2 ,mem_addr_mi 
+6450 da6065e5 arg iicd_read_eep ,regc 
+6451 df200002 arg 2 ,loopcnt 
+
+reload_eeprom_loop:
+6452 2040641e call get_block_header 
+6453 24628000 nrtn zero 
+6454 680101f7 fetch 2 ,mem_addr_mi 
+6455 1ff0fe00 byteswap pdata ,pdata 
+6456 9840fe00 iadd temp ,pdata 
+6457 1ff0fe00 byteswap pdata ,pdata 
+6458 600101f7 store 2 ,mem_addr_mi 
+6459 c2006452 loop reload_eeprom_loop 
+645a 20206446 branch load_storage_loop 
+
+loadcode:
+645b 20407f99 call clean_mem 
+645c 78547c00 disable user 
+645d 2040666a call otp_enable_chgpump 
+645e 58000000 setarg otp_ucode_flag 
+645f da2001f3 arg mem_otp_ucode_flag ,rega 
+6460 d8400002 arg 2 ,temp 
+6461 204066b3 call otpd_read_data 
+6462 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6463 c303e46e bbit0 otp_uflag_aes ,loadcode_otp 
+6464 70805025 jam 0x25 ,core_clkoff 
+6465 580007f0 setarg otp_ucode_aeskey 
+6466 da200206 arg mem_ucode_keybuf ,rega 
+6467 d8400010 arg 16 ,temp 
+6468 204066b3 call otpd_read_data 
+6469 70800608 jam lock_otp ,core_misc_ctrl 
+646a 7920002b set1 mark_otp_encrypt ,mark 
+646b d8c00206 arg mem_ucode_keybuf ,contr 
+646c 20407484 call load_key 
+646d 78347c00 enable user 
+
+loadcode_otp:
+646e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_otp_2:
+646f 204064b0 call loadcode_check_times 
+6470 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6471 1ff0fe00 byteswap pdata ,pdata 
+6472 d84007ff arg 0x7ff ,temp 
+6473 98417e00 iand temp ,pdata 
+6474 2022e47b branch loadcode_iic ,zero 
+6475 2040666f call otp_set_addr 
+6476 da6066b8 arg otpd_read_code ,regc 
+6477 20546430 call get_iv ,user 
+6478 2040643c call load_storage 
+6479 680081f2 fetch 1 ,mem_ucode_status 
+647a c300646f bbit0 0 ,loadcode_otp_2 
+
+loadcode_iic:
+647b 2040666d call otp_disable_chgpump 
+647c 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_iic_2:
+647d 204064b0 call loadcode_check_times 
+647e 204065c2 call clear_eeprom_size_2k 
+647f 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6480 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6481 204064aa call loadcode_iic_by_eeprom 
+6482 2436e486 nbranch loadcode_iic_eeprom_2k ,match 
+6483 680081f2 fetch 1 ,mem_ucode_status 
+6484 c300647d bbit0 0 ,loadcode_iic_2 
+6485 2020649b branch loadcode_hci 
+
+loadcode_iic_eeprom_2k:
+6486 204065bf call set_eeprom_size_2k 
+6487 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6488 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6489 204064aa call loadcode_iic_by_eeprom 
+648a 2436e48e nbranch loadcode_spi ,match 
+648b 680081f2 fetch 1 ,mem_ucode_status 
+648c c300647d bbit0 0 ,loadcode_iic_2 
+648d 2020649b branch loadcode_hci 
+
+loadcode_spi:
+648e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_spi_2:
+648f 204064b0 call loadcode_check_times 
+6490 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6491 c282e49b bbit1 otp_uflag_skip_flash ,loadcode_hci 
+6492 58000000 setarg 0x0 
+6493 600181f6 store 3 ,mem_addr_hi 
+6494 20406502 call spid_init_flash 
+6495 da606578 arg spid_load_flash ,regc 
+6496 20406429 call read_first_block 
+6497 2040643c call load_storage 
+6498 2436e49b nbranch loadcode_hci ,match 
+6499 680081f2 fetch 1 ,mem_ucode_status 
+649a c300648f bbit0 0 ,loadcode_spi_2 
+
+loadcode_hci:
+649b c515e49d bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+649c 204064a3 call clear_key_buf 
+
+loadcode_hci_enc:
+649d 680081f3 fetch 1 ,mem_otp_ucode_flag 
+649e c30264a3 bbit0 otp_uflag_hci ,clear_key_buf 
+649f 70805021 jam 0x21 ,core_clkoff 
+64a0 20404c0e call hci_init 
+
+loadcode_hci_loop:
+64a1 20404c2e call hci_rx_packet 
+64a2 202064a1 branch loadcode_hci_loop 
+
+clear_key_buf:
+64a3 58000000 setarg 0 
+64a4 60040206 store 8 ,mem_ucode_keybuf 
+64a5 6004020e store 8 ,mem_ucode_keybuf + 8 
+64a6 18007004 force regidx_key ,regext_index 
+64a7 20407492 call aes_clear 
+64a8 70805021 jam 0x21 ,core_clkoff 
+64a9 20600000 rtn 
+
+loadcode_iic_by_eeprom:
+64aa 58000000 setarg 0x0 
+64ab 600101f7 store 2 ,mem_addr_mi 
+64ac da6065e5 arg iicd_read_eep ,regc 
+64ad 204065a3 call iicd_init_12m 
+64ae 20406429 call read_first_block 
+64af 2020643c branch load_storage 
+
+loadcode_check_times:
+64b0 6800c1da fetch 1 ,mem_loadcode_times 
+64b1 1fe0fe01 increase 1 ,pdata 
+64b2 1fe67c03 sub pdata ,3 ,null 
+64b3 242164b6 nbranch loadcode_error ,positive 
+64b4 6000c1da store 1 ,mem_loadcode_times 
+64b5 20600000 rtn 
+
+loadcode_error:
+64b6 204064a3 call clear_key_buf 
+64b7 20407fa1 call ice_break 
+64b8 20600000 rtn 
+
+set_ucode_status:
+64b9 680081f2 fetch 1 ,mem_ucode_status 
+64ba 1fe3fe00 lshift pdata ,pdata 
+64bb 7920fe00 setflag true ,0 ,pdata 
+64bc 2a2c000f isolate0 15 ,rega 
+64bd 20608000 rtn true 
+64be 600081f2 store 1 ,mem_ucode_status 
+64bf 20600000 rtn 
+
+decrypt_code:
+64c0 68108085 hfetch 1 ,core_gpio_key2 
+64c1 c4008000 rtnbit0 1 
+64c2 202064c6 branch decrypt_code_skip 
+
+decrypt_code_loop:
+64c3 6810812c hfetch 1 ,core_dma_status 
+64c4 afefffff qisolate1 pdata 
+64c5 20608000 rtn true 
+
+decrypt_code_skip:
+64c6 68108108 hfetch 1 ,core_misc_status 
+64c7 c300e4c3 bbit0 1 ,decrypt_code_loop 
+64c8 20407422 call do_aes_cbc 
+64c9 202064c3 branch decrypt_code_loop 
+
+load_ucode:
+64ca 68014199 fetch 2 ,mem_patch_ptr 
+64cb 207a0000 rtn blank 
+64cc 70802380 jam 0x80 ,core_ucode_ctrl 
+64cd 70802200 jam 0 ,core_ucode_hi 
+64ce 70802400 jam 0 ,core_ucode_low 
+64cf 6809419b fetcht 2 ,mem_patch_len 
+64d0 184bf200 lshift2 temp ,loopcnt 
+64d1 98000c00 iforce contr 
+
+load_ucode_loop:
+64d2 e8c08000 ifetch 1 ,contr 
+64d3 60108025 hstore 1 ,core_ucode_data 
+64d4 c20064d2 loop load_ucode_loop 
+64d5 70802300 jam 0x0 ,core_ucode_ctrl 
+64d6 20600000 rtn 
+
+spid_init:
+64d7 4746c031 bpatchx patch31_5 ,mem_patch31 
+64d8 204064dd call spid_init_common 
+64d9 202063f2 branch twspi_enable 
+
+spid_init2:
+64da 204064dd call spid_init_common 
+64db 204063ee call twspi_disable 
+64dc 202063f6 branch twspi_enable2 
+
+spid_init_common:
+64dd 6800c212 fetch 1 ,mem_spi_init_clk 
+64de 60108086 hstore 1 ,core_spid_ctrl 
+64df 6800c213 fetch 1 ,mem_spi_init_delay_time 
+64e0 60108087 hstore 1 ,core_spid_delay 
+64e1 580001f5 setarg mem_spid_tbuf 
+64e2 6011008a hstore 2 ,core_spid_txaddr 
+64e3 580001fa setarg mem_spid_rbuf 
+64e4 6011008c hstore 2 ,core_spid_rxaddr 
+64e5 202063ee branch twspi_disable 
+
+spid_reset:
+64e6 68108086 hfetch 1 ,core_spid_ctrl 
+64e7 79207e07 set1 7 ,pdata 
+64e8 60108086 hstore 1 ,core_spid_ctrl 
+64e9 793ffe07 set0 7 ,pdata 
+64ea 60108086 hstore 1 ,core_spid_ctrl 
+64eb 20600000 rtn 
+
+spid_write_reg:
+64ec 79207e07 set1 7 ,pdata 
+64ed 600101f5 store 2 ,mem_spid_tbuf 
+64ee 47474031 bpatchx patch31_6 ,mem_patch31 
+64ef 70808802 jam 2 ,core_spid_txlen 
+64f0 70808e00 jam 0 ,core_spid_rxlen 
+64f1 70800602 jam spid_start ,core_misc_ctrl 
+64f2 202064fc branch wait_spid_done 
+
+spid_read_reg:
+64f3 18000401 force 1 ,temp 
+
+spid_read_regs:
+64f4 600081f5 store 1 ,mem_spid_tbuf 
+64f5 4747c031 bpatchx patch31_7 ,mem_patch31 
+64f6 70808801 jam 1 ,core_spid_txlen 
+64f7 6019008e hstoret 2 ,core_spid_rxlen 
+64f8 70800602 jam spid_start ,core_misc_ctrl 
+64f9 204064fc call wait_spid_done 
+64fa 680081fa fetch 1 ,mem_spid_rbuf 
+64fb 20600000 rtn 
+
+wait_spid_done:
+64fc 680140d6 fetch 2 ,mem_afh_error_total 
+64fd 1fe0fe01 increase 1 ,pdata 
+64fe 600140d6 store 2 ,mem_afh_error_total 
+64ff 6810812c hfetch 1 ,core_dma_status 
+6500 c301e4fc bbit0 spid_done ,wait_spid_done 
+6501 20600000 rtn 
+
+spid_init_flash:
+6502 70808640 jam 0x40 ,core_spid_ctrl 
+6503 70808700 jam 0x0 ,core_spid_delay 
+6504 68108081 hfetch 1 ,core_gpio_sel1 
+6505 793ffe00 set0 0 ,pdata 
+6506 79207e01 set1 1 ,pdata 
+6507 60108081 hstore 1 ,core_gpio_sel1 
+6508 58000000 setarg 0 
+6509 600201f5 store 4 ,mem_spid_tbuf 
+650a 20600000 rtn 
+
+spid_unlock_flash:
+650b 58000000 setarg 0 
+650c 6011008e hstore 2 ,core_spid_rxlen 
+650d 58000001 setarg 1 
+650e 60110088 hstore 2 ,core_spid_txlen 
+650f 580001f5 setarg mem_spid_tbuf 
+6510 6011008a hstore 2 ,core_spid_txaddr 
+6511 7001f506 jam 6 ,mem_spid_tbuf 
+6512 70800602 jam spid_start ,core_misc_ctrl 
+6513 202064fc branch wait_spid_done 
+
+flash_write:
+6514 78547c00 disable user 
+6515 1fe22400 copy pdata ,regb 
+6516 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+6517 c1800000 rtnne flash_sm_no_buys 
+6518 78347c00 enable user 
+6519 1a427e00 copy regb ,pdata 
+651a 20206522 branch flash_write_start 
+
+flash_write_spi_sm_timer:
+651b 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+651c c000e522 beq flash_sm_start ,flash_write_start 
+651d c0016528 beq flash_sm_erase_sector ,flash_erase_sector 
+651e c001e530 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+651f c0026537 beq flash_sm_write_data ,flash_write_data 
+6520 c002e53d beq flash_sm_wait_write_data ,flash_wait_write_data 
+6521 20600000 rtn 
+
+flash_write_start:
+6522 6001c232 store 3 ,mem_spi_write_addr 
+6523 1a227e00 copy rega ,pdata 
+6524 60014235 store 2 ,mem_spi_write_ptr 
+6525 60094237 storet 2 ,mem_spi_write_len 
+6526 70423902 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+6527 20206502 branch spid_init_flash 
+
+flash_erase_sector:
+6528 20406502 call spid_init_flash 
+6529 70423903 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+652a 2040650b call spid_unlock_flash 
+652b da2001f5 arg mem_spid_tbuf ,rega 
+652c 6801c232 fetch 3 ,mem_spi_write_addr 
+652d 70808804 jam 4 ,core_spid_txlen 
+652e d8400020 arg flash_command_sector_erase ,temp 
+652f 20206556 branch spid_write_flash_common 
+
+flash_wait_erase_sector:
+6530 20406502 call spid_init_flash 
+6531 2040650b call spid_unlock_flash 
+6532 58000005 setarg flash_read_satus 
+6533 204064f3 call spid_read_reg 
+6534 c3800000 rtnbit1 flash_status_wip 
+6535 70423904 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+6536 20600000 rtn 
+
+flash_write_data:
+6537 20406502 call spid_init_flash 
+6538 70423905 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+6539 2040650b call spid_unlock_flash 
+653a 2040654a call flash_data_preserve 
+653b 20406552 call spid_write_flash 
+653c 20206545 branch flash_data_recover 
+
+flash_wait_write_data:
+653d 20406502 call spid_init_flash 
+653e 2040650b call spid_unlock_flash 
+653f 58000005 setarg flash_read_satus 
+6540 204064f3 call spid_read_reg 
+6541 c3800000 rtnbit1 flash_status_wip 
+6542 70423900 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+6543 68014201 fetch 2 ,mem_cb_spi_flash_write_complate 
+6544 20207f9c branch callback_func 
+
+flash_data_recover:
+6545 68020aa2 fetch 4 ,mem_temp 
+6546 68094235 fetcht 2 ,mem_spi_write_ptr 
+6547 184085fc increase -4 ,temp 
+6548 e0420000 istore 4 ,temp 
+6549 20600000 rtn 
+
+flash_data_preserve:
+654a 68094235 fetcht 2 ,mem_spi_write_ptr 
+654b 18422200 copy temp ,rega 
+654c 184085fc increase -4 ,temp 
+654d e8420000 ifetch 4 ,temp 
+654e 60020aa2 store 4 ,mem_temp 
+654f 68094237 fetcht 2 ,mem_spi_write_len 
+6550 6801c232 fetch 3 ,mem_spi_write_addr 
+6551 20600000 rtn 
+
+spid_write_flash:
+6552 18408404 increase 4 ,temp 
+6553 60190088 hstoret 2 ,core_spid_txlen 
+6554 d8400002 arg flash_command_write_data ,temp 
+6555 1a20a3fc increase -4 ,rega 
+
+spid_write_flash_common:
+6556 e2288000 istoret 1 ,rega 
+6557 1ff10400 rshift16 pdata ,temp 
+6558 e0a88000 istoret 1 ,contw 
+6559 1fec8400 rshift8 pdata ,temp 
+655a e0a88000 istoret 1 ,contw 
+655b e0a08000 istore 1 ,contw 
+655c 1a227e00 deposit rega 
+655d 6011008a hstore 2 ,core_spid_txaddr 
+655e 58000000 setarg 0 
+655f 6011008e hstore 2 ,core_spid_rxlen 
+6560 70800602 jam spid_start ,core_misc_ctrl 
+6561 202064fc branch wait_spid_done 
+
+spid_read_flash:
+6562 6019008e hstoret 2 ,core_spid_rxlen 
+6563 1ff10400 rshift16 pdata ,temp 
+6564 600881f6 storet 1 ,mem_addr_hi 
+6565 1fec8400 rshift8 pdata ,temp 
+6566 600881f7 storet 1 ,mem_addr_mi 
+6567 600081f8 store 1 ,mem_addr_lo 
+6568 58000004 setarg 4 
+6569 60110088 hstore 2 ,core_spid_txlen 
+656a 7001f503 jam flash_command_read_data ,mem_spid_tbuf 
+656b 580001f5 setarg mem_spid_tbuf 
+656c 6011008a hstore 2 ,core_spid_txaddr 
+656d 1a227e00 deposit rega 
+656e 6011008c hstore 2 ,core_spid_rxaddr 
+656f 68108086 hfetch 1 ,core_spid_ctrl 
+6570 2a2c000f isolate0 15 ,rega 
+6571 7920fe06 setflag true ,6 ,pdata 
+6572 60108086 hstore 1 ,core_spid_ctrl 
+6573 70800602 jam spid_start ,core_misc_ctrl 
+
+spi_read_flash_wait:
+6574 6810812c hfetch 1 ,core_dma_status 
+6575 c283e574 bbit1 7 ,spi_read_flash_wait 
+6576 d8e00003 arg spid_done ,queue 
+6577 202064fc branch wait_spid_done 
+
+spid_load_flash:
+6578 6019008e hstoret 2 ,core_spid_rxlen 
+6579 58000004 setarg 4 
+657a 60110088 hstore 2 ,core_spid_txlen 
+657b 7001f503 jam 3 ,mem_spid_tbuf 
+657c 580001f5 setarg mem_spid_tbuf 
+657d 6011008a hstore 2 ,core_spid_txaddr 
+657e 1a227e00 deposit rega 
+657f 6011008c hstore 2 ,core_spid_rxaddr 
+6580 68108086 hfetch 1 ,core_spid_ctrl 
+6581 2a2c000f isolate0 15 ,rega 
+6582 7920fe06 setflag true ,6 ,pdata 
+6583 60108086 hstore 1 ,core_spid_ctrl 
+6584 70800602 jam spid_start ,core_misc_ctrl 
+
+spi_load_flash_wait:
+6585 6810812c hfetch 1 ,core_dma_status 
+6586 c283e585 bbit1 7 ,spi_load_flash_wait 
+6587 d8e00003 arg spid_done ,queue 
+6588 204064c0 call decrypt_code 
+6589 204064fc call wait_spid_done 
+658a 2feffe02 isolate1 spid_crcok ,pdata 
+658b 204064b9 call set_ucode_status 
+658c 680081f6 fetch 1 ,mem_addr_hi 
+658d 1ff02400 lshift16 pdata ,regb 
+658e 680081f7 fetch 1 ,mem_addr_mi 
+658f 1fed7e00 lshift8 pdata ,pdata 
+6590 9a41a400 ior regb ,regb 
+6591 680081f8 fetch 1 ,mem_addr_lo 
+6592 9a41fe00 ior regb ,pdata 
+6593 9840fe00 iadd temp ,pdata 
+6594 600081f8 store 1 ,mem_addr_lo 
+6595 1fecfe00 rshift8 pdata ,pdata 
+6596 600081f7 store 1 ,mem_addr_mi 
+6597 1fecfe00 rshift8 pdata ,pdata 
+6598 600081f6 store 1 ,mem_addr_hi 
+6599 20600000 rtn 
+
+soft_reset_chip:
+659a 70801001 jam 1 ,core_reset 
+659b 20600000 rtn 
+
+iic_init_390k:
+659c 7080910c jam 12 ,core_iicd_scl_low 
+659d 7080920d jam 13 ,core_iicd_scl_high 
+659e 7080930d jam 13 ,core_iicd_start_setup 
+659f 7080940d jam 13 ,core_iicd_start_hold 
+65a0 7080950d jam 13 ,core_iicd_stop_setup 
+65a1 7080960c jam 12 ,core_iicd_data_setup 
+65a2 202065a9 branch iicd_init_gpio 
+
+iicd_init_12m:
+65a3 70809105 jam 5 ,core_iicd_scl_low 
+65a4 70809207 jam 7 ,core_iicd_scl_high 
+65a5 70809307 jam 7 ,core_iicd_start_setup 
+65a6 70809407 jam 7 ,core_iicd_start_hold 
+65a7 70809507 jam 7 ,core_iicd_stop_setup 
+65a8 70809605 jam 5 ,core_iicd_data_setup 
+
+iicd_init_gpio:
+65a9 6810807b hfetch 1 ,core_gpio_pu3 
+65aa 1fe1fec0 or_into 0xc0 ,pdata 
+65ab 6010807b hstore 1 ,core_gpio_pu3 
+65ac 68108081 hfetch 1 ,core_gpio_sel1 
+65ad 1fe1fe10 or_into 0x10 ,pdata 
+65ae 60108081 hstore 1 ,core_gpio_sel1 
+65af 20600000 rtn 
+
+wait_iicd_done:
+65b0 6810812c hfetch 1 ,core_dma_status 
+65b1 c302e5b0 bbit0 iicd_done ,wait_iicd_done 
+65b2 20600000 rtn 
+
+iicd_read_data:
+65b3 60110098 hstore 2 ,core_iicd_txlen 
+65b4 1a227e00 deposit rega 
+65b5 6011009a hstore 2 ,core_iicd_txaddr 
+65b6 1a427e00 deposit regb 
+65b7 6011009c hstore 2 ,core_iicd_rxaddr 
+65b8 18427e00 deposit temp 
+65b9 6011009e hstore 2 ,core_iicd_rxlen 
+65ba d8400001 arg 1 ,temp 
+65bb 7d3a0401 nsetflag blank ,1 ,temp 
+65bc 60108090 hstore 1 ,core_iicd_ctrl 
+65bd 70800604 jam iicd_start ,core_misc_ctrl 
+65be 202065b0 branch wait_iicd_done 
+
+set_eeprom_size_2k:
+65bf 79200028 set1 mark_eeprom_size ,mark 
+65c0 70421108 jam 0x08 ,mem_eeprom_block_size 
+65c1 20600000 rtn 
+
+clear_eeprom_size_2k:
+65c2 793f8028 set0 mark_eeprom_size ,mark 
+65c3 70421120 jam 0x20 ,mem_eeprom_block_size 
+65c4 20600000 rtn 
+
+iicd_read_eep_data_size_2k:
+65c5 6800c203 fetch 1 ,mem_eeprom_base 
+65c6 9a40fe00 iadd regb ,pdata 
+65c7 600081f7 store 1 ,mem_addr_mi 
+65c8 202065cc branch iicd_read_eep_size_2k 
+
+iicd_read_eep_size_2k_lcadcode:
+65c9 680101f7 fetch 2 ,mem_addr_mi 
+65ca 1ff0fe00 byteswap pdata ,pdata 
+65cb 600081f7 store 1 ,mem_addr_mi 
+
+iicd_read_eep_size_2k:
+65cc 58000003 setarg 3 
+65cd 60110098 hstore 2 ,core_iicd_txlen 
+65ce 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65cf 7001f8a1 jam 0xa1 ,mem_iicd_tbuf + 2 
+65d0 202065eb branch iicd_read_eep_common 
+
+iicd_write_protect_eep_data:
+65d1 60090aa2 storet 2 ,mem_temp 
+65d2 204065d6 call iicd_eeprom_write_enable 
+65d3 68090aa2 fetcht 2 ,mem_temp 
+65d4 20406606 call iicd_write_eep_data 
+65d5 202065dd branch iicd_eeprom_write_disable 
+
+iicd_eeprom_write_enable:
+65d6 6800c23a fetch 1 ,mem_eeprom_wp_gpio 
+65d7 c17f8000 rtneq gpio_disable 
+65d8 c30365db bbit0 6 ,iicd_wp_gpio_output_low 
+65d9 580249f0 setarg 150000 
+65da 20402a8f call sleep 
+
+iicd_wp_gpio_output_low:
+65db 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65dc 20206829 branch gpio_out_active 
+
+iicd_eeprom_write_disable:
+65dd 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65de 20206825 branch gpio_out_inactive 
+
+iicd_read_eep_data:
+65df 47484032 bpatchx patch32_0 ,mem_patch32 
+65e0 c51465c5 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+65e1 68014203 fetch 2 ,mem_eeprom_base 
+65e2 9a40fe00 iadd regb ,pdata 
+65e3 1ff0fe00 byteswap pdata ,pdata 
+65e4 600101f7 store 2 ,mem_addr_mi 
+
+iicd_read_eep:
+65e5 4748c032 bpatchx patch32_1 ,mem_patch32 
+65e6 c51465c9 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+65e7 58000004 setarg 4 
+65e8 60110098 hstore 2 ,core_iicd_txlen 
+65e9 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65ea 7001f9a1 jam 0xa1 ,mem_iicd_tbuf + 3 
+
+iicd_read_eep_common:
+65eb 580001f6 setarg mem_iicd_tbuf 
+65ec 6011009a hstore 2 ,core_iicd_txaddr 
+65ed 6019009e hstoret 2 ,core_iicd_rxlen 
+65ee 1a227e00 deposit rega 
+65ef 6011009c hstore 2 ,core_iicd_rxaddr 
+65f0 58000002 setarg 2 
+65f1 2a2c000f isolate0 15 ,rega 
+65f2 7920fe00 setflag true ,0 ,pdata 
+65f3 60108090 hstore 1 ,core_iicd_ctrl 
+65f4 70800604 jam iicd_start ,core_misc_ctrl 
+65f5 d8e00005 arg iicd_done ,queue 
+65f6 204064c0 call decrypt_code 
+65f7 204065b0 call wait_iicd_done 
+65f8 2feffe04 isolate1 iicd_crcok ,pdata 
+65f9 204064b9 call set_ucode_status 
+65fa c5146601 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+65fb 680101f7 fetch 2 ,mem_addr_mi 
+65fc 1ff0fe00 byteswap pdata ,pdata 
+65fd 9840fe00 iadd temp ,pdata 
+65fe 1ff0fe00 byteswap pdata ,pdata 
+65ff 600101f7 store 2 ,mem_addr_mi 
+6600 20600000 rtn 
+
+iicd_read_eep_load_code_size_2k:
+6601 680081f7 fetch 1 ,mem_addr_mi 
+6602 9840fe00 iadd temp ,pdata 
+6603 1ff0fe00 byteswap pdata ,pdata 
+6604 600101f7 store 2 ,mem_addr_mi 
+6605 20600000 rtn 
+
+iicd_write_eep_data:
+6606 68014203 fetch 2 ,mem_eeprom_base 
+6607 9a40fe00 iadd regb ,pdata 
+
+iicd_write_ota_data:
+6608 60010a9a store 2 ,mem_pdatatemp 
+6609 47494032 bpatchx patch32_2 ,mem_patch32 
+660a 60090aa2 storet 2 ,mem_temp 
+660b 1a227e00 copy rega ,pdata 
+660c 60010ab9 store 2 ,mem_contr 
+
+iicd_write_eep_loop:
+660d 2040661d call iicd_eep_transparency 
+660e 68090ab2 fetcht 2 ,mem_regb 
+660f 68010ab9 fetch 2 ,mem_contr 
+6610 1fe22200 copy pdata ,rega 
+6611 68010a9a fetch 2 ,mem_pdatatemp 
+6612 2040663d call iicd_write_eep 
+6613 68010ab2 fetch 2 ,mem_regb 
+6614 68090ab9 fetcht 2 ,mem_contr 
+6615 98408400 iadd temp ,temp 
+6616 60090ab9 storet 2 ,mem_contr 
+6617 68090a9a fetcht 2 ,mem_pdatatemp 
+6618 98408400 iadd temp ,temp 
+6619 60090a9a storet 2 ,mem_pdatatemp 
+661a 68010aa2 fetch 2 ,mem_temp 
+661b 243a660d nbranch iicd_write_eep_loop ,blank 
+661c 20600000 rtn 
+
+iicd_eep_transparency:
+661d 4749c032 bpatchx patch32_3 ,mem_patch32 
+661e 6800c211 fetch 1 ,mem_eeprom_block_size 
+661f 1fe0ffff increase -1 ,pdata 
+6620 68090a9a fetcht 2 ,mem_pdatatemp 
+6621 9841fe00 ior temp ,pdata 
+6622 1fe0fe01 increase 1 ,pdata 
+6623 60018ab6 store 3 ,mem_regc 
+6624 68010aa2 fetch 2 ,mem_temp 
+6625 9840fe00 iadd temp ,pdata 
+6626 68098ab6 fetcht 3 ,mem_regc 
+6627 98467e00 isub temp ,pdata 
+6628 2421662f nbranch iicd_eep_deal_short_packet ,positive 
+6629 60010aa2 store 2 ,mem_temp 
+662a 68018ab6 fetch 3 ,mem_regc 
+662b 68090a9a fetcht 2 ,mem_pdatatemp 
+662c 98467e00 isub temp ,pdata 
+662d 60010ab2 store 2 ,mem_regb 
+662e 20600000 rtn 
+
+iicd_eep_deal_short_packet:
+662f 68010aa2 fetch 2 ,mem_temp 
+6630 60010ab2 store 2 ,mem_regb 
+6631 58000000 setarg 0 
+6632 60010aa2 store 2 ,mem_temp 
+6633 20600000 rtn 
+
+iicd_write_eep_size_2k:
+6634 18408402 increase 2 ,temp 
+6635 60190098 hstoret 2 ,core_iicd_txlen 
+6636 1a20a3fe increase -2 ,rega 
+6637 ea298000 ifetcht 3 ,rega 
+6638 18422400 copy temp ,regb 
+6639 d84000a0 arg 0xa0 ,temp 
+663a e2288000 istoret 1 ,rega 
+663b e0a08000 istore 1 ,contw 
+663c 2020664a branch iicd_write_eep_common 
+
+iicd_write_eep:
+663d 1fe22400 copy pdata ,regb 
+663e 474a4032 bpatchx patch32_4 ,mem_patch32 
+663f c5146634 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+6640 1a427e00 copy regb ,pdata 
+6641 18408403 increase 3 ,temp 
+6642 60190098 hstoret 2 ,core_iicd_txlen 
+6643 1a20a3fd increase -3 ,rega 
+6644 ea298000 ifetcht 3 ,rega 
+6645 18422400 copy temp ,regb 
+6646 d84000a0 arg 0xa0 ,temp 
+6647 e2288000 istoret 1 ,rega 
+6648 1ff0fe00 byteswap pdata ,pdata 
+6649 e0a10000 istore 2 ,contw 
+
+iicd_write_eep_common:
+664a 1a227e00 deposit rega 
+664b 6011009a hstore 2 ,core_iicd_txaddr 
+664c 58000000 setarg 0 
+664d 6011009e hstore 2 ,core_iicd_rxlen 
+664e 70809001 jam 1 ,core_iicd_ctrl 
+664f 70800604 jam iicd_start ,core_misc_ctrl 
+6650 204065b0 call wait_iicd_done 
+6651 1a427e00 copy regb ,pdata 
+6652 e2218000 istore 3 ,rega 
+
+iic_check_eeprom_standby:
+6653 474ac032 bpatchx patch32_5 ,mem_patch32 
+6654 7001f900 jam 0 ,mem_iicd_tbuf + 3 
+
+iic_check_eeprom_standby_wait:
+6655 58000001 setarg 1 
+6656 60110098 hstore 2 ,core_iicd_txlen 
+6657 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+6658 580001f6 setarg mem_iicd_tbuf 
+6659 6011009a hstore 2 ,core_iicd_txaddr 
+665a 58000000 setarg 0 
+665b 6011009e hstore 2 ,core_iicd_rxlen 
+665c 6011009c hstore 2 ,core_iicd_rxaddr 
+665d 58000003 setarg 3 
+665e 60108090 hstore 1 ,core_iicd_ctrl 
+665f 70800604 jam iicd_start ,core_misc_ctrl 
+6660 204065b0 call wait_iicd_done 
+6661 6810812c hfetch 1 ,core_dma_status 
+6662 c4030000 rtnbit0 iicd_ack 
+6663 200005dc nop 1500 
+6664 680081f9 fetch 1 ,mem_iicd_tbuf + 3 
+6665 1fe0fe01 increase 1 ,pdata 
+6666 600081f9 store 1 ,mem_iicd_tbuf + 3 
+6667 1fe67c28 sub pdata ,40 ,null 
+6668 24610000 nrtn positive 
+6669 20206655 branch iic_check_eeprom_standby_wait 
+
+otp_enable_chgpump:
+666a 70897370 jam 0x70 ,rfen_chgpump 
+666b 20000bb8 nop param_chgpump_delay 
+666c 20600000 rtn 
+
+otp_disable_chgpump:
+666d 70897330 jam 0x30 ,rfen_chgpump 
+666e 20600000 rtn 
+
+otp_set_addr:
+666f 1fe9fe00 lshift3 pdata ,pdata 
+6670 60110045 hstore 2 ,core_otp_addr 
+6671 70804b00 jam 0 ,core_otpd_ctrl 
+6672 20600000 rtn 
+
+otp_write:
+6673 2040666f call otp_set_addr 
+6674 204066a0 call otp_ce 
+
+otp_program:
+6675 ea288000 ifetcht 1 ,rega 
+6676 1a20a201 increase 1 ,rega 
+6677 18000e00 force 0 ,queue 
+
+otp_program_bit:
+6678 a84c0000 qisolate0 temp 
+6679 2020e697 branch otp_skip_0 ,true 
+667a 68108046 hfetch 1 ,core_otp_din 
+667b 79207e06 set1 6 ,pdata 
+667c 79207e07 set1 7 ,pdata 
+667d 60108046 hstore 1 ,core_otp_din 
+667e 70804702 jam 0x02 ,core_otp_ctrl 
+667f 70804782 jam 0x82 ,core_otp_ctrl 
+6680 793ffe07 set0 7 ,pdata 
+6681 60108046 hstore 1 ,core_otp_din 
+6682 7080478a jam 0x8a ,core_otp_ctrl 
+6683 2000000b nop 11 
+6684 708047ca jam 0xca ,core_otp_ctrl 
+6685 20000021 nop 33 
+6686 7080474a jam 0x4a ,core_otp_ctrl 
+6687 2000002c nop 44 
+6688 708047ca jam 0xca ,core_otp_ctrl 
+6689 20000016 nop 22 
+668a 7080478a jam 0x8a ,core_otp_ctrl 
+668b 20000021 nop 33 
+668c 70804782 jam 0x82 ,core_otp_ctrl 
+668d 20000001 nop 1 
+668e 70804792 jam 0x92 ,core_otp_ctrl 
+668f 2000000a nop 10 
+6690 708047b2 jam 0xb2 ,core_otp_ctrl 
+6691 68108007 hfetch 1 ,core_otp_rdata 
+6692 70804792 jam 0x92 ,core_otp_ctrl 
+6693 20000001 nop 1 
+6694 70804782 jam 0x82 ,core_otp_ctrl 
+6695 afec0000 qisolate0 pdata 
+6696 2020e678 branch otp_program_bit ,true 
+
+otp_skip_0:
+6697 68110045 hfetch 2 ,core_otp_addr 
+6698 1fe0fe01 increase 1 ,pdata 
+6699 60110045 hstore 2 ,core_otp_addr 
+669a 18e08e01 increase 1 ,queue 
+669b 28e01e08 compare 8 ,queue ,0xf 
+669c 2420e678 nbranch otp_program_bit ,true 
+669d c2006675 loop otp_program 
+669e 70804783 jam 0x83 ,core_otp_ctrl 
+669f 20600000 rtn 
+
+otp_ce:
+66a0 70804782 jam 0x82 ,core_otp_ctrl 
+66a1 2000000c nop 12 
+66a2 70804780 jam 0x80 ,core_otp_ctrl 
+66a3 70804782 jam 0x82 ,core_otp_ctrl 
+66a4 20000096 nop 150 
+66a5 20600000 rtn 
+
+otpd_read_init:
+66a6 204066a0 call otp_ce 
+66a7 708047a2 jam 0xa2 ,core_otp_ctrl 
+66a8 1a227e00 deposit rega 
+66a9 60110048 hstore 2 ,core_otpd_addr 
+66aa 7920040b set1 11 ,temp 
+66ab 2fec000f isolate0 15 ,pdata 
+66ac 7920840f setflag true ,15 ,temp 
+66ad 6019004a hstoret 2 ,core_otpd_len 
+66ae 70800601 jam otpd_start ,core_misc_ctrl 
+66af 20600000 rtn 
+
+otpd_wait_end:
+66b0 6810812c hfetch 1 ,core_dma_status 
+66b1 c300e6b0 bbit0 otpd_done ,otpd_wait_end 
+66b2 20600000 rtn 
+
+otpd_read_data:
+66b3 2040666f call otp_set_addr 
+66b4 204066a6 call otpd_read_init 
+66b5 204066b0 call otpd_wait_end 
+66b6 70804783 jam 0x83 ,core_otp_ctrl 
+66b7 20600000 rtn 
+
+otpd_read_code:
+66b8 68110124 hfetch 2 ,core_current_otp_addr 
+66b9 60110045 hstore 2 ,core_otp_addr 
+66ba 204066a6 call otpd_read_init 
+66bb d8e00001 arg otpd_done ,queue 
+66bc 204064c0 call decrypt_code 
+66bd 204066b0 call otpd_wait_end 
+66be 2feffe00 isolate1 otpd_crcok ,pdata 
+66bf 204064b9 call set_ucode_status 
+66c0 70804783 jam 0x83 ,core_otp_ctrl 
+66c1 20600000 rtn 
+
+uartd_prepare_tx:
+66c2 6811005e hfetch 2 ,core_uart_twptr 
+66c3 98001400 iforce contwu 
+66c4 20600000 rtn 
+
+uartd_send:
+66c5 19427e00 deposit contwu 
+66c6 6011005e hstore 2 ,core_uart_twptr 
+66c7 20600000 rtn 
+
+uartd_rxdone:
+66c8 18627e00 deposit contru 
+66c9 60110058 hstore 2 ,core_uart_rrptr 
+66ca 20600000 rtn 
+
+uartd_prepare_rx:
+66cb 68110058 hfetch 2 ,core_uart_rrptr 
+66cc 1fe20600 copy pdata ,contru 
+66cd 20600000 rtn 
+
+uart_set_baud_by_mem:
+66ce 68014243 fetch uart_baud_len ,mem_baud 
+66cf 60110052 hstore uart_baud_len ,core_uart_baud 
+66d0 20600000 rtn 
+
+uart_copy_tx_bytes_fast:
+66d1 1f227e00 deposit loopcnt 
+66d2 207a0000 rtn blank 
+
+uart_copy_tx_bytes_fast_loop:
+66d3 1f20f3f8 increase -8 ,loopcnt 
+66d4 204166de call uart_tx_8_bytes ,positive 
+66d5 20628000 rtn zero 
+66d6 202166d3 branch uart_copy_tx_bytes_fast_loop ,positive 
+66d7 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_tx_bytes_fast_loop_four:
+66d8 1f20f3fc increase -4 ,loopcnt 
+66d9 204166e1 call uart_tx_4_bytes ,positive 
+66da 20628000 rtn zero 
+66db 202166d8 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+66dc 1f20f204 increase 4 ,loopcnt 
+66dd 202066e4 branch uart_copy_tx_bytes 
+
+uart_tx_8_bytes:
+66de e8c40000 ifetch 8 ,contr 
+66df e1440000 istore 8 ,contwu 
+66e0 20600000 rtn 
+
+uart_tx_4_bytes:
+66e1 e8c20000 ifetch 4 ,contr 
+66e2 e1420000 istore 4 ,contwu 
+66e3 20600000 rtn 
+
+uart_copy_tx_bytes:
+66e4 1f227e00 deposit loopcnt 
+66e5 207a0000 rtn blank 
+
+uart_copy_tx_bytes_loop:
+66e6 e8c08000 ifetch 1 ,contr 
+66e7 e1408000 istore 1 ,contwu 
+66e8 c20066e6 loop uart_copy_tx_bytes_loop 
+66e9 20600000 rtn 
+
+uart_copy_rx_bytes_fast:
+66ea 1f227e00 deposit loopcnt 
+66eb 207a0000 rtn blank 
+
+uart_copy_rx_bytes_fast_loop:
+66ec 1f20f3f8 increase -8 ,loopcnt 
+66ed 204166f7 call uart_rx_8_bytes ,positive 
+66ee 20628000 rtn zero 
+66ef 202166ec branch uart_copy_rx_bytes_fast_loop ,positive 
+66f0 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_rx_bytes_fast_loop_four:
+66f1 1f20f3fc increase -4 ,loopcnt 
+66f2 204166fa call uart_rx_4_bytes ,positive 
+66f3 20628000 rtn zero 
+66f4 202166f1 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+66f5 1f20f204 increase 4 ,loopcnt 
+66f6 202066fd branch uart_copy_rx_bytes 
+
+uart_rx_8_bytes:
+66f7 e8640000 ifetch 8 ,contru 
+66f8 e0a40000 istore 8 ,contw 
+66f9 20600000 rtn 
+
+uart_rx_4_bytes:
+66fa e8620000 ifetch 4 ,contru 
+66fb e0a20000 istore 4 ,contw 
+66fc 20600000 rtn 
+
+uart_copy_rx_bytes:
+66fd 1f227e00 deposit loopcnt 
+66fe 207a0000 rtn blank 
+
+uart_copy_rx_bytes_loop:
+66ff e8608000 ifetch 1 ,contru 
+6700 e0a08000 istore 1 ,contw 
+6701 c20066ff loop uart_copy_rx_bytes_loop 
+6702 20600000 rtn 
+
+uart_copy_rx2tx:
+6703 1f227e00 deposit loopcnt 
+6704 207a0000 rtn blank 
+
+uart_copy_rx2tx_loop:
+6705 e8608000 ifetch 1 ,contru 
+6706 e1408000 istore 1 ,contwu 
+6707 c2006705 loop uart_copy_rx2tx_loop 
+6708 20600000 rtn 
+
+app_store_nvram_event:
+6709 700a993d jam bt_evt_store_nvram ,mem_fifo_temp 
+670a 20207d86 branch ui_ipc_send_event 
+
+check_51cmd_store_reconn_info:
+
+check_51cmd_update_device_record:
+670b 474b4032 bpatchx patch32_6 ,mem_patch32 
+670c 6800c217 fetch 1 ,mem_nv_data_number 
+670d 207a0000 rtn blank 
+670e 204067a3 call check_nvram 
+670f 2042e7a9 call init_device_list ,zero 
+6710 2040673e call nvram_find_addr_from_bd_list 
+
+write_device_record:
+6711 6800c217 fetch 1 ,mem_nv_data_number 
+6712 1fe22600 icopy regc 
+6713 68094215 fetcht 2 ,mem_nv_data_ptr 
+6714 6009018c storet 2 ,mem_list_item_ptr 
+
+write_device_loop_find:
+6715 1a627e00 copy regc ,pdata 
+6716 203a6709 branch app_store_nvram_event ,blank 
+6717 1a60a7ff increase -1 ,regc 
+6718 18422200 copy temp ,rega 
+6719 ea208000 ifetch 1 ,rega 
+671a 68088184 fetcht 1 ,mem_select_list_item 
+671b 98467c00 isub temp ,null 
+671c 2042e725 call set_index_finded_device ,zero 
+671d 20216721 branch write_device_loop_find0 ,positive 
+671e ea208000 ifetch 1 ,rega 
+671f 1fe0fe01 increase 1 ,pdata 
+6720 e2208000 istore 1 ,rega 
+
+write_device_loop_find0:
+6721 6809018c fetcht 2 ,mem_list_item_ptr 
+6722 18408422 increase nv_data_len ,temp 
+6723 6009018c storet 2 ,mem_list_item_ptr 
+6724 20206715 branch write_device_loop_find 
+
+set_index_finded_device:
+6725 58000000 setarg 0 
+6726 e2208000 istore 1 ,rega 
+6727 68008185 fetch 1 ,mem_temp_reconn_record 
+6728 e0a08000 istore 1 ,contw 
+6729 c099e733 bne rec_3_mode ,set_index_finded_device_ble_mode 
+672a da4041be arg mem_link_key ,regb 
+
+set_index_find_device_master_addr:
+672b e8c30000 ifetch 6 ,contr 
+672c e0a40000 istore 8 ,contw 
+672d 58000000 setarg 0 
+672e e0a40000 istore 8 ,contw 
+672f 1a420c00 copy regb ,contr 
+
+store_rec_data_common:
+6730 20407ebf call memcpy16 
+6731 18007c01 force 1 ,null 
+6732 20600000 rtn 
+
+set_index_finded_device_ble_mode:
+6733 c01b6737 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+6734 c01be73b beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+6735 da404419 arg mem_le_ltk ,regb 
+6736 2020672b branch set_index_find_device_master_addr 
+
+set_index_finded_device_irk:
+6737 d8c044d5 arg mem_le_irk ,contr 
+6738 20407ebf call memcpy16 
+
+store_ble_rec_data_common:
+6739 d8c04419 arg mem_le_ltk ,contr 
+673a 20206730 branch store_rec_data_common 
+
+set_index_finded_device_ediv:
+673b d8c044cd arg mem_le_rand ,contr 
+673c 20407ebf call memcpy16 
+673d 20206739 branch store_ble_rec_data_common 
+
+nvram_find_addr_from_bd_list:
+673e 20407fe9 call disable_user 
+673f 6800c217 fetch 1 ,mem_nv_data_number 
+6740 207a0000 rtn blank 
+6741 68014682 fetch 2 ,mem_ui_state_map 
+6742 c2806754 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+
+find_addr_from_bd_list_ble_mode:
+6743 474bc032 bpatchx patch32_7 ,mem_patch32 
+6744 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+6745 c000674d beq master_public_addr ,find_addr_from_bd_list_static_addr 
+6746 68008454 fetch 1 ,mem_le_plap + 5 
+6747 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+6748 2020e74d branch find_addr_from_bd_list_static_addr ,true 
+6749 2fe18040 compare 0x40 ,pdata ,0xc0 
+674a 2020e752 branch find_addr_from_bd_list_random_addr ,true 
+674b 2fe18000 compare 0x00 ,pdata ,0xc0 
+674c 2020e750 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+
+find_addr_from_bd_list_static_addr:
+674d 70018535 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+674e 6803044f fetch 6 ,mem_le_plap 
+674f 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_non_resolvable_private_address:
+6750 70018537 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+6751 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_addr:
+6752 70018536 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+6753 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_spp_mode:
+6754 474c4033 bpatchx patch33_0 ,mem_patch33 
+6755 70018533 jam rec_3_mode ,mem_temp_reconn_record 
+6756 68030040 fetch 6 ,mem_plap 
+
+find_addr_from_bd_list_common:
+6757 60030186 store 6 ,mem_temp_reconn_record + 1 
+6758 68014215 fetch 2 ,mem_nv_data_ptr 
+6759 efe88000 ifetcht 1 ,pdata 
+675a 1fe0fe01 pincrease 1 
+675b 6001018c store 2 ,mem_list_item_ptr 
+675c 60088184 storet 1 ,mem_select_list_item 
+675d 6800c217 fetch 1 ,mem_nv_data_number 
+675e 1fe22600 icopy regc 
+
+nvram_find_addr_from_list:
+675f 6801018c fetch 2 ,mem_list_item_ptr 
+6760 1fe22200 copy pdata ,rega 
+6761 2040676f call nvram_find_addr_from_list_compare 
+6762 20740000 rtn user 
+6763 6809018c fetcht 2 ,mem_list_item_ptr 
+6764 18408422 increase nv_data_len ,temp 
+6765 6009018c storet 2 ,mem_list_item_ptr 
+6766 184085ff increase -1 ,temp 
+6767 e8408000 ifetch 1 ,temp 
+6768 60008184 store 1 ,mem_select_list_item 
+6769 1a60a7ff increase -1 ,regc 
+676a 2422e75f nbranch nvram_find_addr_from_list ,zero 
+676b 6800c217 fetch 1 ,mem_nv_data_number 
+676c 1fe0ffff pincrease decreased_one 
+676d 60008184 store 1 ,mem_select_list_item 
+676e 20600000 rtn 
+
+nvram_find_addr_from_list_compare:
+676f 68008185 fetch 1 ,mem_temp_reconn_record 
+6770 c099e776 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+
+find_master_addr_from_list_compare:
+6771 da400185 arg mem_temp_reconn_record ,regb 
+6772 df200007 arg 7 ,loopcnt 
+6773 20407f88 call string_compare 
+6774 2022ffe7 branch enable_user ,zero 
+6775 20600000 rtn 
+
+find_addr_from_list_compare_ble_mode:
+6776 c01b6779 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+6777 c01be794 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+6778 20206771 branch find_master_addr_from_list_compare 
+
+find_irk_form_list_compare:
+6779 ea288000 ifetcht 1 ,rega 
+677a 98467c00 isub temp ,null 
+677b 24628000 nrtn zero 
+677c d8a00ac2 arg mem_le_prand ,contw 
+677d df200010 arg 16 ,loopcnt 
+677e 20407ed4 call clear_mem 
+677f 68018452 fetch 3 ,mem_le_plap + 3 
+6780 60018ac2 store 3 ,mem_le_prand 
+6781 2040678b call genernate_master_macaddress 
+6782 68010adf fetch 2 ,mem_le_aes_128 + 13 
+6783 1ff0fe00 byteswap pdata ,pdata 
+6784 1fed0400 lshift8 pdata ,temp 
+6785 e8c08000 ifetch 1 ,contr 
+6786 9840fe00 iadd temp ,pdata 
+6787 6809844f fetcht 3 ,mem_le_plap 
+6788 98467c00 isub temp ,null 
+6789 2022ffe7 branch enable_user ,zero 
+678a 20600000 rtn 
+
+genernate_master_macaddress:
+678b d8c00ac2 arg mem_le_prand ,contr 
+678c 20407486 call load_data128 
+678d ea208000 ifetch 1 ,rega 
+678e 20407487 call load_regext 
+678f 18006c38 force 0x38 ,aes_ctrl 
+6790 18006c00 force 0x0 ,aes_ctrl 
+6791 2040741d call wait_aes 
+6792 d8a00ad2 arg mem_le_aes_128 ,contw 
+6793 20207497 branch store_aes_result 
+
+find_ediv_form_list_compare:
+6794 ea288000 ifetcht 1 ,rega 
+6795 98467c00 isub temp ,null 
+6796 24628000 nrtn zero 
+6797 18c22200 copy contr ,rega 
+6798 18c0a608 add contr ,8 ,regc 
+6799 da4044cd arg mem_le_rand ,regb 
+679a df200008 arg 8 ,loopcnt 
+679b 20407f88 call string_compare 
+679c 2022ffe7 branch enable_user ,zero 
+679d 1a622200 copy regc ,rega 
+679e da4044d5 arg mem_le_irk ,regb 
+679f df200008 arg 8 ,loopcnt 
+67a0 20407f88 call string_compare 
+67a1 2022ffe7 branch enable_user ,zero 
+67a2 20600000 rtn 
+
+check_nvram:
+67a3 68014215 fetch 2 ,mem_nv_data_ptr 
+67a4 efe88000 ifetcht 1 ,pdata 
+67a5 1fe0fe22 pincrease nv_data_len 
+67a6 efe08000 ifetch 1 ,pdata 
+67a7 98467c00 isub temp ,null 
+67a8 20600000 rtn 
+
+init_device_list:
+67a9 6800c217 fetch 1 ,mem_nv_data_number 
+67aa 1fe27200 icopy loopcnt 
+67ab 68094215 fetcht 2 ,mem_nv_data_ptr 
+67ac 58000000 setarg 0 
+
+init_device_list_loop:
+67ad e0408000 istore 1 ,temp 
+67ae 18408422 increase nv_data_len ,temp 
+67af 1fe0fe01 pincrease 1 
+67b0 c20067ad loop init_device_list_loop 
+67b1 20600000 rtn 
+
+load_device_list:
+67b2 474cc033 bpatchx patch33_1 ,mem_patch33 
+67b3 2040673e call nvram_find_addr_from_bd_list 
+67b4 68008030 fetch 1 ,mem_state 
+67b5 79347e06 setflag user ,state_combkey ,pdata 
+67b6 60008030 store 1 ,mem_state 
+67b7 243467bc nbranch clear_key_exists ,user 
+67b8 1a208c0a add rega ,10 ,contr 
+67b9 d8a041be arg mem_link_key ,contw 
+67ba 20407ebf call memcpy16 
+67bb 202067d7 branch check_link_key_load 
+
+clear_key_exists:
+67bc 7041bd00 jam 0 ,mem_link_key_exists 
+67bd 20600000 rtn 
+
+load_device_list_mode_4:
+67be 6804c4cb fetch 9 ,mem_le_ediv 
+67bf 203a67ca branch clear_ltk_exists ,blank 
+67c0 2040673e call nvram_find_addr_from_bd_list 
+67c1 243467ca nbranch clear_ltk_exists ,user 
+67c2 6801018c fetch 2 ,mem_list_item_ptr 
+67c3 1fe08c01 add pdata ,1 ,contr 
+67c4 d8a044d5 arg mem_le_irk ,contw 
+67c5 20407ebf call memcpy16 
+67c6 d8a04419 arg mem_le_ltk ,contw 
+67c7 20407ebf call memcpy16 
+67c8 70442901 jam 1 ,mem_ltk_exists 
+67c9 20600000 rtn 
+
+clear_ltk_exists:
+67ca 70442900 jam 0 ,mem_ltk_exists 
+67cb 20600000 rtn 
+
+eeprom_store_le_reconn_info:
+67cc 6803044f fetch 6 ,mem_le_plap 
+67cd 60030186 store 6 ,mem_temp_lap 
+67ce 70018534 jam rec_4_mode ,mem_record_bt_mode 
+67cf 202067d3 branch eeprom_store_reconn_info 
+
+eeprom_store_bd_reconn_info:
+67d0 68030040 fetch 6 ,mem_plap 
+67d1 60030186 store 6 ,mem_temp_lap 
+67d2 70018533 jam rec_3_mode ,mem_record_bt_mode 
+
+eeprom_store_reconn_info:
+67d3 6800c092 fetch 1 ,mem_device_option 
+67d4 c005670b beq dvc_op_module ,check_51cmd_update_device_record 
+67d5 c28342da bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+67d6 20600000 rtn 
+
+check_link_key_load:
+67d7 680441be fetch 8 ,mem_link_key 
+67d8 680c41c6 fetcht 8 ,mem_link_key + 8 
+67d9 9841fe00 ior temp ,pdata 
+67da 207a0000 rtn blank 
+67db 7041bd01 jam 1 ,mem_link_key_exists 
+67dc 20600000 rtn 
+
+gpio_set_wake_by_current_state:
+67dd 474d4033 bpatchx patch33_2 ,mem_patch33 
+67de 79200407 set1 7 ,temp 
+67df 2040681d call gpio_get_bit 
+67e0 7d208407 nsetflag true ,7 ,temp 
+
+gpio_set_wake:
+67e1 474dc033 bpatchx patch33_3 ,mem_patch33 
+67e2 18467cff sub temp ,ui_button_gpio_disable ,null 
+67e3 20628000 rtn zero 
+67e4 284c0007 isolate0 7 ,temp 
+67e5 18410e1f and temp ,0x1f ,queue 
+67e6 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67e7 f920fe00 qsetflag true ,pdata 
+67e8 600200a1 store 4 ,mem_gpio_wakeup_low 
+67e9 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67ea fd20fe00 nqsetflag true ,pdata 
+67eb 600200a5 store 4 ,mem_gpio_wakeup_high 
+67ec 20600000 rtn 
+
+gpio_clr_wake:
+67ed 474e4033 bpatchx patch33_4 ,mem_patch33 
+67ee 18467cff sub temp ,ui_button_gpio_disable ,null 
+67ef 20628000 rtn zero 
+67f0 284c0007 isolate0 7 ,temp 
+67f1 18410e1f and temp ,0x1f ,queue 
+67f2 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67f3 f93ffe00 qset0 pdata 
+67f4 600200a1 store 4 ,mem_gpio_wakeup_low 
+67f5 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67f6 f93ffe00 qset0 pdata 
+67f7 600200a5 store 4 ,mem_gpio_wakeup_high 
+67f8 20600000 rtn 
+
+gpio_config_input_nowake:
+67f9 204067ed call gpio_clr_wake 
+67fa 202067fe branch gpio_config_input_without_wake 
+
+gpio_config_input:
+67fb 18467cff sub temp ,ui_button_gpio_disable ,null 
+67fc 20628000 rtn zero 
+67fd 2455e7e1 ncall gpio_set_wake ,wake 
+
+gpio_config_input_without_wake:
+67fe d8a0807c arg core_gpio_pd0 ,contw 
+67ff 20406830 call gpio_set_bit 
+6800 79400407 setflip gpio_active_bit ,temp 
+6801 d8a08078 arg core_gpio_pu0 ,contw 
+6802 20406830 call gpio_set_bit 
+6803 793f8407 set0 gpio_active_bit ,temp 
+6804 d8a08070 arg core_gpio_oe0 ,contw 
+6805 20206830 branch gpio_set_bit 
+
+gpio_set_high_impedance:
+6806 d8a0807c arg core_gpio_pd0 ,contw 
+6807 20406830 call gpio_set_bit 
+6808 793f8407 set0 gpio_active_bit ,temp 
+6809 d8a08078 arg core_gpio_pu0 ,contw 
+680a 20406830 call gpio_set_bit 
+680b 793f8407 set0 gpio_active_bit ,temp 
+680c d8a08070 arg core_gpio_oe0 ,contw 
+680d 20206830 branch gpio_set_bit 
+
+gpio_config_output:
+680e 18467cff sub temp ,ui_button_gpio_disable ,null 
+680f 20628000 rtn zero 
+6810 79400407 setflip gpio_active_bit ,temp 
+6811 2040682f call gpio_out 
+
+gpio_config_output0:
+6812 79200407 set1 gpio_active_bit ,temp 
+6813 d8a08070 arg core_gpio_oe0 ,contw 
+6814 20206830 branch gpio_set_bit 
+
+gpio_common:
+6815 18410e07 and temp ,0x07 ,queue 
+6816 18497e00 rshift3 temp ,pdata 
+6817 1fe17e03 and_into 3 ,pdata 
+6818 98a08a00 iadd contw ,contw 
+6819 e8a08000 ifetch 1 ,contw 
+681a 20600000 rtn 
+
+gpio_check_active:
+681b d8a08074 arg core_gpio_out0 ,contw 
+681c 2020681e branch get_bit_common 
+
+gpio_get_bit:
+681d d8a0811c arg core_gpio_in ,contw 
+
+get_bit_common:
+681e 20406815 call gpio_common 
+681f 284ffe07 isolate1 gpio_active_bit ,temp 
+6820 2020e823 branch gpio_get_bit_reverse ,true 
+6821 afec0000 qisolate0 pdata 
+6822 20600000 rtn 
+
+gpio_get_bit_reverse:
+6823 afefffff qisolate1 pdata 
+6824 20600000 rtn 
+
+gpio_out_inactive:
+6825 18467cff sub temp ,ui_button_gpio_disable ,null 
+6826 20628000 rtn zero 
+6827 2fcffe07 isolate1 7 ,null 
+6828 2020682c branch gpio_out_flag 
+
+gpio_out_active:
+6829 18467cff sub temp ,ui_button_gpio_disable ,null 
+682a 20628000 rtn zero 
+682b 2fcc0007 isolate0 7 ,null 
+
+gpio_out_flag:
+682c 58000000 setarg 0 
+682d 7d20fe07 nsetflag true ,gpio_active_bit ,pdata 
+682e 98428400 ixor temp ,temp 
+
+gpio_out:
+682f d8a08074 arg core_gpio_out0 ,contw 
+
+gpio_set_bit:
+6830 20406815 call gpio_common 
+6831 284ffe07 isolate1 gpio_active_bit ,temp 
+6832 f920fe00 qsetflag true ,pdata 
+6833 e0a08000 istore 1 ,contw 
+6834 20600000 rtn 
+
+gpio_set_before_lpm_common:
+6835 da3fffff arg -1 ,rega 
+6836 68108081 hfetch 1 ,core_gpio_sel1 
+6837 2fe00602 compare 0x02 ,pdata ,0x03 
+6838 2040e878 call neglact4_from_23_pin ,true 
+6839 2fe00601 compare 0x01 ,pdata ,0x03 
+683a 2040e87a call neglact2_form_25_pin ,true 
+683b 2fe00603 compare 0x03 ,pdata ,0x03 
+683c 2040e87a call neglact2_form_25_pin ,true 
+683d 2feffe02 isolate1 2 ,pdata 
+683e 2040e874 call neglect2_from_6_pin ,true 
+683f 2feffe03 isolate1 3 ,pdata 
+6840 2040e876 call neglect4_from_9_pin ,true 
+6841 2feffe04 isolate1 4 ,pdata 
+6842 2040e87c call neglact2_form_30_pin ,true 
+6843 2feffe06 isolate1 6 ,pdata 
+6844 7d20a204 nsetflag true ,04 ,rega 
+6845 2feffe07 isolate1 7 ,pdata 
+6846 7d20a205 nsetflag true ,05 ,rega 
+6847 68108082 hfetch 1 ,core_gpio_sel2 
+6848 2feffe00 isolate1 0 ,pdata 
+6849 7d20a21b nsetflag true ,27 ,rega 
+684a 2feffe01 isolate1 1 ,pdata 
+684b 7d20a21c nsetflag true ,28 ,rega 
+684c 2feffe02 isolate1 2 ,pdata 
+684d 7d20a203 nsetflag true ,03 ,rega 
+684e 2feffe03 isolate1 3 ,pdata 
+684f 7d20a208 nsetflag true ,08 ,rega 
+6850 2feffe04 isolate1 4 ,pdata 
+6851 7d20a214 nsetflag true ,20 ,rega 
+6852 2feffe05 isolate1 5 ,pdata 
+6853 7d20a215 nsetflag true ,21 ,rega 
+6854 2feffe06 isolate1 6 ,pdata 
+6855 7d20a216 nsetflag true ,22 ,rega 
+6856 2feffe07 isolate1 7 ,pdata 
+6857 7d20a217 nsetflag true ,23 ,rega 
+6858 68108080 hfetch 1 ,core_gpio_sel 
+6859 2feffe00 isolate1 0 ,pdata 
+685a 7d20a205 nsetflag true ,05 ,rega 
+685b 2feffe01 isolate1 1 ,pdata 
+685c 7d20a206 nsetflag true ,06 ,rega 
+685d 2feffe02 isolate1 2 ,pdata 
+685e 7d20a207 nsetflag true ,07 ,rega 
+685f 2feffe03 isolate1 3 ,pdata 
+6860 7d20a212 nsetflag true ,18 ,rega 
+6861 2feffe04 isolate1 4 ,pdata 
+6862 7d20a213 nsetflag true ,19 ,rega 
+6863 2feffe05 isolate1 5 ,pdata 
+6864 7d20a214 nsetflag true ,20 ,rega 
+6865 2feffe06 isolate1 6 ,pdata 
+6866 7d20a215 nsetflag true ,21 ,rega 
+6867 2feffe07 isolate1 7 ,pdata 
+6868 7d20a216 nsetflag true ,22 ,rega 
+6869 68108062 hfetch 1 ,core_uart_ctrl 
+686a 2feffe04 isolate1 4 ,pdata 
+686b 2040e87e call neglact2_form_2_pin ,true 
+686c 474ec033 bpatchx patch33_5 ,mem_patch33 
+686d 68120078 hfetch 4 ,core_gpio_pu0 
+686e 681a007c hfetcht 4 ,core_gpio_pd0 
+686f 9841fe00 ior temp ,pdata 
+6870 1fe47e00 invert pdata ,pdata 
+6871 9a217e00 iand rega ,pdata 
+6872 60120070 hstore 4 ,core_gpio_oe0 
+6873 20600000 rtn 
+
+neglect2_from_6_pin:
+6874 d8e00006 arg 6 ,queue 
+6875 20206884 branch neglect_2_pin 
+
+neglect4_from_9_pin:
+6876 d8e00009 arg 9 ,queue 
+6877 20206882 branch neglact_4_pin 
+
+neglact4_from_23_pin:
+6878 d8e00017 arg 23 ,queue 
+6879 20206882 branch neglact_4_pin 
+
+neglact2_form_25_pin:
+687a d8e00019 arg 25 ,queue 
+687b 20206884 branch neglect_2_pin 
+
+neglact2_form_30_pin:
+687c d8e0001e arg 30 ,queue 
+687d 20206884 branch neglect_2_pin 
+
+neglact2_form_2_pin:
+687e d8e00002 arg 2 ,queue 
+687f 20206884 branch neglect_2_pin 
+
+neglact_1_pin:
+6880 df200001 arg 1 ,loopcnt 
+6881 20206885 branch neglect_pin_loop 
+
+neglact_4_pin:
+6882 df200004 arg 4 ,loopcnt 
+6883 20206885 branch neglect_pin_loop 
+
+neglect_2_pin:
+6884 df200002 arg 2 ,loopcnt 
+
+neglect_pin_loop:
+6885 f93fa200 qset0 rega 
+6886 18e08e01 increase 1 ,queue 
+6887 c2006885 loop neglect_pin_loop 
+6888 20600000 rtn 
+
+gpio_cfg_uart_tx_output:
+6889 20406895 call gpio_uart2gpio 
+688a d8400006 arg uart_wakeup_tx ,temp 
+688b 2020680e branch gpio_config_output 
+
+gpio_pu_uart_tx:
+688c 20406889 call gpio_cfg_uart_tx_output 
+688d d8400006 arg uart_wakeup_tx ,temp 
+688e 20206825 branch gpio_out_inactive 
+
+gpio_rx_config_input_with_pu:
+688f 20406895 call gpio_uart2gpio 
+6890 68108078 hfetch 1 ,core_gpio_pu0 
+6891 79207e07 set1 uart_wakeup_rx ,pdata 
+6892 60108078 hstore 1 ,core_gpio_pu0 
+6893 d8400007 arg uart_wakeup_rx ,temp 
+6894 202067fb branch gpio_config_input 
+
+gpio_uart2gpio:
+6895 68108081 hfetch 1 ,core_gpio_sel1 
+6896 1fe17efb and_into 0xfb ,pdata 
+6897 60108081 hstore 1 ,core_gpio_sel1 
+6898 20600000 rtn 
+
+gpio_check_uart_state:
+6899 68108081 hfetch 1 ,core_gpio_sel1 
+689a 2feffe02 isolate1 2 ,pdata 
+689b 20600000 rtn 
+
+load_chip_option:
+689c 2040666a call otp_enable_chgpump 
+689d 580007e0 setarg otp_chip_functions 
+689e da204150 arg mem_chip_functions ,rega 
+689f d8400002 arg 0x02 ,temp 
+68a0 204066b3 call otpd_read_data 
+68a1 2020666d branch otp_disable_chgpump 
+
+load_adc_init:
+68a2 2040666a call otp_enable_chgpump 
+68a3 580007e2 setarg otp_adc_io_0_5v_addr 
+68a4 da20421d arg mem_0_5_adc_io_data ,rega 
+68a5 d840000e arg 14 ,temp 
+68a6 204066b3 call otpd_read_data 
+68a7 2020666d branch otp_disable_chgpump 
+
+adc_init_data:
+68a8 474f4033 bpatchx patch33_6 ,mem_patch33 
+68a9 204068a2 call load_adc_init 
+68aa 6800c22d fetch 1 ,mem_adc_config_flag 
+68ab c00068af beq adc_config_vinlpm ,adc_init_data_vinlpm 
+68ac c000e8c3 beq adc_config_hvin ,adc_init_data_hvin 
+68ad c00168d7 beq adc_config_gpio ,adc_init_data_io 
+68ae 20600000 rtn 
+
+adc_init_data_vinlpm:
+68af 68094229 fetcht 2 ,mem_otp_adc_flag 
+68b0 5800aa55 setarg otp_adc_flag 
+68b1 98467c00 isub temp ,null 
+68b2 2022e8b8 branch adc_check_data_vinlpm ,zero 
+68b3 58004dfa setarg 0x4dfa 
+68b4 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+68b5 58004894 setarg 0x4894 
+68b6 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+68b7 202068c0 branch set_vdd_reference_voltage_1v 
+
+adc_check_data_vinlpm:
+68b8 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+68b9 243a68bc nbranch adc_check_2v_vinlpm ,blank 
+68ba 58004dfa setarg 0x4dfa 
+68bb 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+
+adc_check_2v_vinlpm:
+68bc 68014221 fetch 2 ,mem_2v_adc_vinlpm_data 
+68bd 243a68c0 nbranch set_vdd_reference_voltage_1v ,blank 
+68be 58004894 setarg 0x4894 
+68bf 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+
+set_vdd_reference_voltage_1v:
+68c0 58000064 setarg 100 
+68c1 6001422b store 2 ,mem_reference_voltage 
+68c2 20600000 rtn 
+
+adc_init_data_hvin:
+68c3 68094229 fetcht 2 ,mem_otp_adc_flag 
+68c4 5800aa55 setarg otp_adc_flag 
+68c5 98467c00 isub temp ,null 
+68c6 2022e8cc branch adc_check_data_hvin ,zero 
+68c7 58005932 setarg 0x5932 
+68c8 60014225 store 2 ,mem_5v_adc_hvin_data 
+68c9 58004323 setarg 0x4323 
+68ca 6001421f store 2 ,mem_1v_adc_hvin_data 
+68cb 202068d4 branch set_vdd_reference_voltage_4v 
+
+adc_check_data_hvin:
+68cc 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+68cd 243a68d0 nbranch adc_check_1v_hvin ,blank 
+68ce 58005932 setarg 0x5932 
+68cf 60014225 store 2 ,mem_5v_adc_hvin_data 
+
+adc_check_1v_hvin:
+68d0 6801421f fetch 2 ,mem_1v_adc_hvin_data 
+68d1 243a68d4 nbranch set_vdd_reference_voltage_4v ,blank 
+68d2 58004323 setarg 0x4323 
+68d3 6001421f store 2 ,mem_1v_adc_hvin_data 
+
+set_vdd_reference_voltage_4v:
+68d4 58000190 setarg 400 
+68d5 6001422b store 2 ,mem_reference_voltage 
+68d6 20600000 rtn 
+
+adc_init_data_io:
+68d7 68094229 fetcht 2 ,mem_otp_adc_flag 
+68d8 5800aa55 setarg otp_adc_flag 
+68d9 98467c00 isub temp ,null 
+68da 2022e8e0 branch adc_check_data_io ,zero 
+68db 58006946 setarg 0x6946 
+68dc 60014223 store 2 ,mem_1v_adc_io_data 
+68dd 58005377 setarg 0x5377 
+68de 6001421d store 2 ,mem_0_5_adc_io_data 
+68df 202068e8 branch set_vdd_reference_voltage_0_5v 
+
+adc_check_data_io:
+68e0 68014223 fetch 2 ,mem_1v_adc_io_data 
+68e1 243a68e4 nbranch adc_check_0_5v_io ,blank 
+68e2 58006946 setarg 0x6946 
+68e3 60014223 store 2 ,mem_1v_adc_io_data 
+
+adc_check_0_5v_io:
+68e4 6801421d fetch 2 ,mem_0_5_adc_io_data 
+68e5 243a68e8 nbranch set_vdd_reference_voltage_0_5v ,blank 
+68e6 58005377 setarg 0x5377 
+68e7 6001421d store 2 ,mem_0_5_adc_io_data 
+
+set_vdd_reference_voltage_0_5v:
+68e8 58000032 setarg 50 
+68e9 6001422b store 2 ,mem_reference_voltage 
+68ea 20600000 rtn 
+
+adc_set_mode:
+68eb 6800c22d fetch 1 ,mem_adc_config_flag 
+68ec c00068f0 beq adc_config_vinlpm ,adc_check_vinlpm 
+68ed c000e8f2 beq adc_config_hvin ,adc_check_hvin 
+68ee c00168f4 beq adc_config_gpio ,adc_check_gpio 
+68ef 20600000 rtn 
+
+adc_check_vinlpm:
+68f0 708971bf jam 0xbf ,rf_adc_mode 
+68f1 202068f8 branch read_adc 
+
+adc_check_hvin:
+68f2 708971af jam 0xaf ,rf_adc_mode 
+68f3 202068f8 branch read_adc 
+
+adc_check_gpio:
+68f4 7089718f jam 0x8f ,rf_adc_mode 
+68f5 6800c22e fetch 1 ,mem_adc_channel 
+68f6 60108973 hstore 1 ,rf_adc_ch 
+68f7 202068f8 branch read_adc 
+
+read_adc:
+68f8 474fc033 bpatchx patch33_7 ,mem_patch33 
+68f9 68108053 hfetch 1 ,core_uart_baud + 1 
+68fa 79207e07 set1 7 ,pdata 
+68fb 60108053 hstore 1 ,core_uart_baud + 1 
+68fc 68108973 hfetch 1 ,rf_adc_ch 
+68fd 1fe1fe30 or_into 0x30 ,pdata 
+68fe 60108973 hstore 1 ,rf_adc_ch 
+68ff 7089067c jam 0x7c ,rfen_adc 
+6900 708972aa jam 0xaa ,rf_adc_gc 
+6901 20001388 nop 5000 
+6902 68190150 hfetcht 2 ,core_adc_sum 
+6903 68108053 hfetch 1 ,core_uart_baud + 1 
+6904 793ffe07 set0 7 ,pdata 
+6905 60108053 hstore 1 ,core_uart_baud + 1 
+6906 6009422f storet 2 ,mem_adc_current_value 
+6907 20600000 rtn 
+
+vdd_calculate_by_mode:
+6908 47504034 bpatchx patch34_0 ,mem_patch34 
+6909 6800c22d fetch 1 ,mem_adc_config_flag 
+690a c000690e beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+690b c000e912 beq adc_config_hvin ,vdd_calculate_hvin 
+690c c0016916 beq adc_config_gpio ,vdd_calculate_io 
+690d 20600000 rtn 
+
+vdd_calculate_vinlpm:
+690e 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+690f 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+6910 da6000c8 arg 200 ,regc 
+6911 2020691a branch vdd_calculate 
+
+vdd_calculate_hvin:
+6912 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+6913 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+6914 da600064 arg 100 ,regc 
+6915 2020691a branch vdd_calculate 
+
+vdd_calculate_io:
+6916 68014223 fetch 2 ,mem_1v_adc_io_data 
+6917 6809421d fetcht 2 ,mem_0_5_adc_io_data 
+6918 da600032 arg 50 ,regc 
+6919 2020691a branch vdd_calculate 
+
+vdd_calculate:
+691a 98462200 isub temp ,rega 
+691b 6801422f fetch 2 ,mem_adc_current_value 
+691c 98467e00 isub temp ,pdata 
+691d 24216927 nbranch vdd_calculate1 ,positive 
+691e 6809422b fetcht 2 ,mem_reference_voltage 
+691f 984fa400 imul32 temp ,regb 
+6920 1a627e00 copy regc ,pdata 
+6921 9a2ffe00 imul32 rega ,pdata 
+6922 9a40fe00 iadd regb ,pdata 
+
+vdd_calculate2:
+6923 9a26fc00 idiv rega 
+6924 20407f86 call wait_div_end 
+6925 1807fe00 quotient pdata 
+6926 20600000 rtn 
+
+vdd_calculate1:
+6927 18427e00 copy temp ,pdata 
+6928 6809422f fetcht 2 ,mem_adc_current_value 
+6929 98467e00 isub temp ,pdata 
+692a 6809422b fetcht 2 ,mem_reference_voltage 
+692b 984fa400 imul32 temp ,regb 
+692c 1a627e00 copy regc ,pdata 
+692d 9a2ffe00 imul32 rega ,pdata 
+692e 9a467e00 isub regb ,pdata 
+692f 20206923 branch vdd_calculate2 
+
+adc_bat_percent_lowpower_out:
+6930 ea240000 ifetch 8 ,rega 
+6931 60040a9a store 8 ,mem_pdatatemp 
+6932 68010a9a fetch 2 ,mem_pdatatemp 
+6933 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+6934 98462200 isub temp ,rega 
+6935 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+6936 98462400 isub temp ,regb 
+6937 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+6938 98467c00 isub temp ,null 
+6939 24416940 ncall adc_set_low_power_flag ,positive 
+693a 1a4ffe64 mul32 regb ,100 ,pdata 
+693b 9a26fc00 idiv rega 
+693c 20407f86 call wait_div_end 
+693d 1807fe00 quotient pdata 
+693e 205a6944 call adc_set_no_power_flag ,blank 
+693f 20600000 rtn 
+
+adc_set_low_power_flag:
+6940 6800c231 fetch 1 ,mem_adc_power_flag 
+6941 79207e00 set1 0 ,pdata 
+6942 6000c231 store 1 ,mem_adc_power_flag 
+6943 20600000 rtn 
+
+adc_set_no_power_flag:
+6944 6808c231 fetcht 1 ,mem_adc_power_flag 
+6945 79200401 set1 1 ,temp 
+6946 6008c231 storet 1 ,mem_adc_power_flag 
+6947 20600000 rtn 
+
+keyscan_key_init:
+6948 6801423d fetch 2 ,mem_key_num_ptr 
+6949 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_init_next:
+694a 207a0000 rtn blank 
+694b 1fe27200 copy pdata ,loopcnt 
+694c 6801423d fetch 2 ,mem_keyscan_ptr 
+694d 1fe0fe03 increase 3 ,pdata 
+694e 1fe22200 copy pdata ,rega 
+
+keyscan_key_init_lp1:
+694f ea288000 ifetcht 1 ,rega 
+6950 204067fb call gpio_config_input 
+6951 1a20a201 increase key_conf_struct_len ,rega 
+6952 c200694f loop keyscan_key_init_lp1 
+
+keyscan_key_init_end:
+6953 20600000 rtn 
+
+keyscan_scan_key:
+6954 6801423d fetch 2 ,mem_keyscan_ptr 
+6955 1fe0fe03 increase 3 ,pdata 
+6956 1fe22200 copy pdata ,rega 
+6957 18002400 force 0 ,regb 
+6958 700b1200 jam 0 ,mem_key_value_temp 
+
+keyscan_scan_key_lp1:
+6959 ea288000 ifetcht 1 ,rega 
+695a 2040681d call gpio_get_bit 
+695b 4750c034 bpatchx patch34_1 ,mem_patch34 
+695c 68010b12 fetch 2 ,mem_key_value_temp 
+695d 1a420e00 copy regb ,queue 
+695e f920fe00 qsetflag true ,pdata 
+695f 60010b12 store 2 ,mem_key_value_temp 
+6960 1a20a201 increase key_conf_struct_len ,rega 
+6961 1a40a401 increase 1 ,regb 
+6962 6801423d fetch 2 ,mem_key_num_ptr 
+6963 efe08000 ifetch 1 ,pdata 
+
+keyscan_scan_key_lp1_next:
+6964 9a42fc00 ixor regb ,null 
+6965 2422e959 nbranch keyscan_scan_key_lp1 ,zero 
+6966 68010b12 fetch 2 ,mem_key_value_temp 
+6967 68090b14 fetcht 2 ,mem_key_value 
+6968 9842fc00 ixor temp ,null 
+6969 20628000 rtn zero 
+696a 78347c00 enable user 
+696b 20600000 rtn 
+
+keyscan_process_lpm_before:
+696c 6801423d fetch 2 ,mem_key_num_ptr 
+696d efe08000 ifetch 1 ,pdata 
+
+keyscan_process_lpm_before_next:
+696e 207a0000 rtn blank 
+696f 1fe27200 copy pdata ,loopcnt 
+6970 6801423d fetch 2 ,mem_keyscan_ptr 
+6971 1fe0fe03 increase 3 ,pdata 
+6972 1fe22200 copy pdata ,rega 
+
+keyscan_process_lpm_before_lp1:
+6973 ea288000 ifetcht 1 ,rega 
+6974 204067dd call gpio_set_wake_by_current_state 
+6975 1a20a201 increase key_conf_struct_len ,rega 
+6976 c2006973 loop keyscan_process_lpm_before_lp1 
+
+keyscan_process_lpm_before_end:
+6977 20600000 rtn 
+
+keyscan_key_process:
+6978 d8e00009 arg key_scan_timer ,queue 
+6979 20407f16 call timer_check 
+697a 247a0000 nrtn blank 
+697b 58000020 setarg 0x20 
+697c d8e00009 arg key_scan_timer ,queue 
+697d 20407f08 call timer_init 
+697e 78547c00 disable user 
+697f 2040696c call keyscan_process_lpm_before 
+6980 47514034 bpatchx patch34_2 ,mem_patch34 
+6981 6801423d fetch 2 ,mem_key_num_ptr 
+6982 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_process_next:
+6983 207a0000 rtn blank 
+6984 20406954 call keyscan_scan_key 
+6985 24347d02 nbranch lpm_button_clean_wake_lock ,user 
+6986 20407d00 call lpm_button_get_wake_lock 
+6987 78547c00 disable user 
+6988 68010b12 fetch 2 ,mem_key_value_temp 
+6989 60010b19 store 2 ,mem_key_value_temp4 
+698a 700b1b00 jam 0 ,mem_key_value_temp6 
+698b 18000e00 force 0 ,queue 
+
+keyscan_key_lp1:
+698c 68010b14 fetch 2 ,mem_key_value 
+698d 1fe30400 rshift pdata ,temp 
+698e 60090b14 storet 2 ,mem_key_value 
+698f 1fe17e01 and pdata ,0x01 ,pdata 
+6990 68090b19 fetcht 2 ,mem_key_value_temp4 
+6991 18412201 and temp ,0x01 ,rega 
+6992 18430400 rshift temp ,temp 
+6993 60090b19 storet 2 ,mem_key_value_temp4 
+6994 9a22fc00 ixor rega ,null 
+6995 2442e9a1 ncall keyscan_send_key_data ,zero 
+6996 6801423d fetch 2 ,mem_key_num_ptr 
+6997 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_lp1_next:
+6998 68088b1b fetcht 1 ,mem_key_value_temp6 
+6999 18408401 increase 1 ,temp 
+699a 60088b1b storet 1 ,mem_key_value_temp6 
+699b 18420e00 copy temp ,queue 
+699c 98e2fc00 ixor queue ,null 
+699d 2422e98c nbranch keyscan_key_lp1 ,zero 
+699e 68010b12 fetch 2 ,mem_key_value_temp 
+699f 60010b14 store 2 ,mem_key_value 
+69a0 20600000 rtn 
+
+keyscan_send_key_data:
+69a1 4751c034 bpatchx patch34_3 ,mem_patch34 
+69a2 6801423d fetch 2 ,mem_keyscan_ptr 
+69a3 1fe0fe01 increase 1 ,pdata 
+69a4 efe10000 ifetch 2 ,pdata 
+69a5 20207f9c branch callback_func 
+
+pwm_init:
+69a6 68108042 hfetch 1 ,core_clksel 
+69a7 9a21fe00 ior rega ,pdata 
+69a8 60108042 hstore 1 ,core_clksel 
+69a9 68110050 hfetch 2 ,core_clkoff 
+69aa 793ffe0d set0 clock_off_pwm ,pdata 
+69ab 60110050 hstore 2 ,core_clkoff 
+69ac 20000064 nop 100 
+69ad 20600000 rtn 
+
+pwm_out_set:
+69ae 68098a9c fetcht 3 ,mem_pdatatemp + 2 
+69af 58b71b00 setarg pwm_12mhz 
+69b0 9846fc00 idiv temp 
+69b1 20407f86 call wait_div_end 
+69b2 18078400 quotient temp 
+69b3 68008a9f fetch 1 ,mem_pdatatemp + 5 
+69b4 984ffe00 imul32 temp ,pdata 
+69b5 1fe6fc64 div pdata ,100 
+69b6 20407f86 call wait_div_end 
+69b7 1807a200 quotient rega 
+69b8 18427e00 copy temp ,pdata 
+69b9 9a262400 isub rega ,regb 
+69ba 68008a9b fetch 1 ,mem_pdatatemp + 1 
+69bb 204069be call pwm_duty_cycle_set 
+69bc 68008a9a fetch 1 ,mem_pdatatemp 
+69bd 202069d5 branch pwm_enable 
+
+pwm_duty_cycle_set:
+69be c00069c4 beq 0 ,pwm_pwm0_duty_set 
+69bf c000e9c6 beq 1 ,pwm_pwm1_duty_set 
+69c0 c00169c8 beq 2 ,pwm_pwm2_duty_set 
+69c1 c001e9ca beq 3 ,pwm_pwm3_duty_set 
+69c2 c00269cc beq 4 ,pwm_pwm4_duty_set 
+69c3 c002e9ce beq 5 ,pwm_pwm5_duty_set 
+
+pwm_pwm0_duty_set:
+69c4 d8a080a0 arg core_pwm_pcnt0 ,contw 
+69c5 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm1_duty_set:
+69c6 d8a080a4 arg core_pwm_pcnt1 ,contw 
+69c7 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm2_duty_set:
+69c8 d8a080a8 arg core_pwm_pcnt2 ,contw 
+69c9 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm3_duty_set:
+69ca d8a08064 arg core_pwm_pcnt3 ,contw 
+69cb 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm4_duty_set:
+69cc d8a08068 arg core_pwm_pcnt4 ,contw 
+69cd 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm5_duty_set:
+69ce d8a0806c arg core_pwm_pcnt5 ,contw 
+69cf 202069d0 branch pwm_set_pncnt 
+
+pwm_set_pncnt:
+69d0 1a227e00 copy rega ,pdata 
+69d1 e0a10000 istore 2 ,contw 
+69d2 1a427e00 copy regb ,pdata 
+69d3 e0a10000 istore 2 ,contw 
+69d4 20600000 rtn 
+
+pwm_enable:
+69d5 78347c00 enable user 
+69d6 202069d8 branch pwm_gpio_set 
+
+pwm_disable:
+69d7 78547c00 disable user 
+
+pwm_gpio_set:
+69d8 c00269e3 beq 4 ,pwm_gpio4_set 
+69d9 c002e9e5 beq 5 ,pwm_gpio5_set 
+69da c00de9e7 beq 27 ,pwm_gpio27_set 
+69db c00e69e9 beq 28 ,pwm_gpio28_set 
+69dc c001e9eb beq 3 ,pwm_gpio3_set 
+69dd c00469ed beq 8 ,pwm_gpio8_set 
+69de c00a69ef beq 20 ,pwm_gpio20_set 
+69df c00ae9f1 beq 21 ,pwm_gpio21_set 
+69e0 c00b69f3 beq 22 ,pwm_gpio22_set 
+69e1 c00be9f5 beq 23 ,pwm_gpio23_set 
+69e2 20600000 rtn 
+
+pwm_gpio4_set:
+69e3 d8e00006 arg 6 ,queue 
+69e4 202069ff branch pwm_one_set_select 
+
+pwm_gpio5_set:
+69e5 d8e00007 arg 7 ,queue 
+69e6 202069ff branch pwm_one_set_select 
+
+pwm_gpio27_set:
+69e7 d8e00008 arg 8 ,queue 
+69e8 202069ff branch pwm_one_set_select 
+
+pwm_gpio28_set:
+69e9 d8e00009 arg 9 ,queue 
+69ea 202069ff branch pwm_one_set_select 
+
+pwm_gpio3_set:
+69eb d8e0000a arg 10 ,queue 
+69ec 202069ff branch pwm_one_set_select 
+
+pwm_gpio8_set:
+69ed d8e0000b arg 11 ,queue 
+69ee 202069ff branch pwm_one_set_select 
+
+pwm_gpio20_set:
+69ef d8e0000c arg 12 ,queue 
+69f0 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio21_set:
+69f1 d8e0000d arg 13 ,queue 
+69f2 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio22_set:
+69f3 d8e0000e arg 14 ,queue 
+69f4 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio23_set:
+69f5 d8e0000f arg 15 ,queue 
+69f6 20206a01 branch pwm_tw0_set_select 
+
+pwm_set_select:
+69f7 68110081 hfetch 2 ,core_gpio_sel1 
+69f8 f9347e00 qsetflag user ,pdata 
+69f9 60110081 hstore 2 ,core_gpio_sel1 
+69fa 1a220e00 copy rega ,queue 
+69fb 68108085 hfetch 1 ,core_gpio_key2 
+69fc f9347e00 qsetflag user ,pdata 
+69fd 60108085 hstore 1 ,core_gpio_key2 
+69fe 20600000 rtn 
+
+pwm_one_set_select:
+69ff 18e0a3fc add queue ,-4 ,rega 
+6a00 202069f7 branch pwm_set_select 
+
+pwm_tw0_set_select:
+6a01 18e0a3f6 add queue ,-10 ,rega 
+6a02 202069f7 branch pwm_set_select 
+
+rfcomm_init:
+6a03 20758000 rtn wake 
+6a04 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6a05 7004ed03 jam bits9600 ,memremoterpnbitrate 
+6a06 7004ee03 jam databits8 ,memremoteprndatabits 
+6a07 7004f211 jam 0x11 ,memremoteprnxon 
+6a08 7004f313 jam 0x13 ,memremoteprnxoff 
+6a09 58000000 setarg 0 
+6a0a 600184ef store 3 ,memremoteprnstopbit 
+6a0b 6000c254 store 1 ,mem_spp_state 
+6a0c 70468100 jam 0 ,memui_reconnect_mode 
+
+rfcomm_init_spp:
+6a0d 47524034 bpatchx patch34_4 ,mem_patch34 
+6a0e 58000000 setarg 0 
+6a0f 6000c254 store 1 ,mem_spp_state 
+6a10 6000c564 store 1 ,mem_remote_spp_channel 
+6a11 6000c55d store 1 ,mem_pn_dlci 
+6a12 6800c56b fetch 1 ,mem_credit_flag 
+6a13 c000ea16 beq credit_enable ,rfcomm_init_spp_with_credit 
+6a14 70456950 jam 0x50 ,mem_credit_given 
+6a15 20600000 rtn 
+
+rfcomm_init_spp_with_credit:
+6a16 70456900 jam 0x00 ,mem_credit_given 
+6a17 20600000 rtn 
+
+set_cr_bit:
+6a18 18418402 or_into 0x02 ,temp 
+6a19 20600000 rtn 
+
+rfcomm_calculate_fcs_sabm:
+6a1a 18427e00 copy temp ,pdata 
+6a1b 1fedfe00 reverse pdata ,pdata 
+6a1c 6000c562 store 1 ,memfcstemp3 
+6a1d 18007e3f force ini_tx_sabm ,pdata 
+6a1e 1fedfe00 reverse pdata ,pdata 
+6a1f 6000c561 store 1 ,memfcstemp2 
+6a20 18007e01 force 0x01 ,pdata 
+6a21 1fedfe00 reverse pdata ,pdata 
+6a22 6000c560 store 1 ,memfcstemp1 
+6a23 20406a50 call caculate_fcs 
+6a24 18427e00 copy temp ,pdata 
+6a25 20600000 rtn 
+
+rfcomm_calculate_fcs_ua:
+6a26 1fedfe00 reverse pdata ,pdata 
+6a27 6000c562 store 1 ,memfcstemp3 
+6a28 18007e73 force rsp_tx_ua ,pdata 
+6a29 1fedfe00 reverse pdata ,pdata 
+6a2a 6000c561 store 1 ,memfcstemp2 
+6a2b 18007e01 force 0x01 ,pdata 
+6a2c 1fedfe00 reverse pdata ,pdata 
+6a2d 6000c560 store 1 ,memfcstemp1 
+6a2e 20206a50 branch caculate_fcs 
+
+rfcomm_calculate_fcs_dlci0:
+6a2f 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a30 203a6a33 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+6a31 58000070 setarg 0x70 
+6a32 20600000 rtn 
+
+rfcomm_calculate_fcs_dlci0_res:
+6a33 580000aa setarg 0xaa 
+6a34 20600000 rtn 
+
+rfcomm_save_fcs_uih:
+6a35 1fedfe00 reverse pdata ,pdata 
+6a36 6000c562 store 1 ,memfcstemp3 
+6a37 18007eef force rsp_rx_uih ,pdata 
+6a38 20406a44 call caculate_uihdata_fcs 
+6a39 680904f7 fetcht 2 ,mem_contw_temp 
+6a3a 18420a00 copy temp ,contw 
+6a3b e0a08000 istore 1 ,contw 
+6a3c 18a20400 copy contw ,temp 
+6a3d 600904f7 storet 2 ,mem_contw_temp 
+6a3e 18007eff force rsp_rx_uih_wdata ,pdata 
+6a3f 20406a44 call caculate_uihdata_fcs 
+6a40 680904f7 fetcht 2 ,mem_contw_temp 
+6a41 18420a00 copy temp ,contw 
+6a42 e0a08000 istore 1 ,contw 
+6a43 20600000 rtn 
+
+caculate_uihdata_fcs:
+6a44 1fedfe00 reverse pdata ,pdata 
+6a45 6000c561 store 1 ,memfcstemp2 
+6a46 68014561 fetch 2 ,memfcstemp2 
+6a47 1fed7e00 lshift8 pdata ,pdata 
+6a48 600184f4 store 3 ,mem_mod2div_temp 
+6a49 da200107 arg 0x107 ,rega 
+6a4a da40000f arg 0xf ,regb 
+6a4b 20406a5d call mod2div 
+6a4c 1fe2fed7 xor_into 0xd7 ,pdata 
+6a4d 1fe47e00 invert pdata ,pdata 
+6a4e 1fedfe00 reverse pdata ,pdata 
+6a4f 20600000 rtn 
+
+caculate_fcs:
+6a50 6801c560 fetch 3 ,memfcstemp1 
+6a51 600184f4 store 3 ,mem_mod2div_temp 
+6a52 da200107 arg 0x107 ,rega 
+6a53 da40000f arg 0xf ,regb 
+6a54 20406a5d call mod2div 
+6a55 1fed7e00 lshift8 pdata ,pdata 
+6a56 da400007 arg 0x7 ,regb 
+6a57 20406a5d call mod2div 
+6a58 1fe2fe2b xor_into 0x2b ,pdata 
+6a59 1fe47e00 invert pdata ,pdata 
+6a5a 1fedfe00 reverse pdata ,pdata 
+6a5b 1fe20400 copy pdata ,temp 
+6a5c 20600000 rtn 
+
+mod2div:
+6a5d da600000 arg 0 ,regc 
+6a5e 1a427200 copy regb ,loopcnt 
+6a5f 20407e71 call right_shift_n 
+6a60 1fe20400 icopy temp 
+
+mod2div_loop:
+6a61 18427e00 copy temp ,pdata 
+6a62 1a63a600 lshift regc ,regc 
+6a63 c3046a66 bbit0 8 ,mod2div_not_enough_reduction 
+6a64 9a228400 ixor rega ,temp 
+6a65 1a60a601 increase 1 ,regc 
+
+mod2div_not_enough_reduction:
+6a66 18438400 lshift temp ,temp 
+6a67 680184f4 fetch 3 ,mem_mod2div_temp 
+6a68 1a40a5ff increase -1 ,regb 
+6a69 2a41feff compare 0xff ,regb ,0xff 
+6a6a 2020ea70 branch mod2div_end ,true 
+6a6b 1a427200 copy regb ,loopcnt 
+6a6c 20407e71 call right_shift_n 
+6a6d 2feffe00 isolate1 0 ,pdata 
+6a6e 79208400 setflag true ,0 ,temp 
+6a6f 20206a61 branch mod2div_loop 
+
+mod2div_end:
+6a70 18437e00 rshift temp ,pdata 
+6a71 20600000 rtn 
+
+get_rfcomm_snd_adss:
+6a72 6808c55d fetcht 1 ,mem_pn_dlci 
+
+dlci_to_address_cmd:
+6a73 184b8400 lshift2 temp ,temp 
+6a74 79200400 set1 rfcomm_address_ext_len ,temp 
+6a75 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a76 245a6a18 ncall set_cr_bit ,blank 
+6a77 6008850d storet 1 ,mem_rfcomm_send_adss 
+6a78 20600000 rtn 
+
+channel_to_dlci:
+6a79 18438400 lshift temp ,temp 
+6a7a 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a7b 793a0400 setflag blank ,0 ,temp 
+6a7c 20600000 rtn 
+
+rfcomm_rx_process_dlci0_sabm:
+6a7d 680884fc fetcht 1 ,mem_current_channel 
+6a7e 7004fed7 jam 0xd7 ,mem_current_fcs 
+6a7f 20406bb6 call rfcomm_send_ua 
+6a80 6800c251 fetch 1 ,mem_rfcomm_state 
+6a81 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6a82 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a83 6000c251 store 1 ,mem_rfcomm_state 
+6a84 70456300 jam 0 ,mem_rfcomm_initiator 
+6a85 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_dlci0_ua:
+6a86 6800c251 fetch 1 ,mem_rfcomm_state 
+6a87 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a88 6000c251 store 1 ,mem_rfcomm_state 
+6a89 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process:
+6a8a 4752c034 bpatchx patch34_5 ,mem_patch34 
+6a8b 6800c681 fetch 1 ,memui_reconnect_mode 
+6a8c c0006a8e beq no_reconnection ,rfcomm_rx_process_remote_page 
+6a8d 20206b4c branch rfcomm_rx_process_reconn 
+
+rfcomm_rx_process_remote_page:
+6a8e 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6a8f 1fe20c00 copy pdata ,contr 
+6a90 20406ab8 call get_rfcomm_head_struct 
+6a91 680084fc fetch 1 ,mem_current_channel 
+6a92 c0006a94 beq 0 ,parse_dlci0_rp 
+6a93 20206b18 branch parse_uih_rp 
+
+parse_dlci0_rp:
+6a94 47534034 bpatchx patch34_6 ,mem_patch34 
+6a95 680084fd fetch 1 ,mem_current_frame_type 
+6a96 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6a97 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6a98 c077ea9b beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+6a99 c029eb44 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+6a9a 20600000 rtn 
+
+parse_dlci0_rp_uih:
+6a9b 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6a9c 1fe20c00 copy pdata ,contr 
+6a9d 20406ac3 call get_rfcomm_uih_head_struct 
+6a9e 68008503 fetch 1 ,mem_uih_cmd_type 
+6a9f c020eaa5 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+6aa0 c0206aad beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+6aa1 c038eae6 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+6aa2 c0386af2 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+6aa3 c024eafd beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+6aa4 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_cmd:
+6aa5 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aa6 20206aa7 branch parse_dlci0_rp_uih_pn_cmd_spp 
+
+parse_dlci0_rp_uih_pn_cmd_spp:
+6aa7 6800c254 fetch 1 ,mem_spp_state 
+6aa8 79207e00 set1 rfcomm_channel_state_pn_cmd ,pdata 
+6aa9 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6aaa 6000c254 store 1 ,mem_spp_state 
+6aab 20406be0 call rfcomm_send_param_neg_res 
+6aac 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res:
+6aad 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aae 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res_common:
+6aaf 20406acb call get_param_payload_ptr 
+6ab0 20206ad7 branch get_rfcomm_prarmer_negotiation 
+
+get_rfcomm_param_modem_status:
+6ab1 20406acb call get_param_payload_ptr 
+6ab2 e8c08000 ifetch 1 ,contr 
+6ab3 1fe97e00 rshift3 pdata ,pdata 
+6ab4 6000c56a store 1 ,mem_ms_channel 
+6ab5 e8c08000 ifetch 1 ,contr 
+6ab6 60008508 store 1 ,mem_ms_param 
+6ab7 20600000 rtn 
+
+get_rfcomm_head_struct:
+6ab8 e8c08000 ifetch 1 ,contr 
+6ab9 600084fb store 1 ,mem_current_adss 
+6aba 1fe97e00 rshift3 pdata ,pdata 
+6abb 600084fc store 1 ,mem_current_channel 
+6abc e8c08000 ifetch 1 ,contr 
+6abd 600084fd store 1 ,mem_current_frame_type 
+
+get_rfcomm_current_length:
+6abe 20406ace call get_rfcomm_length_common 
+6abf 600904ff storet 2 ,mem_current_length 
+6ac0 18c27e00 copy contr ,pdata 
+6ac1 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6ac2 20600000 rtn 
+
+get_rfcomm_uih_head_struct:
+6ac3 e8c08000 ifetch 1 ,contr 
+6ac4 1fe37e00 rshift pdata ,pdata 
+6ac5 60008503 store 1 ,mem_uih_cmd_type 
+6ac6 20406ace call get_rfcomm_length_common 
+6ac7 60090504 storet 2 ,mem_uih_length 
+6ac8 18c27e00 copy contr ,pdata 
+6ac9 60010506 store 2 ,mem_param_payload_ptr 
+6aca 20600000 rtn 
+
+get_param_payload_ptr:
+6acb 68010506 fetch 2 ,mem_param_payload_ptr 
+6acc 1fe20c00 copy pdata ,contr 
+6acd 20600000 rtn 
+
+get_rfcomm_length_common:
+6ace e8c08000 ifetch 1 ,contr 
+6acf 1fe20400 copy pdata ,temp 
+6ad0 18430400 rshift temp ,temp 
+6ad1 c3800000 rtnbit1 0 
+6ad2 e8c08000 ifetch 1 ,contr 
+6ad3 1fe9fe00 lshift3 pdata ,pdata 
+6ad4 1ff27e00 lshift4 pdata ,pdata 
+6ad5 98408400 iadd temp ,temp 
+6ad6 20600000 rtn 
+
+get_rfcomm_prarmer_negotiation:
+6ad7 e8c08000 ifetch 1 ,contr 
+6ad8 6000c55d store 1 ,mem_pn_dlci 
+6ad9 e8c08000 ifetch 1 ,contr 
+6ada 60008509 store 1 ,mem_pn_credit_flow_type_info 
+6adb e8c08000 ifetch 1 ,contr 
+6adc 6000850a store 1 ,mem_pn_priority 
+6add e8c08000 ifetch 1 ,contr 
+6ade 6000850b store 1 ,mem_pn_acknowledg_timer 
+6adf e8c10000 ifetch 2 ,contr 
+6ae0 6001455e store 2 ,mem_pn_max_frame_size 
+6ae1 e8c08000 ifetch 1 ,contr 
+6ae2 6000850c store 1 ,mem_pn_max_retrans 
+6ae3 e8c08000 ifetch 1 ,contr 
+6ae4 6000c568 store 1 ,mem_remote_credits 
+6ae5 20600000 rtn 
+
+parse_dlci0_rp_uih_ms_cmd:
+6ae6 20406ab1 call get_rfcomm_param_modem_status 
+6ae7 20206ae8 branch parse_dlci0_rp_uih_ms_cmd_spp 
+
+parse_dlci0_rp_uih_ms_cmd_spp:
+6ae8 6800c254 fetch 1 ,mem_spp_state 
+6ae9 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6aea 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6aeb 6000c254 store 1 ,mem_spp_state 
+6aec 6808c55d fetcht 1 ,mem_pn_dlci 
+6aed 184b8400 lshift2 temp ,temp 
+6aee 18418403 or_into 3 ,temp 
+6aef 20406c11 call rfcomm_send_modem_status_res 
+6af0 70456703 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+6af1 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_ms_res:
+6af2 700a9908 jam bt_evt_spp_connected ,mem_fifo_temp 
+6af3 20407d86 call ui_ipc_send_event 
+6af4 20406ab1 call get_rfcomm_param_modem_status 
+6af5 6800c56a fetch 1 ,mem_ms_channel 
+6af6 1fe67c01 sub pdata ,1 ,null 
+6af7 2022eaf9 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+6af8 20202a8c branch assert 
+
+parse_dlci0_rp_uih_ms_res_spp:
+6af9 6800c254 fetch 1 ,mem_spp_state 
+6afa 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6afb 6000c254 store 1 ,mem_spp_state 
+6afc 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_cmd_port:
+6afd 20406acb call get_param_payload_ptr 
+6afe e8c08000 ifetch 1 ,contr 
+6aff 60008ac2 store 1 ,mem_rpn_dlci 
+6b00 204052d2 call l2cap_malloc_rfcomm_channel 
+6b01 204052e0 call l2cap_get_rfcomm_tx_buff 
+6b02 5800000e setarg 0x000e 
+6b03 e0a10000 istore 2 ,contw 
+6b04 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6b05 e0a10000 istore 2 ,contw 
+6b06 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6b07 1fe3fe00 lshift pdata ,pdata 
+6b08 79207e00 set1 0 ,pdata 
+6b09 e0a08000 istore 1 ,contw 
+6b0a 4753c034 bpatchx patch34_7 ,mem_patch34 
+6b0b 580015ef setarg 0x15ef 
+6b0c e0a10000 istore 2 ,contw 
+6b0d 58001191 setarg 0x1191 
+6b0e e0a10000 istore 2 ,contw 
+6b0f 68008ac2 fetch 1 ,mem_rpn_dlci 
+6b10 e0a08000 istore 1 ,contw 
+6b11 58000007 setarg 0x000007 
+6b12 e0a28000 istore 5 ,contw 
+6b13 58000001 setarg 0x01 
+6b14 e0a10000 istore 2 ,contw 
+6b15 20406a2f call rfcomm_calculate_fcs_dlci0 
+6b16 e0a08000 istore 1 ,contw 
+6b17 20600000 rtn 
+
+parse_uih_rp:
+6b18 20206b19 branch parse_uih_rp_spp 
+
+parse_uih_rp_spp:
+6b19 47544035 bpatchx patch35_0 ,mem_patch35 
+6b1a 680084fd fetch 1 ,mem_current_frame_type 
+6b1b c039eb21 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+6b1c c01feb25 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+6b1d c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b1e c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b1f c029eb46 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+6b20 20600000 rtn 
+
+parse_uih_rp_spp_ua:
+6b21 6800c254 fetch 1 ,mem_spp_state 
+6b22 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b23 6000c254 store 1 ,mem_spp_state 
+6b24 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_sabm:
+6b25 6800c254 fetch 1 ,mem_spp_state 
+6b26 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b27 79207e02 set1 rfcomm_channel_state_sabm ,pdata 
+6b28 6000c254 store 1 ,mem_spp_state 
+6b29 680084fb fetch 1 ,mem_current_adss 
+6b2a 20406a26 call rfcomm_calculate_fcs_ua 
+6b2b 600084fe store 1 ,mem_current_fcs 
+6b2c 20406bb6 call rfcomm_send_ua 
+6b2d 680084fb fetch 1 ,mem_current_adss 
+6b2e 1feb7e00 rshift2 pdata ,pdata 
+6b2f 6000c55d store 1 ,mem_pn_dlci 
+6b30 1febfe00 lshift2 pdata ,pdata 
+6b31 793ffe01 set0 rfcomm_address_cr ,pdata 
+6b32 79207e00 set1 rfcomm_address_ext_len ,pdata 
+6b33 d8404565 arg mem_hiufcs_spp ,temp 
+6b34 600904f7 storet 2 ,mem_contw_temp 
+6b35 20406a35 call rfcomm_save_fcs_uih 
+6b36 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_spp_uih_credits:
+6b37 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b38 1fe20c00 copy pdata ,contr 
+6b39 1fe0fe01 increase 1 ,pdata 
+6b3a 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6b3b e8c08000 ifetch 1 ,contr 
+6b3c 6808c568 fetcht 1 ,mem_remote_credits 
+6b3d 9840fe00 iadd temp ,pdata 
+6b3e 6000c568 store 1 ,mem_remote_credits 
+
+parse_uih_spp_uih:
+6b3f 20406c42 call rfcomm_increase_credit_given 
+
+parse_uih_spp_uih_cont:
+6b40 20406a72 call get_rfcomm_snd_adss 
+6b41 20406c28 call rfcomm_send_uih_without_payload 
+6b42 20406c4b call spp_process_rx_data 
+6b43 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_disconn_send_event:
+6b44 700a9909 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+6b45 20407d86 call ui_ipc_send_event 
+
+parse_uih_rp_spp_disconn:
+6b46 20406a0d call rfcomm_init_spp 
+6b47 680084fb fetch 1 ,mem_current_adss 
+6b48 20406a26 call rfcomm_calculate_fcs_ua 
+6b49 600084fe store 1 ,mem_current_fcs 
+6b4a 20406bb6 call rfcomm_send_ua 
+6b4b 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_reconn:
+6b4c 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6b4d 1fe20c00 copy pdata ,contr 
+6b4e 20406ab8 call get_rfcomm_head_struct 
+6b4f 680084fc fetch 1 ,mem_current_channel 
+6b50 c0006b52 beq 0 ,parse_dlci0_reconn 
+6b51 20206b86 branch parse_uih_reconn 
+
+parse_dlci0_reconn:
+6b52 4754c035 bpatchx patch35_1 ,mem_patch35 
+6b53 680084fd fetch 1 ,mem_current_frame_type 
+6b54 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6b55 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6b56 c077eb58 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+6b57 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih:
+6b58 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b59 1fe20c00 copy pdata ,contr 
+6b5a 20406ac3 call get_rfcomm_uih_head_struct 
+6b5b 68008503 fetch 1 ,mem_uih_cmd_type 
+6b5c c020eb61 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+6b5d c0206b61 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+6b5e c038eb6c beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+6b5f c0386b7c beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+6b60 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_pn_cmd:
+6b61 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6b62 6800c55d fetch 1 ,mem_pn_dlci 
+6b63 1fe37e00 rshift pdata ,pdata 
+6b64 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b65 98467c00 isub temp ,null 
+6b66 2022eb68 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+6b67 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_pn_cmd_spp:
+6b68 6800c254 fetch 1 ,mem_spp_state 
+6b69 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6b6a 6000c254 store 1 ,mem_spp_state 
+6b6b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd:
+6b6c 20406ab1 call get_rfcomm_param_modem_status 
+6b6d 6800c56a fetch 1 ,mem_ms_channel 
+6b6e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b6f 98467c00 isub temp ,null 
+6b70 2022eb73 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+6b71 20202a8c branch assert 
+6b72 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd_spp:
+6b73 6800c254 fetch 1 ,mem_spp_state 
+6b74 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6b75 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6b76 6000c254 store 1 ,mem_spp_state 
+6b77 6808c55d fetcht 1 ,mem_pn_dlci 
+6b78 184b8400 lshift2 temp ,temp 
+6b79 18418403 or_into 3 ,temp 
+6b7a 20406c11 call rfcomm_send_modem_status_res 
+6b7b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_res:
+6b7c 20406ab1 call get_rfcomm_param_modem_status 
+6b7d 6800c56a fetch 1 ,mem_ms_channel 
+6b7e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b7f 98467c00 isub temp ,null 
+6b80 2022eb82 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+6b81 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_ms_res_spp:
+6b82 6800c254 fetch 1 ,mem_spp_state 
+6b83 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6b84 6000c254 store 1 ,mem_spp_state 
+6b85 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn:
+6b86 680084fc fetch 1 ,mem_current_channel 
+6b87 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b88 98467c00 isub temp ,null 
+6b89 2022eb8c branch parse_uih_reconn_spp ,zero 
+6b8a 20202a8c branch assert 
+6b8b 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp:
+6b8c 680084fd fetch 1 ,mem_current_frame_type 
+6b8d c039eb91 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+6b8e c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b8f c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b90 c029eb96 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+
+parse_uih_reconn_spp_ua:
+6b91 6800c254 fetch 1 ,mem_spp_state 
+6b92 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b93 6000c254 store 1 ,mem_spp_state 
+6b94 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp_sabm:
+6b95 20206b95 branch parse_uih_reconn_spp_sabm 
+
+parse_uih_reconn_spp_disconn:
+6b96 20206b46 branch parse_uih_rp_spp_disconn 
+
+rfcomm_rx_process_end:
+6b97 20600000 rtn 
+
+rfcomm_send_more_pkt:
+6b98 6800c567 fetch 1 ,mem_rfcomm_send_more_pkt 
+6b99 207a0000 rtn blank 
+6b9a c001eb9c beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+6b9b 20202a8c branch assert 
+
+rfcomm_send_more_pkt_msc_cmd_spp:
+6b9c 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6b9d 204052d2 call l2cap_malloc_rfcomm_channel 
+6b9e d8400001 arg spp_slave_channel ,temp 
+6b9f 6808c55d fetcht 1 ,mem_pn_dlci 
+6ba0 184b8400 lshift2 temp ,temp 
+
+rfcomm_send_more_pkt_msc_cmd_spp0:
+6ba1 18418403 or_into 0x03 ,temp 
+6ba2 da2000aa arg 0xaa ,rega 
+6ba3 20406bfc call rfcomm_send_modem_status_cmd 
+6ba4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6ba5 18a20c00 copy contw ,contr 
+6ba6 e8c10000 ifetch 2 ,contr 
+6ba7 203a2a8c branch assert ,blank 
+6ba8 20600000 rtn 
+
+rfcomm_send_sabm:
+6ba9 204052e0 call l2cap_get_rfcomm_tx_buff 
+6baa 58000004 setarg 0x0004 
+6bab e0a10000 istore 2 ,contw 
+6bac 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bad e0a10000 istore 2 ,contw 
+6bae 680084fb fetch 1 ,mem_current_adss 
+6baf e0a08000 istore 1 ,contw 
+6bb0 47554035 bpatchx patch35_2 ,mem_patch35 
+6bb1 5800013f setarg 0x013f 
+6bb2 e0a10000 istore 2 ,contw 
+6bb3 680084fe fetch 1 ,mem_current_fcs 
+6bb4 e0a08000 istore 1 ,contw 
+6bb5 20600000 rtn 
+
+rfcomm_send_ua:
+6bb6 204052d2 call l2cap_malloc_rfcomm_channel 
+6bb7 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bb8 58000004 setarg 0x0004 
+6bb9 e0a10000 istore 2 ,contw 
+6bba 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bbb e0a10000 istore 2 ,contw 
+6bbc 680084fb fetch 1 ,mem_current_adss 
+6bbd e0a08000 istore 1 ,contw 
+6bbe 4755c035 bpatchx patch35_3 ,mem_patch35 
+6bbf 58000173 setarg 0x0173 
+6bc0 e0a10000 istore 2 ,contw 
+6bc1 680084fe fetch 1 ,mem_current_fcs 
+6bc2 e0a08000 istore 1 ,contw 
+6bc3 20600000 rtn 
+
+rfcomm_send_param_neg_cmd:
+6bc4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bc5 5800000e setarg 0x000e 
+6bc6 e0a10000 istore 2 ,contw 
+6bc7 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bc8 e0a10000 istore 2 ,contw 
+6bc9 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6bca 1fe3fe00 lshift pdata ,pdata 
+6bcb 79207e00 set1 0 ,pdata 
+6bcc e0a08000 istore 1 ,contw 
+6bcd 47564035 bpatchx patch35_4 ,mem_patch35 
+6bce 580015ef setarg 0x15ef 
+6bcf e0a10000 istore 2 ,contw 
+6bd0 58001183 setarg 0x1183 
+6bd1 e0a10000 istore 2 ,contw 
+6bd2 18427e00 copy temp ,pdata 
+6bd3 e0a08000 istore 1 ,contw 
+6bd4 580000f0 setarg 0x0000f0 
+6bd5 e0a18000 istore 3 ,contw 
+6bd6 5800007f setarg rfcomm_max_frame_size 
+6bd7 e0a10000 istore 2 ,contw 
+6bd8 58000000 setarg 0 
+6bd9 e0a08000 istore 1 ,contw 
+6bda 58000001 setarg 0x01 
+6bdb e0a08000 istore 1 ,contw 
+6bdc 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bdd e0a08000 istore 1 ,contw 
+6bde 70456910 jam 0x10 ,mem_credit_given 
+6bdf 20600000 rtn 
+
+rfcomm_send_param_neg_res:
+6be0 204052d2 call l2cap_malloc_rfcomm_channel 
+6be1 204052e0 call l2cap_get_rfcomm_tx_buff 
+6be2 5800000e setarg 0x000e 
+6be3 e0a10000 istore 2 ,contw 
+6be4 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6be5 e0a10000 istore 2 ,contw 
+6be6 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6be7 1fe3fe00 lshift pdata ,pdata 
+6be8 79207e00 set1 0 ,pdata 
+6be9 e0a08000 istore 1 ,contw 
+6bea 4756c035 bpatchx patch35_5 ,mem_patch35 
+6beb 580015ef setarg 0x15ef 
+6bec e0a10000 istore 2 ,contw 
+6bed 58001181 setarg 0x1181 
+6bee e0a10000 istore 2 ,contw 
+6bef 6800c55d fetch 1 ,mem_pn_dlci 
+6bf0 e0a08000 istore 1 ,contw 
+6bf1 580000e0 setarg 0x0000e0 
+6bf2 e0a18000 istore 3 ,contw 
+6bf3 6801456c fetch 2 ,mem_rfcomm_max_frame_size 
+6bf4 e0a10000 istore 2 ,contw 
+6bf5 58000000 setarg 0x00 
+6bf6 e0a08000 istore 1 ,contw 
+6bf7 6800c56e fetch 1 ,mem_rfcomm_credit_init_data 
+6bf8 e0a08000 istore 1 ,contw 
+6bf9 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bfa e0a08000 istore 1 ,contw 
+6bfb 20600000 rtn 
+
+rfcomm_send_modem_status_cmd:
+6bfc 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bfd 58000008 setarg 0x0008 
+6bfe e0a10000 istore 2 ,contw 
+6bff 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c00 e0a10000 istore 2 ,contw 
+6c01 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c02 1fe3fe00 lshift pdata ,pdata 
+6c03 79207e00 set1 0 ,pdata 
+6c04 e0a08000 istore 1 ,contw 
+6c05 47574035 bpatchx patch35_6 ,mem_patch35 
+6c06 580009ef setarg 0x09ef 
+6c07 e0a10000 istore 2 ,contw 
+6c08 580005e3 setarg 0x05e3 
+6c09 e0a10000 istore 2 ,contw 
+6c0a 18427e00 copy temp ,pdata 
+6c0b e0a08000 istore 1 ,contw 
+6c0c 5800008d setarg 0x8d 
+6c0d e0a08000 istore 1 ,contw 
+6c0e 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c0f e0a08000 istore 1 ,contw 
+6c10 20600000 rtn 
+
+rfcomm_send_modem_status_res:
+6c11 204052d2 call l2cap_malloc_rfcomm_channel 
+6c12 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c13 58000008 setarg 0x0008 
+6c14 e0a10000 istore 2 ,contw 
+6c15 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c16 e0a10000 istore 2 ,contw 
+6c17 18421600 copy temp ,timeup 
+6c18 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c19 1fe3fe00 lshift pdata ,pdata 
+6c1a 79207e00 set1 0 ,pdata 
+6c1b e0a08000 istore 1 ,contw 
+6c1c 4757c035 bpatchx patch35_7 ,mem_patch35 
+6c1d 580009ef setarg 0x09ef 
+6c1e e0a10000 istore 2 ,contw 
+6c1f 580005e1 setarg 0x05e1 
+6c20 e0a10000 istore 2 ,contw 
+6c21 19627e00 copy timeup ,pdata 
+6c22 e0a08000 istore 1 ,contw 
+6c23 5800008d setarg 0x8d 
+6c24 e0a08000 istore 1 ,contw 
+6c25 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c26 e0a08000 istore 1 ,contw 
+6c27 20600000 rtn 
+
+rfcomm_send_uih_without_payload:
+6c28 47584036 bpatchx patch36_0 ,mem_patch36 
+6c29 6800c569 fetch 1 ,mem_credit_given 
+6c2a 207a0000 rtn blank 
+6c2b 68110112 hfetch 2 ,core_uart_rxitems 
+6c2c 247a0000 nrtn blank 
+6c2d 1a227e00 copy rega ,pdata 
+6c2e 60008a9b store 1 ,mem_pdatatemp + 1 
+6c2f 60088a9a storet 1 ,mem_pdatatemp 
+6c30 2040526e call l2cap_malloc_is_fifo_full 
+6c31 247a0000 nrtn blank 
+6c32 204052d2 call l2cap_malloc_rfcomm_channel 
+6c33 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c34 58000005 setarg 0x05 
+6c35 e0a10000 istore 2 ,contw 
+6c36 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c37 e0a10000 istore 2 ,contw 
+6c38 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c39 e0a08000 istore 1 ,contw 
+6c3a 580001ff setarg 0x01ff 
+6c3b e0a10000 istore 2 ,contw 
+6c3c 6800c569 fetch 1 ,mem_credit_given 
+6c3d e0a08000 istore 1 ,contw 
+6c3e 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c3f e0a08000 istore 1 ,contw 
+6c40 70456900 jam 0 ,mem_credit_given 
+6c41 20600000 rtn 
+
+rfcomm_increase_credit_given:
+6c42 4758c036 bpatchx patch36_1 ,mem_patch36 
+6c43 6800c56b fetch 1 ,mem_credit_flag 
+6c44 c1008000 rtneq credit_enable 
+6c45 680104ff fetch 2 ,mem_current_length 
+6c46 207a0000 rtn blank 
+6c47 6800c569 fetch 1 ,mem_credit_given 
+6c48 1fe0fe01 increase 1 ,pdata 
+6c49 6000c569 store 1 ,mem_credit_given 
+6c4a 20600000 rtn 
+
+spp_process_rx_data:
+6c4b 6801456f fetch 2 ,mem_cb_receive_spp_data 
+6c4c 20207f9c branch callback_func 
+
+spp_tx_rfcomm_packet:
+6c4d 47594036 bpatchx patch36_2 ,mem_patch36 
+6c4e 6800c568 fetch 1 ,mem_remote_credits 
+6c4f 207a0000 rtn blank 
+6c50 1fe0ffff increase -1 ,pdata 
+6c51 6000c568 store 1 ,mem_remote_credits 
+6c52 6801455e fetch 2 ,mem_pn_max_frame_size 
+6c53 6809469f fetcht 2 ,mem_current_packet_length 
+6c54 98467c00 isub temp ,null 
+6c55 20216c57 branch ssp_tx_rfcomm_from_uart ,positive 
+6c56 6001469f store 2 ,mem_current_packet_length 
+
+ssp_tx_rfcomm_from_uart:
+6c57 6800c569 fetch 1 ,mem_credit_given 
+6c58 203a6c5f branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+6c59 70051001 jam 1 ,mem_rfcomm_send_offset 
+6c5a 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c5b 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c5c 580000ff setarg rsp_rx_uih_wdata 
+6c5d 6000850e store 1 ,mem_rfcomm_send_frame_type 
+6c5e 20206c64 branch ssp_tx_rfcomm_from_uart_common 
+
+ssp_tx_rfcomm_from_uart_without_credit:
+6c5f 70051000 jam 0 ,mem_rfcomm_send_offset 
+6c60 6800c565 fetch 1 ,mem_hiufcs_spp 
+6c61 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c62 580000ef setarg rsp_tx_uih 
+6c63 6000850e store 1 ,mem_rfcomm_send_frame_type 
+
+ssp_tx_rfcomm_from_uart_common:
+6c64 4759c036 bpatchx patch36_3 ,mem_patch36 
+6c65 6801469f fetch 2 ,mem_current_packet_length 
+6c66 1fe67c7f sub pdata ,127 ,null 
+6c67 20216c6b branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+6c68 68008510 fetch 1 ,mem_rfcomm_send_offset 
+6c69 1fe0fe01 increase 1 ,pdata 
+6c6a 60008510 store 1 ,mem_rfcomm_send_offset 
+
+ssp_tx_rfcomm_from_uart_common0:
+6c6b 20406a72 call get_rfcomm_snd_adss 
+6c6c 6801469f fetch 2 ,mem_current_packet_length 
+6c6d 1fe0fe08 increase 8 ,pdata 
+6c6e 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c6f 9840a200 iadd temp ,rega 
+6c70 20405240 call l2cap_malloc 
+6c71 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+6c72 1fe0fe04 increase 4 ,pdata 
+6c73 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+6c74 1fe20a00 copy pdata ,contw 
+6c75 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c76 e0a08000 istore 1 ,contw 
+6c77 6800850e fetch 1 ,mem_rfcomm_send_frame_type 
+6c78 e0a08000 istore 1 ,contw 
+6c79 20406c95 call ssp_tx_write_length 
+6c7a 20406ca6 call ssp_tx_write_given_credit 
+6c7b 475a4036 bpatchx patch36_4 ,mem_patch36 
+6c7c 68014571 fetch 2 ,mem_nl_rx_data_src 
+6c7d 1fe20600 copy pdata ,contru 
+6c7e 6801469f fetch 2 ,mem_current_packet_length 
+6c7f 1fe27200 copy pdata ,loopcnt 
+6c80 204066ea call uart_copy_rx_bytes_fast 
+6c81 18a20400 copy contw ,temp 
+6c82 18627e00 copy contru ,pdata 
+6c83 60014571 store 2 ,mem_nl_rx_data_src 
+6c84 18420a00 copy temp ,contw 
+6c85 6800850f fetch 1 ,mem_rfcomm_send_fcs 
+6c86 e0a08000 istore 1 ,contw 
+6c87 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+6c88 1fe20a00 copy pdata ,contw 
+6c89 6801469f fetch 2 ,mem_current_packet_length 
+6c8a 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c8b 9840fe00 iadd temp ,pdata 
+6c8c 1fe0fe04 increase 4 ,pdata 
+6c8d e0a10000 istore 2 ,contw 
+6c8e 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c8f e0a10000 istore 2 ,contw 
+6c90 70456900 jam 0 ,mem_credit_given 
+6c91 68014573 fetch 2 ,mem_nl_rx_len_all 
+6c92 c0003a97 beq 0 ,module_hci_command_tx_spp_tx_complete 
+6c93 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+6c94 20600000 rtn 
+
+ssp_tx_write_length:
+6c95 475ac036 bpatchx patch36_5 ,mem_patch36 
+6c96 6801469f fetch 2 ,mem_current_packet_length 
+6c97 1fe67c7f sub pdata ,0x7f ,null 
+6c98 24216c9d nbranch ssp_tx_write_long_packet ,positive 
+6c99 1fe3fe00 lshift pdata ,pdata 
+6c9a 79207e00 set1 0 ,pdata 
+6c9b e0a08000 istore 1 ,contw 
+6c9c 20600000 rtn 
+
+ssp_tx_write_long_packet:
+6c9d 6801469f fetch 2 ,mem_current_packet_length 
+6c9e 1fe97e00 rshift3 pdata ,pdata 
+6c9f 1ff18400 rshift4 pdata ,temp 
+6ca0 1fe17e7f and_into 0x7f ,pdata 
+6ca1 1fe3fe00 lshift pdata ,pdata 
+6ca2 793ffe00 set0 0 ,pdata 
+6ca3 e0a08000 istore 1 ,contw 
+6ca4 e0a88000 istoret 1 ,contw 
+6ca5 20600000 rtn 
+
+ssp_tx_write_given_credit:
+6ca6 6800c569 fetch 1 ,mem_credit_given 
+6ca7 207a0000 rtn blank 
+6ca8 e0a08000 istore 1 ,contw 
+6ca9 20600000 rtn 
+
+scheduler_process:
+6caa 475b4036 bpatchx patch36_6 ,mem_patch36 
+6cab 20407d9c call check_51cmd 
+6cac 204032f6 call app_process_bb_event 
+6cad 2040631b call process_conn_sm 
+6cae 475bc036 bpatchx patch36_7 ,mem_patch36 
+6caf 204076dc call sp_calc_sequence 
+6cb0 204076b5 call simple_pairing_sequence 
+6cb1 204076c6 call master_simple_paring_sequence 
+6cb2 2040526e call l2cap_malloc_is_fifo_full 
+6cb3 247a0000 nrtn blank 
+6cb4 20404da9 call l2cap_call_proc_sigal_pending 
+6cb5 2040526e call l2cap_malloc_is_fifo_full 
+6cb6 247a0000 nrtn blank 
+6cb7 475c4037 bpatchx patch37_0 ,mem_patch37 
+6cb8 20406cf5 call process_upper_sm 
+6cb9 20404f64 call l2cap_send_config_req 
+6cba 20406b98 call rfcomm_send_more_pkt 
+
+scheduler_process0:
+6cbb 20406cbe call scheduler_tx_disconnect_hid 
+6cbc 475cc037 bpatchx patch37_1 ,mem_patch37 
+6cbd 202032f2 branch app_process_bt 
+
+scheduler_tx_disconnect_hid:
+6cbe 6800827f fetch 1 ,mem_control_tasks 
+6cbf c2805087 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+6cc0 c283d091 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+6cc1 20600000 rtn 
+
+scheduler_tx_l2cap_pkt:
+6cc2 475d4037 bpatchx patch37_2 ,mem_patch37 
+6cc3 20405274 call l2cap_malloc_is_fifo_empty 
+6cc4 207a0000 rtn blank 
+6cc5 6800804b fetch 1 ,mem_op 
+6cc6 c3830000 rtnbit1 op_txl2cap 
+6cc7 20405258 call l2cap_malloc_fifo_out 
+6cc8 6001016f store 2 ,mem_txptr 
+6cc9 1fe20c00 copy pdata ,contr 
+6cca e8c10000 ifetch 2 ,contr 
+6ccb 1fe0fe04 increase 4 ,pdata 
+6ccc 600141dc store 2 ,mem_tx_len 
+6ccd 7041db06 jam 6 ,mem_tx_lch 
+6cce 475dc037 bpatchx patch37_3 ,mem_patch37 
+6ccf 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6cd0 203a6cdd branch scheduler_tx_l2cap_start_pkt ,blank 
+6cd1 6800804b fetch 1 ,mem_op 
+6cd2 c4038000 rtnbit0 op_pkt_comp 
+6cd3 793ffe07 set0 op_pkt_comp ,pdata 
+6cd4 6000804b store 1 ,mem_op 
+6cd5 7041db05 jam 5 ,mem_tx_lch 
+6cd6 68094246 fetcht 2 ,mem_l2cap_tx_multi_offset 
+6cd7 6801016f fetch 2 ,mem_txptr 
+6cd8 9840fe00 iadd temp ,pdata 
+6cd9 6001016f store 2 ,mem_txptr 
+6cda 680141dc fetch 2 ,mem_tx_len 
+6cdb 98467e00 isub temp ,pdata 
+6cdc 600141dc store 2 ,mem_tx_len 
+
+scheduler_tx_l2cap_start_pkt:
+6cdd 475e4037 bpatchx patch37_4 ,mem_patch37 
+6cde 680141dc fetch 2 ,mem_tx_len 
+6cdf 203a2a8c branch assert ,blank 
+6ce0 d8400104 arg l2cap_max_pkt_len ,temp 
+6ce1 98467e00 isub temp ,pdata 
+6ce2 24216ce9 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+6ce3 475ec037 bpatchx patch37_5 ,mem_patch37 
+6ce4 600941dc storet 2 ,mem_tx_len 
+6ce5 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6ce6 9840fe00 iadd temp ,pdata 
+6ce7 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+6ce8 20206ceb branch scheduler_tx_l2cap_pkt_end 
+
+scheduler_tx_l2cap_last_pkt:
+6ce9 58000000 setarg 0 
+6cea 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+
+scheduler_tx_l2cap_pkt_end:
+6ceb 6800804b fetch 1 ,mem_op 
+6cec 79207e06 set1 op_txl2cap ,pdata 
+6ced 6000804b store 1 ,mem_op 
+6cee 20600000 rtn 
+
+scheduler_start_upper_sm:
+6cef 6800c684 fetch 1 ,mem_ui_profile_supported 
+6cf0 c2806cf3 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+6cf1 70028701 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+6cf2 20600000 rtn 
+
+scheduler_start_upper_sm_hid:
+6cf3 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6cf4 20600000 rtn 
+
+process_upper_sm:
+6cf5 6800c681 fetch 1 ,memui_reconnect_mode 
+6cf6 243a6cfb nbranch process_upper_sm_reconn ,blank 
+
+process_upper_sm_remote_page:
+6cf7 68008286 fetch 1 ,mem_upper_sm_remote_page 
+6cf8 207a0000 rtn blank 
+6cf9 70028600 jam 0 ,mem_upper_sm_remote_page 
+
+process_upper_sm_rp_wait:
+6cfa 20600000 rtn 
+
+process_upper_sm_reconn:
+6cfb 475f4037 bpatchx patch37_6 ,mem_patch37 
+6cfc 68008287 fetch 1 ,mem_upper_sm_reconn 
+6cfd 207a0000 rtn blank 
+6cfe c000ed1b beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+6cff c0016d74 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+6d00 c001ed21 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+6d01 c0026d78 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+6d02 c01ded2b beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+6d03 c01e6d7b beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+6d04 c006ed30 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+6d05 c0076d80 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+6d06 c007ed33 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+6d07 c0086d86 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+6d08 c008ed39 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+6d09 c0096d8a beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+6d0a c009ed3f beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+6d0b c00a6d8e beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+6d0c c00aed45 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+6d0d c00b6d92 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+6d0e c00bed4b beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+6d0f c00c6d97 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+6d10 c00ced51 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+6d11 c00d6d9b beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+6d12 c00ded57 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+6d13 c00e6d9f beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+6d14 c00eed5d beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+6d15 c00f6da4 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+6d16 c00fed63 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+6d17 c0106da8 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+6d18 c010ed6e beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+6d19 c0116dac beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+
+process_upper_sm_reconn_wait:
+6d1a 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn:
+6d1b 20406db7 call upper_sm_send_sdp_conn 
+6d1c 70028702 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+6d1d 6800c250 fetch 1 ,mem_sdp_state 
+6d1e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d1f 6000c250 store 1 ,mem_sdp_state 
+6d20 20600000 rtn 
+
+process_upper_sm_reconn_sdp_cfg:
+6d21 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d22 6800c250 fetch 1 ,mem_sdp_state 
+6d23 c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req 
+6d24 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d25 20406dbe call upper_sm_send_sdp_cfg 
+6d26 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d27 6800c250 fetch 1 ,mem_sdp_state 
+6d28 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d29 6000c250 store 1 ,mem_sdp_state 
+6d2a 20600000 rtn 
+
+process_upper_sm_reconn_ss_spp:
+6d2b 20405274 call l2cap_malloc_is_fifo_empty 
+6d2c 247a0000 nrtn blank 
+6d2d 20406dcd call upper_sm_send_ss_spp 
+6d2e 7002873c jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+6d2f 20600000 rtn 
+
+process_upper_sm_reconn_sdp_disconn:
+6d30 20406dc3 call upper_sm_send_sdp_disconn 
+6d31 7002870e jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+6d32 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_conn:
+6d33 20406ddd call upper_sm_send_hid_ctrl_conn 
+6d34 70028710 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+6d35 6800c252 fetch 1 ,mem_hid_control_state 
+6d36 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d37 6000c252 store 1 ,mem_hid_control_state 
+6d38 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_cfg:
+6d39 20406de4 call upper_sm_send_hid_ctrl_cfg 
+6d3a 70028712 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+6d3b 6800c252 fetch 1 ,mem_hid_control_state 
+6d3c 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d3d 6000c252 store 1 ,mem_hid_control_state 
+6d3e 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_conn:
+6d3f 20406de9 call upper_sm_send_hid_int_conn 
+6d40 70028714 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+6d41 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d42 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d43 6000c253 store 1 ,mem_hid_interrupt_state 
+6d44 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_cfg:
+6d45 20406df0 call upper_sm_send_hid_int_cfg 
+6d46 70028716 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+6d47 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d48 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d49 6000c253 store 1 ,mem_hid_interrupt_state 
+6d4a 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_conn:
+6d4b 20406dd1 call upper_sm_send_rfcomm_conn 
+6d4c 70028718 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+6d4d 6800c251 fetch 1 ,mem_rfcomm_state 
+6d4e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d4f 6000c251 store 1 ,mem_rfcomm_state 
+6d50 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_cfg:
+6d51 20406dd8 call upper_sm_send_rfcomm_cfg 
+6d52 7002871a jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+6d53 6800c251 fetch 1 ,mem_rfcomm_state 
+6d54 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d55 6000c251 store 1 ,mem_rfcomm_state 
+6d56 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_sabm:
+6d57 20406df5 call upper_sm_send_rfcomm_sabm 
+6d58 7002871c jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+6d59 6800c251 fetch 1 ,mem_rfcomm_state 
+6d5a 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6d5b 6000c251 store 1 ,mem_rfcomm_state 
+6d5c 20600000 rtn 
+
+process_upper_sm_reconn_spp_cmd_pn:
+6d5d 20406dfc call upper_sm_send_spp_cmd_pn 
+6d5e 6800c254 fetch 1 ,mem_spp_state 
+6d5f 79207e00 set1 rfcomm_channel_state_pn_cmd 
+6d60 6000c254 store 1 ,mem_spp_state 
+6d61 7002871e jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+6d62 20600000 rtn 
+
+process_upper_sm_reconn_spp_sabm:
+6d63 20406e02 call upper_sm_send_spp_sabm 
+6d64 6800c254 fetch 1 ,mem_spp_state 
+6d65 79207e02 set1 rfcomm_channel_state_sabm 
+6d66 6000c254 store 1 ,mem_spp_state 
+6d67 70028720 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+6d68 6800c564 fetch 1 ,mem_remote_spp_channel 
+6d69 1fe9fe00 lshift3 pdata ,pdata 
+6d6a 1fe1fe03 or_into 3 ,pdata 
+6d6b d8404565 arg mem_hiufcs_spp ,temp 
+6d6c 600904f7 storet 2 ,mem_contw_temp 
+6d6d 20206a35 branch rfcomm_save_fcs_uih 
+
+process_upper_sm_reconn_spp_cmd_ms:
+6d6e 20406e0c call upper_sm_send_spp_cmd_ms 
+6d6f 6800c254 fetch 1 ,mem_spp_state 
+6d70 79207e04 set1 rfcomm_channel_state_snd_ms_cmd 
+6d71 6000c254 store 1 ,mem_spp_state 
+6d72 70028722 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+6d73 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn_wait:
+6d74 6800c250 fetch 1 ,mem_sdp_state 
+6d75 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d76 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d77 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_cfg_wait:
+6d78 6800c250 fetch 1 ,mem_sdp_state 
+6d79 c19f8000 rtnne l2cap_channel_setup_complete 
+6d7a 7002873b jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+
+process_upper_sm_reconn_ss_spp_wait:
+6d7b 68008285 fetch 1 ,mem_message_to_uppersm 
+6d7c c18b8000 rtnne recieve_ss_reasult_hf 
+6d7d 70028500 jam 0 ,mem_message_to_uppersm 
+6d7e 7002870d jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+6d7f 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_disconn_wait:
+6d80 6800c250 fetch 1 ,mem_sdp_state 
+6d81 247a0000 nrtn blank 
+6d82 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d83 c2806daf bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+6d84 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d85 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+6d86 6800c252 fetch 1 ,mem_hid_control_state 
+6d87 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d88 70028711 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+6d89 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+6d8a 6800c252 fetch 1 ,mem_hid_control_state 
+6d8b c19f8000 rtnne l2cap_channel_setup_complete 
+6d8c 70028713 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+6d8d 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_conn_wait:
+6d8e 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d8f c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d90 70028715 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+6d91 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_cfg_wait:
+6d92 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d93 c19f8000 rtnne l2cap_channel_setup_complete 
+6d94 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d95 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d96 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_rfcomm_conn_wait:
+6d97 6800c251 fetch 1 ,mem_rfcomm_state 
+6d98 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d99 70028719 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+6d9a 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_cfg_wait:
+6d9b 6800c251 fetch 1 ,mem_rfcomm_state 
+6d9c c19f8000 rtnne l2cap_channel_setup_complete 
+6d9d 7002871b jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+6d9e 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_sabm_wait:
+6d9f 6800c251 fetch 1 ,mem_rfcomm_state 
+6da0 c1ff8000 rtnne l2cap_channel_rfcomm_dlci0_opened 
+6da1 6800c684 fetch 1 ,mem_ui_profile_supported 
+6da2 c2836db3 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+6da3 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_spp_cmd_pn_wait:
+6da4 6800c254 fetch 1 ,mem_spp_state 
+6da5 c4008000 rtnbit0 rfcomm_channel_state_pn_res 
+6da6 7002871f jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+6da7 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_sabm_wait:
+6da8 6800c254 fetch 1 ,mem_spp_state 
+6da9 c4018000 rtnbit0 rfcomm_channel_state_ua 
+6daa 70028721 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+6dab 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_cmd_ms_wait:
+6dac 6800c254 fetch 1 ,mem_spp_state 
+6dad c1ff8000 rtnne rfcomm_channel_setup_complete 
+6dae 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_setup_hid:
+6daf 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6db0 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_rfcomm:
+6db1 70028717 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+6db2 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_spp:
+6db3 7002871d jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+6db4 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_termination:
+6db5 70028700 jam 0 ,mem_upper_sm_reconn 
+6db6 20600000 rtn 
+
+upper_sm_send_sdp_conn:
+6db7 475fc037 bpatchx patch37_7 ,mem_patch37 
+6db8 204052b8 call l2cap_malloc_signal_channel 
+6db9 58000001 setarg psm_sdp 
+6dba 1fe20400 copy pdata ,temp 
+6dbb 58000050 setarg l2cap_sdp_channel 
+6dbc 1fe21600 copy pdata ,timeup 
+6dbd 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_sdp_cfg:
+6dbe 47604038 bpatchx patch38_0 ,mem_patch38 
+6dbf 204052b8 call l2cap_malloc_signal_channel 
+6dc0 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc1 1fe20400 copy pdata ,temp 
+6dc2 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_sdp_disconn:
+6dc3 4760c038 bpatchx patch38_1 ,mem_patch38 
+6dc4 204052b8 call l2cap_malloc_signal_channel 
+6dc5 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc6 1fe20400 copy pdata ,temp 
+6dc7 d9600050 arg l2cap_sdp_channel ,timeup 
+6dc8 204050cc call ml2cap_send_signal_disconn_req 
+6dc9 6800c250 fetch 1 ,mem_sdp_state 
+6dca 793ffe05 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+6dcb 6000c250 store 1 ,mem_sdp_state 
+6dcc 20600000 rtn 
+
+upper_sm_send_ss_spp:
+6dcd 47614038 bpatchx patch38_2 ,mem_patch38 
+6dce 204052c5 call l2cap_malloc_sdp_channel 
+6dcf 20407138 call sdp_send_spp_request 
+6dd0 202050e7 branch msdp_send_req_done 
+
+upper_sm_send_rfcomm_conn:
+6dd1 4761c038 bpatchx patch38_3 ,mem_patch38 
+6dd2 204052b8 call l2cap_malloc_signal_channel 
+6dd3 58000003 setarg psm_rfcomm 
+6dd4 1fe20400 copy pdata ,temp 
+6dd5 58000051 setarg l2cap_rfcomm_channel 
+6dd6 1fe21600 copy pdata ,timeup 
+6dd7 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_rfcomm_cfg:
+6dd8 47624038 bpatchx patch38_4 ,mem_patch38 
+6dd9 204052b8 call l2cap_malloc_signal_channel 
+6dda 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6ddb 1fe20400 copy pdata ,temp 
+6ddc 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_ctrl_conn:
+6ddd 4762c038 bpatchx patch38_5 ,mem_patch38 
+6dde 204052b8 call l2cap_malloc_signal_channel 
+6ddf 58000011 setarg psm_hid_control 
+6de0 1fe20400 copy pdata ,temp 
+6de1 58000052 setarg l2cap_hid_control_channel 
+6de2 1fe21600 copy pdata ,timeup 
+6de3 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_ctrl_cfg:
+6de4 47634038 bpatchx patch38_6 ,mem_patch38 
+6de5 204052b8 call l2cap_malloc_signal_channel 
+6de6 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+6de7 1fe20400 copy pdata ,temp 
+6de8 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_int_conn:
+6de9 4763c038 bpatchx patch38_7 ,mem_patch38 
+6dea 204052b8 call l2cap_malloc_signal_channel 
+6deb 58000013 setarg psm_hid_interrupt 
+6dec 1fe20400 copy pdata ,temp 
+6ded 58000053 setarg l2cap_hid_interrupt_channel 
+6dee 1fe21600 copy pdata ,timeup 
+6def 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_int_cfg:
+6df0 47644039 bpatchx patch39_0 ,mem_patch39 
+6df1 204052b8 call l2cap_malloc_signal_channel 
+6df2 6801424e fetch 2 ,mem_hid_int_remote_cid 
+6df3 1fe20400 copy pdata ,temp 
+6df4 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_rfcomm_sabm:
+6df5 4764c039 bpatchx patch39_1 ,mem_patch39 
+6df6 204052d2 call l2cap_malloc_rfcomm_channel 
+6df7 7004fb03 jam 3 ,mem_current_adss 
+6df8 7004fe1c jam 0x1c ,mem_current_fcs 
+6df9 20406ba9 call rfcomm_send_sabm 
+6dfa 70456301 jam 1 ,mem_rfcomm_initiator 
+6dfb 20600000 rtn 
+
+upper_sm_send_spp_cmd_pn:
+6dfc 47654039 bpatchx patch39_2 ,mem_patch39 
+6dfd 204052d2 call l2cap_malloc_rfcomm_channel 
+6dfe 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6dff 20406a79 call channel_to_dlci 
+6e00 6008c55d storet 1 ,mem_pn_dlci 
+6e01 20206bc4 branch rfcomm_send_param_neg_cmd 
+
+upper_sm_send_spp_sabm:
+6e02 4765c039 bpatchx patch39_3 ,mem_patch39 
+6e03 204052d2 call l2cap_malloc_rfcomm_channel 
+6e04 6808c55d fetcht 1 ,mem_pn_dlci 
+6e05 20406a73 call dlci_to_address_cmd 
+6e06 20406a1a call rfcomm_calculate_fcs_sabm 
+6e07 600084fe store 1 ,mem_current_fcs 
+6e08 6808c55d fetcht 1 ,mem_pn_dlci 
+6e09 20406a73 call dlci_to_address_cmd 
+6e0a 600884fb storet 1 ,mem_current_adss 
+6e0b 20206ba9 branch rfcomm_send_sabm 
+
+upper_sm_send_spp_cmd_ms:
+6e0c 47664039 bpatchx patch39_4 ,mem_patch39 
+6e0d 204052d2 call l2cap_malloc_rfcomm_channel 
+6e0e 6808c55d fetcht 1 ,mem_pn_dlci 
+6e0f 20406a73 call dlci_to_address_cmd 
+6e10 20206bfc branch rfcomm_send_modem_status_cmd 
+
+sdp_process:
+6e11 4766c039 bpatchx patch39_5 ,mem_patch39 
+6e12 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6e13 98000c00 iforce contr 
+6e14 e8c08000 ifetch 1 ,contr 
+6e15 1fe22400 copy pdata ,regb 
+6e16 6000851b store 1 ,mem_sdp_pduid 
+6e17 e8c10000 ifetch 2 ,contr 
+6e18 6001051c store 2 ,mem_sdp_transactionid 
+6e19 e8c08000 ifetch 1 ,contr 
+6e1a 1fed1600 lshift8 pdata ,timeup 
+6e1b e8c08000 ifetch 1 ,contr 
+6e1c 99609600 iadd timeup ,timeup 
+6e1d 47674039 bpatchx patch39_6 ,mem_patch39 
+6e1e 18c20400 copy contr ,temp 
+6e1f df200004 arg 4 ,loopcnt 
+6e20 d8a0052a arg mem_sdp_handle_list ,contw 
+6e21 20407ec6 call memset0 
+6e22 18420c00 copy temp ,contr 
+6e23 1a427e00 deposit regb 
+6e24 c000efba beq sdp_error_res ,sdp_process_error_res 
+6e25 c0016e2c beq sdp_search_req ,sdp_process_ss_req 
+6e26 c001efba beq sdp_search_res ,sdp_process_ss_res 
+6e27 c0026e54 beq sdp_attribute_req ,sdp_process_sa_req 
+6e28 c002efba beq sdp_attribute_res ,sdp_process_sa_res 
+6e29 c0036f02 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+6e2a c003efba beq sdp_searchattrib_res ,sdp_process_ssa_res 
+6e2b 20206fc1 branch sdp_insufficient_resource 
+
+sdp_process_ss_req:
+6e2c 4767c039 bpatchx patch39_7 ,mem_patch39 
+6e2d 20406fd0 call ask_serviceclassid 
+6e2e 2841fe01 compare 1 ,temp ,0xff 
+6e2f 2020f040 branch ss_empty_rsp ,true 
+6e30 2841feff compare 0xff ,temp ,0xff 
+6e31 2020efc4 branch sdp_invalid_request_syntax ,true 
+6e32 e8c10000 ifetch 2 ,contr 
+6e33 60010522 store 2 ,mem_sdp_record_maxcnt 
+6e34 196097fe increase -2 ,timeup 
+6e35 196097ff increase -1 ,timeup 
+6e36 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6e37 d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6e38 e9610000 ifetch 2 ,timeup 
+6e39 207a0000 rtn blank 
+6e3a 20407082 call search_all_uuid 
+6e3b 204052d0 call l2cap_get_sdp_tx_payload 
+6e3c 18007e03 force 3 ,pdata 
+6e3d e0a08000 istore 1 ,contw 
+6e3e 6801051c fetch 2 ,mem_sdp_transactionid 
+6e3f e0a10000 istore 2 ,contw 
+6e40 18ebfe00 lshift2 queue ,pdata 
+6e41 1fe0fe05 add pdata ,5 ,pdata 
+6e42 1fe0a605 add pdata ,5 ,regc 
+6e43 1ff0fe00 byteswap pdata ,pdata 
+6e44 e0a10000 istore 2 ,contw 
+6e45 18e27e00 deposit queue 
+6e46 1ff0fe00 byteswap pdata ,pdata 
+6e47 e0a10000 istore 2 ,contw 
+6e48 e0a10000 istore 2 ,contw 
+6e49 d8c0052a arg mem_sdp_handle_list ,contr 
+6e4a 18e27200 copy queue ,loopcnt 
+6e4b 2022ee4f branch ss_req_blank ,zero 
+
+ss_req_loop:
+6e4c e8c20000 ifetch 4 ,contr 
+6e4d e0a20000 istore 4 ,contw 
+6e4e c2006e4c loop ss_req_loop 
+
+ss_req_blank:
+6e4f 18007e00 force 0 ,pdata 
+6e50 e0a08000 istore 1 ,contw 
+6e51 1a627e00 deposit regc 
+6e52 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6e53 20600000 rtn 
+
+sdp_process_sa_req:
+6e54 4768403a bpatchx patch3a_0 ,mem_patch3a 
+6e55 e8c20000 ifetch 4 ,contr 
+6e56 60020524 store 4 ,mem_sdp_record_handle 
+6e57 196097fc increase -4 ,timeup 
+6e58 20406f2e call sdp_store_maxbyte 
+6e59 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6e5a 196097fe increase -2 ,timeup 
+6e5b 20407028 call dataelementtype6 
+6e5c 2022efc4 branch sdp_invalid_request_syntax ,zero 
+6e5d 2a21fe05 compare 5 ,rega ,0xff 
+6e5e 2020ee62 branch sa_judge_wholerange ,true 
+
+sa_isnot_wholerange:
+6e5f d8a0052a arg mem_sdp_attrib_list ,contw 
+6e60 18000e00 force 0 ,queue 
+6e61 20206e71 branch sa_req_loop 
+
+sa_judge_wholerange:
+6e62 e8c08000 ifetch 1 ,contr 
+6e63 c0856fc4 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+6e64 e8c10000 ifetch 2 ,contr 
+6e65 243a6e6f nbranch sa_judge_wholerange_false1 ,blank 
+6e66 e8c08000 ifetch 1 ,contr 
+6e67 c0ffee6d bne 0xff ,sa_judge_wholerange_false2 
+6e68 e8c08000 ifetch 1 ,contr 
+6e69 c0ffee6b bne 0xff ,sa_judge_wholerange_false3 
+6e6a 20206eb8 branch sa_req_all 
+
+sa_judge_wholerange_false3:
+6e6b 18c08dfb increase -5 ,contr 
+6e6c 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false2:
+6e6d 18c08dfc increase -4 ,contr 
+6e6e 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false1:
+6e6f 18c08dfd increase -3 ,contr 
+6e70 20206e5f branch sa_isnot_wholerange 
+
+sa_req_loop:
+6e71 e8c08000 ifetch 1 ,contr 
+6e72 c004ee86 beq sdp_attribute_id ,sa_req_one_id 
+6e73 c0056e74 beq sdp_attribute_range ,sa_req_range 
+
+sa_req_range:
+6e74 e8c10000 ifetch 2 ,contr 
+6e75 e0a10000 istore 2 ,contw 
+6e76 18e08e01 increase 1 ,queue 
+6e77 1ff0a400 byteswap pdata ,regb 
+6e78 e8c10000 ifetch 2 ,contr 
+6e79 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_range_id_increase:
+6e7a 1a40a401 increase 1 ,regb 
+6e7b 9a467c00 isub regb ,null 
+6e7c 24216e83 nbranch sa_req_range_id_finish ,positive 
+6e7d 1fe22600 copy pdata ,regc 
+6e7e 1a50fe00 byteswap regb ,pdata 
+6e7f e0a10000 istore 2 ,contw 
+6e80 18e08e01 increase 1 ,queue 
+6e81 1a627e00 copy regc ,pdata 
+6e82 20206e7a branch sa_req_range_id_increase 
+
+sa_req_range_id_finish:
+6e83 196097fb increase -5 ,timeup 
+6e84 1a20a3fb increase -5 ,rega 
+6e85 20206e8b branch sa_req_check_next_id 
+
+sa_req_one_id:
+6e86 e8c10000 ifetch 2 ,contr 
+6e87 e0a10000 istore 2 ,contw 
+6e88 18e08e01 increase 1 ,queue 
+6e89 196097fd increase -3 ,timeup 
+6e8a 1a20a3fd increase -3 ,rega 
+
+sa_req_check_next_id:
+6e8b 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6e8c 2422ee71 nbranch sa_req_loop ,zero 
+6e8d 196097ff increase -1 ,timeup 
+6e8e 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6e8f 204052d0 call l2cap_get_sdp_tx_payload 
+6e90 18a08a0a increase 10 ,contw 
+6e91 da20052a arg mem_sdp_attrib_list ,rega 
+
+sa_req_handle_attributelist_next:
+6e92 18e27e00 copy queue ,pdata 
+6e93 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e94 ea210000 ifetch 2 ,rega 
+6e95 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e96 98002400 iforce regb 
+6e97 68020524 fetch 4 ,mem_sdp_record_handle 
+6e98 98000400 iforce temp 
+6e99 204070e7 call search_handle_attrib 
+6e9a 18c27e00 copy contr ,pdata 
+6e9b 203a6ea2 branch sa_req_handle_attributelist_notfound ,blank 
+6e9c 18c08dfd increase -3 ,contr 
+6e9d e8c18000 ifetch 3 ,contr 
+6e9e e0a18000 istore 3 ,contw 
+6e9f 2040705b call sdp_data_len 
+6ea0 98007200 iforce loopcnt 
+6ea1 20407f01 call memcpy 
+
+sa_req_handle_attributelist_notfound:
+6ea2 1a20a202 increase 2 ,rega 
+6ea3 18e08fff increase -1 ,queue 
+6ea4 20206e92 branch sa_req_handle_attributelist_next 
+
+sa_req_handle_attributelist_end:
+6ea5 da200005 arg sdp_attribute_res ,rega 
+6ea6 20406f84 call ssa_req_range_lastfreg_common 
+6ea7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6ea8 c005f043 beq 11 ,sa_empty_rsp 
+6ea9 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_continue_common:
+6eaa e8c08000 ifetch 1 ,contr 
+6eab c0006eae beq 0 ,sdp_store_continue_0byte 
+6eac c000eeb0 beq 1 ,sdp_store_continue_1byte 
+6ead c0016eb3 beq 2 ,sdp_store_continue_2byte 
+
+sdp_store_continue_0byte:
+6eae 196097ff increase -1 ,timeup 
+6eaf 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_1byte:
+6eb0 e8c08000 ifetch 1 ,contr 
+6eb1 196097fe increase -2 ,timeup 
+6eb2 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_2byte:
+6eb3 e8c10000 ifetch 2 ,contr 
+6eb4 1ff0fe00 byteswap pdata ,pdata 
+6eb5 196097fd increase -3 ,timeup 
+
+sdp_store_continue_end:
+6eb6 60010519 store 2 ,mem_sdp_continue_byte 
+6eb7 20600000 rtn 
+
+sa_req_all:
+6eb8 196097fb increase -5 ,timeup 
+6eb9 20406eaa call sdp_store_continue_common 
+6eba 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6ebb 680a0524 fetcht 4 ,mem_sdp_record_handle 
+6ebc 204070b1 call search_handle 
+6ebd 2422efbb nbranch sdp_invalid_service_record_handle ,zero 
+6ebe 18c22200 copy contr ,rega 
+6ebf 204052d0 call l2cap_get_sdp_tx_payload 
+6ec0 1a220c00 copy rega ,contr 
+6ec1 18a08a03 increase 3 ,contw 
+6ec2 18c21600 copy contr ,timeup 
+6ec3 20407062 call sdp_get_data 
+6ec4 1fe22200 copy pdata ,rega 
+6ec5 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ec6 1fe22400 copy pdata ,regb 
+6ec7 1a227e00 copy rega ,pdata 
+6ec8 9a462400 isub regb ,regb 
+6ec9 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6eca 9a467c00 isub regb ,null 
+6ecb 24216ee7 nbranch sa_req_all_fragment_sdp ,positive 
+6ecc 78547c00 disable user 
+6ecd 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ece 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6ecf 99608c00 iadd timeup ,contr 
+6ed0 1a40a403 increase 3 ,regb 
+6ed1 1a427200 copy regb ,loopcnt 
+6ed2 1f227e00 copy loopcnt ,pdata 
+6ed3 1fe0fe03 increase 3 ,pdata 
+6ed4 1ff0fe00 byteswap pdata ,pdata 
+6ed5 e0a10000 istore 2 ,contw 
+6ed6 1f227e00 copy loopcnt ,pdata 
+6ed7 1ff0fe00 byteswap pdata ,pdata 
+6ed8 e0a10000 istore 2 ,contw 
+6ed9 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fisrt_fragment:
+6eda 1a20f206 add rega ,6 ,loopcnt 
+6edb 20346ede branch sa_req_all_parlength_continue_byte ,user 
+6edc 1f30fe00 byteswap loopcnt ,pdata 
+6edd 20206ee1 branch sa_req_all_parlength_continue_byte_end 
+
+sa_req_all_parlength_continue_byte:
+6ede 1f227e00 copy loopcnt ,pdata 
+6edf 1fe0fe02 increase 2 ,pdata 
+6ee0 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_all_parlength_continue_byte_end:
+6ee1 e0a10000 istore 2 ,contw 
+6ee2 1f20f3fd increase -3 ,loopcnt 
+6ee3 1f30fe00 byteswap loopcnt ,pdata 
+6ee4 e0a10000 istore 2 ,contw 
+6ee5 19620c00 copy timeup ,contr 
+6ee6 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fragment_sdp:
+6ee7 78347c00 enable user 
+6ee8 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6ee9 1fe22200 copy pdata ,rega 
+6eea 1a227200 copy rega ,loopcnt 
+6eeb 68010519 fetch 2 ,mem_sdp_continue_byte 
+6eec 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6eed 99608c00 iadd timeup ,contr 
+6eee 1a227e00 copy rega ,pdata 
+6eef 1fe0fe05 increase 5 ,pdata 
+6ef0 1ff0fe00 byteswap pdata ,pdata 
+6ef1 e0a10000 istore 2 ,contw 
+6ef2 1a227e00 copy rega ,pdata 
+6ef3 1ff0fe00 byteswap pdata ,pdata 
+6ef4 e0a10000 istore 2 ,contw 
+
+sa_req_all_answer_attributelist_full_loop:
+6ef5 20407f01 call memcpy 
+6ef6 24346efe nbranch sa_req_all_last_frag_continue ,user 
+6ef7 18007e02 force 2 ,pdata 
+6ef8 e0a08000 istore 1 ,contw 
+6ef9 18c27e00 copy contr ,pdata 
+6efa 99667e00 isub timeup ,pdata 
+6efb 1ff0fe00 byteswap pdata ,pdata 
+6efc e0a10000 istore 2 ,contw 
+6efd 20206f00 branch sa_req_all_frag_end 
+
+sa_req_all_last_frag_continue:
+6efe 18007e00 force 0 ,pdata 
+6eff e0a08000 istore 1 ,contw 
+
+sa_req_all_frag_end:
+6f00 da200005 arg sdp_attribute_res ,rega 
+6f01 20206fb0 branch ssa_req_range_common 
+
+sdp_process_ssa_req:
+6f02 4768c03a bpatchx patch3a_1 ,mem_patch3a 
+6f03 20406fd0 call ask_serviceclassid 
+6f04 2841feff compare 0xff ,temp ,0xff 
+6f05 2020efc4 branch sdp_invalid_request_syntax ,true 
+6f06 20406f2e call sdp_store_maxbyte 
+6f07 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6f08 196097fe increase -2 ,timeup 
+6f09 20407028 call dataelementtype6 
+6f0a d8a0052a arg mem_sdp_attrib_list ,contw 
+6f0b 18000e00 force 0 ,queue 
+
+ssa_req_loop:
+6f0c e8c08000 ifetch 1 ,contr 
+6f0d c0056f36 beq sdp_attribute_range ,ssa_req_range 
+6f0e e8c10000 ifetch 2 ,contr 
+6f0f e0a10000 istore 2 ,contw 
+6f10 18e08e01 increase 1 ,queue 
+6f11 196097fd increase -3 ,timeup 
+6f12 1a20a3fd increase -3 ,rega 
+6f13 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6f14 2422ef0c nbranch ssa_req_loop ,zero 
+6f15 196097ff increase -1 ,timeup 
+6f16 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f17 204052d0 call l2cap_get_sdp_tx_payload 
+6f18 18a08a0d increase 13 ,contw 
+6f19 68010511 fetch 2 ,mem_sdp_uuid_search_ptr 
+6f1a 98002600 iforce regc 
+6f1b da20052a arg mem_sdp_attrib_list ,rega 
+
+ssa_req_attributelist_next:
+6f1c ea210000 ifetch 2 ,rega 
+6f1d 203a6f29 branch ssa_req_attributelist_end ,blank 
+6f1e 98002400 iforce regb 
+6f1f 204070c6 call search_attrib 
+6f20 203a6f27 branch ssa_req_attributelist_notfound ,blank 
+6f21 18c08dfd increase -3 ,contr 
+6f22 e8c18000 ifetch 3 ,contr 
+6f23 e0a18000 istore 3 ,contw 
+6f24 2040705b call sdp_data_len 
+6f25 98007200 iforce loopcnt 
+6f26 20407f01 call memcpy 
+
+ssa_req_attributelist_notfound:
+6f27 1a20a202 increase 2 ,rega 
+6f28 20206f1c branch ssa_req_attributelist_next 
+
+ssa_req_attributelist_end:
+6f29 20406f83 call ssa_req_range_lastfreg 
+6f2a 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6f2b c0077046 beq 14 ,ssa_empty_rsp 
+6f2c 20406f9a call ssa_req_range_attrbutes_length_no_continue 
+6f2d 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_maxbyte:
+6f2e e8c10000 ifetch 2 ,contr 
+6f2f 1ff0fe00 byteswap pdata ,pdata 
+6f30 1fe0fffd increase -3 ,pdata 
+6f31 d84000c8 arg 200 ,temp 
+6f32 98467c00 isub temp ,null 
+6f33 24610000 nrtn positive 
+6f34 580000c8 setarg 200 
+6f35 20600000 rtn 
+
+ssa_req_range:
+6f36 18c08c04 increase 4 ,contr 
+6f37 196097fb increase -5 ,timeup 
+6f38 1a20a3fb increase -5 ,rega 
+6f39 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f3a 20406eaa call sdp_store_continue_common 
+6f3b 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6f3c d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6f3d 20407082 call search_all_uuid 
+6f3e 18e27e00 deposit queue 
+6f3f 203a7046 branch ssa_empty_rsp ,blank 
+6f40 6000854e store 1 ,mem_handle_humber 
+6f41 1a427e00 copy regb ,pdata 
+6f42 6001054c store 2 ,mem_sdp_all_length 
+6f43 d8e00000 arg 0 ,queue 
+6f44 da200000 arg 0 ,rega 
+6f45 204052d0 call l2cap_get_sdp_tx_payload 
+6f46 18a08a0a increase 10 ,contw 
+
+ssa_req_range_find_handle:
+6f47 20406f6c call ssa_req_range_get_length 
+6f48 24342a8c nbranch assert ,user 
+6f49 18c21600 copy contr ,timeup 
+6f4a 1fe22600 copy pdata ,regc 
+6f4b 9a20a200 iadd rega ,rega 
+6f4c 68010519 fetch 2 ,mem_sdp_continue_byte 
+6f4d 1fe22400 copy pdata ,regb 
+6f4e 203a6f75 branch ssa_req_range_first_freg ,blank 
+
+ssa_req_range_later_freg_with_continue:
+6f4f 1a227e00 copy rega ,pdata 
+6f50 9a462400 isub regb ,regb 
+6f51 2022ef67 branch ssa_req_range_next_handle ,zero 
+6f52 24216f67 nbranch ssa_req_range_next_handle ,positive 
+6f53 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f54 9a467c00 isub regb ,null 
+6f55 2022ef5e branch ssa_req_range_maxbyte_with_continue ,zero 
+6f56 24216f5e nbranch ssa_req_range_maxbyte_with_continue ,positive 
+
+ssa_req_range_send_not_maxbyte:
+6f57 1a427200 copy regb ,loopcnt 
+6f58 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f59 6800854e fetch 1 ,mem_handle_humber 
+6f5a 18e08e01 increase 1 ,queue 
+6f5b 98e67c00 isub queue ,null 
+6f5c 2022ef83 branch ssa_req_range_lastfreg ,zero 
+6f5d 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue:
+6f5e 1fe27200 copy pdata ,loopcnt 
+6f5f 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f60 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue_cpy:
+6f61 18a08bfd increase -3 ,contw 
+6f62 1f220400 copy loopcnt ,temp 
+6f63 1a627e00 copy regc ,pdata 
+6f64 9a467e00 isub regb ,pdata 
+6f65 99608c00 iadd timeup ,contr 
+6f66 20207f01 branch memcpy 
+
+ssa_req_range_next_handle:
+6f67 6800854e fetch 1 ,mem_handle_humber 
+6f68 18e08e01 increase 1 ,queue 
+6f69 98e67c00 isub queue ,null 
+6f6a 20628000 rtn zero 
+6f6b 20206f47 branch ssa_req_range_find_handle 
+
+ssa_req_range_get_length:
+6f6c 20407fe9 call disable_user 
+6f6d d8c0052a arg mem_sdp_handle_list ,contr 
+6f6e 18ebfe00 lshift2 queue ,pdata 
+6f6f 98c08c00 iadd contr ,contr 
+6f70 e8ca0000 ifetcht 4 ,contr 
+6f71 204070b1 call search_handle 
+6f72 24628000 nrtn zero 
+6f73 2040705b call sdp_data_len 
+6f74 20207fe7 branch enable_user 
+
+ssa_req_range_first_freg:
+6f75 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f76 9a267c00 isub rega ,null 
+6f77 24216f8f nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+6f78 1a227200 copy rega ,loopcnt 
+6f79 1f220400 copy loopcnt ,temp 
+6f7a 19620c00 copy timeup ,contr 
+6f7b 20407f01 call memcpy 
+6f7c 6801054c fetch 2 ,mem_sdp_all_length 
+6f7d 9a267c00 isub rega ,null 
+6f7e 2022ef81 branch ssa_req_range_freg_no_continue ,zero 
+
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+6f7f 20406fa0 call ssa_req_range_freg_with_continue 
+6f80 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_freg_no_continue:
+6f81 20406f83 call ssa_req_range_lastfreg 
+6f82 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_lastfreg:
+6f83 da200007 arg sdp_searchattrib_res ,rega 
+
+ssa_req_range_lastfreg_common:
+6f84 18007e00 force 0 ,pdata 
+6f85 e0a08000 istore 1 ,contw 
+6f86 20406fb0 call ssa_req_range_common 
+6f87 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6f88 184085fb increase -5 ,temp 
+6f89 1850fe00 byteswap temp ,pdata 
+6f8a e0a10000 istore 2 ,contw 
+6f8b 184085fd increase -3 ,temp 
+6f8c 1850fe00 byteswap temp ,pdata 
+6f8d e0a10000 istore 2 ,contw 
+6f8e 20600000 rtn 
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+6f8f 1fe27200 copy pdata ,loopcnt 
+6f90 1f220400 copy loopcnt ,temp 
+6f91 19620c00 copy timeup ,contr 
+6f92 20407f01 call memcpy 
+6f93 20406fa0 call ssa_req_range_freg_with_continue 
+
+ssa_req_range_attrbutes_length:
+6f94 58000036 setarg 0x36 
+6f95 e0a08000 istore 1 ,contw 
+6f96 6801054c fetch 2 ,mem_sdp_all_length 
+6f97 1ff0fe00 byteswap pdata ,pdata 
+6f98 e0a10000 istore 2 ,contw 
+6f99 20600000 rtn 
+
+ssa_req_range_attrbutes_length_no_continue:
+6f9a 58000036 setarg 0x36 
+6f9b e0a08000 istore 1 ,contw 
+6f9c 184085fd increase -3 ,temp 
+6f9d 1850fe00 byteswap temp ,pdata 
+6f9e e0a10000 istore 2 ,contw 
+6f9f 20600000 rtn 
+
+ssa_req_range_freg_with_continue:
+6fa0 da200007 arg sdp_searchattrib_res ,rega 
+6fa1 58000002 setarg 2 
+6fa2 e0a08000 istore 1 ,contw 
+6fa3 68010519 fetch 2 ,mem_sdp_continue_byte 
+6fa4 98408400 iadd temp ,temp 
+6fa5 1850fe00 byteswap temp ,pdata 
+6fa6 e0a10000 istore 2 ,contw 
+6fa7 20406fb0 call ssa_req_range_common 
+6fa8 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6fa9 184085fb increase -5 ,temp 
+6faa 1850fe00 byteswap temp ,pdata 
+6fab e0a10000 istore 2 ,contw 
+6fac 184085fb increase -5 ,temp 
+6fad 1850fe00 byteswap temp ,pdata 
+6fae e0a10000 istore 2 ,contw 
+6faf 20600000 rtn 
+
+ssa_req_range_common:
+6fb0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+6fb1 98a67e00 isub contw ,pdata 
+6fb2 1fe67e00 sub pdata ,0 ,pdata 
+6fb3 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6fb4 204052d0 call l2cap_get_sdp_tx_payload 
+6fb5 1a227e00 copy rega ,pdata 
+6fb6 e0a08000 istore 1 ,contw 
+6fb7 6801051c fetch 2 ,mem_sdp_transactionid 
+6fb8 e0a10000 istore 2 ,contw 
+6fb9 20600000 rtn 
+
+sdp_process_ssa_res:
+
+sdp_process_ss_res:
+
+sdp_process_sa_res:
+
+sdp_process_error_res:
+6fba 20600000 rtn 
+
+sdp_invalid_service_record_handle:
+6fbb 58000200 setarg 0x0200 
+6fbc 6001054a store 2 ,mem_sdp_error_code 
+6fbd 20206fc6 branch sdp_error_response 
+
+sdp_invalid_pdu_size:
+6fbe 58000400 setarg 0x0400 
+6fbf 6001054a store 2 ,mem_sdp_error_code 
+6fc0 20206fc6 branch sdp_error_response 
+
+sdp_insufficient_resource:
+6fc1 58000600 setarg 0x0600 
+6fc2 6001054a store 2 ,mem_sdp_error_code 
+6fc3 20206fc6 branch sdp_error_response 
+
+sdp_invalid_request_syntax:
+6fc4 58000300 setarg 0x0300 
+6fc5 6001054a store 2 ,mem_sdp_error_code 
+
+sdp_error_response:
+6fc6 204052d0 call l2cap_get_sdp_tx_payload 
+6fc7 e0a08000 istore 1 ,contw 
+6fc8 6801051c fetch 2 ,mem_sdp_transactionid 
+6fc9 e0a10000 istore 2 ,contw 
+6fca 58000200 setarg 0x0200 
+6fcb e0a10000 istore 2 ,contw 
+6fcc 6801054a fetch 2 ,mem_sdp_error_code 
+6fcd e0a10000 istore 2 ,contw 
+6fce 70027507 jam 7 ,mem_sdp_tx_pkt_length 
+6fcf 20600000 rtn 
+
+ask_serviceclassid:
+6fd0 da400000 arg 0 ,regb 
+6fd1 18000400 force 0 ,temp 
+6fd2 d8a00511 arg mem_sdp_uuid_search_ptr ,contw 
+6fd3 20407028 call dataelementtype6 
+6fd4 2022f026 branch asksrv_error ,zero 
+
+classidloop:
+6fd5 1a40a401 increase 1 ,regb 
+6fd6 e8c08000 ifetch 1 ,contr 
+6fd7 1a20a3ff increase -1 ,rega 
+6fd8 196097ff increase -1 ,timeup 
+6fd9 2fe1f018 compare 0x18 ,pdata ,0xf8 
+6fda 2420f026 nbranch asksrv_error ,true 
+6fdb 2fe00e04 compare 0x04 ,pdata ,0x07 
+6fdc 2420eff3 nbranch cmp032 ,true 
+6fdd 18000401 force 1 ,temp 
+
+skip2bytes:
+6fde e8c08000 ifetch 1 ,contr 
+6fdf 1a20a3ff increase -1 ,rega 
+6fe0 196097ff increase -1 ,timeup 
+6fe1 c0806fe7 bne 0x00 ,frstbwrong 
+6fe2 e8c08000 ifetch 1 ,contr 
+6fe3 1a20a3ff increase -1 ,rega 
+6fe4 196097ff increase -1 ,timeup 
+6fe5 c0006ff8 beq 0x00 ,cmpuuid 
+6fe6 20206fea branch scndbwrong 
+
+frstbwrong:
+6fe7 18c08c01 increase 1 ,contr 
+6fe8 1a20a3ff increase -1 ,rega 
+6fe9 196097ff increase -1 ,timeup 
+
+scndbwrong:
+6fea 18c08c02 increase 2 ,contr 
+6feb 1a20a3fe increase -2 ,rega 
+6fec 196097fe increase -2 ,timeup 
+6fed 2841fe00 compare 0x00 ,temp ,0xff 
+6fee 2020f020 branch loopornot ,true 
+6fef 18c08c0c increase 12 ,contr 
+6ff0 1a20a3f4 increase -12 ,rega 
+6ff1 196097f4 increase -12 ,timeup 
+6ff2 20207020 branch loopornot 
+
+cmp032:
+6ff3 2fe00e02 compare 0x02 ,pdata ,0x07 
+6ff4 2420eff6 nbranch cmp016 ,true 
+6ff5 20206fde branch skip2bytes 
+
+cmp016:
+6ff6 2fe00e01 compare 0x01 ,pdata ,0x07 
+6ff7 2420f026 nbranch asksrv_error ,true 
+
+cmpuuid:
+6ff8 1a20a3fe increase -2 ,rega 
+6ff9 196097fe increase -2 ,timeup 
+6ffa e8c10000 ifetch 2 ,contr 
+6ffb 1a467c04 sub regb ,4 ,null 
+6ffc 2022effe branch uuidsize ,zero 
+6ffd e0a10000 istore 2 ,contw 
+
+uuidsize:
+6ffe 2841fe00 compare 0x00 ,temp ,0xff 
+6fff 2020f020 branch loopornot ,true 
+7000 18c20400 copy contr ,temp 
+7001 e8c08000 ifetch 1 ,contr 
+7002 c0807019 bne 0x00 ,wrong12b 
+7003 e8c08000 ifetch 1 ,contr 
+7004 c0807019 bne 0x00 ,wrong12b 
+7005 e8c08000 ifetch 1 ,contr 
+7006 c0887019 bne 0x10 ,wrong12b 
+7007 e8c08000 ifetch 1 ,contr 
+7008 c0807019 bne 0x00 ,wrong12b 
+7009 e8c08000 ifetch 1 ,contr 
+700a c0c07019 bne 0x80 ,wrong12b 
+700b e8c08000 ifetch 1 ,contr 
+700c c0807019 bne 0x00 ,wrong12b 
+700d e8c08000 ifetch 1 ,contr 
+700e c0807019 bne 0x00 ,wrong12b 
+700f e8c08000 ifetch 1 ,contr 
+7010 c0c07019 bne 0x80 ,wrong12b 
+7011 e8c08000 ifetch 1 ,contr 
+7012 c0aff019 bne 0x5f ,wrong12b 
+7013 e8c08000 ifetch 1 ,contr 
+7014 c0cdf019 bne 0x9b ,wrong12b 
+7015 e8c08000 ifetch 1 ,contr 
+7016 c09a7019 bne 0x34 ,wrong12b 
+7017 e8c08000 ifetch 1 ,contr 
+7018 c07df01e beq 0xfb ,chck12dn 
+
+wrong12b:
+7019 18420c00 copy temp ,contr 
+
+wrong12b1:
+701a 18c08c0c increase 12 ,contr 
+701b 18000e00 force 0x00 ,queue 
+701c 18000400 force 0x00 ,temp 
+701d 2020701e branch chck12dn 
+
+chck12dn:
+701e 196097f4 increase -12 ,timeup 
+701f 1a20a3f4 increase -12 ,rega 
+
+loopornot:
+7020 18000400 force 0x00 ,temp 
+7021 2a21fe00 compare 0x00 ,rega ,0xff 
+7022 2420efd5 nbranch classidloop ,true 
+7023 18007e00 force 0 ,pdata 
+7024 e0a10000 istore 2 ,contw 
+7025 20600000 rtn 
+
+asksrv_error:
+7026 d84000ff arg 0xff ,temp 
+7027 20600000 rtn 
+
+dataelementtype6:
+7028 476a403a bpatchx patch3a_4 ,mem_patch3a 
+7029 e8c08000 ifetch 1 ,contr 
+702a 196097ff increase -1 ,timeup 
+702b 2fe1f030 compare 0x30 ,pdata ,0xf8 
+702c 2420f03e nbranch dsize_error ,true 
+702d 2fe00e07 compare 0x07 ,pdata ,0x07 
+702e 2020f037 branch dsize32 ,true 
+702f 2fe00e06 compare 0x06 ,pdata ,0x07 
+7030 2020f039 branch dsize16 ,true 
+7031 2fe00e05 compare 0x05 ,pdata ,0x07 
+7032 2420f03e nbranch dsize_error ,true 
+7033 e8c08000 ifetch 1 ,contr 
+7034 1fe22200 copy pdata ,rega 
+7035 196097ff increase -1 ,timeup 
+7036 2020703c branch dsize 
+
+dsize32:
+7037 18c08c02 increase 2 ,contr 
+7038 196097fe increase -2 ,timeup 
+
+dsize16:
+7039 e8c10000 ifetch 2 ,contr 
+703a 1ff0a200 byteswap pdata ,rega 
+703b 196097fe increase -2 ,timeup 
+
+dsize:
+703c 18007e01 force 0x01 ,pdata 
+703d 20600000 rtn 
+
+dsize_error:
+703e 18007e00 force 0x00 ,pdata 
+703f 20600000 rtn 
+
+ss_empty_rsp:
+7040 58000003 setarg sdp_search_res 
+7041 6000851b store 1 ,mem_sdp_pduid 
+7042 20207048 branch empty_response 
+
+sa_empty_rsp:
+7043 58000005 setarg sdp_attribute_res 
+7044 6000851b store 1 ,mem_sdp_pduid 
+7045 20207048 branch empty_response 
+
+ssa_empty_rsp:
+7046 58000007 setarg sdp_searchattrib_res 
+7047 6000851b store 1 ,mem_sdp_pduid 
+
+empty_response:
+7048 204052d0 call l2cap_get_sdp_tx_payload 
+7049 6800851b fetch 1 ,mem_sdp_pduid 
+704a 1fe22400 copy pdata ,regb 
+704b e0a08000 istore 1 ,contw 
+704c 6801051c fetch 2 ,mem_sdp_transactionid 
+704d e0a10000 istore 2 ,contw 
+704e 58000500 setarg 0x0500 
+704f e0a10000 istore 2 ,contw 
+7050 2a41fe05 compare sdp_attribute_res ,regb ,0xff 
+7051 2020f057 branch fullsearch ,true 
+7052 2a41fe07 compare sdp_searchattrib_res ,regb ,0xff 
+7053 2020f057 branch fullsearch ,true 
+7054 58000000 setarg 0x000000 
+7055 e0a28000 istore 5 ,contw 
+7056 20207059 branch outempty 
+
+fullsearch:
+7057 58350200 setarg 0x350200 
+7058 e0a28000 istore 5 ,contw 
+
+outempty:
+7059 7002750a jam 10 ,mem_sdp_tx_pkt_length 
+705a 20600000 rtn 
+
+sdp_data_len:
+705b 20407ea2 call store_contw 
+705c 20407ea5 call store_contr 
+705d 20407062 call sdp_get_data 
+705e 20407e9c call get_contw 
+705f 20407e9f call get_contr 
+7060 18427e00 copy temp ,pdata 
+7061 20600000 rtn 
+
+sdp_get_data:
+7062 e8c08000 ifetch 1 ,contr 
+7063 1fe17207 and pdata ,0x7 ,loopcnt 
+7064 1fe97e00 rshift3 pdata ,pdata 
+7065 c080706c bne 0 ,sdp_get_data_type_not0 
+
+sdp_get_data_type0:
+7066 18007e01 force 1 ,pdata 
+7067 18000401 force 1 ,temp 
+7068 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex01234:
+7069 20407e76 call left_shift_n 
+706a 1fe08401 add pdata ,1 ,temp 
+706b 20600000 rtn 
+
+sdp_get_data_type_not0:
+706c 1f227e00 deposit loopcnt 
+706d 1fe67c04 sub pdata ,4 ,null 
+706e 20217069 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+706f c002f073 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+7070 c0037076 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+7071 c003f07a beq 7 ,sdp_get_data_type_not0_sizeindex7 
+7072 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex5:
+7073 e8c08000 ifetch 1 ,contr 
+7074 1fe08402 add pdata ,2 ,temp 
+7075 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex6:
+7076 e8c10000 ifetch 2 ,contr 
+7077 1ff0fe00 byteswap pdata ,pdata 
+7078 1fe08403 add pdata ,3 ,temp 
+7079 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex7:
+707a e8c10000 ifetch 2 ,contr 
+707b 1ff0fe00 byteswap pdata ,pdata 
+707c e8c90000 ifetcht 2 ,contr 
+707d 18508400 byteswap temp ,temp 
+707e 18500400 lshift16 temp ,temp 
+707f 9840fe00 iadd temp ,pdata 
+7080 1fe08405 add pdata ,5 ,temp 
+7081 20600000 rtn 
+
+search_all_uuid:
+7082 476ac03a bpatchx patch3a_5 ,mem_patch3a 
+7083 18000e00 force 0 ,queue 
+7084 da400000 arg 0 ,regb 
+7085 d8a0052a arg mem_sdp_handle_list ,contw 
+
+search_all_uuid_llop:
+7086 e9610000 ifetch 2 ,timeup 
+7087 207a0000 rtn blank 
+7088 2040708d call search_uuid 
+7089 18e27e00 copy queue ,pdata 
+708a c1038000 rtneq sdp_max_handle_number 
+708b 19609602 increase 2 ,timeup 
+708c 20207086 branch search_all_uuid_llop 
+
+search_uuid:
+708d 98002600 iforce regc 
+708e 68014575 fetch 2 ,mem_ui_uuid_table 
+708f 98000c00 iforce contr 
+
+search_uuid_next:
+7090 18e27e00 copy queue ,pdata 
+7091 c1038000 rtneq sdp_max_handle_number 
+7092 78547c00 disable user 
+7093 e8c08000 ifetch 1 ,contr 
+7094 207a0000 rtn blank 
+7095 98007200 iforce loopcnt 
+
+search_uuid_loop:
+7096 e8c10000 ifetch 2 ,contr 
+7097 9a667c00 isub regc ,null 
+7098 2422f09a nbranch search_uuid_not_found ,zero 
+7099 78347c00 enable user 
+
+search_uuid_not_found:
+709a c2007096 loop search_uuid_loop 
+709b e8ca0000 ifetcht 4 ,contr 
+709c 18c22200 copy contr ,rega 
+709d 243470ad nbranch search_uuid_nomatch ,user 
+709e d8c0052a arg mem_sdp_handle_list ,contr 
+709f df200007 arg sdp_max_handle_number ,loopcnt 
+
+search_uuid_check_same_handle:
+70a0 e8c20000 ifetch 4 ,contr 
+70a1 203a70a6 branch search_uuid_store_handle ,blank 
+70a2 98467c00 isub temp ,null 
+70a3 2022f0ad branch search_uuid_nomatch ,zero 
+70a4 c20070a0 loop search_uuid_check_same_handle 
+70a5 20600000 rtn 
+
+search_uuid_store_handle:
+70a6 e0aa0000 istoret 4 ,contw 
+70a7 18e08e01 increase 1 ,queue 
+70a8 1a220c00 copy rega ,contr 
+70a9 2040705b call sdp_data_len 
+70aa 9a40a400 iadd regb ,regb 
+70ab 98c08c00 iadd contr ,contr 
+70ac 20207090 branch search_uuid_next 
+
+search_uuid_nomatch:
+70ad 1a220c00 copy rega ,contr 
+70ae 20407062 call sdp_get_data 
+70af 98c08c00 iadd contr ,contr 
+70b0 20207090 branch search_uuid_next 
+
+search_handle:
+70b1 476b403a bpatchx patch3a_6 ,mem_patch3a 
+70b2 68014575 fetch 2 ,mem_ui_uuid_table 
+70b3 98000c00 iforce contr 
+
+search_handle_loop:
+70b4 e8c08000 ifetch 1 ,contr 
+70b5 203a7fe3 branch disable_zero ,blank 
+70b6 1fe3fe00 lshift pdata ,pdata 
+70b7 98c08c00 iadd contr ,contr 
+70b8 e8c20000 ifetch 4 ,contr 
+70b9 98467c00 isub temp ,null 
+70ba 20628000 rtn zero 
+70bb 18a27e00 deposit contw 
+70bc 60010abb store 2 ,mem_contw 
+70bd 600c0aa2 storet 8 ,mem_temp 
+70be 20407062 call sdp_get_data 
+70bf 98c08c00 iadd contr ,contr 
+70c0 18c27e00 copy contr ,pdata 
+70c1 68090abb fetcht 2 ,mem_contw 
+70c2 18420a00 copy temp ,contw 
+70c3 680c0aa2 fetcht 8 ,mem_temp 
+70c4 1fe20c00 copy pdata ,contr 
+70c5 202070b4 branch search_handle_loop 
+
+search_attrib:
+70c6 476bc03a bpatchx patch3a_7 ,mem_patch3a 
+70c7 68014575 fetch 2 ,mem_ui_uuid_table 
+70c8 98000c00 iforce contr 
+
+search_attrib_next:
+70c9 e8c08000 ifetch 1 ,contr 
+70ca 203a70e4 branch search_attrib_end ,blank 
+70cb 98007200 iforce loopcnt 
+
+search_attrib_loop:
+70cc e8c10000 ifetch 2 ,contr 
+70cd 9a667c00 isub regc ,null 
+70ce 2022f0d4 branch search_attrib_found_uuid ,zero 
+70cf c20070cc loop search_attrib_loop 
+70d0 18c08c04 increase 4 ,contr 
+70d1 20407062 call sdp_get_data 
+70d2 98c08c00 iadd contr ,contr 
+70d3 202070c9 branch search_attrib_next 
+
+search_attrib_found_uuid:
+70d4 1f20f3ff increase -1 ,loopcnt 
+70d5 1f23fe00 lshift loopcnt ,pdata 
+70d6 98c08c00 iadd contr ,contr 
+70d7 18c08c04 increase 4 ,contr 
+70d8 20407062 call sdp_get_data 
+70d9 98c09600 iadd contr ,timeup 
+
+search_attrib_loop_attribs:
+70da 18c08c01 increase 1 ,contr 
+70db e8c10000 ifetch 2 ,contr 
+70dc 9a467c00 isub regb ,null 
+70dd 2022ffef branch disable_blank ,zero 
+70de 2040705b call sdp_data_len 
+70df 98c08c00 iadd contr ,contr 
+70e0 19627e00 deposit timeup 
+70e1 98c67c00 isub contr ,null 
+70e2 2022f0e4 branch search_attrib_end ,zero 
+70e3 202070da branch search_attrib_loop_attribs 
+
+search_attrib_end:
+70e4 18000c00 force 0 ,contr 
+70e5 18007e00 force 0 ,pdata 
+70e6 20600000 rtn 
+
+search_handle_attrib:
+70e7 476c403b bpatchx patch3b_0 ,mem_patch3b 
+70e8 68014575 fetch 2 ,mem_ui_uuid_table 
+70e9 98000c00 iforce contr 
+
+search_handle_attrib_next:
+70ea e8c08000 ifetch 1 ,contr 
+70eb 203a7100 branch search_handle_attrib_end ,blank 
+70ec 1fe3fe00 lshift pdata ,pdata 
+70ed 98c08c00 iadd contr ,contr 
+70ee e8c20000 ifetch 4 ,contr 
+70ef 98467c00 isub temp ,null 
+70f0 2022f0f4 branch search_handl_attrib_found_handle ,zero 
+70f1 20407062 call sdp_get_data 
+70f2 98c08c00 iadd contr ,contr 
+70f3 202070ea branch search_handle_attrib_next 
+
+search_handl_attrib_found_handle:
+70f4 20407062 call sdp_get_data 
+70f5 98c09600 iadd contr ,timeup 
+
+search_handle_attrib_loop_attribs:
+70f6 18c08c01 increase 1 ,contr 
+70f7 e8c10000 ifetch 2 ,contr 
+70f8 9a467c00 isub regb ,null 
+70f9 20628000 rtn zero 
+70fa 2040705b call sdp_data_len 
+70fb 98c08c00 iadd contr ,contr 
+70fc 19627e00 deposit timeup 
+70fd 98c67c00 isub contr ,null 
+70fe 2022f100 branch search_handle_attrib_end ,zero 
+70ff 202070f6 branch search_handle_attrib_loop_attribs 
+
+search_handle_attrib_end:
+7100 18000c00 force 0 ,contr 
+7101 20600000 rtn 
+
+search_rfcomm_cn:
+7102 da400400 arg 0x0400 ,regb 
+7103 204070f4 call search_handl_attrib_found_handle 
+7104 da400300 arg 0x0300 ,regb 
+7105 2040710d call search_uuid_in_data 
+7106 24740000 nrtn user 
+7107 1a267c03 sub rega ,3 ,null 
+7108 20217fe9 branch disable_user ,positive 
+7109 e8c08000 ifetch 1 ,contr 
+710a c0847fe9 bne 0x08 ,disable_user 
+710b e8c08000 ifetch 1 ,contr 
+710c 20600000 rtn 
+
+search_uuid_in_data:
+710d 476cc03b bpatchx patch3b_1 ,mem_patch3b 
+710e 20407062 call sdp_get_data 
+710f 1fe22200 copy pdata ,rega 
+
+search_uuid_in_data_loop:
+7110 e8c08000 ifetch 1 ,contr 
+7111 1fe17207 and pdata ,0x7 ,loopcnt 
+7112 1fe97e00 rshift3 pdata ,pdata 
+7113 1fe67c03 sub pdata ,3 ,null 
+7114 2022f129 branch search_uuid_in_data_found_uuid ,zero 
+7115 1f227e00 copy loopcnt ,pdata 
+7116 c002f120 beq 5 ,search_uuid_in_data_found_element_index5 
+7117 c0037123 beq 6 ,search_uuid_in_data_found_element_index6 
+7118 c003f126 beq 7 ,search_uuid_in_data_found_element_index7 
+7119 18c08dff increase -1 ,contr 
+711a 20407062 call sdp_get_data 
+711b 98c08c00 iadd contr ,contr 
+711c 1a227e00 copy rega ,pdata 
+711d 98462200 isub temp ,rega 
+711e 2022ffe9 branch disable_user ,zero 
+711f 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index5:
+7120 1a20a3fe increase -2 ,rega 
+7121 18c08c01 increase 1 ,contr 
+7122 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index6:
+7123 1a20a3fd increase -3 ,rega 
+7124 18c08c02 increase 2 ,contr 
+7125 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index7:
+7126 1a20a3fb increase -5 ,rega 
+7127 18c08c04 increase 4 ,contr 
+7128 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_uuid:
+7129 1a20a3ff increase -1 ,rega 
+712a 1f227e00 copy loopcnt ,pdata 
+712b c000f132 beq 1 ,search_uuid_in_data_type_uuid_16 
+712c c0017130 beq 2 ,search_uuid_in_data_type_uuid_32 
+712d c002712f beq 4 ,search_uuid_in_data_type_uuid_128 
+712e 20207fe9 branch disable_user 
+
+search_uuid_in_data_type_uuid_128:
+712f 1a20a3f4 increase -12 ,rega 
+
+search_uuid_in_data_type_uuid_32:
+7130 e8c10000 ifetch 2 ,contr 
+7131 1a20a3fe increase -2 ,rega 
+
+search_uuid_in_data_type_uuid_16:
+7132 e8c10000 ifetch 2 ,contr 
+7133 9a467c00 isub regb ,null 
+7134 2022ffe7 branch enable_user ,zero 
+7135 1a20a3fe increase -2 ,rega 
+7136 2022ffe9 branch disable_user ,zero 
+7137 20207110 branch search_uuid_in_data_loop 
+
+sdp_send_spp_request:
+7138 204052d0 call l2cap_get_sdp_tx_payload 
+7139 1fe20a00 copy pdata ,contw 
+713a 58000006 setarg 6 
+713b e0a08000 istore 1 ,contw 
+713c 5800006e setarg sdp_tid_spp 
+713d e0a10000 istore 2 ,contw 
+713e 58000f00 setarg 0x0f00 
+713f e0a10000 istore 2 ,contw 
+7140 581a0535 setarg 0x1a0535 
+7141 e0a18000 istore 3 ,contw 
+7142 58000111 setarg 0x0111 
+7143 1ff07e00 lshift16 pdata ,pdata 
+7144 e0a20000 istore 4 ,contw 
+7145 58002600 setarg 0x2600 
+7146 e0a10000 istore 2 ,contw 
+7147 58000335 setarg 0x0335 
+7148 e0a10000 istore 2 ,contw 
+7149 58000009 setarg 0x0009 
+714a e0a10000 istore 2 ,contw 
+714b 58000004 setarg 0x0004 
+714c e0a10000 istore 2 ,contw 
+714d 70027514 jam 0x14 ,mem_sdp_tx_pkt_length 
+714e 20600000 rtn 
+
+function_g2:
+714f 476d403b bpatchx patch3b_2 ,mem_patch3b 
+7150 7005e550 jam 80 ,mem_aes_cmac_data_length 
+7151 d8a005e6 arg memdat ,contw 
+7152 d8c0443a arg mem_le_srand ,contr 
+7153 20407ebf call memcpy16 
+7154 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+7155 20407ebd call memcpy32 
+7156 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7157 20407ebd call memcpy32 
+7158 2040720a call inverse_memdat 
+7159 d8c0042f arg mem_le_mrand ,contr 
+715a 20407205 call store_inverse_k 
+715b 204071d0 call function_aes_cmac 
+715c d8a00af2 arg mem_aes_cmac_temp ,contw 
+715d 20407201 call load_inverse_result 
+715e 580f4240 setarg 1000000 
+715f 1fe22200 copy pdata ,rega 
+7160 68020af2 fetch 4 ,mem_aes_cmac_temp 
+7161 9a26fc00 idiv rega 
+7162 20407f86 call wait_div_end 
+7163 18077e00 remainder pdata 
+7164 600209ba store 4 ,mem_gkey 
+7165 20600000 rtn 
+
+function_f6_eb:
+7166 7005e541 jam 65 ,mem_aes_cmac_data_length 
+7167 d8a005e6 arg memdat ,contw 
+7168 204071b5 call store_addr_common_a 
+7169 204071b0 call store_addr_common_b 
+716a 6801c454 fetch 3 ,mem_le_pres + 1 
+716b e0a18000 istore 3 ,contw 
+716c 20407176 call get_r 
+716d d8c0042f arg mem_le_mrand ,contr 
+716e 20407ebf call memcpy16 
+716f d8c0443a arg mem_le_srand ,contr 
+7170 20407ebf call memcpy16 
+7171 2040720a call inverse_memdat 
+7172 d8c00b12 arg mem_le_mackey ,contr 
+7173 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7174 20407ebf call memcpy16 
+7175 202071d0 branch function_aes_cmac 
+
+get_r:
+7176 680244c7 fetch 4 ,mem_le_tk 
+7177 e0a20000 istore 4 ,contw 
+7178 20407ecd call memset0_4 
+7179 20207eca branch memset0_8 
+
+function_f6_ea:
+717a 476dc03b bpatchx patch3b_3 ,mem_patch3b 
+717b 7005e541 jam 65 ,mem_aes_cmac_data_length 
+717c d8a005e6 arg memdat ,contw 
+717d 204071b0 call store_addr_common_b 
+717e 204071b5 call store_addr_common_a 
+717f 6801c44d fetch 3 ,mem_le_preq + 1 
+7180 e0a18000 istore 3 ,contw 
+7181 20407176 call get_r 
+7182 d8c0443a arg mem_le_srand ,contr 
+7183 20407ebf call memcpy16 
+7184 d8c0042f arg mem_le_mrand ,contr 
+7185 20407ebf call memcpy16 
+7186 2040720a call inverse_memdat 
+7187 d8c00b12 arg mem_le_mackey ,contr 
+7188 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7189 20407ebf call memcpy16 
+718a 204071d0 call function_aes_cmac 
+718b d8a00af2 arg mem_aes_cmac_temp ,contw 
+718c 20207201 branch load_inverse_result 
+
+function_f5:
+718d 7005e520 jam 32 ,mem_aes_cmac_data_length 
+718e d8c009fe arg mem_le_dhkey_256 ,contr 
+718f d8a005e6 arg memdat ,contw 
+7190 20407ebd call memcpy32 
+7191 2040720a call inverse_memdat 
+7192 d8c0099e arg mem_le_slat ,contr 
+7193 20407205 call store_inverse_k 
+7194 204071d0 call function_aes_cmac 
+7195 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7196 20407497 call store_aes_result 
+7197 d8400001 arg 1 ,temp 
+7198 2040719f call function_f5_common 
+7199 d8a04419 arg mem_le_ltk ,contw 
+719a 20407201 call load_inverse_result 
+719b d8400000 arg 0 ,temp 
+719c 2040719f call function_f5_common 
+719d d8a00b12 arg mem_le_mackey ,contw 
+719e 20207497 branch store_aes_result 
+
+function_f5_common:
+719f 476e403b bpatchx patch3b_4 ,mem_patch3b 
+71a0 7005e535 jam 53 ,mem_aes_cmac_data_length 
+71a1 58000100 setarg 0x100 
+71a2 600105e6 store 2 ,memdat 
+71a3 204071b0 call store_addr_common_b 
+71a4 204071b5 call store_addr_common_a 
+71a5 d8c0443a arg mem_le_srand ,contr 
+71a6 20407ebf call memcpy16 
+71a7 d8c0042f arg mem_le_mrand ,contr 
+71a8 20407ebf call memcpy16 
+71a9 58006c65 setarg 0x6c65 
+71aa e0a10000 istore 2 ,contw 
+71ab 58006274 setarg 0x6274 
+71ac e0a10000 istore 2 ,contw 
+71ad e0a88000 istoret 1 ,contw 
+71ae 2040720a call inverse_memdat 
+71af 202071d0 branch function_aes_cmac 
+
+store_addr_common_b:
+71b0 680344a0 fetch 6 ,mem_le_lap 
+71b1 e0a30000 istore 6 ,contw 
+71b2 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+71b3 e0a08000 istore 1 ,contw 
+71b4 20600000 rtn 
+
+store_addr_common_a:
+71b5 6803044f fetch 6 ,mem_le_plap 
+71b6 e0a30000 istore 6 ,contw 
+71b7 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+71b8 e0a08000 istore 1 ,contw 
+71b9 20600000 rtn 
+
+function_f4_ca:
+71ba 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71bb 6800c664 fetch 1 ,mem_passkey_1bit 
+71bc 600085e6 store 1 ,memdat 
+71bd d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71be 20407ebd call memcpy32 
+71bf d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c0 20407ebd call memcpy32 
+71c1 2040720a call inverse_memdat 
+71c2 d8c0042f arg mem_le_mrand ,contr 
+71c3 20407205 call store_inverse_k 
+71c4 202071d0 branch function_aes_cmac 
+
+function_f4_cb:
+71c5 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71c6 6800c664 fetch 1 ,mem_passkey_1bit 
+71c7 600085e6 store 1 ,memdat 
+71c8 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c9 20407ebd call memcpy32 
+71ca d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71cb 20407ebd call memcpy32 
+71cc 2040720a call inverse_memdat 
+71cd d8c0443a arg mem_le_srand ,contr 
+71ce 20407205 call store_inverse_k 
+71cf 202071d0 branch function_aes_cmac 
+
+function_aes_cmac:
+71d0 476ec03b bpatchx patch3b_5 ,mem_patch3b 
+71d1 2040721f call function_aes_cmac_generate_subkey 
+71d2 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+71d3 1fe20400 copy pdata ,temp 
+
+function_ceil16:
+71d4 1fe0fe0f increase 15 ,pdata 
+71d5 1ff1fe00 rshift4 pdata ,pdata 
+71d6 1fe22400 copy pdata ,regb 
+71d7 203a71e2 branch function_aes_cmac_set_flag_0_balnk ,blank 
+71d8 18417e0f and temp ,0x0f ,pdata 
+71d9 243a71e5 nbranch function_aes_cmac_set_flag_0 ,blank 
+71da da600ad2 arg mem_aes_cmac_k1 ,regc 
+71db dfe005e6 arg memdat ,pdata 
+71dc 1fe0fff0 increase -16 ,pdata 
+71dd 9840a200 iadd temp ,rega 
+71de d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71df df200004 arg 4 ,loopcnt 
+71e0 20407edd call xor_loop 
+71e1 202071f0 branch function_aes_cmac_aes 
+
+function_aes_cmac_set_flag_0_balnk:
+71e2 da400001 arg 1 ,regb 
+71e3 da200000 arg 0 ,rega 
+71e4 202071e6 branch function_aes_cmac_set_flag_0_common 
+
+function_aes_cmac_set_flag_0:
+71e5 1841220f and temp ,0x0f ,rega 
+
+function_aes_cmac_set_flag_0_common:
+71e6 dfe005e6 arg memdat ,pdata 
+71e7 9840fe00 iadd temp ,pdata 
+71e8 9a260c00 isub rega ,contr 
+71e9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71ea 20407245 call function_aes_cmac_padding 
+71eb da600ae2 arg mem_aes_cmac_k2 ,regc 
+71ec da200af2 arg mem_aes_cmac_temp ,rega 
+71ed d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71ee df200004 arg 4 ,loopcnt 
+71ef 20407edd call xor_loop 
+
+function_aes_cmac_aes:
+71f0 20407491 call aes_clear_data 
+71f1 20407428 call aes_init 
+71f2 d8c005e6 arg memdat ,contr 
+
+function_aes_cmac_aes_loop:
+71f3 1a40a5ff increase -1 ,regb 
+71f4 1a427e00 deposit regb 
+71f5 203a71f9 branch function_aes_cmac_aes_loop_end ,blank 
+71f6 20407486 call load_data128 
+71f7 20407422 call do_aes_cbc 
+71f8 202071f3 branch function_aes_cmac_aes_loop 
+
+function_aes_cmac_aes_loop_end:
+71f9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71fa 20407497 call store_aes_result 
+71fb d8c00b02 arg mem_aes_cmac_m_last ,contr 
+71fc 20407486 call load_data128 
+71fd 20407428 call aes_init 
+71fe d8c00af2 arg mem_aes_cmac_temp ,contr 
+71ff 20407486 call load_data128 
+7200 20207422 branch do_aes_cbc 
+
+load_inverse_result:
+7201 18a22200 copy contw ,rega 
+7202 20407497 call store_aes_result 
+7203 df200010 arg 16 ,loopcnt 
+7204 20207ee5 branch inverse_data 
+
+store_inverse_k:
+7205 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7206 20407ebf call memcpy16 
+
+inverse_k:
+7207 df200010 arg 16 ,loopcnt 
+7208 da200ac2 arg mem_aes_cmac_k ,rega 
+7209 20207ee5 branch inverse_data 
+
+inverse_memdat:
+720a 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+720b 1fe27200 copy pdata ,loopcnt 
+720c da2005e6 arg memdat ,rega 
+720d 20207ee5 branch inverse_data 
+
+bn_lshift_0_inverse:
+720e ea208000 ifetch 1 ,rega 
+720f 1fe3fe00 lshift pdata ,pdata 
+7210 2a6ffe00 isolate1 0 ,regc 
+7211 7920fe00 setflag true ,0 ,pdata 
+7212 2feffe08 isolate1 8 ,pdata 
+7213 7920a600 setflag true ,0 ,regc 
+7214 e2208000 istore 1 ,rega 
+7215 1a20a3ff increase -1 ,rega 
+7216 c200720e loop bn_lshift_0_inverse 
+7217 20600000 rtn 
+
+function_aes_cmac_k1_inverse:
+7218 da200ad2 arg mem_aes_cmac_k1 ,rega 
+
+function_aes_cmac_inverse_common:
+7219 1a20a20f increase 15 ,rega 
+721a 18007210 force 16 ,loopcnt 
+721b 18002600 force 0 ,regc 
+721c 2020720e branch bn_lshift_0_inverse 
+
+function_aes_cmac_k2_inverse:
+721d da200ae2 arg mem_aes_cmac_k2 ,rega 
+721e 20207219 branch function_aes_cmac_inverse_common 
+
+function_aes_cmac_generate_subkey:
+721f d8c00ac2 arg mem_aes_cmac_k ,contr 
+7220 20407484 call load_key 
+7221 18007008 force regidx_xor ,regext_index 
+7222 20407492 call aes_clear 
+7223 20407491 call aes_clear_data 
+7224 2040741f call do_aes_ocb 
+7225 d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+7226 20407497 call store_aes_result 
+
+function_aes_cmac_k1:
+7227 476f403b bpatchx patch3b_6 ,mem_patch3b 
+7228 68008ad2 fetch 1 ,mem_aes_cmac_k1 
+7229 2feffe07 isolate1 7 ,pdata 
+722a 2420f230 nbranch function_aes_cmac_k1_0 ,true 
+722b 20407218 call function_aes_cmac_k1_inverse 
+722c da600ad2 arg mem_aes_cmac_k1 ,regc 
+722d d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+722e 2040723a call function_aes_cmac_xor_rb 
+722f 20207231 branch function_aes_cmac_k2 
+
+function_aes_cmac_k1_0:
+7230 20407218 call function_aes_cmac_k1_inverse 
+
+function_aes_cmac_k2:
+7231 d8c00ad2 arg mem_aes_cmac_k1 ,contr 
+7232 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+7233 20407ebf call memcpy16 
+7234 68008ae2 fetch 1 ,mem_aes_cmac_k2 
+7235 2feffe07 isolate1 7 ,pdata 
+7236 2420f21d nbranch function_aes_cmac_k2_inverse ,true 
+7237 2040721d call function_aes_cmac_k2_inverse 
+7238 da600ae2 arg mem_aes_cmac_k2 ,regc 
+7239 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+
+function_aes_cmac_xor_rb:
+723a df200003 arg 3 ,loopcnt 
+
+function_aes_cmac_xor_rb_loop:
+723b d8400000 arg 0 ,temp 
+723c 20407241 call function_aes_cmac_xor_loop_common 
+723d 1a60a604 increase 4 ,regc 
+723e c200723b loop function_aes_cmac_xor_rb_loop 
+723f d8408700 arg 0x8700 ,temp 
+7240 18500400 lshift16 temp ,temp 
+
+function_aes_cmac_xor_loop_common:
+7241 ea620000 ifetch 4 ,regc 
+7242 9842fe00 ixor temp ,pdata 
+7243 e0a20000 istore 4 ,contw 
+7244 20600000 rtn 
+
+function_aes_cmac_padding:
+7245 476fc03b bpatchx patch3b_7 ,mem_patch3b 
+7246 df200010 arg 16 ,loopcnt 
+7247 dfe00000 arg 0 ,pdata 
+
+function_aes_cmac_padding_loop:
+7248 9a267c00 isub rega ,null 
+7249 2022f250 branch function_aes_cmac_padding_beq_length ,zero 
+724a 20217253 branch function_aes_cmac_padding_big_length ,positive 
+724b e8c88000 ifetcht 1 ,contr 
+724c e0a88000 istoret 1 ,contw 
+
+function_aes_cmac_padding_loop2:
+724d 1fe0fe01 increase 1 ,pdata 
+724e c2007248 loop function_aes_cmac_padding_loop 
+724f 20600000 rtn 
+
+function_aes_cmac_padding_beq_length:
+7250 d8400080 arg 0x80 ,temp 
+
+function_aes_cmac_padding_common:
+7251 e0a88000 istoret 1 ,contw 
+7252 2020724d branch function_aes_cmac_padding_loop2 
+
+function_aes_cmac_padding_big_length:
+7253 d8400000 arg 0 ,temp 
+7254 20207251 branch function_aes_cmac_padding_common 
+
+generate_kinit:
+7255 20407268 call function_e22 
+7256 d8c00592 arg mem_input_store ,contr 
+7257 d8a00582 arg mem_kinit ,contw 
+7258 20207ebf branch memcpy16 
+
+function_e21:
+7259 78547c00 disable user 
+725a 2040735f call function_expand 
+725b d8c00562 arg mem_random_number ,contr 
+725c d8a005a2 arg mem_x ,contw 
+725d 1800720f force 15 ,loopcnt 
+725e 20407f01 call memcpy 
+725f e8c08000 ifetch 1 ,contr 
+7260 1fe2fe06 xor_into 6 ,pdata 
+7261 e0a08000 istore 1 ,contw 
+7262 580005b2 setarg mem_y 
+7263 600105d6 store 2 ,memp_ar_input 
+7264 580005a2 setarg mem_x 
+7265 600105d4 store 2 ,memp_ar_key 
+7266 79200012 set1 mark_ar2 ,mark 
+7267 202072a8 branch function_ar 
+
+function_e22:
+7268 6808c689 fetcht 1 ,mem_pin_length 
+7269 18002410 force 16 ,regb 
+726a 1840a606 add temp ,6 ,regc 
+726b 1a667c10 sub regc ,16 ,null 
+726c 2021726e branch function_e22_pin_init ,positive 
+726d 18002610 force 16 ,regc 
+
+function_e22_pin_init:
+726e d8a005a2 arg mem_x ,contw 
+
+function_e22_genx_pin:
+726f d8c0468a arg mem_pin ,contr 
+7270 18427200 copy temp ,loopcnt 
+7271 78547c00 disable user 
+
+function_e22_genx_loop:
+7272 e8c08000 ifetch 1 ,contr 
+7273 e0a08000 istore 1 ,contw 
+7274 1a40a5ff increase -1 ,regb 
+7275 2022f27c branch function_e22_genx_end ,zero 
+7276 c2007272 loop function_e22_genx_loop 
+7277 2034726f branch function_e22_genx_pin ,user 
+7278 78347c00 enable user 
+7279 18007206 force 6 ,loopcnt 
+727a 1a220c00 copy rega ,contr 
+727b 20207272 branch function_e22_genx_loop 
+
+function_e22_genx_end:
+727c d8c00562 arg mem_random_number ,contr 
+727d d8a005b2 arg mem_y ,contw 
+727e 20407ebf call memcpy16 
+727f 680085c1 fetch 1 ,mem_y15 
+7280 9a62fe00 ixor regc ,pdata 
+7281 600085c1 store 1 ,mem_y15 
+7282 580005b2 setarg mem_y 
+7283 600105d6 store 2 ,memp_ar_input 
+7284 580005a2 setarg mem_x 
+7285 600105d4 store 2 ,memp_ar_key 
+7286 79200012 set1 mark_ar2 ,mark 
+7287 202072a8 branch function_ar 
+
+function_e1:
+7288 78547c00 disable user 
+7289 2040735f call function_expand 
+728a 20207292 branch function_hash 
+
+function_e3:
+728b da200056 arg mem_aco ,rega 
+728c 78347c00 enable user 
+728d 2040735f call function_expand 
+728e 20407292 call function_hash 
+728f d8c00592 arg mem_input_store ,contr 
+7290 d8a00062 arg mem_kc ,contw 
+7291 20207ebf branch memcpy16 
+
+function_hash:
+7292 58000562 setarg mem_random_number 
+7293 600105d6 store 2 ,memp_ar_input 
+7294 580041be setarg mem_link_key 
+7295 600105d4 store 2 ,memp_ar_key 
+7296 793f8012 set0 mark_ar2 ,mark 
+7297 204072a8 call function_ar 
+7298 da200592 arg mem_input_store ,rega 
+7299 da400562 arg mem_random_number ,regb 
+729a d8a005a2 arg mem_x ,contw 
+729b 20407352 call xor16 
+729c da2005a2 arg mem_x ,rega 
+729d da4005b2 arg mem_y ,regb 
+729e 1a420a00 copy regb ,contw 
+729f 78347c00 enable user 
+72a0 20407350 call add16 
+72a1 2040736a call key_offset 
+72a2 580005b2 setarg mem_y 
+72a3 600105d6 store 2 ,memp_ar_input 
+72a4 580005a2 setarg mem_x 
+72a5 600105d4 store 2 ,memp_ar_key 
+72a6 79200012 set1 mark_ar2 ,mark 
+72a7 202072a8 branch function_ar 
+
+function_ar:
+72a8 7005d800 jam 0 ,mem_ar_hround 
+72a9 680105d4 fetch 2 ,memp_ar_key 
+72aa 98000c00 iforce contr 
+72ab d8a005c2 arg mem_key_store ,contw 
+72ac 20407ebf call memcpy16 
+72ad 680105d6 fetch 2 ,memp_ar_input 
+72ae 98000c00 iforce contr 
+72af d8a00592 arg mem_input_store ,contw 
+72b0 20407ebf call memcpy16 
+
+function_ar_loop:
+72b1 204072cf call key_scheduling 
+72b2 78547c00 disable user 
+72b3 c58972b9 bmark0 mark_ar2 ,function_ar_original 
+72b4 680085d8 fetch 1 ,mem_ar_hround 
+72b5 c08272b9 bne 4 ,function_ar_original 
+72b6 680105d6 fetch 2 ,memp_ar_input 
+72b7 98002400 iforce regb 
+72b8 20407301 call xor_mod32_ar2 
+
+function_ar_original:
+72b9 20407300 call xor_mod32 
+72ba 20407313 call el_boxes 
+72bb 680085d8 fetch 1 ,mem_ar_hround 
+72bc 1fe0fe01 increase 1 ,pdata 
+72bd 600085d8 store 1 ,mem_ar_hround 
+72be 204072cf call key_scheduling 
+72bf 78347c00 enable user 
+72c0 20407300 call xor_mod32 
+72c1 20407322 call pht 
+72c2 20407331 call permute 
+72c3 20407322 call pht 
+72c4 20407331 call permute 
+72c5 20407322 call pht 
+72c6 20407331 call permute 
+72c7 20407322 call pht 
+72c8 680085d8 fetch 1 ,mem_ar_hround 
+72c9 1fe0fe01 increase 1 ,pdata 
+72ca 600085d8 store 1 ,mem_ar_hround 
+72cb c08872b1 bne 16 ,function_ar_loop 
+72cc 204072cf call key_scheduling 
+72cd 78547c00 disable user 
+72ce 20207300 branch xor_mod32 
+
+key_scheduling:
+72cf 680085d8 fetch 1 ,mem_ar_hround 
+72d0 d8c005c2 arg mem_key_store ,contr 
+72d1 203a72f6 branch key_sched_zero ,blank 
+72d2 98002400 iforce regb 
+72d3 18007211 force 17 ,loopcnt 
+72d4 18c20a00 copy contr ,contw 
+
+key_rotateloop:
+72d5 e8c08000 ifetch 1 ,contr 
+72d6 1fe98400 lshift3 pdata ,temp 
+72d7 1feb7e00 rshift2 pdata ,pdata 
+72d8 1fe97e00 rshift3 pdata ,pdata 
+72d9 9841fe00 ior temp ,pdata 
+72da e0a08000 istore 1 ,contw 
+72db c20072d5 loop key_rotateloop 
+72dc 580005c2 setarg mem_key_store 
+72dd 9a408c00 iadd regb ,contr 
+72de 18007210 force 16 ,loopcnt 
+72df d8a00572 arg mem_round_key ,contw 
+
+key_select_octet_loop:
+72e0 e8c08000 ifetch 1 ,contr 
+72e1 e0a08000 istore 1 ,contw 
+72e2 28c1ffd3 compare mem_key_store_end ,contr ,0xff 
+72e3 2420f2e5 nbranch key_select_octet_nwrap ,true 
+72e4 18c08def increase -17 ,contr 
+
+key_select_octet_nwrap:
+72e5 c20072e0 loop key_select_octet_loop 
+72e6 18002200 force 0 ,rega 
+72e7 1a40a7ff add regb ,-1 ,regc 
+72e8 1a6ba600 lshift2 regc ,regc 
+72e9 1a6ba600 lshift2 regc ,regc 
+72ea 204074b9 call enable_authrom 
+72eb 58008400 setarg mem_b_box 
+72ec 9a60a600 iadd regc ,regc 
+72ed d8a00572 arg mem_round_key ,contw 
+72ee 18007210 force 16 ,loopcnt 
+
+bias_round_key_loop:
+72ef ea688000 ifetcht 1 ,regc 
+72f0 e8a08000 ifetch 1 ,contw 
+72f1 9840fe00 iadd temp ,pdata 
+72f2 e0a08000 istore 1 ,contw 
+72f3 1a60a601 increase 1 ,regc 
+72f4 c20072ef loop bias_round_key_loop 
+72f5 202074bd branch disable_authrom 
+
+key_sched_zero:
+72f6 18007210 force 16 ,loopcnt 
+72f7 18000400 force 0 ,temp 
+
+create_byte_16_loop:
+72f8 e8c08000 ifetch 1 ,contr 
+72f9 98428400 ixor temp ,temp 
+72fa c20072f8 loop create_byte_16_loop 
+72fb 18427e00 deposit temp 
+72fc e0c08000 istore 1 ,contr 
+72fd d8c005c2 arg mem_key_store ,contr 
+72fe d8a00572 arg mem_round_key ,contw 
+72ff 20207ebf branch memcpy16 
+
+xor_mod32:
+7300 da400572 arg mem_round_key ,regb 
+
+xor_mod32_ar2:
+7301 18007210 force 16 ,loopcnt 
+7302 da200592 arg mem_input_store ,rega 
+7303 1a220a00 copy rega ,contw 
+
+xor_mod32_loop:
+7304 ea288000 ifetcht 1 ,rega 
+7305 ea408000 ifetch 1 ,regb 
+7306 9842e000 ixor temp ,alarm 
+7307 1f212603 and loopcnt ,3 ,regc 
+7308 2434730a nbranch xor_mod32_invert ,user 
+7309 1a62a603 xor_into 3 ,regc 
+
+xor_mod32_invert:
+730a 1a662601 sub regc ,1 ,regc 
+730b 2021730d branch xor_even ,positive 
+730c 9840e000 iadd temp ,alarm 
+
+xor_even:
+730d 1e027e00 deposit alarm 
+730e e0a08000 istore 1 ,contw 
+730f 1a20a201 increase 1 ,rega 
+7310 1a40a401 increase 1 ,regb 
+7311 c2007304 loop xor_mod32_loop 
+7312 20600000 rtn 
+
+el_boxes:
+7313 204074b9 call enable_authrom 
+7314 18007210 force 16 ,loopcnt 
+7315 da200592 arg mem_input_store ,rega 
+
+el_box_loop:
+7316 ea208000 ifetch 1 ,rega 
+7317 d8c08500 arg mem_e_box ,contr 
+7318 1f212603 and loopcnt ,3 ,regc 
+7319 1a667c01 sub regc ,1 ,null 
+731a 2021731c branch e_boxes ,positive 
+731b d8c08600 arg mem_l_box ,contr 
+
+e_boxes:
+731c 98c08c00 iadd contr ,contr 
+731d e8c08000 ifetch 1 ,contr 
+731e e2208000 istore 1 ,rega 
+731f 1a20a201 increase 1 ,rega 
+7320 c2007316 loop el_box_loop 
+7321 202074bd branch disable_authrom 
+
+pht:
+7322 18007208 force 8 ,loopcnt 
+7323 d8c00592 arg mem_input_store ,contr 
+7324 18c20a00 copy contr ,contw 
+
+pht_loop:
+7325 e8c08000 ifetch 1 ,contr 
+7326 98002200 iforce rega 
+7327 e8c08000 ifetch 1 ,contr 
+7328 98002400 iforce regb 
+7329 1a23fe00 lshift rega ,pdata 
+732a 9a40fe00 iadd regb ,pdata 
+732b e0a08000 istore 1 ,contw 
+732c 1a227e00 deposit rega 
+732d 9a40fe00 iadd regb ,pdata 
+732e e0a08000 istore 1 ,contw 
+732f c2007325 loop pht_loop 
+7330 20600000 rtn 
+
+permute:
+7331 588ae42c setarg 0x8ae42c 
+7332 98000400 iforce temp 
+7333 18007207 force 7 ,loopcnt 
+7334 20407340 call permute_exchange 
+7335 580d751b setarg 0xd751b 
+7336 98000400 iforce temp 
+7337 18007205 force 5 ,loopcnt 
+7338 20407340 call permute_exchange 
+7339 680085a1 fetch 1 ,mem_input_store + 15 
+733a 98002200 iforce rega 
+733b 68008595 fetch 1 ,mem_input_store + 3 
+733c 600085a1 store 1 ,mem_input_store + 15 
+733d 1a227e00 deposit rega 
+733e 60008595 store 1 ,mem_input_store + 3 
+733f 20600000 rtn 
+
+permute_exchange:
+7340 1841240f and temp ,0xf ,regb 
+
+permute_loop:
+7341 18417e0f and temp ,0xf ,pdata 
+7342 d8a00592 arg mem_input_store ,contw 
+7343 98a08a00 iadd contw ,contw 
+7344 e8a08000 ifetch 1 ,contw 
+7345 98002600 iforce regc 
+7346 1a227e00 deposit rega 
+7347 e0a08000 istore 1 ,contw 
+7348 1a622200 copy regc ,rega 
+7349 18518400 rshift4 temp ,temp 
+734a c2007341 loop permute_loop 
+734b 58000592 setarg mem_input_store 
+734c 9a408a00 iadd regb ,contw 
+734d 1a227e00 deposit rega 
+734e e0a08000 istore 1 ,contw 
+734f 20600000 rtn 
+
+add16:
+7350 78347c00 enable user 
+7351 20207353 branch xor_add16 
+
+xor16:
+7352 78547c00 disable user 
+
+xor_add16:
+7353 18007210 force 16 ,loopcnt 
+
+xoradd_loop:
+7354 ea288000 ifetcht 1 ,rega 
+7355 ea408000 ifetch 1 ,regb 
+7356 20347359 branch xoradd_add ,user 
+7357 9842fe00 ixor temp ,pdata 
+7358 2020735a branch xoradd_store 
+
+xoradd_add:
+7359 9840fe00 iadd temp ,pdata 
+
+xoradd_store:
+735a e0a08000 istore 1 ,contw 
+735b 1a20a201 increase 1 ,rega 
+735c 1a40a401 increase 1 ,regb 
+735d c2007354 loop xoradd_loop 
+735e 20600000 rtn 
+
+function_expand:
+735f d8a005b2 arg mem_y ,contw 
+7360 ea230000 ifetch 6 ,rega 
+7361 e0a30000 istore 6 ,contw 
+7362 20347365 branch expand_12 ,user 
+7363 ea230000 ifetch 6 ,rega 
+7364 20207366 branch expand_cont 
+
+expand_12:
+7365 e8c30000 ifetch 6 ,contr 
+
+expand_cont:
+7366 e0a30000 istore 6 ,contw 
+7367 ea220000 ifetch 4 ,rega 
+7368 e0a20000 istore 4 ,contw 
+7369 20600000 rtn 
+
+key_offset:
+736a d8c041be arg mem_link_key ,contr 
+736b d8a005a2 arg mem_x ,contw 
+736c d8400000 arg 0 ,temp 
+736d 588395a7 setarg 0x8395a7 
+736e 2040738b call concatenate_temp24 
+736f 58b3c1df setarg 0xb3c1df 
+7370 2040738b call concatenate_temp24 
+7371 5800e5e9 setarg 0xe5e9 
+7372 2040738c call concatenate_temp16 
+7373 18422800 copy temp ,regab 
+7374 78547c00 disable user 
+7375 20407379 call key_addxor 
+7376 1a820400 copy regab ,temp 
+7377 78347c00 enable user 
+7378 20207379 branch key_addxor 
+
+key_addxor:
+7379 18007208 force 8 ,loopcnt 
+
+key_addxor_loop:
+737a e8c08000 ifetch 1 ,contr 
+737b 2f200201 compare 1 ,loopcnt ,1 
+737c 20347380 branch key_high ,user 
+737d 2020f381 branch key_xor ,true 
+
+key_add:
+737e 9840fe00 iadd temp ,pdata 
+737f 20207382 branch key_store 
+
+key_high:
+7380 2020f37e branch key_add ,true 
+
+key_xor:
+7381 9842fe00 ixor temp ,pdata 
+
+key_store:
+7382 e0a08000 istore 1 ,contw 
+7383 184c8400 rshift8 temp ,temp 
+7384 c200737a loop key_addxor_loop 
+7385 20600000 rtn 
+
+copy_aco:
+7386 68030596 fetch 6 ,mem_input_store + 4 
+7387 60030056 store 6 ,mem_aco 
+7388 e8c30000 ifetch 6 ,contr 
+7389 e0a30000 istore 6 ,contw 
+738a 20600000 rtn 
+
+concatenate_temp24:
+738b 184d0400 lshift8 temp ,temp 
+
+concatenate_temp16:
+738c 18500400 lshift16 temp ,temp 
+738d 98418400 ior temp ,temp 
+738e 20600000 rtn 
+
+loop1:
+738f 2020738f branch loop1 
+
+generate_stk:
+7390 4770403c bpatchx patch3c_0 ,mem_patch3c 
+7391 2040742b call function_s1 
+7392 d8a04419 arg mem_le_ltk ,contw 
+7393 20207497 branch store_aes_result 
+
+authenticate_rconfirm:
+7394 d8a0443a arg mem_le_srand ,contw 
+7395 2034f397 branch authenticate_mconfirm ,master 
+7396 d8a0042f arg mem_le_mrand ,contw 
+
+authenticate_mconfirm:
+7397 18c22200 copy contr ,rega 
+7398 20407ebf call memcpy16 
+7399 20407440 call function_c1 
+739a d8c0442a arg mem_le_rconfirm ,contr 
+739b 202074b0 branch compare_res 
+
+generate_confirm:
+739c da20042f arg mem_le_mrand ,rega 
+739d 2034f39f branch generate_mrand ,master 
+739e da20443a arg mem_le_srand ,rega 
+
+generate_mrand:
+739f 1a220a00 copy rega ,contw 
+73a0 2040630c call generate_random 
+73a1 20207440 branch function_c1 
+
+generate_sk:
+73a2 d8c044aa arg mem_le_skdm ,contr 
+73a3 20407486 call load_data128 
+73a4 d8c04419 arg mem_le_ltk ,contr 
+73a5 20407487 call load_regext 
+73a6 18006c38 force 0x38 ,aes_ctrl 
+73a7 18006c00 force 0x0 ,aes_ctrl 
+73a8 2040741d call wait_aes 
+73a9 d8a0047c arg mem_le_sk ,contw 
+73aa 20207497 branch store_aes_result 
+
+first_block_counter:
+73ab 18007e49 force 0x49 ,pdata 
+73ac 202073ae branch first_block 
+
+first_block_data:
+73ad 18007e01 force 1 ,pdata 
+
+first_block:
+73ae 18007000 force regidx_data ,regext_index 
+73af 184d5e00 lshift8 temp ,regext 
+73b0 9de1de00 ior regext ,regext 
+73b1 1f00f001 increase 1 ,regext_index 
+73b2 184cde00 rshift8 temp ,regext 
+73b3 1df15e00 rshift16 regext ,regext 
+73b4 68014411 fetch 2 ,mem_le_ivm 
+73b5 1ff07e00 lshift16 ,pdata ,pdata 
+73b6 9de1de00 ior regext ,regext 
+73b7 1f00f001 increase 1 ,regext_index 
+73b8 e8c20000 ifetch 4 ,contr 
+73b9 98005e00 iforce regext 
+73ba 1f00f001 increase 1 ,regext_index 
+73bb e8c10000 ifetch 2 ,contr 
+73bc 1a30de00 byteswap rega ,regext 
+73bd 1df05e00 lshift16 regext ,regext 
+73be 9de1de00 ior regext ,regext 
+73bf 1f00f001 increase 1 ,regext_index 
+73c0 20600000 rtn 
+
+generate_mic:
+73c1 1a608c01 add regc ,1 ,contr 
+73c2 e8c08000 ifetch 1 ,contr 
+73c3 98002200 iforce rega 
+73c4 204073ab call first_block_counter 
+73c5 2040741f call do_aes_ocb 
+73c6 18007000 force regidx_data ,regext_index 
+73c7 ea608000 ifetch 1 ,regc 
+73c8 1fe17e03 and_into 0x3 ,pdata 
+73c9 1ff05e00 lshift16 pdata ,regext 
+73ca 79205e08 set1 8 ,regext 
+73cb 2040748f call clear_hidata 
+73cc 20407422 call do_aes_cbc 
+73cd 1a227200 copy rega ,loopcnt 
+73ce 1a608c02 add regc ,2 ,contr 
+73cf 2040746e call padding_data 
+
+generate_mic_loop:
+73d0 20407478 call aes_load_data 
+73d1 20407422 call do_aes_cbc 
+73d2 1f227e00 deposit loopcnt 
+73d3 203a73d5 branch generate_mic_end ,blank 
+73d4 202073d0 branch generate_mic_loop 
+
+generate_mic_end:
+73d5 1800700c force regidx_result ,regext_index 
+73d6 1de27e00 deposit regext 
+73d7 60020417 store 4 ,mem_le_mic 
+73d8 20600000 rtn 
+
+aes_crypt_data:
+73d9 1a20a201 increase 1 ,rega 
+73da 204073ad call first_block_data 
+73db 1a620c00 copy regc ,contr 
+73dc 20407482 call aes_load_xor 
+73dd 20407425 call do_aes_ctr 
+73de 2040749e call store_enc_data 
+73df 1a60a610 increase 16 ,regc 
+73e0 1a40a5f0 increase -16 ,regb 
+73e1 202173d9 branch aes_crypt_data ,positive 
+73e2 20600000 rtn 
+
+le_encrypt:
+73e3 4770c03c bpatchx patch3c_1 ,mem_patch3c 
+73e4 da6043dc arg mem_le_txheader ,regc 
+73e5 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73e6 204073c1 call generate_mic 
+73e7 18007008 force regidx_xor ,regext_index 
+73e8 98005e00 iforce regext 
+73e9 18002200 force 0 ,rega 
+73ea 204073ad call first_block_data 
+73eb 20407425 call do_aes_ctr 
+73ec da6043de arg mem_le_txpayload ,regc 
+73ed 6800c3dd fetch 1 ,mem_le_txlen 
+73ee 1fe0a5ff add pdata ,-1 ,regb 
+73ef 9a608a00 iadd regc ,contw 
+73f0 1800700c force regidx_result ,regext_index 
+73f1 1de27e00 deposit regext 
+73f2 e0a20000 istore 4 ,contw 
+73f3 204073d9 call aes_crypt_data 
+73f4 6800c3dd fetch 1 ,mem_le_txlen 
+73f5 1fe0fe04 increase 4 ,pdata 
+73f6 6000c3dd store 1 ,mem_le_txlen 
+73f7 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73f8 18408401 increase 1 ,temp 
+73f9 600ac403 storet 5 ,mem_le_pcnt_tx 
+73fa 20600000 rtn 
+
+le_decrypt:
+73fb 4771403c bpatchx patch3c_2 ,mem_patch3c 
+73fc 680082da fetch 1 ,mem_le_rxbuf + 1 
+73fd 1fe67c14 sub pdata ,20 ,null 
+73fe 202173ff branch le_dec_cont ,positive 
+
+le_dec_cont:
+73ff da6002db arg mem_le_rxbuf + 2 ,regc 
+7400 1fe0a5ff add pdata ,-1 ,regb 
+7401 1fe0fffc increase -4 ,pdata 
+7402 600082da store 1 ,mem_le_rxbuf + 1 
+7403 9a608c00 iadd regc ,contr 
+7404 e8c20000 ifetch 4 ,contr 
+7405 18007008 force regidx_xor ,regext_index 
+7406 98005e00 iforce regext 
+7407 18002200 force 0 ,rega 
+7408 680ac408 fetcht 5 ,mem_le_pcnt_rx 
+7409 204073ad call first_block_data 
+740a 20407425 call do_aes_ctr 
+740b 1800700c force regidx_result ,regext_index 
+740c 1de27e00 deposit regext 
+740d 6002041b store 4 ,mem_le_peer_mic 
+740e 204073d9 call aes_crypt_data 
+740f da6002d9 arg mem_le_rxbuf ,regc 
+7410 204073c1 call generate_mic 
+7411 680a041b fetcht 4 ,mem_le_peer_mic 
+7412 98467e00 isub temp ,pdata 
+7413 247a0000 nrtn blank 
+7414 6802440d fetch 4 ,mem_le_last_mic 
+7415 98467e00 isub temp ,pdata 
+7416 207a0000 rtn blank 
+7417 600a440d storet 4 ,mem_le_last_mic 
+7418 6802c408 fetch 5 ,mem_le_pcnt_rx 
+7419 1fe0fe01 increase 1 ,pdata 
+741a 6002c408 store 5 ,mem_le_pcnt_rx 
+741b 18007e00 force 0 ,pdata 
+741c 20600000 rtn 
+
+wait_aes:
+741d 243bf41d nbranch wait_aes ,aes_ready 
+741e 20600000 rtn 
+
+do_aes_ocb:
+741f 18006c30 force 0x30 ,aes_ctrl 
+7420 18006c00 force 0x0 ,aes_ctrl 
+7421 2020741d branch wait_aes 
+
+do_aes_cbc:
+7422 18006c32 force 0x32 ,aes_ctrl 
+7423 18006c02 force 0x2 ,aes_ctrl 
+7424 2020741d branch wait_aes 
+
+do_aes_ctr:
+7425 18006c34 force 0x34 ,aes_ctrl 
+7426 18006c04 force 0x4 ,aes_ctrl 
+7427 2020741d branch wait_aes 
+
+aes_init:
+7428 18006c01 force 1 ,aes_ctrl 
+7429 18006c00 force 0 ,aes_ctrl 
+742a 20600000 rtn 
+
+function_s1:
+742b 18007000 force regidx_data ,regext_index 
+742c 6802042f fetch 4 ,mem_le_mrand 
+742d 98005e00 iforce regext 
+742e 1f00f001 increase 1 ,regext_index 
+742f e8c20000 ifetch 4 ,contr 
+7430 98005e00 iforce regext 
+7431 1f00f001 increase 1 ,regext_index 
+7432 6802443a fetch 4 ,mem_le_srand 
+7433 98005e00 iforce regext 
+7434 1f00f001 increase 1 ,regext_index 
+7435 e8c20000 ifetch 4 ,contr 
+7436 98005e00 iforce regext 
+7437 1f00f001 increase 1 ,regext_index 
+7438 20407492 call aes_clear 
+7439 1f00f1fc increase -4 ,regext_index 
+743a 680244c7 fetch 4 ,mem_le_tk 
+743b 1fe25e00 copy pdata ,regext 
+743c 1f00f004 increase 4 ,regext_index 
+743d 18006c38 force 0x38 ,aes_ctrl 
+743e 18006c08 force 0x8 ,aes_ctrl 
+743f 2020741d branch wait_aes 
+
+function_c1:
+7440 4771c03c bpatchx patch3c_3 ,mem_patch3c 
+7441 680344a0 fetch 6 ,mem_le_lap 
+7442 680b044f fetcht 6 ,mem_le_plap 
+7443 2034f446 branch function_c1_master ,master 
+7444 6803044f fetch 6 ,mem_le_plap 
+7445 680b44a0 fetcht 6 ,mem_le_lap 
+
+function_c1_master:
+7446 18007008 force regidx_xor ,regext_index 
+7447 18425e00 copy temp ,regext 
+7448 1f00f001 increase 1 ,regext_index 
+7449 184f5e00 rshift32 temp ,regext 
+744a 1ff07e00 lshift16 pdata ,pdata 
+744b 9de1de00 ior regext ,regext 
+744c 1f00f001 increase 1 ,regext_index 
+744d 1fef5e00 rshift32 pdata ,regext 
+744e 1f00f001 increase 1 ,regext_index 
+744f 18005e00 force 0 ,regext 
+7450 18007e00 force 0 ,pdata 
+7451 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+7452 6808c485 fetcht 1 ,mem_le_adv_own_addr_type 
+7453 2434f456 nbranch function_c1_irat ,master 
+7454 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+7455 6808c48e fetcht 1 ,mem_le_conn_peer_addr_type 
+
+function_c1_irat:
+7456 6000c44a store 1 ,mem_le_iat 
+7457 6008c44b storet 1 ,mem_le_rat 
+7458 18007000 force regidx_data ,regext_index 
+7459 da40444a arg mem_le_iat ,regb 
+745a 18007204 force 4 ,loopcnt 
+
+function_c1_loop1:
+745b ea220000 ifetch 4 ,rega 
+745c ea4a0000 ifetcht 4 ,regb 
+745d 9842de00 ixor temp ,regext 
+745e 1f00f001 increase 1 ,regext_index 
+745f 1a20a204 increase 4 ,rega 
+7460 1a40a404 increase 4 ,regb 
+7461 c200745b loop function_c1_loop1 
+7462 20407492 call aes_clear 
+7463 1f00f1fc increase -4 ,regext_index 
+7464 680244c7 fetch 4 ,mem_le_tk 
+7465 1fe25e00 copy pdata ,regext 
+7466 1f00f004 increase 4 ,regext_index 
+7467 18006c38 force 0x38 ,aes_ctrl 
+7468 18006c0c force 0xc ,aes_ctrl 
+7469 2040741d call wait_aes 
+746a 20407491 call aes_clear_data 
+746b 18006c3a force 0x3a ,aes_ctrl 
+746c 18006c08 force 0x8 ,aes_ctrl 
+746d 2020741d branch wait_aes 
+
+padding_data:
+746e 2f200600 compare 0 ,loopcnt ,3 
+746f 20608000 rtn true 
+7470 18c27e00 deposit contr 
+7471 9f208a00 iadd loopcnt ,contw 
+7472 18007e00 force 0 ,pdata 
+
+padding_loop:
+7473 e0a08000 istore 1 ,contw 
+7474 1f20f201 increase 1 ,loopcnt 
+7475 2f200600 compare 0 ,loopcnt ,3 
+7476 20608000 rtn true 
+7477 20207473 branch padding_loop 
+
+aes_load_data:
+7478 18007000 force regidx_data ,regext_index 
+
+load_data_loop:
+7479 1f227e00 deposit loopcnt 
+747a 203a747d branch load_data_padding ,blank 
+747b e8c20000 ifetch 4 ,contr 
+747c 1f20f3fc increase -4 ,loopcnt 
+
+load_data_padding:
+747d 98005e00 iforce regext 
+747e 1f00f001 increase 1 ,regext_index 
+747f 2f001e04 compare regidx_key ,regext_index ,0xf 
+7480 20608000 rtn true 
+7481 20207479 branch load_data_loop 
+
+aes_load_xor:
+7482 18007008 force regidx_xor ,regext_index 
+7483 20207487 branch load_regext 
+
+load_key:
+7484 18007004 force regidx_key ,regext_index 
+7485 20207487 branch load_regext 
+
+load_data128:
+7486 18007000 force regidx_data ,regext_index 
+
+load_regext:
+7487 18007204 force 4 ,loopcnt 
+
+load_regext_loop:
+7488 e8c20000 ifetch 4 ,contr 
+7489 98005e00 iforce regext 
+748a 1f00f001 increase 1 ,regext_index 
+748b c2007488 loop load_regext_loop 
+748c 20600000 rtn 
+
+load_sk:
+748d d8c0047c arg mem_le_sk ,contr 
+748e 20207484 branch load_key 
+
+clear_hidata:
+748f 18007204 force 4 ,loopcnt 
+7490 20207494 branch clear_data_rest 
+
+aes_clear_data:
+7491 18007000 force regidx_data ,regext_index 
+
+aes_clear:
+7492 18007204 force 4 ,loopcnt 
+
+clear_loop:
+7493 18005e00 force 0 ,regext 
+
+clear_data_rest:
+7494 1f00f001 increase 1 ,regext_index 
+7495 c2007493 loop clear_loop 
+7496 20600000 rtn 
+
+store_aes_result:
+7497 1800700c force regidx_result ,regext_index 
+7498 18007204 force 4 ,loopcnt 
+
+send_aes_result_loop:
+7499 1de27e00 deposit regext 
+749a e0a20000 istore 4 ,contw 
+749b 1f00f001 increase 1 ,regext_index 
+749c c2007499 loop send_aes_result_loop 
+749d 20600000 rtn 
+
+store_enc_data:
+749e 1800700c force regidx_result ,regext_index 
+749f 1a620a00 copy regc ,contw 
+74a0 1a40f201 add regb ,1 ,loopcnt 
+74a1 1f267c0f sub loopcnt ,15 ,null 
+74a2 202174a4 branch store_enc_loop ,positive 
+74a3 18007210 force 16 ,loopcnt 
+
+store_enc_loop:
+74a4 1de27e00 deposit regext 
+74a5 1f267c03 sub loopcnt ,3 ,null 
+74a6 202174ac branch store_enc_byte ,positive 
+74a7 e0a20000 istore 4 ,contw 
+74a8 1f20f3fc increase -4 ,loopcnt 
+74a9 20628000 rtn zero 
+74aa 1f00f001 increase 1 ,regext_index 
+74ab 202074a4 branch store_enc_loop 
+
+store_enc_byte:
+74ac e0a08000 istore 1 ,contw 
+74ad 1fecfe00 rshift8 pdata ,pdata 
+74ae c20074ac loop store_enc_byte 
+74af 20600000 rtn 
+
+compare_res:
+74b0 1800700c force regidx_result ,regext_index 
+74b1 18007204 force 4 ,loopcnt 
+
+compare_res_loop:
+74b2 e8c20000 ifetch 4 ,contr 
+74b3 9de67c00 isub regext ,null 
+74b4 24628000 nrtn zero 
+74b5 1f00f001 increase 1 ,regext_index 
+74b6 c20074b2 loop compare_res_loop 
+74b7 18007c00 force 0 ,null 
+74b8 20600000 rtn 
+
+enable_authrom:
+74b9 68108050 hfetch 1 ,core_clkoff 
+74ba 793ffe00 set0 clock_off_auth_rom ,pdata 
+74bb 60108050 hstore 1 ,core_clkoff 
+74bc 20600000 rtn 
+
+disable_authrom:
+74bd 68108050 hfetch 1 ,core_clkoff 
+74be 79207e00 set1 clock_off_auth_rom ,pdata 
+74bf 60108050 hstore 1 ,core_clkoff 
+74c0 20600000 rtn 
+
+init_memp:
+74c1 d8a00886 arg mem_p ,contw 
+74c2 3803ffff setsect 0 ,0x3ffff 
+74c3 3807ffff setsect 1 ,0x3ffff 
+74c4 380bffff setsect 2 ,0x3ffff 
+74c5 380ffbff setsect 3 ,0x3fbff 
+74c6 e0a48000 istore 9 ,contw 
+74c7 3803ffff setsect 0 ,0x3ffff 
+74c8 3807ffff setsect 1 ,0x3ffff 
+74c9 380bffff setsect 2 ,0x3ffff 
+74ca 380fffff setsect 3 ,0x3ffff 
+74cb e0a48000 istore 9 ,contw 
+74cc 3803ffff setsect 0 ,0x3ffff 
+74cd 3807ffff setsect 1 ,0x3ffff 
+74ce 380bcfff setsect 2 ,0x3cfff 
+74cf 380fffff setsect 3 ,0x3ffff 
+74d0 e0a48000 istore 9 ,contw 
+74d1 3803ffff setsect 0 ,0x3ffff 
+74d2 3807ffff setsect 1 ,0x3ffff 
+74d3 380bffef setsect 2 ,0x3ffef 
+74d4 380fffff setsect 3 ,0x3ffff 
+74d5 e0a48000 istore 9 ,contw 
+74d6 3803ffff setsect 0 ,0x3ffff 
+74d7 3807ffff setsect 1 ,0x3ffff 
+74d8 380bffff setsect 2 ,0x3ffff 
+74d9 380fffff setsect 3 ,0x3ffff 
+74da e0a48000 istore 9 ,contw 
+74db 3803ffff setsect 0 ,0x3ffff 
+74dc 38066c7f setsect 1 ,0x26c7f 
+74dd 3808146b setsect 2 ,0x146b 
+74de 380f7bb3 setsect 3 ,0x37bb3 
+74df e0a48000 istore 9 ,contw 
+74e0 3801feb8 setsect 0 ,0x1feb8 
+74e1 38050c12 setsect 1 ,0x10c12 
+74e2 380ab722 setsect 2 ,0x2b722 
+74e3 380e9fa6 setsect 3 ,0x29fa6 
+74e4 e0a48000 istore 9 ,contw 
+74e5 3800e70f setsect 0 ,0xe70f 
+74e6 38056720 setsect 1 ,0x16720 
+74e7 3808519e setsect 2 ,0x519e 
+74e8 380d9084 setsect 3 ,0x19084 
+74e9 e0a48000 istore 9 ,contw 
+74ea 38031012 setsect 0 ,0x31012 
+74eb 380760bf setsect 1 ,0x360bf 
+74ec 380bf0af setsect 2 ,0x3f0af 
+74ed 380c03d3 setsect 3 ,0x3d3 
+74ee e0a48000 istore 9 ,contw 
+74ef 3803a188 setsect 0 ,0x3a188 
+74f0 38043ad0 setsect 1 ,0x3ad0 
+74f1 380bcbf2 setsect 2 ,0x3cbf2 
+74f2 380e43d9 setsect 3 ,0x243d9 
+74f3 e0a48000 istore 9 ,contw 
+74f4 3802b030 setsect 0 ,0x2b030 
+74f5 38076a03 setsect 1 ,0x36a03 
+74f6 38091188 setsect 2 ,0x11188 
+74f7 380de520 setsect 3 ,0x1e520 
+74f8 e0a48000 istore 9 ,contw 
+74f9 3803a11e setsect 0 ,0x3a11e 
+74fa 3804fe5d setsect 1 ,0xfe5d 
+74fb 3808dd57 setsect 2 ,0xdd57 
+74fc 380dac93 setsect 3 ,0x1ac93 
+74fd e0a48000 istore 9 ,contw 
+74fe 380011ed setsect 0 ,0x11ed 
+74ff 380618c4 setsect 1 ,0x218c4 
+7500 38088da7 setsect 2 ,0x8da7 
+7501 380e57ff setsect 3 ,0x257ff 
+7502 e0a48000 istore 9 ,contw 
+7503 3803192b setsect 0 ,0x3192b 
+7504 38074641 setsect 1 ,0x34641 
+7505 3809be0c setsect 2 ,0x1be0c 
+7506 380f66ad setsect 3 ,0x366ad 
+7507 e0a48000 istore 9 ,contw 
+7508 38001f83 setsect 0 ,0x1f83 
+7509 38055a23 setsect 1 ,0x15a23 
+750a 380bf9b0 setsect 2 ,0x3f9b0 
+750b 380c3949 setsect 3 ,0x3949 
+750c e0a48000 istore 9 ,contw 
+750d 38013a51 setsect 0 ,0x13a51 
+750e 380553fd setsect 1 ,0x153fd 
+750f 380b372a setsect 2 ,0x3372a 
+7510 380cf1bb setsect 3 ,0xf1bb 
+7511 e0a48000 istore 9 ,contw 
+7512 3803ae85 setsect 0 ,0x3ae85 
+7513 3805eed9 setsect 1 ,0x1eed9 
+7514 38089e66 setsect 2 ,0x9e66 
+7515 380c01a8 setsect 3 ,0x1a8 
+7516 e0a40000 istore 8 ,contw 
+7517 20600000 rtn 
+
+init_memp_256:
+7518 d8a0091e arg mem_p_256 ,contw 
+7519 3803ffff setsect 0 ,0x3ffff 
+751a 3807ffff setsect 1 ,0x3ffff 
+751b 380bffff setsect 2 ,0x3ffff 
+751c 380fffff setsect 3 ,0x3ffff 
+751d e0a48000 istore 9 ,contw 
+751e 3803ffff setsect 0 ,0x3ffff 
+751f 3804003f setsect 1 ,0x3f 
+7520 38080000 setsect 2 ,0x0 
+7521 380c0000 setsect 3 ,0x0 
+7522 e0a48000 istore 9 ,contw 
+7523 38000000 setsect 0 ,0x0 
+7524 38040000 setsect 1 ,0x0 
+7525 38081000 setsect 2 ,0x1000 
+7526 380c0000 setsect 3 ,0x0 
+7527 e0a48000 istore 9 ,contw 
+7528 3803ff00 setsect 0 ,0x3ff00 
+7529 3807ffff setsect 1 ,0x3ffff 
+752a 380bffcf setsect 2 ,0x3ffcf 
+752b 380fffff setsect 3 ,0x3ffff 
+752c e0a48000 istore 9 ,contw 
+752d 3803ffff setsect 0 ,0x3ffff 
+752e 3807ffff setsect 1 ,0x3ffff 
+752f 380bffff setsect 2 ,0x3ffff 
+7530 380c03ff setsect 3 ,0x3ff 
+7531 e0a48000 istore 9 ,contw 
+7532 38000000 setsect 0 ,0x0 
+7533 38040000 setsect 1 ,0x0 
+7534 38080000 setsect 2 ,0x0 
+7535 380c0000 setsect 3 ,0x0 
+7536 e0a48000 istore 9 ,contw 
+7537 38010000 setsect 0 ,0x10000 
+7538 38040000 setsect 1 ,0x0 
+7539 380bf000 setsect 2 ,0x3f000 
+753a 380fffff setsect 3 ,0x3ffff 
+753b e0a48000 istore 9 ,contw 
+753c 380296ff setsect 0 ,0x296ff 
+753d 38062630 setsect 1 ,0x22630 
+753e 380b945d setsect 2 ,0x3945d 
+753f 380fd284 setsect 3 ,0x3d284 
+7540 e0a48000 istore 9 ,contw 
+7541 380333a0 setsect 0 ,0x333a0 
+7542 38044b7a setsect 1 ,0x4b7a 
+7543 380837d8 setsect 2 ,0x37d8 
+7544 380fc9dc setsect 3 ,0x3c9dc 
+7545 e0a48000 istore 9 ,contw 
+7546 3803a440 setsect 0 ,0x3a440 
+7547 3805b958 setsect 1 ,0x1b958 
+7548 380b8bce setsect 2 ,0x38bce 
+7549 380d091f setsect 3 ,0x1091f 
+754a e0a48000 istore 9 ,contw 
+754b 3802e12c setsect 0 ,0x2e12c 
+754c 3805f47c setsect 1 ,0x1f47c 
+754d 380b56b1 setsect 2 ,0x356b1 
+754e 380efd47 setsect 3 ,0x2fd47 
+754f e0a48000 istore 9 ,contw 
+7550 38006837 setsect 0 ,0x6837 
+7551 3806ed90 setsect 1 ,0x2ed90 
+7552 3809ecec setsect 2 ,0x1ecec 
+7553 380dacc5 setsect 3 ,0x1acc5 
+7554 e0a48000 istore 9 ,contw 
+7555 38023357 setsect 0 ,0x23357 
+7556 38058af3 setsect 1 ,0x18af3 
+7557 3808f9e1 setsect 2 ,0xf9e1 
+7558 380d29f0 setsect 3 ,0x129f0 
+7559 e0a48000 istore 9 ,contw 
+755a 3802e7eb setsect 0 ,0x2e7eb 
+755b 3807e6e3 setsect 1 ,0x3e6e3 
+755c 380be1a7 setsect 2 ,0x3e1a7 
+755d 380d0b8b setsect 3 ,0x10b8b 
+755e e0a48000 istore 9 ,contw 
+755f 38024fe3 setsect 0 ,0x24fe3 
+7560 380420ef setsect 1 ,0x20ef 
+7561 3809b5a6 setsect 2 ,0x1b5a6 
+7562 380cdc2f setsect 3 ,0xdc2f 
+7563 e0a48000 istore 9 ,contw 
+7564 38013860 setsect 0 ,0x13860 
+7565 3806bd69 setsect 1 ,0x2bd69 
+7566 3808391a setsect 2 ,0x391a 
+7567 380db222 setsect 3 ,0x1b222 
+7568 e0a48000 istore 9 ,contw 
+7569 20600000 rtn 
+
+publickey_init:
+756a 6800c65a fetch 1 ,mem_ssp_enable 
+756b 243a757d nbranch sp_initialize ,blank 
+756c 20207a77 branch sp_initialize_256 
+
+sp_calc_sequence_256_check:
+756d 4772403c bpatchx patch3c_4 ,mem_patch3c 
+756e 6800c65a fetch 1 ,mem_ssp_enable 
+756f 207a0000 rtn blank 
+7570 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+7571 c1808000 rtnne sp_key_valid 
+7572 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7573 207a0000 rtn blank 
+7574 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7575 c1018000 rtneq sp_key_valid_256 
+7576 68014682 fetch 2 ,mem_ui_state_map 
+7577 c280757b bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+7578 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7579 c0007a77 beq sp_calc_standby ,sp_initialize_256 
+757a 20600000 rtn 
+
+stop_publickey_calc_256:
+757b 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+757c 20600000 rtn 
+
+sp_initialize:
+757d 4772c03c bpatchx patch3c_5 ,mem_patch3c 
+757e 6800c65a fetch 1 ,mem_ssp_enable 
+757f 203a612b branch ssp_disable ,blank 
+7580 20406124 call ssp_enable 
+7581 20407583 call sp_clear_flags 
+7582 2020766d branch sp_pubkey_calc 
+
+sp_clear_flags:
+7583 58000000 setarg 0 
+7584 600409ae store 8 ,mem_sp_state_start 
+7585 600209b6 store 4 ,mem_sp_flag_start 
+7586 6003c65e store 7 ,mem_sp_iocap_remote 
+7587 20600000 rtn 
+
+sp_generate_local_key:
+7588 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7589 2020758d branch sp_generate_local_key0 
+
+sp_master_generate_local_key:
+758a 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758b c000f68a beq sp_key_valid ,sp_dhkey_calc 
+758c 20202a8c branch assert 
+
+sp_generate_local_key0:
+758d 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758e c000f590 beq sp_key_valid ,sp_start_send_pubkey 
+758f 2020766d branch sp_pubkey_calc 
+
+sp_start_send_pubkey:
+7590 2040768a call sp_dhkey_calc 
+7591 680089af fetch 1 ,mem_master_sp_state 
+7592 247a0000 nrtn blank 
+7593 7009ae03 jam sp_stat_key_send ,mem_sp_state 
+7594 20600000 rtn 
+
+sp_calc_check_publickey_256:
+7595 204075b0 call sp_calc_b256 
+7596 da2009de arg mem_le_pubkey_remote_y_256 ,rega 
+7597 d8a00866 arg mem_t7_256 ,contw 
+7598 20407c79 call bn_sqrmod_256 
+7599 da2009be arg mem_le_pubkey_remote_x_256 ,rega 
+759a d8a00826 arg mem_t2_256 ,contw 
+759b 20407c79 call bn_sqrmod_256 
+759c da200826 arg mem_t2_256 ,rega 
+759d da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+759e d8a00826 arg mem_t2_256 ,contw 
+759f 20407be1 call bn_mulmod_256 
+75a0 da20093e arg mem_a_256 ,rega 
+75a1 da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+75a2 d8a00846 arg mem_t3_256 ,contw 
+75a3 20407be1 call bn_mulmod_256 
+75a4 da200846 arg mem_t3_256 ,rega 
+75a5 da400826 arg mem_t2_256 ,regb 
+75a6 d8a00826 arg mem_t2_256 ,contw 
+75a7 20407c7d call bn_addmod_256 
+75a8 da200806 arg mem_t0_256 ,rega 
+75a9 da400826 arg mem_t2_256 ,regb 
+75aa d8a00806 arg mem_t0_256 ,contw 
+75ab 20407c7d call bn_addmod_256 
+75ac df200020 arg 32 ,loopcnt 
+75ad da200866 arg mem_t7_256 ,rega 
+75ae da400806 arg mem_t0_256 ,regb 
+75af 20207f88 branch string_compare 
+
+sp_calc_b256:
+75b0 da20097e arg mem_gy_256 ,rega 
+75b1 d8a00806 arg mem_t0_256 ,contw 
+75b2 20407c79 call bn_sqrmod_256 
+75b3 da20095e arg mem_gx_256 ,rega 
+75b4 d8a00826 arg mem_t2_256 ,contw 
+75b5 20407c79 call bn_sqrmod_256 
+75b6 da200826 arg mem_t2_256 ,rega 
+75b7 da40095e arg mem_gx_256 ,regb 
+75b8 d8a00826 arg mem_t2_256 ,contw 
+75b9 20407be1 call bn_mulmod_256 
+75ba da20093e arg mem_a_256 ,rega 
+75bb da40095e arg mem_gx_256 ,regb 
+75bc d8a00846 arg mem_t3_256 ,contw 
+75bd 20407be1 call bn_mulmod_256 
+75be da200846 arg mem_t3_256 ,rega 
+75bf da400826 arg mem_t2_256 ,regb 
+75c0 d8a00826 arg mem_t2_256 ,contw 
+75c1 20407c7d call bn_addmod_256 
+75c2 da200806 arg mem_t0_256 ,rega 
+75c3 da400826 arg mem_t2_256 ,regb 
+75c4 d8a00806 arg mem_t0_256 ,contw 
+75c5 20207c96 branch bn_submod_256 
+
+sp_calc_check_publickey:
+75c6 204075e1 call sp_calc_b 
+75c7 da2009e6 arg mem_sp_pubkey_remote_y ,rega 
+75c8 d8a00866 arg mem_t7_256 ,contw 
+75c9 204077a8 call bn_sqrmod 
+75ca da2009c6 arg mem_sp_pubkey_remote_x ,rega 
+75cb d8a00826 arg mem_t2_256 ,contw 
+75cc 204077a8 call bn_sqrmod 
+75cd da200826 arg mem_t2_256 ,rega 
+75ce da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75cf d8a00826 arg mem_t2_256 ,contw 
+75d0 20407786 call bn_mulmod 
+75d1 da20089e arg mem_a ,rega 
+75d2 da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75d3 d8a00846 arg mem_t3_256 ,contw 
+75d4 20407786 call bn_mulmod 
+75d5 da200846 arg mem_t3_256 ,rega 
+75d6 da400826 arg mem_t2_256 ,regb 
+75d7 d8a00826 arg mem_t2_256 ,contw 
+75d8 20407755 call bn_addmod 
+75d9 da200806 arg mem_t0_256 ,rega 
+75da da400826 arg mem_t2_256 ,regb 
+75db d8a00806 arg mem_t0_256 ,contw 
+75dc 20407755 call bn_addmod 
+75dd df200018 arg 24 ,loopcnt 
+75de da200866 arg mem_t7_256 ,rega 
+75df da400806 arg mem_t0_256 ,regb 
+75e0 20207f88 branch string_compare 
+
+sp_calc_b:
+75e1 da2008e6 arg mem_gy ,rega 
+75e2 d8a00806 arg mem_t0_256 ,contw 
+75e3 204077a8 call bn_sqrmod 
+75e4 da2008ce arg mem_gx ,rega 
+75e5 d8a00826 arg mem_t2_256 ,contw 
+75e6 204077a8 call bn_sqrmod 
+75e7 da200826 arg mem_t2_256 ,rega 
+75e8 da4008ce arg mem_gx ,regb 
+75e9 d8a00826 arg mem_t2_256 ,contw 
+75ea 20407786 call bn_mulmod 
+75eb da20089e arg mem_a ,rega 
+75ec da4008ce arg mem_gx ,regb 
+75ed d8a00846 arg mem_t3_256 ,contw 
+75ee 20407786 call bn_mulmod 
+75ef da200846 arg mem_t3_256 ,rega 
+75f0 da400826 arg mem_t2_256 ,regb 
+75f1 d8a00826 arg mem_t2_256 ,contw 
+75f2 20407755 call bn_addmod 
+75f3 da200806 arg mem_t0_256 ,rega 
+75f4 da400826 arg mem_t2_256 ,regb 
+75f5 d8a00806 arg mem_t0_256 ,contw 
+75f6 20207758 branch bn_submod 
+
+sp_calculate_commitment:
+75f7 680089b2 fetch 1 ,mem_sp_calc 
+75f8 c0807615 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+75f9 20407612 call sp_local_random_key_generator 
+75fa d8a00a7e arg mem_sp_prarm_stack ,contw 
+75fb 58000a2e setarg mem_sp_random_local_end 
+75fc e0a10000 istore 2 ,contw 
+75fd 58004642 setarg mem_sp_pubkey_local_x_end 
+75fe e0a10000 istore 2 ,contw 
+75ff 580009de setarg mem_sp_pubkey_remote_x_end 
+7600 e0a10000 istore 2 ,contw 
+7601 20207609 branch sp_calculate_commitment0 
+
+master_sp_calculate_commitment:
+7602 d8a00a7e arg mem_sp_prarm_stack ,contw 
+7603 58000a3e setarg mem_sp_random_remote_end 
+7604 e0a10000 istore 2 ,contw 
+7605 580009de setarg mem_sp_pubkey_remote_x_end 
+7606 e0a10000 istore 2 ,contw 
+7607 58004642 setarg mem_sp_pubkey_local_x_end 
+7608 e0a10000 istore 2 ,contw 
+
+sp_calculate_commitment0:
+7609 204079a0 call function_f1 
+760a 680089af fetch 1 ,mem_master_sp_state 
+760b c002760f beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+760c 7009b001 jam sp_flag_commit ,mem_sp_flag 
+760d 7009ae05 jam sp_stat_commit_send ,mem_sp_state 
+760e 20600000 rtn 
+
+master_sp_calculate_commitment0:
+760f 7009af14 jam sp_stat_commitment_compare ,mem_master_sp_state 
+7610 2040758a call sp_master_generate_local_key 
+7611 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+7612 d8a00a1e arg mem_sp_random_local ,contw 
+7613 18000e08 force 8 ,queue 
+7614 202076a2 branch random_generator 
+
+sp_calculate_commitment_wait_dhkey_calc:
+7615 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7616 20600000 rtn 
+
+sp_confirm_check:
+7617 4773403c bpatchx patch3c_6 ,mem_patch3c 
+7618 d8a00727 arg mem_addr_value ,contw 
+7619 680340a0 fetch 6 ,mem_lap 
+761a e0a30000 istore 6 ,contw 
+761b 68030040 fetch 6 ,mem_plap 
+761c e0a30000 istore 6 ,contw 
+761d 6801c65e fetch 3 ,mem_sp_iocap_remote 
+761e e0a18000 istore 3 ,contw 
+761f 20407a0d call function_f3a 
+7620 da200a4e arg mem_sp_calc_result_high ,rega 
+7621 da400a5e arg mem_sp_check_result ,regb 
+7622 18000e04 force 4 ,queue 
+7623 204076a7 call compare4 
+7624 2420f631 nbranch sp_confirm_check_failed ,true 
+7625 20407628 call sp_confirm_check_success 
+7626 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7627 202062f8 branch tid_set_reply 
+
+sp_confirm_check_success:
+7628 680089af fetch 1 ,mem_master_sp_state 
+7629 c004f62e beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+762a 7009ae0a jam sp_stat_confirm_calc ,mem_sp_state 
+762b 7009b001 jam sp_flag_commit ,mem_sp_flag 
+762c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762d 20600000 rtn 
+
+sp_confirm_check_success_master:
+762e 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762f 7009af15 jam sp_state_end ,mem_master_sp_state 
+7630 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_check_failed:
+7631 680089af fetch 1 ,mem_master_sp_state 
+7632 c004f637 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+7633 7009ae00 jam sp_stat_null ,mem_sp_state 
+7634 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7635 70007e05 jam authentication_failure_error ,mem_lmo_reason2 
+7636 20600000 rtn 
+
+sp_confirm_check_failed_master:
+7637 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7638 7009af00 jam sp_stat_null ,mem_master_sp_state 
+7639 20600000 rtn 
+
+sp_confirm_calc:
+763a 680089b3 fetch 1 ,mem_sp_dh_ready 
+763b c000f63e beq sp_flag_commit ,sp_confirm_calc_ready 
+763c 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+763d 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_calc_ready:
+763e d8a00727 arg mem_addr_value ,contw 
+763f 68030040 fetch 6 ,mem_plap 
+7640 e0a30000 istore 6 ,contw 
+7641 680340a0 fetch 6 ,mem_lap 
+7642 e0a30000 istore 6 ,contw 
+7643 6801c65b fetch 3 ,mem_sp_iocap_local 
+7644 e0a18000 istore 3 ,contw 
+7645 20407a24 call function_f3b 
+7646 680089af fetch 1 ,mem_master_sp_state 
+7647 c005764b beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+7648 7009ae0b jam sp_stat_confirm_send ,mem_sp_state 
+7649 7009b001 jam sp_flag_commit ,mem_sp_flag 
+764a 20600000 rtn 
+
+sp_confirm_calc_master:
+764b 7009af0b jam sp_stat_confirm_send ,mem_master_sp_state 
+764c 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+764d 20600000 rtn 
+
+sp_master_key_prarm_push:
+764e d8a00a7e arg mem_sp_prarm_stack ,contw 
+764f 68030040 fetch 6 ,mem_plap 
+7650 e0a30000 istore 6 ,contw 
+7651 680340a0 fetch 6 ,mem_lap 
+7652 e0a30000 istore 6 ,contw 
+7653 58000a2e setarg mem_sp_random_local_end 
+7654 e0a10000 istore 2 ,contw 
+7655 58000a3e setarg mem_sp_random_remote_end 
+7656 e0a10000 istore 2 ,contw 
+7657 20207662 branch sp_link_key_calc 
+
+sp_link_key_prarm_push:
+7658 7009ae0f jam sp_stat_done ,mem_sp_state 
+7659 d8a00a7e arg mem_sp_prarm_stack ,contw 
+765a 680340a0 fetch 6 ,mem_lap 
+765b e0a30000 istore 6 ,contw 
+765c 68030040 fetch 6 ,mem_plap 
+765d e0a30000 istore 6 ,contw 
+765e 58000a3e setarg mem_sp_random_remote_end 
+765f e0a10000 istore 2 ,contw 
+7660 58000a2e setarg mem_sp_random_local_end 
+7661 e0a10000 istore 2 ,contw 
+
+sp_link_key_calc:
+7662 d8a00727 arg mem_addr_value ,contw 
+7663 68030a7e fetch 6 ,mem_sp_prarm_stack 
+7664 e0a30000 istore 6 ,contw 
+7665 68030a84 fetch 6 ,mem_sp_prarm_stack + 6 
+7666 e0a30000 istore 6 ,contw 
+7667 204079d7 call function_f2 
+7668 7041bd01 jam 1 ,mem_link_key_exists 
+7669 d8a041be arg mem_link_key ,contw 
+766a d8c00a4e arg mem_sp_calc_result_high ,contr 
+766b 20407ebf call memcpy16 
+766c 202021c4 branch generate_linkkey_continue 
+
+sp_pubkey_calc:
+766d 4773c03c bpatchx patch3c_7 ,mem_patch3c 
+766e 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+766f c1800000 rtnne sp_key_invalid 
+7670 680089b2 fetch 1 ,mem_sp_calc 
+7671 c1800000 rtnne sp_calc_standby 
+7672 d8a04612 arg mem_sp_private_key ,contw 
+7673 18000e0b force 11 ,queue 
+7674 204076a2 call random_generator 
+7675 180a7e00 random pdata 
+7676 1fe37e00 rshift pdata ,pdata 
+7677 e0a10000 istore 2 ,contw 
+7678 d8a006be arg mem_k ,contw 
+7679 d8c04612 arg mem_sp_private_key ,contr 
+767a 20407ebe call memcpy24 
+767b d8a005e6 arg mem_ax ,contw 
+767c d8c008ce arg mem_gx ,contr 
+767d 20407ebc call memcpy48 
+767e d8a00616 arg mem_az ,contw 
+767f 20407ec5 call bn_zero 
+7680 70061601 jam 1 ,mem_az 
+7681 20407a5d call eckp_calc_init 
+7682 7009b201 jam sp_calc_pubkey ,mem_sp_calc 
+7683 20600000 rtn 
+
+sp_pubkey_generated:
+7684 d8a0462a arg mem_sp_pubkey_local ,contw 
+7685 d8c0062e arg mem_bx ,contr 
+7686 20407ebc call memcpy48 
+7687 7045b101 jam sp_key_valid ,mem_sp_local_key_invalid 
+7688 7009b200 jam sp_calc_standby ,mem_sp_calc 
+7689 20600000 rtn 
+
+sp_dhkey_calc:
+768a 4774403d bpatchx patch3d_0 ,mem_patch3d 
+768b 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+768c c1800000 rtnne sp_key_invalid 
+768d 680089b2 fetch 1 ,mem_sp_calc 
+768e c1800000 rtnne sp_calc_standby 
+768f d8a006be arg mem_k ,contw 
+7690 d8c04612 arg mem_sp_private_key ,contr 
+7691 20407ebe call memcpy24 
+7692 d8a005e6 arg mem_ax ,contw 
+7693 d8c009c6 arg mem_sp_pubkey_remote ,contr 
+7694 20407ebc call memcpy48 
+7695 d8a00616 arg mem_az ,contw 
+7696 20407ec5 call bn_zero 
+7697 70061601 jam 1 ,mem_az 
+7698 20407a5d call eckp_calc_init 
+7699 7009b202 jam sp_calc_dhkey ,mem_sp_calc 
+769a 20600000 rtn 
+
+sp_dhkey_generated:
+769b 7009b301 jam sp_flag_commit ,mem_sp_dh_ready 
+769c d8a00a06 arg mem_sp_dhkey ,contw 
+769d d8c0062e arg mem_bx ,contr 
+769e 20407ebe call memcpy24 
+769f 7009b901 jam sp_key_valid ,mem_sp_dhkey_invalid 
+76a0 7009b200 jam sp_calc_standby ,mem_sp_calc 
+76a1 20600000 rtn 
+
+random_generator:
+76a2 18e08fff increase -1 ,queue 
+76a3 24610000 nrtn positive 
+76a4 180a7e00 random pdata 
+76a5 e0a10000 istore 2 ,contw 
+76a6 202076a2 branch random_generator 
+
+compare4:
+76a7 18e08fff increase -1 ,queue 
+76a8 242176b3 nbranch compare4_success ,positive 
+76a9 ea220000 ifetch 4 ,rega 
+76aa 1fe20400 copy pdata ,temp 
+76ab ea420000 ifetch 4 ,regb 
+76ac 9842fe00 iflip temp ,pdata 
+76ad 2422f6b1 nbranch compare4_failed ,zero 
+76ae 1a20a204 increase 4 ,rega 
+76af 1a40a404 increase 4 ,regb 
+76b0 202076a7 branch compare4 
+
+compare4_failed:
+76b1 7840fc00 disable true 
+76b2 20600000 rtn 
+
+compare4_success:
+76b3 7820fc00 enable true 
+76b4 20600000 rtn 
+
+simple_pairing_sequence:
+76b5 4774c03d bpatchx patch3d_1 ,mem_patch3d 
+76b6 680089b0 fetch 1 ,mem_sp_flag 
+76b7 207a0000 rtn blank 
+76b8 204062bc call lmo_fifo_check 
+76b9 247a0000 nrtn blank 
+76ba 7009b000 jam sp_flag_standby ,mem_sp_flag 
+76bb 680089ae fetch 1 ,mem_sp_state 
+76bc c001e1fd beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+76bd c002e21a beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+76be c003e225 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+76bf c005e23a beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+76c0 c0017588 beq sp_stat_key_generate ,sp_generate_local_key 
+76c1 c00275f7 beq sp_stat_commit_calc ,sp_calculate_commitment 
+76c2 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76c3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76c4 c0067658 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+76c5 20600000 rtn 
+
+master_simple_paring_sequence:
+76c6 4775403d bpatchx patch3d_2 ,mem_patch3d 
+76c7 680089b1 fetch 1 ,mem_master_sp_flag 
+76c8 207a0000 rtn blank 
+76c9 204062bc call lmo_fifo_check 
+76ca 247a0000 nrtn blank 
+76cb 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76cc 680089af fetch 1 ,mem_master_sp_state 
+76cd c00961e0 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+76ce c009e1e5 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+76cf c001e1e9 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+76d0 c0027602 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+76d1 c00a61ed beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+76d2 c003e1fb beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+76d3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76d4 c005e239 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+76d5 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76d6 c00ae233 beq sp_state_end ,master_sp_sm_end 
+76d7 20600000 rtn 
+
+master_set_mem_master_sp_flag:
+76d8 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+76d9 20600000 rtn 
+
+master_clear_mem_master_sp_flag:
+76da 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76db 20600000 rtn 
+
+sp_calc_sequence:
+76dc 4775c03d bpatchx patch3d_3 ,mem_patch3d 
+76dd 6800c65a fetch 1 ,mem_ssp_enable 
+76de 207a0000 rtn blank 
+76df 680089b2 fetch 1 ,mem_sp_calc 
+76e0 207a0000 rtn blank 
+76e1 1fe0fe80 increase 0x80 ,pdata 
+76e2 600089b2 store 1 ,mem_sp_calc 
+76e3 c3838000 rtnbit1 7 
+76e4 680085e3 fetch 1 ,mem_ec_loopc 
+76e5 203a76e7 branch sp_calc_sequence_done ,blank 
+76e6 20207a68 branch eckp_calc 
+
+sp_calc_sequence_done:
+76e7 204078d3 call ecunmapz 
+76e8 680089b2 fetch 1 ,mem_sp_calc 
+76e9 c000f684 beq sp_calc_pubkey ,sp_pubkey_generated 
+76ea c001769b beq sp_calc_dhkey ,sp_dhkey_generated 
+76eb 20600000 rtn 
+
+bn_testbit:
+76ec 1fe10e07 and pdata ,7 ,queue 
+76ed 1fe97e00 rshift3 pdata ,pdata 
+76ee 98c08c00 iadd contr ,contr 
+76ef e8c08000 ifetch 1 ,contr 
+76f0 afec0000 qisolate0 pdata 
+76f1 20600000 rtn 
+
+ec_copy:
+76f2 20407ebe call memcpy24 
+76f3 20407ebe call memcpy24 
+76f4 20207ebe branch memcpy24 
+
+bn_eq_zero:
+76f5 e8c40000 ifetch 8 ,contr 
+76f6 247a0000 nrtn blank 
+76f7 e8c40000 ifetch 8 ,contr 
+76f8 247a0000 nrtn blank 
+76f9 e8c40000 ifetch 8 ,contr 
+76fa 20600000 rtn 
+
+bn_eq_0:
+76fb ea220000 ifetch 4 ,rega 
+76fc 98000400 iforce temp 
+76fd ea420000 ifetch 4 ,regb 
+76fe 98467c00 isub temp ,null 
+76ff 24628000 nrtn zero 
+7700 1a20a204 increase 4 ,rega 
+7701 1a40a404 increase 4 ,regb 
+7702 c20076fb loop bn_eq_0 
+7703 20600000 rtn 
+
+bn_bigeq:
+7704 18007206 force 6 ,loopcnt 
+7705 1a20a214 increase 20 ,rega 
+7706 1a40a414 increase 20 ,regb 
+
+bn_bigeq_0:
+7707 ea420000 ifetch 4 ,regb 
+7708 98000400 iforce temp 
+7709 ea220000 ifetch 4 ,rega 
+770a 98467e00 isub temp ,pdata 
+770b 24610000 nrtn positive 
+770c 247a0000 nrtn blank 
+770d 1a20a3fc increase -4 ,rega 
+770e 1a40a5fc increase -4 ,regb 
+770f c2007707 loop bn_bigeq_0 
+7710 20600000 rtn 
+
+bn_add:
+7711 18007206 force 6 ,loopcnt 
+7712 18002600 force 0 ,regc 
+
+bn_add_0:
+7713 ea220000 ifetch 4 ,rega 
+7714 98000400 iforce temp 
+7715 ea420000 ifetch 4 ,regb 
+7716 9840fe00 iadd temp ,pdata 
+7717 9a60fe00 iadd regc ,pdata 
+7718 e0a20000 istore 4 ,contw 
+7719 2feffe20 isolate1 32 ,pdata 
+771a 7920a600 setflag true ,0 ,regc 
+771b 1a20a204 increase 4 ,rega 
+771c 1a40a404 increase 4 ,regb 
+771d c2007713 loop bn_add_0 
+771e 20600000 rtn 
+
+bn_sub:
+771f 18007206 force 6 ,loopcnt 
+7720 18002600 force 0 ,regc 
+
+bn_sub_0:
+7721 ea420000 ifetch 4 ,regb 
+7722 98000400 iforce temp 
+7723 ea220000 ifetch 4 ,rega 
+7724 98467e00 isub temp ,pdata 
+7725 9a667e00 isub regc ,pdata 
+7726 e0a20000 istore 4 ,contw 
+7727 2feffe20 isolate1 32 ,pdata 
+7728 7920a600 setflag true ,0 ,regc 
+7729 1a20a204 increase 4 ,rega 
+772a 1a40a404 increase 4 ,regb 
+772b c2007721 loop bn_sub_0 
+772c 20600000 rtn 
+
+bn_rshift6:
+772d 18007206 force 6 ,loopcnt 
+772e 1a20a214 increase 20 ,rega 
+
+bn_rshift:
+772f 18002600 force 0 ,regc 
+
+bn_rshift_0:
+7730 ea220000 ifetch 4 ,rega 
+7731 2feffe00 isolate1 0 ,pdata 
+7732 7920a601 setflag true ,1 ,regc 
+7733 1fe37e00 rshift pdata ,pdata 
+7734 2a6ffe00 isolate1 0 ,regc 
+7735 7920fe1f setflag true ,31 ,pdata 
+7736 e2220000 istore 4 ,rega 
+7737 1a20a3fc increase -4 ,rega 
+7738 1a632600 rshift regc ,regc 
+7739 c2007730 loop bn_rshift_0 
+773a 20600000 rtn 
+
+bn_lshift:
+773b 18007206 force 6 ,loopcnt 
+773c 18002600 force 0 ,regc 
+
+bn_lshift_0:
+773d ea220000 ifetch 4 ,rega 
+773e 2feffe1f isolate1 31 ,pdata 
+773f 7920a601 setflag true ,1 ,regc 
+7740 1fe3fe00 lshift pdata ,pdata 
+7741 2a6ffe00 isolate1 0 ,regc 
+7742 7920fe00 setflag true ,0 ,pdata 
+7743 e2220000 istore 4 ,rega 
+7744 1a20a204 increase 4 ,rega 
+7745 1a632600 rshift regc ,regc 
+7746 c200773d loop bn_lshift_0 
+7747 20600000 rtn 
+
+bn_lshiftmod:
+7748 2040773b call bn_lshift 
+
+bn_lshiftmod_ismod:
+7749 2a6ffe00 isolate1 0 ,regc 
+774a 2020f751 branch bn_lshiftmod_0 ,true 
+774b da400886 arg mem_p ,regb 
+774c 1a222600 copy rega ,regc 
+774d 1a20a3e8 increase -24 ,rega 
+774e 20407704 call bn_bigeq 
+774f 24610000 nrtn positive 
+7750 1a622200 copy regc ,rega 
+
+bn_lshiftmod_0:
+7751 1a20a3e8 increase -24 ,rega 
+7752 da400886 arg mem_p ,regb 
+7753 1a220a00 copy rega ,contw 
+7754 2020771f branch bn_sub 
+
+bn_addmod:
+7755 20407711 call bn_add 
+7756 18a22200 copy contw ,rega 
+7757 20207749 branch bn_lshiftmod_ismod 
+
+bn_submod:
+7758 2040771f call bn_sub 
+7759 2a6c0000 isolate0 0 ,regc 
+775a 20608000 rtn true 
+775b da400886 arg mem_p ,regb 
+775c 18a0a3e8 add contw ,-24 ,rega 
+775d 1a220a00 copy rega ,contw 
+775e 20207711 branch bn_add 
+
+bn_p192mod:
+775f 18a21600 copy contw ,timeup 
+7760 1a226000 copy rega ,alarm 
+7761 da400716 arg mem_tmp2 ,regb 
+7762 1a420a00 copy regb ,contw 
+7763 1a208c18 add rega ,24 ,contr 
+7764 e8c40000 ifetch 8 ,contr 
+7765 e0a40000 istore 8 ,contw 
+7766 e0a40000 istore 8 ,contw 
+7767 18007e00 force 0 ,pdata 
+7768 e0a40000 istore 8 ,contw 
+7769 19620a00 copy timeup ,contw 
+776a 20407755 call bn_addmod 
+776b da400716 arg mem_tmp2 ,regb 
+776c 1a420a00 copy regb ,contw 
+776d 18007e00 force 0 ,pdata 
+776e e0a40000 istore 8 ,contw 
+776f 1e008c20 add alarm ,32 ,contr 
+7770 e8c40000 ifetch 8 ,contr 
+7771 e0a40000 istore 8 ,contw 
+7772 e0a40000 istore 8 ,contw 
+7773 19622200 copy timeup ,rega 
+7774 1a220a00 copy rega ,contw 
+7775 20407755 call bn_addmod 
+7776 da400716 arg mem_tmp2 ,regb 
+7777 1a420a00 copy regb ,contw 
+7778 1e008c28 add alarm ,40 ,contr 
+7779 e8c40000 ifetch 8 ,contr 
+777a e0a40000 istore 8 ,contw 
+777b e0a40000 istore 8 ,contw 
+777c e0a40000 istore 8 ,contw 
+777d 19622200 copy timeup ,rega 
+777e 1a220a00 copy rega ,contw 
+777f 20207755 branch bn_addmod 
+
+bn_load:
+7780 18007206 force 6 ,loopcnt 
+
+bn_load_0:
+7781 e8c20000 ifetch 4 ,contr 
+7782 98005e00 iforce regext 
+7783 1f00f001 increase 1 ,regext_index 
+7784 c2007781 loop bn_load_0 
+7785 20600000 rtn 
+
+bn_mulmod:
+7786 18a21600 copy contw ,timeup 
+7787 d8a006e6 arg mem_tmp1 ,contw 
+7788 20407ec5 call bn_zero 
+7789 d8a006e6 arg mem_tmp1 ,contw 
+778a 1a220c00 copy rega ,contr 
+778b 18007000 force 0 ,regext_index 
+778c 20407780 call bn_load 
+778d 1a420c00 copy regb ,contr 
+778e 20407780 call bn_load 
+778f 18002400 force 0 ,regb 
+
+bn_mulmod_1:
+7790 18000400 force 0 ,temp 
+7791 18002606 force 6 ,regc 
+
+bn_mulmod_0:
+7792 e8a20000 ifetch 4 ,contw 
+7793 98002200 iforce rega 
+7794 1a427000 copy regb ,regext_index 
+7795 1de27e00 deposit regext 
+7796 1a627000 copy regc ,regext_index 
+7797 9deffe00 imul32 regext ,pdata 
+7798 9a20fe00 iadd rega ,pdata 
+7799 9840fe00 iadd temp ,pdata 
+779a e0a20000 istore 4 ,contw 
+779b 1fef0400 rshift32 pdata ,temp 
+779c 1a60a601 increase 1 ,regc 
+779d 2a61fe0c compare 12 ,regc ,0xff 
+779e 2420f792 nbranch bn_mulmod_0 ,true 
+779f 18427e00 deposit temp 
+77a0 e0a20000 istore 4 ,contw 
+77a1 18a08be8 increase -24 ,contw 
+77a2 1a40a401 increase 1 ,regb 
+77a3 2a41fe06 compare 6 ,regb ,0xff 
+77a4 2420f790 nbranch bn_mulmod_1 ,true 
+77a5 da2006e6 arg mem_tmp1 ,rega 
+77a6 19620a00 copy timeup ,contw 
+77a7 2020775f branch bn_p192mod 
+
+bn_sqrmod:
+77a8 1a222400 copy rega ,regb 
+77a9 20207786 branch bn_mulmod 
+
+bn_rshifteven:
+77aa 1a226000 copy rega ,alarm 
+
+bn_rshifteven_1:
+77ab 1e022200 copy alarm ,rega 
+77ac ea208000 ifetch 1 ,rega 
+77ad 2feffe00 isolate1 0 ,pdata 
+77ae 20608000 rtn true 
+77af 2040772d call bn_rshift6 
+77b0 ea408000 ifetch 1 ,regb 
+77b1 2fec0000 isolate0 0 ,pdata 
+77b2 2020f7ba branch bn_rshifteven_0 ,true 
+77b3 da200886 arg mem_p ,rega 
+77b4 1a420a00 copy regb ,contw 
+77b5 20407711 call bn_add 
+77b6 ea408000 ifetch 1 ,regb 
+77b7 9a60fe00 iadd regc ,pdata 
+77b8 e2408000 istore 1 ,regb 
+77b9 1a40a5e8 increase -24 ,regb 
+
+bn_rshifteven_0:
+77ba 1a40a218 add regb ,24 ,rega 
+77bb 18007207 force 7 ,loopcnt 
+77bc 2040772f call bn_rshift 
+77bd 202077ab branch bn_rshifteven_1 
+
+bn_invmod:
+77be 18a21600 copy contw ,timeup 
+77bf d8a00746 arg mem_tmp0 ,contw 
+77c0 20407ec5 call bn_zero 
+77c1 18007e00 force 0 ,pdata 
+77c2 600206fe store 4 ,mem_tmp5 
+77c3 6002075e store 4 ,mem_t2 
+77c4 70074601 jam 1 ,mem_tmp0 
+77c5 d8a006e6 arg mem_tmp1 ,contw 
+77c6 20407ec5 call bn_zero 
+77c7 d8c00886 arg mem_p ,contr 
+77c8 d8a00716 arg mem_tmp2 ,contw 
+77c9 20407ebe call memcpy24 
+77ca 1a220c00 copy rega ,contr 
+77cb d8a0072e arg mem_tmp3 ,contw 
+77cc 20407ebe call memcpy24 
+
+bn_invmod_2:
+77cd d8c0072e arg mem_tmp3 ,contr 
+77ce 204076f5 call bn_eq_zero 
+77cf 203a77f6 branch bn_invmod_0 ,blank 
+77d0 da20072e arg mem_tmp3 ,rega 
+77d1 da400746 arg mem_tmp0 ,regb 
+77d2 204077aa call bn_rshifteven 
+77d3 da200716 arg mem_tmp2 ,rega 
+77d4 da4006e6 arg mem_tmp1 ,regb 
+77d5 204077aa call bn_rshifteven 
+77d6 da20072e arg mem_tmp3 ,rega 
+77d7 da400716 arg mem_tmp2 ,regb 
+77d8 20407704 call bn_bigeq 
+77d9 202177e8 branch bn_invmod_1 ,positive 
+77da da200716 arg mem_tmp2 ,rega 
+77db da40072e arg mem_tmp3 ,regb 
+77dc 1a220a00 copy rega ,contw 
+77dd 2040771f call bn_sub 
+77de da200746 arg mem_tmp0 ,rega 
+77df da4006e6 arg mem_tmp1 ,regb 
+77e0 1a420a00 copy regb ,contw 
+77e1 20407711 call bn_add 
+77e2 ea208000 ifetch 1 ,rega 
+77e3 9a60a600 iadd regc ,regc 
+77e4 ea408000 ifetch 1 ,regb 
+77e5 9a60fe00 iadd regc ,pdata 
+77e6 e2408000 istore 1 ,regb 
+77e7 202077cd branch bn_invmod_2 
+
+bn_invmod_1:
+77e8 da20072e arg mem_tmp3 ,rega 
+77e9 da400716 arg mem_tmp2 ,regb 
+77ea 1a220a00 copy rega ,contw 
+77eb 2040771f call bn_sub 
+77ec da2006e6 arg mem_tmp1 ,rega 
+77ed da400746 arg mem_tmp0 ,regb 
+77ee 1a420a00 copy regb ,contw 
+77ef 20407711 call bn_add 
+77f0 ea208000 ifetch 1 ,rega 
+77f1 9a60a600 iadd regc ,regc 
+77f2 ea408000 ifetch 1 ,regb 
+77f3 9a60fe00 iadd regc ,pdata 
+77f4 e2408000 istore 1 ,regb 
+77f5 202077cd branch bn_invmod_2 
+
+bn_invmod_0:
+77f6 d8a00746 arg mem_tmp0 ,contw 
+77f7 20407ec5 call bn_zero 
+77f8 680086fe fetch 1 ,mem_tmp5 
+77f9 60008746 store 1 ,mem_tmp0 
+77fa 6000874e store 1 ,mem_tmp0a 
+77fb da200746 arg mem_tmp0 ,rega 
+77fc da4006e6 arg mem_tmp1 ,regb 
+77fd 1a420a00 copy regb ,contw 
+77fe 20407755 call bn_addmod 
+77ff da200886 arg mem_p ,rega 
+7800 da4006e6 arg mem_tmp1 ,regb 
+7801 19620a00 copy timeup ,contw 
+7802 20207758 branch bn_submod 
+
+ecdbl:
+7803 da2006a6 arg mem_cz ,rega 
+7804 d8a0075e arg mem_t2 ,contw 
+7805 204077a8 call bn_sqrmod 
+7806 da20075e arg mem_t2 ,rega 
+7807 d8a00776 arg mem_t3 ,contw 
+7808 204077a8 call bn_sqrmod 
+7809 da20089e arg mem_a ,rega 
+780a da400776 arg mem_t3 ,regb 
+780b d8a00776 arg mem_t3 ,contw 
+780c 20407786 call bn_mulmod 
+780d da200676 arg mem_cx ,rega 
+780e d8a0075e arg mem_t2 ,contw 
+780f 204077a8 call bn_sqrmod 
+7810 d8c0075e arg mem_t2 ,contr 
+7811 d8a0072e arg mem_t1 ,contw 
+7812 20407ebe call memcpy24 
+7813 da20072e arg mem_t1 ,rega 
+7814 20407748 call bn_lshiftmod 
+7815 da20075e arg mem_t2 ,rega 
+7816 da40072e arg mem_t1 ,regb 
+7817 d8a0075e arg mem_t2 ,contw 
+7818 20407755 call bn_addmod 
+7819 da20075e arg mem_t2 ,rega 
+781a da400776 arg mem_t3 ,regb 
+781b d8a0075e arg mem_t2 ,contw 
+781c 20407755 call bn_addmod 
+781d d8c00676 arg mem_cx ,contr 
+781e d8a0072e arg mem_t1 ,contw 
+781f 20407ebe call memcpy24 
+7820 da20068e arg mem_cy ,rega 
+7821 d8a00776 arg mem_t3 ,contw 
+7822 204077a8 call bn_sqrmod 
+7823 da20072e arg mem_t1 ,rega 
+7824 20407748 call bn_lshiftmod 
+7825 da20072e arg mem_t1 ,rega 
+7826 20407748 call bn_lshiftmod 
+7827 da20072e arg mem_t1 ,rega 
+7828 da400776 arg mem_t3 ,regb 
+7829 d8a0072e arg mem_t1 ,contw 
+782a 20407786 call bn_mulmod 
+782b da200776 arg mem_t3 ,rega 
+782c d8a00746 arg mem_t0 ,contw 
+782d 204077a8 call bn_sqrmod 
+782e da200746 arg mem_t0 ,rega 
+782f 20407748 call bn_lshiftmod 
+7830 da200746 arg mem_t0 ,rega 
+7831 20407748 call bn_lshiftmod 
+7832 da200746 arg mem_t0 ,rega 
+7833 20407748 call bn_lshiftmod 
+7834 d8c0068e arg mem_cy ,contr 
+7835 d8a00776 arg mem_t3 ,contw 
+7836 20407ebe call memcpy24 
+7837 da200776 arg mem_t3 ,rega 
+7838 20407748 call bn_lshiftmod 
+7839 da200776 arg mem_t3 ,rega 
+783a da4006a6 arg mem_cz ,regb 
+783b d8a006a6 arg mem_cz ,contw 
+783c 20407786 call bn_mulmod 
+783d da20075e arg mem_t2 ,rega 
+783e d8a00776 arg mem_t3 ,contw 
+783f 204077a8 call bn_sqrmod 
+7840 da200776 arg mem_t3 ,rega 
+7841 da40072e arg mem_t1 ,regb 
+7842 d8a00776 arg mem_t3 ,contw 
+7843 20407758 call bn_submod 
+7844 da200776 arg mem_t3 ,rega 
+7845 da40072e arg mem_t1 ,regb 
+7846 d8a00676 arg mem_cx ,contw 
+7847 20407758 call bn_submod 
+7848 da20072e arg mem_t1 ,rega 
+7849 da400676 arg mem_cx ,regb 
+784a d8a00776 arg mem_t3 ,contw 
+784b 20407758 call bn_submod 
+784c da200776 arg mem_t3 ,rega 
+784d da40075e arg mem_t2 ,regb 
+784e d8a00776 arg mem_t3 ,contw 
+784f 20407786 call bn_mulmod 
+7850 da200776 arg mem_t3 ,rega 
+7851 da400746 arg mem_t0 ,regb 
+7852 d8a0068e arg mem_cy ,contw 
+7853 20207758 branch bn_submod 
+
+ecadd:
+7854 da200616 arg mem_az ,rega 
+7855 d8a0078e arg mem_t7 ,contw 
+7856 204077a8 call bn_sqrmod 
+7857 da200676 arg mem_cx ,rega 
+7858 da40078e arg mem_t7 ,regb 
+7859 d8a00746 arg mem_t0 ,contw 
+785a 20407786 call bn_mulmod 
+785b da200616 arg mem_az ,rega 
+785c da40078e arg mem_t7 ,regb 
+785d d8a0078e arg mem_t7 ,contw 
+785e 20407786 call bn_mulmod 
+785f da20068e arg mem_cy ,rega 
+7860 da40078e arg mem_t7 ,regb 
+7861 d8a0072e arg mem_t1 ,contw 
+7862 20407786 call bn_mulmod 
+7863 da2006a6 arg mem_cz ,rega 
+7864 d8a0078e arg mem_t7 ,contw 
+7865 204077a8 call bn_sqrmod 
+7866 da2005e6 arg mem_ax ,rega 
+7867 da40078e arg mem_t7 ,regb 
+7868 d8a0075e arg mem_t2 ,contw 
+7869 20407786 call bn_mulmod 
+786a da2006a6 arg mem_cz ,rega 
+786b da40078e arg mem_t7 ,regb 
+786c d8a0078e arg mem_t7 ,contw 
+786d 20407786 call bn_mulmod 
+786e da2005fe arg mem_ay ,rega 
+786f da40078e arg mem_t7 ,regb 
+7870 d8a00776 arg mem_t3 ,contw 
+7871 20407786 call bn_mulmod 
+7872 da200746 arg mem_t0 ,rega 
+7873 da40075e arg mem_t2 ,regb 
+7874 d8a0078e arg mem_t7 ,contw 
+7875 20407758 call bn_submod 
+7876 da200746 arg mem_t0 ,rega 
+7877 da40075e arg mem_t2 ,regb 
+7878 d8a00746 arg mem_t0 ,contw 
+7879 20407755 call bn_addmod 
+787a da20072e arg mem_t1 ,rega 
+787b da400776 arg mem_t3 ,regb 
+787c d8a0075e arg mem_t2 ,contw 
+787d 20407758 call bn_submod 
+787e da20072e arg mem_t1 ,rega 
+787f da400776 arg mem_t3 ,regb 
+7880 d8a0072e arg mem_t1 ,contw 
+7881 20407755 call bn_addmod 
+7882 da20072e arg mem_t1 ,rega 
+7883 da40078e arg mem_t7 ,regb 
+7884 d8a0072e arg mem_t1 ,contw 
+7885 20407786 call bn_mulmod 
+7886 da2006a6 arg mem_cz ,rega 
+7887 da400616 arg mem_az ,regb 
+7888 d8a00776 arg mem_t3 ,contw 
+7889 20407786 call bn_mulmod 
+788a da200776 arg mem_t3 ,rega 
+788b da40078e arg mem_t7 ,regb 
+788c d8a006a6 arg mem_cz ,contw 
+788d 20407786 call bn_mulmod 
+788e da20078e arg mem_t7 ,rega 
+788f d8a0078e arg mem_t7 ,contw 
+7890 204077a8 call bn_sqrmod 
+7891 da20078e arg mem_t7 ,rega 
+7892 da400746 arg mem_t0 ,regb 
+7893 d8a00776 arg mem_t3 ,contw 
+7894 20407786 call bn_mulmod 
+7895 da20078e arg mem_t7 ,rega 
+7896 da40072e arg mem_t1 ,regb 
+7897 d8a0072e arg mem_t1 ,contw 
+7898 20407786 call bn_mulmod 
+7899 da20075e arg mem_t2 ,rega 
+789a d8a00676 arg mem_cx ,contw 
+789b 204077a8 call bn_sqrmod 
+789c da200676 arg mem_cx ,rega 
+789d da400776 arg mem_t3 ,regb 
+789e d8a00676 arg mem_cx ,contw 
+789f 20407758 call bn_submod 
+78a0 d8c00676 arg mem_cx ,contr 
+78a1 d8a0078e arg mem_t7 ,contw 
+78a2 20407ebe call memcpy24 
+78a3 da20078e arg mem_t7 ,rega 
+78a4 20407748 call bn_lshiftmod 
+78a5 da200776 arg mem_t3 ,rega 
+78a6 da40078e arg mem_t7 ,regb 
+78a7 d8a00776 arg mem_t3 ,contw 
+78a8 20407758 call bn_submod 
+78a9 da200776 arg mem_t3 ,rega 
+78aa da40075e arg mem_t2 ,regb 
+78ab d8a0075e arg mem_t2 ,contw 
+78ac 20407786 call bn_mulmod 
+78ad da20075e arg mem_t2 ,rega 
+78ae da40072e arg mem_t1 ,regb 
+78af d8a0068e arg mem_cy ,contw 
+78b0 20407758 call bn_submod 
+78b1 da20068e arg mem_cy ,rega 
+78b2 da400886 arg mem_p ,regb 
+78b3 d8a0068e arg mem_cy ,contw 
+78b4 18002600 force 0 ,regc 
+78b5 6800868e fetch 1 ,mem_cy 
+78b6 2feffe00 isolate1 0 ,pdata 
+78b7 2040f711 call bn_add ,true 
+78b8 1a626000 copy regc ,alarm 
+78b9 da20068e arg mem_cy ,rega 
+78ba 2040772d call bn_rshift6 
+78bb 680086a5 fetch 1 ,mem_cy5 
+78bc 2e0ffe00 isolate1 0 ,alarm 
+78bd 7920fe07 setflag true ,7 ,pdata 
+78be 600086a5 store 1 ,mem_cy5 
+78bf 20600000 rtn 
+
+eckp_0:
+78c0 680085e3 fetch 1 ,mem_ec_loopc 
+78c1 1fe0ffff increase -1 ,pdata 
+78c2 24610000 nrtn positive 
+78c3 600085e3 store 1 ,mem_ec_loopc 
+78c4 680085e2 fetch 1 ,mem_ec_infinite 
+78c5 205a7803 call ecdbl ,blank 
+78c6 680085e3 fetch 1 ,mem_ec_loopc 
+78c7 d8c006be arg mem_k ,contr 
+78c8 204076ec call bn_testbit 
+78c9 2020f8c0 branch eckp_0 ,true 
+78ca 680085e2 fetch 1 ,mem_ec_infinite 
+78cb 243a78ce nbranch eckp_1 ,blank 
+78cc 20407854 call ecadd 
+78cd 202078c0 branch eckp_0 
+
+eckp_1:
+78ce 7005e200 jam 0 ,mem_ec_infinite 
+78cf d8c005e6 arg mem_ax ,contr 
+78d0 d8a00676 arg mem_cx ,contw 
+78d1 204076f2 call ec_copy 
+78d2 202078c0 branch eckp_0 
+
+ecunmapz:
+78d3 da2006a6 arg mem_cz ,rega 
+78d4 d8a00776 arg mem_t3 ,contw 
+78d5 204077be call bn_invmod 
+78d6 da200776 arg mem_t3 ,rega 
+78d7 d8a0072e arg mem_t1 ,contw 
+78d8 204077a8 call bn_sqrmod 
+78d9 da200676 arg mem_cx ,rega 
+78da da40072e arg mem_t1 ,regb 
+78db d8a0062e arg mem_bx ,contw 
+78dc 20407786 call bn_mulmod 
+78dd da200776 arg mem_t3 ,rega 
+78de da40072e arg mem_t1 ,regb 
+78df d8a0075e arg mem_t2 ,contw 
+78e0 20407786 call bn_mulmod 
+78e1 da20068e arg mem_cy ,rega 
+78e2 da40075e arg mem_t2 ,regb 
+78e3 d8a00646 arg mem_by ,contw 
+78e4 20207786 branch bn_mulmod 
+
+sha_endian_swap2:
+78e5 e8c20000 ifetch 4 ,contr 
+78e6 18002204 force 4 ,rega 
+78e7 18a08a03 increase 3 ,contw 
+
+sha_endian_loop:
+78e8 e0a08000 istore 1 ,contw 
+78e9 1fecfe00 rshift8 pdata ,pdata 
+78ea 18a08bfe increase -2 ,contw 
+78eb 1a20a3ff increase -1 ,rega 
+78ec 2422f8e8 nbranch sha_endian_loop ,zero 
+78ed 18a08a05 increase 5 ,contw 
+78ee c20078e5 loop sha_endian_swap2 
+78ef 20600000 rtn 
+
+sha_getw:
+78f0 18ebfe00 lshift2 queue ,pdata 
+78f1 99608c00 iadd timeup ,contr 
+78f2 e8c20000 ifetch 4 ,contr 
+78f3 20600000 rtn 
+
+sha_r:
+78f4 18006010 force 16 ,alarm 
+78f5 d96005e6 arg memdat ,timeup 
+
+sha_r_loop:
+78f6 1e008ff9 add alarm ,-7 ,queue 
+78f7 204078f0 call sha_getw 
+78f8 98000400 iforce temp 
+78f9 1e008ff0 add alarm ,-16 ,queue 
+78fa 204078f0 call sha_getw 
+78fb 98408400 iadd temp ,temp 
+78fc 1e008ffe add alarm ,-2 ,queue 
+78fd 204078f0 call sha_getw 
+78fe 1fee7e01 shasx pdata ,1 ,pdata 
+78ff 98408400 iadd temp ,temp 
+7900 1e008ff1 add alarm ,-15 ,queue 
+7901 204078f0 call sha_getw 
+7902 1fee7e00 shasx pdata ,0 ,pdata 
+7903 98408400 iadd temp ,temp 
+7904 1e0bfe00 lshift2 alarm ,pdata 
+7905 99608a00 iadd timeup ,contw 
+7906 e0aa0000 istoret 4 ,contw 
+7907 1e00e001 increase 1 ,alarm 
+7908 2e01fe40 compare 64 ,alarm ,0xff 
+7909 2420f8f6 nbranch sha_r_loop ,true 
+790a 20600000 rtn 
+
+sha_init:
+790b d8c008fe arg memh0 ,contr 
+790c 18007007 force 7 ,regext_index 
+
+sha_init_0:
+790d e8c20000 ifetch 4 ,contr 
+790e 98005e00 iforce regext 
+790f 1f00f1ff increase -1 ,regext_index 
+7910 2021790d branch sha_init_0 ,positive 
+7911 20600000 rtn 
+
+sha:
+7912 4776403d bpatchx patch3d_4 ,mem_patch3d 
+7913 204078f4 call sha_r 
+7914 d8a006e6 arg memahbak ,contw 
+7915 18007000 force 0 ,regext_index 
+
+sha_0:
+7916 1de27e00 deposit regext 
+7917 e0a20000 istore 4 ,contw 
+7918 1f00f001 increase 1 ,regext_index 
+7919 2f01fe08 compare 8 ,regext_index ,0xff 
+791a 2420f916 nbranch sha_0 ,true 
+791b 204074b9 call enable_authrom 
+791c d9608700 arg memk ,timeup 
+791d de0005e6 arg memdat ,alarm 
+791e 18007240 force 64 ,loopcnt 
+
+sha_loop:
+791f ee0a0000 ifetcht 4 ,alarm 
+7920 e9620000 ifetch 4 ,timeup 
+7921 19609604 increase 4 ,timeup 
+7922 1e00e004 increase 4 ,alarm 
+7923 9840fe00 iadd temp ,pdata 
+7924 18007007 force 7 ,regext_index 
+7925 9de08400 iadd regext ,temp 
+7926 18007004 force 4 ,regext_index 
+7927 1dee7e03 shasx regext ,3 ,pdata 
+7928 98408400 iadd temp ,temp 
+7929 18007005 force 5 ,regext_index 
+792a 1de27e00 deposit regext 
+792b 18007006 force 6 ,regext_index 
+792c 9de2fe00 ixor regext ,pdata 
+792d 18007004 force 4 ,regext_index 
+792e 9de17e00 iand regext ,pdata 
+792f 18007006 force 6 ,regext_index 
+7930 9de2fe00 ixor regext ,pdata 
+7931 98408400 iadd temp ,temp 
+7932 18007007 force 7 ,regext_index 
+7933 18425e00 copy temp ,regext 
+7934 18007003 force 3 ,regext_index 
+7935 1de27e00 deposit regext 
+7936 9840de00 iadd temp ,regext 
+7937 18007000 force 0 ,regext_index 
+7938 1de27e00 deposit regext 
+7939 18007001 force 1 ,regext_index 
+793a 9de10400 iand regext ,temp 
+793b 9de1fe00 ior regext ,pdata 
+793c 18007002 force 2 ,regext_index 
+793d 9de17e00 iand regext ,pdata 
+793e 98418400 ior temp ,temp 
+793f 18007000 force 0 ,regext_index 
+7940 1dee7e02 shasx regext ,2 ,pdata 
+7941 9840fe00 iadd temp ,pdata 
+7942 18007007 force 7 ,regext_index 
+7943 9de0de00 iadd regext ,regext 
+7944 980efc00 regexrot 
+7945 c200791f loop sha_loop 
+7946 d8c006e6 arg memahbak ,contr 
+7947 18007000 force 0 ,regext_index 
+
+sha_1:
+7948 e8c20000 ifetch 4 ,contr 
+7949 9de0de00 iadd regext ,regext 
+794a 1f00f001 increase 1 ,regext_index 
+794b 2f01fe08 compare 8 ,regext_index ,0xff 
+794c 2420f948 nbranch sha_1 ,true 
+794d 202074bd branch disable_authrom 
+
+sha_result:
+794e d8a00a3e arg memresult ,contw 
+794f 18007007 force 7 ,regext_index 
+
+sha_regext_save:
+7950 1de27e00 deposit regext 
+7951 e0a20000 istore 4 ,contw 
+7952 1f00f1ff increase -1 ,regext_index 
+7953 20217950 branch sha_regext_save ,positive 
+7954 20600000 rtn 
+
+pad_xor:
+7955 d8a005e6 arg memdat ,contw 
+7956 18c08dfc increase -4 ,contr 
+7957 1f262210 sub loopcnt ,16 ,rega 
+
+pad_xor_0:
+7958 e8c20000 ifetch 4 ,contr 
+7959 9842fe00 ixor temp ,pdata 
+795a e0a20000 istore 4 ,contw 
+795b 18c08df8 increase -8 ,contr 
+795c c2007958 loop pad_xor_0 
+795d 1a227200 copy rega ,loopcnt 
+795e 18427e00 deposit temp 
+
+pad_xor_1:
+795f e0a20000 istore 4 ,contw 
+7960 c200795f loop pad_xor_1 
+7961 20600000 rtn 
+
+g_noninit_number_confirm:
+7962 20407967 call g_noninit0 
+7963 2040794e call sha_result 
+7964 2020798d branch g_common0 
+
+g_noninit:
+7965 20407967 call g_noninit0 
+7966 2020798d branch g_common0 
+
+g_noninit0:
+7967 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+7968 d8a005e6 arg memdat ,contw 
+7969 18007206 force 6 ,loopcnt 
+796a 20407a71 call memcpy_dword_swap 
+796b d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+796c 18007206 force 6 ,loopcnt 
+796d 20407a71 call memcpy_dword_swap 
+796e d8c00a3e arg mem_sp_random_remote_end ,contr 
+796f 20407a70 call memcpy_dword_swap4 
+7970 2040790b call sha_init 
+7971 20407912 call sha 
+7972 d8c00a2e arg mem_sp_random_local_end ,contr 
+7973 d8a005e6 arg memdat ,contw 
+7974 20207984 branch g_common 
+
+g_init:
+7975 d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+7976 d8a005e6 arg memdat ,contw 
+7977 18007206 force 6 ,loopcnt 
+7978 20407a71 call memcpy_dword_swap 
+7979 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+797a 18007206 force 6 ,loopcnt 
+797b 20407a71 call memcpy_dword_swap 
+797c d8c00a2e arg mem_sp_random_local_end ,contr 
+797d 20407a70 call memcpy_dword_swap4 
+797e 2040790b call sha_init 
+797f 20407912 call sha 
+7980 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7981 d8a005e6 arg memdat ,contw 
+7982 20407984 call g_common 
+7983 2020798d branch g_common0 
+
+g_common:
+7984 20407a70 call memcpy_dword_swap4 
+7985 58800000 setarg 0x800000 
+7986 1fed7e00 lshift8 pdata ,pdata 
+7987 e0a20000 istore 4 ,contw 
+7988 18007205 force 5 ,loopcnt 
+7989 20407ec6 call memset0 
+798a 58000280 setarg 640 
+798b e0a20000 istore 4 ,contw 
+798c 20207912 branch sha 
+
+g_common0:
+798d 68020a3e fetch 4 ,memresult 
+798e da2003e8 arg 1000 ,rega 
+798f 9a26fc00 idiv rega 
+7990 20407f86 call wait_div_end 
+7991 18077e00 remainder pdata 
+7992 600209ba store 4 ,mem_gkey 
+7993 1807fe00 quotient pdata 
+7994 da2003e8 arg 1000 ,rega 
+7995 9a26fc00 idiv rega 
+7996 20407f86 call wait_div_end 
+7997 18077e00 remainder pdata 
+7998 da2003e8 arg 1000 ,rega 
+7999 9a2ffe00 imul32 rega ,pdata 
+799a 680a09ba fetcht 4 ,mem_gkey 
+799b 9840fe00 iadd temp ,pdata 
+799c 600209ba store 4 ,mem_gkey 
+799d 20600000 rtn 
+
+function_f1_no_key:
+799e 70466400 jam 0 ,mem_passkey_1bit 
+799f 202079a2 branch function_f1_common 
+
+function_f1:
+79a0 6800c662 fetch 1 ,mem_ssp_mode_flag 
+79a1 c081799e bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+
+function_f1_common:
+79a2 4776c03d bpatchx patch3d_5 ,mem_patch3d 
+79a3 58363636 setarg 0x363636 
+79a4 1fed0400 lshift8 pdata ,temp 
+79a5 18418436 or_into 0x36 ,temp 
+79a6 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79a7 1fe20c00 copy pdata ,contr 
+79a8 18007204 force 4 ,loopcnt 
+79a9 20407955 call pad_xor 
+79aa 2040790b call sha_init 
+79ab 20407912 call sha 
+79ac 68010a80 fetch 2 ,mem_sp_prarm_stack + 2 
+79ad 1fe20c00 copy pdata ,contr 
+79ae d8a005e6 arg memdat ,contw 
+79af 18007206 force 6 ,loopcnt 
+79b0 20407a71 call memcpy_dword_swap 
+79b1 68010a82 fetch 2 ,mem_sp_prarm_stack + 4 
+79b2 1fe20c00 copy pdata ,contr 
+79b3 18007206 force 6 ,loopcnt 
+79b4 20407a71 call memcpy_dword_swap 
+79b5 58800000 setarg 0x800000 
+79b6 e0a18000 istore 3 ,contw 
+79b7 6800c664 fetch 1 ,mem_passkey_1bit 
+79b8 e0a08000 istore 1 ,contw 
+79b9 18007e00 force 0 ,pdata 
+79ba e0a40000 istore 8 ,contw 
+79bb 58000388 setarg 0x0388 
+79bc e0a20000 istore 4 ,contw 
+79bd 20407912 call sha 
+79be 2040794e call sha_result 
+79bf d8c00a3e arg memresult ,contr 
+79c0 d8a00706 arg memahsave ,contw 
+79c1 20407ebd call memcpy32 
+79c2 585c5c5c setarg 0x5c5c5c 
+79c3 1fed0400 lshift8 pdata ,temp 
+79c4 1841845c or_into 0x5c ,temp 
+79c5 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79c6 1fe20c00 copy pdata ,contr 
+79c7 18007204 force 4 ,loopcnt 
+79c8 20407955 call pad_xor 
+79c9 2040790b call sha_init 
+79ca 20407912 call sha 
+79cb d8c00726 arg memahsave_end ,contr 
+79cc d8a005e6 arg memdat ,contw 
+79cd 18007208 force 8 ,loopcnt 
+79ce 20407a71 call memcpy_dword_swap 
+79cf 58800000 setarg 0x800000 
+79d0 1fed7e00 lshift8 pdata ,pdata 
+79d1 e0a20000 istore 4 ,contw 
+79d2 20407ec5 call bn_zero 
+79d3 58000300 setarg 0x0300 
+79d4 e0a20000 istore 4 ,contw 
+79d5 20407912 call sha 
+79d6 2020794e branch sha_result 
+
+function_f2:
+79d7 58363636 setarg 0x363636 
+79d8 1fed0400 lshift8 pdata ,temp 
+79d9 18418436 or_into 0x36 ,temp 
+79da d8c00a1e arg mem_sp_dhkey_end ,contr 
+79db 18007206 force 6 ,loopcnt 
+79dc 20407955 call pad_xor 
+79dd 2040790b call sha_init 
+79de 20407912 call sha 
+79df 68010a8a fetch 2 ,mem_sp_prarm_stack + 12 
+79e0 1fe20c00 copy pdata ,contr 
+79e1 d8a005e6 arg memdat ,contw 
+79e2 20407a70 call memcpy_dword_swap4 
+79e3 68010a8c fetch 2 ,mem_sp_prarm_stack + 14 
+79e4 1fe20c00 copy pdata ,contr 
+79e5 20407a70 call memcpy_dword_swap4 
+79e6 5862746c setarg 0x62746c 
+79e7 1fed7e00 lshift8 pdata ,pdata 
+79e8 1fe1fe6b or_into 0x6b ,pdata 
+79e9 e0a20000 istore 4 ,contw 
+79ea d8c00733 arg mem_addr_value_end ,contr 
+79eb 18007203 force 3 ,loopcnt 
+79ec 20407a71 call memcpy_dword_swap 
+79ed 58800000 setarg 0x800000 
+79ee 1fed7e00 lshift8 pdata ,pdata 
+79ef e0a20000 istore 4 ,contw 
+79f0 18007e00 force 0 ,pdata 
+79f1 e0a40000 istore 8 ,contw 
+79f2 58000380 setarg 0x0380 
+79f3 e0a20000 istore 4 ,contw 
+79f4 20407912 call sha 
+79f5 2040794e call sha_result 
+79f6 d8c00a3e arg memresult ,contr 
+79f7 d8a00706 arg memahsave ,contw 
+79f8 20407ebd call memcpy32 
+79f9 585c5c5c setarg 0x5c5c5c 
+79fa 1fed0400 lshift8 pdata ,temp 
+79fb 1841845c or_into 0x5c ,temp 
+79fc d8c00a1e arg mem_sp_dhkey_end ,contr 
+79fd 18007206 force 6 ,loopcnt 
+79fe 20407955 call pad_xor 
+79ff 2040790b call sha_init 
+7a00 20407912 call sha 
+7a01 d8c00726 arg memahsave_end ,contr 
+7a02 d8a005e6 arg memdat ,contw 
+7a03 18007208 force 8 ,loopcnt 
+7a04 20407a71 call memcpy_dword_swap 
+7a05 58800000 setarg 0x800000 
+7a06 1fed7e00 lshift8 pdata ,pdata 
+7a07 e0a20000 istore 4 ,contw 
+7a08 20407ec5 call bn_zero 
+7a09 58000300 setarg 0x0300 
+7a0a e0a20000 istore 4 ,contw 
+7a0b 20407912 call sha 
+7a0c 2020794e branch sha_result 
+
+function_f3a:
+7a0d 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a0e c0817a1e bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+
+function_f3a_common:
+7a0f 4777403d bpatchx patch3d_6 ,mem_patch3d 
+7a10 58363636 setarg 0x363636 
+7a11 1fed0400 lshift8 pdata ,temp 
+7a12 18418436 or_into 0x36 ,temp 
+7a13 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a14 18007206 force 6 ,loopcnt 
+7a15 20407955 call pad_xor 
+7a16 2040790b call sha_init 
+7a17 20407912 call sha 
+7a18 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a19 d8a005e6 arg memdat ,contw 
+7a1a 20407a70 call memcpy_dword_swap4 
+7a1b d8c00a2e arg mem_sp_random_local_end ,contr 
+7a1c 20407a70 call memcpy_dword_swap4 
+7a1d 20207a33 branch function_f3_common 
+
+function_f3a_no_pin:
+7a1e 58000000 setarg 0 
+7a1f 6002468a store 4 ,mem_pin 
+7a20 20207a0f branch function_f3a_common 
+
+function_f3b_no_pin:
+7a21 58000000 setarg 0 
+7a22 6002468a store 4 ,mem_pin 
+7a23 20207a26 branch function_f3b_common 
+
+function_f3b:
+7a24 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a25 c0817a21 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+
+function_f3b_common:
+7a26 58363636 setarg 0x363636 
+7a27 1fed0400 lshift8 pdata ,temp 
+7a28 18418436 or_into 0x36 ,temp 
+7a29 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a2a 18007206 force 6 ,loopcnt 
+7a2b 20407955 call pad_xor 
+7a2c 2040790b call sha_init 
+7a2d 20407912 call sha 
+7a2e d8c00a2e arg mem_sp_random_local_end ,contr 
+7a2f d8a005e6 arg memdat ,contw 
+7a30 20407a70 call memcpy_dword_swap4 
+7a31 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a32 20407a70 call memcpy_dword_swap4 
+
+function_f3_common:
+7a33 58000000 setarg 0x0 
+7a34 e0a40000 istore 8 ,contw 
+7a35 e0a20000 istore 4 ,contw 
+7a36 6802468a fetch 4 ,mem_pin 
+7a37 e0a20000 istore 4 ,contw 
+7a38 18a20400 copy contw ,temp 
+7a39 70072680 jam 0x80 ,mem_addr_padding 
+7a3a 18420a00 copy temp ,contw 
+7a3b d8c00736 arg mem_addr_iocap_end ,contr 
+7a3c 20407a70 call memcpy_dword_swap4 
+7a3d 20407912 call sha 
+7a3e d8a005e6 arg memdat ,contw 
+7a3f 18007207 force 7 ,loopcnt 
+7a40 20407ec6 call memset0 
+7a41 e0a20000 istore 4 ,contw 
+7a42 580003f8 setarg 0x03F8 
+7a43 e0a20000 istore 4 ,contw 
+7a44 20407912 call sha 
+7a45 2040794e call sha_result 
+7a46 d8c00a3e arg memresult ,contr 
+7a47 d8a00706 arg memahsave ,contw 
+7a48 20407ebd call memcpy32 
+7a49 585c5c5c setarg 0x5c5c5c 
+7a4a 1fed0400 lshift8 pdata ,temp 
+7a4b 1841845c or_into 0x5c ,temp 
+7a4c d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a4d 18007206 force 6 ,loopcnt 
+7a4e 20407955 call pad_xor 
+7a4f 2040790b call sha_init 
+7a50 20407912 call sha 
+7a51 d8c00726 arg memahsave_end ,contr 
+7a52 d8a005e6 arg memdat ,contw 
+7a53 18007208 force 8 ,loopcnt 
+7a54 20407a71 call memcpy_dword_swap 
+7a55 58800000 setarg 0x800000 
+7a56 1fed7e00 lshift8 pdata ,pdata 
+7a57 e0a20000 istore 4 ,contw 
+7a58 20407ec5 call bn_zero 
+7a59 58000300 setarg 0x0300 
+7a5a e0a20000 istore 4 ,contw 
+7a5b 20407912 call sha 
+7a5c 2020794e branch sha_result 
+
+eckp_calc_init:
+7a5d 7005e3c0 jam 192 ,mem_ec_loopc 
+
+eckp_calc_init_1:
+7a5e 680085e3 fetch 1 ,mem_ec_loopc 
+7a5f 207a0000 rtn blank 
+7a60 1fe0ffff increase -1 ,pdata 
+7a61 600085e3 store 1 ,mem_ec_loopc 
+7a62 d8c006be arg mem_k ,contr 
+7a63 204076ec call bn_testbit 
+7a64 2020fa5e branch eckp_calc_init_1 ,true 
+7a65 d8c005e6 arg mem_ax ,contr 
+7a66 d8a00676 arg mem_cx ,contw 
+7a67 202076f2 branch ec_copy 
+
+eckp_calc:
+7a68 20407803 call ecdbl 
+7a69 680085e3 fetch 1 ,mem_ec_loopc 
+7a6a 1fe0ffff increase -1 ,pdata 
+7a6b 600085e3 store 1 ,mem_ec_loopc 
+7a6c d8c006be arg mem_k ,contr 
+7a6d 204076ec call bn_testbit 
+7a6e 20608000 rtn true 
+7a6f 20207854 branch ecadd 
+
+memcpy_dword_swap4:
+7a70 18007204 force 4 ,loopcnt 
+
+memcpy_dword_swap:
+7a71 18c08dfc increase -4 ,contr 
+
+memcpy_dword_swap_loop:
+7a72 e8c20000 ifetch 4 ,contr 
+7a73 e0a20000 istore 4 ,contw 
+7a74 18c08df8 increase -8 ,contr 
+7a75 c2007a72 loop memcpy_dword_swap_loop 
+7a76 20600000 rtn 
+
+sp_initialize_256:
+7a77 4777c03d bpatchx patch3d_7 ,mem_patch3d 
+7a78 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7a79 203a5af0 branch le_secure_connection_disable ,blank 
+7a7a 20405aec call le_secure_connection_enable 
+7a7b 20407583 call sp_clear_flags 
+7a7c 20207a7d branch sp_pubkey_calc_256 
+
+sp_pubkey_calc_256:
+7a7d 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7a7e c1800000 rtnne sp_key_invalid 
+7a7f 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a80 c1800000 rtnne sp_calc_standby 
+7a81 d8a045b2 arg mem_le_private_key_256 ,contw 
+7a82 18000e0f force 15 ,queue 
+7a83 204076a2 call random_generator 
+7a84 180a7e00 random pdata 
+7a85 1fe37e00 rshift pdata ,pdata 
+7a86 e0a10000 istore 2 ,contw 
+7a87 d8a00766 arg mem_k_256 ,contw 
+7a88 d8c045b2 arg mem_le_private_key_256 ,contr 
+7a89 20407ebd call memcpy32 
+7a8a d8a00646 arg mem_ax_256 ,contw 
+7a8b d8c0095e arg mem_gx_256 ,contr 
+7a8c 20407eb3 call memcpy64 
+7a8d d8a00686 arg mem_az_256 ,contw 
+7a8e 20407ed0 call clear_mem_256 
+7a8f 70068601 jam 1 ,mem_az_256 
+7a90 20407ac7 call eckp_calc_init_256 
+7a91 7044c003 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+7a92 20600000 rtn 
+
+sp_pubkey_generated_256:
+7a93 d8a045d2 arg mem_le_pubkey_local_x_256 ,contw 
+7a94 d8c006a6 arg mem_bx_256 ,contr 
+7a95 20407eb3 call memcpy64 
+7a96 7044c303 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+7a97 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7a98 20600000 rtn 
+
+sp_dhkey_calc_256:
+7a99 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+7a9a c1800000 rtnne sp_key_invalid 
+7a9b 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a9c c1800000 rtnne sp_calc_standby 
+7a9d d8a00766 arg mem_k_256 ,contw 
+7a9e d8c045b2 arg mem_le_private_key_256 ,contr 
+7a9f 20407ebd call memcpy32 
+7aa0 d8a00646 arg mem_ax_256 ,contw 
+7aa1 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7aa2 20407eb3 call memcpy64 
+7aa3 d8a00686 arg mem_az_256 ,contw 
+7aa4 20407ed0 call clear_mem_256 
+7aa5 70068601 jam 1 ,mem_az_256 
+7aa6 20407ac7 call eckp_calc_init_256 
+7aa7 7044c004 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+7aa8 20600000 rtn 
+
+sp_dhkey_generated_256:
+7aa9 d8a009fe arg mem_le_dhkey_256 ,contw 
+7aaa d8c006a6 arg mem_bx_256 ,contr 
+7aab 20407ebd call memcpy32 
+7aac 7009b903 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+7aad 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7aae 20600000 rtn 
+
+sp_calc_sequence_256:
+7aaf 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7ab0 207a0000 rtn blank 
+7ab1 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7ab2 207a0000 rtn blank 
+7ab3 1fe0fe80 increase 0x80 ,pdata 
+7ab4 6000c4c0 store 1 ,mem_le_sc_calc 
+7ab5 c3838000 rtnbit1 7 
+7ab6 680105e3 fetch 2 ,mem_ec_loopc 
+7ab7 203a7ab9 branch sp_calc_sequence_done_256 ,blank 
+7ab8 20207abf branch eckp_calc_256 
+
+sp_calc_sequence_done_256:
+7ab9 4778403e bpatchx patch3e_0 ,mem_patch3e 
+7aba 20407ad4 call ecunmapz_256 
+7abb 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7abc c001fa93 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+7abd c0027aa9 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+7abe 20600000 rtn 
+
+eckp_calc_256:
+7abf 20407ae6 call ecdbl_256 
+7ac0 680105e3 fetch 2 ,mem_ec_loopc 
+7ac1 1fe0ffff increase -1 ,pdata 
+7ac2 600105e3 store 2 ,mem_ec_loopc 
+7ac3 d8c00766 arg mem_k_256 ,contr 
+7ac4 204076ec call bn_testbit 
+7ac5 20608000 rtn true 
+7ac6 20207b37 branch ecadd_256 
+
+eckp_calc_init_256:
+7ac7 4778c03e bpatchx patch3e_1 ,mem_patch3e 
+7ac8 58000100 setarg 256 ,pdata 
+7ac9 600105e3 store 2 ,mem_ec_loopc 
+
+eckp_calc_init_256_1:
+7aca 680105e3 fetch 2 ,mem_ec_loopc 
+7acb 207a0000 rtn blank 
+7acc 1fe0ffff increase -1 ,pdata 
+7acd 600105e3 store 2 ,mem_ec_loopc 
+7ace d8c00766 arg mem_k_256 ,contr 
+7acf 204076ec call bn_testbit 
+7ad0 2020faca branch eckp_calc_init_256_1 ,true 
+7ad1 d8c00646 arg mem_ax_256 ,contr 
+7ad2 d8a00706 arg mem_cx_256 ,contw 
+7ad3 20207eb2 branch memcpy96 
+
+ecunmapz_256:
+7ad4 da200746 arg mem_cz_256 ,rega 
+7ad5 d8a00846 arg mem_t3_256 ,contw 
+7ad6 20407ba3 call bn_invmod_256 
+7ad7 da200846 arg mem_t3_256 ,rega 
+7ad8 d8a007e6 arg mem_t1_256 ,contw 
+7ad9 20407c79 call bn_sqrmod_256 
+7ada da200706 arg mem_cx_256 ,rega 
+7adb da4007e6 arg mem_t1_256 ,regb 
+7adc d8a006a6 arg mem_bx_256 ,contw 
+7add 20407be1 call bn_mulmod_256 
+7ade da200846 arg mem_t3_256 ,rega 
+7adf da4007e6 arg mem_t1_256 ,regb 
+7ae0 d8a00826 arg mem_t2_256 ,contw 
+7ae1 20407be1 call bn_mulmod_256 
+7ae2 da200726 arg mem_cy_256 ,rega 
+7ae3 da400826 arg mem_t2_256 ,regb 
+7ae4 d8a006c6 arg mem_by_256 ,contw 
+7ae5 20207be1 branch bn_mulmod_256 
+
+ecdbl_256:
+7ae6 da200746 arg mem_cz_256 ,rega 
+7ae7 d8a00826 arg mem_t2_256 ,contw 
+7ae8 20407c79 call bn_sqrmod_256 
+7ae9 da200826 arg mem_t2_256 ,rega 
+7aea d8a00846 arg mem_t3_256 ,contw 
+7aeb 20407c79 call bn_sqrmod_256 
+7aec da20093e arg mem_a_256 ,rega 
+7aed da400846 arg mem_t3_256 ,regb 
+7aee d8a00846 arg mem_t3_256 ,contw 
+7aef 20407be1 call bn_mulmod_256 
+7af0 da200706 arg mem_cx_256 ,rega 
+7af1 d8a00826 arg mem_t2_256 ,contw 
+7af2 20407c79 call bn_sqrmod_256 
+7af3 d8c00826 arg mem_t2_256 ,contr 
+7af4 d8a007e6 arg mem_t1_256 ,contw 
+7af5 20407ebd call memcpy32 
+7af6 da2007e6 arg mem_t1_256 ,rega 
+7af7 20407c80 call bn_lshiftmod_256 
+7af8 da200826 arg mem_t2_256 ,rega 
+7af9 da4007e6 arg mem_t1_256 ,regb 
+7afa d8a00826 arg mem_t2_256 ,contw 
+7afb 20407c7d call bn_addmod_256 
+7afc da200826 arg mem_t2_256 ,rega 
+7afd da400846 arg mem_t3_256 ,regb 
+7afe d8a00826 arg mem_t2_256 ,contw 
+7aff 20407c7d call bn_addmod_256 
+7b00 d8c00706 arg mem_cx_256 ,contr 
+7b01 d8a007e6 arg mem_t1_256 ,contw 
+7b02 20407ebd call memcpy32 
+7b03 da200726 arg mem_cy_256 ,rega 
+7b04 d8a00846 arg mem_t3_256 ,contw 
+7b05 20407c79 call bn_sqrmod_256 
+7b06 da2007e6 arg mem_t1_256 ,rega 
+7b07 20407c80 call bn_lshiftmod_256 
+7b08 da2007e6 arg mem_t1_256 ,rega 
+7b09 20407c80 call bn_lshiftmod_256 
+7b0a da2007e6 arg mem_t1_256 ,rega 
+7b0b da400846 arg mem_t3_256 ,regb 
+7b0c d8a007e6 arg mem_t1_256 ,contw 
+7b0d 20407be1 call bn_mulmod_256 
+7b0e da200846 arg mem_t3_256 ,rega 
+7b0f d8a00806 arg mem_t0_256 ,contw 
+7b10 20407c79 call bn_sqrmod_256 
+7b11 da200806 arg mem_t0_256 ,rega 
+7b12 20407c80 call bn_lshiftmod_256 
+7b13 da200806 arg mem_t0_256 ,rega 
+7b14 20407c80 call bn_lshiftmod_256 
+7b15 da200806 arg mem_t0_256 ,rega 
+7b16 20407c80 call bn_lshiftmod_256 
+7b17 d8c00726 arg mem_cy_256 ,contr 
+7b18 d8a00846 arg mem_t3_256 ,contw 
+7b19 20407ebd call memcpy32 
+7b1a da200846 arg mem_t3_256 ,rega 
+7b1b 20407c80 call bn_lshiftmod_256 
+7b1c da200846 arg mem_t3_256 ,rega 
+7b1d da400746 arg mem_cz_256 ,regb 
+7b1e d8a00746 arg mem_cz_256 ,contw 
+7b1f 20407be1 call bn_mulmod_256 
+7b20 da200826 arg mem_t2_256 ,rega 
+7b21 d8a00846 arg mem_t3_256 ,contw 
+7b22 20407c79 call bn_sqrmod_256 
+7b23 da200846 arg mem_t3_256 ,rega 
+7b24 da4007e6 arg mem_t1_256 ,regb 
+7b25 d8a00846 arg mem_t3_256 ,contw 
+7b26 20407c96 call bn_submod_256 
+7b27 da200846 arg mem_t3_256 ,rega 
+7b28 da4007e6 arg mem_t1_256 ,regb 
+7b29 d8a00706 arg mem_cx_256 ,contw 
+7b2a 20407c96 call bn_submod_256 
+7b2b da2007e6 arg mem_t1_256 ,rega 
+7b2c da400706 arg mem_cx_256 ,regb 
+7b2d d8a00846 arg mem_t3_256 ,contw 
+7b2e 20407c96 call bn_submod_256 
+7b2f da200846 arg mem_t3_256 ,rega 
+7b30 da400826 arg mem_t2_256 ,regb 
+7b31 d8a00846 arg mem_t3_256 ,contw 
+7b32 20407be1 call bn_mulmod_256 
+7b33 da200846 arg mem_t3_256 ,rega 
+7b34 da400806 arg mem_t0_256 ,regb 
+7b35 d8a00726 arg mem_cy_256 ,contw 
+7b36 20207c96 branch bn_submod_256 
+
+ecadd_256:
+7b37 da200686 arg mem_az_256 ,rega 
+7b38 d8a00866 arg mem_t7_256 ,contw 
+7b39 20407c79 call bn_sqrmod_256 
+7b3a da200706 arg mem_cx_256 ,rega 
+7b3b da400866 arg mem_t7_256 ,regb 
+7b3c d8a00806 arg mem_t0_256 ,contw 
+7b3d 20407be1 call bn_mulmod_256 
+7b3e da200686 arg mem_az_256 ,rega 
+7b3f da400866 arg mem_t7_256 ,regb 
+7b40 d8a00866 arg mem_t7_256 ,contw 
+7b41 20407be1 call bn_mulmod_256 
+7b42 da200726 arg mem_cy_256 ,rega 
+7b43 da400866 arg mem_t7_256 ,regb 
+7b44 d8a007e6 arg mem_t1_256 ,contw 
+7b45 20407be1 call bn_mulmod_256 
+7b46 da200746 arg mem_cz_256 ,rega 
+7b47 d8a00866 arg mem_t7_256 ,contw 
+7b48 20407c79 call bn_sqrmod_256 
+7b49 da200646 arg mem_ax_256 ,rega 
+7b4a da400866 arg mem_t7_256 ,regb 
+7b4b d8a00826 arg mem_t2_256 ,contw 
+7b4c 20407be1 call bn_mulmod_256 
+7b4d da200746 arg mem_cz_256 ,rega 
+7b4e da400866 arg mem_t7_256 ,regb 
+7b4f d8a00866 arg mem_t7_256 ,contw 
+7b50 20407be1 call bn_mulmod_256 
+7b51 da200666 arg mem_ay_256 ,rega 
+7b52 da400866 arg mem_t7_256 ,regb 
+7b53 d8a00846 arg mem_t3_256 ,contw 
+7b54 20407be1 call bn_mulmod_256 
+7b55 da400806 arg mem_t0_256 ,regb 
+7b56 da200826 arg mem_t2_256 ,rega 
+7b57 d8a00866 arg mem_t7_256 ,contw 
+7b58 20407c96 call bn_submod_256 
+7b59 da200806 arg mem_t0_256 ,rega 
+7b5a da400826 arg mem_t2_256 ,regb 
+7b5b d8a00806 arg mem_t0_256 ,contw 
+7b5c 20407c7d call bn_addmod_256 
+7b5d da4007e6 arg mem_t1_256 ,regb 
+7b5e da200846 arg mem_t3_256 ,rega 
+7b5f d8a00826 arg mem_t2_256 ,contw 
+7b60 20407c96 call bn_submod_256 
+7b61 da2007e6 arg mem_t1_256 ,rega 
+7b62 da400846 arg mem_t3_256 ,regb 
+7b63 d8a007e6 arg mem_t1_256 ,contw 
+7b64 20407c7d call bn_addmod_256 
+7b65 da2007e6 arg mem_t1_256 ,rega 
+7b66 da400866 arg mem_t7_256 ,regb 
+7b67 d8a007e6 arg mem_t1_256 ,contw 
+7b68 20407be1 call bn_mulmod_256 
+7b69 da200746 arg mem_cz_256 ,rega 
+7b6a da400686 arg mem_az_256 ,regb 
+7b6b d8a00846 arg mem_t3_256 ,contw 
+7b6c 20407be1 call bn_mulmod_256 
+7b6d da200846 arg mem_t3_256 ,rega 
+7b6e da400866 arg mem_t7_256 ,regb 
+7b6f d8a00746 arg mem_cz_256 ,contw 
+7b70 20407be1 call bn_mulmod_256 
+7b71 da200866 arg mem_t7_256 ,rega 
+7b72 d8a00866 arg mem_t7_256 ,contw 
+7b73 20407c79 call bn_sqrmod_256 
+7b74 da200866 arg mem_t7_256 ,rega 
+7b75 da400806 arg mem_t0_256 ,regb 
+7b76 d8a00846 arg mem_t3_256 ,contw 
+7b77 20407be1 call bn_mulmod_256 
+7b78 da200866 arg mem_t7_256 ,rega 
+7b79 da4007e6 arg mem_t1_256 ,regb 
+7b7a d8a007e6 arg mem_t1_256 ,contw 
+7b7b 20407be1 call bn_mulmod_256 
+7b7c da200826 arg mem_t2_256 ,rega 
+7b7d d8a00706 arg mem_cx_256 ,contw 
+7b7e 20407c79 call bn_sqrmod_256 
+7b7f da200706 arg mem_cx_256 ,rega 
+7b80 da400846 arg mem_t3_256 ,regb 
+7b81 d8a00706 arg mem_cx_256 ,contw 
+7b82 20407c96 call bn_submod_256 
+7b83 d8c00706 arg mem_cx_256 ,contr 
+7b84 d8a00866 arg mem_t7_256 ,contw 
+7b85 20407ebd call memcpy32 
+7b86 da200866 arg mem_t7_256 ,rega 
+7b87 20407c80 call bn_lshiftmod_256 
+7b88 da200846 arg mem_t3_256 ,rega 
+7b89 da400866 arg mem_t7_256 ,regb 
+7b8a d8a00846 arg mem_t3_256 ,contw 
+7b8b 20407c96 call bn_submod_256 
+7b8c da200846 arg mem_t3_256 ,rega 
+7b8d da400826 arg mem_t2_256 ,regb 
+7b8e d8a00826 arg mem_t2_256 ,contw 
+7b8f 20407be1 call bn_mulmod_256 
+7b90 da200826 arg mem_t2_256 ,rega 
+7b91 da4007e6 arg mem_t1_256 ,regb 
+7b92 d8a00726 arg mem_cy_256 ,contw 
+7b93 20407c96 call bn_submod_256 
+7b94 da200726 arg mem_cy_256 ,rega 
+7b95 da40091e arg mem_p_256 ,regb 
+7b96 d8a00726 arg mem_cy_256 ,contw 
+7b97 18002600 force 0 ,regc 
+7b98 68008726 fetch 1 ,mem_cy_256 
+7b99 2feffe00 isolate1 0 ,pdata 
+7b9a 2040fc7b call bn_add_256 ,true 
+7b9b 1a626000 copy regc ,alarm 
+7b9c da200726 arg mem_cy_256 ,rega 
+7b9d 20407cab call bn_rshift_256 
+7b9e 68008745 fetch 1 ,mem_cy5_256 
+7b9f 2e0ffe00 isolate1 0 ,alarm 
+7ba0 7920fe07 setflag true ,7 ,pdata 
+7ba1 60008745 store 1 ,mem_cy5_256 
+7ba2 20600000 rtn 
+
+bn_invmod_256:
+7ba3 18a21600 copy contw ,timeup 
+7ba4 d8a00806 arg mem_tmp0_256 ,contw 
+7ba5 20407ed0 call clear_mem_256 
+7ba6 18007e00 force 0 ,pdata 
+7ba7 60020826 store 4 ,mem_t2_256 
+7ba8 70080601 jam 1 ,mem_tmp0_256 
+7ba9 d8a00786 arg mem_tmp1_256 ,contw 
+7baa 20407ed2 call clear_mem_512 
+7bab d8c0091e arg mem_p_256 ,contr 
+7bac d8a007c6 arg mem_tmp2_256 ,contw 
+7bad 20407ebd call memcpy32 
+7bae 1a220c00 copy rega ,contr 
+7baf d8a007e6 arg mem_tmp3_256 ,contw 
+7bb0 20407ebd call memcpy32 
+
+bn_invmod_256_2:
+7bb1 d8c007e6 arg mem_tmp3_256 ,contr 
+7bb2 20407cb5 call bn_eq_zero_256 
+7bb3 203a7bda branch bn_invmod_256_0 ,blank 
+7bb4 da2007e6 arg mem_tmp3_256 ,rega 
+7bb5 da400806 arg mem_tmp0_256 ,regb 
+7bb6 20407cb8 call bn_rshifteven_256 
+7bb7 da2007c6 arg mem_tmp2_256 ,rega 
+7bb8 da400786 arg mem_tmp1_256 ,regb 
+7bb9 20407cb8 call bn_rshifteven_256 
+7bba da2007e6 arg mem_tmp3_256 ,rega 
+7bbb da4007c6 arg mem_tmp2_256 ,regb 
+7bbc 20407cb1 call bn_bigeq_256 
+7bbd 20217bcc branch bn_invmod_256_1 ,positive 
+7bbe da2007c6 arg mem_tmp2_256 ,rega 
+7bbf da4007e6 arg mem_tmp3_256 ,regb 
+7bc0 1a220a00 copy rega ,contw 
+7bc1 20407ca9 call bn_sub_256 
+7bc2 da200806 arg mem_tmp0_256 ,rega 
+7bc3 da400786 arg mem_tmp1_256 ,regb 
+7bc4 1a420a00 copy regb ,contw 
+7bc5 20407c7b call bn_add_256 
+7bc6 ea208000 ifetch 1 ,rega 
+7bc7 9a60a600 iadd regc ,regc 
+7bc8 ea408000 ifetch 1 ,regb 
+7bc9 9a60fe00 iadd regc ,pdata 
+7bca e2408000 istore 1 ,regb 
+7bcb 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_1:
+7bcc da2007e6 arg mem_tmp3_256 ,rega 
+7bcd da4007c6 arg mem_tmp2_256 ,regb 
+7bce 1a220a00 copy rega ,contw 
+7bcf 20407ca9 call bn_sub_256 
+7bd0 da200786 arg mem_tmp1_256 ,rega 
+7bd1 da400806 arg mem_tmp0_256 ,regb 
+7bd2 1a420a00 copy regb ,contw 
+7bd3 20407c7b call bn_add_256 
+7bd4 ea208000 ifetch 1 ,rega 
+7bd5 9a60a600 iadd regc ,regc 
+7bd6 ea408000 ifetch 1 ,regb 
+7bd7 9a60fe00 iadd regc ,pdata 
+7bd8 e2408000 istore 1 ,regb 
+7bd9 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_0:
+7bda da200786 arg mem_tmp1_256 ,rega 
+7bdb 19620a00 copy timeup ,contw 
+7bdc 20407c0a call bn_p256mod 
+7bdd da20091e arg mem_p_256 ,rega 
+7bde 19622400 copy timeup ,regb 
+7bdf 19620a00 copy timeup ,contw 
+7be0 20207c96 branch bn_submod_256 
+
+bn_mulmod_256:
+7be1 18a21600 copy contw ,timeup 
+7be2 18007000 force 0 ,regext_index 
+7be3 d8a00786 arg mem_tmp1_256 ,contw 
+7be4 20407ed2 call clear_mem_512 
+7be5 d8a00ad2 arg mem_regext ,contw 
+7be6 20407ed2 call clear_mem_512 
+7be7 1a220c00 copy rega ,contr 
+7be8 700ad200 jam 0 ,mem_regext 
+7be9 58000000 setarg 0 
+7bea 20407c73 call bn_load_mem 
+7beb 1a420c00 copy regb ,contr 
+7bec 20407c77 call bn_load_256 
+7bed 18000e00 force 0 ,queue 
+7bee d8a00786 arg mem_tmp1_256 ,contw 
+
+bn_mulmod_256_1:
+7bef d8400ad2 arg mem_regext ,temp 
+7bf0 18e22400 copy queue ,regb 
+7bf1 1a4bfe00 lshift2 regb ,pdata 
+7bf2 9840a400 iadd temp ,regb 
+7bf3 18000400 force 0 ,temp 
+7bf4 18002600 force 0 ,regc 
+
+bn_mulmod_256_0:
+7bf5 e8a20000 ifetch 4 ,contw 
+7bf6 98002200 iforce rega 
+7bf7 ea420000 ifetch 4 ,regb 
+7bf8 1a627000 copy regc ,regext_index 
+7bf9 9deffe00 imul32 regext ,pdata 
+7bfa 9a20fe00 iadd rega ,pdata 
+7bfb 9840fe00 iadd temp ,pdata 
+7bfc e0a20000 istore 4 ,contw 
+7bfd 1fef0400 rshift32 pdata ,temp 
+7bfe 1a60a601 increase 1 ,regc 
+7bff 2a61fe08 compare 8 ,regc ,0xff 
+7c00 2420fbf5 nbranch bn_mulmod_256_0 ,true 
+7c01 18427e00 deposit temp 
+7c02 e0a20000 istore 4 ,contw 
+7c03 18a08be0 increase -32 ,contw 
+7c04 18e08e01 increase 1 ,queue 
+7c05 28e1fe08 compare 8 ,queue ,0xff 
+7c06 2420fbef nbranch bn_mulmod_256_1 ,true 
+7c07 da200786 arg mem_tmp1_256 ,rega 
+7c08 19620a00 copy timeup ,contw 
+7c09 20207c0a branch bn_p256mod 
+
+bn_p256mod:
+7c0a 4779403e bpatchx patch3e_2 ,mem_patch3e 
+7c0b 18a21600 copy contw ,timeup 
+7c0c 1a226000 copy rega ,alarm 
+7c0d da4007c6 arg mem_tmp2_256 ,regb 
+7c0e 1a420a00 copy regb ,contw 
+7c0f 20407ecd call memset0_4 
+7c10 e0a40000 istore 8 ,contw 
+7c11 1a208c2c add rega ,44 ,contr 
+7c12 20407eb9 call memcpy8 
+7c13 20407eb5 call memcpy12 
+7c14 1a422200 copy regb ,rega 
+7c15 20407c80 call bn_lshiftmod_256 
+7c16 da4007c6 arg mem_tmp2_256 ,regb 
+7c17 1e022200 copy alarm ,rega 
+7c18 19620a00 copy timeup ,contw 
+7c19 20407c7d call bn_addmod_256 
+7c1a da4007c6 arg mem_tmp2_256 ,regb 
+7c1b 1a420a00 copy regb ,contw 
+7c1c 20407ecd call memset0_4 
+7c1d e0a40000 istore 8 ,contw 
+7c1e 1e008c30 add alarm ,48 ,contr 
+7c1f 20407ebf call memcpy16 
+7c20 20407ecd call memset0_4 
+7c21 1a422200 copy regb ,rega 
+7c22 20407c80 call bn_lshiftmod_256 
+7c23 da4007c6 arg mem_tmp2_256 ,regb 
+7c24 19622200 copy timeup ,rega 
+7c25 1a220a00 copy rega ,contw 
+7c26 20407c7d call bn_addmod_256 
+7c27 da4007c6 arg mem_tmp2_256 ,regb 
+7c28 1a420a00 copy regb ,contw 
+7c29 1e008c20 add alarm ,32 ,contr 
+7c2a 20407eb5 call memcpy12 
+7c2b 20407ecd call memset0_4 
+7c2c e0a40000 istore 8 ,contw 
+7c2d 1e008c38 add alarm ,56 ,contr 
+7c2e 20407eb9 call memcpy8 
+7c2f 19622200 copy timeup ,rega 
+7c30 1a220a00 copy rega ,contw 
+7c31 20407c7d call bn_addmod_256 
+7c32 da4007c6 arg mem_tmp2_256 ,regb 
+7c33 1a420a00 copy regb ,contw 
+7c34 1e008c24 add alarm ,36 ,contr 
+7c35 20407eb5 call memcpy12 
+7c36 1e008c34 add alarm ,52 ,contr 
+7c37 20407eb5 call memcpy12 
+7c38 1e008c34 add alarm ,52 ,contr 
+7c39 20407eb6 call memcpy4 
+7c3a 1e008c20 add alarm ,32 ,contr 
+7c3b 20407eb6 call memcpy4 
+7c3c 19622200 copy timeup ,rega 
+7c3d 1a220a00 copy rega ,contw 
+7c3e 20407c7d call bn_addmod_256 
+7c3f da4007c6 arg mem_tmp2_256 ,regb 
+7c40 1a420a00 copy regb ,contw 
+7c41 1e008c2c add alarm ,44 ,contr 
+7c42 20407eb5 call memcpy12 
+7c43 20407ecd call memset0_4 
+7c44 e0a40000 istore 8 ,contw 
+7c45 1e008c20 add alarm ,32 ,contr 
+7c46 20407eb6 call memcpy4 
+7c47 1e008c28 add alarm ,40 ,contr 
+7c48 20407eb6 call memcpy4 
+7c49 19622200 copy timeup ,rega 
+7c4a 1a220a00 copy rega ,contw 
+7c4b 20407c96 call bn_submod_256 
+7c4c da4007c6 arg mem_tmp2_256 ,regb 
+7c4d 1a420a00 copy regb ,contw 
+7c4e 1e008c30 add alarm ,48 ,contr 
+7c4f 20407eb9 call memcpy8 
+7c50 20407eb9 call memcpy8 
+7c51 18007e00 force 0 ,pdata 
+7c52 e0a40000 istore 8 ,contw 
+7c53 1e008c24 add alarm ,36 ,contr 
+7c54 20407eb6 call memcpy4 
+7c55 1e008c2c add alarm ,44 ,contr 
+7c56 20407eb6 call memcpy4 
+7c57 19622200 copy timeup ,rega 
+7c58 1a220a00 copy rega ,contw 
+7c59 20407c96 call bn_submod_256 
+7c5a da4007c6 arg mem_tmp2_256 ,regb 
+7c5b 1a420a00 copy regb ,contw 
+7c5c 1e008c34 add alarm ,52 ,contr 
+7c5d 20407eb5 call memcpy12 
+7c5e 1e008c20 add alarm ,32 ,contr 
+7c5f 20407eb5 call memcpy12 
+7c60 20407ecd call memset0_4 
+7c61 1e008c30 add alarm ,48 ,contr 
+7c62 20407eb6 call memcpy4 
+7c63 19622200 copy timeup ,rega 
+7c64 1a220a00 copy rega ,contw 
+7c65 20407c96 call bn_submod_256 
+7c66 da4007c6 arg mem_tmp2_256 ,regb 
+7c67 1a420a00 copy regb ,contw 
+7c68 1e008c38 add alarm ,56 ,contr 
+7c69 20407eb9 call memcpy8 
+7c6a 20407ecd call memset0_4 
+7c6b 1e008c24 add alarm ,36 ,contr 
+7c6c 20407eb5 call memcpy12 
+7c6d 20407ecd call memset0_4 
+7c6e 1e008c34 add alarm ,52 ,contr 
+7c6f 20407eb6 call memcpy4 
+7c70 19622200 copy timeup ,rega 
+7c71 1a220a00 copy rega ,contw 
+7c72 20207c96 branch bn_submod_256 
+
+bn_load_mem:
+7c73 18007220 force 32 ,loopcnt 
+7c74 d8a00ad2 arg mem_regext ,contw 
+7c75 98a08a00 iadd contw ,contw 
+7c76 20207f01 branch memcpy 
+
+bn_load_256:
+7c77 18007208 force 8 ,loopcnt 
+7c78 20207781 branch bn_load_0 
+
+bn_sqrmod_256:
+7c79 1a222400 copy rega ,regb 
+7c7a 20207be1 branch bn_mulmod_256 
+
+bn_add_256:
+7c7b 18007208 force 8 ,loopcnt 
+7c7c 20207712 branch bn_add + 1 
+
+bn_addmod_256:
+7c7d 20407c7b call bn_add_256 
+7c7e 18a22200 copy contw ,rega 
+7c7f 20207c81 branch bn_lshiftmod_ismod_256 
+
+bn_lshiftmod_256:
+7c80 20407cae call bn_lshift_256 
+
+bn_lshiftmod_ismod_256:
+7c81 2a6ffe00 isolate1 0 ,regc 
+7c82 2020fc8a branch bn_lshiftmod_p_256 ,true 
+7c83 da40091e arg mem_p_256 ,regb 
+7c84 1a222600 copy rega ,regc 
+7c85 1a20a3e0 increase -32 ,rega 
+7c86 20407cb1 call bn_bigeq_256 
+7c87 24610000 nrtn positive 
+7c88 1a622200 copy regc ,rega 
+7c89 20207c92 branch sub_p2_256 
+
+bn_lshiftmod_p_256:
+7c8a 20407c92 call sub_p2_256 
+7c8b 1a222600 copy rega ,regc 
+7c8c 1a20a3e0 increase -32 ,rega 
+7c8d da40091e arg mem_p_256 ,regb 
+7c8e 20407cb1 call bn_bigeq_256 
+7c8f 24610000 nrtn positive 
+7c90 1a622200 copy regc ,rega 
+7c91 20207c92 branch sub_p2_256 
+
+sub_p2_256:
+7c92 1a20a3e0 increase -32 ,rega 
+7c93 da40091e arg mem_p_256 ,regb 
+7c94 1a220a00 copy rega ,contw 
+7c95 20207ca9 branch bn_sub_256 
+
+bn_submod_256:
+7c96 20407ca9 call bn_sub_256 
+7c97 2020fca0 branch bn_submod_256_np ,true 
+7c98 18a0a3e0 add contw ,-32 ,rega 
+7c99 da40091e arg mem_p_256 ,regb 
+7c9a 20407cb1 call bn_bigeq_256 
+7c9b 24610000 nrtn positive 
+7c9c da40091e arg mem_p_256 ,regb 
+7c9d 18a0a3e0 add contw ,-32 ,rega 
+7c9e 1a220a00 copy rega ,contw 
+7c9f 20207ca9 branch bn_sub_256 
+
+bn_submod_256_np:
+7ca0 18a0a3e0 add contw ,-32 ,rega 
+7ca1 da40091e arg mem_p_256 ,regb 
+7ca2 1a220a00 copy rega ,contw 
+7ca3 20407c7b call bn_add_256 
+7ca4 20608000 rtn true 
+7ca5 18a0a3e0 add contw ,-32 ,rega 
+7ca6 da40091e arg mem_p_256 ,regb 
+7ca7 1a220a00 copy rega ,contw 
+7ca8 20207c7b branch bn_add_256 
+
+bn_sub_256:
+7ca9 18007208 force 8 ,loopcnt 
+7caa 20207720 branch bn_sub + 1 
+
+bn_rshift_256:
+7cab 18007208 force 8 ,loopcnt 
+7cac 1a20a21c increase 28 ,rega 
+7cad 2020772f branch bn_rshift 
+
+bn_lshift_256:
+7cae 18007208 force 8 ,loopcnt 
+7caf 18002600 force 0 ,regc 
+7cb0 2020773d branch bn_lshift_0 
+
+bn_bigeq_256:
+7cb1 18007208 force 8 ,loopcnt 
+7cb2 1a20a21c increase 28 ,rega 
+7cb3 1a40a41c increase 28 ,regb 
+7cb4 20207707 branch bn_bigeq_0 
+
+bn_eq_zero_256:
+7cb5 e8c40000 ifetch 8 ,contr 
+7cb6 247a0000 nrtn blank 
+7cb7 202076f5 branch bn_eq_zero 
+
+bn_rshifteven_256:
+7cb8 1a226000 copy rega ,alarm 
+
+bn_rshifteven_256_1:
+7cb9 1e022200 copy alarm ,rega 
+7cba ea208000 ifetch 1 ,rega 
+7cbb 2feffe00 isolate1 0 ,pdata 
+7cbc 20608000 rtn true 
+7cbd 20407cab call bn_rshift_256 
+7cbe ea408000 ifetch 1 ,regb 
+7cbf 2fec0000 isolate0 0 ,pdata 
+7cc0 2020fcc8 branch bn_rshifteven_256_0 ,true 
+7cc1 da20091e arg mem_p_256 ,rega 
+7cc2 1a420a00 copy regb ,contw 
+7cc3 20407c7b call bn_add_256 
+7cc4 ea408000 ifetch 1 ,regb 
+7cc5 9a60fe00 iadd regc ,pdata 
+7cc6 e2408000 istore 1 ,regb 
+7cc7 1a40a5e0 increase -32 ,regb 
+
+bn_rshifteven_256_0:
+7cc8 1a40a220 add regb ,32 ,rega 
+7cc9 18007209 force 9 ,loopcnt 
+7cca 2040772f call bn_rshift 
+7ccb 20207cb9 branch bn_rshifteven_256_1 
+
+ui_init:
+7ccc 20402c65 call lpm_disable_exen_output 
+7ccd 20758000 rtn wake 
+7cce 20407cd3 call ui_button_init 
+7ccf 20407d75 call ui_timer_init 
+7cd0 20207d08 branch ui_led_init_global 
+
+ui_dispatch:
+7cd1 20407d29 call ui_led_dispatch 
+7cd2 20207d64 branch ui_timer_check 
+
+ui_button_init:
+7cd3 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cd4 c17f8000 rtneq ui_button_gpio_disable 
+7cd5 98000400 iforce temp 
+7cd6 2040680e call gpio_config_output 
+7cd7 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cd8 20406825 call gpio_out_inactive 
+7cd9 20000064 nop 100 
+7cda 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cdb 204067fb call gpio_config_input 
+7cdc 20207cdd branch ui_button_polling 
+
+ui_button_polling:
+7cdd 4779c03e bpatchx patch3e_3 ,mem_patch3e 
+7cde 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cdf c17f8000 rtneq ui_button_gpio_disable 
+7ce0 1fe20400 copy pdata ,temp 
+7ce1 2040681d call gpio_get_bit 
+7ce2 2420fcef nbranch ui_button_up ,true 
+
+ui_button_down:
+7ce3 20407cf9 call ui_button_check_long_press 
+7ce4 68014682 fetch 2 ,mem_ui_state_map 
+7ce5 79207e0c set1 ui_state_btn_down 
+7ce6 60014682 store 2 ,mem_ui_state_map 
+7ce7 6800c679 fetch 1 ,mem_ui_button_last_state 
+7ce8 c1000000 rtneq ui_button_state_down 
+7ce9 70467900 jam ui_button_state_down ,mem_ui_button_last_state 
+7cea 6800c685 fetch 1 ,mem_ui_button_timeout 
+7ceb 6000c678 store 1 ,mem_ui_button_timer 
+7cec 20407d00 call lpm_button_get_wake_lock 
+7ced 700a992c jam bt_evt_button_down ,mem_fifo_temp 
+7cee 20207d86 branch ui_ipc_send_event 
+
+ui_button_up:
+7cef 68014682 fetch 2 ,mem_ui_state_map 
+7cf0 793ffe0c set0 ui_state_btn_down 
+7cf1 60014682 store 2 ,mem_ui_state_map 
+7cf2 6800c679 fetch 1 ,mem_ui_button_last_state 
+7cf3 c1008000 rtneq ui_button_state_up 
+7cf4 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+7cf5 70467800 jam 0 ,mem_ui_button_timer 
+7cf6 20407d02 call lpm_button_clean_wake_lock 
+7cf7 700a992d jam bt_evt_button_up ,mem_fifo_temp 
+7cf8 20207d86 branch ui_ipc_send_event 
+
+ui_button_check_long_press:
+7cf9 6800c678 fetch 1 ,mem_ui_button_timer 
+7cfa 207a0000 rtn blank 
+7cfb 1fe0ffff increase -1 ,pdata 
+7cfc 6000c678 store 1 ,mem_ui_button_timer 
+7cfd 247a0000 nrtn blank 
+7cfe 700a9910 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+7cff 20207d86 branch ui_ipc_send_event 
+
+lpm_button_get_wake_lock:
+7d00 d8e00007 arg wake_lock_button ,queue 
+7d01 20202c32 branch lpm_get_wake_lock 
+
+lpm_button_clean_wake_lock:
+7d02 d8e00007 arg wake_lock_button ,queue 
+7d03 20202c36 branch lpm_put_wake_lock 
+
+calc_curr_struct_prt:
+7d04 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d05 1a2fa40b mul32 rega ,led_offset_length ,regb 
+7d06 9a40a400 iadd regb ,regb 
+7d07 20600000 rtn 
+
+ui_led_init_global:
+7d08 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d09 207a0000 rtn blank 
+7d0a 1fe27200 copy pdata ,loopcnt 
+7d0b 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d0c 1fe22400 copy pdata ,regb 
+
+ui_led_init_loop:
+7d0d 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d0e ea688000 ifetcht 1 ,regc 
+7d0f 2040680e call gpio_config_output 
+7d10 20407d32 call ui_led_off_static 
+7d11 1a40a40b increase led_offset_length ,regb 
+7d12 c2007d0d loop ui_led_init_loop 
+7d13 20600000 rtn 
+
+ui_led_on_global:
+7d14 20407d04 call calc_curr_struct_prt 
+7d15 58000002 setarg ui_led_state_lighting 
+7d16 e2408000 istore 1 ,regb 
+7d17 20407d5e call ui_led_stop_timer 
+7d18 20207d35 branch ui_led_on_static 
+
+ui_led_blink_stop_global:
+
+ui_led_off_global:
+7d19 20407d04 call calc_curr_struct_prt 
+7d1a 58000003 setarg ui_led_state_darking 
+7d1b e2408000 istore 1 ,regb 
+7d1c 20407d5e call ui_led_stop_timer 
+7d1d 20207d32 branch ui_led_off_static 
+
+ui_led_blink_start_global:
+7d1e 20407d04 call calc_curr_struct_prt 
+7d1f 58000001 setarg ui_led_state_blink_start 
+7d20 e2408000 istore 1 ,regb 
+7d21 580000ff setarg led_infinite_flash_num 
+7d22 e0a08000 istore 1 ,contw 
+7d23 20207d32 branch ui_led_off_static 
+
+ui_led_set_style_global:
+7d24 20407d04 call calc_curr_struct_prt 
+7d25 df20000b arg led_offset_length ,loopcnt 
+7d26 1a620c00 copy regc ,contr 
+7d27 1a420a00 copy regb ,contw 
+7d28 20207ef4 branch memcpy_fast 
+
+ui_led_dispatch:
+7d29 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2a 207a0000 rtn blank 
+7d2b da200000 arg 0 ,rega 
+
+ui_led_blink_polling:
+7d2c 20407d38 call ui_led_change_style_by_type 
+7d2d 1a20a201 increase 1 ,rega 
+7d2e 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2f 9a267c00 isub rega ,null 
+7d30 20628000 rtn zero 
+7d31 20207d2c branch ui_led_blink_polling 
+
+ui_led_off_static:
+7d32 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d33 ea688000 ifetcht 1 ,regc 
+7d34 20206825 branch gpio_out_inactive 
+
+ui_led_on_static:
+7d35 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d36 ea688000 ifetcht 1 ,regc 
+7d37 20206829 branch gpio_out_active 
+
+ui_led_change_style_by_type:
+7d38 1a208e0b add rega ,ui_led_blink ,queue 
+7d39 20407f16 call timer_check 
+7d3a 247a0000 nrtn blank 
+7d3b 20407d04 call calc_curr_struct_prt 
+7d3c ea408000 ifetch 1 ,regb 
+7d3d c0017d35 beq ui_led_state_lighting ,ui_led_on_static 
+7d3e c001fd32 beq ui_led_state_darking ,ui_led_off_static 
+7d3f c0007d32 beq ui_led_state_blink_stop ,ui_led_off_static 
+7d40 c002fd4c beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+
+ui_led_blink_state_lighting:
+7d41 20407d35 call ui_led_on_static 
+7d42 1a40a607 add regb ,led_offset_cb_ledon ,regc 
+7d43 20407e7c call push_stack 
+7d44 ea610000 ifetch 2 ,regc 
+7d45 20407f9c call callback_func 
+7d46 20407e8c call pop_stack 
+7d47 58000005 setarg ui_led_state_blink_darking 
+7d48 e2408000 istore 1 ,regb 
+7d49 1a40a603 add regb ,led_offset_on_time ,regc 
+7d4a ea610000 ifetch 2 ,regc 
+7d4b 20207d5c branch ui_led_blink_timer_start 
+
+ui_led_blink_state_darking:
+7d4c 20407d32 call ui_led_off_static 
+7d4d 1a40a609 add regb ,led_offset_cb_ledoff ,regc 
+7d4e 20407e7c call push_stack 
+7d4f ea610000 ifetch 2 ,regc 
+7d50 20407f9c call callback_func 
+7d51 20407e8c call pop_stack 
+7d52 1a40a601 add regb ,led_offset_blink_count ,regc 
+7d53 ea608000 ifetch 1 ,regc 
+7d54 c07ffd58 beq led_infinite_flash_num ,ui_led_blink_infinite 
+7d55 1fe0ffff increase -1 ,pdata 
+7d56 e2608000 istore 1 ,regc 
+7d57 203a7d19 branch ui_led_blink_stop_global ,blank 
+
+ui_led_blink_infinite:
+7d58 58000004 setarg ui_led_state_blink_lighting 
+7d59 e2408000 istore 1 ,regb 
+7d5a 1a40a605 add regb ,led_offset_off_time ,regc 
+7d5b ea610000 ifetch 2 ,regc 
+
+ui_led_blink_timer_start:
+7d5c 1a208e0b add rega ,ui_led_blink ,queue 
+7d5d 20207f08 branch timer_init 
+
+ui_led_stop_timer:
+7d5e 58000000 setarg 0 
+7d5f 20207d5c branch ui_led_blink_timer_start 
+
+ui_timer_timeout:
+7d60 58001000 setarg 0x1000 
+7d61 1ff07e00 lshift16 pdata ,pdata 
+7d62 9a40a400 iadd regb ,regb 
+7d63 20600000 rtn 
+
+ui_timer_check:
+7d64 477a403e bpatchx patch3e_4 ,mem_patch3e 
+7d65 da200000 arg 0 ,rega 
+7d66 680a467a fetcht 4 ,mem_ui_timer_last_btclk 
+7d67 1c422400 copy clkn_bt ,regb 
+7d68 1a427e00 copy regb ,pdata 
+7d69 98467c00 isub temp ,null 
+7d6a 24417d60 ncall ui_timer_timeout ,positive 
+
+ui_timer_check_loop:
+7d6b 1a427e00 copy regb ,pdata 
+7d6c 184084a0 increase 160 ,temp 
+7d6d 184084a0 increase 160 ,temp 
+7d6e 98467c00 isub temp ,null 
+7d6f 24217d78 nbranch ui_timer_check_end ,positive 
+7d70 1a20a201 increase 1 ,rega 
+7d71 1a217e0f and rega ,0x0f ,pdata 
+7d72 243a7d6b nbranch ui_timer_check_loop ,blank 
+7d73 da200000 arg 0 ,rega 
+7d74 20407d7f call ui_timer_check_send_evt 
+
+ui_timer_init:
+7d75 1c427e00 copy clkn_bt ,pdata 
+7d76 6002467a store 4 ,mem_ui_timer_last_btclk 
+7d77 20600000 rtn 
+
+ui_timer_check_end:
+7d78 477ac03e bpatchx patch3e_5 ,mem_patch3e 
+7d79 1a227e00 copy rega ,pdata 
+7d7a 207a0000 rtn blank 
+7d7b 18408560 increase -160 ,temp 
+7d7c 18408560 increase -160 ,temp 
+7d7d 793f841c set0 28 ,temp 
+7d7e 600a467a storet 4 ,mem_ui_timer_last_btclk 
+
+ui_timer_check_send_evt:
+7d7f 2020335f branch app_evt_timer 
+
+ui_ipc_get_lock:
+7d80 70466601 jam 1 ,mem_ipc_lock_bt 
+
+ui_ipc_get_lock_wait:
+7d81 6800c667 fetch 1 ,mem_ipc_lock_c51 
+7d82 243a7d81 nbranch ui_ipc_get_lock_wait ,blank 
+7d83 20600000 rtn 
+
+ui_ipc_put_lock:
+7d84 70466600 jam 0 ,mem_ipc_lock_bt 
+7d85 20600000 rtn 
+
+ui_ipc_send_event:
+7d86 477b403e bpatchx patch3e_6 ,mem_patch3e 
+7d87 20407d80 call ui_ipc_get_lock 
+7d88 1a227e00 copy rega ,pdata 
+7d89 60020a91 store 4 ,mem_ipc_rega_temp 
+7d8a da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+7d8b 20407fb8 call fifo_in 
+7d8c 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d8d 1fe22200 copy pdata ,rega 
+7d8e 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_send_cmd:
+7d8f 477bc03e bpatchx patch3e_7 ,mem_patch3e 
+7d90 20407d80 call ui_ipc_get_lock 
+7d91 1a227e00 copy rega ,pdata 
+7d92 60020a91 store 4 ,mem_ipc_rega_temp 
+7d93 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7d94 20407fb8 call fifo_in 
+7d95 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d96 1fe22200 copy pdata ,rega 
+7d97 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_clean_all_fifo:
+7d98 58000000 setarg 0 
+7d99 60044670 store util_fifo_len ,mem_ipc_fifo_c512bt 
+7d9a 60044668 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+7d9b 20600000 rtn 
+
+check_51cmd:
+7d9c 477c403f bpatchx patch3f_0 ,mem_patch3f 
+7d9d 6800c1ce fetch 1 ,mem_hci_cmd 
+7d9e 247a0000 nrtn blank 
+7d9f da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da0 20407fd0 call fifo_is_empty 
+7da1 207a0000 rtn blank 
+7da2 700a9000 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+7da3 20407da7 call check_51cmd_once 
+7da4 68008a90 fetch 1 ,mem_ipc_skip_continue_proc 
+7da5 203a7d9c branch check_51cmd ,blank 
+7da6 20600000 rtn 
+
+check_51cmd_once:
+7da7 20407d80 call ui_ipc_get_lock 
+7da8 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da9 20407fc4 call fifo_out 
+7daa 1fe20400 copy pdata ,temp 
+7dab 20407d84 call ui_ipc_put_lock 
+7dac 477cc03f bpatchx patch3f_1 ,mem_patch3f 
+7dad 18427e00 copy temp ,pdata 
+7dae 207a0000 rtn blank 
+7daf c000fddd beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+7db0 c0017de2 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+7db1 c001fde8 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+7db2 c003fded beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+7db3 c0047dee beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+7db4 c004fdef beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+7db5 c005fdf2 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+7db6 c0067df3 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+7db7 c006fdf4 beq bt_cmd_start_adv ,check_51cmd_adv 
+7db8 c0077dfa beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+7db9 c007fdff beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+7dba c0087e05 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+7dbb c009fe0f beq bt_cmd_led_off ,check_51cmd_led_off 
+7dbc c00a7e11 beq bt_cmd_led_on ,check_51cmd_led_on 
+7dbd c00afe13 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+7dbe c00b7e15 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+7dbf c00bfe18 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+7dc0 c00c7e1a beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+7dc1 c00cfe1d beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+7dc2 c00dfe25 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+7dc3 c00f7e2f beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+7dc4 60008a99 store 1 ,mem_fifo_temp 
+7dc5 477d403f bpatchx patch3f_2 ,mem_patch3f 
+7dc6 204062bc call lmo_fifo_check 
+7dc7 243a7ddb nbranch check_51cmd_restore ,blank 
+
+check_51cmd_once_continue:
+7dc8 68008a99 fetch 1 ,mem_fifo_temp 
+7dc9 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+7dca c0027dea beq bt_cmd_disconnect ,check_51cmd_disconnect 
+7dcb c002cd17 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+7dcc c0034d26 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+7dcd c0057df0 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+7dce c008fe0a beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+7dcf c0097e0e beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+7dd0 c00efe26 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+7dd1 c00fe7cc beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+7dd2 c01067d0 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+7dd3 c010fe31 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+7dd4 c012e70b beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+7dd5 20600000 rtn 
+
+check_51cmd_check_idle:
+7dd6 60008a99 store 1 ,mem_fifo_temp 
+7dd7 20402252 call context_check_idle 
+7dd8 2022fddb branch check_51cmd_restore ,zero 
+7dd9 2040225a call context_search_plap 
+7dda 24628000 nrtn zero 
+
+check_51cmd_restore:
+7ddb 700a9001 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+7ddc 20207d8f branch ui_ipc_send_cmd 
+
+check_51cmd_start_discovery:
+7ddd 68014682 fetch 2 ,mem_ui_state_map 
+7dde 79207e06 set1 ui_state_bt_discovery 
+7ddf 60014682 store 2 ,mem_ui_state_map 
+7de0 70409303 jam 3 ,mem_scan_mode 
+7de1 20600000 rtn 
+
+check_51cmd_stop_discovery:
+7de2 70468000 jam 0 ,mem_hid_handshake_timer_count 
+7de3 70409300 jam 0 ,mem_scan_mode 
+7de4 68014682 fetch 2 ,mem_ui_state_map 
+7de5 793ffe06 set0 ui_state_bt_discovery 
+7de6 60014682 store 2 ,mem_ui_state_map 
+7de7 20600000 rtn 
+
+check_51cmd_reconnect:
+7de8 7041ce05 jam hci_cmd_create_conn ,mem_hci_cmd 
+7de9 20600000 rtn 
+
+check_51cmd_disconnect:
+7dea 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+7deb 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+7dec 20600000 rtn 
+
+check_51cmd_enter_sniff_subrating:
+7ded 20600000 rtn 
+
+check_51cmd_exit_sniff_subrating:
+7dee 20600000 rtn 
+
+check_51cmd_sniff_test:
+7def 20600000 rtn 
+
+check_51cmd_pincode:
+7df0 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+7df1 20204d0a branch cmd_pair 
+
+check_51cmd_inq:
+7df2 20600000 rtn 
+
+check_51cmd_stop_inq:
+7df3 20600000 rtn 
+
+check_51cmd_adv:
+7df4 70436e01 jam on ,mem_le_adv_enable 
+7df5 70448400 jam adv_ind ,mem_le_adv_type 
+7df6 68014682 fetch 2 ,mem_ui_state_map 
+7df7 79207e0b set1 ui_state_ble_adv ,pdata 
+7df8 60014682 store 2 ,mem_ui_state_map 
+7df9 20600000 rtn 
+
+check_51cmd_stop_adv:
+7dfa 68014682 fetch 2 ,mem_ui_state_map 
+7dfb 793ffe0b set0 ui_state_ble_adv ,pdata 
+7dfc 60014682 store 2 ,mem_ui_state_map 
+7dfd 70436e00 jam off ,mem_le_adv_enable 
+7dfe 20600000 rtn 
+
+check_51cmd_direct_adv:
+7dff 70436e01 jam on ,mem_le_adv_enable 
+7e00 70448401 jam adv_direct_ind ,mem_le_adv_type 
+7e01 68014682 fetch 2 ,mem_ui_state_map 
+7e02 79207e0b set1 ui_state_ble_adv ,pdata 
+7e03 60014682 store 2 ,mem_ui_state_map 
+7e04 20600000 rtn 
+
+check_51cmd_stop_direct_adv:
+7e05 68014682 fetch 2 ,mem_ui_state_map 
+7e06 793ffe0b set0 ui_state_ble_adv ,pdata 
+7e07 60014682 store 2 ,mem_ui_state_map 
+7e08 70436e00 jam off ,mem_le_adv_enable 
+7e09 20600000 rtn 
+
+check_51cmd_le_disconnect:
+7e0a 58000014 setarg 20 
+7e0b 6001046d store 2 ,mem_le_superto 
+7e0c 600144ba store 2 ,mem_le_init_superto 
+7e0d 20205c92 branch le_send_terminate_ind_user_terminated 
+
+check_51cmd_ble_update_connect_param:
+7e0e 20205abf branch le_l2cap_tx_update_req 
+
+check_51cmd_led_off:
+7e0f da200000 arg 0 ,rega 
+7e10 20207d19 branch ui_led_off_global 
+
+check_51cmd_led_on:
+7e11 da200000 arg 0 ,rega 
+7e12 20207d14 branch ui_led_on_global 
+
+check_51cmd_led_start_blink:
+7e13 da200000 arg 0 ,rega 
+7e14 20207d1e branch ui_led_blink_start_global 
+
+check_51cmd_le_start_con:
+7e15 70436901 jam on ,mem_le_scan_enable 
+7e16 7041ce1b jam hci_cmd_le_create_conn ,mem_hci_cmd 
+7e17 20600000 rtn 
+
+check_51cmd_start_scan:
+7e18 70436901 jam on ,mem_le_scan_enable 
+7e19 20600000 rtn 
+
+check_51cmd_stop_scan:
+7e1a 70436900 jam off ,mem_le_scan_enable 
+7e1b 7041ce00 jam 0 ,mem_hci_cmd 
+7e1c 20600000 rtn 
+
+check_51cmd_hibernate:
+7e1d 680141eb fetch 2 ,mem_cb_before_hibernate 
+7e1e 20407f9c call callback_func 
+7e1f 6800c686 fetch 1 ,mem_ui_button_gpio 
+7e20 c07ffe23 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+7e21 1fe20400 copy pdata ,temp 
+7e22 204067fb call gpio_config_input 
+
+check_51cmd_hibernate_btn_disabled:
+7e23 20407d98 call ui_ipc_clean_all_fifo 
+7e24 20202b1f branch lpm_hibernate 
+
+check_51cmd_le_smp_sec_req:
+7e25 20205b02 branch le_send_smp_security_request 
+
+check_51cmd_role_switch:
+7e26 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+7e27 79200003 set1 mark_switch_initiated ,mark 
+7e28 24748000 nrtn master 
+7e29 70455b00 jam switch_flag_init ,mem_switch_flag 
+7e2a 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+7e2b 6800816d fetch 1 ,mem_connection_options 
+7e2c 793ffe02 set0 connection_switch ,pdata 
+7e2d 6000816d store 1 ,mem_connection_options 
+7e2e 20600000 rtn 
+
+check_51cmd_bb_reconn_cancel:
+7e2f 18000e03 force page_length_timer ,queue 
+7e30 20207f07 branch timer_stop 
+
+check_51cmd_dhkey_not_accept:
+7e31 204062f8 call tid_set_reply 
+7e32 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7e33 20205f9d branch parse_lmp_dhkey_check_reject 
+
+ui_check_paring_button:
+7e34 6800c682 fetch 1 ,mem_ui_state_map 
+7e35 c4060000 rtnbit0 ui_state_btn_down 
+7e36 c4038000 rtnbit0 ui_state_bt_reconnect 
+7e37 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+queue_init:
+7e38 68014218 fetch 2 ,mem_queue_ptr 
+7e39 1fe08a02 add pdata ,queue_offset_curr_num ,contw 
+7e3a 58000000 setarg 0 
+7e3b e0a18000 istore 3 ,contw 
+7e3c 20600000 rtn 
+
+queue_push:
+7e3d 20407fe9 call disable_user 
+7e3e 20407e69 call queue_full 
+7e3f 207a0000 rtn blank 
+7e40 68014218 fetch 2 ,mem_queue_ptr 
+7e41 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e42 ea488000 ifetcht 1 ,regb 
+7e43 18408401 increase 1 ,temp 
+7e44 e2488000 istoret 1 ,regb 
+7e45 efe88000 ifetcht 1 ,pdata 
+7e46 18427200 copy temp ,loopcnt 
+7e47 1fe0a404 add pdata ,queue_offset_write_ptr ,regb 
+7e48 ea408000 ifetch 1 ,regb 
+7e49 984ffe00 imul32 temp ,pdata 
+7e4a 98c08a00 iadd contr ,contw 
+7e4b 1a220c00 copy rega ,contr 
+
+calc_queue_next_ptr:
+7e4c 20407f01 call memcpy 
+7e4d 20407e6d call queue_get_size 
+7e4e 1fe0ffff pincrease -1 
+7e4f ea488000 ifetcht 1 ,regb 
+7e50 18408401 increase 1 ,temp 
+7e51 98410400 iand temp ,temp 
+7e52 e2488000 istoret 1 ,regb 
+7e53 20207fe7 branch enable_user 
+
+queue_pop:
+7e54 20407fe9 call disable_user 
+7e55 20407e65 call queue_empty 
+7e56 207a0000 rtn blank 
+7e57 68014218 fetch 2 ,mem_queue_ptr 
+7e58 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e59 ea488000 ifetcht 1 ,regb 
+7e5a 184085ff increase -1 ,temp 
+7e5b e2488000 istoret 1 ,regb 
+7e5c efe88000 ifetcht 1 ,pdata 
+7e5d 18427200 copy temp ,loopcnt 
+7e5e 1fe0a403 add pdata ,queue_offset_read_ptr ,regb 
+7e5f ea408000 ifetch 1 ,regb 
+7e60 984ffe00 imul32 temp ,pdata 
+7e61 98c08c00 iadd contr ,contr 
+7e62 18c08c01 increase 1 ,contr 
+7e63 1a220a00 copy rega ,contw 
+7e64 20207e4c branch calc_queue_next_ptr 
+
+queue_empty:
+7e65 68014218 fetch 2 ,mem_queue_ptr 
+7e66 1fe08c02 add pdata ,queue_offset_curr_num ,contr 
+7e67 e8c08000 ifetch 1 ,contr 
+7e68 20600000 rtn 
+
+queue_full:
+7e69 20407e6d call queue_get_size 
+7e6a e8c88000 ifetcht 1 ,contr 
+7e6b 98467e00 isub temp ,pdata 
+7e6c 20600000 rtn 
+
+queue_get_size:
+7e6d 68014218 fetch 2 ,mem_queue_ptr 
+7e6e 1fe08c01 add pdata ,queue_offset_length ,contr 
+7e6f e8c08000 ifetch 1 ,contr 
+7e70 20600000 rtn 
+
+right_shift_n:
+7e71 1f267c00 sub loopcnt ,0 ,null 
+7e72 20628000 rtn zero 
+
+right_shift_n_loop:
+7e73 1fe37e00 rshift pdata ,pdata 
+7e74 c2007e73 loop right_shift_n_loop 
+7e75 20600000 rtn 
+
+left_shift_n:
+7e76 18007e01 force 1 ,pdata 
+7e77 1f267c00 sub loopcnt ,0 ,null 
+7e78 20628000 rtn zero 
+
+left_shift_n_loop:
+7e79 1fe3fe00 lshift pdata ,pdata 
+7e7a c2007e79 loop left_shift_n_loop 
+7e7b 20600000 rtn 
+
+push_stack:
+7e7c 18a27e00 deposit contw 
+7e7d 60010abb store 2 ,mem_contw 
+7e7e 600c0aa2 storet 8 ,mem_temp 
+7e7f 19627e00 deposit timeup 
+7e80 60020aaa store 4 ,mem_timeup 
+7e81 20407e85 call push_stack_rega_b_c 
+7e82 18c27e00 deposit contr 
+7e83 60010ab9 store 2 ,mem_contr 
+7e84 20600000 rtn 
+
+push_stack_rega_b_c:
+7e85 1a227e00 deposit rega 
+7e86 60020aae store 4 ,mem_rega 
+7e87 1a427e00 deposit regb 
+7e88 60020ab2 store 4 ,mem_regb 
+7e89 1a627e00 deposit regc 
+7e8a 60018ab6 store 3 ,mem_regc 
+7e8b 20600000 rtn 
+
+pop_stack:
+7e8c 680c0aa2 fetcht 8 ,mem_temp 
+7e8d 68020aaa fetch 4 ,mem_timeup 
+7e8e 98001600 iforce timeup 
+7e8f 20407e95 call pop_stack_rega_b_c 
+7e90 68010abb fetch 2 ,mem_contw 
+7e91 98000a00 iforce contw 
+7e92 68010ab9 fetch 2 ,mem_contr 
+7e93 98000c00 iforce contr 
+7e94 20600000 rtn 
+
+pop_stack_rega_b_c:
+7e95 68020aae fetch 4 ,mem_rega 
+7e96 98002200 iforce rega 
+7e97 68020ab2 fetch 4 ,mem_regb 
+7e98 98002400 iforce regb 
+7e99 68018ab6 fetch 3 ,mem_regc 
+7e9a 98002600 iforce regc 
+7e9b 20600000 rtn 
+
+get_contw:
+7e9c 68010abb fetch 2 ,mem_contw 
+7e9d 1fe20a00 copy pdata ,contw 
+7e9e 20600000 rtn 
+
+get_contr:
+7e9f 68010ab9 fetch 2 ,mem_contr 
+7ea0 1fe20c00 copy pdata ,contr 
+7ea1 20600000 rtn 
+
+store_contw:
+7ea2 18a27e00 copy contw ,pdata 
+7ea3 60010abb store 2 ,mem_contw 
+7ea4 20600000 rtn 
+
+store_contr:
+7ea5 18c27e00 copy contr ,pdata 
+7ea6 60010ab9 store 2 ,mem_contr 
+7ea7 20600000 rtn 
+
+save_cont_pointers:
+7ea8 18a27e00 copy contw ,pdata 
+7ea9 60010a97 store 2 ,mem_hold_contw 
+7eaa 18c27e00 copy contr ,pdata 
+7eab 60010a95 store 2 ,mem_hold_contr 
+7eac 20600000 rtn 
+
+load_cont_pointers:
+7ead 68010a97 fetch 2 ,mem_hold_contw 
+7eae 1fe20a00 copy pdata ,contw 
+7eaf 68010a95 fetch 2 ,mem_hold_contr 
+7eb0 1fe20c00 copy pdata ,contr 
+7eb1 20600000 rtn 
+
+memcpy96:
+7eb2 20407ebd call memcpy32 
+
+memcpy64:
+7eb3 20407ebd call memcpy32 
+7eb4 20207ebd branch memcpy32 
+
+memcpy12:
+7eb5 20407eb9 call memcpy8 
+
+memcpy4:
+7eb6 e8c20000 ifetch 4 ,contr 
+7eb7 e0a20000 istore 4 ,contw 
+7eb8 20600000 rtn 
+
+memcpy8:
+7eb9 e8c40000 ifetch 8 ,contr 
+7eba e0a40000 istore 8 ,contw 
+7ebb 20600000 rtn 
+
+memcpy48:
+7ebc 20407ebf call memcpy16 
+
+memcpy32:
+7ebd 20407eb9 call memcpy8 
+
+memcpy24:
+7ebe 20407eb9 call memcpy8 
+
+memcpy16:
+7ebf 20407eb9 call memcpy8 
+7ec0 20207eb9 branch memcpy8 
+
+delay_10ms:
+7ec1 df20000a arg 10 ,loopcnt 
+
+delay_ms_wait:
+7ec2 20002ee0 nop 12000 
+7ec3 c2007ec2 loop delay_ms_wait 
+7ec4 20600000 rtn 
+
+bn_zero:
+7ec5 18007203 force 3 ,loopcnt 
+
+memset0:
+7ec6 18007e00 force 0 ,pdata 
+
+memset8:
+7ec7 e0a40000 istore 8 ,contw 
+7ec8 c2007ec7 loop memset8 
+7ec9 20600000 rtn 
+
+memset0_8:
+7eca 18007e00 force 0 ,pdata 
+7ecb e0a40000 istore 8 ,contw 
+7ecc 20600000 rtn 
+
+memset0_4:
+7ecd 18007e00 force 0 ,pdata 
+7ece e0a20000 istore 4 ,contw 
+7ecf 20600000 rtn 
+
+clear_mem_256:
+7ed0 18007204 force 4 ,loopcnt 
+7ed1 20207ec6 branch memset0 
+
+clear_mem_512:
+7ed2 18007208 force 8 ,loopcnt 
+7ed3 20207ec6 branch memset0 
+
+clear_mem:
+7ed4 1f227e00 deposit loopcnt 
+7ed5 207a0000 rtn blank 
+7ed6 58000000 setarg 0 
+
+clear_mem_loop:
+7ed7 e0a08000 istore 1 ,contw 
+7ed8 c2007ed7 loop clear_mem_loop 
+7ed9 20600000 rtn 
+
+clear_temp_block:
+7eda df200020 arg 32 ,loopcnt 
+7edb d8a00ac2 arg mem_temp_block0 ,contw 
+7edc 20207ed4 branch clear_mem 
+
+xor_loop:
+7edd ea620000 ifetch 4 ,regc 
+7ede ea2a0000 ifetcht 4 ,rega 
+7edf 9842fe00 ixor temp ,pdata 
+7ee0 e0a20000 istore 4 ,contw 
+7ee1 1a20a204 increase 4 ,rega 
+7ee2 1a60a604 increase 4 ,regc 
+7ee3 c2007edd loop xor_loop 
+7ee4 20600000 rtn 
+
+inverse_data:
+7ee5 477dc03f bpatchx patch3f_3 ,mem_patch3f 
+7ee6 1f227e00 copy loopcnt ,pdata 
+7ee7 1fe67c01 sub pdata ,1 ,null 
+7ee8 20610000 rtn positive 
+7ee9 9a20a400 iadd rega ,regb 
+7eea 1a40a5ff increase -1 ,regb 
+7eeb 1f237200 rshift loopcnt ,loopcnt 
+
+inverse_loop:
+7eec ea288000 ifetcht 1 ,rega 
+7eed ea408000 ifetch 1 ,regb 
+7eee e2208000 istore 1 ,rega 
+7eef e2488000 istoret 1 ,regb 
+7ef0 1a40a5ff increase -1 ,regb 
+7ef1 1a20a201 increase 1 ,rega 
+7ef2 c2007eec loop inverse_loop 
+7ef3 20600000 rtn 
+
+memcpy_fast:
+7ef4 1f227e00 deposit loopcnt 
+7ef5 207a0000 rtn blank 
+
+memcpy_fast_loop:
+7ef6 1f20f3f8 increase -8 ,loopcnt 
+7ef7 20417eb9 call memcpy8 ,positive 
+7ef8 20628000 rtn zero 
+7ef9 20217ef6 branch memcpy_fast_loop ,positive 
+7efa 1f20f208 increase 8 ,loopcnt 
+
+memcpy_fast_loop_four:
+7efb 1f20f3fc increase -4 ,loopcnt 
+7efc 20417eb6 call memcpy4 ,positive 
+7efd 20628000 rtn zero 
+7efe 20217efb branch memcpy_fast_loop_four ,positive 
+7eff 1f20f204 increase 4 ,loopcnt 
+7f00 20207f01 branch memcpy 
+
+memcpy:
+7f01 1f227e00 deposit loopcnt 
+7f02 207a0000 rtn blank 
+
+memcpy_loop:
+7f03 e8c08000 ifetch 1 ,contr 
+7f04 e0a08000 istore 1 ,contw 
+7f05 c2007f03 loop memcpy_loop 
+7f06 20600000 rtn 
+
+timer_stop:
+7f07 58000000 setarg 0 
+
+timer_init:
+7f08 1c430400 rshift clkn_bt ,temp 
+7f09 600a4094 storet 4 ,mem_last_clkn 
+7f0a d8a0419d arg mem_timers ,contw 
+7f0b 98000400 iforce temp 
+7f0c 18e3fe00 lshift queue ,pdata 
+7f0d 98a08a00 iadd contw ,contw 
+7f0e e0a90000 istoret 2 ,contw 
+7f0f 477e403f bpatchx patch3f_4 ,mem_patch3f 
+7f10 20600000 rtn 
+
+timer_check_timeout:
+7f11 d9600800 arg 0x800 ,timeup 
+7f12 19701600 lshift16 timeup ,timeup 
+7f13 9960fe00 iadd timeup ,pdata 
+7f14 20600000 rtn 
+
+timer_reinit:
+7f15 d8e00000 arg 0 ,queue 
+
+timer_check:
+7f16 477ec03f bpatchx patch3f_5 ,mem_patch3f 
+7f17 680a4094 fetcht 4 ,mem_last_clkn 
+7f18 1c437e00 rshift clkn_bt ,pdata 
+7f19 60024094 store 4 ,mem_last_clkn 
+7f1a 98467c00 isub temp ,null 
+7f1b 24417f11 ncall timer_check_timeout ,positive 
+7f1c 98461600 isub temp ,timeup 
+7f1d 19620400 copy timeup ,temp 
+7f1e d8c0419d arg mem_timers ,contr 
+7f1f 18c20a00 copy contr ,contw 
+7f20 df200010 arg 16 ,loopcnt 
+
+timer_loop:
+7f21 e8c10000 ifetch 2 ,contr 
+7f22 98467e00 isub temp ,pdata 
+7f23 20217f25 branch timer_counting ,positive 
+7f24 18007e00 force 0 ,pdata 
+
+timer_counting:
+7f25 e0a10000 istore 2 ,contw 
+7f26 c2007f21 loop timer_loop 
+7f27 d8c0419d arg mem_timers ,contr 
+7f28 18e3fe00 lshift queue ,pdata 
+7f29 98c08c00 iadd contr ,contr 
+7f2a e8c10000 ifetch 2 ,contr 
+7f2b 20600000 rtn 
+
+clk_add:
+7f2c 98408400 iadd temp ,temp 
+7f2d 18427200 copy temp ,loopcnt 
+7f2e 58000ea6 setarg 3750 
+7f2f 9f267e00 isub loopcnt ,pdata 
+7f30 20610000 rtn positive 
+7f31 1fe67e00 sub pdata ,0 ,pdata 
+7f32 18510400 rshift16 temp ,temp 
+7f33 18408401 increase 1 ,temp 
+7f34 18500400 lshift16 temp ,temp 
+7f35 98418400 ior temp ,temp 
+7f36 20600000 rtn 
+
+clk_diff_rt:
+7f37 20407f39 call clk_diff 
+7f38 20207f43 branch clk2rt 
+
+clk_diff:
+7f39 78547c00 disable user 
+7f3a 98467e00 isub temp ,pdata 
+7f3b 20217f3e branch clk_diff_pos ,positive 
+7f3c 78347c00 enable user 
+7f3d 1fe67e00 sub pdata ,0 ,pdata 
+
+clk_diff_pos:
+7f3e c4078000 rtnbit0 15 
+7f3f d85f0ea6 arg -61786 ,temp 
+7f40 9840fe00 iadd temp ,pdata 
+7f41 793ffe40 set0 64 ,pdata 
+7f42 20600000 rtn 
+
+clk2rt:
+7f43 98000c00 iforce contr 
+7f44 1ff17e00 rshift16 pdata ,pdata 
+7f45 d8400ea6 arg 3750 ,temp 
+7f46 984ffe00 imul32 temp ,pdata 
+7f47 98c0fe00 iadd contr ,pdata 
+7f48 20600000 rtn 
+
+clk2lpo:
+7f49 1fed7e00 lshift8 pdata ,pdata 
+7f4a 1ff27e00 lshift4 pdata ,pdata 
+7f4b 6809c16f fetcht 3 ,mem_clks_per_lpo 
+7f4c 9846fc00 idiv temp 
+7f4d 20407f86 call wait_div_end 
+7f4e 18078400 quotient temp 
+7f4f 20600000 rtn 
+
+clk2bt:
+7f50 d8400ea6 arg 3750 ,temp 
+7f51 9846fc00 idiv temp 
+7f52 20407f86 call wait_div_end 
+7f53 1807fe00 quotient pdata 
+7f54 1ff07e00 lshift16 pdata ,pdata 
+7f55 18070400 remainder temp 
+7f56 98418400 ior temp ,temp 
+7f57 20600000 rtn 
+
+string2dec_from_uart:
+7f58 d8400000 arg 0 ,temp 
+
+string2dec_from_uart_done:
+7f59 18422600 copy temp ,regc 
+7f5a e8608000 ifetch 1 ,contru 
+7f5b 20407f64 call uchar2dialog 
+7f5c 1a620400 copy regc ,temp 
+7f5d 20407f95 call swap 
+7f5e da40000a arg 10 ,regb 
+7f5f 9a4ffe00 imul32 regb ,pdata 
+7f60 9840fe00 iadd temp ,pdata 
+7f61 1fe20400 copy pdata ,temp 
+7f62 c2007f59 loop string2dec_from_uart_done 
+7f63 20600000 rtn 
+
+uchar2dialog:
+7f64 d840003a arg 0x3a ,temp 
+7f65 98467c00 isub temp ,null 
+7f66 24217f6d nbranch uchar2dialog_number ,positive 
+7f67 d8400061 arg 0x61 ,temp 
+7f68 98467c00 isub temp ,null 
+7f69 20217f70 branch uchar2dialog_a2f ,positive 
+7f6a d8400037 arg 0x37 ,temp 
+7f6b 98467e00 isub temp ,pdata 
+7f6c 20600000 rtn 
+
+uchar2dialog_number:
+7f6d d8400030 arg 0x30 ,temp 
+7f6e 98467e00 isub temp ,pdata 
+7f6f 20600000 rtn 
+
+uchar2dialog_a2f:
+7f70 d8400057 arg 0x57 ,temp 
+7f71 98467e00 isub temp ,pdata 
+7f72 20600000 rtn 
+
+pn9:
+7f73 18426000 copy temp ,alarm 
+7f74 580001ff setarg 0x1ff 
+7f75 18002400 force 0 ,regb 
+
+pn9_loop:
+7f76 1fe92200 rshift3 pdata ,rega 
+7f77 1a232200 rshift rega ,rega 
+7f78 9a22a200 ixor rega ,rega 
+7f79 2a2ffe00 isolate1 0 ,rega 
+7f7a 7920fe09 setflag true ,9 ,pdata 
+7f7b 18430400 rshift temp ,temp 
+7f7c 2feffe00 isolate1 0 ,pdata 
+7f7d 79208407 setflag true ,7 ,temp 
+7f7e 1fe37e00 rshift pdata ,pdata 
+7f7f 1a40a401 increase 1 ,regb 
+7f80 2a400e00 compare 0 ,regb ,0x7 
+7f81 2420ff76 nbranch pn9_loop ,true 
+7f82 e0a88000 istoret 1 ,contw 
+7f83 c2007f76 loop pn9_loop 
+7f84 1e020400 copy alarm ,temp 
+7f85 20600000 rtn 
+
+wait_div_end:
+7f86 207a8000 rtn modone 
+7f87 20207f86 branch wait_div_end 
+
+compare_loop:
+
+string_compare:
+7f88 ea208000 ifetch 1 ,rega 
+7f89 ea488000 ifetcht 1 ,regb 
+7f8a 98467c00 isub temp ,null 
+7f8b 24628000 nrtn zero 
+7f8c 1a20a201 increase 1 ,rega 
+7f8d 1a40a401 increase 1 ,regb 
+7f8e c2007f88 loop string_compare 
+7f8f 18007c00 force 0 ,null 
+7f90 20600000 rtn 
+
+ceiling:
+7f91 98467c00 isub temp ,null 
+7f92 24610000 nrtn positive 
+7f93 18427e00 deposit temp 
+7f94 20600000 rtn 
+
+swap:
+7f95 9840fe00 iadd temp ,pdata 
+7f96 98460400 isub temp ,temp 
+7f97 98467e00 isub temp ,pdata 
+7f98 20600000 rtn 
+
+clean_mem:
+7f99 df200200 arg 0x200 ,loopcnt 
+7f9a d8a04000 arg 0x4000 ,contw 
+7f9b 20207ec6 branch memset0 
+
+callback_func:
+7f9c 207a0000 rtn blank 
+7f9d 1fe27a00 copy pdata ,pc 
+
+wait_uarttx:
+7f9e 6811010e hfetch 2 ,core_uart_txitems 
+7f9f 243a7f9e nbranch wait_uarttx ,blank 
+7fa0 20600000 rtn 
+
+ice_break:
+7fa1 70820301 jam 0x1 ,core_ice_ctrl 
+7fa2 20600000 rtn 
+
+ice_setbp:
+7fa3 60110205 hstore 2 ,core_ice_break0 
+7fa4 68108203 hfetch 1 ,core_ice_ctrl 
+7fa5 79207e04 set1 4 ,pdata 
+7fa6 60108203 hstore 1 ,core_ice_ctrl 
+7fa7 20600000 rtn 
+
+ice_setbp2:
+7fa8 60110207 hstore 2 ,core_ice_break1 
+7fa9 68108203 hfetch 1 ,core_ice_ctrl 
+7faa 79207e06 set1 6 ,pdata 
+7fab 60108203 hstore 1 ,core_ice_ctrl 
+7fac 20600000 rtn 
+
+ice_set_write_bp:
+7fad 60110205 hstore 2 ,core_ice_break0 
+7fae 70820330 jam 0x30 ,core_ice_ctrl 
+7faf 20600000 rtn 
+
+test_enable_white:
+7fb0 68108043 hfetch 1 ,core_config 
+7fb1 793ffe04 set0 whiteoff_bit ,pdata 
+7fb2 60108043 hstore 1 ,core_config 
+7fb3 20600000 rtn 
+
+check_uart_tx_buff:
+7fb4 6811010e hfetch 2 ,core_uart_txitems 
+7fb5 d8400200 arg uart_air_control_threshold ,temp 
+
+pdata_sub_temp:
+7fb6 98467c00 isub temp ,null 
+7fb7 20600000 rtn 
+
+fifo_in:
+7fb8 477f403f bpatchx patch3f_6 ,mem_patch3f 
+7fb9 ea2c0000 ifetcht util_fifo_len ,rega 
+7fba 18417eff and temp ,0xff ,pdata 
+7fbb 243a7fbe nbranch fifo_in_push ,blank 
+7fbc 184cfe00 rshift8 temp ,pdata 
+7fbd e2240000 istore util_fifo_len ,rega 
+
+fifo_in_push:
+7fbe 1a20a207 increase util_fifo_len + util_fifo_offset ,rega 
+7fbf ea208000 ifetch 1 ,rega 
+7fc0 243a2a8c nbranch assert ,blank 
+7fc1 68008a99 fetch 1 ,mem_fifo_temp 
+7fc2 e2208000 istore 1 ,rega 
+7fc3 20600000 rtn 
+
+fifo_out:
+7fc4 477fc03f bpatchx patch3f_7 ,mem_patch3f 
+7fc5 df200008 arg util_fifo_len ,loopcnt 
+7fc6 ea240000 ifetch util_fifo_len ,rega 
+7fc7 207a0000 rtn blank 
+
+fifo_out_loop:
+7fc8 ea208000 ifetch 1 ,rega 
+7fc9 243a7fcd nbranch fifo_out_end ,blank 
+7fca 1a20a201 increase 1 ,rega 
+7fcb c2007fc8 loop fifo_out_loop 
+7fcc 20202a8c branch assert 
+
+fifo_out_end:
+7fcd d8400000 arg 0 ,temp 
+7fce e2288000 istoret 1 ,rega 
+7fcf 20600000 rtn 
+
+fifo_is_empty:
+7fd0 ea240000 ifetch util_fifo_len ,rega 
+7fd1 20600000 rtn 
+
+fifo_is_full:
+7fd2 ea208000 ifetch 1 ,rega 
+7fd3 20600000 rtn 
+
+fifo_is_near_full:
+7fd4 ea210000 ifetch 2 ,rega 
+7fd5 20600000 rtn 
+
+fifo_content_count:
+7fd6 d8400000 arg 0 ,temp 
+
+fifo_content_count_loop:
+7fd7 68008006 fetch 1 ,contr 
+7fd8 c2007fd7 loop fifo_content_count_loop ,blank 
+7fd9 18408401 increase 1 ,temp 
+7fda c2007fd7 loop fifo_content_count_loop 
+7fdb 18427e00 copy temp ,pdata 
+7fdc 20600000 rtn 
+
+not_greater_than:
+7fdd 98467c00 isub temp ,null 
+7fde 24610000 nrtn positive 
+7fdf 18427e00 copy temp ,pdata 
+7fe0 20600000 rtn 
+
+disable_positive:
+7fe1 18007dff force -1 ,null 
+7fe2 20600000 rtn 
+
+enable_positive:
+
+disable_zero:
+7fe3 18007c01 force 1 ,null 
+7fe4 20600000 rtn 
+
+enable_zero:
+7fe5 18007c00 force 0 ,null 
+7fe6 20600000 rtn 
+
+enable_user:
+7fe7 78347c00 enable user 
+7fe8 20600000 rtn 
+
+disable_user:
+7fe9 78547c00 disable user 
+7fea 20600000 rtn 
+
+enable_user2:
+7feb 78367c00 enable user2 
+7fec 20600000 rtn 
+
+disable_user2:
+7fed 78567c00 disable user2 
+7fee 20600000 rtn 
+
+disable_blank:
+7fef 58000001 setarg 1 
+7ff0 20600000 rtn 
+
+enable_blank:
+7ff1 58000000 setarg 0 
+7ff2 20600000 rtn 
+
+reverse_byte:
+7ff3 1f227e00 copy loopcnt ,pdata 
+7ff4 207a0000 rtn blank 
+7ff5 18c27e00 copy contr ,pdata 
+7ff6 9f20fe00 iadd loopcnt ,pdata 
+7ff7 1fe0ffff increase -1 ,pdata 
+7ff8 1fe20c00 copy pdata ,contr 
+
+reverse_loop:
+7ff9 e8c08000 ifetch 1 ,contr 
+7ffa 18c08dfe increase -2 ,contr 
+7ffb e0a08000 istore 1 ,contw 
+7ffc c2007ff9 loop reverse_loop 
+7ffd 20600000 rtn 
+org 0x10001
+
+z_entrance0:
+10001 c0000003  beq zcode_00 ,z_page_wait_fhs_reply_ok
+10002 20600000  rtn
+
+z_page_wait_fhs_reply_ok:
+10003 6800800e  fetch 1 ,mem_page_rcv_fhs
+10004 1fe0fe01  increase 1 ,pdata
+10005 6000800e  store 1 ,mem_page_rcv_fhs
+10006 20402435  call prepare_newconn
+
+z_master_newconn_loop:
+10007 7920002c  set1 mark_first_packet ,mark
+10008 204022f2  call master_newconn_once
+10009 202c000e  branch z_newconn_poll_responded ,sync
+1000a 793f802c  set0 mark_first_packet ,mark
+1000b 20402455  call new_conn_timeout
+1000c 243a0007  nbranch z_master_newconn_loop ,blank
+1000d 202020fc  branch page_restart
+
+z_newconn_poll_responded:
+1000e 793f802c  set0 mark_first_packet ,mark
+1000f 2020215f  branch newconn_poll_responded
+org 0x20001
+
+z_entrance1:
+20001 c0080004  beq zcode_10 ,z_mouse_bb_disconnected
+20002 c0088015  beq zcode_11 ,z_hid_rx_process
+20003 20600000  rtn
+
+z_mouse_bb_disconnected:
+20004 70480800  jam 0 ,mem_mouse_enter_sniff_count
+20005 7041e30e  jam 0x0e ,mem_sniff_param_interval
+20006 204041e7  call mouse_bb_discon_clear_stack
+20007 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
+20008 c283c1f5  bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
+20009 c28033a9  bbit1 app_disc_by_button ,app_disconn_reason_clear
+2000a c280800e  bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
+2000b c2810011  bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
+2000c c2818011  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+2000d 202042b0  branch mouse_start_discovery
+
+z_mouse_event_light_state_pairing:
+2000e c2828011  bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
+2000f c2818011  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+20010 202042b0  branch mouse_start_discovery
+
+z_mouse_event_light_state_hibernate:
+20011 68014682  fetch 2 ,mem_ui_state_map
+20012 c28642b0  bbit1 ui_state_btn_down ,mouse_start_discovery
+20013 204033a9  call app_disconn_reason_clear
+20014 202033a7  branch app_bb_hibernate
+
+z_hid_rx_process:
+20015 68010264  fetch 2 ,mem_l2cap_payload_ptr
+20016 1fe20c00  copy pdata ,contr
+20017 e8c08000  ifetch 1 ,contr
+20018 6000cb02  store 1 ,mem_l2cap_rcv
+20019 1fe1040f  and pdata ,0x0f ,temp
+2001a 1ff1fe00  rshift4 pdata ,pdata
+2001b c003801e  beq hid_type_set_protocol ,z_hid_rx_set_protocol
+2001c c0008025  beq hid_type_control ,z_hid_rx_process_hid_control
+2001d 20204d39  branch hid_rx_process + 6
+
+z_hid_rx_set_protocol:
+2001e 20404d53  call hid_rx_process_handshake
+2001f 704b0300  jam 0 ,mem_mouse_bt_boot_mode
+20020 6800cb02  fetch 1 ,mem_l2cap_rcv
+20021 2feffe00  isolate1 0 ,pdata
+20022 20608000  rtn true
+20023 704b0301  jam 1 ,mem_mouse_bt_boot_mode
+20024 20600000  rtn
+
+z_hid_rx_process_hid_control:
+20025 18427e00  copy temp ,pdata
+20026 c002848c  beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
+20027 20204d41  branch hid_rx_process_hid_control + 2
+org 0x30001
+
+z_entrance2:
+30001 c0100003  beq zcode_20 ,z_send_lmp
+30002 20600000  rtn
+
+z_send_lmp:
+30003 78547c00  disable user
+30004 204062c1  call lmo_fifo_process
+30005 68008048  fetch 1 ,mem_lmp_to_send
+30006 207a0000  rtn blank
+30007 c283800d  bbit1 7 ,z_send_lmp_escape
+30008 c0018024  beq lmp_accepted ,z_send_lmp_accepted
+30009 c0188019  beq lmp_setup_complete ,z_send_lmp_setup_complete
+3000a c00b801b  beq lmp_sniff_req ,z_send_lmp_sniff_req
+3000b c003801d  beq lmp_detach ,z_send_lmp_detach
+3000c 20206010  branch send_lmp0
+
+z_send_lmp_escape:
+3000d c0420010  beq lmp_ext_features_res ,z_send_lmpext_features_res
+3000e c0418013  beq lmp_ext_features_req ,z_send_lmpext_features_req
+3000f 2020603f  branch send_lmp_escape
+
+z_send_lmpext_features_res:
+30010 20400016  call z_check_ssp_enable
+30011 68008048  fetch 1 ,mem_lmp_to_send
+30012 20206099  branch send_lmpext_features_res
+
+z_send_lmpext_features_req:
+30013 20400016  call z_check_ssp_enable
+30014 68008048  fetch 1 ,mem_lmp_to_send
+30015 2020610d  branch send_lmpext_features_req
+
+z_check_ssp_enable:
+30016 6800c65a  fetch 1 ,mem_ssp_enable
+30017 203a612b  branch ssp_disable ,blank
+30018 20206124  branch ssp_enable
+
+z_send_lmp_setup_complete:
+30019 704b0101  jam 1 ,mem_bt_send_lmp_setup_complete
+3001a 202061c3  branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+3001b 704b0904  jam 4 ,mem_mouse_bt_send_first_package_timer
+3001c 202061a4  branch send_lmp_sniff_req
+
+z_send_lmp_detach:
+3001d 20406152  call send_lmp_detach
+3001e 6800cb55  fetch 1 ,mem_mouse_bt_reconnect_flag
+3001f 207a0000  rtn blank
+30020 6800804b  fetch 1 ,mem_op
+30021 793ffe03  set0 op_disconn ,pdata
+30022 6000804b  store 1 ,mem_op
+30023 20200331  branch p_mouse_sensor_powerdown
+
+z_send_lmp_accepted:
+30024 18007e02  force 2 ,pdata
+30025 20406298  call msg_send_lmp
+30026 68008049  fetch 1 ,mem_lmi_opcode
+30027 e0a08000  istore 1 ,contw
+30028 6000cafc  store 1 ,mem_lmi_opcode_temp
+30029 204062a7  call send_lmp_follow
+3002a 6800cafc  fetch 1 ,mem_lmi_opcode_temp
+3002b c017002d  beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
+3002c 20206051  branch send_lmp_accepted + 7
+
+z_send_lmp_accepted_max_slot_req:
+3002d 6800caff  fetch 1 ,mem_bt_rcvd_switch_req_accept
+3002e 207a0000  rtn blank
+3002f 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+30030 6800cb01  fetch 1 ,mem_bt_send_lmp_setup_complete
+30031 c1810000  rtnne 2
+30032 704b0001  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+30033 1c427e00  copy clkn_bt ,pdata
+30034 600204e9  store 4 ,mem_aurand_send_delay_time
+30035 20600000  rtn
+org 0x40001
+
+z_entrance3:
+40001 c0180003  beq zcode_30 ,z_process_conn_sm
+40002 20600000  rtn
+
+z_process_conn_sm:
+40003 204062bc  call lmo_fifo_check
+40004 247a0000  nrtn blank
+
+z_process_conn_sm_continue:
+40005 68008055  fetch 1 ,mem_conn_sm
+40006 207a0000  rtn blank
+40007 c0020025  beq conn_sm_send_conn_req ,z_host_create_conn_send_conn_req
+40008 c008000a  beq conn_sm_wait_switch_after_host_connection ,z_host_creat_conn_wait_switch
+40009 20206320  branch process_conn_sm_continue + 2
+
+z_host_creat_conn_wait_switch:
+4000a 6800c55b  fetch 1 ,mem_switch_flag
+4000b c1000000  rtneq switch_flag_init
+4000c c000800e  beq switch_flag_accept ,z_host_create_conn_switch_accept
+4000d 2020635f  branch host_creat_conn_wait_switch + 3
+
+z_host_create_conn_switch_accept:
+4000e 20748000  rtn master
+
+z_host_create_conn_auth_pair:
+4000f 6800816d  fetch 1 ,mem_connection_options
+40010 c2800012  bbit1 connection_auth ,z_host_create_conn_auth_pair_true
+40011 20206399  branch host_create_conn_auth_pair + 1
+
+z_host_create_conn_auth_pair_true:
+40012 6800cb01  fetch 1 ,mem_bt_send_lmp_setup_complete
+40013 c000e39d  beq 1 ,host_create_conn_auth_pair_true
+40014 6800c1bd  fetch 1 ,mem_link_key_exists
+40015 203a63a9  branch host_create_conn_auth_pair_nokey ,blank
+40016 680084d1  fetch 1 ,mem_lmp_conn_state
+40017 c4018000  rtnbit0 sent_setup_complete
+40018 c4010000  rtnbit0 received_setup_complete
+40019 6800cb00  fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch
+4001a 207a0000  rtn blank
+4001b 704b0000  jam 0 ,mem_bt_send_max_slot_req_accept_after_switch
+4001c 680204e9  fetch 4 ,mem_aurand_send_delay_time
+4001d d8400014  arg 20 ,temp
+4001e 98408400  iadd temp ,temp
+4001f 1c427e00  copy clkn_bt ,pdata
+40020 98467c00  isub temp ,null
+40021 24210023  nbranch z_bt_send_max_slot_req_accept_after_switch_wait ,positive
+40022 20206349  branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+40023 704b0001  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+40024 20600000  rtn
+
+z_host_create_conn_send_conn_req:
+40025 70480914  jam 20 ,mem_mouse_send_switch_req_timer
+40026 2020636f  branch host_create_conn_send_conn_req
+org 0x50001
+
+z_entrance4:
+50001 c0200004  beq zcode_40 ,z_le_update_param
+50002 c0208016  beq zcode_41 ,z_le_update_channel_map
+50003 20600000  rtn
+
+z_le_update_param:
+50004 2040000c  call z_mouse_le_conn_param_check
+50005 2020557d  branch le_update_param + 8
+
+z_mouse_le_lpm_mult_reinit:
+50006 6800c7c5  fetch 1 ,mem_lpm_mult_init
+50007 6000c172  store 1 ,mem_lpm_mult
+
+z_mouse_le_conn_param_lpm_enable:
+50008 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+50009 20600000  rtn
+
+z_mouse_le_conn_param_lpm_disable:
+5000a 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+5000b 20600000  rtn
+
+z_mouse_le_conn_param_check:
+5000c 6800c3d6  fetch 1 ,mem_le_new_conninterval
+5000d 1fe67c0c  sub pdata ,le_interval_15ms ,null
+5000e 2421000a  nbranch z_mouse_le_conn_param_lpm_disable ,positive
+5000f 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+50010 6808c7c5  fetcht 1 ,mem_lpm_mult_init
+50011 98467c00  isub temp ,null
+50012 20210006  branch z_mouse_le_lpm_mult_reinit ,positive
+50013 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+50014 6000c172  store 1 ,mem_lpm_mult
+50015 20200008  branch z_mouse_le_conn_param_lpm_enable
+
+z_le_update_channel_map:
+50016 6800843f  fetch 1 ,mem_le_state
+50017 c4030000  rtnbit0 lestate_update_map
+50018 2040001b  call z_le_channel_map_overflow_check
+50019 24740000  nrtn user
+5001a 202055a0  branch le_update_channel_map + 3
+
+z_le_channel_map_overflow_check:
+5001b 78347c00  enable user
+5001c 6800845a  fetch 1 ,mem_le_event_count + 1
+5001d 1ff1fe00  rshift4 pdata ,pdata
+5001e c1878000  rtnne 0x0f
+5001f 68008460  fetch 1 ,mem_le_instant + 1
+50020 1ff1fe00  rshift4 pdata ,pdata
+50021 c1800000  rtnne 0x00
+50022 20207fe9  branch disable_user
+org 0x60001
+
+z_entrance5:
+60001 c0280004  beq zcode_50 ,z_mouse_start_discovery
+60002 c028802d  beq zcode_51 ,z_mouse_24g_attempt_fail
+60003 20600000  rtn
+
+z_mouse_start_discovery:
+60004 204002f6  call p_mouse_tx_power_init
+60005 70479c00  jam 0 ,mem_mouse_clear_sensor_data_flag
+60006 20400395  call p_mouse_le_fast_conn_disable
+60007 68014682  fetch 2 ,mem_ui_state_map
+60008 c2858011  bbit1 ui_state_ble_adv ,z_mouse_start_discovery_norandom
+60009 204003a8  call p_mouse_load_random_addr_increase_count
+6000a 680947c2  fetcht 2 ,mem_random_addr_increase_count
+6000b 18408401  increase 1 ,temp
+6000c 600947c2  storet 2 ,mem_random_addr_increase_count
+6000d 600944a1  storet 2 ,mem_le_lap + 1
+6000e 20400359  call p_mouse_store_random_addr_increase_count
+6000f 180a7e00  random pdata
+60010 6000c4a0  store 1 ,mem_le_lap
+
+z_mouse_start_discovery_norandom:
+60011 58ed8e0e  setarg 0xed8e0e
+60012 6001c4a3  store 3 ,mem_le_lap + 3
+60013 20403418  call app_lpm_mult_disable
+60014 68014687  fetch 2 ,mem_discovery_timeout
+60015 600146ac  store 2 ,mem_mouse_discovery_timer
+60016 704b4705  jam 5 ,mem_mouse_bt_ble_led_timer
+60017 70016d06  jam 6 ,mem_connection_options
+60018 58000000  setarg 0
+60019 600146b0  store 2 ,mem_mouse_no_data_timer
+6001a 600146ae  store 2 ,mem_mouse_direct_timer
+6001b d8e00007  arg mouse_store_eeprom_flag ,queue
+6001c 204043ce  call mouse_enable_function_flag
+6001d 204043ca  call mouse_bt_discovery_button_down_disable
+6001e 6800c092  fetch 1 ,mem_device_option
+6001f 2feffe01  isolate1 mode_4_mouse ,pdata
+60020 20408026  call z_check_51cmd_adv ,true
+60021 6800c092  fetch 1 ,mem_device_option
+60022 2feffe00  isolate1 mode_3_mouse ,pdata
+60023 2040fddd  call check_51cmd_start_discovery ,true
+60024 704b5500  jam 0 ,mem_mouse_bt_reconnect_flag
+60025 202042c4  branch mouse_start_discovery_norandom + 13
+
+z_check_51cmd_adv:
+60026 70479f00  jam 0 ,mem_mouse_le_reconnect_flag
+60027 20400307  call p_le_check_adv_flag
+60028 58000005  setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
+60029 e0c08000  istore 1 ,contr
+6002a d8c04b10  arg mem_le_adv_swift_pair ,contr
+6002b 2040059d  call p_le_adv_data_update
+6002c 20207df4  branch check_51cmd_adv
+
+z_mouse_24g_attempt_fail:
+6002d 6800cb5d  fetch 1 ,mem_mouse_24g_pair_timer
+6002e 247a0000  nrtn blank
+6002f 6800cb57  fetch 1 ,mem_24g_attempt_count
+60030 243a0037  nbranch z_mouse_24g_attempt_fail_again ,blank
+60031 704d3900  jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt
+60032 204002f6  call p_mouse_tx_power_init
+60033 204001d0  call p_g24_check_51cmd_stop_24g
+60034 7041bd00  jam 0 ,mem_link_key_exists
+60035 204002c8  call p_mouse_setgpio_hibernate
+60036 2020340a  branch app_enter_hibernate
+
+z_mouse_24g_attempt_fail_again:
+60037 1fe0ffff  increase -1 ,pdata
+60038 6000cb57  store 1 ,mem_24g_attempt_count
+60039 202003af  branch p_mouse_start_24g_mode
+org 0x70001
+
+z_entrance6:
+70001 c0300004  beq zcode_60 ,z_g24_start_24g_mode
+70002 c030802b  beq zcode_61 ,z_mouse_24g_pairing_button
+70003 20600000  rtn
+
+z_g24_start_24g_mode:
+70004 793f8026  set0 mark_24g ,mark
+70005 6800cb57  fetch 1 ,mem_24g_attempt_count
+70006 1fe17e01  and pdata ,0x01 ,pdata
+70007 245a0021  ncall z_g24_fast_conn_all_powerful ,blank
+70008 205a001e  call z_g24_normal_connect ,blank
+70009 6800cc09  fetch 1 ,mem_24g_pairing_sm
+7000a c1ff8000  rtnne state_24g_pairing_success
+7000b 204001c7  call p_g24_tx_attemp_data_prep
+
+z_g24_tx_attemp_dongle_loop:
+7000c 200007d0  nop 2000
+7000d 20400518  call p_mouse_adc_read
+7000e 6800cb60  fetch 1 ,mem_select_device_button_press_flag
+7000f 243a04fd  nbranch p_mouse_select_device_button_down ,blank
+70010 6800cc26  fetch 1 ,mem_24g_check_dongle_times
+70011 c03801a9  beq 0x70 ,p_g24_stop_g24_mode
+70012 2040018b  call p_g24_transmit_receive_ack
+70013 242c0026  nbranch z_g24_attemp_txdata_retry ,sync
+70014 24378026  nbranch z_g24_attemp_txdata_retry ,user3
+
+z_g24_tx_attemp_dongle_succ:
+70015 79200026  set1 mark_24g ,mark
+70016 58000000  setarg 0
+70017 60014c26  store 2 ,mem_24g_check_dongle_times
+70018 6000cb5d  store 1 ,mem_mouse_24g_pair_timer
+70019 6000cb57  store 1 ,mem_24g_attempt_count
+7001a 700a993c  jam bt_evt_24g_attempt_success ,mem_fifo_temp
+7001b 20407d86  call ui_ipc_send_event
+
+z_g24_tx_attemp_dongle_loop_exit:
+7001c 20400183  call p_g24_txbuf_clear
+7001d 202003ea  branch p_g24_transmit_by_interrupt_enable
+
+z_g24_normal_connect:
+7001e 204002f6  call p_mouse_tx_power_init
+7001f 6802477b  fetch 4 ,mem_mouse_24g_addr
+70020 20200023  branch z6_g24_ch_syncword_crc8_init
+
+z_g24_fast_conn_all_powerful:
+70021 7041de20  jam tx_power_pair ,mem_tx_power
+70022 68024b51  fetch 4 ,mem_mouse_24g_addr_init
+
+z6_g24_ch_syncword_crc8_init:
+70023 60024c21  store 4 ,mem_24g_addr
+70024 204001e7  call p_g24_syncword_crc8
+70025 20200206  branch p_g24_ch
+
+z_g24_attemp_txdata_retry:
+70026 68014c26  fetch 2 ,mem_24g_check_dongle_times
+70027 1fe0fe01  increase 1 ,pdata
+70028 60014c26  store 2 ,mem_24g_check_dongle_times
+70029 20400206  call p_g24_ch
+7002a 2020000c  branch z_g24_tx_attemp_dongle_loop
+
+z_mouse_24g_pairing_button:
+7002b d8e00003  arg mosue_24g_pairing_flag ,queue
+7002c 204043ce  call mouse_enable_function_flag
+7002d 58000000  setarg 0
+7002e 600146ae  store 2 ,mem_mouse_direct_timer
+7002f 6000c6b4  store 1 ,mem_mouse_send_blank_timer
+70030 6000cb57  store 1 ,mem_24g_attempt_count
+70031 60014c26  store 2 ,mem_24g_check_dongle_times
+70032 704b5dc8  jam 200 ,mem_mouse_24g_pair_timer
+70033 204042ca  call mouse_stop_discovery
+70034 20200035  branch z6_g24_start_pairing_sm1
+
+z6_g24_start_pairing_sm1:
+70035 79200026  set1 mark_24g ,mark
+70036 20400039  call z6_g24_pair_init
+
+z6_g24_set_pairing_sm_1:
+70037 704c0901  jam state_24g_pairing_1 ,mem_24g_pairing_sm
+70038 20600000  rtn
+
+z6_g24_pair_init:
+70039 7041de20  jam tx_power_pair ,mem_tx_power
+7003a 704bf800  jam 0 ,mem_24g_pid
+7003b 704c034e  jam g24_pair_ch ,mem_24g_ch
+7003c 68024c05  fetch 4 ,mem_24g_paring_addr
+7003d 202001e6  branch p_g24_update_addr_and_synccrc8
+org 0x80001
+
+z_entrance7:
+80001 c0380003  beq zcode_70 ,z_g24_auto_pair_start
+80002 20600000  rtn
+
+z_g24_auto_pair_start:
+80003 793f8026  set0 mark_24g ,mark
+80004 20400020  call z_g24_auto_pair_all_powerful
+80005 204001c7  call p_g24_tx_attemp_data_prep
+
+z_g24_auto_pair_start_loop:
+80006 200007d0  nop 2000
+80007 6800cc27  fetch 1 ,mem_24g_check_dongle_times + 1
+80008 c28101a9  bbit1 0x02 ,p_g24_stop_g24_mode
+80009 20400518  call p_mouse_adc_read
+8000a 6800cb60  fetch 1 ,mem_select_device_button_press_flag
+8000b 243a04fd  nbranch p_mouse_select_device_button_down ,blank
+8000c 2040018b  call p_g24_transmit_receive_ack
+8000d 242c001c  nbranch z_g24_auto_pair_retry ,sync
+8000e 2437801c  nbranch z_g24_auto_pair_retry ,user3
+8000f 204001b8  call p_g24_ackpayload_parse
+80010 204002f6  call p_mouse_tx_power_init
+80011 68024c21  fetch 4 ,mem_24g_addr
+80012 680a4c05  fetcht 4 ,mem_24g_paring_addr
+80013 98467c00  isub temp ,null
+80014 2022802a  branch z_g24_start_pairing_sm1 ,zero
+80015 79200026  set1 mark_24g ,mark
+80016 58000000  setarg 0
+80017 60014c26  store 2 ,mem_24g_check_dongle_times
+80018 700a993c  jam bt_evt_24g_attempt_success ,mem_fifo_temp
+80019 20407d86  call ui_ipc_send_event
+8001a 20400183  call p_g24_txbuf_clear
+8001b 202003ea  branch p_g24_transmit_by_interrupt_enable
+
+z_g24_auto_pair_retry:
+8001c 68014c26  fetch 2 ,mem_24g_check_dongle_times
+8001d 1fe0fe01  increase 1 ,pdata
+8001e 60014c26  store 2 ,mem_24g_check_dongle_times
+8001f 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_all_powerful:
+80020 7041de20  jam tx_power_pair ,mem_tx_power
+80021 58000f0f  setarg 0x0f0f
+80022 60014c21  store 2 ,mem_24g_addr
+80023 e0a10000  istore 2 ,contw
+
+z_g24_ch_syncword_crc8_init:
+80024 204001e7  call p_g24_syncword_crc8
+80025 20200206  branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+80026 20400020  call z_g24_auto_pair_all_powerful
+80027 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+80028 2040002e  call z_g24_pair_init
+80029 20200006  branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+8002a 79200026  set1 mark_24g ,mark
+8002b 2040002e  call z_g24_pair_init
+
+z_g24_set_pairing_sm_1:
+8002c 704c0901  jam state_24g_pairing_1 ,mem_24g_pairing_sm
+8002d 20600000  rtn
+
+z_g24_pair_init:
+8002e 7041de20  jam tx_power_pair ,mem_tx_power
+8002f 704bf800  jam 0 ,mem_24g_pid
+80030 704c034e  jam g24_pair_ch ,mem_24g_ch
+80031 68024c05  fetch 4 ,mem_24g_paring_addr
+80032 202001e6  branch p_g24_update_addr_and_synccrc8
+org 0x90001
+
+z_entrance8:
+90001 c040000a  beq zcode_80 ,z_mouse_setting_config
+90002 c0408004  beq zcode_81 ,z_le_addr_random_config
+90003 20600000  rtn
+
+z_le_addr_random_config:
+90004 204068a2  call load_adc_init
+90005 6801421d  fetch 2 ,mem_0_5_adc_io_data
+90006 243a0008  nbranch z_le_otp_adc_empty ,blank
+90007 58001122  setarg 0x1122
+
+z_le_otp_adc_empty:
+90008 600147c2  store 2 ,mem_random_addr_increase_count
+90009 20600000  rtn
+
+z_mouse_setting_config:
+9000a 204000ec  call p_g24_set_device_addr
+9000b 20403e6e  call mouse_gpio_init
+9000c 6808cb43  fetcht 1 ,mem_flash_ncs_gpio
+9000d 2040680e  call gpio_config_output
+9000e 20403e1e  call mouse_param_init
+9000f 2040001a  call z_mouse_bt_sdp_update
+90010 58000000  setarg 0
+90011 60014154  store 2 ,mem_lpm_interval
+90012 204068a2  call load_adc_init
+90013 20403e54  call mouse_adc_init
+90014 20405810  call le_set_config_fixed_ltk
+90015 20405839  call le_set_justwork
+90016 2040582c  call le_set_fixed_ltk
+90017 20405818  call le_set_config_read_authentication
+90018 20400598  call p_le_addr_random_config
+90019 20200346  branch p_mouse_load_flash_info_check
+
+z_mouse_bt_sdp_update:
+9001a 204074b9  call enable_authrom
+9001b d8c08c00  arg 0x8c00 ,contr
+9001c d8a04876  arg mem_mouse_uuid_list ,contw
+9001d df200171  arg 369 ,loopcnt
+9001e 20407f01  call memcpy
+9001f 580f0209  setarg 0x0f0209
+90020 e0a18000  istore 3 ,contw
+90021 58120009  setarg 0x120009
+90022 e0a18000  istore 3 ,contw
+90023 58100209  setarg 0x100209
+90024 e0a18000  istore 3 ,contw
+90025 58000009  setarg 0x000009
+90026 e0a18000  istore 3 ,contw
+90027 d8c08d71  arg 0x8d71 ,contr
+90028 df200109  arg 265 ,loopcnt
+90029 20407f01  call memcpy
+9002a 70488d00  jam 0 ,mem_mouse_uuid_list + 23
+9002b 7048856d  jam 0x6d ,mem_mouse_uuid_list + 15
+9002c 5800401f  setarg 0x401f
+9002d 600149db  store 2 ,mem_mouse_uuid_list + 357
+9002e 58006d04  setarg 0x6d04
+9002f 60014a44  store 2 ,mem_mouse_uuid_list + 462
+90030 580016b0  setarg 0x16b0
+90031 60014a4a  store 2 ,mem_mouse_uuid_list + 468
+90032 58004876  setarg mem_mouse_uuid_list
+90033 60014575  store 2 ,mem_ui_uuid_table
+90034 20600000  rtn
+org 0xa0001
+
+z_entrance9:
+a0001 c0480005  beq zcode_90 ,z_g24_pairing_sm
+a0002 c048801f  beq zcode_91 ,z_g24_paring_mode
+a0003 c049002f  beq zcode_92 ,z_mouse_24g_pairing_complete
+a0004 20600000  rtn
+
+z_g24_pairing_sm:
+a0005 6800cbfe  fetch 1 ,mem_24g_ensure
+a0006 c000ffe7  beq ensure_on_24g ,enable_user
+a0007 6800cc09  fetch 1 ,mem_24g_pairing_sm
+a0008 c000800c  beq state_24g_pairing_1 ,z_g24_pairing_sm_1
+a0009 c001000f  beq state_24g_pairing_2 ,z_g24_pairing_sm_2
+a000a c0018012  beq state_24g_pairing_3 ,z_g24_pairing_sm_3
+a000b 20202a8c  branch assert
+
+z_g24_pairing_sm_1:
+a000c 704c0911  jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm
+a000d 70119eaa  jam 0xaa ,mem_24g_common_temp
+a000e 20200014  branch z_g24_pairing_sm_common
+
+z_g24_pairing_sm_2:
+a000f 704c0912  jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm
+a0010 70119e55  jam 0x55 ,mem_24g_common_temp
+a0011 20200014  branch z_g24_pairing_sm_common
+
+z_g24_pairing_sm_3:
+a0012 704c0913  jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm
+a0013 70119e22  jam 0x22 ,mem_24g_common_temp
+
+z_g24_pairing_sm_common:
+a0014 6800cbfa  fetch 1 ,mem_24g_data_type
+a0015 1fe17e07  and_into bits_data ,pdata
+a0016 6000919f  store 1 ,mem_24g_common_temp + 1
+a0017 68024c30  fetch 4 ,mem_24g_device_addr
+a0018 600211a0  store 4 ,mem_24g_common_temp + 2
+
+z_g24_put_pairing_data_in_buff:
+a0019 7011a400  jam 0 ,mem_24g_common_temp + 6
+a001a da20119e  arg mem_24g_common_temp ,rega
+a001b d8400007  arg 7 ,temp
+a001c 204001d4  call p_g24_put_data_in_buff
+a001d 20400148  call p_g24_txdata_enable_tx
+a001e 20207fe7  branch enable_user
+
+z_g24_paring_mode:
+a001f 6800cc09  fetch 1 ,mem_24g_pairing_sm
+a0020 c17f8000  rtneq state_24g_pairing_success
+a0021 c0088025  beq state_24g_pairing_1_waiting_ack ,z_g24_pairing_sm_1_waiting_ack
+a0022 c0090027  beq state_24g_pairing_2_waiting_ack ,z_g24_pairing_sm_2_waiting_ack
+a0023 c0098029  beq state_24g_pairing_3_waiting_ack ,z_g24_pairing_sm_3_waiting_ack
+a0024 20600000  rtn
+
+z_g24_pairing_sm_1_waiting_ack:
+a0025 704c0902  jam state_24g_pairing_2 ,mem_24g_pairing_sm
+a0026 2020017c  branch p_g24_transmit_abandon
+
+z_g24_pairing_sm_2_waiting_ack:
+a0027 704c0903  jam state_24g_pairing_3 ,mem_24g_pairing_sm
+a0028 2020017c  branch p_g24_transmit_abandon
+
+z_g24_pairing_sm_3_waiting_ack:
+a0029 704c09ff  jam state_24g_pairing_success ,mem_24g_pairing_sm
+a002a 700a9939  jam bt_evt_24g_pairing_complete ,mem_fifo_temp
+a002b 20407d86  call ui_ipc_send_event
+a002c 68024bd9  fetch 4 ,mem_24g_rxpayload + 2
+a002d 204001e6  call p_g24_update_addr_and_synccrc8
+a002e 2020017c  branch p_g24_transmit_abandon
+
+z_mouse_24g_pairing_complete:
+a002f 204004a0  call p_mouse_24g_no_data_timer_init
+a0030 70478b01  jam 1 ,mem_mouse_24g_enter_lpm_enable
+a0031 d8e00003  arg mosue_24g_pairing_flag ,queue
+a0032 204043d2  call mouse_disable_function_flag
+a0033 58000000  setarg 0
+a0034 60014707  store 2 ,mem_24g_pairing_timer_count
+a0035 6000cb57  store 1 ,mem_24g_attempt_count
+a0036 7046a700  jam 0 ,mem_mouse_move_flag
+a0037 2040405d  call mouse_read_sensor_common
+a0038 204002f6  call p_mouse_tx_power_init
+a0039 68024c21  fetch 4 ,mem_24g_addr
+a003a 6002477b  store 4 ,mem_mouse_24g_addr
+a003b 20200354  branch p_mouse_store_flash_device_info
+org 0xb0001
+
+z_entrancea:
+b0001 c0508006  beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
+b0002 c0510019  beq zcode_a2 ,z_mouse_le_bb_disconnected
+b0003 c0518012  beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
+b0004 c0520021  beq zcode_a4 ,z_mouse_before_hibernate
+b0005 20600000  rtn
+
+z_mouse_le_conn_param_update_rsp_recieved:
+b0006 68014509  fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
+b0007 c1000000  rtneq ble_signaling_connect_parameter_update_accepted
+b0008 68008441  fetch 1 ,mem_le_tsniff
+b0009 1feb7e00  rshift2 pdata ,pdata
+b000a 1fe67c0c  sub pdata ,le_interval_15ms ,null
+b000b 20610000  rtn positive
+b000c 58000009  setarg le_interval_11_25ms
+b000d 60014496  store 2 ,mem_le_interval_min
+b000e 60014498  store 2 ,mem_le_interval_min + 2
+b000f 20400484  call p_app_updata_le_param
+b0010 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+b0011 20600000  rtn
+
+z_mouse_bb_event_reconn_timeout:
+
+z_mouse_bb_event_reconn_failed:
+b0012 68014682  fetch 2 ,mem_ui_state_map
+b0013 c3860000  rtnbit1 ui_state_btn_down
+b0014 c3830000  rtnbit1 ui_state_bt_discovery
+b0015 c3858000  rtnbit1 ui_state_ble_adv
+b0016 680246d3  fetch mouse_flag_len ,mem_mouse_flag
+b0017 c3828000  rtnbit1 mouse_bt_discovery_button_down_flag
+b0018 202033a7  branch app_bb_hibernate
+
+z_mouse_le_bb_disconnected:
+b0019 58000007  setarg le_interval_8_75ms
+b001a 60014496  store 2 ,mem_le_interval_min
+b001b 60014498  store 2 ,mem_le_interval_min + 2
+b001c 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+b001d 70479c00  jam 0 ,mem_mouse_clear_sensor_data_flag
+b001e 20400415  call p_mouse_data_init
+b001f 20405816  call le_clr_config_more_data
+b0020 202041d9  branch mouse_bb_disconnected
+
+z_mouse_before_hibernate:
+b0021 78347c00  enable user
+b0022 68120138  hfetch 4 ,0x8138
+b0023 79347e1a  setflag user ,26 ,pdata
+b0024 6012004c  hstore 4 ,core_lpm_reg
+b0025 20402c21  call lpm_write_ctrl
+b0026 204074bd  call disable_authrom
+b0027 204003e3  call p_mouse_device_led_off
+b0028 20403e9f  call mouse_before_hibernate_wheel_gpio_set
+b0029 204002c8  call p_mouse_setgpio_hibernate
+b002a 2040039d  call p_flash_deep_power_down
+b002b 68108081  hfetch 1 ,core_gpio_sel1
+b002c 1fe17ef7  and pdata ,0xf7 ,pdata
+b002d 60108081  hstore 1 ,core_gpio_sel1
+b002e 6810807e  hfetch 1 ,core_gpio_pd2
+b002f 79207e06  set1 6 ,pdata
+b0030 6010807e  hstore 1 ,core_gpio_pd2
+b0031 6810807f  hfetch 1 ,core_gpio_pd3
+b0032 79207e00  set1 0 ,pdata
+b0033 6010807f  hstore 1 ,core_gpio_pd3
+b0034 6808c6f3  fetcht 1 ,mem_sensor_data_gpio
+b0035 202067ed  branch gpio_clr_wake
+org 0xc0001
+
+z_entranceb:
+c0001 c0580007  beq zcode_b0 ,z_mouse_le_bb_event_connected
+c0002 c0588009  beq zcode_b1 ,z_mouse_sniff_not_accept
+c0003 c059000f  beq zcode_b2 ,z_mouse_enter_sniff_check
+c0004 c0598014  beq zcode_b3 ,z_mouse_le_ll_start_encryt
+c0005 c05a001b  beq zcode_b4 ,z_mouse_bb_event_disconnected
+c0006 20600000  rtn
+
+z_mouse_le_bb_event_connected:
+c0007 20400415  call p_mouse_data_init
+c0008 202041c3  branch mouse_le_bb_event_connected
+
+z_mouse_sniff_not_accept:
+c0009 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c000a c1010000  rtneq 2
+c000b 1fe0fe01  increase 1 ,pdata
+c000c 6000c808  store 1 ,mem_mouse_enter_sniff_count
+c000d 7041e312  jam 0x12 ,mem_sniff_param_interval
+c000e 2020340e  branch app_bt_enter_sniff
+
+z_mouse_enter_sniff_check:
+c000f 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c0010 c1810000  rtnne 2
+c0011 70480800  jam 0 ,mem_mouse_enter_sniff_count
+c0012 7041e30e  jam 0x0e ,mem_sniff_param_interval
+c0013 2020340e  branch app_bt_enter_sniff
+
+z_mouse_le_ll_start_encryt:
+c0014 6800c79f  fetch 1 ,mem_mouse_le_reconnect_flag
+c0015 c0008017  beq 1 ,z_mouse_le_ll_reconn_start_encryt
+c0016 20200019  branch z_mouse_le_ll_enable_start_enc_flag
+
+z_mouse_le_ll_reconn_start_encryt:
+c0017 20400484  call p_app_updata_le_param
+c0018 7046c605  jam 5 ,mem_le_start_encrypt_timer
+
+z_mouse_le_ll_enable_start_enc_flag:
+c0019 d8e00001  arg ll_start_enc_flag ,queue
+c001a 202041b9  branch mouse_le_enable_connect_flag
+
+z_mouse_bb_event_disconnected:
+c001b 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+c001c 704b0100  jam 0 ,mem_bt_send_lmp_setup_complete
+c001d 704b0a00  jam 0 ,mem_mouse_bt_send_first_package_flag
+c001e 202041d9  branch mouse_bb_disconnected
+ branch mouse_bb_disconnected
Index: ZJL_pm8_BLE&BT/output/ramcode.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/ramcode.rom	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/ramcode.rom	(working copy)
@@ -0,0 +1,2048 @@
+20200040
+20400415
+6800c1de
+6000ccb0
+2040070c
+6800c685
+6000cb44
+6800cb30
+6000cb31
+204043ca
+20400310
+2040079b
+2040000f
+20400022
+20200334
+580003e7
+60014d2a
+58000401
+600141ef
+5800064b
+600141f9
+58000430
+600141f1
+580002bc
+600141ed
+5800046d
+600141f5
+58000458
+600141f3
+580004a1
+600141eb
+580004a8
+600141fd
+20600000
+58000019
+60014d3c
+2455802a
+20400312
+20400331
+6800c71f
+6000c71e
+20600000
+58000177
+60014d3c
+20600000
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+20000001
+c2840058
+c0008075
+c001007e
+c0428778
+c0448749
+c00d8664
+c0130666
+c0240681
+c0250688
+c0288691
+c02c867f
+c0538696
+c05686af
+c065b3e4
+c07486c0
+c0508087
+c058808c
+c0590096
+c06202df
+c073057a
+c0750594
+c075859a
+c07605a1
+20202a8e
+c01c85aa
+c02185b2
+c02505b8
+c02b85bb
+c02c85bd
+c03185bf
+c03305e9
+c0338600
+c0350636
+c03b8641
+c00286c2
+c04006c4
+c04106ce
+c04406d0
+c0460651
+c046865d
+c0500531
+c07d06f4
+20202a8e
+1fe22200
+6808ccb4
+58004cbb
+98408a00
+1a227e00
+e0a08000
+18408401
+18410407
+6008ccb4
+20600000
+d8a009ae
+df20000c
+20407ed4
+204003f8
+20406a03
+20405cf6
+2455ac65
+20407ccd
+2020200c
+2055b2e3
+2040756a
+2055ab41
+204076dc
+6800c65a
+203a2012
+6800c5b1
+203a0081
+20202012
+58000a06
+6001c510
+58001d87
+60014513
+20202aa2
+c6130000
+6800c79c
+c0007fef
+6800c7c4
+c000ffef
+68014248
+243a7fef
+6800c806
+243a7fef
+20207ff1
+c6930000
+6800cd39
+c00080ae
+20400145
+243400ca
+2040012c
+20400169
+6800cc09
+c1ff8000
+2040071d
+204000aa
+6800cb26
+c00083ea
+204000d5
+24740000
+204002c3
+5800ec54
+20407f49
+600a415b
+20202b2a
+58017700
+6001cc28
+704b6414
+20600000
+2040028e
+24740000
+204000c4
+68014d3a
+1fe0fe01
+60014d3a
+68094d3c
+98467c00
+204280b8
+20200099
+704d3900
+58000000
+60014d3a
+58000064
+60014d3c
+704c3400
+6800cc1f
+6000cc1e
+20600000
+6800cc20
+6000cc1e
+20600000
+6800cc34
+1fe0fe01
+6000cc34
+c00200c1
+c00280bd
+20600000
+6800cc25
+205a00de
+6800c6cf
+1fe67c0a
+20610000
+204000d5
+24740000
+6801cc28
+20407f49
+600a415b
+20202b2a
+78347c00
+20402afa
+6801c16f
+203a7fe9
+6800c091
+203a7fe9
+6800cd39
+c000ffe9
+202002c6
+704c2501
+704d2e00
+204000f1
+6000cb95
+58000000
+6003cb96
+68024c30
+60024b9d
+704bf90c
+6800cbfa
+79207e03
+6000cbfa
+20400148
+2020009c
+680240a0
+60024c30
+20600000
+704d2f01
+704d3100
+6800cbfa
+1fe17e07
+6000cbfa
+20600000
+6800cbfa
+79207e04
+6000cbfa
+6000cbb5
+20600000
+6800cbfa
+793ffe04
+6000cbfa
+6000cbb5
+20400713
+20400206
+20600000
+20400713
+6800cd30
+c0008106
+c001010a
+20600000
+704d3102
+704d2d00
+704d2f00
+202000f1
+704d2e00
+20200107
+68014bff
+1fe0fe01
+60014bff
+c28501a7
+6800cd2e
+c0008115
+704d2e01
+6800cd2e
+c08080f1
+6800cd2c
+1fe0fe01
+6000cd2c
+c002011c
+20400206
+704c3e02
+20200169
+20400713
+704d2c00
+202000f1
+704d3102
+704d2f01
+704d2e00
+202000f1
+6800cd30
+c0018120
+6800cbfa
+2fec0004
+202080ef
+6800cd30
+c000811f
+c0010120
+20600000
+6800cc09
+c1ff8000
+20400131
+24560139
+20600000
+78567c00
+6800cd2f
+c1808000
+6800cd31
+c1800000
+704d3001
+704c3e04
+20207feb
+6800cd31
+203a0140
+1fe0ffff
+6000cd31
+704d3002
+704c3e04
+20200206
+704d3003
+6800cd2e
+243a0113
+704c3e02
+20200206
+6800cc09
+c0ff81bf
+2040014b
+204001f4
+704bfe01
+20600000
+68014d2a
+20407f9c
+20340151
+6803cb96
+207a0000
+20207fe7
+204004a0
+20400325
+704c2500
+1a20fe01
+6000cbf9
+204000f1
+6000cb95
+e8a88000
+ea408000
+9841fe00
+e0a08000
+1a40a401
+ea420000
+e0a20000
+1a40a404
+d8a04b9b
+df200002
+ea408000
+e8a88000
+9840fe00
+e0a08000
+1a40a401
+c2000162
+20600000
+704c0200
+d9600d00
+34730200
+2040018b
+6800cc35
+c1008000
+242c019a
+2437819a
+20400183
+204001b8
+2040070f
+704b5600
+6800cbf8
+1fe0fe01
+6000cbf8
+20400186
+6800cc09
+c0ff8189
+20400123
+58000000
+60014bff
+6000cc01
+6000cd2d
+6000cb5d
+704bfe00
+20600000
+df200004
+d8a04b95
+20207ec6
+6800cbfa
+c28200fa
+20600000
+2040070c
+202001c1
+7857fc00
+2040026d
+6800cc35
+c0008198
+18002a00
+68024c21
+98001200
+68088017
+2040291f
+20402924
+20400229
+20578265
+20600000
+20400265
+20200174
+6800cc25
+247a0000
+68014bff
+1fe0fe01
+60014bff
+6800cc00
+c28201a9
+6800cc09
+c0ff81a5
+204001ae
+2020016a
+6800cbff
+c1ff8000
+58000000
+60014bff
+700a993a
+20207d86
+20400740
+20400713
+20200206
+6800cc02
+1fe67c0b
+242101ab
+1fe0fe01
+6000cc02
+c00100f5
+c00300fa
+c00400f5
+c00600fa
+20600000
+204001d9
+6800cbf7
+207a0000
+98007200
+d8c04b75
+d8a04bd7
+20207f01
+7011c590
+2020077a
+7011c591
+2020077a
+7011c560
+2020077a
+7011c570
+2020077a
+70119eff
+6800cbfa
+6000919f
+68024c30
+600211a0
+d8400006
+da20119e
+204001d4
+202001f4
+793f8026
+204053ce
+d8e00003
+202043d2
+6008cbf9
+18427200
+d8a04b95
+1a220c00
+20207f01
+6800cb74
+1fe97e00
+6000cbf7
+1fe0fe01
+d8c04b74
+98c08c00
+e8c18000
+6001cc36
+6800cb74
+1fe37e00
+1fe17e03
+6000cc3c
+20600000
+60024c21
+da200000
+df200004
+d8c04c21
+e8c08000
+9a20a200
+c20001ea
+1a227e00
+60014caa
+6800ccaa
+6808ccab
+9840fe00
+6000ccac
+20600000
+6800cbf9
+1fe0fe02
+6000cbfb
+6800cbfa
+6000cbb5
+6800cbf9
+1fe9fe00
+6808cbf8
+18410403
+18438400
+9841fe00
+6808cc35
+9840fe00
+e0a08000
+6800cbf9
+98007200
+d8c04b95
+20207f01
+6808cc04
+2040020a
+6008cc04
+20600000
+2040020e
+18408401
+18410403
+20600000
+6800cc21
+1fe17e03
+1fefa204
+58004c0a
+9a20fe00
+98408c00
+e8c08000
+6000cc03
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+6800cc03
+1fed8400
+79200401
+18431c00
+20600000
+204053c4
+68024c21
+98001200
+20402918
+6808cc03
+2040291f
+58000500
+20402a8f
+20402924
+20400217
+7857fc00
+7826fc00
+7830fc00
+78507c00
+78287c00
+68014bfc
+98003600
+37c18400
+242c0269
+7846fc00
+7825fc00
+7823fc00
+7824fc00
+20400262
+6000ccad
+6808ccac
+98467c00
+24228265
+20400262
+6000cb73
+6800cc3f
+1fe67c02
+20228245
+6800cb73
+6808cbfa
+a8400e00
+24208265
+20400262
+e0a08000
+1fe97e00
+1fe1721f
+2022824d
+20400262
+e0a08000
+c200024a
+18a22200
+20400262
+6000cd34
+1a220a00
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+7845fc00
+20230265
+7837fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20402918
+6800cd34
+2040006b
+20600000
+09800008
+19897e00
+20600000
+784dfc00
+7845fc00
+2040264d
+20600000
+20200265
+20402918
+6808cc03
+20202933
+204053c4
+68024c21
+98001200
+20400217
+2040026a
+79202a00
+782efc00
+78307c00
+7850fc00
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+784efc00
+782dfc00
+7823fc00
+7824fc00
+6800ccac
+08008608
+6800cbfb
+98007200
+d8c04bb5
+e8c08000
+08008608
+c2000283
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+784dfc00
+20600000
+20407fe9
+680a4c1a
+1c427e00
+98467c00
+24412d18
+1fe22400
+68024c1a
+6808cc1e
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+60024c1a
+20207fe7
+204029bb
+207a0000
+6808ccb3
+da200d9e
+204002a4
+6008ccb3
+20600000
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+18410407
+20600000
+d8400000
+df200008
+1a220c00
+e8c08000
+98408400
+c20002ae
+18497e00
+1fe20400
+c6930000
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+98418400
+20600000
+20600000
+c6130000
+204003ee
+204002c6
+6800c040
+c30002c3
+680080a0
+247a0000
+58000000
+600400a1
+20600000
+204002dc
+204002c3
+20403ebf
+20400336
+68120070
+681a0078
+98418400
+18440400
+601a007c
+6810807c
+793ffe06
+6010807c
+6810807c
+79207e05
+6010807c
+6810807d
+793ffe02
+6010807d
+6810807e
+793ffe06
+6010807e
+20600000
+6800cafe
+207a0000
+20203d80
+2040296c
+20403416
+204074b9
+203582f5
+20400001
+d8400258
+680146aa
+98460400
+60094b59
+204002f6
+704b5019
+20400518
+204004fb
+da204721
+6800c720
+6808c703
+98467c00
+202283af
+6800c210
+c01982f9
+c01a02fd
+20600000
+20200310
+6800ccb0
+6000c1de
+20600000
+704b5501
+680341d0
+203a33eb
+20204274
+70479f01
+680146a8
+600146ae
+20403418
+20400307
+58000004
+e0c08000
+d8c04390
+2040059d
+20207df4
+da204370
+ea208000
+207a0000
+98c0a200
+e8c08000
+c1008000
+20200308
+7011c561
+2020077a
+70421276
+20203d36
+20400310
+204040c0
+204040d9
+c018831d
+204040d1
+200003e8
+20200314
+704afe01
+2040640f
+20400312
+20206411
+2040032a
+6800c6de
+c03840e8
+7046e001
+20600000
+70417200
+704b631e
+20600000
+6800cb62
+c1808000
+58000000
+6000cb62
+6002469b
+20400310
+58008006
+20406413
+20002ee0
+6800c77a
+c07fbd66
+20203d80
+20400310
+58000806
+20206413
+7011c580
+2020077a
+6808cb43
+20206825
+70808640
+70808700
+68108081
+793ffe00
+793ffe01
+79207e03
+793ffe04
+60108081
+58000000
+600201f5
+6810807f
+793ffe00
+6010807f
+20600000
+204003a6
+20404423
+68014778
+d840aa55
+98467c00
+20228383
+60094778
+2040441c
+6800c6e1
+6000c77a
+68024b51
+6002477b
+60024c21
+20400397
+204003a6
+20400362
+2040037a
+20400366
+20400371
+d8400002
+da2047c2
+da40005f
+6801c700
+9a40fe00
+20400366
+20400371
+2040039d
+20200310
+6801c700
+6001c232
+2040652a
+20200371
+1fe22600
+1a227e00
+1fe0fffc
+1fe22400
+ea420000
+60024b4c
+1a627e00
+20406552
+68024b4c
+e2420000
+20600000
+580186a0
+20402a8f
+2040650b
+580001fa
+6011008c
+58000005
+204064f3
+c2800371
+20600000
+5800477f
+d8404720
+98460400
+6801c700
+da204720
+20600000
+204003a6
+2040037a
+20206562
+20400380
+204003a8
+2040431a
+6802477b
+60024c21
+df200003
+d8c04722
+2040038e
+24340395
+20400397
+20600000
+20407fe7
+5800ffff
+e8c90000
+98467c00
+2442ffe9
+c2000390
+20600000
+704b615a
+20600000
+704b61ff
+70421034
+580f0f0f
+6001c4a0
+6001c4a3
+20600000
+700aa2b9
+20400338
+20000064
+2040650b
+da204b4c
+68088aa2
+20406556
+20000064
+20600000
+700aa2ab
+2020039e
+204003a6
+d8400002
+da2047c2
+da40005f
+6801c700
+9a40fe00
+20206562
+58000000
+60014c26
+202001c3
+6800c720
+c1810000
+6800cb5d
+207a0000
+1fe0ffff
+6000cb5d
+203a340a
+1fe17e0f
+c00283d4
+c00503d1
+20600000
+6800c6ac
+207a0000
+6800cb5c
+1fe0fe01
+6000cb5c
+c00283e1
+c00503dc
+20600000
+6800cb50
+207a0000
+1fe0ffff
+6000cb50
+6800c720
+c00103ce
+6800cb50
+c28083dd
+202003e1
+6800cb50
+c28083d4
+202003d1
+704b4900
+6808cb4a
+20200584
+704b4901
+6810807c
+793ffe05
+6010807c
+6808cb4a
+2040680e
+6808cb4a
+20206825
+704b5c00
+6808cb4b
+2040680e
+6808cb4b
+20206829
+6808cb4b
+2020058f
+204003e1
+202003d1
+704b5000
+20600000
+20404401
+6801469f
+207a0000
+704d3901
+58000000
+60014d3a
+20600000
+d8c01800
+d8a0480a
+204003f6
+d8c01900
+204003f6
+d8c01a00
+204003f6
+d8c01b00
+df20001b
+20207f01
+d8c0480a
+d8a01800
+204003f6
+d8a01900
+204003f6
+d8a01a00
+204003f6
+d8a01b00
+202003f6
+20405892
+247a0000
+6800cb61
+c07f8408
+6800c6c5
+1fe17e03
+c1818000
+6800c79c
+205a0455
+680246d3
+c282c179
+20403f97
+24740000
+20400322
+20400325
+2040042b
+da20469a
+20407e3d
+2054041a
+20600000
+7047a007
+7047a104
+580047a0
+60014218
+20207e38
+6800c7c1
+1fe0fe01
+6000c7c1
+20600000
+da20469a
+20407e54
+20340422
+20600000
+20405652
+6800c7c1
+1fe67c01
+24415650
+6800c7c1
+207a0000
+1fe0ffff
+6000c7c1
+20203f90
+6801469f
+207a0000
+70480601
+70480702
+20600000
+20770000
+6800c1e2
+207a0000
+20405271
+247a0000
+6800c79c
+205a0455
+680246d3
+c282bf8a
+c284bf8a
+20403f97
+24740000
+20400322
+20400325
+2040042b
+6800cb03
+c0008444
+6800cb0a
+207a0000
+20203f81
+6800c69a
+6000cb04
+6800c69b
+e0a08000
+6800c69d
+e0a08000
+6801469f
+e0a10000
+da200007
+20404d63
+6801424e
+e0a10000
+580002a1
+e0a10000
+6802cb04
+e0a28000
+20600000
+70479c01
+20405814
+20200319
+20407e34
+2040045b
+20203ee0
+6808c6e7
+20400586
+20400460
+6808c6e7
+2020058f
+6808c6e7
+2040681d
+2020bd62
+6800c6b6
+c1000000
+7046b600
+6800c77a
+1fe0fe01
+1fe67c03
+24417fef
+6000c77a
+20403d7e
+20200354
+1a627e00
+c00a047e
+c00a8481
+c0148484
+c0190486
+c0200488
+c002048a
+c009848a
+c00cb3df
+c010848e
+c0008490
+c0010493
+c0158496
+c01c8498
+c01d049b
+c01e049f
+2020417d
+20400319
+7011c5b0
+2020077a
+204004a4
+7011c5a2
+2020077a
+700a9912
+20207d8f
+7011c5b3
+2020077a
+7011c5a1
+2020077a
+7011c5a3
+2020077a
+2040438e
+202033a7
+7011c5b1
+2020077a
+70480900
+20400319
+202042ca
+204004a4
+7011c5b4
+2020077a
+7011c5b2
+2020077a
+20400319
+7011c592
+2020077a
+204004a4
+704b5600
+7011c551
+2020077a
+20400319
+20203f8d
+204004a4
+7011c5a4
+2020077a
+6800cafe
+207a0000
+704afe00
+20200331
+20400518
+204004b8
+204004d7
+204004fb
+20404234
+2040423a
+204004dc
+204004e2
+20404237
+204004d4
+204004cc
+20404231
+204004cf
+204003bd
+204003b2
+202003c5
+680246d3
+c4020000
+6800c6ae
+243a03d1
+6800c6ac
+243a03d1
+6800cb50
+243a03d1
+6800c6cf
+1fe0fe01
+6000c6cf
+1fe67c14
+244104ca
+c00103d4
+c00203d1
+c00303d4
+c00403d1
+20600000
+7046cf01
+202003d1
+da604809
+da40637a
+2020336d
+da604b09
+da4004d2
+2020336d
+704b0a01
+20600000
+da6046c6
+da403d60
+2020336d
+da604807
+da4004da
+2020336d
+70480600
+20600000
+da604b63
+da4004df
+2020336d
+6800c7c5
+6000c172
+202004e7
+da604b64
+da4004e5
+2020336d
+580ea600
+6001cc28
+704b6201
+20600000
+da604b44
+da4004ec
+2020336d
+6808c720
+6800c703
+98467c00
+20628000
+68014682
+2feffe0b
+2040c2d4
+68014682
+2feffe07
+2040c392
+202043b8
+704b6001
+20600000
+704b6000
+20600000
+6800cb60
+203a0507
+204004e9
+6800c6d9
+c1000000
+680146a8
+600146ae
+18000e03
+680140b9
+20407f08
+7046d900
+20600000
+6800c6d9
+c1008000
+6800c685
+6000cb44
+7046d901
+20600000
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+20400354
+680246d3
+c1048000
+2020437e
+6800c6ce
+1fe0fe01
+6000c6ce
+1fe67c0a
+2041052a
+2441052e
+204068a8
+2040054d
+20406908
+6001470f
+da204709
+20400557
+6800c231
+c28104f7
+c280b40a
+c3000545
+704afd01
+202043e7
+6800cb49
+243a052e
+70422d02
+20600000
+7046ce00
+70422d00
+20600000
+6800c22d
+c0010534
+2020690a
+68014223
+6809421d
+da600032
+20200538
+98462200
+6801422f
+98467e00
+2421053d
+2020691e
+18427e00
+6809422f
+98467e00
+9a267c00
+20410543
+2020692a
+1a227e00
+20600000
+204043e9
+7046cf0c
+6800cafd
+207a0000
+704afd00
+6800c6ef
+6000c715
+20204296
+6800c22d
+c0010550
+202068ec
+6810807c
+793ffe05
+6010807c
+7089718f
+6800c22e
+60108973
+202068f8
+ea240000
+60040a9a
+6800c22d
+c0010568
+c000055c
+68010aa0
+68090a9c
+98467c00
+24216944
+2040056e
+68090a9e
+98467c00
+24216940
+6800c231
+793ffe00
+6000c231
+20600000
+68094b5e
+68010aa0
+98467c00
+24210572
+204004f9
+20200576
+6808c231
+793f8401
+6008c231
+20600000
+6808c231
+79200402
+6008c231
+20600000
+6808c231
+793f8402
+6008c231
+20600000
+78547c00
+58000000
+6003469b
+20403fb5
+20404079
+2040407e
+20404099
+2434079b
+2040079e
+20203fa0
+793f8407
+20206806
+793f8407
+d8a08078
+20406830
+79200407
+d8a0807c
+20406830
+793f8407
+d8a08070
+20206830
+79200407
+d8a08078
+20406830
+793f8407
+2020058a
+704b5000
+280ffe26
+204081d0
+2020426d
+7011c581
+2020077a
+704b5c00
+7011c550
+2020077a
+d8a0437b
+df200013
+20407f01
+202057b8
+58000000
+600146ac
+6000cb5b
+6000c714
+6000cb5c
+704b4705
+204003e1
+2040032a
+202042cb
+6800c50f
+1fe0fe01
+6000c50f
+c0065395
+204055aa
+2040561e
+2040071d
+2020538f
+68008016
+1fe0fe01
+60008016
+c1940000
+70001625
+20600000
+204029bb
+2040006b
+202054a3
+7011c540
+2020077a
+7011c541
+2020077a
+68008456
+c28285d3
+2040070f
+6800c78e
+243a05c9
+6800843f
+c30205cd
+680082da
+203a05cd
+20205664
+6800c78e
+1fe0ffff
+6000c78e
+20205664
+6800c4c4
+c08285d0
+70478e03
+20405892
+205a041e
+20205622
+204005d5
+202005e1
+6800c6c5
+1fe17e03
+c1818000
+6800c7c1
+207a0000
+6800c3dd
+207a0000
+6800c3dc
+79207e04
+6000c3dc
+20405650
+20600000
+20200713
+6800c79f
+207a0000
+6800c6c5
+1fe17e03
+c1018000
+7046c601
+20600000
+c6078000
+20405890
+247a0000
+680082d9
+1fe17e03
+6000c50c
+e8c08000
+1fe17e1f
+6000c50b
+207a0000
+18c27e00
+6001450d
+6800c50c
+c00185f8
+2020568d
+680082db
+c00085fb
+20205c65
+e8c28000
+6002c3ce
+e8c10000
+6001045f
+20205c8a
+e8c10000
+c0020604
+c0030631
+20205698
+20407ea5
+204005e2
+20407e9f
+e8c18000
+60018477
+c0080613
+1fec8400
+18467c24
+20210621
+d84047c6
+600944bc
+204058ad
+58008e7a
+600144bc
+20600000
+204059fa
+20405879
+18c08c07
+e8c08000
+c1888000
+18c08c05
+e8c10000
+d8401812
+98467c00
+24628000
+18c08dfc
+5800002b
+e0c10000
+20600000
+c0050623
+202058ad
+68090478
+6800c4e9
+c281862a
+68010478
+c009da76
+68090478
+202059bf
+680144fa
+98467c00
+24228626
+20405a42
+24340626
+70047a05
+20205a77
+e8c08000
+c0028634
+20205af5
+7011c582
+2020077a
+68008016
+c093d6f2
+2040063c
+d8e00000
+68014482
+20207f08
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20203cbe
+7855fc00
+20370644
+2436d806
+20402bcb
+680140c1
+6001044d
+6800c6c5
+2fe00603
+2420abde
+202057fb
+6800c79f
+247a0000
+68008478
+1fe67e1a
+24628000
+20203d60
+68108077
+1fe17efd
+60108077
+68188073
+18418402
+60188073
+204063ee
+184104fd
+2000000d
+2040065e
+60188073
+20600000
+204064dd
+68108081
+79207e00
+793ffe01
+793ffe03
+60108081
+20600000
+7011c500
+2020077a
+204021c9
+24740000
+78547c00
+70001120
+793f800b
+793f802d
+20402a4f
+204022e6
+c5058673
+20402455
+243a066c
+c516867b
+202021ec
+20402a4d
+d8200010
+204022dc
+7920002d
+793f800b
+18000801
+70001102
+2020066c
+68020165
+1fe0fe08
+60020165
+202021f8
+c516264d
+2020258f
+204033af
+204026e9
+700a9902
+20407d86
+20405cf7
+20404d6b
+2020246e
+68008030
+2feffe00
+2040868c
+2020248a
+68008047
+2feffe03
+20408713
+2440870f
+2020071d
+204024f0
+242c28f9
+204029bb
+2040006b
+20202518
+c6130000
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+6800c6cf
+1fe67c0a
+20610000
+6800c65a
+203a06a3
+6800c5b1
+207a0000
+6800c4c0
+247a0000
+20402c3a
+247a0000
+6800c040
+2fe00e03
+2420ab9d
+68014042
+d840ffff
+98467c00
+20628000
+20202b7d
+7855fc00
+68008030
+c4008000
+2436abd0
+20402bcb
+680140c1
+6001003e
+68008047
+c281abde
+c586abde
+20405274
+243a2bde
+205a06bd
+20202bbe
+70008a01
+70008b00
+20600000
+7011c510
+2020077a
+7011c511
+2020077a
+68008552
+600084c9
+c00986c8
+20205db4
+20405dcf
+704aff01
+6800cb01
+207a0000
+704b0102
+20600000
+7011c520
+2020077a
+204062bc
+247a0000
+68008055
+207a0000
+c00206f2
+c00806d7
+20206320
+6800c55b
+c1000000
+c00086db
+2020635f
+20748000
+6800816d
+c28006df
+20206399
+6800cb01
+c000e39d
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+6800cb00
+207a0000
+704b0000
+680204e9
+d8400014
+98408400
+1c427e00
+98467c00
+242106f0
+20206349
+704b0001
+20600000
+70480914
+2020636f
+204062bc
+243a7ddb
+68008a99
+c584fdd6
+c00f86ff
+c0100702
+c00906fc
+20207dca
+20405890
+247a0000
+20205abf
+70018534
+6803044f
+20200704
+70018533
+68030040
+60030186
+680246d3
+c4038000
+d8e00007
+204043d2
+204042e8
+204042fb
+20200354
+704d3501
+704d3200
+20600000
+6800cd32
+1fe0fe01
+6000cd32
+20600000
+6800cd32
+1fe67c02
+2441071b
+6800cd32
+c1000000
+1fe0ffff
+6000cd32
+20600000
+704d3203
+20600000
+68014682
+c3858000
+c3838000
+c3830000
+da204cbb
+204002ab
+6008cd33
+58000082
+c5130727
+58000080
+98467c00
+2421073f
+6800cd32
+1fe67c02
+2421072f
+6800cd32
+c0000740
+20600000
+6800cd32
+c1900000
+704d3200
+6808cd33
+58000077
+c5130736
+58000075
+98467c00
+24610000
+6800cd35
+c0000747
+1fe0ffff
+6000cd35
+c0000747
+7041de00
+20600000
+704d3200
+6800cd35
+c0010745
+1fe0fe01
+6000cd35
+c000873d
+7041de02
+20600000
+7041de04
+20600000
+60088017
+1840a200
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027d
+6800c1de
+c0010761
+c0020766
+c0100775
+2040076b
+708955d0
+708956e0
+7089586c
+2020294b
+20400770
+708955d0
+708956e0
+7089583c
+20202953
+2040076b
+708955d0
+708956c0
+7089586c
+2020295b
+70894c5b
+70894d96
+70894e2c
+70894f46
+20600000
+70894cfb
+70894def
+70894eec
+70894f5e
+20600000
+708956c2
+708955d0
+20600000
+18002a08
+202028fa
+680891c5
+18518400
+6800cb65
+98467c00
+20228799
+6008cb65
+18408401
+58000100
+984f8400
+6801cb66
+98467e00
+6809cb69
+9840fe00
+1fe0fffb
+6001cb6c
+204003a6
+6801cb6c
+d8400100
+da201f00
+20406562
+68021f00
+680a4b6f
+98467c00
+2422878a
+20400310
+58001f00
+60014199
+70419b40
+204064ca
+58000000
+60024199
+680091c5
+20200001
+df200005
+d8a04b0b
+20207ed4
+6802469b
+207a0000
+204007ef
+58000006
+204007e2
+58000003
+204007e8
+6800cb0b
+c00087a8
+2020079b
+68014b0c
+600111be
+6801469b
+600111c0
+204007bb
+680111be
+60014b0c
+680111c0
+6001469b
+68014b0e
+600111be
+6801469d
+600111c0
+204007bb
+680111be
+60014b0e
+680111c0
+6001469d
+20600000
+680111be
+680911c0
+9840fe00
+600191c2
+2feffe10
+202087c8
+680091c3
+c07f87cf
+680091c2
+1fe37e00
+600111be
+600111c0
+20600000
+680091c3
+c00007cc
+680191c2
+202007c4
+7011c400
+680091c2
+202007c4
+680091c2
+204007da
+600091be
+600091c0
+203a07d8
+580000ff
+600091bf
+600091c1
+20600000
+58000000
+202007d5
+1fe67e00
+60008aae
+68008aae
+1fe37e00
+60008aae
+68008aae
+1fe67e00
+20600000
+9a267c00
+242107ed
+9a467c00
+242107ed
+704b0b00
+20600000
+9a267c00
+24610000
+9a467c00
+24610000
+202007e6
+704b0b01
+20600000
+6801469b
+600111c0
+204007f8
+1fe22200
+6801469d
+600111c0
+204007f8
+1fe22400
+20600000
+680091c1
+c07f87fd
+680091c0
+1fe17eff
+20600000
+680111c0
+1fe67e00
+202007fb
Index: ZJL_pm8_BLE&BT/output/romcode.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/romcode.rom	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/romcode.rom	(working copy)
@@ -0,0 +1,25116 @@
+20402abc
+44804000
+20800000
+2040640d
+2040296c
+204065a3
+20402a96
+20404d6a
+4480c000
+20406a03
+20405cf6
+20407ccc
+204032d8
+2455e89c
+44814000
+2055b2e3
+2040756a
+2055ab41
+4481c000
+204076dc
+20407aaf
+2040756d
+2040535c
+44824000
+20402038
+204032ed
+2040208f
+204022f8
+2040236a
+20402021
+20402b6a
+20402c72
+20202012
+20402026
+c6848000
+793f8009
+20402223
+202053ce
+4482c000
+2040225e
+2422a02f
+2040220a
+1a208c01
+e8c08000
+c2805360
+c280a166
+202023cf
+2040222b
+1f227c00
+20628000
+2040220a
+68008030
+c281a0d3
+68008031
+c280a166
+202023cf
+6800c1ce
+207a0000
+c000a048
+c001204d
+c001a050
+c002a055
+c00da045
+20402257
+20628000
+2040225a
+20628000
+7041ce00
+20600000
+70049b1b
+7041ce00
+20600000
+7920001c
+793f801e
+70008fff
+70008d1f
+20202043
+793f801c
+18003600
+20202043
+2040225a
+20628000
+18000401
+70016e05
+2020205c
+44834000
+680341d0
+203a2043
+70468101
+70005503
+2020205b
+18000425
+4483c000
+680080f1
+203a2062
+1fe9fe00
+1ff27e00
+1fe0ffff
+6000c0a6
+600080f0
+70008e1f
+793f800c
+2040223b
+2422a083
+20402a6f
+60008077
+6008807c
+680341d0
+60030040
+44844001
+20407f15
+18007e00
+2841fe01
+7d20fe05
+79207e03
+60008030
+700a9903
+20407d86
+18007e00
+7920fe04
+6000804c
+58000000
+79207e01
+60008031
+7834fc00
+20402223
+7854fc00
+18000e03
+680140b9
+20407f08
+20202043
+4484c001
+680341d0
+60030040
+2841fe01
+2020a089
+20202043
+d8a00101
+df200008
+20407ec6
+700a9904
+20407d86
+20202043
+c68e0000
+18000e01
+20407f16
+7d3a001c
+243a2095
+20600000
+44854001
+680940bb
+18000e04
+2040271c
+20740000
+204028a4
+18004800
+20618000
+793f800b
+793f8000
+1c40c201
+280ffe1e
+7920c802
+2c200400
+2420a0be
+4485c001
+68008012
+1fe0fe01
+60008012
+204028d8
+204028d2
+204028f2
+20402a51
+20402a56
+20402a64
+2040264d
+204020b1
+2020209c
+44864001
+6800808d
+1fe0ffff
+6000808d
+20610000
+70008d1f
+6800808f
+1fe0ffff
+6000808f
+20610000
+7940001e
+70008fff
+20600000
+4486c001
+204028d8
+204028cc
+204028f2
+20402a5b
+204029eb
+20402a0d
+202c20c8
+204020b1
+2020209f
+44874001
+204029bb
+20402a6b
+2040251e
+793f8001
+c6858000
+4487c001
+68008013
+1fe0fe01
+60008013
+20600000
+44884002
+7834fc00
+78387c00
+680140b5
+203a20db
+18000e08
+20407f16
+247a0000
+4488c002
+680940b7
+18000e28
+2040271c
+20342114
+18000e03
+20407f16
+243a20f0
+6800804c
+c28220e6
+202020e9
+d8a00101
+df200008
+20407ec6
+44894002
+70003000
+20405cf7
+70468100
+700a9913
+20407d86
+20202114
+4489c002
+18001600
+34730200
+680080f2
+1fe0ffff
+9c42fe00
+2fe00600
+2420a0f0
+18827e00
+60008181
+18004c00
+18004800
+448a4002
+2021a114
+204028dc
+d9600600
+34730200
+448ac002
+680200f2
+98004200
+1fe0fe01
+600200f2
+280ffe0c
+7920c802
+2c200400
+2420a128
+6800800c
+1fe0fe01
+6000800c
+204028d2
+20402a51
+20402a56
+20402a64
+2040264d
+2040211a
+202020fc
+448b4002
+7854fc00
+680140b5
+207a0000
+18000e08
+20207f08
+448bc002
+6800808e
+1fe0ffff
+6000808e
+20610000
+70008e1f
+680080f0
+1fe0ffff
+600080f0
+20610000
+7940000c
+6800c0a6
+600080f0
+20600000
+448c4003
+204028cc
+20402a5b
+204029eb
+20402a0d
+202c2130
+2040211a
+20202101
+2040264d
+6800800d
+1fe0fe01
+6000800d
+18003600
+680200f2
+448cc003
+20402a4f
+204028dc
+1cc0cc01
+1c2143fd
+1c8149fc
+204028d2
+20402a51
+20402a56
+20402a64
+1c427e00
+60020161
+18000800
+18000202
+20402a6b
+20402766
+448d4003
+20402a4d
+1c21c202
+1c8149fc
+204028cc
+20402a5b
+204029eb
+20402a0d
+204c264d
+202c2155
+68008010
+203a20fc
+1fe0ffff
+60008010
+20202136
+448dc003
+6800800e
+1fe0fe01
+6000800e
+20402435
+204022f2
+202c215f
+20402455
+243a215a
+202020fc
+448e4003
+68008030
+793ffe03
+60008030
+20402440
+7854fc00
+20600000
+448ec003
+7834fc00
+78387c00
+204021e1
+20740000
+20402c69
+20402a4f
+1c40c201
+204028e2
+18004803
+20406cc2
+20402489
+204028d2
+20402a51
+20402a56
+20402a64
+20402762
+448f4003
+20405d08
+204022e4
+2436a180
+20402a88
+20402728
+6800800f
+1fe0fe01
+6000800f
+448fc003
+20406caa
+2040218b
+24748000
+204026f3
+243a2188
+7854fc00
+20600000
+20402489
+204022da
+20202177
+2036a18e
+20402a7f
+2021219c
+204021a7
+2434219c
+6800804c
+c4020000
+c3818000
+6800804b
+c3818000
+204021ae
+247a0000
+6800816e
+1fe0ffff
+6000816e
+247a0000
+20206006
+44904004
+2040245d
+7854fc00
+6800804c
+c28221a2
+20600000
+6800804c
+c3818000
+d8a00101
+df200008
+20207ec6
+4490c004
+78347c00
+6800804b
+c4018000
+204021ae
+247a0000
+20207fe9
+68008072
+1fe0ffff
+60008072
+20600000
+44914004
+68008030
+c283a1bb
+680089b5
+203a21bb
+7009b500
+700a9918
+20407d86
+202021bb
+4491c004
+20402254
+68008030
+79207e07
+60008030
+7041bd01
+68008055
+c08b21c3
+20600000
+7009b501
+68008030
+793ffe07
+60008030
+20600000
+44924004
+78547c00
+68010032
+d840ffff
+98467c00
+24628000
+68020034
+203821d3
+9d067e00
+202021d4
+9c467e00
+1fe67c04
+24610000
+18007e00
+60010032
+20207fe7
+1fe20400
+4492c004
+600a0034
+70455b01
+5800ffff
+60010032
+70007301
+20600000
+44934004
+204021c9
+24740000
+78547c00
+70001120
+793f800b
+20402a4f
+204022e6
+c505a1f4
+20402455
+243a21e7
+4493c004
+78547c00
+1c427e00
+600240ca
+78387c00
+7834fc00
+700a992a
+20207d86
+44944005
+20402a4d
+d8200010
+204022dc
+78587c00
+7854fc00
+20402818
+20402435
+4494c005
+2040247c
+2036a202
+20402455
+243a21fc
+202021ec
+68008031
+793ffe01
+60008031
+20402a88
+20402841
+78347c00
+700a992b
+20207d86
+44954005
+79200009
+1a227e00
+6001001e
+18007250
+d8a0043f
+1a208c01
+e8c08000
+1a220c00
+c2807f01
+d8a00030
+20407f01
+78577c00
+68008077
+98000800
+70008a01
+2034a21c
+70008a01
+68008030
+c4008000
+68008073
+6000808a
+68008074
+6000808b
+20600000
+4495c005
+6801001e
+98000a00
+18007250
+d8c0043f
+203b7f01
+d8c00030
+20207f01
+df200001
+68088015
+18408401
+2841fe01
+2420a231
+d8400000
+60088015
+184ffe50
+da204040
+9a20a200
+ea208000
+c280a239
+c3800000
+c3818000
+c200222d
+20600000
+44964005
+da60226a
+20402261
+24628000
+1a227e00
+6001001e
+18007c00
+20600000
+20402725
+2020a24b
+6801001e
+1fe08a17
+68008047
+e0a08000
+da6022aa
+20202261
+68008047
+2feffe03
+2020a250
+18007c01
+20600000
+18007c00
+20600000
+da6022a7
+20202261
+6809001e
+da6022cf
+20202261
+6808c1cf
+da602275
+20202261
+4496c005
+680b41d0
+da60226e
+20202261
+da60227b
+20202261
+da6022c6
+44974005
+da204040
+df200001
+ea208000
+1a627a00
+1a20a250
+c2002264
+18007c01
+20600000
+c2802266
+c281a266
+18007c00
+20600000
+c281a270
+c3002266
+1a208c10
+e8c30000
+98467c00
+20628000
+20202266
+c3002266
+1a208c16
+e8c08000
+98467c00
+20628000
+20202266
+c300a266
+204022b3
+20402297
+98467e00
+1fe0fe01
+20212291
+18c22400
+60048aa2
+6800c4c0
+243a2289
+68048aa2
+1a420c00
+1fe0fe05
+2020228c
+68048aa2
+1a420c00
+1fe0fe14
+24212266
+18424200
+204022bf
+18007c00
+20600000
+98002400
+1a208c02
+e8c10000
+203a228d
+204022bf
+2020227c
+1ff11600
+196c9600
+2022a2a1
+29601e0f
+24608000
+18511600
+196c9600
+24628000
+7920041c
+20600000
+18511600
+196c9600
+29601e0f
+24608000
+79207e1c
+20600000
+c3002266
+18007c00
+20600000
+c3002266
+1a208c01
+e8c08000
+c2802266
+1a208c17
+e8c08000
+c301a266
+18007c00
+20600000
+1a208c01
+e8c88000
+1c427e00
+284ffe01
+1a208c04
+e8ca0000
+20608000
+1a208c08
+e8c30000
+20402854
+1d027e00
+20600000
+1a208c02
+1a208a04
+e8c10000
+98409600
+19627e00
+e0a20000
+20205449
+c300a266
+204022b3
+9b60fe00
+9b60fe00
+98e0fe00
+98467c00
+24212266
+18007c00
+20600000
+c3002266
+18427e00
+9a267c00
+203f2266
+1a208c01
+e8c08000
+c2802266
+ea208000
+793ffe07
+e2208000
+20202266
+4497c005
+20402a4f
+1c40c201
+204028e2
+18004803
+204028d2
+20402a51
+20402a56
+20402a64
+20202762
+44984006
+20402a4d
+1c40c201
+204028e2
+18004803
+204028cc
+2040242a
+204029f1
+20402a5b
+204029eb
+20402a0d
+246c0000
+204029bb
+2020251c
+4498c006
+68008181
+98000800
+18000201
+204022da
+202022e4
+6800c093
+c4000000
+18000e04
+20407f16
+247a0000
+680940ad
+18000e04
+2040271c
+20740000
+20402308
+18000e04
+680140af
+242c7f08
+180a7e00
+9ea17e00
+20207f08
+44994006
+70018100
+78587c00
+78577c00
+204028a4
+1c4143fc
+18004801
+204028d8
+204028cc
+7940001d
+68008006
+1fe0fe01
+60008006
+204028f2
+204029eb
+20402a14
+246c0000
+4499c006
+18003600
+204028f9
+68008007
+1fe0fe01
+60008007
+204028d8
+20402a4d
+1c21c202
+18004801
+204028d2
+204028f2
+20402a51
+20402a5f
+1c427e00
+60020161
+20402a64
+18000202
+18000800
+20402a6b
+20402766
+20402332
+1c2143fd
+1cc0cc01
+20600000
+449a4006
+6800c0d1
+207a0000
+d8a0018e
+6800c515
+1fe27200
+1fe0fe01
+e0a08000
+18a20400
+1fe0fe01
+600141dc
+18420a00
+58000009
+e0a08000
+d8c04516
+20407f01
+da60458d
+df200004
+20402354
+da604577
+df200001
+20402354
+1800020a
+7041db02
+5800018e
+6001016f
+20402a4d
+204028d2
+20402a51
+20402a5f
+20402a64
+20402a6b
+20402766
+20600000
+18a20400
+1a620c00
+e8c08000
+207a0000
+1fe3fe00
+c2002358
+1fe22200
+1fe0fe02
+1fe20e00
+680141dc
+98e0fe00
+600141dc
+18420a00
+1a227e00
+1fe0fe01
+e0a08000
+1a620c00
+e8c08000
+e8c08000
+e0a08000
+1a227200
+20207f01
+6800c093
+c4008000
+18000e05
+20407f16
+247a0000
+680940b1
+18000e28
+2040271c
+20740000
+18000800
+70001008
+793f800b
+2040237a
+18000e05
+680140b3
+20207f08
+449ac006
+78587c00
+204028a4
+68008008
+1fe0fe01
+60008008
+18004c00
+204028e2
+1c40c201
+18004802
+449b4006
+204028cc
+204029eb
+20402a14
+246c0000
+204028f9
+68008009
+1fe0fe01
+60008009
+18003600
+20402a4d
+1c21c202
+18004801
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+18000800
+d9600600
+35330200
+1d01d003
+1c2143fd
+449bc006
+1cc0cc01
+204028cc
+204029eb
+20402a07
+242c23a4
+20402a6b
+2040251e
+c505a3ab
+449c4007
+68008010
+207a0000
+1fe0ffff
+60008010
+20402a4f
+2020239b
+449cc007
+793fd001
+79205000
+6800800a
+1fe0fe01
+6000800a
+20402a4d
+1c21c202
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+2d000603
+2020a3bc
+37cb8200
+202023b8
+68020165
+1fe1fe03
+1fe25000
+449d4007
+68030178
+60030040
+20402435
+2040247c
+2036a3c8
+20402455
+243a23c3
+20600000
+449dc007
+20402440
+2040223b
+24628000
+70003100
+20402841
+20202223
+449e4007
+20402850
+204023f3
+20740000
+449ec007
+20402c69
+20406caa
+20402514
+2436a3e2
+20402a88
+20406cc2
+20402489
+20402757
+20402728
+20405d08
+6800800b
+1fe0fe01
+6000800b
+20402841
+449f4007
+20402bb1
+20402a7f
+202123eb
+204021a7
+243423eb
+204026f3
+243a23d3
+20600000
+449fc007
+70015100
+70017f00
+2040245d
+793f8011
+20407fb0
+68008030
+20600000
+44a04008
+204021c9
+24740000
+18820400
+20402a6f
+60008181
+18420800
+70001120
+44a0c008
+20402a4f
+18000202
+2040274f
+1c427e00
+60020161
+20402762
+20402a4d
+7837fc00
+204024f6
+202c240d
+204028f9
+20402455
+243a23fb
+c6820000
+70007c34
+79200003
+20600000
+78387c00
+20402435
+204028a4
+44a14008
+204022f2
+202c2419
+20402455
+243a2410
+78587c00
+1d027e00
+600240ca
+20600000
+7834fc00
+c582241f
+793f8004
+70007c03
+70007d33
+204062f8
+18827e00
+60008077
+18007e00
+60030038
+68008031
+79207e01
+60008031
+20402a88
+7854fc00
+78347c00
+20600000
+44a1c008
+7856fc00
+793f8005
+793f800a
+793f8010
+793f800f
+68008047
+793ffe05
+79207e04
+60008047
+20600000
+44a24008
+70001120
+70004750
+680140bf
+6001003e
+1c427e00
+600240ca
+20780000
+1d027e00
+600240ca
+20600000
+44a2c008
+20405d04
+20402459
+60008046
+58000000
+6001025d
+58001c80
+60010051
+68008030
+79207e00
+60008030
+70004b00
+70004c00
+7000a000
+20202a88
+44a34008
+18007e00
+600441be
+e0a40000
+204021c5
+20202254
+68008011
+1fe0ffff
+60008011
+20600000
+6800c0cf
+1fe0fe01
+6000c0cf
+20600000
+44a3c008
+6800c1ce
+c001a462
+68008048
+c080a466
+20404d06
+2422a466
+204021a4
+7041ce00
+44a44009
+204033af
+204026e9
+700a9902
+20407d86
+20405cf7
+20404d6b
+2040757d
+68008030
+793ffe00
+60008030
+70468100
+6800804c
+2fe18000
+2020a476
+793f8001
+68008047
+c301a478
+6800804b
+c4030000
+793f8002
+20600000
+44a4c009
+68008174
+207a0000
+1fe20800
+20402514
+24768000
+18000200
+20402757
+18827e00
+60008077
+18007e00
+60008174
+20600000
+44a54009
+68008030
+c3012496
+18000207
+c583a495
+20402725
+2420a496
+20372496
+204024c1
+58000002
+600140c8
+20600000
+24770000
+44a5c009
+20402243
+2422a4a7
+68008047
+c301a4b0
+c502a4b4
+6800817f
+c28324ba
+680140c8
+1fe0ffff
+600140c8
+203a24a5
+6800c0c5
+98000200
+20600000
+44a64009
+20402687
+20402725
+2020a4b0
+2040600a
+203424be
+6800804b
+c28324c0
+c502a4b4
+6800817f
+c28324ba
+18000201
+20748000
+18000200
+20600000
+44a6c009
+68008019
+98000200
+c1808000
+18000200
+20600000
+68008158
+1fe1020f
+79200005
+20600000
+18000213
+202024c1
+204024ca
+44a74009
+68088047
+79200403
+60088047
+18227e00
+6000c0c5
+5800ffff
+600140c8
+20600000
+44a7c009
+6800804c
+2feffe05
+680141dc
+2020a4e0
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c1b
+20610000
+1800020a
+1fe67c79
+20610000
+1800020b
+1fe67cb7
+20610000
+1800020e
+1fe67ce0
+20610000
+1800020f
+20600000
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c36
+20610000
+1800020a
+d840016f
+98467c00
+24610000
+1800020e
+d84002a7
+98467c00
+24610000
+1800020f
+20600000
+68008030
+c300a4f5
+68010032
+203a24f5
+243724f7
+20402a4f
+1d00c201
+78287c00
+6801003e
+1fe37e00
+d8400500
+9840fe00
+20402a24
+204028ea
+18004803
+204028cc
+2040242a
+204029f1
+44a8400a
+6801003e
+1fe37e00
+20402a24
+204029eb
+7826fc00
+6801003e
+d84003bb
+9840b600
+37c18400
+1b420400
+600b009a
+7846fc00
+246c0000
+dd2003bb
+1c225000
+2035ab05
+20600000
+44a8c00a
+204024f0
+242c28f9
+204029bb
+c588a51c
+680100f6
+1fe0fe01
+600100f6
+1c230400
+18419c40
+44a9400a
+7823fc00
+78257c00
+7825fc00
+09800003
+198cfe00
+6000815d
+09800004
+08008007
+19827e00
+60008019
+09800003
+198cfe00
+6000815e
+68008019
+1fe67c03
+20212533
+c003a533
+6800804c
+2feffe05
+7920aa01
+44a9c00a
+09800008
+7845fc00
+78457c00
+20232631
+c588a53c
+680100f8
+1fe0fe01
+600100f8
+44aa400a
+6800815d
+2fe00e00
+7920800a
+2020a54c
+a8800e00
+2020a54b
+c583a64d
+680880b0
+a8400e00
+2420a64d
+68008047
+793ffe05
+79207e04
+60008047
+7836fc00
+44aac00a
+68008019
+1fe20200
+c505255b
+6808815e
+68008047
+793ffe00
+284ffe00
+7920fe00
+284ffe01
+7920fe01
+60008047
+284c0001
+2020a55b
+20402687
+44ab400a
+d8400000
+20402a1c
+18217e0f
+c000a587
+c000264d
+c0012659
+6808815e
+68008047
+a8400800
+2420a569
+c5852568
+c303a569
+7920000f
+44abc00a
+18227e00
+c001a589
+c002258d
+c003a578
+c004258c
+d8400004
+20402a1c
+c0052588
+c005a58b
+d8400008
+20402a1c
+c0072588
+c007a58b
+20600000
+44ac400b
+7826fc00
+7824fc00
+78277c00
+d8a000d1
+1800721e
+09800008
+19897e00
+e0a08000
+c200257e
+c583a64d
+09800010
+7d230008
+2023263d
+20202620
+2020264d
+79200010
+78267c00
+2020258e
+79200010
+79202a02
+7826fc00
+44acc00b
+c500a64d
+2aac0001
+2020a59a
+7843fc00
+7826fc00
+78467c00
+1c409602
+34530400
+242c263d
+79200010
+7823fc00
+44ad400b
+78277c00
+7824fc00
+09800003
+198cfe00
+60008180
+09800005
+c50825a5
+19897200
+1f297200
+202025a8
+09800005
+19837200
+09800003
+44adc00b
+1f227e00
+6001015f
+203a25e8
+9ea67c00
+2021263d
+44ae400b
+793f8000
+68008180
+1fe17e03
+d8a00551
+c001a5ba
+c508a5e4
+68008180
+1fe17e03
+c00125bf
+c000a5d3
+2020263d
+6801015f
+1fe67c70
+2421263d
+c507a620
+202025e4
+44aec00b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008263
+c30025c9
+c300a5ce
+2020264d
+70026101
+6801025d
+c080264d
+d8a01000
+202025e4
+70026102
+6801025f
+c080264d
+d8a01400
+202025e4
+44af400b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008261
+c000a5dd
+c00125e1
+2020264d
+d8a01000
+6801025d
+98a08a00
+202025e4
+d8a01400
+6801025f
+98a08a00
+09800008
+19897e00
+e0a08000
+c20025e4
+44afc00b
+09800010
+20232637
+6800c363
+c000a64d
+c508a60d
+c507a64a
+68008180
+2fe00603
+2020a60d
+6801015f
+203a260d
+44b0400c
+68008261
+c000a5f9
+c0012603
+20202a8c
+6801025d
+6809015f
+9840fe00
+6001025d
+c0002a8c
+68091000
+18408404
+98467c00
+2042a747
+2020260d
+6801025f
+6809015f
+9840fe00
+6001025f
+c0002a8c
+68091400
+18408404
+98467c00
+2042a74b
+2020260d
+44b0c00c
+6808804c
+68008180
+2fe00603
+79208406
+7d208407
+6008804c
+2420a616
+79200001
+c588a620
+284ffe06
+2020a620
+680100fa
+1fe0fe01
+600100fa
+79200005
+793f8407
+793f8001
+6008804c
+44b1400c
+6808815e
+68008047
+79207e05
+284ffe02
+7920fe02
+280ffe0a
+7920fe07
+60008047
+6801015f
+243a264d
+6800804c
+793ffe07
+6000804c
+68008180
+2fe00e01
+2020264d
+44b1c00c
+7856fc00
+6801001a
+1fe0fe01
+6001001a
+2020264d
+6801001c
+1fe0fe01
+6001001c
+2040263e
+c588a63d
+79200005
+2020264d
+44b2400c
+68008180
+2fe00603
+2420a646
+6808804c
+793f8406
+6008804c
+20600000
+6808804c
+793f8407
+6008804c
+20204c0b
+68008047
+79207e05
+60008047
+44b2c00c
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+44b3400c
+7824fc00
+78267c00
+09800048
+2feffe3a
+79208000
+1c020400
+57e04000
+57e03c00
+782afc00
+380bffff
+380cffff
+20000020
+29a80000
+1d827e00
+60018178
+1da27e00
+6000817b
+18424000
+2020a66e
+2020263d
+44b3c00c
+09800048
+57e03e00
+57e00800
+57e05c00
+57e02400
+18007e00
+09800010
+2023263d
+5ffffffc
+9a417e00
+60020165
+1ba27e00
+60018175
+1b827e00
+60008173
+18827e00
+60008174
+1dc27e00
+6001017c
+1c227e00
+08008220
+28201e02
+7920800b
+2020264d
+44b4400d
+68008047
+c4018000
+793ffe03
+79407e06
+60008047
+6800c0c5
+c009a69c
+c1038000
+6800804b
+c4030000
+793ffe06
+79207e07
+6000804b
+793f8002
+68014246
+247a0000
+6800804b
+793ffe07
+6000804b
+2020525d
+44b4c00d
+680084b7
+1fe37e00
+c008a6b8
+c00926c0
+c00c26e9
+c03fa6a8
+c1818000
+680084b8
+c015a6b0
+c008a6ab
+20600000
+680084b8
+79207e07
+20600000
+20748000
+68008030
+c3820000
+70007c31
+20600000
+20748000
+68008031
+2feffe04
+2020a6b5
+20600000
+793ffe04
+60008031
+20600000
+44b5400d
+6800804c
+79207e02
+6000804c
+70801101
+68008030
+2feffe04
+20600000
+44b5c00d
+6800804c
+793ffe02
+6000804c
+70801100
+20600000
+44b6400d
+1c427e00
+6002420c
+1c40a203
+2034a6cc
+1d00a203
+68090032
+1a227e00
+793ffe1b
+9846fc00
+68010075
+20407f86
+18072600
+9a667e00
+202126d6
+9840fe00
+9a20fe00
+60020034
+70455b00
+68008030
+79207e01
+60008030
+68008073
+6000808a
+58000000
+6001c169
+6001c16c
+6000c159
+700a990b
+20407d86
+680140c1
+6001003e
+24748000
+18808fff
+20600000
+44b6c00d
+68008030
+c4008000
+793ffe01
+60008030
+680140bf
+6001003e
+7855fc00
+700a990c
+20207d86
+44b7400d
+78377c00
+68008030
+c280a700
+c6088000
+68008047
+c3818000
+68008048
+247a0000
+6800804b
+c3830000
+18007e00
+20600000
+c301270f
+6800808a
+c0012706
+68008047
+c281a718
+c5842718
+2434a718
+68008048
+243a2718
+680080ef
+1fe0ffff
+600080ef
+243a26fe
+7000ef10
+20202718
+6800808a
+c080a718
+6800808b
+203a2718
+1fe0ffff
+6000808b
+68008047
+c3818000
+24768000
+6800808a
+1fe0ffff
+6000808a
+20600000
+44b7c00d
+78487c00
+18423600
+20402260
+78547c00
+24628000
+18003600
+78347c00
+20600000
+6800c158
+a881fe00
+20600000
+44b8400e
+793f8001
+70026a00
+68008263
+207a0000
+2feffe00
+d8c01000
+2040cd79
+44b8c00e
+6800826a
+c000a73b
+70026a00
+68008263
+c4008000
+d8c01400
+20404d79
+6800826a
+c000a741
+20600000
+68008263
+793ffe00
+60008263
+58000000
+6001025d
+20600000
+68008263
+793ffe01
+60008263
+58000000
+6001025f
+20600000
+68008263
+79207e00
+60008263
+20600000
+68008263
+79207e01
+60008263
+20600000
+44b9400e
+1d00c201
+204028ea
+18004803
+204028d2
+20402a51
+20402a5f
+20202a64
+44b9c00e
+20402a4d
+1d027e00
+680a40ca
+98467e00
+c1808000
+28203e00
+2420a761
+68008019
+207a0000
+2040274f
+28203e10
+2020a64d
+1c230400
+18419c40
+44ba400e
+7823fc00
+78257c00
+782dfc00
+793f8010
+18827e00
+08008603
+18227e00
+08008604
+68008047
+08008004
+08008603
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+d8400000
+20402a1c
+44bac00e
+18217e1f
+c009a7b4
+c000264d
+c000a64d
+c0012797
+c001a7c5
+c00227cb
+c003a78c
+c00427ca
+d8400004
+20402a1c
+c00527c7
+c005a7cd
+d8400008
+20402a1c
+c007a7cd
+202027c7
+44bb400e
+782efc00
+7824fc00
+78277c00
+1800721e
+d8c000b3
+e8c08000
+08008608
+c2002792
+c503a7f7
+2020264d
+44bbc00e
+68008181
+1fe20800
+68008090
+1fe23800
+6801c0aa
+1fe23a00
+680140a4
+1fe25c00
+7824fc00
+782e7c00
+1c022200
+204028e2
+782afc00
+20000020
+1c221600
+68020161
+1fe24200
+53c07e00
+79207e3a
+08008648
+53e07e00
+08008648
+19624200
+1a224000
+78247c00
+08008610
+78447c00
+2020264d
+44bc400f
+78277c00
+7824fc00
+782e7c00
+680084b6
+1fe105f8
+d8c004b6
+18408408
+1840a7b8
+242127c2
+e8c48000
+08008648
+1a620400
+202027bc
+e8c48000
+08418600
+202027f7
+782e7c00
+202027d0
+782e7c00
+79200010
+202027d0
+79202a02
+782efc00
+202027d0
+79202a02
+782efc00
+79200010
+44bcc00f
+6800804c
+c302a7e5
+18267c03
+202127e5
+78477c00
+784e7c00
+782efc00
+7843fc00
+79202a01
+2aaffe02
+2020a7df
+580abeee
+08008614
+202027e3
+585faeba
+08008618
+58000012
+08008606
+7823fc00
+79200010
+78277c00
+7824fc00
+c502a800
+6800c1db
+08008603
+680141dc
+98007200
+c50827ef
+08008605
+202027f0
+0800860d
+1f227e00
+203a27f7
+6801016f
+98000c00
+e8c08000
+08008608
+c20027f4
+78247c00
+08008610
+78447c00
+204024c1
+6800804c
+c302a64d
+18007e00
+08008606
+2020264d
+44bd400f
+c5082808
+68008180
+08008603
+6800815f
+98002600
+08008605
+2020280d
+68008180
+08008603
+6801015f
+98002600
+0800860d
+d8c00551
+1a627c00
+2022a814
+e8c08000
+08008608
+1a60a7ff
+2020280e
+680100fc
+1fe0fe01
+600100fc
+202027f7
+68020165
+1fe0a207
+68010171
+243a281e
+1a20a3fd
+20202826
+1feffe0c
+68190040
+18408401
+98467e00
+24212825
+1a20a3ff
+20202821
+1fe67e00
+37d18200
+2c400600
+2420a826
+98005200
+1a225000
+98005200
+20600000
+44bdc00f
+37d10200
+1b427e00
+98000c00
+1ff17e00
+9c467200
+1f217203
+2422a837
+18007e00
+2020283b
+d8400ea6
+18007e00
+9840fe00
+c2002839
+98c0fe00
+1fe6fc0c
+20407f86
+1807fe00
+60010171
+20600000
+44be400f
+1b427e00
+1b220400
+98467c00
+7d217e2c
+98460400
+58000ea6
+284c000f
+2020a84c
+5fff0ea6
+98408400
+600b0447
+207b0000
+600b0038
+20600000
+78587c00
+68030447
+203b2854
+68030038
+9b20e000
+1e00e00a
+58000ea6
+9e067e00
+2fec000f
+2020a85e
+5800f15a
+9e00e000
+1e023400
+20600000
+18007c00
+2020285c
+44bec00f
+20402918
+1c227e00
+1fe17f80
+2c800e03
+2420a869
+1fe97e00
+9ae0fe00
+2020286a
+1ae27e00
+1fe6fc4f
+782afc00
+20407f86
+18072200
+1a2085d8
+20212872
+1a238400
+20202874
+18438400
+18408401
+44bf400f
+68008031
+c301a885
+680240d2
+9c267c00
+20212885
+204028a4
+6800c0d9
+207a0000
+68008031
+79207e02
+60008031
+6802c0e7
+6002c0da
+e8c28000
+6002c0df
+204028a9
+68008031
+c4010000
+2c2ffe01
+2020a8a1
+18492200
+18410e07
+580040da
+9a20a200
+ea208000
+afec0000
+2020a892
+18427e00
+2020289e
+6800c0e4
+98002400
+1c227e00
+1fe17f80
+1fe97e00
+9ae0fe00
+9a46fc00
+580040f2
+20407f86
+18072200
+9a208c00
+e8c08000
+6000c0e5
+98000400
+20600000
+6800c0e5
+98000400
+20600000
+68008031
+793ffe02
+793ffe03
+60008031
+20600000
+44bfc00f
+d8a040f2
+1800720a
+20407ec6
+d8a040f2
+18002600
+18000e02
+6802c0da
+98000400
+28e1fe02
+2020a8b5
+18430400
+284c0000
+2020a8b9
+1a627e00
+e0a08000
+184b0400
+1a60a602
+2a61fc28
+2420a8c2
+6802c0df
+98000400
+28e1fe02
+2020a8c2
+18430400
+1a667c4e
+202128b5
+18002601
+18e08fff
+2422a8b0
+da2040f2
+18a27e00
+9a267e00
+6000c0e4
+20600000
+44c04010
+20402860
+6800817f
+c302a8d1
+680884cc
+2020291f
+44c0c010
+20402860
+6800817f
+c30228d7
+680884cb
+20202933
+18005a00
+6801c0a7
+98005800
+20600000
+44c14010
+6800c1d3
+1fe25a00
+6801c1d0
+1fe25800
+20600000
+44c1c010
+680140a4
+1fe25c00
+6800c0a3
+1fe25a00
+6801c0a0
+1fe25800
+20600000
+44c24010
+68010044
+1fe25c00
+68008043
+1fe25a00
+68018040
+1fe25800
+20600000
+c51028f5
+c68e8000
+c68f8000
+1d815900
+782afc00
+20000020
+20600000
+44c2c010
+2030a90a
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6800c1de
+c0002908
+c000a915
+c0012908
+c001a915
+c0022915
+c0102915
+708955d0
+708956e0
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+70890600
+20600000
+708955d0
+708956c0
+2020290a
+44c34010
+70890200
+70890100
+70890018
+708903a7
+7089047f
+20600000
+44c3c010
+60088017
+1840a204
+70896d07
+20202981
+44c44011
+708901cf
+2000000a
+708900ff
+708903af
+708904ff
+2000000a
+708902a0
+20600000
+6800c1e0
+203a2931
+1840a202
+20600000
+1840a200
+20600000
+44c4c011
+60088017
+2040292d
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027f
+6800c1de
+c000294b
+c000a94f
+c0012953
+c001a957
+c002295b
+c010295f
+708956f0
+20402965
+708955d8
+20600000
+708956df
+20402965
+708955df
+20600000
+708956ff
+20402965
+708955df
+20600000
+708956ce
+20402965
+708955d8
+20600000
+708956cb
+20402965
+708955d8
+20600000
+708955d0
+708956c0
+7089574c
+7089586c
+70895950
+20600000
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d4
+20600000
+70804206
+680140c3
+c307296d
+98000c00
+d8408900
+e8c08000
+c07fa977
+98418a00
+e8c08000
+e0a08000
+20202971
+44c54011
+20402be5
+204029c9
+580007d0
+9c40fe00
+60020169
+79202a03
+18002a00
+2455a998
+202029ab
+44c5c011
+58000960
+9a208400
+6800c0bd
+70895f04
+984ffe00
+6808c0be
+9846fc00
+20407f86
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+60120960
+70895f44
+70895fc4
+20600000
+44c64011
+70890602
+5803d090
+20402a8f
+7089007f
+20000082
+70895230
+708901d0
+70895270
+708952f0
+18007232
+68108980
+c282a9a6
+c20029a3
+6000c0ce
+70890100
+70890000
+70890600
+20600000
+44c6c011
+6800c0ce
+79207e05
+60108952
+68188950
+18410407
+1fe9fe00
+9841fe00
+60108950
+68108951
+793ffe00
+60108951
+68108952
+793ffe05
+60108952
+20600000
+44c74011
+68110981
+1ff1fe00
+1fe97e00
+1fe67e00
+1fe17eff
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+9841fe00
+60008018
+20600000
+70804206
+6810896b
+793ffe04
+793ffe05
+6010896b
+70890500
+70890400
+70890470
+708905ff
+6810896b
+79207e04
+79207e05
+6010896b
+204029e9
+68108968
+79207e07
+60108968
+793ffe07
+60108968
+79207e07
+60108968
+70804205
+20000001
+70804204
+6810896b
+1fe17ecf
+6010896b
+1fe1fe30
+6010896b
+20600000
+58000f0f
+20202c18
+5800080f
+20202c18
+44c7c011
+20402924
+78507c00
+7830fc00
+782b7c00
+20600000
+44c84012
+6800804c
+2feffe02
+7920fe00
+60108011
+d8c00062
+e8c48000
+98006400
+e8c38000
+98006600
+68008054
+1fe0e9ff
+782d7c00
+20600000
+1b427e00
+6003009a
+7846fc00
+242c28f9
+dd2003bb
+1d00d001
+1d0151fc
+20600000
+7826fc00
+37cb8400
+202c29ff
+2d000402
+2420aa08
+202029ff
+44c8c012
+d9600600
+7826fc00
+34730400
+7846fc00
+242c28f9
+20600000
+44c94012
+7826fc00
+37c18400
+7846fc00
+242c28f9
+dd2003bb
+1d0151fc
+20600000
+44c9c012
+98002200
+1c227e00
+98409600
+19627e00
+600240ca
+1a227e00
+20600000
+1fe20400
+44ca4012
+18427e00
+20407f50
+1c307e00
+79207e2c
+20407f39
+793ffe2c
+20402a77
+20407f39
+20740000
+20407f43
+98003600
+37c18200
+20600000
+44cac012
+20382a38
+35330200
+1d020400
+20202a3b
+20372a3a
+34730200
+1c420400
+20342a47
+28400601
+2420aa33
+44cb4012
+68008030
+c4000000
+680240ca
+98467e00
+24610000
+1fe67cff
+20212a33
+20600000
+28400603
+2420aa33
+20202a3e
+44cbc012
+d9600600
+20202a33
+78547c00
+20202a4a
+78347c00
+20202a4a
+44cc4013
+204029f1
+7850fc00
+78307c00
+20600000
+44ccc013
+d9600e43
+34730200
+782b7c00
+20600000
+44cd4013
+d9600d00
+34730200
+20600000
+44cdc013
+d9600e43
+35330200
+782b7c00
+20600000
+44ce4013
+51207e00
+782efc00
+79202a00
+08008648
+784efc00
+20600000
+1ca20400
+18418460
+18421c00
+20600000
+44cec013
+6800c090
+1fe0fe01
+c083aa74
+18007e01
+6000c090
+98000800
+20600000
+1b220400
+20748000
+1b420400
+20600000
+1c427e00
+20748000
+1d027e00
+20600000
+44cf4013
+680a004d
+20402a7b
+98461600
+19627e00
+68090051
+18438400
+98467e00
+20600000
+44cfc013
+20402a7b
+6002004d
+20600000
+44d04014
+20202a8c
+20202a8e
+207a0000
+1fe37e00
+1fe0fffd
+1fe0ffff
+2422aa92
+18007e00
+20600000
+df200010
+d8a00000
+20407ec6
+d8a0043f
+df20000a
+20407ec6
+7009b200
+700a9900
+70048c00
+70017f00
+7004d100
+44d0c014
+70016d00
+70015100
+70015c00
+589e8b33
+6001c0a7
+58000153
+60010083
+7000851e
+70008601
+70008807
+5812e904
+60018080
+70009060
+7040d005
+70001402
+6800c65a
+245a74c1
+6800c4be
+245a7518
+44d14014
+20758000
+58000000
+600141dc
+1c437e00
+60024094
+20600000
+5800ee21
+60110050
+6812011c
+60020abe
+6810813e
+60008abd
+c301e45b
+7835fc00
+c303aacc
+7855fc00
+1ce27e00
+243a2acc
+6810813b
+c2812acc
+d85fffff
+20202b3c
+6811813c
+6011804c
+e8c08000
+1fe1feef
+e0a08000
+20402c23
+6810804f
+79207e04
+6010804f
+20402c23
+2055aadf
+6810804e
+793ffe03
+6010804e
+20402c23
+2435e45b
+c6958000
+70800608
+20600000
+6800c198
+60108086
+6801c18d
+60118080
+68024181
+60120074
+6802417d
+60120070
+68044185
+60140078
+68044190
+98000000
+68140140
+600400a1
+204064ca
+20600000
+18027e00
+60044190
+68140070
+6004417d
+e8c40000
+e0a40000
+68118080
+6001c18d
+68108086
+6000c198
+20202c29
+68108063
+243a2b00
+6801c16f
+247a0000
+708063c0
+70800680
+6810812d
+c4008000
+68118149
+6001c16f
+20600000
+44d1c014
+1b427e00
+20407f37
+680a415f
+18467cff
+20610000
+1fed7e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+d84000c8
+20407f91
+60008099
+24342b15
+1fe67e00
+6809c16f
+9840fe00
+6001c16f
+58000000
+6002415f
+20600000
+6800c177
+79207e02
+6000c177
+20202b23
+d85fffff
+6800c176
+793ffe07
+6000c176
+44d24014
+20402c29
+6800c157
+6000c17c
+6800c17a
+79207e07
+6000c17a
+44d2c014
+204029e7
+6802415f
+9840fe00
+6002415f
+20402aef
+6802c178
+6012004c
+1fef2200
+37d98200
+1b227e00
+60034163
+70800502
+37d98200
+37d98200
+1a227e00
+6010804f
+70800502
+37d98200
+37d98200
+601a004c
+70800510
+37df8200
+44d34014
+58000000
+1ce27c00
+2022ab4c
+6810813c
+6818813d
+98467c00
+20212b4a
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+680a415b
+9840fe00
+6809c16f
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+9841fe00
+680b4163
+20407f2c
+18423200
+68034048
+20402854
+1b427e00
+60030a9a
+1ce27e00
+e0a08000
+6810811d
+1fe1fef0
+e0a08000
+20600000
+44d3c014
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+6800c65a
+203a2b74
+6800c5b1
+207a0000
+6800c4c0
+247a0000
+20402c3a
+247a0000
+6800c040
+2fe00e03
+2420ab9d
+68014042
+207a0000
+20758000
+44d44015
+680880a0
+68014042
+984ffe00
+18518400
+184b0400
+98467e00
+680a4044
+9840fe00
+6808c156
+98467e00
+1ff06000
+44d4c015
+6801404e
+1fe37e00
+20407f50
+1e027e00
+20407f39
+1b420400
+20407f37
+20740000
+20407f49
+44d54015
+6800c178
+98467c00
+20212b18
+600a415b
+20403328
+204052fb
+680a415b
+20202b2a
+44d5c015
+6800c040
+c3800000
+c3818000
+6800c65a
+203a2ba5
+6800c5b1
+207a0000
+44d64015
+6800c36e
+243a2baa
+6800c093
+207a0000
+68014154
+207a0000
+6808c156
+98467e00
+d8401d4c
+984ffe00
+20202b93
+44d6c015
+7855fc00
+68008030
+c4008000
+2436abd0
+20402bcb
+680140c1
+6001003e
+68008047
+c281abde
+c586abde
+20405274
+243a2bde
+6800c55c
+c280abde
+7000a000
+c586abde
+6800c174
+203a2be2
+1fe0ffff
+6000c174
+20600000
+d8e00001
+202060cd
+d8e00001
+202060d1
+70415900
+6801c169
+1fe0fe01
+6001c169
+20600000
+44d74015
+680940c1
+18430400
+6801003e
+9840fe00
+6001003e
+7000a000
+6801c16c
+1fe0fe01
+6001c16c
+6800c159
+1fe0fe01
+6000c159
+20600000
+7000a000
+6800c173
+6000c174
+20600000
+6808c172
+600880a0
+20600000
+44d7c015
+6800c178
+247a0000
+70804206
+58000f0c
+20402c18
+58030d40
+20402a8f
+37d98200
+1e226000
+204029e7
+70804204
+2000000a
+37d98200
+1e227e00
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+6800c178
+247a0000
+708044ff
+70804206
+204029e7
+580003e8
+9e20e000
+07e00000
+1e227e00
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+d8a00fff
+98a10a00
+6800c175
+1fe17ef0
+1fed7e00
+98a1fe00
+6011004c
+e8c10000
+e0a10000
+58000001
+20202c24
+58000002
+37d98200
+60108005
+37d98200
+37d98200
+20600000
+44d84016
+680200a1
+6012004c
+58000004
+20402c24
+680200a5
+6012004c
+58000008
+20202c24
+68014152
+f9207e00
+60014152
+20600000
+68014152
+f93ffe00
+60014152
+20600000
+44d8c016
+20403326
+68014152
+1fe22200
+6800804c
+2feffe06
+7920a20b
+68008078
+6808807c
+9840fe00
+68088048
+9840fe00
+7d3a220a
+6800c4ff
+7d3a2201
+6801025d
+6809025f
+9840fe00
+7d3a220d
+68044668
+7d3a220f
+68044670
+7d3a220e
+6800c1ce
+7d3a2208
+6800c092
+2fe1fe0a
+2040ac5b
+5ffffff8
+9a212200
+1a227e00
+60014152
+20600000
+68110112
+7d3a2206
+6811010e
+7d3a2205
+20600000
+68120138
+793ffe1b
+6012004c
+20402c21
+20202a8c
+6812013c
+793ffe14
+6012004c
+20202c23
+68014150
+c2802a8c
+20600000
+68014150
+c280aa8c
+20600000
+68014150
+c2812a8c
+20600000
+44d94016
+20402c7a
+1a60a4cd
+ea408000
+c1000000
+c000ad06
+c0012c7f
+20600000
+68094241
+18422600
+20600000
+20402f3d
+2020307d
+20403084
+2040305a
+2040305e
+202030a2
+20403231
+5800004e
+2040322f
+204032ba
+1a60a292
+ea220000
+2020322c
+20402c7a
+1a60a491
+ea488000
+20402c90
+1a608a91
+20202e56
+20402c94
+18408401
+18410403
+20600000
+1a60a4ae
+ea408000
+1fe17e03
+1fefa204
+1a60fe97
+9a20fe00
+98408c00
+e8c08000
+2020322f
+2040326c
+2040666a
+580007e2
+da200aa2
+d8400004
+204066b3
+2040666d
+68020aa2
+20403227
+247a0000
+680240a0
+20203227
+20403241
+58000000
+2040323f
+2040323a
+1fe17e07
+2020323c
+2040323a
+79207e04
+2040323c
+20203235
+2040325d
+c000acb7
+c0012cbc
+20600000
+2040323e
+1a608ad1
+204032d6
+20403242
+20202cac
+2040325a
+20202cb8
+1a60a28c
+ea208000
+1fe0fe01
+1a608a8c
+e0a08000
+c0102dd2
+20403258
+c000acca
+58000001
+2040325b
+20403258
+c080acac
+1a60a2d3
+ea208000
+1fe0fe01
+20402cd5
+c0022cd2
+20402c8a
+20402d04
+20202d8f
+20402cd4
+20202cac
+58000000
+1a608ad3
+202032b4
+2040323e
+2040325a
+20403241
+20202cac
+2040325d
+c001acd8
+2040323a
+2fec0004
+2020aca9
+2040325d
+c000acd7
+c0012cd8
+20600000
+20403253
+c1ff8000
+20402ce9
+24562cf4
+20600000
+78567c00
+1a60a2ce
+ea208000
+c1808000
+1a60a2d0
+ea208000
+c1800000
+58000001
+20402cfd
+20403237
+20207feb
+1a60a2d0
+ea208000
+203a2cff
+1fe0ffff
+2040323f
+58000002
+20402cfd
+20402c8a
+20203237
+1a608ad2
+202032b4
+58000003
+20402cfd
+20403258
+243a2cc8
+20402c8a
+58000002
+20203238
+c6930000
+79200027
+44d9c016
+1a60a28e
+ea208000
+c000ad0f
+2040306a
+24342d16
+20402d1b
+1a608a8e
+204032d6
+20402d2c
+24342d7d
+20402ce4
+20402d8f
+20402e7a
+793f8027
+20600000
+20628000
+79207e1c
+20600000
+1a60a2c2
+ea208000
+1fe0fe01
+1a608ac2
+e0a08000
+c0022d23
+c002ad27
+20600000
+1a60a2ad
+ea208000
+1a608aab
+202032b4
+1a608ac2
+204032d6
+1a60a2ac
+ea208000
+20202d25
+20403253
+c0ffaeb1
+44da4016
+20402d3a
+24342d36
+20402d53
+20402e71
+58000001
+1a608a8b
+202032b4
+1a60a28b
+ea208000
+c000ffe7
+20600000
+1a6084d8
+e8410000
+20407f9c
+24740000
+1a227e00
+60008aae
+1a608ab2
+204032d6
+20402cac
+6000919e
+68008aae
+1fe22200
+1a208401
+d8a0119f
+1a227200
+1a420c00
+20407f01
+da20119e
+c6938000
+1a608a86
+e0a88000
+18427200
+1a608a22
+1a220c00
+20207f01
+1a60a286
+ea208000
+1fe0fe02
+1a608a88
+e0a08000
+2040323a
+20403235
+1a60a286
+ea208000
+1fe9fe00
+1a60a285
+ea288000
+18410403
+18438400
+9841fe00
+1a60a2c3
+ea288000
+9840fe00
+e0a08000
+1a60a286
+ea208000
+98007200
+1a608c22
+20207f01
+2040324f
+2040325a
+20402e6d
+20402cac
+6000919e
+20402d77
+2040323a
+79207e03
+2040323c
+20402d53
+20402d33
+20202d14
+6000919f
+20403224
+600211a0
+d8400006
+da20119e
+20202d4c
+1a60a2b2
+ea208000
+203a2d6b
+1a60a2da
+ea210000
+20207f9c
+20402c7a
+20402afa
+6801c16f
+207a0000
+1a6084dc
+e8410000
+20407f9c
+1a6084b6
+e8440000
+20407f49
+600a415b
+20202b2a
+20402c7a
+1a608a8f
+204032d6
+20402da4
+242c2dae
+2437adae
+20402dd6
+20402e75
+20402c7a
+1a60a285
+ea208000
+1fe0fe01
+20403232
+20403253
+c0ffaed0
+20402cdb
+58000000
+1a608a8c
+e0a10000
+58000000
+20202d34
+7857fc00
+20402df7
+20402c7a
+1a60a2c3
+ea208000
+c000adac
+20402e11
+20202e45
+20402e45
+20202d97
+44dac016
+1a60a28d
+ea208000
+1fe0fe01
+1a608a8d
+e0a08000
+20403253
+c0ffadcc
+1a60a28f
+ea288000
+18408401
+1a608a8f
+e0a88000
+1a60a2cc
+ea208000
+98467e00
+243a2d92
+44db4016
+2040325d
+c001acbe
+1a60a2d1
+ea208000
+1fe0fe01
+1a608ad1
+e0a08000
+c0012cb3
+20402caf
+58000001
+20403238
+20202d8f
+1a60a28d
+ea208000
+c1ff8000
+1a608a8d
+204032d6
+20202dd4
+1a608a8c
+204032d6
+700a993a
+20207d86
+20402dde
+1a60a284
+ea208000
+207a0000
+98007200
+1a608c02
+1a608a64
+20207f01
+2040325f
+1fe97e00
+1a608a84
+e0a08000
+1fe0fe01
+1a608c01
+98c08c00
+e8c18000
+1a608ac4
+e0a18000
+2040325f
+1fe37e00
+1fe17e03
+1a608aca
+e0a08000
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+20600000
+20402918
+1a60a290
+ea288000
+20202933
+20402dee
+20402df3
+79202a00
+782efc00
+78307c00
+7850fc00
+204053c4
+2040322a
+98001200
+08008620
+7824fc00
+1a60a288
+ea208000
+98007200
+1a608c42
+e8c08000
+08008608
+c2002e06
+78247c00
+08008618
+78447c00
+37d38200
+44dbc016
+20000064
+784efc00
+20600000
+7857fc00
+18002a00
+1a60a290
+ea288000
+2040291f
+20402924
+20402dee
+7826fc00
+7830fc00
+78507c00
+204053c4
+2040322a
+98001200
+78287c00
+1a60a289
+ea210000
+98003600
+37c18400
+242c2e4d
+7824fc00
+09800008
+19897e00
+1a608a00
+e0a08000
+1a60a2cd
+ea208000
+c0012e33
+44dc4017
+1a60a200
+ea208000
+1a60a287
+ea288000
+a8400e00
+2420ae45
+09800008
+19897e00
+e0a08000
+1fe97e00
+1fe1721f
+2022ae3d
+09800008
+19897e00
+e0a08000
+c2002e39
+09800018
+1fef7e00
+1ff17e00
+e0a18000
+20232e45
+7837fc00
+7846fc00
+20600000
+784efc00
+7846fc00
+7844fc00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+20402e4f
+20202e45
+204029bb
+207a0000
+1a60a2ea
+ea288000
+da200d9e
+20402e58
+1a608aea
+e0a88000
+20600000
+da4000ff
+20202e5a
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+1a427e00
+98410400
+20600000
+d8400000
+1a220c00
+e8c08000
+98408400
+c2002e64
+184c8400
+20600000
+20402c7a
+20402e9f
+58000001
+20403272
+58000000
+20402e73
+e0a08000
+20600000
+20403270
+1fe0fe01
+1a608afc
+202032b4
+1a60a2fd
+ea208000
+1fe0fe01
+1a608afd
+202032b4
+44dcc017
+20403270
+1fe67c7c
+20610000
+1a60a2fd
+ea288000
+98460400
+20402e6d
+58000102
+9a60a200
+ea208000
+98467c00
+24212e8d
+58000103
+9a60a200
+ea208000
+98467c00
+20212e99
+20600000
+1a60a2fe
+ea208000
+c0012e93
+1fe0fe01
+20403272
+c000ae9f
+5800000a
+204032b0
+58000000
+204032b2
+1a60a2ff
+20202ea5
+1a60a2fe
+ea208000
+c0002ea7
+1fe0ffff
+20403272
+c0002ea7
+58000005
+204032b0
+58000000
+204032b2
+58000100
+9a60a200
+ea208000
+2020326a
+58000002
+204032b0
+58000000
+204032b2
+58000101
+20202ea4
+79200026
+20402c83
+58000001
+20203256
+1a60a28b
+ea208000
+c000ffe7
+20403253
+c000aeb9
+c0012ebd
+c001aec1
+20202a8c
+58000011
+20403256
+70119eaa
+20202ec4
+58000012
+20403256
+70119e55
+20202ec4
+58000013
+20403256
+70119e22
+2040323a
+1fe17e07
+6000919f
+20403224
+600211a0
+7011a400
+da20119e
+d8400007
+20402d4c
+20402d53
+20402d33
+20207fe7
+20403253
+c17f8000
+c008aed6
+c0092ed9
+c009aedc
+20600000
+58000002
+20403256
+20202d9f
+58000003
+20403256
+20202d9f
+580000ff
+20403256
+700a9939
+20407d86
+1a60a266
+ea220000
+2040322c
+20202d9f
+793f8026
+20402f08
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2efa
+2437aefa
+20402dd6
+20402c7a
+1a60a292
+ea2a0000
+204030be
+2022aead
+20402c7a
+1a60a266
+ea220000
+c0002ee7
+2040322c
+20202f1c
+20403261
+1fe0fe01
+20403264
+20402f04
+1fe0fe01
+1fe17e01
+20402f06
+c0002f0c
+c000af0e
+20600000
+5800018b
+202032d0
+da20018b
+202032b3
+20403267
+20403224
+2040322c
+20202c8a
+20402f08
+20202ee8
+20402c83
+20202ee8
+793f8026
+20402c8a
+20403253
+c1ff8000
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2f27
+2437af27
+79200026
+20403263
+580000ff
+20403256
+700a993c
+20207d86
+79200027
+70119eff
+2040323a
+20402d77
+20202d53
+20403261
+1fe0fe01
+20403264
+20402c8a
+20202f16
+20403267
+580000ff
+20403256
+20202f10
+44dd4017
+20402c7a
+580031b0
+1a608ade
+e0a10000
+20402f3d
+204048ea
+204032b6
+44ddc017
+c0003055
+c000af45
+c007af41
+20202a8c
+2040326c
+df200080
+d8a00d9e
+20207ec6
+20402f4c
+20402f4f
+204048d3
+20202f42
+44de4017
+20402f4c
+20402f4f
+20402fbd
+204048d3
+20403019
+20202f47
+20403291
+20403296
+20203299
+2040328f
+c1800000
+20402f55
+20402f65
+2040316b
+20202f96
+20403294
+c3800000
+79207e00
+20403297
+20403267
+20403299
+700d3800
+2040324f
+20402f61
+1a608a00
+df200042
+20207ed4
+20403231
+2040327d
+2040322c
+20202c8a
+44dec017
+2040324c
+c000af8d
+20403245
+c000ac8a
+58000136
+9a60a200
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+58000136
+9a60a200
+ea220000
+1fe20400
+5800013a
+9a60a200
+18427e00
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+58000136
+9a608a00
+e0a20000
+20402c8a
+20403278
+1fe0fe01
+2040327b
+c1810000
+2040327a
+2020324f
+1c427e00
+da200136
+204032bf
+e0a20000
+2020327a
+da200d9e
+20402f94
+1a608aeb
+e0a88000
+18467c50
+24610000
+20202c8a
+df200100
+20202e62
+20402f99
+20402fa5
+20202fb1
+58000180
+204032d0
+207a0000
+d8e0000b
+20407f16
+247a0000
+204032a7
+58000001
+60008d54
+58000000
+e0a38000
+202031b8
+5800017e
+204032d0
+207a0000
+d8e0000e
+20407f16
+247a0000
+204032aa
+d8a00d64
+df200002
+20407ec6
+700d6400
+202031ed
+5800017f
+204032d0
+207a0000
+d8e0000c
+20407f16
+247a0000
+204032ad
+d8a00d74
+df200002
+20407ec6
+700d7403
+20203207
+2040328f
+c1808000
+20402fc1
+20202fcb
+20403294
+c3808000
+79207e01
+20403297
+2040329c
+20402c83
+58000000
+da200106
+204032bf
+202032c5
+2040316e
+2437af5e
+1a608c00
+58000109
+9a608a00
+df200008
+20407f01
+5800010b
+204032d0
+c0552fd9
+c02aafed
+c0113001
+c07fb212
+20202f5e
+204032bd
+c000afdd
+c0012fe8
+20600000
+58000001
+20402ff7
+58000001
+20403289
+58000080
+da200130
+204032b3
+2040327d
+da200131
+204032bf
+2020322d
+58000001
+20402fff
+58000002
+20403289
+20202fe1
+204032bd
+c000aff1
+c0012ff9
+20600000
+20402fdf
+58000106
+204032d0
+c000aff6
+20600000
+58000002
+da200106
+202032b3
+20402fea
+58000107
+204032d0
+c000affe
+20600000
+58000002
+da200107
+202032b3
+204032bd
+c000b005
+c0013011
+20600000
+58000106
+204032d0
+c0013009
+20600000
+2040328b
+1fe1fe01
+2040328d
+58000000
+58000106
+9a608a00
+e0a10000
+20202f5e
+58000107
+204032d0
+c0803015
+20600000
+2040328b
+1fe1fe02
+2040328d
+2020300c
+68008d50
+207a0000
+700d5000
+68010d4e
+d84002ba
+98467c00
+24628000
+68008cb6
+c1dd0000
+68008cb7
+44df4017
+c050303b
+c050b02c
+c0533041
+c053b043
+c054b049
+c058304d
+700d4200
+20600000
+68008cb8
+c000b031
+c0423034
+c053b039
+2020302a
+2040328b
+60008cf7
+2020303f
+20403291
+20403296
+2040328b
+60008cf7
+2020303f
+700cf7a1
+2020303f
+68008cb8
+c040b03e
+2020302a
+20403090
+700d4201
+20600000
+700cf715
+2020303f
+2040328f
+c0003047
+c000b039
+20600000
+700cf7a0
+2020303f
+700cf700
+700cf800
+700cf901
+2020303f
+2040329c
+68008cb8
+1fe0fe02
+1fe27200
+d8c00cb6
+5800013c
+9a608a00
+20207f01
+44dfc017
+2040307d
+20402c7f
+204048d3
+20203057
+2040328f
+c1800000
+20402f51
+20203098
+2040328f
+c1808000
+20402fc1
+20402fcb
+2040328b
+207a0000
+20403286
+20402f4c
+20403093
+58000000
+1a608aa7
+2020322d
+20407fe9
+1a60a2a7
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+1a60a2a7
+ea220000
+1a60a2ab
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+1a608aa7
+e0a20000
+20207fe7
+58000001
+20403287
+20403283
+580000ff
+1a608aab
+e0a08000
+20203067
+5800015c
+204032d0
+207a0000
+2040306a
+24740000
+20403281
+1fe0fe01
+1fe17e01
+20403284
+c0002f4c
+c000b090
+20600000
+58000001
+20403292
+20203296
+58000001
+204032a5
+58000280
+d8e00008
+20207f08
+204032a2
+207a0000
+d8e00008
+20407f16
+247a0000
+204032a4
+58000007
+20403292
+20403296
+20202f5e
+44e04018
+2040328f
+c1838000
+204030cb
+204030e0
+2040316e
+2437af5e
+204030bc
+2042b172
+20402f4c
+20403294
+79207e00
+20403297
+20402f5e
+20403093
+204030bc
+2022b0c1
+58000164
+204032d3
+204030be
+2022b0c5
+58000160
+204032d3
+204030be
+2022b0c8
+20600000
+5800012b
+204032d3
+2040322a
+98467c00
+20600000
+58000182
+204032d0
+1a608a91
+202032b4
+58000185
+204032d0
+202030c3
+58000188
+204032d0
+202030c3
+20403294
+c3838000
+79207e07
+20403297
+20403283
+2040329c
+58000000
+1a608af5
+e0a18000
+da200183
+204032bf
+e0a38000
+204030bc
+24628000
+1a60a291
+ea208000
+da200182
+204032b3
+1a60a290
+ea208000
+2020314a
+44e0c018
+20403281
+1fe0fe01
+1fe17e03
+20403284
+c000310e
+c000b132
+c00130ea
+c001b132
+20600000
+20402fdf
+58000160
+2040327e
+203a30e0
+2040322c
+58000189
+204032d0
+205a3108
+58000187
+204032d0
+2040322f
+1a60a2f7
+ea288000
+da200f9e
+20402e58
+1a608af7
+e0a88000
+20402f94
+1a608afa
+e0a88000
+18467c50
+24610000
+58000188
+20403275
+20402c90
+da200188
+204032c8
+e0a88000
+da200187
+202032b3
+58000001
+da200189
+204032b3
+d8400000
+20402c94
+20203106
+20402fea
+58000164
+2040327e
+203a30e0
+2040322c
+58000186
+204032d0
+205a312c
+58000184
+204032d0
+2040322f
+1a60a2f6
+ea288000
+da20109e
+20402e58
+1a608af6
+e0a88000
+20402f94
+1a608af9
+e0a88000
+18467c50
+24610000
+58000185
+20403275
+20402c90
+da200185
+204032c8
+e0a88000
+da200184
+202032b3
+58000001
+da200186
+204032b3
+d8400000
+20402c94
+2020312a
+20402fdf
+2040327d
+2040322c
+58000183
+204032d0
+205a314c
+2040314f
+1a60a2f5
+ea288000
+da200e9e
+20402e58
+1a608af5
+e0a88000
+20402f94
+1a608af8
+e0a88000
+18467c50
+24610000
+58000182
+20403275
+20402c90
+da200182
+204032c8
+e0a88000
+da200181
+202032b3
+58000001
+da200183
+204032b3
+58000181
+204032d0
+2020322f
+1a60a200
+ea208000
+2040323c
+20402dde
+2040325f
+2feffe00
+2020b15c
+2040315d
+20402d53
+20402df7
+20202e45
+44e14018
+1a608a86
+204032d6
+5800013b
+204032d0
+207a0000
+58000006
+1a608a86
+e0a08000
+df200006
+5800012f
+9a608c00
+1a608a22
+20207f01
+2040316e
+2437af5e
+20203172
+20402f5e
+20402e11
+24778000
+20203152
+44e1c018
+20403188
+24342f5e
+1a60a284
+ea208000
+203a2f5e
+1fe0fe02
+98007200
+1a608c00
+58000109
+9a608a00
+20407f01
+20403286
+204032b6
+205a3093
+5800010b
+204032d0
+c000b19e
+c00131c6
+c001b1f2
+c07fb212
+20202f5e
+20402c7a
+20407fe9
+1a60a2ca
+ea208000
+1a60a2cb
+ea288000
+98467c00
+2442ffe7
+1a60a2ca
+ea208000
+1a608acb
+e0a08000
+1a60a2c4
+ea218000
+1a60a2c7
+ea298000
+98467c00
+2442ffe7
+1a60a2c4
+ea218000
+1a608ac7
+202032c5
+20402f88
+2040324c
+60008aa2
+20403274
+68008aa2
+284ffe03
+7920fe00
+1a608ab2
+e0a08000
+c000b216
+20403245
+20403274
+284ffe04
+7920fe00
+20403249
+1a60a2de
+ea210000
+20207f9c
+58000001
+60008d54
+2040329e
+e0a38000
+2040329e
+245a31bd
+2040329e
+205a31c2
+700d5220
+68008d38
+79207e02
+60008d38
+20600000
+58000001
+204032a8
+58000140
+d8e0000b
+20207f08
+204032a7
+58000000
+d8e0000b
+20207f08
+20403274
+284ffe03
+2020b21b
+d8a00d64
+204031e0
+68040d64
+245a31e4
+68040d64
+205a31e9
+20402c7a
+68040d64
+da200168
+204032bf
+e0a40000
+58000170
+9a60a200
+ea2c0000
+98467c00
+2442b1ed
+58000168
+9a60a200
+ea240000
+da200170
+204032bf
+e0a40000
+20202f5e
+5800010b
+9a608c00
+df200009
+20207ff3
+58000001
+204032ab
+58000140
+d8e0000e
+20207f08
+204032aa
+58000000
+d8e0000e
+20207f08
+700d5110
+68008d38
+79207e01
+60008d38
+20600000
+d8a00d74
+204031e0
+68010d75
+245a3209
+68010d75
+205a320e
+20402c7a
+68018d74
+da200178
+204032c4
+5800017b
+9a60a200
+ea298000
+98467c00
+2442b207
+58000178
+9a60a200
+ea218000
+da20017b
+204032c4
+20202f5e
+700d5221
+202031b9
+58000001
+204032ae
+58000140
+d8e0000c
+20207f08
+204032ad
+58000000
+d8e0000c
+20207f08
+204032bd
+c000b216
+c001321b
+20600000
+5800010d
+2040327e
+da200160
+204032bf
+2020322d
+5800010d
+2040327e
+da200164
+204032bf
+2020322d
+20402c7a
+1a608acd
+e0a08000
+20600000
+20402c7a
+1a60a2be
+2020327f
+20402c7a
+1a608abe
+2020322d
+1a60a2ae
+2020327f
+1a608aae
+e0a20000
+20600000
+1a608a90
+202032b4
+58000000
+20402c7a
+1a608a85
+202032b4
+1a608a42
+202032b4
+58000004
+1a608acc
+202032b4
+1a60a287
+202032d1
+1a608a87
+202032b4
+58000002
+1a608ad0
+202032b4
+58000001
+20402c7a
+1a608ace
+202032b4
+20402c7a
+1a60a2b4
+202032d1
+58000001
+20402c7a
+1a608ab4
+202032b4
+20402c7a
+1a60a2b2
+202032d1
+58000001
+20402c7a
+1a608ab2
+202032b4
+20402c7a
+1a60a296
+202032d1
+1a608a96
+202032b4
+1a60a2cf
+202032d1
+58000000
+1a608acf
+202032b4
+1a60a2d2
+202032d1
+1a60a201
+202032d1
+1a60a2b5
+202032d1
+58000000
+20402c7a
+1a608ab5
+202032b4
+20402c7a
+1a60a2fb
+ea208000
+6000c1de
+20600000
+20402c7a
+6800c1de
+1a608afb
+202032b4
+1a60a2fc
+202032d1
+1a608afe
+202032b4
+58000109
+9a60a200
+ea288000
+20600000
+58000135
+202032d0
+58000000
+da200135
+202032b3
+5800012b
+204032cd
+ea220000
+20600000
+5800015f
+202032d0
+58000000
+da20015f
+202032b3
+58000000
+da20015c
+202032b3
+da20012f
+202032b3
+58000108
+202032d0
+da200108
+202032b3
+58000105
+202032d0
+58000000
+da200105
+202032b3
+58000104
+202032d0
+58000000
+da200104
+202032b3
+58000000
+da20013b
+202032b3
+58000001
+2020329a
+5800010c
+204032cd
+ea238000
+20600000
+5800015e
+202032d0
+58000000
+da20015e
+202032b3
+58000000
+da200180
+202032b3
+58000000
+da20017e
+202032b3
+58000000
+da20017f
+202032b3
+da200102
+202032b3
+da200103
+204032c7
+e0a08000
+20600000
+5800015d
+202032d0
+da20015d
+202032b3
+5800018a
+204032d0
+2020326a
+5800010c
+202032d0
+1fe20400
+1a227e00
+9a608a00
+18427e00
+20600000
+204032bf
+e0a18000
+20600000
+20402c7a
+1fe22400
+1a227e00
+9a608a00
+1a427e00
+20600000
+20402c7a
+9a60a200
+20600000
+204032cd
+ea208000
+20600000
+204032cd
+ea2a0000
+20600000
+58000000
+202032b4
+44e24018
+6800c092
+203a32d8
+c0022f30
+c007b436
+c004c5de
+c005392a
+c00735bf
+c00844a4
+c2833d00
+20600000
+44e2c018
+70015100
+70017f00
+70018000
+58000000
+600289ae
+6800c092
+203a32e3
+c0053962
+20600000
+20407cd1
+20407d9c
+204032f6
+680141f3
+20207f9c
+680141f1
+20207f9c
+680141ef
+20207f9c
+44e34018
+da204668
+20407fc4
+207a0000
+1fe22600
+204032ff
+20203324
+da600000
+20600000
+c000b311
+c0083357
+c002b335
+c009333c
+c0033353
+c0023394
+c0013399
+c009b394
+c00a334b
+c00ab34f
+c001b32e
+c005b340
+c0063347
+c00b335b
+c00c332a
+c015331a
+c015b318
+20600000
+68014682
+79207e00
+60014682
+6801420a
+793ffe00
+6001420a
+20600000
+70022900
+20600000
+68008229
+1fe0fe01
+60008229
+1fe67c01
+202133df
+70022900
+6801420a
+79207e09
+6001420a
+202033e9
+680141f5
+20207f9c
+680141e9
+20207f9c
+680141ed
+20207f9c
+6801420a
+79207e01
+6001420a
+20203412
+68014682
+79207e07
+60014682
+6801420a
+79207e02
+6001420a
+20600000
+68014682
+79207e01
+60014682
+6801420a
+79207e04
+6001420a
+20600000
+68014682
+79207e03
+60014682
+20600000
+68014682
+79207e05
+60014682
+6801420a
+79207e03
+6001420a
+20600000
+68014682
+793ffe05
+60014682
+20600000
+68014682
+79207e09
+60014682
+20600000
+68014682
+793ffe09
+60014682
+20203418
+68014682
+79207e02
+60014682
+20600000
+6801420a
+79207e00
+6001420a
+20600000
+6801420a
+79207e08
+6001420a
+202033e9
+44e3c018
+6000822a
+6800822a
+207a0000
+1fe0ffff
+6000822a
+20407cdd
+204033d6
+20403387
+2040338d
+2040651b
+680141fd
+20407f9c
+20203361
+ea608000
+207a0000
+1fe0ffff
+e2608000
+247a0000
+1a427e00
+20207f9c
+ea610000
+207a0000
+1fe0ffff
+e2610000
+247a0000
+1a427e00
+20207f9c
+6809423f
+1840a601
+da40337f
+2020336d
+2040342d
+c000b382
+2020340a
+58000002
+e2608000
+1840a408
+ea410000
+20207f9c
+da604205
+da40338a
+2020336d
+20402252
+2022b40e
+20600000
+da60467e
+da403390
+20203374
+204033f0
+20403408
+680141f7
+20207f9c
+204033ac
+68014682
+793ffe07
+60014682
+20600000
+70420500
+68014682
+c283b39e
+2fec0001
+2040b2fd
+44e44019
+68014682
+793ffe00
+793ffe01
+793ffe02
+793ffe03
+793ffe07
+60014682
+20203418
+204033a9
+2020340a
+58000000
+60014208
+20600000
+58000000
+6001420a
+20600000
+6801420a
+60014208
+58000000
+6001420a
+20600000
+6801420a
+79207e07
+60014208
+58000000
+6001420a
+20600000
+6800c682
+2feffe05
+20600000
+5800aa55
+60010aaa
+44e4c019
+d8400002
+da200aaa
+da4000c3
+20206606
+44e54019
+d8400002
+da200a9a
+da4000c3
+204065df
+68010a9a
+d840aa55
+98467c00
+20600000
+6800c55a
+6000c205
+20600000
+d8e00009
+20202c32
+d8e00009
+20202c36
+70420605
+202033d0
+da604206
+da4033d2
+2020336d
+70436301
+20600000
+70436300
+20600000
+700a990a
+20207d8f
+700a991d
+20207d8f
+44e5c019
+6800c207
+6000816d
+70022801
+700a9903
+20207d8f
+700a991e
+20207d8f
+700a9904
+20207d8f
+68014687
+6001467e
+20403404
+700a9901
+20207d8f
+58000000
+6001467e
+700a9902
+20207d8f
+700a990f
+20207d8f
+700a9910
+20207d8f
+700a990e
+20207d8f
+700a990d
+20207d8f
+700a9917
+20207d8f
+700a9918
+20207d8f
+700a9916
+20207d8f
+700a9911
+20207d8f
+700a9915
+20207d8f
+700a9914
+20207d8f
+700a9913
+20207d8f
+700a9919
+20207d8f
+700a9906
+20207d8f
+700a9905
+20207d8f
+700a991f
+20207d8f
+700a9920
+20207d8f
+700a9925
+20207d8f
+7920000d
+20600000
+793f800d
+20600000
+2040342d
+c0013424
+58000001
+e2608000
+1840a203
+1840a406
+ea288000
+1a60a601
+e2688000
+20203385
+58000000
+e2608000
+68014682
+c304b429
+20403402
+6809423f
+1840a202
+1840a404
+20203420
+6809423f
+1840a600
+ea608000
+20600000
+2040342d
+c0803434
+2020340a
+1840a40a
+20203385
+20758000
+70808100
+58003463
+600141eb
+5800696c
+600141ed
+580034f5
+600141f3
+580034f4
+600141ef
+5800347e
+600141f5
+580034b2
+600141fd
+58003465
+600141fb
+58003470
+600141e9
+58003501
+600141f9
+44e64019
+2040359b
+20406948
+204035ad
+20407d08
+20407cd3
+5800350b
+60014766
+580034fc
+6001475d
+580034f8
+6001475f
+5800346c
+60014761
+580035a2
+600146a9
+580035a4
+600146ab
+580035a9
+600146b4
+580035a6
+600146b6
+68014682
+c3860000
+2020340a
+20403586
+2020340a
+20405892
+247a0000
+da200b06
+20407e54
+24740000
+d8c00b06
+20204746
+68014797
+60014791
+70475301
+2020358f
+6800c79d
+c000b479
+68014682
+c304b479
+6800c79e
+c000b3d0
+6800c700
+243a33d0
+202033d2
+6800c79b
+6808c79c
+9841fe00
+c000b3d0
+202033d2
+1a627e00
+c016b431
+c008341a
+c00a34df
+c00ab4e8
+c0203485
+20600000
+68014509
+c000b48c
+680143d8
+203a34a2
+70478a02
+70478f3c
+20600000
+6801449a
+203a34a0
+70478a01
+680947b4
+68014496
+9840fe00
+60014496
+1fe22200
+68014498
+9840fe00
+60014498
+9a20fe00
+1fe30400
+680147c0
+9846fc00
+20407f86
+1807fe00
+6001449a
+70479001
+20600000
+70478a03
+20600000
+70417200
+70479000
+680143d6
+680947be
+98467c00
+79212200
+680147c0
+680943d6
+98467e00
+79212201
+2a200603
+20608000
+680447be
+60044496
+70479001
+20600000
+2040337b
+204034b9
+204034be
+204034d5
+204034ca
+204034c4
+202034d9
+da604799
+da4034bc
+2020336d
+70479a00
+20600000
+da604793
+da4034c1
+20203374
+da6046bf
+da40469e
+20203591
+da60478f
+da4034c7
+2020336d
+6801449a
+6000c172
+20600000
+da604790
+da4034cd
+2020336d
+6800843f
+2fe0c000
+2420b4d3
+70478a01
+20403416
+20205abf
+70479001
+20600000
+da604791
+da4034d8
+20203374
+2020341a
+da60478d
+da4034dc
+20203374
+680147a7
+6001478d
+202035af
+680147a7
+6001478d
+58000000
+60014793
+60014791
+2040355c
+20403586
+70417200
+202033f8
+58000000
+6002478d
+6001c78a
+60014509
+7047a001
+68014797
+60014791
+20407e38
+6800c759
+c1000000
+2040358f
+2020356e
+20203508
+6800c759
+c1810000
+20203508
+da6046cd
+20403582
+da6046c6
+20203584
+70436e00
+da6046db
+20403582
+da6046d4
+202034fb
+68008477
+c0093504
+20600000
+68010478
+c006b536
+c005b571
+20600000
+6800c753
+207a0000
+20206978
+1a227e00
+203a3510
+18e27e00
+c0003513
+20600000
+18e27e00
+c000351b
+20600000
+70479d01
+da6046f7
+20403582
+da6046f0
+20403584
+68014682
+c304b532
+20203521
+70479d00
+2020351d
+6800c79a
+c1808000
+70479905
+20600000
+6800c79a
+1fe0fe01
+6000c79a
+c000b527
+c001352b
+20600000
+2040355c
+70477101
+da60476c
+20203544
+70479a00
+70477102
+da60476c
+20403544
+6800c79e
+c000b551
+20600000
+68014797
+60014791
+2040355c
+2020358f
+44e6c019
+204036fc
+ea208000
+c001b53c
+c003b540
+20600000
+6800c79e
+c0003551
+c000b55c
+20600000
+ea408000
+c000b564
+c0003569
+20600000
+44e74019
+6800c78b
+2feffe00
+24608000
+1a608c06
+e8c10000
+1ff0fe00
+1fe0f205
+1a608c03
+204036f0
+e0c08000
+1a622200
+20207e3d
+6800c759
+207a0000
+70479e01
+da6046e9
+20403582
+da6046e2
+20403584
+70478004
+70478301
+da60477b
+20203544
+6800c79e
+207a0000
+70479e00
+20403586
+70478004
+70478300
+da60477b
+20203544
+70479f01
+70478007
+70478301
+da60477b
+20203544
+70479f00
+70478007
+70478300
+da60477b
+20203544
+6800c79f
+207a0000
+20203551
+ea210000
+6001478b
+2feffe00
+24608000
+6800c7a0
+207a0000
+7047a000
+680447b6
+60044496
+70479002
+204035af
+204035b9
+70478007
+6800c79f
+6000c783
+da60477b
+20203544
+da200001
+20203585
+da200000
+2020358c
+da200000
+20407d19
+da200001
+20407d19
+6800c7a1
+202069d7
+20407d04
+df200007
+20207d26
+da6046b8
+da40469a
+20403596
+20403584
+68014795
+60014793
+202033fa
+ea410000
+60014154
+e8c10000
+60014482
+20600000
+da200000
+204069a6
+680347a1
+60030a9a
+204069ae
+6800c7a1
+202069d7
+70479b01
+20600000
+70479b00
+20600000
+70479c00
+6800c7a1
+202069d7
+70479c01
+680347a1
+60030a9a
+202069ae
+70422d00
+202068a8
+204068eb
+20406908
+600147b0
+da2047aa
+20406930
+6000c7a9
+c00035be
+1fe67c64
+242135bc
+6000c783
+70478005
+da60477b
+20203544
+70478364
+202035b9
+2020341a
+20758000
+68108081
+1fe17ef0
+60108081
+58003631
+600141eb
+58003633
+600141ed
+5800340a
+600141f7
+58003635
+600141f3
+5800364b
+600141f5
+580033d0
+600141e9
+580036f6
+600141f9
+5800367a
+600141fd
+20402c7a
+58003722
+1a608ade
+e0a10000
+580035ed
+6001475b
+580035ef
+6001475f
+44e7c019
+20403628
+20407e38
+70417202
+7049f600
+6800c7cb
+6000c69a
+c00035ee
+6800c7cc
+6000c686
+70436e00
+2040360f
+20407cd3
+20407cdd
+7047f301
+68014682
+c3860000
+2020340a
+2020360f
+7047f302
+70436e01
+2040360f
+da200000
+20407d1e
+58000020
+204046f0
+d8a043b7
+6800c4a0
+1fe104f0
+18518400
+20403609
+e0a88000
+1fe1040f
+20403609
+e0a88000
+204057a6
+6808c3af
+18427200
+d8a04372
+d8c043b0
+20407f01
+6808c3af
+18427200
+d8a04392
+d8c043b0
+20207f01
+18467c09
+2021360d
+18408437
+20600000
+18408430
+20600000
+6800c7c0
+c0ffb621
+6800c7be
+c0ffb624
+6800c7c9
+c0ffb626
+6800c72c
+1fe27200
+5800472d
+1fe22200
+1a220c00
+e8c08000
+18c22200
+c07fb61f
+1fe20400
+2040680e
+c2003619
+20600000
+680447c0
+6004472f
+20203611
+6000c72d
+20203613
+6000c72e
+20203615
+da200000
+204069a6
+204037e4
+20402c7d
+2020362d
+7047cf64
+6800c7c9
+6000c744
+202068a8
+20406835
+2020696c
+2020696c
+20206978
+20403642
+204037ee
+20403639
+20203634
+68014682
+c3848000
+6800c9f6
+c000b63e
+20600000
+6800c7ea
+c1008000
+7047ea01
+20203654
+68014682
+c4048000
+20405892
+247a0000
+da204718
+20407e54
+24740000
+d8c04718
+20204746
+1a627e00
+c016b431
+c008341a
+c00a3651
+c00ab660
+20600000
+58000000
+20403220
+20203656
+680147eb
+600147ed
+7047ce14
+70409100
+204033f8
+20403416
+6800c7bd
+c000b65e
+da200000
+20207d14
+da200000
+20207d19
+58000002
+20403220
+58000000
+6002c79c
+58000004
+204069d7
+58000005
+204069d7
+58000014
+204069d7
+58000015
+204069d7
+58000016
+204069d7
+58000007
+204069d7
+20407e38
+70475e0a
+7047600a
+7047620a
+70417202
+da200000
+20407d1e
+58000020
+204046f0
+202033fa
+2040373b
+2040373e
+20403741
+2040337b
+204036c8
+204036a1
+2040368a
+20403683
+2020368f
+da60479a
+da403686
+2020336d
+20403847
+24608000
+70479b01
+20600000
+da6047ed
+da40368d
+20203374
+7047ea02
+20203662
+da6047f1
+da403692
+2020336d
+6800c7f2
+203a369e
+7047f102
+7047f200
+58000a02
+60014752
+6800c7b9
+c001b69b
+20203762
+58000a02
+60014754
+20203762
+58000000
+60024752
+20203762
+6800c7c8
+207a0000
+68014682
+c304b6c6
+da6047ce
+da4036a8
+2020336d
+6800c7cd
+6000c7ce
+6800c7d1
+247a0000
+204068eb
+20406908
+600147e8
+da2047e2
+20406930
+6808c7cf
+98467c00
+202136b6
+6000c7cf
+1fe20400
+6008c7d0
+6800c7ca
+98467c00
+204136c1
+6008c7db
+df200006
+d8c047d6
+204036f0
+6000c7dc
+da2047d3
+20207e3d
+6800c7d2
+247a0000
+7047d201
+da200001
+20207d1e
+da200001
+20207d19
+da6047a4
+da4036cb
+2020336d
+7047a405
+7047a600
+6800c7a5
+c000b6ee
+c00036ec
+d8c0479c
+18c22200
+df200008
+1a220c00
+e8c08000
+18c22200
+c00036e3
+c000b6e6
+c00136e9
+6800c7a6
+1fe0fe01
+6000c7a6
+c20036d3
+20600000
+6800c7a6
+da4047c0
+9a40a400
+ea488000
+20600000
+204036de
+20406825
+202036d9
+204036de
+20406829
+202036d9
+6800c7a5
+c000b6e3
+202036e6
+7047a501
+202036d0
+7047a500
+202036d0
+da200000
+e8c08000
+9a20a200
+c20036f1
+1a217eff
+20600000
+68008477
+c00936f9
+20600000
+68010478
+c00a3710
+20600000
+44e8401a
+ea228000
+60028b12
+68010b12
+d8406b5a
+98467c00
+24628000
+68010b15
+1ff0fe00
+60010b15
+1fe27200
+1a20a205
+1a220c00
+d8a00b17
+20407f01
+e8c08000
+60008b21
+da200b14
+da400b17
+20600000
+58000000
+6002c752
+6002c757
+204036fc
+1a420c00
+d8a04752
+df20000a
+20407f01
+44e8c01a
+ea208000
+c001374a
+c001b75c
+c0023762
+c002b762
+c00337b1
+c003b849
+c004384c
+20600000
+68014682
+c3848000
+680147eb
+600147ed
+7049f601
+5800010c
+204032cd
+20403710
+68008b14
+c002372e
+c002b72e
+20600000
+6800c752
+245a3735
+6800c754
+245a3737
+6800c756
+245a3739
+20600000
+7049f305
+20600000
+7049f405
+20600000
+7049f505
+20600000
+da6049f3
+da403744
+2020336d
+da6049f4
+da403746
+2020336d
+da6049f5
+da403748
+2020336d
+70475200
+20203762
+70475400
+20203762
+70475600
+20203762
+2040374c
+2020374f
+6800c752
+6000c75f
+20203773
+6800c75e
+20403754
+6800c753
+6000c75d
+20203770
+c0013758
+c001b75a
+6000c75e
+20600000
+70475e05
+20600000
+70475e0a
+20600000
+6800c752
+20403754
+6800c75e
+2040379e
+204037a1
+202069c4
+6800c7f0
+247a0000
+68034752
+6003475d
+6800c75e
+6808c760
+98417e00
+6808c762
+98417e00
+205a3779
+44e9401a
+20403770
+20403773
+20203776
+da404763
+d8c0475d
+2020377b
+da40476b
+d8c0475f
+2020377b
+da404773
+d8c04761
+2020377b
+7047d100
+20600000
+e8c08000
+c0003787
+c000b780
+c0013782
+20600000
+70477b00
+20203783
+70477b01
+e8c08000
+6000c77d
+ea440000
+2020378c
+ea408000
+204069d7
+1a40a401
+ea408000
+202069d7
+6004477e
+7047d101
+6800c77b
+c000379a
+6800c77f
+6000c780
+6800c77e
+204069d7
+6800c77d
+2040379e
+6000c785
+68034780
+60030a9a
+202069ae
+6800c77e
+6000c780
+6800c77f
+20203793
+1feffe05
+1fe0fe32
+20600000
+d8402ee0
+984ffe00
+1fe6fc64
+20407f86
+18078400
+18422200
+58002ee0
+98462400
+20600000
+68108082
+79207e02
+60108082
+5800009e
+60110068
+6011006a
+20600000
+6800c7f0
+247a0000
+68014752
+60014787
+6800c7ea
+c080b7b9
+680144a0
+60014787
+44e9c01a
+204037aa
+204037dc
+5800bb80
+20402a8f
+204037e0
+58001c20
+20402a8f
+df200010
+204037dc
+68014787
+c28037c9
+58001c20
+20402a8f
+204037e0
+202037cc
+58003840
+20402a8f
+204037e0
+58001c20
+20402a8f
+68014787
+1fe37e00
+60014787
+c20037c2
+7047f102
+7047f201
+58000a01
+60014752
+6800c7b9
+c001b7d9
+20203762
+58000a01
+60014754
+20203762
+68108085
+1fe1fe40
+60108085
+20600000
+68108085
+1fe17ebf
+60108085
+20600000
+6800c7bb
+c1000000
+20402c65
+6808c7bc
+6008c786
+204067fb
+20403847
+24608000
+70479a01
+20600000
+6800c7bb
+c1000000
+6800c79b
+247a0000
+68014682
+c284b7f6
+6800c7ea
+c1808000
+44ea401a
+20403847
+24608000
+58008ca0
+20402a8f
+20403847
+24608000
+2040383f
+20403842
+24610000
+20403847
+2020b7fe
+da200000
+df200010
+2040383f
+20403842
+24610000
+20403847
+2420b805
+58002a30
+20402a8f
+20403847
+2020b812
+58000000
+1a232200
+9a21a200
+c2003805
+2020381b
+58008000
+1a232200
+9a21a200
+2040383f
+20403842
+24610000
+20403847
+2020b816
+c2003805
+44eac01a
+1a227e00
+60014789
+60014797
+6800c7ea
+c000b827
+df200007
+d8c04792
+204036f0
+6000c799
+da20478f
+20207e3d
+6800c7ef
+1fe0fe01
+6000c7ef
+1fe6fc02
+20407f86
+18078400
+18077e00
+243a3838
+6800c7bf
+98467c00
+2042b83d
+dfe0479c
+184085ff
+9840a200
+dfe00000
+e2208000
+20600000
+dfe0479c
+9840a200
+dfe00002
+e2208000
+20600000
+7047f001
+20600000
+1c427e00
+6002478b
+20600000
+1c427e00
+680a478b
+98467e00
+1fe67cc8
+20600000
+6808c786
+2020681d
+68044752
+6004479c
+20600000
+6800c7b9
+6000c7af
+6800c7ba
+6000c7b0
+6800c7bb
+6000c7b1
+df20000d
+d8c047aa
+204036f0
+6000c7b7
+da2047a7
+20207e3d
+204065c2
+7046f67a
+2040386d
+20403867
+58003860
+600141fd
+da200000
+202069a6
+680146a1
+207a0000
+1fe0ffff
+600146a1
+c1800000
+7046a000
+20600000
+44eb401a
+6800c6a4
+1fe67c28
+20610000
+7046a400
+20600000
+da2046a4
+da400000
+d8400051
+202065df
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+44ebc01a
+2040387c
+2022ffe7
+1a20a204
+c2003876
+20600000
+44ec401b
+ea218000
+ea498000
+98467c00
+20600000
+44ecc01b
+ea218000
+ea498000
+98467c00
+24628000
+e8c08000
+1fe67c00
+20628000
+1a208c03
+e8c88000
+98467c00
+20600000
+44ed401b
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+20403881
+2022ffe7
+1a20a204
+c2003893
+20600000
+68008004
+1fe0fe01
+60008004
+da6002e5
+ea610000
+d84055aa
+98467c00
+24628000
+18c22600
+ea698000
+58ffffff
+98467c00
+2022b8a8
+2040388d
+203438a8
+20600000
+44edc01b
+1a60a604
+ea608000
+6808c6f6
+98467c00
+20628000
+6000c6f6
+68008003
+1fe0fe01
+60008003
+1a60a601
+ea608000
+6000c6f5
+1fe27200
+207a0000
+e8c08000
+c00038c2
+c000b8cf
+c00138d4
+c001b8d9
+c00238de
+c002b8e3
+c00338e8
+c07fb8ea
+c20038b7
+20600000
+18c22600
+6800c69a
+60008a9a
+d8400000
+60088a9b
+58002710
+60018a9c
+ea608000
+60008a9f
+204069ae
+1a610c01
+c20038b7
+20600000
+1a620c00
+6800c69b
+60008a9a
+d8400001
+202038c6
+1a620c00
+6800c69c
+60008a9a
+d8400002
+202038c6
+1a620c00
+6800c69d
+60008a9a
+d8400003
+202038c6
+1a620c00
+6800c69e
+60008a9a
+d8400004
+202038c6
+1a620c00
+6800c69f
+60008a9a
+d8400005
+202038c6
+e8c08000
+20600000
+18c22600
+6800c6a0
+c080b8ee
+204038f0
+1a610c04
+20600000
+44ee401b
+20403871
+203438fe
+6800c6a4
+1fe20400
+1fe0fe01
+6000c6a4
+20403867
+184b8400
+580046a5
+98408a00
+ea620000
+e0a20000
+20203903
+1a608c03
+e8c08000
+207a0000
+ea620000
+e2220000
+da2046a4
+da400000
+d8400051
+20206606
+6808c69a
+20406825
+20600000
+6808c69a
+20406829
+6808c69a
+20406825
+2040391d
+6800c6a7
+247a0000
+20402c29
+68120138
+793ffe0f
+6012004c
+20402c21
+d85fffff
+20202b2a
+6800c6a7
+203a56f9
+1fe0ffff
+6000c6a7
+202056f9
+1feffe14
+d8c046a8
+98c08c00
+e8c08000
+207a0000
+1fe22200
+1a227200
+d8a04372
+20407f01
+1a227e00
+1fe0fe02
+6000c36f
+20600000
+20758000
+204057a3
+204068a8
+58003982
+600141f3
+5800396e
+600141f1
+58003986
+600141f5
+5800396d
+600141ef
+58003969
+600141e9
+58003ab7
+600141fb
+58003c32
+6001456f
+58003cc2
+600141f9
+58003cd7
+600141fd
+2040397f
+44eec01b
+20403945
+20403964
+20402c6f
+20203c48
+680246aa
+60120054
+680246ae
+6012005a
+68108081
+1fe1fe04
+1fe17efc
+60108081
+70806200
+680146aa
+60110058
+680146ae
+6011005e
+60110060
+68120078
+79207e07
+60120078
+68110050
+793ffe0f
+60110050
+204066ce
+70804300
+70806281
+6800c6bf
+2feffe00
+68188062
+79208404
+60188062
+20600000
+2040397f
+20203945
+6808c69e
+2040680e
+204039e6
+6808c69c
+202067fb
+6808c69c
+2040681d
+2420b3d2
+202033d0
+20600000
+20403970
+20203ce9
+6800c682
+c302397f
+44ef401b
+58003eff
+680a46c5
+98408400
+1c427e00
+98467c00
+24610000
+68014682
+c282b97f
+6800c6bf
+c3830000
+20403cec
+2040340e
+1c427e00
+600246c5
+20600000
+20403ce9
+2040526e
+247a0000
+202039eb
+1a627e00
+c000b9d4
+c00139a3
+c00239d7
+c002b9c4
+c00439aa
+c004b9b1
+c00539c9
+c005b9b6
+c00639c2
+c009b9d7
+c00a39cf
+c00ab9c6
+c010b9ca
+c011b9cb
+c01239ce
+c0183c8a
+c018bc8c
+c0193c9a
+c019bc98
+c01a3c84
+c01abc73
+c01b3c82
+c01bbc8e
+c01c3c90
+c01dbca1
+c01ebc6a
+c020b9d9
+20600000
+2040397f
+6800c665
+245a3c8e
+204039d7
+68014682
+c4020000
+202039b1
+68014682
+79207e04
+60014682
+6800c6a7
+6000c172
+204039e6
+20203c1d
+68014682
+c4020000
+793ffe04
+60014682
+20203c21
+2040397f
+68014042
+1fe37e00
+680941e3
+98467c00
+2422b9bd
+20203416
+6800c6bf
+c3828000
+68110112
+245a3cf0
+2020340c
+20403cee
+20203418
+2040397f
+202039dd
+20405816
+204039d7
+20203c23
+202033dd
+20203cee
+6800c6bf
+c302b40e
+20203cf2
+20203cf2
+204058ba
+204039dd
+6800c6a8
+6000c172
+20203c1f
+70466100
+20403cee
+20203cf2
+20403a52
+202039db
+20405cc9
+20205b02
+6808c69e
+20206829
+204039df
+202039e6
+6800c6a1
+2feffe00
+2040b3f0
+6800c6a1
+2feffe01
+2040b3f8
+20600000
+6808c69e
+20206825
+6800c56b
+c1000000
+20206c28
+6810810c
+c281b9e8
+204066cb
+e8608000
+c080ba01
+68110112
+1fe67c02
+20610000
+e8608000
+60008b03
+e8688000
+18622200
+60088b04
+18408403
+68110112
+98460400
+24610000
+700b0501
+20403a17
+68008b05
+c1000000
+20203a12
+20407ec1
+20403c79
+20203a04
+44efc01b
+68110112
+207a0000
+204066cb
+e8608000
+1fe67c01
+2442ba16
+2422ba04
+e8608000
+c1028000
+c1148000
+186087ff
+20403a16
+20203a04
+204066cb
+18608602
+e8608000
+98608600
+202066c8
+44f0401c
+68008b03
+c0003a3f
+c000ba44
+c0013a49
+c001ba5f
+c0023a6b
+c002ba75
+c004ba9a
+c005bad7
+c0063ad8
+c006baec
+c0073af4
+c007bafa
+c0083b06
+c008bb0e
+c0093b12
+c0133b16
+c0143b1d
+c014bb2d
+c0153b36
+c015bb69
+c0163b6f
+c0183b76
+c018bb7c
+c0193b90
+c019bb98
+c01a3bbb
+c01abbc4
+c01b3bcd
+c01bbbd7
+c01c3bda
+c0203be2
+c0213bec
+c0243bf1
+c024bbfc
+c028bc02
+c030bc06
+c07fbc15
+20203c17
+68008b04
+c0833c17
+e8630000
+600340a0
+20203c1a
+68008b04
+c0833c17
+e8630000
+600344a0
+20203c1a
+68008b04
+c080bc17
+1a220600
+20403c1a
+e8688000
+6008c6a9
+68014682
+c3848000
+c3800000
+6800c6a1
+2feffe00
+2420ba58
+6808c6a9
+18417e03
+6000c093
+6800c6a1
+2feffe01
+24608000
+6808c6a9
+284ffe02
+2020b3fa
+202033f8
+68008b04
+1fe67c43
+24213c17
+6000c515
+df200008
+20407ec6
+68008b04
+1fe27200
+1a220600
+d8a04516
+204066ea
+20203c1a
+68008b04
+1fe67c1d
+24213c17
+6000c3af
+1fe27200
+1a220600
+d8a043b0
+204066ea
+204057a3
+20203c1a
+6800c682
+c3023c17
+204033ba
+2020ba86
+700b0500
+2040397f
+6800c568
+207a0000
+68014573
+c0803a84
+68008b04
+60014573
+1a220600
+18627e00
+60014571
+20403a88
+20206c4d
+700b0500
+20203cd1
+20403a8e
+68014573
+6809469f
+98467e00
+60014573
+20600000
+68014573
+d840006e
+20407fdd
+6809456c
+20407fdd
+6809455e
+20407fdd
+6001469f
+20600000
+700b0501
+700b0305
+20203c1a
+68014682
+c304bc17
+20403ad4
+20343c17
+700b0500
+6800c6bf
+c2823ab4
+6800c6c0
+247a0000
+700b0501
+e8610000
+600146c1
+18627e00
+600146c3
+68008b04
+1fe0fffe
+24213c17
+2022bc17
+6000c6c0
+700b0500
+20405814
+20403ab7
+20403ab7
+20403ab7
+6800c6bf
+c4020000
+700b0501
+20403cf6
+20203c1a
+6800c6c0
+207a0000
+20405892
+247a0000
+20403acf
+44f0c01c
+1840fffd
+6808c6c0
+20407fdd
+1fe22200
+18427e00
+9a267e00
+6000c6c0
+680946c1
+20405a64
+680146c3
+1fe20600
+1a227200
+204066ea
+18627e00
+600146c3
+6800c6c0
+247a0000
+20203cf4
+d8400017
+6800c6bf
+c3808000
+680944a8
+20600000
+6800c6bf
+c2815a42
+20207fe9
+20203c4c
+1a220600
+e8608000
+c0003adf
+c000bae2
+c0013ae8
+c001baea
+20203c17
+2040612b
+70465a00
+20203c1a
+58040003
+6001c65b
+6000c662
+20406124
+70465a01
+20203c1a
+58040002
+20203ae3
+58040001
+20203ae3
+68008b04
+1fe67c10
+24213c17
+6000c689
+1fe27200
+d8a0468a
+204066fd
+20203c1a
+1a220600
+e8608000
+68188062
+7d3a0404
+60188062
+20203c1a
+68008b04
+1fe27200
+1a220600
+20407f58
+596e3600
+9846fc00
+20407f86
+1807fe00
+60014243
+20403c1a
+20407f9e
+202066ce
+da200002
+da40469a
+d8400000
+20203c25
+60010ac2
+da400ac2
+d8400000
+20203c25
+68014682
+c3003c17
+20403c1a
+202033e9
+68014682
+c304bc17
+20403c1a
+20203402
+68008b04
+1fe27200
+1a220600
+68014215
+1fe20a00
+204066ea
+20203c1a
+6800c682
+c3003c17
+e8608000
+6808c661
+793a0400
+79200407
+6008c661
+20403c1a
+6800c661
+c2833b2b
+20600000
+70466100
+700a9921
+20207d8f
+c2805f95
+20203b28
+6800c682
+c4020000
+6800c56b
+c1000000
+e8608000
+6808c569
+98408400
+6008c569
+20600000
+df200040
+d8a0436f
+20407ed4
+58000000
+60008ab2
+1a220600
+18627e00
+60010ab6
+20403b64
+68008ab2
+68088aa2
+18408401
+9840fe00
+60008ab2
+1fe67c1f
+24213b50
+6808c36f
+58004370
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c36f
+9840fe00
+6000c36f
+20203b59
+6808c38f
+58004390
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c38f
+9840fe00
+6000c38f
+68010abb
+1fe20a00
+68010ab6
+1fe20600
+18427200
+204066ea
+68008b04
+68088ab2
+98467c00
+2422bb3c
+20203c1a
+e8608000
+60008aa2
+e8608000
+60008aae
+20600000
+d8400000
+da200002
+680146b4
+60010ac2
+da400ac2
+20203c25
+68008b04
+c080bc17
+e8608000
+6000c6b2
+58000000
+600146b4
+20203c1a
+e8620000
+6002468a
+70468904
+70466300
+20403c1a
+20205f31
+68008b04
+c081bc17
+e8608000
+c0003b82
+c000bb8a
+20203c17
+e8688000
+e8608000
+c0013b88
+7d3a0407
+204067fb
+20203c1a
+20406806
+20203c1a
+e8688000
+20406812
+e8608000
+2feffe00
+2040682c
+20203c1a
+68008b04
+c080bc17
+e8688000
+2040681d
+58000000
+7d20fe00
+da200001
+20203b0a
+1a220600
+e8608000
+1fe20400
+c040bba3
+c0413ba8
+c041bbae
+6000c4c6
+c0003bb3
+c000bbb6
+c0013bb8
+20203c17
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb4
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+70445401
+20203c1a
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb9
+70445600
+70445403
+20203c1a
+70445605
+20203bb4
+70445605
+70445400
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c36f
+1fe27200
+1a220600
+d8a04370
+204066ea
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c38f
+1fe27200
+1a220600
+d8a04390
+204066ea
+20203c1a
+68014682
+c304bc17
+68008b04
+c0843c17
+1a220600
+e8640000
+60044496
+700a9912
+20407d8f
+20203c1a
+e8610000
+60014482
+20203c1a
+6800c4c6
+203a3c17
+6800c4c4
+c0803c17
+6800c4c5
+c0803c17
+20407e25
+20203c1a
+68008b04
+c082bc17
+e8608000
+6000c6a2
+e8620000
+600246a3
+6808c6a2
+2040680e
+20403cbc
+20203c1a
+68008b04
+c080bc17
+e8608000
+6000c1de
+20203c1a
+e8608000
+c000bbfa
+6800c4c1
+c001bbf8
+c0033bf8
+c003bbf8
+20203c17
+7044c201
+20203c1a
+20405b53
+20203c1a
+68008b04
+c080bc17
+20403c1a
+e8608000
+203a60cb
+202060c9
+20403c1a
+20407f9e
+70801001
+20202a8e
+68008b04
+c0003c17
+e8608000
+203a3c13
+68008b04
+c082bc17
+e8620000
+d84f4240
+98467c00
+20213c17
+600244c7
+2040580c
+20203c1a
+2040580e
+20203c1a
+70409100
+20203c1a
+d8400001
+da200000
+20203c25
+d8400000
+da200000
+20203c25
+700b0300
+20203c49
+700b0302
+20203c49
+700b0303
+20203c49
+700b0305
+20203c49
+68008b03
+1fe22600
+700b0306
+58000002
+9a20fe00
+20403ca7
+1a627e00
+e1408000
+e1488000
+1a227200
+1a420c00
+204066e4
+202066c5
+2040397f
+700b0307
+680084ff
+207a0000
+20403ca7
+680084ff
+1fe27200
+68010501
+1fe20c00
+204066d1
+202066c5
+700b0308
+6800c6b6
+1fe27200
+1fe0fe02
+20403ca7
+680146b9
+e1410000
+680146b7
+1fe20c00
+204066d1
+202066c5
+700b0309
+58000000
+20403ca7
+202066c5
+700b030a
+58000001
+20403ca7
+20403c5d
+68014682
+d8e00002
+afefffff
+79208403
+d8e00009
+afefffff
+79208405
+6800c682
+d8e00004
+afefffff
+79208404
+e1488000
+202066c5
+d8400000
+6800c093
+d8e00000
+afefffff
+79208400
+d8e00001
+afefffff
+79208401
+6800c36e
+d8e00000
+afefffff
+79208402
+20600000
+700b030d
+6800c217
+1feffe22
+1fe27200
+20403ca7
+68014215
+1fe20c00
+204066d1
+202066c5
+700b030e
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b030f
+68110112
+d84000ff
+20407fdd
+1fe27200
+20403ca7
+204066cb
+20406703
+202066c5
+700b0310
+20203c49
+700b0311
+58000004
+20403ca7
+680244c7
+e1420000
+202066c5
+da200180
+20203c91
+da200080
+20203c91
+da200101
+20203c91
+da200001
+70466100
+700b0314
+58000002
+20403ca7
+1a227e00
+e1410000
+202066c5
+da600000
+20203c9b
+da600001
+700b0315
+58000001
+20403ca7
+1a627e00
+e1408000
+202066c5
+700b031d
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b0202
+60008b04
+600c0aa2
+44f1401c
+20403cb1
+680c0aa2
+204066c2
+68018b02
+e1418000
+20600000
+20403cba
+20608000
+20403cb8
+680246a3
+1feb7e00
+207a0000
+20203cbe
+6808c6a2
+20206829
+6808c6a2
+2020681b
+6808c6a2
+20206825
+1fe0ffff
+20000026
+243a3cbe
+20600000
+20403ad4
+20740000
+1a227e00
+600146b7
+1a427e00
+6000c6b6
+68010478
+680946bb
+98467c00
+2022bccf
+680946bd
+98467c00
+24628000
+600146b9
+20203c3d
+6800c6bf
+c3828000
+20403cf0
+2020340c
+70417202
+20600000
+20203cd8
+6800c6b2
+207a0000
+6800c6b3
+207a0000
+1fe0ffff
+6000c6b3
+247a0000
+7046b30a
+204068eb
+20406908
+1fe6fc64
+20407f86
+1807fe00
+18070400
+6000c6b4
+6008c6b5
+20600000
+20407fb4
+202133d9
+202033db
+d8e00006
+20203cfc
+d8e00006
+20203cf8
+d8e00005
+20203cfc
+d8e00005
+20203cf8
+d8e00004
+20203cfc
+d8e00004
+20203cf8
+6800c6bf
+f93ffe00
+6000c6bf
+20600000
+6800c6bf
+f9207e00
+6000c6bf
+20600000
+20403d39
+2040640f
+204040c6
+20403d66
+20406411
+20758000
+20403d16
+20403d19
+680246d3
+c3880000
+20403d4e
+c6130000
+68014682
+c28642b0
+202042a2
+680246d3
+c40d8000
+df200014
+58030d40
+20402a8f
+c2007ec1
+20600000
+680246d3
+c4080000
+202048ea
+5800416d
+600141ef
+58003f77
+600141f1
+58003ebb
+600141ed
+5800417c
+600141f5
+58003de3
+600141f3
+58003eb3
+600141eb
+58003d5b
+600141f9
+20402c7a
+58004401
+1a608ad8
+e0a10000
+58004406
+1a608ada
+e0a10000
+58003ebf
+1a608adc
+e0a10000
+580041f9
+600141fd
+58003d36
+60014201
+20600000
+680246d3
+c30964d7
+202064da
+20758000
+20402c9d
+20403e6e
+20403e1e
+20403e54
+20405810
+20405839
+2040582c
+20405818
+680246d3
+c28a3d46
+c289c414
+20600000
+2040659c
+680246d3
+2feffe19
+2440e5c2
+2040443f
+20403dc9
+204041aa
+202065df
+680246d3
+c30f3d53
+68008abd
+2fec0003
+24608000
+6800c71f
+6000c71e
+6800c6f5
+c3830000
+680246d3
+c4088000
+c28eaee4
+20202f2c
+68008478
+1fe67e1a
+24628000
+700a9912
+20407d8f
+d8e00000
+202041b9
+6800c6b6
+c1008000
+7046b601
+20600000
+6800c6e1
+1fe17e0f
+6000c77a
+20203d80
+6808c6e7
+2040681d
+2420bd62
+6800c6b6
+c1000000
+7046b600
+6800c77a
+1fe0fe01
+1fe17e03
+6000c77a
+20403d7e
+680246d3
+c28a443b
+c289bd79
+20600000
+d840001e
+2040680e
+d840001f
+2040680e
+20204435
+44f1c01c
+2040424a
+6800c6e0
+c002bdaa
+c0023d96
+6800c77a
+c0003d8a
+c000bd88
+c0013d8c
+c001bd8e
+6800c780
+20203dbe
+6800c77f
+20203dbe
+6800c781
+20203dbe
+6800c782
+20203dbe
+6800c6e0
+c1030000
+6800c6b5
+1fe0fe01
+6000c6b5
+20600000
+6800c77a
+c0003d9d
+c000bd9b
+c0013d9f
+c001bda1
+6800c784
+20203da2
+6800c783
+20203da2
+6800c785
+20203da2
+6800c786
+6000c6b5
+1fed7e00
+1fe22200
+1fe0fe0d
+20406413
+1a227e00
+1fe0fe0e
+20206413
+6800c77a
+c0003db1
+c000bdaf
+c0013db3
+c001bdb5
+6800c788
+20203db6
+6800c787
+20203db6
+6800c789
+20203db6
+6800c78a
+6000c6b5
+204040c0
+6800c6b5
+1fe0fe80
+1fed7e00
+1fe0fe05
+1fe22200
+2020415a
+6000c6b5
+20403d90
+6800c6b5
+58000006
+20406414
+1fe104f8
+6800c6b5
+9840fe00
+1fed7e00
+1fe0fe06
+20206413
+204033c4
+2022c316
+2040441c
+204042e4
+202033bd
+68014707
+207a0000
+680246d3
+c4088000
+c3818000
+c6130000
+20404083
+c1838000
+20404482
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+20403263
+68014682
+c283c392
+c284b402
+c28033e9
+204042ca
+20202ead
+20403dce
+20407e34
+20403d6a
+20403de9
+20403ee0
+20203df7
+680246d3
+c4080000
+204048d3
+202048fd
+68108a04
+c303bdf1
+c283bdf4
+20600000
+6800c6ff
+c4038000
+2020659a
+6800c6ff
+c3838000
+20204381
+20403ded
+68108a04
+6000c6ff
+c4038000
+20403e07
+680246f9
+6808c6fd
+98408400
+1c427e00
+98467c00
+24610000
+600246f9
+20403f97
+24740000
+700d3804
+20203e0f
+680a46f9
+1c427e00
+98467c00
+24413e0c
+20600000
+58000000
+600246f9
+20600000
+68008d38
+c4010000
+20203e12
+68108a04
+c4038000
+700d5220
+58000001
+60008d54
+6803c69a
+e0a38000
+20600000
+68110050
+793ffe0b
+60110050
+20600000
+58008c00
+60014575
+58008e7a
+600144bc
+58002402
+600140bd
+58002580
+6001c0aa
+70417303
+70415608
+7046d901
+58000200
+60014154
+7044a617
+7044a817
+58000a77
+60014212
+38000306
+38044440
+38090000
+380c4408
+6004c577
+38001224
+38044000
+38080000
+e0a28000
+3803ffff
+3806fe23
+380999d9
+380c020d
+60044098
+5800012c
+60014707
+204057a3
+680246d3
+c40f8000
+20403e44
+20203e4c
+6808c6f7
+204067fb
+6808c6f7
+2040681d
+7046f603
+20608000
+7046f602
+20600000
+6808c6f8
+204067fb
+6808c6f8
+2040681d
+70422d00
+20608000
+70422d02
+20600000
+6800c22d
+c0003e59
+c000be62
+c0013e6b
+20203e59
+68094221
+68014227
+98467e00
+1feffe14
+1fe6fc64
+20407f86
+1807fe00
+600146d0
+20600000
+6809421f
+68014225
+98467e00
+1feffee6
+1fe6fd90
+20407f86
+1807fe00
+600146d0
+20600000
+68014223
+600146d0
+20600000
+6808c23a
+2040680e
+204048fb
+6808c6e2
+204067fb
+6808c6e3
+204067fb
+6808c6e4
+204067fb
+6808c6f3
+204067fb
+6808c6dc
+2040680e
+6808c6e8
+204067fb
+6808c6e9
+204067fb
+6808c6ea
+204067fb
+6808c6eb
+204067fb
+6808c6e5
+204067fb
+6808c6e6
+204067fb
+6808c6ef
+2040680e
+6808c6f0
+2040680e
+6808c6f1
+2040680e
+6808c6f2
+2040680e
+6808c6f4
+2040680e
+6808c6ed
+204067fb
+6808c6ec
+204067fb
+6808c6e7
+202067fb
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+202067dd
+6808c6e8
+20403ea7
+6808c6e9
+20403ea7
+6808c6ea
+20403ea7
+6808c6eb
+20203ea7
+18467cff
+20628000
+18410e7f
+6812011c
+afefffff
+68120078
+f920fe00
+60120078
+6812007c
+fd20fe00
+6012007c
+20600000
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+20404482
+20403e9f
+20203ebf
+20403ebf
+680080a0
+247a0000
+202067ed
+20403ee0
+d8400019
+680246d3
+2feffe12
+2040bede
+2040680e
+204063ee
+6808c6e2
+204067dd
+6808c6e3
+204067dd
+6808c6e4
+204067dd
+6808c6e5
+204067dd
+6808c6e6
+204067dd
+6808c6e7
+204067dd
+6808c6ed
+204067dd
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+204067dd
+6808c6f3
+202067e1
+d840001e
+20600000
+44f2401c
+20403eee
+20403f36
+6800c6b8
+6808c6b7
+6000c6b7
+98467c00
+2422b3d4
+6800c6be
+6808c6bd
+6000c6bd
+98467c00
+2422b3d4
+20600000
+6800c6ea
+c17f8000
+da200000
+6808c6ea
+2040681d
+7920a200
+6808c6eb
+2040681d
+7920a201
+1a227e00
+6000c6b8
+c000befe
+c0013f02
+6800c6b9
+c283bf0e
+20600000
+6800c6b7
+c0003f06
+c001bf08
+20600000
+6800c6b7
+c0003f0a
+c001bf0c
+20600000
+7046b982
+20600000
+7046b981
+20600000
+7046b980
+20600000
+7046b983
+20600000
+6800c6b9
+793ffe07
+6000c6b9
+c0003f16
+c000bf19
+c0013f1c
+c001bf1f
+20600000
+6800c6b8
+c001bf22
+20600000
+6800c6b8
+c0003f22
+20600000
+6800c6b8
+c001bf2c
+20600000
+6800c6b8
+c0003f2c
+20600000
+6800c6bc
+1fe0fe01
+6000c6bc
+1fe67c01
+20610000
+7046bc00
+6800c6ba
+1fe0fe01
+6000c6ba
+20600000
+6800c6bb
+1fe0fe01
+6000c6bb
+1fe67c01
+20610000
+7046bb00
+6800c6ba
+1fe0ffff
+6000c6ba
+20600000
+6800c6e8
+c17f8000
+da200000
+6808c6e8
+2040681d
+7920a200
+6808c6e9
+2040681d
+7920a201
+1a227e00
+6000c6be
+c000bf46
+c0013f4a
+6800c6bf
+c283bf56
+20600000
+6800c6bd
+c0003f4e
+c001bf50
+20600000
+6800c6bd
+c0003f52
+c001bf54
+20600000
+7046bf82
+20600000
+7046bf81
+20600000
+7046bf80
+20600000
+7046bf83
+20600000
+6800c6bf
+793ffe07
+6000c6bf
+c0003f5e
+c000bf61
+c0013f64
+c001bf67
+20600000
+6800c6be
+c001bf6a
+20600000
+6800c6be
+c0003f6a
+20600000
+6800c6be
+c001bf6f
+20600000
+6800c6be
+c0003f6f
+20600000
+7046c200
+6800c6c0
+1fe0fe01
+6000c6c0
+20600000
+7046c100
+6800c6c0
+1fe0ffff
+6000c6c0
+20600000
+58000002
+6000c680
+20600000
+6800c1e2
+207a0000
+20405271
+247a0000
+680246d3
+c281bf8a
+c2803f8a
+c282bf8a
+20403f97
+24740000
+da200009
+20404d63
+6801424e
+e0a10000
+580002a1
+e0a10000
+6803c69a
+e0a38000
+20600000
+58000000
+6003c69a
+20203f81
+680146aa
+600146b0
+20600000
+44f2c01c
+da200007
+6809446f
+20405a64
+6803c69a
+e0a38000
+20600000
+44f3401c
+78547c00
+58000000
+6003469b
+20403fb5
+20404079
+2040407e
+20404099
+24740000
+20403f8d
+d8e00008
+202043ce
+6801469b
+1fe67e00
+6001469b
+20207fe7
+6801469d
+1fe67e00
+6001469d
+20207fe7
+6801469d
+1fe67e00
+6001469d
+6801469b
+1fe67e00
+6001469b
+20404002
+20207fe7
+20404002
+20207fe7
+6800c239
+c1800000
+6800c6e0
+c0003fe2
+c000bfe2
+c0013fe2
+c001bfe2
+c0023fc4
+c002c010
+c0033fe2
+20203fe2
+6800c6a7
+205a405d
+7046a701
+20600000
+20403fc0
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c09840d1
+58000002
+20406414
+c4038000
+2040405d
+20403fde
+6000c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0003fa3
+c000bfab
+c0013fa7
+c001bfb3
+20600000
+58000012
+20206414
+c018bfea
+202040d1
+20403fc0
+78547c00
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c0983fe0
+58000002
+20406414
+c4038000
+2040405d
+6800c69b
+20404165
+6001469b
+6800c69d
+20404165
+6001469d
+6800c6f6
+c0003ffa
+c000bffc
+c0013ffe
+c001c000
+20600000
+20403fa3
+202040b3
+20403fab
+202040b3
+20403fa7
+202040b3
+20403fb3
+202040b3
+6801469d
+6809469b
+6001469b
+6009469d
+20600000
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+78547c00
+6808c6f3
+2040681d
+24608000
+da400002
+20404007
+c4038000
+da400000
+20404007
+6000c6dd
+c09f4145
+6800c6a7
+205a4039
+7046a701
+20404039
+6800c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0004031
+c000c035
+c0014033
+c001c037
+20600000
+6800c6a4
+c0004051
+c000c045
+20600000
+20403fa3
+2020402d
+20403fa7
+2020402d
+20403fab
+2020402d
+20403fb3
+2020402d
+2040640f
+2040405d
+dfe00005
+20406414
+6000c6a1
+dfe00007
+20406414
+6000c6a2
+dfe00008
+20406414
+6000c6a3
+20206411
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+20610000
+7046a400
+5800ba41
+20406405
+58000032
+20406405
+5800b541
+20206405
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+24610000
+7046a401
+5800ba41
+20406405
+58008032
+20406405
+5800b541
+20206405
+dfe00003
+20406414
+6001469b
+dfe00004
+20406414
+6001469d
+20600000
+d840001b
+204067fb
+d840001b
+2040681d
+20608000
+68108109
+79207e04
+60108109
+20600000
+6808c6c0
+68108109
+9840fe00
+207a0000
+6000c69f
+7046c000
+20207fe7
+6808c6c0
+68108109
+9840fe00
+6000c6c0
+20600000
+6800c6c0
+207a0000
+6000c69f
+7046c000
+20207fe7
+6800c6ba
+207a0000
+6000c6a0
+7046ba00
+20207fe7
+da200000
+6808c6e2
+2040681d
+7920a200
+6808c6e3
+2040681d
+7920a201
+6808c6e4
+2040681d
+7920a202
+20404090
+1a227e00
+20600000
+6800c6e5
+c17f8000
+6808c6e5
+2040681d
+7920a203
+6808c6e6
+2040681d
+7920a204
+20600000
+20404083
+204040a8
+204040a3
+1a227e00
+6808c69a
+6000c69a
+9842fe00
+1fe67c00
+20628000
+20207fe7
+c6930000
+1a227e00
+207a0000
+6000c69a
+20207fe7
+68014682
+c284c0ad
+68014682
+c28040b0
+20600000
+1a227e00
+243a5820
+20205822
+1a227e00
+243a2bc7
+20202bc9
+44f3c01c
+d840001a
+680246d3
+2feffe12
+2040c0be
+2040681d
+20608000
+5800000a
+20406414
+200003e8
+202040b3
+d840001f
+20600000
+680246d3
+c28940c4
+d840001a
+202067fe
+d840001f
+202067fe
+20403d36
+20758000
+204040c0
+6800c6e0
+c002c0d5
+204040d9
+c01840e0
+c018c0ea
+204040d1
+200003e8
+202040cb
+44f4401d
+680246d3
+c28963e0
+202063d1
+204040d9
+c01f414b
+20404145
+202040d5
+58000001
+20406414
+6000c6de
+58000000
+20406414
+6000c6dd
+20600000
+6800c6de
+c068c139
+c06940f8
+c00140ee
+c02a40e6
+20600000
+7046e002
+20600000
+7046e006
+20600000
+6800c6de
+c03840e8
+7046e001
+20600000
+7046e004
+204040f6
+58003426
+20406413
+58000419
+20406413
+58000009
+20206413
+58005a09
+20206413
+7046e003
+204040f6
+58000f0d
+20406413
+5800e31d
+20406413
+5800d27d
+20406413
+20404102
+2020411a
+5800351b
+20406413
+5800b428
+20406413
+58004629
+20406413
+5800962a
+20406413
+58008c2b
+20406413
+58006e2c
+20406413
+5800642d
+20406413
+58005f38
+20406413
+58000f39
+20406413
+5800323a
+20406413
+5800473b
+20406413
+58001042
+20206413
+58002e54
+20406413
+5800f255
+20406413
+5800f461
+20406413
+58007063
+20406413
+58005275
+20406413
+58004176
+20406413
+5800ed77
+20406413
+58002378
+20406413
+58004679
+20406413
+5800e57a
+20406413
+5800487c
+20406413
+5800777e
+20406413
+5800017f
+20406413
+5800000b
+20406413
+5800007f
+20406413
+202040f4
+7046e000
+204040f6
+5800100d
+20406413
+5800ed1d
+20406413
+5800807d
+20406413
+20404102
+58000943
+20406413
+2020411a
+6808c6dc
+20406829
+20407ec1
+6808c6dc
+20406825
+20207ec1
+7046e005
+5800ba41
+20406405
+58000d11
+20406405
+5800041b
+20406405
+5800041c
+20406405
+58000f1d
+20406405
+58000032
+20406405
+5800b541
+20206405
+5800ba41
+20406405
+20000fa0
+5800ff7f
+20406405
+1a227e00
+20406405
+5800007f
+20406405
+5800b541
+20206405
+c4038000
+d840ff00
+9841fe00
+20600000
+c4018000
+d84000f0
+9841fe00
+20600000
+20405892
+247a0000
+6800c6c5
+1fe17e03
+c1818000
+680246d3
+c281c179
+c2804179
+c282c179
+20403f97
+24740000
+20203f90
+58000000
+6003c69a
+20203f90
+1a627e00
+c00a41c3
+c000c2ca
+c00ac1d9
+c00141d9
+c002c1d6
+c008426c
+c009429b
+c00341d5
+c00241cc
+c009c1cc
+c00541ca
+c01733cd
+c018c1b4
+c01941b6
+c01f4191
+c013c38e
+c01cc19c
+c01d4192
+c01e419a
+20600000
+20203410
+70478b01
+6800c71e
+243a4492
+6800c720
+6808c703
+98467c00
+2022b40a
+20600000
+70478b01
+20600000
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+7046a700
+6800c6e0
+1fe67c05
+2042c039
+2442c05d
+68008004
+c289c1af
+204041aa
+202065d1
+20402c7a
+1a60a2ae
+da40005b
+d8400004
+20600000
+20402c7a
+1a60a4ae
+ea408000
+6000c77b
+20204435
+d8e00002
+202041b9
+7046c602
+d8e00001
+202041b9
+6800c6c5
+f9207e00
+6000c6c5
+20600000
+6800c6c5
+f93ffe00
+6000c6c5
+20600000
+7046c500
+20600000
+6801420a
+793ffe00
+6001420a
+58000000
+600146ae
+20403f8d
+202042ca
+204063cb
+202033dd
+6800c71e
+243a4492
+68014682
+c28642b0
+680246d3
+c28041d7
+c282c2b0
+c281aead
+202033a7
+20203f74
+20600000
+204043c0
+2020659a
+44f4c01d
+204041e7
+680246d3
+c28041d7
+c281aead
+6800c71e
+243a4492
+68014208
+c283c1f5
+c28033a9
+c280c1ef
+c28141f2
+c281c1f2
+202042b0
+58000000
+600446b7
+e0a20000
+7046b400
+7046a700
+7041e200
+70442900
+20600000
+c282c1f2
+c281c1f2
+202042b0
+68014682
+c28642b0
+202033a7
+204041c1
+68014208
+c28033a9
+202033a7
+204043d6
+20404243
+20404246
+20404250
+2040445d
+20404443
+20404333
+204043a5
+204043eb
+20404209
+20404231
+20404234
+20404237
+2040423a
+2040423d
+20204240
+6800c711
+207a0000
+1fe0ffff
+6000c711
+247a0000
+2020420f
+6800c712
+c1000000
+c002c216
+20404225
+70471205
+70471105
+20600000
+2040422c
+70471204
+70471105
+20600000
+58008006
+20406413
+200003e8
+70471100
+70471200
+202040e0
+5800a006
+20406413
+5800a005
+20206413
+70471100
+6800c6e0
+c0024220
+58000106
+20406413
+5800a105
+20206413
+70471100
+58000906
+20206413
+70471105
+70471201
+20600000
+da604680
+da40429b
+2020336d
+da6046ac
+da404264
+20203374
+da6046ae
+da404266
+20203374
+da6046b0
+da40426a
+20203374
+da6046c4
+da404478
+2020336d
+da6046c6
+da40425e
+2020336d
+da604704
+da404249
+2020336d
+da604707
+da404249
+20203374
+20600000
+680246d3
+c40b8000
+7046df0a
+6800c6f4
+6000c715
+20600000
+da6046df
+da404253
+2020336d
+6800c6f4
+6000c715
+58000190
+60014716
+60014718
+da200000
+6808c77a
+18408401
+6008c714
+70471301
+20600000
+6800c6c5
+c3810000
+700a9912
+20407d8f
+d8e00000
+202041b9
+204042ca
+2020340a
+204033f6
+6800c71e
+243a4492
+2020340a
+c5137e1d
+20204386
+44f5401d
+7046b400
+20404386
+204041c1
+202042b0
+680341d0
+203a33eb
+2040427e
+70016d17
+6800c65a
+243a33e1
+70016d04
+202033e1
+680146a8
+600146ae
+2040427e
+20403418
+20207df4
+580000c8
+60014716
+60014718
+20204285
+580003e8
+60014716
+60014718
+6800c720
+c000c28a
+c001428c
+c001c28e
+20600000
+6800c6f0
+2020428f
+6800c6f1
+2020428f
+6800c6f2
+60008aa2
+20404482
+68008aa2
+6000c715
+da200000
+70471301
+20207d1e
+da200000
+20207d19
+da200000
+20207d14
+202041c1
+7041e201
+20403416
+20403412
+58000000
+6001467e
+6000c680
+2020340e
+2040435f
+6800c720
+6808c703
+98467c00
+2022c2ab
+6800c210
+c019c271
+c01a4279
+202042b0
+20403d57
+c6130000
+6800c71e
+243a4492
+20600000
+44f5c01d
+68014682
+c285c2b7
+680246d3
+c30c42b7
+180a7e00
+6000c4a1
+20403418
+68014687
+600146ac
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+6800c092
+2feffe01
+2040fdf4
+6800c092
+2feffe00
+2040fddd
+680246d3
+c28e422e
+20204282
+44f6401d
+6800c092
+2feffe01
+2040c2d4
+6800c092
+2feffe00
+2040c2d7
+680246d3
+c28e421a
+20204482
+58000000
+600146ae
+20207dfa
+58000000
+600146ac
+20207de2
+680246d3
+c4038000
+d8e00007
+204043d2
+204042e8
+204042fb
+680246d3
+c289c435
+c28a42e4
+20600000
+d8400058
+da204720
+da400000
+202065d1
+68008185
+c01a42ec
+c019c2ef
+20600000
+6000c6c7
+6803044f
+202042f1
+6000c6c7
+68030040
+600346c8
+6803c6c7
+d8c04721
+df200003
+e8cb8000
+98467c00
+2022c310
+18c08c16
+c20042f5
+20600000
+da204721
+6800c720
+1fe0ffff
+1feffe1d
+9a20a200
+68008185
+e2208000
+c01a4305
+c019c30c
+20600000
+6803044f
+e0a30000
+d8c04419
+20407ebf
+680344a0
+e0a30000
+20600000
+68030040
+e0a30000
+d8c041be
+20207ebf
+18c08dfa
+18c20a00
+680b46c8
+18408403
+e0ab0000
+20600000
+d8400058
+da204720
+da400000
+204065df
+da204721
+6800c720
+6808c703
+98467c00
+20628000
+1fe0ffff
+1feffe1d
+9a20a200
+ea208000
+6000c210
+c019c327
+c01a432c
+20600000
+e8c30000
+600341d0
+d8a041be
+20407ebf
+202067d7
+e8c30000
+600341d0
+d8a04419
+20407ebf
+e8c30000
+600344a0
+20600000
+6800c6f5
+c282c349
+c2834359
+20204337
+20404083
+c003433e
+7046d81e
+6800c6d9
+c1008000
+7046d901
+20600000
+20404343
+6800c6d9
+c1000000
+7046d900
+202043c0
+6800c6d8
+207a0000
+1fe0ffff
+6000c6d8
+247a0000
+20204370
+6800c6ed
+c17f8000
+6808c6ed
+2040681d
+2020c354
+6800c6d9
+c1008000
+7046d901
+680246d3
+c3830000
+20204370
+6800c6d9
+c1000000
+7046d900
+d8e00006
+202043d2
+68008004
+c4030000
+6800c720
+c000c369
+c001436c
+20600000
+68008004
+c4030000
+6808c6ed
+2040681d
+2020c366
+70472001
+20600000
+6800c703
+6000c720
+20600000
+6808c6ed
+2420c370
+20600000
+6808c6ed
+2040681d
+2020c354
+20600000
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204043c0
+2020437e
+d8400001
+da204720
+da400000
+20206606
+20404381
+204043c2
+202041d7
+68014682
+c283c392
+c284b402
+c28033e9
+202042ca
+44f6c01d
+58000000
+600146b0
+68014682
+c284b402
+68014682
+c28033e9
+20600000
+58000001
+60030040
+70018533
+202042df
+204043c4
+20207e2f
+6800c6ec
+c17f8000
+6808c6ec
+2040681d
+2020c39f
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+6800c6f5
+c2824394
+20404083
+c003c3af
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+da6046da
+da4043b8
+2020336d
+d8e00006
+204043ce
+20403357
+2020426c
+d8e00001
+202043ce
+d8e00001
+202043d2
+d8e00000
+202043ce
+d8e00000
+202043d2
+d8e00002
+202043ce
+d8e00002
+202043d2
+d8e00005
+202043ce
+d8e00005
+202043d2
+d8400001
+20600000
+680246d3
+f9207e00
+600246d3
+20600000
+680246d3
+f93ffe00
+600246d3
+20600000
+680246d3
+c40d0000
+6800c6ce
+1fe0fe01
+6000c6ce
+1fe67c0a
+20610000
+7046ce00
+204068eb
+20406908
+6001470f
+da204709
+20406930
+6800c231
+c280c4a0
+c30043e9
+202043e7
+d8e00004
+202043ce
+d8e00004
+202043d2
+680246d3
+c4020000
+6800c6ef
+6000c715
+6800c6cf
+1fe0fe01
+6000c6cf
+1fe67c14
+244143f9
+c00143fb
+c00243fe
+c00343fb
+c00443fe
+20600000
+7046cf01
+202043fe
+da200000
+70471302
+20207d14
+da200000
+70471302
+20207d19
+20403f97
+24740000
+da200007
+da40469a
+20600000
+6800c78b
+207a0000
+6808c6e7
+2040681d
+2040c410
+6800c704
+247a0000
+20404083
+247a0000
+20202d83
+6800c6e7
+c17f8000
+7047040a
+20600000
+20404423
+68014778
+d840aa55
+98467c00
+2022c42b
+60094778
+2040441c
+20204435
+680344a0
+60034738
+1fe0ff00
+60034755
+1fe0ff00
+60034772
+20600000
+58004778
+d8404720
+98460400
+6801c700
+9840fe00
+d8400002
+da204778
+20206562
+5800477f
+d8404720
+98460400
+6801c700
+da204720
+20406562
+2040431a
+6802477b
+20402c7a
+2020322c
+5800477f
+d8404720
+98460400
+da204720
+6801c700
+20206514
+d8400001
+da20477a
+da40005a
+202065d1
+d8400001
+da20477a
+da40005a
+202065df
+c6130000
+680246d3
+c40b0000
+6800c705
+1fe0fe01
+1fe17e07
+6000c705
+c1838000
+68014682
+c280444f
+c284c44f
+20600000
+44f7401d
+6800c706
+247a0000
+680246d3
+c4040000
+6800c6a5
+204063fb
+6000c6a6
+1fe67c10
+2021445b
+70470600
+20600000
+7047061e
+20600000
+da604706
+da404460
+2020336d
+6800c6a5
+20406414
+1fe67c10
+24610000
+680246d3
+c4040000
+d8e00008
+204043d2
+70417200
+7046c41e
+20404482
+680246d3
+c28ac471
+6800c720
+c000c489
+c0014476
+20600000
+6800c720
+c000c489
+c001448c
+c001c48f
+20600000
+6800c6f0
+2020428f
+70417220
+20204482
+6800c6f0
+c17f8000
+6000c715
+20204296
+6800c6f1
+c17f8000
+6000c715
+20204296
+20404296
+2040447a
+2040447e
+6800c6f2
+c17f8000
+6000c715
+20204296
+6800c6f0
+6000c715
+20204298
+6800c6f1
+6000c715
+20204298
+6800c6f2
+6000c715
+20204298
+44f7c01d
+6800c71e
+1fe0ffff
+6000c71e
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204042fb
+202042a2
+20404482
+58000000
+600400a1
+20202b1f
+20758000
+68108081
+1fe17ef0
+60108081
+20406948
+580044e6
+600141eb
+580044e9
+600141ed
+580044ef
+600141f3
+580044f2
+600141f5
+580033d0
+600141e9
+20402c7a
+580045c2
+1a608ad8
+e0a10000
+580044ea
+1a608ada
+e0a10000
+580044e9
+1a608adc
+e0a10000
+5800450e
+600141fd
+580044da
+6001475b
+580044d6
+6001475f
+58004560
+6001470f
+44f8401e
+204044e2
+20407e38
+70417202
+6800c72b
+6000c69a
+c00044d5
+6800c72c
+6000c686
+204044db
+20407cd3
+20407cdd
+70475701
+68014682
+c3860000
+2020340a
+70475702
+204044db
+da200000
+20407d1e
+20202ee4
+202044db
+44f8c01e
+6800c729
+c0ffc4e0
+6808c706
+2020680e
+6000c706
+202044de
+20402c9d
+68014753
+60014755
+20204515
+20406835
+204044e9
+2020340a
+2020696c
+6800c765
+207a0000
+20202d83
+20600000
+20206978
+20404544
+20404503
+202044ee
+1a627e00
+c016b431
+c008341a
+c01cc4fb
+c01e44ff
+c01d44f9
+20600000
+70476501
+20600000
+70476501
+70476301
+70476401
+20600000
+70476501
+70476301
+70476401
+20600000
+6800c763
+c1000000
+6800c762
+c1008000
+70476201
+da200000
+20207d19
+da200000
+20407d19
+204044db
+2020340a
+2040337b
+20204510
+6800c72d
+207a0000
+da604755
+da40450a
+20203374
+2040451a
+6009471a
+2040451f
+6009471c
+20600000
+6801471a
+6001471e
+20404540
+20404525
+6000c724
+6801471c
+6001471e
+20404542
+20404525
+6000c725
+20600000
+68014720
+1fe22200
+6801471e
+2040452e
+6800c719
+243a4537
+24610000
+6809471e
+20600000
+98467e00
+20214534
+1fe67e00
+70471801
+9a267c00
+20600000
+70471800
+9a267c00
+20600000
+2421453e
+6800c718
+243a453c
+58000001
+20600000
+58000002
+20600000
+58000000
+20600000
+70422e33
+202068eb
+70422e34
+202068eb
+6800c72a
+c1808000
+44f9401e
+70471901
+2040451a
+68014724
+68094722
+98467c00
+20628000
+60014722
+20404550
+20204554
+6800c724
+203a455a
+1fe0ffff
+20204557
+6800c725
+203a455d
+1fe0fe01
+1fe20e00
+da200001
+20204560
+d8e00000
+da200000
+20204560
+d8e00002
+da200000
+20204560
+1a227e00
+6000c761
+6800c763
+c0002ee4
+68014753
+60014755
+6800c761
+203a4580
+44f9c01e
+da200000
+20407d14
+18e27e00
+c00245a3
+c002c5a5
+c00345a7
+2040458b
+c0004574
+c001457a
+c001c574
+20600000
+18e27e00
+c000458f
+c000c591
+c0014593
+c001c595
+20600000
+18e27e00
+c0004597
+c000c59a
+c001459d
+c001c5a0
+20600000
+44fa401e
+da200000
+20407d19
+18e27e00
+c00245bc
+c002c5bc
+2040458b
+c00045a9
+c00145af
+c001c5a9
+20600000
+6800c728
+6808c727
+9841fe00
+20600000
+70473401
+202045be
+70473402
+202045be
+70473601
+202045be
+70473602
+202045be
+70473401
+70473601
+202045be
+70473402
+70473602
+202045be
+70473402
+70473601
+202045be
+70473401
+70473602
+202045be
+70473801
+202045be
+70473802
+202045be
+70474101
+202045c0
+18e27e00
+c00045b5
+c000c5b5
+c00145b7
+c001c5b7
+20600000
+18e27e00
+c00045b9
+c000c5b9
+c00145b9
+c001c5b9
+20600000
+70473400
+202045be
+70473600
+202045be
+70473400
+70473600
+202045be
+70473800
+202045be
+da20472e
+20207e3d
+da20473b
+20207e3d
+6800c764
+c000c5cc
+da204744
+20407e54
+243445d1
+d8c04744
+e8c08000
+1fe22200
+da404745
+20600000
+70476400
+78347c00
+da200001
+da404766
+20600000
+6800c747
+c00245d5
+c002c5d5
+20600000
+6800c74a
+243a45dc
+6800c74c
+243a45dc
+6800c74e
+243a45dc
+20600000
+78347c00
+202045c7
+20758000
+68108081
+1fe17efc
+60108081
+580046b4
+600141eb
+580046b3
+600141ed
+5800340a
+600141f7
+580046b1
+600141f3
+58004612
+600141f5
+5800460c
+600141e9
+5800476a
+600141f9
+58004686
+600141fd
+58004729
+600146e7
+58004806
+600146e2
+58004807
+600146e4
+204057a3
+204047da
+20404788
+2040476d
+20406948
+2040477a
+20407e38
+20407d08
+20404793
+204047c7
+44fac01e
+2040464f
+6800c6dd
+c0004609
+6800c6de
+6000c686
+2020480e
+704686ff
+7046df01
+202046d9
+6800c6df
+c00133d0
+2040527e
+6800c256
+243a33d0
+202033d2
+1a627e00
+c000c626
+c0014629
+c0024631
+c002c633
+c0034635
+c003c638
+c009463c
+c009c644
+c013c645
+c0174648
+c01ec649
+c00a4658
+c00ac65c
+c01fc65f
+c0204665
+c008466b
+c016466c
+c016c677
+20600000
+7046ad00
+7046ac00
+20600000
+2040462b
+20204631
+7041e200
+70468000
+70420500
+7046ac00
+7046ad00
+20207e38
+204033a9
+202046c2
+204046b6
+20203408
+58000002
+6000c680
+20600000
+7046ac00
+58000001
+6000c6ad
+20600000
+6800c1e2
+c1008000
+7041e201
+20403416
+20403414
+204046b6
+20403408
+2020340e
+20204631
+58000005
+6000c6ac
+20600000
+202033cd
+da400000
+6800c217
+1fef8422
+68014215
+1fe22200
+20206606
+da400000
+6800c69a
+c4008000
+6800c217
+207a0000
+1fef8422
+68014215
+1fe22200
+202065df
+204046b6
+58000000
+600146b7
+20203408
+20407e38
+7046b000
+202046d9
+20407e38
+7046b001
+680446c1
+60044496
+20403416
+20205abf
+68014509
+c1000000
+680446c9
+207a0000
+60044496
+20205abf
+2020481f
+6800c6dd
+c1000000
+6800c6df
+c1808000
+20404672
+20203406
+7048df01
+df20000b
+d8a048e0
+d8c048c9
+20207f01
+6800c6dd
+c1000000
+6800c6df
+c000c67c
+2020481b
+6800c8df
+c1808000
+7048df00
+68014682
+c2803408
+c284b408
+df20000b
+d8c048e0
+d8a048c9
+20207f01
+2040468c
+20404693
+2040469e
+204046a6
+204046a9
+202046ac
+da6046db
+da40468f
+20203374
+7046df02
+20403408
+204046f4
+2020480b
+da6048ec
+da404696
+2020336d
+68014682
+c284c80b
+c280480b
+6800c8c9
+c000c80b
+c002480b
+c002c80b
+2020340a
+da6046ac
+da4046a1
+2020336d
+6800827f
+79207e00
+79207e07
+6000827f
+20600000
+da604680
+da40463c
+2020336d
+da6046ad
+da4033e9
+2020336d
+6800c6df
+c1808000
+da6046b7
+da4046c2
+20203374
+2040473a
+20206978
+2020696c
+20406835
+202046b3
+6800c69a
+c280c6be
+c28046ba
+20600000
+680146d7
+600146d9
+600146db
+202033f8
+680146d3
+600146d9
+600146db
+202033f0
+6800c6df
+c1808000
+6800c69a
+c280c6c8
+c28046cc
+20600000
+680146d1
+600146d9
+600146db
+202033eb
+68014682
+c3848000
+680146d5
+600146d9
+600146db
+680146b3
+204046f0
+20403404
+680246bd
+600248cc
+68014682
+c3858000
+202033fa
+6800c6df
+c1808000
+6800c69a
+c280c6df
+c28046e4
+20600000
+204046f8
+203a46c2
+20403406
+204033f0
+202033e1
+680146b7
+680946b5
+600946b7
+247a0000
+680146b1
+204046f0
+20403404
+680246b9
+600248cc
+68014682
+c3858000
+202033fa
+60014154
+1fe0fffc
+60014482
+20600000
+68014682
+c284b402
+c28033e9
+202046b6
+6800c217
+1fe27200
+68014215
+1fe22200
+ea210000
+c0004701
+1a20a222
+c20046fc
+20207ff1
+e8c30000
+600341d0
+18c08c0a
+d8a041be
+20407ebf
+204067d7
+20207fef
+20407fe9
+68014682
+c280470d
+c284c710
+20600000
+6800c253
+c19f8000
+20207fe7
+6800c6b0
+207a0000
+20207fe7
+20407fe9
+68014682
+c3800000
+c3848000
+20207fe7
+6800c69a
+c280c71c
+c280471f
+20600000
+6800c093
+c1818000
+202046d9
+202046d9
+78567c00
+680146d9
+600146db
+20404713
+20344718
+20404708
+24740000
+78367c00
+20600000
+20404720
+24760000
+1a227e00
+203a4730
+20403406
+da6046f1
+20204732
+20403408
+da604719
+dfe00005
+98effe00
+9a60a600
+ea608000
+207a0000
+20404762
+1a60a601
+20204735
+68014682
+c284c73e
+c280474e
+20600000
+20405892
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d8404741
+98408c00
+e8c08000
+1fe22200
+e8c90000
+20407ea5
+20405a64
+1a227200
+20407e9f
+20207f01
+20405271
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d84047a0
+98408c00
+e8c28000
+6002c79b
+6800c79b
+1fe22200
+20404d63
+6801424e
+e0a10000
+580000a1
+e0a08000
+6802479c
+e0a48000
+20600000
+60008a9a
+da200a9a
+20207e3d
+da200a9a
+20407e54
+24740000
+68008a9a
+20600000
+68010478
+c00c465f
+20600000
+58000002
+6000c8eb
+58200008
+600246c1
+592c0005
+e0a20000
+7044a617
+5800001b
+600144fa
+20405810
+2040582c
+20405839
+20205818
+df200028
+d8a04741
+d8c0949f
+20407ef4
+df200028
+d8a047a0
+d8c094c7
+20207ef4
+df20017e
+d8c0913a
+20207ef4
+df2001e7
+d8c092b8
+20207ef4
+204047ae
+24740000
+6800c69f
+20404790
+6800c6a0
+20404790
+6800c6a1
+20204790
+207a0000
+1fe18480
+202067f9
+204047ae
+24740000
+20404797
+202047b4
+da200000
+6800c69f
+204047a9
+7d3a2200
+6800c6a0
+204047a9
+7d3a2201
+6800c6a1
+204047a9
+7d3a2202
+1a227e00
+6000c6a9
+6800c69e
+9a2ffe00
+6809469c
+9840fe00
+600146aa
+20600000
+207a0000
+1fe18480
+2040681d
+2420fff1
+20207fef
+20407fe9
+6800c6a8
+247a0000
+6800c69b
+207a0000
+20207fe7
+2040666a
+680146aa
+da200ac2
+6808c69e
+204066b3
+2040666d
+68008ac2
+1fe27200
+6000c3af
+20407ef4
+68008ac2
+1fe27200
+6000c515
+20407ef4
+e8c08000
+6000c6e6
+e8c08000
+6000c6dd
+20600000
+6800c69a
+c4008000
+d8400003
+680146a4
+1fe22400
+da2046a6
+204065df
+680946a6
+58001b3a
+98467c00
+24628000
+6800c6a8
+207a0000
+1fe20400
+680146a4
+1fe0a403
+da200ac2
+204065df
+202047e8
+680146a2
+207a0000
+2040666a
+d8400001
+da2046a8
+204066b3
+6800c6a8
+207a0000
+680146a2
+1fe0fe01
+da200ac2
+6808c6a8
+204066b3
+2040666d
+204047ba
+e8c10000
+207a0000
+1fe20a00
+e8c88000
+18427200
+20407f01
+202047e9
+6800c69a
+c4008000
+680146ae
+1fe22400
+d8400004
+da200ac2
+204065df
+68008ac2
+c080c7f9
+58000001
+60008ac2
+18007203
+2040630d
+680146ae
+1fe22400
+d8400004
+da200ac2
+20406606
+68018ac3
+6001c0a0
+6001c4a0
+20600000
+202046d9
+da200000
+da6048d4
+20407d24
+204046f4
+6800c8eb
+6000c8ec
+20600000
+58000000
+20404816
+70467901
+20407cd3
+20407cdd
+68014682
+c3860000
+2020340a
+6809423f
+e0408000
+e8a08000
+6000c685
+20600000
+6801423f
+efe08000
+c1800000
+2020340a
+6809423f
+e8408000
+c000c82a
+58000001
+6809423f
+e0408000
+18408c02
+e8c08000
+e0a08000
+e8c10000
+20207f9c
+58000002
+20404816
+18408c05
+e8c10000
+203a340a
+20207f9c
+60030101
+68008101
+6000810c
+e8c08000
+6000810b
+e8c08000
+6000810a
+e8c08000
+60008109
+e8c08000
+60008108
+e8c08000
+60008107
+68030107
+20600000
+204068a2
+6800c223
+6000c4a0
+6800c225
+e0a08000
+6800c227
+e0a08000
+6801c4a0
+6001c0a0
+20600000
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c5144856
+680081f8
+2040488d
+204048a1
+2040489b
+580000a1
+2040488d
+2040487f
+e2208000
+1a20a201
+1a40a5ff
+2422c85a
+202048a1
+1a50fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c514486b
+680081f8
+2040488d
+ea208000
+2040488d
+1a20a201
+1a40a5ff
+2422c86b
+202048a1
+df20000a
+204048be
+204048a6
+204048d2
+204048c7
+203a48a9
+c2004875
+202048a9
+204048a9
+204048af
+204048d2
+204048a6
+204048d2
+202048a9
+df200008
+da600000
+204048be
+204048a6
+204048d2
+1a63a600
+204048c7
+9a60a600
+204048d2
+204048a9
+c2004882
+20404879
+1a627e00
+20600000
+df200008
+1fe22600
+204048a9
+2a6ffe07
+2040c8ac
+2440c8af
+1a63a600
+204048d2
+204048a6
+204048d2
+204048a9
+204048d2
+c2004890
+20204871
+204048ac
+204048a6
+204048d2
+204048af
+204048d2
+202048a9
+204048af
+204048a6
+204048d2
+204048ac
+202048d2
+78347c00
+6800cffe
+202048b2
+78547c00
+6800cffe
+202048b2
+78347c00
+6800cfff
+202048b2
+78547c00
+6800cfff
+202048b2
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f9207e00
+e0408000
+18408404
+e8408000
+f9347e00
+e0408000
+20600000
+6800cfff
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f93ffe00
+e0408000
+20600000
+20000004
+6800cfff
+1fe10e07
+1fe97e00
+d840811c
+98408400
+58000000
+e8488000
+a84fffff
+7920fe00
+20600000
+20600000
+44fb401e
+68108a26
+2feffe07
+2040c8ea
+2040492e
+68108a26
+60008b22
+68108a27
+60008b23
+60108a27
+1fe47e00
+68088d37
+98417e00
+60008d37
+708a26e0
+68008b23
+2fe00201
+2040c941
+68008b22
+2fe00201
+2040c94a
+20404b61
+20204903
+44fbc01e
+20404919
+708a0000
+20002710
+708a10c0
+68110050
+793ffe0a
+60110050
+708a003c
+708a26ff
+708a27ff
+708a0400
+700c6b02
+58000d9d
+d8a00c6e
+98a67200
+20207ed4
+68088c6c
+202067fb
+68008d45
+207a0000
+68088c6c
+2040681d
+2020c8ea
+20600000
+d8e00000
+20407f16
+247a0000
+68008d46
+247a0000
+68008d45
+245a4bb7
+20600000
+d8a00b68
+38011212
+38048000
+38080000
+380d0000
+e0a48000
+38022412
+38048604
+38081000
+380c0008
+e0a48000
+38000001
+e0a08000
+20600000
+700c6b02
+58000000
+60008b67
+60010c65
+1fe0fe01
+60010c67
+1fe0fe01
+60010c69
+58008ffa
+60010b7c
+5800903a
+60010b7e
+d8a00b80
+d8c090fe
+20407eb3
+68008c6d
+245a492b
+2020490b
+60008ba2
+60008bbb
+20600000
+68108a26
+c2834931
+20600000
+20404936
+20407f15
+58000280
+d8e00000
+20207f08
+68008d36
+c081493b
+700d4600
+700d4700
+20600000
+68008d53
+207a0000
+700d5300
+700d3602
+700d4501
+20600000
+708a2701
+20204b37
+68008b22
+c2824955
+20600000
+68108a18
+e0a08000
+c2004946
+20600000
+44fc401f
+708a2611
+68108a20
+60008b24
+1fe27200
+203a4943
+d8a00c6e
+20404946
+68008b24
+1fe67c07
+20610000
+68008c6e
+1fe17e80
+c040495a
+c0004962
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c000496a
+c000c970
+c0014975
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c0004976
+c000c97e
+c0014983
+20202a8c
+68008c6f
+c004498a
+c00349a0
+c00549ea
+c00049fc
+20204984
+68008c6f
+c0014a2f
+c000ca33
+c001ca45
+20204984
+20204984
+68008c6f
+c000ca4f
+c001ca79
+c002caa3
+c004cabc
+c005cad7
+c003c984
+20204984
+68008c6f
+c0054ae8
+c004caf9
+c005cb11
+20204984
+20204984
+68108a11
+79207e00
+60108a11
+20204988
+708a1240
+20600000
+68008c6e
+c0c04984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c6b
+c002499c
+c001c99e
+20204984
+da400001
+20204a14
+da400001
+20204a12
+44fcc01f
+793f8023
+68008c71
+c000c9b6
+c00149cf
+c001c9d2
+c010c9a9
+c01149e0
+20204984
+700d4b00
+68008c72
+c00049ae
+c000c9b2
+20204984
+da200b93
+ea208000
+98002400
+20204b21
+da200bac
+ea208000
+98002400
+20204b21
+68008d48
+245a49c7
+58000b68
+68088b68
+60010d3f
+60088d41
+68008c74
+98467c00
+242149c5
+68008d41
+98002400
+68010d3f
+1fe0fe01
+98002200
+20204b21
+68008c74
+202049c0
+68108a04
+245a49cb
+700d4800
+20600000
+68108a04
+79207e07
+60108a04
+20600000
+58000b80
+68088b80
+202049ba
+68008c70
+1fe67c03
+24214984
+68008c70
+da200be4
+c0004b1e
+79200023
+da200be9
+c000cb1e
+da200c07
+c0014b1e
+da200c47
+c001cb1e
+20600000
+68010c72
+c000c9e5
+68010b7c
+1fe22200
+20204b1e
+700d4501
+700d3601
+68010b7e
+1fe22200
+20204b1e
+68008c6b
+c0824984
+68008c6e
+c0c0c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+da400001
+20204a12
+68008c6b
+c0014984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0814984
+68008c75
+c0804984
+68008c73
+c0804984
+68008c6e
+c0404a0d
+c040ca18
+c0414a1c
+20204984
+68008c72
+c0804984
+da400002
+68008d39
+c000ca16
+da200c65
+20204b21
+da200c67
+20204b21
+da200c69
+20204b21
+68008c6b
+c0824984
+da400002
+20204a12
+68008c6b
+c0824984
+68008c72
+c040ca29
+c0414a2b
+c041ca2d
+1fe17e7f
+c0004a25
+20204984
+68008d3b
+da400002
+c000ca14
+20204a12
+68008d3c
+20204a26
+68008d3d
+20204a26
+68008d3e
+20204a26
+700d4c01
+da200d4d
+da400001
+20204b21
+68010c70
+d84001ba
+98467c00
+2422c984
+793f8023
+68008d42
+243a4a42
+700cf600
+68008c74
+98002400
+da200cf6
+20404b21
+d8a00cf6
+df200008
+20207ec6
+700d4200
+700cf601
+20204a3b
+68008c74
+c080c984
+700d4b01
+da400001
+68008d49
+c0004a4d
+c000ca4e
+20204a12
+20204a14
+20204a12
+68008c6b
+c0824984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c73
+c0804984
+68008c6e
+c0004a5e
+c000ca66
+c0014a67
+20204984
+68008c70
+c080c984
+68108a00
+793ffe07
+60108a00
+700d3900
+700d3a01
+20204988
+20204984
+68008c70
+c0804984
+68008c72
+c040ca72
+c0414a75
+c041ca77
+1fe17e7f
+c0004a70
+20204984
+700d3b00
+20204988
+700d3c00
+700d5301
+20204988
+700d3d00
+20204a73
+700d3e00
+20204a73
+68008c74
+c0804984
+68008c75
+c0804984
+68008c6e
+c0004a82
+c000ca8f
+c0014a90
+20204984
+68008c70
+c080c984
+68108a00
+79207e07
+60108a00
+700d3901
+700d3603
+700d4300
+20404988
+20407f15
+58001388
+d8e0000f
+20207f08
+20204984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c72
+c040ca9d
+c0414a9f
+c041caa1
+1fe17e7f
+c0004a9b
+20204984
+700d3b01
+20204988
+700d3c01
+20204988
+700d3d01
+20204988
+700d3e01
+20204988
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe17e80
+c0804984
+68008c70
+c0804aba
+700c6b02
+68008c70
+60108a04
+20404988
+700d4801
+20600000
+700c6b03
+20204ab5
+68008c6b
+c0014984
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe67c01
+24214984
+68008c6b
+c001cad1
+c0024ad1
+20204984
+68008c70
+c0004ad5
+700c6b04
+20204988
+700c6b03
+20204988
+68008c6b
+c0824984
+68008c6e
+c080c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+20204988
+700d4c01
+68008c71
+60008d4d
+68008c72
+1fe67c01
+2042caf5
+68008d36
+c0824988
+700d3602
+20404988
+20007530
+20007530
+20600000
+700d4501
+700d3a00
+700d3604
+20600000
+700d5001
+20404b03
+68010c70
+60010d4e
+68008c74
+98007200
+d8c00c76
+d8a00cb6
+20407f01
+20204988
+68010c70
+d8400200
+98467c00
+24628000
+68010c72
+d8400000
+98467c00
+24628000
+68010c74
+d8400001
+98467c00
+24628000
+700d4301
+20600000
+68008c74
+c0804984
+68008c70
+c0004b17
+c000cb1a
+20204984
+700d4a00
+700d4901
+20204988
+700d4401
+700d4a01
+700d4900
+20204988
+ea208000
+98002400
+1a20a201
+44fd401f
+c591cb2c
+1a40fe01
+1fe3fe00
+60108a18
+708a1803
+68008c74
+1fe0fffe
+1fe37e00
+60008c74
+c0004b35
+68010c74
+9a467c00
+20214b30
+1fe22400
+1a227e00
+60010b65
+1a427e00
+60008b67
+20204b37
+d8e00000
+20204b57
+44fdc01f
+68008b67
+207a0000
+1fe27200
+1fe67c40
+20214b3e
+df200040
+68008b67
+9f267e00
+60008b67
+68010b65
+1fe20c00
+e8c08000
+60108a18
+c591cb47
+708a1800
+c2004b43
+18c27e00
+60010b65
+d8e00000
+20404b57
+68008b67
+247a0000
+68008d36
+c1808000
+700d3602
+20600000
+da208a19
+d8e00001
+e8c08000
+e2208000
+c2004b54
+58000000
+f9207e00
+60108a10
+68088d37
+9841fe00
+60008d37
+20600000
+d8e00002
+da208a1a
+20204b54
+44fe401f
+68008d38
+207a0000
+68008d37
+243a4bac
+68008d45
+203a4b86
+68008d36
+c001cbbf
+c0814b86
+68008d3a
+243a4b86
+20404b6f
+20204b7a
+68008d38
+c4008000
+68008d37
+c3808000
+68008d38
+793ffe01
+60008d38
+68008d51
+207a0000
+c0084ba8
+20202a8c
+68008d38
+c4010000
+68008d37
+c3810000
+68008d38
+793ffe02
+60008d38
+68008d52
+207a0000
+c0104b89
+c010cba4
+20202a8c
+d8a00d54
+df200006
+20207ec6
+68008d4c
+68088d4b
+98417e00
+203a4ba0
+68088d4a
+9840fe00
+c000cb91
+20204ba0
+700d5200
+68008d55
+c0014ba1
+c001cba1
+68008d55
+60008d54
+68008d56
+e0a08000
+68008d58
+e0a08000
+68008d5a
+e0a08000
+df200004
+d8c00d54
+20204b5e
+700d5200
+df200008
+d8c00d54
+20204b5e
+700d5200
+df200003
+d8c00d74
+20204b5e
+700d5100
+df200008
+d8c00d64
+20204b52
+68008d36
+c001cbb0
+c0014bb2
+20600000
+700d3700
+20600000
+68108a00
+79207e07
+60108a00
+700d4701
+20600000
+68008d36
+c1018000
+c0014bbb
+20600000
+68008d47
+207a0000
+700d4601
+20204bc2
+d8e0000f
+20407f16
+247a0000
+68108a00
+c4038000
+708a00fc
+20007530
+708a003c
+20600000
+44fec01f
+6800c1ce
+247a0000
+20404bce
+24544be6
+20600000
+44ff401f
+18622200
+d8400004
+e8608000
+c000cbd8
+18408401
+c0014bd8
+18627e00
+60110058
+20600000
+68110112
+98467c00
+24214bd8
+78547c00
+1a220600
+20404bee
+98408400
+68110112
+98467c00
+24214bdf
+1a220600
+e8608000
+c000cc3f
+20202a8c
+44ffc01f
+68110058
+98000600
+20404bee
+98608600
+18627e00
+60110058
+20600000
+e8608000
+18608602
+c0014bf3
+e8608000
+20600000
+e8610000
+20600000
+6811005e
+194095fb
+99409400
+20600000
+d8400004
+20204bfc
+d8400002
+47004020
+1f20f201
+6811005e
+1fe21400
+1f227e00
+e1488000
+1fe0ffff
+99409400
+19427e00
+60010258
+18427e00
+c1010000
+68010258
+6011005e
+20204c0b
+58000000
+60010258
+20600000
+20758000
+58004d28
+600141f3
+580001a0
+60014243
+58001800
+60110054
+58001bff
+60110056
+58001c00
+6011005a
+20404c28
+70806200
+58001c00
+6011005e
+60110060
+58001800
+60110058
+60010244
+68110050
+793ffe0f
+60110050
+204066ce
+70804301
+70806281
+20600000
+58001fff
+6011005c
+68108081
+1fe1fe07
+60108081
+20600000
+4700c020
+6810810c
+98002400
+c301cc37
+68110112
+98002600
+d840044f
+98467c00
+24628000
+68110058
+98000600
+20204bc8
+6818810c
+284ffe06
+2020cc3a
+60108015
+20600000
+47014020
+6800c1ce
+203a4c44
+78347c00
+20600000
+e8610000
+98006000
+98000e00
+e8608000
+98000400
+1e0b7e00
+1fecfe00
+c01fcc4d
+20600000
+4701c020
+18e27e00
+c0004cdc
+c000cc66
+c0014c6b
+c001cc7a
+c0024cb3
+c002ccdc
+c0034cc6
+c003cc5c
+c0084cc9
+c008ccd1
+c0094ca5
+c009cc85
+20204cdc
+20404cdc
+20407f9e
+2040688c
+204033d2
+204033d9
+2020688f
+70424500
+204033d0
+20404c13
+202033db
+20404cf2
+68110000
+e1410000
+18007206
+20204cdd
+e8610000
+60014243
+60110052
+20600000
+e8608000
+1fe20400
+60108024
+e8608000
+98408400
+79207e07
+60108023
+e8608000
+98408400
+1fe27200
+20600000
+c515ccc4
+20404c6f
+e8608000
+60108025
+98408400
+c2004c7c
+184104ff
+e8608000
+98467c00
+2422ccc4
+20204cdc
+c595ccc4
+20404c6f
+60040a9a
+20407422
+df200010
+d8a00ac2
+20404ca0
+600c0aa2
+d8a00ad2
+20407497
+da200ad2
+da400ac2
+d8a00ae2
+20407352
+df200010
+d8c00ae2
+20404c9c
+680c0aa2
+68040a9a
+1fe0fff0
+60040a9a
+243a4c88
+20204c80
+e8c08000
+60108025
+c2004c9c
+20600000
+e8608000
+e0a08000
+98408400
+c2004ca0
+20600000
+c595ccc4
+d8400000
+df200010
+d8a00ac2
+20404ca0
+68108085
+1fe17efd
+60108085
+d8c00ac2
+df200010
+20407478
+20407428
+20407491
+20204c80
+df200020
+d8a04000
+d8400000
+e8608000
+e0a08000
+98408400
+c2004cb6
+184104ff
+e8608000
+98467c00
+2422ccc4
+70802300
+20404cdc
+20404be6
+204064a3
+20407f9e
+20202001
+70802300
+20202000
+e8630000
+600340a0
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+1fe20a00
+204066fd
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+d8a01000
+204066fd
+6808825a
+da201000
+6801025b
+20206608
+18007204
+20404cf4
+18007e01
+e1408000
+1e027e00
+e1418000
+18000e0e
+47024020
+20404cf6
+18e27e00
+e1408000
+1f227e00
+e1408000
+18000e05
+1f20f202
+20204bf9
+18000eff
+20404cf4
+58000001
+e1408000
+18007201
+20204ce3
+1800140c
+20204cf7
+18001408
+20204cf7
+18001406
+20204bf5
+7827fc00
+7824fc00
+e9408000
+08008008
+c2004cfa
+78247c00
+08008010
+78447c00
+7844fc00
+7847fc00
+1ff0fe00
+20600000
+7041ce00
+20600000
+680341d0
+680b0040
+98467c00
+20600000
+6800804b
+c2814d0f
+204062ef
+70007c08
+20204d04
+793ffe02
+6000804b
+20406001
+58000000
+7934fe01
+6000807f
+20204d04
+20600000
+70007c17
+d8a004d9
+58000000
+2d0ffe1b
+7920fe01
+e0a08000
+58000000
+e0a10000
+680141e3
+e0a10000
+6800c1e5
+e0a10000
+6800c1e7
+e0a10000
+20204d04
+70007c18
+20204d04
+20406899
+20608000
+d8400007
+2040681d
+2420cd2f
+70424501
+20600000
+6800c245
+c1808000
+20404c62
+20204cec
+4702c020
+68010264
+1fe20c00
+e8c08000
+1fe1040f
+1ff1fe00
+c004cd53
+c003cd53
+c0054d5f
+c002cd4b
+c000cd3f
+20600000
+18427e00
+c002cd43
+c001cd4a
+20600000
+700a9927
+20407d86
+6800c092
+c4030000
+18427e00
+c002c38e
+20600000
+20600000
+20404d5f
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+20600000
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+700a8e01
+6800c252
+79207e06
+6000c252
+700a9912
+20207d86
+e8c08000
+c000cd62
+20600000
+20600000
+20405240
+1a220400
+60088a8e
+1fe20a00
+1a227e00
+e0a10000
+20600000
+2035cd6f
+58004365
+d8a04246
+98a67200
+20407ed4
+47034020
+58000551
+d8a00511
+98a67200
+20407ed4
+580002c9
+d8a0025d
+98a67200
+20407ed4
+20205318
+4703c020
+18c20400
+18420c00
+e8c10000
+60010266
+e8c10000
+60010268
+18c27e00
+60010264
+6800c681
+c0004d85
+202050ef
+68010266
+203a4dfc
+47044021
+68008268
+c000cd9d
+c0284de0
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+4704c021
+2040527e
+6800c256
+c0004d9b
+c000cd9b
+c0014d9b
+c001cd9b
+c040cd9b
+c0604d9b
+c0404d9b
+c0204d9b
+20600000
+58000000
+20600000
+20404d8f
+247a0000
+204052b8
+20404e01
+6809026f
+203a4dfb
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20204dfc
+6800c364
+207a0000
+1fe22200
+47054021
+680202d5
+d8400100
+98408400
+1c427e00
+98467c00
+24610000
+70436400
+1a227e00
+c0284db7
+20202a8c
+d9000000
+204052b8
+20404e7a
+204052c3
+20407ea8
+20404ead
+204052c1
+5800000c
+e0a10000
+18007e01
+e0a10000
+20204dfc
+4705c021
+68010275
+1fe0fe04
+1ff1fe00
+1fe97e00
+1fe08401
+d8c04260
+e8c18000
+207a0000
+60018ac2
+68008ac2
+1fe22200
+20404dd3
+1a427e00
+6000c260
+20600000
+d8e00000
+da400000
+18e67c07
+24610000
+aa2fffff
+2020cdda
+20204dde
+18427e00
+203a4dde
+f9202400
+184085ff
+18e08e01
+20204dd5
+20405274
+247a0000
+20404d8f
+247a0000
+204052c5
+20406e11
+20404dc3
+20204dec
+20405274
+247a0000
+204052c5
+20406e11
+204052ce
+68010275
+203a4dfb
+e0a10000
+68014248
+e0a10000
+20204dfc
+20404d33
+20204dfc
+47064021
+70028400
+20406a8a
+68008284
+c1008000
+20204dfc
+20405264
+58000000
+60010266
+60010268
+70026a01
+20600000
+4706c021
+204052c3
+18002400
+68010266
+1fe22600
+68010264
+98000c00
+20404e10
+1a627e00
+1a60a7fc
+1fe0fffc
+243a4e08
+1a427e00
+6001026f
+20600000
+47074021
+e8c08000
+c000ce49
+c0014e51
+c001ced5
+c0024f05
+c002cfa2
+c0034fcb
+c003d01b
+c0045050
+c004d060
+c0054e1f
+c005d061
+20405062
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+5800000b
+e0a08000
+18e27e00
+e0a08000
+e8c10000
+c0014e2d
+c001ce33
+20600000
+58020008
+e0a30000
+58000280
+e0a20000
+18007e0c
+20204e38
+5803000c
+e0a30000
+58000006
+e0a40000
+18007e10
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+60010aa2
+1a627e00
+9a262600
+204052c3
+5800000b
+e0a08000
+18e27e00
+e0a08000
+68010aa2
+20204e2a
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+1a627e00
+9a262600
+20204e1e
+20407ea8
+20407ead
+d9000000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe20400
+e8c10000
+1fe21600
+4707c021
+18427e00
+c000ce64
+c001ce86
+c008ce92
+c009ce9d
+20405062
+20204ed4
+20407ea8
+d8400050
+68014248
+243a4ece
+19627e00
+60014248
+1c427e00
+600202d5
+20404e6e
+20204ea9
+600902d3
+19627e00
+600102c9
+1a227e00
+600102cb
+1a427e00
+600102cd
+1a627e00
+600102cf
+18e27e00
+600102d1
+20600000
+680902d3
+680102c9
+1fe21600
+680102cb
+1fe22200
+680102cd
+1fe22400
+680102cf
+1fe22600
+680102d1
+1fe20e00
+20600000
+20407ea8
+58000051
+d8400051
+6801424a
+243a4ece
+19627e00
+6001424a
+6800c251
+79207e00
+79207e01
+6000c251
+20204eb1
+20407ea8
+d8400052
+6801424c
+243a4ece
+19627e00
+6001424c
+6800c252
+79207e00
+79207e01
+6000c252
+20204eb1
+20407ea8
+1b427e00
+d8400053
+6801424e
+243a4ece
+19627e00
+6001424e
+6800c253
+79207e00
+79207e01
+6000c253
+20204eb1
+58000001
+6001027d
+70436450
+20204eb3
+6800c250
+79207e00
+79207e01
+6000c250
+58000000
+6001027d
+47084022
+20407ead
+58000003
+e0a08000
+18e27e00
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+6801027d
+c000cec9
+290c0000
+2020cec4
+58000004
+e0a10000
+18007e00
+e0a10000
+5800000c
+20204ed0
+e0a10000
+18007e02
+e0a10000
+5800000c
+20204ed0
+79201000
+20204eb1
+9a40a400
+1a627e00
+9a262600
+20204ed4
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+4708c022
+58000050
+98467c00
+2022ceed
+58000051
+98467c00
+2022cef3
+58000052
+98467c00
+2022ceff
+58000053
+98467c00
+2022cef9
+20600000
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20204e1e
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20600000
+19627e00
+6001424c
+6800c253
+79207e01
+6000c253
+20600000
+19627e00
+6001424e
+6800c252
+79207e01
+6000c252
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe20400
+18422200
+47094022
+58000050
+98467c00
+2022cf1c
+58000051
+98467c00
+2022cf3a
+58000052
+98467c00
+2022cf26
+58000053
+98467c00
+2022cf30
+20205062
+18a21600
+6800c250
+79207e04
+79207e03
+6000c250
+19620a00
+d9600050
+68014248
+1fe20400
+20204f43
+18a21600
+6800c252
+79207e04
+79207e03
+6000c252
+19620a00
+d9600052
+6801424c
+1fe20400
+20204f43
+18a21600
+6800c253
+79207e04
+79207e03
+6000c253
+19620a00
+d9600053
+6801424e
+1fe20400
+20204f43
+18a21600
+6800c251
+79207e04
+79207e03
+6000c251
+19620a00
+d9600051
+6801424a
+1fe20400
+4709c022
+58000005
+e0a08000
+18e27e00
+e0a08000
+58000006
+e0a10000
+18427e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+60090282
+18e27e00
+60008281
+18007e50
+a961fe00
+2020cf59
+1fe0fe01
+20600000
+78547c00
+c3810000
+c4000000
+c4008000
+79207e02
+18c20a00
+18a08bff
+e0a08000
+78347c00
+20600000
+6800c250
+20404f5a
+24344f6b
+70028050
+68014248
+60010282
+20204f7f
+6800c251
+20404f5a
+24344f72
+70028051
+6801424a
+60010282
+20204f7f
+6800c252
+20404f5a
+24344f79
+70028052
+6801424c
+60010282
+20204f7f
+6800c253
+20404f5a
+24740000
+70028053
+6801424e
+60010282
+470a4022
+2040523a
+204052b8
+18002400
+204052c3
+18007e04
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+68010282
+e0a10000
+58000000
+e0a10000
+18007e01
+e0a08000
+18007e02
+e0a08000
+68008280
+c028cf97
+58000030
+e0a10000
+20204f99
+580003e3
+e0a10000
+d840000c
+6009026f
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+70028000
+20204e1e
+18c08c01
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+470ac022
+58000050
+9a267c00
+2022cfba
+58000051
+9a267c00
+2022cfbe
+58000052
+9a267c00
+2022cfc2
+58000053
+9a267c00
+2022cfc6
+18c08c02
+e8c10000
+98007c00
+20204e1e
+6800c250
+79207e05
+6000c250
+20204e1e
+6800c251
+79207e05
+6000c251
+20204e1e
+6800c252
+79207e05
+6000c252
+20204e1e
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+1a220400
+20407ea8
+470b4022
+58000050
+98467c00
+2022cff2
+58000051
+98467c00
+2022d002
+58000052
+98467c00
+2022cfe6
+58000053
+98467c00
+2022cfec
+20405062
+20205017
+19620400
+6801424c
+98467c00
+2022cff8
+20405062
+20205017
+19620400
+6801424e
+98467c00
+2022cffa
+20405062
+20205017
+19620400
+68014248
+98467c00
+2022cffe
+20405062
+20205017
+20405079
+2020500a
+2040507f
+6801424c
+203a500a
+2020500a
+20405074
+68008288
+243a500a
+2020500a
+19620400
+6801424a
+98467c00
+2022d008
+20405062
+20205017
+2040506f
+2020500a
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+20205019
+20407ead
+20205019
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+470bc022
+58000050
+98467c00
+2022d035
+58000051
+98467c00
+2022d03b
+58000052
+98467c00
+2022d041
+58000053
+98467c00
+2022d047
+20405062
+2020504f
+18422200
+19620400
+68014248
+98467c00
+2042d074
+2020504d
+18422200
+19620400
+6801424a
+98467c00
+2042d06f
+2020504d
+18422200
+19620400
+6801424c
+98467c00
+2042d079
+2020504d
+18422200
+19620400
+6801424e
+98467c00
+2042d07f
+2020504d
+20407ead
+20204e1e
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+58000009
+e0a08000
+18e27e00
+e0a08000
+18007e00
+e0a10000
+18007e04
+9a40a400
+1a627e00
+9a262600
+20204e1e
+20204e1e
+20204e1e
+18002400
+204052c3
+58000001
+e0a08000
+18e27e00
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+1a40a406
+da600004
+20204e1e
+58000000
+6001027b
+6001424a
+70425100
+20600000
+58000000
+60010275
+60014248
+70425000
+20600000
+58000000
+6001424c
+70425200
+6800c253
+c0005085
+20600000
+58000000
+6001424e
+70425300
+6800c252
+c0005085
+20600000
+700a9907
+20207d86
+6800827f
+793ffe00
+6000827f
+6801424e
+207a0000
+204052b8
+6801424e
+1fe22200
+18002453
+2020509a
+6800827f
+793ffe07
+6000827f
+6801424c
+207a0000
+204052b8
+6801424c
+1fe22200
+18002452
+2040523a
+204052c3
+18007e06
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+18000408
+202050de
+470c4023
+2040523a
+204052c3
+58000002
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+202050de
+470cc023
+2040523a
+204052c3
+58000004
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+58000000
+e0a10000
+58000001
+e0a08000
+58000002
+e0a08000
+580003e3
+e0a10000
+d840000c
+202050de
+470d4023
+2040523a
+204052c3
+58000006
+e0a08000
+6800c255
+1fe0fe01
+18a22200
+6000c255
+1a220a00
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+6009026f
+18427e00
+203a5264
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20600000
+68010275
+203a2a8c
+204052ce
+68010275
+e0a10000
+68014248
+e0a10000
+20600000
+68010266
+203a4dfc
+470dc023
+68008268
+c000d0f9
+c0284de8
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+470e4023
+204052b8
+18002400
+204052c3
+1fe20a00
+68010266
+1fe22600
+68010264
+98000c00
+20405108
+1a60a7fc
+2422d102
+1a420400
+204050de
+20204dfc
+e8c08000
+c0015113
+c000d116
+c001d120
+c002d15c
+c002518e
+c003d213
+c00351e1
+c0045050
+c0054e3a
+2020522e
+20407ea8
+20407ead
+20204e51
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c08000
+1a20a3ff
+2422d11c
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+e8c10000
+1fe67c00
+2022d132
+c001512e
+c002512e
+20205130
+700a9916
+20407d86
+e8c10000
+20205159
+20407ea8
+470ec023
+58000050
+98467c00
+2022d141
+58000051
+98467c00
+2022d147
+58000053
+98467c00
+2022d153
+58000052
+98467c00
+2022d14d
+20205159
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20205158
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20205158
+19627e00
+6001424c
+6800c252
+79207e01
+6000c252
+20205158
+19627e00
+6001424e
+6800c253
+79207e01
+6000c253
+20407ead
+1a627e00
+9a262600
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+e8c10000
+243a5188
+20407ea8
+19620400
+470f4023
+58000050
+98467c00
+2022d176
+58000051
+98467c00
+2022d17a
+58000052
+98467c00
+2022d17e
+58000053
+98467c00
+2022d182
+6800c250
+79207e05
+6000c250
+20600000
+6800c251
+79207e05
+6000c251
+20600000
+6800c252
+79207e05
+6000c252
+20600000
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+20407ead
+1a20a3fa
+2022d18d
+18c08c01
+1a20a3ff
+20205189
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+18c08c02
+1fe20400
+58000005
+e0a08000
+18e27e00
+e0a08000
+1a20a202
+1a227e00
+e0a10000
+20407ea8
+470fc023
+58000050
+98467c00
+2022d1ad
+58000051
+98467c00
+2022d1be
+58000052
+98467c00
+2022d1c4
+58000053
+98467c00
+2022d1ca
+202051cf
+6800c250
+79207e04
+79207e03
+6000c250
+c28151bb
+6808827f
+79200406
+6008827f
+18e27e00
+1fe0fe01
+60008281
+6800c250
+79207e02
+6000c250
+68014248
+60010282
+202051cf
+6800c251
+79207e04
+79207e03
+6000c251
+6801424a
+202051cf
+6800c252
+79207e04
+79207e03
+6000c252
+6801424c
+202051cf
+6800c253
+79207e04
+79207e03
+6000c253
+6801424e
+1fe21600
+20407ead
+19627e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+1a20a3fa
+2022d1e0
+e8c08000
+e0a08000
+1a40a401
+1a20a3ff
+202051da
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+20407ea8
+47104024
+58000050
+1a220400
+98467c00
+2022d1fa
+58000052
+1a220400
+98467c00
+2022d1ff
+58000053
+1a220400
+98467c00
+2022d201
+20205203
+58000000
+60010275
+60014248
+6000c250
+20205205
+20405079
+20205205
+2040507f
+20205205
+58000000
+6001027b
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+9a40a400
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+4710c024
+6800c255
+a8e1fe00
+2420d22a
+58000050
+98467c00
+2022d227
+58000051
+98467c00
+2022d22a
+2020522a
+70424800
+70425000
+2020522a
+20407ead
+1a627e00
+9a262600
+20600000
+58000001
+e0a08000
+e8c08000
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+58000006
+9a40a400
+18002604
+20600000
+6800c255
+1fe0fe01
+c080523e
+1fe0fe01
+6000c255
+20600000
+47114024
+da400000
+2040526e
+243a2a8c
+2040527e
+da401800
+d8e00000
+6808c256
+a84fffff
+2020d24f
+204052a0
+19667c00
+2021524f
+20405288
+20205255
+1a40a480
+18e08e01
+58000008
+98e67c00
+20215247
+da400000
+1a427e00
+203a2a8c
+20600000
+4711c024
+20405277
+18c08c01
+e8c10000
+20600000
+47124024
+20405277
+18c20a00
+18c20400
+58000000
+e0a18000
+20600000
+4712c024
+20405274
+203a2a8c
+6801c25d
+6001c260
+6801c25a
+6001c25d
+6801c257
+6001c25a
+20600000
+47134024
+6801c257
+20600000
+4713c024
+6801c25a
+20600000
+47144025
+6801c260
+20600000
+20405274
+203a2a8c
+d8c04257
+e8c18000
+203a527a
+18c08dfd
+20600000
+4714c025
+df200004
+d8c04257
+d8400000
+e8c18000
+1fe17eff
+98418400
+c2005282
+6008c256
+20600000
+47154025
+2040526e
+243a2a8c
+20405274
+203a5295
+6801c25a
+6001c257
+e8c18000
+e0a18000
+e8c18000
+e0a18000
+58000000
+e0a18000
+d8400000
+19627e00
+98e0fe00
+f9200400
+18e08e01
+98e67c00
+2422d298
+1a4d7e00
+9841fe00
+6001c260
+20600000
+4715c025
+2040527e
+18e22600
+d8400000
+d9600000
+18e27e00
+c00452b0
+6800c256
+afefffff
+2020d2b0
+18408480
+18e08e01
+1a227e00
+98467c00
+2022d2b0
+202152a5
+18427e00
+9a267c00
+242152b6
+18e27e00
+1a620400
+98461600
+1a620e00
+20600000
+47164025
+da20007f
+20405240
+6001026b
+1fe0fe04
+6001026d
+58000000
+6001026f
+20600000
+6801026b
+202052e2
+6801026d
+202052e2
+4716c025
+da2000fa
+20405240
+60010271
+1fe0fe04
+60010273
+58000000
+60010275
+20600000
+68010271
+202052e2
+68010273
+202052e2
+47174025
+20407e7c
+70028401
+2040526e
+247a0000
+da20007f
+20405240
+60010277
+1fe0fe04
+60010279
+58000000
+6001027b
+70028400
+20207e8c
+68010277
+202052e2
+203a2a8c
+1fe20a00
+20600000
+4717c025
+da400000
+da204257
+1a20a3fe
+1a20a202
+58004263
+9a267c00
+2022d2f5
+ea208000
+1a20a201
+203a52e9
+ea290000
+e8410000
+9a40a400
+1a40a404
+202052e9
+1a427e00
+20600000
+d8e0000c
+20202c32
+d8e0000c
+20202c36
+47184026
+2040527e
+6800c256
+207a0000
+204052e5
+d8400100
+98467c00
+202152f7
+204052f9
+d8a04263
+da204257
+58004263
+9a267c00
+20628000
+ea208000
+1a20a201
+243a530f
+e0a10000
+1a20a202
+20205306
+ea210000
+1a20a202
+1fe20c00
+e8c10000
+e0a10000
+1fe27200
+1f20f202
+20407f01
+20205306
+4718c026
+2040527e
+6800c256
+207a0000
+da204258
+1a20a3fd
+d8c04263
+1a20a203
+58004264
+9a267c00
+20628000
+e8c10000
+203a531f
+1fe0fe04
+1fe27200
+18c22400
+ea210000
+1fe20a00
+1a420c00
+18c08dfe
+20407f01
+2020531f
+47194026
+7855fc00
+70045501
+70043f03
+70045601
+5fffffff
+60010459
+18007e00
+60008457
+60008462
+6001c169
+6001c16c
+6002c403
+79207e27
+6002c408
+7043dc01
+7043dd00
+202056ed
+4719c026
+7834fc00
+70044003
+70047801
+70445a01
+5800ffff
+6001445c
+18007e00
+6002c408
+79207e27
+6002c403
+2020532e
+471a4026
+7854fc00
+58000017
+600144a8
+70044001
+70436e00
+7000a000
+7044c400
+7044c500
+6801046d
+600144ba
+68010441
+1feffe05
+1ff1fe00
+6001046d
+2020532e
+204053c4
+204055e8
+204056f0
+202053ce
+471ac026
+204053c4
+204032f4
+68008440
+c001d366
+2020537a
+471b4026
+7834fc00
+204056e4
+20215377
+20402c6c
+20405413
+2040561e
+7856fc00
+204054bf
+24768000
+471bc026
+68008005
+1fe0fe01
+60008005
+204055aa
+7854fc00
+20600000
+204053a9
+7854fc00
+20600000
+471c4027
+70450f00
+20407aaf
+20405c18
+78577c00
+204056e4
+202153a9
+20402c6c
+20405413
+20405489
+242c539b
+204053b7
+2036d388
+20205395
+471cc027
+6800c50f
+1fe0fe01
+6000c50f
+c0065395
+204055aa
+2040561e
+204054c7
+2040567e
+680141fb
+20407f9c
+204053a0
+203453a4
+471d4027
+20405be4
+20405bdb
+20407d9c
+68008462
+c281d3a9
+471dc027
+204057f4
+2040559d
+20405575
+20202841
+78547c00
+c5157fe7
+c514ffe7
+20600000
+471e4027
+78377c00
+204054c1
+2036d388
+20205395
+471ec027
+204053af
+204033b4
+20407a77
+700a9915
+20207d86
+58000000
+6004c4ff
+70045500
+70044000
+70043f00
+7044c500
+7044c400
+20600000
+471f4027
+68008005
+1fe0fe01
+60008005
+6800843f
+c3818000
+79207e03
+6000843f
+680144ba
+6001046d
+58000000
+600244e5
+20600000
+471fc027
+70890f36
+70890b5f
+783b7c00
+70891407
+20402c6c
+6800c1e0
+207a0000
+70890ab8
+20600000
+47204028
+70890f2e
+70890bff
+785b7c00
+70891403
+db600000
+20600000
+7844fc00
+7843fc00
+68018467
+98001e00
+68008016
+1fed8400
+79200401
+18431c00
+20600000
+204053e6
+2040291f
+58000500
+20402a8f
+20202924
+2036a939
+204053e6
+20202933
+4720c028
+20402918
+6800848c
+243a53f9
+68008016
+1fe67c24
+202153f3
+18000400
+c1128000
+18000418
+c1130000
+1800044e
+20600000
+1fe67c0a
+202153f6
+1fe0fe01
+1fe3fe00
+1fe08402
+20600000
+68008016
+1fe38400
+20600000
+d84001f4
+207a0000
+d84000fa
+c1008000
+d8400096
+c1010000
+d8400064
+c1018000
+d840004b
+c1020000
+d8400032
+c1028000
+d8400028
+c1030000
+d8400014
+20600000
+588e89be
+1fed7e00
+1fe1fed6
+98001200
+58555555
+60018467
+20600000
+47214028
+78287c00
+68020463
+98001200
+20405466
+58000200
+2034d41c
+6801044d
+1fe37e00
+d8400500
+9840fe00
+20402a24
+1b427e00
+60030491
+20600000
+4721c028
+68008016
+c012d428
+c013542e
+c013d434
+20205434
+6808c48d
+284ffe01
+2020d43f
+284ffe02
+2020d444
+2020543a
+6808c48d
+284ffe02
+2020d444
+284ffe00
+2020d43a
+2020543f
+6808c48d
+284ffe00
+2020d43a
+284ffe01
+2020d43f
+20205444
+70001625
+68008ac2
+79207e00
+60008ac2
+20600000
+70001626
+68008ac2
+79207e01
+60008ac2
+20600000
+70001627
+68008ac2
+79207e02
+60008ac2
+20600000
+47224028
+1a208c01
+e8c08000
+c4000000
+1a208a1a
+e8a10000
+1fe0fe01
+e0a10000
+1a208c19
+e8c08000
+1a208a18
+e8a88000
+9840fe00
+1fe67c24
+20215459
+1fe0ffdb
+e0a08000
+20600000
+4722c028
+6802846f
+18000400
+18007225
+c3005461
+18408401
+1fe37e00
+c200545f
+1840ffff
+60008461
+20600000
+47234028
+68008457
+98000e00
+680a846f
+a84fffff
+2020d47c
+4723c028
+68008461
+98e67e00
+20215472
+1fe60fff
+2020546c
+18e27200
+18000e00
+a84fffff
+2020d477
+1f20f201
+1f227e00
+203a547c
+18e08e01
+1f20f3ff
+20205474
+18e27e00
+60008016
+20600000
+2034d482
+37c18200
+20600000
+d9600ea0
+34730200
+20600000
+78487c00
+6801436c
+1fe21600
+2020548e
+47244029
+78287c00
+6801044d
+680a44e5
+98409600
+204053de
+4724c029
+204053d5
+7856fc00
+7826fc00
+7830fc00
+78507c00
+19623600
+37c18400
+2037549a
+1b420400
+600b009a
+242c264d
+203754a1
+dd2001e0
+1c225000
+6800843f
+c301d4a1
+2055ab05
+47254029
+204029bb
+7823fc00
+7824fc00
+09800008
+19897e00
+600082d9
+09800008
+19897e00
+e0a08000
+1fe1723f
+2022d4b1
+09800008
+19897e00
+e0a08000
+c20054ad
+4725c029
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+2023264d
+7836fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20202918
+47264029
+204054c9
+68088017
+2040291f
+20402924
+78287c00
+d960157c
+2020548f
+204054c9
+2020264d
+4726c029
+204053d5
+204053e3
+202054cd
+79202a00
+782efc00
+78307c00
+7850fc00
+2040547f
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+7823fc00
+7824fc00
+47274029
+6800c3dc
+08008608
+e8c08000
+1fe1723f
+08008608
+2022d4e2
+e8c08000
+08008608
+c20054df
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+20600000
+4727c029
+6800c484
+c000d4f9
+6800c485
+1ff27e00
+1febfe00
+6000c3dc
+6808c36f
+1840fe06
+6000c3dd
+680344a0
+600343de
+18427200
+d8c04370
+20407ef4
+20205504
+6800c486
+1ff27e00
+1febfe00
+1fe0fe01
+6000c3dc
+5800000c
+6000c3dd
+680344a0
+600343de
+680341d0
+e0a30000
+4728402a
+68008000
+1fe0fe01
+60008000
+db600708
+7856fc00
+202054bf
+4728c02a
+6800c49e
+c1808000
+68008000
+1fe0fe01
+60008000
+d8400c03
+6800c49f
+7d3a0406
+1a227e00
+7d3a0407
+600943dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+202054bf
+4729402a
+d8400004
+6800c485
+7d3a0406
+6008c3dc
+6808c38f
+1840fe06
+6000c3dd
+680344a0
+600343de
+d8c04390
+18427200
+20407ef4
+204054c7
+20205706
+4729c02a
+18007fff
+38080001
+6002846f
+2040545b
+18007204
+d8a00463
+2040630d
+6801449c
+6001046d
+180a7e00
+1fe17e0f
+1fe67c04
+20215535
+60008458
+600086e6
+472a402a
+68094367
+60090441
+18422600
+1c40fe07
+9a66fc00
+20407f86
+18072200
+9a267e00
+9a60fe00
+68094365
+9840fe00
+60020443
+9c462200
+1a20a3fa
+da402205
+6800c495
+7d3a2406
+6800c48e
+7d3a2407
+1a427e00
+600143dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+68020463
+e0a20000
+180a7e00
+e0a10000
+180a7e00
+e0a08000
+18007e02
+e0a08000
+1a2b7e00
+e0a10000
+1a6b7e00
+e0a10000
+472ac02a
+58000000
+e0a10000
+6801449c
+e0a10000
+6802846f
+e0a28000
+68008458
+d84000a0
+9841fe00
+e0a08000
+204054c7
+580043dc
+1fe08c12
+e8c18000
+60018467
+20600000
+472b402a
+7854fc00
+2020540c
+6800843f
+c4028000
+68010459
+6809045f
+98467e00
+24610000
+60010a9a
+472bc02a
+6800843f
+793ffe05
+793ffe03
+6000843f
+68020443
+68090441
+60090aa2
+98462200
+472c402b
+6800c3d3
+6000846a
+e8c90000
+e8c10000
+1febfe00
+60010441
+184b8400
+9840fe00
+e8ca0000
+600a046b
+9a20fe00
+1fe22800
+68010441
+68090aa2
+98467e00
+68090a9a
+984ffe00
+9a80fe00
+60020443
+20405713
+6801046d
+600144ba
+20600000
+472cc02b
+6800843f
+c4030000
+68010459
+6809045f
+98467e00
+24610000
+6800843f
+793ffe06
+6000843f
+6802c3ce
+6002846f
+2020545b
+472d402b
+204056ed
+204055c0
+680082d9
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+680082da
+203a55bc
+6800843f
+c30255bc
+2040748d
+204073fb
+247a0000
+68088456
+79400402
+60088456
+20600000
+472dc02b
+68088456
+284c0005
+20608000
+680082d9
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60088456
+28400603
+24608000
+6800c3de
+c002d5d2
+6800c4c5
+c00155d6
+20600000
+6800843f
+79207e04
+6000843f
+20600000
+472e402b
+7044c500
+dfe00000
+6002440d
+6002c403
+79207e27
+6002c408
+6800843f
+793ffe04
+6000843f
+20600000
+472ec02b
+20405422
+20405485
+68008001
+1fe0fe01
+60008001
+20600000
+472f402b
+6800c369
+c1808000
+d8e00002
+20407f16
+247a0000
+6801436a
+6809436c
+98467e00
+d8e00002
+20407f08
+7854fc00
+20405572
+204055e1
+24768000
+472fc02b
+680302db
+6003044f
+68008002
+1fe0fe01
+60008002
+20405608
+20748000
+2040550b
+24768000
+4730402c
+68008004
+1fe0fe01
+60008004
+680482e1
+60048101
+20600000
+4730c02c
+6800849b
+c18d8000
+6803044f
+680b448f
+98467c00
+24628000
+2040223b
+24628000
+2040552b
+20405340
+4731402c
+7041ce00
+70047600
+70436900
+70049b00
+20202223
+da200001
+680082d9
+c3830000
+da200000
+20600000
+4731c02c
+68008456
+c3828000
+20405642
+20405873
+203a5664
+e8c08000
+e8c88000
+18422200
+9a267e00
+d840001b
+20407fdd
+1fe20400
+e8c08000
+1fe20200
+1a227e00
+98c08c00
+d8a043de
+18427200
+20407f01
+20405654
+20405666
+20405873
+e8c08000
+1fe22200
+18c22600
+e8c88000
+18422400
+9a467e00
+d840001b
+20407fdd
+9a40fe00
+e2608000
+9a267c00
+24628000
+20205896
+20405649
+c6148000
+6800c4e9
+c3015652
+20405876
+203a5652
+20205650
+20405873
+203a5652
+e8c08000
+e8c88000
+98467e00
+1fe67c1b
+20215652
+79200029
+20600000
+793f8029
+20600000
+1a227e00
+207a0000
+d8200001
+20600000
+4732402c
+18408401
+2040576a
+18c08dfe
+e8c10000
+d8402902
+98467c00
+24628000
+18c08c01
+18c22200
+e8c08000
+20600000
+18000400
+18000201
+4732c02c
+6008c3dd
+68088456
+79200405
+18417efc
+9821fe00
+60008456
+1fe17e1f
+280ffe29
+7920fe04
+6000c3dc
+6800c3dc
+28200601
+2420d676
+6800c3dd
+207a0000
+6800843f
+c4020000
+2040748d
+202073e3
+d8e00000
+20202c32
+d8e00000
+20202c36
+4733402c
+c6078000
+20405890
+247a0000
+680082d9
+1fe17e03
+6000c50c
+e8c08000
+1fe17e1f
+6000c50b
+207a0000
+18c27e00
+6001450d
+6800c50c
+c001dc64
+2040569a
+2434567a
+2040567c
+6801450d
+1fe20c00
+e8c10000
+600144fc
+4733c02c
+e8c10000
+c00258ab
+c0035af4
+c002dab6
+20600000
+6800c50c
+c00156a9
+c000d6c1
+20600000
+20407fe7
+d8400004
+9fe67c00
+20628000
+d8400005
+9fe67c00
+20628000
+d8400006
+9fe67c00
+20628000
+20207fe9
+6801450d
+1fe20c00
+e8c10000
+600144fc
+e8c10000
+2040569e
+24740000
+6808c50b
+6008c4fe
+680144fc
+1fe0fe04
+98467c00
+2022ffe7
+6800c50b
+1fe27200
+d8a00311
+6801450d
+1fe20c00
+20407f01
+20207fe9
+20407fe7
+6800c4fe
+247a0000
+20207fe9
+204056bd
+24740000
+6800c4fe
+d8a00311
+98a0a200
+6808c50b
+9840fe00
+6000c4fe
+6800c50b
+1fe27200
+1a220a00
+6801450d
+1fe20c00
+20407ef4
+58000311
+6001450d
+680144fc
+1fe0fe04
+6808c4fe
+98467c00
+2022ffe7
+20207fe9
+20407ea5
+d8a0445e
+680144fc
+1fe0fffb
+e0a08000
+1fe27200
+20407e9f
+20207ef4
+20407ea5
+d8a04471
+202056d9
+680141f9
+20207f9c
+680a045b
+20402a7b
+98461600
+19627e00
+6809046d
+18520400
+18438400
+98467e00
+20600000
+20402a7b
+6002045b
+20600000
+70001624
+700ac200
+4734402d
+6800c36e
+207a0000
+d8e00000
+20407f16
+247a0000
+4734c02d
+7854fc00
+78287c00
+20405572
+20405422
+204054e9
+2436d706
+68008003
+1fe0fe01
+60008003
+680082d9
+1fe17e0f
+c001d51c
+c002d728
+4735402d
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20403cbe
+68008ac2
+6808c48d
+98467c00
+2422d6f2
+d8e00000
+68014482
+20207f08
+4735c02d
+68008476
+204053fc
+68010441
+984ffe00
+d8400177
+984ffe00
+d84186a0
+9846fc00
+6800846a
+d8404e20
+984ffe00
+9840fe00
+600244e5
+4736402d
+680140c1
+20407f86
+18078400
+9840fe00
+6001044d
+20600000
+4736c02d
+680302e1
+680b44a0
+98467c00
+24628000
+20405619
+1a227e00
+6000c48e
+680382ee
+60038101
+e8c40000
+e0a40000
+680302db
+6003044f
+18c08c06
+e8c40000
+60040463
+e8c90000
+4737402d
+184b8400
+e8c10000
+1febfe00
+60010441
+60020443
+98467e00
+1fe0d1fe
+e8c48000
+6004846b
+4737c02d
+e8c08000
+1ff18400
+18430400
+60088476
+1fe17e1f
+60008458
+20405713
+2040545b
+2040534c
+2040223b
+24628000
+4738402e
+20402841
+20405ad3
+700a9914
+20407d86
+20202223
+4738c02e
+6801445a
+98002400
+6801445c
+98002600
+680144bc
+98000c00
+78347c00
+20600000
+e8c10000
+207a0000
+9a467c00
+24610000
+9a667c00
+20628000
+20215768
+18007c01
+20600000
+18007e00
+20600000
+2040576d
+2022d779
+20600000
+4739402e
+680144bc
+98000c00
+e8c10000
+207a0000
+98467c00
+20628000
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205770
+e8c08000
+98c08c00
+20600000
+4739c02e
+680144bc
+98000c00
+e8c10000
+207a0000
+e8c08000
+98c08c00
+18c08dfe
+e8c10000
+98467c00
+20628000
+e8c08000
+98c08c00
+2020577f
+6801049c
+2020578e
+473a402e
+680144bc
+98000c00
+18422200
+e8c10000
+203a5799
+9a267c00
+2022d79a
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205790
+20207fef
+e8c08000
+600084a2
+1fe27200
+d8a004a3
+20407ef4
+e8c08000
+600084b3
+20407ea5
+20207ff1
+473ac02e
+204057a6
+202057b8
+d8402a00
+2040577c
+207a0000
+e8c08000
+18c20a00
+6808c3af
+18427200
+98467c00
+242157b5
+98460400
+d8c043b0
+20407f01
+18427200
+2442d7f0
+20600000
+1fe27200
+d8c043b0
+20207ef4
+da60438f
+da204370
+204057c5
+58000000
+79347e00
+60008a9a
+da6043af
+da204390
+204057c5
+20740000
+68008a9a
+203a2a8c
+20600000
+473b402e
+20407fe7
+20407eda
+da400000
+d8a00ac3
+204057df
+6800c3af
+1fe08401
+9a40a200
+1a20a202
+1a267c1f
+242157dd
+e0a88000
+d8400009
+e0a88000
+98007200
+20407ef4
+1a222400
+1a427e00
+60008ac2
+d8c00ac2
+5fffffe0
+9a608a00
+20207ebd
+20407fe9
+202057d7
+ea208000
+207a0000
+1fe0fe01
+e8c88000
+18467c09
+2022d7ee
+9a40a400
+1a220c00
+98007200
+20407ef4
+18c22200
+1a227e00
+9a667c00
+20610000
+202057df
+9a20a200
+202057ea
+58000020
+e0a08000
+c20057f0
+20600000
+473bc02e
+7855fc00
+203757f8
+2436d806
+20402bcb
+680140c1
+6001044d
+2436abde
+c507abde
+6800c50b
+243a2bde
+6800c3dd
+243a2bde
+6800c4e9
+c282abde
+6800843f
+c282abde
+20202bc0
+680940c1
+18430400
+6801044d
+9840fe00
+6001044d
+20202bd6
+d8e00000
+20205824
+d8e00000
+20205828
+d8e00001
+20205824
+d8e00001
+20205828
+d8e00002
+20205824
+d8e00002
+20205828
+d8e00003
+20205824
+d8e00003
+20205828
+d8e00004
+20205824
+d8e00004
+20205828
+d8e00005
+20205824
+d8e00005
+20205828
+6800c4e9
+f9207e00
+6000c4e9
+20600000
+6800c4e9
+f93ffe00
+6000c4e9
+20600000
+58112233
+6001c4ea
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
+59000302
+60024453
+58010010
+6001c457
+7044c601
+20600000
+da200000
+d8200001
+20205850
+d8200003
+20405850
+1a427e00
+e0a08000
+20600000
+18000202
+1a20a204
+20405850
+1a20a3fc
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+1a267cf0
+24212a8c
+6800c4ff
+d8400001
+df200004
+98417c00
+2022d85a
+18438400
+c2005855
+20202a8c
+9842fe00
+6000c4ff
+1f267e04
+1ff27e00
+1ff27e00
+d8401800
+98408400
+df200000
+d8c04500
+e8c10000
+203a5869
+1f227e00
+1f20f201
+c0825863
+20202a8c
+18c08dfe
+e0c90000
+18420a00
+1a227e00
+e0a08000
+58000000
+e0a08000
+18227e00
+e0a08000
+20600000
+68014500
+1fe20c00
+20600000
+68014502
+1fe20c00
+20600000
+2040587c
+1fe20c00
+20600000
+68014506
+247a0000
+68014504
+247a0000
+68014502
+247a0000
+68014500
+20600000
+20405873
+18c08c03
+20600000
+20405873
+18c08c07
+20600000
+20405879
+18c08c07
+20600000
+20405879
+18c08c03
+20600000
+68014506
+20600000
+68014504
+20600000
+68014500
+20600000
+68014500
+d8401800
+98467e00
+1ff1fe00
+1ff18e00
+6800c4ff
+f93ffe00
+6000c4ff
+df200000
+1f23fe00
+d8404502
+98408400
+e8410000
+184085fe
+e0410000
+1f227e00
+1f20f201
+c081d89f
+58000000
+e0410000
+20600000
+e8c18000
+60018477
+c00158c1
+c001d8c9
+c00258cc
+c00358f2
+c004593f
+c00559bc
+c00659e4
+c00859fa
+c0095a2f
+c00b5a48
+c00c5a5b
+c0295a60
+20600000
+18002203
+20405a82
+58000002
+e0a08000
+680144a6
+e0a10000
+20600000
+204058c9
+18002203
+20405a82
+58000003
+e0a08000
+680144a6
+e0a10000
+20600000
+1fecfe00
+600144a8
+20600000
+20405ab1
+20407fe7
+202058cf
+d9600003
+20405756
+2040575f
+203a58f0
+242158ed
+18c08dfe
+20407ea5
+20407e9c
+243458e1
+20407e85
+20407fe9
+18002214
+20405a82
+20407e95
+58000005
+e0a08000
+58000001
+e0a08000
+20407e9f
+e8c10000
+e0a10000
+e8c08000
+1fe27200
+20407f01
+20407ea2
+196097ff
+2022d8f0
+e8c08000
+98c08c00
+202058d1
+e8c08000
+98c08c00
+202058ea
+20345a76
+20205aa5
+20405ab1
+e8c10000
+60014472
+20407ea5
+d8a0445e
+680144fc
+1fe0fff9
+204056db
+20205905
+78547c00
+6809445a
+6801445c
+98467c00
+24215902
+18427e00
+c1800000
+78347c00
+70047a01
+20205a77
+204058fb
+20740000
+68094472
+58002800
+98467c00
+2022d90c
+20205a76
+7004b400
+6809445a
+60090aa2
+2040578c
+243a5a76
+68090aa2
+2040578c
+243a5925
+18c22200
+680084b3
+1fe27200
+6808c45e
+98467c00
+2422d921
+da40445f
+20407f88
+2022d928
+680104a3
+68094472
+98467c00
+2022d930
+68010aa2
+1fe0fe01
+60010aa2
+20205911
+680084b4
+c000d930
+20205a76
+680104a3
+68094472
+98467c00
+2422d921
+7004b401
+68090aa2
+6009049e
+20205921
+680084b4
+c0005921
+7004b402
+68090aa2
+184085ff
+600904a0
+da200005
+20405a82
+58000007
+e0a08000
+6801049e
+e0a10000
+680104a0
+e0a10000
+20600000
+20405ab1
+204056df
+20205942
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+68094472
+58002a00
+98467c00
+2022d9a8
+58002803
+98467c00
+2422d990
+d9600002
+20405a88
+2421596d
+68090aa2
+2040578a
+c000d96d
+20405a94
+2422d96b
+2434596f
+78547c00
+da200014
+20405a82
+58000009
+e0a08000
+18a26000
+18a08a01
+2040597d
+20405a84
+2040578a
+20405984
+680084a2
+1fe0fe05
+e6008000
+680084a2
+c008596d
+196097ff
+2022d96d
+20405a84
+20205951
+20345a76
+20205aa5
+20405a97
+20405a84
+2040578a
+680084a2
+c008596d
+20407e9c
+68010aa2
+1fe0ffff
+e0a10000
+20405aa1
+20405984
+196097ff
+2022d96d
+2020596b
+68010aa2
+e0a10000
+680084b3
+1fe27200
+20407e9f
+20407ef4
+20207ea2
+20407e9c
+68010aa2
+e0a10000
+20407ea2
+680084a2
+1fe27200
+20407e9c
+20407e9f
+9f260c00
+18c08dff
+20407ef4
+20207ea2
+6809445a
+60090aa2
+20405a88
+24215a76
+2040578a
+c000da76
+20405a94
+2422d9a6
+da200014
+20405a82
+58000009
+e0a08000
+680084b3
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+20407e9f
+20407ef4
+20407ea2
+20205aa5
+20405a84
+20205992
+d8402a00
+2040577c
+207a0000
+18c08dfb
+e8c10000
+60010aa2
+da200014
+20405a82
+58000009
+e0a08000
+6800c3af
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+d8c043b0
+20407ef4
+20407ea2
+20205aa5
+68090478
+6800c4e9
+c281d9dd
+2040576a
+203a5a76
+18c08dfe
+e8c10000
+d8402a00
+98467c00
+2022d9d3
+e8c08000
+1fe67c16
+202159ca
+18007e16
+1fe22600
+20407ea5
+1a60a201
+20405a82
+5800000b
+e0a08000
+1a627200
+20407e9f
+20207f01
+20407ea5
+6800c3af
+1fe0a201
+20405a82
+5800000b
+e0a08000
+6800c3af
+1fe27200
+d8c043b0
+20207f01
+680144fa
+98467c00
+2422d9bf
+20405a42
+243459bf
+70047a05
+20205a77
+e8c10000
+6001445e
+da200014
+20405a82
+5800000d
+e0a08000
+6801445e
+98002200
+68090478
+2040576a
+203a5a76
+e8c08000
+9a267200
+24215a76
+1f267c16
+202159f5
+18007216
+1a227e00
+98c08c00
+20407ef4
+20407ea2
+20205aa5
+20405ab1
+204056d7
+202059fd
+d9600002
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+20405a88
+24215a25
+68090aa2
+2040578a
+c000da28
+20405a8c
+2422da23
+19627e00
+c0005a28
+24345a19
+78547c00
+da200014
+20405a82
+58000011
+e0a08000
+680084b3
+1fe0fe04
+e0a08000
+20407ea2
+20205a1f
+680084b3
+c0085a28
+68010aa2
+1fe0ffff
+600104a0
+20405a9c
+68010aa2
+6001049e
+20405a97
+196097ff
+20405a84
+20205a05
+68010aa2
+600104a0
+20205a2c
+68010aa2
+1fe0ffff
+600104a0
+20205a2c
+20345a76
+20405a9c
+20205aa5
+18c22200
+680144fc
+1fe0a5fd
+204056e2
+6800c4e9
+c3025a3d
+68090478
+680144fa
+98467c00
+2422da3d
+20405a42
+24345a3d
+70047a05
+20205a77
+18002201
+20405a82
+58000013
+e0a08000
+20600000
+20407fe9
+6800c4c6
+c1000000
+6800c040
+c3820000
+20207fe7
+18c0a202
+680144fc
+1fe0a5fb
+204056e2
+20205a4d
+680144fc
+1fe22200
+20405a82
+58000017
+e0a08000
+68010478
+e0a10000
+680144fc
+1fe0f3fb
+6801450d
+1fe08c07
+e8c10000
+e0a10000
+20207ef4
+18002201
+20405a82
+58000019
+e0a08000
+20600000
+18c22200
+680144fc
+1fe0a5fd
+202056e2
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001b
+e0a08000
+1a620400
+e0a90000
+20600000
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001d
+e0a08000
+1a620400
+e0a90000
+20600000
+70047a0a
+18002205
+20405a82
+58000001
+e0a08000
+68008477
+e0a08000
+68010478
+e0a10000
+6800847a
+e0a08000
+20600000
+18002404
+20205847
+68090aa2
+18408401
+60090aa2
+20600000
+68090aa2
+6801445c
+98467c00
+20600000
+6808c45e
+da20445f
+680084a2
+1fe27200
+98467c00
+24628000
+da4004a3
+20207f88
+6808c471
+da204472
+20205a8e
+680084b3
+60008101
+1fe27200
+20407e9f
+20207ef4
+20407e9c
+6801049e
+e0a10000
+680104a0
+e0a10000
+68008101
+1fe27200
+20407ef4
+20207ea2
+20407e9c
+2040588a
+18a27e00
+98c62200
+2040588d
+1a227e00
+e0c10000
+1a20a204
+20405879
+1a227e00
+e0c08000
+20600000
+1fecfe00
+6001445a
+e8c10000
+6001445c
+20600000
+e8c08000
+e8c88000
+e8c90000
+c009dabb
+20600000
+e8c10000
+60014509
+700a9940
+20207d86
+da20000c
+da600012
+20405ac7
+58000008
+e0a10000
+68044496
+e0a40000
+20600000
+20405acf
+da400005
+20405847
+1a627e00
+e0a08000
+6800c508
+e0a08000
+20600000
+6800c508
+1fe0fe01
+6000c508
+c1800000
+70450801
+20600000
+6800c4c6
+c0005ae4
+c000dae7
+c0015ae9
+c040dadd
+c0415adf
+c041dae2
+20600000
+7044560d
+20205ae5
+7044560d
+70445401
+20600000
+7044560d
+20205aea
+70445600
+70445403
+20600000
+70445605
+20205ae5
+70445605
+70445400
+20600000
+6800c456
+79207e03
+6000c456
+20600000
+6800c456
+793ffe03
+6000c456
+20600000
+e8c08000
+c000db09
+c001db30
+c0025b4d
+c002db5a
+c0035b80
+c003dbc4
+c0045baf
+c004dbc0
+c0055bc4
+c005dbc4
+c0065bc5
+c006dbca
+20600000
+18002202
+20405c62
+5800000b
+e0a08000
+6800c456
+e0a08000
+20600000
+6000c44c
+e8c30000
+e0a30000
+6800c4c6
+c0005b5f
+20405b2b
+20405b26
+7044c403
+6800c44d
+c0005b18
+c000db18
+c001db18
+6800c4c6
+c0015b1b
+c1418000
+dfe00000
+600244c7
+20600000
+6800c4e9
+c2805b24
+da2044c7
+1a220a00
+df200003
+2040630d
+680144c9
+1fe17e07
+600144c9
+700a9934
+20207d86
+6800c44f
+c3818000
+6800c4c6
+c4038000
+20203402
+18002207
+20405c62
+6803c453
+e0a38000
+20600000
+18c22200
+6800c4c6
+c041db37
+1a220c00
+d8a0442a
+20407ebf
+20205b3d
+1a220c00
+d8a0442a
+20407ebf
+7044bf02
+7044c108
+20600000
+6800c4c6
+c283db45
+2040739c
+18002211
+20405c62
+58000003
+e0a08000
+20207497
+d8a0443a
+2040630c
+204071c5
+18002211
+20405c62
+58000003
+e0a08000
+20207201
+18c22200
+6800c4c6
+c283db61
+1a220c00
+20407394
+2022db75
+70047b04
+18002202
+20405c62
+58000005
+e0a08000
+6800847b
+e0a08000
+18000e0a
+20407f07
+7044c400
+700a9930
+20207d86
+70047b05
+20205b54
+d8a0042f
+1a220c00
+20407ebf
+6800c4c6
+c041db6c
+2040714f
+20405b7a
+6800c4c6
+c1c10000
+700a993b
+20207d86
+204071ba
+d8a00af2
+20407201
+da200af2
+da40442a
+df200010
+20407f88
+2422db53
+20205b7a
+20407390
+700a9931
+20407d86
+70442901
+7044c405
+18002211
+20405c62
+58000004
+e0a08000
+d8c0443a
+20207ebf
+d8a0041f
+20207ebf
+18002211
+20405c62
+58000006
+e0a08000
+6800c4e9
+c280db8a
+d8c04419
+20207ebf
+d8c044ea
+20207ebf
+d8a044cb
+1800720a
+2040630d
+1800220b
+20405c62
+58000007
+e0a08000
+680144cb
+e0a10000
+680444cd
+e0a40000
+20600000
+18002211
+20405c62
+58000008
+e0a08000
+58000000
+e0a40000
+e0a40000
+20600000
+18002208
+20405c62
+58000009
+e0a08000
+6800c495
+e0a08000
+680344a0
+e0a30000
+20600000
+70047b08
+20205b54
+6800c458
+6808c458
+98417e00
+20600000
+d8a044d5
+20407ebf
+20405bab
+2fec0001
+2020dba9
+6800c092
+c1850000
+20405bb9
+24740000
+20203410
+20407fe9
+6800c48e
+c1000000
+68008454
+2fe180c0
+20608000
+20207fe7
+20405bab
+2fec0001
+2020dba9
+20600000
+20600000
+d8a009be
+20407eb3
+7044bf02
+7044c101
+20600000
+d8a00a6e
+20407ebf
+7044c106
+7044bf02
+20600000
+18002241
+20405c62
+5800000c
+e0a08000
+d8c045d2
+20207eb3
+20407166
+18002211
+20405c62
+5800000d
+e0a08000
+20207201
+6800c4c4
+c17f8000
+d8400003
+98467c00
+24610000
+d8e0000a
+20407f16
+247a0000
+20205ba9
+473c402f
+6800c4c4
+c0005bef
+c000dbf5
+c0015bef
+c001dbf7
+c002dbfb
+c003dc07
+c0045c09
+c004dc10
+20600000
+6800c4c5
+c1820000
+7044c5ff
+7044c4ff
+700a993f
+20207d86
+7044c402
+20205b02
+7044c404
+58017700
+d8e0000a
+20207f08
+6800c4c5
+c0025bfe
+20600000
+7044c407
+700a9929
+20407d86
+20405b82
+6800c092
+c1850000
+20405bb9
+20740000
+20203410
+7044c408
+20205b8c
+6800c452
+6808c459
+98417e00
+2fec0001
+2020dc12
+7044c409
+20205b98
+20405ba0
+20205c12
+18000e0a
+20407f07
+7044c5ff
+7044c4ff
+700a993e
+20207d86
+473cc02f
+6800c4c6
+c4038000
+6800c4bf
+c1810000
+7044bf00
+6800c4c1
+c000dc58
+c0015c5f
+c001dc52
+c0035c39
+c003dc30
+c0045c26
+20600000
+6800c663
+1fe20e00
+1fe0fe01
+6000c663
+680244c7
+afefffff
+58000080
+7920fe00
+6000c664
+20205c55
+6800c4c2
+7044c200
+c000dc35
+7044bf02
+20600000
+700a9931
+20407d86
+7044c405
+20205bd5
+680089b9
+c001dc3d
+7044bf02
+20600000
+2040718d
+6800c4c6
+c041dc41
+20405b18
+2040717a
+da200af2
+da400a6e
+df200010
+20407f88
+2022dc49
+70047b0b
+20205b54
+20407595
+2422dc47
+70442901
+6800c4c6
+c040dc35
+c041dc35
+7044bf02
+7044c107
+20600000
+6800c4c6
+c041dc56
+70466400
+20205b3d
+70466300
+20205b1b
+7044bf02
+6800c4c3
+c001dc5c
+20600000
+7044c102
+7009b900
+20207a99
+7044bf02
+7044c103
+20205bcf
+18002406
+20205847
+680082db
+c0005c7b
+c000dc83
+c0015c8e
+c001dcaa
+c0025ce1
+c002dce6
+c0035cea
+c003dcf5
+c0045c99
+c004dcf5
+c0055cef
+c005dcf5
+c0065c9f
+c006dcf5
+c0095ca6
+c009dcf5
+da200002
+da400007
+20405842
+680082db
+e0a08000
+20600000
+e8c48000
+6004c3d3
+e8c10000
+6001045f
+6800843f
+79207e05
+6000843f
+20600000
+e8c28000
+6002c3ce
+e8c10000
+6001045f
+68090459
+98467c00
+24215c8e
+6800843f
+79207e06
+6000843f
+20600000
+58000014
+6001046d
+600144ba
+20600000
+da600013
+da200002
+da400002
+20405842
+1a627e00
+e0a08000
+20600000
+da200009
+da400009
+20405842
+58000001
+e0a40000
+20600000
+20748000
+da200006
+da40000c
+20405842
+6802c510
+e0a28000
+20600000
+da400013
+20205ca8
+da200001
+20205842
+e8c40000
+600444cd
+e8c10000
+600144cb
+e8c40000
+600444aa
+e8c20000
+60024411
+20405ccf
+473d402f
+6800c4c4
+c002dcbc
+6800c4e9
+c280dcbf
+6800c217
+245a67be
+6800c429
+c0005cc4
+7044c501
+20405cdd
+202073a2
+70442901
+d8c044ea
+d8a04419
+20407ebf
+20205cbc
+473dc02f
+7044c500
+7044c400
+700a9941
+20207d86
+da200002
+da40000d
+20405842
+58000006
+e0a08000
+20600000
+d8a044b2
+18007208
+2040630d
+d8a04415
+18007204
+2040630d
+da20000d
+da400004
+20405842
+680444b2
+e0a40000
+68024415
+e0a20000
+20600000
+da400005
+20205ca8
+da400006
+20205ca8
+e8c40000
+600444b2
+e8c20000
+60024415
+202073a2
+6800843f
+79207e04
+6000843f
+20600000
+20748000
+700a9932
+20407d86
+7044c504
+20205cdf
+7044c502
+20405cf3
+700a9933
+20207d86
+da40000b
+20205ca8
+20600000
+20758000
+473e402f
+58000000
+60008048
+60008055
+60008078
+6000807c
+6000c158
+600084d7
+6000816d
+600089b5
+70455b00
+70022900
+7004d800
+7009b500
+7009b400
+7004d100
+20600000
+473ec02f
+2054e2ff
+2454e303
+204062bc
+247a0000
+6800804c
+c4030000
+793ffe06
+793f8001
+6000804c
+68008551
+6808804c
+2feffe00
+79208401
+6008804c
+18410402
+6008807f
+6808804c
+1fe37e00
+6000807d
+473f402f
+6800807d
+c03fdd66
+c001ddb1
+c0025dc2
+c01e5d59
+c002dd55
+c007dfa8
+c0085e24
+c011de42
+c01cdfc1
+c01c5fbc
+c018de27
+c01bdeb0
+c013deac
+c019dea9
+c012deae
+c0135e3e
+c003de36
+c016de2d
+c0175e2e
+c000dea5
+c0015e90
+c0145fb3
+c004de86
+c005de5f
+c0045e43
+c0065e6a
+c00fde3a
+c0105e3c
+c010deca
+c0115eca
+c01adecb
+c01b5ecc
+c0125eca
+c01a5ecd
+c00bded6
+c008def2
+c0095ef6
+c009def8
+c006df0a
+c0075f0a
+c017deaa
+c0185f0a
+c0055f0a
+c00c5f0b
+c0195f0a
+c01edf10
+c01f5f51
+c01fdf4b
+c0205f78
+c020df8a
+c0035fa7
+c01d5d57
+70007e19
+70007c04
+20600000
+70007c06
+20600000
+70007c3b
+20600000
+68020552
+1fe3fe00
+600240d2
+68008556
+6000c0d9
+68028557
+6002c0e7
+6802855c
+e0a28000
+68008031
+79207e03
+60008031
+20600000
+473fc02f
+68008552
+79207e07
+6000807d
+c040dd88
+c0415d8d
+c04adeb1
+c04b5eca
+c045debf
+c041dda5
+c0425da7
+c0485d7a
+c04bdd9e
+c04c5da3
+c04cdd7d
+c04d5d80
+c1420000
+70007c82
+70007e19
+20600000
+70007c82
+70007e2e
+20600000
+20405d82
+70007c9a
+20600000
+20405d82
+20205d86
+d8a0465e
+68018553
+e0a18000
+20600000
+2020f6d8
+20600000
+68008554
+79207e07
+600084c9
+c045dd92
+20600000
+68008554
+79207e07
+600084c9
+c045dd96
+20600000
+6800c15a
+6808804c
+7d3a0405
+6008804c
+68008030
+c4028000
+793ffe05
+60008030
+680084d7
+247a0000
+70007c31
+20600000
+2434dda1
+70007c12
+202062eb
+70007c97
+20600000
+204062eb
+20205ffe
+70007c84
+20600000
+68088555
+18410401
+600884d0
+6800c1ce
+c0a8ddad
+7041ce00
+68008055
+c18a8000
+70005504
+2020631b
+47404030
+68008552
+600084c9
+c019ddd8
+c0045de7
+c007ddee
+c0085df4
+c008ddf5
+c0095dfd
+c00c5e13
+c00bde16
+c009ddcf
+c01edf1e
+c01f5f6a
+c0205f20
+c020df3d
+20600000
+4740c030
+68008552
+600084c9
+c000de0a
+c019dde2
+c005ddfe
+c0045e01
+c009ddd2
+c0205e0b
+c020de0e
+c00c5e11
+c00bde22
+20600000
+700a9920
+20407d86
+202021dc
+700a9919
+20407d86
+70455b02
+58000050
+d8e00006
+20207f08
+680084d1
+79207e00
+600084d1
+700a9901
+20407d86
+70007c8b
+68008055
+c082dd07
+70005506
+20600000
+7004ca0b
+70007c07
+70005500
+2020dd07
+20600000
+6800c1bd
+247a0000
+2040244f
+20405ffc
+20748000
+79200021
+20600000
+24748000
+70007c10
+6800804c
+c4010000
+70007c12
+20600000
+20205ffe
+20406059
+68008030
+c3820000
+70007c31
+68008055
+c1850000
+7000550b
+20600000
+20600000
+70007c07
+7004ca13
+20600000
+68008553
+c0035e07
+c18c0000
+7004ca18
+70007c07
+20600000
+7004ca06
+70007c07
+20600000
+20600000
+7009ae00
+70007c07
+20205d07
+7009ae00
+70007c07
+20205d07
+700a9924
+20207d86
+700a9923
+20407d86
+202026e9
+700a9922
+20407d86
+58000000
+60010075
+680141e3
+1fe3fe00
+60010032
+6800c1e5
+60008073
+6800c1e7
+60008074
+202026c6
+700a9921
+20207d86
+68088552
+60088054
+20205e38
+680084d1
+79207e02
+600084d1
+c3818000
+70007c31
+20205d07
+20600000
+6800c0d0
+68088552
+98467c00
+20215e38
+70007c04
+70007e1f
+70007d2e
+20600000
+20406157
+20205e38
+70007c03
+20600000
+70007c21
+20600000
+70007c22
+20600000
+68008055
+c1098000
+70005502
+20600000
+20600000
+20405ff9
+7004d401
+700a990a
+20407d86
+204062f3
+2420e001
+2434de4e
+70007c04
+70007d08
+70007e23
+20600000
+6800804b
+79207e02
+6000804b
+20600000
+6808804c
+7d3a0401
+6008804c
+20600000
+6800807f
+1fe37e00
+1fe17e01
+20600000
+6800c217
+207a0000
+680089b5
+205a67b2
+20600000
+20405e5a
+20405e56
+600084d5
+20405ff9
+70007c0c
+6800c1bd
+247a0000
+68008030
+c3830000
+70007e06
+20205d53
+da200040
+20407288
+68020552
+680a0592
+98467c00
+2022de73
+70007c07
+7004ca05
+20600000
+20405e77
+6800c65a
+203a5f3e
+20600000
+20407386
+204021b2
+6800804b
+2feffe01
+793ffe01
+6000804b
+68008055
+c00cde81
+c00c5e81
+20600000
+680089b5
+c1800000
+6800804c
+c3810000
+202063b1
+da200552
+da400582
+d8a00562
+20407352
+da200040
+20406311
+70007c0b
+68008030
+c3035ffc
+20600000
+6801015f
+1fe0f3fd
+68088552
+58000101
+98408a00
+d8c00554
+20407f01
+68088053
+68008553
+98467e00
+1fe67c0e
+20215ea0
+1840fe0e
+60008053
+70007c01
+20600000
+6800804c
+79207e03
+6000804c
+c2826006
+20600000
+68008552
+6000807d
+70007c02
+20600000
+20205e38
+70007c30
+20600000
+70007c28
+20600000
+70007c26
+20600000
+20600000
+68010032
+98000400
+68008553
+60008095
+984f8400
+68010554
+1fe3fe00
+60010096
+68020556
+1fe3fe00
+60020091
+18427e00
+60010098
+20600000
+6808c15a
+68008553
+9842fc00
+2422dd77
+2feffe00
+6800804c
+7920fe05
+6000804c
+70007c81
+70007d8b
+20600000
+20600000
+20205e38
+20205e38
+68010552
+60010171
+20600000
+68010555
+6808c172
+984ffe00
+d8400640
+98467c00
+20600000
+68010557
+203a5ef0
+20405ed0
+20215ef0
+6800c092
+1fe67c0a
+2042bcd5
+68008030
+c280def0
+68010553
+1fe3fe00
+60010075
+68010555
+1fe3fe00
+60010032
+68010557
+60008073
+98000400
+68010559
+60008074
+98467c00
+24215eed
+60008073
+70007c03
+70007d17
+20600000
+70007e24
+20205d53
+20405e38
+20405ff9
+2040728b
+202026b8
+20405e38
+202026c0
+68020552
+1fe3fe00
+2034df04
+6808c1bd
+243a5f01
+70007c04
+70007d13
+70007e24
+20600000
+70007c34
+70005500
+202021d9
+204021d9
+79200022
+6800816d
+793ffe02
+6000816d
+20205e38
+20600000
+70007c03
+70007d18
+700a992e
+20407d86
+202026e9
+68008552
+c080df1c
+68008553
+c080df1c
+68008554
+c0985f1c
+204062fc
+2020df19
+7009ae01
+70007c03
+70007d3d
+20205d07
+70007e24
+20205d53
+70007c3e
+20600000
+6800c662
+c000df27
+c0015f2b
+204062fc
+20608000
+7009ae08
+20600000
+20407962
+700a9935
+20407d86
+20205f23
+204062fc
+20608000
+6800c663
+c009df3b
+1fe0fe01
+6000c663
+7009b001
+7009ae04
+6800c663
+1fe20e00
+6803468a
+afefffff
+58000080
+7920fe00
+6000c664
+20600000
+7009ae08
+20600000
+20405f43
+6800c665
+207a0000
+70466500
+700a9938
+20207d86
+204062fc
+2440f965
+2040f975
+204062fc
+20608000
+7009ae0c
+7009b001
+20600000
+d8a00a6e
+d8c00552
+20407ebf
+6800c662
+c1010000
+202076d8
+680089af
+c003df55
+680089ae
+c080df68
+680089b7
+1fe60a20
+24215f68
+d8a009c6
+98a08a00
+68040552
+e0a40000
+6804055a
+e0a40000
+680089b7
+1fe0fe10
+600089b7
+c0985e38
+204062fc
+2020de38
+7009b801
+7009ae02
+7009b001
+20205e38
+70007e24
+20205d53
+680089b6
+c0185f6e
+70007c3e
+20205d07
+204062fc
+2020df77
+6800c662
+c0015f75
+7009b001
+7009ae04
+20205d07
+700a9936
+20207d86
+20205d07
+680089af
+c003df7c
+680089ae
+c0835f88
+d8a00a2e
+68040552
+e0a40000
+6804055a
+e0a40000
+204062fc
+2020df86
+7009ae07
+7009b001
+20205e38
+7009af04
+202076d8
+70007e24
+20205d53
+680089af
+c005df8e
+680089ae
+c0845f9d
+d8a00a5e
+d8c00552
+20407ebf
+204062fc
+2020df9a
+6800c662
+c000df9f
+70466100
+7009ae09
+7009b001
+70007d41
+20205d07
+7009af09
+7009b101
+20205d07
+70007e24
+20205d53
+6800c661
+c283dfa4
+79207e06
+6000c661
+20600000
+c2805f95
+70466100
+20205f9d
+20205d07
+6800816d
+793ffe01
+6000816d
+20405e38
+24748000
+68008552
+6808804b
+793a0404
+7d3a0405
+6008804b
+20600000
+680c0552
+68008055
+c1818000
+6800816d
+c3025fba
+70005514
+20600000
+70005504
+20600000
+6800817f
+6000815b
+70007c03
+70007d38
+20600000
+70007c03
+70007d39
+18007209
+d8c00552
+d8a00152
+e8c08000
+1fe2fe55
+e0a08000
+c2005fc6
+68008152
+68088151
+793f8407
+793f8404
+c07fdfda
+c0005ff3
+c002dfe7
+c003dfe6
+c0035fe7
+c0045fe6
+c000dfdf
+c0015fdf
+c001dfdf
+c004dfdf
+c0025fdf
+20600000
+68008151
+79207e03
+79207e02
+60008151
+20600000
+79200404
+70018005
+68010159
+98007200
+6001015f
+d8a00551
+20407f73
+79200407
+79200402
+18007e00
+6000800b
+600100fa
+600100fc
+600100f8
+600100f6
+68008153
+2fe1fe00
+79208406
+60088151
+20600000
+793f8011
+70015100
+6800817f
+793ffe06
+6000817f
+20600000
+d8c00552
+d8a00562
+20207ebf
+70007c09
+20600000
+24748000
+70007c11
+20600000
+da2040a0
+20407255
+70007c03
+70007d08
+20600000
+7000720a
+70007c07
+7004ca16
+20600000
+47414030
+78547c00
+204062c1
+68008048
+207a0000
+c283e03f
+c000e16f
+c00160e4
+c001e04a
+c0026060
+c013e1db
+c0146108
+c01860f4
+c012e1d6
+c0136103
+c018e1c3
+c01be16a
+c019e15c
+c0046259
+c004e24f
+c005e264
+c006626d
+c007e162
+c0086292
+c008e288
+c003e152
+c015617e
+c005617f
+c00fe1bc
+c00360f9
+c010e15f
+c016e1b2
+c01761b7
+c011615f
+c01a6180
+c009e195
+c00be1a4
+c009628f
+c017e1aa
+c00c61af
+c01ee1ff
+c01f620b
+c01fe21d
+c0206227
+c020e23c
+c011e24b
+c01de246
+c002e24c
+c014e24d
+c01c624e
+c01ce175
+20202a8c
+20600000
+c040e06d
+c0426099
+c0416076
+c041e10d
+c045e118
+c04be14e
+c04ce0d5
+c04d60a4
+c04ae0da
+c04b60db
+20202a8c
+18007e02
+20406298
+68008049
+e0a08000
+204062a7
+4741c030
+68008049
+c0046080
+c007e084
+c008608f
+c00be05f
+c019e092
+c020e098
+c008e059
+20600000
+68008055
+207a0000
+7000551b
+5800000c
+d8e00007
+20207f08
+202026c6
+18007e03
+20406298
+68008049
+c005e068
+e0a08000
+6800804a
+e0a08000
+202062a7
+e0a08000
+6800804a
+e0a08000
+d84004d5
+202062e2
+18000e04
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+68008049
+202062a7
+18000e05
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+6800804a
+e0a08000
+202062a7
+2040244f
+204062f3
+20608000
+20205ffc
+6800804b
+c282e08b
+c4020000
+70007c12
+793ffe04
+204062eb
+2020608d
+70007c10
+793ffe05
+6000804b
+20600000
+204062fc
+2020dffe
+20600000
+70007c8b
+680084d1
+79207e00
+600084d1
+700a9901
+20207d86
+20600000
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b0
+18000e05
+204062a0
+6801c65b
+e0a18000
+204062b0
+70466501
+6800c65b
+c000e0b5
+c00160af
+c001e0bb
+20600000
+6800c65e
+c00060c7
+c000e0c7
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c5
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c1
+c00160c1
+c001e0c1
+20600000
+70466203
+6800c55c
+c28033e9
+20600000
+70466201
+20600000
+70466202
+20600000
+d8e00000
+202060cd
+d8e00000
+202060d1
+6800c55c
+f9207e00
+6000c55c
+20600000
+6800c55c
+f93ffe00
+6000c55c
+20600000
+18000e05
+204062a0
+6801c65b
+e0a18000
+202062b2
+20600000
+18000e09
+204062a0
+68008095
+e0a08000
+68010096
+e0a10000
+68020091
+e0a20000
+202062b0
+18007e11
+20406298
+68008049
+1fe20400
+c00060ec
+c00760ec
+c00e60ec
+20600000
+e0a08000
+6800c515
+e0a08000
+df20000e
+58004516
+98408c00
+20407f01
+202062b0
+18007e03
+20406298
+58000114
+e0a10000
+202062b0
+18007e03
+20406298
+68020165
+9c467e00
+2034e0ff
+1fe67e00
+1feb7e00
+793ffe0f
+e0a10000
+202062b0
+18007e06
+20406298
+6802c510
+e0a28000
+202062b0
+18007e09
+20406298
+68044098
+e0a40000
+202062b0
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b2
+18000e03
+204062a0
+6800c15a
+e0a08000
+78547c00
+204062b2
+24740000
+24748000
+6800c0d8
+c4000000
+20406132
+2020613c
+47424030
+6800c09e
+79207e03
+6000c09e
+58000101
+600104ce
+20600000
+4742c030
+6800c09e
+793ffe03
+6000c09e
+58000000
+600104ce
+20600000
+7040d803
+58000000
+60024142
+d8a040da
+20406140
+d8a040e7
+20406140
+d8a04146
+20406140
+20206147
+d8a040e7
+20406140
+20406147
+2020614a
+58ffffff
+e0a18000
+e0a18000
+e0a18000
+5800007f
+e0a08000
+20600000
+58000000
+600140d6
+20600000
+6800c0d8
+79207e02
+6000c0d8
+20600000
+18000e02
+204062a0
+2434e2b0
+202062b2
+18007e02
+20406298
+680084ca
+e0a08000
+204062b2
+6800804b
+79207e03
+6000804b
+70007232
+20600000
+18007e01
+20406298
+202062b2
+18007e01
+20406298
+202062b0
+18007e02
+20406298
+6800804c
+2fec0002
+7920fe00
+1fe17e01
+e0a08000
+202062b2
+18007e03
+20406298
+68010051
+e0a10000
+202062b2
+700072fa
+18007e02
+20406298
+68008053
+e0a08000
+202062b2
+18007e0a
+20406298
+d8c00152
+18007209
+e8c08000
+1fe2fe55
+e0a08000
+c2006179
+202062b2
+202062b2
+202062b2
+20748000
+2040282d
+18007e09
+20406298
+68010171
+e0a10000
+6801c0a0
+e0a18000
+6800c0a3
+e0a08000
+680140a4
+e0a10000
+c581e191
+793f8003
+204062b2
+70007c13
+20600000
+204062b0
+70007c03
+70007d13
+20600000
+d8400200
+2034e199
+1d027e00
+2020619a
+1c427e00
+1c227e00
+9840fe00
+1fe17ffc
+60020034
+18007e05
+20406298
+68020034
+1fe37e00
+e0a20000
+202062b2
+18007e0a
+20406298
+d8c004d9
+e8c48000
+e0a48000
+202062b2
+18007e03
+20406298
+58000114
+e0a10000
+202062b2
+18007e01
+20406298
+202062b2
+18007e02
+20406298
+6800c0d0
+e0a08000
+202062b2
+18007e02
+20406298
+58000005
+e0a08000
+202062b2
+18007e02
+20406298
+58000000
+e0a08000
+202062b2
+70007c2e
+20600000
+6800c092
+1fe67c0a
+2042e1c1
+68008030
+79207e04
+60008030
+1c427e00
+600204e9
+680084d1
+c281e1d4
+79207e03
+600084d1
+700a9905
+20407d86
+18007e01
+20406298
+202062b2
+70004800
+20600000
+18007e06
+20406298
+6802c510
+e0a28000
+202062b2
+18007e09
+20406298
+68044098
+e0a40000
+202062b2
+7009b101
+6800c5b1
+c1808000
+7009af13
+20600000
+204062ef
+70007c99
+7009af03
+20600000
+204062ef
+70007c3d
+7009af07
+20600000
+da200a4e
+da400a6e
+df200010
+20407f88
+2022e1f7
+7009af00
+204076da
+70007e24
+70007d40
+20205d53
+7009af0a
+204076d8
+70007d40
+20205e38
+70007c40
+20600000
+70007c3d
+20600000
+7009b600
+18007e04
+20406298
+18007e01
+e0a08000
+18007e01
+e0a08000
+18007e30
+e0a08000
+204062fc
+2020e2b2
+202062b0
+18007e11
+20406298
+680089b6
+d8c0462a
+98c08c00
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+680089b6
+1fe0fe10
+600089b6
+204062fc
+2020e2b2
+202062b0
+7009ae06
+70007c3f
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+202062b0
+70007c40
+20600000
+204062fc
+2040f612
+18007e11
+20406298
+d8c00a1e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+7009af0f
+204062ef
+70007c0b
+20406307
+2020f64e
+20207658
+204062eb
+70007c41
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+18007e03
+20406298
+5800fffe
+e0a10000
+202062b0
+202062b2
+202062b2
+202062b2
+202062b2
+2040630b
+da2040a0
+20406311
+18007e11
+20406298
+da200582
+da400562
+20407352
+2434e2a7
+202062ad
+2040630b
+da200040
+20407255
+18007e11
+20406298
+d8c00562
+20407ebf
+68008055
+c00ce2b2
+c00c62b2
+202062ad
+680089b5
+203a626a
+204062fc
+2040e2ef
+2440e2eb
+2020626b
+204062ef
+2040630b
+2020625c
+da2040a0
+20407288
+18007e05
+20406298
+68020592
+e0a20000
+d84004d5
+204062e2
+20407386
+204062fc
+2020e27c
+7004d801
+680089b5
+207a0000
+70007c0b
+6800c1bd
+207a0000
+204062fc
+2420e284
+680084d7
+207a0000
+70007c0f
+20600000
+c6908000
+793f8021
+70007c0f
+20600000
+2040630b
+2040728b
+18007e11
+20406298
+d8c00562
+20407ebf
+202062ad
+18007e01
+20406298
+202062ad
+18007e02
+20406298
+18007e10
+e0a08000
+60008054
+202062ad
+1fe9fe00
+1fe1fe07
+600084b6
+df200011
+d8a004b8
+20407ed4
+d8a004b8
+20600000
+1fe1227f
+7000487f
+18e27e00
+20406298
+1a227e00
+e0a08000
+20600000
+68008048
+1fe3fe00
+6808804c
+284ffe01
+7920fe00
+202062b7
+6808804c
+18410401
+202062b3
+18000400
+202062b3
+18000401
+68008048
+1fe3fe00
+7934fe00
+9842fe00
+600084b7
+70004800
+204062c7
+78347c00
+20600000
+6800807c
+207a0000
+204062c1
+6800807c
+20600000
+47434030
+68008048
+203a62c7
+68008078
+247a0000
+202062d1
+68008078
+203a62d7
+68018078
+60018048
+6808807b
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007800
+6800807c
+207a0000
+6802007c
+60020078
+70007c00
+20600000
+6800807c
+207a0000
+6801807c
+60018048
+6808807f
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007c00
+20600000
+4743c030
+6800804c
+1fe22600
+e8408000
+20405e52
+204062a7
+1a627e00
+6000804c
+20600000
+6808804c
+793f8400
+6008804c
+20600000
+6808804c
+79200400
+6008804c
+20600000
+7d34fe01
+6808804c
+9842fe00
+2feffe01
+20600000
+6800804c
+7934fe01
+6000804c
+20600000
+680089b4
+2fe0fe01
+20600000
+680089b4
+79207e07
+600089b4
+20600000
+680089b4
+793ffe07
+600089b4
+20600000
+680089b4
+2feffe07
+600089b4
+20600000
+d8a00562
+18007210
+180a7e00
+e0a08000
+c200630d
+20600000
+20407259
+da2041be
+da400592
+ea240000
+68088030
+7d3a0406
+60088030
+1a220a00
+20407352
+202021c4
+47444031
+204062bc
+247a0000
+68008055
+207a0000
+c002636f
+c002e374
+c0016366
+c001e37c
+c0076369
+c0036398
+c003e3b0
+c004e3b1
+c00563ba
+c005e3be
+c0066386
+c006e389
+c007e38f
+c0096359
+c009e37c
+c008635c
+c00a6356
+c00ae37c
+c00b6350
+c00c6355
+c00be349
+c00ce34f
+c00d633a
+c00de344
+70005500
+20600000
+680084d1
+c4010000
+c4018000
+70005500
+20406340
+20206cef
+6800816d
+c4008000
+7000550a
+20600000
+d8e00007
+20407f16
+247a0000
+7000551a
+20600000
+6800816d
+793ffe00
+6000816d
+70005519
+70007c0b
+20600000
+20600000
+680084d4
+c1810000
+204063c0
+70005518
+20600000
+20600000
+70005515
+70007c83
+20600000
+70005513
+70007c25
+20600000
+6800c55b
+c1000000
+c000e364
+d8e00006
+20407f16
+247a0000
+70455b00
+2020637d
+20748000
+20206398
+70005503
+70007c27
+20600000
+70007c13
+79200003
+70005505
+580001ff
+600104d2
+20600000
+70005505
+7004d2ff
+793f8022
+70007c33
+20205d04
+c6110000
+680104d2
+1fe67e01
+2022e37a
+600104d2
+20600000
+7000550e
+20600000
+20600000
+680084d1
+c4018000
+c4010000
+6800816d
+793ffe02
+6000816d
+70007c13
+70005510
+20600000
+7000550d
+70007c31
+20600000
+680084d1
+c4010000
+70005500
+20600000
+70005506
+20600000
+680084d2
+1fe0ffff
+203a6394
+600084d2
+20600000
+70007c07
+7004ca16
+70005500
+20600000
+6800816d
+c281637d
+c280639d
+7000551a
+20600000
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+680204e9
+d8400064
+98408400
+1c427e00
+98467c00
+24610000
+20206349
+70005516
+70468904
+58003030
+6001468a
+e0a10000
+7004d402
+20206350
+20600000
+6800816d
+c280e3b5
+7000551a
+20600000
+6800816d
+793ffe01
+6000816d
+70007c0f
+20600000
+680084d8
+207a0000
+70005500
+202063b5
+7000550c
+20600000
+6800804b
+c28163c5
+204062ef
+70007c08
+20204d04
+6800804b
+793ffe02
+6000804b
+20406001
+204062f8
+20204d04
+58000004
+6000c689
+58003030
+e0a10000
+e0a10000
+20600000
+47464031
+68108073
+d8400006
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe01
+793ffe02
+60108077
+2000001e
+202063f2
+68108073
+d84000c0
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe06
+793ffe07
+60108077
+2000001e
+202063f6
+68108081
+1fe17efc
+60108081
+20600000
+68108081
+1fe1fe01
+60108081
+20600000
+68108081
+1fe1fe03
+793ffe04
+60108081
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406413
+20406411
+20000064
+20600000
+6808c214
+2020680e
+6808c214
+20206829
+6808c214
+20206825
+202064ec
+202064f3
+24346419
+68108085
+1fe1fe02
+60108085
+18427c00
+2022e41c
+1a627a00
+2fcc0000
+202064b9
+18000404
+da2001fe
+68108085
+1fe17efd
+60108085
+20406419
+da2055aa
+680101fe
+e8c90000
+9a267c00
+20600000
+d8400002
+da200204
+20406419
+68010204
+600101f7
+20546430
+20600000
+d8400010
+da200206
+68108085
+1fe17efd
+60108085
+20406419
+d8c00206
+df200010
+20407478
+20407428
+20407491
+20207422
+7856fc00
+2040641e
+24628000
+7836fc00
+70802380
+70802200
+70802400
+da208025
+20406415
+70802300
+d8400006
+2040641f
+24628000
+e8c10000
+98002200
+20406419
+20206446
+20407f99
+58001000
+600101f7
+da6065e5
+df200002
+2040641e
+24628000
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+c2006452
+20206446
+20407f99
+78547c00
+2040666a
+58000000
+da2001f3
+d8400002
+204066b3
+680101f3
+c303e46e
+70805025
+580007f0
+da200206
+d8400010
+204066b3
+70800608
+7920002b
+d8c00206
+20407484
+78347c00
+7041da00
+204064b0
+680101f3
+1ff0fe00
+d84007ff
+98417e00
+2022e47b
+2040666f
+da6066b8
+20546430
+2040643c
+680081f2
+c300646f
+2040666d
+7041da00
+204064b0
+204065c2
+680081f3
+c283648e
+204064aa
+2436e486
+680081f2
+c300647d
+2020649b
+204065bf
+680081f3
+c283648e
+204064aa
+2436e48e
+680081f2
+c300647d
+2020649b
+7041da00
+204064b0
+680081f3
+c282e49b
+58000000
+600181f6
+20406502
+da606578
+20406429
+2040643c
+2436e49b
+680081f2
+c300648f
+c515e49d
+204064a3
+680081f3
+c30264a3
+70805021
+20404c0e
+20404c2e
+202064a1
+58000000
+60040206
+6004020e
+18007004
+20407492
+70805021
+20600000
+58000000
+600101f7
+da6065e5
+204065a3
+20406429
+2020643c
+6800c1da
+1fe0fe01
+1fe67c03
+242164b6
+6000c1da
+20600000
+204064a3
+20407fa1
+20600000
+680081f2
+1fe3fe00
+7920fe00
+2a2c000f
+20608000
+600081f2
+20600000
+68108085
+c4008000
+202064c6
+6810812c
+afefffff
+20608000
+68108108
+c300e4c3
+20407422
+202064c3
+68014199
+207a0000
+70802380
+70802200
+70802400
+6809419b
+184bf200
+98000c00
+e8c08000
+60108025
+c20064d2
+70802300
+20600000
+4746c031
+204064dd
+202063f2
+204064dd
+204063ee
+202063f6
+6800c212
+60108086
+6800c213
+60108087
+580001f5
+6011008a
+580001fa
+6011008c
+202063ee
+68108086
+79207e07
+60108086
+793ffe07
+60108086
+20600000
+79207e07
+600101f5
+47474031
+70808802
+70808e00
+70800602
+202064fc
+18000401
+600081f5
+4747c031
+70808801
+6019008e
+70800602
+204064fc
+680081fa
+20600000
+680140d6
+1fe0fe01
+600140d6
+6810812c
+c301e4fc
+20600000
+70808640
+70808700
+68108081
+793ffe00
+79207e01
+60108081
+58000000
+600201f5
+20600000
+58000000
+6011008e
+58000001
+60110088
+580001f5
+6011008a
+7001f506
+70800602
+202064fc
+78547c00
+1fe22400
+6800c239
+c1800000
+78347c00
+1a427e00
+20206522
+6800c239
+c000e522
+c0016528
+c001e530
+c0026537
+c002e53d
+20600000
+6001c232
+1a227e00
+60014235
+60094237
+70423902
+20206502
+20406502
+70423903
+2040650b
+da2001f5
+6801c232
+70808804
+d8400020
+20206556
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423904
+20600000
+20406502
+70423905
+2040650b
+2040654a
+20406552
+20206545
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423900
+68014201
+20207f9c
+68020aa2
+68094235
+184085fc
+e0420000
+20600000
+68094235
+18422200
+184085fc
+e8420000
+60020aa2
+68094237
+6801c232
+20600000
+18408404
+60190088
+d8400002
+1a20a3fc
+e2288000
+1ff10400
+e0a88000
+1fec8400
+e0a88000
+e0a08000
+1a227e00
+6011008a
+58000000
+6011008e
+70800602
+202064fc
+6019008e
+1ff10400
+600881f6
+1fec8400
+600881f7
+600081f8
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e574
+d8e00003
+202064fc
+6019008e
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e585
+d8e00003
+204064c0
+204064fc
+2feffe02
+204064b9
+680081f6
+1ff02400
+680081f7
+1fed7e00
+9a41a400
+680081f8
+9a41fe00
+9840fe00
+600081f8
+1fecfe00
+600081f7
+1fecfe00
+600081f6
+20600000
+70801001
+20600000
+7080910c
+7080920d
+7080930d
+7080940d
+7080950d
+7080960c
+202065a9
+70809105
+70809207
+70809307
+70809407
+70809507
+70809605
+6810807b
+1fe1fec0
+6010807b
+68108081
+1fe1fe10
+60108081
+20600000
+6810812c
+c302e5b0
+20600000
+60110098
+1a227e00
+6011009a
+1a427e00
+6011009c
+18427e00
+6011009e
+d8400001
+7d3a0401
+60108090
+70800604
+202065b0
+79200028
+70421108
+20600000
+793f8028
+70421120
+20600000
+6800c203
+9a40fe00
+600081f7
+202065cc
+680101f7
+1ff0fe00
+600081f7
+58000003
+60110098
+7001f6a0
+7001f8a1
+202065eb
+60090aa2
+204065d6
+68090aa2
+20406606
+202065dd
+6800c23a
+c17f8000
+c30365db
+580249f0
+20402a8f
+6808c23a
+20206829
+6808c23a
+20206825
+47484032
+c51465c5
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+4748c032
+c51465c9
+58000004
+60110098
+7001f6a0
+7001f9a1
+580001f6
+6011009a
+6019009e
+1a227e00
+6011009c
+58000002
+2a2c000f
+7920fe00
+60108090
+70800604
+d8e00005
+204064c0
+204065b0
+2feffe04
+204064b9
+c5146601
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+20600000
+680081f7
+9840fe00
+1ff0fe00
+600101f7
+20600000
+68014203
+9a40fe00
+60010a9a
+47494032
+60090aa2
+1a227e00
+60010ab9
+2040661d
+68090ab2
+68010ab9
+1fe22200
+68010a9a
+2040663d
+68010ab2
+68090ab9
+98408400
+60090ab9
+68090a9a
+98408400
+60090a9a
+68010aa2
+243a660d
+20600000
+4749c032
+6800c211
+1fe0ffff
+68090a9a
+9841fe00
+1fe0fe01
+60018ab6
+68010aa2
+9840fe00
+68098ab6
+98467e00
+2421662f
+60010aa2
+68018ab6
+68090a9a
+98467e00
+60010ab2
+20600000
+68010aa2
+60010ab2
+58000000
+60010aa2
+20600000
+18408402
+60190098
+1a20a3fe
+ea298000
+18422400
+d84000a0
+e2288000
+e0a08000
+2020664a
+1fe22400
+474a4032
+c5146634
+1a427e00
+18408403
+60190098
+1a20a3fd
+ea298000
+18422400
+d84000a0
+e2288000
+1ff0fe00
+e0a10000
+1a227e00
+6011009a
+58000000
+6011009e
+70809001
+70800604
+204065b0
+1a427e00
+e2218000
+474ac032
+7001f900
+58000001
+60110098
+7001f6a0
+580001f6
+6011009a
+58000000
+6011009e
+6011009c
+58000003
+60108090
+70800604
+204065b0
+6810812c
+c4030000
+200005dc
+680081f9
+1fe0fe01
+600081f9
+1fe67c28
+24610000
+20206655
+70897370
+20000bb8
+20600000
+70897330
+20600000
+1fe9fe00
+60110045
+70804b00
+20600000
+2040666f
+204066a0
+ea288000
+1a20a201
+18000e00
+a84c0000
+2020e697
+68108046
+79207e06
+79207e07
+60108046
+70804702
+70804782
+793ffe07
+60108046
+7080478a
+2000000b
+708047ca
+20000021
+7080474a
+2000002c
+708047ca
+20000016
+7080478a
+20000021
+70804782
+20000001
+70804792
+2000000a
+708047b2
+68108007
+70804792
+20000001
+70804782
+afec0000
+2020e678
+68110045
+1fe0fe01
+60110045
+18e08e01
+28e01e08
+2420e678
+c2006675
+70804783
+20600000
+70804782
+2000000c
+70804780
+70804782
+20000096
+20600000
+204066a0
+708047a2
+1a227e00
+60110048
+7920040b
+2fec000f
+7920840f
+6019004a
+70800601
+20600000
+6810812c
+c300e6b0
+20600000
+2040666f
+204066a6
+204066b0
+70804783
+20600000
+68110124
+60110045
+204066a6
+d8e00001
+204064c0
+204066b0
+2feffe00
+204064b9
+70804783
+20600000
+6811005e
+98001400
+20600000
+19427e00
+6011005e
+20600000
+18627e00
+60110058
+20600000
+68110058
+1fe20600
+20600000
+68014243
+60110052
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166de
+20628000
+202166d3
+1f20f208
+1f20f3fc
+204166e1
+20628000
+202166d8
+1f20f204
+202066e4
+e8c40000
+e1440000
+20600000
+e8c20000
+e1420000
+20600000
+1f227e00
+207a0000
+e8c08000
+e1408000
+c20066e6
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166f7
+20628000
+202166ec
+1f20f208
+1f20f3fc
+204166fa
+20628000
+202166f1
+1f20f204
+202066fd
+e8640000
+e0a40000
+20600000
+e8620000
+e0a20000
+20600000
+1f227e00
+207a0000
+e8608000
+e0a08000
+c20066ff
+20600000
+1f227e00
+207a0000
+e8608000
+e1408000
+c2006705
+20600000
+700a993d
+20207d86
+474b4032
+6800c217
+207a0000
+204067a3
+2042e7a9
+2040673e
+6800c217
+1fe22600
+68094215
+6009018c
+1a627e00
+203a6709
+1a60a7ff
+18422200
+ea208000
+68088184
+98467c00
+2042e725
+20216721
+ea208000
+1fe0fe01
+e2208000
+6809018c
+18408422
+6009018c
+20206715
+58000000
+e2208000
+68008185
+e0a08000
+c099e733
+da4041be
+e8c30000
+e0a40000
+58000000
+e0a40000
+1a420c00
+20407ebf
+18007c01
+20600000
+c01b6737
+c01be73b
+da404419
+2020672b
+d8c044d5
+20407ebf
+d8c04419
+20206730
+d8c044cd
+20407ebf
+20206739
+20407fe9
+6800c217
+207a0000
+68014682
+c2806754
+474bc032
+6800c48e
+c000674d
+68008454
+2fe180c0
+2020e74d
+2fe18040
+2020e752
+2fe18000
+2020e750
+70018535
+6803044f
+20206757
+70018537
+20206757
+70018536
+20206757
+474c4033
+70018533
+68030040
+60030186
+68014215
+efe88000
+1fe0fe01
+6001018c
+60088184
+6800c217
+1fe22600
+6801018c
+1fe22200
+2040676f
+20740000
+6809018c
+18408422
+6009018c
+184085ff
+e8408000
+60008184
+1a60a7ff
+2422e75f
+6800c217
+1fe0ffff
+60008184
+20600000
+68008185
+c099e776
+da400185
+df200007
+20407f88
+2022ffe7
+20600000
+c01b6779
+c01be794
+20206771
+ea288000
+98467c00
+24628000
+d8a00ac2
+df200010
+20407ed4
+68018452
+60018ac2
+2040678b
+68010adf
+1ff0fe00
+1fed0400
+e8c08000
+9840fe00
+6809844f
+98467c00
+2022ffe7
+20600000
+d8c00ac2
+20407486
+ea208000
+20407487
+18006c38
+18006c00
+2040741d
+d8a00ad2
+20207497
+ea288000
+98467c00
+24628000
+18c22200
+18c0a608
+da4044cd
+df200008
+20407f88
+2022ffe7
+1a622200
+da4044d5
+df200008
+20407f88
+2022ffe7
+20600000
+68014215
+efe88000
+1fe0fe22
+efe08000
+98467c00
+20600000
+6800c217
+1fe27200
+68094215
+58000000
+e0408000
+18408422
+1fe0fe01
+c20067ad
+20600000
+474cc033
+2040673e
+68008030
+79347e06
+60008030
+243467bc
+1a208c0a
+d8a041be
+20407ebf
+202067d7
+7041bd00
+20600000
+6804c4cb
+203a67ca
+2040673e
+243467ca
+6801018c
+1fe08c01
+d8a044d5
+20407ebf
+d8a04419
+20407ebf
+70442901
+20600000
+70442900
+20600000
+6803044f
+60030186
+70018534
+202067d3
+68030040
+60030186
+70018533
+6800c092
+c005670b
+c28342da
+20600000
+680441be
+680c41c6
+9841fe00
+207a0000
+7041bd01
+20600000
+474d4033
+79200407
+2040681d
+7d208407
+474dc033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f920fe00
+600200a1
+680200a5
+fd20fe00
+600200a5
+20600000
+474e4033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f93ffe00
+600200a1
+680200a5
+f93ffe00
+600200a5
+20600000
+204067ed
+202067fe
+18467cff
+20628000
+2455e7e1
+d8a0807c
+20406830
+79400407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+d8a0807c
+20406830
+793f8407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+18467cff
+20628000
+79400407
+2040682f
+79200407
+d8a08070
+20206830
+18410e07
+18497e00
+1fe17e03
+98a08a00
+e8a08000
+20600000
+d8a08074
+2020681e
+d8a0811c
+20406815
+284ffe07
+2020e823
+afec0000
+20600000
+afefffff
+20600000
+18467cff
+20628000
+2fcffe07
+2020682c
+18467cff
+20628000
+2fcc0007
+58000000
+7d20fe07
+98428400
+d8a08074
+20406815
+284ffe07
+f920fe00
+e0a08000
+20600000
+da3fffff
+68108081
+2fe00602
+2040e878
+2fe00601
+2040e87a
+2fe00603
+2040e87a
+2feffe02
+2040e874
+2feffe03
+2040e876
+2feffe04
+2040e87c
+2feffe06
+7d20a204
+2feffe07
+7d20a205
+68108082
+2feffe00
+7d20a21b
+2feffe01
+7d20a21c
+2feffe02
+7d20a203
+2feffe03
+7d20a208
+2feffe04
+7d20a214
+2feffe05
+7d20a215
+2feffe06
+7d20a216
+2feffe07
+7d20a217
+68108080
+2feffe00
+7d20a205
+2feffe01
+7d20a206
+2feffe02
+7d20a207
+2feffe03
+7d20a212
+2feffe04
+7d20a213
+2feffe05
+7d20a214
+2feffe06
+7d20a215
+2feffe07
+7d20a216
+68108062
+2feffe04
+2040e87e
+474ec033
+68120078
+681a007c
+9841fe00
+1fe47e00
+9a217e00
+60120070
+20600000
+d8e00006
+20206884
+d8e00009
+20206882
+d8e00017
+20206882
+d8e00019
+20206884
+d8e0001e
+20206884
+d8e00002
+20206884
+df200001
+20206885
+df200004
+20206885
+df200002
+f93fa200
+18e08e01
+c2006885
+20600000
+20406895
+d8400006
+2020680e
+20406889
+d8400006
+20206825
+20406895
+68108078
+79207e07
+60108078
+d8400007
+202067fb
+68108081
+1fe17efb
+60108081
+20600000
+68108081
+2feffe02
+20600000
+2040666a
+580007e0
+da204150
+d8400002
+204066b3
+2020666d
+2040666a
+580007e2
+da20421d
+d840000e
+204066b3
+2020666d
+474f4033
+204068a2
+6800c22d
+c00068af
+c000e8c3
+c00168d7
+20600000
+68094229
+5800aa55
+98467c00
+2022e8b8
+58004dfa
+60014227
+58004894
+60014221
+202068c0
+68014227
+243a68bc
+58004dfa
+60014227
+68014221
+243a68c0
+58004894
+60014221
+58000064
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8cc
+58005932
+60014225
+58004323
+6001421f
+202068d4
+68014225
+243a68d0
+58005932
+60014225
+6801421f
+243a68d4
+58004323
+6001421f
+58000190
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8e0
+58006946
+60014223
+58005377
+6001421d
+202068e8
+68014223
+243a68e4
+58006946
+60014223
+6801421d
+243a68e8
+58005377
+6001421d
+58000032
+6001422b
+20600000
+6800c22d
+c00068f0
+c000e8f2
+c00168f4
+20600000
+708971bf
+202068f8
+708971af
+202068f8
+7089718f
+6800c22e
+60108973
+202068f8
+474fc033
+68108053
+79207e07
+60108053
+68108973
+1fe1fe30
+60108973
+7089067c
+708972aa
+20001388
+68190150
+68108053
+793ffe07
+60108053
+6009422f
+20600000
+47504034
+6800c22d
+c000690e
+c000e912
+c0016916
+20600000
+68014227
+68094221
+da6000c8
+2020691a
+68014225
+6809421f
+da600064
+2020691a
+68014223
+6809421d
+da600032
+2020691a
+98462200
+6801422f
+98467e00
+24216927
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a40fe00
+9a26fc00
+20407f86
+1807fe00
+20600000
+18427e00
+6809422f
+98467e00
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a467e00
+20206923
+ea240000
+60040a9a
+68010a9a
+68090a9c
+98462200
+68010aa0
+98462400
+68090a9e
+98467c00
+24416940
+1a4ffe64
+9a26fc00
+20407f86
+1807fe00
+205a6944
+20600000
+6800c231
+79207e00
+6000c231
+20600000
+6808c231
+79200401
+6008c231
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067fb
+1a20a201
+c200694f
+20600000
+6801423d
+1fe0fe03
+1fe22200
+18002400
+700b1200
+ea288000
+2040681d
+4750c034
+68010b12
+1a420e00
+f920fe00
+60010b12
+1a20a201
+1a40a401
+6801423d
+efe08000
+9a42fc00
+2422e959
+68010b12
+68090b14
+9842fc00
+20628000
+78347c00
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067dd
+1a20a201
+c2006973
+20600000
+d8e00009
+20407f16
+247a0000
+58000020
+d8e00009
+20407f08
+78547c00
+2040696c
+47514034
+6801423d
+efe08000
+207a0000
+20406954
+24347d02
+20407d00
+78547c00
+68010b12
+60010b19
+700b1b00
+18000e00
+68010b14
+1fe30400
+60090b14
+1fe17e01
+68090b19
+18412201
+18430400
+60090b19
+9a22fc00
+2442e9a1
+6801423d
+efe08000
+68088b1b
+18408401
+60088b1b
+18420e00
+98e2fc00
+2422e98c
+68010b12
+60010b14
+20600000
+4751c034
+6801423d
+1fe0fe01
+efe10000
+20207f9c
+68108042
+9a21fe00
+60108042
+68110050
+793ffe0d
+60110050
+20000064
+20600000
+68098a9c
+58b71b00
+9846fc00
+20407f86
+18078400
+68008a9f
+984ffe00
+1fe6fc64
+20407f86
+1807a200
+18427e00
+9a262400
+68008a9b
+204069be
+68008a9a
+202069d5
+c00069c4
+c000e9c6
+c00169c8
+c001e9ca
+c00269cc
+c002e9ce
+d8a080a0
+202069d0
+d8a080a4
+202069d0
+d8a080a8
+202069d0
+d8a08064
+202069d0
+d8a08068
+202069d0
+d8a0806c
+202069d0
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+78347c00
+202069d8
+78547c00
+c00269e3
+c002e9e5
+c00de9e7
+c00e69e9
+c001e9eb
+c00469ed
+c00a69ef
+c00ae9f1
+c00b69f3
+c00be9f5
+20600000
+d8e00006
+202069ff
+d8e00007
+202069ff
+d8e00008
+202069ff
+d8e00009
+202069ff
+d8e0000a
+202069ff
+d8e0000b
+202069ff
+d8e0000c
+20206a01
+d8e0000d
+20206a01
+d8e0000e
+20206a01
+d8e0000f
+20206a01
+68110081
+f9347e00
+60110081
+1a220e00
+68108085
+f9347e00
+60108085
+20600000
+18e0a3fc
+202069f7
+18e0a3f6
+202069f7
+20758000
+70456700
+7004ed03
+7004ee03
+7004f211
+7004f313
+58000000
+600184ef
+6000c254
+70468100
+47524034
+58000000
+6000c254
+6000c564
+6000c55d
+6800c56b
+c000ea16
+70456950
+20600000
+70456900
+20600000
+18418402
+20600000
+18427e00
+1fedfe00
+6000c562
+18007e3f
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20406a50
+18427e00
+20600000
+1fedfe00
+6000c562
+18007e73
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20206a50
+6800c563
+203a6a33
+58000070
+20600000
+580000aa
+20600000
+1fedfe00
+6000c562
+18007eef
+20406a44
+680904f7
+18420a00
+e0a08000
+18a20400
+600904f7
+18007eff
+20406a44
+680904f7
+18420a00
+e0a08000
+20600000
+1fedfe00
+6000c561
+68014561
+1fed7e00
+600184f4
+da200107
+da40000f
+20406a5d
+1fe2fed7
+1fe47e00
+1fedfe00
+20600000
+6801c560
+600184f4
+da200107
+da40000f
+20406a5d
+1fed7e00
+da400007
+20406a5d
+1fe2fe2b
+1fe47e00
+1fedfe00
+1fe20400
+20600000
+da600000
+1a427200
+20407e71
+1fe20400
+18427e00
+1a63a600
+c3046a66
+9a228400
+1a60a601
+18438400
+680184f4
+1a40a5ff
+2a41feff
+2020ea70
+1a427200
+20407e71
+2feffe00
+79208400
+20206a61
+18437e00
+20600000
+6808c55d
+184b8400
+79200400
+6800c563
+245a6a18
+6008850d
+20600000
+18438400
+6800c563
+793a0400
+20600000
+680884fc
+7004fed7
+20406bb6
+6800c251
+79207e06
+79207e07
+6000c251
+70456300
+20206b97
+6800c251
+79207e07
+6000c251
+20206b97
+4752c034
+6800c681
+c0006a8e
+20206b4c
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006a94
+20206b18
+47534034
+680084fd
+c01fea7d
+c039ea86
+c077ea9b
+c029eb44
+20600000
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eaa5
+c0206aad
+c038eae6
+c0386af2
+c024eafd
+20206b97
+20406aaf
+20206aa7
+6800c254
+79207e00
+79207e01
+6000c254
+20406be0
+20206b97
+20406aaf
+20206b97
+20406acb
+20206ad7
+20406acb
+e8c08000
+1fe97e00
+6000c56a
+e8c08000
+60008508
+20600000
+e8c08000
+600084fb
+1fe97e00
+600084fc
+e8c08000
+600084fd
+20406ace
+600904ff
+18c27e00
+60010501
+20600000
+e8c08000
+1fe37e00
+60008503
+20406ace
+60090504
+18c27e00
+60010506
+20600000
+68010506
+1fe20c00
+20600000
+e8c08000
+1fe20400
+18430400
+c3800000
+e8c08000
+1fe9fe00
+1ff27e00
+98408400
+20600000
+e8c08000
+6000c55d
+e8c08000
+60008509
+e8c08000
+6000850a
+e8c08000
+6000850b
+e8c10000
+6001455e
+e8c08000
+6000850c
+e8c08000
+6000c568
+20600000
+20406ab1
+20206ae8
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+70456703
+20206b97
+700a9908
+20407d86
+20406ab1
+6800c56a
+1fe67c01
+2022eaf9
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+20406acb
+e8c08000
+60008ac2
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4753c034
+580015ef
+e0a10000
+58001191
+e0a10000
+68008ac2
+e0a08000
+58000007
+e0a28000
+58000001
+e0a10000
+20406a2f
+e0a08000
+20600000
+20206b19
+47544035
+680084fd
+c039eb21
+c01feb25
+c077eb3f
+c07feb37
+c029eb46
+20600000
+6800c254
+79207e03
+6000c254
+20206b97
+6800c254
+79207e03
+79207e02
+6000c254
+680084fb
+20406a26
+600084fe
+20406bb6
+680084fb
+1feb7e00
+6000c55d
+1febfe00
+793ffe01
+79207e00
+d8404565
+600904f7
+20406a35
+20206b97
+68010501
+1fe20c00
+1fe0fe01
+60010501
+e8c08000
+6808c568
+9840fe00
+6000c568
+20406c42
+20406a72
+20406c28
+20406c4b
+20206b97
+700a9909
+20407d86
+20406a0d
+680084fb
+20406a26
+600084fe
+20406bb6
+20206b97
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006b52
+20206b86
+4754c035
+680084fd
+c01fea7d
+c039ea86
+c077eb58
+20206b97
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eb61
+c0206b61
+c038eb6c
+c0386b7c
+20206b97
+20406aaf
+6800c55d
+1fe37e00
+6808c564
+98467c00
+2022eb68
+20202a8c
+6800c254
+79207e01
+6000c254
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb73
+20202a8c
+20206b97
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb82
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+680084fc
+6808c564
+98467c00
+2022eb8c
+20202a8c
+20206b97
+680084fd
+c039eb91
+c077eb3f
+c07feb37
+c029eb96
+6800c254
+79207e03
+6000c254
+20206b97
+20206b95
+20206b46
+20600000
+6800c567
+207a0000
+c001eb9c
+20202a8c
+70456700
+204052d2
+d8400001
+6808c55d
+184b8400
+18418403
+da2000aa
+20406bfc
+204052e0
+18a20c00
+e8c10000
+203a2a8c
+20600000
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+47554035
+5800013f
+e0a10000
+680084fe
+e0a08000
+20600000
+204052d2
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+4755c035
+58000173
+e0a10000
+680084fe
+e0a08000
+20600000
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47564035
+580015ef
+e0a10000
+58001183
+e0a10000
+18427e00
+e0a08000
+580000f0
+e0a18000
+5800007f
+e0a10000
+58000000
+e0a08000
+58000001
+e0a08000
+20406a2f
+e0a08000
+70456910
+20600000
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4756c035
+580015ef
+e0a10000
+58001181
+e0a10000
+6800c55d
+e0a08000
+580000e0
+e0a18000
+6801456c
+e0a10000
+58000000
+e0a08000
+6800c56e
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47574035
+580009ef
+e0a10000
+580005e3
+e0a10000
+18427e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052d2
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+18421600
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4757c035
+580009ef
+e0a10000
+580005e1
+e0a10000
+19627e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+47584036
+6800c569
+207a0000
+68110112
+247a0000
+1a227e00
+60008a9b
+60088a9a
+2040526e
+247a0000
+204052d2
+204052e0
+58000005
+e0a10000
+6801424a
+e0a10000
+6800850d
+e0a08000
+580001ff
+e0a10000
+6800c569
+e0a08000
+6800c566
+e0a08000
+70456900
+20600000
+4758c036
+6800c56b
+c1008000
+680104ff
+207a0000
+6800c569
+1fe0fe01
+6000c569
+20600000
+6801456f
+20207f9c
+47594036
+6800c568
+207a0000
+1fe0ffff
+6000c568
+6801455e
+6809469f
+98467c00
+20216c57
+6001469f
+6800c569
+203a6c5f
+70051001
+6800c566
+6000850f
+580000ff
+6000850e
+20206c64
+70051000
+6800c565
+6000850f
+580000ef
+6000850e
+4759c036
+6801469f
+1fe67c7f
+20216c6b
+68008510
+1fe0fe01
+60008510
+20406a72
+6801469f
+1fe0fe08
+68088510
+9840a200
+20405240
+60010277
+1fe0fe04
+60010279
+1fe20a00
+6800850d
+e0a08000
+6800850e
+e0a08000
+20406c95
+20406ca6
+475a4036
+68014571
+1fe20600
+6801469f
+1fe27200
+204066ea
+18a20400
+18627e00
+60014571
+18420a00
+6800850f
+e0a08000
+68010277
+1fe20a00
+6801469f
+68088510
+9840fe00
+1fe0fe04
+e0a10000
+6801424a
+e0a10000
+70456900
+68014573
+c0003a97
+700b0500
+20600000
+475ac036
+6801469f
+1fe67c7f
+24216c9d
+1fe3fe00
+79207e00
+e0a08000
+20600000
+6801469f
+1fe97e00
+1ff18400
+1fe17e7f
+1fe3fe00
+793ffe00
+e0a08000
+e0a88000
+20600000
+6800c569
+207a0000
+e0a08000
+20600000
+475b4036
+20407d9c
+204032f6
+2040631b
+475bc036
+204076dc
+204076b5
+204076c6
+2040526e
+247a0000
+20404da9
+2040526e
+247a0000
+475c4037
+20406cf5
+20404f64
+20406b98
+20406cbe
+475cc037
+202032f2
+6800827f
+c2805087
+c283d091
+20600000
+475d4037
+20405274
+207a0000
+6800804b
+c3830000
+20405258
+6001016f
+1fe20c00
+e8c10000
+1fe0fe04
+600141dc
+7041db06
+475dc037
+68014246
+203a6cdd
+6800804b
+c4038000
+793ffe07
+6000804b
+7041db05
+68094246
+6801016f
+9840fe00
+6001016f
+680141dc
+98467e00
+600141dc
+475e4037
+680141dc
+203a2a8c
+d8400104
+98467e00
+24216ce9
+475ec037
+600941dc
+68014246
+9840fe00
+60014246
+20206ceb
+58000000
+60014246
+6800804b
+79207e06
+6000804b
+20600000
+6800c684
+c2806cf3
+70028701
+20600000
+7002870f
+20600000
+6800c681
+243a6cfb
+68008286
+207a0000
+70028600
+20600000
+475f4037
+68008287
+207a0000
+c000ed1b
+c0016d74
+c001ed21
+c0026d78
+c01ded2b
+c01e6d7b
+c006ed30
+c0076d80
+c007ed33
+c0086d86
+c008ed39
+c0096d8a
+c009ed3f
+c00a6d8e
+c00aed45
+c00b6d92
+c00bed4b
+c00c6d97
+c00ced51
+c00d6d9b
+c00ded57
+c00e6d9f
+c00eed5d
+c00f6da4
+c00fed63
+c0106da8
+c010ed6e
+c0116dac
+20600000
+20406db7
+70028702
+6800c250
+79207e00
+6000c250
+20600000
+70028704
+6800c250
+c3810000
+70028703
+20406dbe
+70028704
+6800c250
+79207e02
+6000c250
+20600000
+20405274
+247a0000
+20406dcd
+7002873c
+20600000
+20406dc3
+7002870e
+20600000
+20406ddd
+70028710
+6800c252
+79207e00
+6000c252
+20600000
+20406de4
+70028712
+6800c252
+79207e02
+6000c252
+20600000
+20406de9
+70028714
+6800c253
+79207e00
+6000c253
+20600000
+20406df0
+70028716
+6800c253
+79207e02
+6000c253
+20600000
+20406dd1
+70028718
+6800c251
+79207e00
+6000c251
+20600000
+20406dd8
+7002871a
+6800c251
+79207e02
+6000c251
+20600000
+20406df5
+7002871c
+6800c251
+79207e06
+6000c251
+20600000
+20406dfc
+6800c254
+79207e00
+6000c254
+7002871e
+20600000
+20406e02
+6800c254
+79207e02
+6000c254
+70028720
+6800c564
+1fe9fe00
+1fe1fe03
+d8404565
+600904f7
+20206a35
+20406e0c
+6800c254
+79207e04
+6000c254
+70028722
+20600000
+6800c250
+c4008000
+70028703
+20206cfb
+6800c250
+c19f8000
+7002873b
+68008285
+c18b8000
+70028500
+7002870d
+20206cfb
+6800c250
+247a0000
+6800c684
+c2806daf
+c2836db1
+20206db5
+6800c252
+c4008000
+70028711
+20206cfb
+6800c252
+c19f8000
+70028713
+20206cfb
+6800c253
+c4008000
+70028715
+20206cfb
+6800c253
+c19f8000
+6800c684
+c2836db1
+20206db5
+6800c251
+c4008000
+70028719
+20206cfb
+6800c251
+c19f8000
+7002871b
+20206cfb
+6800c251
+c1ff8000
+6800c684
+c2836db3
+20206db5
+6800c254
+c4008000
+7002871f
+20206cfb
+6800c254
+c4018000
+70028721
+20206cfb
+6800c254
+c1ff8000
+20206db5
+7002870f
+20206cfb
+70028717
+20206cfb
+7002871d
+20206cfb
+70028700
+20600000
+475fc037
+204052b8
+58000001
+1fe20400
+58000050
+1fe21600
+202050a8
+47604038
+204052b8
+68014248
+1fe20400
+202050b7
+4760c038
+204052b8
+68014248
+1fe20400
+d9600050
+204050cc
+6800c250
+793ffe05
+6000c250
+20600000
+47614038
+204052c5
+20407138
+202050e7
+4761c038
+204052b8
+58000003
+1fe20400
+58000051
+1fe21600
+202050a8
+47624038
+204052b8
+6801424a
+1fe20400
+202050b7
+4762c038
+204052b8
+58000011
+1fe20400
+58000052
+1fe21600
+202050a8
+47634038
+204052b8
+6801424c
+1fe20400
+202050b7
+4763c038
+204052b8
+58000013
+1fe20400
+58000053
+1fe21600
+202050a8
+47644039
+204052b8
+6801424e
+1fe20400
+202050b7
+4764c039
+204052d2
+7004fb03
+7004fe1c
+20406ba9
+70456301
+20600000
+47654039
+204052d2
+6808c564
+20406a79
+6008c55d
+20206bc4
+4765c039
+204052d2
+6808c55d
+20406a73
+20406a1a
+600084fe
+6808c55d
+20406a73
+600884fb
+20206ba9
+47664039
+204052d2
+6808c55d
+20406a73
+20206bfc
+4766c039
+68010264
+98000c00
+e8c08000
+1fe22400
+6000851b
+e8c10000
+6001051c
+e8c08000
+1fed1600
+e8c08000
+99609600
+47674039
+18c20400
+df200004
+d8a0052a
+20407ec6
+18420c00
+1a427e00
+c000efba
+c0016e2c
+c001efba
+c0026e54
+c002efba
+c0036f02
+c003efba
+20206fc1
+4767c039
+20406fd0
+2841fe01
+2020f040
+2841feff
+2020efc4
+e8c10000
+60010522
+196097fe
+196097ff
+2422efbe
+d9600511
+e9610000
+207a0000
+20407082
+204052d0
+18007e03
+e0a08000
+6801051c
+e0a10000
+18ebfe00
+1fe0fe05
+1fe0a605
+1ff0fe00
+e0a10000
+18e27e00
+1ff0fe00
+e0a10000
+e0a10000
+d8c0052a
+18e27200
+2022ee4f
+e8c20000
+e0a20000
+c2006e4c
+18007e00
+e0a08000
+1a627e00
+60010275
+20600000
+4768403a
+e8c20000
+60020524
+196097fc
+20406f2e
+60010520
+196097fe
+20407028
+2022efc4
+2a21fe05
+2020ee62
+d8a0052a
+18000e00
+20206e71
+e8c08000
+c0856fc4
+e8c10000
+243a6e6f
+e8c08000
+c0ffee6d
+e8c08000
+c0ffee6b
+20206eb8
+18c08dfb
+20206e5f
+18c08dfc
+20206e5f
+18c08dfd
+20206e5f
+e8c08000
+c004ee86
+c0056e74
+e8c10000
+e0a10000
+18e08e01
+1ff0a400
+e8c10000
+1ff0fe00
+1a40a401
+9a467c00
+24216e83
+1fe22600
+1a50fe00
+e0a10000
+18e08e01
+1a627e00
+20206e7a
+196097fb
+1a20a3fb
+20206e8b
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ee71
+196097ff
+2422efc4
+204052d0
+18a08a0a
+da20052a
+18e27e00
+203a6ea5
+ea210000
+203a6ea5
+98002400
+68020524
+98000400
+204070e7
+18c27e00
+203a6ea2
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+18e08fff
+20206e92
+da200005
+20406f84
+68010275
+c005f043
+20206f9a
+e8c08000
+c0006eae
+c000eeb0
+c0016eb3
+196097ff
+20206eb6
+e8c08000
+196097fe
+20206eb6
+e8c10000
+1ff0fe00
+196097fd
+60010519
+20600000
+196097fb
+20406eaa
+2422efbe
+680a0524
+204070b1
+2422efbb
+18c22200
+204052d0
+1a220c00
+18a08a03
+18c21600
+20407062
+1fe22200
+68010519
+1fe22400
+1a227e00
+9a462400
+68010520
+9a467c00
+24216ee7
+78547c00
+68010519
+203a6eda
+99608c00
+1a40a403
+1a427200
+1f227e00
+1fe0fe03
+1ff0fe00
+e0a10000
+1f227e00
+1ff0fe00
+e0a10000
+20206ef5
+1a20f206
+20346ede
+1f30fe00
+20206ee1
+1f227e00
+1fe0fe02
+1ff0fe00
+e0a10000
+1f20f3fd
+1f30fe00
+e0a10000
+19620c00
+20206ef5
+78347c00
+68010520
+1fe22200
+1a227200
+68010519
+203a6eda
+99608c00
+1a227e00
+1fe0fe05
+1ff0fe00
+e0a10000
+1a227e00
+1ff0fe00
+e0a10000
+20407f01
+24346efe
+18007e02
+e0a08000
+18c27e00
+99667e00
+1ff0fe00
+e0a10000
+20206f00
+18007e00
+e0a08000
+da200005
+20206fb0
+4768c03a
+20406fd0
+2841feff
+2020efc4
+20406f2e
+60010520
+196097fe
+20407028
+d8a0052a
+18000e00
+e8c08000
+c0056f36
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ef0c
+196097ff
+2422efc4
+204052d0
+18a08a0d
+68010511
+98002600
+da20052a
+ea210000
+203a6f29
+98002400
+204070c6
+203a6f27
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+20206f1c
+20406f83
+68010275
+c0077046
+20406f9a
+20206f9a
+e8c10000
+1ff0fe00
+1fe0fffd
+d84000c8
+98467c00
+24610000
+580000c8
+20600000
+18c08c04
+196097fb
+1a20a3fb
+2422efc4
+20406eaa
+2422efbe
+d9600511
+20407082
+18e27e00
+203a7046
+6000854e
+1a427e00
+6001054c
+d8e00000
+da200000
+204052d0
+18a08a0a
+20406f6c
+24342a8c
+18c21600
+1fe22600
+9a20a200
+68010519
+1fe22400
+203a6f75
+1a227e00
+9a462400
+2022ef67
+24216f67
+68010520
+9a467c00
+2022ef5e
+24216f5e
+1a427200
+20406f61
+6800854e
+18e08e01
+98e67c00
+2022ef83
+20206fa0
+1fe27200
+20406f61
+20206fa0
+18a08bfd
+1f220400
+1a627e00
+9a467e00
+99608c00
+20207f01
+6800854e
+18e08e01
+98e67c00
+20628000
+20206f47
+20407fe9
+d8c0052a
+18ebfe00
+98c08c00
+e8ca0000
+204070b1
+24628000
+2040705b
+20207fe7
+68010520
+9a267c00
+24216f8f
+1a227200
+1f220400
+19620c00
+20407f01
+6801054c
+9a267c00
+2022ef81
+20406fa0
+20206f94
+20406f83
+20206f94
+da200007
+18007e00
+e0a08000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fd
+1850fe00
+e0a10000
+20600000
+1fe27200
+1f220400
+19620c00
+20407f01
+20406fa0
+58000036
+e0a08000
+6801054c
+1ff0fe00
+e0a10000
+20600000
+58000036
+e0a08000
+184085fd
+1850fe00
+e0a10000
+20600000
+da200007
+58000002
+e0a08000
+68010519
+98408400
+1850fe00
+e0a10000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fb
+1850fe00
+e0a10000
+20600000
+68010273
+98a67e00
+1fe67e00
+60010275
+204052d0
+1a227e00
+e0a08000
+6801051c
+e0a10000
+20600000
+20600000
+58000200
+6001054a
+20206fc6
+58000400
+6001054a
+20206fc6
+58000600
+6001054a
+20206fc6
+58000300
+6001054a
+204052d0
+e0a08000
+6801051c
+e0a10000
+58000200
+e0a10000
+6801054a
+e0a10000
+70027507
+20600000
+da400000
+18000400
+d8a00511
+20407028
+2022f026
+1a40a401
+e8c08000
+1a20a3ff
+196097ff
+2fe1f018
+2420f026
+2fe00e04
+2420eff3
+18000401
+e8c08000
+1a20a3ff
+196097ff
+c0806fe7
+e8c08000
+1a20a3ff
+196097ff
+c0006ff8
+20206fea
+18c08c01
+1a20a3ff
+196097ff
+18c08c02
+1a20a3fe
+196097fe
+2841fe00
+2020f020
+18c08c0c
+1a20a3f4
+196097f4
+20207020
+2fe00e02
+2420eff6
+20206fde
+2fe00e01
+2420f026
+1a20a3fe
+196097fe
+e8c10000
+1a467c04
+2022effe
+e0a10000
+2841fe00
+2020f020
+18c20400
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0887019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0aff019
+e8c08000
+c0cdf019
+e8c08000
+c09a7019
+e8c08000
+c07df01e
+18420c00
+18c08c0c
+18000e00
+18000400
+2020701e
+196097f4
+1a20a3f4
+18000400
+2a21fe00
+2420efd5
+18007e00
+e0a10000
+20600000
+d84000ff
+20600000
+476a403a
+e8c08000
+196097ff
+2fe1f030
+2420f03e
+2fe00e07
+2020f037
+2fe00e06
+2020f039
+2fe00e05
+2420f03e
+e8c08000
+1fe22200
+196097ff
+2020703c
+18c08c02
+196097fe
+e8c10000
+1ff0a200
+196097fe
+18007e01
+20600000
+18007e00
+20600000
+58000003
+6000851b
+20207048
+58000005
+6000851b
+20207048
+58000007
+6000851b
+204052d0
+6800851b
+1fe22400
+e0a08000
+6801051c
+e0a10000
+58000500
+e0a10000
+2a41fe05
+2020f057
+2a41fe07
+2020f057
+58000000
+e0a28000
+20207059
+58350200
+e0a28000
+7002750a
+20600000
+20407ea2
+20407ea5
+20407062
+20407e9c
+20407e9f
+18427e00
+20600000
+e8c08000
+1fe17207
+1fe97e00
+c080706c
+18007e01
+18000401
+20600000
+20407e76
+1fe08401
+20600000
+1f227e00
+1fe67c04
+20217069
+c002f073
+c0037076
+c003f07a
+20600000
+e8c08000
+1fe08402
+20600000
+e8c10000
+1ff0fe00
+1fe08403
+20600000
+e8c10000
+1ff0fe00
+e8c90000
+18508400
+18500400
+9840fe00
+1fe08405
+20600000
+476ac03a
+18000e00
+da400000
+d8a0052a
+e9610000
+207a0000
+2040708d
+18e27e00
+c1038000
+19609602
+20207086
+98002600
+68014575
+98000c00
+18e27e00
+c1038000
+78547c00
+e8c08000
+207a0000
+98007200
+e8c10000
+9a667c00
+2422f09a
+78347c00
+c2007096
+e8ca0000
+18c22200
+243470ad
+d8c0052a
+df200007
+e8c20000
+203a70a6
+98467c00
+2022f0ad
+c20070a0
+20600000
+e0aa0000
+18e08e01
+1a220c00
+2040705b
+9a40a400
+98c08c00
+20207090
+1a220c00
+20407062
+98c08c00
+20207090
+476b403a
+68014575
+98000c00
+e8c08000
+203a7fe3
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+20628000
+18a27e00
+60010abb
+600c0aa2
+20407062
+98c08c00
+18c27e00
+68090abb
+18420a00
+680c0aa2
+1fe20c00
+202070b4
+476bc03a
+68014575
+98000c00
+e8c08000
+203a70e4
+98007200
+e8c10000
+9a667c00
+2022f0d4
+c20070cc
+18c08c04
+20407062
+98c08c00
+202070c9
+1f20f3ff
+1f23fe00
+98c08c00
+18c08c04
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+2022ffef
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f0e4
+202070da
+18000c00
+18007e00
+20600000
+476c403b
+68014575
+98000c00
+e8c08000
+203a7100
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+2022f0f4
+20407062
+98c08c00
+202070ea
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+20628000
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f100
+202070f6
+18000c00
+20600000
+da400400
+204070f4
+da400300
+2040710d
+24740000
+1a267c03
+20217fe9
+e8c08000
+c0847fe9
+e8c08000
+20600000
+476cc03b
+20407062
+1fe22200
+e8c08000
+1fe17207
+1fe97e00
+1fe67c03
+2022f129
+1f227e00
+c002f120
+c0037123
+c003f126
+18c08dff
+20407062
+98c08c00
+1a227e00
+98462200
+2022ffe9
+20207110
+1a20a3fe
+18c08c01
+20207110
+1a20a3fd
+18c08c02
+20207110
+1a20a3fb
+18c08c04
+20207110
+1a20a3ff
+1f227e00
+c000f132
+c0017130
+c002712f
+20207fe9
+1a20a3f4
+e8c10000
+1a20a3fe
+e8c10000
+9a467c00
+2022ffe7
+1a20a3fe
+2022ffe9
+20207110
+204052d0
+1fe20a00
+58000006
+e0a08000
+5800006e
+e0a10000
+58000f00
+e0a10000
+581a0535
+e0a18000
+58000111
+1ff07e00
+e0a20000
+58002600
+e0a10000
+58000335
+e0a10000
+58000009
+e0a10000
+58000004
+e0a10000
+70027514
+20600000
+476d403b
+7005e550
+d8a005e6
+d8c0443a
+20407ebf
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+204071d0
+d8a00af2
+20407201
+580f4240
+1fe22200
+68020af2
+9a26fc00
+20407f86
+18077e00
+600209ba
+20600000
+7005e541
+d8a005e6
+204071b5
+204071b0
+6801c454
+e0a18000
+20407176
+d8c0042f
+20407ebf
+d8c0443a
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+202071d0
+680244c7
+e0a20000
+20407ecd
+20207eca
+476dc03b
+7005e541
+d8a005e6
+204071b0
+204071b5
+6801c44d
+e0a18000
+20407176
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+204071d0
+d8a00af2
+20207201
+7005e520
+d8c009fe
+d8a005e6
+20407ebd
+2040720a
+d8c0099e
+20407205
+204071d0
+d8a00ac2
+20407497
+d8400001
+2040719f
+d8a04419
+20407201
+d8400000
+2040719f
+d8a00b12
+20207497
+476e403b
+7005e535
+58000100
+600105e6
+204071b0
+204071b5
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+58006c65
+e0a10000
+58006274
+e0a10000
+e0a88000
+2040720a
+202071d0
+680344a0
+e0a30000
+6800c495
+e0a08000
+20600000
+6803044f
+e0a30000
+6800c48e
+e0a08000
+20600000
+7005e541
+6800c664
+600085e6
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+202071d0
+7005e541
+6800c664
+600085e6
+d8c009be
+20407ebd
+d8c045d2
+20407ebd
+2040720a
+d8c0443a
+20407205
+202071d0
+476ec03b
+2040721f
+680085e5
+1fe20400
+1fe0fe0f
+1ff1fe00
+1fe22400
+203a71e2
+18417e0f
+243a71e5
+da600ad2
+dfe005e6
+1fe0fff0
+9840a200
+d8a00b02
+df200004
+20407edd
+202071f0
+da400001
+da200000
+202071e6
+1841220f
+dfe005e6
+9840fe00
+9a260c00
+d8a00af2
+20407245
+da600ae2
+da200af2
+d8a00b02
+df200004
+20407edd
+20407491
+20407428
+d8c005e6
+1a40a5ff
+1a427e00
+203a71f9
+20407486
+20407422
+202071f3
+d8a00af2
+20407497
+d8c00b02
+20407486
+20407428
+d8c00af2
+20407486
+20207422
+18a22200
+20407497
+df200010
+20207ee5
+d8a00ac2
+20407ebf
+df200010
+da200ac2
+20207ee5
+680085e5
+1fe27200
+da2005e6
+20207ee5
+ea208000
+1fe3fe00
+2a6ffe00
+7920fe00
+2feffe08
+7920a600
+e2208000
+1a20a3ff
+c200720e
+20600000
+da200ad2
+1a20a20f
+18007210
+18002600
+2020720e
+da200ae2
+20207219
+d8c00ac2
+20407484
+18007008
+20407492
+20407491
+2040741f
+d8a00ad2
+20407497
+476f403b
+68008ad2
+2feffe07
+2420f230
+20407218
+da600ad2
+d8a00ad2
+2040723a
+20207231
+20407218
+d8c00ad2
+d8a00ae2
+20407ebf
+68008ae2
+2feffe07
+2420f21d
+2040721d
+da600ae2
+d8a00ae2
+df200003
+d8400000
+20407241
+1a60a604
+c200723b
+d8408700
+18500400
+ea620000
+9842fe00
+e0a20000
+20600000
+476fc03b
+df200010
+dfe00000
+9a267c00
+2022f250
+20217253
+e8c88000
+e0a88000
+1fe0fe01
+c2007248
+20600000
+d8400080
+e0a88000
+2020724d
+d8400000
+20207251
+20407268
+d8c00592
+d8a00582
+20207ebf
+78547c00
+2040735f
+d8c00562
+d8a005a2
+1800720f
+20407f01
+e8c08000
+1fe2fe06
+e0a08000
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+6808c689
+18002410
+1840a606
+1a667c10
+2021726e
+18002610
+d8a005a2
+d8c0468a
+18427200
+78547c00
+e8c08000
+e0a08000
+1a40a5ff
+2022f27c
+c2007272
+2034726f
+78347c00
+18007206
+1a220c00
+20207272
+d8c00562
+d8a005b2
+20407ebf
+680085c1
+9a62fe00
+600085c1
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+78547c00
+2040735f
+20207292
+da200056
+78347c00
+2040735f
+20407292
+d8c00592
+d8a00062
+20207ebf
+58000562
+600105d6
+580041be
+600105d4
+793f8012
+204072a8
+da200592
+da400562
+d8a005a2
+20407352
+da2005a2
+da4005b2
+1a420a00
+78347c00
+20407350
+2040736a
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+7005d800
+680105d4
+98000c00
+d8a005c2
+20407ebf
+680105d6
+98000c00
+d8a00592
+20407ebf
+204072cf
+78547c00
+c58972b9
+680085d8
+c08272b9
+680105d6
+98002400
+20407301
+20407300
+20407313
+680085d8
+1fe0fe01
+600085d8
+204072cf
+78347c00
+20407300
+20407322
+20407331
+20407322
+20407331
+20407322
+20407331
+20407322
+680085d8
+1fe0fe01
+600085d8
+c08872b1
+204072cf
+78547c00
+20207300
+680085d8
+d8c005c2
+203a72f6
+98002400
+18007211
+18c20a00
+e8c08000
+1fe98400
+1feb7e00
+1fe97e00
+9841fe00
+e0a08000
+c20072d5
+580005c2
+9a408c00
+18007210
+d8a00572
+e8c08000
+e0a08000
+28c1ffd3
+2420f2e5
+18c08def
+c20072e0
+18002200
+1a40a7ff
+1a6ba600
+1a6ba600
+204074b9
+58008400
+9a60a600
+d8a00572
+18007210
+ea688000
+e8a08000
+9840fe00
+e0a08000
+1a60a601
+c20072ef
+202074bd
+18007210
+18000400
+e8c08000
+98428400
+c20072f8
+18427e00
+e0c08000
+d8c005c2
+d8a00572
+20207ebf
+da400572
+18007210
+da200592
+1a220a00
+ea288000
+ea408000
+9842e000
+1f212603
+2434730a
+1a62a603
+1a662601
+2021730d
+9840e000
+1e027e00
+e0a08000
+1a20a201
+1a40a401
+c2007304
+20600000
+204074b9
+18007210
+da200592
+ea208000
+d8c08500
+1f212603
+1a667c01
+2021731c
+d8c08600
+98c08c00
+e8c08000
+e2208000
+1a20a201
+c2007316
+202074bd
+18007208
+d8c00592
+18c20a00
+e8c08000
+98002200
+e8c08000
+98002400
+1a23fe00
+9a40fe00
+e0a08000
+1a227e00
+9a40fe00
+e0a08000
+c2007325
+20600000
+588ae42c
+98000400
+18007207
+20407340
+580d751b
+98000400
+18007205
+20407340
+680085a1
+98002200
+68008595
+600085a1
+1a227e00
+60008595
+20600000
+1841240f
+18417e0f
+d8a00592
+98a08a00
+e8a08000
+98002600
+1a227e00
+e0a08000
+1a622200
+18518400
+c2007341
+58000592
+9a408a00
+1a227e00
+e0a08000
+20600000
+78347c00
+20207353
+78547c00
+18007210
+ea288000
+ea408000
+20347359
+9842fe00
+2020735a
+9840fe00
+e0a08000
+1a20a201
+1a40a401
+c2007354
+20600000
+d8a005b2
+ea230000
+e0a30000
+20347365
+ea230000
+20207366
+e8c30000
+e0a30000
+ea220000
+e0a20000
+20600000
+d8c041be
+d8a005a2
+d8400000
+588395a7
+2040738b
+58b3c1df
+2040738b
+5800e5e9
+2040738c
+18422800
+78547c00
+20407379
+1a820400
+78347c00
+20207379
+18007208
+e8c08000
+2f200201
+20347380
+2020f381
+9840fe00
+20207382
+2020f37e
+9842fe00
+e0a08000
+184c8400
+c200737a
+20600000
+68030596
+60030056
+e8c30000
+e0a30000
+20600000
+184d0400
+18500400
+98418400
+20600000
+2020738f
+4770403c
+2040742b
+d8a04419
+20207497
+d8a0443a
+2034f397
+d8a0042f
+18c22200
+20407ebf
+20407440
+d8c0442a
+202074b0
+da20042f
+2034f39f
+da20443a
+1a220a00
+2040630c
+20207440
+d8c044aa
+20407486
+d8c04419
+20407487
+18006c38
+18006c00
+2040741d
+d8a0047c
+20207497
+18007e49
+202073ae
+18007e01
+18007000
+184d5e00
+9de1de00
+1f00f001
+184cde00
+1df15e00
+68014411
+1ff07e00
+9de1de00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+e8c10000
+1a30de00
+1df05e00
+9de1de00
+1f00f001
+20600000
+1a608c01
+e8c08000
+98002200
+204073ab
+2040741f
+18007000
+ea608000
+1fe17e03
+1ff05e00
+79205e08
+2040748f
+20407422
+1a227200
+1a608c02
+2040746e
+20407478
+20407422
+1f227e00
+203a73d5
+202073d0
+1800700c
+1de27e00
+60020417
+20600000
+1a20a201
+204073ad
+1a620c00
+20407482
+20407425
+2040749e
+1a60a610
+1a40a5f0
+202173d9
+20600000
+4770c03c
+da6043dc
+680ac403
+204073c1
+18007008
+98005e00
+18002200
+204073ad
+20407425
+da6043de
+6800c3dd
+1fe0a5ff
+9a608a00
+1800700c
+1de27e00
+e0a20000
+204073d9
+6800c3dd
+1fe0fe04
+6000c3dd
+680ac403
+18408401
+600ac403
+20600000
+4771403c
+680082da
+1fe67c14
+202173ff
+da6002db
+1fe0a5ff
+1fe0fffc
+600082da
+9a608c00
+e8c20000
+18007008
+98005e00
+18002200
+680ac408
+204073ad
+20407425
+1800700c
+1de27e00
+6002041b
+204073d9
+da6002d9
+204073c1
+680a041b
+98467e00
+247a0000
+6802440d
+98467e00
+207a0000
+600a440d
+6802c408
+1fe0fe01
+6002c408
+18007e00
+20600000
+243bf41d
+20600000
+18006c30
+18006c00
+2020741d
+18006c32
+18006c02
+2020741d
+18006c34
+18006c04
+2020741d
+18006c01
+18006c00
+20600000
+18007000
+6802042f
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+6802443a
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c08
+2020741d
+4771c03c
+680344a0
+680b044f
+2034f446
+6803044f
+680b44a0
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c48e
+6808c485
+2434f456
+6800c495
+6808c48e
+6000c44a
+6008c44b
+18007000
+da40444a
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c200745b
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c0c
+2040741d
+20407491
+18006c3a
+18006c08
+2020741d
+2f200600
+20608000
+18c27e00
+9f208a00
+18007e00
+e0a08000
+1f20f201
+2f200600
+20608000
+20207473
+18007000
+1f227e00
+203a747d
+e8c20000
+1f20f3fc
+98005e00
+1f00f001
+2f001e04
+20608000
+20207479
+18007008
+20207487
+18007004
+20207487
+18007000
+18007204
+e8c20000
+98005e00
+1f00f001
+c2007488
+20600000
+d8c0047c
+20207484
+18007204
+20207494
+18007000
+18007204
+18005e00
+1f00f001
+c2007493
+20600000
+1800700c
+18007204
+1de27e00
+e0a20000
+1f00f001
+c2007499
+20600000
+1800700c
+1a620a00
+1a40f201
+1f267c0f
+202174a4
+18007210
+1de27e00
+1f267c03
+202174ac
+e0a20000
+1f20f3fc
+20628000
+1f00f001
+202074a4
+e0a08000
+1fecfe00
+c20074ac
+20600000
+1800700c
+18007204
+e8c20000
+9de67c00
+24628000
+1f00f001
+c20074b2
+18007c00
+20600000
+68108050
+793ffe00
+60108050
+20600000
+68108050
+79207e00
+60108050
+20600000
+d8a00886
+3803ffff
+3807ffff
+380bffff
+380ffbff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bcfff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffef
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+38066c7f
+3808146b
+380f7bb3
+e0a48000
+3801feb8
+38050c12
+380ab722
+380e9fa6
+e0a48000
+3800e70f
+38056720
+3808519e
+380d9084
+e0a48000
+38031012
+380760bf
+380bf0af
+380c03d3
+e0a48000
+3803a188
+38043ad0
+380bcbf2
+380e43d9
+e0a48000
+3802b030
+38076a03
+38091188
+380de520
+e0a48000
+3803a11e
+3804fe5d
+3808dd57
+380dac93
+e0a48000
+380011ed
+380618c4
+38088da7
+380e57ff
+e0a48000
+3803192b
+38074641
+3809be0c
+380f66ad
+e0a48000
+38001f83
+38055a23
+380bf9b0
+380c3949
+e0a48000
+38013a51
+380553fd
+380b372a
+380cf1bb
+e0a48000
+3803ae85
+3805eed9
+38089e66
+380c01a8
+e0a40000
+20600000
+d8a0091e
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3804003f
+38080000
+380c0000
+e0a48000
+38000000
+38040000
+38081000
+380c0000
+e0a48000
+3803ff00
+3807ffff
+380bffcf
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380c03ff
+e0a48000
+38000000
+38040000
+38080000
+380c0000
+e0a48000
+38010000
+38040000
+380bf000
+380fffff
+e0a48000
+380296ff
+38062630
+380b945d
+380fd284
+e0a48000
+380333a0
+38044b7a
+380837d8
+380fc9dc
+e0a48000
+3803a440
+3805b958
+380b8bce
+380d091f
+e0a48000
+3802e12c
+3805f47c
+380b56b1
+380efd47
+e0a48000
+38006837
+3806ed90
+3809ecec
+380dacc5
+e0a48000
+38023357
+38058af3
+3808f9e1
+380d29f0
+e0a48000
+3802e7eb
+3807e6e3
+380be1a7
+380d0b8b
+e0a48000
+38024fe3
+380420ef
+3809b5a6
+380cdc2f
+e0a48000
+38013860
+3806bd69
+3808391a
+380db222
+e0a48000
+20600000
+6800c65a
+243a757d
+20207a77
+4772403c
+6800c65a
+207a0000
+6800c5b1
+c1808000
+6800c4be
+207a0000
+6800c4c3
+c1018000
+68014682
+c280757b
+6800c4c0
+c0007a77
+20600000
+7044c000
+20600000
+4772c03c
+6800c65a
+203a612b
+20406124
+20407583
+2020766d
+58000000
+600409ae
+600209b6
+6003c65e
+20600000
+7009b001
+2020758d
+6800c5b1
+c000f68a
+20202a8c
+6800c5b1
+c000f590
+2020766d
+2040768a
+680089af
+247a0000
+7009ae03
+20600000
+204075b0
+da2009de
+d8a00866
+20407c79
+da2009be
+d8a00826
+20407c79
+da200826
+da4009be
+d8a00826
+20407be1
+da20093e
+da4009be
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20407c7d
+df200020
+da200866
+da400806
+20207f88
+da20097e
+d8a00806
+20407c79
+da20095e
+d8a00826
+20407c79
+da200826
+da40095e
+d8a00826
+20407be1
+da20093e
+da40095e
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20207c96
+204075e1
+da2009e6
+d8a00866
+204077a8
+da2009c6
+d8a00826
+204077a8
+da200826
+da4009c6
+d8a00826
+20407786
+da20089e
+da4009c6
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20407755
+df200018
+da200866
+da400806
+20207f88
+da2008e6
+d8a00806
+204077a8
+da2008ce
+d8a00826
+204077a8
+da200826
+da4008ce
+d8a00826
+20407786
+da20089e
+da4008ce
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20207758
+680089b2
+c0807615
+20407612
+d8a00a7e
+58000a2e
+e0a10000
+58004642
+e0a10000
+580009de
+e0a10000
+20207609
+d8a00a7e
+58000a3e
+e0a10000
+580009de
+e0a10000
+58004642
+e0a10000
+204079a0
+680089af
+c002760f
+7009b001
+7009ae05
+20600000
+7009af14
+2040758a
+202076d8
+d8a00a1e
+18000e08
+202076a2
+7009b001
+20600000
+4773403c
+d8a00727
+680340a0
+e0a30000
+68030040
+e0a30000
+6801c65e
+e0a18000
+20407a0d
+da200a4e
+da400a5e
+18000e04
+204076a7
+2420f631
+20407628
+70007d41
+202062f8
+680089af
+c004f62e
+7009ae0a
+7009b001
+70007c03
+20600000
+70007c03
+7009af15
+202076d8
+680089af
+c004f637
+7009ae00
+70007c04
+70007e05
+20600000
+70007c04
+7009af00
+20600000
+680089b3
+c000f63e
+7009af0a
+202076d8
+d8a00727
+68030040
+e0a30000
+680340a0
+e0a30000
+6801c65b
+e0a18000
+20407a24
+680089af
+c005764b
+7009ae0b
+7009b001
+20600000
+7009af0b
+7009b101
+20600000
+d8a00a7e
+68030040
+e0a30000
+680340a0
+e0a30000
+58000a2e
+e0a10000
+58000a3e
+e0a10000
+20207662
+7009ae0f
+d8a00a7e
+680340a0
+e0a30000
+68030040
+e0a30000
+58000a3e
+e0a10000
+58000a2e
+e0a10000
+d8a00727
+68030a7e
+e0a30000
+68030a84
+e0a30000
+204079d7
+7041bd01
+d8a041be
+d8c00a4e
+20407ebf
+202021c4
+4773c03c
+6800c5b1
+c1800000
+680089b2
+c1800000
+d8a04612
+18000e0b
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c008ce
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b201
+20600000
+d8a0462a
+d8c0062e
+20407ebc
+7045b101
+7009b200
+20600000
+4774403d
+680089b9
+c1800000
+680089b2
+c1800000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c009c6
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b202
+20600000
+7009b301
+d8a00a06
+d8c0062e
+20407ebe
+7009b901
+7009b200
+20600000
+18e08fff
+24610000
+180a7e00
+e0a10000
+202076a2
+18e08fff
+242176b3
+ea220000
+1fe20400
+ea420000
+9842fe00
+2422f6b1
+1a20a204
+1a40a404
+202076a7
+7840fc00
+20600000
+7820fc00
+20600000
+4774c03d
+680089b0
+207a0000
+204062bc
+247a0000
+7009b000
+680089ae
+c001e1fd
+c002e21a
+c003e225
+c005e23a
+c0017588
+c00275f7
+c004f617
+c005763a
+c0067658
+20600000
+4775403d
+680089b1
+207a0000
+204062bc
+247a0000
+7009b100
+680089af
+c00961e0
+c009e1e5
+c001e1e9
+c0027602
+c00a61ed
+c003e1fb
+c005763a
+c005e239
+c004f617
+c00ae233
+20600000
+7009b101
+20600000
+7009b100
+20600000
+4775c03d
+6800c65a
+207a0000
+680089b2
+207a0000
+1fe0fe80
+600089b2
+c3838000
+680085e3
+203a76e7
+20207a68
+204078d3
+680089b2
+c000f684
+c001769b
+20600000
+1fe10e07
+1fe97e00
+98c08c00
+e8c08000
+afec0000
+20600000
+20407ebe
+20407ebe
+20207ebe
+e8c40000
+247a0000
+e8c40000
+247a0000
+e8c40000
+20600000
+ea220000
+98000400
+ea420000
+98467c00
+24628000
+1a20a204
+1a40a404
+c20076fb
+20600000
+18007206
+1a20a214
+1a40a414
+ea420000
+98000400
+ea220000
+98467e00
+24610000
+247a0000
+1a20a3fc
+1a40a5fc
+c2007707
+20600000
+18007206
+18002600
+ea220000
+98000400
+ea420000
+9840fe00
+9a60fe00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007713
+20600000
+18007206
+18002600
+ea420000
+98000400
+ea220000
+98467e00
+9a667e00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007721
+20600000
+18007206
+1a20a214
+18002600
+ea220000
+2feffe00
+7920a601
+1fe37e00
+2a6ffe00
+7920fe1f
+e2220000
+1a20a3fc
+1a632600
+c2007730
+20600000
+18007206
+18002600
+ea220000
+2feffe1f
+7920a601
+1fe3fe00
+2a6ffe00
+7920fe00
+e2220000
+1a20a204
+1a632600
+c200773d
+20600000
+2040773b
+2a6ffe00
+2020f751
+da400886
+1a222600
+1a20a3e8
+20407704
+24610000
+1a622200
+1a20a3e8
+da400886
+1a220a00
+2020771f
+20407711
+18a22200
+20207749
+2040771f
+2a6c0000
+20608000
+da400886
+18a0a3e8
+1a220a00
+20207711
+18a21600
+1a226000
+da400716
+1a420a00
+1a208c18
+e8c40000
+e0a40000
+e0a40000
+18007e00
+e0a40000
+19620a00
+20407755
+da400716
+1a420a00
+18007e00
+e0a40000
+1e008c20
+e8c40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20407755
+da400716
+1a420a00
+1e008c28
+e8c40000
+e0a40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20207755
+18007206
+e8c20000
+98005e00
+1f00f001
+c2007781
+20600000
+18a21600
+d8a006e6
+20407ec5
+d8a006e6
+1a220c00
+18007000
+20407780
+1a420c00
+20407780
+18002400
+18000400
+18002606
+e8a20000
+98002200
+1a427000
+1de27e00
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe0c
+2420f792
+18427e00
+e0a20000
+18a08be8
+1a40a401
+2a41fe06
+2420f790
+da2006e6
+19620a00
+2020775f
+1a222400
+20207786
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+2040772d
+ea408000
+2fec0000
+2020f7ba
+da200886
+1a420a00
+20407711
+ea408000
+9a60fe00
+e2408000
+1a40a5e8
+1a40a218
+18007207
+2040772f
+202077ab
+18a21600
+d8a00746
+20407ec5
+18007e00
+600206fe
+6002075e
+70074601
+d8a006e6
+20407ec5
+d8c00886
+d8a00716
+20407ebe
+1a220c00
+d8a0072e
+20407ebe
+d8c0072e
+204076f5
+203a77f6
+da20072e
+da400746
+204077aa
+da200716
+da4006e6
+204077aa
+da20072e
+da400716
+20407704
+202177e8
+da200716
+da40072e
+1a220a00
+2040771f
+da200746
+da4006e6
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+da20072e
+da400716
+1a220a00
+2040771f
+da2006e6
+da400746
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+d8a00746
+20407ec5
+680086fe
+60008746
+6000874e
+da200746
+da4006e6
+1a420a00
+20407755
+da200886
+da4006e6
+19620a00
+20207758
+da2006a6
+d8a0075e
+204077a8
+da20075e
+d8a00776
+204077a8
+da20089e
+da400776
+d8a00776
+20407786
+da200676
+d8a0075e
+204077a8
+d8c0075e
+d8a0072e
+20407ebe
+da20072e
+20407748
+da20075e
+da40072e
+d8a0075e
+20407755
+da20075e
+da400776
+d8a0075e
+20407755
+d8c00676
+d8a0072e
+20407ebe
+da20068e
+d8a00776
+204077a8
+da20072e
+20407748
+da20072e
+20407748
+da20072e
+da400776
+d8a0072e
+20407786
+da200776
+d8a00746
+204077a8
+da200746
+20407748
+da200746
+20407748
+da200746
+20407748
+d8c0068e
+d8a00776
+20407ebe
+da200776
+20407748
+da200776
+da4006a6
+d8a006a6
+20407786
+da20075e
+d8a00776
+204077a8
+da200776
+da40072e
+d8a00776
+20407758
+da200776
+da40072e
+d8a00676
+20407758
+da20072e
+da400676
+d8a00776
+20407758
+da200776
+da40075e
+d8a00776
+20407786
+da200776
+da400746
+d8a0068e
+20207758
+da200616
+d8a0078e
+204077a8
+da200676
+da40078e
+d8a00746
+20407786
+da200616
+da40078e
+d8a0078e
+20407786
+da20068e
+da40078e
+d8a0072e
+20407786
+da2006a6
+d8a0078e
+204077a8
+da2005e6
+da40078e
+d8a0075e
+20407786
+da2006a6
+da40078e
+d8a0078e
+20407786
+da2005fe
+da40078e
+d8a00776
+20407786
+da200746
+da40075e
+d8a0078e
+20407758
+da200746
+da40075e
+d8a00746
+20407755
+da20072e
+da400776
+d8a0075e
+20407758
+da20072e
+da400776
+d8a0072e
+20407755
+da20072e
+da40078e
+d8a0072e
+20407786
+da2006a6
+da400616
+d8a00776
+20407786
+da200776
+da40078e
+d8a006a6
+20407786
+da20078e
+d8a0078e
+204077a8
+da20078e
+da400746
+d8a00776
+20407786
+da20078e
+da40072e
+d8a0072e
+20407786
+da20075e
+d8a00676
+204077a8
+da200676
+da400776
+d8a00676
+20407758
+d8c00676
+d8a0078e
+20407ebe
+da20078e
+20407748
+da200776
+da40078e
+d8a00776
+20407758
+da200776
+da40075e
+d8a0075e
+20407786
+da20075e
+da40072e
+d8a0068e
+20407758
+da20068e
+da400886
+d8a0068e
+18002600
+6800868e
+2feffe00
+2040f711
+1a626000
+da20068e
+2040772d
+680086a5
+2e0ffe00
+7920fe07
+600086a5
+20600000
+680085e3
+1fe0ffff
+24610000
+600085e3
+680085e2
+205a7803
+680085e3
+d8c006be
+204076ec
+2020f8c0
+680085e2
+243a78ce
+20407854
+202078c0
+7005e200
+d8c005e6
+d8a00676
+204076f2
+202078c0
+da2006a6
+d8a00776
+204077be
+da200776
+d8a0072e
+204077a8
+da200676
+da40072e
+d8a0062e
+20407786
+da200776
+da40072e
+d8a0075e
+20407786
+da20068e
+da40075e
+d8a00646
+20207786
+e8c20000
+18002204
+18a08a03
+e0a08000
+1fecfe00
+18a08bfe
+1a20a3ff
+2422f8e8
+18a08a05
+c20078e5
+20600000
+18ebfe00
+99608c00
+e8c20000
+20600000
+18006010
+d96005e6
+1e008ff9
+204078f0
+98000400
+1e008ff0
+204078f0
+98408400
+1e008ffe
+204078f0
+1fee7e01
+98408400
+1e008ff1
+204078f0
+1fee7e00
+98408400
+1e0bfe00
+99608a00
+e0aa0000
+1e00e001
+2e01fe40
+2420f8f6
+20600000
+d8c008fe
+18007007
+e8c20000
+98005e00
+1f00f1ff
+2021790d
+20600000
+4776403d
+204078f4
+d8a006e6
+18007000
+1de27e00
+e0a20000
+1f00f001
+2f01fe08
+2420f916
+204074b9
+d9608700
+de0005e6
+18007240
+ee0a0000
+e9620000
+19609604
+1e00e004
+9840fe00
+18007007
+9de08400
+18007004
+1dee7e03
+98408400
+18007005
+1de27e00
+18007006
+9de2fe00
+18007004
+9de17e00
+18007006
+9de2fe00
+98408400
+18007007
+18425e00
+18007003
+1de27e00
+9840de00
+18007000
+1de27e00
+18007001
+9de10400
+9de1fe00
+18007002
+9de17e00
+98418400
+18007000
+1dee7e02
+9840fe00
+18007007
+9de0de00
+980efc00
+c200791f
+d8c006e6
+18007000
+e8c20000
+9de0de00
+1f00f001
+2f01fe08
+2420f948
+202074bd
+d8a00a3e
+18007007
+1de27e00
+e0a20000
+1f00f1ff
+20217950
+20600000
+d8a005e6
+18c08dfc
+1f262210
+e8c20000
+9842fe00
+e0a20000
+18c08df8
+c2007958
+1a227200
+18427e00
+e0a20000
+c200795f
+20600000
+20407967
+2040794e
+2020798d
+20407967
+2020798d
+d8c009de
+d8a005e6
+18007206
+20407a71
+d8c04642
+18007206
+20407a71
+d8c00a3e
+20407a70
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20207984
+d8c04642
+d8a005e6
+18007206
+20407a71
+d8c009de
+18007206
+20407a71
+d8c00a2e
+20407a70
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407984
+2020798d
+20407a70
+58800000
+1fed7e00
+e0a20000
+18007205
+20407ec6
+58000280
+e0a20000
+20207912
+68020a3e
+da2003e8
+9a26fc00
+20407f86
+18077e00
+600209ba
+1807fe00
+da2003e8
+9a26fc00
+20407f86
+18077e00
+da2003e8
+9a2ffe00
+680a09ba
+9840fe00
+600209ba
+20600000
+70466400
+202079a2
+6800c662
+c081799e
+4776c03d
+58363636
+1fed0400
+18418436
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+68010a80
+1fe20c00
+d8a005e6
+18007206
+20407a71
+68010a82
+1fe20c00
+18007206
+20407a71
+58800000
+e0a18000
+6800c664
+e0a08000
+18007e00
+e0a40000
+58000388
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+68010a8a
+1fe20c00
+d8a005e6
+20407a70
+68010a8c
+1fe20c00
+20407a70
+5862746c
+1fed7e00
+1fe1fe6b
+e0a20000
+d8c00733
+18007203
+20407a71
+58800000
+1fed7e00
+e0a20000
+18007e00
+e0a40000
+58000380
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+6800c662
+c0817a1e
+4777403d
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407a70
+d8c00a2e
+20407a70
+20207a33
+58000000
+6002468a
+20207a0f
+58000000
+6002468a
+20207a26
+6800c662
+c0817a21
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20407a70
+d8c00a3e
+20407a70
+58000000
+e0a40000
+e0a20000
+6802468a
+e0a20000
+18a20400
+70072680
+18420a00
+d8c00736
+20407a70
+20407912
+d8a005e6
+18007207
+20407ec6
+e0a20000
+580003f8
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+7005e3c0
+680085e3
+207a0000
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+2020fa5e
+d8c005e6
+d8a00676
+202076f2
+20407803
+680085e3
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+20608000
+20207854
+18007204
+18c08dfc
+e8c20000
+e0a20000
+18c08df8
+c2007a72
+20600000
+4777c03d
+6800c4be
+203a5af0
+20405aec
+20407583
+20207a7d
+6800c4c3
+c1800000
+6800c4c0
+c1800000
+d8a045b2
+18000e0f
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c0095e
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c003
+20600000
+d8a045d2
+d8c006a6
+20407eb3
+7044c303
+7044c000
+20600000
+680089b9
+c1800000
+6800c4c0
+c1800000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c009be
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c004
+20600000
+d8a009fe
+d8c006a6
+20407ebd
+7009b903
+7044c000
+20600000
+6800c4be
+207a0000
+6800c4c0
+207a0000
+1fe0fe80
+6000c4c0
+c3838000
+680105e3
+203a7ab9
+20207abf
+4778403e
+20407ad4
+6800c4c0
+c001fa93
+c0027aa9
+20600000
+20407ae6
+680105e3
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+20608000
+20207b37
+4778c03e
+58000100
+600105e3
+680105e3
+207a0000
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+2020faca
+d8c00646
+d8a00706
+20207eb2
+da200746
+d8a00846
+20407ba3
+da200846
+d8a007e6
+20407c79
+da200706
+da4007e6
+d8a006a6
+20407be1
+da200846
+da4007e6
+d8a00826
+20407be1
+da200726
+da400826
+d8a006c6
+20207be1
+da200746
+d8a00826
+20407c79
+da200826
+d8a00846
+20407c79
+da20093e
+da400846
+d8a00846
+20407be1
+da200706
+d8a00826
+20407c79
+d8c00826
+d8a007e6
+20407ebd
+da2007e6
+20407c80
+da200826
+da4007e6
+d8a00826
+20407c7d
+da200826
+da400846
+d8a00826
+20407c7d
+d8c00706
+d8a007e6
+20407ebd
+da200726
+d8a00846
+20407c79
+da2007e6
+20407c80
+da2007e6
+20407c80
+da2007e6
+da400846
+d8a007e6
+20407be1
+da200846
+d8a00806
+20407c79
+da200806
+20407c80
+da200806
+20407c80
+da200806
+20407c80
+d8c00726
+d8a00846
+20407ebd
+da200846
+20407c80
+da200846
+da400746
+d8a00746
+20407be1
+da200826
+d8a00846
+20407c79
+da200846
+da4007e6
+d8a00846
+20407c96
+da200846
+da4007e6
+d8a00706
+20407c96
+da2007e6
+da400706
+d8a00846
+20407c96
+da200846
+da400826
+d8a00846
+20407be1
+da200846
+da400806
+d8a00726
+20207c96
+da200686
+d8a00866
+20407c79
+da200706
+da400866
+d8a00806
+20407be1
+da200686
+da400866
+d8a00866
+20407be1
+da200726
+da400866
+d8a007e6
+20407be1
+da200746
+d8a00866
+20407c79
+da200646
+da400866
+d8a00826
+20407be1
+da200746
+da400866
+d8a00866
+20407be1
+da200666
+da400866
+d8a00846
+20407be1
+da400806
+da200826
+d8a00866
+20407c96
+da200806
+da400826
+d8a00806
+20407c7d
+da4007e6
+da200846
+d8a00826
+20407c96
+da2007e6
+da400846
+d8a007e6
+20407c7d
+da2007e6
+da400866
+d8a007e6
+20407be1
+da200746
+da400686
+d8a00846
+20407be1
+da200846
+da400866
+d8a00746
+20407be1
+da200866
+d8a00866
+20407c79
+da200866
+da400806
+d8a00846
+20407be1
+da200866
+da4007e6
+d8a007e6
+20407be1
+da200826
+d8a00706
+20407c79
+da200706
+da400846
+d8a00706
+20407c96
+d8c00706
+d8a00866
+20407ebd
+da200866
+20407c80
+da200846
+da400866
+d8a00846
+20407c96
+da200846
+da400826
+d8a00826
+20407be1
+da200826
+da4007e6
+d8a00726
+20407c96
+da200726
+da40091e
+d8a00726
+18002600
+68008726
+2feffe00
+2040fc7b
+1a626000
+da200726
+20407cab
+68008745
+2e0ffe00
+7920fe07
+60008745
+20600000
+18a21600
+d8a00806
+20407ed0
+18007e00
+60020826
+70080601
+d8a00786
+20407ed2
+d8c0091e
+d8a007c6
+20407ebd
+1a220c00
+d8a007e6
+20407ebd
+d8c007e6
+20407cb5
+203a7bda
+da2007e6
+da400806
+20407cb8
+da2007c6
+da400786
+20407cb8
+da2007e6
+da4007c6
+20407cb1
+20217bcc
+da2007c6
+da4007e6
+1a220a00
+20407ca9
+da200806
+da400786
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da2007e6
+da4007c6
+1a220a00
+20407ca9
+da200786
+da400806
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da200786
+19620a00
+20407c0a
+da20091e
+19622400
+19620a00
+20207c96
+18a21600
+18007000
+d8a00786
+20407ed2
+d8a00ad2
+20407ed2
+1a220c00
+700ad200
+58000000
+20407c73
+1a420c00
+20407c77
+18000e00
+d8a00786
+d8400ad2
+18e22400
+1a4bfe00
+9840a400
+18000400
+18002600
+e8a20000
+98002200
+ea420000
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe08
+2420fbf5
+18427e00
+e0a20000
+18a08be0
+18e08e01
+28e1fe08
+2420fbef
+da200786
+19620a00
+20207c0a
+4779403e
+18a21600
+1a226000
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1a208c2c
+20407eb9
+20407eb5
+1a422200
+20407c80
+da4007c6
+1e022200
+19620a00
+20407c7d
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1e008c30
+20407ebf
+20407ecd
+1a422200
+20407c80
+da4007c6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c20
+20407eb5
+20407ecd
+e0a40000
+1e008c38
+20407eb9
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c24
+20407eb5
+1e008c34
+20407eb5
+1e008c34
+20407eb6
+1e008c20
+20407eb6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c2c
+20407eb5
+20407ecd
+e0a40000
+1e008c20
+20407eb6
+1e008c28
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c30
+20407eb9
+20407eb9
+18007e00
+e0a40000
+1e008c24
+20407eb6
+1e008c2c
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c34
+20407eb5
+1e008c20
+20407eb5
+20407ecd
+1e008c30
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c38
+20407eb9
+20407ecd
+1e008c24
+20407eb5
+20407ecd
+1e008c34
+20407eb6
+19622200
+1a220a00
+20207c96
+18007220
+d8a00ad2
+98a08a00
+20207f01
+18007208
+20207781
+1a222400
+20207be1
+18007208
+20207712
+20407c7b
+18a22200
+20207c81
+20407cae
+2a6ffe00
+2020fc8a
+da40091e
+1a222600
+1a20a3e0
+20407cb1
+24610000
+1a622200
+20207c92
+20407c92
+1a222600
+1a20a3e0
+da40091e
+20407cb1
+24610000
+1a622200
+20207c92
+1a20a3e0
+da40091e
+1a220a00
+20207ca9
+20407ca9
+2020fca0
+18a0a3e0
+da40091e
+20407cb1
+24610000
+da40091e
+18a0a3e0
+1a220a00
+20207ca9
+18a0a3e0
+da40091e
+1a220a00
+20407c7b
+20608000
+18a0a3e0
+da40091e
+1a220a00
+20207c7b
+18007208
+20207720
+18007208
+1a20a21c
+2020772f
+18007208
+18002600
+2020773d
+18007208
+1a20a21c
+1a40a41c
+20207707
+e8c40000
+247a0000
+202076f5
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+20407cab
+ea408000
+2fec0000
+2020fcc8
+da20091e
+1a420a00
+20407c7b
+ea408000
+9a60fe00
+e2408000
+1a40a5e0
+1a40a220
+18007209
+2040772f
+20207cb9
+20402c65
+20758000
+20407cd3
+20407d75
+20207d08
+20407d29
+20207d64
+6800c686
+c17f8000
+98000400
+2040680e
+6808c686
+20406825
+20000064
+6808c686
+204067fb
+20207cdd
+4779c03e
+6800c686
+c17f8000
+1fe20400
+2040681d
+2420fcef
+20407cf9
+68014682
+79207e0c
+60014682
+6800c679
+c1000000
+70467900
+6800c685
+6000c678
+20407d00
+700a992c
+20207d86
+68014682
+793ffe0c
+60014682
+6800c679
+c1008000
+70467901
+70467800
+20407d02
+700a992d
+20207d86
+6800c678
+207a0000
+1fe0ffff
+6000c678
+247a0000
+700a9910
+20207d86
+d8e00007
+20202c32
+d8e00007
+20202c36
+6801421b
+1a2fa40b
+9a40a400
+20600000
+6800c21a
+207a0000
+1fe27200
+6801421b
+1fe22400
+1a40a602
+ea688000
+2040680e
+20407d32
+1a40a40b
+c2007d0d
+20600000
+20407d04
+58000002
+e2408000
+20407d5e
+20207d35
+20407d04
+58000003
+e2408000
+20407d5e
+20207d32
+20407d04
+58000001
+e2408000
+580000ff
+e0a08000
+20207d32
+20407d04
+df20000b
+1a620c00
+1a420a00
+20207ef4
+6800c21a
+207a0000
+da200000
+20407d38
+1a20a201
+6800c21a
+9a267c00
+20628000
+20207d2c
+1a40a602
+ea688000
+20206825
+1a40a602
+ea688000
+20206829
+1a208e0b
+20407f16
+247a0000
+20407d04
+ea408000
+c0017d35
+c001fd32
+c0007d32
+c002fd4c
+20407d35
+1a40a607
+20407e7c
+ea610000
+20407f9c
+20407e8c
+58000005
+e2408000
+1a40a603
+ea610000
+20207d5c
+20407d32
+1a40a609
+20407e7c
+ea610000
+20407f9c
+20407e8c
+1a40a601
+ea608000
+c07ffd58
+1fe0ffff
+e2608000
+203a7d19
+58000004
+e2408000
+1a40a605
+ea610000
+1a208e0b
+20207f08
+58000000
+20207d5c
+58001000
+1ff07e00
+9a40a400
+20600000
+477a403e
+da200000
+680a467a
+1c422400
+1a427e00
+98467c00
+24417d60
+1a427e00
+184084a0
+184084a0
+98467c00
+24217d78
+1a20a201
+1a217e0f
+243a7d6b
+da200000
+20407d7f
+1c427e00
+6002467a
+20600000
+477ac03e
+1a227e00
+207a0000
+18408560
+18408560
+793f841c
+600a467a
+2020335f
+70466601
+6800c667
+243a7d81
+20600000
+70466600
+20600000
+477b403e
+20407d80
+1a227e00
+60020a91
+da204668
+20407fb8
+68020a91
+1fe22200
+20207d84
+477bc03e
+20407d80
+1a227e00
+60020a91
+da204670
+20407fb8
+68020a91
+1fe22200
+20207d84
+58000000
+60044670
+60044668
+20600000
+477c403f
+6800c1ce
+247a0000
+da204670
+20407fd0
+207a0000
+700a9000
+20407da7
+68008a90
+203a7d9c
+20600000
+20407d80
+da204670
+20407fc4
+1fe20400
+20407d84
+477cc03f
+18427e00
+207a0000
+c000fddd
+c0017de2
+c001fde8
+c003fded
+c0047dee
+c004fdef
+c005fdf2
+c0067df3
+c006fdf4
+c0077dfa
+c007fdff
+c0087e05
+c009fe0f
+c00a7e11
+c00afe13
+c00b7e15
+c00bfe18
+c00c7e1a
+c00cfe1d
+c00dfe25
+c00f7e2f
+60008a99
+477d403f
+204062bc
+243a7ddb
+68008a99
+c584fdd6
+c0027dea
+c002cd17
+c0034d26
+c0057df0
+c008fe0a
+c0097e0e
+c00efe26
+c00fe7cc
+c01067d0
+c010fe31
+c012e70b
+20600000
+60008a99
+20402252
+2022fddb
+2040225a
+24628000
+700a9001
+20207d8f
+68014682
+79207e06
+60014682
+70409303
+20600000
+70468000
+70409300
+68014682
+793ffe06
+60014682
+20600000
+7041ce05
+20600000
+70007c07
+7004ca13
+20600000
+20600000
+20600000
+20600000
+7004d402
+20204d0a
+20600000
+20600000
+70436e01
+70448400
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+70436e01
+70448401
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+58000014
+6001046d
+600144ba
+20205c92
+20205abf
+da200000
+20207d19
+da200000
+20207d14
+da200000
+20207d1e
+70436901
+7041ce1b
+20600000
+70436901
+20600000
+70436900
+7041ce00
+20600000
+680141eb
+20407f9c
+6800c686
+c07ffe23
+1fe20400
+204067fb
+20407d98
+20202b1f
+20205b02
+70007c34
+79200003
+24748000
+70455b00
+70007c13
+6800816d
+793ffe02
+6000816d
+20600000
+18000e03
+20207f07
+204062f8
+70007d41
+20205f9d
+6800c682
+c4060000
+c4038000
+20207e2f
+68014218
+1fe08a02
+58000000
+e0a18000
+20600000
+20407fe9
+20407e69
+207a0000
+68014218
+1fe0a402
+ea488000
+18408401
+e2488000
+efe88000
+18427200
+1fe0a404
+ea408000
+984ffe00
+98c08a00
+1a220c00
+20407f01
+20407e6d
+1fe0ffff
+ea488000
+18408401
+98410400
+e2488000
+20207fe7
+20407fe9
+20407e65
+207a0000
+68014218
+1fe0a402
+ea488000
+184085ff
+e2488000
+efe88000
+18427200
+1fe0a403
+ea408000
+984ffe00
+98c08c00
+18c08c01
+1a220a00
+20207e4c
+68014218
+1fe08c02
+e8c08000
+20600000
+20407e6d
+e8c88000
+98467e00
+20600000
+68014218
+1fe08c01
+e8c08000
+20600000
+1f267c00
+20628000
+1fe37e00
+c2007e73
+20600000
+18007e01
+1f267c00
+20628000
+1fe3fe00
+c2007e79
+20600000
+18a27e00
+60010abb
+600c0aa2
+19627e00
+60020aaa
+20407e85
+18c27e00
+60010ab9
+20600000
+1a227e00
+60020aae
+1a427e00
+60020ab2
+1a627e00
+60018ab6
+20600000
+680c0aa2
+68020aaa
+98001600
+20407e95
+68010abb
+98000a00
+68010ab9
+98000c00
+20600000
+68020aae
+98002200
+68020ab2
+98002400
+68018ab6
+98002600
+20600000
+68010abb
+1fe20a00
+20600000
+68010ab9
+1fe20c00
+20600000
+18a27e00
+60010abb
+20600000
+18c27e00
+60010ab9
+20600000
+18a27e00
+60010a97
+18c27e00
+60010a95
+20600000
+68010a97
+1fe20a00
+68010a95
+1fe20c00
+20600000
+20407ebd
+20407ebd
+20207ebd
+20407eb9
+e8c20000
+e0a20000
+20600000
+e8c40000
+e0a40000
+20600000
+20407ebf
+20407eb9
+20407eb9
+20407eb9
+20207eb9
+df20000a
+20002ee0
+c2007ec2
+20600000
+18007203
+18007e00
+e0a40000
+c2007ec7
+20600000
+18007e00
+e0a40000
+20600000
+18007e00
+e0a20000
+20600000
+18007204
+20207ec6
+18007208
+20207ec6
+1f227e00
+207a0000
+58000000
+e0a08000
+c2007ed7
+20600000
+df200020
+d8a00ac2
+20207ed4
+ea620000
+ea2a0000
+9842fe00
+e0a20000
+1a20a204
+1a60a604
+c2007edd
+20600000
+477dc03f
+1f227e00
+1fe67c01
+20610000
+9a20a400
+1a40a5ff
+1f237200
+ea288000
+ea408000
+e2208000
+e2488000
+1a40a5ff
+1a20a201
+c2007eec
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20417eb9
+20628000
+20217ef6
+1f20f208
+1f20f3fc
+20417eb6
+20628000
+20217efb
+1f20f204
+20207f01
+1f227e00
+207a0000
+e8c08000
+e0a08000
+c2007f03
+20600000
+58000000
+1c430400
+600a4094
+d8a0419d
+98000400
+18e3fe00
+98a08a00
+e0a90000
+477e403f
+20600000
+d9600800
+19701600
+9960fe00
+20600000
+d8e00000
+477ec03f
+680a4094
+1c437e00
+60024094
+98467c00
+24417f11
+98461600
+19620400
+d8c0419d
+18c20a00
+df200010
+e8c10000
+98467e00
+20217f25
+18007e00
+e0a10000
+c2007f21
+d8c0419d
+18e3fe00
+98c08c00
+e8c10000
+20600000
+98408400
+18427200
+58000ea6
+9f267e00
+20610000
+1fe67e00
+18510400
+18408401
+18500400
+98418400
+20600000
+20407f39
+20207f43
+78547c00
+98467e00
+20217f3e
+78347c00
+1fe67e00
+c4078000
+d85f0ea6
+9840fe00
+793ffe40
+20600000
+98000c00
+1ff17e00
+d8400ea6
+984ffe00
+98c0fe00
+20600000
+1fed7e00
+1ff27e00
+6809c16f
+9846fc00
+20407f86
+18078400
+20600000
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+98418400
+20600000
+d8400000
+18422600
+e8608000
+20407f64
+1a620400
+20407f95
+da40000a
+9a4ffe00
+9840fe00
+1fe20400
+c2007f59
+20600000
+d840003a
+98467c00
+24217f6d
+d8400061
+98467c00
+20217f70
+d8400037
+98467e00
+20600000
+d8400030
+98467e00
+20600000
+d8400057
+98467e00
+20600000
+18426000
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+2420ff76
+e0a88000
+c2007f76
+1e020400
+20600000
+207a8000
+20207f86
+ea208000
+ea488000
+98467c00
+24628000
+1a20a201
+1a40a401
+c2007f88
+18007c00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+9840fe00
+98460400
+98467e00
+20600000
+df200200
+d8a04000
+20207ec6
+207a0000
+1fe27a00
+6811010e
+243a7f9e
+20600000
+70820301
+20600000
+60110205
+68108203
+79207e04
+60108203
+20600000
+60110207
+68108203
+79207e06
+60108203
+20600000
+60110205
+70820330
+20600000
+68108043
+793ffe04
+60108043
+20600000
+6811010e
+d8400200
+98467c00
+20600000
+477f403f
+ea2c0000
+18417eff
+243a7fbe
+184cfe00
+e2240000
+1a20a207
+ea208000
+243a2a8c
+68008a99
+e2208000
+20600000
+477fc03f
+df200008
+ea240000
+207a0000
+ea208000
+243a7fcd
+1a20a201
+c2007fc8
+20202a8c
+d8400000
+e2288000
+20600000
+ea240000
+20600000
+ea208000
+20600000
+ea210000
+20600000
+d8400000
+68008006
+c2007fd7
+18408401
+c2007fd7
+18427e00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+18007dff
+20600000
+18007c01
+20600000
+18007c00
+20600000
+78347c00
+20600000
+78547c00
+20600000
+78367c00
+20600000
+78567c00
+20600000
+58000001
+20600000
+58000000
+20600000
+1f227e00
+207a0000
+18c27e00
+9f20fe00
+1fe0ffff
+1fe20c00
+e8c08000
+18c08dfe
+e0a08000
+c2007ff9
+20600000
+c0000003
+20600000
+6800800e
+1fe0fe01
+6000800e
+20402435
+7920002c
+204022f2
+202c000e
+793f802c
+20402455
+243a0007
+202020fc
+793f802c
+2020215f
+c0080004
+c0088015
+20600000
+70480800
+7041e30e
+204041e7
+68014208
+c283c1f5
+c28033a9
+c280800e
+c2810011
+c2818011
+202042b0
+c2828011
+c2818011
+202042b0
+68014682
+c28642b0
+204033a9
+202033a7
+68010264
+1fe20c00
+e8c08000
+6000cb02
+1fe1040f
+1ff1fe00
+c003801e
+c0008025
+20204d39
+20404d53
+704b0300
+6800cb02
+2feffe00
+20608000
+704b0301
+20600000
+18427e00
+c002848c
+20204d41
+c0100003
+20600000
+78547c00
+204062c1
+68008048
+207a0000
+c283800d
+c0018024
+c0188019
+c00b801b
+c003801d
+20206010
+c0420010
+c0418013
+2020603f
+20400016
+68008048
+20206099
+20400016
+68008048
+2020610d
+6800c65a
+203a612b
+20206124
+704b0101
+202061c3
+704b0904
+202061a4
+20406152
+6800cb55
+207a0000
+6800804b
+793ffe03
+6000804b
+20200331
+18007e02
+20406298
+68008049
+e0a08000
+6000cafc
+204062a7
+6800cafc
+c017002d
+20206051
+6800caff
+207a0000
+704aff00
+6800cb01
+c1810000
+704b0001
+1c427e00
+600204e9
+20600000
+c0180003
+20600000
+204062bc
+247a0000
+68008055
+207a0000
+c0020025
+c008000a
+20206320
+6800c55b
+c1000000
+c000800e
+2020635f
+20748000
+6800816d
+c2800012
+20206399
+6800cb01
+c000e39d
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+6800cb00
+207a0000
+704b0000
+680204e9
+d8400014
+98408400
+1c427e00
+98467c00
+24210023
+20206349
+704b0001
+20600000
+70480914
+2020636f
+c0200004
+c0208016
+20600000
+2040000c
+2020557d
+6800c7c5
+6000c172
+7047c400
+20600000
+7047c401
+20600000
+6800c3d6
+1fe67c0c
+2421000a
+6800c3d8
+6808c7c5
+98467c00
+20210006
+6800c3d8
+6000c172
+20200008
+6800843f
+c4030000
+2040001b
+24740000
+202055a0
+78347c00
+6800845a
+1ff1fe00
+c1878000
+68008460
+1ff1fe00
+c1800000
+20207fe9
+c0280004
+c028802d
+20600000
+204002f6
+70479c00
+20400395
+68014682
+c2858011
+204003a8
+680947c2
+18408401
+600947c2
+600944a1
+20400359
+180a7e00
+6000c4a0
+58ed8e0e
+6001c4a3
+20403418
+68014687
+600146ac
+704b4705
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+6800c092
+2feffe01
+20408026
+6800c092
+2feffe00
+2040fddd
+704b5500
+202042c4
+70479f00
+20400307
+58000005
+e0c08000
+d8c04b10
+2040059d
+20207df4
+6800cb5d
+247a0000
+6800cb57
+243a0037
+704d3900
+204002f6
+204001d0
+7041bd00
+204002c8
+2020340a
+1fe0ffff
+6000cb57
+202003af
+c0300004
+c030802b
+20600000
+793f8026
+6800cb57
+1fe17e01
+245a0021
+205a001e
+6800cc09
+c1ff8000
+204001c7
+200007d0
+20400518
+6800cb60
+243a04fd
+6800cc26
+c03801a9
+2040018b
+242c0026
+24378026
+79200026
+58000000
+60014c26
+6000cb5d
+6000cb57
+700a993c
+20407d86
+20400183
+202003ea
+204002f6
+6802477b
+20200023
+7041de20
+68024b51
+60024c21
+204001e7
+20200206
+68014c26
+1fe0fe01
+60014c26
+20400206
+2020000c
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+6000cb57
+60014c26
+704b5dc8
+204042ca
+20200035
+79200026
+20400039
+704c0901
+20600000
+7041de20
+704bf800
+704c034e
+68024c05
+202001e6
+c0380003
+20600000
+793f8026
+20400020
+204001c7
+200007d0
+6800cc27
+c28101a9
+20400518
+6800cb60
+243a04fd
+2040018b
+242c001c
+2437801c
+204001b8
+204002f6
+68024c21
+680a4c05
+98467c00
+2022802a
+79200026
+58000000
+60014c26
+700a993c
+20407d86
+20400183
+202003ea
+68014c26
+1fe0fe01
+60014c26
+20200006
+7041de20
+58000f0f
+60014c21
+e0a10000
+204001e7
+20200206
+20400020
+20200006
+2040002e
+20200006
+79200026
+2040002e
+704c0901
+20600000
+7041de20
+704bf800
+704c034e
+68024c05
+202001e6
+c040000a
+c0408004
+20600000
+204068a2
+6801421d
+243a0008
+58001122
+600147c2
+20600000
+204000ec
+20403e6e
+6808cb43
+2040680e
+20403e1e
+2040001a
+58000000
+60014154
+204068a2
+20403e54
+20405810
+20405839
+2040582c
+20405818
+20400598
+20200346
+204074b9
+d8c08c00
+d8a04876
+df200171
+20407f01
+580f0209
+e0a18000
+58120009
+e0a18000
+58100209
+e0a18000
+58000009
+e0a18000
+d8c08d71
+df200109
+20407f01
+70488d00
+7048856d
+5800401f
+600149db
+58006d04
+60014a44
+580016b0
+60014a4a
+58004876
+60014575
+20600000
+c0480005
+c048801f
+c049002f
+20600000
+6800cbfe
+c000ffe7
+6800cc09
+c000800c
+c001000f
+c0018012
+20202a8c
+704c0911
+70119eaa
+20200014
+704c0912
+70119e55
+20200014
+704c0913
+70119e22
+6800cbfa
+1fe17e07
+6000919f
+68024c30
+600211a0
+7011a400
+da20119e
+d8400007
+204001d4
+20400148
+20207fe7
+6800cc09
+c17f8000
+c0088025
+c0090027
+c0098029
+20600000
+704c0902
+2020017c
+704c0903
+2020017c
+704c09ff
+700a9939
+20407d86
+68024bd9
+204001e6
+2020017c
+204004a0
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+6000cb57
+7046a700
+2040405d
+204002f6
+68024c21
+6002477b
+20200354
+c0508006
+c0510019
+c0518012
+c0520021
+20600000
+68014509
+c1000000
+68008441
+1feb7e00
+1fe67c0c
+20610000
+58000009
+60014496
+60014498
+20400484
+7047c401
+20600000
+68014682
+c3860000
+c3830000
+c3858000
+680246d3
+c3828000
+202033a7
+58000007
+60014496
+60014498
+7047c400
+70479c00
+20400415
+20405816
+202041d9
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+204074bd
+204003e3
+20403e9f
+204002c8
+2040039d
+68108081
+1fe17ef7
+60108081
+6810807e
+79207e06
+6010807e
+6810807f
+79207e00
+6010807f
+6808c6f3
+202067ed
+c0580007
+c0588009
+c059000f
+c0598014
+c05a001b
+20600000
+20400415
+202041c3
+6800c808
+c1010000
+1fe0fe01
+6000c808
+7041e312
+2020340e
+6800c808
+c1810000
+70480800
+7041e30e
+2020340e
+6800c79f
+c0008017
+20200019
+20400484
+7046c605
+d8e00001
+202041b9
+704aff00
+704b0100
+704b0a00
+202041d9
+00003db9
Index: ZJL_pm8_BLE&BT/output/sched.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/sched.rom	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/output/sched.rom	(working copy)
@@ -0,0 +1,977 @@
+
+mem_lpm_config:8f 1b ce	#4khz
+mem_lpm_xtalcnt:00 0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+#mem_fcomp_mul:02
+#mem_fcomp_div:24
+mem_iscan_window:12 00
+mem_iscan_interval:00 02
+mem_pscan_window:12 00
+mem_pscan_interval:00 02
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 40
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+mem_seqi:00
+
+
+
+mem_tx_power:00#0dbm
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
+
+mem_patch00:06
+mem_patch03:08
+mem_patch04:40
+mem_patch09:05
+mem_patch0a:02
+mem_patch0b:02
+mem_patch10:20
+mem_patch11:02
+mem_patch14:82
+mem_patch15:20
+mem_patch16:06
+mem_patch18:10
+mem_patch19:08
+mem_patch1c:40
+mem_patch1d:1e
+mem_patch20:20
+mem_patch27:02
+mem_patch28:08
+mem_patch29:04
+mem_patch2a:80
+mem_patch2b:02
+mem_patch2c:c8
+mem_patch2d:04
+mem_patch2e:80
+mem_patch30:05
+mem_patch31:31
+mem_patch34:01
+mem_patch3f:04
+
+
+#debug
+#mem_patch2f:40
+#mem_patch37:40
+#mem_patch3e:c0
+
+
+mem_device_option:43
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+#mem_lpm_interval:00 00
+
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+0a
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+45
+
+mem_app_connection_options:06
+mem_lap:26 10 19 20 18 10
+mem_local_name_length:
+'BT3.0 Mouse
+mem_sniff_param_interval:
+0e 00 			##mem_sniff_param_interval:0e 00 report 115hz,0c 00 report 125hz	
+01 00 ##mem_sniff_param_attempt:01 00
+02##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_ptt:00
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+
+#appearance
+03 19 c2 03
+
+mem_le_adv_swift_pair:
+#microsoft swift pair
+06 ff 06 00 03 00 80
+#name
+'\09BT5.1 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT5.1 Mouse
+
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT5.1 Mouse
+
+
+mem_le_interval_min:
+07 00 #min interval	if need 125hz,set 0x0006;else 115hz set 0x0007
+07 00 #max interval	if nedd 125hz,set 0x0006;else 115hz set 0x0007
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:00 00
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:22 00
+
+
+mem_discovery_timeout:08 07#3min
+mem_mouse_direct_timeout:50 00#8s
+mem_mouse_no_data_timeout:70 17 #10min
+
+mem_flash_ncs_gpio:0a
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+mem_bt_ui_button_timeout:01
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
+mem_adc_channel:32 #gpio5
+mem_mouse_vdd_full_vol:2c 01# 3.3v 
+11 01#mem_mouse_vdd_empty_vol:20 01#3.0v
+20 01#mem_mouse_vdd_low_vol:11 01  #3.2v
+
+mem_mouse_vdd_0v:10 00
+
+mem_config_sensor_type:00
+02 #mem_config_sensor_motion:01
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+08 #mem_mbutton_gpio:15
+ff #mem_bk_button_gpio:ff
+ff #mem_fw_button_gpio:ff
+14 #mem_dpi_button_gpio:05
+1b #mem_whee_a_data_gpio:0b
+1c #mem_whee_b_data_gpio:07
+FF #mem_whee_ta_data_gpio:ff
+FF #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
+ff #mem_config_select_device_button_gpio:ff
+ff #mem_config_paraing_led_gpio:ff
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
+ff #mem_config_device2_led_gpio:ff
+ff #mem_config_device3_led_gpio:ff
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+00 #mem_config_sensor_angle
+ff #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
+
+mem_eeprom_wp_gpio:ff
+mem_sensor_reset_gpio:ff
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+mem_usb_offline_check_gpio:ff
+#mem_wire_usb_interval:19 #128
+
+mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+20
+
+mem_mouse_dpi_seting:
+00##mem_320x_dpi_1
+01##mem_320x_dpi_2
+02##mem_320x_dpi_3
+03##mem_320x_dpi_4
+
+15##mem_3212_dpi_1#800
+1a##mem_3212_dpi_2#1000
+22##mem_3212_dpi_3#1300
+2a##mem_3212_dpi_4#1600
+
+#04##mem_3610_dpi_1
+#05##mem_3610_dpi_2
+#07##mem_3610_dpi_3
+#08##mem_3610_dpi_4
+
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_mouse_le_uuid_sup:
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+
+mem_le_att_pnp_id_len:07
+mem_le_att_pnp_id:
+02		#verdor ID source
+35 12	#usb verdor ID
+22 aa 	#product ID
+01 00	#product version
+
+  
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_max_retry:06#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us
+mem_24g_interval:0c				#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_min:0c			#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_max:10 			#0x1c 24g report 125hz;0x10,24g report 250hz
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_enter_hibernate:00 48 30 00 00 00 00 00#10 min     240ms  dpi  B4  B5 check easy
+
+mem_device_flag:01 
+mem_device1_type:34
+mem_device1_addr:ff ff ff ff ff ff
+mem_device2_type:34
+mem_device2_addr:ff ff ff ff ff ff
+mem_device3_type:34
+mem_device3_addr:ff ff ff ff ff ff
+
+
+mem_flash_base:00 30 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
+mem_reconn_times_init:00
+mem_bt_discovey_button_statue:01#default: button up
+mem_empty_count:03
+
+mem_device_bt_led_gpio:1d
+mem_device_24g_led_gpio:05
+
+mem_mouse_bt_ble_poweron_led_timer:20
+mem_select_device_button_statue:01#default: button up
+mem_mouse_24g_addr_init:0f 0f 0f 0f
+mem_24g_attempt_count:33		#bit0 = 1,first search dongle
+
+
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+#zcode
+mem_zcode_current_number:ff
+mem_xip_flash_offset:00 00 00
+mem_zcode_head:20 20 00 40
+
+#yichip sdp
+#04 0011 0100 1002 1124
+#00 01 00 00
+#36 01 6d
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#24
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#11
+#35
+#03
+#19
+#00
+#11
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#06
+#35
+#09
+#09
+#65
+#6e
+#09
+#00
+#6a
+#09
+#01
+#00
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#11
+#24
+#09
+#01
+#00
+#09
+#00
+#0d
+#35
+#0f
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#13
+#35
+#03
+#19
+#00
+#11
+#09
+#01
+#00
+#25
+#16
+#59
+#69
+#43
+#68
+#69
+#70
+#20
+#42
+#6c
+#75
+#65
+#74
+#6f
+#6f
+#74
+#68
+#20
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#01
+#25
+#05
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#02
+#25
+#06
+#59
+#69
+#43
+#68
+#69
+#70
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#01
+#11
+#09
+#02
+#02
+#08
+#80
+#09
+#02
+#03
+#08
+#21
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#28
+#01
+#09
+#02
+#06
+#35
+#81
+#35
+#7f
+#08
+#22
+#25
+#7b
+#05
+#01
+#09
+#02
+#a1
+#01
+#85
+#02
+#09
+#01
+#a1
+#00
+#05
+#09
+#19
+#01
+#29
+#08
+#15
+#00
+#25
+#01
+#75
+#01
+#95
+#08
+#81
+#02
+#05
+#01
+#09
+#30
+#09
+#31
+#16
+#01
+#f8
+#26
+#ff
+#07
+#75
+#10
+#95
+#02
+#81
+#06
+#09
+#38
+#15
+#81
+#25
+#7f
+#75
+#08
+#95
+#01
+#81
+#06
+#05
+#0c
+#0a
+#38
+#02
+#75
+#08
+#95
+#01
+#81
+#06
+#c0
+#c0
+#05
+#0c
+#09
+#01
+#a1
+#01
+#85
+#03
+#75
+#10
+#95
+#02
+#15
+#01
+#26
+#8c
+#02
+#19
+#01
+#2a
+#8c
+#02
+#81
+#60
+#c0
+#06
+#00
+#ff
+#09
+#01
+#a1
+#01
+#85
+#10
+#75
+#08
+#95
+#06
+#15
+#00
+#26
+#ff
+#00
+#09
+#01
+#81
+#00
+#09
+#01
+#91
+#00
+#c0
+#09
+#02
+#07
+#35
+#08
+#35
+#06
+#09
+#04
+#09
+#09
+#01
+#00
+#09
+#02
+#08
+#28
+#00
+#09
+#02
+#09
+#28
+#01
+#09
+#02
+#0a
+#28
+#01
+#09
+#02
+#0b
+#09
+#01
+#00
+#09
+#02
+#0c
+#09
+#1f
+#40
+#09
+#02
+#0d
+#28
+#00
+#09
+#02
+#0e
+#28
+#01
+#09
+#02
+#0f
+#09
+#00
+#12
+#09
+#02
+#10
+#09
+#00
+#00
+#
+#04 1002 1200 0100 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#03
+#09
+#02
+#01
+#09
+#04
+#6d
+#09
+#02
+#02
+#09
+#b0
+#16
+#09
+#02
+#03
+#09
+#01
+#29
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#00
+#00
+#
+#01 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#05
+#ac
+#09
+#02
+#02
+#09
+#02
+#39
+#09
+#02
+#03
+#09
+#00
+#44
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#
+#03 1101 0003 0100
+#00 01 00 02
+#36 00 2f
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#02
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#01
+#09
+#00
+#04
+#35
+#0c
+#35
+#03
+#19
+#01
+#00
+#35
+#05
+#19
+#00
+#03
+#08
+#01
+#09
+#01
+#00
+#25
+#09
+#53
+#50
+#50
+#20
+#73
+
+
+
+#logi sdp
+#04 1000 0100 0001 1002
+#00 00 00 00
+#36 00 92 
+#09 00 00 0a 00 00 00 00 09 00 01 35 03 19 10 00 09 00 04 35 0d 35 06 
+#19 01 00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 
+#09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 01 00 09 01 00 
+#09 01 00 25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 
+#57 69 72 65 6c 65 73 73 20 4d 6f 75 73 65 20 53 44 50 20 53 65 72 76 65 
+#72 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 35 03 09 01 00
+
+#04 1124 0100 0011 1002
+#00 01 00 00
+#36 01 ee 
+#09 00 00 0a 00 01 00 00 09 00 01 35 03 19 11 24 09 00 04 35 
+#0d 35 06 19 01 00 09 00 11 35 03 19 00 11 09 00 05 35 03 19 10 02 
+#09 00 06 35 09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 11 24 
+#09 01 01 09 00 0d 35 0f 35 0d 35 06 19 01 00 09 00 13 35 03 19 00 11 09 01 
+#00 25 21 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 65 6c 
+#65 73 73 20 4d 6f 75 73 65 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 
+#73 65 09 01 02 25 08 4c 6f 67 69 74 65 63 68 09 02 01 09 01 11 09 02 02 08 80 09 02 
+#03 08 21 09 02 04 28 01 09 02 05 28 01 09 02 06 35 fc 35 fa 08 22 25 f6 05 01 09 02 a1 01 
+#85 02 09 01 a1 00 05 09 19 01 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30 09 31 16 01 
+#f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75 08 95 01 81 
+#06 c0 c0 05 0c 09 01 a1 01 85 03 05 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06 00 ff 09 01 
+#a1 01 85 10 75 08 95 06 15 00 26 ff 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1 01 85 11 75 
+#08 95 13 15 00 26 ff 00 09 02 81 00 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95 08 05 07 
+#19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 
+#75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 
+#15 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95 01 75 06 81 03 c0 09 02 07 35 08 35 
+#06 09 04 09 09 01 00 09 02 09 28 01 09 02 0a 28 01 09 02 0c 09 1f 40 09 02 0d 28 00 09 
+#02 0e 28 01 09 02 0f 09 00 12 09 02 10 09 00 00
+
+#04 1200 0100 0001 1002
+#00 01 00 01
+#36 00 ad 
+#09 00 00 0a 00 01 00 01 09 00 01 35 03 19 12 00 09 00 04 35 0d 35 06 19 01 
+#00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 09 09 65 
+#6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 12 00 09 01 00 09 01 00 
+#25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 
+#65 6c 65 73 73 20 4d 6f 75 73 65 20 50 6e 50 20 53 65 72 76 65 72 09 01 
+#01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 09 01 03 09 
+#02 01 09 04 6d 09 02 02 09 b0 16 09 02 03 09 12 03 09 02 04 28 01 09 02 05 09 00 02 00
+
+
Index: ZJL_pm8_BLE&BT/program/24g.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/24g.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/24g.prog	(working copy)
@@ -0,0 +1,2647 @@
+ifdef COMPILE_24G
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_blank_data_2usb:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_blank_data_2usb:	
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_blank_data_2usb:
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+g24_enable_nodata_timer_init:
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+g24_ms_enable_blank_data_timer:
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+g24_kb_enable_blank_data_timer:	
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_enable_blank_data_timer:	
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+endif
+
+
Index: ZJL_pm8_BLE&BT/program/app.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app.prog	(working copy)
@@ -0,0 +1,576 @@
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
Index: ZJL_pm8_BLE&BT/program/app_antiLost.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_antiLost.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_antiLost.prog	(working copy)
@@ -0,0 +1,565 @@
+ifdef COMPILE_AntiLost
+antilost_init:
+	rtn wake	
+	jam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+endif
+
+
Index: ZJL_pm8_BLE&BT/program/app_car.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_car.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_car.prog	(working copy)
@@ -0,0 +1,888 @@
+ifdef COMPILE_CAR
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+endif
+
+
+
Index: ZJL_pm8_BLE&BT/program/app_light.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_light.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_light.prog	(working copy)
@@ -0,0 +1,227 @@
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
Index: ZJL_pm8_BLE&BT/program/app_lightC.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_lightC.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_lightC.prog	(working copy)
@@ -0,0 +1,55 @@
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
Index: ZJL_pm8_BLE&BT/program/app_module.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_module.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_module.prog	(working copy)
@@ -0,0 +1,1506 @@
+
+ifdef COMPILE_MODULE
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	jam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_crystal,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+ifdef SECURE_CONNECTION	
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+endif
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*仰
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+endif
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+ifdef SECURE_CONNECTION	
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+endif
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	jam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+else
+
+endif
Index: ZJL_pm8_BLE&BT/program/app_mouse.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_mouse.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_mouse.prog	(working copy)
@@ -0,0 +1,2659 @@
+
+
+//define FPGA_DEBUG
+
+
+ifdef COMPILE_MOUSE
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_active
+endif
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+mouse_le_write_enable:	
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+ifdef FPGA_DEBUG
+mouse_fpga_rf_working_normal:
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	call mouse_fpga_working_fail,blank
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	ncall mouse_fpga_working_normal,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	call mouse_fpga_working_fail,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	ncall mouse_fpga_working_normal,blank
+	rtn
+
+mouse_fpga_working_fail:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_inactive
+
+mouse_fpga_working_normal:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_active
+
+
+
+endif
+
+mouse_idle:
+ifdef FPGA_DEBUG
+	call mouse_fpga_rf_working_normal
+endif
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+mouse_check_key_gpio_output:
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset1 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset0 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_status_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_inactive
+endif
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_status_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+endif
+
+
+
Index: ZJL_pm8_BLE&BT/program/app_remote_car.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_remote_car.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_remote_car.prog	(working copy)
@@ -0,0 +1,480 @@
+ifdef COMPILE_REMOTE_CAR
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+endif
+
+
+
+
Index: ZJL_pm8_BLE&BT/program/app_shutter.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_shutter.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_shutter.prog	(working copy)
@@ -0,0 +1,1170 @@
+
+ifdef COMPILE_SHUTTER
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+else
+        branch assert
+	
+endif
Index: ZJL_pm8_BLE&BT/program/app_usb.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_usb.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/app_usb.prog	(working copy)
@@ -0,0 +1,997 @@
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	jam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	jam 0x00,core_usb_config
+ifndef SIM
+	nop 10000
+endif
+	jam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	jam 0x3c,core_usb_config
+	jam 0xff,core_usb_status
+	jam 0xff,core_usb_fifo_empty
+	jam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	jam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	jam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	jam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	jam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	jam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	jam 0xfc,core_usb_config
+	nop 30000
+	jam 0x3c,core_usb_config
+	rtn
+
+
+
Index: ZJL_pm8_BLE&BT/program/bt.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/bt.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/bt.prog	(working copy)
@@ -0,0 +1,4175 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK24M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+ifdef SIM
+include sim.prog
+else
+include patch.prog
+endif
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+ifdef SIMPLE_PAIRING
+	call publickey_init
+else
+	call ssp_disable
+ifdef SECURE_CONNECTION
+	call publickey_init
+
+endif
+endif
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+endif
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+endif
+ifdef SIMPLE_PAIRING
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256_check
+endif
+endif
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	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
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+ifdef SIMPLE_PAIRING
+	call sp_initialize
+endif
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	jam 0xd4, rf_tx_pa_ib
+	nop 4
+	jam 0xd2, rf_tx_pa_ib
+	nop 4
+	jam 0xd1, rf_tx_pa_ib
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	jam 0xd0, rf_tx_pa_ib
+	jam 0xe0, rf_tx_pa_gc
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	jam 0x0,rfen_mdm
+	jam 0x0,rfen_tx
+	jam 0x0,rfen_rx
+	jam 0,rfen_sn
+	jam 0x70,rfen_msc
+	jam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	jam 0x0,rfen_mdm					/* if called from tx or rx */
+	jam 0x0,rfen_tx
+	jam 0x18,rfen_rx
+	jam 0xa7,rfen_sn
+	jam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	jam 0x07,rf_balun_ctrim                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	jam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	jam 0xff,rfen_rx
+	jam 0xaf,rfen_sn
+	jam 0xff,rfen_msc
+	nop 10
+	jam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	jam 0x12,rf_balun_ctrim
+	nop 10
+	jam 0x01,rfen_mdm
+	jam 0x3d,rfen_mdm
+	nop 10
+	jam 0xb7,rfen_sn
+	nop 10
+	jam 0x7f, rfen_mdm
+txon_power_select:	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	jam 0xf0,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_3db:
+	jam 0xdf,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+
+set_tx_power_5db:
+	jam 0xff,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+set_tx_power_f3db:
+	jam 0xce,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_f5db:
+	jam 0xcb,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_pair:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	jam 0x4c,0x8957
+	jam 0x6c,0x8958
+	jam 0x50,0x8959
+	rtn
+
+txon_common:
+	nop 4
+	jam 0xd1,rf_tx_pa_ib
+	nop 4
+	jam 0xd2,rf_tx_pa_ib
+	nop 4
+	jam 0xd4,rf_tx_pa_ib
+	rtn
+
+
+initialize_radio:
+	jam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	jam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	jam 0x44,rf_pll_rstn
+	jam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	jam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	jam 0x7f,rfen_rx
+	nop 130
+	jam 0x30,rf_rccal_ctrl
+	jam 0xd0,rfen_tx
+	jam 0x70,rf_rccal_ctrl
+	jam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	jam 0,rfen_tx
+	jam 0,rfen_rx
+	jam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+bcd:
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	jam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	jam 0x00,rfen_ck
+	jam 0x00,rfen_msc
+	jam 0x70,rfen_msc
+	jam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	jam clksel_dpll,core_clksel
+	nop 1
+	jam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+ifdef SIMPLE_PAIRING
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+endif
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+endif
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	jam 0xc0,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	jam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+lpm_dispatch_next2:
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	jam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam 0xff,core_xtal_stable_time
+	jam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
Index: ZJL_pm8_BLE&BT/program/hci_h4.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hci_h4.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hci_h4.prog	(working copy)
@@ -0,0 +1,138 @@
+
+ifdef DEBUG_H4LOG_ENABLE
+hci_log:
+	copy regc,pdata
+	rtneq 0x11
+	fetch 1,mem_hci_log
+	increase 1,pdata
+	sub pdata,hci_log_cnt,null
+	branch hci_log_calc_ptr,positive
+	setarg 0
+hci_log_calc_ptr:
+	store 1,mem_hci_log
+	arg hci_log_size,temp
+	imul32 temp,pdata
+	arg mem_hci_log+hci_log_size,contw
+	iadd contw,contw
+hci_log_write_content:
+	fetch 1,mem_hci_log
+	istore 1,contw//counter
+	copy regb,pdata
+	istore 1,contw
+	fetch 2,mem_le_event_count
+	istore 1,contw
+	copy clke_bt,pdata
+	istore 3,contw
+	fetch 1,mem_last_freq
+	istore 1,contw
+	fetch 1,mem_le_rxbuf
+	istore 1,contw
+	rtn
+else
+
+endif
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+ifdef ACL_DEBUG
+	beq HCI_H4_TYPE_EVENT,h4_send_packet0
+	hfetch 1,core_uart_txitems
+	ncall ice_break,blank
+	
+h4_send_packet0:	
+	copy temp,pdata
+endif
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
Index: ZJL_pm8_BLE&BT/program/hci_main.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hci_main.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hci_main.prog	(working copy)
@@ -0,0 +1,400 @@
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	jam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_dpll,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//jam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	jam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	jam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
Index: ZJL_pm8_BLE&BT/program/hid.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hid.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/hid.prog	(working copy)
@@ -0,0 +1,84 @@
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
Index: ZJL_pm8_BLE&BT/program/kscan_peipherals.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/kscan_peipherals.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/kscan_peipherals.prog	(working copy)
@@ -0,0 +1,152 @@
+
+
+
+ifdef COMPILE_KEYSCAN
+/****************************************key scan***************************************/
+/******the key_scan use explain******
+
+* First:call kscan_init
+* Second:call kscan_main
+* Finally: the key scanning reault is mem_kscan_value.
+
+******
+***************************************************************************************
+*/
+kscan_init:  
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	call kscan_row_num_select
+	branch kscan_col_num_select
+
+kscan_col_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_COL_NUM,rega
+	ifetch 1,rega
+	branch kscan_value_init,blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,regb
+kscan_col_loop: 
+	ifetcht 1, regb
+	call gpio_config_output
+	ifetcht 1, regb
+	call gpio_out_active
+	call kscan_value_init             
+	ifetcht 1,regb
+	call gpio_config_input
+	increase 1,regb
+	loop kscan_col_loop
+	rtn  
+kscan_row_num_select:          
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+	branch kscan_ioselect_input   
+kscan_col_num_select:           
+	add regc,KEYSCAN_OFFECT_COL_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+	branch kscan_ioselect_input
+kscan_ioselect_input: 
+	ifetcht 1,rega
+	call gpio_config_input 
+	increase 1,rega
+	loop kscan_ioselect_input
+	rtn
+kscan_value_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+kscan_save_vaule:
+	ifetcht 1,rega       
+	call gpio_get_bit   
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+	ifetch 2,temp
+ 	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contr
+	ifetcht 1,contr
+	copy temp,queue
+	qsetflag true,pdata
+
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+ 	istore 2,temp
+	increase 1,rega
+    
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contw
+	ifetch 1,contw 
+	increase 1,pdata
+	istore 1,contw
+    
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,contw
+	ifetcht 1,contw 
+	increase 1,temp
+	istoret 1,contw
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	ixor temp,null  
+	nbranch kscan_save_vaule,zero
+	rtn       
+	
+	
+kscan_lpm_berfore:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+ 	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+ 	ifetch 1,contw 
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+kscan_select_wake:    
+	ifetcht 1,rega
+	call gpio_set_wake   
+	increase 1,rega
+	loop kscan_select_wake
+	rtn
+
+kscan_clkn_bt_timer_check:
+	ifetcht 4,rega
+	copy clkn_bt,pdata
+	isub temp,null
+	rtn positive
+	setarg 0
+	istore 4,rega
+	rtn
+
+kscan_process:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	add regc,KEYSCAN_OFFECT_BTCLK,rega
+	call kscan_clkn_bt_timer_check
+	ifetch 4,rega
+	add regc,KEYSCAN_OFFECT_BTCLK_INTERVAL,regb
+	ifetcht 1,regb
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	istore 4,rega
+	call kscan_col_init  
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,rega
+	ifetch 2,rega
+	add regc,KEYSCAN_OFFECT_LASVALUE,rega
+	ifetcht 2,rega
+	istore 2,rega
+	iand temp,pdata
+	add regc,KEYSCAN_OFFECT_VALUE,rega    
+	istore 2,rega 
+	rtn  
+
+endif
+	
+	
+
+
+
+	
+    
+	
+
Index: ZJL_pm8_BLE&BT/program/l2cap.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/l2cap.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/l2cap.prog	(working copy)
@@ -0,0 +1,1929 @@
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regA,pdata
+	istore 2,contw
+	sub pdata,1024,null
+	branch assert,positive
+	branch assert,blank
+endif
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regB,pdata
+	istore 2,contw
+endif
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	setarg 0xaa
+	istore 1,contw
+	istoret 1,contw
+endif
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+ifdef DEBUG_MALLOC
+	arg 5,loopcnt
+l2cap_malloc_free_loop:
+	increase -1,loopcnt
+	copy loopcnt,pdata
+	branch assert,blank
+else
+l2cap_malloc_free_loop:
+endif
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+ifdef DEBUG_MALLOC
+l2cap_malloc_log_get_ptr:
+	fetch 2,mem_tx_malloc_log
+	increase 2,pdata
+	store 2,mem_tx_malloc_log
+	sub pdata,62,null
+	nbranch l2cap_malloc_log_clean,positive
+	increase -2,pdata
+	iadd contw,contw
+	rtn
+l2cap_malloc_log_clean:
+	jam 0x00,mem_tx_malloc_log
+	branch l2cap_malloc_log_get_ptr	
+endif
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
Index: ZJL_pm8_BLE&BT/program/le.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le.prog	(working copy)
@@ -0,0 +1,1839 @@
+ifdef COMPILE_LE
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+endif
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+ifdef SECURE_CONNECTION
+	call sp_initialize_256
+endif
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	jam 0x36,rf_adc_goff        /*For BLE, tune AGC_gain_offset, Max added*/
+	jam 0x5f,rf_agc_nsat        //for BLE
+	enable le
+	jam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	jam 0xb8,rf_iq_gain
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	jam 0x2e,rf_adc_goff        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	jam 0xff,rf_agc_nsat         //for EDR&BR
+	disable le
+	jam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
Index: ZJL_pm8_BLE&BT/program/le_l2cap_att.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_att.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_att.prog	(working copy)
@@ -0,0 +1,713 @@
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
Index: ZJL_pm8_BLE&BT/program/le_l2cap_signalling.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_signalling.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_signalling.prog	(working copy)
@@ -0,0 +1,54 @@
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
Index: ZJL_pm8_BLE&BT/program/le_l2cap_smp.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_smp.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_l2cap_smp.prog	(working copy)
@@ -0,0 +1,594 @@
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+endif
+	rtn
+
+ifdef SECURE_CONNECTION	
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+endif
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+ifdef SECURE_CONNECTION
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+endif
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+endif
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+ifdef SECURE_CONNECTION
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+endif	
+
+
+le_send_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+endif
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+ifdef SECURE_CONNECTION
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+endif
+
+	
+le_parse_smp_pairing_random:	
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+endif
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+ifdef SECURE_CONNECTION	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+endif
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+ifdef SECURE_CONNECTION
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+endif
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+ifdef SECURE_CONNECTION
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+endif
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
Index: ZJL_pm8_BLE&BT/program/le_ll.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_ll.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/le_ll.prog	(working copy)
@@ -0,0 +1,212 @@
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
Index: ZJL_pm8_BLE&BT/program/lmp.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/lmp.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/lmp.prog	(working copy)
@@ -0,0 +1,2521 @@
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+endif
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+ifdef LMP_DBG
+	call ice_break
+endif
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+endif
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_clear_mem_master_sp_flag
+endif
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+ifdef LMP_DBG
+	call ice_break
+endif
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_set_mem_master_sp_flag
+endif
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	call sp_local_random_key_generator,true
+endif
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+ifdef SIMPLE_PAIRING
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+endif
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
Index: ZJL_pm8_BLE&BT/program/patch.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/patch.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/patch.prog	(working copy)
@@ -0,0 +1,3638 @@
+//define DONGLE
+define MOUSE
+define G24
+define BLE
+define CLASSIC_BT
+define MOUSE_SMOOTHER
+define ADC_ENABLE
+define DPI_ENABLE
+//define HIGH_REPORT_BT
+//define HIGH_REPORT_G24
+//define P24G_LOG
+//define RF_DEBUG
+define BLE_FAST_CONN_ENABLE
+
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+
+p_start:
+	branch p_patch_array
+
+// zcode start
+p_zcode:
+
+//only for power on once
+p_wake_from_power:
+ifdef BLE
+	call p_mouse_data_init
+endif
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_ui_button_count	//select key timer init
+	fetch 1,mem_bt_ui_button_timeout
+	store 1,mem_bt_ui_button_count	//bt key timer init
+	call mouse_bt_discovery_button_down_disable
+	call p_mouse_spi_init
+ifdef MOUSE_SMOOTHER	
+	call p_drawing_optima_init
+endif
+	call p_mouse_cb_fuction
+	call p_mouse_wakeup_from_power
+	branch p_mouse_setting_config
+
+p_mouse_cb_fuction:
+ifdef G24
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+endif	
+ifdef BLE
+	setarg p_mouse_le
+	store 2,mem_cb_le_process
+	setarg p_le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+endif
+ifdef CLASSIC_BT
+	setarg p_mouse_bt
+	store 2,mem_cb_bt_process
+endif	
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	rtn	
+
+p_mouse_wakeup_from_power:
+	setarg 25
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+	ncall p_mouse_24g_transmit_by_interrupt_exit_count_max,wake
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	rtn
+p_mouse_24g_transmit_by_interrupt_exit_count_max:
+	setarg 375
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+	rtn
+
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+	nop 1
+
+p_patch_array:
+	bbit1 8,pf_patch_ext
+	//patch00_0 and patch11_2 are unuseful because of otp
+	beq patch00_1,p_soft_reset_1
+	beq patch00_2,p_soft_reset_2
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+ifdef CLASSIC_BT
+	beq patch03_3,p_page_wait_fhs_reply_ok
+	beq patch04_6,p_role_switch_master
+	beq patch09_0,p_quit_connection_cont
+	beq patch09_2,p_prepare_tx
+	beq patch0a_1,p_slave_conn_recv_packet
+ 	beq patch0b_1,p_process_dmh
+	beq patch14_7,p_lpm_dispatch
+	beq patch15_5,p_lpm_set_mult
+	beq patch19_3,app_bt_start_reconnect+3
+	beq patch1d_1,p_mouse_bb_disconnected
+endif	
+	beq patch14_1,p_init_param
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+	branch loop
+pf_patch_ext:
+ifdef BLE
+	beq patch27_1,p_le_slave_match
+	beq patch28_3,p_le_next_adv_channel
+	beq patch29_2,p_le_receive_skip
+	beq patch2a_7,p_le_update_param
+	beq patch2b_1,p_le_update_channel_map
+	beq patch2c_3,p_le_prepare_tx
+	beq patch2c_6,p_le_parse
+	beq patch2c_7,p_le_parse_l2cap
+	beq patch2d_2,p_le_adv_not_match
+	beq patch2e_7,p_le_lpm_setmult
+endif	
+ifdef CLASSIC_BT
+	beq patch20_5,p_hid_rx_process
+	beq patch30_0,p_parse_lmp_accepted
+	beq patch30_2,p_send_lmp
+	beq patch31_0,p_process_conn_sm
+endif
+	beq patch31_4,p_twspi_reset
+	beq patch31_5,p_spid_init
+	beq patch34_0,p_vdd_calculate_by_mode
+	beq patch3f_2,p_check_51cmd_once_continue
+ifdef DEBUGLOG
+	beq patch2f_6,p_parse_lmp_opcode
+	beq patch37_6,p_process_upper_sm_reconn
+	beq patch3e_6,p_ui_ipc_send_event
+	beq patch3e_7,p_ui_ipc_send_cmd
+endif
+	branch loop
+	
+
+ifdef MOUSE
+p_rssi_signal:
+	copy pdata,rega
+	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_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+ifdef BLE
+	call p_mouse_le_txbuff_load
+endif
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+	
+p_soft_reset_2:
+	call app_lpm_init,wake
+ifdef SIMPLE_PAIRING
+	call publickey_init
+else
+	call ssp_disable
+ifdef SECURE_CONNECTION
+	call publickey_init
+
+endif
+endif
+	call lpm_recover_clk,wake
+p_sp_cal_loop:
+	call sp_calc_sequence
+	fetch 1,mem_ssp_enable
+	branch main_loop,blank
+	fetch 1,mem_sp_local_key_invalid // simple pairing is not ready
+	branch p_sp_cal_loop,blank
+	branch main_loop
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+ifdef CLASSIC_BT	
+	fetch 2,mem_sdp_remote_cid
+	nbranch disable_blank,blank
+endif
+	fetch 1,mem_mouse_wheel_trigger
+	nbranch disable_blank,blank
+	branch enable_blank
+
+
+ifdef G24
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_g24_transmit_by_interrupt_enable
+p_g24_short_sleep:	
+	call p_g24_lpm_wait
+	nrtn user
+	call p_clear_wake
+ifdef HIGH_REPORT_G24
+	setarg G24_4MS_INTERVAL_PARAM
+else
+	setarg 60500
+endif
+p_g24_enter_sleep:	
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+  	
+g24_long_sleep_shorter_param_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
+
+
+	
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	fetch 2,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	fetcht 2,mem_24g_transmit_by_interrupt_exit_count_init
+	isub temp,null
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	setarg 100
+	store 2,mem_24g_transmit_by_interrupt_exit_count_init
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	store 1,mem_24g_interval
+	rtn	
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+p_g24_long_sleep:
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
+	call p_g24_lpm_wait
+	nrtn user
+	fetch 3,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_lpm_wait:
+	enable user
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch disable_user,blank
+	fetch 1,mem_lpm_mode
+	branch disable_user,blank
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,disable_user
+	branch p_mouse_setgpio_lpm
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+p_g24_set_device_addr:
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	rtn
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	call power_ctrl_pac_succ_decrs
+	call p_g24_ch
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	jam 2,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+p_g24_txdata_enable_tx:	
+	call p_g24_transmit_prep
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_24g_no_data_timer_init	//nodata timer 20min
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw	//key
+	increase 1,regb
+	ifetch 4,regb
+	istore 4,contw	//x,y
+	increase 4,regb
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 1,regb
+	ifetcht 1,contw	//wheel,twheel
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop
+	rtn
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	jam 0,mem_retry_count
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	store 1,mem_mouse_24g_pair_timer
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+
+	fetch 1,mem_24g_abort_pac
+	nrtn blank
+	
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,p_g24_stop_g24_mode
+
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
+	
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_txfail_cnt
+	rtnne 0xff
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_g24_tx_fast_hop:
+	call power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch  p_g24_tx_fast_hop,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn
+endif
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_pairing_sm:
+	jam ZCODE_90,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_paring_mode:
+	jam ZCODE_91,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_start_24g_mode:
+	jam ZCODE_60,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_auto_pair_start:
+	jam ZCODE_70,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_transmit_prep:
+ifdef P24G_LOG
+	fetch 1,mem_24g_paccnt
+	increase 1,pdata
+	store 1,mem_24g_paccnt
+endif
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
+p_g24_receive_rxon:
+
+ifdef RF_DEBUG
+	call test_h_l_h
+endif
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+ifdef MOUSE
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+endif
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+ifdef DONGLE
+	call save_rssi
+endif	
+	branch p_g24_end_of_packet,crc_failed
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+ifdef DONGLE
+	rtn
+endif
+ifdef MOUSE
+	fetch 1,mem_rssi_hex_received
+	call p_rssi_signal
+endif
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+	rtn
+
+p_g24_sync_timeout:
+ifdef DONGLE
+	call p_rssi_noise
+endif
+	branch p_g24_end_of_packet
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+ifdef RF_DEBUG
+	call test_gpio_high
+endif
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+ifdef DONGLE
+	fetch 1,mem_rssi_hex
+	inject mod,8
+endif
+
+ifdef P24G_LOG	
+	fetch 1,mem_tx_power
+	inject mod,8
+	fetch 1,mem_rssi_avg_received
+	inject mod,8
+	fetch 1,mem_24g_paccnt
+	inject mod,8
+endif
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+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
+ifdef DONGLE
+	and_into RSSI_BUF_LEN_NOISE,temp
+endif
+ifdef MOUSE
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+endif
+	rtn
+p_rssi_average:
+	arg 0,temp
+ifdef DONGLE
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+endif
+ifdef MOUSE
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+endif
+	copy rega,contr
+ifdef DONGLE
+	branch rssi_average_loop
+endif
+ifdef MOUSE
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+endif
+	rtn
+
+endif
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+p_mouse_setgpio_hibernate:	
+	call mouse_lpm_before_common
+	call p_flash_ncs_disable
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set0 6,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd0	
+	set1 5,pdata
+	hstore 1,core_gpio_pd0
+	hfetch 1,core_gpio_pd1	
+	set0 2,pdata
+	hstore 1,core_gpio_pd1
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set0 6,pdata
+	hstore 1,core_gpio_pd2
+	rtn
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch mouse_seting_dpi+2	// make sdio high to make 100uA less	
+
+p_device_init:
+	call  initialize_radio	// YC1066 1059
+ifdef DEBUGLOG
+	call debuglog_init
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_LPM_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	call app_lpm_mult_enable
+	call enable_authrom
+	branch p_device_wake_from_lpm,wake
+p_device_wake_from_power:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_CODE_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+ifdef RF_DEBUG
+	call test_gpio_init
+endif
+	call p_wake_from_power
+	arg 600,temp
+	fetch 2,mem_mouse_no_data_timeout
+	isub temp,temp
+	storet 2,mem_mouse_no_data_led_timeout		// 1min
+//	fetch 1,mem_power_on_flag
+//	bbit1 2,p_mouse_check_reconn_target
+ifdef G24
+//	call mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_24g_pairing_button
+endif	
+//	branch p_mouse_wakeup_from_power
+
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	jam 25,mem_mouse_poweron_led_timer	
+	call p_mouse_adc_read
+	call p_mouse_select_device_by_button
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch p_mouse_start_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+ifdef CLASSIC_BT
+	beq REC_3_MODE,p_mouse3_0_check_reconn_target
+endif
+ifdef BLE
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+endif	
+//	branch p_mouse_null_enter_hibernate_enable	//enter hibernate if it is in its factory state
+	rtn
+
+
+p_device_wake_from_lpm:
+	branch p_mouse_spi_init
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+
+ifdef CLASSIC_BT
+p_mouse3_0_check_reconn_target:
+	jam 1,mem_mouse_bt_reconnect_flag
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	branch mouse3_0_check_reconn_target+3
+endif	
+
+ifdef BLE
+p_mouse4_0_check_reconn_target:
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+endif
+
+ifdef G24
+p_mouse_24g_pairing_button:
+	jam ZCODE_61,mem_zcode_temp_param0
+	branch p_zcode_entrance
+endif
+
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+
+p_mouse_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_sensor_powerdown:
+	call p_mouse_spi_init
+	setarg 0x0806
+//	call twspi_read
+//	or pdata,0x08,pdata
+//	lshift8 pdata,pdata
+//	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_setting_config:
+	jam ZCODE_80,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+//ncs gpio output high
+p_flash_ncs_disable:
+	fetcht 1,mem_flash_ncs_gpio
+	branch gpio_out_inactive
+
+p_spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set0 1,pdata
+	set1 3,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
+	set0 0,pdata
+	hstore 1,core_gpio_pd3
+	
+	rtn
+
+p_mouse_load_flash_info_check:
+	call p_flash_release_deep_power_down
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch p_mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+	fetch 4,mem_mouse_24g_addr_init
+	store 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+ifdef BLE_FAST_CONN_ENABLE	
+	call p_mouse_fast_conn_init
+endif	
+p_mouse_store_flash_device_info:
+	call p_flash_release_deep_power_down
+	call p_flash_erase_sector
+	call p_mouse_information_flash_parameters
+	call p_spid_write_flash
+	call p_wait_flash_done
+p_mouse_store_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	fetch 3,mem_flash_base
+	iadd regb,pdata
+	call p_spid_write_flash
+	call p_wait_flash_done
+	call p_flash_deep_power_down
+	branch p_mouse_spi_init
+	
+p_flash_erase_sector:
+	fetch 3,mem_flash_base
+	store 3,mem_spi_write_addr
+	call flash_erase_sector+2
+	branch p_wait_flash_done
+
+p_spid_write_flash:
+	copy pdata,regc
+	copy rega,pdata
+	increase -4,pdata
+	copy pdata,regb
+	ifetch 4,regb
+	store 4,mem_write_flash_head_temp
+	copy regc,pdata
+	call spid_write_flash
+	fetch 4,mem_write_flash_head_temp
+	istore 4,regb
+	rtn
+
+p_wait_flash_done:
+	setarg 100000	
+	call sleep
+	call spid_unlock_flash
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
+	rtn
+
+p_mouse_information_flash_parameters:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	rtn
+
+p_mouse_read_flash:
+	call p_flash_release_deep_power_down
+	call p_mouse_information_flash_parameters
+	branch spid_read_flash
+
+p_mouse_load_flash_device_info:	
+	call p_mouse_read_flash
+	call p_mouse_load_random_addr_increase_count
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+ifdef BLE_FAST_CONN_ENABLE
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+//	arg 3,loopcnt
+//	arg mem_device2_addr,contr
+//	call p_pdata_0xff_check
+//	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
+endif	
+	rtn
+
+
+ifdef BLE_FAST_CONN_ENABLE
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+	
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn
+	
+endif
+
+
+
+p_flash_deep_power_down:
+	jam FLASH_COMMAND_DEEP_POWER_DOWN,mem_temp
+p_spid_write_flash_cmd:
+	call p_spid_init_flash
+	nop 100					// YC1059
+	call spid_unlock_flash
+	arg mem_write_flash_head_temp,rega
+	fetcht 1,mem_temp
+	call spid_write_flash_common
+	nop 100					// YC1059
+	rtn
+
+p_flash_release_deep_power_down:
+	jam FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN,mem_temp
+	branch p_spid_write_flash_cmd
+	
+
+p_mouse_load_random_addr_increase_count:
+	call p_flash_release_deep_power_down
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	fetch 3,mem_flash_base
+	iadd regb,pdata
+	branch spid_read_flash
+
+//**************************end*************************************//
+p_mouse_start_24g_mode:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	branch p_g24_start_24g_mode
+
+
+p_mouse_24g_led_blink:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	fetch 1,mem_mouse_24g_pair_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_24g_pair_timer
+	branch app_enter_hibernate,blank
+	and pdata,0x0f,pdata
+	beq 0x05,p_mouse_24g_led_on
+	beq 0x0a,p_mouse_24g_led_off
+	rtn
+
+p_mouse_discovery_led_blink:
+	fetch 1,mem_mouse_discovery_timer
+	rtn blank
+	fetch 1,mem_mouse_discovery_blink_count
+	increase 1,pdata
+	store 1,mem_mouse_discovery_blink_count
+	beq 5,p_mouse_bt_led_off
+	beq 10,p_mouse_bt_discovery_led_on
+	rtn
+
+
+p_mouse_device_poweron_led_timer:
+	fetch 1,mem_mouse_poweron_led_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_poweron_led_timer
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_device_poweron_g24_led
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_bt_led_on
+	branch p_mouse_bt_led_off
+
+p_mouse_device_poweron_g24_led:
+	fetch 1,mem_mouse_poweron_led_timer
+	bbit1 1,p_mouse_24g_led_on
+	branch p_mouse_24g_led_off
+
+
+
+p_mouse_24g_led_off:
+	jam 0,mem_24g_device_led_status
+	fetcht 1,mem_device_24g_led_gpio
+	branch p_gpio_set_input_high_impedance
+
+p_mouse_24g_led_on:
+	jam 1,mem_24g_device_led_status
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	fetcht 1,mem_device_24g_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_24g_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_bt_discovery_led_on:
+	jam 0,mem_mouse_discovery_blink_count
+p_mouse_bt_led_on:
+	fetcht 1,mem_device_bt_led_gpio
+	call gpio_config_output	
+	fetcht 1,mem_device_bt_led_gpio
+	branch gpio_out_active
+
+p_mouse_bt_led_off:	
+	fetcht 1,mem_device_bt_led_gpio
+	branch p_gpio_set_input_pu
+
+
+p_mouse_device_led_off:
+	call p_mouse_bt_led_off
+	branch p_mouse_24g_led_off
+
+
+p_mouse_device_poweron_led_off:
+	jam 0,mem_mouse_poweron_led_timer	
+	rtn
+
+	
+/*
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+*/	
+
+ifdef G24
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+endif	
+	
+ifdef BLE
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+ifdef BLE_FAST_CONN_ENABLE
+	fetch 1,mem_mouse_fast_conn_flag
+	beq 0xff,p_mouse_le_next
+endif	
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+p_mouse_le_next:	
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+ifdef HIGH_REPORT_BT
+	nbranch p_bt_125hz_clear,user
+	call p_bt_125hz
+	nrtn user7
+else
+	nrtn user
+endif
+	call p_mouse_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user	
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LOST_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	nbranch debuglog_push,user
+
+	setarg MISC_PUSH_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	rtn
+
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_PULL_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_mouse_x
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_mouse_y
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push	
+endif
+endif
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+	
+endif
+
+ifdef HIGH_REPORT_BT
+p_bt_125hz:
+	enable user7
+	fetch 1,mem_bt_125hz_cnt
+	beq 15,p_bt_125hz_clear
+	increase 1,pdata
+	store 1,mem_bt_125hz_cnt
+	rtn
+p_bt_125hz_clear:
+	jam 0,mem_bt_125hz_cnt
+	disable user7
+	rtn	
+endif
+
+
+
+p_mouse_wheel_trigger:
+	fetch 2,mem_mouse_z
+	rtn blank
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+
+ifdef CLASSIC_BT
+p_mouse_bt:
+	rtn attempt
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+ifdef HIGH_REPORT_BT
+	nbranch p_bt_125hz_clear,user
+	call p_bt_125hz
+	nrtn user7
+else
+	nrtn user
+endif
+	call p_mouse_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+	fetch 1,mem_mouse_bt_boot_mode
+	beq 1,p_mouse_send_data_boot_mode	//boot
+	fetch 1,mem_mouse_bt_send_first_package_flag
+	rtn blank
+	branch mouse_send_data	//report
+
+p_mouse_send_data_boot_mode:
+	fetch 1,mem_mouse_key
+	store 1,mem_mouse_bt_boot_data
+	fetch 1,mem_mouse_x
+	istore 1,contw
+	fetch 1,mem_mouse_y
+	istore 1,contw
+	fetch 2,mem_mouse_z
+	istore 2,contw
+
+	arg 7,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 5,mem_mouse_bt_boot_data
+	istore 5,contw
+	rtn
+
+p_mouse_clear_sensor_data:
+	jam 1,mem_mouse_clear_sensor_data_flag
+	call le_set_config_more_data
+	branch p_mouse_init_sensor_reset
+endif
+
+//p_mouse_clear_sensor_data:
+//	call le_set_config_more_data
+//	jam 1,mem_mouse_clear_sensor_data_flag
+//	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+	call ui_check_paring_button
+ifdef DPI_ENABLE	
+	call p_mouse_dpi_check
+endif	
+	branch mouse_wheel_check
+
+
+ifdef DPI_ENABLE
+p_mouse_dpi_check:
+	fetcht 1,mem_dpi_button_gpio
+	call p_gpio_set_input_pd
+	call p_mouse_dpi_check_next
+	fetcht 1,mem_dpi_button_gpio
+	branch p_gpio_set_input_pu
+
+p_mouse_dpi_check_next:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	branch mouse_dpi_up,true
+p_mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	sub pdata,0x03,null
+	ncall disable_blank,positive
+p_mouse_set_dpi:	
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+/*				// customer needn't blink
+	fetch 1,mem_mouse_dpi		// dpi = 1, 8-3-1=400ms led off;
+	branch p_mouse_dpi_no_blink,blank
+	mul32 pdata,8,pdata
+	increase -3,pdata
+	store 1,mem_mouse_dpi_blink_count
+*/	
+p_mouse_dpi_no_blink:	
+//	jam 1,mem_mouse_dpi_led_delay_count  //delay 200ms led blink
+	branch p_mouse_store_flash_device_info	
+endif	
+
+p_mouse_priority_bb_event:
+	copy regc,pdata
+ifdef BLE	
+	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
+	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
+	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
+endif
+ifdef CLASSIC_BT
+	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
+//	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch
+	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
+	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
+	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
+endif
+ifdef G24
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+endif
+	branch mouse_priority_bb_event+1
+
+ifdef BLE
+p_mouse_le_bb_event_connected:
+	call p_mouse_init_sensor_reset
+	jam ZCODE_B0,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_bb_disconnected:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam ZCODE_A2,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_enc_info:
+p_app_updata_le_param:
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+p_mouse_le_ll_start_encryt:
+	jam ZCODE_B3,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_le_conn_param_update_rsp_recieved:
+	jam ZCODE_A1,mem_zcode_temp_param0
+	branch p_zcode_entrance
+endif
+
+
+ifdef CLASSIC_BT
+p_mouse_bb_event_reconn_timeout:
+p_mouse_bb_event_reconn_failed:
+	jam ZCODE_A3,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_irtual_cable_unplug:
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
+
+p_mouse_sniff_not_accept:
+	jam ZCODE_B1,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_bb_event_connected:
+	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_init_sensor_reset
+	branch mouse_stop_discovery
+
+p_mouse_bb_event_disconnected:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam ZCODE_B4,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_enter_sniff_check:
+	jam ZCODE_B2,mem_zcode_temp_param0
+	branch p_zcode_entrance
+endif
+
+ifdef G24
+p_mouse_24g_pairing_complete:
+	call p_mouse_init_sensor_reset
+	jam ZCODE_92,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check	//sensor power down
+	jam 0,mem_retry_count
+	jam ZCODE_51,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_24g_attempt_success:
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_init_sensor_reset
+p_mouse_24g_no_data_timer_init:
+	branch mouse_no_data_timer_init
+endif
+
+p_mouse_before_hibernate:
+	call p_mouse_sensor_powerdown_check
+	jam ZCODE_A4,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+	branch p_mouse_sensor_powerdown
+
+
+p_mouse_bb_event_timer:
+ifdef ADC_ENABLE
+	call p_mouse_adc_read
+	call p_mouse_low_voltage_led_timer
+endif
+	call p_mouse_wheel_trigger_timer
+
+	call p_mouse_select_device_by_button
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call p_mouse_current_mult_update_timer
+ifdef G24
+	call p_mouse_24g_long_sleep_param_update_timer
+//	call p_mouse_24g_pairing_commbination_key
+endif
+ifdef BLE	
+	call mouse_check_direct_timeout_timer
+	call p_mouse_le_enable_att_list_timer
+endif
+ifdef CLASSIC_BT
+	call p_mouse_send_switch_req_timer
+	call mouse_check_hid_handshake_timer
+	call p_mouse_bt_check_sniff_req_timeout_timer
+endif
+	call p_mouse_discovery_led_blink
+	call p_mouse_24g_led_blink
+	branch p_mouse_device_poweron_led_timer
+
+ifdef ADC_ENABLE
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_mouse_direct_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_discovery_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_mouse_poweron_led_timer
+	nbranch p_mouse_24g_led_off,blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,p_mouse_24g_led_on
+	beq 4,p_mouse_24g_led_off
+	beq 6,p_mouse_24g_led_on
+	beq 8,p_mouse_24g_led_off
+	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_24g_led_off
+endif
+
+ifdef CLASSIC_BT
+p_mouse_send_switch_req_timer:
+	arg mem_mouse_send_switch_req_timer,regc
+	arg host_create_conn_resend,regb
+	branch timer_single_step
+
+p_mouse_bt_check_sniff_req_timeout_timer:
+	arg mem_mouse_bt_send_first_package_timer,regc
+	arg p_mouse_bt_send_first_package,regb
+	branch timer_single_step
+p_mouse_bt_send_first_package:
+	jam 1,mem_mouse_bt_send_first_package_flag
+	rtn
+endif
+
+
+ifdef BLE
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step
+endif
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_current_mult_update_timer:
+	arg mem_mouse_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
+
+ifdef G24
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+p_mouse_long_mult_flag_enable:	
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+/*
+p_mouse_24g_pairing_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down 
+	branch mouse_bt_discovery_commbination_key_up
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_24g_pairing_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_24g_pairing_timer:
+	fetch 1,mem_device_flag
+	rtnne MODE_24G_DEVICE
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_24g_pairing_button,regb
+	branch timer_single_step	
+*/	
+endif
+
+
+
+p_mouse_bt_discovery_timer:
+	arg mem_select_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+p_mouse_long_button_bt_discovery:
+	fetcht 1,mem_device_flag
+	fetch 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	branch mouse_long_button_bt_discovry
+
+
+p_mouse_set_select_state:
+	jam 1,mem_select_device_button_press_flag
+	rtn
+
+p_mouse_clear_select_state:
+	jam 0,mem_select_device_button_press_flag
+	rtn
+	
+
+p_mouse_select_device_by_button:
+	fetch 1,mem_select_device_button_press_flag
+	branch p_mouse_select_device_button_up,blank
+p_mouse_select_device_button_down:
+	call p_mouse_bt_discovery_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_DOWN
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	jam PB_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	rtn
+
+
+	
+p_mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq PB_BUTTON_STATE_UP
+//	fetch 1,mem_select_ui_button_count
+//	sub pdata,20,null
+//	ncall p_mouse_ready_reconnection_by_button,positive		// press button less than 1000ms
+//	ncall p_mouse_ready_reconnection_by_button,blank
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_ui_button_count	//combination key timer init 
+	jam PB_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+
+p_mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call p_mouse_store_flash_device_info
+//	call mouse_select_device_enable
+//	call p_select_reconn_device
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtneq MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	branch mouse_set_reconnection
+
+
+	
+/*
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+p_mouse_null_enter_hibernate_disable:	//ble never connected
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn	
+//p_mouse_null_enter_hibernate_check:
+//	fetch 2,mem_ui_state_map
+//	rtnbit1 UI_STATE_BLE_CONNECTED
+//	rtnbit1 UI_STATE_BT_CONNECTED
+//	rtnmark1 mark_24g
+//	branch p_mouse_null_enter_hibernate_enable
+*/
+	
+
+ifdef ADC_ENABLE
+p_mouse_adc_read:
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	call p_mouse_adc_read_gpio5, positive
+	ncall p_mouse_adc_read_vinlpm,positive
+	call adc_init_data
+	call p_adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call p_adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 2,p_mouse_set_select_state
+	bbit1 1,app_enter_hibernate
+	bbit0 0,p_mouse_adc_no_low_voltage
+	jam 1,mem_mouse_adc_last_low_voltage_flag
+	branch mouse_adc_low_voltage
+
+p_mouse_adc_read_gpio5:
+	fetch 1,mem_24g_device_led_status		// gpio5 output high 
+	nbranch p_mouse_adc_read_vinlpm,blank
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+p_mouse_adc_read_vinlpm:
+	jam 0,mem_adc_read_timer
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn
+
+p_vdd_calculate_by_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_vdd_calculate_io
+	branch vdd_calculate_by_mode+2
+
+p_vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch p_vdd_calculate
+
+p_vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch p_vdd_calculate1,positive
+	branch vdd_calculate+4
+
+p_vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	isub rega,null
+	call p_vdd_calculate2,positive
+	branch vdd_calculate1+3
+
+//  mem_adc_current_value - mem_0_5_adc_io_data >= mem_1v_adc_io_data - mem_0_5_adc_io_data
+p_vdd_calculate2:	
+	copy rega,pdata
+	rtn
+
+
+p_mouse_adc_no_low_voltage:
+	call mouse_adc_no_low_voltage
+	jam 12,mem_adc_low_volatage_led_timer_count
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+
+p_adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+	branch adc_set_mode+1
+p_adc_check_gpio:
+	hfetch 1,core_gpio_pd0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+
+
+p_adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio5
+	beq ADC_CONFIG_VINLPM,p_adc_check_vinlpm
+p_adc_check_vinlpm:	
+	fetch 2,mem_pdatatemp+6		//now voltage
+	fetcht 2,mem_pdatatemp+2		//shutdown voltage
+	isub temp,null
+	nbranch adc_set_no_power_flag,positive
+	call p_adc_clear_no_power_flag
+	fetcht 2,mem_pdatatemp+4	//low voltage
+	isub temp,null
+	nbranch adc_set_low_power_flag,positive
+p_adc_clear_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set0 0,pdata
+	store 1,mem_adc_power_flag
+	rtn		
+p_adc_check_gpio5:	
+	fetcht 2,mem_mouse_vdd_0v	// PB button press check
+	fetch 2,mem_pdatatemp+6		//now voltage
+	isub temp,null
+	nbranch p_adc_set_pb_press_flag,positive
+	call p_mouse_clear_select_state
+	branch p_adc_clear_pb_press_flag
+
+
+p_adc_clear_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set0 1,temp
+	storet 1,mem_adc_power_flag
+	rtn	
+p_adc_set_pb_press_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 2,temp
+	storet 1,mem_adc_power_flag
+	rtn	
+
+p_adc_clear_pb_press_flag:
+	fetcht 1,mem_adc_power_flag
+	set0 2,temp
+	storet 1,mem_adc_power_flag
+	rtn		
+	
+endif
+
+p_mouse_motion: 
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+//	call p_mouse_device_led_on,user
+//	ncall p_mouse_device_led_off,user
+ifdef MOUSE_SMOOTHER	
+	nbranch p_drawing_optima_init,user
+	call p_drawing_optima
+else
+	nrtn user
+endif
+	branch mouse_motion+9
+
+/*
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+//	call p_mouse_check_skey_gpio
+	branch mouse_check_key_gpio_output
+//p_mouse_check_skey_gpio:
+//	fetch 1,mem_bk_button_gpio
+//	rtneq GPIO_DISABLE
+//	call p_mouse_check_bk_key_gpio
+//	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+//p_mouse_check_bk_key_gpio:
+//	fetcht 1,mem_bk_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_bk_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,3,rega
+//	branch p_gpio_set_input_pu
+//p_mouse_check_fw_key_gpio:
+//	fetcht 1,mem_fw_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_fw_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,4,rega
+//	branch p_gpio_set_input_pu
+*/
+
+p_gpio_set_input_high_impedance:
+	set0 gpio_active_bit,temp
+	branch gpio_set_high_impedance
+
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pd4:	
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pu1:	
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
+
+	
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_poweron_led_timer
+ifdef G24	
+	isolate1 mark_24g,mark
+	call p_g24_check_51cmd_stop_24g,true
+endif
+	branch mouse_bb_event_discovery_btn+1
+
+ifdef BLE
+p_le_addr_random_config:
+	jam ZCODE_81,mem_zcode_temp_param0
+	branch p_zcode_entrance	
+
+p_mouse_start_discovery:
+	jam 0,mem_mouse_discovery_blink_count
+	jam ZCODE_50,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+
+
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+	branch le_modified_name_adv
+
+p_mouse_stop_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	store 1,mem_mouse_dpi_blink_count
+	store 1,mem_mouse_blink_count
+	store 1,mem_mouse_discovery_blink_count
+	jam 5,mem_mouse_bt_ble_led_timer
+	call p_mouse_bt_led_off
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+ifdef BLE
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call power_ctrl_start
+	branch le_slave_match+7
+
+p_le_next_adv_channel:
+	fetch 1,mem_le_ch_mapped
+	increase 1,pdata
+	store 1,mem_le_ch_mapped
+	rtnne 40
+	jam 37,mem_le_ch_mapped
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	call p_rssi_signal
+	branch le_receive_skip+2
+
+p_le_update_param:
+	jam ZCODE_40,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_update_channel_map:
+	jam ZCODE_41,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	bbit1 wak,p_le_prepare_tx_wak
+	call power_ctrl_pac_succ_incrs	
+	fetch 1,mem_empty_count
+	nbranch p_le_send_empyt,blank
+	fetch 1,mem_le_state 
+	bbit0 lestate_encryption,p_le_tx_4
+	fetch 1,mem_le_rxbuf+1  
+	branch p_le_tx_4,blank  
+	branch le_send_empty      // send empty data when got non empty packet
+p_le_send_empyt:
+	fetch 1,mem_empty_count
+	increase -1,pdata
+	store 1,mem_empty_count
+	branch le_send_empty
+p_le_tx_4:	
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
+	jam 3,mem_empty_count
+p_in_le_tx_4:
+	call le_fifo_check_nearly_full
+	call p_mouse_data_pull,blank
+	branch le_prepare_tx+4
+
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+	branch p_le_power_ctrl_pac_succ_decrs
+
+p_le_check_tx_retransmit_setmd:
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	fetch 1,mem_le_txlen
+	rtn blank
+	fetch 1,mem_le_txheader
+	set1 md,pdata
+	store 1,mem_le_txheader
+	call le_set_md
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT_MD
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	rtn
+
+	
+	
+p_le_power_ctrl_pac_succ_decrs:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	branch power_ctrl_pac_succ_decrs
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+	fetch 1,mem_mouse_le_reconnect_flag
+	rtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtneq 0x03
+	jam 1,mem_le_start_encrypt_timer
+	rtn
+
+p_le_parse:
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,p_le_parse_ll
+	branch le_parse_l2cap
+p_le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
+	branch le_parse_ll+1
+p_le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	branch le_parse_channel_map_req+7	
+	
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,p_le_parse_smp
+	branch le_parse_l2cap+11
+p_le_parse_att:
+	call store_contr
+	call p_mouse_le_reconn_write_enable_timer_reinit
+	call get_contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+	rshift8 pdata,temp
+	sub temp,0x24,null
+	branch p_le_parse_att1,positive
+	arg mem_mouse_le_uuid_sup,temp
+	storet 2,mem_ui_le_uuid_table
+	call le_parse_att+2
+	setarg 0x8e7a
+	store 2,mem_ui_le_uuid_table
+	rtn
+
+p_le_parse_att_read_by_group_type_request:
+	call le_parse_att_read_by_group_type_request
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	ifetch 1,contr
+	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	increase 5,contr
+	ifetch 2,contr
+	arg UUID_SERVICE_HIDS,temp
+	isub temp,null
+	nrtn zero
+	increase -4,contr
+	setarg 0x2b
+	istore 2,contr
+	rtn
+
+
+p_le_parse_att1:
+	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	branch le_parse_att+2
+p_le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero
+	
+	fetch 2,mem_le_att_handle
+	beq 0x13,le_send_att_error_response_notfound
+
+	fetcht 2,mem_le_att_handle
+	branch le_send_att_read_response
+
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
+p_le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch p_le_send_att_read_response,zero
+	call le_check_encrypt_state
+	nbranch p_le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+	
+
+
+p_le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
+	branch le_parse_smp+1
+p_le_parse_smp_pairing_failed:
+	jam ZCODE_82,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_le_adv_not_match:
+	fetch 1,mem_le_ch_mapped
+	bne 39,le_adv_loop
+	call p_le_adv_random_delay
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+p_le_adv_random_delay:
+	random pdata
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	branch delay
+
+p_le_lpm_setmult:
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+	fetch 1,mem_le_connect_status_flag
+	compare 3,pdata,3
+	nbranch lpm_mult_short,true
+	branch le_lpm_set_mult_attempt+3
+
+p_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
+endif
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call p_twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+p_spid_init:
+	call spid_init_common
+p_twspi_enable:
+	hfetch 1,core_gpio_sel1
+	set1 0,pdata
+	set0 1,pdata
+	set0 3,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+
+
+ifdef CLASSIC_BT
+p_page_wait_fhs_reply_ok:
+	jam ZCODE_00,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+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
+	force 1,am_addr	/* process_fhs will update am_addr, so slave will not receive fhs succeffully sometimes */
+	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
+
+p_process_dmh:
+	bmark1 mark_first_packet,end_of_packet
+	branch process_dmh+1
+
+p_quit_connection_cont:
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	branch quit_connection_cont+8
+
+p_prepare_tx:
+	fetch 1,mem_state
+	isolate1 state_inconn,pdata
+	call p_bt_power_ctrl,true
+	branch prepare_tx+1
+p_bt_power_ctrl:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	call power_ctrl_pac_succ_decrs,true
+	ncall power_ctrl_pac_succ_incrs,true
+	branch power_ctrl_start
+
+p_slave_conn_recv_packet:
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	call p_rssi_signal
+	branch slave_conn_recv_packet+4
+
+p_lpm_dispatch:
+	rtnmark1 mark_24g
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,10,null
+	rtn positive
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							//sco won't sleep 
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff	//role switch 
+	arg 0xffff,temp
+	isub temp,null
+	rtn zero
+	branch lpm_dispatch_next+9
+
+p_lpm_set_mult:
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	call p_lpm_set_attemp_timeout,blank	//fixed bt3.0 connected high current
+	branch lpm_set_mult+13	
+p_lpm_set_attemp_timeout:
+	jam 1,mem_current_sniff_attempt
+	jam 0,mem_current_sniff_timeout
+	rtn	
+
+p_mouse_bb_disconnected:
+	jam ZCODE_10,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_hid_rx_process:
+	jam ZCODE_11,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
+	branch parse_lmp_accepted+3
+p_parse_lmp_accepted_switch:
+	call parse_lmp_accepted_switch
+	jam 1,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtn blank
+	jam 2,mem_bt_send_lmp_setup_complete
+	rtn
+
+p_send_lmp:
+	jam ZCODE_20,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+p_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CONN_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CONN_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_conn_sm
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	beq CONN_SM_SEND_CONN_REQ, p_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,p_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+p_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,p_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+p_host_create_conn_switch_accept:
+	rtn master
+p_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,p_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+p_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch p_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+p_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+p_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+	
+ifdef DEBUGLOG
+p_parse_lmp_opcode:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_PARSE_LMP
+	setarg DEBUGLOG_DTYPE_PARSE_LMP
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_rxbuf+1
+	store 1,mem_debuglog_dataval+1 
+	fetch 1,mem_lmi_opcode2
+	store 2,mem_debuglog_dataval
+	call debuglog_push 
+endif
+endif
+	branch parse_lmp+21
+
+p_process_upper_sm_reconn:
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_UPPER_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_UPPER_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_upper_sm_reconn
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch process_upper_sm_reconn+3
+
+endif	
+
+endif
+	
+ifdef DEBUGLOG
+p_ui_ipc_send_event:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_EVENT
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_EVENT
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch ui_ipc_send_event+1
+
+p_ui_ipc_send_cmd:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CMD
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CMD
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push
+endif
+endif
+	branch ui_ipc_send_cmd+1
+endif
+
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_STORE_RECONN_INFO_LE,p_flash_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,p_flash_store_bd_reconn_info
+	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
+	branch check_51cmd_once_continue+2
+
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+
+p_flash_store_le_reconn_info:
+	jam REC_4_MODE,mem_record_bt_mode
+	fetch 6,mem_le_plap
+	branch p_flash_store_reconn_info
+p_flash_store_bd_reconn_info:
+	jam REC_3_MODE,mem_record_bt_mode
+	fetch 6,mem_plap	
+p_flash_store_reconn_info:
+	store 6,mem_temp_lap
+p_mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+p_mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	branch p_mouse_store_flash_device_info
+
+
+
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	rtnbit1 UI_STATE_BT_RECONNECT
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_rssi_avg_received
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push	
+endif
+endif
+	setarg RSSI_DIS_MAX_24G
+	bmark1 mark_24g,power_ctrl_start_next
+	setarg RSSI_DIS_MAX_BLE
+power_ctrl_start_next:	
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	setarg RSSI_DIS_MIN_24G
+	bmark1 mark_24g,power_ctrl_txpower_decrs_next
+	setarg RSSI_DIS_MIN_BLE	
+power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_1
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_2
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_0
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+
+endif
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+//	beq TX_POWER_0DB,p_set_tx_power_0db
+//	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+//	branch p_set_tx_power_0db
+p_set_tx_power_0db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_0db	
+
+//p_set_tx_power_3db:
+//	call p_rx_high_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+	call p_rx_high_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+//	jam 0xba,0x894b
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+
+// input : mem_zcode_temp_param0 ---- zocde number(0~1f)
+p_zcode_entrance:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_zcode_temp_param0
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_zcode_current_number
+	istore 1,contw
+	call debuglog_push	
+endif
+endif
+	fetcht 1,mem_zcode_temp_param0 // zcode number @ high 4bit
+	rshift4 temp,temp
+	fetch 1,mem_zcode_current_number
+	isub temp,null
+	branch p_zcode_run,zero // if this zcode is already loaded, do not load again
+	storet 1,mem_zcode_current_number
+	increase 1,temp
+	setarg ZCODE_BUFF_SIZE
+	imul32 temp,temp
+	fetch 3,mem_xip_flash_offset
+	isub temp,pdata
+
+	fetcht 3,mem_flash_start_addr
+	iadd temp,pdata
+	increase -5,pdata
+	store 3,mem_flash_address
+	
+	call p_flash_release_deep_power_down
+p_zcode_read_loop:			// YC1059
+	fetch 3,mem_flash_address
+	arg ZCODE_BUFF_SIZE,temp
+	arg mem_zcode_buff,rega
+	call spid_read_flash
+	fetch 4,mem_zcode_buff
+	fetcht 4,mem_zcode_head	//p_start
+	isub temp,null
+	nbranch p_zcode_read_loop,zero
+	call p_mouse_spi_init
+	
+	setarg mem_zcode_buff
+	store 2,mem_patch_ptr
+	jam ZCODE_CODE_SIZE,mem_patch_len
+	call load_ucode
+	setarg 0
+	store 4,mem_patch_ptr
+p_zcode_run:
+	fetch 1,mem_zcode_temp_param0
+	branch p_zcode
+
+
+
+ifdef DEBUGLOG 
+pdata_push:
+	store 8,mem_debuglog_pdata
+	rtn
+
+pdata_pull:
+	fetch 8,mem_debuglog_pdata
+	rtn
+	
+debuglog_init:
+	call pdata_push
+	call debuglog_uart_init
+	call debuglog_mem_init
+	branch pdata_pull
+ 
+debuglog_uart_init:
+	/*step1:SET IO TX:GPIO6	RX:GPIO7*/
+	hfetch 1,core_gpio_sel1
+	set1 2,pdata
+	hstore 1,core_gpio_sel1 //Open UARTGPIO MUX
+	hfetch 4,core_gpio_pu0	 //RX pull up
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	/*step2:sel UARTclk bit0	=0:crystal	 =1:48M*/
+	hfetch 1,core_uart_clksel
+	set1 0,pdata
+	hstore 1,core_uart_clksel
+
+	/*step3:Enable uart clk
+	core_clkoff(0x8050)bit15 = 0,Enable uart clk*/
+	hfetch 2,core_clkoff
+	set0 0x0f,pdata
+	hstore 2,core_clkoff
+
+	/*step3:Set Ring Buffer*/
+	setarg mem_module_rx_buf		//RX buf Start Addr
+	hstore 2,core_uart_rsaddr
+
+	setarg mem_module_rx_buf_end	//RX buf End Addr
+	hstore 2,core_uart_readdr
+
+	setarg mem_module_tx_buf		//TX BUF Start Addr
+	hstore 2,core_uart_tsaddr
+
+	setarg 0x1eff	//TX buf End Addr
+	hstore 2,core_uart_teaddr
+	
+	setarg mem_module_rx_buf		//RX buf RPTR
+	hstore 2,core_uart_rrptr
+
+	setarg mem_module_tx_buf		//TX buf WPTR
+	hstore 2,core_uart_twptr
+
+	hstore 2,core_uart_trptrp		//TX buf RPTR
+
+	/*step4:SET baud*/
+	//hstore 2,mem_baud
+	setarg 0x34
+	hstore 2,core_uart_baud
+
+	/*step5:SET DataLen,parity bit,flow control and enable UART
+	RW	0	Enable UART
+	RW	1	1: odd parity; 0: even parity
+	RW	2	UART Data length 1: 9 bits; 0: 8 bits
+	RW	3	1: HCI uart SLIP protocol
+	RW	4	1: enable RTS/CTS flow control
+	RW	5	1: enable 7816 smart card protocol
+	RW	6	1: enable half duplex single line UART
+	RW	7	1: Use baud settings 0:auto detect baud rate*/
+	jam 0x00,core_uart_ctrl
+	jam 0x81,core_uart_ctrl
+	rtn 
+
+debuglog_mem_init:
+	jam DEBUGLOG_HEAD,mem_debuglog_temp
+	jam DEBUGLOG_TYPE,mem_debuglog_type
+	jam DEBUGLOG_LEN ,mem_debuglog_datalen
+	jam DEBUGLOG_TAIL,mem_debuglog_tail
+	rtn	
+
+debuglog_push:
+	call pdata_push
+	hfetch 1,core_uart_status
+	rtnbit1 uart_status_tx_fifo_full
+	call uartd_prepare_tx
+	fetch 8,mem_debuglog_temp
+	istore 8,contwu
+	call uartd_send
+	branch pdata_pull 
+endif
+
+ifdef RF_DEBUG
+test_gpio_init:
+	arg TEST_GPIO,temp
+	call gpio_config_output
+test_gpio_low:
+	arg TEST_GPIO,temp
+	call gpio_out_active
+	nop 10
+	rtn
+test_gpio_high:
+	arg TEST_GPIO,temp
+	call gpio_out_inactive
+	nop 10
+	rtn
+
+test_h_l:
+	call test_gpio_high
+	branch test_gpio_low
+test_h_l_h:
+	call test_gpio_high
+	call test_gpio_low	
+	branch test_gpio_high
+endif
+
+ifdef MOUSE_SMOOTHER
+//notice: need to call p_mouse_drawing_optima_init when waked from mult
+p_drawing_optima_init:
+	arg 5,loopcnt
+	arg mem_mouse_asm_flag,contw
+	branch clear_mem
+
+p_drawing_optima:
+	fetch 4,mem_mouse_x
+	rtn blank
+	call p_data_abs_check
+	setarg 0x06	//asm_flag enable condition
+	call p_data_greater_than_check
+	setarg 0x03	//asm_flag disable condition
+	call p_data_less_than_check
+	fetch 1,mem_mouse_asm_flag
+	beq 1,p_drawing_optima_modify
+	branch p_drawing_optima_init
+
+p_drawing_optima_modify:
+	fetch 2,mem_mouse_x_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_x_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_x
+
+	fetch 2,mem_mouse_y_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_y_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_y
+	rtn
+
+/**********
+input:data_pre,data_current
+output:data_pre,data_current after optima
+***********/
+p_drawing_optima_data:
+	fetch 2,mem_data_pre
+	fetcht 2,mem_data_current
+	iadd temp,pdata
+	store 3,mem_data_sum
+	isolate1 16,pdata
+	branch p_data_sum_overflow,true
+	fetch 1,mem_data_sum+1
+	beq 0xff,p_data_sum_n
+	fetch 1,mem_data_sum
+p_data_store_pre:
+	rshift pdata,pdata
+	store 2,mem_data_pre
+	store 2,mem_data_current
+	rtn
+p_data_sum_overflow:
+	fetch 1,mem_data_sum+1	//sum positive
+	beq 0,p_data_sum_overflow_p
+	fetch 3,mem_data_sum	//全负相加
+	branch p_data_store_pre
+p_data_sum_overflow_p:
+	jam 0,mem_data_sum+2
+	fetch 1,mem_data_sum
+	branch p_data_store_pre
+
+p_data_sum_n:
+	fetch 1,mem_data_sum	//sum negetive
+	call p_pdata_get_half
+	store 1,mem_data_pre
+	store 1,mem_data_current
+	branch p_data_zero,blank
+	setarg 0xff
+p_data_set_direction:	
+	store 1,mem_data_pre+1
+	store 1,mem_data_current+1
+	rtn
+p_data_zero:
+	setarg 0
+	branch p_data_set_direction
+
+p_pdata_get_half:
+	sub pdata,0,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	rshift pdata,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	sub pdata,0,pdata
+	rtn
+
+//rega mouse_x, regb mouse_y, pdata refer
+p_data_greater_than_check:
+	isub rega,null
+	nbranch p_enable_asm,positive
+	isub regb,null
+	nbranch p_enable_asm,positive
+p_disable_asm:
+	jam 0,mem_mouse_asm_flag
+	rtn
+p_data_less_than_check:
+	isub rega,null
+	nrtn positive
+	isub regb,null
+	nrtn positive
+	branch p_disable_asm
+p_enable_asm:
+	jam 1,mem_mouse_asm_flag
+	rtn
+
+p_data_abs_check:
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,rega
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,regb
+	rtn
+
+/***********
+input: data_current
+output:pdata,abs
+************/
+p_data_abs:
+	fetch 1,mem_data_current+1
+	beq 0xff,p_data_reversal
+	fetch 1,mem_data_current
+p_data_abs_store:
+	and_into 0xff,pdata
+	//output:pdata
+	rtn
+p_data_reversal:
+	fetch 2,mem_data_current
+	sub pdata,0,pdata
+	branch p_data_abs_store
+
+endif
+
+ifdef TESTDATA
+//1 mem_m_key
+//2 mem_m_x
+//2 mem_m_y
+//1 mem_m_z
+//1 mem_m_tz
+//1 mem_24g_test
+p_g24_test_data:
+	fetch 1,mem_24g_test
+	increase 1,pdata
+	store 1,mem_24g_test
+	sub pdata,50,null
+	branch p_ms_x_right,positive
+	sub pdata,100,null
+	branch p_ms_y_up,positive
+	sub pdata,150,null
+	branch p_ms_x_left,positive
+	sub pdata,200,null
+	branch p_ms_y_down,positive
+	rtn
+p_ms_x_right:
+	setarg 0x05
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+p_data:	
+	enable user
+	fetch 7,mem_m_key
+	store 7,mem_mouse_key
+	rtn
+p_ms_y_up:
+	setarg 0x05
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_x_left:
+	setarg 0xfffb
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_y_down:
+	fetch 1,mem_24g_test
+	beq 200,p_mem_usb_data_square_cnt_set0
+	setarg 0xfffb
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_mem_usb_data_square_cnt_set0:
+	jam 0,mem_24g_test
+	branch p_ms_y_down+2
+endif
+
+ifdef MEMLOG
+p_hci_log:
+	fetch 1,0x4d00
+	increase 1,pdata
+	sub pdata,50,null
+	branch p_hci_log_calc_ptr,positive
+	setarg 0
+p_hci_log_calc_ptr:
+	store 1,0x4d00
+	arg 8,temp
+	imul32 temp,pdata
+	arg 0x4d08,contw
+	iadd contw,contw
+p_hci_log_write_content:
+	fetch 1,0x4d00
+	istore 1,contw//counter
+	fetch 4,mem_le_supervision_timer
+	istore 4,contw
+	fetch 2,mem_le_superto
+	istore 2,contw	
+	rtn
+endif
+
+
Index: ZJL_pm8_BLE&BT/program/peripherals.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/peripherals.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/peripherals.prog	(working copy)
@@ -0,0 +1,2440 @@
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	jam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	jam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	jam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	jam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	jam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	jam 2,core_spid_txlen
+	jam 0,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	jam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	jam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	jam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	jam 12,core_iicd_scl_low
+	jam 13,core_iicd_scl_high
+	jam 13,core_iicd_start_setup
+	jam 13,core_iicd_start_hold
+	jam 13,core_iicd_stop_setup
+	jam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	jam 5,core_iicd_scl_low
+ 	jam 7,core_iicd_scl_high
+	jam 7,core_iicd_start_setup
+	jam 7,core_iicd_start_hold
+	jam 7,core_iicd_stop_setup
+	jam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	jam 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	jam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	jam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	jam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x02,core_otp_ctrl	/* web */
+	jam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	jam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	jam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	jam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	jam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	jam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	jam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	jam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	jam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	jam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	jam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	jam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	jam 0x80,core_otp_ctrl	/* rstn */
+	jam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	jam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	jam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	jam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	jam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	jam 0x7c,rfen_adc
+	jam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+ifdef SPI_SIMULATE
+/******************************simulate spi slave start**********************************/
+
+/*
+// Define SPI struct, gpio config
+mem_spi_simulate_struct:
+02	#cs
+03	#sclk
+04	#mosi
+05	#miso
+08	#motion
+*/
+
+/*
+Brief: spi_simulate_init_slave
+Input: None
+Output: None
+Return: None
+Brief: cs_gpio,sclk_gpio,mosi_gpio : input
+	miso_gpio : output
+*/
+spi_simulate_init_slave:
+	call spi_simulate_variable_release_slave
+	branch spi_simulate_gpio_config_slave
+
+spi_simulate_variable_release_slave:
+	arg mem_spi_simulate_read_byte_slave,contw
+	arg 53,loopcnt
+	call buffer_release
+	arg mem_spi_simulate_write_byte_slave,contw
+	arg 54,loopcnt
+	branch buffer_release
+
+buffer_release:
+	setarg 0
+buffer_release_loop:
+	istore 1,contw
+	loop buffer_release_loop
+	rtn
+	
+spi_simulate_gpio_config_slave:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_sclk_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_mosi_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_config_output
+	fetcht 1,mem_spi_simulate_motion_gpio
+	call gpio_config_output
+	branch spi_simulate_motion_disable
+
+spi_simulate_motion_enable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_inactive
+spi_simulate_motion_disable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_active
+	
+/*
+Brief: spi_simulate_read_byte_slave
+Input: rega: read length
+Output: mem_spi_simulate_read_byte_slave: read buffer
+Return: None
+Brief: when the cs_gpio is low level,slave reads data from master at the rising edge of the sclk gpio
+*/
+spi_simulate_read_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_read_byte_slave1:	
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	arg 8,loopcnt
+spi_simulate_read_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+	
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_read_byte_slave_loop,true	
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	fetcht 1, mem_spi_simulate_mosi_gpio
+	call gpio_get_bit
+	ncall spi_simulate_read_byte_or_one,true
+spi_simulate_read_byte_slave_loop1:	
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop1,true
+	loop spi_simulate_read_byte_slave_loop
+	
+	fetcht 1,mem_spi_simulate_read_length_slave_temp
+	setarg mem_spi_simulate_read_byte_slave
+	iadd temp,contw
+	copy contw,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_read_length_slave_temp
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	copy regb,contw
+	istore 1,contw
+
+	fetch 1,mem_spi_simulate_read_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	nbranch spi_simulate_read_byte_slave1,blank
+	
+spi_simulate_read_byte_slave_loop2:	
+	fetcht 1, mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop2,true
+spi_simulate_read_byte_slave_end:	
+	jam 0,mem_spi_simulate_read_length_slave
+	jam 0,mem_spi_simulate_read_length_slave_temp
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+spi_simulate_read_byte_or_one:
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	or_into 1,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+
+/*
+Brief: spi_simulate_write_byte_slave
+Input: rega: write length;  write buffer:mem_spi_simulate_write_byte_slave;
+Output: None
+Return: None
+Brief: when the cs_gpio is low level,slave writes data to master at the falling edge of the sclk gpio
+*/
+spi_simulate_write_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_write_byte_slave1:
+	fetcht 1,mem_spi_simulate_write_length_slave_temp
+	setarg mem_spi_simulate_write_byte_slave
+	iadd temp,contr
+	copy contr,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_write_length_slave_temp
+	copy regb,contr
+	ifetch 1,contr
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	
+	arg 8,loopcnt
+spi_simulate_write_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop,true
+spi_simulate_write_byte_slave_loop1:
+	fetch 1,mem_spi_simulate_write_byte_slave_temp
+	store 1,mem_spi_simulate_write_byte_slave_temp_temp
+	and_into 0x80,pdata
+	beq 0x80,spi_simulate_set_miso_gpio_high
+	call spi_simulate_set_miso_gpio_low
+spi_simulate_write_byte_slave_loop2:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_loop2,true	
+	fetch 1,mem_spi_simulate_write_byte_slave_temp_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	loop spi_simulate_write_byte_slave_loop
+
+	fetch 1,mem_spi_simulate_write_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	nbranch spi_simulate_write_byte_slave1,blank
+	
+spi_simulate_write_byte_slave_loop3:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop3,true
+spi_simulate_write_byte_slave_end:	
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp_temp
+	rtn
+	
+spi_simulate_set_miso_gpio_high:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_out_inactive
+	branch spi_simulate_write_byte_slave_loop2
+spi_simulate_set_miso_gpio_low:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	branch gpio_out_active	
+
+/******************************simulate spi slave end**********************************/
+
+endif  //SPI_SIMULATE
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
Index: ZJL_pm8_BLE&BT/program/rfcomm.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/rfcomm.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/rfcomm.prog	(working copy)
@@ -0,0 +1,960 @@
+
+ifdef COMPILE_RFCOMM
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+else
+
+rfcomm_init:
+	rtn
+rfcomm_init_spp:
+set_CR_bit:
+rfcomm_calculate_FCS_sabm:
+rfcomm_calculate_FCS_ua:
+rfcomm_calculate_FCS_dlci0:
+rfcomm_calculate_FCS_dlci0_res:
+rfcomm_save_FCS_uih:
+caculate_UIHdata_fcs:
+caculate_fcs:
+mod2div:
+mod2div_loop:
+mod2div_not_enough_reduction:
+mod2div_end:
+get_rfcomm_snd_adss:
+dlci_to_address_cmd:
+dlci_to_address_res:
+channel_to_dlci:
+rfcomm_rx_process_DLCI0_sabm:
+rfcomm_rx_process_DLCI0_ua:
+rfcomm_rx_process:
+rfcomm_rx_process_remote_page:
+parse_dlci0_rp:
+parse_DLCI0_rp_uih:
+parse_DLCI0_rp_uih_pn_cmd:
+parse_DLCI0_rp_uih_pn_cmd_spp:
+parse_DLCI0_rp_uih_pn_res:
+parse_DLCI0_rp_uih_pn_res_common:
+get_rfcomm_param_modem_status:
+get_rfcomm_head_struct:
+get_rfcomm_current_length:
+get_rfcomm_uih_head_struct:
+get_param_payload_ptr:
+get_rfcomm_param_length_common:
+get_rfcomm_length_common:
+get_rfcomm_prarmer_negotiation:
+parse_DLCI0_rp_uih_ms_cmd:
+parse_DLCI0_rp_uih_ms_cmd_spp:
+parse_DLCI0_rp_uih_ms_res:
+parse_DLCI0_rp_uih_ms_res_spp:
+parse_uih_rp:
+parse_uih_rp_spp:
+parse_uih_rp_spp_ua:
+parse_uih_rp_spp_sabm:
+parse_uih_spp_uih_credits:
+parse_uih_spp_uih:
+parse_uih_spp_uih_cont:
+parse_uih_rp_spp_disconn:
+rfcomm_rx_process_reconn:
+	branch assert 
+parse_DLCI0_reconn:
+parse_DLCI0_reconn_uih:
+parse_DLCI0_reconn_uih_pn_cmd:
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+parse_DLCI0_reconn_uih_ms_cmd:
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+parse_DLCI0_reconn_uih_ms_res:
+parse_DLCI0_reconn_uih_ms_res_noext:
+parse_DLCI0_reconn_uih_ms_res_spp:
+parse_uih_reconn:
+parse_uih_reconn_spp:
+parse_uih_reconn_spp_ua:
+parse_uih_reconn_spp_sabm:
+parse_uih_reconn_spp_disconn:
+rfcomm_rx_process_end:
+rfcomm_send_more_pkt:
+rfcomm_send_more_pkt_msc_cmd_spp:
+rfcomm_send_sabm:
+rfcomm_send_ua:
+rfcomm_send_param_neg_cmd:
+rfcomm_send_param_neg_res:
+rfcomm_send_modem_status_cmd:
+rfcomm_send_modem_status_res:
+rfcomm_send_uih_without_payload:
+rfcomm_increase_credit_given:
+spp_process_rx_data:
+spp_tx_rfcomm_packet:
+ssp_tx_rfcomm_from_uart:
+ssp_tx_rfcomm_from_uart_without_credit:
+ssp_tx_rfcomm_from_uart_common:
+ssp_tx_rfcomm_from_uart_common0:
+ssp_tx_write_length:
+ssp_tx_write_long_packet:
+ssp_tx_write_given_credit:
+	branch assert
+endif
Index: ZJL_pm8_BLE&BT/program/scheduler.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/scheduler.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/scheduler.prog	(working copy)
@@ -0,0 +1,461 @@
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+endif
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+ifdef COMPILE_RFCOMM
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+endif
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
Index: ZJL_pm8_BLE&BT/program/sdp.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/sdp.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/sdp.prog	(working copy)
@@ -0,0 +1,1206 @@
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
Index: ZJL_pm8_BLE&BT/program/security.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/security.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/security.prog	(working copy)
@@ -0,0 +1,1642 @@
+
+ifdef SECURE_CONNECTION
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+endif
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+ifdef TESTING
+test_security:
+	fetch 1,0xff
+	branch test_security,blank
+
+	/* inrand */
+	setarg 0x1BC683
+	store 3,0x0
+	setarg 0x122980
+	istore 3,contw
+	setarg 0xD0DB17
+	istore 3,contw
+	setarg 0x2B1D78
+	istore 3,contw
+	setarg 0x2743A6
+	istore 3,contw
+	setarg 0xD8
+	istore 1,contw
+
+	/* comb A */
+	setarg 0xA6D0C9
+	store 3,0x10
+	setarg 0xA9E86C
+	istore 3,contw
+	setarg 0x9E89D5
+	istore 3,contw
+	setarg 0xC61838
+	istore 3,contw
+	setarg 0x6F0318
+	istore 3,contw
+	setarg 0x9F
+	istore 1,contw
+
+	/* comb B */
+	setarg 0x7F6833
+	store 3,0x20
+	setarg 0xE62E1B
+	istore 3,contw
+	setarg 0x9F67FC
+	istore 3,contw
+	setarg 0x8D3712
+	istore 3,contw
+	setarg 0x0B846C
+	istore 3,contw
+	setarg 0x4A
+	istore 1,contw
+
+	/* auth rand A */
+	setarg 0xFBB686
+	store 3,0x30
+	setarg 0x19FE7F
+	istore 3,contw
+	setarg 0x16A439
+	istore 3,contw
+	setarg 0xF4F6A4
+	istore 3,contw
+	setarg 0x10D61D
+	istore 3,contw
+	setarg 0xDE
+	istore 1,contw
+
+	/* auth rand B */
+	setarg 0x735B0C
+	store 3,0x40
+	setarg 0xA7F06B
+	istore 3,contw
+	setarg 0x04625E
+	istore 3,contw
+	setarg 0x3463B0
+	istore 3,contw
+	setarg 0xB8F17A
+	istore 3,contw
+	setarg 0x7C
+	istore 1,contw
+
+	/* address A */
+	setarg 0xf91330
+	store 3,0xb0
+	setarg 0x664c7d
+	istore 3,contw
+
+	/* address B */
+	setarg 0xdc7100
+	store 3,0xb8
+	setarg 0x2ea003
+	istore 3,contw
+
+	/* sres A */
+	setarg 0x2EEE19
+	store 3,0x50
+	setarg 0x7E
+	istore 1,contw
+
+	/* sres B */
+	setarg 0x4231A4
+	store 3,0x58
+	setarg 0xD1
+	istore 1,contw
+
+	/* linkA */
+	setarg 0xa6a026
+	store 3,0x60
+	setarg 0x2569d2
+	istore 3,contw
+	setarg 0xab4a9d
+	istore 3,contw
+	setarg 0x5e87c0
+	istore 3,contw
+	setarg 0x792aa9
+	istore 3,contw
+	setarg 0x4b
+	istore 1,contw
+
+	/* linkB */
+	setarg 0xa1f07d
+	store 3,0x70
+	setarg 0xec97a6
+	istore 3,contw
+	setarg 0xae31eb
+	istore 3,contw
+	setarg 0x6fe3c4
+	istore 3,contw
+	setarg 0xa1ae1a
+	istore 3,contw
+	setarg 0x3a
+	istore 1,contw
+
+	/* linkkey */
+	setarg 0x07505b
+	store 3,0x80
+	setarg 0xc9fe74
+	istore 3,contw
+	setarg 0x057b76
+	istore 3,contw
+	setarg 0x316404
+	istore 3,contw
+	setarg 0xd884b3
+	istore 3,contw
+	setarg 0x71
+	istore 1,contw
+
+	/* K */
+	setarg 0x0c333f
+	store 3,0x90
+	setarg 0x41de70
+	istore 3,contw
+	setarg 0x9b05a2
+	istore 3,contw
+	setarg 0xb954a2
+	istore 3,contw
+	setarg 0xb37516
+	istore 3,contw
+	setarg 0x36
+	istore 1,contw
+
+	/* kinit */
+	setarg 0x5ff91a
+	store 3,0xa0
+	setarg 0x39b5a4
+	istore 3,contw
+	setarg 0x258f2d
+	istore 3,contw
+	setarg 0x5d4a85
+	istore 3,contw
+	setarg 0x656ad3
+	istore 3,contw
+	setarg 0xab
+	istore 1,contw
+
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	setarg 0x3131
+	store 2,mem_pin
+	istore 2,contw
+	jam 4,mem_pin_length
+	arg 0xb8,rega
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw
+	call memcpy16
+	arg 0x10,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb0,rega
+	call function_e21
+	arg 0x60,regb
+	call compare16
+error_lka:
+	nbranch error_lka,zero
+	arg mem_input_store,contr
+	arg mem_link_key,contw	
+	call memcpy16
+	arg 0x20,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb8,rega
+	call function_e21
+	arg 0x70,regb
+	call compare16
+error_lkb:
+	nbranch error_lkb,zero
+	arg mem_input_store,rega
+	arg mem_link_key,regb
+	arg mem_link_key,contw
+	call xor16
+	arg 0x30,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb8,rega
+	call function_e1
+	arg 0x50,regb
+	force 4,loopcnt
+	call compare_key
+error_sresa:
+	nbranch error_sresa,zero
+	arg 0x40,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb0,rega
+	call function_e1
+	arg 0x58,regb
+	force 4,loopcnt
+	call compare_key
+error_sresb:
+	nbranch error_sresb,zero
+	branch loop1
+	
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	force 12,loopcnt
+	call memcpy
+	arg 0x1c,contr
+	arg mem_link_key,contw
+	call memcpy16
+	arg 0x10,rega
+	call function_e3
+	branch loop1
+
+compare16:
+	force 16,loopcnt
+compare_key:
+	arg mem_input_store,rega
+	branch compare_loop
+
+compare_loop:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop compare_loop
+	force 0,pdata
+	rtn
+
+endif
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+ifdef SECURE_CONNECTION
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+endif
+
Index: ZJL_pm8_BLE&BT/program/sim.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/sim.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/sim.prog	(working copy)
@@ -0,0 +1,518 @@
+simstart:
+	force 8,radio_ctrl
+	force 0,radio_ctrl
+	jam 0xe0,0x8907			// set if_phase=7 for simulation environment
+	jam 0xe0,0x890a
+	jam 0x25,0x8912
+	jam 0xff,rfen_ck
+	jam 5,core_clksel
+//	call init_24m
+//	branch sim_usb
+//	branch sim_iic
+//	branch sim_clk
+//	call sim_uart
+//	branch sim_lpm
+//	branch sim_c1
+//	branch loop
+//	call sim_spi
+//	call sim_eep
+//	branch test_tx
+//	branch sim_le
+//	branch sim_250k
+	branch sim_main
+
+
+
+
+sim_lpm:
+	hfetch 1,0xffd
+	beq 1,sim_assert
+	branch sim_lpm_do
+	setarg 0
+	set1 31,pdata
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+sim_lpm_sleep:
+	jam 1,mem_context
+	branch sim_lpm_wait,wake
+	jam 0x70,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+sim_lpm_wait:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch sim_lpm_wait,blank
+	call lpm_recover_clk,wake
+	jam 0x1b,mem_lpm_ldocnt
+	arg sim_assert,loopcnt
+	hfetch 1,core_gpio_wakeup_low+2
+	bbit0 2,sim_lpm_loop
+	until null,lpo_edge
+	jam 0x20,core_misc_ctrl
+	until null,lpo_edge
+sim_lpm_loop:
+	hfetch 1,core_misc_status
+	bbit1 6,sim_lpm_loop
+	hfetch 1,core_gpio_in+3
+	compare 0x20,pdata,0x20
+	setarg 0
+	setflag true,29,pdata
+	setflag true,30,pdata
+	store 4,mem_gpio_wakeup_low
+	setarg 0
+	nsetflag true,29,pdata
+	nsetflag true,30,pdata
+	store 4,mem_gpio_wakeup_high
+sim_lpm_do:
+	arg 30,temp
+	branch lpm_sleep
+
+sim_assert:
+	branch sim_assert
+
+
+sim_main:
+	call init_param
+	jam 0,core_clkoff
+	hfetch 1,0x17fd
+	beq 1,sim_slave
+
+	arg 3,temp
+	call set_freq_tx
+	nop 500
+	enable encode_fec0
+	disable is_rx
+	enable is_tx
+	set1 TXGFSK,radio_ctrl
+	call sim_access
+	preload access
+	inject mod,72
+	setarg 0x123456
+	inject mod,72
+	set1 PSK,radio_ctrl
+	setarg 0xabeee
+	inject mod,20
+	setarg 0x22aa33
+	inject mod,72
+	branch s_loop
+
+
+	jam dvc_op_hci,mem_device_option
+	fetch 6,mem_lap
+	store 6,mem_hci_plap
+	setarg 0xbdbdbd
+	store 3,mem_lap
+	istore 3,contw
+	jam hci_cmd_create_conn,mem_hci_cmd
+	force 0xf,pdata
+	add pdata,-2,clkn_bt
+	store 4,mem_page_clk
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	jam 0,mem_scan_mode
+sim_loop:
+	call idle_dispatch
+	fetch 1,mem_context
+	bbit0 state_inconn,sim_skip
+	set1 mark_tx_l2cap,mark
+	fetch 1,mem_context + coffset_op		
+	set1 op_txl2cap,pdata
+	store 1,mem_context + coffset_op
+	jam 0,mem_context + coffset_lmp_to_send
+	jam 0,mem_lmo_opcode2
+	setarg 700
+	store 2,mem_tx_len
+	setarg mem_tmp_buffer
+	store 2,mem_txptr
+	jam 6,mem_tx_lch
+	jam 1,mem_hci_conn_handle
+sim_skip:
+	call connection_dispatch
+	branch sim_loop		
+
+sim_slave:
+
+	arg 3,temp
+	call set_freq_rx
+	call rf_rx_enable
+	call sim_access
+	enable is_rx
+	enable decode_fec0
+	correlate null,never
+	set1 PSK,radio_ctrl
+	correlate null,never
+	parse demod,bucket,72
+	branch s_loop
+
+
+	jam 2,mem_scan_mode
+	call page_scan_dispatch
+	branch sim_slave
+
+sim_access:
+	setarg 0x1234567
+	iforce lap
+	pulse recalc
+	nop 32
+	rtn
+
+sim_iic:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	jam 3,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 300
+	setarg 0xd321d2
+	store 3,mem_iicd_addr
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+s_loop:
+	branch s_loop
+
+sim_usb:
+	call usb_init
+sim_usb_loop:
+	call usb_isr
+	branch sim_usb_loop
+
+init_24m:
+	jam 0x4b,core_halfslot
+	jam 0x1d,core_halfslot + 1
+	jam 1,core_clksel
+	rtn
+
+
+p_transmit_sw:
+	reverse uap,regc				// hec init
+	enable encode_fec0
+	set0 mark_longpacket,mark
+	copy am_addr,temp
+	arg 3,loopcnt
+	call p_head
+	copy type,temp
+	arg 4,loopcnt
+	call p_head
+	fetch 1,mem_arq
+	lshift4 pdata,temp
+	arg 3,loopcnt
+	call p_head
+	copy regc,temp
+	arg 8,loopcnt
+	call p_head
+	reverse uap,regc
+	lshift8 regc,regc				// crc init
+	and type,0x1f,pdata
+	beq type_fhs, p_transmit_fhs
+
+
+
+p_transmit_fhs:
+	call fetch_self_bt_adr
+	pulse recalc
+	enable user
+	call p_fec2_init
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	copy bt_adr,rega
+	nop 12                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	iforce temp
+	arg 32,loopcnt
+	call p_fec2
+	preload fhs0
+	set1 58,pdata		/* eir */
+	rshift32 pdata,temp
+	arg 40,loopcnt
+	call p_fec2
+	preload fhs1
+	iforce temp
+	arg 32,loopcnt
+	call p_fec2
+	preload fhs1
+	rshift32 pdata,temp
+	arg 40,loopcnt
+	call p_fec2
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	copy regc,temp
+	arg 16,loopcnt
+	disable user
+	call p_fec2
+	branch end_of_packet
+	
+// hec or crc is in regc
+p_hec:
+	deposit temp
+	ixor regc,pdata
+	rshift regc,regc
+	rtnbit0 0
+	xor_into 0xe5,regc
+	rtn
+
+// hec or crc is in regc
+p_crc:
+	deposit temp
+	ixor regc,pdata
+	rshift regc,regc
+	rtnbit0 0
+	setarg 0x8408
+	ixor regc,regc
+	rtn
+
+
+// white is in debug
+p_white:
+	isolate1 6,debug
+	lshift debug,debug
+	nrtn true
+	xor_into 0x11,debug
+	xor_into 1,temp
+	rtn
+
+// data in temp, length in loopcnt
+p_head:
+	call p_hec
+	call p_white
+	isolate0 0,temp
+	setarg 0
+	branch p_fec1_0,true
+	setarg 7
+p_fec1_0:
+	inject mod,3
+	rshift temp,temp
+	loop p_head
+	rtn
+
+p_fec0:
+	call p_white
+	deposit temp
+	inject mod,1
+	loop p_fec0
+	rtn
+
+p_fec2:
+	call p_crc,user
+	call p_white
+	deposit temp
+	ixor alarm,pdata
+	rshift alarm,alarm
+	bbit0 0,p_fec2_zero
+	xor_into 0x15,alarm
+p_fec2_zero:
+	deposit temp
+	inject mod,1
+	rshift temp,temp
+	increase -1,queue
+	nbranch p_fec2_nf,zero
+	deposit alarm
+	inject mod,5
+	call p_fec2_init
+p_fec2_nf:
+	loop p_fec2	
+	rtn
+
+p_fec2_init:
+	arg 10,queue
+	arg 0,alarm
+	rtn
+
+
+ifdef NULL
+sim_250k:
+	call init_250k
+	hfetch 1,1
+	bbit1 7,sim_250k_rx
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	nop 600
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	force 0,pdata
+	inject mod,9
+	setarg 0xaa
+	inject mod,8
+	preload access
+	inject mod,32
+	setarg 0x1da861
+	inject mod,24
+	setarg 0x94445b
+	inject mod,24
+	setarg 0x1275f
+	inject mod,24
+	branch loop
+sim_250k_rx:
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	enable decode_fec0
+	correlate null,never
+	parse demod,bucket,72
+	branch loop
+
+	
+
+
+
+sim_uart:
+	setarg mem_le_test_uart_rxbuf
+	hstore 2,core_uart_tsaddr
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	increase 0x80,pdata
+	hstore 2,core_uart_teaddr
+	hstore 2,core_uart_rsaddr
+	hstore 2,core_uart_rrptr
+	increase 0x80,pdata
+	hstore 2,core_uart_readdr
+	increase 1,pdata
+	jam 0x84,core_gpio_sel1
+	jam 0x80,core_gpio_pu2
+	jam 0xe5,core_uart_ctrl
+	setarg 0x30
+	hstore 2,core_uart_baud
+	hfetch 1,1
+	bbit1 7,sim_uart_wait
+	setarg 0x1357d9a
+	store 4,mem_le_test_uart_rxbuf
+	setarg 0x55aa69
+	istore 3,contw
+	setarg 0xfedcb3
+	istore 3,contw
+	deposit contw
+	hstore 2,core_uart_twptr
+sim_uart_wait:
+	nop 20000
+	rtn
+
+sim_spi:
+	call spid_init_flash
+	call spid_unlock_flash
+	call spid_init
+	setarg 0x35
+	call spid_read_reg
+	nop 200
+	force 4,temp
+	setarg 0x42
+	branch spid_read_regs
+
+sim_eep:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	jam 3,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 200
+	setarg 0x18f7a3b
+	store 4,mem_iicd_addr
+	arg mem_iicd_addr,rega
+	arg 4,temp
+	setarg 0x1235
+	call iicd_write_eep
+	nop 300
+	arg mem_ucode_keybuf,rega
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	nop 200
+	setarg 0xa1
+	arg 3,temp
+	arg mem_ucode_keybuf,rega
+	branch iicd_read_data
+
+sim_otp:
+	setarg 0x123456
+	store 3,0x800
+	setarg 0x10
+	arg 0x800,rega
+	arg 0x10,loopcnt
+	branch otp_write
+
+sim_clk:
+	add lpo_time,12,alarm
+	snooze
+clock_loop:
+	nop 100
+	jam 1,core_config
+	setflag user,0,pdata
+	random pdata
+	and_into 0x1f,pdata
+	hstore 1,core_clksel
+	nop 70
+	jam 2,core_kick
+	nop 200
+	branch clock_loop
+	jam 2,core_clksel
+	setarg 1500
+	call sleep
+	jam 0x42,core_clksel
+	add lpo_time,200,alarm
+	snooze
+	branch 0x4000
+
+sim_c1:
+	setarg 0xb4b5b6
+	store 3,mem_le_lap
+	setarg 0xb1b2b3
+	istore 3,contw
+	setarg 0xa4a5a6
+	store 3,mem_le_plap
+	setarg 0xa1a2a3
+	istore 3,contw
+	setarg 0x101
+	store 4,mem_le_preq
+	setarg 0x70710
+	istore 3,contw
+	setarg 0x302
+	store 4,mem_le_pres
+	setarg 0x50008
+	istore 3,contw
+
+	arg regidx_key,regext_index
+	arg 4,loopcnt
+sim_clear_key_loop:
+	arg 0,regext
+	increase 1,regext_index
+	loop sim_clear_key_loop
+
+	setarg 0x702EE0
+	store 3,mem_le_rconfirm
+	setarg 0x274EC6
+	istore 3,contw
+	setarg 0x0E6388
+	istore 3,contw
+	setarg 0x56AD6F
+	istore 3,contw
+	setarg 0x83D521
+	istore 3,contw
+	setarg 0x57	
+	istore 1,contw
+	arg mem_le_rconfirm,rega
+	call aes_init
+	call function_c1
+	branch loop
+endif
Index: ZJL_pm8_BLE&BT/program/simple_pairing.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/simple_pairing.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/simple_pairing.prog	(working copy)
@@ -0,0 +1,2362 @@
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+ifdef SIMPLE_PAIRING
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+else
+sp_initialize:
+	rtn
+
+endif
+	
+
+ifdef SECURE_CONNECTION
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+else
+sp_initialize_256:
+	rtn
+
+endif
+
+
Index: ZJL_pm8_BLE&BT/program/ui.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/ui.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/ui.prog	(working copy)
@@ -0,0 +1,701 @@
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
Index: ZJL_pm8_BLE&BT/program/utility.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/utility.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/utility.prog	(working copy)
@@ -0,0 +1,614 @@
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	jam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	jam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: ZJL_pm8_BLE&BT/program/z.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/z.prog	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/program/z.prog	(working copy)
@@ -0,0 +1,902 @@
+
+org 0x10001
+z_entrance0:
+	beq ZCODE_00,z_page_wait_fhs_reply_ok
+	rtn
+
+z_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+z_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch z_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch z_master_newconn_loop,blank
+	branch page_restart
+z_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+
+
+	
+org 0x20001
+
+z_entrance1:
+	beq ZCODE_10,z_mouse_bb_disconnected
+	beq ZCODE_11,z_hid_rx_process
+	rtn
+
+z_mouse_bb_disconnected:
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//115Hz
+	call mouse_bb_discon_clear_stack
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,z_mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,z_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,z_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+	
+z_mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,z_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,z_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+z_mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	call app_disconn_reason_clear
+//	call p_mouse_check_key_gpio
+//	rtn true
+	branch app_bb_hibernate
+
+
+z_hid_rx_process:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	store 1,mem_l2cap_rcv
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_protocol,z_hid_rx_set_protocol
+	beq HID_TYPE_CONTROL,z_hid_rx_process_hid_control
+	branch hid_rx_process+6
+z_hid_rx_set_protocol:
+	call hid_rx_process_handshake
+	jam 0,mem_mouse_bt_boot_mode
+	fetch 1,mem_l2cap_rcv
+	isolate1 0,pdata
+	rtn true
+	jam 1,mem_mouse_bt_boot_mode	//boot mode
+	rtn
+
+z_hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,p_mouse_irtual_cable_unplug
+	branch hid_rx_process_hid_control+2	
+
+org 0x30001
+
+z_entrance2:
+	beq ZCODE_20,z_send_lmp
+	rtn
+
+z_send_lmp:
+	disable user
+	call lmo_fifo_process
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_SEND_LMP
+	setarg DEBUGLOG_DTYPE_SEND_LMP
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_lmi_opcode
+	store 1,mem_debuglog_dataval+1
+	fetch 1,mem_lmp_to_send
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmp_to_send
+	store 2,mem_debuglog_dataval
+	ncall debuglog_push,blank
+endif
+endif
+	
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,z_send_lmp_escape
+	beq LMP_ACCEPTED,z_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,z_send_lmp_setup_complete
+	beq LMP_SNIFF_REQ, z_send_lmp_sniff_req
+	beq LMP_DETACH,z_send_lmp_detach
+	branch send_lmp0
+z_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,z_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,z_send_lmpext_features_req	
+	branch send_lmp_escape
+z_send_lmpext_features_res:
+	call z_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+z_send_lmpext_features_req:
+	call z_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+z_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+z_send_lmp_setup_complete:
+	jam 1,mem_bt_send_lmp_setup_complete
+	branch send_lmp_setup_complete
+
+z_send_lmp_sniff_req:
+	jam 4,mem_mouse_bt_send_first_package_timer
+	branch send_lmp_sniff_req
+	
+z_send_lmp_detach:
+/*
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+	fetch  1,mem_mouse_bt_reconnect_flag
+	branch prepare_disconnect,blank
+	branch p_mouse_sensor_powerdown_check
+*/
+	call send_lmp_detach
+	fetch  1,mem_mouse_bt_reconnect_flag
+	rtn blank
+	fetch 1,mem_op
+	set0 op_disconn,pdata
+	store 1,mem_op
+	branch p_mouse_sensor_powerdown
+
+
+z_send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	store 1,mem_lmi_opcode_temp
+	call send_lmp_follow
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_lmi_opcode_temp
+	store 1,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	fetch 1,mem_lmi_opcode_temp
+	beq LMP_MAX_SLOT_REQ,z_send_lmp_accepted_max_slot_req	//sumsung a5100 patch
+	branch send_lmp_accepted+7
+
+z_send_lmp_accepted_max_slot_req:
+	fetch 1,mem_bt_rcvd_switch_req_accept
+	rtn blank
+	jam 0,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtnne 2
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	rtn
+
+
+org 0x40001
+
+z_entrance3:
+	beq ZCODE_30,z_process_conn_sm
+	rtn
+
+z_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+z_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CONN_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CONN_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_conn_sm
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	beq CONN_SM_SEND_CONN_REQ, z_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,z_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+
+z_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,z_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+z_host_create_conn_switch_accept:
+	rtn master
+z_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,z_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+z_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch z_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+z_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+z_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+
+
+
+
+org 0x50001
+
+z_entrance4:
+	beq ZCODE_40,z_le_update_param
+	beq ZCODE_41,z_le_update_channel_map
+	rtn
+
+z_le_update_param:
+	call z_mouse_le_conn_param_check
+	branch le_update_param+8
+z_mouse_le_lpm_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+z_mouse_le_conn_param_lpm_enable:
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	rtn
+z_mouse_le_conn_param_lpm_disable:
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+z_mouse_le_conn_param_check:
+	fetch 1,mem_le_new_conninterval
+	sub pdata,LE_INTERVAL_15MS,null
+	nbranch z_mouse_le_conn_param_lpm_disable,positive
+	fetch 1,mem_le_new_connslavelatency
+	fetcht 1,mem_lpm_mult_init
+	isub temp,null
+	branch z_mouse_le_lpm_mult_reinit,positive
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	branch z_mouse_le_conn_param_lpm_enable
+
+z_le_update_channel_map:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	call z_le_channel_map_overflow_check
+	nrtn user
+	branch le_update_channel_map+3
+z_le_channel_map_overflow_check:
+	enable user
+	fetch 1,mem_le_event_count+1
+	rshift4 pdata,pdata
+	rtnne 0x0f
+	fetch 1,mem_le_instant+1
+	rshift4 pdata,pdata
+	rtnne 0x00
+	branch disable_user
+
+
+
+org 0x60001
+
+z_entrance5:
+	beq ZCODE_50,z_mouse_start_discovery
+	beq ZCODE_51,z_mouse_24g_attempt_fail
+	rtn
+
+
+z_mouse_start_discovery:
+	call p_mouse_tx_power_init
+	jam 0,mem_mouse_clear_sensor_data_flag
+ifdef BLE_FAST_CONN_ENABLE
+	call p_mouse_le_fast_conn_disable
+endif		
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,z_mouse_start_discovery_norandom
+ifdef BLE
+	call p_mouse_load_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+endif
+z_mouse_start_discovery_norandom:
+ifdef BLE_FAST_CONN_ENABLE
+	setarg 0xed8e0e
+	store 3,mem_le_lap+3
+endif
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 5,mem_mouse_bt_ble_led_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call z_check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	jam 0,mem_mouse_bt_reconnect_flag
+	branch mouse_start_discovery_norandom+13
+
+z_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+	arg mem_le_adv_swift_pair,contr
+	call p_le_adv_data_update
+	branch check_51cmd_adv
+
+z_mouse_24g_attempt_fail:
+	fetch 1,mem_mouse_24g_pair_timer
+	nrtn blank
+	fetch 1,mem_24g_attempt_count
+	nbranch z_mouse_24g_attempt_fail_again,blank
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+	jam 0,mem_link_key_exists
+	call p_mouse_setgpio_hibernate
+	branch app_enter_hibernate
+
+
+z_mouse_24g_attempt_fail_again:
+	increase -1,pdata
+	store 1,mem_24g_attempt_count
+	branch p_mouse_start_24g_mode
+
+
+org 0x70001
+
+z_entrance6:
+	beq ZCODE_60,z_g24_start_24g_mode
+	beq ZCODE_61,z_mouse_24g_pairing_button
+	rtn
+	
+z_g24_start_24g_mode:
+	set0 mark_24g,mark
+	fetch 1,mem_24g_attempt_count
+	and pdata,0x01,pdata
+	ncall z_g24_fast_conn_all_powerful,blank
+	call z_g24_normal_connect,blank
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+z_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+	nop 2000
+	call p_mouse_adc_read
+	fetch 1,mem_select_device_button_press_flag
+	nbranch p_mouse_select_device_button_down,blank
+	fetch 1,mem_24g_check_dongle_times
+	beq 0x70,p_g24_stop_g24_mode		  
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_attemp_txdata_retry,sync
+	nbranch z_g24_attemp_txdata_retry,user3
+z_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	store 1,mem_mouse_24g_pair_timer
+	store 1,mem_24g_attempt_count
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+z_g24_tx_attemp_dongle_loop_exit:	
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/ 
+
+z_g24_normal_connect:
+	call p_mouse_tx_power_init
+	fetch 4,mem_mouse_24g_addr
+	branch z6_g24_ch_syncword_crc8_init
+
+z_g24_fast_conn_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	fetch 4,mem_mouse_24g_addr_init
+z6_g24_ch_syncword_crc8_init:	
+	store 4,mem_24g_addr
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+	
+z_g24_attemp_txdata_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	call p_g24_ch
+	branch z_g24_tx_attemp_dongle_loop
+
+
+z_mouse_24g_pairing_button:
+//	rtnmark1 mark_24g
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 1,mem_24g_attempt_count
+	store 2,mem_24g_check_dongle_times
+	jam 200,mem_mouse_24g_pair_timer
+	call mouse_stop_discovery
+	branch z6_g24_start_pairing_sm1
+
+z6_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z6_g24_pair_init
+z6_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z6_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8	
+
+org 0x80001
+
+z_entrance7:
+	beq ZCODE_70,z_g24_auto_pair_start
+	rtn
+
+z_g24_auto_pair_start:
+	set0 mark_24g,mark
+	call z_g24_auto_pair_all_powerful
+	call p_g24_tx_attemp_data_prep
+z_g24_auto_pair_start_loop:
+//	call lpo_calibration
+	nop 2000
+	fetch 1,mem_24g_check_dongle_times+1
+	bbit1 0x02,p_g24_stop_g24_mode
+	call p_mouse_adc_read
+	fetch 1,mem_select_device_button_press_flag
+	nbranch p_mouse_select_device_button_down,blank
+	call p_g24_transmit_receive_ack
+	nbranch z_g24_auto_pair_retry,sync
+	nbranch z_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch z_g24_start_pairing_sm1,zero
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+/*
+z7_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+*/
+
+z_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	branch z_g24_auto_pair_start_loop
+/*	
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,z_g24_auto_pair_device_attemp
+	beq 1,z_g24_auto_pair_pair_attemp
+	rtn
+*/
+	
+z_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+z_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+z_g24_auto_pair_device_attemp:
+	call z_g24_auto_pair_all_powerful
+	branch z_g24_auto_pair_start_loop
+
+z_g24_auto_pair_pair_attemp:
+	call z_g24_pair_init
+	branch z_g24_auto_pair_start_loop
+
+z_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call z_g24_pair_init
+z_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+z_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+
+
+
+
+org 0x90001
+
+z_entrance8:
+	beq ZCODE_80,z_mouse_setting_config
+	beq ZCODE_81,z_le_addr_random_config
+//	beq ZCODE_82,z_le_parse_smp_pairing_failed
+	rtn
+//z_le_parse_smp_pairing_failed:
+//	call le_parse_smp_pairing_failed
+//	fetch 1,mem_le_state	//disable update conn param
+//	set0 lestate_update_param,pdata
+//	store 1,mem_le_state
+//	branch le_parse_terminate_ind
+
+
+ifdef BLE	
+z_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	nbranch z_le_otp_adc_empty,blank
+	setarg 0x1122
+z_le_otp_adc_empty:
+	store 2,mem_random_addr_increase_count
+	rtn
+endif
+
+
+z_mouse_setting_config:
+ifdef G24
+	call p_g24_set_device_addr
+endif
+//	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
+	call mouse_gpio_init
+
+	fetcht 1,mem_flash_ncs_gpio
+	call gpio_config_output
+	
+	call mouse_param_init
+ifdef CLASSIC_BT
+	call z_mouse_bt_sdp_update
+endif	
+	setarg 0
+	store 2,mem_lpm_interval
+	call load_adc_init
+	call mouse_adc_init
+ifdef BLE	
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	call p_le_addr_random_config
+endif
+	branch p_mouse_load_flash_info_check
+
+
+ifdef CLASSIC_BT
+z_mouse_bt_sdp_update:
+	call enable_authrom
+	arg 0x8c00,contr
+	arg mem_mouse_uuid_list,contw
+	arg 369,loopcnt
+	call memcpy
+	//Attribute: HID SSR Host Max Latency
+	setarg 0x0f0209
+	istore 3,contw
+	setarg 0x120009
+	istore 3,contw
+	//Attribute: HID SSR Host Min Timeout
+	setarg 0x100209
+	istore 3,contw
+	setarg 0x000009
+	istore 3,contw
+	arg 0x8d71,contr
+	arg 265,loopcnt
+	call memcpy
+	
+	jam 0,mem_mouse_uuid_list+23	//Service Record Handle: 0x 00 01 00 00
+	jam 0x6d,mem_mouse_uuid_list+15	//total length
+	setarg 0x401f
+	store 2,mem_mouse_uuid_list+357	//timeout
+	setarg 0x6d04
+	store 2,mem_mouse_uuid_list+462	//VID
+	setarg 0x16b0
+	store 2,mem_mouse_uuid_list+468	//PID
+
+	setarg mem_mouse_uuid_list				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	rtn
+endif	
+
+
+
+org 0xa0001
+
+z_entrance9:
+	beq ZCODE_90,z_g24_pairing_sm
+	beq ZCODE_91,z_g24_paring_mode
+	beq ZCODE_92,z_mouse_24g_pairing_complete
+	rtn
+
+z_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,z_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,z_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,z_g24_pairing_sm_3
+	branch assert
+
+z_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch z_g24_pairing_sm_common
+z_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+z_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+z_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+z_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,z_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,z_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,z_g24_pairing_sm_3_waiting_ack
+	rtn
+
+z_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+z_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+
+z_mouse_24g_pairing_complete:
+	call p_mouse_24g_no_data_timer_init
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	store 1,mem_24g_attempt_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+//	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_tx_power_init
+	
+	fetch 4,mem_24g_addr
+	store 4,mem_mouse_24g_addr
+
+	branch p_mouse_store_flash_device_info
+
+
+org 0xb0001
+
+z_entranceA:
+	beq ZCODE_A1,z_mouse_le_conn_param_update_rsp_recieved
+	beq ZCODE_A2,z_mouse_le_bb_disconnected
+	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
+	beq ZCODE_A4,z_mouse_before_hibernate
+	rtn
+
+
+z_mouse_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 1,mem_le_tsniff
+	rshift2 pdata,pdata
+	sub pdata,LE_INTERVAL_15MS,null
+	rtn positive
+	setarg LE_INTERVAL_11_25MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	call p_app_updata_le_param
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+
+
+z_mouse_bb_event_reconn_timeout:
+z_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+	branch app_bb_hibernate
+
+z_mouse_le_bb_disconnected:
+ifdef HIGH_REPORT_BT
+	setarg LE_INTERVAL_7_5MS
+else 
+	setarg LE_INTERVAL_8_75MS
+endif
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_data_init
+	call le_clr_config_more_data
+	branch mouse_bb_disconnected
+
+
+z_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call disable_authrom
+	call p_mouse_device_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	call p_mouse_setgpio_hibernate
+
+	call p_flash_deep_power_down
+	hfetch 1,core_gpio_sel1
+	and pdata,0xf7,pdata
+	hstore 1,core_gpio_sel1  //disable flash spi
+	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
+	set1 6,pdata
+	hstore 1,core_gpio_pd2
+
+	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown	// YC1059
+	set1 0,pdata
+	hstore 1,core_gpio_pd3
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_clr_wake
+
+	
+org 0xc0001
+
+z_entranceB:
+	beq ZCODE_B0,z_mouse_le_bb_event_connected
+	beq ZCODE_B1,z_mouse_sniff_not_accept
+	beq ZCODE_B2,z_mouse_enter_sniff_check
+	beq ZCODE_B3,z_mouse_le_ll_start_encryt
+	beq ZCODE_B4,z_mouse_bb_event_disconnected
+	rtn
+
+z_mouse_le_bb_event_connected:
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
+z_mouse_sniff_not_accept:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtneq 2
+	increase 1,pdata
+	store 1,mem_mouse_enter_sniff_count
+	jam 0x12,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+z_mouse_enter_sniff_check:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtnne 2
+	jam 0,mem_mouse_enter_sniff_count
+ifdef HIGH_REPORT_BT
+	jam CLASSIC_INTERVAL_7_5MS,mem_sniff_param_interval	//89Hz
+else
+	jam 0x0e,mem_sniff_param_interval	//89Hz
+endif
+	branch app_bt_enter_sniff
+
+z_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,z_mouse_le_ll_reconn_start_encryt
+	branch z_mouse_le_ll_enable_start_enc_flag
+z_mouse_le_ll_reconn_start_encryt:
+	call p_app_updata_le_param
+	jam 5,mem_le_start_encrypt_timer
+z_mouse_le_ll_enable_start_enc_flag:
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+z_mouse_bb_event_disconnected:
+	jam 0,mem_bt_rcvd_switch_req_accept
+	jam 0,mem_bt_send_lmp_setup_complete
+	jam 0,mem_mouse_bt_send_first_package_flag
+	branch mouse_bb_disconnected
+
+
+
Index: ZJL_pm8_BLE&BT/sched/109x.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/109x.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/109x.dat	(working copy)
@@ -0,0 +1,35 @@
+
+mem_lpm_config:8f 1b ce	#4khz
+mem_lpm_xtalcnt:00 0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+#mem_fcomp_mul:02
+#mem_fcomp_div:24
+mem_iscan_window:12 00
+mem_iscan_interval:00 02
+mem_pscan_window:12 00
+mem_pscan_interval:00 02
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 40
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+mem_seqi:00
+
+
+
+mem_tx_power:00#0dbm
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
+
Index: ZJL_pm8_BLE&BT/sched/AntiLost.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/AntiLost.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/AntiLost.dat	(working copy)
@@ -0,0 +1,174 @@
+mem_antl_queue_width:0a 08
+mem_queue_ptr:mem_antl_queue_width
+mem_antl_lpm_interval:14 00
+mem_antl_adv_interval:10 00
+mem_antl_slow_adv_lpm_interval:a0 00
+mem_antl_slow_adv_adv_interval:3b 06
+
+
+#mem_le_notify_handle:0a 00
+mem_device_option:0f
+mem_le_adv_channel_map:07 
+#mem_ssp_enable:01
+
+mem_ui_button_gpio:08
+mem_ui_button_timeout:1e
+mem_ui_button_last_state:01
+
+mem_antl_fast_adv_timeout:64 00
+mem_antl_le_sleep_timeout:b0 04
+
+mem_power_param_ptr:mem_antl_power_param
+mem_antl_power_off_timeout:0f 0c
+mem_ui_led_struct_num:02
+mem_ui_led_struct_ptr:mem_antl_led_style
+mem_antl_led_gpio:1b
+mem_antl_buzzer_gpio:83
+
+
+mem_antl_fast_adv_led_style:01 ff 1b 32 00 f0 00
+mem_antl_slow_adv_led_style:01 ff 1b 32 00 4e 0c
+mem_antl_power_starting_led_style:01 03 1b 96 00 96 00
+mem_antl_power_starting_buzzer_style:01 03 83 96 00 96 00
+mem_antl_power_off_led_style:01 01 1b 80 0c 00 00
+mem_antl_power_off_buzzer_style:01 01 83 80 0c 00 00
+mem_antl_alert_led_stlye:01 ff 1b 32 00 0e 06
+mem_antl_alert_buzzer_stlye:01 ff 83 32 00 0e 06
+mem_antl_key_led_style:01 01             1b 32 00 32 00
+mem_antl_key_buzzer_style:01 01              83 32 00 32 00
+
+
+
+#mem_le_pres:02 03 00 01 10 02 01
+mem_le_pres_auth:01
+mem_le_pres:02 03 00 05 10 02 03
+mem_le_transmit_window:50
+mem_rx_window_sniff_inc:00 40
+mem_le_local_mtu:17
+
+
+mem_le_lap:0a 89 73 70 b4 c1
+mem_le_name_len:
+#with 5 spaces
+'TrackerPA     
+
+mem_le_adv_data_len:1e
+mem_le_adv_data:
+#appearance
+03 19 c1 03
+#flags
+02 01 05
+#tx power level
+02 0a 00
+#complete uuid
+03 03 f0 ff
+#complete local name
+#with 5 spaces
+'\09TrackerPA     
+mem_le_scan_data_len:10
+mem_le_scan_data:
+#with 5 spaces
+'\09TrackerPA     
+
+#mem_adv_lap_ptr:mem_le_adv_data+2
+
+
+mem_keyscan_ptr:mem_antl_key_num
+mem_lpm_mode:01
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+
+mem_interval_increment:04 00
+mem_antl_le_interval_min:
+18 00 #min interval
+20 00 #max interval
+10 00 #latency
+58 02 #timeout
+mem_antl_le_unnormal_interval_min:
+10 01 #min interval
+90 01 #max interval
+00 00 #latency
+58 02 #timeout
+
+mem_antl_led_num:01
+mem_antl_led_gpio_map:
+1b
+ff
+ff
+ff
+
+
+mem_antl_key_num:01
+mem_antl_key_conf0:
+#0
+08
+#1
+ff
+#2
+ff
+#3
+ff
+mem_antl_key0_press:
+06
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe) #6th byte
+00 00 #data length
+00    #sum
+#key0release for doubleclick
+mem_antl_key0_release:
+07 #0th byte
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe)for doubleclick #5th byte
+00 01 #data length 0x0001 (not 0x0100,byteswaped after loading)
+00   #8th byte
+00	 #sum
+mem_adc_config_flag:00
+mem_adc_timeout:b0 04
+mem_battery_calculate_set:
+2c 01
+fa 00
+00 00
+00 00
+
+#mem_empty_count:03
+mem_alarm_config:01
+mem_alarm_config_notfy_cnt:01
+
+#beep
+mem_buzzer_pwm_conf:
+03	#pwm gpio
+04	#pwm channel
+a0	#three  byte frequency
+0f
+00
+32 #duty cycle (by percent %)
+
+mem_ui_le_uuid_table:mem_AntiLost_le_att_list
+#attribute list: handle 2bytes  uuid 2bytes  length 1bytes  attribute Nbytes
+mem_AntiLost_le_att_list:
+#Primary service GAP ------
+01 00  02 00 28 02 00 18
+#Device name
+02 00 02 03 28 01 0a
+03 00 02 00 2a 04 31 32 33 34
+#Appearance
+04 00 02 03 28 01 02
+05 00 02 01 2a 02 c8 00 #3c2=hid mouse
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 08 00 20 00 10 00 58 02 # interval 6ms, latency 100, timeout 600
+#Primary service yichip transmit ------
+08 00 02 00 28 02 f0 ff
+
+09 00 02 03 28 01 12
+0a 00 02 f1 ff 08 00 00 00 00 00 00 00 00
+0b 00 02 02 29 02 00 00
+
+0c 00 02 03 28 01 08
+0d 00 02 f2 ff 08 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+
Index: ZJL_pm8_BLE&BT/sched/DM_module.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/DM_module.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/DM_module.dat	(working copy)
@@ -0,0 +1,435 @@
+
+mem_device_option:0a
+mem_ui_profile_supported:40
+mem_app_connection_options:13
+
+mem_features:
+ff
+ff
+8f
+f8      #fe--EDR  F8--BR
+9b      #AFHclose 83
+9d
+59
+83
+
+##############ADC CONFIG##############
+mem_module_read_vdd_count:01
+mem_module_read_vdd_flag:01
+#####################################
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:7f 00
+mem_rfcomm_credit_init_data:07
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:03 00 04
+mem_ssp_enable:01
+mem_pin_length:04  30 30 30 30 30
+#####################################
+
+##############UART CONFIG##############
+mem_baud:D0 00
+mem_module_uart_rx_buffer:00 1c
+mem_module_uart_rx_buffer_end:ff 1f
+mem_module_uart_tx_buffer:00 4c
+mem_module_uart_tx_buffer_end:ef 4f
+#####################################
+
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 01
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+mem_class:24 04 04
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+mem_ui_button_gpio:ff
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_module_wake_up_gpio:1b
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+mem_lap:77 1a 21 31 10 3a
+mem_local_name_length:
+'YichipFPGA
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:00
+
+
+###ble###
+mem_le_pairing_handle:2a 00
+mem_le_configuration:08
+
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:01
+
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+
+mem_le_adv_enable:00
+mem_le_adv_interval:f0 00
+mem_module_le_lpm_mult:05
+mem_le_lap:2a 31 00 33 02 3a
+mem_le_name_len:
+'Yichip 1021s Mou
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0e
+
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\09Yichip 1021s Mou
+
+mem_le_pres:02 03 00 05 10 02 03
+
+mem_le_interval_min:
+08 00 #min interval
+10 00 #max interval
+00 00 #latency
+2c 01 #timeout
+
+
+mem_le_local_mtu:b5
+mem_le_remote_mtu:17
+
+
+#####################################
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+05
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 0111 0300 
+
+mem_all_uuid_128bits:
+00
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+
+
+mem_ui_le_uuid_table:mem_module_le_att_list
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_module_le_att_list:
+#Primary service GAP ------
+01 00 02 00 28 02 00 18
+
+
+#Appearance
+02 00 02 03 28 01 02
+03 00 02 01 2a 02 c8 00 #3c2=hid mouse
+
+#Device name
+04 00 02 03 28 01 0a
+05 00 02 00 2a 14 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20 20
+
+
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+
+#privcy flag
+08 00 02 03 28 01 02
+09 00 02 02 2a 01 01
+
+#reconnecting addr 
+0a 00 02 03 28 01 08
+0b 00 02 03 2a 06 00 00 00 00 00 00
+
+#Primary service GATT ------
+0c 00 02 00 28 02 01 18
+
+#Service changed
+0d 00 02 03 28 01 20
+0e 00 02 05 2a 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Primary service TX power ------
+10 00 02 00 28 02 04 18
+#Characteristic Tx power level
+11 00 02 03 28 01 16
+12 00 02 07 2a 01 00
+13 00 02 02 29 02 00 00
+
+#Primary service Battery ------
+14 00 02 00 28 02 0f 18
+#Characteristic Battery level
+15 00 02 03 28 01 12
+16 00 02 19 2a 01 38
+
+#Primary service device infomation
+17 00 02 00 28 02 0a 18
+#Characteristic system id
+18 00 02 03 28 01 02
+19 00 02 23 2a 03 00 00 00
+
+#Characteristic manufactor name
+1a 00 02 03 28 01 02
+1b 00 02 29 2a 08 46 6c 61 67 74 72 69 70
+
+#Characteristic module number
+1c 00 02 03 28 01 02
+1d 00 02 24 2a 06 79 69 63 68 69 70
+
+#Characteristic serial number
+1e 00 02 03 28 01 02
+1f 00 02 25 2a 04 63 6f 6d 33
+
+#Characteristic firmware version
+20 00 02 03 28 01 02
+21 00 02 26 2a 03 31 2e 30
+
+#Characteristic software version
+22 00 02 03 28 01 02
+23 00 02 28 2a 03 31 2e 30
+
+#Characteristic hardware version
+24 00 02 03 28 01 02
+25 00 02 2a 2a 03 31 2e 30
+
+#Characteristic regulatory version
+26 00 02 03 28 01 02
+27 00 02 25 2a 04 63 6f 6d 33
+
+#Primary service yichip transmit ------
+28 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify read
+29 00 02 03 28 01 12
+2a 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+2b 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+2c 00 02 03 28 01 08
+2d 00 10 b3 9b 72 34 be ec d4 a8 f4 43 41 88 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx-- write without Response
+2e 00 02 03 28 01 04
+2f 00 10 fe 69 ca 9a 56 19 f6 ab 02 4d aa 6d 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx tx --read write notify
+30 00 02 03 28 01 1a
+31 0010 18 03 A6 28 5E D8 EC 91 1C 48 A3 AC 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+32 00 02 02 29 02 00 00
+
+#End of Attribute list
+00 00
+
+
Index: ZJL_pm8_BLE&BT/sched/car.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/car.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/car.dat	(working copy)
@@ -0,0 +1,176 @@
+mem_device_option:0e
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+
+mem_spi_ncs_gpio:ff
+
+mem_le_pres_auth:01
+mem_le_local_mtu:17
+mem_le_adv_interval:60 01 
+
+
+
+mem_le_lap:56 78 01 98 07 2b
+mem_le_name_len:
+'YC-CAR-aa
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+17 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02 01 05 03 02 ff f0
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+1e 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+
+
+mem_car_le_att_list:
+
+#Primary service: GATT
+01 00 02 00 28 02 01 18
+#Characteristic: Service changed
+02 00 02 03 28 01 20
+03 00 02 05 2a 01 00
+#Client Characteristic Configuration
+04 00 02 02 29 02 00 00
+
+#Primary Service: GAP
+05 00 02 00 28 02 00 18 
+#Characteristic: Device Name
+06 00 02 03 28 01 02
+07 00 02 00 2a 11 55 43 48 4f 4e 20 30 31 20 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c8 00 
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary Service: Device Information
+0c 00 02 00 28 02 0a 18 
+#Characteristic: pnp id
+0d 00 02 03 28 01 02
+0e 00 02 50 2a 07 02 8a 24 66 82 01 00
+
+#Primary Service:Car
+0f 00 02 00 28 02 f0 ff
+#Characteristic: Notify/Read UUID
+10 00 02 03 28 01 12
+11 00 02 f1 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+12 00 02 02 29 02 00 00
+#Characteristic: Write UUID
+13 00 02 03 28 01 08
+14 00 02 f2 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+
+
+mem_ui_le_uuid_table:mem_car_le_att_list
+
+mem_lpm_mode:00
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_car_hard_soft_switch:00
+
+mem_power_param_ptr:mem_car_soft_power
+mem_car_power_off_timeout:0c 0c
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+
+mem_ui_led_struct_ptr:mem_car_style1_led_type
+mem_ui_led_struct_num:02
+
+#style:01
+mem_car_style1_blink_count:ff
+mem_car_style1_struct_led_gpio:02
+mem_car_style1_on_time:96 02
+mem_car_style1_off_time:3a 07
+
+#style:02
+mem_car_style2_blink_count:ff
+mem_car_style2_struct_led_gpio:ff
+mem_car_style2_on_time:40 01
+mem_car_style2_off_time:40 01
+
+
+mem_car_led_num:0a
+mem_car_led_map:
+02
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+
+mem_car_queue_each_size:14 06
+
+mem_queue_ptr:mem_car_queue_each_size
+
+mem_car_config_pairing_led_conn_status:00
+mem_car_config_soft_switch_enable:00
+mem_car_config_pairing_led_gpio:ff
+mem_car_config_low_voltage_led_gpio:07
+mem_car_config_soft_switch_gpio:ff
+mem_car_config_low_voltage_percent:14
+mem_car_config_bat_notify_enable:01
+mem_car_config_device_select:03
+mem_car_config_ir_enable:01
+mem_car_config_motor_layout:03
+mem_car_config_ir_rx_gpio:06
+mem_car_config_led_num:08
+mem_car_config_blood_led_gpio:08 09 0a 0b 0c 0d 0e 0f
+
+
+mem_motor1_speed:0a
+mem_motor2_speed:0a
+mem_motor3_speed:0a
+mem_motor1_pwm_set:04 14 00 00 e8 03 00 00
+mem_motor2_pwm_set:05 15 00 01 e8 03 00 00
+mem_motor3_pwm_set:16 1b 00 02 e8 03 00 00
+
+mem_car_notify_vdd_count:14
+mem_notify_bat_packet:07 11 00 5a 6b 01 00 01 00 00
+
+mem_vdd_calculate_set:e0 01 90 01 9a 01 00 00	#full_vol;	empty_vol;	low_vol;	now_vol
+
+mem_ir_notify_data:08 11 00 5a 6b 06 00 02 00 00 00
+
+mem_adc_config_flag:01
+
+mem_car_info_request:0e 11 00 5a 6b 08 00 08 00 00 00 00 00 00 00 00 00
+
+mem_car_led_control_timer:05
+
+mem_car_24g_no_data_timeout_count:b8 0b
+
+#mem_car_led_control:01 01 01 01 01 01 01 01
+
+
+mem_tx_power:02
+mem_250k_freq_enable:00
+mem_24g_head_ptr:mem_24g_car_head_ptr
+mem_24g_car_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_car_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_car_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_car_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_car_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_car_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_car_head_ptr+195:00#offset_24g_no_ack
+mem_24g_car_head_ptr+205:02#offset_24g_mode
+mem_24g_car_head_ptr+137:30 75#offset_24g_rx_window
+mem_24g_car_head_ptr+349:00#offset_24g_pair_mode auto pair
+mem_24g_car_head_ptr+314:38#offset_24g_hop_interval
+mem_24g_car_head_ptr+315:00#offset_24g_ackpayload_enable
+mem_24g_car_head_ptr+299:16 16 17 02#offset_24g_rx_addr
+
+
+
Index: ZJL_pm8_BLE&BT/sched/fpga.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/fpga.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/fpga.dat	(working copy)
@@ -0,0 +1,36 @@
+
+
+
+4010:c0
+4011:0f
+4022:80
+4023:02
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:12 00
+mem_iscan_interval:00 10
+mem_pscan_window:12 00
+mem_pscan_interval:00 08
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+
+mem_lpm_xtalcnt:00 0a 1b ef 07
+
+mem_lmp_version:08 0e 05 03 00
+
+mem_eeprom_base:30 ff
+mem_eeprom_block_size:80
+
+mem_context_number:01
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
Index: ZJL_pm8_BLE&BT/sched/gatt.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/gatt.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/gatt.dat	(working copy)
@@ -0,0 +1,86 @@
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 14	# for Android device, ATT MTU is just 23 bytes, so payload is 20 bytes max
+'Test read initial va
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_enable:01
+mem_le_adv_data_len:03
+
+mem_le_adv_data:02 01 05
+#flags NOTE: should be included here, or Android will not do connectgatt()
+
+
+mem_le_scan_data_len:17
+
+mem_le_scan_data:	# 1 byte length + 1 byte type + N bytes data
+
+#complete local name
+0e 09 
+#'Ast LE2Serial
+'YiChip BLE2IR
+
+#16bit uuid
+03 03 00 f0
+
+#Apperance
+03 19 40 02
+
+
+mem_le_adv_interval:00 08 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_channel_map:07 
+
+mem_lap:77 11 00 33 00 00
+
Index: ZJL_pm8_BLE&BT/sched/hci.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/hci.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/hci.dat	(working copy)
@@ -0,0 +1,8 @@
+#device parameters
+mem_lap:88 11 00 33 00 00
+mem_local_name_length:09
+mem_local_name:'Bluetooth
+mem_device_option:01
+mem_ssp_enable:01
+mem_lpm_mode:01
+mem_3v_adc_data:00 00
\ No newline at end of file
Index: ZJL_pm8_BLE&BT/sched/hci_boot.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/hci_boot.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/hci_boot.dat	(working copy)
@@ -0,0 +1,11 @@
+
+mem_patch00:01
+mem_lpm_config:8f 10 ca
+mem_le_att_list+485:
+68 e4
+69 00
+6a 00
+6b 30
+ff
+mem_rf_init_ptr:mem_le_att_list+485
+
Index: ZJL_pm8_BLE&BT/sched/le_prcp.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/le_prcp.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/le_prcp.dat	(working copy)
@@ -0,0 +1,80 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip PRCP ------
+12 00 00 28 02 f1 18
+#Characteristic device tx
+13 00 03 28 01 12
+14 00 f3 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic device rx
+16 00 03 28 01 0e
+17 00 f2 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09
+'Yichip Temp
+ 03 19 40 02 02 01 05 02 0a 00 03 03 f1 18
+mem_le_scan_data_len:00
+#mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
+
+
+mem_le_adv_interval:20 00 
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:01 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_direct_addr:00 00 00 00 00 00 
+mem_le_adv_channel_map:07 
+
+mem_le_notify_handle:14
+
+mem_lpm_mode:00
+#mem_lpm_ctrl:0f 0f 10 06
+mem_lpm_xtalcnt:0c 10 ca 1f
+mem_device_option:0d
+mem_fcomp_div:24
+mem_fcomp_mul:02
+mem_le_lap:45 67 78 89 90 56
+
Index: ZJL_pm8_BLE&BT/sched/le_transmit_uuid.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/le_transmit_uuid.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/le_transmit_uuid.dat	(working copy)
@@ -0,0 +1,62 @@
+mem_device_option: 01
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: ZJL_pm8_BLE&BT/sched/light.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/light.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/light.dat	(working copy)
@@ -0,0 +1,18 @@
+mem_patch3a:02
+mem_patch1f:20
+
+mem_light_pwm0:04
+mem_light_pwm1:05
+mem_light_pwm2:1b
+mem_light_pwm3:1c
+mem_light_pwm4:03
+mem_light_pwm5:08
+mem_ui_button_gpio:ff
+
+mem_light_cnum:14
+mem_light_pairing_timer:00 02
+mem_light_pairing_enable:01
+mem_le_scan_enable:01
+mem_le_scan_interval:50 00
+mem_le_scan_window:40 00
+
Index: ZJL_pm8_BLE&BT/sched/mouse.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/mouse.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/mouse.dat	(working copy)
@@ -0,0 +1,942 @@
+mem_patch00:06
+mem_patch03:08
+mem_patch04:40
+mem_patch09:05
+mem_patch0a:02
+mem_patch0b:02
+mem_patch10:20
+mem_patch11:02
+mem_patch14:82
+mem_patch15:20
+mem_patch16:06
+mem_patch18:10
+mem_patch19:08
+mem_patch1c:40
+mem_patch1d:1e
+mem_patch20:20
+mem_patch27:02
+mem_patch28:08
+mem_patch29:04
+mem_patch2a:80
+mem_patch2b:02
+mem_patch2c:c8
+mem_patch2d:04
+mem_patch2e:80
+mem_patch30:05
+mem_patch31:31
+mem_patch34:01
+mem_patch3f:04
+
+
+#debug
+#mem_patch2f:40
+#mem_patch37:40
+#mem_patch3e:c0
+
+
+mem_device_option:43
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+#mem_lpm_interval:00 00
+
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+0a
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+45
+
+mem_app_connection_options:06
+mem_lap:26 10 19 20 18 10
+mem_local_name_length:
+'BT3.0 Mouse
+mem_sniff_param_interval:
+0e 00 			##mem_sniff_param_interval:0e 00 report 115hz,0c 00 report 125hz	
+01 00 ##mem_sniff_param_attempt:01 00
+02##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_ptt:00
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+
+#appearance
+03 19 c2 03
+
+mem_le_adv_swift_pair:
+#microsoft swift pair
+06 ff 06 00 03 00 80
+#name
+'\09BT5.1 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT5.1 Mouse
+
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT5.1 Mouse
+
+
+mem_le_interval_min:
+07 00 #min interval	if need 125hz,set 0x0006;else 115hz set 0x0007
+07 00 #max interval	if nedd 125hz,set 0x0006;else 115hz set 0x0007
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:00 00
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:22 00
+
+
+mem_discovery_timeout:08 07#3min
+mem_mouse_direct_timeout:50 00#8s
+mem_mouse_no_data_timeout:70 17 #10min
+
+mem_flash_ncs_gpio:0a
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+mem_bt_ui_button_timeout:01
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
+mem_adc_channel:32 #gpio5
+mem_mouse_vdd_full_vol:2c 01# 3.3v 
+11 01#mem_mouse_vdd_empty_vol:20 01#3.0v
+20 01#mem_mouse_vdd_low_vol:11 01  #3.2v
+
+mem_mouse_vdd_0v:10 00
+
+mem_config_sensor_type:00
+02 #mem_config_sensor_motion:01
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+08 #mem_mbutton_gpio:15
+ff #mem_bk_button_gpio:ff
+ff #mem_fw_button_gpio:ff
+14 #mem_dpi_button_gpio:05
+1b #mem_whee_a_data_gpio:0b
+1c #mem_whee_b_data_gpio:07
+FF #mem_whee_ta_data_gpio:ff
+FF #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
+ff #mem_config_select_device_button_gpio:ff
+ff #mem_config_paraing_led_gpio:ff
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
+ff #mem_config_device2_led_gpio:ff
+ff #mem_config_device3_led_gpio:ff
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+00 #mem_config_sensor_angle
+ff #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
+
+mem_eeprom_wp_gpio:ff
+mem_sensor_reset_gpio:ff
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+mem_usb_offline_check_gpio:ff
+#mem_wire_usb_interval:19 #128
+
+mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+20
+
+mem_mouse_dpi_seting:
+00##mem_320x_dpi_1
+01##mem_320x_dpi_2
+02##mem_320x_dpi_3
+03##mem_320x_dpi_4
+
+15##mem_3212_dpi_1#800
+1a##mem_3212_dpi_2#1000
+22##mem_3212_dpi_3#1300
+2a##mem_3212_dpi_4#1600
+
+#04##mem_3610_dpi_1
+#05##mem_3610_dpi_2
+#07##mem_3610_dpi_3
+#08##mem_3610_dpi_4
+
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_mouse_le_uuid_sup:
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+
+mem_le_att_pnp_id_len:07
+mem_le_att_pnp_id:
+02		#verdor ID source
+35 12	#usb verdor ID
+22 aa 	#product ID
+01 00	#product version
+
+  
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_max_retry:06#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us
+mem_24g_interval:0c				#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_min:0c			#0x19 24g report 125hz;0x0c,24g report 250hz
+mem_24g_interval_max:10 			#0x1c 24g report 125hz;0x10,24g report 250hz
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_enter_hibernate:00 48 30 00 00 00 00 00#10 min     240ms  dpi  B4  B5 check easy
+
+mem_device_flag:01 
+mem_device1_type:34
+mem_device1_addr:ff ff ff ff ff ff
+mem_device2_type:34
+mem_device2_addr:ff ff ff ff ff ff
+mem_device3_type:34
+mem_device3_addr:ff ff ff ff ff ff
+
+
+mem_flash_base:00 30 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
+mem_reconn_times_init:00
+mem_bt_discovey_button_statue:01#default: button up
+mem_empty_count:03
+
+mem_device_bt_led_gpio:1d
+mem_device_24g_led_gpio:05
+
+mem_mouse_bt_ble_poweron_led_timer:20
+mem_select_device_button_statue:01#default: button up
+mem_mouse_24g_addr_init:0f 0f 0f 0f
+mem_24g_attempt_count:33		#bit0 = 1,first search dongle
+
+
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+#zcode
+mem_zcode_current_number:ff
+mem_xip_flash_offset:00 00 00
+mem_zcode_head:20 20 00 40
+
+#yichip sdp
+#04 0011 0100 1002 1124
+#00 01 00 00
+#36 01 6d
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#24
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#11
+#35
+#03
+#19
+#00
+#11
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#06
+#35
+#09
+#09
+#65
+#6e
+#09
+#00
+#6a
+#09
+#01
+#00
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#11
+#24
+#09
+#01
+#00
+#09
+#00
+#0d
+#35
+#0f
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#13
+#35
+#03
+#19
+#00
+#11
+#09
+#01
+#00
+#25
+#16
+#59
+#69
+#43
+#68
+#69
+#70
+#20
+#42
+#6c
+#75
+#65
+#74
+#6f
+#6f
+#74
+#68
+#20
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#01
+#25
+#05
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#02
+#25
+#06
+#59
+#69
+#43
+#68
+#69
+#70
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#01
+#11
+#09
+#02
+#02
+#08
+#80
+#09
+#02
+#03
+#08
+#21
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#28
+#01
+#09
+#02
+#06
+#35
+#81
+#35
+#7f
+#08
+#22
+#25
+#7b
+#05
+#01
+#09
+#02
+#a1
+#01
+#85
+#02
+#09
+#01
+#a1
+#00
+#05
+#09
+#19
+#01
+#29
+#08
+#15
+#00
+#25
+#01
+#75
+#01
+#95
+#08
+#81
+#02
+#05
+#01
+#09
+#30
+#09
+#31
+#16
+#01
+#f8
+#26
+#ff
+#07
+#75
+#10
+#95
+#02
+#81
+#06
+#09
+#38
+#15
+#81
+#25
+#7f
+#75
+#08
+#95
+#01
+#81
+#06
+#05
+#0c
+#0a
+#38
+#02
+#75
+#08
+#95
+#01
+#81
+#06
+#c0
+#c0
+#05
+#0c
+#09
+#01
+#a1
+#01
+#85
+#03
+#75
+#10
+#95
+#02
+#15
+#01
+#26
+#8c
+#02
+#19
+#01
+#2a
+#8c
+#02
+#81
+#60
+#c0
+#06
+#00
+#ff
+#09
+#01
+#a1
+#01
+#85
+#10
+#75
+#08
+#95
+#06
+#15
+#00
+#26
+#ff
+#00
+#09
+#01
+#81
+#00
+#09
+#01
+#91
+#00
+#c0
+#09
+#02
+#07
+#35
+#08
+#35
+#06
+#09
+#04
+#09
+#09
+#01
+#00
+#09
+#02
+#08
+#28
+#00
+#09
+#02
+#09
+#28
+#01
+#09
+#02
+#0a
+#28
+#01
+#09
+#02
+#0b
+#09
+#01
+#00
+#09
+#02
+#0c
+#09
+#1f
+#40
+#09
+#02
+#0d
+#28
+#00
+#09
+#02
+#0e
+#28
+#01
+#09
+#02
+#0f
+#09
+#00
+#12
+#09
+#02
+#10
+#09
+#00
+#00
+#
+#04 1002 1200 0100 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#03
+#09
+#02
+#01
+#09
+#04
+#6d
+#09
+#02
+#02
+#09
+#b0
+#16
+#09
+#02
+#03
+#09
+#01
+#29
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#00
+#00
+#
+#01 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#05
+#ac
+#09
+#02
+#02
+#09
+#02
+#39
+#09
+#02
+#03
+#09
+#00
+#44
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#
+#03 1101 0003 0100
+#00 01 00 02
+#36 00 2f
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#02
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#01
+#09
+#00
+#04
+#35
+#0c
+#35
+#03
+#19
+#01
+#00
+#35
+#05
+#19
+#00
+#03
+#08
+#01
+#09
+#01
+#00
+#25
+#09
+#53
+#50
+#50
+#20
+#73
+
+
+
+#logi sdp
+#04 1000 0100 0001 1002
+#00 00 00 00
+#36 00 92 
+#09 00 00 0a 00 00 00 00 09 00 01 35 03 19 10 00 09 00 04 35 0d 35 06 
+#19 01 00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 
+#09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 01 00 09 01 00 
+#09 01 00 25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 
+#57 69 72 65 6c 65 73 73 20 4d 6f 75 73 65 20 53 44 50 20 53 65 72 76 65 
+#72 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 35 03 09 01 00
+
+#04 1124 0100 0011 1002
+#00 01 00 00
+#36 01 ee 
+#09 00 00 0a 00 01 00 00 09 00 01 35 03 19 11 24 09 00 04 35 
+#0d 35 06 19 01 00 09 00 11 35 03 19 00 11 09 00 05 35 03 19 10 02 
+#09 00 06 35 09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 11 24 
+#09 01 01 09 00 0d 35 0f 35 0d 35 06 19 01 00 09 00 13 35 03 19 00 11 09 01 
+#00 25 21 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 65 6c 
+#65 73 73 20 4d 6f 75 73 65 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 
+#73 65 09 01 02 25 08 4c 6f 67 69 74 65 63 68 09 02 01 09 01 11 09 02 02 08 80 09 02 
+#03 08 21 09 02 04 28 01 09 02 05 28 01 09 02 06 35 fc 35 fa 08 22 25 f6 05 01 09 02 a1 01 
+#85 02 09 01 a1 00 05 09 19 01 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30 09 31 16 01 
+#f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75 08 95 01 81 
+#06 c0 c0 05 0c 09 01 a1 01 85 03 05 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06 00 ff 09 01 
+#a1 01 85 10 75 08 95 06 15 00 26 ff 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1 01 85 11 75 
+#08 95 13 15 00 26 ff 00 09 02 81 00 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95 08 05 07 
+#19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 
+#75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 
+#15 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95 01 75 06 81 03 c0 09 02 07 35 08 35 
+#06 09 04 09 09 01 00 09 02 09 28 01 09 02 0a 28 01 09 02 0c 09 1f 40 09 02 0d 28 00 09 
+#02 0e 28 01 09 02 0f 09 00 12 09 02 10 09 00 00
+
+#04 1200 0100 0001 1002
+#00 01 00 01
+#36 00 ad 
+#09 00 00 0a 00 01 00 01 09 00 01 35 03 19 12 00 09 00 04 35 0d 35 06 19 01 
+#00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 09 09 65 
+#6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 12 00 09 01 00 09 01 00 
+#25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 
+#65 6c 65 73 73 20 4d 6f 75 73 65 20 50 6e 50 20 53 65 72 76 65 72 09 01 
+#01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 09 01 03 09 
+#02 01 09 04 6d 09 02 02 09 b0 16 09 02 03 09 12 03 09 02 04 28 01 09 02 05 09 00 02 00
+
+
Index: ZJL_pm8_BLE&BT/sched/remote_car.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/remote_car.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/remote_car.dat	(working copy)
@@ -0,0 +1,106 @@
+mem_device_option:10
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+mem_remote_car_queue_each_size:0f 06
+
+mem_queue_ptr:mem_remote_car_queue_each_size
+
+mem_lpm_mode:00
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_remote_car_hard_soft_switch:00
+
+mem_ui_led_struct_ptr:mem_remote_style_led_type
+mem_ui_led_struct_num:01
+
+mem_remote_style_blink_count:ff
+mem_remote_style_struct_led_gpio:1b
+mem_remote_style_on_time:96 02
+mem_remote_style_off_time:3a 07
+
+mem_remote_car_led_num:01
+mem_remote_car_led_map:
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ 
+mem_power_param_ptr:mem_remote_car_soft_power
+mem_remote_car_power_off_timeout:0c 0c
+
+mem_keyscan_ptr:mem_remote_car_keyscan
+mem_remote_car_key_num:07
+mem_remote_car_key_conf0:
+#0
+03
+#1
+04
+#2
+05
+#3
+06
+#4
+02
+#5
+07
+#6
+17
+
+
+mem_remote_car_config_soft_switch_enable:00
+mem_remote_car_config_connect_led_gpio:ff
+mem_remote_car_config_soft_switch_gpio:19
+mem_remote_car_config_key_map:00				#00:TEN shape	01:L+R shape
+mem_remote_car_config_layout:00					#00:F_B_MOTOR	02:L_R_MOTOR
+mem_remote_car_config_check_way:00				#00:key  01:rocker
+mem_remote_car_config_timeout_shutdown_enable:00	#00:don't shutdown        	;01:timeout to shutdown
+
+mem_current_vdd_value_default_mid_x:55 4e
+mem_current_vdd_value_default_mid_y:55 4e
+mem_current_vdd_default_range:00 07
+
+mem_adc_config_flag:02
+
+mem_remote_car_24g_motor_packet:       0c        5a 6b 04 00 06 00 0a 00 0a 00 0a 00  
+mem_remote_car_24g_fire_packet:08 5a 6b 06 00 02 00 00 00
+
+mem_remote_car_no_data_timeout:b8 0b
+
+mem_lap:01 02 03 04 05 06
+
+mem_tx_power:01#0dbm
+mem_250k_freq_enable:00
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_head_ptr:mem_24g_RC_head_ptr
+mem_24g_RC_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_RC_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_RC_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_RC_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_RC_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_RC_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_RC_head_ptr+195:00#offset_24g_no_ack
+mem_24g_RC_head_ptr+205:01#offset_24g_mode
+mem_24g_RC_head_ptr+135:01#offset_24g_data_type 1ms 2kb
+mem_24g_RC_head_ptr+137:c0 12#offset_24g_rx_window
+mem_24g_RC_head_ptr+204:04#offset_24g_max_retry
+mem_24g_RC_head_ptr+171:19#offset_24g_interval
+mem_24g_RC_head_ptr+172:19#offset_24g_interval_min
+mem_24g_RC_head_ptr+173:1c#offset_24g_interval_max
+mem_24g_RC_head_ptr+150:ff#offset_24g_pairing_sm
+mem_24g_RC_head_ptr+182:00 48 60 00 00 00 00 00#offset_24g_enter_hibernate
+mem_24g_RC_head_ptr+257:10#offset_power_ctrl_txpwr_level0-5dbm
+mem_24g_RC_head_ptr+256:01#offset_power_ctrl_txpwr_level1 0dbm
+mem_24g_RC_head_ptr+255:02#offset_power_ctrl_txpwr_level2 3dbm
+
+
+
+
Index: ZJL_pm8_BLE&BT/sched/rtrivr_uuid.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/rtrivr_uuid.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/rtrivr_uuid.dat	(working copy)
@@ -0,0 +1,75 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+#Primary service Immediate alert ------
+0f 00 00 28 02 02 18
+#Characteristic Alert level
+10 00 03 28 01 04
+11 00 06 2a 01 00
+
+#Primary service UUID:f003 ------
+12 00 00 28 02 03 f0
+#Characteristic UUID:f803
+13 00 03 28 01 04
+14 00 03 f8 01 00
+
+
+#Primary service Link loss alert ------
+15 00 00 28 02 03 f0
+#Characteristic Alert level
+16 00 03 28 01 0a
+17 00 06 2a 01 00
+
+#Primary service UUID:f002 ------
+18 00 00 28 02 02 f0
+#Characteristic UUID:f802
+19 00 03 28 01 12
+1a 00 02 f8 01 28
+1b 00 02 29 02 00 00
+
+#Primary service Battery ------
+1c 00 00 28 02 0f 18
+#Characteristic Battery level
+1d 00 03 28 01 12
+1e 00 19 2a 01 38
+
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: ZJL_pm8_BLE&BT/sched/shutter.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/shutter.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/shutter.dat	(working copy)
@@ -0,0 +1,229 @@
+
+
+mem_shutter_bluetooth_type:
+01
+
+
+mem_le_lap:72 31 20 98 07 2a
+mem_le_name_len:
+'Shutter 1021s
+
+mem_lap:21 00 24 00 20 00
+mem_local_name_length:#0b
+#mem_local_name:
+'ZRP Shutter
+
+mem_classic_shutter_random_mac_offset_addr:
+30 00
+
+mem_shutter_config_eeprom_offset_addr:
+00 00
+
+mem_shutter_config_enable:
+00
+
+mem_shutter_config_otp_base_address:
+fb 05
+
+mem_shutter_config_size:20
+
+mem_shutter_config_user_otp_address:
+00 00
+#da 05
+
+mem_key0_press:
+01 00
+mem_key0_release:
+06 00
+
+mem_key1_press:
+01 00
+mem_key1_release:
+06 00
+
+mem_key2_press:
+07 00
+mem_key2_release:
+08 00
+
+mem_ui_button_gpio:ff
+mem_shutter_hard_soft_switch_case:00
+mem_shutter_soft_switch_button_gpio:
+08
+mem_power_param_ptr:
+mem_shutter_soft_switch_power_state
+mem_shutter_soft_switch_power_state:
+00 #mem_shutter_soft_switch_power_state
+14 #mem_shutter_soft_switch_poweron_time
+20 #mem_shutter_soft_switch_poweroff_time
+
+
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult:05
+mem_lpm_mult_timeout:02
+
+mem_shutter_config_select_gpio1:09 0a 0b
+
+mem_sniff_param_interval:30 00
+01
+00
+mem_unsniff2sniff_timer:0a
+
+mem_ble_shutter_reconn_blink_on_time:
+96 00
+96 00
+
+mem_ble_shutter_discovery_blink_on_time:
+96 02
+96 02
+
+
+mem_ble_shutter_interval_min_new:
+10 00
+20 00
+02 00
+2c 01
+
+mem_ui_led_struct_num:01
+mem_ui_led_struct_ptr:mem_shutter_led_struct_app_led
+
+mem_shutter_led_struct_app_led:
+00		#type:stop blink
+00		#blink count:no blink
+1b		#led gpio number:GPIO01
+a0 01	#led blink light time
+a0 01	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+#mem_shutter_power_off_led_style
+01		#type:start blink
+07		#blink count:no blink
+1b		#led gpio number:GPIO01
+a0 03	#led blink light time
+a0 03	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+
+mem_ble_shutter_reconn_dav_interval:10 00	#100ms
+mem_ble_shutter_discovery_adv_interval:40 01
+mem_le_adv_interval:40 01 
+mem_ble_shutter_reconn_timeout:50 00		#8s
+
+mem_device_option:09
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+mem_classic_shutter_discovery_timeout:
+00 FF	#mem_classic_shutter_discovery_timeout
+00 FF	#mem_classic_shutter_connect_timeout
+00 FF	#mem_ble_shutter_discovery_timeout
+00 FF	#mem_ble_shutter_connect_timeout
+	
+
+
+mem_queue_ptr: mem_queue_each_size
+
+mem_queue_each_size:
+01
+20
+
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 05
+03 02 12 18
+03 19 c1 03
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+0d 09 56 30 2d 53 68 75 74 74 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+
+
+mem_keyscan_ptr:mem_shutter_keyscan
+mem_shutter_key_num:02
+mem_shutter_key_conf0:
+#0
+18
+#1
+05
+#2
+0d
+
+##############NVRAM CONFIG##############
+
+mem_app_connection_options:17
+
+mem_nv_data_ptr:mem_shutter_nv_data
+mem_nv_data_number:05
+
+mem_class: 4025
+
+mem_sp_iocap_local:03 00 04
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+mem_ui_profile_supported:01
+
+
+mem_ptt:00
+mem_features:
+ff
+ff
+8f
+f8	#openACL3M fe
+9b	#AFHclose 83
+9d
+59
+83
+
+
+#####################################
+
+
+##########BT shutter ################
+
+
+
+
+
+
+
+
+################classic kb val list#######################
+
+################classic kb val list end#######################
+
+################ble kb val list#######################
+
+
+################ble kb val list end#######################
+
+
+##############BLE ATT LIST####################
+
+mem_ui_le_uuid_table:3a 91 #0x913A BLE_SHUTTER_GATT_LIST
+
+
+##############BLE ATT LIST END####################
+
+
+##############BT SDP LIST####################
+
+mem_eir_enable:01
+
+mem_all_uuid_16bits: 
+06
+03#Type: Complete list of 16-bit UUIDs
+1100  0001 0210 2411 0012 0100
+
+mem_all_uuid_128bits:
+00
+
+mem_ui_uuid_table:b8 92 #0x92B8 CLASSIC_SHUTTER_SDP_LIST
+
+##############BT SDP LIST END####################
+
+
Index: ZJL_pm8_BLE&BT/sched/sim.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/sim.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/sim.dat	(working copy)
@@ -0,0 +1,16 @@
+mem_page_window:20 00
+mem_page_to:00 20
+mem_pscan_window:00 02
+mem_iscan_window:00 02
+mem_pscan_interval:00 08
+mem_lap:01 02 03
+mem_lpm_xtalcnt:03 0a 1b af 07
+#mem_lpm_hibernate_switch:08
+mem_fcomp_mul:02
+mem_fcomp_div:24
+
+
+mem_patch00:01
+
+4580:ff
+mem_rf_init_ptr:80 45		
Index: ZJL_pm8_BLE&BT/sched/spp.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/spp.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/spp.dat	(working copy)
@@ -0,0 +1,206 @@
+#device option
+mem_device_option:04
+
+#spp uuid
+mem_uuid_list:
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5a
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+4e
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
Index: ZJL_pm8_BLE&BT/sched/ssp.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/ssp.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/ssp.dat	(working copy)
@@ -0,0 +1,261 @@
+#memk, for reva-c only
+4b00:
+98    
+2f    
+8a    
+42    
+91    
+44    
+37    
+71    
+CF    
+FB   
+C0   
+B5    
+A5    
+DB   
+B5    
+E9    
+5B    
+C2    
+56   
+39    
+F1    
+11    
+F1    
+59    
+A4    
+82    
+3F    
+92    
+D5    
+5E    
+1C    
+AB    
+98    
+AA    
+07    
+D8    
+01   
+5B    
+83   
+12    
+BE    
+85   
+31    
+24    
+C3    
+7D    
+0C    
+55    
+74   
+5D    
+BE    
+72    
+FE    
+B1    
+DE    
+80    
+A7    
+06    
+DC    
+9B    
+74    
+F1    
+9B    
+C1    
+C1    
+69    
+9B    
+E4    
+86    
+47    
+BE    
+EF    
+C6    
+9D    
+C1    
+0F    
+CC    
+A1    
+0C    
+24    
+6F    
+2C    
+E9    
+2D    
+AA    
+84    
+74    
+4A    
+DC    
+A9    
+B0    
+5C    
+DA    
+88    
+F9    
+76    
+52    
+51    
+3E    
+98    
+6D    
+C6    
+31    
+A8    
+C8    
+27   
+03    
+B0    
+C7    
+7F    
+59    
+BF    
+F3    
+0B    
+E0    
+C6    
+47    
+91    
+A7    
+D5    
+51   
+63    
+CA    
+06    
+67    
+29    
+29    
+14    
+85    
+0A    
+B7    
+27    
+38    
+21    
+1B    
+2E    
+FC    
+6D   
+2C    
+4D    
+13    
+0D    
+38    
+53    
+54    
+73    
+0A    
+65    
+BB   
+0A   
+6A    
+76    
+2E   
+C9   
+C2   
+81    
+85   
+2C   
+72    
+92    
+A1    
+E8    
+BF    
+A2    
+4B    
+66    
+1A    
+A8    
+70    
+8B    
+4B    
+C2    
+A3    
+51    
+6C    
+C7    
+19    
+E8    
+92    
+D1    
+24    
+06   
+99   
+D6   
+85   
+35   
+0E    
+F4  
+70    
+A0    
+6A    
+10    
+16    
+C1    
+A4    
+19    
+08   
+6C    
+37    
+1E    
+4C    
+77    
+48    
+27    
+B5    
+BC    
+B0    
+34    
+B3    
+0C    
+1C    
+39    
+4A    
+AA    
+D8   
+4E    
+4F    
+CA   
+9C   
+5B    
+F3   
+6F    
+2E   
+68    
+EE    
+82   
+8F   
+74    
+6F   
+63    
+A5    
+78    
+14    
+78    
+C8    
+84   
+08    
+02   
+C7    
+8C   
+FA   
+FF    
+BE    
+90   
+EB    
+6C    
+50   
+A4   
+F7    
+A3    
+F9    
+BE    
+F2    
+78    
+71    
+C6    
+
+
+
Index: ZJL_pm8_BLE&BT/sched/test.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/test.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/test.dat	(working copy)
@@ -0,0 +1,40 @@
+mem_patch06:0c
+mem_patch0e:80
+mem_patch10:20
+
+mem_iscan_window:20 00
+mem_iscan_interval:00 03
+mem_pscan_window:12 00
+mem_pscan_interval:00 08
+
+
+
+mem_lap:77 11 00 33 00 00
+mem_le_lap:88 11 00 33 00 00
+mem_device_option:07
+mem_local_name_length:
+'REVB
+
+mem_seqi:7f
+
+mem_lpm_mult:20
+mem_lpm_mult_timeout:03
+mem_lpm_overhead:05
+mem_scan_mode:03
+mem_le_adv_enable:00
+mem_le_scan_enable:00
+
+mem_class:cc 25 00
+mem_features:
+ff
+ff
+8f
+f8	#fe--EDR  F8--BR
+9b	#AFHclose 83
+9d
+59
+83
+
+
+
+
Index: ZJL_pm8_BLE&BT/sched/usb.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/usb.dat	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/sched/usb.dat	(working copy)
@@ -0,0 +1,51 @@
+mem_patch10:20 
+mem_patch11:40
+mem_patch18:10
+mem_patch1f:01
+
+
+#usb initial
+mem_devicedesc+9: 12 24#VID
+mem_devicedesc+11: 12 18#PID
+mem_string0:04 04 03 09 04
+mem_string1:
+'YICHIP
+
+#string length less than 32
+mem_string2:
+'Wireless Mouse
+mem_string3:
+'b120300001
+
+mem_usb_tx_interval:00
+#usb initial end
+
+
+#24g rx init
+mem_tx_power:02
+mem_24g_mode:02#rx
+mem_24g_pair_mode:00
+mem_24g_no_ack:00#no ack
+mem_24g_rx_window:30 75#rx
+mem_24g_hop_interval:2a
+mem_24g_ackpayload_enable:00#ack payload enable
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_paring_addr:20 15 10 05
+mem_24g_rx_addr:36 20 04 07
+#24g rx init end
+
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 3c
+59 10
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
Index: ZJL_pm8_BLE&BT/util/crc16.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: ZJL_pm8_BLE&BT/util/crc16.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: ZJL_pm8_BLE&BT/util/crc16.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/crc16.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/crc16.pl	(working copy)
@@ -0,0 +1,27 @@
+$debug = 0;
+$crc = 0xffff;
+$i = 0;
+$offset = 0xffff;
+$source_file = $ARGV[0];
+$offset = $ARGV[1];
+
+open(EEP,"$source_file") or die $!;
+
+while (<EEP>) {    
+	$c = hex();
+
+  if($i >= $offset){
+  	if($debug){printf "%02x\t", $c;}
+  	$crc  = ($crc >> 8) | ($crc << 8);
+		$crc ^= $c & 0xff;
+		$crc ^= ($crc & 0xff) >> 4;
+		$crc ^= $crc << 12;
+		$crc ^= ($crc & 0xff) << 5;
+		$crc &= 0xffff;
+  }
+  $i ++;
+  if($debug){printf "%02x\t", $crc;}
+  printf "%02x\n", $c;
+}
+
+printf "%02x\n%02x\n", (($crc >> 8) & 0xff),($crc & 0xff);
Index: ZJL_pm8_BLE&BT/util/eeprom2fulleeprom.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: ZJL_pm8_BLE&BT/util/eeprom2fulleeprom.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: ZJL_pm8_BLE&BT/util/eeprom2fulleeprom.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/eeprom2fulleeprom.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/eeprom2fulleeprom.pl	(working copy)
@@ -0,0 +1,18 @@
+
+
+
+$source_file = $ARGV[0];
+$eeprom_size = $ARGV[1];
+
+open(EEP,"$source_file") or die("cannot open files");
+for ($i = 1 ;$i<=$eeprom_size*128-2;$i++)
+{
+
+    while (<EEP>) { 
+        $c = hex();
+        printf "%02x\n", $c;
+        $i++;
+    }
+
+	printf "FF\n";
+}
Index: ZJL_pm8_BLE&BT/util/flash_dat2eeprom_dat.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/flash_dat2eeprom_dat.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/flash_dat2eeprom_dat.pl	(working copy)
@@ -0,0 +1,24 @@
+
+#改前三个字节为0200；
+#输入一个文件，输出一个文件；
+
+if(@ARGV < 2) {
+	printf "less files\n";
+	exit;
+}
+else{
+	open(file, $ARGV[0]) or die "Can't open  file  : $!"; 
+	open(file_out, ">$ARGV[1]")or die "Can't open out file  : $!"; 
+	@lines = <file>;
+	$length = @lines;
+	
+	my $j=3;
+	print file_out "00\n02\n";
+	while($j<$length){
+			print file_out "$lines[$j]";
+			$j++;
+	}
+#	print "----- reverse end -----";
+	close(file);
+	close(file_out);
+}
Index: ZJL_pm8_BLE&BT/util/genotp.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/genotp.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/genotp.pl	(working copy)
@@ -0,0 +1,38 @@
+#!/usr/bin/perl
+
+open(FILE,"program.lis") or die $!;
+$page_size = 64;
+$j = $page_size;
+while(<FILE>){
+	if(/^([0-9a-f]+)\s+([0-9a-f]+)/ && hex($1) >= 0x10000) {
+		#print $1,"\n",$j,"\n";
+		if(hex(substr($1,length($1)-4,4)) == 1){
+
+			#print "aaa\n";
+			for(;$j < $page_size;$j++) {
+					print "00\n00\n00\n00\n";
+					#print $j,"\n";
+			}
+			$j = 0;
+		}
+		if($j == 0){
+			print "20\n20\n00\n40\n";
+			$j ++;
+		}
+		for($i = 0;$i < 4;$i++) {
+			print substr($2, $i*2, 2),"\n"; 
+
+		}
+		$j ++;
+		if($j == $page_size){
+			$j = 0;
+		}elsif($j > $page_size){
+			print "Overflow at 0x",$1," !\n";
+			close(FILE);
+			die;
+		}
+
+	}
+}
+#print "codecnt = ",$codecnt,"\n";
+close(FILE);
\ No newline at end of file
Index: ZJL_pm8_BLE&BT/util/memalloc.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/memalloc.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/memalloc.pl	(working copy)
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+$path="output/bt_format.meta";
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">output/memmap.format";
+$xaddr = 0x4000;
+$addr = 0;
+if($#ARGV == 1) {
+	$addr = hex($ARGV[0]);
+	$xaddr = hex($ARGV[1]);
+}
+for($i = 0;$i < @f;$i++) { $cmalloc[$i] = (); }
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	$start = 1 if(/^\s*memalloc\s*\(\s*$/);
+	$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);
+	$start = 3 if(/^\s*omemalloc\s*\(\s*$/);
+	$start = 10 + $1 if(/^\s*cmemalloc\s+([0-9])\s*\(\s*$/);
+	if($start) {
+		if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			if($start == 1) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				$bstr .= $str;
+				$sstr .= $str;
+			} elsif($start == 2) {
+				$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+				$xaddr += $1;
+				$xstr .= $str;
+			} else {
+				push @ostr, $_;
+			}
+		}
+		if(/^\s*\)\s*$/) {
+			if(@ostr > 0) {
+				if($start == 3) {
+					push @omalloc,[@ostr];
+				} elsif($start > 9) {
+					$j = $start - 10;
+					push @{$cmalloc[$j]},@ostr;
+				} 
+			}
+			$start = 0;
+			@ostr = ();
+		}
+	} else {
+		$sstr .= $_;
+	}
+}
+for($i = 0;$i <= $#cmalloc;$i++) {
+	push @omalloc,$cmalloc[$i];
+#	for($j = 0;$j <= $#{$cmalloc[$i]};$j++) {		print $cmalloc[$i][$j];	}
+}
+
+$xend = $xaddr;
+for($i = 0;$i <= $#omalloc;$i++) {
+	for($j = 0, $oaddr = $xaddr;$j <= $#{$omalloc[$i]};$j++) {
+		if($omalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $oaddr, $2, $3;
+			$oaddr += $1;
+			$xstr .= $str;
+		}
+	}
+}
+$xend = $oaddr if($oaddr > $xend);
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $addr;
+printf "\nLast allocated xmem address is %04x\n", $xend;
\ No newline at end of file
Index: ZJL_pm8_BLE&BT/util/mergepatch.pl
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/mergepatch.pl	(nonexistent)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/ZJL_pm8_BLE&BT/util/mergepatch.pl	(working copy)
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
